0
0
628
537
520
491
1278
1377
0
679
128
399
391
576
956
1088
0
-40
-35
-25
5
0
2
0
0
0
0
0
-49
23
33
29
11
33
0
-3
0
4
0
0
0
-21
-25
-13
2
-9
-16
0
-84
0
0
0
0
0
-30
-36
-10
-17
-35
-6
0
0
0
172
0
0
11
-44
4
-15
4
-35
-15
83
11
143
6
174
107
78
-14
-11
-30
-3
9
15
58
34
68
23
80
100
73
50
66
44
37
83
108
101
21
0
43
0
0
0
4
-53
-9
-30
2
-28
7
20
67
50
169
-24
180
-17
-38
-34
7
15
80
-24
19
6
21
9
-137
41
3
13
61
-65
-11
-76
-1
13
-5
30
47
1
95
10
20
6
-32
-38
-20
-75
28
34
42
83
1
158
-40
-14
-10
-16
-2
-8
19
9
40
-11
185
-63
172
-34
-26
13
-17
13
3
55
10
114
73
214
68
266
-25
24
36
4
22
31
63
-12
153
86
189
153
159
-14
-31
63
-12
0
0
0
0
0
0
0
4
-11
33
-44
-22
62
0
7
0
0
0
0
0
5
37
-10
-68
29
124
0
13
0
0
0
0
0
-33
44
24
-19
30
0
-4
32
46
68
35
2
-1
13
26
-16
-5
31
18
1
-7
35
-58
35
3
0
37
2
-21
17
52
73
-17
4
0
44
0
0
0
19
-64
33
4
-37
-43
-27
15
16
57
119
-14
33
6
53
-4
50
3
2
-33
6
2
24
9
-109
48
-53
0
-6
20
15
-117
-31
29
0
-9
53
-10
90
1
0
10
-10
-43
-21
-111
53
62
62
141
-10
119
-48
23
7
-48
14
15
2
15
24
-55
147
-46
178
12
-71
19
-6
42
-2
42
33
167
95
209
146
185
53
-15
11
-22
28
25
70
-40
192
73
205
23
-10
-5
24
16
41
0
0
0
0
0
0
0
71
-13
21
53
56
41
0
-43
0
-2
0
0
0
-18
-49
-28
-41
-5
-11
113
15
112
-8
159
11
54
-50
22
-56
-24
-17
-11
98
65
102
-69
72
-9
70
50
10
20
9
14
73
51
19
0
19
0
0
0
20
-12
-64
-17
-11
-68
6
-7
-10
80
61
-19
23
-13
-32
6
-12
29
31
-49
16
-5
23
22
-222
27
-78
0
-81
-61
-47
-37
-34
47
32
13
99
67
100
-51
0
27
20
43
53
-114
-4
26
40
78
41
65
10
-54
5
3
-47
-5
59
32
-11
-71
158
-75
126
-54
-44
1
-63
8
-5
38
33
90
43
185
160
225
-4
6
31
5
8
15
64
-6
167
50
120
33
81
-5
46
-11
-73
0
1
0
0
0
0
0
-14
14
32
-17
-44
-19
113
31
205
-58
113
-34
-108
-15
16
4
-4
-7
-4
154
52
129
-58
176
-5
93
33
-8
19
-8
34
61
44
-12
0
36
0
0
0
-38
17
12
-38
-79
-43
30
-10
50
39
104
-4
-55
-60
19
-23
-7
39
-4
-68
12
-11
17
10
-206
-6
-65
56
29
-15
16
50
-9
-12
-2
-37
77
0
60
-32
-2
8
19
15
49
-86
2
47
26
65
-6
37
-36
-32
17
-30
-58
-16
-3
32
38
-57
130
-49
170
-18
-39
-5
-56
-8
-5
63
5
101
-16
212
52
159
-18
-79
-1
24
22
11
69
1
194
61
144
117
23
-60
36
-5
-12
-3
-2
0
-1
0
0
0
-19
-23
8
1
14
-18
11
12
46
10
29
61
234
10
12
-13
9
-27
1
-47
31
0
0
0
0
0
-32
1
-11
-6
-49
-41
-62
32
-150
13
-165
-159
-143
-25
-11
-14
7
-28
-34
-9
4
-9
0
-38
-331
10
7
-33
11
29
-5
24
12
-9
-19
29
50
-214
86
1
10
21
1
-2
-9
-245
5
-5
24
42
23
72
-24
-27
-21
27
-28
-49
-59
19
-172
-176
9
-180
59
-18
-2
11
-36
-35
-33
15
3
-226
103
107
75
132
-46
-18
-29
-26
-25
-23
53
58
48
108
74
1
198
-63
-18
39
73
4
2
0
0
0
0
0
1
-10
-10
-32
-25
-20
-9
51
0
0
0
0
0
-27
-27
-44
-38
-12
0
-79
21
-137
3
-156
-182
-69
-32
-34
-37
-20
-31
7
-33
-5
-19
-14
-8
-177
19
-19
-40
32
-13
19
100
-12
2
16
24
-6
-345
25
-8
-43
-7
-32
-23
-4
-276
20
-1
21
2
-12
22
-46
-25
-27
-27
-20
-13
-88
-6
-154
-119
-21
-200
31
-40
-42
20
13
-21
-6
17
18
-131
-30
33
-20
53
4
-22
-21
-49
7
14
12
20
39
87
-132
-175
-127
0
0
0
0
1
0
0
0
0
0
0
-16
6
1
3
5
6
-50
7
0
-35
0
0
0
12
0
19
2
4
5
-72
20
-65
31
-19
0
56
5
8
9
14
4
11
-53
66
14
45
33
0
57
4
1
9
3
2
6
0
53
-6
41
48
7
14
-4
11
2
5
6
10
-75
-39
0
0
-24
0
-23
7
2
-5
-5
-15
-19
26
-19
0
0
-14
12
-32
0
-6
3
-5
-2
-7
36
-54
29
9
0
0
0
-1
0
7
3
3
-5
2
3
2
1
-2
-7
1
-10
1
-12
2
-9
11
-12
13
11
-312
24
7
7
-2
31
5
37
-12
13
22
-25
57
-93
107
2
9
7
13
3
9
-258
2
32
13
49
20
66
-2
0
-7
7
-7
-5
-24
-6
-67
-191
137
-38
173
3
0
23
6
-3
-3
56
31
72
-14
177
93
227
-2
-9
6
-5
10
6
102
-9
176
46
247
166
176
1
0
2
0
1
3
1
0
0
-3
-2
4
14
15
12
11
-13
-2
0
5
-2
11
173
-72
-4
-6
-8
-13
-18
9
-5
0
-28
15
-17
228
-29
-3
-13
-4
-10
-6
-1
-1
-31
1
-15
-20
244
-26
5
-8
-9
-5
-1
1
11
-17
20
-31
7
248
-50
1
-6
2
-16
-5
-27
33
-9
13
-46
18
228
-68
14
-21
-7
19
3
2
0
1
2
-1
0
23
34
10
37
-1
55
-118
-25
14
5
1
-21
8
-2
3
12
1
10
47
-22
-42
-39
-77
6
54
-10
6
15
29
1
9
56
13
-26
-10
9
23
170
-72
-22
7
-6
9
0
23
10
-5
-24
-43
5
271
-97
55
34
42
38
2
2
-2
3
-2
2
-1
12
4
3
4
3
-5
186
-13
-21
-69
-5
-70
-22
3
6
4
24
19
1
263
-3
30
1
-19
-1
-38
7
4
-3
7
0
4
256
-4
-30
-10
-5
-47
-50
6
1
12
0
-1
-5
-2
-3
-1
-4
5
19
7
-3
-1
20
15
50
-17
170
193
47
68
-26
1
-10
7
-4
-2
-7
82
8
231
238
105
186
-33
5
69
14
2
5
0
0
0
-2
6
1
-9
17
5
20
5
2
25
11
104
167
5
-69
-40
5
68
-6
86
4
7
-1
-2
0
0
0
0
0
0
0
0
-80
107
39
5
0
28
41
27
37
0
13
46
52
17
0
17
-11
7
28
0
69
0
0
0
0
0
64
1
-10
0
0
34
-36
-48
0
0
-62
123
-19
0
0
36
23
-15
0
0
0
0
0
0
0
-2
9
79
0
0
15
-5
30
0
0
50
-5
-2
0
0
21
69
7
0
0
0
0
0
0
0
14
-5
39
0
0
138
43
86
0
0
36
72
-30
0
0
10
37
1
0
0
0
0
0
0
0
55
52
65
0
0
62
46
75
0
0
23
42
9
0
0
18
48
8
0
0
0
0
0
0
0
38
42
72
0
0
32
30
91
0
0
19
49
16
0
0
74
71
95
0
0
0
0
0
0
0
93
30
26
0
0
-20
58
29
0
0
-18
8
14
0
0
8
-27
3
0
0
0
0
0
0
0
-26
-12
90
0
0
63
22
-32
0
0
53
-18
31
0
0
51
15
-15
0
0
0
0
0
0
0
47
23
-37
0
0
5
-18
-91
0
0
14
-18
-71
0
0
21
28
41
0
0
0
0
0
0
0
28
-87
-18
0
0
90
21
56
0
0
-53
-71
-77
0
0
27
-53
72
0
0
0
0
0
0
0
-17
-71
-99
0
0
5
40
-1
0
0
21
-10
19
0
0
11
-35
37
0
0
0
0
0
0
0
30
25
-4
0
0
70
54
-18
0
0
36
24
93
0
0
46
46
-28
0
0
0
0
0
0
0
35
1
-13
0
0
41
44
-72
0
0
14
11
30
0
0
37
48
11
0
0
0
0
0
0
0
62
77
18
0
0
48
48
50
0
0
39
26
129
0
0
15
14
50
0
0
0
0
0
48
-41
-18
13
53
-12
-30
28
-19
-62
9
57
-103
19
90
62
64
-4
44
64
-17
132
0
0
0
0
-106
-39
26
-55
0
45
68
-48
69
0
0
1
54
-4
0
0
2
-5
-1
0
0
0
0
0
0
0
-32
-67
-107
0
0
55
23
16
0
0
-5
53
-9
0
0
21
14
-128
0
0
0
0
0
0
0
54
14
-9
0
0
-8
31
20
0
0
-51
148
-92
0
0
3
-10
-5
0
0
0
0
0
0
0
19
19
-44
0
0
-40
91
32
0
0
-1
-119
80
0
0
96
59
-95
0
0
0
0
0
0
0
-1
30
82
0
0
-21
65
27
0
0
-24
76
86
0
0
41
-34
-36
0
0
0
0
0
0
0
40
-22
77
0
0
63
-47
43
0
0
33
8
-20
0
0
-46
1
0
0
0
0
0
0
0
0
150
80
32
0
0
4
32
23
0
0
-41
52
80
0
0
-49
-19
6
0
0
0
0
0
0
0
74
36
42
0
0
18
13
-115
0
0
5
-61
-10
0
0
17
-66
-93
0
0
0
0
0
0
0
58
51
8
0
0
-1
0
0
0
0
19
0
7
0
0
-16
-5
-8
0
0
0
0
0
0
0
114
2
0
0
0
-94
31
43
0
0
-31
-57
-22
0
0
-30
-39
-2
0
0
0
0
0
0
0
-62
-27
-3
0
0
13
-90
22
0
0
90
-4
-38
0
0
-49
45
53
0
0
0
0
0
0
0
-143
21
-79
0
0
-23
0
-18
0
0
35
10
26
0
0
37
86
121
0
0
0
0
0
0
0
55
48
-96
0
0
-99
90
36
0
0
44
57
45
0
0
-35
46
91
0
0
0
0
0
-33
7
50
65
11
-23
-74
34
1
-80
26
84
-43
11
22
0
53
-9
1
47
80
120
0
0
0
41
-5
-26
8
151
95
59
-22
-18
38
74
40
-15
-64
39
1
-29
20
24
92
-83
21
0
0
0
0
0
11
16
124
0
34
35
-12
-80
0
-77
-6
9
-27
0
88
-126
6
73
0
52
0
0
0
0
0
6
29
-22
0
0
63
66
23
0
0
43
-38
48
0
0
-1
42
20
0
0
0
0
0
0
0
49
52
17
0
0
64
28
51
0
0
-26
26
30
0
0
32
81
4
0
0
0
0
0
0
0
-88
-17
-88
0
0
-5
76
134
0
0
-8
31
15
0
0
40
24
39
0
0
0
0
0
0
0
11
-66
4
0
0
36
62
75
0
0
9
17
5
0
0
60
-3
-55
0
0
0
0
0
0
0
-2
-86
5
0
0
35
22
66
0
0
24
8
-20
0
0
-89
82
42
0
0
0
0
0
0
0
44
61
51
0
0
6
-44
-20
0
0
41
7
15
0
0
28
33
3
0
0
0
0
0
0
0
-33
-38
-3
0
0
-26
-24
-61
0
0
32
25
-63
0
0
-38
-16
10
0
0
0
0
0
0
0
5
5
0
0
0
-6
91
-23
0
0
-56
-56
27
0
0
20
-80
17
0
0
0
0
0
0
0
91
5
-24
0
0
-24
30
21
0
0
29
82
2
0
0
-3
18
60
0
0
0
0
0
0
0
-47
-13
1
0
0
-10
30
79
0
0
-83
44
-30
0
0
101
16
52
0
0
0
0
0
0
0
-15
-18
96
0
0
21
31
61
0
0
-20
15
4
0
0
72
60
44
0
0
0
0
0
-27
-13
-34
-11
-55
47
82
23
65
57
-32
50
50
7
63
-23
64
-15
-28
-46
71
36
0
0
0
-5
5
18
1
-46
-11
-2
10
-62
81
39
96
24
-2
65
54
33
59
-90
52
0
-15
0
0
0
0
-7
-29
14
7
-10
140
-16
9
42
-42
36
-32
-7
64
80
-57
2
24
-78
-32
21
0
0
0
0
-1
-18
-1
-16
0
-3
24
22
15
0
9
30
-38
107
0
50
-8
53
-59
0
-29
0
0
0
0
0
20
37
11
0
0
34
4
14
0
0
-21
15
59
0
0
11
47
-1
0
0
0
0
0
0
0
32
2
-5
0
0
4
50
48
0
0
15
38
45
0
0
-7
24
12
0
0
0
0
0
0
0
17
-3
28
0
0
26
-21
-45
0
0
49
-16
0
0
0
30
-115
15
0
0
0
0
0
0
0
22
-79
-11
0
0
99
-140
48
0
0
17
70
-16
0
0
24
12
21
0
0
0
0
0
0
0
50
-42
-15
0
0
42
15
-17
0
0
13
17
-33
0
0
31
44
50
0
0
0
0
0
0
0
62
33
24
0
0
-80
-13
43
0
0
58
-90
-6
0
0
-53
11
-36
0
0
0
0
0
0
0
8
-44
-53
0
0
50
33
-65
0
0
-104
2
-23
0
0
85
5
-10
0
0
0
0
0
0
0
66
-74
18
0
0
47
67
51
0
0
35
2
-18
0
0
7
-6
-43
0
0
0
0
0
0
0
5
11
18
0
0
-6
48
89
0
0
52
61
29
0
0
-14
-11
-35
0
0
0
0
0
0
0
20
-9
52
0
0
25
14
134
0
0
-30
41
94
0
0
12
-31
-10
0
0
0
0
0
89
-93
66
19
-25
-14
19
30
9
-8
49
60
-4
19
49
4
89
17
28
48
48
93
0
0
0
23
-27
71
18
-2
-18
39
44
-38
-38
-26
4
-80
114
59
12
72
14
61
11
33
32
0
0
0
-42
-58
42
-47
52
10
96
42
16
27
-36
28
-33
33
-51
49
54
-53
48
10
6
48
0
0
0
25
64
75
70
-7
3
-28
28
-20
35
21
75
115
-17
32
40
14
-23
31
7
-45
-4
0
0
0
0
30
27
-17
-5
0
-40
-1
47
4
0
53
-37
61
30
0
-7
34
63
25
0
68
0
0
0
0
0
29
28
138
0
0
-3
22
61
0
0
4
19
72
0
0
46
40
40
0
0
0
0
0
0
0
28
23
26
0
0
41
25
38
0
0
-18
-48
-3
0
0
20
-63
-39
0
0
0
0
0
0
0
-9
-4
19
0
0
35
-4
4
0
0
15
27
40
0
0
18
19
28
0
0
0
0
0
0
0
26
23
51
0
0
34
6
9
0
0
5
15
47
0
0
19
25
43
0
0
0
0
0
0
0
37
-30
17
0
0
-3
-46
9
0
0
-42
-9
12
0
0
-24
-4
-36
0
0
0
0
0
0
0
16
13
64
0
0
1
-2
25
0
0
36
3
47
0
0
17
23
50
0
0
0
0
0
0
0
42
2
16
0
0
20
31
20
0
0
9
8
38
0
0
13
16
32
0
0
0
0
0
0
0
-14
58
-25
0
0
1
-62
22
0
0
77
40
5
0
0
39
45
-17
0
0
0
0
0
0
0
87
-15
66
0
0
34
6
39
0
0
12
23
61
0
0
18
17
62
0
0
0
0
0
48
-41
-12
-2
-42
-15
23
14
-1
0
69
65
13
27
23
80
18
17
45
-38
134
29
0
0
0
80
28
109
17
-10
-62
34
-62
62
-66
79
-7
-63
-6
-35
65
33
119
37
75
39
-41
0
0
0
-4
-110
93
-2
8
65
17
16
-3
64
-9
39
65
46
18
57
66
42
5
58
65
24
0
0
0
17
-25
40
80
-27
-63
-41
43
-18
7
3
72
-24
-24
29
44
133
43
-29
-15
89
-44
0
0
0
80
-1
29
32
-13
58
12
11
60
-53
-62
17
34
44
24
16
-34
33
35
-5
67
84
0
0
0
0
75
27
31
-32
0
90
-52
-2
27
0
-49
58
61
0
0
-7
5
-45
110
0
1
0
0
0
0
0
-10
5
-38
0
0
-28
-11
-5
0
0
4
-6
-39
0
0
47
-26
-5
0
0
0
0
0
0
0
-11
-56
5
0
0
47
23
-21
0
0
35
15
-13
0
0
14
7
20
0
0
0
0
0
0
0
31
26
35
0
0
8
-14
11
0
0
14
19
37
0
0
20
32
49
0
0
0
0
0
0
0
-13
-45
32
0
0
14
-9
-68
0
0
-39
24
-31
0
0
62
81
-22
0
0
0
0
0
0
0
-50
-41
-109
0
0
24
41
82
0
0
53
-14
69
0
0
-7
12
74
0
0
0
0
0
0
0
-1
-55
-82
0
0
-13
66
38
0
0
40
2
33
0
0
39
41
46
0
0
0
0
0
0
0
8
62
-15
0
0
3
-29
11
0
0
19
36
4
0
0
31
4
-58
0
0
0
0
0
0
0
75
1
22
0
0
57
1
-36
0
0
34
-14
66
0
0
30
20
20
0
0
0
0
0
-1
82
69
21
31
75
1
97
11
14
32
45
78
33
6
-55
30
3
79
41
-26
-18
0
0
0
128
-28
-26
81
4
-74
43
51
-10
-16
-5
25
-1
-8
0
0
-38
26
2
0
0
0
0
0
0
-27
68
-25
-18
10
16
63
59
42
2
6
-21
24
0
19
24
-55
-15
23
-19
0
-13
0
0
0
82
-2
-4
62
-12
-68
-21
-77
16
9
71
-19
0
-35
26
5
-64
42
14
12
-6
13
0
0
0
34
15
-14
104
-19
24
7
31
24
-20
-33
-14
14
36
12
-64
-24
-42
-50
-31
20
33
0
0
0
3
52
-29
18
53
28
-2
-1
34
-13
-65
-13
22
-4
8
39
-15
16
-65
-19
-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
53
14
69
0
0
26
-10
5
0
0
1
-1
7
0
0
12
11
-1
0
0
0
0
0
0
0
10
6
7
0
0
1
1
-4
0
0
1
-1
-5
0
0
-2
7
5
0
0
0
0
0
0
0
10
8
-7
0
0
-5
4
46
0
0
-31
56
47
0
0
3
-27
53
0
0
0
0
0
0
0
-36
37
20
0
0
-4
3
-1
0
0
0
4
-15
0
0
-11
-10
-17
0
0
0
0
0
0
0
55
25
91
0
0
7
-17
10
0
0
1
0
-5
0
0
6
-4
16
0
0
0
0
0
0
0
6
-25
19
0
0
2
2
-5
0
0
8
-1
-10
0
0
9
-3
11
0
0
0
0
0
0
0
82
18
0
0
0
-10
-8
-22
0
0
-12
-4
17
0
0
-36
-2
35
0
0
0
0
0
-72
-37
24
14
-62
67
-85
35
0
-92
-69
40
31
3
34
-12
68
-5
-49
13
-101
-2
0
0
0
-56
-74
-37
-16
-59
9
70
52
-23
-53
11
111
19
18
-57
-109
201
-24
6
11
63
-20
0
0
0
-3
-24
18
-69
-41
-19
-12
-48
7
-12
-24
-22
85
-33
42
-4
33
20
30
62
45
74
0
0
0
-1
-13
-122
113
-52
-40
49
-26
15
1
12
12
54
82
-9
4
-5
39
-15
-20
-1
-13
0
0
0
6
39
-19
57
-53
-9
28
5
33
46
51
27
43
15
45
16
8
0
46
42
63
0
0
0
0
69
3
47
49
18
-25
47
17
-25
28
104
-5
-17
15
-11
-29
45
24
47
38
70
-63
0
0
0
47
62
35
31
17
25
22
36
11
17
4
2
5
4
13
3
1
-6
5
3
1
-7
0
0
0
0
16
-66
20
-39
0
15
10
25
28
0
30
0
3
-10
0
2
-6
-1
-12
0
6
0
0
0
0
0
5
0
-2
0
0
17
13
6
0
0
9
-8
-7
0
0
-4
-20
-11
0
0
0
0
0
0
0
5
-11
-26
0
0
-3
11
-33
0
0
-11
-14
12
0
0
-20
-7
-8
0
0
0
0
0
0
0
21
-22
-20
0
0
1
9
0
0
0
-1
3
11
0
0
10
3
-14
0
0
0
0
0
0
0
4
-5
22
0
0
5
26
26
0
0
7
0
-5
0
0
-1
-2
-7
0
0
0
0
0
0
0
-21
-51
-6
0
0
15
-28
0
0
0
0
-8
-2
0
0
0
-14
-19
0
0
0
0
0
0
0
-24
48
-3
0
0
-4
-12
2
0
0
-13
-13
-15
0
0
1
-7
9
0
0
0
0
0
61
-86
20
-16
-32
-74
-50
38
9
-51
-25
1
4
10
-60
-30
1
29
59
37
-106
-51
0
0
0
23
-69
34
-10
62
-3
11
3
32
-44
-6
-19
35
20
-51
-6
-53
35
37
101
21
-13
0
0
0
46
-26
-74
2
-55
-4
0
51
22
-57
30
-45
41
-7
39
-8
-68
8
25
21
-14
-138
0
0
0
-5
-70
94
26
56
11
28
44
24
-52
53
6
26
35
76
-20
-20
36
46
64
16
-46
0
0
0
22
3
-6
-18
26
27
0
9
23
14
37
22
14
8
13
25
23
12
33
28
52
28
0
0
0
1
-63
0
11
-11
20
-26
24
40
35
4
16
20
38
37
27
45
26
42
22
39
10
0
0
0
0
-18
17
12
-7
10
13
11
22
11
3
4
4
6
15
0
31
-2
0
8
8
-3
0
0
0
-17
-26
-33
-46
14
8
2
10
-12
6
-12
-2
-3
-21
-3
-9
-2
-6
-15
-9
0
9
0
0
0
0
0
3
7
10
0
0
-3
2
7
0
0
-13
-6
-2
0
0
-4
1
-9
0
0
0
0
0
0
0
-7
-1
6
0
0
12
19
21
0
0
-19
-12
-7
0
0
-5
-1
2
0
0
0
0
0
0
0
-3
-2
-22
0
0
-34
-4
-9
0
0
-10
-12
-13
0
0
-3
5
3
0
0
0
0
0
0
0
-25
-43
-11
0
0
-6
-12
-9
0
0
-6
-18
-17
0
0
3
-15
-15
0
0
0
0
0
0
0
-3
-44
4
0
0
11
-32
11
0
0
11
-10
-3
0
0
16
-5
13
0
0
0
0
0
0
0
8
29
-39
0
0
4
14
-32
0
0
0
12
-7
0
0
15
11
-11
0
0
0
0
0
-6
45
8
13
47
-5
34
-17
68
-32
3
-57
-59
-31
6
11
33
45
-34
-44
2
-58
0
0
0
0
-13
96
-11
84
-1
-5
-81
-15
4
7
0
3
-5
0
0
0
-2
24
-1
0
0
0
0
0
-5
-16
-10
-7
-14
0
-60
81
33
59
-1
56
14
-30
22
45
-55
-89
-53
27
0
37
0
0
0
0
-48
-1
-35
-10
-2
-25
65
149
-20
14
7
-36
23
136
17
-36
14
-15
-11
-8
36
0
0
0
9
-53
-20
90
68
84
-25
44
16
48
101
18
16
53
14
-12
-98
-26
-19
-51
49
-37
0
0
0
70
-109
18
28
-1
104
-109
-89
-28
38
53
-30
-6
81
-49
29
-43
69
-47
42
2
-102
0
0
0
27
2
28
32
19
45
16
48
4
54
52
9
0
-20
-19
12
-74
-29
-9
-6
37
-43
0
0
0
-54
-92
90
52
59
36
2
10
12
56
-33
18
-27
-16
-14
7
2
-21
-48
7
4
-21
0
0
0
-36
-53
-4
4
-4
38
-58
-3
21
0
74
-3
10
-10
-8
58
-39
12
4
-3
47
-76
0
0
0
0
-5
1
-9
23
0
75
-4
-31
100
0
45
114
-14
-53
0
-4
-5
41
-53
0
-11
0
0
0
0
0
84
69
78
0
0
16
-3
15
0
0
-11
11
34
0
0
-4
11
-44
0
0
0
0
0
0
0
4
37
97
0
0
5
32
7
0
0
-4
13
13
0
0
-18
-5
9
0
0
0
0
0
0
0
97
5
49
0
0
38
-20
-82
0
0
-4
-31
9
0
0
3
10
-34
0
0
0
0
0
0
0
52
64
13
0
0
19
69
-34
0
0
36
53
-18
0
0
13
55
51
0
0
0
0
0
0
-44
3
-51
76
1
58
-28
-92
-61
-10
-109
11
44
-21
-2
-1
-18
-20
-48
26
57
0
0
0
0
-69
48
18
-9
-8
134
15
-52
14
0
-33
62
28
-4
0
9
-11
32
11
0
2
0
0
0
0
77
-46
31
53
0
-73
-45
56
-2
0
-94
-40
-28
8
0
-25
79
13
4
8
133
0
0
0
0
-43
-14
-7
53
27
-128
24
69
64
53
100
-39
72
66
-5
-16
-18
-76
-27
-5
43
0
0
0
79
53
-10
24
17
8
39
45
1
30
8
32
4
47
46
27
33
-7
0
63
32
47
0
0
0
73
33
-16
15
-76
41
84
49
-7
-22
-11
52
-15
33
72
-46
-20
-5
10
0
-57
53
0
0
0
17
67
21
20
31
53
11
5
5
12
7
39
-1
8
-14
-4
-7
-13
7
-7
-20
6
0
0
0
-31
-18
35
17
-24
25
-18
-16
4
-12
11
-26
-5
12
7
17
-2
-7
-12
-9
17
-20
0
0
0
-6
25
11
-24
-13
9
0
-12
-3
9
21
17
-1
-2
-14
23
9
-3
-7
-3
13
33
0
0
0
-24
-9
-27
-2
-7
-72
33
10
42
-14
26
33
-9
12
-15
-72
28
-10
-70
23
-10
-26
0
0
0
0
5
5
-6
-27
0
11
-54
15
-2
0
1
-25
9
5
0
-45
-28
6
-15
0
32
0
0
0
0
0
14
9
10
0
0
-6
1
21
0
0
1
5
-1
0
0
-6
3
0
0
0
0
0
0
0
0
19
8
-14
0
0
-21
-12
12
0
0
15
-17
-22
0
0
12
6
8
0
0
0
0
0
0
0
-26
21
-12
0
0
2
22
-3
0
0
11
-12
27
0
0
-7
-58
3
0
0
0
0
0
10
-111
23
24
32
-44
-28
29
3
-39
21
5
44
22
3
-29
11
23
29
-5
9
46
0
0
0
-46
-41
6
39
-60
115
0
55
10
22
6
10
24
65
-28
30
33
-3
75
-32
-17
-19
0
0
0
42
-47
92
15
-29
59
-13
-5
63
-21
86
3
-19
-14
-22
8
-53
-7
-63
1
-58
101
0
0
0
-1
3
-11
11
-53
161
-72
89
13
74
-21
22
-37
-4
52
-32
53
-13
73
69
-38
5
0
0
0
-65
80
25
3
69
77
44
10
1
25
14
52
23
33
28
41
57
-7
27
21
-35
20
0
0
0
108
71
37
35
47
51
57
23
21
40
39
51
33
0
64
38
-16
40
21
21
-20
11
0
0
0
35
-22
26
26
33
20
20
24
10
17
5
0
16
9
18
4
-1
-2
0
19
15
6
0
0
0
-5
-9
-32
35
26
8
-22
10
2
17
2
-26
3
3
11
-10
-13
6
-16
5
-2
3
0
0
0
4
-29
-10
-7
-33
-1
-6
3
-12
9
1
-23
-4
-25
-22
9
-20
-2
-24
-19
-4
-14
0
0
0
-34
-42
5
-18
-6
-27
55
18
11
11
2
34
16
12
3
-52
24
8
-9
-26
-10
-13
0
0
0
67
2
-3
8
6
-11
2
1
3
-3
8
18
3
2
14
-16
16
5
19
17
-12
35
0
0
0
0
-22
-12
-41
6
0
-13
19
16
47
0
32
6
3
14
0
1
0
-13
-7
0
11
0
0
0
0
0
18
-35
7
0
0
-4
-12
8
0
0
-11
-6
3
0
0
4
-10
13
0
0
0
0
0
0
0
21
-3
-28
0
0
-3
-11
9
0
0
7
-16
4
0
0
18
6
24
0
0
0
0
0
-7
12
25
22
44
-133
-39
28
-36
-32
51
17
54
44
43
70
72
19
39
39
-43
43
0
0
0
-23
15
82
-24
-3
-86
-43
6
38
11
40
141
28
10
28
30
-106
-33
-51
-4
7
39
0
0
0
0
-42
13
-27
-81
84
-33
1
15
151
-15
-38
17
15
2
81
34
22
42
26
15
80
0
0
0
3
-2
60
-48
-11
32
1
-24
19
68
-6
38
70
21
-70
54
53
2
-14
43
96
26
0
0
0
-49
-24
28
-5
-20
52
4
-7
-1
-26
22
7
5
3
5
14
24
-35
14
75
48
34
0
0
0
58
22
50
-47
36
17
-6
40
-15
32
-14
-20
58
-34
73
-9
-14
20
32
23
10
7
0
0
0
48
91
13
48
24
9
-4
-14
0
-9
3
-4
10
-2
-4
-3
-14
-13
-1
-2
-8
27
0
0
0
65
-62
-29
-62
-92
20
16
11
3
36
12
-3
-1
-1
11
-6
8
9
-6
10
-8
-7
0
0
0
22
37
9
9
1
-8
-1
11
15
1
13
-5
15
2
-6
-1
4
12
10
6
1
37
0
0
0
-17
-52
-7
1
-19
-13
33
28
-39
40
40
62
5
2
31
-69
-54
33
-15
65
-53
-19
0
0
0
-20
-33
-4
24
-78
4
68
11
-23
2
38
-13
10
11
13
-6
-10
12
17
-17
58
20
0
0
0
-6
103
18
-6
29
34
35
16
4
42
4
30
-9
10
12
1
29
4
10
5
16
-14
0
0
0
0
48
38
-38
32
0
-26
-23
-60
2
0
24
-5
7
-41
0
29
-20
-7
11
0
-62
0
0
0
0
0
16
-3
-47
0
0
-7
4
-20
0
0
3
-19
-32
0
0
-25
-13
-4
0
0
0
0
0
-8
-64
26
15
5
1
27
45
15
18
48
28
67
14
-33
15
76
-38
29
26
16
81
0
0
0
67
14
8
-39
8
26
3
-30
-44
-82
-10
99
41
-64
49
-5
16
53
18
122
-15
-1
0
0
0
-7
-50
2
38
-94
66
63
12
39
-3
-24
36
51
57
78
40
95
104
89
-30
48
48
0
0
0
-6
36
-40
60
-36
-6
62
72
91
-7
-22
21
53
53
-66
-20
-5
-21
-23
-23
40
14
0
0
0
46
37
8
-45
-50
-8
34
44
24
13
10
100
22
43
31
41
0
52
38
6
65
1
0
0
0
56
-47
-6
73
-8
-118
74
16
3
18
101
46
-18
46
24
-27
4
-16
-1
45
-18
-24
0
0
0
-17
58
53
-32
-6
76
14
4
24
-10
15
-18
-10
-7
1
-6
1
15
-8
0
-6
-11
0
0
0
-11
-35
39
20
-23
1
13
-5
-5
17
-6
-3
18
6
-1
-4
-11
8
2
21
11
7
0
0
0
-112
-5
5
-1
16
-22
-18
9
6
9
-8
-4
9
6
5
2
-5
10
9
-6
15
-11
0
0
0
-36
47
1
4
-8
-80
79
33
51
36
35
40
-22
52
22
9
74
2
-3
-12
-50
5
0
0
0
-90
-61
22
16
-45
7
-12
27
-2
20
23
-14
11
24
-4
-34
-2
22
-14
-31
20
-11
0
0
0
-83
-22
7
-24
-19
31
6
12
-4
31
-11
-23
19
10
-9
4
-9
14
-11
22
46
-4
0
0
0
-61
11
16
-22
14
49
-9
22
-33
14
-13
11
-13
8
-28
-25
-37
14
8
-5
-16
38
0
0
0
0
-19
-30
-75
-33
0
-12
-17
-7
42
0
25
-41
-5
-49
0
91
29
27
-38
0
-2
0
-10
32
-18
-47
17
12
3
16
16
13
-10
47
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
25
0
-29
-62
-11
0
58
0
17
0
0
0
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
62
-60
20
0
42
36
-88
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
-53
0
-16
-8
52
0
64
31
33
0
72
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
-18
0
21
23
26
0
44
57
89
0
74
14
-41
0
-96
0
25
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
47
0
-5
36
29
0
61
-17
12
0
51
33
0
0
-31
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
41
0
-16
18
7
0
15
19
20
0
13
-32
24
0
-21
-30
-18
0
32
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-110
-4
0
-85
-49
20
0
25
-24
2
0
19
-32
-4
0
42
67
-44
0
-24
130
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-5
0
-94
-19
-4
0
-77
-3
-1
0
-31
-7
-37
0
-76
-41
-13
0
-40
4
25
0
23
0
0
0
0
0
0
0
0
0
0
0
0
48
42
0
24
-36
54
0
17
-22
-43
0
-5
-16
64
0
-45
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
-9
-8
0
106
-18
1
0
-25
70
-4
0
-38
43
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-15
0
-12
16
-56
0
23
-5
-5
0
-60
25
22
0
2
33
32
0
52
-7
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
42
-13
0
-36
52
-3
0
4
21
16
0
45
-2
2
0
-64
-34
-12
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-12
0
-3
35
-40
0
39
27
-32
0
53
8
11
0
-105
3
15
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-1
14
-64
32
33
-24
-28
5
0
19
0
0
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
-50
0
-8
-2
54
0
10
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
42
78
0
26
-2
-9
0
-33
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
52
-93
0
-35
-34
80
0
112
0
16
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
32
-33
0
-33
-3
-4
0
128
28
65
0
81
13
9
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
34
0
-46
62
31
0
12
66
14
0
26
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
-25
0
8
54
24
0
1
0
-11
0
-24
75
23
0
-60
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-60
0
-77
-13
20
0
-68
-32
55
0
-109
44
11
0
32
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-89
0
-55
-13
19
0
1
-17
41
0
-8
-8
4
0
14
42
-32
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
0
-24
1
-1
0
-3
-58
-135
0
-25
15
6
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-25
-25
0
-13
11
-105
0
-57
28
19
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-48
0
13
14
24
0
-71
32
6
0
-72
-7
-15
0
-42
-5
18
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-40
0
43
24
-57
0
17
-69
42
0
91
39
76
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
62
0
65
7
14
0
64
78
-5
0
15
35
-8
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
17
-61
121
26
-28
2
-24
-18
-26
14
-125
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-16
-15
-11
-3
-14
-34
-25
0
-19
-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
61
-49
22
30
-63
-49
-46
71
1
68
-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
20
43
0
71
45
41
0
85
6
-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
20
33
0
48
1
-13
0
102
41
79
0
-2
34
-70
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
100
0
-28
3
-21
0
36
2
-25
0
1
-39
-22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-24
0
18
-17
20
0
15
14
-14
0
-18
14
29
0
-33
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
75
0
-83
7
2
0
21
-19
9
0
38
1
-23
0
-31
26
-14
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
21
0
-61
8
-24
0
-6
-6
-6
0
-44
-7
15
0
-9
-12
-23
0
40
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-119
-14
0
-7
75
-73
0
41
110
48
0
-66
14
14
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
-40
-41
0
27
7
-1
0
5
28
-57
0
-53
25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-68
-49
-23
0
28
5
6
0
-2
-10
-30
0
-10
94
-6
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-51
0
32
87
34
0
13
53
-3
0
45
12
85
0
17
-26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-12
0
-10
27
9
0
60
-38
1
0
19
22
3
0
47
0
3
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-53
-97
-8
11
3
-13
4
-20
21
61
-3
0
1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-28
-9
0
-1
5
0
-46
0
-2
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
-29
14
-3
-44
-7
4
-42
33
0
16
-53
31
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
3
-14
0
92
-7
-36
24
-1
54
-47
-57
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-8
0
54
-43
-16
0
-26
38
30
0
63
21
89
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
34
0
-58
8
-13
0
-87
49
70
0
56
45
-55
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
1
0
46
15
15
0
30
4
-25
0
-72
-18
-63
0
54
54
14
0
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
62
0
12
-17
-88
0
17
-7
-35
0
22
15
-25
0
84
32
-101
0
35
54
72
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-43
-23
0
-14
45
17
0
11
26
60
0
2
-13
-36
0
-50
-26
1
0
-44
0
4
0
25
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-2
-21
16
0
-15
-6
-13
0
-62
-14
-75
0
47
-13
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
35
6
0
-3
-9
-11
0
-105
-62
15
0
-39
-21
16
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-52
0
21
-23
-71
0
-32
18
-47
0
-11
47
-15
0
21
63
105
0
-30
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
24
0
-32
-26
-34
0
63
17
24
0
1
42
62
0
24
-5
-11
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-66
0
6
45
-32
0
47
110
30
0
30
-6
44
0
99
-41
62
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
41
10
32
-19
-13
3
41
32
-50
25
-2
7
-5
42
-10
0
-1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-18
-53
-17
2
-61
40
23
0
8
34
3
0
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
70
-14
105
36
-37
13
13
-20
2
6
-43
0
-15
-2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
8
39
-46
14
22
10
-17
85
21
37
89
0
-24
45
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-52
61
4
13
-13
4
-42
69
-1
-12
-1
62
51
63
91
118
-12
-30
14
-63
95
76
-19
-4
66
-9
-5
0
10
3
0
0
0
0
0
20
35
0
34
-13
-91
0
81
25
-116
0
12
59
-28
0
28
4
93
0
-115
26
100
0
14
10
37
0
-43
0
-3
0
0
0
0
0
0
55
-18
0
0
13
66
0
33
31
26
0
51
31
1
0
23
-32
-71
0
-49
-4
-19
0
-39
39
-30
0
5
0
42
0
17
0
0
0
0
48
79
0
5
5
6
0
18
-11
17
0
22
26
-14
0
24
20
8
0
28
31
3
0
60
-13
16
0
36
0
-29
0
-21
0
0
0
0
22
64
0
24
-11
50
0
-16
1
26
0
-12
-4
3
0
0
-9
-7
0
-11
-16
-7
0
8
21
53
0
7
0
-6
0
23
0
0
0
0
42
116
0
-83
57
67
0
-90
26
-2
0
-7
30
36
0
40
-24
-59
0
99
37
-6
0
-56
-26
-52
0
34
0
34
0
-23
0
0
0
0
128
0
0
0
-64
62
0
60
40
47
0
41
-33
-18
0
38
5
5
0
15
-30
19
0
-9
34
-20
0
31
0
41
0
-30
0
0
0
0
10
122
0
-1
42
8
0
-62
42
13
0
16
-2
5
0
45
23
-15
0
24
25
8
0
26
80
34
0
49
0
45
0
32
0
0
0
0
-18
-9
0
7
-18
-135
0
-22
49
43
0
70
25
62
0
-19
29
34
0
-49
25
58
0
95
49
-32
0
30
0
80
0
14
0
0
0
0
13
44
0
16
-61
-30
0
100
83
14
0
144
69
1
0
37
57
37
0
50
-6
20
0
18
116
7
0
-28
0
17
0
-233
0
0
0
0
6
20
41
40
-46
9
-13
10
-103
-1
-21
27
0
22
41
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
61
41
33
-28
-46
9
-2
37
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
-3
-5
-4
68
56
1
41
-5
1
32
-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
0
14
47
-36
-11
-17
32
56
2
55
-46
5
69
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-44
14
15
19
7
-24
47
54
54
-18
-39
-77
14
-32
97
56
23
28
37
86
90
28
-73
1
-5
106
10
0
-1
-3
0
0
0
0
0
39
-2
-33
-2
39
-76
41
-1
33
32
21
-25
-69
-38
-23
1
-3
-20
26
0
-17
0
0
0
0
6
0
2
0
0
0
0
0
0
0
0
-11
33
0
-33
-14
-40
0
4
-10
18
0
-45
-48
-38
0
91
21
-79
0
19
13
47
0
46
35
-35
0
-23
0
21
0
0
0
0
0
0
48
73
0
98
43
14
0
53
50
-20
0
-40
43
74
0
-39
-9
12
0
18
12
45
0
-59
64
20
0
43
0
18
0
49
0
0
0
0
33
59
0
12
47
62
0
4
32
17
0
53
-10
21
0
15
-27
-8
0
8
-26
-18
0
-49
8
-32
0
-31
0
2
0
-23
0
0
0
0
-62
66
0
-95
5
11
0
-56
-58
2
0
-15
-13
-29
0
-113
5
-22
0
99
66
20
0
7
54
-5
0
19
0
-10
0
-40
0
0
0
0
86
0
0
0
0
109
0
105
50
-66
0
15
-5
16
0
44
-22
19
0
-28
2
63
0
-40
4
-38
0
-20
0
9
0
-2
0
0
0
0
47
54
0
28
74
32
0
40
14
-13
0
-8
23
29
0
-4
38
-1
0
8
-22
62
0
11
-8
-11
0
85
0
56
0
11
0
0
0
0
-9
-1
0
71
57
31
0
88
9
63
0
-11
-37
43
0
23
109
48
0
-4
73
88
0
14
46
-27
0
-26
0
-59
0
-21
0
0
0
0
-6
5
0
51
-13
26
0
1
43
11
0
40
-13
-10
0
31
61
10
0
37
55
27
0
-9
2
1
0
-6
0
-52
0
-18
0
0
0
0
2
42
-2
26
0
22
57
18
0
-30
34
5
0
-57
-49
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
16
-10
-1
0
79
-14
-5
0
2
38
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
41
-80
37
21
-35
-2
20
0
-24
30
-20
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
10
30
1
-28
33
7
36
0
1
6
68
0
-5
-6
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
-6
16
25
-28
-2
-52
-95
4
26
30
44
17
83
-13
6
-31
47
40
1
86
-113
-25
32
42
5
9
-49
0
-57
-26
10
0
0
5
0
57
-51
-19
-15
-57
-30
34
47
-4
6
-23
-7
-27
-32
-57
-42
-33
35
22
-17
36
-30
10
-15
-17
-1
-85
25
0
13
-6
-8
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
-1
76
0
56
-66
28
0
5
-1
10
0
41
49
-42
0
0
-10
51
0
-12
-4
13
0
26
-17
-10
0
2
0
-2
0
2
0
0
0
0
40
106
0
33
82
79
0
14
-7
30
0
40
-20
25
0
12
-4
1
0
16
0
-2
0
15
8
7
0
-21
0
-3
0
-101
0
0
0
0
-14
24
0
-1
-8
-115
0
-18
-11
4
0
26
37
48
0
-41
1
17
0
-23
32
7
0
-17
1
13
0
21
0
10
0
-3
0
0
0
0
-8
0
0
0
76
14
0
-31
-97
-7
0
25
-15
-7
0
33
21
-9
0
33
0
59
0
24
5
-26
0
40
0
6
0
10
0
0
0
0
-5
78
0
34
-4
76
0
0
-5
5
0
-30
2
11
0
-7
43
13
0
-7
-12
23
0
-23
-16
-7
0
6
0
-3
0
-1
0
0
0
0
-2
0
0
26
30
-16
0
-22
-29
-14
0
-7
-9
6
0
-46
-33
53
0
70
5
-50
0
22
8
-11
0
-4
0
-1
0
-5
0
0
0
0
11
-26
0
-20
25
3
0
-3
-24
-19
0
0
33
-14
0
-3
27
-42
0
48
8
-35
0
-137
-19
-9
0
-5
0
18
0
23
0
0
0
0
-66
40
-61
-169
-3
33
10
6
1
-94
15
-14
0
-2
-3
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-68
-109
-134
4
14
71
140
0
-6
-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
-39
-62
-71
8
47
21
-4
19
-7
-35
29
4
0
-1
59
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
27
-67
-68
3
-67
70
45
16
-33
13
66
0
-9
-25
-2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
59
13
58
-24
-13
11
-21
-13
101
28
66
111
68
60
45
-9
88
57
14
12
62
79
99
38
-12
28
51
0
-118
32
-1
0
0
-19
0
22
107
100
32
7
83
80
-53
12
15
-43
76
12
-9
-93
-33
53
30
-22
99
76
-2
-21
62
14
43
45
21
0
56
52
-76
0
0
-23
0
-4
-12
-44
24
33
-54
58
4
17
-58
-38
-80
32
-3
42
5
4
-25
30
-4
47
-7
21
2
2
12
4
15
0
7
10
5
0
0
0
0
41
42
-73
-90
-18
-64
3
18
5
2
0
-24
0
-136
54
-17
19
2
61
-17
4
-16
-14
-16
-2
9
-15
4
0
1
7
-9
0
0
-23
0
-78
28
0
-54
-12
7
0
-32
9
25
0
7
-26
12
0
-8
-26
-6
0
16
-38
-19
0
15
8
6
0
5
0
9
0
-8
0
0
0
0
43
-10
0
-54
-32
53
0
6
-49
12
0
94
-1
-3
0
46
-44
73
0
10
7
49
0
-22
-8
8
0
-33
0
-19
0
-43
0
0
0
0
131
0
0
0
-29
3
0
-34
10
-23
0
65
-34
8
0
46
5
11
0
6
-20
2
0
5
-10
42
0
-45
0
3
0
-2
0
0
0
0
19
45
0
-41
-12
-33
0
36
-26
-19
0
-47
-25
-31
0
-28
0
-18
0
7
9
8
0
-3
-5
23
0
2
0
-21
0
-18
0
0
0
0
36
-80
0
-5
72
-1
0
75
17
60
0
38
-7
44
0
72
5
12
0
40
0
2
0
26
6
3
0
12
0
-26
0
-14
0
0
0
0
-71
34
0
-53
49
42
0
76
29
34
0
31
35
25
0
-10
23
54
0
84
24
36
0
74
18
12
0
1
0
9
0
-42
0
0
0
0
0
0
0
0
-26
-41
-15
-6
-11
-71
38
-6
-4
-41
-27
-24
0
31
-47
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-54
-94
-42
11
-135
40
-33
0
29
102
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-114
-7
-2
23
-4
59
55
63
0
-43
-51
3
0
0
-16
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
6
24
-7
-18
36
-27
-1
57
-5
-32
0
-87
-3
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
1
-7
33
15
39
39
42
37
44
28
52
44
12
18
6
7
21
-15
16
-6
-15
3
-14
0
79
6
-27
0
0
28
0
0
0
0
0
55
31
-7
21
-6
50
33
82
47
-3
12
54
43
-24
37
35
20
15
1
-21
20
17
-14
-35
0
26
43
-96
0
0
19
0
0
0
0
0
-2
9
27
-43
24
22
45
24
18
24
35
18
11
24
9
15
5
-9
17
-6
-1
5
-21
5
0
10
80
-11
0
0
25
0
0
0
0
0
-7
-4
94
21
3
24
52
15
34
22
78
23
10
1
9
10
-5
-8
-29
-2
0
-3
-38
-8
0
10
-18
-6
0
0
10
0
0
0
0
0
-8
35
70
0
-2
14
4
0
14
6
10
0
-3
5
12
0
7
-3
4
0
30
22
-2
0
0
57
21
0
0
0
26
0
0
0
0
0
12
-9
0
-25
0
13
0
158
-5
14
0
25
21
11
0
-26
23
12
0
-68
3
4
0
-54
0
-23
0
29
0
0
0
0
0
0
0
0
38
63
0
-34
20
104
0
-15
-4
79
0
48
-25
-31
0
33
-13
-23
0
0
-7
-26
0
-20
0
2
0
-19
0
0
0
0
0
0
0
0
63
70
0
-59
22
38
0
36
33
16
0
40
12
4
0
28
-5
1
0
-11
-4
-21
0
-23
0
17
0
-26
0
0
0
0
0
0
0
0
-26
46
0
72
-5
-10
0
41
4
17
0
23
23
-11
0
26
11
-3
0
3
-1
-9
0
-6
0
-9
0
-16
0
0
0
0
0
0
0
0
57
40
0
84
39
42
0
62
9
30
0
17
-14
-1
0
6
4
-5
0
-26
-4
12
0
-50
0
2
0
-24
0
0
0
0
0
0
0
0
-1
34
58
-48
0
-6
14
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
-25
-75
13
0
-18
14
0
0
0
-4
0
0
0
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
-19
0
21
100
-1
0
0
-7
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
39
27
82
0
-57
86
21
0
1
-59
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
0
48
105
-87
-28
16
0
79
66
-49
-65
9
50
36
-4
23
-41
7
23
44
9
47
61
0
20
22
71
0
0
-34
0
0
0
0
0
-36
5
-14
-11
-65
90
-3
33
27
-65
46
75
102
15
34
23
-22
-93
-10
56
43
17
43
47
0
50
-93
8
0
0
0
0
0
0
0
0
-1
5
44
5
-78
8
-5
135
38
-7
118
64
-21
-14
19
14
18
-1
-1
43
-46
15
0
14
0
-15
15
23
0
0
-7
0
0
0
0
0
6
36
-4
-37
-32
-38
62
-24
30
-23
20
-154
-11
-4
34
35
7
-17
8
58
0
-1
-31
23
0
30
19
-15
0
0
-9
0
0
0
0
0
7
0
59
66
-90
-2
16
100
12
-1
4
11
-13
4
19
9
4
-19
9
11
22
-12
-8
21
0
-55
-37
39
0
0
-77
0
0
0
0
0
16
1
0
0
49
-101
-1
55
21
-42
-54
-81
-21
14
-30
23
-22
52
-31
16
6
58
87
-42
0
19
7
33
0
0
30
0
0
0
0
0
42
13
0
6
-6
50
0
79
6
81
0
9
-42
19
0
41
32
-1
0
23
-7
-5
0
-90
0
-6
0
-19
0
0
0
0
0
0
0
0
-30
30
0
-18
-92
-30
0
1
21
-7
0
-49
13
-2
0
14
-3
-23
0
18
35
10
0
8
0
26
0
-54
0
0
0
0
0
0
0
0
-14
-11
0
-1
-35
14
0
-31
-3
5
0
-62
13
-17
0
-9
-37
-12
0
35
20
-50
0
-32
0
-46
0
4
0
0
0
0
0
0
0
0
-77
0
0
0
14
-22
0
10
-40
42
0
16
61
-31
0
97
11
62
0
24
4
24
0
21
0
-2
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-23
-47
0
3
-54
-7
0
-4
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
-15
-24
-13
0
0
14
0
0
0
0
0
0
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
102
7
0
1
-22
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
61
107
0
44
14
-1
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
-21
30
44
100
-43
-5
-35
-14
7
-2
-6
-23
-20
-22
-7
44
51
6
-9
11
0
0
181
23
0
0
-20
0
0
0
0
0
0
0
0
0
14
-92
-14
113
48
-32
21
-47
23
42
10
-12
62
-23
27
-21
-52
53
4
-54
0
35
-15
-1
0
0
-29
0
0
0
0
0
0
0
0
0
26
64
18
9
34
18
44
-6
-11
2
-12
7
37
-16
-25
3
0
2
1
6
0
53
40
39
0
0
3
0
0
0
0
0
0
0
0
0
-93
-18
-15
88
-1
-12
29
-46
12
13
20
17
-7
-12
2
26
1
-6
3
19
0
39
5
-25
0
0
-11
0
0
0
0
0
0
0
0
0
-16
-20
80
28
18
16
25
22
-30
-8
17
24
-15
-34
-34
2
28
4
-18
23
0
-11
13
-14
0
0
17
0
0
0
0
0
0
0
0
0
112
168
21
-38
-6
-59
35
-28
12
13
57
-4
28
24
62
-53
-9
-35
16
-23
0
-68
32
-72
0
0
-5
0
0
0
0
0
0
0
0
0
88
59
53
-24
2
-23
-42
50
-32
-6
5
33
5
27
-17
23
-19
6
-25
-34
0
1
-13
-29
0
0
-36
0
0
0
0
0
0
0
0
0
-48
8
0
60
15
-27
0
28
-14
15
0
30
11
-7
0
2
-13
-3
0
5
0
-50
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
30
-19
19
0
-65
-11
21
0
-5
-28
-26
0
16
9
-34
0
30
0
-100
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-56
120
0
33
-35
41
0
36
-31
15
0
10
28
23
0
-33
10
-4
0
-13
0
29
0
-42
0
0
0
0
-5
-13
9
34
-23
-22
12
-12
-2
14
-45
43
0
-74
27
0
0
0
26
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-61
19
24
61
57
-96
78
0
19
28
-1
0
0
-42
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
17
-15
-45
-26
54
16
-25
92
17
91
0
17
-11
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
11
-15
-84
-65
-30
29
94
14
33
3
19
0
5
-1
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-43
-11
16
76
-4
40
86
32
85
0
56
34
67
11
75
46
52
39
60
43
-8
27
89
58
-5
35
45
0
26
46
-128
0
0
4
0
111
51
29
16
-3
-7
42
35
-9
22
-19
-47
38
36
25
153
33
20
15
79
83
68
30
142
31
9
32
7
0
-29
35
-61
0
0
9
0
98
-75
94
3
-38
-4
18
-46
47
27
-10
10
15
16
35
-15
12
15
1
22
21
3
11
14
0
5
3
10
0
1
9
4
0
0
-8
0
10
-2
-12
4
30
-20
-24
-28
-41
-1
-55
-24
42
35
-44
9
7
-5
-14
-15
5
-3
1
25
-1
1
1
19
0
35
-6
-14
0
0
-13
0
57
45
0
-35
16
64
-5
24
-5
27
-8
27
-6
22
95
-2
-45
-31
18
-5
-4
-29
-10
-13
2
1
-11
8
0
51
9
12
0
0
29
0
-4
6
0
37
-1
21
-33
63
73
-16
70
-63
6
-33
36
24
53
26
36
-27
21
11
16
-27
-4
-12
-17
-12
0
0
3
-53
0
0
-56
0
60
0
0
0
57
50
0
-12
43
-5
-97
72
-1
6
7
79
-2
20
32
12
-33
2
4
-10
-7
-14
9
47
0
-8
0
-8
0
0
-5
0
21
32
-1
1
37
68
29
-72
-50
45
-15
25
7
4
10
10
-1
-15
13
12
0
-27
6
17
22
-9
1
32
0
42
31
15
0
0
-167
0
28
33
0
-21
76
-12
0
93
17
77
0
39
26
41
0
39
5
4
0
33
12
-1
0
36
10
-3
0
29
0
1
0
-27
0
0
0
0
-1
29
0
-60
-57
43
0
64
71
-1
0
129
9
38
0
35
51
23
0
21
5
44
0
23
-12
0
0
-15
0
-13
0
-90
0
0
0
0
-35
33
40
21
20
-55
-10
-29
-8
-11
7
-126
0
5
-32
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
34
30
-1
8
71
-68
0
5
52
10
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
21
34
-3
18
20
-4
-2
-3
-26
-25
-59
0
7
-49
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
42
50
-5
51
-28
14
11
3
-29
14
15
0
-9
-18
17
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-14
25
-53
47
-58
-79
23
-27
-65
-70
-73
43
30
-11
-13
-10
70
-37
-50
-135
27
70
14
13
-1
75
126
0
-4
89
-1
0
0
7
0
67
59
7
64
-71
43
-2
71
-8
-66
2
-5
66
-119
36
45
81
11
57
-96
-24
63
67
-50
11
2
13
-11
0
33
-5
35
0
0
90
0
-18
51
129
-43
62
75
-27
4
-23
77
4
-32
-38
-84
-107
-24
-22
-60
-33
19
21
-2
-26
-27
-3
-2
6
7
0
-2
-2
0
0
0
-6
0
71
-33
44
69
43
-73
-24
-70
5
-102
24
29
-4
-14
55
18
1
-15
49
4
-2
-5
47
11
9
15
11
1
0
24
-9
-3
0
0
-3
0
45
64
0
30
29
88
35
37
-13
-34
82
67
-10
9
46
6
-12
-5
16
-3
-9
-7
-1
-3
-39
27
-13
-8
0
50
6
-58
0
0
-27
0
1
15
0
-18
45
7
-1
-20
-70
34
11
7
13
-10
7
11
23
33
-42
-3
19
7
16
-61
-9
38
2
-35
0
0
-24
9
0
0
-38
0
39
0
0
0
33
61
0
9
51
-59
34
69
12
49
40
39
10
31
50
-36
-49
22
21
-39
4
15
20
-23
0
30
21
8
0
0
4
0
72
29
96
-40
40
-8
30
62
-2
-84
-31
16
44
-36
35
-5
14
-34
28
42
-3
-8
41
-13
6
0
18
-1
0
18
4
32
0
0
11
0
-27
16
77
-45
-27
-74
-7
-2
-18
92
-46
53
74
22
-11
63
4
24
39
35
-10
-66
-2
19
8
-59
59
-26
0
-61
6
56
0
0
54
0
7
37
0
144
71
5
0
50
-99
64
0
76
21
-47
0
68
43
-6
0
-4
-6
8
0
34
0
5
0
-13
0
-11
0
-38
0
0
0
0
2
30
11
24
-15
-7
2
9
-1
34
13
-3
0
1
-2
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-66
-32
-28
6
6
-2
-12
0
0
16
0
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
-10
-74
22
16
50
15
-48
0
20
53
9
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
-3
29
7
-49
38
0
-47
0
-13
71
19
0
-1
-11
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-31
17
22
29
13
14
77
-68
8
33
-69
-41
-6
-2
-8
83
68
44
-9
64
65
4
-34
-25
-32
25
79
0
23
7
21
0
0
4
0
-3
13
28
79
-14
76
20
8
-8
31
-2
-3
6
-54
-46
-3
23
6
31
-1
-29
-14
-6
-1
21
-15
22
-9
0
91
-5
0
0
0
13
0
27
44
41
6
73
-105
1
23
-49
-33
-1
6
5
9
-50
-33
-46
-51
-20
-16
-1
-2
-41
-20
15
13
17
-55
0
-6
1
1
0
0
-36
0
26
105
99
109
87
103
132
-63
-55
9
0
-22
41
32
10
-23
26
56
47
-62
-4
-18
8
-45
-5
10
28
24
0
-15
10
1
0
0
-8
0
37
124
0
-9
41
96
30
-20
23
33
40
-55
-11
18
20
1
-15
-8
10
-13
-25
-24
-9
-17
-39
21
-1
18
0
16
36
4
0
0
28
0
84
103
0
-29
-30
18
39
-20
-3
-13
5
-4
40
24
-19
-149
18
4
124
-46
-35
5
-15
-36
19
19
25
1
0
10
-14
-2
0
0
24
0
128
0
0
0
-11
92
0
-43
18
15
9
-43
4
79
31
55
16
108
58
-11
-29
2
-15
-12
-7
84
-7
-9
0
15
3
13
0
0
-12
0
76
36
53
88
33
82
92
32
19
-8
-23
-55
15
33
-7
-71
8
11
43
-141
-18
4
13
-59
-7
15
21
2
0
-14
-14
30
0
0
13
0
30
-11
64
84
64
135
2
1
-2
78
48
-92
-36
-4
-22
4
12
20
-38
-59
13
-3
1
-7
-2
7
7
32
0
-50
10
12
0
0
12
0
7
129
162
78
34
2
53
5
-5
3
0
-1
-41
33
-7
-14
-56
-56
1
132
7
-5
55
-44
71
12
-33
-57
0
-62
-90
-98
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-13
-18
-38
2
-40
19
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
6
18
5
61
13
40
14
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
10
17
22
21
21
27
33
34
43
38
-7
-13
68
133
26
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
17
14
25
30
38
30
34
44
24
49
26
7
104
70
77
-53
102
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
23
28
24
34
33
67
40
82
67
65
73
104
130
9
150
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
14
53
34
37
38
44
54
101
57
67
101
42
61
124
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
-51
9
-20
-3
17
22
34
36
28
56
49
62
45
32
98
84
62
104
52
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-38
-96
-1
54
62
-2
42
-6
104
24
77
31
57
61
62
123
66
59
71
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-34
-25
29
-15
-5
61
43
5
70
11
69
119
150
82
38
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
-1
-8
-77
46
12
74
-23
5
64
23
3
17
79
73
81
68
99
-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
3
16
71
53
0
13
70
33
70
-38
22
-6
72
75
33
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
24
65
-10
84
0
31
53
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
-25
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
-54
-69
-40
1
2
-32
-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
24
-34
-136
59
-52
10
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
46
-29
94
-3
-71
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
3
1
27
-28
-67
-58
-6
56
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
-19
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
50
9
-40
9
-74
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-32
-64
35
80
-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
-29
85
-80
-9
-7
-71
-53
3
53
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
40
-109
-10
-37
-7
-28
-73
67
9
0
56
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
-17
-15
-132
-52
-13
93
87
32
-34
-27
-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
4
8
-24
-17
-32
-15
4
-58
43
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
-18
49
-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
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
-40
55
2
33
90
-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
-68
15
41
-45
-131
14
-23
27
-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
-77
13
-63
-17
16
0
-160
-53
76
23
14
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
62
17
-42
-60
-23
-3
-86
14
-7
40
-13
-48
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
-2
-43
63
-40
11
-12
-40
15
5
19
80
20
-42
-29
-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
-9
-76
63
68
-21
-34
-50
109
-80
-5
132
-41
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
31
-2
-43
-7
-129
112
32
89
-9
-21
59
-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
-36
40
-13
-41
-18
73
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
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
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
46
30
-24
-185
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
-4
38
65
41
-10
-2
-80
-18
4
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
-60
-80
17
-27
-17
73
117
30
-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
-67
-75
13
-102
-18
32
-32
10
67
-4
54
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
-34
30
14
-3
97
42
-28
-52
-72
-29
12
24
6
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
-20
60
-40
-40
52
-89
50
-46
123
-51
-34
-30
86
-53
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
2
-58
-64
31
-8
13
-62
-20
41
-15
0
21
2
-14
73
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
-18
-42
-1
45
-44
101
-61
16
33
-24
138
-21
31
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-54
-117
49
51
-47
51
-18
43
85
31
53
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
34
-13
60
-44
-44
32
-19
14
49
16
53
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
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
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
5
13
-110
82
20
-4
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
-24
23
45
61
-42
23
40
-68
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
-64
-33
15
-15
-50
44
-47
19
10
43
-54
-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
-44
10
-27
16
-12
16
-29
-12
13
39
13
-45
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
-1
-7
-12
-31
-68
-66
-51
-105
11
74
133
41
83
5
-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
-76
-78
-58
77
-24
-25
15
-43
35
36
43
13
-6
-26
15
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
-35
-39
32
53
-63
6
-58
4
41
63
33
-37
-89
-22
-45
-5
-16
-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
-107
-24
-32
5
-100
-8
-71
32
-8
22
4
1
-1
-4
4
21
-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
-5
6
-50
10
-5
2
-38
2
-27
-6
21
-7
-46
10
62
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
-4
-40
10
-100
42
-62
-75
39
36
90
13
-90
-2
23
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
33
-27
-24
-11
-36
-13
44
-58
-25
-28
13
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
11
-3
93
8
6
-5
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
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
0
0
0
0
0
0
28
101
97
95
-9
-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
58
-3
140
26
5
71
57
-34
-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
71
-31
3
20
-3
-5
63
98
74
39
-49
-68
-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
-1
1
18
21
-17
19
-8
16
89
6
2
28
-23
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
-44
-31
0
-5
-11
14
14
67
19
37
24
17
-47
7
90
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
5
31
9
7
16
11
24
-56
-3
24
-37
47
47
1
27
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
15
44
32
4
7
20
21
6
12
-1
66
44
-44
41
53
-2
54
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
5
20
31
-33
-21
-27
-5
2
-4
-35
-16
40
-2
0
-27
38
74
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
53
9
2
31
-25
-51
80
18
9
-11
18
70
-2
-26
58
-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
2
-10
15
5
-13
5
47
58
31
-47
-53
53
28
27
-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
-17
31
-8
24
23
-4
14
47
-14
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
76
31
39
53
-23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-16
57
49
1
61
5
31
-5
41
-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
-7
-17
-1
-2
29
6
18
-30
39
34
-1
62
38
71
-33
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
-15
-25
-27
-5
-15
0
9
10
21
26
-25
14
-13
-17
50
-35
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
-10
-5
4
-2
3
-1
-2
0
-22
4
3
-36
-46
13
29
18
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
0
3
-25
-3
-1
-15
-1
22
19
-15
2
28
31
32
51
-44
-19
-32
45
-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
3
-26
12
20
-3
-8
14
62
-60
-37
-18
46
62
50
14
-3
-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
-1
25
-40
6
-15
-10
23
39
-1
4
-43
18
-23
26
-12
2
-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
-27
-34
-60
4
59
6
-34
30
32
27
-43
27
30
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
15
-17
15
-19
-11
18
1
8
-1
-14
-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
3
0
0
1
14
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-18
10
10
51
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
4
3
0
-1
-2
18
20
33
-14
68
116
-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
11
9
11
8
5
20
9
17
13
18
53
137
-26
-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
19
33
24
33
17
26
40
48
10
5
53
98
138
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
42
31
43
31
64
31
56
37
53
113
108
55
143
43
-4
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
85
75
51
63
97
38
53
33
83
95
27
51
159
-39
43
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
69
110
-5
34
97
71
87
0
43
3
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
-9
14
8
89
2
-9
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
-43
-7
-25
4
-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
39
17
10
0
5
9
-17
21
28
-24
-10
-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
87
74
69
51
31
35
47
14
-44
-61
-51
-10
-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
144
74
76
71
100
87
50
41
107
33
123
-35
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
103
77
94
98
95
156
140
105
37
-46
109
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
1
10
91
74
217
150
63
149
118
-37
31
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
34
-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
-12
102
38
-4
139
8
0
-37
44
8
-2
-1
0
-3
3
-86
0
4
5
0
6
-2
-26
-1
-2
-2
0
2
0
25
-2
0
0
0
0
0
0
0
82
0
2
0
0
0
-32
0
0
1
0
2
68
0
0
8
0
0
117
-1
-3
24
-36
2
0
28
110
23
0
50
0
93
12
-29
0
0
-58
8
10
0
16
-5
0
-50
0
26
2
2
0
0
25
0
23
0
-2
0
0
5
0
-6
0
-11
0
0
0
45
-12
0
0
-39
0
0
0
1
-3
51
59
40
108
-4
0
1
-12
7
0
23
-1
0
4
81
3
-2
59
24
0
53
-80
-4
5
-2
0
2
-11
56
0
-1
-106
-14
0
-26
-26
0
0
25
4
0
0
-18
0
-3
-6
3
-4
0
46
0
0
7
10
18
0
34
-36
-89
0
0
0
2
-24
30
-7
10
0
-2
67
-21
22
53
104
-20
-9
-31
13
0
-2
103
-2
-14
-14
44
2
23
-101
6
0
7
-53
0
56
-22
6
-5
3
-74
0
0
6
11
10
0
47
0
0
0
-6
-4
0
-32
0
-5
0
-2
51
0
73
0
0
0
0
0
11
-6
-24
18
-3
0
-2
-6
-102
-10
-51
17
0
0
-2
14
-23
-6
23
0
-3
27
-63
1
-53
63
0
1
-3
-35
0
-8
-78
-17
0
0
-48
-2
-33
15
-2
-6
0
-38
0
0
2
43
0
0
15
0
-45
0
0
0
0
-85
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
-99
0
0
0
0
0
-37
0
0
0
0
0
0
27
0
-4
0
0
60
0
0
0
2
0
0
-78
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
7
0
0
0
0
0
0
0
0
-26
-3
-2
-2
0
0
-9
0
0
0
121
0
0
1
-2
0
100
4
0
0
3
-1
0
0
-7
0
0
-1
-17
0
0
0
0
0
0
-51
0
0
11
0
0
0
39
0
15
0
0
0
0
13
0
0
0
0
0
0
9
0
-1
0
0
0
0
20
0
0
0
0
0
0
0
0
0
-1
0
0
0
-17
0
0
0
0
0
0
-14
0
0
-2
0
0
0
7
0
0
-1
0
0
0
-27
0
0
0
0
0
0
43
0
0
0
0
0
0
-5
0
0
0
0
0
0
-31
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
14
0
0
0
0
-5
0
0
0
0
0
0
-8
0
-4
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
-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
-57
14
0
1
11
0
0
5
3
0
0
-1
0
0
0
0
0
0
0
9
0
0
17
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
-9
31
-33
20
19
0
-6
3
0
-1
3
52
0
0
21
-1
0
0
17
0
0
6
7
0
9
-10
0
0
-7
-1
0
0
14
0
2
0
3
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
7
0
0
0
17
0
-32
58
85
-19
0
0
3
0
0
2
33
0
0
-18
19
0
-24
11
-9
0
13
16
0
0
-17
0
0
8
-13
0
0
7
11
0
0
-28
0
0
0
0
0
0
6
0
-44
-8
-1
0
0
-67
0
0
0
0
-5
0
14
-1
2
0
0
0
0
45
-10
0
5
0
0
10
-12
0
-7
13
5
0
0
-4
0
2
1
0
0
-8
74
0
0
-10
2
0
0
-12
0
-1
0
0
0
0
-10
0
0
1
-7
0
0
56
0
0
0
0
0
0
-33
0
0
0
0
0
0
-21
0
0
0
0
0
0
33
5
0
0
0
0
0
-5
0
13
3
0
0
0
31
0
-8
0
-1
0
0
-23
0
0
-2
0
0
0
-10
0
5
0
4
0
0
20
0
0
0
0
0
0
53
0
1
10
-2
0
0
-27
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
-6
76
-60
-46
26
-34
42
9
-24
72
41
14
26
-11
27
-18
1
-68
-34
-9
-15
-21
36
-103
-99
-80
-66
5
49
-115
3
-73
2
-33
27
-32
-56
-65
-2
-58
5
-24
-14
-48
7
-53
-19
-31
71
121
40
56
62
2
-16
61
30
34
14
-17
75
6
59
11
-97
7
-84
-15
72
-51
-10
-20
4
-68
6
-35
-50
-8
17
-26
38
-62
-16
-1
-73
-59
-80
-68
-10
-4
-5
-18
-23
-109
17
-9
12
-7
-100
-90
17
-33
-59
-29
-18
-47
-20
1
-29
-23
-59
7
-6
31
22
8
52
-11
-30
69
50
137
98
48
11
79
8
-14
-12
-4
9
0
-53
-6
4
-55
-1
-43
-7
0
-52
-9
-70
-19
-9
-19
-20
-82
-1
-32
-30
-25
24
25
-85
-2
-3
1
-17
-18
9
-53
-5
25
-41
4
-36
1
-14
28
-56
47
-30
-47
48
-21
12
-12
53
62
44
-10
-5
4
-89
-7
7
8
-26
-13
8
23
15
32
38
5
-53
-11
-29
-13
-14
-13
-10
-16
-17
28
-26
-11
-42
-68
9
-14
6
23
-36
-5
-31
-37
1
-101
-13
-15
-14
6
-5
8
-40
21
-23
-29
-2
-49
4
-23
-49
-24
-27
16
33
-29
-6
-15
-37
-32
-24
-37
-8
-42
-24
-13
-46
-71
-4
20
-13
-63
57
-24
-14
-33
-7
-18
-3
13
26
34
-46
-3
-35
-16
17
-1
17
29
3
-96
10
-1
-82
-80
-83
-14
-26
-50
-25
-45
-8
-18
8
-50
5
29
62
-23
-26
-55
-18
-4
-25
12
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
14
1
0
9
0
0
-120
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
48
0
0
-4
0
0
-25
0
0
0
0
-4
-2
102
14
1
0
0
61
-4
-3
-5
-20
0
3
58
-2
-6
0
74
0
6
21
-2
0
0
0
1
-2
-3
-18
0
1
0
0
17
0
-2
0
0
-2
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
29
0
0
0
0
0
51
-71
21
63
0
0
3
29
0
0
28
0
0
27
30
1
-16
-5
-5
0
-31
81
0
5
-32
0
4
6
-46
0
0
2
0
0
0
-31
0
0
0
0
0
0
-98
0
-23
0
18
0
0
72
0
0
0
0
0
0
-63
15
-13
0
0
0
0
-28
87
0
5
0
0
0
110
0
-10
19
35
0
0
24
0
-1
0
0
0
14
-59
0
46
27
0
0
0
-40
0
0
3
4
20
0
6
0
0
3
-1
0
0
-96
0
0
0
0
0
0
-29
0
0
0
0
4
0
-59
0
-1
0
0
0
8
43
-5
0
0
0
0
1
-50
9
31
0
0
0
0
16
5
-10
0
0
0
0
-13
0
59
16
0
0
0
-19
0
0
8
29
0
0
44
0
9
-2
13
0
0
-32
0
0
0
2
0
0
39
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
-10
-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
4
0
0
0
0
0
25
0
0
0
0
0
-3
14
0
0
0
0
23
0
0
0
-32
0
0
5
0
0
0
-23
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
49
0
0
-3
0
0
0
7
0
0
-6
0
0
2
0
0
-7
1
0
0
-3
-3
0
0
0
0
0
-3
9
0
0
-11
0
0
0
21
0
0
0
0
0
0
-1
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
24
0
0
0
0
0
0
16
0
0
-1
0
0
0
6
0
0
0
0
0
0
50
0
0
0
0
0
0
28
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
10
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
20
0
0
0
0
0
0
-9
0
-4
0
0
0
0
3
0
0
-3
0
0
0
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
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
16
0
0
0
0
0
7
0
0
0
0
0
-7
-5
0
0
0
0
16
0
0
0
-90
0
0
22
0
0
0
-1
0
0
-6
0
0
0
0
0
0
17
0
0
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
14
0
0
0
0
2
92
0
9
-6
0
0
-4
34
-2
0
28
0
0
48
4
0
7
13
0
0
1
58
0
0
11
0
0
-10
-3
0
0
0
0
0
0
44
0
0
0
0
0
0
14
0
-20
0
0
0
0
43
0
0
0
0
0
0
-20
0
0
0
0
0
0
-40
1
0
0
0
0
-9
45
0
0
-1
0
0
0
-33
0
0
-25
0
0
0
-88
0
0
2
0
0
0
-17
0
0
-3
0
0
0
2
0
0
-3
0
0
0
31
0
0
0
0
0
0
-39
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-46
0
21
1
0
0
0
19
0
0
0
0
0
0
1
0
-3
-1
0
0
1
-53
0
0
0
-1
0
0
-45
0
0
0
0
0
0
-48
0
0
0
0
0
0
11
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
-23
18
-68
1
48
-80
-3
-60
-14
-75
-49
-39
3
-30
-12
32
48
-11
-59
2
-35
0
-32
-8
-35
-22
-58
-32
14
-63
-15
-15
-31
-15
-61
1
14
-5
-5
0
14
63
-46
13
99
61
-14
4
8
-72
-10
-128
-14
13
98
51
46
-87
64
72
58
-58
33
-4
6
-36
0
-50
-18
30
-10
6
-12
-68
-55
3
-9
22
-63
-18
-36
-59
8
-31
30
-48
-57
-29
-63
-70
-36
-19
-47
-31
-27
13
-49
-32
1
-24
5
-22
-23
-5
-64
-56
75
65
9
-6
11
69
64
55
15
47
-8
35
-44
39
-2
-8
32
-8
13
-54
-12
-11
80
24
39
-101
35
-21
-32
-46
-25
-24
-36
-3
17
-24
-8
25
-31
-63
-45
-35
-10
-45
-29
-79
10
-34
38
11
-55
-96
-90
40
-44
-18
27
15
-3
-19
75
6
-31
71
-3
89
37
-122
54
48
24
10
3
30
-14
38
5
8
16
35
44
51
16
-32
0
42
-19
19
-19
-26
15
-15
14
71
3
6
-4
12
-21
-21
-90
-24
-5
17
-6
0
-13
-81
-53
9
5
-11
-21
-60
-92
-5
15
-14
0
12
-19
-59
-33
69
9
0
61
-46
-87
-32
83
28
80
30
-25
-54
7
19
-38
-16
13
8
9
6
56
23
19
-18
-86
2
-5
-55
-21
-10
-23
-8
37
81
16
-4
5
-8
76
-26
-4
63
-12
-125
-12
-13
23
-55
52
17
-45
2
85
-43
-59
-9
10
-26
-11
32
52
14
-47
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-4
0
0
0
0
-10
-25
-25
2
0
26
-4
23
-4
-1
0
0
0
0
-15
0
-15
14
0
0
26
0
0
1
0
32
0
0
-3
0
0
-23
0
0
1
0
2
0
-6
6
-25
0
0
-16
0
24
-1
-16
30
0
-61
0
14
16
-52
-3
27
-46
-3
0
2
7
-60
1
-52
34
9
0
-5
-1
-14
-5
15
-1
0
2
-5
1
-3
2
0
0
8
0
-24
0
8
0
0
1
5
-57
0
0
75
0
0
0
17
8
56
6
64
38
17
0
21
69
-4
0
25
0
0
-14
0
-5
37
21
36
-1
-15
-38
0
-13
-27
6
34
1
-69
0
0
-23
-17
-6
-1
-53
0
0
5
0
21
0
-3
0
70
8
20
0
0
-8
0
-8
0
20
0
0
41
-34
13
0
-8
0
0
47
6
0
13
20
26
30
3
-4
29
-24
73
6
31
0
-7
26
29
0
7
31
-44
0
-12
-3
25
15
-20
-2
5
6
-60
9
5
0
-1
0
0
27
65
16
0
-57
0
0
3
4
-11
0
48
0
3
0
19
-55
0
52
0
0
0
0
-8
5
42
-3
1
0
0
0
-11
-23
-1
7
8
0
0
19
0
8
32
5
-29
-9
-4
26
-1
14
5
20
-9
-3
-97
0
55
-21
16
-8
2
-32
0
87
-16
3
13
0
19
0
0
-8
-10
5
0
22
0
73
0
0
-7
0
52
11
0
0
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
-1
-18
0
0
-3
5
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
85
0
0
0
0
0
-52
0
0
0
0
0
-6
31
2
1
0
0
-67
0
0
0
50
-4
0
-54
2
0
0
60
0
0
97
128
0
0
-11
18
-2
-16
0
0
0
-7
0
21
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
9
0
0
0
10
0
47
-43
142
-16
1
0
-64
43
0
0
25
0
0
-58
-45
0
-42
-5
-9
0
58
-26
0
11
1
0
0
-30
6
0
0
0
0
0
0
-26
0
0
33
0
0
0
-5
0
91
0
1
0
-1
-40
0
0
0
0
0
0
43
0
1
0
0
0
0
51
55
5
0
0
0
0
-5
-6
11
32
0
0
-3
-7
0
0
-9
0
0
-20
47
0
31
4
-1
-13
-5
22
0
1
-3
1
-2
0
-34
0
-2
45
-34
16
0
19
0
0
-1
0
-1
0
54
0
0
0
9
8
0
63
0
0
0
0
0
0
58
-4
13
0
0
0
0
14
0
-60
19
0
0
0
17
0
-15
4
0
0
0
-20
0
-7
-7
0
0
0
-31
0
0
3
8
0
0
3
0
26
-2
-2
0
0
-17
0
0
5
13
0
0
-52
0
-5
0
0
0
0
-7
0
0
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
0
16
-5
2
0
0
0
-3
5
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-5
0
0
0
-75
0
0
5
0
0
26
0
0
0
0
-1
1
-21
0
8
0
0
0
0
0
0
54
4
0
89
0
0
0
31
0
0
-67
1
0
0
-10
-18
0
24
-24
0
0
-6
0
6
0
0
0
0
8
25
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
45
0
0
-19
0
0
0
-4
0
13
66
24
7
-2
0
-9
59
0
0
-14
0
0
16
55
0
-2
-8
-1
0
-21
-44
-2
0
45
0
2
-1
63
0
0
4
-5
0
-3
28
0
0
20
0
0
0
-4
0
86
0
6
-8
0
113
0
0
0
0
0
0
-60
-7
10
0
0
0
0
-15
23
0
0
0
0
29
-158
-4
0
-4
5
0
-17
17
0
0
15
0
0
1
5
-2
0
-30
-11
0
1
4
0
0
-2
0
0
0
-24
0
14
0
-2
0
0
-104
0
0
0
0
0
0
42
0
0
0
0
0
0
-15
0
0
0
0
0
0
-14
0
0
0
0
0
0
15
0
3
0
0
0
0
-43
0
2
0
0
0
0
25
0
0
7
0
0
0
-39
0
0
0
-8
0
0
-62
0
2
0
1
0
0
-53
0
0
-11
0
0
0
8
0
3
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
55
-53
2
-22
2
-19
-88
41
57
20
25
-10
-22
10
-54
-7
-2
-1
3
-47
-13
97
4
14
28
-33
-10
0
78
0
-2
0
0
24
0
0
-2
0
0
0
5
-21
38
37
5
3
0
-3
-91
-35
25
8
48
-4
-55
83
44
2
-6
81
18
58
-22
27
-23
32
20
-27
-28
6
-6
14
0
-74
-5
4
20
-75
21
-2
-6
5
-3
14
-111
0
10
3
3
-10
1
53
5
0
19
19
-19
-1
-3
-9
0
-2
16
8
5
29
68
-34
-28
17
0
-64
26
80
14
-31
-2
-1
-27
1
-52
-38
-13
6
26
31
-18
44
-52
-16
-1
-9
20
-10
31
25
3
-29
59
93
4
0
14
-24
-6
-38
3
6
3
16
29
-11
81
-43
3
-1
27
-10
5
-16
1
8
-29
-2
0
-24
5
1
41
0
-10
69
-16
-1
17
11
46
-3
11
48
17
-7
11
-6
-59
40
-5
-34
36
-12
44
-4
-25
43
71
-25
12
5
-24
2
-12
23
-31
14
-14
-9
-31
29
-16
15
5
0
-5
15
-47
22
-13
-4
0
-2
52
60
2
0
-3
10
0
0
5
15
14
15
13
0
-13
-77
0
-100
-41
-40
25
-9
5
27
80
-4
22
-54
-11
0
75
13
-15
-33
-84
56
32
-8
-15
-1
21
91
-42
-38
16
41
24
2
-63
-53
-11
23
32
-4
5
-31
15
-19
4
7
-4
0
-84
-29
-15
-100
0
-20
-22
6
-4
-89
-2
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
-23
0
-1
6
100
5
0
-6
0
-8
-24
9
0
0
0
0
15
0
1
-3
0
0
0
-7
0
0
0
-19
0
0
-33
0
0
-6
0
0
0
0
3
0
42
0
4
0
0
-59
9
-3
0
-46
0
0
-23
0
0
0
5
0
-2
3
-7
0
0
33
0
9
-59
-25
0
-7
4
0
2
9
0
0
0
-19
0
25
-9
-3
0
0
0
16
-18
0
-13
0
0
0
0
39
0
0
-56
0
0
0
45
0
-3
-32
69
-11
0
0
-5
43
0
0
-23
0
0
41
-9
0
61
7
0
0
-40
-12
0
3
-29
0
-2
-21
-35
0
0
-27
0
0
-20
-5
0
0
20
0
13
1
23
0
-39
33
2
6
0
28
10
0
0
0
8
0
-42
71
-9
0
0
-3
0
26
14
0
2
0
0
31
7
0
4
64
1
-2
-59
-10
0
14
-1
0
0
6
9
0
-5
-4
0
0
-8
7
0
-1
-8
0
10
-3
-70
0
-1
36
0
-4
0
-5
0
0
101
0
55
0
59
0
0
5
0
-5
0
-3
2
0
0
0
5
0
-39
23
6
0
0
0
0
113
0
-31
-5
0
0
0
-10
0
-4
1
0
0
0
19
0
5
-3
0
0
10
-5
0
-14
-2
0
0
0
128
0
34
-45
0
0
0
-17
0
0
0
13
1
0
73
0
-12
-9
0
2
0
-91
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
-33
9
0
0
0
0
0
3
1
0
7
3
0
0
-2
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
14
0
0
0
0
0
-38
0
0
0
0
0
-3
14
0
-1
0
0
41
0
0
-7
2
-1
0
-5
0
-15
0
-2
0
0
-15
-4
0
0
14
25
0
21
-9
0
0
-1
0
0
-36
0
0
0
0
-15
0
-15
-1
0
0
0
-5
-15
0
-8
0
0
0
-1
5
0
0
-64
0
0
0
6
-1
32
7
-19
-6
0
0
-85
3
0
0
48
0
0
13
118
0
-16
-44
0
0
-66
35
0
-11
-28
0
0
54
-17
0
-7
48
4
0
-10
-5
0
0
-21
-2
0
0
-10
0
-171
-1
-10
0
0
53
0
0
0
1
0
0
55
15
14
0
-8
0
0
-5
35
0
19
4
0
30
21
-8
17
-3
40
0
65
57
-3
7
-6
0
0
24
10
-3
10
57
-7
0
-4
13
0
0
67
0
0
11
13
0
0
-7
-5
0
0
26
0
-2
-5
0
0
0
-110
0
0
0
0
0
0
-42
0
0
0
0
0
0
29
13
-4
25
0
0
4
69
0
-26
13
0
0
-1
63
0
2
9
2
0
-5
-12
1
-13
31
0
0
-31
-16
0
14
47
1
0
0
-37
0
3
-25
0
0
0
-48
0
0
6
15
0
0
-40
0
11
-3
0
0
0
14
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
0
0
0
0
0
0
0
0
-15
106
12
3
29
23
-12
22
71
-8
0
-10
-47
5
-31
-37
5
-7
13
-35
-60
0
75
0
13
1
-2
-62
0
16
-1
0
0
-5
-10
-19
-98
18
-20
-36
5
7
-106
-26
103
-13
31
30
-49
-50
-74
-36
-5
-22
11
38
-1
42
40
11
-16
19
58
17
-26
-16
-10
-73
40
39
52
-17
7
0
-23
-2
8
67
0
-2
-1
-10
-16
-9
-4
-23
-1
0
26
-22
-7
0
-4
-23
0
10
-35
-33
-14
16
21
-36
37
-23
-4
-7
21
-16
16
61
-9
34
17
14
-13
-2
23
1
15
-8
25
-2
-35
5
-18
-68
-13
-9
-10
-7
4
-15
44
6
9
0
-20
-5
14
-15
33
13
-4
2
-14
12
32
-6
1
39
5
46
8
-26
0
12
14
64
0
97
0
8
0
-14
13
-41
-19
8
-44
-12
23
-86
-23
18
19
34
8
41
28
70
3
5
-33
2
7
54
63
-11
-72
-4
-13
-10
12
23
-17
-5
-68
-4
-2
8
20
21
43
0
7
-2
4
-25
-14
17
-4
-4
-11
-2
28
-16
-4
0
-45
23
-2
0
21
39
-3
11
-108
-7
4
-14
-4
-43
15
76
72
42
-8
48
-109
3
71
-90
32
42
29
23
-15
62
-111
13
9
-34
-23
-35
-25
24
39
1
-20
54
-21
-7
-27
-18
14
59
23
-15
-4
4
-64
14
68
-1
2
-5
-51
8
65
45
0
-74
46
2
9
-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
45
-4
8
-10
-4
17
-55
4
21
0
0
2
0
-2
0
4
0
0
0
0
0
0
1
0
52
0
0
-11
0
0
-24
0
0
0
0
0
7
86
0
-9
0
0
86
16
16
5
15
5
-2
-64
31
-3
13
-64
-18
-9
48
0
19
8
4
43
-60
-49
27
0
11
32
-4
21
-6
48
-1
1
-4
-5
-31
9
-7
0
0
-1
3
-4
0
5
0
0
0
-30
-24
0
0
-4
0
0
0
-9
0
-63
29
64
32
26
3
-66
2
1
0
9
-2
0
-14
0
0
60
65
-33
4
-34
0
3
100
-71
2
-20
115
13
0
6
-29
25
0
6
33
0
-1
-14
0
-8
0
-9
0
-60
-3
4
0
0
-22
0
0
0
0
-60
0
33
71
9
0
45
0
0
-65
-60
-6
10
0
-1
11
-33
-10
-41
-23
-32
0
-43
30
0
2
19
0
-3
19
0
-1
-13
85
-103
-1
-5
18
0
-3
-39
43
-5
2
-17
0
1
112
-63
-2
0
20
0
0
5
0
10
0
-1
0
0
0
-6
1
0
48
0
0
0
0
0
2
-21
-13
0
0
17
0
-4
-14
-19
94
-14
0
0
-5
-39
0
-65
47
22
1
53
0
-1
-28
84
1
8
-1
-39
4
-15
18
33
0
3
4
0
1
-6
-21
2
0
5
0
0
-9
23
2
0
-29
0
-83
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
4
0
0
0
0
0
19
0
0
0
0
0
6
22
0
0
0
0
-32
0
0
0
107
0
0
30
0
0
0
-10
0
-22
36
-14
0
0
15
-3
1
46
153
0
0
34
0
8
-1
-1
0
-1
-3
0
0
0
-2
0
0
0
0
-6
0
0
0
0
0
6
14
0
0
44
0
0
0
-5
0
41
-15
92
-54
0
0
39
65
0
0
-2
0
0
-19
-82
0
-27
-64
-64
0
-53
-140
0
-8
27
0
0
-4
28
0
25
11
0
0
0
16
0
0
-1
0
0
0
-19
0
-68
0
29
0
0
-49
0
0
0
0
7
0
-26
5
-4
0
0
0
0
78
-15
-10
3
0
0
10
49
0
8
133
94
0
0
-59
0
-1
-23
0
0
-4
-65
0
-17
-50
6
1
0
5
0
0
24
0
0
0
73
0
0
0
16
0
0
12
0
0
0
0
0
0
-75
0
0
0
2
1
0
-29
0
0
0
0
2
0
-14
1
0
-1
-3
0
0
-5
0
-24
0
0
0
0
-49
0
1
1
0
0
0
-56
0
20
-1
0
0
15
-54
0
-2
0
1
0
0
6
0
3
-1
0
0
0
-15
0
0
0
-2
0
0
20
0
4
0
0
0
0
-19
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
15
0
0
0
0
0
-1
-81
0
1
0
0
41
11
0
0
42
0
7
-138
0
0
0
60
0
0
45
-14
0
0
-1
6
-1
5
-11
0
0
5
0
0
1
0
0
0
0
13
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
6
0
0
0
9
0
-104
45
4
-13
0
0
1
-20
0
0
6
0
0
-13
100
0
5
-52
1
0
66
-20
0
0
43
0
0
14
37
0
0
0
-8
0
0
-14
0
0
8
0
0
0
97
0
-8
0
-4
0
0
85
0
0
0
0
0
0
-68
-6
18
0
0
0
0
-11
-1
0
2
0
0
-6
10
-2
0
-4
3
0
0
5
0
0
5
0
0
-2
4
1
4
-3
21
0
0
72
0
0
2
0
0
0
25
0
0
-3
-5
0
0
-21
0
0
0
0
0
0
43
0
0
0
0
0
0
78
-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
10
0
0
0
32
0
-6
-6
-6
6
0
-63
0
0
-1
0
1
0
-22
0
0
0
0
0
0
-34
0
-9
-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
9
0
42
-4
-5
-4
-5
0
0
0
0
0
6
0
0
0
0
0
0
0
0
6
0
0
-4
0
0
-15
0
0
0
0
-2
13
33
0
1
0
0
11
27
0
1
-61
18
0
-33
0
-3
0
45
0
4
8
21
-6
0
-33
51
39
-5
65
0
4
-11
0
4
5
-15
0
0
0
16
-20
4
9
0
0
0
0
8
0
9
0
0
0
0
20
0
0
-27
0
0
0
14
0
34
-61
-16
16
0
0
-5
11
0
0
32
0
3
83
6
0
76
53
31
0
58
-5
-13
2
-17
0
9
-2
36
0
4
-6
7
0
-7
14
0
0
0
0
0
0
-48
0
20
0
-23
0
0
8
0
0
0
0
8
0
41
-19
-6
0
0
0
0
1
77
3
0
0
0
-3
-51
46
1
-41
61
-3
0
-55
0
0
-14
0
0
-2
-33
-1
0
27
82
-8
-18
17
0
3
5
15
0
-3
34
0
0
10
-18
0
0
42
0
0
0
0
8
0
-24
0
0
0
0
33
0
23
0
0
0
0
0
0
-50
-4
0
0
0
0
0
-4
0
19
0
0
0
-3
-72
0
-3
0
0
0
7
-68
0
-1
-9
0
0
20
48
0
-9
0
-41
0
0
-30
0
21
0
0
0
0
-46
0
1
0
-47
16
0
-7
0
15
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
-17
0
0
-6
0
0
26
0
0
0
0
0
0
5
0
0
0
0
49
0
0
0
-14
0
0
44
4
0
0
11
0
3
-29
-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
9
0
0
0
0
0
0
73
0
0
4
0
0
0
0
0
24
0
4
8
0
0
-11
-68
0
0
-5
0
0
-6
-17
0
-6
-14
0
0
-45
22
0
0
1
0
0
0
6
0
0
-3
0
0
0
-52
0
0
6
0
0
0
11
0
13
-5
0
0
0
-18
0
0
0
0
0
0
62
1
3
0
0
0
0
-18
-4
0
0
0
0
0
83
0
23
-4
0
0
0
-69
0
0
-1
0
0
14
-15
0
0
-43
0
1
15
5
0
0
-2
0
0
0
118
0
0
11
0
0
0
-40
0
0
0
0
0
0
-34
0
0
0
0
-2
0
-135
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
-2
0
-6
0
0
0
0
0
2
81
0
0
15
0
0
0
57
0
0
0
0
4
0
8
0
0
-10
0
0
0
-14
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
-9
15
0
0
1
-8
0
7
37
0
0
0
0
0
0
5
0
0
0
43
0
0
0
0
18
0
0
0
0
0
24
0
0
0
0
0
15
40
0
-11
0
0
-92
0
-10
0
-38
0
0
-61
2
-10
0
9
0
-5
1
15
0
0
-48
-36
4
15
82
0
0
-9
0
0
-44
4
0
0
-2
-23
5
7
-3
0
0
-1
0
-1
0
34
0
0
0
23
2
0
0
11
0
0
0
0
4
36
68
56
-45
0
0
99
65
-1
0
74
0
0
-50
-21
0
33
-4
78
0
-27
-89
0
-6
-16
0
0
-39
-15
0
0
26
3
0
72
-65
0
0
-34
0
0
24
97
0
13
43
1
0
0
14
0
4
0
4
0
0
33
6
-27
0
-2
0
16
12
47
0
-2
0
0
21
32
0
-16
-8
98
0
16
13
0
-1
83
0
0
7
-65
0
-15
75
-61
0
56
-16
0
5
-4
0
0
-19
35
0
0
31
30
0
3
63
0
0
-27
8
0
0
58
0
0
0
-44
0
0
41
6
0
0
0
0
0
8
-3
0
0
-4
0
0
33
0
71
-1
0
0
11
44
0
-20
-29
-5
0
10
-19
6
-1
66
0
0
14
-29
0
14
54
31
0
6
45
0
91
7
0
0
0
-13
0
0
-7
36
0
0
-13
0
-22
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
-112
160
0
0
0
11
21
0
-33
5
0
13
0
6
0
10
0
-25
0
0
-24
0
0
-70
0
0
0
0
0
-27
-1
0
-3
0
-7
83
5
0
0
-7
-53
26
4
-2
-9
0
-27
0
33
-110
85
-6
0
4
-19
75
-93
21
16
2
-15
0
5
1
28
0
0
-18
-24
-6
29
5
0
0
-6
20
-28
0
-43
0
0
3
1
-38
0
0
-42
0
0
-1
29
6
25
35
-77
16
-1
0
14
18
0
0
17
0
-7
-39
21
-1
114
35
38
17
-36
25
0
0
-13
-8
0
44
-7
0
0
-8
-34
22
0
10
0
0
-57
0
0
0
5
-2
-53
21
-14
8
0
-30
0
0
1
1
-14
0
3
17
5
0
-3
-1
0
-24
-2
0
-1
0
4
-2
-46
-14
56
24
-31
7
0
28
0
-7
59
-6
-5
-23
2
-10
9
27
20
-3
-15
17
-5
2
8
4
11
0
-8
0
0
51
20
6
0
22
0
0
-22
0
-2
0
-41
0
0
3
-31
-19
0
-23
1
0
0
1
-4
0
-101
6
25
0
-3
0
0
-6
0
-9
0
0
20
0
48
0
7
76
-18
-17
13
30
3
-25
-30
-5
-19
0
6
-2
-36
-46
37
5
0
-4
0
25
50
0
5
0
-4
-8
-2
-11
4
25
0
-6
0
-8
0
0
32
0
-48
-8
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
-11
4
0
0
0
2
-18
0
-7
0
0
0
6
-3
0
-2
0
-61
0
0
-18
0
0
-83
0
0
0
0
-7
7
42
0
-9
0
0
-40
-6
31
27
28
4
-2
-2
18
11
0
34
5
-14
33
-56
0
-11
41
9
7
43
0
-26
23
100
0
17
79
11
0
-1
-10
-11
44
0
69
0
0
0
3
31
0
-43
0
0
0
-27
-38
0
0
-71
0
0
13
-7
11
5
34
25
-73
-4
0
33
28
8
-1
65
0
0
4
-17
5
12
37
15
0
-26
-8
17
-25
36
0
-7
-48
0
5
-13
62
6
14
-2
-77
0
-2
-26
-1
1
0
-23
0
-33
-4
4
0
0
5
0
0
0
0
-24
0
13
-48
23
0
-2
0
0
-6
54
-18
-25
0
0
-22
-4
-64
47
106
-1
43
-90
65
0
4
12
0
0
-33
-29
23
127
-8
42
-17
-49
0
-17
3
-14
-7
53
30
-7
0
0
-90
-2
4
0
19
0
0
-5
-1
43
0
-14
0
-1
2
9
-104
0
-44
0
0
0
-1
-14
0
-2
25
3
0
-14
0
1
56
9
-82
-22
0
0
-9
98
5
11
-51
18
0
-16
-58
10
-33
43
-9
-4
31
0
11
33
-39
1
5
-1
-69
0
-81
-25
-11
0
0
21
0
0
-2
13
2
0
-14
0
-22
0
0
5
0
-73
-14
-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
34
4
0
0
0
0
2
2
-8
0
0
0
0
0
0
0
0
43
0
0
18
0
0
-35
0
0
0
3
0
13
-5
0
0
0
0
32
0
0
-2
14
0
0
-66
0
0
1
8
0
-9
34
5
0
0
24
62
4
62
-41
0
5
53
0
-5
-18
32
0
0
0
13
-16
8
16
0
0
0
0
-5
0
0
0
0
-4
0
-9
0
0
-16
0
0
0
9
1
28
-26
43
57
0
0
26
1
0
-3
37
0
0
61
2
0
16
28
-41
0
29
34
0
0
-2
0
-2
53
-71
0
0
5
-6
9
-2
12
0
0
9
0
0
-14
34
0
-1
-5
1
0
0
102
0
0
0
0
3
0
95
5
46
0
0
0
0
-18
0
10
0
18
0
0
30
0
1
14
1
0
-17
18
0
-3
1
0
-11
-13
-51
0
1
2
-7
0
1
-102
0
0
-4
0
0
-20
-6
0
0
-8
-1
0
0
4
0
-2
5
-2
0
0
10
0
1
8
-17
0
0
32
0
1
0
0
0
0
15
-10
-1
1
0
0
0
-37
0
-33
0
0
0
-2
-2
0
0
0
8
0
0
62
0
-19
3
0
0
0
2
0
2
-4
-9
24
0
26
0
-5
0
1
0
0
41
0
0
-6
2
0
0
58
0
53
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
-1
0
0
-10
0
0
0
0
0
0
-20
0
-6
0
0
-42
0
0
0
-30
0
-2
-62
0
0
0
-5
0
-15
-39
-5
0
0
61
33
2
-6
39
0
0
0
0
11
11
0
0
0
0
26
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
36
0
0
-1
0
0
0
0
-4
-36
-21
-1
4
0
0
-9
44
6
0
5
0
0
48
-29
0
43
11
-27
1
-43
-53
0
0
21
0
0
8
-28
0
0
9
-1
0
0
45
0
0
1
0
0
0
-31
0
-35
0
5
21
0
48
0
0
0
0
0
0
11
14
1
0
0
0
0
20
0
0
0
0
0
17
-36
0
0
-3
-8
0
0
55
0
7
9
0
-14
-4
10
0
0
-43
0
0
0
30
0
0
-1
0
1
0
28
0
0
5
93
0
0
1
0
0
4
0
0
0
-50
0
0
0
3
-2
0
45
0
0
0
0
0
0
1
0
0
0
0
0
0
58
-7
32
0
0
0
0
3
0
-3
-1
0
4
-3
57
0
-7
-17
0
0
0
14
0
0
0
5
0
0
-9
0
0
-2
0
0
0
70
0
0
0
10
-2
0
-44
0
7
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
-33
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
40
0
0
0
0
0
11
2
0
0
0
0
23
10
3
0
55
0
0
-52
0
0
0
36
-1
56
-91
14
-1
0
-11
73
5
64
17
0
0
0
-2
35
-4
-8
0
0
1
74
33
-1
0
0
0
-7
0
3
0
-3
0
0
0
1
-4
0
0
-5
0
0
0
-7
-5
-6
-25
-43
-21
0
0
36
-41
-2
0
32
0
0
-51
66
0
-63
-15
-27
0
63
-40
0
0
-13
0
0
57
-6
0
0
-3
81
0
15
-22
0
0
0
0
0
0
69
0
55
0
-4
0
0
-39
0
0
0
0
-8
0
-29
3
2
0
0
0
0
9
-11
0
3
0
0
8
11
6
0
-5
-2
0
14
-16
0
-6
20
0
0
-25
-5
0
0
-71
0
-2
-6
-17
0
1
-3
2
1
9
-20
0
0
0
24
0
-6
-19
0
0
0
0
-1
0
53
0
10
0
-6
65
0
-47
0
0
0
0
0
0
23
0
0
0
0
0
0
25
0
-16
0
0
0
0
62
0
0
3
0
0
0
26
0
0
0
0
0
-3
-69
0
0
1
0
0
-2
-80
0
-16
0
0
0
0
-63
0
0
1
0
0
0
-5
0
-17
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
33
0
-3
0
0
-1
0
-40
0
0
0
17
0
0
-3
0
0
-22
0
0
0
5
-2
14
-6
0
1
0
8
13
-5
0
10
-40
0
-5
-27
-9
0
0
69
0
14
-17
-6
0
0
-42
0
-32
13
-40
6
0
-57
0
-37
-64
-3
0
2
-65
0
-87
-29
-8
0
0
8
0
9
-9
23
0
0
0
0
6
0
27
-10
0
0
0
-41
0
-48
42
-93
72
0
0
19
-10
-7
0
-16
0
-5
-13
-38
0
-68
-20
0
-6
3
26
2
2
19
0
1
-4
-15
0
0
37
0
-30
6
-19
0
0
-20
0
32
-6
-104
0
-62
-17
0
49
-14
8
0
-2
0
0
-37
0
12
3
22
0
0
-1
0
-55
43
6
1
0
0
-63
-8
-8
15
34
0
0
3
19
0
7
-14
0
44
53
26
2
0
0
0
20
81
5
0
-1
56
0
-47
-33
-6
0
0
39
0
-14
-2
26
0
0
53
0
32
0
-3
0
0
0
0
48
0
-1
1
0
0
0
20
7
-21
3
0
-2
0
0
0
25
2
-13
-10
0
0
-2
21
0
23
2
0
73
13
1
0
-44
22
0
6
-4
-20
0
3
-8
0
-13
-5
-40
0
70
-80
0
2
0
36
0
0
-80
0
53
0
-9
0
-38
-1
0
10
0
0
10
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
0
0
0
0
0
0
0
-20
-11
0
0
0
0
0
-1
3
0
3
0
0
0
0
0
0
45
0
0
0
0
0
27
0
0
-2
0
4
68
-22
0
2
0
0
25
8
0
16
-14
1
0
27
-7
0
0
0
0
0
-94
-27
0
0
-68
-23
0
29
-15
-14
0
27
6
0
72
15
0
0
-14
1
-1
24
68
0
19
7
0
0
-5
8
0
0
4
-5
7
0
0
28
0
0
0
29
1
36
31
-51
-41
0
0
92
64
3
0
-1
0
0
-17
-30
0
10
14
2
0
-48
-38
0
-5
-19
0
0
-38
-112
0
19
-35
9
0
22
-76
0
1
66
0
0
-3
59
0
25
60
-39
0
0
85
0
0
0
0
0
0
-9
22
-49
0
5
0
0
68
-87
0
4
0
0
88
0
9
45
14
6
0
-19
-34
0
25
85
0
0
85
10
0
0
51
3
0
-4
-13
11
22
28
0
0
-8
-34
0
0
68
-3
0
10
3
0
0
-11
0
0
0
26
0
0
0
58
0
0
5
-7
0
0
-1
0
0
45
19
0
0
0
0
-8
-2
-9
30
9
0
0
-1
16
-3
0
-45
22
0
33
10
0
-6
-11
-1
0
8
-2
0
5
18
31
0
0
13
0
-8
-18
0
0
0
-49
10
0
54
43
0
0
12
0
26
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
23
3
0
25
-23
23
0
0
0
-10
0
0
-2
0
0
-14
0
0
0
-23
0
-11
-12
0
0
0
0
-113
6
-8
0
-20
-87
-19
-31
16
0
0
-56
0
-2
-125
8
8
0
-44
-27
-2
-105
57
0
0
-44
-1
-18
0
-14
0
0
55
-31
30
0
18
0
0
7
10
14
0
24
0
0
0
-15
4
0
0
-133
0
15
-3
-87
0
-12
20
-14
-32
-3
0
2
-5
0
0
53
0
0
-43
-10
-4
32
40
7
9
23
-3
-1
0
-32
0
29
-13
15
0
1
9
-10
-5
0
-17
0
0
5
0
-18
0
0
0
-13
-1
6
-3
0
5
0
0
-9
0
3
0
12
-15
-7
0
-7
0
0
-63
-5
0
0
0
0
0
-31
-24
-20
-71
17
7
0
-22
0
-2
-112
0
-14
3
4
-3
62
24
66
0
3
-6
0
22
16
-5
-5
7
-4
0
0
23
-39
-55
0
-14
0
0
32
0
-4
0
-1
0
0
-3
-71
27
0
-34
0
0
0
35
-1
0
-70
6
0
2
-72
5
0
-47
0
81
44
-4
0
0
-21
0
-3
20
50
-68
7
-53
0
1
-51
0
1
0
-27
-3
2
35
35
-32
0
-15
0
-20
-32
0
13
0
-5
0
-9
10
-2
-8
0
22
0
71
-17
-9
-25
0
-78
-9
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
-4
0
0
-143
0
0
0
0
0
9
-14
0
-2
0
0
-12
1
-6
-2
9
-4
0
-43
25
0
0
-54
0
-7
-11
25
0
-17
26
108
5
-24
-32
0
0
52
0
7
73
0
0
-1
-3
0
11
-2
1
0
0
0
0
-5
0
5
0
0
0
2
5
0
0
49
0
0
0
-3
0
0
-37
22
51
0
0
76
-40
4
2
-52
0
0
34
48
0
-26
51
-29
0
-54
-18
0
0
0
26
-2
-33
-3
0
0
-26
-4
0
-5
0
0
4
-8
-1
0
0
-10
0
-2
0
-2
0
0
26
0
0
0
-1
6
0
62
18
31
0
-2
0
1
-24
6
6
1
0
0
2
31
-2
-31
-14
19
27
-1
6
0
18
5
0
0
56
-4
3
-71
48
15
-1
-1
17
0
1
10
0
0
-5
0
0
0
-33
-32
-1
0
5
1
0
0
-1
-5
0
-11
0
0
0
14
-9
0
-11
0
0
0
-3
0
0
-43
-15
0
0
0
0
-1
-52
2
18
-1
0
0
0
-98
-2
-4
4
-1
0
-13
14
-4
20
14
0
0
-8
-5
0
2
-23
-18
0
0
0
0
-4
9
0
0
0
-38
0
0
1
34
0
0
-20
0
23
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
-3
0
0
0
0
0
-49
0
0
0
0
4
0
-44
0
2
0
0
-16
0
0
0
-3
0
0
63
1
0
0
-5
0
0
-15
0
0
0
0
-6
-2
14
-2
0
0
0
0
-13
0
0
0
0
0
0
19
0
0
0
0
0
0
-13
0
0
0
0
0
0
-21
0
0
-4
0
0
0
5
0
29
0
-2
11
0
0
-2
2
0
0
53
0
0
7
20
0
-2
-3
0
0
-5
7
0
0
-1
0
0
0
34
0
0
0
0
0
0
-24
0
0
10
0
0
0
3
0
-20
0
-1
0
0
-39
0
0
0
0
0
0
53
0
0
0
0
0
0
-55
1
0
-2
0
0
0
-32
0
0
1
0
0
0
-102
0
0
-7
0
0
0
13
0
0
-3
0
1
0
-9
0
0
0
0
0
0
-11
0
0
2
8
0
0
59
0
0
0
0
0
0
-8
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
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
14
0
7
20
0
0
0
-9
0
0
0
0
0
0
65
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
-16
0
0
0
0
0
-61
0
0
0
0
0
0
-104
0
0
0
0
41
0
0
0
-57
0
0
-105
0
0
0
-1
0
0
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
0
0
0
-1
0
0
0
0
0
-50
0
9
-1
0
0
-3
-1
0
0
2
0
0
0
24
0
-1
-4
0
0
20
-45
0
0
2
0
0
0
9
0
0
-1
0
0
0
-43
0
0
0
0
0
0
3
0
57
0
0
0
0
-14
0
0
0
0
0
0
-81
0
0
0
0
0
0
5
0
0
0
0
0
0
-15
0
0
0
0
0
0
-36
0
0
0
0
0
0
128
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
29
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
-1
0
0
0
0
0
0
-2
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
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
81
0
0
0
0
0
-30
0
0
0
0
0
0
14
0
0
0
0
17
0
0
0
45
0
0
-80
0
0
0
-1
0
-1
-21
29
0
0
-2
9
0
-5
-3
0
0
-1
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
-77
1
2
0
0
0
-1
10
0
0
1
0
0
-5
5
0
-7
7
0
0
4
-3
0
0
0
0
0
0
50
0
0
2
-1
0
2
-19
0
0
-4
0
18
0
26
0
4
0
0
0
0
14
0
0
0
0
0
0
-8
0
-2
0
0
0
0
-51
0
0
0
0
0
0
-33
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
11
-73
0
0
2
3
0
0
1
0
0
0
-6
8
0
-1
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
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
17
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
4
0
0
-17
0
0
0
0
0
1
71
0
0
0
0
16
0
0
0
-65
0
9
-52
0
0
0
2
0
-1
-56
0
0
0
41
0
0
-2
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
-32
0
0
-3
0
0
0
0
0
24
1
0
0
0
0
0
-61
0
0
41
0
0
-4
53
0
45
-15
0
0
-8
-7
0
0
0
0
0
0
-49
0
0
-21
0
0
0
-44
0
0
-2
0
0
0
-10
0
-5
0
0
0
0
5
0
0
0
0
0
0
-34
0
0
0
0
0
0
120
1
0
0
0
0
0
36
4
0
0
0
0
0
14
0
0
-3
0
0
-2
-76
0
0
-2
0
0
0
66
0
0
-2
0
0
0
-4
0
0
-7
1
0
0
-30
0
0
0
0
0
0
-33
0
0
0
0
-2
0
-14
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
34
0
0
0
0
0
0
15
0
-4
0
0
0
0
-10
0
0
0
0
0
0
71
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
21
0
0
0
-6
0
0
0
0
25
0
0
0
0
0
-19
0
0
0
0
10
-3
-9
0
5
0
0
24
-1
21
2
13
19
0
7
8
0
0
-59
0
2
-40
-22
0
0
-44
-41
0
-26
37
7
0
62
0
0
43
2
0
0
7
9
0
19
-15
0
0
9
8
6
0
-10
0
0
0
9
4
0
0
-16
0
0
0
0
0
29
11
-61
104
1
0
-1
29
-2
0
0
0
0
-24
2
0
32
43
43
0
-43
-24
0
0
-44
0
0
34
-15
0
-2
27
12
0
-43
-80
0
0
-12
11
0
-7
44
0
-24
53
11
0
0
69
0
-1
0
0
0
0
-48
-45
-27
0
25
0
2
11
43
0
-2
0
0
28
27
25
1
76
-31
0
-35
25
1
-18
6
13
0
-33
-41
0
-10
2
-58
0
153
18
-1
3
7
-4
0
-5
26
0
0
2
65
0
5
17
0
2
57
0
0
1
66
0
-1
-4
56
0
0
-33
-16
0
0
0
0
0
-12
-5
0
7
0
0
13
-60
0
-54
13
0
0
0
45
0
0
3
-3
0
13
0
0
-6
1
0
0
-2
61
-6
1
91
-74
0
0
-9
1
-75
124
0
0
0
-19
0
0
-70
22
0
0
-24
0
5
16
-7
0
0
-3
-28
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
-53
0
0
0
0
10
0
0
0
-35
0
0
19
0
0
0
-1
0
-5
10
74
0
0
61
-3
-4
0
14
0
0
0
0
-4
0
0
0
0
-2
-4
5
0
0
0
0
-1
0
7
0
2
0
0
0
-5
-43
0
0
-1
0
0
0
5
0
-71
-2
0
5
0
0
0
-89
0
0
3
0
0
-5
3
0
-18
-13
-108
0
-1
44
0
0
0
0
0
0
63
0
0
-8
0
0
0
-55
0
0
53
0
0
0
2
0
30
6
20
0
0
-77
0
0
0
0
0
0
36
0
0
0
0
0
0
-14
0
0
0
0
0
0
-27
0
0
-1
-3
0
0
10
0
0
0
0
0
2
-43
0
0
-1
-2
0
-8
-33
0
0
-8
0
0
0
46
0
0
5
0
0
0
-79
0
0
-6
0
5
0
1
0
0
0
0
-3
0
-43
0
0
0
0
-7
0
6
0
0
0
0
0
0
-2
0
0
11
0
0
0
-19
0
0
0
0
0
0
-37
0
0
0
0
0
0
-14
0
0
-2
0
0
0
-47
0
-1
0
10
0
0
-23
0
0
0
-2
0
0
-129
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
30
0
0
2
0
0
-23
0
0
-4
0
-4
4
20
0
0
0
0
-67
-3
-1
0
-61
-1
0
-39
0
0
1
-20
0
71
-13
-7
7
0
-32
17
-6
56
-10
0
0
0
0
1
2
-5
0
2
7
3
4
31
0
0
0
14
-7
43
0
36
0
0
0
94
22
0
15
93
0
0
0
-2
2
46
22
14
-41
-4
0
26
47
2
0
33
0
0
40
-18
-4
10
19
40
-2
-51
61
0
-11
-67
-4
0
5
-5
23
1
109
14
-1
2
1
0
0
-32
0
-1
0
0
1
3
0
33
25
0
-11
0
5
0
-2
-4
0
24
0
-8
0
33
14
0
66
-48
0
-8
6
0
-1
28
-3
21
-31
15
0
-2
-2
11
18
33
0
-5
21
-8
-2
1
-28
79
0
53
35
0
-11
-1
-17
0
-21
-43
0
0
-22
11
-5
0
0
-7
0
-2
-2
-10
0
28
0
0
0
-1
-10
0
19
0
0
0
-1
0
0
19
3
5
7
-5
0
0
13
-5
-17
-10
0
0
-11
-67
3
-25
9
-5
0
-2
-62
4
27
-14
0
0
-1
-104
0
25
6
9
0
0
55
0
41
-50
-11
0
0
0
0
-1
4
6
-5
0
-51
0
-53
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
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
-17
0
0
0
0
-2
0
0
0
-113
0
0
61
0
0
0
-4
0
0
4
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
-26
-2
1
13
0
0
0
43
0
0
-4
0
0
-1
5
0
33
15
0
0
17
44
0
0
0
0
0
3
-19
0
0
1
0
0
0
5
0
0
0
0
0
0
-2
0
-5
0
0
0
0
-22
0
0
0
0
4
0
28
-7
2
0
0
-2
0
17
14
0
0
0
0
0
-3
0
0
0
0
0
0
-101
0
0
4
0
0
0
9
0
-6
71
0
0
2
-47
0
0
-2
0
0
0
35
0
0
-24
-4
6
0
-75
0
0
0
0
10
0
22
0
0
0
0
0
0
-31
0
0
0
0
18
0
20
0
0
0
0
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
22
0
0
4
0
0
0
14
0
-9
6
0
0
0
11
0
1
0
0
2
0
41
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
-16
0
0
0
0
0
-55
0
0
0
0
0
0
-14
0
0
0
0
-8
0
0
0
-13
0
0
-31
0
0
0
-2
0
0
16
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
-37
0
-3
2
0
0
-1
-69
0
0
0
0
0
11
-10
0
-1
-5
0
0
-1
-17
0
0
-2
0
0
0
-5
0
0
-1
0
0
0
36
0
0
0
0
0
0
24
0
-8
0
0
0
0
-3
0
0
0
0
0
0
-49
-2
0
0
0
0
0
24
0
0
0
0
0
0
8
0
0
0
0
0
0
-28
0
0
0
0
0
0
8
0
0
24
0
0
0
-13
0
0
0
-2
0
0
9
0
0
14
0
0
0
0
0
0
0
0
0
0
-22
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
-14
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
-14
0
0
0
26
13
0
0
0
0
0
-3
0
0
0
0
0
0
-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
1
0
0
-1
0
0
-25
0
0
0
0
0
0
-64
0
0
0
0
-44
0
0
0
-25
0
0
-3
0
0
0
-8
0
-3
-50
-1
0
0
-2
14
-8
-6
5
0
0
0
0
-2
0
0
0
0
0
0
49
0
0
0
0
0
0
-15
0
0
0
0
0
49
86
0
0
-8
0
0
0
0
0
-13
0
2
-1
0
0
-1
-38
0
0
5
0
0
-55
18
0
-19
-9
-8
0
-14
19
0
0
0
0
0
0
14
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
2
0
22
3
0
-13
0
0
0
0
0
0
-5
-2
0
0
-5
0
0
-112
0
0
0
0
0
0
-34
0
-3
0
-4
0
0
-12
0
0
0
0
0
0
-56
0
0
-1
0
0
0
-119
0
0
-1
0
0
4
-36
0
0
0
-4
0
0
-5
0
0
0
0
5
0
-9
0
0
0
0
-7
0
-20
0
0
0
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
-72
0
0
0
0
-26
0
-38
0
-13
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
27
0
0
29
0
0
12
0
0
0
0
0
10
12
0
4
0
0
-45
13
0
0
19
0
1
-20
0
0
0
15
0
55
-59
18
0
0
32
0
57
-39
-2
0
0
3
0
21
-3
-3
0
0
11
0
-24
-7
3
0
0
29
0
-42
0
4
0
0
0
0
-4
0
0
-22
0
0
0
-3
0
-26
-44
3
85
0
0
-17
11
0
5
29
0
-1
-53
-14
0
18
2
-4
0
-17
-52
0
0
-28
0
14
-5
-91
0
0
-111
0
10
0
55
0
0
-19
0
0
2
-48
0
47
44
0
53
0
28
0
0
0
0
6
0
-19
-1
-3
0
0
0
0
17
-18
0
0
0
0
86
21
2
16
60
0
-1
22
-33
0
0
17
0
0
8
-68
0
0
-18
0
-27
-27
25
0
0
-83
0
37
24
53
0
0
37
0
2
0
-8
0
0
1
0
49
0
5
0
0
2
0
13
0
20
3
0
0
0
0
0
42
0
0
0
0
0
0
20
0
34
39
0
0
-1
-2
0
-2
-21
0
-1
0
22
0
0
29
0
0
0
-32
0
0
16
0
0
0
45
0
-23
-29
0
0
0
23
0
0
-13
0
-9
0
4
0
-37
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
17
0
0
0
0
0
-5
15
0
0
0
0
68
0
0
0
39
15
0
-41
4
0
0
20
0
0
-57
-30
0
0
-24
-6
0
-48
-8
0
0
-34
0
1
-15
30
0
-4
-21
17
0
3
0
0
0
0
0
0
0
-14
0
0
-1
23
0
0
0
37
0
0
0
0
5
14
28
-4
-16
0
0
16
34
0
0
-9
0
0
-46
14
0
79
-1
-53
0
-10
36
0
-1
52
0
0
-7
9
0
25
14
13
0
-1
-33
0
0
10
0
0
0
-62
0
6
7
-20
0
0
47
0
0
0
2
0
0
-47
-68
17
0
-16
0
0
50
1
0
0
0
0
-6
-27
8
0
45
-21
0
-7
46
0
0
87
0
0
32
-18
0
5
4
-28
0
-35
-5
0
1
-27
25
0
-17
-121
0
-17
-60
-90
0
0
-94
0
0
-21
0
0
0
-22
0
-11
-4
-7
0
0
-26
0
5
0
0
0
0
-51
0
0
0
0
0
0
-73
0
1
24
0
0
2
-2
0
19
24
6
0
15
58
0
-5
23
0
0
23
4
0
-1
-7
-5
0
0
-16
0
34
1
0
0
0
-28
0
0
28
5
0
0
-39
0
57
0
0
0
0
-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
-8
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-24
0
0
15
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
-10
0
0
0
0
0
0
-20
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
20
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-81
0
0
0
0
0
0
-58
0
0
0
0
-27
0
0
0
-49
0
0
35
0
0
0
-5
0
0
-30
-4
0
0
-3
-4
0
10
-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
33
0
0
-2
0
0
0
0
0
11
-17
17
-3
0
0
0
39
0
0
-1
0
0
-4
65
0
10
-17
2
0
-44
5
0
0
5
0
0
0
32
0
0
8
0
0
0
-7
0
0
-3
0
0
0
6
0
49
0
0
0
0
0
0
0
0
0
0
0
7
-2
-1
0
0
0
0
-75
0
0
0
0
0
0
19
0
0
-1
30
0
2
49
0
0
3
0
0
-1
-49
0
0
5
0
0
0
5
0
0
52
0
0
0
37
0
0
-1
3
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
14
0
-116
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
10
0
0
0
0
14
0
0
0
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
-11
0
15
0
0
0
0
-7
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
-84
0
0
0
0
4
0
0
0
-73
0
0
-39
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
9
0
0
0
0
0
7
0
0
0
0
0
4
-51
0
0
-5
0
0
0
-2
0
0
30
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
105
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
27
0
0
0
0
0
0
-6
0
0
0
0
0
0
93
0
0
0
0
0
0
1
0
0
0
0
0
9
23
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
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-62
-63
-32
5
7
37
13
-6
-21
-41
18
-62
-25
-12
-56
-23
-6
-46
159
59
-46
-99
5
-7
21
-17
-19
-6
-10
-9
-19
26
-12
-21
-12
20
18
-91
-32
-23
51
2
-18
18
-5
-185
-17
31
-70
38
17
-28
42
-11
14
8
6
8
-13
-26
-19
-14
-29
-37
-43
-14
-13
38
-13
-32
-91
14
-59
-38
-119
-53
-9
-34
-34
-38
-26
-171
-22
-4
4
-3
-15
0
-40
5
-41
-44
50
7
2
9
-29
6
-44
-58
43
1
10
95
30
100
-62
58
18
23
-66
54
11
23
-26
-8
114
-22
-34
-14
32
1
6
-39
-11
5
-41
10
-18
-9
-19
-29
10
-14
-32
13
-16
26
-2
-24
-13
88
-15
-24
-19
14
-49
-4
16
9
-1
-14
72
-12
-35
65
48
5
63
21
5
-30
-9
-23
-18
13
-40
-14
-16
-49
38
-3
-14
73
3
-24
37
41
-15
23
-10
-31
12
6
-6
-4
-22
-20
13
-67
-7
75
-11
66
-42
-32
-46
-6
-45
-41
-55
49
-20
39
-17
19
-15
79
-8
-15
-61
3
20
7
67
-7
22
22
28
60
-5
-54
-4
-13
-5
-8
56
-14
28
90
-13
31
-22
20
12
-25
-36
-15
-51
34
-48
10
-2
1
44
61
69
-17
38
-57
-17
-62
-72
-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
-31
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-31
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
-1
0
0
0
0
0
-17
0
0
0
0
0
0
-33
0
0
0
0
0
0
-21
0
0
0
0
0
0
-43
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
23
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
55
0
0
0
2
0
0
-2
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
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
-37
0
0
0
0
0
0
-7
0
0
0
0
-2
0
0
0
-80
0
0
23
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
-2
0
0
-2
0
0
0
0
0
-60
4
0
0
0
0
6
43
0
0
11
0
0
-1
-5
0
0
7
0
0
0
7
0
0
-6
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-10
0
0
0
0
14
0
0
0
0
0
0
-49
0
-1
0
0
0
0
27
0
0
0
0
0
0
-44
0
0
13
0
0
0
20
0
0
0
0
0
0
27
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
-47
0
0
0
0
0
0
-4
0
0
0
0
0
0
-44
0
0
0
0
0
0
17
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
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
-11
0
0
0
0
0
0
-9
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
9
0
0
0
0
0
36
-7
0
1
0
0
-5
-6
0
0
11
31
0
9
5
-2
0
-57
3
0
-101
30
0
0
-7
39
0
-19
-32
0
0
0
4
0
67
14
-2
0
20
44
0
-56
-34
0
0
20
-5
0
0
-4
0
0
0
-5
0
0
1
19
0
5
1
0
-3
5
-10
-77
32
0
0
60
54
-1
9
48
0
0
-23
28
-1
56
38
58
0
-43
-25
0
0
-34
-7
0
30
25
0
-9
-33
30
0
-11
-9
0
11
2
-7
0
17
-78
0
26
-8
40
0
0
21
0
4
0
0
0
0
-16
43
-43
0
71
0
2
14
-7
0
26
0
0
-13
9
0
33
-19
-74
0
45
26
0
-3
57
0
0
55
-16
-5
10
37
54
0
-90
3
0
5
49
16
0
1
2
0
-2
-27
-27
0
17
4
-4
0
-17
0
0
0
-17
-2
0
-9
-48
0
0
-28
7
0
0
18
0
7
16
-15
0
2
-24
0
1
19
-6
-14
56
0
0
-5
3
0
3
28
9
0
11
-20
1
42
-18
2
0
14
-25
0
14
6
15
0
4
18
0
-33
-27
-3
0
-2
-42
5
-2
51
-12
0
0
-64
-2
-20
5
-5
0
0
7
-17
-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
-19
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
-16
0
0
0
0
-2
0
0
0
-31
0
0
-5
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
-22
0
0
0
0
0
0
-56
0
0
9
0
0
-1
-2
0
0
-2
0
0
17
13
0
0
0
0
0
0
-1
0
0
0
17
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
24
0
0
0
0
0
0
10
0
0
0
0
0
0
62
0
0
0
0
0
0
-7
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
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
1
0
0
0
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
0
0
0
0
0
0
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
5
-109
52
-16
-60
10
-12
-15
-32
-14
-13
29
-7
0
69
-105
0
10
-26
4
-26
-37
35
-60
-34
-23
-8
-6
16
12
26
64
-28
6
-4
-41
-76
-1
-40
-11
-8
10
-60
-24
10
-1
-18
-61
-24
-13
-2
-33
1
3
-56
13
62
-77
-14
-5
11
-24
-8
-15
41
-3
-94
-70
7
3
-16
13
-16
22
-100
15
-23
67
-1
-20
14
11
-7
-3
-28
-17
-12
-57
6
32
-10
51
-26
-14
-19
45
12
-14
19
69
-33
-22
-29
37
-12
-19
10
-55
-14
-27
9
-16
-12
16
-9
0
32
-37
-11
-3
-2
-33
-14
-48
80
-16
3
79
16
-33
-17
6
-3
-14
-9
43
-1
12
13
-17
-15
-13
31
-61
-13
-16
-7
-42
15
-10
-8
61
-58
6
12
42
-28
-11
-8
-15
-8
135
129
-18
-18
-69
-16
4
-15
3
-21
-65
4
-27
8
-52
38
-53
-27
0
-43
-12
-23
30
-51
-84
20
94
-6
14
9
80
-2
26
-41
-26
-68
8
7
130
44
37
3
125
-12
36
-38
5
78
-9
56
23
-17
-59
5
0
-9
-31
-29
-29
-18
33
-31
-3
-34
21
-23
13
15
70
-17
23
-21
8
-14
2
-27
0
-31
15
58
36
17
-2
-8
-50
25
-45
-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
-58
0
0
0
0
0
0
0
0
-39
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-25
0
0
0
0
3
0
0
0
137
0
0
-43
0
0
0
0
0
6
-14
1
0
0
1
0
9
6
-4
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
-17
0
0
0
0
0
-31
0
0
-14
0
0
3
-4
0
0
-5
0
0
34
-32
0
8
2
0
0
-2
-47
0
0
3
0
0
0
-64
0
0
5
0
0
1
-24
0
0
-4
0
0
0
0
0
-10
0
0
0
0
-43
0
0
0
0
0
0
61
10
13
0
0
0
0
-1
14
0
0
0
0
0
37
0
0
1
0
0
0
-20
0
0
0
0
0
0
38
0
0
-6
0
0
2
-47
0
0
4
0
-2
2
-64
0
0
-2
0
0
0
-24
0
0
0
0
0
0
99
0
0
0
0
0
0
-23
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
4
0
0
0
0
10
0
0
5
0
0
0
28
0
0
0
0
0
0
-6
0
0
0
0
0
0
80
0
0
5
0
0
0
10
0
0
-2
0
0
0
-56
0
35
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
77
0
0
0
-80
0
0
2
0
0
0
25
0
0
-22
0
0
0
0
-58
0
29
-6
0
0
0
0
0
0
0
0
0
6
8
0
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
-49
3
-1
0
0
0
1
2
0
0
-47
0
0
-4
-15
0
1
-33
-32
0
44
8
0
0
21
0
0
-4
-17
0
1
-15
-6
0
0
-32
0
0
20
0
0
0
15
0
36
-2
0
0
0
2
0
0
0
0
0
0
44
14
-2
0
0
0
0
-13
-3
0
0
0
0
0
-20
0
0
-4
-1
0
0
76
0
0
0
0
0
0
-4
0
0
23
0
0
-5
60
0
0
25
0
0
0
39
0
0
-1
24
0
0
33
0
0
0
0
0
0
-3
0
0
0
0
0
0
-66
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
13
0
6
-2
0
0
0
10
0
0
0
0
0
0
32
0
14
-1
0
0
0
-7
0
0
0
1
0
0
-56
0
29
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
36
0
-2
5
-48
0
0
31
3
0
0
16
0
0
-75
0
0
0
44
-8
0
-7
0
0
0
0
0
-5
0
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
-7
0
0
0
-9
-16
0
0
63
0
0
0
6
0
5
-51
-91
6
0
0
-4
21
-2
2
2
0
0
23
46
0
21
-66
-11
0
83
29
0
0
-73
0
0
0
32
0
0
0
0
0
0
40
0
0
-3
0
0
0
-95
0
41
0
2
0
0
36
-2
0
0
0
0
0
-27
-2
-13
0
0
0
0
98
19
0
-2
0
0
-4
-23
0
-4
15
-1
0
-1
-75
0
23
-1
0
0
-25
-77
0
-3
-32
0
0
0
-5
0
0
13
0
0
0
59
0
0
3
8
0
0
-12
0
-1
0
0
0
0
63
0
0
0
0
0
0
28
0
0
0
0
0
0
-13
-3
0
1
0
0
0
-6
0
5
0
0
0
0
67
-9
0
0
0
0
0
-26
0
2
0
0
0
0
18
0
0
0
0
0
0
3
0
-5
5
0
0
0
97
0
1
0
0
0
0
91
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
14
25
-13
0
63
-8
33
38
-1
-3
0
90
1
0
29
-2
4
-4
-19
-23
2
-102
-4
7
0
-3
0
-16
6
0
0
0
-20
-22
34
-11
1
0
0
-5
-1
-28
0
3
0
0
0
-2
42
0
0
-71
0
0
0
13
-13
0
-1
57
100
0
0
-36
-14
20
0
2
0
-1
3
59
0
-55
142
1
0
18
34
4
2
-73
-2
8
-43
34
0
0
53
0
3
7
-15
0
0
-26
0
-8
0
-68
0
51
-7
0
0
0
13
0
0
0
0
1
0
3
6
5
0
-5
0
0
0
-46
7
2
0
0
6
-80
57
-27
-56
19
0
-23
-14
0
9
6
0
0
24
0
6
-86
-14
43
-15
-7
4
2
43
-13
0
-2
-5
-23
0
0
-130
123
1
0
6
0
1
0
0
-3
0
-38
1
1
0
-48
-5
0
-18
14
0
0
0
0
10
0
-17
-1
-10
0
0
0
6
-14
-41
-1
0
0
-2
33
0
-5
-6
0
0
7
-82
-3
24
14
0
-2
1
38
-1
0
22
30
-4
0
10
2
42
31
0
2
0
-35
0
0
4
33
1
0
-71
0
-5
0
0
-2
0
-64
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
77
80
-86
65
61
-10
36
10
-15
137
-7
-13
39
41
57
77
41
11
-10
18
20
23
-7
-9
46
-24
8
-97
68
-59
1
-25
6
-10
-91
-1
-75
-80
-47
-60
-23
-109
-32
-50
-113
-86
-8
-1
-29
-23
-22
-37
-32
23
-10
87
34
-179
-71
62
44
11
82
11
46
21
-3
-21
6
-3
1
-3
42
31
-2
2
3
8
11
-13
31
18
5
3
-1
-61
-9
15
7
-31
-74
10
-4
33
-15
57
23
-118
-1
-72
-16
4
0
56
47
-3
-31
-74
-103
-22
-3
-14
29
-45
-31
-22
-28
-29
-81
-2
-105
-53
-122
64
15
25
-25
-24
-8
-45
-15
-21
-26
11
72
-12
-10
-78
25
-1
-1
42
33
16
-3
28
-52
-15
-9
-6
-21
51
45
-26
-4
-30
7
-14
14
-37
-36
1
-73
-41
-57
-9
-30
-18
1
-75
-72
-35
-4
-12
-52
12
4
4
-43
-15
16
-53
-39
-16
-33
-70
64
-79
-17
-36
-15
25
-25
26
-44
38
-39
31
32
3
17
-6
60
-58
57
-12
51
-33
48
-71
-25
-12
-45
-2
-27
-21
-4
0
-64
-20
20
49
-14
-25
0
-8
-47
-81
16
0
-74
7
29
-2
-24
-16
-10
-45
-48
-18
19
-52
-29
-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
6
0
0
0
-44
0
0
86
0
0
0
-10
0
0
-4
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
-5
0
0
0
0
0
0
13
0
0
0
-25
3
0
0
6
-28
-9
0
0
0
0
18
-6
0
3
2
0
0
-14
-16
0
0
8
0
0
0
-7
0
0
7
0
0
0
-10
0
0
0
0
0
0
7
0
3
2
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
38
0
0
-2
0
0
0
20
0
-4
4
5
0
6
33
0
0
0
0
0
18
17
0
0
-7
0
0
0
36
0
0
0
0
0
0
48
0
0
0
0
0
0
-7
0
0
0
0
8
0
29
0
0
0
4
4
0
1
0
0
0
0
0
0
-4
25
0
0
0
0
0
-1
0
11
0
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
0
0
0
0
24
0
0
0
0
0
0
-5
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
-6
20
-14
0
-6
0
0
-61
3
-5
0
59
0
-1
17
2
0
0
18
-6
2
0
0
0
-2
0
0
-1
-1
0
0
0
0
0
-7
0
1
0
0
0
0
-1
0
-1
0
0
0
-4
-52
0
0
112
0
0
0
-4
0
43
-7
-28
62
0
0
-10
-1
1
2
-17
0
0
-42
24
0
4
62
7
0
-23
94
0
-5
79
0
0
-7
14
0
0
6
-1
0
0
3
0
0
7
0
0
0
-8
0
50
0
10
0
0
30
0
0
0
0
-1
0
28
2
10
0
0
0
-1
63
-13
0
0
0
0
8
-81
-4
0
33
0
2
0
-54
0
0
-10
0
0
3
36
-7
0
-17
0
-7
0
-46
0
0
-6
-2
0
0
-3
0
0
-13
2
0
0
112
0
0
-4
0
19
0
25
0
0
0
-3
1
0
-30
0
0
0
0
0
-3
-12
3
0
2
0
0
2
1
0
58
0
0
0
0
7
0
0
0
0
0
0
-60
-1
-5
0
0
0
0
-37
0
0
-7
4
0
0
-33
0
-45
-1
0
0
0
5
0
0
1
0
0
0
-36
0
-7
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
-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
2
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
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
-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
18
0
0
0
0
0
-31
34
3
0
0
0
-5
53
0
0
0
0
0
2
20
0
10
-23
0
0
-6
-9
0
0
2
0
0
4
-20
0
0
0
0
0
0
-29
0
0
-11
0
0
0
-32
0
-4
0
-4
0
0
-86
0
0
0
0
0
0
37
0
0
0
0
0
0
-32
22
0
9
0
0
6
51
0
-1
0
0
0
1
-15
0
0
4
0
0
-2
98
0
0
0
0
0
0
-57
0
0
0
0
0
0
110
0
0
0
5
0
0
-77
0
0
0
0
0
0
-5
0
0
0
0
0
0
-21
0
0
0
0
0
0
-61
-1
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
-4
0
0
0
0
45
0
0
0
14
0
0
-22
0
3
0
0
0
0
-6
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
51
13
84
-42
85
0
4
9
-4
44
-22
-30
-35
-34
15
-20
-4
16
-52
-41
13
55
-33
-9
-7
-40
0
-12
21
10
-5
-45
-71
23
-44
0
-72
9
-1
-13
13
-19
0
-2
29
0
-1
-33
-57
11
27
-21
-14
-7
30
1
133
58
-65
87
73
-25
9
54
26
41
36
-12
17
41
-8
19
17
112
52
-25
15
-62
-57
10
58
9
-20
-34
-45
-38
-24
0
16
6
-17
-5
-16
1
-22
-20
53
-83
4
-11
-9
0
53
17
5
0
22
17
41
-1
89
35
13
62
-20
55
71
5
11
26
20
53
4
64
34
-34
-16
2
34
23
50
5
99
-70
13
14
-30
53
21
-29
58
-19
23
-63
63
108
86
-20
-9
44
25
17
45
-12
-16
-10
-1
22
-52
-24
-10
11
7
33
17
98
94
-4
0
-1
4
7
0
-3
28
60
71
31
27
-55
-23
-4
-52
13
-3
2
-15
72
14
-63
-13
-13
38
32
-52
73
172
11
-99
24
118
59
70
20
-18
52
109
54
-20
52
-7
6
-77
48
-5
-35
3
-19
-1
-14
17
-10
12
3
5
4
-1
-69
-5
8
68
-3
69
-58
5
4
-76
-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
26
0
0
0
46
0
-8
-10
-20
0
0
0
-41
2
37
7
2
0
-3
0
34
15
0
0
0
-5
0
-7
2
-6
0
-2
0
0
-51
0
0
0
0
0
-13
1
0
0
53
0
0
0
1
7
9
1
10
25
0
0
-33
0
0
0
24
0
0
4
16
0
-14
61
2
0
-68
-76
0
1
-57
2
0
-16
-65
0
0
6
9
0
-3
-27
0
0
-2
0
0
-4
-1
0
23
-2
43
0
-5
-26
0
0
0
0
0
0
4
14
0
0
0
0
0
61
17
0
7
0
0
14
0
-8
-5
18
-14
0
-6
36
0
0
-1
-5
0
5
27
0
0
-39
-3
0
13
-107
0
0
-56
5
-4
-3
-14
0
9
31
-35
0
0
-13
0
0
8
0
-16
0
148
0
0
0
0
37
0
43
0
0
0
0
0
0
2
-1
-2
-4
0
0
0
0
3
92
-2
0
0
0
24
0
-3
-8
0
0
0
23
0
0
0
0
0
-2
-75
0
0
2
-17
0
0
13
3
94
26
0
0
0
0
0
0
-10
-11
0
0
36
0
-32
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
-1
-16
0
0
17
0
18
23
5
0
-1
4
5
0
28
13
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
-10
0
0
18
0
0
0
0
14
41
4
-57
16
0
0
-81
-24
0
-1
-15
0
0
75
-92
0
-36
-11
0
0
-38
56
0
0
69
0
0
5
3
0
0
37
1
0
0
-45
0
0
-1
0
0
0
41
0
-38
-10
0
0
0
-35
0
0
0
0
-2
0
15
0
0
0
0
0
0
36
22
0
2
0
0
-8
4
0
4
-4
7
0
-9
10
0
0
-3
0
0
3
-54
0
-6
-15
0
0
0
-13
0
0
3
0
4
0
18
0
0
5
5
0
0
5
0
0
0
0
-4
0
3
0
0
0
0
-7
0
53
0
0
0
0
0
0
80
-9
0
0
0
0
0
93
0
-31
0
0
0
0
34
0
0
8
0
0
9
-17
0
-3
0
0
0
-1
73
0
31
13
0
0
-2
-13
0
-7
0
1
0
0
-48
0
0
0
17
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
-59
0
0
0
-6
0
4
90
-31
0
0
-1
-6
26
24
-3
0
0
18
0
20
-3
-14
0
0
0
-7
-1
0
5
0
0
0
0
4
0
0
0
0
0
0
-75
0
0
14
0
0
0
1
0
80
-27
27
78
0
0
-8
116
0
0
0
0
0
-21
0
0
-15
-43
0
0
100
-31
0
4
-5
0
0
0
4
0
0
25
-2
0
0
-76
0
0
23
0
0
0
-80
0
22
0
16
0
0
90
0
0
0
0
0
0
-11
-2
2
0
0
0
0
-15
1
0
2
0
0
1
72
0
3
-14
2
0
0
118
0
0
0
0
0
5
-33
0
0
1
0
0
0
-18
0
0
-7
0
0
0
34
0
0
-11
-5
0
0
-48
0
0
0
0
0
0
23
0
0
0
-4
-6
0
2
0
0
0
0
0
0
-5
3
0
0
0
0
0
4
0
2
0
0
0
0
-31
-1
2
-1
0
0
6
19
0
0
0
0
0
0
-14
0
0
0
-10
0
0
-3
0
-4
0
0
0
0
-61
0
0
2
17
0
0
-121
0
-15
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-29
19
43
82
30
-14
2
-21
-62
41
-21
-13
-7
-26
32
-65
-40
29
2
13
-39
-43
-24
-12
-16
-12
-27
11
-35
-44
4
29
-18
-23
44
-33
-17
-52
17
-34
-18
2
-28
-33
-6
-83
-33
97
45
88
-32
19
-23
-41
10
88
-25
-15
86
-8
48
56
28
68
-3
-3
-1
-36
27
-34
28
16
-11
61
61
-23
-23
-14
48
-12
51
40
6
-3
51
-121
-29
-68
-13
-6
-38
-33
4
7
-8
-50
-24
-22
-28
48
-5
-44
1
-19
0
-2
3
7
-24
-8
-47
36
80
-53
-24
-127
-82
27
31
40
2
74
4
37
18
8
-24
72
14
29
45
49
-19
-16
-3
13
42
38
-10
-8
33
70
4
-27
38
-82
2
-64
-42
-26
33
12
-24
-4
77
-52
-41
45
4
-32
-24
-60
-50
-77
12
-12
-45
18
-94
-74
-47
57
-40
113
33
17
73
-77
-58
46
60
-14
41
-6
36
-100
11
56
2
81
25
-21
-21
39
50
36
-63
-53
71
46
4
73
23
-74
36
-14
24
-14
-29
7
42
52
-15
-39
-6
-12
1
16
31
-20
-4
-6
-55
-6
7
7
77
-4
-23
-39
42
4
2
-34
92
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
67
0
0
0
119
0
0
-31
8
0
0
-33
0
71
-30
-17
0
0
5
0
27
6
-4
0
0
13
0
35
0
-4
0
0
-3
0
-10
0
0
0
0
0
0
9
0
0
11
0
0
0
52
0
5
-47
-8
43
0
0
92
68
-1
-10
-8
0
0
-81
50
0
75
-8
0
0
-16
-79
0
-3
17
0
0
30
-44
0
0
20
0
2
1
-13
0
0
1
0
0
0
-14
0
5
5
0
0
0
-16
0
0
0
0
-4
0
37
-1
-11
0
0
0
0
-47
4
7
-8
0
-1
5
50
0
-10
107
32
-3
0
-36
0
-1
9
0
-1
38
-60
0
0
-41
0
17
50
-33
0
0
27
0
0
-8
49
0
0
-9
2
-14
9
-41
0
0
-4
0
-4
0
14
0
0
0
0
-25
0
-24
0
0
0
0
-1
0
-5
-14
0
0
0
0
2
7
-6
-31
0
0
0
5
-23
0
-9
-3
0
2
-5
11
0
8
-24
0
-9
-8
5
0
-1
91
8
-2
-6
38
0
-44
-9
0
-1
0
-33
0
0
-18
0
0
0
-19
0
-24
0
0
-4
0
35
-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
-33
0
0
0
26
6
0
-45
0
0
0
-4
0
0
24
-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
-11
-1
0
0
9
0
0
0
0
0
8
82
8
16
0
0
20
26
0
0
11
0
0
13
44
0
-53
45
-14
0
-80
9
0
5
15
0
0
-1
-53
0
0
-23
-2
0
20
-9
0
0
3
0
0
0
-37
0
-31
-5
37
0
0
-41
0
0
0
0
0
0
22
43
0
0
0
0
0
11
1
0
4
0
0
2
30
0
2
33
1
0
46
33
0
4
37
0
0
-14
-26
0
0
-4
-6
0
-13
-66
0
0
27
-3
0
19
10
0
0
-16
18
0
1
-8
0
0
1
0
0
0
5
0
0
0
1
0
0
37
0
0
0
0
0
0
-14
3
0
0
0
0
3
32
0
-20
4
0
0
-5
-5
0
-8
0
0
0
0
-10
0
23
14
0
0
0
22
0
0
-3
-5
0
0
33
0
14
21
1
0
0
43
0
0
0
-3
0
0
33
0
18
0
0
0
0
28
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
23
54
21
29
31
3
25
-37
13
-47
-14
-79
-102
-22
-36
-44
-23
-56
-43
-46
-32
-8
-31
-10
56
-91
-13
-16
-45
-27
34
-27
-14
-58
-19
-18
-47
-3
-18
-37
-94
-42
-18
50
3
34
47
-51
-2
77
6
-27
-15
51
9
10
36
30
-48
45
25
-7
98
26
29
40
-64
11
-4
23
-22
-16
-89
-84
-17
-39
-46
-45
-7
53
-24
-23
-30
-1
-19
-33
-75
2
-64
-41
41
-54
-20
-55
-39
-113
-84
-33
3
-10
-3
22
-33
13
-33
0
49
73
5
-37
-73
-38
10
41
-12
17
40
22
45
1
15
35
72
51
-35
23
6
14
0
-67
-1
22
67
12
-5
-48
27
0
-31
-9
-8
-1
-45
-65
-14
-13
49
9
-1
-21
14
-39
-24
-3
-50
-4
-36
4
-20
-41
6
-18
-2
-100
59
-33
-14
-28
44
42
-20
91
24
78
-32
103
44
100
66
29
16
-56
41
4
-73
-13
12
-24
-109
48
18
-12
17
14
28
72
-20
-15
37
35
46
17
33
28
6
34
40
12
-44
-25
60
6
57
-51
3
-1
26
48
10
-25
-13
-7
15
-26
15
12
85
-147
95
-7
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
-11
90
0
0
78
73
-1
29
-4
0
0
62
-9
-5
7
-6
0
0
0
-25
-9
1
6
0
0
0
0
-25
2
-15
0
0
0
74
-44
0
0
1
0
0
0
14
3
47
15
26
27
0
0
32
77
0
0
-25
0
0
-67
0
9
-79
19
5
2
-3
22
0
-3
-66
0
0
-34
-80
0
-1
-61
7
0
5
-27
0
0
-20
0
0
-1
-111
0
-60
0
-1
0
25
22
0
0
0
-1
1
0
38
-1
18
0
0
0
0
63
71
5
6
0
0
62
-75
-4
-15
-14
-16
0
2
0
2
5
-48
0
0
-13
0
1
0
-8
-1
-3
1
12
2
0
0
-1
-6
-1
-108
0
0
1
-6
-20
0
15
0
0
0
0
6
0
62
0
0
0
-3
5
0
46
0
0
0
0
0
0
23
5
0
0
0
0
4
24
0
39
-2
0
0
13
0
0
0
26
-1
0
14
5
5
5
10
1
0
-14
75
0
4
-2
-36
0
0
28
0
71
0
-3
0
0
-7
0
0
0
15
0
0
16
0
42
0
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
-54
10
0
3
2
34
0
-24
-6
0
0
5
0
10
4
16
0
0
13
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
-5
0
0
-9
0
0
0
0
0
-4
6
52
1
0
0
0
81
0
0
33
0
0
-21
-10
0
-62
72
-13
0
37
-63
0
0
-5
0
0
-6
10
0
0
-15
0
0
0
17
0
0
3
0
0
0
37
0
-39
5
0
0
0
45
0
0
0
0
3
0
25
17
2
0
0
0
0
6
-13
0
0
0
0
-21
18
0
0
37
0
0
0
-81
0
0
-6
0
1
31
-12
0
5
-71
-1
0
-2
-22
0
0
-11
0
-31
10
78
0
0
-3
0
0
0
-50
0
0
0
0
0
0
19
0
0
0
0
0
0
72
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
-8
0
0
0
98
0
1
0
0
0
3
-24
0
5
0
0
0
-3
22
0
0
0
-1
0
0
-18
0
9
0
0
0
0
51
0
26
0
0
0
0
-30
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
11
-2
0
0
0
0
0
0
16
0
0
6
0
-26
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
19
0
0
0
0
0
102
-38
0
0
-18
0
0
13
-11
0
10
15
-3
0
-14
-74
0
0
-13
0
0
2
9
0
0
-5
0
0
0
5
0
0
0
0
9
0
17
0
9
0
0
0
0
25
0
0
0
0
-1
0
-51
11
0
0
0
0
0
26
2
0
0
0
0
3
-15
0
0
2
0
0
2
13
0
0
0
0
0
0
52
0
-17
-1
3
0
2
-64
0
0
0
0
0
0
-5
0
0
0
0
0
0
-56
0
0
0
0
0
0
146
0
0
0
0
0
0
74
0
0
0
0
0
0
4
1
0
0
0
0
0
-1
0
10
3
0
0
0
-17
0
0
0
0
0
-6
10
0
1
0
0
0
0
-1
0
0
0
0
0
-2
15
0
1
10
3
0
0
22
0
0
0
6
0
0
-1
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
-4
109
-42
-9
70
-14
73
-31
28
5
10
-19
-1
-66
-27
31
-2
9
-40
-8
-13
-31
19
-1
5
-37
-5
-49
-5
-11
0
-1
0
-14
-28
0
0
42
0
0
14
20
-1
59
6
35
44
2
0
58
-34
-3
3
25
-10
14
58
48
17
-1
50
-32
24
48
34
60
46
59
-31
10
23
-8
-17
1
-29
2
-25
-66
-15
0
-2
-33
-5
43
59
-17
-1
-38
14
-35
-11
0
-31
-1
-3
4
2
-18
-1
-44
-65
46
0
9
-6
6
64
-13
60
55
-9
-2
52
51
46
5
3
31
36
126
65
0
26
-14
37
19
37
18
-56
-25
-16
25
45
16
8
-19
77
29
-24
14
90
-32
-19
-26
-51
-16
-72
-53
-31
0
1
-4
-5
38
2
-46
-1
11
26
-78
-29
0
-5
-53
0
0
5
-28
1
37
105
-2
6
-5
0
14
26
6
7
-45
5
8
-92
22
-1
118
25
-22
0
7
39
-4
13
-5
-8
24
79
-14
22
-26
31
-32
-17
-4
-14
5
-27
14
-47
-4
-33
-6
0
-2
4
-52
-1
0
-16
0
-45
4
-15
69
0
37
-26
-2
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
-6
0
0
0
35
0
-8
30
-13
0
0
0
0
0
0
-4
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
20
0
0
-23
0
0
0
0
0
0
-1
0
-9
0
0
17
-33
0
0
47
0
0
-31
-4
0
-23
-9
0
0
14
-59
0
0
3
0
0
-13
-61
0
0
-6
0
0
0
-81
0
0
15
0
0
0
-40
0
-57
0
0
0
0
-58
0
0
0
0
0
0
5
0
14
0
0
0
0
2
0
0
0
0
0
-2
24
3
-1
69
1
0
0
43
0
0
0
0
0
8
-47
0
0
-4
3
5
6
12
0
0
13
0
0
0
16
0
0
37
-1
0
0
103
0
0
0
0
2
0
67
0
0
0
0
0
0
24
0
0
0
0
0
0
14
0
0
0
0
0
0
-39
0
0
4
0
0
0
-24
0
0
0
0
0
-1
-24
0
0
-2
0
0
0
-43
0
0
2
0
0
0
-11
0
17
-6
0
0
0
-3
0
0
6
0
0
0
25
0
0
0
0
-13
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
58
-54
0
51
49
32
0
17
0
0
41
14
0
0
-13
-13
0
52
24
0
0
-5
2
0
5
22
0
0
0
-24
0
0
0
14
0
0
0
0
14
4
7
37
102
-9
0
-14
-25
-4
0
-13
0
0
-40
-27
15
4
7
-73
0
75
-37
0
25
-5
0
0
29
27
5
-5
0
25
0
68
-42
0
0
28
0
0
-25
-45
0
-20
-71
2
0
0
15
0
0
-6
0
0
0
27
-42
11
0
15
0
0
-2
65
0
58
0
0
67
-23
25
22
27
-38
0
26
13
-13
-7
-80
0
0
155
-24
-5
62
24
-23
0
67
-4
0
11
2
-15
0
-53
-6
8
0
35
14
0
14
-5
0
0
10
0
0
0
31
0
-6
6
-23
0
0
5
0
0
0
0
0
0
-4
7
0
0
33
0
35
-167
18
138
-11
-4
0
-24
56
0
-18
-1
28
0
-15
13
-1
34
56
0
0
52
13
0
-32
32
-102
0
53
-21
0
-72
-19
6
0
9
-49
0
0
17
26
0
0
11
0
-40
1
0
0
0
67
39
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
-126
52
39
35
-40
-10
-7
-149
-62
48
-7
-52
-72
20
-99
74
10
33
19
-55
10
-3
-34
29
-1
-5
-34
-18
-5
-22
-28
0
-3
47
22
-26
28
35
-51
54
-5
26
29
34
55
5
53
-20
-14
11
53
112
72
43
17
6
-67
22
-54
-28
24
-64
4
36
0
86
-68
-13
-24
-17
-135
-30
-1
21
10
32
-14
33
17
39
3
-28
-11
77
71
-4
-1
-6
18
24
-74
5
4
-6
54
8
41
101
-7
30
20
33
55
45
-68
-70
35
24
-95
54
-23
18
-48
23
-43
-141
63
-22
-7
-86
0
63
0
16
25
-23
-78
-9
15
-52
29
71
4
35
4
1
31
9
15
1
-23
7
-14
7
41
-43
12
17
25
-2
-5
-90
-20
6
0
-20
29
-3
0
-71
14
0
-2
-23
24
13
-48
-1
25
9
-42
-40
54
-2
29
-101
35
-36
23
52
-14
10
11
7
-80
-28
-26
-66
29
39
-13
-20
25
-8
60
-1
-43
4
-25
4
74
-37
14
11
8
-34
113
66
18
45
-3
23
0
-15
40
51
35
-2
4
-33
-5
-1
-34
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-99
26
-3
-3
0
30
9
25
-1
-2
8
2
-71
75
5
0
-1
-3
-1
54
0
6
0
0
32
-16
2
0
0
-27
0
0
0
-21
37
67
44
65
6
16
-17
-33
-11
-2
0
-54
1
-4
-5
27
2
10
42
-29
-32
-18
0
59
-93
8
-5
-14
-9
-59
0
-5
-15
-58
-7
-32
-33
0
-1
-7
0
35
0
2
0
9
-3
-95
-67
0
-15
0
-1
-1
0
-64
0
-2
44
62
0
1
0
0
92
-14
-5
24
-1
0
-36
21
87
-10
90
-37
8
-75
0
-4
9
28
2
-17
107
0
29
-14
103
141
45
41
-4
-2
-32
-122
-4
11
0
-3
0
-3
-5
67
-95
0
11
0
-1
35
-2
-30
0
-47
0
1
0
27
-9
0
-24
-1
0
0
0
-2
0
81
-53
-2
-17
6
3
63
1
-14
33
77
0
0
-7
-6
13
-58
-35
-20
1
-34
0
6
53
-28
3
1
-39
-81
0
5
-66
-38
27
-9
-36
0
-2
-15
-23
39
0
-28
0
-1
-7
-11
2
0
-58
0
7
0
0
48
0
-70
3
-1
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
-6
0
0
0
0
0
0
0
0
0
18
0
0
0
-8
0
0
0
0
11
0
0
-19
0
0
0
0
0
-16
-50
-2
-29
0
0
-4
23
0
0
16
0
0
-14
15
0
25
71
-6
0
111
-4
0
0
-29
0
-1
-18
-58
0
0
3
0
0
0
14
0
0
-14
0
5
0
-15
0
23
1
-3
0
0
52
0
0
0
0
0
0
-46
0
0
0
0
0
0
11
-2
0
0
0
0
0
30
0
-2
-10
1
0
0
0
0
0
0
0
0
5
-52
0
-2
-49
0
0
13
-31
0
0
6
0
0
0
2
0
0
14
0
0
0
33
0
0
0
0
9
0
113
0
0
0
0
6
0
-45
0
0
0
0
0
0
-7
-1
0
0
0
0
0
-3
0
9
0
0
0
0
-5
0
0
0
0
0
0
33
0
10
0
0
0
0
29
0
0
0
0
0
0
-60
0
2
0
0
0
0
-7
0
0
0
16
0
0
-71
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
0
0
0
0
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
5
9
0
0
0
5
1
0
0
0
2
0
9
0
0
0
0
-1
0
3
0
0
0
0
-6
0
0
25
0
0
0
0
0
0
8
-1
-2
0
0
-32
99
-1
0
-64
0
0
-80
5
0
62
87
8
0
-46
-6
0
0
-5
0
0
6
-29
0
0
-6
9
9
0
-23
0
0
-1
0
0
2
37
0
-5
0
-1
0
0
-5
0
0
0
0
2
0
-77
-1
0
0
0
0
0
64
0
0
0
0
0
3
-62
3
0
-17
3
0
2
-20
0
0
5
0
0
26
-11
0
3
20
2
0
0
-100
0
14
49
0
-4
0
77
0
0
0
0
0
0
41
0
0
0
0
23
0
15
0
0
0
0
0
0
-37
0
0
0
0
3
0
34
3
0
0
0
0
0
17
1
0
0
0
0
0
69
0
0
0
0
0
-11
-11
0
-1
0
0
0
0
15
0
0
0
0
0
0
41
0
0
0
0
0
0
-21
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
7
7
29
-10
-66
63
-2
-1
-5
-32
36
8
30
0
-2
0
-1
1
-3
5
0
0
5
-51
-18
-1
-2
-42
0
0
29
88
-3
48
-39
-57
161
-53
2
-32
13
2
-3
-1
0
-10
-34
23
116
-103
42
-44
35
29
4
0
5
14
-9
28
83
24
-1
15
18
10
46
10
-19
-2
18
2
-4
73
-5
6
-2
-19
6
-22
-14
-1
-34
0
-3
-1
-1
-71
0
5
43
-79
0
-29
7
13
54
-15
31
-75
4
4
23
41
70
-47
89
-23
-5
51
20
73
20
9
0
-102
67
23
-35
-16
69
-1
-99
16
-1
56
40
-170
-43
60
-3
16
11
-7
-5
76
-2
52
-13
2
-6
-3
-9
98
0
-16
0
-1
0
-44
10
0
39
26
-2
0
55
20
-2
11
24
-15
-18
-18
1
-45
-7
-9
6
63
-3
45
-25
-2
26
59
12
8
-27
-17
32
25
17
-57
14
26
-55
-5
10
67
47
32
30
-60
36
0
-80
61
27
-4
-17
-48
-7
2
7
-28
18
-4
-17
0
-15
37
14
27
0
8
-47
-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
-46
-60
-11
-6
65
0
13
5
-15
0
-9
31
0
60
-14
-2
0
6
11
0
37
-4
-70
0
0
5
0
3
0
-29
-36
0
-1
0
-13
18
9
-16
-11
-49
0
0
5
-10
5
-7
-7
0
4
-31
46
21
-64
10
0
-9
10
17
0
-14
22
0
-2
33
-105
-2
-5
22
0
8
52
-2
0
14
23
0
-45
14
-2
0
26
25
0
-38
-13
-12
-15
1
-4
0
27
0
0
-33
-33
0
0
-5
0
5
13
10
-27
0
0
-23
-9
48
-4
10
-4
26
64
44
0
-11
83
0
-19
46
-6
-1
29
25
0
-13
15
19
-2
11
31
-6
-19
16
-27
-8
-14
78
0
13
56
-8
0
5
5
0
-19
17
-11
-1
16
42
0
25
0
8
-18
-2
0
0
-9
0
20
-25
14
2
0
0
6
61
39
-26
40
0
-15
5
56
-1
0
-2
0
-3
-30
4
14
52
-36
0
11
3
23
-14
75
34
-7
-58
77
31
0
2
99
0
58
0
30
0
39
75
5
24
0
-4
0
6
10
0
17
0
7
-37
-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
-20
-3
0
0
-6
0
0
-41
81
0
0
26
-117
0
3
5
0
0
25
4
0
0
-17
0
0
0
29
0
0
-4
12
0
0
0
0
-2
28
0
-29
-5
1
0
27
28
0
0
9
0
0
29
30
-5
24
-8
-20
0
-38
-112
6
-2
4
0
0
-11
25
0
6
24
-4
0
46
5
0
0
48
0
0
29
3
0
-6
4
-6
0
0
5
0
1
2
0
0
0
72
8
30
0
5
0
-9
-13
84
0
26
0
0
-14
61
22
55
-6
14
0
77
20
0
-19
80
0
0
7
-47
0
-6
21
16
0
53
22
0
-9
60
0
0
16
-7
0
0
11
-11
0
1
25
0
0
7
0
0
-1
8
0
0
6
-21
0
0
40
26
0
0
0
0
0
5
11
5
2
0
0
26
-24
3
90
11
0
0
63
36
0
-11
35
-7
0
-53
-4
5
84
0
0
0
64
-14
0
-18
67
39
0
-8
-4
-7
119
29
16
0
-2
-53
0
4
14
53
0
-1
12
0
15
3
0
0
0
55
-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
-4
77
0
0
35
-2
-7
51
41
0
0
-5
-9
-26
0
-32
0
0
0
-27
-3
0
0
-32
0
-1
41
-40
9
7
62
-3
-53
-2
1
14
24
0
7
62
-23
-6
-55
20
-32
12
2
11
5
-137
-23
-17
-11
-5
79
-68
4
14
-5
5
11
-50
-4
15
-29
4
7
16
33
-54
0
20
0
13
48
-11
9
0
-14
0
0
-6
0
-44
0
11
52
11
0
-43
0
4
-4
-53
10
35
-2
0
9
27
-19
55
4
14
3
-35
6
1
-12
90
2
21
66
27
-14
11
13
53
66
16
-8
-7
49
19
-8
15
-4
1
-3
7
10
-1
-69
0
-1
0
9
52
-2
11
-3
14
2
0
3
-65
-12
0
-15
28
2
0
7
-22
-9
3
-50
-2
-16
-48
-5
-14
-96
-15
72
-20
-8
-19
5
-5
0
58
-92
-40
-11
7
-15
11
31
-9
-8
124
-3
-12
8
22
-19
-46
13
2
-19
0
54
-13
-11
1
0
12
0
2
29
-112
20
0
14
1
5
33
1
-79
0
0
1
-2
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
-16
37
4
13
0
60
-33
55
-9
0
0
62
0
21
1
-41
0
0
1
18
26
0
0
17
0
0
0
67
13
-53
-33
5
62
-3
0
78
13
-3
0
-2
0
8
-16
-4
32
-14
-33
-32
5
27
9
-11
97
6
8
64
43
0
14
7
21
82
-21
-29
-31
0
-8
22
0
21
-7
-4
0
-22
19
-23
51
0
12
0
-1
0
-4
-61
0
-21
17
31
0
-9
0
0
-72
71
-4
-59
11
0
-48
15
55
3
27
19
-6
60
55
-6
-80
-15
2
-9
103
9
100
-51
-75
14
-47
3
0
3
-5
-13
-14
-43
-20
22
0
33
92
17
6
5
-7
0
-1
-5
0
-77
-7
-27
0
-3
-1
-32
-25
0
-55
-6
-1
0
0
5
0
-19
-5
-11
0
1
-1
-16
-16
-8
20
-49
-2
0
-22
50
-11
-37
114
1
1
-53
37
-16
51
-70
0
2
-5
0
2
-51
-24
-71
26
33
-3
0
-63
-1
24
1
0
36
0
-1
-28
-22
-24
4
0
0
-11
-4
0
-10
0
-18
-6
-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
-2
0
0
-13
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-5
0
0
0
0
0
80
33
-13
-2
0
0
-7
33
0
0
-33
0
0
34
-58
0
-3
17
0
0
-14
-99
0
0
44
-2
0
5
2
0
0
56
0
2
0
-29
0
0
-1
0
0
0
-56
0
-2
-9
-1
0
0
-45
0
0
0
0
0
0
12
0
9
0
0
0
0
3
1
0
0
0
0
2
-43
-17
-1
-14
-2
0
-13
-36
0
8
15
0
-3
-4
-44
0
7
7
-15
0
0
-64
0
0
-26
0
11
2
-52
0
0
-7
1
-3
0
60
0
0
0
0
0
0
-25
0
0
0
1
0
0
-18
1
0
0
0
1
0
-8
0
0
0
0
0
0
-8
0
1
13
0
0
0
9
0
0
-1
0
0
-10
-24
0
6
-1
0
0
-4
-29
0
-13
0
21
0
0
-37
0
-2
0
0
0
0
-25
0
0
0
6
0
0
-33
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
4
0
0
0
0
0
-53
5
-2
9
0
0
-4
68
0
0
3
0
0
1
-11
0
4
39
10
0
-17
-10
0
0
16
0
0
-2
61
0
0
1
9
0
0
-3
0
0
0
0
0
0
-18
0
1
0
-1
0
0
-6
0
0
0
0
0
0
-29
6
0
0
0
0
0
-82
0
0
0
0
0
-6
14
-3
0
-11
4
0
0
-29
0
0
0
0
0
0
104
0
0
-11
11
0
0
94
0
0
0
0
0
0
45
0
0
-2
2
0
0
-31
0
0
0
0
-9
0
37
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
-25
0
0
0
0
0
0
2
0
0
7
2
0
0
-5
0
0
0
-1
0
0
-37
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
-64
16
0
1
0
20
-24
48
21
0
0
4
-1
-32
9
35
0
0
0
10
38
0
0
76
0
0
0
45
-3
10
25
-14
17
-1
0
-81
47
0
0
-10
0
11
-75
-4
0
-5
51
17
4
8
-5
-2
5
22
0
-1
125
8
0
-1
25
-19
7
66
-100
0
0
-8
0
-13
6
15
0
-38
0
5
5
0
18
1
0
0
0
-27
0
71
31
67
0
55
0
0
19
-7
-3
0
0
0
64
17
27
-14
14
25
-9
-18
14
0
23
128
0
31
14
-37
-9
40
1
56
13
36
-12
-3
0
-2
5
4
8
1
0
0
0
-58
25
10
18
0
0
1
0
11
0
42
0
0
0
42
31
0
40
9
0
0
0
9
2
21
-1
0
-2
0
0
-1
-14
-1
-46
0
0
-1
14
-55
0
20
-16
5
0
-2
-36
0
-34
-5
0
1
-6
-66
0
-1
0
-67
-3
-6
-5
0
1
11
-1
-18
0
14
-14
0
0
56
-10
0
3
0
56
0
-4
-6
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
4
17
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
49
0
0
-7
0
0
0
0
0
10
-2
0
1
0
0
-10
29
0
0
-4
0
0
1
60
0
25
4
0
0
0
-34
0
0
-19
0
0
15
-8
0
0
4
0
0
1
-58
0
0
-1
0
0
0
-14
0
13
0
0
0
0
47
0
0
0
0
0
0
-10
-4
0
0
0
0
0
15
0
0
0
0
0
0
16
0
0
11
0
0
0
-23
0
0
16
0
0
0
-44
0
0
17
6
0
0
9
0
0
-1
0
0
0
-22
0
0
3
-1
0
0
-81
0
0
0
0
0
0
67
0
0
0
0
2
0
65
0
0
0
0
0
0
11
0
0
0
0
0
0
10
0
-3
0
0
0
0
29
0
0
0
0
0
0
53
0
-1
1
0
0
0
6
0
0
0
0
0
0
-10
0
0
0
0
0
0
10
0
0
0
0
0
0
-129
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
13
32
0
0
-11
-12
0
-36
9
0
-3
13
-8
0
0
-1
0
0
0
1
0
0
-13
-30
0
0
0
0
-24
23
-3
-8
-26
3
0
-60
-17
0
0
13
0
0
58
-2
-1
-24
-14
44
0
-61
-33
0
-6
-34
13
0
17
-2
0
0
12
-129
0
22
-31
0
0
25
0
0
4
-31
0
-18
-55
-21
0
18
1
0
0
15
0
0
0
14
37
46
0
-5
0
0
32
-4
6
5
0
0
27
3
5
7
-10
37
0
60
11
0
2
13
0
0
71
-18
0
3
27
-88
0
-7
-21
0
8
-26
-27
0
4
-6
0
-1
6
-15
0
-36
33
0
0
-2
0
0
-3
1
0
0
-3
-19
0
0
8
-13
1
0
0
0
0
75
4
0
7
2
0
-4
-25
0
12
57
0
0
5
16
0
-6
53
-12
0
33
2
4
1
11
0
0
71
12
0
-6
86
66
0
3
6
0
-1
132
0
0
-3
-23
3
0
-15
-3
0
0
8
0
43
0
0
0
0
35
-59
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
27
-5
106
0
19
0
0
0
-42
-36
0
8
-54
0
0
0
-4
0
56
18
-55
3
0
0
-30
27
0
6
29
0
0
-14
1
0
140
83
-27
0
-6
15
0
0
63
0
0
0
3
0
-2
19
92
-8
0
-55
0
0
-4
0
0
0
-58
0
-33
-20
21
0
0
15
0
0
14
2
18
0
47
-9
-9
0
-35
0
-2
47
57
0
0
0
0
14
-11
79
-6
-8
0
0
-1
9
0
0
6
-2
1
10
10
0
-31
25
-28
-4
5
8
0
3
24
-18
-14
0
-11
0
1
-41
35
-18
0
-23
0
0
73
5
-68
0
75
0
0
2
-41
45
0
24
0
0
0
9
5
0
13
-2
-4
0
0
0
0
-21
0
-20
-2
4
4
-6
-67
0
5
-5
4
-1
0
-37
0
6
-22
0
2
0
-21
0
0
-13
20
8
0
-27
0
66
73
0
0
0
-61
0
0
-33
17
0
0
-15
0
50
10
-5
24
0
-42
-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
23
-9
0
0
0
0
-89
0
14
0
0
0
-5
9
0
0
24
0
0
0
-29
0
14
18
20
15
1
0
33
5
-7
0
7
0
0
-66
42
0
51
-4
81
0
-21
-7
1
-1
20
-16
49
15
3
0
1
63
25
-3
9
0
0
-1
65
0
4
0
35
0
30
36
23
-5
0
8
0
-1
0
0
50
0
-11
-20
-64
0
8
0
0
-23
-1
3
6
6
0
71
-44
56
3
-66
-73
0
44
-5
0
43
71
0
-2
16
6
-1
0
75
20
0
-15
24
0
18
-34
1
11
-1
0
0
0
-25
19
7
0
9
0
1
15
-1
42
0
28
0
0
0
-35
-72
0
-27
0
-6
0
0
0
0
-14
13
20
2
10
0
0
-60
1
24
-8
0
0
2
21
0
33
-52
14
0
-15
-24
2
-7
-61
0
0
-1
-26
-1
-4
4
5
0
-5
0
0
35
24
1
5
0
-14
0
0
-14
24
6
0
25
3
-25
0
0
-1
0
41
39
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-4
0
-5
0
0
1
86
0
0
-3
0
0
-3
-9
0
-6
-10
0
0
0
20
0
0
14
0
0
0
-4
0
0
-1
0
0
6
-8
0
0
0
0
0
0
0
0
11
0
3
0
0
3
0
0
0
0
0
0
-18
0
0
0
0
0
0
23
0
0
0
0
0
4
-8
0
0
0
-2
0
0
-22
0
0
0
0
0
0
6
0
0
-2
6
0
0
-43
0
4
0
2
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
-26
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
-10
0
11
0
0
0
0
-2
0
0
0
1
0
0
-5
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-2
0
0
0
0
18
-3
0
0
-7
0
0
5
20
0
-2
35
-1
0
4
-43
0
0
2
0
0
1
0
0
0
0
3
0
0
1
0
0
0
0
0
0
1
0
8
0
-1
0
0
10
0
0
0
0
0
0
41
-2
0
0
0
0
0
-46
0
0
0
0
0
0
-39
0
0
1
-2
0
2
43
0
0
1
0
0
-13
8
0
0
-1
0
0
0
-1
0
0
-1
0
0
0
4
0
0
-1
0
0
0
-62
0
0
2
0
5
0
-10
0
0
0
0
0
0
14
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
3
0
0
-8
0
0
0
-5
0
1
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-5
15
0
-3
0
0
0
-4
48
0
0
-22
0
0
-2
-38
2
-21
26
-70
-58
15
0
-48
-11
0
0
17
0
0
34
48
0
-53
31
-27
3
18
16
0
0
17
-11
0
-9
-14
0
-15
-4
44
0
-34
6
0
18
3
0
0
-10
32
0
7
-1
31
-1
4
10
0
0
0
-3
-41
0
-17
46
-44
0
-40
0
0
-21
14
0
18
0
0
-7
-2
16
71
43
-30
-5
-8
9
0
0
14
0
-21
-59
-19
0
-71
-52
40
-17
-6
1
0
-10
-1
-7
43
14
45
0
-7
-3
16
-8
-4
-13
0
0
0
0
46
0
25
0
0
0
7
-1
0
-27
0
0
0
1
-24
0
31
1
10
0
-4
0
0
42
2
-55
-6
0
0
0
-18
0
-7
0
-9
0
10
19
0
7
-11
0
5
0
6
9
-6
0
-56
13
0
-16
0
38
0
0
-5
0
-23
0
0
0
-23
-43
0
6
0
-49
0
0
-5
0
-38
-6
0
0
39
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
32
0
1
0
0
0
0
-9
0
0
-36
0
0
0
-5
0
-49
-101
24
-14
0
0
-36
-25
-1
5
5
0
8
12
24
0
32
50
0
-13
-1
2
0
-4
67
0
62
30
-51
0
3
6
-4
33
-31
-9
0
-1
45
0
4
11
-78
0
-4
40
0
-21
0
39
0
0
0
0
5
0
13
-27
-25
0
0
0
0
-10
26
0
7
0
2
23
-2
10
2
59
-1
7
-74
-27
0
10
-6
0
14
-14
-11
0
-10
16
3
-8
19
39
0
0
-23
0
-8
31
-39
0
0
72
0
3
4
-14
0
0
-33
0
45
0
45
0
-5
-19
0
-59
0
18
3
0
0
0
-2
0
3
16
0
0
0
0
-2
-26
0
22
80
0
0
7
56
0
1
46
-2
0
4
55
0
-1
86
0
-19
-18
44
0
3
-33
0
-2
-6
-26
0
-11
-42
0
-4
0
36
0
0
1
0
72
0
82
0
-8
-23
0
-33
0
-54
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-5
0
2
22
0
0
-8
3
0
0
8
-3
0
-1
4
0
4
10
-27
-43
-86
0
0
30
-8
-7
-4
44
0
0
25
9
0
-31
5
55
0
20
-5
0
-7
-13
-17
0
-67
-5
0
0
2
-19
0
19
-115
0
0
7
-2
0
34
6
0
-39
17
7
0
0
3
0
0
-1
0
0
0
4
47
6
0
-29
0
0
-5
-95
0
45
0
0
-53
-4
1
20
-17
-21
0
41
25
0
11
54
0
0
25
29
0
4
97
-1
0
75
-18
-1
2
0
1
0
-24
3
-9
2
22
1
0
-1
27
0
0
17
-2
0
-9
3
0
0
-5
90
0
0
-16
-4
0
0
0
0
0
68
0
0
-13
3
0
-4
26
-7
14
25
0
0
25
5
23
-27
-98
5
0
98
37
0
51
-37
3
0
5
1
0
-15
23
-35
0
0
-33
0
38
-21
11
0
0
-12
0
0
163
13
0
0
-1
0
5
-7
25
0
0
-23
149
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
16
0
0
-58
0
0
0
-15
0
8
-19
1
2
0
0
-3
-54
0
0
55
0
0
-83
63
-2
-52
63
71
0
-15
9
0
0
10
0
-6
1
-18
0
0
41
33
9
0
-30
0
0
23
0
23
0
-1
0
-16
-30
23
0
0
-35
0
0
0
0
-9
0
-18
0
-4
0
3
-5
0
-25
-9
0
-2
0
0
0
8
0
0
24
11
0
-3
3
0
-2
-8
0
-14
2
-23
0
3
49
-13
-3
0
6
0
0
6
0
20
0
57
0
0
66
-28
-11
0
-7
0
0
18
0
-59
0
-21
0
0
0
66
-24
0
-44
0
0
0
0
4
0
-6
0
0
0
0
0
0
-4
0
-25
5
0
0
0
3
0
15
5
5
33
1
32
-10
-3
7
0
0
0
19
0
-5
51
-14
7
0
5
0
-36
-10
0
-10
0
33
0
0
2
-11
10
0
-107
0
-5
0
0
3
0
20
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
-5
0
0
0
7
13
0
-2
37
0
0
0
-2
0
-45
-5
-23
23
0
0
26
-14
0
0
-47
0
0
-100
56
0
2
23
-53
-2
-70
20
1
0
-34
-2
23
0
-56
0
-2
10
-7
-5
-3
8
0
0
52
3
-4
2
0
0
62
7
16
8
0
-15
0
-4
0
0
31
0
-1
6
5
0
-31
-2
0
-38
-13
0
5
0
0
5
34
-26
-19
8
33
7
-24
33
-2
-8
22
0
13
-90
36
0
-26
71
74
1
-6
-16
3
5
-11
0
-7
0
-43
1
0
43
35
-23
0
0
0
7
-1
-9
4
0
-33
-3
0
-4
-1
24
0
9
0
0
0
0
0
0
9
1
0
-7
-4
0
0
-50
-1
-53
3
0
2
0
86
0
-5
-89
-4
0
0
11
-1
-30
-46
0
-20
2
14
0
5
-27
-21
4
0
-29
0
1
-4
0
18
-1
0
0
0
3
5
7
0
-122
0
-35
-2
3
3
0
3
-8
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
-2
0
0
0
0
0
25
0
0
0
0
0
8
-41
0
0
-2
0
0
-1
-6
0
-1
10
0
0
11
18
0
0
-1
0
0
0
5
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
-14
0
0
0
0
0
0
10
0
0
0
0
0
0
-56
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-1
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
-15
0
0
0
0
0
0
0
0
0
0
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
-4
5
0
-9
0
0
1
-62
0
0
53
0
0
-9
-14
0
5
-13
0
0
5
22
0
0
0
0
0
0
11
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
-80
-2
0
0
0
0
0
-21
0
0
0
0
0
0
-34
0
0
0
0
0
0
19
0
0
0
0
0
0
-18
0
0
-1
0
0
0
-7
0
0
0
0
0
0
-4
0
0
5
-13
0
0
-53
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
-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
-26
0
0
0
0
0
0
13
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
14
0
0
0
-28
47
0
0
56
0
0
0
0
0
-15
9
-11
3
0
0
-16
2
0
0
56
0
0
-33
41
0
-1
-5
5
-4
-22
27
0
0
-4
0
-2
43
-10
0
2
2
13
0
65
-16
0
-1
-4
0
-9
8
-52
0
-33
0
28
-2
0
-45
0
1
-1
0
-5
0
-34
-15
35
0
-16
0
0
-11
-16
0
0
0
0
0
-31
-6
1
0
1
0
1
-4
5
0
5
0
0
20
-47
0
8
-2
-25
2
0
-22
-1
2
0
-1
5
-4
2
0
0
0
-7
9
0
22
0
0
25
0
-1
0
64
0
0
0
-5
0
0
16
0
0
0
0
24
0
1
0
0
0
0
0
0
6
0
-7
0
0
0
0
26
11
0
0
0
-2
0
-28
4
1
-2
0
0
0
84
0
0
0
-27
-4
2
-31
0
-24
26
0
0
0
-34
0
0
0
0
0
0
23
0
-5
0
0
-1
0
-5
-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
11
0
0
-5
0
0
0
0
0
-48
-11
-4
2
0
0
-2
4
0
0
-7
0
0
-6
0
0
0
-25
0
0
4
-29
0
0
-6
0
0
1
23
0
0
-4
4
0
-4
-48
0
0
-4
0
0
0
-10
0
26
-3
-5
0
0
50
0
0
0
0
0
0
9
0
2
0
0
0
0
-26
4
0
0
0
0
0
22
4
-4
-1
0
0
0
-56
0
0
13
0
0
0
-8
0
-1
5
0
0
0
-33
0
0
-1
0
0
-3
-1
0
0
-8
0
8
0
32
0
0
2
0
-4
0
-14
0
0
0
0
-2
0
-29
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
0
6
-13
0
0
0
10
0
0
0
5
0
0
-8
0
7
3
0
0
0
36
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
-41
0
0
1
-4
0
0
-2
10
0
0
3
0
1
6
6
-9
46
-7
0
78
1
0
0
56
0
0
16
9
0
-37
14
52
0
-14
20
0
0
-8
2
0
55
20
0
3
25
33
0
25
-13
0
11
46
8
0
1
19
0
-3
40
9
0
0
3
0
-1
-9
0
0
0
10
13
-3
0
-24
0
0
-13
-25
-5
3
0
0
35
-14
5
43
9
59
0
-26
18
0
21
55
0
0
42
30
7
-3
49
18
0
35
26
0
11
43
-5
0
-30
29
-2
82
35
2
0
-61
-15
0
-1
-15
-1
0
14
21
0
14
41
4
0
0
8
97
0
0
0
0
0
28
2
0
3
23
0
1
-97
-14
11
14
0
0
2
23
0
0
14
46
0
-2
49
0
-7
128
0
0
-13
32
0
39
25
-13
0
-65
15
0
14
68
-15
0
8
-1
0
1
24
11
0
0
35
0
-5
26
0
0
0
-1
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
1
0
0
0
25
0
-2
6
0
0
11
-1
0
0
-1
0
0
0
55
0
0
1
0
0
0
-57
0
0
33
0
0
0
8
0
-4
0
-2
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
1
0
0
0
18
0
0
0
0
0
0
-23
0
0
-2
0
0
0
36
0
0
0
0
0
0
32
0
0
0
0
0
0
-48
0
0
0
0
0
0
31
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
-7
0
0
0
0
0
0
-3
0
0
5
0
0
0
-8
0
0
0
-2
0
0
2
0
1
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-1
10
60
-98
85
0
0
-44
13
0
0
-14
0
0
-51
34
0
-74
70
16
0
-4
29
0
0
8
10
-1
-35
-79
0
-8
41
-22
0
68
30
0
0
-43
0
-6
-6
40
0
10
-15
-10
0
15
0
-3
0
0
-2
43
0
6
5
3
0
0
0
0
5
-4
0
-6
0
0
30
-16
-5
-40
52
-32
0
40
-16
0
-10
-53
0
20
134
-22
-6
7
-46
68
14
-33
17
0
2
-32
0
-5
-61
14
0
0
-86
83
-48
-1
33
0
0
-10
14
25
3
0
0
0
-1
33
5
0
14
0
0
0
14
0
0
9
3
0
0
0
0
0
-77
0
1
5
3
0
-4
9
0
45
46
-19
18
-1
44
8
84
-56
0
3
-13
-19
0
-19
-58
16
1
14
-27
0
-45
43
-5
-9
0
12
0
0
-17
-44
3
0
0
0
90
0
0
0
0
-14
-5
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
43
0
0
-2
0
0
-4
36
0
-1
-1
0
0
0
11
0
0
0
0
0
0
5
0
0
4
0
0
0
80
0
0
0
0
0
0
-1
0
-2
0
-8
0
0
-1
0
0
0
0
1
0
-80
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
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
-25
0
0
0
0
0
0
0
0
0
0
0
-3
0
18
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
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
-1
0
0
0
0
0
-46
0
0
0
0
0
-1
-21
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
-23
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
-13
0
0
0
0
0
0
-14
0
0
3
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
0
0
0
0
4
0
1
0
0
0
0
0
0
-43
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
3
36
0
0
10
0
0
22
-10
0
45
8
-9
0
-18
33
0
0
0
0
0
0
-32
0
0
0
-7
5
0
-66
0
0
0
0
0
0
0
0
-4
0
-2
2
0
7
0
0
0
0
0
0
-7
-1
0
0
0
0
0
4
0
0
0
0
0
0
-53
0
0
1
0
0
-26
-46
0
0
0
0
-5
1
-34
0
6
5
0
0
2
37
1
0
7
0
-32
0
-34
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
-1
0
-54
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-5
0
0
0
0
9
0
0
0
0
-1
0
1
0
0
0
0
0
0
-2
0
0
-2
0
14
0
35
0
0
0
0
1
0
-11
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
7
-51
0
11
0
5
0
44
53
10
9
0
0
-19
-18
0
0
18
0
0
-81
20
0
7
7
0
-21
35
3
0
0
-17
0
-16
29
25
0
0
33
0
3
3
31
0
0
14
0
84
0
-24
0
0
59
0
-3
-6
5
0
0
5
0
-7
0
40
-29
38
0
0
0
0
25
15
0
-3
0
0
4
-23
0
16
-31
0
5
86
-16
0
0
39
0
52
16
12
0
0
21
0
33
96
-19
0
0
17
0
10
-25
-39
0
0
28
0
-11
-5
15
0
0
49
0
11
0
-30
0
0
-17
0
53
0
24
-8
0
0
0
-21
0
32
0
0
0
0
0
0
-87
0
72
1
0
0
27
11
0
0
-7
0
-15
-9
12
0
-5
23
0
17
10
-44
0
0
18
3
-1
0
77
0
-16
-41
0
-2
0
9
0
0
49
0
46
0
10
0
-10
7
0
21
0
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
14
-28
0
0
35
0
29
1
5
43
-5
-21
-3
56
1
5
1
15
2
-4
34
-1
-5
-37
-35
-5
0
13
11
57
23
0
4
0
41
25
0
-25
12
-40
0
88
22
0
2
25
45
0
-24
-14
0
-22
-6
10
0
29
22
-20
-2
-4
43
0
0
-7
-34
-9
5
-47
0
-21
-6
-32
-14
23
-8
0
-6
-17
107
-84
13
-26
10
62
9
3
82
14
44
9
35
19
-8
-25
25
9
0
60
25
-5
-3
16
66
0
73
24
3
10
51
15
-13
46
18
0
0
18
56
0
2
10
1
-15
30
-3
0
0
-25
-57
-2
0
-11
0
-7
11
-96
-5
17
-83
0
57
-20
0
61
-65
-10
7
-114
4
-3
42
-16
2
-1
5
12
-26
0
4
4
-4
66
15
3
79
-6
13
0
-38
26
0
1
81
-10
0
-5
-3
0
-1
38
-10
0
0
-7
0
-14
47
2
0
0
38
55
20
-3
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
-9
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
2
0
0
7
-41
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
-26
0
0
0
0
0
0
-17
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
-41
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
-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
-8
0
-1
0
0
0
1
15
0
0
-27
0
0
-9
32
0
-1
2
-5
0
5
5
0
0
4
0
0
0
5
0
0
-5
-13
9
0
-34
0
0
-6
0
2
0
-14
0
3
0
2
0
0
-15
0
0
0
0
-10
0
0
0
1
0
0
0
0
-66
0
0
0
0
0
8
-18
0
0
-5
0
0
0
2
0
0
0
0
0
1
-28
0
0
-17
0
0
0
-23
0
0
0
0
0
0
16
0
0
1
0
0
0
55
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
-26
2
0
0
0
0
0
-33
0
0
20
0
0
0
33
0
2
0
0
0
0
2
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-35
-61
13
-1
-16
-13
-18
0
-52
1
37
35
-3
84
-16
-3
11
28
-13
-8
58
-71
-51
-17
29
15
-12
3
20
-8
19
42
-68
-1
7
11
-31
-6
-18
5
-50
-1
-25
-46
-50
65
0
20
-1
-1
30
-2
6
0
11
0
-7
0
4
52
2
20
12
10
4
-1
-2
-60
-9
-40
32
71
-62
-21
45
9
-15
5
-19
-1
125
-152
-4
-37
-31
1
-35
-33
-20
-3
-2
-18
-50
-20
4
10
-6
-3
45
1
-27
-34
78
33
-11
-5
21
25
-4
-15
42
-3
2
-16
-14
-5
4
18
0
-2
0
-2
-48
15
39
-46
-6
0
-11
0
-45
-18
36
21
-33
-5
0
-5
26
-14
-13
-1
-77
-29
27
-26
-14
-92
63
45
90
-11
-29
-3
30
-92
26
-39
47
-23
2
-62
-57
8
-23
0
-10
0
-10
31
45
-46
2
-22
3
32
0
-8
9
0
-7
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
-31
0
0
0
0
0
0
-36
0
0
8
0
0
0
0
0
0
0
0
0
-5
-18
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
-27
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
-5
0
0
0
0
0
0
-63
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
-1
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
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-17
0
0
-1
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
1
0
0
-25
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
11
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
2
0
0
18
0
0
-23
23
0
0
14
29
0
9
9
0
-2
-5
0
0
-2
-41
0
0
5
0
0
0
5
0
0
-5
0
0
0
-47
0
38
3
0
-2
0
-4
0
0
0
0
8
0
-12
0
0
0
0
0
0
37
0
0
0
0
0
0
27
0
0
1
0
0
3
-14
0
0
0
0
0
0
-74
0
0
5
0
8
-2
-46
0
0
-1
0
25
0
22
0
0
-2
0
0
0
-84
0
0
0
0
-9
0
2
0
0
11
0
-18
0
-61
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-20
0
15
0
0
0
0
-10
0
0
0
0
-1
0
48
0
0
0
0
0
0
-31
0
-1
0
0
0
0
5
0
0
3
0
0
0
99
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-22
43
-3
0
116
40
0
0
70
0
0
12
-42
13
-38
17
8
0
-9
-13
-7
0
14
0
0
-72
-38
0
0
-46
45
0
16
-5
0
0
-56
0
0
0
12
0
-52
-29
-33
0
0
-36
0
3
0
-1
0
0
-30
49
17
0
-1
0
0
-25
83
0
14
0
0
22
4
-17
-33
-44
-24
0
-20
0
0
-4
83
0
0
-17
-29
-1
-2
-9
43
0
31
13
0
-2
32
0
0
-9
-11
0
1
-16
-11
0
0
34
0
0
48
0
0
0
41
0
0
66
-45
0
0
4
15
0
0
0
0
0
2
-27
0
-2
-10
0
8
-25
0
-72
19
0
0
-6
-14
0
35
6
7
0
45
-17
0
0
-33
-2
0
20
22
0
24
6
-1
0
7
-30
2
-4
-4
8
0
2
26
0
-14
9
34
0
3
25
0
-69
0
0
0
0
25
7
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
33
0
0
-29
0
0
-13
-80
11
21
-15
13
0
-17
-1
0
0
-33
0
0
0
-9
0
0
-34
21
0
0
91
0
0
3
0
0
0
-22
0
-5
-1
6
0
0
9
-1
0
0
0
2
0
-3
11
4
0
0
0
0
-40
-10
0
1
0
0
16
81
-3
-9
8
-4
0
8
31
0
-3
6
0
9
-7
-34
0
10
-2
0
-4
0
-107
0
-5
7
0
0
-3
-60
0
0
61
-9
0
0
46
0
0
0
0
6
0
5
0
0
0
0
-32
0
-10
0
0
0
0
0
0
-5
-11
0
-1
0
0
0
-7
0
0
1
0
0
0
-9
0
-1
0
0
0
0
0
0
33
4
0
0
0
-45
0
0
1
-1
0
0
16
0
10
-4
0
0
0
-22
0
0
0
-1
0
0
-9
0
37
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-1
-41
28
33
29
49
-10
-51
-35
25
-5
45
45
-3
-8
17
67
-7
20
8
-5
66
37
23
-28
4
0
-6
-17
78
10
5
3
8
-17
21
13
1
18
10
-69
-8
19
21
14
36
18
5
8
24
-7
-25
10
21
-90
0
-49
-106
-39
33
-5
-67
-46
-20
-110
-95
6
6
54
-11
19
-40
7
0
-17
1
-17
24
-5
7
6
6
26
-12
35
1
43
97
37
-5
-16
-7
50
10
-18
-38
-1
-3
5
15
-8
45
7
53
-1
53
-28
-5
13
3
-43
-12
-23
25
-24
60
-16
-114
0
-49
-4
-35
-96
-93
-70
-22
-15
-101
-45
-54
-7
14
-12
4
-10
-1
-36
-20
40
-21
-105
32
64
-50
27
40
-32
11
2
7
7
69
-43
5
-40
35
25
-16
-2
45
-6
76
-9
22
58
-3
12
4
-30
4
-35
-48
-15
-45
5
-44
36
-64
-5
-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
123
50
18
-1
2
1
7
-36
92
-6
54
117
19
-16
-15
32
-13
53
46
-2
32
-21
-48
-2
2
29
-39
5
22
1
2
-5
12
-2
-53
25
-36
0
-4
-20
-21
-64
3
-33
1
-1
0
56
-46
0
10
-6
43
2
-35
19
3
15
-14
9
19
0
0
74
48
101
95
10
152
26
62
47
15
-17
3
24
-21
16
35
19
-60
-27
51
-4
0
11
15
0
34
-11
43
-3
-12
0
52
-62
-11
26
-7
-42
0
0
21
0
-22
1
-23
0
2
-43
61
-24
0
-3
-14
0
0
0
8
-5
21
20
22
-17
-4
0
57
-112
-25
-3
-36
8
20
26
-22
-10
29
90
-3
-5
-69
-26
31
73
45
-4
7
-32
-42
5
-87
40
68
-34
24
-30
0
4
0
2
-3
5
-19
5
5
-62
-14
-45
-1
-6
0
40
-21
0
35
0
-27
98
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
5
14
-32
-1
-9
28
-49
2
24
1
-1
33
-66
16
62
-13
-18
9
-37
28
37
0
-2
-61
21
87
37
33
0
-5
43
15
-105
7
-82
0
-1
-26
14
-11
0
-11
-1
0
0
-5
-4
0
77
26
-32
0
-103
-2
6
-16
-67
15
7
0
6
110
25
22
-15
130
37
-31
-8
63
-7
33
-6
0
-24
-71
-22
62
-14
-74
56
79
-82
-46
23
26
-73
-8
36
14
-2
1
1
-79
-44
-6
-4
-45
19
25
-7
0
24
0
25
1
0
-17
-43
-32
2
-26
-1
0
0
0
9
-10
-29
-99
-11
5
-2
8
3
-23
5
77
-7
0
0
6
-15
5
74
-99
5
0
52
-16
9
-23
8
6
-6
27
-12
-3
5
-43
-102
22
-14
-5
25
-87
-20
-8
-30
0
-109
1
1
23
-56
3
0
13
3
-12
0
0
-3
0
-49
-20
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
68
29
25
-7
-23
-2
11
5
-6
-45
90
7
-79
-2
33
-13
2
-23
-15
14
15
84
-4
0
8
17
82
7
19
24
0
21
35
0
33
4
18
0
16
-116
41
50
-1
19
-3
-2
10
0
19
0
41
17
60
0
-3
-1
-2
-16
48
11
-26
4
1
54
44
-24
93
59
26
15
-2
-21
7
5
-50
-15
-47
-33
0
15
-24
39
18
43
-47
8
0
-51
29
-32
-6
-7
-45
0
-8
-20
-25
-31
-1
-22
-1
-7
52
0
41
0
43
0
-1
-3
-67
-92
0
12
26
-1
0
0
-3
1
-15
-44
-1
0
33
-2
11
43
8
-144
-14
-1
5
47
5
-5
-55
-29
27
-22
40
-7
5
7
21
7
29
6
-38
-4
-11
-52
36
-6
0
-6
0
-37
-1
26
4
0
-28
-14
0
-121
10
5
2
48
0
86
-2
0
1
0
2
-31
-3
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
1
-42
0
0
25
0
0
48
-6
0
-5
-3
0
3
-16
-24
0
21
-23
0
0
32
4
0
0
-57
0
-1
-3
-45
0
0
-10
0
0
0
-8
0
3
-4
0
0
0
5
0
0
0
0
1
0
1
-8
0
0
0
0
0
-59
-2
0
0
0
0
0
19
0
0
-9
0
0
0
-55
0
0
-1
0
0
-9
-116
0
1
-53
0
0
10
58
0
-1
1
0
0
-1
-88
0
0
-17
-4
8
0
82
0
0
0
0
0
0
0
0
0
0
0
24
0
-13
0
0
0
0
-13
0
2
1
5
0
0
0
0
34
0
-13
-1
0
0
0
-77
0
0
0
0
0
0
33
0
0
31
0
0
0
-80
0
2
-7
0
0
-3
-39
0
-2
0
0
-2
0
2
0
0
0
0
-1
0
-5
0
-7
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
3
0
6
2
0
0
0
-25
0
0
0
0
0
0
14
0
0
0
0
0
0
-37
0
0
0
0
0
0
3
0
3
0
0
0
0
2
0
0
0
0
0
0
-75
0
1
0
0
0
0
-33
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
0
0
-8
0
0
0
0
0
0
3
0
0
0
7
0
0
-17
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
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
100
5
5
-7
-21
23
-13
-8
55
-6
-51
-29
-68
-1
-6
48
-10
43
15
-8
0
1
10
-4
-10
-3
-71
0
-75
-26
27
-34
0
-70
0
1
7
0
-7
0
32
-55
-9
5
19
2
0
-13
103
-80
13
1
-5
109
-3
2
25
-59
-8
-5
46
1
5
30
-18
-2
56
-78
48
25
-52
4
97
-41
-27
-20
0
36
-44
-43
142
-4
-12
-5
-8
-4
2
-78
2
-33
0
0
5
1
17
3
38
0
-2
14
53
-10
0
51
20
0
0
0
-2
0
-98
18
-13
14
-1
7
9
-32
-2
101
-17
0
-3
4
-63
-2
34
1
-19
0
-20
29
13
24
27
0
27
10
-56
-7
-78
-84
-72
-15
-14
13
-4
-9
9
-5
-32
-2
-9
-2
2
63
-70
10
0
10
0
10
11
0
20
0
60
-52
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-12
-21
-15
-88
36
-15
9
0
48
3
-49
8
-15
-8
60
10
-40
-51
22
-3
-4
-62
17
-70
-42
-46
-28
58
-12
-51
11
-8
42
-1
34
-41
24
69
34
2
-14
2
-44
-43
33
-12
-44
-1
31
-34
-105
-138
-40
-76
0
1
20
-26
-5
-22
-39
13
-11
-9
-57
-37
-7
11
-2
2
25
-23
-32
-31
-32
-8
-62
1
23
30
-62
62
-11
1
-54
30
0
67
1
-9
-33
-10
45
-69
9
-15
-19
20
51
51
23
-27
-16
11
-32
-101
-10
13
-21
-70
-12
-13
-18
-80
5
42
-44
0
-121
19
-48
-92
-40
-111
-18
-58
-32
-24
4
7
-82
-20
3
-9
-66
47
54
60
-3
87
11
26
19
-7
-8
-16
-5
-9
8
70
72
17
1
26
-11
-7
23
-25
48
-7
-54
25
-86
-71
32
-44
24
28
-23
-3
22
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-66
-48
-1
0
-21
113
0
2
-19
0
0
-8
36
0
0
0
1
0
0
-58
0
0
-1
0
0
0
-5
0
-16
0
-2
0
0
118
0
0
0
0
0
0
-34
0
0
0
0
0
0
25
5
0
0
0
0
0
-63
0
2
20
-6
0
-1
-7
0
1
-1
0
-8
4
22
0
0
11
2
45
0
-14
0
4
0
0
-2
0
5
0
0
7
-9
-2
0
-14
0
0
-2
0
-34
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
51
0
0
-9
-2
0
0
94
-1
-2
-2
0
0
0
32
2
-4
-2
0
0
0
-18
0
5
0
0
0
0
19
0
-7
0
0
0
0
-33
0
0
0
0
0
0
80
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-87
54
18
0
10
62
0
0
0
0
0
-3
8
0
0
6
-7
0
0
26
0
0
0
0
0
0
32
0
-11
0
2
0
0
9
0
0
0
0
3
0
-12
0
3
0
0
0
0
-34
-6
0
-9
0
0
0
130
0
0
0
0
0
-5
-55
0
0
4
0
0
3
81
0
0
10
0
0
2
72
0
0
0
0
0
0
15
0
0
-1
-23
0
0
17
0
0
0
0
0
0
7
0
0
0
0
0
0
-120
0
0
0
0
0
0
-14
-10
0
0
0
0
0
-1
-9
-3
3
0
0
0
-45
0
1
0
0
0
0
-21
0
-2
0
0
0
0
-23
0
0
0
1
0
0
24
0
0
0
0
0
0
6
0
0
-1
0
0
0
-40
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
13
1
-49
8
36
4
-5
58
18
19
-5
22
-13
0
15
39
-5
-7
14
35
-18
42
11
-3
63
-54
-3
-3
-40
5
-3
-12
43
-9
-50
-3
18
-2
-11
-39
0
6
0
24
-30
-58
-1
-1
-13
-5
28
0
60
6
14
69
81
38
164
97
35
44
31
7
37
-97
12
-59
1
-23
13
5
116
-4
21
73
-8
64
36
-24
-34
14
110
-6
18
12
49
22
-21
-20
27
-14
6
-5
-3
-12
16
29
-7
16
-3
-5
13
-87
9
0
25
14
-2
0
0
42
87
15
39
67
-5
-46
0
39
-8
55
-18
-128
14
-54
-3
34
-1
97
42
80
61
32
8
74
19
-34
-21
11
54
11
-52
23
54
11
65
22
11
9
2
-4
52
36
13
-9
32
5
-100
49
17
0
15
-1
-9
-7
11
7
0
6
28
-4
0
-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
-4
24
0
15
15
0
0
0
4
0
0
0
0
0
0
33
0
0
0
0
0
0
110
0
0
0
0
0
0
2
0
-10
-4
0
0
0
53
0
0
0
0
0
0
-15
0
5
0
0
0
0
-16
0
0
0
0
0
0
-27
0
0
-1
0
0
0
-27
0
0
11
0
0
0
-5
0
0
3
0
0
1
24
0
0
1
0
0
0
-39
0
0
2
0
0
0
-73
0
0
0
0
0
0
-35
0
0
0
0
0
0
25
0
0
0
0
0
0
14
0
0
0
0
0
0
-21
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-9
0
1
0
0
0
0
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
1
-15
0
-9
78
0
1
-1
0
0
0
10
0
0
-1
0
0
0
-5
0
0
-4
0
0
0
-38
0
45
0
-6
0
0
-69
0
0
0
0
0
0
-10
0
0
0
0
0
0
107
-7
-5
-14
0
0
2
47
0
0
2
4
0
2
60
0
0
11
0
0
-8
43
0
0
25
-3
0
0
-1
0
0
-4
0
0
-3
50
0
0
0
6
0
0
78
0
0
0
0
0
0
6
0
0
0
5
0
0
-49
0
0
0
0
0
0
-54
0
0
0
0
0
0
137
0
-1
9
0
0
0
98
0
-3
1
0
0
0
-5
0
0
1
0
0
0
52
0
0
0
0
0
0
5
0
0
-3
0
0
0
41
0
0
-2
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
35
55
9
58
-78
-22
16
-3
-5
-7
-12
-3
-21
-6
-2
53
10
-60
4
20
75
-11
56
16
-42
9
2
0
5
-1
-43
-55
0
-17
-19
1
0
31
-55
3
62
48
35
126
24
-4
-30
-3
49
62
40
-44
-4
-42
-42
-27
99
-1
5
-9
-27
24
108
-34
-58
-63
6
43
-3
-45
-72
47
-96
11
45
-24
8
69
38
3
8
-4
-8
4
-25
14
-17
33
0
12
-2
5
-4
-41
-17
0
-33
9
-2
0
-18
-23
0
32
57
-16
27
5
-1
-11
-7
21
25
121
18
-1
-40
9
95
40
-71
17
1
14
23
-8
20
35
124
-50
-13
-33
50
65
5
-11
23
-3
13
8
51
52
23
73
1
27
73
-8
61
6
90
-7
-9
-2
48
-23
5
-7
0
-13
27
26
13
-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
15
18
14
-90
-19
-33
-17
7
21
9
10
31
15
-32
-9
17
-3
-16
19
-12
-58
24
54
-26
7
-3
34
-89
-24
-6
-2
43
-5
93
-17
0
-13
6
68
0
63
5
-19
-3
-33
-33
8
5
-63
-23
7
55
-16
-40
-16
55
-101
0
48
19
-38
39
16
-139
-2
71
-25
-36
-16
71
-4
2
41
-51
28
-31
9
-65
-4
-51
-17
49
22
-51
-21
-6
-6
-26
25
17
11
-29
5
-3
-13
94
24
20
1
5
50
5
5
69
0
-4
20
64
17
-29
-18
-15
-53
-68
-88
19
-51
5
-34
-41
0
74
132
-94
-67
-3
-19
18
124
-4
-86
-81
26
-189
-23
-45
-47
-75
-24
36
-67
10
1
23
-32
8
-48
11
14
0
31
7
44
67
29
18
-3
23
-6
71
44
-1
-14
-45
-7
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
2
0
0
19
10
0
0
21
0
0
0
35
0
1
4
0
0
0
-66
0
27
0
7
0
0
-27
0
0
0
0
0
0
-19
1
0
0
0
0
0
-44
-1
0
0
0
0
-6
87
0
-3
-7
0
0
0
-142
0
-3
25
0
-7
-6
36
0
4
-114
0
0
0
13
0
0
-1
1
0
0
-71
0
0
-3
-4
1
0
-66
0
0
0
0
0
0
21
0
0
0
0
0
0
11
0
0
0
0
0
0
33
-2
0
5
0
0
0
-23
0
-5
0
0
0
0
134
0
0
6
0
0
0
-64
0
1
0
0
0
11
-43
0
-3
19
0
0
0
32
0
1
2
0
0
0
-3
0
0
0
0
0
0
41
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
10
-1
29
28
-53
-83
107
-3
-30
5
24
-49
11
-21
-43
22
0
5
20
-5
2
-26
37
-6
11
14
35
21
0
4
-1
-1
-29
0
12
0
44
-34
-47
0
28
9
-2
-22
50
14
1
-8
-4
-14
-41
-33
41
12
-36
-3
-44
3
8
-29
52
-11
5
64
-36
42
40
-47
21
59
-20
-44
-3
-2
0
-33
-62
-76
-23
-3
-27
6
10
-40
2
10
-4
-14
56
-25
58
0
-3
-3
-5
-6
-80
-21
0
-4
-3
-6
0
-2
42
26
-33
48
-3
-21
0
0
-21
-38
-58
-9
71
-14
20
-20
-5
31
61
16
3
-1
-71
18
23
-41
-35
8
71
76
-6
-3
-15
80
67
-1
-20
-16
-3
-53
32
49
55
46
-13
-6
-1
-56
18
112
-2
-2
0
-146
5
1
-31
0
1
-64
11
-2
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
17
17
-19
-5
16
50
17
-10
7
-5
31
-9
11
-28
44
10
-20
-5
28
16
42
-28
0
0
-6
76
-4
47
-8
3
87
0
-2
23
-85
1
15
48
-11
0
-15
-52
63
40
-4
-63
61
14
1
-39
14
7
-2
-80
-110
60
21
-3
69
55
-4
14
-22
-5
27
3
28
15
-74
23
71
10
47
141
11
-23
15
-19
-10
19
-42
-23
-1
40
36
3
2
76
53
1
68
-13
-8
57
114
-9
-53
0
0
10
-14
10
0
-19
-27
-15
85
27
6
-16
-1
39
2
21
94
26
100
10
-24
-39
37
17
-1
31
-23
-33
-60
37
107
68
-22
-1
-21
-68
24
-9
-12
-12
34
-111
-10
2
-25
-11
-35
20
24
15
-13
17
-25
-12
24
0
23
-8
-1
68
-32
-10
59
-4
5
-1
-3
30
-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
14
3
-2
-6
15
0
-20
-80
-14
0
-17
-22
0
47
36
-10
0
-3
-12
0
52
91
-5
11
24
-53
-4
-17
0
6
0
1
1
0
5
0
-1
75
0
0
7
19
0
5
1
9
71
-8
0
40
-4
9
-14
36
-14
3
102
-3
1
-31
15
0
6
15
7
-1
15
-28
2
-21
116
1
0
-18
37
8
-18
54
-21
-5
-1
13
-39
1
-12
-18
-9
0
5
0
-5
-8
5
0
0
34
0
24
0
3
-4
0
0
0
-35
-17
-19
-1
-23
6
0
0
-33
34
-29
-12
-94
0
8
-68
-29
-1
-46
-23
0
0
36
19
1
-40
-85
-2
20
76
-31
1
-40
67
0
-23
-39
31
-9
23
30
4
44
90
22
0
4
4
9
0
0
-1
0
43
-9
0
59
0
-23
-74
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
85
0
0
-7
54
0
0
-43
0
0
17
-57
0
0
-3
0
0
0
-8
0
-14
-1
-47
0
0
15
0
-4
0
0
0
0
49
-8
-13
0
0
0
0
76
-4
0
0
0
0
0
-46
0
-1
8
-34
0
30
20
0
0
1
0
0
90
13
0
0
-36
2
0
33
53
0
9
27
0
0
27
-14
0
0
5
-3
0
0
-24
0
0
14
0
0
0
89
0
0
0
14
0
0
45
0
0
0
0
0
0
-55
0
0
0
0
0
0
73
0
-5
-2
0
0
6
99
0
-1
36
9
0
0
98
0
-5
59
0
0
14
6
0
0
-17
23
0
0
-59
0
28
27
0
0
0
-33
0
0
0
0
0
0
-17
0
-19
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-33
3
12
-13
33
-16
15
-34
20
20
-36
26
-13
-1
3
-29
2
-38
-5
6
6
17
-5
-11
-23
0
25
-7
23
-1
46
-25
1
38
-15
24
47
6
-5
58
44
-24
-65
53
45
7
15
-4
-11
-30
4
2
21
-123
0
63
71
9
18
21
-8
6
-20
73
14
4
21
20
22
-25
22
18
2
17
11
0
-10
-23
39
-6
21
-6
-10
-1
6
-3
4
1
4
6
-3
5
0
26
-56
-2
19
23
13
42
24
0
-7
-14
-40
-69
148
-8
-5
72
11
14
12
92
102
-15
-3
-22
-27
44
-15
35
-77
-10
-11
-25
26
21
2
-7
5
0
14
15
-24
-42
43
-8
2
0
-1
26
-25
38
6
8
3
-20
28
2
-5
0
24
-27
-17
43
-53
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-4
-127
-14
33
7
47
2
-33
-5
9
48
-28
73
-23
20
7
36
-8
-58
79
-2
25
-5
58
-29
-19
1
2
28
-24
4
5
31
-46
18
-40
-2
-15
-3
33
-12
4
56
7
21
-19
-93
13
-5
5
-22
2
10
17
-20
0
-26
11
43
13
6
-26
5
-15
-61
-18
-9
25
-1
14
97
7
28
-19
19
43
-3
-81
85
6
-9
5
-62
-19
-22
-37
16
78
18
-4
16
52
-13
-5
21
66
40
16
53
-42
7
-36
14
-59
-10
28
23
-4
-15
-48
34
-6
54
-6
6
15
30
-67
0
3
31
-24
23
-70
-71
-14
61
14
-16
-29
22
-105
-16
-10
-14
2
-78
120
33
18
73
-13
81
3
-23
-44
14
8
-35
-8
4
71
9
63
-12
-46
22
-42
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
16
0
0
0
-19
0
0
-2
0
0
0
-27
0
11
1
0
0
0
6
0
0
0
0
0
0
-15
0
0
0
0
0
0
62
0
0
-4
0
0
0
50
0
0
0
1
0
0
30
0
0
7
0
0
0
5
0
0
6
0
0
7
14
0
-1
0
0
0
0
-36
0
0
-4
-9
0
0
34
0
0
0
0
8
0
48
0
0
0
0
0
0
-9
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
4
0
0
0
0
-86
0
0
-2
0
0
0
33
0
0
-6
0
0
0
45
0
0
-1
0
0
0
-43
0
0
0
0
0
0
30
0
0
3
0
0
0
131
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
51
5
0
4
-22
0
0
-9
0
-7
0
-26
0
52
0
22
0
0
16
0
0
0
0
10
0
72
-9
-8
0
-1
0
0
49
-9
-1
0
0
0
0
25
0
0
-10
39
0
25
-81
0
0
21
0
-1
-4
22
0
0
30
0
5
-1
-17
0
0
-14
0
-3
0
60
0
-5
22
1
5
0
68
0
0
0
0
-6
0
-8
0
0
6
0
-2
0
53
0
0
0
0
0
5
-45
5
0
0
0
0
0
5
18
0
4
0
0
0
-105
0
0
10
8
0
-3
9
0
-2
4
0
0
0
-4
0
0
0
-1
0
11
-31
0
-18
0
0
0
0
10
0
0
0
-11
0
0
9
0
-11
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-4
7
-66
72
-20
79
4
0
-14
-60
2
74
-42
16
0
-44
-2
7
-25
0
4
-1
-4
-1
-1
-11
0
-10
-27
-46
0
45
0
-24
61
101
22
5
27
-14
-20
47
30
-142
123
38
-18
1
-25
18
-41
-50
-3
53
-16
-11
45
56
69
49
-45
85
22
-15
71
11
18
10
40
28
0
-10
-13
34
-70
-21
19
-17
-4
6
6
48
-3
-21
2
-2
0
41
56
0
8
-2
2
0
0
1
0
33
-53
-3
14
76
2
46
-17
0
-16
-5
0
0
42
56
33
-51
8
-10
2
-16
-32
-30
-38
-33
2
25
2
30
-29
68
33
32
33
100
20
0
-15
-44
-3
61
-10
45
0
14
-2
-62
65
-1
-16
0
5
0
0
-14
0
-14
-34
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
61
0
0
35
7
0
-2
-122
0
0
-3
0
0
0
-25
0
-29
0
0
0
0
28
0
0
0
0
0
0
-21
-5
0
0
0
0
0
6
-7
0
-4
0
0
-1
-103
-17
0
-11
0
0
0
-8
0
0
-3
0
0
4
70
0
0
-10
-2
0
-4
-4
0
0
9
0
0
7
18
0
0
-32
0
0
0
-68
0
0
0
0
0
0
45
0
0
0
0
28
0
41
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
-13
1
0
0
0
10
0
0
0
-2
0
-6
45
0
-7
2
0
0
0
60
0
0
-1
0
0
0
-18
0
16
7
0
0
0
-22
0
0
6
0
0
0
38
0
-21
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
57
-60
0
0
-73
0
0
-5
-86
0
9
14
0
0
-2
23
0
93
-3
-20
0
0
-16
0
0
0
0
0
0
46
-14
-5
0
0
0
0
-4
-28
0
-4
0
0
29
-67
0
4
67
87
0
40
-24
0
1
-22
0
0
-14
148
26
0
47
11
0
-64
12
0
2
-47
0
0
5
-14
0
0
5
-45
0
4
24
0
3
0
0
0
0
-33
0
0
0
-1
0
0
-33
7
0
0
0
0
0
-59
-7
0
4
0
0
0
-15
0
7
-2
0
0
0
-48
7
0
-74
-1
0
-9
-7
-3
-6
-20
0
0
-3
-14
0
-1
-8
-6
0
17
55
-7
-14
-7
0
0
7
-1
0
0
-6
1
0
0
-25
0
-22
0
4
0
0
30
-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
10
0
-3
41
-3
2
0
39
0
88
-6
29
-26
0
8
0
0
0
0
-33
0
15
-20
7
0
-25
-3
0
-9
48
-1
25
0
7
5
53
54
62
-1
18
9
3
6
-7
18
27
-2
-15
-5
-11
-8
0
38
-97
2
-1
-26
13
-17
-5
18
14
0
45
0
4
22
-53
41
0
-3
0
2
47
-17
-111
0
11
0
-1
-4
-90
14
0
-44
-8
0
0
7
-4
0
-36
-3
5
15
8
4
-7
32
0
-52
23
0
24
6
43
5
2
-33
-10
-10
-3
-20
-1
-17
-131
0
24
0
-3
-3
-13
-54
-32
-2
0
-36
0
-88
-65
0
3
0
-20
-1
3
3
22
-1
0
-7
0
-3
-4
-13
-5
0
49
-23
6
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-21
23
55
-36
-40
-16
2
-35
54
-27
-45
90
-15
1
32
42
2
-33
1
-14
-15
13
1
6
15
-33
4
3
9
1
18
14
30
-18
39
88
15
-4
7
-26
-13
48
73
8
-59
-8
15
-24
98
-59
54
-1
10
-36
0
24
92
9
18
-106
-40
3
-18
12
22
-17
-12
63
-11
0
-15
58
-14
11
-25
-3
0
-14
61
1
38
0
4
-14
-21
-5
28
32
14
-7
86
-47
-21
16
14
98
12
-54
21
8
6
-13
-7
22
15
-116
34
49
24
-1
-30
-12
50
30
-2
-57
33
0
-11
-104
-27
10
52
-46
-9
7
9
10
-84
75
18
-2
-2
-41
43
19
40
51
21
-3
45
81
14
17
-3
-13
36
-6
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-1
0
0
-56
0
0
0
0
0
0
15
0
9
0
0
0
0
-74
0
0
0
0
0
0
-9
0
0
0
0
0
0
-23
0
0
0
0
0
0
69
0
0
-4
0
0
1
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
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
-16
0
0
0
0
0
0
-20
0
-4
0
0
0
11
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
-6
0
0
62
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
-1
0
-9
1
15
4
0
3
0
0
0
0
0
0
-39
-4
5
0
-2
0
0
33
0
0
-17
0
0
23
32
0
0
0
0
0
0
-22
0
0
-11
0
0
22
-76
0
0
-7
-2
0
-15
-1
0
0
0
0
0
-8
-14
0
0
0
-2
0
0
-36
0
0
7
0
-5
0
-43
0
0
0
0
8
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
0
-2
0
0
0
0
20
0
0
0
0
0
0
-25
0
0
0
0
0
5
10
0
0
0
0
0
0
19
5
-3
-15
0
-10
0
-31
0
0
0
-2
0
0
0
0
19
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
-41
14
0
-10
-3
-13
62
-5
9
2
19
-2
6
80
4
-4
-2
-1
0
1
-18
0
6
-42
19
0
-33
7
-4
27
-17
19
-61
-4
-4
-52
-17
-2
-15
22
26
-51
-1
11
1
71
74
0
36
-45
-9
-3
-1
-25
-63
-72
40
-21
0
-33
-14
26
7
-13
41
-8
-9
9
-22
-26
-15
2
-5
-1
-5
0
7
-3
8
-1
-3
0
-3
14
0
22
-6
-1
0
-11
-14
-1
-11
-63
-1
1
-14
0
39
-10
20
-5
-26
-2
-16
-60
12
8
70
11
-11
-54
-71
15
6
-85
14
-7
-71
-21
5
-4
-43
5
-2
-29
-4
14
0
22
-9
-14
18
0
16
0
0
0
-95
7
0
10
0
-10
0
-20
10
0
70
10
4
-1
-60
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
49
-1
-6
87
0
30
25
87
0
11
-64
0
-5
0
23
0
0
0
0
19
0
18
39
-8
0
0
15
8
-14
57
-3
-11
0
0
-3
-55
4
-3
43
-1
-5
47
-35
0
2
67
0
29
106
1
0
6
-41
0
33
12
42
0
14
5
-5
-1
137
-36
0
3
17
0
27
-2
27
0
0
-55
0
25
0
-1
0
-1
63
0
-26
0
2
44
0
0
0
0
0
-39
-6
-3
0
0
0
-3
23
-3
-38
-7
0
0
-16
-37
-6
-5
-67
0
2
19
-46
0
10
-196
0
0
-9
14
-9
4
34
0
19
-6
19
0
-62
-35
0
-21
-5
17
0
0
59
0
4
0
-18
0
-10
0
0
-15
0
42
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
-5
0
0
0
66
0
0
0
62
0
28
-5
-25
0
0
-24
0
2
0
0
0
0
8
31
-64
0
-5
0
0
14
0
0
-13
0
0
0
8
0
0
120
-2
0
6
21
0
-2
-42
0
0
30
-18
0
0
-42
5
0
-14
16
0
0
-37
0
0
36
-24
0
0
-34
23
0
15
47
0
0
1
0
0
0
58
0
0
0
117
0
0
45
0
0
0
1
0
0
16
1
0
0
0
0
0
-23
0
44
3
0
0
8
25
25
-5
-4
0
0
7
79
0
0
59
0
0
-2
-48
0
2
51
-3
0
-2
99
0
-56
9
0
0
0
46
0
0
6
-19
0
0
4
0
44
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-27
8
0
28
0
0
-20
0
-4
0
0
7
23
0
-13
0
0
-2
-35
0
11
0
0
-2
10
32
-5
-7
-23
0
0
17
0
8
-15
0
13
2
31
0
-16
-20
-25
14
0
-17
-1
0
29
-1
-3
0
44
0
3
20
78
-1
0
-15
0
0
74
0
16
0
46
0
0
0
-13
53
0
-8
0
0
0
0
0
0
-24
0
2
0
0
0
0
19
0
-14
-4
0
0
0
11
0
2
-38
6
0
0
-41
0
20
-9
14
-11
0
-55
0
-27
-40
-67
14
0
-27
0
96
-54
0
0
0
7
0
0
-31
-57
-2
0
-53
0
4
-5
-13
5
0
72
6
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
19
-7
-53
-41
71
56
-50
-44
-2
0
-16
-19
-20
-13
-9
-35
58
1
-39
51
14
-53
33
71
20
5
34
5
-32
-5
10
13
84
-94
25
-3
-81
-6
25
-95
-56
3
-51
-75
43
-7
-34
21
37
18
5
-43
0
1
126
49
36
42
-7
-7
0
21
1
-67
-10
-5
11
5
-59
21
-19
-14
-1
-24
-44
65
16
-22
-60
16
22
-3
-68
-4
-37
43
33
50
-61
-65
86
-6
-64
-5
-14
76
51
1
9
-43
-45
18
101
25
6
-83
-65
46
0
11
62
1
10
34
-81
0
-29
-17
-10
-57
20
2
5
-7
21
70
10
3
18
3
24
-12
6
-52
27
-3
0
15
25
33
-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
17
0
-2
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
1
1
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
32
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
-3
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
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
16
0
0
0
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
-9
0
0
0
0
0
0
-18
-4
0
0
0
0
0
-64
0
0
0
0
0
0
-9
0
0
2
-2
0
1
3
0
0
-3
0
0
0
65
-8
0
-8
0
7
0
-54
0
0
-2
-9
3
0
-15
0
0
2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
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
0
21
0
0
0
-1
0
0
-18
0
-3
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
95
49
0
2
0
11
-54
-13
5
0
0
0
56
-27
0
-5
-2
-60
0
29
0
7
2
23
0
2
8
0
-48
38
4
10
-24
-5
-11
130
28
-4
29
25
0
8
50
3
-1
8
32
-10
8
-17
-25
0
-3
-17
-14
36
32
23
0
-7
-3
31
33
5
3
0
4
9
-6
22
39
35
0
0
0
-16
-40
0
10
33
0
0
2
51
0
-4
11
0
6
9
-4
11
-56
0
-43
13
-2
0
-7
-8
-17
-33
-29
10
-29
-33
-22
-13
1
0
0
-90
-3
46
0
-6
-11
33
-14
5
-4
0
-48
27
-33
6
10
47
0
0
-9
2
-46
0
32
1
-10
0
0
10
0
21
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-30
-3
0
0
0
6
0
0
0
0
0
0
-19
-3
0
0
0
0
0
-98
0
0
0
0
0
2
14
0
0
0
0
0
0
-24
0
0
0
0
0
1
4
0
0
-15
4
0
0
-45
0
0
9
0
0
18
-30
0
0
6
0
0
0
-27
0
0
0
0
0
0
43
0
0
0
0
0
0
-39
0
0
0
0
0
0
-29
0
0
0
0
0
0
-3
0
0
2
0
0
0
-14
0
0
0
0
0
0
2
0
0
-1
0
0
7
-24
0
0
-4
0
0
0
-25
0
0
7
0
0
0
95
0
0
0
0
0
0
-36
0
-7
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
6
0
17
-4
81
0
0
84
0
0
0
0
0
0
2
14
20
0
14
0
0
36
-19
0
18
0
0
-6
-27
0
9
15
16
0
30
11
0
1
34
0
0
4
-12
-2
0
-27
16
0
18
9
0
-3
21
0
0
-4
25
0
0
66
43
0
13
18
0
0
68
0
0
0
93
0
0
0
-63
0
0
1
0
0
0
0
0
0
74
0
0
0
0
0
0
-25
0
-20
14
0
0
0
53
0
0
5
0
0
0
76
0
0
3
0
0
0
-2
0
10
-2
7
0
0
-53
0
-22
-29
0
0
0
20
0
0
-22
7
0
0
26
0
6
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
5
0
0
1
0
-1
0
-45
-7
1
0
0
6
0
-27
-5
0
0
0
0
0
-38
-1
5
-7
-2
0
0
26
0
4
-5
0
0
0
62
0
0
60
5
0
0
-37
0
0
-6
0
0
0
57
0
0
20
8
0
0
-16
0
0
-15
0
-8
0
70
0
0
0
0
-6
0
20
0
0
0
0
0
0
-103
0
-3
0
0
0
0
-3
0
-20
0
0
0
0
-27
0
3
10
-6
0
0
3
0
-2
-13
0
0
0
-55
0
0
-3
8
0
0
57
0
-15
0
0
0
0
44
0
0
0
-15
0
0
-14
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
0
5
-3
2
-14
-4
-55
1
5
26
67
2
12
2
0
-6
73
-24
23
10
-10
1
-15
80
-53
-27
1
57
12
-3
-61
66
39
-1
76
0
13
-50
-33
3
-51
9
-9
-11
2
-84
-6
29
50
58
-14
37
-29
24
48
57
-14
0
-33
-11
18
38
-48
10
60
4
22
-6
40
63
3
18
-5
-3
-1
-15
76
36
-32
32
10
34
-40
6
-44
-24
92
12
80
4
90
27
-11
87
-2
11
94
21
-179
-20
40
2
-10
-114
71
-42
22
-19
35
-36
-51
5
21
25
17
-14
73
-30
8
23
0
-2
-18
84
63
11
-4
22
2
64
-23
45
25
0
8
-26
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
8
0
0
0
0
0
0
-13
0
0
9
0
0
0
-32
0
0
-1
0
0
0
5
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
-4
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
19
-3
-5
31
-3
3
0
-5
-36
-1
0
5
-6
34
2
-17
49
-67
5
-22
31
17
73
-65
-37
20
43
31
-4
-25
59
-77
-22
-35
-22
24
50
-51
1
35
-3
20
-6
-6
81
11
-48
18
31
-10
-16
4
73
46
-11
-9
10
1
5
44
-27
80
-7
23
1
27
-30
14
25
0
-2
-32
6
-2
27
-2
17
-29
-32
-33
-33
-23
-2
-11
-58
7
-32
50
-32
1
90
-30
-3
-31
1
-12
-5
-10
-7
50
86
-33
44
-4
43
-7
-5
-11
41
21
30
28
-34
-8
87
44
15
-36
-17
-35
-2
22
-12
-11
98
3
12
-2
3
-10
-71
59
0
62
-3
8
-21
52
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
16
0
-53
-17
-8
0
24
0
0
-32
-5
0
1
0
0
-10
-27
-7
4
-50
17
-14
20
11
0
1
-8
0
0
49
5
0
2
9
-51
29
2
39
5
-2
18
5
-47
0
-36
0
10
0
-42
7
0
10
0
0
-8
-3
-4
0
16
0
-8
0
-1
24
0
-18
6
0
0
0
0
0
-48
1
-2
3
0
0
-5
-1
-11
-12
-9
0
0
4
-23
0
1
0
-8
-6
-7
-51
1
-5
34
0
0
1
-15
0
-10
4
-3
36
6
-71
0
-52
-13
1
6
0
5
0
0
0
7
1
0
-13
0
37
0
0
62
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
13
-6
3
0
-11
-52
14
0
0
6
-3
22
12
-3
23
0
5
-19
14
0
89
-31
-6
1
42
10
0
-34
-17
0
-13
5
28
8
33
19
-4
41
101
17
0
-23
32
0
-9
141
-8
-6
18
76
2
42
2
10
0
0
5
0
-32
0
7
0
0
-10
2
-1
0
-11
-15
-13
0
0
-23
-1
46
-4
0
0
0
-1
8
-15
1
-80
-23
0
6
-78
44
0
-50
-22
6
101
38
38
2
118
20
0
-42
-42
-7
0
45
29
-2
34
-20
28
0
-37
4
0
50
2
4
0
0
53
44
9
-2
1
0
19
4
0
55
0
5
47
-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
30
0
0
0
0
0
0
-11
23
-17
0
18
0
0
20
1
0
0
0
0
7
-16
0
0
-27
26
0
46
0
0
0
33
0
0
-16
-56
0
-6
5
32
0
18
33
0
0
-32
0
0
1
-32
0
6
-56
3
0
1
-41
0
0
64
0
0
0
-23
0
0
-5
-2
0
0
-63
-6
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
-7
6
0
0
0
-53
0
-2
-14
4
0
25
2
0
-13
13
0
0
0
2
0
0
-14
5
0
0
-57
0
61
25
0
0
-7
5
0
0
9
9
0
0
-21
0
2
0
0
0
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
14
0
1
0
0
0
0
68
0
0
0
0
0
3
8
0
0
2
0
0
6
-71
0
0
-3
0
0
-3
-19
0
0
43
7
0
0
-51
0
5
0
0
0
0
57
0
0
0
-2
0
0
-52
0
0
0
0
0
0
4
0
0
0
0
0
0
-82
0
0
0
0
0
0
-9
0
0
0
0
0
-1
6
0
0
4
0
0
0
45
0
0
0
0
0
0
-11
0
1
0
0
0
0
7
0
0
0
0
0
0
49
0
-8
0
0
0
0
14
0
0
0
0
0
0
-11
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
-1
43
-33
0
61
8
0
9
59
22
59
33
-1
-16
12
-2
-56
-8
22
-61
-1
-22
38
-20
25
-9
-124
48
14
42
-5
2
-23
-23
65
-1
53
2
17
-3
7
33
-1
-33
-44
15
-11
99
7
-12
13
2
37
100
-10
16
0
1
6
-47
17
30
1
0
85
1
0
4
-112
19
36
83
-27
-12
-38
40
-5
78
-76
-32
24
33
101
50
-6
-4
30
-38
55
54
-6
38
22
7
-35
-44
-14
30
14
-31
-15
-12
44
-43
32
-12
1
-3
65
25
1
-43
-14
-3
8
62
-60
15
-3
0
2
-24
2
34
88
0
48
-18
-6
-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
5
0
0
0
0
0
0
-45
2
0
0
0
0
0
4
0
0
0
0
0
0
-76
0
0
8
0
0
0
76
0
0
-1
0
0
0
85
0
0
0
0
0
0
-17
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
-1
-9
0
0
0
-1
0
-5
-37
0
9
-14
0
0
-4
31
0
0
5
0
0
0
25
0
0
3
0
0
0
25
0
0
-1
0
0
0
-8
0
0
-3
0
0
0
33
0
0
0
0
0
0
-78
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
45
0
0
0
0
0
0
-3
0
19
5
0
0
0
-3
0
0
0
0
0
0
-36
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
-19
-2
2
0
0
0
0
-54
0
0
0
0
0
0
4
3
0
0
0
11
0
-65
0
0
0
0
-3
13
-82
0
0
0
0
-2
0
-7
0
0
0
0
-2
0
-111
0
0
0
-10
0
0
-27
0
0
0
0
15
0
137
0
0
0
0
-6
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
3
0
0
47
0
0
0
0
0
0
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
44
0
0
0
0
0
-3
4
1
0
0
0
0
0
-19
0
0
2
0
0
0
-14
0
0
-5
0
0
0
-32
0
0
-1
0
0
0
10
0
0
0
0
0
0
-25
0
0
0
0
0
0
14
0
0
0
0
-1
0
-50
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
5
0
0
0
0
0
0
24
0
0
0
0
0
0
-7
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
-7
0
-2
23
43
0
-4
0
0
33
-28
0
-2
14
-10
0
55
2
0
29
-10
0
0
-21
-22
0
11
2
28
0
52
-7
0
0
75
0
0
24
-37
0
0
-14
-8
0
-5
-16
0
-4
64
0
0
1
5
0
0
-5
-30
0
0
-17
0
0
0
0
0
0
6
0
0
1
-1
0
0
-27
0
14
-17
0
0
6
-40
0
1
66
29
0
0
-1
0
-4
19
0
0
-8
-5
0
-2
-52
-30
0
-3
1
0
-17
46
0
0
-9
-14
0
0
-14
-20
0
0
-7
0
-7
0
0
0
0
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-19
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
-15
0
0
0
0
0
0
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
55
-10
24
48
0
13
95
15
-33
50
9
27
11
62
-16
-10
-16
0
-27
0
-17
-5
-33
16
-2
-8
22
-19
28
-7
90
-1
7
-64
35
-34
-8
-21
-105
-20
17
0
-1
-13
49
18
-9
28
-14
24
-15
-26
-28
79
-9
-7
-16
0
-24
-33
-24
-2
16
8
-1
8
-83
-64
-2
5
110
21
17
13
89
-26
94
105
-36
73
21
-22
14
18
64
0
12
11
-16
57
12
-29
-17
-45
-19
-13
-13
17
62
8
-33
-13
-62
33
26
42
7
-17
-29
-48
5
12
-45
-17
-2
-37
3
-105
55
-23
0
-36
42
-24
34
-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
2
-9
27
-2
54
0
0
22
-19
-13
0
6
4
0
-59
3
0
78
-58
4
-11
39
24
-4
-18
-20
6
62
0
0
7
-8
18
-2
-69
4
-55
0
-1
80
13
-58
18
8
0
-1
18
-1
-15
0
14
0
-1
15
-26
-18
0
44
0
0
0
0
1
0
-25
5
0
0
-3
0
5
33
-1
144
17
0
-3
-5
9
-2
-5
-25
37
1
17
-10
-5
29
-63
2
23
3
-21
-4
-11
-59
46
-8
-4
-63
0
-33
71
0
-73
1
-26
0
14
4
91
46
0
-28
0
29
2
0
-27
0
14
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
-30
-2
0
-6
0
-3
-33
-16
78
-5
-27
-79
-10
-29
4
0
47
-44
6
-53
63
-54
-4
19
34
-11
-80
43
-9
-6
0
-87
-5
-24
7
-65
0
-3
24
17
-9
1
-33
0
0
-12
2
24
3
52
0
5
5
-72
18
0
-27
-8
0
0
0
16
0
-4
-1
3
3
3
2
0
68
-1
112
-47
0
0
32
-26
0
-1
-95
14
1
-31
-27
-14
35
-35
0
-9
25
-51
1
34
10
-38
-53
34
-26
0
-3
-33
-1
46
8
32
0
0
29
-77
54
-1
-107
0
-1
-76
22
-4
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
-3
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
1
0
0
0
33
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
6
0
0
0
0
-7
-4
0
0
73
-25
0
-5
31
0
0
11
0
-10
-14
56
0
0
109
0
-5
-15
-27
0
0
-2
0
24
0
-38
0
0
45
-1
0
0
-57
0
0
-16
0
33
0
-118
0
0
0
0
12
0
3
0
0
0
0
-2
0
14
-2
0
2
0
0
0
-20
0
10
0
0
0
0
55
0
5
-6
0
0
4
7
0
0
16
0
0
0
42
0
2
-10
0
0
0
18
0
-41
78
0
-2
0
-24
0
0
10
6
11
0
-55
0
-84
0
0
-3
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
66
0
0
0
-3
0
1
31
0
0
9
0
0
0
13
0
0
5
0
0
-3
43
0
0
-10
0
0
4
11
0
-1
17
1
0
0
0
0
0
21
0
0
0
-98
0
0
0
0
0
0
26
5
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-2
0
-4
0
0
0
0
-57
0
-3
2
0
0
0
6
0
3
0
0
0
0
18
0
0
4
-5
0
0
-42
0
-34
0
0
0
0
-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
0
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
-3
93
0
0
1
0
0
0
21
0
4
5
0
0
0
16
0
0
0
0
0
0
34
0
0
5
5
0
0
-34
0
0
0
0
0
0
-5
0
0
0
0
0
0
24
0
0
0
0
0
0
24
0
0
0
0
0
0
2
0
5
0
0
0
0
2
0
0
0
0
0
0
18
0
2
-1
0
0
0
34
0
0
0
0
0
0
1
0
-5
0
0
0
0
-5
0
0
0
6
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
-18
-32
29
5
-44
-5
-61
24
16
67
14
27
56
-7
50
-4
68
13
7
-13
-6
-1
-1
-6
14
32
0
18
25
-12
-3
-55
2
14
-49
-60
-2
36
-57
-32
6
-18
-15
0
-20
6
-53
33
-24
-1
13
29
-35
-5
-43
-18
-16
0
15
-25
2
-44
0
-66
-11
82
-50
-22
16
29
-15
33
-4
-10
22
-24
-15
78
-1
103
8
62
-44
4
27
-23
47
-26
20
25
-41
-72
7
-79
9
-39
29
16
0
-8
0
40
-22
55
-16
-17
3
15
-35
-41
59
-16
16
22
-18
16
10
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
-23
-48
47
15
110
49
0
93
12
-11
-4
-63
0
1
72
39
-14
31
4
36
2
29
8
1
0
-26
0
-25
2
33
0
1
-34
-46
5
-1
-34
0
0
9
0
54
0
-11
1
0
-3
72
-97
0
5
1
0
0
0
8
6
30
-31
-2
17
9
0
9
-45
-14
103
3
0
10
-4
16
1
-14
19
-22
0
-24
-137
-1
41
76
9
0
15
61
0
-9
-49
-7
10
4
10
-2
136
-3
-2
18
0
11
2
-6
24
-50
-4
0
84
0
24
4
0
3
0
-44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
19
-5
0
-3
-12
0
0
0
0
0
0
16
0
0
13
-1
0
0
22
0
0
0
0
-3
0
-7
0
0
0
-1
0
0
-53
0
0
-1
0
0
0
-5
0
0
0
3
0
0
-14
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
45
0
1
-4
0
0
0
-19
0
0
0
0
0
0
7
0
2
0
-6
0
0
29
0
7
0
0
0
0
-2
0
0
0
4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-10
-5
-13
-1
44
-28
0
0
-7
0
-2
-11
5
0
0
-6
0
2
0
80
11
-1
30
0
-10
0
25
0
7
0
4
0
-8
69
0
0
0
0
1
0
71
0
0
0
-10
47
0
54
-5
0
0
0
0
0
16
-45
0
0
0
0
0
96
1
34
0
0
0
0
10
0
0
-5
0
-6
0
83
-4
-2
-2
0
10
0
-14
0
0
6
-1
0
0
58
0
-5
-3
0
-3
0
20
0
0
0
-3
7
0
46
0
64
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
23
0
-20
60
0
0
7
0
0
0
-14
0
9
-4
0
0
0
48
0
0
0
0
-7
0
8
0
0
-14
-6
0
0
-45
0
0
0
0
0
0
26
0
0
0
0
0
0
31
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
-5
0
0
0
0
-6
0
2
0
0
0
0
29
0
-4
0
0
0
0
-4
0
0
0
0
0
0
1
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-34
0
0
13
0
0
0
-8
0
0
-7
0
0
0
-33
0
0
6
0
0
0
-4
0
0
0
3
0
0
19
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-65
1
0
0
0
0
0
-2
0
0
0
0
0
0
9
0
0
6
0
0
0
37
0
4
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
18
0
0
0
-4
0
0
0
-4
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
-2
0
-4
-2
-2
0
-2
14
65
0
0
-47
-21
-22
-11
15
0
4
29
-4
2
0
51
7
0
-52
18
-4
0
-12
0
10
17
0
5
0
-14
0
4
0
-19
10
0
19
4
0
0
0
-6
0
35
-26
0
0
0
0
0
49
2
18
-5
0
0
-4
4
0
-1
113
-2
1
1
87
0
-1
-1
0
-20
-4
41
1
11
-39
53
5
0
-35
0
26
-10
0
2
0
-72
0
0
26
-16
16
0
-53
0
49
0
0
8
0
-41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
32
-3
8
31
22
-5
13
14
40
117
1
-13
13
12
12
16
56
45
28
17
65
-5
-23
48
-3
12
60
-39
17
-4
-36
55
77
32
-24
-20
11
33
20
14
-28
0
-4
40
14
0
-13
26
15
28
6
25
-17
3
-13
-91
0
-38
20
23
-2
-14
-3
67
-45
-7
7
13
19
-51
-15
16
17
-34
38
103
77
36
-12
89
6
-7
-9
58
-19
-31
49
16
-8
69
3
12
-3
-18
-21
-46
17
-4
-1
-1
24
76
24
-34
0
28
-41
18
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
25
0
0
43
6
0
-17
42
-6
-2
-1
5
0
-6
88
3
1
-1
83
0
0
-14
-9
0
24
5
0
0
14
0
-7
0
16
0
0
0
1
-8
0
5
0
0
0
0
0
0
-115
10
74
0
-3
0
0
56
-5
-1
1
0
0
0
-55
4
111
1
0
0
10
-53
0
-10
128
0
0
0
-11
0
-2
16
9
0
0
-7
0
78
11
-4
0
0
63
0
2
-24
-30
0
0
18
0
23
0
0
-1
0
-49
3
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-3
43
0
0
48
77
-3
11
125
46
13
2
41
2
0
11
0
-5
-2
62
0
0
-45
39
10
0
15
0
0
6
0
-11
0
63
0
0
0
8
-36
0
17
0
0
0
2
9
0
-63
8
0
0
0
0
-9
-29
0
-1
4
0
0
3
98
-1
-13
-8
21
0
-17
50
0
105
35
0
0
9
15
0
1
84
26
0
-2
3
0
-53
-3
10
31
0
81
0
0
32
-27
2
0
-10
0
30
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
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
4
106
39
7
1
55
-4
-2
62
55
31
-49
-45
50
0
-16
71
24
13
56
5
-1
46
-71
33
92
1
21
0
-7
25
0
-34
-2
35
1
46
22
24
-10
0
8
-33
0
0
0
-5
0
-17
97
-5
1
-2
6
0
70
3
-48
35
0
0
-74
5
-11
13
3
-7
6
-18
-4
0
-33
27
2
53
47
-3
-10
-51
-70
25
61
-14
-15
8
-86
81
-3
-21
22
-9
0
3
55
-52
44
0
9
0
50
6
0
-4
0
78
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
66
-10
0
48
71
0
87
-10
-68
1
49
-6
-26
67
84
-38
0
50
-26
-7
26
5
-13
-3
13
45
4
-26
0
-7
0
0
-4
0
50
33
0
3
-1
0
4
-14
0
19
0
0
0
0
4
0
-10
-14
0
-7
0
0
33
98
-13
55
104
0
0
14
15
1
72
-47
0
-19
79
13
2
53
38
0
13
37
-16
0
71
13
-15
16
14
-40
0
-43
-7
0
-21
0
8
0
1
38
5
17
0
12
0
-11
5
0
41
0
19
-2
-2
-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
-117
0
0
0
0
0
0
-35
0
0
4
2
0
0
-39
0
0
-6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-60
0
0
0
0
0
0
4
0
0
0
0
0
0
43
0
-17
0
0
0
0
56
0
0
0
4
0
0
53
0
0
0
0
0
8
85
0
0
-1
-2
0
0
12
0
32
0
0
0
0
-15
0
0
-1
0
0
0
44
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
7
12
-1
26
15
63
54
-14
33
23
-2
44
2
58
0
-21
0
-1
40
45
17
2
27
0
0
4
0
15
0
-24
2
6
4
86
93
0
17
7
-1
0
0
-4
0
14
14
1
0
0
0
0
59
0
9
-8
0
0
-8
34
-3
-32
121
-5
0
2
-45
-19
7
-8
1
8
0
1
0
-9
-151
-68
4
0
-20
-2
-32
5
1
9
0
5
9
0
-32
34
-35
0
65
0
85
0
0
-19
0
41
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
98
-14
15
-24
-28
44
4
-14
17
23
-50
34
29
9
46
69
42
9
-4
58
6
-32
5
63
1
-8
-14
-21
37
136
95
18
-7
1
15
14
45
-14
58
-26
141
21
66
102
-15
46
-1
-9
57
100
-20
-3
-18
-52
-105
0
-129
-14
-39
31
-11
-129
-7
17
23
-33
-35
-2
-158
-11
26
-3
-18
-41
61
45
23
9
34
-22
66
-50
50
-2
-71
62
4
2
19
-46
-6
-77
19
-45
-15
-19
0
33
-34
-10
-15
48
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
49
0
0
-1
-37
0
0
-4
0
0
0
-53
0
4
0
0
21
0
-23
0
0
0
0
0
0
49
0
0
0
0
0
0
-65
0
0
0
0
0
0
9
-3
0
0
0
0
0
4
0
2
0
0
0
0
-29
5
0
0
0
0
0
-43
0
-1
-5
0
0
0
-15
0
0
41
-25
0
0
-12
0
3
0
0
0
0
-19
0
0
0
0
0
0
-162
0
15
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
52
-9
-2
0
48
0
-3
-11
62
0
0
-2
0
-2
-6
59
8
0
10
-10
-1
3
117
0
0
0
0
0
0
-23
0
0
0
37
2
0
27
0
0
0
0
-5
0
93
-5
0
0
0
0
0
55
15
-6
1
0
0
-18
18
0
-1
-4
0
0
-5
-13
1
-1
5
-3
0
0
42
0
0
-8
-11
0
0
8
0
13
3
0
0
0
85
0
0
0
-2
0
0
-9
0
11
0
0
0
0
34
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-79
-12
90
28
9
25
0
8
67
-4
35
-17
55
1
0
112
44
-94
4
24
0
0
-3
-6
17
0
63
0
0
-15
1
62
0
16
6
0
0
0
6
0
58
-9
25
2
5
0
-3
10
8
85
-6
-1
6
52
-4
14
53
44
-34
0
40
-24
0
60
-23
6
14
-32
-11
0
-33
-30
-53
0
17
35
0
-53
-1
-1
3
0
32
-4
-1
1
-45
16
-3
15
0
-74
-8
0
2
0
-31
47
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
0
0
-81
0
0
0
0
0
0
-7
0
0
2
0
0
0
-169
0
0
0
0
0
0
15
0
0
0
0
-6
0
40
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-15
0
2
0
0
0
-7
-15
0
0
0
0
0
0
-22
0
0
0
0
0
0
6
0
0
6
0
0
0
15
0
0
6
0
0
0
-44
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
45
-1
0
14
10
0
0
-56
4
0
0
21
0
0
5
-37
0
0
8
0
1
0
0
0
5
64
0
-8
1
-23
0
0
-25
0
0
0
0
0
0
61
-10
0
0
0
0
0
-13
0
5
25
0
0
46
-21
0
0
-54
-4
0
0
3
0
-5
46
0
0
-7
30
0
0
-42
6
0
0
97
0
55
5
0
0
0
57
0
0
1
3
0
0
-12
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-33
54
0
53
0
25
-13
48
42
0
28
0
5
-29
7
55
0
38
0
15
-16
15
22
0
15
-2
1
0
-2
-1
0
-6
3
5
-5
-1
0
0
-41
0
40
-15
0
0
-1
47
1
-53
50
6
-18
-5
-29
-1
49
-8
0
0
0
9
6
-58
51
3
22
0
2
1
35
-80
1
5
0
44
0
0
23
53
-31
0
39
0
-11
0
0
22
0
20
-48
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-20
0
42
14
19
39
12
-5
26
-1
25
27
24
22
-43
-14
81
8
-35
-3
32
27
8
93
-8
0
-1
-47
-22
-8
-5
-68
81
14
40
-55
45
-30
0
19
15
29
-39
26
-15
-21
-1
-15
-48
55
71
-105
42
1
0
41
12
-5
13
18
44
-4
-42
45
13
12
90
23
-6
-1
-9
-30
-66
-57
22
46
13
20
9
16
46
16
5
0
-23
-28
43
13
0
17
32
44
-47
75
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-10
0
23
0
11
0
0
0
0
0
0
-119
0
0
0
0
0
0
-50
0
1
0
1
0
0
7
0
0
0
0
0
0
33
-11
0
0
0
0
0
28
0
-6
0
0
0
0
68
0
-9
0
0
0
0
-5
0
-5
3
0
0
0
-31
0
0
0
0
0
0
51
0
-3
0
0
0
0
-59
0
-2
0
0
0
0
39
0
-46
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
7
4
-1
5
0
32
0
0
-22
-7
24
0
51
2
0
7
0
-13
0
-8
0
0
0
-8
1
0
19
0
0
0
0
-9
0
68
-6
0
0
0
1
2
-51
18
-5
19
0
3
0
-3
0
-7
47
2
0
9
-5
-4
-1
42
-4
0
0
23
-1
-16
-39
53
7
1
-20
0
-69
-4
13
-1
0
70
0
0
-3
37
0
0
-29
0
10
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
42
32
0
20
-45
12
-29
-19
-8
30
30
21
-2
3
-1
-10
-1
31
-7
12
-2
8
-3
-59
33
5
-2
-34
-8
0
-3
29
-1
7
-9
11
-4
90
0
-63
19
-15
-15
77
-4
0
-8
9
16
14
-7
-66
7
-33
40
-5
-3
145
13
-3
-27
19
-2
52
0
-2
4
33
-20
-4
15
-5
13
-87
-1
-1
-4
-6
-5
-9
70
0
-9
2
-10
0
9
96
0
38
47
-6
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
42
0
1
43
-1
14
-4
22
0
0
11
13
-17
-9
-52
0
0
16
0
16
-2
14
0
0
-4
0
-33
0
33
1
0
0
0
30
0
58
0
-1
-1
0
0
46
81
0
29
-9
0
2
49
-5
0
-10
-35
0
0
19
30
4
-65
82
0
0
-61
31
0
25
17
2
21
-2
1
3
31
-104
0
-2
0
34
0
0
-4
0
-5
0
-14
0
18
15
0
0
0
104
-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
-33
-79
10
-2
18
0
0
0
25
0
0
54
28
0
0
40
0
0
19
0
0
0
31
0
0
0
-6
0
0
-22
21
0
0
0
0
0
59
-8
-7
-1
0
0
0
48
-1
14
-15
0
0
0
68
0
2
-6
0
0
2
10
-4
11
-81
0
0
10
62
0
0
104
2
0
4
37
0
-99
25
0
0
2
-10
0
0
2
-16
0
0
34
0
26
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
39
-23
0
26
0
0
-25
0
65
0
29
-5
-2
0
70
0
0
19
11
0
0
0
-1
0
-62
-8
0
0
-3
0
1
-126
1
43
-7
0
0
0
36
0
3
24
-19
-2
0
-55
3
16
3
-6
18
-4
0
-8
14
40
-29
0
0
2
0
9
-34
2
-4
0
-19
0
0
8
-27
5
0
13
0
33
0
-1
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
130
-89
1
-25
-6
-21
8
-4
5
56
-56
-8
28
5
11
9
47
-14
8
-1
9
-3
-26
-17
-77
16
36
-54
23
19
62
12
18
-21
30
-5
-36
0
-140
45
11
18
-24
25
-10
55
5
7
-10
126
25
-5
-59
-68
37
0
-2
15
18
3
36
-14
-22
28
-40
-4
33
21
38
7
15
-51
15
3
-7
50
5
6
28
-2
61
66
0
-11
-14
-6
-29
85
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
-44
0
0
0
0
0
0
-29
0
0
0
0
-2
0
11
0
0
0
0
0
0
57
0
0
0
0
0
0
-16
0
0
0
0
0
0
13
0
16
0
0
0
0
36
0
0
0
0
0
0
-7
0
-6
4
0
0
0
2
0
0
4
0
0
0
-5
0
0
0
0
0
0
51
0
0
0
-4
0
0
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-11
0
0
36
119
-1
0
13
0
0
0
0
11
0
-31
0
0
0
15
-3
0
9
0
0
0
0
0
0
-15
0
0
0
0
0
9
22
0
0
14
0
0
-13
20
0
-6
0
0
0
-7
-50
1
-3
0
0
0
1
-15
0
0
-1
-14
0
0
4
0
0
2
0
7
3
62
0
0
-8
0
0
-1
-6
0
32
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
0
-14
11
41
35
64
11
0
8
-5
0
21
-1
19
0
-1
0
-32
8
0
29
-18
-1
0
13
33
0
-6
-14
1
0
11
0
16
-9
2
-89
25
15
10
-70
-15
6
61
22
77
-24
-5
6
-8
-35
-7
1
-16
8
-19
6
104
27
-57
7
-29
14
1
-70
-5
0
105
13
1
-5
3
4
19
83
0
2
0
-6
0
2
-27
0
-8
14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
11
-2
-15
0
31
13
0
-14
0
-9
0
3
0
0
0
0
-7
0
34
0
0
0
0
0
0
-13
-2
0
-6
0
0
0
-23
-3
21
0
0
0
-10
74
0
1
-3
-1
0
1
-93
0
-1
-3
0
0
0
36
0
0
36
3
0
0
-5
0
-2
3
0
0
0
64
0
0
0
0
0
0
-5
0
54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-52
13
9
0
17
0
0
6
0
0
0
-28
0
0
0
47
0
0
10
1
0
0
0
0
0
45
11
0
0
-17
0
0
19
0
53
-10
0
0
4
52
0
6
-12
-24
0
-37
11
0
0
44
0
0
7
16
0
-9
53
0
0
0
25
0
-27
46
0
0
0
15
0
0
-57
-49
0
0
-1
0
-27
0
0
0
0
26
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
3
-44
0
0
0
0
7
0
42
0
0
0
34
56
0
-45
-10
0
0
0
0
0
-3
0
0
0
0
0
0
-26
0
0
13
0
0
0
-49
0
-25
-6
-10
2
0
80
0
8
11
2
0
0
-1
0
0
19
-3
0
2
75
1
2
14
-6
-10
0
-58
0
3
2
0
0
0
98
0
8
0
0
-15
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-13
-5
30
5
-11
5
2
-4
46
29
-9
0
0
-2
35
22
-2
-46
-16
25
3
41
42
-29
33
-5
24
31
-28
15
-10
-5
-17
10
-30
114
44
24
-36
-70
-35
38
-27
7
-28
19
-18
60
21
-2
-27
68
100
-7
6
0
36
-25
-64
-81
17
18
-7
45
-50
9
28
43
5
1
-22
1
30
-22
29
-1
10
-13
-7
16
-71
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
-20
0
0
5
0
0
-1
-3
0
1
0
0
0
0
23
0
0
0
0
0
0
1
0
-5
0
0
0
0
-5
0
0
0
0
0
0
-19
0
15
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
15
0
50
0
0
0
-1
5
0
88
0
0
0
0
0
0
-10
1
0
0
0
0
0
-4
0
0
-1
0
0
1
2
0
0
8
0
0
0
-4
0
0
-1
0
0
0
12
0
0
0
6
0
0
-21
0
1
0
0
0
0
128
0
2
2
-13
-6
0
-43
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-2
8
0
21
0
10
0
43
109
0
-9
5
0
0
3
-4
2
-33
-70
0
21
9
0
13
-16
0
28
21
4
0
-40
-24
6
24
-1
-3
31
-53
15
6
-39
-8
4
52
38
12
0
-30
0
-14
1
-17
-23
0
15
-13
0
17
1
-1
0
-6
0
-5
-1
0
15
0
-10
0
19
-32
0
-38
-40
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
-7
-19
0
18
23
0
1
0
6
2
9
-17
-18
-12
0
-2
-28
0
0
0
-5
0
33
7
-2
-5
0
0
1
-5
-7
55
22
0
-8
119
29
0
16
29
0
-5
37
33
0
117
38
0
-66
-46
-65
-7
45
-31
-24
-3
0
11
-5
-58
57
0
10
4
3
0
-5
71
25
-50
0
17
0
13
-23
0
33
0
33
-40
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-25
0
0
0
61
0
14
0
35
0
0
8
0
0
0
0
0
0
8
2
0
-1
-4
0
0
5
0
-2
15
0
0
6
-7
0
0
8
1
0
-11
45
0
15
20
0
0
7
-65
0
4
-93
0
0
-18
-15
0
6
-14
0
0
0
41
0
0
3
6
0
0
-27
0
48
0
0
0
0
54
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
2
0
51
0
0
0
0
0
0
-47
0
0
0
0
0
0
1
0
-25
6
0
0
13
55
0
15
0
10
-5
0
-9
0
-4
0
0
0
0
-59
0
-5
-16
-3
0
0
-129
0
-27
1
0
0
0
30
0
0
0
0
0
0
-58
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
20
-68
-19
3
-5
7
27
7
4
-148
-65
32
17
38
-52
21
-14
40
94
15
47
-4
69
60
-41
-47
1
16
-12
52
10
47
17
2
97
15
15
116
26
21
6
42
-16
-22
-6
-16
-32
-15
62
6
42
41
-23
-52
0
7
-55
46
-19
-38
14
2
-19
-20
-24
-13
34
-14
19
-61
-10
-44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
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
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
6
0
0
0
0
13
0
0
0
0
0
0
-15
0
0
2
0
0
0
-45
0
0
0
0
0
0
-5
0
11
0
0
0
0
35
0
0
0
0
0
0
-17
0
5
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
3
0
0
0
55
41
0
27
2
0
0
0
1
0
-5
3
3
0
0
0
-2
-60
0
-6
2
0
0
0
14
0
0
0
0
0
0
17
0
-10
9
2
-3
0
21
0
-5
-3
9
0
0
-82
0
50
0
0
-5
0
3
0
0
0
-18
-9
0
0
0
-39
0
0
1
0
-5
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
-33
0
0
9
0
0
0
-15
0
0
0
0
0
0
13
0
0
0
0
0
0
18
0
0
0
0
0
0
32
0
0
0
0
0
0
-4
0
0
-1
0
0
0
55
0
0
-3
0
0
0
-53
0
-1
0
0
0
0
-72
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-12
0
0
-32
-25
0
0
0
0
0
17
-13
0
-9
3
0
4
52
1
-30
-8
0
0
0
38
-15
-3
-53
39
0
7
3
0
-26
-14
0
0
8
36
0
27
24
-59
0
0
0
0
61
28
0
0
-9
10
0
-1
32
15
0
0
-55
0
-4
0
0
0
0
-38
43
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
11
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
9
0
0
0
2
0
0
-2
0
0
0
-21
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
3
45
-17
-12
99
-40
-6
5
-2
47
58
-2
-5
69
-1
-69
-13
9
-90
56
-8
52
-23
-16
-1
3
18
-45
7
31
-2
17
17
0
48
14
15
-9
8
-4
-24
-3
-27
-5
0
-10
0
1
21
51
59
-6
0
-5
-4
49
5
11
0
54
-39
13
-6
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
-29
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
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
-18
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
8
0
0
0
0
1
0
0
0
0
0
-6
12
0
3
-7
0
0
0
-19
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
2
1
0
-70
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
-3
-4
0
0
0
0
0
2
0
0
0
0
0
-10
-5
0
0
0
0
0
0
20
0
0
0
10
0
0
23
0
0
0
0
0
0
-43
0
0
0
4
0
0
24
0
-3
0
0
0
0
18
0
0
0
0
0
0
-83
0
36
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
-5
0
0
0
0
0
-2
10
15
-18
0
0
-3
7
0
2
14
0
-2
56
39
0
32
11
0
-3
2
-6
0
5
115
0
-4
3
-30
0
-43
66
0
15
0
-41
0
0
45
5
0
2
22
0
14
8
0
0
0
-51
-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
20
34
0
0
-2
0
0
14
11
-3
-2
14
0
-1
1
-5
46
14
0
0
-5
16
0
15
53
-52
0
-36
25
0
89
-23
0
0
-5
28
0
-45
107
-13
0
-1
41
0
-22
23
-3
0
0
18
-4
1
-18
17
0
0
-8
0
52
15
0
0
0
34
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
-36
-24
91
-12
2
105
4
1
-3
90
108
54
100
-11
57
31
41
41
-41
18
-8
1
22
-20
-35
-36
94
-12
23
-18
-9
-14
-7
-75
0
6
-4
-18
35
24
-92
21
-1
56
-7
-18
-17
-5
27
6
-15
-55
-9
11
-16
0
-33
-61
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
2
0
0
0
15
0
0
0
0
0
7
-80
0
10
-10
0
0
0
26
0
3
-1
0
-11
0
32
0
0
0
3
0
0
-47
0
-33
-7
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
-1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-7
0
0
0
0
15
0
-5
0
0
0
0
0
0
-23
0
15
-5
0
0
0
-10
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
8
-8
0
0
-14
0
0
0
0
0
0
24
0
-9
76
24
0
0
5
0
0
-3
0
0
0
52
0
0
0
2
0
0
33
0
37
0
0
0
0
42
-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
0
0
-1
0
0
0
0
25
0
0
-5
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
47
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
35
43
1
5
1
69
-7
-24
-57
48
-46
6
25
-1
21
25
-7
57
14
12
-18
-8
-97
-5
76
-20
4
21
37
-3
-18
14
-108
23
-32
-25
-21
-12
31
-28
-4
-4
0
43
-13
-2
2
0
6
-28
-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
7
0
-38
9
0
0
0
-54
4
19
6
4
0
1
44
-4
-9
-2
0
4
-4
37
0
0
-8
10
0
-1
20
0
-16
34
-1
0
0
-63
0
0
-8
-2
-1
0
22
0
-9
-5
0
0
0
3
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
13
-1
0
0
0
0
0
8
0
0
0
0
0
0
-29
0
0
0
0
0
0
113
0
0
0
0
0
0
59
0
0
0
0
0
0
86
0
0
0
15
0
0
10
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
-56
0
1
0
0
0
0
70
0
0
-1
0
2
0
-3
0
0
0
0
0
0
-44
0
0
0
0
0
0
-45
0
6
0
0
-1
0
-37
0
0
0
-6
0
0
-89
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
131
0
0
22
0
1
0
53
0
0
15
0
0
0
-97
0
-6
0
0
0
0
-6
0
2
5
0
0
0
-127
0
0
0
5
0
0
57
0
21
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
5
-19
0
0
-38
0
17
-4
-4
0
0
-17
0
0
2
-2
0
0
-6
0
16
1
0
0
0
97
0
0
0
0
0
0
52
0
3
0
0
4
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
38
49
-11
-25
2
38
0
-22
18
16
5
-11
45
-1
-33
-29
-48
32
-23
24
-2
29
-29
-7
-32
0
81
-3
0
2
5
18
0
10
0
-25
-1
0
46
0
-24
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
63
0
-9
0
0
0
-9
53
0
0
-1
0
0
0
-43
0
0
0
0
0
0
-4
0
0
0
-1
0
0
-66
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
5
-23
-3
20
-26
50
5
-11
35
14
1
-7
-20
-1
11
6
-43
0
0
-23
-14
-160
-25
7
3
0
3
0
0
32
9
0
0
-32
0
43
0
-3
-4
0
-71
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
18
0
-4
44
17
-3
1
0
10
0
11
0
18
0
-6
0
0
-1
0
85
16
9
-2
0
15
0
0
0
-7
0
0
-34
0
-59
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
-26
0
8
1
0
0
0
49
0
0
0
-1
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
19
0
2
-2
0
0
-1
4
0
0
-2
0
0
0
45
0
0
0
0
0
0
3
0
-6
0
0
0
0
31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-10
-5
-1
1
0
-46
0
3
35
33
4
0
-17
0
-18
10
0
0
0
-15
0
0
0
0
0
0
-53
0
-10
0
0
7
0
-23
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
-7
9
8
27
48
14
90
-108
-23
10
31
13
3
-34
-47
7
0
23
-8
-50
44
0
-4
9
-24
27
26
-93
-1
-23
-1
-18
58
-4
42
0
-26
28
1
21
81
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
64
0
26
0
0
0
0
-14
0
-3
5
0
0
0
14
0
0
0
0
0
0
50
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-2
17
0
0
0
53
0
0
14
7
-1
23
13
0
3
16
4
0
0
-8
0
0
-4
5
0
0
34
0
-14
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
-6
55
-7
1
-77
0
-25
7
17
0
4
1
-39
-3
0
21
11
89
0
0
0
0
128
-1
14
0
18
20
0
-1
0
58
0
0
-6
0
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
32
0
0
3
-12
0
-5
43
0
1
0
18
0
24
16
0
0
0
-16
0
0
3
0
0
0
37
0
85
0
0
5
0
-13
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
17
0
0
0
31
0
0
8
-17
0
1
53
0
-7
0
0
0
0
-22
0
0
0
-8
0
0
19
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-46
25
78
0
0
-94
0
33
-5
0
0
0
-8
0
0
17
7
2
0
-38
0
10
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-26
-19
49
35
128
46
5
-5
-67
7
-31
-85
45
21
-1
5
-39
24
39
7
37
-2
-8
-37
4
53
0
14
-7
1
3
-128
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
-78
0
16
-1
5
0
0
22
0
0
0
0
0
0
-53
0
-15
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
59
-24
-7
4
-19
6
30
56
-5
-6
0
-21
0
-1
9
26
-15
0
-33
0
31
0
-2
1
0
-130
17
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
35
-3
9
-43
14
41
-2
52
0
-9
1
0
2
9
-2
-1
-23
0
0
-17
0
128
0
0
0
-2
4
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
2
0
0
0
0
0
0
107
0
0
0
0
0
0
-4
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
33
0
0
0
-15
0
0
21
0
1
-2
0
0
0
-53
0
0
-2
0
0
0
-1
0
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-72
0
31
-1
0
4
0
-43
0
2
-6
8
0
0
2
0
-41
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
41
54
75
8
-5
7
15
-87
-16
48
0
12
0
22
33
23
-31
0
-21
14
-2
1
-104
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
5
0
0
25
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
-1
60
0
31
-5
0
-6
0
-66
0
0
0
-25
-3
0
69
0
-35
0
0
-5
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
1
-36
0
44
3
22
-5
-3
-19
-8
0
0
64
46
0
-16
0
-79
0
-3
2
0
17
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
-18
-27
0
-94
19
9
5
0
-64
0
0
-19
8
-1
0
46
0
43
0
0
1
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
0
0
0
0
0
0
0
0
5
0
46
6
0
0
0
32
0
0
15
0
0
0
19
0
-6
0
0
0
0
-12
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
5
0
5
0
0
0
0
29
0
5
0
0
0
0
-77
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-35
32
9
24
-1
4
-3
-6
29
-13
-51
0
-17
-21
-7
-7
-34
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
53
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
2
-41
0
0
-8
-141
-26
1
-11
3
-5
-29
0
9
0
-31
-55
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
8
0
-1
0
57
-15
0
-38
0
24
0
-18
-20
0
65
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
39
0
-48
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-24
43
-23
0
0
-29
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
14
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
0
-47
21
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-27
-1
0
-6
0
-31
-23
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
45
-36
43
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
119
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
23
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
-2
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
19
0
0
0
0
0
-50
0
0
0
0
0
0
2
0
0
0
0
11
0
0
0
-84
0
0
-55
0
0
0
0
0
0
3
0
0
0
17
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
-14
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
11
-32
0
0
0
0
0
26
0
0
-4
19
0
0
7
45
0
0
0
0
0
6
25
0
0
0
0
0
0
-19
0
0
-8
0
0
0
5
0
13
0
0
0
0
0
0
0
0
0
-1
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-1
-24
0
0
0
0
0
0
-24
0
0
1
0
0
0
-79
0
0
3
0
0
0
5
0
0
0
10
0
0
3
0
0
0
0
0
0
11
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-16
0
-1
0
0
0
0
5
0
0
0
0
0
0
14
0
3
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
15
-23
9
23
-23
78
40
50
-18
-94
37
36
34
56
58
97
-10
-39
27
-46
-33
17
47
-62
-87
-40
30
-5
-34
6
-71
-13
40
-35
-65
-133
-57
-13
-47
14
40
0
-17
14
-1
0
32
11
-43
50
3
21
0
-31
-46
58
58
101
48
15
-2
-14
20
24
34
-5
79
4
-32
4
-28
3
-53
25
16
18
-33
-49
-51
-33
10
-36
5
11
-16
15
-28
2
-14
7
55
-17
-3
-9
-48
-16
18
-66
-4
-51
-10
-161
6
-8
-45
-69
9
5
-9
-67
-19
35
-11
64
48
11
29
5
37
-21
11
-79
20
-1
31
19
53
75
-13
-10
-6
38
14
-4
33
11
35
59
-60
-60
-4
-10
-1
8
-30
75
-28
-4
25
-4
0
-65
-77
51
5
24
-2
-42
9
-27
11
-35
-47
-18
1
57
31
-6
15
-22
-3
-23
-94
-56
91
-8
37
-86
42
44
-20
-18
17
-63
21
4
-14
29
-50
7
106
33
23
45
-30
-15
-12
57
-23
47
-29
-58
41
-7
-4
69
-4
49
75
-59
-10
45
6
6
-2
-4
-17
16
-59
-14
12
-30
50
0
-3
55
-43
-10
-35
53
-4
18
16
-40
-18
-24
2
17
25
20
-80
-50
-59
10
56
-2
-78
-32
0
64
4
60
-29
17
-25
6
-6
19
-18
-40
14
-21
20
24
71
75
-36
-34
-47
38
20
52
-51
32
-36
-57
60
-63
0
98
-17
-4
-67
-15
4
24
74
-11
-10
-1
-33
-80
-5
4
-33
-4
26
10
-28
-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
-3
0
0
0
0
0
-9
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
2
0
0
0
0
0
0
14
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
-1
0
0
1
0
0
153
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
4
0
-5
-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
9
0
0
-1
0
0
0
19
0
5
0
5
0
0
0
0
-18
0
0
0
0
0
0
-1
0
52
-5
0
0
-2
-5
0
0
0
0
0
7
5
0
0
-1
2
0
0
51
0
0
0
0
0
0
-1
0
9
0
2
0
0
-2
0
0
0
0
17
0
58
0
-1
0
0
0
0
-1
-1
0
0
0
0
0
37
0
6
0
0
0
1
7
0
0
0
0
0
0
-20
0
0
-2
0
0
0
7
0
0
-14
0
0
0
25
0
0
0
0
0
0
46
0
0
0
0
0
0
-2
0
0
0
5
0
0
11
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-4
0
0
0
0
5
0
0
0
-1
0
0
4
0
-1
0
0
0
0
22
0
0
5
-6
0
0
-14
0
0
0
0
0
0
-8
0
0
0
0
0
0
32
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
-10
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
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
0
0
0
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
-1
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
9
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
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
-51
62
50
43
-6
0
36
-14
50
-36
-3
-25
11
-49
13
-16
0
-1
0
0
-18
0
-14
3
0
5
11
-2
0
-14
7
6
0
0
8
0
0
-16
0
0
-1
0
9
168
11
-1
22
0
0
-8
4
-2
-22
-25
-20
-9
-27
9
0
-2
-16
8
54
82
5
-7
17
25
-9
71
-112
5
-5
0
-64
0
43
0
47
0
-1
16
52
7
5
-13
-1
0
-1
-2
23
-1
126
0
-1
-3
24
-1
0
0
28
-1
0
0
29
-22
46
28
6
12
17
2
62
45
7
-4
33
4
-6
-85
-31
0
71
40
86
-1
-58
-60
-23
-14
-52
0
-21
-96
45
-3
9
31
-25
4
57
35
0
3
-69
4
11
-3
8
-2
-5
-1
-17
-2
1
42
0
-6
-1
11
12
0
-7
55
33
0
-16
25
-1
36
48
5
-7
0
0
-44
94
16
35
-36
-12
0
-20
25
0
-32
47
-3
7
-16
-47
-8
-23
54
-23
-5
18
3
1
-50
25
-6
60
11
-65
-6
-3
-38
18
-22
-3
31
0
0
54
-8
-3
-8
-68
0
0
3
50
-12
0
0
55
-3
0
1
-1
0
99
6
7
4
-5
0
-2
-42
-5
-77
-5
0
1
21
-58
4
-15
-67
45
2
14
-15
-3
16
49
-4
1
-37
40
0
-32
-3
-66
10
-14
-104
0
-12
-90
2
-6
-4
-102
-1
0
-52
-19
-16
-2
1
0
49
1
2
-33
0
52
-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
-11
5
0
7
0
0
0
-2
4
-3
0
2
-14
-4
3
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
75
0
0
2
0
0
-66
0
0
0
0
0
8
90
6
4
1
0
-32
24
1
0
51
53
-1
-43
0
10
0
-5
4
4
7
25
5
0
-29
14
-15
20
14
11
0
41
-2
25
-4
-1
0
1
-18
0
-3
7
1
0
0
-10
0
2
0
2
0
0
0
0
-90
0
0
51
0
0
3
-9
4
88
26
-26
11
-14
0
31
-37
4
0
55
0
0
63
0
-16
7
2
-17
-4
-120
102
0
3
-72
0
1
-10
-30
-1
0
0
21
0
-7
16
0
0
85
0
0
-2
7
0
12
-3
-5
-9
0
-26
0
0
1
0
7
0
-14
52
86
0
0
0
-5
50
65
0
6
2
-3
2
-1
-4
-8
59
-71
1
39
0
-1
-1
25
5
9
-3
111
0
-14
79
-11
1
-5
14
0
26
33
-5
0
-3
-49
0
13
-17
105
0
0
73
2
0
-2
-1
-1
0
-42
0
0
0
-1
-8
0
56
1
6
0
0
0
0
-32
-6
0
1
-5
0
-1
-49
0
92
4
0
0
-18
0
0
14
59
-14
0
5
-33
0
-40
-15
0
0
-1
23
0
31
-1
-48
0
-5
94
0
6
0
-2
-4
0
-20
-6
0
8
-5
0
0
5
0
-52
0
0
1
0
-13
-3
18
10
-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
0
0
0
0
0
-6
0
-5
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
69
0
0
0
0
0
2
80
0
0
0
0
29
0
0
-1
54
-1
0
20
-3
0
0
-10
0
-3
8
-8
0
2
16
5
2
11
-8
0
0
-4
0
0
-1
6
0
0
-14
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
-19
0
0
-14
0
0
0
-6
5
-14
23
2
13
7
0
17
41
0
0
-6
0
0
83
14
0
46
46
-5
0
51
26
0
0
1
3
0
31
-6
0
0
53
-5
0
0
12
0
0
-3
0
0
0
-30
0
-46
-3
0
0
0
-28
0
0
0
0
0
0
94
2
-1
0
0
0
0
86
-2
0
0
0
0
0
90
0
0
18
0
0
-14
49
0
3
14
0
0
-11
-48
0
0
-15
2
0
48
-21
0
7
-6
0
0
0
18
0
0
25
-2
0
0
-51
0
0
1
0
0
0
31
0
0
0
1
0
0
30
0
0
0
0
0
0
40
4
-2
0
0
0
0
-41
0
-3
0
0
0
0
94
0
-13
-4
0
0
0
-16
0
66
0
0
0
8
53
0
0
-3
5
0
0
100
0
-5
0
0
0
0
-33
0
0
0
0
0
0
-13
0
19
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
-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
12
0
0
0
0
0
17
0
0
0
0
0
-10
-14
0
0
0
0
43
-52
0
5
120
-14
-2
-23
31
2
0
-88
0
-2
60
7
0
-1
-9
-14
5
-46
-21
0
0
-2
0
0
0
2
0
0
-14
0
-1
8
-1
0
0
0
0
-16
0
5
0
0
0
0
-80
0
0
3
0
0
0
48
3
35
-13
0
14
0
0
7
36
-8
0
49
0
0
41
-14
0
20
20
45
0
12
30
0
3
-12
0
0
11
-57
0
0
23
9
0
-2
-25
0
0
-10
0
0
-5
53
0
-6
-2
8
8
0
10
0
0
0
0
0
0
38
-5
5
0
0
0
0
-16
5
0
0
0
0
-9
27
-1
0
64
-8
0
-3
34
0
-3
3
0
0
8
-17
0
-1
25
7
0
4
-64
0
-2
6
0
0
0
18
0
0
44
-14
0
2
49
0
2
-1
-1
-2
0
43
0
-4
0
3
-3
0
-43
-2
0
0
0
0
0
73
0
0
0
0
0
0
25
0
-33
7
0
0
0
8
0
-2
8
-3
0
-14
20
0
3
-1
0
0
2
-1
0
-3
3
27
0
1
-27
0
21
-3
0
0
0
-58
0
0
-1
0
0
0
-42
0
-8
0
0
0
0
56
18
1
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
79
5
0
92
1
-2
-13
76
4
2
74
-1
-22
-33
9
0
0
0
-1
24
-8
-14
0
-1
-4
22
-3
0
-8
0
-1
0
0
41
0
0
-21
0
0
2
8
-3
160
137
-2
5
-1
4
19
6
41
-7
61
9
-3
40
13
32
-20
-11
64
77
51
87
24
5
5
-27
7
-58
-41
-4
-5
-5
0
32
-16
6
-1
-4
43
-5
28
58
-32
0
0
22
0
73
-2
5
0
0
-1
21
-10
0
-3
4
-1
0
-1
-56
8
59
34
-25
-5
-33
0
44
15
-5
1
46
0
0
-39
-67
22
48
50
23
34
-3
-36
1
64
14
-11
0
59
-9
-6
5
30
5
56
-126
7
3
-5
-10
0
-2
60
-67
0
-43
-14
-32
-14
-3
53
0
-2
-1
3
19
-2
9
-71
-64
0
-41
-3
-3
30
-23
-2
35
0
-9
-76
34
-4
29
17
-15
-1
57
14
0
15
-71
-3
-22
-14
-16
35
50
6
104
-32
6
-10
5
5
23
85
-41
-8
0
0
-1
-100
-17
50
0
-73
0
11
-2
-9
53
5
39
0
7
-19
11
-43
0
2
-6
0
0
-5
-1
8
-8
-22
-14
0
-18
0
-9
51
16
42
3
-1
4
36
37
-1
25
-25
99
15
-13
-50
-1
31
0
27
15
-26
-1
3
55
-75
-9
-22
43
23
-10
18
-17
-33
79
30
-82
1
0
-20
-29
-20
34
-4
3
-39
-1
22
84
0
-4
-32
-6
-2
-4
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
0
0
0
-5
-11
-5
-1
0
0
0
66
3
0
0
0
0
0
5
0
0
0
0
-1
0
15
0
0
0
-11
0
0
-6
0
0
3
0
0
0
0
0
33
53
0
0
0
-3
-3
-3
0
0
5
0
0
-19
-5
0
3
1
0
-25
44
15
0
0
-33
0
1
-45
102
0
1
-2
0
-9
-18
2
0
4
2
0
16
3
0
0
0
18
0
-27
0
-7
0
0
0
0
-18
0
0
35
0
0
0
-14
0
27
14
4
-20
0
0
31
-31
0
0
-23
0
0
46
-30
0
44
-27
5
1
-17
46
0
0
43
0
0
-53
-61
0
0
7
-3
0
-1
-27
0
0
-13
0
-3
0
45
0
-41
-14
0
0
0
-5
0
0
0
0
22
0
34
31
0
0
0
0
0
-60
5
0
2
0
0
-9
43
0
-23
6
0
0
17
32
0
3
14
0
0
67
34
0
4
-2
0
7
29
21
0
-4
18
5
6
6
-5
0
-4
16
0
3
0
7
0
0
0
0
-8
0
71
0
-5
43
0
-24
0
-13
0
3
0
0
0
0
23
-9
0
5
0
0
2
-3
0
5
0
0
0
15
-61
0
19
8
0
0
2
37
0
14
8
0
0
-1
61
0
0
-4
0
6
0
-3
0
9
14
0
-11
0
31
0
0
99
0
1
0
-11
0
-14
15
0
1
0
23
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
-51
0
0
0
0
0
14
0
0
0
0
0
2
2
0
0
0
0
-5
0
0
1
-13
0
0
-53
0
0
0
23
0
0
36
1
0
0
0
0
0
53
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
19
0
0
0
0
0
74
-5
0
2
6
0
8
46
0
0
-6
0
0
62
-14
0
-43
-8
0
0
-55
7
0
0
72
0
0
0
-14
0
0
-11
0
0
-4
-17
0
0
-5
0
0
0
-7
0
-16
0
0
0
0
9
0
0
0
0
0
0
51
-15
9
0
0
0
0
95
7
0
0
0
0
8
52
0
-1
0
-1
0
1
50
0
0
14
0
0
19
-115
0
0
2
-2
0
9
-41
0
-7
-6
0
0
0
-72
0
0
25
-11
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
26
0
0
0
0
0
0
-13
0
0
0
0
0
10
6
0
14
0
0
0
0
20
0
0
-5
0
0
0
53
0
-34
0
0
0
0
-25
0
0
0
0
0
0
106
0
1
0
0
0
0
18
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
28
159
74
10
4
62
-26
48
26
-3
-1
0
-1
-41
6
-11
0
0
-8
56
9
0
-1
-2
26
0
0
-3
0
-2
-36
0
0
0
0
8
-16
-14
1
-1
0
23
-98
-25
64
9
19
-2
65
-51
2
16
-10
-35
0
-19
-22
-98
-22
-33
31
95
-5
31
41
0
-1
-92
4
15
8
-2
0
0
32
-69
-5
42
53
0
0
-33
0
5
-2
-19
0
0
35
-50
16
0
1
-5
0
0
0
-3
20
-1
68
35
-14
44
1
19
-11
-14
-11
-5
-2
-3
58
-2
5
53
49
-113
21
19
-11
21
-1
-58
-20
34
49
-42
-1
-6
28
30
-13
13
-13
-4
11
-16
0
-27
-7
-7
0
-7
-72
28
5
-13
-52
0
0
-3
0
58
0
41
5
89
0
10
0
0
-20
21
-6
41
0
0
-10
12
-18
-24
75
37
17
-76
45
2
13
47
8
-10
-73
23
66
-1
-10
-38
-32
-50
-14
10
55
-16
7
-28
-50
37
0
2
-26
45
-9
-25
12
0
-2
1
0
5
0
-54
0
0
2
6
3
0
16
0
0
-1
-2
24
0
4
-71
64
-3
-10
0
8
-12
2
5
-66
1
-15
-63
-9
-1
-5
-25
-26
18
-4
-15
14
-27
98
3
-20
1
-24
4
-22
-146
-71
-11
-2
51
0
-4
-24
24
-53
25
38
0
0
89
18
11
0
-16
0
29
-1
2
22
0
-42
-19
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
-55
0
0
-7
0
0
33
0
0
0
0
0
4
106
0
0
0
0
-68
0
0
0
39
-3
-8
-9
-3
-4
-9
127
-2
-1
-35
0
0
0
10
18
3
3
5
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
-20
0
0
-5
0
0
0
0
0
-18
-14
0
0
0
0
32
41
0
0
6
0
0
-19
-72
0
-38
-38
15
0
5
0
0
0
29
9
0
-16
-7
0
0
32
-2
0
-9
-24
0
0
4
7
0
0
10
0
3
0
-2
0
0
31
0
0
0
0
0
0
16
-14
0
0
0
0
0
10
4
0
0
0
0
2
-62
0
5
59
14
0
0
-33
0
8
6
0
0
98
0
0
0
-93
-7
1
16
-40
0
1
9
-6
0
0
-62
0
0
0
-3
0
0
-10
0
0
1
0
0
2
-1
0
0
0
0
0
0
53
0
0
0
0
0
0
-14
-4
0
0
0
0
0
-6
0
63
0
0
0
0
-50
-1
4
0
-1
0
0
0
0
26
1
0
0
5
-63
0
5
2
29
0
0
-116
0
1
8
-5
0
0
-34
0
0
0
0
0
0
-40
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
3
0
0
0
0
0
11
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
65
0
0
0
0
0
0
10
-3
0
0
0
0
-1
0
0
-55
4
0
29
-10
0
0
26
0
-1
73
0
0
0
0
15
0
0
6
0
0
1
0
-4
5
5
0
-10
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
-1
0
0
0
0
0
13
14
0
4
2
0
-5
93
0
0
-15
0
0
13
33
0
69
-24
0
0
-8
61
0
0
22
0
0
4
-27
0
0
13
-1
0
7
-27
0
1
0
0
0
0
-5
0
21
0
0
0
0
17
0
0
0
0
-2
0
25
0
0
0
0
0
0
-3
-2
0
1
0
0
0
34
0
0
-4
-4
0
-4
92
0
0
-4
0
0
0
-65
0
0
8
0
0
2
33
0
0
0
0
0
0
3
0
0
0
0
0
0
44
0
0
14
0
0
0
35
0
0
0
0
-1
0
74
0
0
0
0
0
0
24
-5
0
0
0
0
0
0
0
0
0
0
0
0
29
0
-3
0
0
0
0
43
0
0
0
0
0
0
14
0
-8
0
-2
0
0
53
0
0
0
0
0
0
-46
0
0
0
0
0
0
62
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
-1
0
-34
0
0
0
0
0
-39
0
0
0
0
0
0
81
0
0
0
0
4
0
0
0
-12
-1
7
-30
-3
0
0
86
0
0
-43
-2
7
0
2
0
0
-43
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
13
0
0
1
0
11
-12
0
-4
1
0
0
43
18
2
0
-2
0
0
-14
-19
-3
-54
-10
1
0
-21
65
0
0
-8
0
0
-16
9
0
0
-10
-8
0
-5
-20
0
1
52
0
0
0
1
-2
-14
0
0
0
0
13
0
0
0
0
-7
0
21
-1
0
0
-3
0
0
67
14
0
0
0
0
0
15
0
3
7
0
0
2
20
0
0
-5
0
0
2
-2
0
-1
0
0
0
21
-59
0
0
21
0
0
8
-47
0
0
-3
0
0
0
61
0
0
0
0
0
0
-5
0
0
0
2
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-43
-3
-5
0
0
0
0
22
0
0
1
0
0
0
-64
0
0
0
0
0
0
22
0
0
17
-4
0
-1
-33
0
-4
0
0
0
0
-8
0
0
0
0
0
0
-65
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
2
0
0
0
0
0
0
0
10
0
0
1
0
0
0
4
0
-50
0
0
1
0
0
-53
0
0
0
0
0
26
37
0
0
0
2
-26
34
4
3
25
-4
0
-104
-7
0
5
-6
0
10
71
47
0
0
-18
7
0
0
63
0
0
31
0
1
2
-4
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
-1
30
0
0
6
0
0
0
1
0
7
22
-5
-5
0
0
-19
-4
0
0
-4
1
0
5
-26
0
52
-19
-5
6
26
-94
0
9
33
0
-10
6
50
0
0
-5
5
1
21
68
0
0
3
-6
0
0
36
0
24
0
5
0
0
-31
0
0
0
0
0
0
1
26
-2
0
-2
0
0
60
-1
0
0
0
0
0
13
6
0
-30
1
0
10
-1
0
-1
2
0
0
-5
8
-1
-2
15
5
2
-2
-45
0
3
3
0
0
4
34
0
0
-1
-4
0
0
112
0
0
-5
0
0
-1
-35
0
0
0
0
1
0
105
0
4
0
0
0
0
46
0
0
0
0
0
-3
-6
0
10
13
0
0
0
-23
0
-1
7
0
0
0
24
-4
17
0
0
-2
0
71
0
0
-1
-14
0
0
30
0
-7
2
0
0
0
-51
0
0
-1
-3
0
0
-23
0
8
0
1
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
-25
0
0
0
0
0
38
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
6
0
0
22
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
74
1
0
0
0
0
0
90
0
0
0
0
0
0
1
0
4
0
0
0
2
-2
0
0
6
0
0
0
14
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
0
7
0
0
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
60
0
0
0
0
0
0
-24
0
0
-1
0
0
0
13
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
-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
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
-1
0
0
0
0
7
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-40
0
0
0
0
0
-2
47
0
0
0
0
21
0
0
0
-17
2
0
-61
0
0
0
25
0
0
3
0
0
0
1
0
0
33
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
15
0
0
0
0
0
53
18
0
3
5
0
21
4
0
0
-31
0
0
21
10
0
47
33
1
0
-73
2
0
0
45
0
0
-1
17
0
0
-4
-9
0
-8
27
0
0
0
0
0
0
20
0
-21
0
2
0
5
-9
0
0
2
0
0
0
-16
-3
0
0
0
0
0
-51
0
0
0
0
0
-3
51
0
0
0
0
0
6
-23
0
0
-7
0
0
3
-70
0
0
-15
-6
0
2
82
0
10
39
0
0
0
48
0
1
-2
0
0
0
-17
0
0
7
0
0
9
-8
0
0
0
-9
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
-9
0
0
0
0
-18
0
0
4
0
0
0
90
0
6
0
0
0
0
15
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-1
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
0
0
0
0
0
0
0
-5
15
0
2
0
0
-3
0
4
2
0
2
0
0
0
0
0
-74
0
0
-17
0
0
50
0
0
0
0
0
4
-13
0
0
0
0
-22
-6
0
-2
-48
0
0
-49
-5
7
-1
-19
0
7
-25
-37
0
0
25
29
0
10
32
0
0
8
0
61
0
-26
0
8
13
-4
-3
0
-29
0
0
0
0
2
0
-7
0
0
0
0
-59
0
0
-14
0
0
0
11
0
21
8
21
-50
-1
0
10
-18
-3
0
62
0
0
81
6
-3
-20
5
7
0
-71
54
-1
0
-28
-2
0
-19
-77
0
0
37
-4
1
4
-53
5
0
-18
0
0
0
-45
1
-28
-1
-3
0
0
20
0
0
0
0
35
0
-45
1
-1
0
0
0
0
-6
5
0
0
0
0
34
-33
33
0
8
-2
0
-6
74
1
7
81
0
0
-6
9
0
-1
62
33
0
0
-30
0
0
-15
-1
-6
3
6
0
-5
-6
-4
0
0
-41
0
0
11
0
-2
0
-54
0
0
0
0
6
0
-32
0
0
0
0
-1
0
-5
5
3
0
0
0
0
66
8
-21
1
0
0
0
-12
0
0
96
7
0
0
-63
0
75
4
0
0
0
51
0
-10
-34
1
0
-7
3
0
-9
7
0
0
0
18
0
0
-1
0
0
0
22
0
-7
0
0
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
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
-34
0
0
0
0
0
-21
0
0
0
0
0
0
-19
0
0
0
0
9
-1
17
0
-10
-5
0
-21
0
0
0
4
0
2
65
21
0
0
-19
-30
-2
24
0
1
0
37
0
10
21
41
0
0
5
0
1
-3
-6
0
0
0
0
0
0
0
0
0
0
-5
9
0
0
11
0
0
0
0
1
-16
35
-6
-4
0
0
6
24
19
0
53
0
0
60
-28
0
-36
68
-5
0
-4
-56
0
3
64
0
0
-13
0
0
0
-20
-2
2
8
-29
0
0
-2
0
0
1
14
0
-36
0
-7
0
0
-34
0
0
0
0
0
0
31
-9
-1
0
0
0
0
26
-15
-3
3
0
0
0
-51
0
16
-5
16
0
-1
13
0
0
23
0
2
-9
3
3
3
41
-8
0
-6
0
-1
0
7
0
0
-3
5
0
0
-1
0
0
0
-23
0
0
0
0
0
0
84
0
0
2
-1
0
0
30
0
0
0
0
0
0
13
-1
0
3
-10
0
0
111
-1
43
39
0
0
0
-80
1
-5
-1
0
0
5
-35
0
33
-60
0
0
3
0
0
7
15
-2
0
0
-14
0
-11
0
5
-3
0
-8
0
0
-4
0
0
0
-68
0
25
0
0
-5
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
1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-27
0
0
0
0
0
11
8
0
0
0
0
5
0
0
21
-28
11
0
-37
0
0
0
3
0
17
66
0
0
0
37
-1
0
1
0
0
1
9
0
0
-7
-5
0
0
0
9
10
-2
0
0
0
0
0
-4
0
-1
0
0
3
0
-1
0
0
-3
0
0
0
-1
0
-25
20
0
-8
0
0
-2
22
0
0
-19
0
0
35
-4
0
-14
-31
-9
0
9
102
0
0
5
0
0
8
-6
0
0
17
-3
0
0
22
0
0
-5
0
0
0
-1
0
-9
0
5
0
0
-14
0
0
0
0
4
0
3
-4
0
0
0
0
0
-12
11
0
0
0
0
0
45
0
5
10
0
0
-2
13
0
0
0
0
0
0
16
0
-2
-13
13
0
-1
-15
0
0
1
0
0
0
14
0
0
0
-17
0
0
3
0
0
0
0
0
0
-19
0
2
-6
0
7
0
32
0
0
0
0
0
0
5
-2
0
0
0
0
0
-4
0
1
0
0
0
0
21
0
0
0
-6
0
0
-34
0
6
0
0
0
0
91
0
0
0
-3
0
0
-2
0
0
-5
0
-2
0
32
0
0
0
0
0
0
69
0
15
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
-58
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
5
-1
0
0
16
0
3
-78
7
0
0
-2
0
0
10
0
0
0
33
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
-14
0
0
0
0
0
0
0
0
61
1
0
0
0
0
0
5
0
0
22
0
0
-53
0
0
-2
53
3
0
-3
19
0
0
-2
0
0
0
37
0
0
-2
0
0
19
-17
0
0
5
0
0
0
5
0
11
0
0
0
0
14
0
0
0
0
0
0
54
1
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
-1
0
0
-1
47
0
0
-5
0
0
0
21
0
0
0
0
0
0
74
0
0
0
0
0
0
-2
0
0
0
0
0
0
-67
0
0
0
0
0
0
-4
0
0
0
6
0
0
-61
0
0
0
0
0
0
36
0
0
0
0
0
0
6
0
0
0
0
0
0
14
0
0
0
0
0
0
-7
0
0
11
0
0
0
-7
0
0
0
0
0
0
-11
0
-1
0
0
0
0
54
0
0
0
1
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
-3
0
-1
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
-2
0
0
0
0
0
0
-71
0
0
0
0
0
-1
-16
0
-67
0
0
-99
0
0
0
22
0
0
-14
-3
0
3
-4
-53
5
34
0
0
0
1
0
-2
0
-3
0
0
0
-5
0
-8
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
-3
0
0
0
0
0
-23
-6
5
0
0
0
8
32
0
0
-5
0
0
41
-5
0
1
-33
0
0
-4
42
0
0
11
0
0
-5
-22
0
2
4
30
0
0
52
0
0
2
0
0
0
16
0
41
0
0
0
0
-2
0
0
0
0
-1
0
10
0
0
0
0
0
0
-38
0
0
0
0
0
0
-26
4
0
6
0
0
5
8
0
0
0
0
0
0
-3
0
0
-1
5
0
25
48
0
0
0
0
0
0
11
0
0
0
32
0
-4
-48
0
0
0
0
0
0
-30
0
0
0
0
-10
0
-95
0
0
0
0
0
0
-65
0
0
0
0
0
0
-22
0
0
0
0
0
0
9
0
0
0
0
0
-15
-24
0
25
0
0
0
0
-5
0
0
0
4
0
0
-35
0
1
0
0
0
0
11
0
0
0
-7
0
0
25
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
2
-2
10
0
0
0
-1
5
-3
0
0
0
0
0
0
0
-1
-48
0
0
-4
0
0
-59
0
0
0
-3
0
19
25
0
0
0
0
-65
5
0
0
-46
0
0
-6
14
0
14
-31
0
0
-38
0
0
0
-10
0
23
-5
-5
0
0
-10
0
14
0
0
0
0
24
0
-2
0
0
0
-4
1
0
23
0
0
0
0
0
0
58
0
0
53
0
0
0
1
0
-61
-26
0
21
0
0
13
1
0
0
-2
0
0
47
-59
0
-11
81
0
0
29
-34
0
0
62
0
0
17
24
0
0
11
0
9
-10
4
0
0
8
0
0
-5
-38
0
-72
0
0
7
0
38
0
0
0
0
2
0
18
35
-8
0
0
2
0
-60
-2
0
-2
0
0
-6
-29
0
0
-1
0
0
4
-33
0
0
1
0
0
-78
65
0
-3
-4
0
0
-9
0
0
0
-28
0
2
1
23
0
0
19
0
0
0
1
0
0
-3
0
13
0
3
0
0
0
0
-2
0
-21
0
0
0
0
0
1
-15
-2
0
0
0
0
-3
-37
0
-6
0
0
0
0
-57
0
2
-33
0
0
10
-21
0
-2
-5
0
0
0
-6
-1
0
0
0
-2
4
18
0
52
0
0
0
0
33
0
0
0
0
-3
0
-11
0
-10
0
0
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
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
5
0
0
0
0
0
-4
0
0
0
0
-6
-1
-53
1
0
0
0
74
-8
0
0
-23
-8
0
-7
6
0
0
-33
0
0
-9
0
0
1
12
23
0
14
0
0
0
0
0
0
10
-11
0
0
11
-2
0
-4
1
0
0
-5
0
0
0
-2
0
0
0
-2
0
0
0
-10
0
0
0
0
0
12
5
-5
5
0
0
-7
83
0
0
24
0
0
100
70
0
29
-20
68
0
-93
95
0
0
-19
0
0
1
0
0
0
52
-8
0
13
34
0
0
-31
0
0
0
-44
0
-9
46
3
0
-4
-56
0
0
0
0
0
0
-65
-3
-6
0
0
0
0
-52
2
0
14
0
0
17
14
0
-1
19
-5
0
-21
40
0
1
53
0
0
6
3
0
1
61
0
0
1
30
0
14
-16
0
0
2
-54
0
-5
-48
20
0
7
16
0
0
24
0
0
-3
-111
0
0
0
-1
0
0
17
0
6
0
0
0
0
-68
0
-1
-8
0
0
0
-19
0
-31
-3
0
0
0
33
-4
0
3
0
0
0
-14
0
17
0
0
0
1
56
0
1
16
1
0
-2
-43
0
25
-7
0
0
0
-12
0
0
0
0
0
0
13
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
3
0
0
11
1
0
0
9
0
-49
0
0
0
0
0
-15
0
0
0
0
0
-25
-22
0
0
0
1
-29
-5
0
0
-12
-4
0
29
1
-1
0
-35
0
0
-58
16
0
0
-31
26
2
-9
4
-1
0
-13
0
-4
0
6
0
0
-29
0
7
0
5
0
0
1
0
6
0
-3
0
0
0
-8
-46
0
0
-5
0
0
0
7
0
65
-5
-3
5
1
0
-13
-43
0
0
-87
0
0
-56
27
4
43
-10
4
-1
5
-11
0
0
45
0
0
32
15
0
2
25
-2
-3
0
-11
0
0
-20
4
-10
0
61
0
-37
-3
1
0
0
55
0
0
1
0
-13
0
-15
0
0
0
0
0
0
25
0
0
0
0
0
5
-15
13
-5
14
-3
-1
0
2
0
0
76
0
-8
0
-80
3
0
3
-5
10
0
15
0
0
25
0
-3
1
14
0
0
-13
20
0
-7
-11
0
0
-2
0
-5
0
7
0
0
0
0
27
0
10
-4
0
0
3
0
0
-2
0
0
0
0
-1
0
4
-3
-27
-25
0
0
3
30
0
1
-4
3
0
0
85
0
-9
-3
-2
0
0
-37
0
2
4
4
0
0
27
0
-31
7
0
0
0
-13
0
1
3
-8
0
0
18
0
18
0
0
1
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
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
-75
0
0
0
0
0
-87
0
0
0
0
0
-1
92
0
0
0
0
5
0
-3
0
-2
3
0
-37
2
0
0
11
0
-2
-8
-3
0
0
57
0
0
-15
-3
0
0
36
0
0
-20
0
0
0
-7
7
-3
0
0
0
0
-9
0
2
0
0
0
0
0
0
2
0
0
6
0
0
0
3
0
50
-17
0
18
-1
0
-9
47
-3
0
-22
0
0
24
37
0
2
30
0
0
-51
33
2
0
-31
0
0
0
3
0
5
34
0
1
0
0
0
0
-4
0
0
0
1
0
-10
-1
2
0
0
-10
0
0
0
0
0
0
-7
11
0
0
0
0
0
20
-9
0
-2
0
0
5
21
-2
-1
-27
1
0
11
46
0
0
-14
0
0
20
-17
0
0
9
1
0
0
-9
0
0
2
0
6
0
0
0
0
3
0
0
0
-59
0
0
-11
0
0
0
-1
0
0
0
1
0
0
-26
0
0
0
0
0
0
27
0
5
0
0
0
-1
1
1
3
4
0
0
0
-10
0
0
-1
-2
0
1
65
0
22
0
0
0
0
50
0
0
3
0
0
0
0
0
22
0
0
5
0
-1
2
0
0
0
0
0
-65
0
-11
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
68
0
0
0
-1
0
0
15
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
9
0
0
-1
2
0
-4
-3
-3
0
8
18
0
0
0
0
0
0
33
0
0
20
0
0
0
9
0
0
0
0
0
0
20
0
-2
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
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
7
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
13
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
1
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
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
-2
0
0
-1
0
0
18
-1
-1
0
-2
1
0
0
-2
0
0
0
5
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
-43
0
0
0
0
0
0
-5
0
0
0
0
0
0
-65
0
0
0
0
0
0
-5
0
0
0
0
0
0
-26
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
-34
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
-77
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
3
0
0
-60
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
-76
0
0
0
1
0
0
-66
0
0
20
0
0
0
2
0
16
0
0
0
-5
10
0
0
3
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
0
0
0
0
0
-5
0
-1
0
0
0
0
18
2
0
0
0
0
0
19
0
0
0
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
-56
0
-1
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
-33
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
-10
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
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-32
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-9
0
0
33
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
-29
0
0
0
0
0
0
-4
0
22
-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
18
0
0
0
0
0
0
13
0
0
0
0
0
0
-13
0
0
7
0
0
0
10
0
0
0
0
0
0
13
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
11
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
12
0
0
0
0
0
29
0
0
0
0
0
-3
82
0
0
0
0
5
5
0
0
-3
0
0
42
5
-1
0
50
0
0
36
0
0
0
-4
1
0
-63
5
0
0
47
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
8
0
0
0
0
10
-18
-6
-1
-4
5
0
-5
-18
0
0
-6
0
0
-70
-14
0
22
29
5
0
-17
44
0
0
53
0
0
-5
79
0
0
-12
43
0
-2
-11
0
0
-11
0
0
0
-43
0
-27
-33
13
0
0
-29
0
0
0
0
0
0
-42
-2
-5
0
18
0
0
-61
3
0
0
0
0
2
1
0
0
-5
-1
0
5
106
0
0
5
0
0
5
-34
0
0
-24
2
0
-8
-30
0
0
50
0
0
0
-14
0
0
22
-8
0
0
-31
0
0
0
0
0
0
-3
0
0
0
20
0
0
-3
0
0
0
0
0
0
67
0
0
0
0
0
0
47
0
2
0
0
0
0
49
0
0
5
0
0
0
-45
0
54
-2
0
0
0
-16
0
1
0
0
0
0
-82
0
-22
0
0
0
0
1
0
-7
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-10
0
0
0
0
0
-2
-1
0
0
0
0
2
0
0
0
33
0
4
-68
0
0
0
2
0
0
0
-2
0
0
-1
-2
-1
-3
0
0
0
3
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
78
0
3
0
0
0
0
-3
0
0
-2
0
0
0
-2
0
-49
14
0
0
-1
13
0
0
5
0
0
0
2
0
0
-2
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
-10
0
0
0
0
0
0
-19
0
0
0
0
0
0
-54
0
0
0
0
0
0
48
0
0
0
0
0
7
-53
0
0
0
0
0
0
8
0
0
-2
0
0
0
-61
0
0
0
0
0
0
22
0
0
-1
0
0
0
20
0
0
0
0
14
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
-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
5
0
-75
0
0
0
0
0
-33
0
0
0
0
0
0
8
0
0
0
0
-4
0
0
0
40
0
0
-42
0
0
1
-53
0
0
4
-2
0
0
-13
-2
0
5
1
0
0
9
0
0
0
0
0
0
15
0
0
-6
0
0
0
4
0
-5
0
0
0
0
0
0
-2
0
0
5
0
0
0
0
0
-42
-14
3
0
0
0
-3
-18
0
0
41
1
0
-3
-1
2
57
45
2
0
10
30
0
-1
35
0
0
0
48
0
0
0
45
0
0
83
0
0
-1
0
0
0
0
0
-1
9
0
0
0
-23
0
0
0
0
0
0
-23
4
0
0
0
0
0
-34
0
0
0
0
0
0
6
5
0
2
-1
0
0
6
-1
0
3
0
0
-5
30
0
0
-9
-49
0
0
6
0
0
-2
0
3
0
-1
0
0
0
41
0
0
0
0
0
0
0
0
0
-19
0
0
0
8
0
0
68
0
0
0
0
0
0
-18
0
1
0
0
0
0
-2
0
0
14
0
0
0
14
-1
0
-2
-2
0
0
4
0
-8
0
0
0
0
5
0
0
0
3
0
0
16
0
-18
0
0
0
0
0
0
0
0
0
0
0
-39
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
3
0
0
0
0
0
-5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
63
0
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
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
-29
0
-2
0
0
0
0
-10
0
0
3
0
0
82
0
0
3
10
0
0
-5
4
0
0
0
0
0
0
4
0
0
-7
0
0
0
-16
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
17
0
0
0
0
0
-4
-1
0
0
0
0
0
0
33
0
0
0
0
0
0
32
0
0
0
0
0
0
-43
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
6
0
23
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
-5
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
-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
-50
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
25
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
-16
0
0
0
0
0
0
-36
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
-25
0
0
0
0
0
0
-31
0
0
0
0
0
0
-2
0
0
0
0
0
0
-36
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
-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
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
-36
0
0
0
0
0
-70
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
-5
0
0
0
3
0
0
19
0
0
0
0
-2
-4
0
0
0
0
0
0
11
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
-22
0
0
0
0
0
0
0
0
-73
0
0
14
0
0
7
-45
0
0
1
0
0
13
2
0
-53
0
0
0
-16
33
0
0
-1
0
0
0
-19
0
0
0
0
0
0
-59
0
0
0
0
0
0
34
0
5
0
-2
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
0
32
0
0
0
0
0
0
8
4
1
-3
1
0
3
-45
0
0
0
0
1
0
-19
0
0
2
0
0
0
-37
0
0
0
0
0
0
40
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
13
0
-37
0
0
0
0
0
0
4
0
0
0
0
0
0
-16
0
6
0
0
0
0
4
0
0
-4
0
0
0
-4
0
6
0
0
0
0
15
0
9
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
-35
0
0
0
0
0
57
0
0
0
0
0
2
-3
0
0
0
0
-6
0
0
0
-19
0
0
-16
0
0
0
-5
0
0
5
0
0
0
-5
0
2
0
0
0
0
0
0
86
0
0
0
0
0
0
0
6
0
0
0
0
0
-4
0
0
0
0
0
0
27
0
0
8
0
0
0
-1
0
30
-4
0
-8
0
0
2
-45
0
0
-2
0
0
10
5
0
54
11
0
0
65
65
0
2
0
0
0
0
-7
0
0
-3
0
0
1
-22
0
0
60
0
0
4
-5
0
-5
10
0
0
0
33
0
0
0
0
0
0
-43
4
0
0
0
0
0
53
-7
0
0
0
0
-3
5
0
-1
8
0
0
-21
-49
0
0
0
0
0
3
-16
0
0
5
0
0
16
-61
0
0
14
0
0
0
-24
0
0
-32
0
17
0
-22
0
0
0
0
32
0
30
0
0
0
0
6
0
16
0
0
0
0
0
0
-16
0
0
0
0
0
0
24
0
7
0
0
0
-1
-3
0
0
0
0
0
1
15
0
2
-1
0
0
0
-12
0
0
0
0
0
0
83
0
-5
0
0
0
0
4
0
0
2
0
0
0
-57
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
-33
0
0
0
0
0
-36
0
0
0
0
0
-11
5
0
0
0
0
9
0
0
0
30
0
0
37
0
0
0
-27
0
0
19
0
0
0
-8
-10
0
48
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
27
0
0
0
0
0
27
-1
-7
-2
0
0
-3
59
0
0
101
0
0
-40
-2
0
-35
-17
7
0
-43
91
0
0
62
0
0
-4
-54
0
0
-29
-9
0
-17
-18
0
0
7
0
0
0
-5
0
-28
11
-1
0
0
-43
0
0
0
0
0
0
-11
-5
-4
0
0
0
0
72
8
0
0
0
0
-1
34
0
21
-2
5
0
-7
42
0
0
7
0
0
5
-7
0
0
3
10
0
9
24
0
2
-6
0
0
0
44
0
0
52
-10
0
0
15
0
0
-20
0
0
0
41
0
0
0
-6
0
0
48
0
0
0
0
0
0
5
0
0
0
0
0
0
-18
0
9
0
0
0
-2
-21
0
-2
0
0
0
0
16
0
10
0
0
0
0
-50
0
0
0
0
0
0
11
0
31
1
0
0
0
9
0
6
0
0
0
0
-7
0
76
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
-22
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
-9
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
-16
0
0
0
0
0
0
1
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
-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
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
0
0
-117
0
0
0
-21
0
0
20
-5
0
0
-3
0
0
14
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
-35
-5
0
0
0
0
0
-54
0
0
-7
0
0
-2
0
0
-31
-4
0
0
0
-8
0
-1
-5
0
0
1
0
0
0
0
0
0
0
6
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-74
-2
0
0
0
0
0
4
-2
0
0
0
0
3
-5
0
0
14
0
0
0
28
0
0
0
0
0
0
29
0
-1
2
0
0
0
-16
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
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
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
-11
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
14
0
0
0
0
0
0
36
0
0
0
0
0
0
-1
0
64
-1
0
0
13
-10
0
0
0
0
0
0
-4
0
0
9
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
11
0
5
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
5
-9
0
0
5
-8
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
22
-5
21
17
0
-22
-20
-33
16
-15
-7
9
-94
-32
2
7
111
-31
-13
41
-13
-3
76
-26
10
11
-18
-16
36
5
15
12
14
8
15
9
-2
0
-13
-30
58
-53
-37
-2
0
1
5
-3
-5
5
0
0
14
21
-4
0
-13
-86
19
-8
-44
44
-43
-18
13
-15
40
-56
-26
-23
-13
4
48
5
18
13
24
-43
3
0
17
42
4
0
36
-19
-7
10
24
-13
-4
-3
-17
-61
-7
13
-37
-16
-19
0
1
50
-32
18
-31
26
-2
-29
17
-12
-8
45
-16
21
-11
71
-13
-8
-4
-11
28
0
0
-46
19
16
-11
-60
-2
-11
-34
5
-10
-4
-47
-42
-31
-16
-61
10
-2
-17
16
18
29
-76
-12
-4
-49
-62
-17
-50
-29
19
-4
11
-17
-8
-70
40
-20
16
-1
-30
-2
-37
43
-41
-5
-5
35
41
19
8
0
-23
41
77
-35
16
-8
0
15
24
32
-3
-4
-9
-8
-13
91
-31
-46
4
0
79
-38
-19
58
18
-23
-5
29
39
16
48
-21
50
-14
60
17
-24
-26
-15
-12
-12
-24
-21
0
62
14
37
-9
80
-38
2
48
-74
5
-21
66
17
6
24
5
-6
-27
24
-8
20
11
5
-1
53
0
15
57
42
-28
-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
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
17
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
-23
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
1
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
23
0
0
0
0
0
-3
26
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
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
-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
34
0
0
0
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
-45
0
0
0
0
0
10
-17
0
0
0
0
2
25
0
-1
62
58
0
-4
13
0
0
31
0
0
-58
-5
-2
7
-26
-49
0
-69
2
0
0
84
0
0
32
-4
0
0
-92
-22
0
59
0
0
0
2
0
0
0
0
0
0
0
-8
0
0
0
50
0
0
-4
0
0
-59
-14
5
17
25
0
-55
25
0
0
-25
0
0
43
-19
0
0
50
-24
0
16
10
0
0
6
0
0
34
-36
0
-7
-37
34
0
-60
26
0
0
-23
0
0
0
-1
0
-6
-4
20
0
0
4
0
7
0
0
0
0
-7
-23
-27
0
9
0
0
5
69
2
-4
0
0
39
36
4
11
-10
-20
0
28
-15
0
3
-10
0
0
13
65
8
-1
3
16
0
90
-36
0
-1
68
0
0
-4
-9
1
1
23
-52
0
0
57
0
15
5
0
0
7
-56
0
-1
3
-10
0
0
-45
0
4
0
0
0
0
-58
-34
3
-2
6
0
1
12
-3
-29
18
0
0
-1
80
0
4
-13
-6
0
0
-12
0
45
-3
0
0
5
-75
0
0
-1
45
0
-1
49
0
20
3
-2
0
0
53
0
0
-1
5
0
0
40
0
-52
-2
0
0
0
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-33
53
7
-29
-55
-32
-15
-29
13
51
0
-3
-2
4
-41
37
15
16
90
3
26
-37
153
0
-1
-45
-37
7
-31
84
45
-6
-63
-5
-57
-28
4
1
-22
-9
-25
45
62
-4
-50
-15
-33
-3
-146
-94
-26
-18
-60
40
18
-20
-14
-1
-11
-27
-35
96
99
1
13
20
23
2
33
16
-18
-35
51
8
45
59
-14
-24
-145
-2
-1
-6
-4
11
11
-11
56
46
39
5
20
10
21
-42
-14
-39
-49
-19
-11
-3
42
11
-8
14
33
-2
5
36
-8
25
58
66
-13
11
-41
-53
4
-7
-2
8
0
22
-27
57
-2
53
-3
-22
-49
11
44
4
105
4
-38
15
43
25
-24
51
7
87
-11
25
73
-3
8
12
1
21
-1
-7
-16
45
8
43
18
-2
-48
26
33
29
37
-20
18
3
9
-43
1
-27
62
46
86
-21
-23
-27
-21
25
-34
-25
14
-1
-22
-1
13
-16
-54
-57
-15
-15
32
-59
62
-45
-27
68
-17
25
-40
-24
49
-18
46
-31
73
10
15
-59
15
35
-28
-99
-38
3
36
22
-18
13
-63
22
-16
85
64
83
-20
8
-4
-39
-26
46
41
12
-54
67
-19
16
17
16
9
110
80
63
-52
84
19
12
-6
10
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
61
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
-4
0
0
0
0
0
5
0
0
0
0
0
0
57
0
0
0
0
0
0
-3
0
67
0
0
0
13
-3
0
0
1
0
0
0
-4
0
0
0
0
0
0
45
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
-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
46
0
0
0
0
0
0
11
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
13
0
0
0
0
0
0
0
0
0
0
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
58
0
0
-49
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
0
0
-1
0
0
0
0
-105
0
0
-3
0
0
0
0
0
18
7
2
0
42
-8
0
0
-2
0
0
0
-2
0
0
-3
9
0
0
82
0
0
1
0
0
0
0
0
-22
0
0
0
0
-6
0
0
0
0
0
0
-1
13
0
0
0
0
0
37
0
0
0
0
0
-4
1
0
0
0
0
0
0
63
0
0
-4
0
0
0
104
0
0
1
0
0
0
-63
0
0
4
0
0
0
-10
0
0
0
3
0
0
-30
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
8
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
0
0
-3
0
0
0
0
-8
0
0
0
0
0
0
-11
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
-2
0
0
-9
0
0
0
14
0
0
5
5
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
0
0
0
-3
0
0
4
0
0
0
0
0
-6
0
0
3
0
0
0
5
0
0
0
0
0
0
0
0
106
0
0
0
-5
32
0
0
-4
0
0
0
72
0
0
-6
0
0
0
-14
0
0
2
0
0
0
-6
0
0
0
5
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
-11
5
0
0
0
0
0
41
0
-5
0
0
0
0
-80
0
0
0
0
0
0
48
0
0
0
0
0
0
5
0
0
13
0
0
0
47
0
0
0
0
0
0
43
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-16
0
0
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
-1
0
0
0
0
0
0
4
0
-3
0
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
0
0
0
0
0
0
0
0
0
27
-55
-7
4
59
0
-9
92
-1
0
0
68
0
1
2
-4
0
0
81
-14
47
-72
3
1
4
-15
0
34
-1
5
0
0
8
0
-36
2
0
0
0
0
0
-15
0
3
0
0
0
14
-66
0
0
5
0
0
0
-2
0
0
14
-93
29
4
0
-90
44
0
-7
-26
0
0
-49
105
0
8
49
43
0
25
-9
0
6
14
1
-1
-35
33
0
-1
-9
1
0
2
-45
-2
0
-21
0
0
2
52
0
-7
-26
-5
0
0
-41
0
0
0
0
32
0
42
-16
-5
0
0
0
0
0
4
-13
0
0
0
-8
5
-4
45
89
-6
0
-32
46
0
-2
-28
0
0
13
-33
-1
2
-37
4
0
55
-19
0
2
-58
0
-3
2
-88
0
3
-73
42
0
0
9
4
9
-6
0
3
0
-33
0
10
8
8
-9
0
-6
0
0
0
0
0
0
0
-18
0
5
0
0
0
-34
-1
-83
-23
0
0
-1
-31
0
0
2
0
0
6
29
-9
8
-14
0
0
0
23
0
18
-3
2
0
0
-31
0
21
53
-1
-3
0
-25
4
3
-1
-1
-18
0
-21
0
-1
0
0
-3
0
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
12
-19
-5
11
49
59
0
45
-31
-63
18
120
29
86
-25
67
-3
52
57
6
8
62
-62
-1
-11
-84
-2
-18
52
-20
0
-1
-71
40
51
0
-5
0
0
0
-2
-82
0
-17
0
0
1
5
-125
0
0
31
0
0
0
-50
0
4
-6
-113
46
-1
0
4
-50
-5
26
33
20
-2
41
65
10
-16
0
-125
-16
-6
-41
5
2
-8
14
-9
12
-34
0
19
0
-72
5
14
-56
0
9
3
2
-9
-22
2
-1
-1
-10
10
16
3
-54
0
0
0
5
45
0
62
101
75
0
-2
5
0
-22
-18
-4
33
-9
1
-32
-14
62
-53
-5
-64
0
140
17
0
-2
-59
3
83
-15
-33
4
26
-8
-16
84
57
-29
0
-5
-42
20
-3
43
21
0
-13
-64
41
3
0
2
0
-48
-40
-2
-32
-1
12
0
6
-9
-43
49
0
3
33
0
0
3
0
0
39
-5
-8
-4
5
0
5
18
21
4
-57
-9
7
33
14
9
71
-2
-8
-2
-20
-97
16
112
-7
0
5
-2
51
0
2
-51
8
21
2
17
0
-18
-25
7
-2
-1
15
0
0
-14
-57
31
-2
32
3
17
0
-4
2
0
-30
27
-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
4
0
0
-36
0
0
0
14
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
32
0
2
0
0
0
3
-52
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
49
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
-25
0
0
-1
0
0
0
5
0
0
0
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
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
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
1
0
0
-10
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
33
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
-15
-1
0
0
-4
-46
0
0
-1
0
0
0
1
0
0
2
0
0
0
36
0
0
4
0
0
0
22
0
2
0
0
0
0
-2
0
0
0
0
7
0
9
7
0
0
0
0
0
32
0
0
0
0
0
0
45
0
0
0
0
0
0
-60
0
0
0
0
0
14
25
0
0
-2
0
0
0
62
0
0
0
0
0
0
-2
0
0
0
2
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
-27
0
0
0
0
0
0
3
0
0
0
0
0
0
-24
0
1
0
0
0
0
-4
0
0
0
0
0
0
-59
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
-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
-13
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
-14
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
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
-8
0
0
1
7
0
0
56
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
25
0
0
0
0
0
0
24
0
0
0
0
0
0
-26
0
0
0
0
0
0
26
0
0
8
0
0
0
-23
0
0
4
0
0
3
5
0
0
-2
0
0
0
-21
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
17
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
15
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
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
-44
2
-4
4
16
-1
0
33
46
29
-8
-101
-63
43
-11
2
-2
5
-48
0
-17
-5
-8
0
0
-34
119
5
6
83
0
0
18
0
27
0
-29
0
0
0
2
19
0
0
35
0
0
0
17
0
8
20
-56
28
15
0
1
46
0
0
13
-2
0
8
-42
-1
-12
-43
53
0
24
-29
-1
11
16
-1
-18
5
-26
0
34
5
-59
-1
-2
-24
0
0
-99
0
-6
34
6
0
69
-13
61
-4
0
-8
0
0
0
0
28
0
56
-21
-4
0
6
17
0
48
24
0
-14
0
0
44
3
-1
14
139
-48
0
-11
-15
1
9
55
0
0
51
56
-7
19
-23
-19
1
48
-2
-1
7
62
4
-1
32
-55
0
41
100
-35
2
-6
-57
0
19
20
0
44
1
14
-1
33
43
60
22
0
24
6
9
0
8
15
0
43
-95
3
0
0
0
-7
42
0
22
18
0
-2
2
-22
0
52
-1
25
0
7
26
0
-24
-22
-4
0
5
-8
3
-11
37
23
0
0
-11
0
-20
-24
0
1
9
-41
0
17
-25
-20
2
3
-53
0
90
2
0
34
1
42
-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
-83
-32
-2
0
-3
0
0
-23
-21
0
0
-7
-4
1
32
-7
0
0
2
3
53
4
3
0
0
32
0
10
90
0
0
1
0
0
5
0
9
0
0
0
-7
-28
0
0
-45
0
0
0
11
3
56
53
5
-5
0
0
-26
0
-4
0
-57
-1
0
65
-3
0
-95
2
26
-1
79
-13
0
4
30
-6
0
17
-55
0
0
-35
53
11
13
21
0
0
28
0
8
-1
46
0
50
-26
-11
0
0
44
0
0
0
0
-5
0
8
27
-1
0
-2
0
1
-17
3
-2
6
0
0
53
0
0
0
45
-2
0
-17
22
0
7
2
-2
0
-43
35
2
13
-5
-1
0
-1
22
-1
-2
-3
-3
-3
5
-92
0
0
-44
22
0
0
-64
0
0
42
0
-3
1
132
0
2
0
1
-11
0
0
-5
0
0
0
0
0
13
0
-1
0
0
0
0
0
8
-39
1
-2
0
0
-62
0
0
0
-1
0
0
-136
0
60
40
3
0
-2
9
0
1
-19
1
0
3
15
0
-30
-4
0
1
0
144
0
0
-8
0
0
0
9
0
54
1
-9
0
0
53
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
0
0
-44
0
0
0
55
-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
-51
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
-47
0
0
55
0
0
18
-17
0
2
53
0
0
-42
57
0
0
-3
0
0
-1
14
0
0
0
0
0
0
-75
0
0
-7
0
1
0
-8
0
11
0
0
0
0
14
0
0
0
0
0
0
-10
0
0
0
0
0
0
-89
3
0
0
0
0
-1
81
0
-4
1
0
0
-1
-12
0
0
0
0
0
-3
-43
0
0
18
0
0
0
-53
0
0
27
0
0
0
0
0
0
0
4
0
0
25
0
0
0
0
0
0
18
0
0
0
0
0
0
-32
0
0
0
0
0
0
17
0
0
0
0
0
0
20
0
-4
0
0
0
0
23
0
0
0
0
0
-2
-48
0
-1
0
0
0
14
5
0
1
0
0
0
0
25
0
7
0
0
0
0
30
0
0
0
0
0
0
12
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
54
2
0
0
29
0
2
51
-10
0
0
27
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
-33
0
0
-1
0
0
0
0
0
74
8
0
5
-1
0
0
107
0
0
4
0
0
43
-1
0
18
-8
0
0
-76
71
0
0
0
0
0
0
53
0
0
0
0
0
7
-15
0
0
0
0
0
0
-43
0
14
0
-9
0
0
33
0
0
0
0
0
0
-100
0
0
0
0
0
0
-67
0
0
0
0
0
-6
23
0
0
6
0
0
1
-127
2
3
-1
0
0
0
-31
0
0
-2
0
0
0
-76
0
0
7
0
0
0
-18
0
0
8
0
0
0
101
0
0
-1
0
0
0
13
0
0
0
0
0
0
18
0
0
0
0
0
0
-54
1
0
0
0
0
-2
1
0
-2
0
0
0
-2
14
0
8
0
0
0
14
43
0
1
0
0
0
0
-33
0
0
0
0
0
0
118
0
0
1
0
0
0
9
0
0
-1
0
0
0
-53
0
2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
68
-10
131
2
-37
79
-22
23
18
0
29
-37
-36
-44
42
-14
46
7
37
0
38
-109
-3
-3
-60
-31
44
-23
-3
-1
-1
-65
5
-20
-10
-30
-2
-2
-2
-65
-15
0
-5
35
3
0
36
-17
-1
86
6
-5
28
-9
0
-46
19
16
-6
65
21
-1
49
14
0
45
40
10
-26
22
20
39
3
72
-34
96
31
18
-10
13
-14
-6
-3
39
-9
0
11
-36
13
43
-47
-29
-5
-38
-27
-42
-36
15
-30
-4
-5
19
43
10
-2
17
-47
-103
-1
-37
-37
-2
76
-4
-3
50
11
18
-36
33
63
-30
19
70
21
-26
9
35
6
142
11
50
34
-14
-48
69
43
67
6
43
-13
47
5
-24
-47
-90
61
-40
-3
13
9
-28
61
-27
-27
-1
-24
40
14
-35
-3
10
27
-13
-41
24
-52
0
0
26
46
-2
1
28
-2
50
91
-18
3
-11
0
-62
17
-47
42
-22
0
-4
39
-21
-5
20
19
21
-5
-49
-29
5
37
68
-4
34
28
-12
-3
21
2
32
-55
68
-7
2
11
52
76
-63
43
56
-18
32
-15
69
8
-9
-8
0
0
37
4
-72
0
14
36
-21
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
-2
-45
0
0
0
-15
0
71
-41
1
0
0
43
0
-2
-2
1
0
0
7
0
7
5
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
21
0
0
0
-35
6
24
58
68
-1
0
0
-63
-70
0
0
-36
0
0
59
5
0
33
-2
0
0
-8
-67
0
0
-32
0
3
-15
10
0
1
-76
0
0
10
-13
0
0
68
0
0
0
-63
0
8
0
0
0
0
2
0
0
-1
0
13
0
65
-11
-8
0
0
0
0
-13
14
0
-2
0
0
20
3
-15
-1
31
0
6
-18
44
0
-1
1
0
-8
74
-16
0
0
48
0
1
-13
13
0
7
65
0
-1
1
16
0
6
26
-1
-1
-1
65
0
0
-1
0
-6
0
34
0
-9
0
0
14
0
3
0
0
0
0
0
0
49
-5
-2
0
0
0
0
-69
0
-71
7
0
0
-8
-6
0
-2
0
0
0
-1
-20
0
55
-14
0
-4
-4
-46
0
-2
-24
0
0
0
17
0
8
-3
0
0
0
4
0
0
-5
0
0
0
22
0
14
0
0
2
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
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
1
10
0
24
0
0
-3
0
0
0
41
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
2
0
0
0
0
0
-23
-9
0
-1
0
0
0
-53
0
0
51
0
0
-46
-22
0
74
2
0
0
1
3
0
0
-14
0
0
-17
7
0
2
14
1
0
6
-9
0
0
0
0
0
4
6
0
34
0
-2
0
0
-33
0
0
0
0
0
0
-8
-7
2
0
0
0
1
109
2
0
0
0
0
5
54
-2
0
-17
0
0
-1
39
0
0
-5
0
0
11
-14
0
4
32
-6
0
10
7
0
-2
9
0
0
4
29
0
0
-9
4
0
0
-12
0
0
0
0
0
0
9
0
-2
8
9
0
0
32
0
0
0
0
0
0
51
0
0
0
1
0
0
9
0
-48
1
0
0
0
-80
0
0
1
-2
0
0
15
0
27
20
0
0
0
-42
0
0
-5
-1
0
5
-3
0
-1
0
0
0
0
21
0
-1
0
-5
0
0
73
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
8
-35
-1
14
39
18
-52
6
-67
-61
-11
-24
-4
30
-38
-47
-16
10
-51
53
-11
4
-71
10
-14
-111
-14
-17
-14
-24
-33
0
-13
5
-11
-5
22
46
5
-4
-14
-60
32
39
3
-15
38
5
-5
38
3
-20
-5
5
-10
5
51
-72
72
28
68
2
-43
34
-13
71
62
-19
32
-65
71
3
5
81
47
6
14
-9
-1
0
-29
-7
-10
-22
32
-25
14
-21
20
3
-82
-18
12
47
66
83
14
-32
0
28
-9
-38
0
-33
-35
0
47
45
12
11
3
-43
5
17
72
31
64
-49
44
150
10
8
-88
35
71
5
37
-12
16
51
-4
3
44
73
-21
32
64
27
58
20
-22
-12
37
-20
-51
36
46
31
2
5
22
-17
-120
-29
-49
-16
79
65
-51
0
-24
-1
-3
-6
-16
0
-50
-52
-2
-21
35
4
92
-77
-3
-38
-3
97
7
73
20
-10
60
16
20
-47
29
-73
-53
46
-5
-59
-4
-18
57
32
34
12
29
2
24
-42
-11
6
28
-24
25
61
-6
-157
60
-3
-11
-65
24
-18
-1
43
3
1
16
68
-33
22
0
19
9
14
5
26
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
3
9
-2
0
39
6
-10
0
-10
0
0
-1
0
10
-5
-3
0
0
14
0
9
-3
1
0
0
0
0
11
0
-8
0
0
0
11
-49
0
0
-17
0
0
-4
-5
0
79
-4
19
33
3
0
34
-17
0
0
-9
0
0
-74
0
-3
42
4
1
0
-10
-85
0
0
-22
0
0
-1
42
0
0
-5
-3
0
-17
-80
0
0
5
0
4
0
18
0
28
23
-4
-1
0
-2
0
0
0
0
0
0
3
-9
5
0
0
0
0
84
0
2
1
0
0
0
-21
-1
1
-20
0
0
44
0
0
0
-85
-1
0
10
-16
0
2
16
1
0
13
36
0
0
-2
0
0
1
-107
0
1
8
18
0
0
201
0
0
0
-1
6
0
43
0
0
0
6
34
0
-60
0
-4
0
4
0
0
36
-2
0
5
0
0
0
53
9
34
10
0
0
4
0
4
20
20
5
0
-4
55
0
23
59
0
0
0
-54
0
4
3
-3
0
0
-45
0
33
0
4
0
4
-10
0
0
-2
0
0
0
-18
0
12
1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-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
-20
0
0
1
0
0
0
0
0
109
4
-3
0
0
0
0
-7
0
0
-5
0
0
-1
-1
0
8
32
0
0
-45
11
0
0
2
0
0
0
-6
0
0
1
0
0
0
43
0
0
0
0
0
0
-3
0
8
0
0
0
0
-9
0
0
0
0
0
0
117
0
0
0
0
0
0
-52
0
0
0
0
0
0
-42
0
0
1
0
0
-8
32
0
0
0
0
0
0
18
0
2
0
0
0
0
-66
0
0
0
0
0
0
65
0
0
0
0
0
0
-6
0
0
0
0
0
0
-13
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
-17
0
0
0
0
0
0
19
0
0
0
0
0
0
-16
0
0
5
0
0
0
-16
0
-4
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
4
0
0
0
-16
0
0
8
0
0
0
0
0
0
0
1
0
0
9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
1
0
0
0
0
0
-62
15
-2
0
0
0
6
80
0
0
-26
0
0
5
1
0
-9
77
0
0
-4
-7
0
0
0
0
0
-9
17
0
0
5
0
0
-6
1
0
0
0
0
0
0
20
0
-7
4
0
0
0
-5
0
0
0
0
0
0
27
0
0
0
0
0
0
-93
0
0
0
0
0
3
47
0
0
-2
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
1
18
0
0
0
0
0
0
27
0
0
0
0
0
4
-34
0
0
0
0
0
0
14
0
0
2
0
0
0
35
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
25
7
0
0
0
-15
0
0
0
-4
0
0
-2
0
2
0
0
0
0
-3
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
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
58
20
6
19
-4
-15
-43
-86
-26
-2
1
1
-2
-48
-66
76
0
7
-31
15
-18
-3
-72
0
-4
48
0
-42
3
33
0
0
14
-46
9
0
1
-5
0
0
4
-23
10
34
125
-10
-22
17
0
28
-32
98
25
-2
0
-8
109
40
-1
-14
6
9
-6
9
-24
4
109
3
0
24
41
0
0
1
-31
25
33
5
-41
1
-2
14
4
-17
11
-16
0
-92
-45
49
-1
-1
15
0
-1
-2
0
5
3
21
-41
-61
0
-8
0
-8
27
-14
-2
-14
0
0
9
2
41
88
24
33
-3
78
-21
2
16
28
5
-2
95
-4
15
43
35
38
-5
82
12
41
6
36
-9
20
-44
-97
1
-14
12
20
-36
-4
3
0
-1
-17
0
21
-3
41
-4
0
-31
-71
64
0
30
0
0
0
0
1
0
32
-25
1
0
0
0
5
-25
5
41
2
-1
-8
-19
33
1
2
78
-31
5
-10
-12
7
9
-5
2
41
-5
-7
-3
-33
90
-31
-2
-5
-50
0
-18
-42
-3
-3
-13
-35
0
-2
70
-36
9
-8
-14
0
47
-1
2
-14
0
18
-9
-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
-7
7
0
0
0
0
-3
53
0
0
0
0
0
1
0
0
-36
56
0
0
4
0
0
0
0
0
0
5
1
0
0
0
0
0
0
33
0
0
0
0
0
0
1
0
6
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
3
0
0
0
0
14
0
0
0
0
0
0
-24
0
0
0
0
0
0
32
0
0
0
0
0
0
-2
0
0
0
0
0
0
64
0
0
0
0
0
0
5
0
0
0
0
0
0
50
0
0
0
0
0
0
26
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-1
0
0
0
0
6
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
3
44
-19
0
-6
3
0
-1
11
0
0
-26
0
0
-62
-11
0
-16
1
-8
0
91
4
0
0
-46
0
0
34
-1
0
0
-21
-2
0
1
-73
0
0
13
0
0
0
23
0
59
0
5
0
-17
-111
0
0
0
0
0
0
-120
30
-1
0
-4
0
0
42
1
-1
4
0
0
1
34
4
-25
-4
7
0
27
66
0
0
-25
0
0
-4
-5
0
3
-35
-4
0
11
33
0
-1
22
0
0
0
100
0
0
25
5
0
0
48
0
0
0
0
0
0
60
0
-1
-1
-27
0
0
-12
0
0
0
0
0
0
100
-16
0
0
0
0
0
-25
0
34
-4
0
0
1
16
0
0
0
1
0
0
-40
0
7
21
0
0
-13
-32
0
10
0
0
0
0
5
0
-4
-7
3
0
0
-6
0
-2
1
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-53
-9
-4
-30
5
-9
41
-39
0
1
17
-33
24
24
43
0
-2
24
0
-32
1
33
1
0
0
-21
-4
0
0
-14
0
1
-1
60
6
87
15
28
6
-14
0
22
3
7
1
31
0
0
68
-42
-15
30
64
9
-16
-30
-1
5
86
-7
-6
-11
-75
11
-4
-45
49
54
-5
55
-9
-3
-15
64
17
-26
32
-1
-2
13
2
-25
-6
-1
13
0
-1
0
-4
-17
0
-1
-12
136
0
39
10
1
90
-15
-18
12
-24
0
-27
-9
-9
19
17
17
2
-54
16
3
-9
-7
4
-9
91
20
5
10
-4
-23
-7
31
3
22
4
30
-3
85
5
-8
-1
8
93
-15
-33
2
-21
4
19
-11
-5
95
-1
-14
0
-14
-13
-9
23
0
-33
-14
-1
0
0
16
0
12
10
-21
0
2
0
-9
12
5
63
-35
6
0
-53
37
-2
57
-76
4
-9
2
19
8
-7
53
-29
-10
32
45
4
11
-134
65
3
4
14
-7
2
102
10
33
8
-64
0
-34
-29
-3
6
1
-11
0
67
13
-10
-31
0
-15
6
-7
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
-9
4
0
0
-1
0
0
0
0
0
0
-8
-11
-9
0
0
0
0
-1
0
0
0
27
0
0
0
0
-17
0
0
-27
0
0
0
1
0
-21
8
39
7
2
0
-43
89
3
0
-19
0
-1
3
5
-2
20
-23
22
0
-52
0
-2
-1
-15
0
0
15
-16
0
1
-13
-3
0
74
-33
0
0
14
5
0
0
31
0
-11
0
-15
0
0
13
0
0
0
7
0
0
61
-1
44
0
0
0
0
-4
7
-4
-2
0
0
0
1
3
2
-38
-16
0
14
23
0
8
14
0
0
40
0
0
0
-6
-1
0
-14
41
0
0
32
0
0
5
-12
0
-6
-10
-31
0
0
-12
0
0
-4
2
-3
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
7
-5
0
0
0
0
0
-5
-1
-45
-5
-1
0
0
-24
0
-6
-22
0
0
-7
0
-1
25
10
0
0
-3
17
0
0
-2
-1
0
0
-23
2
29
-21
3
0
0
7
0
0
0
-2
0
0
24
0
22
0
0
4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
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
70
0
0
-1
0
0
-1
19
0
75
-33
0
0
5
-2
0
0
20
0
0
0
0
0
0
4
0
0
0
11
0
0
0
0
0
0
1
0
-11
0
0
0
0
45
0
0
0
0
0
0
1
0
0
0
0
0
-1
5
0
0
0
0
0
0
-33
0
0
0
0
0
0
29
0
0
0
0
0
0
53
0
0
0
0
0
0
4
0
0
-2
0
0
0
1
0
0
0
0
0
0
77
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
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
21
0
-3
0
0
0
0
-5
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
0
3
0
0
0
-4
5
0
0
3
0
0
-4
4
0
-1
14
0
0
-4
-7
0
0
1
0
0
3
2
0
0
-1
21
0
-3
97
0
0
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
0
0
-11
0
23
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
4
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
-7
0
0
37
0
0
0
0
0
0
-3
0
0
0
0
0
0
27
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
3
0
0
0
0
-17
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
-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
-53
7
0
0
11
8
-18
13
53
0
0
20
7
-41
39
-7
0
1
1
2
5
0
24
0
0
0
67
1
0
0
-3
0
0
0
30
9
40
-7
13
71
9
0
-70
8
31
-1
0
0
4
27
77
25
4
56
49
5
-1
40
2
0
41
-2
-7
59
54
-13
-1
-10
5
20
-14
-34
0
0
16
2
-18
5
-54
-2
-37
-17
14
-17
0
-8
1
0
0
0
12
0
-10
-19
-31
0
-7
9
0
42
-25
0
-22
0
0
30
-2
21
-2
-3
-17
8
-53
31
-13
32
-46
-6
-3
-65
13
0
79
26
102
46
26
1
-3
-18
-98
62
-26
29
-78
-13
17
1
-23
34
25
-35
0
-4
32
0
92
3
-45
0
-14
2
-55
18
0
-3
0
-3
0
-25
3
0
26
-38
7
14
-25
0
-1
-10
4
-19
46
0
0
11
74
14
2
43
-32
0
58
13
5
-32
33
1
0
5
18
-11
75
15
-64
2
-14
-51
1
-39
-6
0
-77
-1
-51
8
32
-25
-46
5
0
-11
0
22
-10
0
-14
0
-27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
7
-3
6
0
0
44
0
59
17
-6
0
0
-6
0
21
0
0
0
0
0
-23
60
0
0
-54
0
0
0
45
4
48
24
31
-42
0
0
-15
-14
-8
4
-1
0
0
66
-2
0
5
22
0
4
9
-41
0
0
16
0
-8
-51
5
0
-2
4
4
4
-4
-13
0
0
-9
0
-3
6
-17
9
35
-21
0
0
0
28
-2
0
3
0
-42
0
16
-14
6
0
0
-5
6
25
-35
0
-8
0
0
-6
17
-11
-5
48
0
0
11
4
0
-1
50
0
0
-53
-13
0
15
-5
0
3
19
-4
0
2
3
1
-34
-8
-30
8
17
-29
-5
-7
0
16
0
-17
42
0
-13
0
26
0
0
37
0
-28
0
15
2
6
0
0
-2
0
15
1
6
0
0
0
0
29
0
47
5
0
0
20
0
-2
25
-47
0
0
-18
6
0
-46
8
0
0
-2
85
0
5
-41
6
1
0
-41
0
-21
33
0
0
0
4
1
-1
1
0
0
0
-42
0
56
3
0
-29
0
22
14
11
-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
-33
0
0
0
1
0
0
-2
-2
0
0
-1
-7
0
0
0
0
0
-2
0
0
0
49
0
0
1
2
0
0
0
43
0
0
0
0
0
-19
17
-8
-47
-4
0
73
54
0
0
50
0
0
50
49
0
15
-42
-6
0
-62
91
0
0
-5
0
0
31
113
0
-5
0
26
0
62
83
0
0
29
0
0
1
-81
0
8
-8
11
0
-4
130
0
0
0
0
0
0
11
83
17
0
1
0
0
-2
-39
-4
0
0
0
21
84
-3
-7
-16
-11
0
54
42
0
1
16
0
0
61
7
0
-7
85
23
0
8
-13
0
39
25
0
0
-2
61
0
1
15
26
0
0
-58
0
-5
5
0
0
0
-27
0
-6
21
20
0
0
36
0
0
0
-1
0
0
22
-1
0
0
-6
0
0
-46
1
17
2
0
0
3
-53
2
-2
-37
-17
0
-1
6
0
34
21
0
0
0
26
0
5
0
-8
0
0
76
0
-3
0
0
0
13
-5
0
2
1
-3
0
0
-4
0
-42
-2
0
0
0
62
-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
-49
88
0
-1
1
-33
19
19
59
0
-4
1
-4
-10
4
-46
0
0
0
-36
32
0
-3
-7
0
0
0
-34
1
39
-41
-47
-1
-27
0
-90
19
-4
10
43
0
0
-57
20
0
-33
19
30
-1
9
22
-5
8
-28
5
-5
-32
-3
0
-3
24
8
-21
-22
-26
10
4
16
0
-3
-1
-44
0
-23
5
-5
-1
0
104
0
0
3
0
-27
0
17
19
-72
0
59
0
0
-25
8
10
40
2
0
-10
11
-5
14
29
49
10
-32
79
2
-15
10
4
-13
13
11
-33
75
-65
-23
0
-6
21
-3
5
-65
-3
-21
-5
15
6
0
22
1
-14
15
-6
0
-19
5
0
-21
0
-44
0
2
-2
-49
10
0
6
4
0
0
0
5
0
-26
17
-5
-15
0
0
0
-10
10
-99
-25
-1
0
1
92
0
-22
-31
-14
0
-4
-27
0
-33
-3
0
1
4
41
0
-24
5
14
1
-2
-4
0
-5
-34
1
-5
-5
46
0
36
-48
21
-1
0
15
0
12
0
0
18
0
34
-16
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
-21
8
0
0
5
0
6
3
-4
0
0
0
-4
0
0
-2
0
0
0
1
-60
0
0
9
0
0
2
-7
0
87
-18
-4
-5
0
0
-43
19
0
0
36
0
0
5
35
1
17
30
5
0
-42
26
-5
5
97
0
0
45
0
1
0
-1
0
0
-2
23
0
2
-2
0
0
-5
-22
0
6
-1
-9
0
-1
-63
0
0
0
1
-2
0
4
4
0
0
-5
0
0
92
39
2
-3
0
0
3
-43
0
-1
-9
-14
0
29
23
0
4
-8
0
5
8
25
-1
19
53
3
0
3
0
0
5
-48
-5
0
-6
-42
2
0
13
0
0
2
-5
0
0
9
0
0
5
-39
0
0
15
2
-6
0
69
0
0
0
0
0
0
22
-2
0
6
0
0
0
0
1
29
-4
0
0
0
-14
0
-3
32
0
0
0
-38
0
-19
-2
0
0
-3
0
0
1
-8
-5
2
4
-56
0
-22
3
-5
0
0
-22
0
1
-5
3
0
0
-27
0
-46
0
0
0
0
3
-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
23
0
0
0
0
0
0
-15
0
-14
0
0
0
0
0
2
-43
0
0
5
0
0
16
0
0
0
-16
-5
0
0
17
0
0
41
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
13
0
0
0
0
0
0
-18
0
0
0
0
0
0
5
0
0
0
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
24
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
-8
20
0
0
0
0
0
1
-1
0
21
3
0
0
-16
-14
0
0
5
0
0
0
47
0
0
0
0
0
0
20
0
0
0
0
0
0
31
0
-3
0
0
0
0
-7
0
0
0
0
0
0
19
-3
0
0
0
0
0
16
0
0
0
0
0
0
14
0
0
0
0
0
0
54
0
0
0
0
0
0
81
0
0
0
-2
0
0
-43
0
0
10
0
0
0
-43
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
-31
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
4
0
9
-1
0
0
0
-8
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
13
-33
-14
7
-1
0
0
0
0
-2
0
-7
0
0
0
2
-48
0
0
-55
0
0
0
-23
-1
60
78
0
9
11
0
-15
-67
0
0
-19
-1
-5
-40
108
0
-26
-20
-26
0
37
97
0
0
9
1
0
43
12
0
0
-3
86
0
13
88
0
0
-32
0
0
-1
-23
1
-49
0
1
0
0
24
0
0
0
0
-36
0
56
21
5
0
0
3
0
-18
10
0
-9
0
0
-7
38
-24
-14
-14
-2
1
77
29
0
1
-16
3
-2
112
-74
0
0
44
-8
3
-3
-66
0
8
1
0
0
0
33
0
0
3
-2
0
0
-15
0
-5
-1
0
-1
2
-28
0
1
0
33
31
0
58
0
0
0
0
0
0
7
-9
2
0
0
0
-1
-36
10
57
0
0
0
-5
5
0
5
4
0
0
-3
62
0
29
3
0
0
0
65
0
6
18
19
1
0
47
0
30
0
0
4
0
9
0
0
0
0
0
0
85
0
5
0
0
0
0
-45
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
-6
0
0
0
0
0
0
38
0
0
-5
0
0
0
1
0
21
-3
0
0
-29
-1
0
0
4
0
0
0
0
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
16
0
0
0
0
0
0
14
0
0
0
0
0
0
-15
0
3
0
0
0
0
-46
0
0
0
0
0
2
-3
0
0
2
0
0
0
-1
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
-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
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
-21
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
-5
10
0
0
-2
-3
0
-1
0
0
0
0
0
0
0
48
0
0
0
-11
0
0
0
-9
0
0
0
0
4
-9
-14
7
29
3
0
-16
-18
0
0
-62
0
0
-1
-6
6
-31
-19
11
0
5
48
0
0
-9
0
0
68
-15
0
7
-73
-5
0
34
-16
0
0
56
0
0
0
33
0
-53
1
-25
0
0
-11
0
0
0
0
0
0
12
20
1
0
0
0
4
-23
-9
0
1
0
0
-14
-62
15
5
1
41
0
-33
33
0
0
40
0
0
-100
-19
0
-5
21
-97
0
26
-73
-1
-4
39
4
0
3
-47
0
0
-54
-26
0
0
24
0
21
0
0
0
0
-53
0
14
0
9
0
0
13
0
11
0
0
0
0
59
24
0
0
5
0
0
-58
5
-5
19
0
0
5
79
2
0
-29
4
0
1
-4
0
51
0
0
0
1
-14
0
-15
37
-3
0
2
0
0
110
-15
5
0
6
36
0
6
-2
-1
0
0
-1
0
20
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
-2
20
0
0
2
0
-5
0
-1
0
0
0
-13
-32
0
0
-8
0
0
0
-4
0
16
-10
-4
2
0
0
3
52
0
0
54
0
0
-29
-53
0
18
-47
-1
0
17
-25
0
0
13
0
0
0
-49
0
-1
92
-2
0
0
-4
0
0
-7
0
0
0
89
0
60
4
-16
3
-2
-21
0
0
0
0
-5
0
6
-20
0
0
-1
0
0
-42
4
0
1
0
0
0
-3
2
3
-29
-6
0
0
-42
0
1
3
0
0
-1
-30
0
10
45
-1
0
-2
-54
4
0
23
0
-1
-3
32
-1
0
29
-2
0
0
-2
0
0
-1
0
1
0
-8
0
0
5
-4
-2
0
17
0
0
0
3
0
0
-35
-11
0
0
0
0
0
49
0
0
0
0
0
0
66
0
0
0
1
0
20
-9
0
10
1
0
0
-6
59
0
0
-6
13
0
0
89
0
-1
-5
0
0
0
-72
0
-1
0
0
0
0
39
0
-6
-9
0
2
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
-1
3
0
0
-1
0
-2
0
1
0
0
0
0
-54
0
0
-21
0
0
0
-6
0
-86
4
-1
0
-1
0
-5
54
0
0
-25
0
0
-8
-13
0
38
34
-22
4
-83
-31
0
0
-17
0
-11
-1
-78
0
0
41
5
-15
11
0
0
9
20
0
0
-3
5
0
29
0
-9
0
-2
-32
0
0
-2
0
-9
0
43
19
0
0
0
5
0
37
13
1
0
-7
0
-11
-23
-9
-5
-11
-4
0
20
10
0
0
31
0
0
13
-45
0
-4
14
-35
21
3
70
0
0
4
0
-2
0
0
0
0
-2
-14
-13
0
32
0
-1
0
0
6
7
67
0
0
1
-3
36
0
-14
0
0
-2
-1
3
0
-4
0
0
0
0
0
-4
16
0
-74
-2
8
0
0
26
0
-6
11
-16
0
0
44
0
-14
14
0
0
1
-1
0
-13
1
1
0
6
0
0
-5
0
0
0
-17
23
0
-2
8
-3
0
5
-32
0
-6
0
1
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
-6
0
0
0
0
0
0
3
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
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
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
-43
0
0
0
0
0
0
0
0
-4
0
0
0
0
9
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
-16
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
3
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
0
0
0
18
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
-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
-31
0
0
0
0
0
-11
0
6
0
0
0
0
30
0
0
-2
0
0
0
49
0
7
-38
3
-27
26
0
14
-6
3
0
22
0
0
5
104
0
-5
14
-25
0
-29
28
0
-3
4
-2
0
-4
24
0
0
17
64
0
-1
35
1
0
-3
0
0
0
15
0
0
4
5
0
0
15
0
0
0
0
44
0
-13
27
-3
0
-4
0
0
9
53
0
0
0
0
16
-54
9
-3
14
14
1
2
-20
0
-1
52
9
0
26
5
0
10
-5
56
0
11
7
0
-1
3
-1
4
6
5
0
-15
0
27
3
0
-44
0
0
0
0
-3
0
-98
0
0
0
3
-8
0
-23
0
0
0
0
-1
0
62
4
0
0
0
0
0
-76
7
78
0
0
0
5
31
0
14
-3
2
0
0
64
0
-17
-1
0
0
0
79
0
-13
0
-2
11
-3
-12
-1
-61
0
0
-3
0
28
0
0
0
-4
0
0
-2
0
-65
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
-1
0
0
0
0
0
73
0
3
0
0
0
0
10
0
0
7
0
0
0
-6
0
-52
-1
0
50
0
0
0
15
0
0
17
0
0
0
-15
0
27
1
0
-1
8
31
0
0
88
0
8
-6
-5
0
0
17
0
5
5
-47
0
0
19
0
-1
-1
5
0
-59
-3
0
-1
0
61
0
0
0
0
17
0
10
32
40
0
0
0
0
-44
-2
0
1
0
0
0
-51
0
-2
-10
0
0
21
-75
0
0
14
0
-2
2
-59
0
0
-42
0
0
-3
32
0
0
-18
0
0
0
11
0
0
-7
0
1
0
7
0
0
-1
0
32
0
-1
26
6
0
0
-13
0
60
0
0
0
0
0
0
-50
-7
0
0
0
0
0
53
0
-28
0
0
0
0
-14
3
0
11
0
0
0
43
0
19
0
0
-1
0
22
0
0
0
0
0
0
28
0
-28
0
0
0
0
21
0
0
0
0
-8
0
-6
0
-6
0
0
7
0
-19
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
-3
0
0
0
20
0
0
0
-23
0
0
0
0
0
-23
-27
-3
2
0
0
-19
10
0
0
-46
0
0
26
32
0
8
9
59
0
26
50
0
0
41
0
0
12
0
0
10
-63
38
0
41
-48
7
0
-18
0
0
-1
-7
0
-23
63
-41
0
0
3
0
0
0
0
0
0
3
80
11
0
-5
0
-6
-20
33
0
0
0
0
9
44
0
-18
38
0
0
32
30
0
0
122
0
0
-39
49
0
-4
-43
-16
0
-91
-5
-1
10
-44
0
0
1
-13
1
0
-9
-35
0
0
-15
0
-7
-24
1
0
0
14
0
0
45
26
0
0
16
-2
0
0
0
0
0
-31
69
0
0
0
0
0
-22
0
17
1
0
0
3
36
0
-1
14
0
0
0
-39
0
25
-9
0
0
-1
8
9
27
-23
-1
0
-3
-4
0
-44
35
1
0
5
-3
0
11
26
22
0
0
15
-2
53
0
0
0
0
42
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
8
2
-19
0
0
-4
0
0
0
0
4
-41
-7
1
-10
-4
0
11
29
0
-8
-17
0
0
4
-22
0
-5
10
1
0
-37
-3
0
0
58
0
-1
2
0
0
0
0
0
-9
0
-59
0
0
42
0
0
0
-37
0
-5
-10
-2
0
0
20
0
0
-2
0
5
0
20
-4
-2
0
-7
0
0
-67
-8
0
0
0
0
0
-36
0
6
6
0
-5
4
-80
0
-13
4
0
0
0
9
0
3
-5
1
0
0
-25
0
2
7
0
-2
0
-52
0
0
33
-7
0
0
11
0
6
0
0
33
0
-15
0
0
0
2
14
0
18
0
0
0
0
0
0
-32
0
0
0
0
0
0
-54
-7
14
0
0
0
0
107
0
2
-1
0
3
-1
45
0
24
-6
0
0
0
14
0
0
1
-4
-1
0
42
0
19
6
0
0
0
90
0
0
1
0
0
0
10
0
1
0
2
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
-3
0
0
0
0
5
0
0
7
0
0
0
0
0
-43
-7
4
0
0
0
4
-5
0
0
45
0
0
-5
-17
0
33
40
0
0
-74
-8
0
0
19
0
0
1
-1
0
0
-5
0
0
2
-25
0
0
74
0
0
-2
0
0
-56
0
0
2
0
23
0
0
3
0
0
0
-63
2
1
0
0
0
0
-75
-6
0
6
0
0
0
15
0
-5
8
0
0
-4
-19
0
0
-6
0
0
-16
41
0
1
24
-2
0
0
31
0
0
4
0
0
0
-55
0
0
0
0
0
2
0
0
0
2
0
0
0
-72
0
0
0
0
-1
0
-48
0
0
0
0
0
0
58
0
0
0
0
0
0
34
0
31
0
0
0
-1
-50
0
0
3
5
0
0
44
0
-5
0
0
0
0
6
0
0
1
0
0
0
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
-8
0
15
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
-1
0
0
-1
0
0
-1
0
0
0
0
3
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
-25
0
0
0
0
0
0
16
0
0
-1
0
0
0
-1
0
0
1
0
0
0
-66
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
-25
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
13
0
0
2
0
0
0
10
0
-78
-3
0
0
0
0
4
-20
0
0
45
0
0
-9
-20
0
-4
10
0
2
2
6
0
0
1
0
0
19
-36
0
0
0
0
0
2
-5
0
0
-13
0
0
0
1
0
78
0
-1
0
0
-7
0
0
0
0
0
0
-50
2
0
0
0
0
0
103
-1
0
0
0
0
0
-71
0
0
-7
14
0
0
27
0
0
0
0
0
-17
2
0
0
1
0
0
0
26
0
0
0
0
0
0
34
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
9
0
0
0
0
0
0
-6
0
19
0
0
0
1
5
0
0
5
0
0
0
4
0
-6
0
2
0
0
5
0
0
-2
6
0
-3
34
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
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
-15
0
0
0
0
0
-5
14
0
0
0
0
0
0
0
0
4
-6
0
0
-3
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
-7
0
0
0
0
0
0
-26
0
0
0
0
0
0
8
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
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
34
0
0
0
-51
0
0
0
0
1
-25
-45
2
1
0
0
-52
28
0
0
-17
0
0
88
63
0
-4
-75
20
0
33
9
0
5
-18
0
0
83
62
0
0
47
88
0
47
-63
0
-1
-49
0
0
1
5
0
16
-56
32
0
4
24
0
0
-1
0
0
0
-37
-21
8
0
6
0
0
13
-43
0
0
0
0
42
6
0
45
9
-3
0
1
-11
0
0
58
0
0
-17
47
0
-4
7
-31
0
21
46
0
1
36
0
0
2
-28
0
8
127
6
0
0
-46
0
15
56
0
0
0
34
0
32
-17
16
0
0
-9
-1
0
0
0
0
0
16
-13
0
0
-2
0
-2
-33
0
27
29
0
0
10
-14
0
0
8
27
0
24
104
0
1
53
-5
0
-7
50
0
2
5
24
0
0
14
0
109
34
0
0
1
-60
2
2
-17
-74
0
0
-55
0
-13
3
0
0
0
18
-17
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
3
0
-22
0
0
0
1
-1
0
0
-36
0
0
0
1
0
0
0
0
0
0
-19
0
0
0
0
0
0
-2
0
7
0
0
0
0
3
0
0
0
0
0
0
-90
0
0
0
0
0
0
-80
0
0
0
0
0
0
5
0
0
0
0
0
0
-93
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
2
0
0
0
-2
0
0
-8
0
0
0
-46
0
0
0
0
0
0
0
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
-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
32
5
0
15
-1
0
0
-80
5
0
-52
0
0
-49
5
0
-5
56
3
0
-5
-11
0
-2
4
2
0
0
73
0
0
3
-4
0
0
21
0
0
-1
0
0
-1
46
0
5
9
0
0
0
0
0
0
2
0
0
0
4
3
-1
0
0
0
0
-40
5
0
0
0
0
-2
-30
-3
-5
3
3
-2
6
43
0
0
3
0
0
14
24
0
0
-14
-22
0
43
-10
0
6
9
0
-3
-3
-10
0
-1
-3
-5
0
0
-3
0
0
0
3
2
0
0
0
0
5
0
5
0
-20
0
0
0
0
0
0
-6
0
0
0
0
0
0
19
0
-35
0
0
0
0
-45
0
5
1
0
0
0
-7
0
-4
0
0
0
1
-22
0
7
-1
-2
1
5
-7
0
-5
-1
0
0
0
14
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
-31
0
0
0
0
0
0
-65
0
0
-3
0
0
-4
0
0
-29
-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
-25
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
13
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
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
14
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
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
-60
-5
0
1
4
11
0
0
-1
0
0
0
24
0
0
0
0
0
0
15
0
0
0
0
0
0
-10
0
-13
0
1
0
0
5
0
0
0
0
0
0
32
0
0
0
0
0
0
-29
0
0
0
0
0
0
2
0
0
0
0
0
-3
-51
0
0
0
0
0
0
-2
0
0
0
0
0
7
-17
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
-53
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
-15
0
0
0
0
0
-33
21
0
1
0
0
33
58
0
0
-10
0
0
-21
36
0
-9
1
0
0
-20
-32
0
5
11
0
0
27
6
0
7
22
0
-1
6
38
0
0
-9
0
0
0
0
0
1
0
15
5
0
-50
0
0
0
0
0
0
-22
-3
-3
0
0
0
0
-71
2
0
-9
0
0
0
56
0
-6
7
0
0
22
-44
0
0
-2
0
-2
0
-14
0
0
-31
0
0
3
-62
0
0
2
0
9
-2
-1
0
-2
31
-2
0
0
-23
0
0
2
0
10
0
-46
0
0
0
0
3
0
5
0
0
0
0
0
0
-29
0
0
0
0
0
0
-3
0
-10
0
0
0
0
-50
0
0
-4
0
0
0
30
0
-1
7
0
0
0
-94
0
0
-9
0
0
0
47
0
-22
-4
0
-1
0
-31
0
0
1
0
7
0
17
0
-2
0
0
13
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
-18
19
-1
0
19
0
-5
-31
-37
16
6
-52
0
1
13
0
0
14
5
0
29
66
-5
39
4
16
0
4
-41
1
-9
11
-2
0
26
-6
0
-8
2
31
0
4
-10
0
3
3
0
0
34
13
14
6
21
0
0
46
45
21
-4
1
-2
0
0
-11
14
-42
-1
18
0
-1
6
-87
-2
-13
-1
0
-30
26
-15
12
-4
2
0
-33
-8
3
33
93
-13
0
-2
0
-25
-16
-12
25
0
-4
17
-1
13
38
24
0
73
-8
5
-8
14
22
0
90
13
0
-11
53
17
0
2
-10
-6
13
-51
23
2
0
-5
10
27
-2
0
0
0
4
51
26
33
11
0
67
-17
-3
23
-50
-4
0
-5
-31
-5
-8
-41
-42
0
-104
-21
-1
-42
5
-16
0
74
48
2
24
18
-33
0
-33
26
0
4
51
-3
0
0
-1
0
49
-54
79
0
0
-11
0
20
-22
4
0
0
-25
135
154
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
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
-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
-35
0
0
0
0
0
0
0
0
-2
0
0
0
-3
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
-4
0
0
0
0
0
0
2
0
0
0
0
0
2
-33
0
0
0
0
0
0
-33
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
-44
-64
5
-20
-8
2
21
-49
-1
-7
-49
0
0
39
10
-1
43
-16
-19
-2
13
-26
0
-5
-15
-5
0
51
8
0
-3
-84
-97
-2
48
-29
0
0
-116
0
-6
-6
6
0
-33
14
-9
-6
2
51
0
0
2
0
14
-2
-27
0
26
0
-7
0
0
-35
-11
0
-8
9
-9
58
-31
6
10
5
49
0
-52
3
-1
5
-45
0
-5
-28
32
0
53
27
7
1
-93
33
0
1
-67
0
-31
-13
-20
1
0
-15
-41
0
-1
-24
0
-1
-6
0
5
-1
43
0
-4
-35
-43
26
0
2
0
0
0
-1
0
-2
20
-35
0
-1
8
0
8
-152
1
6
32
1
0
-1
16
2
8
4
9
9
-2
-25
0
-42
-14
0
-1
2
58
0
25
-18
-1
-1
6
-17
1
4
3
-2
0
-27
-18
0
-4
-2
-1
-9
3
20
0
11
0
0
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-16
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
24
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
-10
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
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
0
7
0
0
0
0
0
0
0
0
0
0
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
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
59
0
0
0
0
0
0
-26
0
0
0
0
0
-2
0
0
50
-5
0
0
-1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-44
0
0
0
0
0
0
-20
0
0
0
0
0
0
-41
0
0
-4
0
0
0
-5
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
-39
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
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
-3
-49
-18
17
33
0
0
-21
16
-1
0
-5
0
0
-50
33
2
-9
23
14
0
37
45
0
0
38
0
0
-3
-87
0
-5
-21
7
0
-22
-2
1
0
-62
0
0
0
47
0
-44
-8
-14
0
0
16
0
3
0
0
0
0
46
77
15
0
0
0
8
-49
31
0
0
0
0
-14
69
-11
47
68
9
0
-49
6
0
0
-12
0
0
35
-7
0
0
71
60
0
75
1
0
-3
53
8
0
-1
2
0
0
53
-3
0
0
12
4
-9
5
0
0
1
29
0
-5
1
-8
0
0
30
1
0
0
0
0
0
-7
4
0
0
0
0
3
43
4
42
1
0
0
-2
-11
-3
2
-18
1
0
-2
-30
0
24
-20
0
0
0
-4
6
-1
-43
-10
0
0
5
0
57
1
0
0
1
62
0
-2
18
-5
0
2
7
3
-33
0
1
0
0
37
24
-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
5
1
0
-2
0
0
1
0
0
-16
14
-5
0
11
3
0
0
-25
0
0
0
-3
0
0
3
0
0
0
45
0
0
-2
0
0
0
-22
0
5
1
0
0
0
9
0
0
0
0
0
0
-18
0
0
0
0
0
0
-21
1
0
0
0
0
0
13
0
0
-5
0
0
-7
16
0
0
0
0
0
0
-11
0
0
1
0
0
0
66
0
0
2
0
0
0
-14
0
0
5
0
0
0
-58
0
0
0
0
0
0
9
0
-2
0
0
0
0
19
0
0
0
0
0
0
-10
0
0
0
0
0
0
-22
0
0
0
0
0
0
8
0
0
0
0
0
0
-33
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
-8
0
0
0
0
46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
19
-25
3
22
32
53
-2
-5
-1
65
30
-8
18
-28
4
-28
62
-1
54
-30
-4
-49
-61
-25
-6
-30
6
-10
10
63
-9
7
-20
57
15
-6
0
0
52
-22
4
-34
25
13
-59
81
-14
0
-36
-22
32
-2
8
-33
-16
0
-46
2
-44
16
4
-34
1
26
-5
8
97
56
27
18
5
62
-3
26
-29
34
-19
9
-1
43
-37
-15
11
3
-4
-12
-21
47
-4
131
-22
7
15
5
-16
22
-40
-19
0
-60
9
16
23
2
-46
4
54
25
10
62
0
-6
51
4
-1
-20
64
-2
0
-1
1
-48
-18
0
24
-11
-9
-57
-5
18
33
52
34
11
11
27
1
11
13
-39
96
-6
29
16
67
-29
-18
-16
62
33
24
23
48
-41
3
38
-103
50
33
18
-50
-13
-80
-54
41
-37
16
-20
-1
-13
3
-64
-60
6
-8
-52
67
-23
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
-10
17
-1
1
77
0
0
65
35
-3
-53
33
-49
0
-19
-43
-10
8
-21
11
4
-17
1
2
-1
-112
3
-1
-4
-21
0
-4
24
5
-1
-3
24
0
32
0
-8
2
0
-42
0
0
0
-5
-17
-3
24
-30
-5
0
0
-5
0
51
-5
0
-24
1
0
43
82
-6
22
-23
41
-2
3
91
0
6
14
0
-2
-67
19
0
19
-105
15
0
-46
-1
7
-3
-44
-14
1
18
36
0
-10
-40
-58
1
0
12
0
2
9
0
0
14
-49
0
0
0
-14
-1
0
-13
-23
-2
0
0
0
-2
53
0
-1
1
-3
0
-5
52
-3
167
0
-2
0
4
-9
-5
30
79
13
0
-4
67
0
78
-45
0
0
-2
-15
0
4
48
-50
0
-5
104
0
71
6
-16
0
0
96
3
-5
-6
0
0
-3
-109
0
-38
-4
1
-5
0
44
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
-24
-5
0
-25
0
0
126
0
-1
0
-8
-31
0
-9
5
-1
0
4
0
0
7
66
0
0
33
-1
3
4
-23
0
0
21
-5
-5
-2
36
0
-40
0
39
-1
0
-43
0
0
0
0
47
0
45
23
0
0
5
-4
0
-4
25
0
-5
0
0
-3
53
4
11
10
-6
0
8
-80
0
-5
1
0
1
13
12
0
0
22
2
0
11
-63
1
0
75
-1
3
-2
-16
0
0
-26
3
0
0
81
0
2
-1
0
3
0
22
2
2
-4
5
-27
0
-55
0
0
0
0
0
0
15
1
0
4
13
0
0
-5
0
21
0
0
0
0
-42
0
0
-1
0
0
0
-41
2
0
0
0
0
0
69
0
-2
-4
1
0
0
-23
0
-7
20
-3
0
0
36
0
0
-1
-4
0
0
-51
0
19
0
0
-2
0
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
2
-100
0
0
-20
16
0
128
-3
0
63
37
62
0
-24
14
0
1
18
0
0
1
89
0
20
-60
-14
6
9
-51
0
0
56
0
0
0
4
-3
-33
5
75
13
0
-58
0
0
0
0
-3
0
71
47
-6
0
1
0
0
-37
51
-2
0
0
0
2
57
-1
6
3
5
0
-68
19
1
-24
-13
-1
0
62
10
0
13
-26
29
0
-14
96
1
1
51
4
0
0
43
0
4
-94
80
0
0
-20
0
0
-10
0
60
0
-8
14
8
0
-33
22
0
15
3
0
0
0
0
-1
-101
1
0
0
0
0
0
26
-4
-36
7
0
0
13
69
4
-8
-1
-3
0
0
-14
0
41
0
1
-1
2
42
0
10
8
8
0
0
20
0
54
0
-4
0
0
-10
0
-7
1
3
0
9
-37
0
23
9
0
-1
0
48
-19
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
5
-2
0
80
-1
0
0
26
-15
0
1
9
0
0
0
63
0
0
-32
0
0
3
-41
0
0
-18
0
0
0
-13
0
24
0
0
0
0
25
0
0
2
0
7
0
42
5
0
0
0
0
0
-52
-1
0
-3
0
0
18
-22
0
0
-1
0
0
23
-29
0
0
35
0
-3
7
-36
0
0
-10
0
0
-1
6
0
0
42
0
0
0
-20
0
0
-4
0
0
0
53
0
0
3
0
-1
0
-18
0
0
0
0
-2
0
-51
0
0
0
0
0
0
22
5
0
-10
0
0
0
-6
0
-1
-8
0
0
0
-21
0
9
0
0
0
5
-27
0
-22
-17
0
0
0
-7
0
0
18
0
0
0
-3
0
39
0
0
0
0
56
0
0
0
0
0
0
-17
0
1
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
-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
-11
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
68
0
0
0
0
0
0
14
0
0
0
0
0
0
7
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
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
49
-5
-1
-21
29
92
0
7
-1
0
9
-36
3
4
-21
-3
0
-1
-59
30
-3
-11
26
0
0
59
0
-1
0
1
0
-9
-20
-55
2
0
51
0
0
-13
0
15
0
17
-16
-13
0
-5
0
7
-17
-30
0
0
0
0
-2
60
-9
3
175
1
0
51
-2
0
1
35
2
0
-31
-17
0
1
10
28
0
62
-31
0
-14
16
-7
7
-3
52
0
-18
25
-34
-4
0
35
0
-5
7
0
-1
0
14
1
-7
24
14
60
0
-35
1
0
0
0
2
0
-86
34
-5
5
0
0
0
22
3
83
-2
8
0
-8
72
2
-5
-2
19
0
2
-80
0
-66
-18
0
0
0
0
0
6
41
-5
9
-4
-14
0
98
-15
-2
0
0
-84
0
0
-73
5
0
0
-61
0
17
0
0
16
0
51
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
-19
14
30
-6
14
1
34
-1
0
55
5
-1
3
-33
42
7
49
40
-16
11
3
-9
12
45
-15
0
14
-88
-49
-40
89
9
3
0
-9
18
-26
1
60
-71
53
32
-3
-20
-54
76
-10
-20
21
-3
6
9
-14
42
-80
26
-69
0
26
12
24
36
-35
44
19
23
35
-32
116
93
10
13
-19
52
-16
24
23
11
2
21
28
4
42
97
-11
-14
-43
33
44
17
0
-36
9
34
54
-26
-33
40
-3
16
-7
58
15
10
-58
0
-15
-31
25
7
-3
-34
-8
4
-31
47
-16
8
0
16
0
99
0
90
30
4
-41
-74
26
-4
54
-12
-17
49
50
32
34
4
-52
26
0
-43
-98
-9
-65
14
-40
-10
3
-50
63
18
45
79
30
13
14
74
24
-7
-51
60
11
45
31
3
47
22
10
-14
66
6
22
-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
-10
-1
0
2
7
2
0
10
30
0
0
13
0
0
-8
11
0
0
1
0
0
0
36
0
0
0
0
0
0
29
0
-43
0
0
0
0
-18
0
0
0
0
0
0
8
0
0
0
0
0
0
110
7
0
0
0
0
0
26
0
0
0
0
0
13
29
0
0
-4
0
0
4
-62
0
0
-2
0
0
0
-78
0
0
4
0
0
3
21
0
0
-3
0
0
0
-8
0
0
0
0
0
0
17
0
0
-7
0
0
0
-51
0
0
0
0
0
0
-26
0
0
0
0
0
0
-5
0
-2
0
0
0
0
13
0
0
0
0
0
0
-20
0
0
0
0
0
0
108
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
1
3
0
4
18
0
0
-7
0
0
0
3
0
0
-1
0
0
0
114
0
0
-6
0
0
0
7
0
-1
5
0
0
0
75
0
0
0
0
0
0
55
0
0
0
0
0
0
15
0
0
0
0
0
-3
-10
0
0
6
0
0
5
0
0
0
0
0
0
1
-32
0
0
0
0
0
3
61
0
0
2
0
0
0
16
0
0
4
1
0
0
8
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
42
-1
0
0
0
0
0
-23
0
1
5
0
0
0
-16
0
0
0
0
0
0
-6
0
0
0
0
0
0
-16
0
0
0
3
0
0
-2
0
0
3
0
0
0
41
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
-23
-29
0
19
79
-45
-8
4
5
-5
46
30
-2
16
0
42
0
0
24
55
-27
-20
-5
0
-6
9
-3
2
5
19
-2
15
33
-1
5
0
30
0
-2
4
0
14
0
46
-30
-4
0
-29
5
0
-5
-55
9
-4
2
0
20
18
-8
0
108
-8
1
15
17
0
-14
20
1
34
10
3
0
-49
-8
81
10
50
-2
0
61
-16
-1
-20
-23
-25
6
-33
24
19
-6
7
14
0
-22
-38
-1
-1
0
-7
0
-3
-17
-5
-50
0
48
11
0
0
2
3
0
9
-13
0
-1
3
0
1
53
-5
-18
14
0
0
35
53
11
150
-11
-49
1
98
41
-1
72
1
7
5
-5
-31
0
-40
-25
71
8
1
-37
1
-2
6
4
-34
41
9
4
-1
-30
-59
30
-1
31
0
34
2
0
36
0
-36
-1
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
3
0
10
-1
0
0
4
13
0
0
0
0
0
-1
1
0
0
-1
0
0
0
-20
0
0
0
0
0
0
2
0
0
1
0
0
0
15
0
0
0
0
0
0
41
0
0
0
0
0
0
32
0
0
0
0
0
-1
25
0
0
0
0
0
0
22
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
-6
0
0
0
0
0
0
-5
0
0
0
0
3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
21
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
-5
3
0
0
0
0
0
0
3
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-3
0
0
0
0
50
0
0
0
0
0
0
63
0
0
0
0
0
0
-18
0
0
0
0
0
0
15
0
0
0
0
0
0
-23
0
0
0
0
0
3
-6
0
0
0
0
0
0
32
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
33
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
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
-3
-50
55
10
-38
13
60
-49
-12
-7
24
-33
-14
-4
-54
22
-8
1
1
2
10
4
-6
-1
7
41
53
8
0
26
-15
0
5
0
67
0
64
-70
-12
0
-14
-6
-7
22
33
0
57
-5
0
9
-20
16
102
-9
-28
0
79
-75
-5
21
-3
2
7
86
-15
-14
-52
27
-29
-23
-22
5
0
-37
143
-11
-19
-1
-12
4
37
-1
-19
-11
-1
-15
5
23
-19
-2
91
-1
72
-9
-27
-13
69
57
0
-37
-5
47
0
8
-60
0
-1
-48
-2
30
-1
0
2
-4
-1
14
-19
0
7
-8
12
3
146
-18
92
0
22
-49
-4
29
71
3
-17
-19
-1
2
-104
-76
7
0
4
-4
0
-1
-64
-1
25
-6
-36
-2
-4
109
-16
-8
-6
-3
4
24
2
1
-3
0
-20
80
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
103
-5
33
-25
0
0
44
-27
0
-26
41
-17
4
66
5
1
-1
21
-7
-44
-1
-46
-4
-5
-47
-53
6
-4
-18
0
0
-1
-1
-4
0
14
3
-47
0
99
0
1
-17
20
-1
15
0
0
-7
17
2
24
99
0
0
-2
0
-5
79
-37
2
0
53
-42
4
14
-25
9
-51
18
-18
0
21
-5
6
29
-25
-36
1
8
91
-45
20
5
-31
0
-14
-48
0
37
0
-53
0
-2
-1
57
-7
0
56
-3
-5
0
2
-5
-2
0
11
0
0
-1
0
-1
-14
-4
-35
52
9
0
0
0
10
-10
8
-1
4
-2
-26
5
7
10
0
1
11
93
3
-14
45
-10
-1
-4
-37
0
47
-9
13
2
17
30
0
-1
-14
23
0
0
34
0
-42
-5
2
26
0
58
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
47
-15
0
0
-5
0
0
2
2
0
0
-3
0
0
0
9
0
0
0
0
0
0
0
0
-14
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
-9
0
-3
2
-2
0
-7
-57
0
0
0
0
0
0
16
0
0
0
0
0
5
-48
0
0
0
0
0
0
6
0
0
0
0
0
0
-22
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
2
0
3
0
0
0
0
3
0
-2
0
0
0
0
7
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
31
-19
-59
71
66
-36
26
-8
2
3
15
-32
18
3
-7
16
-5
6
99
48
-7
16
37
60
38
5
-1
-9
-4
-16
-10
14
-1
7
22
42
-1
-14
-42
1
-5
51
-26
-7
6
-4
-80
-25
-53
-42
-8
33
12
-2
-33
0
-53
-6
-13
-37
15
25
46
-37
-4
30
-3
-54
-8
5
32
-6
-28
-25
-20
-28
-5
-39
-21
20
-3
-76
25
1
-48
-56
6
-3
33
-9
-20
5
-46
-25
-17
0
-14
32
-14
-2
-25
-14
-2
20
-26
5
-14
-2
-2
-36
21
69
62
47
8
-11
-62
-32
-14
-32
-14
38
11
-13
4
-2
-83
-22
-2
33
3
16
13
-21
3
-41
31
-1
-6
2
-5
-54
-8
70
73
24
-9
-11
-50
23
-12
51
8
1
17
-41
-5
1
0
-30
1
8
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
51
-1
-2
-60
14
-29
38
-50
0
31
-25
-21
-49
-24
-35
5
-9
-85
7
14
5
-15
0
-26
2
16
0
0
22
16
-2
2
15
19
-1
28
-51
64
0
-7
29
1
80
30
-1
33
11
0
45
51
27
49
1
109
0
61
-39
6
46
40
-3
-15
-12
27
-3
15
19
-50
37
15
-9
-14
6
-44
85
44
-8
-2
0
-32
-169
-56
-15
5
-27
7
19
85
-6
-18
0
4
0
-22
34
13
74
0
8
1
5
0
22
26
0
65
-51
0
0
5
-2
-29
82
10
15
-45
0
0
-100
-5
20
-2
2
5
-7
-8
26
-18
-46
10
-5
-17
1
17
9
-34
-22
-15
11
6
-63
2
-13
-52
0
-19
7
18
3
-3
-44
61
2
0
30
0
4
1
-1
11
0
-65
-1
4
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
9
44
-2
0
-56
0
0
-5
14
0
-5
-1
0
0
10
20
0
20
17
0
0
1
3
0
29
6
0
2
0
34
0
0
0
0
-71
0
-53
33
-3
0
0
0
7
14
9
6
0
0
0
-2
53
0
20
29
0
0
26
41
0
0
11
0
0
18
5
0
-3
-25
0
-3
-97
42
0
11
142
0
0
0
0
0
-1
44
-6
0
0
7
0
0
-3
0
-9
0
-63
0
-3
4
0
54
0
17
-3
0
0
0
0
0
-4
0
0
0
0
0
-4
-64
0
35
-10
0
0
4
9
0
4
-3
0
0
1
-41
0
-7
47
-1
0
-11
-93
0
-20
-25
1
-2
0
17
2
-15
0
0
1
0
-8
0
3
2
0
1
0
23
0
4
0
0
3
0
9
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-17
0
0
3
51
0
0
0
0
0
9
31
0
0
0
0
0
0
7
0
17
0
-9
0
0
2
0
0
0
0
0
0
-3
10
0
0
0
0
0
-20
0
0
0
0
0
0
-48
0
0
0
-3
0
0
4
0
0
-1
0
0
0
5
0
0
6
0
0
0
-71
0
0
1
0
0
0
16
0
0
0
1
0
0
-100
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
38
0
0
0
0
0
1
-3
0
-1
0
0
0
0
3
0
0
-1
0
0
0
-24
0
-1
0
0
0
0
-5
0
0
-4
0
0
0
-57
0
-5
0
0
0
0
36
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-44
-14
45
-15
22
5
-90
15
0
14
4
3
4
-3
-9
9
2
24
9
88
0
-10
27
17
5
11
-101
0
5
-9
-7
-1
127
34
-15
18
53
13
-34
6
0
-9
18
-28
84
18
71
-3
53
-1
2
28
-46
-1
11
-25
20
-2
26
4
21
-2
15
4
-9
47
58
30
-4
-4
26
-2
-18
-28
4
41
-1
38
0
11
-24
2
61
2
6
7
59
36
6
44
0
8
-41
-3
-5
-2
-49
0
6
4
2
0
-25
-1
14
-54
33
-19
127
0
0
-3
19
-1
5
36
-81
0
-27
-6
-13
65
37
-2
0
7
6
-2
2
9
-43
5
0
66
4
-4
18
-3
-89
15
-50
-4
3
14
46
24
-7
5
-2
-49
18
0
36
0
1
-33
0
53
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
-10
31
2
-66
21
-8
-14
82
-9
17
-3
-10
19
-3
26
-26
-15
7
-37
-60
-1
7
51
-1
-3
-32
3
-78
3
23
-58
-21
0
20
19
8
-6
28
1
16
-63
-5
-51
11
-76
3
24
2
45
6
-15
118
25
7
34
-31
32
0
39
56
18
43
-6
5
-12
-10
-33
-5
-26
5
-59
5
-2
8
55
-54
-28
-11
10
1
-29
56
-14
-8
-26
-7
-5
2
-24
60
13
0
13
47
-7
-1
19
32
0
-27
-33
23
13
-43
-1
9
8
19
15
-24
2
-8
56
-40
51
33
53
5
2
58
0
16
5
-82
26
6
-56
-86
7
-64
-51
-87
20
-3
3
-45
-61
88
5
-4
34
-14
-6
75
-43
3
3
3
-12
2
-21
6
4
76
0
49
25
-17
-11
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
-19
0
0
0
0
0
0
60
3
0
0
0
0
0
27
0
0
0
0
0
0
20
0
0
0
0
0
1
-21
0
0
0
0
0
2
18
0
0
0
0
0
0
80
0
0
0
0
0
0
5
0
0
0
0
0
0
46
0
0
0
0
0
0
-43
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
-19
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
-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
5
0
0
-3
0
0
-3
39
0
0
0
0
0
0
-7
0
10
2
0
0
0
11
0
0
0
0
0
0
-85
0
0
0
0
0
0
14
-6
0
0
0
0
0
21
0
0
3
4
0
9
-53
0
0
0
0
0
1
37
0
0
0
0
0
0
-24
2
0
0
0
0
0
-46
0
0
0
-1
0
0
14
0
0
0
0
0
0
-24
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
-62
0
0
0
-3
0
0
-5
0
-1
0
0
0
0
73
0
0
0
0
0
0
35
0
-5
0
0
0
0
10
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
36
30
-56
5
26
10
0
22
-17
0
-1
-23
20
0
11
11
26
10
-4
13
2
-1
16
0
-69
0
11
65
-2
-4
8
5
0
28
18
-7
-5
0
-4
-5
-47
13
10
-55
58
5
13
4
0
11
99
1
-2
90
10
0
-81
-31
27
0
-29
5
-3
-27
23
7
48
74
-26
0
0
48
45
13
-61
8
0
14
17
-1
2
-5
-39
1
6
0
13
5
0
12
0
0
0
-1
-10
9
17
-32
-6
-1
2
0
-3
-31
0
-45
-11
-1
0
-15
83
0
33
13
-17
0
-65
31
13
-52
-33
1
2
1
15
0
-45
18
65
18
33
-27
0
-5
-36
-2
9
-3
0
0
0
-16
-6
-14
-13
-48
0
-22
5
1
10
0
-5
15
36
-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
13
-50
0
0
0
0
0
0
-35
0
0
0
0
0
0
-6
0
-14
-10
0
0
0
-5
0
0
0
0
0
0
73
0
0
0
0
0
0
-40
0
0
0
0
0
0
-11
0
0
7
0
0
0
-67
0
0
22
0
0
-8
-26
0
0
-4
0
0
0
1
0
0
-13
0
0
0
-32
0
0
0
0
0
0
15
0
0
0
0
0
0
46
0
0
0
0
18
0
-62
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
-33
0
0
0
0
0
0
10
0
0
0
0
0
0
-33
0
1
-2
0
0
0
0
0
0
0
0
0
0
-11
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
14
0
0
1
0
0
-7
-50
0
0
2
0
0
0
-15
0
-24
0
-5
0
0
-35
0
0
0
0
0
0
44
1
0
0
0
0
0
53
0
0
0
0
0
0
53
0
15
-1
3
0
13
48
0
-1
-6
0
0
17
117
0
0
-5
0
0
0
-21
0
0
-8
0
0
0
-29
0
0
-1
7
0
0
42
0
0
0
0
0
0
-14
0
0
0
0
0
0
-31
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
-3
0
0
0
0
-5
0
0
0
-10
0
0
41
0
2
0
0
0
0
-41
0
0
0
0
0
0
-43
0
1
-1
0
0
0
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
30
0
-2
0
119
-3
36
33
-11
0
0
93
3
0
0
3
8
0
17
2
6
0
5
0
0
-55
-17
-3
0
4
0
2
-3
23
-3
71
25
0
13
24
-3
-3
-4
0
0
-2
-19
0
1
-9
-33
0
0
-80
0
4
-51
0
0
0
1
0
1
-120
-7
-10
0
-19
0
7
1
1
-23
0
-19
0
2
0
-5
-59
0
-14
0
0
0
0
0
0
-7
-2
0
5
0
0
0
14
-8
69
-1
0
0
0
47
0
-4
-11
13
0
0
-95
0
15
-8
0
0
0
-92
0
4
45
15
0
0
100
0
54
6
-2
25
0
38
0
-2
-3
3
-1
0
-10
0
-24
8
0
-20
0
96
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-43
10
-3
-5
27
28
-41
45
-3
25
4
-72
0
6
-40
-1
-1
14
-1
24
0
-68
-69
17
0
2
15
-2
7
109
0
-22
5
-3
-2
-40
-11
25
35
-7
-1
-14
16
-4
16
-71
-3
-23
-46
4
-3
47
-8
24
-64
-23
0
-11
4
56
1
-10
3
-20
-11
28
-33
11
44
-18
-21
-5
-5
-10
-35
-14
-2
-24
22
2
0
-32
6
0
-26
-10
-2
-1
4
4
-1
0
39
-2
-11
4
-3
96
67
33
-13
-20
-18
13
-10
-36
2
-67
17
-92
1
-16
10
-4
-32
6
-31
-11
-52
0
0
9
8
98
9
-1
13
-2
-4
54
-1
-2
7
-17
2
45
3
11
35
-1
-2
-2
-23
-3
0
54
0
0
100
-11
-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
-4
0
0
0
0
0
0
1
0
-1
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
8
0
0
0
0
0
1
55
0
0
0
0
0
0
16
0
0
1
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
79
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
-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
-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
1
-24
0
0
-2
0
0
0
-1
0
25
1
7
0
0
-7
0
0
0
0
-2
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
-51
0
0
0
0
0
0
-47
0
0
0
0
0
0
-15
0
0
-7
0
0
3
51
0
0
-3
0
0
0
-22
0
0
0
0
0
0
13
0
0
0
0
0
0
6
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
16
0
8
0
0
0
0
0
0
0
0
0
0
0
-4
0
11
0
0
0
0
-8
0
0
-1
0
0
0
74
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
5
3
0
0
26
2
-5
-3
22
0
-14
0
-2
17
0
-39
-3
0
0
-1
73
0
72
-76
-2
0
17
-2
7
11
60
-1
23
0
0
57
-31
-5
-20
29
29
-2
-80
12
0
0
33
0
0
-35
-16
0
18
-15
-31
-1
-3
-24
-1
-6
-7
14
0
0
31
7
0
-9
64
0
-3
-7
0
0
21
0
62
0
-75
-5
-20
-1
8
-16
0
32
-1
0
0
0
5
0
8
27
-3
0
0
0
-4
6
0
-15
-21
0
0
14
17
-3
-32
-7
-19
0
5
31
0
102
51
0
6
-1
-44
0
62
2
-17
0
13
10
0
14
15
0
-3
0
12
0
-3
-1
-56
62
0
6
-1
-30
0
-6
62
0
16
-56
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
33
0
0
11
0
0
0
-61
0
-27
12
0
1
0
-15
0
10
0
0
33
0
2
58
-21
0
0
0
0
-23
-4
0
0
0
0
-20
-3
-6
0
97
0
0
143
-2
0
0
12
0
0
11
-30
0
-2
-10
3
0
11
23
0
0
0
0
0
-1
46
3
4
2
0
3
0
-35
0
0
11
0
28
0
0
0
8
17
0
-81
0
36
-1
-1
0
0
0
0
-45
-2
0
0
0
0
0
-27
0
-25
-2
0
0
0
64
0
-3
-16
0
0
5
-5
0
5
14
0
0
0
-47
0
-4
5
0
0
2
-14
0
26
5
0
6
0
-60
0
0
-65
0
-8
0
-40
-2
-49
2
0
1
0
-3
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
-40
0
0
0
0
0
0
-7
0
16
0
0
0
0
-6
0
0
0
0
0
0
-63
-17
0
0
0
0
0
59
6
0
0
0
0
-3
-80
-1
0
-2
0
0
-13
-35
0
0
4
0
0
3
-86
0
0
0
0
0
9
-46
0
0
0
0
0
0
68
0
0
-1
0
0
0
-52
0
0
0
0
0
0
27
0
0
0
0
0
0
27
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
-6
0
0
0
0
-15
0
0
0
0
0
0
0
0
-6
0
0
0
0
37
0
0
6
0
0
5
37
0
-3
-14
0
0
0
-1
0
0
0
0
0
0
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
3
-3
3
0
64
0
0
2
0
-11
0
-58
-7
5
0
-6
0
0
13
27
0
0
0
0
0
-20
1
23
33
4
10
-29
49
0
-1
-49
0
0
-1
61
0
-11
-47
10
4
0
30
0
0
41
0
5
0
8
0
8
20
44
0
0
-40
0
0
-2
0
-1
0
-25
0
-5
0
5
25
0
20
0
0
0
0
0
0
-30
5
0
0
-1
0
0
-14
-1
56
51
0
0
-3
32
0
0
18
-17
0
-15
49
0
25
-60
0
-4
0
50
0
-2
9
-3
0
0
32
0
-85
7
-2
0
0
22
0
4
-8
15
0
0
54
0
-48
13
0
0
0
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
-34
20
25
-2
-8
-22
29
-36
-68
4
2
30
-1
3
1
0
24
-19
-6
-27
-6
-34
4
-13
0
1
33
7
119
-4
-30
-50
-30
-25
2
-8
8
-5
-36
-11
5
-67
-47
8
-33
23
-12
-2
3
37
15
1
66
64
-5
-24
1
0
-10
53
8
55
-55
-2
-14
0
3
-34
-6
6
-5
24
-30
-11
14
-78
1
0
8
53
-16
0
2
13
-3
23
25
-22
35
-32
-2
-18
18
57
-25
-42
-14
-14
-11
-10
-24
-102
-23
-10
42
-38
-11
-38
-55
-13
-17
-71
19
-20
-36
40
51
14
60
59
0
3
-65
22
-5
-4
51
26
-2
-18
-13
-1
47
-21
-14
-3
-12
-9
1
-24
0
10
-47
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
-2
0
0
2
0
0
0
-7
0
0
0
0
0
0
9
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
-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
-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
-14
0
-3
0
0
0
0
-5
0
0
0
0
0
0
31
0
0
0
0
0
0
7
0
0
0
0
0
0
27
0
0
0
0
0
1
49
0
0
0
0
0
0
-26
0
0
1
-3
0
0
3
0
0
20
0
0
0
29
0
0
-1
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-11
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
-13
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
-24
-45
0
43
1
-82
0
0
9
0
0
-1
0
62
0
40
14
4
0
5
2
0
-30
26
2
-2
0
0
-20
1
8
5
41
-47
-5
-56
-33
0
9
-31
0
-2
17
47
-5
11
71
-9
0
-10
-2
0
-5
-2
0
4
-2
-13
0
8
-3
-30
0
0
-15
0
0
1
0
-3
4
11
-3
-1
0
-58
58
0
40
-8
-9
0
0
0
0
67
-15
0
1
2
0
0
15
0
-29
14
0
0
-2
-53
0
5
-6
-26
0
-18
6
0
-117
2
0
-2
-8
-2
0
-4
0
17
1
0
-26
0
50
2
0
-4
0
-6
0
0
0
19
-23
0
-24
0
-93
0
0
-5
0
-20
-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
2
0
7
0
0
0
0
-7
0
0
0
0
0
0
-53
0
0
0
0
0
0
39
0
0
0
0
0
0
10
0
0
0
0
0
0
-23
0
0
0
0
0
0
-6
0
0
1
0
0
2
7
0
0
0
0
0
2
-24
0
0
0
0
0
0
6
0
0
-5
0
0
0
1
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
-3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-14
0
0
0
0
0
0
9
0
0
0
-6
0
0
-70
0
0
0
0
0
0
-50
0
0
26
1
0
5
9
0
0
0
0
0
0
-56
0
0
-6
-5
0
3
-49
0
0
-9
0
0
3
-15
0
0
-5
1
0
0
30
0
0
7
0
0
0
-5
0
0
0
17
0
0
26
0
0
0
0
0
0
-15
0
0
0
0
0
0
16
0
-4
0
0
0
0
-14
0
0
7
0
0
0
5
0
0
2
0
0
1
-14
0
5
0
-1
0
0
127
0
7
-1
0
0
0
-5
0
0
0
1
0
0
-39
0
31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-3
0
0
0
-23
-2
0
0
0
0
0
-3
7
0
0
0
0
-5
65
0
0
-2
3
0
0
-7
0
1
0
0
0
1
0
0
3
-7
25
0
0
47
0
-5
6
0
0
0
73
0
0
8
0
0
0
-84
0
0
1
0
0
0
-51
0
-1
-4
0
0
0
-18
0
0
0
0
0
0
-33
0
0
0
0
0
0
20
1
-1
0
0
0
0
-57
0
0
0
4
0
0
26
0
0
0
0
0
-4
13
0
0
0
10
0
0
66
0
-1
0
0
0
0
-7
0
0
0
-11
0
0
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-2
-4
-3
9
0
-13
-20
29
0
-3
0
-4
20
50
4
-21
0
0
-19
16
15
-1
20
-60
6
-22
-32
14
14
21
-25
-18
45
1
0
18
8
-45
47
-1
6
0
-18
-39
51
18
-3
-39
9
36
28
37
7
4
0
-2
39
3
-4
13
-1
9
3
-8
0
10
-38
0
-10
-1
-7
3
-9
-10
0
-12
44
-5
18
-37
0
47
83
10
-7
13
-10
-2
63
-46
3
-2
-14
-55
0
72
-18
-4
-69
-1
-20
0
-44
-34
0
25
4
89
16
-20
-40
0
-1
88
-3
2
20
0
0
0
2
54
0
0
-9
0
-58
14
2
36
0
28
58
3
-7
-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
2
0
0
0
0
0
0
-15
0
0
0
0
0
0
23
0
0
0
0
0
0
-4
0
0
-2
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
-2
47
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
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
27
2
-2
-1
14
-2
-85
3
-57
27
-1
0
44
-53
-6
29
-27
9
-7
-1
-10
121
-1
-19
-8
-25
6
6
-24
32
-1
-5
44
33
53
20
-6
-3
4
9
100
5
-23
13
10
-14
-20
16
33
-45
-42
1
-23
24
43
74
-14
-20
19
53
-21
-5
-5
23
-36
-17
15
-65
36
-11
0
19
-21
8
0
0
-24
0
1
-81
-33
14
2
0
-14
-7
14
-47
125
22
-53
-58
-6
5
2
-53
51
-4
21
-11
-2
-58
-21
2
-14
9
-27
8
56
-8
71
-5
11
-35
0
9
7
-14
1
-2
-23
-11
8
0
-28
8
0
-31
-1
5
26
0
62
0
15
-2
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
19
23
4
0
0
0
-2
-1
32
0
1
0
0
-6
12
-9
0
39
18
0
-15
-21
0
0
-33
0
0
-21
4
0
-8
7
22
0
-12
-27
0
8
2
0
0
0
-91
0
0
0
-11
0
0
-17
0
0
0
0
0
0
-8
0
0
0
6
1
0
44
0
0
0
0
0
0
-40
0
2
-1
0
0
0
-4
0
3
1
0
0
0
-68
0
0
2
4
1
0
6
0
-15
0
0
0
0
34
0
4
1
2
0
0
-31
0
-13
-3
0
0
0
16
0
5
-3
0
0
0
-41
0
-5
0
0
-7
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
0
-25
17
15
0
0
0
0
6
-33
0
27
0
0
3
34
9
-2
8
0
1
-115
-4
0
-1
-54
0
-4
-48
7
0
4
-12
0
-22
80
0
0
1
37
0
-2
9
-37
0
0
-3
0
1
0
3
0
0
10
0
3
0
0
0
0
3
0
-18
0
-10
0
-6
0
2
-2
0
39
-32
0
0
0
0
0
-3
0
18
-6
0
0
0
8
-2
6
0
0
0
6
18
-3
-23
68
0
2
-3
-70
0
-2
41
0
2
0
-4
0
43
-22
0
-10
0
-31
0
-6
-8
0
0
0
30
0
81
0
0
25
0
11
-47
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-33
0
0
0
0
0
0
38
0
0
0
0
0
0
25
0
0
36
1
0
26
-42
0
0
1
0
0
-5
79
0
0
-1
0
0
0
-62
0
0
-25
0
0
0
-3
0
0
13
8
0
0
18
0
0
0
0
0
0
73
0
0
0
0
0
0
-17
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
2
5
0
0
0
48
0
0
0
-5
0
0
30
0
-2
-5
0
0
0
72
0
0
0
2
0
0
-8
0
2
-1
0
0
0
44
0
0
3
3
0
0
-47
0
-1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
1
-4
0
0
-4
0
0
0
-32
0
0
0
0
0
0
-37
0
0
0
-4
0
0
-45
0
1
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
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
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
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
0
0
0
0
0
0
0
0
13
63
21
0
-15
0
-4
5
41
-1
5
0
-1
-15
-14
-67
55
59
-37
-38
42
14
-2
45
71
21
-2
-5
3
14
50
38
-78
4
33
-16
5
14
61
-5
-2
-55
21
0
-10
-32
-27
-70
4
-29
0
-48
-5
2
36
-1
0
-1
11
-3
54
5
0
7
-3
-1
0
0
-2
-1
1
14
-43
-22
-11
0
-15
-23
-2
-1
14
8
-9
42
-24
1
-56
8
44
-5
22
30
29
-26
127
3
2
-22
-49
-1
-68
20
3
-1
8
-44
0
15
-41
49
20
4
-8
0
6
80
15
38
0
0
0
-24
1
1
3
0
36
-5
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
13
0
0
3
0
0
0
72
0
0
0
0
0
0
-5
0
0
4
0
0
0
15
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
16
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
43
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
-25
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
-1
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
67
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
2
0
0
10
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
32
0
0
0
0
0
0
25
0
0
2
0
0
0
14
0
0
0
0
0
0
34
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
90
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-11
0
0
7
0
0
0
-19
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
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
-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
-47
33
-3
0
-2
0
0
-33
-8
-3
0
0
0
6
40
0
2
58
-3
0
3
21
0
0
0
0
0
90
-1
0
-7
1
-9
0
56
-45
0
0
-81
-1
0
-8
12
0
0
-29
89
0
-7
-14
0
0
-6
0
0
-7
22
25
6
0
43
0
0
8
-1
0
0
0
0
0
-41
0
0
0
0
0
0
41
0
-37
5
0
0
5
-94
0
0
2
4
0
11
15
0
40
5
0
0
-5
5
0
2
32
9
0
0
31
0
73
14
-1
0
0
-11
0
0
0
16
0
0
30
0
-14
0
0
0
0
-27
-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
-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
5
4
28
-35
-1
42
41
-67
-26
-21
1
42
2
-10
-30
-16
25
-53
9
-5
13
77
-18
-86
-17
33
5
-2
-45
-29
49
-5
-40
-20
33
18
-23
7
5
28
2
-12
8
3
-5
-49
-62
2
-19
-37
-28
-2
-25
38
-6
14
1
0
-1
-80
-7
-23
-41
-7
-43
-96
-29
2
-39
-5
7
5
51
27
6
22
25
27
71
54
69
87
-56
-14
-48
-10
-5
72
67
-6
23
-15
39
-75
-4
14
-36
27
41
-34
3
-50
5
-102
33
2
-4
-11
59
44
36
-30
5
-11
24
16
4
-9
0
5
0
0
52
-35
-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
-56
-13
0
-16
0
0
-2
-32
-2
0
-24
-4
0
-31
59
0
0
17
0
0
63
-51
0
21
36
-64
0
14
15
0
0
54
0
0
-2
11
0
0
98
22
0
2
-33
2
2
43
0
-3
0
52
0
-6
8
5
-1
0
-23
0
5
0
0
0
0
-71
-9
0
0
0
0
-4
0
0
62
5
0
0
-3
21
-5
-2
-3
0
0
0
-23
0
70
-2
0
-1
0
-22
0
-7
-7
2
0
0
35
0
-23
0
0
0
0
27
0
-5
27
-2
7
0
-8
0
-90
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
29
0
0
0
38
0
0
-55
0
0
-29
0
0
-6
-11
0
6
46
-34
0
15
-48
0
-3
5
2
0
0
88
0
0
4
6
0
0
30
0
0
0
0
49
0
45
0
-1
0
-4
17
0
-67
0
0
0
0
0
0
-6
-6
0
0
-2
0
0
5
0
4
4
0
0
-4
-75
-3
0
25
-2
0
-4
34
0
-63
-10
0
0
0
-32
0
0
4
-2
-1
0
62
0
-1
0
3
0
0
16
0
0
0
9
0
0
-150
0
0
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
-3
80
0
0
-1
0
0
-5
-39
0
0
-4
0
0
17
62
0
-1
-3
0
0
-20
-7
0
0
-3
0
-11
0
53
0
0
4
0
0
0
-36
0
0
9
0
22
0
-6
0
-1
0
0
-1
0
38
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
-5
0
0
0
0
63
0
1
0
0
0
0
34
0
9
0
0
0
0
46
0
6
-4
0
0
1
-5
0
3
0
0
0
0
6
0
0
0
0
0
0
-7
0
3
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-14
0
0
1
0
0
5
-8
0
0
0
0
0
8
45
0
0
2
0
0
0
3
0
0
0
0
0
0
6
0
0
0
-2
0
0
-110
0
0
0
0
0
0
2
0
0
-2
-1
0
0
26
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
4
0
0
0
0
-11
0
0
0
0
0
0
-6
0
5
0
0
0
0
-2
0
0
0
0
0
0
18
0
-4
0
0
0
0
22
0
0
0
0
0
0
-15
0
-3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
16
0
0
0
0
0
0
22
0
0
0
0
0
0
-2
0
0
8
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
18
0
0
0
0
0
0
72
10
0
0
0
0
0
10
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
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
17
42
-20
-25
49
5
32
86
60
-20
54
101
-15
-49
12
40
-2
2
55
14
9
39
34
-29
-59
-5
5
-9
-2
-57
14
-23
-22
3
-27
17
30
-11
9
34
16
7
-104
67
6
24
1
30
73
-20
-2
-33
32
6
0
-9
6
-6
3
0
80
-39
122
-4
-25
5
41
26
-4
-9
6
1
-14
8
-33
10
21
31
99
32
47
5
8
-18
-2
-3
12
79
-81
13
-2
48
39
14
48
-73
-36
3
-25
32
3
67
-29
-25
3
-31
21
36
62
0
44
21
-55
-5
-51
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
15
23
0
-1
21
-1
0
14
0
0
-12
37
0
-17
38
0
0
-5
98
5
-1
-38
0
0
2
32
2
-8
28
3
2
0
-64
0
0
-22
0
4
-4
37
0
0
0
1
2
0
-20
0
2
0
0
0
0
8
0
4
0
5
0
0
109
6
14
-5
0
0
0
9
-3
-10
110
0
0
-1
19
0
-73
40
0
0
0
10
0
6
-15
-13
0
0
-29
0
46
0
0
0
0
-25
0
0
-10
1
-1
0
-34
0
11
14
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
1
0
0
3
0
0
0
-14
0
0
18
0
0
0
10
0
0
0
0
0
0
31
0
0
-2
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
6
0
-53
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
14
0
0
0
0
5
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
-8
3
-6
2
-2
0
10
-3
0
0
1
0
0
5
88
0
0
-14
0
0
2
120
0
20
-2
0
0
0
44
0
0
1
-1
0
3
-72
0
0
0
0
-9
0
100
0
0
0
-4
1
0
34
0
0
0
0
0
0
69
5
0
0
0
0
0
-16
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
5
0
0
0
0
30
0
0
0
0
0
0
-14
0
-3
0
2
0
0
55
0
0
0
0
0
0
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
8
0
0
0
0
0
0
61
0
0
-10
0
0
0
72
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
2
0
0
0
-14
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
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
-14
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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
0
11
-5
0
0
-17
1
-6
0
4
0
-1
24
0
0
0
-36
0
-1
23
3
4
-2
25
0
-3
6
0
-10
0
49
0
-1
0
1
3
0
67
0
0
0
0
0
0
4
-22
7
0
0
0
0
-24
1
-2
0
0
0
0
-44
0
-2
-1
2
0
0
16
0
14
-7
0
0
25
20
0
0
-1
-7
-2
0
-21
0
-33
0
0
0
0
-26
5
-1
0
3
0
0
-26
0
17
0
0
3
0
71
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
50
20
18
-18
-23
-5
-21
-56
-14
35
33
6
1
7
-2
-42
-29
-27
20
-12
-2
-25
23
63
14
80
18
0
1
-6
30
68
-5
71
-1
10
33
63
2
0
-36
-14
-3
1
-13
-20
9
17
49
-23
-41
-1
2
-6
0
-54
-25
-10
5
2
-64
-32
104
36
7
-40
4
-54
17
48
-79
-89
0
10
62
10
25
-72
-41
-17
37
-22
32
1
49
-16
-45
-48
-47
11
2
2
-53
11
67
-7
8
0
7
-34
4
16
0
-11
32
8
5
-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
-25
52
0
0
3
0
0
11
-32
5
-8
45
4
0
-4
59
0
0
7
0
0
-3
14
0
0
0
-3
0
0
77
0
0
0
0
-1
0
31
0
0
0
0
-15
0
70
5
0
0
0
0
0
-5
14
0
0
0
0
0
9
7
20
0
0
0
0
30
0
-4
7
0
0
0
144
0
16
-1
0
0
0
0
0
1
2
3
0
0
34
0
13
0
0
0
3
-15
0
0
2
0
0
0
76
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-24
0
0
1
15
0
1
-33
-10
0
-1
-3
0
0
18
0
0
0
24
0
0
-4
16
0
0
65
0
0
0
0
-8
0
-115
0
0
0
7
35
0
-20
0
0
0
0
0
0
-17
16
0
0
0
0
0
24
0
-14
0
0
0
0
-54
0
0
0
5
0
2
51
0
-3
20
0
-1
-1
-62
0
1
0
0
0
0
34
0
18
3
0
0
0
-9
0
0
14
4
0
0
28
0
-3
-2
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
-2
-18
1
3
46
-8
0
108
24
0
11
111
-31
-6
-40
19
-1
-2
-44
3
-7
5
5
0
-32
31
34
-26
0
-47
0
3
-4
3
36
0
-6
0
-8
-15
54
28
0
15
-6
0
0
0
13
0
-11
-29
0
0
0
0
0
-2
-13
-87
5
0
0
25
-9
-4
24
3
0
0
5
-5
0
63
20
0
-2
-10
-56
1
0
-41
1
0
-7
22
0
-4
0
4
-6
0
57
0
16
5
-5
-4
0
6
0
-35
-7
0
-2
0
32
-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
-88
13
0
4
10
1
0
60
-13
0
0
-43
0
0
68
25
0
11
-30
0
-7
15
-8
0
0
23
0
0
0
-42
0
0
-20
0
-7
0
16
0
-1
-8
0
43
0
9
2
0
0
0
0
0
2
-1
0
0
0
0
6
-23
0
6
27
0
0
4
52
0
0
30
0
0
-6
-79
2
-91
15
0
3
0
3
0
25
-5
0
0
0
29
0
-15
2
0
-2
4
17
0
0
-3
0
0
0
13
0
-39
0
0
-4
0
62
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
2
0
0
-57
0
0
0
0
0
0
56
0
0
0
-3
0
0
-71
0
0
0
0
0
0
9
0
0
0
0
0
0
42
0
0
0
0
0
0
14
0
0
0
0
0
0
6
0
-2
0
0
0
0
13
0
1
0
0
0
0
30
0
4
0
0
0
0
15
0
0
0
-1
0
0
-15
0
-1
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-5
22
-13
27
-28
6
2
55
4
-2
0
55
0
0
11
-24
4
0
-42
0
0
-17
0
-15
0
59
3
-9
3
7
-16
0
40
2
-4
0
-6
-2
0
41
-2
-1
-1
-3
0
0
-66
0
-42
-7
0
0
0
-1
-15
47
-70
-18
0
6
9
0
-45
-74
0
0
-5
-2
0
3
-22
14
0
0
36
0
72
22
0
-3
0
28
0
0
4
26
3
0
-14
0
59
0
1
64
0
69
45
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-98
5
-18
-54
-48
59
18
12
-32
-23
26
-87
40
30
-5
-91
57
5
-43
-28
1
-22
-45
41
44
-24
4
18
4
-53
38
-13
13
0
19
41
-29
0
24
-54
7
-7
29
-45
60
-7
-3
-9
43
93
23
-1
-4
-6
-72
0
-26
21
3
94
-1
41
5
-63
38
17
36
29
33
62
-81
7
47
-6
-9
-25
7
-57
-32
8
-7
-20
-34
32
31
-10
23
22
29
41
-8
33
10
13
20
-25
0
36
-36
2
-58
63
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-2
-9
0
0
0
0
0
0
-1
0
0
0
17
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
51
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
-4
0
0
0
0
-15
0
-1
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
-49
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
59
0
0
-17
0
0
0
4
0
0
0
0
0
0
-46
0
0
0
0
0
0
15
0
0
0
-2
-1
0
154
0
0
0
0
0
0
-3
0
0
0
0
0
0
-25
3
-3
0
0
0
-3
-35
0
0
0
0
0
0
-26
0
0
0
0
0
0
14
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
80
-2
0
49
25
-7
30
10
0
20
-22
-3
4
9
-41
0
11
49
34
0
-3
-16
0
13
23
-1
-21
0
-18
0
-1
8
44
-18
0
-15
0
0
0
0
14
0
-2
-4
3
0
0
0
0
95
8
-61
0
0
0
-3
-40
0
-62
103
-4
0
0
20
-4
39
-15
-3
0
23
-71
3
24
2
-49
0
-3
47
0
-42
13
-11
-3
-1
90
0
-1
-8
9
-5
0
-5
0
-2
0
0
-7
0
71
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
0
0
0
0
0
0
3
0
0
2
0
0
0
33
0
0
0
0
0
0
-4
0
0
0
0
-5
0
-5
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
26
0
-5
0
0
0
0
2
0
0
-3
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-10
0
0
-8
0
0
0
1
0
0
0
0
0
0
-34
0
0
2
0
0
0
19
0
0
-2
19
0
0
37
0
0
0
0
0
0
13
0
0
0
0
0
0
-11
0
-4
0
0
0
0
1
0
0
0
1
0
0
78
0
1
0
0
0
0
-1
0
0
0
0
0
0
19
0
-3
2
0
0
0
15
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
1
12
0
5
-107
5
0
0
-14
0
11
-73
-42
1
0
79
5
-1
-14
0
-10
1
29
-1
0
-1
12
9
0
30
-9
3
0
-1
0
0
-4
-30
0
0
-2
0
0
-3
0
97
18
0
1
0
-21
1
-15
18
3
0
0
-15
0
-72
-8
0
-4
0
-50
0
5
10
14
0
-3
43
0
36
-19
7
-2
-8
30
-2
-2
3
-17
3
0
63
0
76
-3
0
32
0
-26
-19
-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
-56
-9
76
-36
59
142
-7
112
0
-9
-30
36
-16
-43
56
26
-8
-22
32
-39
-40
5
-13
-27
82
42
47
-6
2
15
-44
-3
-1
-6
-110
-1
-25
-7
3
-20
55
0
-22
32
-81
18
6
-9
3
6
9
-2
11
89
28
-14
-77
0
-45
-4
-38
-3
0
133
-48
20
-60
5
58
54
-49
-6
14
-12
6
53
-51
10
7
-2
-90
70
14
44
-7
-3
-5
-17
11
5
-31
0
14
-5
-11
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
0
0
-1
0
0
0
54
0
0
0
0
0
0
-4
0
0
0
0
0
0
88
0
0
0
0
0
0
26
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
-19
0
0
0
0
0
0
81
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-5
0
0
0
-99
0
0
31
6
0
0
-48
0
0
0
0
0
0
45
0
0
0
0
1
0
-15
0
0
0
0
0
0
-39
0
0
0
0
0
-4
9
7
2
0
0
0
0
-7
0
0
4
-4
0
0
50
0
10
0
0
0
0
-20
0
0
1
-1
0
0
5
0
-8
0
0
0
-6
-29
0
0
0
1
0
0
55
0
21
0
0
0
0
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
-58
34
1
-6
33
2
-22
-86
-17
0
-2
8
-21
-1
16
-41
0
-25
-44
-4
33
0
-21
3
25
-4
-17
47
0
11
0
0
0
8
2
0
21
87
0
1
-4
0
4
20
6
-28
4
0
0
3
-30
0
-12
0
10
0
-2
23
13
82
9
-1
0
9
52
0
41
17
13
0
0
-15
0
8
14
-1
-18
-1
-4
0
6
6
137
13
0
4
0
47
0
0
-11
0
14
-37
3
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
-2
-55
0
-4
26
0
0
0
-13
0
0
15
-3
0
-2
-60
0
0
6
0
5
3
56
0
0
0
0
49
0
10
0
0
0
0
0
0
4
-7
0
0
0
0
0
-6
0
4
2
0
0
4
-4
2
0
-34
0
0
32
0
0
6
44
0
0
-2
-27
0
3
9
2
0
3
-28
0
15
0
0
-1
0
-63
0
11
0
0
3
0
43
0
56
16
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
5
0
0
0
-54
0
0
0
0
0
0
-30
0
0
0
0
0
0
-15
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
1
0
0
0
0
-35
0
0
0
3
0
0
-42
0
0
0
0
0
0
2
0
0
0
0
0
0
-41
0
-3
1
0
0
0
43
0
0
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
78
-8
0
-58
0
0
0
0
7
-3
13
0
-1
-10
53
9
0
-48
0
0
0
0
0
0
16
-1
0
0
0
0
0
-51
0
-52
1
0
0
0
-131
0
-14
17
25
0
0
-47
0
75
62
-9
0
0
-52
0
5
-30
-7
0
0
29
3
80
2
0
0
0
59
0
-7
14
-44
0
0
-11
0
103
0
0
5
0
34
5
-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
0
0
0
0
0
0
0
12
9
25
-31
23
11
-90
117
-8
-5
-4
34
15
-44
-5
-19
-22
21
28
-8
32
-1
11
-109
89
0
29
-50
-3
26
24
25
13
19
0
66
39
30
11
17
4
-5
51
-8
-25
-16
-39
-42
4
-43
-4
-8
-13
-22
24
-19
21
0
-2
84
4
13
0
-33
28
0
13
-104
36
-10
-38
51
1
18
4
-14
85
43
-11
0
-97
-3
-25
0
0
-8
-8
44
53
64
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-9
0
0
0
0
0
0
-14
0
0
0
0
0
0
13
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-27
0
0
0
0
0
-1
-7
0
0
-5
0
4
0
-30
0
0
0
0
0
0
-56
0
0
0
0
0
0
-3
0
2
0
0
0
0
64
0
0
-4
0
0
0
16
0
1
0
0
0
-8
-23
0
0
0
-1
0
0
-51
0
19
0
0
0
0
-25
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-13
10
0
34
-55
0
8
0
0
-68
0
32
-1
-4
4
-8
-7
0
2
0
0
0
0
1
-1
50
-10
-1
0
6
0
0
-9
-5
49
-3
-8
0
-3
32
0
5
14
-12
0
14
79
0
31
1
1
0
18
-25
-4
-45
-4
74
0
0
14
0
-39
21
0
0
0
12
-1
-5
-1
43
-1
0
42
0
-64
0
0
-7
0
-22
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
16
0
0
-1
0
0
0
-2
0
0
-3
0
13
0
-14
0
0
0
-1
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
-8
0
0
0
0
6
0
0
0
0
0
0
47
0
0
0
0
0
0
-14
0
0
0
0
0
0
37
0
-2
0
0
0
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-14
0
0
1
0
0
0
-10
0
0
0
1
0
0
76
0
0
0
0
0
0
14
14
0
0
0
0
0
6
0
32
0
0
0
0
53
0
0
3
0
0
0
-34
0
5
0
0
0
0
-41
0
0
6
0
0
0
-66
0
-5
0
0
0
0
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
43
0
0
0
-1
13
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
3
0
0
0
0
60
0
1
4
0
0
0
-1
0
-5
0
0
0
0
37
0
11
-7
-1
0
0
22
0
20
0
0
0
0
1
0
0
0
0
0
0
-2
0
-3
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
108
4
25
-7
12
24
25
-20
58
-11
55
-54
-8
-7
1
-36
-7
22
1
0
-23
10
-6
92
-20
8
24
0
54
-29
-25
-51
56
9
-3
76
15
8
15
20
-6
0
-72
-4
-7
38
90
34
-30
-49
-4
11
-22
-23
1
-26
15
0
4
23
-26
-9
8
12
53
-7
23
-69
26
60
-1
44
0
-45
-4
-15
-25
0
12
33
6
-25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
52
0
0
7
0
0
0
18
0
0
0
0
0
0
-25
0
0
0
0
0
0
-25
-1
0
0
0
0
0
-1
0
1
0
0
0
-1
-4
0
0
0
0
0
0
-19
0
-4
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
62
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-13
0
0
-40
0
-24
0
-7
0
74
15
0
-32
-8
3
0
0
0
0
0
1
0
0
-5
0
0
-23
0
91
27
0
0
10
32
-2
-19
47
-2
0
0
-10
3
-18
4
-9
-4
1
12
0
-3
6
6
0
4
-53
0
43
0
3
0
0
59
0
-1
-1
-4
-5
0
12
0
90
0
0
26
0
19
-39
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
-20
0
-76
0
0
-41
0
66
0
-46
0
3
0
0
0
0
-42
59
0
-6
0
0
0
29
-4
14
16
0
0
-23
58
0
-14
-2
0
0
-2
40
5
40
33
0
-2
9
-14
3
9
-14
0
0
-3
23
0
-16
3
0
6
0
7
0
0
-13
0
-2
0
-74
0
-39
1
0
-10
0
19
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
22
0
0
0
0
0
0
-39
0
0
0
0
0
0
20
0
21
0
0
0
0
-2
0
0
-10
0
0
0
-2
0
-20
1
0
0
0
2
0
0
0
0
0
0
-58
0
-5
1
0
0
0
5
0
0
0
0
0
0
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
27
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
4
1
0
0
0
21
0
0
0
0
0
0
14
0
0
0
0
0
0
-18
0
0
0
0
0
0
-53
0
0
0
0
0
0
-14
0
0
0
-1
0
0
-41
0
4
0
0
0
0
-15
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-59
-59
36
5
0
-7
-28
65
-1
1
-27
-1
14
15
31
16
58
18
-2
-53
58
-33
-22
-2
16
37
6
81
3
-14
84
5
28
35
-49
13
60
64
40
-17
-21
-5
-68
-93
13
-30
41
9
-19
41
38
11
77
48
0
-2
47
69
47
6
15
4
-8
-17
-13
6
13
-1
32
-24
-20
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-35
0
0
-8
0
1
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
-5
0
0
0
0
-8
0
0
0
0
0
0
40
0
0
0
0
0
0
-39
0
0
0
0
0
0
-3
0
0
0
0
0
0
77
0
0
0
1
0
0
-41
0
-43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-49
-4
6
0
0
0
0
29
0
0
0
0
0
0
17
0
41
0
0
0
-5
109
0
0
0
0
0
0
24
0
-17
0
0
0
0
-32
0
0
0
2
1
0
33
0
-8
0
0
0
0
-27
0
1
0
6
0
0
39
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-23
0
0
0
-24
0
0
12
-9
0
0
0
0
0
91
-6
0
0
0
0
0
-6
0
8
0
0
0
0
24
0
0
-8
1
0
0
-10
0
-3
0
0
0
0
-14
0
0
0
0
0
3
-1
0
-33
-9
0
0
0
-23
0
-1
-1
15
0
0
21
0
23
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
2
0
0
0
0
0
0
-11
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
9
0
1
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-2
3
-3
-3
2
5
5
-8
24
0
-1
25
45
91
-54
5
-2
29
23
45
72
65
102
2
24
-9
7
-10
-56
2
6
9
-29
-1
-5
62
-9
0
-19
-29
0
17
19
-14
6
8
31
0
-18
106
45
-45
-4
0
0
-20
2
-10
0
0
20
9
1
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
-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
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
-11
0
-2
0
0
0
0
48
0
0
0
0
0
0
51
0
1
0
0
0
0
-11
0
0
0
0
0
0
-41
0
-5
0
0
0
0
0
0
0
0
0
0
0
35
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
-5
1
0
0
-3
0
0
-29
0
0
0
0
0
0
-9
0
-4
-3
0
0
0
-61
0
0
0
-3
0
-2
24
0
1
0
0
0
0
-14
0
-2
0
0
0
0
26
0
9
0
0
0
0
62
0
0
2
4
0
0
-14
0
0
0
0
0
0
-78
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-38
-4
0
0
0
0
0
91
0
27
-2
0
0
-2
32
0
0
-2
6
0
-1
-77
0
57
-19
0
0
8
26
0
-5
11
0
0
0
34
0
-5
9
0
0
0
-60
0
0
0
0
1
0
-41
0
-25
1
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
5
0
0
0
12
3
-27
0
0
0
7
14
0
2
15
7
0
2
-9
0
32
4
0
0
0
-32
0
0
-16
1
0
0
53
0
-60
7
0
0
0
109
6
-2
5
5
0
0
-27
0
117
11
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
-8
4
-3
1
-1
24
48
5
29
27
-7
72
22
48
-4
95
36
3
-16
10
90
59
11
174
4
10
-3
-8
52
7
-69
23
-37
-54
-6
5
24
16
-67
70
-49
10
-36
-25
-26
-27
17
13
0
42
26
-14
15
0
0
-1
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
40
0
-2
0
0
0
0
-141
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
-1
0
0
0
0
8
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
6
0
-3
0
0
0
0
14
0
0
0
0
0
0
-25
0
1
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
-62
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
11
0
0
0
0
11
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
-30
-39
14
33
32
7
0
21
30
5
14
37
-21
0
109
-12
0
17
37
7
-17
1
18
0
-28
-24
33
5
-21
-13
0
-13
20
-4
-43
64
17
1
38
-62
-32
-30
-3
-2
-1
-21
4
0
57
0
-11
59
-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
20
0
-1
9
0
0
0
-61
0
0
4
-2
0
0
5
-9
4
-1
2
0
0
10
0
0
0
0
-6
0
-26
0
13
0
0
0
0
-67
0
3
1
0
0
0
4
0
1
0
0
0
0
71
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-3
0
0
0
0
27
0
-2
0
0
0
0
1
0
0
0
-4
0
0
-10
0
5
0
0
0
0
-3
0
0
0
0
0
0
50
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
-10
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
2
0
0
80
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
5
0
-1
0
0
0
0
29
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-3
0
0
-74
0
-1
0
0
0
0
-29
0
0
0
0
0
0
9
0
0
0
0
0
0
41
0
0
0
0
0
0
-83
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
80
20
-5
30
58
-33
0
-39
38
1
10
48
19
-7
-4
42
0
16
32
53
-3
-3
-16
0
-9
-6
0
0
5
24
0
-6
5
-5
14
0
-9
0
28
0
0
-6
0
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
0
0
0
0
0
0
20
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
205
-14
-3
10
-4
0
14
22
0
0
16
-2
0
-27
78
30
0
-3
-6
0
74
-18
4
20
18
-31
0
-5
-5
4
1
0
51
0
-22
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
-19
0
0
5
4
0
1
48
0
-13
0
0
0
0
120
0
-4
-9
0
0
0
111
0
-5
0
0
0
0
-28
0
0
0
1
0
0
85
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
65
0
0
-2
4
0
0
-38
0
0
0
0
0
0
-9
0
0
0
0
0
0
51
0
16
0
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
7
88
-9
5
-1
-13
-40
-10
-14
-28
78
0
60
0
0
-5
-59
-2
4
-46
13
0
10
53
51
-7
3
29
18
33
5
0
53
0
18
-55
-9
-53
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
43
0
0
0
0
0
0
5
0
-2
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
30
15
0
0
0
19
0
0
-9
-3
0
0
27
0
-8
5
-3
0
0
-37
0
0
0
-1
0
0
115
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
21
0
8
6
-3
0
0
-37
0
22
0
1
-2
0
-16
0
0
0
3
0
0
77
0
-18
0
0
3
0
-46
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
-5
-58
0
2
0
0
0
7
78
0
9
-2
0
0
0
-5
0
-10
-1
0
0
0
-50
0
0
0
1
0
0
-19
0
29
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
6
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
5
0
0
0
0
19
0
0
0
0
0
0
10
0
-3
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-62
15
29
12
-1
37
-14
3
-24
6
16
5
81
-95
-21
81
-1
24
0
41
0
0
-45
-1
-4
12
58
-4
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-24
0
0
-5
26
0
-3
-14
0
175
37
0
-33
0
36
0
-2
0
-11
0
0
68
0
-7
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
2
1
0
40
0
2
-1
0
-1
0
-74
0
0
0
5
1
0
31
0
18
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
1
0
0
0
-57
0
0
0
-3
0
0
-4
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
0
0
0
0
0
0
0
40
-1
5
23
93
-20
-25
3
-11
-6
-15
22
-27
-15
0
-9
-1
-29
39
1
26
0
-23
22
41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
75
0
18
0
4
0
0
64
0
0
-6
2
0
0
42
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
-2
0
-4
2
-3
0
0
-5
0
0
4
11
0
-4
45
0
43
0
0
0
0
111
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
34
0
0
0
0
-18
0
1
3
0
0
0
-25
0
6
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
4
0
3
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-113
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
54
-28
43
-11
-10
15
0
-72
32
2
13
0
-6
29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-81
0
0
6
3
0
0
-42
-1
5
-3
2
-5
0
53
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
15
0
0
-72
0
35
0
1
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-64
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
-4
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-62
9
-2
-19
0
-18
39
27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
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
55
0
-9
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
0
0
0
0
0
0
0
0
0
-102
0
92
-10
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
26
0
5
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
166
4
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
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
23
0
0
0
0
0
0
-5
0
0
0
0
0
4
-1
0
2
0
0
0
-2
8
0
0
-1
0
0
0
-24
0
0
0
0
0
0
33
0
0
1
0
0
0
3
0
1
0
0
0
0
-1
0
0
0
0
0
0
53
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
111
0
0
-7
0
0
0
4
0
0
0
0
0
0
14
0
0
-5
0
0
0
11
0
0
0
-1
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
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
-14
0
0
0
0
0
0
-3
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
28
0
0
0
0
0
0
0
0
0
0
-33
0
0
-2
-5
0
9
-4
4
0
0
0
-8
-1
-3
0
0
0
0
0
2
0
0
0
0
0
6
0
0
0
0
-46
0
0
31
0
0
-14
0
0
0
0
0
0
14
0
0
0
0
1
0
0
0
22
0
0
46
0
0
0
-13
0
0
36
0
0
0
23
-4
-5
47
-5
0
0
-11
0
36
4
0
0
0
4
4
-18
0
0
0
0
0
0
29
0
4
0
0
0
0
25
0
0
-7
0
0
0
-41
0
0
-6
-5
-4
0
0
15
17
0
0
0
0
0
43
25
0
30
43
40
0
-28
13
0
0
64
0
0
8
-66
0
0
1
-14
0
-25
25
0
0
38
0
1
0
5
0
-27
0
-1
0
0
10
2
0
0
0
-2
0
0
14
0
0
0
0
0
0
43
0
-6
0
0
0
33
0
0
-6
0
0
-21
-7
0
0
10
0
0
31
53
0
0
8
-20
0
24
-45
0
0
69
0
-1
15
52
0
0
-17
-44
0
0
-47
0
-2
-3
0
1
0
-10
-1
-1
0
-3
0
0
34
0
-6
0
0
0
0
0
28
2
0
0
0
0
7
0
0
0
0
0
0
-35
0
0
-7
0
0
0
-31
0
0
-2
0
0
-4
10
0
-4
-15
3
0
0
10
3
0
0
0
0
0
15
0
0
0
0
0
0
-74
0
-58
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
3
40
-72
1
39
-51
27
0
0
0
0
0
0
0
21
1
-16
10
21
43
-19
25
13
-28
-20
9
-5
-18
-1
1
-49
-66
-106
7
8
34
25
-31
-14
-11
-2
-20
-12
-17
7
-6
-63
-1
-13
-43
2
-1
-48
80
-28
-25
32
-26
95
-50
-1
-130
1
-6
-6
13
18
-11
-3
14
9
-8
-35
97
7
-17
-54
14
-13
-13
10
26
0
19
7
-12
-26
-14
-8
-50
-3
-23
-5
-19
-16
-8
-6
1
-15
-23
76
-42
-1
19
-5
64
-13
24
-53
19
-1
0
-58
21
-28
-53
-95
-5
-4
5
2
-21
51
30
26
-62
-22
8
4
-29
4
61
40
-31
6
15
-10
5
-2
-59
9
3
38
-6
5
35
1
-24
5
27
28
-2
-11
-33
-16
-2
47
-20
-1
69
-1
-49
-4
30
2
-3
-5
15
-40
-4
-13
-18
-10
43
2
71
2
-15
-21
-85
10
20
-50
4
-45
-47
36
26
-28
-37
8
-30
18
-15
16
0
-10
3
19
27
9
-4
24
-10
5
21
39
13
4
2
2
-3
-32
-8
9
-5
-30
-4
-1
-40
16
6
10
6
-12
2
2
19
-9
-44
-9
-13
-2
-17
44
-29
-7
3
-3
-2
-27
-12
13
-44
-25
-17
10
-4
-34
8
46
-64
-29
-2
11
8
-21
87
-13
3
-5
14
-5
-5
2
57
-18
-11
30
-37
-16
-41
6
-19
-12
-11
18
-24
9
29
-5
6
-15
-9
-2
-43
5
-41
-2
-74
14
-32
-12
-7
17
-2
-10
-12
-24
-50
10
21
-6
-28
10
-8
-28
26
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
-25
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
4
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
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-21
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
-18
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
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
11
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
-10
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
-45
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
27
0
0
-2
0
0
-8
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
2
0
0
18
11
0
0
-2
0
1
32
3
0
0
-69
5
0
31
-3
0
0
0
0
21
-17
0
0
0
-1
-1
2
20
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
1
0
0
0
-57
0
32
0
2
-3
0
0
0
7
0
0
13
0
0
10
-26
0
-20
9
0
0
48
65
0
0
5
0
0
-52
66
0
0
18
-3
0
0
47
0
0
-7
0
0
0
4
0
34
0
1
0
0
-27
0
0
0
0
0
0
32
-1
0
0
0
0
0
23
0
0
0
0
0
0
55
0
2
-5
0
0
-2
-40
0
0
1
0
0
-8
18
0
0
0
6
0
1
13
0
0
35
0
0
0
-2
0
0
-9
-1
0
0
50
0
0
-4
0
0
0
-48
0
0
0
1
4
0
33
0
0
0
0
0
0
26
-1
0
0
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
-1
-101
0
4
0
0
0
0
80
0
0
-10
-7
0
0
-36
0
0
-1
0
0
0
45
0
0
0
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
-147
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-139
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
-93
0
0
0
1
0
0
-3
0
0
0
-9
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
55
0
0
11
0
0
0
0
0
-5
-7
1
0
0
0
0
-32
0
0
0
0
0
0
0
0
-6
0
0
0
-18
-5
0
0
-3
0
0
0
33
0
0
0
0
0
24
-22
0
0
-6
0
0
0
-9
0
-15
0
0
0
0
-4
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
-29
0
0
0
0
0
0
-6
0
0
-6
0
0
0
-3
0
0
16
0
0
0
9
0
0
-1
0
0
0
4
0
0
1
0
0
0
-13
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
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
53
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
154
0
0
0
0
0
0
5
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
11
0
0
-3
0
0
0
0
0
2
-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
-6
1
4
0
0
3
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
-10
0
0
2
0
0
0
22
0
0
1
0
0
1
25
0
0
0
0
0
0
39
0
0
0
0
0
0
23
0
0
0
4
0
0
25
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
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
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
-15
-1
-1
0
0
0
0
14
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
-37
0
0
0
0
0
0
-24
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
-27
0
0
35
0
0
0
-20
9
0
7
0
0
0
-5
0
0
-13
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
-20
0
-5
-5
0
0
3
74
0
0
14
0
0
10
-9
0
-53
14
0
0
37
22
0
0
3
0
0
-2
-90
0
0
0
-4
0
-3
36
0
0
-6
0
0
0
25
0
19
0
0
0
0
-5
0
0
0
0
0
0
2
-3
0
0
0
0
0
7
2
0
0
0
0
0
-4
0
0
14
1
0
0
33
0
0
-4
0
0
0
23
0
1
0
0
0
-5
-28
0
0
18
0
0
0
14
0
0
3
-8
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
-45
0
0
0
0
0
0
25
0
0
0
0
0
0
-7
0
-2
0
0
0
0
-30
0
0
0
0
0
0
22
0
0
9
0
0
0
48
0
0
0
0
0
0
4
0
4
0
0
0
0
59
0
-5
0
0
0
0
-49
0
9
0
0
0
0
23
0
0
0
0
0
0
0
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
6
-3
-3
0
0
0
0
-20
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-106
0
0
0
0
0
-16
0
0
0
0
0
2
4
0
0
0
0
-1
0
-1
0
-8
0
0
60
0
0
0
40
0
-6
137
2
0
0
56
-2
0
-45
0
0
0
-5
0
9
6
0
0
0
30
0
0
-2
-3
0
0
1
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
31
2
-2
0
0
0
-57
0
0
0
-7
0
0
-20
9
0
-55
33
0
0
-57
-105
0
0
54
0
0
0
-22
-3
0
2
-13
0
0
-14
0
0
43
0
0
0
-8
0
-44
0
-2
0
0
-53
0
0
0
0
0
0
-22
-2
0
0
-1
0
0
9
0
0
0
0
0
-1
0
0
0
-5
-1
0
0
26
0
0
0
0
0
5
11
0
0
53
1
0
2
93
0
0
-10
0
-7
14
-90
0
-3
0
-13
0
-6
-6
0
0
6
0
10
0
-68
0
2
0
0
-11
0
-15
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
11
0
0
0
10
-4
0
-2
0
14
0
0
-44
0
11
22
0
0
0
-4
0
3
0
-3
0
0
-20
0
-10
-9
0
0
0
-31
0
0
2
0
0
0
-42
0
7
0
0
3
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
33
0
0
0
-7
0
0
5
-3
0
0
0
0
0
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
2
0
0
12
0
0
0
0
0
0
11
0
0
0
0
-4
6
-29
0
0
0
0
71
0
0
0
-32
0
0
37
-5
0
0
-75
-10
17
-67
5
0
0
8
0
-11
10
0
0
0
11
3
0
-9
-3
0
0
0
0
0
0
0
0
0
0
0
23
0
0
5
0
0
0
-5
0
-14
-2
41
0
0
0
0
-55
0
0
22
0
0
-5
33
0
-17
79
5
0
-41
-4
0
0
31
0
0
1
34
0
0
48
-1
0
-2
34
0
0
13
0
0
0
9
0
64
0
-5
0
0
45
0
0
0
0
0
0
57
0
0
0
7
0
0
-25
7
0
0
0
0
0
16
-1
0
-2
0
0
0
52
0
0
-2
0
0
0
-37
0
0
-10
0
0
-4
-85
0
0
-43
0
-1
0
-51
0
0
14
-22
0
0
-62
0
0
0
0
13
0
17
0
0
0
0
1
0
38
0
0
0
0
0
0
-4
5
0
0
0
0
0
-31
0
5
0
0
0
0
-3
0
0
0
0
0
0
-49
0
10
-3
0
0
0
-62
0
0
2
0
0
0
44
0
-5
0
0
0
0
-12
0
0
0
8
0
0
-6
0
-18
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
7
33
13
38
12
-27
-3
48
-23
24
-49
-26
14
-3
30
24
-14
6
-83
11
12
-37
6
-14
-18
-20
32
-34
11
-1
-2
5
-22
5
-21
-20
-3
-10
63
-37
-25
40
20
13
55
-33
-31
-107
-36
-36
77
-139
-41
-5
-2
7
-5
-29
-1
4
33
32
10
24
41
-18
-1
4
-24
8
39
101
-50
13
3
6
-5
-5
-20
33
-1
-34
-1
-5
-8
-79
40
-8
31
4
-70
64
23
-15
10
2
-1
-76
-34
20
-15
-56
-5
0
-52
0
10
-104
3
-2
-46
-46
4
102
-59
24
-21
-58
5
-4
5
-71
-1
2
59
3
-1
-84
-42
11
-37
-81
17
3
66
-23
2
-12
46
1
1
-12
-48
5
22
30
13
-7
-14
5
1
-1
12
2
-5
-22
2
-51
-13
-3
-87
-3
-3
0
-73
-8
-49
37
4
0
-79
61
-63
-57
12
-6
40
44
-2
-57
-32
-12
-4
3
38
28
-22
7
-29
-1
-25
4
-4
-12
17
-20
0
9
71
5
-16
15
5
-1
-54
21
11
1
-72
4
1
-39
26
3
-15
5
28
-1
-52
-33
11
2
4
-19
2
25
-4
20
-27
-16
-27
2
42
15
-44
-35
22
-41
-23
-7
-28
-11
-76
5
-23
-18
13
7
1
-16
-11
-22
-18
-62
-44
-10
-53
7
-8
-6
52
18
9
-11
-14
43
0
41
16
-35
97
11
-54
0
48
-14
9
-32
1
14
0
30
0
-33
-78
3
55
3
25
18
-43
-3
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
25
-1
0
0
0
0
20
15
3
0
-3
-5
1
-24
1
0
0
0
0
0
-4
8
0
0
-2
-1
0
0
1
0
-18
0
0
-3
0
0
-40
0
0
0
0
0
-23
25
0
0
0
0
0
21
-4
0
1
0
3
42
15
0
0
-72
0
0
-132
9
22
0
20
-3
1
-47
-39
-1
0
45
0
1
5
0
0
0
-16
-8
10
-26
5
0
0
11
0
6
0
-4
0
0
-1
1
38
0
0
-5
0
0
0
6
0
-13
4
-10
0
0
0
43
68
-4
0
-1
0
0
4
-37
0
-10
45
0
0
-18
52
-15
0
-14
0
-7
-53
-110
0
0
3
-5
0
4
59
0
0
-15
0
0
24
0
0
-43
1
-1
0
0
25
0
0
0
0
1
0
85
5
1
0
-1
0
0
102
-7
0
0
3
0
-10
-27
6
5
56
0
0
6
-76
-6
2
-26
0
0
74
0
-6
0
43
-1
0
-9
-18
0
0
-16
8
0
-7
7
0
14
-10
4
5
0
-33
0
0
2
0
6
0
58
0
0
0
2
-18
0
44
0
2
0
0
0
0
44
0
0
0
0
0
0
-8
0
0
-4
0
0
-5
50
0
4
0
2
0
0
-52
-6
0
-1
1
0
1
-11
4
0
-1
0
0
0
-6
0
3
0
-3
0
0
70
0
-10
0
2
0
0
-35
0
-3
0
0
23
0
13
0
0
0
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
31
0
0
0
0
0
41
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
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
9
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
16
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
33
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
-19
0
0
1
0
0
5
-2
0
0
-2
0
0
0
2
0
0
0
0
0
0
-13
0
0
5
0
0
0
-5
0
0
0
0
0
0
-21
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
-11
-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
-17
0
0
0
0
0
44
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
39
0
0
0
19
8
0
-81
0
0
-1
11
-2
0
-58
9
0
-3
-4
0
0
66
0
0
0
4
-2
0
-15
2
0
4
0
0
0
-5
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
-58
1
-1
0
0
0
0
-87
0
0
-3
0
0
-3
8
0
82
-7
0
0
19
16
0
0
21
-3
0
0
-30
0
1
86
7
0
-14
73
0
0
-66
0
0
0
2
0
-23
10
-2
0
0
29
0
0
0
0
0
0
-5
5
0
0
0
0
0
-16
0
0
0
0
0
0
53
0
0
-1
-5
0
6
11
0
2
22
0
0
0
52
0
0
17
0
0
-9
7
0
0
1
-1
0
4
-79
0
1
-93
2
0
0
42
0
0
-2
0
0
0
-36
0
0
6
-1
0
0
16
7
0
0
0
0
0
29
0
0
0
0
0
1
16
-2
-53
0
3
0
0
-58
0
0
9
0
0
0
-71
0
54
0
0
0
0
19
0
0
0
0
0
-4
26
0
-18
0
0
0
0
-26
0
0
0
0
0
0
-3
0
-6
0
0
0
0
-68
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
76
-18
14
36
38
9
-75
-5
63
-43
-81
-60
-59
-33
-53
-26
-8
-33
-9
-15
27
-32
-7
-7
-52
8
-2
-5
-5
-1
-20
-10
-28
-33
25
-12
-34
4
-8
8
-14
-1
-4
180
38
8
36
-132
33
-33
-43
5
-17
-54
-4
-15
-72
-10
1
-71
46
22
19
-66
-52
-10
6
15
16
94
-20
-7
7
-4
-11
13
-67
-17
-62
5
-47
28
-35
-43
-8
-6
-26
1
-6
-4
-25
-41
-11
-20
-38
16
10
16
-60
-43
-22
69
5
-17
-20
-7
-67
-15
-29
-7
-91
19
38
26
26
-7
-1
7
-5
-89
-19
6
42
-23
5
11
41
21
11
30
16
1
3
5
134
-2
-66
34
33
3
-45
-2
-3
4
-76
-91
-5
-8
-41
3
-35
-63
-33
17
25
-15
0
16
39
-3
11
-72
-71
-86
5
-48
-7
-18
-39
28
-36
36
2
-14
16
33
34
-4
-6
42
13
0
-48
-33
-6
-17
31
10
-5
23
-28
-9
91
32
-51
-10
-45
0
-12
-32
24
-17
6
2
-68
-6
35
14
-22
-23
-51
-54
-61
9
30
-10
-14
28
-34
-14
-15
57
1
-12
-56
18
-2
-31
11
2
-27
-5
-1
81
-5
30
50
-23
-2
-44
11
48
32
-64
20
76
-62
20
-36
4
52
-18
-39
23
-20
31
-44
-28
-24
-31
27
3
-30
-52
-22
-2
41
-83
1
32
-33
12
7
4
-47
55
6
81
-43
-48
-85
-43
11
-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
-44
0
0
5
46
8
-1
3
-20
0
-1
0
0
-5
-3
17
5
10
-3
-3
1
0
-4
0
49
5
0
-3
0
0
-34
0
0
0
0
0
-45
51
0
-2
-3
13
123
94
4
-1
151
80
49
36
-30
0
13
42
5
62
-16
0
-109
-35
-108
-99
-7
5
10
0
24
-109
-3
-39
-24
-53
0
-1
-7
-73
24
53
-53
-4
5
11
0
-36
0
24
0
0
0
-22
-105
0
0
32
0
0
-7
-23
-1
1
-81
56
3
-14
0
-22
26
-17
4
125
-7
0
-15
-13
0
-55
97
-19
0
-41
0
49
-4
10
-6
29
-22
-14
-10
1
-50
42
34
-50
6
8
4
40
2
0
-9
7
0
3
-22
53
0
0
-71
-5
11
1
13
-13
0
-24
-9
97
0
35
-9
9
30
5
0
0
0
0
2
17
-5
20
45
7
0
-5
33
-5
-11
-29
18
21
-5
0
2
-13
27
-22
8
-23
-6
3
7
28
64
0
-9
-44
-5
-22
-23
-20
-5
64
-46
0
-13
-65
9
-6
-3
42
1
111
-33
-25
-29
1
-41
5
-2
16
0
-5
0
56
15
0
4
-7
0
0
-40
0
-7
18
7
0
-9
-18
0
45
-48
82
0
-20
0
0
-52
33
-7
-6
-4
-46
3
-59
23
17
0
-53
-4
5
14
-56
34
0
-3
-93
-5
5
49
14
0
4
-6
0
-13
14
0
-9
2
-41
-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
-14
0
0
0
-2
0
0
17
3
0
0
-1
-7
0
1
15
0
0
2
0
0
0
-1
0
-144
0
0
-9
0
0
-29
0
0
1
-2
0
-14
5
0
5
0
0
37
3
0
0
14
0
-5
4
-2
0
-9
65
0
61
128
5
-3
0
-14
0
-9
-32
-51
0
0
-19
-1
0
3
-23
0
-11
60
15
0
18
-14
0
0
43
0
0
5
-5
0
0
0
1
14
0
0
21
0
1
0
34
0
36
5
53
0
0
0
19
51
0
0
61
0
0
-63
-12
0
-19
28
6
0
106
-42
1
-3
-32
-4
-2
-41
26
0
1
-33
0
0
0
-1
0
0
-77
0
0
8
-5
0
88
11
3
0
-1
-30
0
0
0
0
-5
0
2
33
0
0
2
0
0
16
-4
0
9
0
0
-10
82
0
-24
-52
-1
3
-48
25
0
0
26
10
0
-24
39
0
9
6
7
0
-22
15
0
26
65
-2
0
-2
25
0
0
-3
-39
0
-11
57
0
0
0
0
0
2
-27
0
2
1
0
1
0
-35
-3
0
0
5
0
0
69
-8
0
-6
0
0
-3
-45
0
14
-11
0
0
-1
62
0
0
-9
0
0
0
-53
0
-1
0
0
0
-8
-14
0
-24
-1
-14
0
5
-74
0
5
14
-1
0
-1
27
0
-5
8
0
0
0
-55
0
43
-3
0
0
0
-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
44
0
0
0
0
0
-4
27
3
0
0
-1
0
0
0
0
0
0
-1
0
1
0
1
0
33
0
0
-2
0
0
-37
0
0
0
0
0
15
56
0
-3
0
0
3
10
0
0
-17
75
0
87
2
0
0
91
5
-2
77
14
-14
9
-17
-29
0
-66
26
0
3
-34
0
-1
-2
-33
0
0
-2
11
-5
14
11
1
9
-5
0
5
0
-2
0
0
5
-2
69
0
0
-23
0
0
0
-31
-13
-52
-20
-4
34
0
0
1
-13
6
0
41
14
0
-57
-39
4
-46
35
-44
0
5
-9
0
0
48
0
3
11
34
4
0
-23
-37
0
79
75
0
0
51
-1
-15
4
54
0
-35
-4
-14
0
8
32
7
0
6
-4
-4
0
-3
22
11
0
-3
7
0
-21
-22
-2
1
0
4
-7
21
0
1
-69
63
-3
63
-48
0
3
82
-2
0
-55
-2
-2
-19
25
41
0
-29
-39
0
8
-24
8
0
-6
22
0
0
-39
36
0
0
7
0
0
-3
0
9
0
43
0
4
-4
31
-8
4
-57
14
-2
0
0
0
0
98
-25
0
-1
8
0
0
24
-8
-4
11
0
0
0
20
9
-2
15
-3
0
0
-15
0
6
-5
0
0
-5
-20
0
23
-8
32
0
-1
-27
-1
-76
-14
0
0
0
-64
3
-1
9
-5
0
0
4
0
96
3
0
0
-4
-41
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
69
89
15
-5
-52
-96
15
-8
-44
0
0
0
4
-1
9
95
5
0
14
22
2
-3
18
0
-29
-4
1
-3
0
0
4
0
0
-2
-7
-2
-100
-93
0
0
0
0
-4
25
34
-1
144
155
7
-20
-30
0
1
90
26
-5
54
-37
-17
15
56
26
-6
83
12
7
21
81
-1
-51
6
42
0
0
-14
1
-5
-80
53
0
0
46
7
5
-13
-15
0
0
-10
77
-54
2
-3
100
0
0
0
-82
0
30
-3
5
-4
-7
0
-92
-15
16
0
44
0
-1
18
-3
-10
22
62
71
0
-14
-20
0
-7
129
6
-13
-10
6
6
14
103
44
0
24
40
0
-4
56
-8
6
-6
-62
0
-15
-17
39
11
-14
-50
0
-6
-20
2
-2
0
6
-13
33
0
-33
0
-2
-6
-21
0
0
5
0
-6
64
-54
44
53
-5
18
5
-49
-5
-20
-21
11
-2
-12
-22
19
21
42
-5
17
24
-40
-2
-10
56
3
3
-10
-71
11
-11
-40
42
0
57
-55
0
46
-25
-3
-13
0
-56
0
-1
31
-13
-26
-3
-19
-9
-3
0
-10
8
4
17
50
-1
0
0
0
11
7
11
71
-22
0
3
-5
-15
0
-43
-7
36
0
26
61
-1
53
-23
33
-5
30
-19
0
-35
44
-33
-1
-13
-44
0
2
-25
4
-6
10
1
-1
-11
-17
-17
14
0
-44
2
16
0
-2
0
0
-8
-2
-3
-21
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
7
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
35
0
0
-9
0
0
-14
0
0
0
0
0
-3
-1
0
0
0
2
-11
1
0
0
-48
0
0
-36
0
0
0
34
0
0
46
3
0
5
68
0
0
14
-18
0
0
0
0
1
0
-1
0
0
0
0
3
-5
-7
0
0
0
0
-3
0
-19
0
0
0
0
16
0
0
-5
0
0
0
-8
0
-45
0
0
0
0
0
3
-14
0
0
-5
0
0
58
13
0
-53
-55
0
0
-36
-3
0
0
27
0
0
11
43
0
0
-3
2
0
-37
7
0
0
-5
0
0
-3
-79
0
-9
24
0
0
-2
14
0
0
-1
0
-2
0
-3
15
-1
0
0
0
0
-28
0
0
0
0
0
0
-20
0
-7
-5
0
0
10
-88
0
0
14
0
0
-4
45
0
0
69
0
0
-1
-79
0
0
-18
0
0
-2
2
0
0
6
0
-1
17
29
0
0
32
0
2
0
4
0
0
-2
-18
33
0
-21
0
3
0
0
0
0
71
0
0
0
0
0
0
14
0
1
0
0
1
-5
2
0
0
5
-6
0
0
-24
0
0
-5
0
0
0
-25
0
0
2
0
0
2
65
0
33
1
0
0
0
-47
0
2
-3
0
0
0
-21
0
4
-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
35
45
0
0
0
-6
0
18
48
0
0
0
0
0
0
-1
0
0
1
-2
0
0
0
-1
-72
0
0
0
0
0
29
0
0
0
0
0
-14
-3
0
0
0
0
19
35
0
0
-10
9
0
15
0
0
0
49
0
0
3
13
0
-2
-86
-14
0
7
20
0
0
2
0
0
72
10
0
0
-32
-5
0
20
-4
0
0
-2
0
0
0
-4
0
0
0
14
0
0
0
13
0
0
0
0
0
-8
-21
-5
2
8
0
7
-7
0
0
22
0
0
-15
-11
0
15
15
-92
0
-88
4
0
0
-2
-1
0
-4
37
0
0
-5
27
0
-105
56
0
0
52
0
0
0
-1
-1
4
-1
-3
0
0
35
0
0
-4
0
0
0
7
-72
-3
0
5
0
0
24
8
0
0
0
0
-1
74
1
0
70
0
0
103
-12
0
-7
-41
0
0
71
47
0
0
32
-53
0
-62
58
0
13
55
-15
0
0
-11
0
0
47
-8
0
0
-98
0
-5
22
0
0
0
-16
0
-1
0
39
0
0
8
0
0
0
0
0
0
-76
-4
0
0
0
0
0
-90
0
-1
0
1
0
0
66
0
0
30
0
0
0
43
0
10
15
0
0
-5
-4
0
-11
3
88
0
0
-100
-1
-153
6
-10
0
0
-56
0
7
-8
-9
0
0
72
0
25
0
0
0
0
-39
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
-22
51
20
-43
5
-2
30
-16
3
4
0
-37
-17
-15
-1
-1
9
3
0
-1
-9
0
0
-26
0
0
3
-2
8
57
97
-1
7
3
0
25
-33
62
-16
94
-17
2
-15
-33
6
0
25
-8
-18
-104
37
13
-13
33
-22
50
10
-147
11
1
-15
0
-53
78
38
25
8
-61
-24
-43
47
-21
0
2
-101
-4
-91
-8
14
-2
-1
-39
-68
-129
0
113
-26
0
0
6
-44
0
-15
42
-51
58
-12
0
76
3
3
-6
68
-1
-9
-9
-27
49
5
31
-22
-5
-19
6
27
-5
-30
18
0
14
-55
-5
-15
-33
-18
54
-58
-22
7
-7
-78
-9
44
-5
-25
1
28
-14
47
71
11
12
0
-2
13
7
47
0
6
-31
66
0
-66
-5
1
-44
65
-2
0
34
25
15
19
33
11
-36
42
-65
3
3
5
56
-51
-16
-31
-96
-28
7
89
-26
7
54
-6
-59
-8
94
5
31
26
-64
-47
-1
0
-1
7
-7
-15
-10
2
9
-54
-3
-19
0
-10
0
3
-34
-13
-37
0
7
44
14
-15
-8
-26
0
14
14
-5
-15
-5
-5
-2
5
14
-19
42
2
27
-1
-57
-16
-34
38
-5
-4
-36
-27
37
-51
11
52
34
20
3
-2
16
32
-11
65
-13
-24
-11
72
-6
-20
-27
0
-20
0
-21
3
-51
5
0
4
1
111
15
3
47
0
19
31
32
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
-28
24
0
0
0
0
19
46
-5
0
-1
9
-5
0
0
1
-1
-32
0
0
-34
0
0
-31
0
0
-1
0
3
-5
33
0
1
0
6
-20
-43
16
0
27
-15
1
53
-5
0
0
44
0
0
33
-51
-15
-44
59
-100
16
-88
0
-33
3
67
0
-137
-58
-7
0
-2
-13
71
-23
8
38
0
0
-1
16
-5
13
-5
0
0
2
-6
-174
0
0
-19
1
0
0
-38
4
72
-5
23
3
6
0
59
6
-2
0
71
3
0
-34
-14
0
75
-19
11
5
37
-26
11
-21
57
0
8
26
0
-14
-4
-61
7
-13
12
-78
0
2
-49
5
-5
-19
-33
0
-10
16
11
-1
-1
-117
0
0
0
0
96
0
8
-13
43
0
78
0
0
-12
1
-5
32
-1
0
3
2
-21
18
-33
30
-1
71
-7
0
61
15
-8
-14
-66
19
-4
-22
32
0
-9
-77
0
14
-18
59
6
14
-66
-17
-10
-21
62
-68
-10
1
-75
0
2
-5
0
-54
0
-53
0
16
-1
11
-127
1
14
4
2
0
0
0
0
-54
42
3
0
-17
0
-1
20
4
22
29
0
2
-19
-67
0
17
-9
-13
0
13
57
14
10
12
-24
-3
-81
0
13
3
-16
-54
3
9
-17
0
-25
-50
-5
-3
0
-30
4
-11
-56
19
6
-5
22
0
11
14
0
34
0
40
-3
-7
0
32
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
-82
0
0
0
-1
0
-8
-1
-1
0
0
0
-8
-10
0
0
27
39
-9
5
-7
0
0
27
0
2
106
23
15
0
41
-7
7
-45
-1
0
-3
-22
0
45
-20
1
0
0
19
9
-6
15
36
0
0
-13
0
-3
0
1
0
0
1
0
-11
0
2
4
0
0
0
34
0
54
-1
-14
-1
0
0
43
-29
0
0
34
0
0
10
-10
0
-106
2
43
0
-27
-5
0
0
187
0
0
55
-71
0
0
33
7
0
2
-23
0
0
48
0
1
0
109
0
-58
0
21
0
0
-6
0
0
0
0
4
0
39
62
3
0
0
-2
0
48
3
0
0
0
0
4
-16
0
-2
67
-5
18
7
101
0
0
-48
0
0
-9
-33
0
0
-16
46
2
-5
-33
0
-9
16
0
0
14
7
0
-2
-4
3
0
0
71
0
0
31
0
0
0
0
0
0
-11
3
39
0
18
0
0
0
0
0
0
-19
0
-5
0
0
0
-2
-18
0
-9
4
0
0
1
-51
0
5
-10
3
0
0
18
-5
6
6
0
0
-25
5
0
-10
0
11
3
0
14
0
39
-4
0
0
0
108
0
0
0
0
-7
0
26
0
22
0
0
3
0
-29
-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
9
-1
0
0
0
0
0
0
-6
0
22
0
0
1
0
0
9
0
0
0
0
0
-4
-11
0
4
0
0
14
10
0
0
-3
61
1
-82
-27
0
0
-61
2
2
-47
-8
0
0
19
111
-2
30
-16
0
0
-3
0
-3
-14
5
0
0
54
1
2
20
21
0
0
0
0
17
0
9
0
0
0
0
-37
0
3
-5
0
0
0
10
0
45
1
-34
3
0
0
93
-28
0
0
-46
0
0
0
-36
0
94
25
9
0
20
-34
-2
0
-25
0
0
41
-8
7
1
24
25
0
-6
-54
0
0
3
0
0
-2
12
0
5
14
-27
0
0
-49
0
0
0
0
0
0
-46
-10
0
0
0
0
0
3
-2
0
-1
0
0
3
-91
0
0
2
8
0
26
-9
0
0
14
0
0
-20
81
0
0
0
1
0
0
-26
0
0
-14
-1
0
0
-30
0
-3
-43
-3
0
0
4
-1
7
-1
0
0
0
-11
0
0
-9
-8
-8
0
27
-3
0
0
0
0
0
6
32
0
0
0
0
0
-24
0
10
0
0
0
0
38
0
0
-9
0
0
0
42
0
18
25
0
0
-2
-51
0
7
-1
34
0
3
50
0
31
-5
0
0
0
79
0
0
10
0
1
0
-54
0
61
0
0
14
0
-24
62
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
-113
30
0
0
0
4
14
48
21
2
0
0
10
-2
-3
0
0
-45
0
0
59
0
0
5
0
0
-1
0
0
-14
33
0
0
0
0
62
0
0
0
-48
-90
-14
7
-14
0
0
-12
2
-15
-41
-15
0
-2
13
-134
10
-18
8
-2
-16
-32
2
-41
-48
-48
-4
2
-17
-7
33
-29
9
2
0
-4
0
-58
-11
53
3
0
-2
56
-40
0
0
81
0
0
0
-21
0
30
-23
33
0
-3
0
-61
-10
0
0
-14
0
0
5
111
-2
3
18
-73
0
-87
-26
0
0
18
13
-1
67
-16
0
0
-3
5
1
97
-16
0
0
-61
4
0
5
7
0
-17
-46
-52
-16
19
12
0
0
1
0
-8
0
-1
-44
-6
0
-5
-18
0
-11
4
0
0
0
-5
-20
-14
95
-5
-21
-33
19
-21
-29
0
11
31
-5
34
14
45
0
0
23
32
23
45
8
-3
7
-165
-13
8
-9
-89
0
-1
7
9
33
29
36
0
-3
4
-2
13
-7
0
0
1
-2
25
3
0
0
16
0
0
0
27
0
1
16
-4
0
0
0
7
-17
-5
7
0
0
0
47
14
0
-4
49
13
0
0
-37
1
14
-8
-15
-1
60
23
0
6
7
5
19
-28
14
-1
-14
-2
-3
-13
-1
-15
1
-1
53
-84
25
0
-5
6
-137
0
0
9
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
-104
-1
0
0
7
0
-31
0
50
11
1
17
0
128
0
10
0
12
0
0
4
0
0
-9
0
0
0
0
0
-9
-1
0
0
0
0
65
13
0
0
37
0
11
-10
22
15
0
-19
0
10
-120
-77
0
0
-56
0
-21
-6
5
0
0
60
0
-2
-81
47
0
0
-15
0
-99
-20
4
0
0
27
0
-9
0
5
0
0
-4
0
5
0
-5
-96
0
0
0
39
0
-13
-3
-20
71
0
0
-47
-15
0
0
49
0
0
-42
-28
20
-50
-30
0
0
9
22
0
32
2
-2
0
-30
1
0
0
63
0
-5
19
-2
0
0
1
0
-5
-8
-19
0
-75
4
0
11
0
34
1
0
4
0
11
0
-24
-106
-53
0
0
-1
-1
-10
15
-2
16
0
0
31
-11
-9
-5
30
0
-7
34
28
0
5
53
0
10
-66
41
0
-4
-27
0
-3
0
-26
0
8
24
0
1
50
31
0
1
-36
0
35
8
14
0
13
45
0
44
0
-11
2
-1
-53
0
51
0
-18
-15
6
0
0
29
0
-6
-5
0
2
0
0
-1
-14
-1
-10
78
0
0
44
-19
1
5
100
0
0
-16
73
0
-24
-59
0
0
-3
-33
0
13
-39
0
6
1
8
1
-83
33
0
-10
0
51
0
0
121
0
-7
0
-5
0
32
-33
0
6
0
-6
-56
-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
-17
34
0
3
0
0
0
33
50
0
0
7
-4
0
5
-8
11
38
0
0
0
0
0
-10
0
0
13
0
3
-22
14
0
2
0
0
11
-17
-2
0
35
60
0
29
0
0
0
-20
-1
1
-20
45
0
1
-15
9
0
32
19
15
0
-23
0
0
10
23
0
0
-1
14
0
76
46
-2
0
47
-3
0
2
-6
-4
0
0
10
0
0
-4
-76
0
0
-26
0
-4
-18
-21
129
11
-1
0
67
16
0
-2
-52
0
0
-69
17
10
-1
3
9
0
-42
29
0
7
-2
0
0
-69
-42
-2
0
0
-110
0
18
-46
0
24
-27
1
0
48
-3
-9
-22
1
-14
0
-2
-25
4
0
-2
11
0
2
-15
-27
-35
0
-24
0
0
12
46
0
17
17
0
-23
32
-4
9
22
26
0
26
31
-6
-2
36
0
0
5
-2
0
-3
53
74
0
32
-24
0
-3
-11
2
0
-53
23
1
8
-24
77
0
19
20
0
18
24
-1
0
0
-16
10
-2
5
-25
0
-3
-48
2
2
1
-5
0
0
5
94
0
0
26
0
-2
20
0
132
1
0
0
1
-28
9
17
42
-41
0
31
48
0
83
-24
0
0
64
-43
0
52
10
37
0
-32
-30
0
14
107
0
0
-2
-89
0
-3
-2
-21
0
-9
-2
0
-40
-2
0
0
0
45
54
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
8
24
-15
1
7
-15
-5
-8
-4
0
-29
0
0
-6
0
-5
0
2
8
79
-32
5
-35
-13
7
61
77
4
-3
-11
-49
11
4
-1
0
2
1
-8
25
-29
77
-5
-4
-14
0
14
-98
-61
34
-3
-165
-24
5
-43
-58
26
27
18
-13
18
-23
2
18
10
-23
50
-18
-1
1
0
0
79
-8
-17
0
-38
-38
0
0
-68
-3
1
1
-102
7
0
-11
-9
-51
-3
-13
0
-7
2
1
-8
10
11
3
-1
-23
-5
26
-7
-6
-3
26
-5
8
4
4
-15
4
-21
-63
2
-7
-6
-4
-16
-5
91
71
5
-8
-4
-9
27
-2
-27
0
-2
-2
-1
-61
-14
7
0
2
-12
-111
0
-11
0
0
-8
8
-1
1
-9
0
-7
15
61
1
-84
-20
-4
-14
-1
5
-21
-17
-10
-4
-39
1
57
47
-46
2
-3
-7
-8
-31
26
21
-17
3
24
-12
-3
-14
4
0
-15
1
-7
-26
-25
8
70
-9
-20
-22
-2
-17
-25
-14
-72
0
-12
10
20
10
64
-39
0
-19
12
-1
-4
-41
1
0
20
-16
60
42
5
17
11
-3
5
-22
36
-47
-14
-2
32
-31
8
36
-13
42
-1
-11
11
26
-56
11
-20
-4
-14
3
-5
23
97
18
17
1
-4
-6
-25
-46
-14
0
8
-2
57
40
-5
-46
0
-26
-39
-15
-23
-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
8
0
0
0
-2
0
0
1
-2
0
18
0
0
-9
0
0
16
0
0
0
0
0
-21
2
0
0
0
0
19
8
25
-7
103
-18
-5
7
-1
0
0
72
-1
0
-10
9
1
-8
25
-92
-1
-10
33
6
0
20
6
14
-17
0
3
-9
-13
13
99
-10
11
0
0
77
0
-2
0
-2
0
0
0
8
-111
0
-2
23
0
0
0
-20
0
45
1
-7
-1
-3
0
37
-28
0
0
83
-1
0
6
-22
0
-15
77
45
0
-84
19
5
0
-2
9
0
-48
64
4
0
-59
-1
0
-17
0
17
1
-16
-6
-2
3
-41
0
-69
-9
3
0
0
3
0
0
0
-6
-3
0
-8
22
43
0
-7
0
0
-18
40
0
0
0
0
-2
-41
-11
35
-33
1
-14
-19
11
-1
0
43
2
0
-25
63
0
7
82
-2
11
39
-51
-3
6
-23
9
0
24
0
0
4
-39
90
1
-6
-97
-2
0
4
0
-20
0
-120
0
-2
-3
-25
-13
3
-6
-7
0
0
-1
0
0
6
0
0
0
0
0
0
2
3
-56
-13
0
0
0
24
0
-25
45
-6
0
3
-8
0
55
-9
-2
0
-4
10
0
-1
29
-17
0
-5
0
-11
-119
-18
0
9
5
-41
0
-1
2
3
-10
-3
18
0
47
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-11
0
0
-1
0
0
2
0
0
0
0
0
1
5
0
0
0
0
0
46
0
0
1
0
0
-23
0
0
0
30
0
0
21
14
1
0
-100
3
32
44
0
0
0
-5
0
27
7
0
0
0
-2
0
19
0
44
0
0
23
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
9
0
66
0
-1
0
0
0
27
-19
0
0
-4
0
0
-11
63
0
-10
60
7
0
-46
-59
0
0
45
0
0
-14
-75
0
0
36
5
0
-6
-48
0
3
7
0
-7
0
-24
0
11
0
0
0
0
-39
0
0
3
0
1
0
23
-2
0
0
0
-4
0
44
0
0
0
0
0
0
36
0
1
0
0
0
3
74
0
0
4
0
0
2
0
0
0
33
0
0
0
-80
0
0
-10
0
0
0
2
0
15
-19
5
-19
0
-34
0
0
0
0
3
0
-33
0
0
0
1
0
0
-16
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
0
-4
0
0
0
-2
39
0
3
0
-4
0
0
1
0
0
2
0
0
0
71
0
0
-1
0
0
0
-10
0
0
0
0
0
0
17
0
0
0
0
0
0
50
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
5
0
0
0
-77
0
0
-1
0
0
-22
0
0
0
0
0
0
7
0
0
0
0
55
-6
0
0
10
-1
0
-44
0
0
0
16
0
0
-33
-2
0
0
-43
-5
5
-58
0
0
0
-11
0
-3
-6
0
0
0
-1
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
90
0
0
0
0
0
0
81
0
-43
-6
0
0
0
0
2
23
0
0
-3
0
0
8
37
0
-33
55
-2
0
-47
-66
0
0
64
0
0
10
-54
0
0
43
-1
0
24
-76
0
0
41
0
0
0
-44
0
162
8
-3
0
0
-27
0
0
0
0
1
0
2
0
0
0
0
0
0
62
0
0
0
0
0
0
31
0
0
9
0
0
0
-127
0
0
0
0
0
0
0
0
0
-32
-1
0
-8
73
0
0
29
0
0
-2
-44
0
0
-8
-8
0
0
113
0
0
-2
0
0
0
-45
0
0
0
-2
-3
0
-16
0
0
0
3
0
0
-19
71
0
0
0
0
0
5
0
-2
0
0
0
0
48
0
0
0
0
0
0
-35
7
0
-8
0
0
0
11
0
0
0
0
0
0
1
0
-17
0
0
0
0
5
0
0
0
0
0
0
1
0
-9
0
0
11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
-48
0
0
1
0
0
-39
0
0
0
0
0
-6
-2
0
0
0
0
54
0
14
0
-5
-1
0
-62
0
-2
0
9
0
0
32
0
2
0
-2
3
-2
-11
0
0
0
2
0
0
-4
-19
0
0
0
0
-6
-2
0
0
0
10
0
0
0
10
0
0
-2
-8
-6
0
0
-2
0
0
0
0
0
56
-6
4
0
0
0
-4
7
0
0
-5
0
0
8
40
0
-47
-14
-3
0
6
7
0
0
-3
0
0
-14
84
0
0
-2
0
0
13
-113
0
0
0
0
0
0
-1
0
-17
-5
14
0
-11
-32
0
0
0
0
0
0
24
21
0
0
0
4
0
-18
-11
0
4
0
0
0
-32
8
0
-5
0
0
-5
46
0
14
13
0
0
15
-39
0
0
-1
7
0
2
-91
0
-1
-14
0
0
0
-24
0
-2
0
-1
0
0
-15
0
0
0
0
-4
0
34
0
0
0
-3
4
0
73
0
0
0
0
0
0
-65
0
0
0
0
0
0
7
0
-4
0
0
0
0
-45
0
0
0
0
0
0
-3
0
8
0
0
0
-1
-7
0
0
0
-3
0
3
-96
0
6
0
0
0
0
-64
0
0
0
0
0
0
17
0
-11
0
0
0
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
8
0
0
0
0
0
54
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
0
0
3
0
0
0
-8
0
0
41
-3
-1
0
-43
11
-5
-23
0
0
0
-4
0
-2
-2
0
0
0
4
0
1
-2
0
0
0
2
0
3
0
0
0
0
0
0
25
0
0
-1
0
0
0
-9
0
-27
0
4
-4
0
0
0
24
0
0
1
0
0
0
4
0
-14
-44
0
0
-55
-60
0
0
1
0
0
10
-19
0
0
-6
0
0
-9
-28
0
0
-6
0
0
0
16
0
-4
-1
0
0
0
-28
0
0
0
0
0
0
-70
5
6
0
0
0
0
48
0
0
0
0
0
0
-2
-11
0
-1
0
0
0
-82
0
0
4
0
0
-10
-15
0
0
-14
0
0
-9
10
0
0
-64
0
0
10
-99
0
0
14
0
0
0
13
0
0
1
0
0
0
-10
0
0
0
0
-2
0
62
0
0
0
0
0
0
-4
11
0
0
0
0
-2
11
0
-1
0
0
0
0
-18
0
0
0
0
0
0
-51
0
0
0
0
0
0
32
0
0
-9
-4
0
-5
-86
0
0
0
0
0
0
9
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
0
1
-1
-2
0
-5
-9
0
0
-3
-14
-23
-1
0
0
0
0
-7
0
0
0
0
-1
-22
-37
0
-1
0
0
-29
61
1
0
3
60
0
3
-6
0
0
5
0
0
-17
-15
0
0
-14
-69
0
-45
37
-1
0
-14
-1
0
-108
14
0
0
-40
54
0
-15
11
1
0
-1
-3
0
10
17
0
0
-4
-41
0
0
1
3
0
0
7
0
0
32
-27
-37
-23
19
0
-20
6
0
0
-38
0
0
-154
4
-7
24
5
-2
0
-34
67
0
0
14
0
0
-119
-53
-1
7
-51
-26
0
-90
-32
18
-1
-13
0
0
54
-15
24
-5
-17
22
0
33
20
0
2
-6
-1
0
0
2
-28
-24
0
11
0
-14
30
-76
0
0
-2
0
16
-5
0
-1
60
109
0
-24
60
0
-13
-59
0
0
52
15
0
-5
55
-44
0
-100
14
7
-23
43
25
0
-38
25
0
-4
64
-57
0
10
7
24
6
14
1
0
0
-14
0
75
36
80
0
0
8
-43
-5
0
0
0
6
5
-14
0
0
3
0
-3
90
0
52
33
24
0
-2
25
0
1
-16
-22
0
-1
37
0
52
3
0
0
10
19
0
49
20
-68
0
14
-38
-1
22
18
0
0
-7
24
-4
33
26
-29
0
-1
-20
0
17
5
0
0
0
30
-23
-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
53
0
0
-75
0
2
0
0
0
16
-1
0
0
0
0
5
7
14
0
-61
-78
-14
-21
3
0
0
31
0
15
48
-5
0
10
-43
61
-11
29
21
2
0
56
0
-46
0
-6
2
-7
-47
25
-20
-3
-16
0
0
19
0
4
2
-55
0
0
-36
-29
-136
0
0
-5
0
0
0
2
0
-25
5
-2
0
0
0
-24
-4
0
0
-68
-1
9
32
1
0
77
5
-15
0
123
-19
0
0
18
0
11
52
-8
0
0
-14
-11
11
-1
59
0
-2
56
0
0
4
27
0
-90
22
-23
0
0
-74
0
0
-3
9
-10
0
-37
-9
13
0
-43
0
0
-47
-8
0
0
-3
0
2
28
-1
0
-3
-6
-14
0
-12
0
15
90
0
-3
15
16
0
1
-65
15
0
0
-26
14
0
-13
5
-6
0
20
0
3
-32
-10
-18
0
5
0
5
-8
0
-80
0
-67
0
-4
20
5
-59
0
11
-2
0
0
-9
-3
0
-2
0
0
0
0
0
0
51
0
16
-3
-1
0
0
29
0
2
-1
0
2
-1
40
0
-2
2
0
0
7
-69
0
-23
11
-24
-5
0
-20
0
28
-5
0
0
0
10
0
1
-19
-1
19
0
-98
-2
42
3
0
-8
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
61
0
-32
0
4
16
0
0
-12
0
0
-5
0
0
-24
2
0
0
0
0
-32
-27
-2
0
-21
-20
6
-13
-13
0
-1
-29
0
0
-112
16
-1
0
22
-31
-6
5
7
0
0
-58
0
-4
-16
1
0
0
51
8
-5
56
0
0
5
45
0
-15
0
90
0
0
0
-6
-115
0
10
-7
0
0
0
-27
0
-12
2
-16
0
4
0
14
20
0
0
-5
0
0
8
40
0
23
17
-41
0
89
21
1
-2
-19
1
0
18
71
0
2
54
9
0
23
-11
0
0
-56
0
-2
2
0
3
-20
42
14
6
10
-90
4
0
4
0
-1
0
-24
-5
-3
0
-26
7
0
71
-14
11
0
0
0
-2
8
73
-39
16
-14
0
1
41
-4
0
-20
-1
0
-65
-73
6
-10
51
-96
10
-44
97
0
0
39
6
0
-2
-6
9
-13
-96
-19
0
0
0
0
-2
36
-2
-9
0
-71
0
0
0
-6
-8
0
-79
-2
0
0
-11
0
0
-98
0
-3
0
1
0
0
-24
9
-41
-1
0
0
-1
-14
0
8
-2
2
0
0
3
-2
50
-11
14
0
1
-26
0
13
26
-23
0
0
0
1
91
-33
0
0
10
0
0
0
-6
-53
-5
0
-22
0
5
4
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
-99
0
0
-2
0
0
1
0
0
0
0
0
-15
0
0
0
0
0
-8
-2
0
0
45
5
0
68
0
0
0
-11
0
0
74
0
0
-1
77
-20
3
-73
0
0
0
0
0
25
0
0
0
0
72
-1
5
0
3
0
0
0
0
0
0
0
0
0
0
0
16
0
0
1
0
0
0
-10
0
17
0
-2
21
0
0
18
-63
0
0
0
0
0
-14
-25
0
-23
62
0
0
87
19
0
0
6
0
0
-1
-24
0
0
-22
31
0
-8
17
0
3
5
0
0
0
-4
0
-46
-7
0
0
0
-27
0
0
0
0
1
0
-29
-3
5
0
1
-11
0
44
0
0
0
0
0
-15
-6
0
0
-8
0
-2
-2
24
0
0
-6
0
0
7
-22
0
18
68
7
-1
3
5
0
3
65
0
0
0
24
0
0
17
-7
-10
0
-92
0
0
0
0
0
0
59
0
0
3
-9
-1
0
-19
0
0
0
0
0
0
56
0
0
0
0
0
0
9
0
4
0
0
0
0
32
0
0
0
0
0
0
-19
0
0
-5
0
0
-1
2
0
0
0
0
0
0
-4
0
3
0
0
0
0
108
0
-2
0
0
0
0
76
0
-13
0
0
0
0
117
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
55
0
0
-1
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
1
0
0
0
45
0
1
-47
-1
1
0
-36
-4
13
-5
2
0
0
-3
0
-2
-1
-1
0
0
8
0
17
11
2
0
0
0
0
-8
0
0
0
0
0
20
-6
0
0
-2
0
0
0
-11
0
8
0
0
0
0
0
-1
-21
0
0
19
0
0
16
54
0
76
-43
-1
0
5
13
0
0
-1
0
0
-1
-86
0
0
100
-2
0
0
10
0
0
1
-9
0
0
8
0
51
3
-4
0
2
-15
0
0
0
0
0
0
35
0
-5
0
0
0
0
63
0
0
0
0
0
0
7
0
0
-1
0
3
7
-54
0
0
-4
0
0
-2
63
0
0
-6
-1
0
0
14
0
0
-4
0
0
0
-20
0
0
0
-1
0
3
-43
0
0
-1
0
-1
0
36
0
-1
0
-1
-2
0
-68
0
0
0
0
0
0
-2
-1
0
0
0
0
0
30
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
0
0
0
-14
0
0
0
0
0
0
-39
0
-1
0
0
0
0
-23
0
0
0
0
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-8
0
0
-3
0
0
0
0
0
-1
-16
0
0
0
0
79
-3
0
4
-47
-33
68
-14
0
0
0
-6
0
0
16
0
0
0
-43
-13
54
-23
-23
0
0
-3
0
-18
-24
15
0
0
1
9
25
45
-1
0
0
1
43
-16
-16
2
0
0
-3
-4
-17
0
0
-10
0
0
-5
-90
0
-27
-5
-3
0
0
0
26
41
0
0
-1
0
0
-79
2
0
39
-30
-84
0
16
-10
0
0
-33
0
6
8
-8
0
0
-8
-20
0
-36
-16
5
0
-1
0
-7
9
-49
0
-6
-3
-40
-13
0
14
0
0
0
14
-3
0
10
1
-6
0
-7
0
0
-10
0
0
0
0
0
-1
44
13
-4
-1
31
11
-21
-17
0
-1
-21
0
2
9
-10
-1
-2
-26
49
-9
-2
-51
0
0
-10
5
1
33
-11
0
7
-1
-56
-7
47
-20
-1
0
-2
-11
-63
0
-8
0
0
0
43
-46
0
4
-2
0
0
0
13
0
-11
0
0
0
0
0
0
23
0
4
2
0
29
0
-17
0
0
24
5
1
-11
-27
0
-15
9
-1
17
0
6
0
11
-5
4
7
0
-67
0
-49
-2
0
-6
-8
14
0
4
19
-6
14
0
20
0
-61
0
0
0
0
-26
-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
-13
0
0
1
0
0
9
0
0
0
0
0
2
-26
0
0
0
0
-47
-101
0
0
61
0
75
-34
33
0
0
9
0
-15
0
-61
-3
0
-1
0
32
-22
-18
0
0
12
0
-9
-80
0
0
0
-90
0
-111
-26
-1
0
0
23
0
-4
0
49
0
0
-1
0
24
0
0
-96
0
0
0
5
-2
31
-32
-1
31
0
0
33
-9
0
0
2
0
5
1
-5
0
-9
-45
14
0
74
-27
0
-1
10
0
9
-22
-69
0
0
29
0
-1
66
20
0
0
35
5
0
47
-28
0
20
-45
1
22
0
3
0
0
37
0
-14
0
-41
15
-25
0
0
0
0
-3
-14
0
4
0
0
-5
-18
0
21
39
0
40
-81
10
0
0
-70
0
-51
86
9
0
0
72
0
-3
-4
-31
0
0
-24
5
-7
30
5
2
0
25
0
24
81
-65
0
4
-10
0
-13
2
23
0
0
-6
0
-13
0
28
42
0
0
0
0
0
52
-43
0
0
0
0
-4
7
0
0
1
0
0
10
23
0
0
-26
0
0
-26
-40
0
-1
94
0
0
2
22
0
0
87
0
4
-9
37
0
-118
-7
0
0
-5
-46
0
0
53
0
1
0
11
0
34
2
0
-2
0
-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
36
-5
-40
0
0
0
0
0
31
0
0
0
0
-6
-1
-55
-2
0
-1
0
-33
97
0
0
-5
21
0
-20
0
0
2
-49
0
0
-57
71
0
4
-17
27
0
22
-14
0
0
-37
0
0
56
69
1
2
-89
-5
0
-4
7
0
0
-4
0
0
0
-13
0
0
0
-33
5
0
6
12
0
0
0
0
0
30
4
-4
-24
7
0
35
-42
0
0
-71
0
0
54
73
0
96
16
5
0
-65
16
0
2
-20
0
0
-26
-5
0
-4
10
9
0
42
-23
0
2
-45
0
0
-2
145
0
23
-53
-22
0
0
17
0
0
0
0
0
0
13
-1
35
0
51
0
0
-6
-2
0
0
2
0
-4
0
0
3
-25
9
0
69
41
0
23
65
0
0
32
3
1
-5
-27
29
0
-70
-3
0
0
31
6
0
-15
-49
-1
7
-32
-5
0
-35
-96
0
19
24
0
0
0
-18
0
0
-6
40
0
0
19
0
2
0
0
0
0
74
-20
6
9
0
0
0
69
0
27
0
0
0
-5
-111
0
7
3
44
0
18
84
0
-59
-71
0
0
5
-8
-1
20
62
-43
0
17
-61
0
-18
-35
-21
0
8
-39
0
5
-18
-36
0
0
-12
0
37
0
0
0
0
14
109
4
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
-100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
5
134
-2
0
0
3
0
-3
23
5
0
-10
23
0
0
-2
1
0
0
0
0
14
0
0
0
0
2
0
0
0
0
0
0
18
0
-5
0
5
0
0
1
0
-4
0
0
-1
0
0
0
-11
0
-23
0
0
0
0
0
0
36
0
0
0
0
0
-3
6
0
43
-9
-1
0
-1
18
0
0
10
0
0
0
22
0
0
2
0
0
0
-6
0
0
-1
0
0
0
5
0
-5
-2
0
0
0
9
0
0
0
0
0
0
-21
-6
0
0
0
0
0
26
0
0
0
0
0
3
-36
0
0
0
0
0
5
-19
0
0
2
0
0
0
13
0
-1
1
0
0
1
-27
0
10
-1
0
0
0
6
0
0
0
0
0
0
-50
0
0
-4
0
0
0
-24
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
4
0
0
0
0
0
1
9
0
4
0
0
9
3
-2
0
-6
5
0
10
0
0
0
-56
0
0
-29
0
1
-4
-84
11
-1
-30
0
0
0
11
0
9
-2
-5
0
-4
25
-1
0
-10
-3
0
0
5
0
0
0
0
-10
0
3
23
-71
0
0
6
0
0
1
-1
0
-72
-8
2
-1
0
0
17
-44
0
0
15
0
0
7
92
0
33
35
5
0
34
60
0
-1
-42
0
0
16
41
0
0
14
0
0
-29
-20
0
0
-24
0
0
-8
49
0
-57
0
7
0
0
0
0
0
0
0
2
0
16
-1
32
0
-11
0
0
36
0
0
0
0
0
0
-62
2
0
-15
-4
0
-3
-24
-8
-2
8
0
9
1
-48
0
4
-8
20
10
4
9
0
8
-7
2
-10
-9
39
1
0
-3
-8
-6
0
-21
0
0
0
0
-7
-5
0
0
0
0
-1
29
0
-70
-5
0
0
2
0
0
-76
-1
-7
0
1
0
0
-1
0
0
0
0
0
0
-42
0
3
-3
0
2
0
50
0
2
-4
0
0
0
-36
0
8
6
-24
0
0
-71
0
-1
24
0
11
0
1
0
0
0
0
0
0
0
0
16
0
0
0
0
-17
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-5
0
0
0
0
8
0
0
0
-15
0
0
6
0
0
0
-32
0
-1
-14
5
0
0
-38
5
0
-39
-2
0
0
0
0
6
0
-4
0
0
-4
0
-23
0
0
0
0
0
0
-19
0
0
0
0
0
0
17
0
0
2
0
0
0
60
0
-14
0
-1
4
0
0
5
72
0
0
-4
0
0
19
17
0
-6
21
0
0
9
-31
0
0
17
0
0
56
-6
0
0
0
0
0
-36
46
0
0
-19
0
0
4
0
0
-49
0
0
1
0
-5
0
0
0
0
3
0
111
-1
0
0
0
0
0
36
-1
0
0
0
0
0
21
0
0
20
0
0
0
-14
0
11
0
0
0
-11
-98
0
0
13
-6
0
0
-46
0
0
-18
0
0
0
-28
0
0
27
0
0
10
6
0
0
0
0
-3
0
-9
0
-13
0
0
-1
0
-17
0
0
0
0
3
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
106
0
0
-2
0
0
5
16
0
0
0
0
0
0
-27
0
0
0
0
0
0
-23
0
0
0
0
0
0
-13
0
19
0
0
6
0
-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
0
0
0
0
0
0
0
0
0
0
0
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
-5
7
69
-11
24
-14
38
23
58
39
-51
-5
71
9
-5
11
-4
-22
1
33
-14
12
37
-18
82
30
-83
0
-7
-29
-7
20
12
109
11
65
24
-18
-11
5
-51
-4
20
4
-30
-5
3
-45
-4
-6
-10
-11
-22
-37
-11
10
8
7
-9
-38
-34
-15
-25
-5
1
16
-4
1
-68
-38
-27
-44
-15
-6
8
6
-7
-35
63
-11
-4
-109
-6
3
-2
81
1
-13
-19
-23
4
-28
-25
-71
-2
80
-7
-2
-3
4
-17
-2
4
-33
-1
-38
-62
-30
0
73
-75
7
-2
11
22
-16
-41
33
-2
67
-16
33
-2
-12
-13
-37
-54
-3
34
-2
35
-33
39
25
53
-7
0
43
-23
10
34
-16
-1
-7
19
32
-18
-41
-73
10
-3
19
2
-3
-14
-1
-17
3
64
-52
4
-30
-9
-50
1
-72
21
-13
1
-108
-14
-3
-92
-89
-29
16
-5
-20
-1
-7
18
-20
-22
-26
-33
4
-133
52
23
-65
-34
-43
15
33
-6
84
-35
-10
-23
5
-56
0
54
9
18
24
22
27
-97
-15
32
-52
-26
1
-121
19
18
21
15
41
10
-6
-62
-36
-19
44
-93
-3
53
-102
-23
-5
56
33
0
16
-80
-49
-51
39
-49
1
50
-144
-22
-13
6
14
-8
-21
6
-14
-105
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-4
0
3
0
0
0
-15
0
0
5
0
0
0
2
0
0
-25
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
-29
-1
0
-1
-5
0
-9
23
0
0
0
0
0
0
-12
0
24
-9
0
0
17
-44
0
0
0
0
0
1
-22
0
0
1
0
0
0
-63
0
0
0
0
0
0
6
0
47
0
0
0
0
19
0
0
0
0
0
0
-13
0
-5
0
0
2
0
-50
0
0
0
0
0
0
5
0
0
0
0
0
0
-42
0
0
-2
0
0
3
-17
0
-2
9
0
0
6
10
0
0
-1
0
0
0
-1
0
0
0
3
0
0
-56
0
0
0
0
0
0
-16
0
2
0
0
4
0
-58
9
0
0
0
0
0
26
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
-10
0
-6
0
0
0
2
-2
0
0
0
0
0
0
-15
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
35
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
14
0
0
8
13
0
0
-13
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
-35
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-25
0
0
0
0
0
0
-11
0
-1
-2
0
0
7
-1
0
0
0
0
0
2
-32
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
-30
0
0
0
0
0
0
36
0
0
0
0
0
0
1
0
0
10
0
0
0
-71
0
0
0
0
0
0
-31
0
0
-1
0
0
0
10
0
0
-25
0
0
0
-24
0
0
0
0
0
0
-47
0
0
0
0
1
0
-5
0
0
0
0
10
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
-1
0
0
0
0
0
0
19
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
0
0
0
0
0
0
0
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
-17
65
-2
20
0
0
-61
-3
-2
-5
63
-11
0
25
7
0
0
-28
0
0
7
87
-2
26
-14
-50
0
19
-30
0
15
-5
-2
0
36
-33
0
-4
-20
-60
0
48
-51
13
-1
-60
18
0
-3
-66
5
0
-1
47
0
0
-32
-24
0
0
-14
0
8
-8
-54
-19
20
41
0
-3
9
0
0
-9
0
0
-50
34
-7
7
12
-71
3
26
40
-14
15
7
-1
0
49
-5
0
4
22
15
0
-62
-20
0
15
42
-5
0
4
-50
56
-36
54
-21
0
-3
-31
2
7
68
-4
0
-1
-52
-18
-43
0
-10
0
-5
16
-14
-5
18
-4
0
70
14
50
30
-14
40
0
7
43
-5
17
34
-9
0
22
19
72
8
18
31
0
86
2
27
-24
46
16
0
31
3
16
54
26
5
0
51
-26
-5
-57
23
-7
0
1
-59
22
0
37
0
0
-1
-18
11
126
-1
4
0
3
26
-53
5
-6
-10
0
-5
36
-7
-21
54
4
0
-45
7
0
2
-18
46
-6
114
57
-18
24
147
23
0
-28
-8
6
-45
-4
74
0
-30
-4
20
43
49
35
0
9
-25
-29
51
54
43
0
7
-18
-4
48
34
-2
-3
-1
-8
11
25
-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
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
19
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
45
0
0
0
17
0
0
-5
0
0
0
6
-2
0
15
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
-53
0
0
0
0
0
0
21
0
0
0
0
0
0
-15
0
-4
9
0
0
-1
-6
0
0
-1
0
0
-6
63
0
0
-1
0
0
0
14
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
68
0
0
0
0
0
0
-25
0
0
0
0
0
0
-36
0
0
-1
0
0
0
-69
0
0
-1
0
0
0
-5
0
0
7
0
0
0
2
0
0
-1
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
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
44
0
10
-58
-33
-18
47
34
29
53
40
-15
-1
38
3
-29
4
2
-9
-69
-42
2
-2
112
-34
-14
1
-24
0
-21
59
40
-39
14
-13
9
6
-4
47
-9
0
-2
-12
-30
-78
-150
0
-51
-6
-49
-73
-88
-14
-11
0
3
-15
-43
-36
-32
-73
-13
-26
41
0
-1
-30
9
16
-134
-12
-2
-9
13
9
43
-37
6
0
-43
-10
7
-2
-37
9
-7
-2
-2
-2
-32
30
14
-3
-8
-29
-2
-14
-35
6
-6
59
-39
-7
3
-57
-9
-5
-32
0
-11
-2
-33
-38
-14
64
-32
-28
-7
-48
45
-6
181
25
-56
-3
10
87
7
-36
-118
26
-118
-35
-14
1
-12
13
0
9
-24
-4
0
33
-112
-1
57
7
-15
0
56
9
7
-7
-42
-18
-7
59
-21
-1
-33
-13
-53
-2
-5
15
4
-2
13
1
-4
51
-3
-6
-6
-2
36
-12
41
-70
-6
-14
9
-96
-5
5
32
-9
14
-11
21
-11
-60
-69
27
57
-96
-38
-12
-16
-3
-22
17
-21
15
-5
1
8
17
-31
21
-24
6
12
15
1
-24
-23
-77
-22
-15
20
20
13
-7
11
2
66
-10
-4
-11
-17
-20
-1
-47
9
-8
-7
-52
-24
2
36
-12
-26
-6
-8
-27
3
41
1
-5
-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
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
14
0
0
0
0
0
0
-4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
26
0
0
0
0
0
0
2
3
0
0
10
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
16
0
0
0
0
0
0
-3
0
0
0
0
0
6
16
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
33
0
0
0
0
0
0
29
0
0
0
0
0
0
-19
0
-8
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
19
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
-14
0
0
-4
0
0
0
55
0
0
-34
0
0
0
0
0
0
0
0
0
0
-16
0
7
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
10
0
0
0
20
0
-35
0
0
0
0
0
-10
-6
0
0
-17
0
0
31
-29
0
5
-52
0
0
114
-96
0
0
-1
0
0
3
-60
0
0
43
0
0
5
34
0
0
1
0
0
0
0
0
-6
0
0
-2
0
7
0
0
0
0
0
0
13
32
0
0
0
0
0
18
0
0
0
0
0
0
-9
0
0
4
0
0
-1
-2
0
0
0
0
0
0
33
0
0
16
0
0
-2
85
0
0
-1
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
1
0
27
0
0
0
0
0
0
-19
0
0
0
0
0
0
10
0
0
0
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
-9
0
3
0
0
0
0
8
0
0
0
0
0
0
-7
0
22
-2
0
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
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
71
16
0
11
0
0
0
-39
0
0
65
-3
6
0
-76
19
0
17
-1
0
0
16
0
0
-1
0
0
0
9
1
0
41
-1
0
0
20
0
0
0
0
0
0
0
0
0
0
20
56
0
0
0
0
1
15
3
13
0
2
0
21
-2
0
0
44
0
0
-17
-43
-3
6
35
-5
0
6
9
0
0
12
1
0
-19
14
0
9
25
-15
0
10
-14
0
0
-15
0
0
-1
-14
0
-39
-2
-14
0
0
35
0
0
0
0
0
0
36
-45
0
0
0
0
0
-20
0
0
-1
0
0
0
71
0
0
3
0
0
-5
44
0
-1
72
0
0
1
-5
0
0
22
31
0
1
-39
0
4
-6
4
0
-7
33
0
0
5
58
0
-8
22
0
0
14
0
0
0
-18
0
7
-16
-2
0
0
70
-6
3
0
0
0
0
5
0
-1
0
0
0
0
5
0
2
0
0
0
0
24
0
0
-29
-4
0
0
6
0
-1
25
0
0
10
40
7
7
15
-5
0
0
-62
0
35
0
3
0
0
47
0
0
-20
-6
0
0
0
0
-46
0
0
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
3
0
-2
0
-2
0
0
-93
-11
0
0
26
0
-6
-76
4
0
0
18
1
-1
81
0
0
0
1
0
0
0
0
0
0
-14
-2
-3
0
-3
0
0
1
0
35
0
0
0
0
0
0
19
0
0
-2
0
0
0
0
0
6
1
-6
0
0
0
0
-69
0
0
-24
0
0
-7
-41
0
15
-49
-3
0
-15
84
0
0
-18
0
0
-4
3
0
0
2
1
0
-9
14
0
0
1
0
0
0
-5
0
-6
0
3
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-48
0
0
0
0
0
0
-3
0
0
-1
-20
0
6
-54
0
0
-8
0
0
0
-89
6
0
-3
-3
0
-1
-79
0
0
47
0
0
0
-17
0
6
-4
-3
0
0
45
0
0
0
0
0
0
41
0
0
-2
-3
14
0
1
0
0
0
0
0
0
29
-2
0
0
0
0
0
-3
2
-2
1
0
0
0
-4
0
1
-8
0
0
0
2
0
43
24
2
0
0
-5
0
0
-2
0
0
0
2
0
3
0
0
0
0
9
0
0
4
0
0
0
17
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
87
-73
-11
11
-5
4
0
50
0
-19
130
25
-8
-3
52
24
41
62
1
-2
9
-51
0
94
-5
-24
0
0
-37
71
1
-45
2
0
0
-22
0
-67
0
-29
0
0
0
-33
31
0
0
56
0
0
3
123
0
0
-9
74
0
0
0
-21
-34
0
2
-35
0
0
73
21
-1
-53
-7
-6
0
46
8
9
-6
38
-6
25
56
-12
0
1
32
25
4
37
-1
0
0
14
0
-6
7
60
0
-41
11
-97
-7
-6
16
-3
3
-2
0
22
0
27
-45
5
3
-44
17
0
0
6
3
0
0
0
-66
-16
-6
36
-31
138
0
-44
44
0
-7
-12
0
-3
24
-31
0
-2
-34
-15
3
49
-22
1
-6
47
20
-1
-33
-17
0
0
20
-2
2
33
-7
0
-5
-7
-5
-29
0
38
6
-17
-34
29
9
0
18
-18
0
0
0
-1
-4
0
-44
0
-1
-9
2
1
0
7
4
16
-3
0
-18
6
0
4
39
7
0
6
-23
0
-3
23
8
5
7
-14
0
23
-58
17
1
-4
-49
0
43
82
-2
3
0
68
-3
-2
38
5
-18
0
23
0
20
0
0
-2
0
6
-23
-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
-20
-56
0
14
13
-59
-9
-21
53
0
-6
11
1
-68
13
128
-19
3
22
4
-9
-19
-43
0
-1
43
0
-83
-49
-55
4
13
4
-71
8
-97
-8
0
0
-50
2
-22
0
2
0
0
0
-60
20
0
-1
-53
0
0
-1
-5
6
-53
0
44
74
7
0
11
4
0
4
-14
1
-1
45
-26
0
-35
-48
-67
0
-21
13
25
24
-7
2
-16
63
-35
-6
-3
-22
13
-3
5
-7
0
4
-3
-9
-5
13
-6
0
-35
-33
-82
14
0
-38
0
3
-2
-2
-87
0
31
60
1
0
-13
0
0
-80
0
-1
15
0
4
36
26
25
21
-31
51
-6
-90
-7
8
0
66
-1
-23
-100
-17
0
-26
-5
-36
26
-36
-19
0
1
-44
22
31
4
27
1
2
-31
65
-1
55
18
0
-4
-80
-4
17
4
17
0
22
-47
18
54
0
3
-29
-1
0
-1
-11
9
66
7
6
0
-9
2
-1
-7
-4
43
14
0
0
17
-6
0
-10
23
-8
-5
29
47
0
-81
7
-6
-8
-10
-20
2
-5
-48
27
-7
-54
67
0
1
-48
-9
-9
0
-21
0
7
12
-9
-11
-2
20
8
-14
4
1
-8
0
10
-31
-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
-1
0
0
0
-3
4
0
61
0
0
0
-26
0
-2
-14
0
0
0
17
-1
0
-32
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
-35
0
0
6
0
0
0
0
0
-14
1
-2
0
0
0
0
-63
0
0
0
0
0
-1
-15
0
-43
-23
0
0
-47
-6
0
0
-1
0
0
-1
-58
0
0
-1
0
0
0
18
0
0
-1
0
14
0
-2
0
25
0
-1
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-11
0
0
0
0
0
0
32
0
0
0
0
0
0
3
0
0
0
0
0
0
-45
0
0
-1
0
3
0
-14
0
0
-2
0
0
0
-32
0
0
5
0
-9
0
-1
0
0
0
0
-7
0
10
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
-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
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-13
1
0
21
9
0
5
16
0
0
-3
0
0
69
-5
0
0
85
5
-1
85
0
0
0
0
0
40
1
9
0
0
-24
7
26
0
0
0
0
-1
0
64
0
0
0
0
0
0
-38
0
0
18
0
0
0
-7
0
-35
0
-8
0
0
0
-1
-90
0
0
0
0
0
-75
-2
0
76
-19
1
0
68
-33
0
0
-72
0
0
17
-27
0
0
99
-14
1
6
22
0
2
10
0
5
0
-77
0
43
14
7
0
0
29
0
0
0
0
33
0
66
1
5
0
-2
0
0
89
10
0
0
0
0
0
-186
0
0
-1
-5
0
16
51
0
0
0
0
0
17
-15
0
0
-23
3
0
-34
28
0
0
47
0
0
6
16
0
-4
0
-3
9
0
-50
0
0
-13
0
-3
0
-63
0
0
0
-24
-44
0
25
0
0
0
0
0
0
-9
-8
0
0
0
0
0
-2
0
-1
0
0
0
0
-43
0
0
0
-1
0
0
-48
0
-5
-1
0
0
1
-53
0
0
-19
-18
0
0
6
0
-1
6
0
0
0
77
0
0
0
3
3
0
-25
0
-23
0
0
-8
0
26
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-46
0
0
0
23
0
0
9
1
0
0
-5
0
3
-78
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
20
0
0
1
0
0
0
0
0
-106
0
0
0
0
0
0
-85
0
0
0
0
0
-2
-39
0
-29
-65
0
0
2
46
0
0
-2
0
0
5
-117
0
0
-3
0
0
3
-24
0
0
-4
0
0
5
22
0
-108
0
0
0
0
64
0
0
0
0
6
0
11
-4
0
0
0
0
0
-85
0
0
0
0
0
0
-19
0
0
0
14
0
0
-159
0
0
-2
0
0
0
101
0
0
5
0
0
0
-43
0
0
-43
0
0
0
48
0
0
-5
0
0
0
-29
0
0
-1
0
0
0
-33
0
0
0
0
-2
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
-53
0
0
0
0
0
0
21
0
0
4
0
0
0
-33
0
-1
0
0
0
0
11
0
0
0
0
0
0
-53
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
-14
0
0
0
35
0
0
39
31
0
2
0
-1
0
-9
13
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
-11
0
0
0
0
0
0
0
0
-65
4
0
0
0
0
-1
40
0
0
39
0
0
2
-35
0
44
-25
-1
0
-52
-79
0
0
-5
0
0
3
30
0
0
10
0
0
11
-11
0
0
-33
0
0
0
36
0
43
0
13
0
0
17
0
0
0
0
0
0
6
1
-2
0
0
0
0
8
14
0
0
0
0
5
29
0
0
23
3
0
2
81
0
0
61
0
0
-4
-45
0
8
61
0
0
-1
31
0
2
47
0
0
3
20
0
0
35
-2
0
0
67
0
0
-1
0
0
0
-30
0
0
0
-9
0
0
-33
0
0
0
0
0
0
-66
-2
0
0
0
0
0
71
0
-9
-3
0
0
0
54
0
0
1
0
0
0
74
0
-11
2
0
0
0
-10
0
0
1
-7
0
0
54
0
-2
-57
5
0
0
37
0
0
0
6
0
0
33
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
-129
23
-9
-3
17
-4
17
-5
40
87
-16
23
-33
17
-4
61
0
3
-3
-3
10
74
9
0
0
12
11
-41
-34
79
0
-2
20
-13
-44
1
76
-3
0
14
36
-12
0
-2
-23
0
0
-2
54
0
2
2
-21
7
22
0
-13
4
-3
1
-15
15
0
-21
36
-1
70
-63
-25
-7
1
-10
1
3
71
13
13
-13
34
2
-37
-25
-33
-4
-53
-27
9
6
-88
-5
-68
13
-26
0
3
-44
32
9
0
-34
-25
-1
-2
3
-27
0
25
20
-54
0
26
39
0
-25
85
31
-9
43
0
0
52
-3
-1
-58
5
0
2
-4
6
-5
-1
8
-14
-6
9
49
60
-10
-33
-52
95
34
-4
27
-74
-22
85
-14
13
0
-28
19
-38
80
32
30
6
51
13
-5
-21
-3
-62
0
-6
6
-4
15
0
-20
33
41
0
-1
52
7
-35
3
-1
-2
-34
0
-4
-59
-6
57
135
0
0
-1
-64
1
-7
-24
-33
-5
-32
22
1
11
-12
-11
-43
16
26
-3
-9
-11
-48
6
34
-14
-8
-29
-16
-5
-39
4
21
-2
22
-80
2
68
0
19
0
104
-11
0
112
0
23
14
24
17
-8
-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
-43
-2
3
-5
14
-7
43
109
65
10
0
102
59
100
23
24
-2
0
33
-1
-22
-31
-3
0
0
5
-25
-7
-69
-11
1
0
1
0
52
-1
-17
0
0
-7
1
-28
0
-6
40
0
0
0
54
0
49
-8
59
-6
6
0
-6
0
0
-1
71
-1
0
27
-35
-5
-22
-30
34
0
11
16
2
1
13
-6
4
66
-10
11
0
54
8
30
24
49
-7
3
-11
15
-73
-15
-27
-1
1
34
-8
-34
0
-26
1
0
-6
4
48
3
11
115
22
0
-154
-13
-1
-11
15
-3
6
0
0
53
0
0
24
-34
-31
-4
-43
-19
-6
10
-40
-3
6
52
33
-6
57
-5
-43
-5
52
-24
-9
-4
60
19
-47
24
-13
0
85
61
63
53
-1
-11
0
0
-2
3
2
5
-57
0
0
-4
52
-31
0
9
-30
-2
0
0
-11
0
33
-23
0
-1
1
0
18
0
0
-24
-27
17
0
2
7
1
-29
-80
59
0
-22
48
6
-1
-27
0
0
-36
-2
5
94
-14
-34
9
-11
-51
0
75
8
-1
30
-14
-53
-1
2
-59
-12
33
0
-7
0
-22
0
0
-65
0
-31
20
-9
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
-114
0
0
0
8
0
0
164
16
-9
0
67
-6
0
8
6
0
0
66
0
-8
55
-8
0
0
8
3
0
14
0
0
0
0
0
0
0
-2
0
0
0
-2
-10
0
0
0
0
0
0
-7
0
-13
-4
-3
0
0
0
0
-71
0
0
-35
0
0
-1
-114
0
-35
-43
0
0
-32
89
0
0
-22
0
0
-6
-9
0
0
87
-2
0
39
-16
0
0
126
0
0
-1
69
0
-35
0
-4
0
0
-46
0
0
0
0
0
0
-14
-4
0
0
9
0
0
14
-7
-3
0
0
0
0
-47
15
3
-4
0
2
-5
-2
0
10
-7
0
-8
-4
7
0
0
25
0
0
-4
92
0
-15
-4
0
0
-9
69
0
0
-4
10
8
0
-62
2
0
1
0
-17
0
27
0
0
0
5
24
0
-18
-1
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
-5
0
0
0
0
34
0
-6
0
0
0
2
52
0
0
2
0
0
5
-2
0
-6
0
0
0
0
-104
0
2
0
0
0
0
126
0
0
3
0
0
0
-83
0
18
0
0
0
0
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
-41
0
0
0
67
0
0
-43
20
0
0
82
-7
-1
-68
0
0
0
20
0
-4
0
0
0
0
-3
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
17
-26
0
0
-7
0
0
0
-2
0
23
-6
0
-3
0
0
-5
39
0
0
5
0
0
5
-33
0
5
35
27
0
-11
36
0
0
-5
0
0
-1
-15
0
0
-7
-3
0
-5
-16
0
0
-4
0
0
0
25
0
44
0
16
0
0
4
0
0
0
0
0
0
-50
-3
0
0
0
0
0
-69
-1
0
3
0
0
0
-16
0
0
-6
-1
0
4
-67
1
0
-5
0
0
0
-152
0
0
35
-2
0
8
-52
0
0
-30
0
0
1
99
0
0
-1
3
0
0
58
0
0
-3
0
0
0
37
0
0
0
-2
7
0
34
0
0
0
0
0
0
-7
-3
0
0
0
0
0
-19
0
-29
0
0
0
0
-14
0
0
0
0
0
0
-9
0
-3
10
0
0
-5
-14
0
0
-4
0
0
0
39
0
-4
7
0
0
0
53
0
0
0
0
0
0
89
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
70
7
7
41
100
74
-9
78
43
33
-11
93
-25
-15
45
14
-54
-10
56
-2
0
41
4
12
-24
14
0
5
32
-15
11
-2
19
9
0
32
17
9
0
-9
20
-1
0
2
-13
-1
19
37
65
6
-8
0
-91
-22
0
-7
-96
8
0
-116
-43
0
-16
25
-12
-3
12
-1
83
-7
79
-1
19
21
7
-5
17
50
76
-50
-36
15
-1
-5
19
3
-34
30
15
43
23
62
56
24
15
-1
-26
7
-3
25
26
0
-7
16
-1
-1
-17
21
-1
9
45
0
-5
29
-2
-14
54
-7
-56
5
-12
-55
-61
1
0
46
-88
-33
-31
-32
21
-10
-45
-17
78
-11
24
23
-26
-14
31
-28
-58
18
7
-14
19
6
27
53
-138
13
16
57
61
69
-62
-18
18
14
69
21
-15
63
0
7
-66
4
2
85
37
2
11
1
10
-2
-50
-5
23
-29
-1
61
-46
20
30
-62
8
0
25
-9
39
17
34
15
-6
32
-5
-30
47
-100
4
3
37
23
44
-86
12
-4
1
-12
-37
37
-32
31
-14
24
-62
-74
-41
-48
-8
16
18
-17
-5
16
-26
0
7
-14
11
2
35
-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
25
-2
0
0
23
1
-16
-15
24
3
61
3
0
-34
-41
45
0
4
-26
0
18
-63
-12
0
0
8
-3
23
-14
1
0
0
-23
0
37
-2
-142
0
0
-8
0
-2
0
-3
-41
0
0
0
1
5
-3
52
-54
17
0
0
23
-1
1
0
45
0
-4
-37
-8
0
-99
-101
0
0
16
-39
4
-6
23
18
32
-39
0
0
-1
15
0
-28
24
-11
0
-6
2
0
-27
-36
-8
0
17
-6
0
26
-48
-24
0
-2
59
0
50
0
11
-75
-20
0
0
1
3
11
-52
0
39
0
0
-100
-37
54
4
-30
3
27
-70
9
0
5
1
1
14
61
-102
0
-3
-20
-3
16
54
0
0
13
45
-5
-23
40
7
0
72
33
43
65
-16
-23
2
50
-2
-10
7
-27
-9
0
10
32
0
-10
1
8
-4
0
0
0
35
0
44
130
0
-4
0
0
0
-128
0
66
-50
0
1
6
15
0
1
-47
14
6
95
-1
-5
-60
62
0
-1
-71
-26
0
24
-36
13
16
54
-24
0
29
14
17
0
19
18
2
-29
-5
0
-12
-10
-30
0
30
78
0
74
0
-24
-80
-5
-26
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
2
0
11
-2
0
-18
8
53
0
10
17
0
50
16
0
0
-13
0
0
-102
37
1
0
-57
-8
0
-46
0
0
0
-4
1
0
9
-5
0
0
-20
40
-7
0
0
-4
0
0
19
0
0
-63
57
-5
36
0
0
5
11
0
0
0
0
0
132
-60
0
29
66
-71
0
38
-35
0
0
14
0
0
72
33
27
0
40
25
0
-60
18
0
0
28
0
0
-8
17
-2
12
5
-1
0
4
6
0
0
0
-29
0
3
15
8
3
0
-27
0
1
-21
-4
0
0
0
0
74
-41
2
0
30
-7
0
-19
-13
0
-14
87
0
0
108
21
0
9
16
-9
0
-21
9
14
0
38
-13
0
33
13
0
0
21
-17
0
3
-34
0
0
-15
-1
0
0
36
0
2
4
-20
0
1
-41
0
0
1
0
0
-2
-87
13
0
0
2
0
-1
-14
0
4
36
0
0
9
-12
1
-3
130
-5
0
5
-1
-2
-31
93
-1
0
14
-12
-4
-11
61
50
0
-32
82
3
34
-5
2
0
-27
22
0
-9
15
52
0
0
26
0
26
0
0
0
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-118
42
8
-2
3
1
10
25
-71
-16
-23
16
12
20
15
-15
-5
5
-9
-43
-8
74
-26
-42
-72
8
-55
-69
-40
6
-1
5
0
13
-39
-28
0
-66
-39
6
-45
9
-25
10
-16
18
-54
2
19
-67
92
1
-29
-20
-15
17
83
22
1
20
24
8
11
-14
-53
-4
-35
75
-5
-4
15
19
-1
-1
37
-11
0
33
60
-7
-27
9
-13
1
120
3
-13
-3
-19
-14
-4
29
19
4
0
29
16
5
-17
28
-43
77
-8
-34
23
-23
-41
-12
4
18
15
0
-81
12
-16
-4
23
55
3
81
88
13
-43
66
4
0
-32
-1
-8
24
53
46
-6
1
15
6
9
-23
-39
5
65
-13
6
1
34
50
-4
58
76
4
-24
5
-31
-7
116
54
-2
11
23
59
0
-46
15
6
-29
-5
-2
-19
-35
-61
-13
-17
-33
21
-5
21
-16
8
5
24
42
-38
-12
-4
14
37
-29
7
-10
2
-6
3
40
20
5
-23
-47
27
20
36
33
27
-4
1
34
12
-48
-23
12
-12
18
2
-8
-7
-5
28
-4
12
5
25
7
-9
62
8
-9
-4
3
79
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
19
-151
0
3
125
33
-3
-48
36
0
-5
14
3
26
-3
2
0
-5
94
1
24
21
-21
0
0
-4
0
14
0
-5
0
0
4
8
-5
0
0
20
0
0
0
-18
-1
-39
39
65
14
-9
0
-19
-23
0
0
53
0
10
-56
0
0
-81
17
-16
0
-40
32
1
3
-66
0
2
34
21
0
0
175
4
0
17
69
0
0
25
0
3
5
125
0
-102
2
-20
0
0
33
0
0
-6
0
4
1
-11
25
7
0
1
0
0
25
0
-1
-3
0
0
11
30
-15
1
43
5
0
-54
0
0
0
-14
0
0
81
14
1
6
-45
-16
1
-7
-56
0
5
46
0
0
-32
67
0
-1
-3
50
1
0
-28
0
0
40
-3
-4
0
57
0
0
9
-9
34
0
-26
3
0
0
0
0
0
30
1
6
0
1
0
-7
5
0
1
23
0
0
0
0
-4
10
5
-17
0
1
-13
0
-2
-8
0
0
-1
34
0
17
11
-5
0
0
23
0
14
-15
-17
0
-1
6
0
0
6
-4
3
0
-30
0
-32
-2
0
3
0
38
10
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
5
0
0
-31
-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
14
0
0
0
0
0
0
0
0
-36
0
9
0
0
0
0
-13
0
0
6
0
0
6
2
0
4
-16
0
0
43
-29
0
0
7
0
0
-4
-5
0
0
-3
0
0
1
-20
0
0
0
0
0
0
-7
0
-11
0
1
0
0
69
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
0
0
9
0
0
0
32
0
0
-5
0
0
1
24
0
2
-2
0
0
0
16
0
8
-7
0
0
0
-23
0
0
0
3
0
0
-34
0
0
0
0
1
0
14
0
0
0
0
0
0
55
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
67
0
0
0
0
0
0
2
0
3
0
0
0
0
-1
0
0
5
2
0
0
93
0
7
0
0
0
0
-1
0
0
0
0
0
0
43
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
22
7
0
-14
0
0
0
-3
0
0
0
3
0
0
55
0
-6
1
0
0
0
0
0
0
4
-3
0
0
0
0
104
0
0
0
0
0
0
0
0
50
3
0
0
0
0
5
-120
1
0
-5
0
0
-4
-3
0
-5
50
-2
0
-26
15
0
0
5
0
0
0
-43
0
0
0
0
0
4
4
0
0
0
0
0
0
10
0
48
-1
1
0
0
-34
0
0
0
0
-2
0
-71
1
2
0
0
0
0
-29
0
0
0
0
0
3
-2
0
0
-6
0
0
1
-25
0
0
5
0
0
7
-46
0
0
-4
0
0
-2
12
0
-4
0
0
0
0
-14
0
0
1
0
0
0
-59
0
0
0
0
0
0
-30
0
0
9
0
0
0
71
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
-5
0
0
0
0
19
0
0
0
0
0
0
37
0
-2
0
9
0
0
-8
0
0
3
0
0
0
7
0
0
-5
0
0
0
11
0
0
0
0
0
0
-3
0
-26
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
32
37
-6
5
11
-34
43
-30
37
47
-8
-3
-66
-22
-21
4
-14
-13
-3
-40
1
16
-3
-13
-28
-23
-17
9
-5
-5
-2
-41
-8
-79
11
-17
-18
-65
-36
-75
5
-32
-86
0
21
24
62
-8
6
-10
61
-20
7
53
17
-58
-11
53
-12
-13
6
-6
-14
0
23
14
49
56
-9
73
-10
27
-12
2
14
-18
-61
-59
-2
62
-29
-65
-8
-33
-1
-6
-9
-1
-45
-11
2
2
29
122
44
-1
9
4
32
-2
-1
-29
4
7
111
5
42
-19
-72
-75
-37
17
-93
13
-11
34
60
10
-29
16
13
-18
-2
-2
-9
27
-42
-1
25
11
27
-8
8
17
3
-5
12
36
-6
-37
-30
15
-9
-6
-32
-18
52
-8
-35
-81
7
-23
13
-31
-54
-16
-20
16
-1
-11
24
-34
28
-52
-31
23
2
-5
-6
-46
15
16
-39
-17
-6
58
0
7
-66
31
14
-63
158
-96
32
-33
19
0
6
-29
3
89
-43
-35
-44
14
-5
43
-10
-5
-34
-4
8
25
-21
65
18
-28
-14
15
85
-12
5
29
24
-13
8
38
10
61
-22
-26
-1
82
-17
-2
51
-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
95
29
0
0
59
0
0
1
0
0
0
18
0
-1
-2
-5
0
0
27
0
-13
3
-1
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
6
0
0
0
-6
0
9
-7
-2
0
0
0
-33
65
0
0
13
0
0
29
45
0
-3
-27
0
0
-25
4
0
0
14
0
0
-36
1
0
0
5
0
0
27
-42
0
0
-1
0
0
0
3
0
21
3
-1
0
0
58
0
0
0
0
1
0
-19
4
-10
0
0
0
0
18
-8
0
0
0
0
11
2
0
1
7
1
-1
5
-49
0
0
3
0
0
6
8
0
0
14
0
0
-6
9
0
0
-1
0
6
7
-80
0
0
5
0
0
-4
-54
0
0
5
0
0
0
0
0
0
0
1
43
0
31
0
0
-5
0
0
0
-15
0
0
0
0
0
-7
-2
0
-21
0
0
0
14
-41
0
0
5
0
0
0
-43
0
0
3
0
0
0
-18
0
0
-9
0
0
6
-26
0
-37
10
0
0
0
-13
0
0
10
0
0
0
64
0
14
33
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
-16
52
-10
-14
44
10
0
-12
9
0
0
19
0
0
-34
0
0
-6
-13
0
6
89
0
0
0
-2
0
0
5
0
0
0
0
-17
0
0
0
-33
0
0
0
0
0
-2
20
5
1
-8
0
-9
49
0
0
19
0
0
-58
-51
0
-2
-22
-5
0
46
-54
1
0
-7
-7
0
-9
7
0
0
-50
-7
0
-26
-47
0
0
-48
0
0
1
64
0
12
-44
3
0
0
-22
0
0
-8
0
0
0
-19
100
63
0
0
0
0
-8
5
0
2
2
0
5
33
0
6
-25
13
0
109
39
0
0
2
2
0
-6
70
0
10
81
-14
0
-41
-45
0
7
77
-1
0
14
-19
0
9
18
119
-1
-39
-30
0
-9
56
0
0
0
-64
0
25
71
17
0
0
-2
0
0
4
0
0
0
-6
-8
0
0
0
0
0
13
0
41
11
0
0
-6
87
0
0
92
-49
0
-4
16
0
79
-22
0
0
2
-5
0
-14
3
24
0
0
-39
3
74
22
-7
0
3
-80
0
15
6
-35
0
0
16
0
-23
-2
2
0
2
61
-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
58
111
22
102
-80
46
25
-2
5
-7
-25
-20
-50
62
-32
36
13
-16
-26
16
33
-31
-4
37
10
-16
-5
-2
-10
-16
-5
-4
14
-18
123
-6
36
-31
6
-13
-1
-24
-5
-157
57
-2
36
-75
-29
-55
40
17
-25
0
6
13
54
-31
27
90
-15
-26
64
-30
43
95
0
-6
25
28
-18
-4
-1
20
90
46
-24
-3
25
-6
-11
8
-57
-14
-27
-36
45
55
50
7
0
-13
13
12
1
-5
-27
11
6
93
24
76
-21
21
42
7
-3
109
-11
27
-64
46
-7
-8
11
-33
-62
33
-24
-27
-33
62
-26
22
48
-26
-19
8
42
11
85
54
45
-17
53
-32
-5
2
52
25
-1
32
-106
56
108
25
20
-21
38
80
51
-32
15
1
-9
38
-17
40
59
13
-14
-45
-43
4
-3
5
9
-13
4
14
62
44
75
-33
-80
-11
65
2
-6
16
44
61
-21
55
-5
-24
42
59
50
-33
-5
-32
27
29
80
12
1
90
49
54
-49
28
-34
4
22
1
75
17
19
54
13
56
42
78
-25
12
7
-29
75
-1
47
-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
-91
-47
-4
0
-5
0
29
3
-15
0
15
3
-23
-45
31
35
0
0
5
0
-21
-2
-19
1
0
-1
36
-23
0
0
43
0
0
1
-54
-14
22
5
53
0
-11
0
32
33
0
0
92
11
-7
97
-6
9
-55
31
55
0
-100
0
-2
0
-22
22
0
-36
-152
-15
3
-24
33
-1
-38
17
0
0
30
0
0
104
70
0
4
-6
45
-1
-7
-79
0
0
-6
-8
-4
1
-18
44
25
0
-38
-16
-2
29
-8
-6
-3
4
0
-15
26
41
-31
-31
43
0
31
28
0
-33
59
-4
17
-3
0
3
8
34
-83
1
-9
-18
0
-6
-2
4
15
65
24
0
-8
-57
-8
0
-107
-19
0
78
0
-2
97
1
5
17
-4
10
18
60
0
29
0
0
0
0
-22
0
21
-70
13
0
4
0
-16
15
-4
-32
-76
-1
0
6
-47
4
54
-109
33
-6
-15
0
21
0
81
0
0
14
-54
0
-10
-70
-5
-9
0
21
-2
24
-22
-10
9
3
8
5
9
96
-44
-16
-4
63
-2
45
-14
0
8
2
34
8
-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
52
54
0
-2
0
0
0
15
1
0
0
37
0
-23
-21
0
0
0
3
0
0
0
6
0
0
2
1
29
0
0
1
0
0
0
5
0
61
17
-10
0
0
0
-32
-4
0
0
14
0
0
18
-18
-3
-26
-10
-16
0
-54
-17
-9
0
83
-9
0
108
-66
0
0
-9
0
0
-29
6
0
-2
4
0
0
0
10
0
67
-2
0
0
0
-20
0
0
0
0
-1
0
1
-8
0
0
0
0
4
113
0
0
0
0
0
-5
-42
0
0
-5
0
3
10
-30
0
-14
118
3
0
-2
52
2
7
-32
-8
-8
3
47
0
0
1
0
0
9
29
0
-5
9
0
7
0
-37
0
0
1
0
-2
0
-35
0
-14
-3
5
15
0
27
0
-1
0
-1
0
0
-9
25
0
-2
7
0
0
-53
0
14
-8
0
0
0
57
0
-1
0
0
-3
3
28
0
-1
2
0
0
-6
24
0
-2
2
0
0
1
-49
0
-6
-1
2
6
0
-69
0
0
0
0
3
0
-5
0
-16
0
-5
5
0
18
-2
-5
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
54
0
0
-29
0
-1
-7
0
0
0
3
0
-3
-13
-6
0
0
1
0
5
0
2
0
0
0
0
-44
0
0
10
0
0
0
74
0
-62
-1
0
1
0
0
15
-10
0
0
25
0
0
-44
46
0
-77
-57
-5
0
-110
31
0
0
70
0
0
10
28
0
0
-19
-5
0
0
5
0
0
-8
0
-10
4
-52
0
30
-18
-9
0
-4
35
0
0
0
0
-10
0
-56
-17
0
0
-1
-5
0
72
-11
0
0
0
0
-4
-10
0
0
43
-1
-1
31
-33
0
0
6
0
0
-2
60
0
6
-1
-1
0
-15
-6
0
-1
-62
0
0
49
-31
0
0
-4
-19
0
4
-3
0
0
0
0
31
0
-18
0
0
1
3
-8
0
25
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
-3
-3
0
0
-4
34
1
0
-1
0
0
0
21
2
-9
-6
0
0
0
-9
0
8
-6
-3
0
0
53
0
0
4
-15
0
0
-45
0
0
-1
2
2
0
155
0
14
0
0
1
0
-49
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-20
45
19
33
-5
-43
19
8
-5
-31
20
11
-12
-5
78
-15
-15
-6
-61
-11
-5
1
-97
-30
-14
4
-39
-14
-2
-8
124
-13
86
28
-33
-48
8
-8
-10
50
27
16
-24
37
45
25
30
14
0
-7
2
-7
41
9
0
5
54
2
-8
44
32
-6
-21
-47
6
22
5
7
-22
-6
-1
-1
-53
29
-15
-8
-32
22
-18
-14
-33
41
-16
5
-61
-43
87
0
13
-20
-48
-16
-1
14
51
24
26
68
-19
16
30
-20
34
29
56
-64
-36
17
79
-4
2
-22
-42
-26
88
2
-29
-9
-62
49
-11
-9
57
12
-15
48
14
-21
23
45
61
-14
-40
40
-27
-30
-3
9
-5
3
-22
13
-17
21
106
-15
44
-36
21
0
8
62
-2
-60
15
-58
-12
-12
-3
-9
-7
4
-15
10
7
-13
6
-43
-32
-7
1
-90
34
-8
43
-19
4
23
7
-21
-20
28
8
16
-6
-69
-6
-44
-13
53
27
-15
53
47
22
13
16
-21
5
39
79
14
19
-11
94
-23
47
9
-8
3
-17
42
23
-27
-22
-2
27
-81
-6
-6
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
-25
14
-2
-6
13
-1
4
-60
-118
-1
-2
-13
0
7
-40
19
-2
-3
-40
-1
15
-6
-71
-4
0
-45
0
4
0
16
-37
0
0
0
-13
9
12
-39
44
-25
7
0
44
3
16
-3
37
-1
0
-53
50
-4
34
3
0
-5
4
20
-3
-4
-1
5
-2
-4
-39
-2
15
1
-4
56
-8
7
0
-1
21
0
16
0
16
2
21
4
-2
2
18
9
-13
1
67
-1
-2
0
-5
-5
14
0
-1
-1
1
-15
28
11
-14
0
6
-54
8
-6
8
18
-1
21
5
8
-6
73
31
0
-2
2
7
-3
3
7
1
-40
-39
-1
-11
14
4
3
34
-4
-16
27
53
2
-10
-36
12
2
6
-23
22
0
4
3
11
22
-28
49
0
-14
-6
-7
-21
51
-6
-7
-23
15
3
-26
-5
-22
0
-6
-111
-41
-3
-47
33
0
-26
-62
13
2
-16
-5
-2
0
38
-29
-8
30
17
0
24
-34
17
0
-63
-77
20
4
49
25
16
-11
-18
1
-49
17
17
-6
-131
29
4
54
24
-20
-3
33
27
0
-22
-2
-4
6
31
41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
23
-3
0
-18
13
0
0
58
-1
0
-10
-19
0
-4
-44
-2
0
-3
-10
0
0
-7
-39
-1
0
-8
-75
0
0
11
0
-5
-4
-47
-36
74
-4
0
49
20
0
0
51
0
0
38
-45
-24
-31
-12
-33
0
-43
-13
-4
0
-48
-7
2
77
30
0
-1
-4
14
8
-2
-2
5
0
32
-7
0
23
29
0
32
28
21
0
-1
-17
1
17
-8
-2
0
-2
31
-81
-45
0
20
0
0
-3
77
0
-2
1
0
18
30
43
47
9
21
-1
-67
20
2
-33
0
0
0
-18
10
0
-14
9
-35
0
25
-17
-5
-51
47
7
-13
5
8
1
42
-43
-4
0
64
-34
0
11
-8
0
0
3
-51
0
62
-23
-120
0
0
-12
8
-14
0
-1
0
0
-3
45
-11
20
-5
0
32
-20
-1
-1
-50
0
0
9
9
-8
-5
92
29
0
-10
19
17
15
-4
2
0
74
-2
0
23
-54
5
0
11
-8
2
105
-6
-11
0
-43
-8
7
-5
2
58
0
17
-36
0
33
3
0
0
3
-2
-17
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
-6
9
-29
-14
-2
3
3
-37
-22
52
-2
-16
27
-3
25
21
52
-10
-24
-20
-2
0
-5
-6
-6
-11
-19
9
-20
1
-10
0
-50
38
0
5
8
0
-56
1
-29
17
-90
17
0
7
-1
-38
-39
-40
-6
37
-22
4
12
-19
17
16
24
112
4
-12
5
-75
-15
-68
-20
-21
103
37
-41
-16
6
-1
10
-10
49
207
-16
-53
-45
11
36
-17
0
-1
-51
-3
0
3
78
-19
3
10
43
17
-33
45
-13
11
-34
45
-18
-20
-44
-60
7
-18
-7
3
-50
12
-53
15
53
70
-24
-13
13
-116
2
-9
43
26
8
60
-31
-3
-55
-18
-6
18
57
-16
-9
45
16
28
20
5
-45
-7
-10
5
-19
4
-13
-1
2
30
-20
42
-23
40
-8
-11
11
4
-43
22
-4
-18
6
51
-31
88
1
-46
-106
-4
124
14
45
-34
15
-33
-12
25
18
2
0
10
19
-11
52
-62
-30
-15
-80
-85
-3
6
-23
17
12
17
-3
-8
34
-15
-8
15
-2
8
5
7
-6
-18
63
14
3
-7
51
49
-32
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
-14
-33
0
0
-100
-5
-59
-71
-2
0
0
-58
0
-7
0
-18
0
0
-17
-2
-55
0
0
-39
0
0
3
-70
0
-8
15
-22
0
-5
0
21
21
0
-2
-100
0
0
15
45
5
102
-1
-33
0
-59
24
-22
1
24
1
0
-12
0
13
23
8
-35
0
8
1
0
-16
-40
-1
6
-59
20
0
-24
71
-36
-6
16
-23
0
0
2
0
22
0
27
11
71
0
10
0
0
-5
80
0
14
0
0
-3
54
26
-9
57
33
15
-11
-41
-2
-17
8
-6
14
40
62
1
34
-33
1
0
-10
0
-4
3
29
18
25
30
-31
-4
24
-11
-28
-10
4
-37
0
-8
18
0
-35
0
25
0
-3
-34
1
-30
5
-4
-3
0
1
15
6
0
-28
-1
0
-15
-6
0
0
10
-10
-5
39
-1
5
1
-23
0
31
43
-10
0
-6
-32
4
-32
-27
-2
0
-6
0
0
58
-65
27
-1
-22
21
0
-80
-2
1
-1
1
-37
-11
-6
26
19
11
-4
0
0
13
-3
0
31
0
68
16
-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
9
0
0
6
-7
0
0
4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
-117
0
0
0
0
0
-1
29
0
0
14
0
0
-4
-81
0
-53
58
11
0
-31
5
0
0
2
0
0
-4
-48
0
0
-3
10
0
0
18
0
0
-13
0
0
0
15
0
-11
0
-2
0
0
19
0
0
0
0
0
0
-21
-11
0
0
0
0
0
54
-2
0
0
0
0
0
-44
0
0
-9
0
0
0
-112
0
0
-32
0
0
5
-58
0
0
-3
0
0
0
-96
0
0
0
0
0
-6
-58
0
0
-2
0
0
0
-19
0
0
0
0
0
0
33
0
0
0
-1
3
0
-70
0
0
0
0
0
0
18
-2
0
0
0
0
0
-14
0
2
0
0
0
0
-2
0
0
0
0
0
0
-19
0
0
7
0
0
2
18
0
0
0
-4
0
0
-32
0
-3
5
0
0
0
-24
0
-2
9
0
0
0
-32
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
-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
-27
0
5
0
0
0
-11
-30
0
0
10
0
0
13
32
0
52
-57
18
0
-71
-17
0
-2
59
0
0
52
-6
0
-1
2
-1
0
1
-72
0
0
0
0
0
0
-3
0
-32
0
0
0
0
68
0
0
0
0
0
0
24
3
0
0
0
0
0
1
0
0
0
0
0
0
-60
0
0
2
-10
0
0
92
0
0
-3
0
0
-2
61
0
-8
18
5
2
-7
-23
0
0
-14
0
0
0
9
0
0
6
0
0
0
15
0
0
0
0
0
0
-32
0
0
0
15
0
0
7
0
0
0
-2
0
0
33
0
0
0
0
0
0
19
0
-2
0
0
0
0
-3
0
0
1
0
0
0
-9
0
2
-1
0
0
0
23
0
6
-6
0
0
4
44
0
4
0
0
0
0
-10
0
0
0
0
-3
3
-44
0
-1
-1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-1
-17
-48
35
-79
-15
40
0
3
-5
5
-48
-16
-29
0
0
14
-16
-66
0
-2
-11
0
0
-2
-97
11
2
45
35
-10
-8
0
-13
-27
5
-4
-9
-13
10
-33
5
-3
-23
-7
-51
0
23
-12
10
22
56
6
-16
22
25
93
43
64
-64
0
32
15
-14
87
35
-2
45
-20
52
-6
1
24
89
49
-19
-7
-4
-2
4
0
35
2
10
28
-14
0
-16
-33
0
-10
-32
-5
-5
1
5
-7
1
14
26
46
-64
-97
-35
-27
36
-23
33
-7
17
14
2
4
-44
23
-40
32
82
-1
25
-1
-24
-4
-8
3
-6
2
-57
-43
24
22
22
-32
-1
-30
104
0
27
-2
-1
1
-21
-18
55
20
0
23
6
-6
0
0
-68
0
-2
-73
-1
-5
0
0
2
-34
18
20
10
-3
2
-30
68
-6
19
-18
24
-2
0
18
-10
7
79
5
14
-77
-50
1
-16
-54
-80
3
-4
20
-4
44
-50
3
-18
42
-6
-1
-6
50
28
-45
-1
-11
0
44
21
0
14
0
36
-4
-1
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
5
-7
0
0
5
0
1
5
-3
0
0
8
0
0
0
-1
0
0
8
0
-18
0
0
-5
0
0
0
-3
0
-55
0
-2
0
0
0
0
-44
0
0
0
0
0
-10
36
0
35
-87
0
0
31
22
0
0
-3
0
0
10
-153
0
0
-14
0
0
-16
-2
0
0
-6
0
0
0
-81
0
-35
-8
0
0
0
21
0
0
-10
0
0
0
-21
13
-9
0
0
6
0
17
0
0
0
0
0
0
33
0
-1
0
5
5
8
-76
0
0
-1
0
0
-1
41
0
0
-19
0
0
2
-57
0
0
-49
0
0
-7
48
0
0
-3
0
36
0
1
0
0
-3
0
-26
0
18
0
0
0
0
-2
0
35
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
13
0
0
0
0
30
0
0
0
-7
0
0
-24
0
-3
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
-6
0
0
0
15
0
0
2
0
0
0
-17
0
-16
0
0
-5
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
3
35
-64
0
-51
-32
0
-2
-23
46
0
0
8
-2
0
-2
44
0
0
62
-95
0
0
7
0
-5
6
32
-34
25
5
0
38
-15
-2
10
41
0
0
-5
-17
-2
48
-2
-10
0
-18
16
0
-2
1
0
0
30
-18
2
-3
-22
-24
0
35
5
-6
14
41
0
0
118
-4
0
-4
-3
-19
0
4
-18
4
10
43
8
0
0
-4
52
12
0
72
0
0
7
-17
0
-3
-6
0
85
-15
-17
34
-2
25
0
12
0
2
-1
-48
-1
0
25
1
0
7
-16
2
0
14
-1
31
-11
37
24
0
14
7
1
-6
9
6
0
-45
-6
3
80
43
-17
0
-7
-9
-1
5
72
46
0
0
-19
-14
11
0
-5
0
0
-34
-36
-11
35
17
0
0
-8
-1
-75
-7
0
0
-52
23
1
8
81
-59
0
182
31
7
45
1
0
0
-109
4
14
0
29
60
0
-14
7
0
29
41
2
0
-4
-49
15
-4
-58
40
0
6
5
0
22
-24
-1
0
0
11
-137
-18
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
-63
53
-2
-1
15
27
-45
0
-36
10
0
79
-78
-55
0
-1
-8
0
0
-6
-20
1
-8
15
-13
4
7
0
114
-30
14
0
-28
-24
-5
86
30
6
-2
44
-7
-1
53
-14
-8
32
-38
-11
24
55
-17
0
-14
-17
-44
1
22
-13
0
32
-37
-5
9
1
-19
3
21
-111
-6
10
0
20
41
-2
61
16
-80
0
3
-32
-4
0
-59
1
0
5
46
1
24
15
0
14
-44
-25
7
23
-16
-2
21
7
8
6
17
-5
-51
-20
-1
-10
-54
6
-21
-19
-34
-7
7
61
5
-11
24
-13
-5
-4
10
-87
-64
-24
0
18
1
18
16
0
26
0
1
-5
-8
-25
10
4
-3
4
55
0
-1
-5
4
1
-5
-39
5
-3
13
0
0
11
-7
34
14
1
-17
-4
-35
5
-16
-6
-5
-13
-14
2
-3
-29
-3
19
-20
18
-33
4
-9
1
-65
-14
-25
-5
-3
1
36
-10
43
0
-5
-8
7
7
21
-22
3
22
-2
24
-4
-4
102
0
4
77
-19
-14
-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
39
5
0
0
-7
0
2
3
-9
0
0
9
19
28
0
3
68
0
0
0
-38
0
51
-65
43
36
23
0
14
-33
-1
0
-14
0
2
-27
40
0
-32
1
17
0
-17
-1
0
-23
-7
0
0
133
-20
-3
0
-46
-19
37
54
0
-4
6
62
9
-13
-5
21
0
-58
-33
26
-1
0
24
0
-3
19
0
-8
0
7
-34
-5
0
5
2
0
10
0
0
-1
0
0
-3
-14
-21
20
-14
22
-1
-65
6
1
-59
-6
-1
13
4
14
-4
74
28
-13
9
-28
-16
2
24
-32
0
51
0
0
1
15
93
14
4
6
43
10
0
-22
0
-15
-2
19
0
0
64
-23
-50
0
-33
-3
0
-2
0
2
0
-42
119
-6
-1
0
0
0
-43
19
27
56
-5
-5
0
41
0
9
24
56
0
-5
10
0
-23
12
-1
5
-2
-14
-1
-9
16
-13
0
25
0
0
-26
-97
18
0
5
-66
-8
0
-4
4
29
0
25
0
-98
-17
0
-60
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-15
0
-10
0
0
0
0
-96
0
0
0
0
0
0
-49
0
21
59
0
0
-22
-5
0
0
32
0
0
0
6
0
0
-3
0
0
-4
13
0
0
2
0
0
0
45
0
13
0
-1
0
0
13
0
0
0
0
0
0
4
9
0
0
0
0
0
17
0
0
0
0
0
0
-13
0
9
0
0
0
0
12
0
0
2
0
0
0
-4
0
0
-1
-3
0
0
5
0
0
-2
0
0
-1
-14
0
0
-1
-3
0
0
-13
0
0
0
0
0
0
-6
0
0
0
-1
0
0
17
0
0
0
0
0
0
13
-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
5
0
-14
0
0
0
0
-3
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
-5
0
0
0
0
-1
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
54
-3
-6
0
0
0
0
-63
0
0
-1
0
0
-20
0
0
52
105
3
0
36
63
0
0
5
0
0
-17
47
0
0
-7
-6
0
-1
-32
0
0
-3
0
0
-6
-2
0
-3
0
7
0
0
8
0
0
-3
0
0
0
-84
-1
0
0
0
0
0
1
0
0
0
0
0
0
-40
-6
0
11
0
0
-1
38
0
0
-2
0
0
-6
70
0
0
-14
0
0
-1
-33
23
0
-24
0
4
0
-47
0
0
-2
0
0
0
51
0
0
-6
0
0
0
-43
0
10
-1
-1
-1
0
-7
0
0
0
0
0
0
-25
-8
0
0
0
0
0
-2
0
0
10
0
0
0
6
0
0
-1
-3
0
0
-63
0
0
25
0
0
0
-17
0
0
-4
0
0
7
-7
0
0
0
0
0
0
-43
0
0
0
0
0
0
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
102
-1
5
-1
-15
16
-69
61
-2
0
0
-6
-5
0
-4
-32
1
0
2
25
14
1
30
83
41
19
0
-17
-6
-2
0
18
0
-15
37
32
2
8
5
1
-7
-16
-14
4
26
-70
73
4
-74
-20
61
-4
-17
14
-23
24
-12
16
22
13
90
-14
0
25
-3
7
10
73
-10
77
1
3
-2
0
5
-73
0
-5
38
-35
0
0
-87
1
-15
-4
-1
-14
-1
-27
75
-6
-6
19
0
1
-40
15
-2
10
26
-27
6
-35
-18
8
-27
53
17
-11
-44
43
15
-25
-28
22
33
-15
-31
-7
-2
-16
-55
0
33
38
-2
-23
6
30
6
-2
-13
-15
0
37
-2
-54
-13
0
10
-24
1
0
-14
-31
0
-1
-32
44
7
25
-16
87
-50
15
51
19
3
-5
29
5
0
-25
-10
42
-11
-14
-5
-46
-5
-24
-22
14
-16
-51
0
61
-62
-110
24
-77
44
2
13
20
10
38
51
-7
11
8
-11
27
2
19
0
2
-21
-6
-2
-34
6
2
-51
-14
-2
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
-9
6
0
0
-49
0
4
-16
4
0
0
-2
0
-30
0
0
5
0
0
0
-55
0
-16
-53
-15
-7
9
0
-14
36
0
2
9
0
0
-34
17
0
37
-6
0
0
40
9
-21
0
24
0
52
-33
-47
0
-5
-20
-1
-6
5
-71
0
0
14
0
17
2
-33
2
-13
-14
0
77
0
-3
-4
0
-4
0
-11
0
12
-92
-8
0
0
2
0
-17
-35
-3
7
0
0
69
16
2
21
17
0
6
27
-16
0
-11
-8
0
-20
-51
-15
0
35
-5
17
0
20
-3
0
-2
4
4
40
-7
9
0
1
-54
0
23
-14
-26
0
-2
-14
0
-23
-3
-39
0
7
-17
0
4
0
2
18
2
0
0
48
0
-28
-1
3
0
0
0
0
29
1
-40
7
0
0
0
43
0
1
44
-11
0
22
55
-3
-62
22
0
0
0
15
0
-1
8
0
5
-6
-5
0
103
101
0
0
0
31
0
0
33
0
6
0
-26
13
3
-22
0
32
0
5
30
-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
-24
63
0
-9
6
-17
0
-2
27
1
-1
-12
22
-2
0
-8
4
0
0
-34
0
0
0
-2
13
1
99
0
21
6
0
0
19
0
0
38
-4
4
33
28
-13
0
4
11
0
-16
-1
-7
0
20
9
0
3
32
19
0
36
-62
-17
-3
4
2
0
-10
-30
18
-45
43
19
0
49
-11
15
-3
-21
11
0
0
10
28
-55
0
4
0
-3
-1
-110
-2
16
-4
0
15
19
-3
0
9
10
0
-55
17
0
-15
20
-5
0
-12
10
4
-22
-12
-11
0
0
-11
25
-8
18
-1
0
42
0
0
-22
4
18
0
-32
2
-1
32
25
-17
0
-11
-4
0
-61
16
44
0
0
-5
28
-17
-3
14
0
-1
-11
-71
0
-9
-5
0
5
-18
-4
15
-44
-2
0
78
20
0
15
-2
14
0
-113
2
-9
57
-15
0
0
-6
-7
2
5
132
-5
0
51
-2
-2
-8
43
0
0
21
-15
-11
15
-19
6
0
-5
-1
0
-22
23
-3
0
0
5
4
-3
71
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
54
9
0
45
-14
14
0
-7
-43
0
0
14
24
1
-5
10
8
8
20
0
-37
-26
-4
0
-30
9
35
-18
16
0
6
13
19
-1
-29
20
-1
4
53
0
0
3
1
0
9
26
7
39
5
-33
-9
19
25
52
15
3
5
1
-10
-3
-10
80
15
-3
0
0
64
-13
-11
0
-12
21
-73
-3
-21
-7
0
-2
33
0
3
0
-100
-3
-52
-40
1
34
-14
15
-48
-17
-4
49
33
-15
4
-22
25
-30
-30
19
-3
18
-13
14
4
-4
52
-30
34
-1
2
-3
-48
-1
-27
31
2
-33
0
-6
34
-7
-49
0
-2
-7
0
6
33
-17
0
-11
-41
0
0
14
-8
0
25
26
0
-14
-13
0
26
-51
4
-83
-13
7
3
0
29
0
-5
-34
44
21
-16
18
-5
-26
53
-9
13
3
9
0
33
68
-14
27
-18
4
1
-35
56
29
-28
4
10
7
0
-50
-36
-4
0
-16
0
8
-27
14
-129
0
-20
-5
-6
0
-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
-5
31
0
0
7
-5
1
0
1
13
0
0
4
-3
0
47
-21
-16
-5
11
0
91
-8
0
0
84
0
0
-39
32
0
-47
-19
29
0
-27
-12
0
0
5
10
0
-62
14
-7
3
24
-87
-27
-3
-41
0
0
15
-11
-8
77
0
0
60
15
20
-6
-2
-81
0
0
-3
0
13
0
29
-33
8
0
-14
-4
0
-15
78
0
-9
0
0
-13
4
149
-5
-6
-11
0
-5
8
1
0
-49
0
8
19
-13
0
11
-13
-16
11
26
51
5
3
-64
-2
-26
-46
18
3
9
-85
62
52
4
0
0
0
112
1
46
-11
-18
0
0
23
-25
-43
0
21
-4
0
0
-3
5
0
59
1
-1
0
0
0
0
6
-1
-32
41
0
0
-2
0
0
14
28
-19
5
0
7
0
-71
-15
7
-10
0
35
0
0
72
35
21
25
-7
-2
-36
-26
18
-7
8
0
0
-5
-77
11
0
0
-13
0
-32
-13
1
5
0
25
6
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
-3
0
0
14
0
0
0
0
0
-74
0
4
0
0
0
0
23
0
0
6
0
0
0
1
0
43
21
0
0
-56
-43
0
0
37
0
0
0
25
0
0
34
15
0
0
4
0
0
22
0
0
0
0
0
-6
0
0
0
0
-3
0
0
0
0
0
0
73
0
0
0
0
0
0
95
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
12
0
0
-4
0
0
0
-17
0
0
13
0
0
0
32
0
0
0
0
0
0
-16
0
0
10
0
0
0
71
0
0
0
-2
0
0
22
0
0
0
0
0
0
27
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
5
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
4
0
19
0
0
0
0
0
-1
-8
0
0
-10
0
0
-6
-10
0
-27
-51
1
0
21
-40
0
0
-20
0
4
-2
36
0
0
-8
0
-3
-1
-6
0
0
6
0
0
0
3
0
-5
0
0
0
0
33
0
0
0
0
0
0
-32
-2
0
0
0
0
0
16
0
0
0
0
0
0
-13
0
0
0
14
0
3
89
0
0
3
0
0
-2
-64
0
0
0
0
1
0
26
0
0
-5
0
0
0
-24
0
0
1
0
0
0
-34
0
0
0
0
0
0
-5
0
0
7
-1
-1
0
20
0
0
0
0
0
0
-45
0
0
0
0
0
0
4
0
0
2
0
0
0
-14
1
0
0
0
0
0
65
0
6
0
0
0
0
-5
0
0
0
11
0
0
-19
0
-1
0
0
0
-1
-2
0
0
5
0
0
0
-6
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
25
0
0
18
-26
-14
0
0
-45
0
0
-4
53
0
-9
-13
-19
-2
0
0
83
-10
0
0
48
-7
-1
48
9
0
-29
40
-72
0
-46
6
-2
0
-20
0
4
75
-6
-11
10
2
-21
-2
-98
-32
0
-3
-12
50
-7
-41
4
0
-23
-20
-26
-7
-18
23
0
0
0
6
-33
6
13
56
-14
0
5
-9
0
-3
-43
0
0
2
0
31
4
5
14
-37
-44
23
-11
-6
0
-24
56
-9
9
31
24
-17
-5
41
25
-24
-66
-13
27
15
-30
27
-9
43
26
-3
0
0
33
-29
-4
-16
-5
-2
4
0
-52
0
-32
0
10
0
-71
-41
0
-8
3
-5
0
-1
11
0
-19
-8
0
0
1
0
0
-20
-7
0
13
0
-25
-4
-67
-5
-6
-19
-45
-15
-3
-8
0
41
-9
0
-14
-7
10
0
-43
20
-28
32
-6
-36
0
-43
3
4
17
17
14
-5
-6
-15
45
-2
0
24
0
71
0
-1
14
0
-29
-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
-55
0
0
2
0
0
0
-9
0
54
0
0
0
0
0
-2
-73
0
0
-11
0
0
-6
-35
0
-45
37
0
0
38
43
0
0
-10
0
0
-48
-16
0
0
-18
0
0
5
-21
0
0
-50
0
0
0
-30
0
-28
-42
0
0
0
28
0
0
0
0
-2
0
-2
2
2
0
0
-2
0
25
0
0
0
0
0
0
-65
0
0
5
0
0
0
-4
0
0
5
0
0
0
55
0
0
11
0
0
3
-12
0
0
-8
0
0
0
56
0
0
15
3
-7
0
-68
0
0
0
0
-3
0
22
0
0
0
0
0
0
-44
0
0
0
0
-3
0
21
0
0
0
0
0
0
40
0
0
-1
0
0
0
-20
0
4
-7
0
0
0
-25
0
0
-3
0
0
0
29
0
0
-2
3
0
0
11
0
-2
0
0
0
0
-15
0
0
0
0
0
0
-54
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-3
-15
22
0
0
-22
-24
0
0
1
0
3
-3
-65
-43
-71
-41
0
3
1
1
0
-13
0
0
23
-10
0
4
18
54
0
13
6
-4
2
15
1
0
70
-25
0
-6
31
7
0
-12
-2
0
45
37
4
0
48
-21
-10
0
33
34
0
-20
9
2
6
-85
-1
0
0
-6
6
24
0
13
0
2
-12
-13
0
-9
1
0
6
30
-10
-27
-30
-7
0
15
13
3
25
-27
-16
0
18
9
-10
-9
6
-16
0
23
4
0
71
39
44
0
-62
11
-19
-10
19
-8
0
44
-8
0
-26
73
6
0
30
-18
-2
5
20
-36
0
14
-5
-8
6
-1
0
0
0
4
-43
-1
-2
-31
0
-2
18
1
-41
1
9
0
42
8
1
-3
32
-32
0
-36
30
-1
-62
18
10
0
23
22
0
80
20
-63
0
-23
10
0
59
44
-14
0
33
-6
7
7
44
4
0
0
-30
0
36
-5
0
0
0
-5
36
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
6
0
-30
0
-1
0
0
0
0
-102
0
0
-7
0
0
-1
8
0
-76
-23
5
0
47
22
0
-4
37
0
0
-4
49
0
-4
-1
0
0
-2
23
0
0
25
0
0
0
36
0
-74
3
-6
0
-2
7
0
0
0
0
0
0
-16
-13
0
0
-8
0
0
1
0
0
0
0
0
0
-2
1
0
1
0
10
0
24
0
-6
-11
0
2
0
14
0
8
31
-2
0
0
-67
0
0
24
0
-4
0
-65
-1
3
20
-5
0
0
62
0
0
0
0
10
0
75
0
3
0
0
-5
0
48
0
0
0
2
0
0
-16
3
0
0
0
0
0
-33
0
-2
0
0
0
0
-39
0
0
0
0
5
0
-7
0
5
1
0
0
0
1
0
0
0
0
0
0
-11
0
11
0
0
0
0
13
0
0
0
1
0
0
15
0
-24
0
0
0
0
-77
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
67
6
4
0
19
0
-6
-3
0
0
-61
0
0
38
47
0
1
-22
-54
0
7
-14
-4
-10
-8
-2
6
-33
-15
0
-1
24
46
0
30
49
1
0
32
3
-11
44
42
-8
-20
25
0
-5
11
0
2
0
-5
55
-5
0
37
-2
-2
0
9
0
0
37
5
0
0
0
5
-4
-22
-14
26
-69
-20
10
55
-6
0
-2
24
0
-20
-22
-81
-4
7
54
-89
22
-37
-8
-2
0
42
0
-16
4
9
-3
12
-9
17
-1
2
5
0
0
-13
18
-19
0
0
7
0
-1
20
-93
0
-12
0
0
0
-6
13
0
-50
-14
0
0
0
0
0
-14
2
-18
17
0
0
0
-25
0
5
-9
-5
-3
-1
-25
6
-68
-73
0
0
-10
7
0
-16
-19
26
1
0
-21
0
52
8
1
7
0
24
0
-1
-2
-14
-2
0
0
0
-83
-2
0
3
0
-46
31
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
0
0
0
0
0
2
-17
0
8
108
0
0
-60
-14
0
0
5
0
0
0
-31
0
0
0
2
0
-3
27
0
0
-10
0
0
0
32
0
-27
7
0
0
0
-1
0
0
0
0
5
0
14
0
-5
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
-5
0
0
-77
0
0
0
0
0
0
78
0
0
10
0
0
0
-54
0
0
-17
0
0
0
13
0
0
-3
0
0
0
-80
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
9
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
-15
0
-3
0
0
0
0
-3
0
0
0
0
0
0
1
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
5
0
0
0
0
0
-1
-2
0
10
-17
0
0
-4
-10
0
0
-1
0
0
0
1
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
-15
0
0
0
0
0
0
16
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-7
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
-57
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
-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
2
0
0
-6
-1
0
-57
6
-4
0
0
0
-54
11
-7
0
58
-2
10
8
4
0
28
37
3
0
-53
-42
0
0
-1
-1
-5
52
18
0
0
0
8
1
11
15
0
0
9
13
0
-4
5
0
-42
26
-19
0
-1
18
0
0
0
-7
-2
0
2
-4
13
0
-60
0
0
-79
0
0
0
0
-2
0
4
0
-2
-5
-3
-29
-4
-37
0
-1
25
0
-5
18
-21
0
7
-31
-9
5
-47
-32
0
0
-21
18
-23
9
-28
0
0
-2
-1
53
0
-16
0
1
0
4
-17
0
-24
0
0
0
-7
-43
0
-20
5
0
0
6
0
0
-20
1
0
0
0
1
0
61
0
-10
1
1
-1
0
-24
0
0
10
0
0
0
7
0
-14
0
2
0
0
-34
0
8
1
-5
-13
0
-6
0
-35
0
18
0
0
31
0
-6
0
2
5
0
3
0
52
0
9
20
0
-31
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-33
0
29
18
43
8
0
0
109
0
3
0
-20
0
-9
5
-2
0
-9
19
-1
0
15
-7
0
0
22
0
0
-50
-5
0
1
0
0
-1
-25
1
0
0
8
1
72
32
-64
0
-25
-87
0
67
-27
-7
0
0
72
3
39
0
0
-29
71
0
0
5
0
11
-47
2
-14
0
-11
-6
2
1
-8
-36
0
-14
77
31
0
-6
5
0
7
112
10
0
3
4
0
-30
8
3
5
-6
-19
0
4
14
-37
0
-14
-31
0
2
90
-6
0
0
-47
-4
13
2
-40
0
0
14
0
-40
0
10
12
0
-1
5
-20
0
12
-7
0
0
0
0
2
6
-3
0
-7
0
5
-3
-34
1
-9
-1
0
-13
0
-37
0
-62
70
0
-3
14
-14
0
3
59
-3
-14
-30
18
0
-81
98
0
-5
-4
-1
0
0
-32
0
9
11
-19
0
11
6
0
-85
0
28
17
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
-43
-111
-6
-9
-14
0
-63
3
-32
-31
-59
-23
0
5
2
-4
-17
3
-80
0
13
2
-3
19
2
0
0
7
-12
40
71
1
6
0
54
6
75
-80
2
-4
0
53
4
-2
28
13
7
-4
62
12
27
8
15
3
0
-14
15
-42
-43
-53
22
0
-2
1
-17
-23
6
-20
0
-21
11
-25
-5
-47
-13
0
-47
18
-33
-50
2
-11
0
9
-3
18
57
-14
45
0
9
12
85
43
12
18
0
46
-2
11
131
29
18
-1
59
7
-3
43
26
16
0
43
1
-35
19
36
103
0
4
5
-15
-18
-6
6
0
-23
-7
-2
90
-10
48
0
-19
14
-32
-86
-5
20
0
1
7
24
13
-11
2
0
48
-11
58
-79
-7
-30
0
31
11
-1
31
-17
-23
0
-1
16
-33
-60
34
18
0
89
6
43
53
66
15
0
71
-2
-51
43
-4
29
-32
-19
-2
-25
8
37
-56
0
0
24
24
53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
1
-25
0
0
-5
-9
0
0
0
0
3
0
-7
0
0
1
0
0
0
-21
0
0
0
0
0
0
0
0
-1
0
0
0
0
-19
0
0
0
0
0
0
-21
0
0
0
0
0
0
-29
0
0
0
0
0
0
-27
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
-3
0
0
0
0
0
0
-19
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
-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
24
0
0
0
0
0
13
38
0
0
-1
0
0
26
-66
0
-71
-76
-11
0
57
26
0
0
138
0
0
-23
42
-1
0
14
9
0
-13
43
0
0
-20
0
0
5
14
0
-52
9
0
0
1
71
0
0
0
0
-1
0
0
0
27
0
0
-1
0
-13
0
2
0
0
0
0
1
0
0
60
-1
0
0
3
0
0
17
0
0
0
5
0
0
77
-6
7
-1
41
0
0
-33
0
0
-2
19
0
1
17
49
0
2
-11
0
9
0
0
2
0
19
0
0
-1
0
1
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
35
0
14
0
0
0
0
-41
0
0
1
0
0
0
-7
0
0
0
0
0
0
-7
0
-8
-5
-1
0
0
19
0
0
-2
0
0
0
-19
0
0
0
0
9
0
1
0
14
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
-33
34
5
0
-3
18
0
-9
-29
-2
2
-32
-3
-2
40
-7
-76
-13
-9
37
9
75
-24
-3
16
-97
-11
0
16
-45
-75
-15
-9
-13
0
4
3
4
-35
-100
-43
0
-11
-1
-48
53
18
-2
0
0
5
-5
22
0
12
0
45
0
-27
-21
1
14
33
3
21
0
0
49
-22
68
5
-45
-78
55
-67
-30
-3
-18
18
-2
29
-60
2
-2
-8
-17
8
48
-100
-8
0
-13
20
63
51
5
-11
0
5
-48
-37
-43
7
-19
0
43
11
-6
0
3
-4
-1
-6
28
-34
15
4
-6
0
1
0
22
-14
1
7
-35
5
-1
-1
2
1
-16
34
-78
53
0
0
-32
11
0
0
64
-36
9
-19
30
1
36
-62
0
-7
-24
-21
0
-13
-23
-30
-4
5
-31
0
9
-12
-4
-67
16
-20
0
-4
-67
17
-25
0
22
0
-30
-47
1
-86
0
18
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
-46
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
21
0
0
-13
-31
0
0
0
0
0
0
7
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
10
0
0
0
0
0
0
-24
0
0
0
0
0
1
-41
0
0
0
0
0
0
14
0
0
0
1
0
0
-25
0
0
0
0
0
0
-25
0
0
0
0
0
0
-21
0
0
0
0
0
0
-19
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
-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
-29
0
0
0
0
0
0
-22
0
0
0
0
0
0
-7
0
-6
-2
0
0
1
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
-13
0
0
0
0
1
0
0
0
0
0
0
-43
0
0
0
0
0
0
-13
0
0
0
0
0
0
-18
0
0
0
0
0
0
-14
0
0
1
0
0
0
-6
0
0
5
0
0
0
-5
0
0
-1
0
0
0
-20
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
-21
0
0
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
10
1
0
0
0
0
17
-19
0
0
17
0
0
-11
-83
0
-73
-19
0
0
-94
19
0
0
-45
0
0
31
-74
0
0
68
0
0
24
-11
0
0
-76
0
0
-5
-14
0
-5
19
-6
-6
0
27
0
0
0
0
1
0
2
-2
-9
0
0
0
0
1
0
0
0
0
0
0
29
3
5
-4
0
-5
0
32
0
0
-22
0
0
0
39
0
0
56
0
0
3
40
0
0
-35
0
7
0
3
0
0
5
0
0
0
-119
0
1
-1
0
0
0
-48
0
-3
-5
0
11
0
-20
0
0
0
0
6
0
-86
2
0
0
0
0
0
0
0
-2
0
0
0
0
-153
0
0
0
2
0
0
-9
1
20
33
0
7
0
-14
0
0
2
0
25
0
-76
0
-13
2
0
0
0
-36
0
0
0
0
0
0
-68
0
-2
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
57
33
-14
0
-1
7
15
0
21
0
0
28
-10
1
40
16
28
0
9
42
6
17
-15
33
0
-18
-21
6
3
-32
5
0
41
-21
2
-11
27
4
0
35
-58
-1
-41
36
-27
0
-4
8
-21
-3
8
2
0
0
10
30
-34
0
-13
0
-5
9
30
0
58
0
0
43
37
-25
-2
-6
68
0
19
12
-11
24
45
18
0
41
4
18
15
18
-7
0
35
-6
5
-15
22
-17
0
16
-57
-2
80
2
18
0
140
-16
0
-23
26
16
0
-3
8
24
-30
1
-14
0
0
15
109
-13
-1
-1
0
0
7
-11
-1
0
-5
0
-11
4
14
-30
51
-2
0
-102
19
1
-26
72
0
0
-63
4
1
-51
-48
19
0
-14
26
5
-4
79
53
0
-3
8
-5
44
14
10
0
-13
5
-1
-59
23
25
0
10
35
-2
3
14
0
0
2
-20
63
-33
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-9
0
-14
54
-3
0
76
-14
0
0
6
0
0
13
-3
0
0
2
-14
-3
-43
-5
0
0
37
0
2
0
1
0
40
0
-5
0
0
-41
0
0
0
0
0
0
-76
5
-3
0
0
0
0
114
6
0
0
0
0
0
-42
-7
0
0
0
0
1
-25
0
0
-6
0
0
-1
14
0
0
-5
5
0
0
6
0
0
90
0
10
0
-10
0
0
24
-18
0
0
36
0
0
0
0
1
0
48
0
10
0
0
-5
0
14
0
0
0
0
0
0
-31
0
0
0
0
0
0
-7
1
0
0
0
0
0
-31
0
0
21
0
0
0
-4
0
1
-7
0
0
0
15
0
0
0
6
0
4
86
0
-5
-21
0
0
0
24
0
2
0
0
0
0
-82
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
2
4
-31
33
1
-31
1
11
-13
78
10
2
0
-12
28
80
38
-17
-3
84
-57
8
-13
5
-14
-3
-45
5
-8
5
-43
17
-10
-23
8
9
-5
-7
-2
-14
-34
-3
-8
-7
-5
-2
3
-15
-13
13
26
21
-39
0
-60
21
-76
-27
29
-24
-2
-30
-83
-5
-2
7
1
-5
-94
86
30
8
15
30
1
5
44
10
-23
6
-21
-17
8
-28
15
4
11
66
-9
32
-16
8
3
40
-44
-7
54
24
-4
26
21
-36
-3
33
14
7
26
17
87
-23
34
47
11
19
-29
-33
0
-11
22
4
59
-22
-27
7
13
-42
-11
-34
10
70
-11
-76
24
-30
5
-43
14
-1
13
-1
32
24
27
5
0
-13
-21
29
11
5
38
-8
9
16
-5
93
41
104
2
53
-13
-13
41
-49
-45
6
-6
22
39
5
24
22
3
4
27
52
27
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
17
-13
0
0
-6
8
0
-41
-13
0
50
57
-6
0
-35
-15
5
-4
7
5
6
-13
6
6
-5
-54
27
11
68
32
0
1
30
0
5
-13
-38
0
-30
18
-74
-1
-1
10
22
-14
-4
2
57
3
44
-8
16
0
54
-1
0
-63
0
3
-2
-2
0
11
46
-2
-17
67
-14
2
9
4
-1
-5
53
-16
-2
41
13
6
10
-61
-59
0
61
-28
1
-1
2
-3
-53
29
-19
0
4
3
46
-6
-29
-35
-2
9
38
-5
-9
0
-17
0
-6
-65
-80
76
0
-21
8
-5
0
-1
2
-13
65
5
2
-10
0
0
-5
4
-2
0
36
0
9
2
42
-5
11
-25
-11
0
-14
25
2
13
76
-6
-3
-41
-43
0
33
12
23
56
-14
-47
0
53
13
1
-7
-14
30
0
-20
55
-55
2
0
4
0
18
-36
0
-52
0
22
73
2
-13
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
11
1
0
0
2
0
0
-5
9
6
-35
-14
43
0
20
-128
3
0
26
-2
0
66
18
0
1
10
27
-3
-109
39
0
6
-6
2
-47
-11
-32
-9
-36
-74
12
2
0
-22
-3
0
-11
-7
73
0
35
2
-10
0
-29
10
-5
-67
74
0
20
0
-2
1
-20
-52
-4
60
-40
-1
-65
42
7
2
5
1
1
-42
-68
-8
7
123
24
0
87
-39
-8
29
-30
-2
0
1
-16
2
5
47
-34
5
7
-34
5
-15
-55
0
-71
5
-17
2
-3
54
-3
-50
1
8
10
1
0
0
2
-15
14
137
6
-4
1
0
0
26
-6
-13
2
0
-7
-4
29
0
3
-18
34
4
8
-56
-6
37
-14
26
9
45
10
0
-16
-62
80
0
-13
-14
0
-33
-25
0
29
-1
20
0
1
-17
-58
-9
0
-12
0
-100
-5
4
-61
0
57
45
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
87
-26
0
0
-19
0
0
63
37
15
-53
-64
-19
0
-17
3
0
0
45
0
0
2
8
2
0
39
14
-25
-47
-47
0
0
54
0
35
0
4
13
-18
-35
53
0
0
80
-2
0
0
0
5
0
42
7
-2
0
32
-3
0
-7
-24
4
1
0
0
1
30
-2
0
5
1
0
25
21
-2
1
-13
4
0
-24
76
2
20
34
-18
9
-22
-3
0
-5
-27
0
8
5
35
0
-15
-83
-14
8
0
-23
0
2
24
-2
-7
6
38
-4
-3
0
14
24
0
59
0
0
0
1
0
0
-15
14
0
0
0
0
9
-24
1
8
0
0
0
0
32
0
0
-8
0
0
0
49
0
58
-3
0
0
0
-20
0
6
39
7
0
-2
-32
0
-23
37
0
-7
0
36
0
20
-2
-39
0
0
42
0
58
-4
0
20
0
33
35
5
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
31
-42
0
0
15
0
0
-27
-92
0
20
-51
-5
0
21
-33
0
0
63
0
0
-5
-102
0
0
-32
-2
0
11
-15
0
0
13
0
14
1
1
0
43
56
0
0
0
62
0
0
-5
0
7
0
19
17
-11
0
0
0
0
-51
0
0
0
0
0
3
-3
0
0
-10
0
6
-75
-11
0
0
166
0
-2
16
-132
0
0
8
0
1
35
-69
0
-5
14
17
51
46
-1
0
-2
12
0
-11
-9
-78
0
1
17
0
15
0
-37
0
0
8
0
-14
0
3
0
0
0
0
-9
0
7
-3
0
0
0
0
0
-19
0
34
-14
0
0
-1
-85
0
0
-26
0
0
-17
41
8
85
-27
0
0
-2
0
0
0
3
0
0
-1
-62
0
-90
54
0
1
0
5
0
0
8
0
-1
0
-20
0
-16
-5
0
19
0
-11
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
-17
0
0
0
0
0
0
-1
0
0
2
-2
0
0
-5
0
0
0
0
0
0
17
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
-55
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
-10
0
0
0
5
0
0
2
0
0
0
9
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
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
1
0
0
0
-13
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
31
19
-5
39
53
14
-1
45
91
5
-5
76
-8
-27
67
-11
-5
22
35
40
-64
27
6
0
0
-23
35
13
-56
17
0
34
-44
45
25
-4
-19
23
8
8
-7
46
0
-11
90
5
0
-85
14
-2
29
27
0
-3
-1
0
2
43
-16
1
45
31
0
87
0
3
37
-35
0
34
34
22
1
-45
-39
44
3
25
-1
32
-30
38
0
-72
51
67
-8
72
18
69
34
99
15
-2
52
112
-4
33
-6
-19
33
-2
-10
-13
15
0
12
5
-35
0
32
-4
0
34
95
-5
-23
-16
0
7
65
2
-110
54
-2
0
43
-32
-14
-14
-29
53
25
61
1
-26
47
47
-2
22
-24
-39
0
79
54
31
-33
43
-40
-2
5
32
-14
-1
-6
-4
22
51
104
-5
53
0
-4
0
51
-33
0
-14
0
-18
-117
6
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
4
-2
-38
4
8
-3
-48
11
-5
45
11
-2
36
10
10
6
5
31
3
17
-6
-13
-4
-10
42
6
-58
13
14
-20
-46
2
-6
1
1
-36
-11
-18
4
-4
33
13
6
2
13
-28
-34
-3
-4
-10
5
9
-96
-116
12
70
-10
0
44
-70
35
5
23
-19
15
11
-43
15
27
30
-2
10
34
-75
7
-3
8
-19
0
-8
1
-4
4
7
-44
-5
22
13
5
5
13
-22
0
51
-3
2
-35
-26
-6
5
-93
-30
-1
15
1
95
-4
-6
-44
89
20
-14
38
21
-5
8
-42
-111
23
27
0
9
-29
13
-85
-41
-90
-24
13
6
-46
16
-41
-11
-2
3
7
6
27
-65
-19
2
10
-33
26
26
-33
-11
13
-10
4
19
25
20
5
-18
-39
18
30
-12
30
-34
4
-5
10
-1
57
-32
11
7
45
13
13
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
-23
61
0
1
3
1
0
91
-80
0
0
-7
0
0
7
58
0
0
-9
0
0
-6
-34
0
0
43
0
0
0
15
0
79
0
0
0
0
13
0
0
0
0
0
0
-71
0
0
0
0
0
0
-16
0
0
0
0
0
0
92
0
0
14
0
0
9
60
0
0
-2
0
0
-2
18
0
0
36
0
0
0
29
0
0
46
0
0
-2
-20
0
0
5
-11
0
0
-44
0
0
-3
0
0
0
-18
0
0
-3
-2
-2
0
4
0
0
0
0
0
0
-10
0
0
-4
0
0
0
-27
0
-2
0
0
0
0
-65
0
0
0
0
0
0
3
0
0
0
0
0
3
27
0
0
0
0
0
0
45
0
-10
0
0
0
0
27
0
0
0
0
0
0
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-24
0
-8
-34
0
0
-25
-32
0
0
-16
0
0
4
41
0
0
0
-6
0
-10
-40
0
0
20
0
0
-1
10
0
-33
14
0
0
0
117
0
0
0
0
0
0
-59
-14
0
0
0
0
0
7
2
0
0
0
0
0
21
0
0
6
0
0
0
61
0
0
-2
0
0
0
-44
0
0
4
0
0
1
-11
0
0
-13
0
4
0
-51
0
0
3
0
0
0
-113
0
0
0
0
0
0
-27
0
0
0
0
0
0
-38
0
0
0
0
0
0
-5
0
0
0
0
0
0
-37
0
-1
0
0
0
0
56
0
0
0
0
0
0
-3
0
0
-13
0
0
0
-22
0
-7
0
0
0
0
-22
0
0
0
0
0
0
-16
0
0
-1
0
0
0
-46
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
-18
19
0
6
43
-27
-13
-19
1
16
-24
31
23
68
-6
7
2
-13
6
6
91
0
19
0
9
28
-3
30
-33
12
0
16
9
2
-23
-23
-18
4
3
11
-21
-25
2
11
-53
-56
0
22
25
0
14
120
37
-4
13
0
-7
62
-3
63
-7
49
-62
-14
26
9
31
33
-13
6
45
34
-11
-50
60
39
-15
6
0
-22
6
20
-3
60
-13
4
0
-10
-31
-9
-24
-72
22
0
6
77
5
-29
-3
-22
4
11
40
22
11
0
-1
23
-4
0
20
20
0
51
27
-35
0
-17
0
8
24
5
60
-32
-4
6
8
66
11
-15
9
27
2
48
32
18
-55
-68
-4
14
-11
-50
-9
-33
-1
10
-6
48
30
40
57
69
45
-15
-27
32
-16
21
-25
42
-5
-19
-16
10
26
2
-18
50
0
5
-36
41
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
66
0
-5
43
-5
0
37
-40
0
0
54
0
0
0
-69
0
0
13
0
0
-8
-16
0
0
-1
0
0
-4
-7
0
2
-7
4
0
0
-15
0
0
2
0
0
0
10
-4
0
0
0
0
0
87
0
0
0
0
0
-1
61
0
0
3
0
0
1
8
0
0
1
0
0
-4
9
0
0
5
0
0
0
-14
0
0
-3
0
0
0
46
0
10
5
0
0
0
-65
0
0
-2
0
-1
0
-25
0
0
0
0
17
0
-1
0
0
0
0
0
0
37
0
0
-1
0
0
0
32
0
-3
0
0
0
-18
14
0
0
4
0
0
0
5
0
3
0
0
0
0
7
0
0
0
0
0
-1
-22
0
0
-3
0
0
0
10
0
0
-1
0
0
0
88
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
10
9
0
21
-24
0
0
-33
-64
0
0
-78
0
0
0
78
0
0
27
0
0
13
-5
0
0
10
0
0
0
-9
0
-15
-5
26
0
-5
81
0
0
0
0
0
0
15
7
0
0
0
0
0
-44
1
0
0
0
0
-1
-5
0
0
-6
0
0
3
39
0
-4
-4
0
0
0
1
0
0
98
-7
0
0
70
0
0
13
0
0
0
-19
0
0
-44
0
0
-7
-73
0
0
-7
0
0
0
-39
0
0
0
-10
0
0
14
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
45
0
0
0
0
63
0
0
0
0
0
2
109
0
3
4
0
0
0
-50
0
0
1
2
0
0
2
0
-20
8
0
0
0
6
0
0
0
0
0
0
71
0
-6
0
0
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
-1
11
3
-8
15
-14
4
-15
5
7
-2
-13
-24
46
-49
-20
2
-20
2
-31
-57
55
23
0
9
18
-15
-10
-3
-43
10
31
-14
-3
-5
0
-1
-2
25
-7
5
46
3
34
87
-3
31
-5
-18
55
25
10
18
-157
-48
79
28
15
-45
82
-5
13
-3
58
3
-16
-101
-9
44
-50
-90
-8
14
67
17
139
56
-6
-4
9
24
-45
-20
-72
-36
13
-4
-44
-17
37
19
0
-5
-29
32
-53
57
9
0
18
-74
52
1
-3
23
0
2
-31
-2
6
45
0
1
-41
-21
68
35
7
-5
106
9
-22
60
19
59
-7
44
-9
31
45
-4
9
14
-34
-7
7
34
-53
-5
-1
-10
-44
9
34
5
13
58
23
-16
-3
38
-22
24
-15
-2
13
-2
-10
2
0
3
0
5
-15
21
0
-56
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-58
-6
20
-33
-21
9
25
66
-1
9
33
-6
3
59
45
17
-39
2
61
-19
-33
-6
21
-8
-72
49
-15
-16
-26
-26
51
6
-31
-9
-32
-116
5
17
-32
4
8
-3
-77
62
-19
-15
139
-47
26
14
-8
-58
-12
7
0
16
-58
-35
-42
-14
-26
-15
5
64
-31
4
39
19
4
-19
-23
-8
-32
0
-17
-5
-51
-31
17
-11
4
29
-14
39
-14
22
44
8
-7
4
-19
89
58
61
-18
-2
19
-15
43
9
87
-27
24
-13
-46
-6
-15
-17
30
33
-38
-1
27
21
-16
-75
-53
0
-23
-21
-2
-26
18
73
-58
71
109
-74
-10
-46
5
44
-22
-24
-12
-12
2
85
-14
18
15
-8
-52
-2
-34
-3
13
-50
4
-24
35
49
-3
33
36
62
22
19
-1
23
2
43
-21
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
-87
88
0
0
43
0
0
9
50
0
4
-4
0
0
9
-49
0
0
-5
0
0
-1
-22
0
14
-1
18
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-58
0
-5
10
-5
0
0
-85
0
0
-4
0
0
0
8
0
5
15
0
0
0
-31
0
2
44
0
0
0
-59
0
18
2
0
0
0
33
0
0
0
0
-3
0
26
0
0
-2
0
-3
0
73
0
0
0
0
0
0
4
11
0
0
0
0
0
10
0
0
-1
0
0
0
-59
0
0
0
0
0
0
-30
0
3
-4
0
0
0
-43
0
0
0
0
0
0
33
0
-15
0
0
0
0
-59
0
0
-5
0
0
0
75
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
-1
-10
87
43
-25
-3
-46
18
-13
-22
-23
-21
30
128
-4
0
6
62
-7
81
-40
14
10
-5
-13
-30
1
19
23
7
34
-21
-4
-23
-27
-1
13
-28
-92
0
-8
29
-14
5
-4
-3
-4
-61
21
32
-3
-55
32
-18
-33
29
-19
16
-15
-69
76
16
90
51
8
-23
-100
-6
-9
38
-33
-15
3
-28
7
52
53
-40
4
-4
9
-6
22
-24
11
27
-10
6
-21
-16
56
-42
-9
-8
43
66
19
8
46
-9
22
23
-47
79
-75
-3
2
23
13
37
-33
-6
14
-39
-1
16
-51
24
-7
-47
5
32
-5
80
10
-93
8
-23
-14
26
-26
59
66
28
4
48
64
0
43
73
-26
9
-3
44
-5
45
23
56
-1
-49
-65
44
-32
5
-5
1
-3
10
-52
-15
80
-8
-8
76
27
-12
-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
3
6
-71
74
21
-63
0
12
7
14
-43
-1
-12
-5
14
5
-33
-67
16
8
42
-75
-3
22
5
16
-6
35
-5
-11
57
58
45
1
3
-4
-3
13
-10
22
-46
-64
9
1
98
-15
-23
-59
47
-58
5
-21
49
21
-5
-3
13
-4
-2
7
10
-46
1
-37
3
-29
39
-15
63
48
-33
5
108
-5
13
2
-55
73
-6
56
44
11
-5
0
-9
17
23
-30
59
7
34
-5
5
-53
0
24
15
13
-14
10
39
-23
-4
76
-7
5
34
-5
-1
-78
-111
-8
35
-24
21
-14
3
-21
25
-48
17
37
97
32
-64
33
-7
-18
7
71
-1
-52
-5
119
25
-2
38
41
29
-10
15
3
67
10
-59
19
-16
46
15
-5
27
29
-4
33
20
-3
30
-11
45
53
29
24
8
-53
-4
50
-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
28
-22
-3
-6
-5
0
17
-55
-7
1
19
1
-25
-100
-22
-25
-9
2
-26
1
53
-57
-12
0
45
0
0
-9
94
3
0
1
-44
3
15
-2
9
-40
34
0
4
-11
-1
18
-3
11
-48
0
1
-68
11
6
-4
22
-5
38
15
-7
-1
13
28
0
75
35
-39
0
26
-20
0
-57
38
-14
-1
-44
39
-1
-11
63
15
0
8
31
35
-81
-15
-40
0
184
6
3
29
-58
5
0
-17
46
-6
0
-8
17
29
96
15
0
-5
0
17
-23
-7
-5
-7
0
9
-83
0
-34
15
0
14
5
-24
0
-39
-17
6
3
-2
-2
-5
49
66
-14
27
36
-7
6
-44
20
0
-26
73
-32
2
53
77
-1
-4
48
-1
0
25
-46
0
-24
30
-24
-1
33
75
0
-88
-1
27
-34
-3
-43
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-61
0
0
-8
0
0
4
-57
0
0
0
-1
0
-7
-25
0
0
-2
0
0
0
-16
0
-33
0
1
0
0
-28
0
0
0
0
0
0
-11
-1
-1
0
0
0
0
-8
0
0
0
0
0
0
-73
0
3
1
0
0
8
-20
0
0
0
0
0
0
13
0
0
46
0
0
-5
13
0
0
-16
0
0
0
10
0
0
25
7
0
0
-47
0
0
0
0
0
0
4
0
0
0
15
0
0
-84
0
0
0
0
0
0
-45
0
0
0
0
0
-3
2
0
9
0
0
0
1
77
0
2
-27
0
0
0
25
0
0
20
0
0
0
-41
0
0
-1
3
0
0
-9
0
0
8
0
0
0
-20
0
0
0
0
0
0
-78
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
45
13
-10
18
13
7
12
-11
16
62
64
8
-13
-27
62
13
-2
2
15
11
43
39
5
-71
22
-14
33
14
-3
14
-4
-15
4
47
43
57
10
-18
-68
-8
-36
33
51
19
28
55
-2
41
32
59
0
-6
7
-9
-21
-19
-39
2
-55
-28
24
-2
10
60
5
-64
20
0
31
91
23
-4
-90
19
3
6
37
23
18
44
-28
38
10
14
43
2
-28
11
24
14
-7
-43
18
-44
22
-58
38
-11
-9
9
-9
1
52
35
10
-16
-1
-34
-19
3
43
42
-84
-15
-87
-13
38
73
72
17
-6
-30
-4
-14
24
-47
-14
-5
14
-63
-25
6
-21
116
10
-3
9
37
-90
2
19
-2
28
-69
68
34
-23
91
6
-49
-5
6
-35
74
-25
15
52
-56
46
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
-13
-6
15
7
-18
-5
-29
22
-1
-11
23
-2
14
0
-1
-26
-33
3
5
-25
-68
6
-5
20
-59
-30
-54
6
48
-14
2
-3
-46
-4
-10
-57
-2
11
0
41
-45
-3
-20
1
-31
5
21
-38
56
-3
14
-50
54
2
-89
32
-14
0
12
-12
26
-28
-6
18
-12
42
61
-5
54
7
3
3
56
44
-9
-29
58
34
-6
65
8
52
-61
1
-46
3
-65
16
52
-6
6
13
7
15
-15
-1
67
42
2
14
35
-72
30
-106
19
40
15
10
-48
1
-89
0
62
29
-17
-34
-16
49
-52
12
0
0
-8
7
-72
113
21
-11
82
26
-52
-42
112
6
8
55
-57
32
24
48
4
9
77
-23
3
-36
23
-63
11
-29
-34
23
60
-5
8
28
11
-39
2
20
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
3
-77
0
1
-6
0
0
-1
8
0
0
-38
0
0
0
-1
0
71
0
5
0
0
-45
0
0
0
0
0
0
-31
2
0
0
0
0
0
51
4
0
0
0
0
0
-54
0
17
6
24
0
13
0
0
-3
-8
0
0
0
-10
0
0
52
0
0
7
-5
0
-1
-24
0
0
0
-31
0
0
0
-3
-4
0
48
0
0
-13
0
0
0
-15
0
0
0
0
6
0
105
0
0
0
0
0
0
-15
-6
0
0
-4
0
0
-8
0
3
0
0
0
0
15
0
0
-2
4
0
0
-33
0
6
5
0
0
0
-36
0
0
0
0
0
0
-61
0
-7
-1
0
0
0
20
0
0
4
0
0
0
48
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
40
6
0
0
-17
3
0
-11
-4
0
0
8
0
-15
0
88
0
192
-1
14
1
0
53
0
0
2
0
0
0
-11
22
0
0
0
0
0
12
7
0
0
0
0
0
1
0
0
45
-8
0
-33
-59
0
0
25
0
0
10
131
0
0
-7
-9
0
0
-14
0
8
-10
-3
0
0
-20
0
0
-5
-2
-21
0
125
0
0
19
0
0
0
29
0
0
2
6
-8
0
-13
0
0
0
0
0
0
-16
-1
0
-5
0
0
0
14
0
14
-11
0
0
0
-5
-2
0
-1
-14
0
0
-14
0
-20
0
0
0
0
31
0
3
-3
5
0
-5
-54
0
6
3
1
0
0
-18
0
0
1
0
0
0
-31
0
9
0
0
-4
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
32
0
-11
101
34
-18
-4
15
-20
23
17
-10
-15
56
26
1
4
-10
58
-23
-10
5
-9
-20
-2
18
53
43
0
-6
36
-54
1
13
2
45
27
-17
14
25
-2
53
-1
13
-2
-32
15
60
25
-32
-14
31
92
68
15
-16
30
4
23
-5
14
58
35
43
-6
-4
-55
-22
-23
50
98
6
-8
-37
-12
18
-15
60
15
11
11
46
39
22
19
5
-26
110
23
-4
28
0
14
15
-14
-1
77
-69
13
27
50
2
62
-54
0
-49
-5
27
15
-31
8
47
29
27
29
4
5
88
31
-16
25
-14
9
23
9
-23
66
-18
-11
7
-25
46
-77
8
6
-4
25
-4
-1
-2
43
7
0
62
41
125
-61
-83
18
-1
-5
-20
-7
-5
15
30
-35
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
0
0
-33
-13
0
0
17
0
0
-2
-15
0
-17
-3
0
0
0
-47
0
0
-1
0
0
0
12
4
31
0
0
0
0
11
-1
0
0
0
0
0
-55
0
-1
21
0
0
5
-1
0
0
-13
0
0
43
-12
0
0
3
0
0
39
47
0
0
-109
0
0
-5
-2
0
0
76
0
0
-1
-26
0
0
17
0
-5
0
-42
0
0
-1
0
51
0
14
1
0
0
0
0
0
22
0
0
0
0
0
-2
12
0
-1
0
0
0
0
-40
0
0
0
0
0
0
-44
0
-10
-1
0
0
1
3
0
0
8
9
6
1
-99
0
76
51
0
0
0
55
0
0
35
0
-2
0
84
0
-2
25
0
-7
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
122
-33
0
0
44
-1
0
-61
4
0
0
-26
0
0
0
-48
0
-43
-14
65
0
0
-47
0
0
0
3
0
0
-17
2
0
0
-4
0
0
-6
-2
5
0
0
0
-2
43
0
0
71
-5
0
5
8
0
4
-19
0
0
5
89
0
0
25
42
0
39
-6
0
0
-85
0
0
-1
17
0
0
-47
-24
0
0
-20
0
0
53
0
0
0
-47
0
0
-1
5
0
0
-17
0
0
0
0
0
0
-54
0
0
2
0
0
0
-1
0
4
-10
0
0
5
25
0
0
2
0
0
2
99
0
6
14
-7
0
-2
-34
0
-2
103
2
0
7
34
0
82
-14
0
0
1
6
0
0
30
5
0
0
63
0
14
0
0
0
0
-33
-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
40
-18
0
-17
-60
-10
5
-5
0
-1
-41
-39
3
-55
0
-10
5
-19
-9
25
21
0
0
-33
-88
0
-80
20
-2
-1
-57
0
-5
-2
0
14
-59
78
116
34
-102
-30
20
14
-7
1
57
-5
33
30
5
3
-16
-38
-51
4
-5
-20
-4
20
-77
14
-5
-21
2
0
61
-8
-22
33
14
13
0
35
-19
19
9
-5
12
-3
59
10
-3
-4
15
-5
-20
-16
-2
-10
51
0
-41
18
-29
-3
5
0
2
-52
-1
9
72
0
0
9
3
-5
19
-53
10
0
0
22
-3
-88
2
-35
6
8
28
-10
70
-8
77
-10
-78
49
-1
-80
2
1
17
7
5
6
-71
101
-95
55
1
38
0
1
115
5
31
0
-34
62
5
-43
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
-11
-29
-128
-55
1
-50
-57
-6
5
29
0
11
-13
11
20
-5
-80
-18
-28
-67
-23
-15
-5
-8
-47
-52
-20
-11
46
15
-34
3
-46
14
50
64
-11
41
22
12
-25
-33
1
-6
-46
-38
2
-41
-10
19
0
8
-46
24
13
-20
45
0
6
9
-5
-32
-6
-43
4
2
-75
6
29
6
2
-14
-37
9
-2
-16
-11
11
11
-48
-11
14
-10
-3
31
8
8
-10
-43
5
51
-22
23
12
-24
7
23
38
33
-39
31
10
-27
-10
-19
23
1
73
-47
38
-116
22
13
3
-74
3
23
-43
-74
68
0
-16
13
18
39
24
-20
-4
-79
-8
-21
20
-2
-11
-3
-51
46
-20
-5
24
20
-4
78
9
18
33
2
-79
4
39
59
-10
1
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
-1
-85
0
0
20
0
0
0
16
0
9
-2
0
0
0
23
0
-2
0
0
-1
0
-16
0
13
0
0
-10
5
-58
0
-1
0
0
0
0
47
0
0
23
-1
0
3
25
0
0
0
3
0
0
4
0
0
-2
0
0
9
14
0
0
-6
0
0
0
21
0
0
-2
-1
0
-3
-33
0
0
-1
0
0
0
118
0
0
0
0
0
0
-2
0
0
0
0
-4
0
-1
0
0
0
0
0
0
6
0
-8
0
0
0
-1
48
0
0
0
0
0
0
47
0
-1
-3
0
0
-2
-39
0
4
0
2
0
0
81
0
6
5
0
0
0
33
0
5
1
0
0
0
33
0
-8
0
0
-1
0
16
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
-9
10
0
0
-30
0
0
-5
90
0
-74
16
5
0
0
-32
0
0
0
0
0
0
31
1
0
0
0
0
0
-14
0
0
0
0
0
0
78
-5
0
13
11
0
-10
4
0
-4
8
0
0
7
-60
0
-5
18
26
0
0
-61
0
0
-45
0
-7
0
7
0
6
9
3
21
0
-16
0
4
-2
0
-6
0
18
0
0
0
0
-7
0
24
0
0
0
0
0
0
43
-9
0
0
0
0
0
4
0
-4
-10
0
0
0
-20
0
0
-8
0
0
0
-6
0
1
0
0
0
0
-9
0
0
0
0
0
0
9
0
0
19
0
0
0
28
0
0
0
6
2
0
37
0
-4
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
-10
3
-6
28
23
31
54
1
-9
-3
-9
-39
-5
20
16
-10
25
33
31
67
-51
0
-8
-18
-55
0
-1
41
-1
3
20
-6
-10
-6
-1
-12
5
-38
58
-9
22
51
-40
0
-9
-45
-7
14
-7
0
5
-35
43
18
26
23
-75
2
4
-2
4
34
-15
-28
27
-5
12
72
-14
-11
-1
6
-8
-58
121
-25
21
-33
-4
4
-50
-78
23
34
0
4
45
69
3
14
-91
0
1
70
-11
5
19
-4
44
8
9
-21
-5
-17
24
23
43
-23
-11
-44
28
78
44
-6
45
16
-20
53
37
-1
-14
0
-37
-38
21
21
-57
36
-5
-2
12
3
-18
11
4
4
-51
-24
32
27
-7
5
5
5
56
0
-9
0
-5
-56
72
50
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
17
0
-8
-5
-6
6
22
42
0
31
7
-33
13
13
5
0
12
0
-2
-1
80
0
-7
-25
-1
-15
9
-1
-4
0
-3
-10
4
-19
-8
54
2
-5
79
4
-3
-43
52
3
56
-31
-9
-10
-4
35
-9
0
-31
2
0
17
30
21
9
6
2
10
13
17
46
-34
-60
-20
0
-7
36
0
44
3
6
-10
0
11
-1
-3
1
3
5
24
0
0
-5
-4
-44
-57
2
0
0
0
36
-6
2
-70
15
0
-8
3
-1
0
-2
-15
15
0
-6
-3
0
-60
73
0
15
33
22
0
26
14
3
0
3
-3
6
13
-28
0
-10
-16
-6
-10
66
-60
0
66
0
-17
-5
8
93
0
-60
0
-4
-17
10
-25
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
0
0
-32
0
0
0
2
0
-76
78
-106
0
0
-43
0
0
3
0
0
0
-12
-15
19
0
-8
0
0
13
10
0
0
2
0
0
-25
0
0
17
10
0
13
-77
0
0
27
0
0
25
-2
3
0
-2
5
1
24
-13
0
0
9
1
0
15
-8
0
0
37
-24
0
2
46
0
15
46
0
0
0
33
0
-8
-15
32
0
0
-17
0
-7
0
0
0
0
-45
-7
0
0
0
0
0
92
0
3
-5
0
0
0
113
0
0
-9
-1
0
-16
1
0
-34
-54
0
0
-4
-45
0
2
18
-13
0
-19
-5
0
39
-47
0
0
0
-64
0
-1
1
3
0
0
46
0
10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
42
25
-81
-2
8
-24
4
44
14
-81
0
0
34
28
0
-34
6
-11
1
-49
0
9
-10
0
136
-15
8
-23
28
-24
22
-67
22
-1
7
31
35
44
-103
22
0
11
25
15
91
-7
-16
-3
79
23
33
-46
4
18
-4
-7
-26
-22
26
20
-14
1
5
-69
8
-15
0
-13
0
-3
46
-54
3
0
4
-39
0
-4
13
15
0
2
-95
52
4
4
0
-3
2
6
18
43
-5
1
138
20
0
-14
35
-33
-8
10
-7
16
-40
28
41
-54
-6
27
5
-5
32
86
-29
17
-14
0
-46
-34
25
5
6
19
0
-11
25
38
58
0
26
0
49
11
0
-90
0
-23
47
-9
59
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
-32
9
-52
-10
2
-10
-39
65
-7
15
-73
17
19
-57
50
-5
-18
-21
-5
-57
80
59
-5
-7
21
6
16
-3
36
1
7
20
26
-7
-5
-11
0
-10
16
14
-78
10
1
6
24
67
0
-56
-88
21
6
-37
-59
6
-6
23
-1
0
-23
0
24
-6
-27
10
0
-85
33
-21
72
35
71
7
-16
11
10
-53
-21
-45
-11
30
-41
-42
-26
2
-35
8
-14
8
5
-2
-56
59
8
14
36
-20
65
26
-54
10
45
59
31
-16
49
9
0
-16
22
29
-18
-1
38
-3
29
24
-28
-26
10
-6
0
39
4
-28
-17
-17
-13
-9
51
39
23
7
57
52
-11
-4
-39
17
-3
-22
-5
12
3
0
3
-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
11
0
24
7
-3
0
2
-1
0
0
0
0
0
0
46
17
0
0
0
0
0
-38
2
0
0
0
0
0
-87
0
1
-10
0
0
0
5
0
0
6
0
0
2
8
0
0
-1
14
0
0
-89
0
0
21
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
90
0
0
4
7
0
0
-34
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
30
0
-1
0
0
0
0
-51
0
6
4
0
0
0
2
0
0
3
0
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
-2
29
-4
0
73
0
0
0
0
0
0
41
-2
0
0
25
0
0
77
0
0
0
0
0
0
-72
0
0
1
0
0
-2
37
0
0
-25
0
0
0
-47
0
0
24
0
0
-14
-2
0
0
-12
-1
1
2
-15
0
0
-4
-6
0
10
1
0
0
0
0
7
0
-72
0
0
-4
16
-6
0
55
0
0
0
0
0
0
-37
0
0
0
0
0
0
9
0
26
-3
0
0
0
5
0
0
0
0
0
0
-14
0
7
-3
0
0
0
-26
0
0
4
-1
0
-1
9
0
0
0
0
0
0
50
0
0
16
-7
1
0
12
0
-5
0
0
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
-59
1
-2
-1
-31
-3
-53
98
12
-4
5
23
-48
9
-7
9
-9
-39
-7
-11
13
2
0
-27
1
-75
6
-2
-68
23
74
-54
7
28
25
-62
12
-10
-22
-3
-28
26
22
21
102
7
-1
10
-41
1
-2
-3
54
-3
-43
21
-24
2
6
-20
89
9
-54
-24
-1
33
15
-32
-15
18
49
-5
1
-2
10
-4
-6
-1
2
-55
-38
0
-55
-10
-6
0
62
-8
35
36
4
20
23
-37
-69
59
13
8
-6
41
-1
24
-30
40
0
38
19
10
-76
-25
-15
39
-26
15
0
36
46
-17
4
9
-19
25
-3
-46
-43
31
-78
41
-24
1
-9
35
16
-6
9
-5
-17
6
-2
6
0
10
-30
-9
0
33
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
-18
0
4
-4
4
0
0
10
0
0
16
0
0
0
-24
41
14
0
0
0
0
-58
0
0
0
0
0
-2
-33
7
1
0
0
0
31
-49
0
-8
95
0
0
-29
14
0
0
181
0
0
-1
-52
0
0
7
0
0
0
-23
0
0
-9
0
0
-4
-65
0
0
4
0
0
0
19
0
0
-3
3
-52
0
-48
1
0
0
0
0
0
40
2
0
0
0
0
0
-33
0
11
0
0
0
0
17
0
0
-30
0
0
0
-3
0
0
-13
0
0
0
12
0
0
-10
-10
0
0
12
0
5
-5
0
0
0
20
0
0
8
0
0
0
-35
0
-9
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
-8
0
-75
32
12
0
0
-24
0
-2
0
0
0
0
10
51
19
0
18
0
0
-9
18
0
0
0
0
14
28
-1
6
-26
19
0
-20
46
0
-13
89
0
0
-62
-73
0
0
-33
-70
0
-18
4
0
7
25
0
0
65
-41
0
5
-3
-10
0
5
29
0
2
29
0
0
0
-59
0
0
-76
-79
0
0
-44
0
0
0
0
0
0
17
6
0
0
1
0
2
-14
0
36
4
0
0
-11
5
0
0
-6
4
0
0
71
0
31
24
0
0
20
46
0
-6
-23
72
0
2
-10
0
-17
-54
0
0
-5
30
0
4
33
-8
0
0
66
0
36
-16
0
0
0
-62
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
56
0
0
35
0
11
0
-24
40
17
0
6
0
0
-17
6
0
2
0
0
2
11
0
9
-4
1
5
4
56
0
-8
16
3
-5
0
0
5
0
-36
51
0
-8
-36
5
-11
-15
1
-5
0
25
0
5
-51
2
-21
0
-55
-1
-4
52
0
29
0
1
9
0
-9
53
4
0
9
2
0
-1
8
7
0
6
-25
0
0
0
0
0
12
0
-13
-6
0
-10
-6
-32
1
-2
124
6
0
0
36
-3
-5
2
-1
3
0
6
0
64
-7
29
1
0
-27
0
-62
36
0
0
0
-2
0
0
2
-55
0
0
2
0
25
-27
0
-33
0
9
16
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
27
4
33
-18
39
-20
-51
-1
-1
3
25
-1
-74
59
-6
3
138
-4
37
18
102
92
-12
53
-45
-25
0
35
17
-8
26
78
25
-53
-59
-21
-13
-11
-30
-6
-52
-9
-19
0
-41
-34
-15
-28
-50
68
-6
-15
-4
-14
2
41
-49
0
40
49
-43
-53
18
77
16
-40
53
18
54
-15
15
3
76
13
32
-119
21
1
4
-10
-43
69
-96
0
35
59
14
10
10
3
-69
-5
5
33
-27
0
-41
-1
-1
20
-45
-17
-15
-14
56
-7
-5
38
27
-11
4
-34
-12
-8
1
-45
-53
-52
-34
-35
0
2
-9
78
-30
78
50
0
-8
13
4
-16
-5
10
8
-23
68
12
-74
140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-70
0
0
0
0
0
-2
-18
0
0
0
0
0
0
25
1
0
0
0
0
0
10
0
0
13
0
0
-4
51
0
0
-5
-1
0
-2
-58
0
0
6
0
0
2
22
0
0
-9
0
0
-1
-6
0
0
0
0
0
0
8
0
0
0
13
-9
0
95
0
0
0
0
0
0
37
0
0
0
0
0
0
6
0
0
0
0
0
0
16
0
0
0
0
0
0
34
0
0
1
0
0
0
18
0
0
0
0
0
0
-18
0
0
14
0
0
0
-7
0
0
0
0
0
0
-44
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
7
9
88
14
-9
-29
-20
-2
-22
8
-2
25
-4
-80
-29
8
31
39
58
28
36
19
2
29
99
4
43
-7
11
4
1
-24
23
-10
25
30
12
60
-49
-7
56
-14
4
-15
-93
14
4
-7
67
-36
-11
29
-34
17
36
2
35
-2
22
-23
6
103
13
-28
27
32
126
-2
11
1
-2
5
-49
90
5
38
18
33
-13
22
44
-49
-56
-14
70
-14
-44
15
20
82
22
-35
-24
0
39
-17
27
71
16
8
40
-5
-56
23
20
-8
-9
-19
-28
44
6
-5
60
-12
-9
-41
16
53
15
5
-22
37
35
-16
17
2
7
3
-20
-73
-69
-86
1
-5
-3
-25
49
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
3
2
-3
30
-28
0
4
48
137
0
-26
0
-2
-16
-6
0
-25
-1
0
-54
-1
3
-1
43
-12
-46
-37
21
0
3
-42
0
26
123
30
9
2
-40
-15
5
-8
16
0
0
67
-56
19
-9
-40
-1
-14
-1
14
-9
7
-35
0
45
0
-17
-1
0
3
-2
-14
0
-87
7
0
0
41
-37
0
19
0
0
-25
-14
0
-5
-49
0
0
41
1
-14
100
0
-7
9
48
-1
0
-19
90
-11
-63
16
7
-72
-1
-5
-3
74
-25
0
27
10
-58
-15
-33
-51
0
-28
-41
0
-65
0
10
0
-24
1
18
-18
0
-7
0
28
0
0
60
0
-47
13
-4
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
-13
14
0
2
14
8
23
0
7
-47
53
0
0
-10
0
-6
42
-2
-3
1
5
20
10
4
-19
16
0
-18
39
13
0
19
12
5
-6
61
8
0
-23
1
39
8
27
5
0
-74
-9
0
13
35
2
0
-5
-9
0
13
-64
11
0
-1
42
-2
-30
2
-4
0
-14
-16
0
43
0
-10
42
25
0
0
-27
2
-11
81
0
26
0
-4
22
-6
-19
29
71
0
0
-14
-8
5
-53
133
-10
-4
34
3
-2
-40
3
20
-1
-39
-13
0
14
20
0
36
-8
9
0
-21
23
0
6
-10
13
-5
7
64
0
-19
2
11
17
33
27
0
-18
0
-48
2
6
3
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
43
0
0
0
0
0
0
-22
13
17
0
-33
0
0
39
3
0
0
0
0
0
-29
0
0
-64
-38
0
22
-36
0
5
-16
0
0
40
-61
0
0
-3
-19
0
83
-35
0
-2
40
0
0
0
-26
0
-2
-74
44
0
-14
29
0
0
5
0
0
-1
-60
0
-1
10
4
0
0
-1
-10
0
0
0
0
0
113
-1
0
0
0
0
0
-49
0
-57
0
0
0
-3
15
0
-1
-25
1
0
8
-3
0
-5
-71
0
0
0
34
0
3
57
-4
0
1
1
0
51
-13
0
0
-6
107
0
0
45
7
0
0
-43
0
115
5
0
0
0
40
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
-16
-2
-2
0
28
0
0
-2
0
0
0
0
0
0
-111
0
3
10
-5
33
-5
0
0
3
23
0
-15
-4
22
0
-10
-7
7
8
1
-13
0
3
-45
0
6
0
-26
0
0
-15
-8
-2
0
-2
0
0
-23
0
-78
0
66
0
-3
-4
-3
1
0
-60
1
0
0
0
7
0
-7
0
0
0
0
0
0
-8
0
1
0
0
0
0
5
0
0
-8
-5
0
0
46
0
6
0
0
0
0
85
0
0
-6
4
0
0
-13
0
4
1
0
0
0
-24
0
0
-3
-2
0
0
19
0
-63
0
0
0
0
-43
-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
-1
18
5
-8
66
-11
-23
-6
15
-23
-23
-54
-33
-17
13
-110
-16
7
3
15
10
-4
-43
31
-5
6
-20
-57
-7
-46
-29
-14
26
-33
-1
-4
-22
71
22
-44
-58
-10
-9
-53
-26
10
-14
36
-32
-4
0
15
17
-25
-5
-14
0
11
-34
-41
-5
-12
15
-19
-89
-34
-13
42
6
6
8
-47
8
79
72
6
43
13
26
-54
35
96
-75
-11
-6
21
-21
38
-45
60
23
6
-29
29
-13
74
98
46
-3
9
-1
-5
15
6
-66
4
-5
-19
30
-16
23
-36
0
1
-14
61
39
43
-14
0
-5
31
-61
15
29
-15
11
-29
-9
-17
54
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
1
0
23
0
0
0
0
0
0
90
0
0
2
6
0
11
-41
0
0
-2
0
0
16
26
0
0
7
-34
0
0
12
0
0
11
0
0
0
-72
0
0
13
28
1
0
24
0
0
-3
0
0
0
-27
0
0
0
-4
0
0
54
0
-1
0
0
0
0
5
0
0
0
0
0
0
11
0
-1
0
0
0
0
52
0
0
0
3
0
0
-7
0
8
0
0
0
0
23
0
0
0
0
0
0
24
0
0
-1
0
0
0
43
0
0
15
-1
0
0
-51
0
6
0
0
0
0
-45
-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
-22
-2
0
0
0
0
0
7
9
0
0
0
0
0
-4
0
0
-1
0
0
0
98
0
0
3
0
0
1
4
0
0
52
0
0
7
58
0
0
5
0
0
7
-14
0
0
-2
-1
0
0
-80
0
0
7
0
0
0
56
0
0
0
-4
-1
0
-38
0
0
0
0
0
0
-6
1
0
0
0
0
0
6
0
-1
-1
0
0
0
-45
0
0
0
0
0
0
-19
0
2
0
0
0
0
53
0
0
0
0
0
0
33
0
41
0
0
0
0
14
0
0
0
0
0
0
17
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
68
0
-26
0
0
-28
0
0
0
0
0
-5
-49
-6
0
-4
-2
3
-13
16
0
0
-18
-2
4
27
51
0
-1
45
52
-2
-47
8
0
-4
-5
8
33
0
32
0
0
-4
50
-9
0
27
0
0
10
0
50
0
50
0
-2
0
5
15
0
13
-3
0
0
0
-10
0
14
-2
0
0
0
0
0
76
0
-3
0
0
0
0
-42
0
0
-1
0
16
0
-8
0
-7
0
-6
13
-3
2
0
0
0
-3
9
0
33
0
5
0
0
0
0
-59
0
0
0
15
9
0
-35
0
-15
0
2
-15
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
0
33
-4
9
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
-7
0
0
-8
1
0
0
-34
0
0
20
-26
0
0
4
0
0
0
-8
0
0
-83
0
3
-6
31
0
0
73
-1
0
0
5
0
0
-14
0
0
0
-37
0
0
-2
0
-3
0
-21
0
0
0
0
0
0
76
-31
0
0
0
0
0
36
0
0
0
0
0
0
-22
0
0
-2
0
0
-9
-33
0
0
16
0
0
0
74
0
0
-2
-2
0
0
-3
0
0
-2
0
0
0
13
0
0
2
0
0
0
-116
0
7
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
0
-7
0
0
10
-5
0
-7
7
0
100
-11
-3
-1
20
-98
0
-2
7
0
29
-15
3
0
63
22
0
2
-25
109
0
78
0
0
-3
6
-18
0
58
-34
0
15
-75
-49
0
-52
1
2
63
-19
0
0
4
-2
5
-32
-7
2
0
0
-30
-5
-22
1
0
0
0
-48
17
0
0
0
0
26
90
0
-45
58
0
0
-1
46
0
0
-12
6
0
-25
16
-2
16
-33
0
0
-3
60
0
13
30
-21
0
-9
17
3
59
98
0
0
-17
-28
0
4
-11
-109
0
0
-60
9
4
49
0
0
0
25
-5
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
19
0
0
0
0
0
0
-6
0
0
0
0
0
0
-41
0
0
4
0
0
7
-27
0
0
3
0
0
0
-27
0
0
0
0
0
0
17
0
0
0
0
0
0
19
0
0
0
0
0
0
-14
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
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
-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
33
-16
24
-54
-41
37
48
3
-9
53
40
-23
-6
13
31
1
59
-5
16
-20
15
-32
-7
1
-25
21
13
-17
20
0
38
11
-1
30
-37
-3
0
25
-28
1
1
-23
12
3
-44
5
-14
-22
-43
-15
-18
-23
-44
-30
-1
-16
16
0
-65
-3
-28
29
37
35
-3
-8
10
-79
-30
-26
12
30
13
6
-6
-28
10
10
-1
125
-2
47
42
20
-35
8
-4
66
-11
5
-45
24
-2
18
16
17
-22
58
-41
3
-67
-19
2
-38
-15
-33
-23
47
-40
-6
-14
-1
38
6
-100
-30
-5
41
-18
81
0
51
-22
-21
-128
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
33
0
12
-44
13
-10
-39
-33
-10
-54
7
-3
-3
5
1
-4
-49
-9
0
-5
-9
-5
2
-4
-10
7
10
2
1
-32
6
23
2
41
4
21
-41
-14
-1
0
63
-2
0
-24
-2
44
0
62
32
-106
-13
0
13
0
6
11
3
-4
0
-33
-48
-2
-3
-4
1
10
-14
3
41
-44
-3
0
-10
-43
0
-5
11
6
0
3
35
0
-55
-31
24
-21
5
-63
0
78
-84
-70
48
-63
-45
3
35
49
9
-10
-2
40
4
74
-43
16
-18
0
5
-1
5
25
0
71
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
20
10
0
0
-12
9
47
59
-36
0
0
0
0
-37
-26
-5
-1
-2
-46
-53
5
36
-27
21
46
-28
11
-7
37
60
0
-9
40
93
10
-4
-33
3
-1
24
-21
7
-1
58
0
-26
-4
-54
-7
0
-26
1
-1
-7
0
-9
0
95
3
0
2
-13
0
0
-45
0
23
-3
0
4
-20
16
0
-4
23
-7
0
2
-26
0
26
-97
0
-15
5
-21
0
-45
-37
-40
-10
-2
11
0
3
-3
-2
32
-18
-74
2
-4
-14
27
5
-7
-132
0
33
45
-4
-9
0
36
-59
-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
-50
0
0
0
0
0
0
3
0
0
0
0
-2
0
9
0
0
0
0
0
0
3
0
0
0
2
0
0
32
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
-8
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
-15
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
-15
0
0
1
0
-1
-6
-1
3
16
26
0
-19
99
-3
0
-7
-4
0
-48
-31
38
0
-5
48
0
63
-5
-20
0
-7
25
0
-6
-35
-43
0
13
12
0
-33
68
-10
0
0
112
0
26
-6
8
0
7
25
0
-4
0
34
-18
0
0
0
27
0
-6
-3
0
-5
0
0
0
-21
0
-74
-6
0
-11
4
-9
0
0
-9
0
4
-15
-11
-1
-44
-42
0
-14
10
31
0
5
66
-8
2
75
-38
0
-9
19
0
19
25
-52
7
3
19
6
-71
3
15
0
6
6
0
-48
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
11
0
24
0
0
0
3
14
6
0
12
0
0
-9
26
0
-3
41
0
0
44
50
0
-2
-18
44
0
45
-70
0
0
-4
0
0
4
19
0
0
31
-6
0
0
-6
0
0
5
-1
0
0
98
-2
0
-4
-2
0
0
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-25
-1
0
0
0
67
0
0
-3
1
0
0
7
0
-5
45
0
0
-5
-17
0
1
4
-10
0
4
-52
0
-4
0
0
0
0
21
3
-2
0
0
0
0
61
0
22
0
0
0
0
-47
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-28
0
0
1
0
0
1
35
9
0
-1
0
0
-21
-5
1
0
5
0
0
0
12
0
0
-11
0
0
0
-27
0
0
0
0
0
0
72
0
0
0
0
0
0
-24
0
0
0
0
0
0
44
1
0
0
0
0
0
-7
0
5
0
0
0
0
-11
0
0
0
0
0
0
17
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
-26
0
14
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
-54
-5
-87
-54
11
-15
-30
-11
17
14
29
24
-39
-9
4
8
80
24
-1
-16
-60
-5
4
76
-17
25
77
-32
9
3
-39
81
3
6
39
0
7
-10
44
-23
44
12
0
-6
12
-17
-4
-18
28
-30
8
-31
-14
20
-27
4
-13
0
37
109
-7
-4
0
-53
6
-62
-120
-47
15
-25
36
-1
27
-13
-7
-41
-68
-1
17
43
-20
15
5
-37
-36
-2
63
-57
35
-18
95
-15
-7
40
26
11
2
45
-14
14
14
27
-13
15
33
-44
5
78
4
-64
17
23
35
12
4
46
-35
-48
-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
5
7
8
-5
40
50
-1
49
-6
-34
-6
105
-1
0
48
17
-4
-3
49
-70
-3
-14
-93
0
0
-15
16
0
-17
37
0
2
16
51
5
-23
-16
8
0
-44
0
31
2
-113
0
23
10
11
4
0
31
9
1
0
0
-1
0
14
0
-5
5
2
0
0
14
0
17
-31
0
-3
-13
61
0
6
41
2
0
-6
1
0
53
130
-4
-5
2
-26
0
-29
8
14
5
9
24
2
-82
26
0
0
2
44
0
0
27
19
6
0
-15
1
-43
0
0
73
0
-6
44
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-16
0
0
0
0
0
0
-80
0
0
19
-11
1
-2
-70
0
0
-4
0
0
0
29
0
0
2
0
-3
0
-44
0
0
0
0
0
0
-53
0
0
0
0
-2
0
-102
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
20
0
0
0
0
13
0
0
0
1
0
4
62
0
0
-2
0
0
0
16
0
0
0
-2
0
0
-39
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
37
0
6
-49
0
0
-3
23
0
0
23
-5
0
24
10
0
-6
100
0
0
0
-3
0
0
8
55
0
0
72
0
0
1
0
-6
0
56
0
0
0
-8
1
0
55
0
0
0
0
0
0
23
2
0
0
0
0
0
2
0
27
0
0
0
0
49
0
5
2
1
0
0
-8
0
31
13
0
0
0
-11
0
0
14
-5
0
0
30
0
-16
0
-2
0
0
1
0
-1
0
0
-2
0
-41
0
5
5
0
0
0
6
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
-12
0
0
0
0
1
0
-15
0
0
-6
0
0
0
80
0
0
19
0
0
24
-1
0
0
-14
4
0
0
41
0
-5
-14
-10
0
3
-116
0
0
1
0
-10
0
100
0
0
0
0
1
0
92
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
14
0
0
0
0
14
0
0
0
0
0
0
26
0
-4
-3
0
0
0
-43
0
0
1
0
0
3
33
0
0
0
0
0
0
49
0
0
0
0
0
0
42
0
4
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
17
0
0
0
0
0
0
5
0
0
-6
0
0
0
-129
0
1
-9
0
0
0
-20
0
0
0
0
0
0
-80
0
3
0
0
0
0
-38
0
0
-2
0
0
0
-1
0
0
1
1
0
0
-56
0
0
0
0
0
0
102
0
0
0
0
0
0
-21
0
0
0
0
0
0
-16
0
0
0
0
0
0
-11
0
0
-10
0
0
0
-9
0
0
3
0
0
0
50
0
-8
0
0
0
0
-74
0
1
0
0
0
0
86
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-5
11
0
0
60
31
0
0
-25
17
0
-49
12
0
13
-53
-4
-10
2
53
0
3
78
82
-23
-9
-37
0
0
-50
0
41
0
47
1
-11
0
13
13
0
-27
0
-6
0
0
4
0
147
17
0
2
6
0
0
91
0
24
10
-2
0
0
56
0
0
30
-5
5
2
-23
0
6
96
-3
0
-1
33
0
-5
-43
-10
0
0
29
0
14
0
4
0
0
-17
6
10
61
3
0
0
1
0
-44
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
-84
37
37
-31
13
4
37
-80
4
-3
36
-19
19
59
-31
17
5
24
-1
-23
30
30
-5
12
27
-19
-9
-5
24
-8
-18
-31
16
-5
71
42
-15
34
30
0
-17
-80
-25
-14
-87
-60
-22
24
61
-14
-43
-19
-3
-43
0
42
-44
-21
-43
8
39
0
2
53
-6
42
45
-22
-18
64
0
66
-119
55
-14
22
18
-3
17
7
-68
34
-12
98
40
50
14
71
-31
-23
-41
-6
9
16
-75
-5
14
8
11
15
25
-39
13
-7
-69
36
50
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-15
66
0
0
7
14
0
26
110
23
0
40
-21
0
1
43
-4
2
0
-5
0
-4
25
-21
11
8
-25
0
0
14
0
0
0
28
0
0
0
0
4
0
13
0
0
0
3
0
0
-18
15
-4
0
7
0
0
-2
9
18
11
0
0
9
15
0
2
7
-1
0
-7
60
0
-44
0
-1
2
6
23
0
4
30
-1
0
4
41
0
-1
25
0
0
0
-90
0
1
15
0
4
0
-17
0
21
0
0
0
0
26
3
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
3
71
1
0
-16
94
0
0
-5
-18
-2
-33
12
0
0
6
5
3
-24
37
-3
-8
119
-14
-2
-1
6
-3
0
-3
0
80
-1
38
0
0
1
0
32
0
34
0
0
0
0
5
0
-24
-33
0
0
0
0
0
1
4
95
0
0
0
2
65
6
-1
0
-3
4
7
10
13
-18
46
0
-2
0
17
0
0
-37
-35
14
-5
1
0
-25
34
0
0
0
-60
0
2
41
0
0
0
20
0
165
-3
0
-2
0
45
43
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-26
68
15
20
-7
62
3
13
9
-14
-18
25
12
-20
100
-3
0
-19
7
16
-6
101
8
52
33
-4
28
-2
-14
-18
-21
0
0
22
-2
-24
-64
7
32
0
-2
3
-20
0
-1
-9
0
4
89
-1
0
0
-6
11
9
-4
26
-4
0
0
-14
45
0
-53
-39
-39
0
-14
29
0
33
-52
87
18
64
14
0
17
-7
41
29
33
33
6
14
84
4
12
-7
25
10
-5
-3
-34
-32
34
19
0
44
-44
2
33
0
-20
54
-6
15
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
27
40
0
8
-6
0
21
-22
-55
-3
15
24
0
-33
86
-43
0
4
-3
2
-85
17
8
0
-13
-20
3
35
40
25
-1
14
78
0
80
-1
-47
0
0
22
0
-10
0
41
-10
0
0
-2
2
0
-31
-44
0
0
0
0
0
50
0
80
2
0
6
2
43
0
0
-9
0
0
-9
-7
1
80
22
2
-3
59
-15
0
53
4
5
1
-6
-14
0
42
-23
0
9
1
50
0
-3
-23
-7
0
0
-16
0
78
3
0
47
3
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
16
0
0
0
24
3
-1
54
-12
0
-9
15
0
-4
39
-3
0
13
-62
0
0
45
14
0
3
17
0
2
98
0
0
0
19
0
0
-8
15
-1
0
29
-6
-2
0
0
0
0
-37
0
0
0
0
0
0
23
0
43
35
0
0
0
-10
0
0
5
-1
0
14
28
0
5
10
0
0
0
34
0
14
-29
19
0
0
32
0
-39
-1
-3
0
0
46
0
-6
-10
4
0
0
58
0
7
1
9
0
0
46
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
11
-1
-3
16
22
-5
-3
-76
5
1
-26
-24
1
3
3
12
0
72
-26
57
-35
81
26
0
66
22
-4
-49
-1
8
5
-16
-52
9
-6
0
22
33
0
0
4
14
0
14
-66
0
7
2
0
-21
10
-2
-7
-30
0
-5
2
68
-2
-1
37
-14
-2
-27
-26
17
28
-22
16
2
11
2
0
15
-25
-52
-5
-22
0
0
22
81
-2
-3
-7
81
-16
-1
23
-43
7
0
90
0
59
-32
0
86
0
-4
-4
4
-18
-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
18
-3
-85
-41
2
-10
-51
53
6
-1
-21
12
-47
-2
14
9
24
1
21
-9
0
-15
7
15
59
30
24
-23
6
4
40
42
20
19
-12
33
10
-20
-14
-55
-44
5
-52
14
-5
20
32
61
-16
-5
22
-6
-31
-47
5
29
19
0
43
-80
2
-27
-46
4
-16
-8
23
3
24
53
-16
13
22
58
12
1
-23
53
5
38
7
3
-47
28
15
-3
-48
32
-11
-18
-2
-90
-8
18
-10
-8
-2
-15
-109
20
34
-18
12
12
-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
39
0
0
13
0
0
0
-46
0
0
47
0
0
0
98
0
0
-21
-7
0
0
-13
0
0
0
0
0
0
47
0
0
0
0
-8
0
23
0
0
0
0
1
0
14
0
-7
0
0
0
0
1
0
9
-3
0
0
0
7
0
0
8
0
0
0
35
0
0
0
0
0
0
90
0
0
-13
0
0
0
96
0
-9
0
0
0
0
18
0
0
3
0
0
0
-26
0
-21
0
0
0
0
60
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-23
-10
-2
4
0
0
-61
-13
-5
-1
-66
0
0
-9
5
-4
0
58
0
0
-5
0
13
0
44
0
0
0
-2
15
0
22
-2
-1
0
0
0
0
14
1
0
0
2
0
-1
80
0
-30
54
0
16
0
-16
0
0
18
0
-3
11
12
0
0
15
0
0
0
44
0
0
8
-10
0
0
-82
0
-8
34
-1
3
9
11
0
-10
31
5
0
0
13
0
44
0
0
-3
0
14
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
25
33
25
30
31
67
42
2
25
27
31
0
89
37
10
25
-26
-23
-21
-20
-17
35
4
-4
13
-36
66
-30
9
-17
1
-28
10
53
-6
-1
21
-8
7
13
-21
42
-2
23
47
3
6
-22
0
-15
10
-9
85
4
0
9
33
38
-2
-45
-48
20
0
89
-1
8
42
-76
26
0
-58
-4
0
-12
12
140
-16
60
26
2
22
26
-23
-17
-24
-4
-17
17
5
-56
53
4
-5
-1
53
18
-3
36
0
-3
7
44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-54
-8
0
-5
56
0
-1
-48
0
0
0
-56
0
0
25
0
0
0
75
0
0
0
0
14
0
70
0
0
0
0
41
0
79
0
0
0
0
0
0
9
15
0
0
0
0
0
-35
0
14
0
0
0
5
90
0
0
14
0
0
-3
-30
0
0
6
0
0
0
43
0
0
100
0
0
0
3
0
-4
-5
0
0
0
33
17
0
2
0
0
0
-87
0
32
2
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-25
0
-3
7
0
0
36
-2
0
0
-27
0
1
43
3
0
42
-29
0
20
16
0
0
-13
6
0
-13
21
51
0
0
1
5
0
0
0
0
0
29
23
0
0
0
0
0
-20
0
43
-9
0
0
0
-8
0
0
22
-17
0
0
51
0
16
-4
2
0
0
5
0
10
37
8
0
0
-56
0
36
56
-4
0
0
16
0
-4
-8
14
0
0
42
0
-65
0
0
0
0
24
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-14
1
4
-30
-52
-16
4
-33
9
23
29
74
8
-2
33
2
7
-11
0
23
22
-5
38
23
28
0
2
18
24
-1
-18
-53
0
-21
20
0
34
-1
0
10
28
18
-34
12
14
-8
-9
13
0
-41
38
41
-9
14
1
-8
-58
77
-6
6
3
28
0
-62
-42
-72
-8
16
67
-1
95
-62
-1
-31
-10
34
1
15
92
-24
-52
0
25
6
66
88
0
-13
0
-5
93
-7
1
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
33
-1
72
23
25
21
3
82
7
92
5
30
-13
37
18
13
62
-2
54
-9
-13
-2
-3
-71
26
35
31
6
10
8
-34
1
26
39
-22
37
18
-1
-13
39
-27
9
-114
-6
21
-1
45
62
-56
46
24
19
33
-47
17
79
18
0
-45
-56
36
57
-80
-11
-8
-43
-5
-12
15
17
-30
-4
-13
2
-13
-71
-7
-22
25
-52
5
2
6
18
65
7
90
-18
18
-56
39
-18
1
-14
49
-27
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
1
0
1
-6
0
0
0
33
0
8
71
-7
0
0
-75
0
0
4
0
0
0
61
0
0
0
4
0
0
-53
0
0
0
0
0
0
44
-10
0
0
0
0
0
3
0
-25
0
0
0
0
-72
0
2
0
0
0
0
-33
0
10
0
0
0
0
-27
0
0
1
2
0
0
79
0
36
0
0
0
0
48
0
0
-5
0
0
0
86
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
-2
44
0
7
34
-7
8
-1
39
-4
0
-35
-19
0
-4
-58
0
0
15
0
-8
9
-14
0
-2
-3
-3
72
0
-29
-2
0
0
0
0
0
-85
19
0
-6
0
0
0
-45
5
15
-13
0
0
2
11
3
0
-1
-21
-8
0
-33
0
-16
-11
4
5
0
5
0
0
-37
-14
0
-7
48
-1
5
-10
0
10
0
26
0
-1
5
0
0
0
-13
0
25
1
0
-1
0
24
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
14
-12
3
38
-17
-2
4
-2
2
14
24
22
22
-16
28
20
-3
13
32
53
-40
-20
-5
5
-62
-2
-10
12
-1
24
-14
-6
-8
-7
147
-5
11
45
10
44
26
0
71
-10
25
74
51
31
53
10
-14
39
13
47
-43
5
-83
37
-19
32
21
-21
8
52
8
0
25
3
76
6
-68
13
-26
23
48
-25
78
64
-1
31
-30
-9
-5
-16
-39
12
-4
4
-23
15
118
-1
26
0
15
-25
-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
60
-31
0
39
23
2
-34
79
-28
0
16
22
-18
-34
-47
-35
0
53
-4
0
0
36
1
0
4
79
8
10
0
8
25
1
-3
0
-64
0
25
29
0
2
0
4
21
15
1
71
60
3
-8
6
0
4
6
5
13
4
70
35
13
83
3
5
-4
-26
-12
0
18
68
1
27
37
-10
-10
53
2
1
1
16
12
-2
27
69
20
14
0
-29
0
32
30
0
-29
0
-13
-97
14
-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
140
15
0
-2
112
0
0
0
-23
0
0
37
-29
0
-1
-51
0
1
1
0
0
0
83
0
0
5
2
0
0
0
26
0
0
0
0
0
16
-5
0
0
0
0
-6
-23
0
31
3
0
0
-2
4
0
0
-6
9
0
10
78
0
34
-33
0
0
0
124
0
-2
-16
1
0
7
29
0
-3
-8
0
0
0
-14
0
0
-20
-6
0
0
19
0
8
0
0
0
0
-16
15
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
-19
-2
-7
34
40
-50
-75
-6
-22
-1
27
43
-14
-22
0
24
-4
5
1
27
5
0
11
-19
0
-2
0
75
3
-28
-67
-4
-3
-26
0
4
-33
0
0
14
0
0
-14
-14
-8
26
13
111
-3
3
2
1
-58
30
0
-9
0
38
9
-25
32
18
-3
0
-14
1
-81
9
-1
21
2
13
5
-14
-7
46
-7
0
21
0
-15
-6
0
-12
0
-10
26
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
-37
-3
-47
-41
-1
0
-9
20
9
9
3
45
-5
-14
13
-5
16
-14
9
0
-26
-14
9
-3
-62
-28
-75
-3
17
19
30
6
-37
-33
-14
18
-11
68
29
48
-68
19
-16
12
34
15
32
-4
30
30
-4
1
-4
14
74
59
-60
0
-1
69
81
62
44
3
1
1
-86
13
-16
2
61
14
-25
-18
13
-12
-5
96
0
-43
-1
15
21
-8
-6
2
23
-82
-8
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-3
0
0
76
0
0
0
0
0
0
8
0
0
0
0
22
0
-31
0
0
0
0
0
0
74
0
0
0
1
0
0
-5
0
-1
0
0
0
0
-19
0
-1
6
0
0
0
-10
0
15
-25
0
0
0
-1
0
0
0
-7
0
0
40
0
-2
0
0
0
0
-1
0
-13
9
2
0
0
100
0
26
-1
0
0
0
29
61
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
14
78
0
2
47
0
0
35
0
-15
0
14
0
11
15
63
47
0
15
0
0
0
0
0
0
-38
0
0
0
0
0
4
5
-6
6
-19
0
0
-2
4
0
0
46
0
0
15
88
1
28
6
-4
-6
22
-17
0
0
9
-13
0
20
76
0
55
-14
11
-13
0
17
-4
0
10
8
-3
0
-33
0
19
2
0
31
0
66
-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
-22
0
-46
-15
5
-2
-29
8
-24
42
-87
-64
27
99
17
71
-18
78
3
24
16
8
32
31
0
-3
-1
-7
0
99
18
42
-90
-21
140
-33
26
27
59
-3
7
-29
-5
-6
59
28
-18
13
52
13
-3
24
-2
-19
18
18
2
75
11
82
12
-3
-36
3
-5
-9
21
0
-8
-33
44
-16
-10
-21
51
14
13
4
-5
-13
-23
-57
60
-11
31
-80
19
44
87
-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
1
24
0
0
-4
-2
0
10
-6
0
-8
-4
0
-5
0
-97
0
-3
33
0
79
0
42
-5
0
0
0
0
0
-58
4
0
0
0
0
0
16
0
1
-4
0
0
-8
-13
0
1
6
-3
9
-6
-29
0
-53
-47
0
0
0
16
0
6
-8
11
5
0
-39
0
-29
33
0
0
2
-25
0
0
-14
0
0
0
18
0
-39
-4
0
-8
0
101
-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
24
24
0
-13
20
0
-6
-76
0
0
-62
0
0
23
45
0
-1
-6
10
0
0
-5
0
0
0
0
0
0
-17
29
0
-6
0
0
4
36
0
13
-3
0
0
0
28
0
36
33
47
0
1
63
0
51
13
-3
0
-4
50
0
15
140
-18
0
36
-4
0
-41
-11
2
0
4
-13
0
25
23
-8
0
0
-9
2
-71
-3
0
0
0
6
23
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
68
0
16
-109
0
2
0
-9
-1
-3
46
33
28
3
9
0
0
0
-10
6
0
-10
4
0
0
11
0
0
-14
-3
3
-13
1
0
16
-6
0
60
2
18
0
0
-43
0
-5
66
3
2
0
36
0
5
38
43
0
0
1
0
-21
36
-2
0
0
37
0
5
44
-11
-1
0
-10
0
-14
-2
0
-14
4
-73
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
47
10
41
45
39
10
33
5
9
-3
-30
-9
0
47
-31
-13
-106
-34
44
8
38
5
-11
12
-6
84
15
-63
-20
-28
71
-10
-44
-5
102
39
-4
18
-22
-58
-22
69
-6
-17
2
24
-2
34
36
59
-4
3
-19
5
0
-53
14
-12
-9
-22
10
-8
-24
1
40
43
-3
-24
5
6
-24
23
16
-35
-8
22
15
-17
-25
-23
-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
-7
0
0
13
0
0
0
3
0
-1
0
-7
0
0
74
0
0
0
0
1
0
-29
0
0
0
0
0
0
-3
0
0
0
0
0
0
-22
0
0
0
0
0
0
-58
0
0
1
0
0
0
94
0
0
0
0
0
0
52
0
-25
0
0
0
0
-27
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-29
0
16
54
0
0
0
27
0
11
-2
-9
72
0
-30
0
0
0
0
-2
1
-7
-10
0
0
0
0
-2
18
0
-1
20
0
3
0
75
1
0
90
-7
3
-5
-4
0
11
-5
0
0
-6
-56
0
2
34
-35
-5
-6
-72
0
-32
8
0
3
26
-80
0
0
-25
8
0
0
-53
0
120
-9
0
10
0
22
16
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
-8
-11
-4
-7
-21
-13
-17
-18
16
-33
-103
-8
25
21
0
1
-102
9
-1
75
34
-4
2
0
-2
3
80
-7
-92
10
9
91
20
-3
-14
-45
21
2
80
6
-32
9
14
9
-1
6
-43
-2
-13
63
-7
0
-14
77
41
48
-16
-19
-3
-13
53
35
18
-11
-10
2
-27
-5
5
20
-13
-7
8
41
8
5
61
0
-38
-31
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
36
3
28
27
0
26
85
2
-5
33
0
-8
36
-18
0
0
-21
0
19
95
-1
11
0
-3
4
8
-8
36
-66
0
20
18
11
0
14
66
-5
-9
62
-21
-10
51
66
9
5
-22
0
4
13
-6
-1
-34
8
8
0
30
5
0
8
-9
-25
-2
-11
-12
0
72
0
-18
0
31
-13
0
8
0
-10
8
16
16
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
-85
1
0
-3
18
0
3
61
-34
0
0
-36
8
0
0
2
0
0
18
-14
0
0
0
0
0
13
3
60
4
0
0
11
44
0
11
8
11
0
-5
-62
0
101
47
0
0
-1
35
0
-5
63
-10
0
1
-10
0
10
0
0
0
-6
48
0
45
0
-8
0
0
48
0
-24
-2
-2
0
0
-3
69
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
24
-15
0
-25
-3
0
0
0
11
0
66
0
0
0
-1
0
0
0
0
-3
5
0
0
-6
-41
0
0
-41
-21
0
-6
41
0
6
3
1
5
0
41
0
0
-42
46
-1
0
-9
0
7
-22
0
0
-3
-37
0
-30
-19
-21
0
0
-55
0
-103
-8
0
7
0
-17
8
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
37
8
60
10
16
29
-17
-10
8
46
59
-11
-147
35
-17
21
17
24
64
-22
56
85
-3
-56
34
43
15
53
22
4
-124
34
22
-11
-28
45
25
-23
-1
6
1
51
80
11
35
-5
13
-14
-66
-31
-9
54
-61
-12
48
5
25
0
-15
10
66
-2
107
-35
-7
-15
-4
54
-5
26
-10
22
-31
61
-1
49
-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
0
0
0
0
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
19
0
0
-3
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
5
0
0
3
0
0
0
-4
0
5
0
0
0
0
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-16
0
59
0
0
0
0
0
0
-64
0
0
0
-1
0
0
13
-2
-4
0
-4
0
0
7
0
0
6
-13
2
0
34
0
-18
1
0
0
0
-33
3
0
-3
33
0
0
53
0
16
0
0
0
0
45
0
0
-8
-1
0
0
18
0
101
-3
0
5
0
52
-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
1
-59
0
7
0
-19
14
0
-25
-15
0
0
-2
0
0
-15
-90
0
16
13
0
2
-41
1
96
-13
0
-3
-24
-33
0
-3
2
4
0
-2
14
8
-34
37
1
-5
0
3
5
-20
-49
-92
-21
8
-30
-2
-45
-22
3
9
0
-19
0
-8
-6
34
-16
0
-4
0
-105
-1
3
-28
0
5
42
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
-33
0
0
0
0
0
0
36
0
0
0
0
0
0
-26
0
9
-3
0
0
0
16
0
-3
0
0
0
0
-53
0
-8
3
0
0
0
27
0
0
-1
0
0
0
-18
0
-3
11
0
0
0
16
0
0
7
0
0
0
30
0
-4
-10
0
6
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-40
0
0
-8
-56
0
0
1
112
2
0
-20
0
0
56
65
0
-13
0
0
3
14
1
32
-36
1
0
1
43
0
0
104
59
0
-46
12
-6
14
81
0
0
20
34
0
83
93
66
0
-9
26
-3
-17
-29
0
0
28
10
-3
0
68
-36
0
3
-4
0
-69
0
-7
0
0
1
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-30
8
0
0
0
0
0
47
0
2
0
0
0
0
22
0
0
1
0
0
0
28
0
-1
-6
0
0
0
-31
0
0
3
-20
0
0
-51
0
1
0
-2
0
-6
23
-1
0
-6
6
0
0
-66
0
-2
0
0
0
0
-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
26
-35
-56
-73
15
-26
-23
-7
15
-23
-29
30
1
-7
18
6
0
46
-27
4
-24
-23
11
21
-3
-9
-47
31
-20
10
-14
2
12
19
-63
57
-8
-27
9
23
24
-13
-14
-13
16
-33
-8
-13
-39
-15
17
-48
5
-62
9
-33
-130
0
-54
-1
-17
-6
69
0
11
-52
23
37
-26
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
-18
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-53
0
0
-4
0
0
7
25
0
0
5
0
0
0
2
0
0
2
0
0
0
-6
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
65
5
0
0
0
7
0
40
-3
0
0
2
0
0
31
0
4
23
0
0
-1
-93
0
0
58
9
0
0
25
0
-6
-11
0
0
0
-23
0
3
-5
4
0
2
24
0
3
18
0
-6
-5
-9
0
-1
0
56
0
-5
-35
0
-14
0
0
-7
0
99
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-18
0
0
1
-1
3
57
-9
0
0
-6
0
0
85
8
-59
-6
0
0
2
35
0
0
8
14
0
24
2
0
-5
-59
0
0
-7
-120
0
-8
6
26
-5
23
73
0
-93
-3
0
-1
-5
-25
5
9
0
-1
0
3
-50
0
11
0
0
0
0
-62
62
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
27
-8
0
0
-5
0
-5
31
-5
2
-4
-3
-1
-28
0
62
-59
17
-3
5
11
0
0
-16
0
-6
51
-37
-1
52
-90
0
0
-6
-11
0
103
25
-15
0
-32
-18
-2
-3
19
0
61
-8
4
4
-1
29
0
1
0
-20
0
43
5
0
-20
0
-71
13
-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
-2
2
14
13
1
0
0
0
14
42
0
0
0
0
24
14
-2
29
48
-3
0
143
2
0
-10
-40
12
0
77
27
11
-20
23
8
0
78
26
0
13
41
7
0
-5
5
0
25
10
10
0
53
52
-4
-10
127
-45
0
8
-15
8
-44
65
1
0
0
29
-15
18
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
-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
14
0
0
0
0
0
0
1
0
0
6
0
0
0
-3
0
0
0
0
0
0
-34
0
-5
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
3
-12
12
105
29
66
-36
-19
-1
-25
4
5
24
66
-16
11
20
-81
64
17
-16
-24
7
53
33
30
-8
18
10
1
-46
24
15
23
74
-43
-4
19
12
-1
24
14
23
-7
55
11
-32
3
17
0
1
4
-20
10
26
12
-1
0
-34
-20
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
0
-15
-1
1
0
0
-81
0
0
3
1
0
0
-24
0
0
27
3
0
0
-16
0
-16
-1
-29
0
-4
-51
0
64
-11
0
0
-1
-20
0
1
-3
-11
-3
0
-11
0
-52
-4
0
2
0
-8
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
-24
0
0
0
0
0
0
-2
0
-2
6
0
10
0
86
0
0
0
0
0
-2
63
0
0
-32
0
0
0
-43
0
-3
-1
0
0
0
47
0
79
2
0
5
0
93
0
0
2
0
0
0
-25
0
-20
0
0
9
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
2
0
0
0
0
0
0
-4
0
0
0
0
0
-6
11
0
0
0
0
0
0
-20
0
0
0
0
0
0
-6
0
0
-5
3
0
0
-43
0
-11
0
0
0
0
2
0
0
0
0
0
0
-57
0
19
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
18
0
0
0
0
0
6
16
0
5
-5
0
0
0
-54
0
0
-4
-5
0
0
15
0
-4
0
0
0
0
-30
0
0
-13
0
0
0
-86
0
-5
-20
0
0
0
-62
0
5
-1
0
0
3
101
0
-5
9
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
10
0
0
1
0
2
3
0
0
0
-25
0
0
-10
0
0
8
-56
0
5
7
0
0
0
34
0
-6
-6
0
0
0
20
0
-114
0
-5
0
0
81
0
-1
-5
60
0
0
48
0
92
-3
0
0
0
-29
-70
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-2
14
0
0
0
-13
0
0
0
-5
0
0
-9
0
0
0
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-11
-59
34
41
11
-30
18
43
-35
-24
58
4
-30
14
39
-11
29
38
26
-12
-17
-48
7
22
-10
-31
-10
-3
42
-11
-40
-2
-4
6
-45
-98
20
31
-48
3
-7
3
-20
-62
0
-9
-1
-10
-17
3
-60
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
2
-44
0
50
37
32
0
10
116
-1
44
-43
-26
1
31
-17
0
2
-30
24
4
2
17
0
54
20
-1
-4
0
25
3
0
-25
-1
0
0
42
0
33
0
9
-8
0
24
-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
-44
0
-1
0
0
0
0
-17
0
3
2
0
0
1
-19
4
0
2
0
0
0
-24
0
-2
-1
0
0
0
35
0
0
3
5
0
0
-31
0
0
0
0
0
0
31
0
-11
0
0
0
0
-10
6
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
0
0
0
0
0
0
53
0
-13
0
0
0
0
-17
0
-1
-2
0
0
0
-63
0
26
0
2
0
0
-31
0
0
0
0
0
0
68
0
-3
0
0
0
0
45
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-14
0
0
0
-63
0
0
-26
0
0
0
-65
0
6
27
0
0
0
69
0
0
2
0
0
0
-62
0
34
0
0
0
0
100
0
0
7
0
-14
0
21
0
39
-3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
5
0
0
2
3
0
5
-20
0
0
-25
91
0
0
-45
0
0
0
-10
0
6
-17
0
0
0
-6
0
3
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-1
1
50
-20
2
33
12
-19
5
-44
-14
79
-21
-22
-24
29
-53
-19
-110
1
-2
-3
-28
37
-7
-77
-53
-38
-2
110
100
21
5
-8
20
-3
82
-24
-22
-42
0
14
21
-5
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
6
0
0
0
49
0
17
0
0
0
0
-48
0
0
-5
0
0
0
2
0
-15
0
0
0
0
123
0
0
-13
0
3
0
-20
0
2
0
0
0
0
32
-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
24
-90
1
-37
18
-27
16
-7
58
49
-26
44
-3
0
-23
45
0
69
48
63
5
-4
33
0
-109
26
2
10
-31
29
1
7
27
4
14
0
-51
0
65
0
0
77
0
47
2
-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
-10
46
0
0
-10
45
0
0
98
0
-30
-43
-13
0
6
80
0
-3
15
2
0
19
3
0
100
19
0
0
0
13
0
-3
2
-5
23
0
78
0
28
-7
0
-15
0
36
24
14
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
14
0
2
9
0
0
0
16
0
0
0
0
0
0
-35
0
2
0
0
0
0
35
0
0
0
0
0
0
-7
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
53
0
0
0
0
0
0
11
0
-34
-4
0
0
0
21
0
0
5
0
0
0
14
0
-5
0
0
0
0
-28
0
0
21
0
0
0
-16
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
-72
0
13
-16
0
0
0
26
0
14
94
10
0
0
-51
0
5
41
-9
0
0
-20
0
0
18
-9
0
0
25
0
119
18
0
0
0
47
-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
15
3
-62
63
64
50
-78
-43
16
9
-16
33
25
-32
30
4
0
9
-13
0
-54
-9
-18
-43
72
10
-9
-28
10
-14
2
-22
30
-14
22
-2
15
-49
113
-31
-75
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
-21
0
0
1
13
0
0
-16
0
-5
0
0
0
0
3
0
0
-6
0
0
0
-33
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
-16
56
0
0
3
-5
0
0
58
0
0
7
-8
-1
-3
2
0
-6
0
5
0
0
3
4
0
-2
0
0
0
-19
0
-7
0
0
0
0
43
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
3
-17
42
25
3
-11
-65
0
4
-5
45
10
3
65
0
-67
28
0
0
-15
31
0
-2
-6
3
18
0
44
0
84
10
7
-18
0
-12
-26
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
55
2
-66
80
0
0
0
-30
0
1
-87
-27
24
8
31
0
-33
17
0
7
11
93
0
-17
11
7
-21
0
-38
0
-23
-8
0
7
0
88
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-26
0
0
0
3
0
0
0
-2
0
0
40
0
-5
-5
0
0
0
-47
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-29
3
0
0
71
0
-2
27
-3
10
1
94
4
-3
-14
3
0
0
16
0
36
6
0
0
0
61
-16
-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
23
-5
-26
16
79
-5
-33
56
8
-20
1
20
16
-53
30
-4
122
-3
-3
11
-21
53
5
-5
-7
20
-14
-41
-16
4
18
-12
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
5
6
0
0
-53
0
0
-5
0
0
0
53
0
-7
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-3
0
-82
0
143
86
4
0
-46
-46
0
0
-30
9
-27
0
21
0
-35
-1
23
-51
0
14
29
43
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
7
34
-6
45
-20
0
35
116
-9
6
-26
-9
0
-23
128
-32
-8
-3
-6
0
18
13
0
-13
0
0
-110
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
0
0
0
87
0
0
0
0
0
0
67
0
0
0
0
0
0
10
0
-4
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
29
-11
0
-1
38
0
4
-6
0
0
0
41
0
0
0
0
0
0
-90
0
11
0
0
0
0
92
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
30
5
-7
-3
0
8
0
2
-3
5
0
0
55
0
109
17
0
15
0
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
23
9
16
-26
-11
85
-157
-30
6
21
-63
41
-14
17
27
-5
11
5
67
-2
-35
5
-17
-23
-5
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
10
3
0
0
0
-45
0
0
7
0
0
0
-47
0
-2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
61
7
0
0
-2
-42
1
0
-10
-18
-4
0
57
0
32
0
0
57
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
40
59
18
35
32
-43
0
22
-24
-18
14
0
-6
0
44
1
-1
-84
0
-10
24
-44
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
32
-47
0
-10
-8
-5
1
33
60
1
0
1
7
2
66
7
0
0
0
-90
-9
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
-44
0
-81
3
0
0
-1
-24
0
0
15
0
0
0
-3
0
6
-6
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
26
-5
44
0
0
55
0
112
14
0
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
60
-27
64
108
-113
7
45
-30
42
-2
57
-15
26
-4
-26
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
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
68
-12
0
7
-24
2
-29
-1
-27
-1
47
-20
7
-4
0
4
-9
14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-61
149
-10
0
-25
0
-6
0
0
31
-4
-20
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
-7
0
7
1
0
-3
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
4
0
-31
0
0
0
0
56
0
57
0
5
0
0
24
-8
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
-7
0
-3
0
0
0
0
22
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
54
1
10
51
-36
-2
-37
-93
36
-40
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
1
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
71
0
0
57
0
-49
53
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-25
0
6
0
-46
-45
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
-13
0
-32
9
4
0
0
-119
2
-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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
20
124
17
-87
-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
-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
39
35
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
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
34
-27
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
-4
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
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
-5
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-10
-4
0
0
5
8
0
0
-3
0
0
-5
2
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
-34
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
-5
0
0
-1
0
0
0
15
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
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
-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
10
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-33
0
0
-20
0
0
0
-2
0
0
59
0
0
0
-1
0
0
6
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
36
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-24
0
0
0
0
0
0
4
0
-3
-10
0
0
-13
-21
0
0
-1
0
0
-3
-14
0
0
9
0
0
0
-45
0
0
-4
0
0
0
0
0
-2
-3
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
0
0
0
9
0
-5
50
0
0
-2
0
0
0
17
0
0
-3
0
0
0
6
0
0
7
0
0
0
-9
0
-1
-20
0
0
0
-59
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
-4
0
-6
0
0
0
0
0
0
0
-1
0
0
0
-19
0
-2
2
0
0
0
0
0
0
0
-1
0
0
0
0
-7
0
0
0
0
-13
0
0
0
0
0
0
-4
0
1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-33
-25
5
1
17
-24
16
12
32
-73
60
-4
6
-7
0
0
0
0
0
0
0
1
41
40
-29
32
-10
-42
0
19
-36
-70
-22
-15
42
-4
45
-13
14
-10
-15
-12
-75
33
62
0
-19
69
-1
-14
-109
-1
5
-43
-16
0
-7
9
2
6
17
4
-19
-18
-23
-9
-93
2
1
15
9
-40
48
-25
-13
18
45
-11
26
21
-26
3
3
18
2
1
1
-6
-10
-29
-4
3
-31
49
-53
-2
16
4
-17
54
-86
46
13
3
-5
32
21
12
-32
-17
-14
2
-30
-70
-2
-71
-26
-24
18
-54
1
-3
-9
42
11
9
23
1
144
-71
-6
-16
-16
9
15
-65
3
-1
5
-13
4
1
-44
0
9
12
-72
-11
-4
-30
15
1
-1
-20
4
3
-77
-64
4
-129
-35
2
-2
-46
13
-5
6
-11
35
-4
-43
24
8
35
-4
17
-1
5
34
-46
-10
9
-100
-2
18
-90
11
3
-16
-23
-2
-70
-35
2
18
-23
8
3
99
74
-11
-63
6
23
1
29
40
8
10
-21
-3
6
-37
-31
2
2
-3
12
-3
-33
1
-9
-2
-26
7
1
80
-2
-32
-17
24
-16
-2
27
-13
16
7
7
-5
-1
-50
-40
52
71
10
16
8
-30
-90
-53
34
-28
50
7
-62
-25
-37
-48
26
2
-12
-39
-57
-14
-43
-62
31
7
2
-38
-7
90
-33
24
-7
7
12
4
-7
-41
33
6
96
-8
-1
-42
11
-35
9
38
-54
13
6
4
13
0
-2
-4
15
-38
0
113
-9
42
-58
19
-42
52
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
40
0
0
0
-1
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
-42
0
0
0
0
0
19
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
63
0
0
0
0
0
0
-14
0
0
0
-1
5
0
43
-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
29
0
0
0
0
0
0
17
0
57
3
-2
0
0
0
6
76
0
0
0
0
0
4
0
0
1
0
0
0
6
11
0
0
-4
0
0
-2
44
0
0
1
0
0
0
32
0
0
-5
0
0
0
-6
0
-29
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
30
0
0
0
0
0
0
-7
0
0
0
1
-5
0
2
0
0
0
0
0
1
-71
0
0
3
-4
0
1
29
0
0
6
0
0
0
-7
0
0
0
0
0
0
49
0
0
0
0
7
0
9
0
0
-2
0
-7
0
-33
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-53
0
0
0
0
0
0
93
0
3
0
0
6
0
50
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
67
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
-32
0
0
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
48
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
3
81
0
0
0
0
0
0
-33
0
0
0
0
0
0
38
0
0
0
0
0
0
4
0
14
0
0
0
0
-8
0
0
0
0
0
0
35
0
0
0
0
0
0
82
0
0
0
0
0
0
-4
0
0
0
0
0
2
62
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
-8
0
0
0
14
0
0
-1
0
0
0
21
0
0
0
0
0
0
25
0
0
0
0
13
0
-78
0
0
0
0
0
0
37
0
0
0
0
0
0
20
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
1
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
20
0
0
0
0
0
108
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
0
39
0
0
0
0
0
0
49
0
0
0
15
0
0
40
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
-14
0
0
0
0
0
-2
-2
0
9
7
0
0
-2
-11
0
0
2
0
0
-2
-7
0
0
0
6
0
0
14
0
0
0
0
0
0
1
0
-15
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-14
0
0
0
0
0
0
67
0
0
0
0
0
0
64
0
0
3
0
0
0
75
0
0
0
0
0
0
66
0
0
-5
0
0
0
-13
0
0
-4
-2
0
0
8
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
-9
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
-15
0
0
0
0
0
0
-11
0
0
0
0
0
0
55
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
110
14
0
0
15
0
0
34
0
0
0
0
0
0
8
-10
0
0
0
-3
0
0
0
0
16
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
26
0
0
-24
-8
0
0
11
0
0
32
27
0
0
-8
-5
-10
-14
5
0
0
0
0
-13
4
0
0
0
-15
0
-25
14
0
0
0
-3
0
1
0
7
0
0
-1
0
-17
0
0
0
0
0
0
7
0
47
-2
-1
0
0
0
0
-2
0
0
1
0
0
0
124
0
17
-4
5
0
5
31
0
0
31
0
0
-2
32
0
0
44
0
0
1
21
0
0
-3
0
0
0
8
0
26
3
-3
0
0
-15
0
0
0
0
-1
0
-1
0
0
0
0
0
0
41
0
-1
0
0
0
0
-71
0
0
-8
0
0
0
73
0
0
0
0
0
-1
3
0
-1
-11
-4
0
0
-51
0
0
-2
5
-1
8
-109
0
10
-25
0
0
0
-81
0
0
0
0
8
0
-2
0
0
0
0
-3
0
6
-1
0
0
0
0
0
16
2
0
0
0
0
0
-4
0
3
0
0
0
0
5
0
0
0
0
0
0
-3
0
9
3
0
0
0
31
0
2
0
-8
0
0
16
0
3
3
3
0
0
-5
0
0
0
10
0
10
-86
0
18
0
0
-6
0
-14
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
48
0
0
0
4
0
0
16
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
41
0
0
-2
0
0
12
0
0
0
0
0
1
1
0
-1
0
0
-8
0
0
0
-69
-2
0
-66
0
0
0
71
0
0
56
0
0
0
33
0
0
50
0
0
0
-2
0
5
-7
0
0
0
-98
-10
1
-5
0
0
0
17
0
-1
0
0
0
0
0
0
58
0
0
0
0
0
0
-3
0
-10
0
-5
0
0
0
3
0
0
0
-10
0
0
-6
13
0
-69
2
0
0
51
-18
0
0
-22
0
0
0
65
0
0
-3
0
0
0
-8
0
0
-12
0
0
0
5
0
-6
0
0
0
0
17
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
2
33
0
0
-5
0
1
0
-63
0
0
5
18
-3
-7
37
0
0
35
0
0
0
14
0
0
17
-1
0
0
37
0
0
0
0
0
0
-2
0
0
-1
0
2
0
-57
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
19
3
0
0
4
-14
0
0
0
10
0
0
21
0
13
32
0
0
10
-13
0
-3
0
-5
0
0
33
0
-4
-3
0
0
0
1
0
0
0
0
0
0
-3
0
1
0
0
-1
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
-2
4
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
-60
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
0
0
-7
13
0
0
3
0
0
103
0
0
0
24
-1
0
18
0
0
0
5
0
0
8
0
0
0
25
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
-45
0
0
0
0
0
13
7
0
-45
-7
0
0
-1
17
0
0
-4
0
0
5
100
0
0
11
0
0
-3
-9
0
0
15
0
0
0
43
0
-16
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
-2
-27
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
4
0
0
3
-39
0
0
-7
0
0
0
43
0
0
0
3
0
0
14
0
0
-6
0
0
0
-4
0
0
0
0
0
0
-86
0
0
0
0
0
0
2
0
0
0
0
0
0
14
0
2
0
0
0
0
5
0
0
0
0
0
0
-1
0
6
0
0
0
0
14
0
0
0
0
0
0
5
0
-1
0
0
0
0
-8
0
0
0
0
0
0
-14
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
-52
-121
-101
-2
0
-3
-32
0
0
0
0
0
0
0
-7
51
35
131
44
-6
-18
10
13
27
6
40
26
12
-13
-31
-13
43
-34
22
-23
34
-37
-35
5
-52
-15
-10
5
-33
2
-3
-25
-6
-14
-32
-8
-63
-4
-12
22
49
-40
-43
-12
3
-23
4
4
4
-55
-33
-14
41
-50
-20
-4
-18
59
170
6
4
59
0
4
-49
-5
48
-66
-14
-4
-38
-44
-125
0
-23
0
-7
64
80
26
-15
-36
-1
-72
-14
-31
-44
29
-38
5
-21
-63
46
-9
-76
54
20
16
1
-54
8
37
7
-4
-37
0
-32
-8
-3
44
60
-15
-16
-63
-7
-4
3
0
2
4
23
-18
0
12
-16
29
-1
-2
-13
6
-28
-19
-3
-1
-51
73
18
-14
-5
-59
6
-65
-2
-4
12
-11
-21
5
-126
22
38
37
44
43
-1
-26
-23
-39
26
24
27
4
-32
36
11
-24
-45
-100
-22
-33
-25
-9
-6
5
-17
-1
-10
39
7
-90
28
-20
-7
30
-6
9
-20
-56
-38
-1
-46
-49
-1
83
-28
16
2
78
46
16
12
48
-22
-3
-40
-53
-8
63
37
-3
-3
63
9
-27
0
8
-21
6
-27
-21
48
-40
-5
0
-15
44
-109
27
-29
-40
-45
-37
-66
-9
48
-116
-22
-104
8
21
155
0
-8
-28
-25
-2
12
-53
-18
66
5
15
-1
1
-5
6
-10
-25
-14
-1
101
-18
27
-28
-26
-8
-18
-94
-39
-11
-22
6
54
-2
-66
-11
-74
-53
-3
-32
3
-2
-5
4
67
-47
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
46
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
125
0
0
0
0
0
-114
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
49
0
0
-25
-1
0
0
0
0
0
-10
-1
0
0
-6
3
0
-26
18
0
0
0
0
0
-6
0
0
0
-2
0
0
-6
1
0
0
9
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
45
0
0
0
0
0
2
-7
0
0
0
0
0
0
-1
0
-43
-39
0
0
8
-43
0
0
2
0
0
-2
31
0
0
24
-2
0
-3
3
0
0
-1
0
0
0
-13
0
-23
-2
0
0
0
-1
0
0
0
0
0
0
-138
0
0
0
0
0
0
-33
0
0
0
0
0
0
-29
0
0
0
0
0
0
-34
0
0
-4
0
0
0
-5
0
1
-9
0
0
0
-9
0
18
-1
0
0
0
43
0
0
46
0
0
0
-10
0
0
0
0
26
0
34
0
0
0
0
0
0
-18
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
15
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
-20
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
13
0
0
0
0
0
0
-1
1
0
0
3
0
0
18
0
0
0
-7
0
0
0
0
0
0
-52
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
-3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
5
34
0
0
0
0
0
0
0
0
-45
0
0
0
-1
-56
0
0
0
0
0
0
14
0
0
-3
0
0
0
-26
0
0
0
0
0
0
-23
0
13
6
0
0
0
2
0
0
0
0
0
0
69
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
26
0
6
0
0
0
0
3
0
0
0
0
-4
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
-9
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
-11
0
0
2
-3
11
0
0
0
0
0
0
0
0
-2
0
-3
0
1
0
0
16
-2
0
0
0
0
0
-10
0
-2
0
35
4
0
2
0
0
0
0
-4
0
0
0
-7
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
-5
0
0
-43
-3
0
0
-1
-3
0
-8
-1
0
0
79
21
0
13
3
0
0
-44
0
0
-17
0
0
0
-23
-26
0
-47
-1
0
0
-7
10
0
0
-6
0
0
21
-34
0
0
-2
-7
0
0
-1
0
0
29
-5
-2
0
0
0
35
-46
0
2
-1
0
0
5
-2
0
81
17
0
0
-14
30
3
0
63
-14
0
26
36
0
0
76
-5
0
0
-23
0
4
-21
0
0
32
5
0
-50
19
-5
0
0
3
0
15
0
14
0
0
44
-25
0
0
3
0
0
32
0
0
0
0
0
0
-114
0
0
-1
-10
0
0
43
0
-1
20
0
0
-9
65
0
7
-78
-6
0
4
26
0
-1
-25
-9
0
-21
50
0
0
-48
-15
0
4
15
0
1
-46
0
0
-3
86
0
-2
-6
-7
0
0
-11
-10
0
0
0
0
0
-61
4
0
0
0
0
-1
0
0
24
0
2
0
0
-17
0
4
13
0
0
0
-23
0
-24
-3
8
0
0
-5
0
7
1
-5
0
-10
-52
0
-33
-1
-6
0
0
25
0
0
-3
-3
0
0
-74
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
-51
-35
-5
5
36
-21
-3
-25
-102
-21
-1
2
-8
1
55
-10
-3
-3
-61
24
0
-5
1
1
-5
0
0
-91
0
0
2
0
-3
0
-1
1
54
6
0
-6
-2
10
-1
-40
-2
0
-9
-46
46
35
77
18
0
-154
18
3
1
46
-4
22
-17
-18
37
10
34
14
6
55
0
-72
-10
-2
0
0
-7
9
-104
-53
-21
0
0
-21
0
-52
26
-49
0
0
-27
-33
-30
0
6
10
0
-3
26
-19
-2
45
20
-1
1
-69
0
5
-59
-3
0
19
-4
4
73
-21
-7
-43
-15
-51
3
-7
-46
2
6
-31
4
5
-42
-1
0
9
31
-21
-2
-45
-11
0
26
32
1
0
-6
4
-5
-40
50
-60
-14
-1
-79
0
-6
33
2
-92
0
5
-29
-14
0
1
-3
0
-7
5
5
0
81
-1
-18
-15
-1
19
-58
49
2
-33
-6
0
8
0
4
-62
33
-9
-5
2
16
67
4
92
7
-3
-5
-53
-19
-26
6
-41
1
-9
-105
-46
74
0
39
1
4
-46
1
-107
-1
-25
0
-8
-17
-105
-10
0
-17
-8
-2
0
42
-5
0
32
13
0
7
0
0
0
-53
-8
20
0
4
21
6
-2
0
35
79
-28
9
25
-66
13
17
-48
-3
0
-2
-53
6
-56
-72
-50
2
1
-54
0
-102
23
-74
-4
0
61
0
32
102
-35
0
0
-1
0
38
-11
1
-30
0
12
-19
-6
-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
8
31
-7
7
-34
4
-3
-22
5
0
0
-2
0
1
2
-8
-1
-4
6
-1
29
0
0
0
26
0
0
-17
0
0
27
0
0
0
0
2
2
34
0
0
-1
0
17
-22
0
1
-114
-81
11
-129
0
0
7
37
0
-22
110
2
0
2
68
32
14
53
24
0
5
13
0
11
13
23
0
1
80
14
14
-71
0
0
0
37
0
-5
0
8
0
0
14
-1
4
0
0
3
0
0
0
0
0
-67
-23
-1
0
0
0
-52
-71
0
0
60
0
0
-36
0
0
-21
-56
-9
0
4
-50
0
7
52
1
0
-43
56
0
5
13
1
1
-34
23
0
-1
51
0
0
0
-46
2
-18
130
32
0
0
-24
0
0
-1
0
16
0
-3
5
-7
0
4
0
0
-30
-1
4
-1
-9
-1
-8
-24
0
2
5
-2
0
5
0
4
5
-45
0
27
-54
-14
5
15
-61
-26
-5
-26
13
9
36
2
6
-7
5
-48
0
69
7
-79
-14
0
0
0
-4
2
0
36
0
-1
0
-3
2
-36
-87
0
-46
-8
-2
0
-16
0
0
-2
0
0
-29
33
0
-9
-34
0
-64
-2
0
0
51
0
0
0
-43
-8
0
-6
20
0
133
10
-1
-10
-1
15
0
77
62
37
-3
14
8
0
5
1
0
0
0
-62
0
-1
0
-13
-5
0
-83
0
6
4
0
-113
0
-19
-4
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
55
6
0
0
-4
0
1
-39
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
-5
0
0
-69
0
0
0
0
0
4
24
0
0
0
0
-1
1
0
0
-8
7
3
-43
-5
0
-4
14
0
0
-2
0
0
1
26
18
0
19
0
0
0
53
0
1
7
17
0
0
-15
-3
-15
20
0
0
0
5
0
5
0
5
0
0
0
0
-19
0
0
-1
0
0
0
0
0
-2
0
5
0
0
0
1
42
0
0
8
0
0
58
3
0
-64
113
-4
0
-18
-48
0
2
-69
0
0
-50
26
0
-1
15
2
0
1
49
0
0
5
-4
0
0
-3
0
109
3
2
0
2
63
0
0
0
0
0
0
34
0
3
0
0
0
0
-28
0
0
0
0
0
0
-29
0
-1
-2
-3
1
0
19
0
0
-29
0
0
0
1
0
0
4
0
0
2
35
0
-1
18
0
0
-2
-4
0
4
33
23
0
0
-2
0
0
0
0
6
0
-21
0
0
0
0
0
0
6
0
0
0
0
0
0
19
0
0
0
0
0
0
45
0
22
0
0
0
0
16
0
4
-3
-1
0
0
-9
0
0
0
0
0
0
-29
0
0
-3
1
0
0
-16
0
-7
0
0
0
0
-21
0
0
4
0
0
0
-25
0
20
-1
0
0
0
22
-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
-27
27
0
0
-10
0
-3
-7
-2
0
0
-1
0
0
2
24
3
0
-6
0
0
-11
0
0
51
0
-1
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
0
9
45
0
0
-14
33
6
23
-1
8
-1
60
0
0
28
24
7
0
-13
11
4
-33
11
0
0
-2
0
6
64
-4
0
0
46
4
-13
-5
5
-1
0
-2
0
-6
0
-2
0
0
1
0
79
0
0
5
0
0
1
-6
7
-23
2
-1
3
-6
0
-39
-11
0
0
0
0
0
31
-15
0
-32
-25
75
0
-100
28
0
-3
44
11
3
55
-74
0
-1
-23
-6
0
14
9
0
0
74
0
-4
-6
-31
0
-19
5
-7
1
0
-26
0
0
0
3
0
0
-17
24
2
0
0
0
0
-1
1
0
0
0
0
0
22
0
0
-1
15
0
19
-19
0
0
-1
2
13
0
-31
-7
0
-8
7
0
-11
14
-15
0
44
4
0
4
-12
-6
0
8
0
-8
0
-13
0
0
34
7
0
0
12
0
5
2
0
-21
0
19
0
0
0
0
0
0
33
0
0
0
1
0
0
16
0
3
0
0
0
1
36
0
-2
-2
-8
0
0
33
0
-11
-9
0
0
8
54
0
2
1
0
0
-5
16
0
19
-30
0
8
0
-19
0
0
-5
0
5
0
-104
0
-13
0
0
-2
0
45
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
24
18
38
33
-20
-6
-3
15
-6
-2
-9
-18
3
15
3
-41
8
-6
35
-31
-44
13
5
0
14
34
-2
-18
0
0
-5
0
0
0
-3
0
-27
-35
-1
0
-6
11
-5
5
2
2
-43
-8
26
-18
-38
6
22
29
-5
-5
18
53
19
4
-43
-67
-15
-6
76
93
8
-22
41
-54
3
74
17
-1
7
-25
62
-33
48
0
-3
-51
-13
69
44
-17
-1
0
58
22
4
-3
0
-35
0
-1
15
31
3
-5
52
-17
0
-68
0
-58
-15
0
0
3
5
-32
-4
10
0
-11
32
32
-18
-47
-5
1
-17
34
-50
1
-25
0
40
25
37
-14
25
10
6
14
-5
11
-4
9
-6
22
0
17
62
3
15
51
-18
0
-1
43
4
-23
0
-11
-63
-31
0
67
10
-1
-20
62
-1
0
-18
14
25
-18
-33
0
17
-33
-28
40
-6
-5
-9
-43
3
-26
-103
8
52
41
-65
-11
-37
-14
-41
42
-23
-34
-72
-52
-53
-2
4
28
-16
19
58
-15
7
0
0
48
-37
20
18
-3
-2
-4
21
-10
9
0
3
4
0
1
-14
-19
0
-25
-7
-1
0
23
2
-6
-50
9
22
31
1
-4
-1
5
-17
-22
30
-55
14
-3
-6
1
66
61
-75
74
-7
-10
5
34
4
-7
-43
-57
-8
-2
-19
-23
-10
-10
-4
-5
-1
-14
45
-7
-29
-1
5
0
31
-26
1
70
0
22
2
2
-5
-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
-31
10
35
-14
-74
-1
-17
4
-4
0
0
9
-1
34
-85
-21
-8
-4
0
0
22
-1
-3
-1
-3
0
0
-46
0
0
-11
0
-7
0
-82
7
65
-13
1
1
0
-15
34
68
-8
-1
-23
10
-4
-8
8
0
-1
-68
0
68
-65
32
1
0
-37
-1
-71
-14
-64
6
-1
-79
0
-6
-57
-32
0
-1
-26
0
-45
-4
-3
0
0
76
0
16
-5
-9
0
0
-32
0
1
0
-33
-48
0
0
8
-10
2
9
-45
-35
-148
0
-5
-15
6
0
7
14
0
10
-46
-46
0
20
4
-4
5
-1
-17
-1
4
-48
0
-9
-21
-7
-4
1
-40
2
-3
-2
-3
0
31
7
0
94
12
-15
0
-1
15
0
103
27
7
3
-2
0
0
-24
1
-9
26
-75
0
0
57
-3
-6
-71
-1
5
0
2
-36
35
0
-3
57
0
6
53
-13
-4
-4
40
-2
15
55
29
0
-14
16
2
27
33
23
-10
14
6
0
20
9
-49
-2
-17
-1
0
23
81
3
-8
-18
37
4
85
-27
28
0
9
52
0
-42
0
-15
-39
-7
-3
0
137
0
-6
-4
0
-10
0
-1
-14
30
0
67
-35
0
-6
-65
-54
0
6
21
0
-6
105
36
-4
-65
-1
0
5
-71
21
8
-24
-27
2
22
45
30
3
-71
-8
0
-37
14
33
-15
5
54
1
14
2
14
0
37
-5
0
144
0
14
35
56
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
6
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
3
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
34
0
0
0
-20
0
0
51
0
0
0
0
0
0
0
0
0
0
-25
0
0
-13
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-35
6
0
0
0
0
4
50
0
0
0
0
0
0
10
0
8
13
0
0
3
14
0
0
14
0
0
8
11
0
0
18
0
0
0
7
0
0
-9
0
0
0
0
0
-22
5
0
0
0
-60
0
0
0
0
0
0
37
0
0
0
0
0
0
11
0
0
0
0
0
0
8
0
0
0
0
0
0
-25
0
0
2
0
0
0
-109
0
0
14
-6
0
-1
-79
0
0
10
0
0
0
14
0
0
-1
0
0
3
-28
0
0
0
0
0
0
-5
0
0
0
0
0
0
-43
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
-11
0
0
-3
1
0
0
-22
0
2
0
0
0
0
-19
0
1
8
15
0
0
-9
0
0
0
1
0
0
-41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
23
-37
58
12
10
34
-45
-26
-37
47
13
5
48
-52
18
-77
19
-8
-119
0
0
-14
0
0
-13
0
15
15
-63
-14
38
74
0
100
25
-5
-7
34
-50
102
72
66
-5
-2
58
87
0
-52
78
-56
-82
-29
-22
-21
-28
3
61
-54
-9
2
27
95
-79
40
-5
9
-34
-70
-41
29
-5
-23
-53
78
-139
-4
-71
-2
-1
-22
-48
-98
0
35
-16
1
9
-52
-18
29
-25
-45
57
-31
37
-1
13
-34
-19
-29
11
-14
-79
-5
-7
5
21
-7
-21
-18
30
56
14
9
22
85
21
-12
-14
-15
9
6
76
-16
7
11
14
-60
4
38
-24
30
-29
-8
-18
44
79
-5
-1
-74
-3
-43
-33
-29
-55
1
-28
-107
-36
0
3
8
1
-26
-42
-13
40
39
13
59
-18
-60
-58
27
-43
14
67
-54
6
66
-37
-70
25
85
15
32
-68
-3
-11
35
-29
-62
-60
4
50
35
47
7
-55
-7
9
-84
-15
94
6
-21
57
19
46
58
27
0
-76
-9
42
-48
9
-26
0
-35
-23
53
2
69
35
-6
5
93
-26
-3
18
-11
17
-17
-9
-32
-108
90
-54
16
7
4
-37
83
-74
88
-66
-18
-5
13
28
62
58
8
-10
61
-24
1
75
29
17
-2
-3
44
-13
60
23
8
-19
14
-1
-70
-49
18
43
-77
-2
48
14
19
28
0
-34
72
56
41
-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
-130
50
0
0
-3
0
-3
2
7
0
-2
8
-7
-1
0
-1
0
-13
0
0
1
0
0
11
0
0
0
0
-1
33
26
0
13
0
0
94
60
0
0
24
-31
13
130
2
0
0
88
0
-5
51
9
4
-7
63
-18
64
-110
0
5
-9
-6
-3
66
63
63
0
-3
-114
-30
-45
5
-5
-6
-3
4
0
-45
-3
-33
0
0
49
-53
-90
-1
0
-62
3
0
-1
-7
0
-35
-20
-33
-6
-16
0
33
-25
4
0
-13
0
1
42
39
0
9
73
55
0
-19
-63
2
-33
75
0
0
-9
0
5
-2
-42
-35
-10
9
-68
0
11
-85
11
-1
-50
-8
0
-5
-46
23
-1
8
-37
0
0
1
0
-20
0
-9
-90
93
0
2
0
0
-11
0
0
-1
20
0
22
-16
5
-8
1
81
-2
-29
33
-18
-1
-26
0
2
-82
-6
0
-74
28
-44
-18
-33
0
92
-35
10
62
-18
-52
-27
-4
-91
62
101
7
84
1
4
36
101
3
-50
-27
-100
0
35
107
-77
17
0
21
-30
4
0
-10
21
0
-77
0
-2
0
58
0
-1
-97
-1
-76
0
-5
0
23
19
-3
-53
-47
22
0
83
5
0
8
-38
-15
0
-19
0
-5
101
29
85
-9
6
-49
1
-13
0
6
19
-2
30
0
14
-21
53
19
-22
-16
-20
-57
-20
5
-32
0
9
-18
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
33
0
0
0
0
0
0
0
3
0
0
5
10
2
0
1
0
5
0
0
-7
0
0
42
0
2
0
0
0
4
-1
0
0
0
-2
-3
5
0
0
14
-1
17
-31
3
0
0
9
0
7
34
0
0
0
39
2
-21
-51
-8
0
4
87
0
-19
-47
11
0
10
-64
2
3
3
2
0
0
54
0
2
0
-1
0
0
-5
0
-34
0
-9
-9
0
0
-10
58
0
37
15
-8
1
-3
0
-4
17
0
0
7
1
7
-26
-22
0
-9
48
-33
1
100
49
0
0
33
0
0
5
0
0
-9
58
19
-1
6
-5
0
2
-98
0
4
-7
-18
0
31
-6
-3
0
-3
-81
0
0
-13
0
-2
0
-8
-1
0
0
0
10
-1
-1
3
0
0
0
0
-1
-20
0
3
-16
0
-7
-8
-33
0
0
-15
0
-1
6
28
13
0
108
32
4
-7
13
8
-7
0
0
0
32
13
0
3
13
-34
0
2
-7
0
0
-2
0
0
0
14
0
0
7
0
4
0
-26
0
2
0
0
0
0
2
-4
0
5
7
-6
0
49
0
21
0
0
0
0
-58
0
-4
-1
25
0
4
5
0
-2
0
0
3
0
-57
-2
14
43
8
0
0
-83
0
-7
7
0
-5
0
27
0
-11
7
10
9
0
-22
0
-6
2
0
-10
0
-92
-11
-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
-30
-5
0
0
9
0
0
17
24
0
0
9
1
0
0
2
0
17
0
0
-21
0
0
-5
0
0
0
0
0
-3
35
0
0
9
0
44
57
0
0
70
70
5
-2
-4
0
0
-2
0
1
-10
22
-2
0
0
-48
2
-13
43
2
8
82
0
19
31
8
0
8
2
1
-2
-9
-14
0
0
-4
0
-5
-2
-5
0
0
0
0
-41
0
0
-18
0
0
0
-6
0
-59
-15
5
0
4
0
13
-53
0
0
0
0
0
-79
-56
0
36
-65
29
0
47
23
0
2
21
0
0
80
7
0
-1
36
60
0
73
15
0
-7
-60
-6
1
-31
-33
0
77
-4
-18
0
5
22
0
0
1
0
0
0
-13
1
6
0
0
0
-1
11
0
1
0
0
0
-4
-56
8
0
33
-14
0
-20
54
0
1
-33
0
0
6
21
-1
-1
-85
73
-7
-14
45
1
0
-91
0
5
-22
14
0
4
102
11
0
0
19
0
-2
-5
0
0
-1
37
0
4
5
2
9
0
30
3
0
0
3
0
0
-20
2
0
0
4
0
0
27
3
50
1
3
0
-5
-30
0
-8
5
-3
0
0
-30
11
46
-29
4
2
11
-44
0
5
2
-4
4
0
-50
14
55
-48
0
0
-9
37
0
-9
1
0
0
0
-28
10
20
0
1
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
-196
-8
4
11
4
-1
0
-30
-15
27
0
-24
3
-3
0
-8
-2
-93
10
-19
-75
0
1
-11
0
0
0
0
0
6
51
0
-1
0
0
-40
7
0
7
-19
-90
27
38
74
0
5
62
0
-6
27
43
4
37
-33
-45
35
-48
122
4
31
16
-5
15
94
-26
8
1
-62
0
79
13
50
9
0
2
0
-45
-33
-17
-7
0
-22
-8
-40
7
0
-47
1
0
-6
42
0
-6
-19
-14
0
-4
0
121
42
0
0
-37
-1
-1
-63
-2
-1
-35
-68
-94
1
38
-26
1
-2
17
-44
0
-59
21
-2
3
43
10
-5
65
-48
0
-14
-171
0
10
72
6
2
3
5
-3
0
-14
-14
0
1
-3
0
49
0
0
1
102
0
-5
3
0
-1
11
0
0
7
23
7
40
23
-5
-4
-19
5
45
-10
0
0
-22
8
1
-20
-61
-11
-54
-26
22
-7
59
-1
13
56
-47
51
-2
-64
-10
2
12
26
-7
15
5
-34
9
2
-90
3
-34
4
-57
1
15
0
2
-118
0
-52
4
-1
0
23
2
0
93
-25
0
-1
-24
0
-1
42
0
31
-14
-10
2
1
47
0
8
-4
-2
-6
-7
-55
-1
31
-20
56
1
44
-95
-1
-66
-47
-14
-5
-14
-161
7
31
-23
0
-9
-3
13
-4
14
-20
-24
-14
0
14
-2
-85
4
15
3
0
9
-5
0
-6
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
-36
0
0
2
2
0
-8
11
1
0
0
27
0
26
1
16
0
-5
0
0
-29
0
0
-4
0
0
0
0
0
-5
27
0
0
0
2
-33
23
0
0
0
-2
-45
-20
16
7
0
11
0
-8
7
24
0
0
-29
0
25
4
-5
0
5
16
0
-46
-12
-2
0
0
-46
0
-110
-13
-8
0
0
53
0
-54
2
20
0
0
5
0
11
0
0
-23
0
0
0
-16
0
-8
-59
20
-10
0
0
85
-15
0
0
100
-2
0
-8
5
0
-49
31
-1
0
25
3
0
0
-22
15
0
41
65
0
0
58
2
3
3
-15
0
4
-12
0
-1
-16
0
0
-107
-98
0
-6
0
18
0
0
-18
0
15
0
-4
-3
-2
0
0
-2
0
-32
-6
3
0
1
0
-7
29
0
0
14
0
-6
42
26
2
0
-41
15
-14
62
15
0
-3
-3
5
1
-16
-4
0
-13
41
0
43
33
55
0
10
4
8
-7
-23
6
0
0
-75
0
79
0
26
-3
0
-17
0
-70
0
7
2
-6
0
0
8
0
-50
10
0
0
0
0
0
-19
-3
-26
17
0
0
18
-7
0
0
123
1
0
2
28
0
-23
47
0
10
-1
15
0
-3
-98
-8
1
2
-10
0
-56
-55
0
-5
0
-24
0
-10
-6
0
-14
0
15
0
97
6
0
29
0
-90
-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
-29
1
0
0
0
0
0
-5
-45
0
0
2
-45
0
0
0
0
48
0
0
0
0
0
-25
0
0
0
0
0
-1
-31
0
0
0
0
13
-59
0
0
-39
-29
0
41
-4
0
0
17
0
0
13
14
5
-1
21
19
0
-4
-14
4
0
-32
0
0
59
35
0
0
48
-20
0
78
20
0
0
61
0
0
2
-22
-1
0
-2
5
-1
0
-4
14
0
0
0
0
0
-6
-2
-24
-7
40
0
-19
2
2
0
15
0
0
10
42
0
-52
51
21
0
-37
44
0
0
38
0
0
-64
19
0
0
8
-78
0
31
-16
0
0
56
0
0
-36
-3
11
-6
33
-7
0
5
-57
-4
-20
3
-9
0
0
-40
-16
-3
0
-2
0
0
59
25
0
2
1
0
5
77
0
1
23
-14
0
6
51
0
0
50
0
0
49
47
0
-4
-13
78
0
20
-49
-2
-6
-28
0
0
-16
49
0
23
-15
-76
1
5
61
-1
9
-80
0
0
0
-50
-3
-2
-6
-19
0
0
-45
-3
0
0
0
0
0
80
9
0
9
-15
0
0
27
0
-25
0
0
0
1
21
0
0
-4
-47
0
-1
14
0
-5
-81
0
0
9
-12
2
-4
28
-11
0
0
5
0
-15
59
6
0
-4
-50
-3
-10
-34
35
0
0
-46
0
16
0
0
0
0
-35
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
90
68
180
8
-1
-11
-79
2
-46
5
-1
79
-3
-16
7
13
-3
0
0
1
-5
-17
-13
-79
0
27
-29
2
-13
56
4
-1
-2
14
-71
2
-48
57
-5
-32
33
-65
-28
3
3
53
-18
-9
-55
-107
2
58
20
13
-62
17
-58
14
-46
4
-10
-58
-12
37
-40
31
43
3
-40
-26
-2
46
33
-1
-68
44
-22
0
-65
-53
0
9
62
-42
-1
2
-24
-19
-14
33
0
6
-3
1
5
-31
-5
-9
7
27
-5
12
-1
6
-3
18
2
-3
76
23
-14
-1
-50
-9
49
-5
-6
-29
83
-32
-3
-4
0
-11
-31
34
-20
-14
0
-11
1
-26
82
-14
0
43
-3
13
-6
19
0
1
-45
-179
-1
32
7
33
-13
-9
-1
54
-47
-17
-130
-4
8
-7
-97
-25
15
-39
-13
-11
30
-47
74
-29
-57
-25
-25
23
-20
14
2
23
-8
55
-58
3
9
39
-6
-10
50
25
-9
10
16
-9
-1
-9
-85
16
42
-36
2
-8
-9
9
3
0
-10
-1
-37
-24
7
8
13
-57
1
-66
46
-34
5
70
-27
-27
9
-27
-11
-3
-21
-37
-20
-25
-15
-52
40
11
-74
-14
9
-5
24
44
-32
92
80
-17
-49
-49
31
8
-42
0
-22
26
-49
-1
-3
-25
2
-37
22
-55
23
-8
11
-1
2
-1
-63
40
-31
40
0
-12
-20
-21
42
-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
-2
8
-12
0
0
1
0
0
-92
0
0
0
0
0
4
5
0
2
2
0
-45
-2
-1
0
-64
-100
6
59
1
0
0
-101
-2
0
37
6
0
-2
-6
3
0
41
7
0
0
-42
3
-4
19
0
-2
0
-71
1
3
4
-14
0
0
0
10
-1
0
24
0
0
0
0
-109
0
0
8
0
0
0
-7
0
36
-9
0
3
0
0
6
-7
2
0
14
0
0
55
36
0
54
14
-39
0
-9
-8
0
-1
-135
-1
0
21
17
0
0
65
1
-3
-33
0
0
-7
-119
-4
0
9
-91
-2
-66
5
-3
0
-2
-100
0
0
0
1
0
0
-21
27
1
0
0
0
0
-66
0
0
0
0
0
-10
71
24
3
22
0
0
11
-24
0
0
15
15
0
-1
-48
11
0
47
5
2
22
53
0
-13
19
-15
3
-2
0
3
-1
-23
0
4
-3
-18
1
-10
25
0
-10
-1
2
-3
0
0
-9
5
0
-41
4
0
0
0
0
0
-25
3
0
1
0
0
-1
-35
0
2
0
0
4
2
-44
0
4
-10
-8
1
0
20
0
107
58
2
3
1
122
0
-20
-30
69
0
1
0
0
-113
45
0
0
0
-3
-5
-2
22
14
0
0
-78
0
20
0
0
-2
0
-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
2
0
0
0
0
50
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-5
-1
46
0
0
0
0
0
0
49
0
0
0
-16
-4
0
-22
-16
0
0
61
0
0
16
0
0
0
-7
0
-1
-1
3
0
0
20
0
0
3
0
0
0
0
0
19
0
0
0
0
0
0
5
0
22
0
4
0
0
0
5
27
0
0
0
0
0
14
59
0
-6
43
0
0
-3
55
0
0
-32
0
0
7
80
0
0
3
0
0
0
-175
0
3
-4
0
0
-5
-47
0
14
0
3
0
0
7
0
0
0
0
5
0
13
-1
0
0
0
0
0
22
0
0
0
0
0
0
-55
0
0
0
0
0
2
7
0
0
-7
0
0
3
14
0
-4
17
13
0
2
12
0
0
-10
0
0
8
-18
0
4
-3
7
0
0
-85
0
0
5
0
0
0
23
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
-3
21
0
0
4
0
0
0
5
0
0
0
0
0
0
13
0
0
8
0
0
0
-49
0
1
2
0
0
0
10
0
0
0
0
0
0
-21
0
3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
37
0
0
5
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
-35
35
0
0
13
-2
0
-42
0
0
0
-1
0
0
15
0
0
0
-56
-3
0
5
0
0
0
15
0
0
-27
-1
0
0
-14
0
-1
5
0
0
0
0
0
0
0
-3
0
0
0
0
-43
0
0
0
0
0
0
15
0
42
0
2
0
0
0
-3
-113
0
0
68
0
0
-5
31
0
-7
-13
0
0
-14
3
0
0
4
0
0
0
51
0
0
3
0
0
-2
-15
0
0
-6
0
0
0
20
0
-51
-18
1
0
0
-9
0
0
0
-1
0
0
33
-1
0
0
0
0
0
-69
0
0
0
0
0
2
65
0
0
1
0
0
-2
52
0
0
-4
0
0
4
-85
0
0
24
2
0
0
2
1
0
-3
0
0
0
23
0
5
-4
0
0
0
-41
0
0
8
0
0
0
-11
0
0
0
0
0
0
-71
0
0
0
3
0
0
9
1
0
0
0
0
0
9
0
7
5
0
0
0
45
0
3
-3
-6
0
0
11
-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
-34
-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
-87
0
0
-9
0
0
-34
0
0
0
0
0
0
-2
0
0
0
9
32
-1
0
0
96
5
-1
-42
17
0
2
0
0
0
1
24
0
0
13
-4
0
-43
2
0
0
2
0
0
-62
2
0
0
-58
0
-18
-2
0
0
0
14
0
0
0
-13
0
0
10
0
-100
0
0
0
0
0
0
-4
0
-15
-2
-1
0
0
0
-1
72
0
0
-4
0
0
-3
79
0
33
6
5
0
-11
32
0
-3
-9
2
0
0
23
0
0
5
1
0
-1
-54
6
-11
6
0
0
0
-14
0
-72
0
0
0
3
41
0
0
0
0
0
0
-72
1
0
0
0
0
0
-8
4
0
0
0
0
6
90
0
5
0
0
0
4
0
0
0
19
0
0
-3
9
0
8
0
-1
0
0
5
0
0
-16
2
-1
2
75
0
-7
-4
8
0
0
-77
0
0
2
0
5
-3
-40
2
21
0
0
-11
0
13
-8
0
0
0
0
0
13
0
0
0
0
0
0
13
0
6
0
0
2
0
51
0
7
0
0
0
0
-79
0
4
-1
0
0
0
14
0
0
-4
-1
0
0
-50
0
17
0
0
0
0
89
0
0
0
0
0
0
-52
0
-5
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
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
13
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
16
9
0
0
17
0
0
14
0
0
0
0
0
0
5
-1
0
0
-46
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
-22
0
0
0
0
0
0
-1
0
-23
0
0
0
0
0
0
-24
0
0
11
0
0
0
-2
0
7
13
5
0
-10
67
0
-1
-4
0
0
0
-59
0
0
25
0
0
-1
23
0
0
0
0
0
0
-27
0
-3
-1
0
0
0
39
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
-157
0
0
8
0
0
0
-31
0
0
0
0
0
1
24
0
3
-13
0
-2
0
-63
0
0
7
0
0
0
26
0
0
6
0
0
0
10
0
0
0
0
56
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
13
0
0
0
0
36
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
-14
0
0
-3
0
0
0
-49
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
11
19
0
0
1
-3
0
0
9
0
-2
0
0
0
0
0
6
0
0
0
0
0
22
-27
0
0
0
0
-71
2
-8
-3
9
32
0
-1
2
0
0
-17
0
0
-9
0
0
0
68
-79
0
41
39
0
0
1
0
0
-112
-5
0
0
-74
-1
0
24
5
0
0
63
0
0
-3
9
0
0
1
15
0
0
0
-25
0
0
0
0
0
-46
-14
-4
0
-58
0
-26
-30
0
0
-14
0
0
-44
103
4
-39
28
53
0
-1
25
0
0
36
0
0
-6
14
0
0
86
17
0
-85
-53
0
-3
-37
0
0
34
-4
0
-1
-75
-30
0
3
1
0
0
0
0
0
0
-5
-19
-10
0
-5
0
0
11
0
0
0
0
0
-37
-55
0
-2
-34
52
0
-23
43
0
-2
21
-1
0
-5
26
0
0
-7
29
0
-65
-1
1
-5
40
0
0
-18
49
0
-6
-7
14
0
0
8
0
-3
106
0
0
0
-17
0
8
7
46
0
0
-39
2
0
0
0
0
0
-23
0
0
0
0
0
0
11
-3
-4
4
-4
0
0
-13
0
-11
36
7
0
0
-30
0
0
9
9
0
0
-58
0
32
-23
-72
0
-2
-29
0
-4
61
0
0
0
-30
0
24
191
-39
0
0
-76
0
46
0
0
0
0
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-36
0
0
-9
0
0
-92
0
-2
0
-1
0
0
1
0
0
8
2
68
-2
0
0
-15
-143
-29
30
-10
0
0
-14
0
0
18
3
0
3
6
-18
-2
-34
62
-2
0
-4
1
-117
46
1
2
9
-57
1
-4
27
71
0
0
74
11
2
0
80
-4
0
25
18
-165
0
0
-2
0
0
0
2
0
55
19
0
0
-4
0
11
-37
0
0
-10
5
-10
-3
103
0
52
-89
6
0
29
8
0
0
-111
0
0
20
-21
0
1
-20
-6
-8
-14
24
0
0
-127
1
-5
0
-30
0
40
-26
-46
0
0
-53
0
0
-3
4
-1
0
-19
-4
17
0
-9
-3
0
-6
-1
0
0
6
0
0
-83
0
-4
-10
-4
-5
0
-3
0
0
-5
-1
1
13
-49
1
14
-32
-62
14
0
-37
1
4
31
3
15
0
-19
0
-4
3
0
60
0
17
0
-3
-5
0
-24
0
-95
0
0
0
0
-106
0
-5
0
0
0
-10
-4
0
-92
0
0
0
10
0
-5
-96
0
120
0
0
3
0
40
0
8
-1
24
5
8
10
0
-4
-31
14
0
0
-123
0
9
-29
-1
0
3
-67
0
52
43
10
0
0
9
0
3
1
-2
8
0
-67
6
-69
0
-3
-20
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
10
0
-115
0
3
-39
0
7
-104
0
0
0
0
-1
0
-2
0
0
0
0
70
15
0
0
-16
-18
-5
-9
15
0
0
-9
0
-3
27
0
0
0
109
-46
14
-59
53
0
0
80
5
-5
-62
10
0
0
-9
9
-3
4
0
1
0
-9
3
7
2
-25
0
0
0
-1
-22
0
8
5
0
1
0
-4
0
31
-1
4
0
0
0
-34
33
0
0
3
2
0
-48
35
0
31
64
-28
0
-62
11
0
0
-20
0
2
1
-43
-4
0
63
-30
0
-77
40
0
5
0
5
0
-7
0
0
-20
-48
-14
0
2
9
0
0
9
0
0
0
35
0
4
0
3
0
0
-9
0
0
0
0
0
7
-12
0
3
-2
0
-16
-5
-20
-3
0
-14
-10
2
8
-15
4
0
-29
6
2
22
71
-1
-7
17
-1
-2
10
-9
0
-2
-94
23
-6
11
0
-2
-17
4
0
-5
0
3
15
0
-5
9
10
0
-19
1
-1
0
0
4
0
6
1
-2
0
-2
0
0
-29
0
37
2
0
23
-2
-65
0
-5
-2
-1
0
0
-96
1
-76
-6
1
0
-8
18
0
3
7
43
0
0
-22
0
-57
32
0
0
-1
0
2
1
5
29
25
0
42
0
-20
0
0
0
7
-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
0
0
0
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
2
0
0
-38
0
0
0
0
0
-2
-3
0
0
0
0
-7
10
0
0
-54
-2
0
78
4
0
0
0
0
0
125
16
0
0
-20
19
0
34
0
0
0
-15
0
-3
-5
0
0
0
59
-1
7
27
0
0
0
0
0
-5
0
0
0
0
0
0
-38
0
-7
0
0
0
0
-20
0
9
0
-6
10
1
0
-2
-32
0
0
0
0
0
-57
-14
0
2
30
0
0
8
95
0
1
3
0
0
-2
-15
0
0
-14
-1
0
-5
46
0
0
18
0
0
1
-16
0
-11
-7
0
10
0
53
0
10
0
0
-1
0
-18
9
-3
0
0
26
0
10
0
0
0
0
0
0
12
0
0
19
-4
-3
0
14
0
0
-5
0
0
0
51
0
0
-9
3
0
0
-33
0
0
13
0
0
0
-31
0
0
14
0
2
0
-86
0
0
0
0
0
0
136
0
0
1
2
39
0
38
0
-4
0
0
0
0
8
0
0
2
0
0
0
16
0
10
-7
0
0
0
33
0
0
0
0
0
0
24
0
-9
5
0
0
0
1
0
7
0
-5
0
0
94
0
-5
0
0
0
0
72
0
-1
17
0
0
0
12
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
20
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-87
6
0
-104
-1
0
0
1
0
0
-53
0
0
0
47
-4
0
-10
0
0
0
0
0
0
-1
0
0
0
-14
0
0
3
-6
0
0
0
0
-4
0
0
0
0
0
0
22
0
0
0
0
0
2
1
0
-4
0
0
0
0
0
-13
-15
0
0
0
0
0
23
-4
0
16
100
3
0
-1
-5
0
0
-36
0
0
-1
-15
0
0
-16
-4
-1
-8
33
0
0
-2
0
0
0
24
0
29
-14
33
0
3
-4
0
0
-3
3
0
0
-33
-4
0
0
0
0
0
36
0
0
0
0
0
0
-14
0
0
0
0
2
-4
-10
0
0
20
0
0
0
10
0
0
2
21
0
4
58
0
0
-2
0
0
-1
14
0
0
2
0
0
6
-27
0
0
5
0
8
0
20
0
0
0
0
-15
0
-8
-1
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
-22
0
0
0
0
0
-2
3
0
-19
0
0
0
0
5
0
0
0
5
0
0
-13
0
-21
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
-4
0
0
-4
0
0
-5
0
0
0
0
4
4
41
0
3
11
0
-38
67
0
0
14
-16
-80
-42
13
0
0
-47
-3
-20
-17
-8
0
0
12
8
-74
-67
12
5
0
-21
-8
-45
-19
-9
9
0
-55
20
-1
-63
-1
0
0
-5
3
25
2
99
0
0
6
75
13
0
0
-50
0
0
-9
-60
0
-9
-1
-8
0
-41
0
25
-5
0
0
-34
1
-11
-16
9
0
-33
-12
4
4
-19
3
0
0
-16
2
-4
-53
-17
-5
0
-31
-35
3
-69
4
0
0
16
17
0
-71
-1
-1
-14
-45
10
0
15
25
0
0
0
7
4
0
-2
-71
-6
0
1
0
0
-39
0
0
0
-3
7
24
-54
2
-4
53
-87
-27
-8
-9
0
0
35
57
11
-56
-4
-5
0
-23
-15
15
25
-9
-9
-4
-90
2
-14
4
-96
0
29
22
-25
-14
-19
-1
0
1
2
41
-53
48
-9
0
2
0
49
-16
0
7
0
0
0
-2
-3
0
-18
0
0
0
0
0
0
-8
0
15
3
14
5
-4
-42
0
-7
-26
19
-19
0
-66
0
-60
3
-54
-2
14
14
0
23
10
26
-5
5
-77
0
-66
-21
2
-25
6
-8
1
2
11
-13
13
0
-4
0
-58
0
0
-9
0
-71
-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
-18
0
0
-7
0
0
2
0
0
0
5
0
0
25
0
0
0
0
52
6
0
0
-15
-11
-12
-8
0
0
0
-8
0
4
5
3
1
0
-12
0
0
-19
-14
-2
0
10
0
-74
0
0
0
0
20
0
-6
-9
0
0
0
-14
0
100
0
2
0
0
-2
0
8
0
0
-2
0
0
0
20
3
-1
-9
44
1
0
0
65
-30
0
0
19
0
0
-20
-43
0
22
-10
1
0
86
16
0
-3
41
0
0
-1
-93
0
0
-52
0
0
16
-13
0
0
-6
0
0
2
31
0
-93
32
0
0
-1
15
0
0
0
0
52
0
29
5
4
0
0
0
0
-5
-4
0
0
0
0
10
62
0
-1
-16
0
2
7
-8
0
-4
101
1
-8
10
-25
4
2
6
0
-1
-51
41
0
0
13
0
13
10
-17
0
10
-36
0
-5
5
20
0
0
101
0
29
2
19
0
0
-5
0
44
0
-6
1
0
0
0
0
0
-24
0
0
0
0
0
-4
-39
6
-4
5
0
0
0
44
0
0
9
0
1
0
-20
0
-26
36
0
0
0
33
0
0
61
0
0
0
-49
4
128
42
0
0
0
-30
0
0
8
0
1
0
67
0
-5
0
0
-4
0
-81
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
0
0
0
0
0
0
0
0
0
0
5
0
-32
0
0
0
0
0
-5
0
0
0
0
0
5
-26
0
0
2
0
48
-23
0
0
-46
-3
0
16
3
0
0
-31
0
0
68
-6
0
0
14
34
0
11
19
1
0
1
0
3
-9
59
0
0
-60
15
0
53
0
17
0
1
0
0
15
-2
0
0
8
-15
-1
0
0
-11
0
0
0
0
-5
-23
-13
-7
26
-4
0
32
-27
0
0
13
1
0
-11
43
0
54
-3
-19
0
-16
46
0
0
23
0
0
-51
74
0
34
44
13
0
-6
29
0
-3
-18
0
0
2
37
0
-42
0
0
0
0
79
0
0
0
0
0
0
1
21
62
0
6
0
0
-38
17
0
0
0
0
13
-52
16
-15
-33
-13
0
32
65
0
0
6
1
0
15
-12
25
-18
41
5
-2
-22
46
3
11
2
0
0
-26
22
0
6
-61
-35
0
-1
-47
0
45
-11
0
0
-3
25
0
4
32
41
7
0
-7
0
0
0
0
0
0
-4
0
0
-4
-5
0
0
34
6
-34
-1
0
0
-4
-46
0
2
0
-20
0
1
41
0
29
5
0
0
-3
-4
0
-5
-5
-5
0
0
14
0
19
16
0
0
-5
-34
0
11
54
8
0
0
-11
-2
82
1
9
0
0
7
20
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
-51
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
16
0
-7
-56
19
0
0
18
0
0
-4
0
0
0
-24
0
0
26
-7
0
0
0
0
0
1
0
0
0
-9
0
0
0
-2
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-32
0
0
-5
0
-2
1
2
0
-3
-33
16
0
10
49
0
1
-5
0
0
0
43
0
0
0
0
0
0
-65
0
0
-2
0
0
0
5
0
-3
0
0
0
0
-3
0
0
0
0
0
0
66
21
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
2
-4
-48
0
0
0
0
4
0
-59
0
0
0
0
0
0
-11
0
0
0
0
0
0
-7
0
-5
0
0
0
0
-12
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
1
0
-1
0
0
0
0
36
0
0
0
0
0
0
2
0
-5
0
0
0
0
1
0
0
0
0
13
0
-1
0
5
0
0
0
0
-6
0
0
3
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
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-6
0
-40
0
0
0
0
0
4
-44
0
6
0
7
-2
0
-78
0
0
-1
0
0
0
105
0
0
0
-42
0
0
5
-2
0
0
39
0
0
-2
0
0
0
-1
0
-45
0
0
-1
0
0
3
0
0
-34
0
0
0
0
0
-29
54
0
0
-1
0
0
2
14
0
-49
-5
0
0
-3
75
0
0
-23
0
0
0
-29
0
0
30
0
0
3
24
0
0
-57
0
0
0
64
0
-48
0
0
0
0
0
0
0
-21
0
0
0
3
-2
2
0
0
0
0
-16
0
0
0
0
0
0
-34
0
0
0
0
2
0
-6
0
0
-1
0
0
0
-77
0
0
99
-1
0
2
-58
0
0
-16
0
-1
0
29
0
0
-30
-1
0
-5
-91
0
-1
5
0
-2
0
0
0
6
0
0
-33
0
-61
0
0
0
0
0
0
2
0
0
0
0
0
0
-37
0
8
-1
0
-1
0
-34
0
-15
0
0
0
0
39
0
-3
-1
0
0
1
36
0
0
0
0
0
0
35
0
-27
0
0
0
0
6
0
0
0
0
0
0
0
0
-15
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
57
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-8
0
0
7
0
0
0
0
0
0
13
0
0
0
-33
0
0
-14
0
0
0
2
0
0
-11
0
0
0
30
0
-1
0
17
0
0
1
0
0
1
-4
0
0
0
0
0
0
-1
3
0
0
0
-5
0
1
0
0
0
0
0
0
-26
0
0
0
0
0
17
8
0
42
-6
8
0
77
85
0
0
-8
0
0
13
-12
0
0
-3
0
0
0
3
0
0
11
0
0
0
6
0
23
0
0
0
0
-1
0
0
0
0
0
0
55
-2
2
0
0
0
0
59
0
0
0
0
0
0
39
0
0
0
0
0
0
-17
0
0
6
0
0
8
22
0
0
6
0
0
-1
31
0
0
3
0
-1
0
23
0
0
3
-1
0
0
13
0
2
-1
0
17
0
-6
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
10
0
0
0
0
0
35
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
-13
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
45
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
10
-2
-4
0
-1
-67
37
-62
-15
-31
-49
-46
8
-16
-25
-58
-29
61
9
2
-22
-4
-25
57
84
-26
25
30
-17
-36
-14
-15
-1
-10
-13
-7
40
-119
33
19
28
11
-42
-7
-10
-15
-14
-2
25
-7
-131
-25
-1
-13
-32
-5
1
30
-25
-7
-35
78
0
-8
23
-94
-9
14
-41
3
2
1
-43
22
3
-23
7
5
-1
75
2
-15
-34
-115
-16
-5
58
13
4
10
16
6
-10
17
50
-6
2
-28
0
-10
43
61
1
-26
-62
-7
0
-20
109
3
33
-8
-7
-5
-10
-62
16
-2
-45
-39
-16
-20
41
-14
-44
-27
0
2
-78
7
2
-7
-23
33
-2
-8
-45
8
-8
28
26
-14
38
71
7
-25
-14
-24
-6
-10
23
-3
-61
-31
-5
-4
-42
-21
-4
-25
10
-2
6
9
-63
22
5
-14
-11
-8
-31
-2
-33
-5
60
-28
5
-45
-42
8
-70
-40
-10
1
-34
15
-53
-12
-10
-14
-6
-28
-77
-59
-130
10
-26
22
-40
36
-7
-48
-20
41
-8
-22
14
-36
11
8
17
9
-54
73
49
-53
71
-19
-6
-29
-57
-30
1
-41
-4
5
-26
17
-23
-4
60
57
-15
-24
-44
-19
28
20
-62
35
-41
78
-61
13
16
-52
-9
24
-48
1
11
-41
35
-18
12
42
11
-65
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
-1
0
4
0
0
0
0
0
0
0
0
0
0
-51
-1
0
3
5
0
0
7
0
0
14
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
59
0
0
0
0
0
14
70
0
0
0
0
0
1
5
0
-3
-22
0
0
-51
-22
0
0
0
0
0
-1
62
0
0
0
-8
0
0
-50
0
0
0
0
0
0
-5
0
13
2
0
0
1
7
0
0
0
0
0
0
28
-5
8
0
0
-1
0
-65
0
0
0
0
0
0
-20
0
0
0
0
0
0
-19
0
0
-5
0
0
0
-68
0
0
0
-2
0
0
-66
0
1
0
0
0
0
43
0
0
0
-4
0
0
32
0
0
0
0
0
0
-14
0
0
0
0
-3
0
-37
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
-10
0
-5
0
0
1
0
3
0
0
0
0
0
0
5
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
34
0
0
0
0
0
0
13
0
0
0
43
0
0
-39
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
0
0
69
0
0
0
0
0
-16
26
0
0
0
0
0
0
0
0
14
1
0
0
1
-12
0
0
0
0
0
0
7
0
0
0
0
0
0
-65
0
0
0
0
0
-1
-2
0
-55
5
0
0
0
9
0
0
0
0
0
0
24
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
-13
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
-1
0
0
0
101
0
0
0
0
14
-2
-23
0
0
0
0
0
0
5
0
0
0
0
-1
0
-25
-4
0
0
0
14
0
5
0
0
0
0
0
0
1
0
9
0
0
0
0
48
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
22
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
31
0
0
0
0
-7
43
-51
-1
-1
0
0
-35
-52
0
0
7
6
0
-6
-1
0
0
5
0
0
21
56
1
-1
23
26
0
66
-60
0
-2
-63
0
0
61
67
0
-1
4
6
0
61
-22
5
-1
-20
15
0
15
-11
0
0
0
21
0
0
0
101
0
0
5
0
0
-16
55
76
-5
-93
0
-23
-1
0
0
32
0
0
-53
60
0
1
-13
-1
0
15
68
0
5
14
0
0
-5
-60
6
4
3
43
0
-112
-24
2
-1
60
0
0
90
-34
-21
-37
-90
-17
0
-2
-51
3
-13
1
-4
0
0
-27
-109
-24
0
-6
0
0
-10
-24
4
0
0
0
36
2
0
1
-27
-33
0
-6
20
4
2
23
0
0
-30
54
0
-36
19
5
0
-37
-2
0
104
51
16
0
6
-5
-3
-15
-10
64
0
14
-36
-1
-8
39
4
0
0
-48
18
-15
3
23
0
0
-35
-41
-5
0
0
0
-1
13
7
0
2
-14
0
-1
-41
11
-24
6
0
0
0
-5
0
16
-33
-24
0
-4
7
-4
16
3
53
0
-2
-29
0
9
-6
-100
0
-13
-2
0
-10
35
7
0
9
-55
-2
6
-13
53
0
0
-10
1
7
4
0
0
0
33
-57
9
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
9
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
17
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
-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
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
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
-1
0
-9
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
8
-3
0
0
0
9
0
0
8
0
0
0
2
0
0
-1
0
0
0
-15
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
-22
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
-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
61
-2
8
107
-71
59
69
3
12
-17
14
2
2
16
5
-12
-57
52
27
-40
-43
-11
4
21
-64
-7
-6
-49
-2
35
-125
-15
5
-33
-16
-6
1
0
-30
-10
8
-8
-16
-1
76
-35
-28
-108
-11
-41
-23
-48
-43
-25
21
2
-76
33
80
-45
-4
-15
-41
-5
0
0
-15
41
-28
-15
-13
-1
-39
56
-23
-29
-42
9
-4
29
-6
-2
10
-7
7
-2
-9
-16
21
-21
32
-17
-17
99
-4
4
-32
-13
-5
-7
-44
33
7
62
28
-31
0
-90
-3
-14
2
9
-34
-8
-1
42
27
-14
-7
-1
-3
138
32
4
1
-50
39
1
49
-37
5
-52
-54
34
11
-22
22
17
14
26
28
0
-14
-59
-9
-44
-12
47
-9
0
4
-1
4
-85
-7
-4
9
44
1
-79
5
-8
-2
-15
-17
7
-14
-18
39
-1
-19
80
6
1
5
41
-15
12
-50
9
-8
8
9
-8
-31
46
-9
53
-18
-52
-11
-4
-2
12
47
-103
25
-17
-24
28
-3
23
54
-10
5
-132
14
23
8
79
-6
0
-27
5
-14
12
-59
-12
-2
19
34
8
1
38
-43
-12
-53
-18
-1
-29
-17
79
15
2
-32
18
1
-17
-27
-2
79
-21
14
-66
-7
-32
-3
29
-46
27
-23
-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
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
-2
0
0
0
0
0
0
0
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
21
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
20
0
0
0
0
0
0
23
0
0
0
0
0
0
19
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
-39
0
0
0
0
0
-1
1
0
0
0
3
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
34
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
-1
-20
0
0
2
-10
0
0
7
0
0
0
21
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
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
4
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
44
0
0
0
-7
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
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
75
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
-44
0
45
5
0
0
0
0
0
-11
0
0
0
0
0
0
-2
0
26
-14
0
0
36
-85
0
0
0
0
0
0
-14
0
0
34
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
62
0
0
0
0
0
-58
0
0
0
0
0
0
-26
0
0
0
0
0
0
18
0
0
0
0
0
0
86
0
0
-2
0
0
0
12
0
0
9
0
0
0
0
0
0
0
0
0
0
-11
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
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-32
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
22
0
41
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
2
0
0
0
-34
4
0
26
0
0
0
0
0
0
-21
0
0
0
-24
-15
0
-17
0
2
0
-3
0
0
2
0
0
0
-7
0
0
11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
4
0
5
0
-1
0
1
8
0
0
0
0
0
31
0
0
9
16
6
0
-45
65
0
0
35
0
0
11
-22
0
0
13
-43
0
3
-35
0
0
6
0
0
-29
5
0
-125
1
0
0
0
3
0
0
9
0
0
0
75
13
0
0
0
0
0
-59
0
0
0
0
0
4
70
0
0
0
0
0
-7
113
0
0
-21
0
0
-1
-24
0
-1
33
-1
0
-5
-97
2
0
73
0
0
-3
-76
0
0
2
25
0
0
-60
0
0
0
0
0
0
-29
0
0
2
0
0
0
44
-6
0
0
0
0
0
-6
0
0
0
0
0
0
16
0
0
0
0
0
0
-41
0
0
0
0
0
0
47
0
0
-11
0
0
0
69
0
5
0
-2
0
0
10
0
-10
0
0
0
0
-60
0
0
0
13
0
0
-23
0
-6
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
3
5
1
0
0
11
-1
0
14
0
0
0
-4
0
22
0
0
0
0
39
0
2
5
0
0
0
0
0
-2
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
96
0
0
0
0
0
0
-21
0
0
0
0
0
2
-2
0
20
-7
-4
0
-35
22
0
0
4
0
0
9
80
0
0
31
-1
0
0
24
0
0
-10
0
0
0
14
0
33
0
0
0
0
-10
0
0
0
0
0
0
-14
-2
0
0
0
0
0
9
0
0
0
0
0
-5
-19
0
0
4
3
0
3
62
0
0
-11
0
0
0
-45
1
0
-2
1
0
0
17
0
0
14
0
0
0
-44
0
0
2
-3
0
0
6
0
0
-3
0
0
0
-23
0
0
7
0
10
0
36
0
0
0
0
0
0
51
0
0
0
0
0
0
-5
0
2
0
0
0
0
46
0
0
0
0
0
0
-5
0
3
0
0
0
0
-43
0
0
-13
0
0
0
84
0
-36
0
0
0
0
0
0
0
0
0
0
0
30
0
-6
0
0
1
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
-51
-5
5
0
68
-9
-1
5
-2
0
0
20
0
0
5
8
6
0
25
48
-2
-9
-4
0
2
-22
0
9
6
21
0
0
31
-4
-49
5
15
0
0
4
0
11
0
-1
0
0
0
3
33
0
0
4
0
0
0
-19
0
0
-3
98
0
7
0
-26
-17
0
1
-45
0
0
-13
25
3
44
89
0
0
45
32
0
0
57
-2
0
52
3
0
0
-11
13
0
-33
-16
0
7
-9
0
-6
2
44
0
-26
42
29
13
0
59
0
0
0
0
2
0
10
91
31
0
0
0
0
0
0
0
0
0
0
3
-37
0
9
4
-2
0
-57
8
1
-1
-20
-1
0
24
-42
0
0
-7
-61
0
43
-10
0
-5
19
-1
-1
7
12
0
0
34
62
5
-17
-18
0
0
-58
-1
109
0
24
0
13
5
15
-64
0
7
9
0
0
0
1
0
0
-6
0
3
4
0
0
-46
5
-14
4
0
0
1
-2
0
3
11
0
0
0
-5
-3
-30
0
0
0
2
42
-11
-7
-14
-2
-1
0
-43
0
-17
52
0
0
0
-53
0
-11
6
7
0
0
27
0
64
0
0
8
0
-6
32
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
11
117
0
0
-61
-57
-7
39
-1
0
0
15
2
-4
121
23
0
-3
-44
-36
60
-17
-3
0
7
-24
0
-150
-69
-7
0
0
-28
29
-50
-23
-2
0
0
-2
-24
45
0
-75
0
0
-2
-4
24
0
0
22
0
0
0
-39
0
-87
0
20
-7
45
0
42
-19
0
0
-115
-1
2
-16
-48
0
9
-24
-71
0
-11
21
0
-9
-16
3
2
-114
14
0
5
37
-28
0
-59
66
0
0
-14
-5
16
-13
-31
0
-39
18
-51
-2
0
-47
0
0
1
0
45
0
-18
6
2
0
8
0
0
-60
0
0
0
2
0
3
75
1
43
-49
61
5
36
40
-1
0
23
8
-3
-35
-4
0
-11
-2
-133
0
-7
-16
1
13
1
3
-30
16
42
2
0
17
-55
-5
0
-34
0
-2
-64
0
40
0
-95
0
-5
30
11
0
0
12
6
0
0
2
-4
0
45
2
0
0
6
0
0
-47
7
-69
0
0
3
0
13
0
4
-106
0
2
2
10
0
59
-5
2
-1
0
-36
0
-1
-35
-3
-3
0
16
0
-29
-44
0
0
0
-7
0
-8
-53
31
-2
0
10
0
-35
0
0
-44
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
-46
0
0
0
0
0
0
-1
0
0
0
45
0
0
20
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
-43
0
0
0
0
0
8
-33
0
0
0
0
0
3
0
0
1
-6
0
0
-5
11
0
0
-1
0
0
1
-23
0
0
8
0
0
0
-46
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
9
0
0
0
0
0
0
-3
0
0
0
0
0
2
-50
0
0
0
0
0
0
-3
0
0
2
0
0
0
17
0
0
1
0
0
0
29
0
0
6
0
0
0
-5
0
0
0
0
1
0
3
0
0
0
0
0
0
-27
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
35
0
0
-10
77
0
37
-3
0
0
0
0
0
15
0
0
0
-27
-16
0
30
-1
0
0
15
0
-18
-8
0
0
0
59
-3
5
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
32
-5
0
0
0
0
0
-76
0
0
0
0
0
9
8
0
52
-13
-5
0
3
-56
0
0
3
0
0
-35
-55
0
0
-15
1
0
-2
-53
0
0
47
0
0
0
-59
0
-1
6
0
0
0
75
0
0
0
0
0
0
-8
2
0
0
0
0
0
-14
0
0
0
-6
0
0
-46
0
0
0
-4
14
3
51
0
0
0
0
-8
0
-28
0
-8
14
0
0
9
-45
0
0
69
0
-4
0
5
0
-3
6
-10
-2
0
48
0
0
0
-3
-3
0
2
0
0
-4
0
36
0
0
0
0
0
0
-5
0
5
1
0
0
0
0
0
-36
0
-11
0
0
0
0
-54
0
0
0
6
13
0
-5
0
33
5
0
0
0
-29
0
-1
0
0
0
0
-50
0
-41
0
0
0
-6
31
0
0
0
0
0
0
-21
0
18
0
0
-9
0
-36
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-3
-7
-81
0
0
0
4
0
6
-23
15
0
0
111
20
-2
57
0
0
-4
1
0
-11
124
0
0
0
-45
0
5
32
0
0
0
0
0
-3
0
-3
0
0
0
0
-23
0
0
0
0
0
0
-1
0
-50
0
0
0
0
0
6
-16
0
0
6
0
0
20
11
0
-42
-26
8
0
31
-50
0
0
-3
0
0
-5
-37
0
0
19
-10
0
0
-29
0
0
8
0
3
0
20
0
55
4
-3
0
0
48
0
0
0
0
-8
0
38
0
-3
0
0
0
0
75
0
0
0
0
0
-14
33
0
0
0
1
-2
1
-30
0
0
6
0
0
0
-19
0
0
-37
-1
0
-8
23
0
0
35
0
0
0
23
0
0
13
0
26
0
10
0
0
0
0
0
0
54
0
0
0
0
57
0
-31
0
0
0
0
0
0
-7
0
0
0
0
0
0
49
0
4
0
0
0
0
-6
0
0
0
0
0
0
-20
0
5
-1
0
0
0
38
0
0
13
2
0
0
66
0
10
0
0
0
0
44
0
0
-4
0
0
0
-9
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
-36
0
0
4
5
0
0
-5
0
0
-2
-2
0
0
7
0
0
13
-1
0
0
-5
0
0
0
7
0
0
0
0
2
0
0
3
0
0
0
0
0
-53
-6
0
0
-1
0
-6
-47
0
0
3
0
0
-3
5
0
14
34
10
0
-63
-29
0
0
-2
0
0
5
-58
0
0
8
-5
0
0
25
0
0
-5
0
0
0
45
0
-50
-2
0
0
0
-10
0
0
-1
0
0
0
36
3
-9
0
0
0
0
-19
0
0
2
0
0
0
13
0
0
-1
17
-5
-8
-13
0
0
-16
0
0
0
14
0
-2
-2
-2
0
17
-9
0
-2
17
0
0
5
-1
0
0
0
0
0
0
-10
0
0
2
0
0
-14
6
0
0
0
0
0
0
40
0
0
0
0
0
0
26
7
0
1
0
0
0
-8
0
3
3
0
0
0
19
0
0
7
0
0
5
25
0
16
0
6
0
0
16
0
0
-8
-2
0
0
29
0
0
0
0
0
5
-7
0
0
5
3
0
0
-14
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
2
-22
-17
31
27
14
-10
-1
-8
-88
-63
38
20
2
-4
26
-2
-14
26
20
-1
5
22
-33
-12
4
-6
0
-1
14
-2
-27
-2
-46
0
0
-5
46
-7
0
4
-51
0
0
-3
15
13
-11
17
-14
-1
-24
0
6
2
7
0
55
-4
0
30
-23
0
-5
-14
-14
-2
3
-26
0
0
30
-10
-22
27
31
0
1
71
42
-15
5
12
-4
14
2
13
128
-5
22
7
7
-65
43
50
37
-20
0
1
-6
-2
49
0
34
-21
-20
0
14
-3
0
-14
16
10
-2
4
0
15
-8
6
-1
-53
21
-19
52
16
0
68
-24
-15
0
58
20
-3
-9
42
41
31
-37
6
24
88
13
26
-32
12
5
1
-49
39
13
19
-26
2
0
5
-44
2
-3
-3
-10
7
18
-53
-28
-51
0
-7
57
11
-1
-5
5
0
-7
-18
-2
0
-73
0
-5
56
0
21
66
2
-1
19
31
0
-1
-56
-34
15
4
13
0
12
-44
16
-11
8
36
-20
43
58
-31
24
33
-3
-2
23
26
25
53
-7
-70
0
-7
53
-5
37
0
14
2
-65
39
0
-4
0
4
24
-2
-13
-19
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
-45
1
-15
39
16
1
0
27
20
51
17
26
-5
-13
-2
-7
8
-147
1
0
-1
-29
148
-50
11
-14
0
0
75
0
71
1
-14
0
0
-24
-43
52
0
0
-26
0
-1
0
64
-1
-13
6
32
0
41
0
-60
0
9
0
43
1
0
-25
-44
-1
-43
-50
14
0
-35
40
0
-15
-11
-5
-2
28
-7
-9
1
1
15
1
48
28
0
4
-8
0
-3
-1
-6
5
-13
22
-9
50
0
-18
1
8
-1
0
14
0
-6
-9
-10
0
2
0
0
13
-5
0
0
1
4
9
0
0
-1
53
56
7
-12
-43
-1
0
3
2
33
22
8
3
-7
8
-78
15
46
20
-4
-11
-39
47
9
-41
-1
0
1
-10
-39
-46
11
-18
0
25
22
3
4
0
12
0
3
-1
6
55
0
33
-8
0
0
-5
-6
0
111
8
0
0
-4
0
6
0
2
-25
-9
0
14
-6
-35
0
-3
-74
36
0
71
70
0
71
50
-8
-1
-5
-9
0
33
-20
60
-2
-10
23
0
-49
56
3
-11
0
5
0
-19
-39
-8
-6
0
-44
0
-73
90
0
4
0
75
26
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
-71
0
0
0
-4
0
0
10
0
0
0
-5
8
0
76
0
0
0
-3
0
0
0
1
0
0
36
0
11
0
0
0
0
0
0
0
0
-6
0
0
0
0
-17
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
22
0
0
0
0
0
1
1
0
25
-16
0
0
0
4
0
0
-13
0
0
3
20
0
0
26
0
0
0
3
0
0
5
0
0
0
0
0
24
-4
0
0
0
1
0
0
0
0
0
0
-69
4
0
0
4
0
0
-26
0
0
0
0
0
0
14
0
0
0
0
0
0
74
0
0
0
0
0
0
-4
0
0
33
0
0
0
-58
0
0
6
0
0
0
27
0
2
13
0
0
0
-33
0
0
0
0
0
0
8
0
0
0
0
0
0
33
0
0
0
0
0
0
6
3
0
0
0
0
0
-3
0
-11
0
0
0
0
-5
0
0
0
1
0
0
-14
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
47
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
3
0
0
-2
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
5
0
0
0
0
0
0
72
0
0
0
0
0
2
0
0
5
-2
0
0
5
-54
0
0
2
0
0
0
-24
0
0
0
0
0
0
23
0
0
-1
0
0
0
5
0
-2
0
4
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-45
0
0
0
0
0
0
-1
0
0
0
0
0
2
-29
0
0
4
0
0
0
5
0
0
1
0
0
0
-50
0
0
-4
0
0
0
-4
0
0
-1
0
0
0
39
0
0
0
0
0
0
18
0
0
0
0
-1
0
-21
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
3
-74
0
0
4
71
-23
-32
147
7
0
-53
2
-57
20
85
-46
-7
81
-21
-69
11
2
-2
4
30
9
-25
0
50
14
13
29
54
-51
25
-23
8
-1
-5
-44
-6
-1
36
-34
0
-1
-71
-48
-2
-14
22
-100
0
-74
0
-32
1
-15
-3
-14
-56
-19
-78
9
24
-7
-39
38
-19
2
28
0
25
15
-20
-2
43
-5
9
13
51
31
-37
43
17
36
-21
51
-33
-8
-75
12
-7
29
18
16
-24
-60
-4
-30
-20
-20
10
5
0
-7
18
-40
0
97
-51
-11
-41
-37
-9
-1
-68
-6
-53
-29
-11
-71
-8
-7
49
-3
-31
-5
28
-56
-33
-35
-19
35
-25
24
-28
-6
-58
24
-16
-45
22
28
55
-6
-34
16
-43
10
13
17
19
36
12
52
-37
-5
21
66
-50
0
-2
9
24
-54
39
0
-30
-23
31
-1
-107
-84
0
-21
-27
-2
-1
-85
33
48
-10
-47
29
2
0
-81
-143
-19
-3
109
37
11
-25
56
40
18
2
-23
-56
3
-7
-15
74
40
-12
18
17
33
-33
15
-28
21
-48
19
-7
-7
81
7
-43
37
37
1
-1
-3
-13
20
23
17
-1
14
-37
17
11
-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
1
-2
0
0
75
0
-2
-49
-25
0
13
-10
1
-7
-2
-78
11
-1
-27
0
6
-62
-53
7
-2
5
0
24
-10
-4
0
0
-6
-4
4
-3
-20
0
2
-48
15
12
0
48
-89
0
-3
-5
20
41
9
-51
-93
20
0
0
-38
2
0
8
16
0
0
-6
-47
0
-26
-8
20
0
4
-12
0
-3
5
0
21
-60
-22
0
-3
-19
0
-71
25
-10
0
74
22
29
-12
-67
-16
0
29
-7
6
10
-31
-14
-4
-16
18
-3
18
0
5
-41
-61
0
0
-3
-1
14
-82
0
9
6
-4
3
-8
0
17
-42
-1
-31
-24
6
11
0
-13
0
-97
16
-62
0
-16
-15
11
-55
27
3
33
-3
22
-7
-49
-67
1
5
-4
6
-16
-56
-42
-7
13
51
59
-4
59
89
10
0
14
30
0
-34
0
-17
-69
1
-7
-4
4
0
27
34
-3
2
0
-4
7
23
0
-36
46
4
-115
-79
11
0
34
51
-2
73
-41
14
0
-23
-13
0
24
27
-28
-6
3
-55
-3
50
94
-5
0
29
5
0
-16
-21
18
8
-3
19
-26
0
3
-18
0
28
-11
0
4
9
-16
-46
-5
-4
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
0
0
6
-3
1
15
-20
30
0
23
66
2
1
37
0
0
21
50
0
0
-58
-56
0
-43
48
0
0
-69
0
15
-5
47
0
0
-89
-23
-8
0
5
-1
0
14
0
0
0
-5
49
5
0
0
0
26
-43
2
0
9
-2
0
114
-13
0
25
-1
-19
0
15
24
0
-18
34
3
0
80
-29
0
0
30
5
0
10
16
0
-15
-46
0
0
-26
56
0
-10
23
2
0
33
5
0
0
17
10
0
0
3
-2
16
0
-20
0
-1
13
1
0
-4
16
0
20
-26
9
21
-37
58
0
59
63
0
30
63
0
0
41
15
0
-2
8
22
0
2
-45
-1
-11
93
-1
0
15
15
3
-16
-10
-61
0
112
15
0
-1
-43
-3
0
20
-37
0
-11
-18
0
0
0
-1
4
0
-3
0
0
0
21
-2
0
-7
3
0
-17
7
4
52
0
0
0
0
20
0
-8
27
15
0
-5
-13
0
33
53
-9
0
7
-79
-3
-46
23
-16
0
-32
-10
0
-42
64
-1
0
-7
-14
-13
2
-31
-3
0
-2
14
0
-38
-3
-1
0
-1
-14
25
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
-25
-45
-81
-97
5
-2
16
22
-5
7
31
0
-28
16
-17
18
8
36
12
-37
-5
-10
-6
-11
80
-23
63
3
-58
-10
40
-34
-78
20
2
-18
48
53
-13
-23
5
25
11
12
-15
14
3
36
10
-155
4
33
-56
21
20
3
3
-7
-99
28
2
3
91
5
-4
-71
0
1
4
38
27
-9
98
34
-14
-15
-17
1
8
-62
-57
-17
15
-39
64
-2
-17
15
15
-14
-43
-90
-7
-57
29
-35
-2
-46
17
-1
13
21
-19
-13
-42
-33
-10
-16
-50
-50
-54
47
-53
1
-158
-36
-18
-5
18
19
-4
-42
-20
4
58
13
10
-9
-62
-56
-17
29
14
-5
-10
-11
-55
11
2
12
-6
-9
58
-8
-8
9
7
36
4
23
71
-11
-45
43
-43
2
112
51
-6
-2
10
-9
-9
-42
-69
28
3
-2
20
-26
-17
5
-5
-11
7
11
-6
-141
-4
-37
-5
108
53
-16
-46
-33
-42
-4
2
8
-14
28
19
31
12
29
9
-11
-3
37
21
43
58
29
11
-23
-3
45
-9
-79
-13
-19
15
0
3
14
6
4
-4
-56
-3
22
-8
30
41
1
-19
-32
-19
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
60
16
5
-1
-46
-8
5
-23
-1
0
0
-18
0
86
-34
0
0
9
66
10
0
-71
-2
1
0
10
0
6
0
8
0
0
5
-5
0
0
0
-14
0
0
0
-4
8
-33
-45
-8
0
0
0
-25
31
0
-1
-1
1
0
-74
0
0
-128
8
10
0
80
-57
0
3
-31
2
0
-27
-6
0
0
48
-14
0
-33
116
0
-1
75
0
-5
-1
-63
0
-70
30
-19
-3
8
13
7
0
0
0
-5
-1
47
49
-10
0
-9
-8
0
30
-17
0
9
0
0
22
6
-6
4
-36
14
4
-44
0
0
-5
24
1
5
-7
-28
1
0
67
-4
3
11
-22
8
19
31
-5
14
31
19
0
-13
-7
8
-23
5
52
0
5
1
3
-4
0
7
0
11
16
-9
-20
-1
5
0
0
0
0
3
0
77
0
0
0
0
2
2
-62
-4
5
-10
0
0
-4
0
2
-5
73
4
0
10
-25
0
65
-8
17
0
2
-67
0
45
8
4
7
0
7
-1
53
-16
7
0
0
84
-3
0
-4
0
9
0
-33
0
11
-2
0
-19
0
55
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
84
0
0
-101
0
0
0
0
0
0
0
0
0
0
19
0
0
8
0
0
0
3
0
0
0
-6
0
0
0
0
36
0
0
4
0
0
0
0
0
-1
0
0
0
0
0
9
-8
0
0
5
0
0
6
10
0
-1
-18
10
0
-3
52
0
0
-2
0
0
-19
33
0
0
1
0
0
4
-34
0
0
-4
0
0
0
131
0
-17
0
0
0
0
15
0
0
0
0
0
0
-1
0
-4
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
-1
0
-21
0
0
0
0
0
1
-32
0
0
0
0
0
0
-100
0
0
2
0
0
0
90
0
-7
4
0
0
0
49
0
0
0
0
0
0
53
0
0
0
0
16
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
32
0
-6
0
0
0
0
3
0
0
0
0
0
0
-1
0
18
0
0
0
0
35
0
0
0
0
0
0
26
0
0
0
0
0
0
-22
0
0
0
0
0
0
-18
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
-51
0
0
-7
0
-10
0
0
0
0
0
0
0
0
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
73
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
-2
-33
0
0
0
0
0
-2
19
0
19
0
0
0
-9
-32
0
0
5
3
0
1
47
0
0
-1
0
0
1
58
0
0
-17
0
0
0
4
0
-7
-4
6
0
0
37
0
0
0
0
0
0
78
3
0
0
0
0
0
-79
-1
0
0
0
0
0
-1
0
0
-4
4
0
-2
26
0
0
-1
0
0
0
55
-7
0
-2
0
0
0
62
0
0
3
0
0
0
-1
0
0
0
3
0
0
-24
0
0
1
0
0
0
14
0
0
0
0
0
0
-52
0
0
0
0
0
0
22
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-14
31
57
5
-33
-55
-1
3
-18
-6
-12
21
45
-5
0
-6
36
-13
-67
49
0
0
77
-5
-50
-13
18
0
0
-53
4
-8
0
-2
-2
0
0
0
43
2
-4
74
-2
0
-1
0
1
13
-7
0
-5
-8
3
47
37
0
22
8
26
0
-50
-22
0
7
54
-2
3
61
27
-4
58
37
87
33
-36
45
-2
1
-105
6
23
-52
-39
-2
-5
-51
-22
-5
-4
37
0
0
-1
0
5
0
-16
-48
-2
0
-13
11
1
-5
19
-5
0
0
2
-2
14
2
4
-8
2
-2
42
12
1
-1
28
-21
17
-62
-74
33
-31
-43
-4
-22
-43
-26
0
6
-2
-1
86
-19
-62
19
-10
23
27
-8
-2
3
0
0
-3
0
100
-3
62
-2
55
-2
20
-13
0
-9
0
0
0
0
0
0
-6
56
0
-4
7
0
0
-32
-2
-4
-3
6
0
5
34
0
19
23
51
-1
35
-28
-5
38
-50
22
0
2
-38
-8
52
33
36
0
11
-9
5
-73
42
-1
0
-4
-73
0
4
-58
-24
36
-4
9
0
-72
-4
-2
70
0
47
14
-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
49
-3
0
0
16
0
0
1
1
0
0
-6
0
-2
-4
0
0
0
94
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
23
-2
0
0
0
0
20
54
0
0
0
0
0
-6
-3
0
34
77
0
0
-26
100
0
0
1
0
0
0
36
0
0
-31
4
0
-1
39
0
0
6
0
0
0
36
0
16
17
0
0
0
-25
0
0
0
0
0
0
59
-4
11
0
0
0
0
17
0
0
0
0
0
9
-49
0
0
0
-1
0
16
-37
0
0
-4
0
0
0
-126
0
0
3
0
-1
0
8
0
8
-7
0
2
0
4
0
0
16
0
0
5
7
0
0
15
0
0
0
14
0
0
0
0
18
0
98
0
0
0
0
0
0
-31
0
0
0
0
0
2
24
0
-5
0
0
0
9
7
0
0
0
0
0
0
32
0
24
0
0
0
0
-8
0
0
13
10
0
-1
-14
0
-10
0
0
0
0
5
0
0
0
0
0
0
-61
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
6
0
64
-1
0
-27
-9
-1
5
1
0
0
41
0
0
0
28
-1
0
-55
7
0
0
8
0
0
-7
1
0
0
-4
0
0
0
0
3
1
0
3
0
0
79
0
-1
0
0
0
29
-4
0
0
15
0
0
-2
53
0
6
-43
101
0
-48
-33
0
6
-62
0
0
30
-78
0
0
-12
-36
0
101
74
0
0
7
0
0
24
-84
0
-15
-27
-18
0
0
-32
0
0
0
0
0
0
-42
-30
0
0
0
0
0
40
-3
2
9
0
0
23
-94
0
0
-8
-4
0
4
-82
0
0
-14
-1
0
52
63
0
-2
-5
-9
0
9
14
0
0
94
-2
0
101
4
0
-11
-43
4
0
15
1
0
0
0
0
0
0
-16
0
0
0
1
0
-2
-77
1
0
0
0
0
0
-90
-1
0
-10
-9
0
0
42
0
30
-4
2
0
-13
44
0
4
-3
-4
0
5
6
0
-34
13
0
0
-5
23
0
0
16
-6
0
1
-36
0
18
-10
0
0
0
-40
0
3
8
11
0
0
39
0
34
0
0
0
0
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
-18
14
-47
-53
87
-58
29
-50
24
-10
-23
-34
-11
-45
61
8
7
17
33
15
23
57
-11
16
0
-9
-1
0
0
-29
7
0
0
7
-3
15
-1
-81
66
-22
-19
1
73
-6
24
9
21
27
20
-3
20
7
-1
-73
-75
-16
15
14
47
-67
25
-38
-8
25
-29
-39
-33
-31
-49
17
-18
-8
-1
-23
-17
74
-4
-6
-2
-8
-28
-53
-43
-1
16
-18
41
27
-14
22
23
0
17
-22
22
-2
-22
-10
6
18
-25
46
-33
13
-36
56
4
26
56
-64
-5
-92
-18
-8
99
-27
-44
119
-21
4
-41
-17
89
-24
-13
123
8
8
29
-18
-11
23
74
36
0
-57
-10
22
7
43
-32
5
-6
-1
-4
35
67
43
-22
14
114
16
-50
23
1
8
-78
-13
-5
47
2
-3
6
72
44
-19
31
47
-14
43
48
15
-2
0
70
-51
20
37
-15
14
49
0
-18
28
2
100
35
-68
-7
44
-40
125
37
44
55
19
131
50
16
-5
72
83
-5
-16
0
-8
-42
10
-49
-27
-13
-18
-15
38
-35
10
32
14
-39
-12
-1
-62
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
0
-1
49
-1
-54
-82
-2
0
5
-74
-17
-5
-20
4
0
0
14
0
67
0
-20
0
0
60
-1
17
0
0
20
0
0
13
-25
0
-16
-27
14
-4
1
0
-19
-9
0
0
-3
-11
8
3
-39
0
-43
4
71
-3
-78
0
3
-2
14
14
0
23
2
0
0
-41
6
-2
-19
10
0
-7
-17
19
2
-11
-14
0
-15
4
-15
1
0
55
0
0
10
3
-19
1
24
53
7
0
-4
0
8
-32
0
0
3
-5
0
21
-5
-2
2
77
-26
0
-16
23
0
0
-59
0
-4
-13
0
0
6
-92
-21
0
-33
-32
0
7
-5
-13
0
45
28
0
-6
24
-18
-1
-11
-28
0
0
68
2
0
2
24
0
2
-2
-26
-5
1
88
2
0
-8
0
0
0
3
-4
0
0
0
0
0
12
11
86
9
2
0
-1
-56
6
5
-2
-14
0
-4
0
0
27
24
-19
0
-1
-86
-6
1
1
59
1
6
80
-3
-25
30
0
-1
0
59
0
-3
-4
0
-3
0
-10
0
18
7
0
2
0
30
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
-84
5
0
11
-24
0
0
8
0
0
0
45
0
-2
19
-4
0
0
5
0
0
0
0
0
0
6
0
-92
0
0
0
0
0
0
-9
0
-32
0
1
0
0
0
4
-35
0
0
-5
0
0
2
-8
0
-5
35
0
0
-62
52
0
0
15
0
0
64
-28
0
0
0
4
0
9
-27
0
0
6
0
0
-7
-2
0
16
3
0
0
0
64
0
0
0
0
0
0
-26
4
0
0
0
0
5
-37
0
0
6
0
0
0
19
0
3
-6
0
0
0
52
0
0
4
0
-2
0
-22
0
0
-1
0
0
2
17
0
0
-10
0
0
0
-64
0
0
5
-2
0
0
-31
0
0
0
0
6
0
-35
0
0
0
0
-2
0
0
0
0
4
0
0
0
9
0
0
0
0
0
0
4
0
1
-2
0
0
0
-5
0
0
-2
0
0
0
-14
0
-13
0
0
0
0
-16
0
0
13
0
0
1
14
0
1
1
0
0
0
1
0
0
0
-1
0
0
-7
0
0
0
0
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
-53
0
0
0
0
0
-1
-11
-1
0
0
16
0
0
-36
10
0
0
-14
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
38
0
11
0
0
0
-2
-6
0
0
-3
0
0
6
-4
0
-100
18
-6
0
20
-5
0
0
-5
0
0
39
-43
0
0
-5
0
-2
0
-35
0
0
-6
0
0
3
-5
0
20
-7
0
5
0
16
0
0
0
0
15
0
32
-3
0
0
0
0
0
-22
0
0
0
0
0
0
-18
0
0
-8
0
0
-13
33
0
0
21
0
2
-5
-65
0
0
-16
-5
0
2
-17
0
1
33
-1
0
-3
-27
0
0
4
0
0
0
35
0
0
-5
0
5
0
-23
0
0
-1
0
32
0
38
0
0
0
7
0
0
-8
6
0
0
0
0
0
11
0
-3
-2
-2
0
0
58
0
0
0
2
0
0
49
0
-8
0
0
0
0
78
0
0
-22
0
0
0
24
0
-3
1
0
0
0
-33
0
1
1
0
0
0
-4
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
-8
13
9
-38
11
94
-6
3
22
-24
25
-20
41
14
-2
62
-11
34
-2
34
-36
-18
-17
4
-14
51
14
-11
-1
62
-116
-34
-11
98
-33
34
7
43
14
14
-32
6
75
11
82
4
48
-11
9
-33
5
34
2
-29
-21
-2
-1
1
-5
81
0
-22
20
-6
3
-36
22
6
-30
10
-4
-26
1
-25
-8
-18
-27
35
-9
-16
9
7
-18
42
43
6
60
32
19
47
12
1
-3
-15
0
33
7
3
16
7
-6
-15
6
35
-38
23
-7
62
-14
-13
-105
-10
77
0
17
31
-41
-65
93
2
-3
-33
3
-56
-6
32
11
-24
53
-12
-13
-44
59
-17
6
17
6
1
0
112
36
-4
35
3
-30
-13
72
-43
-2
-10
-18
24
43
11
-5
-12
-26
1
32
19
21
-15
-2
-15
59
-66
9
52
-10
2
-19
-33
26
52
-16
23
-13
-32
46
-14
-23
18
62
-2
-19
6
12
8
-16
-44
-25
114
0
51
42
-73
24
4
69
21
5
-32
53
70
7
-18
70
52
-49
13
-43
-26
-40
42
-5
53
-21
-19
4
-53
40
5
75
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
-33
-75
14
8
30
0
-36
-63
0
9
-2
-25
0
-49
-4
1
17
0
-31
0
22
17
-24
0
0
62
0
4
0
0
-4
0
0
0
29
0
8
-4
-31
39
0
0
24
-3
-3
0
60
7
2
3
98
0
9
20
0
8
16
8
4
0
-12
-8
-2
33
46
-3
0
-9
0
70
1
-4
0
49
-26
0
72
-37
7
-1
7
-39
0
45
54
-3
-3
33
35
0
-51
0
-1
13
-84
-1
0
9
0
-23
-44
24
-2
0
2
5
33
4
23
-59
0
36
28
19
0
20
32
0
15
4
9
5
1
16
-3
16
2
-1
0
-5
-4
-1
-64
28
16
0
50
14
18
-34
-54
5
1
-34
-12
0
85
4
0
16
7
30
0
14
0
11
23
99
114
-1
-20
0
-38
18
0
53
0
-15
-3
-23
-1
-33
-8
0
1
-13
20
0
6
-18
0
9
23
11
0
-3
-94
4
6
39
7
-8
65
-4
4
-109
71
15
0
17
-62
0
-26
-1
56
-5
-36
56
3
12
0
-21
3
32
-74
-1
10
0
-10
-10
-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
1
82
1
0
-27
0
0
-26
26
0
0
-4
3
0
37
0
0
0
1
0
0
0
15
0
0
-1
-12
-1
0
7
43
0
0
2
0
4
-8
-74
5
-4
-14
0
-11
15
0
0
11
0
0
-10
-20
0
59
-10
-67
0
-15
-12
2
5
51
0
0
14
17
1
0
48
-53
3
8
-7
0
-1
24
0
0
21
-30
0
4
-82
41
0
0
-91
0
0
-1
0
0
0
6
107
-45
0
0
0
0
-5
33
0
24
-1
0
3
-47
0
1
-85
24
0
-15
-3
0
0
-7
0
0
-39
-53
4
53
-7
20
4
-50
-36
-1
-10
45
-1
0
9
-54
0
8
10
27
0
-5
-7
0
0
-26
4
0
32
-74
0
19
57
-55
0
0
-36
-4
0
0
0
0
0
-47
1
0
4
4
0
-2
19
0
14
7
0
0
7
48
0
-5
46
-2
0
83
33
0
96
82
-2
0
13
9
0
-9
-32
-59
0
13
-46
0
-24
11
-1
0
8
50
0
-6
-64
-17
0
10
-13
0
-24
0
0
0
0
-59
3
-11
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-5
11
-5
25
-65
-35
3
-24
5
-61
-15
-75
-32
-9
2
-18
27
9
5
-100
-22
-47
80
-6
5
-100
14
-2
15
4
2
-1
-2
7
-3
5
30
37
57
-42
-26
59
-2
7
-34
34
-37
-16
-54
-60
9
12
13
-38
25
59
9
22
-4
51
-56
-5
30
-5
4
-15
74
-10
-13
56
-13
4
-5
7
-81
-21
15
-17
18
-65
19
-1
-6
-11
-51
3
-19
6
20
10
43
-27
-58
-26
107
61
-5
-10
-29
4
13
45
-33
7
-5
-5
-37
73
14
-40
-7
115
-39
-12
-6
56
-16
0
6
-30
-15
14
72
64
-7
-17
37
-9
-13
51
-40
-15
8
86
8
-56
40
-56
-2
-17
31
26
3
53
-2
-19
88
81
9
3
53
-3
-8
7
21
14
77
-3
-29
5
17
23
-3
-58
-25
-6
0
-52
-62
-33
-27
88
22
11
-29
53
36
-44
-55
-5
-13
-25
5
12
-53
-51
92
-19
51
5
45
4
7
139
-17
-59
63
-19
-15
15
24
2
63
-17
43
-17
38
-19
-12
-4
35
-4
18
-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
84
5
-2
1
6
100
-8
56
-13
-3
0
34
0
-68
2
-53
15
0
5
24
-27
0
0
-1
0
3
0
-15
0
0
-90
118
0
43
0
-39
6
0
0
27
0
-4
-54
22
0
-79
24
-37
0
-31
-23
0
-15
48
4
0
-12
0
0
-29
-50
-32
-10
78
-19
0
-6
-26
0
8
68
-11
0
-19
-11
-39
14
6
-100
0
0
-3
0
56
0
-8
-80
24
0
5
-4
0
-32
20
0
-2
16
0
26
2
0
32
-49
-40
-23
33
48
11
0
67
-2
7
-49
-4
0
60
-42
-95
42
-33
0
-2
14
14
0
48
-12
-39
0
10
-70
-27
30
-24
3
1
-11
43
16
12
0
-9
-1
-10
-63
46
2
0
-30
0
-4
0
-6
41
0
104
5
0
-1
27
0
-1
29
0
-9
47
0
1
-4
13
0
-13
67
84
1
-8
21
0
-25
17
8
33
-5
0
-14
-31
21
-60
7
-7
15
0
-16
-12
9
-1
-18
35
0
-7
-11
1
-29
10
-22
0
-32
-46
0
-74
0
-36
-5
3
0
-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
9
2
0
0
2
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
-52
0
0
0
0
0
0
-9
0
61
0
0
0
0
0
0
-6
0
0
1
0
0
-7
18
0
-8
-2
0
0
18
30
0
0
39
0
0
14
-6
0
0
43
0
-2
0
-67
0
0
-9
0
0
0
10
0
-71
3
0
0
0
-33
0
0
0
0
0
0
-30
0
5
0
0
0
0
-11
0
0
0
0
0
1
-80
0
0
0
0
0
18
14
0
0
0
0
0
13
17
0
-1
-5
0
0
0
-7
0
0
-9
0
0
0
-21
0
4
-10
0
0
0
-8
0
0
-7
0
0
0
-6
0
0
3
0
0
0
-44
0
0
0
0
0
0
7
0
0
0
0
0
-3
-8
0
-7
0
0
0
0
-20
0
1
0
0
0
0
56
0
77
0
0
0
0
72
0
0
0
0
0
0
-53
0
16
0
0
0
0
-4
0
0
0
0
0
0
-9
0
-31
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
6
0
0
3
-1
0
0
-3
2
0
0
0
0
0
-3
0
-57
0
0
-2
0
0
-1
6
0
-11
5
1
0
-3
0
-2
-32
0
0
15
0
0
5
90
0
-5
16
0
0
-61
23
0
0
-16
0
0
0
7
0
0
-11
0
0
-9
-116
0
0
0
0
0
6
5
0
-49
-1
0
0
0
16
0
0
0
0
0
0
-2
-8
0
0
0
0
0
4
0
0
3
0
0
0
57
0
0
-2
-13
0
0
-10
0
0
-4
0
0
-3
62
-10
-9
0
-5
0
5
-40
2
0
-3
-2
0
24
21
0
14
14
-1
0
0
-27
0
0
0
0
17
-1
81
2
0
3
0
-1
0
24
0
0
0
0
-3
0
-1
0
0
0
-1
0
0
-5
0
-1
-1
0
0
0
-43
0
0
0
0
0
0
-3
0
-1
0
0
0
0
11
0
0
6
-8
0
0
5
0
-19
0
0
0
0
-34
0
0
4
0
2
0
-64
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
-48
31
5
3
-69
22
-26
30
21
8
0
1
13
51
13
49
-3
0
0
-8
-44
-5
4
-100
0
0
0
20
0
20
57
-10
-11
-2
0
-17
-5
4
9
40
-2
5
9
-77
0
61
15
34
0
-21
-52
-1
7
-47
16
0
-23
44
0
11
6
-37
-3
64
0
0
-15
-19
24
14
-101
-1
13
-15
-14
9
36
19
-23
-5
0
11
0
66
0
-24
13
-18
0
-1
-19
0
-8
3
1
-1
0
-3
27
-6
-5
-20
-32
-10
-47
-12
-23
0
17
10
-3
-20
-34
-23
0
1
24
-42
8
-36
11
8
-17
-87
-29
24
-80
-45
11
68
-76
-61
52
6
3
0
-1
9
0
-22
-1
-25
-5
-19
-1
59
-37
0
-19
102
2
0
0
25
0
24
73
0
4
0
0
2
-1
-2
24
10
5
0
71
-36
0
16
27
14
2
5
-23
0
80
14
0
0
-19
-5
0
1
41
-23
0
-5
-43
0
-65
-33
1
74
13
4
-11
11
24
29
3
3
-29
-3
15
-3
0
59
0
-3
-14
-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
-87
0
0
-4
2
0
0
0
0
0
0
-5
0
0
0
0
59
0
0
0
0
0
0
-3
0
17
0
18
0
0
0
0
-33
0
0
16
0
0
-13
22
0
-15
-8
0
0
-4
16
0
0
-3
0
0
-7
-12
0
0
1
0
0
9
-77
0
0
46
0
0
0
-57
0
-86
2
0
0
0
-31
0
0
0
0
0
0
-82
0
1
0
0
0
0
-48
0
0
0
0
0
0
31
0
0
0
0
-2
1
45
0
0
0
0
0
8
68
0
0
6
0
0
0
-49
0
0
3
0
0
0
37
0
0
-5
0
0
0
-14
0
0
-10
0
0
0
-54
0
0
0
2
-8
0
-34
0
0
0
0
0
0
-14
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
10
0
0
1
0
0
0
-6
0
-2
0
0
0
0
29
0
0
0
0
0
0
58
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
0
0
24
22
0
-137
35
26
0
45
11
0
-3
42
0
0
-6
30
-2
0
4
-68
0
-1
-13
0
-5
-6
-66
32
7
7
0
-61
-6
0
0
-42
2
0
57
-11
0
-6
-1
2
0
-39
-8
7
0
16
-6
0
15
-70
24
0
11
-24
0
31
5
0
-4
56
-8
0
0
25
-9
-23
5
59
0
2
-21
-2
0
99
10
2
0
4
81
43
0
8
0
2
-3
-3
0
0
15
0
5
16
0
-7
-1
-42
0
-29
16
0
9
22
-5
0
-12
-11
0
-20
8
54
0
-70
3
0
-25
10
0
0
5
-11
-5
117
-8
18
0
-34
22
1
0
-14
0
2
-17
-16
0
-6
-3
98
0
0
-6
1
10
-1
9
0
0
8
52
0
29
30
0
0
29
0
-3
-26
-5
0
16
-15
0
-27
-110
26
0
20
5
-3
29
-42
-9
0
29
18
0
54
9
7
0
54
-12
0
-19
33
3
0
-20
48
8
-5
-37
-37
0
0
-8
0
0
-4
0
0
0
-43
-53
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
-43
48
6
15
-86
5
-49
0
-27
0
0
21
0
-119
-1
45
18
0
-2
34
-55
0
28
-57
97
26
-17
0
-12
-10
-5
0
-48
8
-16
-1
-5
0
-4
-27
-85
14
-6
0
20
15
29
11
25
-9
-5
0
-2
-42
-34
54
-64
-17
16
-54
-47
-2
-18
-4
11
1
5
-19
-73
2
15
14
8
13
25
15
1
0
11
-130
-13
0
-1
2
-5
18
103
0
-1
43
5
-53
21
13
-4
-34
7
54
20
-14
4
-5
23
-5
16
34
28
8
10
9
-18
-86
0
-2
-30
42
-24
37
103
74
-42
39
-5
-20
-71
-36
5
-1
0
26
32
2
-32
-1
-21
-8
5
33
-38
14
0
19
26
-1
-3
27
27
3
59
43
-1
10
-33
0
0
29
5
-65
-14
-9
123
33
-2
0
47
79
-10
-41
0
-19
-3
-80
68
-76
-7
-3
-77
1
-48
40
-51
42
0
8
17
-47
-19
3
-44
-6
-19
-3
-26
-6
58
-3
3
-22
0
-19
112
-6
-33
0
-5
36
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
21
0
-57
0
-3
0
0
-10
19
-4
0
0
5
0
0
0
-35
-1
19
-16
-6
0
5
0
-49
1
0
0
-22
0
0
-51
-17
0
-46
62
-32
0
22
52
0
-1
40
-1
-6
44
-9
0
0
-93
64
4
-62
0
2
19
-86
25
-3
5
-94
0
-80
-27
-6
9
1
-60
0
0
0
0
4
0
21
-5
-5
0
-10
5
0
-10
0
0
1
0
0
-9
87
4
4
1
-5
25
20
-11
0
0
2
0
5
0
0
-8
32
-15
-13
6
-18
51
0
19
44
0
5
-21
0
0
69
3
-44
0
32
21
0
0
-20
1
51
3
-58
-3
0
2
-4
-10
0
87
-10
0
0
0
1
0
-8
14
0
-13
-1
0
0
8
3
21
0
0
0
0
-40
0
-1
-4
16
0
-1
-51
0
-97
-49
-8
0
0
31
0
80
7
-10
0
10
0
0
29
3
0
-2
0
-21
-1
21
0
-2
0
10
26
0
57
14
0
18
0
-3
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
-50
0
1
0
0
0
0
34
0
0
9
0
0
0
-16
0
9
-15
0
0
5
13
0
0
-4
0
0
2
-9
0
0
2
-2
0
-3
29
0
0
10
0
0
0
21
0
19
0
0
0
0
-41
0
0
0
0
0
0
50
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
-68
0
0
0
-4
0
0
-16
0
0
3
0
0
0
10
0
-1
-6
0
0
0
-23
0
0
0
0
0
0
8
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-11
0
0
0
0
0
0
107
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
-3
0
0
0
0
4
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-9
0
0
0
0
0
0
0
7
14
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
1
43
0
0
0
0
0
-37
-5
0
2
37
0
0
-36
27
0
0
-5
0
0
0
4
0
0
5
-3
0
0
30
0
0
33
0
0
-1
-36
0
58
-2
-5
0
0
5
0
0
0
0
1
0
42
0
0
0
0
0
0
15
0
0
0
0
0
0
-26
0
0
4
0
0
7
30
0
0
0
0
0
0
-32
2
0
26
0
0
0
59
0
0
1
0
0
0
-71
0
-1
11
0
0
0
4
0
0
-3
0
0
0
-6
0
0
0
0
-2
0
11
0
0
0
0
0
0
2
1
0
0
0
0
0
-15
0
6
3
0
0
0
-47
0
0
0
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
-2
0
0
0
0
-14
0
0
0
0
0
0
-11
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
-58
-63
5
5
34
-34
18
12
-13
-59
0
44
-17
-5
0
-21
-25
2
-1
-33
-18
14
-3
31
-9
-29
-4
0
-56
-4
10
-32
-13
-12
7
0
23
27
-4
23
-20
-95
4
8
35
5
-46
-85
14
-113
-11
-57
21
-88
-43
7
-59
-1
-9
66
-91
62
17
-72
8
7
37
-4
3
-53
25
-3
7
128
41
-40
-41
0
-10
30
5
-1
20
-52
29
-14
51
57
-24
128
-46
-57
-9
-69
-23
2
-7
37
-52
2
37
4
1
-29
21
-32
6
-73
106
-42
19
-2
-39
11
17
8
0
-32
27
34
-25
5
32
-47
-42
0
-21
-1
4
-16
29
-34
-11
49
-3
19
-16
-15
-76
-6
-2
-11
41
-40
-2
-51
-72
-8
-22
5
-26
23
-38
103
31
-25
71
15
-35
8
29
-91
-29
-5
-71
34
26
-50
13
-17
-9
28
8
-14
-13
41
-2
8
2
-23
4
-34
134
12
-6
8
12
13
54
-8
-15
-16
46
0
15
45
-17
-6
-4
-4
45
-4
-16
5
-16
-63
24
9
1
-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
-15
0
1
0
-12
0
-18
0
-14
0
0
-4
0
-21
0
0
-9
0
0
0
-24
-2
7
9
46
0
0
0
-39
-34
4
6
17
0
0
25
-28
0
-61
-48
0
0
25
41
0
-1
110
0
0
-26
-40
2
0
-59
0
0
23
-37
0
-3
-16
0
0
15
-44
0
12
12
0
0
0
15
0
0
0
0
-6
0
-21
55
-7
0
0
-3
0
21
7
0
0
0
0
1
-60
-1
2
-31
0
5
-31
38
0
1
27
0
-10
21
-1
0
-16
121
13
0
19
2
1
-4
-20
0
65
9
18
0
25
31
-13
-7
-8
-6
0
0
13
0
26
0
26
0
0
1
0
-30
0
-47
-1
-2
0
0
-2
0
-80
0
-1
2
0
0
-2
-6
0
-3
2
0
0
8
-33
0
4
5
0
0
20
18
0
3
12
0
0
0
19
2
-10
12
0
-1
0
-71
0
63
49
0
0
0
63
0
0
-5
0
10
0
4
0
-26
0
0
10
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
-58
43
0
0
-33
-26
0
0
116
0
0
6
-21
0
0
0
47
0
-1
-2
0
20
4
33
19
-5
27
0
-88
-35
0
0
-32
0
0
-92
-30
1
-61
-25
-28
0
25
22
0
53
-11
0
0
-24
8
-9
19
21
5
0
19
-17
-4
-2
-37
-5
0
51
-8
0
-10
-26
-11
0
27
36
0
0
50
0
0
0
3
25
-2
0
-3
0
0
-15
-22
-1
0
19
0
26
-30
0
27
-34
-20
0
86
12
0
-6
-1
-5
0
-147
8
-1
5
-15
-9
0
-85
-5
-2
56
-12
-2
0
-33
5
0
39
-19
24
0
100
13
0
-3
-29
-7
0
-1
10
1
1
-50
72
3
0
0
-5
0
0
-3
0
0
-13
69
0
-7
-5
0
0
-46
-5
-30
-36
-3
0
1
-34
0
-2
10
-28
0
-10
10
0
41
-2
-5
0
-25
-22
13
61
100
-1
0
11
3
0
13
35
0
0
-2
-24
0
10
80
-1
0
0
4
-1
17
-7
0
0
0
13
33
0
21
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
46
-54
-17
0
-8
31
0
5
26
50
0
-36
-51
28
0
-33
0
-5
-21
4
1
2
2
46
3
47
3
38
-25
-53
-1
54
9
-5
0
4
-37
-1
-8
18
-3
-10
-46
-4
-25
-13
-17
0
11
-4
-18
8
6
28
3
-7
-41
-61
-1
0
-8
29
-6
9
11
34
0
29
-34
-101
-1
-49
0
0
8
-55
0
-6
-22
19
32
23
8
-16
-90
-13
-20
91
-5
0
-11
-94
-15
50
-100
40
-17
-19
9
-55
4
-21
-4
19
9
-10
65
-43
15
0
-7
5
-37
-4
-4
-5
-35
4
3
-59
-1
-3
0
-30
-1
-8
-49
-73
-20
0
30
-8
0
1
-5
-33
-4
23
-7
-4
-7
15
10
-5
-31
-43
3
9
0
-42
-3
-27
0
32
101
-12
2
5
79
0
-42
-7
-4
-7
0
-36
-3
-42
12
-56
-11
-13
-17
0
1
-16
21
-25
17
69
-1
31
42
-94
-27
0
-5
-1
-5
25
2
-48
0
18
-43
0
-9
13
-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
-54
0
1
0
-1
-22
0
0
21
0
-5
0
-8
0
-24
1
37
0
1
0
-27
-42
0
0
-18
-2
1
-37
44
0
15
32
-21
0
-54
-30
16
0
-22
0
0
95
9
0
0
-4
-3
3
55
44
0
1
-49
0
5
68
0
1
-29
109
-1
0
2
-9
0
0
-6
1
6
0
-38
16
43
0
3
-2
0
-53
0
0
0
0
0
0
-52
-1
-1
46
-1
13
-2
35
0
4
62
0
-3
-26
43
0
-3
-78
-48
6
35
42
0
0
30
15
-9
-18
-5
0
15
-34
-10
24
-5
0
-1
5
86
0
3
-1
66
-6
9
-14
1
-23
0
1
0
2
0
13
25
0
-47
-2
0
0
0
0
0
-31
0
-20
0
0
0
0
-26
0
4
45
1
0
-1
-4
0
-44
37
4
0
-1
-77
-1
2
-25
-63
-2
0
-1
0
4
-10
0
0
0
0
0
27
30
-14
0
0
50
0
-157
0
-2
-16
0
77
-7
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
-8
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
76
0
0
0
0
0
0
1
0
9
-61
0
0
-16
2
0
0
2
0
0
1
33
0
0
0
0
0
-5
-30
0
0
4
0
0
2
-2
0
-4
-13
0
0
0
-5
0
0
0
0
0
0
11
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
1
0
0
0
0
24
0
0
0
0
0
0
14
0
0
-10
0
0
0
-100
0
0
0
0
0
0
14
0
-8
24
0
0
0
-29
0
0
-1
0
0
0
9
0
0
0
0
6
0
-14
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
10
2
0
0
0
34
0
-7
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-77
0
0
0
0
0
0
-4
0
21
-2
0
0
-14
29
0
0
5
0
0
0
29
0
0
1
0
0
0
25
0
0
-1
0
0
0
-1
0
4
1
0
0
0
-1
2
0
0
0
0
0
-35
0
0
0
0
0
0
31
0
0
0
0
0
0
21
0
0
0
0
4
0
27
0
0
-1
0
0
0
-53
0
0
-6
0
0
0
2
0
0
-2
0
0
0
9
0
0
-1
0
0
0
1
0
0
0
0
0
0
6
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
-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
99
35
0
-6
68
0
0
-4
-43
3
7
6
59
-3
-60
0
22
12
0
0
-22
-2
0
22
68
0
-62
-11
8
-6
23
34
0
-3
-45
-5
0
-3
-11
0
-3
0
53
18
-62
-52
-9
-1
7
-1
0
3
7
2
17
32
41
-2
5
-80
-10
0
16
37
-52
0
-61
-92
-40
0
5
0
0
10
25
0
4
7
0
34
-23
0
15
5
-13
-42
7
19
1
36
0
17
-62
33
44
-2
4
-21
6
-43
24
-71
33
30
5
-25
-32
-1
-24
41
-53
35
-46
-51
11
19
-15
22
1
2
-9
0
-45
0
-3
0
23
-51
0
-23
11
0
0
5
-22
0
8
-13
0
0
-10
-2
-3
-1
-2
-44
-1
-3
-21
-2
-38
0
-10
6
6
-2
5
-41
0
-31
41
-4
33
4
-8
4
35
2
90
0
0
-35
0
33
3
-3
-6
0
31
0
0
16
-45
-52
-18
-43
0
41
0
0
-56
0
-95
-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
3
0
0
0
3
-88
0
0
0
0
0
0
0
0
8
0
0
0
0
0
1
62
0
0
-2
0
0
0
-39
0
57
84
0
0
3
-14
0
0
-21
0
0
0
-21
0
0
-14
20
0
5
21
0
0
5
0
0
8
-17
0
-35
4
0
0
5
71
0
0
0
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
-31
0
0
0
0
-7
0
37
0
0
-4
0
0
0
41
0
0
0
-1
0
-3
10
0
0
1
0
0
0
4
0
0
15
0
0
0
-85
0
0
-4
0
-6
0
-11
0
0
0
0
-1
0
-57
0
0
0
0
0
0
-11
0
0
0
0
0
0
15
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
0
-10
20
0
0
0
18
0
0
-2
0
0
0
-28
0
-3
0
0
0
0
-2
0
0
3
0
0
0
48
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
103
15
0
0
0
-6
0
0
0
0
0
8
-51
-80
4
-3
0
13
-14
0
-1
-37
0
0
15
-75
0
-30
-13
-13
0
2
-2
-7
0
11
2
0
59
4
1
-5
26
28
0
13
-7
0
8
35
15
0
-9
-41
0
-10
-15
-32
0
-3
23
0
-6
74
1
0
0
2
2
50
0
32
0
-26
24
16
-7
0
0
0
43
-11
0
100
-58
2
0
-61
1
-1
0
26
0
0
24
17
0
75
-9
-26
0
27
6
-3
16
-11
0
0
-12
6
0
-34
16
16
0
-6
-15
0
-10
37
0
0
0
-30
0
3
-6
5
7
0
9
-7
0
0
-5
0
0
-39
-5
0
3
-4
0
0
48
2
-5
10
1
-1
16
-39
0
0
-75
29
0
56
4
0
-33
-37
16
0
1
38
0
26
-1
50
0
7
-14
0
-60
20
-3
0
-13
-3
0
7
-52
7
0
0
-40
0
20
-41
0
0
0
-7
-14
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
-16
0
0
0
0
0
0
-85
0
0
-1
0
3
-3
95
0
-24
-34
6
0
32
-46
0
0
-33
0
0
-21
42
0
0
-13
0
4
-11
-12
0
0
-7
0
0
0
-37
0
-1
14
-1
0
0
9
0
0
0
0
-1
0
-14
0
2
0
0
0
0
-7
0
0
0
3
0
0
-15
0
0
0
0
3
-6
-6
0
0
-3
0
-1
1
81
0
-3
29
-4
0
0
47
0
3
5
0
7
0
-27
0
0
33
2
-3
0
62
0
0
-3
0
-9
0
-14
0
0
0
2
-1
0
-45
0
0
0
0
0
0
5
0
0
0
0
0
0
30
0
13
0
0
0
0
-108
0
0
0
0
-6
0
43
0
0
0
0
0
0
15
0
0
1
-3
-2
0
-35
0
8
0
0
0
0
39
0
2
0
0
0
0
-43
0
-4
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
7
6
0
-1
-3
-2
0
-47
2
-4
0
1
0
-14
-46
0
0
14
0
0
1
9
0
12
38
67
0
57
49
0
-1
-77
9
0
-51
-5
0
-6
-59
-7
11
42
-5
0
6
72
0
0
-9
-38
0
-5
13
-10
-2
-4
0
-4
0
61
15
3
0
5
-9
-7
0
0
0
0
-40
3
0
0
0
0
-4
-2
0
0
26
-9
99
8
29
2
0
-42
1
-7
-5
-34
-6
0
-27
8
-17
-9
-8
-6
-15
13
36
-47
15
20
-3
74
3
32
55
5
-1
0
0
-3
-3
13
0
0
0
0
-18
7
39
0
-64
0
0
0
0
0
0
-35
0
0
0
0
0
0
40
0
-77
0
0
1
0
31
0
15
-1
-7
54
0
6
13
6
-21
-5
6
1
36
2
-5
5
-5
4
1
-80
0
-68
-21
21
13
0
-12
0
0
13
-45
-7
13
0
0
26
0
0
-23
0
21
-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
16
0
4
4
0
0
0
0
1
46
0
0
0
0
0
0
-2
0
-1
64
0
0
43
-18
0
0
-1
0
0
2
-3
0
0
0
0
0
0
78
0
0
5
0
0
0
37
0
-13
1
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
37
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
35
0
0
0
0
0
-1
63
0
0
6
0
0
0
-3
0
0
0
0
0
0
-52
0
-26
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
-1
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
-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
-26
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
-3
0
0
0
-9
-23
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
0
0
0
-32
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-27
0
0
0
0
0
0
-25
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
1
-2
0
0
-3
0
-29
2
0
0
-1
0
-1
-5
-21
0
-29
28
-58
0
-33
19
2
-1
31
-1
0
-16
-24
0
0
-1
-43
0
-28
30
7
0
0
2
11
1
-79
0
10
35
-20
0
-7
28
0
0
0
0
-11
0
11
1
0
0
0
0
0
18
0
0
4
-1
0
14
-116
0
-1
-5
0
-22
-6
25
0
0
-6
-3
84
4
-20
0
6
-42
-14
-2
0
28
3
0
9
-10
-22
5
24
0
0
0
48
4
0
14
0
6
0
0
18
0
-42
-1
0
0
-14
-64
0
-38
0
5
0
0
-1
0
64
0
0
-21
0
0
4
-109
0
8
-1
0
2
2
-89
1
11
3
2
-9
0
-64
0
-65
-3
0
0
-1
-15
0
10
-2
1
-5
0
-4
0
-11
1
0
0
2
-7
0
22
0
-3
0
0
43
0
3
0
6
-7
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-5
6
-2
3
0
0
6
2
0
0
-4
0
0
-74
-14
0
-20
28
-1
0
62
-1
1
-1
-51
0
0
-21
5
0
5
-6
0
2
-16
-38
0
0
37
0
0
0
20
0
-48
4
0
-10
14
15
0
0
0
0
30
0
11
-45
2
-1
0
0
0
-36
0
0
1
0
-2
2
34
7
0
42
0
3
-2
33
0
7
-75
0
-15
-5
-10
0
0
36
0
7
24
-6
-1
-9
70
0
11
-10
-90
0
6
50
0
-3
-25
3
0
0
-7
0
9
0
5
0
6
-2
0
-17
0
15
0
0
0
0
-7
0
-53
0
0
0
0
0
0
-115
0
-6
-8
0
0
1
14
0
0
-14
0
0
1
-4
0
18
44
0
0
0
-14
0
-11
-41
0
0
-9
22
0
17
-10
0
0
0
0
0
0
-15
0
26
0
-4
0
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-95
0
-34
-37
0
71
1
28
-10
-13
-32
0
-13
5
8
-1
9
-1
0
10
5
1
0
6
-1
0
10
-14
-5
38
-16
-9
10
20
5
27
-4
4
7
0
37
-9
-2
33
1
-15
0
83
13
13
-3
7
-5
0
70
2
94
11
-5
-35
1
0
2
-5
-13
-8
-35
0
-16
1
-13
2
16
-47
0
2
-3
18
-91
-38
-64
-2
2
9
-7
-49
-1
-52
0
3
8
74
11
9
7
0
81
5
-43
43
15
40
-2
-9
-1
17
-25
6
7
0
26
5
-33
15
30
19
0
59
-11
-62
20
-40
1
0
-3
0
12
77
-25
81
0
0
11
-9
-1
21
-22
0
24
37
29
-37
102
116
-2
26
-24
-43
56
-47
-66
0
-38
-12
-5
-32
-18
6
0
5
-1
14
12
26
-11
-5
55
4
-25
-36
36
75
0
67
-26
-8
-51
41
28
0
58
-5
-33
3
56
-14
0
-4
13
-26
95
16
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
-16
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
1
0
0
0
0
-6
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
-57
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
-10
0
0
0
0
0
0
-4
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
-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
43
2
1
0
4
0
7
-6
0
0
3
0
0
31
1
0
26
-64
0
0
-11
54
0
0
-35
0
0
0
38
-3
0
34
3
0
-16
-44
0
0
-5
0
0
0
25
0
-4
-14
0
0
0
-21
1
0
0
0
0
0
0
0
15
0
0
0
0
-62
0
0
0
0
0
0
42
0
0
0
-6
0
-8
3
0
0
6
0
0
-7
-47
0
0
-55
-2
15
4
-2
0
0
3
0
0
0
-15
0
0
29
-2
0
0
39
0
0
21
0
-7
0
-24
0
-1
0
0
9
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-34
0
4
0
0
0
0
-72
0
0
-3
0
0
2
59
13
2
0
0
0
0
-54
0
0
0
-4
0
0
-13
0
-4
5
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-2
2
0
-13
-15
1
-1
60
0
0
7
-14
0
40
-32
19
-5
-26
-56
5
0
23
0
0
-32
6
0
0
-98
-59
0
51
-9
0
-2
-35
-6
-1
4
-19
0
24
-24
3
1
0
-52
0
0
-9
47
-25
0
-42
0
13
0
-2
0
0
-31
1
1
0
23
0
0
-30
0
4
63
-23
5
50
60
-1
0
5
0
6
-23
-23
0
-1
-65
-111
10
53
42
0
-1
-87
58
43
-23
5
0
-1
-55
-24
18
-6
-14
0
13
60
5
-99
0
13
0
17
-7
-15
38
0
-30
0
0
0
-3
-2
1
-40
15
0
0
0
0
0
-2
0
16
4
0
-2
-2
2
0
0
-17
-10
11
0
-29
0
-36
-37
0
22
0
-52
0
5
30
-4
5
-1
-32
2
-40
-66
-4
-1
-3
-21
0
-1
17
-51
-2
0
-52
0
-63
13
0
-54
0
-47
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
-32
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-25
6
0
0
-1
-29
0
0
-1
0
0
0
-36
0
0
24
0
0
0
-9
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
-44
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
4
-63
0
0
0
0
0
0
-21
1
0
0
6
0
0
-20
0
0
-1
0
0
0
-20
0
0
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-45
0
0
0
0
0
0
-5
0
1
1
1
0
25
-25
0
0
1
0
0
0
-1
0
2
-2
0
0
0
23
0
0
0
0
0
0
32
0
-11
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
-43
0
0
0
0
0
0
-8
0
0
0
0
0
0
24
0
0
0
0
0
0
9
0
0
2
-1
0
0
-23
0
0
0
0
0
0
-9
0
0
-1
0
0
0
-18
0
0
0
0
0
0
-13
0
0
0
0
-1
0
-46
0
0
0
0
-3
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-43
0
0
0
0
0
0
33
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
63
0
0
0
0
0
0
0
0
0
-4
0
0
5
53
0
-40
-37
0
0
62
-85
0
0
33
0
0
-10
-89
0
0
6
0
0
-1
2
0
-1
-16
0
0
-1
-2
0
33
7
-1
0
0
-3
0
0
0
0
0
0
-29
0
0
0
0
0
0
-32
0
0
2
0
0
0
9
0
0
0
0
-9
0
-52
0
0
1
0
7
1
89
0
0
-3
0
-4
4
-96
0
0
27
0
14
0
-43
0
0
-6
34
-2
2
-54
0
0
0
0
0
0
-29
0
0
0
0
30
0
37
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
27
-4
0
0
0
-9
0
6
-2
0
-4
0
-45
0
-4
-2
0
0
0
-17
0
0
43
1
-5
0
-17
0
11
0
0
0
0
33
0
-2
0
0
0
0
20
0
17
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-45
23
32
0
55
7
-6
-2
83
0
0
23
-22
0
-10
-20
-74
0
0
-30
-4
-11
-25
-15
0
8
-21
-2
7
5
-2
0
12
12
0
0
8
-1
0
20
-29
-9
-70
20
-9
0
-10
0
0
-9
12
17
0
0
11
20
40
0
-9
0
-1
-9
5
0
-6
0
0
-87
-25
-6
-4
-16
11
0
25
1
9
10
3
0
0
-68
-9
16
-26
25
48
0
12
13
0
10
8
-1
-3
17
-3
3
14
-15
-118
0
-46
-18
-6
0
-9
35
0
7
-12
-1
-25
12
24
0
0
48
36
1
-1
0
0
0
2
19
0
-3
33
0
-2
54
-2
0
43
-1
0
15
-53
0
23
-33
-31
0
-11
9
-3
-37
50
3
0
-45
-8
11
56
34
-81
0
-48
-26
11
8
54
1
0
19
-30
2
-5
-11
-23
0
6
8
4
13
85
0
0
0
-41
21
-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
-14
0
0
0
0
0
-25
3
0
10
-5
0
0
104
94
0
0
2
0
0
0
-71
0
0
-14
-8
0
-3
92
0
0
-10
0
0
0
25
0
6
2
0
0
0
-13
0
0
0
0
0
0
-31
6
0
0
0
0
0
-1
0
0
0
0
0
0
-21
0
1
0
0
0
0
14
0
0
0
0
0
2
9
0
0
29
7
0
0
-13
0
0
-31
0
0
1
60
0
0
0
0
0
0
100
0
0
1
0
0
0
24
0
0
0
0
11
0
-65
0
0
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
17
0
0
0
0
0
0
37
0
0
0
0
0
0
-3
0
33
-7
0
0
0
1
0
-1
0
0
0
0
80
0
2
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
4
3
-77
80
32
13
6
0
3
-72
14
3
9
-26
5
6
-4
-66
21
-29
78
11
-2
-4
-6
2
8
52
4
5
76
36
4
-23
-5
-15
-6
-47
9
-17
5
-8
22
-7
-35
14
-37
5
-8
-14
9
-12
-2
-22
98
4
-9
0
-34
-58
-7
8
29
12
-16
5
24
-17
-29
-30
14
-2
49
26
0
-28
31
17
-3
-18
7
12
-18
21
-32
-6
76
-17
5
-22
-21
-35
-3
74
-38
-7
-7
-19
-4
4
-14
25
3
38
-33
8
3
-111
-28
11
29
11
28
-36
37
62
-32
0
20
-21
0
-32
25
-26
-30
-55
-26
-4
5
25
10
-73
-41
-37
-19
16
-37
-17
20
-54
22
6
39
-27
15
-62
1
19
-8
-3
-14
23
5
-17
8
8
86
12
4
23
-2
-57
5
100
2
9
2
1
1
2
19
24
24
-13
31
69
-13
6
-6
-10
-55
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
1
-7
-61
0
-3
-15
-29
0
-14
-65
-56
0
2
-72
0
39
-49
-1
0
119
-43
0
0
-74
32
-15
-42
-34
0
3
48
0
0
39
69
2
-22
15
-1
0
4
54
0
0
2
-4
48
3
63
-2
-11
0
14
7
0
-38
0
1
0
1
5
6
-31
8
-1
24
113
-14
-43
40
0
0
26
0
4
-17
-18
0
25
24
-81
0
-42
-9
10
3
19
5
16
-15
-24
2
19
-22
-11
-24
-7
53
0
19
48
-3
-59
0
2
0
0
-41
0
18
0
-26
-1
0
0
-1
0
0
9
0
0
0
0
0
0
9
0
-12
0
10
0
24
-6
3
9
-42
-52
2
19
-19
0
-14
38
-11
0
7
-101
0
8
-22
30
1
-2
-5
0
-9
-36
4
-2
9
116
-8
0
20
-46
0
-3
49
0
56
6
0
-47
0
-6
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
13
7
0
0
-4
3
0
87
-31
2
-3
28
-47
0
17
46
0
-14
-36
-1
4
23
14
0
0
-81
-43
-3
-56
-22
0
0
3
9
0
-2
36
0
1
-62
-10
0
-2
-21
0
0
5
0
-14
0
-1
54
1
0
-10
-1
0
-86
0
7
-3
0
0
0
-24
0
-1
-22
21
14
28
-29
0
0
122
0
-5
-9
-29
0
0
-18
-24
0
-24
-37
1
20
28
-6
8
7
2
4
0
-25
5
-15
0
34
2
5
-117
0
-17
0
-27
0
0
-22
-57
-18
0
12
5
0
0
-4
0
0
-81
0
0
0
0
0
0
56
-4
0
0
0
0
0
-44
0
-4
15
0
2
0
-37
0
0
67
-17
0
0
27
-1
-1
1
-1
0
5
-1
0
31
-1
0
0
0
28
0
-2
-34
-13
-1
0
-22
0
34
5
0
21
0
21
50
0
41
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-5
73
0
46
-1
11
0
29
-25
0
0
-19
0
0
-35
-48
0
0
55
4
0
-16
-19
0
0
58
0
0
0
-110
0
-92
4
53
0
0
6
0
0
0
0
32
0
15
-20
15
0
0
0
0
-55
-10
0
0
0
0
0
-5
0
0
0
2
0
-1
-26
0
0
0
0
0
35
15
0
0
5
10
3
8
-7
0
8
-60
0
-5
0
-47
0
0
-14
18
1
0
-17
0
15
-17
0
-20
0
-10
0
0
-17
-23
52
0
-26
0
0
0
0
0
0
-21
-3
0
0
0
0
0
-3
0
11
0
0
0
0
128
0
0
0
0
0
0
38
0
1
9
0
0
0
-15
0
0
24
-2
5
0
-22
0
10
4
0
0
0
-14
0
10
0
0
5
0
44
0
-23
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
14
14
0
0
23
0
2
-54
-14
0
52
10
0
0
17
-7
0
0
-10
0
15
-32
-45
0
0
53
0
10
25
4
0
4
43
0
7
7
-39
0
-73
-9
0
-1
-4
30
4
-4
19
0
27
0
6
4
50
0
-2
0
0
-38
0
0
0
0
0
-5
44
0
0
3
0
-32
36
-20
0
0
44
0
14
66
-72
0
0
-20
0
0
-3
1
0
1
118
0
25
10
-47
0
-2
95
0
25
-1
15
0
-13
33
0
39
0
-10
0
0
80
0
25
0
2
0
0
0
0
-8
0
-54
0
0
0
0
0
0
16
-4
23
0
0
26
-1
0
0
0
41
0
0
-1
14
0
146
-59
0
0
0
-48
0
0
-13
0
9
0
19
0
18
12
0
14
0
0
0
0
23
0
14
0
-5
0
2
0
0
98
0
14
10
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-4
10
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
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
16
41
0
44
15
-14
-3
-19
24
-2
0
-11
0
9
5
15
-3
0
-3
68
-14
-25
-2
0
18
0
-7
-5
-32
-22
0
-20
-14
-23
4
-8
6
25
0
2
0
-54
0
24
-6
-39
0
5
-1
0
7
5
1
-7
2
2
-3
54
24
-20
118
-40
57
-43
-21
-1
-18
-11
-5
24
-4
48
18
-9
48
107
22
-12
29
-4
33
33
24
-67
22
-3
-6
-49
-44
35
2
5
2
0
9
27
0
43
0
-4
0
25
33
75
9
0
23
10
-34
0
10
18
0
-8
17
0
-1
5
0
0
42
-6
6
46
0
1
1
-16
0
-6
6
16
-8
0
17
2
6
4
0
-6
-1
-8
7
35
1
66
-24
8
12
0
-62
-62
-11
-5
-11
-30
0
22
40
26
47
-3
13
14
-27
10
31
118
0
23
-12
6
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
-17
7
-37
-1
2
-31
64
3
-7
32
-12
-25
-58
79
33
6
6
-19
11
7
-1
6
-6
115
-33
-3
50
9
14
-2
44
-9
-5
0
50
-8
-6
-41
43
-16
1
21
11
-3
6
37
-14
25
-3
25
-1
-43
-47
-6
-62
11
6
0
-22
-3
22
31
18
-67
10
-12
-8
25
25
-72
-4
7
55
-54
-18
-7
31
25
0
-13
59
0
-70
-18
17
1
-11
83
4
-6
26
-42
-5
28
-62
-15
44
4
-35
15
-53
20
-27
-6
0
-53
-2
22
-65
12
-46
-37
-5
5
2
-141
-19
-33
-39
-30
0
-79
5
18
65
38
2
-12
8
94
-5
6
22
18
-4
11
35
-10
-36
42
-63
-15
-32
-27
-17
-23
-20
39
11
-16
12
-11
4
43
-74
-14
5
-15
-14
13
-17
-27
0
-32
-10
-13
-63
-5
-26
3
4
-15
-29
86
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
8
0
0
-6
-116
0
0
93
0
0
-3
60
0
0
32
0
0
3
8
0
0
-1
0
0
0
-19
0
1
-4
0
0
0
45
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
1
1
0
0
73
0
0
0
0
0
0
-2
0
0
6
0
0
9
45
0
0
1
0
0
0
33
0
0
4
-1
0
0
55
0
0
0
0
0
0
56
0
0
0
0
0
0
130
0
0
0
0
-2
0
-4
0
0
0
0
0
0
14
0
1
0
0
0
0
53
0
0
0
0
0
0
35
0
13
0
0
0
0
-1
0
0
14
0
0
0
8
0
-5
0
0
0
0
-6
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
-11
24
-1
0
4
-89
0
0
21
0
0
0
-23
0
0
-1
-8
0
6
27
0
0
0
0
0
0
0
0
39
13
0
0
0
9
0
0
0
0
0
0
5
-1
0
0
0
0
0
-7
0
0
0
0
0
0
58
0
0
0
0
0
0
2
0
0
15
0
0
0
40
0
0
0
2
0
0
49
0
0
0
0
0
0
-26
0
0
-5
-1
0
0
27
0
0
0
0
0
0
3
0
0
0
0
-2
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
11
0
0
3
0
0
0
24
0
5
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-32
17
0
-15
22
0
-3
27
-2
-1
-15
-10
-4
-14
14
36
-3
-42
9
0
-4
-25
2
-2
1
-5
0
-10
-30
-54
2
-36
6
0
-6
15
-5
-85
0
-10
42
-30
0
-4
0
3
23
14
0
0
-14
-2
-30
39
0
2
4
-61
10
6
67
2
0
62
5
-4
-19
30
16
-71
1
39
-38
1
3
1
49
57
14
-37
-16
-3
0
11
3
19
103
24
-17
0
9
27
-5
7
0
-5
0
7
16
-43
4
0
-15
1
-11
0
45
-1
4
11
7
0
0
-8
1
0
14
8
-47
14
3
0
2
50
0
-18
48
31
20
0
-37
1
14
17
-1
-14
-2
4
0
-14
-25
99
14
0
-17
0
-45
43
25
-30
2
25
0
-3
35
24
40
1
21
0
-48
4
0
-20
0
2
-15
-3
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
4
7
0
-109
-14
0
0
-1
-12
0
0
46
0
0
0
-23
0
0
2
0
0
0
54
0
0
-2
0
0
-6
-33
0
15
-4
0
0
0
6
0
0
4
0
0
0
17
11
0
0
0
0
0
-72
0
0
0
0
0
0
-7
0
0
0
0
0
0
-16
0
0
0
0
8
0
29
0
0
11
0
0
2
-18
0
0
-4
0
3
0
-6
0
0
-10
0
-5
0
-24
0
0
0
0
0
0
48
0
0
0
0
42
0
-31
0
0
0
0
0
0
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
20
0
0
0
0
-3
0
-1
0
0
1
0
0
0
-1
0
0
0
0
0
0
1
0
8
0
0
0
0
-25
0
0
2
0
0
0
21
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
-45
0
-63
-7
-18
0
-11
-104
0
0
-29
0
0
14
-9
0
0
20
0
0
-5
-28
0
0
21
0
0
-17
-74
0
-2
-16
0
0
-5
4
0
0
5
0
0
0
-14
0
5
0
0
0
0
-10
0
0
0
0
0
8
76
0
0
0
0
0
-5
88
0
2
19
0
0
1
-21
0
0
13
14
0
-6
19
0
8
-17
0
0
4
148
0
-2
-1
0
0
-5
-5
0
0
-1
0
0
3
-96
0
0
-1
7
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-8
10
0
0
0
110
0
0
-5
0
0
0
1
0
13
-3
0
0
0
-94
0
0
-7
0
0
0
10
0
-5
0
0
0
14
30
0
0
-13
-14
0
0
15
0
-20
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
2
32
4
39
24
-11
-13
-3
-68
3
37
-5
-1
13
14
-21
5
-85
10
3
19
-76
-8
36
132
-37
-6
1
-47
-2
33
0
18
-35
63
0
22
41
0
-26
13
0
5
-48
1
20
12
-19
-73
-94
68
-46
-86
2
45
-1
17
-15
75
54
27
4
-24
-27
82
-2
55
-15
-3
-57
-2
44
-77
-53
-32
-14
16
5
-38
7
-35
5
0
81
-77
-5
-43
-7
-52
-1
6
-82
14
13
0
6
-41
17
-1
27
29
0
1
-44
20
53
53
0
0
4
7
66
2
-3
-37
-1
31
6
2
-22
-20
20
-56
-19
-1
-33
62
0
-16
14
-6
5
55
2
43
-20
8
-46
1
56
48
-3
10
3
70
-27
34
-2
69
-74
0
10
0
87
66
5
-6
0
7
47
7
-24
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
-9
24
-44
-5
84
10
-14
6
41
71
-53
12
-20
0
67
27
21
-44
16
-2
10
13
6
4
52
32
-4
30
1
-1
5
-39
0
-14
-1
-91
-7
-39
19
4
3
-53
-3
-46
-1
2
5
-15
24
-2
-30
76
-31
-50
0
-81
27
-30
-24
-5
53
28
-10
27
-1
10
7
-32
11
72
45
-14
-3
-108
-18
-5
26
22
22
17
-69
34
-31
2
56
-23
-4
14
-113
-22
8
5
40
2
-22
0
12
0
-9
8
-19
-93
0
-37
46
5
-1
17
7
0
-5
17
83
13
-18
-3
31
0
-6
51
3
11
-33
43
-52
-3
-4
-16
64
69
8
-2
19
39
-47
-61
-22
4
-68
13
-34
73
3
59
-45
20
1
85
20
-45
25
7
-6
3
-5
-1
-11
50
-1
12
39
-5
36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
1
1
0
1
23
0
0
3
0
0
0
8
0
-32
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-19
0
0
0
0
0
0
29
0
0
0
0
0
0
-47
0
0
0
0
0
0
-20
0
0
0
-2
0
0
-14
0
0
3
0
0
0
-21
0
0
-7
0
0
0
-21
0
0
0
0
0
0
-8
0
0
0
0
0
0
65
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
6
0
0
0
0
-4
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
15
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
30
-4
61
-18
4
-42
5
38
-34
-18
-39
19
12
52
-6
16
26
14
45
7
-34
43
9
-5
3
-33
-7
-1
17
-19
-43
14
17
22
39
0
1
-13
-38
35
29
-24
-34
25
-78
1
-27
15
-71
23
2
71
47
24
-6
19
0
-9
18
-61
-29
31
32
-30
-19
31
-48
-20
-22
37
17
-22
1
36
-10
14
6
30
5
-36
28
17
56
-44
-32
0
73
-38
-34
-12
40
109
-43
-44
75
-43
23
14
-6
10
-21
31
-9
11
1
-2
31
48
53
-45
-80
-13
-13
-4
-1
-41
-24
-54
-43
-2
5
14
16
19
37
-72
-33
-7
-25
6
10
-63
37
-25
4
-36
-36
-14
-6
43
-50
1
11
-15
51
-41
-14
-22
-31
55
17
-35
-51
-69
-14
-8
14
31
29
5
32
-1
-10
-43
-18
3
-42
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-99
34
-7
44
2
5
21
48
-23
-3
-5
5
13
-18
-29
29
33
-76
78
5
33
6
6
-1
-62
-2
16
-50
59
37
-10
-12
0
4
15
13
-1
70
-15
44
-8
-55
24
-5
15
-5
43
-18
28
65
-43
-97
10
-80
-8
-27
42
18
-47
-35
-98
5
7
-60
-60
-20
-1
7
17
-36
26
22
71
-14
-28
13
-10
20
0
-1
-148
86
21
-31
-18
37
5
40
-56
13
-14
83
29
15
13
-3
7
16
45
-6
-22
15
-5
11
112
4
57
-54
-26
6
-94
0
26
47
4
88
-13
3
2
20
-50
7
-52
2
-28
-16
-9
23
-128
-5
66
20
29
-2
11
-47
-22
59
-9
23
-47
0
5
12
-24
23
-39
-61
2
15
39
43
-3
25
-5
44
-1
1
-1
13
-61
-17
-26
30
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
14
34
3
0
28
0
1
-109
-5
0
14
-36
0
22
-8
-3
0
-2
-8
9
-4
-39
-21
0
18
-2
0
50
-2
5
-2
-14
-51
0
-40
0
7
-70
-15
0
0
9
0
7
3
9
-5
-5
6
-5
-10
-3
-1
-43
0
-145
40
-13
0
25
51
0
-93
-1
-29
-1
0
1
7
4
-33
3
0
82
28
0
60
34
14
-3
13
8
14
-5
-3
-32
0
10
-37
1
21
-5
10
0
34
-15
3
-4
0
2
-10
7
-4
20
-76
0
9
-51
0
-6
0
-15
1
3
0
19
-17
0
-21
31
-22
0
5
1
0
-19
23
-1
0
-41
-14
4
22
17
-36
0
-45
-25
-7
106
-6
24
0
21
15
0
38
5
70
0
-7
-7
0
20
-15
-3
0
65
-5
0
4
0
-38
46
6
25
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
-44
0
0
-6
0
0
-1
-22
0
0
3
2
0
0
-31
0
0
-9
0
0
0
-53
0
-11
5
0
0
0
32
0
0
0
0
0
0
59
8
0
0
0
0
0
48
0
0
0
0
0
0
-9
0
0
0
-1
0
-1
40
0
0
5
0
0
3
-14
0
0
-2
-4
0
-1
43
0
-1
-5
-7
0
0
21
0
9
10
-6
0
0
23
0
0
0
0
0
0
43
0
0
3
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
0
5
0
0
0
0
-35
0
0
0
3
0
0
53
0
-16
0
0
0
0
-10
0
0
-1
18
0
0
3
0
-3
0
0
0
0
77
0
0
3
0
0
0
5
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
53
12
-3
37
10
29
19
-24
9
-17
50
-18
26
18
-24
20
-43
12
8
-7
-2
30
-11
-33
-33
-3
26
22
0
17
-35
-72
4
48
66
3
14
-9
-5
-69
-20
-5
166
6
8
-51
-15
3
116
4
8
1
24
2
-57
45
-23
7
-19
51
35
60
-16
24
-10
94
8
-15
-96
29
-8
7
86
-14
10
11
-19
53
28
-80
78
30
-49
22
4
-4
22
19
21
7
63
-2
6
-41
3
-19
-62
14
-4
-44
-97
-21
7
-33
-5
55
25
-5
-27
30
-10
37
-36
-13
-4
-40
42
-60
-5
-59
-8
14
45
12
-31
-21
-6
0
-27
33
41
-27
29
95
7
30
0
61
27
-32
151
0
53
72
-5
8
29
8
4
-16
19
21
-1
-8
-7
5
32
-25
-56
-16
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
-6
-13
0
-11
20
0
36
-50
1
7
-47
-20
-28
2
6
-15
-41
-63
1
-11
74
-62
24
12
-15
-20
-11
-53
-2
-11
-92
-9
28
5
44
-116
-40
-53
23
29
0
91
5
-17
39
4
-5
0
-128
-76
3
18
0
8
0
41
-34
35
10
74
-20
-39
0
15
0
93
25
-7
0
24
-61
15
-33
-52
23
-5
50
28
21
-64
-50
-43
3
-14
-100
7
7
-1
-5
4
32
-26
-62
3
34
-50
-6
-4
-61
21
-9
34
10
-11
32
23
-60
36
-9
48
-10
16
-3
9
33
-27
17
0
58
49
-21
1
29
-23
-17
76
-46
2
-15
-2
-2
2
-80
-17
-54
-13
-4
40
13
75
7
7
-2
-10
-26
-2
24
12
32
-33
-14
45
6
31
27
59
-16
-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
-71
0
0
-1
-1
0
-2
-10
0
0
-17
0
0
0
-39
0
-15
-3
0
0
0
-8
0
0
0
0
0
0
5
3
17
0
0
0
0
-29
0
0
0
0
0
0
-5
0
-1
7
0
0
0
-35
0
0
2
0
0
0
-25
0
0
3
0
0
8
-33
0
0
0
0
0
-1
-22
0
0
14
2
0
0
100
0
0
0
0
0
0
5
0
0
0
0
18
0
71
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
-9
0
0
-4
0
0
0
-8
0
0
0
-4
0
0
2
0
9
0
0
0
0
-24
0
0
0
0
0
0
22
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
1
9
0
0
24
-19
0
-7
-14
0
0
18
0
-15
11
6
0
-3
-5
-3
-3
0
-14
0
0
0
0
0
0
-13
-3
0
0
0
0
-1
4
-1
0
0
0
0
-2
-115
0
0
0
0
0
14
-87
0
0
2
0
0
2
-14
0
0
-1
-1
6
7
-92
2
-5
-5
-1
0
0
127
0
0
-4
2
1
0
81
0
0
-5
0
0
0
48
0
1
0
0
0
0
-129
0
0
0
0
0
0
4
0
0
1
0
0
0
-7
0
-7
0
0
0
0
8
0
1
3
-1
0
0
39
0
3
0
0
0
0
-41
0
0
-5
-3
0
-1
37
0
27
-14
0
0
4
-2
0
0
-2
0
0
0
-42
0
2
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-14
36
35
45
-55
9
-21
0
55
-23
-31
37
-10
-16
-4
-3
35
-37
0
-23
6
-8
0
-28
-11
-5
2
4
10
106
-1
39
-8
-3
41
18
58
-9
23
-13
-42
9
-14
-65
65
-2
-70
8
15
11
-23
-4
27
71
16
-3
52
-4
38
22
-5
37
-24
38
-13
-20
-14
-2
43
30
25
-53
22
22
29
-9
24
-10
46
1
-3
14
-53
-7
30
33
42
29
14
-1
-3
-30
-46
8
-6
-25
0
27
-24
0
4
-96
1
-17
-29
57
10
48
7
128
33
54
5
55
50
8
18
-47
-16
-10
-32
-49
-29
0
0
-7
5
-30
43
55
-29
18
9
-1
11
42
17
-36
40
-17
-1
-20
80
20
-8
-44
-10
-1
35
11
-13
-37
-2
39
22
33
44
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
1
45
0
0
53
0
0
-13
-17
0
0
45
0
0
-7
-51
0
22
35
-4
0
0
-4
0
0
0
0
0
0
60
2
0
0
0
0
0
-53
-5
0
0
0
0
-5
73
0
0
0
-3
0
6
-8
0
0
-1
0
0
17
4
0
0
13
0
0
0
-72
0
1
-9
0
-5
-7
62
0
0
27
0
0
-6
-14
0
0
-2
0
0
0
37
0
0
0
0
22
0
41
0
0
0
0
0
0
45
0
0
0
0
0
0
105
0
0
0
0
0
0
53
0
3
-4
0
0
0
-145
0
2
-3
0
0
0
52
0
0
1
-7
0
0
-54
0
-20
-1
0
0
0
-17
0
0
-4
0
0
0
-52
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
46
0
0
20
-62
0
0
-8
0
0
0
-35
0
51
3
-6
0
0
25
0
0
0
0
0
0
-13
2
0
0
0
0
0
3
0
0
0
0
0
-3
45
0
0
0
-4
0
-64
10
0
0
16
0
0
4
16
0
0
-5
0
0
-24
-63
0
-2
1
0
0
-4
29
0
0
58
4
0
0
-40
0
0
0
0
0
0
5
0
-1
0
0
0
0
-77
0
0
0
0
0
0
-43
0
0
0
0
0
0
36
0
3
0
0
0
0
41
0
0
10
0
0
0
-23
0
-23
0
0
0
0
-1
0
-3
8
-10
0
0
-11
0
-18
8
0
0
0
-65
0
0
-8
0
0
0
-23
0
23
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
-79
-41
-33
1
-26
-10
16
-32
28
26
-6
-28
-2
-4
22
-7
-10
0
-21
-55
18
0
24
9
-18
36
-44
-9
5
-4
-2
-20
41
-13
43
-3
131
5
-99
10
0
49
-70
-3
25
33
16
6
-42
6
19
59
13
-36
-18
0
-69
-4
-23
-71
3
-5
23
-30
12
35
25
-8
3
-8
-20
0
-78
-1
15
14
-6
-65
-4
-11
2
-37
21
8
0
5
27
0
-15
-52
0
15
-26
0
-1
22
9
-17
18
7
-11
-4
58
0
-12
5
21
-3
-1
1
-2
-54
-13
20
0
0
-27
-1
79
-12
44
-1
-2
12
8
-42
63
-4
3
6
-17
-6
19
-35
-65
1
-18
0
0
24
-35
0
17
0
-38
16
32
11
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
-47
-14
-44
-28
12
-62
21
-24
5
41
-28
-7
23
-99
-14
8
-24
7
-40
-36
-63
0
-23
-26
-16
16
-9
-122
59
14
-24
46
-20
29
-70
36
5
98
-29
19
0
-12
-11
1
1
8
25
-5
-62
54
17
-45
60
-45
39
-1
17
0
-76
-51
-2
26
20
-7
8
144
-30
14
29
-10
-62
-6
57
32
10
4
14
-8
7
18
98
18
62
-2
43
6
52
-72
-44
5
-14
33
1
-17
29
18
-33
57
-43
-15
82
25
110
18
-40
43
1
34
31
4
-39
-4
-40
10
44
-11
-28
-10
15
77
0
82
16
49
-17
24
-71
-5
71
-21
4
-10
16
11
-16
-39
-84
-81
53
24
22
-3
-43
-70
-6
62
-21
39
19
-3
-5
-25
-80
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
81
0
0
-20
0
0
-2
14
0
33
21
-1
0
0
-25
0
0
0
0
0
0
5
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
-3
0
0
-6
-17
0
0
0
0
0
-2
-55
0
-1
-6
0
0
-2
5
0
0
-5
0
0
-2
-21
0
0
19
-1
0
-3
-6
0
0
-5
0
0
0
7
0
0
0
0
6
0
-47
0
0
0
0
0
0
-15
-3
0
0
0
0
0
-8
0
6
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
-2
0
0
0
-4
0
0
-3
0
0
0
19
0
1
0
0
0
0
47
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
12
0
0
-23
0
0
13
-23
0
26
43
0
0
0
32
0
0
-3
0
5
0
-31
7
1
0
0
0
0
-15
0
0
0
0
0
0
11
1
0
-3
-1
0
-2
3
0
0
-3
0
0
0
-53
-1
0
4
8
0
-6
-10
0
0
-4
0
0
-2
0
0
2
-33
15
0
-9
-53
0
0
-1
0
0
0
-52
0
0
7
0
-7
0
-46
0
0
0
0
0
0
-48
0
0
0
0
0
0
-18
0
-7
0
0
0
0
-7
0
0
6
5
0
0
-1
0
6
-13
0
0
0
-48
0
0
0
0
0
0
-36
0
36
-4
0
0
0
10
0
0
0
0
0
0
8
0
-16
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-4
-17
69
34
-71
-14
0
25
-17
-18
30
27
-27
63
-5
54
50
-44
0
17
-102
-68
0
-45
-69
-26
11
-18
-1
1
-45
5
-54
15
10
33
-45
-17
-45
46
-5
6
-6
60
-25
52
-53
-6
39
-43
-12
-23
58
-38
-17
76
-23
15
-44
-74
33
29
-7
-39
14
-13
8
1
4
1
-34
-29
80
6
29
-19
6
60
77
61
6
0
29
-71
-3
-3
-19
64
1
3
35
21
18
-3
6
14
-12
81
28
28
-4
10
66
-2
-1
10
6
-78
-4
-7
3
-2
-34
3
-82
-25
-5
13
-20
15
39
55
-8
-29
9
3
20
-33
-8
50
-15
24
9
66
8
39
41
-17
-13
9
10
53
-14
-5
10
36
57
13
33
-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
-32
-35
0
-1
-3
-3
26
17
-39
-4
17
-16
0
-63
0
31
1
8
0
0
-20
0
8
1
-55
0
0
-7
-4
14
-1
0
-3
0
23
43
35
-3
-11
-24
23
4
22
10
0
5
24
11
36
-9
2
0
39
-24
0
5
-35
22
0
-9
21
0
32
-62
7
0
-32
53
-11
-14
5
-41
-3
45
50
0
62
0
49
0
-10
-7
0
26
0
18
-5
-2
8
0
-34
0
-52
18
0
-5
1
0
5
-111
6
24
-48
0
36
2
60
0
4
-113
0
4
47
6
0
8
-14
-13
0
-5
43
0
43
20
1
6
14
-28
0
-27
137
0
-7
-6
-28
-2
5
35
0
54
-3
39
-3
38
-25
0
5
0
29
29
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
47
20
0
-10
97
0
0
-2
4
0
-26
-2
-25
0
0
-38
0
0
0
0
0
0
14
61
0
0
0
0
0
68
0
0
0
-1
0
0
-49
0
0
-2
-2
0
-14
-27
0
0
-62
0
0
-10
31
0
0
-14
-24
0
19
-73
0
0
-41
-1
0
0
-80
0
0
-65
-42
0
0
36
0
0
-5
0
0
0
-91
0
0
0
8
0
0
-83
-8
0
0
0
0
0
-42
0
0
-3
-4
0
0
-25
0
21
-2
0
0
0
-59
0
1
25
0
0
-14
4
0
31
2
0
0
-3
38
0
-6
47
48
0
-2
63
0
-103
17
0
0
0
10
0
0
-13
0
0
0
60
0
53
0
0
0
0
-18
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
16
24
16
22
11
44
29
0
-21
0
7
13
-7
-17
0
4
-52
-13
0
2
-1
1
25
69
-3
0
0
-4
45
-17
-14
-14
37
-16
-43
-61
-3
0
-1
-5
0
-4
-50
41
-1
-19
11
50
35
-15
-17
47
29
12
4
-60
-7
12
-14
13
-31
34
-16
23
-4
31
14
-46
1
29
5
-9
0
-7
-1
-70
-36
-4
1
1
0
9
3
-13
1
70
71
0
29
-19
0
2
23
13
83
-51
0
14
14
6
0
-16
53
68
-13
2
4
-3
-23
22
15
-2
-1
5
-9
7
-9
-33
27
7
-35
-15
10
24
-1
0
-2
-12
0
7
-128
33
4
-3
15
0
-14
-81
0
-31
3
5
14
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-69
-18
0
-4
-21
0
2
41
-25
-1
14
-64
-7
-1
20
-26
-48
-20
-54
-58
-10
-48
-15
41
18
-50
16
-8
7
-139
-40
15
-35
-11
-10
-7
6
-5
42
-8
2
12
37
-55
5
-16
38
16
4
16
-16
7
30
29
18
0
-43
-44
1
15
-24
49
-1
6
16
46
62
17
102
13
-3
-53
15
-66
-12
-56
4
-4
25
-48
-84
42
-33
22
28
131
48
70
-21
-135
-5
-35
23
0
38
11
13
-5
-57
-8
-12
8
12
-6
1
19
-29
19
16
53
-54
-8
-23
-40
-48
-10
-7
-90
0
104
18
-54
32
-27
5
8
72
82
-2
13
-17
5
-11
-47
-21
-37
-14
13
-52
7
24
39
35
-8
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
-13
0
33
0
0
0
0
26
0
0
0
0
0
0
75
3
-2
0
0
0
0
-68
0
0
0
0
0
0
-20
0
0
0
0
0
0
8
0
0
0
0
0
0
60
0
0
-6
1
0
0
-16
0
0
0
0
0
0
-23
0
3
0
0
0
0
20
0
0
1
0
0
0
9
0
0
0
0
0
0
27
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
100
0
-33
-8
34
0
6
89
0
0
0
-1
0
0
-45
-24
0
0
0
0
0
-8
0
0
0
0
0
0
-12
0
0
-1
0
-8
0
-12
0
0
34
0
0
-6
-2
2
0
1
15
-2
1
-54
0
0
48
0
14
14
21
0
-5
7
5
2
-5
-3
0
0
8
0
0
-7
-24
0
0
0
3
29
0
41
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
-21
0
0
0
0
28
0
0
0
0
0
0
-27
0
-5
-9
4
0
0
-41
0
-1
-7
-7
1
0
-33
0
0
-13
0
0
-2
10
0
0
1
0
0
0
91
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
23
-6
35
-14
-49
-10
6
-5
16
-6
58
0
13
5
-143
0
-27
21
-2
0
51
-1
18
-13
-3
-115
15
36
110
33
9
-33
-27
14
2
6
34
-6
64
-63
15
0
45
-15
21
27
1
-9
-11
-9
14
-15
-2
-53
2
-14
-20
-3
-12
87
72
-8
-14
-1
-22
1
4
72
-22
0
8
-7
11
2
1
17
-1
15
-1
33
-16
-1
16
34
-2
3
7
7
94
18
44
-32
-8
-4
-14
-65
2
-6
-67
63
75
0
80
8
0
-59
-40
25
-59
44
22
-5
-23
-22
31
14
53
-16
24
1
25
41
-26
-31
32
7
17
2
66
29
43
-10
-6
15
-37
-2
29
0
14
-21
-8
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
-2
-44
0
0
0
0
0
0
91
0
-1
0
0
0
0
-53
0
0
0
0
0
0
75
0
0
0
0
0
-10
-102
0
0
0
0
0
3
-74
0
10
33
0
0
0
-3
0
0
-22
0
13
0
-59
0
0
20
0
0
6
8
0
0
-10
0
0
0
-18
0
0
4
0
-3
0
-28
1
0
0
0
0
0
-6
0
0
0
0
0
0
-59
0
11
0
0
0
0
17
0
0
1
0
0
0
-9
0
24
13
0
0
0
-21
0
0
4
18
-1
0
-17
0
-2
0
0
0
0
-58
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-6
-9
0
0
27
0
0
-1
0
0
0
-1
0
0
0
14
0
0
26
0
0
0
0
0
3
-89
0
0
30
25
0
-10
-33
0
0
50
0
0
39
0
0
0
-26
33
0
-2
-19
-4
-16
0
0
0
-3
-23
0
-2
31
34
0
3
-38
0
8
-8
0
0
0
-32
0
0
3
-28
0
0
-48
2
0
0
0
0
0
1
-1
0
0
0
0
0
33
0
-5
0
0
0
0
21
0
5
-2
-1
0
0
-3
0
20
10
0
0
-4
-20
-1
0
26
-14
0
2
12
0
-8
72
0
0
-1
3
0
-4
-9
4
0
0
-56
0
89
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
-35
-5
0
9
0
-2
0
-37
5
-2
0
4
0
0
-25
2
2
0
1
0
14
-28
0
-2
-4
20
21
5
8
0
5
115
0
47
0
0
0
13
79
18
6
-3
-33
1
13
-5
-14
-11
0
-16
5
5
-30
1
-2
0
-23
0
-17
14
0
-10
3
-14
1
-1
1
0
-21
0
-11
33
0
0
0
14
2
171
-3
0
6
0
0
4
84
0
61
5
8
0
3
-30
0
-6
43
33
0
0
43
0
14
-28
13
0
0
-58
4
3
-7
21
1
0
25
0
7
-7
-6
3
0
-89
0
1
7
-33
0
0
-14
0
-24
0
0
-20
0
14
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
74
-7
136
-18
-3
37
31
-1
-3
9
58
-1
3
48
-14
-3
26
-6
-32
39
-116
20
-13
-76
-41
-14
50
-34
17
-7
13
-13
26
-31
-37
-28
1
86
-15
4
-22
-141
8
0
-50
-33
-27
-32
-87
1
-26
38
122
-20
-30
5
-26
0
-36
-97
-43
62
-63
32
24
47
-32
14
-49
-32
-2
4
-17
-7
-22
-156
-107
-1
13
56
4
-53
13
17
-35
24
18
18
30
-59
-5
-5
-14
-11
-67
-18
16
62
-109
21
1
47
91
43
40
-12
-6
-74
-28
-48
19
-94
-3
-24
4
75
36
32
-28
-27
0
14
20
101
-6
-11
11
11
-6
-34
-3
-56
5
-4
6
11
37
35
-34
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
32
0
0
2
0
0
0
48
0
0
0
0
0
0
-33
0
0
7
-4
0
0
33
0
0
3
0
0
0
24
0
1
-1
0
0
0
-50
0
0
0
0
0
0
29
0
0
3
0
-2
0
-11
0
0
0
0
0
0
-9
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
-17
0
0
0
0
-1
0
0
0
6
0
0
15
0
11
0
0
0
0
-29
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
20
9
-1
9
-28
51
-34
1
-9
-24
0
-3
44
-9
-68
14
-15
-1
-11
56
52
-49
-5
68
28
7
27
-2
-7
-13
17
-29
46
10
44
5
-7
40
-56
7
-8
31
-33
-7
0
-19
22
-3
40
-33
-18
-55
63
38
20
23
92
13
44
28
42
-103
-11
2
23
9
54
34
16
30
0
-5
-36
36
-17
-3
38
-7
14
-15
-11
18
-6
31
45
-19
-24
25
3
-5
-1
-9
-17
80
2
52
-36
130
-9
5
33
4
23
69
81
-3
-7
30
33
24
-10
9
-30
-12
17
14
29
33
-20
26
-29
18
81
-89
16
-55
-11
-5
16
-77
-31
-4
-17
-2
18
17
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
43
-2
-5
4
-4
-62
0
6
19
28
0
-9
0
0
-50
-16
-1
3
-2
-3
96
-8
-1
0
67
-87
32
44
30
0
-2
6
25
-56
41
-1
5
41
-32
7
21
-48
-4
1
-39
37
36
-63
33
-18
0
-71
-48
22
-1
0
-54
6
-19
-25
-3
-88
1
11
6
61
0
-105
-29
0
39
7
17
0
-8
5
0
-86
32
0
1
24
-2
3
19
0
-21
3
0
20
31
18
0
9
-40
-26
60
5
-38
0
17
-40
74
-51
-9
9
1
24
-48
-83
18
-17
19
0
16
8
-3
87
3
-28
0
-55
2
17
-45
-3
17
0
62
-8
31
31
0
-15
90
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
27
4
0
-5
6
20
0
-2
-35
17
0
0
-6
0
-1
17
0
2
0
-1
63
18
-4
-6
42
0
-7
34
-17
0
5
18
0
-11
-47
-29
0
14
35
0
13
61
6
0
1
37
0
15
17
31
0
2
57
0
-7
53
18
0
-2
22
0
3
1
2
0
-1
23
0
28
0
6
-3
9
0
15
-1
-3
-48
-38
0
-4
-3
0
0
-27
0
-3
8
0
0
48
11
0
5
67
0
-3
-18
-19
0
15
12
0
-4
3
5
0
22
-18
-4
-5
-4
20
0
-26
-43
0
17
6
-19
0
-2
-40
0
-2
11
-3
-1
-3
64
0
-43
0
-1
5
-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
-89
0
0
0
0
0
0
-44
-6
1
0
0
0
0
-42
0
0
0
0
0
-5
-9
0
0
-2
0
0
-2
24
0
-4
50
0
0
0
38
0
0
75
7
0
45
-46
0
-3
25
3
0
-2
43
0
0
-74
-57
0
0
41
0
0
1
0
0
0
-52
0
0
-2
-13
0
0
68
-5
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
-1
1
0
0
0
-79
0
0
11
0
0
0
8
0
-2
-3
0
0
0
42
0
0
-5
19
0
0
-39
0
4
6
0
0
0
8
0
7
74
23
0
0
-9
0
53
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
8
-4
2
0
0
0
0
55
0
0
0
0
1
0
19
0
0
0
0
17
2
11
0
0
-5
0
3
-7
61
0
15
-24
-5
0
1
-62
0
0
-40
1
-5
9
-56
0
-1
-23
-2
-2
0
-48
0
0
-18
-2
-11
0
56
0
7
0
0
-7
0
-29
0
0
0
0
-2
0
8
0
0
0
0
0
0
-19
0
7
0
0
0
0
14
0
0
0
2
1
0
32
0
-8
7
-4
0
0
-101
0
0
-6
0
-2
0
-33
0
-25
-9
0
3
0
-33
0
-5
0
1
1
0
62
0
-1
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
64
-47
-13
5
-1
-5
-26
0
15
-5
63
-41
56
8
57
-49
50
14
-16
40
-11
30
45
7
-56
0
-55
-14
19
-3
-18
-50
14
6
-9
4
49
9
-116
-15
-4
-1
-35
55
-32
1
-55
14
-22
2
-40
-11
1
17
26
0
53
13
-78
-60
-21
-1
-10
24
-3
15
-4
17
5
18
-90
49
28
-54
3
6
14
24
36
42
0
-71
21
33
5
-12
-37
-7
73
11
15
24
73
61
-15
-61
-4
-27
-22
25
-67
27
62
-90
22
21
19
-29
33
-13
126
-31
14
-50
-107
40
-49
-3
0
10
3
-46
9
-52
-5
34
-47
-13
-3
-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
-108
1
0
0
0
0
0
61
0
0
0
0
0
0
44
0
0
0
37
14
-2
65
0
0
1
0
0
0
-50
0
0
-4
0
0
0
104
0
0
25
0
0
0
21
0
-3
5
-4
0
0
-42
0
0
-4
0
7
0
-7
0
0
0
0
0
0
0
0
0
0
0
5
0
-5
0
0
0
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
1
0
6
0
0
7
0
0
0
0
0
0
-19
0
-3
5
0
0
0
4
0
0
0
0
0
0
-10
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
-27
3
0
0
0
29
0
2
0
0
0
0
0
0
-65
0
0
5
0
-4
0
-15
0
0
-1
0
0
-14
-42
0
0
4
-7
0
0
24
0
0
33
1
0
0
-68
0
0
-4
0
17
23
15
0
0
1
0
-2
0
-2
0
0
0
11
-5
0
87
0
0
0
0
0
0
-8
0
0
0
0
0
0
15
0
0
0
0
0
0
7
0
0
0
0
0
0
55
0
0
-25
0
0
0
20
0
0
0
0
0
-8
33
0
3
2
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
8
0
0
8
0
0
0
-10
0
2
7
0
0
-2
6
-2
-2
6
0
0
2
0
1
1
47
0
1
-73
32
0
2
-6
0
-2
-29
-4
-6
-2
-20
0
-1
-14
-19
-58
0
-77
0
0
0
0
-51
0
-38
0
0
0
-6
9
0
-11
0
0
0
0
-4
0
1
9
0
0
0
0
0
4
0
-5
0
0
-8
0
-39
0
0
5
-1
0
0
-53
0
53
-1
9
0
0
-31
0
0
19
9
0
0
22
0
51
-6
0
0
0
32
0
0
17
14
0
0
-23
0
34
0
0
0
0
-47
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-76
1
0
0
0
0
0
-5
0
0
0
0
-34
0
12
0
0
0
0
0
-1
-30
0
0
-6
5
0
0
-46
0
-2
-16
0
-3
15
25
0
0
37
0
-6
-8
10
0
0
-1
0
5
0
-12
0
0
0
0
-2
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
-17
0
4
0
0
0
15
-1
0
0
0
-1
0
0
-19
0
-31
1
0
0
0
24
0
-2
0
1
0
0
2
0
-5
0
0
0
0
92
0
0
5
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
93
-22
0
14
0
0
-8
0
0
-2
0
0
-10
55
0
0
-5
75
0
24
-11
0
6
-16
18
0
90
27
0
-3
-14
46
0
15
-10
0
3
8
0
0
43
-51
0
21
-41
27
0
-11
-2
0
45
6
0
0
0
-47
7
3
-4
-90
0
0
-25
-2
-2
0
5
0
0
-59
-16
0
1
4
0
0
48
0
37
-4
0
0
0
-29
0
-4
91
-16
0
2
7
0
41
62
-3
0
-4
42
-3
4
30
-78
0
3
6
0
13
12
0
0
0
19
0
6
-33
55
0
0
-72
0
-20
33
0
0
0
-53
63
-41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-23
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
85
-22
19
-134
-35
26
53
11
-12
98
64
-11
21
-24
-9
1
78
-6
16
36
85
-20
1
-31
25
19
6
44
52
-4
39
72
3
-39
5
8
1
-71
5
9
0
-45
-68
-2
34
1
-18
0
-82
41
-17
14
-42
-4
-17
-29
-43
0
-13
-38
-36
5
-90
-5
-49
-30
20
-34
14
-2
17
-1
134
-7
14
62
74
18
5
5
-38
24
27
45
-17
-3
-24
48
-16
37
45
-18
6
0
5
-2
12
29
15
-12
29
11
-17
-8
-5
24
-38
101
-41
19
-18
53
90
22
53
-4
26
31
31
33
0
2
-25
23
-74
-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
-16
0
0
-2
0
0
5
-5
0
0
-4
45
-6
-31
24
5
-5
-27
1
19
6
13
-1
-31
-53
2
-4
-15
-6
0
-10
-6
-3
-25
-2
2
1
-7
-121
95
5
-25
-3
-3
-5
-6
-9
24
0
33
0
3
-67
-33
-141
0
44
44
-18
-1
0
-7
0
-167
20
0
10
0
-8
2
-40
0
21
-32
0
0
-1
18
0
1
-8
65
2
-3
-9
-4
-14
-57
-3
0
-4
-92
4
74
-74
-55
9
7
-45
9
-18
-26
0
1
5
-51
0
-1
3
13
-14
0
-2
0
-6
-11
0
22
0
32
8
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
5
4
0
0
7
0
0
-3
130
0
0
9
19
21
-26
-46
0
0
-79
6
62
-7
-49
0
1
-45
22
0
54
-43
-4
5
-10
-3
-33
19
-26
0
6
-102
33
2
-9
-72
6
-1
17
24
36
-4
119
0
0
-13
-14
-48
0
-76
0
0
0
5
2
3
33
3
0
0
0
0
3
-52
0
62
2
0
3
0
-15
0
0
-1
2
0
0
52
0
-1
0
-3
0
0
30
0
6
-35
4
25
11
-49
0
-2
-3
-3
0
0
32
0
4
-3
-1
13
0
-2
0
-2
4
2
-44
0
15
16
26
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
0
0
0
1
0
17
0
0
-1
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-51
0
0
0
0
0
0
1
0
0
0
2
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
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
6
0
0
0
0
5
40
0
0
-10
0
19
-6
-44
0
0
22
0
-8
25
-50
0
1
-19
0
0
0
-1
0
0
-97
0
1
5
-6
0
0
-5
0
-2
-3
8
0
0
141
0
75
0
-7
0
0
0
0
30
0
7
0
0
0
0
0
0
-53
0
0
0
0
0
0
-29
0
-4
0
0
5
-2
-59
0
0
-1
0
0
11
-53
0
-2
-27
0
0
3
85
0
6
13
0
0
0
-3
0
19
0
0
1
-8
-50
0
-6
-14
0
0
0
-39
0
-6
0
0
15
0
22
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
-1
0
0
0
7
-6
0
-1
46
0
0
26
0
0
-3
-23
0
0
16
-10
0
0
126
0
0
-25
0
0
0
30
0
0
23
23
0
0
-71
0
0
-5
-2
0
0
-34
0
-1
-2
1
0
0
1
-1
0
0
0
0
0
18
0
0
0
0
0
0
18
0
2
0
0
0
0
-17
0
0
0
1
0
3
-35
0
-4
7
0
0
0
-17
0
0
-3
-6
0
0
-61
0
16
0
0
0
0
80
-4
-2
-2
1
0
0
-60
0
-23
0
0
0
0
-86
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
7
-1
0
0
15
0
0
1
0
0
0
103
0
0
-10
0
0
0
-8
0
0
0
0
1
0
-2
0
0
0
0
-14
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
11
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
16
0
0
0
0
0
0
-26
0
-9
0
0
0
0
0
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
4
-35
27
-44
-37
-1
25
60
71
24
-68
-12
24
2
61
53
28
-19
33
-24
-1
-39
85
0
-24
-2
-52
3
-49
-8
-9
0
-30
-19
3
4
19
-9
57
-37
3
-20
47
43
-28
-26
21
17
14
-13
-76
11
-25
-31
0
0
35
-59
-23
20
-2
57
9
61
-52
-38
15
49
-1
-11
-5
26
-13
1
-15
-77
11
10
-5
41
-61
14
84
3
-58
-39
12
-1
-11
40
13
-66
33
7
-60
4
-29
6
-90
42
11
-33
-2
22
9
-8
6
-2
14
36
-34
7
-14
-33
36
-42
-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
-1
-50
0
5
59
-14
0
9
43
0
0
8
0
4
-7
-88
0
0
55
45
0
-3
17
-2
0
-58
-20
2
9
-18
0
-5
14
-6
-2
-2
-26
0
0
-5
0
-7
0
-30
0
0
8
-5
-53
0
17
0
0
0
0
-8
0
40
2
0
0
-6
-5
0
26
0
-9
-2
3
-2
-5
54
0
0
0
0
0
1
33
0
37
-5
1
0
0
-2
0
0
-2
-4
0
0
-62
0
-16
-7
0
0
0
-9
0
0
-1
17
0
0
22
0
26
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
6
1
0
0
0
0
0
96
0
0
0
0
0
0
-6
0
7
-1
-1
0
0
64
0
0
-1
0
0
-1
-20
0
0
-3
0
0
0
-34
0
0
0
0
0
0
46
0
0
0
0
-2
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
43
0
5
0
0
0
0
5
0
0
0
0
0
0
60
0
0
0
0
0
0
-14
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
32
0
0
0
0
10
0
13
0
0
0
0
14
0
10
0
-5
-1
-14
0
1
1
0
8
0
0
-32
0
4
0
0
21
-5
0
0
-9
0
0
0
0
0
0
29
0
0
0
0
-37
0
-4
0
0
0
0
0
0
31
0
0
0
0
0
0
71
0
8
0
0
0
0
-11
0
0
0
0
0
2
13
0
-1
0
0
0
0
2
0
0
0
0
0
0
69
0
1
1
0
0
0
-5
0
0
0
0
0
0
-65
0
-1
0
0
-5
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
-18
0
0
2
0
-6
6
-63
0
0
-3
0
13
0
7
0
0
20
0
5
0
-52
0
-4
-5
0
2
24
20
0
0
17
11
-5
-2
22
0
0
4
0
-1
0
-16
0
3
0
0
48
0
50
0
0
0
0
0
0
-43
0
0
1
0
0
0
-6
0
0
0
0
0
0
22
0
0
18
0
7
0
-16
0
19
59
0
0
0
-1
0
-2
0
-1
0
0
-5
0
-8
0
0
0
-2
-35
0
0
8
0
-6
0
-58
0
11
0
0
-23
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
4
0
0
0
0
-32
0
0
0
0
0
5
-35
0
0
-9
0
0
0
52
0
0
-9
0
0
0
38
0
0
5
0
0
0
-17
0
0
-6
3
0
0
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
-44
0
-5
0
0
0
0
56
0
0
-1
0
0
0
0
0
10
-1
0
0
0
14
0
0
0
0
0
0
34
0
7
2
0
0
0
-16
0
0
5
-5
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
-2
-100
0
4
-46
0
-3
-3
11
0
0
55
-85
-8
20
-28
0
50
-55
5
0
2
132
0
-4
23
-5
-6
0
19
0
0
-48
0
-26
0
12
0
0
3
0
-27
0
-16
0
0
0
-7
0
0
1
0
0
0
0
0
0
78
-7
26
0
0
-1
0
20
0
3
15
-13
0
1
-25
0
39
-33
0
-2
0
71
-2
8
99
25
0
0
65
0
49
37
0
0
0
-52
0
0
-6
0
0
0
19
0
-3
0
0
22
0
30
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-52
25
-17
-97
-20
27
-16
95
-27
66
-26
47
11
54
-37
2
-2
-43
34
-5
-14
16
11
-1
25
-80
-9
-45
-7
3
-27
7
54
0
91
28
-28
-20
11
26
-27
-14
57
4
-4
27
-5
-24
-3
0
-29
0
-20
42
0
-124
24
-54
-35
6
69
42
-7
16
22
-1
5
-23
33
5
21
15
-21
-2
24
-16
16
8
48
-2
39
42
0
50
52
27
34
84
-35
-35
-21
58
59
18
-33
19
3
-23
4
-122
43
47
-3
-4
37
-29
4
-3
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
-3
2
0
0
34
0
-4
10
-64
0
-3
2
0
0
3
-12
0
-2
-51
0
4
0
-71
0
0
-33
0
0
0
29
0
2
0
0
0
0
57
0
0
0
0
-3
0
25
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
-18
0
1
0
0
0
0
-16
0
0
1
2
0
0
-18
0
14
0
0
0
0
-68
0
0
-4
0
0
0
-77
0
14
0
0
0
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
-4
77
0
0
0
0
0
74
109
-2
0
4
26
0
10
48
0
0
40
0
8
-1
-45
0
1
30
18
0
0
23
0
0
51
0
-41
0
-5
0
0
-4
0
-14
0
-21
0
0
0
2
0
0
75
0
0
0
0
0
0
-61
0
5
0
0
3
0
-2
0
-6
13
4
0
0
-33
0
2
-2
0
0
-2
-36
0
0
-9
-5
0
0
131
0
0
3
-6
-2
0
95
0
5
-1
0
6
0
-1
0
-11
0
0
33
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
-25
0
0
11
2
6
14
-46
55
0
51
-16
32
-5
35
25
0
91
17
19
19
-29
-2
-4
32
19
-9
24
24
3
0
-17
23
0
23
0
23
0
-9
18
-14
27
0
-4
2
0
0
0
6
0
-25
22
0
0
0
0
0
49
0
-51
0
-5
0
0
40
0
-11
-1
13
-1
-14
31
0
48
-5
-5
3
-19
-42
6
2
-142
18
-11
3
1
5
-18
47
-7
5
15
8
0
-1
-51
137
-37
0
29
0
40
-7
0
-4
0
-17
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
0
27
0
15
0
-8
-1
10
-14
24
-32
0
18
5
2
-47
27
-27
0
-4
-1
0
39
-4
4
0
-10
19
0
38
0
19
0
2
-4
0
-42
0
-15
2
0
1
-3
0
0
-8
-22
0
0
0
9
0
67
0
35
-14
0
1
6
72
0
-4
8
0
20
7
-13
0
-33
-9
0
-5
-6
23
0
58
74
1
1
-1
-31
0
-9
-43
0
-10
2
23
0
0
57
4
-16
0
27
0
-47
0
0
8
0
45
-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
6
-63
0
0
-86
8
0
1
-67
-19
23
-14
14
0
-19
1
13
43
14
-96
0
-14
77
0
-11
14
-3
0
-64
-17
9
18
-4
-10
0
-5
3
-1
-4
11
-3
0
0
15
-5
-1
0
-6
0
0
12
6
0
2
0
0
2
14
0
34
-20
0
0
1
91
-3
6
97
-14
0
10
36
0
6
91
-43
0
-4
-37
1
18
45
30
0
11
84
0
47
-17
5
0
1
104
-2
-8
24
-14
0
0
13
0
-52
24
9
0
0
24
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
-10
59
1
9
23
-59
4
-60
25
-1
4
-11
-29
45
-4
38
0
33
-83
-6
22
0
49
0
0
16
10
88
-3
63
6
7
50
-27
-10
0
-11
-17
0
0
9
5
0
2
0
0
-7
33
0
0
-9
1
-44
-9
0
0
0
29
3
-8
31
-9
15
0
29
0
-84
-63
-13
3
-13
26
-4
52
24
3
-2
17
33
0
49
11
0
10
0
-34
-1
-4
1
-14
-3
0
37
0
46
80
0
122
0
-72
-17
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
19
7
-62
-66
0
-29
-32
27
16
12
-11
33
-12
-53
65
13
63
23
43
-29
0
22
7
57
8
37
-32
-34
-6
-7
-9
35
56
38
-3
98
0
-97
-20
92
28
7
-80
26
39
16
-72
-90
-121
4
19
15
-43
-14
-19
-61
-41
0
-5
-6
22
11
6
114
-30
-36
-33
6
24
-2
-4
4
41
-4
-13
-9
-54
14
10
-12
2
33
-15
-21
37
1
32
15
14
11
28
78
-11
3
-16
-20
-37
-30
-21
43
5
55
-11
75
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-3
0
0
0
39
0
0
-21
0
0
0
35
0
1
-4
-3
0
0
4
0
0
1
0
0
0
-73
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
-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
-10
0
1
-2
0
0
0
-4
0
-2
0
0
0
0
32
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
3
67
-3
1
-13
18
0
1
49
0
0
6
0
2
0
50
0
0
3
5
2
0
69
0
0
-9
0
0
0
32
0
0
-6
0
-8
0
-69
0
0
0
0
0
0
-22
6
0
0
0
0
1
-5
0
-1
-3
0
0
0
60
0
0
0
0
0
0
-71
0
-1
31
0
0
0
-58
0
0
0
-6
0
0
-33
0
-6
-5
0
0
0
35
0
0
0
0
0
0
-71
0
-5
0
0
15
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
-62
-6
16
69
-5
-21
13
-59
35
-13
-40
-11
25
36
60
28
-1
84
-33
-14
-56
-54
41
-10
19
6
2
113
49
2
0
-7
36
-11
34
0
-1
80
-13
5
11
-25
0
35
-30
-1
3
48
0
0
3
3
-26
23
1
4
31
62
0
43
35
9
5
10
3
-9
41
-20
31
-7
-33
22
0
-1
32
84
22
91
5
2
-4
-18
0
-44
9
-8
4
90
41
11
3
-7
8
0
-8
-10
0
14
0
14
7
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-62
0
0
-32
0
0
-1
-38
0
0
7
0
3
-4
51
0
0
-3
-1
0
0
24
0
0
0
0
0
0
-53
0
0
0
0
-24
0
-32
0
0
0
0
-2
0
-18
0
0
0
0
0
0
93
0
-1
0
0
0
0
86
0
0
-4
-5
0
0
13
0
-21
0
0
0
0
52
0
0
7
0
0
0
53
0
-10
0
0
0
0
39
0
0
1
0
0
0
-100
0
-1
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
1
-71
0
8
39
12
0
0
-76
0
4
-27
18
0
0
29
0
14
7
53
0
0
-57
0
-6
76
-4
0
0
37
0
5
-44
0
0
0
47
0
0
0
3
0
0
-51
2
0
0
3
0
0
13
0
-27
-1
-1
0
-2
102
0
-2
71
33
0
0
-41
0
35
-44
-5
0
5
27
0
7
16
28
0
0
-44
0
-6
6
5
0
11
53
0
-1
-4
-2
0
0
51
0
-29
-14
0
0
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
5
26
7
2
0
-33
-7
14
15
7
1
-51
-3
41
1
25
8
-1
-67
0
-33
0
-11
-3
-2
-21
87
26
0
-5
1
33
1
-4
-4
0
-43
5
0
3
-11
0
0
17
0
52
-50
-1
0
2
80
0
7
70
-51
-5
-1
-24
0
-17
46
17
0
-5
-16
7
0
-90
-16
8
4
-76
0
-40
24
6
-6
-1
10
-2
2
84
138
-2
10
15
0
2
-4
-1
52
0
5
-36
-57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-13
12
55
-26
-23
8
-21
45
31
-6
-37
41
2
-36
7
44
-25
-41
-32
-8
79
-55
8
24
-7
-25
9
108
-39
-6
4
23
14
-14
-39
23
51
-25
-37
88
12
4
-32
-13
-49
19
19
25
-38
-19
90
86
47
-23
0
-7
-8
-15
-5
-55
105
19
18
12
-2
-7
-50
11
-10
10
-15
-40
-41
14
-4
12
62
-87
-3
9
2
-36
-7
-56
-1
31
-5
3
-13
1
-30
-3
18
48
-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
-14
65
0
0
25
0
0
-10
-28
0
-1
34
0
0
15
-22
0
0
5
0
-1
0
12
0
0
-7
0
0
0
-48
0
0
0
0
0
0
5
-4
0
0
0
0
0
-23
0
-1
0
0
0
0
-1
0
0
0
0
2
0
-8
0
-7
2
0
0
0
-65
0
-7
9
-8
0
4
42
0
-8
0
0
0
0
-5
0
0
0
0
0
0
-32
0
-6
0
0
0
0
32
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
141
-11
-2
-92
5
-5
8
0
0
0
10
42
0
16
-62
0
0
-3
0
14
0
23
0
0
0
-3
9
0
52
0
0
0
15
-4
0
-14
10
0
0
0
0
-3
124
0
66
1
0
0
0
5
0
0
-33
0
1
0
65
0
30
37
-7
0
-2
39
0
-4
0
4
0
0
9
0
-26
4
0
0
0
10
0
0
1
9
2
0
6
0
-3
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
4
13
-15
38
64
19
33
27
28
21
49
-23
-82
19
44
25
-32
0
5
63
-11
43
23
-4
17
24
0
1
-60
-3
-7
-1
79
0
-29
20
-5
2
12
5
16
-29
22
60
37
5
7
-2
15
-7
-15
-39
105
0
-21
26
-2
16
11
39
2
39
1
-3
59
7
16
38
12
6
-1
-4
-11
23
-8
14
3
-21
15
-3
16
31
-7
17
2
100
-36
-9
89
0
39
3
27
-27
-20
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
18
2
0
-20
-4
-8
1
45
-19
0
14
64
-20
8
65
12
0
7
52
0
-11
0
-33
0
-5
35
-5
17
0
10
-9
0
0
3
-8
0
3
24
0
-4
-2
6
-2
14
0
-87
-5
0
-50
3
-18
0
-25
-18
1
31
44
7
0
-3
11
21
58
-43
5
0
-21
28
-5
125
14
6
2
78
12
0
100
-17
12
0
0
57
0
44
-3
-20
0
27
37
0
10
0
-6
104
-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
1
3
0
-4
-17
13
0
6
-19
0
-5
-43
-18
0
0
-56
0
0
24
0
0
0
10
0
1
0
0
0
0
-5
0
0
0
8
0
0
-42
4
0
0
0
0
3
14
0
-13
4
0
0
0
-14
0
-14
4
-4
0
8
1
0
33
9
-5
0
0
-24
6
7
7
14
0
0
-71
0
43
-10
0
0
-11
-94
0
0
7
2
0
0
-30
0
-58
10
1
0
0
-66
-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
9
-41
13
-18
-6
-89
0
7
-30
0
0
-65
29
63
0
20
-1
11
-28
33
-3
0
13
4
0
0
0
0
0
-78
53
0
5
8
0
-2
10
-6
-42
72
0
0
5
28
1
3
-44
5
0
0
-10
0
-39
-62
0
-2
0
13
3
-5
29
-10
0
-2
-23
-2
148
36
0
-1
2
27
0
-4
-14
83
-1
-6
-3
-1
89
-16
0
20
0
44
43
-4
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
-18
-11
19
-36
-16
19
-12
2
6
-14
-13
59
-64
-14
-23
-4
-11
71
15
11
-12
-26
8
46
39
0
22
50
-4
39
36
-21
21
-12
-39
40
0
23
-31
43
80
-2
64
13
-67
26
-4
18
41
-6
4
-33
-53
15
1
71
64
0
-6
32
4
29
5
-118
11
-5
-40
-54
-21
-2
23
5
-41
-38
3
18
-6
-55
-9
2
-27
-8
13
-42
-5
12
-27
116
14
12
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
61
0
0
-5
0
0
0
-45
0
0
-8
0
-9
0
-99
0
1
0
0
25
0
69
0
3
0
0
0
0
5
0
0
0
0
0
0
48
0
7
6
0
-4
0
14
0
0
0
0
0
-1
-4
0
0
6
0
0
0
0
0
0
0
8
0
0
5
0
2
0
0
0
0
-80
0
9
0
1
0
0
-23
0
-5
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
-8
63
0
-2
56
-25
-14
0
105
0
0
0
0
15
0
51
0
0
0
0
-7
0
15
4
0
0
0
0
0
66
-1
0
0
5
0
0
81
0
-25
-1
0
0
2
-95
0
5
40
-5
-13
-3
-24
0
19
-7
-6
0
0
-81
0
-3
9
14
7
3
-3
0
-42
-2
0
18
0
-21
0
0
0
0
36
0
-121
0
62
-2
5
72
0
18
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-104
23
38
-12
-26
17
0
85
14
-2
33
-23
11
8
53
35
0
13
0
8
-36
-5
0
-11
-34
-4
19
-22
-2
3
-104
2
5
-46
-5
9
-57
23
-5
-22
-25
-1
-14
-49
46
-3
-7
41
4
-20
-14
-13
-2
17
-2
-3
-3
41
3
-14
-41
-11
45
-37
-24
-2
28
37
45
2
-42
22
-10
-25
-6
2
-7
33
11
0
38
0
6
-20
-22
-5
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
2
-38
0
9
22
-2
87
0
27
0
0
-7
0
-7
0
-27
0
0
83
0
-58
0
-77
-3
0
0
0
0
0
33
-4
0
0
0
0
0
-19
8
46
-1
0
10
-1
62
0
-2
2
4
26
0
10
0
-33
-13
0
-17
5
6
0
-3
-33
0
-15
0
-93
0
50
-14
0
0
0
-20
0
0
32
0
-1
13
-20
0
5
6
0
5
0
40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
-7
45
0
7
0
0
-5
52
0
0
0
-46
0
9
44
108
0
0
15
0
0
0
-8
0
0
4
23
0
0
-14
0
0
1
0
-33
-17
0
0
0
18
0
-3
-27
-56
0
0
4
4
-26
35
29
0
7
50
24
-11
-54
84
0
-5
-21
0
63
-76
0
0
0
52
0
0
28
31
0
0
-19
1
-63
17
1
0
0
-11
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
-4
-3
0
15
0
47
0
-5
0
0
-5
57
-41
-3
26
0
0
0
0
3
0
22
1
0
0
-1
0
0
-52
0
-44
1
9
0
0
18
0
34
-51
-45
0
0
-16
-1
-29
-34
6
0
0
70
3
66
-55
78
4
0
27
0
22
-29
-9
0
0
-8
-3
0
-3
-16
-2
11
11
0
33
0
0
1
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
-5
49
18
22
20
18
23
83
0
18
-14
3
11
2
-56
42
77
-81
-11
-2
59
17
-79
83
4
11
23
14
9
5
-2
-4
-90
-34
7
21
-1
-23
21
-43
-7
8
-9
61
5
-132
-10
-9
43
-38
29
29
6
-54
0
2
23
14
44
-85
-14
15
-1
48
-59
-27
14
-83
1
-27
-64
13
-48
-11
14
-4
18
-32
11
-42
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
63
0
0
3
0
0
0
19
0
0
2
0
1
0
14
0
0
0
0
0
0
26
0
0
0
0
0
0
-9
0
-10
0
0
0
0
34
0
0
-2
0
0
-4
33
0
0
0
0
0
0
-5
0
2
0
0
0
0
-10
0
68
0
0
7
0
52
0
0
-3
0
0
0
45
0
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
109
0
0
7
0
5
1
62
1
0
-14
-8
-58
0
65
1
0
0
0
0
0
-33
2
0
-4
3
0
0
-13
-6
-5
-3
0
0
-2
38
0
5
-15
-16
20
0
-65
0
11
19
0
0
0
-23
5
2
-2
-6
0
0
14
0
-16
0
0
0
0
24
1
-13
0
0
0
-1
3
0
123
0
0
-28
0
-25
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
-48
8
-3
60
-67
-7
-30
53
10
5
43
0
-54
3
0
11
2
0
24
49
-32
-1
-38
-36
-8
-19
38
1
7
15
-23
57
13
22
-1
1
-11
0
35
59
44
26
-36
3
0
45
-5
64
29
-9
-3
-6
9
5
75
69
-78
7
0
32
-14
27
-7
-29
20
-7
48
190
-28
87
-5
1
-1
34
51
-10
25
-2
3
-55
-7
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
17
3
118
-4
0
0
5
-43
-2
23
0
6
-6
-1
0
14
6
0
5
26
0
1
11
0
0
-85
0
-152
42
0
-9
-52
-10
-2
-5
35
0
-3
-21
2
0
62
50
0
1
8
0
7
0
22
2
15
-3
-28
0
27
76
1
3
14
-46
1
-13
-121
0
-2
0
-4
0
-1
-29
0
-24
0
21
90
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
66
0
0
0
12
0
6
34
-24
0
0
-17
0
0
0
0
0
0
56
3
0
0
18
0
0
23
0
51
3
6
0
0
48
0
0
-3
24
0
6
17
0
93
18
0
0
0
-6
0
-3
45
46
0
4
-93
0
-17
11
0
0
0
23
0
19
-20
8
0
0
-26
0
-82
0
3
0
0
101
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
19
2
-1
0
19
-19
0
-36
3
0
0
0
0
0
-16
0
0
2
0
0
0
-39
-1
3
-6
0
0
-4
23
0
3
5
-5
0
0
17
0
1
13
-9
0
-1
-110
0
0
-24
-7
0
0
0
0
50
5
7
0
0
5
0
-2
-4
16
-2
0
-44
0
45
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
15
-1
54
1
0
27
-23
2
14
28
76
21
-101
-32
13
19
-30
-43
65
30
-3
-12
-13
14
15
-53
66
21
-1
2
42
-61
-2
5
-31
-29
21
2
-30
46
-15
-53
-33
6
-103
40
-33
26
6
-22
3
-12
-36
-24
-94
27
24
0
90
83
99
25
118
-41
0
15
-11
-31
5
15
57
10
10
10
62
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
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
9
-2
0
118
0
0
0
0
-1
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
33
0
0
0
0
0
0
3
0
0
0
0
0
0
86
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
5
0
0
25
0
-4
0
9
-9
0
0
15
-1
0
8
0
0
0
1
0
0
-49
-1
0
-2
0
0
-2
-6
0
0
0
3
0
-2
87
0
3
-1
-5
0
0
-59
0
-2
-6
-6
0
0
10
0
-24
-10
0
0
0
13
0
0
-3
0
31
0
-15
-2
-25
0
0
-17
0
-45
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-81
-25
0
-18
0
1
0
0
-8
0
36
34
0
2
-7
0
-1
-19
0
17
0
0
-1
-11
-1
2
11
25
0
0
7
-20
-1
30
-5
-13
0
1
-28
4
47
18
3
-9
17
8
0
28
-4
0
-1
-1
61
0
5
-9
50
-4
-3
-31
0
71
15
0
8
0
16
29
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
15
0
-40
0
0
0
0
8
0
-4
0
0
0
0
0
0
6
0
9
0
0
6
0
10
0
0
-1
7
0
0
-3
0
2
0
0
0
0
45
0
0
-4
0
0
-2
-2
0
5
0
0
0
0
90
0
0
0
0
0
0
-81
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
-33
-13
-8
15
-11
0
0
-44
-3
11
6
-1
0
0
-34
-5
0
0
-23
0
0
-15
4
7
-5
2
0
-3
-24
0
11
14
43
0
-17
-78
0
-61
65
4
0
24
21
0
3
38
-76
0
18
17
0
-11
-3
0
0
-4
4
0
27
45
3
0
0
5
0
-40
-3
0
0
0
16
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
7
0
0
14
0
0
0
0
0
0
-5
0
0
2
14
0
0
62
0
4
2
0
0
0
-11
0
0
1
0
0
0
-168
0
3
0
0
0
0
52
0
-1
9
3
0
0
-69
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-19
9
-97
-45
16
-1
81
-5
-3
-20
7
9
24
43
4
60
-25
23
30
-21
13
31
64
-12
-65
-42
2
-21
39
13
20
-6
3
2
11
13
-26
-4
-21
-16
22
-10
-49
-33
-118
5
-29
2
-14
-26
-44
19
-61
13
0
99
-27
49
34
-23
-1
19
-6
52
-27
-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
26
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
0
18
0
-3
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
19
0
0
0
0
0
15
28
0
0
-6
0
0
0
32
0
5
52
0
0
0
58
0
0
0
-14
0
-1
57
0
-1
-4
0
0
26
-16
0
3
0
5
-1
0
-102
0
10
0
0
0
0
-30
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
42
-3
0
0
9
9
0
-23
-1
0
0
3
0
0
-41
-5
-4
-5
0
0
0
-39
0
3
-9
23
0
-3
-57
0
17
-27
-2
0
0
-22
-3
10
53
-9
-9
0
-18
0
-8
-9
0
14
0
-38
15
-13
0
-8
-10
0
-26
0
-11
0
0
9
0
-57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
37
3
0
-4
0
0
-99
-21
0
0
0
0
0
-42
0
24
1
0
0
-6
-27
0
6
74
0
0
-26
11
0
62
-45
-2
0
-7
3
0
66
149
-2
-14
-1
8
4
64
56
0
5
-5
23
1
16
100
9
-9
0
-24
0
-22
-19
0
-11
0
-64
31
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
6
0
0
3
-26
-2
5
5
0
29
5
0
-20
-45
-3
-6
23
7
0
-25
13
-55
0
82
-12
0
5
59
87
0
-2
15
1
-57
64
61
0
29
34
0
50
19
49
0
6
-24
0
47
-2
13
0
-10
-55
0
6
63
2
0
0
37
12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-17
-1
-19
-24
42
-14
-156
-4
-37
7
16
-29
53
4
-1
-31
12
-14
-4
32
24
6
-9
45
-26
-48
-37
-27
20
5
72
-27
-23
-19
-19
7
-64
11
11
97
-59
-6
-14
37
33
5
-16
40
14
2
5
12
1
81
-9
10
0
14
-52
26
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-47
0
22
0
2
0
0
64
0
0
1
0
0
-2
8
0
-3
-5
11
0
0
-100
0
-5
1
0
0
0
-11
0
8
0
0
0
0
-17
0
10
16
-15
0
0
41
0
-56
0
0
-2
0
20
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
0
0
-6
0
0
0
0
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
34
0
0
-1
0
0
0
-46
0
23
0
11
0
0
-5
0
-3
-7
0
0
0
2
0
0
1
0
21
0
45
0
58
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
13
0
0
0
-11
0
0
-23
0
0
0
0
0
0
23
0
0
-9
0
0
0
-37
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
-1
0
0
0
0
0
0
11
0
-1
2
0
0
0
-52
0
0
0
-1
-4
0
14
0
10
-1
0
-3
1
1
0
3
-18
-6
0
0
61
0
5
-2
0
0
0
-17
0
2
-4
0
18
0
-8
0
-7
2
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
53
0
0
0
0
0
0
31
0
0
0
0
0
0
40
0
-7
-2
-7
0
-7
-45
0
44
-4
0
0
0
-31
1
0
-5
15
0
0
-129
0
-26
5
0
0
0
2
-3
3
10
2
0
0
-75
0
-57
4
0
0
0
34
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
-9
-1
-7
-4
-74
20
2
36
6
-2
14
15
-6
-5
25
-36
-1
-14
43
-5
-15
-23
24
-11
-43
-29
-5
-14
23
-18
4
-52
-102
-3
-60
9
-36
2
-26
45
-42
1
-7
2
0
-22
32
3
74
17
-13
32
2
-16
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
-41
-1
-32
6
0
0
5
-11
0
0
18
5
0
0
31
0
4
-15
-10
0
0
33
0
0
0
-13
0
8
35
0
-32
6
0
3
0
-53
0
1
0
0
0
0
-24
0
-33
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
0
0
0
0
0
7
-51
0
-1
-6
0
0
0
43
0
0
19
4
0
0
-3
0
0
5
0
0
0
-6
0
8
11
7
0
0
-99
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
9
0
-35
0
-1
29
0
9
0
-50
0
-5
1
0
6
0
-63
0
-1
8
0
0
0
77
0
-31
-6
0
2
0
61
0
0
0
0
1
0
51
0
0
0
0
-6
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
29
0
0
-4
-8
0
0
-130
0
-10
0
0
0
0
59
0
0
-2
0
0
0
-34
0
0
7
0
0
0
-8
0
0
0
0
0
0
99
0
0
0
0
1
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
-54
44
-1
109
19
45
14
4
19
1
-15
-17
90
19
105
-5
-18
-36
-12
4
-64
-5
14
3
40
-24
10
32
30
-55
33
23
-14
1
-49
-3
-1
0
-78
-5
31
58
-7
22
-67
-42
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
-1
0
0
0
0
5
0
0
0
0
0
0
-11
0
-2
0
0
0
0
5
10
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
16
-36
-11
-4
-9
-35
78
1
-16
-6
51
-18
-2
-11
-23
-37
2
33
-10
19
-2
-1
-81
-2
-5
-35
-5
-7
-5
-23
-1
0
-36
59
-4
0
33
0
29
-6
0
-19
0
45
21
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
-22
0
0
-10
7
0
2
0
0
1
3
0
-8
-7
-7
0
11
-3
-3
0
0
-17
0
34
17
0
7
0
-6
0
-5
1
-6
3
0
69
0
-9
0
0
-4
0
-46
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-51
0
0
0
0
0
0
-29
0
0
0
0
0
0
60
0
8
0
0
0
0
-36
0
0
0
0
-7
0
45
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-4
0
0
0
1
0
50
-5
8
0
0
43
0
3
9
0
0
0
-53
0
15
-3
-2
0
9
28
0
0
0
-2
0
0
56
0
2
0
0
0
0
63
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-59
0
-47
0
0
0
0
-13
-1
-3
-22
9
0
0
-29
0
10
5
0
0
-1
33
-4
0
6
16
0
0
26
0
-13
-3
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
36
62
54
29
17
3
-15
7
5
54
-33
160
-17
-5
8
-6
-60
62
47
-7
-9
49
22
80
-42
-29
-6
18
-48
60
-21
-84
-1
27
-40
14
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
14
0
0
0
0
0
0
-7
0
-1
-1
0
0
0
1
0
0
0
0
0
0
-24
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
49
0
13
-5
4
0
0
22
0
0
7
10
0
0
-62
0
7
13
0
0
0
-33
0
0
0
2
0
0
-23
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
51
13
-4
2
2
0
-15
-117
0
9
0
6
0
33
64
-1
37
0
-27
-8
-5
10
-8
-45
4
40
0
54
-1
0
-46
0
60
-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
52
0
33
43
0
1
0
-30
0
-3
-32
8
14
0
6
0
-13
90
0
15
0
-15
0
0
-15
0
-1
0
46
0
36
0
0
90
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
2
46
0
-7
1
-8
0
0
9
0
-6
-4
2
0
3
-13
0
0
-5
0
0
0
-4
0
9
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
-44
7
1
-5
-13
0
0
-15
0
53
24
0
0
0
-75
-14
0
24
34
0
0
24
0
13
0
0
-1
0
-16
-13
-4
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
1
-24
49
71
46
-12
6
-18
7
-5
-22
0
-44
-68
-62
8
-37
3
-14
30
-71
10
7
5
-4
-11
5
-57
-18
1
-79
23
-46
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-23
-57
13
-33
-8
-31
0
134
-10
-13
1
14
-35
0
-13
-59
-5
33
11
-5
0
94
20
-2
-2
0
25
29
17
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
92
0
36
33
38
55
5
38
0
-28
87
5
10
1
-6
0
-10
-63
-76
-5
2
-27
0
103
0
0
69
0
-10
-36
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
86
0
-4
14
0
0
0
11
0
1
-5
0
0
0
0
0
-7
0
0
27
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
11
0
11
0
1
0
0
-13
0
-18
-1
0
0
0
7
0
0
-5
0
0
0
13
0
11
0
0
0
0
-7
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
8
0
0
0
30
0
0
0
0
0
0
-13
0
-7
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
5
-2
-10
0
78
10
-135
-3
16
-13
13
-9
31
13
-2
2
5
-20
48
-78
-35
1
30
-52
-14
-32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
-1
0
0
0
0
44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-91
0
5
-15
0
0
1
-21
2
0
45
4
0
0
-19
0
27
0
5
-19
0
9
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
8
0
14
41
8
-1
-2
14
0
2
47
5
-1
-1
27
0
-5
8
0
-117
0
-46
-103
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-59
-2
0
-26
3
1
0
18
-24
0
-6
0
1
0
-1
7
0
59
0
44
-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
-100
-6
0
0
0
7
0
0
14
10
0
0
-27
0
72
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
2
64
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
-1
23
-10
-7
80
9
-43
-5
14
-14
-13
-82
7
-3
-4
-2
-46
26
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
0
-6
-55
40
-38
0
19
0
20
68
-4
-20
0
42
-21
-16
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-14
6
55
20
0
-14
0
47
0
2
-33
0
21
7
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
5
0
0
-57
0
-5
0
0
-2
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
-54
0
0
-1
0
0
0
55
0
39
0
0
0
0
67
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
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
84
-5
18
-3
-31
30
2
-52
-20
-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
10
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
-27
0
-19
0
0
0
0
-57
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
15
0
22
0
59
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
96
0
0
27
0
-62
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-30
5
-6
0
0
25
-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
-23
-2
30
53
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-112
-17
-4
-2
2
-34
22
-63
-84
-27
31
-3
9
59
-5
-50
-90
26
-48
-17
60
0
0
0
0
0
0
0
0
-2
-54
11
-5
14
-61
42
-24
34
-35
3
-55
-23
-19
-10
62
-1
-108
-45
2
3
8
-2
-1
-13
10
-43
-25
22
0
-27
-95
30
-20
52
42
10
-19
-5
1
1
5
-74
-14
-8
-3
-43
-13
5
-14
-19
3
0
-6
7
-3
9
28
-32
7
-42
-1
-10
-1
16
-12
-4
-7
27
24
47
-23
-23
-6
-6
24
-70
16
-33
20
-4
-53
2
6
11
26
-8
-25
64
19
-69
-2
0
-86
-37
-24
0
19
-2
-2
18
25
-51
-19
-9
-3
-33
8
8
3
4
8
-2
107
-22
1
-12
80
-57
-2
13
-80
6
-25
23
-19
-1
-15
-13
-1
-70
85
13
0
18
-1
-19
10
-41
1
4
26
-73
25
-34
-22
0
-1
33
35
-41
-19
-43
18
2
11
-60
-56
47
-23
-29
-5
42
15
-24
17
35
-2
1
-19
-54
15
-56
10
-35
0
-43
-46
5
-20
8
4
-1
-109
115
6
35
12
27
2
-5
14
5
-3
4
34
-5
103
1
-6
-27
-9
62
-7
-94
-33
9
44
7
-5
-2
-13
-34
3
6
66
21
-11
1
100
-90
45
-55
-14
3
-57
-55
-27
37
-5
-22
-3
-48
16
-10
-18
12
38
5
-43
-23
-20
24
20
-33
-6
-45
4
16
6
5
24
2
25
4
21
30
25
-19
-3
24
48
-12
-34
53
-128
2
33
-17
5
-90
5
-5
-2
-47
31
-12
-49
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
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
28
0
0
0
-2
0
0
0
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
22
0
0
0
0
0
-20
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
-15
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
48
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
24
0
0
-15
-48
0
0
0
0
0
0
27
0
0
0
0
0
0
-2
0
0
-11
0
0
0
-59
0
-25
0
0
0
0
0
0
0
0
0
0
0
-86
0
0
0
0
0
0
-9
0
0
0
0
0
0
-43
0
0
0
0
0
0
-10
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-24
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
-11
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
-36
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
61
0
0
0
0
0
33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
6
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
0
36
0
0
0
0
0
0
-15
0
0
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
58
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
-3
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
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
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
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
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
-3
0
0
63
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
5
0
0
0
7
0
0
3
0
0
0
0
0
0
3
0
0
34
7
0
0
-6
0
0
-1
0
0
0
22
0
1
-7
0
0
0
-2
0
0
0
0
0
0
-3
0
53
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-46
0
0
2
0
0
0
8
0
-8
-4
0
0
0
55
0
0
0
0
0
0
-93
0
0
0
0
0
-4
-65
0
0
4
0
0
0
-42
0
0
20
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
32
0
0
0
0
0
0
58
0
0
-2
0
0
0
11
0
0
0
0
0
0
-30
0
0
-1
0
0
0
44
0
0
-4
0
0
0
76
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
-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
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
19
0
0
18
0
0
0
6
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
26
0
0
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
9
0
-80
0
0
0
25
0
0
49
0
0
0
6
0
0
66
0
0
0
5
0
0
-1
0
0
0
4
0
0
1
0
0
0
31
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-23
0
0
0
-9
-29
0
0
0
0
0
0
103
0
0
0
0
0
-2
36
0
0
0
0
0
0
-33
0
-4
0
0
0
0
13
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
1
-42
0
0
8
0
0
-8
44
0
0
0
0
0
0
-8
0
0
19
0
0
0
30
0
0
7
0
0
0
63
0
0
0
0
0
0
10
0
0
0
0
6
0
36
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
-18
0
8
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
11
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
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
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
23
-17
-2
2
2
-4
-17
-122
-33
-9
-7
-33
0
0
0
0
0
0
0
-1
-31
-16
29
-45
-58
-45
-31
38
-3
1
-5
14
-63
57
81
23
-2
17
-19
12
4
-4
-2
0
-15
1
-43
-83
42
-37
-17
-6
-69
32
-67
31
15
-2
14
2
-3
-2
-132
-5
-3
-9
-1
4
-60
15
-19
-31
1
22
7
-5
43
-50
-23
-3
-41
5
-16
-1
-47
-85
-2
61
-2
-5
-14
-13
3
-14
5
-14
-30
43
51
20
-7
6
3
0
20
-56
21
33
-30
31
-13
0
-52
0
-24
-52
0
4
-2
78
7
51
-47
47
15
-8
61
22
0
2
-45
-5
-3
-9
19
14
60
-75
-10
0
-24
16
2
-32
-16
4
-5
-71
15
-1
-5
11
-22
-3
0
1
3
-8
-62
22
5
9
-4
10
23
25
2
-4
38
6
21
-37
19
-6
-6
-28
3
4
-12
-57
-35
5
-23
10
5
-26
-29
1
-1
-3
-33
4
-26
-22
-13
-4
7
93
0
-25
-59
5
-2
-33
7
4
5
-24
19
0
-20
38
-14
-15
-1
-18
-3
53
-5
-1
-15
33
-7
-1
-15
106
-7
-11
-1
-1
-3
14
2
-31
-4
28
-6
-30
33
56
-11
-17
-53
-34
35
27
68
29
20
44
46
5
-46
42
42
-21
8
-12
-1
6
-17
-14
33
55
33
5
15
4
1
-20
-58
-1
-7
-11
-24
-1
-22
-33
-6
-26
-15
-43
-3
17
3
-5
-2
-25
2
6
11
-21
-1
5
-12
8
-51
31
23
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
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-6
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
-43
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-7
-1
-15
0
-1
-12
0
0
-1
0
0
0
-18
0
0
0
0
0
0
-60
0
0
3
0
0
0
-45
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
11
0
0
0
0
0
0
-33
0
0
0
0
0
0
-11
0
0
0
0
0
0
-8
0
0
0
7
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
-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
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
-65
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
53
0
3
25
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
-16
2
0
0
0
2
0
0
-9
0
0
-2
-32
0
0
-11
0
0
-2
-13
0
0
-2
0
0
0
-14
0
-2
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
20
0
0
0
0
0
0
-13
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
-19
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
-7
0
0
0
0
0
0
0
0
0
5
0
0
0
-11
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
-17
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
3
0
0
4
0
0
0
-4
0
0
15
0
0
0
7
0
0
31
2
0
0
0
0
0
43
0
0
0
46
0
0
64
0
0
0
-8
0
0
0
3
0
0
-9
0
11
0
0
0
0
0
0
0
0
-19
-1
0
0
0
0
0
6
0
0
8
0
0
9
0
0
23
6
0
0
8
-54
0
2
-26
0
0
1
30
0
0
-38
-1
0
-11
9
0
0
-33
0
0
0
38
0
-30
1
0
0
0
-31
0
0
0
0
0
0
8
0
0
0
0
0
0
36
0
0
0
0
0
0
-9
0
0
0
7
0
0
-2
0
0
43
0
0
0
48
0
0
29
0
0
0
1
0
0
-6
0
0
0
-25
0
0
-7
-1
0
0
-11
0
0
9
0
0
0
5
0
0
0
0
0
0
-27
0
0
0
0
0
0
11
0
0
0
0
0
0
118
0
5
0
0
0
0
5
0
0
2
0
0
0
75
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
-36
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
5
0
11
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
50
3
0
0
-30
0
0
0
0
0
34
0
0
29
0
0
43
0
0
0
0
0
0
2
0
0
0
0
-3
23
0
0
-43
-132
-72
-22
-3
0
0
-43
1
-55
16
-2
10
0
-12
13
-47
-37
33
3
0
108
0
-90
-77
9
0
0
-5
10
1
14
0
0
0
-18
0
-4
0
44
-1
0
-5
0
-25
0
0
-5
0
0
-1
0
0
-38
-19
0
1
-5
0
0
-59
0
5
14
0
1
0
-90
0
-18
-38
-76
0
8
-96
0
0
-48
0
0
5
19
1
0
-7
-5
0
51
77
0
-11
13
0
0
-10
17
0
53
-61
-29
0
0
-72
0
0
72
6
1
0
67
1
3
0
0
0
0
-76
0
0
0
1
0
0
-49
0
5
-3
-3
-4
-2
-25
0
0
-10
0
-4
0
-32
25
-4
-41
-43
0
-8
1
0
4
-59
-19
-6
0
55
1
1
-88
45
0
0
-10
0
1
9
0
41
0
-70
0
0
23
14
-81
0
48
5
0
0
11
0
0
4
0
0
3
0
0
0
-139
0
16
0
0
4
0
-41
0
29
63
7
0
-7
17
0
-18
23
-10
0
0
-64
0
-5
1
43
-5
0
-56
0
-21
-4
-1
0
0
-56
0
0
-4
0
13
0
23
13
-21
0
0
-2
0
64
19
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
-13
1
2
0
-3
0
-4
0
0
0
0
0
0
0
-16
0
1
0
14
0
0
37
0
0
0
-35
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
54
0
0
0
-100
0
0
-70
0
0
0
26
0
-7
-31
5
0
0
16
2
54
2
-2
0
0
79
0
-24
35
0
0
0
33
0
0
-8
-10
0
0
33
0
72
5
26
0
0
0
1
-41
0
0
4
0
0
0
-1
0
48
7
2
0
17
0
0
-95
0
0
47
0
0
14
0
0
-3
-2
78
0
-60
39
0
0
-34
0
0
39
29
0
0
14
14
0
6
14
0
0
-24
0
5
6
33
0
-129
11
-6
0
0
-7
0
0
-9
0
-21
0
2
0
9
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
-1
1
0
-1
0
0
0
-16
0
0
3
-6
0
-1
-26
-1
0
3
-62
0
0
19
-1
0
0
73
0
0
31
-1
0
-2
55
0
-1
-1
-2
0
1
-43
0
0
0
4
-27
0
-1
1
0
0
0
0
0
8
0
0
0
0
0
0
1
0
-3
0
0
0
9
0
0
0
0
-8
0
1
10
0
41
10
0
0
0
-83
0
3
43
4
0
-2
14
0
43
-1
0
0
0
4
0
2
-1
0
-1
1
-59
0
-18
0
0
4
0
-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
-36
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-11
0
0
0
0
0
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
-10
0
0
0
0
0
0
35
0
0
0
-2
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
-2
0
0
0
0
0
0
0
0
39
0
0
0
-4
0
0
23
0
0
0
0
0
0
0
0
-3
0
0
0
0
10
0
0
0
0
0
-3
-33
0
0
0
0
0
0
21
0
0
0
0
0
0
15
0
0
0
0
0
0
-7
0
0
0
0
0
0
35
0
-1
0
0
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-22
0
0
-1
0
0
0
-10
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
-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
9
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
29
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
10
0
0
-4
0
0
0
-4
0
0
26
0
0
0
0
0
0
0
9
0
0
-16
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
110
0
0
0
0
0
0
10
0
31
-1
0
0
-2
-63
0
0
0
0
0
0
27
0
0
0
0
0
34
14
0
0
-1
0
0
0
8
0
-11
4
0
0
0
8
0
0
0
0
0
0
51
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
-33
0
0
0
0
0
1
26
0
0
1
2
0
0
-81
0
0
0
0
7
0
-53
0
0
0
-2
0
0
7
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
13
0
0
0
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
17
-3
-47
-8
0
0
0
0
0
0
0
7
43
-16
9
122
-1
-5
-143
34
-10
1
28
15
7
0
15
0
-1
-27
0
-52
0
0
-4
0
0
2
-9
0
18
-56
0
-1
46
-79
-25
45
-1
-1
22
2
61
0
-7
0
0
25
6
-15
36
-43
0
-3
-106
-53
19
-33
-8
-38
-5
1
-29
-47
-20
9
26
-7
-4
-5
27
1
10
0
-2
-8
-83
-47
-47
44
-3
0
-76
-5
4
0
10
24
0
16
-90
-90
-7
0
-12
-25
0
-13
0
16
-4
0
0
0
-25
19
29
-4
2
-28
2
2
5
-39
-4
1
9
10
35
-9
20
-5
0
0
16
27
-81
5
9
8
0
2
-4
-4
-52
-3
0
16
-24
29
-9
15
54
0
0
-1
-71
8
0
-5
-4
-89
-3
-3
0
-1
-12
-15
1
0
-68
-42
12
-40
0
1
3
-23
6
11
-9
0
-4
-1
53
4
63
5
10
57
26
-28
6
-30
-31
45
-24
22
-15
42
-15
-22
1
-8
-11
38
10
-12
-30
2
-10
-10
-58
28
3
34
-2
2
-13
-55
34
0
-8
13
-1
56
-1
59
5
-25
82
6
-1
-86
3
-2
-34
-7
4
14
-20
85
32
13
-6
42
-22
3
83
-23
-10
0
-19
-5
19
4
-10
-24
3
54
-44
-50
26
10
-54
4
14
-27
-25
-2
0
-2
11
16
4
-25
-29
0
42
0
21
6
-17
40
0
5
-44
-5
-15
-46
59
0
0
0
0
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
-27
5
0
0
6
0
0
-18
0
0
0
-78
0
1
0
0
0
6
-2
0
-14
0
0
-1
0
0
0
0
0
4
21
0
6
0
-4
-35
25
0
0
16
0
55
-23
0
0
0
18
0
-11
-2
0
0
0
-95
0
-111
5
5
-5
0
33
0
17
-16
6
0
0
-17
0
81
-52
0
0
0
-33
0
-69
0
0
0
0
15
0
-1
0
0
-17
0
0
0
23
0
4
-21
-6
0
0
0
79
-3
0
0
-6
0
0
92
-11
0
44
17
0
0
29
14
0
0
-5
0
0
-46
-111
0
0
-51
0
5
26
4
0
0
-38
0
0
-1
-15
0
-7
27
0
0
0
-19
0
0
20
0
8
0
-2
71
-34
0
0
0
0
-12
-11
0
-5
0
0
0
7
16
0
13
0
-1
85
1
0
0
26
0
47
52
43
0
0
-10
-24
1
15
24
0
0
48
0
-4
26
-68
0
0
14
0
-3
-2
4
0
1
66
0
6
0
12
0
0
20
0
4
0
-11
3
0
8
0
0
0
13
6
0
0
0
0
0
35
0
17
9
0
0
-3
-24
0
0
25
0
-2
21
35
0
-68
-71
0
4
1
14
0
0
-58
0
5
0
17
0
1
14
0
0
0
-1
0
0
-2
0
10
0
18
0
-9
25
0
60
0
-43
-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
-22
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
-28
0
0
0
0
0
-78
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
15
2
0
6
0
0
0
0
0
0
29
0
0
0
-1
0
0
50
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
10
0
0
0
0
0
0
0
0
52
1
0
0
0
0
-3
54
0
0
0
0
0
-1
-8
0
1
-7
-1
0
-13
-77
0
0
5
0
0
-2
0
0
0
4
0
0
9
-32
0
0
0
0
0
0
-2
0
-6
4
0
0
0
-32
0
0
0
0
0
0
44
-1
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
18
0
0
0
3
0
-9
13
0
0
2
0
0
0
28
0
0
-1
0
0
0
5
0
0
0
0
0
0
9
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
-6
0
0
0
0
0
0
29
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
14
0
0
0
0
0
0
77
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-19
3
8
-13
-14
13
0
0
0
3
0
1
0
-2
5
0
-103
0
0
-2
0
0
0
0
0
0
-12
0
-1
-53
28
-3
-78
5
0
-7
5
-49
-63
-27
-6
3
-9
-5
-25
-80
-49
2
-4
4
-34
-17
-11
-40
23
0
-72
-44
8
28
4
0
-4
4
-50
-11
20
-5
3
0
-4
-20
13
-4
-7
1
0
6
35
16
0
0
-18
0
-1
-16
17
5
-3
25
-89
2
39
0
-6
5
0
2
-1
16
-26
-17
25
-3
-25
22
6
-47
5
3
0
-6
-11
-43
71
-44
-4
-1
15
-33
-23
80
-4
0
4
-2
-8
22
-17
-46
2
0
4
-18
11
-48
7
-1
0
0
-15
-51
0
0
1
42
-21
0
0
0
0
-16
13
0
13
-28
-4
8
-7
-2
-8
-53
40
-32
-56
-3
0
0
-65
7
-41
70
-12
68
18
-1
-52
49
14
11
13
-36
-44
-8
75
-55
-22
-9
43
-35
0
52
22
0
-3
-6
-12
118
4
-25
10
3
3
-12
36
35
0
-16
-4
10
4
17
20
4
-6
5
1
4
-80
5
0
-3
35
52
-32
1
-76
-27
-30
2
-8
57
2
-33
0
0
2
38
-53
-24
31
-22
-29
0
5
11
40
13
10
-11
-6
-28
-4
7
-34
-1
-10
1
14
14
-51
-47
0
8
0
-50
36
20
42
0
-28
-48
1
-28
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
5
0
-3
1
-16
0
0
27
0
0
0
23
0
0
0
0
0
57
0
0
0
0
0
-61
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
14
0
4
0
-2
0
0
66
-6
0
0
26
2
0
-33
0
0
0
-5
0
0
-20
0
0
0
-15
-1
1
0
18
0
0
2
0
-14
0
0
-1
0
0
0
1
0
-20
-7
0
0
-2
0
-4
-40
0
0
0
0
0
-50
1
0
-9
45
-14
0
50
0
0
0
-56
1
0
7
-62
0
0
-5
4
0
4
-88
0
0
142
3
0
0
22
0
-23
0
0
0
3
-29
0
0
-2
0
7
0
-35
0
0
0
0
0
0
34
0
0
0
0
0
-2
-65
0
0
0
1
0
-2
-2
0
3
-13
0
0
-14
0
0
0
-12
40
0
6
55
0
0
-6
3
0
-4
15
0
0
-9
-3
0
0
-50
0
0
-2
0
0
0
-19
0
0
6
4
9
0
22
0
0
0
0
0
0
5
0
0
0
-1
0
0
-14
0
1
0
0
0
0
-16
0
0
-5
7
0
0
0
0
-61
-3
1
0
0
-45
0
1
6
-3
0
0
-49
0
43
-4
0
0
0
-3
0
-5
0
0
0
0
-5
0
15
-1
0
0
0
-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
-41
0
0
-1
-4
0
0
25
0
0
0
-19
0
0
0
0
0
4
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
13
3
-4
10
1
0
0
-1
0
0
-29
6
0
0
22
0
0
50
0
0
0
-3
0
-2
-7
0
0
0
104
0
2
-21
3
0
0
-13
0
9
1
0
0
0
0
0
60
0
0
0
0
0
0
0
0
54
0
-2
0
0
0
5
71
0
0
0
0
0
37
1
0
10
45
0
0
-31
10
0
-1
-4
0
0
-5
15
0
0
1
0
0
-5
66
0
0
-6
0
0
0
37
0
-18
-6
0
0
0
-9
0
-4
6
0
7
0
56
0
0
0
0
0
0
-25
0
0
0
0
0
0
60
0
0
0
0
0
0
-31
0
0
-1
0
0
4
32
0
0
0
0
0
0
-2
0
2
-5
-5
0
0
-32
0
0
2
0
0
0
17
0
0
0
0
1
0
-7
0
0
0
-3
0
0
-33
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
29
0
0
0
0
34
0
0
0
0
0
0
-52
0
20
0
0
0
0
-6
0
3
0
0
0
0
-5
0
6
0
0
0
0
-25
0
0
0
0
0
0
23
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
-3
0
0
0
0
0
0
10
0
0
0
-15
0
0
0
0
0
59
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
26
-1
37
0
0
0
-2
0
0
35
2
0
0
-3
0
-2
-28
1
0
0
-5
0
-5
103
0
0
0
-13
0
1
3
0
0
0
34
0
0
0
-9
0
0
-1
0
-2
0
0
4
0
0
0
0
0
-9
0
0
0
0
0
-20
65
0
0
2
0
0
45
5
0
33
-9
0
0
-17
16
0
0
-2
0
0
0
11
0
0
5
0
0
8
33
0
0
-6
0
0
0
-5
0
-30
0
0
0
0
-15
0
0
7
0
0
0
-53
0
-6
0
0
0
0
63
0
0
0
0
0
-10
18
0
0
0
0
1
0
-8
0
0
7
0
0
0
-39
0
1
0
-4
0
9
-5
1
0
-4
2
0
0
7
5
0
-3
0
0
0
-139
0
0
0
0
0
0
25
0
0
0
0
0
0
-43
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
2
0
-30
0
5
-2
1
0
-2
-4
0
-2
-2
-4
0
0
-6
0
0
5
3
0
0
-6
0
-1
0
2
0
0
-1
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
19
0
4
3
0
0
0
11
0
0
0
58
0
0
0
0
0
19
0
0
0
0
0
-91
0
0
0
0
0
0
-5
0
0
0
0
-11
-8
0
0
13
-11
0
30
0
0
0
7
0
10
-18
1
1
0
29
2
-3
73
-9
0
0
-5
3
0
-119
43
0
6
5
3
3
16
0
0
0
14
0
-25
1
0
0
0
0
0
-48
0
0
3
0
0
0
1
0
-57
-8
-2
0
0
0
-5
-14
0
0
5
0
0
-1
0
0
68
-2
35
0
-14
40
1
0
0
0
0
56
-40
0
-2
3
0
0
29
-17
0
0
-26
-5
0
0
29
0
-76
-15
0
0
0
-90
0
0
0
0
-13
0
53
-1
0
0
0
0
0
-6
0
0
0
0
0
0
-140
0
0
0
0
0
0
43
0
0
4
0
0
-8
-25
0
3
-9
21
0
-3
51
0
-4
24
0
0
0
-157
0
-4
-11
0
0
-2
-11
0
0
0
0
0
0
90
0
0
0
3
8
0
60
0
0
0
0
-4
0
49
6
0
0
0
0
0
5
0
-44
0
0
0
-1
-14
0
5
0
0
0
0
-98
0
-31
53
-6
0
1
-1
0
4
-4
0
0
0
-7
0
-15
1
0
0
0
7
0
-1
0
19
0
0
-24
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
-19
1
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
-30
0
0
0
0
0
70
0
0
0
0
0
0
-3
0
0
0
0
-6
0
0
0
48
0
0
-40
0
0
0
5
0
0
10
0
0
0
-23
0
-1
-57
0
0
0
-1
0
1
-5
0
0
0
62
0
0
-6
0
0
0
-39
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
-21
35
0
0
2
0
0
3
0
0
13
74
0
0
13
27
0
0
-13
0
0
9
51
0
0
-6
0
0
0
29
0
0
-10
0
0
0
-51
0
23
5
0
0
0
-21
0
0
0
0
0
0
-8
0
0
0
0
0
0
-71
0
0
0
0
0
0
-43
0
0
0
0
0
0
-73
0
0
-23
0
0
0
1
0
0
32
0
0
0
-29
0
0
-81
0
0
0
0
0
0
-8
0
0
0
-56
0
0
0
0
0
0
-46
0
0
0
0
0
0
75
0
0
0
0
0
0
-15
0
0
0
0
0
0
9
0
0
0
0
0
0
43
0
0
3
0
0
0
-28
0
0
1
0
0
0
3
0
0
98
0
0
0
25
0
-25
-3
0
0
0
-1
0
0
0
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
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
-45
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
-5
-14
0
34
0
0
0
0
0
0
-9
0
0
0
43
0
0
26
0
0
0
2
0
0
43
0
0
0
-11
0
0
1
3
0
0
72
0
0
0
-1
0
0
5
0
-2
0
0
0
0
0
0
0
0
48
0
0
0
0
0
-1
-47
0
0
-7
0
0
-3
1
0
-33
46
-33
0
-23
33
0
0
-16
0
0
0
-14
0
0
-25
0
0
-1
90
0
0
34
0
0
0
29
0
98
7
0
0
0
-53
0
0
0
0
0
0
-13
0
0
0
0
0
0
27
0
0
0
0
0
0
-20
0
0
0
0
0
1
-73
0
0
-3
0
0
0
-27
0
0
-4
0
0
0
21
0
0
-6
0
0
0
-54
0
0
-6
0
0
0
-50
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
11
0
0
0
0
0
0
6
0
0
5
0
0
0
-87
0
33
-1
0
0
0
-10
0
0
0
0
0
0
-51
0
6
11
0
0
0
-1
0
0
0
0
0
0
33
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
-53
-4
-37
13
-2
-14
0
-1
9
0
-81
6
-1
-4
0
0
14
-1
-18
-53
55
-1
-17
35
-89
-14
11
11
-3
-16
6
14
5
20
-11
2
-44
7
16
1
37
36
52
-7
-6
15
-65
-62
-52
-6
-34
-54
18
-94
-41
7
48
-1
-34
19
-43
-13
3
-7
2
-36
-37
3
12
2
4
36
25
-23
-3
11
-18
14
-77
40
-23
-24
-2
20
47
24
37
-3
20
-1
5
8
-1
-55
58
19
-1
69
12
-12
11
29
-40
-4
16
8
14
-13
30
-12
0
-44
-7
14
38
-70
29
-4
-56
61
5
-46
11
-15
-1
2
-7
28
-22
0
5
21
-2
4
19
-122
-11
0
0
-74
-50
-6
36
-6
4
-5
-9
-5
20
2
-2
-14
-11
-45
39
41
33
34
-18
-6
-8
13
-44
27
14
-6
-18
35
5
-17
22
61
-64
-19
7
-51
-10
8
3
-81
-6
-13
-12
-7
-55
-22
25
-18
-11
10
22
17
-9
1
-5
-17
55
1
7
-12
0
-4
-41
26
94
-20
4
-7
-17
13
0
17
31
-9
-2
32
3
72
-45
-9
-9
-16
-19
11
34
-3
28
25
53
4
-15
53
12
44
14
-6
-12
-9
-34
26
45
21
25
7
14
22
43
-6
5
-15
-29
19
7
19
24
-11
-3
-7
3
42
20
44
22
2
-16
-26
53
-13
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
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
22
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
5
-6
-45
0
0
0
-1
0
0
17
0
0
0
34
0
-9
42
-9
0
0
73
0
3
-90
0
0
0
-10
0
3
14
-7
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
2
1
0
0
0
0
0
3
0
0
0
0
0
-2
-1
0
-1
3
2
0
56
37
0
-1
20
-1
0
-10
-2
0
0
-14
1
0
-30
0
0
0
32
0
0
0
-67
0
10
-6
2
0
0
-42
0
0
2
0
0
0
36
0
0
0
0
0
0
65
0
0
0
0
0
2
29
-1
0
-4
-1
0
0
-13
0
0
1
0
0
1
-56
0
0
7
-2
0
0
15
0
0
33
-1
0
4
0
0
0
13
0
0
0
15
0
1
0
0
0
0
-48
0
0
4
0
0
0
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
10
-2
0
0
3
148
0
-4
0
0
0
2
13
0
0
-3
0
0
0
46
0
1
-1
4
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
42
0
8
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
-2
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
-59
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
3
4
0
-43
0
0
0
-4
0
0
-10
9
0
0
81
0
-10
57
-8
0
0
8
0
0
-57
0
0
0
0
0
2
-7
0
0
0
11
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
22
0
0
0
0
0
-8
0
0
23
6
0
0
17
-23
0
0
4
0
0
2
37
0
0
29
0
0
-5
43
0
0
-9
0
0
11
28
0
9
1
0
0
0
10
0
0
0
0
0
0
34
0
0
0
0
0
0
14
0
0
0
0
0
-4
7
0
0
0
0
0
0
-22
0
0
0
0
0
-1
-35
0
0
3
0
0
6
-56
0
-1
20
0
0
0
10
0
0
0
0
0
0
-59
0
0
0
0
0
0
52
0
0
0
0
0
0
-12
0
0
0
0
0
0
37
0
0
0
0
0
0
-6
0
-5
0
0
0
0
3
0
3
-1
0
0
0
5
0
-5
0
0
0
0
0
0
-2
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
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
-14
0
0
0
0
0
0
-2
0
0
0
0
18
0
0
0
1
-2
0
-41
0
0
0
-1
0
0
18
-2
0
0
-2
0
-2
-30
-7
0
0
-18
0
-3
-10
-1
0
0
9
0
0
-1
18
0
0
0
0
5
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
17
-3
-7
0
27
39
0
0
14
0
0
36
-70
0
0
-6
0
0
21
-41
0
0
32
0
0
0
-11
0
14
0
0
0
0
-18
0
0
2
0
0
0
-54
3
0
0
0
0
0
-37
0
0
0
0
0
0
8
0
0
-1
0
0
0
26
0
0
10
0
0
-18
15
0
0
-6
-1
0
0
-8
0
0
9
0
0
0
41
2
0
5
4
0
0
-65
0
0
0
0
0
0
33
0
0
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
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
25
0
-5
1
0
0
0
4
0
0
2
0
0
0
2
0
0
0
0
0
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
-86
0
0
-4
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
7
-16
1
0
0
7
0
3
10
3
-6
0
7
2
3
-113
31
0
-2
54
0
0
-5
0
0
6
-14
0
2
0
0
0
0
20
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
-10
-2
25
0
0
0
1
21
0
0
-2
0
0
-9
-14
0
-50
11
-3
0
-6
18
0
0
-5
0
0
8
-52
0
0
11
-1
0
5
-66
0
0
1
0
0
0
29
0
5
0
-9
0
0
-66
0
0
0
0
4
0
11
8
26
0
0
0
0
10
0
0
0
0
0
0
-55
0
0
0
0
0
0
50
0
-3
4
0
0
0
-42
0
0
-5
-6
0
0
-90
0
0
-1
20
0
0
-73
0
-3
8
2
0
0
-21
0
0
0
0
0
0
65
0
0
0
0
-5
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
1
0
0
0
0
-8
0
0
0
0
0
0
6
0
4
0
0
0
0
0
0
0
0
14
0
-4
1
0
56
0
1
0
0
-16
0
0
0
0
0
0
-15
0
11
0
0
-4
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
-7
0
0
0
27
0
0
0
0
0
44
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
2
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
-6
0
0
-2
0
0
-5
0
0
0
-17
0
0
-6
0
0
0
-17
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
59
-19
0
0
-5
-12
0
0
5
0
0
5
-11
0
0
-1
0
0
2
-23
0
0
53
0
0
0
16
0
-6
4
0
0
-6
2
0
0
0
0
0
0
-36
0
0
0
0
0
0
-26
0
0
0
0
0
0
-8
0
0
0
0
0
0
-18
0
0
-5
0
0
0
13
0
0
0
0
0
0
0
0
0
-14
0
0
0
-41
0
0
0
0
0
0
-8
0
0
-1
0
0
0
22
0
0
0
0
36
0
-17
0
0
0
0
0
0
-4
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
-4
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
0
-78
0
0
0
1
0
0
-9
0
0
0
-4
0
0
-5
0
0
0
-7
0
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
-32
0
0
0
0
0
0
-34
0
0
0
0
0
2
-6
0
-2
11
16
0
9
43
0
0
-30
0
0
-8
-5
0
0
-2
0
0
0
48
0
0
-25
0
0
13
-33
0
-47
0
0
0
0
30
0
0
0
0
0
0
-73
0
0
0
0
0
0
-10
0
0
0
0
0
0
-25
0
0
3
0
0
0
-34
0
0
1
0
0
0
16
0
0
-7
0
0
0
-24
0
0
5
0
0
0
11
0
0
-2
0
0
0
39
0
0
0
0
0
0
43
0
0
0
0
0
0
17
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
-1
0
0
0
0
9
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
23
0
0
0
0
0
0
-15
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
5
0
-42
0
0
4
0
0
-78
0
0
0
0
0
0
3
0
0
0
0
90
2
0
0
-21
-89
-42
-19
-2
0
0
-10
0
2
27
8
0
0
-76
3
-107
-63
110
-7
0
-10
18
-44
-3
-9
0
0
-40
0
-14
3
0
5
-14
62
-1
9
1
45
-2
0
22
0
-218
0
-1
44
0
6
5
-7
0
9
-2
-2
0
-10
0
31
-1
0
0
-5
0
0
-25
15
0
22
-7
1
0
-41
57
0
0
-78
0
0
8
-37
0
0
-2
0
-4
-4
7
0
0
-28
7
-10
31
16
0
-40
-45
6
14
0
-18
0
0
34
48
1
0
31
70
52
0
0
0
0
-50
0
0
3
-1
0
0
89
0
-3
-106
17
-5
6
28
0
0
40
0
23
3
-83
-6
-3
20
-11
-1
13
-88
-10
0
-44
-3
-3
1
-58
-3
0
-70
60
0
0
-37
-2
0
24
39
-155
-4
-15
0
0
-5
-1
-54
0
38
0
0
0
9
-7
0
1
0
0
0
0
0
0
-86
0
-27
-2
3
7
0
-14
0
-1
46
3
0
0
-6
5
55
-5
-5
0
0
-33
-4
-3
11
-5
0
-18
-5
4
3
4
-10
1
0
-85
0
0
-13
0
20
0
-65
0
-4
0
0
-2
0
-141
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
-24
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
73
-3
0
-18
0
0
0
0
0
0
-17
0
0
0
7
-2
0
31
2
0
0
-4
0
2
1
1
0
-3
9
0
16
-38
0
0
4
-3
0
-1
0
0
0
0
1
0
-20
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
3
0
0
35
5
4
0
-25
-32
0
0
-11
0
0
2
3
0
0
32
3
0
-1
66
0
0
2
0
0
-9
0
0
78
-61
0
0
6
-55
0
-3
2
0
0
0
7
0
0
0
0
0
0
-35
0
0
0
0
0
0
-45
0
0
0
0
0
0
-63
0
0
9
0
0
0
67
0
0
8
-1
0
0
33
0
0
-8
-1
0
0
66
0
2
-4
-16
0
-6
0
0
-1
0
0
0
0
26
0
0
0
0
-3
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
-3
4
0
0
0
-42
0
0
-1
0
0
0
-1
0
0
0
1
0
0
-32
0
2
0
0
0
0
0
0
7
0
0
0
0
-62
0
19
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
13
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-7
0
66
0
0
0
11
0
0
-5
0
0
0
-4
0
0
15
0
0
0
0
0
-1
14
0
0
0
-12
0
-5
-9
0
0
0
0
0
6
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
11
-9
8
0
-14
44
0
0
10
0
0
3
37
0
0
0
0
0
0
-63
0
0
-10
0
0
0
-59
0
-5
0
0
0
0
-3
0
0
0
0
0
0
-27
0
0
0
0
0
0
65
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
8
0
0
0
-14
0
0
5
0
0
0
-3
0
0
-3
0
0
0
-31
0
0
0
0
2
0
3
0
0
0
0
0
0
17
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
-11
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
14
-26
0
0
0
1
0
0
0
5
0
0
0
0
0
71
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
14
-1
0
0
0
0
0
29
0
0
2
0
0
0
0
0
-1
0
5
0
6
33
0
0
1
0
0
4
-39
0
0
-5
0
0
-8
23
0
0
-2
0
0
0
-26
0
-4
4
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
34
0
0
0
0
0
0
5
0
0
0
0
0
0
16
0
0
4
0
0
0
-18
0
0
10
0
0
2
21
0
0
0
0
0
0
-19
0
3
0
0
0
4
53
0
0
0
0
0
0
-5
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
9
0
0
0
-1
0
1
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
92
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
-5
0
-2
69
0
0
-1
0
0
0
0
-1
8
11
0
-1
47
-27
25
-14
0
0
21
1
-16
-45
21
-3
0
3
14
3
-25
61
-1
0
8
21
-1
-14
14
2
2
20
-18
-1
66
-46
0
3
-29
40
-79
-58
48
0
-5
-3
-61
-60
53
51
9
0
-1
39
-15
0
-4
-77
0
0
-75
-20
0
-7
-45
-71
-4
-45
0
-3
-19
0
0
6
-2
37
-3
-8
1
8
9
19
-13
-19
-28
-4
0
-6
30
-50
-8
-27
0
22
36
12
92
36
2
0
0
25
-10
0
7
-1
0
-45
5
-4
0
45
52
3
-6
0
1
-77
0
1
-80
35
0
0
0
0
-13
-21
0
14
12
17
90
-18
-15
-5
71
-16
-13
-45
-15
-3
0
2
28
12
3
-18
2
4
-1
22
-14
-16
10
36
-11
13
54
-9
1
-16
9
-9
7
-47
9
-45
-9
-5
2
-2
15
24
-2
15
-1
-6
-1
-33
-50
0
-1
-3
0
0
-34
-28
-1
7
-4
1
-2
10
-1
43
-22
1
54
-65
62
4
9
-4
0
15
-130
-45
-16
-14
-14
-25
14
74
-33
39
21
10
2
-3
10
-41
12
30
26
-6
61
-74
-14
23
-3
32
-2
-4
-10
-43
17
0
17
7
-19
-3
-49
-56
0
8
-32
-1
-1
43
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-3
7
4
-1
0
0
0
3
0
0
4
1
0
0
46
0
1
40
0
0
0
0
0
-11
1
0
0
0
-2
0
-1
-1
0
0
0
-10
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
3
0
-31
0
0
0
0
0
0
-57
0
0
0
0
0
-3
18
0
17
-14
0
0
-5
48
0
0
0
0
0
0
-91
0
0
-2
0
0
0
-76
0
0
1
0
0
0
-16
0
-37
-5
0
5
0
-24
0
0
-3
0
0
0
42
8
0
0
0
0
0
-32
0
0
0
0
0
0
13
0
0
-5
0
2
-1
1
0
0
21
0
0
-3
0
0
0
-2
0
0
3
-3
0
0
-13
0
0
0
-36
0
0
30
0
0
9
18
0
0
5
0
0
0
-76
0
0
0
0
0
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
-6
0
0
0
0
0
24
-6
0
-2
-3
0
0
0
-29
0
-2
-5
0
0
0
54
0
0
0
0
0
0
26
0
6
-3
0
0
0
-4
0
0
2
0
0
0
-14
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
49
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-4
0
53
0
0
0
0
0
0
18
0
0
0
-3
0
0
-16
0
0
0
-8
0
0
-43
0
0
0
5
0
0
-4
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
-26
0
0
0
0
0
-1
-10
0
21
-37
9
0
-14
30
0
0
25
0
0
-8
-43
0
0
2
0
0
-3
13
0
0
55
0
0
0
-52
0
-23
-1
0
0
0
49
0
0
0
0
0
0
30
0
-2
0
0
0
0
-34
0
0
0
0
0
0
-3
0
0
0
0
0
0
24
0
0
2
0
0
2
-37
0
0
-3
2
0
3
-43
0
0
-11
0
0
0
88
0
0
-1
0
0
0
34
0
-2
9
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
22
0
0
0
0
0
0
-2
1
1
0
0
0
0
11
0
0
0
0
0
0
-21
0
-4
0
0
0
0
9
0
0
0
0
0
0
-19
0
2
-10
0
0
0
-10
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
12
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
-13
0
0
0
0
0
48
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
-4
0
0
0
0
-45
0
0
0
0
0
0
24
0
0
0
0
0
0
-6
0
0
0
0
0
0
-11
0
0
4
0
0
0
0
0
0
1
0
0
0
10
-6
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
-4
0
0
0
15
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
-18
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
59
0
0
0
0
0
0
-17
0
0
0
33
0
-3
-11
0
0
0
0
0
0
-14
0
0
0
1
0
0
43
0
0
0
-35
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-11
7
2
0
11
35
0
0
-1
0
0
0
-32
0
0
-16
-1
0
0
-12
0
0
0
0
0
0
-30
0
-31
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
33
0
0
0
0
0
0
-11
0
0
0
0
0
0
-33
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
29
0
0
0
0
0
0
8
0
0
0
0
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-11
0
3
0
0
0
0
25
0
0
0
0
0
0
0
0
37
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
4
0
0
0
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
-27
0
0
0
0
0
0
0
0
-10
0
0
0
1
47
0
0
0
0
0
2
-23
0
0
0
0
0
0
33
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
13
0
0
0
0
0
0
11
0
0
0
0
0
0
13
0
0
0
0
0
0
7
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
2
0
0
0
102
0
0
0
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
-7
-5
-40
-21
-99
-72
31
6
8
-2
7
-5
3
-9
0
2
33
23
-15
-4
-2
-40
40
-53
19
-2
-11
0
1
42
8
-2
3
-54
-1
-32
47
45
36
-16
97
-1
17
-20
22
8
-15
12
-9
-63
-45
54
-2
-10
11
3
-6
18
-44
-8
-15
18
16
14
-2
27
-41
8
11
-7
5
0
9
16
-47
-16
16
-13
-3
14
0
7
-1
-6
-8
-3
37
-10
-3
-105
2
36
-2
-36
7
3
-34
29
-40
1
35
36
-4
133
-54
-29
-2
-1
16
39
45
-6
8
-4
-49
10
9
40
-7
1
0
21
0
-1
71
-4
-11
-1
9
-3
51
-15
15
-1
-3
33
-1
42
-43
7
-1
-2
-26
-5
8
-31
-7
-33
-6
13
-47
11
-5
-24
10
-2
-88
-14
6
10
-8
-35
-5
-11
0
-6
2
-26
-22
1
39
7
3
-12
6
-14
-5
27
-36
-30
-82
8
0
-3
-23
45
-54
3
-35
-15
3
-44
60
24
-29
-43
-33
-7
25
-28
-10
2
-44
-34
-16
2
14
45
2
25
30
-19
19
4
-27
71
62
48
-2
61
18
11
7
20
-4
-41
-26
15
-80
44
-41
-38
9
-6
-18
-6
0
-14
35
1
25
72
-58
-6
-8
-2
-2
-17
11
-21
-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
0
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
-32
0
0
59
0
0
0
5
0
0
-1
0
0
0
52
0
0
-16
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
-25
0
0
0
0
0
0
10
0
0
0
0
0
0
10
0
-5
0
-1
0
-2
-3
0
0
-1
0
0
0
18
0
0
0
0
0
0
-13
0
0
0
0
0
0
53
0
-45
0
0
0
0
5
0
0
0
0
0
0
-33
0
33
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-43
0
0
0
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
42
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
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
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
-37
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
-14
0
0
0
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
18
0
0
0
0
0
0
11
0
0
11
0
23
11
0
0
77
-56
0
9
0
0
0
-2
0
0
-62
-6
2
0
-2
-34
0
65
18
0
0
32
0
0
31
9
0
1
-53
-2
0
-55
-7
0
0
-48
-2
0
10
-6
0
0
0
0
0
0
0
4
0
0
0
0
0
-45
-24
-4
0
-8
0
23
12
0
0
48
0
0
-25
-59
0
98
-12
-13
0
58
47
0
0
36
0
0
-63
1
0
-1
97
-3
0
-61
32
1
0
48
-8
0
-2
23
0
1
19
0
0
-1
34
10
0
0
0
0
0
19
-5
19
0
0
0
0
-18
0
0
0
0
0
2
12
0
7
8
2
0
15
-3
0
0
83
-1
0
-5
12
2
0
59
56
0
0
5
0
-2
-56
-9
0
0
10
0
-1
-47
-25
0
0
8
0
-1
-16
0
0
0
-2
0
0
0
-6
0
0
11
-10
0
0
0
0
0
43
6
0
0
3
0
-1
15
0
11
3
0
0
-2
-14
0
0
-3
-43
0
4
-85
0
57
-5
0
0
0
-62
0
-1
-13
0
0
0
-13
0
-52
-37
0
0
0
-3
2
-2
7
21
0
0
35
0
-11
0
0
0
0
29
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
16
-34
77
-44
-4
27
-22
-69
-32
-13
-6
-2
2
-2
3
-27
4
14
3
-13
-1
2
-15
35
-60
-2
16
-2
-1
-38
-23
-69
18
37
-3
20
-59
-55
8
-8
-54
13
8
-88
-34
-17
-10
26
32
-4
-44
48
-37
-12
3
4
25
28
18
-14
-8
42
47
34
-1
-59
58
42
18
-22
-33
1
45
-11
-13
34
-88
-1
-1
-16
1
2
0
33
3
-2
79
-49
0
28
-26
-8
-1
-19
-14
11
-18
-35
-2
-5
-20
-69
7
8
4
2
-1
5
-10
17
11
-35
-22
-3
-32
42
-7
-95
-4
-1
-3
15
41
-23
20
-43
-28
0
-58
-59
-25
-7
-14
-5
-35
-91
-57
20
17
-25
-5
-2
-78
-25
2
30
-12
-17
-3
-21
-90
6
-20
-5
18
-4
-22
23
5
12
12
12
1
-32
-9
-7
6
-15
-10
-4
58
70
-1
49
4
6
-4
-24
-15
9
-19
3
-6
1
4
16
-67
-14
1
9
10
29
-29
31
41
-90
-28
-14
35
-10
7
-47
13
-15
0
2
-9
-30
9
50
15
-19
-20
-10
-13
-43
-43
-43
-6
-16
8
18
-23
-7
-20
-4
59
3
22
-1
70
1
-18
-22
-43
-23
4
12
76
1
6
4
24
-9
-2
-9
8
-2
10
-6
-71
-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
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
10
3
0
0
2
-3
0
0
2
0
0
0
-33
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
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-21
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
-14
0
0
0
0
0
0
0
0
0
0
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
17
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
-25
0
0
0
0
0
0
-59
0
0
1
0
0
0
8
0
10
-8
1
0
2
-13
0
0
1
0
0
1
17
0
0
0
0
0
0
53
0
0
2
0
0
0
-56
0
0
0
0
0
0
4
0
0
0
0
0
0
-14
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
-3
0
0
9
0
0
0
0
0
5
4
0
0
2
0
0
0
7
0
0
-7
0
0
0
-21
0
0
9
3
0
0
31
0
0
0
0
0
0
3
0
0
0
0
0
0
22
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-50
21
0
-12
0
0
0
-6
0
0
-36
0
0
0
3
0
0
-4
0
0
0
-5
0
1
-3
0
0
0
-2
0
0
-11
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
29
0
0
-1
0
0
5
4
0
-4
13
14
0
22
32
0
0
13
0
0
1
-20
0
0
-6
0
0
9
65
0
0
12
0
0
0
10
0
-4
0
0
0
0
-1
0
0
0
0
0
0
-37
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
26
0
0
0
0
0
0
13
0
0
13
0
0
0
-35
0
0
26
0
0
0
23
0
0
14
0
0
0
-61
0
0
0
0
5
0
0
0
0
0
0
8
0
-100
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-23
6
0
0
-2
0
0
0
7
0
0
0
0
0
0
10
0
0
0
0
0
0
-17
0
-3
1
0
0
0
6
0
0
0
0
0
0
-35
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
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-127
-39
-82
-102
1
0
0
22
0
47
109
6
0
0
34
45
1
13
7
0
0
-33
0
-10
-32
-3
0
0
-66
0
-14
-58
0
0
0
-19
-1
16
0
0
0
0
15
0
-37
0
5
0
0
0
0
-1
0
-73
0
-2
0
3
0
-13
-27
0
0
-46
0
0
65
4
0
-45
-34
-48
0
-42
-12
0
0
57
0
-1
-8
21
0
0
28
-6
0
-18
-10
5
-1
-67
-6
0
0
-3
0
-62
12
0
0
-3
-18
0
0
-3
0
-2
0
-37
0
-2
0
0
0
0
-64
0
0
0
1
0
0
69
0
2
0
3
-2
-1
21
0
0
-3
0
0
4
-57
0
0
31
-28
6
6
45
0
0
1
9
0
0
29
0
0
-20
-4
-2
0
3
1
0
-57
0
-80
0
-30
0
2
-1
0
-3
0
-32
0
0
0
0
0
0
39
0
0
0
0
0
0
-90
0
-19
1
0
2
0
28
0
0
3
-1
0
0
-79
0
8
1
0
0
0
-53
0
-6
-24
2
0
0
-54
0
-10
-13
0
0
0
32
0
0
10
-5
0
0
-45
0
0
0
0
8
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-33
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
-17
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
7
0
87
0
0
0
0
0
0
-3
0
0
0
0
3
0
69
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
-44
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
-51
0
0
0
0
0
1
2
0
-3
-3
0
0
-1
13
0
0
0
0
0
0
55
0
0
-2
1
0
0
80
0
0
-9
0
0
0
-36
0
3
-1
0
0
0
-3
0
0
0
0
1
0
8
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
92
0
0
0
0
0
0
-16
0
0
-1
0
0
0
11
0
0
5
0
0
0
33
0
0
-2
-11
0
0
-47
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-2
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
-11
0
0
0
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-79
0
0
0
-2
0
21
7
0
0
0
-7
0
3
-42
0
0
0
0
0
-1
-2
0
0
0
6
0
-5
0
0
0
0
-59
0
0
0
10
0
0
0
0
30
0
0
0
0
0
0
0
0
53
0
0
0
0
0
-3
-7
0
0
0
0
0
20
-20
0
4
-88
7
0
-14
-24
0
0
0
0
0
0
15
0
0
-2
0
0
0
-34
0
0
10
0
0
0
-32
0
53
2
0
0
0
-16
0
0
0
0
-5
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
-20
0
0
25
-5
-3
0
-117
0
0
1
0
0
0
4
0
0
20
0
0
0
-30
0
0
-18
0
0
0
-28
0
0
-5
0
0
0
-26
0
0
0
0
0
0
-51
0
0
0
0
-1
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
-36
0
0
-14
0
0
0
14
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
-15
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
24
0
0
43
0
0
0
7
0
0
6
0
0
0
-7
0
0
29
-11
0
0
-19
0
0
77
0
0
0
-5
0
0
6
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
46
0
0
0
-3
0
3
71
0
0
0
0
0
-1
0
0
-46
1
-170
0
1
1
0
0
-36
0
0
7
-47
0
0
-1
0
0
1
0
0
0
104
0
0
0
5
0
-36
-3
0
0
0
32
0
0
0
0
0
0
-40
0
0
0
0
0
0
-57
0
0
0
0
0
0
-15
0
0
0
6
0
0
-52
0
0
-2
0
0
0
70
0
0
-14
-1
0
0
1
0
0
7
0
0
-1
-38
0
0
0
0
0
0
44
0
0
-2
0
0
0
-53
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
-43
0
9
5
0
0
0
5
0
0
3
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
-10
0
-1
0
0
0
0
7
0
0
0
0
0
0
54
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
26
37
-9
0
-11
-5
-32
32
14
-4
0
71
2
-58
34
1
0
0
24
9
-71
48
2
0
0
8
43
2
-2
20
-2
0
-5
0
17
0
0
-2
0
0
-3
-14
0
-18
-26
63
21
19
0
0
-4
0
0
-59
-4
0
0
-34
0
-54
-35
-121
0
-6
-39
1
0
99
2
0
34
40
0
0
1
-77
0
-40
26
0
3
-4
1
0
3
-3
0
-71
-1
-8
0
0
17
0
0
-17
0
-126
0
0
54
25
0
0
-20
0
-9
0
0
0
14
0
0
58
0
0
-38
-48
0
6
38
0
3
-3
5
18
25
-103
0
9
-8
79
-33
23
6
0
3
-21
-72
46
0
19
0
-2
-16
-78
-15
-3
17
10
0
45
-1
22
0
15
-9
0
-22
-7
18
0
-6
-4
0
0
0
-1
0
-49
0
0
0
0
0
0
-89
0
33
15
2
-4
0
-45
-2
3
57
40
-1
1
40
0
1
50
11
8
0
20
0
-15
28
-74
0
0
15
0
52
4
-2
15
0
69
0
0
-9
-2
-15
0
59
0
7
5
0
-14
0
36
43
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
-21
15
0
0
21
0
-3
24
-2
0
0
64
40
28
-8
48
3
0
5
2
3
-53
-3
0
0
69
0
41
-4
0
0
0
-43
-1
-6
0
-4
0
0
14
0
-23
0
0
-1
0
0
0
14
0
39
6
3
-2
0
0
-10
0
0
3
22
-6
0
-1
-20
0
2
-79
17
0
15
27
0
0
17
7
0
-17
-24
10
0
8
-5
-1
-51
29
-1
0
-29
0
0
0
-5
0
34
76
-1
0
0
-22
0
0
-3
0
22
0
-36
-3
0
0
0
0
0
-32
0
0
0
0
0
-2
0
0
0
5
21
-17
-6
-76
0
0
71
0
-1
0
71
0
0
-30
39
0
-18
4
0
-6
-41
18
7
0
-33
0
2
-6
-78
-1
0
4
0
2
-16
0
0
0
47
0
3
-9
-4
59
0
-20
0
-1
0
5
0
0
-102
0
0
9
6
0
0
0
-11
-1
-1
-3
0
0
-19
0
0
33
0
0
7
19
0
-30
-14
-7
0
0
0
0
14
1
32
0
0
57
0
27
-4
-4
-1
0
-69
2
-1
-21
5
0
0
-32
0
-43
1
0
-34
0
23
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-9
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
21
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
-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
25
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
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
9
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-5
0
0
0
0
14
0
0
0
0
0
0
1
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
14
0
0
0
0
0
0
9
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
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
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
36
22
81
-11
-2
-13
54
-10
-5
62
59
-5
5
-33
18
-24
65
-4
7
20
-15
31
-15
-5
-24
6
10
-43
38
1
13
-3
0
-81
23
43
-3
22
36
-1
-9
-53
39
1
7
-33
-152
0
14
0
-67
-13
0
0
55
-4
-14
-69
1
-2
-37
22
20
-7
-14
6
11
0
119
26
-6
-7
13
0
0
13
25
-9
17
18
0
7
16
-38
14
-23
-1
0
-6
33
-10
32
-20
-20
0
-1
27
-45
-31
0
-2
-15
-64
0
-11
0
0
-17
7
0
0
-11
0
-25
-9
0
-1
0
8
15
-40
-3
0
-2
30
49
20
-15
29
-3
-9
24
-46
4
20
4
45
46
20
16
18
-35
15
2
26
31
-24
-7
-5
-33
-6
-27
-25
-49
33
-5
-7
-2
-24
-37
-81
33
0
-4
15
0
-15
-65
9
-1
-9
-19
0
-1
-60
-2
-2
-49
-1
-99
0
51
27
-53
-38
-2
22
5
-8
-24
-17
33
2
-27
-27
28
0
0
-50
0
37
-31
-43
24
0
-15
0
-71
21
92
-2
0
-67
0
-3
-8
-14
28
5
11
0
70
-45
-65
29
0
14
-54
0
15
-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
2
0
0
0
-10
0
13
-72
0
0
0
1
0
-14
7
66
0
0
-99
0
3
3
-11
13
0
13
0
28
-44
3
0
0
-11
0
-1
-80
-11
0
0
16
0
-2
0
10
-70
0
-2
0
-82
1
7
-45
-83
-9
0
0
49
14
0
0
-12
0
0
6
-31
0
-27
-6
0
43
13
-1
0
0
22
0
-52
-51
-6
0
0
-12
0
-46
26
0
0
0
10
0
3
5
4
0
1
-9
0
-4
4
-35
0
0
-18
0
-11
0
4
-41
-42
-1
0
0
0
-13
-67
0
0
14
19
90
-35
0
0
-78
0
15
33
6
0
0
20
0
10
76
-13
0
0
-35
9
-9
15
25
-6
-2
17
32
19
-43
-21
0
-2
5
29
22
-10
-13
0
-2
66
18
4
14
-14
0
0
-14
0
0
0
-5
-3
0
53
0
-5
0
-8
21
0
0
0
2
0
-11
0
12
2
0
1
0
-2
0
3
-60
0
-21
8
29
-1
-10
2
-14
40
-15
17
-5
-7
-13
17
43
1
3
6
-8
-14
0
10
0
-32
0
1
25
0
30
0
-27
0
10
-10
0
-9
0
-16
-12
8
23
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
8
-2
0
-31
0
0
0
49
-21
0
13
60
0
0
-5
-1
0
35
-9
0
0
-27
-4
0
38
14
0
0
49
-20
0
-5
49
0
0
-6
-3
-11
0
0
5
0
0
-4
0
0
2
2
3
0
-11
0
-128
-16
0
0
11
-8
0
21
-38
0
42
46
29
0
16
40
0
0
37
8
0
5
-4
0
0
59
-3
0
32
4
0
0
18
13
0
-1
22
0
-25
20
-6
0
-14
1
0
0
48
-3
0
0
2
-3
29
0
0
0
0
-23
0
0
32
-3
0
-4
15
0
6
7
-44
0
4
4
0
0
7
-25
0
2
47
0
2
23
82
0
26
9
0
0
-23
53
0
2
6
3
4
30
-12
0
98
1
0
0
27
119
0
8
8
0
0
-3
-2
0
0
-9
-7
0
-1
53
0
2
-15
13
5
0
16
0
9
-22
0
-9
-38
-4
0
18
-49
0
-10
-53
8
0
1
44
0
43
56
-1
0
0
-49
0
-3
-30
8
0
0
-23
0
-7
100
-1
0
0
-88
0
0
-46
-19
0
1
38
0
-41
-9
0
0
0
2
-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
-107
-68
1
-44
0
7
-56
-9
67
6
-55
-4
-48
-14
-3
6
9
-36
-9
12
-41
13
2
-14
5
-15
-13
21
79
3
-8
2
-11
6
11
0
3
41
13
-20
95
-45
-1
4
-94
-51
3
-10
0
-14
-1
0
18
30
-29
9
-25
22
-1
17
6
-16
0
-7
0
8
43
-6
68
21
-44
-4
-26
8
5
-4
50
-42
0
-66
32
-4
-91
-95
-25
-3
15
1
-22
-23
-56
-97
-42
54
-2
-57
6
9
0
-3
-11
-11
1
42
21
-2
12
-51
1
10
-5
34
-8
-6
-71
-6
-37
97
-41
13
9
-6
30
-10
35
-35
-27
1
-45
23
7
25
3
18
-10
103
78
12
38
44
-31
-6
6
-31
-22
3
-50
-95
1
-32
-65
-6
-82
0
9
-1
-4
-102
-42
14
9
0
-2
32
-18
-1
-30
35
0
-17
-3
-1
-10
-33
-6
-5
-18
-14
50
82
25
-46
43
-4
-2
64
-8
-18
37
-14
-9
3
-10
30
3
-9
-36
-18
6
-14
30
33
29
-20
15
2
-51
14
-74
-53
-6
-10
15
-67
21
-7
33
-2
-3
0
-4
-12
-23
3
-1
-4
36
-21
-13
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
43
-4
0
0
2
0
-5
40
-6
0
0
-33
3
0
49
-1
0
0
10
0
0
4
6
0
0
30
0
-3
0
-8
0
0
0
0
21
0
0
0
0
0
0
0
0
16
0
0
0
6
0
0
-40
0
0
0
0
0
13
0
0
5
20
0
0
-20
3
0
1
-5
0
0
-1
1
0
0
2
-1
0
0
9
0
0
-1
0
0
0
9
0
0
3
0
0
0
39
0
0
0
0
0
0
56
0
-7
0
0
0
0
-27
0
0
0
0
0
0
34
0
0
0
0
-1
-8
0
0
0
9
0
-3
17
12
0
0
42
-4
13
5
-7
1
0
2
2
1
0
-36
0
2
-25
0
0
-6
30
0
0
-1
0
0
0
0
0
-1
0
2
6
0
5
0
0
0
0
0
0
-17
2
0
3
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
-6
0
0
-16
0
0
14
0
0
0
-8
0
5
20
0
0
0
30
0
4
-8
0
0
0
-1
0
0
0
0
0
0
23
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
-5
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
-53
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
3
0
0
0
-9
-29
0
0
0
0
0
0
19
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
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-21
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
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
-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
-31
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
13
0
0
0
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
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
15
-2
2
1
7
50
-3
9
77
0
-1
24
-2
-1
7
5
0
0
5
-23
-52
6
0
0
0
42
-9
-45
0
-5
0
0
-21
0
-24
0
0
33
0
0
-1
6
0
11
32
19
0
-15
0
-5
21
-1
0
0
0
0
5
-6
0
-75
-32
-35
0
-30
-28
0
5
-23
2
-64
-64
13
0
0
37
31
26
44
5
-6
-6
15
0
0
23
-3
0
-12
27
34
0
0
-3
0
5
-23
-1
-79
0
-19
-19
-25
0
0
0
0
7
1
0
0
0
0
-4
18
-1
0
0
-40
83
5
3
0
0
-5
6
-1
-5
-19
-1
1
1
-36
64
27
-13
0
-3
-8
-7
-14
22
-8
8
0
23
79
22
45
-27
0
0
-68
27
-51
-4
-12
10
21
-32
-8
-44
0
-4
-5
0
0
-2
-7
0
2
3
0
0
28
0
0
62
-1
50
0
-35
13
-31
16
0
11
0
-6
0
45
-30
0
-39
-17
-5
5
-8
-59
0
-8
13
-24
0
0
5
0
-14
34
-2
-7
0
3
0
0
10
99
23
0
2
0
0
-8
0
43
-7
-3
22
4
-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
15
6
0
0
-32
0
-17
-32
0
0
0
0
0
-1
-17
0
0
0
41
0
0
-10
0
0
0
19
0
0
0
0
0
0
0
0
-53
0
0
6
0
0
0
0
0
82
0
21
0
0
0
-2
-30
0
0
0
0
0
-22
0
0
14
-26
0
0
-3
-36
0
0
0
0
0
0
30
0
0
6
0
0
0
8
0
0
-27
0
0
0
19
0
-6
7
0
0
0
-52
0
0
13
0
0
0
-37
0
0
0
0
0
0
-18
0
0
0
0
0
0
32
0
0
26
0
0
0
-28
0
0
0
0
0
0
54
0
0
14
0
0
0
0
0
0
0
0
0
0
35
0
0
-2
0
0
0
30
0
0
2
0
0
0
-13
0
0
-1
0
5
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
-10
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
16
0
0
0
0
0
0
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
41
0
0
0
34
71
0
-20
0
0
-1
-10
0
0
13
0
0
0
-51
0
0
32
0
0
0
-6
0
0
0
0
0
0
11
0
-3
0
0
-45
0
0
0
0
0
5
3
-4
0
28
0
7
67
0
0
44
2
0
-74
-39
0
-51
-104
13
0
-55
-22
0
0
-7
1
0
55
-5
0
0
47
-1
0
-16
-3
0
0
18
0
0
-7
0
0
-55
44
7
0
-8
-13
0
0
50
0
0
0
0
-1
-7
0
0
0
0
1
0
0
-3
0
0
0
79
0
0
-21
32
0
-10
-26
0
0
-37
0
-7
-20
-1
0
0
-37
-1
0
-6
23
0
0
17
-19
0
7
17
0
0
-40
33
0
0
4
0
0
-19
6
0
0
20
0
0
-3
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
1
0
0
50
0
6
-11
-10
0
-4
-43
0
-3
-9
-2
0
0
2
0
-30
-25
24
0
0
18
0
3
-20
-15
0
0
-61
0
6
-20
26
0
0
28
0
0
3
-2
0
0
24
0
-29
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
0
5
-3
14
-54
-59
-10
0
-1
-4
1
43
7
84
1
5
-19
34
-36
-1
42
-4
-1
-43
0
-27
0
7
25
0
0
31
41
0
-20
12
53
-6
-40
0
-3
-1
0
0
44
5
11
-35
-16
-3
-25
-38
-103
-5
29
-13
7
8
15
5
-3
96
-61
0
16
-1
22
-3
-8
-11
0
-1
-8
34
17
8
0
0
-31
-19
-8
3
-2
-4
-1
0
-99
-7
-43
0
-4
-2
52
0
0
0
0
-26
45
0
-14
0
0
21
-3
0
-7
-15
76
-30
82
51
2
2
-17
45
-29
-18
-10
0
-58
8
-40
14
24
-33
50
44
-44
-21
19
19
10
-5
65
-19
-4
20
-7
3
0
100
82
0
-39
10
-4
14
-5
-44
-47
-56
0
-28
1
0
1
-5
0
1
-8
-3
0
-2
31
0
0
9
-5
50
28
-4
48
1
23
-3
67
17
-53
4
0
4
0
27
-115
19
-11
2
-15
5
-16
-27
-37
-7
1
4
0
3
9
41
72
-4
9
2
-7
-23
44
-1
0
7
2
26
-5
0
-79
3
-30
20
-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
36
-21
0
0
-14
0
-26
-26
1
0
14
74
0
-6
46
-1
0
0
1
0
17
0
-8
0
0
2
8
14
0
0
-3
0
0
0
27
0
20
-8
2
0
0
0
-8
23
0
0
1
0
0
-25
42
0
-18
-7
-4
0
-4
0
-1
-9
89
0
0
25
24
0
0
5
0
1
-2
-15
0
-4
66
0
0
0
14
0
9
0
-2
0
0
-38
0
0
0
0
3
0
-25
3
0
0
0
0
0
-7
1
0
0
0
0
0
9
0
0
5
7
0
0
-58
0
0
5
0
0
26
0
0
0
43
-4
0
2
27
0
2
-24
0
0
-2
15
0
0
-21
0
1
0
3
1
0
30
0
-2
0
-38
0
0
-3
0
-22
0
21
1
0
0
0
0
0
25
3
0
0
0
0
0
-45
0
9
0
0
0
-4
-7
0
-10
-4
0
0
1
0
0
-8
-3
0
0
3
-118
0
8
6
6
0
0
-28
0
-5
5
0
0
0
12
0
1
0
3
-1
0
40
0
-8
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
40
-3
0
0
-2
0
0
-1
0
0
0
14
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
42
0
0
0
0
0
-9
0
0
19
15
0
0
-1
-37
0
0
-11
0
0
-8
-36
0
0
0
1
0
2
-12
0
0
1
0
0
0
-60
0
3
0
0
0
0
-8
0
0
-1
0
3
0
42
3
0
0
0
0
0
17
0
0
0
0
0
0
-8
0
0
0
0
0
1
30
0
0
0
0
0
-3
-3
0
0
-5
0
0
0
-29
0
0
0
0
0
0
-21
0
0
-6
0
0
0
25
0
0
8
0
0
0
7
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
-10
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
25
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
35
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
-53
0
0
0
0
0
0
-45
0
0
4
0
0
0
0
0
0
-1
0
0
0
5
0
0
-11
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
4
0
9
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
0
0
0
0
0
-39
0
0
18
0
0
0
-10
0
0
7
0
0
0
-11
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
-27
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
16
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
1
57
23
5
54
-28
13
-63
32
-5
6
-1
83
27
11
-43
0
0
-19
-114
-40
-14
41
0
0
-79
7
7
1
-9
39
0
0
5
-90
-3
5
-21
-31
0
-31
0
91
4
0
0
0
13
-6
8
-27
8
-6
-41
4
0
26
-2
2
0
-35
5
43
-93
2
5
-3
-18
14
-20
0
-2
0
0
26
16
-31
-98
2
0
1
-15
35
6
24
23
13
4
-23
-14
-7
0
2
-38
-76
-1
-1
3
0
-9
-74
0
3
32
-26
39
16
0
0
-7
23
-58
39
-3
0
2
0
-5
-18
-32
-22
-3
0
8
-64
47
106
-10
0
-13
8
-46
76
29
-13
1
19
21
12
14
45
-2
2
32
-11
57
-14
-2
16
0
0
35
23
-3
0
-4
8
4
29
-21
2
0
-9
5
0
0
-54
0
-4
-13
1
-5
7
-5
-5
2
-13
3
76
18
-16
59
-5
15
-24
-52
25
32
5
1
-37
-1
-16
18
-27
-42
6
-7
-6
-2
64
-36
-29
0
5
1
17
15
-4
-14
0
6
0
14
-30
-5
26
0
-16
-89
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
-48
-63
-3
0
0
-46
0
-1
24
4
0
0
-60
0
-44
0
-7
0
0
-5
0
-17
0
0
-16
0
0
0
-31
0
37
2
-4
0
0
0
20
-8
0
0
69
0
0
33
4
0
-13
52
0
0
6
-20
0
0
-49
0
1
8
-10
0
0
-33
0
0
81
-10
0
0
1
0
3
0
-9
0
19
-52
0
0
0
-50
0
0
-3
0
131
0
5
0
5
0
0
0
0
-11
0
0
0
0
0
0
-18
0
0
0
0
-15
35
-9
0
0
53
0
-1
-10
17
5
0
-27
0
0
6
11
0
0
-32
0
-3
-15
-38
0
0
55
0
0
9
-39
0
4
130
0
4
5
-73
0
-1
7
0
12
0
-29
0
0
0
0
0
0
-30
-6
0
0
0
0
0
9
0
-25
0
0
4
0
-63
0
0
-9
0
0
0
-22
0
14
53
0
0
0
55
0
6
-72
0
-1
0
2
0
88
-11
0
0
0
-51
0
0
-20
0
2
3
-6
0
21
-3
0
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
-16
3
0
18
10
2
7
-24
0
0
73
3
0
0
70
4
0
-2
34
0
0
3
-14
-1
0
-3
-33
0
0
1
0
0
6
-9
-6
0
-10
0
-34
21
0
0
-20
-7
0
-50
-28
10
8
-53
-11
0
-30
-25
7
0
3
33
0
-3
1
0
0
8
52
0
32
4
5
29
8
7
0
-21
7
0
16
5
-10
0
-5
6
0
0
73
0
0
0
-22
-16
-15
0
0
0
0
-36
0
0
-5
0
0
0
31
0
1
6
4
0
-46
1
0
6
-2
0
0
62
15
3
-1
0
-35
0
35
-11
-3
2
2
-51
0
33
-2
2
-1
51
77
0
-5
-23
0
3
39
8
0
0
-23
9
-14
90
-1
0
0
1
-12
0
1
6
0
0
-116
33
0
-4
-75
0
0
-26
-5
-75
-1
0
0
-5
-31
0
9
40
22
0
-13
-28
0
-16
1
-9
0
-13
-2
0
0
79
-1
0
0
-25
0
-61
29
-18
0
8
9
0
0
-21
-1
0
0
-38
-1
36
39
-1
0
1
3
-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
-12
34
7
1
-27
44
19
-17
33
3
20
9
-147
30
2
-41
27
-1
3
-4
-7
0
49
0
0
-9
-25
-5
-14
1
0
96
-7
5
0
45
15
10
-1
21
-2
56
-45
-42
10
-15
5
-12
-3
-36
-9
-8
23
-1
-10
2
15
-2
4
57
6
88
-1
-36
-16
4
-13
5
-5
1
29
6
0
6
19
-8
15
31
-2
21
-13
-14
-55
-43
0
0
-14
-27
-3
19
14
-6
4
30
-5
-14
1
64
30
6
-49
27
38
26
-7
19
13
2
35
-46
-17
-26
22
-4
49
8
-11
30
-76
-120
-3
14
-13
-1
-35
12
16
2
-95
55
-44
-8
24
-18
1
19
58
1
47
-29
24
1
35
3
1
-31
37
0
3
48
10
-33
-24
38
-14
1
1
30
61
11
2
113
22
-30
28
43
-89
24
24
-12
-6
12
-37
5
50
63
-9
-22
42
17
-29
-5
16
-25
16
22
-9
-44
51
19
9
14
-45
56
-42
-18
32
-37
-16
13
58
0
22
15
-8
5
-3
-24
3
81
-1
-8
2
36
-30
-80
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-7
1
-6
5
1
0
0
90
-1
2
3
41
-4
0
-8
-1
38
0
0
37
0
0
0
-5
0
27
-22
5
0
31
0
-12
-3
0
0
-30
0
0
-9
16
0
24
0
62
0
-89
-3
0
0
52
-3
-6
-5
0
-5
2
-108
-10
-6
-15
-54
5
5
53
0
0
20
40
0
42
42
25
0
-5
7
0
2
31
-15
42
0
-38
6
122
0
0
4
0
7
-2
0
-2
0
0
2
36
0
8
-12
-8
-33
-13
10
0
0
27
10
-2
-1
-20
-3
0
-60
-21
14
-4
0
5
4
-23
2
1
7
44
0
-1
-9
-10
0
9
59
-1
0
42
0
16
1
11
0
-1
9
-5
6
0
-7
3
0
0
16
-6
0
49
4
0
6
0
0
0
3
0
21
3
0
1
0
38
0
1
45
15
0
-2
-14
0
33
-20
-5
0
6
0
-3
-1
-26
36
-2
0
30
0
-9
-18
0
0
0
-39
-1
2
-18
9
0
0
-62
0
43
0
3
27
0
14
-11
-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
53
0
0
0
13
0
0
0
5
0
0
-3
0
2
0
0
0
0
0
0
3
0
-30
0
0
0
0
0
5
85
0
0
0
0
0
-2
2
0
5
-26
0
0
3
39
0
0
2
0
0
0
-27
0
0
32
0
0
0
-51
0
0
-3
0
0
0
38
0
-7
14
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
-2
0
0
0
-32
0
0
0
0
0
0
52
0
0
-4
0
0
0
54
0
0
0
3
0
0
4
0
0
0
0
0
0
19
0
0
7
0
0
0
34
0
0
0
0
0
0
52
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
0
0
0
0
-3
0
6
0
0
0
0
2
0
-13
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
-2
-43
0
0
0
0
0
0
-4
0
-13
0
0
0
5
-50
0
0
4
0
0
0
-22
0
0
6
0
0
-2
-33
0
0
8
0
0
0
10
0
1
0
0
0
0
1
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
-22
0
0
0
0
0
0
71
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
0
0
0
-1
0
0
9
0
0
0
0
0
0
34
0
0
0
0
0
0
-9
0
0
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
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-76
7
104
81
25
7
0
-80
11
25
5
-7
-1
0
22
4
-93
0
3
26
0
0
0
-4
0
32
24
-4
0
33
0
12
-28
0
9
23
0
3
57
-3
-17
-33
43
-126
0
-7
-44
-1
0
38
-1
3
23
3
0
-3
65
118
0
28
12
0
-4
69
0
3
17
31
2
67
53
0
0
13
-42
0
0
4
0
24
0
-18
4
-5
-1
5
0
0
8
0
0
-1
1
0
1
49
-4
4
32
-46
2
-12
22
0
4
-53
2
-3
5
-71
1
6
-29
-41
11
-9
34
5
-4
-60
-1
-2
0
-35
0
-11
-32
-18
-2
-4
13
0
2
6
1
-10
-1
-3
0
41
18
26
-71
0
-13
2
-2
0
0
-7
0
-6
8
-4
0
6
0
0
25
5
18
4
0
0
-5
-43
-1
51
-4
-36
2
-3
11
1
43
21
6
2
4
-42
0
0
-3
36
0
-5
-14
0
71
51
0
0
0
26
0
-7
0
-14
0
5
-90
0
67
0
0
-18
0
57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
9
0
0
25
0
10
0
0
0
0
43
0
0
0
0
0
0
-3
0
-27
0
0
0
0
0
0
0
0
15
1
0
0
0
0
0
51
0
0
0
0
0
0
0
0
-8
-8
0
0
21
-16
0
0
0
0
0
9
-69
0
0
-2
0
0
3
0
0
0
109
0
0
0
10
0
39
-10
0
0
0
2
0
0
0
0
3
0
5
-1
0
0
0
0
0
-63
0
0
0
0
0
0
-5
0
0
5
0
0
8
-2
0
0
0
0
0
0
-44
0
0
33
2
0
0
26
0
0
-18
0
0
0
-117
0
0
-32
0
4
0
-33
0
0
0
0
3
0
-22
0
0
0
0
8
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
-35
0
10
0
0
0
0
0
0
1
-8
0
0
0
-1
0
0
0
0
0
0
5
0
0
-1
0
0
0
33
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
34
-3
0
0
11
30
0
47
1
0
0
26
-1
0
-3
32
0
0
-58
-2
0
0
-15
-34
0
0
14
0
0
3
-3
54
0
2
0
-89
-36
0
0
-108
1
0
82
52
0
-15
-17
-10
0
22
11
0
0
22
0
0
152
1
-3
0
9
-82
0
76
2
0
0
-2
0
0
3
17
0
-18
24
61
0
17
-34
0
9
-18
-5
0
0
-7
-5
16
0
0
0
0
-5
0
0
0
-5
0
-6
-62
0
-6
-2
-62
0
9
1
0
3
-34
0
0
54
-48
4
6
5
69
0
-60
-5
0
-13
-8
-27
0
11
45
0
-10
51
-14
0
-4
15
-9
3
-3
-9
0
0
-45
0
-1
3
5
0
0
-24
-4
10
0
32
0
0
-5
1
0
0
-1
0
-1
-42
2
-41
9
0
-1
-9
-14
0
4
-6
14
0
59
-41
0
-43
60
1
0
-7
25
0
-4
11
30
0
0
29
0
73
13
10
0
2
116
0
6
71
2
0
0
-4
0
31
0
-2
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
-27
19
0
0
-66
72
33
0
9
-3
0
70
13
-82
0
2
5
0
-1
3
-4
0
-17
-19
-51
0
-82
0
-8
-4
0
0
-19
7
-14
61
-8
0
5
-25
-52
5
-45
-19
1
-2
35
80
22
34
-40
-7
-1
-15
-63
19
-49
-61
29
-5
-37
6
-3
0
-46
0
14
33
52
2
0
-12
0
0
-47
2
-34
0
-7
-28
-17
-6
6
0
0
-30
10
0
-5
-4
53
0
-44
-19
24
-9
31
32
90
-6
0
0
22
3
49
-96
-29
-5
62
-21
-13
-27
20
-3
27
-8
26
-53
18
0
-30
33
-31
-54
-7
53
0
-8
-1
6
20
-4
-24
0
-11
4
-16
-42
-8
2
0
28
21
-13
-3
62
37
0
7
1
-6
0
44
0
-2
6
-2
-32
46
11
29
13
-45
0
-4
-63
-41
2
14
-2
0
62
57
-4
-17
-18
-3
0
-27
77
-34
-7
5
17
-1
-4
67
1
8
1
-20
0
-2
-17
33
-57
2
-15
-1
22
24
0
75
0
-4
39
0
11
-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
6
6
0
17
-62
-2
0
0
4
0
0
0
0
-35
0
0
6
0
0
6
4
0
-30
-8
0
0
0
0
5
-19
0
0
3
0
0
-50
65
0
-34
44
-7
0
22
49
0
1
52
0
0
-32
13
0
0
-8
0
0
15
0
0
-1
8
-10
-3
-1
-68
0
-35
18
0
0
0
-21
0
0
15
1
2
0
43
0
3
0
0
0
0
-38
0
0
0
0
0
0
-31
0
-4
0
2
-3
-1
37
0
3
-22
0
-20
6
64
0
0
-49
-10
0
32
67
0
-3
-5
10
0
-5
0
0
-8
14
20
0
1
22
0
0
0
0
2
0
-2
0
0
6
0
45
0
-62
0
0
0
0
0
0
45
-7
0
0
0
0
0
-22
2
-19
0
0
-4
0
130
0
-4
0
8
1
1
-16
0
1
-7
-2
0
0
-11
0
-2
3
0
0
0
0
0
-5
-14
0
-13
0
-25
0
0
0
0
0
0
29
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
0
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
5
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
6
0
0
0
0
0
-8
0
0
-2
1
0
0
1
-4
0
0
1
0
0
0
120
0
0
-3
0
0
0
-30
0
0
-8
0
0
0
69
0
-4
0
0
0
0
50
0
0
0
0
0
0
65
0
0
0
0
0
0
43
0
0
0
0
0
0
32
0
0
0
0
0
0
4
0
0
0
0
0
0
39
0
0
0
0
0
0
-56
0
0
0
0
0
0
-23
0
0
-2
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
9
0
0
0
0
-13
0
0
0
0
0
0
22
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
44
0
0
0
0
0
4
0
0
-2
0
0
0
-15
-62
0
0
0
0
0
4
10
0
0
7
0
0
0
24
0
0
25
0
0
0
39
0
-6
0
0
0
0
-10
0
0
-2
0
0
0
20
0
0
0
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
0
0
0
27
0
0
8
0
0
0
-32
0
0
-7
0
0
0
18
0
0
0
0
-1
0
89
0
0
0
0
0
0
19
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
10
0
0
0
0
0
0
5
0
10
14
11
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
-15
-13
1
46
-17
-97
16
-3
-23
-8
0
0
9
-2
0
-1
-132
0
0
-43
-64
34
-2
-22
-28
-5
2
0
130
26
0
0
-4
-3
7
27
14
-2
-9
10
1
10
15
18
-1
5
-11
12
2
-27
5
0
-6
-22
2
-1
-71
-2
0
-23
-12
44
0
-1
-2
0
26
-2
33
-9
-14
-8
-3
0
0
-55
-49
0
-1
-25
20
0
-2
2
17
-14
-40
1
-3
-86
0
97
-11
1
6
10
28
33
27
19
0
-8
12
16
28
54
-6
-1
-32
-22
43
-7
-16
22
-16
12
19
18
-6
-30
-25
13
80
-7
-24
56
11
10
1
-7
0
-64
-28
4
-6
0
8
0
61
-17
0
-28
4
1
0
15
67
1
50
50
0
-6
-48
-5
-3
-14
-1
-24
-23
-20
-18
5
12
0
-61
-52
-1
34
-1
-19
-6
-56
-58
9
0
-4
37
-5
-6
7
-10
-8
3
39
0
19
-15
34
64
-3
22
5
4
-20
27
-3
13
0
0
82
0
-18
15
0
-5
0
-8
0
-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
24
0
0
0
-17
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
3
0
0
3
0
0
-4
0
0
58
43
0
0
-30
-50
0
0
-3
0
0
0
-62
0
0
-3
0
0
-3
-63
0
0
-121
0
0
4
22
0
31
21
0
0
0
51
0
0
0
0
0
0
-59
-1
0
0
0
0
0
-70
0
0
0
0
0
0
-14
0
0
-2
0
0
0
-3
0
0
-4
0
0
0
-95
0
0
-20
0
0
0
29
0
0
-5
0
0
0
-6
0
0
-1
0
0
0
3
0
0
-4
0
0
0
42
0
0
0
0
-1
0
-41
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
8
0
0
0
0
-10
0
0
0
0
0
0
0
0
-1
-1
0
0
0
21
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
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
-85
41
0
0
43
7
0
0
49
-3
0
2
29
-1
0
0
-21
0
0
1
0
0
23
15
-5
14
-9
0
45
4
0
0
-5
-2
0
-60
-31
0
-17
-59
23
0
92
20
0
0
-40
-13
0
-53
-21
0
0
6
3
0
-20
-177
0
0
-35
-1
0
0
-16
0
24
-76
-10
0
0
-13
0
0
33
0
0
0
-5
43
-5
0
0
0
0
-55
-4
0
0
-1
0
8
-43
0
0
-10
56
0
15
9
0
3
-65
0
0
-14
-45
4
0
-40
54
0
16
-57
5
0
-12
26
0
-5
5
1
31
11
-7
0
1
5
0
5
54
0
0
-6
-15
7
0
0
49
16
0
-16
0
0
0
-6
0
0
-48
4
0
0
0
0
0
-2
3
46
0
0
0
6
22
0
0
-6
9
0
0
-9
-2
-22
-2
-7
0
3
-7
0
5
5
93
0
2
9
0
32
-76
0
0
0
62
0
6
18
1
0
0
-9
0
-9
0
4
0
0
55
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
5
-203
0
-9
-118
0
30
-3
-33
-10
1
-33
39
0
-14
0
111
-39
0
0
-44
-25
-25
26
-21
-10
15
-16
-58
18
6
42
0
1
35
46
-17
60
20
4
10
28
6
-5
-2
9
0
-9
-48
-3
0
-1
0
-1
7
0
-5
-3
-2
-30
10
0
19
-9
-17
0
29
-3
-33
0
0
0
0
-6
-33
0
0
1
8
-5
-49
11
2
37
-45
40
-13
2
0
13
16
-3
12
-8
8
2
73
-36
-58
-7
18
-4
59
-13
11
-89
39
60
10
18
4
23
-28
-35
-3
-10
6
0
19
33
24
0
-55
-2
-1
-31
8
-59
0
15
0
0
-3
33
2
-2
21
-1
0
0
-14
0
5
4
0
-21
11
0
-46
-4
-11
-1
10
17
75
-4
2
8
0
10
53
-4
-7
0
-34
0
5
2
-110
2
0
11
3
-44
-31
11
9
0
-1
4
-4
58
-49
14
0
-63
0
-33
4
25
-137
0
-8
-5
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
9
-10
0
0
0
0
-1
7
0
0
0
0
0
0
-2
0
47
-4
-17
0
45
36
0
0
-9
0
2
-45
32
0
0
19
0
1
-8
-60
0
0
-59
0
-4
0
0
0
-18
-1
0
-1
0
-48
0
0
-5
0
-3
0
6
4
0
0
0
0
0
44
0
0
0
0
0
0
11
0
0
0
-1
0
0
-16
0
0
59
0
0
-1
24
0
0
-14
-8
1
4
-76
0
0
5
0
0
1
36
0
0
-5
0
0
0
0
0
0
11
0
0
0
-46
0
0
-3
0
50
0
70
-2
0
0
0
0
0
-14
0
0
0
0
0
0
14
0
-10
1
0
0
0
-22
0
1
1
0
0
0
23
0
0
0
0
0
0
57
0
0
0
-5
0
0
42
0
9
5
1
0
0
0
0
6
20
0
-1
0
-73
0
13
0
0
0
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
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-17
0
0
0
0
0
0
-27
0
0
0
0
0
0
-18
0
0
5
0
0
0
20
0
-8
-2
0
0
0
0
0
0
0
0
0
0
16
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
1
0
0
0
0
0
0
9
0
0
-17
0
0
0
-1
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
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
48
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-4
-7
0
0
0
25
0
0
0
0
0
8
-31
0
0
6
0
0
0
6
0
0
0
0
0
0
-8
0
9
-27
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-9
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
17
0
0
0
-5
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
-3
0
0
0
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
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
11
-3
-18
0
1
-24
-15
-2
3
14
0
0
-100
-3
0
-7
-11
-67
-14
-36
0
50
2
0
0
-69
-1
8
25
27
0
-9
2
19
-7
38
2
0
11
11
-11
44
45
4
-1
-8
53
-14
-5
-74
-21
-3
0
-23
14
14
25
-7
0
45
2
5
0
21
-14
-1
0
0
70
-96
0
-39
-5
-42
0
7
5
0
2
-14
0
-6
-33
75
-33
18
0
-8
-19
-26
-12
-67
12
0
6
-121
16
14
24
-34
-6
-9
8
8
-5
-30
-26
38
76
30
-8
-14
33
1
0
31
36
-38
-7
0
-11
1
8
0
-48
12
0
-20
32
32
0
-58
-14
0
-8
-8
-1
0
13
41
2
45
0
0
0
2
0
-1
1
-2
14
16
24
-26
1
21
-3
10
77
17
-7
-2
-48
0
32
14
-119
10
50
-26
-1
33
-30
-6
22
25
27
0
23
-23
-39
-28
1
59
3
-3
-1
-22
53
-7
6
0
-66
0
43
48
0
9
36
6
-2
-43
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
-3
0
0
-3
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
17
0
0
8
0
0
-5
0
0
-57
-7
0
0
-17
-18
0
0
-17
0
0
4
33
0
0
-6
0
0
0
121
0
0
-30
0
0
2
57
0
-75
-10
0
0
0
-52
0
0
0
0
0
0
-18
0
0
0
0
0
0
-53
0
0
0
0
0
0
-27
0
0
0
0
0
0
29
0
0
87
0
0
-2
-42
0
0
13
0
0
2
-119
0
0
-78
0
0
0
-35
0
0
-3
0
0
1
-59
0
0
0
0
0
0
46
0
0
-12
0
-25
0
4
1
0
0
0
0
0
-10
0
0
0
0
0
0
-29
0
-1
-1
0
0
0
62
0
0
1
0
0
0
-5
0
11
0
0
0
0
-8
0
0
-18
0
0
0
-36
0
3
1
0
0
0
9
0
0
0
0
0
0
-1
0
0
1
0
4
0
4
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
7
0
0
-12
38
0
0
9
-5
0
0
0
0
0
20
2
25
0
48
0
29
-34
0
0
55
0
0
-19
-57
0
13
-21
-25
0
44
16
-2
0
-12
0
0
-48
-22
0
0
-21
78
0
-25
-22
0
-5
-32
0
0
-1
-82
0
-31
37
-6
0
0
17
0
-3
2
0
0
0
62
-6
68
0
3
0
0
-24
-10
0
0
0
0
-7
-46
0
3
34
1
0
61
2
0
2
-23
0
0
4
-26
-7
0
-7
13
0
-12
-34
-1
0
-26
78
0
5
14
0
1
56
51
0
16
17
0
-7
5
0
-1
5
-58
0
2
-41
8
0
0
7
0
0
0
0
0
2
18
0
0
0
8
0
0
8
-1
26
-5
0
0
0
10
0
1
3
-9
0
-3
-46
0
-36
-20
0
0
0
20
0
0
5
-15
0
0
-5
0
22
60
-9
0
0
-23
0
-9
-20
-66
0
0
11
0
-59
-7
0
0
0
34
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
48
-3
-5
0
1
0
0
-126
0
0
0
0
0
1
1
0
14
11
-6
0
3
43
0
0
-2
0
0
0
4
0
0
0
0
0
0
104
0
0
-27
0
0
0
-45
0
-14
9
-7
0
0
-17
0
0
2
0
0
0
-16
-4
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
-1
0
-117
0
0
0
0
0
0
0
0
0
59
33
0
0
19
0
0
-2
-2
0
0
-56
0
-6
-6
0
0
0
-60
0
0
-5
0
22
0
-22
0
0
13
0
-4
0
31
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
3
0
-16
0
0
4
0
0
0
39
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
-18
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
-10
0
0
0
0
0
0
-37
-4
0
0
35
0
-2
-62
0
0
-5
0
0
-36
-68
-8
41
78
22
0
22
6
0
0
43
0
0
-3
13
0
0
-47
0
0
-10
33
0
0
-120
0
0
0
-24
0
51
-5
18
0
0
0
0
0
5
1
0
0
7
0
34
0
0
0
0
-22
0
0
0
0
0
-8
-26
0
0
0
-14
-34
-35
-21
0
0
-14
-1
-26
1
-32
8
0
-2
-45
0
6
90
0
-2
-53
-19
8
0
74
0
0
1
0
-1
-1
38
0
0
6
-2
-35
4
0
0
1
-1
0
-166
0
-85
0
0
0
-8
0
0
-14
0
0
0
0
0
0
-9
0
24
0
3
-6
0
-5
0
0
-2
-4
0
0
-44
0
-52
22
-6
0
-1
-58
0
-4
45
-8
0
1
-139
0
-72
0
-10
0
0
-1
0
0
9
2
22
0
0
0
37
0
1
8
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
12
0
0
0
0
0
-1
0
0
-3
26
-5
0
5
3
0
0
-8
0
0
-3
30
0
0
-6
0
0
0
-9
0
0
0
0
0
0
18
0
-4
-1
0
0
0
-3
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
6
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
-7
0
0
0
-15
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
-3
0
10
0
0
0
0
0
0
-7
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
-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
52
0
0
0
0
0
0
20
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
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
22
0
0
0
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
13
0
0
0
0
0
-30
0
0
0
-24
0
23
-43
0
0
68
0
-6
-7
-31
0
-51
-55
12
0
-114
17
0
0
16
0
0
56
45
0
0
21
0
0
62
11
0
0
0
0
0
0
3
0
-35
2
0
0
0
71
0
0
0
1
0
0
14
0
7
0
0
0
0
-31
0
0
0
0
0
-7
6
0
0
-51
-7
43
0
-49
0
0
-33
10
-9
-2
-33
0
0
-7
-25
-7
0
29
0
0
17
-3
-36
0
3
8
0
-2
47
0
0
36
0
0
0
0
-25
0
-11
0
0
0
0
-173
0
18
-2
0
0
-1
0
0
28
0
0
0
0
0
0
-24
0
0
-3
0
0
0
-53
0
6
2
16
0
0
-5
0
2
1
0
0
0
-39
0
0
1
-82
0
0
-4
0
1
0
-2
0
0
13
0
0
0
0
-14
0
-18
0
-14
0
0
-10
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
23
9
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-5
10
0
0
54
18
0
0
0
0
0
0
13
0
0
-3
0
0
0
50
0
0
-2
0
0
0
-23
0
-2
0
0
0
0
24
0
0
0
0
1
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
-73
0
0
0
0
0
0
32
0
0
5
0
0
-14
-39
0
0
-6
0
0
0
-78
0
0
4
0
0
0
19
0
0
1
0
-2
0
36
0
0
0
0
-2
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
45
0
0
0
0
0
0
-6
0
0
-19
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
15
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
-1
-12
-115
0
-34
-56
1
-59
1
29
24
3
-26
0
71
9
-4
0
-11
8
0
10
11
4
-28
1
-5
0
15
-5
-15
-17
8
-91
0
-18
-10
21
-25
-4
2
-5
38
0
3
14
-3
-30
-2
-58
6
0
3
9
5
0
16
-14
-58
-4
-5
-27
0
0
4
-67
-75
-2
-97
0
33
-2
-3
-4
-60
49
0
80
26
14
27
-34
-44
-4
55
5
-5
-13
-10
98
0
71
9
58
-44
-4
17
-4
9
-1
33
-12
16
-6
0
45
6
-11
44
9
20
0
-30
-18
0
15
52
-82
0
15
-7
6
14
-11
21
-1
0
-5
50
0
-179
5
0
5
16
-88
-1
109
2
0
28
27
-28
10
-9
-23
-1
-106
-17
14
-65
32
-33
0
-7
7
-17
-27
28
58
0
36
12
23
45
46
-31
0
13
-3
34
-12
65
0
-1
34
-14
-3
-6
54
43
0
-1
6
-1
-71
12
-5
0
0
13
-73
17
36
-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
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
24
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
1
0
0
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
-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
10
0
0
0
4
0
0
-15
0
0
0
0
0
-1
0
0
73
-13
0
0
-2
4
0
0
0
0
0
2
36
0
0
7
0
0
-2
-65
0
0
34
0
0
0
34
0
-2
0
0
0
0
-14
-1
0
0
0
0
0
0
0
-3
0
0
0
0
15
0
0
0
0
0
0
19
0
0
0
0
0
0
-38
0
0
2
0
0
0
-14
0
0
-1
1
0
0
-5
-1
0
-8
0
1
0
-14
0
0
0
0
0
0
21
-8
0
0
0
0
0
2
0
0
0
0
-15
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
25
0
0
0
0
0
0
-14
0
0
0
0
0
0
66
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
-2
0
0
-5
0
0
-77
-75
0
-20
-80
-62
0
-15
-16
0
0
4
0
0
-18
-109
0
0
-58
-1
-1
-6
-15
0
0
-12
0
0
0
-5
0
8
10
-5
2
8
51
0
0
53
14
-4
0
-107
0
45
0
0
0
0
31
0
0
0
0
0
0
-47
0
0
-1
1
6
1
-14
0
0
-5
0
14
1
2
2
0
-27
106
-10
1
-15
0
0
-25
3
-10
0
-103
0
1
96
-1
-4
-5
-38
0
0
-1
0
-87
0
17
0
0
-3
6
60
0
-43
0
0
0
0
0
0
-37
0
0
0
0
0
0
46
0
6
0
0
-11
0
9
0
0
1
0
0
0
9
0
62
2
0
2
0
17
0
-35
-1
-1
0
0
-120
0
-5
10
5
0
0
-50
0
0
2
0
5
0
-51
0
5
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
-16
0
0
0
0
0
0
0
0
-1
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
23
0
0
0
0
0
0
20
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
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
-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
44
0
0
0
0
0
0
-49
0
0
0
0
0
0
-1
0
-4
0
0
0
-1
-69
0
0
-2
0
0
0
-61
0
0
0
0
0
8
-66
0
0
0
0
0
0
-2
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
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
20
0
0
-7
0
0
0
8
0
0
0
0
0
0
43
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
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
9
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
12
0
0
0
0
0
2
-23
0
0
0
0
0
-2
0
0
-57
-34
0
0
-32
-64
0
0
-11
0
0
3
-54
0
0
-5
0
0
-1
-7
0
0
-26
0
0
0
-85
0
40
-7
0
0
0
-57
0
0
0
0
1
0
27
0
0
0
0
0
0
-43
0
0
0
0
0
0
-51
0
0
0
0
0
0
-84
0
0
5
0
10
1
-40
0
0
81
0
0
17
-18
0
0
-28
0
-4
0
65
0
0
-14
0
0
0
-139
0
0
0
0
0
0
-125
0
0
8
0
89
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
41
0
-1
0
0
0
0
58
0
0
-3
0
0
0
-43
0
75
-2
0
0
0
-6
0
0
17
0
0
0
-8
0
0
1
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
13
0
49
28
0
0
-4
0
0
34
60
0
14
-27
-39
0
34
-16
0
-2
-52
0
0
9
-21
0
-2
-68
-5
0
55
1
0
0
1
0
0
1
-124
0
-39
-36
45
0
0
-83
0
3
2
0
7
0
23
23
-2
0
0
0
0
16
0
0
0
0
0
1
53
0
0
2
0
0
4
10
0
0
-5
0
0
-7
0
-1
0
22
11
0
7
-72
5
0
-51
-45
0
17
40
0
-1
-47
2
0
0
-23
0
0
-12
0
0
-2
-76
0
-3
36
11
-2
0
-49
0
0
0
0
0
0
-31
0
0
0
2
0
-1
21
0
1
1
0
0
-1
-10
0
0
2
2
0
0
-5
-1
-2
58
0
0
0
-21
0
-11
9
-7
0
0
-4
0
6
105
7
0
0
-65
0
0
-6
3
0
0
-27
0
108
0
0
0
0
61
-14
-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
55
0
0
-5
0
0
0
0
0
13
2
0
0
14
53
0
0
-1
0
0
0
47
0
0
11
0
0
0
48
0
0
-5
0
0
0
7
0
-2
0
0
0
0
22
0
0
0
0
0
0
7
2
0
0
0
0
0
-33
0
0
0
0
0
0
16
0
0
0
0
0
0
48
0
0
0
0
0
2
0
0
0
11
0
0
0
23
0
0
-25
0
0
0
-14
0
0
0
20
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
64
0
0
0
0
0
0
15
0
0
0
0
0
0
-33
0
0
0
0
0
0
4
0
0
0
0
0
0
24
0
0
0
0
0
0
9
0
0
0
0
0
0
29
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
7
5
-20
7
-17
9
-8
15
-4
-47
4
14
13
13
5
-3
12
32
3
38
46
53
-9
10
7
3
-38
16
33
-1
24
28
-13
25
23
15
-7
-5
-5
14
82
70
-10
2
-11
-20
28
36
-9
0
0
10
-17
-10
-14
-9
19
0
0
-56
21
-29
20
-9
-1
-5
31
-40
-44
22
-23
1
1
-4
26
-64
-25
10
0
24
138
-8
41
23
-31
-1
1
-43
9
-25
8
-4
-6
-22
15
24
-14
65
-14
-5
-5
74
-7
62
-58
-14
-5
5
-27
27
51
16
14
-12
-67
-44
-8
81
52
-46
0
1
56
3
-30
-9
27
-2
39
12
27
-25
6
40
-8
-32
-31
-12
24
-49
-27
-5
-40
9
32
-28
-39
45
4
-28
-10
14
29
-9
18
-14
63
15
24
-41
-47
5
43
26
7
-2
9
-28
-40
0
4
17
-29
71
-3
-7
6
51
7
-10
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
62
39
0
0
17
0
0
19
-22
0
65
12
-45
0
81
64
0
0
-14
0
0
3
-4
0
0
45
2
0
23
-41
0
-8
-14
0
2
1
-19
0
-22
52
0
0
0
-129
0
0
-2
0
-9
0
-9
2
0
0
0
-2
0
-6
0
0
0
0
0
0
28
0
0
-3
0
-1
63
4
0
0
32
0
-17
-5
53
0
-1
-114
36
0
31
40
0
-3
13
-2
0
0
-102
0
18
-29
20
0
5
-23
0
0
-15
0
13
0
-62
0
0
1
0
-1
0
28
1
0
0
0
0
0
94
0
0
0
0
0
0
64
0
-15
-3
0
0
-2
-8
0
-2
-3
-14
0
-2
101
0
-13
25
0
0
0
-33
0
0
-31
0
0
0
-36
0
6
-7
2
0
0
110
0
-4
1
-6
0
0
-80
0
6
0
0
14
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
-4
-5
0
0
-5
0
0
48
-11
0
0
-25
11
0
-7
43
0
0
-53
4
0
4
-7
0
0
-63
0
0
-4
-3
0
0
-45
0
0
0
-18
0
14
50
-10
0
1
-53
0
0
6
0
17
0
46
5
27
0
0
0
0
-79
0
0
0
0
0
0
43
0
0
33
0
0
-10
45
0
0
-25
0
0
0
14
4
0
78
34
0
0
-23
0
21
-84
75
4
0
-14
0
0
11
25
0
0
-47
0
0
-5
0
-36
7
10
0
0
-7
0
-109
0
-38
0
0
0
0
0
0
-3
0
0
0
0
0
-3
-64
0
0
0
0
0
0
-110
0
3
-1
21
0
0
-39
0
0
13
0
0
0
-23
0
0
-2
1
0
0
-59
0
1
15
1
0
0
1
0
0
41
0
0
0
31
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-1
0
7
-59
0
0
-5
0
0
0
11
0
0
0
2
0
-1
-32
0
0
8
0
0
0
48
0
-4
0
0
0
0
-2
0
0
0
0
1
0
52
0
3
0
0
0
0
-17
0
0
0
0
0
0
-11
0
0
0
0
0
0
-87
0
0
0
0
0
0
110
0
0
0
0
0
-3
8
0
0
6
0
0
0
31
0
0
2
-4
0
0
20
0
0
8
0
-9
0
1
0
0
0
0
-4
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
4
0
0
0
0
17
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
14
-2
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
15
0
0
35
0
7
4
-72
0
15
-60
0
0
43
-79
0
0
23
0
-2
-20
-18
0
0
-31
0
4
24
3
0
0
2
0
0
0
29
0
71
-14
0
0
8
-3
0
0
-5
0
1
0
6
-2
26
0
0
0
0
-36
0
0
0
0
13
-6
-2
0
0
1
0
56
5
8
0
0
6
0
23
1
-37
0
0
-37
0
4
0
6
0
0
-2
0
7
0
-11
0
0
62
0
14
0
42
0
0
136
0
-25
0
-34
0
0
14
0
60
0
-34
-2
0
7
0
1
0
-63
1
0
0
0
0
0
-2
0
90
-1
0
0
0
-60
0
2
-19
0
0
0
-20
0
-35
23
0
-7
0
78
0
0
30
0
-10
0
-7
0
-16
-37
0
3
0
-31
0
0
5
0
2
0
13
0
-9
6
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
56
-8
7
9
22
3
0
-7
0
0
-8
-37
0
0
40
-35
0
5
-33
0
0
62
0
0
0
3
0
-29
-52
0
0
0
-44
0
0
2
0
13
0
8
1
2
0
0
0
0
-32
-21
0
-3
0
0
13
39
0
0
-4
0
24
0
4
0
0
-3
0
1
2
-9
-6
0
-48
72
2
4
11
0
-5
78
-5
0
0
3
0
32
-23
53
-1
0
-14
0
0
49
0
16
0
57
0
0
-5
0
32
0
43
1
0
0
0
18
0
-73
0
0
0
0
0
0
-65
-2
56
18
0
-4
0
-1
0
1
5
-19
9
0
11
1
-32
-80
0
0
0
-40
-1
-5
39
-8
0
0
-24
0
8
80
0
0
0
-5
0
0
-1
0
0
0
-10
0
19
0
2
103
1
-54
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
-25
3
-15
-10
9
-5
87
58
-45
4
-44
36
2
-22
-72
-23
9
-44
6
-1
49
-52
1
-38
-51
44
-1
5
-7
3
-55
-24
-13
4
-31
-18
-15
77
-41
2
-3
-3
-4
5
-80
8
9
-23
67
-15
-39
-60
-8
-91
0
-10
-23
-38
-54
12
-83
-3
-11
33
4
-60
25
14
12
-20
-31
-4
-30
27
-23
10
-1
-42
9
-98
-52
-20
4
-11
49
7
-7
-24
63
7
48
-2
-44
39
7
-15
47
-11
64
-23
6
8
-4
10
8
-21
15
24
-63
-17
-24
7
80
9
-56
-5
-37
0
5
-1
-101
-63
-21
-110
-45
43
52
-17
10
13
9
-5
-10
-5
-9
-45
24
-35
-18
-10
-12
-22
-10
35
81
-19
27
-3
-28
-6
-20
55
-11
-48
84
54
47
9
-10
-16
7
13
-42
7
4
14
24
4
-4
19
32
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
4
0
0
0
0
0
0
14
0
0
1
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
-10
0
0
0
0
0
0
0
0
0
0
4
0
0
9
0
0
3
0
0
0
0
0
0
0
0
0
0
17
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
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
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
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-13
0
9
-2
-88
0
-19
-4
0
0
30
0
0
-3
3
0
0
25
37
0
-21
33
-1
0
20
0
0
-10
12
0
-42
-14
25
0
0
-37
0
0
-15
-1
74
0
-23
14
-1
0
0
0
0
-17
0
0
0
0
0
2
84
0
0
0
-9
-7
-11
52
0
0
0
0
-5
43
31
0
-7
-53
-13
3
20
-16
0
0
41
4
0
0
29
0
1
37
-14
2
0
-38
-1
0
26
0
-9
0
-22
0
0
0
0
-20
0
-12
0
0
0
-6
0
0
46
0
0
0
0
0
0
7
0
-19
0
0
0
-1
-14
0
0
-14
2
0
0
-7
0
18
-1
0
0
0
-51
0
-9
-16
-16
0
0
-18
0
77
-6
6
2
0
-83
0
0
-17
0
-7
0
-44
0
-2
0
0
-15
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
-5
-19
0
0
11
57
0
0
0
0
0
0
-42
0
0
1
0
0
-2
-68
0
0
46
0
0
0
-32
0
6
0
0
0
0
6
0
0
0
0
0
0
-51
0
0
0
0
0
0
33
0
0
0
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
-32
0
0
0
7
0
0
3
0
0
0
22
0
0
2
0
0
0
-22
0
0
0
0
0
0
45
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
2
0
0
0
0
33
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
-13
13
-24
0
1
-16
0
0
-7
0
0
0
12
0
0
-7
0
0
0
-45
0
0
-10
0
0
0
-51
0
-1
-4
0
0
0
-24
0
0
0
0
0
0
44
0
0
0
0
0
0
52
0
0
0
0
0
0
53
0
0
0
2
0
4
-25
0
0
8
0
0
0
-5
0
0
-45
9
0
0
30
0
0
23
0
0
0
36
0
0
0
0
0
0
-13
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
-2
0
0
0
0
0
0
-19
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
-3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
4
-15
7
6
41
30
-1
0
40
-21
5
-1
1
0
1
25
-6
-1
0
47
0
1
-7
-4
-13
2
-66
0
3
-21
-4
50
0
-20
-5
31
0
0
0
0
18
23
0
-1
0
0
0
15
0
-3
-3
5
19
1
-44
0
-13
50
-3
-3
11
-12
0
-10
-55
21
0
-50
-23
23
1
-56
-15
20
11
13
-1
26
-12
-41
3
1
32
0
13
-19
-1
-100
0
-74
0
0
-14
5
-82
0
-23
1
0
0
2
-4
0
-47
3
0
0
3
0
0
-78
-2
3
-71
1
-5
2
-29
-4
-3
5
39
0
-10
-34
6
96
-37
-18
4
0
45
0
5
-3
64
2
-20
6
0
-54
5
25
15
0
50
2
1
19
1
-46
5
0
-1
88
-8
1
3
0
-65
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
-6
0
-2
-45
9
0
0
-15
83
0
12
5
0
-1
17
0
-7
0
-1
0
-23
24
45
0
0
30
0
0
79
0
-68
0
5
2
-133
0
0
0
0
13
-10
0
-3
0
-15
-5
35
-3
0
-2
19
-47
15
0
0
0
-48
-18
-128
86
-16
3
14
-15
26
-31
32
-13
-4
10
-57
-35
-75
2
27
0
0
-18
30
-118
-6
-20
0
-4
-10
35
-5
0
13
0
0
68
15
-60
0
17
-6
0
44
0
-26
0
-48
2
0
0
0
0
0
22
18
-7
-1
0
0
-31
0
0
-2
-7
-42
0
3
33
-4
1
7
-13
-5
-3
22
0
-14
-79
128
0
0
-36
0
23
9
-1
0
-2
16
0
0
1
-4
-26
9
26
0
11
-58
0
-29
0
9
36
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
-37
0
0
8
0
0
0
21
0
0
0
0
0
0
-65
0
0
14
0
0
0
16
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
-2
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
5
0
0
0
0
0
0
2
0
0
-4
0
0
0
44
0
0
-15
0
0
0
14
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
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
2
-16
-8
-7
-24
15
7
-10
-16
25
-5
-4
53
65
-33
21
18
25
10
-76
-6
16
12
0
-25
3
-20
34
-43
-4
18
-5
3
46
-138
0
34
-23
19
-9
15
0
-1
27
40
0
7
31
22
-19
20
8
-2
46
17
5
65
-40
-7
0
-4
5
-17
49
22
-5
-5
-4
-9
-44
-58
-8
-19
46
-13
-73
21
-53
19
81
55
-8
36
76
45
2
-5
-52
2
6
47
45
-46
13
-10
12
-83
-28
0
13
-7
-2
15
-13
-23
-3
-7
70
-1
-10
-35
5
1
23
-10
-3
-23
33
31
-41
17
-6
-10
31
-65
43
48
28
-7
-31
-31
91
-29
-24
-12
8
25
39
23
77
-7
41
-4
10
8
34
11
0
5
17
0
46
14
106
-2
-9
2
98
-2
-71
-24
2
-18
-32
-11
-6
-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
-5
-4
-3
0
40
-14
8
-46
-5
-10
1
-10
-9
-33
-14
4
1
-17
18
23
-8
26
12
0
2
-11
-64
-7
3
7
-7
0
-12
12
3
0
7
3
-4
-1
1
0
0
26
8
0
-3
-32
0
43
15
0
3
-8
2
43
-52
5
0
-2
131
30
7
-14
22
-4
-5
-29
-15
-3
51
11
32
-8
7
-4
-95
48
10
3
-8
3
-2
22
-10
13
-10
20
-21
37
-16
-18
6
2
33
15
22
1
0
8
4
0
-3
11
-14
0
-14
-19
0
0
-69
0
0
32
5
18
16
-14
-74
-14
16
0
-8
-79
-43
0
-23
15
19
-42
36
-107
4
-1
-18
6
-30
62
4
-14
-3
18
-1
-43
-41
-10
-25
1
1
-1
-4
-6
-25
-13
-5
7
0
-45
-27
82
53
0
13
-25
-3
-19
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
4
-19
0
5
-12
0
6
-50
-3
0
0
-2
0
-2
6
-4
0
0
8
0
-3
-57
7
0
-5
8
0
-1
5
-14
0
0
28
2
38
0
10
-48
-4
0
0
2
0
-20
0
0
0
0
-1
6
16
0
-3
-8
0
25
4
0
0
0
7
0
-7
16
19
0
0
0
3
29
5
6
19
25
31
14
39
20
-9
0
0
-10
-2
-5
26
-8
0
-3
20
0
13
0
-10
7
23
18
0
18
0
9
47
0
4
0
42
3
-46
-3
0
0
0
0
0
-65
2
-5
35
0
8
5
0
0
-5
-53
0
0
0
1
0
1
15
0
15
1
32
0
0
81
0
49
3
-4
0
15
50
0
13
0
32
0
1
57
0
50
0
-15
0
12
148
0
10
0
-13
6
-5
-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
-1
55
0
0
-4
0
0
3
-79
0
0
0
0
0
0
21
0
0
6
0
0
0
65
0
-13
0
0
0
0
-24
0
0
0
0
0
0
-64
0
0
0
0
0
0
-14
0
0
0
0
0
0
14
0
0
2
0
0
0
-50
0
0
9
0
0
0
19
0
0
5
0
0
0
17
0
0
-10
0
0
0
-17
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
-2
0
0
0
-6
0
0
17
0
0
14
0
0
0
-2
0
7
0
0
0
0
13
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-14
58
-4
-52
-5
0
39
-5
-27
25
14
24
0
-44
38
60
8
9
-5
-4
0
10
43
-17
0
15
-67
62
0
-8
2
0
-20
-39
0
10
-3
0
-5
51
0
10
80
23
7
-53
0
0
2
25
19
40
107
15
0
-8
12
30
7
5
13
-4
23
22
87
-45
2
12
-13
44
2
15
29
8
6
5
0
17
31
29
-10
10
-2
8
14
-8
60
0
-7
-3
-2
-2
-14
-15
-14
1
1
0
-3
14
0
-4
-1
1
67
-14
4
10
20
-23
0
-5
60
-13
69
4
-19
0
98
14
80
0
0
36
-4
62
4
66
-16
0
-20
-1
-11
-8
-10
-5
0
5
22
3
13
35
15
0
4
0
0
22
0
51
-11
-24
-33
-3
45
-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
-9
-6
74
32
-17
19
14
-15
0
-31
82
-6
-45
-13
50
-6
23
-3
-1
-21
30
-1
-13
56
-5
-13
-37
56
0
-5
24
-24
45
-51
-22
-17
-5
35
6
-51
-36
-10
-26
-6
-60
-53
-18
-37
-21
-8
3
-46
-64
-22
-8
3
41
0
29
67
14
-10
32
18
-17
15
-124
5
-5
35
18
-3
56
-67
6
-4
65
29
-2
-24
-17
-9
-88
7
-34
-3
-33
-83
25
13
10
-1
6
54
4
25
19
7
-25
-34
-20
34
-18
-28
6
33
-20
3
-8
-9
-59
13
46
-11
44
47
20
-78
4
101
0
-13
-8
20
-26
-47
13
3
-14
5
-38
-26
8
-29
-9
3
-19
1
59
0
-25
8
27
-29
-10
-22
20
-5
-2
-6
-30
26
-15
9
-2
19
70
-22
-2
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
26
18
0
0
0
0
0
1
-33
0
0
-1
0
0
0
47
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
62
0
0
0
0
0
0
9
0
0
0
0
0
0
-34
0
0
0
0
0
0
-8
0
0
0
0
0
0
11
0
0
-4
0
0
0
16
0
0
0
0
0
0
36
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
72
0
0
-20
0
0
0
0
0
-4
0
0
0
0
2
0
0
0
0
0
0
-5
-14
0
0
0
0
0
-19
0
0
0
0
0
0
19
0
0
0
1
0
5
5
0
0
0
0
0
0
-45
0
0
0
0
0
0
-13
0
0
4
0
0
0
-10
0
0
-17
1
0
0
-26
0
0
0
0
9
0
-5
0
0
2
0
5
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
0
0
0
0
10
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
-35
6
0
0
2
11
25
-11
-6
0
-7
12
-10
-8
-25
1
0
-3
6
57
5
-15
-9
0
0
9
0
-1
0
3
-4
-27
-1
6
0
0
5
2
0
-4
-1
0
-18
18
0
-8
-2
14
-53
-32
-14
0
2
20
0
-8
0
13
4
-14
28
87
-23
-10
1
-1
44
8
5
-3
3
30
-1
17
8
-41
-13
-7
28
6
3
-17
-8
71
-18
-2
-1
12
19
-7
9
0
13
-15
0
0
-2
-1
0
43
-19
0
0
-54
0
-8
-32
-11
34
-8
-1
14
7
14
0
-37
63
-22
7
3
8
0
-63
-54
1
0
11
19
0
-13
83
76
0
3
-14
0
-24
-4
-1
14
-1
61
0
3
46
-2
14
-20
7
-7
51
-8
-4
37
0
18
-36
16
-15
-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
-10
10
0
0
1
0
0
0
-4
0
0
21
0
0
0
-59
0
15
0
0
0
0
-14
0
0
-3
0
0
0
23
0
0
0
0
0
0
-53
0
0
0
0
0
0
53
0
0
0
0
0
0
19
0
0
-6
0
0
0
-8
0
0
-10
0
0
0
22
0
0
26
0
0
0
-18
0
0
-3
0
0
0
1
0
0
19
0
0
0
23
0
0
0
0
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
1
0
0
0
-28
0
0
0
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
63
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-32
0
0
1
-91
0
0
-8
0
0
0
-7
0
-14
0
0
0
0
-53
0
0
0
0
0
0
39
-1
0
0
0
0
0
18
0
0
0
0
0
0
52
0
0
0
0
0
0
24
0
0
7
0
0
-5
-8
0
0
57
-4
0
0
105
0
0
21
0
0
-1
41
0
0
-3
0
0
0
-46
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
-35
0
0
9
0
0
0
-34
0
0
2
0
0
0
123
0
0
0
0
0
0
14
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-3
0
11
18
0
-12
-33
6
0
-3
-50
0
21
10
0
18
0
3
4
-9
0
4
0
0
58
0
0
0
0
-4
0
49
2
17
6
-43
0
14
-30
0
0
8
-4
-6
-71
19
21
-8
-35
0
4
3
17
0
-1
-56
0
0
9
49
0
-5
27
-2
-4
0
45
-11
0
14
0
7
0
-73
0
-1
32
-7
80
0
-3
8
0
0
3
0
0
13
17
8
0
6
0
0
-91
-2
-37
0
0
-5
-7
72
0
-18
11
20
1
-2
-29
0
31
41
-3
0
0
13
0
-15
79
1
0
3
-50
0
29
26
2
5
0
19
0
0
5
5
0
0
-24
-4
3
0
0
2
2
-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
-11
-17
27
-1
-1
0
-32
-44
0
2
-21
-3
-60
-34
-1
-3
37
-60
-11
-26
-51
-3
-8
-23
-18
-24
-61
11
2
15
-16
9
8
32
-62
0
-6
-66
-70
18
-64
11
20
-2
-19
-34
24
4
-35
-84
2
-115
-139
-22
12
-68
1
0
85
-46
-9
57
-5
16
1
73
-6
-5
18
-13
-43
3
15
4
9
-40
14
-28
-1
94
5
14
-88
1
0
14
-1
-28
-22
-10
-67
7
8
16
20
-20
-49
2
4
-18
83
20
-47
-23
-42
-20
20
21
52
37
-46
3
-47
-1
-16
-26
26
24
5
-1
0
28
56
13
-17
22
5
22
81
-11
-22
70
64
-19
-8
5
19
3
18
-25
10
-7
-14
-57
19
-68
-26
3
8
11
-57
23
-60
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
19
0
0
-5
0
0
0
23
0
3
3
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
59
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
-2
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
46
0
0
0
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
-7
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
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
0
0
0
5
0
1
9
0
0
0
-6
0
0
2
0
0
0
5
-7
0
0
0
0
0
-28
0
0
0
0
0
0
-3
0
0
0
0
0
0
-35
0
0
0
0
0
0
9
0
0
-1
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
-6
0
0
0
0
0
0
5
0
0
0
-2
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
-14
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
5
9
13
5
-36
0
5
-20
-38
0
-4
-5
0
0
24
5
53
0
20
-14
-5
0
0
2
0
39
-4
0
6
0
-15
8
1
0
0
62
52
-4
39
-9
0
13
42
5
30
91
1
0
1
43
-8
25
-31
-15
-6
5
-31
-3
-2
-7
48
0
4
-3
77
-25
-5
3
0
2
-30
11
-31
-1
-24
-11
-2
2
33
-5
0
2
-2
0
0
-3
-1
0
87
2
0
0
-44
0
5
-41
0
-26
55
0
20
-14
21
0
14
-16
13
-5
-17
18
0
56
45
0
-2
-3
-22
0
27
-53
9
0
0
10
1
-12
67
-5
0
-4
63
0
0
6
21
16
0
-5
0
-29
0
-2
35
0
29
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
15
0
28
-21
0
0
0
-41
0
0
7
0
-5
0
-2
-4
0
0
0
0
0
-99
0
0
0
0
0
0
-86
0
0
15
0
0
6
3
0
0
-31
0
2
-9
-16
0
0
8
0
0
-13
-21
0
0
-69
0
17
0
15
0
0
55
0
0
-3
1
0
0
-1
0
3
0
27
0
0
-2
0
8
0
17
0
0
0
0
0
0
8
-2
0
0
0
0
0
-42
0
23
-10
0
0
-3
-15
0
0
-2
0
0
0
4
0
-10
22
0
0
0
92
0
-5
21
0
0
0
1
0
6
7
0
0
0
5
0
9
0
0
0
0
6
0
-5
0
0
-9
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
20
0
0
1
0
0
0
-134
0
5
14
0
0
0
-99
0
0
0
0
0
0
68
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
21
0
0
14
0
0
0
12
0
0
9
0
0
0
-46
0
0
-50
0
0
0
14
0
0
-3
3
0
0
-42
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-57
0
0
-1
0
0
0
-45
0
3
9
0
0
0
-97
0
0
-1
0
0
0
-6
0
0
-1
0
0
0
8
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
-12
0
21
2
2
-1
-10
43
0
0
32
0
4
0
24
-8
-16
0
0
0
0
49
-2
0
0
0
-3
1
-8
0
2
-5
-25
32
6
-2
0
0
13
0
5
-10
-13
0
-5
35
39
0
-1
-16
-9
-11
57
5
-37
1
55
0
0
41
-15
-6
0
12
0
0
47
0
-30
0
18
0
5
-2
-34
-6
0
-5
0
0
0
0
-9
-1
106
-27
0
-1
0
0
-1
28
-2
10
0
0
4
2
-28
0
5
-30
16
-8
4
-36
0
27
45
-11
0
9
-20
0
-8
25
-17
-7
0
55
1
-6
-3
6
0
0
11
0
3
-36
5
0
0
6
0
-34
14
0
-23
0
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
22
-11
-20
5
90
7
-15
-27
-7
28
-39
-2
0
-6
-40
18
-23
1
-43
-11
5
1
-28
-43
35
46
5
28
80
14
13
-11
8
-2
-10
10
2
-6
40
17
-1
10
-52
1
-29
29
-59
-1
-13
68
10
-5
31
7
0
97
56
-17
5
-56
57
-9
99
-54
37
28
13
7
11
46
-45
-30
-48
-15
-4
-5
-104
-5
15
-18
-96
12
11
13
22
7
20
-7
-4
9
-14
-6
90
-42
54
-13
15
20
-15
22
22
12
-20
6
-12
-90
-14
-1
9
0
2
-6
35
-37
22
-23
-17
0
8
18
-30
-1
-31
23
-8
-2
-56
-38
-28
21
30
2
-19
-32
-90
-81
-17
-2
-35
1
11
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
6
0
0
0
0
0
0
20
0
0
0
0
0
0
-26
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
-33
0
0
-10
0
0
0
2
0
0
6
0
0
0
-3
0
0
0
0
0
0
14
0
0
1
0
0
0
23
0
0
0
0
0
0
10
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
21
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
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
-8
0
-2
25
0
0
0
-5
0
0
0
0
0
0
65
0
0
0
0
0
0
-18
0
0
0
0
0
0
-33
0
0
-3
0
0
0
101
0
0
0
0
0
0
-44
0
0
23
17
0
0
3
0
0
38
0
0
0
27
0
0
-2
0
0
0
35
0
0
4
0
0
0
34
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
-2
0
0
2
35
0
4
-13
0
0
0
-1
0
0
-18
-1
0
0
33
0
0
0
0
0
0
8
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
5
39
-7
18
-5
6
-4
-1
-4
50
0
5
22
-128
0
65
0
0
2
70
0
-2
90
0
46
-13
7
17
27
58
-24
93
22
0
-2
31
-31
-56
73
17
-6
17
34
13
34
-59
18
28
21
3
35
-4
2
1
0
1
-22
-17
21
11
35
0
71
0
14
61
6
3
-5
30
16
17
-5
0
7
-14
4
0
-74
72
0
53
4
-1
-4
25
0
1
-7
0
45
-15
-1
-4
2
9
-8
-10
-42
-44
-25
74
4
13
8
26
49
6
-5
29
20
-33
87
36
34
0
15
-1
98
15
-101
0
0
26
14
19
0
45
-13
-1
2
0
-11
-4
-5
28
0
38
101
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
22
0
0
0
-23
0
0
0
0
-1
0
-10
0
0
0
0
0
0
-93
0
0
0
0
0
0
45
0
-2
0
0
0
4
-10
0
0
0
0
0
1
-57
0
0
-15
0
0
0
-15
0
0
-29
0
0
0
7
0
0
-6
0
0
1
19
0
0
-5
0
-2
0
-1
0
0
-1
0
14
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
115
0
0
-4
0
0
0
8
0
-3
0
0
0
0
9
0
-7
-1
1
0
0
-1
0
-1
0
0
0
0
23
0
0
0
0
0
0
21
0
0
0
0
-18
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
1
0
0
0
42
0
0
0
0
0
0
23
0
0
0
0
0
0
43
0
0
0
0
0
0
32
0
0
0
18
0
-2
61
0
0
21
0
0
0
-33
0
0
-9
-2
0
-1
-39
0
2
37
0
0
0
-1
0
0
47
0
0
0
38
0
0
0
0
0
0
25
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
-3
0
0
5
0
0
0
5
0
0
5
0
0
0
64
0
9
-3
0
0
0
-4
0
0
0
0
0
0
-51
0
13
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
65
0
0
0
0
0
0
4
4
0
0
0
0
0
53
0
0
0
0
0
0
1
0
0
1
0
-2
0
-57
0
0
9
0
0
9
-147
0
0
9
-1
0
0
29
0
3
-9
6
0
0
-68
0
0
11
9
0
0
27
0
0
2
0
0
0
-20
0
0
-1
-1
25
0
83
0
0
0
0
0
0
24
0
0
0
0
0
0
-14
0
-4
0
0
0
0
-60
0
0
1
0
0
17
-5
0
4
0
0
0
0
54
0
6
-1
-6
0
0
-93
0
-4
0
0
0
0
-53
0
0
0
0
0
0
11
0
8
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
-15
6
17
2
-30
8
6
0
-1
-84
25
34
-71
-10
-5
15
-2
1
-5
15
28
-71
-2
17
-16
3
43
17
-29
-5
-20
-26
5
24
-1
-34
2
12
-18
2
-14
3
21
-4
-5
20
1
-68
-81
-54
-12
-82
53
-2
19
-6
37
0
63
9
-45
14
20
-34
1
-47
-22
15
-66
-14
0
-29
7
13
-50
-61
-42
34
19
48
43
6
-52
37
10
7
27
-35
5
69
-3
22
-1
33
-117
-18
-31
4
7
2
28
48
-21
-13
20
-49
-4
-26
28
-60
64
-28
-36
-7
-22
39
5
-50
33
-14
0
6
5
69
-58
3
-4
3
45
9
38
-51
20
-5
-8
50
-15
35
-91
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
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
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
-14
-2
-15
0
-7
-8
4
0
-6
-26
0
0
-11
-6
0
-8
-54
0
-9
0
15
-18
-6
0
10
27
16
5
-6
6
0
9
9
6
43
-23
-1
0
13
26
-28
-25
-46
-2
42
-23
42
-56
5
9
9
-3
-11
34
14
28
8
13
0
62
61
8
61
-4
11
0
4
-45
14
25
0
-3
-11
2
0
54
-59
0
-44
-45
0
16
57
0
-15
-43
14
61
1
5
16
-24
-42
-8
-4
62
29
3
14
8
0
-1
-5
-27
16
-17
-25
0
23
20
52
0
-22
-35
9
-72
-12
32
23
3
24
0
-7
-37
39
-33
-33
29
0
35
7
0
42
0
11
-30
-5
-15
-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
-1
4
0
0
0
18
22
0
10
-48
-3
0
-8
0
0
10
14
0
0
0
0
43
-4
0
0
-33
-8
-21
-5
2
0
0
-69
0
14
-54
-4
0
22
-15
-31
4
20
-21
5
-5
49
116
15
-2
-28
2
13
-46
69
-7
-7
-26
3
0
25
0
35
0
-5
1
-2
0
5
78
0
5
-3
0
0
-3
0
0
-3
19
0
18
-19
0
0
24
0
-11
1
0
-3
1
-10
0
30
89
95
0
1
-5
0
24
14
20
-29
0
18
0
-1
-45
43
-4
5
88
0
-14
-1
-5
11
0
15
0
48
3
6
0
0
-11
-2
38
0
-3
8
0
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-13
0
-4
0
20
-1
-5
0
0
0
0
-14
0
0
0
0
0
2
32
0
0
3
0
0
-1
-35
0
0
-44
0
0
-1
-23
0
0
5
0
0
-19
22
0
0
25
0
0
0
10
0
1
-14
0
0
0
24
0
0
1
0
-3
0
-11
0
0
-4
0
43
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
-4
0
0
0
2
0
0
-9
0
0
0
-40
0
0
5
0
0
-2
-58
0
0
28
0
0
0
62
0
0
-3
0
0
0
-87
0
-2
-3
0
0
0
-33
0
-10
0
0
-11
0
-28
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
46
0
0
0
0
0
0
-46
0
0
0
0
0
0
24
0
0
2
0
0
8
-15
0
0
0
0
0
0
27
0
0
-6
3
0
0
47
0
0
11
0
0
0
-23
0
0
5
0
0
1
21
0
0
0
0
0
-1
-9
0
0
20
0
0
0
-93
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
4
0
0
-5
0
0
0
-20
0
0
0
0
0
0
-26
0
8
3
0
0
0
-49
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
-5
0
0
18
0
0
5
0
2
-2
-18
0
0
6
-17
0
0
-17
0
0
11
0
0
0
19
0
0
13
0
0
0
2
0
0
0
0
14
0
20
0
0
0
0
-5
0
32
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
4
0
0
0
0
-26
0
0
4
0
0
0
11
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
-16
0
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-16
-7
5
0
0
-14
-30
0
1
-5
22
-62
41
0
-1
-42
19
38
16
-10
0
5
-23
7
7
-35
9
5
19
-8
-53
87
-21
-13
28
1
-23
-4
4
28
-17
-31
33
-50
-38
54
-46
25
0
53
49
35
29
29
0
22
-7
1
56
-18
0
-10
-5
-4
-2
-118
51
-8
-32
7
-11
2
-21
10
3
52
1
-4
10
5
54
3
14
0
56
31
-16
-4
-13
7
-9
-46
-15
-30
19
34
-5
0
-26
19
-75
-10
16
7
33
-60
-61
4
37
0
-38
-8
-10
-57
12
-10
2
0
0
84
-60
-59
49
-5
-5
56
16
-14
-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
-2
0
0
0
0
0
0
75
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
10
0
0
0
-8
0
0
-5
0
0
0
3
0
0
-5
0
0
0
9
0
0
-1
0
0
0
-9
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
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-11
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
-22
0
0
0
0
0
0
-25
0
0
0
0
0
0
-14
0
0
0
0
0
0
11
0
0
0
0
0
2
0
0
0
-5
0
0
0
15
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
13
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
9
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
19
8
4
0
0
0
0
10
0
0
0
0
-2
0
-20
0
0
-6
0
17
20
14
0
0
22
0
13
20
-25
1
0
41
-57
-1
0
-28
0
0
-13
-5
-2
0
-12
0
0
-1
-6
1
1
-18
0
-2
0
0
24
0
-13
0
1
0
0
6
0
-6
-3
0
0
0
-14
0
74
0
0
0
0
0
0
-4
0
1
0
0
3
0
1
0
0
8
0
0
0
-26
0
0
-6
0
0
0
14
0
0
0
-9
0
0
-34
0
0
0
0
0
0
93
0
0
0
-1
-5
0
-48
0
23
0
0
0
0
-7
-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
43
0
-1
0
0
0
0
18
0
0
0
0
0
0
-9
0
0
0
0
2
0
33
0
0
0
0
0
0
18
0
0
5
0
0
0
7
0
0
-7
0
0
0
39
0
0
-2
0
7
0
38
0
0
0
0
-2
0
-75
0
0
-5
0
3
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
62
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
0
0
0
0
0
-6
0
-11
0
-10
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
-15
0
0
0
0
0
0
-43
0
0
0
0
0
39
-9
0
2
-5
-4
0
-38
-30
1
0
-7
-33
0
-1
-2
3
2
39
37
0
0
-32
0
0
25
-8
0
0
-12
0
0
-45
0
0
0
-115
0
0
2
-4
0
0
-23
-1
0
0
0
0
0
6
2
0
0
0
0
0
25
0
-21
0
0
0
-1
-40
0
14
47
-11
0
-1
40
0
18
6
8
0
0
27
0
26
-57
0
0
0
-14
0
47
14
0
0
0
-56
0
4
-4
0
0
0
-105
0
-3
0
0
0
0
-11
-28
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-6
-49
-11
-15
36
35
34
8
-6
24
-24
11
20
21
-8
-52
-23
13
-16
14
48
-5
-30
19
-2
12
33
52
2
24
-43
10
-2
8
-5
-2
-77
-56
22
-2
64
63
0
-30
21
-25
-3
-15
23
-4
95
6
-15
11
26
-13
0
3
-6
1
-27
-2
26
-8
13
19
23
32
-26
7
20
42
22
-27
23
28
14
17
-37
10
25
79
-47
-68
3
-28
3
22
40
-74
9
27
37
-45
37
28
17
35
-10
-20
-24
1
38
80
-22
-15
-11
-52
-13
76
19
2
5
55
-34
21
26
22
-24
0
53
-19
47
-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
24
0
0
0
0
0
5
-6
0
0
48
1
10
3
-44
0
0
5
0
-2
-4
4
1
0
36
-3
-25
1
-10
0
0
5
0
-11
0
15
-1
3
-17
1
-5
1
-3
0
0
54
-16
45
0
70
0
0
-1
0
46
0
-77
0
-1
0
0
-5
0
4
0
0
0
0
0
0
43
0
1
0
0
0
0
37
0
4
1
-4
0
0
-36
0
-71
5
0
0
0
17
0
4
5
26
0
0
-62
0
1
-3
0
0
1
-35
0
0
0
0
-5
0
-30
0
12
-5
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
-18
-6
0
0
0
0
0
-27
0
3
-4
11
0
-5
-61
0
0
-6
8
8
8
-44
1
-4
-20
1
-2
0
-36
6
0
63
21
26
0
11
0
8
28
6
2
0
-97
0
0
44
0
20
4
73
0
0
-7
1
-58
0
-8
0
0
0
0
0
-1
-1
0
0
0
0
0
0
-33
0
26
0
0
20
1
-54
0
0
-7
0
0
1
62
0
6
19
0
14
0
0
0
0
-31
1
-1
0
56
0
0
0
0
0
0
18
0
0
20
1
6
0
-38
0
0
-8
0
-14
0
28
-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
-9
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
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
0
0
0
0
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
9
0
0
0
0
0
0
7
0
0
0
0
0
0
14
0
0
3
0
0
0
43
0
0
-1
0
0
0
36
0
0
-1
0
0
0
4
0
0
-6
0
0
0
25
0
0
3
0
0
0
-24
0
0
0
0
-3
0
21
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
-18
0
0
0
0
0
0
-73
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
3
0
0
0
0
0
0
9
0
0
0
-7
0
0
1
0
0
0
-20
0
0
-1
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
3
0
0
0
9
0
4
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
-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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-13
-51
-14
-29
6
-9
3
27
-69
15
-68
-5
2
-32
17
20
-63
-6
-7
69
-59
20
-36
10
-68
5
-83
63
36
-32
6
14
11
52
7
-7
-32
-8
23
-4
0
34
-53
-66
24
0
6
29
27
3
-39
50
23
0
14
-7
-17
-1
0
-65
-6
33
-5
17
61
24
5
5
-3
15
-49
-8
110
81
3
-10
24
45
-76
56
5
-11
13
-80
-14
8
-12
-14
-18
-13
45
18
-16
11
5
29
-13
84
-27
8
-44
0
-7
-3
24
-63
-73
-32
0
-10
-2
14
-71
-87
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
3
0
-6
7
0
0
7
0
0
1
-5
0
0
-14
2
0
0
46
0
0
9
0
0
0
-11
0
7
2
0
0
0
24
0
0
4
0
-4
0
20
0
0
1
0
-21
0
-84
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
-3
0
0
0
0
83
0
0
0
0
0
0
-5
0
-3
0
0
0
0
-3
0
0
0
0
0
0
-43
0
2
0
0
1
0
23
0
0
0
0
2
0
-7
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
-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
9
0
0
0
0
0
0
-20
0
0
0
0
0
0
23
0
0
0
-1
0
0
-30
0
-3
0
0
0
0
-9
0
0
1
0
0
0
32
0
0
0
0
0
0
-2
0
0
0
0
0
0
-19
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
1
0
0
0
0
26
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
-24
0
0
0
0
0
0
-7
0
0
1
0
0
0
-57
0
0
-1
0
0
0
21
0
0
-5
0
0
0
-46
0
0
8
0
0
0
-75
0
0
0
0
5
0
-2
0
0
0
0
-2
0
-85
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-36
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
39
0
0
0
14
0
0
-6
0
0
0
-3
0
0
0
0
0
0
-53
0
0
0
0
0
0
-41
0
0
0
0
0
0
31
0
0
0
0
0
0
-33
0
0
-5
0
0
0
0
0
0
1
0
0
0
11
0
0
0
0
0
0
-13
0
0
-9
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
17
0
0
-2
2
0
0
1
0
-4
18
-1
0
0
-12
0
3
29
0
0
0
33
0
0
-3
0
0
0
62
0
0
0
0
15
0
-21
0
0
0
0
0
0
13
0
0
0
4
0
0
-47
0
0
0
0
0
0
-75
0
14
-4
0
0
0
-6
0
0
0
0
0
0
-5
0
7
0
0
0
0
14
0
5
0
0
0
0
-33
0
0
-17
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
52
-4
0
-25
-25
-5
31
1
-6
-1
14
9
-14
-16
33
-12
2
-45
57
-46
56
-37
-26
-32
42
-24
-45
28
-78
18
16
-3
-54
24
-29
-11
43
-13
16
-45
-14
10
0
15
14
-3
0
45
6
-1
0
-24
-1
-7
-7
2
-5
0
30
-8
-28
1
-5
11
10
1
58
129
1
24
-38
-29
4
28
-4
-71
42
68
-28
19
-89
28
-45
-14
20
-17
-2
31
32
-65
13
5
37
0
25
-49
-13
-18
-2
1
6
-5
-4
17
54
0
26
47
17
18
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
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
37
0
0
-5
0
0
0
-19
0
0
0
0
0
0
-34
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
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
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
3
-5
0
1
-87
0
1
0
0
0
0
-25
0
0
-8
0
0
0
36
0
0
0
0
2
0
-1
0
0
0
0
15
0
18
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
44
0
0
0
0
0
0
21
0
4
0
0
0
0
-2
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
28
0
3
2
0
-2
-3
14
0
0
-2
51
0
-4
11
0
-2
33
46
-4
5
72
0
-6
30
43
-1
1
58
0
0
34
0
14
0
-60
0
0
-10
0
-38
0
-2
0
0
0
0
7
0
14
1
0
0
0
0
0
-19
0
14
0
0
0
0
-67
0
2
-4
16
0
0
49
0
-6
13
2
0
0
2
0
0
29
81
0
0
-14
0
-10
-48
-1
0
0
42
0
0
5
0
4
0
-8
0
-5
0
0
-9
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
-5
-13
0
0
48
0
3
-2
9
2
0
-41
21
1
0
-44
-9
0
26
-2
-11
-3
1
0
0
-5
3
1
-1
-11
0
0
18
0
-11
0
28
0
0
0
0
-37
0
-25
0
0
0
0
0
0
-46
0
0
0
0
0
0
-101
0
6
5
0
0
7
-28
0
0
-2
0
0
0
25
0
-61
23
0
0
0
62
0
-2
12
0
13
0
-30
0
11
41
0
6
0
6
0
0
16
0
18
0
37
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
-6
-62
0
0
3
-7
0
-3
-13
0
-3
-8
0
0
0
-71
0
0
25
6
0
-1
6
0
0
9
0
0
0
22
0
0
17
0
0
0
42
0
0
0
0
0
0
17
0
0
0
0
0
0
-10
0
16
0
0
0
0
6
0
0
0
0
0
0
21
0
5
15
0
0
0
-2
0
0
5
3
0
0
40
0
1
1
1
0
0
87
0
0
-11
0
0
0
-14
0
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
20
-6
-1
3
0
2
-12
2
0
0
47
6
0
-1
0
0
0
11
0
0
75
-3
4
0
-5
-1
0
9
0
47
0
33
0
0
0
0
0
0
-57
6
0
0
0
0
0
-5
-1
32
9
0
0
0
-47
0
0
63
10
0
0
10
0
35
6
0
0
0
31
0
0
6
-16
0
0
-52
0
39
1
-7
0
0
84
0
0
19
0
0
0
11
0
0
0
0
-6
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
-14
2
-31
25
-11
11
-60
28
3
53
16
-11
-14
-36
-1
26
-3
9
36
-4
-19
21
3
36
17
14
-34
-11
6
13
-1
6
57
3
-8
-5
3
-39
8
-51
71
-52
50
-8
-11
13
-86
-32
-19
-6
-24
28
-37
24
-49
90
-25
0
-9
-30
24
59
-5
4
-4
31
4
17
1
40
-23
-17
-3
-23
-22
-9
-27
-92
-31
26
40
21
-8
45
31
-11
14
107
28
64
-17
-2
2
-5
9
-16
57
-54
-6
20
16
14
57
90
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
-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
35
0
0
0
-2
0
0
-26
0
0
7
0
0
0
31
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
71
0
0
0
0
0
0
0
0
11
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
29
11
0
0
69
-14
102
21
25
0
-6
5
6
0
0
11
-1
0
53
44
-2
0
-15
0
0
-7
0
-55
2
-10
0
1
16
33
89
0
-13
0
0
6
0
0
0
61
3
0
0
-2
0
0
-28
0
19
-5
4
4
15
65
0
-7
8
1
0
0
24
0
-7
32
0
4
8
-3
0
4
26
-30
0
1
27
0
-47
14
2
2
0
-4
0
2
104
15
4
0
13
0
37
-3
0
91
0
6
-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
-50
0
0
-47
8
0
0
-33
0
0
-18
0
0
0
-60
0
0
0
0
0
0
-26
0
0
-2
0
0
0
33
0
0
0
0
16
0
-15
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
25
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
-4
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
65
0
0
-24
6
0
0
-45
0
0
-33
0
0
0
-8
0
-1
6
0
0
0
-18
0
0
8
1
0
0
15
0
0
36
0
0
0
-20
0
0
0
0
0
0
44
2
0
0
-1
0
0
0
0
-14
0
0
0
-2
-29
0
0
0
0
0
0
23
0
3
8
0
0
0
110
0
1
24
5
0
0
25
0
-8
-2
0
0
0
52
0
0
-8
0
0
0
-23
0
0
-4
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
-68
3
-5
61
-1
0
6
28
3
0
-41
103
-11
0
-8
0
0
-6
-7
0
9
-80
0
0
-16
0
44
0
-28
1
0
0
0
14
0
-13
0
-1
0
0
0
0
-53
0
-24
-4
0
-8
0
-24
0
2
19
-5
0
0
-1
0
106
-53
27
0
0
55
0
-1
61
2
0
0
-34
0
0
-27
2
0
0
-21
0
-2
-4
-5
0
0
-8
0
-4
0
0
0
0
-67
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
97
30
-4
43
45
-18
-24
25
-16
-8
29
-26
12
8
17
-27
34
-140
-24
3
-11
-9
31
-33
-21
-76
-1
-5
-71
11
-1
63
55
9
-29
20
0
75
6
-4
-19
-2
27
13
8
-6
5
63
-1
5
113
-20
90
37
-20
0
-9
-67
3
-7
-1
14
-11
-10
0
-29
-39
-9
-24
22
16
-44
35
-35
-42
-2
-44
0
16
-20
9
15
-9
-13
16
-157
7
-14
52
0
7
-42
7
-30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
-14
7
0
0
4
0
2
0
0
0
0
3
0
4
-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
-11
0
3
0
36
0
0
17
0
0
0
-84
0
0
0
0
0
0
14
0
0
0
0
0
0
62
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
3
0
0
-1
0
-4
0
0
0
-1
0
0
-37
0
0
3
0
1
0
-1
0
3
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
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
24
-2
-1
3
11
-21
24
62
12
6
-3
26
43
-2
8
12
0
3
-17
-13
54
-4
-21
0
3
-87
15
-3
0
15
15
0
-1
-7
-8
-2
3
64
0
-1
95
0
5
17
-2
140
-5
46
14
17
13
26
5
12
30
-7
30
38
5
38
-25
51
0
0
-13
0
26
36
-9
1
-3
-3
3
1
-15
23
8
5
1
0
-2
-3
61
33
23
20
0
12
10
-2
-82
0
7
44
-8
-50
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
30
-15
0
3
-22
20
45
-17
0
0
-3
77
10
11
-17
-8
0
0
29
0
-14
0
-108
0
-1
52
0
15
0
56
-4
0
-1
0
1
0
20
4
0
0
-2
0
0
-17
-3
38
-5
0
2
-8
49
2
0
36
0
-2
-9
2
0
-20
-5
1
0
-5
-41
0
-1
-43
-8
0
0
62
2
-41
-21
0
-7
0
56
0
0
67
0
-4
0
-37
0
38
-3
3
79
0
0
43
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
-11
0
0
7
2
0
0
30
0
0
-4
9
0
0
-42
0
0
0
0
0
1
-28
0
0
0
0
0
0
-56
0
0
-1
0
0
0
9
0
0
0
0
0
0
-38
0
0
0
0
0
0
87
0
0
0
-4
0
0
-42
0
6
-51
0
0
0
24
0
0
0
0
0
0
-12
0
-6
0
0
0
0
78
0
0
-1
0
0
0
-63
0
2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
-40
-3
0
0
5
0
0
49
0
-3
0
-31
0
0
33
-1
-53
0
-2
0
0
0
0
0
0
-9
1
-6
0
14
0
0
11
0
-5
0
0
0
7
-24
0
-6
33
-6
0
1
-36
0
50
15
8
0
0
109
0
2
17
6
0
1
80
0
24
7
0
0
0
16
0
0
9
1
0
0
-4
0
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
54
-9
23
-19
-9
9
4
-53
37
-24
-61
18
2
-5
-5
10
21
-52
0
-12
45
8
-3
-109
91
-4
14
-71
5
37
-53
1
53
-1
3
-3
14
7
-8
-32
-13
18
-43
-11
18
15
-79
-13
-4
5
71
-55
4
-1
0
29
65
-5
-7
17
5
36
-5
-62
-9
-27
-3
-20
-5
8
-61
30
47
-31
-1
-11
-14
21
17
16
5
0
-24
12
30
70
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
15
0
0
1
0
10
0
6
0
0
0
0
1
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
20
0
0
0
0
0
0
-8
0
9
0
0
0
0
-2
0
-3
-7
9
0
0
-33
0
10
0
0
0
0
3
0
0
-5
0
0
0
-15
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
-49
0
0
6
0
0
0
30
0
0
0
0
5
0
-22
0
0
2
2
4
0
-14
0
0
0
0
0
0
32
0
0
0
0
0
0
-22
0
-18
7
0
0
0
0
0
0
-9
0
0
-3
2
0
25
1
0
0
0
35
0
0
2
0
0
0
35
0
-3
0
0
0
0
26
0
0
0
0
1
0
43
0
7
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
32
-12
-3
5
18
0
-24
-34
21
0
1
13
-44
-68
4
-16
2
10
14
-43
17
0
11
-2
0
-2
9
-3
0
79
-14
0
0
16
0
0
29
-1
16
-3
-1
43
-50
-13
18
-9
10
27
49
-21
19
-1
36
-14
85
10
0
0
-14
25
-22
-10
0
0
28
0
-27
-40
-5
27
0
13
2
1
24
-20
2
-4
-15
0
-8
-7
-14
41
-1
43
16
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
12
0
0
0
-32
0
0
89
0
-4
0
62
0
0
-30
0
91
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
-21
-2
0
0
2
-90
0
-3
23
8
0
0
53
0
-13
-4
0
0
0
-17
0
-7
-28
-15
0
0
-6
0
39
21
0
0
0
15
0
0
78
0
0
0
73
0
-15
0
0
5
0
-32
-25
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-2
0
0
-40
0
0
25
2
0
0
-46
0
0
19
0
0
0
8
0
0
0
-13
0
0
53
0
0
0
-4
0
0
-20
0
2
0
0
0
0
64
0
1
8
-3
0
0
30
0
-26
14
0
0
0
6
0
0
66
14
0
0
47
0
54
-36
0
0
0
77
0
1
13
0
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
11
0
0
0
38
0
0
0
0
4
0
-58
-5
0
0
0
0
0
-9
0
0
0
0
0
0
-14
0
-2
0
0
0
0
-34
0
0
3
0
0
0
62
0
-3
9
1
0
0
100
0
0
0
0
0
0
10
0
0
8
2
0
0
54
0
0
0
0
0
0
-11
0
21
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-10
10
-109
-46
3
-13
116
-20
-62
-14
0
2
-50
33
-11
-25
23
-1
-40
23
0
-7
10
0
113
-17
23
23
-51
36
76
50
-13
2
19
22
75
5
75
5
14
-37
8
-27
49
2
18
-33
4
-67
-19
71
-17
0
-11
21
-48
27
1
-14
41
30
53
-16
5
-23
-31
-18
2
-19
18
-47
-32
0
-14
0
14
-100
-103
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
-3
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-9
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
-17
0
0
0
0
-5
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
17
4
0
0
0
0
0
52
0
0
0
-5
11
0
44
0
0
0
0
0
0
23
0
0
0
0
0
0
-45
0
-4
0
0
0
8
5
0
0
-2
0
0
-13
9
0
3
4
0
0
0
15
0
0
-7
0
0
0
-2
0
1
0
0
0
0
13
0
-2
0
0
0
3
4
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
-3
11
51
-83
-1
-37
-6
-31
3
-24
48
0
32
-2
0
0
0
0
0
-6
-33
0
1
34
0
0
14
-1
46
-3
6
-9
-1
35
0
25
42
83
13
0
0
-17
-9
-36
-10
-3
-29
-3
-1
-1
-16
-17
-10
0
15
-1
-10
32
1
0
0
43
2
0
31
-13
15
4
5
-6
-90
0
0
58
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-36
0
-1
-4
-34
0
6
-34
0
-37
0
-50
0
0
0
0
-11
0
-61
0
0
0
0
0
0
-46
0
-8
24
0
11
7
-5
0
0
124
-1
0
1
15
0
21
85
0
26
-15
44
0
0
27
0
-7
0
65
0
20
-10
0
0
0
-19
0
0
-49
0
10
0
-14
0
-1
16
0
-23
0
-43
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
-33
0
1
-13
0
0
0
-7
0
0
0
0
0
0
-89
0
0
0
0
0
0
2
0
0
0
0
0
0
33
0
5
0
0
0
0
66
0
0
-9
1
0
0
-5
0
-5
-24
0
0
0
68
0
6
37
0
0
0
-12
0
20
32
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
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
0
0
0
0
0
0
0
8
0
0
0
0
2
0
-63
0
0
0
0
0
0
1
2
0
0
0
0
0
24
0
0
0
0
0
0
61
0
0
6
0
0
0
-62
0
-5
0
0
0
0
4
0
-2
4
0
0
0
8
0
0
-3
0
0
0
53
0
0
0
0
0
0
-28
0
-21
2
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
17
13
136
-47
43
-28
6
0
-5
-18
2
-1
-35
-35
-6
-4
-31
-1
9
-12
-2
45
23
-9
-33
-10
-8
48
20
-8
-24
-42
-2
30
34
-10
10
14
15
-75
53
25
15
7
-10
-68
-7
67
-7
44
-11
33
-32
-22
-70
123
-19
0
26
17
65
5
80
2
11
-22
1
-4
8
-21
0
12
-43
76
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
-22
0
0
0
0
0
0
4
0
0
0
0
0
0
44
0
2
1
-2
0
0
39
0
0
0
0
0
0
62
0
0
3
8
0
0
1
0
0
0
0
0
0
34
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
-63
0
0
5
30
37
0
-14
0
0
0
0
0
0
24
-2
0
0
2
0
0
-100
0
45
-1
0
-2
-2
4
0
0
114
-5
8
0
10
0
-58
-3
3
0
0
46
0
-1
4
22
13
0
14
0
0
-2
0
-1
0
91
0
0
0
39
0
0
-47
0
34
14
0
-4
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
5
0
0
2
0
-5
0
58
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
16
0
0
0
57
0
-5
-5
0
0
0
-23
0
0
2
0
0
0
73
0
0
0
0
0
0
4
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
-119
0
0
77
10
0
0
-23
-3
0
44
-4
0
0
-33
0
0
0
0
0
0
49
-23
14
-10
-1
0
2
71
0
-2
14
4
0
1
-15
0
6
11
-9
0
0
24
0
11
33
55
0
0
-54
0
113
-10
0
0
0
-5
0
0
-37
6
-1
0
-44
0
25
4
0
0
0
16
49
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
0
0
0
0
48
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
62
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
-1
13
0
-4
-20
-5
0
-9
-35
0
6
34
22
-42
22
-7
67
-44
3
-4
-11
8
-108
-4
9
-15
0
40
14
-56
14
2
-12
2
8
-10
-26
-51
-8
23
-19
-44
-88
-47
21
1
2
5
17
2
-14
16
25
0
0
-9
-11
-45
-2
0
-9
-40
-5
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
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
31
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
33
0
0
-1
0
0
0
1
0
0
0
0
0
0
-5
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
0
0
0
0
0
0
-56
0
-1
0
0
0
5
47
0
0
29
-2
0
4
9
0
-10
5
-1
0
0
6
0
14
0
6
0
0
-16
0
20
0
0
0
0
6
0
0
0
0
0
0
-26
0
2
0
0
0
0
-61
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
-29
0
0
-1
0
0
0
-8
0
24
-2
0
0
0
-26
0
1
-29
0
0
0
-71
0
-11
-10
0
0
0
16
0
0
3
0
0
0
2
0
-2
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
22
-6
0
0
18
13
0
-5
0
0
-5
17
0
-24
21
20
0
6
43
0
0
3
25
0
8
18
0
19
33
-15
0
2
9
0
3
60
-91
0
0
16
0
37
57
-26
0
0
-9
0
0
-6
1
0
0
-68
0
-2
62
-1
0
0
32
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
4
63
-5
-23
2
-21
-42
33
7
-26
-72
24
8
-91
-12
17
-22
1
3
21
-2
3
-21
-6
-63
27
5
-43
32
-13
-41
-9
-1
49
44
-9
-48
-7
-16
23
0
6
19
49
-16
14
-9
-24
-28
55
-38
42
0
0
-1
-32
-58
-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
-2
0
0
0
0
0
0
-1
0
-1
0
0
0
0
3
0
0
0
0
0
0
48
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
-44
0
19
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
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
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
3
0
-11
21
0
0
0
-3
0
0
14
0
-4
0
3
0
1
0
0
0
0
-1
0
0
0
0
0
0
-56
0
4
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
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
0
0
0
5
0
0
9
0
0
0
0
0
0
3
0
7
-5
13
0
0
53
0
0
0
0
0
0
32
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
30
-57
8
-25
-14
-34
0
16
-20
-1
-1
2
-89
0
33
-12
-27
6
0
4
-2
1
-33
93
-2
0
-4
7
53
67
8
24
0
-15
2
0
179
-3
4
0
-37
0
65
5
0
13
0
39
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
9
0
0
0
0
0
0
6
0
0
-2
0
0
0
16
0
0
0
0
0
0
-68
0
-1
0
0
0
0
1
0
0
0
0
0
0
15
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
26
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
3
0
0
0
1
4
0
0
5
0
0
0
8
0
0
63
0
0
0
12
0
2
-1
0
0
0
10
0
6
-1
0
0
0
-7
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
-20
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
57
17
-8
21
27
-13
6
-25
6
11
-33
37
-53
0
-17
-76
2
27
-9
-55
-8
1
-59
0
67
-45
13
0
0
11
1
23
-13
10
5
0
-14
3
0
-6
0
-8
-2
-41
-43
-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
-16
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
125
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
-4
7
-2
4
-1
-11
0
-32
0
35
13
7
0
0
-44
0
19
57
-7
0
0
-16
6
3
-19
-18
0
0
69
0
0
-11
0
0
0
32
0
44
0
0
5
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-7
0
6
44
0
25
4
0
0
0
5
0
0
0
0
0
0
-7
0
0
-2
0
0
0
35
0
0
-11
0
0
0
-4
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
65
0
0
-2
0
-2
0
11
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
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
0
0
0
0
0
0
0
77
0
0
2
0
0
0
-19
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
33
0
0
0
0
0
0
-48
0
-3
0
0
0
0
15
0
0
0
0
0
0
101
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
21
47
40
4
-13
-31
19
72
-9
-53
-6
21
1
-5
74
-24
-30
2
-5
22
-2
-14
-33
63
24
0
-18
0
-82
-1
1
-78
0
-23
98
-7
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
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
-3
0
0
0
-3
0
0
4
0
7
11
0
0
0
30
0
0
5
0
0
0
72
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
119
10
0
0
0
37
0
1
10
33
0
0
73
0
-29
-35
0
0
0
33
0
0
-31
2
0
10
9
0
59
7
0
-7
0
-18
-9
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
-2
4
-5
-29
0
-6
0
-67
0
4
-36
0
0
0
14
0
13
15
0
0
0
38
0
0
0
0
0
0
-52
0
-19
0
0
-34
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
-15
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
-5
0
0
1
0
0
0
-4
0
0
4
0
0
0
68
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
-39
-4
10
16
-10
5
-19
2
14
-3
-32
73
-15
44
-2
-2
0
49
24
-32
8
0
-11
-6
46
31
-1
-32
-1
-37
-4
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
15
-3
43
0
1
-81
3
149
37
-2
4
0
42
0
0
-11
-14
15
0
-4
0
-11
0
0
20
0
21
-2
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
86
0
2
64
41
-4
0
62
0
12
-5
1
0
0
-82
0
-6
8
0
8
18
9
0
3
0
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
-1
0
0
-22
0
-14
0
0
0
0
1
0
0
0
0
0
0
-50
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
-11
0
0
0
-2
0
0
0
0
0
8
0
0
0
2
0
0
0
0
0
0
25
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
0
0
0
0
0
0
0
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
5
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
56
1
-7
71
-10
2
0
0
0
-2
16
-78
57
-2
-19
0
59
-13
0
-70
0
-24
-1
4
-55
-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
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
10
-7
-20
-5
0
10
4
-47
0
0
0
0
1
0
3
0
-2
0
5
4
0
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
-14
0
51
99
11
3
0
-30
0
1
10
0
-1
0
24
0
1
0
0
-36
0
30
-9
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
32
2
3
1
25
0
0
-19
0
1
0
-11
0
-31
21
0
-5
0
9
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
-6
0
0
-6
0
0
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
51
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
46
-7
0
71
-20
48
-2
24
-14
5
26
-2
6
-21
-22
-38
2
-13
-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
-31
0
-1
-21
-6
7
0
12
0
0
3
0
16
0
4
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
35
0
0
-20
20
-2
-16
-30
0
28
0
0
-10
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
-31
0
0
1
0
0
0
0
0
-3
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-38
-6
16
30
0
-25
0
-1
46
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
15
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
1
0
0
0
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
-1
63
-181
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
11
-2
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
20
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
14
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
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
9
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
-19
57
-3
34
36
-96
89
33
80
117
7
15
-29
17
-44
-16
25
5
-48
46
-2
55
26
-90
-63
-8
-20
42
-12
-85
-63
-99
-49
-4
17
-54
10
-58
-89
37
5
-31
-43
-69
-29
-55
-4
27
-10
-60
-2
-5
-8
-54
-29
0
0
0
0
0
0
0
-34
23
64
-16
23
-10
9
25
40
-35
-18
47
76
35
-2
52
60
27
15
-22
34
-4
-35
8
-14
-7
-66
-9
51
-3
-43
-75
20
63
18
-2
-78
-14
-47
27
-49
-16
-11
-8
-34
14
-67
43
-4
-85
-109
-38
-43
-31
-31
20
-42
-5
-29
-29
50
33
2
-32
0
13
18
0
-10
-8
-9
20
74
19
6
17
-23
6
3
24
25
10
-48
-29
-15
0
82
-60
-2
33
-8
37
-9
-74
-60
9
-45
-68
-60
-2
-90
-11
44
-9
-120
-2
-25
-29
-62
-63
-49
18
-85
15
-45
10
-60
-6
-4
-56
13
-73
-26
-17
-14
-30
4
-11
-46
-44
-34
7
-74
-19
8
-16
7
14
-18
-2
-17
7
-81
65
25
49
-5
16
-12
-38
-61
20
67
0
39
10
-109
-6
-26
-34
20
6
-9
-4
33
1
4
12
27
0
-127
25
-38
-17
0
-37
-2
13
-79
-58
-53
23
-14
15
-39
31
12
-70
-6
-15
-23
32
-60
10
18
67
30
-2
111
62
29
-18
24
17
1
-12
44
0
-20
-23
-38
24
128
-32
-48
-20
16
-11
-20
-3
38
1
-29
33
-53
-15
-62
-18
-12
-30
56
-100
-2
-26
1
58
5
69
-14
-20
-43
19
-133
-28
-24
0
0
0
0
0
0
0
0
0
0
34
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
-34
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
-9
0
0
-4
0
0
0
-5
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
0
0
0
4
0
0
7
0
0
0
0
0
13
-1
-1
2
0
0
0
-15
0
0
-3
0
0
-8
-2
0
0
1
0
0
0
-9
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
6
0
0
0
0
0
0
25
9
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
-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
-2
0
0
0
0
0
0
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
9
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
39
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
-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
-23
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-1
0
0
-9
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
10
0
-1
0
0
-1
-27
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
-10
0
0
0
0
0
0
1
-1
0
0
0
0
0
27
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
10
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
-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
-3
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
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
-5
0
0
0
-2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
43
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
11
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
1
0
0
15
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
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
33
0
0
-7
0
0
8
0
0
0
0
34
0
0
-2
0
0
0
0
0
0
0
0
0
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
0
0
0
4
-9
0
0
0
0
0
29
0
0
-7
0
0
0
55
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
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
4
0
0
0
0
0
-8
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
-1
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
-35
5
0
0
109
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
-12
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
-13
-2
2
-6
2
0
-1
-76
-1
-10
0
127
2
0
4
8
0
0
-13
0
1
-3
-1
0
0
-14
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
-85
0
0
0
-2
0
118
61
69
-60
18
0
2
-77
0
0
-64
0
0
14
-40
-3
-52
55
0
0
34
-15
0
0
-4
0
0
-25
8
0
0
3
-1
0
0
89
0
0
0
0
0
0
0
0
30
2
0
-3
0
-35
0
0
5
0
0
0
46
0
0
0
0
1
0
-63
21
0
-9
0
0
0
-4
0
3
8
-18
0
25
18
-2
0
5
0
0
-20
26
0
-4
4
0
0
0
28
0
0
0
0
0
0
-42
0
0
0
-3
0
0
-5
0
0
0
0
0
0
90
0
0
5
0
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
0
-39
0
-46
4
0
0
0
42
0
-18
-9
-3
0
-8
5
0
9
0
0
0
0
-23
0
0
-6
0
0
0
-78
0
-2
0
-1
0
0
16
0
0
0
-7
0
0
-8
0
2
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
8
0
0
0
0
0
-54
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
5
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
-7
0
0
0
0
13
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
-15
0
0
0
0
0
0
-14
0
0
0
0
0
0
-9
0
0
0
0
0
4
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
-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
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
7
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
-11
-4
0
0
0
1
0
5
0
0
9
14
0
0
0
6
0
0
0
4
0
11
-1
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
-14
0
0
1
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
-25
0
10
0
7
0
0
-50
-1
0
1
-1
0
0
-19
-4
0
14
0
0
0
16
0
0
-8
1
0
0
0
2
0
0
0
0
4
0
-9
0
0
0
0
0
0
-8
0
0
0
0
-16
0
0
-1
0
0
0
0
0
95
-5
5
29
4
0
15
21
0
0
11
0
0
39
5
0
33
-1
0
0
7
29
0
0
53
0
0
-1
-36
0
0
-5
0
0
-2
-22
0
0
-5
0
0
0
5
0
-35
-2
0
0
0
49
0
0
0
0
1
0
-53
-1
0
0
0
0
4
23
-3
0
-3
0
0
4
37
-5
-3
4
-4
0
-3
31
0
-2
-5
0
0
-1
-69
0
0
-11
0
0
17
-28
0
-1
9
0
0
0
-32
0
-1
-1
-5
0
0
35
0
0
0
0
0
0
0
0
0
0
11
1
0
32
0
0
0
0
0
0
98
0
-1
0
0
0
0
15
0
8
0
0
0
0
-14
0
0
0
0
0
-1
-1
0
-8
5
0
0
0
33
0
0
0
0
0
0
14
0
0
-2
0
0
0
-71
0
14
-2
0
0
0
14
0
7
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
31
-22
99
22
27
-10
13
-13
62
-79
43
-29
-66
38
-33
5
59
-54
36
2
-21
51
-11
-3
5
-36
-36
-24
-40
-46
-24
-118
16
-32
-14
-109
16
-2
-11
-16
-7
-4
1
-7
-5
-1
57
-10
0
0
0
0
0
0
0
83
67
2
9
88
-1
-27
2
-58
-16
-44
21
-83
14
3
19
36
64
8
12
-42
15
29
-12
-60
6
-69
-22
-53
-15
-12
-32
-19
-105
4
-15
25
-8
49
-57
26
-5
-44
-96
-34
3
-39
44
-5
-46
-103
-15
-25
-14
-37
44
7
18
56
22
57
44
0
54
65
108
-30
34
4
-67
-5
35
-36
16
-5
11
1
-12
21
87
-45
-50
-119
29
-38
-26
-56
26
34
18
-12
-23
-14
-74
-35
-5
-8
-4
30
-25
-18
5
-45
9
33
-87
32
5
-81
-7
-22
-52
-43
-4
-3
95
-74
-28
-28
49
-6
44
-184
41
4
-50
-23
10
54
54
-2
43
-2
-54
9
-3
4
-18
-61
-73
5
2
46
14
-3
19
49
-43
-24
-45
-34
4
40
49
-38
-10
-76
64
-29
14
-31
50
-28
72
42
-36
0
4
-1
11
-9
-45
-24
-24
7
-27
-1
-17
-16
-20
-23
-4
37
3
55
31
-30
-135
19
-55
-17
-11
-48
45
-132
-23
-62
-9
-63
-9
-25
20
28
27
-33
-53
-35
-35
89
3
48
-11
-62
36
-33
57
41
-21
32
12
-12
33
-64
-4
-23
-3
-55
35
1
-16
40
-46
7
-26
-4
-60
155
-21
2
-5
89
-5
-103
-34
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
14
-1
-104
-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
-18
0
0
-1
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
58
0
0
1
-10
5
0
-71
9
0
0
-3
0
0
-21
-2
0
0
0
0
0
-8
-3
0
0
0
0
0
-7
5
0
0
1
0
0
2
10
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
-14
0
0
0
0
2
87
3
65
-11
-4
0
5
-50
1
0
101
0
0
-10
4
0
4
-3
0
0
26
-4
0
0
2
0
0
-5
27
0
-6
-3
0
0
0
71
0
0
0
0
0
0
39
0
-18
0
0
0
0
-13
0
0
0
0
0
0
2
-6
0
0
0
0
0
-88
5
0
-2
0
0
13
80
0
0
-6
-3
0
15
-69
0
4
-1
0
0
-13
69
0
0
0
0
0
0
-23
0
0
1
0
0
0
-26
0
0
-4
0
0
0
-81
0
0
0
0
0
0
0
0
0
0
0
1
0
49
0
-4
0
0
0
0
25
3
0
0
17
0
0
-6
0
-17
0
0
0
2
98
0
0
0
0
0
0
-1
0
-22
0
0
0
0
5
0
0
0
0
0
0
-4
0
-2
0
0
0
0
55
0
0
0
2
0
0
-39
0
-14
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
29
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
15
0
0
0
0
0
0
34
0
0
0
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
17
0
0
0
0
0
0
2
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
-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
-2
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
25
0
0
32
0
0
0
5
0
0
-3
6
0
0
-4
0
0
9
0
0
0
1
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
-18
0
0
0
0
0
25
-2
13
13
-1
0
-19
23
0
0
-87
0
0
49
3
0
22
52
0
0
-20
-14
0
0
-16
0
0
0
-42
0
0
2
0
0
0
51
0
0
-5
0
0
-4
6
0
43
0
0
0
0
2
0
0
0
0
0
0
-72
10
0
0
-1
0
0
4
1
0
0
0
0
1
-119
0
5
19
-1
0
-8
-15
0
0
47
0
0
-6
29
0
0
15
0
0
1
-33
0
0
0
0
0
1
-49
0
1
-1
0
0
0
-37
0
0
0
0
0
0
-14
0
0
0
0
0
0
-10
0
0
0
0
0
0
-48
0
0
1
0
0
0
96
0
-59
0
0
0
0
66
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
40
0
2
0
0
0
0
6
0
-2
0
0
0
0
56
0
-1
0
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
75
22
31
-4
-59
-25
8
-25
-3
-76
-39
-131
-9
-55
-1
-4
0
1
-43
-2
-77
-20
-1
21
-4
-52
0
14
2
-27
0
0
18
0
0
17
0
1
-2
2
0
0
0
0
0
0
0
-95
-94
43
-27
-43
-39
35
-22
-43
-3
37
-13
2
62
-17
21
14
-52
-22
-40
-1
-34
4
-61
-2
-75
0
18
-7
-28
-1
1
-120
-17
-62
-71
82
5
0
-25
-1
-58
0
-39
2
1
31
-19
-74
0
0
37
0
0
-5
-29
6
52
148
-17
32
5
-1
56
67
25
-104
23
-1
1
-94
0
41
89
-18
-40
-1
-42
-23
48
17
-47
-6
33
-60
-27
5
-35
24
25
-8
103
-7
0
-6
-82
-2
6
-2
-1
-1
-26
-85
-56
16
21
-1
-1
-4
-2
-1
18
0
-5
-8
-18
0
19
1
-68
-14
92
-5
-24
-4
0
29
64
-5
-14
84
32
14
81
-21
21
9
148
-2
-17
2
-37
-23
35
15
-42
20
-54
-39
10
22
21
-13
-21
15
18
-1
-13
-41
-52
-55
-9
-26
-2
26
11
-2
8
-1
-14
0
0
-32
-6
-25
0
-26
-3
-1
2
-4
20
-5
-32
-14
-59
-117
-5
-8
46
-72
2
22
-69
10
10
-53
15
34
-24
5
-33
-14
6
51
55
-27
-18
43
27
-14
-43
0
-3
-40
-81
-24
7
-42
-8
-44
7
-40
20
14
39
-2
1
-8
-3
-40
0
-17
0
-12
-8
2
5
0
-10
2
11
26
-5
-4
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
-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
-60
0
0
0
0
0
0
0
0
0
0
0
27
6
-2
2
15
11
0
-40
0
-3
3
14
0
0
-62
-24
3
1
-37
-3
33
21
16
0
0
-10
0
0
-3
0
0
0
-4
0
0
0
3
0
0
6
0
-2
0
2
0
0
0
0
-3
0
0
16
0
0
0
0
0
24
31
-20
89
3
0
9
-9
1
6
56
0
0
-30
0
3
-8
35
15
0
-54
-7
0
-2
-5
-4
-15
-1
54
0
0
-44
5
0
0
9
0
0
-3
0
0
0
-66
-1
-46
1
-15
4
0
-66
9
0
0
1
0
0
11
1
0
0
0
0
8
-1
49
-2
34
0
0
13
-35
-5
2
-7
9
0
-2
0
0
-5
-44
-4
-4
25
-32
2
7
24
1
0
0
-99
0
0
-15
-3
0
0
-62
0
1
31
9
2
0
14
0
0
-1
0
4
0
-23
0
0
-6
2
-1
0
14
0
0
0
2
0
0
-21
-3
-9
0
0
0
2
-4
0
-20
14
0
0
-1
0
0
2
5
0
0
0
50
0
24
-18
1
-2
0
-50
0
0
21
-3
0
10
-28
0
-14
6
0
0
-11
-8
1
-4
-2
-2
0
0
6
0
-3
0
0
-1
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
-12
0
0
13
0
0
0
9
-3
0
0
15
0
0
2
-3
0
7
0
0
0
0
-3
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
70
0
0
-46
2
0
0
20
0
-3
-26
0
-1
0
16
-2
0
26
-5
0
0
-5
0
13
-4
0
0
0
-1
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
1
0
-35
4
34
45
6
0
-5
18
0
0
26
0
0
-11
2
7
-13
51
-4
0
31
5
0
0
-13
0
0
-15
-34
0
0
34
0
0
10
26
0
0
0
0
0
0
-102
0
65
0
-2
0
0
5
0
0
0
0
0
0
14
0
0
0
0
0
0
27
1
-5
5
0
0
0
-13
6
2
-17
-9
0
0
91
0
-2
-14
0
0
6
5
0
2
2
-6
0
-1
12
0
0
-8
0
0
0
-31
0
0
5
-3
0
0
79
0
0
0
0
0
0
26
0
0
13
0
0
0
-18
0
0
0
0
0
0
-26
-4
0
-8
2
0
0
56
0
-9
0
0
0
0
-62
0
0
-7
0
0
0
-54
0
6
0
0
0
0
7
0
0
0
0
0
0
53
0
0
-2
0
0
0
66
0
0
0
5
0
0
46
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
-63
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
5
0
0
0
0
0
-57
0
0
0
10
0
0
0
0
0
0
0
0
20
-3
-4
42
0
0
-48
0
0
0
-33
0
2
73
0
0
0
-33
0
4
3
33
0
0
0
0
-1
-1
6
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
25
0
0
0
2
1
39
-20
-2
-14
-1
0
9
-82
8
0
-5
0
0
61
41
0
-7
29
13
0
-5
24
0
0
31
0
0
-3
30
0
0
9
-3
1
-1
19
0
0
-3
0
0
5
13
0
6
-2
8
9
0
-8
0
0
2
0
0
0
-101
8
0
0
0
6
-2
-31
0
0
0
0
0
0
-19
2
4
-31
-7
0
3
-38
0
0
9
0
0
14
-25
0
0
31
5
0
0
-35
0
0
3
0
0
0
28
0
0
0
5
0
-3
46
0
0
1
0
0
0
-1
0
0
6
0
0
0
-55
0
0
0
0
0
0
-2
5
0
0
0
0
0
44
0
11
-11
0
0
0
15
0
0
0
0
0
0
50
0
-1
0
0
0
0
-44
0
0
0
10
0
0
51
0
0
0
-1
0
0
36
0
0
6
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
34
22
33
15
-7
0
5
8
-24
37
-6
-14
48
-4
-38
-20
0
0
0
0
53
-25
-25
0
0
0
15
-10
7
1
0
-5
0
-3
-6
0
0
12
0
0
0
0
0
0
0
0
0
0
0
-109
-47
24
-2
5
-62
9
-6
-99
-4
-4
20
-6
85
-4
-41
36
-6
13
-15
-6
-24
-124
-4
-16
106
4
-35
-108
-21
0
0
4
0
-65
57
5
0
0
-35
0
-36
-3
-52
0
0
5
-31
-74
0
0
-56
0
0
0
-71
3
46
50
40
18
-59
0
-12
70
-13
-32
-14
0
0
-33
-17
3
57
8
-10
-6
-118
-33
3
-2
-12
41
-1
-32
-39
3
-4
1
17
21
98
-56
0
7
-80
-1
-16
-4
27
0
-62
-25
22
14
5
2
0
0
-5
1
22
0
29
40
-2
0
23
-3
22
1
52
9
-27
-4
7
-20
99
58
9
69
31
3
-79
7
5
-10
11
8
5
-33
16
8
-5
29
-24
-29
-7
5
-4
0
70
2
-3
1
-43
-2
0
-53
-15
-2
0
2
1
1
1
0
-41
-6
-29
0
4
11
-14
14
0
53
-21
0
3
0
0
19
51
31
-25
24
-2
0
-6
37
72
-7
24
1
-4
-5
-80
-16
-14
-71
-2
-14
-89
15
-3
-34
-5
-18
-8
13
-14
0
-30
82
-53
0
26
14
0
109
7
21
-3
-3
-80
0
0
-2
13
-1
0
-23
0
-54
-1
-2
-3
0
-128
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
21
-1
0
0
22
0
-4
-5
3
0
0
0
0
-72
10
-8
0
0
0
0
21
0
0
0
0
0
0
53
0
8
0
14
0
0
27
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
17
2
0
0
-60
0
0
42
2
0
0
-13
0
38
-100
0
13
0
-35
23
-3
5
-34
-2
0
-20
0
-9
-6
23
0
0
16
0
-61
0
-9
0
3
-4
1
-46
0
-9
0
0
0
0
-18
0
0
52
0
-1
0
-26
0
-27
-34
-32
15
0
0
-34
49
0
0
16
0
0
-46
15
0
21
32
0
2
10
-20
0
0
-31
0
0
78
-48
0
0
-64
0
0
31
-16
0
0
53
0
-4
0
-63
0
39
-16
13
10
0
-2
0
7
0
0
-57
0
10
73
25
0
0
0
1
-6
4
0
10
0
0
76
13
6
-1
-6
0
0
-45
-3
0
0
32
0
-3
-3
-1
0
0
-11
0
-1
16
28
0
6
20
0
-3
10
-2
0
10
-66
11
-5
0
-20
0
0
2
2
12
0
44
0
0
-22
0
11
0
-3
0
0
0
0
1
0
6
-4
2
0
0
0
-6
43
0
-78
1
0
0
-3
-41
0
1
37
-2
0
-5
21
0
14
-23
0
0
-13
32
0
-7
-3
9
0
-12
21
0
-46
-10
0
0
-1
16
0
-14
-5
0
-8
0
-2
0
-65
0
0
-8
0
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
0
-8
0
0
0
1
0
0
5
-3
5
0
-1
-1
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-109
0
0
0
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
47
-1
0
0
13
0
0
-31
-1
-9
0
-29
0
0
-40
51
0
0
-10
26
0
77
-1
0
0
-3
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
-8
0
0
-18
0
0
0
0
0
80
-13
-79
3
0
0
61
-14
0
0
-192
0
0
-34
-34
7
128
-86
4
0
40
40
0
3
-49
0
0
43
109
0
0
-2
-4
0
3
3
0
-2
-66
0
0
-6
-40
0
5
0
0
0
0
-71
0
0
0
0
0
0
30
16
-4
0
0
0
0
75
1
0
2
0
0
-25
30
3
-8
123
0
0
5
-13
2
1
-26
0
0
20
-46
0
0
44
2
0
-3
10
0
0
57
0
0
0
-108
0
0
5
13
0
0
5
0
0
0
0
0
-1
-44
0
0
0
-3
0
0
-49
0
0
0
0
0
0
39
-2
0
-17
0
0
32
-28
-2
7
-1
0
0
0
47
0
4
51
0
0
-4
-71
0
5
0
0
0
16
41
0
-4
4
0
0
0
-107
0
56
-8
0
0
0
48
0
0
-2
0
0
0
35
0
-49
7
0
0
0
-66
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
32
14
32
4
-3
35
-14
4
17
3
-1
-8
0
59
29
31
-2
0
-59
-30
31
-6
6
2
-20
-1
0
3
0
0
3
0
0
0
3
0
0
0
0
0
0
0
-57
-67
-14
17
9
5
-79
-128
21
-22
-2
7
-8
19
-3
40
-13
65
-63
33
-6
1
-44
56
60
21
-13
-38
6
-48
-13
0
30
47
-55
-2
5
2
-1
-15
1
-11
-4
-71
0
0
-33
11
-18
0
0
-12
0
-1
6
13
-14
17
-61
-18
24
-65
-4
-27
0
-37
105
13
-13
-33
-79
-7
-44
48
-100
-16
15
33
18
36
-43
-36
-11
-23
-4
-9
14
-2
-6
51
-35
61
-3
-8
1
64
-15
30
47
-2
-8
-36
57
-28
-5
-1
17
0
0
-10
0
26
0
23
12
-42
0
5
4
-58
-7
-45
37
99
14
-39
79
27
6
-63
-59
-7
-6
15
22
7
73
-39
0
43
38
13
92
-51
-19
-59
-6
-62
-16
29
-26
10
-22
-22
14
-13
9
-17
-11
10
-64
4
-4
0
-8
-60
1
-2
-4
-22
1
1
-77
130
-25
0
-54
6
0
-1
-9
-13
-14
20
-8
6
6
19
-9
57
35
-29
10
-15
-8
39
149
30
25
-15
22
4
-10
16
29
-43
-41
41
-14
-20
16
-27
13
-61
-53
-52
-5
17
15
-5
-34
-85
43
-5
-16
-25
8
-3
-109
-84
-49
-5
26
0
-36
1
-16
23
0
-46
-21
-13
-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
-1
-26
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-70
0
0
-5
0
0
-85
0
0
0
0
0
0
0
0
0
0
0
-36
33
0
0
8
-25
0
19
-1
0
0
73
-6
-1
-10
0
0
-8
5
-3
-2
32
-11
2
0
56
0
0
7
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
-5
0
0
0
0
-98
0
0
96
0
0
0
-1
0
-14
125
-11
-4
0
0
-71
30
0
0
1
0
0
80
84
-2
-23
-30
-10
0
-30
0
0
0
-16
0
0
-1
74
0
0
5
1
-1
5
62
0
0
1
3
0
0
6
0
-24
9
0
0
0
-40
0
0
0
0
-3
0
64
7
0
0
0
0
1
35
13
0
-27
0
0
6
36
0
-2
-58
1
0
13
69
0
0
60
0
0
-21
0
0
-7
-43
33
0
-13
-19
0
0
4
-1
0
0
26
0
4
1
-6
0
0
-41
0
5
-1
0
0
0
86
0
-1
0
-2
0
0
-13
0
0
0
0
0
0
24
3
0
-2
0
0
0
68
0
43
3
0
0
0
40
0
0
-5
-4
0
21
0
0
-8
-8
0
0
-13
18
0
-5
0
2
0
5
76
0
-9
3
8
0
0
144
0
0
-5
2
-1
0
-1
0
37
0
0
15
0
79
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
4
0
0
53
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
10
0
0
-14
0
0
0
60
0
0
24
0
0
0
22
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
-9
13
13
132
-1
0
-26
78
0
-4
-8
0
0
-6
-17
0
-14
18
0
0
-24
76
0
0
6
0
0
8
-52
0
-6
0
0
0
0
33
0
0
0
0
0
0
25
0
14
0
0
0
0
4
0
0
0
0
0
0
72
0
0
0
0
0
0
55
-3
0
0
0
0
-3
19
0
0
6
6
0
0
-52
0
0
5
0
0
6
-16
0
0
0
0
0
0
45
0
0
0
0
0
0
26
0
0
0
0
0
0
-71
0
0
0
0
0
0
-6
0
0
0
0
0
0
-18
0
0
0
0
0
0
-14
-6
0
9
0
0
0
24
0
18
5
0
0
0
27
0
-5
0
0
0
0
-25
0
-5
-1
0
0
0
-9
0
0
0
1
0
0
16
0
4
0
0
0
0
27
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
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
-10
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
83
0
0
-25
0
0
0
13
0
0
68
1
0
0
-10
0
0
2
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
8
-3
0
0
-14
0
0
0
0
0
50
0
9
4
0
0
3
-24
0
0
1
0
0
-4
-4
11
-2
-2
-6
0
1
9
0
0
8
0
0
0
14
0
0
0
0
0
0
-18
0
0
0
0
0
0
7
0
2
0
1
0
0
-8
0
0
0
0
-1
0
-5
0
0
0
0
0
-3
-74
1
0
0
0
0
0
62
-4
0
-2
-1
0
0
33
0
0
0
0
0
0
-7
0
0
0
0
0
0
7
7
0
1
0
0
6
4
0
0
0
0
0
0
-45
0
0
1
0
0
0
-4
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
-4
0
0
0
0
0
0
26
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
5
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
43
0
0
-4
0
0
0
17
0
29
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
9
5
-7
-25
-15
0
1
98
0
0
-3
-56
0
-7
43
-8
9
0
-23
-10
6
-60
-55
0
0
-2
0
-1
2
15
0
0
0
0
0
24
43
0
0
-5
0
0
17
8
0
0
0
0
1
0
0
19
0
0
0
-1
2
62
44
-41
13
6
0
53
-8
-2
0
-15
0
10
26
44
0
26
27
77
3
16
-26
1
0
5
0
0
-17
14
0
0
0
0
0
-3
-84
0
0
5
0
1
6
58
0
-4
0
0
0
-2
-10
0
0
0
0
0
0
82
2
3
0
0
0
0
-37
29
0
0
0
0
-24
-89
18
-9
-37
0
0
4
-16
3
-7
0
0
0
-3
7
-2
9
5
-2
0
2
-96
0
-3
-1
-1
0
0
-18
0
0
0
0
0
-9
-170
0
0
0
5
0
0
-81
0
0
0
1
-13
0
-52
0
0
0
0
0
0
49
-3
2
0
-8
0
0
26
-2
-52
-2
0
0
0
59
0
3
2
0
0
-3
18
0
-23
0
0
0
-11
53
0
0
0
15
0
-1
-53
0
-10
0
-7
0
0
74
0
5
0
-6
2
0
-87
0
-14
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
0
0
0
0
0
0
-5
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
1
0
0
-18
2
0
0
16
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
0
0
0
0
0
0
0
1
0
-18
-3
-5
-2
0
0
13
-5
0
0
-1
0
0
-1
-9
0
-1
1
0
0
-4
-11
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
35
0
0
0
0
0
0
-27
0
0
0
0
0
0
-15
11
0
0
0
0
-6
9
0
0
-1
0
0
0
48
0
0
0
0
0
1
-5
0
0
0
0
0
0
-18
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
17
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
14
0
0
0
0
0
0
0
0
0
0
0
-108
0
0
0
68
-5
0
-21
0
0
0
-11
0
0
-12
-1
0
0
5
3
0
-5
-21
0
0
17
0
0
53
0
0
0
5
5
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
0
0
0
0
0
88
-60
-5
123
6
0
56
-18
0
0
-43
0
0
83
-57
0
14
-39
2
0
-104
14
0
8
69
0
0
-66
-5
0
-5
15
6
0
44
-41
0
0
-10
0
0
0
-16
0
33
1
7
0
0
50
0
0
0
0
0
0
-71
50
0
0
0
0
0
75
3
0
-16
0
0
24
42
0
0
2
-8
0
-33
34
0
-2
-3
0
0
22
-89
0
5
-10
0
0
35
-44
0
0
-5
0
0
0
11
0
0
60
3
0
0
32
0
0
0
0
0
0
-45
0
0
0
1
0
0
10
0
0
0
-1
0
0
34
-1
0
25
0
0
0
31
0
85
0
0
0
-1
-24
0
0
5
1
0
-7
-28
0
0
36
0
0
2
29
0
-2
0
-4
0
0
-19
0
32
-3
0
0
0
57
0
0
2
2
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
0
0
0
0
0
4
-5
0
0
0
0
15
0
-2
17
0
-2
0
0
0
-2
0
-31
0
0
1
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
-14
-9
0
-2
3
-14
0
-27
1
0
0
-16
0
-3
37
8
4
0
41
36
0
30
-14
3
0
-3
0
30
4
9
0
-2
-58
-14
-1
59
32
0
0
-3
0
-9
0
-9
0
0
0
-2
-66
0
0
-2
0
0
0
-1
0
-39
-2
-56
39
-10
0
62
13
0
0
-70
0
0
-11
-15
-1
-24
-23
50
0
14
-31
0
8
-80
-1
-1
-13
-83
0
0
24
4
0
-18
17
0
0
-4
0
0
2
-10
0
0
18
-9
0
0
-47
0
0
0
0
-19
0
33
7
0
0
0
0
0
-62
2
0
3
0
0
-3
-54
14
-14
4
-7
0
0
5
2
-2
-51
0
3
-5
-20
-2
-1
-5
13
0
1
-21
11
0
-11
0
0
13
26
0
0
-30
15
10
-8
31
0
0
-5
0
2
0
-88
0
0
-6
-3
-21
0
-60
0
-6
9
0
4
0
-2
9
0
-18
0
0
0
-15
-3
14
-1
0
-2
0
-54
0
14
0
3
-2
-10
6
0
-34
6
0
-8
11
-5
0
8
2
-14
-3
4
-98
0
53
-2
8
0
0
20
0
1
0
-10
0
0
28
0
-5
0
0
0
0
-32
13
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
-11
0
-4
0
0
0
2
0
0
0
0
4
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
-34
-22
-16
-6
48
44
2
-23
3
0
0
-27
0
-14
36
-35
0
0
-16
-55
-7
4
0
1
-2
-48
0
-3
-12
19
0
0
10
4
-2
-3
9
0
0
0
0
-2
0
21
0
0
0
0
-25
0
0
31
0
0
1
4
0
-4
-63
10
36
-5
0
-43
-1
4
0
104
0
0
22
-47
-1
65
18
-45
0
-230
-23
0
4
-36
0
0
-26
0
0
-4
46
-6
1
26
-90
-1
0
19
0
0
4
80
0
-12
0
-1
0
0
60
0
0
0
0
25
0
59
0
26
0
0
0
0
17
40
7
8
0
0
14
25
-5
-15
25
14
0
-13
24
1
-4
-8
0
0
16
-14
2
2
-62
-9
0
5
0
2
4
-21
0
-1
-15
-45
0
0
-8
17
0
0
-31
0
0
0
0
0
0
-70
15
2
0
0
-6
0
-98
0
7
0
0
0
0
12
6
0
25
0
0
-3
-183
14
-24
-13
0
0
7
-56
-3
43
30
6
0
3
8
0
26
10
0
0
-9
0
-2
-10
5
53
0
-5
-53
0
-5
0
0
0
0
-15
0
0
3
-1
0
0
-38
0
-5
0
0
0
0
61
-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
-10
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
1
-11
0
0
25
0
0
0
-5
0
-3
-14
0
0
0
5
5
-2
41
0
0
0
10
0
0
10
0
0
0
5
0
2
2
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
-3
0
0
0
-2
0
-6
0
4
-27
1
0
-5
-44
0
-2
-22
0
0
0
-3
0
9
45
8
0
2
-46
0
0
-1
0
0
2
2
0
0
8
0
0
-1
52
0
0
-1
0
0
0
20
0
-2
0
1
0
2
-50
0
0
0
0
0
0
3
1
0
0
0
0
0
-84
0
0
13
0
0
0
-11
0
0
59
6
0
0
21
0
0
0
0
0
0
-32
0
-15
-4
-2
0
0
-35
0
0
0
0
0
0
-53
0
0
0
-2
0
0
9
0
-1
0
0
0
0
-6
0
0
0
1
0
0
-31
0
0
0
0
0
0
-15
0
-1
0
0
0
0
1
0
0
-1
0
0
0
-9
0
-17
0
1
0
0
8
0
-14
0
0
0
0
-6
0
0
0
-1
0
0
14
0
-2
0
0
0
0
50
0
-1
0
0
0
0
88
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
41
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
17
-2
0
0
15
0
0
19
0
0
0
-2
0
0
21
0
0
0
64
-10
0
48
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
-36
-8
-20
-4
0
0
-1
-67
-1
0
-3
0
0
22
14
0
2
-18
-1
0
-11
78
0
0
-6
0
0
0
34
0
0
16
0
0
0
-1
0
0
10
0
0
10
-8
0
-1
0
0
0
0
-4
0
0
0
0
0
0
5
-5
0
0
0
0
0
-41
-1
0
3
0
0
8
-41
0
0
-4
0
0
1
104
-5
0
-1
0
0
0
-63
0
0
0
0
0
0
-29
0
0
-1
0
0
0
0
0
0
-2
0
0
0
-61
0
0
0
0
0
0
-10
0
0
0
2
0
0
17
0
0
0
0
0
0
4
-3
0
0
0
0
0
33
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
-18
0
0
7
0
0
0
11
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
-2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
10
0
-22
0
0
-1
0
0
21
0
0
0
0
0
0
0
0
0
0
0
6
4
0
0
48
0
0
-38
2
0
0
-24
0
0
-14
2
0
0
0
-5
0
60
-8
0
0
-1
0
17
7
-13
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
9
0
0
0
1
0
-54
29
-14
0
0
0
-15
52
0
0
-14
0
0
5
-69
0
-6
-33
0
0
-16
64
0
0
-5
0
0
9
-22
0
0
0
5
0
-2
-50
0
0
-1
0
0
0
-11
0
-78
0
-5
0
1
-34
0
0
0
0
0
0
41
0
0
0
0
0
0
-8
0
0
0
0
0
0
-36
27
0
-10
3
0
0
-2
0
0
0
0
0
24
56
0
-10
-3
21
0
-1
21
0
1
5
0
0
0
20
0
-1
1
-31
0
2
-34
0
0
0
0
4
0
-33
0
0
-4
0
6
0
5
0
0
0
0
-4
0
35
0
2
0
1
0
0
-29
0
1
0
0
0
0
-44
0
0
0
14
0
0
-21
0
7
0
2
0
-1
-14
0
-6
0
16
0
-2
21
0
1
0
6
0
0
-23
0
0
0
0
0
0
-54
0
-6
0
0
0
0
-14
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-2
-5
0
0
-1
0
0
0
0
0
-23
0
0
-7
0
0
-4
0
0
0
3
0
0
0
0
0
0
0
-5
16
0
0
-21
0
0
0
0
0
0
-53
0
18
48
-3
0
0
-5
0
6
0
35
-1
0
18
0
-7
1
1
0
0
4
0
13
-1
-2
0
0
-3
0
-42
0
0
0
0
0
0
3
0
0
-16
0
0
0
-19
0
-17
-16
-26
-34
0
0
-1
-50
0
0
-27
0
0
-32
-77
0
-30
21
0
3
9
-14
0
0
-4
0
0
57
17
0
0
-12
0
0
5
3
0
0
14
0
0
1
-7
0
28
24
0
3
0
-29
0
0
0
0
-5
0
-5
5
-3
0
0
0
0
3
1
0
5
0
0
-9
-12
1
0
-55
0
0
8
30
0
0
75
0
0
6
-13
0
-2
-5
0
0
-9
-14
0
-1
42
0
8
0
-40
0
0
0
0
0
0
52
0
0
10
0
-19
0
32
0
0
0
0
-5
0
-17
0
0
0
0
8
0
9
6
0
0
0
0
-1
45
0
-8
-6
0
0
0
22
0
0
-5
0
0
3
-45
0
35
0
0
0
0
-24
0
0
-3
0
0
0
-68
0
-47
4
0
-5
0
-46
0
0
16
0
0
0
-22
0
-14
7
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
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
5
0
0
-2
-2
0
0
1
0
59
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
32
-1
2
1
26
14
0
17
0
0
0
21
0
0
-147
19
0
0
-74
-3
0
13
55
0
0
0
0
0
-5
48
0
0
7
-24
0
3
-7
3
0
3
0
0
-6
1
0
0
0
45
0
0
0
36
0
0
0
0
0
-2
-13
-17
-14
-4
0
-125
10
29
0
11
0
0
-66
69
0
-63
-38
17
0
10
7
0
-4
-14
0
0
-1
-48
0
0
14
11
0
24
-24
0
0
-23
0
0
2
23
0
78
31
3
0
0
7
0
0
0
0
0
0
-51
-18
-4
0
6
0
0
-26
15
0
-10
0
0
6
-19
5
8
-63
-5
0
100
26
-4
1
138
0
0
70
-28
-4
-9
-92
-2
0
55
1
0
3
2
0
0
-5
13
0
5
7
32
0
0
-31
0
0
13
0
0
0
20
0
0
0
0
0
0
36
0
0
0
0
0
0
-88
-1
0
2
0
0
0
80
0
14
5
0
0
10
-54
-2
-26
-2
0
0
-18
-43
0
4
20
0
0
16
54
0
-1
-8
0
0
-5
-66
0
-2
23
0
0
0
-56
0
0
33
1
0
0
1
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
-7
0
0
5
0
0
0
-6
0
-25
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
-47
-8
-5
0
-97
35
-17
19
3
0
0
-82
0
5
-13
5
0
0
-66
32
-8
-8
9
1
0
-6
0
29
0
45
0
0
12
-3
19
0
24
-5
-6
-23
0
-80
0
2
0
0
0
-10
-36
0
0
20
0
0
0
0
0
4
-33
-24
8
5
0
-14
23
-7
0
-50
0
0
40
1
0
-44
-84
-35
0
20
-35
0
0
6
0
0
8
21
0
0
-53
16
0
0
-17
0
-1
-2
0
0
0
-47
0
-45
24
-28
0
0
-12
0
0
0
0
4
0
16
3
0
0
0
0
0
39
0
0
-5
-4
0
0
-42
-15
-1
-9
79
1
4
-26
0
-3
1
0
-3
0
13
-2
-3
14
-10
0
0
-5
0
0
62
0
-1
0
-20
0
0
32
-9
0
0
23
0
0
-3
0
-11
0
-33
0
0
0
25
9
0
-97
-3
0
0
0
0
0
26
0
0
0
0
0
0
-61
0
-25
-5
0
-1
0
-24
0
2
10
-4
-6
6
66
0
-8
11
0
0
0
-40
0
0
10
4
0
0
-49
0
0
1
0
0
0
-52
0
2
1
-1
0
0
14
0
-7
0
0
-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
5
-8
-1
0
0
0
0
0
15
0
-62
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
20
-1
2
0
-110
1
0
0
-27
0
0
-6
4
2
0
23
-3
0
4
-5
0
0
-35
0
-1
94
0
2
0
0
16
22
1
63
0
0
-3
0
0
0
7
0
0
0
-1
-3
0
0
-1
0
0
0
-3
0
-22
33
-1
43
17
0
-18
-49
0
0
3
0
0
5
-50
-2
-42
9
-1
2
-36
-32
-1
-1
-62
1
0
2
10
0
0
5
-3
0
-1
0
0
0
-9
0
0
0
57
0
-6
0
7
0
0
5
0
0
0
0
0
0
8
-5
0
0
3
0
1
68
-25
-4
-1
0
0
9
-6
10
-1
4
3
0
1
12
0
0
-23
0
2
4
78
0
0
15
-14
0
-2
-33
0
0
-1
1
0
0
0
0
-2
-5
-3
0
0
13
0
0
0
0
0
0
-53
0
0
0
5
0
0
-87
0
0
0
0
0
3
68
4
-4
0
0
0
-4
5
-1
-18
-10
0
0
0
-37
-1
-10
-5
6
0
0
-2
0
-39
4
0
0
0
23
0
0
-2
3
0
0
0
0
13
0
-1
0
0
58
0
0
0
0
0
0
-10
0
-2
-3
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
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
28
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
-23
-5
-4
-7
0
0
0
14
0
0
-5
0
0
14
-13
0
-9
0
0
0
8
-19
0
0
0
0
0
0
-9
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
-24
0
0
0
0
0
0
16
0
0
6
0
0
0
-32
0
0
0
0
0
0
-4
0
0
4
0
0
0
-30
0
0
0
0
0
0
-43
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-27
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
10
0
0
0
0
0
0
43
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
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
5
0
0
0
0
0
-61
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
-2
0
0
0
1
5
0
0
0
0
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
-5
5
-1
0
0
0
-1
14
0
0
29
0
0
0
-1
0
0
-6
0
0
-1
43
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
24
0
0
0
0
0
0
-56
0
0
0
0
0
0
-13
-1
0
-2
-5
0
0
-43
0
0
0
0
0
0
-8
0
0
0
0
0
0
-45
0
0
0
0
0
0
11
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-27
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
10
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-15
0
0
0
-1
0
0
58
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
-1
0
0
0
0
0
0
-10
0
0
-9
0
0
18
2
0
-16
0
0
0
0
1
0
0
0
0
0
0
24
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
3
0
0
0
0
2
0
0
0
0
0
0
-27
0
-4
0
0
0
0
-35
-10
0
0
0
0
0
5
0
0
-4
0
0
-2
18
0
0
5
0
0
0
11
0
0
0
0
0
0
-80
0
0
0
0
0
0
-10
0
0
0
0
0
0
-14
0
0
0
0
0
0
19
0
0
0
0
0
0
-32
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
-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
-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
0
0
11
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-37
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
-10
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
-33
0
0
-2
0
0
0
8
0
0
0
0
0
0
-27
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
-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
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
4
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-33
-26
7
0
-59
45
0
51
-6
0
0
35
0
0
-45
6
0
6
-25
-69
0
51
-2
0
0
-32
0
0
-19
24
0
0
0
-2
0
-10
3
0
0
-1
0
0
0
2
0
0
0
58
0
0
0
42
0
0
0
0
-1
1
-62
-27
-21
-14
0
-110
-42
0
0
-6
2
0
9
50
2
-38
-40
-14
0
1
98
0
-4
23
0
0
65
-55
-4
0
-1
18
0
0
-110
0
0
-46
0
0
-2
-46
0
-41
-4
-48
0
0
56
0
0
0
0
0
0
46
-19
4
0
13
0
6
-54
-3
6
-25
0
0
59
-32
0
-5
-33
25
0
30
7
0
0
-24
0
0
-2
6
0
0
-14
33
0
-12
-23
0
6
1
0
0
0
25
0
-1
28
-14
0
-22
41
0
0
0
0
0
0
19
0
0
-1
33
0
0
10
14
0
0
0
0
0
14
19
0
6
0
0
0
-71
0
5
16
0
0
17
34
1
-1
13
0
0
-2
3
0
1
-19
0
0
-2
15
1
1
3
-1
0
-1
-53
0
56
-4
0
0
0
-1
0
4
-2
-5
0
0
-33
0
-45
0
0
0
0
-8
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
-58
0
0
0
0
0
-131
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
43
0
0
60
0
0
0
15
0
0
-2
0
0
0
-2
-2
0
0
0
0
0
2
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
-5
0
0
0
0
0
0
3
0
29
0
0
3
0
0
0
53
0
0
-16
0
0
0
29
0
25
-7
0
0
0
-36
0
0
5
0
0
0
-5
0
0
0
0
0
0
-78
0
0
0
0
0
0
-8
0
5
0
0
-3
0
-91
0
0
0
0
0
0
-22
0
0
0
0
0
0
-49
0
0
1
0
0
0
23
2
0
0
1
0
0
-16
0
0
5
0
0
0
-19
0
0
-3
0
0
0
-45
0
0
0
0
0
0
11
0
0
0
0
0
0
54
0
0
0
0
0
0
-10
0
0
0
-3
-3
0
-48
0
0
0
0
0
0
22
0
0
0
0
0
0
-17
0
0
0
0
0
0
-5
0
0
0
5
0
-5
14
0
0
0
0
0
0
-5
0
0
0
7
0
0
-15
0
0
0
0
0
0
-8
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
52
0
0
-2
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
-10
8
0
0
16
0
0
-8
6
0
0
19
0
0
-46
-5
5
0
9
5
0
-22
-1
0
0
-1
0
0
0
-9
0
0
4
11
-1
-22
0
0
0
2
0
4
0
0
0
0
0
1
-3
0
0
-26
0
0
0
0
0
22
-3
46
-17
4
0
21
-68
-5
-3
-36
0
0
-4
-20
0
-53
-13
-7
0
-18
75
0
0
19
0
0
43
-41
0
0
0
5
0
2
-36
0
0
-5
0
0
-1
0
0
-74
13
1
0
0
-42
2
0
0
0
1
0
12
9
0
0
-1
0
0
-6
8
0
1
-1
0
-4
1
0
14
-41
48
0
24
55
13
2
37
0
0
7
-69
0
-17
-21
-3
0
-1
-60
0
8
15
0
0
0
118
0
5
-7
-3
0
0
0
0
0
0
0
0
0
95
0
0
0
0
3
0
-19
0
0
0
0
0
0
34
5
0
1
0
0
0
-22
0
4
0
0
0
0
-58
-4
4
-9
0
0
0
-15
0
-25
-4
0
0
0
-30
0
0
0
-4
0
0
34
0
-13
-1
-1
0
0
0
0
0
0
-6
0
0
-43
0
0
5
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
5
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
-9
0
0
0
0
0
-17
-5
4
0
0
-1
1
-2
4
0
0
0
0
0
10
0
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
33
-1
7
0
0
0
100
-29
0
0
21
0
0
-46
3
0
4
71
7
0
43
44
0
0
-6
0
0
-5
-3
0
0
0
0
0
0
50
0
0
0
0
0
0
-1
0
3
0
0
0
0
-13
0
0
0
0
0
0
-3
1
0
0
0
0
0
-59
0
0
0
0
0
-1
69
0
0
0
0
0
0
92
0
0
-3
0
0
0
-5
0
0
17
7
0
1
69
0
0
-2
0
0
0
11
0
-2
0
0
0
0
-8
0
0
6
0
0
0
17
0
0
0
0
0
0
-36
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-14
0
-3
-1
0
0
-1
-9
0
0
0
-3
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
10
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
-73
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
-18
0
-1
0
0
0
0
-25
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
25
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
-39
0
0
0
0
0
0
33
0
0
0
0
0
0
5
0
0
1
0
0
0
-24
0
0
0
0
0
0
-25
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
-24
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
-36
0
0
0
0
0
-136
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-32
0
0
-5
0
0
0
56
0
0
-6
20
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
-2
0
-3
0
0
0
-9
0
0
0
3
0
0
0
0
0
5
9
0
-1
0
0
-2
23
0
0
-2
0
0
-23
-60
0
3
6
0
0
19
-24
0
0
0
0
0
0
84
0
0
0
0
0
-1
-54
0
0
0
0
0
0
6
0
-43
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-64
-1
0
0
0
0
0
-45
0
-8
-8
0
0
4
-50
0
0
0
0
0
0
-43
0
0
0
0
0
0
-64
0
0
0
0
0
0
33
0
0
0
0
0
0
-55
0
0
0
0
1
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
9
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
27
0
0
0
0
0
0
-21
0
0
0
0
0
0
11
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
13
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
-4
0
0
19
0
0
0
-17
0
0
-6
-3
0
0
0
0
32
-1
0
0
0
0
0
-3
0
0
0
0
4
0
0
2
-5
0
0
-1
0
3
0
-7
0
0
0
0
-10
0
0
45
0
0
0
34
0
60
3
2
-5
0
0
16
-36
0
0
-18
0
0
-21
-28
0
-5
20
0
0
36
-53
0
0
0
0
0
0
4
0
0
-1
0
0
5
-60
0
0
16
0
0
0
14
0
10
3
0
0
0
15
0
0
0
0
0
0
-41
2
0
0
0
0
0
-42
-1
0
2
0
0
-5
40
0
0
10
0
0
5
-69
0
0
-1
0
0
0
-6
0
0
15
0
0
-3
-53
0
0
-13
0
0
0
-13
0
0
25
-1
2
0
-71
0
0
1
0
-1
0
21
0
0
0
0
-1
0
21
0
0
0
0
0
0
-19
0
0
0
0
0
0
-6
0
7
0
0
0
-1
79
0
3
0
0
0
2
-23
0
0
-1
0
0
0
-15
0
0
0
0
0
0
5
0
-3
0
0
0
0
9
0
0
2
0
2
0
12
0
-11
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
-19
-69
0
42
2
0
0
66
0
0
-73
-13
0
0
21
23
0
78
-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
2
0
0
0
82
0
0
0
0
0
20
-1
67
2
0
0
73
12
2
0
-20
0
0
19
36
0
-66
-29
-14
0
-41
-4
0
-5
-28
0
0
14
-6
0
0
-38
-26
0
33
-2
0
0
53
0
0
0
13
0
-24
3
8
0
0
10
0
0
1
0
0
0
-54
24
-1
0
0
0
8
-3
0
0
6
0
0
14
23
-2
4
0
10
0
-23
-40
0
0
75
0
0
-25
12
0
-5
43
25
0
16
-18
0
0
-1
0
0
2
-5
0
5
-10
-26
0
0
-154
0
0
2
1
0
15
15
0
0
0
5
0
0
-15
0
0
0
0
0
0
20
2
0
0
0
0
-1
78
-6
53
4
0
0
0
21
0
0
-2
-5
0
1
4
0
10
0
0
0
11
-14
0
15
0
3
0
-2
154
0
-17
-13
0
0
0
50
0
-1
2
0
0
0
-20
0
16
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
-45
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
-47
0
-1
0
0
0
0
-19
0
0
0
0
0
0
-2
0
13
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
22
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
-21
0
0
0
0
0
0
1
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
-9
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
-17
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
10
-19
0
0
5
0
0
0
-20
0
1
9
0
0
0
-3
-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
-33
0
0
-1
0
0
0
0
0
-44
2
-8
0
2
0
17
-46
-2
0
35
0
0
-1
5
0
6
5
-4
0
-4
53
0
0
-4
0
0
-2
7
0
0
-3
0
0
0
7
0
0
4
0
0
0
-6
0
-40
7
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
-90
0
0
-13
0
0
-20
23
0
0
-4
2
0
23
59
0
0
-2
0
0
0
-44
0
0
-2
-4
0
0
-24
0
0
-3
0
0
2
50
0
0
2
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
-2
4
0
0
0
0
0
28
0
-7
0
0
0
0
-25
0
5
-1
-3
0
0
-2
0
-4
0
0
0
0
-7
0
1
1
-3
0
0
17
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
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
-5
0
-15
0
0
0
6
-43
0
0
0
0
0
0
2
0
5
5
0
0
14
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
3
1
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
-7
0
0
0
-34
0
0
0
0
0
0
0
0
0
-3
0
0
0
45
0
0
-2
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
11
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
8
0
-4
10
8
0
0
0
0
0
0
0
45
-8
16
-108
-3
-34
-23
-10
-28
-43
0
-8
-4
-77
-1
-43
-48
25
-33
-27
-31
5
9
1
14
74
11
27
-95
27
14
-49
5
-19
58
-94
-118
-5
-6
-40
-7
-31
67
36
-8
-1
58
45
-4
-3
-2
-30
-1
-8
-30
-62
-67
-20
34
55
-3
37
-2
59
-35
-63
-15
-8
-70
21
-37
-70
-81
-14
20
-11
-65
-3
15
-6
-19
-25
50
-36
-32
1
-6
10
22
-13
53
-8
2
1
-1
26
-14
-49
-37
0
2
19
-47
22
-25
30
-12
48
1
-51
-3
3
0
22
-21
-1
-2
-46
-4
-28
3
-19
-25
19
22
-13
-36
7
101
-57
-52
-3
24
24
-35
53
9
-3
-19
-94
-14
-19
32
-64
3
-76
-27
-30
-8
5
-49
-38
-57
-4
-13
-2
0
-80
-11
37
-12
-4
7
-21
-16
12
-13
-6
4
-7
9
3
-122
-9
3
0
-5
14
-51
-10
65
-31
-1
27
17
-74
-10
-3
-2
-22
26
49
41
-26
50
-14
-50
-4
-31
28
-30
-23
-102
-73
16
9
50
-51
21
-74
-71
10
5
48
5
-1
25
14
13
-3
10
2
24
8
-33
-2
-3
-46
-7
4
-5
13
2
-13
-53
72
5
-81
0
22
-104
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-23
0
0
0
0
0
0
-18
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
2
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
1
0
0
-23
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
16
0
0
0
0
0
3
-10
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
-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
0
0
0
0
0
0
0
-1
0
0
0
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
-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
-52
19
0
29
-73
107
0
43
-6
0
0
51
1
0
-103
-22
-7
0
-38
-6
3
-39
-7
16
0
3
0
0
88
-7
0
0
-5
-45
0
-70
-5
0
7
-2
0
0
-1
0
0
0
0
-2
4
0
0
-24
0
0
4
0
21
-49
-17
-36
31
-7
0
-118
-14
0
-7
-41
0
0
59
100
-3
47
12
63
0
21
-29
1
-2
-33
0
0
-45
18
4
0
-109
14
0
29
2
0
3
-73
0
0
-4
-17
0
10
-5
-7
0
-1
-82
0
0
0
0
0
0
-11
-37
-1
0
-5
0
-6
-42
-44
-2
32
0
0
-13
30
1
2
11
38
0
-8
22
2
-1
6
0
0
5
-11
-2
1
-4
-12
0
-75
-51
-3
23
-7
0
0
11
-6
2
-3
-53
-29
0
10
40
0
0
60
0
0
-6
10
0
-26
-7
53
0
0
-1
16
-1
0
6
0
1
-17
-9
0
0
-1
0
-7
17
-4
-62
61
0
0
5
36
0
-9
-10
-10
0
-33
0
0
26
-18
0
0
-3
-4
0
8
33
-2
0
27
-21
0
-49
-61
2
0
2
-76
3
10
16
18
0
0
-35
0
-50
0
0
0
0
-14
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
0
0
-3
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
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
-53
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
-9
-24
33
26
13
-20
-36
-10
18
52
60
-24
-36
-3
-7
5
-62
6
37
-7
28
0
-14
85
17
10
-139
11
-48
-99
3
-32
-15
16
-42
29
-12
8
-43
-3
-12
11
22
-10
-19
-47
-33
-5
-6
-44
18
-11
-33
-44
-48
-1
-31
0
-11
-46
24
-59
-51
-38
-2
-10
25
-10
55
25
20
6
-69
16
14
-2
-52
1
-7
-73
-39
26
7
-15
-2
-2
-22
43
-7
21
-53
11
-5
-3
-42
-13
-98
-35
-80
20
-31
25
-54
-6
24
-18
3
-32
-24
25
-71
23
-41
4
0
49
-45
20
-55
-10
5
-38
-65
-8
-109
-174
25
-11
-75
-48
-20
-13
-82
48
-10
-57
-8
-3
-57
-21
-9
-36
-17
-30
9
-34
-90
38
3
-18
18
39
-14
-49
7
-20
-68
-25
20
14
-14
-40
7
-8
-5
23
13
68
24
-29
10
-68
-5
40
3
-11
-13
9
-31
-13
-25
8
-66
14
0
-52
-76
17
-49
-25
10
1
-14
20
83
-58
-44
-23
12
-42
19
-22
-111
19
-27
16
-53
-9
-44
21
66
-5
31
-8
-16
36
12
14
-16
-15
30
51
75
-51
-99
-3
-51
38
26
46
74
-16
-14
-69
-32
-73
-24
9
-43
3
2
46
-90
34
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
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
18
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
21
0
0
0
0
0
-46
17
0
0
0
0
0
-3
0
0
0
0
0
23
-27
0
0
0
0
0
3
-9
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
-2
0
0
0
0
0
0
-16
0
0
0
0
0
0
11
0
0
0
0
0
0
-19
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
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
-14
0
0
-9
0
0
0
22
0
0
-11
0
0
0
-25
59
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
33
0
0
0
-5
50
0
-6
-6
0
0
-11
53
0
14
-24
0
0
-14
15
0
0
-6
0
0
0
-1
0
0
-4
-13
0
0
-5
0
0
1
0
0
0
0
0
-10
1
0
0
0
-11
0
0
0
0
0
0
28
-5
13
0
0
0
0
26
1
0
0
0
0
2
-109
13
0
-1
-19
0
3
70
0
0
0
0
0
0
-63
0
0
-8
0
0
0
-96
0
0
-1
0
0
0
1
0
0
-5
-11
0
0
-97
0
0
0
0
0
0
-19
0
-4
0
0
0
0
-5
0
0
0
0
0
0
25
0
-3
0
0
0
-8
11
0
-5
0
0
0
0
-30
0
0
-1
0
0
0
-21
0
0
0
0
0
0
-10
0
3
0
0
0
2
6
0
-5
0
0
0
0
-7
0
0
0
2
0
0
8
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
-9
20
8
4
60
-58
45
50
-11
11
-14
-128
-33
-1
-14
53
9
-46
-51
-121
0
-15
12
48
-53
-146
18
0
-1
23
0
-88
-1
37
-13
0
0
9
28
0
0
-15
0
0
0
36
0
11
-5
61
12
-12
0
44
30
20
74
-55
-4
-3
-43
43
1
56
-33
26
11
-24
-14
23
2
29
1
17
38
-37
0
-13
-38
43
21
-2
-52
0
11
-128
5
-15
-60
-10
-2
62
-24
-33
-36
13
44
0
0
44
0
-14
0
49
-65
35
0
6
-18
-2
45
13
8
-59
0
0
-7
41
-53
76
33
75
11
-16
-24
53
-9
14
-5
-8
39
5
-29
-63
63
4
1
-27
-72
0
-14
36
-13
36
-14
-44
0
-26
34
175
33
9
-32
0
-16
42
-1
-14
9
8
19
15
-31
-13
-30
0
-18
7
0
6
-3
-5
0
8
-65
26
22
2
-3
1
50
-9
-103
-15
2
-2
-23
10
43
-40
-69
-30
14
12
-33
8
-11
-82
-19
0
-34
50
15
90
12
17
0
0
-21
8
-14
24
-3
17
3
44
4
15
-24
28
13
0
-25
0
120
1
0
10
0
-33
1
17
-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
85
11
0
4
6
-4
9
-5
12
0
-3
46
63
27
-132
-49
0
0
63
3
25
59
0
0
1
3
0
40
-7
0
0
0
0
0
-29
0
0
0
0
0
0
-3
0
0
42
0
0
0
5
1
42
-39
13
36
0
0
88
0
6
-9
-81
-2
1
47
67
0
-34
-3
14
-7
-14
23
-10
0
-35
0
0
8
-80
0
-3
3
5
0
1
76
0
0
3
0
1
0
4
0
-64
0
0
0
0
55
0
0
0
0
-1
0
-44
-33
-2
0
0
0
-5
49
26
16
57
0
0
-87
0
1
9
-26
-19
0
-72
-98
14
2
24
0
0
-29
-41
2
0
-7
6
0
-6
-2
3
2
-5
0
0
0
-16
0
-1
77
40
0
9
-29
0
3
7
0
7
0
-85
-2
0
0
24
3
0
-5
1
0
0
0
-4
0
-41
-4
0
-1
0
0
0
0
0
61
24
11
0
21
58
-2
3
11
3
0
1
-32
0
-46
-89
-1
0
0
-77
0
-18
34
1
0
-5
7
-1
-64
-14
1
0
0
-42
0
-1
8
-10
0
0
-13
0
-53
5
0
0
0
-37
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
-33
0
0
0
-53
0
0
9
10
0
13
51
0
0
16
-9
0
0
-10
0
0
0
6
0
0
0
0
24
0
0
0
0
0
0
7
0
18
0
0
0
0
-18
0
0
5
0
0
0
0
-1
-49
25
29
33
-5
0
20
40
-1
0
-3
0
0
8
-17
0
0
-39
14
0
4
-68
3
0
10
0
0
-10
-24
0
0
18
0
0
1
-107
0
0
0
0
0
0
0
0
-14
0
6
0
0
-61
0
0
0
0
7
0
14
-6
0
0
0
0
-3
-14
-8
0
-7
0
0
24
-17
0
0
-44
43
0
0
25
0
0
3
0
0
11
-52
0
0
3
1
0
1
4
0
0
-7
0
0
0
-37
0
0
2
1
0
0
44
0
0
-1
-1
0
0
-4
0
0
0
2
0
0
-28
0
0
0
0
0
0
-30
0
0
-2
0
0
0
30
0
-20
0
0
0
-2
-51
0
-2
0
2
0
0
117
-2
0
1
0
0
3
17
0
-4
0
5
0
5
43
0
-27
2
0
0
0
53
0
-11
0
0
0
0
-42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
73
0
0
0
25
4
-1
-5
53
9
0
9
0
0
18
-9
0
0
0
0
0
14
-2
0
0
0
0
0
0
-1
0
0
0
7
-34
0
0
96
0
0
0
14
0
63
-4
-5
-9
9
0
75
57
-2
0
-5
0
0
18
-16
0
4
50
1
0
58
-3
0
0
18
0
0
4
68
0
0
14
0
0
-21
43
0
0
15
0
0
0
16
0
69
0
2
0
0
-43
0
0
0
0
-5
0
-80
14
-1
0
-1
0
0
-13
22
-3
-24
0
0
1
-49
10
6
44
27
0
-7
-3
0
7
4
0
18
0
1
0
6
27
-4
0
-4
23
-2
2
36
0
0
0
-33
0
-9
-2
11
0
0
17
0
0
-1
4
0
0
-92
0
0
2
0
0
0
-54
0
0
0
0
0
0
0
2
0
0
1
0
0
41
-3
81
-5
0
0
0
-110
0
1
13
-4
0
-5
34
0
-2
0
0
0
-2
-52
0
0
0
-4
0
-1
109
0
-23
-7
0
0
0
27
0
0
14
-27
0
0
17
0
10
0
0
0
0
-26
-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
19
-15
2
30
21
17
-44
-49
1
19
-29
42
-23
55
-98
-86
-25
4
28
-5
72
3
5
1
-2
44
-36
-85
-72
-32
-3
-3
-30
0
-56
-22
-13
-2
-2
-2
-11
-28
0
0
17
0
0
13
13
-8
46
55
3
45
43
3
81
96
-41
9
-2
-13
10
-26
21
0
14
-53
-23
56
-30
-14
5
32
37
-19
32
-94
36
1
-19
4
-43
-36
-3
-18
3
-10
49
18
12
-54
-64
20
-16
53
-60
18
16
8
25
8
-13
1
-48
0
13
3
-60
0
7
-1
-73
38
-4
5
-18
21
-3
25
45
2
-9
37
-24
43
45
23
27
-34
-33
23
3
-13
5
24
-19
26
-72
-83
0
39
56
28
16
-51
7
8
5
-1
-51
-56
-11
-12
-29
2
5
-5
-105
43
-48
39
-17
0
4
3
-43
2
0
-53
27
-6
0
-5
43
1
-51
18
-32
-24
4
2
8
29
-43
-48
-14
-6
-4
-24
-34
-8
-47
9
-42
-56
-47
1
19
-2
-23
-33
33
143
-17
-50
-52
-22
-44
16
-51
4
23
22
-68
43
29
-17
-42
-2
-85
-98
11
-53
-4
6
13
4
-7
-1
-32
0
-8
-11
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
20
-19
-14
-3
0
14
0
10
3
-14
3
0
36
0
-45
-7
-46
0
0
-27
0
14
0
0
0
0
0
0
138
0
0
0
0
0
0
34
0
0
-50
0
0
0
-60
0
73
128
-7
62
0
0
99
-13
0
0
-7
0
0
-120
65
0
-19
-10
0
-11
18
3
0
1
-113
0
-6
-25
-13
0
0
-80
0
0
0
-5
0
0
-57
0
6
0
-11
0
16
0
0
-7
0
39
0
-2
0
0
64
0
-14
-9
7
0
0
0
0
10
7
0
-23
0
0
32
17
-2
11
-9
0
0
-18
-3
0
0
-50
0
-6
-23
-43
0
-1
-27
0
-10
-7
-10
0
-5
-15
0
6
-3
-27
0
0
-17
-5
-4
-2
-21
0
0
-5
0
-32
0
-19
0
-5
-8
0
39
0
4
0
0
4
0
0
0
-109
-3
-7
8
0
0
-1
-40
0
-10
-1
0
0
6
3
0
-4
-5
0
0
5
-40
-2
4
74
0
0
7
-65
0
2
-100
0
0
6
9
0
-35
31
0
-6
0
-44
0
0
-7
0
-44
0
-30
0
41
-6
0
-1
0
-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
-37
0
0
0
80
0
0
20
0
1
0
-6
0
0
39
7
0
0
0
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
6
0
0
0
0
0
7
24
-18
19
0
0
86
-35
-3
11
-41
0
0
50
48
-1
-35
23
-4
0
40
-31
0
0
-43
0
0
-9
-43
0
0
0
3
0
0
51
0
0
-2
0
0
0
-58
0
-42
0
-6
0
0
-53
0
0
0
0
0
0
2
-18
0
0
0
0
0
-5
0
0
9
0
0
-45
65
0
-1
1
1
0
13
-86
0
0
9
0
0
-10
2
14
5
33
0
0
19
-46
0
0
11
0
0
-10
-70
0
1
-23
-2
0
0
-62
0
0
2
1
0
0
-49
0
0
0
0
0
0
-63
0
0
0
0
0
5
96
0
2
0
0
0
0
-45
3
8
-11
0
0
0
129
0
0
-15
0
0
-1
32
0
-5
1
0
0
0
-2
0
7
-3
0
0
0
51
0
-4
0
3
0
4
-40
0
1
-2
0
0
0
62
0
-2
0
0
0
0
-33
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
52
2
-25
-26
6
19
-39
6
-18
-14
42
-46
-21
42
14
-43
-45
-48
-70
-14
-4
-3
-2
18
-38
-7
30
24
-7
25
14
41
53
-6
0
-28
4
-9
-23
27
-8
10
59
21
39
41
-23
-1
-26
10
34
33
1
15
-14
2
-33
12
5
-17
14
10
6
-13
-94
5
-13
-38
-43
-45
3
33
113
9
29
-56
21
-11
3
-23
5
14
21
50
-10
-22
-2
3
-7
-35
-80
-4
-1
-3
5
-9
-4
-8
8
8
-42
5
-65
-32
-16
5
-23
-1
53
-19
3
56
19
51
-70
7
-27
14
30
20
-11
27
32
3
25
-14
-8
14
37
-1
45
18
1
-12
20
13
-37
-72
49
-16
-24
-60
-81
13
66
62
-52
7
26
-59
-43
-69
13
-26
2
-23
72
103
73
18
0
-6
-31
16
-11
-14
-35
-76
29
35
-36
24
-68
-6
-11
15
-74
68
-31
0
-48
-19
20
3
-34
83
-111
51
58
14
-32
19
46
13
-109
43
-7
-58
-18
39
-57
71
3
-14
19
-15
15
33
-82
-4
13
16
16
30
39
-3
-18
5
35
-4
26
-20
-51
6
-17
5
-17
-13
-95
-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
-33
-3
0
0
-43
2
2
-8
-10
0
8
25
0
5
73
15
0
0
10
0
0
6
3
0
0
2
0
-2
0
-3
0
0
0
0
-15
0
0
43
0
0
0
6
0
11
-19
33
54
7
0
-26
-22
0
0
-50
0
0
105
0
-4
-27
34
0
0
21
-13
-2
0
-16
0
0
-5
-103
0
0
-8
-1
0
6
76
0
-1
13
0
0
0
74
0
89
1
-6
-3
7
24
0
0
0
0
-16
-1
16
-7
0
0
0
0
-9
54
0
0
-14
0
0
18
-28
7
-3
59
22
0
27
0
-3
0
17
0
0
5
24
0
5
19
2
0
0
71
0
0
7
0
0
0
0
0
0
-16
-6
4
-1
0
0
0
-3
0
0
5
-5
0
0
0
0
0
0
19
0
0
0
5
0
0
56
0
-3
6
0
0
0
75
0
-4
0
0
0
4
0
0
-1
3
21
0
-3
-42
-1
9
5
2
0
-2
45
0
0
-2
11
0
-2
-17
0
-45
2
0
0
0
95
0
-1
-7
-3
0
0
-73
0
-30
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
1
-4
0
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
-5
0
0
0
0
0
44
1
2
-11
0
0
-9
-64
0
0
-62
0
0
-17
-5
0
47
20
0
0
14
-40
0
0
17
0
0
9
-20
0
0
-3
0
0
-3
45
0
0
0
0
0
0
13
0
23
0
0
0
0
-11
0
0
0
0
0
0
36
0
0
0
0
0
0
38
1
0
-3
0
0
0
92
0
0
-7
0
0
0
100
0
0
-2
0
0
0
5
0
0
0
0
0
0
31
0
0
0
0
0
-5
-47
0
0
1
-1
0
0
-56
0
0
0
0
0
0
-22
0
0
0
0
0
0
-32
0
0
0
0
0
0
-10
0
0
0
0
0
0
-17
0
2
0
0
0
0
-53
0
-8
0
0
0
-1
2
0
5
0
0
0
0
-4
0
0
0
0
0
0
52
0
3
0
0
0
0
-7
0
0
0
0
0
0
26
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
77
0
0
-3
0
0
13
18
0
0
5
0
0
80
-8
0
-1
2
0
0
-3
-4
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-15
0
0
0
0
0
0
32
0
-1
0
0
0
0
8
0
0
0
0
0
0
18
1
0
0
0
0
0
43
8
0
0
0
0
-2
-83
0
0
13
0
0
0
-97
0
0
-4
0
0
-7
68
0
0
0
0
0
0
-6
0
0
-3
0
0
0
8
0
0
-2
0
0
0
-10
0
0
0
0
0
0
-16
0
0
0
0
0
0
62
0
0
0
0
0
0
-32
0
0
0
0
0
0
59
0
-2
0
0
0
0
-13
0
0
-1
0
0
0
7
0
0
0
0
0
0
-7
0
0
0
2
0
0
8
0
0
-1
0
0
0
2
0
0
0
-4
0
0
-13
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
23
77
29
61
70
-77
56
-10
-53
-7
21
-13
0
8
28
20
-2
11
-46
6
-23
-18
-8
0
-3
-28
-37
-70
-34
-43
0
0
-35
11
-20
0
-3
29
0
-1
4
-23
-22
43
13
1
-23
60
-5
-114
-41
-113
44
-5
0
86
8
-19
-10
-19
23
12
3
-2
-25
108
-14
-48
-39
-22
51
40
-11
24
8
-44
-49
-49
-56
5
-8
-2
-6
5
-16
5
0
-24
-106
-87
-1
2
-21
0
3
16
-2
-53
0
1
55
-22
0
-59
4
-41
29
18
14
-8
13
-14
-61
-1
-22
-121
98
19
-7
17
16
-36
92
60
7
62
-9
-24
33
17
20
110
22
44
-34
-9
-49
-47
-56
71
149
-55
11
-4
30
-60
-4
-7
21
-5
-4
-1
2
-81
-7
-18
0
9
-6
-43
74
0
-38
19
0
0
9
16
-13
15
47
-34
-8
-10
0
-4
-63
-47
54
47
0
14
-11
14
-13
96
-12
-59
16
12
-11
-59
20
44
-11
9
-44
-46
-9
40
-91
-109
-30
-31
-6
-8
-32
59
-4
-4
-21
32
0
8
-102
56
63
-10
-2
0
19
10
-4
65
0
48
-34
-14
-3
-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
5
8
0
0
-9
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
18
0
0
-2
0
0
0
0
0
58
0
14
-5
0
0
25
-61
0
0
-1
0
0
-7
-6
0
54
17
0
0
6
3
0
0
0
0
0
1
-15
0
0
-18
0
0
0
78
0
0
0
0
0
0
-32
0
9
6
0
0
-2
14
0
0
0
0
0
0
52
-1
0
0
0
0
0
-32
1
0
0
0
0
-3
36
0
3
6
0
0
-14
10
0
0
7
0
0
5
-20
0
0
2
0
0
17
16
0
0
0
0
0
-3
2
0
0
0
0
0
0
11
0
0
0
0
0
0
-14
0
0
0
0
4
0
29
0
0
0
0
0
0
24
8
0
0
0
0
0
8
0
1
0
0
0
0
49
0
0
0
0
0
0
-27
0
0
0
0
0
0
-19
0
0
17
-8
0
0
14
0
0
0
0
0
4
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
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
0
0
0
0
-2
0
0
0
0
-4
71
-27
-9
-21
-8
0
-29
34
0
0
-57
0
0
44
-18
0
64
-35
0
0
36
-90
0
0
-47
0
0
-9
67
0
0
37
-1
0
28
9
0
0
0
0
0
-9
-33
0
-18
33
39
0
-2
-68
0
0
0
0
0
0
-39
41
-6
0
0
0
0
-4
18
0
-27
0
0
-4
-28
0
0
24
59
0
119
-16
-3
0
-49
0
0
-3
-21
0
0
24
0
0
11
-30
0
0
-8
0
0
8
17
0
-5
-43
-23
0
0
-20
0
0
-3
1
0
0
13
3
0
-14
2
0
0
-57
0
0
0
0
0
0
41
0
0
0
1
0
-3
2
0
-43
7
0
0
-14
-19
0
0
6
0
0
-1
-52
0
31
-14
0
0
17
-4
0
0
5
5
0
0
-32
0
66
-25
0
0
0
-30
0
-1
19
-4
0
0
15
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
1
-9
61
-13
-49
17
31
-5
-42
2
14
-16
-9
-57
-44
-44
-1
-3
-5
-3
33
0
68
4
0
14
28
-44
-1
0
58
0
-1
-5
37
37
3
66
-1
-26
31
-1
11
40
7
-54
-19
9
3
-24
-53
32
-63
-12
-17
5
-19
28
-80
-6
37
56
6
-15
63
2
16
2
30
-20
63
-46
1
-2
-17
6
-47
-5
-27
0
-17
-15
-12
9
-3
-17
2
0
-7
3
-52
0
29
30
10
-3
2
3
15
9
30
6
-20
-1
5
22
43
-63
0
59
48
5
14
-10
43
-53
6
-34
13
-6
3
-37
-64
-36
41
-9
-46
7
-2
43
39
-16
76
8
-2
-2
-8
16
-9
-34
10
5
11
6
-2
0
31
-1
-33
0
1
34
-14
11
0
14
-13
-6
-1
-3
3
0
-48
-62
-79
-40
0
0
2
21
-26
-31
34
4
8
-27
32
5
51
-7
75
-3
71
-7
4
-10
-44
6
-6
5
21
-1
26
4
13
-17
-7
-15
2
-35
-69
-7
13
-2
-82
-4
-1
113
-78
59
0
-21
-1
-32
13
0
-15
0
33
-3
-10
-1
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
-39
15
-3
0
0
0
14
5
-4
0
0
14
-5
-3
1
39
0
0
-1
0
-4
0
-26
0
0
0
0
-86
0
0
96
0
0
0
-60
-18
-18
-138
-48
-62
4
0
-17
34
-5
-10
-81
0
0
37
-53
-2
53
-37
32
0
-34
0
6
-1
-61
-15
0
-14
-90
6
-8
9
0
0
-14
1
0
0
-32
0
7
-5
-74
0
-58
0
3
3
0
-5
0
0
0
-1
0
0
-1
-41
41
0
3
0
-1
50
-30
0
35
0
0
-33
-42
7
45
18
0
0
-22
92
0
6
-4
0
0
-76
0
0
25
-82
-18
0
-55
30
-1
2
-26
-1
0
0
-16
0
-13
-10
-50
18
1
-28
0
8
14
3
-1
0
-26
0
2
-23
0
24
0
-31
0
0
0
0
0
0
-62
14
6
0
0
0
10
-6
3
76
17
2
0
0
15
-3
-5
-18
0
0
25
0
-2
120
-2
5
0
35
-8
0
-14
10
-29
0
1
8
-1
20
-20
2
0
0
-16
0
7
5
-1
-6
0
-52
0
53
0
0
8
0
14
-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
-9
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
-3
0
0
-2
0
0
0
0
0
104
14
-1
0
-6
0
-8
-29
0
0
-1
0
0
-16
20
0
-1
-55
2
0
6
8
0
0
-3
0
0
1
-14
0
0
0
0
0
0
74
0
0
0
0
0
0
-9
0
7
0
0
0
0
-8
0
0
0
0
0
0
-41
0
0
0
0
0
-1
-101
0
0
0
0
0
0
17
0
3
0
-4
0
0
21
0
0
0
0
0
24
-1
0
0
-13
0
0
0
-22
0
0
-5
0
0
0
-7
0
0
4
-1
0
0
-62
0
0
0
7
0
0
37
0
0
0
0
0
0
-27
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
17
0
0
0
0
-5
0
-2
0
0
0
0
-7
0
7
-5
0
0
0
1
0
0
0
0
0
0
19
0
0
-3
0
0
0
-4
0
0
0
0
0
0
49
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
14
0
0
0
0
0
-59
29
-24
33
0
0
9
-24
0
0
24
0
0
2
2
0
-8
15
0
0
-32
68
0
0
8
0
0
0
-20
0
0
-2
2
1
0
-23
0
0
0
0
0
2
37
0
-8
-1
0
0
0
62
0
0
0
0
0
0
-64
2
0
0
0
0
0
30
5
0
0
0
0
1
-39
0
0
10
-10
0
0
-64
0
8
1
0
0
0
-79
0
0
-8
1
0
0
-23
0
0
1
0
0
0
2
0
0
5
32
0
0
-4
0
0
0
0
0
0
32
0
0
0
5
0
0
79
0
0
0
0
0
0
81
0
0
0
0
0
0
8
0
-8
0
0
0
0
50
0
0
1
0
0
-1
7
0
2
-8
0
0
6
-68
0
0
0
0
0
-2
-20
0
0
0
0
0
0
11
0
0
1
0
0
0
27
0
-15
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
5
2
81
43
-12
-10
1
-14
0
-78
65
-23
0
-4
-5
0
-12
0
53
0
0
0
14
-4
0
0
-72
0
0
-1
-6
-29
-47
-65
-33
-1
3
1
108
53
22
-3
6
0
-20
-85
42
-16
-5
2
16
8
12
2
-8
-5
54
-3
-1
-27
-4
0
7
-5
-52
5
-81
-24
0
17
-11
0
11
59
-71
-1
-3
4
-55
-58
-9
-58
0
0
1
0
-9
0
57
-13
78
1
33
-5
6
-7
19
-3
-9
0
0
-45
24
-23
-36
53
-13
-3
-55
-41
-6
24
-65
8
0
-81
-27
-3
-6
33
10
0
54
-66
0
0
-6
5
-10
9
-11
0
-3
3
37
24
-3
0
3
5
-24
1
20
14
13
0
1
-2
-26
-33
0
45
10
0
5
-6
15
0
11
12
4
11
-1
0
-8
31
9
-8
-36
3
0
-8
-76
-8
-21
31
16
-1
37
-14
0
-10
-30
1
7
8
-50
0
-4
-14
82
8
-23
0
2
41
-18
-25
-2
1
10
5
-5
1
19
-11
5
32
0
34
-16
0
28
0
77
-1
18
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
-42
14
0
0
13
0
-2
-27
-9
0
0
27
0
-12
-13
24
0
0
-4
0
-17
1
-25
2
0
2
0
16
0
0
30
0
0
0
41
8
27
-18
63
-39
0
0
13
-11
0
-1
-10
0
0
-66
-71
0
21
32
0
0
-15
15
0
0
-30
0
-8
35
-58
0
0
14
0
-13
17
-35
0
0
62
0
4
2
-15
0
-26
-13
3
-78
0
42
0
2
-1
0
-22
0
21
-26
4
0
0
-1
0
4
-14
0
35
0
0
-54
0
-3
-11
14
0
-5
26
-5
0
16
-43
1
0
14
18
0
11
71
0
5
47
-8
0
16
80
-14
63
-26
-12
0
-7
44
0
-1
-20
2
0
-2
83
0
8
0
62
0
-19
-73
0
36
0
-18
-9
0
-1
0
3
0
-24
1
14
-7
0
0
29
-23
3
-84
-51
0
-9
50
57
-16
7
26
0
0
-69
-16
0
-10
-32
1
-8
2
-44
0
-11
-7
2
-2
-34
-4
0
-42
-66
0
0
0
2
0
5
8
0
-28
0
9
0
47
0
0
-10
0
22
-71
-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
14
66
0
0
5
0
0
0
-11
0
0
-2
-3
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
22
0
0
0
0
-3
72
-5
66
23
4
0
-5
-41
0
-3
-8
0
0
6
29
0
-11
49
0
0
72
-72
0
0
-66
0
0
53
5
-3
2
-50
1
0
3
-39
0
0
46
0
0
-3
14
0
-47
8
8
0
0
-23
0
0
0
0
0
0
-29
31
8
0
0
0
2
-5
23
0
0
0
0
-1
21
1
7
42
-20
0
-23
-5
0
3
-4
0
0
13
8
0
0
-9
-58
0
-44
24
0
18
17
0
0
0
-27
0
0
-66
7
0
0
2
0
0
-3
-5
0
0
-44
0
0
19
-5
0
0
-27
0
0
0
0
0
0
-44
-2
-3
-3
0
0
-14
9
0
19
4
0
0
9
-51
0
0
-3
0
0
23
6
-2
9
-33
0
0
2
7
0
5
54
-3
0
-3
63
0
-21
21
0
0
0
9
0
0
69
21
0
0
-52
0
1
2
0
0
0
113
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
46
20
13
-1
-75
131
-55
9
-78
0
-2
-53
0
-14
0
-36
0
0
1
-13
10
0
0
91
0
0
0
33
-2
1
-14
41
-5
-20
-4
84
-9
-8
-41
2
0
0
-4
31
-7
13
-72
-16
5
-92
-17
24
4
-16
6
3
53
12
0
-9
-12
23
0
-36
14
1
-2
23
19
-5
0
18
-1
3
-32
23
-5
0
-67
3
0
9
0
23
0
-9
36
27
0
57
0
5
-24
-27
24
-100
18
0
46
12
-36
5
38
-20
3
-39
10
7
18
-68
-1
21
-3
-9
59
-20
-84
-5
-6
5
-7
36
-19
47
-8
6
31
27
2
23
-26
-47
62
0
20
2
-10
-75
0
-15
0
-13
0
2
9
-11
-55
0
1
-8
0
3
-10
-5
-11
-76
3
9
66
1
0
5
-56
27
-6
-6
7
0
7
91
2
19
140
6
0
-1
48
-4
1
47
14
3
25
-15
4
19
58
-15
2
45
0
3
3
-25
3
43
-9
-2
0
7
-3
32
-1
0
7
8
12
1
-4
-14
0
31
18
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
-18
0
0
-21
0
25
-37
35
0
0
-2
2
14
0
-3
0
0
0
1
-110
0
0
22
0
0
0
10
-13
18
11
-25
6
36
0
21
21
0
2
27
8
0
-14
-23
-5
44
-32
-39
0
93
-26
0
20
-32
-1
0
-48
0
-4
2
-5
5
0
-18
-15
0
6
-87
-2
0
-1
28
0
-113
6
1
3
-2
-89
0
0
-1
0
3
0
-1
-14
-5
0
3
0
0
1
-6
0
20
0
0
71
8
8
15
8
-29
-11
-100
60
-1
9
96
1
-7
100
-5
0
47
-68
31
29
-25
0
0
-2
-15
-3
-4
10
-41
0
-1
-10
21
0
5
-21
0
-3
-5
0
7
0
16
-18
0
1
-18
-85
0
-91
0
0
0
0
-2
0
13
19
-1
-6
0
0
-10
90
-7
-20
-5
0
0
11
-21
-10
-11
1
-29
1
-24
62
0
-32
13
0
-9
-9
0
0
-14
-11
22
-1
-1
-59
0
-42
25
-1
0
0
23
0
0
8
-10
0
0
-17
0
80
0
0
5
0
-30
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
1
11
35
-6
-6
0
0
-26
0
0
-9
0
0
9
26
0
-1
19
0
0
1
5
0
0
0
0
0
14
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
0
5
-1
0
0
0
64
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
34
0
0
1
0
0
0
-14
0
0
5
0
0
0
-10
0
0
0
0
0
0
5
0
0
-3
0
0
0
5
0
0
0
1
0
0
82
0
0
0
0
0
0
-5
0
0
0
0
0
0
22
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
15
0
0
0
0
0
0
-21
0
0
0
0
0
0
25
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
-55
-6
-1
-3
0
0
5
8
0
0
2
0
0
32
-18
0
1
-11
0
0
-1
1
0
0
10
0
0
0
21
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-53
0
0
0
0
0
0
49
2
0
0
0
0
0
22
0
2
-3
0
0
0
-34
0
0
0
0
0
0
-5
0
0
0
0
0
0
-54
0
0
0
0
0
0
56
0
0
-4
5
0
0
-9
0
0
0
0
0
0
15
0
0
0
0
0
0
-9
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
9
0
0
0
0
-2
0
0
0
4
0
0
8
0
0
9
0
0
0
-1
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
58
11
0
-7
6
27
-3
-5
22
0
1
5
0
8
0
29
0
0
0
-11
-68
0
0
-17
0
0
0
-20
4
-17
-19
62
0
-2
0
-20
-49
10
1
-56
0
0
-16
-50
0
-41
-4
-9
0
-148
-71
8
0
36
-2
-6
-9
-3
-3
7
-23
-25
-3
23
-52
0
-5
4
0
27
-21
34
0
-29
0
-7
0
0
3
0
5
0
0
11
0
-25
-11
-7
0
13
0
0
4
101
0
7
0
-1
-27
-37
-58
-3
18
7
6
59
12
-1
5
-22
0
3
-13
12
0
2
54
42
0
18
13
0
-4
-2
-1
0
-2
-47
0
-6
-4
7
7
0
-8
0
0
0
2
-4
0
21
0
3
0
6
4
0
45
0
0
0
0
0
0
11
-19
-2
0
0
0
3
-86
0
48
-5
0
0
-14
-21
0
0
46
0
5
-2
2
0
9
22
0
6
-6
-52
0
0
0
1
0
-2
44
0
25
0
0
0
0
-38
0
-5
17
0
0
0
1
0
3
0
0
-7
0
2
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
50
-2
0
5
0
0
0
35
0
0
9
0
0
0
4
0
2
8
0
0
-3
-4
0
0
0
0
0
0
-10
0
0
19
0
0
0
2
0
0
0
0
0
0
-1
0
-3
0
0
0
0
3
0
0
0
0
0
0
-102
0
0
0
0
0
0
-67
0
0
0
0
0
0
-18
0
4
-15
-1
0
-10
-71
0
0
0
0
0
0
56
0
0
0
0
0
1
-66
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
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
-18
0
1
0
0
0
1
-21
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
19
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
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
-5
0
20
0
0
0
-1
0
0
0
11
0
0
0
-75
0
0
0
-35
0
0
0
0
0
52
63
59
40
-4
0
78
-21
-1
0
34
0
0
6
-64
0
24
-51
2
0
-8
-36
0
0
-23
0
0
-67
-59
0
0
33
1
0
-22
-45
0
0
76
0
0
3
15
0
31
-55
-32
0
0
-8
0
0
0
0
0
0
25
-25
-2
0
0
0
0
67
-17
0
9
0
0
31
-27
-15
4
3
-36
0
-7
-52
4
0
7
0
0
-96
-12
0
-3
-18
-10
0
-50
-91
0
2
12
4
0
17
-50
0
-8
-52
53
0
-19
-3
0
0
24
0
0
0
-26
0
0
-13
-27
0
0
14
1
0
0
0
0
0
-88
2
0
0
0
0
0
-22
-2
75
-39
0
0
0
-104
0
0
32
10
0
0
-1
0
-7
29
0
0
14
-10
0
0
-28
23
0
15
-50
0
9
-2
0
0
0
20
0
0
5
0
0
0
-16
0
-30
3
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
-35
0
0
31
0
0
0
1
0
0
10
7
-39
0
0
23
0
0
0
-1
1
-48
-18
-51
32
3
0
9
0
0
0
-80
0
0
-25
-13
0
17
-31
-11
0
5
-12
-2
-3
3
0
0
1
-39
-4
2
-8
-9
7
0
14
0
0
-25
1
0
0
-51
0
9
-9
-62
0
0
58
0
0
0
0
-8
0
39
9
5
0
1
0
0
-58
-46
-1
3
0
0
4
14
22
7
-71
-14
0
3
-71
0
0
-58
0
0
2
57
0
20
-26
14
0
0
2
-5
-2
-100
1
0
0
-8
0
0
30
-22
0
0
13
0
0
3
0
21
0
-40
0
0
0
13
30
0
-86
0
0
0
-3
0
0
13
-1
-6
4
4
0
0
54
0
29
23
0
5
-1
-5
0
-10
24
6
-8
0
27
0
56
-9
-8
14
0
-21
2
0
-9
7
0
1
64
0
-54
6
0
-10
0
88
0
-3
-1
-1
3
0
-44
0
1
0
0
0
0
-59
-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
-1
2
0
-2
0
0
0
0
-4
58
0
0
-43
0
0
0
0
3
30
1
-175
29
0
0
-9
-20
6
0
-9
0
0
20
32
0
-84
-44
3
0
-2
61
0
0
-73
0
0
17
-154
0
0
-6
3
0
6
0
0
0
5
0
0
0
-4
0
-65
13
-4
-1
14
48
0
1
-1
0
-3
0
11
-5
-7
0
0
0
6
15
-2
13
1
0
-1
-11
-54
-21
-6
30
35
0
-51
40
0
0
-66
0
4
-25
-24
8
15
-23
6
3
2
11
8
5
21
-2
0
0
0
0
0
20
6
0
0
-23
0
0
0
-2
4
3
-44
0
0
-8
18
-16
0
-23
0
0
0
0
0
0
-54
-8
0
4
0
-10
0
23
-5
2
-13
0
-2
2
-52
-3
3
17
3
0
9
-14
6
6
2
0
2
4
-46
0
0
4
-2
0
0
0
0
-16
4
0
0
0
-26
0
0
3
0
0
0
1
5
-18
0
0
5
0
-12
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
11
0
-14
4
0
0
0
-10
0
0
-4
0
0
4
-5
0
3
35
-6
0
-14
-13
0
0
-1
0
0
0
1
0
0
7
0
0
0
-1
0
0
0
0
0
0
-2
0
4
0
18
0
0
55
0
0
0
0
0
0
-36
0
0
0
0
0
0
-35
0
0
1
0
0
0
-14
0
0
0
0
0
4
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
0
0
13
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
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
11
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
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
35
0
-3
0
0
0
21
-31
0
0
-3
0
0
-11
0
0
-3
37
0
0
-4
50
0
0
0
0
0
-6
1
0
0
-11
-1
0
0
-61
0
0
0
0
0
0
1
0
7
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
-33
0
0
0
0
0
-3
-72
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
-3
0
0
0
-58
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
-22
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
9
0
0
0
2
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
-65
-2
0
0
0
0
-21
0
-3
0
0
0
-4
-38
0
0
-1
0
0
0
5
0
24
-48
-30
-16
-9
-1
70
-43
0
-2
-16
0
0
-56
32
-1
26
-65
-36
0
-9
38
0
0
-19
0
0
-4
-9
0
0
5
7
0
11
13
0
0
0
3
0
0
25
0
8
0
-33
0
0
-20
0
0
0
0
0
0
-25
1
-4
0
-1
0
0
28
7
0
10
0
0
10
9
0
13
89
-4
5
0
-10
0
0
-20
0
0
5
-5
0
5
-6
17
0
-11
-18
0
-2
-6
6
0
0
45
0
0
0
-24
1
0
35
0
0
0
0
24
0
-19
0
2
0
-1
-23
0
-53
-1
0
1
0
8
0
-19
0
0
0
14
0
1
-21
0
33
3
0
0
0
-63
2
10
0
0
0
0
67
0
13
-4
0
0
0
2
0
-1
0
-14
0
0
-4
0
-61
0
3
0
0
-58
0
0
0
14
0
0
-16
3
-46
0
0
0
0
27
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
-33
0
0
0
0
0
0
14
0
0
-45
0
0
0
11
8
-4
0
3
-11
0
0
11
-29
0
-3
8
0
0
-27
28
0
-47
2
0
0
75
-34
0
0
107
0
2
-3
-14
0
0
0
0
-1
-1
28
-3
0
24
0
0
0
49
0
-30
-3
0
0
0
-6
0
0
0
0
-5
0
-27
5
-2
0
0
0
0
-6
1
0
14
0
0
8
-65
0
0
2
0
0
-1
18
0
0
-1
0
0
10
0
0
0
-6
0
0
-22
-79
0
7
0
0
0
0
65
0
0
33
0
0
0
10
0
0
5
0
5
0
-86
0
0
18
0
-8
0
-49
0
-1
0
0
-4
0
6
-2
0
-3
0
0
0
-26
0
-11
0
0
0
0
-2
0
0
-5
0
0
1
-12
0
5
0
0
0
0
13
0
0
0
0
0
0
-28
0
15
-2
0
0
0
26
0
0
6
0
0
0
21
0
16
7
0
11
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
-4
0
0
-1
9
0
0
0
38
0
0
3
0
0
7
6
-91
22
14
0
32
10
0
0
-2
-1
0
-47
-43
0
19
-34
71
0
43
59
0
0
-21
0
0
25
6
0
0
-64
-19
0
-7
-125
-1
0
-8
0
0
2
0
0
15
-35
-46
0
0
-15
0
0
0
0
0
0
18
65
2
0
-6
0
3
29
-25
3
-37
1
0
74
4
-1
0
-28
7
0
13
-31
0
0
49
0
0
-35
47
0
5
20
-45
0
39
12
0
-2
4
-3
0
-46
-47
0
-2
11
-29
0
0
13
0
0
44
0
0
0
-37
0
-4
18
0
0
0
39
-3
0
0
0
0
0
-13
3
0
14
0
0
-2
-75
0
7
-4
0
0
-1
15
0
0
-10
-3
0
20
67
0
-44
17
0
0
5
-74
0
0
33
15
0
-5
-30
0
64
-14
0
0
1
34
0
0
29
5
0
0
9
0
18
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
41
-43
0
0
-57
0
0
0
0
4
-32
-17
-61
-13
3
0
-23
-66
1
3
-49
0
0
-14
-4
1
-68
3
8
0
3
-27
0
0
16
0
0
-2
16
0
0
-5
-13
0
0
-89
0
0
21
0
0
0
32
0
-44
-21
-47
0
0
-21
0
0
4
0
20
0
-16
14
0
0
17
0
0
-18
-14
0
0
0
2
0
-30
1
0
-24
5
2
0
26
0
-1
15
0
0
1
27
0
0
-27
-7
0
-1
-44
0
2
-20
0
5
0
28
0
-2
-32
-20
9
0
23
0
0
-3
0
-30
0
4
0
0
0
-10
-25
0
-20
0
0
0
0
5
0
53
0
0
-3
0
0
0
-32
0
25
1
0
0
2
32
4
5
-3
6
-1
0
-45
0
21
0
0
0
0
66
0
0
1
-3
0
0
-24
0
-7
-2
0
0
0
-50
0
0
-1
7
0
0
6
0
6
0
0
0
0
-64
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
-4
0
1
0
0
-23
0
0
-2
0
0
0
1
14
89
22
-114
-32
2
0
-23
16
0
0
-10
0
0
-33
35
3
28
14
-16
1
-53
-41
0
0
-16
0
0
50
-12
0
0
-63
35
0
-16
-57
0
0
3
0
0
1
0
0
23
0
-3
2
0
-19
0
0
0
0
23
0
-19
-4
-1
0
0
0
0
-2
18
0
-2
0
0
3
47
-18
5
24
6
0
-4
-27
-2
0
-5
0
2
8
-99
0
25
-29
-36
0
-18
-96
0
0
-20
1
0
-2
-9
0
0
23
0
0
0
0
0
0
-1
-1
5
0
-34
0
0
0
0
-18
0
34
0
0
0
0
4
0
35
2
0
0
-2
0
0
10
20
-3
0
0
0
-8
4
5
0
0
0
0
0
-147
0
-41
0
0
0
-1
40
-1
-15
11
-6
0
0
-31
0
31
4
0
0
-2
0
0
0
0
16
0
0
-59
0
-7
-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
1
0
0
0
0
0
0
0
0
-15
0
2
0
0
0
0
-39
-4
0
3
0
0
0
0
0
2
10
0
0
1
-2
0
0
14
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
31
0
0
0
0
0
0
23
0
0
0
0
0
0
18
0
0
-5
0
0
0
-35
0
0
0
0
0
0
-14
0
0
6
0
0
0
-4
0
0
0
0
0
0
-9
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
-14
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
-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
-19
0
0
0
0
0
0
21
0
-13
-6
0
0
-3
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
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
3
0
0
0
0
0
0
33
0
0
0
0
0
19
-65
0
0
0
0
0
11
7
0
0
0
0
0
0
-26
0
0
0
0
0
0
37
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
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
-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
-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
6
-2
0
0
-32
0
0
0
14
0
-137
-5
18
-2
0
0
11
4
0
-3
46
0
0
27
-82
0
0
-65
0
0
45
54
0
0
2
0
0
-2
-102
0
0
-1
3
0
-10
5
0
0
0
0
0
0
-17
0
-34
0
-4
0
0
-65
0
0
-3
0
0
0
-85
-1
10
0
0
0
0
-22
-2
0
0
0
0
-1
-27
0
0
2
8
0
-33
-15
0
0
-4
0
0
0
-29
0
0
5
-6
-4
5
56
0
4
0
-6
0
4
-66
0
0
0
5
2
0
26
0
2
0
0
1
0
7
0
0
0
0
0
0
74
0
0
0
0
0
0
1
0
0
0
0
0
0
-11
0
-16
0
0
-3
0
9
0
0
8
0
0
0
-59
0
-4
0
1
0
0
11
0
0
2
-1
0
2
-10
0
-5
0
2
0
2
17
0
0
0
0
0
0
-11
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
-2
0
0
0
0
0
0
0
0
36
0
0
0
0
0
2
33
0
0
0
0
0
0
20
0
-2
-2
0
0
0
-3
0
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
29
0
0
0
0
0
0
-14
0
0
0
0
0
0
-65
1
0
0
0
0
0
-25
0
0
-3
0
0
0
35
0
0
1
0
0
0
5
0
0
-2
0
0
0
-25
0
0
0
0
0
0
-1
0
0
1
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
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
-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
6
-31
0
0
-8
-108
0
0
0
-19
0
0
-1
0
23
9
7
19
-30
-6
0
-114
-13
2
1
0
0
0
-19
-62
0
-58
-9
14
0
28
4
-5
0
20
0
0
-15
-37
0
-1
-14
49
0
-43
13
0
0
-38
-2
0
-2
-99
0
13
32
2
0
0
27
0
0
5
0
0
0
6
-9
27
0
53
0
18
-14
-4
0
4
0
0
58
-24
3
-2
19
-5
0
6
12
0
4
37
0
0
-17
-32
8
17
-37
-14
0
14
9
0
31
17
0
0
2
19
4
5
-62
-7
0
-6
-37
0
2
5
10
0
3
9
0
-1
-11
5
0
0
51
0
0
0
0
0
-5
-33
9
0
-1
0
0
11
-71
0
27
10
0
0
1
1
0
0
-3
-5
0
9
44
0
80
42
0
0
-2
-12
2
1
14
-5
0
8
77
-5
20
-60
0
0
2
-48
0
0
-71
19
0
0
16
0
-6
-3
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
8
5
0
0
0
-23
-128
3
0
29
0
0
0
9
0
17
-1
4
0
-1
46
0
0
-5
0
0
0
4
0
0
15
0
0
0
53
0
0
0
0
5
0
11
0
-6
0
0
-9
0
30
0
0
0
0
0
0
-15
0
0
0
0
0
0
-37
0
0
0
0
0
0
4
0
0
0
0
0
6
54
0
0
0
0
0
0
-25
0
0
2
0
0
0
5
0
0
1
0
0
0
27
0
0
0
0
0
0
11
0
0
0
0
0
0
-7
0
0
0
0
0
0
-26
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
11
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-15
-33
53
-2
0
-18
5
-2
-1
-55
0
0
-10
-9
-5
-108
43
-8
0
25
41
0
0
-66
1
4
-6
80
0
0
52
2
0
-3
-27
0
0
0
0
-5
1
19
0
-10
2
-2
0
0
0
2
0
0
0
-1
0
-14
-3
0
0
0
0
0
-62
13
0
3
0
0
-1
4
6
-1
0
1
0
-53
49
0
0
1
0
0
17
-58
0
0
-118
6
-3
16
20
-9
-2
-1
6
9
0
-49
0
1
5
44
-4
0
29
0
0
0
0
5
0
0
5
0
-2
-1
-2
0
-47
0
0
0
0
0
0
62
0
0
-6
0
0
0
-32
0
-2
11
0
0
-8
67
8
2
2
0
0
3
-80
6
9
0
0
-9
2
-68
0
-2
0
-23
0
0
-62
0
-5
-4
0
0
0
-11
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-41
0
0
-3
0
0
0
0
0
13
14
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
1
0
15
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
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
-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
-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
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
0
0
0
-24
0
0
0
0
0
0
-3
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
-31
0
-2
0
0
0
0
-64
0
0
-41
0
0
-1
7
0
-10
25
0
0
-15
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
6
0
22
0
0
0
0
-81
0
0
0
0
0
0
4
0
0
0
0
0
0
26
0
0
0
0
0
0
-4
0
0
-8
0
0
-3
-47
0
0
0
0
0
0
-15
0
0
0
-4
0
0
-70
4
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
-3
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-1
1
0
0
0
0
0
-3
0
2
0
0
0
0
-14
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
36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
6
-59
-5
0
0
35
-14
0
0
-41
0
0
-18
38
0
7
-37
0
0
-94
-56
0
0
-97
0
0
-8
-40
0
0
-36
0
2
-5
-22
0
0
39
0
-20
0
-2
0
1
2
0
0
-1
-9
0
0
0
0
-14
0
-58
-5
-4
0
0
0
0
-29
-1
-4
4
0
0
0
5
0
2
-48
0
0
27
24
0
0
0
0
0
-7
-80
0
0
102
0
-25
2
11
0
0
24
0
-2
0
-37
0
0
8
0
7
-7
-55
0
0
-3
0
-54
0
-11
0
5
0
0
7
0
-17
6
0
0
0
0
0
36
0
0
0
0
0
0
4
0
5
9
0
0
7
-62
2
0
4
0
0
0
25
0
1
-4
0
0
0
44
0
0
-14
0
0
7
-27
0
-21
-2
0
0
0
-7
0
0
1
0
-1
0
-28
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
-33
-9
4
-87
-63
18
0
-15
15
6
36
6
28
0
64
40
-16
-16
-33
20
0
19
-21
17
-2
9
0
0
16
-14
0
-5
-34
-43
0
-5
17
0
6
-3
1
0
-5
22
0
-22
-22
-32
0
-1
53
21
-1
5
-1
0
0
-28
12
-64
-1
10
0
-1
-6
22
-1
-38
-5
2
-64
11
0
-9
-6
-26
0
-32
5
-16
-15
-11
0
0
40
-17
13
-13
13
-5
0
10
13
3
0
-29
-4
0
14
4
-1
-6
38
11
0
32
8
2
14
-17
-52
0
-1
-31
0
8
59
10
0
0
-17
-8
-4
0
2
0
0
-17
50
3
-29
7
0
-48
-5
-41
-60
166
20
1
51
1
-2
3
36
13
0
-23
36
13
-12
44
8
0
-1
23
-3
83
-9
-66
0
-12
34
-13
49
47
25
0
-4
-10
1
-5
21
-15
0
-3
-11
0
-95
6
0
0
-6
15
30
-31
-11
-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
-21
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
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
-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
-36
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
-4
0
0
9
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-15
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
33
0
0
0
0
0
0
-5
0
0
0
0
0
0
-46
0
0
3
0
0
0
-10
0
0
-3
0
0
0
-31
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
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
-29
-24
-29
13
-27
-15
0
-122
-27
-3
45
-56
0
-1
-42
-41
-15
1
-47
-17
-11
-30
-16
-5
-15
-37
5
-9
-23
-7
0
0
-43
-41
-3
30
21
0
-2
29
1
-22
-8
-21
0
9
40
-4
11
0
-22
-1
0
-1
0
12
0
3
0
-107
0
-4
7
-5
-20
-107
-14
-13
0
1
-37
4
-37
5
-26
33
-1
-30
23
-25
53
-55
0
-18
-19
21
-6
14
-41
-80
-5
4
16
-5
59
27
0
0
-40
-2
-1
4
0
45
-16
-1
4
0
3
32
-1
-52
3
-24
-3
-2
-2
-58
29
0
26
0
0
0
0
-1
5
-27
-21
-1
20
-7
4
-4
-20
0
30
32
11
1
-4
38
-3
1
18
9
6
6
67
6
-40
-33
6
-21
-5
-29
-2
24
11
-6
1
33
-73
0
-56
71
-7
5
2
-16
0
0
73
73
3
0
8
0
-13
-25
0
-9
0
-5
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
-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
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
-13
0
0
0
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
-21
0
0
0
0
0
0
-37
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
-25
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
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
63
0
0
0
0
0
-4
2
0
-2
-8
0
0
1
10
0
0
-7
0
0
0
11
0
0
0
0
0
0
17
0
0
3
0
0
0
50
0
-1
0
5
0
0
3
0
0
0
0
0
0
-43
0
0
0
0
0
0
30
1
0
0
0
0
0
-34
0
0
-1
0
0
0
-19
0
0
-2
0
0
0
-25
0
0
7
0
0
0
-9
0
0
0
0
0
0
-4
0
0
-9
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
14
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
-9
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-72
65
-7
0
32
1
6
0
1
0
0
3
-2
0
-36
20
-83
0
69
-107
2
0
-42
0
0
64
15
-1
0
-71
81
0
20
11
1
0
28
0
0
0
-36
0
-133
-80
36
0
0
-31
-2
7
0
0
0
0
-15
-7
-36
0
0
0
-2
18
-3
0
20
-4
0
19
32
-3
0
43
-3
0
37
-20
0
-1
-42
0
0
46
-40
0
-4
-49
-59
0
-42
30
0
1
-11
0
0
6
-19
0
-2
-57
-29
0
0
-7
0
0
24
0
0
0
15
0
-14
1
36
0
0
-3
-1
0
0
0
0
0
-68
-2
1
5
-1
0
-11
-33
9
103
-7
0
0
-1
75
0
0
51
7
0
41
4
-1
-49
-46
0
9
-6
-19
1
-19
-33
1
0
-4
21
-1
-72
14
0
0
-6
-46
0
5
-25
-2
0
0
-7
0
73
-13
1
0
0
-31
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
-31
-8
0
11
0
0
27
-45
0
-17
-43
1
0
36
48
0
0
-4
0
0
0
-5
0
0
14
-13
5
0
-14
0
0
-2
0
0
-2
34
0
-30
0
0
-4
0
-29
0
0
0
0
0
0
20
0
0
0
0
0
0
-165
-33
0
0
0
0
-3
20
4
-1
14
-3
0
0
-89
1
1
-24
0
2
8
-29
0
0
0
0
0
10
17
0
-1
10
0
0
0
-25
0
0
17
-6
0
0
8
0
0
0
0
0
0
10
0
0
0
0
-2
0
-33
0
0
0
0
0
0
-100
6
-1
1
0
0
0
12
8
11
2
0
0
0
1
-7
0
0
0
0
0
50
0
8
-4
0
0
0
48
0
-2
0
0
0
0
82
0
1
0
0
0
0
-57
0
14
0
-1
0
0
-123
0
4
0
0
-4
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
14
47
57
9
125
-23
-112
-10
-41
57
6
12
5
-36
1
1
-93
-40
45
46
-23
17
-28
23
-61
-25
11
-51
-5
14
9
30
-46
-35
37
-31
-15
43
7
11
-35
69
-34
6
14
53
1
1
-43
-25
-17
20
-29
-8
-90
0
-41
0
-45
-92
53
-7
14
-89
-48
48
58
-52
-35
-41
-57
6
-30
-64
80
-80
-61
-23
-12
0
-63
13
-7
-62
-15
-32
19
17
-35
-51
7
-57
-22
-27
2
-48
6
8
53
10
-10
35
-2
53
5
118
5
45
69
25
10
-34
-7
-1
-25
-17
-50
-49
-36
-64
0
-82
-38
-40
-45
1
-81
-41
-8
-23
-32
-33
52
-79
11
-3
-60
-12
-118
-18
-25
3
9
-14
16
-37
28
23
-43
49
-23
-10
-2
-79
-95
0
74
-8
-30
-15
28
40
17
-13
-32
70
0
-19
-20
-3
-30
64
-50
80
21
-26
-45
0
14
-25
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
-17
65
5
8
27
1
-1
54
-7
-5
-73
12
15
-1
20
32
-5
5
-61
0
4
-63
-16
-4
10
-32
27
0
25
-23
0
0
26
0
25
2
-44
0
57
-31
95
0
0
-56
0
0
0
4
-50
0
-43
-15
15
0
-3
0
0
40
5
-2
-53
0
0
-57
-30
-26
20
-50
17
14
10
14
13
-26
-33
-1
3
23
-13
-8
33
85
20
3
34
-3
-3
0
-63
15
2
-11
-32
0
-55
74
3
-1
-6
-1
0
-4
-49
2
-38
0
-24
0
1
-36
14
-12
0
7
-2
4
0
2
1
-2
43
25
0
-5
9
3
13
-39
14
-57
-16
2
1
-34
6
1
28
-36
-33
1
50
-9
1
40
67
-3
-8
14
25
2
33
-11
-33
4
17
1
0
99
-32
7
0
0
34
2
0
-26
53
-5
0
8
0
16
-7
7
3
0
11
-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
-29
11
-41
10
-21
0
0
-150
38
23
-89
29
-54
-7
-49
-10
-5
0
-82
2
0
22
-44
-4
21
-32
22
-1
44
2
-3
0
-120
0
26
-41
-17
-2
38
-63
-33
-10
0
-18
-1
0
-1
0
-27
0
-8
6
-36
0
5
0
-34
-15
-112
4
-14
0
0
-67
-9
29
-45
-34
49
-2
3
32
16
-14
33
-1
72
-24
12
-13
-10
-5
24
-1
23
30
-10
-3
-54
-3
32
-5
1
0
-14
-25
14
13
23
-11
-1
0
36
5
-91
5
8
-2
3
27
39
49
0
-11
-2
-2
0
0
1
-4
21
54
47
-1
-8
2
43
14
1
63
-59
0
0
-18
-12
10
-3
-5
-14
-4
-34
32
-3
-63
-62
0
-14
1
6
3
-66
-29
-41
-1
50
2
-8
-8
1
-5
13
17
24
2
-24
-16
-13
-3
0
10
-14
-87
-2
0
5
0
-71
-101
-14
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
-111
49
2
-48
8
0
0
-44
11
-43
3
63
-25
0
-94
-38
25
1
36
-5
-18
13
-33
0
62
2
-45
7
-27
4
0
0
29
0
-6
5
66
-35
-9
21
31
-5
0
38
4
0
0
3
-28
0
44
65
-16
0
71
0
-1
-53
50
-8
-24
1
0
45
-18
79
18
17
-14
0
4
37
14
48
-13
0
-5
14
57
1
31
-57
-55
20
-35
-27
0
-5
-6
-11
-8
-26
23
0
0
-43
-5
-8
0
30
0
20
-45
-5
81
-5
-11
-3
0
-8
69
-23
0
-15
4
0
0
-1
4
6
-58
-61
11
-5
-4
0
3
-12
-4
31
9
-2
0
10
7
13
-8
17
-3
0
26
-36
2
-18
23
-3
16
18
-45
-1
4
33
1
0
-24
15
0
2
-27
-1
-3
-2
-16
3
-3
-1
-50
0
0
-36
0
-32
2
0
-14
-6
60
-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
25
-33
0
1
60
0
0
-16
-4
0
-16
-75
0
0
-75
-55
0
-2
36
0
0
44
-56
-1
0
3
0
0
57
-47
0
0
-5
0
-7
0
-62
0
78
0
0
0
0
-18
0
0
-3
0
1
0
1
3
-14
0
0
0
0
-65
32
1
5
0
0
2
-112
0
0
-6
0
6
-8
-106
0
11
46
0
0
5
-100
0
0
44
0
-1
0
36
-5
0
0
0
0
-13
-135
0
0
5
0
6
0
-10
0
0
9
0
5
0
-79
0
7
-9
0
-6
0
1
0
0
0
0
0
0
-6
1
0
0
0
0
0
1
0
14
4
0
0
0
-41
0
-1
2
0
0
0
-70
-1
-2
2
1
0
-2
-15
0
2
-1
2
0
6
-26
0
-9
0
0
0
0
-47
0
0
-3
0
2
0
-79
0
14
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
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
-13
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
1
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
118
7
-1
-61
-4
109
-3
2
-21
-2
-13
-77
0
-45
-122
23
0
20
-14
-31
43
-5
-46
0
3
7
0
8
7
-86
0
5
-34
39
25
-4
31
-1
14
5
0
53
0
4
25
14
0
19
-31
0
6
-83
5
-21
0
0
-63
53
-11
-11
45
22
-6
21
77
7
20
27
-4
-8
-30
27
0
74
-5
-34
0
-90
-24
-6
-4
104
20
5
27
4
-4
-18
7
-10
-1
-5
23
-5
25
-48
4
-23
0
27
0
-7
3
-19
-14
0
-38
14
21
0
0
-4
0
69
-22
-4
45
-3
0
1
-57
21
81
-18
9
-2
0
13
3
77
-14
-52
3
1
-21
0
33
86
2
-5
70
81
1
3
-64
-48
-15
-37
-52
0
-76
-56
29
27
-4
-73
-2
-10
58
-83
32
-5
12
0
-2
-14
0
28
0
-57
4
29
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-137
-46
-31
25
42
11
-2
-13
-31
-63
16
9
30
-37
-32
-27
-32
-58
-77
30
12
-35
-59
-3
-65
19
-76
-6
-47
-11
-34
-12
6
-33
-4
0
-13
-75
-14
-17
-14
7
-31
15
-25
-21
-35
-16
-2
29
-63
-51
-76
-45
-48
0
-60
-44
-9
-5
-29
-81
-14
-3
-92
-35
80
73
-5
-33
-43
-8
-38
-6
-125
46
-14
27
-51
19
-43
-32
-2
3
-72
-91
45
11
2
-71
-2
8
2
-20
28
-40
24
15
5
-1
10
11
-5
-16
0
-52
-47
-5
-8
-135
13
38
19
35
-23
-117
-9
26
0
-5
-3
-54
-5
-45
-2
-33
21
28
-26
43
72
3
-48
-43
-23
-64
-36
-100
-15
-55
-90
48
-17
-2
-33
38
-18
59
-58
-89
13
-14
33
-11
-16
-5
25
7
-41
-24
-12
104
-16
16
-49
-65
-19
28
-19
10
-44
-41
-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
-74
-46
0
31
43
1
0
15
46
0
4
11
0
0
14
-50
0
0
0
0
0
0
0
0
0
-1
0
0
-4
30
0
50
-1
-2
0
0
2
0
0
0
0
0
0
-54
-2
20
0
0
0
-6
-35
10
9
-2
0
0
-2
-20
-2
0
-4
0
0
5
-44
0
-4
-19
0
0
-1
23
0
-5
-4
0
0
0
-71
0
0
0
0
0
0
-4
0
0
0
-6
0
0
64
0
0
0
0
0
0
-24
0
0
-1
0
2
0
3
0
0
0
0
0
0
-23
0
-1
0
0
0
-1
9
0
4
-9
0
0
0
63
0
-1
1
-1
0
0
-5
0
0
0
0
0
0
-43
0
3
1
0
0
0
-94
0
-1
0
0
0
0
3
0
0
0
0
0
0
10
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
25
-68
0
-3
62
11
0
-35
51
0
0
5
0
0
-7
-13
0
0
-5
-7
2
-1
-76
0
0
1
0
0
0
-47
0
43
0
2
0
0
-42
0
0
0
0
0
0
34
0
0
0
0
0
0
13
-11
0
4
0
0
0
54
0
0
2
0
0
6
8
0
0
-6
0
0
-7
15
0
0
1
1
10
-8
-27
0
0
0
8
-2
0
-20
0
0
0
0
0
0
-23
0
0
7
0
0
0
-34
0
0
0
6
0
0
-90
0
0
0
0
0
0
19
-1
4
0
0
0
0
43
0
-17
0
0
0
0
48
0
0
0
0
0
0
7
0
-14
0
0
3
0
47
0
0
0
0
0
0
36
0
-4
0
0
0
0
14
0
0
0
0
0
0
-100
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
17
-36
19
-15
66
4
41
54
-4
-3
-8
-1
-32
-8
6
37
18
-27
-8
-17
14
1
-1
15
-14
-25
27
9
1
-2
46
-3
34
0
63
-1
-1
-58
-2
-6
0
19
1
-25
0
-5
0
0
40
80
5
17
0
0
-11
1
39
-56
46
26
2
39
5
-10
26
105
6
16
-33
29
-9
31
36
15
-36
41
4
18
4
5
7
44
2
-13
-1
-9
-7
-17
22
38
15
0
0
-21
-15
25
-8
18
-2
9
-72
6
-15
0
27
48
-1
0
-6
34
10
37
-78
-1
6
3
-1
-89
8
-12
-25
-51
-1
-8
122
-9
72
-22
-79
-72
-5
41
-12
45
-9
25
33
5
64
22
8
46
93
10
-18
14
-30
1
68
17
7
32
-31
-4
3
-21
-53
-22
4
2
-7
4
114
-2
0
87
0
66
-3
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62
0
0
5
26
0
0
0
0
0
-3
-5
0
0
0
0
0
0
-34
0
0
0
0
0
0
-4
0
10
-8
0
0
0
-14
0
0
0
0
0
0
72
0
0
0
0
0
0
-50
0
0
0
0
0
0
60
0
0
-4
0
0
0
21
0
0
0
0
0
0
11
0
0
0
0
0
-2
44
0
0
0
0
0
0
-30
0
0
0
0
0
0
50
0
0
0
0
0
0
-10
0
0
0
0
0
0
14
0
0
0
0
0
0
26
0
0
0
0
0
0
-19
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
2
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
-1
0
0
0
-25
0
0
0
0
0
0
0
0
-14
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
4
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
44
0
0
-6
0
0
0
-7
0
-8
0
0
0
0
50
0
0
0
0
0
0
-13
0
0
0
0
0
0
-14
2
0
0
0
0
0
-45
0
0
8
0
0
0
-43
0
0
0
0
0
1
7
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-11
0
0
0
0
0
0
-32
0
0
0
0
0
0
53
0
0
0
0
0
0
82
0
0
0
0
0
0
49
0
0
0
0
0
0
-17
0
0
0
0
0
0
-11
0
-1
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
50
77
5
48
22
-25
-5
47
0
0
-7
-51
24
14
0
0
-7
-43
2
-2
-13
60
0
-9
-10
29
34
0
9
0
-19
-5
0
101
0
38
-23
-58
0
35
6
10
29
39
10
-12
1
0
-27
-21
-11
-45
-58
-37
0
42
18
1
10
-59
1
-1
-66
13
18
3
25
52
2
85
-27
26
73
-6
-3
13
-18
-48
-5
62
-10
78
-5
-7
16
0
-8
-62
-6
137
0
45
14
33
78
-68
-86
0
14
0
-9
2
0
0
0
11
-19
60
2
-1
0
-5
33
4
-14
97
10
0
5
-13
-5
-25
-59
72
0
44
-47
2
-40
-21
-24
15
-9
-1
2
-5
-25
6
-1
4
31
-4
-59
-13
5
-9
-2
43
7
-47
-34
32
-10
0
-7
44
-6
29
5
31
0
-14
-40
11
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
8
-85
5
43
-57
43
1
-17
58
-46
-13
-6
-11
-4
-2
-40
-2
10
-102
32
0
-80
13
8
-3
-14
-74
3
0
60
2
-23
0
-36
-77
22
0
-44
-10
20
8
-25
10
-8
-6
6
-70
21
-5
121
14
-19
85
-107
0
-100
-51
-36
6
25
-33
-28
11
29
-36
-94
-57
-20
-8
0
-18
25
53
39
28
-47
-8
-51
-61
68
-9
-12
-47
-4
31
-59
-6
33
1
-3
2
5
6
-88
41
0
-3
37
0
8
20
-5
-5
5
-17
54
-16
-5
0
-29
-58
-1
6
21
20
8
-30
0
17
-21
-9
52
1
36
-48
11
-91
39
-18
5
-26
108
13
-128
-73
-64
22
47
-11
3
124
29
-19
43
-21
-20
0
6
6
-43
4
-10
23
3
-18
-8
-1
22
1
-73
-20
-36
-19
-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
-4
124
0
0
-5
0
0
-7
54
0
0
0
0
0
-1
-52
0
0
-5
0
0
0
-7
0
-36
0
2
0
0
-64
0
0
0
0
0
0
-31
-3
0
0
0
0
0
105
0
0
-2
0
0
0
71
0
1
2
0
0
1
29
0
0
5
0
0
0
-17
0
0
-1
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
-9
0
0
0
0
0
0
-70
0
0
0
0
0
0
-29
7
-2
14
0
0
0
-5
0
0
0
0
0
1
-28
0
9
0
0
0
0
-5
0
0
0
0
0
0
-3
0
1
0
0
0
0
32
0
-1
3
0
0
0
35
0
0
0
0
0
0
-80
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
-25
-2
-29
-35
-35
-8
5
38
-13
23
-10
16
-15
-3
41
14
0
1
74
6
-21
-2
-13
0
-45
-60
17
-15
13
-15
7
5
8
-1
11
-2
50
-5
-108
0
10
1
2
52
11
0
74
-2
-1
-85
-45
-112
-54
-33
23
-74
2
-19
5
-39
-4
-3
-6
27
5
-33
67
-18
-5
-74
-24
30
11
-32
12
-10
28
89
17
1
-58
-14
-27
30
-39
-13
0
-14
-44
-1
50
-4
-13
-2
11
14
-22
-52
0
18
14
-7
-13
0
29
3
38
-18
-32
54
-2
0
-14
-11
-51
24
-19
1
54
-12
-45
75
19
81
-21
27
9
-9
7
28
42
-15
-6
-20
15
19
30
-33
18
9
33
32
2
4
-121
17
-14
-22
1
0
-14
-14
3
5
-11
-39
-2
40
19
0
4
0
-20
-48
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
14
0
49
59
-27
7
-4
10
23
-69
-11
-16
7
-5
35
17
66
57
8
7
-11
0
40
-5
27
-7
-17
-25
0
11
0
19
-1
13
53
60
-3
-74
-23
-35
48
-89
4
-8
-1
0
-11
15
27
-71
63
-113
5
15
0
55
68
-58
13
-2
4
-7
-3
52
45
54
30
-23
5
46
42
-57
51
5
18
4
2
90
4
24
41
38
18
15
2
-40
-3
-35
5
12
15
-14
-79
15
14
0
6
18
-5
16
0
38
-13
36
-68
22
-5
-1
0
15
41
-18
-111
-1
1
-6
67
-11
15
42
74
12
-14
-42
-31
0
-78
68
-60
-34
63
-37
-24
-12
17
-24
-63
6
9
8
36
152
-33
-73
15
9
-21
16
40
-8
41
-13
24
-1
-37
26
0
14
0
51
34
-5
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
-21
-5
2
0
21
0
0
-37
-55
0
0
-55
0
-1
-50
-24
0
8
55
0
-4
4
-45
0
-11
1
0
-14
0
27
0
-6
0
0
-57
0
-7
-5
-6
0
0
0
1
19
-35
-1
-10
0
0
60
14
-3
-1
-20
0
0
22
-13
0
0
-18
0
0
-88
-36
0
8
-8
0
-1
-39
3
0
2
9
0
-6
-5
-43
-1
0
-9
4
27
24
-32
0
0
-3
0
53
0
-40
0
-5
18
0
16
0
7
-1
0
0
0
-6
0
17
0
4
0
0
0
14
15
0
-11
15
0
0
-13
-54
0
-7
-26
0
0
50
-7
2
-2
-21
0
0
29
-59
0
7
14
-2
4
-5
-6
0
-37
-4
0
1
0
24
0
0
28
0
24
0
-7
0
101
-15
0
1
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
-46
-1
0
0
1
0
0
-2
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
-8
0
0
0
0
-10
0
0
0
0
0
0
-48
0
0
0
0
0
0
7
0
0
-5
0
0
0
42
-4
-3
-5
6
0
2
-148
0
0
2
0
0
0
21
0
0
3
0
0
6
-58
0
0
0
0
0
0
-24
0
0
0
2
0
0
17
0
0
0
0
0
0
18
0
0
0
0
0
0
-51
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
2
0
0
0
21
0
0
1
0
0
0
-20
0
0
0
0
0
-9
31
0
0
0
0
0
0
54
0
1
9
0
0
0
4
0
0
2
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
9
39
22
-17
3
18
-24
-2
7
-1
3
-40
-69
-29
14
-1
1
-2
-12
-19
0
-1
-65
1
-15
-2
0
-16
0
13
-29
4
0
-16
-26
-15
33
-86
-5
53
-1
0
5
19
-21
-33
-8
53
-4
-98
6
-43
-7
12
0
-46
-60
17
24
-43
15
-14
1
-1
21
-5
1
5
14
32
11
58
-2
-71
-34
11
49
3
3
-7
23
58
-4
-27
0
9
8
74
53
-3
19
0
7
3
22
-1
9
-43
3
45
-25
51
60
-28
-1
76
23
-3
-110
42
23
2
0
45
1
-4
-14
16
-33
22
7
53
-57
-68
-2
-4
15
-12
5
-27
80
-52
35
37
-15
27
-44
3
1
5
29
-14
14
29
12
-33
74
-6
-16
-6
-10
-12
0
-59
0
-33
37
-6
39
-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
-14
22
-29
-5
-1
28
75
51
-18
-3
-4
-17
-19
-121
-39
8
0
23
77
-65
-91
-81
-48
25
-5
43
1
11
2
-7
-30
-78
-5
76
0
-2
14
-23
49
-14
41
-17
6
-13
49
-55
-14
5
-4
22
18
-17
12
-8
1
-15
40
0
22
75
-15
-19
-50
-52
-7
-8
-23
5
-34
-5
-63
9
1
-3
-22
-28
-15
50
-15
-17
-34
27
-10
-55
14
32
-8
-2
-55
16
-44
0
23
-35
-9
11
3
-110
33
47
-42
0
-7
34
-41
92
-5
-23
18
-49
-19
-10
61
33
45
12
13
-46
14
-1
0
7
-35
30
48
-14
0
45
8
-71
45
-39
32
-27
-17
-10
-66
-13
-17
-72
2
15
17
-43
38
-18
-97
5
15
6
-35
-133
43
67
0
-26
-16
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
-1
0
0
0
-9
0
1
0
0
0
0
-3
0
0
0
0
0
0
24
-5
0
0
0
0
0
110
2
0
-4
0
0
0
-91
0
1
7
0
0
-1
-64
0
0
0
0
0
-2
-47
0
0
21
0
0
0
57
0
0
1
0
0
0
6
0
0
-4
0
0
0
-5
0
0
0
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
-29
0
-1
0
0
0
0
71
0
-5
-1
0
0
0
-22
0
0
0
0
0
0
14
0
1
0
0
0
0
34
0
0
0
0
0
0
46
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
-22
0
0
-20
0
0
18
-45
0
0
0
0
0
0
1
0
-4
0
0
0
0
9
0
0
0
0
0
0
-148
-14
0
0
0
0
0
98
0
0
0
0
0
0
-45
0
1
9
0
0
-5
-53
0
0
-29
0
0
0
123
0
0
0
0
0
0
71
0
0
-3
0
0
0
15
0
0
0
1
0
0
-81
0
0
0
0
0
0
83
0
0
0
0
-2
0
83
0
0
0
0
0
0
-45
0
0
5
0
0
0
-43
0
-1
0
0
0
0
21
0
0
0
-1
0
-4
-6
0
-1
0
0
0
3
-7
0
0
0
0
0
0
-21
0
0
0
0
0
0
55
0
0
0
0
0
0
-75
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-3
-60
-27
17
61
-6
0
0
-10
1
7
49
52
0
-25
-7
95
-19
4
-61
0
0
-14
0
10
0
53
14
-5
0
-10
-17
-15
45
-41
-4
1
0
0
25
15
-3
-22
24
11
-34
-123
4
-1
-37
-32
0
-3
-16
5
-3
-8
-29
81
0
31
20
2
-25
33
0
-6
33
-5
0
91
-90
-28
48
-45
-2
0
-23
-3
4
21
1
-1
11
0
-1
-53
-33
0
17
15
0
0
0
1
0
-49
-1
6
8
4
-1
61
58
-5
21
7
-4
0
-13
56
-14
-48
-25
11
0
-3
-62
0
-104
-20
-2
0
2
-27
10
-10
-20
16
0
89
20
0
6
21
1
-2
-5
6
-2
3
-2
81
2
0
-30
-5
26
-2
2
-3
0
80
-27
14
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
-3
51
0
0
0
0
0
0
59
0
-2
0
0
0
0
-19
0
0
0
0
0
0
-109
0
0
0
0
0
0
-91
0
0
0
0
0
-1
25
0
0
1
0
0
-5
-31
0
0
1
0
0
0
25
0
0
-1
0
0
0
-22
0
0
0
0
0
-6
14
0
0
0
0
0
0
-4
0
-1
0
0
5
0
13
0
0
0
0
-4
0
44
0
0
0
0
0
0
-31
0
0
0
0
0
0
-4
0
0
10
0
0
0
-63
0
0
0
0
0
0
13
0
0
0
0
0
0
25
0
-5
0
0
0
0
-5
0
-8
7
0
0
-2
5
0
0
17
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-61
0
0
1
0
0
0
45
0
0
-1
0
0
0
-19
0
9
2
-3
0
0
-53
0
0
0
0
0
0
36
0
0
0
0
0
0
-80
2
0
14
0
0
4
-29
0
0
6
0
0
-15
-58
0
0
-54
0
0
53
-30
0
0
-5
0
0
0
21
0
0
-20
0
0
0
-7
0
0
-16
0
0
0
-43
0
0
-3
0
0
0
10
0
0
0
1
0
0
-77
0
0
0
0
0
0
-15
2
0
1
0
0
0
16
0
-26
2
0
0
2
5
0
0
0
0
0
0
28
0
-3
-1
0
0
2
-40
0
0
-1
0
0
0
-19
0
2
0
0
0
0
-18
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-24
0
-24
0
-79
0
-5
79
-30
1
0
-20
0
0
0
0
32
0
71
43
0
0
0
-1
0
-15
38
0
37
0
0
-35
55
-5
24
-29
-1
-1
-21
14
26
2
-59
0
-4
4
-17
-6
3
45
83
0
5
30
2
-2
-5
0
0
8
-23
0
58
-24
-56
0
0
-9
0
2
-5
0
5
0
40
0
0
-8
-18
77
0
13
-1
0
-1
-7
-1
0
15
30
0
-26
0
0
0
33
2
-2
-19
0
0
0
14
0
-32
-61
5
7
0
18
2
-42
26
0
-7
0
1
0
36
-45
-27
2
0
-3
0
-23
-7
0
0
4
-92
0
-4
20
4
0
0
28
0
23
0
0
-14
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
-13
-25
1
-5
-21
9
-68
51
-6
-2
-23
-5
18
-15
9
7
0
-1
38
0
-92
0
-23
-33
-38
1
-9
-4
5
1
57
11
-73
2
6
-44
-60
-65
-110
-27
-20
129
-30
-32
-45
0
-71
37
-15
84
-8
14
73
66
-41
-80
-21
0
-20
103
0
8
92
-32
11
-4
-20
-29
-17
-19
-23
-1
0
7
-32
-7
-37
-6
46
-3
25
-36
-47
32
0
24
14
-2
6
-5
45
-15
-21
-28
55
22
-7
5
-9
46
33
-20
54
-14
-21
-17
-55
10
41
6
-4
0
94
20
-2
21
-26
11
-22
57
0
13
-102
-55
42
-1
7
-37
-5
-49
13
13
23
45
-5
-6
53
-17
-73
28
9
-22
10
54
-32
10
-34
0
-10
-60
5
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
-9
0
0
0
0
0
0
-59
0
0
0
0
0
0
14
0
0
3
0
0
0
13
0
0
-4
0
0
0
35
0
0
17
0
0
0
-21
0
0
10
0
0
0
4
0
0
0
0
0
0
-14
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
0
0
0
31
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
-1
0
0
0
0
19
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
-40
0
0
1
0
0
0
37
0
-1
0
-2
-2
0
-5
0
0
0
0
0
0
13
-1
0
0
0
0
0
38
5
0
-4
0
0
-1
43
-1
0
74
-3
0
0
-55
0
0
0
0
0
1
-3
0
-1
0
0
0
0
-127
0
0
0
0
0
0
1
0
0
0
-2
0
0
-38
0
0
-2
0
0
0
75
0
0
0
0
0
0
-11
0
0
0
0
26
0
48
-4
0
0
0
0
0
-23
0
0
0
0
0
0
4
0
0
0
0
0
-4
-31
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
-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
47
26
0
-2
-3
2
-1
3
20
0
11
-4
0
-4
-1
-2
-3
0
0
0
67
0
3
-13
24
0
-8
0
-18
0
-19
10
35
0
0
-20
16
-18
-23
32
-51
-1
2
-15
-4
15
-18
15
-4
-23
-12
0
7
13
-53
3
15
-1
1
-5
-1
5
0
3
27
0
6
-17
11
14
-6
14
0
2
0
1
-61
0
11
0
-2
0
28
16
0
-13
0
0
0
-3
2
0
-37
-21
0
25
4
0
4
79
-3
5
22
0
6
0
-32
0
-18
-46
-5
-3
26
-71
0
14
17
0
7
-5
-5
0
-47
-17
-70
0
-1
11
-2
-27
-14
4
-6
0
-9
0
-1
2
-15
48
0
19
-1
79
-4
-3
24
0
41
49
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-30
0
0
0
-50
0
-34
-30
0
2
0
-37
0
0
0
0
-1
0
-39
-39
0
0
0
0
5
26
-4
0
-6
0
0
3
-24
0
0
10
0
5
-23
10
0
1
-31
0
0
5
-50
0
0
73
8
0
-54
5
0
0
-20
0
5
6
-15
0
0
-3
4
21
0
8
0
0
7
0
-35
0
-88
0
0
74
0
53
0
-28
0
0
0
0
0
0
24
1
0
-5
0
0
-4
-17
0
-20
47
0
0
1
-1
0
6
-21
0
0
0
22
0
1
-2
0
0
0
-5
0
22
-11
0
0
3
32
0
33
43
-1
0
0
24
0
0
-5
0
0
0
8
0
83
0
0
6
0
-38
-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
-37
0
0
0
0
0
0
3
0
-8
0
2
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-66
-6
0
0
0
0
2
44
0
0
11
2
0
0
1
0
0
-5
0
0
5
-86
0
0
-9
0
0
0
4
0
0
0
0
0
10
5
0
3
0
0
0
0
-9
0
0
-3
0
0
0
25
0
0
0
7
0
0
51
0
0
0
0
0
0
5
0
0
0
0
0
0
-29
0
0
0
0
0
0
10
0
0
-3
0
0
1
-43
0
-7
8
0
0
0
26
0
0
1
0
0
0
-15
0
7
0
0
0
0
-3
0
0
0
6
0
0
-46
0
4
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
77
0
46
1
25
-1
0
-59
0
0
0
0
1
0
-42
3
-1
0
5
0
0
-62
-2
0
21
0
0
-4
7
-5
0
40
-45
-5
-23
24
0
0
1
0
0
1
-27
0
-7
33
3
-10
0
2
0
6
-109
0
0
0
6
0
0
-7
-56
2
0
-25
0
0
47
-7
1
0
101
-2
0
0
-19
-56
0
-33
0
0
0
0
0
0
-73
3
0
0
0
0
6
-35
0
-46
-43
0
0
0
58
10
17
16
-5
0
0
90
0
-33
7
0
0
0
-55
0
0
-18
46
0
0
7
0
-74
-15
-3
0
0
-13
0
3
16
-2
0
0
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
-7
-30
54
-14
-60
-55
16
-9
-32
-1
-21
2
-12
-9
-53
-3
-44
-40
51
13
25
-18
-10
-3
1
-8
-3
-35
-14
15
-42
54
-52
3
53
19
26
-7
-47
20
6
-95
20
-19
-72
40
-84
7
-14
-27
27
-123
75
-127
0
-46
3
28
-24
-94
26
-14
-19
-48
69
-14
25
41
10
61
-45
-15
-36
0
-1
0
11
5
14
-7
-33
-61
-25
-88
-52
-52
-24
4
-33
19
8
87
48
-1
53
-58
-9
-8
-85
4
-17
-22
-7
33
-28
56
36
74
-63
-21
-9
8
-10
42
4
-25
-21
0
35
29
-15
26
-25
5
-29
8
-29
-57
28
10
-6
-8
48
-64
-6
-3
33
-8
24
-63
-61
-5
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-26
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-14
0
0
-1
0
0
0
-5
0
-1
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
-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
15
0
0
0
0
0
0
-55
0
0
0
0
0
0
-111
0
0
0
0
0
0
-1
0
0
5
0
0
-1
-15
0
0
-1
0
0
0
10
0
0
-5
6
0
0
-4
0
0
0
0
0
0
-32
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
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
-3
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
3
32
0
33
0
-6
0
5
-45
0
-11
-81
2
0
1
0
0
-25
-11
0
-14
0
0
6
26
-11
-3
57
-7
0
32
-50
3
-5
-96
0
10
-26
7
11
5
-35
20
0
58
1
0
-5
49
-5
0
-9
4
0
0
7
17
8
-18
-5
0
0
5
6
76
0
33
0
0
0
1
-32
0
-47
-1
0
0
0
0
0
-20
7
8
0
0
0
-10
4
0
-8
-5
1
0
-9
-70
0
-10
-1
-3
0
-1
6
0
-29
-4
0
10
2
-15
0
46
1
-64
2
10
-5
0
27
-11
0
-4
0
12
0
-6
0
-2
1
0
8
0
-89
1
0
-1
0
-23
30
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
8
0
-17
0
0
0
0
-14
0
0
0
0
0
0
27
0
0
0
0
0
0
-14
0
0
0
0
0
0
7
0
0
-18
0
0
2
-19
0
0
0
0
0
0
-10
0
0
3
0
0
6
-13
0
0
0
0
0
0
51
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
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
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
33
0
-20
-1
-1
0
0
-48
0
3
-3
0
0
0
-63
-2
0
0
0
0
0
21
1
0
2
0
0
2
-22
0
2
18
0
0
6
12
0
0
0
0
0
-4
41
0
0
-20
0
0
6
24
0
0
-10
3
0
4
-54
0
0
8
18
0
0
19
0
0
2
0
0
0
-44
0
0
-5
-3
0
0
-9
0
0
0
0
0
0
24
0
0
-10
0
0
0
-13
0
0
-2
0
0
0
33
0
0
8
0
0
3
18
0
-2
0
0
0
0
0
0
4
-3
0
0
-1
15
0
-49
24
0
0
0
60
0
0
-25
0
0
0
-14
0
-1
0
0
0
0
53
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
42
0
0
0
0
0
-1
39
1
0
0
0
0
-4
-25
0
-1
8
-5
0
0
2
-4
0
-14
0
0
-1
45
0
3
4
-3
0
0
-5
0
1
37
0
-2
0
-3
0
0
1
0
0
0
-90
0
0
0
0
0
0
-42
0
0
1
0
0
0
-12
0
0
0
0
0
0
-61
2
0
0
0
0
0
-7
0
15
0
0
0
0
37
0
0
1
0
0
0
61
0
-4
0
0
0
0
-7
0
-1
3
0
0
0
39
0
0
2
0
0
0
-140
0
0
0
6
0
0
-4
0
-4
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
1
-24
-4
-1
-4
-7
-62
0
-11
-55
7
-1
15
0
5
0
7
0
-61
8
2
53
-6
52
43
-51
23
76
27
-16
-8
-14
-27
0
-4
36
40
-22
8
-6
-10
-63
32
-3
13
-33
-22
4
47
-10
-19
-1
80
58
-30
-54
-2
0
1
43
-53
0
71
-1
22
-3
1
0
-22
29
0
-39
-5
0
6
4
43
-6
54
61
33
-19
16
0
-65
-20
-9
30
-101
5
-2
-12
9
15
14
-107
39
0
-62
5
-11
-45
5
0
5
-74
-4
-8
-14
-33
43
2
-17
14
3
34
32
16
5
-3
0
0
-3
-41
5
-1
0
5
-1
57
-4
-4
5
0
-42
-2
30
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
22
0
0
0
0
0
0
-55
0
0
0
0
0
0
-6
0
0
-2
0
0
-2
37
0
0
0
0
0
0
-17
0
0
0
0
0
0
-44
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
-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
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
38
-5
-16
3
10
-113
0
0
-20
0
24
-27
53
0
-2
-7
1
23
3
-53
-33
-17
-46
-66
28
10
34
76
61
-11
-15
24
-6
21
-16
10
-51
-64
-84
4
3
-27
6
31
-34
-72
-8
-1
-16
31
35
-26
85
6
2
16
-18
29
-15
-14
-11
-5
-2
61
-71
-9
0
24
26
3
0
-3
3
3
-32
-30
4
7
-27
0
-53
-12
45
-15
1
19
-3
-48
-36
37
-18
73
-38
-7
-44
24
0
-43
-21
10
-7
10
-64
2
7
-18
-20
3
-20
27
-1
13
-1
-7
10
-9
22
3
31
27
72
-7
-11
20
39
21
-58
14
14
0
-13
22
-71
-13
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
0
0
0
0
0
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
0
0
0
9
0
-24
46
-8
0
0
0
0
-39
-20
0
0
0
0
4
32
-1
0
-30
5
0
14
-6
0
0
13
0
0
3
45
0
10
-14
-2
0
-5
-61
0
-2
-3
-1
0
5
-12
0
0
7
-16
-3
1
4
0
0
0
10
10
0
14
0
-5
0
6
25
0
-14
0
0
0
0
0
0
-65
0
-1
3
0
0
0
18
0
-8
5
0
0
3
18
0
0
33
-2
0
-4
-39
0
-17
14
0
0
-6
2
0
0
0
-1
-3
0
-34
0
-5
-1
0
0
0
20
0
10
0
0
0
0
29
0
7
0
0
0
0
20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
1
0
16
-38
2
0
0
0
7
17
11
1
-11
0
0
24
-14
-3
-4
4
0
2
40
-4
0
0
83
0
4
38
-38
0
-7
13
0
4
25
-30
0
0
65
0
8
20
-18
0
0
-6
0
-5
0
7
0
0
28
0
-5
0
-29
0
0
5
0
-19
0
-3
0
0
0
0
0
0
-64
10
0
2
0
0
-2
-29
0
-12
10
0
0
-5
28
0
6
-14
6
0
-5
-31
0
27
-41
0
0
15
-25
0
-4
3
4
4
0
18
0
-4
5
0
0
0
-52
0
0
-2
0
0
0
10
0
-3
0
0
1
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
14
0
0
0
0
0
0
-30
1
0
0
5
0
0
24
0
0
-1
0
0
-5
18
0
0
5
2
0
-26
15
1
2
-6
0
0
1
55
0
0
-14
0
0
-2
-5
0
0
-13
0
0
-15
22
0
-1
0
-2
0
0
-54
0
0
7
0
0
0
-51
0
0
0
4
0
0
-9
0
0
0
0
0
0
-39
0
0
0
0
0
0
7
0
-6
-2
0
0
-2
-57
-9
0
1
0
0
1
-53
0
-4
0
0
0
0
2
0
1
0
0
0
0
68
0
1
15
0
0
1
43
0
0
3
-3
0
0
-51
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
-35
0
0
0
0
0
0
-36
0
0
0
0
0
0
15
0
0
11
0
0
0
29
0
0
5
0
0
0
-7
0
5
13
0
0
0
53
0
0
-2
0
0
0
-14
0
0
-8
0
0
0
-30
0
3
0
0
0
0
-36
0
0
0
0
0
0
-65
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
62
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
-2
51
0
2
-15
-68
-32
-52
9
25
-23
-24
-18
-32
-8
-3
-28
-13
2
107
-37
-36
7
21
-36
0
33
-4
0
71
-28
-45
16
47
-8
-61
26
-36
71
-17
3
-71
-26
73
27
-74
-24
4
23
73
27
-43
16
0
-21
-2
-62
57
-68
0
2
16
-5
0
0
-18
0
9
-11
13
8
-9
4
-73
-20
57
42
-44
22
25
118
54
0
-20
-107
2
11
-62
-3
-34
-15
15
-5
14
-31
24
5
-21
5
-47
-32
-21
21
11
-1
-21
-39
10
-6
-1
1
0
29
8
4
-13
0
0
131
22
10
8
0
34
-4
-11
-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
-14
0
0
-3
0
0
0
-5
0
0
-1
0
0
0
-17
0
0
0
0
0
6
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
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
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
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-45
0
0
0
0
0
0
18
-6
0
16
0
0
0
-73
0
0
0
0
0
-11
14
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
23
0
0
0
0
0
0
5
0
0
3
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
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
29
0
-10
0
0
0
0
-54
0
0
0
0
0
0
-13
0
0
47
0
0
5
-7
0
-5
-3
0
0
0
14
0
0
-2
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
-46
0
0
0
0
0
0
10
0
0
0
0
0
0
42
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
13
0
0
0
0
33
0
0
0
0
0
0
57
0
0
0
3
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
39
0
0
0
0
0
0
-34
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
-29
0
0
0
0
0
0
-9
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
-15
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
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
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
-11
-33
-11
0
0
0
-11
-27
6
0
5
0
0
-5
-6
0
0
-57
-22
0
-7
39
0
-3
13
0
0
23
-32
0
0
35
5
0
57
-46
1
0
56
0
0
-6
-37
0
0
-4
13
0
0
52
0
0
6
0
0
0
-88
7
0
-5
-1
0
0
-45
0
0
0
0
0
0
-2
-2
0
-6
0
0
0
-34
2
25
1
0
0
3
-56
0
-4
16
-1
0
3
-72
0
13
-1
0
0
0
15
0
0
4
0
0
2
35
0
-75
-10
0
0
0
-47
0
15
-13
8
0
0
-28
0
-2
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
62
-20
-18
-11
-6
-4
37
23
50
-14
140
61
-14
11
-33
30
-62
-52
-5
3
67
23
25
34
72
-6
-10
17
18
-2
-42
-55
40
-23
-18
64
40
-29
-96
-49
-14
-25
47
-60
4
-44
-24
-28
-13
-16
-50
15
-49
-24
0
21
-83
5
-30
36
-48
32
32
33
-12
-13
-20
42
6
0
-35
-18
9
-14
-16
-43
11
-28
2
16
-67
-34
-3
-29
-24
63
54
20
-29
11
-19
-132
1
49
-71
82
10
53
-3
3
-3
29
-7
9
-7
31
10
-1
-15
-46
-2
-11
-49
-4
0
-1
-13
0
5
-60
-21
31
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-27
0
0
-27
-37
0
0
14
24
-4
10
-21
0
-2
-69
0
0
-56
-21
0
18
33
16
1
-36
0
0
1
33
-1
3
-8
20
1
0
79
-27
63
3
32
0
-2
5
0
-25
0
-12
0
0
15
10
-53
0
-25
0
0
0
0
2
0
-17
7
0
-3
0
0
1
52
1
25
-25
0
-5
-15
-26
-5
2
-47
-14
0
-25
-4
0
-15
-59
0
0
-3
36
0
-27
14
37
-1
7
-43
-6
49
-7
0
-3
-3
25
1
0
31
-2
-1
0
-39
0
-67
0
0
3
0
25
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
-56
41
6
0
0
0
18
19
-3
0
30
8
0
-1
-60
3
0
-39
0
0
-11
-84
0
0
-32
-13
1
25
-22
0
0
-16
0
0
-3
-54
0
-2
-5
-10
-3
-1
-28
0
0
-1
0
69
0
76
0
-1
0
0
-71
0
-14
0
0
0
0
0
0
3
22
3
0
-1
0
0
36
-4
23
2
0
0
0
0
0
0
14
0
0
-3
-57
0
5
-8
0
0
0
-28
0
2
-13
-1
0
0
-45
0
-4
0
0
0
2
-25
0
0
0
-8
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
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
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
-29
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
50
-1
0
0
0
0
5
27
0
0
6
0
0
-7
67
0
0
-1
0
-1
5
-24
0
0
-48
0
0
-1
-67
0
0
1
0
5
4
-67
0
0
0
0
0
0
71
0
0
0
0
19
0
3
0
0
0
0
-3
0
-8
0
0
0
0
0
0
17
0
0
0
0
0
1
30
0
2
-3
0
0
0
-14
0
0
0
0
0
0
33
0
4
-7
0
0
0
-45
0
4
0
0
0
0
48
0
-15
0
0
0
0
-26
0
-1
0
0
0
0
-20
0
-3
0
0
5
0
-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
0
-1
0
0
0
0
0
0
-61
0
0
3
0
0
0
33
0
0
3
0
0
0
-78
0
0
-4
0
0
0
-39
0
0
0
0
0
0
15
0
0
0
0
0
0
-44
0
0
0
0
0
0
27
0
0
-1
0
0
0
21
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
-12
0
1
0
0
0
0
-1
0
0
0
0
0
0
14
0
-13
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-1
0
0
1
-39
0
-3
0
0
0
0
-62
0
1
-3
0
0
2
33
0
0
-3
0
0
0
-54
0
0
36
-24
0
0
-176
0
0
0
0
6
0
50
0
0
0
0
-5
0
-53
0
0
0
0
0
0
-65
0
-3
1
0
0
0
-30
0
11
0
0
0
0
32
0
0
2
-1
0
1
35
0
8
0
0
0
0
-1
1
-2
0
0
0
0
4
0
1
0
0
0
0
9
0
0
0
5
0
0
-1
0
8
4
0
11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
79
57
36
-34
-76
-10
11
32
120
66
-109
-23
33
10
19
-15
46
-27
-58
-11
-8
43
45
42
-57
-7
5
20
-16
-91
21
1
0
-17
-1
-4
-132
-73
-55
-30
40
9
-15
14
-98
-29
-50
4
31
-83
-37
47
-14
-22
4
0
36
86
-19
2
17
14
5
-63
86
-19
-10
79
-33
60
26
80
-22
-28
5
71
6
6
-16
25
32
-27
-120
-23
18
71
10
-58
-32
16
-15
0
28
-2
2
-72
9
-8
1
56
-27
25
-64
21
1
4
23
68
-21
-57
51
-13
-9
-24
-27
-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
19
-3
-3
-26
-30
-27
0
-5
12
0
2
-40
0
0
-25
14
0
29
52
7
-8
-3
-26
1
0
11
0
0
-27
66
0
-1
5
-4
1
-5
-80
0
0
45
0
9
0
91
-5
0
0
4
17
0
19
0
0
0
0
0
0
65
5
3
5
-4
0
-2
-142
0
100
11
-3
0
-5
-38
-2
1
-9
1
0
3
-36
6
-23
-32
0
0
0
-149
0
-53
-14
0
-1
0
-50
0
-31
0
0
0
0
86
0
0
-4
33
0
0
-51
-5
5
0
0
-6
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
11
0
0
-53
0
0
0
0
0
0
6
0
0
0
-9
0
0
-89
0
0
-3
0
0
0
24
0
0
-1
-5
0
0
-41
0
0
0
0
0
0
22
0
0
0
0
0
0
-29
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
-20
0
-1
0
0
0
0
5
0
0
0
0
0
0
6
0
1
0
0
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
6
5
-64
4
-4
53
3
-4
3
0
-2
84
16
-7
0
53
-14
-7
14
-85
0
0
72
-1
0
-1
31
0
7
33
37
0
0
6
0
0
5
0
17
0
4
-1
0
0
96
3
0
6
0
5
0
0
0
0
2
33
0
-2
0
0
0
-44
-6
0
5
0
0
0
-35
0
-5
-2
0
0
-20
140
0
4
49
1
-5
7
-20
0
0
-6
-1
0
2
30
0
-21
-5
0
0
4
26
0
-2
0
-2
1
0
64
-1
-28
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-24
0
0
5
0
0
0
2
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
11
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
61
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
-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
33
0
0
0
0
0
0
-5
0
0
0
0
0
0
-35
0
0
0
0
0
0
-18
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
71
0
0
11
-12
0
10
-95
-14
5
-4
9
0
0
15
1
0
-5
42
0
-2
91
-66
0
0
-25
2
0
-4
2
-6
0
42
0
-1
0
-45
-5
0
25
0
0
0
0
7
0
36
-11
-1
0
0
0
-3
2
2
-81
23
0
0
-8
3
0
-13
8
1
7
3
2
0
-33
44
0
0
7
-54
0
-6
19
25
0
0
-138
-1
5
29
-1
0
5
2
1
50
-3
5
0
0
-82
0
2
0
0
-1
0
14
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
23
39
-74
-45
-16
-2
12
6
13
15
-3
-35
42
-48
77
-10
35
-4
-11
-94
28
-27
-1
-8
-76
28
71
-6
61
20
16
-67
40
2
-30
39
23
-26
-14
-31
-25
15
2
1
-20
24
-3
-2
-1
1
-5
-32
-21
101
-4
-3
-68
0
3
10
-7
63
56
41
2
7
63
21
-28
-76
-38
-1
-81
27
-46
-121
7
36
-28
15
76
13
5
-21
-77
4
22
-13
-8
9
56
-37
-7
3
-42
53
9
36
1
-26
13
-71
-26
5
-22
3
24
-64
-14
-27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
-14
0
0
33
-22
0
1
66
10
0
-16
24
0
0
33
3
0
-1
-17
0
0
-1
6
0
0
-43
0
0
0
0
4
0
41
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
3
4
-6
0
0
3
6
3
36
-4
0
0
0
-31
0
0
-5
0
4
0
4
0
1
-2
0
0
1
-93
0
0
-2
23
5
0
23
0
-33
0
0
0
0
-27
0
0
0
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-25
0
0
25
6
0
0
20
5
0
-3
9
0
0
14
0
0
0
17
0
3
6
6
0
0
-51
0
1
0
0
0
0
-15
0
0
-3
7
2
0
7
0
0
0
4
0
4
63
7
2
2
0
0
0
-48
0
-27
4
0
0
0
53
-1
0
0
0
0
0
-21
0
-7
-6
0
0
-4
81
0
21
-25
3
0
0
53
0
2
-2
0
0
0
-73
0
0
-7
0
0
0
-14
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
-42
45
-5
33
-88
2
33
-11
-8
0
22
56
77
-1
17
20
-47
-6
9
20
-5
27
-17
0
18
-44
-128
-1
33
-25
-1
11
47
-1
9
-1
32
0
-2
-29
11
-71
0
31
4
-7
0
-1
6
0
-4
27
0
1
1
2
-26
11
65
50
11
-1
-3
-23
64
0
-62
33
-15
2
25
13
6
65
64
41
-9
-2
5
-1
13
-30
57
5
15
63
-10
-28
33
0
-9
32
32
5
5
-47
74
15
-1
19
0
-87
20
0
-43
0
35
82
-27
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
2
6
-2
0
6
0
0
-27
-28
4
20
21
0
-2
-37
-35
0
0
-19
0
4
6
-72
7
11
5
-1
-5
5
21
0
0
-1
-2
-23
0
24
0
0
0
0
-69
0
12
0
0
0
0
1
0
-5
-4
-3
0
0
0
-6
23
7
41
-22
0
0
8
-53
0
-5
-16
0
0
-25
-13
-6
33
-19
0
0
0
-62
0
-5
2
-4
0
7
21
-7
-22
-10
0
-1
11
-93
0
0
5
0
9
0
-35
0
9
-2
0
-7
0
53
-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
53
0
0
6
0
0
0
-35
0
0
-3
0
0
0
-109
0
0
14
0
0
2
5
0
0
0
0
0
0
-27
0
0
0
0
0
0
90
0
0
0
0
0
0
-90
0
0
0
0
0
0
-34
0
0
0
0
0
0
-32
0
0
0
0
0
0
-93
0
0
3
0
0
0
-5
0
5
-5
0
0
0
45
0
1
0
0
0
0
95
0
0
0
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
71
-43
5
-14
-13
0
6
41
-6
0
0
-34
0
2
-1
68
0
10
40
0
0
-47
0
-9
0
-5
0
-14
7
123
-12
0
-5
0
-2
0
4
0
-3
16
68
1
1
-7
0
1
-69
2
9
25
0
0
-3
62
0
-17
51
-38
0
9
-15
-1
-51
-39
26
1
0
-4
0
-3
-72
-4
0
-3
-23
0
-47
-19
1
0
-3
7
0
-1
-20
-13
-9
0
-19
-3
-33
0
0
6
0
-71
-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
-11
4
-70
19
-33
-25
31
-5
18
-11
-34
58
-11
-101
-16
1
-3
26
-1
31
1
-51
21
26
-69
36
-35
-43
-48
-13
43
-43
-11
0
-26
0
20
44
55
6
-64
-79
25
33
-65
35
28
19
-11
-27
6
-30
-5
-34
-8
-5
-25
0
64
-8
-27
-62
22
-12
5
39
-35
-14
-19
-5
-31
0
34
60
10
5
3
-64
2
-37
-5
8
93
-62
3
46
-6
-50
45
-6
-43
-17
2
77
-14
29
-14
-79
16
22
12
25
-49
-12
-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
-42
0
5
25
0
0
0
-46
0
0
0
0
0
0
7
0
0
0
31
0
0
23
0
0
0
0
0
1
4
0
0
0
0
0
0
52
0
0
0
0
0
0
-31
0
9
5
0
0
0
13
0
0
0
0
0
0
0
0
-2
0
0
0
-7
10
0
0
4
0
0
0
5
0
0
0
0
0
0
20
0
0
0
0
0
0
14
0
0
0
0
0
0
47
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
10
3
0
0
-18
0
0
-2
-15
0
0
-4
1
0
-4
47
0
0
5
4
0
0
-106
0
0
-4
0
0
0
45
0
0
0
2
0
0
-25
0
0
0
0
0
0
24
-2
0
0
0
0
5
76
-8
11
0
0
0
0
26
0
0
-4
0
0
0
25
0
0
5
0
0
0
-21
0
2
0
0
0
0
9
0
1
0
0
0
0
96
0
0
0
0
0
0
20
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
26
-3
-18
-28
55
-4
-4
2
0
25
-95
33
-5
1
43
0
3
-62
-127
0
-14
-21
0
7
-1
11
-43
-2
-33
0
19
32
2
42
0
16
3
0
0
0
1
1
43
34
7
-29
-6
0
1
24
11
-23
-5
0
0
-43
-26
-1
38
-50
31
0
18
-17
-4
141
40
0
-6
5
-1
0
10
-9
46
0
55
3
0
-12
-53
13
4
-1
-92
4
5
3
-1
-4
0
1
0
55
-1
0
-34
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
-4
0
1
0
0
0
0
-51
0
0
0
0
0
0
-26
0
0
0
0
0
0
-47
0
0
0
0
0
0
9
0
0
0
0
0
0
-11
0
6
3
0
0
0
33
0
0
-9
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
-22
0
0
-4
0
0
0
-20
0
0
3
5
0
0
33
0
0
0
0
0
0
10
0
0
0
-5
0
0
26
0
0
0
0
0
0
29
0
0
0
0
0
0
-35
0
0
0
0
0
0
35
0
0
-2
0
0
0
31
0
0
-7
0
0
0
101
0
0
0
0
0
0
-30
0
-7
1
0
0
0
-5
0
0
-6
0
0
0
84
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
3
57
9
-11
9
19
0
-1
-1
0
-4
22
36
2
0
14
0
1
-23
0
90
0
43
0
-1
-17
-24
75
0
-44
0
0
0
0
3
0
15
1
1
8
0
0
-3
32
1
-11
6
0
0
0
-22
0
-19
-16
9
0
4
27
-10
29
-78
0
21
1
-5
18
6
-43
-20
0
-14
15
0
21
-54
-2
0
0
-36
0
0
2
17
0
0
30
0
-38
8
0
4
0
-28
56
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
47
22
36
30
42
15
6
11
1
-46
38
27
29
0
13
6
14
-1
19
-27
71
-47
3
-25
-14
0
48
9
33
-3
-5
90
-6
7
9
-25
35
6
-1
28
21
124
-118
-57
14
-20
-147
29
-17
96
68
-2
18
16
0
-19
-92
-37
-27
1
-86
-21
64
24
-40
-51
9
52
-23
-18
22
5
-43
14
3
28
14
10
0
-50
-14
-17
19
60
-19
-17
-32
26
0
55
-77
85
31
-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
3
0
0
1
0
0
5
-58
0
0
0
1
0
0
20
0
0
0
0
0
0
-14
0
0
0
0
0
0
-23
0
0
0
0
0
0
-41
0
1
0
0
0
0
5
0
20
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
-3
1
0
0
13
0
-8
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
4
0
0
0
52
2
0
10
1
0
-1
-109
0
0
0
0
0
1
-17
0
-1
2
0
0
0
-4
0
0
0
5
11
0
81
0
0
0
-2
0
-2
-17
-3
-12
2
0
0
5
-27
0
-1
-7
0
0
0
-53
0
-43
-8
0
0
0
27
0
0
15
-2
1
2
-23
0
4
-2
0
0
0
38
0
0
0
1
0
0
-23
0
11
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-8
38
10
-1
0
-46
-1
-1
18
-62
35
-3
0
0
3
2
0
89
0
-9
-5
9
2
-28
67
0
8
3
0
2
-3
5
0
-21
49
14
2
-8
0
40
10
1
9
31
15
-1
1
-39
5
27
-4
-14
0
-20
5
13
17
8
0
0
-35
-12
0
-91
3
5
1
-5
-14
-2
-20
6
1
-3
-2
30
5
4
-3
-54
16
0
10
0
20
-2
-1
-16
0
20
-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
51
-23
4
0
-57
0
0
1
-18
0
0
-13
1
7
0
10
0
0
-35
0
23
0
-14
0
0
-2
0
29
0
-8
0
0
0
0
3
0
48
0
2
-7
0
0
3
-53
0
60
15
0
0
-11
17
3
0
-4
0
0
-1
58
0
-13
9
0
0
0
-51
0
0
39
0
0
8
-35
0
8
26
0
0
-4
56
0
5
24
1
5
-4
49
0
46
0
0
-11
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
-21
0
0
8
0
0
0
2
0
0
0
0
0
0
-21
0
0
-10
0
0
0
50
0
0
0
3
0
0
-40
0
0
0
0
0
0
-40
2
0
-1
0
0
0
1
0
-2
0
0
0
0
-54
0
0
7
0
0
3
22
0
0
8
0
0
0
-14
0
0
0
2
0
0
39
0
-6
-2
0
0
0
-5
0
0
-2
0
0
0
-5
0
-5
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
91
0
25
-103
37
0
0
-61
0
0
43
1
-8
0
62
0
-3
-27
-15
11
0
33
0
0
0
0
0
2
15
-5
0
9
0
0
0
14
0
-42
26
0
0
0
62
0
5
-5
2
0
0
-25
0
108
2
0
0
0
8
0
9
0
-5
0
0
4
0
82
1
-1
0
0
4
0
5
2
-19
-1
1
54
0
-11
-3
-2
23
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
-25
-13
-36
66
-23
-32
47
-21
19
52
86
-26
48
2
14
9
-10
-10
-65
-41
-1
0
17
-7
-81
-15
8
-44
-4
-49
24
57
8
50
21
31
32
7
12
0
33
-23
-54
-3
-14
-24
-41
5
-141
9
-36
-8
58
-2
-49
18
44
0
90
-4
71
66
-1
-73
-26
113
16
49
48
-42
-82
-33
-6
-73
-89
-14
-67
-31
11
-5
-3
29
5
44
-6
5
-10
-32
-16
-100
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
0
0
0
2
0
0
0
0
2
0
-44
0
0
0
0
0
0
3
0
0
21
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
-14
0
3
0
0
0
0
-1
0
0
4
1
0
0
5
0
-1
0
0
0
0
-13
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-1
0
5
-43
0
0
-1
0
0
0
-3
0
0
6
17
-2
0
53
0
0
0
0
0
0
-68
0
0
0
0
0
0
9
0
2
18
0
0
34
-1
3
0
-4
0
0
-10
35
0
7
0
0
-3
0
27
0
0
0
0
0
-2
23
0
0
1
0
0
0
15
0
0
1
0
0
0
14
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-7
16
-100
-2
-1
10
0
0
0
1
-27
8
25
-1
1
8
22
-72
0
3
0
0
0
0
0
0
-62
-14
-4
3
0
0
-2
30
0
-128
1
0
11
3
56
0
4
24
5
-4
22
41
0
5
-31
2
0
-25
2
2
67
-10
3
0
-1
-12
-1
-76
1
1
-2
2
17
0
18
-1
64
1
0
16
0
-33
0
0
-4
0
14
1
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
16
0
0
-1
0
0
0
-3
0
0
2
0
6
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
7
0
0
0
0
0
0
-56
0
0
-23
0
0
-14
38
0
0
0
0
0
16
1
0
1
1
0
0
0
74
0
0
0
0
0
0
-76
0
0
0
0
0
0
-57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-38
0
0
0
0
0
0
-6
0
0
0
-4
0
0
9
0
0
0
0
0
0
-5
-1
0
0
0
0
0
47
0
-3
-5
0
0
0
-75
0
0
2
0
0
0
12
0
0
0
0
0
-5
-85
0
0
-2
-2
0
1
-53
0
-1
0
0
0
0
15
0
0
0
0
0
0
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-4
0
8
0
-49
0
0
-1
17
-3
0
-14
0
0
0
0
0
0
3
0
11
0
0
0
0
-20
0
23
0
0
0
0
-49
0
4
0
0
0
0
-3
0
-7
1
0
0
0
49
5
-1
2
-8
0
0
-81
0
-74
-5
2
0
0
28
0
0
0
6
-2
0
-61
0
2
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
-50
8
0
-47
63
0
-16
14
-23
0
-5
-125
-68
-24
0
6
-39
-2
-4
-2
-2
-3
-6
-3
-26
76
29
27
3
30
-23
11
44
24
-1
32
-21
32
85
-55
52
16
41
21
43
31
-46
21
-1
74
-14
-2
38
13
8
-1
8
0
44
-22
72
-21
2
20
13
-7
-31
-20
-3
60
2
-15
4
-57
-79
5
-37
0
33
-21
-14
11
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
-19
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
-1
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
-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
-61
0
0
1
0
0
0
69
0
0
0
9
0
0
-4
0
0
0
0
0
0
-32
0
0
7
0
0
0
29
0
0
0
0
0
0
34
0
0
0
0
0
0
62
0
5
-8
0
0
0
-10
0
-5
0
-1
0
0
-104
0
-1
6
0
0
1
-3
0
0
0
-9
0
0
91
0
4
0
2
0
0
-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
59
0
0
0
-3
22
2
-34
0
-2
0
-108
-6
0
-41
0
0
0
6
0
7
-70
5
0
-9
0
0
-5
68
0
-28
32
0
0
-18
7
-6
0
-24
-31
0
9
52
0
11
-1
0
-1
-9
33
-7
-2
-21
10
0
0
33
0
43
-13
0
0
0
53
0
52
0
16
-5
0
-35
0
25
3
0
-14
0
15
-15
-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
24
0
0
-17
0
-9
0
-73
0
0
43
0
-4
0
-70
0
0
0
0
0
0
-34
0
0
-2
0
0
1
-44
0
0
2
0
0
-1
9
0
-6
-5
-3
0
4
57
0
70
43
0
0
7
14
0
4
-6
-29
-1
-34
5
0
-1
16
0
-1
15
6
0
2
1
0
1
0
-16
0
-16
-3
0
-1
0
-77
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
8
0
0
34
0
0
0
8
0
0
63
0
1
-3
0
0
0
5
0
0
0
0
0
7
-97
0
0
-3
0
0
0
28
0
8
-4
0
0
0
-18
0
1
1
0
0
0
2
0
-25
11
0
0
0
-29
0
0
0
0
0
0
95
0
-10
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
-27
0
0
7
0
-2
0
30
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
15
-1
0
0
0
43
0
0
-1
0
0
0
-29
0
3
0
0
0
0
-41
0
0
-2
0
0
0
150
0
0
0
0
0
0
-39
0
0
0
0
0
0
-8
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
-13
-10
5
-25
47
44
-5
7
9
53
123
-5
7
34
-11
11
-38
-74
1
17
39
42
14
-23
5
70
30
-15
-28
18
-24
6
-24
-16
-6
108
36
-6
14
-14
-26
12
51
-3
-12
-16
53
-28
49
52
27
50
-59
-66
18
-29
9
0
5
36
5
6
2
-1
-12
31
-10
46
1
12
-1
4
7
-29
-18
-42
-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
7
0
0
0
0
0
0
-22
0
0
0
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
0
0
0
0
0
0
4
2
0
0
0
0
0
-3
0
-4
0
0
0
0
-24
0
0
0
4
0
0
5
0
1
0
0
0
0
-4
0
-7
0
0
0
0
3
0
5
0
0
0
0
2
0
0
0
0
0
0
66
0
3
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
46
0
0
0
8
-15
0
-63
0
0
0
0
0
0
-13
-1
0
0
0
0
0
3
0
26
-5
0
0
11
6
0
5
-11
0
0
0
-23
0
14
4
0
0
1
-15
0
5
0
32
2
2
44
0
20
-2
0
0
0
-18
0
-1
0
0
0
0
1
0
-52
0
0
11
0
-29
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
20
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
-1
0
0
0
0
14
0
0
0
0
0
0
9
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-3
0
0
0
0
13
0
8
2
0
0
0
14
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
53
0
0
-11
32
0
0
9
0
0
0
0
0
0
-45
-1
0
0
0
0
0
-3
0
0
1
0
0
-4
5
0
0
8
11
0
0
-69
0
-19
-6
0
0
0
-37
0
0
0
-1
0
-1
-8
0
-46
-1
0
0
0
52
0
0
-2
-1
0
0
-15
0
-4
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
-29
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
-39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-2
-1
-3
13
-6
-48
-39
-54
-30
33
6
-6
-33
28
46
-54
14
4
-10
24
-15
34
60
103
56
-91
12
3
18
75
14
-26
-47
-4
-9
-25
86
17
25
-30
54
25
-96
18
27
32
4
-3
-4
16
64
1
-50
-1
0
20
10
-2
-5
-7
0
56
-6
-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
34
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
9
0
0
0
0
0
0
1
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-45
0
0
0
0
0
0
-2
0
1
1
0
0
0
23
0
0
-4
2
0
0
-47
0
0
0
0
0
0
-13
0
1
10
0
0
0
43
0
0
0
0
0
0
-1
0
0
0
0
0
0
-73
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
27
0
0
0
0
0
0
9
-4
0
0
0
0
-3
-45
1
-1
33
0
0
3
-20
0
0
9
-3
0
0
-10
0
-1
-1
0
0
-1
-40
0
-1
0
0
0
1
27
0
-62
0
-3
0
5
37
0
0
5
-3
0
0
-64
0
-17
0
0
-1
0
-35
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
-2
-8
0
0
0
-14
0
5
7
0
2
-1
16
0
1
0
0
0
11
-42
0
34
0
0
9
-17
31
8
0
19
0
0
1
-37
0
88
-3
0
0
0
6
0
0
-11
0
1
0
-4
0
10
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
-2
20
7
-65
43
0
0
-2
-27
0
-3
-65
6
0
-2
-60
0
-14
6
0
0
-3
-8
0
4
-5
-7
0
9
-20
0
-26
-10
0
0
0
20
0
8
8
14
0
0
-29
0
-8
-4
0
0
0
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
63
-108
21
-29
-27
30
-17
69
39
44
9
14
-64
19
-15
-87
-11
-12
-8
-26
33
23
-30
-41
-52
-81
0
14
-99
-144
10
48
-32
9
33
-29
5
-28
-76
-2
25
20
-15
90
-52
-25
23
-19
15
17
-54
2
-19
31
-1
0
0
27
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
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
-10
0
3
0
0
0
0
-2
0
0
0
0
0
0
-18
0
-5
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
20
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
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
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
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
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
-28
0
0
0
0
0
-1
6
0
0
-2
0
0
0
1
0
0
-14
0
0
0
28
0
-5
0
0
0
0
-4
0
0
0
3
0
0
69
0
-21
0
0
0
0
-22
0
0
0
8
0
0
33
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
-3
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
24
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
-20
46
-24
28
24
9
-37
-165
20
0
-27
52
158
0
-33
4
-15
101
14
-31
-8
52
-26
14
-100
-97
-8
36
13
-18
7
-23
-65
-21
39
37
-30
0
-27
-56
50
44
2
-3
2
2
-31
-6
56
0
34
33
-43
-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
-32
0
47
9
0
0
0
23
4
9
6
4
0
0
38
0
18
-3
0
0
0
60
0
2
0
0
0
2
-59
0
11
0
0
0
0
-2
0
0
-1
0
-1
0
10
0
-26
0
0
-8
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
1
-7
0
-4
1
0
0
0
27
-4
0
0
0
0
0
28
0
-4
0
0
0
0
-6
0
0
-1
0
0
0
-41
0
-9
0
0
0
0
5
0
0
2
0
0
0
-35
0
-9
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-3
7
0
0
0
100
0
5
2
0
0
0
-40
0
0
-9
0
0
0
-8
0
0
3
2
0
0
15
0
1
0
0
0
0
127
0
2
0
0
-5
0
76
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
-68
0
-11
-1
0
0
0
-20
0
0
0
0
0
0
-61
0
5
0
0
0
1
26
0
0
0
0
0
0
0
0
15
0
0
0
0
-9
0
0
0
0
0
0
-9
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
14
0
0
0
1
0
0
-148
0
-18
0
-3
0
0
11
0
0
-9
0
0
0
-2
0
-2
3
0
0
0
57
0
0
0
0
0
0
10
0
-9
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
1
-71
-15
-80
9
-2
19
-7
84
-11
-3
-19
-1
-29
0
63
-17
-95
4
62
-18
1
56
21
16
6
5
-50
-10
56
-83
-56
26
0
43
0
80
1
0
20
0
20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
4
0
0
0
5
0
-2
0
0
0
0
-7
0
-9
-2
0
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
75
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
6
-77
0
-8
-53
6
0
49
6
0
71
-55
-1
-17
5
23
0
6
8
-58
0
1
-81
0
-118
48
-3
4
0
-41
0
0
-11
14
-1
0
-62
0
31
-1
-2
16
0
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
1
0
-13
-5
0
-59
5
0
0
0
-50
7
1
-7
-1
0
0
-66
0
3
1
0
0
0
-87
14
-1
-4
5
0
0
89
0
-2
0
0
0
0
62
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
17
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
-2
0
0
0
-3
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
-3
-48
0
1
0
0
0
0
-9
0
4
0
0
0
0
2
0
7
1
0
0
0
75
0
2
0
0
0
0
-22
0
-2
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-61
61
-21
17
-64
-5
2
64
-18
-55
0
4
-41
-4
-36
88
-21
-2
2
18
-1
81
-23
-23
-10
2
22
0
75
6
19
-14
0
25
10
35
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
19
0
0
0
0
0
0
-9
0
0
0
7
0
0
-7
0
-7
0
0
0
0
-15
0
0
0
8
0
0
78
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-62
0
63
14
0
0
5
64
0
0
-5
7
0
0
21
0
-13
7
0
0
0
-69
0
0
0
0
0
0
50
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
1
-29
3
7
0
2
0
2
-1
0
-8
-13
7
6
0
73
0
-31
3
0
0
0
5
0
0
-3
0
1
0
6
0
11
0
0
-1
0
19
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
27
0
-2
-6
0
0
0
49
0
0
0
0
0
0
-47
0
-8
1
0
0
3
-60
0
0
0
0
0
0
9
0
36
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-13
5
0
0
0
-11
0
0
0
-1
0
0
-41
0
-7
0
0
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-83
0
0
-8
15
0
0
34
0
0
5
-11
0
1
-47
0
0
1
-2
0
0
-8
0
-5
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-2
29
30
63
-24
3
-32
25
13
-24
-77
6
7
92
0
86
14
-19
-7
0
42
-5
-38
0
19
-80
0
-45
-87
5
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
-10
0
0
0
-14
0
0
5
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
131
-2
-4
-35
5
0
4
51
0
14
-9
0
0
1
-83
0
0
-19
0
0
0
-39
0
43
0
-1
-14
0
-73
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
-51
3
0
11
-6
0
0
0
0
-5
-3
0
0
0
-8
1
0
0
0
0
0
-13
0
43
0
0
-10
0
106
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
37
0
0
0
0
0
0
35
0
0
0
0
0
0
-19
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
31
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
-7
0
0
2
9
0
0
-7
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
56
73
-26
-10
-55
-1
14
9
-22
2
0
-21
-2
-31
-6
0
-14
0
-5
-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
35
0
0
0
0
0
0
-23
0
10
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
-44
0
30
11
3
0
-3
59
0
0
8
-2
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-44
0
14
-3
0
0
3
-88
0
4
-5
0
0
0
21
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
25
0
0
0
43
0
0
54
0
0
0
-14
0
25
0
0
-1
0
-38
-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
9
0
0
0
1
0
0
25
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
37
0
1
-8
0
0
0
26
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
-13
-23
1
3
91
-40
0
-1
16
-25
-7
-14
0
-14
0
10
23
10
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-2
1
0
0
-31
-1
49
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
0
3
0
0
11
0
-16
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
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
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-62
13
-3
-14
0
-2
-16
5
14
-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
21
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
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
7
0
-33
-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
-68
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-16
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-52
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
6
0
0
0
0
0
0
-5
-1
0
0
0
0
0
-17
0
0
0
0
0
0
-53
0
0
2
0
0
0
-13
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
-14
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
4
0
0
0
24
0
0
9
-11
5
0
-12
0
0
0
-4
0
5
-8
-1
0
0
0
5
-10
-8
0
0
0
0
0
30
0
0
0
0
0
2
-1
0
0
0
-7
0
0
-6
0
0
5
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
2
0
-7
43
0
0
0
84
4
21
41
-1
0
0
-81
0
18
15
0
0
0
5
-45
36
6
0
0
0
-9
-8
-7
0
0
0
0
0
0
19
0
0
-53
0
0
0
13
0
0
-1
-22
0
0
0
-33
40
0
-2
-60
0
0
-109
-18
5
16
8
0
0
52
5
0
0
-96
0
0
-25
-43
0
0
46
102
0
-16
-8
0
0
22
0
0
-2
1
0
72
-9
1
0
0
10
-5
0
0
0
22
0
-20
22
-21
0
0
-1
-1
0
-40
0
-8
0
0
1
28
3
-16
54
-3
0
-1
-10
0
0
-29
0
7
-2
57
0
4
16
2
0
22
47
0
-2
23
-2
0
0
-25
0
0
-75
-22
0
0
31
0
0
-20
0
-1
0
-38
-1
0
14
34
3
0
-64
27
3
0
0
0
0
0
-43
1
6
0
0
0
-14
0
-9
-5
0
0
18
19
0
-2
-10
0
0
0
-20
0
-6
0
0
0
0
-63
3
0
-4
-4
1
0
30
-2
-35
0
0
-3
0
51
0
-4
20
8
6
0
-31
0
49
0
-2
-3
0
-10
4
0
0
0
0
0
0
0
0
0
0
0
44
-43
-131
7
-15
-34
74
16
3
58
43
-9
-3
21
16
24
42
-23
43
8
13
20
-2
38
-62
-39
-38
-6
-10
22
14
-2
-45
36
4
-24
17
-19
0
-9
6
1
-19
25
3
-4
-20
56
-1
-83
-27
2
-45
-61
29
-33
-8
20
-19
-143
59
-54
-65
0
0
0
0
0
0
0
35
28
-6
35
52
86
-12
20
20
69
15
12
-4
-5
-1
24
89
55
9
-26
-5
-11
0
-38
41
-5
-5
-5
-21
18
-101
-36
-4
31
-6
39
21
15
-65
53
-8
-5
-19
-75
-5
-25
-24
77
-19
19
6
-4
56
15
-13
-38
25
21
20
31
45
13
16
14
21
48
11
11
1
29
34
-3
6
-12
29
43
-38
24
-1
33
-17
-2
-7
-15
-35
-6
9
-9
-13
-51
-6
-6
-2
2
3
-16
1
-9
52
-4
16
-5
21
60
7
-50
12
-18
-21
-79
-4
46
-145
11
-55
-1
-63
-33
7
-33
-6
19
48
4
30
92
0
15
-22
2
20
19
-4
-7
12
31
14
17
18
43
6
1
-17
23
6
7
3
-24
-6
12
9
-12
3
-13
-8
-1
2
7
-17
52
-11
52
-3
-5
26
-23
-13
-6
-122
5
-26
-50
-14
-12
3
-22
44
-44
-20
-47
70
-101
37
0
-58
55
15
85
55
34
-7
-5
45
-11
0
27
-1
4
27
18
9
65
13
2
-17
13
-6
-12
30
-17
-11
-2
-43
7
-15
37
-18
-7
-10
-65
-20
-23
-6
5
30
-3
24
11
11
17
56
-52
-8
-29
2
2
19
-77
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
1
0
3
-6
2
2
0
13
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
16
0
0
-1
0
0
-77
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
0
1
0
0
3
0
0
0
22
-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
14
0
0
1
0
0
0
0
0
-19
-8
-5
-1
0
0
0
-4
0
0
0
0
0
5
10
0
-3
0
0
0
-4
45
0
0
-3
0
0
7
36
0
0
1
0
0
0
18
0
0
-1
0
0
0
-2
0
16
0
-1
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-44
0
0
-1
0
0
0
-58
0
0
-1
0
0
-1
-35
0
0
-1
0
0
0
43
0
0
1
0
0
0
-4
0
0
1
0
0
0
-81
0
0
0
0
0
0
-4
0
0
0
0
0
0
-33
0
0
0
0
0
0
4
22
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
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
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
-36
0
0
0
7
0
0
0
-2
-4
1
6
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
12
0
0
-1
0
0
-1
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
-31
0
-1
-20
6
0
0
-41
0
0
1
-3
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
11
0
0
-1
0
0
0
0
0
44
11
0
0
0
0
1
35
0
0
-1
0
0
-16
-9
0
2
-9
0
0
-77
0
0
0
46
0
0
0
10
0
0
3
0
0
0
24
0
0
0
0
0
0
21
0
-4
0
0
0
0
15
0
0
0
0
0
0
19
0
0
0
0
0
0
28
1
0
0
0
0
0
7
4
0
-1
0
0
0
-43
0
0
0
0
0
0
-36
0
-2
-1
0
0
0
-18
0
0
-1
0
0
0
-15
0
0
-3
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
-44
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
25
0
-4
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
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-72
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
16
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
-46
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
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
-44
0
0
8
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-22
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
-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
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
-32
0
0
0
1
0
0
-1
-1
0
0
-9
0
0
0
2
0
0
-8
6
-7
0
0
-1
0
18
-2
0
0
0
0
0
0
0
-18
0
0
-8
0
0
0
0
26
0
0
0
0
0
31
0
0
0
0
0
43
105
0
0
0
0
0
0
0
0
0
0
0
-90
0
0
0
16
0
0
-1
0
0
1
-80
-79
0
-6
-23
0
0
-59
0
0
18
16
15
0
-6
59
0
13
0
0
0
-20
0
0
0
-10
0
0
-3
6
7
0
0
-24
0
0
0
0
0
47
72
-10
2
0
0
4
11
-1
1
-4
0
0
45
82
1
18
-2
5
0
103
26
0
0
6
0
0
60
-61
0
0
-60
89
0
-62
12
0
1
-65
0
0
-20
-71
3
91
-14
10
0
0
-81
0
0
4
0
0
0
26
-23
-20
0
5
0
4
-26
-3
0
42
0
0
3
-41
-6
9
42
0
0
129
-11
0
0
50
0
0
43
4
0
2
164
-72
0
-95
-46
0
0
36
0
0
-14
-88
0
0
-34
18
0
0
-20
0
0
18
0
0
0
26
0
0
-7
-9
0
0
6
0
0
0
0
0
0
-65
-1
0
-7
0
0
6
-41
4
95
-2
0
0
0
-23
0
9
33
0
0
13
-89
0
-40
20
0
0
-1
7
0
10
-2
-4
0
0
22
0
85
36
0
0
0
15
0
0
2
-8
0
0
-79
0
-113
0
0
0
0
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
58
3
-5
105
-4
1
-165
-2
0
54
60
0
3
-33
1
0
8
-1
0
3
0
-5
0
0
0
0
-2
0
-17
0
0
0
0
0
0
0
0
36
0
0
-5
0
0
-29
0
0
0
0
0
-12
81
0
20
0
0
0
0
0
0
0
0
0
-25
-25
43
34
34
6
0
-156
55
0
-4
-5
-5
0
-1
100
0
0
9
0
-6
-4
-9
0
0
-1
6
-1
2
5
0
0
-9
0
-4
0
47
0
0
0
0
6
0
0
-53
0
0
0
-18
0
118
-22
71
0
1
0
-5
14
-6
0
-44
13
0
52
-10
3
38
-19
-10
0
-41
34
1
3
-45
-2
-9
5
-78
0
0
-19
-45
0
15
-68
0
0
15
26
0
0
-20
0
6
-32
-14
10
0
-72
0
0
2
0
-3
0
15
0
20
0
1
0
0
84
86
0
15
0
0
13
72
-50
-8
2
11
1
-34
-16
0
0
-1
0
0
-22
-8
1
-7
-8
0
13
68
-54
0
0
-51
-2
-17
0
-93
0
-10
-14
-53
-1
0
12
0
-1
57
0
-7
0
-133
0
0
0
2
19
0
-10
0
0
0
0
9
0
89
53
3
-8
7
0
0
-91
1
13
-41
0
0
8
52
0
6
-6
0
0
0
-35
0
44
59
-25
0
-2
-71
0
-9
46
53
0
0
-3
0
-20
17
13
0
0
28
7
0
37
23
0
0
-17
0
69
0
0
0
0
86
3
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
-55
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
-34
0
0
0
-6
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
16
0
0
0
0
0
-2
0
0
0
-20
0
0
-1
0
0
-35
-2
0
0
-11
15
0
0
-2
0
0
0
11
0
0
-1
0
0
0
7
0
0
-1
0
0
0
0
0
-2
0
3
0
0
23
0
0
0
0
0
0
-48
0
0
0
0
0
0
-93
0
0
0
0
0
1
0
1
0
6
0
0
-1
-79
0
0
-3
0
0
-1
-50
0
0
0
0
0
0
5
0
0
2
0
0
0
-11
0
0
-1
0
0
0
-56
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
-11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
33
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
5
0
0
0
0
0
16
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
25
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
71
-14
3
0
0
0
5
0
0
8
-34
0
0
1
-3
0
-59
9
0
0
-23
32
0
0
2
0
0
0
-13
0
0
-1
0
0
0
88
0
0
2
0
0
0
-4
0
-22
7
0
0
0
59
0
0
0
0
0
0
-1
0
0
0
0
0
0
-57
-3
0
0
0
0
1
-93
0
0
18
0
0
0
-49
0
3
8
0
0
0
-47
0
2
2
0
0
0
-15
0
0
-4
0
0
0
5
0
0
4
3
0
0
-33
0
0
0
0
0
0
19
0
0
0
0
0
0
46
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
5
0
-3
0
0
0
0
39
0
0
0
0
0
0
4
0
0
0
0
0
0
53
0
0
0
0
0
0
27
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
30
-7
-2
74
20
-3
18
26
80
31
-96
53
-21
18
4
47
36
31
26
2
24
-6
12
-4
-42
-45
22
-6
8
20
14
-46
-23
3
34
-33
97
94
-7
-42
-45
8
-44
-15
2
-52
20
23
-25
-66
6
23
38
-17
-14
27
0
0
0
0
0
0
0
25
-4
43
54
19
88
15
9
27
-5
-70
1
13
33
-5
30
14
-9
-3
-23
-1
27
3
56
-21
-2
-20
-1
-9
16
6
0
-5
-34
3
-3
6
-16
-70
1
2
1
-7
-7
4
17
-26
43
20
155
6
52
-23
-28
62
-25
20
18
14
-14
10
62
37
8
-13
-24
-63
10
6
72
-13
11
27
5
-4
43
-44
8
-1
12
-6
-1
-11
18
13
4
-10
6
4
68
8
-3
-7
22
25
1
-8
28
41
-1
-7
-25
5
-10
-17
9
3
17
11
78
6
13
3
3
-10
-25
46
2
-50
33
8
-17
30
1
17
22
-35
-15
-81
-53
-2
-15
-33
-31
-2
-49
-31
-8
-18
-33
0
-4
4
16
-15
-3
-9
-6
-2
-40
-23
6
-9
2
-5
1
-2
-15
1
25
4
13
-1
28
2
6
6
0
-71
5
32
-60
23
33
-48
-6
33
33
15
27
-49
-74
17
-7
18
-49
-18
-129
29
1
7
-24
15
20
4
24
10
-9
-30
-79
-47
-9
12
-25
-4
30
-27
-21
-17
-17
11
-7
81
7
-12
24
8
44
4
-23
29
3
-26
-17
5
6
-36
14
13
42
-18
52
12
-19
-18
33
-19
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-2
0
2
-32
57
0
-84
-4
0
0
4
0
-4
2
8
0
0
0
36
-3
5
-1
0
0
0
-5
-6
-3
-3
0
0
18
0
4
0
0
0
38
0
0
-26
0
0
23
0
0
0
0
0
90
82
0
0
0
0
0
0
0
0
0
0
0
-66
14
9
0
-88
0
1
23
-15
-8
0
13
-24
-3
-53
-34
0
0
37
-1
-27
-2
-6
0
0
1
-7
8
-36
-1
0
0
-2
0
-8
0
22
0
17
-1
0
12
0
0
60
0
0
0
-25
0
86
45
1
0
0
0
27
-41
0
5
-53
0
0
-18
71
0
-40
108
-1
0
21
22
-2
0
5
0
-3
9
-39
0
3
-36
-1
0
-13
-22
0
0
-128
0
-2
6
-5
0
-16
-5
-35
-1
0
-211
0
0
-1
0
5
0
52
89
9
0
0
0
0
24
-19
0
-11
0
0
0
0
1
5
44
-6
-20
8
-44
0
0
4
0
6
41
6
0
16
-39
18
0
-32
-129
0
0
1
3
0
10
-20
0
-1
-44
-59
-9
10
43
0
0
-5
0
-2
0
-11
0
0
0
8
5
0
75
0
3
0
-27
0
0
51
-14
-3
2
0
0
4
51
0
-36
-3
0
0
4
9
-7
-8
-4
3
8
1
0
-35
-35
-2
0
0
1
52
0
0
0
-15
4
0
18
0
11
8
0
-11
0
8
0
0
-1
-9
0
1
-32
0
33
0
0
-2
0
58
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
-62
-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
-64
0
0
-3
0
0
-25
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
-46
-5
4
0
-81
0
0
-11
0
2
0
-3
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
11
0
0
0
0
-1
0
0
0
0
0
0
-52
0
0
-1
0
0
0
0
0
-14
0
4
0
0
0
-1
-12
0
0
-57
0
0
-2
0
0
-41
-25
0
0
-65
1
0
0
-35
0
0
1
-14
0
0
-3
0
-2
0
17
0
0
0
0
0
0
6
0
8
0
0
0
0
-29
0
0
0
0
0
0
-44
0
0
0
0
0
0
-20
0
0
0
0
0
0
-68
0
0
-2
14
0
0
-39
0
0
1
0
0
-3
-9
0
0
-2
0
0
0
2
0
0
-2
0
0
0
3
0
0
-1
0
0
0
-57
0
0
0
0
0
0
-1
0
0
0
0
-2
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
-27
0
0
0
0
0
0
75
0
0
0
0
0
0
-10
0
0
-1
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
52
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
9
0
0
-3
-2
19
0
-45
3
11
16
22
0
0
0
8
15
0
-3
-7
0
-1
14
0
0
1
0
0
0
64
0
8
25
-1
0
0
-3
0
-27
0
17
0
0
0
-17
0
0
0
0
1
22
49
0
-5
0
0
0
0
0
0
0
0
0
-31
11
0
46
-19
24
0
-1
19
0
0
1
-74
0
-41
18
17
31
-36
0
0
7
6
0
0
-33
17
0
-25
-14
0
0
-2
-1
0
-2
13
0
0
-21
1
0
0
8
-72
0
0
0
0
0
-87
119
64
22
0
0
37
10
16
5
64
0
14
-26
48
0
-39
-67
56
0
-12
-20
0
1
-33
13
0
-23
-40
0
-30
-38
3
0
-22
26
0
0
-69
-4
0
45
-24
0
-41
-62
4
0
5
-8
0
33
0
-3
0
0
27
47
48
0
38
0
0
-39
-38
0
5
0
0
-90
25
10
-1
16
16
0
-88
1
0
0
-64
0
0
53
41
0
29
26
75
0
63
-13
0
-10
14
-10
0
9
-23
0
18
33
-73
0
7
-30
0
0
-18
0
0
2
-40
0
73
6
-41
0
0
-36
45
0
0
0
0
0
-28
-9
2
25
-5
0
0
-62
2
18
-52
0
0
9
42
0
-8
23
5
0
35
-31
0
-40
-21
8
0
-17
-37
-2
-15
-15
40
0
0
-75
23
14
36
-2
0
0
-118
0
-11
5
-65
0
0
18
0
12
14
6
0
-3
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
0
-13
38
42
-70
87
14
5
-116
-69
-59
-30
-49
-58
-52
-25
3
-23
-14
32
-5
47
66
-49
63
-3
-73
17
-67
6
-18
-2
-16
5
14
-80
-2
2
15
0
0
-24
-9
-3
74
71
-5
10
29
3
0
0
0
0
0
0
0
-29
-41
-91
29
11
-8
4
2
-4
56
-13
5
-18
16
-27
-24
-63
13
-115
-99
-4
-11
8
14
6
2
8
-24
-25
25
-7
-11
-100
-49
7
-69
-37
25
-3
-126
-19
-20
-2
-110
-22
-1
1
-40
6
21
-9
3
20
16
62
1
-43
1
39
34
51
9
10
-37
34
-81
53
8
17
103
-10
-29
-69
-31
-10
-5
40
-43
-21
-43
-79
-29
-10
-54
-44
-3
-20
21
-57
11
111
35
15
-24
-18
-25
-1
-62
-13
-18
-23
-32
-14
-32
-53
0
18
0
-12
-5
-35
55
-4
8
4
-39
4
46
39
-62
31
-3
60
12
0
-24
-81
10
-49
-82
-39
-105
-69
-53
-32
-42
35
15
-28
-107
-17
-4
67
11
-35
9
-3
-24
-21
44
-88
-30
-45
-51
-65
-18
-31
-16
-30
27
10
-26
-27
29
-132
-120
-55
1
-6
-1
-99
-45
3
-43
-98
-14
3
-57
-46
15
-15
-9
-1
38
-14
10
-17
-9
-30
-65
1
-65
30
4
-28
-82
-28
-32
-41
66
-40
-27
2
-67
-11
8
39
-9
-47
-15
22
-29
-103
-42
-49
26
-36
-26
6
-4
-15
-5
-31
-5
-22
-4
41
-35
-14
45
6
-1
21
13
-28
-20
31
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-110
-34
0
-5
-5
14
-4
-20
-5
46
29
-5
-48
-14
-11
-2
0
0
-2
-4
5
5
-4
7
-2
-6
-5
14
0
52
0
-45
0
10
27
0
7
51
0
0
0
7
0
62
49
-2
34
1
0
0
0
0
0
0
0
0
-109
0
-62
-26
-91
-13
69
36
-64
14
-16
22
-101
11
-120
-80
24
8
-1
-1
48
-9
7
0
5
-15
-11
-54
-2
-26
0
-1
-2
0
-78
1
-17
0
0
25
9
-38
0
11
28
0
0
-2
-31
19
-7
-20
-19
14
24
-14
117
73
10
2
73
2
6
13
0
29
-6
-19
-111
-31
-32
-5
10
31
-30
5
-3
102
-1
0
-1
25
6
-2
-95
-5
0
8
-57
0
6
3
19
8
-82
31
-6
-9
8
-7
0
0
-6
-1
-45
0
-25
-14
72
10
0
-6
0
-20
-53
0
30
-10
6
22
-26
-36
62
31
23
-11
-28
0
6
37
20
-20
-11
-41
-5
0
-9
60
-3
9
-52
6
10
2
-30
-21
-5
-16
-25
9
21
-65
-43
-7
-6
-8
0
1
34
17
-9
-6
-8
0
6
-43
-30
-50
0
45
-3
0
0
4
-3
0
38
21
-7
-11
0
2
-2
-28
-7
-50
52
43
1
-106
0
14
53
13
33
3
-12
-14
1
-81
-53
4
29
20
-91
-7
-32
14
33
0
33
55
0
-155
1
-4
22
2
-62
2
2
-39
-50
1
0
7
0
-4
0
0
-3
0
6
-99
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
-76
128
18
6
92
0
10
5
-36
-3
-1
-69
0
-4
-19
43
0
0
-4
0
8
7
-20
0
-2
0
1
7
0
71
0
21
0
5
-8
0
0
-11
0
0
15
-8
0
42
103
0
25
0
0
0
0
0
0
0
0
0
-100
46
6
78
-33
4
16
18
-40
13
31
-64
-86
-19
-57
1
0
0
-85
26
-2
-1
-36
2
-5
-48
-4
1
-17
42
0
0
-14
-2
-6
10
63
0
0
-1
6
76
0
-2
58
0
0
0
25
-10
68
-7
49
34
0
0
-23
68
0
9
45
0
7
-20
-58
-5
53
-3
-8
7
-48
-31
0
21
-62
35
-6
-33
-74
0
-16
30
-15
-1
-49
-29
4
0
-44
8
0
1
49
0
53
-15
64
-7
3
40
0
0
0
-1
-8
0
18
8
11
-5
0
1
-1
51
-127
20
47
0
4
6
0
58
75
-84
29
-2
-3
-12
0
-2
-35
7
0
-150
-22
0
-15
-62
24
21
31
8
5
-11
-33
-14
13
-6
-77
1
5
88
-4
0
71
-18
0
-20
18
-2
47
0
-78
0
33
11
15
-10
0
81
20
0
3
0
21
4
43
-14
-5
-2
0
-2
-3
-35
0
84
73
0
-2
0
69
-6
-42
2
-3
-1
19
68
-1
-73
-18
-1
0
-10
-53
7
-5
-27
-4
0
0
11
0
-74
29
31
5
1
88
0
2
3
22
-3
0
-1
0
-74
2
-3
1
0
13
1
0
2
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-105
25
4
-3
-168
-4
-2
-63
14
52
-4
44
18
-59
-8
7
33
0
43
6
39
-4
71
14
-2
-1
-4
63
0
-25
18
38
1
6
-63
0
0
19
0
0
0
-10
-1
27
-10
-1
6
-13
-3
0
0
0
0
0
0
0
-9
-30
-21
3
76
-2
46
68
-3
53
0
38
-32
33
-17
61
48
-5
15
-14
44
81
15
0
3
42
27
11
28
6
0
-1
81
-2
-30
-10
-31
-1
-2
1
6
-4
0
-3
24
0
0
0
-7
5
38
5
-44
3
0
1
-68
-134
-3
49
-102
-5
0
49
39
14
29
-40
70
-10
-29
-53
3
3
-93
-3
-52
52
1
1
16
43
-9
-6
5
32
-4
0
11
-63
-18
-14
19
7
73
1
39
-5
-6
13
19
-7
-5
-9
71
0
-10
-10
14
-4
48
65
1
24
-23
0
48
20
0
-194
-67
-48
-4
-8
3
2
-89
15
24
41
-43
5
9
-60
-24
1
52
6
-22
30
-33
-18
-10
23
-32
-2
54
11
19
-6
7
-5
19
7
1
10
14
65
-30
4
36
-4
-9
54
-27
88
-52
-35
-1
-33
-4
-1
0
11
45
0
44
7
0
-6
-2
0
-4
-4
-45
35
49
15
1
21
40
8
-45
-71
25
-7
0
-24
0
32
12
-14
8
-59
10
-7
44
-15
-84
-7
-43
34
-6
56
-112
23
85
-1
8
3
-3
26
66
-3
-1
16
0
-26
62
6
-27
0
-4
-36
0
-2
62
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-23
11
39
-39
-10
-3
-61
27
13
-7
7
-14
-10
-7
-11
37
0
-45
50
-17
-81
-40
-6
16
-3
-20
-53
-4
-50
-5
-9
-6
-26
-44
0
1
3
0
0
9
5
-3
7
120
8
-10
-45
0
0
0
0
0
0
0
0
6
-8
13
-83
-20
-57
60
39
-19
26
19
-8
-10
-46
-1
52
73
-13
-75
-58
6
-29
72
-5
-15
11
-5
-3
-22
8
-1
1
5
41
3
-76
3
-2
-3
-18
15
-15
5
-11
-16
-4
0
3
-102
34
15
-15
-40
33
-3
0
-22
12
-7
-10
35
-6
-2
-23
15
25
16
33
6
34
17
11
122
-35
9
-44
62
6
3
-33
8
27
-34
0
-17
1
-6
20
-7
-14
17
1
-6
81
-1
-28
-1
-49
-12
-10
-5
-14
30
7
-23
-1
28
10
-47
-2
20
-5
6
20
-56
26
-15
29
51
37
-10
-30
-30
-6
-26
-1
65
-2
20
-44
38
43
52
-13
-14
-32
-62
33
-48
-17
-53
-9
71
-30
3
-58
-24
20
-10
31
-78
13
-45
-7
15
0
41
14
23
-84
26
-69
-11
-22
-53
1
-17
8
-2
-5
-57
-20
17
47
-14
-5
-11
-27
-69
33
-60
19
69
-16
4
-73
-52
-71
32
-6
-25
-10
41
15
-26
-5
5
-22
68
-5
-49
50
34
-74
-19
0
27
-5
-50
67
-23
-13
-43
-19
-45
-18
81
-47
3
-24
-28
-11
10
-39
9
-11
0
-12
-45
-22
8
-1
-14
-27
64
-3
-16
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-43
8
-9
-112
5
-16
-52
-43
0
55
-95
-1
-29
-87
-90
0
-2
0
0
0
15
16
33
10
-64
0
61
0
82
45
-10
-4
0
6
0
0
-12
0
0
0
43
0
30
-17
25
-74
0
6
0
0
0
0
0
0
0
-25
4
14
-2
-5
0
-35
-60
-70
-8
-2
-24
-10
-14
-81
-9
1
27
-24
8
5
-41
-20
0
-1
-20
5
3
4
-31
0
-1
104
0
-9
27
-64
6
0
-9
0
19
0
-5
-18
0
0
8
-5
-4
17
-24
54
104
0
0
24
47
0
0
-10
0
0
27
10
8
40
4
-1
8
-44
14
11
2
-24
0
5
22
-19
8
-4
-26
-2
-25
-5
1
0
22
-4
0
63
-13
-1
-3
23
-14
-15
9
85
3
10
-2
-18
0
15
0
-7
24
-48
0
0
-12
0
-1
29
-5
9
0
-4
43
67
-15
40
-20
57
18
12
-34
5
82
15
26
-31
-61
28
7
-5
-11
23
47
18
20
-4
87
29
-18
17
-3
-35
1
6
12
-15
-16
56
4
0
-32
-3
0
8
42
41
0
-2
-47
-5
8
0
-27
55
-4
-1
4
-12
0
-29
-9
43
-46
3
0
-142
33
-11
-93
17
-2
0
53
-48
-6
-8
52
-1
2
-5
27
70
-88
7
6
18
-70
-7
-1
-2
5
-6
-27
-49
20
-1
0
-36
-1
-9
-38
26
-15
-31
30
-2
18
44
-18
0
-6
-4
0
-51
-1
0
2
-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
-90
-4
25
-3
44
-2
0
16
32
17
21
-17
47
0
45
37
26
-8
0
0
0
-46
-20
62
-22
48
14
0
-1
8
104
-25
0
0
0
0
2
-24
10
0
-1
0
-1
40
34
24
-9
-5
0
0
0
0
0
0
0
0
-52
11
4
-7
-24
0
0
18
31
-10
104
6
-67
0
9
-77
0
-2
-38
29
0
-5
-110
1
-15
-15
-85
0
-29
-55
-2
-1
-69
-1
-1
-1
-86
3
-5
23
62
-8
0
4
-23
8
0
-5
-1
0
-4
-1
12
21
-14
0
104
11
31
0
-66
-2
0
-27
28
5
-13
-59
-116
0
21
38
6
-44
-57
-25
0
-8
-29
32
-8
-45
-20
0
-91
-25
0
-1
-30
-3
0
69
-28
-2
-62
-51
9
0
11
-7
0
8
-14
0
0
6
0
-95
22
-7
-15
0
-8
18
-33
-3
1
-2
0
34
22
28
157
-33
60
0
-1
26
0
10
-2
1
0
-18
-9
4
109
-30
-27
0
-53
-37
5
-44
-33
4
0
22
0
-5
-49
-4
-36
0
65
20
0
11
26
61
0
45
-4
5
-31
-129
-17
0
3
-11
-4
-5
0
0
0
9
52
14
3
-1
29
0
31
-99
-7
-57
-65
0
0
-18
12
-6
57
11
54
0
-36
3
-18
96
4
-2
1
17
-54
55
-56
16
-93
0
22
-7
5
-75
16
7
0
-43
12
-5
19
5
31
0
0
5
-10
-71
51
-4
0
0
-8
51
-10
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
-34
-23
-24
-5
-32
45
-4
18
-43
-55
-103
36
-26
-16
6
-73
-32
-43
-26
11
-53
-10
-47
-32
-9
-19
-59
-50
-20
1
0
-39
-23
-71
-83
-33
20
21
-61
-44
-9
-142
0
0
0
0
0
0
0
-119
-42
-5
-101
16
-77
-50
-7
-45
26
-9
-2
16
12
37
-41
32
20
-10
11
13
-4
0
-5
-50
-31
-16
-15
18
4
5
40
-34
-2
-28
12
-52
-30
-12
-11
3
-42
-14
-24
9
-43
-7
-41
-27
27
27
-32
-51
-27
31
-23
-21
10
-8
0
49
-21
-60
-2
55
98
38
7
12
29
21
-2
59
13
-4
-108
19
13
-13
-14
-52
-6
-3
-51
-3
-8
11
-1
-14
-16
-14
-26
24
-2
9
-17
17
-47
-27
1
-73
-30
-77
-69
-53
-21
21
1
12
-64
15
-52
-62
24
19
-9
95
-56
-85
16
22
-1
27
40
-14
9
45
32
61
-62
44
-38
-45
-14
10
34
2
30
13
-8
30
-10
76
4
-1
15
5
6
-5
89
-120
-3
13
18
-45
-8
-122
-92
-10
-26
-12
2
-10
-37
-80
-38
-13
-12
-55
2
30
-38
-44
-43
-31
-85
-4
-43
49
-22
-36
-72
-2
-30
-6
-19
-25
23
-26
22
-15
-1
25
3
60
-27
27
3
49
0
0
33
3
20
-25
-15
-17
-8
13
-27
15
-18
-32
7
-32
-11
-39
33
-9
-65
-16
-29
41
-38
-102
-4
-17
-9
-11
-25
-12
-59
-21
5
23
-27
-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
-113
8
0
-4
46
-1
-52
-18
5
0
0
-1
2
-27
71
-9
0
-3
13
-20
13
0
-4
0
7
0
10
-97
0
0
6
0
0
0
0
0
24
48
-1
0
0
-9
0
0
0
0
0
0
0
-85
-15
-4
-13
18
-22
7
-15
0
-37
0
-7
-90
-17
-140
-110
-7
6
-75
54
-3
-120
63
8
-2
45
21
-90
-48
40
4
-4
6
7
-81
91
-89
0
6
-8
-81
-73
-1
10
-8
0
0
-6
-3
20
24
-1
-97
-21
0
0
-20
20
-1
31
14
-4
0
-17
-27
-25
25
-42
25
1
-107
0
40
-62
-28
-52
-33
-82
17
25
8
-49
-43
-29
2
-52
25
5
-6
17
-24
0
-11
0
7
14
-28
-2
4
-9
0
-1
10
7
-70
0
52
9
-71
0
31
-2
0
4
14
0
-16
-2
0
-53
-13
-33
-5
30
-20
0
-69
-6
2
-90
-9
47
0
24
0
51
59
-34
-14
54
17
70
6
-54
-2
12
1
-29
17
-6
114
2
-24
2
14
12
14
-1
28
33
-61
11
-15
-19
-70
60
-24
-101
0
23
-3
-9
-2
-5
9
1
-13
-2
-34
3
5
0
18
-15
-52
-61
-53
-7
0
-58
45
22
-53
26
-16
0
-116
0
-47
52
1
-30
-20
56
2
27
-22
-15
18
-1
-7
-20
6
-119
-33
-8
-8
11
-39
14
-25
-22
50
-17
1
10
0
-16
2
-2
-1
18
25
-2
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
11
5
-6
0
-16
-14
27
55
57
0
-1
0
0
-5
0
-20
0
0
-10
0
0
0
-16
0
-39
6
14
-7
0
0
67
0
0
0
-17
0
-26
-8
18
0
0
0
0
0
0
0
0
0
0
-46
15
2
0
50
2
60
85
41
7
20
44
-2
11
-60
28
0
2
84
2
-22
-27
61
5
17
104
29
-3
40
16
0
0
1
0
14
0
38
0
0
-4
-6
-49
0
0
-18
0
0
0
53
0
-1
71
65
9
29
0
16
50
0
10
-21
0
-2
66
-45
0
29
-31
17
7
15
-66
5
-4
-39
-2
2
16
25
0
6
-30
-8
-3
-4
16
0
-1
-51
0
0
18
-54
0
-22
0
14
-1
0
50
0
0
4
0
-6
0
62
68
-29
0
0
0
0
12
-50
0
24
4
-11
31
18
-14
-44
-14
-7
10
1
-8
0
3
-53
-2
0
-53
-39
0
3
-57
56
0
-5
20
-1
10
43
0
-3
-5
34
0
5
32
10
-5
-41
-24
0
-1
42
0
-35
0
8
0
16
-7
-35
-22
0
-38
0
0
0
0
-1
1
53
-16
0
6
0
0
0
-4
7
-122
7
-8
0
-46
9
0
-18
21
2
0
-1
-3
0
8
1
1
0
18
47
0
-15
11
14
4
14
25
0
-19
65
-2
1
0
28
0
0
4
-2
0
0
24
0
-11
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
-21
25
0
0
-3
25
-2
2
-3
3
0
0
0
-32
0
-5
0
0
0
-3
13
0
0
0
126
0
0
6
0
0
47
0
0
0
0
0
-2
64
0
0
0
0
0
0
0
0
0
0
0
-3
15
25
0
41
-9
-3
61
-18
1
0
-8
-133
4
-55
-15
0
0
-56
0
51
-16
-2
0
0
-27
-7
20
5
74
0
0
-3
0
45
0
-6
0
0
0
41
-79
0
0
48
0
0
5
30
23
38
19
5
19
0
0
-79
57
2
0
-86
0
0
-33
-26
-6
15
-74
-14
2
-68
10
-1
0
-18
0
0
9
-29
0
0
20
14
0
34
-10
0
0
2
24
0
0
-3
0
59
1
-44
-3
0
-11
0
0
-10
-1
21
0
-21
-57
35
0
36
0
0
23
-21
4
0
0
0
-14
38
-5
44
-15
-1
0
37
10
0
0
-35
-3
0
-25
-45
3
8
2
68
0
7
-28
-2
0
26
0
-1
0
11
-9
0
-53
-14
0
1
-55
0
11
16
0
-8
0
17
0
-1
-6
64
75
0
42
-1
0
0
0
0
0
32
29
0
0
46
0
-2
-28
2
-16
-2
0
-1
-1
-50
0
0
9
0
0
-1
-94
-10
1
59
3
0
11
35
0
5
-9
-19
0
0
-4
-1
-10
8
0
-3
0
-66
0
0
-5
-10
0
0
3
0
23
55
0
-16
0
57
15
0
0
0
0
0
0
0
0
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
12
10
4
-6
-35
-56
-19
-39
-8
4
10
19
-18
16
1
5
-3
-90
7
-31
-14
-19
-8
14
1
2
-36
0
-2
-7
0
7
5
-23
-57
4
36
-2
1
-2
0
0
0
0
0
0
0
0
-76
3
-43
-47
17
64
-56
-19
-4
3
84
-57
-47
16
53
3
-47
-25
25
60
52
-37
91
6
124
-30
-4
-84
-34
-147
13
39
92
18
0
6
-44
-7
5
69
-35
-28
-8
5
34
0
0
-5
-4
66
-6
39
-125
95
-2
13
-155
-16
5
-43
-36
5
3
-70
55
47
48
8
-25
16
-18
25
74
-1
19
54
4
50
28
-84
32
-45
48
56
9
-6
-21
-4
8
-15
-6
-77
6
-3
-26
-114
78
-13
2
26
20
-2
49
14
-14
0
8
31
-6
0
-53
-20
13
-21
20
32
-79
1
-11
-139
24
60
45
-9
-15
101
-14
38
-14
-42
-35
27
-9
31
-42
116
71
-79
-39
-46
-31
1
-32
-87
-14
-48
77
54
-32
0
-29
-31
-42
-153
1
-12
0
-1
36
-52
65
-25
-7
7
-36
-7
5
49
0
23
3
-5
-1
43
45
0
-46
-25
-49
4
-4
-9
-14
4
52
-91
89
27
14
-10
-7
37
120
21
-53
21
-86
-9
-42
80
-18
-3
0
-23
24
25
-23
-90
49
-16
-90
8
-14
-3
-114
-47
-27
-33
-16
-13
23
-42
8
-97
-1
10
-5
-53
-43
-23
-43
-1
14
-19
-1
18
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
5
-1
0
0
4
-1
-1
5
8
0
0
0
0
0
0
-4
0
0
-2
0
-3
0
1
0
49
0
0
-49
0
0
62
0
0
0
0
0
-3
29
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
91
0
0
15
0
0
-1
48
-5
25
-65
-14
8
0
15
0
-3
28
6
0
0
10
0
-36
19
-6
0
0
-4
0
-3
0
3
0
0
0
-7
40
0
0
-33
0
0
0
-6
0
-51
9
-1
0
0
0
11
-20
-2
0
-71
0
0
-40
13
0
-109
-2
8
0
28
-82
0
0
-21
0
0
32
30
0
33
7
9
0
7
-87
0
0
31
0
0
16
3
-1
91
-52
1
0
-1
22
0
0
0
0
0
0
-8
-17
-5
0
0
0
0
-10
0
0
0
0
0
0
-25
15
-4
20
0
0
-53
-78
0
5
-44
0
0
-66
-11
0
0
-53
0
0
55
25
0
2
2
0
0
2
46
0
0
98
-19
-3
-3
-11
0
0
-13
0
-3
0
28
0
-7
-1
0
33
0
37
0
0
0
0
0
0
-65
21
0
5
0
0
0
16
0
32
8
0
0
7
-15
0
0
-15
0
0
0
31
5
1
13
0
0
-2
5
0
-5
11
3
0
0
0
0
14
-45
0
0
1
-21
0
-2
-2
0
0
0
-81
0
15
-2
0
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
54
45
0
-1
-8
44
3
-58
-46
-3
5
-5
7
0
-10
-62
53
-4
-2
-13
0
0
-16
-14
-4
0
-7
-1
0
-2
-20
0
0
-2
0
-1
-47
79
-1
16
-1
0
0
0
0
0
0
0
0
-25
-49
13
15
18
5
0
-25
-35
-3
-13
-100
-81
-2
52
34
-2
1
-27
-2
-10
71
-34
5
20
-15
26
7
-42
16
3
-2
-11
5
1
45
-6
-1
0
-21
15
-4
-4
-3
9
0
0
29
0
1
-11
23
73
-11
9
0
5
-10
24
43
-2
5
-1
-16
8
29
3
-15
-82
0
-89
-24
-20
-6
-55
-3
0
5
-41
5
9
-36
-8
0
-1
-20
0
6
-23
25
3
11
34
0
19
-11
-41
0
-58
-12
16
-3
25
0
0
0
51
-27
8
-2
-74
0
-4
-6
35
10
102
7
0
-58
18
-93
-37
77
-15
0
-38
11
5
14
-5
3
0
42
-25
29
65
-37
38
0
13
-24
1
-14
7
65
0
65
11
-9
21
-1
-26
0
51
16
1
-8
-13
-1
0
14
12
-3
-32
6
-61
0
0
27
0
1
0
-10
0
0
-29
58
-1
46
31
0
5
2
-1
-71
-10
2
0
-6
22
0
-7
24
44
0
-23
-11
13
-16
-15
-2
0
-41
-50
-7
74
19
9
0
-18
-29
-2
20
-22
-8
0
-22
-45
0
53
117
35
0
0
47
-5
28
-53
5
0
0
3
-111
43
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
-165
3
75
120
20
44
-52
64
50
51
-11
-47
43
-82
8
0
2
14
72
21
-111
0
25
-13
0
0
43
33
-2
25
36
-1
6
-2
0
0
0
0
0
0
0
0
-34
-26
3
14
-38
-33
-21
-6
23
-71
-15
-4
-31
15
2
-35
25
59
-61
9
-34
-151
-26
-29
78
-56
-91
-84
28
-2
0
10
-56
33
-96
37
-13
4
-1
-115
-38
-99
11
32
-39
0
0
-3
-109
-1
30
85
-39
-18
-4
-2
53
-18
35
73
17
-8
6
-86
22
44
9
-48
-50
-64
-57
-15
47
62
-75
-90
-68
-91
-38
21
43
-51
-63
-59
-6
5
-100
55
-66
16
-53
-55
12
-27
19
-63
-37
-131
41
-50
-6
7
23
-10
-32
-4
-1
-58
61
-1
-76
0
-15
3
19
-39
-8
43
6
-7
-21
-13
11
3
-6
39
-3
19
-36
-46
-21
14
-119
-114
9
52
2
26
-25
-25
-19
10
21
41
-10
-143
-46
-64
-34
43
-18
-3
-24
-3
42
-16
-4
41
-35
-19
-107
-35
21
18
-4
-35
-26
-64
0
11
-18
2
7
-54
-104
10
-16
61
-63
74
-48
2
106
-74
5
5
-48
4
-11
44
11
-15
2
-65
29
-32
27
-42
-14
14
15
-8
10
12
-22
40
87
-29
-77
-40
76
-39
11
6
28
-16
-22
-9
-20
34
-17
-24
-57
-30
29
-9
-3
-15
-119
-5
-60
0
9
-30
7
19
-18
0
0
0
0
0
0
0
0
0
0
0
0
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
70
-33
-2
-9
10
-52
90
90
43
6
-1
-46
-22
0
73
7
0
-1
-1
-246
0
0
-8
0
0
20
3
-2
6
9
-1
14
0
-2
0
0
0
0
0
0
0
-24
-10
-3
31
-14
-64
-78
38
-20
47
103
49
23
-4
31
0
42
-27
-7
33
-35
3
1
3
5
27
-66
-95
-14
-69
2
-1
-54
-7
-229
-10
4
0
0
-18
-56
-134
0
-3
28
0
0
1
-97
-2
13
-30
-22
-30
8
0
-51
-29
-30
65
-20
20
17
-14
-43
1
10
-43
26
13
-11
11
33
-12
15
17
51
15
0
-19
11
-99
-19
38
19
8
0
-18
-48
64
-14
-93
-70
0
-33
-65
56
-57
-32
-5
0
-2
-9
-6
-63
0
4
-61
-31
0
-75
-52
-1
26
-55
29
53
8
-1
-10
-12
116
-34
14
-75
-26
-22
13
34
0
-5
33
-23
-10
29
-5
-27
5
31
28
-34
0
-44
-9
67
53
-27
64
12
32
-81
-3
-10
-84
83
-8
-5
-2
-87
69
-112
13
4
0
-7
-57
-73
-94
-1
11
-95
-5
15
14
-45
0
20
14
43
-49
5
0
-9
-25
-59
46
3
-10
-5
32
16
14
115
44
-54
5
-135
12
33
10
-36
0
-16
-24
0
-46
-24
-15
-36
-61
-35
-40
5
-22
-56
-107
-19
3
11
15
49
-62
-11
-27
-1
-13
0
-24
33
1
32
7
-15
10
-7
-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
20
-26
-3
0
-5
0
-19
59
1
0
0
0
-5
-11
0
23
0
-36
0
0
7
0
0
24
0
0
19
-5
0
-36
-64
-2
-2
0
-1
0
0
0
0
0
0
0
1
-4
0
7
14
0
-19
39
-101
0
9
-53
51
14
-7
0
-1
6
-40
-1
28
79
64
-1
0
-20
50
13
-22
-36
0
0
34
0
-34
0
-4
0
6
9
18
33
0
-10
14
0
0
0
-19
0
13
87
-7
-21
-6
0
14
32
0
9
-80
0
0
-5
38
0
53
-31
131
2
-68
-57
5
9
-11
0
-28
-53
-46
0
6
-47
13
-4
-4
12
-4
-5
5
0
-4
7
8
0
-37
56
-116
2
-14
10
0
0
5
23
-26
0
28
4
40
0
0
97
0
44
74
-3
18
-1
5
-35
14
6
-58
44
19
-3
62
18
0
9
-7
3
0
49
-32
14
-21
-45
14
-21
-104
-88
-3
-16
7
0
90
-45
-20
0
-52
75
4
-7
14
-48
-1
5
-69
1
-23
-2
21
8
-5
9
20
37
-1
-37
0
23
-5
6
3
0
-15
15
-1
0
-1
0
8
22
-2
-63
-64
3
-1
22
47
-1
-43
-125
6
7
19
-1
-8
-22
59
1
-8
13
-6
0
-111
-60
-23
23
7
-35
0
-26
-4
0
-11
0
-1
0
-31
17
2
16
0
-16
4
-53
4
-6
-8
0
29
-43
-3
-1
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
-6
19
0
0
1
1
3
0
27
0
0
0
-1
-8
0
4
0
37
0
0
-23
0
0
-47
0
0
0
11
0
-34
-23
0
0
0
0
0
0
0
0
0
0
0
-28
-16
0
0
-59
1
29
-64
-21
-1
63
33
-57
-15
79
-40
-3
10
-57
0
75
32
8
-6
0
25
21
-87
-13
-23
0
0
-3
0
39
0
32
0
0
-2
10
-71
0
0
-9
0
0
0
53
0
-49
49
-5
-13
-6
0
-79
6
0
0
-62
0
0
62
-26
4
10
99
-33
-2
-31
-19
10
0
5
17
2
-102
45
0
0
25
-21
0
-22
21
1
0
64
0
-3
2
92
0
-110
34
-36
0
0
8
0
0
0
0
-3
0
13
-93
-43
-1
4
-2
0
60
18
0
2
0
0
41
0
-15
4
-51
0
0
-33
-79
-1
-71
-11
0
-8
-16
50
0
3
5
-20
3
-10
-6
0
2
15
19
1
-6
-32
0
0
-11
123
-2
-4
8
16
1
16
0
-2
13
7
0
0
9
-8
-2
0
0
25
0
0
0
0
0
-49
49
0
0
-2
0
1
-33
0
-27
7
3
0
35
-27
11
7
31
5
0
-5
-30
-9
-4
8
0
1
-3
-17
0
-1
5
17
0
23
-13
1
-5
-30
0
-14
0
-29
0
-6
18
53
20
0
0
0
17
-1
0
5
0
67
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
0
-83
48
0
-1
0
-3
-66
-5
132
0
-1
-11
-53
50
-1
-3
45
-6
0
0
-3
0
0
5
0
0
10
-5
0
45
-19
-2
3
-1
0
0
0
0
0
0
0
0
-64
46
3
-20
34
-14
1
-74
-40
3
-10
-35
10
8
-7
69
9
31
-11
-1
-83
-24
5
0
14
-25
-39
-52
-138
-2
0
-1
30
0
-68
18
-9
0
0
2
-74
-101
0
5
-72
0
0
-2
-5
0
6
-9
34
-69
7
0
-53
2
17
32
-3
17
-5
-32
25
3
28
13
-70
-7
-49
-29
48
-4
5
46
-5
72
38
27
-7
-20
85
0
18
-13
0
4
-49
-6
31
-13
-15
0
-36
9
-134
-14
33
-30
-4
-2
0
0
-124
0
-1
-33
58
0
-17
-9
-3
36
-14
0
8
-3
0
-66
37
-80
-14
-12
53
46
-80
11
2
-20
-9
8
14
-35
-21
20
-66
31
42
-33
-52
-9
6
13
-121
-47
6
32
-1
0
54
91
44
-44
26
7
0
1
-21
3
-27
-1
-42
11
-11
-3
-45
-27
0
-64
11
-15
0
-3
29
0
38
68
19
-7
-3
0
-10
-91
20
-36
-75
2
0
13
9
2
24
50
-7
0
-13
-56
2
47
-1
24
-1
-7
-12
9
-19
-68
-33
-2
50
-20
0
39
-5
13
0
16
-4
0
-25
-16
28
-22
0
0
0
-16
-2
0
-1
0
-5
-17
-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
-24
-33
33
-2
0
-2
-3
-62
-27
-9
32
-14
0
21
0
21
14
8
0
0
-31
0
-2
-10
0
0
0
-18
-1
-24
-31
15
-5
0
0
0
0
0
0
0
0
0
-20
-24
-19
0
-9
0
-19
-59
-70
-5
35
-23
-5
-2
27
-34
1
34
2
-6
-13
-51
-8
0
-5
-38
0
10
-70
-98
2
-2
6
0
-5
-1
34
-1
0
-36
0
12
-1
46
19
0
0
0
2
0
5
-41
3
-23
0
0
29
-13
10
37
25
0
0
-96
-46
45
-31
-39
-11
37
-4
-23
57
77
-13
-1
44
43
0
-14
-17
31
6
-13
31
-30
43
14
6
72
-27
-24
-63
0
-63
-28
-6
-52
37
16
-3
1
53
0
76
-1
-14
16
-7
-1
0
-110
9
-6
-66
19
53
0
-2
31
-6
32
-35
-28
-2
34
-107
3
11
-14
-16
1
-26
24
18
64
16
11
-31
-8
15
-8
-18
-73
2
0
-35
2
26
13
-4
24
-3
10
17
22
6
-22
14
4
-1
-5
24
3
4
-13
32
3
0
-13
5
-1
0
-6
-4
0
2
-17
53
-18
0
0
-21
9
-34
13
35
0
-30
-93
4
-7
-10
-4
14
-37
-90
38
-25
-20
56
-5
-24
62
-2
-2
-136
49
-56
-33
-60
37
-5
31
-42
18
100
-26
28
3
99
-14
-21
34
-59
1
0
-35
-88
-6
-35
0
-38
-72
6
14
0
14
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
1
34
1
0
21
-109
90
71
-15
-48
0
16
-61
-50
16
-2
11
-1
0
-33
-18
0
-1
-30
0
15
24
-4
-2
-59
4
0
0
0
0
0
0
0
0
31
-7
0
8
-9
44
-1
-57
-24
26
-56
-26
-29
14
-54
-43
18
-8
-83
-24
-9
-4
40
1
20
2
28
-2
57
27
31
6
-24
59
17
25
-50
-3
-2
-79
-19
48
-5
-73
-24
0
-1
-93
35
13
10
-32
32
-6
0
0
33
16
-9
110
-18
49
0
19
33
9
39
10
-26
0
-49
-10
19
-38
-11
-14
-3
-28
-33
33
-25
-19
-7
-1
38
-6
14
62
-6
70
0
31
63
-4
-23
-49
-46
0
-29
-11
33
-2
-36
3
0
7
1
-67
6
-4
-11
0
-3
12
-10
-8
-56
-4
0
-47
32
30
60
13
-45
0
33
33
5
-13
15
-39
-1
22
0
86
37
-14
-54
1
66
-37
-17
-30
-6
46
0
2
-11
18
89
23
33
-3
89
17
-5
14
25
47
-5
-51
-13
30
-23
-11
-5
2
-1
5
-42
24
22
-16
0
-2
-3
-78
-30
26
-5
0
-55
14
-16
-6
-59
14
0
-85
-14
20
19
-34
-15
0
-73
-4
-1
7
-45
-1
5
58
-14
12
-76
0
22
0
91
-14
-34
-69
32
-75
5
80
-28
-2
3
-14
-47
-1
14
-12
0
-26
33
-23
0
-1
-9
-33
-31
-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
-29
-21
4
-3
23
-32
4
-3
-1
36
-4
55
1
2
0
7
-3
0
-1
6
0
0
-5
-11
3
5
-18
-5
0
0
0
0
0
0
0
-10
-33
2
25
-35
18
-47
7
-57
-9
-8
-38
-52
-35
-81
-68
31
-2
-104
-113
-25
-25
-1
26
8
34
9
-8
4
-18
-35
10
-30
42
4
1
34
0
0
53
0
-13
0
4
-108
0
0
-45
-36
0
-6
-17
3
-21
-48
3
14
-3
3
11
-17
-17
-16
-7
5
65
-3
-53
-28
6
-25
-16
37
-2
-24
29
-73
-81
-1
19
-5
-2
-49
-47
-95
3
-6
31
18
-64
-13
-1
13
-21
-5
31
-7
5
2
-15
10
13
82
-13
42
5
9
-79
-46
1
14
-3
0
-3
-32
31
10
-3
25
-105
-13
-81
-14
-61
-87
-24
3
0
20
-79
-62
-53
-1
-33
3
74
-35
-27
-48
-22
-53
1
-14
61
17
-20
-16
-30
-14
-4
-64
36
-39
-4
-1
-7
-5
61
16
-86
-11
0
2
-7
-2
-28
-21
-16
0
-25
-13
-3
-4
-22
-49
0
-6
108
10
20
-35
-2
41
-25
14
4
-21
-75
-31
30
0
17
-60
-17
5
-14
-7
22
-9
-117
-11
49
62
38
-18
-15
-128
34
-9
-68
-21
2
-5
-37
-18
-10
24
82
-3
13
21
52
-31
-7
1
-1
-16
18
-30
18
-21
0
-45
-31
-5
-1
-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
17
-18
-4
-2
0
21
-46
-21
-81
10
-31
26
-5
-111
0
-2
-41
0
-1
-2
-2
-1
-95
16
-1
7
-1
0
0
0
0
0
0
0
0
-97
8
-7
23
-5
16
-11
5
-25
80
-21
4
22
23
-46
-93
-5
-2
-29
-23
-23
66
0
36
1
-14
175
4
-68
-29
-2
-2
-31
-5
-82
-5
28
-1
-2
-3
-85
-139
-6
33
-71
0
-1
-6
-115
-8
2
-26
60
17
-5
0
5
17
-19
15
-9
3
0
-17
-9
-6
18
15
42
1
-69
-10
26
5
-15
121
2
-8
-12
-37
69
-2
124
35
23
0
22
-4
-17
21
-5
-4
55
-8
-69
-16
0
-27
3
22
-3
-4
-8
43
-30
-2
45
-36
-29
5
-38
-14
14
14
-5
17
-39
0
1
-44
-3
-81
51
46
-92
2
-61
-18
-34
-2
-3
7
-32
14
0
-4
21
5
-27
2
-16
53
35
-73
-30
31
-1
55
0
20
-18
4
-73
-54
-7
-13
-6
-27
-6
48
-45
-14
-27
5
0
-41
-78
-21
16
21
43
-49
-2
-18
-27
-1
33
-49
-11
-3
-1
4
10
-24
56
-21
20
6
4
30
2
-41
-48
-50
-15
-2
-57
-42
-25
-44
-10
-3
22
-10
-4
9
-32
-50
51
14
14
0
-6
-35
8
-22
38
7
-11
-8
20
19
-103
0
3
22
0
-24
-43
39
34
-5
24
-43
-35
-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
4
49
0
0
0
0
-10
0
0
0
-32
0
0
-16
0
0
77
0
0
0
5
0
-42
-9
0
0
0
0
0
0
0
0
0
0
0
-56
1
0
-2
2
-9
-3
-1
8
0
-7
-36
-31
33
17
-61
4
0
28
-3
-47
40
-25
0
6
-3
-5
-37
6
-21
0
-4
23
0
59
1
-15
0
0
6
15
38
4
20
29
0
0
0
61
0
-3
60
39
30
0
0
-56
31
0
0
0
0
0
26
37
-8
59
-52
43
0
6
16
3
61
-21
-7
0
-59
-52
-1
2
20
-7
98
-19
-140
0
14
-45
0
-9
0
-15
0
-3
-8
-16
31
0
-45
0
0
36
-9
16
0
11
-47
7
0
16
3
0
-13
45
0
4
0
0
-1
15
20
69
96
0
0
97
-5
0
23
22
0
-5
14
28
0
0
19
25
0
-3
8
0
-5
-140
0
-15
-4
-117
0
35
-44
-9
0
0
-16
0
6
-32
0
-1
0
-51
0
10
-3
95
-41
0
29
0
0
0
0
17
0
-47
-11
0
-1
1
0
0
-3
-4
-34
53
0
0
8
-23
0
58
75
0
0
23
-30
0
-9
-34
0
0
0
56
-3
34
10
-9
0
0
-68
0
-31
24
0
0
-5
-48
0
-6
0
3
0
0
48
0
5
6
0
2
0
26
28
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-2
0
0
2
0
-85
0
0
55
0
0
-10
0
0
0
0
0
11
-5
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
18
0
-2
79
-13
0
-4
-3
-98
-44
-54
-13
0
0
30
6
-2
33
3
0
0
-11
8
9
14
-5
0
0
19
0
20
0
21
0
0
0
-1
120
0
0
-23
0
0
0
-2
0
-39
29
-16
1
0
0
52
-28
0
0
-4
0
0
55
21
0
3
-5
-16
0
-82
36
0
-1
-3
9
20
-13
-29
0
0
3
-5
-1
21
-15
0
0
-38
0
6
0
-7
0
20
-9
-14
-29
0
-22
0
0
0
-1
0
0
-6
58
-3
0
-1
0
0
22
-2
0
4
0
0
0
28
-24
0
-5
-1
0
-20
-38
0
0
-45
0
0
-11
-1
21
0
-50
0
0
5
-24
0
0
54
0
-2
-13
16
0
0
-53
15
3
0
46
0
0
5
-1
59
0
40
0
0
0
-9
-1
0
6
0
0
0
2
1
0
34
1
0
0
0
0
0
33
0
-8
27
0
0
0
-76
0
2
39
0
0
-1
21
-6
5
-16
-3
0
0
-24
0
10
-14
0
0
0
66
0
-11
-1
0
-1
-6
-60
0
0
-3
-5
0
0
-22
0
-5
-3
-4
-11
0
-65
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
14
1
0
-7
0
-12
0
0
-47
0
0
-10
0
0
0
-2
0
-45
35
0
0
0
0
0
0
0
0
0
0
0
36
-11
1
0
-77
0
0
39
-4
4
-1
-14
34
14
10
-16
0
0
-23
0
-17
21
-37
7
0
0
2
-53
-43
-22
0
0
72
22
49
-2
9
0
0
0
35
-46
0
0
-99
0
0
0
-29
0
26
-47
-19
0
1
0
-52
29
1
-1
-62
0
0
-24
20
20
47
-75
-76
34
-18
-44
-10
-2
-28
2
-8
3
42
0
0
-50
-54
2
17
-82
0
0
74
1
34
7
-41
0
-48
1
-23
2
7
-49
0
8
11
0
-20
0
14
15
-10
0
-7
3
0
83
4
0
-2
0
0
-5
-18
-17
13
-2
1
2
13
-42
21
61
-94
43
0
-1
-14
-2
13
-62
27
-2
-35
-23
0
0
-16
-3
-6
-80
-66
8
5
21
-42
-11
1
-44
0
0
13
1
47
0
20
7
17
0
32
-18
0
-7
-1
3
0
0
-10
0
-23
-2
8
0
0
0
0
43
0
71
-6
-1
0
-1
-19
0
-10
-9
1
23
-14
4
0
71
6
0
-1
-25
40
-7
11
-4
-17
-11
35
-22
0
1
-3
0
-14
14
-16
0
0
0
-26
1
0
-15
0
-83
0
0
4
0
-4
-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
-7
0
0
46
0
0
34
0
0
0
0
0
11
-9
0
0
0
0
0
0
0
0
0
0
0
-120
0
0
0
-57
0
25
-17
12
0
0
2
-4
9
1
-1
0
0
7
0
4
-53
0
0
0
-19
0
6
99
-11
0
0
-14
0
-9
0
2
0
0
-2
0
-6
0
0
27
0
0
0
-20
0
-10
8
9
-4
0
0
17
-8
0
0
-158
0
0
-33
-7
-1
11
12
-1
0
30
-111
0
0
22
0
0
-25
0
0
0
-78
6
0
124
-64
0
0
38
0
-2
8
-48
0
-30
-2
4
-4
4
-78
0
0
17
0
-1
0
0
22
-1
0
0
-11
0
-9
0
0
0
0
0
-13
-36
-5
3
34
0
0
-21
19
0
0
-76
0
0
-32
-3
0
0
-5
0
0
-33
2
9
-1
-124
0
0
-9
27
0
0
-21
-3
-34
-8
9
0
0
-18
0
14
0
56
0
0
27
2
-5
0
-36
0
0
0
0
0
0
42
1
0
-1
0
0
0
33
0
-34
-1
0
0
3
-34
0
0
14
0
0
23
-82
0
-6
-20
0
0
3
65
0
0
1
0
0
0
1
0
10
-1
0
-1
0
28
0
0
-2
0
0
0
-30
0
-5
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
39
1
17
0
8
6
0
-1
-6
96
1
2
-18
11
0
-11
-3
0
0
60
0
0
-62
10
104
36
2
0
0
0
0
0
0
0
0
2
71
-3
21
15
-5
0
15
-18
11
-5
-11
-32
1
-35
-11
5
23
-24
-32
-7
13
-15
11
-1
58
-7
10
6
22
-14
33
-33
-3
-1
30
44
9
-4
-102
24
1
-2
30
15
0
0
-15
-2
-22
-4
-25
-82
-67
11
0
32
-5
-10
-80
6
-5
0
11
26
46
3
25
-73
0
-16
8
0
-7
-14
-6
0
-27
-22
-33
47
-22
-27
0
-35
-119
14
-25
-15
-103
0
-3
-12
-2
-7
-11
33
0
-109
12
-2
87
-1
24
-25
-6
-2
-2
-1
-4
34
0
0
-2
31
-25
-12
0
0
-10
-11
-7
-33
10
-108
0
65
53
-6
-80
35
-16
0
-20
2
14
14
-19
29
0
-4
-1
-7
-31
-23
-20
1
58
-8
-5
-37
-17
-18
3
54
13
22
-8
-2
68
-5
13
10
0
84
4
19
0
0
31
-77
10
-62
-25
0
0
-23
7
0
42
46
0
-74
-5
-7
-47
-54
-5
0
48
19
0
-1
-9
19
0
11
11
-14
-27
-75
5
2
62
10
-24
-15
84
11
0
6
-21
10
-43
38
9
0
121
-12
36
4
-18
56
-1
9
39
-1
-9
-27
2
0
0
22
9
3
-9
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
16
7
-18
0
0
-30
0
0
-89
0
0
0
-5
0
-47
-11
-5
0
0
0
0
0
0
0
0
0
0
16
0
0
-2
5
0
-24
-14
-4
5
-1
0
-75
-95
5
-4
4
0
12
21
47
7
0
18
29
-22
-56
-19
24
71
0
0
-23
49
4
0
10
-4
1
-87
-19
-113
0
-3
-150
0
0
0
1
0
13
25
25
-17
0
0
59
41
0
0
62
0
-8
-53
-24
-3
61
6
-58
0
52
-7
0
0
4
-1
-32
-4
54
0
36
-64
-44
5
-46
-21
0
-6
33
24
-5
0
-3
0
-36
-69
12
52
0
-139
26
0
-33
0
-2
0
16
-9
-150
0
26
0
0
28
53
0
0
0
0
7
1
24
5
-50
-18
-5
6
-67
0
-7
-23
1
3
-58
34
5
-5
-97
-44
-4
-11
48
-6
-23
-16
0
-104
0
-56
0
0
-45
-85
10
26
-93
0
1
-53
-8
-19
5
-94
0
0
-6
-2
-89
0
-14
-18
-2
-1
-52
-2
0
4
-21
8
0
10
0
0
10
1
-21
1
0
4
0
-6
0
5
-89
-2
-1
0
30
5
-34
0
1
7
0
-41
0
44
-3
15
-11
6
-66
6
26
-74
-15
35
0
-8
0
50
0
-74
-14
0
-38
0
-62
-1
-7
20
0
-63
-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
-1
75
5
-31
-2
0
-112
0
3
-41
0
0
-2
-1
0
-79
28
4
11
0
0
0
0
0
0
0
0
0
-16
-53
0
1
19
-14
-10
-47
-79
40
-37
17
-15
-67
64
-14
14
18
47
37
-112
53
-53
1
96
29
-31
-90
-1
0
-5
-44
97
-20
37
-30
-32
8
0
16
34
-61
3
32
33
0
0
1
1
-1
31
85
-24
-1
-6
0
-21
30
53
-24
18
0
20
-46
20
-46
4
-45
-8
-3
-24
20
-2
-17
-95
25
11
59
-21
-14
-29
-4
-112
-57
70
-42
-8
7
-30
-10
-96
-7
0
10
-50
-84
5
-29
21
-50
26
-21
-23
32
-39
0
-47
62
14
3
16
0
4
1
-126
-4
-25
0
0
-21
18
41
9
35
61
-13
-64
2
-9
-127
-47
-7
5
-7
-16
14
42
-23
-71
1
-83
11
-3
18
-23
-61
-77
-6
-31
-1
-69
-5
-47
-71
-127
0
-8
-15
-67
7
-33
0
-41
18
-81
-42
14
-33
1
-54
31
-5
5
2
-3
0
7
-27
34
21
15
6
-34
-36
-16
-12
4
-1
-2
-37
12
-18
-75
-19
-124
2
52
53
26
25
-5
13
5
-3
-33
1
-33
-76
33
-12
-68
-14
-5
-93
-54
20
-2
-33
0
0
-10
22
-74
14
-13
29
0
27
17
33
-4
-5
-75
-32
-1
-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
-30
0
0
22
0
0
27
0
0
0
-4
0
3
-1
0
-1
0
0
0
0
0
0
0
0
0
-43
34
0
16
-95
0
0
2
-9
2
0
6
-84
-59
44
18
0
0
64
0
24
-11
3
0
0
70
31
-8
65
26
0
0
32
0
-1
-6
-5
0
0
0
0
-43
0
-4
-7
0
0
0
64
0
22
-92
-7
9
0
0
-30
12
0
0
-117
0
0
-44
30
0
3
29
6
0
-33
-42
0
-3
-9
1
21
51
-9
0
0
40
-19
0
13
44
0
2
-2
0
-5
8
-71
0
-42
-15
13
23
0
60
0
0
-3
0
7
0
-41
-38
16
0
0
32
0
82
15
0
-3
0
0
15
-33
0
7
-28
-1
0
-82
66
0
0
-18
0
0
-97
45
0
-1
-58
29
1
25
21
0
-4
2
0
0
9
-105
0
74
-43
33
2
4
-133
0
-3
9
0
-11
0
-20
0
1
14
0
-3
2
3
0
1
0
0
-1
0
40
-7
0
0
-2
0
0
14
0
17
17
0
0
0
23
0
-11
-4
0
0
-4
-7
0
-15
-16
0
0
-3
-10
0
20
-13
0
1
1
-42
0
83
1
-8
7
2
-6
0
-15
0
11
-8
0
-5
0
-77
-7
0
0
0
35
-11
-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
70
4
27
0
0
13
0
0
29
0
0
-1
0
0
-3
25
0
0
0
0
0
0
0
0
0
0
0
-23
-1
21
0
4
0
-2
-45
-9
-4
0
56
54
-17
-39
66
0
0
-80
0
0
0
-3
0
0
-19
-13
46
-20
-45
0
0
-5
0
-63
7
-2
0
0
0
45
11
0
9
-7
0
0
0
59
0
-4
-1
-1
-4
0
0
-30
4
0
0
-12
0
0
-21
-160
9
-71
56
45
0
63
0
0
0
35
0
4
56
-28
0
0
-40
57
0
30
39
0
0
0
29
0
10
-71
0
2
-4
-45
5
-6
40
0
0
0
0
-8
0
-13
-60
34
0
-1
0
0
-76
1
0
9
0
0
0
-48
-2
0
-43
-3
0
-79
31
0
0
89
0
0
-61
29
0
-1
-24
-9
0
23
-33
0
0
-19
0
0
-15
36
0
0
7
-26
-1
-1
-39
0
-2
-3
0
-72
0
3
0
0
-5
-3
-2
0
-78
-3
0
0
0
0
32
2
-18
0
2
0
0
0
-70
0
109
-3
0
0
-2
-15
0
-9
-1
0
1
29
53
0
1
15
0
2
0
-74
0
0
-24
7
0
0
25
0
-6
4
0
-1
0
-25
0
0
-25
-19
-13
0
-34
0
-44
-1
0
-1
0
-59
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-32
0
0
7
0
0
0
0
0
28
-2
0
0
0
0
0
0
0
0
0
0
0
-78
15
0
30
-20
-1
-24
-19
44
-1
0
-36
-15
-83
-12
19
0
0
-4
-13
18
-11
-33
0
0
53
-43
-3
11
-64
0
0
45
-36
-67
15
21
-1
34
-19
-11
70
0
0
-158
0
0
44
42
0
-20
-24
-28
7
-1
0
-16
28
5
2
-33
13
0
-59
-4
0
15
-61
-34
0
-1
-2
0
0
36
41
-23
-21
1
0
0
-35
-57
-44
3
11
3
0
36
44
6
-46
-62
0
0
35
-36
-48
51
-22
0
-2
0
5
37
0
1
-101
-25
0
-104
1
0
-12
23
0
0
0
0
-16
-27
77
47
-125
5
4
124
-23
-2
2
-9
-31
-17
62
-49
48
-2
-5
-17
-32
-54
-43
0
-2
-11
71
-24
1
28
-6
8
-16
-81
2
-7
-7
0
2
-17
3
6
20
-45
0
-1
0
-48
-22
0
-19
-9
3
0
3
-25
0
-29
-2
4
0
-9
0
4
62
0
-20
-35
-7
-3
6
-4
0
4
-15
-6
-5
37
-33
5
47
34
5
4
-39
19
2
26
1
-23
-46
47
9
0
-84
10
-5
-47
-19
7
0
-4
1
-91
-32
-2
-24
0
-23
0
-2
55
0
-38
-4
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
-3
0
-39
-19
0
11
0
0
23
0
0
0
0
0
-50
40
-1
14
0
0
0
0
0
0
0
0
0
-10
-5
3
-5
-33
0
44
-93
-92
6
-4
13
-4
32
-51
4
0
-3
-5
4
-15
-168
-53
0
0
-59
7
-23
-66
-19
6
0
-12
21
25
-2
3
0
0
60
-3
26
0
-11
10
0
0
0
-52
8
-19
-35
4
34
0
0
-107
-13
11
6
-32
0
0
-3
-47
5
3
-46
-2
0
-9
-24
0
10
-40
0
78
-6
5
0
-3
43
-2
7
-54
-25
0
-1
-11
7
-21
-11
-14
-2
37
-34
-6
-59
8
14
0
0
-5
-2
-20
4
-9
-6
-47
0
-8
21
-2
-34
32
0
5
0
-17
41
-24
39
-4
-30
0
15
-37
-16
3
-64
16
0
50
-13
-46
0
-43
-67
-3
64
-50
45
0
-10
-19
-1
17
-7
0
2
-10
-2
-4
51
12
-10
6
36
10
14
24
3
15
0
0
-23
-2
-15
0
41
66
0
0
0
-28
0
-26
54
5
40
0
0
-79
7
-5
29
0
0
0
58
-7
0
4
49
-1
-2
-48
2
0
-47
31
1
22
26
67
0
-46
-1
-13
-26
8
24
-4
-34
-22
0
43
21
-10
0
8
13
-2
51
-7
41
0
-10
-27
-3
-55
0
31
-8
11
-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
-2
3
-48
-3
0
-4
0
0
-7
-16
0
5
21
0
-8
25
60
-13
16
0
0
0
0
0
0
0
0
0
-2
4
-6
-6
14
-3
0
-35
-20
1
-9
-91
27
15
-13
44
9
23
6
-4
2
33
7
45
-4
49
-10
-3
34
-88
20
-2
28
-2
-3
15
35
-1
-5
7
36
-2
-4
-3
-12
3
0
-17
-2
-20
-16
-13
-41
0
0
0
44
-17
61
-8
-13
1
0
9
9
32
43
-8
-22
0
-3
18
-5
43
-19
-45
0
-14
-9
0
12
-48
1
0
19
-24
-8
26
-35
10
0
15
0
-3
-37
38
40
0
-39
17
13
5
72
33
0
0
15
-26
14
6
19
0
7
-10
26
29
36
13
0
-17
-4
-2
-57
6
65
2
-1
17
18
-27
-12
-6
0
-7
31
16
-11
11
66
0
19
-15
5
52
24
-19
0
-50
-29
-9
59
26
19
0
0
-24
29
4
-26
-1
0
65
10
5
69
43
33
1
0
40
36
32
0
33
0
0
-46
31
-5
2
-45
0
-18
-13
16
-10
-53
7
0
17
21
32
-42
-24
-3
-2
0
12
7
43
40
6
-5
112
3
52
128
-2
36
0
29
-19
31
-23
-2
-43
-2
-35
-13
-5
-103
-19
-23
0
50
-15
4
-15
15
13
0
15
4
-65
20
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
-5
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
-73
0
-4
0
-23
0
1
79
4
5
0
24
-11
0
-6
-7
0
0
45
0
0
1
2
0
2
44
55
2
-32
-3
0
0
47
1
2
-1
15
0
0
3
-1
-3
0
0
-25
0
0
0
0
0
29
3
0
0
0
0
23
-51
0
0
-4
0
0
-9
34
-4
-91
-14
0
0
-4
34
0
0
36
0
0
4
-63
0
0
-5
15
0
0
-1
0
0
9
4
8
-8
-6
0
8
0
-6
9
0
-59
0
0
4
0
-1
0
-21
2
-1
0
0
0
0
-16
5
0
0
0
0
0
31
2
0
-24
0
0
1
87
0
0
-5
0
0
-1
-47
0
0
8
-11
0
0
43
2
0
13
-5
0
13
95
0
0
-2
-4
0
0
-2
0
0
-4
0
-2
1
59
0
0
21
15
1
0
-69
0
0
0
2
0
0
-135
0
0
0
0
0
0
6
-15
14
-2
0
0
0
-33
11
0
0
-1
0
0
26
0
-4
-8
0
0
0
54
0
0
47
0
0
3
-80
0
100
0
0
0
0
-14
0
0
0
11
0
0
-51
0
-10
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
15
6
0
0
0
-9
0
34
-17
0
0
0
0
0
0
0
0
0
0
0
-49
2
18
0
-80
0
1
-62
94
-5
24
43
-43
-48
-1
39
14
0
-86
-43
-24
20
-24
0
8
-16
20
-9
-101
-57
0
15
-4
5
-4
58
0
9
0
117
68
-48
2
-4
-119
0
0
-2
36
0
-39
15
-27
14
-1
0
83
-12
20
0
53
0
0
21
44
20
55
-26
-43
0
-30
-14
0
4
-15
-36
5
30
-20
15
-5
-3
42
5
37
-50
-6
0
67
32
-7
-2
-104
1
-19
23
-8
17
16
0
25
0
6
21
14
0
-45
-24
-1
-1
-51
0
3
-39
33
-4
11
0
5
33
59
9
-9
-21
-14
3
4
-52
-22
-19
-47
14
4
-32
7
25
-36
11
-23
-7
-43
-21
6
-8
48
10
9
-10
25
9
-7
29
-26
-1
-9
1
-1
-2
-26
19
-22
3
0
0
-3
-59
9
22
0
-64
11
0
-5
0
0
0
-28
-19
-33
-4
0
0
0
-8
-5
-90
100
0
4
-20
-87
27
-13
-90
-9
-1
3
-81
-3
-86
11
21
5
13
-44
1
26
-33
27
-24
-5
12
0
-77
2
71
-17
0
34
0
6
-23
-18
0
0
0
0
-30
7
-2
35
0
-8
9
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
4
0
-20
0
0
0
-2
0
51
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-1
-71
-11
4
84
-19
0
-1
47
17
-6
27
15
0
19
1
0
2
25
-11
0
2
-19
13
83
158
-43
0
2
32
0
34
0
-7
3
0
0
0
-34
0
1
98
0
0
0
3
0
-47
3
-2
53
0
0
83
29
0
3
-100
0
0
6
-52
-3
-31
5
2
0
29
-37
0
-4
0
0
-23
-35
-30
0
0
53
55
9
-2
21
0
0
20
0
14
52
20
0
60
14
5
0
0
-35
-1
0
0
0
-1
0
-60
-70
-12
0
0
19
0
16
-5
0
-3
0
0
-21
-5
0
0
-42
0
0
-22
33
0
0
-32
0
16
-55
32
0
47
51
-8
-5
32
-84
0
4
-57
-1
18
0
-115
0
1
-62
-34
-3
15
15
0
2
-5
0
14
0
-91
0
2
-16
-8
36
0
-30
-5
0
0
0
3
0
19
-8
0
7
0
0
0
80
0
-2
0
0
5
-4
-21
0
0
1
0
-9
-2
-20
0
0
-11
0
16
3
31
0
27
-3
-1
-1
-2
-57
0
80
-7
0
0
1
-83
0
0
9
-20
0
6
-123
0
23
-9
0
11
0
-45
5
13
17
-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
-17
-80
-9
-26
-13
-13
-18
13
-35
5
-96
26
-53
18
0
0
0
0
0
0
0
-12
35
56
26
-14
14
-32
6
4
-66
-7
8
6
7
-18
12
-21
-19
14
5
25
-37
-3
24
73
6
32
30
14
-39
-76
-69
10
51
-1
-12
4
10
-32
-19
11
7
-43
-10
-44
-22
-97
-39
0
8
-12
29
-75
-31
-19
-19
10
-9
-15
-23
-10
65
4
12
-11
-44
6
-4
8
-105
2
-17
1
-75
-10
-17
-17
-27
-10
-18
-9
0
-7
21
14
3
-12
-25
9
-11
35
23
13
-21
-47
2
1
-10
-52
-13
50
4
18
-28
-33
-43
2
-23
-54
-12
-16
38
-63
-12
10
21
14
72
-71
-2
-19
-22
-18
-10
-3
6
-11
-32
-2
-10
-20
-13
9
-9
-6
-39
1
-4
-4
-24
1
3
-47
-62
7
-53
-23
-12
-7
33
22
-14
-3
37
27
2
-46
-9
-6
-75
-15
-40
-14
-33
-23
-34
-16
1
33
12
2
-49
-22
7
-17
-75
1
-13
-52
-53
60
51
7
-31
-55
-26
37
15
-5
-26
0
-11
19
16
-28
50
-27
-9
-110
-2
-22
-82
-49
-23
-1
-21
-14
-3
-48
-7
-51
10
30
-60
-13
30
1
-32
-1
1
3
-29
-23
-18
28
0
14
10
-3
-45
32
-95
-1
-43
23
-43
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
23
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
-9
0
0
11
2
6
0
9
-13
0
-23
-1
0
0
-2
0
-4
5
0
0
0
1
0
-2
-1
-1
0
0
14
0
-18
0
5
0
0
0
0
-41
0
-1
-3
0
0
0
0
0
-89
-6
-1
-2
0
0
-1
-48
0
0
-5
0
0
-43
29
0
22
0
-2
0
-42
56
0
0
-13
0
0
-6
-46
0
0
0
7
18
-3
-89
0
0
-1
0
-8
0
19
0
7
-2
2
0
0
7
0
0
0
0
-1
0
57
0
-1
0
-1
1
0
59
0
0
0
0
0
0
42
0
-5
-25
-2
0
-1
-14
0
0
1
0
0
-1
-47
0
3
-4
-21
0
-5
18
0
0
-1
0
-2
-1
-31
0
0
0
5
3
0
-37
0
0
-2
0
-6
0
5
0
0
0
-1
-1
0
-145
0
0
0
0
0
0
-13
0
0
0
0
0
0
-33
0
-1
0
0
0
0
-18
0
0
-1
-1
0
1
-15
0
-6
-2
0
0
0
-52
0
0
-3
-3
0
-1
11
0
-3
-1
-1
0
0
-43
0
-2
1
0
0
0
-63
0
-11
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-3
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
-9
0
0
43
43
0
0
-16
15
-5
-45
0
0
0
-3
0
-6
-8
14
0
0
-26
-1
10
25
0
0
0
-1
5
-1
0
-1
0
0
0
0
-38
0
0
-52
0
0
0
1
0
-8
1
2
-1
0
0
-5
-31
5
0
-20
0
0
-18
0
0
-1
-85
5
0
-4
5
0
0
-17
-3
0
-20
-55
0
0
15
0
11
0
-60
0
0
-45
0
0
0
-9
0
53
22
2
0
17
-32
0
0
0
0
7
0
3
14
-2
0
0
-3
0
-93
2
0
0
0
0
0
114
-2
0
-10
0
0
5
-111
0
0
-59
0
0
-2
89
0
9
-22
-5
3
-3
-13
0
0
42
4
2
-1
-42
0
0
1
-1
0
6
64
0
0
-1
0
-4
0
-49
0
0
-2
0
3
0
-49
0
0
0
0
-1
0
42
-1
0
0
0
0
0
2
0
-2
-6
0
10
0
6
0
-4
-1
0
0
0
16
0
0
2
-1
0
3
54
0
0
-1
0
0
0
-2
0
-45
-1
0
1
0
69
0
0
4
0
0
0
27
0
-16
0
0
0
0
-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
72
5
-1
2
21
0
0
-15
23
-6
-59
33
0
0
0
0
0
0
0
0
-21
43
7
-16
-39
5
0
-37
-154
73
-49
-39
-17
-19
-5
-38
0
-39
-10
29
3
28
-47
-33
-7
-9
18
-2
15
7
-8
-32
12
-24
0
-56
-54
-22
1
52
-19
19
-3
-43
11
-1
-5
78
0
-5
-6
-46
-13
-91
5
0
43
-1
-22
-114
-31
-24
0
25
70
-22
3
-16
-40
0
15
4
-25
-10
-23
-27
0
-30
-25
-5
-44
-48
-54
0
54
10
-15
39
16
-46
0
-35
3
36
-10
-75
-33
0
14
-4
9
-64
12
-48
39
0
9
-71
-1
27
28
0
3
6
-95
-11
32
-13
0
18
6
-15
-5
-37
-31
0
4
44
33
36
5
-45
0
54
17
117
-27
22
-49
20
42
11
-29
80
19
-59
-6
68
6
-49
9
27
-8
0
91
12
29
169
23
-31
0
-60
-40
77
33
-25
-31
0
-3
-3
-70
90
25
20
0
43
-4
46
17
49
22
0
30
24
-24
-44
-55
-14
0
34
29
10
73
2
-6
0
6
-9
-12
2
8
64
-10
66
5
2
-4
50
33
0
115
9
-46
-9
73
-51
0
41
12
5
0
59
1
5
53
7
-14
-24
-3
-70
0
-1
15
8
46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-34
0
0
0
0
0
1
-5
0
0
-1
0
0
1
-29
0
-9
-2
0
0
-27
45
0
0
2
0
0
0
13
0
0
0
0
0
0
-16
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
-10
0
0
0
0
0
0
-25
0
0
0
0
0
0
-12
0
0
0
0
0
0
-31
0
0
0
0
0
0
-45
0
0
9
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-7
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
-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
-75
1
0
0
-51
0
0
32
-5
0
0
-14
-82
-1
45
-1
0
0
11
0
-5
1
-7
0
0
-9
-1
-18
-3
-5
0
0
2
0
-3
0
-4
0
0
0
0
0
0
0
10
0
0
0
15
0
68
-11
-1
0
0
0
14
-22
0
0
3
0
0
-29
25
0
-28
-16
0
0
-14
-45
0
0
17
0
0
-19
-104
0
0
-60
17
0
59
53
0
0
54
0
27
0
1
0
28
11
-3
0
0
-16
0
0
0
0
0
0
0
-6
6
0
0
0
0
-4
-4
0
0
0
0
0
-38
-9
4
6
0
0
-1
3
9
0
-18
0
0
-45
80
0
0
39
13
0
-1
38
0
0
49
0
0
-1
57
0
0
-18
6
0
-2
-38
0
2
1
0
-1
0
-65
0
-4
-1
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
20
0
0
10
0
0
2
-18
1
0
0
0
0
0
-40
0
2
-5
0
0
0
-7
0
16
2
-3
0
0
-40
0
-54
1
0
-8
4
-18
0
0
0
-8
0
0
-101
0
-31
0
0
4
0
0
-46
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
3
-14
78
-5
-14
0
0
0
0
0
0
0
4
-1
50
16
-12
-23
-9
5
3
-13
-7
-9
-17
-34
-7
-26
-76
24
2
4
-10
5
-12
10
2
-13
-4
6
-13
-16
-68
29
-8
61
-13
-6
-37
-14
53
-55
-8
6
-5
18
3
28
-46
31
-11
20
-4
-26
-14
-11
79
62
9
-13
-88
2
-20
-1
-5
-1
-1
-50
-2
-1
1
-38
4
0
-34
23
13
4
-31
13
-4
-15
18
-5
-16
-34
13
-6
8
60
-11
17
-17
29
5
92
11
-13
3
-24
-20
-12
-38
-43
-94
58
-3
-61
-3
-45
1
16
-8
17
72
-2
23
-49
-8
-7
-7
12
-9
-5
29
2
0
23
14
-4
-13
58
-8
-49
18
8
-3
-33
16
2
-17
-18
-1
-9
6
18
-1
43
7
-13
-4
-27
-16
-3
-1
-33
-26
-7
-27
-4
-5
26
-3
1
-20
-8
9
-7
-15
-2
-74
-11
-3
35
-38
-2
-13
34
9
31
-5
34
13
-37
8
-3
-47
0
-7
42
-35
-8
-3
-7
-57
-28
-17
-12
35
-16
54
-16
-9
-28
42
-13
-3
-87
-43
8
16
-5
81
1
76
-14
1
-3
-29
-21
3
29
-15
0
-42
-12
20
5
27
-12
62
37
-5
66
19
98
-17
-8
-27
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
7
0
0
0
-35
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
-18
0
0
0
-1
0
36
0
0
0
0
0
-5
-42
0
0
10
0
0
-2
-34
0
5
-33
0
0
54
-24
0
0
-2
0
0
0
-26
0
0
0
0
0
0
26
0
0
-1
0
0
0
0
0
-1
0
0
0
0
16
0
0
0
0
0
0
-41
-10
0
0
0
0
0
-60
0
0
0
0
0
0
-17
0
0
0
0
0
0
-47
0
0
-1
0
0
-1
-17
0
0
0
0
0
0
13
0
0
0
0
0
0
-16
0
-1
-6
0
0
0
-10
0
0
0
0
0
0
-35
0
0
0
0
0
0
-33
0
0
0
0
0
0
6
0
0
0
0
0
0
-14
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
-64
0
0
-33
0
0
0
-1
0
0
-4
-3
0
0
0
0
-1
1
0
0
0
-1
0
0
3
-13
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-15
0
0
0
-1
0
3
0
0
0
0
0
0
-23
0
0
-33
0
0
0
-5
0
-35
29
0
0
-25
-52
0
0
-14
0
0
0
-21
0
0
0
0
0
0
23
0
0
-1
0
0
0
0
0
-23
13
-1
0
0
-10
0
0
0
0
0
0
13
7
0
0
0
0
0
-45
0
0
0
0
0
0
-39
0
0
7
0
0
0
14
0
2
6
0
0
-3
-28
0
0
-1
0
0
-1
-43
0
0
-3
-1
1
-4
-14
0
0
0
-1
1
0
9
0
0
0
0
0
0
14
0
3
0
0
0
0
-23
0
0
0
0
-2
0
-14
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
18
0
-7
0
-2
0
0
-24
0
0
0
7
0
0
-18
0
0
0
0
0
0
-19
0
-1
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
3
-20
0
0
0
0
0
0
0
0
0
0
0
45
-4
0
0
-19
0
0
-127
-8
0
0
-93
0
-25
-16
-24
0
0
-34
0
-34
-2
-10
0
0
-44
0
68
76
-7
0
0
-22
0
-19
0
0
0
0
0
0
3
0
0
-48
0
0
0
-23
0
35
-26
-3
0
0
0
60
-3
14
0
20
0
0
78
10
0
11
11
0
0
-42
-5
0
0
-5
0
0
-106
-35
0
0
48
0
0
-9
-60
0
0
-99
0
5
0
-2
0
-64
-3
0
-3
-4
14
4
0
0
0
7
0
43
30
5
0
0
-1
0
-33
-5
0
-4
0
0
-13
14
-8
0
50
0
-2
-16
10
0
0
-5
0
4
-24
-21
0
0
12
0
3
-32
-66
0
0
-45
0
-8
-6
-100
0
0
-65
0
0
-1
4
0
0
-42
0
-8
1
31
0
1
0
0
37
0
57
1
0
0
0
0
0
-35
-5
0
6
0
0
0
72
-8
24
5
0
0
3
-87
0
0
62
0
1
-8
83
0
2
-4
0
0
0
-21
0
16
-50
0
-6
0
-61
0
23
37
0
-3
0
-26
0
6
14
0
-18
0
-76
0
95
0
0
0
0
-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
-65
-33
16
0
0
0
0
0
0
0
0
0
0
-23
-9
23
0
-27
0
0
-10
-47
1
0
27
5
-5
50
-59
0
-4
-47
0
-1
-55
-44
0
0
4
4
-3
28
-17
-2
0
21
0
0
0
-6
-9
0
9
-9
0
0
-3
-24
0
0
0
-1
0
-3
-83
43
-76
-1
0
50
5
-43
2
-30
0
0
-9
62
-26
66
-19
-56
0
14
-25
3
-1
-15
0
0
-40
17
-2
79
-61
-8
0
13
0
6
0
-59
0
0
-8
37
18
-53
-41
6
0
-8
48
0
-16
-1
0
0
0
115
-62
55
2
2
0
0
-12
-20
0
0
0
0
29
49
-17
-8
20
-10
0
9
16
-3
0
-16
2
0
65
-10
3
46
-33
23
0
-73
-1
-8
0
-39
0
1
3
-17
3
-16
-28
86
1
39
-9
0
6
17
0
0
-4
30
13
-43
-66
83
0
0
30
-76
0
0
0
0
0
-88
-11
-8
-11
0
0
5
8
21
9
30
0
0
-2
8
4
-5
-14
3
0
14
-21
-18
-9
51
3
0
26
-29
-6
38
44
-32
0
16
-21
10
-127
-60
0
0
8
22
0
14
-7
-7
0
0
42
9
-14
4
0
0
0
-18
-39
99
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
50
0
-1
-21
1
0
0
22
-5
0
14
-5
0
0
3
0
-1
0
0
0
0
21
0
0
0
-1
0
0
0
0
-1
0
27
0
0
0
0
-6
0
0
-27
0
0
0
0
0
-74
5
35
-2
0
0
5
-20
0
0
-63
0
0
30
-82
0
-89
-72
0
2
-33
9
0
0
-25
0
0
-1
-3
0
0
0
-1
0
0
-52
0
0
0
0
0
0
-13
0
-9
-1
-3
0
0
34
0
0
0
0
0
0
-25
5
-1
0
0
0
0
8
-1
0
3
0
0
2
10
0
-1
27
0
0
-1
-57
0
0
9
0
0
-6
50
0
0
4
-1
0
0
8
0
0
-7
0
0
6
-29
0
-2
7
-2
0
0
-125
0
0
7
0
8
0
-57
0
0
-1
0
21
0
-49
0
0
0
0
-1
0
49
0
0
0
0
0
4
-21
0
-5
2
0
0
0
-34
0
6
-5
0
0
0
4
0
-4
2
0
0
0
30
0
0
-3
-1
0
0
-7
0
0
1
0
0
0
44
0
0
0
0
0
0
-19
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
8
-5
-16
-84
51
21
51
-10
11
46
13
80
1
-27
-7
38
102
-16
12
-26
0
10
-32
-28
-56
21
11
-5
-6
58
33
-13
-19
-17
-4
-1
16
25
-17
-6
18
19
0
-1
9
-27
-1
0
10
33
15
-8
0
-84
-35
28
-103
-102
-2
-6
24
68
-20
-2
-42
15
128
43
10
19
22
22
-71
-1
11
-15
-45
37
10
-40
-14
-8
-1
43
-21
20
-25
-1
19
24
-6
-36
-26
-13
-97
1
-12
7
13
77
-14
-50
-3
46
33
-38
-24
-11
-2
5
0
-74
0
-138
1
-1
-120
-24
-60
-181
-23
6
16
-37
34
-66
26
-47
-54
81
0
11
26
37
9
-42
-39
35
12
33
-19
38
62
-32
16
-15
-23
-61
-5
-28
70
-24
-22
-45
-100
9
-59
49
-15
-17
-43
-20
-17
-4
-7
-1
15
9
-20
1
-36
5
-68
0
-89
-63
-85
17
-46
-119
-27
-56
-87
-82
-3
-2
73
26
-31
-13
-24
-76
65
-62
11
53
11
25
-70
71
1
-6
8
4
17
-24
9
-91
43
-80
19
-34
-7
23
-14
-30
-2
17
-108
9
-6
-2
-3
21
6
76
-47
-110
-1
-4
30
-23
-50
-140
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
107
-8
21
22
13
-27
43
14
45
-31
-10
-3
-1
-5
79
-23
-2
-43
3
-14
-74
-33
87
68
-17
-25
-3
-68
-23
-2
3
-9
-4
-2
-38
13
-1
32
-84
8
1
-4
-10
14
-2
7
70
5
24
-3
17
104
84
13
0
48
-7
7
32
16
-6
-2
-9
32
-7
13
27
14
-19
-23
27
-49
-31
-20
-128
-8
-5
10
6
0
-2
-17
-24
-107
16
-1
-21
-34
-53
44
-29
20
-18
-8
-53
-1
55
-110
15
-8
-5
-45
-55
-28
-1
15
-4
-32
-2
-44
-6
-9
-45
-22
-69
2
45
-6
-35
18
-63
58
-47
7
96
-36
10
48
42
-35
-41
44
-33
15
-27
43
2
-11
32
-46
14
-45
-24
-16
62
-17
-74
6
-11
-109
-42
-3
-5
-96
20
-3
-2
-77
-5
-10
-64
2
6
-61
-50
-62
3
-1
17
-24
33
27
-64
27
52
25
-49
-73
31
102
-5
22
18
98
28
52
-29
54
10
-25
-16
71
0
2
-18
-49
-8
-40
14
-16
-169
-8
11
-22
-8
-33
-91
68
19
27
2
8
26
11
-17
21
-94
-10
0
-63
-41
-34
-53
-13
24
-45
33
14
-29
6
18
-14
-19
-26
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
50
-5
0
0
-48
0
-3
-15
11
4
9
-3
15
5
42
43
0
0
-33
0
-2
71
-29
0
0
-8
-4
-17
5
26
0
0
-1
0
-43
0
-2
0
0
0
-5
1
0
0
48
0
0
0
-5
0
59
45
32
-2
0
0
-32
-77
16
0
-84
0
0
76
-14
2
-42
33
-24
0
-9
-62
0
0
-5
0
0
-3
-100
0
21
-5
-1
0
-4
77
0
0
0
0
-2
-1
-39
0
22
37
37
-1
0
-16
0
0
0
0
-14
0
-50
36
0
0
-6
-1
0
35
0
0
0
0
0
14
21
-1
-1
-48
-2
0
60
-42
0
0
-6
0
0
10
41
0
1
-30
-1
0
-18
101
0
0
-24
0
0
-5
30
2
0
-5
14
-1
-1
-16
0
0
-15
0
31
0
-6
0
0
2
-16
-2
0
-52
0
0
0
0
1
0
-30
-3
0
-1
0
0
0
86
0
0
-2
0
0
-4
-26
0
0
-4
0
0
0
-51
0
-13
17
0
0
0
-76
0
0
-1
-9
0
0
-80
5
-5
50
0
-1
0
-21
0
0
-3
-6
1
0
51
0
0
0
0
3
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
-45
24
0
-6
-69
1
2
82
-21
0
-14
-33
-13
16
-20
-24
9
-4
-9
0
-17
45
-26
0
0
-15
15
-53
-53
105
0
0
4
-2
10
0
37
-6
0
0
7
36
0
0
-6
0
-1
0
20
0
-54
55
-5
-5
-24
-2
-15
-122
-5
-5
-151
0
0
-23
21
-1
-46
-58
-83
0
19
67
0
0
59
-1
-16
39
-94
0
-2
-51
84
-4
32
13
0
0
51
4
9
-1
78
0
-2
-8
-19
11
-1
26
-16
2
2
0
-45
0
-27
40
-74
-4
-16
0
0
2
0
0
3
0
0
6
-85
-3
2
-87
-2
7
-15
-4
0
-19
30
-2
1
10
-28
1
10
45
-30
11
-75
9
-10
-1
115
16
-33
-36
-12
0
-10
51
40
-13
-5
-29
0
0
-21
0
-101
0
-17
0
0
-3
-17
-63
0
29
0
-10
0
0
-2
0
-9
5
0
-10
-13
0
1
-69
-26
-9
19
0
0
-1
-33
0
5
90
-1
-2
1
2
0
-107
-100
-10
1
35
38
0
-6
-13
33
-3
-6
-18
0
46
31
0
8
-3
-19
0
7
10
-16
1
0
-26
4
-91
-2
0
3
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
62
-8
0
0
-34
0
0
-47
-1
0
17
71
1
0
-34
0
0
0
-14
0
0
5
19
0
0
2
0
-34
-48
0
0
0
-2
0
-9
0
0
0
0
0
0
-85
0
0
10
0
0
0
-1
0
9
1
0
0
0
0
13
-74
0
0
-71
0
0
-5
66
0
11
-15
0
0
-103
-28
0
-2
64
0
0
-31
-14
0
0
34
0
0
-23
-30
0
0
-35
0
0
0
53
0
8
18
-4
0
0
-92
0
0
0
0
0
0
54
-5
0
0
0
0
0
22
-1
0
0
0
0
-2
-10
0
-2
7
-4
0
-2
-64
0
0
-77
0
0
5
-75
0
0
-11
1
0
0
34
0
0
10
0
0
4
-66
0
0
6
0
0
0
-53
0
0
11
0
-1
0
26
0
0
23
0
14
0
-94
0
0
0
0
0
0
29
0
0
0
0
0
0
-13
0
0
-4
0
0
0
19
0
0
-1
0
0
0
-7
0
0
0
0
0
0
-22
0
6
0
0
0
0
-20
0
0
8
0
0
0
-33
0
0
-3
0
0
0
-36
0
-13
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
19
0
0
0
-75
0
0
10
2
0
5
43
-6
-3
-29
-7
0
0
-1
0
0
1
12
0
0
-1
0
0
11
1
0
0
0
0
-4
0
-4
0
0
0
-7
0
0
0
-2
0
0
0
0
0
-61
-3
-1
0
0
0
50
-99
3
0
-5
0
0
-26
14
14
43
-71
-1
0
25
-43
0
0
1
0
0
1
-13
0
0
3
0
0
-2
-59
0
0
-15
0
0
0
23
0
6
0
-4
0
0
0
0
0
0
0
0
0
1
6
1
1
0
0
0
-5
43
0
0
0
0
5
63
15
0
-7
2
0
6
-30
0
0
44
0
0
33
-53
0
0
46
0
0
3
81
0
0
-18
2
0
0
11
0
0
-4
0
0
0
29
0
0
-2
0
0
3
-29
0
0
0
0
0
0
60
0
0
0
0
0
0
61
-6
0
0
0
0
0
-15
-10
-7
11
0
0
0
22
0
-2
-2
0
0
0
31
0
-29
0
0
1
-7
-16
0
4
0
0
0
0
-5
0
-5
-17
0
0
0
-36
0
0
0
4
0
0
-16
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
31
-1
35
12
36
20
5
1
-42
39
-3
-1
-28
6
-23
-10
7
11
-53
-22
-4
-33
-35
-18
19
-15
17
12
-29
-19
-9
38
-33
2
-15
-36
8
6
-49
-62
-56
-8
-17
46
10
-29
20
-5
-42
-40
33
59
-13
39
1
62
39
45
32
17
11
4
20
15
15
-6
71
14
-42
54
-14
-21
5
-47
-20
0
34
-10
-10
-71
18
-24
-40
9
-10
-5
21
9
-39
-12
-10
24
-11
-22
55
-57
-57
-16
77
1
13
-3
13
27
-5
-26
36
1
37
38
-105
-46
-5
8
-19
42
29
21
51
-10
14
-23
-35
63
-48
-73
1
5
29
-11
16
21
26
14
-14
2
25
20
-16
39
17
-22
108
-43
-6
11
42
-5
-13
23
9
-11
-23
18
-27
-10
63
-15
-18
8
1
-23
7
-21
56
7
19
-17
28
6
-25
14
39
19
-114
-55
-2
58
7
29
-33
15
33
2
-51
-25
19
12
25
-5
-1
33
11
40
43
21
20
-27
5
-41
31
44
23
56
-12
43
28
18
-21
38
-17
3
-9
44
-4
11
18
-24
-1
-7
-20
30
-18
-3
62
-4
41
-21
61
-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
28
16
24
5
-7
60
26
2
-91
0
43
-16
20
-68
-31
0
11
-9
-2
41
-87
-60
54
0
0
17
0
-74
-3
-9
0
0
-5
-33
14
15
0
-10
0
0
-3
-14
26
27
-6
-44
-49
11
1
27
71
0
27
3
7
0
-169
0
-36
-39
4
44
-5
6
-10
18
-15
-16
-2
21
26
-117
0
1
0
13
-18
50
-28
0
28
-98
45
21
-41
-42
-5
30
-27
-28
52
-2
-7
-5
8
-1
4
-10
0
23
25
-14
0
-16
8
0
33
-31
11
45
-16
1
29
-92
45
55
51
-14
1
-41
0
2
63
-78
-4
-25
42
53
29
7
58
-10
-5
46
-95
-4
57
50
23
29
-5
-17
-3
-10
39
1
-24
-31
1
-1
-43
79
-33
-73
5
-14
0
47
53
15
-26
3
-23
-3
-2
0
6
-7
-1
104
54
11
-9
2
0
15
-60
-6
9
61
-15
0
-64
0
-24
-60
6
52
0
81
-72
21
-89
13
17
1
-21
-26
-1
-25
37
12
1
33
-6
1
-8
35
4
-1
-11
-5
-3
50
14
-20
4
-3
0
0
21
-7
-5
27
0
14
14
-66
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
-34
11
0
14
25
-14
8
107
5
0
0
34
0
-6
-5
6
0
-7
-23
-6
3
-23
-3
0
0
-7
0
0
0
4
0
0
-2
2
-23
0
0
7
0
0
0
9
-8
2
-7
1
-5
0
0
-33
-38
0
2
53
0
0
-14
57
0
-102
-21
-5
0
52
-103
0
8
-25
0
-2
-52
18
0
46
-15
27
2
6
9
0
0
-30
1
0
4
-14
0
-38
-1
19
0
0
-89
0
0
24
0
0
0
7
-1
14
0
0
0
-1
-39
61
0
61
0
0
14
-33
-5
2
-6
33
0
74
-21
0
14
-43
0
0
10
25
0
13
0
-5
0
38
86
0
0
-97
0
6
31
30
0
5
-23
-6
0
0
-17
0
0
-4
0
8
22
22
0
0
6
3
9
0
-37
0
0
0
0
0
0
10
45
-4
5
0
0
2
-3
0
-56
4
0
0
-6
-69
0
2
-21
0
0
-3
16
0
-24
-10
0
0
2
41
0
1
-6
10
0
0
-7
0
-5
0
-2
0
0
-26
0
-1
-5
-2
0
0
-78
0
-14
-8
0
0
0
55
-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
-76
43
0
0
-43
28
46
-83
-26
0
0
38
13
-17
29
-27
0
0
-7
9
72
-66
-24
0
0
16
0
-9
-2
-17
0
0
7
-2
-68
0
0
33
0
0
0
6
-5
-11
-32
-1
83
0
0
-117
24
0
-2
18
-11
0
20
-108
-2
-38
-26
91
9
10
-26
1
-8
-2
22
11
-33
-15
0
0
-43
-6
-3
3
-22
0
0
-52
-8
0
20
-60
0
4
12
-20
51
11
-67
-2
0
0
0
-3
0
48
11
-5
0
13
0
0
14
-7
0
-5
0
0
23
-31
15
0
-25
14
0
-52
38
3
4
72
-2
0
-33
11
8
20
-2
16
3
100
-58
-14
10
18
-3
0
20
-65
0
-1
-42
-16
0
-9
23
0
0
18
6
0
4
88
0
26
-1
5
17
0
82
0
0
0
0
0
0
-63
-6
1
0
-7
0
26
4
-1
-20
66
0
0
0
6
-1
-14
22
-3
0
4
-6
0
-48
-12
-13
-1
-3
43
-4
0
2
-45
0
0
2
-4
30
166
-5
0
4
39
0
0
-8
1
0
0
0
0
-2
8
24
-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
-39
-3
47
42
51
13
1
14
-4
-33
-5
9
23
-3
-9
18
53
-38
4
-19
-34
-31
-28
12
26
-8
-36
-15
-42
17
-57
-83
-33
-5
-33
13
3
8
-29
18
-13
-1
17
48
-17
-75
15
-96
-8
-28
-22
3
46
-47
-46
27
28
41
-102
5
46
-36
91
29
-7
38
52
31
49
-46
13
-25
-14
-53
9
11
33
-10
-21
-38
-93
-10
-32
20
7
-49
-35
1
-29
-7
-27
12
-27
-68
-102
-2
-39
-6
-85
-4
26
0
-25
-2
5
-37
52
5
42
-52
-16
-10
-15
-5
-1
26
-23
33
7
-11
10
34
-6
44
41
18
8
0
31
26
36
15
-1
4
-28
-25
16
22
-45
-21
4
-22
-56
-5
7
16
7
13
-18
5
-61
2
19
-2
-44
-21
-69
-30
-4
18
-11
-33
3
-13
-74
14
44
-52
-22
31
43
39
-33
-17
98
27
4
-23
4
44
5
24
6
18
24
-45
15
-9
-14
-15
-3
-90
-24
21
30
-29
-25
-1
6
-6
20
29
30
7
-17
-75
-2
7
-8
11
-116
-5
41
-2
-5
4
-5
-30
-19
-60
-1
10
9
-6
-51
0
10
-102
-10
56
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
45
82
-4
-1
-10
-9
-14
-5
4
4
0
0
1
22
-31
-52
-1
0
14
7
-6
5
-27
0
1
6
0
32
-8
-6
-11
0
-1
14
-63
0
0
-19
0
0
0
13
0
-45
3
-8
3
0
0
-98
96
3
0
-62
0
0
28
-97
8
80
-66
-7
0
-21
43
0
0
-74
0
0
-95
2
0
0
-28
-3
-3
14
-26
0
0
21
0
0
-1
-37
4
132
-2
-1
0
0
-40
0
0
-17
0
-3
0
-15
5
-33
0
0
0
0
-44
-19
-1
2
0
0
-21
4
9
27
-11
-18
0
35
-36
0
-2
0
-6
4
2
-36
0
-1
35
32
0
34
-76
-1
-9
-48
0
3
11
-11
0
3
-14
14
0
2
-25
0
-2
43
0
14
0
1
0
0
5
5
42
0
0
0
0
0
0
0
0
16
13
0
4
0
0
-13
72
1
53
6
0
1
-8
-44
-1
0
64
-2
0
-4
18
13
37
45
0
0
4
-73
-6
-6
15
0
0
2
-23
1
1
7
0
0
0
-90
0
0
-4
0
2
0
45
0
-33
0
0
4
0
-11
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
20
-8
0
-1
10
-49
0
-51
62
0
0
-22
0
1
-11
16
0
-1
-42
19
0
-1
-23
18
0
-131
-1
1
36
-28
0
-6
34
-14
-3
0
1
8
0
0
-5
0
18
11
-68
35
1
3
0
-53
51
0
-4
21
0
0
-28
-1
-19
12
-13
-115
0
76
52
10
-11
56
11
1
29
22
0
-4
-24
-32
4
8
4
0
3
-21
-8
0
-58
44
-6
-32
-42
34
0
7
-22
20
-1
6
-1
0
0
-5
-10
19
0
54
0
-3
24
-21
0
44
7
0
-106
-44
33
35
58
-21
-8
22
12
4
22
-11
5
0
30
1
1
-25
-15
-33
0
-10
19
-1
5
30
4
0
-30
-27
0
-43
14
28
0
-4
-39
10
16
-68
0
0
0
-37
25
16
-106
85
0
0
-48
-4
0
-1
-1
0
0
-12
-42
2
-5
1
0
1
-31
52
47
15
-5
0
-32
17
3
-53
-79
33
0
44
25
18
89
3
17
0
-7
37
0
45
33
10
0
17
-19
0
-68
-28
20
0
-15
-56
5
-37
-67
-43
0
0
-20
-1
-62
-33
8
0
0
15
56
-8
-64
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
-24
30
43
38
15
43
-7
-36
-19
-84
-55
-23
-53
-50
-24
-32
-50
-49
4
3
-13
-45
24
-35
65
-57
-36
-20
10
-28
-32
-17
41
-29
-3
37
3
7
-52
50
-1
-47
-40
0
-3
112
15
-49
-90
-70
-11
16
0
-7
-30
11
-14
-3
107
26
21
70
-48
-6
8
63
6
-4
-33
14
-58
-9
100
24
1
-26
11
-82
11
-74
20
-8
-28
19
39
-22
-22
78
-111
53
-52
-39
-5
-18
-20
43
-22
-29
-49
12
23
18
-14
80
-4
-23
19
47
7
33
-38
29
-16
14
-32
-52
35
13
47
-41
-28
15
4
18
-8
-20
-15
-2
17
-11
27
48
45
4
-19
6
-39
13
-12
13
29
-7
30
133
15
-55
-1
49
-6
8
3
-31
-4
-5
32
10
-23
-10
-14
-14
-6
0
-19
-10
15
-8
24
89
34
-2
-38
-6
-2
-1
122
-40
2
138
-33
-11
24
18
-4
-11
78
5
18
-94
-16
-28
-15
53
7
-4
-4
48
25
-5
-57
-4
10
23
-42
-37
-10
-56
8
-3
-20
32
-11
3
-1
10
-41
-9
-5
-25
-1
-50
48
-68
-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
-110
39
-21
-16
-5
-32
-53
-80
60
2
3
-65
-12
-35
-101
0
-4
1
-40
44
-51
-55
-3
0
-2
3
-46
-69
-2
20
-15
-2
-1
45
-55
-43
8
-62
-72
-2
-3
0
3
43
24
-5
-22
-23
19
3
27
-18
-42
17
-115
75
-151
0
-47
14
-138
-21
62
-43
-46
7
-25
-28
-53
-40
-81
14
-37
16
44
44
-29
-67
-12
-4
-50
-17
-63
7
35
-27
-10
-5
8
1
-26
1
28
76
-44
-1
-81
-15
7
15
-34
13
-3
-1
0
115
28
78
29
71
-4
5
56
4
34
27
74
63
11
-26
0
71
-116
-17
3
-4
5
-44
-19
26
1
50
-44
50
26
-5
1
39
-93
67
58
36
-16
29
23
1
1
-4
-21
-13
5
-53
-85
-54
0
51
-98
-5
-14
0
17
0
-9
28
76
-34
13
-7
20
2
51
15
61
32
9
-2
-1
-45
18
82
-53
14
-36
0
51
34
-26
-20
-44
-57
-5
-6
25
26
-55
9
-51
20
-17
11
-69
-15
24
-74
-21
-3
-8
-13
2
-56
1
5
-4
-28
27
-11
-14
0
14
33
-6
1
-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
-10
-100
0
-2
35
-1
69
-67
-16
0
-9
17
-32
-1
46
27
5
8
32
0
-14
-3
-19
0
0
25
-10
55
0
-1
25
0
0
-5
-27
0
-7
19
-22
35
0
0
-31
43
17
14
-43
8
0
83
13
4
28
-134
-42
0
0
-106
-7
0
-50
26
25
15
-30
-1
0
-3
-58
-17
-34
-12
0
4
-11
0
27
-8
2
0
-29
45
-14
0
-2
-6
0
0
0
-1
36
0
-10
-46
-27
0
0
0
0
38
-52
1
13
0
0
-31
7
38
31
17
-3
-14
37
1
0
39
50
5
8
-84
11
-7
81
-25
-3
1
6
-58
7
-14
17
-13
3
17
19
0
1
-24
26
-3
0
3
-1
2
-29
-1
4
8
43
0
1
-2
-19
64
0
-85
-4
0
0
0
-5
-3
24
-24
-5
4
27
0
39
27
2
16
-19
0
0
-9
-15
-7
-3
1
5
0
-5
32
0
36
41
1
11
-32
-5
0
9
66
-31
-1
-2
-95
-4
-50
24
-1
3
-3
-38
0
7
-27
-15
-4
0
22
0
-23
5
0
-1
0
32
-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
-111
-4
-7
-2
-2
0
55
-50
11
0
0
33
23
31
-93
46
0
0
-20
2
-5
19
54
0
0
-3
0
-25
0
0
-84
0
0
0
22
0
3
-56
29
16
5
0
-39
41
29
-16
-56
3
4
0
21
-43
-65
83
71
166
-47
95
0
-25
-25
0
23
-20
43
-6
-4
-69
-33
-10
-11
2
0
0
-59
-9
27
6
-62
0
-16
65
75
29
17
50
0
0
26
0
43
0
30
-14
-16
0
-2
3
0
-30
-77
0
-4
-2
0
-50
80
74
2
42
-16
3
-52
-40
17
-84
10
-20
7
-116
44
-11
14
3
23
6
26
66
14
-6
43
8
5
-35
-51
22
0
3
69
15
-8
58
0
0
23
0
-18
19
-55
4
1
-4
4
-6
0
-19
-11
0
0
-15
7
0
13
-11
0
-1
4
0
23
4
-29
0
45
0
11
0
-59
-1
-10
133
-11
0
0
27
-1
-43
23
5
0
16
49
-6
-29
-45
2
0
51
-109
2
26
31
0
8
-3
25
0
0
5
73
34
0
-20
0
74
-3
29
-3
0
6
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
-55
-11
-60
5
-26
0
-16
-6
-2
102
-36
-26
12
10
-11
14
5
-6
-30
3
-30
-65
17
-14
64
29
-18
-28
-53
-7
-30
2
-14
-43
-31
26
-3
-31
-59
-18
52
47
22
18
-12
7
57
-45
29
-36
3
-22
-3
-4
-7
33
-26
-14
-58
58
14
71
26
36
10
1
-3
-14
-14
-10
-5
-25
-5
-101
-15
-51
-45
-6
-19
-3
4
-19
-9
-11
-28
-14
-35
36
-52
-68
-42
11
-7
-49
26
46
-32
-18
3
21
1
-11
35
-83
-49
-2
3
23
23
47
-14
-8
0
4
-19
-34
57
-61
91
4
11
83
29
-11
-15
6
34
-4
89
12
1
-14
19
5
-10
118
-24
-20
-44
8
4
6
-77
-2
25
63
5
-8
-13
-19
-3
-74
27
-27
19
3
15
-31
76
57
-29
-97
-7
-65
-53
2
-110
-25
-20
-46
-20
4
-16
-85
-29
-79
-7
2
-6
-54
61
-14
-53
5
-103
-51
-18
35
-19
-43
-5
80
-15
-38
-64
79
-21
-6
-47
6
0
-38
-26
53
5
-89
-49
-24
4
-58
-85
-4
48
4
-72
-41
-25
2
19
25
-127
-6
-19
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-9
-38
75
-23
-36
-46
10
71
-7
-8
-9
-44
-45
17
26
-88
0
19
-24
-54
-83
33
-43
-5
2
1
-57
8
-14
-34
4
-14
14
31
1
-60
-21
-7
0
20
12
14
107
20
-1
4
-19
19
-16
-11
-11
-7
-30
-7
-18
131
-99
-11
27
-37
34
-57
-42
-132
6
-11
-57
-4
-10
-2
94
19
14
-28
19
-31
82
9
-5
-29
-25
-43
-40
-13
-44
31
-18
21
-22
-31
35
-4
-26
23
-61
25
17
-14
23
66
8
-2
66
22
-53
-72
-11
32
-17
-45
10
-2
-56
-16
-22
51
-6
-8
42
-53
4
-11
-25
20
-5
72
-18
-3
5
-29
60
-38
-89
-6
15
36
-65
48
-5
74
14
37
55
-13
61
21
14
-72
54
33
-15
3
-16
4
-15
-27
13
-17
16
14
51
5
-30
25
-4
-58
-7
-10
-5
39
-32
-33
-5
33
-17
-1
19
1
-53
98
-21
54
-1
-23
14
-8
79
19
-175
33
-17
78
-66
-9
39
-67
-24
-10
13
-117
-5
8
38
-90
35
-16
-12
-60
-41
-2
4
-11
24
-53
20
2
14
6
45
-27
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
3
27
33
1
17
-2
0
-6
-19
3
-11
-50
14
-2
-67
-86
-7
0
-81
11
0
11
-46
14
24
-24
-18
-2
8
92
-49
0
3
-27
0
25
20
19
-5
10
-4
0
-6
-13
-74
132
12
87
0
40
3
80
40
14
-14
0
-51
-31
-30
-7
-38
-10
0
28
20
52
104
-39
-8
21
47
9
-4
-25
7
5
6
47
-35
39
-3
-13
26
0
-53
-24
5
-9
-16
-21
6
0
30
1
-43
50
-5
0
-3
11
16
-3
-45
-2
0
-12
10
-50
-55
24
35
0
-6
-7
-80
22
-54
13
44
3
-31
46
-10
-46
-24
0
-16
-9
56
-75
15
9
0
63
-3
1
-27
29
-43
0
-7
-12
-5
-19
27
59
0
-8
-22
16
14
-58
2
0
-2
4
0
28
-44
-24
0
-2
-15
37
8
-54
14
0
39
-19
-17
1
46
-4
0
-4
6
-23
-7
-30
-17
0
-9
15
-53
-14
-23
29
-3
33
-13
15
45
25
-9
0
32
15
-14
-14
-4
42
8
-4
-7
2
-46
-23
27
1
-22
-24
-16
-15
62
-11
0
-1
0
33
38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
49
0
14
29
-4
-90
23
-56
-53
-2
-6
-8
-74
-12
-27
-24
-21
0
-3
-16
-59
-38
-2
-29
-60
-24
5
-9
-19
-55
32
3
24
0
3
20
-1
18
24
7
-18
2
46
3
-8
-13
-24
-130
-16
-81
-71
-5
-9
-32
-40
3
49
12
12
2
21
-54
6
16
103
-9
19
-42
-36
8
-21
3
12
3
-22
66
-16
-62
14
54
-38
-42
-15
7
-19
-15
6
8
-92
-29
2
2
-12
37
-71
77
43
4
-18
-25
-4
-5
4
8
11
-16
-8
-4
27
-4
-46
22
33
-21
-6
-15
5
-79
9
13
3
14
-8
42
-50
-1
7
25
17
15
21
-60
-12
-76
31
7
-27
5
-35
9
-5
-98
-38
10
-4
-34
9
-21
23
30
-108
-32
-27
-25
32
-37
34
-1
25
-104
-19
-31
-32
2
-9
-1
-33
26
-38
-79
-43
10
-24
43
15
16
-40
3
-98
-9
-59
-2
-65
-40
-5
-6
14
4
1
-34
-9
16
-57
-11
51
-2
-4
106
-11
-10
-2
30
2
16
-15
-20
-90
12
58
-8
-5
-116
-91
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-9
34
-2
-32
-52
-36
-41
13
-33
35
41
-65
74
-15
-3
-3
-14
57
-28
-2
0
-46
0
8
-63
-99
22
5
-3
22
89
20
4
-36
50
-144
-26
-17
2
0
-26
12
22
0
-36
-2
39
-48
18
42
-32
50
22
-11
-54
0
13
-20
2
-22
-113
-59
-20
-6
-55
-19
18
8
-91
-58
16
-16
15
-45
-42
4
-4
-3
25
-48
1
-19
-5
35
0
-75
-4
-38
-23
3
-14
-11
1
-19
-6
-14
42
60
-88
25
-4
-25
-104
-6
20
-76
73
-10
-3
23
-21
-21
33
-15
-53
-89
-93
-27
0
9
-101
-4
71
41
57
-31
69
58
-10
-47
-16
-70
-13
11
-56
8
-31
10
-3
-11
-5
-31
57
-65
-70
-5
12
-22
6
5
-72
-24
15
-4
56
-5
66
27
0
30
78
-97
-16
-3
-6
0
-64
21
-55
50
-1
14
43
-60
7
-7
-80
-24
19
-53
-33
0
42
-27
-85
-87
-24
1
-18
-10
-68
-90
21
-32
-8
-16
58
-82
-17
9
48
2
-18
-4
-29
-57
15
-73
-1
20
-39
3
-5
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
6
8
0
0
37
-2
-5
-5
31
0
0
3
3
15
0
-5
0
0
0
0
11
0
0
-12
0
0
5
-2
9
9
-9
0
44
0
0
45
-30
-2
-2
-118
1
0
31
-6
0
-1
-26
-46
5
-24
20
-1
0
22
9
3
-50
-63
6
0
0
-2
1
-47
-41
0
0
24
-4
-3
0
-49
0
-14
0
-33
0
0
-68
0
0
-3
-2
1
0
11
79
-13
0
0
-2
0
-29
-20
1
0
0
0
-19
3
0
-20
4
44
0
41
19
0
0
46
-1
1
-1
-11
0
5
-90
18
1
-2
-31
0
0
-36
2
13
-2
-48
0
-2
51
8
2
9
-98
-2
0
-5
0
0
0
-43
0
2
-5
8
-8
0
91
0
0
0
-7
0
0
-90
8
3
0
7
0
-1
72
-3
42
18
0
0
-8
-60
0
0
-80
-16
0
3
-22
13
2
-37
-6
0
0
-46
-1
-11
-29
32
0
0
36
0
-11
-1
0
0
0
-46
0
0
-7
1
0
0
47
0
84
0
-3
0
0
-45
-5
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
56
51
3
0
-8
1
14
13
68
0
0
-5
0
11
0
1
0
0
6
34
-63
0
0
-38
0
0
0
-15
0
-20
69
6
14
0
0
50
-69
0
0
-34
0
0
-75
-28
0
7
18
-47
0
0
-59
0
20
-47
7
2
-26
25
0
-8
20
2
10
15
-37
0
-2
-53
6
9
16
-59
2
3
36
-20
8
0
-3
0
0
0
0
1
0
-30
-8
-8
16
7
31
0
-11
-5
0
9
0
0
25
3
4
0
39
43
23
-4
21
0
-8
1
-2
0
-106
-32
-8
25
-35
43
0
-26
24
0
2
-28
1
-1
7
-34
15
-19
-36
29
-2
6
-39
0
0
-13
0
-35
0
-44
0
0
7
43
-14
0
-2
0
0
0
0
3
0
13
0
0
2
0
0
-2
-120
11
8
-1
0
0
-13
-49
13
-1
-46
0
0
0
13
27
97
-26
6
11
1
-62
0
33
5
-3
-1
0
-61
0
-57
-1
0
-1
-1
-46
-5
0
24
2
16
0
98
0
100
10
-2
3
0
-29
-1
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-77
-34
27
15
7
-28
-8
-7
47
14
20
-55
-8
27
40
-2
-1
11
-16
-40
14
-41
3
-8
0
15
-63
34
11
-58
5
9
69
-1
-28
3
111
-145
-19
6
6
-24
11
-3
-10
-34
-44
-27
-45
15
-3
-51
12
18
-64
-2
7
94
-19
6
-41
14
47
-5
7
51
-23
40
30
-36
35
-4
8
-75
7
-63
-10
-2
42
78
60
-44
-11
0
-6
-14
31
-1
-25
-43
4
5
29
5
-75
-1
-45
56
20
13
-35
-13
-29
-63
-42
10
81
50
-57
6
-71
2
7
-44
-35
30
-27
110
15
19
-71
3
-34
-45
36
-11
-21
5
-48
-1
-3
-45
53
-6
46
43
-101
-61
-2
-63
14
-7
-55
-35
-21
-34
-1
16
-43
-3
-2
-66
-71
14
-5
37
76
40
17
1
-51
-9
-119
26
27
-5
-23
-5
1
-23
102
-1
-49
-92
-58
-10
10
25
-73
-59
8
-24
6
-48
-80
-67
-15
94
-123
-5
30
25
23
24
53
-81
-4
18
3
-56
-46
63
14
-2
9
-2
-10
-46
-45
-1
-14
8
-61
6
-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
-27
-1
0
0
63
-1
61
30
61
0
1
-5
0
-51
-6
-3
0
0
34
0
4
0
0
-78
0
0
9
23
7
-18
46
-11
29
0
0
-81
23
4
0
-47
0
0
45
-52
0
59
-20
-1
0
-108
-14
0
0
15
15
0
43
-32
0
-1
3
-13
0
21
-3
0
0
42
0
3
-20
39
0
65
-21
51
3
3
-49
0
0
0
0
-10
0
-25
2
-3
0
0
0
0
-39
-9
0
0
0
0
-63
24
16
33
5
3
3
-2
-42
6
0
-89
0
2
-24
19
0
0
-44
-3
-4
25
-6
-7
-13
-6
0
3
29
-9
0
-2
16
49
1
44
12
0
-2
-9
0
-2
21
-19
0
0
-26
-9
55
0
-13
0
4
0
0
0
0
-35
-35
-1
0
0
0
0
-64
0
-36
-4
0
0
4
-10
1
0
52
0
0
-4
16
0
-14
-28
0
0
-4
2
0
-7
58
26
0
0
-87
7
13
-7
0
3
0
-17
0
-1
10
22
0
0
-7
0
-38
5
0
3
0
1
-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
-38
46
-1
0
10
-105
-1
-31
24
-2
-8
-21
48
-2
16
25
26
7
-34
13
7
0
-14
-40
0
-1
-43
-1
46
16
-32
47
14
34
0
-1
-4
-33
-32
10
-39
0
48
-6
50
26
28
14
0
-56
-9
26
43
-29
-42
0
46
-5
-33
-41
30
-27
0
36
-15
-20
19
24
-29
0
57
1
0
-24
17
12
0
48
-15
-15
25
-4
58
0
0
12
4
-24
0
-7
0
0
12
17
25
-33
45
0
-81
-2
48
89
-4
-10
0
-19
8
91
-16
-4
-50
2
3
12
47
17
-13
-14
0
7
-38
54
-55
-9
-107
0
26
-5
19
-13
7
20
0
63
16
-3
2
23
37
6
175
-26
0
-9
18
33
0
22
-9
39
-2
24
-60
0
-33
-14
41
41
2
-14
0
-3
-2
-3
-16
-81
2
1
17
-1
-17
45
-55
74
-15
48
27
-21
-4
1
29
2
22
1
31
35
25
-40
0
-16
9
-1
-25
62
-7
2
71
-10
-1
-18
57
-22
0
5
-12
1
7
30
-43
-6
0
1
8
-2
-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
-79
38
9
43
-31
-29
1
-3
45
-5
0
-35
-46
-47
0
-41
-10
-1
0
20
-51
4
-13
-81
51
-31
-3
1
-8
-10
-52
-5
-13
-5
9
2
7
40
7
-12
-67
0
-53
-19
25
-23
-29
-34
-9
-85
8
-53
-18
23
-71
-99
-72
-6
22
-42
-13
-75
-36
-55
-17
19
-8
-32
-86
-26
-2
-7
-3
25
35
45
-53
25
-6
-57
-79
1
-72
-7
10
-7
-1
5
25
-6
-17
-30
-6
-32
34
-47
-27
3
-47
18
81
-4
1
-9
45
-31
30
-13
-17
-57
-60
-102
20
10
33
-6
-13
20
7
-17
5
-4
42
-6
-41
6
97
-9
11
-44
68
-32
-26
0
9
1
-77
57
-88
-15
0
5
-13
-3
-7
26
-1
-18
-22
-68
63
73
23
0
-19
-49
-58
65
-20
-27
18
-28
50
5
-156
-11
31
47
-29
20
-48
-5
-61
-30
20
15
8
-43
-109
52
-38
-16
25
20
1
11
32
17
53
1
-11
0
-9
-103
-87
-43
0
-24
-2
-33
-2
37
-36
0
-56
-54
-13
14
-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
0
0
0
0
0
0
0
0
0
0
0
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
-13
-33
1
-33
6
-61
-4
-1
-68
-57
-48
26
19
-52
0
-2
131
-7
-5
17
114
28
-49
34
-7
-83
3
26
-11
-48
26
-1
-58
-31
-21
-9
-14
-53
-7
-18
-3
14
-35
22
-32
-14
-88
-26
5
-3
70
-13
-16
12
0
-20
-6
-45
-65
72
-40
8
-2
-30
11
-74
-16
19
-29
2
-5
-68
0
-46
1
4
-20
-29
0
-53
2
-2
-22
-34
31
6
19
4
18
15
-81
-27
25
-44
-4
-5
-17
3
23
25
2
43
14
-11
-35
-11
0
-20
71
25
15
-12
36
-35
-56
18
89
0
-14
-17
25
1
-52
13
6
-2
4
-34
122
-68
29
1
23
-48
9
3
37
-2
25
-10
1
11
-76
6
-1
-39
26
-3
108
-1
2
0
22
13
-80
-43
1
-4
-2
-25
24
-37
54
-32
21
-25
17
-14
-10
75
-53
7
-66
-13
-12
-82
50
-28
33
11
0
31
16
100
-48
45
11
-14
41
-81
-26
-14
-8
0
-22
0
-6
-62
-14
10
-4
-3
-1
0
-5
-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
-14
44
0
-3
0
0
-3
-5
-16
0
0
0
0
-45
0
0
-35
0
0
0
-90
0
-50
-26
10
0
0
0
-5
0
0
-6
-80
0
0
-22
-56
0
14
-21
46
7
-56
-30
0
0
-66
0
3
29
98
0
23
15
64
0
-18
11
0
-7
-20
0
0
0
-93
0
-33
15
25
0
0
-1
0
0
0
0
-27
0
26
32
2
0
0
14
0
-59
90
0
5
0
0
-10
17
-2
-4
-75
-2
0
15
1
0
5
46
0
0
-15
13
0
-2
-24
21
0
63
42
0
0
43
0
0
-1
-44
0
0
-3
-24
9
-3
-33
0
-4
-5
0
-11
0
-33
0
0
-2
26
13
0
-26
0
0
10
-5
-10
0
-41
10
0
25
0
0
0
26
-3
-33
-25
0
0
-3
81
0
0
13
0
0
-1
-24
0
26
-15
0
0
0
-16
0
8
0
0
0
0
-62
0
5
-4
0
15
0
-41
0
4
6
0
0
0
-107
0
4
2
0
11
0
-32
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-4
0
-22
0
32
0
0
0
-1
-14
0
0
59
0
0
0
-13
0
-4
19
-22
-23
0
0
46
40
0
0
19
0
0
-48
16
0
-53
50
18
0
-8
-66
0
0
-31
4
3
44
-46
0
0
12
45
10
-66
-140
-1
0
-21
-3
11
-13
-5
0
5
5
-66
-1
0
-81
0
-2
32
0
97
0
-34
62
5
0
22
0
0
9
6
0
7
0
0
-25
104
4
51
6
-2
0
38
-8
0
0
-10
0
0
-24
-25
1
0
62
17
-2
76
-77
2
0
-33
0
11
25
-61
-6
0
-71
5
-2
7
-28
2
0
-79
-5
-2
3
16
-3
3
-6
-10
51
0
-43
4
0
-1
-5
0
0
-14
61
0
0
0
0
0
10
0
-7
-19
0
0
-6
-54
0
0
10
3
0
-3
-8
0
47
27
0
0
4
-56
0
2
-4
27
0
-2
44
0
-14
-14
-3
0
2
-25
0
0
9
-20
1
0
-67
0
109
0
-10
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
19
-19
20
10
90
11
14
-33
-1
-4
10
0
-5
-32
0
-1
-58
-8
-6
3
-75
-6
7
-52
0
-42
3
34
44
10
-1
4
-14
3
31
5
-10
-12
47
-19
-4
34
-1
-16
23
-6
-83
-6
-75
5
13
-27
-20
-26
-16
9
90
-6
97
-7
-41
18
-4
-12
-116
-7
-83
15
2
-8
0
128
35
-58
0
7
34
-27
0
-39
-13
-52
8
26
-3
7
8
-4
-11
0
-72
15
-28
-44
-81
-12
-5
-49
-80
1
7
-65
-17
-4
-63
36
-15
-2
5
-88
10
77
-108
-6
33
25
-24
21
-14
-45
34
-62
23
-16
-4
10
-14
6
17
14
-32
-15
23
118
-16
-49
-13
0
3
68
9
0
-53
13
9
0
5
-6
-5
-78
3
-42
-5
-19
15
-58
-48
-46
-79
-16
-7
-155
-72
-7
20
9
10
49
-55
-27
-23
-31
9
-13
28
32
15
-104
-84
5
9
-17
-27
9
-99
104
-31
-23
44
77
-133
-15
-36
29
-11
26
-51
-30
-31
5
19
-6
-74
-5
1
-87
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-46
7
33
-81
3
-3
18
-27
-6
-2
27
-3
-12
-3
-3
8
0
0
6
16
-20
-36
-4
-13
44
2
5
11
8
47
5
-3
0
27
11
-15
22
20
-34
4
-20
-26
-13
41
53
-17
0
4
33
29
1
-4
-5
-10
36
-5
-52
-1
31
9
-18
-5
17
-23
1
3
42
-14
3
-21
9
14
-37
-38
3
72
0
-5
-11
25
0
-1
-50
0
-31
-6
16
-15
0
31
5
2
21
21
-7
-1
-6
-45
-19
-9
-79
-31
0
-42
-20
-38
-17
7
-13
27
-62
-55
15
6
5
-18
13
-2
41
7
-3
68
-1
-46
-9
-7
4
1
-5
-1
-7
60
31
23
-11
-36
-10
5
-4
0
-7
25
-16
14
-4
-8
0
-37
23
-27
103
1
4
18
5
-2
88
-26
0
29
14
13
-5
61
-30
-3
-65
-133
47
39
-3
90
7
-108
114
42
-14
-19
32
32
-53
5
28
-6
58
41
6
41
2
34
3
-20
-10
-3
31
27
5
0
15
-40
2
11
-5
-17
-2
-3
9
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
-19
-21
2
-2
2
-42
15
-47
34
-15
53
62
11
0
0
-52
7
6
2
57
0
18
-4
1
-44
-48
-50
0
5
1
51
16
-1
6
0
21
12
-42
21
33
19
0
11
0
-7
48
-13
-11
17
-51
-3
-5
24
-8
1
0
9
-62
24
33
-5
-4
-2
16
19
-4
-31
11
6
0
78
-5
57
-5
-20
29
-2
0
13
15
-44
-14
24
0
-5
-10
-59
50
-24
1
0
-37
0
5
86
25
-10
8
3
18
2
-56
4
-105
0
-65
20
59
-11
8
20
-2
-8
-16
33
63
-5
74
0
57
-7
62
-53
25
16
0
53
9
-22
53
42
-25
0
-31
0
-4
-4
11
38
-14
5
-2
-58
-5
6
25
0
1
-33
-6
49
6
-14
0
-7
3
16
-8
-10
-24
0
-17
16
-20
29
-13
13
0
-1
15
26
48
6
-105
11
90
-6
-14
-73
32
24
0
6
-14
3
-22
33
-20
0
28
8
41
-27
18
23
17
-18
22
100
5
88
-4
-1
-1
23
47
4
-32
-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
20
37
-2
-1
43
-33
24
0
-7
-100
0
2
-23
45
-43
-16
-61
-3
-54
-15
-19
-55
-19
29
-27
-40
23
-36
-112
3
-13
-5
-48
6
50
-54
3
2
-22
-17
-33
-77
-17
6
-6
57
-11
-7
-62
24
2
11
40
28
10
-26
10
11
15
9
10
-43
45
0
-21
10
-3
-43
19
-50
8
7
-100
-41
-4
-69
83
7
-4
-40
-1
-3
122
-22
-102
-25
9
-84
-35
-98
-44
-85
-8
-14
-26
-65
53
1
-94
29
5
-68
-35
-40
-21
-7
10
-34
-53
11
38
32
-42
6
-13
2
-23
-52
-15
-18
-3
-3
103
50
-56
-34
-11
-3
-3
-25
-51
-1
-44
0
2
-87
-10
1
-73
-43
-1
-14
-62
0
-95
11
-4
5
-10
-38
-6
23
4
-13
7
-24
-32
23
10
-90
-4
-127
19
19
-18
-4
-116
-60
-12
19
16
2
22
-73
-43
-21
20
-8
11
-32
-76
16
25
17
3
-33
-2
-100
-12
11
-39
0
-15
-90
-104
-71
0
-26
10
5
-4
-86
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-54
31
1
92
-95
13
0
39
-5
0
0
-10
-22
19
30
-50
-11
-90
33
-1
-76
-23
-54
21
21
33
-3
-3
34
-21
-6
-32
-122
6
-4
-22
16
105
-8
-41
-21
-23
-29
73
66
-47
-3
36
-4
-38
-7
104
46
-12
-77
76
0
-36
27
-29
-98
30
-3
-54
1
47
1
-7
3
-2
-6
-9
-21
-2
-80
-24
4
11
-11
-2
5
0
3
9
15
-29
-86
22
49
-22
-36
-15
-39
-59
-5
-96
43
2
-22
-98
8
-62
-135
27
-62
9
16
-41
1
-19
-53
-41
-13
72
-20
-62
-57
20
47
0
14
33
63
11
-33
17
-18
-27
-80
-70
-84
12
-2
-20
21
9
10
-60
-18
-4
7
-21
4
-26
27
-11
3
-20
68
-6
24
0
0
-11
15
-17
-8
31
-29
-9
71
9
-68
47
42
-14
-33
19
24
-20
-46
-53
-98
37
-56
-17
31
10
-95
2
38
-11
0
-4
-53
-7
-36
19
4
-39
4
-49
12
-1
-35
-1
-2
-6
-5
-14
-77
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-78
5
-3
-3
0
0
11
-6
3
0
-58
0
0
7
-2
0
-9
34
-5
0
-58
-50
0
1
32
0
-5
56
-76
0
-5
-19
8
8
-1
-64
0
1
99
-1
0
0
14
0
-101
0
16
-1
0
79
0
0
1
0
1
0
2
-3
-3
0
0
7
0
6
1
0
0
0
0
-1
-38
0
0
-10
0
0
1
41
0
0
-23
0
21
-13
55
0
0
8
0
0
-2
2
0
0
-5
0
-6
1
-11
0
0
53
-9
2
0
-97
0
0
0
0
0
0
-31
0
0
-2
25
-5
0
-75
0
0
0
0
-2
0
-41
1
0
0
0
0
0
-32
0
-2
0
0
0
0
-34
0
0
0
0
-8
0
-27
0
-9
7
0
0
0
-3
0
0
4
0
0
0
15
0
3
2
0
0
0
-14
0
-1
0
0
0
0
-68
0
5
0
0
-4
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
-11
0
0
-4
-1
-72
0
25
-99
0
0
0
24
0
-62
1
-1
-2
0
0
5
11
0
0
-19
0
0
-6
-76
0
-24
46
-1
0
-84
-58
5
0
-46
0
-1
19
-61
0
0
-24
-76
0
-1
-69
0
0
-4
0
6
-14
-8
0
53
-23
-4
5
0
-24
1
0
-3
0
-15
0
12
-36
-3
0
-2
2
0
16
-1
0
0
0
0
-1
-11
-2
0
-10
0
0
-21
-8
0
0
17
0
4
53
-5
-7
0
6
-21
0
50
-7
0
3
43
0
0
-1
5
2
-2
-16
11
-3
0
-39
0
0
-3
0
-2
0
-27
0
14
-47
16
-5
0
-44
7
-9
0
0
0
0
20
-2
0
0
0
0
2
-85
0
-1
-2
0
0
-2
-13
0
0
-3
0
0
-2
57
-8
-3
17
0
0
0
16
0
0
2
-16
0
0
-3
0
-10
18
0
0
4
-5
0
0
2
-3
-43
0
-33
0
25
-1
0
9
0
14
-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
32
-61
3
0
26
-8
-38
0
76
29
0
0
-6
40
0
-1
-13
-53
5
-2
0
-90
-4
27
51
-28
4
-7
-20
4
2
-14
-45
-13
9
-34
23
13
-14
-120
-20
-50
-41
-9
0
75
43
-23
-18
-99
-10
-23
14
123
68
-48
-15
18
-8
6
-7
-22
9
45
9
1
-1
-5
98
43
1
6
14
-1
0
-14
-49
0
-3
8
27
-1
0
-4
-45
-20
-32
-53
-20
-10
-5
-116
-1
14
-91
-32
-6
0
-32
36
24
-73
-112
35
-34
-33
-20
1
24
53
81
-33
54
48
10
8
52
-12
-14
65
-6
6
49
-2
22
6
-1
-1
-6
-15
-19
-23
-23
0
-14
3
0
0
14
-65
-3
-27
30
-14
-8
0
0
-5
-66
23
-42
-117
118
-21
-50
-44
17
60
32
-69
-4
-86
20
-9
-31
16
-5
-11
-5
-4
-18
-52
-73
-83
-40
-42
-7
0
-29
33
-5
59
100
-8
0
24
-6
48
-15
-1
-58
-2
-9
-10
-7
-57
0
-53
-127
4
-2
-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
82
0
0
25
0
17
0
0
-99
0
0
0
5
0
-11
-1
1
1
0
0
-35
32
0
9
-23
0
0
18
-26
0
26
-91
35
0
-14
-79
0
0
-18
-6
0
-74
0
0
0
113
10
3
-28
10
0
0
21
1
-18
-2
-31
0
41
-7
-1
3
0
-9
0
0
0
15
-14
0
7
15
-46
0
0
3
0
-9
0
0
-2
0
0
-1
56
-11
-13
-71
0
-1
33
-49
0
0
13
0
-34
-32
-47
0
6
-52
-4
-5
45
-67
-6
6
-107
3
18
-22
3
0
0
-25
28
81
7
-34
1
0
-93
26
-21
0
-21
16
0
-19
5
-14
0
15
-8
0
0
-2
5
0
19
-5
0
0
0
0
0
-25
-1
37
-14
0
14
3
-33
0
8
14
0
0
-3
-72
0
-2
45
0
0
14
-46
-13
-19
1
8
0
0
1
0
24
37
0
3
-1
-20
0
0
-45
0
-6
0
-65
1
-45
16
0
13
0
10
-51
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
54
-11
11
-5
1
-2
-14
24
14
-13
-12
0
-29
-2
-45
-5
21
-4
0
54
-1
51
2
-22
-2
0
42
18
-76
5
0
0
0
25
-5
2
2
-27
48
-2
26
-16
-1
-45
-9
16
0
28
-3
-5
90
9
-7
-8
58
-12
78
-11
52
5
0
55
13
-22
39
19
34
0
0
11
9
10
15
35
0
47
-1
-56
-2
33
1
0
-107
-10
-63
-19
-15
38
0
2
22
-24
-24
6
-14
0
17
7
-7
-41
-10
6
-1
22
2
-2
-56
20
-79
0
24
30
-6
45
29
22
-11
11
-10
22
-58
26
-43
0
33
12
-6
-1
-11
28
-1
0
2
-30
-22
-15
14
0
-34
-15
-30
-2
53
39
0
2
-24
56
19
50
37
0
14
15
-5
71
-27
3
0
-15
27
14
-71
12
-83
0
-30
24
42
14
19
-5
0
-6
23
-2
-10
42
44
0
13
12
10
44
58
16
0
-4
-13
-30
-35
23
41
0
-2
18
1
26
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
-8
-154
0
0
0
21
0
13
14
10
0
0
0
-48
-26
0
0
-82
0
0
88
-11
0
-45
-56
-59
0
41
-27
0
0
-32
0
0
-7
14
10
0
47
-50
4
5
-2
0
0
101
-9
-5
0
25
0
-24
-18
-120
0
-9
-35
0
0
26
0
-3
0
-53
-56
-7
0
-31
0
0
-43
5
0
1
0
0
-1
-25
-1
0
-29
-2
4
24
17
35
0
-48
0
-34
39
-15
0
-2
-24
-2
1
-59
47
0
0
-39
37
-81
-3
-37
-1
-1
-9
44
-46
6
95
0
-4
-60
1
-6
0
-25
0
0
-2
0
-61
0
-79
-2
0
-1
-15
7
0
-52
-21
0
0
-3
0
0
-65
-13
-18
-6
0
0
1
32
0
-6
13
2
0
-1
-52
0
-55
49
6
0
0
12
0
-3
5
15
26
0
-4
0
-109
-10
0
0
0
47
0
0
-1
-5
2
0
6
0
-10
-2
5
0
0
-16
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
16
46
-14
4
-6
-9
-68
-41
-7
0
36
-18
18
-75
-7
4
-6
-15
-17
-1
-3
-4
22
20
1
-37
25
16
-18
-18
85
24
-15
-3
-18
-12
-54
-11
10
3
-4
-7
12
-33
129
23
-23
0
-36
16
11
-47
34
0
45
-8
4
25
-14
-1
37
-13
35
-3
10
-5
-14
-25
-28
15
-7
45
-23
-143
-14
58
-61
-72
-49
-22
55
-24
55
19
-44
-5
-32
-36
-21
-15
-27
-22
-67
52
12
-36
-14
-18
12
4
-27
56
-20
-11
-25
-19
-2
-4
104
14
-8
-3
-34
43
68
-41
0
-2
-5
-11
-32
-23
11
-9
45
3
-4
25
24
-3
-33
-45
14
22
-11
5
15
9
-5
-61
-21
-15
0
-11
34
-15
-5
31
21
4
-14
-29
14
-11
-34
-24
8
-15
-49
-26
5
-25
25
92
-96
-5
0
43
-40
-72
85
-22
-17
0
-14
-31
-13
-9
-20
0
-6
108
35
5
-5
0
-31
-71
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-6
7
5
0
0
102
-18
0
0
-108
0
0
-23
-76
0
-25
-34
-3
0
-52
4
0
0
-26
0
-7
46
-21
0
0
26
-24
0
-9
5
0
0
-10
-4
0
11
-60
0
-76
-1
19
0
0
-66
0
0
0
0
-4
0
-27
-3
0
0
0
0
0
88
0
0
-2
0
0
0
38
0
-5
-73
0
0
22
-75
0
0
87
0
0
-39
32
-7
0
-52
0
-3
5
-14
0
0
13
11
14
13
-34
0
7
17
9
-3
0
-15
0
1
0
0
-1
-1
-53
0
1
0
-1
-5
0
9
4
0
0
0
2
0
-81
0
0
1
0
0
0
-3
0
17
0
0
0
0
-100
0
0
20
0
0
0
-19
0
-5
-3
0
0
0
-79
0
0
20
-2
0
0
-17
0
-14
-19
0
0
0
-5
0
0
0
-3
0
0
-42
0
-7
0
0
0
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
0
18
20
-10
-4
0
0
28
-30
0
0
-17
0
0
-14
-19
0
-6
72
2
0
48
-72
0
0
-41
0
0
-22
-105
0
0
-2
-1
0
0
-66
0
0
-9
0
25
0
-39
0
30
4
-1
1
0
-5
0
0
0
0
-1
0
36
-14
-1
0
0
-6
0
-32
0
0
0
0
0
0
20
0
0
-32
0
0
34
27
0
0
-11
0
0
-27
-90
0
0
-17
11
0
7
8
0
0
23
0
0
0
-63
0
0
-13
2
0
0
-104
0
-4
0
0
-1
4
-2
0
0
0
0
-1
0
-85
-3
0
0
0
0
0
-33
-1
0
0
0
0
0
-33
0
8
9
0
0
0
-11
0
0
0
0
0
0
-109
2
-1
0
0
0
0
7
0
0
0
0
0
0
-39
0
17
0
0
-2
0
-48
0
0
-1
0
0
0
-43
0
-5
0
0
0
0
-45
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-112
0
0
1
-80
0
11
5
13
0
-1
0
-51
-31
0
3
-10
-3
14
34
-7
-1
27
8
-55
5
-13
25
2
-3
-82
-5
-3
90
-30
33
0
-31
-102
-13
-7
1
0
-2
-4
48
-17
5
-81
-1
-99
20
-19
2
-6
-2
0
5
23
39
-18
0
62
-190
-48
0
-53
-1
0
1
-58
0
15
0
-1
22
-9
-9
-5
-35
9
4
-82
4
-7
-6
32
5
-4
-52
26
5
-27
-69
-94
6
36
14
-4
0
18
-97
42
45
-29
-1
-6
-7
13
-33
-35
-35
0
-3
3
-9
-20
0
-32
0
-1
0
-2
-28
0
22
-14
0
0
69
-1
0
-34
-15
0
-3
2
7
43
-8
0
-20
-25
2
0
17
-52
6
-14
-61
19
0
-8
-60
-3
15
11
23
47
2
-42
0
7
64
-1
5
-22
-10
0
-38
-3
-57
-9
27
-5
0
-1
3
-23
89
-1
-43
9
-62
9
96
2
0
17
-78
0
-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
14
-37
0
-1
31
4
2
6
-27
-48
-46
0
0
68
-14
-1
0
-30
0
-13
-5
-12
53
-8
12
-1
-7
9
-9
-4
7
-9
0
-80
10
11
7
-5
17
-9
-7
-24
-8
0
1
21
23
28
5
-12
0
-64
13
-8
84
-43
3
1
1
-1
0
50
0
8
-137
9
-3
22
-2
0
-12
-54
0
18
0
4
-90
-4
5
1
19
-2
2
-24
-4
22
23
-9
0
49
-33
-6
-3
-18
7
-7
-1
-1
2
-4
-68
11
35
14
-5
-41
32
-10
25
45
17
32
-1
0
-17
19
-5
-6
61
-7
-19
-10
-25
-1
-45
0
23
-31
0
46
0
-38
-1
-28
10
16
11
0
0
-33
-68
0
28
-2
0
-33
43
-17
-2
29
32
0
-41
62
9
-5
32
0
-2
45
15
-21
0
2
14
-23
78
-13
35
2
-50
-61
0
33
-63
23
3
-14
18
21
-70
34
-10
0
14
19
0
-56
0
28
29
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
14
-23
-99
-13
-24
-8
5
-39
3
-22
-15
-37
19
0
-5
-2
-68
-47
-17
24
0
6
31
3
17
-3
-10
-2
10
-4
-39
-53
-19
21
-3
25
7
-56
-57
-6
-10
0
68
2
29
40
11
30
-11
7
3
37
-4
11
6
0
-47
2
42
-14
-63
17
-9
-5
0
-57
-19
-83
-26
0
-52
-2
-25
8
6
-11
-3
-16
0
-26
-13
10
2
0
23
15
-134
14
-6
-7
-4
17
9
-1
-72
1
-23
-5
30
8
-55
32
6
7
14
79
11
42
90
52
21
29
52
5
-143
15
34
28
-3
1
-1
46
-6
2
-10
-1
14
-10
-5
29
38
12
0
-20
-23
2
43
50
-47
0
4
-10
-43
-22
-5
33
0
3
-2
-48
9
40
2
-3
-13
4
-10
-34
-3
-14
-3
56
8
-195
-12
48
18
-4
80
21
98
-3
68
59
1
56
11
-2
-63
45
14
5
-36
-4
81
-25
43
-24
-2
33
17
27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-1
0
0
0
-2
5
0
0
-32
0
0
-4
9
0
-25
-15
-1
0
1
-22
0
0
-41
0
0
0
-9
0
0
8
0
0
0
-21
0
0
-21
0
3
0
-65
0
-48
0
0
-2
0
14
0
0
0
0
0
0
2
0
43
0
-1
-2
0
-128
26
0
0
0
0
0
21
-6
0
-20
-1
0
0
-118
0
0
3
0
0
-1
-25
0
0
76
1
0
0
91
0
0
-7
0
0
0
-32
0
0
0
0
0
0
14
0
0
10
0
-3
0
-54
0
0
0
0
0
0
-29
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
-57
18
-5
16
0
0
0
24
0
0
0
8
0
0
5
0
-3
-4
0
0
0
-5
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
-18
-11
-9
0
22
19
16
-2
-8
0
0
-101
-49
0
9
-61
-31
0
-23
15
0
-5
-73
0
7
-79
10
-1
14
-12
44
21
-9
-55
-25
6
-62
0
45
-33
46
0
-55
-23
2
16
4
-43
0
-1
69
-3
48
0
0
49
-26
0
100
2
0
26
-46
1
-1
0
0
14
-54
-9
26
-108
82
0
15
47
-10
-2
-69
0
0
-11
-38
0
-2
-41
36
-7
14
64
-5
-1
-18
-11
-5
5
5
0
-4
-4
-6
-43
114
62
0
0
17
0
-86
-17
-108
1
-6
-30
9
-45
0
0
7
0
0
19
-3
0
-15
-81
-2
0
0
0
0
28
0
-34
18
0
0
-9
-100
0
2
0
27
0
0
0
0
17
26
0
0
41
-27
7
7
-6
3
-4
0
-14
0
-24
19
4
0
8
44
0
16
-26
25
-2
0
-68
0
-60
0
0
5
0
0
45
-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
45
-19
-41
-78
-46
-24
9
-33
6
-23
-29
-18
-1
-29
-28
18
7
-3
-1
4
12
-17
-6
-15
-67
-5
23
40
-14
-15
43
-18
-47
5
-61
-17
6
118
-30
10
-33
29
-47
-16
34
6
11
15
-5
-116
16
8
0
-39
-61
-11
-4
17
53
-55
-34
-37
-51
-72
14
-11
-1
60
8
-52
-23
-3
-82
-8
-27
0
-15
-3
3
90
54
-16
-42
72
-45
-18
61
7
-43
7
-36
-49
-1
-7
-2
6
98
-21
-20
4
-24
93
15
-6
-48
-52
14
3
-42
5
-31
-38
-27
26
10
-45
-57
-2
-9
-9
13
2
-66
34
-97
-74
71
1
-42
-26
1
47
-31
-43
14
-62
-33
-23
7
-72
-105
-12
-30
-104
-10
-6
23
-14
0
3
-24
-37
-25
-57
8
-44
103
-41
-30
3
-44
23
-32
27
-56
-46
-15
-64
-29
-18
13
112
14
1
24
-34
20
5
18
79
-46
-8
-18
-10
-1
-64
8
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-69
0
0
-6
0
0
-26
-52
0
-33
-15
-3
0
-31
-31
0
0
-5
0
0
-1
-21
0
0
8
0
0
0
-10
0
0
-1
0
0
0
-19
0
10
0
0
0
0
-22
0
0
0
0
0
0
-71
-5
0
0
0
0
0
-71
0
0
0
0
0
0
-4
0
0
-14
0
0
-5
-64
0
0
-14
0
0
10
-73
0
0
-17
0
0
4
1
0
0
-14
0
0
2
-5
0
0
-11
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
3
0
0
-68
0
0
0
0
0
0
19
0
0
0
0
0
0
14
0
0
0
0
0
0
-29
0
0
0
0
0
0
-25
0
0
0
0
0
0
-27
0
0
0
0
0
0
-18
0
0
2
0
0
0
-9
0
0
0
0
0
0
-46
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
-20
0
0
0
0
0
-5
-60
0
0
31
0
0
1
15
0
72
107
0
0
-38
5
0
0
-30
0
0
2
-29
0
0
39
-2
0
-3
-32
0
0
0
0
0
0
-36
0
-50
-1
-16
0
0
10
0
0
0
0
0
0
51
-15
-2
0
-1
0
0
48
-1
0
4
0
0
0
-26
-4
0
-26
0
0
-16
-85
0
0
5
0
0
-18
-63
-3
0
-31
0
0
20
47
0
0
-43
0
-1
0
-37
0
0
-3
60
10
0
-26
0
0
0
0
0
0
-76
0
0
0
0
-1
0
-87
0
-2
0
0
0
0
19
0
0
0
0
0
0
11
0
0
0
0
0
0
-34
0
0
0
0
0
-14
81
0
0
0
0
0
-1
-26
-1
0
0
-3
0
1
-50
0
6
0
0
0
0
-11
0
0
0
0
0
0
-83
0
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-90
-18
13
0
0
21
61
0
0
42
0
0
33
-36
0
16
-45
-1
0
-3
-42
0
-4
-70
-1
1
-62
-90
0
20
-59
1
2
-149
-63
0
0
-67
0
32
14
-50
0
29
32
72
46
-1
-126
0
0
3
0
53
0
-14
-5
14
0
0
5
0
5
9
0
0
0
0
-5
43
-2
10
-16
-1
20
-76
-24
0
0
-46
0
2
-27
-70
-8
-4
-15
-1
8
13
-80
0
0
-59
0
25
27
61
0
0
3
-10
4
1
-85
0
0
-46
0
50
0
-14
2
-1
53
-1
-17
0
-12
0
0
0
0
0
0
-9
-71
0
0
0
0
-18
58
0
-2
-1
0
0
41
-16
0
11
-11
11
-6
3
-97
0
-2
-39
0
2
-5
-22
0
-24
-84
4
-25
14
-28
0
6
46
0
0
0
24
0
-5
80
1
5
0
53
0
74
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
10
7
7
1
-18
-9
0
42
23
-35
46
5
2
0
13
-5
-15
26
-4
29
-1
-3
1
1
17
-10
-43
0
-15
-45
-25
59
-8
6
-2
37
-12
15
-22
-26
63
0
18
-14
14
-10
1
-13
0
121
-15
-50
7
-5
43
0
0
14
41
-57
-14
-3
0
7
3
-10
15
-6
-1
0
57
15
-53
-59
18
54
0
40
2
67
-23
-6
3
0
39
-13
-40
-20
23
35
2
5
-4
118
-162
-13
22
0
66
-30
24
-19
2
32
-7
-26
-17
8
-89
62
-23
-2
-14
6
24
79
-5
29
-2
1
6
51
-40
-30
28
0
2
-26
-31
31
-70
-11
0
1
-5
2
-3
23
13
5
34
1
-3
-38
3
33
-9
24
6
-24
-21
35
12
0
12
-7
-73
-32
9
-23
-2
-14
9
-25
-12
53
-4
0
-23
-25
-21
-26
29
0
0
59
9
-34
41
135
68
0
-3
-21
100
7
-85
-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
-7
-120
0
0
-95
0
0
-33
-19
1
-28
-12
10
0
17
-12
0
4
12
0
1
3
5
0
0
32
-4
-8
-1
3
0
0
-7
0
0
0
-7
0
28
-2
9
1
0
-69
0
0
0
0
11
0
-43
-31
79
0
0
0
0
22
156
0
1
0
0
-1
-32
-1
0
25
-1
0
26
-29
0
0
-23
0
0
-25
-65
1
0
108
-4
4
14
-110
1
0
74
0
11
1
-13
0
0
15
2
1
0
24
0
0
0
0
1
0
29
0
18
-3
9
-5
0
-60
0
0
0
0
0
0
82
-25
0
0
3
0
-1
59
-1
9
-1
0
0
2
-62
0
0
5
0
0
-1
-38
-1
-9
5
0
0
-5
-91
0
0
46
2
0
5
-28
10
-5
-2
0
0
0
-58
0
4
3
24
0
0
40
0
10
0
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
2
26
15
-152
48
-29
-63
17
12
12
15
19
14
-4
31
5
27
-22
51
-17
-8
5
-9
-17
13
11
-18
4
-15
-6
11
18
-8
46
21
-4
-1
13
8
0
1
25
-55
-9
-28
-37
-36
-15
4
27
1
-3
18
-97
35
20
40
0
-66
-81
-98
44
-98
-61
-37
4
-94
-35
2
-31
-28
1
-65
-50
-9
-10
19
-5
1
-24
7
25
1
-16
14
-8
-3
5
21
-56
29
7
-13
33
42
14
9
37
-23
-15
-13
45
10
61
11
-33
-14
-56
6
-13
22
-11
22
-20
-15
31
-40
24
-17
48
0
6
-43
-86
-42
-134
-81
-46
-10
-111
-43
-20
-31
-70
3
20
10
3
-4
-25
-17
5
-14
24
25
-14
61
32
0
23
2
25
-11
28
12
-10
51
15
22
10
-20
8
-12
66
-6
32
26
-2
-36
-7
-19
0
2
-31
13
-40
-4
-37
1
-43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-5
3
-5
4
-24
40
61
13
17
1
-60
7
-29
-9
11
7
-2
-119
0
15
1
-16
-30
-8
-81
-56
-7
-5
14
-11
58
-8
-32
-60
20
35
-71
-38
7
-15
-12
34
5
-24
6
-5
2
11
-72
68
0
-5
-24
65
-78
-157
22
-13
-1
10
-100
58
-53
-7
108
-40
3
1
5
-104
33
4
-1
-59
94
25
-16
20
-4
117
-143
-54
-18
16
-30
-65
24
-23
-52
-15
11
-1
-34
10
-49
-62
4
18
-30
-26
93
-28
-62
-15
-9
99
-44
-31
-50
0
-23
-71
-36
-13
53
95
8
13
-82
154
44
16
-2
-119
21
-2
-13
28
-14
1
-34
-29
17
45
35
-5
9
-119
-2
-43
-39
17
24
-5
-109
-50
14
140
-46
59
-71
8
-8
9
-30
2
0
10
-1
-15
6
-34
-66
13
2
-14
-11
3
5
-5
21
-69
-1
-2
-80
26
60
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-10
37
-104
4
0
-50
68
11
9
-13
31
95
1
5
20
18
-30
-65
21
21
-32
32
-14
-58
-34
-10
-98
-3
-2
-3
-23
-4
33
-4
-23
-16
-44
-11
13
0
-63
34
-35
-2
-47
-3
6
0
14
21
14
0
-1
-34
26
-57
70
-9
-28
38
45
42
34
-75
-3
-8
-9
10
-11
72
68
14
4
-44
118
-22
23
29
-81
11
46
14
-53
7
-33
80
-53
-84
13
-78
-23
45
-24
22
-4
49
-23
19
2
-31
-52
-41
-60
8
-38
0
53
-79
-98
-54
-1
-10
-42
8
0
-29
36
-1
32
-3
-50
47
-29
0
19
-36
-90
95
-41
-13
17
-14
56
13
-2
51
-36
89
1
59
-6
67
1
0
-33
99
-21
22
32
-43
-58
-45
-85
-14
18
-22
-21
68
-20
-46
-36
-2
-45
-7
-74
66
0
31
-2
-79
-48
-2
-89
0
16
-1
-43
-14
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
-77
-36
-5
5
-29
0
0
-50
-45
-26
-24
-116
12
-14
29
80
1
-3
-1
23
-15
105
10
-1
35
25
-68
25
-9
-51
-4
-2
-31
4
22
-9
-23
-1
-7
-53
-35
-16
-1
-87
6
-18
-26
-7
60
0
34
-52
75
0
-6
5
0
-9
149
5
14
0
0
0
-51
-58
-14
-3
-14
0
-42
6
-4
45
-44
6
20
-3
58
3
-10
6
42
26
-32
18
2
127
27
-6
13
4
-33
-10
-56
-34
4
19
4
40
-1
121
9
-1
-9
7
-31
31
8
58
17
-61
0
9
26
-10
0
-11
-13
0
41
-63
47
-1
4
0
24
-45
11
-74
-13
0
18
-107
-34
-3
-19
33
5
-3
-24
12
-9
-61
-21
20
0
-2
23
0
62
81
4
0
-41
50
-17
69
72
2
28
-32
33
52
-14
12
-60
15
-1
13
-7
-47
7
0
-30
0
-11
-4
-52
-19
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
46
-35
0
0
23
0
0
-60
-142
-15
23
-121
-2
1
-25
-58
0
0
25
0
0
-55
-73
0
3
-27
-1
0
-51
-32
0
0
-116
0
13
-1
42
0
-45
-15
-2
0
-2
-13
0
0
13
0
51
0
44
-11
19
0
-1
0
0
-82
-9
0
3
0
0
-17
30
0
0
-5
0
0
26
-33
0
0
-65
0
0
13
-91
0
0
19
-1
-2
-41
-117
-1
0
0
0
-2
-4
-26
0
0
-18
21
-3
-1
29
0
0
5
0
64
0
-6
0
0
10
0
6
0
23
0
0
0
0
5
0
-85
51
0
0
0
0
0
49
0
-6
-35
0
0
4
-11
0
0
-2
0
0
0
-110
0
-34
-23
1
0
4
20
0
-4
-17
0
0
29
-16
0
-18
16
0
1
0
-10
0
0
-17
0
-3
0
-10
0
107
5
0
-4
0
62
-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
11
-117
0
1
17
0
0
6
3
0
61
-49
0
0
-27
-23
0
0
-45
0
0
2
16
0
0
-23
0
0
-2
-124
0
0
-2
0
0
0
2
0
-6
0
0
0
0
-23
0
0
0
0
0
0
-36
9
25
0
0
0
0
-157
-16
0
-1
0
0
0
101
0
0
5
0
0
-8
-6
0
0
-95
0
0
-24
-107
0
0
-26
0
0
-16
-53
0
0
39
0
0
0
-55
0
0
0
0
0
0
-29
0
0
-2
0
0
0
33
0
0
0
0
0
0
-36
0
0
0
0
0
0
-54
6
0
0
0
0
0
-1
0
-26
0
0
0
0
19
0
0
10
0
0
1
43
0
1
8
0
0
0
71
0
-14
0
5
0
1
25
0
2
6
0
0
0
9
0
0
0
0
0
0
-80
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
2
23
-20
52
5
-27
-53
-13
3
-4
14
-34
-21
74
-11
-6
-19
-42
-39
-40
-100
-5
-7
27
-55
-28
39
21
-53
-8
-49
19
-53
24
-45
-31
-13
140
-51
128
-32
4
0
25
-4
46
9
40
21
17
19
65
-37
95
-2
9
-11
17
-33
-69
33
-36
53
42
35
-17
5
-25
45
96
-48
-25
-42
60
-20
-60
-69
-77
-2
40
-81
-2
71
-46
42
4
-107
-29
-32
-1
17
-14
0
-33
-25
-13
70
-60
52
0
8
-23
68
-41
-6
1
10
-90
20
46
7
-45
18
15
17
-36
39
-9
-1
32
26
-53
-53
-49
36
13
-58
-25
34
3
1
46
48
-15
-10
111
-54
-41
37
14
-71
-28
78
-42
9
-91
42
-31
17
39
49
-86
27
61
-33
-12
-14
51
-15
13
78
16
-11
26
-44
-118
-7
-54
-7
-10
-6
65
33
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
-4
14
11
-8
3
23
2
17
-27
2
64
13
1
5
98
-33
2
-3
14
-8
-7
23
1
9
19
-1
-22
-21
61
1
-4
-10
-5
-4
-19
16
125
16
-4
15
21
-2
7
45
83
-3
52
-55
28
11
-158
-8
-88
-6
-46
0
-8
-55
-5
-6
-22
-63
19
-86
-15
-56
8
-2
-2
9
-17
11
6
-11
-14
-6
-3
3
-20
9
-46
41
3
-8
53
-1
14
0
-23
-33
-1
-4
42
9
15
-18
-11
-6
95
23
0
34
0
-43
-17
-21
57
39
35
23
80
-7
7
-22
0
-28
69
-42
0
54
12
-4
-57
20
-80
-36
-116
1
-47
9
25
-35
-10
36
-19
-30
34
-41
0
-19
6
29
0
-10
6
-6
-1
-7
20
30
-28
-17
-12
-16
105
1
35
17
30
0
1
-3
29
12
7
8
54
-2
18
-5
-12
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
44
66
13
105
-12
-42
-14
35
44
0
15
27
0
11
79
-29
0
-10
-68
25
-4
-65
-8
0
-14
-28
0
-4
97
0
0
-14
-27
44
0
-9
-22
0
0
3
-3
-9
0
28
-59
98
0
-6
0
0
60
26
11
-37
0
0
-5
-33
4
48
-5
6
0
55
52
0
52
-76
-2
0
2
40
-1
-29
59
44
-3
44
6
0
-1
-65
27
37
-8
-9
5
0
41
-40
3
2
-3
0
13
14
7
4
0
-26
0
0
2
1
-17
0
13
-5
0
0
0
-5
-1
61
-89
11
6
-4
0
19
15
7
-11
18
0
0
50
23
0
-80
-12
4
0
14
-10
0
76
43
0
0
118
-77
0
-52
-16
16
17
-8
5
-6
-23
-4
4
0
0
18
0
0
13
0
-2
0
-21
0
-72
-4
-1
-2
0
-117
41
0
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
72
47
0
29
90
128
4
1
33
-26
4
12
2
11
-114
56
6
0
18
34
-7
70
6
20
0
-147
-1
-20
-11
-35
0
30
-25
-16
-13
0
-31
-1
0
-4
0
-32
0
10
-21
-14
0
-16
27
13
-29
-8
0
-12
4
0
63
20
2
1
45
8
0
-100
-30
-4
10
-10
3
0
23
76
11
-25
-75
-53
0
-35
35
-4
0
-54
6
27
55
-15
0
0
-6
-21
17
0
-19
0
0
26
0
-1
0
-12
0
0
-6
-46
32
0
9
0
0
0
0
6
0
-32
-41
0
19
0
0
1
123
-11
-28
-20
0
6
-3
2
0
68
36
0
-1
68
54
-1
6
-73
0
-2
-1
-35
0
-25
-10
59
24
61
5
0
49
-22
1
4
0
-25
0
-2
103
-14
0
0
-50
0
-2
-3
0
8
0
-50
14
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
1
19
37
-14
51
22
5
28
36
11
27
-34
3
-12
3
-108
29
-21
1
-7
-6
19
-26
10
24
17
-67
-13
-75
-3
-12
8
23
-149
6
-46
25
60
99
21
-26
4
-35
12
-44
33
-1
14
33
48
8
-53
-30
3
31
19
15
-19
79
11
-17
20
34
52
78
-7
-8
-1
-1
7
-42
-19
2
-8
53
21
5
92
-1
27
0
15
14
12
-13
-84
42
20
3
-30
4
10
-71
27
54
23
-137
-7
17
-32
24
3
-11
-36
4
-76
-39
-9
-50
-8
-42
30
-17
45
95
-15
23
73
31
-126
-19
-23
-1
7
38
39
39
-21
18
43
37
19
10
-56
-32
-13
-86
-65
5
11
87
27
-1
-29
-59
-26
-6
-33
-5
9
38
-3
21
-7
-98
-17
-3
-4
-3
-39
-3
-57
13
-12
80
28
-26
-7
-35
-27
-78
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
-43
59
-8
-2
-35
3
0
-93
-45
0
0
-18
0
0
-52
2
0
0
20
0
0
18
-21
0
0
25
0
-1
0
-57
0
-91
-13
-13
0
0
-129
0
0
0
0
-1
0
53
-1
0
0
0
0
0
14
-2
0
-3
0
0
-9
-18
0
0
17
2
0
62
-8
0
0
3
0
0
10
-6
3
0
-6
-1
0
-18
-64
0
0
27
0
3
19
-29
0
0
135
-8
-2
3
-47
0
0
-3
0
1
0
-70
0
0
0
0
-17
0
-23
0
0
0
0
0
0
14
-3
0
-6
0
0
0
59
0
13
0
0
0
1
-30
0
0
71
14
0
-43
6
0
11
-3
0
2
-9
18
0
-7
3
0
0
0
-54
0
-14
5
0
0
0
-14
0
0
14
0
0
0
-52
0
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
73
67
-4
0
5
-7
0
0
-45
0
0
-18
-36
0
0
34
-3
0
-1
-13
0
0
-1
0
0
0
17
0
-26
0
-15
0
4
-26
0
0
0
0
0
0
81
5
0
0
-21
0
0
-47
4
0
0
0
0
10
111
0
0
-33
2
0
-61
74
0
4
-2
0
0
58
-69
0
0
47
60
0
5
71
0
0
22
0
0
0
80
0
0
-22
-2
0
0
-24
0
0
63
0
0
0
44
0
0
0
-1
0
0
-25
0
0
0
0
0
0
33
1
0
0
0
0
0
20
0
-57
6
0
0
2
23
0
-6
15
0
0
21
77
0
22
-5
0
0
0
-145
0
0
4
-4
0
0
5
0
-11
-6
0
0
0
-23
0
0
-14
2
0
0
38
0
-32
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
57
-14
-63
78
-23
2
10
6
-60
-37
49
-30
1
-44
-89
-9
19
-42
-45
-6
21
8
-55
-10
-77
-5
-27
37
124
-4
-37
29
-1
2
-14
-30
-53
-10
-13
-60
8
-38
23
-6
-43
-58
68
-13
-88
-7
-66
-75
-85
-44
21
47
3
38
33
35
64
5
-25
-17
28
3
22
-14
-11
-4
23
4
-41
43
1
-25
-61
55
-22
-9
4
-1
-20
17
-42
-2
-92
49
-29
-3
32
16
-32
-33
35
-3
15
-109
31
-78
-63
-55
-14
-19
-8
42
-53
90
2
9
-8
-63
21
42
59
55
96
-8
75
91
-11
-24
17
-73
10
-29
46
23
-71
8
34
-12
-53
11
-30
-16
15
20
-24
19
11
9
23
44
-14
0
62
-54
11
0
-23
-26
6
6
24
29
100
39
41
31
38
-25
-61
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
0
0
0
0
0
0
0
0
0
0
0
0
-70
-16
-56
-78
-65
-68
6
-16
-21
-14
81
-22
-4
41
20
-11
25
5
20
48
-12
-2
20
-72
-6
28
-14
5
-86
-16
40
17
43
68
13
-43
-19
2
-25
-35
12
-47
136
30
-34
-47
17
-78
-24
-54
-19
-5
-4
-27
-109
-8
-57
0
-26
-62
-15
-13
-40
-67
-29
-25
51
-71
54
21
-4
-22
-6
-39
8
14
-4
2
-22
9
43
25
-18
8
28
-23
-42
-110
53
6
8
-98
-16
53
-98
27
49
28
-56
0
-8
-16
-58
33
53
-11
47
48
-15
34
-254
-47
-130
-62
14
84
19
-18
-62
44
0
-14
-60
-67
-22
-3
-60
-51
-34
33
-8
40
41
-4
4
-2
10
-13
-19
-23
-13
-5
-18
44
31
41
25
17
-7
-10
28
23
22
58
35
7
-18
0
22
46
21
-71
7
-7
-90
-4
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
-5
-78
-2
-2
46
0
-21
-11
11
2
52
-6
-53
-4
21
-49
2
0
-71
0
14
-8
-48
0
-6
-2
-26
-2
2
62
0
0
4
0
-8
-2
-46
23
5
-6
0
-3
-4
49
-52
31
-2
0
0
19
-52
-1
51
0
4
0
-2
-77
0
9
24
0
0
-48
-105
7
-36
-26
14
16
5
16
-1
7
32
-3
-5
-27
33
0
4
-1
-47
21
15
40
0
0
7
1
27
0
5
0
0
-27
3
25
0
-23
-1
0
0
0
13
0
63
-37
-5
102
-4
4
4
8
0
-33
-31
-2
8
33
-7
0
-11
-9
-7
0
8
-52
1
26
0
-19
-1
-16
29
0
49
-21
-4
-1
1
-16
-6
66
-7
-5
3
0
-86
0
-10
54
1
9
0
22
0
10
-10
-4
-8
0
25
-15
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
42
-5
-27
4
-43
-7
23
-37
-18
30
-16
-4
2
-62
-11
4
81
-12
-24
-25
-20
4
-21
-12
-17
55
11
-35
-8
-8
11
-44
-14
6
-16
27
-34
-22
-32
-51
9
-25
-22
-19
47
61
8
-15
-75
43
-7
-23
91
-30
26
-101
-63
29
19
-23
-15
-13
-32
-41
-26
-4
57
-36
-17
-40
-48
-10
-21
14
-48
-1
-31
-35
24
21
-8
-15
8
-21
-124
14
19
30
-26
-12
-69
-5
59
6
26
-41
20
30
-26
-23
-45
6
-119
21
63
5
21
-9
-9
-151
3
-21
-87
-5
-19
-52
21
16
-68
12
-10
-21
32
-43
-5
38
-25
-34
12
-6
-79
-11
-22
52
-12
-10
50
-26
-5
-41
-1
-27
38
61
42
-2
-40
-33
-31
-46
-29
-55
9
-48
7
32
-77
-20
-36
25
-14
-45
-24
4
-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
6
9
-69
-14
17
5
-35
-18
-26
15
-4
-7
-12
16
-6
-10
147
-40
4
-45
23
39
-37
-56
-9
-6
-16
22
-21
-28
-25
-61
-35
-27
-14
-70
-14
-17
24
2
22
-14
-19
17
7
-2
66
14
66
-55
-12
-6
-3
42
-87
-5
32
11
26
25
40
48
27
42
11
19
-55
5
43
31
1
-11
-62
12
22
25
27
6
-8
6
-14
20
-5
-9
33
8
12
33
59
0
35
-72
-7
5
23
11
6
-15
32
11
-27
-2
4
-63
-14
-3
16
26
-53
-112
51
-31
-58
8
-75
32
6
26
23
39
11
-8
10
1
16
-23
-28
-12
0
76
-18
-63
-18
-4
-5
1
10
-11
-5
-21
20
6
94
-4
16
50
32
62
-9
28
-21
-7
28
14
84
-2
10
4
16
-8
-1
122
12
18
56
-32
-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
-3
-2
48
-50
-17
-13
69
-51
-7
19
74
-14
-25
-19
-8
-18
3
48
-7
8
33
-12
-13
-1
7
-35
-6
-72
2
2
-41
-8
60
-3
-40
-1
-5
-21
-4
-1
-4
-73
-17
7
-19
14
-9
0
-14
8
9
24
-50
-69
25
6
23
3
-19
118
12
-6
17
30
-21
-33
-11
0
2
-45
29
-9
27
17
29
-37
-13
17
-28
48
-32
5
-64
-63
38
-30
19
4
-6
-5
-16
14
21
-6
3
36
44
0
-3
24
-8
-15
-36
46
-70
-8
-9
-20
-14
-136
0
-1
-74
-8
-9
-6
40
-6
51
3
-17
-53
12
-40
-24
-17
-35
12
-3
-55
74
5
-66
39
-48
5
62
-12
-30
54
-48
24
11
-2
4
-3
26
-9
5
13
-74
-7
41
-35
-49
-22
-4
1
-45
-1
14
-3
22
15
-16
-9
20
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
-47
-40
0
0
16
7
0
-23
41
0
0
-106
-34
0
34
-70
0
0
-26
0
0
-7
-66
2
-85
-6
1
0
0
-8
0
0
2
0
0
0
32
43
-11
0
-5
0
0
-12
4
0
0
-2
0
-32
31
3
0
-24
-1
0
-52
5
-1
-5
23
0
0
54
-47
0
-8
-7
52
0
89
-7
0
0
40
-6
0
102
-40
13
3
33
-17
0
0
-6
0
13
1
0
0
0
-14
0
0
-1
20
0
0
-22
0
2
0
0
0
0
-18
60
-2
2
0
0
6
-14
-2
10
70
0
0
39
-23
0
-14
-27
8
0
0
-19
-6
25
-64
-13
0
-39
-25
0
-8
-40
-11
0
-4
29
0
-101
7
-1
0
0
-54
0
0
2
-4
0
0
42
0
-15
0
0
0
0
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
51
9
-1
-10
-82
7
-19
-1
2
-44
-28
-28
3
-6
-2
2
2
1
-6
-4
-51
-16
-47
13
-20
8
9
-7
-25
-39
39
-50
4
31
-2
-27
66
-21
-7
-26
30
-30
16
31
16
73
-4
6
8
-25
24
-48
40
34
-4
-31
-11
26
19
64
-56
4
22
7
4
17
45
-20
4
49
0
0
10
37
-16
9
-81
7
34
10
36
46
6
41
19
-12
2
6
-74
16
-20
44
14
-47
20
40
11
12
5
82
58
30
-52
22
2
0
9
37
13
-55
2
82
-11
20
30
-25
4
5
-85
16
-23
11
-31
-36
1
77
20
24
-3
2
43
7
-29
-6
-22
8
-28
43
3
18
30
38
13
65
-38
2
4
-17
-6
-20
-1
9
16
8
-36
60
-22
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
-20
14
-112
-9
-21
24
17
-7
-5
-61
-13
15
-22
-26
5
-21
79
2
9
-11
12
-52
-21
-49
-4
-19
20
18
-27
-6
17
-66
-39
5
-46
60
-6
7
-14
15
-29
25
29
20
50
-66
39
-9
5
6
1
23
14
12
2
-11
20
0
25
15
24
20
36
-37
4
-29
-18
-14
-13
3
-3
3
19
-52
-10
-21
-16
29
0
-52
27
23
42
7
-30
1
-16
-99
25
12
17
-14
-1
56
-30
-53
16
13
-35
-1
16
27
27
-25
15
-26
5
-97
-6
-1
-109
-5
0
-2
25
27
-6
5
62
59
0
26
-6
-9
-8
-66
-73
-4
-13
-10
-37
-15
5
-16
1
36
-21
-34
44
-22
-18
12
-115
-44
35
9
-8
-9
6
6
-6
68
31
-12
16
34
17
15
-8
-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
-24
-53
-3
0
-6
-5
-9
-19
42
0
0
6
0
0
0
32
0
-13
3
7
-6
-5
28
0
0
0
0
-5
0
-49
25
-4
0
0
8
0
43
32
0
3
0
0
0
25
39
93
33
-5
0
23
-42
0
-11
-34
0
0
55
-119
-3
-5
-114
7
21
-43
34
-2
-1
20
-13
0
1
58
0
0
-4
-4
-4
0
56
2
2
-2
0
8
0
-12
0
0
0
5
6
0
-51
0
0
0
0
0
0
-35
-5
2
0
0
0
7
48
-1
-30
37
0
0
-32
-38
0
-41
-13
0
0
-2
-91
0
122
53
-2
-3
-13
14
-1
-11
0
2
0
0
-12
0
-44
2
0
0
0
22
0
6
-21
31
0
0
14
0
53
-1
-7
0
0
-60
-21
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
23
0
0
48
20
2
-91
11
0
11
-65
10
31
-23
48
0
-76
19
49
-5
0
26
0
0
9
0
47
0
-44
62
24
0
2
5
0
43
-3
0
-10
13
-1
-18
3
-31
15
-80
8
0
-32
-179
3
-1
21
0
3
61
79
0
48
-261
-6
3
-54
-8
0
-24
-43
-11
-19
-4
-9
16
-1
13
14
-21
2
10
0
-1
7
-3
-16
0
50
0
0
32
1
-4
0
64
2
0
0
-11
19
0
-36
-54
0
11
0
0
16
-115
53
-7
-1
0
0
20
22
-1
38
8
43
25
7
-35
0
-8
7
5
0
0
17
2
-17
10
-15
4
1
-11
0
-43
-8
14
0
4
49
0
0
-62
-22
4
0
34
0
35
-2
-5
21
-2
-109
-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
-5
-7
43
-6
19
9
-28
-3
-4
-19
-57
-4
-15
63
-2
-20
-5
-8
-1
-13
-6
-23
-2
90
91
-45
0
-6
-18
24
-6
-51
9
28
-86
22
53
11
5
15
-97
42
31
18
46
66
20
-31
-57
32
-14
-156
20
67
-86
2
43
-1
-13
-36
36
3
42
57
3
3
15
-4
-25
22
15
11
-30
26
25
-2
11
32
7
19
-96
16
15
13
-69
-7
44
38
53
-26
-2
13
33
15
-55
62
34
-54
-94
35
-3
-21
-38
2
26
34
1
109
50
-31
-2
-9
26
15
-8
-61
45
-20
33
26
17
-91
16
-11
-3
-17
-15
7
-71
4
1
-7
19
-10
7
-54
7
13
-62
-28
-23
6
16
-32
28
-17
54
41
-2
-47
-13
-35
37
8
-48
32
32
102
-75
40
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
44
5
4
11
5
22
9
-9
-31
0
0
-43
0
-2
-30
-77
0
-26
27
74
-2
3
-32
0
-1
-7
0
0
0
-41
33
-54
0
0
0
0
-39
-25
0
-2
0
0
-54
9
-25
-1
-7
0
0
13
11
0
-5
14
0
0
89
-26
0
-1
36
27
-5
64
-25
0
0
-110
0
48
-16
7
0
46
-49
9
93
23
-53
0
3
-18
0
45
1
29
0
0
-2
-2
84
0
-3
-2
0
0
0
3
0
-24
-49
0
-1
0
0
0
23
-4
49
-34
0
3
-2
-22
0
-5
68
0
0
8
-45
0
25
-11
0
0
7
-21
-1
8
-51
-8
2
45
-50
0
-24
-80
0
-1
19
-3
0
0
10
14
3
0
12
0
46
14
0
-10
0
-6
-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
39
33
14
0
45
-77
0
9
-57
0
0
20
0
0
23
55
-3
35
-86
5
0
-3
19
-1
0
4
3
0
-10
25
30
47
1
100
0
0
-12
19
0
-1
0
0
-23
14
1
91
33
-50
3
25
23
0
7
-26
0
0
22
-27
8
49
-55
36
-2
10
68
2
18
42
8
0
21
-46
13
14
57
-83
0
-14
-23
0
24
-16
0
0
-1
17
0
4
-2
-56
0
0
2
47
14
0
25
0
0
-33
-12
8
-3
-1
0
-11
-13
-18
-7
-35
24
0
19
-2
1
66
12
23
0
32
-12
0
22
-24
-13
0
-28
59
-10
-109
-21
-26
0
6
-39
0
11
80
-3
0
-35
-41
0
-5
-34
-67
0
-4
-27
0
15
-27
0
0
0
-6
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
90
-57
-6
-16
33
15
-5
-11
3
-2
-19
34
14
-3
-16
-20
38
-19
-3
-2
21
-26
-2
-11
-26
22
9
0
0
10
18
-8
-11
-28
-1
4
34
8
24
-13
-130
9
19
40
-7
16
51
-36
-21
-22
14
24
-54
24
-47
-10
62
6
-28
-17
-114
44
21
-62
17
13
19
23
-45
-23
-34
-28
8
20
-32
22
-3
33
-8
-29
-63
21
0
10
-68
-1
-41
-13
-4
-2
-8
-71
-4
96
-19
8
24
-1
62
-18
-54
2
-23
6
23
-9
20
7
-28
22
24
4
-30
8
-29
-15
44
-34
10
-21
-95
-22
24
-32
8
-31
25
3
-17
-29
-144
-24
-16
-1
-41
-28
-15
20
5
1
11
15
9
-34
-56
-14
0
-2
-22
-69
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
-23
10
-17
-33
2
-6
5
-14
19
-5
-33
26
-19
-17
-27
-13
-4
-19
-82
-1
-7
-12
72
-25
-45
-96
-5
28
-80
-7
-75
-19
-23
-3
-54
-12
1
-28
-57
10
-6
-15
27
-4
27
-18
24
-12
25
-15
-6
8
3
8
0
12
-24
-4
47
-42
-25
17
-21
-51
-1
8
-6
-33
-10
-54
4
7
-14
-16
30
5
-92
69
19
-20
-24
-26
8
22
15
10
62
24
-32
3
-1
-42
34
4
-12
3
1
-13
-11
52
33
27
-33
6
-64
-19
32
-19
22
15
-3
-69
-31
2
-35
40
-23
0
100
-35
-3
-47
15
17
-14
-19
-36
-3
-8
25
-37
8
-12
-16
-4
21
-5
27
2
-81
-23
-24
-89
-10
-39
24
12
-5
-2
-20
-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
1
-10
-2
0
-12
0
0
0
36
0
55
-6
-2
0
0
-8
0
0
3
0
0
0
-29
15
-5
0
0
-4
0
7
-10
0
0
0
0
-25
5
5
9
42
-8
0
-4
7
0
47
85
7
0
-17
-87
0
-53
-46
6
13
-28
-90
0
-2
50
-3
-2
0
-16
0
-9
-14
-10
0
1
-14
0
0
9
0
0
0
-3
0
0
15
0
29
14
-5
0
0
0
0
27
0
-1
-6
-5
-4
0
0
0
-19
0
-9
8
0
0
5
-36
1
-6
31
9
0
0
-57
4
51
-39
5
0
-3
-109
0
-16
48
0
8
-6
-38
0
54
-23
-1
0
20
-89
0
3
18
0
0
0
-6
0
-19
0
-2
0
0
9
54
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
3
-31
0
-3
-25
0
-11
-22
-63
-6
-63
34
61
20
10
54
-2
0
-7
-6
-2
0
63
14
61
0
-33
0
0
0
-18
0
-15
0
0
51
-50
-1
-2
5
-8
3
-81
49
7
81
-27
5
4
-45
-10
-3
-5
-33
14
-2
-11
15
4
0
66
0
2
20
-92
-8
4
-32
13
-18
0
20
0
-3
44
0
25
0
10
0
16
44
-26
66
4
88
-2
0
0
-1
-2
0
-62
-48
0
-2
9
0
1
-60
45
-22
2
0
-3
4
43
-2
0
48
-1
0
-8
-39
-1
-65
-93
0
0
-9
30
-2
0
157
52
1
-18
-2
14
48
-30
-2
0
-14
-44
0
0
-6
65
0
0
49
-5
37
-2
0
-3
0
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
-131
24
-32
16
-44
-19
85
-8
-32
-14
-8
47
-1
-90
-31
47
-53
-43
-5
16
-11
-23
-4
-20
43
1
18
9
-36
39
17
44
-16
13
-12
-40
-3
12
-22
20
-10
56
-24
35
-27
11
-43
-11
26
24
-13
-18
5
-35
-12
40
20
-23
31
-22
-28
20
-81
-30
-2
-1
-42
16
3
-99
47
33
-36
5
-28
14
49
-53
74
32
-44
1
11
28
-103
-11
-95
9
-5
3
13
4
60
-9
2
-1
-1
36
14
46
-48
-20
-9
-10
-28
14
14
65
17
-24
-6
73
10
74
-125
-64
-43
-1
5
25
-92
-5
4
45
10
-95
3
7
-56
-35
2
-3
-43
46
48
-14
-9
-5
11
7
-15
12
25
-64
-4
-2
-18
-157
-44
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
-8
-5
14
-69
18
14
2
47
-13
3
20
-30
-169
-45
-31
-19
-11
109
-75
-4
-7
0
-32
11
-1
-6
0
-14
14
-17
-36
19
17
0
-5
-71
7
-7
10
23
0
-18
30
-11
120
45
4
0
53
4
-20
59
-16
6
-3
-44
5
17
7
87
10
52
46
30
-11
31
-41
-1
52
-44
-22
4
-18
108
56
-3
8
26
28
5
-51
24
46
-44
8
-5
-93
27
0
-7
-32
-5
-38
5
25
17
0
-1
3
-50
56
-8
-19
0
-16
39
5
1
42
-8
13
49
12
21
61
0
51
29
-85
-7
37
-2
4
11
23
-45
71
14
-24
-2
5
53
19
-33
5
19
14
15
26
17
-1
-13
69
21
-22
-8
-6
-1
-22
3
80
-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
-3
-15
0
0
8
-2
0
-14
30
0
7
19
7
0
-18
-21
0
0
-3
-6
0
0
48
55
-58
0
-46
0
0
1
69
0
-4
-2
0
71
14
-72
-37
-22
-43
0
-12
29
-3
64
-36
-1
0
33
-16
8
23
-4
-72
0
-14
-76
-16
60
-78
24
0
-129
-16
3
3
-78
5
2
-63
-11
0
-18
85
-5
0
1
-26
-1
46
5
3
0
0
-4
-24
0
-3
21
0
0
6
-3
-4
2
-25
0
1
13
8
-27
23
0
0
-64
44
7
23
23
58
0
66
-39
21
21
-16
-8
0
69
-38
-22
-57
5
0
0
2
-7
0
-93
-63
3
-14
45
-15
0
-8
-42
47
0
-31
-44
0
33
21
-7
0
0
-27
-87
-9
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
-34
54
-15
18
-20
1
-25
11
6
19
-21
98
-85
-54
0
6
3
41
1
19
18
35
-3
-42
21
-44
8
-29
20
-5
1
-14
-58
-56
-46
-132
39
22
-50
7
-28
-14
-153
15
-108
-32
-7
-6
4
-127
-25
-50
-29
-7
-6
-56
102
27
54
-21
-20
-14
-33
27
-18
16
-81
7
20
-16
16
19
-3
6
-24
-2
1
-1
19
-39
-31
15
-70
-81
-8
-29
-95
72
140
-14
-7
-29
3
-57
-32
14
-33
-77
75
16
-50
-65
9
-11
-5
41
27
4
-21
-30
-21
51
-40
-14
-57
32
-68
-13
-26
-9
18
-38
-8
-43
-159
-15
-76
4
23
32
-20
-28
-65
-35
5
-42
-19
-79
-10
-96
5
-10
31
6
-56
-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
7
6
-60
-5
9
-20
-58
30
-17
49
-43
18
-88
-33
7
-12
-6
-5
-93
-102
-6
-3
-3
-27
61
29
6
-31
-6
8
-62
-7
5
-11
-47
24
-5
62
-56
8
16
-47
4
-2
32
-31
-2
-18
-89
10
4
65
4
10
-5
18
28
0
-35
32
19
4
-11
10
4
97
1
-20
-67
7
95
20
23
21
25
-58
-12
-42
-12
-42
52
4
-41
-43
-103
12
15
55
25
23
-59
-25
21
49
2
-11
19
59
-17
16
111
-10
26
-17
-47
1
10
19
-19
21
-17
-42
-2
-5
-13
5
-33
-20
-36
38
0
24
-5
-14
16
63
0
11
45
40
-42
-13
9
-49
0
36
5
-2
-44
-7
15
-11
3
29
65
-72
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-69
5
26
0
0
8
0
0
5
0
0
0
-113
2
7
0
0
0
0
-86
-2
0
-8
0
0
0
14
-2
7
-2
0
0
-10
52
0
2
0
0
0
29
-19
25
3
-50
-15
0
-7
-4
0
0
14
0
0
0
-43
0
0
3
47
0
0
12
0
0
1
0
0
0
-39
0
-1
-1
52
1
0
-57
0
0
-6
0
-1
0
22
-18
0
0
0
0
0
-56
1
-4
-1
0
0
0
-48
0
-5
18
0
0
0
-15
0
-10
-16
0
0
0
61
0
-8
-3
0
0
0
53
0
0
29
0
0
0
-99
0
-11
0
-5
0
0
-17
0
-24
1
0
0
0
-52
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
-3
5
43
0
23
0
-2
5
0
-9
0
-9
-11
-8
0
-7
-3
0
24
15
0
16
0
0
-14
-4
9
14
73
0
0
25
58
0
0
-13
0
0
-16
-76
0
0
50
16
0
-27
-75
0
1
-52
20
-7
-2
30
-1
0
-53
-97
3
-2
-63
0
8
-3
1
16
0
-19
0
2
-1
-11
178
0
5
0
0
8
0
0
0
12
5
0
0
0
0
-6
17
0
10
17
0
0
-1
-23
0
5
-18
0
0
-9
-70
0
-20
-2
0
0
-6
-43
0
-6
16
25
0
5
-32
0
-8
0
0
0
2
-46
0
0
-43
58
19
0
-24
0
17
-18
-6
3
0
-34
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-26
7
2
3
55
9
59
79
9
-11
13
-4
13
-3
-10
-1
5
25
39
-5
-61
-14
-11
5
8
6
4
-18
9
5
-31
20
43
25
26
12
6
-1
-6
7
28
58
49
-7
-2
-45
-51
-17
14
1
-43
6
-4
7
12
-19
5
-5
13
-83
-5
2
-128
-14
-100
34
4
26
13
80
10
-20
10
-8
-4
21
56
-32
-1
1
-52
54
-14
-25
-14
-70
4
-21
-25
-2
-11
-28
-29
2
-35
-1
38
53
17
61
-50
-21
36
8
-70
-33
-25
-47
14
13
17
-69
-45
-15
-1
-14
-100
-18
-5
-33
-14
-75
-94
-91
11
29
9
-70
-48
-31
-39
12
-35
-16
82
-79
-63
-4
2
-7
6
77
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-64
0
-8
-52
51
-14
1
-29
0
0
-1
26
16
0
-17
-63
102
0
-6
-16
0
19
29
0
-4
0
0
52
38
75
10
-58
-19
5
-32
27
-2
-2
28
0
6
37
7
0
1
47
-19
8
-19
-32
0
-1
31
0
-8
19
-4
-1
10
14
7
11
25
23
0
0
-24
0
3
-3
9
0
-7
9
8
16
0
-32
16
0
0
-3
0
0
-38
-19
0
4
0
0
0
-5
0
-1
0
0
1
-7
-8
2
92
-17
-7
0
-11
-61
0
-50
0
-3
-3
-2
-25
0
-2
-16
7
25
-1
-43
-1
43
-22
0
0
0
32
0
0
91
0
-15
-5
10
0
-43
-7
0
-3
0
71
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
-57
-103
0
-10
4
-3
-4
11
-17
8
13
42
-3
18
9
-1
41
-10
7
86
0
0
14
-80
13
-16
0
0
-37
22
14
47
-32
2
0
11
-4
0
-46
48
-3
0
-30
-30
7
94
11
-25
0
8
-26
19
42
-16
-11
0
93
-22
-5
17
-11
-23
0
64
1
0
39
11
9
0
10
-15
2
-1
65
98
0
0
-16
13
32
0
3
0
0
-1
52
-8
14
0
0
21
37
-4
-15
-21
0
0
-4
-9
0
8
21
44
0
80
-1
2
-28
-50
-10
0
37
-9
7
-22
-114
-9
0
-70
-40
-2
-51
-23
-33
0
134
-6
0
14
27
56
0
26
21
0
64
75
-7
4
0
-92
-24
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-5
-43
7
-29
0
-42
4
-1
0
-33
9
0
16
-35
-1
-4
0
4
6
-37
14
84
-45
22
-51
5
20
-5
20
-76
-10
22
-18
4
-1
57
-13
-32
-39
17
8
-5
-27
-7
56
-2
20
21
-3
45
-87
-20
10
-6
-5
-3
5
-61
-2
-20
-1
-9
-11
51
23
-45
41
0
-1
15
-5
-1
43
-10
-1
4
-41
9
-14
2
0
4
-21
3
-4
5
-3
26
-24
50
8
-27
-28
11
-32
1
19
-2
-2
-15
-3
-21
8
-41
-11
52
-91
11
23
0
47
0
-48
-22
-48
-20
-3
-14
0
-8
-70
60
-5
0
-35
0
-126
-23
-11
41
0
-62
16
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
55
-1
-16
-21
39
-43
34
14
-10
-7
26
23
-105
14
-69
4
-50
28
-31
44
-10
36
-7
-16
-68
-28
5
-4
-1
-16
-53
67
11
-23
20
-31
-14
-8
15
-12
-36
-65
24
-2
41
-31
-16
15
13
43
-23
-55
-26
0
16
-1
-15
0
-58
-26
-30
-32
29
18
36
20
-45
37
-85
6
31
-6
9
-15
-44
-22
-37
11
17
54
49
37
-92
17
39
17
-36
-4
-54
-19
31
18
14
65
39
-12
2
71
31
5
-13
15
35
-23
-49
56
-13
-4
-2
-33
-13
42
-57
1
-69
-5
-53
-107
36
31
0
32
-43
54
15
-8
-18
15
7
-9
-44
60
-7
-14
6
-40
-40
51
-128
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
4
0
0
0
0
45
0
-73
-4
-10
0
0
0
5
-52
6
0
0
0
0
44
-64
0
0
124
0
0
-1
-53
0
0
61
0
0
-15
-48
0
0
63
-5
0
-3
23
0
0
15
0
0
11
-57
0
9
143
1
0
9
-73
0
0
-2
0
0
0
-44
0
0
13
0
20
0
-71
0
0
0
0
0
0
-27
32
0
7
0
-3
0
-5
0
16
5
0
0
0
113
0
0
0
10
0
0
-27
0
-1
1
0
0
0
14
0
14
6
0
0
0
-117
0
0
13
0
0
0
50
0
8
-20
10
0
0
-34
0
-39
-4
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
7
11
15
-27
-35
-15
11
-47
-67
-2
-20
32
8
4
-79
-11
-59
16
-20
-5
-3
5
-7
34
12
-20
-10
21
-68
-10
-2
52
-16
-1
15
-57
-13
-22
-19
23
-18
41
-2
7
-15
-4
11
-9
-10
-65
-6
-6
23
43
0
-13
-25
21
-22
7
46
32
-18
-23
35
16
9
-23
-9
-24
2
-64
-37
15
-109
7
-11
3
-71
97
91
-12
-38
3
-5
44
-33
88
-60
0
4
24
2
15
-15
-38
-1
-90
-7
9
-33
20
11
-9
-117
-48
11
-30
34
-50
-8
21
-34
-20
-20
-28
24
-17
-10
-106
-27
-2
-6
-8
-4
90
-37
6
-49
-5
0
17
22
84
44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
110
-4
15
71
-98
0
-6
15
1
-3
-8
16
29
-15
-80
-4
62
-31
-19
-8
-20
42
-29
4
-64
-36
7
31
14
8
37
-117
-22
-8
18
-43
-26
-11
-105
8
-56
38
-43
-25
9
9
-1
-65
-3
-22
-5
-14
-53
-71
-60
4
7
-82
-6
-32
28
-4
15
-35
-12
-90
-75
-49
-2
-3
54
6
0
-26
-76
22
-16
-79
-17
18
-80
0
-77
-16
-9
-41
-42
38
2
51
22
9
-75
-26
16
-21
-24
-7
-71
7
-71
15
55
-44
-18
-5
90
44
-35
37
9
-19
-17
-79
-3
-32
0
-71
-15
7
30
-25
-11
33
13
-16
-2
-25
-1
15
-41
0
-27
6
58
23
-80
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
-105
37
-13
-26
-22
14
24
65
17
2
0
-2
-11
-11
-5
3
-17
26
-15
-4
15
18
-6
66
37
22
35
61
-28
3
73
35
18
-13
-56
1
0
-97
71
25
-80
46
66
19
-1
-60
26
2
-5
53
-2
-1
11
16
-13
33
-3
-6
0
9
-19
-3
10
-58
-7
-13
18
-29
2
17
-2
2
-24
51
15
-7
-43
6
-29
-17
15
-14
0
-10
-71
-48
14
13
-23
2
-70
64
18
53
37
90
3
-4
-24
26
-4
9
45
64
-3
84
-10
-31
22
26
-53
19
160
20
-53
24
-22
16
43
45
1
4
-18
43
-31
68
-1
12
11
-2
-43
-17
-4
2
-15
33
-34
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
-4
-7
5
-4
-43
-11
0
0
37
-7
75
0
10
0
0
0
-92
0
8
-10
0
-22
-10
22
-45
23
-4
0
63
22
-17
3
-11
-1
0
-8
13
-1
-36
-9
-33
0
1
8
5
42
-2
7
0
-43
-33
-1
-27
18
16
0
-84
37
0
-14
-14
-5
0
-13
-15
7
-16
53
-44
0
0
32
128
-7
0
11
0
-6
-29
33
0
-35
-13
0
-55
29
-3
11
-85
0
0
-27
9
0
-16
47
-10
0
73
23
0
-64
25
86
20
-112
-11
-5
40
10
30
0
-27
-24
0
-15
-4
6
0
25
11
0
14
3
32
0
-8
-23
0
-29
-47
4
0
0
-8
-90
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
13
17
-9
0
16
0
0
-72
-19
0
0
0
0
-1
-20
49
22
-4
24
5
-10
-63
0
21
7
-2
72
4
42
0
8
-40
26
2
-10
10
14
73
-44
20
80
0
73
0
5
33
-6
-6
1
1
0
1
-107
-5
-98
0
48
-7
4
-3
44
-66
0
-25
3
0
3
1
0
4
-109
16
0
0
0
0
-6
2
0
72
19
3
-1
0
-22
0
15
4
5
9
-21
22
0
-63
-15
0
-1
0
2
4
-2
-22
-75
-15
5
13
0
-118
-26
-2
2
0
-37
0
-1
-113
1
3
0
22
0
20
2
1
-2
0
11
-9
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
-21
3
24
-16
-46
75
54
26
-13
8
-6
67
31
-13
26
10
12
34
-14
-16
-41
15
7
-91
43
-12
-118
-1
23
-8
33
5
7
-21
-26
15
5
-48
27
5
52
-31
30
4
14
5
6
-6
-13
13
-12
15
-72
-22
15
0
-41
0
-37
-40
-81
14
35
-16
-2
54
-97
71
-24
9
14
25
-15
-20
-24
-23
56
45
27
5
-13
45
23
9
5
14
14
-23
6
-18
-2
13
7
-42
-22
-7
10
-50
-7
3
-49
-12
-7
12
23
6
-8
34
1
11
-9
12
5
-6
-50
31
22
-30
-16
-20
0
49
27
-45
-31
26
-39
17
31
-75
-84
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
56
0
0
1
-1
45
33
0
-1
0
0
11
-52
0
7
-71
-8
0
-3
-4
0
-1
72
0
0
14
59
0
-1
-1
-6
0
-17
17
0
2
-87
0
7
18
-96
0
0
28
58
1
9
31
0
4
-14
0
7
8
10
0
0
-7
-33
-1
0
-55
8
-4
0
0
-6
0
34
-8
0
7
0
0
-8
31
0
34
2
0
0
-10
-28
0
0
-15
-9
0
-4
68
0
-13
35
0
0
0
-17
0
0
4
0
6
6
-68
0
-11
4
0
-5
0
-39
0
0
8
-5
0
-3
-93
0
12
1
0
-7
0
7
-13
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
9
4
1
3
-1
0
-80
21
0
14
0
0
36
-43
5
0
-81
2
0
-97
49
0
0
-44
0
0
25
26
0
0
-96
-3
0
21
-56
10
0
-80
0
-2
22
-138
0
1
-35
22
2
0
-83
-3
0
-29
0
21
4
-93
0
0
1
0
-8
0
-40
-1
9
-5
0
0
-8
38
9
0
0
-3
0
0
2
-5
1
5
0
0
-2
-55
0
0
24
6
0
77
-80
0
10
-24
0
0
-4
-9
-2
10
-20
-1
0
5
-100
1
-4
-4
-8
4
0
-79
0
-2
-34
-10
10
0
-57
0
9
-3
0
13
1
-54
-6
0
8
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-107
-51
0
30
-3
0
-13
-39
0
2
0
0
-7
-38
-7
-3
78
-24
-15
24
14
0
23
97
33
16
90
71
4
11
-41
44
-5
-60
3
-1
9
36
-32
-85
34
39
0
-10
-15
40
19
-6
-27
0
-23
53
22
9
9
1
0
16
-7
-5
6
0
27
-13
3
0
-3
2
0
12
29
1
-5
0
0
0
-60
0
-3
-14
0
0
-5
-26
0
6
-49
-3
0
18
16
0
23
-131
39
0
-57
-50
0
-19
10
-89
-11
29
-30
0
-82
5
-3
0
47
-31
0
2
0
-36
8
10
-54
0
-53
2
0
0
0
-5
-81
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-63
21
0
0
0
0
-24
1
0
0
0
0
0
-9
-16
1
53
-13
1
-39
10
0
6
31
0
2
-63
-29
0
10
-71
0
-10
27
18
0
0
-44
5
19
45
-67
0
0
-3
16
-3
-3
37
0
0
43
-14
-9
0
1
0
0
58
6
-58
0
-17
-3
0
0
0
-6
0
-58
1
0
0
0
0
0
24
0
-46
76
0
0
0
-10
0
9
-4
0
0
0
-63
0
-20
-52
0
0
0
25
0
0
44
-2
-2
-1
-64
0
58
-5
0
0
0
-20
0
0
-44
85
-1
0
13
0
-23
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
3
-6
11
29
10
26
0
5
-14
12
45
-89
1
0
-100
20
-31
40
21
79
0
43
23
-1
-52
37
-2
0
1
1
15
-36
-11
-8
0
28
-4
-5
-97
-35
27
0
-13
-31
-14
49
-18
15
0
59
-5
-10
-58
31
-7
0
-67
16
20
-27
26
-44
0
0
6
40
51
35
-11
0
9
-25
23
-2
-19
-2
0
43
41
-1
-13
-2
2
5
90
-52
-1
131
-20
2
-2
-126
18
22
-96
23
-25
4
-36
16
-16
-52
81
-56
-7
157
2
21
43
4
-8
0
50
-23
1
14
13
8
0
54
-17
6
-32
-53
7
18
0
22
63
20
-50
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-4
0
0
0
-1
0
0
104
0
0
5
-35
0
0
43
2
0
3
3
0
0
-6
4
0
0
6
0
0
-2
0
0
0
-43
0
0
0
0
0
0
2
0
4
0
0
-2
0
-30
0
-2
0
0
0
0
-22
0
0
0
0
0
0
5
0
0
0
0
0
0
36
0
0
0
0
0
0
47
0
-5
-5
-5
0
-1
11
0
0
0
0
0
4
-29
0
4
0
0
4
-2
-32
0
0
5
4
0
0
-41
0
-1
0
0
0
0
-62
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
21
-42
19
48
57
-3
43
22
-5
-1
3
14
-15
53
59
4
31
44
38
-7
5
-20
10
-8
5
6
-6
-19
-36
14
21
-31
-14
-10
-98
-17
11
-15
-3
-39
-7
-4
-20
-32
-40
4
-23
-13
-12
-58
10
-22
-9
10
0
4
-47
42
-8
39
-4
11
16
-59
-10
-19
33
62
5
6
15
6
76
-20
31
-6
57
22
9
-24
-23
-9
3
1
11
16
16
-29
-26
0
52
-12
21
32
21
-53
-10
-37
-5
15
31
-2
-2
0
-50
-1
-16
0
-3
-33
2
-87
-30
-25
32
24
-97
0
-111
-24
9
-29
-144
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
13
-132
44
-1
-29
-19
-28
-16
-34
-54
93
34
-4
11
-68
-6
43
-61
-37
-4
-65
15
-11
-43
2
-14
-8
-14
-21
-3
-172
5
-25
-1
17
25
-23
-8
-53
6
-2
16
-9
2
43
-51
26
15
-29
71
39
-23
-39
6
43
0
8
-48
-15
-40
7
-1
7
-58
-14
-81
0
-44
5
18
-3
-56
37
4
-47
-53
83
32
-3
51
-28
11
-26
-35
-32
-31
4
-31
27
-26
62
-57
17
26
14
-37
-26
-30
-1
-64
-100
-47
38
-33
-2
11
-46
-53
-25
-8
2
5
-11
14
18
-49
-2
22
47
13
57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-79
1
23
-25
3
27
-43
24
39
-71
-8
-49
-45
-30
-32
-14
10
4
-37
2
69
-7
17
32
-57
-20
27
117
-15
-30
2
-49
-20
-27
-14
33
43
22
54
-12
-1
-43
43
-2
24
-96
54
13
-23
28
-43
19
-3
-15
-16
-9
7
0
-31
14
-10
44
47
-30
-32
-16
-39
-75
-56
14
-30
-5
6
-127
13
32
14
17
29
5
-58
-17
-15
20
12
-106
8
-2
-1
24
26
4
22
-20
46
7
-3
14
-8
5
-42
90
-1
6
-60
-24
3
-41
-5
-117
20
-18
15
24
26
0
28
-19
20
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
3
-103
-1
0
28
1
0
1
-7
0
0
1
0
0
43
25
0
0
15
0
0
-2
57
0
0
-5
0
-1
0
-43
0
0
-1
46
-2
0
-54
0
0
1
0
-4
0
-64
0
-4
0
-1
0
0
-24
-3
0
0
0
6
0
34
1
0
0
0
0
0
-15
0
-1
1
0
0
8
-19
0
0
-2
0
0
-1
-52
0
1
0
0
0
2
21
0
0
-1
5
0
-2
76
0
-2
-1
0
0
0
-41
0
0
0
-4
0
0
-65
0
-6
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
0
-3
0
4
51
-15
0
21
-2
11
-42
-30
6
-1
-74
0
0
26
-3
10
-1
32
0
-7
19
11
-17
0
71
-17
3
78
-6
-49
-1
31
34
-11
-13
57
-5
0
23
10
0
14
-8
-21
0
36
38
-13
-2
1
53
46
-2
-2
0
68
0
22
-15
-5
14
0
0
81
-67
8
24
17
0
7
28
36
-3
-19
-2
-9
14
-76
21
0
-63
-18
0
33
-48
34
0
-100
23
-5
-46
-36
-18
0
-2
-86
-8
-21
-10
-8
-3
-69
91
33
65
5
16
19
-58
-31
0
-3
-3
51
78
49
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-105
0
0
0
0
18
-15
-7
-8
9
-41
0
-79
-49
0
1
-73
-3
0
-10
8
-8
-11
10
-3
0
34
33
0
17
65
53
0
5
-100
-3
0
-38
-7
0
-25
-16
9
16
8
-11
0
0
-24
-4
-27
-49
-40
0
-4
14
14
0
0
0
0
2
33
-14
-1
23
-4
0
61
-52
0
-20
-89
0
0
5
5
0
95
-118
15
0
-1
-26
0
-126
-10
26
0
-47
-60
5
70
33
-22
0
-2
9
6
24
60
0
0
7
-76
-10
-15
-30
-66
0
0
50
4
80
17
6
0
0
-42
108
-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
-2
-144
0
0
34
-6
0
-14
38
0
0
-62
0
0
33
-41
-6
0
63
-5
3
2
1
-2
0
-54
0
0
-7
11
0
0
-14
-4
0
-1
-29
0
0
0
0
-1
0
-5
0
8
-1
-2
5
0
-47
0
0
8
-1
0
0
71
-5
3
0
0
0
0
89
0
35
-2
0
0
0
-86
7
-7
-4
0
1
0
-64
0
-9
4
-1
0
-1
9
1
-13
-1
0
0
0
-40
0
2
24
0
0
0
30
0
0
-1
0
-1
0
-102
0
-33
0
0
-17
0
2
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
-20
-11
-1
-26
-13
-5
-35
-15
20
8
-25
9
-60
59
7
9
6
8
22
-4
-18
23
0
11
-7
24
-11
20
9
0
-27
11
9
21
30
-4
-4
16
13
-2
51
4
11
-21
-95
2
-5
10
8
-36
13
0
25
-90
-61
-7
-81
0
-42
-27
-163
-17
-44
-45
16
59
-77
-9
25
1
-57
12
-8
6
26
21
-70
-8
10
31
36
36
-66
23
60
7
31
15
19
9
-3
-5
-7
-50
30
15
24
-13
3
1
40
27
51
38
-6
85
-13
-13
-2
-14
-50
34
23
-2
7
-52
-11
-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
16
39
-4
-125
30
-40
-23
-12
-4
32
18
-84
-3
-8
-26
8
-8
61
-32
24
-22
-15
50
71
-3
30
-125
12
-19
-1
24
36
-54
-60
-179
-55
-27
-2
-10
1
-34
-57
-31
-2
-9
3
-32
46
-51
0
16
-32
-78
-1
0
-29
21
38
-77
36
71
28
-10
26
38
59
-54
15
-24
21
-35
20
18
-55
0
40
4
51
8
36
-28
3
37
0
40
7
-6
72
-10
-131
-17
-49
-37
-5
-4
-24
17
56
-10
23
16
0
37
45
-25
0
12
4
-8
-6
-2
-25
0
-13
50
-18
4
-51
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
2
-78
0
0
-83
-1
0
-3
68
0
0
-66
0
-2
20
-37
0
0
-14
18
5
-1
-32
0
0
-15
5
0
0
5
0
0
-4
86
0
-2
50
0
0
-8
0
-4
0
-110
0
0
25
23
2
0
62
0
0
0
0
5
0
77
27
0
0
0
0
0
-20
7
-71
-4
-1
0
-3
-52
-1
0
5
-11
0
1
12
0
-4
-11
0
0
0
-9
-1
-16
21
-6
0
0
-63
0
-2
73
0
0
0
42
0
0
-11
0
13
0
45
0
-14
0
0
0
0
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
-34
-6
16
6
28
-59
-24
18
1
6
-20
-75
-7
8
-16
33
-5
-7
-93
13
8
-26
-59
-10
20
-25
-55
-63
-9
72
-10
4
-59
-30
-5
-7
8
0
2
52
4
-8
0
-17
-2
11
45
-46
-27
0
-23
-5
0
0
-15
-2
0
43
5
-19
10
-1
0
-2
-58
31
-49
-1
0
-1
-18
29
-4
-21
-80
-4
7
103
15
-15
2
-3
6
13
-19
-62
4
-93
-74
5
37
5
16
-1
-83
28
-2
-41
5
-86
0
-11
-15
49
14
0
26
0
-23
-8
0
-27
0
-24
11
-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
1
-92
-8
-1
36
7
0
-30
-16
0
3
10
0
-17
0
-47
0
0
-13
0
0
14
-28
0
-8
-1
0
0
-2
-30
0
0
-7
-9
0
0
-14
0
0
-2
0
-6
0
-97
0
0
8
13
-3
0
-33
0
0
0
0
0
0
-39
0
0
1
0
0
-2
55
0
35
0
0
0
7
-43
0
24
6
0
0
-6
5
0
17
-1
0
0
0
-24
0
-8
34
0
0
0
13
0
-7
5
0
0
11
11
0
0
-4
0
0
0
-15
0
33
20
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
-92
0
0
4
-2
0
-1
-20
0
0
-41
0
0
55
2
0
0
2
-3
0
2
-59
0
0
27
0
0
0
-30
0
0
20
0
0
15
-92
0
0
16
0
0
0
-17
0
0
25
4
0
0
-15
0
0
0
0
0
0
-37
-5
-2
4
0
0
6
48
0
7
17
0
0
0
-129
0
1
9
23
0
0
-14
0
-1
14
0
0
5
39
0
0
57
8
0
0
32
0
-32
-22
0
0
0
-76
0
0
0
-5
0
0
-23
0
-9
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
-109
38
-2
-27
-6
-45
27
48
-23
5
17
-26
79
-134
-17
-19
-8
14
13
-3
-2
42
-25
-5
-37
10
-8
-23
-43
18
5
-71
-2
71
-40
3
31
0
14
-37
15
24
0
21
29
14
0
1
-3
0
-8
-61
-5
-27
-8
0
6
6
30
61
52
16
1
-45
26
38
30
13
98
2
19
9
4
44
-103
-35
3
-17
10
43
-51
63
34
-35
42
-21
24
-100
2
4
1
-1
15
-1
-42
-38
-30
83
2
45
-3
75
-9
4
101
0
58
23
27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-9
8
24
-65
24
17
-14
69
31
-12
-44
10
2
52
-4
19
-4
-19
-9
-12
-63
-33
-2
3
-30
-51
15
-1
19
-12
9
-31
-22
0
90
51
-51
26
0
-26
-5
14
28
-181
35
24
-35
11
-1
43
-55
32
-72
-53
0
26
-7
-19
-89
42
-112
3
40
-28
-17
-22
9
-2
2
78
-15
6
-71
14
12
-3
-8
-13
14
-3
35
1
8
-1
28
37
-22
-12
11
-11
-112
25
20
32
60
-15
12
-62
-15
14
-14
-17
2
21
8
-16
-44
-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
-27
-17
15
75
-81
14
-21
-13
55
-26
-58
5
108
14
-9
19
-13
-61
-14
38
-34
8
-25
-5
13
-49
114
7
-101
13
0
-6
-45
47
80
-50
6
-1
0
-17
-47
-9
1
24
9
-1
-1
29
37
-4
59
-13
3
0
-5
11
68
41
7
26
-49
6
5
61
-54
-1
-7
-62
5
0
27
24
36
66
64
-16
0
82
-1
-5
-77
47
-11
-16
-41
-4
0
-49
-20
-46
59
55
-20
0
49
42
29
9
-3
-22
0
-30
7
-18
-15
0
65
25
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
140
21
24
14
-3
-77
-33
37
-15
108
42
-47
-33
-9
5
-22
53
-10
24
-54
-21
7
5
-30
-14
-52
-29
8
0
-16
-146
25
2
-3
-30
0
0
-17
14
12
0
-24
-4
0
-1
-29
45
8
-85
-86
-11
3
-5
6
-15
64
7
-14
21
2
-13
-14
-19
51
-45
-62
-24
-15
65
-19
-70
20
26
18
64
-18
-11
-25
65
14
13
-13
34
-4
-3
-16
11
2
73
46
-61
0
-8
37
39
-4
0
-2
0
-23
-1
7
11
0
-52
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
87
34
-33
-33
-9
-17
41
-70
-88
-39
-63
-20
-34
36
24
12
46
-25
-81
5
1
6
-56
13
13
-114
-24
8
61
41
41
9
-14
-8
11
-12
46
-6
1
-18
-1
-8
-5
-31
65
-19
-13
33
-15
-59
-50
-39
5
-1
8
41
9
44
29
53
39
-33
-40
-53
9
4
37
-73
-25
-12
23
15
26
-53
13
-18
26
14
-101
0
-6
5
-52
13
-29
12
32
21
36
23
-11
-8
0
38
5
-28
-11
15
62
20
5
-41
23
-23
-14
12
-24
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
18
31
-3
-19
-46
-56
-58
47
-31
-8
-8
-28
-23
-38
29
-18
26
79
-4
18
10
16
-34
0
-14
53
70
-13
-5
-22
32
5
-2
7
-17
-4
76
-35
-3
-3
21
6
21
7
0
21
25
0
15
28
-15
-20
0
-6
18
35
86
-22
13
0
9
-4
-16
14
-18
142
5
48
56
-16
2
71
42
-18
-40
23
-21
45
-55
51
140
-32
19
-23
0
-55
-161
15
0
-7
-43
-2
-61
84
44
36
2
-28
-5
42
31
-4
46
-2
-46
-3
-43
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
3
58
0
0
7
-59
0
16
-112
-19
2
-6
-82
-3
21
-62
-5
0
70
-91
0
26
-63
-148
0
4
-86
0
-1
-18
5
-6
0
15
0
1
45
22
0
0
-6
1
0
0
-2
1
0
-10
66
10
0
0
0
10
0
-3
-47
107
0
0
43
27
0
-3
56
43
0
37
36
0
79
14
0
0
6
0
0
11
-30
85
0
-2
-16
0
-4
17
-1
0
-1
-31
0
0
11
24
0
-9
3
0
-65
14
0
0
0
34
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
-67
-7
61
5
17
8
-14
-64
19
-44
16
20
71
15
-44
13
-10
47
-4
-11
90
32
-11
-1
54
-12
95
-14
37
38
43
-20
-32
-20
-21
-1
4
-76
-79
6
52
-43
6
-41
-31
21
-1
-41
6
14
32
-80
49
-7
-10
-72
-46
33
32
58
28
-17
2
47
-8
102
21
-6
118
10
-5
12
24
100
-31
61
40
-118
-23
67
28
84
21
61
13
19
-32
81
-35
-19
32
1
0
-8
12
127
-47
-10
-2
7
26
-14
-18
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
34
-25
-4
-19
28
1
61
40
12
-7
1
27
-3
-1
29
20
-12
-5
61
6
33
18
33
-14
7
-13
9
-50
-11
21
30
-2
39
4
16
57
-43
29
47
-60
27
42
-52
48
-40
-53
23
20
-14
42
30
-132
-22
39
0
-87
-34
-3
-45
-11
-17
-17
8
26
-9
-7
22
-16
12
-7
11
11
16
-3
18
11
-58
10
42
-50
-10
17
5
23
15
47
33
-4
-28
-2
64
5
0
15
-19
-2
9
-34
32
-15
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
-30
0
0
-14
-9
2
0
-56
-48
0
35
-48
11
5
-11
33
0
-3
-173
53
7
14
-21
0
0
-36
0
-5
5
42
0
0
-3
-5
56
0
32
7
0
0
0
-2
0
73
-35
8
20
6
-1
30
-43
0
43
-83
0
0
2
85
0
40
-4
8
2
16
14
0
-21
37
27
0
-15
63
0
-7
16
-1
-21
0
-8
0
-11
-34
0
6
0
-25
0
0
-2
-19
23
0
38
0
23
11
0
2
0
-6
-13
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
5
23
40
56
53
14
-11
9
33
22
111
33
-49
-58
0
0
-3
49
-13
43
13
0
-2
19
6
33
-4
74
0
-1
-14
71
-103
0
16
-6
-2
0
0
55
0
3
49
-11
-4
31
0
-18
-90
5
40
99
0
18
78
-20
0
9
-55
21
-8
6
45
0
118
-79
4
10
2
43
-7
-60
23
-10
9
-26
-18
-4
33
64
74
41
35
29
0
-6
21
-71
24
0
53
0
28
74
2
-34
0
-63
2
0
0
32
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-78
-15
14
-5
5
-7
2
59
-27
3
-8
-13
-28
26
63
4
12
2
31
32
6
6
-35
47
55
1
5
13
-80
36
44
54
1
-10
12
-135
-41
-10
-69
57
-1
3
26
-58
-81
-16
1
-18
45
74
35
-113
-3
21
-11
17
97
79
-27
20
-10
4
-9
-45
-26
13
-4
16
-75
10
32
8
22
-1
69
-72
-7
109
35
72
-79
64
-162
-9
-51
24
6
72
2
-14
2
-77
13
12
13
55
-9
-11
-8
-51
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
54
7
-22
-1
12
-89
-11
-45
-120
-6
-5
10
6
-2
26
-23
36
-6
29
30
0
-5
16
0
-17
0
-15
0
29
28
5
-42
0
58
0
0
0
0
0
0
-15
9
0
4
0
0
24
10
0
83
-3
0
-1
-3
-19
0
-2
4
2
0
26
30
0
18
27
0
0
-1
-72
0
32
-21
3
0
-7
14
0
-39
-5
0
0
2
15
0
-5
-3
-5
2
0
64
0
-62
0
0
11
0
64
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
54
-39
0
-6
-15
0
-2
92
-5
0
-5
-58
0
7
1
-5
0
-30
-31
0
-7
4
16
0
0
23
0
0
-2
34
0
0
-8
0
0
0
17
0
0
-37
-15
1
0
0
0
-4
-6
0
-23
-77
0
0
-16
15
0
45
-28
-48
0
86
14
0
22
-15
-1
0
63
61
0
0
-83
-72
0
10
-45
0
-88
-15
0
0
0
13
0
0
24
25
0
0
33
0
99
31
0
0
0
11
3
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
5
3
74
-21
-1
-34
-61
-33
33
1
110
-9
-26
-34
-33
70
36
-15
22
-19
-8
-37
13
-39
0
18
23
-116
-90
-71
68
4
-5
-60
106
-40
-51
-33
-56
28
-37
102
66
17
69
-85
-3
-17
78
38
-53
33
-52
-10
0
-54
-2
37
20
23
18
-45
-5
5
-49
24
-76
14
28
4
-68
-158
21
5
-11
-24
-76
-36
-24
-3
-23
12
16
6
-23
17
58
0
12
61
-151
-91
-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
-26
1
3
-10
5
18
19
34
12
-4
12
15
-20
-7
38
17
-33
39
54
-5
17
59
-1
-16
-31
11
26
19
22
8
5
-24
12
-5
-9
35
4
29
56
67
-38
-44
-9
20
-18
-17
16
-31
-38
13
36
-67
88
3
-79
-58
-33
0
71
-11
13
19
71
-38
3
-86
-8
-50
26
-15
-24
8
-71
-20
-4
-40
25
19
23
11
-32
4
9
-9
46
14
-1
-10
-6
25
33
-34
26
-14
29
-35
34
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
40
-6
-5
57
-1
0
0
-24
48
-20
4
31
0
0
37
0
-1
0
-12
0
-1
123
1
-60
0
-49
20
0
-1
0
-20
0
17
-33
-14
2
0
0
0
34
0
-26
82
0
0
-17
20
0
23
70
0
0
4
17
7
-24
42
-6
0
-63
20
0
-24
9
-6
-4
-2
-20
0
-5
5
14
0
-6
-37
0
4
24
-28
0
0
-17
0
49
-8
4
5
0
21
-45
8
-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
3
31
-6
5
-71
42
-40
25
31
15
16
3
81
98
43
2
-5
0
2
1
-78
11
-7
0
-18
-13
68
15
1
-52
0
2
0
52
-7
0
-26
-63
-6
-7
-1
1
18
-3
4
7
114
9
-13
-13
11
21
46
-38
-22
1
-97
36
15
-24
15
-9
2
53
-33
8
-32
-20
6
-53
21
-32
-5
-87
-42
-71
7
-71
23
16
-5
-45
-25
27
22
14
0
-40
-4
7
76
0
-108
-26
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
-2
-12
-57
9
33
57
-44
-22
6
22
-2
-9
17
-12
-13
11
-10
12
-11
108
12
64
15
14
-83
14
22
-20
-47
24
12
-23
48
-2
22
30
15
-20
29
22
-38
-22
-11
-2
51
61
37
27
-43
-27
-13
-35
9
-57
12
-49
-53
15
79
33
24
-80
74
12
16
-1
31
-2
-4
9
-28
-5
97
23
27
-49
62
57
-16
-184
-20
-55
24
-10
-64
7
71
3
-132
27
2
2
20
30
-35
61
70
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-113
-7
-16
31
14
-3
18
88
-13
-62
-49
63
-8
-8
45
-16
0
-35
-18
14
1
-54
22
-15
-41
0
11
2
-4
-19
-5
16
-1
-1
47
-6
-97
0
23
-27
5
-78
2
40
1
-4
14
4
26
3
29
43
70
54
40
20
-24
29
-4
20
119
25
-13
-16
-8
29
-83
57
8
-5
73
84
-15
-48
15
17
-4
-76
24
-45
27
14
-31
-3
-25
14
-1
-11
-2
5
4
30
-5
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-11
38
-2
0
13
-46
0
-6
-63
148
13
-5
-23
0
3
-28
9
0
8
-48
0
3
55
60
0
0
-25
1
0
0
-13
0
0
-34
31
0
9
5
0
-24
-37
0
19
9
-4
0
19
42
0
9
25
23
0
63
50
15
41
138
-3
0
128
17
-5
-79
45
25
0
-8
-24
0
-60
-2
0
0
-16
-81
0
4
-15
-42
0
4
5
0
-41
13
0
0
0
59
-17
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
86
-50
-20
40
10
36
-23
18
-147
-43
10
-7
13
-5
-8
-21
-41
-46
0
-3
12
-36
-33
24
-10
-48
20
-23
108
3
71
40
37
-24
9
33
-42
-42
8
15
-77
18
-21
30
-113
47
-12
-20
-19
18
-81
13
-44
65
88
17
-53
-38
9
-28
-31
37
7
6
33
-22
-40
-83
-5
-11
-29
123
-82
0
98
-8
9
-2
28
-62
8
30
0
16
47
-42
-45
-52
-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
-36
4
-39
-41
-24
-6
23
22
14
-52
-48
33
-15
1
33
-7
-14
12
54
-22
-2
19
1
-42
17
0
-40
-16
12
2
24
0
-28
22
-72
13
11
12
-13
52
-32
-66
10
12
19
-17
24
29
18
24
7
6
-31
6
-148
23
43
0
62
33
59
-18
-17
-56
-4
35
-56
-35
19
-2
-44
12
-50
-42
-3
37
16
29
5
16
-2
-5
-18
-14
-92
8
-32
73
-44
-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
-9
33
0
2
-7
34
0
8
-37
0
0
-19
0
1
0
-35
0
0
-1
-23
2
-2
-27
0
0
1
-1
4
0
-84
-43
9
0
-5
0
4
-113
2
-10
0
0
-17
-1
-86
0
-22
-14
4
0
-10
-89
0
-90
-22
0
0
4
-28
0
-5
55
4
0
0
-78
0
10
7
0
-11
0
12
0
-6
-7
20
16
0
42
0
-44
-5
0
-2
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-32
43
-58
22
46
0
0
5
26
96
46
-20
0
9
0
80
-61
0
4
14
0
0
0
10
0
-21
-1
0
-6
-4
0
-7
-8
-2
50
11
-2
11
-10
28
-31
-2
-104
26
7
10
-5
11
23
41
50
-10
48
-28
-1
7
36
-6
-7
-11
-24
7
49
9
-9
-14
-17
-41
-3
1
-5
-54
20
-14
3
1
-3
-43
-4
61
0
-5
32
-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
-72
0
-5
-25
4
19
-13
33
-5
-44
-20
-11
-45
37
-14
6
-71
-49
11
-42
3
-35
16
-86
-4
4
30
16
-26
2
13
-85
38
-7
4
-64
-3
-40
40
20
38
5
-77
9
72
-7
48
1
49
24
6
-8
-4
22
73
16
-4
-5
-18
-7
-51
-3
15
47
-12
-14
-36
-24
62
49
-27
-4
1
-25
62
5
9
-63
10
10
-5
-63
-27
-16
15
24
-21
-89
-26
47
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-1
3
19
-66
5
-29
0
-2
-50
0
-75
8
4
8
4
-65
-8
-4
0
-3
-19
0
0
0
7
0
-27
-20
4
0
0
0
-1
17
51
37
-11
0
-7
7
-2
0
41
16
-9
-6
-6
40
0
54
11
16
0
-63
16
0
-89
21
-10
15
62
28
0
-64
75
0
42
-3
-15
-2
14
78
-7
2
0
24
-3
-16
-14
0
95
0
-32
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
-16
52
0
-67
-37
0
7
-23
-32
1
-16
-16
0
-7
-24
24
0
0
-19
-20
0
2
-33
0
0
19
44
-15
8
36
0
33
36
75
22
11
-6
0
-32
21
0
-11
-42
-74
0
-48
30
2
9
50
19
0
101
43
-1
-14
81
-5
0
17
-17
9
-19
22
-13
0
43
7
0
-4
32
-11
0
3
7
0
-7
10
-4
0
0
-49
2
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
6
-20
18
25
0
-12
0
114
-14
-3
11
0
8
3
-13
-1
-104
16
0
-13
-78
1
-2
0
0
0
-13
14
-74
38
25
2
-27
61
16
-42
-36
60
1
-2
-44
-17
-42
19
17
3
-14
1
-5
65
-71
-47
-5
-1
-15
-3
-1
-78
52
3
0
19
-7
62
-68
8
80
3
-16
-2
-46
79
43
-52
2
-22
-14
-14
-10
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
30
4
-62
21
12
-7
5
58
14
-53
4
28
5
-18
26
8
-13
-12
3
-53
-10
-15
12
4
2
7
-35
-42
42
4
37
-12
-5
-24
25
9
-2
67
1
22
-25
-5
1
11
60
1
4
8
-108
-39
15
-103
2
57
15
-6
17
0
-18
11
-20
8
-94
9
-8
-22
30
3
-14
-50
-28
11
58
-18
-19
-86
-27
-13
13
-22
-40
-14
-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
-7
-32
0
0
-10
0
-5
0
14
0
0
0
-10
-3
0
-23
25
0
0
0
-8
0
2
-14
-4
-3
-1
11
0
14
0
-19
-4
-2
0
0
-11
0
0
39
2
0
0
31
0
59
-45
-2
-7
-9
-31
0
25
4
-2
0
4
9
0
52
-2
0
0
0
8
0
5
8
-13
0
0
26
0
-27
-2
-7
18
0
-8
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
-5
19
0
-11
-72
0
70
7
-37
5
17
-53
5
-20
0
22
6
0
0
-2
-10
0
-6
56
0
-32
14
11
16
18
-17
-23
-51
0
4
46
54
0
2
17
13
7
-23
-6
0
-78
5
-27
62
-16
-5
-22
-11
-21
11
25
-6
-18
0
7
-44
-5
-3
-47
22
-2
-11
-27
-32
21
0
32
-4
-55
-2
0
-6
0
132
38
0
5
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
-29
-3
-58
30
48
-14
18
-80
17
5
22
1
22
78
-1
1
-38
0
0
-12
42
-78
-4
-76
42
48
14
25
-30
-18
-52
-7
-20
-76
71
-8
4
-32
-11
0
27
-2
-43
7
5
-2
36
33
-45
-16
-12
85
98
-16
-25
37
-55
-3
-83
26
33
-105
-98
12
1
33
-10
-46
-27
10
13
-10
24
0
7
-34
23
2
-16
-18
46
-19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-7
-60
17
-19
54
8
5
53
-10
32
-25
33
-1
-5
6
-57
-14
58
40
1
-4
25
21
31
-5
1
-15
-16
-7
24
56
44
77
-77
23
3
-50
94
16
44
125
-11
25
52
35
5
59
-30
-5
2
-14
24
33
-88
-3
22
21
12
8
4
6
-96
-13
14
-15
5
-45
-33
-6
-17
1
-2
35
-1
98
-2
-11
-40
2
14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
36
-52
-7
0
-3
-40
0
27
131
24
0
0
30
-62
-9
3
19
0
0
5
34
-10
6
3
0
-20
-5
0
-19
-73
-8
0
-3
47
0
-41
102
-5
0
45
5
-4
55
-9
1
0
24
-9
-4
-50
2
-36
11
-31
33
-10
-61
110
-19
34
44
30
0
-32
-8
-4
0
90
-5
-3
36
-32
1
0
0
39
-40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-43
-11
71
0
-33
66
1
0
-9
42
0
-24
-107
15
3
-3
0
-4
-71
-1
-5
-124
0
-2
8
106
-13
-1
36
109
0
-46
4
0
-71
44
43
3
0
-34
0
13
-76
-14
30
0
5
27
7
26
7
9
24
-18
6
-73
-110
33
-4
-1
-43
16
-51
-15
0
-53
0
-77
-77
23
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
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
3
8
-7
21
-3
-109
15
15
26
-103
-18
-8
0
0
-5
-14
8
3
-58
53
13
-11
1
18
-9
-24
30
15
29
-37
43
-24
-9
31
12
-15
-4
-6
-39
18
-9
11
-31
-16
-51
-8
-13
-8
-7
-35
-26
-35
-1
-12
-14
0
-76
-24
42
53
14
14
0
-38
-4
-18
-21
2
-124
19
-4
44
19
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
-33
0
0
0
0
-14
0
74
-19
0
-1
0
0
0
7
0
1
-3
0
0
0
93
0
0
3
0
0
3
-6
0
10
45
-3
0
0
47
0
2
2
0
0
-3
-88
0
-33
56
0
0
-2
50
0
15
-7
-1
0
0
-38
0
5
-5
0
0
0
-57
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
-10
27
0
3
-37
-43
7
0
11
0
0
0
5
7
0
-131
-14
0
-8
0
0
9
-51
0
30
50
0
0
-16
2
0
0
-19
-2
0
30
62
3
-2
-79
-1
18
-4
25
0
-10
9
-5
0
-6
-80
0
100
35
17
-16
14
-44
0
-5
-38
18
-9
0
-87
0
-5
-2
2
-47
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-31
13
19
-61
7
-36
1
-37
14
27
3
-65
2
0
-26
-81
59
-40
-15
0
-4
-43
-69
6
72
-8
4
-82
1
-15
42
-86
-23
-2
36
16
71
11
23
-43
142
98
1
45
117
-89
7
54
-119
-25
4
-21
-27
-9
92
-17
-16
24
104
-44
35
23
-4
-4
-27
-72
-39
6
54
0
-40
-71
14
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-61
0
50
-41
2
33
0
-56
0
24
0
0
0
0
-38
-9
-1
4
0
0
7
-51
0
51
1
0
0
-5
-30
21
9
30
1
0
-2
-32
0
135
-65
0
0
37
17
0
41
114
-5
-17
-2
-81
0
84
-36
0
-1
-15
-17
0
-14
-33
-8
-5
16
-32
0
-95
-5
0
9
0
-35
-9
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
-27
-30
0
-2
-36
-25
0
0
26
-20
21
4
-1
0
-1
15
-39
-24
99
0
0
-6
-28
-1
-14
26
14
0
121
26
-5
-57
0
50
0
-27
-1
-1
7
-50
-18
0
-28
2
60
-13
-21
-68
0
-91
9
-17
-30
-4
9
0
27
7
-10
4
64
0
0
-102
-20
24
-5
0
24
0
0
21
-69
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
0
26
0
22
0
29
0
-2
0
3
14
0
-6
-21
0
0
0
-72
0
-4
127
0
0
0
-21
0
-29
-23
0
0
0
3
0
23
-33
14
-2
0
-24
0
5
-59
0
0
2
-51
0
0
-1
31
-14
0
-15
0
10
2
-7
0
0
-82
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-36
-175
-4
25
-44
-19
10
13
-34
-8
-4
-164
39
5
19
-1
23
-68
32
16
3
7
25
35
60
-1
42
4
-35
-26
41
-30
9
-40
0
-12
77
0
-52
12
22
1
31
-16
-20
-49
17
-53
2
82
-48
-25
-41
-8
-40
0
-57
17
-48
-20
5
-5
-8
-35
-58
-11
-127
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
-60
3
-1
0
0
8
0
36
-39
0
0
0
0
0
-45
0
10
-3
0
0
9
24
0
0
0
0
0
0
-89
0
-5
-1
0
3
5
-111
0
-13
0
13
0
0
67
0
5
-17
0
-5
0
-30
0
0
17
-2
0
-3
-52
0
37
0
0
0
0
-80
-47
-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
-49
-5
-6
0
0
-3
2
18
1
0
2
-1
0
10
-30
0
-8
-53
0
0
40
-17
0
0
-26
-19
0
-33
-24
2
-27
-37
0
4
1
-28
0
18
-62
134
0
17
26
0
53
34
0
1
-4
29
7
-16
-39
-42
25
0
11
0
34
0
-3
-1
0
-116
22
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-1
33
-39
-9
11
23
6
28
52
0
55
-43
-37
-96
37
26
0
-90
9
0
16
-54
29
0
31
-16
4
-8
-15
-13
45
-114
-6
11
-6
105
-46
-15
-15
5
-4
10
-58
5
-63
32
26
47
-115
-9
-118
-34
-6
-62
6
83
-1
1
-4
-3
-63
78
-100
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
4
-2
22
0
8
79
-9
-24
0
0
-100
2
-19
-51
-34
3
1
-41
0
-3
80
-23
-1
19
11
-10
-1
-35
13
7
46
8
-4
14
-52
-22
0
28
-69
26
25
8
15
0
73
15
29
-5
72
80
5
-9
-11
-42
-9
8
-85
14
-3
0
-29
4
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
4
26
-4
-2
53
0
-8
2
-4
25
82
-77
0
59
25
-41
-6
2
-7
0
-53
13
1
-18
4
1
0
-75
18
-13
-20
-16
99
0
-12
1
0
25
-1
-14
0
97
26
2
-4
8
-22
0
-5
27
-3
96
36
33
0
35
4
45
-24
-22
5
0
-2
-15
-11
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
1
0
0
-129
0
-1
-2
0
0
0
-32
0
0
-3
0
0
0
-49
0
55
-3
0
0
0
-46
0
-7
0
6
0
0
-98
0
-4
-1
0
0
0
-11
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-77
-6
-56
-4
35
12
28
20
0
34
-69
25
8
1
28
11
-13
-7
29
5
25
16
6
5
-17
-5
3
64
11
28
16
15
-82
-3
13
-11
-1
-10
39
-35
2
19
17
-16
25
-24
-28
3
28
-12
-28
-11
-4
0
0
-116
-74
61
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-2
0
0
0
-30
0
42
-14
0
0
1
18
-18
1
-42
-13
0
-30
-3
17
-149
-89
0
0
10
-72
1
-14
-116
23
-1
-4
-18
-1
4
-68
-3
11
32
18
0
21
30
-63
5
-1
-11
-2
15
8
0
-56
0
-49
-8
1
-14
-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
-69
45
0
16
0
0
-29
-65
0
-45
88
0
-1
-18
1
0
-1
-58
-5
0
25
49
0
-10
-21
1
0
7
56
0
-5
6
-5
0
3
35
0
-130
25
0
0
0
-59
0
0
-3
-16
0
0
54
0
-33
31
0
32
0
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
18
0
-4
25
0
0
0
-5
0
0
0
0
0
0
-41
0
-1
23
0
0
31
-23
0
9
-4
1
1
0
-20
0
-4
0
0
-8
7
65
0
15
-1
0
0
-3
-55
0
12
-3
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
17
-78
1
-2
16
0
-4
0
-81
0
0
31
1
0
-20
16
-10
29
41
0
-3
33
-18
0
4
-6
-5
34
-13
-64
0
-18
-3
0
19
0
33
0
-4
18
5
-5
1
61
0
50
0
0
4
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
2
1
-20
20
0
10
0
3
33
-7
80
14
0
0
17
33
0
-48
-158
-16
0
21
18
5
-64
7
-26
0
10
17
-7
-10
58
-144
0
-43
-8
0
-87
53
-3
0
1
-22
3
22
0
-89
0
5
-57
-4
-23
31
0
0
0
30
-37
27
24
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
19
0
13
0
0
0
0
15
0
0
-2
0
0
0
5
0
-4
0
0
0
0
-14
0
-4
8
17
18
0
18
0
5
0
0
0
0
-79
0
0
0
0
0
0
18
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
4
-103
-120
-28
16
49
11
26
33
-11
30
10
36
24
3
-52
-62
66
-10
-38
-15
-14
-24
-13
-99
2
-9
38
-61
25
-38
3
-2
-147
-96
13
-12
-58
-9
-10
-57
8
-23
37
42
-2
6
39
-23
51
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-37
68
7
3
128
22
7
-31
3
-69
9
31
-26
-19
38
-40
4
28
-24
-37
21
-89
-19
-41
0
55
18
26
51
28
2
0
-25
-11
-1
18
40
41
-4
1
21
-3
51
-13
-1
-4
0
-8
-53
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-35
-14
-2
0
0
-98
0
7
6
-6
0
2
15
-1
33
59
-2
0
-24
58
-2
-3
-4
25
0
-1
24
0
1
-17
66
8
0
-30
0
1
5
-1
5
0
0
0
39
0
0
-9
0
68
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
17
-44
1
30
-2
0
14
9
-2
0
14
-1
-13
-3
-6
45
15
-9
-55
-2
0
-21
-34
0
-25
32
-106
0
2
-21
0
-20
37
3
-2
-9
50
0
-7
6
-46
33
0
4
0
-81
-11
0
0
0
-44
60
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
-82
-2
20
-33
0
0
20
-23
-1
4
-10
0
0
35
3
0
87
59
0
1
0
57
0
0
52
-20
-5
0
49
0
14
15
0
0
0
0
0
1
-1
0
-2
0
-50
0
1
-1
0
4
0
-51
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
-10
0
41
6
0
0
0
54
0
0
0
0
0
0
-1
0
-2
9
0
0
0
99
0
0
-1
0
0
0
48
0
0
0
0
0
0
68
0
0
0
0
0
0
49
0
-9
0
0
0
0
-71
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-10
-15
-16
0
-5
-10
0
-36
49
9
0
2
14
0
-13
-35
51
0
13
32
-3
-158
7
4
0
7
25
3
-3
4
23
0
0
59
0
-88
-1
0
-3
0
71
-15
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
12
14
-14
-71
9
45
89
48
0
11
-14
-6
-76
64
62
-2
-38
-53
-2
-3
6
23
19
-64
34
30
-39
-42
99
-13
-64
48
20
-60
43
-16
13
-45
-38
-189
-104
-68
-80
13
50
-71
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
56
14
0
1
29
0
-65
-35
41
0
0
-56
13
0
38
-9
0
0
-34
0
-68
4
-5
-5
0
-96
0
-2
-16
-3
1
0
35
0
80
11
0
3
0
-112
5
2
0
-55
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-31
18
43
23
37
-28
53
18
-9
108
4
-9
-9
-14
-42
18
79
-47
-41
-12
11
14
-50
56
-17
-87
-14
-6
73
-86
-18
-49
-6
-14
-4
9
-51
-20
-46
0
67
-39
2
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-36
-60
-14
-135
69
14
6
13
34
18
23
40
-7
-11
76
-1
-45
-40
-55
43
14
-51
-2
-142
83
-1
-14
-12
19
-1
66
2
-15
-45
25
6
-3
38
-7
6
25
0
-62
-1
-57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
0
4
23
-15
0
-15
-30
0
0
0
-6
0
0
46
2
0
0
-91
0
13
-1
0
0
0
-70
0
0
-10
2
0
0
-27
0
-41
0
0
9
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
0
0
7
-11
0
0
0
-10
0
15
4
0
0
0
18
0
0
1
-2
0
0
-5
0
18
-32
0
0
0
-25
0
0
-7
-3
0
0
1
0
-30
-7
0
0
0
-44
13
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-48
82
13
-18
-13
-17
0
13
-25
198
-35
1
28
-8
-32
-2
-4
18
5
-3
0
5
-53
-34
13
-1
26
-4
-51
11
6
-90
0
7
5
46
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
-29
-12
59
-22
31
26
17
-17
14
26
-11
18
-15
-53
-42
-4
4
-27
40
-7
-46
-33
20
43
-32
-2
26
-14
-113
-3
-39
-7
-8
-46
1
5
14
16
53
-23
-14
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
13
-58
-4
5
-4
-4
0
-14
-63
0
2
-22
2
8
1
-7
0
4
-8
0
0
0
115
0
0
0
-9
0
0
21
0
41
-11
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-19
-56
83
-6
-1
23
0
7
-121
-25
5
-83
-39
0
42
44
36
-15
14
-32
1
0
-38
-80
-9
2
-18
2
-32
19
4
40
0
-3
-4
-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
-4
18
4
72
-17
-49
32
-227
-37
-71
4
-90
-37
-9
-29
31
36
-6
62
-52
29
0
34
2
1
43
85
81
6
7
-13
7
-21
-5
10
-6
31
39
-5
-14
-100
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
12
74
0
19
-8
-30
2
-26
-55
6
-7
4
-63
0
-83
-53
-7
-34
4
-24
0
2
-125
0
20
0
-29
0
39
-3
7
69
-2
16
95
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
76
0
-49
80
0
0
-23
-2
0
-7
-66
1
0
-2
23
0
-85
8
0
0
0
-30
0
-2
5
-2
0
0
-23
0
8
0
0
0
0
112
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
29
-5
-28
-26
-58
24
19
5
-4
-75
-2
0
58
-1
26
5
-30
-110
24
-48
0
1
-3
-86
36
18
-14
-1
27
-61
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-108
-15
1
1
20
5
21
-108
-2
2
-72
19
4
9
-21
-1
-1
-11
18
-47
12
-43
14
12
35
-29
-39
13
-4
0
-47
-3
-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
10
39
0
-57
-2
26
0
0
-20
0
-44
-2
-1
-3
0
-95
0
0
29
-7
5
0
-7
0
-43
-3
0
0
0
25
33
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-14
-73
39
63
33
-25
-20
8
118
15
-14
-31
-31
-10
-1
54
-16
-57
-8
-2
-10
-26
6
43
3
-53
0
14
-6
21
18
-46
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-93
-23
49
38
5
-3
56
-43
-49
14
75
-63
12
5
32
-104
-107
-66
-5
6
-1
-9
-38
-1
-42
-3
-1
-113
13
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-66
-7
6
62
-25
-6
0
64
6
-39
22
0
15
8
-48
0
-1
-2
3
3
0
1
0
-5
0
0
29
0
33
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
18
-14
2
13
-74
-1
0
26
-39
0
-34
-58
0
0
0
-46
0
1
-50
29
0
0
-65
2
42
0
0
0
0
-60
-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
25
-18
3
-15
-41
-3
-61
0
14
0
-6
-38
-77
53
0
-21
0
41
-78
-10
-22
0
-23
107
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
-49
5
-46
-8
1
18
9
-33
-46
-8
-14
-8
4
-32
-9
-60
11
46
-35
1
-43
-68
-91
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-38
0
24
2
0
0
-2
51
0
0
-14
0
-2
0
39
0
48
-6
0
0
0
-15
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
17
-49
-3
20
90
3
31
14
34
21
10
-127
-97
-14
46
33
0
-69
19
1
-35
0
-34
11
-4
16
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
-46
5
-7
-31
33
-29
-45
-101
2
14
84
-80
-11
3
33
-12
-10
-12
46
-6
-2
74
28
135
16
-11
-55
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
33
0
-38
14
-10
-14
-21
-20
0
80
41
-6
35
0
12
1
17
31
0
38
0
7
-42
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
-20
0
0
0
46
0
-8
37
-5
0
4
30
10
-9
-5
-8
0
0
42
20
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
-9
12
0
21
8
-97
39
0
-9
0
-7
3
0
-3
0
-33
-20
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
20
-11
-16
-27
-17
-10
41
-58
5
104
26
-40
-13
45
72
1
-32
4
5
-80
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
-54
0
-9
0
-2
0
0
59
0
4
2
0
1
0
32
-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
-56
-19
-7
8
1
16
43
-3
3
-4
49
71
-28
13
-5
2
-109
-40
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-12
31
-15
45
-2
20
-1
15
-3
7
-100
0
-13
-4
-17
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-29
-5
17
0
0
0
40
-1
0
-1
0
-85
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
-6
0
10
23
3
0
0
-9
-1
-46
-25
-5
0
0
16
71
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
-4
-20
18
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62
-29
31
21
18
-40
3
-37
102
-20
-24
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
19
0
-18
0
0
0
0
116
-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
-22
0
9
-30
0
0
-9
-28
-77
-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
-18
-42
-14
-6
5
-50
-5
35
-28
90
14
-1
-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
-17
-17
5
13
-9
-2
20
0
10
-5
2
11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
8
0
0
0
-4
-47
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-10
1
31
53
14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
26
45
5
-198
69
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
25
0
0
0
0
0
-55
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
-8
1
0
0
-8
-9
0
0
-5
0
0
0
-4
0
0
0
0
0
0
-11
0
0
-15
0
0
0
0
0
-13
-3
0
0
0
1
0
0
0
0
0
0
22
0
0
0
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
-47
0
0
0
0
0
0
4
0
0
0
-2
0
0
-32
0
0
0
0
0
0
-18
0
0
0
0
0
0
25
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
-15
0
2
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
5
5
0
0
-6
14
0
0
-49
0
0
0
0
0
0
10
1
0
0
0
0
4
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
22
0
0
-4
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
35
0
0
0
17
0
0
1
0
0
0
-3
0
0
24
0
0
0
-23
0
3
-14
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
1
-92
0
0
-9
0
0
24
23
0
26
35
0
0
-58
0
0
0
-14
0
0
-29
53
0
0
-14
4
0
2
-61
0
0
-1
0
0
0
42
0
1
1
0
0
0
10
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
5
0
0
0
0
0
24
0
15
11
-6
0
-5
-11
0
0
-83
0
0
0
31
0
0
22
0
0
-2
28
0
0
10
0
0
0
-14
0
0
-15
-10
0
0
-63
0
0
-9
0
0
0
-21
0
0
0
-5
14
0
-70
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
-13
-5
0
0
20
-47
0
0
0
-3
0
0
-43
0
-23
-5
0
0
1
-53
0
0
1
0
0
0
1
-1
-9
0
0
0
0
-50
0
0
0
0
0
0
57
0
1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
13
-26
-64
9
-62
-43
21
-34
-1
-25
10
-1
11
55
15
21
93
100
15
-34
-62
1
20
18
65
30
21
-17
4
40
-27
-109
3
42
-34
49
33
-41
-19
-5
34
-42
12
50
-20
-4
-19
-17
-6
-35
-56
4
-56
-45
-21
-53
-5
19
40
-31
53
-10
33
-2
42
45
-5
-15
1
22
0
0
0
0
0
0
0
48
21
86
49
46
-12
5
9
16
-19
24
31
21
-22
13
37
-36
-2
-1
-6
-3
-21
28
-16
-6
-19
22
-26
19
37
64
-75
-1
-1
0
-68
-15
-24
-83
-43
-15
17
-23
-1
0
27
10
30
28
3
4
20
49
-11
-15
-15
-3
-2
64
18
19
-3
-43
27
18
-27
-47
30
-5
-1
19
2
-88
18
13
-6
-15
-28
5
33
-75
-2
10
0
15
3
31
-8
-10
-2
22
-27
-1
26
-77
-33
16
0
-36
6
15
-5
-26
25
-22
-109
-3
20
-29
-69
70
-3
-12
7
64
-39
15
10
2
-11
16
16
22
7
17
-8
-14
5
-56
72
23
17
-12
-16
0
-24
-9
14
58
24
-10
-2
23
5
-7
-2
11
15
1
-13
2
-28
32
-8
-25
-8
-70
9
-16
-25
-1
-54
1
29
43
-40
-32
-51
-41
4
-14
46
18
-14
-42
52
19
44
6
55
-28
41
-15
-17
-53
29
25
26
-16
42
-1
82
12
24
-15
88
24
-3
-13
-44
-10
-6
-15
17
-1
-60
-30
29
-9
10
-1
6
14
98
-53
-5
-5
0
-6
-28
-11
3
24
3
14
-15
-9
-51
-52
91
-3
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
-22
0
0
3
0
0
-19
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
-10
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
-35
0
0
0
0
0
0
0
0
2
0
0
0
-9
-25
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
10
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
40
0
0
-1
0
0
0
6
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
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
-11
0
0
0
7
0
0
0
1
0
0
-49
0
0
0
5
0
0
47
0
0
4
0
0
4
-2
0
0
0
0
0
0
0
3
0
0
0
0
-11
0
0
0
1
0
0
-13
0
0
48
0
0
0
0
0
1
11
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-61
-4
0
0
132
24
0
-65
-4
0
0
-10
0
0
-9
0
0
0
-4
0
0
-1
-4
0
0
0
0
13
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
37
-21
14
0
0
0
-2
42
0
0
0
0
0
23
11
0
25
-18
0
0
-18
18
0
0
-14
0
0
31
111
0
0
-18
-18
0
12
3
0
0
7
0
0
0
-18
0
-54
0
-6
0
0
-27
0
0
0
0
3
0
36
0
-4
0
4
0
0
24
0
0
0
0
0
20
20
0
0
0
0
0
2
-25
0
0
-20
0
0
0
-53
0
0
24
-7
0
56
-6
0
0
5
0
0
-2
-80
0
0
-2
-8
0
-2
-51
0
0
-5
0
-3
0
23
0
0
0
0
10
0
0
0
0
0
0
0
0
101
0
0
0
0
0
0
21
0
-50
0
0
0
0
-2
0
0
0
-4
0
0
-17
0
2
0
0
0
0
-22
0
0
0
8
0
0
62
0
4
3
0
0
0
34
0
0
0
-1
0
0
26
0
-1
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
5
0
0
0
0
0
0
-45
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
3
0
0
-2
0
0
-42
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-43
0
0
0
21
0
0
-58
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
-117
0
0
0
0
0
0
0
0
-1
0
0
0
25
11
0
0
-8
0
0
-2
15
0
0
5
0
0
-2
-24
0
0
3
0
0
0
-14
0
-25
0
0
0
0
6
0
0
0
0
0
0
23
0
0
0
0
0
0
20
0
0
0
0
0
0
-10
0
8
-11
0
0
-4
-68
0
0
-2
0
0
1
-36
0
0
-3
0
0
2
-103
0
0
-8
0
0
0
8
0
0
0
0
0
0
9
0
0
-2
0
0
0
20
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
-10
0
0
0
0
16
0
0
0
0
0
0
9
0
0
1
0
0
0
-17
0
0
1
0
0
0
14
0
1
0
0
0
0
-1
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
-6
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
9
0
0
0
0
0
0
-17
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
41
0
0
0
0
0
8
38
0
0
0
0
-10
5
0
0
9
-1
0
0
0
0
0
0
0
0
-14
6
0
0
53
-6
0
-53
0
0
-2
-108
0
0
-25
-17
1
0
-47
-24
0
0
-19
0
0
0
0
0
2
0
0
0
0
-7
3
0
0
18
0
0
0
0
0
62
-5
29
0
0
0
-15
80
0
0
61
0
0
33
14
0
-1
-100
18
0
-11
18
0
-1
-35
-3
0
32
34
0
0
7
65
0
24
-68
0
0
-32
0
0
-1
-5
0
-105
78
-39
0
0
-20
0
0
0
0
0
0
6
-34
13
0
0
0
0
61
8
41
0
0
0
-10
11
0
-4
63
-24
0
36
27
0
0
3
0
0
16
32
0
0
-43
-3
0
62
-18
0
0
-3
-2
0
-1
22
1
0
-70
-16
0
-1
0
0
0
7
0
0
0
-13
0
0
-24
24
0
0
5
0
0
0
0
0
0
-69
26
-2
0
3
0
0
4
0
54
6
0
0
2
34
0
-4
13
0
0
-3
-44
0
-79
120
0
0
0
-65
0
-9
7
5
0
0
-33
8
-4
20
6
0
0
-8
0
-2
4
0
0
0
25
0
9
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
11
5
0
0
-22
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
-18
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-1
18
0
0
36
0
3
55
-19
0
0
-7
0
-1
0
0
0
0
-5
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
28
3
0
0
0
0
0
-13
0
0
0
0
0
-5
2
0
-35
-3
0
0
-22
-23
0
0
2
0
0
7
-110
0
0
72
0
0
-10
12
0
0
7
0
0
0
5
0
10
2
0
0
0
53
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
4
0
0
0
0
0
52
0
2
-5
17
0
-5
96
0
0
4
0
0
1
-72
0
-3
-5
-9
0
-4
-53
0
0
-9
0
-5
-3
-100
0
0
6
0
0
0
40
0
0
-7
0
0
0
14
0
0
0
-3
-1
0
-57
0
0
0
0
0
0
-33
0
0
0
6
0
0
-45
0
-4
0
0
0
0
-20
0
0
0
0
0
0
27
0
7
1
0
0
0
32
0
2
-1
0
0
0
17
0
-2
3
0
0
0
20
0
0
-8
0
0
0
-80
0
-6
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
-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
-52
0
0
1
0
0
-15
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
-52
10
0
0
32
-8
-3
66
0
0
0
14
0
0
29
0
0
0
-1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-2
0
0
0
0
0
33
0
0
0
0
0
1
0
0
0
33
0
0
0
11
0
-57
-14
0
0
40
22
0
0
-46
0
0
-13
-56
0
0
-5
4
0
-7
23
0
0
-5
0
0
32
-8
0
71
0
-5
0
0
1
0
0
0
0
0
0
50
-1
0
0
0
0
0
88
0
0
0
0
0
1
0
0
0
5
0
0
0
-58
0
0
34
0
0
-32
-26
0
0
-13
0
0
14
22
0
0
-2
0
-14
-7
-15
0
0
-1
0
-2
0
49
0
0
-9
0
2
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
-3
0
0
0
-2
-14
0
0
0
0
0
0
-14
0
-20
0
0
0
0
7
0
-11
-2
7
0
0
30
0
0
0
0
0
0
-8
0
0
0
13
1
0
-24
0
0
0
0
-1
0
53
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
82
0
0
0
0
0
-3
-16
0
0
0
0
0
9
3
0
0
0
0
0
7
0
-6
0
0
0
0
0
0
0
0
-23
0
0
-3
0
0
-18
0
0
0
0
0
19
0
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
0
0
0
113
-4
2
-9
0
0
0
14
0
20
0
3
0
0
-36
0
6
-6
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
30
0
10
0
0
0
0
-89
0
0
0
0
0
25
-53
0
11
-1
0
0
-29
60
0
-3
45
0
0
27
-76
0
0
3
37
0
6
9
0
0
-7
0
0
0
-42
0
23
-4
0
0
0
34
0
0
0
0
0
0
-14
-6
0
0
0
0
0
26
0
0
0
0
0
-2
-68
0
0
0
0
0
-9
18
0
0
4
0
0
0
15
0
0
7
-8
0
0
-29
0
0
6
0
0
0
48
0
0
-8
0
0
9
-21
0
0
13
0
0
0
-6
0
0
4
0
9
0
86
0
0
0
0
0
0
-61
-19
0
0
0
0
0
0
0
-4
0
0
0
0
-82
0
0
-8
0
0
0
-93
0
-3
6
3
0
0
-33
0
0
-11
0
0
0
32
0
-5
0
0
0
0
-40
0
0
0
0
0
0
32
0
19
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-45
-32
42
1
7
32
14
27
-11
-34
17
42
-6
29
78
43
-57
-32
33
22
3
-30
58
-45
68
33
33
30
-13
29
-17
-7
33
31
-37
-27
30
-8
-71
-12
7
-7
-36
-1
-23
-53
-62
31
13
2
39
-19
39
-50
-111
-43
1
33
-54
-33
-3
-44
0
0
0
0
0
0
0
-8
60
39
59
-20
4
1
15
14
25
1
21
-7
5
35
10
42
-5
0
-5
6
-7
35
11
-24
1
74
2
4
-1
-70
14
-29
-2
4
-32
-93
-20
-20
-22
-4
26
30
4
39
-80
-27
1
-17
-36
5
54
11
-7
-35
67
-7
-8
-110
-154
-14
16
37
3
4
17
47
-2
-1
-22
3
-2
-18
-40
-1
2
49
11
1
2
14
14
43
-32
10
-3
17
4
0
5
33
-53
-8
14
-33
-70
1
14
-33
2
15
-17
-7
8
45
-37
17
27
-21
64
-25
11
9
-10
-6
21
-16
20
41
0
-12
-77
-54
-1
-23
-29
-31
0
34
5
-9
-1
-19
2
1
-5
4
-12
-22
2
-14
1
-69
-48
11
5
43
-9
-1
8
43
-13
18
-3
-44
-5
-40
-30
15
6
5
-53
3
24
-85
40
45
6
-156
22
44
-45
42
6
-14
20
-28
-6
-99
-33
-32
-17
20
-7
21
-26
-16
-30
-15
-15
-13
-49
-44
-20
8
-57
-41
6
42
12
-6
8
40
0
-1
-54
-18
-32
47
45
30
-6
-5
8
-10
-2
18
-19
3
12
-4
39
-55
-17
-29
8
52
27
68
-1
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
15
0
-97
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
20
0
0
0
0
0
-44
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
9
-3
0
0
0
0
0
0
0
0
4
5
0
0
4
0
0
61
1
0
0
-5
0
0
-1
0
0
0
-3
0
-10
-1
0
0
0
2
0
0
0
0
0
0
2
0
25
0
0
0
0
0
0
0
0
23
0
0
0
0
0
-2
29
0
0
0
0
0
-22
34
0
-18
-3
2
0
11
33
0
0
14
0
0
-1
-14
0
0
-1
-6
0
-6
-37
0
0
-5
0
0
0
26
0
-5
0
0
0
0
-9
0
0
0
0
0
0
-9
0
0
0
0
0
0
-23
1
0
0
0
0
0
14
0
0
0
0
0
-1
-20
0
0
-3
0
0
-2
65
0
0
6
0
0
0
-15
0
0
-3
0
0
0
-10
0
0
0
0
0
0
-90
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
29
0
0
0
0
0
0
-35
0
0
-2
0
0
0
-10
0
0
0
0
0
0
32
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-37
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
-43
0
0
-1
0
0
0
-5
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
95
18
0
28
-26
1
63
16
0
0
-67
-26
23
-4
5
34
0
52
22
0
-3
-6
-6
6
-99
58
-4
-2
29
-18
0
-5
10
0
3
44
-4
0
0
6
-7
0
0
0
0
0
27
18
0
0
0
0
32
36
-43
-1
-11
19
0
0
0
0
0
0
0
0
7
13
17
-1
30
8
0
7
-133
17
6
-93
-45
0
39
-45
0
-11
-29
-45
0
-26
32
-5
5
-33
34
0
-68
33
15
-3
-54
-54
-4
0
16
12
0
3
-3
0
-1
-22
18
96
11
-58
0
50
-79
64
8
-56
14
0
86
59
0
18
71
-11
0
-29
-17
4
-5
1
-14
0
49
-8
5
11
-21
-33
0
-9
16
-1
0
-28
-74
0
-17
-19
0
-2
-23
17
0
-84
-38
5
0
3
-29
0
-2
-29
-29
-7
-1
-28
0
9
20
-33
44
-2
10
2
15
-25
1
-56
-38
39
0
-61
19
10
51
66
51
0
37
-3
3
106
63
-19
0
93
19
-7
45
-10
20
-7
7
-10
0
-11
10
50
4
-19
-7
0
-5
-13
61
0
-10
-24
-3
24
-9
-52
-3
1
-10
-33
2
0
72
0
0
37
36
4
19
-10
0
6
-9
-7
-29
-53
-9
0
74
47
-7
-17
15
104
0
-5
-17
-3
73
49
-1
0
-48
20
-1
20
17
29
0
-71
-20
0
-19
-62
0
0
-74
1
0
13
56
-16
0
-23
-20
0
58
-71
-7
0
0
9
12
-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
-12
-37
32
-51
30
0
17
17
34
101
-14
20
17
-91
-47
-51
-6
-2
-1
-1
-44
2
9
-3
-1
-9
5
-49
0
56
-5
-7
0
1
-133
7
0
-36
0
0
0
18
-2
74
6
-2
25
-3
3
18
15
-12
21
14
20
-6
0
0
0
0
0
0
0
-48
52
9
9
82
35
0
-97
-84
74
-4
-24
-4
-70
-30
-34
0
-4
-6
-18
-82
-41
16
0
2
-96
-2
-73
-9
62
0
0
31
-5
-17
0
-4
5
0
5
0
-181
0
-35
34
37
33
-58
-1
-29
13
92
0
-33
-3
0
-68
-91
33
43
24
50
0
2
73
-2
95
9
7
4
-7
2
-5
45
-8
50
-46
-13
-66
3
-7
-67
-2
-2
-28
26
0
-15
-81
5
-16
11
37
0
-1
-44
-4
-41
0
-4
70
-87
0
51
18
4
-35
100
-5
5
-9
3
56
10
11
29
33
-59
-1
-122
6
49
103
22
-2
1
-29
7
-44
-64
-25
3
-46
30
-24
-45
83
-58
-40
-25
-41
-37
15
-14
-40
-16
72
14
-13
6
0
-6
13
-9
-13
-75
0
-4
-7
-21
21
0
-5
-2
-3
0
17
43
0
12
-127
7
-4
-2
5
9
-75
6
3
-27
93
6
-71
36
-3
57
-119
65
-9
10
-24
-21
-10
-19
71
5
32
-38
16
15
-55
65
29
7
16
6
-58
-91
-4
-43
-8
20
-5
-5
-50
22
10
0
6
-5
-2
-19
-22
-16
0
-67
-23
0
-11
0
6
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
-1
-17
0
0
5
0
9
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-1
0
0
5
0
0
0
0
0
6
101
0
0
0
0
-11
0
0
0
-32
-9
5
0
0
0
0
0
0
0
37
-2
1
-1
-35
3
0
-57
11
0
0
1
0
0
5
-5
0
0
-13
0
-2
0
4
0
0
-10
0
-3
0
5
0
0
0
0
-113
0
0
13
0
0
0
9
0
11
15
0
0
0
0
0
-3
0
0
5
0
0
-5
0
0
39
-6
-1
0
45
-28
0
-9
-9
0
0
-29
-92
0
0
20
-23
0
-1
-118
0
0
-20
0
0
0
-109
0
-19
14
-4
0
0
50
0
0
0
0
-1
0
10
2
0
0
-11
0
0
1
0
0
0
0
0
0
-62
0
3
65
10
0
-43
0
1
11
-33
0
0
15
51
0
0
-52
-11
2
-13
-50
0
0
-9
0
0
0
-38
0
0
7
32
0
0
-7
0
0
5
0
0
0
-19
0
0
5
0
0
0
-17
0
0
0
0
0
0
-72
0
0
0
0
0
0
25
0
1
-10
0
0
0
0
0
2
13
10
0
0
-63
0
-46
-1
0
0
-4
39
0
5
-1
-3
0
-8
-6
0
0
0
-2
0
0
-32
0
0
1
0
0
0
24
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
-58
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
-28
0
0
-2
0
0
-92
0
0
0
0
0
7
33
0
0
0
0
0
11
0
0
-20
-13
6
0
0
0
0
0
0
0
-22
18
0
2
-86
1
0
-63
-2
0
0
-2
0
0
-4
-5
0
0
-7
0
0
-10
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
0
-5
0
0
0
0
0
-8
17
-1
-5
0
0
0
-70
0
-2
-5
0
0
8
33
0
-31
-13
-3
0
12
-71
0
0
-1
0
0
-5
-34
0
3
11
36
0
-10
16
0
0
-3
0
0
0
-5
0
-30
0
-5
0
0
-7
0
0
0
0
0
0
-31
0
7
0
0
0
0
-16
0
-1
0
0
0
0
22
0
0
6
0
0
-24
11
0
0
-8
1
0
-5
-41
0
0
-3
35
0
-5
-14
0
0
-5
0
0
-1
-26
0
3
-14
-1
0
0
9
0
0
-2
0
-1
0
-20
0
0
-1
0
-2
0
16
0
0
0
-1
0
0
27
4
1
0
0
0
0
-2
0
19
1
0
0
0
68
0
0
-5
3
0
0
-33
0
0
-1
0
0
2
14
0
0
5
0
0
0
59
0
-2
4
0
0
0
72
0
0
0
0
0
0
14
0
9
0
0
0
0
23
0
0
0
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
-2
-11
25
1
-1
-19
70
0
3
102
-31
-9
1
45
-6
0
0
-4
22
43
21
-6
11
-8
-7
-30
0
-3
0
4
0
0
-44
0
0
-16
0
0
0
-16
5
-45
49
0
0
-5
0
81
59
-2
-4
32
35
53
0
0
0
0
0
0
0
26
60
-7
4
22
33
-32
-91
5
32
-5
-37
25
106
-4
2
0
-2
81
37
15
-25
9
0
0
33
0
43
-4
-5
0
0
-3
10
-22
0
0
-5
0
0
0
30
0
60
-31
91
-6
16
0
15
1
21
-7
-2
0
-1
-26
-41
-8
46
-53
9
0
-71
-92
-6
33
-50
-9
-4
-36
23
9
0
40
37
-26
5
32
-2
23
-88
-14
27
-24
14
0
-23
43
33
27
-4
-22
-13
0
-7
0
-45
0
5
75
-3
0
-7
3
3
22
24
2
0
0
5
-41
42
-76
22
-29
-15
2
-71
-47
-17
-1
-21
3
0
-58
-59
9
-14
-72
-9
-7
-124
23
-20
-9
-22
10
13
33
-74
2
14
89
47
-46
-7
12
-1
0
20
29
73
-1
13
-4
0
36
71
-23
0
43
52
13
0
0
-2
0
33
48
0
0
-2
-1
-14
56
9
-37
-2
16
0
35
-46
0
-14
3
14
0
-18
-10
15
0
0
5
4
9
-21
-1
5
33
-53
0
1
13
0
-87
-4
-1
7
21
3
0
0
107
-31
-17
-9
-21
0
96
2
68
29
0
24
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
23
-25
-18
-17
-68
35
-34
-10
41
64
91
51
-46
-20
-5
-3
56
29
-23
-59
-37
11
-23
25
-18
-14
-21
-6
43
-35
-1
-17
10
5
-28
0
0
-4
-1
0
5
18
-5
-11
67
4
-16
-9
-2
-45
-94
-82
1
-59
-12
-72
0
0
0
0
0
0
0
-1
2
76
-21
-109
24
-23
-21
-20
-22
-27
-26
-3
-23
-26
-44
-15
74
5
31
-1
-28
-89
0
-25
-26
-15
4
40
26
-2
-1
11
8
-11
1
14
-31
0
1
-45
43
-3
-2
27
-107
1
-8
-1
2
-2
-4
0
-53
0
-1
0
3
2
27
28
-1
-14
0
6
-43
-45
-8
-47
6
-40
-6
60
-16
12
53
-43
-9
-12
6
23
7
-47
-56
-43
-16
-56
-2
-6
4
-21
-29
-13
-13
-14
9
24
-2
-3
-1
11
9
-7
53
0
-11
-1
-15
-39
2
-5
31
-21
-20
44
-98
7
8
48
3
-4
-104
82
6
16
-4
-41
-14
56
-60
-5
-9
-25
-5
-17
14
55
32
-2
0
50
-12
19
45
10
-5
3
-28
-19
-15
8
-23
-50
11
-57
2
4
-23
-12
-12
10
0
1
11
-18
-33
43
27
-14
20
-57
55
-26
-54
-34
37
-20
52
-49
13
18
54
-2
-25
-14
-28
77
14
13
69
-9
11
-26
-36
-3
-102
60
-14
135
9
-25
4
-29
-12
-6
66
46
18
-73
31
23
-11
-1
86
28
-3
10
-20
4
3
-29
8
-6
-12
-4
4
95
-17
-51
4
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
26
23
-5
-29
0
-23
-88
58
7
-5
-15
2
-64
-73
-45
-2
-1
-1
0
-40
-26
-82
-1
0
-16
0
-7
0
-5
0
5
0
0
-77
0
-13
-2
0
8
0
-18
-7
-95
-17
7
0
0
0
43
3
44
-2
77
-1
27
0
0
0
0
0
0
0
-87
35
37
3
-90
0
-52
-36
-10
0
-4
-64
0
-17
-31
41
0
-22
-14
0
23
-39
-87
0
0
-46
0
39
-16
-47
0
-1
0
0
20
0
-6
-71
0
-4
2
-9
-2
14
-82
36
-45
0
0
106
23
0
2
-29
0
1
7
-8
1
-13
4
-1
10
12
18
0
14
-20
0
31
-33
-81
-1
-6
-46
-3
44
58
-18
0
111
6
7
-26
-44
-5
0
-18
16
0
-5
78
4
0
-5
60
0
11
1
-16
-48
-7
0
0
1
11
3
-41
1
15
0
2
-35
9
26
-9
-52
0
0
8
0
-15
1
25
-5
2
41
1
-10
29
-5
-14
-3
-23
-14
8
-75
-33
14
-64
43
-60
0
8
14
1
7
-34
-3
0
-7
21
3
48
57
-5
-4
-8
21
-3
-26
0
-22
0
0
10
0
71
0
8
14
6
-2
0
0
27
36
4
56
-66
0
3
39
-35
-1
-33
-7
0
-4
67
17
-9
14
26
-7
-8
52
8
-1
43
-55
5
-44
-47
-6
-2
-68
45
0
2
71
32
15
5
70
4
-40
32
-5
8
-55
29
0
44
2
-12
46
14
-2
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
8
-1
0
0
0
0
32
8
-1
0
-5
-1
0
-13
85
2
0
0
0
0
-2
-16
-6
0
-17
10
0
0
14
0
27
1
0
0
0
0
-54
0
0
0
0
0
-4
-8
0
0
0
0
-2
-10
3
0
-71
-49
0
0
0
0
0
0
0
0
20
-36
-3
0
-7
-33
0
-53
-54
8
0
-99
0
0
-70
-19
18
0
21
-4
0
-55
-8
0
0
1
0
0
0
5
0
0
-3
-9
-20
0
0
-11
0
-2
0
-7
0
8
-14
9
-1
-7
0
37
25
0
0
-48
0
0
25
-109
0
24
-17
-26
0
-133
-29
0
58
-151
9
0
-56
12
0
0
-23
11
0
-44
-76
1
0
-79
-13
0
-27
-24
0
10
-42
-9
0
0
-91
0
0
16
0
0
0
-19
-37
75
10
-1
0
0
4
5
0
0
0
0
16
-63
-35
2
19
15
0
5
53
0
25
-35
0
0
-12
-9
14
0
38
33
0
28
17
6
0
40
0
0
14
-55
9
30
-38
-17
0
-37
-32
0
-3
10
0
0
7
52
0
-20
5
-7
0
0
-51
-5
0
0
0
0
0
-3
-17
0
-1
0
0
0
-60
-7
-33
51
0
0
-5
72
0
10
-43
53
0
19
-5
6
54
77
0
0
-22
41
4
-48
-27
-3
0
-13
32
2
-20
-21
3
0
1
-50
0
0
22
9
0
0
27
0
-78
-1
0
0
0
-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
-8
-60
7
12
12
-26
19
14
14
-8
-4
10
-62
-16
-11
28
-11
-53
-7
-16
-26
100
-7
-40
-25
-15
86
-22
-7
64
-11
-1
2
-24
-42
-27
-3
-68
-33
26
33
-69
-27
-16
111
25
30
27
-108
0
0
0
0
0
0
0
-49
-44
-100
-95
21
-60
118
10
-6
-57
-91
-29
-39
10
-62
-13
42
-24
-22
-19
-9
-11
-4
-5
5
-41
-42
6
-32
-5
51
4
-42
3
-14
-31
-90
-73
-18
-36
-3
7
-16
16
-87
-72
-11
16
4
-49
9
25
37
19
45
-5
-32
14
22
2
23
14
3
-20
8
-7
-37
-14
-26
-52
-6
-14
42
-49
-14
-42
35
-7
-4
33
23
-19
-2
5
6
0
3
-14
-30
5
-2
43
-5
-76
-81
-28
-44
-27
-2
12
-18
9
-54
-13
-28
17
8
16
44
-35
-29
-30
-20
7
-14
33
-12
0
43
53
24
-40
-35
27
90
-27
31
0
-10
2
12
28
49
-10
-13
-102
-70
2
52
-44
31
-18
-53
-51
-18
5
29
-5
-7
-43
101
-2
-25
6
1
-20
-56
-84
-36
3
-6
-29
-29
-15
-34
-80
5
8
35
-2
-16
-17
4
10
29
52
3
-52
-40
-26
2
46
72
-8
-88
-24
-3
-27
-4
-65
-18
-30
-19
-22
-52
8
-10
-12
-79
34
18
-13
-36
-17
-24
-64
-7
-10
-29
38
4
-12
20
49
-12
-15
7
10
-5
-54
17
-46
-42
-10
-3
-54
-11
82
-7
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
-20
-30
0
0
-43
0
-5
-45
48
0
0
-11
0
-1
0
-5
0
0
0
-6
0
0
0
0
-49
0
0
7
0
0
-15
0
0
0
0
0
29
-141
0
0
0
7
15
53
13
0
-19
-58
0
0
0
0
0
0
0
0
-95
0
-1
-16
-54
-33
-11
-65
-62
6
-8
-105
1
11
-23
17
0
0
46
-7
-10
-24
-33
0
-1
-3
-2
33
-2
-5
0
0
0
1
-85
0
0
-3
0
0
-1
14
1
-5
-47
9
0
-25
0
-69
40
-2
0
4
0
0
-47
7
19
90
-5
81
0
-46
0
14
-8
90
-6
4
-34
-44
1
0
-45
2
7
-43
-59
-4
0
-15
0
4
-1
19
0
-22
-5
71
0
0
-43
0
0
-2
7
1
0
31
-11
-1
0
-4
0
0
40
-4
10
-3
0
0
-14
15
0
-29
-113
19
0
-76
16
-8
-2
36
3
-1
-121
0
0
-5
-9
11
21
-42
-8
-1
-2
-36
14
2
16
1
0
5
-90
2
0
3
-17
0
5
-39
-3
-24
9
-62
0
-3
-62
14
-14
0
10
0
0
0
13
-2
0
-29
10
1
0
0
0
0
21
0
30
39
-6
2
-8
42
0
-6
85
-9
0
-21
0
1
-111
-67
0
0
-25
40
0
5
-46
-96
0
-5
22
4
-22
13
0
0
-1
-99
0
18
-3
2
0
0
31
0
-30
11
0
2
0
-52
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
46
0
0
-1
-4
0
-15
-1
0
-1
-7
0
-1
0
-2
0
0
-1
0
0
0
0
0
-14
0
0
-4
0
0
0
0
0
0
0
0
0
27
8
0
0
0
36
8
0
0
44
-6
0
0
0
0
0
0
0
0
-49
-37
-4
0
29
-21
-9
-20
-19
6
2
74
6
-4
46
45
0
0
-21
0
0
0
10
0
0
-3
0
9
0
0
0
0
-2
0
20
0
3
-4
0
0
0
-6
0
-21
0
0
0
0
0
22
-24
0
3
26
0
-2
47
141
-1
52
-9
49
0
-81
-47
-3
0
6
0
0
79
-49
0
-4
-80
14
0
-19
-18
0
1
-7
0
0
-3
-8
0
-90
-23
41
0
1
-42
0
3
11
-7
7
1
22
-3
9
0
4
0
0
-31
-4
0
0
0
0
-5
90
0
-27
32
7
17
0
102
0
0
-62
0
0
-18
-83
0
-1
-9
4
0
-83
-51
0
49
36
11
1
10
-100
0
-6
-19
0
0
-9
-33
0
18
8
-5
1
0
43
0
-8
-2
1
-2
0
86
0
0
0
-3
0
0
-60
-5
8
6
0
0
0
-33
0
44
0
0
-3
-5
8
0
0
-7
-2
0
0
67
-6
-55
-15
-2
0
-4
-62
0
0
39
-43
0
0
-27
0
47
7
0
0
0
60
0
-1
0
0
16
0
-92
0
-5
0
-2
10
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
10
14
0
0
37
23
11
56
33
0
0
0
0
29
0
23
0
0
0
-2
7
2
0
0
12
0
0
48
0
0
-20
0
0
0
0
0
-13
36
0
0
0
0
14
37
0
-2
53
-57
20
0
0
0
0
0
0
0
6
20
-6
9
-7
-6
1
21
5
0
-6
-27
0
0
-28
68
5
-3
-50
-3
-5
-73
1
0
0
25
0
-8
0
-4
0
0
0
-8
43
0
0
34
0
0
10
13
-5
12
-43
4
0
2
0
-1
12
0
0
34
1
5
41
30
1
-84
-15
23
0
22
-79
0
0
37
8
0
51
-22
0
0
102
-27
0
-61
58
9
2
16
0
-7
3
-130
0
-5
19
8
-14
0
-59
0
0
-4
0
21
0
-25
47
-10
0
-6
0
0
48
24
6
0
3
0
7
-7
3
-6
78
9
8
-14
-83
0
3
8
0
32
-10
-43
-6
-8
79
20
0
25
-39
5
11
9
8
2
9
-51
0
2
185
-14
4
7
1
0
3
56
0
19
0
-22
0
0
4
9
50
0
-49
-2
0
0
0
0
0
19
18
0
0
0
0
0
-48
0
-34
-7
0
-1
-8
-24
0
0
-17
5
0
13
-26
0
-10
0
-1
2
-3
30
0
-11
-8
-20
0
-5
-64
-3
-29
-34
2
0
0
39
0
0
11
26
5
0
-44
0
2
0
0
51
0
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
-52
7
16
-1
0
-23
2
-25
50
5
0
0
0
2
-1
3
-1
0
-2
0
8
0
8
0
-43
0
0
21
0
0
-42
0
0
5
-3
0
8
77
0
0
0
0
-85
8
2
0
47
-88
2
0
0
0
0
0
0
0
-1
-74
26
33
-53
32
3
45
-90
-13
0
41
-2
47
-47
66
0
-1
-53
0
-4
-2
-67
0
0
-2
0
1
0
-14
0
0
4
-9
-119
0
0
24
0
0
0
-7
0
-12
-34
26
-2
-6
0
6
24
0
-5
-19
0
0
-24
27
-1
29
-8
53
0
-63
23
0
32
-28
0
0
75
-25
0
0
2
46
-10
-110
-36
0
1
48
0
0
2
50
0
32
-14
-34
5
36
-97
0
0
0
0
39
2
-21
-22
10
0
10
0
0
74
27
0
0
-2
0
27
10
-8
91
-8
7
0
69
1
0
-5
20
0
2
-8
-10
36
29
16
-14
-13
-95
13
0
-3
40
-36
-3
30
-96
13
0
-21
59
17
-27
-116
0
-23
0
16
23
-1
-100
0
0
0
11
25
0
-22
1
0
0
-4
0
0
-78
-7
3
0
-6
0
5
-30
0
106
-13
0
-1
5
0
0
-35
-14
-8
0
65
39
0
8
-27
-8
0
-2
-17
-6
0
-16
73
0
0
-61
0
-80
-3
0
8
2
-135
0
13
5
-6
-7
0
-25
0
-1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
35
0
0
20
-5
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
-4
0
-31
0
0
6
0
0
-73
0
0
0
8
0
5
3
0
0
0
0
-1
-9
0
0
15
-3
0
0
0
0
0
0
0
0
-2
0
0
0
14
0
-7
-17
-6
0
0
-22
0
0
1
-1
0
0
0
0
-17
-5
8
0
0
0
0
-1
35
-2
0
0
-4
0
-13
0
0
0
0
0
0
11
0
-9
0
0
0
0
0
0
25
0
0
0
0
0
-10
37
0
9
-44
2
0
-53
23
0
0
22
0
0
7
-84
0
0
46
0
0
10
30
0
0
35
0
0
-20
-43
0
78
45
0
0
0
7
0
0
-3
0
0
0
22
-2
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
-29
0
0
-5
0
0
19
-46
0
0
-71
0
0
-1
-47
0
0
-8
0
0
0
33
0
0
-18
0
0
0
-76
0
0
-16
0
0
0
-3
0
0
0
0
-2
0
-77
0
0
0
0
0
0
-54
-1
0
0
0
0
0
1
0
-15
0
0
0
-6
-10
0
0
-7
0
0
0
14
0
0
2
0
0
0
34
0
0
-1
-3
0
0
3
0
14
-14
0
-2
0
-33
0
0
-15
0
0
0
-86
0
-3
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
2
10
0
0
0
1
0
9
2
4
0
0
0
17
7
39
0
0
0
-14
0
0
0
0
20
1
0
0
0
0
-67
0
0
0
0
0
-14
76
0
0
0
0
-5
35
0
0
21
-35
0
0
0
0
0
0
0
0
-90
-11
6
0
-89
27
0
57
9
2
-7
-62
0
0
-68
26
0
0
-95
19
0
-59
-26
5
1
-15
-3
0
-2
-26
0
0
0
42
-1
0
0
-20
0
0
-14
0
-3
-70
10
58
9
-3
0
17
29
1
0
42
0
0
134
-21
0
-2
72
62
0
-73
-52
0
0
-175
-3
0
37
7
0
0
-49
45
0
-66
64
0
1
74
0
0
-10
-23
0
-38
-23
-74
0
4
-22
0
0
-8
0
0
0
77
22
26
0
5
0
0
-9
-1
0
-4
0
0
-9
59
0
-7
34
41
0
42
13
0
-2
7
0
0
-59
-65
18
-4
-61
-17
0
-85
-58
0
1
2
1
0
-30
-20
0
29
78
-30
0
-33
-47
0
11
53
0
0
3
29
0
-24
25
-58
0
0
9
0
0
0
-1
0
0
99
-29
0
0
0
0
3
77
5
29
45
0
0
68
23
0
17
68
1
0
18
30
1
-52
34
0
0
-26
-48
0
58
-11
-15
0
0
-49
0
26
9
-1
0
-1
-10
0
-2
7
-4
0
0
25
0
-138
0
0
0
0
-49
-1
0
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
-78
4
45
76
91
18
-10
40
54
29
7
-93
-19
-72
3
24
43
-49
-4
5
-54
0
0
-28
0
0
0
-1
10
49
61
-5
3
3
0
40
-35
0
4
-3
-72
-51
0
0
0
0
0
0
0
-111
22
-64
24
-29
-17
-81
-28
-29
44
0
-63
-3
12
3
79
31
8
-14
-41
-28
59
-6
-2
-3
-59
-34
-115
33
7
23
0
-67
-126
-100
17
-7
-3
0
0
74
-61
-1
12
-91
-68
-15
-66
2
41
24
-7
-1
38
18
-9
-35
-6
-5
11
-35
-91
-15
6
25
30
53
-17
-34
-17
11
8
-49
24
-57
-116
20
-60
-12
25
-31
-82
-10
-28
-6
34
11
-2
-147
-82
-63
0
-30
-1
-1
-104
59
-34
0
2
-42
23
-1
-33
14
-1
20
-58
-7
-2
56
41
-67
13
-19
24
-1
-27
-72
16
2
98
16
-45
-56
-11
40
-4
23
52
-28
-9
-85
-45
6
58
-2
-16
12
-19
29
-18
2
0
-46
-28
-8
48
26
1
-76
-12
-5
-44
36
-49
10
-5
-47
-58
-43
3
-10
-3
-1
5
8
-53
-2
-46
33
30
15
-14
-1
54
63
-22
53
14
-2
-19
60
-10
7
-5
-158
74
-50
-38
3
0
-47
-45
-84
72
63
-6
32
-75
-4
14
-113
25
-18
-35
-2
-51
96
-33
-27
8
18
6
-25
-52
-74
-49
-2
0
14
-15
33
-25
13
-27
-34
-9
0
-31
11
0
0
0
0
0
0
0
0
0
0
0
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
-9
-5
0
5
0
-2
33
64
-2
-1
6
-3
0
0
-10
9
-31
0
0
-46
0
0
-21
0
0
0
0
-22
7
22
0
0
-4
0
-50
-75
-60
-17
-39
-57
33
0
0
0
0
0
0
0
-36
29
-32
-7
12
-33
10
-50
0
31
-19
18
0
-68
-9
6
0
5
-47
35
-56
-114
16
0
23
-5
0
-72
-4
-42
0
0
6
-11
-204
0
0
20
0
0
2
-4
0
15
73
-41
4
-103
0
49
14
-1
-4
-26
0
7
-22
-41
-2
61
-4
-3
0
24
-8
8
61
44
0
-6
14
0
89
-16
-15
50
-4
-7
18
0
-14
-28
1
-2
70
-56
0
-62
-52
132
-29
2
40
0
-1
25
0
-6
0
-29
18
16
-1
51
7
0
14
11
-6
1
-2
0
50
-37
-21
5
-1
-36
-36
79
2
0
11
44
65
65
32
-28
9
-65
76
-64
33
48
0
-80
19
-82
-37
16
-85
28
1
29
9
-43
-3
-15
-52
0
-10
-31
9
-117
16
-47
4
-1
9
-61
-52
0
-5
-2
1
0
-4
-101
0
-5
-12
21
10
-2
0
-21
-36
-23
53
11
-3
-16
4
-5
-16
-164
-142
1
0
-17
-17
37
1
3
2
61
-46
0
5
29
128
92
0
-6
1
1
-53
-91
-46
-56
-9
19
0
-10
-76
-33
-16
0
-78
0
-64
17
-4
-15
0
-41
33
5
-2
-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
3
26
0
0
0
0
0
0
-1
0
0
0
0
7
0
34
0
37
0
0
-8
0
-14
2
0
0
0
0
0
6
65
0
0
0
0
25
-5
0
-3
20
-134
1
0
0
0
0
0
0
0
14
-6
0
-9
-1
-5
8
-35
-32
0
0
11
0
0
-24
-18
-3
0
-68
-4
-2
11
-23
0
0
-18
0
46
0
14
0
0
22
-1
15
0
-1
51
0
0
0
14
0
49
45
2
-6
43
0
-2
17
0
0
26
0
0
45
-1
-2
109
40
-21
0
-12
5
0
3
39
0
0
-7
98
0
20
-45
0
0
59
-5
0
0
15
0
0
-9
-5
0
-59
37
0
8
0
42
0
0
0
0
-2
1
18
-10
-51
5
0
0
0
-9
-11
-1
0
0
0
0
-30
-1
-20
49
25
0
-12
24
0
27
4
0
0
82
7
0
46
58
101
-4
-6
-10
5
-11
-95
0
9
-21
3
0
4
-27
-63
0
0
20
0
0
-34
-2
0
15
-36
1
0
45
37
21
0
21
0
0
0
0
-6
0
10
-13
-4
0
0
0
0
24
0
-18
10
0
7
-7
-51
0
2
-41
8
-4
18
-48
0
-9
36
0
1
-15
3
0
-16
60
-9
6
-2
-52
0
29
10
2
0
0
-50
0
0
3
0
0
0
-63
0
137
0
0
0
0
-1
-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
45
0
0
0
0
0
-1
-4
-6
0
0
0
0
-2
0
11
0
3
0
0
-5
0
0
17
0
0
0
0
3
5
10
0
0
14
0
-15
-2
-5
0
-43
-95
-8
0
0
0
0
0
0
0
-41
8
0
-5
34
43
0
-75
159
1
8
-1
3
17
11
9
0
0
3
-1
-1
-65
-11
0
-5
6
-1
52
18
-11
0
0
0
0
-50
0
0
14
0
0
0
-3
25
88
-34
-1
0
-2
0
8
-12
7
0
15
1
0
61
-2
-2
-9
23
21
0
-48
-61
-1
0
-88
0
0
-44
-36
0
0
40
1
-5
-2
45
0
-1
59
0
-10
3
-62
0
44
5
25
0
0
-6
0
0
0
0
-4
0
-41
5
-2
0
1
0
-2
-29
18
0
0
0
0
33
13
7
-7
-4
2
0
-2
23
-5
6
14
0
-3
-29
-25
0
-1
-32
21
-4
49
15
11
0
33
17
0
-5
-4
-1
0
-18
-2
-4
20
-25
-1
0
2
11
1
0
-27
0
1
-2
11
-4
0
-34
8
0
0
8
0
0
-61
-9
0
0
0
0
-3
30
7
23
6
0
0
0
-128
0
-4
-9
0
0
-11
-56
0
-20
17
0
0
-1
-15
-1
11
-31
-5
0
-5
115
0
34
-24
-2
0
0
-51
0
0
-10
-2
0
0
49
0
-11
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
-57
-43
0
16
0
102
20
34
-46
0
0
-9
-1
-24
0
-31
0
-11
1
0
-51
0
0
-24
0
0
0
0
3
2
-15
-1
1
0
0
14
9
-6
-4
42
-95
57
0
0
0
0
0
0
0
-19
10
33
-4
85
25
56
9
14
20
11
-23
0
-11
-31
-39
11
7
57
-25
-24
-57
-15
0
0
0
-1
-77
-1
-36
0
0
-5
55
-91
0
0
-4
0
-3
0
-107
0
-17
-14
2
14
-100
0
-33
24
9
0
-14
0
0
-10
18
43
-13
-16
-13
10
30
-12
8
23
23
4
-8
8
5
-14
-13
35
3
2
-45
3
-2
14
-35
13
-71
11
-29
0
-11
-56
-17
16
4
-38
0
0
9
-17
-43
0
9
-110
-32
0
-19
-1
0
-3
29
-2
1
0
0
23
-26
50
-87
47
-57
-4
-18
-14
20
-1
4
-5
10
-16
19
-36
55
-31
-4
-2
54
13
5
21
-18
45
-20
-36
-16
80
-5
-79
-74
-31
-22
-32
0
0
-59
-1
-7
5
-89
0
0
-51
29
-71
0
23
21
0
2
16
-10
0
34
-73
-2
0
23
0
-14
12
-3
-5
8
6
7
-2
3
4
-8
-43
-21
0
25
-25
5
-139
56
-14
31
-36
-17
35
50
-3
-59
16
44
-21
0
59
-1
35
9
3
13
0
9
20
-1
-53
-1
-46
0
100
-7
-1
11
0
-40
-14
72
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
-103
0
0
0
0
21
9
1
2
0
0
-33
0
5
0
3
0
-6
0
0
-7
0
0
5
0
0
0
0
0
5
-52
0
0
0
0
-53
36
-1
0
52
-6
7
0
0
0
0
0
0
0
-114
-39
0
-3
-47
0
-16
-20
90
-9
2
-43
0
-38
-33
2
0
14
-73
0
-68
-75
-25
0
0
-23
0
-53
-7
26
0
0
-6
0
5
0
-1
-8
0
0
0
-8
-1
-2
-33
-29
-3
0
0
47
-8
0
0
-27
0
0
-53
-23
0
7
31
-2
0
-47
-29
0
5
-42
0
-1
-11
12
11
-3
32
0
0
-53
-9
0
0
-37
0
-8
4
-89
0
-67
-26
0
7
-8
19
13
0
9
0
-5
0
18
-16
106
0
0
-1
0
-26
13
2
0
0
0
-59
6
10
-8
-71
0
0
-12
15
0
0
-88
0
-6
-47
34
0
-10
85
0
0
38
2
0
-39
44
0
2
-22
20
0
9
-20
0
-7
16
46
0
0
17
3
90
-13
17
0
22
4
-2
18
0
4
0
18
0
4
-13
0
-22
-27
0
0
0
0
0
-2
1
74
4
0
-4
32
21
0
0
39
-6
1
10
34
0
-77
4
0
0
-5
5
-3
11
-33
4
0
6
16
0
-61
53
0
45
0
-7
0
-3
-46
0
12
0
-23
-1
-77
-23
0
-34
0
19
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
22
49
-5
-1
4
-1
0
-74
31
0
-1
5
20
0
0
52
0
27
0
-6
0
0
3
-9
0
0
2
0
-2
-2
43
0
-3
7
0
38
22
-2
19
-40
-1
0
0
0
0
0
0
0
0
-71
-2
3
-3
-30
-11
0
-26
-77
2
-4
15
-1
0
-13
44
-3
-1
-21
-51
0
46
42
4
0
-113
45
0
-17
21
9
0
-36
-45
7
0
-17
-34
0
0
10
0
0
18
-3
-22
-9
21
0
58
18
-7
0
5
-1
0
14
21
19
63
35
48
0
-13
51
-23
48
32
47
0
-46
-62
0
20
-30
-21
0
-5
-26
0
0
14
54
-1
-80
-29
0
-15
-13
-6
0
-72
-2
0
-3
4
15
2
0
3
-83
-63
0
20
0
0
2
-54
-1
-5
0
0
24
47
-69
44
118
21
0
-10
11
-4
-21
11
-2
0
77
50
-16
-49
61
23
3
-41
2
1
26
-16
0
0
-30
-40
15
5
-17
26
-5
149
17
0
1
30
16
0
49
22
-2
-14
27
-107
0
0
3
16
-13
0
44
0
0
5
-62
3
-19
-15
0
1
-2
0
23
7
-2
0
-23
22
-2
43
104
-23
0
51
-14
31
63
-2
32
0
2
-22
5
-58
-4
101
0
115
-56
-9
-56
-19
-6
-10
-4
-5
0
-11
-27
11
-4
-2
16
-2
34
1
26
1
0
-21
-5
7
-2
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
-6
43
-15
46
13
-28
-40
-2
45
0
0
68
0
16
0
0
-5
0
3
-8
-3
7
48
-46
-3
22
-53
1
7
-49
-59
25
17
-13
-24
0
0
0
0
0
0
0
5
-75
55
20
-51
-43
-17
-107
-27
-104
-5
-101
-28
-15
-64
12
-10
-5
6
-50
-1
-44
-69
2
-5
9
-16
-36
-1
-7
0
0
27
-5
-11
0
-4
-26
0
-1
-34
-37
-1
1
-67
-60
-31
15
0
22
1
-6
-2
-29
-5
-4
9
9
10
9
-6
-32
6
-21
-4
32
-34
2
39
-22
-44
-3
17
5
13
-66
-11
24
5
2
-2
-5
-53
-17
-43
1
18
-22
26
-10
-2
-2
-8
-1
-2
26
-86
-27
0
6
-95
-97
0
-4
-15
-1
4
-87
0
2
16
-20
-121
-30
35
1
-25
5
69
7
-1
-5
-8
3
9
114
-64
8
51
7
-33
-48
-26
7
4
107
-42
-13
-41
-62
-43
3
22
-43
-11
-21
-15
-13
-14
52
-8
16
-43
5
-14
-14
-4
37
1
-57
5
0
-24
56
8
-6
-43
13
0
-4
24
-30
33
-12
-6
-10
-25
-24
30
-71
-111
-77
-32
-20
-3
-120
28
-35
-43
-31
7
41
-96
47
35
-49
8
-17
40
-51
17
-71
-90
-2
-14
-2
22
-47
-32
1
21
-18
-4
77
63
-50
-20
-3
-8
7
11
8
20
-14
0
-33
-41
-17
5
-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
-2
-58
0
0
0
-5
-3
0
6
0
-56
0
0
-58
0
0
-10
0
0
0
0
0
-20
-33
0
1
-2
0
-42
14
43
0
-45
-69
-9
0
0
0
0
0
0
0
-60
105
0
8
-11
-33
25
-24
-190
0
29
42
6
-36
-17
0
80
-45
-77
-5
-16
-14
3
0
0
23
8
-15
-2
-80
0
0
5
2
-72
0
2
-76
0
0
2
5
0
-41
-39
14
9
-9
0
4
23
-6
-4
-19
0
0
34
46
0
-4
-41
-81
2
0
-4
8
17
-16
7
0
61
38
14
-14
-9
15
0
55
0
5
-6
-41
-8
7
20
-50
-1
-107
-55
16
6
-9
-18
0
0
-15
-14
-56
0
-1
-53
-40
0
-6
-1
0
1
-6
0
0
4
0
1
44
-36
63
-27
-18
-10
14
5
-6
5
-89
-3
0
17
-21
14
-45
-30
-50
-3
-44
89
0
4
-19
5
13
-106
0
-10
1
-1
-36
98
-6
-36
0
-4
-53
0
-32
47
42
-1
0
87
-11
-124
0
15
0
0
0
-55
2
5
10
9
10
0
0
4
-5
-14
4
43
26
20
-2
30
24
4
38
-33
-9
0
31
-59
-2
60
63
-4
18
-24
5
-1
-25
-11
8
-14
-5
0
52
-31
-94
-14
-5
3
-19
0
14
-14
5
-2
-10
81
-9
-137
-3
0
-13
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
0
-1
0
-7
0
53
0
0
-5
0
0
-52
0
0
0
0
0
1
7
0
0
0
0
0
1
0
0
-9
24
0
0
0
0
0
0
0
0
-2
0
0
0
4
22
3
32
-30
0
0
90
0
6
80
-2
0
0
21
0
-1
-4
75
0
0
2
0
6
1
0
0
0
-4
-2
51
0
0
-2
0
0
0
10
0
-24
43
-3
-13
0
0
-16
20
0
11
-5
0
0
71
5
0
109
28
15
0
-88
57
0
2
-8
1
0
-55
-9
0
0
-68
-2
0
-9
-37
0
0
-24
0
0
-4
-19
0
-1
10
0
0
0
22
0
0
0
0
0
0
-4
-8
-3
0
0
0
0
4
24
0
0
0
0
0
50
0
0
-10
0
0
15
-58
0
0
109
0
0
-1
57
0
20
43
0
0
-14
95
-4
14
-53
0
-1
1
-92
0
-6
-41
4
0
0
2
0
0
-7
0
-4
0
-3
0
0
5
0
-19
0
56
0
0
0
1
5
0
20
9
0
-1
0
0
0
-65
0
0
10
0
0
-3
14
0
3
-19
0
0
0
75
0
19
-4
0
0
0
9
0
0
5
-1
0
-2
-88
0
34
0
0
0
2
-68
0
0
13
0
1
0
-50
0
-8
0
4
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
-4
0
0
0
0
0
0
0
0
-104
0
0
45
0
0
-14
0
0
0
0
0
-3
-13
0
0
0
0
0
7
0
0
17
-3
0
0
0
0
0
0
0
0
11
-3
0
4
-37
-3
-1
-36
-3
0
0
-1
0
2
32
0
0
0
54
0
-2
-3
0
0
0
0
0
-3
0
0
0
0
0
0
80
0
0
-1
0
0
0
0
0
-17
0
-1
26
0
0
0
-5
0
0
-10
0
0
-15
-109
-1
77
-49
7
0
-5
-8
0
10
-19
0
0
-19
-1
0
0
-17
-2
0
24
45
0
10
-19
0
0
1
44
0
-8
1
7
0
0
-46
0
0
0
0
0
0
21
-1
0
0
0
0
0
27
0
0
0
0
0
0
3
0
0
-15
0
0
-1
-20
0
0
21
0
0
14
-86
0
0
-11
-3
0
-2
-65
0
0
-34
0
0
-3
-63
0
0
5
-2
0
-8
2
0
0
-4
0
0
0
-5
0
5
1
0
-3
0
-70
0
0
0
-1
0
0
-58
0
0
0
0
0
0
-25
0
-2
-13
0
0
0
20
0
3
33
-1
0
0
-25
0
3
-1
0
0
0
-10
0
0
-2
0
0
0
5
0
-2
-1
0
0
0
43
0
0
-1
5
0
0
-81
0
-4
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
0
0
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
-33
0
0
31
0
0
-41
0
0
0
0
0
4
-2
0
0
0
0
-3
4
0
0
-26
-3
0
0
0
0
0
0
0
0
-52
-5
-1
0
27
-2
0
-97
-3
0
0
5
0
-1
-34
27
0
1
63
0
7
-9
33
0
0
23
0
-1
0
1
0
0
0
0
-98
0
0
0
0
0
0
-5
0
-53
-1
0
0
11
0
0
47
0
0
-2
0
0
-17
54
0
-36
-48
-3
0
-81
38
0
0
-55
-1
0
-14
-45
0
0
-32
0
-1
14
-43
0
0
26
0
14
2
56
0
-21
-2
-25
0
0
15
0
0
0
0
-1
0
22
-3
6
0
-3
5
5
-80
0
0
0
0
0
3
-6
-5
-4
0
-3
0
19
-24
0
1
10
0
-1
-4
-95
-3
-2
24
3
0
4
-48
0
0
-16
0
0
0
-37
0
5
-10
2
0
-2
9
0
0
-1
0
-4
-3
-102
0
0
0
-2
-9
0
-26
0
0
0
0
0
0
12
0
0
0
0
0
0
-27
0
1
0
0
0
0
54
0
0
-7
0
9
0
-71
0
15
6
0
-2
27
42
0
0
27
19
0
0
-73
0
-8
-1
0
0
0
2
0
0
0
57
0
0
-62
0
18
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
6
0
0
8
3
0
0
0
0
38
0
0
-1
0
0
-21
0
0
0
0
0
0
2
0
0
0
0
-7
10
0
0
-3
-1
0
0
0
0
0
0
0
0
-64
4
0
0
-111
0
0
-93
-1
6
0
-1
0
3
-21
0
0
0
27
0
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-3
0
53
0
0
17
0
0
-8
33
0
0
3
0
0
3
-21
0
-61
-45
-3
0
4
-74
0
14
-69
0
0
0
-51
0
0
-44
0
0
5
-33
0
0
-48
0
0
-2
-73
0
-80
8
5
0
0
7
0
0
0
7
-3
0
-45
-1
0
0
0
0
0
-8
0
0
0
0
0
0
-74
0
0
17
0
0
15
-69
0
0
-60
0
0
-25
48
-2
0
-32
0
0
20
-5
0
0
-22
0
0
-5
-27
0
0
-23
0
10
0
27
0
0
-2
0
-1
0
-53
0
0
8
1
-2
0
44
0
0
0
-2
0
0
15
0
0
0
0
0
0
-5
0
4
0
0
0
0
8
0
-5
-2
0
0
5
17
0
0
3
3
0
0
33
0
0
8
0
0
0
-68
0
33
-17
0
0
0
55
0
0
3
0
0
0
-56
0
-22
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
0
11
36
2
0
-29
0
5
0
4
0
0
-5
-5
0
0
0
0
-1
-76
-120
-11
-1
0
0
-87
22
-5
0
-61
-5
0
0
0
0
0
0
0
0
7
42
0
-1
6
6
0
-43
37
8
0
18
0
1
-70
43
7
-2
40
-45
0
56
18
5
1
-49
-13
0
0
34
0
0
2
-22
-4
0
-4
-92
0
0
-5
0
-5
-32
28
15
-8
48
0
-3
-20
13
-51
-32
-2
0
-57
5
8
-13
17
6
0
36
61
2
9
35
1
0
-5
-6
0
22
-9
-2
0
-5
-56
0
15
-43
-8
0
-9
-16
0
12
8
-30
0
-48
23
0
0
-47
40
0
0
-8
-88
-72
0
41
0
0
-42
-66
9
0
0
0
60
6
25
-5
27
26
-5
25
32
0
0
6
-5
0
33
36
0
11
77
41
0
13
17
16
50
55
51
0
-57
-11
1
24
30
-46
0
-33
-28
6
4
-9
1
-4
56
45
-2
0
-26
36
8
0
13
-2
-4
0
19
0
0
-22
-107
43
15
2
0
19
2
-7
-59
42
0
0
-25
14
0
-36
-39
-44
0
-100
12
0
-30
-7
9
1
-7
-15
0
7
11
5
0
16
-18
0
13
40
-5
0
47
-15
0
14
86
57
0
14
-12
0
26
41
23
0
0
6
4
-21
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
32
5
-33
0
0
-14
0
0
-104
0
1
0
1
0
-14
42
24
0
0
0
5
-6
4
-1
10
-147
-2
0
0
0
0
0
0
0
30
48
0
6
16
8
24
23
20
-6
-2
-81
-1
-83
97
90
0
-8
-60
38
-72
13
127
0
6
84
-4
-90
0
-67
-1
0
-75
-56
-69
0
0
37
0
6
-1
-3
0
-14
71
9
-5
-2
0
-66
22
0
2
5
6
0
-39
-12
0
-17
-9
-24
0
18
-29
-2
22
-10
-4
-10
35
20
0
0
-9
-16
6
-2
-1
0
20
-17
10
-21
31
18
-3
-56
-118
1
1
0
-99
0
0
-14
0
17
0
-3
33
4
-17
-6
0
0
-29
-20
-2
-4
0
0
5
16
-5
-9
-10
-14
-5
-43
-21
-2
-5
-49
4
-1
-33
-57
0
11
-36
21
0
-33
-5
-27
35
-1
-34
1
3
58
2
-4
19
12
13
2
5
0
-4
-45
-2
-77
0
-74
0
-7
-14
21
13
0
-57
3
0
0
23
-9
0
-125
-14
-7
0
0
0
-2
8
5
-14
-23
1
1
-14
-30
0
9
3
-9
0
-6
-12
0
53
-21
32
-1
-11
-108
0
-4
-5
-43
17
0
-3
2
-8
78
22
3
-6
-6
-2
-2
-18
51
-7
0
-51
0
-26
-4
-4
-7
0
-114
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-137
0
-4
-16
0
0
1
0
0
2
0
6
19
-51
0
13
0
0
-53
21
20
8
-30
3
-1
0
0
0
0
0
0
0
-9
-26
-20
7
-76
-50
35
-4
-5
-5
43
16
25
-11
-93
0
0
-1
42
-38
-33
-32
0
9
24
19
3
-28
14
-30
0
-2
-23
37
-86
0
-1
-55
0
0
0
-3
0
12
-60
-58
0
50
0
2
-22
7
6
12
0
0
-23
73
-13
-49
-59
-17
0
8
4
8
3
-55
11
0
-74
-23
-7
-1
-90
-27
-8
54
43
5
0
50
-2
-3
33
0
-2
-14
25
19
-4
-2
-57
0
-1
0
-8
-6
0
41
25
35
1
13
0
0
-7
14
23
9
0
0
15
16
-71
76
-10
-45
10
-26
34
32
22
-66
-1
-8
-56
-78
-53
-102
-34
81
-13
0
-38
-16
5
24
-2
-14
33
71
-2
-12
13
28
-6
14
0
-5
2
1
55
-9
-20
-55
0
-4
-33
37
-132
0
-28
-1
0
0
57
3
0
8
19
4
13
0
4
25
-64
50
4
-78
1
0
4
25
2
21
37
-53
0
-3
48
14
33
-79
7
-6
-3
-68
-2
-59
25
-74
2
-53
-25
0
-18
-68
-5
-2
15
0
0
-8
-114
21
-18
0
24
0
13
-24
0
-6
0
-11
-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
-2
0
0
-24
0
0
-56
0
0
0
0
0
0
-3
0
0
0
0
0
7
0
0
5
-11
0
0
0
0
0
0
0
0
100
-17
0
6
-61
-22
11
-32
1
0
0
-37
0
-1
0
25
0
0
-25
14
34
-7
-15
0
0
10
0
14
0
-2
0
0
0
0
78
0
0
-4
0
0
11
3
0
32
2
-1
-2
0
0
1
-33
0
0
0
0
0
-26
-29
0
72
76
73
0
66
23
0
0
13
0
0
-79
30
0
-11
143
-14
0
20
18
0
0
1
0
0
-1
-46
0
15
-3
0
0
0
-37
0
0
0
0
0
0
-26
7
82
0
-3
0
0
-9
-5
0
0
0
0
-1
-6
0
2
7
0
8
-3
-36
0
0
52
0
0
4
-14
0
4
-51
5
0
50
-75
0
0
-40
-5
-4
0
14
0
-4
-11
0
3
-1
-109
0
0
-9
2
6
-3
-23
0
0
-4
-5
5
0
-8
0
0
0
0
0
0
-27
4
1
-3
0
0
0
4
0
-6
0
0
0
0
18
0
0
53
0
0
-44
1
0
14
-11
0
0
4
-53
0
0
9
0
2
-6
38
0
-24
0
-9
-1
0
-29
0
0
0
-8
0
0
-64
0
-5
0
0
4
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
41
0
0
0
0
0
-86
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
4
-14
0
0
0
0
0
0
0
0
-15
9
0
0
4
-1
0
20
21
0
0
-1
0
0
-1
43
0
0
25
0
0
-2
41
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
10
0
0
0
11
0
68
1
0
0
0
0
0
20
0
0
-2
0
0
-14
2
0
-73
45
-1
0
-4
-77
2
0
-24
0
0
5
8
0
-3
14
5
0
-5
22
0
0
4
0
0
0
-48
0
-21
3
-3
0
-1
-11
0
0
0
0
2
0
-11
-4
1
0
0
0
0
-33
0
0
0
0
0
0
-8
-7
0
0
0
0
-4
-27
0
0
4
0
0
13
-32
0
0
16
-4
0
0
6
0
0
-9
0
0
0
45
0
0
-10
0
-3
0
-43
0
0
-1
0
-2
0
-43
0
0
0
0
-1
0
-107
0
0
0
0
0
0
-24
2
0
0
0
0
0
-25
0
2
0
0
0
0
-31
0
0
0
-3
0
6
-10
0
0
2
0
0
0
-27
0
0
-1
0
0
0
20
0
-1
-1
0
0
0
-5
0
0
0
0
0
0
11
0
-2
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
6
0
2
-13
0
14
0
0
-3
0
0
0
0
0
0
-30
0
0
0
0
-5
-23
-2
0
-43
-26
-36
0
0
0
0
0
0
0
0
0
-4
-1
-61
-31
-56
-45
-33
0
0
43
4
-18
-27
0
0
0
-1
38
-11
38
-30
0
0
4
19
10
-13
53
0
0
9
5
16
0
0
-100
0
0
-5
28
0
12
4
-1
-15
-1
0
9
4
0
0
-13
-6
4
-31
14
0
-8
-94
-52
0
-23
-12
5
-3
-25
0
0
-86
-15
0
0
-65
31
-11
-44
-21
-4
-14
-43
-7
-18
50
-27
0
-10
48
-24
-13
48
2
0
-1
0
-20
9
0
5
-45
-15
0
-94
0
0
-17
15
0
0
0
0
3
-10
-11
0
-34
16
-8
11
-6
0
0
0
-3
50
-29
-24
60
-21
-70
33
-20
-38
-40
-8
-8
-9
-6
35
3
-24
15
-2
19
-74
-14
9
9
0
15
-4
-13
4
45
-26
0
0
0
-16
-23
0
-16
3
0
0
-25
9
0
-44
1
-1
0
-6
15
0
-92
0
-75
-1
1
-23
-2
-22
1
-1
56
-16
11
1
-25
0
-35
36
-5
4
9
6
0
-8
14
-86
-61
-9
-51
-1
-109
36
-13
5
11
9
0
0
-14
-34
1
0
2
0
-47
0
16
2
0
-53
-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
5
0
0
-64
0
0
14
0
0
0
0
0
-65
52
0
16
0
10
33
-42
0
0
19
-2
-29
0
0
0
0
0
0
0
0
70
0
-31
-25
-4
-4
-30
7
0
0
30
0
-3
-108
-2
0
0
-66
5
-35
-31
-17
0
0
-45
0
14
1
19
0
0
-4
0
20
0
8
-14
0
0
0
34
0
5
24
-5
6
0
0
-12
-17
0
0
-5
0
15
-5
28
0
36
1
0
0
-99
-96
0
-5
0
0
0
21
-129
0
-8
-29
0
-9
-11
-50
0
0
-66
0
-5
-76
50
0
9
42
1
8
4
-14
0
0
-7
0
-24
0
-27
-25
0
0
0
0
-4
-26
8
-3
-5
0
3
-2
17
0
41
57
0
-5
-74
-1
0
-6
-53
0
11
35
-74
0
0
24
-7
7
-38
24
0
25
-92
0
-15
82
-10
0
1
47
0
-4
56
-12
0
0
-2
0
49
1
-4
0
1
46
0
-73
0
-6
18
0
0
0
40
0
53
5
0
9
0
0
0
-12
0
98
7
0
0
11
54
0
0
-42
0
17
15
11
0
-81
54
0
1
6
81
0
-2
-9
0
9
15
-4
0
36
11
0
7
8
-37
0
0
23
0
3
0
62
0
72
-8
0
-2
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
-1
0
-34
0
0
0
0
0
7
0
0
0
0
3
-33
10
-3
6
0
0
54
-60
-6
-3
-55
-6
-1
0
0
0
0
0
0
0
-44
-39
0
1
-89
47
0
-1
53
0
-2
-7
0
0
77
12
-8
-2
2
40
0
-38
-14
9
0
18
-5
0
53
26
0
0
11
43
-2
0
0
38
0
0
0
0
-1
-32
-69
56
16
21
0
6
11
0
0
28
-3
0
17
-17
0
42
-5
-27
0
-34
35
0
26
-16
3
0
-96
-8
0
5
-27
2
0
7
15
0
6
25
61
0
81
-29
0
-54
7
2
0
118
17
10
5
64
25
0
0
39
-83
-34
0
-53
0
0
-21
42
-7
-1
0
0
-67
-22
14
-3
-12
36
4
12
45
0
-16
-14
-6
0
-24
20
7
16
-47
-62
-2
55
16
-14
-11
95
-8
0
-17
-2
-9
-2
38
34
0
-28
-21
0
11
-44
3
0
0
-7
-7
27
-44
-16
-3
0
36
5
3
0
1
0
0
9
43
-18
5
10
0
-9
29
-4
20
4
0
11
27
53
0
7
63
11
0
62
59
0
66
85
-9
0
54
-64
0
-36
4
-3
0
-15
-1
0
82
14
-2
0
-10
-12
0
-45
-62
-1
0
9
-31
0
26
-56
2
0
0
7
-35
-51
-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
-50
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
15
1
-3
0
0
0
0
0
0
0
-17
-4
0
0
-48
0
0
92
-13
1
0
-10
0
3
9
-3
0
0
-31
0
1
-1
0
0
0
20
0
0
1
-37
0
0
-1
0
-1
0
0
-8
0
0
0
0
0
-49
0
0
0
0
0
0
-29
0
0
0
0
0
-14
-46
0
27
25
-8
0
-6
13
0
0
26
0
0
-2
26
0
0
-34
0
0
0
-32
0
0
1
0
0
0
-2
0
-13
-1
0
0
0
36
0
0
0
0
2
0
-13
-3
0
0
-3
0
0
43
0
0
0
0
0
0
20
0
0
0
0
4
0
-33
0
0
0
1
46
-1
-7
0
1
0
0
0
0
-126
0
0
-2
0
0
0
-9
0
0
14
0
0
7
57
0
0
0
0
-6
0
48
0
0
8
4
-13
0
-79
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
1
3
0
0
0
-35
0
0
0
0
2
0
-5
0
-2
-1
0
0
0
-79
0
0
-2
-6
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
0
0
0
0
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
45
0
0
13
-5
0
0
0
0
0
11
3
0
-2
5
0
0
0
0
0
0
0
0
-48
-5
0
13
16
2
0
7
-44
0
0
60
-3
7
22
-2
0
-4
73
2
0
3
-54
0
0
8
0
-1
-33
0
-1
-2
3
-2
-7
0
0
-14
0
0
1
0
0
-14
0
-4
4
0
0
57
-18
7
0
0
0
0
47
13
-2
15
25
-39
0
-80
5
-2
5
7
0
0
19
-6
0
0
-32
-11
0
-69
-21
0
0
-23
27
0
80
-54
0
-39
26
0
0
0
0
5
0
0
0
-2
0
-16
-6
-23
0
0
0
0
-15
0
0
1
0
0
0
-44
48
-5
-8
3
0
55
-27
-4
2
-50
0
0
-46
91
0
-9
46
1
4
23
-31
1
0
-44
6
-1
57
2
0
-2
-1
-1
0
-1
-54
0
0
17
1
-2
0
0
0
0
2
9
11
0
-74
0
-1
0
0
0
0
-78
-6
29
0
-1
0
-5
6
15
-71
13
0
2
18
-89
11
-5
-7
14
0
0
-27
0
-58
-36
1
0
-17
-49
0
-11
27
48
0
0
-22
0
-109
-1
0
0
0
-7
0
0
-14
5
0
0
0
0
-43
-2
-2
13
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
-78
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
75
0
0
0
0
0
0
0
0
0
-72
5
0
0
81
-1
0
-62
-1
0
0
0
0
0
-7
0
0
9
-8
0
5
-5
3
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
5
0
0
0
-5
0
-46
0
0
0
0
0
0
50
0
0
0
0
0
5
71
0
-52
-93
0
0
-5
-83
0
0
16
3
0
-15
27
0
0
-4
0
0
-1
-19
0
0
-5
0
0
-1
6
0
-45
4
0
0
0
0
0
0
0
0
0
0
-33
14
0
0
0
0
0
24
-4
0
3
0
0
0
-118
0
0
5
3
0
2
-70
0
0
-10
0
0
2
-47
0
0
8
0
0
2
85
0
-1
-18
0
0
0
3
0
4
2
0
0
-2
51
0
0
5
0
0
0
-6
0
0
0
0
20
0
53
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
27
0
0
0
0
0
0
50
0
2
0
0
0
0
-16
0
3
0
0
0
0
20
0
-1
0
0
0
0
8
0
0
0
0
0
0
-81
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
-4
-1
-8
-54
-80
-18
8
24
-57
19
18
111
11
-50
-47
35
1
2
7
0
0
0
0
0
0
0
-3
32
11
5
-13
18
-32
-2
2
-29
-24
19
8
19
-57
75
-26
-33
-8
31
33
-14
-61
-58
-35
-1
-13
12
-31
10
-22
59
86
7
9
-52
29
-23
-22
-11
-75
11
44
4
21
13
-50
-7
30
40
-20
-6
-18
-26
-72
-63
14
-2
-51
7
-23
6
-59
15
-20
-56
-67
-18
21
-41
8
-2
-41
-93
-3
-21
0
-11
5
26
-20
3
-39
-43
2
-3
-17
-79
25
-4
5
-33
-8
17
-48
18
56
3
-43
2
-44
-46
-52
3
51
-49
2
-18
12
-100
-101
-41
-23
-11
1
-53
-14
-1
-75
2
-24
13
-57
-26
69
43
2
-3
42
-2
0
-13
24
24
5
-78
-33
4
-75
-22
4
-4
14
-27
-14
-4
12
-20
-13
-6
40
-6
-10
-6
10
-12
42
-6
-45
-27
9
-5
-9
-14
-45
14
46
30
-22
-9
-32
-13
-37
-37
-14
-31
2
-34
4
-44
-50
-81
-31
-7
-47
-47
-24
-53
20
-21
-21
-26
-19
-25
30
-26
0
-2
57
-32
-12
-7
32
-51
3
25
-77
5
35
-40
24
7
-67
71
-52
-8
-6
70
-1
-19
-41
-38
6
12
3
25
-17
58
-13
-44
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
4
-10
0
0
0
0
0
0
0
-81
0
0
0
-43
0
0
-155
0
3
0
-22
0
0
1
0
0
0
-13
-14
0
2
-6
0
0
-2
0
0
0
17
0
0
0
0
-2
0
0
-9
0
0
0
0
0
-32
0
0
0
0
0
0
-33
0
0
0
0
0
-11
-34
0
-8
13
0
0
5
-21
0
0
27
0
0
59
-41
0
0
32
2
0
-5
-24
0
0
-1
0
0
1
0
0
-77
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
-32
0
0
0
0
0
0
-71
0
31
-1
4
0
0
-104
0
-1
-3
0
0
-1
-77
0
-3
2
0
0
13
13
0
0
0
0
0
0
16
0
0
8
0
0
0
34
0
0
0
0
0
0
-17
0
0
0
0
-1
0
-19
0
0
0
0
0
0
25
0
0
0
0
0
0
45
0
45
0
0
0
0
-46
0
0
0
0
0
7
49
0
9
0
0
0
0
9
0
0
2
0
0
0
-19
0
34
0
0
0
0
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
-23
0
0
0
-90
0
0
33
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
-19
0
0
1
0
0
0
0
0
-30
0
0
0
0
0
0
45
0
0
0
0
0
0
10
0
43
-13
0
0
-21
9
0
0
0
0
0
11
-3
0
0
-34
0
0
18
3
0
0
2
0
0
-1
34
0
-44
10
0
0
1
4
0
0
0
0
0
0
16
0
5
0
0
0
0
-30
0
0
0
0
0
-2
-3
0
0
-4
0
0
4
-98
0
0
2
0
0
0
-43
0
0
-8
0
0
-13
-31
0
0
-7
0
0
-6
28
0
0
-8
0
0
-1
5
0
0
0
0
0
0
2
0
0
0
0
-10
0
18
0
0
0
0
0
0
32
0
0
0
0
0
0
37
0
0
0
0
0
0
7
0
0
14
0
0
0
6
0
1
-1
0
0
0
59
0
0
0
0
0
0
-43
0
-3
0
0
0
0
5
0
0
0
0
0
0
3
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
-4
0
0
0
0
-5
-56
-53
-3
-17
-2
0
-14
-22
4
5
-33
-5
0
0
0
0
0
0
0
0
-31
-72
-9
9
-19
-69
0
7
-9
25
-2
-29
-3
0
-4
48
0
35
-32
-8
0
36
48
8
-4
7
-23
0
15
100
-3
11
-2
-16
-1
0
-10
-61
0
-1
80
0
6
-14
-44
-58
-6
20
0
9
11
-5
-56
-10
-4
0
35
32
19
24
-2
-50
0
24
24
6
6
-15
-18
0
31
-10
-11
-53
-26
37
0
-46
-2
-1
-44
-8
-40
0
-29
-56
0
-4
32
-14
0
3
-16
20
0
-3
-10
14
0
-14
-175
13
-1
42
0
-23
-3
22
14
11
16
0
20
14
-12
0
37
72
0
19
26
1
19
-1
18
0
41
29
-7
-85
53
28
0
69
36
30
-65
18
25
0
36
5
2
-98
-2
-20
0
97
3
-6
70
5
-31
0
32
28
48
33
-4
40
0
0
-18
25
-18
-8
-5
0
-7
30
13
-25
-14
-37
-1
64
10
45
53
-1
-1
-4
57
28
0
-91
-2
-100
-7
105
-3
6
-11
81
7
0
9
30
11
-39
60
-31
0
108
2
20
18
82
-54
0
-6
19
17
76
5
59
0
29
-4
-3
17
-19
-7
0
0
-3
-44
98
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
-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
5
0
0
0
0
0
0
-60
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
-5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
43
0
0
-10
0
0
0
-2
0
0
2
0
0
0
-7
0
13
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
-26
0
0
0
0
0
-1
-5
0
3
-1
0
0
3
-1
0
0
6
0
0
0
47
0
0
-3
0
0
33
-71
0
0
11
0
0
1
-16
0
-3
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
8
0
0
0
0
0
0
-8
0
0
2
0
0
1
33
0
7
-1
0
0
4
14
0
0
0
0
0
0
-6
0
0
2
24
0
0
36
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
13
0
0
-1
0
0
0
21
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-43
0
0
0
2
-10
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-3
7
-55
10
2
-81
15
-1
2
21
0
0
0
0
0
0
0
-5
8
2
-10
1
6
-12
3
-18
-58
3
-4
15
-19
-13
-21
-28
-11
-9
-6
0
-8
-18
-69
-81
-8
-25
-2
35
14
-148
-78
4
-3
4
17
-10
43
-83
-135
34
9
53
-2
-1
14
39
51
-28
33
-11
-30
12
29
-9
30
-28
-3
-57
-12
-8
-6
41
-3
-1
-69
-52
-1
-27
-65
12
-11
-111
39
-9
5
-35
0
-4
-35
106
-6
37
-25
-1
2
-49
-4
-22
4
-2
-15
-6
-35
-10
-41
37
-3
37
-4
5
22
21
-20
33
159
-6
16
-50
-61
-23
56
10
-8
37
37
5
2
-10
13
-14
-39
49
-6
-19
-18
15
-3
3
17
-1
-34
13
-14
-9
-36
-13
7
-13
7
49
-2
-23
55
-1
-6
25
-16
-7
27
40
-14
39
-8
-20
-6
-17
19
-56
5
21
-56
2
-72
38
-52
28
-9
-86
-13
-20
-51
-6
59
64
12
-12
-91
6
-9
-5
-6
51
-10
10
12
-10
62
-100
22
-11
-42
24
15
-6
-41
-11
0
28
8
-3
-27
-42
-26
-4
-13
-9
-27
-62
38
3
-14
-28
47
8
-2
-23
15
-1
-98
10
19
-22
-11
-5
14
-6
-10
7
-35
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
-33
0
0
0
0
0
0
-1
0
-1
-1
0
0
-1
-10
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
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
-21
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
-10
1
0
0
-1
0
0
-45
-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
-74
0
0
0
0
0
0
7
0
0
0
0
0
0
-15
0
14
14
0
0
15
-55
0
0
-26
0
0
0
-25
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
0
5
-5
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
43
0
0
0
0
0
0
-35
0
0
2
0
0
0
50
0
-2
-2
0
0
0
35
0
0
3
-4
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
-20
0
0
0
0
0
0
22
0
0
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
-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
-14
-1
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
17
-4
0
0
7
0
0
71
-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
7
0
0
0
2
0
8
-5
1
0
0
0
0
50
0
0
0
0
0
0
-16
0
4
5
0
0
-4
51
0
0
-5
0
0
6
-2
0
0
-8
0
0
1
-27
0
0
8
0
0
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
73
20
0
0
0
0
0
-2
0
0
0
0
0
0
-53
0
0
0
0
0
8
-7
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
-6
0
0
0
0
0
0
11
0
0
0
0
-3
0
4
0
0
0
0
0
0
15
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
50
0
0
0
0
0
0
15
0
1
0
0
0
0
8
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
0
0
0
0
0
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
-4
75
0
0
0
0
0
0
0
0
-5
0
0
0
-49
-29
0
-42
0
0
0
29
0
0
9
0
0
0
-85
-5
0
52
1
0
0
23
0
0
0
-10
0
4
0
0
0
0
0
48
0
0
0
0
-4
-42
4
17
0
0
0
-8
-81
2
1
5
0
0
-49
-21
0
87
-8
16
0
35
65
0
0
72
-1
0
5
48
0
11
-25
52
0
-40
-10
0
0
-25
0
0
0
-22
0
16
22
2
0
0
31
0
0
0
0
0
0
16
-20
4
0
-1
0
0
17
-9
0
0
0
0
19
-23
2
0
14
0
0
-9
22
0
-1
45
0
0
-2
-5
0
-4
20
-8
0
0
3
0
14
7
0
0
0
27
0
0
-50
49
0
14
-8
0
-2
-24
0
0
0
-9
0
3
-23
-18
0
0
-4
3
4
0
0
0
0
-6
7
-3
0
0
0
-2
49
0
12
0
0
0
0
124
0
0
-9
1
0
5
96
0
-36
-17
-7
0
0
43
0
0
17
0
0
0
-80
-9
119
11
0
0
0
12
0
9
0
3
0
0
-1
0
33
7
0
0
0
24
-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
-8
0
3
0
-6
5
0
0
0
0
0
0
0
0
-60
1
0
8
60
2
-5
-12
-1
0
0
-10
0
0
36
-2
0
0
39
0
9
1
0
0
0
6
0
0
0
-1
0
0
0
0
-45
0
0
-2
0
0
0
4
0
48
14
0
6
0
0
0
-26
0
0
20
0
0
2
-7
0
-18
-39
0
0
18
-25
8
0
19
0
0
-3
87
0
2
-8
8
0
6
142
0
0
45
0
0
0
-26
0
54
-7
4
0
0
16
0
0
0
0
-4
0
-103
4
0
0
0
0
0
-3
0
0
0
0
0
0
-90
0
3
-7
0
0
0
-100
0
0
-13
0
0
-13
57
-5
0
-7
10
0
-5
14
0
0
-10
8
0
0
2
0
0
-4
-3
0
0
39
0
0
0
0
2
0
1
0
0
-1
2
1
0
40
0
0
0
0
1
0
2
0
0
0
0
0
0
14
0
-8
0
0
0
0
-5
0
0
-5
0
0
1
-36
0
-3
-1
0
0
0
14
0
0
-29
6
0
0
-5
0
-43
0
0
0
0
-34
0
0
0
0
0
0
-110
0
-8
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
-27
41
9
-2
14
-78
2
0
0
0
0
0
0
0
-11
-44
3
-40
27
-10
-57
42
-50
-14
-16
67
0
-63
2
-38
-1
-3
-24
-17
-2
-7
94
0
-1
-17
31
23
-2
16
0
0
2
-20
-5
0
0
99
0
0
0
30
0
0
1
15
0
-4
0
-13
13
13
1
-49
0
7
-42
-29
-51
-39
6
-60
2
22
55
6
23
70
13
-8
-73
-4
0
-20
16
-60
-14
13
-21
0
1
26
10
52
45
-1
0
-63
-34
-72
15
9
12
0
-1
0
-5
-38
0
-14
-1
24
-1
-14
-5
-3
0
5
0
3
0
0
-67
2
-5
-86
-44
6
0
-26
41
16
14
-52
22
7
-9
0
16
-91
1
-32
61
38
18
-6
24
42
34
42
87
-44
-1
24
29
-22
40
67
-21
6
29
-7
3
-42
-33
29
-3
5
43
-29
-39
0
-31
25
0
0
0
-25
5
0
-4
0
55
-3
8
-46
14
-3
-67
-34
9
0
1
5
-5
-26
-32
-4
0
19
-26
-4
18
-45
20
0
81
10
-14
-62
56
14
1
73
-5
7
-88
-37
0
-22
5
47
26
8
10
8
13
0
-48
0
-44
24
-1
-62
0
-32
63
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
-41
46
-5
41
-19
-21
7
0
0
0
0
0
0
0
-9
-1
-33
-44
-43
-63
-27
-4
32
0
-2
-34
7
-74
-1
90
-2
-2
-60
-18
-71
-63
28
0
0
-86
1
-49
-14
-62
0
0
17
-93
-6
0
6
-4
0
0
27
-6
1
-30
-4
35
27
-37
1
84
10
16
-6
35
1
19
-17
-43
5
-6
-32
-36
0
3
28
24
15
-42
-9
-45
-19
-6
5
3
-3
-29
-50
-111
3
-1
-6
-11
92
23
-130
-48
0
13
-32
-30
-12
-29
8
0
-5
-3
8
13
0
-35
0
-17
-2
-33
13
-18
-90
9
-9
5
-3
-14
24
19
-109
-77
15
-79
-74
-2
48
14
-9
-53
2
-6
-2
13
0
-18
-1
-52
-33
-65
23
-10
-1
2
-54
-71
-99
-5
66
-5
-57
-36
39
-108
33
0
-44
2
44
2
-26
21
0
4
35
-53
-48
0
-11
24
-2
0
-14
-3
0
-15
46
9
10
-11
0
-19
38
11
-38
-60
0
-3
6
-20
0
-24
-15
15
0
-28
5
8
40
63
-4
-1
-31
-16
4
32
47
0
-6
-2
-22
47
-82
-9
11
25
-21
13
0
-22
-43
-53
3
-1
15
1
31
-4
-6
11
0
-32
-23
-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
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
-2
1
0
0
5
-3
0
-82
0
0
0
-1
0
-1
-15
0
0
0
53
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
53
5
0
0
0
0
15
-33
0
0
0
0
0
-24
-66
0
17
3
-1
0
-29
-5
0
0
-90
0
6
44
-2
0
0
-22
-2
0
-5
-8
0
0
-3
0
0
-1
-17
0
-15
0
5
0
0
-49
0
0
0
0
-2
0
8
0
1
0
-3
0
0
-86
0
0
0
0
0
0
6
0
0
0
0
0
0
42
0
0
2
0
0
-3
33
0
3
18
-1
0
-1
13
0
0
22
0
0
-1
-45
3
0
-5
0
0
4
0
0
0
3
0
-8
0
-33
0
0
0
0
-1
0
-8
0
0
0
0
0
0
27
0
0
0
0
0
5
13
0
0
0
0
0
0
-21
0
0
0
0
0
6
17
0
0
0
0
0
0
-31
0
0
0
0
0
0
-18
0
-1
50
0
0
0
3
0
0
-2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
82
5
0
0
0
0
0
0
0
0
29
16
10
-8
-24
33
-1
-53
-2
0
0
0
0
8
-13
0
0
0
-27
2
-4
5
0
0
0
0
0
16
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-1
0
34
13
7
0
0
0
0
-44
0
0
-1
0
0
31
14
0
-56
46
0
0
32
-26
0
0
-16
0
0
-11
17
0
0
-21
-1
0
-16
26
0
0
-16
0
0
4
13
0
-8
-1
5
0
0
-6
0
0
2
0
1
0
-24
-16
0
0
-2
0
0
23
6
0
0
0
0
3
-56
0
0
1
-1
0
-11
14
0
0
5
0
4
-32
-10
0
8
-46
-18
0
-25
-101
0
0
-28
0
0
-1
-22
0
0
-1
-4
0
0
-30
0
0
10
0
20
0
-45
0
0
0
2
-23
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
43
0
-22
-1
0
0
-1
-16
0
0
8
1
-3
3
31
0
-3
-2
-6
0
0
-40
0
6
-1
-2
0
0
-36
0
-20
-2
0
0
0
-66
0
0
0
0
0
0
-9
0
21
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
1
0
0
0
0
0
0
0
0
-35
27
0
0
33
0
0
-2
0
0
0
3
0
1
-4
9
0
0
-27
0
1
-1
-1
0
0
0
0
0
0
0
0
0
-1
0
42
0
0
0
0
0
0
0
0
-11
0
0
0
-3
0
-5
-74
0
0
0
0
0
-6
-109
0
-45
-12
0
0
-3
76
0
-2
-95
0
0
-13
-82
0
0
30
0
0
-2
-32
0
0
-31
0
0
-2
32
0
43
36
0
0
0
63
0
0
0
0
1
0
46
0
0
0
0
0
0
-63
0
0
0
0
0
-8
-17
0
0
-3
9
0
5
-14
0
0
-1
0
0
-1
-82
0
0
-24
0
0
0
7
0
-8
-44
0
0
5
29
0
0
-7
0
0
0
-6
0
0
-1
0
0
0
37
0
0
-1
0
-5
0
-15
0
0
0
0
0
0
-6
0
0
0
0
0
0
-26
0
4
0
0
0
0
-85
0
0
-1
0
0
0
-26
0
13
0
0
0
0
93
0
0
-7
0
0
0
-32
0
-13
0
0
0
0
-8
0
0
-2
0
0
0
-3
0
-31
0
0
-13
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
-4
0
0
0
0
0
0
0
0
-22
13
0
0
-4
0
0
17
2
0
0
-1
0
0
-6
2
0
0
10
-2
0
36
5
0
0
0
0
0
0
0
0
0
0
-10
-2
0
0
1
0
0
0
0
0
6
16
0
0
0
0
0
-71
0
-1
0
0
0
-2
-23
0
-92
14
0
0
-43
-83
0
0
24
-2
0
1
-62
0
0
1
3
0
2
-13
0
0
-5
0
0
0
4
0
11
-2
-1
0
0
-13
0
0
0
0
0
0
-82
-3
2
0
0
0
0
-87
18
0
0
0
0
0
31
2
-2
-19
-3
0
2
34
0
0
1
0
0
-3
-107
0
0
-14
0
0
4
-20
0
0
-7
3
0
0
-47
0
0
0
0
0
0
53
0
0
0
0
3
-1
31
0
0
0
0
0
0
37
0
0
0
0
0
0
-40
1
-2
0
0
0
0
-5
0
0
1
0
0
0
44
0
0
0
0
0
0
34
0
-2
-1
0
0
0
37
0
0
0
-6
0
0
19
0
0
-5
0
0
0
-37
0
0
-3
3
0
0
56
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
-40
-100
20
5
-33
-8
11
5
44
0
6
2
-11
16
-32
-37
0
0
-46
57
-16
-51
-22
0
-4
-23
-5
-62
0
-6
0
0
-3
-21
12
0
0
0
0
0
-2
-32
4
2
13
19
-15
3
0
-5
-35
3
-13
-3
0
0
31
1
1
-1
-48
-7
0
20
20
1
3
75
-4
8
-72
5
0
-18
-23
-16
-45
-59
-21
3
-1
-14
-16
-26
-56
-23
0
-10
36
-51
2
0
16
7
-1
5
0
-35
0
-1
10
44
0
33
-6
0
-28
121
-2
-1
4
0
4
56
30
53
-40
42
-9
-60
-67
0
0
-102
4
36
-24
-1
-24
-19
56
22
-31
54
48
5
27
5
50
59
-31
-46
-5
-9
83
-22
71
9
13
0
14
6
-4
-62
4
8
0
6
13
-21
-40
0
25
-1
4
0
-21
-5
0
10
-29
0
9
2
0
-1
6
2
-11
27
0
0
11
14
0
-22
-49
-33
1
-5
-14
0
10
-1
-4
8
-17
-47
-3
24
-29
-1
5
22
-55
-6
-81
-5
-8
1
-11
-7
0
39
37
25
-9
5
34
0
-10
0
11
9
21
3
-34
11
-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
-57
56
-4
20
18
-56
1
-11
33
2
-6
-42
-5
7
74
59
2
1
-53
157
-22
-13
-19
0
0
-51
-2
-53
9
-75
0
0
11
-31
-13
0
-6
-35
0
0
-1
13
13
-18
-75
51
0
-13
0
-93
0
3
21
-52
3
1
4
-68
0
-44
3
-97
-2
17
16
0
0
27
-3
2
74
41
0
0
5
-54
0
11
-5
0
3
4
-31
12
5
5
0
-52
32
-6
16
-7
29
0
-4
-5
-2
-25
0
1
-113
47
0
-55
1
0
-45
22
7
0
-1
0
-21
0
0
-2
-1
-62
-33
-47
-58
0
-21
25
14
-1
-16
-17
-1
23
-47
32
-6
-53
6
-3
25
-13
2
75
-37
-20
1
46
7
14
-51
13
5
2
-9
-43
1
21
0
-92
11
14
17
-22
-56
0
23
-25
0
-5
0
-118
0
-29
16
0
-18
-10
-2
-3
0
0
19
69
-1
0
48
-43
0
21
-65
65
5
3
9
0
4
49
-9
2
-62
8
0
37
33
-22
11
-89
-9
0
-7
35
3
5
-25
15
0
37
-22
37
1
0
-10
0
80
3
0
3
0
2
9
6
3
-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
16
31
-5
0
-2
-14
8
10
20
0
0
-76
0
17
53
-94
0
-7
-5
0
-5
-155
22
0
0
0
0
-2
0
11
0
0
0
6
-68
0
0
-8
0
10
0
-9
0
-8
-30
23
-11
4
0
0
-11
-2
2
-14
0
0
16
21
4
21
-25
24
2
16
28
-1
-4
53
0
0
129
-30
0
0
58
14
0
-37
18
0
2
29
0
0
-1
13
0
-41
23
-6
0
0
-33
0
0
0
0
13
0
13
3
-1
0
0
0
0
-60
37
15
1
0
0
4
62
0
5
34
0
0
2
-30
0
-1
8
0
0
64
-46
10
49
71
18
0
41
19
0
26
26
2
0
19
-4
0
0
5
-14
0
-3
36
0
0
-20
9
8
0
-43
0
0
8
-18
9
0
-4
1
0
0
-2
0
0
-12
16
0
0
9
0
0
-52
0
63
1
0
0
0
-3
0
18
-4
5
0
-1
-26
0
-47
51
-1
0
-3
72
0
-4
-1
-1
0
0
-152
0
-45
24
0
0
0
58
0
0
-10
0
0
0
-61
0
-8
0
1
0
0
-98
-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
-5
17
0
0
-85
0
0
-9
-3
0
0
10
0
-1
5
-11
0
0
31
-1
34
7
0
0
0
0
0
-1
0
-1
0
0
0
0
31
0
0
-2
0
0
0
0
0
-22
-18
-10
0
-1
0
0
-63
0
0
-1
0
0
32
46
10
25
-87
23
0
-143
53
8
0
20
0
0
-14
51
0
0
-4
-1
0
10
-45
0
0
13
0
0
-4
33
2
-21
3
49
0
0
-49
0
0
0
0
0
0
-91
3
0
0
0
0
0
-8
-23
0
0
0
0
0
42
0
0
-8
-17
0
-4
57
0
-1
8
0
0
25
-35
0
0
65
-5
0
10
-25
0
0
-38
0
0
-9
-20
0
0
3
0
0
0
39
0
0
-3
0
0
0
11
0
0
-2
0
-3
0
-17
0
0
0
0
0
0
1
3
0
0
0
0
0
-46
-2
-16
0
0
5
0
-43
2
0
14
-1
0
0
-85
0
4
-7
0
0
0
18
0
-7
-5
8
0
0
-72
0
-52
3
0
2
0
-50
0
0
2
0
-3
0
21
0
-43
-4
-3
-2
0
-79
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
56
41
-1
31
5
-33
34
21
-5
28
47
15
-27
-24
0
-63
9
12
24
-34
-59
-42
14
-4
-40
-77
-22
-124
74
1
-2
8
10
-32
-2
-26
-39
0
1
-67
-42
27
16
-5
-4
46
-43
3
-32
-30
32
-26
-96
2
9
-31
-7
-164
29
29
54
55
33
65
23
85
84
-39
-5
20
41
-6
38
19
36
24
-4
9
55
83
34
-6
-8
-42
-14
15
35
-11
34
31
-45
-34
-15
5
-26
17
-76
3
-24
-16
-20
21
-16
-59
13
3
2
44
29
-88
-71
3
66
-67
26
-14
4
78
-69
-51
1
-24
-89
-14
-34
-23
32
2
-54
32
64
-3
12
-3
35
14
24
-22
31
28
-9
-15
-15
24
13
-75
-39
0
54
-71
-18
-51
-4
23
-20
2
42
-5
14
-3
6
-28
-35
96
2
-42
-16
14
-2
-55
9
2
1
53
31
-15
-20
-93
27
-135
128
14
-12
-34
28
-22
6
-58
14
6
-19
28
-43
32
30
-37
15
51
-15
37
31
-42
53
-4
-34
-14
10
12
-36
-1
-21
-14
-14
21
-17
-52
-15
-9
10
-6
-89
-13
-53
-1
5
-3
9
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-94
-5
-2
-54
8
0
20
-14
-2
15
21
-63
-27
-10
3
-6
-2
-49
-57
-49
-11
-14
-78
17
22
-51
-27
3
4
-16
-4
6
-1
-6
17
25
2
-1
-58
24
19
-8
1
-28
-6
2
57
7
0
6
27
0
1
3
-53
17
-63
-26
8
-4
11
0
-6
-81
-16
25
54
-40
-4
-60
-48
-19
-2
-113
-14
-24
11
-55
-5
2
-25
35
-2
-6
4
30
-31
-72
86
-13
-46
20
31
0
-39
0
4
-48
2
24
54
2
16
-1
22
-4
-74
0
-5
-25
-31
43
-100
-48
-3
53
-23
-16
11
-34
-30
-33
-49
21
-99
-50
37
-52
2
10
-5
-24
-36
-20
5
47
47
31
-16
6
37
3
31
-66
-31
-26
18
-72
14
-2
1
24
14
23
9
38
33
-17
17
8
6
-14
18
-29
9
-3
10
45
0
36
-3
-44
18
-57
-47
13
106
-4
-57
-28
15
-31
7
40
9
18
-33
-12
-11
5
16
0
-3
-24
-27
-5
85
-32
-18
23
-11
19
8
-14
55
7
21
-37
22
-5
-25
44
-53
24
49
-14
-4
-68
34
-1
1
-66
3
24
100
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-1
26
-20
0
-14
-57
-4
0
-66
0
0
-28
-51
0
0
-33
18
0
-41
43
0
0
-5
0
0
-19
6
0
-6
21
42
-1
0
7
-30
0
-1
0
0
0
25
29
0
0
0
0
4
-22
0
0
-2
0
0
10
-23
-1
-1
61
30
0
-34
19
0
-6
9
5
0
-42
-75
0
-3
-93
-105
0
-12
2
0
0
-41
0
0
-44
-24
0
-30
24
16
0
-59
0
0
0
0
0
0
0
6
-9
13
0
23
0
-1
16
16
0
0
-8
0
26
-32
-5
-11
-47
53
0
17
3
0
6
19
0
0
-96
10
0
17
-67
1
0
60
-15
4
-9
-52
5
0
-14
-45
6
1
-28
-32
0
-3
-26
0
1
5
2
0
4
-35
0
1
-10
0
0
0
21
0
0
0
0
0
0
47
-20
4
0
5
0
-4
-69
0
-8
71
0
0
-1
-11
0
2
89
7
0
14
42
0
3
-43
1
0
0
3
0
-21
0
-1
0
-8
-55
-6
-50
11
-2
0
-2
-67
0
0
-45
26
0
0
-11
0
4
-4
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
42
-62
101
49
26
31
-18
34
71
-21
-17
1
-15
-23
-4
-79
78
-59
-62
10
-38
-35
-67
-60
-32
-8
-30
2
84
-17
25
-43
18
-18
-65
15
-55
-43
61
-30
-2
-19
21
64
32
-5
-42
-15
-61
-19
-63
-7
-23
-25
42
18
21
-21
51
11
-28
62
51
1
-55
-4
3
3
49
1
-19
37
-12
-24
4
-1
0
-28
-120
-2
-40
-7
-58
38
-51
-53
-110
-28
-50
-33
-3
9
-21
0
-81
-10
-1
-54
31
34
22
-35
10
3
-20
-9
-11
56
-8
-8
21
1
-9
9
9
22
-52
23
1
-11
-4
51
21
-1
-1
22
-2
9
-26
8
98
3
29
-18
-74
12
-8
17
9
6
-13
-72
-37
-11
37
9
-4
-50
42
-109
-24
-14
-12
-71
15
-6
41
-49
-7
12
25
31
9
-34
18
5
42
0
-9
11
15
18
-92
-35
16
-9
47
-37
-3
8
-33
-19
-15
32
-23
-7
-33
103
3
-10
19
-38
15
23
-12
-61
-10
-96
-7
18
87
-2
-74
-11
-25
41
-10
-27
-15
81
-11
-27
-5
-88
-82
16
-90
-8
17
-34
14
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
15
17
47
-2
57
-4
-30
-48
17
-1
14
31
-33
14
2
-47
0
0
32
3
-89
7
28
-13
11
-15
2
35
0
0
23
0
4
5
-8
3
-57
16
22
-25
-13
0
83
34
-2
0
18
3
-2
35
25
-3
-57
49
-62
3
-131
0
-31
17
-83
-5
6
72
-43
-5
-5
0
-48
4
11
-61
0
-8
-23
6
-15
-55
-30
2
-17
-44
-63
3
-9
13
0
-2
-5
19
5
0
-13
96
26
0
-112
2
-1
-14
32
-10
33
2
0
29
9
28
54
3
18
-6
-21
11
-3
17
2
1
22
45
0
-5
-29
2
-72
-2
23
-49
-37
69
-39
-1
-5
-90
5
-4
69
31
-73
-5
25
6
0
10
25
15
-71
-5
-2
-2
7
-9
21
81
3
-62
9
24
1
-1
-18
7
42
15
-47
-1
-1
-15
2
1
4
36
72
6
16
38
-57
8
-50
-56
-122
-10
-22
0
-19
-43
-14
14
9
-17
-43
14
-2
-23
-32
6
-33
-48
-1
3
2
-15
5
5
-15
0
-29
-43
-9
-18
-9
-17
0
66
44
3
40
0
-16
-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
23
26
0
0
32
6
-1
30
-2
0
5
-15
-3
1
-62
-20
0
0
14
0
0
0
1
0
0
0
-1
31
0
0
5
0
0
0
-11
-4
-1
-2
0
-4
0
0
25
-45
0
4
-8
0
0
-23
0
6
9
-18
-2
1
56
-28
0
0
-49
-2
0
-5
71
0
0
-77
3
0
73
-42
0
0
-5
0
0
3
-10
0
-19
0
6
0
0
-98
0
0
-1
0
0
0
-53
0
0
0
0
0
-7
83
1
1
9
0
0
13
-14
0
-18
45
-11
0
-65
-28
0
13
-35
-1
0
7
-4
2
-7
-45
5
0
-14
-21
0
14
-4
0
0
-24
-57
0
0
-9
-14
0
-6
16
0
-4
0
0
0
0
-71
0
0
-3
-6
-3
0
47
0
7
-3
3
0
0
129
0
1
0
0
0
10
5
0
-18
0
0
0
16
-28
0
1
-25
3
0
-10
-43
4
7
24
0
0
8
88
0
5
4
-25
0
0
62
0
47
5
0
0
0
-35
0
0
14
-2
0
0
56
0
5
0
3
0
0
53
-2
8
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
-65
-8
0
0
-71
1
0
-32
20
0
0
-10
34
4
27
-35
0
0
-1
0
5
0
7
0
0
0
0
-88
0
0
83
0
0
0
1
4
-19
-5
5
1
5
0
62
64
0
10
-3
0
0
12
24
24
-54
-57
-29
2
-100
-62
0
11
-12
0
0
123
8
-9
10
-49
-3
4
53
-22
0
0
-41
3
0
-4
-104
0
44
-16
-6
0
0
19
0
0
0
0
-5
0
32
49
0
0
0
0
0
-48
-19
0
0
0
0
0
111
14
4
-1
10
-7
-21
7
0
5
23
0
0
-26
-36
0
0
65
33
0
-76
0
-8
-7
53
6
8
23
32
0
0
-3
-10
0
-4
-76
2
0
30
0
0
-4
36
0
0
3
0
19
0
-8
0
0
0
5
-1
0
-46
2
6
0
0
0
-2
-46
0
29
-26
0
0
0
18
-4
0
-46
-8
0
6
-36
0
-26
50
0
0
-7
5
0
-5
-44
14
2
3
-82
0
-11
-63
0
0
0
-35
0
0
6
7
0
2
-42
0
39
3
0
1
0
-60
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-44
-5
-48
25
2
2
69
20
-27
21
-16
-18
-26
-19
-44
-43
47
-12
-65
-15
2
-7
3
-65
-21
31
-1
-6
7
-6
-26
-39
59
28
-34
-2
-5
-23
29
26
34
69
-66
31
1
-14
-28
9
-82
-2
-27
4
-39
-12
-14
74
-34
17
22
39
25
5
-128
1
-5
0
-55
18
-50
37
33
-13
-11
-14
5
-32
-48
11
-36
-16
-29
3
-30
-9
-72
40
-9
-33
-1
-9
-10
2
18
-22
27
-53
30
4
-14
23
-30
-67
-18
-3
1
29
54
-6
44
-11
-5
36
-5
-4
52
2
-1
-25
36
-17
-15
-28
-48
47
-50
14
80
-1
-36
-7
60
-24
46
-18
19
-36
-13
-13
-8
32
-29
5
-109
30
-15
-30
-50
-79
14
-5
-20
-14
3
14
63
10
2
18
-62
25
34
-6
54
-29
-16
-29
15
-84
-16
53
-30
-72
-20
15
23
8
47
-82
-95
5
-10
-111
-83
-34
-92
60
3
-25
-13
28
-14
26
-15
0
-22
-56
21
4
62
-29
34
-12
-41
-59
8
-79
27
-55
-14
-20
-31
-52
13
0
24
16
-27
-94
36
-68
-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
-17
5
-2
1
-74
14
42
-69
103
-6
-2
0
1
-21
-61
-121
11
-1
7
0
49
91
-60
0
0
58
0
-2
0
1
-5
0
0
0
63
19
8
-3
21
-72
14
0
23
-9
0
-29
-50
-3
-2
-26
26
0
-5
4
0
4
-3
6
0
54
-50
14
1
9
-16
0
-3
1
2
5
22
-15
0
-45
17
-4
-13
12
6
2
19
-21
-4
10
23
-15
5
10
-6
0
-20
0
-23
-49
69
-3
3
-49
-4
-5
-60
-4
52
0
0
-58
4
10
-61
-37
-16
-11
3
21
3
2
4
14
14
12
5
-37
24
-16
-3
-14
6
-20
10
-8
-44
10
73
9
10
18
2
-14
-13
-25
-6
-12
-2
-5
38
0
8
20
-36
1
21
-25
-25
-18
0
-25
117
1
-3
-1
-76
0
-24
-127
-5
-32
0
0
71
3
-1
-26
-2
0
8
-50
39
0
-22
24
3
-14
12
9
29
-26
37
0
-19
-122
-19
-3
1
-32
23
30
22
11
2
9
22
0
62
52
22
7
68
-59
2
47
45
-43
-10
7
1
-6
-3
0
-13
-61
14
-32
-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
-6
-3
0
0
74
15
0
-112
-10
0
0
-40
-14
0
-25
-59
2
1
-31
-2
0
-6
8
0
0
8
-21
-1
0
0
62
0
0
18
0
3
15
-31
-33
-1
43
0
-41
-40
0
29
2
0
0
-30
-45
0
-12
-15
-40
0
10
-58
-4
-2
3
1
0
-3
31
1
1
53
26
0
-53
-22
-2
0
-7
25
0
-31
-33
-2
-46
-15
-34
0
-4
-100
0
0
27
15
0
0
-11
5
21
0
0
0
0
-17
5
0
4
0
0
2
10
46
4
60
18
-1
17
32
0
4
56
0
8
59
-29
0
62
-14
-82
0
35
-25
2
3
-36
-5
0
-23
35
0
4
-24
38
0
53
-49
0
-2
-80
-5
0
-5
-74
-2
60
-10
1
1
0
-29
2
0
0
-1
2
8
-11
-4
1
3
14
0
11
-5
15
53
-5
1
0
-32
-57
0
-30
-64
6
0
64
9
0
62
4
-3
0
-30
26
6
-15
44
88
0
-58
-11
-3
19
51
0
0
-5
-79
7
-1
-53
-21
0
-26
-27
0
-44
41
0
0
1
-19
4
3
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
15
12
25
12
-19
-62
-22
-14
-90
-9
11
-34
40
-40
14
-46
-77
7
-8
-61
54
-15
-31
-32
-18
3
41
-3
-44
-44
66
15
-21
34
18
-75
40
-2
31
-71
-26
2
-19
0
-8
-8
15
-64
-5
60
45
0
82
-49
-49
-1
9
-47
12
22
-33
-56
-8
-98
-63
-10
-18
-14
-37
-28
-41
11
16
-10
-18
5
-37
48
29
8
-31
-30
-31
12
19
-62
-28
-4
-31
-34
14
17
19
110
5
-13
17
-23
-2
12
-2
22
5
-4
5
89
-31
4
-44
50
3
13
63
-4
-4
8
58
-14
-1
84
76
-6
-34
-21
-38
-7
20
-31
16
-4
1
-22
-6
-37
-34
8
-75
-2
1
-25
25
45
3
-36
17
-27
0
52
62
-10
-43
13
-111
1
48
-27
-55
-19
62
88
15
16
14
54
55
17
-54
-2
-42
20
-36
-53
41
10
16
-9
13
-11
13
-60
-18
-2
5
-19
-6
-29
26
24
-10
-15
-2
-35
27
-35
-60
3
-14
-21
13
-13
-15
-36
-11
33
-29
27
-60
14
-51
-1
10
-5
20
-44
-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
-1
37
2
-3
-50
-20
-7
-111
-31
0
-1
18
33
14
-21
11
0
0
24
15
-47
0
0
-7
0
3
8
-20
15
22
-22
26
14
-88
2
28
-6
21
0
41
0
-5
29
-1
36
-32
-31
-35
1
-13
19
-5
9
7
-6
-33
-53
0
38
-10
-40
-14
-21
9
-5
6
39
-23
14
-53
-29
9
0
36
44
38
25
-50
4
20
-1
-6
6
-53
0
8
-64
-47
-3
0
-32
-16
13
-62
43
7
-4
0
-5
-9
-71
-94
-14
20
-33
27
13
5
-14
29
8
-1
5
51
14
-9
7
47
19
-31
0
-19
-53
-139
14
204
-107
-23
7
-37
-51
47
-13
42
-22
0
-7
-32
-16
-119
7
-31
0
-27
56
-69
-13
0
3
24
-1
-3
-6
-18
0
-8
-13
114
-1
-32
0
-20
53
47
15
34
2
-3
-50
-5
-7
-12
-42
-71
0
53
1
-6
-127
-103
-1
17
-84
0
4
33
8
-66
3
4
21
-7
30
-32
46
50
-24
-70
0
-31
-124
-2
100
0
6
0
-39
-37
-8
5
-1
-51
-10
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
25
0
0
58
3
0
0
20
0
8
-1
0
0
0
0
0
-11
0
0
0
0
0
7
0
6
-5
-9
43
0
0
0
0
62
0
0
-2
0
-1
-10
51
0
-4
-18
52
0
-58
62
0
0
97
0
0
61
-7
0
0
6
-26
0
54
63
-1
0
-2
19
0
-3
70
0
14
-1
0
0
0
54
0
0
-1
20
0
0
0
0
-14
9
0
0
0
-11
1
0
0
0
0
0
7
0
-1
2
0
0
-2
-8
0
0
-60
0
0
-7
-5
0
36
-50
-1
0
69
-95
0
-1
-5
0
0
-8
-10
0
0
-10
118
0
6
23
0
0
0
0
0
0
-23
0
0
-17
0
10
0
-74
0
0
0
-9
0
0
48
-1
-4
0
0
0
5
66
0
4
0
2
0
-11
-24
0
-4
2
0
2
6
-19
-2
0
-2
0
0
0
-52
0
0
45
-9
0
0
-43
0
-76
18
-8
0
0
-51
0
19
7
0
0
0
-36
0
-14
0
-1
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
-6
1
0
0
104
0
3
-18
18
0
0
39
0
10
-1
2
0
0
1
-1
9
0
0
-6
0
0
1
4
-2
-6
1
14
-9
0
0
-9
-54
13
0
48
0
0
45
34
0
13
-70
-3
0
-107
24
-1
0
46
0
0
48
-76
0
0
64
0
0
3
35
0
0
-30
-1
0
-1
55
0
-45
6
-6
-13
0
-17
10
0
9
0
2
0
-51
45
0
0
0
1
0
43
6
0
1
0
0
0
-23
0
-2
-11
-2
0
1
40
1
0
-77
0
0
27
-58
0
5
-30
-5
0
-8
-43
0
0
-5
-1
0
-7
-13
0
0
100
22
0
-2
0
0
-3
-9
0
8
0
-24
1
0
-3
-2
-9
0
-28
0
0
0
0
0
0
-16
0
6
1
0
0
0
-53
0
-29
1
0
0
0
5
0
0
-3
99
0
-1
19
0
3
-3
4
0
1
-52
0
0
1
7
0
0
-4
0
-33
-5
0
0
0
-74
0
-1
1
0
0
0
-48
0
45
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
-99
7
-9
-14
-2
21
-49
-9
82
4
-7
-18
5
-104
136
42
-4
-1
11
-14
-27
0
32
23
0
-2
10
-70
-9
10
-27
82
16
16
0
-45
3
-3
-5
10
-3
-6
-62
12
54
-45
1
-25
-3
-18
-9
78
72
3
48
-7
-3
52
-17
61
-6
-15
14
68
64
1
49
-84
-43
-31
-21
-56
0
-22
-7
-37
-6
15
7
4
-1
5
-17
-19
0
4
4
-9
0
4
-4
-1
-2
-89
-4
3
-1
-10
11
21
11
32
-7
42
-10
71
-3
-5
7
12
-41
-9
-7
1
28
-43
60
-93
-28
23
-8
58
135
-69
42
-80
-112
-23
32
47
15
-28
-61
-49
-4
-9
5
-58
-31
-42
-67
-17
2
-1
-23
-65
-47
7
18
-44
-1
-1
-2
-14
7
-21
11
-96
-6
-14
0
57
-9
9
6
-16
0
-5
-68
-36
4
-116
-53
-74
-5
-90
26
-7
-80
-26
31
7
-67
24
-33
-102
27
-91
-13
66
27
6
-69
54
-44
-70
3
-42
17
-6
43
-71
-18
-3
13
2
-39
-1
-5
65
0
-4
53
-2
0
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
0
0
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
-47
0
47
-97
-8
0
0
-5
0
18
1
-3
0
0
-5
0
-50
0
0
13
0
0
0
-1
0
11
-7
0
9
23
0
15
4
0
0
3
0
0
-20
-147
0
-1
18
-6
0
5
32
0
-4
-20
0
0
11
-24
0
0
3
0
0
56
-67
0
0
-7
0
0
14
-26
0
39
-13
3
0
-9
-12
0
0
0
0
0
0
29
-5
-5
0
1
0
0
43
0
0
0
0
0
0
7
-1
7
-27
0
0
43
-40
0
0
-47
0
0
-14
-62
0
0
-74
0
0
-65
-41
0
1
58
0
0
96
-28
0
0
-9
0
5
-3
-12
0
3
20
0
-1
-2
-5
0
0
-11
0
-10
0
32
0
0
0
0
0
0
-80
-4
0
0
0
0
0
-80
0
1
1
0
0
0
-29
0
0
4
1
0
-1
-27
0
-21
0
3
0
0
-45
0
-11
4
11
0
0
-42
0
23
-44
0
0
0
-20
0
0
-4
-2
0
0
8
0
5
-2
0
-7
0
-144
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-65
0
-68
-2
0
-1
-133
-32
0
109
55
0
0
-33
22
-2
0
9
-27
0
0
30
0
-4
5
-58
-112
14
17
0
-32
-4
0
-13
-2
31
0
30
2
7
1
0
-50
0
-21
3
2
-16
24
-7
0
-47
10
-2
1
-13
-91
0
23
-17
-3
0
-4
-29
0
36
14
0
-21
21
13
-2
70
-12
-3
0
23
26
0
0
12
-1
-126
0
88
0
4
2
-45
8
6
-3
0
93
-2
-34
42
71
56
0
23
0
0
4
7
-5
0
-42
-30
45
40
-1
-83
0
31
5
-10
7
-27
60
-5
12
19
-10
9
9
55
0
46
33
26
-7
27
71
0
-29
-2
0
-4
-66
-24
0
0
-36
5
8
0
34
0
0
0
-19
0
10
-8
0
-7
-12
0
-29
-71
21
0
-30
-16
0
7
15
88
0
4
10
35
10
-99
-5
0
-35
-6
-3
53
-36
33
0
37
43
0
17
-10
3
0
19
8
18
-20
-2
-90
0
0
-6
0
-5
-3
-14
0
0
-39
-46
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-144
-22
43
-4
2
-49
-90
15
11
-2
-1
-14
-57
-67
0
46
-43
0
-1
-62
-50
1
3
-33
-34
-109
-15
0
-2
0
-16
16
-44
33
39
-6
18
59
37
-17
-12
-3
-12
2
-23
-36
-19
-33
11
-77
3
2
8
4
-68
1
-40
-14
17
52
-45
-22
-27
-100
-9
99
14
0
0
1
-9
-31
13
-2
15
15
4
0
19
-22
-13
-6
-60
-14
-3
-11
-83
41
-11
53
11
-12
-10
31
-3
30
-39
-10
22
-2
-4
77
8
-9
22
78
31
23
29
-5
8
-27
56
7
11
61
-54
-133
-161
-105
-26
-11
30
-62
-26
-26
-52
-29
0
-55
-43
-8
-53
-9
-3
0
14
-24
2
-10
0
38
-83
-2
9
-21
43
-4
25
28
5
35
49
-5
14
7
20
33
82
-1
-71
-18
-7
-18
40
-26
16
20
-27
22
50
-12
9
-26
-3
41
16
20
-52
-30
-100
27
14
-17
-1
3
-94
-54
-47
-1
13
0
46
7
4
43
4
-27
-5
34
51
35
61
-2
-28
-65
-14
15
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
-5
-75
-3
-1
6
1
-26
37
49
0
1
-3
-29
-63
0
1
25
0
0
13
-17
-1
-7
-62
-14
-9
7
-4
-21
6
-13
11
-13
0
0
-11
-60
-3
4
-62
-18
2
-14
-1
-24
-19
3
-26
25
-19
-41
-1
-16
-12
-78
-15
63
0
-13
-7
-46
21
26
23
-44
0
-30
-60
24
-104
43
-39
0
1
22
20
-55
4
1
-13
66
0
-68
18
1
25
-42
-7
32
-1
0
11
-41
-19
8
-33
58
-9
-25
-41
34
33
56
5
5
-14
6
0
-62
3
6
37
-37
28
66
-45
-34
-12
-49
-18
0
6
19
15
6
33
-19
-14
0
-6
-37
7
-32
29
2
3
-20
71
84
-16
0
-22
4
-1
0
-25
35
-2
-16
-16
-9
-6
3
2
1
-27
-8
5
-36
0
-3
-7
-15
-11
-55
-72
-30
0
-37
24
43
-36
8
-14
13
61
-10
20
-53
-94
-17
-6
69
0
5
61
25
1
3
-71
28
6
-2
-123
-28
-23
8
12
0
17
17
-9
79
23
-10
23
37
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
-2
0
0
0
-1
5
0
0
6
0
0
0
0
0
-61
24
2
0
0
0
0
26
0
-1
1
0
0
7
2
0
-64
-38
-7
0
-71
-18
0
0
23
0
0
-131
25
0
0
53
-19
0
22
-92
0
0
-8
-3
0
0
-5
0
-90
0
-2
0
0
-11
0
0
0
0
0
0
-19
7
0
0
0
0
0
-9
-1
0
0
0
0
0
-5
0
-4
-2
-1
0
-4
20
0
0
-11
0
0
-10
-80
0
0
44
-4
0
14
-53
0
0
-5
0
0
3
-25
0
0
-5
0
0
-9
48
0
0
5
0
0
0
-33
0
0
0
-2
2
0
27
0
0
0
0
0
0
7
3
2
0
0
0
0
-15
0
0
0
0
0
0
-23
0
0
18
0
0
0
-53
0
0
-4
0
0
0
-47
0
-6
0
19
0
0
-8
0
37
1
0
0
0
27
0
0
-6
0
0
0
-33
0
-14
-27
4
0
0
7
-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
5
2
-1
0
0
0
-1
0
-1
0
0
0
0
34
0
0
-3
0
0
0
-1
0
-66
-4
0
0
0
0
-2
-62
0
0
24
0
0
-24
32
-18
-53
6
18
0
14
12
0
0
-25
0
10
-39
32
0
0
21
-2
0
-29
-44
-6
0
-13
0
0
-2
-4
0
-70
-2
-3
0
0
35
0
0
4
0
0
0
-46
-2
0
0
1
0
0
-19
0
0
5
0
0
3
-28
0
0
-14
0
0
-22
1
0
0
2
0
0
-2
-42
-2
0
82
1
0
-4
-49
0
0
-58
0
-1
0
-19
32
5
-5
-2
0
13
-131
0
0
5
0
-2
0
32
0
0
-17
0
0
0
-38
0
0
0
0
0
0
6
-7
0
0
0
0
0
14
0
-1
-7
0
1
0
-14
0
0
-3
7
0
0
-57
0
6
9
0
0
0
-76
0
0
-3
0
0
0
-89
0
-1
0
-20
0
0
59
0
0
0
0
0
0
96
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
-29
-62
9
-5
89
10
5
64
-11
34
3
-13
13
-4
-1
-15
-75
29
20
40
-72
29
5
-65
-142
27
-37
3
-32
-6
-3
-44
24
34
-16
10
27
5
-16
-10
-44
-4
4
7
34
-1
-10
0
-5
-17
3
-69
-27
11
-2
-64
-38
-17
71
-100
-32
53
68
48
4
1
20
64
12
-42
110
-9
1
-48
21
-47
-91
0
-1
-31
-6
-5
-40
22
16
6
-65
17
74
-36
26
-47
-36
-44
26
7
-9
46
34
12
-21
-127
19
45
1
-77
8
0
-16
-16
1
-33
-31
-7
17
-13
24
-51
-24
-5
-9
-60
53
-9
-22
-55
23
7
24
27
48
-109
-5
42
-13
-41
-39
-44
30
-3
9
-23
-42
52
1
-52
19
-5
-16
-37
-57
58
-109
-26
-7
13
25
-4
13
49
32
10
-19
-41
-31
-9
-49
-148
-41
17
-78
-78
59
21
-7
-63
-28
-46
-23
19
-15
49
23
-2
42
-6
34
-18
-90
8
-33
3
-35
78
-25
14
14
-9
-7
22
-30
25
3
30
-19
-102
41
6
-3
-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
-73
32
0
2
1
0
7
41
-32
31
0
29
0
15
0
0
-37
0
0
0
31
5
7
19
-1
5
-1
13
10
-40
36
-4
17
0
27
14
4
-4
6
-8
7
-2
-2
-51
0
21
-7
0
0
33
-51
0
-7
-69
0
-6
50
-22
-6
26
6
0
0
38
48
0
54
-42
-1
-13
16
27
4
22
-23
0
-27
0
-8
20
-27
0
0
-7
0
-38
33
0
-5
0
-11
-41
-21
6
0
72
0
-10
25
15
5
18
5
0
4
29
-23
6
31
6
-14
6
-15
-13
0
0
24
0
21
52
-5
11
-4
-20
7
0
88
-1
0
0
26
0
53
-10
38
-1
14
117
0
-32
0
-13
-1
0
0
0
29
0
-46
34
0
0
0
0
0
-46
-6
-36
126
0
-44
46
32
0
2
14
0
4
33
18
2
13
32
0
0
2
-6
17
-17
-37
-1
14
-5
23
2
43
-48
0
8
2
27
0
0
-46
0
109
5
-15
-4
101
-7
0
-35
0
-22
65
-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
-50
-57
0
0
-6
-2
0
-51
23
0
0
41
7
0
0
0
21
0
0
-51
0
-9
0
56
-118
41
-27
0
-6
-1
0
45
-25
0
0
-64
5
14
-18
1
-1
0
-33
-5
3
-19
-9
26
0
-52
6
-1
0
-24
40
0
13
-14
23
-3
-16
-26
0
5
0
0
-31
5
11
8
73
15
0
0
14
-9
0
-8
-5
2
14
17
-58
0
0
8
62
-6
-10
-1
0
-176
-12
-15
19
21
-31
0
-84
18
3
-18
27
-22
0
19
16
-7
-18
24
-34
0
-2
-15
73
16
-19
-8
0
-16
24
9
0
-22
44
0
44
15
0
-4
35
-27
0
5
3
3
41
105
28
4
0
-12
-5
0
-2
-7
0
0
4
-34
0
-25
2
0
47
-32
3
28
-1
-8
0
-123
24
10
-22
-11
-14
0
79
39
-7
-23
69
-23
0
51
-9
20
72
6
8
0
-55
-3
0
10
20
58
0
34
15
7
-2
47
48
0
30
16
0
67
-34
3
0
-6
9
27
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
-3
7
48
-1
-14
-14
5
0
-23
-15
0
1
-1
22
-1
-11
-56
29
-106
-44
-5
-43
-24
-33
-19
-55
43
-93
15
19
18
8
-66
-17
2
0
19
-34
-5
-1
86
-14
-33
-1
-2
8
-27
-18
-10
7
5
4
45
26
36
54
-137
40
5
9
18
-36
-49
-10
-7
-32
5
35
20
-56
0
14
-15
-5
19
-86
-41
-5
1
12
-3
-6
-7
14
-92
-47
50
-39
-88
-25
-1
-36
8
6
-9
-44
10
57
-59
37
-24
-11
-46
-59
-33
-27
29
-29
62
-4
-7
-20
45
17
13
-156
-10
-33
-4
73
19
-2
56
15
-20
-36
-1
-44
-1
-7
36
-43
12
0
10
-16
0
0
-58
-63
0
-12
47
-1
16
-25
-1
-50
-12
2
-24
4
39
90
81
-13
-4
14
51
56
107
112
33
-2
-33
-33
23
2
-118
9
-7
-74
20
-64
-12
46
14
-8
6
-27
-58
48
-3
12
1
13
-7
-66
92
0
-25
0
-29
-28
6
-7
0
-30
9
-20
-1
-82
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
24
-49
-15
0
0
-62
0
2
-6
20
-3
-7
-68
-36
-16
-47
1
-97
15
0
-1
-51
1
-3
-48
13
5
-38
-14
-5
0
-8
-19
2
19
11
-24
0
-51
37
0
1
-1
-20
19
-41
-34
-18
5
25
0
7
119
0
20
-28
75
-83
5
-10
-15
9
-2
26
3
-25
0
-12
-38
-8
0
46
-14
10
8
-62
1
-2
-3
1
36
41
5
-167
-21
-49
-19
-23
-15
10
-2
29
-3
-20
-3
-11
11
-40
-46
-66
-34
-87
3
1
17
-12
11
17
-50
1
1
27
-82
-23
46
164
0
0
6
12
33
-27
13
-40
2
-9
-36
-66
-64
1
-2
-7
0
0
2
39
0
-47
100
-9
0
-1
0
-18
-36
5
-53
25
8
-1
31
-17
0
145
-63
-30
0
-34
0
7
-3
-31
50
0
-17
-2
103
3
5
-94
0
-18
11
-13
2
-71
37
24
14
0
7
41
97
5
0
-6
-30
0
-66
-7
5
7
0
-13
-14
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
41
0
0
0
0
0
0
10
0
4
0
0
13
0
0
0
-40
0
0
0
0
0
-1
-18
0
4
75
9
0
19
-158
0
3
1
0
0
-6
5
0
0
90
0
0
-14
91
0
0
24
-2
0
15
-1
0
5
0
0
0
0
14
0
0
0
0
1
0
-93
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
-25
-7
0
0
0
11
0
0
13
0
0
1
25
0
0
-3
-2
0
-9
13
0
0
6
0
0
0
10
0
0
4
0
0
0
-5
0
0
15
0
0
0
-5
0
0
0
0
-2
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
-14
0
0
0
0
0
0
62
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
15
-10
-1
0
0
-22
0
0
0
0
0
0
30
0
-3
0
0
0
0
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
0
0
-24
0
0
0
0
0
0
0
0
-128
0
0
0
0
0
0
-172
0
0
5
0
4
2
26
0
31
-8
1
0
-17
54
0
0
20
0
0
-1
-36
0
0
-35
1
0
-4
-34
0
0
-18
0
0
17
5
0
-14
1
0
0
0
-9
0
0
0
0
-2
0
77
0
0
0
-1
0
0
39
0
0
3
0
0
0
-36
0
0
-1
1
0
-1
-36
0
0
-2
0
0
-1
-35
0
0
47
-4
0
-4
-157
0
2
5
0
0
0
-3
0
0
-8
0
0
0
-33
0
0
-1
0
0
0
-3
0
0
1
0
-1
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
17
0
-1
0
0
0
0
7
0
0
0
0
0
0
6
0
0
-2
0
0
0
-10
0
0
-1
2
0
0
-69
0
7
-1
0
0
2
-15
0
0
0
0
0
0
-65
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
61
36
0
-1
4
-10
7
0
0
-84
0
0
-9
-107
-2
-14
-43
-27
27
37
0
-47
26
0
-13
1
0
2
-16
6
0
-20
-18
-108
0
-3
-9
-1
0
-88
10
2
-38
30
0
-3
-26
33
-2
-19
15
-3
3
-19
32
-89
50
14
20
5
-3
-5
-4
14
28
11
0
-6
40
-41
0
12
12
6
0
8
14
0
-28
44
0
1
0
0
24
2
41
43
-31
-64
38
-17
2
-2
-5
7
0
-36
-44
33
-21
8
37
-57
-39
-62
-19
46
-14
-1
-47
-44
64
3
2
6
33
-46
29
67
1
-1
-4
-1
4
-28
-20
-35
0
10
9
35
22
0
-32
1
0
0
14
-5
-5
-68
2
0
0
-2
-2
1
34
23
-53
3
0
-8
-27
-39
1
-15
-33
-19
0
7
27
1
-14
5
46
-1
46
38
6
-36
-67
-23
-3
-13
-31
-1
41
7
-2
-3
-9
-33
0
-1
24
71
-10
0
17
0
-12
0
9
33
0
-12
29
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
-24
0
0
-3
0
0
0
7
0
21
0
0
0
0
0
0
-27
0
0
-2
0
0
-5
-53
0
92
-54
-20
0
36
-35
0
0
-13
0
0
-31
18
0
0
48
0
0
-10
11
0
0
7
0
0
34
-44
0
-29
-70
3
-5
36
49
0
0
0
0
-4
0
44
17
0
0
0
0
0
-32
0
0
0
0
0
-4
-36
0
-4
2
0
0
-1
48
0
0
52
0
0
33
-41
-5
0
6
0
-3
-22
-85
0
0
28
0
0
20
8
0
0
19
32
-1
-9
-6
0
0
59
0
-6
3
-13
0
0
9
-9
-5
0
-54
0
0
0
0
0
0
-38
-9
0
0
0
0
0
-23
0
-2
0
0
0
-10
-13
0
0
3
0
0
-6
23
0
-5
13
0
0
0
-22
0
0
1
44
3
18
32
0
-2
14
0
0
0
-68
0
0
-31
3
0
0
14
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
14
-102
-5
0
9
7
-1
0
45
-33
0
0
33
0
14
14
47
-63
-5
56
0
-96
9
0
0
2
0
0
26
-10
2
-44
-7
38
0
-1
-3
1
-6
16
-4
0
9
12
34
0
7
43
0
2
-12
-5
-3
2
44
0
-50
-54
14
-96
41
-8
0
88
-13
-14
-2
13
2
0
0
17
1
30
-3
-47
0
-16
18
37
17
6
-1
0
22
-4
86
8
22
72
-2
49
33
9
9
8
13
0
-12
-8
9
-57
19
58
-11
-12
21
-14
78
35
54
0
-7
25
-6
-33
8
42
1
61
-8
-21
6
40
15
0
69
-31
0
-43
-23
15
-8
0
9
24
5
-2
66
0
-8
16
1
0
18
4
0
9
-18
-9
-112
-74
-2
1
83
18
41
6
-35
-5
0
32
-8
5
16
28
-5
2
-5
11
3
9
38
35
0
14
15
0
-33
33
27
0
-30
-12
-1
47
14
4
0
19
-3
-2
15
10
11
0
4
-3
19
-27
5
-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
1
-71
0
0
0
0
0
-44
-6
0
0
0
0
-3
-6
0
0
6
-3
0
-64
-50
0
46
-98
-4
-2
-15
26
1
0
-17
1
0
-95
-28
0
6
54
0
0
45
-49
0
0
-53
16
0
43
-36
0
-44
-100
-40
1
0
15
0
0
14
20
0
0
-3
-5
2
-9
5
0
0
-55
2
0
4
10
0
1
-19
-4
0
0
98
0
2
7
1
0
-62
0
-13
-34
10
0
-34
-49
4
0
15
4
4
0
-51
-5
0
4
-11
0
-4
-84
48
9
0
-3
0
0
9
-8
-6
0
40
0
-1
-16
-14
-45
0
-54
0
0
5
0
-1
0
-78
0
0
0
8
0
0
-22
0
-4
6
5
-2
45
-29
0
0
22
-13
1
5
25
0
121
105
4
5
-2
-69
0
-1
-2
9
9
0
-16
0
-32
7
-11
9
-1
69
0
14
-8
5
0
0
-16
0
-8
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
1
-104
0
-3
-6
-1
-4
-80
-22
41
-4
-20
0
-10
-22
8
-4
-90
0
-3
3
-6
4
-25
-13
-15
0
-50
-21
26
26
-15
0
-2
1
-15
0
17
-8
-75
-17
27
-18
0
7
-26
-4
33
72
23
0
-11
-18
-29
-8
43
0
5
-3
140
43
-41
0
-19
-40
4
0
-18
-2
0
-41
43
5
3
-1
5
-61
-5
-32
-43
-26
-53
-9
-74
-17
-7
17
-42
-9
-43
-14
-31
-52
-18
-42
10
-6
-53
14
14
-1
37
-63
-30
-35
-8
-9
-6
-21
-23
86
-4
14
0
0
3
-3
-25
15
0
0
0
26
0
4
0
-35
1
0
0
-1
-4
0
3
-6
8
-1
-1
0
-11
-49
-2
11
-2
1
-8
-7
17
0
21
-98
-11
-4
26
-55
-5
-21
12
1
9
-4
2
-6
58
55
-107
-69
-102
-54
0
-55
-20
1
49
0
42
-2
-4
-146
-16
-17
-1
0
0
-128
-4
0
-14
-9
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
161
0
0
0
0
0
0
17
0
0
0
0
0
6
57
0
56
-4
-9
0
-40
10
0
0
110
0
0
-13
-2
0
0
20
0
0
0
-23
0
0
-1
0
0
0
-43
0
-4
-3
0
0
-1
-2
0
0
0
0
0
0
-73
0
0
0
0
0
0
-5
0
0
0
0
0
0
47
0
0
-16
0
0
37
-94
0
0
-5
0
0
0
32
0
0
-13
0
0
21
-35
0
0
-14
-3
0
0
32
0
0
20
0
0
0
-1
0
0
0
0
27
-1
-25
0
0
0
0
-4
0
-71
0
0
0
0
0
0
-44
0
0
0
0
0
0
8
0
0
2
0
0
0
44
0
0
0
0
0
0
59
0
0
0
0
0
0
-24
0
0
8
0
0
0
-49
0
0
0
0
0
0
36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
27
-2
0
0
0
0
0
0
-7
0
-52
1
-1
0
16
-45
0
0
20
0
0
0
-45
0
0
33
-2
0
0
-1
0
0
-1
0
1
0
-6
0
-15
0
0
0
0
-22
0
0
0
0
2
0
-63
0
0
0
0
0
0
110
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-40
0
0
-1
0
0
0
13
0
0
-1
-1
0
-1
42
0
0
-1
0
0
0
-39
0
0
-1
0
0
-8
46
0
0
0
0
0
0
26
0
0
-9
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
16
0
0
0
0
-7
0
0
0
0
0
0
-23
0
0
0
0
0
0
-10
0
0
1
-2
0
0
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
-7
1
0
-3
13
5
0
-2
0
25
-49
-9
0
16
0
-3
19
32
0
-44
-20
-23
0
-48
10
3
0
25
0
0
-109
24
0
0
-33
6
9
2
-21
0
0
-35
19
-1
-65
-35
0
29
-2
-136
0
-19
27
0
0
0
0
9
0
8
-16
-14
0
29
0
0
0
-3
6
2
0
4
51
-74
2
4
19
10
-3
7
-22
0
3
18
-5
7
-42
-15
-5
4
100
-29
-13
6
-15
-5
0
-20
35
-81
53
-9
0
0
-33
-7
-14
97
-18
0
-6
-14
25
50
0
-26
0
2
0
-3
58
0
-10
0
0
0
31
-2
0
-53
4
0
0
-1
-7
-2
-1
0
-74
4
0
-3
-13
-42
0
-1
-4
6
1
-3
-46
0
-29
-23
-2
0
-3
47
0
-37
-13
-6
4
-11
-24
0
-1
59
4
-10
14
13
0
0
-4
-8
20
0
-29
0
-134
0
53
-2
0
-69
2
-11
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
8
7
5
-23
44
25
0
0
-52
-11
0
0
-61
0
-25
2
7
-1
20
17
9
0
15
3
-1
17
16
0
0
-44
4
0
0
31
0
22
8
-9
1
13
11
0
-14
-28
-45
0
-30
19
0
31
23
-1
0
0
67
0
44
0
1
-85
26
4
0
0
-1
-19
-30
0
0
0
1
-52
11
7
-7
-19
0
22
36
-6
-8
3
7
0
29
70
14
-1
4
21
3
-31
16
-4
-4
-21
-31
0
-9
-18
-31
0
3
-41
-1
-49
-50
2
0
0
4
0
-10
23
-15
1
0
136
0
-3
0
28
8
0
0
0
-6
0
-19
-8
0
0
0
0
0
-67
4
-14
-15
0
25
-41
-78
13
-11
114
0
-6
-4
48
0
94
17
0
0
31
-8
0
-27
-6
-5
23
-5
27
5
-106
73
0
-15
9
23
0
-8
73
0
-4
-9
-26
0
-23
-21
0
-23
0
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-15
-19
0
-33
13
45
-93
61
-6
0
-14
1
-21
34
-7
-1
0
3
9
-45
-9
0
-10
0
-4
-3
-57
-35
-16
-3
0
3
-3
63
5
-1
-41
-1
52
-2
-34
5
7
10
-1
37
-5
73
7
13
14
0
25
-3
8
-22
-16
-42
-2
2
16
-126
-47
4
-30
0
22
5
7
-86
-50
-95
0
-21
13
-30
7
-6
5
-11
-1
6
5
-80
-13
-72
0
2
7
-38
-33
24
-33
0
71
4
-97
75
11
17
45
37
7
-33
-8
17
21
0
55
13
1
-19
33
42
-1
-44
4
60
-22
24
28
-1
26
5
-80
80
55
-31
0
-7
16
14
-37
-30
-89
0
-35
9
21
-14
58
-1
-1
50
-3
-1
-30
6
-25
-4
4
0
10
-23
-42
-49
0
14
8
-33
-155
-5
11
0
71
18
2
-48
21
-24
39
61
38
-11
65
40
16
0
4
2
-3
-15
39
-35
0
80
21
14
82
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
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-51
0
0
2
0
0
0
7
0
8
27
0
0
-3
-45
0
0
1
0
0
0
-43
0
0
-1
1
0
0
-51
0
0
0
0
0
0
6
0
17
0
0
0
0
20
0
0
0
0
0
0
65
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
1
0
0
0
0
0
-104
0
0
0
0
0
0
-45
0
0
-1
2
0
0
-20
0
0
-1
0
0
0
24
0
0
-1
0
0
0
11
0
0
0
0
0
0
9
0
0
0
0
0
0
-52
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
-25
0
0
0
0
0
0
-7
0
0
0
0
0
0
-10
0
-1
0
0
0
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-5
-35
0
0
-4
0
2
-10
3
0
-49
31
-49
0
30
43
0
0
55
0
0
-21
-110
-1
0
-1
-19
0
25
65
2
0
-15
0
-2
10
-23
0
-48
29
9
0
-1
-57
0
0
0
0
103
0
0
-4
23
0
5
0
0
-23
-1
0
0
0
0
3
-1
-5
4
-7
-2
-16
21
-11
0
0
-81
0
0
12
8
3
14
-68
7
0
-36
2
0
0
26
0
0
1
59
0
0
31
-16
-3
4
14
0
0
-5
0
9
4
-36
0
0
14
2
-11
0
0
0
0
0
0
0
0
17
-11
0
3
0
0
0
-55
0
-5
-8
0
0
0
-24
0
1
0
0
0
-5
-33
0
43
0
0
0
0
32
0
-3
-3
-15
0
0
28
0
-10
-2
0
0
0
-1
0
0
7
-4
0
0
-17
0
-6
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-80
-19
-71
65
0
-21
1
-5
5
5
0
-44
-63
29
2
-57
-33
30
-15
-66
-6
15
32
-62
1
34
3
-1
-2
-14
-19
-15
-35
-28
-45
1
-2
-12
-2
14
-103
-11
0
-3
-48
-3
-14
-17
9
0
-1
25
4
-4
0
-3
0
5
0
-53
-9
4
3
-47
-10
14
-7
0
-69
-13
-63
42
-137
-45
-6
-64
26
9
-45
33
-11
91
-6
19
21
45
-33
17
-14
-72
-6
10
-14
-3
-29
-24
-42
-22
-2
20
-40
37
26
-16
-20
1
-23
33
11
-19
-17
20
-6
105
-74
6
21
0
0
0
0
0
-24
-23
-6
34
57
-33
-46
-3
0
1
-22
-5
43
12
-1
-29
48
-44
-1
-77
-67
32
2
-6
-7
1
14
-54
-11
13
22
-17
-13
9
-46
-71
18
-61
-15
6
1
13
31
18
4
-49
4
36
-43
49
-33
0
45
2
12
-5
-4
-55
0
-3
0
14
9
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
-16
0
0
0
0
0
0
-64
0
0
0
0
0
0
-7
0
-21
-13
0
0
5
-1
0
0
-15
0
0
0
-45
0
0
21
0
0
0
-49
0
0
-4
0
0
0
-5
0
27
0
0
0
0
-5
0
0
0
0
0
0
-34
0
0
0
0
0
0
-27
0
0
0
0
0
0
9
0
0
0
0
0
0
-60
0
0
0
0
0
0
-31
0
0
-1
0
0
0
10
0
0
0
0
0
0
6
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
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
2
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
-6
0
0
0
4
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
-21
0
0
0
-3
0
0
11
0
0
0
0
0
0
-44
0
29
-20
0
0
-26
-30
0
0
48
0
0
0
-37
0
0
-7
-6
0
10
-30
0
0
0
0
0
2
-21
0
-26
-5
0
0
0
-8
0
0
1
0
0
0
-5
0
0
0
0
0
0
35
0
0
0
0
0
0
17
0
0
0
0
0
0
-37
0
0
-1
0
6
0
-5
-1
0
-29
0
0
3
-29
0
15
-1
0
0
-1
-23
0
0
0
0
4
0
-10
0
0
0
0
0
0
-34
0
0
0
0
5
0
-85
0
0
0
0
-4
0
-45
0
0
0
0
0
0
16
0
0
0
0
0
0
29
0
0
0
29
0
0
-33
0
-1
0
0
0
0
14
0
0
0
-1
0
0
10
0
0
1
0
0
0
5
0
0
0
3
0
0
-19
0
14
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
-2
0
0
0
18
0
33
-4
0
0
0
0
0
-25
14
0
62
-52
-1
0
27
-44
0
14
-104
0
0
9
-85
0
0
-66
0
0
-9
-42
0
1
-22
0
0
3
-40
0
30
-10
17
0
0
-9
0
0
0
1
-7
0
7
-4
-5
0
0
0
0
25
0
0
5
0
0
0
-49
0
-1
11
0
0
6
38
0
23
-66
0
0
-9
-34
0
10
-24
0
0
34
-26
0
-15
-30
0
-4
-4
-15
0
0
2
6
3
0
-123
0
-3
16
0
-3
0
-17
0
0
8
0
-22
0
-23
0
0
0
13
0
0
31
6
0
0
0
0
0
1
0
-21
0
0
0
0
-62
0
0
-3
0
0
14
9
0
-1
1
0
-2
95
-76
0
6
27
-3
0
-3
-29
0
18
44
2
2
0
31
0
0
1
0
4
0
47
0
9
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-5
-69
-37
0
-14
15
7
0
36
-3
0
-32
-32
0
17
-6
14
0
21
-2
0
7
21
-3
0
-8
-10
0
-1
-17
41
0
23
1
0
2
-67
5
-7
-2
-107
-1
-21
14
-106
3
15
-39
23
11
-39
37
0
2
19
-21
14
0
-31
0
2
10
-16
0
-4
0
0
-79
54
-42
5
-6
-112
0
56
-5
1
-2
70
-9
0
-5
-13
37
-33
33
-35
0
10
5
6
-13
-20
24
0
99
-38
2
-13
-41
31
0
-50
20
0
-4
59
52
0
13
2
1
-17
-65
-88
0
0
-5
53
5
1
-5
0
0
9
46
9
0
-53
0
22
4
0
-99
-25
0
0
9
-66
-7
45
-14
-15
0
36
7
-7
61
14
-7
0
-62
-66
18
72
36
14
0
44
-23
2
46
24
0
0
7
-79
-1
-2
-64
-146
0
0
54
27
27
-1
0
0
4
58
58
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-135
0
0
0
0
0
-2
-34
1
62
25
8
0
64
62
0
11
58
-3
0
3
-6
1
0
-45
20
-3
-14
63
0
0
59
0
-3
13
-2
0
-9
-17
-2
11
0
-7
0
0
-3
0
19
0
-81
3
-5
0
0
-2
0
0
-5
0
0
0
0
4
-89
0
3
4
0
0
0
68
0
0
-36
0
6
1
29
6
0
0
-3
0
-10
21
0
0
-29
0
3
0
-3
0
0
21
-3
-2
-2
-13
0
0
0
0
-8
0
6
0
0
4
0
9
0
33
0
0
0
0
0
0
-138
0
0
0
0
0
0
53
0
4
1
0
0
1
-1
0
0
0
0
0
0
7
0
8
-1
0
0
0
-5
0
0
-21
0
0
0
-31
0
39
-1
0
0
0
71
0
-16
2
-2
0
0
-25
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-127
14
-41
-98
-4
2
1
-11
13
-1
36
21
3
61
71
31
17
-12
-17
-11
-32
-19
9
-46
43
-4
3
-49
-72
1
-17
-54
-58
-12
52
27
-2
4
29
38
-2
22
-21
10
-27
-30
0
-3
21
22
8
43
-81
-23
0
-55
-99
19
19
1
-20
-6
105
-128
-20
-13
23
-53
-9
-46
-80
8
-33
-22
26
7
52
0
11
-27
-3
-24
-10
-42
-87
9
85
14
-10
-17
-27
28
6
15
12
4
-4
56
-42
15
6
28
52
5
-15
83
-12
24
18
15
-28
-11
45
-43
52
-30
4
0
-7
-16
-5
-6
-54
-51
13
27
-89
-2
-2
-64
35
-23
-5
-31
4
-42
95
-8
-1
6
60
-2
5
-81
-1
-14
77
24
32
5
11
-36
-4
-26
19
17
39
-20
-65
-10
-1
-19
8
36
-16
-29
-3
-17
-27
0
-14
35
-75
-19
-17
53
-9
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
0
0
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
54
15
6
1
3
-79
-35
11
26
8
-45
-4
-51
15
15
8
26
1
-10
-90
-15
24
7
-12
-47
-25
-122
-40
0
-2
-66
21
-31
-48
-73
0
53
40
-78
-5
-26
-5
11
-2
-21
0
71
1
63
36
-2
0
-14
-4
0
7
-8
-1
9
15
0
-5
21
26
-73
123
20
-7
10
62
5
11
25
37
14
65
33
16
-2
14
-58
-33
-9
-29
74
11
-40
18
43
-83
2
0
-1
19
-46
-66
-68
-76
0
-27
-35
10
28
39
-105
0
-2
-19
-1
36
0
5
26
-1
-1
-2
29
0
-12
-2
-4
2
-13
0
-24
-62
0
-15
5
8
11
-20
-9
2
-81
-82
-24
0
-38
26
6
13
-43
7
2
-5
13
-13
-50
42
-16
0
29
-62
-6
-123
3
21
-20
-35
-71
13
-2
-57
-52
-13
-1
6
-1
-115
9
5
-56
0
31
31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
0
22
29
0
0
9
87
2
-13
-33
124
0
10
8
-4
-2
-15
0
3
-37
-25
0
0
-99
-3
0
-43
28
0
0
-46
21
16
-32
-5
-4
10
-152
-112
-9
-23
-88
1
0
41
1
-7
0
-4
-2
10
0
-40
-1
3
-115
50
0
-1
0
0
-19
41
71
45
51
-49
-52
38
-20
5
-5
-90
-2
17
-31
6
11
-3
-58
15
25
22
-2
-1
15
-1
11
20
-25
23
3
11
1
7
53
-9
36
0
4
-124
0
43
-3
31
-4
0
-5
-43
-115
0
-13
5
19
0
0
7
0
-32
3
2
3
0
0
-1
-26
2
15
-40
0
0
0
-22
0
-9
70
26
10
-3
-35
0
-5
-14
0
2
-49
30
-1
18
-67
-82
-3
-10
0
0
-25
7
-2
3
1
21
4
-2
-100
-18
1
0
-26
2
87
-6
-4
-39
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
22
-10
-2
-3
3
0
0
-35
33
0
43
34
-59
-1
20
-18
0
5
62
0
0
48
-59
1
-2
-39
-10
0
-22
-40
-2
1
-56
3
-3
-3
-160
9
21
-46
45
-15
0
-53
0
0
0
0
-23
0
-51
-35
-20
0
40
0
0
-44
-4
0
0
0
0
-3
81
0
-8
-1
-1
0
-10
-69
0
-3
-100
-6
6
109
21
0
-1
-45
66
-41
15
22
-3
-4
50
46
20
43
-36
26
0
-2
-44
-29
-2
4
0
0
-14
-11
-24
0
-18
0
0
-3
-62
110
0
-50
-5
0
0
0
21
0
-39
14
0
0
0
0
0
20
0
2
0
0
1
8
39
0
0
3
-6
1
43
57
0
56
32
0
0
6
-11
0
-11
-51
19
-4
-5
-6
0
-34
-61
-9
0
-1
-25
0
-19
95
1
19
0
-28
0
-122
-11
-2
-6
0
-55
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
50
0
0
-75
-94
0
40
-36
0
3
13
-100
0
8
-38
0
-6
17
-24
0
-7
-58
26
9
33
-48
0
-2
-14
1
5
14
9
0
31
-56
0
-25
58
9
0
-7
0
0
105
0
-25
-48
-7
0
8
0
0
-54
11
0
-8
0
0
-26
-46
0
49
85
-1
-7
21
-55
0
-9
-32
0
59
-53
-83
24
-25
8
0
9
12
-39
0
14
38
-15
-18
31
-18
0
-1
5
0
31
70
-33
0
2
19
0
3
62
2
-4
21
42
32
18
0
-42
33
0
-4
0
-8
4
35
36
0
3
0
0
-27
61
0
-33
71
0
-2
-17
-105
0
6
35
0
5
26
-80
0
7
92
-4
0
76
-36
-5
20
18
0
50
-4
19
0
13
46
0
-26
1
34
0
-3
41
-1
-27
-8
-26
0
85
1
0
52
0
-58
-72
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-2
0
-46
2
0
0
8
-7
0
0
40
0
0
0
-5
0
0
-13
5
0
6
-14
0
0
5
0
0
0
11
0
-3
-1
0
0
0
11
0
0
0
0
0
0
-33
4
0
0
0
0
0
20
0
0
0
0
0
0
76
0
0
-2
0
0
1
-17
0
0
4
0
0
-4
1
0
0
1
0
0
6
-3
0
0
3
0
0
10
-28
0
0
-8
-3
0
0
71
0
0
0
0
0
0
10
0
0
0
0
0
0
63
0
0
0
0
0
0
5
0
0
0
0
0
0
11
0
11
0
0
0
0
25
0
0
-3
0
0
0
22
0
0
0
0
0
0
63
0
0
0
0
0
0
35
0
6
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
0
-14
-96
-23
5
-9
84
20
5
-9
5
-3
-59
-33
0
16
-17
-57
-16
8
0
0
-3
-4
6
31
-71
-25
0
10
-5
17
20
-49
-20
8
11
-10
-8
-49
0
6
-54
-11
0
147
14
-1
-19
61
2
11
21
5
-1
30
-2
-24
-72
11
-23
-43
6
0
11
12
39
-15
6
44
1
29
-51
57
0
-111
-31
0
-10
-28
-5
73
35
10
3
8
-4
23
-5
-25
-12
0
13
-43
-9
21
14
10
-3
15
-94
61
32
0
10
-32
-5
9
0
23
0
-64
21
-8
-2
0
0
-8
7
5
44
11
0
0
14
17
-6
1
52
42
5
-8
17
11
12
-48
-3
-7
3
-23
0
-48
-30
-54
5
33
-17
-6
-98
26
4
19
-4
33
0
-1
24
-21
33
0
47
0
1
17
8
32
2
-6
-2
-9
4
80
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-14
5
8
-58
31
14
-19
-40
4
-6
14
26
1
19
21
12
4
-65
-4
-10
-32
44
5
12
67
-22
-4
-67
-5
10
9
-50
-27
-17
-78
-23
22
-27
15
53
-2
32
6
2
-22
51
-57
2
-25
-158
13
-77
45
-102
0
-28
7
-39
-30
-23
-37
3
-59
-24
-8
55
37
-2
16
0
1
-10
-36
38
0
-3
75
22
15
1
1
-7
2
41
28
21
12
-27
-40
-6
7
43
-14
1
-3
-44
-8
46
39
-13
23
5
-43
-2
23
-75
49
79
14
-66
9
67
-73
-105
8
-53
-38
0
-54
-22
-42
-33
6
-75
-36
-166
-5
-9
-11
48
-25
-4
20
-27
-24
21
-46
-25
-9
32
23
6
17
-46
-31
-4
62
34
-19
44
-39
-28
-5
37
-30
-1
13
-12
-24
8
-3
33
-28
35
4
24
8
12
-75
11
-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
0
0
0
0
45
-19
0
41
15
-13
0
-90
9
0
0
87
0
0
37
-14
0
4
74
-7
0
23
-30
0
0
-33
0
0
-25
-58
0
-33
43
0
0
0
-5
0
0
0
0
0
0
5
15
8
0
0
0
1
17
0
9
0
0
0
-13
-29
0
0
25
0
0
25
-21
0
3
14
1
0
128
69
-39
2
12
0
0
33
-116
0
0
34
0
0
9
66
0
0
-18
-3
0
1
-84
0
6
1
0
-1
0
-18
0
0
-10
-80
23
0
-35
0
0
0
0
0
0
15
15
0
-1
0
0
0
125
-3
-44
0
0
0
0
17
0
11
20
0
0
-1
-21
0
-3
-6
0
0
0
89
0
-2
0
0
0
2
48
-1
-15
0
0
0
0
14
0
0
2
-1
0
0
45
0
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
0
43
13
14
0
88
-79
0
7
14
0
1
59
22
0
0
-26
-1
0
5
-23
0
0
-19
0
0
-10
33
0
-45
24
2
0
0
-38
0
0
0
0
22
0
15
50
0
0
26
0
0
0
-2
0
7
0
0
80
117
0
0
-5
0
-13
88
-70
0
0
-6
0
0
7
-41
0
0
-15
-23
0
-3
47
0
0
-5
5
0
34
-40
7
0
38
2
5
0
-12
0
0
-3
0
0
0
-22
27
0
0
-15
8
0
-5
0
0
0
0
0
0
29
-9
0
0
0
0
1
-23
0
41
0
0
0
-4
-1
0
3
-8
0
0
0
-97
0
-22
11
0
0
0
-15
0
0
-33
16
0
0
29
0
47
-4
0
0
0
59
0
5
-59
0
0
0
-16
0
41
0
0
1
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
13
-16
-3
14
-23
13
-4
9
51
-5
28
15
-6
0
2
36
-3
6
21
4
89
11
54
8
10
-2
41
-14
-16
-15
0
22
-10
72
-21
-22
-30
-1
9
-25
-4
-15
0
11
22
-37
0
-10
17
-5
39
-15
1
0
0
6
-43
46
14
39
-42
-32
-37
-90
-11
-10
36
61
10
62
-45
16
4
-15
-35
7
59
-19
1
19
6
4
30
-17
-37
34
0
-1
25
17
6
-10
-47
-1
1
-18
23
14
-46
-29
5
-14
58
38
-10
0
-16
-44
0
0
21
5
1
14
-119
4
0
-1
0
0
21
1
-2
52
0
-2
-10
8
-1
-30
-96
1
1
65
38
0
41
-52
45
-5
8
38
1
-16
-36
-106
-57
80
55
-1
-51
-50
-4
65
65
4
0
0
15
24
45
16
-12
1
-50
11
-3
82
0
-87
-93
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
-47
0
-72
-10
0
0
-11
-3
0
-8
26
0
0
10
-72
0
0
55
0
0
-2
-17
0
0
0
0
0
0
-60
0
-16
-4
-8
0
0
0
0
0
0
0
-1
0
-17
-8
0
0
0
0
0
19
0
0
0
0
0
0
18
0
0
0
3
0
0
-4
0
0
-1
0
0
-8
-16
0
0
26
0
0
-4
-52
0
0
-7
0
-13
0
-14
0
0
-2
0
0
-1
-23
0
0
0
0
0
0
25
0
0
0
0
1
0
-18
0
0
0
0
0
0
-11
0
0
0
0
0
0
45
0
-3
0
0
0
0
57
0
0
6
0
0
0
3
0
36
0
0
0
0
5
0
0
5
0
0
0
25
0
1
-2
0
0
0
33
0
0
0
0
-1
0
-21
0
5
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
5
-2
0
52
24
-1
0
-38
-90
0
0
-78
-5
0
-11
-99
0
-2
-18
-33
0
-58
31
0
0
92
0
0
21
-5
0
-73
-16
0
0
8
-37
0
0
0
0
0
0
45
5
-5
4
0
0
0
50
9
0
0
0
0
0
-35
0
0
17
0
0
27
57
0
0
43
0
0
-35
33
0
0
70
33
0
18
12
0
3
71
4
0
13
-64
0
0
-31
-8
0
-3
-7
0
0
26
0
0
0
57
0
0
0
-1
0
0
-104
0
0
0
0
0
0
53
2
0
0
0
0
0
13
0
-43
-3
0
0
-1
93
0
0
20
0
0
-7
57
0
-35
20
0
0
0
6
0
0
-43
0
0
-2
-86
0
-44
-4
0
0
4
-121
0
-1
0
0
0
0
-41
0
6
0
15
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-71
-76
-51
-34
-5
-55
19
17
-94
-19
-45
-15
-36
10
-11
45
-14
-26
33
-20
3
3
-23
-24
-30
14
-14
9
-9
17
-4
-33
-40
-2
6
-25
-7
-1
-61
7
-19
-11
-36
-32
-16
10
19
51
-32
-3
70
-5
-18
-81
32
30
33
-53
20
-59
5
-41
33
-23
-67
-9
11
-55
-36
2
7
97
-20
73
49
-82
-14
21
-19
-45
-4
-64
82
26
5
91
-70
-6
5
-22
5
-20
-7
17
-89
-12
0
16
4
-27
-1
-36
9
0
-68
5
-53
10
-11
-2
21
2
-3
30
-12
-34
-14
-5
14
50
102
-68
3
-13
99
16
1
-85
-21
-33
-35
-23
6
48
14
63
-55
-61
16
-6
13
29
7
-10
-71
-90
29
35
-110
11
72
91
-2
30
-9
-20
-80
0
-21
-1
-5
30
23
5
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
-66
21
20
5
-36
-56
-130
3
-3
33
-17
-1
4
-95
-3
-14
77
52
30
-24
-51
-6
-23
-3
5
20
-8
-28
-45
-16
-22
-32
4
-8
33
4
-4
7
-59
-56
17
12
-27
0
-123
-96
-10
-71
-39
34
11
36
-26
-25
-78
-73
-86
0
12
17
-46
-24
7
-82
-29
81
-38
-66
47
-33
-33
-7
-62
53
-18
-80
-7
-18
3
11
17
15
-31
2
24
-1
0
-36
38
13
23
2
12
48
51
49
32
19
-15
17
24
-1
4
-7
-29
5
-5
-119
75
25
-53
49
-23
-5
-71
-17
-43
-21
-6
-146
0
-64
-33
-21
18
-37
-27
-45
19
101
-34
-46
-20
-78
-13
81
29
-18
-71
-5
-95
8
-7
-26
60
89
-25
-96
-6
-61
71
44
42
-7
36
24
-10
25
78
27
10
-10
43
-8
-20
-31
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
-40
5
0
0
-57
0
0
7
-47
0
1
-41
5
0
23
10
0
-2
11
0
-4
0
-20
0
-21
43
1
0
0
-47
0
0
0
0
0
0
62
-1
-2
0
2
7
0
23
0
0
5
0
0
0
-42
0
17
-23
2
0
0
-117
0
0
-1
0
0
-6
-8
6
33
-22
-5
0
-17
25
0
1
-17
0
0
-3
44
-1
-1
8
-4
0
0
27
0
0
4
0
-7
0
-11
0
0
-10
0
50
0
10
0
0
0
0
0
0
-5
-16
0
-2
1
0
0
-24
0
-14
0
0
0
0
-36
0
0
4
-2
0
1
43
0
33
24
3
0
0
-184
0
-1
-3
1
0
0
2
0
-3
0
0
0
0
-29
0
0
0
-2
0
0
74
0
8
0
1
0
0
-43
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
6
-10
79
-37
-7
16
-91
-18
-8
-12
-16
-26
22
23
-9
14
-23
-54
-13
80
23
18
20
5
11
-2
3
-13
-1
8
-4
-20
-61
5
-12
-20
20
-43
-30
-53
-57
16
-31
-14
-43
-38
5
-76
-31
-29
-2
-56
-25
4
-17
66
77
30
57
-9
19
80
69
4
-4
47
14
-7
55
35
3
0
20
-60
-5
50
100
-10
7
-49
-83
-21
9
5
-61
25
-37
-37
10
32
23
18
4
-33
-100
27
-8
-14
7
16
-40
-89
-8
-12
-61
19
7
19
-65
32
60
-10
-13
-12
-76
-51
5
-11
60
-22
-20
-99
-40
6
24
-10
30
-20
16
-90
-43
-2
-12
-13
-8
28
-16
-3
55
49
31
9
25
-26
-45
-22
35
-5
12
-25
-12
-71
9
79
-32
3
-3
3
43
43
-13
-14
-5
32
54
-57
31
-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
-1
-8
83
72
54
87
59
18
2
98
4
2
-20
12
6
0
-59
43
25
29
-7
-81
6
-8
5
-7
17
9
-17
-5
49
69
-4
13
-3
11
-2
-49
0
-33
-30
65
0
13
62
20
-3
-66
50
33
29
-41
32
62
20
43
48
-1
12
-8
7
50
67
-6
-16
-28
4
-4
25
-52
-18
-8
-39
-58
24
-1
12
2
-2
18
62
13
0
32
-2
13
59
-48
48
-44
37
-71
15
-39
-11
-2
2
8
-5
5
43
16
1
-38
6
14
10
-6
55
-6
-77
-4
-62
34
184
51
-5
-22
22
-13
18
-34
15
26
18
60
40
-11
-43
11
41
33
-12
-37
-20
-134
35
-2
12
50
-25
15
-90
-26
28
-11
11
23
-18
20
21
23
31
38
43
11
-8
-36
-8
-98
1
-16
23
3
-82
94
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
-9
0
-1
26
-39
9
-7
6
-16
-6
-29
14
-5
-5
48
-28
-14
16
7
4
5
18
-54
14
1
47
-3
65
-2
-26
0
-4
-1
5
12
1
-3
65
-8
4
-16
-23
0
-4
0
-6
-33
24
42
0
15
0
-43
75
-16
4
-11
-8
-2
13
-5
-11
3
-37
-18
0
-13
39
-13
8
-34
14
91
6
-7
-34
-2
-21
-24
-33
-76
-12
-38
-5
87
-5
0
9
53
7
0
-7
-34
-2
-3
0
12
71
-6
-2
14
38
0
-49
31
46
-33
-1
-23
31
43
5
7
7
0
60
20
-9
11
35
32
0
0
15
17
0
65
80
-13
9
-19
-55
-25
70
10
-3
-36
43
-20
-33
-40
-34
6
-90
36
5
0
-18
55
-5
-16
44
-16
26
19
26
1
-21
14
-11
-52
-17
-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
5
-18
0
-1
-33
4
0
-2
-72
0
-1
-20
9
0
-6
53
0
2
-6
0
0
-1
78
0
-33
-5
-1
0
0
26
0
0
0
0
0
0
-63
-8
6
0
0
0
0
23
0
-1
0
0
0
2
70
0
0
8
8
0
-9
-52
0
0
128
0
0
3
34
0
0
-14
0
0
-2
10
0
0
15
0
0
-2
66
0
-3
23
0
0
6
-93
0
0
-5
0
0
0
-32
0
0
0
-1
0
0
37
-1
0
0
0
0
0
43
0
0
0
0
0
4
-5
0
23
0
0
0
0
27
0
3
0
0
0
-18
62
0
-26
-3
0
0
4
65
0
0
10
1
0
2
-29
0
6
-15
0
0
-3
-3
0
0
0
0
0
0
55
0
4
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-167
-21
4
6
-3
-58
-1
-118
57
-1
-94
51
-14
-5
3
18
-6
-11
-23
33
-11
69
35
24
21
-24
59
-8
-37
-60
-11
-12
-69
7
22
-42
-50
22
4
-60
-69
8
-44
20
10
9
-26
22
-1
-119
81
20
24
160
-41
10
30
-64
20
-5
62
27
13
45
-41
-2
114
-46
-71
-2
21
-2
-11
-3
-33
31
18
104
12
14
-4
2
45
-13
51
-24
2
3
-12
21
10
-21
15
14
-69
54
-20
-3
28
-88
-85
-21
44
-49
-17
-29
6
36
-86
71
-54
-6
96
29
7
-32
72
-11
0
-45
-8
8
-13
-11
-23
9
-74
14
31
44
-12
-63
-17
37
30
1
-14
-33
10
16
100
19
-13
42
3
-52
6
-18
-21
30
-27
-5
58
-2
-62
49
-19
71
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
34
-84
-51
-34
19
-18
-17
-4
-35
-20
-55
-16
-22
-55
112
-5
17
-1
6
-33
-37
-28
-33
15
71
-30
-34
0
-4
-25
26
13
-60
-35
5
-14
-38
-24
42
-74
32
5
-14
7
32
-50
7
-26
18
-66
-20
-34
-42
40
-43
0
-45
-80
-14
-35
86
-44
-15
89
-36
-36
6
-12
-48
-13
-8
-31
-13
-3
58
-4
-15
60
9
37
11
7
19
-17
-82
-68
28
5
2
-27
3
-56
-62
-60
-31
-6
50
31
31
-100
-7
43
-42
-26
-18
1
25
19
-55
-20
54
3
-16
-32
-5
23
12
22
0
-50
-4
7
-8
21
-59
-11
-48
-47
-30
19
36
-1
-1
8
5
4
-80
49
11
21
-56
4
4
7
-1
-88
-10
-72
48
-20
33
21
-60
8
-22
12
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-64
0
2
-66
10
0
2
57
0
0
-19
0
0
-4
3
0
54
-5
0
0
0
-38
0
0
0
0
0
0
19
17
0
0
0
-3
0
-60
-3
0
0
0
0
-5
39
-1
-24
15
-1
5
13
-43
0
-2
-15
0
0
37
47
0
2
4
-2
0
-2
-41
0
-3
5
3
-3
0
28
0
0
-3
2
0
0
1
0
0
13
0
0
0
36
0
-1
0
-2
-4
0
-32
0
0
0
0
0
0
-48
4
0
0
0
0
1
61
2
35
1
0
0
0
-26
0
-10
33
-2
0
-1
-90
0
-23
-19
0
0
0
-76
0
0
0
0
0
0
-80
0
-25
0
0
0
0
3
0
0
0
0
0
0
-21
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
4
6
0
38
39
2
2
30
0
-1
24
-22
0
28
61
-43
-9
0
69
0
0
0
0
-10
0
-18
-34
-2
0
6
0
0
13
-1
0
0
0
-2
19
12
22
-2
-13
-6
0
34
-43
1
0
14
2
2
43
43
8
-2
-9
7
0
-78
-13
4
0
-50
3
5
-4
-26
-5
0
-155
14
20
0
5
0
0
-21
-14
33
0
128
0
0
-6
-6
-24
0
34
1
0
0
0
5
0
-37
0
2
0
0
0
-1
-159
0
4
10
0
0
5
29
0
0
19
43
0
24
61
0
-5
44
-3
0
3
21
0
14
19
5
0
6
-34
0
-2
8
0
0
9
77
0
-2
43
8
-1
1
72
0
-21
0
0
-13
0
-55
-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
-25
7
45
-62
2
15
20
13
6
78
30
-1
-52
60
7
-33
10
-3
2
12
-35
16
-11
-21
26
7
-47
-30
-21
-2
-60
-36
-20
41
9
31
40
-58
62
-16
5
-58
-47
21
26
-1
-8
-14
13
19
-5
72
-12
39
-56
-23
-26
-12
0
-51
22
-26
56
35
-4
-50
5
14
40
-53
0
11
-81
-13
21
-2
15
-6
9
14
-60
1
-2
51
-88
-1
9
-38
-10
35
1
-14
22
-15
-42
37
29
59
9
24
-25
101
31
44
23
21
-17
-123
-29
24
-66
12
61
17
-22
48
22
8
44
59
-8
-37
-16
-44
-72
-69
-39
-21
36
-20
-2
13
-8
22
-2
81
7
53
45
103
48
-6
10
4
47
25
41
18
9
10
-44
-13
69
-15
5
7
9
-5
-25
-101
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
-42
-71
0
0
31
-10
0
75
-33
0
0
18
0
0
7
7
0
-14
-36
-10
0
0
18
0
0
-3
0
-4
0
-38
16
2
0
0
0
0
-43
0
0
3
0
0
-7
23
5
7
-20
5
-1
-30
81
2
0
-12
0
0
-26
4
0
3
54
-2
0
1
10
0
0
72
0
7
1
-4
2
0
-3
11
-14
0
-14
4
0
19
0
0
1
-54
0
-2
18
0
-58
0
-70
0
0
0
0
0
3
-87
-3
0
0
0
0
0
30
0
19
1
0
0
10
-7
0
0
-19
0
0
53
-11
0
-14
6
0
0
-14
11
0
0
6
8
-7
0
-14
0
74
-5
0
0
0
89
0
0
1
0
0
0
-41
0
-10
0
0
-13
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-17
-2
0
39
-4
0
0
-34
-1
0
17
-105
0
-70
-1
-6
0
0
34
0
0
0
0
0
0
2
-33
3
0
0
0
0
-23
-9
0
0
0
0
-10
18
0
34
-49
9
0
-8
18
0
0
75
0
0
26
86
0
-3
81
0
0
109
-33
0
0
27
-2
0
26
-34
0
0
8
-10
0
0
-48
0
0
-7
0
0
0
-65
0
0
-2
25
0
1
-25
0
0
0
0
0
0
-24
-2
0
0
0
0
4
15
0
5
36
0
0
-25
0
0
1
-5
-9
0
3
23
0
2
53
0
0
-3
80
0
1
-14
3
0
79
-85
0
-4
-1
0
0
0
41
0
0
-14
0
0
0
-130
0
26
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
39
-33
58
-19
84
12
-3
-39
0
12
2
-37
-55
-28
15
0
-13
8
-23
14
0
0
-19
-59
34
-47
4
27
-19
38
-4
57
-2
6
55
-12
71
87
15
-16
49
-28
-4
23
92
2
-52
-59
65
-13
-44
44
-1
3
21
59
-20
-105
-17
-38
43
-23
-39
-3
-14
24
-41
3
-15
30
-5
-2
-1
37
41
17
-33
-2
-54
91
29
-40
-15
9
15
100
46
-14
-72
8
-1
-3
34
-14
-14
30
-7
-10
36
39
-47
16
4
14
-14
2
10
51
68
-80
29
-60
38
43
-12
0
91
52
-13
-35
-55
-17
-15
-22
-1
-14
1
-5
30
31
-13
-120
35
-23
1
-72
-54
44
22
-20
7
33
-53
-17
11
23
-3
15
71
23
5
-43
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-75
-104
20
6
-21
16
-2
-22
-20
-3
-26
-22
36
-6
-50
-56
78
-78
5
17
-19
-40
-9
4
-75
2
-11
-11
-16
-48
24
-17
-12
-17
-15
52
-22
21
2
-54
14
-7
-38
-71
34
-52
-124
15
8
-55
-51
-3
-16
17
-11
0
7
-17
3
67
-68
-5
3
7
-54
22
-22
22
-33
5
13
67
49
-83
-20
20
16
39
111
45
-35
-12
-39
5
-24
-57
84
-37
-60
-120
-2
-43
-108
26
-71
86
-65
7
-83
-43
-3
-93
-92
-29
6
-52
51
45
13
-19
-43
7
-109
25
-15
-78
47
12
0
-55
0
27
22
-21
-48
-15
-23
-14
-10
-20
-33
0
18
-3
14
10
-12
-26
28
2
-13
-16
87
160
-52
-38
-4
16
-65
-19
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
-21
22
0
0
-14
0
0
-5
73
0
73
1
0
0
0
-12
0
0
0
0
0
0
119
-18
0
0
-1
0
0
14
0
0
0
0
0
0
-12
0
3
-1
0
0
-5
21
0
0
-16
0
0
1
-36
0
0
68
1
0
0
-65
0
1
-17
0
0
0
-7
0
0
33
0
0
0
-31
0
0
1
0
-2
0
2
0
0
-1
0
34
0
82
0
0
0
0
0
0
-31
23
0
0
0
0
0
3
0
-7
0
0
0
3
-20
0
-4
0
0
0
0
-37
0
-4
0
0
0
0
2
0
0
-9
0
0
0
-52
0
-5
5
0
0
0
-8
0
1
-9
0
0
0
-1
0
5
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
45
-77
0
0
8
0
0
-6
97
0
-44
-3
19
0
2
54
0
0
0
5
0
0
-30
26
7
0
5
0
0
47
0
0
0
0
0
22
2
26
-2
4
11
0
53
74
0
-2
37
0
0
-7
-72
2
3
44
150
10
-13
25
0
3
-33
-2
2
-2
6
0
1
-55
-20
1
-3
-49
0
-9
-3
0
-1
5
59
-2
0
36
3
5
-1
-44
4
0
0
0
0
0
-46
5
0
0
1
0
0
54
0
5
0
0
6
9
-7
0
-1
-6
-7
0
0
-70
7
24
20
0
-6
13
13
5
0
-3
46
0
0
73
0
-90
-8
-1
0
0
-71
0
0
-2
-4
0
0
53
0
-23
0
-1
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-97
46
41
-19
-31
-18
-37
5
43
3
53
53
-5
-21
61
19
-73
-17
3
10
-8
-13
8
0
-72
-25
21
41
3
-92
51
10
-28
-15
-39
54
15
14
15
-11
-8
72
45
5
21
19
11
-8
-90
16
13
-50
-47
-5
-3
-1
20
14
71
-28
37
10
26
-87
37
-2
-23
60
11
33
37
70
-26
33
24
5
-30
-4
26
8
12
-13
7
-32
7
8
60
14
34
-10
-70
131
-14
-32
34
-44
30
7
14
-39
-15
-40
-79
19
-45
-17
61
-104
-35
-6
-9
1
-13
6
47
-109
-39
-19
27
85
1
-1
-66
-28
1
82
13
46
-55
25
29
-2
68
56
30
-26
29
-48
8
-6
14
-46
-73
-50
92
8
-28
-58
-33
33
-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
29
1
-2
-13
25
-14
76
56
0
0
-1
32
8
-9
38
-25
0
11
11
0
-21
0
29
-43
22
-8
2
71
-7
-35
15
2
0
5
-2
-10
24
-17
44
-7
-2
-14
36
-25
3
16
42
1
-35
41
-12
5
0
7
-8
53
-36
1
26
-10
9
0
20
49
-20
-1
-9
8
1
118
86
-12
0
-2
98
0
63
18
18
2
-19
-4
13
9
0
-4
-45
-19
-2
0
-24
1
-20
-12
3
17
0
0
-44
-15
-1
-12
150
0
0
64
-8
0
53
19
0
0
96
17
0
60
-27
-4
5
-111
22
-2
22
-57
-32
-17
-6
-12
1
-48
-2
-2
9
6
23
0
97
22
0
120
8
9
1
7
-61
13
79
0
10
-52
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-121
0
0
-2
0
0
-18
-49
0
-16
52
-80
0
-4
7
0
0
0
0
0
0
5
11
-29
0
9
0
0
51
1
0
1
0
0
0
-16
2
-19
-55
5
0
-48
32
-1
0
-38
0
0
67
-34
0
-5
91
-48
0
43
-41
4
0
-7
4
0
-34
-12
0
-8
-4
-33
0
-14
63
0
0
26
0
0
7
23
0
-1
-21
-13
0
0
26
0
0
0
-3
0
0
34
-7
0
0
0
0
0
3
0
5
-7
17
0
-3
32
0
-5
-31
-33
0
-29
-112
0
-53
-96
2
0
48
-42
0
0
27
-3
0
-2
-80
0
109
18
0
0
3
32
6
17
-3
10
0
0
-26
0
17
-1
0
0
0
-39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
68
-14
12
21
-6
-33
20
-2
17
35
68
-16
-22
0
16
-88
5
14
-13
45
-3
-11
-57
-23
-22
0
-21
38
-28
-14
12
14
-10
-8
-44
6
-33
6
27
0
-27
-68
5
-65
93
32
21
23
6
6
17
-38
27
14
-47
26
34
6
52
0
51
-23
-94
1
-14
29
15
-27
4
16
17
-5
-45
-19
12
28
0
20
60
9
-1
5
-22
2
-2
1
0
-45
20
0
-64
9
95
23
22
0
63
-87
5
0
-55
12
-61
-20
-55
15
-13
6
17
-66
-52
38
5
18
19
16
-25
-12
60
5
-55
15
-8
-8
10
-4
-7
-5
30
17
42
-3
0
-7
1
-16
43
-22
-30
0
5
-17
-6
-29
-98
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
79
-12
2
-26
13
64
-12
-37
44
-6
7
-26
-44
-8
37
14
27
-59
-80
-32
11
-32
24
16
-111
10
47
0
-17
-28
21
-11
-56
-19
-16
-56
-6
17
-134
-21
-10
8
7
-52
1
-9
-27
33
2
5
2
14
-4
40
30
0
4
47
19
2
-67
20
-17
-41
39
14
-23
5
81
22
-26
-82
36
-46
-43
-1
-12
-43
-117
2
-34
-25
-47
20
21
-103
22
-11
-22
33
3
15
31
-34
-57
-118
-119
26
8
36
-13
43
10
-22
16
102
-8
11
-72
-19
12
17
-74
2
-19
-16
-3
80
0
16
28
9
-28
38
-3
-2
7
6
-1
16
45
-2
-7
-44
-53
18
43
5
-33
12
-23
37
-64
-64
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
-14
-36
0
24
1
0
0
0
2
0
0
0
0
0
0
-12
0
1
0
0
0
0
-17
6
0
0
0
0
0
-28
0
-1
7
0
0
3
-43
0
0
-14
0
0
-3
-26
0
0
30
-6
0
-1
27
0
0
-17
0
0
5
-44
0
0
-8
26
0
13
30
0
0
-2
0
0
0
8
0
0
0
26
-6
0
-49
0
0
0
0
0
0
1
7
0
0
0
0
0
-32
0
0
0
0
0
0
6
0
6
-1
5
0
0
-5
0
21
-9
0
0
0
56
0
-4
0
-8
0
0
2
0
1
0
0
0
0
79
0
0
0
0
0
0
-46
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
-27
-25
0
-69
5
128
0
0
-36
3
0
11
0
5
0
-51
-2
24
0
0
0
0
14
-1
0
1
0
0
0
45
-11
-8
-2
0
0
0
53
0
-9
37
0
0
-9
-67
0
0
108
-4
0
-21
4
0
4
-31
0
-4
-1
-16
0
0
7
5
9
0
-16
0
0
2
0
-8
0
-27
0
0
-45
-1
29
0
23
0
0
0
0
0
0
-30
0
0
0
0
0
0
-45
0
0
1
0
0
0
59
0
0
-3
-2
0
-6
52
0
0
-8
0
0
0
-5
0
5
-3
-2
0
0
-51
0
1
25
0
0
2
52
0
0
45
14
-26
0
30
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
16
17
-11
-14
-4
1
-25
64
-1
-40
-3
0
-31
-19
-1
12
-19
-20
-2
1
-1
7
9
-58
-44
40
-7
4
9
2
-27
19
-6
15
-47
-5
17
-14
-2
-10
77
-15
25
20
-27
13
34
-8
-29
34
-15
126
35
19
20
36
2
15
32
11
45
16
-2
90
9
-6
23
-99
6
18
59
16
-2
-54
-42
-10
-3
-3
8
79
-10
-5
-71
-4
19
-17
-9
-26
53
-77
24
-51
-3
38
-35
-28
-2
20
-9
16
53
92
-10
6
-34
-5
19
-56
-9
15
31
27
6
3
3
-14
-31
-60
43
14
4
-27
-13
72
-5
111
14
6
-11
53
53
5
-4
2
9
-13
-49
-36
-22
-21
37
-1
-96
-90
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-44
-23
0
0
15
44
0
0
0
0
-21
0
2
1
1
0
0
0
0
-82
5
0
0
0
0
8
22
-2
-2
-19
0
0
3
-16
0
0
-5
0
0
60
-18
0
9
9
3
0
5
-31
1
0
-78
0
9
-29
-22
-4
0
-50
0
0
54
37
0
6
-51
0
-5
3
-40
0
0
-1
10
65
0
0
2
0
0
0
0
0
-90
5
0
0
0
0
-7
-50
0
29
3
0
0
2
-77
0
-21
31
0
0
-2
6
0
-20
71
0
0
4
-14
0
0
90
1
0
0
-12
2
-74
11
0
0
0
-52
0
0
41
3
3
0
-26
0
-9
-44
0
-6
0
-112
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
53
0
-20
47
-18
0
5
43
0
0
-1
0
0
0
-4
15
13
-2
50
0
-3
-68
-19
0
0
0
0
35
47
0
10
8
34
0
-55
-11
0
0
-54
-7
0
-81
-28
46
-4
131
-54
0
7
-60
9
-25
-14
0
0
-23
24
-9
0
10
15
-8
60
11
0
0
35
0
0
0
-56
0
0
23
11
0
0
8
11
0
0
2
0
0
25
5
0
0
-3
0
-1
-79
0
-20
-20
0
0
11
-33
-1
-1
11
-18
0
-3
46
0
96
86
1
0
-8
-30
0
23
-32
-18
0
10
12
0
-22
20
0
0
-55
-39
0
18
-18
-6
0
0
-8
0
-32
-6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
2
-40
-6
-24
0
-33
-24
59
0
-98
3
0
-28
-4
5
0
-1
-3
-7
-38
20
-65
-14
-1
58
74
-20
1
3
-18
-16
0
68
63
3
-90
13
18
-36
-5
28
-32
45
43
7
-33
-6
-12
0
11
3
-20
-13
0
-6
-6
10
-29
29
-1
6
14
0
22
-4
-35
72
0
-37
-14
0
0
-2
-3
-1
-43
-95
-3
0
13
0
-19
-35
1
-92
-37
0
-59
53
-4
0
-87
27
-54
-2
-71
5
-8
-85
3
17
-6
-15
1
-6
-34
17
-7
16
1
-8
0
-23
-23
-8
0
4
-9
0
-25
62
-33
5
0
-46
0
-4
-7
46
-6
0
-54
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
72
7
60
13
-20
9
11
13
4
-6
40
-4
-77
-32
-13
-5
-25
-49
16
65
-2
-9
8
13
-12
-12
13
-9
16
-6
-61
3
13
-22
-28
-6
-15
64
-21
-4
-16
-39
20
-6
-23
2
2
-29
-15
30
-21
-62
11
-18
-11
-42
102
0
39
-44
27
21
13
148
38
0
-53
40
-77
-2
4
-4
-17
16
43
-103
-42
44
8
23
13
26
16
14
-27
16
72
-18
36
46
-7
-13
18
-41
-44
-11
-38
25
-21
10
-104
-20
9
22
-3
18
2
-27
-10
-5
-67
88
-44
-8
-14
4
28
72
0
5
0
-33
-86
35
-39
43
60
23
5
38
-15
-10
-26
205
10
26
7
11
-70
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
-3
0
0
0
0
0
0
-106
8
0
0
0
0
0
88
0
0
0
0
0
0
22
0
0
2
0
0
0
81
0
0
20
0
0
0
-33
0
0
27
0
0
4
-10
0
0
10
0
0
0
-71
0
0
1
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
6
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
10
0
0
0
0
-5
0
3
0
0
0
0
-20
0
5
0
0
0
0
43
0
0
-1
-1
0
0
-33
0
0
2
0
0
0
58
0
0
0
0
0
0
89
0
-6
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
25
15
-11
-1
-3
-84
-50
16
6
-119
-3
68
2
10
111
22
-44
-23
-58
-64
-109
52
6
25
-46
-1
-22
5
11
-5
-5
-41
-17
24
81
-12
-2
-81
13
-7
20
29
2
-25
14
-25
5
-54
4
-51
-24
-79
-18
13
5
11
14
15
-5
53
-1
-12
-23
46
21
39
-96
-49
-23
31
-2
15
-30
-17
-29
5
75
-29
12
45
-33
27
-45
15
-82
-28
-65
41
-32
-77
-27
-6
15
68
-39
-20
9
2
-32
-17
45
-43
-15
-37
-28
62
-9
-41
39
15
26
-69
-72
2
-10
-29
22
1
-72
64
3
47
-8
-15
24
14
54
18
22
-71
33
-23
-4
-16
36
21
-55
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
26
0
1
-3
-39
-35
-8
-16
-29
-51
-3
-5
1
7
-25
-65
-14
6
-3
0
47
13
-51
5
-44
16
-16
-51
28
15
17
-5
5
33
-42
16
14
-25
-9
-7
-15
-50
-5
1
-110
-71
-49
-52
9
-49
7
-103
-20
8
-65
2
-10
19
47
-32
39
-17
-48
40
-6
10
43
-65
-27
0
-28
-18
8
0
43
-3
0
-37
8
4
-5
10
-1
52
-21
-3
-38
-27
-4
-27
10
-22
-14
-43
-25
9
8
-40
-3
33
46
-33
14
0
25
-38
-39
-7
21
-65
2
0
-10
0
37
23
-18
89
-1
29
-2
-50
-17
26
-89
-5
24
2
-28
-39
-1
48
0
-20
-13
45
1
-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
-97
14
0
-1
-99
0
-39
0
11
-71
59
0
1
0
0
-2
-69
-4
-8
21
1
10
22
-8
-38
54
-7
-36
74
1
-2
11
29
0
47
25
9
1
72
5
14
-6
91
-13
3
27
14
9
59
14
-5
1
-6
15
-2
53
-18
-2
0
-3
-6
0
14
-4
-2
0
-2
43
0
37
0
18
14
0
0
-18
-20
0
5
-62
0
-3
0
0
-46
-35
0
16
42
0
-7
5
-10
-1
-2
63
0
6
-42
53
-3
75
60
0
-2
57
-21
0
18
-3
7
1
41
-4
0
100
24
0
35
-8
3
0
9
-5
0
-3
-11
-16
0
-66
40
0
-12
0
37
-1
11
-11
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
34
36
71
0
19
0
0
12
5
10
0
0
0
-9
-19
10
5
-56
-57
0
-57
13
0
0
14
0
0
-17
12
0
2
17
-10
0
72
-12
0
-5
56
26
0
-27
-33
2
4
-98
-26
0
32
26
0
0
-34
0
0
-5
-76
0
0
-15
5
0
0
32
1
0
0
-5
0
1
24
26
0
0
0
0
-4
13
0
-4
0
0
0
13
64
0
1
-23
-11
0
-4
-14
0
-8
58
7
0
9
-11
0
16
24
-5
0
-6
-22
5
61
73
0
0
37
-36
4
-16
9
18
0
6
-85
0
82
-4
-5
0
0
-30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-30
54
3
-21
0
0
1
20
0
0
0
0
8
-42
1
-3
15
37
61
-27
16
0
1
13
0
-14
4
15
0
3
19
18
-3
25
56
0
6
13
41
38
-1
65
0
0
42
-31
-21
0
14
-4
-2
-44
-4
32
0
73
0
0
0
-9
-68
0
9
27
0
0
6
1
0
14
-1
-6
0
0
0
0
5
-11
17
-36
0
1
-15
-5
0
2
-31
0
2
-7
-37
0
-20
-3
0
-11
20
4
0
0
-21
2
2
-4
1
0
50
22
0
-5
0
-50
0
0
-25
4
1
0
43
0
15
-3
-2
-9
0
-32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
67
-16
15
26
-3
3
4
12
0
-6
-114
-35
32
13
-92
-1
9
-22
35
-9
-6
44
23
-13
-61
-33
1
-3
-33
10
-2
3
-96
-7
0
-17
23
20
-6
-12
-13
-10
-3
10
-9
-23
-56
42
7
-1
-43
-2
22
-3
30
0
24
-40
-3
19
5
-1
-12
27
7
-57
-126
-28
-4
5
16
20
-6
37
31
14
12
36
9
60
-52
21
4
25
-41
-33
-11
40
-10
61
25
26
-19
-2
12
98
40
2
62
-12
-7
18
-8
65
-5
-29
-10
-24
-91
-30
-26
-6
73
-54
18
40
59
-63
0
6
48
-2
53
21
-13
-2
28
-20
-32
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
-36
0
0
0
0
0
0
17
0
0
-8
0
0
5
-23
0
0
9
0
0
-5
-44
-1
0
-21
5
0
0
-15
0
0
-1
0
0
0
111
0
0
1
20
0
0
-74
0
0
-8
0
-3
0
2
0
0
0
1
-1
0
-23
0
0
0
0
25
0
74
0
0
0
0
0
0
8
0
-2
0
0
0
0
-29
0
0
0
0
0
0
-57
0
0
0
0
0
0
23
0
2
0
0
0
0
37
0
14
0
0
0
0
33
0
0
-1
-15
0
0
-1
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
-27
-1
1
0
0
0
0
-42
-7
0
0
0
0
0
-4
0
0
-1
-1
0
-8
-22
0
0
-7
0
0
51
90
2
0
-4
-1
0
-21
55
0
0
28
0
21
3
-47
0
0
-3
-1
0
-3
-46
0
0
-3
0
-4
0
-25
0
0
0
0
-2
0
8
0
0
0
0
0
0
-23
0
0
5
0
0
0
3
0
-2
0
0
0
0
45
0
0
-2
0
0
0
81
0
0
-1
0
0
0
17
0
0
-1
-6
1
0
-8
0
1
0
0
13
0
2
0
0
2
0
0
0
-44
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
7
-1
-5
0
59
-6
0
-16
4
0
0
0
0
0
57
72
-11
9
33
19
1
-5
0
0
-47
0
5
31
27
2
-2
7
-33
24
-29
31
-2
0
-20
0
45
3
-22
0
0
14
-2
71
-1
35
0
0
0
0
33
0
24
0
-14
0
-46
19
0
-46
14
0
0
-14
0
0
-90
0
0
0
0
0
0
-34
0
-10
-15
0
0
0
-89
0
7
10
0
0
0
42
0
52
5
0
0
-1
16
0
-1
-1
-31
0
0
-15
0
-45
-1
0
-3
0
16
0
2
0
-1
-11
0
-8
0
14
0
0
-3
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
37
24
-7
0
0
0
0
-20
-7
0
0
0
0
0
-95
0
16
14
0
0
13
-5
0
0
27
0
0
44
-36
0
5
-44
-6
0
26
-31
0
0
-14
0
2
21
-2
0
0
5
14
-3
4
-72
0
0
43
0
-6
-9
50
0
0
-18
0
18
0
5
0
0
0
-4
0
0
-37
-7
0
0
0
0
0
85
0
1
0
0
-3
0
-2
0
3
-6
0
0
-5
-113
0
5
-1
0
0
0
15
0
18
80
9
41
0
36
0
-5
10
0
-3
0
29
0
0
0
5
0
0
-38
0
0
0
0
2
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
17
-33
-42
-51
0
-101
0
2
-51
-62
10
0
0
0
-63
32
-7
29
53
-25
0
5
17
0
5
13
-3
0
77
15
-2
9
-11
-33
0
13
-12
-11
-22
42
-4
0
150
33
0
-7
38
3
0
-36
-21
0
-5
-87
-2
0
17
22
56
-5
-46
-99
0
0
-25
74
0
0
4
0
0
5
49
0
9
-3
0
11
-39
3
48
-18
0
0
24
7
0
51
-3
-4
0
-10
30
-16
-36
-21
-4
0
-22
-22
0
-19
67
-2
0
-55
21
-2
27
23
7
0
0
33
3
47
-28
2
0
41
-5
0
-84
9
13
0
0
3
-103
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
-5
0
0
0
0
0
0
-37
0
0
0
0
0
0
-47
0
0
0
0
0
0
27
0
0
-2
0
0
0
11
0
0
2
0
0
0
-42
0
0
6
0
0
0
14
0
0
0
0
0
0
6
0
0
0
0
-13
0
-33
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
39
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
-3
-4
0
0
0
1
0
2
0
0
0
0
54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
3
-49
-21
52
-12
41
-10
-58
-14
-19
24
7
21
2
-8
43
32
-14
13
22
-10
-101
-33
15
5
-21
1
-1
-3
21
-4
-69
-17
-5
-1
-36
18
16
-31
-20
-27
2
1
-40
-4
-26
-7
-4
-1
-87
14
1
33
-8
29
0
-45
-34
-64
-33
-31
35
0
-64
38
-45
-15
-14
-7
21
-3
9
-15
98
-54
56
-1
4
-20
25
-37
-34
-6
18
43
0
28
2
34
19
-2
5
-26
-12
19
-22
-2
4
50
-5
-11
11
22
-34
4
-43
-143
-4
-13
-11
2
2
-45
-34
41
-22
20
-19
0
-41
-43
-76
-38
-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
3
-26
-4
9
7
0
-1
-104
29
6
81
-38
-24
30
84
30
0
-1
-13
-14
7
-22
20
2
-7
-3
1
53
-48
3
-56
5
-6
4
34
-26
24
-1
1
-60
-81
-32
60
16
0
-16
43
-4
7
58
-31
30
-6
4
-50
-24
2
19
0
1
0
0
8
0
5
0
-1
-2
-9
-15
-7
-30
2
7
-12
0
31
-11
-23
-8
18
17
-6
0
-18
2
-9
-97
23
32
-6
31
-74
0
14
64
-59
-25
19
61
-3
-14
-14
10
-34
-18
-26
-13
8
25
13
21
-3
-28
0
-30
-1
0
-1
0
32
0
6
-18
-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
24
-69
0
1
3
0
-50
6
-1
-37
-71
19
93
-44
-21
0
0
-6
17
-5
-1
-46
-3
1
3
38
-2
18
14
5
7
-22
64
59
-20
-25
0
1
-18
26
-40
-6
-33
-2
-10
51
-2
-66
15
50
0
16
2
-5
20
0
-11
9
-10
10
0
-6
-9
-14
-14
0
-2
-5
0
20
40
1
-48
-9
0
-2
46
3
1
43
38
-8
0
-19
-50
0
32
-3
-2
7
-4
-33
0
6
21
-23
-2
8
1
0
-5
-72
-11
31
11
-3
0
-17
-42
4
33
-7
-100
0
4
8
-10
48
0
4
57
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
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-29
0
0
0
0
0
0
-50
0
8
2
0
0
10
-157
0
0
0
0
0
8
-22
0
0
-1
-10
0
0
32
0
0
0
0
-2
0
-1
0
0
0
-3
5
0
42
0
0
0
0
5
0
-5
0
0
0
0
0
0
-11
0
2
3
0
0
0
3
0
0
0
0
0
0
-9
0
0
2
0
0
0
25
0
0
-2
0
0
0
-19
0
-14
0
-6
0
0
-36
0
0
0
-6
0
0
-71
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
-18
0
0
0
5
2
5
-17
19
30
3
-45
-33
34
0
0
43
0
-54
29
17
0
1
79
-2
-23
43
-17
-7
1
18
-1
79
68
-63
6
-5
-38
-1
-42
29
-16
0
5
124
0
51
14
-25
0
-14
10
10
18
0
16
-24
0
0
0
66
0
-1
19
0
0
0
0
-4
-43
14
2
-21
0
-5
-10
1
-4
-3
122
0
-13
22
-59
0
53
26
18
-14
7
-11
0
-66
-4
-5
-20
9
9
0
-68
20
0
58
40
-2
0
1
34
0
79
6
-18
0
-49
3
0
14
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-2
-99
15
0
-89
0
0
5
-34
0
0
-13
0
0
-24
-44
0
0
77
4
0
-5
8
0
0
76
0
0
6
-94
0
0
-23
-15
0
-1
22
0
0
11
0
0
0
99
4
0
2
-1
0
0
-7
-6
0
0
0
0
0
-17
0
0
0
0
0
0
-5
0
-14
0
0
0
0
11
0
0
-9
2
0
3
-84
0
25
15
2
0
5
-39
0
-8
43
2
0
3
-17
0
-27
-5
4
0
0
-67
-2
0
-3
0
0
0
24
0
-85
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-43
0
0
0
-47
0
0
85
1
0
-14
-14
0
0
-16
0
0
3
28
0
0
-1
1
0
1
55
0
0
2
0
0
0
10
0
0
0
14
-4
0
62
0
0
0
0
0
0
4
8
1
0
0
0
0
-28
0
10
0
0
0
0
40
0
0
0
0
0
0
29
0
0
-11
0
0
0
-10
0
0
0
1
0
15
100
0
3
0
0
0
0
37
0
0
0
0
0
0
-5
3
0
0
0
0
0
21
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
-34
-1
-8
30
-54
0
80
-10
-9
-33
9
26
4
2
-10
18
-29
-23
-4
0
32
8
29
39
11
-31
6
-62
33
16
6
8
3
9
17
9
15
20
23
-9
-3
73
-14
-16
22
16
-60
8
-43
37
21
-21
17
-43
0
-11
-92
-48
-118
-5
-33
19
28
-41
-34
-16
-33
-5
-3
-109
35
33
5
10
-7
16
52
29
24
-78
-37
16
-14
23
53
28
-16
-33
-19
11
-44
24
-11
76
-25
-39
2
-62
-99
-2
22
-28
-67
-6
102
-16
-68
-28
37
74
13
-4
-24
-71
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-81
12
-35
51
14
6
10
2
51
15
-10
0
-10
-55
4
-17
22
4
-1
-83
-3
17
6
43
3
-5
-35
-15
-6
0
7
37
3
17
-12
1
-9
-15
1
-31
0
-7
0
5
18
-17
-4
0
11
-14
-10
0
0
0
-9
7
5
-8
-9
-5
-1
-4
-6
0
-1
61
5
1
2
58
0
-21
2
35
0
2
5
0
-19
25
9
-4
0
-24
2
-49
89
-2
0
9
-26
-10
-33
8
0
-1
0
-1
5
9
-36
51
6
0
14
0
3
-2
-2
-22
0
-2
-1
19
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
-89
-10
0
85
-9
1
11
1
0
0
40
0
0
20
15
14
0
43
-2
0
-2
6
0
0
-7
-1
6
0
13
29
0
18
-1
0
0
-58
0
0
-4
0
0
0
-19
0
0
0
-14
-4
0
-53
-1
0
0
0
0
0
84
0
0
14
0
0
0
57
0
17
2
0
0
0
32
0
0
-2
0
0
0
-55
0
20
-3
-5
0
0
-63
0
0
-5
-25
4
0
-80
0
-6
-3
0
0
0
14
0
0
0
0
0
0
34
0
4
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
-17
-15
0
-1
17
4
0
51
42
1
1
-45
0
0
-43
-34
0
2
41
5
2
43
15
0
7
-52
4
14
-4
10
0
0
14
6
0
0
69
0
0
3
0
-17
0
-23
0
-1
0
0
-18
0
-19
0
0
0
0
0
0
62
-2
0
0
-1
0
0
1
11
-3
4
0
0
2
-89
0
9
-5
-14
0
0
-57
1
0
5
0
0
0
73
2
-23
-5
3
0
0
24
0
-5
9
0
0
0
-19
0
-1
-1
0
35
0
29
0
-5
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
14
0
0
1
0
0
-8
-68
0
0
36
0
-9
0
32
4
0
-9
3
7
-7
28
0
0
4
0
18
0
-73
0
0
-5
0
0
15
-43
0
0
0
0
0
0
-7
0
0
0
1
-4
0
32
0
0
0
0
4
0
-69
0
0
0
0
0
0
7
0
0
0
0
0
0
81
0
0
10
0
0
0
-33
0
15
68
0
0
0
47
0
0
-2
3
0
0
54
0
8
0
0
0
6
-8
0
0
-14
0
4
0
-51
0
-9
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
-26
0
-4
-4
0
0
4
-56
0
0
113
0
0
10
-81
0
0
0
7
0
82
50
0
0
0
5
0
0
105
0
0
-9
0
0
-3
1
0
0
0
0
0
0
-15
0
0
-3
7
0
0
61
0
0
0
0
0
0
-7
3
0
0
0
0
0
135
0
-1
0
0
0
0
1
0
16
25
0
0
0
41
0
-1
-8
0
0
0
76
0
0
1
-7
0
0
77
0
13
4
0
0
0
5
0
0
5
0
0
0
-14
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
-18
-20
-5
-5
-1
1
13
48
39
0
6
-35
1
2
-23
5
-8
-46
1
41
-2
26
-12
0
-21
-29
-2
-10
-14
-21
0
-3
-25
-6
-48
25
-53
-6
15
56
61
72
0
-5
-9
0
0
0
45
0
16
10
-2
0
-11
-2
10
27
0
-52
-21
0
0
1
46
4
80
80
-17
0
21
17
7
-34
84
-7
0
-6
-31
-7
-34
-25
-19
0
-13
-36
0
47
-21
0
-4
5
47
-3
-7
-53
1
7
0
21
1
-98
-13
0
-20
0
20
-21
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
-5
17
-67
-74
20
-78
-54
-20
28
-10
-55
5
-50
-7
-32
7
41
14
28
13
-17
-23
16
53
3
16
44
-104
-62
5
11
-118
-28
-49
-11
-109
-1
8
59
-26
18
12
33
-9
17
9
-31
-9
-4
35
23
49
-32
-5
-3
11
-18
0
9
-16
-39
-15
-14
-41
3
-115
-28
-7
-90
-14
-52
15
71
14
25
-92
-8
75
-20
5
-7
8
1
-14
57
6
-58
20
-10
-51
31
-74
-7
67
6
1
26
10
-65
11
43
26
-45
11
-47
-3
1
-18
-7
-30
34
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-1
59
2
-1
-16
-15
11
-39
-117
-77
-2
-95
-55
0
-7
-147
131
13
-10
10
0
71
6
-2
8
6
-11
0
-10
-53
-1
-21
2
-111
0
0
-13
-7
72
0
-16
-3
0
0
-20
45
0
-11
-100
-49
0
-1
0
0
-17
21
-56
4
0
0
-16
-41
1
76
-55
-1
0
4
-24
0
-117
71
39
7
-3
-48
0
-1
24
47
2
-13
5
0
74
6
2
-2
-7
1
0
0
-14
-14
14
16
-93
0
-49
-1
10
41
0
-17
-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
-13
3
7
-3
63
0
-17
3
22
48
110
79
34
0
-31
5
-3
2
-15
31
1
-47
4
0
-3
-20
-39
-8
-5
-100
0
1
-112
11
-108
-2
2
3
0
75
46
-56
0
-9
-5
0
0
-20
-2
0
-31
-129
-6
0
0
-1
5
44
0
80
30
0
7
-17
0
9
-42
60
125
-5
0
12
41
-7
93
5
-6
35
65
-33
-65
36
51
-8
1
-13
8
6
33
-35
13
-1
-54
0
8
-62
5
3
0
-34
0
-5
2
0
33
0
-11
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
-12
-56
2
20
7
-2
-21
-27
62
-13
-7
8
-37
-41
4
22
16
-7
-11
-7
-12
28
23
-1
107
10
-19
69
-57
1
-3
-7
-15
109
33
-5
-5
-5
-23
62
47
58
0
-17
10
7
-1
-46
-15
0
-31
-50
10
0
0
-14
-53
17
-3
5
73
51
-2
-23
-10
-6
127
30
15
8
-59
12
-4
-25
-16
62
8
34
-18
-8
-85
47
-90
-73
58
26
7
-20
-37
-22
24
65
8
-1
43
-22
32
14
22
9
-1
-16
-62
-6
-106
0
-14
-5
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
19
0
4
-20
-68
-3
42
-30
-13
-18
-22
-6
-6
15
23
0
77
33
14
-3
14
37
3
82
128
-19
0
-4
-73
-1
-72
111
-46
0
-2
-62
-2
10
0
6
1
-6
0
0
17
10
-24
-62
-3
-21
0
0
8
-1
-4
-5
-51
0
0
70
-20
0
111
38
6
2
-11
-62
1
63
47
13
6
-73
-29
2
-36
-106
-29
7
-5
-8
0
-32
55
0
-20
11
18
0
43
19
4
47
0
-25
0
73
-5
0
-7
1
-23
-19
-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
-4
66
0
-4
-30
0
0
80
-91
-6
-4
27
-7
0
-61
-41
4
5
-91
-13
0
14
-4
0
3
-15
58
0
-6
-38
0
7
-53
0
0
-7
46
0
1
-9
10
0
0
-28
-13
0
0
-2
0
0
-29
15
-2
0
0
0
0
-8
0
-58
-8
0
0
6
95
0
4
-29
2
0
58
-52
-2
-5
91
11
0
-15
14
0
44
8
-29
0
-4
-11
0
-65
-17
0
0
-1
-40
2
0
34
19
0
0
-26
0
-73
0
-3
0
0
43
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
24
-61
43
10
-71
-5
7
-8
0
-18
90
-23
-74
18
-1
-7
0
-5
1
-68
55
1
51
-56
-21
-104
-51
-17
-1
10
73
35
-9
0
2
-61
3
-1
0
10
0
-52
-12
-15
8
14
0
-3
-44
5
-33
14
-6
-1
7
45
5
46
84
33
-4
-60
-35
-24
16
-6
-101
0
66
-8
6
-75
-30
-33
-1
-10
36
-7
-36
122
-1
23
0
20
-11
-33
-23
-6
42
0
41
-3
-10
-24
16
16
0
-41
27
-22
1
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
-42
3
53
-22
-48
18
-43
-2
7
0
8
-1
-53
-31
23
4
67
-34
28
-9
-13
31
16
-30
-11
27
16
-12
22
-14
-13
59
3
35
-4
78
17
-55
-66
-131
41
37
60
24
64
-11
4
-33
-113
-17
23
-18
1
16
-124
-3
-123
0
-11
1
-57
3
-12
-71
12
38
33
-33
35
3
-17
7
11
-20
7
-25
20
-55
11
62
11
18
-23
-52
-27
1
30
-56
48
39
3
23
-12
-120
36
28
-18
-17
24
27
-15
53
43
28
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
2
15
3
3
-6
0
0
-2
-17
0
-5
-2
0
0
0
-45
0
2
98
3
0
4
-13
0
0
0
0
-2
0
-54
0
0
0
0
-11
0
-6
0
0
0
0
0
0
21
2
-23
11
0
0
0
88
0
5
2
0
0
0
39
0
14
-3
0
0
0
-5
0
-5
21
0
0
0
-76
0
1
-2
0
0
0
-19
0
-2
2
0
0
0
14
0
0
-1
-5
0
0
-52
0
-2
0
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-70
0
-4
-18
1
0
-7
14
-3
0
-3
1
-1
-6
39
0
0
7
31
0
-2
-25
0
-4
1
0
0
0
48
0
0
0
-10
5
0
4
0
0
0
0
0
0
44
6
0
0
0
0
0
14
0
67
-4
0
11
1
78
0
0
-34
0
1
0
76
0
50
-53
-4
0
3
28
0
0
10
-15
0
1
-77
-1
9
63
0
0
0
-48
0
0
-8
0
0
3
-40
-6
-30
0
0
3
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
-23
18
-49
-51
20
43
9
-24
-7
-5
57
-39
-42
-67
33
39
6
82
23
-25
5
21
28
0
-22
-17
-99
30
-3
-5
-4
0
-6
37
-8
2
26
-3
-23
13
1
-30
-13
-8
69
-43
-13
35
-37
-9
12
50
-14
-117
-6
-81
7
23
26
90
47
38
9
29
5
19
-18
-69
-21
55
-37
-40
-33
-10
-42
16
-10
-114
14
3
-14
-5
8
-93
87
44
87
-53
40
-8
46
-51
13
-2
1
5
-19
-12
0
6
64
-64
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
36
0
0
89
-10
0
74
-104
0
5
49
0
-10
-7
30
0
1
64
3
6
0
8
0
-7
-7
0
1
0
-105
0
0
-20
0
67
0
-69
0
0
0
0
0
0
-23
0
0
0
0
0
0
149
0
-8
-4
0
0
-4
39
0
-6
-16
0
0
0
-29
0
-48
6
0
0
0
-45
0
0
7
0
0
0
-68
0
-29
-16
0
0
-2
-119
0
0
0
0
15
0
-45
0
-5
0
0
-7
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
15
5
0
0
5
-121
0
0
80
0
0
-21
-25
0
0
-10
29
0
3
-98
0
2
1
0
0
14
-36
0
-3
25
7
0
0
10
2
0
0
0
0
0
-45
1
0
0
0
0
-5
49
0
-25
-7
0
0
-15
14
0
3
98
15
0
1
-34
0
124
-17
0
0
10
-32
0
-3
35
9
0
1
-19
0
35
-24
2
0
-5
23
0
0
19
14
0
0
-29
0
91
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
108
-9
7
75
-49
-33
-39
-12
5
21
17
-7
14
4
-44
10
-4
33
-27
62
3
-18
1
2
21
-14
-56
50
0
38
-54
9
-2
5
51
-6
33
4
9
26
-32
0
6
-12
14
-31
33
-1
33
51
2
25
-11
-11
-24
20
37
-5
38
-43
81
68
0
-30
-13
9
16
-55
3
40
-27
-3
-5
31
22
73
-18
-47
-22
44
-25
-110
-117
-24
0
63
1
-28
-4
4
57
0
50
-54
17
3
53
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
61
11
-10
6
-13
-7
13
45
9
14
-6
-31
27
13
-41
16
53
-4
-19
58
-5
-56
-55
34
17
-21
-27
5
-10
12
22
33
-97
-55
23
21
-24
-3
26
-45
19
8
49
21
24
65
-28
39
18
-18
22
-15
5
88
-47
0
-40
-51
-24
23
-52
-94
10
-31
13
-28
13
33
71
20
-50
-11
22
-30
3
17
20
47
53
17
-25
-12
32
1
-33
29
-35
-37
22
9
26
-12
-20
29
-46
-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
3
25
8
3
-9
5
0
14
3
0
0
6
-46
0
-6
1
0
0
59
-2
-2
-3
-108
0
7
13
-39
-25
0
-25
0
0
0
1
0
0
-102
-5
1
3
0
0
0
39
1
-33
5
0
0
-1
-14
0
8
26
0
0
9
-67
0
-3
51
-8
0
-4
-82
0
-26
37
0
0
-3
-51
0
-32
0
2
-2
-8
-19
0
0
-7
-1
0
0
-24
0
0
0
-5
-1
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
7
-24
-10
-8
15
2
-10
-2
-35
0
0
-23
-27
-7
14
35
0
2
-1
11
-5
-13
-15
3
0
9
-6
-32
0
-23
0
0
0
2
41
0
-85
-5
2
0
5
0
4
16
6
25
17
0
19
43
15
-2
25
11
31
17
9
81
-1
20
20
0
-2
14
-34
-1
5
5
55
4
47
-25
10
-47
-13
-9
14
-14
-21
-4
0
-35
2
25
2
-33
0
80
0
1
-48
0
-114
-17
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
10
23
-68
15
20
-10
4
46
51
4
-21
18
22
23
-13
24
-71
43
10
-6
10
-62
-34
-12
8
0
7
114
6
-58
-100
-45
18
1
38
92
-96
-52
-9
-37
-12
-106
46
-17
74
5
4
3
-44
23
21
13
-26
-32
8
17
26
1
21
17
0
-9
-93
40
35
-68
-21
49
-4
-6
-6
26
20
13
-36
-20
41
53
47
-28
65
-36
5
-17
11
-2
30
-31
-2
12
-17
-43
-44
-17
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
53
6
-6
-43
-13
3
-20
4
-20
25
-33
12
-48
6
10
-22
0
14
-42
10
-77
24
-27
0
75
-47
-11
-44
0
13
-13
8
0
4
67
0
9
-77
4
-8
0
3
18
-21
-8
110
8
16
-19
-74
8
1
-53
-66
18
-6
-55
22
0
0
-40
7
2
14
16
-3
-10
-54
22
5
-14
-6
0
34
21
-3
-16
-48
-27
0
18
35
41
-31
-14
-32
0
35
-27
0
33
-4
-33
-21
-3
49
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
-2
26
0
0
-18
1
0
4
-36
0
0
-18
-14
0
-1
-33
0
0
4
0
0
0
-64
0
4
-33
6
0
0
53
0
0
0
0
0
0
-92
14
0
0
1
0
1
-12
0
55
-2
0
0
16
43
0
18
-20
46
0
-20
56
0
30
23
0
0
32
-67
0
0
35
7
0
13
-72
0
-55
-19
0
0
-25
-44
0
0
87
0
0
0
-47
0
49
-2
0
0
0
-6
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
-34
27
0
-22
-5
25
-37
5
11
-23
5
-10
-42
-25
118
13
-2
-13
-24
-13
17
0
28
88
-2
0
-13
-121
1
4
25
-33
-39
-10
2
-4
9
-47
-7
-42
-3
-1
-45
16
1
-72
-25
13
-18
19
-13
11
-35
30
-45
33
-4
31
-20
-5
4
33
-26
5
30
9
-14
-97
-14
128
-60
-10
-3
-49
47
-14
55
-24
14
3
7
53
3
17
0
6
-56
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-15
-25
1
-2
3
12
26
-36
24
-20
-42
55
11
-29
24
75
-5
-21
52
15
-33
-54
-81
-8
7
102
-1
36
-38
8
-18
-92
23
8
44
17
49
-49
-39
13
31
108
-40
26
32
47
-26
11
-86
24
-6
-25
57
37
0
46
46
26
33
45
23
2
17
-36
-24
12
-48
-14
18
-25
-8
-2
1
-16
81
-2
-43
-11
36
19
-20
-23
15
16
-56
52
-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
-14
21
0
0
34
5
0
3
58
0
0
3
-5
-1
0
62
0
0
-6
-11
1
0
-34
0
0
-1
2
0
0
1
-16
4
0
3
0
3
-89
0
108
7
0
0
3
-11
0
-4
15
1
0
2
76
0
-21
-33
0
0
4
-3
0
-18
-1
-21
0
0
-63
0
67
24
0
0
15
-5
0
0
8
9
0
0
-12
0
6
0
0
0
0
-65
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
-13
-9
16
-69
-18
-14
-17
-33
0
-1
-73
-5
10
0
16
0
0
-2
3
-1
0
26
0
0
0
1
1
0
41
6
0
0
0
0
21
-5
0
33
-7
0
0
8
-98
0
-1
25
18
-3
-3
3
0
32
-56
-3
0
-4
19
-10
-1
66
43
0
16
-11
-3
-50
97
-16
0
0
-90
0
0
-43
13
5
0
-24
-1
3
13
7
19
0
93
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
-16
13
-52
-100
31
31
-25
-58
11
5
-20
-49
58
31
-50
24
-16
33
-26
-55
21
-1
19
-56
9
0
6
-23
-11
6
-42
45
26
-68
-48
3
33
4
15
38
5
-57
7
1
-34
-6
40
-18
-5
28
3
26
-10
23
-20
-45
76
-4
25
32
22
-41
-14
43
32
-27
-46
-14
-15
0
-89
-17
10
9
75
-18
4
14
21
-10
6
-10
-25
-51
8
24
-11
88
5
23
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
20
0
-20
-19
-43
0
0
18
0
-19
2
-64
0
0
22
0
178
0
-59
6
0
0
-3
15
0
-12
-2
1
0
0
0
-6
8
0
11
0
0
0
-16
-9
0
53
82
0
0
-6
-89
-13
-11
0
0
-3
1
4
0
3
-97
-11
1
1
-100
0
-89
-34
0
-2
0
41
0
-3
0
0
29
0
-11
-2
-16
-16
0
19
3
-41
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
27
-21
0
34
-39
0
-1
35
0
0
3
4
0
0
-9
43
0
0
-18
-8
0
0
0
0
0
18
-7
0
0
0
0
-20
70
0
-62
-44
4
0
0
-43
0
4
73
98
0
51
0
-1
-32
-7
0
0
39
1
-1
-26
28
47
0
-20
14
-2
16
-13
0
0
19
8
0
-5
15
33
0
0
10
0
89
-4
0
0
0
-51
-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
46
0
1
-13
39
32
-15
16
0
-13
-88
-31
-56
2
11
10
0
18
33
-10
0
-33
-14
0
-4
1
0
0
-33
-7
26
36
0
1
2
-43
0
25
-73
35
0
-16
-42
0
-32
-53
-9
0
3
4
2
45
-36
4
2
-6
18
-5
38
-61
-11
18
25
11
0
18
-16
29
22
-6
31
0
50
5
-5
-1
4
-14
6
13
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-70
34
-24
23
125
9
-79
-9
57
4
-16
1
12
-20
-57
-7
-1
-26
-47
7
13
-23
-31
69
-20
-47
9
-2
-37
-8
-24
-35
1
10
-104
-16
-12
15
-105
9
23
-69
-57
-11
88
-98
21
20
36
-124
21
77
47
64
0
-49
9
-7
-66
0
11
-6
36
-11
58
-2
32
47
3
37
-42
-16
-21
-10
13
33
13
-63
-40
-35
-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
10
-27
0
0
-5
-1
5
0
74
0
0
-2
9
2
0
1
0
0
0
0
0
0
-47
5
0
0
0
5
0
1
0
0
-1
4
0
1
-23
0
17
-6
0
5
-9
-82
0
7
-6
-7
-5
0
87
0
0
14
0
0
0
-19
0
-31
0
0
1
0
-25
0
0
2
0
0
0
50
0
44
1
3
0
0
-23
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
-2
0
0
35
0
-1
0
17
0
0
8
-3
12
0
4
0
0
0
0
-3
0
-8
-19
0
-2
0
0
0
-14
0
56
-19
0
13
2
-87
0
0
84
33
-1
1
11
0
5
-60
0
0
0
40
0
-3
-54
33
-3
6
-56
0
30
17
0
0
-2
-9
0
0
-33
7
-3
0
-96
0
54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-90
27
64
22
-40
-19
-8
5
7
3
30
0
9
73
-21
8
-64
14
-9
-5
3
22
-43
5
4
-63
28
-10
-15
-8
0
-35
-64
28
-8
5
62
-89
17
-14
8
21
-38
13
-39
4
-128
0
37
-24
-65
103
49
-107
14
14
30
-9
-31
24
0
-39
-2
-61
-32
31
-19
20
-3
-1
-73
60
4
34
0
-5
-80
30
2
-34
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-1
-9
0
38
-11
-14
47
1
-40
14
-3
0
-31
-103
43
0
0
0
0
9
81
-1
41
0
0
7
-50
0
-70
1
0
5
85
-6
18
14
105
74
1
37
15
-3
67
-18
5
17
15
-3
5
-62
-47
-15
-6
-24
2
-6
51
60
3
47
-14
1
-37
22
-17
11
-11
0
-16
-1
-4
-2
-8
-116
0
-49
-72
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
-57
24
0
1
-101
0
-10
-113
-10
0
0
11
0
22
0
1
0
0
39
6
0
0
0
0
-6
34
0
-15
68
0
0
31
5
0
-2
-62
-47
0
0
-50
0
24
57
2
0
-17
16
1
0
20
-42
0
8
-35
0
5
86
-5
0
-16
46
0
0
-42
43
0
0
-10
0
-31
-8
-8
0
0
-11
71
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
20
22
0
-32
26
0
0
-5
0
0
26
-16
-4
10
7
0
1
-4
4
-31
0
6
2
-1
-52
0
-33
-37
24
-9
44
18
-8
-36
-32
-4
0
-6
-5
-4
-30
15
27
0
3
-7
-4
-34
79
21
3
-9
2
0
0
62
79
0
0
21
0
-81
-1
-10
-39
0
-33
43
-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
9
-20
49
-30
75
5
-37
25
10
-66
46
-48
-22
-5
-19
22
-17
-32
-3
-21
-2
84
15
-31
-23
24
-82
2
-13
11
111
-20
39
-24
-51
-31
5
-39
-9
25
32
23
-35
19
-59
57
16
-54
14
73
-16
12
-23
-1
58
-10
30
0
66
-79
73
-60
-19
4
-3
53
0
-21
75
29
-92
23
-14
15
-57
-71
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
19
0
0
0
-1
-9
0
-93
0
0
0
-3
0
0
-21
0
0
0
0
0
0
-33
0
23
0
0
0
0
-32
0
0
0
0
0
0
-58
0
0
0
0
0
2
0
0
0
0
0
0
0
45
0
6
6
0
0
0
-24
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
-32
0
0
5
1
-26
0
-62
0
0
0
0
0
0
-53
0
0
1
-5
0
0
72
0
7
0
6
0
0
88
0
0
-32
0
0
0
-51
0
4
3
5
0
2
32
0
0
-4
3
0
0
6
0
-5
-3
0
0
0
-8
0
-2
-8
-2
0
0
-29
0
19
0
9
43
0
24
-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
60
-15
0
-15
25
9
27
0
-4
-43
-1
1
-34
-43
-3
-23
-104
-6
6
13
0
1
-37
-5
-25
43
-8
0
-87
-3
-13
99
-5
-27
3
-57
60
-10
-78
-80
-33
-7
23
-32
-14
-15
15
-69
19
-101
-20
-6
28
45
23
-4
-19
-4
0
-64
25
47
-2
0
8
-1
-6
-1
-5
-49
0
-11
16
2
-8
19
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
54
0
0
2
0
-33
0
11
0
0
0
0
0
0
21
-5
0
0
0
0
0
-27
0
-1
-1
0
0
4
-45
0
0
8
0
0
15
-1
0
10
-21
0
0
17
-1
0
7
53
2
0
0
-106
0
30
16
0
0
0
29
0
0
44
0
0
0
-39
0
6
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
5
-83
75
0
0
4
-48
-1
0
48
0
0
17
137
-3
23
6
0
0
-31
1
-33
-6
0
3
5
17
0
-24
16
23
0
-20
-17
0
-36
-41
2
0
-50
-14
0
-26
35
29
0
-22
7
0
-33
44
17
0
32
-20
0
22
39
17
0
-23
-14
-1
2
-35
0
0
0
26
14
0
-18
-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
11
8
0
0
-5
0
0
-22
3
0
2
0
0
0
-45
0
-24
0
0
0
1
-19
0
-35
-26
-11
0
-5
-10
0
72
33
0
0
-26
64
0
-8
36
-11
0
0
14
0
-36
41
-14
0
0
-7
0
6
-65
-16
0
-1
-79
0
132
0
0
0
0
-39
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-38
-24
-11
-33
24
-16
-29
10
39
24
52
-102
-11
-15
10
16
26
23
67
8
-24
1
5
-9
-10
-5
34
-23
23
-37
8
13
-5
8
0
11
57
36
-23
-2
23
-36
4
-24
-56
-40
-81
27
19
2
24
-57
24
-74
-26
-9
0
15
34
45
-29
-20
-2
0
-104
13
3
-79
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-1
0
1
0
0
0
2
-3
0
29
0
0
0
0
-47
0
0
3
0
0
0
-88
0
-2
0
-3
0
0
-22
0
0
0
-7
0
0
-6
0
0
31
0
0
0
26
0
0
2
11
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-8
-38
0
0
0
0
0
0
-19
0
10
11
0
0
16
11
0
0
-25
0
0
-13
25
0
0
-3
0
0
5
-45
0
14
14
10
0
0
-16
0
33
37
0
0
1
-21
0
0
-3
-8
-13
0
-75
0
33
5
0
1
0
-19
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
-33
-5
0
-39
14
62
0
-5
0
-4
-21
-4
-92
21
0
-3
-61
-56
0
-48
-33
-33
0
-4
13
-1
50
-37
-5
0
-32
37
-6
32
-34
-136
0
-2
13
-9
34
-63
2
-31
-8
-48
-5
-5
-23
31
-46
0
-39
-15
-15
0
0
1
0
-78
72
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
6
0
17
19
0
-14
0
0
0
33
-3
-149
-30
0
3
51
43
0
-7
-33
0
0
48
19
-3
124
-57
-3
-2
-30
40
5
30
-61
-15
-6
85
-5
-4
-6
-19
0
-19
-4
19
3
13
77
-3
-32
-1
-44
0
-43
-1
0
3
0
34
-55
-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
13
-81
13
1
-34
0
0
30
4
-2
-14
64
0
-45
13
0
44
-78
-3
0
-32
8
-9
-138
27
-10
0
72
11
-6
-21
44
-10
0
16
39
4
-46
-2
57
0
12
14
2
2
-30
-3
0
-1
-2
-37
16
38
-46
0
-36
1
17
-45
-4
-15
0
0
21
51
15
-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
-19
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
13
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
71
0
1
0
0
0
0
-1
0
0
0
-4
0
0
-31
0
-4
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
-18
18
-11
96
50
-45
-55
-24
9
-43
18
5
94
-80
54
11
-43
9
14
-72
-156
13
24
-75
-11
23
4
118
65
4
46
-14
-5
-7
25
41
0
27
-14
-6
-38
20
28
11
13
-73
-27
-50
-34
25
20
-2
-18
48
-14
-25
-7
0
-83
-46
18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
89
0
19
4
0
0
0
11
0
-5
26
0
0
19
-104
-2
8
7
0
0
24
-76
0
0
72
53
0
0
-34
0
96
-5
0
0
1
-40
0
-7
-14
-5
0
0
-50
0
-142
-11
0
-19
0
-5
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
-25
0
1
0
0
0
0
-18
0
25
-4
0
0
0
54
0
0
-4
0
0
-1
-82
0
-1
17
0
0
0
33
0
0
8
0
0
0
-30
0
-4
1
0
0
0
-32
0
0
0
0
0
0
-3
0
3
0
0
0
0
125
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
1
0
0
0
-64
0
0
0
0
0
0
60
0
0
0
0
0
0
15
0
-1
0
0
5
0
-64
0
0
0
-7
-5
0
-82
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
-39
0
-48
5
0
0
3
-13
0
-5
-14
0
0
0
-3
14
-8
36
5
0
1
26
0
5
0
-6
1
0
41
14
22
-5
0
0
0
-51
0
0
0
1
-25
0
-74
0
-14
1
0
13
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
-12
36
0
0
-1
0
0
-75
0
-18
27
0
0
0
-5
0
19
8
0
0
-3
14
-2
-6
-7
-2
0
10
37
0
-1
12
-11
0
0
6
7
-32
7
0
0
0
-4
0
0
-49
2
0
0
-41
0
59
0
0
0
0
63
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
0
8
0
0
0
0
-15
0
0
0
0
0
0
-30
0
0
0
0
0
0
-18
0
-1
2
0
0
0
23
0
0
0
0
0
0
-35
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
-53
31
-8
30
-96
-51
-71
-32
5
92
7
44
-41
-82
-14
8
-128
5
1
-30
26
15
-27
15
-31
32
-14
-83
-43
-13
22
16
-58
0
14
24
-2
-7
-48
-18
42
-31
-32
0
-6
14
-6
14
53
-60
19
34
-20
49
-43
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
52
-33
0
5
6
20
-15
14
-88
-19
0
-2
30
-6
-14
-20
4
0
-9
-46
3
11
41
-24
0
-31
-47
10
-63
-68
0
-6
2
-24
-4
-2
-22
-31
-10
0
15
1
-8
14
0
-22
0
-38
16
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
11
0
0
0
-11
132
-1
39
-5
0
0
3
8
0
19
-1
0
0
19
-120
0
0
19
2
0
0
83
0
18
-4
0
0
0
-46
0
0
-1
0
9
0
45
0
-7
6
-2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
14
0
0
0
-53
0
20
0
1
0
0
49
0
4
9
0
0
0
75
-1
-3
-2
-1
0
0
25
0
5
0
0
0
0
-42
0
-2
-9
-1
3
0
43
0
-1
0
0
0
0
-7
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-2
0
0
0
-67
0
0
14
0
0
-10
129
3
-15
0
0
0
0
9
-3
-9
66
0
0
0
-5
0
54
-17
0
0
0
-43
0
0
-11
0
0
0
-15
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
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
-53
0
2
-1
-10
0
0
76
5
14
-19
-1
0
-3
-88
-4
0
8
21
0
-4
-3
0
6
55
0
0
0
-79
0
4
3
0
-11
0
-28
0
-16
0
0
0
0
-148
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
35
-31
-22
17
-7
-80
-13
-14
-38
29
-35
78
-9
-10
5
-64
47
-1
-25
-72
5
-19
-30
-39
-100
7
-80
-3
1
-66
5
-23
-2
41
11
-4
-7
-7
33
14
-14
-4
41
11
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
7
-12
0
2
0
0
0
0
81
0
-18
3
0
0
0
-27
0
0
-15
0
0
-1
-89
0
-16
0
0
0
0
60
0
0
-1
0
0
0
-72
0
-9
0
0
0
0
-62
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-96
15
45
57
-107
-21
-7
-11
-9
-23
11
-24
69
-86
-14
-5
-58
-29
155
-23
-8
11
-1
-34
-62
-8
-5
16
42
0
-6
3
15
41
4
7
-1
-15
-26
-5
-27
0
5
-21
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-33
-14
-45
-17
5
73
-34
-13
24
10
-37
1
-16
-49
14
52
-14
22
0
-54
-5
0
6
3
14
0
9
-11
33
5
4
33
0
-109
14
0
-8
0
-22
14
18
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
-50
0
0
4
0
0
0
-30
0
3
2
0
0
0
25
0
0
1
0
0
0
-43
0
-3
-13
0
0
0
-55
0
0
-2
0
0
0
-28
0
5
1
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
69
0
0
-3
0
0
5
-81
0
-37
-4
0
0
0
50
0
0
-1
0
0
-3
-42
0
3
-1
0
0
0
-137
0
1
2
-1
0
0
-19
0
13
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-51
6
-3
-42
1
-2
-1
-45
0
-54
-56
-14
1
6
-28
-6
128
-33
6
0
-3
40
0
-2
-26
-15
1
0
47
0
71
-9
0
-1
0
43
-17
-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
23
4
12
-5
3
2
-49
8
11
-35
-29
6
-37
16
-66
14
-75
14
-37
-5
-146
58
-10
-43
19
-27
87
-11
-26
0
-5
47
-28
-4
76
-4
28
-90
-71
-75
-81
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
13
0
0
0
-22
0
0
0
0
0
0
-15
0
-3
0
0
0
0
-5
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
-5
-42
-33
13
-1
-29
-14
0
0
95
27
19
-11
8
0
-41
-56
6
-6
0
7
0
0
25
-31
-55
0
4
-6
-53
-4
6
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-130
46
-16
8
-108
-24
0
-4
-75
11
-71
-24
33
-1
4
-39
18
-11
-33
92
0
2
-10
-57
72
0
3
2
-49
19
0
31
0
65
3
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-83
34
0
0
-78
-1
0
-16
-42
0
7
-10
27
0
-25
-16
-6
-13
-1
-34
0
2
-25
0
-3
1
14
0
-21
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-8
0
0
-5
-44
0
0
-5
2
0
-3
30
0
-1
-5
0
0
0
10
0
-1
10
0
0
0
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
62
-5
3
0
0
0
119
-47
-10
0
7
26
4
-4
-18
-13
-2
0
60
0
-26
5
-1
-7
0
53
5
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-109
23
-20
-14
83
28
16
66
-3
48
-33
-42
-96
-42
33
-62
-21
-22
1
-33
20
54
20
-67
11
17
8
36
10
-72
5
-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
0
0
0
0
0
0
0
0
0
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
-4
-6
-5
0
0
33
0
-3
-2
0
0
0
15
0
0
5
-3
1
0
75
0
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
25
4
-18
0
-8
-43
-2
134
74
-4
-31
-68
61
7
-6
-5
-42
-56
0
20
0
-83
-42
-11
-57
0
-23
-58
-3
-1
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
-114
62
10
-107
114
51
79
-15
13
1
16
-81
-29
9
-16
-24
0
-31
-142
-19
-62
11
26
10
42
-35
10
24
0
6
53
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-14
5
0
-1
-14
0
47
49
0
0
0
-90
0
0
-5
0
0
0
-26
0
-5
1
0
14
0
18
-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
-9
-13
0
-3
-2
-1
0
0
1
0
25
0
0
0
0
-33
0
0
5
0
0
0
-89
0
41
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
-4
15
0
-53
-68
-22
6
-9
-3
0
0
25
-47
-17
0
4
0
-123
5
0
-2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-26
16
-44
80
62
13
17
-22
1
22
62
-75
8
-16
-25
20
8
-33
3
-7
14
-84
-71
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
-23
0
0
25
1
0
0
-23
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
-22
-10
-6
-81
42
14
0
33
10
0
4
-70
-31
-17
0
-24
0
22
5
0
117
0
-99
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
1
10
158
-35
-15
-105
-14
0
2
-158
10
-13
9
12
0
-49
10
0
-55
0
5
37
3
-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
30
-39
-1
1
35
-14
-37
29
-22
0
-6
89
-4
95
0
18
1
0
5
0
40
0
-9
-23
-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
-43
-8
0
0
-1
48
0
0
-21
9
0
0
54
0
-55
0
2
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
4
14
-9
-75
32
2
0
-70
0
-42
0
0
-33
0
-42
-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
-81
-10
25
0
1
15
33
-59
-12
8
-20
20
-18
85
-7
15
-15
-53
-62
-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
-7
-5
0
0
-1
0
0
0
94
0
5
-2
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
-22
-31
-6
17
-19
-12
47
26
-48
4
53
12
-60
-13
21
-6
20
-11
-5
60
-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
-1
2
0
100
44
6
-27
4
-34
0
-24
-9
-1
50
0
-50
-15
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
-18
59
0
0
35
-17
0
0
-37
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
-17
0
24
-26
0
0
0
-80
0
71
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
9
0
-70
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
11
-3
5
-5
-40
5
-11
-13
20
-54
66
23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
4
21
25
0
40
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
-3
-26
142
0
-14
45
-31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
24
0
-61
14
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
23
0
38
2
0
0
0
44
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
-48
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
-3
33
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
-4
13
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
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
-37
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
10
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
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
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
23
0
0
2
0
0
0
2
0
0
0
16
0
0
0
0
0
91
0
0
0
0
0
0
-7
0
0
0
0
6
0
0
0
-9
-1
0
-4
0
0
0
-7
0
0
0
0
0
0
0
0
0
-78
-2
0
0
0
0
6
5
0
0
0
0
0
9
11
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
1
0
0
0
-1
0
0
5
-4
0
0
0
-3
-21
0
0
0
0
0
49
-23
0
21
50
-3
0
-74
-71
0
0
56
0
0
8
-49
0
0
19
-2
0
0
13
0
0
4
0
0
5
5
0
-55
-5
0
0
0
35
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-4
0
3
0
0
0
1
2
0
3
-5
0
0
28
0
0
-14
0
0
0
-4
0
0
32
0
0
-8
35
0
0
-4
0
0
0
37
0
3
-8
-10
0
0
13
0
0
0
0
0
0
33
0
0
0
2
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
17
0
0
0
0
3
0
0
0
0
0
0
31
0
-4
0
0
0
2
6
0
0
8
0
0
0
21
0
-5
0
0
0
0
-14
0
0
0
0
0
0
-5
0
1
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
-44
-38
-19
1
16
-117
18
-97
-78
-8
60
0
-5
-1
1
-29
5
7
8
-13
-54
-15
28
-4
-23
22
21
13
-2
22
51
-76
-6
-16
6
-29
14
-6
-47
-7
48
2
13
14
-23
-3
7
-64
23
14
-45
-1
-14
5
-59
-8
-29
0
-42
-33
-19
-29
-46
4
18
-6
-20
1
2
-2
3
-25
-94
37
-2
-33
-1
0
0
0
0
0
0
0
5
21
-8
5
15
6
-2
-6
27
32
63
0
-25
0
0
-32
-88
93
-6
22
-4
28
52
-23
-76
-9
-2
-1
-95
-36
-4
-40
-114
-28
9
-65
1
-7
29
21
45
-62
-19
-1
-31
-25
-12
-6
28
4
0
-18
-1
-2
-4
-64
0
0
-14
12
7
-14
15
4
7
-100
-1
6
0
-63
28
0
21
15
-4
2
-17
31
1
-19
3
1
-1
12
-14
-1
-36
0
1
27
26
15
1
34
44
-1
3
-143
35
-2
-39
-58
-84
-55
18
-56
-6
24
-73
-46
-6
5
-5
3
55
-28
23
18
-9
-18
2
-12
27
11
7
47
-41
-9
-27
41
19
31
-13
14
0
51
-7
6
3
-47
-21
-1
-32
-2
3
4
-4
-15
-5
13
-27
-14
8
9
7
0
16
-35
73
-4
-11
-55
22
-29
8
3
-41
28
39
3
-26
43
49
-11
41
1
16
-34
21
7
-23
-67
22
-1
-45
2
11
-23
-43
12
-19
-62
3
15
35
36
-52
-5
-24
-2
-37
47
25
-33
0
40
-27
-7
-1
10
-86
5
-4
0
-38
30
26
-18
1
-3
11
-45
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
0
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-52
0
0
-3
0
0
10
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
3
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
-5
0
0
0
-2
0
0
4
0
0
0
0
0
-3
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-10
4
0
0
0
0
-2
50
0
0
0
0
0
14
-21
0
-47
0
0
0
-89
-72
0
0
0
0
0
0
-23
0
0
-3
0
0
-2
-44
0
0
-5
0
0
0
6
0
-14
0
0
0
0
-6
0
0
0
0
0
0
5
-2
24
0
0
0
0
-7
0
0
0
0
0
0
47
0
0
-1
0
0
0
-62
0
0
0
0
0
0
36
0
0
0
0
0
-1
1
0
0
47
0
0
0
5
0
0
0
0
0
0
-14
0
0
1
0
0
0
-5
0
0
0
0
9
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
17
0
0
-8
0
0
0
2
0
0
-3
0
0
0
0
0
0
9
0
0
0
5
0
2
0
0
0
0
80
0
0
0
0
0
0
-47
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
-73
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
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
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
15
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
-5
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
-2
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
-9
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
-10
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
47
0
0
0
0
0
-44
0
0
0
0
0
0
-46
0
0
0
0
-2
4
0
0
10
0
0
54
3
-2
0
0
0
0
0
0
0
0
0
0
0
-33
-2
0
4
-4
0
0
-9
8
0
0
14
8
0
0
-3
0
0
-7
0
0
0
0
0
0
0
22
0
0
0
13
0
0
0
0
0
27
-14
-3
0
0
0
8
55
3
0
18
0
0
69
-26
-3
-19
7
0
0
-72
43
0
0
31
0
0
-5
12
0
0
21
-8
0
8
-21
0
0
-14
0
0
-2
-22
0
-12
0
-4
0
0
-41
0
0
1
0
0
0
-11
-2
0
0
0
0
0
159
13
0
0
0
0
0
-32
0
0
-9
0
0
8
37
0
0
-14
0
0
-3
-30
0
-9
20
0
0
-2
91
0
0
-4
0
0
-1
17
0
0
23
-18
0
0
23
0
0
13
0
0
0
-59
3
11
0
0
0
0
-24
0
0
0
0
0
0
45
-14
0
0
0
0
0
-5
0
4
0
0
0
0
-5
0
0
0
-2
0
0
-53
0
-2
0
0
0
0
5
0
0
-8
0
0
0
-43
0
-1
-1
0
0
0
-1
0
0
3
0
0
0
6
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
0
-6
0
0
2
0
0
21
0
0
0
0
0
0
1
4
0
0
0
0
0
9
0
0
0
0
0
0
-2
11
0
0
-2
0
0
0
0
0
-57
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
2
0
5
0
-15
0
0
6
0
0
0
37
0
0
0
0
0
0
0
0
0
-67
1
0
1
29
0
-1
-5
2
0
1
-5
0
0
55
0
0
0
-5
0
0
0
0
0
0
0
0
-43
0
0
-2
0
0
0
0
0
24
5
0
0
0
0
0
-51
0
0
15
0
0
0
-6
0
62
-27
0
0
-7
85
0
0
-13
0
0
7
-20
0
0
15
0
0
3
-85
0
0
76
0
0
0
-51
0
-43
14
0
0
0
5
0
0
0
0
0
0
-29
0
0
0
0
0
0
-35
0
0
0
0
0
0
-24
0
0
-4
0
0
0
-23
0
0
8
0
0
6
7
7
-3
-13
0
0
-1
61
0
0
-40
0
0
-2
-5
0
0
0
1
0
3
59
0
0
0
0
0
0
-2
0
0
1
3
1
0
-33
0
0
0
2
0
0
-46
0
0
0
0
0
0
9
0
0
0
0
0
0
56
0
0
6
0
0
0
26
0
0
0
0
0
0
-37
0
2
-4
-7
0
0
27
0
32
0
0
0
0
-8
0
0
-2
0
0
0
-49
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
-1
0
0
0
-2
3
0
41
0
0
0
0
0
0
3
2
0
0
0
0
-7
21
0
0
0
-6
0
-3
-1
0
0
0
0
0
1
0
0
0
-20
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
15
0
0
-30
1
0
0
-21
0
0
0
0
0
0
0
0
0
-40
8
0
-1
-5
0
3
75
0
0
0
-7
-8
8
46
0
0
0
4
0
-1
0
1
0
0
3
0
-18
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
6
0
0
-6
33
0
-73
2
0
0
77
28
0
0
43
0
0
0
-5
0
0
-2
0
0
9
-14
0
0
-1
0
0
0
-47
0
35
0
-1
0
0
54
0
0
0
0
0
0
36
0
0
0
0
0
0
-55
0
0
0
0
0
1
0
0
0
0
0
0
0
-86
0
0
0
0
0
13
80
0
0
44
23
0
2
-33
0
0
-15
0
1
0
51
0
0
7
0
4
0
15
0
0
4
0
7
0
3
0
-2
-1
0
-14
0
11
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
14
0
0
0
-1
19
0
0
0
0
0
0
-1
0
10
0
0
0
0
33
0
0
0
5
0
0
-14
0
0
0
0
0
0
-11
0
0
2
0
0
0
-1
0
4
0
0
2
0
-24
0
0
0
0
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
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
82
0
0
0
0
0
20
-2
0
0
0
0
10
0
4
0
0
0
0
7
0
0
0
-29
0
0
0
0
0
0
0
0
0
-7
0
0
0
-5
0
0
5
-1
0
0
-32
0
0
4
-2
0
0
1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
6
-80
0
0
0
0
0
-4
-8
0
8
3
0
0
0
-25
0
-2
77
0
0
3
74
0
0
-21
0
0
1
-46
0
0
-5
0
0
0
33
0
-24
0
5
0
0
19
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
-1
32
0
0
-1
0
-6
0
13
0
0
2
-3
0
0
60
0
0
-14
0
0
0
-16
0
0
32
-1
0
0
-39
0
0
0
0
-1
0
-6
0
0
0
1
0
0
-67
0
0
0
0
0
0
33
0
0
0
0
0
0
-14
0
6
0
0
0
0
-14
0
0
0
0
0
0
73
0
7
0
0
0
0
51
0
0
0
-3
0
0
22
0
1
0
0
0
0
49
0
0
0
0
0
0
26
0
-7
0
0
0
0
59
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-108
-36
104
-2
0
74
5
7
-27
-56
-6
69
54
6
18
6
42
30
-12
71
0
-11
-26
-16
-29
-119
8
12
43
-30
1
-6
-25
14
24
-44
-5
-3
-15
72
8
-7
4
-2
2
44
-41
-7
26
2
13
-44
14
1
-33
-10
-2
32
-7
-3
1
10
-7
-68
6
2
2
-32
-23
0
0
0
0
0
0
0
1
26
10
25
14
-73
3
-19
43
1
7
-1
15
3
-6
23
-4
-10
-8
-38
-6
45
32
33
11
-15
-3
3
24
29
-41
-17
19
43
-11
-9
0
-15
3
-7
-83
-17
-23
-3
32
65
-4
-33
-4
-24
-2
6
30
-4
8
89
-13
3
55
55
-15
57
0
-41
6
54
-41
-3
-50
46
3
-2
16
-8
2
-35
-13
35
-8
-19
3
15
-2
-14
-17
-3
-45
-17
-4
-3
25
-13
-3
-25
44
-62
2
13
15
-1
-103
-63
26
-5
-35
-38
-3
22
60
9
7
-8
-1
-2
20
-46
-11
-1
-22
11
0
-6
-1
-11
12
-5
-4
-11
-4
12
5
78
-9
-36
-4
-19
67
-3
-7
-14
-43
-7
22
-9
-14
-12
-6
-41
-3
-56
-38
-5
-15
15
-19
-3
-15
-75
0
11
-17
-33
5
96
-101
-39
8
-10
-48
-28
90
62
-87
-15
-28
-46
-12
30
6
34
-86
-87
-76
2
-42
-34
-51
-57
7
-20
-35
4
-19
-15
30
-57
28
-7
-26
4
-24
15
-33
-30
-3
-15
-47
0
-43
-11
46
0
-56
-11
-2
-19
-5
-65
21
-30
41
7
-52
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
97
0
0
0
0
0
0
0
2
1
1
0
0
0
-52
0
0
0
0
0
0
-11
0
0
0
5
1
0
0
0
0
-68
0
0
0
0
0
-65
0
0
0
0
0
1
3
0
0
0
0
0
1
0
0
0
0
0
-10
4
0
0
25
0
0
0
0
0
0
0
0
0
-28
-1
0
0
-25
0
3
-9
0
0
0
-2
0
-4
17
0
0
0
-4
0
0
0
1
0
0
7
0
6
0
0
0
0
0
0
-1
0
-72
0
19
0
0
0
1
53
0
0
0
0
0
-3
-11
0
-5
4
-19
0
36
2
0
0
-20
0
0
5
28
0
0
14
0
0
0
-16
0
0
3
0
0
-1
-29
0
11
4
-2
0
0
59
0
0
0
0
0
0
-24
1
0
0
0
0
0
23
-6
0
0
0
0
0
48
0
0
0
0
0
0
1
0
0
4
0
2
1
-33
0
2
-5
9
0
-1
-41
0
11
-3
0
0
3
10
0
0
18
0
0
0
-43
0
0
-1
0
0
0
46
0
0
0
-2
-2
0
-29
0
0
0
4
0
0
-71
0
1
0
0
0
0
3
0
0
0
0
0
0
16
0
0
0
-6
0
0
-35
0
4
-2
0
0
0
32
0
1
2
0
0
0
17
0
2
0
0
0
0
36
0
0
0
0
0
0
-40
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
-9
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
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
-5
0
7
0
0
0
0
-10
0
0
0
0
0
0
-10
0
-11
2
0
0
-2
-29
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
-17
0
0
0
0
0
0
-14
0
0
0
0
0
0
6
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
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
3
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
-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
23
-2
14
0
-61
0
0
31
-1
-15
0
-37
10
-5
-5
3
-32
0
67
-17
-11
-3
2
15
0
-77
-74
30
-3
-35
-23
0
3
6
-2
8
0
0
0
0
-21
3
0
8
-17
0
0
33
-102
0
1
-6
0
-45
5
-5
9
-24
-2
0
-7
-31
0
-26
-5
-46
0
0
0
0
0
0
0
0
-4
6
14
-1
-41
-3
0
0
-45
0
20
25
7
0
1
-58
-3
-7
29
29
0
-37
-4
-10
-1
-9
-42
0
-2
50
2
0
-7
0
0
-2
20
2
-36
5
44
0
14
-38
-1
-4
-1
3
0
-24
80
15
3
-125
45
0
48
22
0
27
12
-1
0
0
-12
0
-7
34
-40
0
-26
27
-1
37
-4
-9
0
-60
-33
0
9
-5
-34
0
42
-27
0
-1
-43
26
0
-1
1
-98
-65
-25
-7
0
1
23
-20
74
-15
27
7
-4
9
15
-43
-68
54
0
40
27
-5
91
61
10
0
34
26
20
-14
19
-5
0
-6
14
8
114
73
35
0
25
6
5
6
-6
-12
16
53
-5
0
11
-11
-5
0
7
-25
-2
-30
35
-12
10
-2
15
-3
-2
0
11
0
0
32
4
-2
-43
9
0
-6
-16
1
-28
45
-1
0
43
-28
-1
-9
-102
-8
0
-2
40
-6
-11
58
1
0
-8
-15
0
15
51
4
0
-60
29
0
-3
55
-6
1
-29
-16
0
-17
50
-77
0
-27
44
0
60
2
7
0
8
18
55
5
8
11
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
-5
13
0
0
-14
-4
90
10
14
0
-7
-35
-27
-2
0
-1
0
-4
5
1
0
0
26
-3
0
-2
0
5
-17
0
2
-47
0
0
14
0
-1
0
0
0
13
-4
0
0
19
0
-15
-28
3
-2
70
-53
-14
50
48
-2
10
-36
0
0
0
0
0
0
0
0
0
-84
83
43
9
8
0
-30
-74
34
-2
0
11
19
-96
53
-14
0
0
-48
14
-19
-13
-29
0
0
16
-134
-76
0
5
-5
0
0
0
3
0
19
27
-8
11
0
0
-1
-61
0
0
-1
9
-1
19
1
3
-19
0
-8
0
10
55
-1
8
-69
1
0
31
19
6
-6
-50
-6
6
76
-33
0
0
-139
4
0
-8
22
0
23
-13
-42
1
4
-9
0
5
33
2
-13
0
30
24
-5
0
-61
4
0
3
-2
0
0
7
0
-3
-20
-2
19
-65
8
-52
4
-7
0
5
39
-13
-7
-83
32
7
-11
-59
-15
-5
33
14
1
-1
9
45
98
9
8
0
0
-29
62
-27
8
31
0
-17
0
-4
-25
0
-47
0
1
-17
14
-55
0
-27
0
0
0
0
1
0
-47
50
0
0
0
0
0
40
0
-53
10
9
0
8
-10
0
0
0
4
3
-3
-18
1
-21
57
20
0
1
-32
0
-2
-33
41
0
19
-16
2
-72
1
20
-1
-1
-5
8
2
5
0
4
1
7
6
4
0
0
11
0
-46
-5
9
0
-6
-7
0
0
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
19
3
0
-1
0
0
0
11
0
0
0
0
0
0
0
0
0
4
23
-8
0
0
0
0
-25
0
0
1
0
0
56
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
-71
-3
-1
-106
0
0
-3
-1
0
0
0
0
0
0
0
0
0
-42
-18
0
0
54
0
7
-9
14
0
0
13
0
1
45
3
0
0
56
0
0
0
15
0
0
2
0
-73
0
0
0
0
0
0
0
0
-76
-2
0
0
0
0
-2
-116
0
0
-7
0
0
-6
0
0
-34
-10
0
0
-5
50
0
3
37
0
0
4
-96
0
0
7
6
0
22
-1
0
0
-5
0
0
0
29
0
129
-7
-5
0
0
83
0
0
4
0
0
0
24
0
0
0
2
0
0
-17
0
-1
0
7
0
4
4
0
0
-13
2
0
17
0
0
6
23
0
7
-11
120
3
13
-23
-5
0
-21
8
1
1
-5
-5
1
0
-86
0
3
19
-1
0
0
-32
0
3
1
0
2
0
-58
0
0
1
0
-10
0
1
5
0
0
0
0
-1
-52
0
0
0
0
0
2
-45
0
-3
0
0
0
0
0
1
-2
-1
21
4
8
-80
0
5
7
0
0
0
-4
0
0
-7
7
0
-1
-10
0
-3
0
0
0
0
3
0
0
-8
0
0
0
90
0
-1
0
0
0
0
-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
-47
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
32
0
0
0
0
0
15
0
0
0
0
0
-81
0
0
0
0
0
2
0
0
0
0
0
20
0
0
0
-8
0
0
-52
0
0
0
7
0
0
0
0
0
0
0
0
0
33
14
0
-2
-4
0
0
7
0
0
0
-2
0
0
-19
0
0
0
0
0
-1
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
3
16
1
0
0
0
0
27
0
0
0
0
0
-2
-1
0
-39
-23
0
0
32
95
0
0
-4
0
0
-5
-75
0
0
93
18
0
29
-14
0
0
-2
0
0
6
6
0
-5
-3
-1
0
0
33
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
0
0
2
0
0
-3
18
0
2
10
0
0
4
-57
0
0
24
0
0
2
31
0
0
2
0
0
0
-12
0
0
1
0
0
0
-7
0
0
-2
0
0
0
-57
0
0
0
0
0
0
4
0
0
0
0
0
0
-21
0
0
0
0
0
0
-21
0
0
-1
0
0
0
-20
0
0
0
0
0
0
-20
0
0
0
0
0
0
-32
0
0
-1
0
0
0
55
0
0
0
6
0
0
-12
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
-82
0
0
-3
-4
0
0
-1
2
-3
0
0
0
5
2
-1
0
-3
0
1
0
-2
1
2
0
1
0
0
-9
0
0
68
0
0
-3
0
0
-77
0
0
0
0
0
9
26
0
0
0
0
46
-4
0
0
-16
6
55
-69
-5
-2
0
-9
0
3
0
0
0
0
0
0
0
20
-16
-4
0
23
0
0
-19
-2
0
0
14
1
-4
-33
0
3
0
-5
0
5
0
-5
0
0
2
11
15
0
0
-5
0
0
0
0
0
-44
-8
-1
0
-1
0
-1
-30
0
0
5
0
0
2
66
0
78
-5
0
0
-32
-41
-5
0
-5
0
0
-45
-94
0
0
37
1
0
3
52
0
0
-25
0
0
4
5
0
-5
0
0
0
0
5
0
0
-8
6
0
0
24
-5
-3
0
0
0
0
-82
0
0
0
0
0
0
43
0
0
26
0
0
8
-90
0
0
-37
0
0
-8
-63
-4
-7
0
-15
0
-2
-44
0
0
11
9
-4
45
-44
0
0
0
17
-1
-2
-18
0
0
-9
0
-1
0
-60
0
-1
1
1
31
0
50
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
-1
0
4
0
0
-42
0
0
0
2
0
0
-95
0
6
0
0
0
-6
-52
0
0
0
0
0
0
23
0
-1
-3
-7
0
0
-1
0
0
19
0
-4
0
-24
0
2
0
-6
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
-2
52
-33
-22
22
-78
-2
53
56
38
11
68
4
30
52
23
41
2
89
-103
-77
59
-2
7
-15
-15
40
29
-5
-6
-75
2
-38
0
0
-4
0
10
-17
14
-1
-31
-34
-1
1
50
-3
-69
38
-3
-3
-84
4
-15
-26
-21
-6
1
-20
-33
27
0
0
0
0
0
0
0
5
72
34
76
-17
25
4
-11
14
-21
27
4
-19
3
-12
-43
-4
20
1
-27
0
-83
-36
-2
-1
13
-4
-1
-2
-4
-33
0
0
18
-78
17
5
-42
17
0
-36
0
81
-2
22
6
-7
15
-17
57
-2
14
0
-92
-4
-4
-39
3
-9
22
9
19
0
-28
-3
47
-18
7
20
-1
4
-1
-18
63
1
66
-5
-6
-9
11
2
-27
-4
-114
40
-14
0
25
-24
-23
-20
0
-3
-65
-23
4
10
-37
13
-17
-25
-2
-4
14
-1
-2
-43
6
-80
-1
-46
-13
-5
-4
18
-46
31
12
10
48
-30
101
-42
-20
-17
78
-30
-5
5
-53
5
-49
-12
44
-6
12
-71
-14
61
14
33
-10
-3
4
23
-99
2
28
2
-4
-8
-24
1
17
-2
3
16
-4
-2
-10
1
-2
-17
-53
49
-2
-14
6
-16
17
23
-5
36
-31
-18
0
-3
-16
-62
-4
99
-10
4
-30
-10
18
-69
-49
46
14
22
102
-10
23
-33
3
-85
-27
-8
4
-40
6
42
-11
3
-1
39
-10
-5
-12
-53
-11
17
-18
60
17
31
0
3
-50
-1
3
30
0
0
0
0
0
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
-2
0
0
-2
0
0
-26
1
0
0
0
0
0
-19
0
0
0
5
0
-1
0
0
0
4
0
0
-10
0
0
8
0
0
0
0
0
0
3
0
-1
0
4
-3
0
-1
0
-16
0
-8
-100
0
0
0
-85
0
0
0
0
0
0
0
0
0
-23
-10
0
0
51
0
-39
-23
7
0
-2
-2
0
18
-25
0
0
0
-18
0
-14
0
-1
0
0
0
0
-9
0
0
32
0
0
0
14
0
2
15
0
0
0
0
-15
-1
0
0
1
0
0
49
-51
0
-9
2
0
0
-15
-63
0
0
-57
0
0
-1
-87
0
0
-22
0
0
1
15
0
14
-29
0
0
-1
18
0
-35
-23
0
0
0
12
0
0
4
0
-1
1
10
1
-1
0
0
0
0
-15
0
0
0
0
0
2
-13
-1
0
43
0
0
-7
28
0
0
47
-3
-2
-16
-9
0
0
-16
-3
0
63
11
0
0
5
0
0
0
-78
0
0
25
0
-6
1
-2
0
-2
-5
0
-1
0
44
0
0
2
0
-12
0
-22
0
0
0
0
0
0
-8
0
0
0
0
0
0
36
0
-1
0
0
-10
-1
-14
0
0
0
0
0
0
-72
0
-43
-16
0
0
3
-14
0
1
-14
0
11
0
-47
0
-11
1
0
0
0
43
0
0
0
0
0
0
16
0
-1
0
0
0
0
-131
0
0
10
0
0
0
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
8
0
0
0
10
0
0
-29
-2
0
-1
0
0
0
0
3
0
-4
25
0
0
0
0
0
-50
0
0
0
0
6
0
0
0
0
0
0
-4
-24
0
0
0
0
69
20
4
0
36
17
0
-82
0
0
0
51
0
0
0
0
0
0
0
0
0
-17
-3
0
3
-1
8
0
67
15
0
2
-49
-6
0
20
10
0
0
-7
-4
0
10
24
0
0
1
-33
0
0
0
-15
0
0
0
0
0
61
-5
-5
0
-1
0
-39
28
0
0
21
0
0
-10
80
0
-82
7
14
0
-34
42
0
0
-29
-1
0
29
-3
0
6
30
7
0
5
7
0
0
16
1
0
-24
-74
0
-18
-5
41
0
0
-54
0
0
0
0
0
0
-22
7
71
0
8
0
0
42
0
0
0
0
0
0
-58
0
-1
-31
0
0
-27
9
0
11
-42
1
0
-36
26
0
7
51
-8
0
50
-15
-2
-3
-43
7
0
-17
24
0
8
-9
-22
0
5
-83
0
0
-47
0
0
0
-44
0
-5
-17
75
0
0
27
0
0
0
0
0
0
0
2
4
-7
0
0
0
-41
0
73
6
0
0
-2
-11
0
-8
-71
5
0
0
-30
0
49
-45
0
0
1
-52
0
9
-17
-4
0
0
-3
0
-9
43
-1
0
0
-87
0
0
36
0
0
0
-24
0
-59
6
-4
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
6
14
-87
-18
-4
68
-49
0
-21
35
33
-51
-44
-100
1
-7
-37
-14
-11
-72
0
25
-44
72
-6
-62
36
-43
1
-6
-2
0
5
-14
-4
1
34
-29
-3
-2
-43
-125
-11
-31
-39
15
-2
7
-61
-79
-56
-36
-113
13
1
12
0
0
0
0
0
0
0
-5
-69
-45
22
-55
-48
1
-32
-8
71
-45
7
32
7
3
31
-37
-9
-26
-45
12
51
33
-18
0
-1
-2
10
24
-48
-8
0
21
14
69
-1
5
-62
-20
-102
-13
-1
-59
-1
-25
21
-1
-20
-44
57
15
29
-14
5
-3
-18
5
1
-15
-27
-2
-4
5
-44
7
24
-55
-1
10
10
-35
2
55
-24
-1
44
-53
3
-1
-5
14
-4
7
19
-6
-4
-31
2
-64
30
-46
-3
3
-13
-48
4
21
29
8
-22
-2
19
-26
-9
-77
13
-18
-41
-7
-5
24
8
-32
2
-42
-52
-27
-57
35
37
9
-91
-33
-11
-21
9
-26
-11
84
-37
-16
-46
-5
-52
-6
6
-22
8
-32
19
-16
-13
-18
-33
2
14
23
-48
0
-34
-4
4
-14
-22
10
-24
43
-4
-11
-50
-26
-2
5
-4
-13
-54
-37
-59
14
-13
62
-78
-36
-40
-48
-12
-13
-17
-60
33
-14
-5
-1
-10
-38
4
18
15
-16
-31
-9
-79
-18
-6
-66
-25
106
-7
-43
8
-45
-28
43
37
10
-37
28
44
24
24
0
1
29
82
-24
22
3
0
-45
-24
-43
-47
-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
2
0
-1
0
0
0
0
0
1
0
0
0
2
0
0
0
0
-19
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
4
-1
0
0
6
3
0
52
0
0
4
17
0
0
0
0
0
0
0
0
0
-9
14
0
-5
-78
0
0
-6
2
0
0
-17
0
-3
0
7
0
0
0
0
0
0
-6
0
0
0
0
-4
0
0
-1
0
0
0
0
0
-17
5
-4
0
0
0
4
-15
0
0
-7
0
0
68
-21
0
9
-56
5
0
-12
0
17
0
24
0
0
10
32
0
2
8
-8
0
-8
3
0
5
9
0
-1
-2
35
0
18
-2
0
0
0
34
-3
0
0
0
0
0
-5
1
0
0
2
0
0
-42
0
0
0
0
0
0
16
0
0
8
0
0
0
42
0
0
29
0
0
36
0
0
-1
50
25
0
-10
6
0
0
-4
0
0
0
52
0
-1
0
-7
0
2
-74
0
0
1
0
0
0
-23
0
0
-1
5
0
0
-24
0
0
0
0
0
0
26
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
-1
1
-5
0
-20
0
-1
-5
-3
0
0
0
-95
0
0
5
0
0
0
-36
0
0
0
0
0
0
25
0
-3
0
0
0
0
86
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
-30
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-34
1
0
0
8
0
0
0
0
0
0
0
0
0
-6
-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
-40
0
-3
0
0
0
0
-57
0
0
0
0
0
6
13
0
-11
5
0
0
-4
-35
0
0
14
0
0
-5
-73
0
0
0
-1
0
0
-36
0
0
-3
0
0
0
-5
0
-11
0
0
0
0
18
0
0
0
0
0
0
-35
0
0
0
-1
0
0
15
0
0
0
0
0
0
11
0
3
0
0
0
0
-38
0
0
-1
0
0
0
-54
0
0
-1
0
0
0
5
0
0
-5
0
0
0
57
0
0
0
0
0
0
75
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
5
0
0
0
0
0
0
0
0
0
3
0
0
0
-18
0
0
0
0
0
0
27
0
0
0
0
0
0
-2
0
-1
0
1
0
0
7
0
0
0
0
0
0
-29
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
8
5
-4
0
-2
0
-1
-31
-2
0
0
0
0
-13
0
0
0
0
-15
0
0
0
0
0
56
0
0
4
0
0
-16
0
0
0
0
0
1
-1
0
0
0
0
-8
8
0
0
-27
4
6
11
4
-4
0
-7
3
0
0
0
0
0
0
0
0
-7
14
-5
-1
40
0
9
11
7
0
0
-27
-3
0
-26
-8
1
0
5
0
0
0
-2
0
0
3
0
50
0
0
9
0
0
0
4
0
11
1
4
-1
0
0
17
-43
0
0
5
0
0
-35
-32
0
-69
33
15
0
33
-31
0
0
-5
-7
0
14
12
-1
0
-52
0
4
-7
5
-2
0
17
0
0
-1
-25
0
21
3
0
0
-1
-50
0
0
11
0
1
0
-18
14
4
0
0
0
0
20
3
11
0
0
4
0
-33
-4
0
1
0
17
23
8
0
-1
8
0
0
-41
30
0
0
25
1
0
6
90
7
0
9
6
-4
-2
-112
0
0
-14
0
0
14
33
0
0
11
0
0
1
68
0
3
4
1
-5
0
-26
0
0
0
0
0
0
31
0
0
0
0
0
0
34
0
-1
15
0
0
0
31
0
-1
6
0
0
-7
-40
0
11
5
1
0
1
110
0
0
-2
7
0
0
1
0
4
-4
5
0
13
-12
0
0
2
0
0
0
-49
0
-5
0
0
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
25
6
-5
0
11
0
0
-45
0
-7
-1
10
0
0
-7
-1
0
0
1
0
0
0
0
0
27
0
0
-2
0
0
-20
0
0
0
0
0
-10
10
0
0
0
0
14
1
0
0
-14
-4
-5
-58
-18
0
-4
61
6
0
0
0
0
0
0
0
0
-8
-14
3
-4
3
0
-2
68
13
0
0
-15
-5
-1
-14
46
0
0
-1
2
0
2
-5
0
0
-2
4
-13
0
-4
25
0
0
0
-1
0
5
0
0
0
0
0
14
11
0
0
10
0
0
50
6
0
-44
-23
0
0
-62
-107
0
0
10
0
0
42
36
0
3
-14
-6
0
-7
20
0
0
7
0
0
17
-29
0
-34
4
7
0
0
-47
0
0
2
-3
0
0
-11
4
3
0
0
0
-2
-31
0
0
8
0
0
-4
2
0
0
0
0
0
-21
10
0
-5
-2
0
0
-16
-8
-9
2
-33
2
6
-7
-27
-5
15
-33
1
0
-7
-15
0
0
-1
-24
-2
0
-28
0
0
6
0
-16
0
-10
16
0
-18
-3
19
0
-5
-6
0
0
0
0
-3
-45
1
0
0
0
0
0
10
4
-99
0
0
0
0
27
0
-1
-2
-1
0
1
35
-1
44
2
-1
0
3
-14
0
2
-34
5
0
0
-49
0
-19
0
0
0
0
-23
0
0
0
0
0
0
-65
0
10
0
0
0
0
-40
-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
-10
47
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
21
0
0
18
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
35
24
0
0
73
0
-8
6
34
0
0
-8
0
0
0
0
0
0
0
0
0
82
2
0
0
16
0
8
-14
-3
0
0
-18
0
7
-74
0
0
0
4
0
8
0
0
0
0
-1
0
25
0
0
5
0
0
0
0
0
83
11
0
0
0
0
24
-21
0
0
36
0
0
1
14
0
-21
-87
0
0
-57
-40
0
7
-15
0
0
-49
-38
0
0
2
0
0
-5
-33
0
0
14
0
0
5
27
0
-76
57
1
0
1
-76
0
0
0
0
0
0
-28
-1
0
0
0
0
0
-5
0
0
0
0
0
0
-92
0
0
0
-1
0
-3
-57
0
0
-8
0
0
0
-35
0
0
45
0
0
-3
-21
0
0
-27
18
1
-1
-14
0
0
2
16
0
-3
8
0
0
-15
0
0
0
-77
0
0
3
0
-6
0
-23
0
0
0
0
0
0
-19
0
0
0
0
0
0
23
0
0
0
0
0
3
-9
0
0
2
0
0
0
-21
0
-1
-27
0
0
0
-34
0
0
-1
0
0
0
-26
0
-2
7
0
0
1
-93
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
26
1
0
0
0
0
0
39
-5
0
0
0
0
0
0
0
6
3
27
-3
0
0
0
0
68
0
0
0
0
0
-24
0
0
0
0
0
1
-8
0
0
0
0
-14
0
0
0
42
15
0
-24
1
0
-3
-2
0
0
0
0
0
0
0
0
0
26
3
0
5
-14
0
0
1
14
0
0
33
21
0
-49
11
0
0
-7
0
0
0
-8
0
0
0
-5
0
0
0
4
0
0
11
0
5
-13
-8
1
0
-2
0
-20
-6
0
0
23
2
0
7
-50
0
-31
2
4
0
-22
27
0
0
0
-2
0
-65
39
2
0
32
5
0
-21
21
0
0
-20
0
0
-5
36
0
-24
14
-2
0
0
-67
0
0
25
0
0
0
-38
1
0
0
0
0
0
-21
6
0
6
0
0
0
38
6
0
18
0
0
16
16
0
-1
74
0
0
-7
-93
0
0
-99
-24
0
-5
-7
0
0
-58
0
0
10
-16
0
21
-55
-5
0
7
-24
0
0
-11
1
0
0
42
0
0
0
0
0
0
-100
0
0
0
0
0
0
-44
4
0
0
0
0
0
-2
0
4
1
0
0
0
-15
0
0
-8
2
0
2
23
0
-18
13
0
0
0
53
0
-6
-10
0
0
0
-41
3
-21
-3
-2
0
0
-18
0
0
-1
0
0
0
16
0
-2
-1
0
0
0
16
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
32
128
0
5
51
0
1
72
58
43
19
-72
0
-5
1
-1
0
-32
0
0
52
0
0
-17
0
0
-1
0
0
5
-74
0
5
0
0
-21
72
0
1
-19
-17
-95
-7
57
-4
0
-28
19
-1
0
0
0
0
0
0
0
-49
-93
-11
5
-37
-7
88
-8
11
31
8
-9
71
-7
-83
-31
0
1
61
-43
-91
3
4
0
0
24
-19
-83
-7
-9
43
0
0
0
6
0
30
19
-11
1
5
0
-1
-44
0
-3
-41
-6
0
-83
52
0
19
-47
71
0
23
12
-1
1
-38
62
-3
46
16
1
10
17
22
-1
-5
-19
2
2
-33
43
0
4
54
-5
-53
-38
-35
3
45
-43
0
46
20
-2
-16
0
-33
-4
-52
0
-67
0
0
-42
24
1
2
5
0
-1
-23
31
24
-6
1
-33
23
24
14
4
-17
-4
41
-27
-73
-13
-6
-2
-47
-6
9
-46
20
-7
22
14
-29
-19
-24
-25
-35
27
78
11
-4
62
1
-2
-40
0
28
-3
-23
15
-1
-95
-8
-37
0
-25
-14
-2
0
-17
-1
0
-4
-17
-3
0
25
-4
0
-72
3
8
-18
1
-2
21
-20
-3
-3
20
-17
-36
18
30
-5
-23
7
73
7
8
-51
3
4
-2
1
-25
34
-40
6
-173
-21
-4
-6
3
-8
3
23
-34
56
-105
0
-18
1
-69
1
-6
32
0
-44
136
-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
-16
0
0
0
0
0
0
0
20
0
0
-9
0
0
0
0
0
-5
0
0
0
0
0
17
0
0
0
0
0
-2
-8
0
-2
-1
0
-17
-1
0
0
-35
27
4
75
-14
0
0
-82
0
0
0
0
0
0
0
0
0
-81
0
-5
4
26
2
-15
10
-13
0
7
-60
0
1
-21
-25
0
0
-5
0
0
7
8
0
0
-1
19
-44
0
0
8
0
0
0
2
0
23
4
1
0
0
0
5
19
0
0
-7
0
0
43
-44
0
15
10
-14
13
0
-106
-2
8
-138
0
0
-126
0
-5
19
-76
0
16
-9
-57
-1
-1
63
0
0
-3
72
0
-66
-4
0
0
0
-109
1
0
0
0
0
0
14
-5
-10
0
5
0
0
30
2
0
20
0
0
0
-66
23
-4
8
-4
0
-5
2
0
-2
-32
9
-2
-18
-4
-14
0
-25
68
0
21
0
2
-5
44
-6
8
-13
-45
-2
37
-6
-1
4
-6
-37
0
3
2
0
0
0
-40
0
0
0
-4
5
0
-14
0
1
0
0
0
0
-52
-4
0
7
-1
0
0
-62
-1
10
-5
0
0
-4
46
0
5
2
19
0
10
40
0
-57
4
-4
0
22
0
0
-5
-14
-11
-3
-3
-1
0
-24
26
-2
2
0
-21
0
4
-5
-6
0
0
46
7
-2
-2
0
0
0
-16
-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
-6
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
22
0
0
-5
0
0
110
0
0
0
0
0
-4
17
0
0
0
0
5
6
0
0
62
0
-7
47
0
0
1
27
0
0
0
0
0
0
0
0
0
30
7
0
3
-2
0
0
-11
-4
-1
0
-14
-1
0
5
20
0
0
13
0
0
0
5
0
0
1
0
52
0
5
2
0
0
0
6
9
18
-7
0
0
0
0
-10
-59
0
0
5
0
0
4
-13
0
13
-66
0
0
-26
87
0
0
14
0
0
-16
-33
0
-13
4
-9
0
-4
-5
0
-2
-39
0
0
-2
1
0
-43
-8
0
0
0
11
0
0
-4
1
-2
3
-63
-1
20
0
0
0
0
21
0
0
0
0
0
0
-72
0
0
-11
0
10
15
-39
0
0
11
0
2
-11
47
0
-1
-8
-3
-1
0
43
0
0
4
-4
0
0
12
0
0
1
7
16
0
-14
0
0
-4
0
3
0
-71
0
0
6
0
-5
0
-28
0
-1
0
0
0
0
-4
-1
0
0
0
0
1
5
0
-2
3
0
-1
0
-27
0
-2
1
0
0
-2
-192
0
-14
9
0
0
0
-18
0
0
-8
32
0
-4
-80
0
63
-3
-1
0
0
-36
0
-1
-1
0
0
0
42
0
-2
9
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
34
0
0
0
0
0
0
3
0
0
0
90
-6
0
-1
1
0
-54
0
0
-1
0
0
-46
0
0
0
0
0
-2
-2
0
0
0
0
-5
10
5
0
-18
25
-17
-19
-5
-6
0
21
0
9
0
0
0
0
0
0
0
-28
-54
5
0
0
7
1
9
59
0
-2
-26
-10
1
-29
-3
0
0
6
0
0
2
39
0
0
2
0
31
0
0
9
0
0
0
8
0
-4
20
0
0
0
0
-10
3
-5
0
-4
0
0
-6
-11
-3
-48
-20
0
0
-18
-65
0
13
-75
0
0
17
8
7
8
-9
-2
0
55
18
0
0
0
0
0
-6
-14
0
-32
18
23
0
0
13
0
0
0
0
7
0
1
0
-3
0
0
0
0
16
0
7
0
0
0
0
-4
0
0
18
-14
0
14
-71
0
-2
22
1
0
1
-45
0
0
-1
-6
0
-25
39
0
0
21
0
0
-1
69
0
3
-5
17
0
0
20
0
0
0
0
-2
0
-5
0
0
-5
9
-4
0
37
0
0
0
0
0
0
-64
0
0
0
1
0
0
-48
0
-20
1
0
0
2
20
0
-1
-2
10
0
0
7
0
-9
0
0
0
0
5
1
0
24
7
0
-3
-14
0
13
-3
0
0
17
4
0
0
0
-1
2
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
-103
2
0
2
0
0
0
-13
23
0
0
0
0
0
0
0
0
-47
0
0
-6
0
0
-64
0
0
0
0
0
0
19
0
0
0
0
24
33
0
0
-44
-107
-23
45
4
0
18
-98
0
0
0
0
0
0
0
0
0
-81
-14
0
15
66
-5
22
-44
17
2
-2
-29
-10
0
7
-59
0
0
-1
0
-5
-10
10
0
0
0
-14
-22
0
0
-10
0
0
0
0
0
-41
0
8
0
13
0
-6
-39
0
0
39
0
0
-55
47
0
74
-60
-8
0
-60
65
0
0
-24
3
0
41
-17
-6
0
9
-3
0
15
-30
0
0
-29
1
0
-1
-81
0
-96
5
1
0
-1
-13
0
0
1
0
0
-1
53
1
-5
0
-26
0
0
-10
0
0
0
0
0
19
-76
0
0
-39
7
37
11
-16
0
-1
5
0
-5
-26
43
2
0
-43
-24
0
-7
1
3
6
-15
9
47
33
-30
2
8
4
-21
2
-5
5
0
2
-2
0
-36
6
1
0
0
0
0
-17
0
-18
0
0
0
0
0
0
-34
0
10
0
0
0
1
0
8
-32
0
0
0
2
15
0
-4
-6
1
0
-1
-23
-1
-57
9
-5
0
0
-4
0
-33
-10
-3
-1
0
2
0
24
2
4
0
0
18
0
-3
0
0
0
-5
-12
0
-55
0
0
0
0
7
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
-102
0
0
0
0
1
23
0
9
-2
0
13
0
2
0
0
0
-9
0
0
6
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
-4
-9
0
0
-24
0
-2
-64
-1
0
0
10
0
0
0
0
0
0
0
0
0
-102
-1
0
0
-36
0
20
36
0
0
0
16
0
2
18
11
0
0
-19
0
-41
0
-1
0
0
7
0
0
0
0
4
0
0
0
-14
0
-24
-1
0
-1
0
0
3
-5
0
0
17
0
0
31
-16
0
25
-47
0
0
34
-38
0
1
-8
1
0
10
-2
0
0
2
0
0
-46
29
0
0
-25
0
0
-2
-51
0
-36
-3
0
0
0
10
0
0
0
0
0
0
37
3
1
0
0
2
0
-17
0
0
0
0
0
0
4
0
0
6
0
0
-2
-37
0
0
-35
-9
0
48
-5
-1
-6
-37
0
0
-11
5
0
0
-50
0
0
-3
86
0
0
-15
0
0
3
12
0
0
15
0
1
-1
-41
0
0
-2
0
-32
0
33
0
0
0
0
0
0
55
0
0
0
0
0
0
-20
0
14
0
0
0
0
13
0
0
-5
4
0
-4
-1
0
-20
4
0
0
0
9
0
0
-2
0
0
0
21
0
7
-1
0
0
0
10
0
0
1
0
0
0
-70
0
-4
0
0
25
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
0
0
0
0
-33
5
0
6
0
0
0
27
-4
0
1
-10
66
0
0
-3
1
45
0
0
6
0
4
-32
0
0
0
0
0
3
9
0
0
0
0
-11
36
0
0
-57
-1
0
-25
-5
0
2
12
0
0
0
0
0
0
0
0
0
-30
32
0
-5
-16
0
0
22
97
14
0
31
-22
0
73
47
0
0
80
0
0
85
31
0
0
37
-18
0
0
-15
-32
0
0
0
0
1
3
-82
-22
2
1
0
-30
-88
-2
0
13
-1
0
5
-43
0
-1
36
1
0
14
68
0
5
-7
0
0
-44
-139
0
-6
25
-29
0
-73
-62
0
-4
36
0
0
-55
38
0
-34
7
-28
0
31
-45
0
0
1
0
0
0
-34
-2
33
0
23
0
0
15
-10
0
18
0
0
6
-51
-3
1
-26
-1
0
-3
52
0
1
61
31
0
62
73
3
-4
33
-48
0
-18
-2
-2
0
-77
3
0
-37
-64
0
-23
-12
-1
2
32
24
0
-4
-1
1
0
0
-15
0
-4
0
-31
0
0
-10
0
0
0
14
0
0
-60
-5
-3
0
0
0
-3
-25
0
65
-4
0
0
0
34
1
-8
1
-4
0
3
7
0
-22
34
0
0
1
-72
0
35
-49
-5
0
2
-34
0
-33
-11
-6
0
0
-17
0
0
-23
30
0
0
16
0
2
0
5
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
11
-26
15
15
-5
0
13
0
-56
-15
-6
124
-6
-62
0
-13
-4
0
-21
-1
44
-14
-15
-10
-3
4
-29
-25
18
-25
0
7
9
0
-39
-5
10
13
0
-4
-22
-58
0
0
0
0
0
0
0
-113
-107
-48
-68
-88
-12
11
-23
-52
32
-10
-6
18
4
13
-30
15
34
8
17
6
5
7
14
-1
-9
17
-6
-4
17
2
0
-2
3
14
-18
1
-22
40
-54
-56
-3
10
5
17
0
-23
-57
45
-20
6
36
10
-1
-19
15
-32
1
-5
-7
-4
17
-7
31
0
-39
35
-3
-81
-27
-93
-5
30
38
-3
-74
22
-33
-5
25
-4
22
1
4
-3
0
-2
26
-6
-20
4
0
-3
5
-73
2
29
-3
7
-11
10
2
-44
17
5
31
-2
-103
66
-39
49
-31
-61
0
5
36
-6
-53
-50
45
-14
-50
28
32
-43
22
5
-10
-18
-90
-14
44
-34
-39
3
-5
85
36
-10
-33
-15
-7
12
-23
-31
20
-25
3
-2
0
-31
24
85
-1
0
-21
26
-3
-41
43
-12
-7
-10
47
-1
-13
-41
24
47
-14
-3
36
-27
-88
-25
-39
-25
-14
-10
-43
-55
49
-51
4
20
-34
-9
-32
29
30
4
78
89
25
50
-34
-59
-23
17
41
-14
44
23
-8
-18
25
49
-30
60
-8
4
-8
-17
7
-50
-58
10
-2
-27
-73
-5
78
38
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
4
0
-2
0
0
-60
0
0
0
0
0
6
15
0
-4
0
0
31
2
-3
0
50
4
-18
16
5
0
8
1
3
0
0
0
0
0
0
0
0
0
-2
3
-13
-61
-1
0
-8
0
-9
7
-10
1
-4
23
1
0
0
-4
0
0
2
4
0
0
0
-1
0
0
0
5
0
0
0
0
0
-27
0
9
-1
0
0
-3
13
0
0
22
0
0
-7
-1
0
50
-84
1
0
9
27
13
0
2
0
0
-61
-7
0
2
-8
-1
0
69
0
-14
-1
-34
0
0
16
-55
0
-56
-51
-2
5
-1
-30
0
0
8
-2
0
0
0
-5
4
0
0
0
0
6
0
0
0
0
0
0
33
14
20
3
0
0
-1
36
-4
0
-17
-1
0
2
-27
6
-4
-18
32
0
-43
72
10
3
19
5
0
-1
0
5
6
42
24
0
-1
28
0
-2
29
0
0
0
-30
0
0
0
0
-2
0
-15
0
0
0
-4
0
0
-50
0
0
0
0
0
0
-80
0
-23
9
0
0
0
-72
0
0
-1
6
0
0
-15
0
-53
14
0
0
3
-35
0
0
46
5
0
-1
0
2
-33
-1
5
0
4
111
0
4
-3
-2
0
0
-79
0
-7
1
-1
0
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
-5
0
0
0
0
8
0
0
2
0
-32
0
0
0
0
0
-28
0
0
0
0
0
-3
0
0
0
0
0
5
17
0
0
24
-1
1
-22
0
0
0
-24
2
0
0
0
0
0
0
0
0
31
19
0
1
-11
0
27
-20
4
0
0
2
0
-13
3
2
0
0
-1
0
0
0
0
0
0
-6
0
-4
0
0
0
0
0
0
5
0
18
0
6
0
0
0
0
-7
0
0
-8
0
0
22
-46
0
-46
24
0
0
-54
110
0
0
-36
0
0
18
10
0
0
-2
0
0
5
-6
0
-7
-5
0
0
1
-33
0
-18
-5
0
0
0
-2
0
0
0
0
0
0
91
18
0
0
-1
0
0
-104
0
0
0
0
0
-5
-52
0
-8
2
0
8
5
-48
0
-1
0
0
0
15
16
0
0
-1
0
0
0
62
0
-4
14
0
0
11
-31
0
0
4
-4
0
0
1
0
0
0
0
0
0
-2
0
1
-5
2
4
0
22
0
0
0
1
0
0
9
0
0
0
0
0
0
17
0
-9
0
0
0
0
-3
0
3
4
0
0
0
-37
0
26
0
-5
0
0
0
0
0
0
0
0
-1
-34
0
-1
0
0
0
0
4
0
-9
3
0
0
0
95
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
8
0
0
0
0
0
-51
0
0
21
0
0
-28
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
3
-2
0
15
0
0
0
-20
0
0
0
0
0
0
0
0
0
29
3
0
0
15
0
0
14
-19
-2
0
-4
0
20
6
5
0
0
0
0
11
0
2
0
0
0
0
-1
0
0
17
0
0
0
0
0
37
0
0
0
0
0
-2
-10
0
0
-5
0
0
15
-22
0
45
-7
0
0
79
-29
0
0
-20
0
0
-2
43
0
0
-6
0
0
3
10
0
0
-6
0
0
5
-31
0
-4
-1
0
0
0
-15
0
0
0
0
0
0
-18
0
0
0
0
0
0
-26
0
0
0
0
0
0
49
0
0
-2
0
0
0
69
0
5
2
0
0
0
62
-3
0
-14
0
0
4
-5
0
0
21
0
0
1
14
0
0
-1
11
0
0
-18
0
0
0
0
0
0
53
0
0
0
0
0
0
-28
0
0
0
0
0
0
-3
31
0
0
0
0
0
-50
0
0
1
0
0
0
-30
0
0
0
0
0
-5
-30
0
0
0
0
0
0
24
0
0
0
0
0
1
10
0
0
-6
0
0
0
14
0
0
5
-1
0
0
18
0
0
0
0
-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
0
0
0
-2
0
0
0
0
0
0
0
0
0
-98
1
0
34
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-9
15
-5
66
11
-2
0
0
0
-4
0
0
0
0
0
0
0
-35
-3
0
2
43
0
-2
-66
-2
0
1
-8
3
6
-2
-1
0
0
55
0
0
7
0
0
0
-3
-10
-45
0
0
-4
0
0
9
0
0
11
1
4
0
0
0
0
17
0
0
-13
0
0
30
-28
0
-31
-31
0
0
-43
-15
0
0
-2
0
0
-13
20
-1
0
-6
-1
-3
0
-48
0
0
14
-3
11
-2
-83
0
1
-6
7
0
-9
21
0
1
0
0
0
0
-48
21
13
0
0
0
0
-48
-4
0
-2
0
0
0
55
0
1
2
0
0
-1
-69
0
8
28
0
-5
-23
-54
0
2
64
5
6
-1
2
0
0
15
2
1
9
-112
0
0
-3
4
0
0
10
0
0
5
0
-2
-1
22
0
23
0
0
-35
0
-23
0
0
0
0
0
0
61
1
0
0
0
0
0
32
0
-8
11
0
0
0
-8
0
-3
6
0
13
0
-9
0
-43
18
2
0
1
-27
0
0
-3
-4
0
5
-31
0
-27
44
10
0
0
24
0
0
0
0
0
0
94
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
10
0
0
0
-2
0
1
0
0
0
23
0
0
26
0
0
-38
0
0
0
0
0
0
5
0
0
0
0
-5
0
0
0
57
0
-1
-14
0
0
0
-9
0
0
0
0
0
0
0
0
0
-32
2
0
0
7
0
0
-9
10
0
0
10
0
0
-39
0
0
0
-14
0
0
0
-1
0
0
8
0
82
0
0
32
0
0
0
0
0
89
0
-2
0
0
0
0
-5
0
0
-1
0
0
79
13
0
-32
-4
0
0
-9
6
0
3
43
0
0
0
-57
0
0
13
0
0
-7
3
0
0
37
0
0
0
-4
0
77
-1
1
0
0
19
0
0
2
0
0
0
5
-1
6
0
0
0
0
-8
0
0
5
0
0
0
55
0
0
-1
0
0
0
-5
0
0
-14
0
-5
0
-6
0
0
6
0
0
-6
10
0
0
-46
0
-3
0
47
0
0
0
0
-2
0
73
0
0
4
0
2
0
48
0
0
17
0
-46
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-43
0
1
0
0
0
0
58
0
0
0
0
0
0
-19
0
2
1
0
0
0
2
0
0
0
0
0
0
-57
0
-18
0
0
0
0
-35
0
0
0
0
0
0
-48
0
-17
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
24
0
0
0
13
-24
0
0
0
0
23
9
0
0
0
0
-23
0
0
0
0
-1
16
33
0
0
-4
0
45
-14
-2
0
-33
31
0
-42
-10
0
-2
-101
0
0
0
0
0
0
0
0
0
1
20
0
-1
-13
10
0
28
0
0
3
5
-11
0
37
-48
0
0
0
0
0
3
-112
0
0
-13
-2
0
0
33
11
0
0
0
0
0
-21
-23
43
-3
0
0
-53
-28
14
0
-43
0
0
-77
-3
2
-16
30
22
0
78
36
1
-6
1
-8
0
-9
12
0
0
1
-38
0
-76
-11
0
0
-6
-8
0
32
-6
0
9
-4
10
0
-47
-17
0
0
51
0
0
-6
-3
8
-36
0
51
0
0
2
0
0
2
0
0
-21
-21
0
-3
36
-4
0
-6
5
0
0
-11
0
0
12
52
-17
1
11
-37
0
-52
10
-6
21
-22
-19
0
58
35
0
3
-13
20
0
26
12
0
-2
28
-4
0
5
45
1
13
-12
39
0
0
-12
19
0
0
0
0
0
29
-33
5
0
-2
0
-7
-16
-1
-24
23
0
0
8
5
0
-2
-3
-26
0
-6
-4
-1
-98
-22
0
0
-11
-6
0
19
-80
-9
0
36
32
0
17
-39
0
0
-3
53
-9
-3
8
-1
0
9
36
0
-54
2
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
0
0
0
0
0
0
0
0
0
0
4
3
-5
-53
0
0
-5
0
3
-109
0
0
0
-3
0
-1
16
0
0
0
3
80
-17
0
0
-8
-16
-86
1
-5
0
0
28
0
0
0
0
0
0
0
0
0
-4
-14
-14
25
-28
0
-92
-6
-17
-3
-4
-3
5
-139
89
-5
0
-2
83
31
-46
0
10
-2
0
-85
-90
-141
0
10
76
0
-5
0
-1
0
19
11
12
0
0
0
-6
-21
0
0
-54
0
14
-75
3
0
66
-41
-9
0
-37
60
0
-8
12
-1
0
44
5
-1
0
-54
-2
-5
12
19
-2
-2
-29
-4
0
13
38
0
-34
-23
-50
0
0
-85
0
-2
-73
52
16
4
39
-14
40
1
-32
0
0
-17
0
0
37
1
10
-7
43
10
-2
-6
47
-49
7
14
0
0
-17
0
-30
-1
7
-4
-6
0
-9
-21
-13
-44
59
0
-1
13
3
-14
-60
0
86
-12
-46
-32
5
-33
-3
-20
24
49
-21
6
-27
-1
0
5
19
-128
0
35
0
0
0
-2
5
0
13
3
0
0
0
0
-13
-17
0
-16
10
-4
3
1
-50
13
-7
-64
45
-14
-3
2
-2
14
35
99
0
-5
-1
0
24
120
42
1
6
-33
-13
16
20
2
0
-1
4
11
-14
-3
0
1
0
-118
-9
-57
0
0
-29
0
-28
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
10
0
-1
0
4
-6
0
3
-32
0
0
0
-3
0
6
-5
0
0
0
0
40
1
0
0
14
39
-17
59
14
0
4
21
13
0
0
0
0
0
0
0
0
-2
-20
7
-2
45
0
0
-11
-19
0
-5
25
45
3
8
0
-11
3
23
0
-16
-8
29
0
0
-33
-18
-56
0
3
5
0
0
0
0
0
-17
4
-3
0
0
0
8
19
-1
-3
-22
0
0
-25
7
0
-19
-16
0
0
5
8
-1
11
-60
0
0
-32
-58
0
-1
62
-31
15
30
1
0
0
58
-7
0
23
0
7
-3
34
-9
0
-20
-48
0
0
-3
-1
6
-2
-84
19
31
5
-1
0
0
-62
2
0
0
0
0
3
50
23
2
1
-4
-3
-2
5
4
14
-68
4
0
4
-13
35
-11
-129
49
0
9
26
4
3
-64
-13
0
-5
25
-9
-32
-76
0
0
-1
0
0
0
-10
8
14
0
-65
0
0
0
5
-14
0
21
0
4
0
0
-13
0
-10
0
0
0
0
0
6
-10
-5
-30
-7
0
4
7
14
0
-2
5
-5
0
0
-99
3
14
24
0
0
0
-15
0
24
14
-33
0
0
-37
0
-52
-11
0
0
-9
0
0
15
6
-6
0
0
20
0
-10
0
0
0
0
-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
-56
0
0
-1
0
0
119
0
0
0
0
0
-9
1
0
0
0
0
-9
0
0
0
5
0
0
71
0
0
0
46
0
0
0
0
0
0
0
0
0
81
0
0
0
5
0
-4
-13
2
0
0
85
0
-1
-16
0
0
0
-8
0
0
0
4
0
0
0
0
65
0
0
0
0
0
0
0
0
35
-1
2
0
0
0
10
-57
0
0
-9
0
0
-9
-35
0
39
-50
8
0
-1
-7
0
0
37
0
0
-15
-56
0
0
47
1
0
1
54
0
0
4
0
0
0
11
0
-39
13
0
0
0
-45
0
0
0
0
0
0
32
5
3
0
2
0
0
27
0
0
0
0
0
0
95
0
0
-3
-6
8
0
-47
0
0
-6
0
0
0
-14
0
0
-10
0
0
-3
-38
0
0
-2
0
0
0
27
0
0
-2
-3
-1
0
-28
0
0
0
0
0
0
-5
0
0
1
0
0
0
59
0
0
0
0
0
0
-3
18
0
0
0
0
0
21
0
-3
-5
0
0
0
-43
0
0
0
0
0
0
-7
0
48
4
0
0
0
17
0
0
1
0
0
0
-9
0
47
0
0
0
0
16
0
-1
0
6
0
0
-3
0
1
0
0
0
0
-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
7
0
0
-1
0
0
16
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
-3
0
1
-33
-1
0
0
25
0
0
0
0
0
0
0
0
0
-65
1
0
0
-4
0
10
3
0
0
0
0
-8
-2
-14
-3
0
0
4
0
1
0
0
0
0
3
0
9
0
5
0
0
0
0
1
0
-50
0
5
0
0
0
0
-18
0
0
0
0
0
2
9
0
18
10
0
0
49
-10
0
0
-34
0
0
3
-43
0
0
-4
0
0
0
45
0
0
-5
1
0
6
-24
0
4
-1
0
0
0
19
0
0
3
0
0
0
-53
0
0
0
0
0
0
-34
0
0
0
0
0
0
6
0
0
0
0
0
0
-10
0
0
1
0
0
0
-74
0
0
11
0
0
0
-33
0
0
-3
0
0
1
-14
0
4
-4
-1
0
0
84
0
0
0
0
0
4
-27
0
0
0
0
-3
0
12
3
0
0
0
0
0
17
0
0
0
0
0
0
-10
0
0
0
0
0
0
21
0
0
0
11
0
8
-5
0
0
0
0
0
0
10
0
0
-1
0
0
0
33
0
4
4
-3
0
0
14
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
0
0
0
0
0
0
0
0
0
-7
0
-17
0
0
43
0
0
-12
0
0
0
0
0
0
-65
0
0
26
0
-27
-37
0
0
-19
-39
-54
-28
-18
-3
16
13
2
-48
0
0
0
0
0
0
0
-44
-71
0
-5
27
-4
-23
-69
-31
0
-3
-30
2
1
-1
26
1
0
2
-33
-24
-30
-3
-4
0
-9
13
6
0
16
-29
0
-3
32
-12
0
-4
-20
-107
-2
-25
0
12
9
0
0
-17
1
-1
-46
-1
0
-36
-39
-10
0
7
-4
0
-3
-53
4
0
14
-12
2
0
3
28
-8
-16
-9
-1
-4
-33
19
0
28
-17
0
-12
1
0
11
-13
-4
-2
0
-1
17
-7
0
-2
4
-11
0
-2
0
0
-15
9
0
-11
-11
42
45
-28
43
14
-14
-19
-9
1
-15
1
-8
-38
43
8
60
0
21
32
-51
-54
-8
54
2
14
14
29
20
-62
-14
-7
-15
9
-33
-67
38
49
2
2
0
-3
-26
9
-4
-18
0
0
-2
75
-28
0
-20
-71
0
0
-23
-44
0
-25
-12
-3
0
-8
-12
0
-24
-3
-27
6
-5
32
2
-38
0
28
34
-5
75
17
34
0
14
-59
48
3
-3
44
-13
14
-47
55
47
-21
10
0
44
10
1
-4
13
14
1
15
19
-2
23
-2
-17
15
-20
1
21
-79
0
-44
-33
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
38
0
0
-13
0
0
13
0
0
0
0
0
10
-17
0
3
0
3
-5
111
-3
0
27
0
-16
-9
32
0
-1
-73
0
6
0
0
0
0
0
0
0
-38
17
0
0
-21
0
0
-48
0
0
0
-7
-1
-18
-28
-3
0
0
-69
0
-7
-1
-4
0
0
36
0
6
0
-1
-23
0
0
0
0
0
-38
-3
0
4
0
0
-1
9
0
0
5
0
0
-25
-6
0
-1
-3
0
0
-81
-8
0
0
-2
0
0
-34
-85
0
0
-8
0
3
-2
16
0
0
-50
0
-1
86
3
0
32
1
0
0
43
-26
0
0
-2
0
-1
0
-27
0
2
0
0
0
0
-73
0
0
-1
0
0
4
67
0
0
-14
0
-6
66
7
0
7
-5
0
0
75
5
0
0
27
7
19
-5
-15
0
0
-53
0
21
-16
41
0
-8
71
0
65
5
-18
0
0
14
0
19
-2
49
0
1
-8
0
8
0
23
0
0
0
0
-2
0
27
-1
0
0
0
0
-5
25
0
-2
8
0
-3
3
34
0
0
15
3
0
0
-31
0
32
10
0
0
0
15
0
0
-14
0
-1
10
50
0
19
-1
0
0
0
-33
0
-5
-16
0
0
0
-8
0
-37
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
15
0
0
0
0
0
34
-33
0
0
0
0
75
8
27
0
18
-26
0
-54
10
0
8
-49
0
0
0
0
0
0
0
0
0
22
-7
0
0
18
-1
0
27
26
0
0
13
47
0
-66
-4
14
0
-3
0
0
65
-43
0
0
6
-54
0
0
5
9
0
0
0
0
0
-26
-21
6
-5
0
0
-6
-28
0
0
-22
0
0
80
25
0
-11
-23
-1
0
37
28
0
-6
-63
0
0
-59
18
0
0
69
103
0
32
-66
0
11
-2
0
0
27
-47
0
-123
60
-58
0
13
39
0
8
-1
0
0
0
14
6
38
0
-8
0
1
-19
5
0
5
-13
0
7
1
0
23
77
0
-5
-39
30
2
4
57
0
0
-10
26
0
23
42
36
0
-69
50
0
-1
111
-3
0
-5
-39
0
4
20
35
0
24
-47
4
1
-4
-2
0
7
25
0
25
8
-16
26
0
-14
0
0
0
0
0
0
-17
1
0
1
-2
0
4
-5
0
-23
0
0
0
0
-23
0
4
37
5
0
18
25
0
29
-2
0
0
0
-45
0
10
-16
0
0
-9
-29
0
100
18
0
0
0
-66
0
18
-18
-5
0
0
-53
0
23
-6
0
0
0
55
4
6
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
5
0
4
-27
0
0
0
27
0
0
0
0
0
0
0
0
0
15
-8
1
0
26
0
0
2
0
0
0
20
0
0
-10
0
0
0
10
0
6
0
-1
0
0
1
0
-1
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-14
0
0
-1
0
0
-10
25
0
11
4
0
0
9
46
0
0
1
0
0
-4
-12
0
1
9
0
0
0
-3
0
7
3
0
0
4
23
0
-33
0
11
0
0
-2
0
0
0
0
0
0
-51
4
20
0
0
0
0
-59
0
0
0
0
0
0
-5
0
0
0
2
1
0
22
0
0
-1
0
2
0
-53
-1
0
-7
-5
0
0
33
2
0
-4
0
0
0
-21
0
0
-8
-13
0
0
-12
0
0
-3
0
-2
0
-21
0
0
0
0
0
0
-45
0
0
0
0
0
0
14
-1
0
0
0
0
0
50
0
0
0
0
0
0
-11
0
0
0
0
0
0
22
0
-3
0
0
0
0
-1
0
0
0
-1
0
3
10
0
6
0
1
0
0
19
0
0
4
4
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
0
0
0
0
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
5
-18
0
0
23
-9
0
-25
3
1
0
-48
0
0
0
0
0
0
0
0
0
-42
4
-2
10
-1
0
-1
-20
0
0
-5
-15
0
0
-45
-4
0
0
-2
0
1
-2
0
0
0
5
-11
2
0
0
15
0
0
0
0
0
58
0
0
0
0
0
4
9
0
0
-1
0
0
0
36
0
8
-5
-8
0
22
-81
0
0
122
0
0
-5
-27
0
0
-29
0
0
15
-62
0
0
-8
0
0
-10
-2
0
51
0
0
0
0
0
0
0
9
0
-4
0
76
0
-1
0
-5
0
0
-22
0
4
-3
0
0
0
-7
2
0
43
3
-3
0
-23
0
6
-6
0
-10
0
36
0
0
-14
-1
0
9
3
-1
0
-33
0
0
-15
4
0
15
10
4
0
0
-35
0
0
6
11
-2
3
0
0
1
0
0
-45
0
-43
0
0
0
0
0
0
37
2
-1
0
0
0
0
29
0
8
-3
0
0
0
-15
0
-1
-3
0
0
0
9
0
27
-5
-2
0
0
-31
0
1
-5
-10
0
0
-20
0
29
-1
13
0
-1
28
0
0
0
-1
0
0
0
0
-16
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
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
-3
0
0
0
-4
0
19
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
2
0
0
-15
0
0
0
-3
0
0
7
0
0
0
21
0
0
0
0
0
0
0
0
-7
0
13
-7
0
0
0
0
0
-9
0
0
0
0
0
0
32
0
0
2
0
0
0
-35
0
44
5
0
0
-38
-58
0
0
11
0
0
7
92
0
0
0
-1
0
2
39
0
0
18
0
0
-2
18
0
51
8
0
0
0
5
0
0
0
0
0
0
-47
0
17
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
-1
25
0
8
0
0
0
0
-7
0
32
0
0
49
-1
0
0
44
0
0
14
0
0
-3
-28
0
8
2
0
0
6
106
0
0
-10
0
0
0
5
0
0
0
0
0
0
-49
0
0
0
0
0
0
5
0
0
0
0
0
0
32
0
0
0
0
0
0
23
0
0
0
0
0
0
78
0
-1
0
0
0
0
-2
0
-6
0
0
0
0
47
0
-4
0
0
0
0
39
0
0
-18
0
0
0
79
0
-11
0
0
0
0
14
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
-13
-3
0
30
-52
7
-76
25
2
-23
-33
-13
-57
14
-36
-54
33
8
-2
23
-1
56
28
-38
-15
-40
-22
0
0
0
0
0
0
0
-2
-4
70
-15
17
-3
5
-33
16
9
-29
-11
20
12
-29
-21
49
-43
-15
32
6
-13
8
30
-4
0
-2
2
-11
59
-55
-14
50
8
-38
100
-2
2
-78
-16
-22
-26
14
-1
112
23
7
13
3
-15
-9
38
3
2
12
-89
2
-5
20
-28
-8
-26
-55
-21
-5
-77
-91
-7
-6
79
-34
-11
4
-12
-2
-8
45
61
1
-29
-82
15
0
-20
9
-2
41
-13
-52
34
25
1
-1
-45
-21
-8
13
50
-24
0
-58
40
-14
-17
-23
-27
-3
-64
54
16
3
-27
-79
-5
-36
-27
-14
-34
-11
16
-7
20
-25
-10
-19
-63
-6
-2
45
8
3
2
3
3
-4
25
5
-17
1
-51
-23
1
-89
36
-15
-73
18
62
5
33
-16
-4
-58
20
9
-11
-60
-20
-2
24
-47
9
-1
-10
-76
-60
-26
72
-44
0
-30
-39
-44
61
30
43
6
-26
49
-33
-1
-52
1
1
40
-7
-16
70
-154
22
13
0
19
21
-36
-23
-21
-4
-61
-30
-15
-25
-13
-21
1
-4
12
-40
3
-48
-48
0
6
-35
-8
0
-48
-8
19
49
-8
-27
-88
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
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
-3
6
-69
0
0
0
-29
0
-2
0
0
0
0
0
0
0
-56
0
0
0
6
8
0
-5
0
0
0
0
0
-6
6
0
0
0
26
0
0
0
33
0
0
0
-2
2
0
0
-20
0
0
0
0
0
-13
0
3
0
0
0
-9
19
0
0
0
0
0
0
-5
0
11
-22
0
0
18
-42
0
0
15
0
0
16
-17
0
0
-1
0
0
32
-48
0
0
0
7
0
0
-47
0
-28
4
0
0
0
33
0
0
0
-3
0
0
38
-3
5
0
0
0
0
23
0
0
0
0
0
0
-30
0
0
0
0
13
0
4
0
0
1
0
-5
13
15
8
-1
15
0
-2
2
0
0
-7
13
0
0
0
-18
0
17
0
0
4
0
-93
0
0
0
0
3
0
37
0
0
0
0
-53
0
14
0
0
0
0
-3
0
-6
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-38
0
0
0
0
0
0
52
0
18
0
0
0
0
-2
0
0
0
1
0
0
33
0
23
0
0
0
0
-10
0
0
0
0
0
0
-19
0
-46
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
5
0
0
0
8
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-9
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
45
0
0
0
0
0
0
49
0
0
0
0
0
0
14
0
1
-25
0
0
4
-57
0
0
-7
0
0
0
-43
0
0
3
0
0
0
26
0
0
9
0
0
0
-2
0
-13
0
0
0
0
39
0
0
0
0
0
0
32
0
0
0
0
0
0
-29
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
-25
0
0
57
0
0
0
-25
0
0
0
0
0
0
4
0
0
0
0
0
0
-14
0
0
0
0
0
0
-11
0
0
0
0
-1
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
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
-1
0
0
0
0
-2
53
-29
0
18
-4
0
-31
-47
-4
-3
-3
-20
0
-11
-99
3
-2
-5
-2
0
0
0
0
0
0
0
0
-36
-53
-3
-14
-96
-29
0
13
14
-1
1
-43
26
0
-49
-7
0
0
-31
19
0
15
82
0
-1
9
59
0
0
-1
-18
0
0
56
0
22
28
31
-8
34
-46
0
60
-7
0
-5
-4
2
0
13
56
-7
-36
-7
-57
0
49
22
0
-1
-3
-5
0
5
-5
0
-11
-19
-43
0
-93
34
5
10
32
14
0
80
12
0
3
6
28
0
43
1
31
4
-19
-14
0
-16
-6
-23
-41
0
-44
0
0
11
-46
5
-28
0
0
87
0
-9
3
18
-7
-2
-10
13
19
55
-8
-7
0
-1
42
24
-47
63
16
0
-54
18
1
20
10
32
0
7
6
-6
17
48
-5
0
78
11
-14
17
38
-13
6
5
4
2
3
14
22
0
-2
-44
-14
25
0
-5
0
6
5
17
0
7
18
0
13
59
-1
69
33
0
0
14
37
-4
-51
-39
-2
0
-36
4
0
-17
-10
-6
0
43
-5
1
-25
68
-14
0
48
-6
45
58
-48
8
0
16
-32
2
46
-27
-71
0
0
-16
-2
29
65
0
0
0
4
-2
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
20
0
0
39
7
0
0
0
8
0
-8
-2
0
0
-2
0
0
0
0
0
0
0
0
9
0
0
-5
0
0
0
0
0
59
-3
0
0
0
0
-3
-5
0
0
0
0
0
8
1
0
3
-4
0
0
-9
27
0
0
4
0
0
-1
-59
0
0
29
-8
0
-7
3
0
0
-23
0
0
-1
36
0
0
-2
7
0
0
-8
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
5
0
0
0
0
0
25
14
0
0
-19
-5
0
0
34
0
0
1
0
-1
0
5
0
0
-1
-2
0
19
-6
0
0
-4
0
0
0
-5
0
0
9
0
0
0
0
1
0
0
0
0
0
16
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
14
0
0
0
4
0
-2
2
0
0
0
0
0
2
0
-8
0
0
23
0
5
0
0
0
0
-3
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
-32
3
13
-11
-24
65
24
-32
-10
-48
48
-9
0
-5
-2
-13
42
-4
-2
-117
23
0
0
0
0
0
0
0
-4
-2
24
-12
-8
-46
-6
4
2
-25
18
-4
-45
4
-4
-19
-1
-69
-10
53
-4
-26
-81
-67
-66
-16
-1
1
-82
-43
44
-33
-49
1
-48
42
0
56
7
1
64
-133
19
-2
-19
20
7
15
-38
6
-3
-22
13
-2
6
-80
-3
-4
6
-33
4
78
-38
-8
-2
-17
-68
-1
-18
-26
8
-4
-53
80
3
-27
-22
19
1
-44
4
4
2
-9
-12
-5
-46
-139
-14
43
3
0
-3
-33
27
-93
-12
-92
14
4
-26
-26
14
-14
-38
28
-6
-15
-59
38
-27
-2
2
0
17
24
11
-82
14
-11
3
-9
-50
-20
-9
-10
13
-2
-11
-12
6
-1
47
9
-1
-130
26
10
26
-19
4
-2
9
-6
-9
-19
-3
-22
-6
17
6
-20
11
6
-27
-4
-10
-58
-96
-7
-5
-74
-5
-2
-41
15
-41
-10
-38
-13
-17
34
-6
37
27
3
0
-31
-24
-5
5
-21
22
4
-109
-32
36
-33
-54
-23
1
-50
-14
9
30
25
23
12
-39
-5
-15
-10
3
9
5
73
-22
-31
-5
17
-47
1
-102
-9
-5
-53
-2
-14
3
31
-10
-42
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
-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
-35
0
-15
1
0
0
0
17
0
0
0
0
0
0
0
0
0
34
4
0
6
0
0
0
100
0
0
0
0
0
-2
-65
0
0
0
0
0
0
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
-9
17
0
0
-26
13
0
0
59
0
0
0
45
0
0
0
0
0
2
-30
0
0
-4
0
0
0
0
0
-3
6
0
0
0
58
0
0
0
0
0
0
-13
0
-4
0
0
0
0
-25
0
0
0
0
0
0
-22
0
0
0
0
0
0
-25
0
0
2
0
0
0
-24
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
-41
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
-2
0
0
0
0
0
0
-1
0
10
0
0
0
0
-4
0
0
11
0
0
0
-43
0
0
0
0
0
0
66
0
0
0
-4
0
0
-20
0
3
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-2
0
0
0
-14
0
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
-2
0
0
0
0
0
0
40
0
0
0
0
0
0
-22
0
0
-2
0
0
25
-37
0
0
-2
0
0
1
13
0
0
0
0
0
-6
4
0
0
-6
0
0
0
0
0
-5
2
0
0
0
49
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-74
0
0
0
0
0
0
-20
0
0
5
0
0
0
-8
0
0
7
0
0
0
-14
0
0
0
0
0
0
49
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
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
-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
14
0
18
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-14
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-53
0
0
4
0
0
0
-25
0
0
17
0
0
0
14
0
0
1
0
23
0
-7
6
0
0
0
25
0
0
0
0
0
6
0
0
0
0
0
-6
-31
0
0
0
0
0
-18
21
0
-9
-36
-2
0
-31
-95
0
0
-55
0
0
-33
40
0
2
62
-1
0
-8
-49
0
0
15
0
0
-1
-13
0
108
0
3
0
2
-50
0
0
0
0
0
0
31
6
0
0
0
0
0
-63
-1
0
0
0
0
0
-29
5
0
-1
3
0
0
80
0
0
14
0
0
0
13
0
0
-3
0
0
6
14
0
0
-38
0
0
-6
27
0
5
15
1
0
3
2
0
0
7
0
0
0
19
0
0
-1
5
0
0
117
6
0
0
0
0
0
54
5
0
0
10
0
0
-2
0
6
0
0
0
0
-7
5
0
0
0
0
0
-13
0
5
0
0
0
0
1
0
-18
11
-1
0
0
35
4
43
-11
9
0
0
5
0
0
2
4
0
0
-86
0
3
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
8
0
0
0
0
0
0
3
0
0
0
14
0
0
0
0
0
0
0
0
0
14
0
0
0
-2
0
0
0
0
0
0
-15
0
7
-43
0
0
0
0
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-55
0
0
0
0
0
4
-17
0
-14
-2
0
0
23
1
0
0
9
0
0
-1
-48
0
0
-5
0
0
10
-14
0
0
-7
0
0
0
20
0
5
0
-1
0
0
-5
0
0
0
0
0
0
-21
0
0
0
0
0
0
-53
0
0
0
0
0
0
-4
0
0
0
0
0
0
84
0
0
-1
0
0
4
-19
0
0
5
0
0
0
13
0
0
-1
0
0
0
-7
0
0
0
0
0
0
95
0
0
0
0
0
0
-16
0
0
0
-1
-1
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-20
0
0
6
0
0
0
-22
0
0
0
0
0
0
-5
0
-2
0
0
0
0
18
0
-1
0
0
0
0
-9
0
0
0
0
0
0
-18
0
3
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
-7
-5
0
0
13
-22
23
25
0
0
0
25
0
0
0
0
0
0
0
0
0
-65
1
0
0
42
0
-14
54
16
0
0
-5
45
-51
-8
1
0
0
-1
0
-4
-1
-3
0
0
-6
-11
13
0
0
2
0
0
0
11
0
0
-1
50
0
0
0
-17
36
9
6
-57
0
0
-38
-56
3
-91
-3
-2
0
-42
-31
4
5
34
9
0
-14
14
0
0
-41
4
-4
97
-26
0
5
12
0
0
18
4
-1
51
47
0
0
-7
-25
0
0
0
0
-13
0
36
83
-1
0
4
0
0
0
0
0
0
0
0
2
72
0
-9
-11
-6
0
-35
-7
-3
0
-27
0
0
-14
21
0
-1
-33
-71
0
-16
32
4
0
-64
10
-1
-11
-44
0
5
15
-29
0
0
-29
0
1
-17
-3
42
0
8
0
2
2
0
-7
0
-12
0
0
0
0
0
0
0
-13
0
-1
-1
0
0
-6
0
17
5
0
0
0
-5
0
-4
9
-3
0
0
-2
0
-2
65
-5
0
0
8
0
-7
6
-14
0
0
-13
0
-50
-55
0
0
0
-10
7
-1
13
0
0
0
-25
0
5
0
0
2
0
-11
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
5
-6
0
0
-41
7
-26
-45
-32
10
3
-75
-2
-4
0
0
0
0
0
0
0
2
30
-4
-1
4
0
18
16
-11
0
1
-35
2
-4
-14
-1
0
0
-92
24
-48
5
52
0
0
92
-107
-30
0
-3
13
0
0
6
-6
0
-48
0
48
0
2
-1
50
-38
1
8
-53
-4
51
-13
9
0
-6
-42
-23
7
31
-74
0
-2
-28
7
1
-7
-17
1
-1
0
-13
0
-81
9
0
-1
-37
9
11
-48
-20
0
17
-22
36
-2
18
-45
0
-1
-10
-5
2
0
5
31
-14
0
-30
0
-4
-116
0
0
-5
9
-2
23
3
0
0
28
-62
51
-33
-10
0
-2
34
60
25
-68
-49
2
-26
16
45
0
-24
10
0
-5
-8
2
-9
-13
41
9
-4
-43
-91
14
1
17
0
0
-14
0
-1
0
1
0
4
-68
-17
12
0
61
0
0
0
2
-2
0
26
0
5
0
0
0
0
-18
0
34
-3
0
15
0
-66
0
33
9
-13
1
-9
-81
0
-107
5
5
0
0
11
0
-7
60
21
3
-1
10
1
-18
11
-2
4
0
5
0
-2
26
14
0
0
29
0
-2
-2
0
9
0
52
-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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
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
-25
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
-1
0
0
0
6
-14
0
0
-1
0
0
9
-43
0
0
0
0
0
0
-29
0
0
0
0
0
0
-2
0
-1
1
0
0
0
-3
0
0
0
0
0
0
-46
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
-23
0
0
0
0
0
0
-32
0
10
-1
0
0
0
-7
0
0
4
0
0
0
-6
0
0
8
0
0
0
-13
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
-13
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-10
0
0
40
0
0
0
2
0
0
0
0
0
0
0
0
0
-38
0
0
0
58
0
0
7
0
0
0
74
0
0
18
0
0
0
-3
0
0
0
0
0
0
0
-6
-24
0
0
1
0
0
0
0
0
3
0
1
0
0
0
0
-26
0
0
1
0
0
17
-39
0
-85
-1
0
0
3
-3
0
0
-15
0
0
-5
22
0
0
-33
3
0
-7
-24
0
0
14
0
0
1
-5
0
-92
-7
7
0
0
9
0
0
0
0
0
0
8
0
2
0
8
0
0
-13
-18
0
0
0
0
0
18
0
0
0
0
0
3
30
0
0
0
0
13
0
-45
0
1
5
-4
0
0
-50
0
0
-6
0
0
0
-15
0
0
5
-7
0
0
-24
0
0
1
0
10
0
20
0
0
0
0
50
0
23
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
0
-6
0
0
0
0
-34
0
0
2
0
0
0
16
0
7
9
0
0
0
0
0
0
0
0
0
0
80
0
0
1
0
0
0
58
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
-1
0
0
0
8
1
26
-80
0
0
0
44
0
0
0
0
0
0
0
0
0
-78
0
0
-1
-3
0
-2
31
0
0
0
-44
0
10
-77
0
0
0
-8
0
-4
0
14
0
0
37
0
-57
0
0
1
0
0
0
0
0
-12
0
0
0
0
0
0
-70
0
0
-1
0
0
1
-29
0
4
-67
0
0
-43
46
0
0
-15
0
0
3
-42
0
0
-10
0
0
14
-134
0
0
-53
0
0
-14
29
0
81
9
0
0
0
24
0
0
0
0
0
0
74
-2
0
0
0
0
0
-23
0
0
0
0
0
0
-33
0
0
-6
0
-6
-1
-130
0
0
-1
0
0
0
-16
0
0
3
0
0
24
-85
0
0
-52
-1
-1
2
-104
0
-2
63
0
20
-2
7
0
0
-2
0
9
5
29
0
0
0
1
-14
0
-38
0
0
0
0
0
0
11
0
0
0
0
0
0
56
0
-2
0
0
0
0
-35
0
1
0
0
0
0
14
0
-5
7
0
0
0
17
0
0
50
0
0
0
-24
0
-1
31
0
0
-1
-4
0
0
4
0
0
0
-32
0
6
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
-27
0
0
0
13
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
0
0
-5
0
0
-105
0
0
0
-2
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
-55
34
0
0
0
0
0
91
0
0
0
0
0
-6
-14
0
-27
7
0
0
-11
-56
0
0
0
0
0
-3
-18
0
0
8
0
0
19
-59
0
0
4
0
0
0
1
0
20
0
3
0
0
-8
0
0
0
0
0
0
41
0
-2
0
2
0
0
43
0
0
0
0
0
0
40
0
7
0
2
0
-1
4
0
0
22
0
0
0
48
0
-1
-8
-5
0
0
8
0
0
17
0
0
-3
-50
0
0
-13
-4
0
0
40
0
0
0
0
0
0
42
0
0
-1
0
0
0
21
0
0
0
0
0
0
-13
-4
0
0
0
0
0
-14
0
4
0
0
0
0
24
0
0
0
0
0
0
-6
0
14
1
0
0
0
6
0
0
0
1
0
0
74
0
-1
0
0
0
0
14
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
-14
-3
0
0
-80
15
0
0
0
0
0
0
0
0
-5
70
18
-11
11
13
10
6
34
0
-2
62
-13
-39
-38
53
4
0
-21
5
-25
3
24
0
0
-10
22
5
0
-18
14
0
0
-1
-34
0
-1
14
-23
-1
17
0
5
-10
-2
2
52
-14
0
47
-51
2
-33
-86
51
-2
-37
33
1
0
64
9
-1
48
7
0
8
-63
-2
5
-13
16
0
0
1
-14
-4
132
-14
0
15
-48
20
14
-37
-9
2
0
21
-18
-110
0
-17
-10
16
0
16
0
0
-20
-7
0
-9
-5
0
7
45
0
-4
-14
-17
-2
-57
1
0
31
36
17
-43
35
17
11
-25
-32
-36
10
-64
-51
1
45
18
-16
9
-21
-9
0
-3
27
-50
30
21
-9
-4
0
-41
-3
-13
0
8
0
-2
-90
-32
-84
0
15
-1
46
5
58
2
0
-1
68
0
-1
-2
0
0
-14
1
62
-30
-3
9
-4
20
3
-4
-25
5
0
9
-50
1
-14
-5
3
0
14
-19
0
1
80
78
-2
-3
39
15
-45
7
-17
-26
1
-38
0
9
48
26
8
0
-17
0
29
-15
0
48
0
47
16
0
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
-4
-133
-4
1
0
0
0
0
0
0
0
54
-28
-4
9
81
2
4
-29
9
0
10
-6
52
55
-39
-7
0
0
39
3
-4
87
-24
0
0
24
-23
-42
0
6
22
0
0
0
-8
0
10
-13
18
-1
9
0
99
0
-2
-5
5
16
0
-64
-21
4
-13
9
50
0
74
-12
0
-3
21
0
0
11
-2
3
-2
-19
-3
-7
-2
15
1
1
3
-8
-1
-17
9
0
-31
3
-58
10
-15
15
0
0
46
0
47
0
-18
-11
2
0
-14
-2
0
-33
-7
0
0
-3
-8
15
0
0
0
15
2
13
6
7
0
-2
30
3
-111
63
3
-1
5
73
5
46
-76
-49
-3
-10
-17
9
-40
15
-10
2
3
-50
-37
97
20
55
0
13
8
-1
42
-46
23
0
-2
24
28
-22
0
-14
-5
0
0
-3
-2
0
-132
6
-1
0
-3
0
0
0
1
-8
7
1
1
8
10
0
-5
-52
-10
0
8
6
0
-36
23
-8
0
-1
-34
0
-7
17
39
-2
-34
37
0
-4
-41
3
50
27
-5
2
6
-18
-13
0
0
-45
0
-79
-2
0
8
0
12
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
11
0
0
0
8
0
0
0
0
0
0
0
0
0
75
0
0
0
69
0
6
0
0
0
0
43
6
0
49
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
-6
0
0
0
0
-1
-57
0
0
0
0
0
-2
84
0
-5
5
0
0
36
-2
0
0
7
0
0
4
-2
0
0
0
14
0
-1
16
0
0
-34
0
0
7
-15
0
-16
3
0
0
0
-34
0
0
0
0
0
0
5
-3
0
0
-2
0
0
-56
0
0
0
0
0
0
-71
0
1
0
0
0
0
30
0
0
0
0
0
7
-58
0
-4
-1
-1
0
0
-60
0
0
93
0
0
0
-13
0
0
0
0
5
0
-122
0
0
0
0
0
0
35
0
0
0
0
-1
0
-62
0
0
0
0
0
0
18
0
0
0
0
0
0
74
0
24
0
0
0
0
-16
0
0
0
0
0
0
3
0
-8
3
0
0
0
53
0
0
13
0
0
0
4
0
1
0
0
0
0
92
0
0
0
0
0
0
87
0
-4
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
-34
0
0
0
6
0
0
0
0
0
0
0
0
0
28
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
16
0
0
0
0
0
0
-24
0
0
0
0
0
2
0
0
6
-2
7
0
-1
-21
0
0
-14
0
0
1
-53
0
1
0
0
0
17
-17
0
0
0
0
0
0
-2
0
10
0
0
0
0
5
0
0
0
0
0
0
57
1
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
2
12
0
0
0
0
0
1
5
0
0
-2
0
0
0
7
0
0
-4
0
0
0
-3
0
0
0
0
0
0
-30
0
0
0
0
0
0
52
0
0
0
0
0
0
-22
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
-13
0
1
3
0
0
0
-5
0
0
0
0
0
0
-5
0
0
1
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
27
-9
0
-2
50
19
8
0
0
0
0
0
0
0
39
4
-73
43
49
6
-30
1
-33
27
44
25
4
15
-51
-66
-3
-9
14
-53
28
34
11
29
-1
98
18
4
-3
-67
6
0
1
38
-56
-14
17
-66
-62
0
-39
0
-75
5
19
-10
-5
1
0
-145
-23
34
-23
-130
3
1
14
-6
9
-3
44
51
0
15
9
-5
7
-5
29
3
-20
18
-4
-9
16
101
-9
-45
-4
9
1
9
-1
-24
-84
-39
-14
27
-100
28
9
0
2
2
-11
2
-2
-5
-7
-4
-55
5
1
14
26
-46
-6
-14
-43
5
-11
-46
-150
-18
5
35
21
-1
-44
-14
30
43
6
23
20
49
-39
-8
-39
-32
11
1
0
-41
12
47
-64
-13
-23
21
9
-1
0
-32
-19
-13
-67
3
-6
59
-55
-59
-93
10
-1
-6
36
-3
17
55
18
8
9
-50
-6
-4
-84
47
-27
5
35
-53
-24
32
-11
-41
5
-5
16
-63
-66
-11
16
12
15
14
-52
-92
-38
-24
23
-17
4
-1
-53
-17
-11
-35
-5
-5
-33
-27
-34
-37
3
98
-73
19
-49
-38
-2
13
19
-45
-55
-32
9
-2
-28
-28
-1
27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
-21
0
0
0
0
0
0
0
16
63
-8
14
-37
0
19
24
-16
0
0
5
0
60
8
-13
0
0
-10
0
-22
-7
-41
0
0
-34
0
-2
0
0
-83
0
0
0
-96
0
9
-44
45
-3
0
0
-86
1
4
0
23
-3
0
8
14
0
-29
-41
0
0
21
0
-1
0
-5
6
-2
-86
-4
0
0
-24
0
0
-18
-4
0
-1
8
1
66
-36
2
0
-1
-25
-1
-9
83
-20
0
0
-6
0
33
11
-3
-67
-66
4
-1
-1
0
-9
-19
0
0
0
0
-25
25
-30
9
-3
1
-16
-26
2
0
2
-4
0
4
25
-32
0
-1
10
0
-18
64
-3
-2
-10
30
-15
-11
46
-15
0
22
-8
4
-19
54
-5
0
7
57
0
-13
72
-10
0
18
-10
-4
3
0
-2
15
0
0
0
-33
0
-14
-21
0
-1
16
0
-13
-1
2
17
11
0
-19
34
-10
0
-15
-31
0
-8
1
-23
4
28
61
2
19
23
-27
2
-2
-20
-8
29
2
-18
0
33
52
5
43
0
-35
-5
0
33
0
11
0
-26
0
-78
22
0
-19
0
0
-7
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
-47
56
0
0
-43
-4
0
0
0
0
0
0
0
0
-6
22
-17
-4
23
5
0
-10
-46
20
0
-53
-153
0
-3
78
0
0
-1
-7
0
-30
33
-2
0
4
42
0
7
79
20
0
33
5
0
0
-8
42
8
0
-1
0
-7
1
-14
-5
5
0
0
-6
28
0
-12
-20
5
0
31
-53
-5
0
23
4
-1
27
-8
2
1
9
5
1
11
-4
-16
15
29
-3
0
-24
92
0
13
-53
10
0
-16
-22
0
0
-66
-1
0
-17
7
10
-42
-1
-37
0
0
-3
11
49
-1
3
0
76
-9
-1
-35
2
-63
0
39
46
-2
-2
36
-4
0
149
19
-4
11
10
-20
0
1
-20
1
7
-25
-5
0
28
-25
-6
-35
-64
28
0
28
18
0
1
2
24
-1
2
-23
1
-10
-43
-38
0
8
4
-2
-1
9
-5
0
0
17
25
25
-2
-1
0
0
37
0
-57
62
1
0
0
-18
2
25
33
2
0
14
5
17
-52
-161
30
0
4
-1
6
-37
14
-56
2
4
-42
-17
-20
-52
4
0
-9
10
0
1
104
-64
0
-1
-17
0
2
32
11
0
-4
3
26
0
14
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-33
-24
-19
-5
48
-25
3
14
16
13
-13
-41
2
13
1
14
-32
-2
-28
-19
-67
49
21
-36
-11
17
-9
6
-36
-10
-25
-24
-25
22
4
1
-56
53
38
-16
35
49
0
3
-19
37
-54
-8
-1
-49
-23
-2
-5
-23
1
-37
6
-16
26
-10
2
-9
-8
11
-32
-51
-45
-15
-37
3
-9
2
18
-11
29
-27
-22
-6
8
15
1
-15
-14
-54
-17
-16
-13
-34
43
-25
-16
-12
-62
-21
-18
68
22
7
7
-74
-32
15
-51
-80
-57
0
-26
-150
24
1
10
-56
-15
19
-6
6
-2
-2
41
-9
-78
9
-5
19
-24
-48
-23
52
-13
8
42
-1
19
4
-24
51
8
-27
60
2
-4
-5
60
13
38
54
2
-5
4
71
-22
2
11
34
8
-56
-136
-101
-16
13
5
-9
67
-10
-3
57
18
-53
-30
-120
0
32
37
27
25
-10
99
-21
23
-49
13
-29
-5
-23
2
19
-29
32
29
-39
54
49
-6
14
4
16
11
-102
-1
-13
-57
42
-25
0
70
39
17
-28
-49
-3
-2
27
-6
1
59
35
-3
18
18
-12
-47
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
17
-9
-3
1
30
0
-6
1
-13
0
0
15
-10
2
-102
-2
0
0
-6
0
-8
0
-17
0
0
31
-6
-25
0
0
0
0
0
0
1
0
-91
15
18
0
-2
0
8
-27
0
0
45
0
0
-108
0
-1
-90
9
-13
0
-47
14
0
15
-4
0
-1
17
3
0
9
41
2
6
-26
39
0
3
-18
0
0
24
-53
0
-51
11
-29
0
0
36
0
0
-2
23
33
1
64
-27
-5
0
-1
0
0
-14
15
2
4
0
0
24
3
1
0
36
0
-5
-80
0
0
0
-46
5
-3
25
31
2
0
111
-16
1
32
71
-1
-53
-54
-5
2
-18
-4
0
34
-51
31
25
-3
-72
0
-10
19
0
16
0
-78
-21
-1
21
6
-2
0
51
0
0
0
0
0
0
16
-7
3
0
0
0
0
-23
0
1
20
2
0
-1
0
3
61
0
-6
0
-4
-19
0
-22
-19
-6
0
0
71
0
-53
33
-2
0
1
7
0
-109
-7
3
0
0
-42
0
-11
7
-1
3
0
-34
1
-7
0
0
4
0
-41
0
-3
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
58
-9
0
-1
13
0
0
4
0
0
0
-6
-10
0
-13
14
0
0
1
0
-1
0
-5
0
0
0
0
5
0
0
0
0
0
0
3
0
-21
3
0
0
3
0
0
-41
0
0
-6
0
0
2
38
0
30
10
0
0
38
24
0
0
-23
0
0
-18
-24
0
0
29
4
0
-11
-40
0
0
-8
0
0
3
46
0
19
0
0
0
0
90
0
0
0
0
0
0
-27
2
-1
0
0
0
0
21
0
0
0
0
0
0
43
0
0
0
0
0
0
29
0
0
-6
0
-3
0
42
0
7
-3
24
0
3
15
0
0
68
0
0
0
5
0
0
2
-5
0
0
-5
0
0
0
0
0
0
26
0
-2
0
0
0
0
-33
0
0
0
0
0
0
71
-5
-1
0
0
0
2
-5
0
3
0
0
0
0
36
0
-1
0
3
0
0
-25
0
19
3
0
0
0
44
0
0
0
0
0
0
-2
0
44
-1
0
0
0
-18
0
0
0
-2
0
0
-49
0
0
0
0
0
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
-146
-23
4
0
48
0
0
39
0
0
0
-22
-6
24
-20
0
0
0
0
0
0
0
-2
0
0
8
0
-43
0
0
-5
0
0
0
-2
0
-5
-4
1
6
0
0
0
-39
0
0
-1
0
0
14
32
0
46
-11
0
0
7
97
0
0
12
0
0
-5
21
0
0
-16
-3
2
-24
-13
0
15
4
0
0
3
5
0
-20
53
1
0
0
-40
0
0
0
0
0
0
13
-3
0
0
0
0
0
72
-1
0
0
0
0
0
-88
-6
0
0
4
0
-4
-6
0
0
25
9
0
-5
18
2
0
-80
0
0
0
-48
0
2
-110
-3
0
0
-9
0
0
39
2
-19
0
67
0
0
-3
0
0
0
0
0
0
0
0
-1
0
-32
0
0
0
0
0
0
7
0
0
0
0
0
0
-12
-1
-6
0
0
0
0
78
0
0
0
0
0
0
-116
0
-39
-33
0
0
0
-37
0
0
10
0
0
0
90
0
-6
0
0
0
0
-57
0
0
-2
-8
0
0
-56
0
2
2
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
0
0
0
0
0
0
0
0
2
-33
-1
9
4
-53
-5
-1
13
15
3
13
8
-3
-6
12
-3
3
9
12
-13
-64
44
1
0
-14
-3
-19
0
-19
-62
0
-5
-19
-21
-19
-9
-53
-13
23
13
-1
31
-1
27
38
-2
6
-21
1
0
33
-9
47
-32
0
-10
-9
5
-35
7
-6
0
26
13
-8
39
17
47
29
2
6
51
28
11
-8
-25
13
-6
9
-9
-8
-20
-22
42
3
7
0
18
-14
-92
-13
-9
18
-12
13
17
4
-20
3
-40
9
-14
27
47
-42
-51
-5
-45
39
81
-1
-63
-3
-21
-3
46
14
-6
2
1
-44
28
24
-12
72
14
-16
-5
26
15
4
-34
1
2
-20
-55
8
12
9
-11
-15
5
-4
25
-42
-28
46
6
74
0
11
-10
1
5
-8
-11
-4
16
-21
-33
-30
-15
-2
-60
-21
-78
-12
15
14
85
-18
-57
47
-20
-27
26
-36
-81
71
22
42
-73
-3
-14
-39
43
21
-5
-14
-5
36
-19
47
2
-13
-5
-19
5
62
-30
-2
-35
-5
-3
-3
38
26
9
-20
-3
-1
0
-60
-26
41
-1
10
-4
76
-6
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
20
0
11
-4
0
0
-8
-3
-4
0
-1
0
-1
28
-7
0
0
15
0
0
0
0
0
0
-10
0
-26
0
0
15
0
0
0
0
0
45
0
15
0
0
0
41
13
0
0
-3
0
0
-16
5
0
75
-1
0
0
-8
-2
0
0
-10
0
0
7
-7
0
0
17
0
0
-5
2
0
0
-19
0
2
-1
19
0
-28
16
0
0
0
-82
0
0
0
0
0
0
73
-1
11
0
0
0
0
-40
0
0
0
0
0
1
-32
0
0
1
-6
0
-4
-4
0
0
-4
0
0
0
16
0
0
-6
0
0
0
-80
0
0
22
0
0
0
-20
0
1
-5
0
7
-2
-63
0
0
1
0
13
0
3
0
0
0
0
-2
0
-38
0
0
0
0
0
0
3
0
0
0
0
0
0
-61
0
-25
0
0
0
0
-33
0
0
4
0
0
0
-5
0
0
-5
0
0
0
1
0
-1
-5
-10
0
0
-53
0
-5
0
-3
0
0
-28
0
4
-1
0
0
0
-39
0
2
1
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
68
6
0
5
5
0
0
-9
0
0
0
2
0
0
-53
-11
0
0
9
0
0
0
10
0
0
16
-2
0
0
0
1
0
0
-1
0
0
11
-9
0
0
0
0
2
-32
0
0
8
0
0
3
-1
0
-18
-8
7
0
87
13
0
0
-29
0
0
-23
-75
0
0
62
10
0
1
-26
0
0
-31
0
0
2
-28
0
-7
-6
-8
0
0
37
0
0
0
0
0
0
-13
9
-1
0
0
0
0
16
0
0
4
0
0
0
-62
0
0
8
0
0
0
-7
0
2
59
0
0
-5
-65
0
-3
27
10
0
-9
34
0
6
1
0
0
-3
-48
0
0
17
0
0
0
11
0
0
-2
0
0
0
-49
0
0
0
0
0
0
-1
0
0
0
0
0
0
33
0
0
0
0
0
0
-8
0
6
0
5
0
0
-23
0
0
1
1
0
0
19
0
32
7
-1
0
0
25
0
0
-7
-2
0
4
-76
0
9
-1
4
0
2
-3
0
0
0
0
0
0
26
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
8
7
34
11
-3
10
-3
82
2
-28
2
69
-40
-4
18
-1
-11
-1
11
2
3
-13
-44
-25
-53
108
2
20
-31
-40
-54
-14
14
1
-41
-8
0
-14
-5
-68
-9
-1
26
13
4
10
-47
-8
71
-147
1
-75
-19
-3
2
21
10
-20
43
53
22
-2
-52
-17
-10
-8
18
40
-13
-5
-13
-11
-9
17
-70
-11
-87
14
-34
-54
-62
14
-1
15
12
-18
-62
-22
49
7
-35
4
5
43
5
-23
4
-4
-44
1
38
-7
-54
-3
30
-1
-2
53
-72
-52
-4
-47
27
31
-20
-27
-47
10
-61
64
-13
4
-79
24
-5
25
14
5
57
-19
-32
2
-13
46
-31
-27
-7
21
-8
-92
-24
-14
-17
6
1
1
-32
14
57
64
32
-6
-3
-34
15
52
-8
87
38
-1
34
-27
24
-40
59
30
-6
-106
-62
13
-36
-4
-5
-33
12
-1
33
30
-62
-14
35
-45
-9
7
20
-45
37
-14
-74
17
3
-37
4
61
-2
-15
-51
-13
-8
8
-29
-12
31
6
-14
-43
33
32
-4
-19
-28
-17
86
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
69
0
0
16
-8
-9
-19
66
0
0
-49
-3
0
4
-62
0
0
-20
-32
31
0
0
14
0
0
5
31
0
20
-2
18
9
4
0
4
-4
0
0
30
4
19
-62
26
0
41
-95
-25
-4
21
16
3
-14
-6
2
4
0
0
-24
-6
-21
-1
3
114
-4
4
-1
14
-10
-10
-36
18
0
28
26
44
19
80
13
0
0
4
0
2
0
2
-45
-54
0
-2
0
0
3
7
-1
-3
-7
0
14
-24
-3
-1
-34
-7
32
-34
21
-3
3
13
0
3
-58
13
-13
15
-14
-6
-5
-130
0
8
-36
-107
-5
7
31
46
2
5
12
-18
2
0
-26
0
11
-26
13
-102
6
1
0
43
-29
6
-21
0
-5
4
2
0
-9
0
-2
24
26
3
-9
0
0
0
24
-2
65
-5
8
33
18
-24
0
78
24
-14
0
15
-38
0
23
23
-14
0
35
0
-6
-32
4
11
0
0
12
1
-8
53
-3
3
-3
-13
4
-16
30
21
-3
0
-28
0
-23
9
14
6
0
-27
24
3
-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
-13
-6
0
0
2
0
0
14
18
0
0
-14
0
0
18
0
0
0
0
0
15
0
-4
7
0
0
0
-1
0
5
0
-6
9
0
0
-1
25
0
0
15
8
0
8
23
0
56
-27
-4
0
28
60
0
0
-11
0
0
-30
85
0
0
1
-2
3
-10
25
0
0
7
-1
0
1
11
0
-34
-3
-5
0
-1
113
0
1
-4
0
0
0
-55
-11
15
0
0
0
0
-52
3
0
0
15
0
-1
12
0
0
-2
3
0
-16
16
0
0
-2
0
0
0
64
0
-5
61
8
0
3
-46
0
0
73
0
0
15
3
0
3
3
-2
0
-10
86
0
0
0
0
0
0
12
0
0
0
-1
1
0
-26
0
0
0
0
2
0
26
-5
6
0
2
0
0
-112
0
7
0
0
0
0
23
0
0
-5
-1
0
0
-24
0
9
-24
-3
0
0
-71
0
9
-14
-5
0
0
-26
0
-43
10
-3
0
0
-3
0
7
-2
23
0
0
-30
0
-29
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
-23
0
0
0
0
1
0
-46
0
0
0
4
6
-4
1
1
0
0
5
0
0
0
0
4
0
0
-10
11
-3
95
1
17
0
-4
0
-4
6
0
0
-1
-6
0
14
7
0
36
-10
5
0
61
-72
0
-3
-63
-5
0
-37
30
0
-4
3
0
0
-52
-44
0
1
14
0
0
-9
-13
0
-68
0
-2
0
0
-98
-3
0
0
0
0
0
4
45
0
0
0
0
0
32
0
0
-3
-3
0
0
-61
0
0
43
-5
-2
-1
-61
0
0
-32
-1
0
-1
-6
-7
0
5
4
0
-15
-35
4
0
17
2
0
8
47
0
1
-14
-43
0
0
6
0
11
0
17
-6
9
-45
0
0
8
0
8
0
-32
0
0
0
5
4
0
26
0
17
0
0
0
1
38
0
-6
1
0
0
-4
-69
-4
1
16
1
0
7
47
-1
-19
8
8
0
0
9
0
5
-30
-17
0
0
-52
0
30
17
11
0
0
-21
0
7
14
-4
0
0
-77
0
2
0
-1
0
0
-51
-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
-61
-38
24
2
-78
-61
40
6
-21
1
-3
44
46
-13
-14
-60
16
0
2
-62
-25
-3
-1
-34
0
-7
4
3
-5
-50
-66
-9
-5
-3
0
62
13
-4
1
-8
14
31
-18
50
74
23
19
37
-3
7
20
-53
-14
-21
11
0
55
29
-11
7
54
-35
-14
61
14
-3
37
-11
-39
13
-23
-68
0
29
50
-10
0
-14
9
0
-1
48
-1
-1
-2
19
-29
-14
0
-7
4
7
-20
-18
16
24
-3
-5
7
12
-43
-9
32
19
112
30
-20
-3
-50
-17
3
-14
-46
17
7
1
3
-46
-5
-28
19
3
-19
61
-36
50
-12
-31
-15
97
23
22
-5
32
-44
-2
4
14
-15
-95
-13
-43
19
22
-58
23
-46
5
-10
-18
11
3
-4
16
-3
-76
43
-14
1
7
0
-5
-22
-2
-63
4
-3
-24
-9
-22
14
-31
-57
107
27
41
2
-18
-68
-36
-31
0
-33
23
-15
-90
-89
-8
-3
-13
-50
3
14
-1
-3
0
24
16
13
5
-5
-20
53
-6
34
14
-57
0
-8
14
0
-6
32
-10
-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
18
0
0
0
14
0
-8
-10
13
0
0
91
0
0
8
-2
0
0
0
0
-51
0
0
-3
0
0
0
0
0
51
0
0
6
0
0
-6
36
0
0
-5
0
0
-5
28
0
-16
100
0
0
-52
-1
0
-1
-47
0
0
4
0
0
0
25
0
0
36
-25
0
0
-19
0
0
37
-62
0
14
8
0
0
4
-64
0
0
0
0
0
0
23
-5
0
0
0
0
0
35
0
0
0
0
0
0
-27
0
0
-1
0
2
27
-79
0
0
74
0
0
8
12
0
0
-68
-1
0
4
-23
0
0
-43
0
0
5
-66
0
0
0
22
0
13
-98
0
2
-13
0
0
0
-19
0
0
-8
0
9
0
-50
0
0
0
0
0
0
-39
0
0
0
0
0
0
-5
0
3
0
0
0
3
0
0
0
14
11
0
0
-26
0
-6
-4
0
0
0
86
0
-1
-1
-3
0
-3
0
-2
-45
1
0
0
0
-65
0
0
-2
0
0
0
-58
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
0
0
0
0
0
0
0
0
0
0
-3
-17
0
1
20
-6
0
9
-4
0
0
-32
-8
0
25
11
0
0
-39
31
0
0
-22
-15
0
0
0
0
-1
-5
54
-6
0
-5
0
4
-5
-4
0
-68
10
0
-41
-1
0
30
-25
-7
0
-74
3
2
1
41
0
0
63
-22
19
3
-46
23
0
39
-7
0
0
-8
6
0
11
70
0
-28
-28
14
0
43
-25
0
0
-5
14
0
0
10
10
-5
0
7
0
0
-15
-4
1
9
-10
0
-9
-3
-18
-1
45
-2
0
-33
-21
1
14
14
0
0
31
2
-8
8
50
97
0
-34
-14
0
29
2
-4
0
77
5
-1
-8
-18
23
0
4
8
-3
-2
93
0
0
0
-28
0
-3
-15
71
0
0
-33
-1
0
0
-1
0
-4
-41
-1
0
0
0
0
0
-75
0
-40
1
0
0
-15
-52
0
0
-24
1
0
15
-44
-1
-58
-50
-5
0
-49
-9
4
-11
13
-15
0
7
48
0
21
64
2
0
0
-42
-1
2
-9
31
0
0
30
0
52
-3
5
0
0
-38
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
29
-11
-25
-33
43
-3
-45
78
-1
13
-60
-88
0
18
-76
0
0
105
-75
7
-18
56
-43
6
-3
0
60
22
-13
-5
5
10
3
-53
-17
49
16
-22
4
0
-55
15
41
-62
-26
31
-4
-37
-9
0
-13
-29
19
-25
-28
-13
-35
-16
-20
77
32
29
-27
0
30
-62
-31
24
-8
1
27
-6
55
15
-30
-5
10
-80
-86
2
-58
5
0
-11
-15
30
-16
13
7
-53
-21
87
138
13
-57
6
-67
14
15
-20
-1
-48
-9
43
24
-25
100
40
-30
46
-8
45
53
5
9
-27
-37
-25
3
1
-62
-26
-14
76
-16
-45
0
-37
-71
-45
24
6
-25
-8
31
0
-25
6
0
0
5
3
0
22
-32
-1
-2
-12
1
0
1
4
0
42
33
-18
9
-3
128
4
-9
-5
50
-19
2
20
-39
13
22
-43
5
13
-6
31
-9
-36
55
19
61
19
33
22
16
-5
87
-14
-1
29
5
-23
-1
27
-124
-48
0
-10
0
33
37
10
41
7
-2
-34
27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
6
0
-31
-1
0
26
43
0
0
-17
4
-46
0
5
5
0
0
0
5
0
-29
-6
-13
-4
0
0
-26
-53
0
0
22
4
6
65
-21
0
-34
30
5
0
1
-25
-18
-2
-28
0
0
-33
-21
0
4
64
37
13
-46
0
5
1
-33
14
1
-29
63
6
-36
-31
-11
9
21
-5
0
3
-33
0
-2
0
34
-13
-4
0
1
0
0
-38
0
0
0
0
5
0
-115
-3
5
-19
-2
4
104
23
0
1
16
0
0
48
36
0
1
24
-22
2
-19
13
1
4
-25
20
41
-42
0
1
-5
14
-17
0
-18
-39
-1
-1
-9
0
-16
0
9
0
0
46
27
-43
0
-11
-23
0
0
3
6
0
62
-7
0
5
0
0
0
18
-1
45
4
0
17
-9
-14
0
-6
-37
29
0
0
-4
0
63
-34
-1
0
46
-47
0
-3
-42
-12
0
-14
0
0
41
-29
0
0
-1
-8
0
10
-8
-4
1
0
50
0
-108
-8
11
0
0
-44
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
9
-1
0
0
-20
0
0
0
-5
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
4
-102
0
0
-3
0
5
-10
-50
0
-48
46
0
0
-9
-72
0
0
-11
0
0
18
-32
0
0
10
5
0
-20
-15
0
0
-26
0
0
-9
-14
0
-14
0
13
-1
-3
-46
0
0
0
0
0
0
64
1
31
0
1
0
0
-21
0
1
0
0
0
1
25
0
0
2
0
0
-3
-18
0
0
-2
0
14
10
71
1
0
-10
16
0
1
-30
0
6
-7
0
0
-6
-51
1
17
2
2
0
-4
24
0
-2
5
0
7
0
37
0
0
0
1
-9
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
-2
0
0
0
11
0
0
-9
0
0
0
12
0
-23
0
0
0
-1
17
0
0
-2
0
0
0
3
0
0
0
3
0
0
-16
0
0
1
0
0
0
-6
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
74
-2
0
0
-3
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-33
0
4
0
0
0
0
1
0
0
6
0
0
0
20
0
-1
-7
1
0
-51
56
0
0
31
0
0
18
23
0
0
54
13
0
3
-58
0
0
-2
0
0
-2
34
0
36
0
-4
0
0
-8
0
0
0
0
0
0
-6
-5
0
0
0
0
0
-11
0
0
0
0
0
0
53
0
0
4
0
0
0
70
0
0
2
0
0
0
-13
0
0
65
-9
0
0
-14
0
0
20
0
-4
-7
-32
0
0
61
-2
0
2
-11
0
0
4
0
0
0
-6
0
0
0
-2
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
2
-1
0
0
0
-45
0
0
-11
0
0
0
15
0
0
0
0
0
0
-9
0
3
0
-3
0
1
39
0
-18
-2
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
41
-45
-98
2
26
-63
3
0
-3
8
1
-1
-16
-75
0
2
-18
-102
5
3
9
-56
26
39
0
-27
-6
-9
-1
14
58
-26
-77
14
50
-19
12
-81
-16
-16
-3
0
14
-11
-44
0
-1
-5
53
26
19
-22
-5
-16
-6
10
63
58
-15
6
28
-4
31
3
23
11
-9
-9
-4
8
14
24
-33
-46
-2
-1
-21
56
0
-15
31
-2
3
15
0
-6
31
-33
-22
-7
-41
-67
-1
-3
-82
48
0
-30
-16
-20
-9
-32
5
-5
-24
42
-39
-10
-4
62
20
71
35
23
-66
-37
-34
12
8
-12
13
4
36
12
-6
-8
4
4
-29
13
113
0
-14
24
134
25
-22
-1
-19
-35
0
-3
9
16
-3
-5
58
-21
8
47
-10
41
-17
-1
-28
-68
6
-52
-13
27
3
59
-61
-35
1
-15
6
-4
-43
19
42
3
-2
-9
43
0
-52
-18
16
-60
3
5
12
-19
43
-21
43
-15
29
-60
-56
2
-14
-1
0
17
12
-3
14
25
-7
5
-21
-10
-2
-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
-29
0
0
0
-32
0
53
-8
3
0
0
25
0
-5
0
0
70
0
0
0
8
0
-30
24
7
0
0
0
7
-16
16
0
-23
0
-3
-8
-17
0
17
73
0
0
20
-9
1
0
6
15
0
-36
-50
-1
0
11
0
0
-13
-82
11
0
-11
7
-2
56
-129
4
24
-3
2
0
7
8
0
0
1
0
33
0
16
-14
-5
0
0
0
6
5
0
0
0
0
0
2
4
0
0
20
0
90
-15
36
0
-2
51
0
7
-44
30
0
-26
36
2
3
-39
-10
-1
-3
6
-3
0
-21
0
0
0
72
0
-7
34
-54
0
-1
9
0
-27
3
32
0
-1
16
0
-86
0
21
0
0
0
0
0
0
11
0
0
0
0
6
-1
-10
0
24
2
0
-2
2
-17
0
2
8
-3
0
1
-3
-2
-55
-5
5
0
0
26
4
-8
44
0
-2
0
25
0
-9
2
0
0
1
-27
0
-1
18
0
-24
-10
-19
0
-45
0
0
3
0
-14
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
24
5
0
0
17
-1
0
18
-24
0
0
4
34
0
0
32
-20
0
0
14
0
-11
0
-24
-38
-1
-8
0
15
2
0
0
-33
16
0
-49
9
-10
8
-5
-13
0
21
3
0
7
-19
-3
0
-16
6
-1
0
-3
7
0
74
-27
1
6
4
32
0
-18
15
0
-36
15
-5
0
8
3
0
0
11
15
0
0
4
28
-62
0
-37
0
0
8
-14
-1
5
-4
0
-5
15
-14
7
25
-11
0
17
15
0
-1
11
-14
0
38
-15
0
23
44
-25
0
10
-27
-30
-4
17
9
0
3
0
20
-34
-40
-19
0
59
11
0
7
75
47
0
0
-3
9
-9
43
43
3
0
-28
-2
0
2
3
0
-2
-2
32
7
1
-3
0
0
-67
-3
13
-24
3
0
5
-21
0
-2
37
1
0
-9
-2
0
20
-35
5
0
20
-57
-4
-7
2
7
0
-14
-6
2
-86
-37
-2
0
7
-34
0
-13
-65
45
0
0
-23
3
-65
-20
-1
0
0
13
-7
0
-1
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
-5
30
8
-1
0
1
-28
0
9
-47
-1
-36
20
19
17
-7
-27
-77
-33
17
5
-51
-37
99
46
-54
-37
6
-4
0
-11
23
-14
-59
-2
-7
-6
50
-4
-2
-14
0
-38
-13
-2
-8
-7
-6
9
31
-4
19
-15
7
-68
32
-77
-6
-33
4
15
1
9
-1
-12
-2
-5
21
-44
-116
0
11
4
-19
-14
-30
-3
-2
-8
-47
-10
-44
-47
-3
-7
-20
37
29
-81
-31
14
-26
5
-24
13
-6
-37
1
22
-4
70
12
55
-35
-17
10
10
-97
32
14
28
-3
-40
-6
-66
-1
-4
-37
30
-10
-9
3
54
1
-33
-13
15
-53
-22
-18
-23
-4
-61
0
8
-49
-74
-7
3
-59
0
8
-11
-6
53
-56
-34
48
-16
-19
-18
-21
25
35
-27
-12
4
-61
-47
-71
-26
15
-5
-45
-14
21
-98
-64
38
9
-22
-73
17
-24
-8
-14
-7
-24
51
-15
-23
53
-32
0
33
32
0
-54
23
-14
-25
18
52
26
53
-77
0
-31
-75
43
18
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
2
23
0
0
-11
-14
-73
0
-3
-53
0
0
0
8
5
-37
14
-6
0
0
0
-61
-31
-1
0
44
0
0
12
14
9
39
34
0
-3
-21
4
8
-3
-65
-2
0
-128
-8
0
14
1
0
-4
1
26
0
0
80
29
0
-11
0
0
47
-18
-2
11
31
3
2
10
3
0
10
5
-4
7
48
0
29
0
3
-32
7
0
0
0
0
1
-101
-23
-2
-79
13
6
5
37
13
35
72
-2
0
-16
-19
-5
11
31
-2
0
-31
-14
1
-7
38
32
-15
33
47
1
-74
-62
29
0
-29
0
9
-3
26
-5
-29
0
-13
-4
7
-7
-5
34
0
31
8
0
0
2
0
0
-93
34
-5
0
0
1
5
-16
0
-79
17
0
1
4
25
0
9
-35
-17
5
20
-67
0
43
23
-10
0
3
-12
0
-3
-39
-15
0
9
5
-2
41
37
2
0
13
0
-8
-5
-58
-27
0
14
-76
2
-35
14
0
-1
0
-42
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
5
0
5
0
0
0
0
0
0
-33
2
0
0
0
0
0
-40
0
0
0
0
0
0
-7
0
14
3
0
0
-17
29
0
0
-14
0
0
0
21
0
0
-17
2
0
0
-37
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
-9
0
0
0
0
0
0
10
0
0
0
0
0
0
-53
0
0
0
0
0
0
-8
0
0
33
0
0
0
-33
0
0
0
0
0
0
-7
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
-10
0
0
0
0
0
0
0
0
0
-4
0
0
0
15
0
0
0
0
0
0
11
0
15
2
0
0
0
-15
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
-18
0
0
1
0
0
-1
5
0
2
-2
0
0
-3
9
0
0
24
0
0
-1
13
0
0
-5
0
0
-6
-34
0
0
-3
0
0
0
-5
0
-3
-1
0
0
0
-25
0
0
0
0
0
0
-30
0
1
0
0
0
0
-73
0
0
0
0
0
0
-7
0
0
-1
0
0
0
-58
0
0
0
0
0
0
72
0
0
4
0
0
8
-14
0
0
25
0
0
0
5
0
0
6
-4
0
0
-58
0
0
0
0
0
0
4
0
0
0
0
0
0
-46
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
-1
4
0
0
0
-17
0
0
0
0
0
0
-4
0
-7
0
0
0
0
16
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
0
0
66
-10
-27
-5
8
-18
0
1
-95
-17
-2
-3
-42
43
-17
-12
1
-13
0
-8
0
-19
-1
-17
17
-11
0
-15
-2
-12
2
-55
-4
-1
13
-46
90
-19
-29
2
5
7
46
-27
8
-64
-24
-6
-3
39
43
26
79
-22
0
-14
18
-10
0
-21
13
-8
14
18
59
-22
-3
-25
43
-2
0
-17
0
5
11
23
-3
-3
-41
0
-25
-13
10
-22
-8
-63
-50
53
-10
3
-25
13
-24
-98
-38
30
-10
43
-19
2
-63
-46
-9
-46
-128
46
-63
-19
-33
-5
-20
-2
-53
19
93
-1
-5
-14
-11
19
10
27
-9
12
-43
-7
-1
-86
-29
0
-36
1
-2
0
-55
20
2
5
-23
-4
0
32
30
0
7
0
-74
-46
-17
-49
1
-19
6
-11
-32
79
-74
-31
-39
-8
-20
-53
-71
-25
-111
-15
8
-107
-53
-4
-32
5
22
-2
-25
-43
-32
41
-14
7
20
-20
-17
-5
-8
25
16
-20
26
0
-13
14
10
-51
15
-5
3
-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
11
55
0
0
0
-9
-1
0
0
-3
0
0
0
0
0
-20
-1
0
0
0
0
0
11
0
0
-5
0
0
-14
-63
0
-42
-60
0
0
-49
29
0
0
-43
0
0
23
5
0
0
15
0
0
-10
6
0
0
-19
0
0
-20
-30
0
29
-54
-4
-11
8
-55
0
0
0
0
33
0
15
0
-4
0
0
0
0
-115
0
0
0
0
0
0
-59
26
-4
0
0
0
0
22
0
1
-14
0
0
35
70
0
0
29
0
0
0
73
-7
0
-4
0
-3
5
-13
0
0
-28
0
0
19
-18
0
0
-7
0
-1
11
5
0
0
-36
1
-58
0
-4
9
0
0
0
-2
0
-41
0
0
0
0
0
0
25
0
2
-9
0
0
0
-25
0
0
-5
0
0
-1
-30
0
27
24
0
0
0
8
0
0
7
13
0
0
-72
0
-15
-8
0
0
2
55
0
0
31
0
0
0
-14
0
9
6
0
-2
0
-20
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
33
0
0
1
-28
0
0
-21
0
0
-3
-36
-7
34
0
0
-95
0
0
0
-15
0
0
44
-7
0
-19
25
23
0
-16
7
0
-1
-36
3
0
15
-13
-1
0
14
-56
0
-28
-7
0
-2
-12
0
0
-23
-2
0
-90
27
35
0
15
35
2
0
83
-1
0
0
4
4
6
0
74
0
0
-11
-9
-8
6
-4
0
-3
13
0
-10
5
1
0
-5
-9
0
0
-23
0
0
-100
3
0
5
56
11
0
28
-7
0
-4
9
-45
0
5
7
2
-21
-14
12
0
3
-9
-1
0
14
4
0
0
-33
-2
18
-83
30
0
0
-11
0
0
-1
6
0
0
1
3
3
0
0
0
1
28
0
-7
7
0
0
32
-69
0
-4
-18
-3
0
39
25
-1
-50
38
5
0
-2
-41
0
1
-30
38
0
14
-36
0
-67
-4
13
0
-4
-12
0
-1
43
28
0
0
29
-2
-99
-4
0
0
0
-44
-44
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
17
-20
-4
0
-2
0
1
4
0
0
-40
0
5
-4
3
0
-7
-75
-1
0
-20
-50
0
-1
-53
0
0
-25
-22
0
-4
13
-11
-2
1
-44
0
1
-29
0
9
3
-83
0
-75
28
-53
0
0
20
1
0
-5
-2
0
0
1
39
22
-1
-62
0
0
6
0
0
0
0
0
2
-46
6
0
5
-5
-23
2
8
0
2
31
0
-22
-15
-23
3
59
22
-9
-2
7
3
0
-6
-9
0
25
1
-9
0
0
12
53
11
0
-32
0
0
37
0
35
0
-14
0
0
-2
16
16
0
-8
0
1
0
0
-5
0
5
-5
0
0
0
0
0
16
-2
-14
-8
0
5
-7
6
0
0
7
-2
8
1
-14
0
47
20
-5
0
0
-49
0
-6
-5
-8
0
0
32
0
-38
19
0
0
0
12
0
-11
23
2
0
0
-18
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
-25
-29
0
3
-5
0
5
0
29
31
0
-2
0
-22
-43
0
0
-27
3
6
-61
-53
0
4
-32
3
0
15
-32
-7
7
-17
-7
-1
-5
3
0
0
-10
-3
0
29
3
0
0
-15
-3
3
-38
-53
0
-58
-32
33
1
45
0
-17
-3
1
-32
-6
0
-4
-2
-42
0
-19
0
0
-34
-1
1
0
13
-3
-3
2
-46
13
64
-1
55
-29
4
0
-2
-38
-2
-43
-15
-6
-20
29
-11
-26
47
82
1
43
-31
-24
-4
-23
-48
21
0
-33
18
-13
48
23
-4
-1
0
10
25
51
-2
0
0
0
-55
-55
-142
0
-29
-1
0
0
2
0
0
-1
4
-10
0
1
0
0
42
-2
-42
-33
-3
35
2
53
1
-1
24
-4
-5
9
47
0
-36
-70
-1
-13
-4
20
-3
-7
18
2
5
4
-37
0
-27
-80
-8
72
0
-4
-10
4
56
1
8
5
0
0
-21
-8
-2
-3
0
-23
-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
-25
0
0
0
0
0
0
-20
0
0
2
0
0
5
14
0
-29
-21
0
0
-2
-47
0
0
2
0
0
-8
33
0
0
-4
0
0
0
-15
0
0
-2
0
0
0
44
0
15
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
0
-1
0
51
0
0
0
0
0
0
-44
0
7
20
0
0
0
-8
0
0
-3
0
0
0
9
0
1
0
0
0
0
-34
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
16
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
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
25
0
0
0
0
0
0
-69
0
0
0
0
0
0
1
0
1
-1
0
0
-1
-5
0
0
-1
0
0
0
11
0
0
0
-11
0
0
-39
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
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-36
0
0
0
0
0
-2
0
0
0
-1
0
0
0
7
0
0
0
0
0
-1
-23
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-74
0
0
0
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
12
0
1
-47
-4
0
-16
2
11
0
1
0
35
-19
6
0
14
6
5
-32
-2
0
15
33
53
0
-46
-8
5
-1
-5
-2
0
-62
9
0
0
-8
-4
0
17
2
0
1
43
6
0
-19
-63
0
-49
9
-108
5
18
22
0
0
0
-3
16
-1
-14
-27
25
0
-34
2
0
-9
-1
0
-3
9
-14
-7
11
3
-1
2
-7
-37
31
-20
0
16
-3
-2
-10
0
16
11
2
-12
44
2
-23
20
-3
-5
-45
-33
20
71
-51
6
29
7
-35
-23
-21
-13
0
7
17
25
9
1
-53
0
-2
0
13
1
0
-64
47
0
0
2
-9
0
22
17
0
3
0
0
0
-46
0
-36
4
4
-37
0
-48
-1
7
47
-5
-9
-5
-41
1
-14
-19
-30
0
8
139
1
-9
5
-41
-77
-27
23
0
-15
1
5
-8
0
64
0
25
0
-17
0
0
-52
-5
-23
0
1
11
4
-48
23
-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
-20
-63
0
0
4
1
0
0
-58
-14
17
0
0
53
8
-2
-3
-2
0
-68
-116
-2
0
-3
36
0
-1
37
-3
-4
8
12
0
0
0
3
0
0
5
0
0
-41
0
29
7
11
7
38
5
36
0
-8
19
0
10
94
0
0
0
4
-1
30
0
2
-34
7
0
0
-9
4
8
-11
-1
-11
0
34
59
8
0
2
73
0
0
58
9
0
-9
-18
0
7
-54
-10
-18
18
-7
0
-52
-107
-6
0
46
20
27
34
17
-27
-5
-3
-8
0
-1
31
-3
2
0
-17
0
16
-25
-31
0
0
-20
0
15
3
5
58
0
-1
-2
-36
0
2
-17
0
0
0
13
0
-9
0
4
44
0
-15
5
39
21
0
128
0
38
-7
-6
0
42
-12
7
-7
7
-10
-4
3
29
0
17
34
1
-1
-72
15
-7
-7
6
18
0
8
6
0
15
7
-19
0
28
0
0
12
0
13
44
-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
-36
-93
0
-1
-16
0
7
4
5
-63
32
2
0
-27
-1
-1
0
1
23
0
-16
25
1
-25
3
-30
0
18
-4
7
-11
-33
-17
0
44
8
4
-21
-15
-32
0
77
3
0
-3
-5
-66
0
21
13
-4
-2
7
5
0
6
3
-23
1
-22
-99
0
0
7
-59
-114
-8
-118
0
-14
6
-10
2
-68
-60
0
-21
-5
-11
19
20
17
0
34
-4
-10
-25
-13
13
0
-8
7
-29
47
25
7
1
-26
1
-51
-29
21
-76
0
32
25
-25
60
31
9
0
9
-1
46
-14
26
43
60
2
-3
43
-39
-17
-38
-1
1
-10
42
-17
-11
57
0
47
8
2
-5
-25
-44
0
-40
-1
9
-53
-2
-33
0
-27
-20
16
24
-17
13
0
23
16
2
-50
-6
-28
-1
-71
-21
-20
42
12
12
0
-17
-21
22
-66
40
-16
0
24
15
3
79
60
29
-4
11
6
3
-4
17
-20
-7
0
18
3
-54
-15
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
-6
0
0
0
-1
-26
0
0
8
0
0
0
22
0
0
0
0
0
0
-18
0
0
-2
0
0
0
-4
0
-5
0
0
0
0
-20
0
0
-2
0
0
0
-17
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
0
-1
0
0
0
-41
0
0
-3
0
0
0
6
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
1
0
-2
-39
-3
0
19
0
-7
-27
9
0
25
-27
0
0
-2
45
0
-2
-2
0
0
-20
11
0
0
-24
-1
0
46
-80
0
0
-50
0
5
-5
9
0
-13
76
6
1
5
4
3
0
0
-1
-5
0
0
1
16
0
5
0
0
-47
0
0
0
-4
0
0
-29
0
0
-3
3
2
0
-31
0
0
-49
0
9
-1
25
-1
20
-25
1
0
-1
-12
1
-17
5
0
3
15
-80
0
0
-23
7
-1
-8
18
3
0
-3
0
-3
0
-61
0
0
4
0
7
0
0
0
0
0
0
6
0
-6
0
0
0
0
0
0
-7
0
-1
0
0
0
0
-32
-3
0
0
0
5
0
-117
6
-31
-15
-1
0
0
-42
0
-9
9
-5
0
0
-3
0
-20
22
0
-1
0
-20
0
1
0
0
0
0
-2
0
0
0
0
-7
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
-6
-28
-1
22
-2
-3
0
78
36
0
0
-85
14
-4
-56
-12
0
35
29
74
0
33
-5
-3
6
7
-18
2
-48
-7
11
10
3
15
0
-55
35
0
0
-22
-14
8
-56
-35
0
34
7
-18
0
10
22
0
0
50
40
43
0
-5
0
27
1
-28
4
0
-6
-70
-2
0
1
0
0
-21
23
3
-21
3
-46
-53
-1
-7
26
-114
6
2
-9
-16
13
16
-67
-77
1
21
2
-5
5
-12
143
33
60
-50
-5
-4
12
12
22
-20
-3
0
4
-27
50
67
7
9
0
6
-43
26
-29
0
-90
0
5
0
4
-1
0
3
7
-6
0
0
0
0
-19
-2
-100
-5
-4
-44
0
-9
0
14
23
8
-2
-14
23
0
-55
17
16
0
-5
-26
0
24
-58
-26
0
-13
-37
2
-58
36
-87
-22
0
47
0
-2
16
5
-1
0
55
7
-65
-1
-7
-11
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
-7
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
1
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
-19
0
0
0
0
0
0
-22
0
0
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
-15
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-81
0
0
0
0
0
0
-74
0
0
0
0
0
2
5
0
-85
-39
0
0
3
-20
0
0
11
0
0
0
-22
0
0
0
0
0
-13
-51
0
0
-1
0
0
-1
5
0
-62
-1
0
0
0
18
0
0
0
0
0
0
71
0
0
0
0
0
0
-29
0
0
0
0
0
0
11
0
0
0
0
0
0
-99
0
0
10
0
0
0
-15
0
0
-13
0
0
0
-59
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
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
21
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
-6
0
10
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-90
0
0
-4
0
0
5
-12
0
-51
-60
0
0
-75
-14
0
-3
-34
0
0
27
-49
0
0
8
0
0
3
-18
0
0
-109
0
0
0
-47
0
14
53
0
0
0
-22
0
0
0
0
6
0
-48
7
0
0
0
0
0
-27
0
0
0
0
0
6
0
0
5
2
0
0
32
54
0
4
1
0
0
-7
36
0
0
-24
0
0
-11
-3
0
0
-16
0
0
0
-46
0
3
26
0
0
0
-106
0
0
-2
0
0
0
-34
0
9
-5
0
-45
0
-11
0
0
0
0
7
0
-11
0
0
0
0
0
0
7
0
2
0
0
0
0
-45
0
0
-5
0
0
0
-28
0
1
6
0
0
0
16
0
0
2
2
0
0
-21
0
-2
8
0
0
0
-57
0
0
-6
0
0
0
65
0
-29
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
3
56
-15
-3
0
0
0
7
75
-1
0
25
0
0
-12
-9
0
-28
-8
44
0
-10
-4
0
0
-31
8
0
11
3
0
11
5
-11
0
-15
9
21
-2
22
-2
0
-1
-32
0
-45
9
-74
0
0
-10
-2
0
1
1
0
0
8
54
29
0
0
0
1
29
22
0
0
0
0
-5
-31
-1
0
-29
-5
0
7
53
-1
0
1
0
0
-47
-40
5
0
66
11
0
-103
5
0
2
-14
7
0
62
-36
9
31
0
-33
0
0
9
0
0
6
0
0
2
-22
6
15
-36
0
0
0
9
-6
0
0
7
0
0
60
-5
0
-1
0
0
0
48
0
1
-4
0
0
6
-16
0
0
-27
-8
0
3
-17
0
-65
44
5
0
0
77
0
-6
-3
-25
0
0
-30
-9
44
-18
-2
0
0
-51
1
0
26
17
0
0
21
0
89
0
-1
0
0
-58
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
3
-1
0
-8
-1
0
0
4
-75
0
0
-9
0
0
5
10
0
0
25
0
0
2
5
0
0
-4
0
0
-26
53
0
30
7
0
0
0
46
0
0
5
0
0
0
14
0
0
0
0
0
0
-53
5
0
0
0
0
0
-32
0
1
0
0
0
0
-28
0
0
1
0
0
0
44
0
0
1
3
0
0
61
0
0
14
0
0
2
54
0
0
-2
0
0
0
-48
0
0
5
0
0
0
1
0
0
0
0
0
0
-52
0
0
0
0
0
0
-1
0
0
0
0
0
0
46
0
-1
1
0
0
0
-33
0
0
6
0
0
0
2
0
1
-9
0
0
0
-37
0
0
0
0
0
0
-33
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
85
0
-15
9
-7
38
-16
-15
1
-67
-5
2
-8
20
17
2
4
-51
12
-28
110
45
4
-7
4
23
28
-12
2
1
-44
16
-10
19
0
-2
-3
-5
11
-4
3
-14
42
-2
-15
-24
-6
77
28
51
3
16
-12
-60
17
-54
65
0
-35
-80
-48
54
10
24
16
-19
-20
-11
-98
1
14
4
-37
-7
5
15
-6
42
-4
-25
-37
17
-27
-89
9
-2
39
-14
6
-81
7
12
-4
54
-89
-18
-34
36
55
-16
13
3
9
33
36
37
-14
6
-15
21
-2
18
-21
-7
2
-51
123
14
-22
-50
0
-20
1
-85
-86
-111
-5
1
-61
-72
1
-25
-37
-24
6
-32
-28
-40
9
-18
8
-14
-10
17
1
3
51
-41
1
9
22
-1
-42
-31
-24
11
-15
1
-7
49
-35
-100
12
0
-11
-9
1
-35
7
-3
-19
-15
37
52
-6
-7
3
-50
-11
28
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
23
-63
0
0
13
-1
0
-44
9
0
-42
0
27
-2
9
21
0
-11
10
-10
0
-137
-59
-5
9
2
-12
-1
51
9
0
10
-64
-1
0
-34
95
0
28
4
-1
0
49
-31
0
0
7
6
25
0
50
15
-2
0
-25
2
0
-37
0
0
0
0
0
15
17
5
2
41
59
-109
-32
-3
0
20
23
-17
29
-10
-52
0
3
0
10
-1
39
-18
0
4
-25
4
16
23
19
0
37
-89
-15
-6
-3
-16
0
2
40
0
66
0
58
0
0
1
51
18
0
-1
3
-1
0
2
-1
0
4
0
-1
0
0
0
-1
-29
0
24
48
0
-3
5
61
1
-1
-4
46
0
-6
-25
0
-33
-34
-3
0
0
34
0
-11
47
-35
0
1
-37
0
-14
-69
-3
0
-1
9
-5
-4
3
-44
1
5
26
0
-6
0
0
-15
0
-1
-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
36
-51
1
0
-7
0
0
103
34
0
-22
-4
-10
0
19
26
0
-1
-41
7
0
11
-68
-1
2
-64
0
0
-1
-1
-1
-5
40
-2
0
-4
32
0
33
-139
45
0
-1
1
-6
0
13
0
8
0
21
-14
-2
0
-14
0
-1
-36
0
0
-5
4
0
-9
59
5
2
-21
-5
-20
-25
-7
0
-6
-5
0
47
-15
55
5
-9
3
12
8
9
76
14
-15
51
30
16
0
-72
0
3
-58
8
43
-18
-35
0
-3
13
11
-84
0
-68
0
1
-14
23
-32
0
20
-9
0
0
2
0
0
-48
8
0
0
0
0
4
-11
0
18
20
0
2
3
-69
0
-5
-35
14
1
0
40
0
-29
15
26
0
0
-32
0
-3
44
5
0
0
-24
0
-67
6
-7
-17
0
44
0
-7
5
0
-6
0
-25
0
-18
0
0
1
0
-14
-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
21
-15
0
0
0
0
0
-27
18
0
0
-1
0
0
-9
13
0
0
23
0
0
-6
38
0
0
13
0
0
5
-116
0
0
-42
0
0
-5
-19
0
-50
-11
18
0
0
30
0
0
0
7
-2
0
10
65
0
0
-5
0
0
-1
0
0
0
0
0
0
36
0
0
0
0
0
2
-14
0
0
0
0
1
0
15
5
0
1
-17
0
20
11
0
1
16
0
-3
0
-27
0
0
6
37
0
0
33
0
0
-2
2
6
0
55
0
0
0
1
-27
0
18
0
0
0
0
0
0
-59
0
0
0
0
0
0
-9
0
-1
0
0
-1
0
-72
0
-2
0
0
0
0
4
0
3
5
0
0
0
13
0
0
2
-7
0
-1
-21
0
36
-8
0
0
0
-79
0
11
0
0
0
0
33
0
1
0
0
-2
0
-28
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
43
-166
0
-7
-154
0
0
-28
-35
0
-1
-39
0
0
-9
3
0
0
-22
0
0
-26
-71
0
0
10
0
7
53
-9
0
-45
-2
0
0
0
-32
0
0
0
0
0
0
23
-3
-2
0
6
0
0
-64
0
0
0
0
0
4
59
0
0
-4
0
-10
2
-23
0
0
34
0
55
2
-25
0
0
-56
2
4
47
4
0
0
-40
0
-15
-10
-38
0
0
-33
-3
3
0
-12
0
0
8
0
6
0
-21
0
0
0
0
39
0
-9
0
0
0
0
8
0
5
2
0
0
0
0
6
62
0
2
0
0
8
0
34
0
0
46
0
0
0
-32
0
58
14
0
0
0
48
10
0
52
0
1
0
-22
0
71
-5
0
0
0
27
0
1
0
0
0
0
54
0
-15
0
0
-13
0
-62
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
-14
0
0
17
0
0
0
-16
0
0
0
0
0
-4
13
0
0
-1
0
0
0
-4
0
16
0
0
0
0
-6
0
0
0
0
0
0
-62
0
0
0
0
0
0
-74
0
0
0
0
0
0
-2
0
0
0
0
0
3
48
0
0
0
0
0
-7
20
0
0
0
0
0
0
-6
0
0
0
0
0
-1
-45
0
0
0
0
0
0
-41
0
0
0
0
0
0
-19
0
0
0
0
0
0
35
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
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
10
-19
2
-62
-7
0
0
-3
-41
0
24
-29
-2
0
-28
44
0
-66
-6
-10
3
68
-5
3
-77
28
0
48
23
43
-9
-11
-13
2
0
28
0
25
0
9
-4
-44
0
68
-9
0
54
17
0
11
14
0
0
14
0
2
-22
4
-5
6
-24
1
0
35
-20
-13
-11
21
3
0
2
-34
-5
13
-5
0
-10
77
-35
-23
-7
-24
1
-14
51
58
-22
-16
18
0
4
-46
-3
56
0
-44
0
-21
-10
-24
-15
0
10
24
0
0
0
-2
0
-65
-48
1
0
0
0
0
4
0
-25
1
0
-7
-5
-14
0
6
72
0
-13
-2
-23
0
112
-16
-4
0
-8
-26
0
-7
-33
-37
19
-5
-5
1
17
76
10
6
0
20
1
7
-42
17
30
0
-6
0
-30
0
1
47
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
-3
-11
-28
-31
-1
-57
18
7
-2
-34
-61
13
15
-43
14
5
-72
35
1
-33
62
12
4
-97
-63
6
28
53
-38
-5
3
-18
4
15
-39
27
-5
-85
59
-8
-34
6
8
0
-4
-14
-44
-13
69
6
-2
80
-38
-84
37
-3
-29
0
5
60
15
-25
-24
-54
2
-18
14
-1
-3
30
21
1
-18
-82
2
-32
25
34
-1
41
-61
3
-24
0
-42
2
-47
18
-3
-4
15
-36
5
48
8
-5
17
6
-5
0
-44
3
12
0
7
33
-22
-30
-4
53
29
-25
-30
10
56
-84
-33
-132
-64
-11
0
108
61
15
-84
3
-65
-3
-1
69
-47
-37
-56
32
3
-27
-5
-53
-25
-13
-42
5
-40
14
9
19
-49
-9
9
117
-4
8
-65
8
17
-4
-26
-56
-15
-10
-23
-77
6
63
-8
-17
-10
19
-4
-18
38
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
31
-23
0
0
-13
49
0
0
23
0
0
-1
49
0
0
24
2
0
69
-30
0
0
-22
0
0
15
25
0
47
32
-18
0
0
-80
0
0
0
0
0
0
-49
0
0
0
-4
0
0
-23
0
0
0
0
0
0
58
0
0
0
0
0
0
75
0
0
-1
0
0
0
34
0
0
4
0
0
-3
-42
0
0
17
0
0
0
-53
0
0
7
1
0
0
-32
0
0
3
0
0
0
5
0
0
8
0
0
0
25
0
0
0
0
0
0
32
0
0
0
0
0
0
26
0
-47
0
0
0
0
23
0
0
0
0
0
0
33
0
9
-7
0
0
0
-11
0
0
6
0
0
0
6
0
-5
0
0
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
-13
0
0
7
-16
0
0
8
0
0
-3
6
0
0
0
0
0
5
-30
0
0
10
0
0
-1
-1
0
-20
0
0
0
0
25
0
0
0
0
0
0
-21
0
0
0
0
0
0
16
0
0
0
0
0
0
-19
0
0
0
0
0
0
42
0
0
0
0
0
0
-13
0
0
-1
0
0
0
21
0
0
-18
0
0
-3
21
0
0
-1
6
0
0
54
0
0
0
0
0
0
73
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
-5
0
0
0
0
0
0
-32
0
0
0
0
0
0
-10
0
0
-2
1
0
0
11
0
0
0
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-29
-82
-14
0
-59
4
0
-5
93
-2
-2
10
1
1
-4
-59
-70
-9
5
45
-3
-15
24
8
7
19
-2
0
-12
3
-5
4
-49
3
0
5
-32
-17
53
-5
40
-34
81
0
27
0
0
-22
73
0
0
-1
-9
-6
7
2
55
45
-33
9
-51
28
3
-29
-2
0
-87
-76
11
9
51
9
35
-18
55
14
-6
-49
31
53
-52
23
25
1
21
-69
-61
-56
-23
6
-6
1
16
-2
-65
-13
2
9
-2
-33
-5
7
0
55
-4
2
0
9
32
-13
-37
36
0
2
24
0
-3
-41
24
4
29
-1
-14
1
23
0
1
-68
6
18
-47
40
-2
32
-29
10
4
16
0
5
-16
-25
-58
-5
-10
15
0
35
7
-6
43
-16
40
4
30
-69
-34
28
0
3
7
-36
-7
0
25
0
14
-90
-22
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
16
2
0
-6
42
0
0
33
71
0
0
-19
0
0
6
-50
0
0
5
0
0
-3
-22
0
0
4
0
0
0
6
0
23
0
0
0
0
-51
0
0
0
0
-3
0
60
0
0
0
0
0
0
62
0
0
0
0
0
0
26
0
0
-1
2
0
11
16
0
0
0
0
0
15
18
0
0
-6
7
0
8
0
0
0
5
0
0
2
-29
0
0
11
0
0
0
4
0
0
-1
0
0
0
-6
0
0
0
2
-19
0
-31
0
0
0
0
0
0
-16
0
0
0
0
0
0
-88
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
1
0
0
0
-11
0
-1
7
0
0
0
-8
0
0
-7
0
0
0
30
0
0
0
0
0
0
-10
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
62
0
-37
33
0
0
115
-6
0
0
9
0
0
18
-10
0
0
-19
-5
0
-31
-73
0
0
-2
0
0
-10
20
0
-55
6
-29
0
-2
-27
0
0
0
0
0
0
-42
-2
7
0
0
0
0
-86
0
0
0
0
0
0
-106
0
0
0
0
0
-10
-11
0
-3
3
0
0
0
-51
0
0
22
15
0
-14
49
0
6
-14
0
0
-11
-24
0
0
25
-2
0
-11
59
0
0
-41
0
0
0
2
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
-2
-11
0
-8
-1
0
0
0
-5
0
53
7
0
0
0
1
0
0
-1
0
0
0
2
0
-16
1
0
0
0
-2
0
0
-3
-1
0
0
8
0
-3
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
7
-57
46
-26
-44
25
0
5
2
-3
43
-79
2
6
-56
-24
-4
-3
29
6
11
-71
-5
-3
-30
34
23
16
-5
-32
-2
-3
-41
-15
-28
0
23
30
-25
0
-10
0
-2
-6
53
15
33
64
4
5
-27
-22
-49
33
32
-22
-19
30
0
-15
-18
-2
-5
22
-10
3
7
10
-14
5
13
-46
-1
87
-6
18
-71
56
-20
-2
-33
40
-21
-53
-141
-14
-2
-11
2
-4
122
0
-3
1
-36
28
4
-51
0
20
32
-14
10
0
-6
0
-14
-65
0
2
-1
8
0
-15
-9
3
14
-6
-2
-4
-2
-14
19
-1
20
1
13
-13
-1
-15
29
-3
-1
-8
5
1
10
-39
29
-8
-6
-13
8
-8
-10
0
-9
14
-15
-10
-9
5
-20
-53
0
33
6
22
-2
0
-56
0
2
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
93
13
-11
44
19
5
16
-46
9
-61
-20
9
2
34
-30
16
6
-76
-32
9
1
8
15
1
11
-43
-3
-39
-1
-17
73
42
28
-7
-54
50
37
-12
35
53
1
9
15
-33
-86
-39
11
-17
29
25
7
32
8
-160
0
-14
-24
-32
-8
-6
-46
-39
14
8
-10
77
-23
-5
-9
11
-126
-19
25
-9
45
-1
-2
-66
12
0
-97
25
0
-38
11
13
-9
17
-38
-5
-28
-42
5
-11
13
0
16
-22
-17
-10
68
8
-3
-23
-21
51
-1
-13
50
38
-29
10
83
-44
-56
-32
-90
0
-30
46
8
-87
108
-65
-15
-100
22
14
61
-39
-35
-38
-119
-25
-37
-22
-47
-45
-10
2
-56
-41
24
3
-81
-1
-15
-119
-41
18
7
13
0
25
-23
-15
14
-8
-1
19
-53
15
-33
58
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
0
0
-43
0
0
8
-11
0
0
7
0
0
5
-40
0
0
1
0
0
-2
-17
0
18
0
0
0
0
37
0
0
6
0
0
0
48
1
-1
0
0
0
0
-7
0
0
0
0
0
0
34
0
0
3
0
0
0
-3
0
0
0
0
0
0
-92
0
6
0
0
0
-2
-21
0
-1
31
0
0
0
-30
0
0
13
-1
0
0
-2
0
0
0
0
0
0
-30
0
0
0
0
0
0
-55
0
0
0
0
0
0
9
0
19
0
0
0
0
45
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-3
0
-4
-10
0
0
0
11
0
1
0
0
0
0
23
0
4
-1
0
0
0
11
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
9
-23
11
-7
24
-58
2
-13
-3
36
19
-5
-24
-92
36
5
22
-20
1
12
-50
53
32
-7
4
14
13
18
27
5
-31
-2
-14
-47
46
-7
4
-45
49
2
38
7
-4
-2
22
14
-24
-27
78
31
-16
-60
19
-1
19
8
20
6
16
3
23
-47
43
13
-5
-20
9
-14
-26
-17
11
-1
7
27
-5
49
71
-49
3
-11
-33
20
6
5
4
14
-5
-13
24
-22
13
18
-39
-87
-2
-7
-108
14
-35
26
-51
10
-33
-100
-8
-1
7
-24
5
-3
-97
53
26
11
53
-52
-41
-10
-56
-56
-16
-31
-25
57
12
-11
3
0
-20
-23
-3
-84
18
-24
-43
20
-135
-6
15
37
-40
4
33
-20
-42
-13
-5
-43
-23
29
-16
9
21
-61
-53
13
-6
30
20
32
32
2
12
-12
-18
-17
-76
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-64
41
-20
3
-15
-1
-29
-33
-29
-12
-14
-19
33
-43
-48
11
-51
-53
-6
13
-43
5
-11
-15
-53
-92
3
20
6
23
10
-33
-3
-5
-2
-20
-10
67
62
6
0
-11
-3
44
80
-7
14
-29
5
19
-14
-72
25
-29
-3
-4
-26
10
-2
26
-31
-11
-42
-69
0
-43
-55
-44
-23
109
-47
-2
40
13
-64
15
64
-55
-7
-41
-8
2
16
-14
-44
21
-9
-21
-15
8
-1
-10
2
-34
2
-1
2
-14
-1
-2
-1
10
-15
-21
37
-35
-17
-58
-11
-5
21
21
94
3
-31
19
34
25
19
13
20
-68
17
-20
1
-4
43
38
44
-5
-38
6
5
-34
-35
-54
-28
-15
-5
3
-14
-88
-30
-1
29
-16
5
-8
23
25
38
-1
-9
-25
-26
23
-43
12
0
-3
9
0
-53
-62
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
-33
10
0
-64
-21
0
0
-16
0
1
13
-15
0
8
-28
0
0
-25
-15
0
24
-50
0
8
-2
-22
0
0
-20
0
-104
0
16
-3
-18
0
0
0
-1
-10
-1
0
0
0
0
-19
13
0
10
-31
0
-6
-7
-5
0
4
1
0
17
48
-2
0
5
-56
0
43
1
-55
0
2
-19
0
18
20
-34
1
-3
12
0
27
68
-20
0
0
-5
0
11
0
-28
0
0
-30
0
0
0
20
0
0
-2
0
-7
0
18
2
0
1
0
0
0
-41
0
-3
-41
0
5
0
-8
0
0
-64
0
9
-39
4
0
43
5
0
-1
10
-76
0
22
19
0
4
-14
0
0
-28
3
0
-7
0
7
-1
0
53
0
-14
8
-38
0
20
-7
0
-58
0
17
-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
-3
-44
0
0
-5
0
0
0
-114
0
13
-2
-1
0
8
33
0
0
-5
0
0
0
-25
0
15
0
0
0
0
14
0
0
0
0
0
0
-34
5
0
0
0
0
0
-33
0
10
8
0
0
0
-4
0
-2
0
3
0
-2
27
0
0
0
0
0
-4
-18
0
0
30
0
0
7
-29
0
0
4
0
0
0
80
0
0
29
0
0
0
-96
0
0
0
0
0
0
-29
0
0
0
0
0
0
-65
9
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
-3
0
0
0
0
-4
0
0
6
13
0
0
0
0
0
0
0
0
0
-14
0
0
-1
0
0
0
-8
0
-1
0
0
0
0
22
0
0
0
0
0
0
17
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
-29
1
-39
-3
-3
-5
0
-35
11
-6
61
-23
29
27
10
21
0
-5
3
-29
16
-7
29
-45
-9
18
-51
64
0
9
-171
17
0
2
-68
1
8
5
4
-10
-44
-1
-98
4
-85
-32
-3
108
9
7
-2
30
25
-4
28
21
-51
3
33
-42
10
34
-6
18
3
4
24
1
-56
13
24
2
-9
50
-18
47
14
-1
29
-1
33
-4
-24
-32
-9
28
61
50
-77
28
33
-2
10
-70
15
27
-35
-35
-5
-44
10
-5
73
-15
-5
64
27
-16
-21
8
33
62
26
-33
52
93
-52
-32
9
-17
-5
-33
-9
17
-22
-52
-29
30
-22
6
-23
-51
-92
-22
7
6
-62
9
10
-32
-29
-5
-15
-59
-55
44
-53
4
13
-5
17
64
-44
-23
0
-14
-94
5
11
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
-58
3
59
76
-15
8
-49
4
-1
-5
-8
2
-16
78
-28
-11
35
2
-7
-6
12
-15
-24
-46
-9
-5
35
-53
-63
-11
-19
-72
-64
-4
-13
-44
3
20
-49
64
-18
-33
-48
6
68
-38
38
7
6
40
3
-30
-6
-49
27
15
-133
0
4
11
-36
-19
0
-41
-9
-84
-21
-10
-28
12
-17
-1
-77
-63
-19
9
-32
-36
-4
-1
-48
-4
-42
-19
-55
1
90
59
15
-18
10
5
16
-100
-30
-32
-36
-24
-76
0
54
44
-20
8
1
-25
32
0
-33
-30
-52
24
-58
-4
2
31
-10
32
60
-20
0
13
21
-16
60
42
-59
21
-30
9
-47
1
60
-40
-11
-3
-22
43
35
-35
47
-9
31
-69
19
1
-29
43
0
22
-17
13
1
26
5
17
106
-43
-32
31
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-85
0
0
82
0
0
-1
13
0
15
7
2
0
0
3
0
0
0
0
0
0
13
1
0
0
0
0
0
-67
0
0
0
0
0
0
101
0
1
-1
0
0
0
-25
0
0
-7
0
0
0
15
0
0
-4
0
0
0
-71
0
0
21
0
0
0
67
0
0
-32
0
0
0
-21
0
0
2
0
0
0
-19
0
0
0
0
0
0
-31
0
0
-1
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
27
0
-4
0
0
0
0
-64
0
-1
0
0
0
0
-24
0
9
0
0
0
0
14
0
0
0
0
0
0
2
0
0
1
1
0
0
127
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
-6
1
0
1
-74
0
0
0
0
-2
3
23
0
-1
17
6
0
0
33
0
0
0
0
0
0
34
23
0
0
0
0
0
7
0
2
10
0
0
0
6
0
0
-10
7
-1
33
9
0
0
-9
0
3
-2
-76
0
0
0
0
-2
-3
24
6
0
-7
7
0
4
-69
-2
0
60
-4
0
5
56
0
0
0
0
6
0
-67
0
0
0
-1
0
0
-41
9
0
0
0
0
0
40
0
0
0
0
0
0
-4
0
14
0
0
0
0
-30
0
1
0
13
0
4
44
0
5
-18
1
0
0
-71
0
0
8
37
0
-3
29
0
-38
0
0
-3
-4
53
0
0
6
1
0
0
20
-7
8
0
0
1
0
-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
-20
6
-25
-53
-6
0
-3
-4
5
17
-5
-1
-73
-53
13
-3
3
2
-16
-18
-25
-19
5
3
5
-14
-6
20
9
-11
2
-5
-60
37
24
15
19
-61
-74
-12
-22
1
74
21
37
73
-29
-10
19
7
17
-8
24
-29
-4
-34
15
-5
-5
5
-19
-6
24
-14
-6
66
-24
-14
-14
-23
14
4
-3
-9
25
32
-82
50
0
29
-16
-53
-10
-45
-21
14
1
-78
-39
-5
21
9
10
-13
-3
2
-16
19
4
-3
124
19
33
-33
-3
-37
-16
-32
-18
21
-33
26
65
29
-17
-25
-68
42
17
31
-1
0
-12
-36
0
0
41
55
-17
4
105
-6
72
65
-30
-11
14
-4
-34
36
20
-1
-5
-42
7
33
36
-55
-10
-22
-42
8
61
19
-7
-11
53
-23
-1
-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
35
-48
0
0
16
0
0
0
-13
0
0
-47
0
0
13
-76
0
18
1
-3
0
0
-69
0
0
-2
0
0
0
24
0
6
0
0
0
0
-21
0
0
0
0
0
0
-47
0
0
-43
0
3
-11
62
0
0
23
0
0
8
-43
0
5
50
0
0
0
27
0
0
35
0
0
0
21
0
0
17
0
0
0
-59
0
0
37
0
0
0
-60
0
0
0
0
50
0
-125
-2
0
0
0
0
0
1
0
0
0
0
0
0
-19
0
5
3
0
0
0
52
0
0
-8
0
0
4
-96
0
0
-14
0
0
0
16
0
0
1
0
0
0
-46
0
-1
-10
0
0
0
-26
0
0
6
0
0
0
-20
0
-5
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-28
0
0
-8
0
0
0
-5
0
-14
0
0
0
0
-43
0
0
0
0
0
0
14
-10
0
0
0
0
0
23
0
0
0
0
0
0
-19
0
0
0
0
0
0
-30
0
0
5
0
0
11
-8
0
0
0
0
0
5
23
0
0
2
0
0
0
-46
0
0
-4
0
0
0
33
0
0
0
0
0
0
14
0
0
0
0
0
0
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-5
1
0
0
0
-1
0
0
0
0
0
-10
53
0
0
1
0
0
0
-7
0
0
-3
-4
0
-5
5
0
25
0
0
0
0
-5
0
0
-3
0
0
0
46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
11
2
-6
-46
-35
-4
-1
48
-12
-66
-2
26
-3
31
-1
6
-4
-33
-6
-14
32
-40
-3
-14
9
7
20
-21
13
-6
-1
0
-10
21
8
3
26
2
-59
-24
-2
-4
-8
62
0
83
-163
-19
2
-1
-31
-24
41
32
26
-19
-9
25
5
-3
52
-11
13
30
-26
126
17
8
33
1
19
59
-39
-84
4
5
1
3
42
32
24
0
25
18
0
0
-8
-4
0
-1
-26
1
-13
-2
0
-5
11
36
19
-10
26
-46
-4
-60
-2
53
25
3
2
-14
-15
-3
-41
-25
45
8
66
16
3
-49
-21
-42
-3
-3
-34
0
-30
-43
2
39
25
7
-7
22
-6
-43
54
-32
-14
7
-157
14
18
74
-1
3
75
0
0
30
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-59
-4
-20
-78
-38
-11
-51
-7
-14
-6
-83
1
-16
-35
11
10
-49
-58
-60
-4
19
-20
12
-12
33
-2
10
53
-34
38
28
16
-15
-10
-49
27
-36
-26
-4
-14
4
-33
-14
5
-13
-22
-41
2
20
-58
6
6
-2
-58
0
-37
4
0
24
-1
-26
0
-82
25
-29
41
69
-69
-6
-30
-65
4
-57
-9
-11
-8
-21
-61
-18
-1
4
-12
10
22
-33
-96
17
-42
-44
8
-61
90
-17
-61
-7
-15
8
-4
-1
40
-2
-24
-34
10
6
-30
-4
4
90
-65
-29
-132
7
21
61
51
56
0
-3
-89
26
-41
-22
-12
7
59
-15
-25
-12
-43
34
1
32
2
-37
-4
53
-6
-3
26
-16
11
-33
13
6
7
22
-82
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
0
2
4
0
0
0
-22
0
0
0
0
0
0
-30
0
0
0
0
0
0
23
0
0
0
0
0
0
25
0
0
0
0
0
0
62
0
0
-1
0
0
0
-73
0
3
0
0
0
-4
-12
0
0
6
0
0
0
22
0
0
2
0
0
0
79
0
0
0
0
0
0
68
0
0
0
0
0
0
-61
0
0
0
0
0
0
-13
0
0
0
0
0
0
-84
0
6
0
0
0
0
-25
0
0
0
0
0
0
9
0
-1
-4
0
0
0
-71
0
0
0
1
0
0
-45
0
35
1
0
0
0
-35
0
0
1
0
0
0
76
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
64
65
0
-1
-62
0
11
0
-104
0
10
0
1
0
0
24
0
0
-7
0
-10
0
37
-3
-1
0
0
0
0
29
4
0
-1
0
0
0
11
0
0
2
0
0
17
76
0
0
16
0
0
63
27
0
-3
-55
-3
0
0
-28
0
0
33
0
-8
-2
63
0
6
-2
7
0
2
-60
0
-2
0
-4
8
0
-23
0
0
0
-1
0
0
1
6
0
0
0
0
0
-20
0
0
0
0
0
0
-44
0
-9
4
0
0
0
-70
-1
-9
-1
5
0
6
-1
0
15
0
0
0
3
71
0
3
-4
7
0
0
-14
0
17
0
0
-2
0
65
0
0
8
0
1
0
103
0
-22
1
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
17
-1
0
-9
26
0
-16
-42
-20
8
-4
6
14
-14
-5
-2
-5
-2
-34
-6
-32
10
4
35
7
0
-8
-7
3
29
19
4
18
8
15
-58
26
-58
-36
25
3
-9
15
-3
-16
3
-48
21
5
5
6
-5
-49
18
6
-11
-2
-3
-11
6
6
-10
14
7
-7
-10
-20
-52
25
92
-26
6
9
-30
51
-5
12
46
13
13
-23
-38
-5
20
0
14
-29
-2
-2
-17
17
0
9
9
-55
-3
-29
-1
-45
4
-9
-34
41
-8
7
74
26
-1
-20
9
-13
-14
-55
-14
-10
-42
-100
-16
0
-5
-34
-4
-15
-116
-97
0
-22
-8
0
25
14
46
-13
-23
14
0
20
66
-71
31
0
5
0
-39
16
9
55
0
17
6
18
-3
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
0
0
0
0
0
0
0
-78
-71
3
0
66
0
2
-61
-26
0
24
53
0
3
48
-34
4
0
1
0
49
0
4
14
-1
0
0
0
4
-2
15
-3
0
0
0
-2
13
0
5
61
0
35
25
8
0
19
7
0
-2
19
1
0
6
-43
0
-3
26
23
0
0
22
-2
-3
-56
23
0
15
-6
0
-2
46
-77
0
-4
46
0
8
0
-19
-19
102
9
0
-15
0
-14
-2
0
0
0
0
0
30
29
-3
-10
0
0
2
-18
3
-9
10
0
-23
8
57
0
-7
-10
0
-14
41
-57
0
-25
-43
0
0
3
31
0
3
68
0
0
19
-36
4
15
63
13
0
6
-20
0
-14
-3
0
7
0
-17
8
8
0
0
23
0
-32
-4
11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-51
0
0
-6
0
0
2
-31
0
53
0
6
0
0
102
0
0
0
0
0
0
81
-16
0
0
0
0
0
-66
0
0
0
0
0
0
31
3
0
0
0
0
-2
-54
0
0
-21
0
0
15
-5
0
0
47
23
0
-4
-140
0
0
-7
0
0
0
34
0
-1
55
15
0
-4
1
0
0
2
0
0
0
-43
0
0
0
6
0
0
-69
0
0
0
0
0
0
-46
1
0
0
0
0
0
8
0
3
-1
0
0
0
-15
0
-1
-4
-4
0
0
53
0
0
17
0
0
0
-2
0
0
79
-6
0
-1
64
0
-30
-1
0
0
0
-77
0
0
6
0
0
0
-34
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
0
-14
-26
-25
-71
13
6
-3
23
24
15
-4
4
12
-23
3
2
-33
1
-8
-9
-24
-14
-6
10
-14
-33
33
-34
-111
-5
29
0
-35
11
6
33
20
7
63
-2
13
72
-21
-11
-59
1
-66
-1
21
-5
18
-14
103
14
-12
-14
-17
-25
-64
109
57
-2
-2
21
-26
27
33
-20
-25
2
-22
-31
-35
16
0
-19
-14
-2
-3
0
-14
1
26
-1
60
4
-10
0
1
3
-10
-44
81
-6
-53
-20
-17
14
35
8
-41
9
5
15
3
-20
1
-34
1
10
-48
3
-9
-46
4
61
8
10
18
24
-12
-14
-1
-13
34
3
43
74
21
47
0
29
2
17
17
4
3
2
-19
-48
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-5
-8
-13
17
-7
-48
-48
-12
-3
51
20
-15
-80
-36
-5
-7
-6
-115
-41
-15
-36
1
-15
11
-33
20
45
-42
3
23
26
-21
-33
2
-24
0
-29
-33
27
6
14
30
7
41
41
1
-11
-21
-5
6
-73
-60
13
-6
33
5
0
68
-23
2
-18
-103
11
7
7
-26
44
58
-7
-26
5
29
-68
9
-13
-43
0
-5
53
-21
-29
-61
-1
13
29
-14
-4
42
10
-82
12
-5
-50
0
64
26
15
5
17
26
3
53
-39
52
51
2
21
-50
-61
-18
-40
-103
0
-28
54
-37
-36
-33
22
0
52
12
4
-49
3
8
9
2
53
-17
42
89
16
1
69
-7
-76
-9
9
7
0
-22
-74
49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
32
-7
-5
0
0
-8
0
0
-1
0
0
0
31
0
1
0
-24
0
0
122
5
0
0
0
0
0
16
0
17
-1
0
0
0
37
0
1
2
0
0
-1
-4
0
0
37
8
0
0
19
0
0
-9
0
0
0
8
0
0
-2
-3
0
-2
-75
0
0
0
0
-10
0
5
0
0
0
0
-2
0
14
0
0
0
0
9
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-20
0
0
0
0
0
0
36
0
0
2
0
0
0
-6
0
5
0
-1
0
0
-14
0
4
0
0
0
0
38
0
0
0
0
0
0
-14
0
-4
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
56
2
0
6
2
0
0
0
0
0
5
40
0
0
0
0
0
0
67
0
0
11
0
0
0
-22
0
4
-4
17
-4
19
14
0
0
0
0
-2
0
-9
2
0
0
0
0
-3
-126
0
-7
76
0
2
0
-12
0
15
0
0
-4
-4
-30
0
0
-2
0
4
0
15
0
0
4
0
22
0
1
0
0
0
0
0
0
2
2
0
0
0
0
0
34
0
-2
-2
0
0
0
66
0
0
0
0
0
-3
50
0
-5
0
0
0
0
30
0
0
3
0
0
0
44
0
-5
-4
0
0
0
50
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
16
-3
24
0
-56
-1
6
40
-3
-21
-85
36
-20
2
43
-28
-1
-28
3
-3
11
-19
-4
3
-36
-13
-51
4
80
19
-5
7
38
43
10
26
-64
-70
-36
-1
10
18
13
-27
-16
30
21
-39
-7
42
-2
-35
-63
26
37
6
14
-35
82
4
-5
5
9
0
-30
79
-14
14
8
23
6
-10
5
6
-27
15
10
3
-3
-1
80
41
11
14
30
-1
-19
-10
4
54
-14
-33
-46
14
-9
-18
104
1
14
-29
13
-23
-36
14
15
26
-54
-18
-25
3
2
13
-61
26
49
-35
-73
21
21
1
5
-51
-25
-25
-17
6
8
-38
-79
30
49
-34
3
-1
-26
-5
-59
69
0
22
-116
-6
-2
-53
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
57
0
0
-9
-21
0
0
11
0
0
0
27
-3
9
0
0
0
0
-49
0
0
0
0
0
-3
-9
-5
0
0
0
3
-4
38
0
0
30
0
2
-23
-70
0
0
-50
0
0
-1
-50
0
0
-36
0
0
0
-17
0
0
-5
-2
9
7
-7
0
4
-10
0
0
0
-8
0
-3
-4
0
-10
0
-17
-3
0
0
0
0
0
14
0
0
0
0
0
0
41
0
-7
0
0
0
-2
-17
0
-14
-11
0
0
0
-73
0
-3
-1
0
0
-1
36
0
0
14
6
0
8
-149
0
-1
-6
0
0
0
-28
0
0
20
0
0
0
48
0
3
0
0
10
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
-1
34
0
-76
-9
30
0
-3
-33
0
0
2
0
0
0
20
-3
0
0
-3
0
0
-24
0
0
0
0
0
5
-59
0
-1
36
-7
0
19
-53
0
0
-18
4
0
10
-5
0
0
124
-5
0
-16
17
0
2
31
2
0
-9
78
0
0
-16
6
0
5
-13
0
0
6
0
0
0
-52
0
0
6
5
0
0
4
0
0
0
0
0
0
-20
-6
0
0
0
0
-5
-68
0
-10
0
0
0
1
-67
0
1
13
1
0
1
34
0
25
-4
-2
0
-8
2
0
4
-27
-4
0
-8
7
0
4
5
0
0
-1
-2
0
0
0
0
0
0
-89
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
3
8
0
-23
-85
-35
3
31
0
0
-34
11
2
0
0
1
-16
-27
-18
-5
-90
35
-24
-14
-7
4
18
-29
-1
3
-6
4
0
22
-33
-15
-18
-43
-66
-27
16
-26
7
33
18
-20
20
-8
-6
24
-43
24
-43
8
5
-2
1
113
-1
37
0
-2
24
5
-5
0
-23
0
0
0
1
-8
-1
7
0
0
5
0
0
18
-23
0
4
-19
1
67
0
-22
-2
2
61
-16
-6
-9
-6
0
-68
65
2
5
-9
22
-6
-8
-46
-30
-3
-9
-46
0
22
-63
6
-6
-10
-53
0
4
-102
7
-2
0
16
0
106
-13
-5
43
0
-61
-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
-9
-14
20
-5
17
-38
34
6
-8
19
49
-3
-58
2
-5
15
-68
20
-49
-53
-8
60
1
5
-34
-63
0
-52
5
-2
-6
6
-3
3
14
-36
6
-43
-41
12
-27
-109
31
6
5
72
-10
-26
-15
-48
-14
-29
44
-2
-35
-26
89
0
-44
65
-46
26
-42
5
10
76
55
60
-66
-33
-1
-13
-1
-5
-9
-30
-6
19
16
-22
-10
2
1
0
-14
0
-80
31
2
24
-21
14
3
15
62
31
16
46
-18
1
-1
-23
29
-13
5
15
-27
-32
-45
43
-22
77
-9
2
48
34
-10
34
-45
-16
0
16
-6
18
-1
-33
4
4
96
23
25
-52
17
6
1
27
-35
19
-110
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
4
0
-22
0
0
1
0
0
0
-35
0
0
-1
0
0
0
5
0
0
0
0
0
0
27
0
0
1
-2
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-37
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
-19
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
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
12
-2
35
10
-18
4
-50
-8
-7
-19
0
-26
-25
10
25
14
-59
13
45
-14
-5
-13
-7
-24
-11
-25
-5
25
-62
1
4
-27
-19
-47
50
9
-4
-38
-9
2
29
-13
53
1
61
-46
-4
-10
5
4
20
-23
-95
14
68
14
-18
-9
0
29
42
71
-4
5
33
42
-152
-64
19
7
3
10
-39
-22
-10
19
-56
-14
-22
19
-6
-7
-103
5
-35
-14
-23
-47
-35
-27
-20
-38
-6
-14
-58
28
74
-56
-28
4
-10
46
-58
-19
-134
-52
-5
-31
74
34
-43
13
-2
10
12
50
46
112
-13
14
-16
14
-11
34
62
-18
48
17
-48
4
23
-138
-46
0
4
88
-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
0
0
0
0
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
-12
0
0
0
-6
-2
4
6
24
19
0
-67
0
-3
-9
-6
0
11
23
23
-70
6
-1
43
-16
-7
-14
52
8
1
-1
24
-17
-59
-54
4
18
9
-30
-53
-25
-69
3
-31
-13
-15
13
-10
15
-29
-2
8
71
23
-78
-44
-31
0
3
-32
14
105
6
-26
0
-8
0
-7
-35
0
-14
-3
-11
0
106
14
0
-21
-106
0
-2
43
-1
-1
-10
2
-29
-8
-3
-4
8
-1
0
-6
-18
-26
24
11
-7
4
-3
-106
37
1
5
-47
-1
-54
-79
-15
42
-10
18
0
-25
74
-20
-15
4
-21
2
55
-6
-63
-7
0
-19
-6
-80
0
25
5
0
-49
-65
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
-10
9
2
0
-35
0
33
0
4
-87
5
0
0
1
0
16
0
0
-9
0
-1
34
16
1
16
-20
-1
68
-99
16
0
-15
53
1
-63
3
-3
0
-10
-4
0
53
16
-6
0
-4
-4
8
-99
-21
0
9
-4
-32
0
-18
15
3
0
0
3
0
9
2
17
-5
-2
16
0
-33
0
-27
-16
0
7
0
2
0
1
-50
1
0
0
0
5
-42
-3
26
31
0
37
-24
44
6
4
53
0
-17
14
-13
0
-10
-46
0
1
-4
0
0
25
23
0
-33
1
-5
0
-40
15
7
0
1
4
0
-5
27
0
-14
-2
8
0
9
44
0
30
0
-68
0
-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
11
15
0
0
0
0
0
0
-92
0
-5
0
4
0
0
62
0
0
2
0
0
0
-27
0
0
5
2
0
0
9
0
1
17
0
0
14
-1
0
0
-35
6
0
44
-23
0
1
41
0
0
3
5
0
0
-50
1
0
-11
-69
0
0
-1
0
0
0
-78
0
0
-2
0
0
0
41
0
0
0
0
0
0
8
-3
0
0
0
0
0
33
0
-1
0
-1
0
0
70
0
0
-1
0
0
-5
-7
0
-6
-1
1
0
6
48
0
-2
3
-1
0
10
-56
0
-36
33
0
0
0
1
0
0
45
0
0
0
-112
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-10
0
58
0
0
-23
14
0
0
0
-4
0
-59
-2
0
-7
-5
109
2
-16
0
0
-5
0
82
10
15
23
-8
45
-16
11
4
-36
-1
-2
23
4
-9
0
-54
0
2
12
-1
-4
0
11
0
7
15
-3
-101
0
21
0
-2
-23
5
53
0
-6
-4
0
0
9
2
0
-45
-2
0
0
-7
0
0
-8
0
76
1
1
17
-2
3
-1
0
-14
-6
1
0
135
0
-100
6
0
0
0
47
0
0
-2
10
0
0
24
1
-71
63
-1
3
0
28
0
0
8
-29
-10
0
-115
0
49
0
-6
-29
0
-71
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
-18
1
8
-64
61
41
-10
29
3
-12
67
41
10
-7
-73
-2
20
-32
-41
1
6
-4
3
-60
16
-16
12
-20
6
-11
-34
54
8
11
-17
28
3
-7
-25
3
-64
-60
21
-5
70
54
15
-65
-23
-3
-1
-17
5
-1
-54
15
-20
0
-78
-2
110
-8
-24
-8
-9
-16
-48
-26
-92
57
4
3
-45
13
-53
-95
23
-20
14
4
6
77
-55
-82
30
18
13
-45
-33
23
7
1
0
-9
9
14
0
-80
-5
-15
9
12
-28
-7
18
9
-9
-69
-22
31
-25
49
-67
-18
-32
92
-16
20
3
-4
0
4
-16
44
-41
67
19
2
-24
-31
-7
-71
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
44
0
0
0
8
0
4
22
0
0
5
0
0
0
-8
0
0
0
0
0
-3
2
0
0
34
0
0
0
24
0
-1
-3
-8
0
0
43
0
0
1
0
-4
0
2
0
0
0
0
0
0
91
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
-44
0
0
0
0
0
-6
8
0
0
0
-1
0
0
-9
0
0
0
0
0
0
-13
0
6
0
0
0
0
-7
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
-14
7
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
52
0
0
0
0
0
5
-19
0
0
24
-3
0
0
8
0
0
-11
0
0
0
13
0
0
0
0
0
0
20
0
0
0
0
0
0
27
0
0
0
0
-2
0
-79
0
0
0
0
0
0
14
0
0
0
0
0
0
-14
0
0
1
0
0
0
-4
0
0
3
0
0
4
25
0
1
0
0
0
0
-1
0
0
0
9
0
0
-2
0
0
0
0
0
0
-53
0
0
0
0
0
0
-25
0
20
0
0
0
0
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
32
-50
20
0
-9
0
0
-15
-3
0
0
1
3
5
-32
-18
0
8
0
-50
-33
24
-1
-1
-16
20
-32
-45
30
-1
-4
-14
43
-10
39
43
32
0
-32
-9
31
-7
21
2
-1
-18
40
6
0
-30
0
-4
10
0
8
2
20
0
5
0
-11
6
0
-62
9
0
0
-8
-1
0
1
-14
0
0
0
0
0
-43
0
14
7
0
8
0
-7
0
-1
37
0
0
5
14
0
40
14
2
0
6
87
0
-1
-1
24
0
3
20
3
16
0
0
0
0
89
0
0
-2
0
2
0
12
0
92
0
0
-10
0
-22
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
3
-4
-1
0
0
0
0
20
0
0
0
0
0
0
55
0
14
0
0
0
13
-47
0
0
-13
0
-2
4
9
0
0
-53
0
-6
2
13
0
0
-13
0
45
5
-57
0
0
33
0
4
-3
25
0
0
-1
0
4
0
-84
0
0
82
0
-29
0
4
4
0
0
0
-11
0
-25
0
0
0
0
0
0
-30
0
0
0
0
0
0
28
0
0
0
0
5
0
-3
0
0
-2
0
0
0
52
0
-9
53
0
0
0
45
0
0
-1
0
0
0
-37
0
0
-20
0
-18
0
-50
9
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
-15
0
0
-13
4
4
0
0
0
5
15
-3
6
3
-10
0
-29
-54
0
0
-21
0
0
-8
4
8
-4
52
-35
0
32
-32
18
24
-30
-8
0
43
-69
0
9
-18
94
0
-5
24
0
-2
-43
0
0
3
-72
0
0
-72
-54
0
0
-28
-1
0
0
0
0
2
60
5
0
0
0
0
0
5
0
3
0
0
0
-2
-45
0
0
13
24
0
14
16
1
50
59
6
0
-1
5
0
-3
35
-5
0
11
-58
0
0
38
1
0
8
43
0
0
-25
7
0
0
-1
0
-24
17
0
0
0
70
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
-87
0
0
7
0
0
-1
43
0
0
14
-2
0
0
52
-3
0
3
0
0
0
3
0
0
1
1
0
0
5
0
0
0
0
0
0
18
0
0
0
0
23
0
14
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
-17
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
46
-72
97
-3
59
-29
0
4
31
6
-61
-33
62
-4
35
46
20
22
-6
-3
4
-42
-21
3
14
-30
8
1
-27
-33
4
-17
-4
14
0
3
-45
31
4
12
36
1
23
-70
-16
-13
-20
2
2
-14
49
16
61
-2
1
0
13
-35
-17
-78
94
-102
5
-19
-21
-33
42
44
-12
16
-115
17
-49
65
-13
0
-15
42
87
0
7
41
-35
-10
-64
-3
32
46
4
18
16
20
-52
-7
-1
30
-26
9
-3
-30
-13
-37
24
8
-9
-46
-30
-2
-5
41
-39
9
-5
1
25
-44
-67
9
0
80
21
63
-108
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
47
0
7
-5
-11
0
-10
-1
1
-57
-1
-18
89
20
0
0
-41
7
21
61
-27
-3
31
-113
-100
-1
16
38
2
-6
55
1
-7
14
13
0
-17
46
1
-26
-53
-19
0
-4
-19
15
33
-6
29
2
8
-71
-22
2
-4
-4
0
0
0
0
0
0
15
-25
0
0
0
-11
-1
-80
0
-33
-51
0
-14
-2
8
0
21
-39
15
-2
2
23
1
77
25
11
-1
19
-64
0
-24
-59
-54
0
-5
-13
-10
4
-40
-1
4
-6
31
-4
-2
-1
43
10
0
-52
-8
5
-3
-7
34
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
7
-39
3
-7
0
0
0
3
-6
-4
25
-5
-21
-61
-18
-19
0
0
4
-3
55
53
35
1
7
23
4
78
26
0
-2
-1
13
34
48
32
24
0
-1
34
7
-10
-8
-51
7
0
-5
-1
55
2
-38
-2
0
-85
-3
-52
0
-25
0
0
0
3
-14
-4
-14
0
0
0
0
0
4
-16
7
-14
-8
0
-1
-5
59
0
1
2
-1
7
29
-55
0
52
74
-9
1
-11
-30
0
38
-30
44
5
-29
51
0
-13
17
47
0
0
-6
0
2
10
-18
9
-2
-130
7
35
6
0
-1
0
6
-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
123
0
0
0
0
0
0
-25
0
0
0
0
0
0
-93
0
0
0
0
0
0
71
0
0
1
0
0
0
-24
0
0
8
0
5
-2
22
0
1
0
0
0
0
-17
0
0
0
0
-2
0
-9
0
0
0
0
0
0
-11
3
0
0
0
0
0
-3
0
0
0
0
0
0
19
0
3
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
21
0
0
0
0
0
0
32
0
0
0
0
0
0
-7
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
12
1
0
-11
0
-20
8
-32
15
-3
54
0
31
35
-54
-2
1
24
0
-14
6
44
4
37
-10
0
-35
-5
-58
0
-18
-2
0
16
-5
-44
7
6
-46
0
-28
11
-23
0
2
11
0
30
1
144
0
0
-1
0
14
0
24
0
0
0
0
-64
0
55
17
0
0
0
0
5
-44
0
-28
0
0
-23
-1
-44
-3
0
0
0
11
0
-9
9
-71
94
0
-2
-2
17
8
0
-3
-4
1
-3
24
0
-7
54
0
5
4
-12
0
0
49
0
-14
6
11
0
-19
1
0
-43
0
-53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-32
0
0
1
0
0
0
-60
0
0
6
0
0
-6
-27
0
0
-46
1
0
14
-27
0
0
-16
0
0
0
6
0
0
-22
-2
0
0
-64
0
0
0
0
0
0
-32
0
0
0
1
0
0
-5
17
0
0
0
0
0
30
-9
0
0
0
0
0
43
0
4
0
0
0
0
-18
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
10
0
0
0
0
0
0
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
88
0
0
-7
5
0
-7
-83
0
0
14
0
0
0
-2
0
0
0
-1
0
0
18
0
0
1
0
-1
0
13
0
0
0
0
1
0
16
0
0
0
0
0
0
-17
0
0
0
0
0
0
-14
0
2
0
0
0
0
-8
0
0
0
0
0
0
25
0
0
11
0
0
0
52
0
3
2
0
0
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
19
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
-25
-2
-80
42
15
-63
-3
30
1
30
31
11
-49
-8
28
14
28
-32
32
-26
-6
-40
-4
-47
-33
25
-89
2
2
4
62
-23
9
-11
15
71
7
-43
22
16
-45
19
22
-2
27
-61
-7
3
13
-13
16
11
25
-25
-3
-58
-6
0
-2
-36
-74
-59
-2
-14
3
3
-22
-35
-8
-44
-19
3
-5
-58
3
-29
-51
-6
7
-28
32
6
-47
2
30
-10
38
32
-14
-29
-30
33
17
-5
1
1
-39
46
-70
4
-62
-35
-24
-61
-4
-48
1
-73
-12
53
-86
-29
1
21
-37
49
-71
-71
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
3
4
15
0
24
15
0
-19
74
0
0
47
0
-5
-11
55
0
-4
30
5
0
10
-18
0
-20
8
0
1
18
-29
0
0
-80
1
6
-1
-14
0
0
-23
0
2
0
-2
0
0
-1
0
39
0
38
1
0
0
0
0
0
-34
1
0
0
5
1
0
18
0
42
-11
0
0
1
50
0
0
2
-1
0
-10
52
0
-33
-9
-1
0
3
13
0
14
-5
-17
0
0
1
2
-1
25
0
0
0
-24
0
0
0
6
0
0
-26
0
8
0
0
-10
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
4
0
0
0
0
-5
0
105
0
0
-24
0
4
0
29
0
0
9
0
0
0
83
0
0
14
0
0
1
-16
0
0
9
-7
0
0
-33
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
1
0
0
0
0
-1
0
-57
0
0
0
0
0
0
1
0
-7
0
0
0
0
3
0
0
-2
0
0
0
9
0
0
-5
0
0
0
41
0
0
-1
0
0
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
25
0
-9
0
3
0
0
-19
-3
20
6
0
29
0
0
-8
43
0
-2
43
0
3
0
-55
0
5
-7
5
-7
1
-33
0
0
8
0
14
0
30
0
2
0
1
24
0
61
0
0
0
0
0
0
-14
-5
0
0
0
0
0
-53
0
1
0
0
0
0
6
0
-3
-2
10
0
0
54
0
-8
0
0
0
0
10
0
0
2
-1
0
-1
-81
0
-3
14
5
0
0
21
4
0
0
16
0
0
18
0
-4
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
56
0
0
-9
0
26
2
-69
0
0
-13
0
-8
-9
22
0
8
-11
0
0
0
46
0
0
11
-1
5
0
31
0
0
5
0
0
0
-81
0
0
0
0
0
0
4
0
0
0
0
-14
0
-80
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
-6
3
0
-3
0
-45
0
0
16
0
0
0
5
0
4
0
0
0
0
-22
0
0
-4
0
0
0
-85
0
-25
0
0
0
0
-6
0
0
-2
0
0
0
5
0
14
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
47
-1
0
2
1
0
0
-1
0
0
-1
0
0
0
-23
0
1
0
-3
0
0
-59
0
0
-23
5
0
-1
-70
0
0
0
0
0
0
43
0
3
-3
0
0
0
-26
0
0
-3
0
0
0
-17
0
0
0
0
0
0
7
0
0
0
3
0
0
22
0
-1
0
0
0
0
-51
0
3
6
0
0
0
10
0
-5
1
0
0
0
-5
0
0
3
0
0
0
57
0
2
0
0
0
0
-62
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
54
0
9
0
58
-3
0
35
7
0
-2
65
0
10
-3
0
0
3
-10
0
4
-43
19
11
3
18
0
15
-16
0
-15
0
53
0
0
0
24
23
0
46
-9
0
0
0
0
0
57
-21
0
0
0
0
0
-5
0
80
0
0
0
0
-9
0
-3
-82
-7
0
0
4
0
39
6
-17
0
0
-54
0
9
-13
27
0
0
89
0
-38
0
0
0
0
-30
0
-19
-30
-7
0
0
63
0
-45
0
0
-6
0
-53
-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
28
-12
25
-62
-6
70
18
18
7
21
-7
13
7
53
19
4
0
33
13
8
4
-8
-3
5
-63
11
45
-62
-43
17
0
-6
-25
-72
15
-17
-3
-2
10
-33
17
-22
3
-4
-4
25
-9
20
-5
14
30
11
-10
-19
25
27
-11
0
-10
-25
-17
-5
10
-60
-6
-8
-18
27
-34
-31
-84
1
6
-67
-56
45
21
-70
-23
-26
60
-10
-6
64
59
-4
-13
1
-50
-77
69
30
-7
1
37
-13
-46
48
7
2
2
-63
53
-14
-57
-1
0
68
-60
49
43
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
4
-5
0
-3
54
0
2
33
6
-2
-14
120
0
-2
-37
0
-3
13
37
0
3
17
2
1
0
16
0
-3
6
0
-2
0
79
0
0
0
-1
9
0
-43
0
0
0
0
0
0
-71
0
-14
0
0
0
0
5
-4
-79
-1
-3
0
-3
-33
0
9
0
2
0
0
7
0
-4
-8
-5
0
0
20
0
0
-6
0
1
-7
-53
0
14
-1
-3
0
0
-2
0
0
-3
-1
0
0
-29
0
11
0
0
-1
0
123
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
0
1
10
-43
0
0
25
-3
0
7
-3
7
1
-8
-1
2
0
-4
-2
0
-17
-6
-8
0
-140
0
0
24
0
-8
0
18
0
0
3
0
-32
0
-11
0
0
0
9
3
0
-28
-11
0
0
0
0
0
-15
0
-15
0
0
0
9
0
0
1
-1
-1
0
4
-32
0
-15
-13
0
0
0
-5
0
1
5
27
0
0
-14
0
23
-7
5
24
0
-50
0
1
1
6
-17
0
-6
0
-8
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
5
-12
1
26
-3
-2
33
41
30
1
60
12
-43
5
-54
-53
-4
-19
11
-5
18
-24
-25
1
14
-35
-15
-9
70
-12
0
4
-42
6
0
3
-3
1
6
-20
47
12
-1
22
-5
0
0
0
7
0
33
-50
0
0
0
0
0
15
0
-4
10
13
-2
18
-56
4
2
67
23
0
0
16
-3
-49
62
-9
0
14
-57
0
-5
-71
16
4
-11
7
0
-26
-55
0
2
13
-17
0
-6
4
-7
8
0
-35
-7
48
3
0
72
0
9
-14
5
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
-14
-28
0
0
47
0
7
25
-15
0
2
-61
0
14
11
-77
-3
27
-47
-1
2
-5
27
0
35
-41
14
-1
-1
50
0
0
5
0
-37
0
-74
0
-2
-11
0
-13
0
-11
-1
0
0
0
0
0
-16
0
3
2
0
0
5
1
0
-56
0
0
0
3
-64
-1
3
-5
0
0
-1
-64
0
-8
21
0
0
0
35
-3
-17
4
-1
0
0
76
0
4
-65
-1
0
0
28
0
0
-31
-1
1
0
-44
0
-7
8
0
-22
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
0
0
0
0
0
0
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
0
6
38
0
0
-33
-46
7
40
-45
3
0
-4
11
6
-5
79
-6
0
-29
-58
0
-11
-52
-63
0
14
-23
0
5
-23
21
0
-14
-3
0
4
-2
35
0
0
2
0
0
0
0
0
-1
22
13
3
-4
0
0
13
1
0
-8
-87
0
0
-14
15
0
-5
29
-2
0
-10
78
0
-68
79
-7
0
8
-32
1
0
9
-73
0
0
-59
0
-28
2
16
0
2
44
0
0
-55
72
0
0
-42
0
-99
-5
5
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
60
-11
-1
24
-110
-12
-2
-81
-12
5
0
16
-34
68
16
56
0
5
0
-54
1
25
14
0
0
127
-2
1
-2
11
-2
0
26
-74
53
0
25
-3
-4
0
-3
8
0
-41
-71
0
-2
0
0
-4
23
0
-62
25
0
-4
-1
15
0
-1
14
-34
-2
-1
15
0
-44
-66
13
0
0
-41
0
-20
-42
6
-1
0
-1
1
61
-14
-1
14
0
-62
0
-6
6
14
0
0
54
4
-9
21
0
14
0
4
-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
-19
3
51
31
9
25
-8
24
6
25
11
0
-37
-58
12
2
62
59
6
-14
-92
18
13
21
-22
29
24
-21
6
1
-3
-49
4
7
0
-40
9
-44
125
-87
37
-16
7
25
33
121
54
-31
10
62
21
63
-23
46
-29
15
-78
0
-11
15
22
43
12
-64
8
-73
13
26
38
28
-9
3
28
-3
-16
8
9
39
-4
12
7
35
52
5
42
-7
-33
76
20
-15
-48
49
-1
-93
-15
-28
-25
-43
0
26
57
46
70
-71
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-9
22
0
0
4
-22
0
0
3
0
0
0
62
0
0
-5
0
0
0
-6
0
0
0
0
0
0
-15
0
0
0
0
0
0
-20
0
0
0
0
0
0
8
3
0
0
0
0
0
43
0
-5
0
0
0
0
14
0
0
5
0
0
0
13
0
0
0
0
0
0
56
0
0
2
0
0
0
49
0
6
0
0
0
0
-26
0
0
0
0
0
0
32
0
-3
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
14
-28
-10
2
27
-14
0
0
24
0
0
13
0
9
-2
26
-1
0
19
-5
0
2
-110
0
0
23
0
-2
0
63
0
0
0
-1
4
0
64
0
0
0
0
0
0
43
2
0
0
0
0
0
-20
0
33
0
0
0
0
43
0
0
6
0
0
0
-39
0
53
15
7
0
0
-56
0
0
-7
-1
0
7
-108
1
3
1
0
0
0
34
0
0
0
1
0
0
34
0
-10
0
0
-2
0
-53
-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
-46
-6
-8
-5
2
66
14
-56
18
-2
90
25
-13
6
-3
16
19
29
40
34
-85
-29
5
3
6
-59
17
-66
-9
13
0
-16
34
0
-5
17
19
-4
2
-11
-4
-2
7
50
-148
27
18
5
-3
2
-2
-20
-50
4
-5
0
9
43
0
33
-13
-45
-3
-25
-26
-1
35
-55
7
5
0
31
1
83
-40
28
-18
-4
-2
0
74
-53
-27
-61
-34
31
-1
-14
2
1
13
6
54
0
-1
-4
2
-6
0
-8
43
20
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
82
0
0
-43
0
0
-4
31
0
0
56
0
0
0
-34
0
8
23
0
4
0
14
0
0
-8
0
0
0
31
0
0
14
5
22
0
14
0
0
0
0
0
0
23
0
0
0
0
0
0
3
0
-1
4
0
-8
0
4
0
0
16
0
0
0
-26
0
-3
-2
0
0
0
-45
0
-3
15
17
0
0
-112
0
8
-4
0
0
0
36
0
0
-5
0
0
0
-49
0
3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-14
-6
0
0
-15
-6
-5
37
14
0
0
-74
3
-8
-55
-57
0
1
-1
0
0
13
0
0
0
48
0
4
-1
-44
0
0
24
-8
0
0
0
0
0
42
-3
-3
-3
0
0
0
5
0
14
-21
0
0
-2
9
0
0
-47
14
0
2
-23
0
-100
51
0
0
0
-23
-8
4
-8
-4
0
3
36
0
-29
-1
0
0
0
28
0
0
11
-15
0
0
-6
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
48
0
20
30
-6
-1
33
22
13
0
-12
12
-25
9
52
0
9
0
10
-45
-9
-9
0
0
43
-1
100
0
52
21
2
1
0
-2
0
-22
-1
0
0
2
0
8
-57
0
-20
22
25
-2
6
33
0
30
-44
-10
-1
-3
-38
8
49
-26
15
0
0
41
0
69
-78
-3
-3
3
67
0
-19
-50
1
0
2
23
0
19
54
5
7
0
17
-7
62
-5
0
8
0
7
-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
-9
8
-3
-48
-16
-45
-5
38
8
-18
-31
-1
-20
-109
-11
20
-14
-60
44
15
10
6
-6
2
59
-24
-1
-12
11
15
-35
-83
117
-10
-39
-1
17
-14
-36
126
-14
5
14
-1
-118
-78
-46
48
-32
70
11
13
24
19
-95
14
39
0
-43
17
-24
25
32
15
-1
-49
-61
-59
-21
-157
18
12
-16
-35
18
4
-19
-33
5
58
-71
24
16
-39
-94
2
-34
-11
-69
21
26
-14
33
21
-25
-62
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
103
0
0
-6
0
0
-3
8
0
16
-1
-1
0
0
-42
0
0
0
0
0
0
-20
0
0
1
2
11
0
41
0
0
0
1
0
0
-18
0
-1
0
0
0
0
43
0
-1
9
0
0
0
26
0
-8
-1
0
9
0
49
0
5
-1
0
0
0
10
0
4
-2
-1
0
0
-61
0
49
11
0
0
0
25
0
0
-7
0
0
0
39
0
1
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
2
0
20
0
13
-6
-14
1
0
41
94
-5
0
23
0
0
-21
0
8
-7
65
-2
0
8
22
-12
0
-4
-3
0
0
0
-1
-2
30
-9
0
0
0
0
3
-43
0
33
-2
0
-5
2
69
1
2
-11
-4
0
0
-40
0
37
-9
0
0
-1
32
0
-2
14
2
0
-3
13
0
9
22
0
0
-1
28
7
0
23
0
-3
-1
5
0
46
0
0
-3
0
14
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
-92
3
-59
22
1
-13
17
-7
-3
-24
-108
-45
14
-29
72
32
2
34
-5
-3
-23
51
-51
-21
-23
-2
30
-16
0
6
85
-1
5
-43
-38
-1
-18
20
-14
10
5
2
-23
5
-1
-30
-33
-6
15
-1
22
22
-20
-84
24
-17
-2
11
30
56
12
-24
0
31
28
-25
-19
-50
17
62
76
26
9
4
43
58
13
14
-13
5
-46
-13
-59
9
23
6
5
43
-33
-21
-63
0
-1
24
-18
53
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
-26
-23
-5
-23
-10
-17
-71
54
3
-4
-17
53
-16
55
-50
5
0
-5
21
0
1
10
-58
0
-6
-52
-6
-70
0
-4
-2
0
0
10
-36
0
-56
-22
0
0
0
0
1
35
0
45
4
0
128
-8
46
0
-5
-1
0
-5
-25
-3
-1
-99
22
0
0
-3
-48
0
-11
67
22
1
2
5
5
-27
79
0
3
18
-35
3
-18
-77
-9
4
2
-43
0
58
0
0
-43
0
53
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
-7
-9
1
0
92
0
0
-1
-19
0
2
45
48
0
0
28
0
6
-1
0
0
0
2
0
-4
2
-3
0
0
22
0
0
0
0
0
0
3
-1
0
0
0
0
0
-30
0
-4
15
0
0
0
19
0
1
23
-1
0
5
46
0
28
-56
0
0
0
-5
0
0
56
-20
0
0
41
0
-34
-8
0
0
5
7
0
0
-4
0
0
0
-2
0
-13
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-24
19
4
-2
-3
2
-5
-22
7
-23
-3
39
-3
-16
-11
-53
-27
0
17
5
0
0
2
-2
1
-20
71
0
0
0
0
3
82
0
-42
-28
0
10
5
45
0
37
14
3
-2
0
38
2
91
89
0
0
0
26
0
20
73
18
5
-3
33
36
-47
-23
29
0
-3
39
0
1
-17
26
1
0
15
3
-38
25
0
5
0
0
-44
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
-22
11
-13
-2
-26
0
7
10
18
-8
9
25
1
19
-3
12
-17
20
9
-8
-47
7
3
-109
33
-36
57
-30
8
8
-62
61
91
33
-1
-7
9
-14
-15
-11
7
5
51
12
-10
-1
13
8
-61
-42
32
-28
3
-13
-49
-80
3
0
-14
5
1
23
2
-7
9
-49
-37
24
-30
-92
-14
6
-79
23
-18
-11
56
44
5
-77
-7
1
8
-14
-23
-15
-16
-78
-69
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-1
-3
-2
19
0
0
-3
0
0
0
96
0
0
-7
0
-8
8
-84
0
0
0
0
0
3
12
0
-2
0
0
0
0
55
0
-3
5
0
0
0
-24
0
2
-1
0
21
-1
-26
0
-32
-1
0
0
0
4
-15
-5
-1
-5
0
0
-18
0
14
0
0
2
-4
26
0
0
0
0
0
0
-39
0
-37
0
0
0
2
-44
-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
25
-2
0
-2
-24
-5
-5
-15
-32
0
3
24
0
-10
0
-2
0
0
11
7
-12
0
-5
0
0
0
-10
0
0
23
-8
0
0
-3
0
0
-27
0
26
-26
0
-9
0
17
4
0
8
0
-6
0
-14
0
99
6
-1
0
0
-34
0
0
-13
51
0
-4
-25
0
7
-48
0
-3
0
24
0
0
-26
4
0
0
23
0
14
-1
0
-16
0
5
-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
-16
-11
22
32
35
13
86
106
7
9
48
20
16
23
-3
15
44
109
50
36
28
0
24
-6
-6
-1
15
-34
-6
33
22
7
6
-52
1
-15
-7
14
58
-56
34
-70
15
-34
5
-30
22
-7
-5
23
-1
-13
-19
0
5
17
71
6
-13
40
-12
-83
0
101
-2
29
56
-29
-3
26
21
15
30
38
26
74
65
-4
-37
-15
7
-14
-111
25
0
1
-13
33
-1
17
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
9
-15
-22
-7
-32
0
6
-30
0
1
0
-5
0
0
-34
3
-17
0
-22
0
0
0
0
24
3
-68
0
0
0
0
0
0
-27
0
122
0
0
-14
0
49
0
-9
10
0
-1
0
-19
0
41
55
0
0
0
71
0
0
28
4
0
1
-27
0
32
33
3
-6
0
-48
0
7
5
1
29
0
52
-2
-74
-39
0
42
0
-30
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
-21
0
24
56
39
0
2
-39
0
-3
-25
0
0
-5
9
-11
0
1
-14
0
0
-3
31
0
0
0
0
0
36
11
-3
0
0
0
-3
-45
0
-1
-6
4
0
0
-37
0
-10
-8
-16
0
-1
-18
-3
38
8
0
0
8
-39
0
-6
-60
12
0
-4
4
0
-17
0
2
0
0
14
0
0
-52
45
0
-1
-15
0
-50
0
-9
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
4
22
2
-14
26
2
-2
0
20
-3
-5
51
-7
-81
0
18
4
0
0
0
0
0
28
-9
-4
0
-2
0
-9
-41
0
21
2
0
-6
0
-24
0
14
-25
-3
-5
0
-36
-5
-38
-81
0
0
0
-57
5
-23
-71
21
0
-5
20
0
-81
-5
-4
0
0
-46
0
-7
0
36
-1
0
5
0
-66
-5
0
2
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
14
17
30
9
53
10
33
-10
-9
13
-14
23
7
-8
17
59
-48
29
39
16
-15
118
-14
-58
71
4
2
-53
-19
-4
41
36
-71
-22
-107
-50
22
-12
-39
-76
34
-41
-25
27
-7
-80
-36
27
-46
22
-29
-88
19
-59
0
1
-21
46
-30
-14
-7
8
-34
33
-22
16
33
-19
0
40
-20
-28
-25
19
9
23
-49
-14
-25
-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
-2
70
0
0
3
0
0
0
33
0
0
-4
7
0
0
-83
0
0
0
0
0
0
4
0
0
0
0
0
0
42
0
45
0
0
0
3
4
0
0
2
0
0
0
57
0
-2
0
2
0
0
-37
0
8
0
0
0
0
21
0
74
-3
0
0
0
46
0
-9
-6
0
0
0
-33
0
6
-5
0
-1
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
-1
-12
0
0
2
0
0
0
23
0
0
13
1
-63
0
-8
0
0
0
0
6
0
-26
6
3
0
0
0
3
30
0
-9
-13
0
0
-3
-7
0
1
25
13
4
17
23
0
4
-13
0
0
-7
-90
0
7
4
-34
0
2
-110
0
1
14
-1
10
-1
-3
-2
0
0
-10
0
5
49
8
65
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-8
53
21
-10
-64
9
9
25
5
21
29
2
14
53
-4
2
-77
7
-3
-5
-14
68
5
-6
0
-74
13
-1
9
19
0
11
5
1
-1
30
-33
-10
7
7
-20
-19
19
32
-30
32
-17
-5
8
-32
33
11
17
1
10
0
-12
-36
76
0
0
23
1
33
-114
46
25
7
24
1
66
0
1
-53
0
-25
-31
-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
-15
-51
0
6
6
0
7
-20
-29
1
1
-32
-1
-41
0
9
-2
-2
-4
0
0
0
2
-42
0
0
0
0
-9
-57
0
7
-16
0
-6
-5
32
-1
23
-86
0
7
-50
-61
-3
78
80
8
0
-16
-8
0
-9
-46
-1
0
-19
46
0
51
26
-1
1
-8
-30
6
-5
42
0
19
-2
19
0
15
8
0
-35
0
23
-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
-2
-32
0
-11
-6
0
0
0
32
0
-5
5
-26
0
0
14
3
0
0
0
0
0
46
0
0
0
0
0
0
32
0
23
-4
0
0
-10
66
0
-9
26
1
0
0
24
1
-21
5
0
0
0
-49
0
-5
56
25
0
-6
19
0
-66
-14
-3
0
4
3
0
0
-2
0
0
0
50
0
-23
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
71
0
-32
14
0
0
0
0
0
-12
-2
0
0
0
0
0
4
0
-18
-6
0
13
0
14
0
0
-24
-9
0
2
33
0
8
-62
0
0
0
-1
0
-36
-21
-14
0
0
-7
-1
22
63
3
6
0
6
0
-1
-95
-17
0
0
-11
0
21
19
0
0
0
-53
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
106
-36
75
15
6
-3
2
11
58
32
53
13
-7
9
-27
42
5
-9
2
4
-2
-27
-35
0
0
44
22
11
-1
75
33
-11
4
4
22
-31
20
24
-14
-73
-32
13
-95
2
23
0
43
-1
1
66
-22
-5
-46
-21
-9
0
23
60
56
53
20
-50
-10
-50
14
26
-72
-23
-1
14
41
-6
25
90
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
2
0
12
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
1
0
8
0
0
0
0
3
0
0
-1
0
0
0
1
0
0
0
0
0
0
26
0
0
3
0
0
0
-16
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
8
-8
0
0
-4
-9
0
-73
2
0
0
0
0
0
-23
0
0
0
4
0
0
30
0
1
2
0
0
1
6
0
0
0
-6
0
0
-55
0
-13
-5
4
0
0
-41
0
5
0
-6
0
0
32
0
6
-6
0
0
0
-96
0
0
-1
0
0
0
-44
-3
-15
0
-4
0
0
44
-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
-4
-7
-8
1
-22
-61
0
-12
19
0
0
-2
-7
0
25
-6
0
0
0
0
0
-14
0
9
25
0
-22
18
-25
2
45
-14
-7
2
10
60
0
-55
-18
24
0
1
5
1
14
-85
29
5
-16
-13
0
75
25
18
0
0
25
-2
30
-5
-35
2
0
-9
0
68
0
-3
4
0
-5
52
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
0
19
0
26
0
0
0
0
-2
0
50
0
2
0
0
0
0
83
0
21
4
0
0
0
-62
0
0
5
0
0
1
-33
0
1
0
0
0
0
-30
0
8
-8
0
0
0
-77
0
-3
24
0
0
0
-8
0
0
5
0
0
0
-65
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
-6
-28
0
2
42
-17
0
0
8
-14
0
0
3
0
0
32
19
2
2
11
0
4
-2
-1
11
5
0
0
2
-49
0
1
-31
12
0
18
-3
0
13
64
5
0
-2
-20
0
5
14
-40
0
-17
-33
0
-52
-9
22
0
14
-3
0
-14
-21
-4
0
4
1
0
-37
8
0
0
0
-38
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
-23
-1
0
0
0
0
0
14
0
0
0
0
0
0
-10
0
-3
0
0
0
0
13
0
0
7
4
0
0
22
0
-15
6
0
0
2
-6
0
0
-5
1
0
0
-18
0
-36
-7
0
0
0
-37
0
0
-4
0
0
0
0
0
-39
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
-8
-15
-61
5
46
-48
15
-3
-18
-37
-95
-10
64
0
-1
16
-47
25
-27
-15
-93
-88
-9
11
2
-92
-111
-7
5
8
-21
-27
34
-29
1
14
23
-18
-29
-20
-30
-25
39
-11
5
-53
46
-105
34
-7
9
-5
42
15
-12
-61
-23
0
71
-5
-126
78
-17
0
34
9
-25
41
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
63
0
0
0
0
0
0
1
0
0
2
0
0
0
6
0
-4
0
0
0
0
14
0
0
0
0
0
0
-14
0
5
0
0
0
0
25
0
0
16
0
0
0
-6
0
0
7
0
0
0
4
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
40
0
0
0
0
0
0
-13
0
-5
8
0
0
-1
-20
0
0
1
0
0
0
-29
0
-5
46
0
0
0
-16
0
-2
0
0
0
0
-18
0
44
-1
0
13
-5
11
0
-1
-7
0
-2
0
-24
0
3
0
0
0
0
-49
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
0
0
-30
0
0
14
4
0
1
-10
0
-52
6
0
7
-3
2
0
0
-2
5
0
-11
26
0
-42
-87
-4
0
0
0
0
39
-34
-11
0
0
-65
0
-54
8
10
-1
0
-19
0
10
0
-7
-1
0
-23
0
-2
0
0
0
0
-31
-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
9
-7
0
0
0
0
0
-3
-29
0
0
0
1
0
48
0
65
-1
0
36
-1
-12
0
0
5
0
-2
-5
14
0
-19
0
0
0
0
6
0
-11
-36
0
0
-1
22
0
39
7
0
1
0
63
0
-11
48
0
-1
0
-118
0
28
-5
0
-24
0
-22
-25
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
-5
-13
0
-14
-22
0
0
18
0
-11
-15
-13
0
-23
12
-3
-35
5
-102
0
-8
22
0
13
49
-24
0
14
9
8
74
23
-22
0
82
-5
0
15
54
-21
0
-8
30
34
-9
-30
5
0
3
-23
0
-75
5
13
0
0
29
-59
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
17
2
-106
-7
6
14
1
-6
28
-2
-19
-74
19
15
9
23
3
-2
-26
14
18
9
-113
10
27
-98
-27
21
10
-90
-1
16
73
28
-48
14
-23
14
-2
-21
9
-32
-2
-5
15
6
-66
2
41
-4
-10
-22
2
2
-58
-3
0
20
-37
-32
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
0
0
0
0
50
0
31
0
0
-4
0
28
0
0
0
0
1
4
80
0
29
4
1
0
-5
69
0
-1
9
-3
0
0
43
-1
25
-5
2
0
1
-43
0
0
10
0
0
0
-5
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
3
0
0
0
0
0
0
-19
0
0
0
0
0
0
19
0
4
0
0
0
0
7
0
-1
0
0
0
0
-7
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
-13
0
-3
0
0
0
0
-20
0
0
0
0
0
0
3
0
1
0
1
0
7
21
0
0
0
-1
0
0
-23
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
56
0
14
0
0
0
0
-3
0
0
-3
0
0
0
28
0
-16
2
0
0
0
-1
0
0
3
0
3
0
-61
0
13
5
0
0
0
-5
0
0
5
0
0
0
-55
0
-4
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
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
-59
0
10
-16
0
0
0
-17
0
-3
0
-1
0
0
-37
0
0
-8
17
0
0
6
0
26
2
3
0
0
-33
0
0
-2
5
0
0
-17
0
-61
3
0
0
0
-25
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
10
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
-9
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
90
18
-11
15
-2
-6
87
43
-8
0
-41
24
-67
2
61
-38
-2
39
-75
-40
8
-46
-38
0
-39
-52
18
35
-27
7
5
11
32
-19
96
10
11
41
-47
-15
23
19
-7
-7
32
-3
-57
3
-39
0
23
53
-43
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
47
7
0
-1
8
-8
0
0
37
0
0
0
16
0
-68
-51
0
0
0
0
0
0
-66
-1
0
0
0
1
10
-30
0
-8
0
-23
0
0
0
0
-1
0
10
0
-65
0
0
13
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-2
0
0
0
-3
0
6
0
0
0
0
74
0
-1
-1
17
0
0
22
0
4
0
0
0
0
15
0
-4
0
-3
0
0
32
0
0
2
3
-1
0
-26
0
17
0
0
0
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
21
0
4
-4
0
1
0
-39
0
0
0
-3
0
0
9
0
4
0
0
0
0
24
0
0
-1
0
0
0
24
0
0
0
0
0
0
82
0
2
0
-4
0
0
64
0
-1
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
20
0
5
0
0
0
0
-65
0
0
5
0
0
0
-3
0
5
0
0
0
0
-1
0
0
-4
2
0
0
-44
0
-1
2
0
0
0
-61
0
0
0
0
0
0
4
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-2
0
0
39
0
-33
46
0
0
0
19
0
0
1
0
0
0
4
0
-13
0
0
0
0
-18
0
0
0
0
0
0
49
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
15
-33
-8
-45
5
16
-16
29
-44
42
-1
-5
4
27
-31
27
-73
67
-22
8
6
6
40
-63
13
63
-8
1
-2
-38
43
-49
73
2
2
-98
23
-32
45
10
-7
27
-25
24
-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
3
-47
0
11
0
0
0
0
22
0
-1
0
0
0
0
-1
0
0
-1
0
0
0
19
0
1
0
0
0
0
-33
0
0
0
0
0
0
-3
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
17
49
73
-18
-13
8
5
-19
-10
9
5
55
-61
0
5
-57
2
2
-5
-6
4
-25
85
-32
12
-2
-27
-3
19
41
46
19
-3
25
0
91
-32
0
35
0
9
-41
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
109
0
0
48
0
0
7
-8
0
-105
15
0
0
-2
-10
4
7
13
1
20
0
-4
0
-10
10
4
0
-2
33
0
0
4
-10
0
-1
23
0
4
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
-41
0
0
6
0
0
0
23
0
1
0
0
0
0
-14
0
0
1
0
0
0
-62
0
3
-6
0
0
0
45
0
0
3
0
0
0
-34
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
-23
0
0
1
0
0
0
-17
0
88
11
0
0
0
-35
0
0
-14
3
0
0
3
0
28
-14
0
0
0
16
0
0
-4
11
0
0
-21
0
-2
-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
5
0
-15
-1
0
0
0
-36
0
-7
10
-7
0
0
47
0
-8
-1
0
0
0
-62
0
0
11
-14
-7
0
-30
0
-10
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
-15
-5
-18
41
14
-38
8
-20
-23
2
74
-19
68
46
-26
-30
-15
1
-17
-53
24
-47
-14
18
-24
49
-32
-66
-8
-33
3
26
-40
5
-62
0
-10
-45
-104
-40
21
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
-18
0
5
-11
2
0
0
-34
0
0
0
-8
0
0
25
0
-1
0
0
0
0
14
0
0
0
0
0
0
21
0
9
0
0
0
0
33
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
73
0
39
14
-3
0
0
-13
3
4
10
5
0
-3
-46
1
-14
8
2
0
-1
-90
-2
0
-3
0
4
0
3
0
-35
0
-5
8
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
-1
5
0
5
15
28
-3
7
15
3
-49
38
-55
-3
0
19
0
5
-21
0
13
-10
-43
0
0
-30
0
6
-9
3
0
-54
6
0
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
-49
0
0
-15
-25
0
0
90
5
0
0
-69
0
-13
45
0
1
10
41
0
-2
1
0
0
0
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
0
0
0
0
0
0
11
-2
11
0
0
-5
0
31
0
0
0
0
4
0
0
0
0
0
0
33
0
45
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
-2
-1
-36
-10
27
0
3
-75
-2
-22
-2
0
0
0
63
0
0
-4
-3
0
0
44
0
41
-1
0
-2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-16
-69
-23
11
-20
16
14
-12
-4
-75
-85
-50
-5
2
22
49
-45
-29
-62
11
-11
2
8
20
-6
1
-30
5
-26
-9
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
-23
0
1
0
1
0
0
-44
0
2
-1
0
0
0
0
0
0
1
0
0
0
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
6
-53
13
-140
41
-12
-14
0
129
64
1
19
17
2
0
18
-52
-29
-4
0
37
0
-54
25
2
76
0
1
-9
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-123
57
3
-6
-29
2
18
-15
10
2
0
-13
0
-27
4
-48
3
0
8
0
43
-1
0
10
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
32
-3
0
6
-35
0
2
0
0
0
0
-8
0
-13
-4
0
0
0
-53
0
6
0
0
0
0
-63
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
34
0
0
0
0
0
0
-9
0
0
0
0
0
0
-22
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
25
0
65
-1
4
0
0
1
0
0
1
0
-1
0
44
0
26
5
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-22
57
104
43
-25
11
-3
-18
53
-47
-35
-14
21
3
-35
57
-6
-29
0
53
-32
65
-11
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
18
0
5
0
0
0
0
6
0
0
7
-11
0
0
8
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-74
27
0
-2
24
13
1
24
-26
0
-2
0
-102
0
13
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
21
9
-5
-13
-2
21
-46
-21
3
-5
-41
-39
5
-39
0
-13
0
-11
7
3
19
0
-42
-15
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
17
-18
0
14
9
-24
0
-2
26
0
7
-1
-50
0
-64
0
2
27
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
63
0
23
1
0
0
0
-26
0
0
0
-1
0
0
72
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-8
9
0
20
0
8
0
0
2
0
-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
-5
7
-33
0
12
-12
151
-14
0
-44
27
-9
-5
10
-7
9
-41
-35
-3
-104
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
3
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
3
2
52
-61
-8
18
0
44
-28
-3
-33
4
23
83
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
-3
0
-23
-4
-15
-5
0
20
0
-38
0
-1
5
0
-62
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
-55
7
-29
3
0
-2
0
45
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
-44
0
0
0
0
0
0
-23
0
-33
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
-20
0
-29
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
-39
2
-33
65
74
110
-15
-1
8
-53
-26
-21
55
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
14
0
2
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
-87
0
3
0
0
0
0
133
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-92
0
83
-5
-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
0
0
0
0
0
-69
0
26
7
0
-10
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-23
10
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
35
77
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-53
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
8
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
-53
0
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
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-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
-13
0
0
0
0
0
-1
1
0
4
0
0
0
5
-24
0
0
-2
0
0
0
2
0
0
1
2
0
0
-6
0
0
-3
0
0
0
-1
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
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
-25
0
0
0
0
0
0
-5
0
0
0
0
0
0
-35
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
-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
-29
-60
52
4
-22
4
-24
-56
-110
-23
-26
-11
22
-3
-38
-57
40
-17
-88
-20
-21
-30
7
-47
-40
-31
-21
-1
-8
-48
12
-2
-50
-32
-17
17
16
57
-32
1
0
19
-24
56
3
-15
-65
-5
0
1
-30
-6
-2
16
10
15
-12
-24
-9
14
-36
-22
-55
13
-16
-56
-40
-15
-1
24
-5
-80
-66
6
-15
-44
32
-8
9
-49
9
-9
-53
-14
0
0
0
0
0
0
0
8
-20
-31
33
-2
-12
-79
3
-6
-45
-35
-4
19
-80
-25
3
1
-47
-48
36
-2
-8
-32
16
-21
36
10
32
-16
3
0
-39
-15
-16
-69
1
-6
8
-68
-52
-59
-58
-21
-11
-43
9
-3
3
-1
-12
1
82
-51
-3
-40
-23
20
-5
-43
-101
-11
-11
-43
13
16
-18
27
5
20
6
23
-5
-16
-5
18
43
-31
28
-25
-41
5
-34
67
-7
-8
6
-6
-35
-23
-90
-29
-9
14
25
-105
-39
28
-66
93
-7
-62
-12
-3
-23
-13
45
5
-124
-30
-15
-53
-22
51
3
-15
57
-3
1
-38
-13
-3
-12
113
-15
22
-21
39
-2
51
-61
22
50
-34
-8
8
-33
33
20
-6
-60
31
17
-28
15
-30
-32
0
-114
-3
11
19
20
9
-41
-11
32
35
-120
-68
-34
-82
-8
28
-12
-9
36
-8
-8
8
8
54
33
31
-8
-42
15
-5
-51
-21
15
27
9
-54
10
-47
18
47
-41
-49
-16
4
-35
-56
-26
69
-22
-52
-13
-66
2
-3
-1
8
-39
0
-132
24
35
16
-45
11
7
-6
7
23
-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
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
2
0
0
-65
0
0
0
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
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
-18
0
0
-9
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
-35
0
0
0
0
0
0
3
0
0
0
0
0
6
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
-41
0
0
0
0
0
0
21
0
1
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
-17
0
0
0
0
0
0
18
0
0
0
0
0
1
-5
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
-3
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
7
0
0
0
0
14
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
-21
0
0
20
0
0
-64
0
0
0
0
0
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
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
-3
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
19
0
0
0
0
0
0
-35
0
0
0
0
0
0
-4
0
3
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
-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
-5
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
-10
0
0
0
0
0
31
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
0
0
35
0
0
0
0
0
0
3
0
0
0
10
0
0
0
0
0
0
0
0
0
-10
0
0
0
36
0
0
3
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
-7
-6
-4
0
-17
-18
0
0
10
0
0
-1
-55
0
0
6
0
0
0
9
0
0
-75
0
0
-1
-3
0
26
0
0
0
0
-7
-2
0
24
0
0
0
18
0
0
0
0
0
0
14
0
0
0
0
0
0
-32
0
0
0
0
0
0
79
0
0
-18
0
0
2
31
0
0
8
-4
0
0
1
0
0
16
0
0
0
5
0
0
-7
0
0
0
-29
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
-5
0
2
0
0
0
0
-18
0
0
0
0
0
0
3
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
5
0
0
18
0
0
0
48
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
2
0
0
-1
0
0
0
-7
0
0
3
0
0
0
2
0
0
0
55
0
0
0
0
0
13
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
1
-19
0
0
54
0
0
-46
0
0
0
3
0
0
0
7
0
0
-82
0
0
0
0
0
0
0
0
0
16
0
0
3
-65
2
1
-5
0
0
0
-5
0
0
0
6
0
0
5
0
17
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
-23
18
0
0
1
73
0
0
-3
0
0
0
-10
0
0
-2
-1
0
-7
-15
0
0
-5
0
0
8
22
0
-41
-15
0
0
0
-19
0
0
0
0
0
0
-116
0
0
0
0
0
0
0
16
0
0
0
0
0
5
0
0
0
0
0
0
-28
0
0
0
0
0
0
-54
0
0
4
-5
0
0
73
0
0
0
0
8
0
-20
0
0
-6
0
0
9
-18
0
3
-1
0
2
0
8
0
0
0
-1
-4
0
27
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
-2
0
0
0
0
8
0
0
0
0
0
0
-7
0
-11
0
0
0
0
-5
0
0
0
0
0
0
2
0
-17
0
0
0
0
-14
0
0
-3
0
0
0
-36
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
6
0
0
2
36
0
0
-7
0
0
0
1
0
0
24
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
22
0
0
0
0
0
-80
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-11
-4
0
-77
0
0
0
10
0
0
32
-1
0
0
54
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
-92
0
0
0
-8
0
0
0
-7
0
0
-1
0
2
0
0
0
0
0
0
0
0
-7
2
0
0
-1
0
1
0
0
0
-3
0
0
-14
0
0
7
-5
0
0
-39
58
0
0
-1
0
0
0
76
0
0
0
-1
0
-1
18
0
0
-14
0
0
0
-58
0
-43
36
0
0
0
-52
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
-3
0
-50
0
0
0
0
-1
-5
16
0
0
-7
0
11
0
-32
0
0
36
0
0
0
54
0
0
16
0
-5
0
26
0
0
2
0
-6
0
6
0
0
0
0
8
0
-99
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-4
0
0
0
0
11
0
0
0
0
0
0
-55
0
21
0
0
0
3
2
0
0
4
0
0
0
-11
0
0
0
0
2
0
-23
0
0
-1
0
0
0
-21
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
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
-52
0
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
9
0
0
0
7
0
0
37
0
0
0
0
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
-1
0
0
0
0
33
0
0
0
0
0
1
9
0
0
0
0
0
0
-14
0
0
-2
0
0
0
16
0
7
0
0
0
0
14
0
0
0
0
0
0
26
0
10
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
-10
0
-5
0
0
0
0
24
0
3
0
0
11
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
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
-114
-41
-5
-76
-14
20
-5
-26
-12
-30
-59
-20
49
99
-13
-6
60
-25
-26
-20
-45
-22
-17
-13
-80
90
-43
65
-62
-4
14
-14
4
-62
5
2
27
1
6
-100
-14
-17
4
3
5
0
-3
4
8
-44
34
-6
-5
-53
-50
-48
-46
45
-9
-1
-4
14
30
-14
-110
6
24
-52
-34
-49
-38
-5
-10
36
-15
-8
31
0
0
0
0
0
0
0
-24
4
-13
34
15
-43
-86
7
-25
8
65
7
15
13
-37
41
44
9
51
-14
-17
-14
39
-12
5
-2
15
-50
-14
17
-45
-1
-68
56
0
-42
-15
-5
-1
-14
10
25
-5
12
-5
-102
-1
14
1
-51
-15
-37
-121
-14
10
-7
-57
3
31
-30
19
-34
-43
-1
-29
-21
105
2
-1
45
-31
6
8
17
-36
-11
45
-13
0
-49
34
-5
-72
-22
-1
-6
-47
-99
-18
-53
25
0
17
-102
-14
-60
-93
-29
-34
-49
-48
-70
10
-39
-10
-23
4
22
-63
10
-52
-46
4
-1
-16
50
-13
40
-6
1
-14
-57
-32
12
-15
-10
-3
2
-2
-41
7
-61
-52
16
-7
-47
10
-14
-41
-1
51
-8
-18
22
4
10
1
-5
14
-53
-25
97
-82
2
-5
10
-80
-15
6
-42
32
70
-47
32
37
-23
100
-33
9
-16
-1
-43
-61
9
3
-35
-10
-25
-8
26
-14
-50
65
-23
-21
-5
34
-3
-72
15
14
-6
-40
-12
54
-19
3
8
-5
-63
2
68
8
34
-13
-45
-42
9
-47
-24
5
6
-16
35
-48
48
101
0
0
0
0
0
0
0
0
0
0
0
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
-41
0
0
14
0
0
-51
0
0
0
0
0
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
32
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-33
0
0
0
6
-5
0
0
0
0
0
-1
-43
0
0
0
0
0
0
-53
0
0
1
0
0
0
-5
0
5
0
0
0
0
-4
0
0
0
0
0
0
42
0
-1
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
-53
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
-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
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
-74
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
3
0
0
0
-4
0
0
-24
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
0
0
0
0
0
-16
0
0
0
0
-24
0
0
0
0
0
6
-10
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
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
-2
0
0
0
0
0
0
34
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
20
0
0
0
0
0
0
33
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
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-51
0
0
-3
0
0
0
-26
-4
0
0
-70
4
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
26
-2
0
0
-8
0
0
-42
16
0
0
0
0
0
38
0
6
0
-40
-25
0
0
0
0
0
0
0
0
-15
0
0
0
-25
0
0
23
-2
0
0
-25
2
0
-8
-62
-1
0
-101
-4
0
0
0
-5
0
0
1
0
0
41
4
6
0
-15
0
31
35
0
0
30
0
0
1
-10
0
41
21
2
0
-25
18
0
0
-72
0
0
42
25
0
-1
-6
15
0
-31
0
0
-2
12
0
0
57
56
0
-15
21
2
0
7
9
0
2
-32
5
0
0
-26
-5
14
0
0
0
0
-1
5
0
0
0
0
9
33
0
0
-6
14
0
46
49
0
0
-53
0
0
-39
41
0
9
14
-15
0
-7
9
-5
0
97
-9
0
18
69
-3
-19
-31
-17
0
0
53
0
-3
28
-5
0
-7
-78
0
-1
5
8
0
0
-22
0
0
0
0
0
0
-17
-1
0
0
0
0
0
-39
0
-111
0
0
0
0
64
0
0
17
-45
0
-2
-15
0
55
2
10
0
0
-46
0
9
16
-53
0
0
-21
0
-29
-27
8
0
0
-71
0
-2
27
-6
0
0
-5
0
-98
0
0
0
0
-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
-1
0
0
0
0
0
-6
17
0
0
-8
43
0
0
-70
0
0
-3
-2
0
0
74
-3
3
0
-22
0
0
0
3
0
-3
2
1
-83
0
0
30
0
0
0
0
0
0
27
0
5
-4
0
-1
27
0
0
-57
-20
-4
-33
18
-3
-4
6
0
0
-49
-1
0
-4
32
-5
0
0
0
0
0
0
0
0
-57
13
-5
36
-18
21
-1
5
-14
2
0
46
0
0
-2
25
0
0
14
4
-117
0
0
-5
0
0
15
7
0
46
-3
0
8
-13
0
0
-17
0
0
14
23
0
27
-9
0
-46
4
-60
0
-47
51
0
6
32
0
0
-43
-20
-2
0
-37
-31
0
41
7
2
-1
8
9
-3
-23
9
1
-56
-85
-1
0
32
33
1
-4
65
46
3
0
-42
-15
-28
0
1
0
0
26
0
0
2
5
-5
0
-78
-1
2
7
-8
-68
-7
46
0
-3
-58
10
-132
24
-69
14
-3
66
-21
-46
10
15
1
5
-33
17
-39
-15
-37
-3
-25
-35
-35
32
-19
-46
16
18
8
0
-90
-13
-16
-4
6
-26
-1
-96
0
-24
0
0
0
-13
-4
0
-26
0
1
0
0
0
0
-40
0
-20
7
0
-13
0
23
0
-9
-29
-39
-8
-10
-20
0
30
0
-17
6
8
-78
-6
0
-33
-24
16
-2
38
5
23
4
1
-10
-2
-10
1
2
43
15
-15
11
-23
0
-100
2
0
-24
0
-57
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
-15
0
0
3
0
-3
5
26
0
0
6
8
-1
0
-8
0
0
-2
5
0
0
97
0
0
-1
-11
0
0
0
-1
0
0
0
0
46
0
0
45
0
0
0
0
0
0
22
0
0
0
0
-5
1
0
0
-83
21
0
3
0
0
0
6
0
0
10
-1
0
0
-12
17
0
0
0
0
0
0
0
0
-126
11
0
0
33
3
0
46
0
0
0
42
0
0
-4
-20
0
0
-48
-1
-43
0
0
-3
0
0
0
5
0
-45
15
-2
0
-3
0
-5
24
0
0
41
0
-1
98
0
0
-34
-43
62
0
-43
22
0
0
32
0
1
-16
7
0
5
8
-6
0
53
-32
0
0
-5
9
0
6
-73
0
-75
30
13
0
1
-72
-1
0
-4
18
3
0
35
1
-1
0
0
0
0
32
0
0
8
0
-6
0
21
2
-1
-22
10
-68
22
0
0
-2
-20
0
9
-15
68
4
-3
-84
37
32
7
-69
-8
-3
-17
24
1
0
-25
1
6
-7
6
0
-5
3
0
5
-8
-1
1
0
-31
0
10
4
-2
-26
0
-35
0
2
0
0
0
0
-37
0
0
0
3
0
1
-50
0
17
-4
0
-10
0
0
0
1
-10
4
0
1
73
0
52
-28
-1
0
0
-59
0
-6
28
15
0
0
-13
1
23
-14
0
0
0
37
0
-8
-6
9
6
0
27
0
2
2
0
5
0
-34
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
4
0
0
0
0
0
0
0
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
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
0
6
0
0
0
0
0
0
4
0
0
0
76
4
0
0
0
0
0
0
0
0
-8
0
0
0
71
0
0
83
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
-4
0
0
1
0
0
0
0
0
-26
2
-2
0
5
77
0
0
0
0
0
0
-55
0
0
5
20
0
0
26
0
0
0
0
0
-3
2
0
-14
-10
0
0
6
1
0
0
0
0
0
0
-51
0
0
0
0
0
0
28
0
0
0
0
0
-1
-21
0
0
0
0
0
0
-16
0
0
0
0
2
0
-6
0
0
0
8
0
0
-32
0
0
-9
0
0
0
14
0
2
-1
0
0
0
5
0
0
0
0
5
0
27
0
0
0
0
0
0
-7
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
-5
0
17
0
0
0
0
0
0
0
8
0
0
0
3
0
8
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
6
0
0
0
0
11
0
8
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
-6
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
-4
0
0
3
-8
0
-50
6
0
0
-1
0
0
6
0
0
0
54
-1
0
0
0
0
0
0
0
0
27
0
0
0
-8
8
0
-25
0
0
0
-2
0
0
0
-2
0
0
0
0
49
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
1
27
0
0
4
0
0
22
-3
0
-9
1
0
0
-1
-30
0
0
-3
0
0
0
14
0
-5
13
0
0
-9
-20
0
0
4
0
0
0
14
0
10
36
0
0
0
0
0
0
0
0
0
0
49
1
0
0
0
0
0
-23
0
0
0
0
0
0
-4
0
0
1
0
0
0
-29
0
0
-4
0
0
-3
45
0
0
0
-11
0
-3
33
0
6
0
0
0
0
29
-1
0
-8
-8
0
0
-10
0
0
4
0
0
0
9
0
0
0
0
-3
0
-61
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
-3
0
0
0
0
-17
0
0
0
0
0
0
-9
0
0
0
-7
10
0
-2
0
0
0
0
0
0
-4
0
0
0
6
0
0
18
0
0
0
5
0
0
-25
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
65
0
-1
-21
0
-3
9
33
-5
-2
19
-155
-43
39
18
8
-5
2
-17
2
8
-10
109
18
0
33
-5
32
3
-17
0
8
-1
11
14
0
0
-4
0
0
0
-9
-1
0
9
0
0
-3
0
-57
58
0
0
-27
32
21
-10
23
13
0
97
-10
-28
-177
-14
-1
-10
-10
-91
-43
0
0
0
0
0
0
0
-51
-5
-30
-14
-24
-23
-11
21
7
-2
-10
-8
13
-5
25
-23
-13
-2
-31
-16
-80
0
0
16
0
-5
20
22
-4
15
51
-5
0
16
0
-9
-8
0
0
-4
33
-24
-36
-63
-3
-22
1
-26
1
-14
8
0
-20
-24
0
0
-12
7
2
1
30
45
0
20
9
0
-1
37
-15
-9
-39
-10
0
-18
-6
-107
-4
-6
-17
-4
-1
-43
-31
-52
0
3
-37
-69
0
13
0
0
-13
78
0
0
-18
7
-27
22
65
1
7
-22
-56
-38
-30
5
54
-33
-6
-28
-54
-49
18
-44
14
-13
-7
-61
-12
-73
72
24
10
35
-62
-20
-22
24
0
-38
-19
-3
-15
10
-13
-23
6
-42
-64
-10
0
-15
39
-16
-12
0
-13
17
13
17
-9
41
0
-17
102
-4
-1
-5
3
-7
7
-15
-2
0
71
-22
-20
-16
-4
-7
9
-49
-17
65
-35
6
-5
-25
-23
84
18
-53
-7
43
-30
-68
-63
1
-57
2
-52
45
-30
42
0
-12
-7
-28
11
-17
-5
-5
12
0
-44
-4
50
1
0
-21
-8
0
32
5
3
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
-11
0
0
0
0
0
9
9
0
0
0
-43
0
0
0
0
0
9
-4
0
-62
0
0
19
0
0
0
0
0
9
0
0
0
0
0
-5
-5
0
0
3
0
1
-28
-3
0
0
-1
0
-11
3
0
0
0
-111
0
-2
0
0
0
0
0
0
0
-128
10
-5
0
-54
2
1
-8
0
0
0
-9
0
-1
0
45
0
0
2
0
-37
0
0
-2
0
5
0
21
0
-7
11
-5
0
0
0
26
9
0
0
9
0
0
-71
5
0
-21
-20
0
0
20
-38
0
0
5
0
0
4
-64
0
0
-36
0
-7
22
-38
0
0
12
0
0
9
-65
0
5
-31
0
0
0
-20
0
0
10
0
1
0
4
-2
0
0
0
0
0
-9
-4
0
0
0
0
0
-27
0
0
-1
0
-8
-45
-33
0
0
58
0
44
-16
1
0
-3
-98
0
-6
17
34
0
0
23
0
9
23
-9
0
-2
-13
0
0
-6
15
0
0
11
0
47
0
-24
0
0
35
0
-55
0
26
0
0
0
0
-1
0
33
0
0
0
0
0
0
-87
0
-9
-1
0
-1
0
-6
0
0
-5
0
5
4
33
0
4
-6
0
6
6
18
0
0
-34
0
-4
4
-54
0
-30
-8
0
0
0
-47
3
0
22
0
0
0
-30
0
-17
7
0
-14
0
61
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
38
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
-27
0
0
0
47
8
0
5
0
0
0
0
0
0
-34
0
0
0
-4
41
0
0
0
0
0
0
0
0
69
-1
0
0
9
0
0
-27
8
0
0
18
1
0
1
0
0
0
17
0
0
0
0
1
0
0
0
0
0
-3
4
0
0
-4
0
1
35
0
0
0
0
0
54
16
0
-90
22
1
0
30
19
0
0
-8
0
0
-8
-31
0
0
54
8
0
-52
-43
0
5
-26
0
0
-53
21
0
30
-55
0
0
0
-11
0
0
0
0
0
0
-17
-5
18
0
0
0
0
14
18
0
0
0
0
0
3
0
0
14
9
0
-33
7
0
6
-10
0
0
16
58
0
0
-47
9
0
0
-14
0
0
76
8
0
-10
47
0
0
188
-14
0
-4
-46
0
23
4
1
0
0
43
0
0
-2
0
0
0
9
0
0
0
0
0
0
-59
0
0
0
0
0
0
-20
0
10
0
0
0
0
30
0
0
-16
0
0
1
-18
0
59
-2
0
0
0
-69
0
0
14
0
0
0
-43
0
-68
-6
-2
0
0
-42
0
3
1
0
0
0
48
0
21
0
0
0
0
-42
4
0
0
0
0
0
0
0
0
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
4
-4
-4
0
59
3
-1
3
-17
0
0
5
0
0
0
-44
-2
0
2
0
2
8
0
0
25
0
0
14
0
0
0
0
0
0
1
0
0
0
0
-3
15
-1
0
-55
-1
-6
-85
-20
0
18
-37
0
52
-25
-49
6
3
-9
-2
-35
0
0
0
0
0
0
0
13
-44
1
7
-34
14
4
29
2
0
0
24
-5
0
7
-2
0
0
25
0
-59
0
0
-2
0
0
0
-14
0
0
7
11
0
9
0
-4
-2
0
0
-37
0
0
24
-11
3
-148
16
3
0
16
31
0
6
-27
0
-2
20
-31
0
10
26
-18
2
37
19
0
0
-54
5
-2
-26
-9
-1
18
-28
0
0
9
-127
0
0
23
0
8
0
-7
3
3
0
0
0
0
-16
0
0
0
0
0
-4
-5
0
-7
-5
14
-9
11
72
0
2
6
0
-6
-14
-24
2
-6
-114
31
-8
-7
0
-4
-1
88
5
33
-37
-2
0
-13
22
32
14
0
-45
0
0
-14
0
15
0
-58
1
0
6
0
26
0
-13
0
-1
0
0
0
0
-72
1
0
0
0
0
0
-33
0
45
16
-2
2
0
22
0
-10
-3
35
0
0
64
-3
23
-5
0
-8
-1
-4
0
0
53
-22
0
0
-104
0
-20
-11
0
1
-1
-34
7
-11
-49
-5
-1
0
-11
0
21
0
2
-39
0
-37
-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
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
-47
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
20
0
2
0
-6
3
0
0
0
0
0
0
0
0
17
0
0
0
-6
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-21
-2
0
0
0
0
0
34
0
0
0
0
0
-5
0
0
1
0
13
0
18
0
0
0
-9
0
0
-9
-22
0
0
13
0
0
-1
-44
0
-1
3
0
0
0
67
0
-62
0
0
0
0
15
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
71
0
0
0
0
0
0
0
0
0
24
1
0
0
21
0
0
0
0
0
0
44
0
0
0
3
0
0
2
0
0
0
0
3
0
5
0
0
1
0
0
0
-47
0
0
0
0
0
0
-35
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
21
0
0
-11
1
0
0
4
0
13
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
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
43
0
0
0
0
0
0
-4
0
0
0
-9
0
-5
0
0
0
46
0
0
-6
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
0
0
-72
6
0
0
0
0
0
4
-2
0
0
2
0
0
0
0
0
0
0
0
0
45
0
0
0
3
0
0
-76
0
0
0
21
0
5
-1
0
0
0
-5
0
-2
0
0
0
0
0
0
6
0
-56
3
0
0
0
0
0
-31
0
0
0
0
0
46
0
0
9
-3
0
0
-7
20
0
0
0
0
0
9
5
0
0
21
0
0
-1
44
0
0
-2
0
0
0
26
0
27
-7
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
30
0
-2
0
0
10
0
5
0
0
-4
0
0
-8
0
0
0
1
1
0
0
20
0
0
-4
0
13
0
-5
0
0
-3
8
0
0
-21
0
0
0
0
6
0
-15
0
0
2
10
4
0
-44
0
0
0
0
0
0
-7
0
0
0
0
0
0
-20
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
57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
5
9
0
3
0
0
0
0
0
0
-1
14
0
0
23
0
0
0
0
0
68
0
0
2
0
0
3
0
0
0
0
0
0
0
0
15
0
0
1
-1
0
0
-15
0
0
-35
0
0
0
0
0
0
7
0
0
0
-7
0
0
0
0
0
0
0
0
0
27
0
-1
0
-11
-1
0
77
0
0
0
0
0
0
0
1
0
0
-3
0
-8
0
0
0
0
0
0
0
0
-46
0
1
0
0
0
0
6
0
0
-11
0
0
-24
0
0
-32
4
0
0
-1
28
0
0
0
0
0
-2
-84
0
0
1
0
0
0
14
0
0
-2
0
0
-2
33
0
14
-19
0
0
-17
-39
4
0
-1
0
0
0
-32
0
0
0
0
0
0
-23
0
0
0
0
0
0
-25
0
0
-3
9
8
0
49
0
0
0
0
-5
8
-83
0
23
2
0
1
-1
-77
13
0
-2
0
6
0
8
-3
0
-1
0
0
-3
60
0
0
8
0
10
7
-24
0
0
4
0
-3
0
-64
0
0
0
0
0
0
-8
0
0
0
3
0
0
25
0
0
20
0
0
0
-15
0
8
-2
0
0
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
9
0
0
0
0
-62
0
3
9
0
0
0
26
0
0
0
0
-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
0
0
0
0
0
0
1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-13
0
0
0
7
0
0
0
0
0
8
0
0
2
0
0
-65
0
0
0
0
0
0
10
0
0
0
0
5
5
0
0
-2
-6
0
-26
-1
0
0
0
0
0
5
-9
1
0
-2
0
0
0
0
0
0
0
0
0
80
-5
0
0
-43
0
0
-32
0
0
0
0
0
2
-16
5
0
0
0
0
14
0
0
0
0
0
0
5
0
-49
0
0
0
0
0
0
-2
0
0
0
0
0
-3
-2
0
52
-2
0
0
2
100
0
1
0
0
0
6
-12
0
0
7
5
0
-5
-31
0
0
18
0
0
1
34
0
-37
0
0
0
0
52
0
0
1
0
0
0
-3
0
0
0
0
0
0
-93
11
0
0
0
0
2
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
-31
0
0
8
-17
0
0
-41
0
1
2
0
9
0
-17
0
0
44
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
-114
0
0
0
0
0
0
-3
0
0
0
0
0
0
-11
0
2
0
0
0
0
15
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
-1
0
0
0
7
0
0
0
0
0
0
6
0
0
-14
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
47
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
17
0
0
-7
0
0
-79
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
-21
0
0
-14
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
11
0
0
0
-14
0
0
1
0
0
0
1
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
48
2
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-18
36
0
0
1
24
0
0
0
0
0
0
14
0
0
0
0
0
0
-14
0
0
5
0
0
0
4
0
-2
14
0
0
0
2
0
0
0
0
0
0
-59
0
0
0
0
0
0
-46
0
0
0
0
0
0
-10
0
0
0
0
-4
0
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
16
0
0
-3
0
0
0
-22
0
0
0
0
0
3
5
0
0
0
0
-2
0
-2
0
0
0
0
49
0
43
0
0
0
0
0
0
14
0
0
0
0
0
0
1
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
-1
0
-2
0
0
0
0
-13
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
-5
0
0
0
1
0
92
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
-1
-6
0
0
-23
43
0
21
0
0
0
4
0
0
9
1
0
0
-24
2
0
0
0
0
0
0
0
0
-32
-9
0
0
-66
0
0
-14
-2
0
0
37
0
0
2
-1
0
0
0
-2
0
0
0
16
0
0
1
0
0
23
14
0
0
0
0
3
-11
0
0
1
0
0
-105
-2
0
26
-28
-6
0
-67
-54
0
0
-33
0
0
53
-36
0
0
-27
-17
0
77
-57
0
0
-102
1
0
8
-94
0
-17
45
0
0
0
-46
0
0
-3
0
0
0
-47
-2
0
0
0
0
0
-6
0
0
0
0
0
7
-6
0
0
6
4
0
44
-24
0
0
47
0
0
37
13
0
-2
81
37
0
47
33
0
-2
-62
0
0
-7
-30
0
13
34
23
0
6
-52
0
8
56
-1
0
0
-28
0
0
18
0
0
0
3
-1
0
0
0
1
0
10
0
0
0
0
0
-3
-69
0
7
-6
0
0
0
71
0
3
-13
-3
0
-10
79
0
-2
-22
0
0
0
-43
0
-1
1
0
0
-1
-76
0
-36
3
-1
0
6
-5
0
2
1
0
0
0
-12
0
-4
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
56
2
8
6
-2
4
0
-24
1
0
0
-36
5
0
5
-4
0
-5
0
0
53
0
0
-35
0
0
0
0
0
6
43
2
-4
0
0
-38
24
0
0
-3
-95
-2
-42
46
-2
-1
2
9
2
107
50
27
63
54
-18
9
0
0
0
0
0
0
0
60
69
0
15
-9
-10
0
89
26
-4
-2
-27
0
-15
0
23
0
0
-2
5
-24
0
-1
-14
0
3
-4
-3
-1
-23
-14
-4
-2
0
0
1
-21
-1
0
-4
-1
0
-15
-61
1
29
-82
59
3
-17
25
10
6
20
14
0
80
-11
-2
-4
-25
-6
-4
-10
-14
0
-4
39
1
0
6
44
-3
5
43
-17
-1
0
-14
1
0
-1
16
-31
0
-3
16
-1
0
-7
0
0
-82
-22
0
1
19
2
31
-28
-15
1
75
-34
-14
-50
-39
0
-9
-79
0
-93
-5
-69
34
23
-80
8
-34
36
-7
19
-14
50
43
-11
-4
-34
-5
-32
-44
11
-27
2
-23
-2
-5
-37
9
-75
0
-62
3
-48
-1
-1
25
0
-23
10
-6
0
-31
20
0
-24
35
4
-5
5
0
1
-71
0
-88
-2
25
4
-77
-48
0
14
24
28
-76
0
-15
-9
-28
-1
-9
3
16
11
0
65
71
-13
-25
3
8
3
-27
29
-14
-25
0
45
-1
-4
-53
8
-2
0
-45
0
7
21
0
87
0
32
13
2
10
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
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-19
-17
0
44
-1
0
0
0
0
0
-5
0
0
0
61
0
0
0
0
0
0
0
0
0
2
5
0
0
-37
0
0
-5
0
-1
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
-1
68
0
0
0
0
0
3
0
0
13
9
3
0
1
-55
0
0
5
0
0
9
0
0
0
-37
-1
0
4
-28
0
0
-3
0
0
0
-46
0
-35
0
2
0
0
-31
0
0
0
0
0
0
86
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
1
-9
0
0
5
0
0
0
36
0
0
0
-63
0
0
6
14
0
0
56
0
0
0
0
0
0
22
0
0
0
0
0
0
-41
0
0
0
0
0
0
-5
0
0
0
1
0
0
-10
0
0
0
0
0
0
0
0
-5
0
0
0
0
30
0
-2
0
0
0
0
0
0
0
-5
4
0
0
6
0
-16
0
0
0
0
-2
0
-4
4
-3
0
0
-45
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-119
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-48
0
0
0
0
0
0
-4
0
0
0
45
0
1
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
22
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
2
5
0
0
0
0
0
0
0
0
-2
5
0
0
-29
-1
0
0
0
0
0
5
-42
0
0
1
0
0
1
-30
0
0
-3
0
0
3
7
0
10
10
0
0
0
7
0
0
-1
0
0
0
-42
0
0
0
0
0
0
-52
0
0
0
0
0
0
-7
0
0
3
0
0
0
66
0
0
0
0
0
0
-6
0
0
1
0
0
0
-4
0
0
0
0
0
0
-7
0
0
-9
0
0
0
-32
0
0
0
0
0
0
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
18
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
14
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
1
0
0
0
0
0
0
10
6
0
0
3
0
0
0
0
0
53
0
0
3
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
82
-3
0
-62
4
0
0
0
0
0
20
-4
0
0
4
-2
0
0
0
0
0
0
0
0
-14
5
0
0
-17
0
0
-31
4
0
0
-10
0
0
0
5
0
0
0
0
2
0
0
0
0
0
4
0
0
-9
-1
0
0
1
0
-1
-12
0
0
-4
0
0
0
-3
0
-83
78
0
0
-24
13
0
0
37
0
0
3
21
0
0
-15
20
0
45
-11
0
0
-43
0
0
36
38
0
31
8
0
0
0
-27
1
0
1
0
0
0
-54
0
0
0
0
0
0
-16
6
0
0
0
0
1
59
0
0
0
0
0
11
91
0
0
-33
0
0
-3
-70
0
0
68
-8
0
-3
39
0
0
-6
0
11
-2
-58
0
-3
-13
2
0
0
68
0
0
-2
0
-1
6
-14
0
0
0
-1
2
0
-20
0
0
0
-1
0
0
57
0
0
0
-1
0
0
6
0
-3
0
0
0
0
27
0
4
0
0
2
0
-50
0
-1
5
0
0
0
-57
0
0
2
0
0
0
28
0
-5
2
0
0
-4
-5
0
0
0
-1
0
0
-1
-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
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
5
4
0
0
5
0
0
0
0
0
31
0
0
0
0
0
-80
0
0
0
0
0
0
3
0
0
0
0
-20
36
0
0
-35
-62
0
-50
-8
0
0
19
0
0
45
5
0
0
21
11
0
0
0
0
0
0
0
0
-5
9
1
-10
4
0
0
-78
63
0
0
-5
0
8
14
-13
0
0
-5
0
-12
0
-3
53
0
0
0
0
0
46
-8
6
0
-9
0
-7
30
0
0
32
0
0
47
-11
0
20
-48
-56
0
3
3
0
8
47
0
0
-20
11
0
11
34
-1
0
-18
32
0
3
22
1
5
8
-28
0
-22
15
-4
-14
-5
-51
0
0
18
0
0
0
4
-3
-1
0
0
0
14
-3
0
0
0
0
0
-2
0
0
3
-18
0
-37
-14
-31
0
-1
35
0
1
19
-50
0
2
79
3
-31
-5
-8
-6
15
46
26
-5
-21
31
0
4
-11
-9
-14
-4
-23
0
-8
8
0
-20
6
-22
0
0
6
0
-24
0
-62
0
0
0
0
4
0
-47
0
0
0
0
7
0
70
0
33
0
0
-3
-7
62
0
-2
6
-10
-2
0
-29
-3
-7
-20
10
0
2
-74
0
41
-6
6
-25
2
-14
-4
-43
-6
0
-1
-2
55
0
10
2
0
2
0
63
0
15
2
0
25
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
-15
0
-2
9
4
0
0
0
11
-2
0
-39
0
0
0
0
0
-56
0
0
63
0
0
9
0
0
0
0
0
-3
-9
0
0
0
0
5
14
0
0
-33
0
0
-16
9
0
0
-2
0
0
3
2
1
0
9
0
0
0
0
0
0
0
0
0
-31
0
-5
0
-96
0
3
-33
0
0
0
-1
0
-2
2
9
0
0
-8
0
7
0
0
-2
0
0
0
-22
0
19
1
0
0
0
0
14
-63
0
0
2
0
0
-31
-1
0
20
-15
0
0
87
-40
0
-4
-33
0
0
14
23
0
0
-2
0
0
0
-19
0
0
-73
0
0
27
-55
0
26
37
0
0
5
42
0
0
-5
0
-2
0
-35
-10
-5
14
0
0
0
16
3
0
0
0
0
0
-10
0
0
26
0
65
-6
7
0
0
10
0
-6
-55
-34
0
15
-16
0
-3
-45
9
3
2
6
0
0
2
-29
0
0
-59
0
14
-5
-20
0
0
25
0
-25
1
-4
7
0
14
0
-15
0
-28
0
6
0
0
9
0
-96
-6
0
0
0
0
0
-49
0
8
0
0
-3
0
-39
0
0
-3
0
0
-6
-40
0
8
0
0
-6
0
5
0
0
10
1
-1
0
33
0
-32
-1
0
0
0
41
0
0
39
0
0
0
55
0
-10
0
0
-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
0
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
-6
0
0
0
0
0
5
0
0
0
0
0
-2
-11
0
0
0
0
32
-4
0
0
0
-11
0
-38
-2
0
0
0
0
0
-20
0
0
0
19
43
0
0
0
0
0
0
0
0
7
0
0
0
-50
-9
0
-59
0
0
0
-11
0
0
0
0
0
0
4
6
0
0
0
2
0
0
0
0
0
2
2
3
0
0
0
-5
25
0
0
14
0
0
-7
0
0
-2
-5
10
0
52
20
0
0
55
0
0
-2
-18
0
-1
-34
5
0
47
-25
0
0
5
0
0
7
-6
0
10
-14
3
0
0
-74
0
0
0
0
0
0
-19
0
0
0
0
0
0
-24
0
0
0
0
0
-1
-62
0
0
-5
0
0
0
42
0
0
1
-4
0
11
-7
0
0
-2
-1
0
3
-148
0
0
-17
0
0
0
20
0
0
-27
-4
0
-2
7
0
3
5
0
0
0
7
0
0
5
0
0
0
-29
0
0
0
0
0
0
20
-2
0
0
11
0
0
-46
0
-1
0
0
0
0
10
0
0
5
0
0
0
-51
0
21
-5
0
0
0
29
0
0
-2
-1
0
0
-31
0
24
5
0
0
0
55
0
3
0
0
0
0
49
0
-6
0
0
0
0
23
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
-11
87
32
2
30
8
0
-22
23
-6
24
24
-28
0
0
-2
0
0
0
0
1
-7
-38
0
33
5
-7
-23
-36
0
-1
1
4
48
-9
-64
6
5
-20
-3
-74
-23
36
8
-9
-11
-48
-24
0
0
0
0
0
0
0
-89
-23
18
25
-33
-54
-6
54
14
14
74
21
37
-30
0
3
-5
0
-73
-17
-31
2
-54
-20
0
0
29
-34
-2
-11
32
-10
-64
56
0
22
-9
0
0
-25
-6
5
-51
-50
8
11
12
0
0
-98
10
-7
6
-8
-5
-5
-50
12
0
18
-5
20
-5
-15
-3
-8
-5
-84
8
-2
0
-5
34
-29
46
1
2
-9
-38
8
-8
11
-19
-57
0
-8
-7
5
5
41
1
-1
-38
6
17
16
15
-6
-5
10
14
11
-73
11
46
-46
-10
5
-11
26
43
27
-66
-5
-74
23
-23
-4
19
-18
-35
-59
-25
-85
17
20
43
-14
-9
-6
2
-54
-29
14
-22
-33
-43
24
-1
18
3
-6
36
-2
0
17
-11
0
-5
-45
-3
5
-14
-40
0
7
1
-1
0
-38
5
13
6
-15
63
-28
-17
-27
-15
-62
2
-31
17
4
-49
16
-6
-1
24
-62
-72
28
78
23
-13
19
48
76
14
1
35
-5
66
-35
-3
16
16
-27
10
24
-37
13
88
0
-19
44
-11
-17
-14
29
4
-15
53
-4
-15
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
-1
0
0
0
0
0
0
0
0
0
-30
0
0
1
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-23
0
0
-51
0
0
0
0
0
0
9
0
0
0
-27
7
0
0
0
0
0
0
0
0
-42
0
0
0
14
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
7
0
0
0
0
0
-4
0
0
-34
14
0
0
-5
30
0
0
1
0
0
8
-16
0
0
-2
0
0
-10
0
0
0
-23
0
0
0
-2
0
-43
5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-56
0
0
0
0
0
0
-25
0
-2
0
0
0
-9
11
0
0
0
0
0
0
6
0
0
-1
0
0
0
-19
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
-33
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
-3
0
0
0
0
-3
0
0
0
0
0
0
-11
0
0
0
0
0
0
-20
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-14
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
-13
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
13
0
0
0
-1
0
0
25
-4
0
0
14
0
0
0
0
0
0
0
0
0
49
0
0
2
5
0
0
32
-1
0
0
4
0
0
0
-2
0
0
0
0
-2
0
0
-3
0
0
0
0
0
23
0
0
0
0
0
0
-26
0
0
-2
0
0
-11
-3
0
-9
20
1
0
-33
5
0
0
0
0
0
13
65
0
0
-2
0
0
0
-20
0
0
7
7
0
-17
2
0
43
0
0
0
0
-4
0
0
2
0
0
0
5
10
9
0
0
0
0
-10
0
0
0
0
0
0
-5
0
11
0
0
-1
-2
-48
0
0
3
0
0
8
47
0
-4
-1
-3
-3
0
-46
6
0
30
0
0
0
-61
0
0
0
0
0
0
42
0
2
6
0
0
0
29
0
0
0
1
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
1
0
0
0
0
-20
0
0
0
0
0
0
-21
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
-36
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
39
0
0
47
0
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
33
-3
0
65
0
0
0
-4
0
0
6
-2
0
0
27
0
0
0
0
0
0
0
0
0
-6
1
0
-5
-1
0
0
-104
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
97
0
0
-4
0
0
20
-2
0
-25
-1
-4
0
18
28
0
0
-4
0
0
-5
-55
0
0
-7
0
0
0
14
0
0
-32
0
0
5
19
0
10
14
0
0
0
-21
0
0
0
0
0
0
10
-3
0
0
0
0
0
-31
0
0
0
0
0
0
47
0
0
-5
0
-2
0
-49
0
0
0
0
0
0
-4
0
0
-3
0
4
-2
-33
0
0
50
0
0
0
-71
0
1
37
15
0
0
38
0
0
25
0
1
0
-7
0
0
0
0
6
0
15
0
0
0
0
0
0
1
-2
0
0
-2
0
0
-13
0
0
1
0
0
0
33
0
0
0
0
0
0
-9
0
-2
0
0
0
0
13
0
0
0
-6
0
0
-34
0
0
-1
0
0
0
46
0
1
-3
-1
0
0
25
0
-2
0
0
5
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
8
0
0
-1
0
0
0
0
0
0
-75
0
0
0
0
0
-121
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-14
0
0
33
0
0
0
-5
0
0
-34
0
3
0
-13
-1
0
0
0
0
0
0
0
0
24
2
0
-3
11
0
0
-5
2
0
0
-5
0
0
0
8
0
0
0
0
-1
0
0
0
0
0
0
0
0
27
2
0
0
0
0
0
8
0
0
4
0
0
-19
-2
0
-19
7
0
0
27
46
0
0
1
0
0
0
5
0
0
-8
0
0
5
1
0
0
-11
0
0
0
-9
0
-37
0
0
0
0
-51
0
0
0
0
0
0
-46
7
5
0
0
0
0
-23
0
0
0
0
0
0
56
0
0
0
0
0
0
1
0
0
-3
0
0
0
-29
0
0
2
21
0
0
-53
0
0
3
-3
0
0
-17
0
-1
-1
5
0
0
3
0
2
0
0
-4
0
50
0
0
0
0
-11
0
-41
0
0
0
0
0
0
-7
0
0
0
0
0
0
-21
0
-7
0
0
0
0
-59
0
0
0
6
0
0
-19
0
3
0
-1
0
-3
0
0
0
0
2
0
0
-24
0
7
0
-1
0
0
-14
0
1
-4
0
17
0
8
0
13
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
14
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
-29
0
0
0
0
0
0
-3
3
0
0
10
0
0
0
0
0
0
0
0
0
-4
0
0
0
-27
0
0
-56
0
0
0
-3
0
0
0
-1
0
0
3
0
1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
7
2
0
0
0
-46
0
0
0
0
0
0
-11
0
0
5
0
0
0
19
0
0
0
0
0
0
-15
0
-22
0
0
0
0
0
0
0
0
0
0
0
-42
0
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
0
-6
0
0
0
0
0
0
11
0
0
-1
0
0
0
36
0
0
0
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-21
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
-2
0
0
0
0
0
0
-1
6
0
0
0
39
-1
0
0
102
-25
0
4
-2
0
0
0
0
0
18
0
0
0
-19
-14
0
0
0
0
0
0
0
0
-11
0
0
0
-6
0
0
16
0
0
0
9
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
-29
0
-1
0
10
0
0
-26
0
0
6
0
0
45
35
0
-13
-44
-4
0
-49
30
0
0
31
0
0
0
28
0
0
-7
29
0
-13
-71
0
0
1
0
0
0
-38
0
-74
-1
0
0
0
62
0
0
3
0
0
0
0
18
-5
0
0
0
0
-41
0
0
0
0
0
6
-59
0
0
-10
1
0
25
-27
0
0
30
-6
0
-5
41
0
0
-89
0
0
5
-16
0
0
-43
0
0
13
-9
0
0
-123
-4
0
-2
-7
0
0
4
0
0
0
59
0
0
0
-2
0
0
-28
0
0
0
0
0
0
14
0
0
0
0
0
0
-39
0
0
0
0
0
0
-89
0
0
-4
0
0
7
-16
0
-5
0
0
0
0
-73
0
-17
0
0
0
-9
75
0
4
5
0
0
-6
-41
0
5
0
5
0
0
-35
0
-5
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
15
-2
-82
0
0
4
0
0
-46
0
0
0
0
0
-2
-27
0
0
0
0
8
0
0
0
1
-57
-9
-18
-15
0
0
-25
0
-3
6
10
0
-1
-8
-14
1
0
0
0
0
0
0
0
-4
-2
0
0
-76
25
0
-10
-19
0
-7
-9
0
0
0
30
0
0
20
9
-92
0
-1
49
0
0
15
2
0
61
3
-1
16
-65
0
39
-2
0
0
39
0
0
-61
33
-4
-11
35
-16
0
-2
38
0
-1
-12
0
0
-32
-19
0
-4
-30
39
-3
16
27
0
13
-47
0
0
-7
26
0
-50
83
-3
0
0
-11
0
0
78
46
-1
0
23
8
16
0
0
0
0
8
-10
0
0
-4
-2
0
-20
0
0
20
-22
16
23
0
0
15
-39
22
-54
21
-26
-2
-7
-77
-61
-23
24
-63
2
31
-40
14
-34
1
-57
11
-16
-9
-19
-2
0
0
0
8
-48
-10
-54
0
-30
-1
1
-66
5
-47
0
-33
22
0
3
6
-21
0
48
-8
0
0
18
0
0
-68
0
36
4
1
5
0
7
0
7
-16
29
0
-3
13
1
-45
-1
9
-9
4
54
0
-39
33
-97
2
1
11
0
-25
-7
21
-4
0
65
0
-5
-34
-1
-11
0
-26
0
-11
1
1
-53
0
-65
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
0
0
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
1
0
0
-38
0
0
0
0
0
0
3
0
0
0
0
4
7
0
0
-88
4
0
-16
0
0
0
1
0
0
5
0
0
0
28
-3
0
0
0
0
0
0
0
0
-23
-1
7
0
-52
0
0
-67
0
0
0
-5
0
0
14
15
0
0
10
8
-1
0
0
-3
0
0
0
0
0
26
0
0
0
0
0
1
-51
0
0
-6
0
0
22
5
0
4
-2
0
0
-33
31
0
0
1
0
0
2
-20
0
0
16
0
0
-9
81
0
-8
0
0
0
-13
0
0
21
-73
1
0
-2
-26
0
0
5
0
0
0
-52
0
0
0
0
0
0
-19
3
0
0
0
0
0
-47
0
0
0
0
14
0
-42
0
0
4
0
0
5
-31
0
25
-69
11
0
14
-1
15
2
-1
0
-6
0
-53
0
-7
23
25
0
0
0
0
9
4
0
-3
10
-16
0
0
0
0
-13
0
21
0
0
0
6
0
0
-15
0
0
0
0
0
0
33
0
0
0
0
-11
1
-6
0
0
0
0
0
13
-14
0
8
0
1
0
0
-25
0
-1
55
-13
1
0
3
0
32
-5
0
0
0
0
0
0
-4
0
0
0
-78
0
-7
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
-60
0
0
-1
0
0
-46
0
0
0
0
0
0
-7
0
0
0
0
1
0
0
0
-3
2
0
72
0
0
0
6
0
0
47
0
0
0
43
0
0
0
0
0
0
0
0
0
-5
0
0
0
25
0
0
-34
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
9
0
0
58
0
0
0
0
0
-1
-1
0
36
13
0
0
6
-23
0
0
0
0
0
2
-23
0
0
4
0
0
1
18
0
0
0
0
0
-1
15
0
-5
55
0
0
-15
-15
0
0
1
0
0
0
-14
0
-7
0
0
0
0
-19
0
0
0
0
0
0
-6
0
0
0
0
-3
0
39
0
0
-2
0
0
0
-33
0
0
-15
0
0
0
-110
0
0
-4
0
15
0
-40
0
0
-65
0
0
0
-53
0
0
0
0
3
0
-10
0
0
-1
0
0
0
-21
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
-4
0
0
0
0
-5
0
0
0
0
0
0
36
0
6
0
0
0
0
-9
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
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
-79
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
-36
0
0
0
0
0
0
0
-1
0
0
-7
0
0
0
0
0
0
0
0
0
2
0
0
0
-30
0
0
-13
-2
0
0
-1
0
0
0
-1
0
0
0
0
-11
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
-1
-36
0
0
1
0
0
-7
0
0
-45
30
0
0
0
-15
0
0
-3
0
0
0
20
0
0
14
0
0
-2
35
0
0
-2
5
0
27
13
0
-5
4
0
0
0
-2
0
0
-1
10
0
0
-81
0
0
0
0
0
0
-33
0
0
0
0
0
0
9
0
0
0
-1
0
0
-2
0
0
0
0
0
2
-14
0
0
5
0
0
0
-51
0
0
0
0
0
-7
-39
0
1
-5
3
0
4
-52
0
0
0
0
0
0
11
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
-3
0
0
0
0
0
0
-1
0
10
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-19
0
0
0
0
0
0
15
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
-4
0
-2
-22
0
0
-1
0
0
0
0
32
0
2
0
20
1
0
-31
27
0
0
31
7
40
-8
-19
8
0
-11
-1
-41
-60
6
36
0
18
-4
-53
0
0
0
0
0
0
0
-50
6
0
0
-44
62
1
-55
-14
0
6
2
-5
1
-13
-22
0
0
-7
-18
42
0
9
-35
0
0
-16
-4
0
-21
9
-45
-1
2
0
-53
9
0
0
-8
6
5
18
-2
0
8
-41
-7
-10
-77
-14
-1
0
-34
10
0
45
-4
0
0
-45
-14
3
-7
-15
0
3
0
6
0
-32
-6
0
-31
7
15
0
-7
-17
0
-8
0
-11
-35
0
23
8
-80
0
-16
0
0
-31
5
0
-10
19
-11
3
-9
-2
0
11
11
-17
1
-22
0
-2
5
16
-14
-5
-41
4
4
-11
33
11
10
-34
-8
-25
-14
-33
4
-18
-67
6
6
-21
27
10
43
27
2
-1
0
20
6
0
17
1
-11
0
10
-12
0
-15
3
0
0
-8
-118
0
-30
-6
0
0
-48
0
-2
13
0
-49
-10
9
-18
3
-8
0
-10
9
3
-23
4
27
0
-34
-43
20
-54
2
-20
-9
-45
-8
-46
62
2
4
0
95
3
-5
3
3
22
0
-1
0
-23
-9
0
-35
0
62
0
0
-56
0
1
-27
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
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
0
0
13
0
0
0
2
0
0
-10
0
6
0
-20
0
0
0
0
0
0
0
0
0
6
0
0
0
-24
0
0
14
0
0
0
-2
0
0
0
-3
0
0
-2
0
17
0
0
0
0
0
0
14
0
-78
0
6
0
0
0
0
-70
0
0
-1
0
0
-31
1
0
5
8
0
0
-1
-26
0
0
1
0
0
-5
-35
0
0
14
0
0
-1
24
0
0
65
0
0
0
42
0
32
1
0
0
0
14
0
0
-3
0
0
0
52
-8
0
0
0
0
0
-49
0
0
0
0
0
6
9
0
0
-1
0
5
8
11
0
0
15
0
0
2
-30
0
0
4
0
0
1
28
0
0
-9
0
0
10
74
0
0
-43
0
0
-2
-38
0
0
0
0
-4
0
-23
0
0
-5
0
-53
0
-6
0
0
0
0
3
0
23
-8
0
0
0
0
0
35
0
1
0
0
0
1
-79
0
0
8
0
0
0
-9
0
-10
3
0
0
0
-14
0
0
2
0
0
0
-1
0
-15
-7
0
0
0
-4
0
1
-1
0
0
0
60
0
-2
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
24
0
0
0
0
0
-25
0
0
0
0
0
0
-4
-7
0
0
0
17
0
0
0
5
-17
0
26
0
0
0
-10
0
0
-18
1
0
0
-33
-6
0
0
0
0
0
0
0
0
-12
0
0
0
-111
0
0
-31
0
0
0
1
0
0
5
5
-9
0
0
-1
0
0
0
-7
0
0
0
0
0
4
0
1
0
-1
0
-2
-89
0
0
19
0
0
-3
18
0
-4
-23
18
0
16
-13
0
0
70
0
0
4
23
0
0
51
31
0
-14
5
0
0
-3
1
0
-2
-24
0
-60
17
0
0
0
45
-2
0
0
0
0
0
-24
-1
37
0
0
0
0
6
0
0
0
0
0
5
7
0
0
0
-2
0
-8
14
0
-2
2
0
0
14
-13
0
-1
-23
21
0
-5
37
0
0
19
4
0
1
15
0
10
-7
-7
0
-1
14
0
0
7
1
0
15
6
7
4
0
-2
0
0
-30
-5
0
0
0
0
0
-53
2
0
0
0
0
0
-7
0
-4
0
-1
0
0
43
0
-3
5
0
0
0
-25
0
41
3
2
0
0
-70
0
0
6
8
0
0
-18
0
-17
8
0
0
0
66
0
-6
6
-1
0
0
-21
0
-16
3
0
0
0
2
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
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
-66
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
0
0
0
0
0
0
-4
0
0
0
95
0
0
-17
0
0
0
5
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
6
-5
2
0
0
-14
0
0
-1
0
0
0
10
0
0
0
0
0
0
52
0
0
-1
0
0
0
4
0
3
-15
0
0
0
-34
0
0
-13
0
0
0
19
-4
0
0
0
0
0
65
0
0
0
0
0
0
3
0
0
0
0
-16
0
62
0
0
0
0
0
0
-36
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
-3
0
0
0
0
3
0
0
0
0
0
0
-21
0
0
0
0
0
0
-79
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
21
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
-14
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
-127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-7
0
-26
0
0
0
0
0
0
16
0
0
0
32
0
0
0
0
0
0
0
0
0
-2
0
0
0
-32
0
0
89
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
38
0
0
0
-5
0
-9
-28
0
0
37
0
0
0
16
0
54
12
-3
0
-3
-12
0
0
1
0
0
0
-10
0
0
3
0
0
-6
-6
0
0
-27
0
0
-5
17
0
41
0
0
0
0
0
0
0
7
0
0
0
-7
0
0
0
0
0
0
44
0
0
0
0
0
0
13
0
0
-3
0
0
0
-3
0
0
0
0
0
0
-34
0
0
-4
-3
0
0
5
0
0
-3
0
-5
3
-17
0
0
47
0
0
0
12
0
0
5
0
-4
0
0
0
0
0
1
-5
0
-27
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
6
0
0
0
0
-3
0
3
0
0
0
0
3
0
-25
7
0
0
0
24
0
0
46
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
-8
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
-23
0
0
-11
0
0
0
1
0
0
0
3
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
1
0
23
-5
0
0
13
25
0
0
5
0
0
0
-34
0
0
0
0
0
0
1
0
0
1
0
0
0
5
0
11
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
1
0
0
25
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
36
0
0
0
0
0
0
35
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
4
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
-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
-8
8
0
-24
-10
-16
2
10
-60
18
36
68
14
11
9
-24
16
-6
26
14
-16
-14
-42
11
-4
-66
22
54
-25
69
-85
0
0
0
0
0
0
0
-39
-27
-96
-8
-24
51
28
16
-25
-6
-43
-19
22
5
3
28
-26
-2
14
13
35
0
-19
-81
2
-4
-106
-12
-62
-13
-24
-29
-60
-33
-29
-20
2
23
-5
10
-63
-15
-59
-9
-55
13
-14
-9
4
-11
-12
83
-75
2
82
72
-33
5
-54
-20
-29
-111
-16
-40
8
15
-62
-6
-51
-1
-20
3
32
-43
31
25
-24
-40
7
59
6
13
4
-60
5
8
-67
0
44
-27
2
42
-7
-15
17
-56
-73
29
-55
-5
-50
6
38
-19
39
-37
-3
2
52
49
-101
-11
-11
-17
-25
-34
4
-30
10
3
-7
-53
-51
-12
-22
0
-34
17
18
28
-5
-10
-32
-23
2
-26
-35
-58
-46
-10
-53
-19
24
-36
-54
37
-9
-8
8
-34
-21
-11
11
39
-7
-14
24
-17
-30
20
-19
-16
14
41
23
-18
-81
-42
-32
-16
-4
-60
11
-35
-14
-40
-19
-35
-60
40
-87
35
-30
14
-61
-109
-89
-93
-8
-28
34
11
50
7
-85
-101
23
-23
-40
21
26
-81
26
-81
-25
45
5
-63
27
-14
6
28
-77
28
-32
-46
-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
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
46
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
-49
0
0
0
0
0
1
-16
0
0
-2
0
0
2
0
0
-20
17
-26
0
-16
88
0
0
3
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
83
0
-123
0
0
0
-5
3
0
0
0
0
0
0
-35
3
5
0
0
0
0
-14
0
0
0
0
0
0
-33
0
0
0
0
0
0
-16
0
0
0
0
0
0
-25
0
0
-14
0
0
-7
27
0
0
0
-5
0
0
14
0
20
-1
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
-2
0
-36
0
0
0
0
-14
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
2
0
0
0
0
-26
0
9
0
0
0
0
-3
0
0
-1
0
0
0
-2
0
-1
0
0
0
0
4
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
0
0
0
0
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
-1
0
0
-35
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
-3
0
1
0
0
0
0
14
0
0
0
0
0
0
0
0
-17
-2
0
0
0
-50
0
0
0
0
0
0
-55
0
0
3
0
0
0
-18
0
0
0
0
0
0
7
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
16
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
-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
0
0
0
0
0
0
14
-51
-6
0
2
0
-1
8
-3
-1
-17
-3
0
-7
6
-1
0
79
5
0
-44
-6
-7
-1
-13
13
0
0
0
0
0
0
0
0
-7
-14
0
0
-47
-27
0
-33
59
0
10
-50
-1
0
-14
23
58
-1
0
-2
0
0
20
-14
0
0
-29
0
2
-2
25
-82
45
-6
0
83
-5
0
0
73
-4
0
35
26
13
-13
5
-50
0
62
5
0
22
-6
0
0
38
8
0
9
-15
-25
0
11
1
0
68
18
-3
0
88
-25
0
22
87
-5
0
23
-55
-16
-4
-14
10
0
0
4
-53
45
0
-27
0
0
-18
-36
0
0
-2
0
67
-18
0
56
5
49
0
65
7
0
-43
47
24
0
75
-3
-9
-41
-6
-24
0
-43
41
8
-28
42
31
0
109
-5
-4
-23
27
-43
0
45
32
0
18
29
-9
0
-34
-28
13
-38
-105
-71
0
0
-21
-23
93
-15
-1
-15
0
33
15
0
-1
20
0
-10
41
-1
-15
-16
15
0
42
-5
0
50
-16
-36
0
-5
30
0
-90
-112
13
0
37
-14
-5
98
-42
98
0
9
7
1
3
13
31
0
17
24
2
48
115
28
0
5
-19
0
-2
-16
0
0
0
3
79
-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
4
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-17
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
-31
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
17
0
0
0
22
0
0
-1
0
0
0
6
0
0
0
0
0
0
19
0
2
0
0
0
0
4
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
-14
0
0
-5
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
-3
-32
51
-15
-14
-22
10
27
-61
-44
-1
2
-68
-1
-53
11
-40
18
-1
-14
22
14
36
14
-3
9
-24
0
0
0
0
0
0
0
22
-24
-26
-43
-4
-5
13
16
-49
24
6
-25
-74
14
-60
11
105
-59
-34
23
8
-21
40
53
-22
-65
-9
-12
-15
-2
20
-29
10
20
-85
15
9
-9
-120
3
-18
-63
19
-2
-31
3
-16
-5
-16
-6
2
-18
-30
-5
-72
-1
26
5
-70
-26
17
2
-80
3
-6
-97
3
6
-52
-37
-4
18
-44
-3
-33
44
-41
-42
3
50
-2
-30
-30
30
-37
-2
-1
-46
-11
57
42
109
7
-72
-80
32
4
41
-39
5
-5
-5
-15
46
-61
57
-5
16
-22
1
49
-22
-15
-6
-49
9
4
20
27
5
-3
37
-1
15
33
-10
-75
3
-7
-7
41
-34
22
53
1
-139
-2
6
-27
18
6
28
-8
-26
9
35
-3
-59
11
-2
-3
-46
28
-19
21
-11
-1
-101
-15
47
6
-3
-20
33
-49
-15
22
-41
-1
4
-20
2
22
62
-16
-53
9
-182
25
-27
-1
31
-21
-3
-72
-23
12
29
-20
20
-8
-80
-8
-10
18
-23
-5
24
-30
-8
13
-5
-49
-67
17
-8
8
72
-64
54
14
14
-14
-61
59
-58
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
1
0
0
0
1
24
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
5
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
2
0
0
0
0
20
0
0
0
0
0
0
5
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
3
2
0
0
0
0
0
-19
0
0
0
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
-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
-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
19
0
0
0
13
0
0
-29
0
0
0
-11
0
0
0
0
0
0
0
0
0
7
0
0
0
10
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-93
0
0
0
0
0
-1
-9
0
0
0
0
0
-7
0
0
29
-13
0
0
5
49
0
0
-20
0
0
1
-28
0
0
-10
1
0
0
-34
0
0
43
0
0
5
-2
0
14
0
0
0
0
9
0
0
0
0
0
0
20
92
0
0
0
0
0
-25
0
0
0
0
0
0
57
0
0
0
0
0
0
-16
0
0
5
0
0
-1
21
0
0
-4
-2
0
1
-33
0
0
2
0
0
0
16
0
0
1
0
0
0
-55
0
0
0
0
0
0
-47
0
0
0
0
0
0
4
1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
-26
0
0
0
0
0
0
26
0
-14
0
0
0
0
-6
0
0
0
3
0
0
-10
0
-5
0
0
0
0
-2
0
0
0
0
0
0
-1
0
17
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
0
0
0
0
-1
0
0
-7
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
3
0
0
0
-51
0
0
-17
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
8
0
0
0
0
0
0
0
0
35
-1
0
0
-3
30
0
0
0
0
0
0
83
0
0
0
0
0
0
1
0
0
-3
0
0
0
5
0
7
0
0
0
0
-2
0
0
0
0
0
0
-28
0
0
0
0
0
0
-55
0
0
0
0
0
0
-1
0
0
0
0
0
0
74
0
0
0
0
0
0
-8
0
0
-1
-4
0
0
-29
0
0
0
0
0
0
-15
0
0
0
0
0
0
9
0
0
0
0
5
0
-1
0
0
0
0
1
0
-34
0
0
0
0
0
0
5
0
0
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
-2
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
0
0
0
0
0
0
0
0
0
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
-19
0
-4
0
0
0
0
0
0
-9
-9
-1
0
-15
-8
0
0
0
0
0
0
0
0
11
0
0
0
11
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
-109
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-47
0
0
-1
0
0
29
-3
0
67
-27
7
0
39
-25
0
0
-33
0
0
5
13
0
0
62
-8
0
33
-61
0
0
14
0
0
-2
-74
0
-28
-1
0
0
0
32
0
0
0
0
-3
0
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
30
0
1
23
11
0
1
-29
0
0
17
0
0
-17
23
0
0
-65
-9
0
0
25
0
0
-32
0
0
-1
-50
0
0
33
0
0
0
52
0
0
10
0
0
0
-8
0
0
0
0
-90
0
26
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
-50
0
0
0
0
0
0
37
0
-7
3
0
0
0
75
0
0
-1
1
0
0
-33
0
7
-8
0
0
0
2
0
-1
0
0
0
0
26
0
-4
0
0
6
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
-110
-47
0
0
-95
9
4
15
14
0
0
14
2
0
32
-19
4
0
-70
-19
-1
0
0
0
0
0
0
0
-18
-9
0
0
-53
-3
2
-25
1
-2
0
5
0
4
-5
23
0
0
-45
0
-12
0
-7
-6
0
0
13
18
0
-69
0
2
0
-36
0
-6
21
0
0
17
36
0
27
-6
0
-4
-95
7
0
22
-33
0
0
-19
0
0
-46
-75
0
0
54
-2
3
57
11
0
0
25
0
-3
-14
10
0
19
-60
-1
0
10
1
0
0
-23
-15
41
0
4
-5
-1
0
14
0
0
-65
0
0
0
0
-2
-1
9
0
0
-5
27
-54
-29
26
0
5
-48
-13
12
-57
40
0
-3
32
18
-2
9
-64
0
-7
-33
-20
-101
8
-18
6
-4
-62
25
22
-8
16
0
0
4
5
-75
0
24
0
-13
-3
21
-18
0
-90
0
0
0
-1
-2
0
38
0
0
0
4
0
-2
12
-1
-64
1
0
2
0
71
0
0
-6
2
-8
-3
-79
0
-39
-21
5
-1
1
13
0
3
20
-5
0
0
-21
0
-9
15
17
-1
0
-28
0
-9
-8
-1
5
0
3
0
-20
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
11
0
0
0
5
0
0
0
0
0
0
0
0
0
-11
0
0
0
-2
0
0
23
0
0
0
-1
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-33
0
0
0
0
0
-1
0
0
6
-1
0
0
4
-9
0
0
-1
0
0
0
9
0
0
-1
0
0
-2
-10
0
0
-2
0
0
0
5
0
-2
45
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
-1
0
0
0
35
0
0
0
0
0
0
0
0
0
17
0
0
0
2
0
0
0
0
0
0
-2
0
0
-1
0
5
0
8
0
0
0
0
4
0
20
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
-4
0
0
1
0
0
2
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
-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
0
0
0
-5
0
0
1
0
0
1
0
0
0
0
0
0
-7
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
8
0
0
27
0
0
0
-1
0
0
0
0
0
0
4
0
5
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
-10
0
0
0
-7
22
0
0
0
0
0
0
-79
0
0
0
0
0
0
42
0
0
0
0
0
1
18
0
-2
-5
0
0
0
5
0
0
0
0
-3
0
-4
-2
0
0
0
0
0
-13
0
0
0
0
6
0
-5
0
0
0
0
-5
0
-33
0
0
0
0
0
-4
-3
0
0
0
0
0
27
33
0
0
0
0
0
0
-5
-1
0
0
0
0
0
-14
0
0
0
0
0
0
-5
5
0
0
0
-6
0
10
0
0
0
0
0
0
-9
0
0
0
0
0
0
19
0
2
0
0
0
0
-1
0
0
0
0
0
-4
-16
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
-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
1
0
0
0
11
0
0
-68
0
0
0
0
0
0
-3
0
0
0
-23
0
0
0
0
0
0
0
0
0
-1
0
0
0
-23
0
0
57
0
0
0
-6
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
-44
-5
0
0
-1
49
0
0
0
0
0
0
-27
0
0
0
0
0
0
-46
0
0
-4
0
0
3
-32
0
11
-3
0
0
0
-10
0
0
0
0
0
0
-53
3
0
0
0
0
0
-100
0
0
0
0
0
0
5
0
0
-2
0
-2
-5
-49
0
0
3
0
0
-1
-16
0
0
8
0
0
0
-10
0
0
0
0
0
0
1
0
0
1
0
17
0
14
0
3
4
0
-3
0
-2
0
0
0
0
33
0
-21
0
0
0
0
0
0
47
0
0
0
0
0
0
23
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
-2
0
0
0
0
1
0
0
-6
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
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
-16
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-10
0
0
0
-6
6
0
18
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-15
0
0
0
0
0
14
3
0
-5
5
0
0
-21
6
0
0
-9
0
0
0
14
0
0
1
0
0
2
-87
0
0
-3
0
0
0
-8
0
-35
0
0
0
0
13
0
0
0
0
0
0
-4
-2
0
0
0
0
0
5
0
0
0
0
0
0
39
0
0
0
0
0
-4
33
0
0
-2
0
0
0
-43
0
0
-1
0
0
-1
-36
0
0
7
-6
0
1
18
0
0
-7
0
0
0
14
0
0
-6
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
-13
0
0
0
0
-5
0
0
0
0
0
0
22
0
0
0
0
0
0
18
0
0
0
9
0
0
2
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
10
0
0
25
-16
4
3
24
5
1
0
0
0
0
0
0
0
-60
37
2
-1
22
78
-16
-20
9
0
-3
60
-4
-43
3
-18
0
0
18
0
-23
0
11
-5
0
0
-7
3
0
-2
-21
-23
2
-27
0
0
9
0
0
-125
0
0
0
-23
0
-43
-82
19
0
27
-16
0
0
-37
0
5
-14
-16
0
0
-33
-62
0
-4
53
3
32
34
0
0
-117
-10
0
8
-70
26
0
31
-4
3
-1
-21
-7
40
0
-40
-5
56
0
0
0
0
18
5
14
0
-25
9
0
49
9
0
79
-81
-71
-29
-5
0
-8
-24
0
-42
-18
-16
1
37
51
63
47
56
-20
-9
-17
12
106
-8
-2
-7
1
29
-63
-26
-74
32
15
0
-15
-39
-1
-11
-1
-47
0
0
-53
-1
3
0
-30
-13
0
0
-4
-23
0
-18
11
0
0
-6
0
0
-126
0
-23
-5
0
3
0
-47
2
-23
-28
31
8
0
4
0
-97
-15
-4
20
-5
-19
4
41
9
-4
-48
-7
-25
0
-14
-45
0
-5
13
6
0
-7
-27
29
74
0
-3
0
-109
-2
0
-64
0
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
-4
20
0
0
78
0
0
-59
0
0
0
-9
11
-2
0
0
0
0
0
0
0
-49
1
0
0
-49
5
0
-9
0
0
-2
38
0
-1
-6
5
0
0
-7
4
-7
0
0
-14
0
0
0
4
0
31
-14
-22
0
-4
0
43
0
0
0
-35
2
0
-40
-17
0
5
-3
-62
0
-10
-17
0
-2
-40
0
0
-26
-41
0
0
63
-25
-1
35
4
0
0
-24
-2
0
-14
-57
0
0
9
-2
-2
0
-52
0
0
-3
2
14
0
-59
-3
0
0
0
0
0
-10
1
0
0
0
2
-9
0
0
0
8
0
-24
-13
-59
0
0
35
2
-19
55
-27
0
0
37
15
4
-8
-29
0
-16
0
-10
31
21
-5
0
0
-11
-15
1
-2
4
0
-13
-81
0
-70
0
-72
0
-1
2
-8
77
0
-3
0
0
0
1
-2
0
-32
0
0
0
0
0
0
0
0
-69
0
10
0
0
-51
0
0
25
10
0
1
-35
0
-28
0
3
0
0
-51
0
-6
-23
-26
8
0
-36
0
22
83
-1
0
0
-60
0
5
5
-1
4
0
-84
0
-20
-1
0
34
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
-20
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
2
1
0
0
25
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-3
0
0
0
-5
-1
0
0
8
0
0
0
-33
0
0
8
0
0
5
-11
0
0
1
0
0
0
17
0
13
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
9
0
0
0
0
0
0
15
0
0
0
0
0
0
-7
0
0
0
0
0
0
-37
0
0
0
0
0
0
33
0
0
0
0
0
0
-44
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
20
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-26
0
0
0
0
0
0
0
0
-2
4
0
0
0
-21
0
0
0
0
0
0
-32
0
0
0
1
0
0
11
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
-16
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
-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
-17
42
0
0
0
43
13
8
-11
-2
17
49
-10
65
0
0
0
0
0
0
0
-6
-71
34
-15
11
31
39
2
-45
-1
11
8
-50
4
34
-48
21
-2
12
-10
-28
0
34
-66
0
-1
-77
-1
-7
-7
-116
-101
0
-48
0
-36
3
-3
-1
6
18
45
-65
-47
5
-30
-23
-9
10
-47
-17
-6
50
-33
9
-3
-12
10
1
9
-94
-64
-7
2
14
-5
9
20
13
-8
-73
4
-3
-4
-6
62
-36
-100
-7
4
-16
-36
-2
15
-3
14
-14
-31
-1
-7
0
0
-35
-16
3
0
-103
33
-25
-26
1
1
-5
58
-55
-90
-20
0
-72
-16
-5
-23
81
1
51
-43
-52
12
-4
-31
-16
-62
-71
7
-1
54
-21
-22
104
25
18
-7
-38
36
5
-8
-3
29
-73
11
46
-13
-6
36
16
-19
26
-1
16
71
-9
2
43
-39
-4
-39
19
1
14
1
-3
-20
19
11
-32
-4
-9
-60
-33
-3
8
7
-45
-12
1
-14
30
-8
-58
-26
43
-12
-10
-1
45
-10
-39
16
30
-43
-79
4
39
44
-101
-7
17
-41
-1
-64
11
-120
37
15
-41
-21
2
-30
-27
11
0
11
-57
-6
5
21
-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
28
-11
0
0
53
0
32
15
-14
0
14
-28
8
-16
0
0
0
0
0
0
0
-13
-1
-1
-3
4
0
15
-5
-4
0
0
-14
0
-27
-74
-26
0
0
-10
0
14
0
-28
-51
0
0
0
-9
0
18
-28
70
0
0
10
54
-10
0
0
72
0
0
-10
-53
0
-16
14
0
2
-33
-18
0
6
-33
0
-4
-46
10
0
0
14
0
0
-10
-4
8
2
-25
0
6
45
-36
0
-4
17
23
0
5
-6
0
0
-8
0
-104
4
-13
-39
11
0
0
2
0
23
-5
0
0
0
-34
-24
-79
0
-2
15
-8
-54
44
16
0
-2
12
0
10
74
-53
0
-11
-13
0
-75
-64
-18
0
49
9
24
46
2
-10
0
-42
15
-25
23
16
3
0
0
3
0
34
-33
-15
0
-1
41
1
-9
0
1
-34
0
-9
0
-10
0
-15
25
0
0
6
0
13
-47
0
-33
4
8
-118
-10
10
0
31
-68
0
2
-14
2
0
-70
6
0
19
25
-30
5
0
-59
22
23
47
-48
1
104
9
0
8
-27
2
-6
-42
-36
0
25
-3
-35
0
39
2
0
41
0
-20
-41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-46
0
0
0
0
0
0
0
0
1
0
0
0
-135
0
0
-13
-2
0
0
-23
13
0
0
-58
0
0
28
8
16
0
0
20
0
0
0
0
0
-4
0
0
0
4
0
-1
18
0
0
0
0
0
-34
10
0
27
14
47
0
47
13
0
0
55
0
0
-29
-26
0
0
-51
11
0
23
51
0
0
-130
0
0
-36
15
0
-4
15
-5
0
-18
20
0
0
53
0
0
0
-35
1
0
0
0
0
0
-62
0
0
0
0
0
0
18
0
0
-3
1
0
12
-12
0
0
-45
0
0
-28
67
0
0
9
22
0
9
27
0
0
-83
-17
0
7
-26
0
0
50
5
0
-4
-15
0
0
45
0
0
-1
-62
0
0
1
0
0
0
-15
-4
0
0
0
0
0
49
-7
0
0
-9
0
0
7
0
41
0
0
0
0
13
0
0
1
0
0
0
16
0
7
25
-13
0
0
-41
0
1
-3
6
0
0
22
0
-15
8
8
0
0
32
0
-8
-7
-1
0
0
63
0
5
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-88
-37
-39
1
-15
66
0
0
0
0
0
0
0
-43
5
30
-9
22
-121
-42
5
13
-36
-57
5
-31
-18
-46
7
-119
-11
1
14
-44
7
6
-2
-10
-14
-44
-58
0
-3
-10
-28
19
1
31
-4
7
-63
-23
24
-46
21
26
-26
21
-20
-7
-4
-6
-46
0
29
41
27
56
-48
-13
5
0
75
-19
4
-33
-21
3
-8
-7
-11
-55
18
-33
-12
11
17
-19
0
-35
-29
-18
-5
-28
6
-25
-68
-16
-15
38
-4
-96
-33
43
5
-2
-38
-58
-38
-36
1
46
9
-13
-18
-9
33
7
3
-8
-1
0
-3
-65
-6
-82
34
-67
5
-9
9
17
11
-25
-47
11
22
-36
18
-16
-10
-40
30
-42
55
37
-62
-25
-53
63
58
17
-8
-77
0
49
22
-6
23
6
16
1
-8
8
20
-1
35
-2
-3
21
25
7
-54
-7
-24
-19
31
-37
3
36
29
-61
-18
-34
9
-4
-58
74
-55
3
-42
-1
-6
-31
31
-3
-14
-3
-31
-22
41
17
30
32
-103
8
-57
14
-9
46
-11
-66
54
-5
-19
14
37
19
-76
4
-32
-13
30
18
17
19
-31
-27
-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
80
2
0
0
4
-3
0
0
0
0
0
0
0
0
47
0
0
0
-23
0
0
7
0
0
0
-9
0
1
-1
-7
-2
0
-2
0
15
0
-2
-1
0
0
0
-3
0
42
0
4
0
0
0
0
-49
0
0
0
0
0
8
0
0
-49
-6
-1
0
-24
9
0
-1
11
0
0
-6
36
0
0
56
4
4
-43
-22
0
0
-7
0
0
16
47
0
-42
78
3
0
0
-118
0
0
16
0
0
0
-7
-2
0
0
-2
0
0
57
2
0
-8
7
0
9
-63
0
0
-3
-5
1
-39
0
0
-10
31
0
1
-3
-65
-4
24
-4
14
0
6
6
0
3
27
-3
2
-2
8
-1
1
13
5
0
-15
50
0
-3
8
0
-2
0
-36
0
0
0
0
45
0
-74
0
0
0
0
0
0
-56
-2
0
0
4
0
5
-44
0
10
0
0
0
5
0
0
0
0
14
0
0
-94
1
13
-1
-1
0
0
-18
2
-3
-3
-5
0
0
20
0
-10
17
-13
0
0
-71
0
-1
-4
0
0
0
17
0
-13
0
0
-18
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
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
49
0
0
17
0
0
0
0
0
0
0
13
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
11
0
0
-9
0
0
0
0
32
0
0
0
0
0
0
73
0
0
0
0
0
0
15
0
0
0
0
0
0
25
0
-8
0
0
0
-3
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
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
-16
0
0
0
0
0
0
1
0
0
-2
0
0
0
-25
0
0
0
0
1
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
7
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
-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
-17
0
0
0
0
0
-1
14
0
0
0
0
0
0
24
0
0
5
0
0
0
3
0
9
0
0
0
0
3
0
0
0
0
0
0
33
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
73
0
0
-2
0
0
0
3
0
0
0
0
0
0
-24
0
0
0
0
0
0
-5
0
0
6
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
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
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
69
-5
0
0
-18
29
-26
0
0
0
0
0
0
0
-83
6
0
7
-6
0
7
-4
14
-2
0
23
0
0
18
12
8
0
14
0
16
0
0
-1
0
0
2
0
0
-57
26
9
0
-38
0
66
-61
0
0
0
0
0
-29
-24
0
-11
18
62
0
-31
-56
1
9
-18
0
0
-2
-3
0
0
83
8
0
18
-10
0
0
-35
2
0
11
44
0
-54
18
0
0
0
7
0
0
-15
-1
5
0
-48
-19
11
1
18
0
0
-4
-5
0
0
0
-1
-2
14
0
0
0
-13
-39
-11
-5
0
2
0
-1
43
-14
100
1
-4
45
19
14
-7
-5
-3
-6
57
18
10
1
-4
0
11
-45
-1
3
-14
45
0
-11
6
-7
0
0
-26
0
1
15
-1
-24
0
12
0
0
0
-2
0
7
5
2
0
0
0
6
0
25
0
65
0
0
0
-2
-15
18
3
0
2
0
-6
-23
-1
-69
4
0
-4
1
3
-1
6
-14
2
7
-7
16
1
21
-6
0
5
-6
-23
-4
3
21
0
-3
0
9
1
73
5
2
-19
0
-58
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
34
0
0
26
0
0
0
1
0
0
-13
0
0
0
0
0
-2
0
0
10
0
0
0
0
0
34
0
0
0
0
0
16
-22
0
0
-8
0
0
-7
-6
0
25
68
0
0
-3
-26
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
2
0
0
0
15
0
83
7
0
0
0
-8
0
0
-2
0
0
0
-19
0
0
0
0
0
0
-17
0
0
0
0
0
0
67
0
0
0
0
0
-5
33
0
0
-8
0
0
0
46
0
0
-20
0
0
0
-14
0
0
-3
0
0
0
33
0
0
-1
0
0
0
-43
0
0
1
0
0
0
15
0
0
0
0
13
0
-34
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
14
0
-1
0
0
0
0
14
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
0
0
0
0
0
0
0
0
-1
0
0
0
-30
0
0
-10
0
0
0
-2
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
-95
0
0
0
0
0
0
75
0
0
0
0
0
-8
0
0
-11
6
-26
0
-1
-43
0
0
-17
0
0
3
-147
0
0
8
0
0
2
51
0
0
23
0
0
0
66
0
14
1
0
0
0
-69
0
0
0
0
0
0
-41
0
0
0
0
0
0
-6
0
0
0
0
0
0
-32
0
0
-5
-1
0
0
42
0
0
3
0
0
-4
53
0
0
7
-2
0
0
-21
0
0
8
0
0
4
-77
0
0
96
0
0
0
-52
0
0
0
0
0
0
6
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
-53
0
0
1
0
0
0
-5
0
0
0
0
0
0
-17
0
0
0
0
0
0
-4
0
8
0
0
0
0
-17
0
0
1
0
0
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
-62
36
-3
18
7
-9
-78
-13
-40
0
8
24
21
-46
-6
7
-3
0
21
9
-40
0
19
-58
0
4
-1
27
1
25
65
-2
3
13
0
1
-17
11
0
-45
-24
2
-27
-15
0
-47
-86
-18
0
0
-63
-8
-4
-50
0
14
-88
-45
0
-48
-7
-106
15
-42
8
1
32
-15
6
-4
42
26
0
37
-14
-10
-33
-7
5
61
8
58
36
40
0
1
-23
108
0
-1
6
-1
9
-26
1
-6
5
-35
19
-36
-24
4
-33
-15
-67
26
-9
-1
-14
-10
-3
118
-24
-45
-33
-1
-29
70
-34
90
5
-8
37
19
-57
-69
104
-3
31
-114
-38
38
-2
-15
24
2
2
-10
-45
54
23
38
-13
5
24
73
-66
0
6
-29
33
0
57
-14
7
25
15
0
1
9
0
3
-11
2
-68
38
0
40
1
-31
0
3
-23
14
1
9
41
6
-57
-46
28
8
22
-62
14
-50
6
64
-3
-4
30
-4
87
-62
-1
0
0
-21
3
50
-1
-43
-23
0
23
6
-13
1
-2
-3
0
-12
-23
7
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-40
0
-5
-43
-1
0
-1
39
0
0
13
5
0
0
1
0
47
0
0
-5
0
0
0
-14
0
-43
4
0
0
-3
0
-22
48
0
0
0
0
0
-20
-13
2
-5
-36
0
0
-56
0
3
-2
-1
0
0
79
-33
0
0
37
6
3
-29
48
0
-1
38
0
2
-5
34
1
-46
-32
-3
5
-6
-17
0
0
-2
4
-14
0
-17
2
0
0
0
0
0
-30
0
0
0
-1
0
-6
17
0
0
-4
0
0
16
6
-1
0
8
-2
-3
-23
0
0
3
-32
9
0
4
5
7
-6
-120
-20
0
-10
-3
0
-5
-53
31
1
-5
-19
0
-2
30
0
-2
-2
-67
0
7
-2
0
22
0
-16
0
-2
0
0
-7
0
-101
8
0
0
0
0
0
37
0
-12
0
5
0
-2
-69
0
9
1
0
-6
6
0
0
-5
45
0
0
5
-60
0
-2
-13
10
0
0
-38
5
26
7
0
3
0
-61
0
0
14
-4
0
0
3
-1
9
0
0
3
0
-46
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
31
0
0
0
-23
0
0
-46
0
0
0
35
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
-35
1
0
0
0
0
0
9
0
0
4
0
0
2
-17
0
-63
-4
0
0
-8
-4
0
-9
0
0
0
-5
41
0
0
-7
7
0
2
-70
0
0
53
0
0
0
48
0
16
-17
0
0
0
-6
0
0
0
0
-2
0
11
1
-3
0
0
0
0
-4
0
0
0
0
0
0
11
0
-4
0
-1
0
0
-38
0
0
0
0
-1
-1
36
0
0
2
-3
1
2
24
0
0
-8
0
0
0
44
0
-1
5
-5
0
-3
-28
0
0
0
0
1
0
-23
0
0
4
0
0
0
14
0
0
0
0
-5
0
-41
0
0
0
0
0
0
-5
0
-1
-2
0
0
0
-9
0
1
3
0
0
0
-22
0
33
1
0
0
0
9
0
-2
-4
0
0
0
-3
0
11
0
0
0
0
11
0
4
1
0
0
0
53
0
8
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
-3
0
0
0
58
0
0
0
1
0
0
0
0
-4
0
0
-1
0
0
0
0
0
-4
0
0
0
0
0
3
-25
0
0
0
0
0
26
0
0
-23
-2
-5
0
-35
4
0
0
-3
0
0
-27
15
0
0
25
-3
0
2
-36
0
0
11
0
0
-17
-45
0
50
62
0
0
7
15
0
0
-2
0
0
0
3
5
0
0
0
0
0
-79
0
0
0
-7
0
1
-65
0
0
-21
0
0
2
-66
0
0
17
0
0
1
36
0
0
-19
23
0
0
-33
0
0
5
7
0
0
-52
0
0
-4
1
0
-1
4
0
0
-7
0
0
0
-7
0
0
0
0
-2
0
-34
0
0
0
0
0
0
-16
0
0
0
-1
0
0
41
0
4
0
3
0
0
-14
0
6
-2
4
0
0
13
0
0
-6
0
0
2
-30
0
0
23
-5
0
0
-3
0
25
-1
0
0
0
-18
0
14
1
0
0
0
43
0
0
0
0
-5
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
34
13
-34
18
-2
-16
21
-121
9
-1
18
21
-5
55
-30
14
0
2
43
-43
3
-29
-114
0
14
32
-71
10
10
-106
-56
0
-34
-1
81
-22
-2
-4
-11
-26
-53
-3
5
5
0
34
3
0
50
8
2
-20
-59
16
0
-10
-42
0
-18
3
20
-16
-23
12
-5
-31
17
-11
68
29
16
20
-8
79
44
46
-4
-15
-23
-4
-7
-9
13
-1
10
-2
-115
4
-30
5
-19
18
70
14
0
39
27
2
0
-6
6
-34
-23
-46
28
1
-1
-5
34
25
1
-49
0
71
-12
-61
-34
2
76
-65
-48
1
-12
16
-2
13
-37
82
43
27
-54
-30
-19
2
-7
-52
-25
-60
-17
-52
10
-7
-20
77
-15
-8
11
-3
79
31
5
-9
18
-1
13
-54
-4
-1
62
25
22
6
16
48
7
-11
26
-14
24
0
-36
-76
-51
16
5
5
25
-5
-21
-89
16
55
-46
-33
-33
-10
23
56
38
-23
25
-53
-59
34
-52
-43
10
-18
-22
71
12
85
35
-21
-2
-32
-52
5
29
4
-11
-3
-10
2
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
-14
5
3
5
32
0
6
-98
-4
0
0
28
1
14
1
-16
0
0
-4
0
4
0
-7
-18
0
0
0
16
0
12
46
-3
0
0
0
-15
-7
0
0
-16
0
0
4
0
3
-11
-25
0
0
6
7
0
0
-38
0
-1
9
-34
-1
11
43
0
0
0
-71
0
0
0
4
0
18
24
0
15
4
0
15
-2
-76
-6
0
6
0
25
0
-41
69
53
0
0
0
0
-56
4
0
0
0
-2
14
-23
0
23
10
0
18
43
-11
0
0
-31
3
-45
-11
2
3
-4
21
0
0
-83
4
0
-5
-48
-8
-13
-4
-55
-1
-10
7
0
-2
-8
-20
0
14
-32
0
-24
-1
41
-2
17
-2
0
-23
0
29
0
0
0
0
-2
0
24
0
6
0
0
7
-3
27
15
8
14
0
0
-8
-2
-3
0
-35
0
4
2
-7
0
-14
-18
1
0
0
-23
0
-25
-40
0
-1
0
-33
0
26
-34
0
0
-4
-42
-2
-6
4
0
-3
0
19
5
-47
-1
0
-6
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
-39
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
10
1
0
0
-1
0
3
29
0
0
0
0
0
-17
0
0
-31
-32
20
0
-76
-11
0
-3
-1
0
0
-3
-43
0
0
-38
-4
0
99
41
0
0
-9
0
0
0
7
0
-37
-9
1
0
0
14
0
0
0
0
0
0
1
0
-2
0
0
0
0
-50
-4
0
0
0
0
0
-83
0
0
8
4
0
-7
-60
0
0
-3
0
0
-19
14
0
0
74
-2
0
16
-33
0
1
-62
0
0
-2
1
0
0
20
0
0
-5
-102
0
0
-19
0
0
0
23
0
-3
0
0
0
0
-14
0
0
0
0
0
0
-45
0
0
0
0
0
0
11
0
2
0
0
0
6
-54
0
0
0
0
0
0
4
0
27
8
0
0
0
-63
0
0
16
5
0
0
-103
0
5
2
0
0
-3
2
0
0
0
0
0
0
-19
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
82
19
-15
0
-49
25
-2
48
10
-75
0
11
-7
0
-2
22
-10
0
-11
-30
21
25
12
0
-27
-16
11
0
-25
10
-5
-25
-46
7
-1
-17
14
0
-80
-3
-5
27
-21
-6
4
-9
-17
0
5
23
-27
0
68
-98
-7
15
-20
-9
3
-10
17
-4
-4
13
-9
-35
0
-18
5
-25
-2
5
-63
0
-5
-93
-52
-2
34
5
1
-13
58
7
3
0
40
-1
-38
7
81
-39
-35
2
-95
27
4
-52
80
-15
-1
-5
3
23
-31
-10
50
60
-29
12
23
28
-21
21
-17
3
-7
43
76
-28
10
-23
-1
4
-3
48
11
-23
22
-2
-70
38
-55
28
-1
-15
0
7
23
8
0
9
5
-2
21
-4
-8
-8
-17
-5
11
-29
-7
22
6
-9
81
72
-17
0
-68
-3
67
22
3
-34
-2
21
-101
24
-14
3
33
4
-71
-7
23
-18
13
-2
2
37
3
28
16
-1
7
20
5
-55
33
18
9
-11
-27
-33
17
-1
60
0
-1
-2
-6
-14
-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
27
-1
0
-1
6
0
0
-2
1
0
0
0
0
27
0
0
1
0
0
0
21
2
44
6
2
0
-1
0
-4
-10
0
0
-3
0
0
106
-6
0
4
54
5
0
-6
40
0
1
29
0
0
-2
-49
0
0
-43
21
0
-94
0
0
11
-80
-5
0
-19
79
0
-11
53
5
0
0
-5
0
0
9
1
0
0
-59
24
14
0
0
0
0
-18
0
0
0
0
0
0
91
0
-3
0
-2
0
-11
-45
0
4
-1
0
0
-1
41
0
-7
-6
32
0
-59
34
0
3
35
-9
0
42
0
2
4
38
-11
-2
2
-14
0
0
-24
0
8
0
-11
0
0
0
3
-3
0
-65
0
0
0
6
0
0
-24
6
0
0
0
0
0
2
0
-19
0
0
0
0
21
0
0
-3
1
0
0
26
0
-5
13
-2
0
5
-85
0
-13
-6
-1
0
0
0
0
-4
7
0
0
0
21
0
-1
-2
0
0
0
-11
0
-4
-1
-6
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-72
0
0
1
0
0
0
0
0
-20
-5
0
0
3
8
0
0
0
0
0
-5
51
0
0
-8
0
0
-17
-7
0
0
5
0
0
0
4
0
50
0
0
0
0
-22
0
0
0
0
0
0
-25
0
-4
0
0
0
0
-27
0
0
0
0
0
0
18
0
0
-3
0
0
0
-88
0
-1
0
0
0
2
27
0
8
0
4
0
0
-7
0
0
23
0
0
0
8
0
0
-10
0
0
0
5
0
-7
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
5
0
2
0
0
0
0
39
0
0
5
0
0
1
-14
0
7
3
0
0
0
-5
0
0
0
0
0
0
-15
0
6
0
0
0
0
-2
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
4
0
0
0
6
0
0
0
0
13
0
0
1
0
0
0
0
0
-30
0
0
0
0
0
6
-18
0
0
0
0
0
26
65
0
-4
-7
-2
0
-33
-9
0
0
18
0
0
-1
-73
0
0
-5
0
0
2
-41
0
0
23
0
0
0
12
0
9
3
4
0
0
17
0
0
0
0
0
0
-15
0
0
0
0
0
0
9
0
0
0
0
0
0
-53
0
-1
3
0
0
0
54
0
0
5
0
0
0
-18
0
0
-2
18
0
0
-86
0
16
35
2
0
0
-69
0
0
-32
0
0
3
-48
0
0
-17
0
0
0
-14
0
19
7
0
0
0
-31
0
0
0
0
0
0
34
-4
0
0
0
0
0
-1
0
3
0
0
0
-1
-33
0
0
3
0
0
0
-25
0
-2
0
-1
0
2
75
0
0
-1
1
0
0
16
0
-8
1
0
0
0
-81
0
-4
-2
0
0
0
-65
0
-15
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
-6
32
6
-2
-89
-25
-45
11
-32
-6
21
135
26
-22
17
11
-33
0
3
67
-39
-11
-22
15
-29
-31
-26
14
6
7
-4
0
-20
-6
-27
68
65
-11
8
22
22
48
-25
1
4
-68
-12
14
-5
-41
-21
-2
-43
-14
-8
9
7
6
8
5
-33
43
-1
-3
31
-16
-5
-21
-53
29
25
-26
7
-14
71
0
-1
16
-25
-33
65
-2
-43
-5
-10
-27
-4
-35
-100
29
-4
47
10
18
-62
-62
29
-27
38
0
11
-95
48
53
1
14
4
15
-68
30
-5
23
7
-35
-6
-81
-21
77
-42
-6
-15
-44
55
-53
-6
71
37
7
11
113
55
69
25
-40
-43
19
5
7
-51
-38
-14
-32
-54
-39
-2
47
8
6
-29
-16
6
-61
-5
-47
23
26
29
-12
42
-19
-18
-16
-37
-16
-54
-63
123
16
18
7
26
-30
28
14
4
-59
-65
-13
-54
-25
27
33
76
-54
-9
-6
24
3
33
45
-41
-100
-38
74
53
69
0
-12
25
42
33
-22
-54
10
-21
-40
-13
43
-41
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
10
19
0
0
19
0
-13
0
0
-1
0
5
0
0
0
-59
2
0
0
0
0
8
20
0
0
3
0
0
-6
1
0
-58
-21
-2
0
70
27
0
0
34
0
0
3
64
0
1
-66
0
0
18
-21
0
0
-57
0
0
-9
-62
0
-25
35
0
0
-3
-39
0
-1
9
0
-2
0
-53
0
0
0
0
0
0
-54
-5
0
0
0
0
0
-8
0
6
-19
0
8
-6
21
0
2
-16
0
-3
4
-23
0
8
61
4
0
12
11
-3
0
18
0
19
-2
-38
-4
6
-5
0
0
-1
28
0
0
-22
0
-1
-1
35
0
0
-6
0
27
0
-45
-6
4
0
0
0
0
-37
-7
0
0
0
0
0
-50
0
-7
0
0
0
0
-10
0
0
-2
0
0
1
5
0
3
31
-1
0
-6
9
0
-2
6
0
0
2
44
0
49
0
0
0
0
78
0
0
-2
0
0
0
-44
0
66
-2
0
0
0
27
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
42
-1
0
0
78
0
0
0
-2
0
0
-1
2
0
0
0
-9
0
0
17
0
0
-15
0
-8
0
5
0
3
-9
0
0
2
0
0
-14
-3
0
-29
-8
-25
0
-39
43
0
-2
0
0
0
-16
-24
0
0
-48
1
0
-20
-33
0
0
11
0
0
32
-7
0
-25
-2
18
0
0
-14
0
0
0
0
0
0
-36
53
0
0
0
0
0
2
0
0
0
-2
0
0
-37
0
5
29
0
0
5
-28
0
0
15
0
0
-1
-47
0
0
31
13
0
15
-15
0
-3
-45
0
0
-2
72
0
-5
-8
-6
0
16
-47
0
0
-6
0
0
0
14
0
23
-1
7
0
0
-43
0
0
0
0
0
0
3
0
0
0
0
0
0
60
0
1
0
0
0
0
-19
0
5
0
0
0
-7
-64
0
39
9
0
0
0
8
0
1
39
0
0
0
17
0
10
-13
0
0
0
-39
0
-1
0
0
0
0
7
0
8
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
-2
67
2
14
2
-54
0
20
-30
0
2
-65
-16
8
-4
-45
-7
-76
47
-1
-1
-23
9
-3
-7
36
-74
-49
-33
-1
19
-5
-7
6
7
20
-16
46
19
43
-6
-26
1
39
-7
6
-32
36
-79
-19
2
-62
-5
51
2
-2
-9
-5
8
-8
-94
-12
-6
-11
5
55
-20
-52
-26
0
5
-84
-5
-23
-51
0
-2
-36
70
-16
-29
-32
44
-89
-21
-4
-10
-61
-49
11
-111
-18
0
15
37
23
15
20
-12
49
-81
12
5
-11
-17
7
-58
-5
-6
-12
11
28
-4
-26
59
37
-51
-7
-5
-17
-1
-10
25
-52
-8
6
5
7
-67
-6
-58
-34
0
-13
-39
20
-8
-127
7
0
19
-28
-4
-1
20
-59
-65
-30
38
24
-18
28
30
5
-25
-3
10
7
-5
33
19
-46
9
-5
-28
98
54
-8
20
-14
-68
29
73
41
-39
-32
-48
49
69
25
-8
-70
6
-5
51
-20
-94
26
0
-27
-35
-40
34
69
-33
-3
-37
1
-11
-50
-16
-120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-45
0
0
13
0
2
-6
0
0
42
4
0
0
0
0
-8
-6
0
0
-3
0
0
43
-23
0
62
13
-4
0
27
-6
0
0
22
0
0
65
77
0
8
14
-3
0
6
-67
0
0
43
0
0
-36
0
0
-77
-40
2
0
0
-23
0
2
-1
0
1
0
4
0
7
0
0
0
0
-16
0
0
0
0
0
0
-19
0
3
-22
-2
33
5
-41
0
0
1
0
-3
1
23
0
0
-49
-2
-2
-3
64
5
0
-18
-1
-22
16
-72
0
-6
-4
1
8
-5
0
2
5
-26
0
0
7
95
0
4
0
1
5
0
-73
-9
0
0
-1
8
0
46
0
0
0
0
0
0
39
0
4
2
0
4
0
5
0
0
0
0
0
-3
43
1
90
0
0
0
0
-43
0
-2
9
4
-2
0
-46
0
43
-21
0
0
0
0
3
-5
-16
0
0
0
1
0
-1
-1
0
-1
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
30
0
0
0
-1
0
6
4
0
0
0
0
0
6
0
0
17
-1
0
0
-2
35
0
0
0
0
0
6
31
0
0
0
0
0
1
24
0
0
-4
0
0
-4
2
0
4
0
0
0
0
17
0
0
0
0
0
0
-30
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
10
0
0
54
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
2
0
0
0
-21
0
0
2
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
19
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
0
0
-7
0
0
0
45
-46
0
0
1
0
0
-1
-33
0
0
-4
3
0
-4
-25
0
0
-8
0
0
1
-24
0
-11
2
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
15
0
0
0
-2
0
0
-13
0
0
6
0
0
0
6
0
0
0
0
0
0
-6
0
6
1
0
0
0
5
0
0
-1
0
0
-3
-54
0
0
0
0
0
6
-28
0
0
0
0
0
0
0
-1
0
0
0
-2
0
-45
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
11
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
14
-40
17
0
0
71
-36
3
-14
-45
0
0
-9
2
-2
8
-1
-43
-3
-48
-4
-13
-11
0
0
-2
3
0
51
-4
0
-6
-28
22
0
-42
1
1
-3
-86
-6
7
33
2
0
5
-108
56
0
-71
-20
1
5
3
5
0
8
-14
-2
27
0
-26
4
14
32
-3
-3
11
70
-62
0
-13
30
-80
0
0
0
0
-11
1
0
0
18
0
-40
-59
5
20
3
-8
-9
-14
-32
0
17
29
-8
-11
-53
-10
-34
-51
34
-24
22
-25
-6
-66
-5
52
51
-67
-13
-28
56
-24
-53
-14
45
14
-42
-6
-27
6
-14
-42
-2
-23
-3
79
8
23
-31
0
-4
-16
-2
0
66
100
0
-22
-18
0
0
4
-2
0
-65
-2
41
-17
-20
5
-23
5
0
-6
-60
71
6
3
4
0
4
18
31
65
14
13
-3
19
32
-8
15
11
16
0
39
-22
4
-57
16
-32
15
-43
-71
-55
44
0
-14
6
21
-1
-3
2
0
-12
19
0
-7
-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
7
2
0
0
0
0
-5
0
0
0
0
0
0
0
0
137
0
0
0
0
0
0
0
0
0
-14
0
0
-7
0
0
-3
50
0
0
-6
-29
0
0
9
0
0
0
18
0
0
-2
0
0
-3
55
0
0
-3
0
0
0
-83
0
-91
63
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
-62
0
0
0
0
0
0
10
0
0
11
0
2
0
-23
0
0
13
0
0
0
76
0
0
-10
0
0
0
-18
0
0
-17
0
-1
1
-81
0
0
0
0
0
0
-9
0
0
5
0
2
0
36
0
0
-3
0
-14
0
9
0
0
0
0
0
0
-25
0
0
0
0
0
0
-14
0
-8
-4
0
0
0
43
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
-3
0
0
0
0
0
0
63
0
5
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
-11
0
0
0
0
0
0
0
2
0
0
0
0
0
15
-2
3
0
0
0
48
-13
0
0
7
0
0
56
-22
0
-64
-72
-36
0
-81
-4
-1
3
-40
0
0
30
7
0
0
-13
-8
0
12
-62
0
0
12
0
0
56
115
0
-2
-26
-5
0
1
-4
0
1
0
0
0
0
1
-3
-3
0
0
0
-2
-21
0
0
0
-1
0
0
-57
0
-5
-1
0
0
5
66
0
10
-37
0
0
-19
39
0
0
68
-7
0
2
1
0
-1
-13
10
0
-29
34
0
-5
10
19
0
0
36
0
0
-23
0
0
-3
16
2
7
6
-4
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
0
-3
0
0
0
8
-17
0
0
18
0
0
0
50
0
-1
-7
-8
0
-2
-15
0
0
-58
0
0
0
9
0
-5
3
0
0
0
-22
0
4
41
0
0
-3
-30
0
-5
0
0
0
0
-72
1
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
5
-2
-6
0
6
0
-17
-58
0
0
-20
-1
0
24
-72
0
32
23
0
0
-64
18
0
3
46
0
0
-5
28
0
0
-1
5
0
0
-1
0
0
-1
0
0
0
-36
0
-85
-39
-4
0
0
58
0
0
23
0
0
0
11
19
2
0
0
0
0
-4
0
0
0
-5
8
0
-85
0
0
0
5
-7
0
12
0
0
19
0
-1
23
-10
0
-3
34
115
-5
-3
-10
0
-5
-43
-14
8
3
-8
-14
26
-30
9
18
7
19
5
-15
-3
-1
71
0
13
0
-4
57
9
-65
0
-11
-7
0
0
6
5
0
-58
2
0
0
-1
0
0
-39
0
17
0
0
10
0
12
0
0
5
-19
1
0
-46
0
1
24
0
0
-6
-8
0
-23
-21
-11
3
0
-48
0
26
19
3
6
-1
-7
0
-17
11
3
1
0
5
0
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
52
23
0
-24
-10
-4
-2
-86
0
-8
-51
0
0
15
-3
13
13
34
0
32
-27
-40
0
47
-24
0
2
30
0
-1
3
27
0
-1
19
-8
0
-57
-10
0
3
-19
4
0
40
34
0
27
53
29
10
-25
0
23
19
16
19
27
0
-3
-8
1
0
23
0
2
-16
14
0
0
13
48
-5
-17
0
0
34
-15
-12
-30
-61
3
-2
24
-3
-29
55
-63
-5
-2
-12
-60
-20
-5
19
-34
-35
-83
-42
-62
-55
80
-5
-62
29
-16
-56
0
16
8
-8
85
31
-23
-2
0
0
32
-10
8
12
0
-52
-7
0
0
17
0
0
-24
-4
0
0
5
4
0
-39
0
-131
20
-11
17
25
-30
0
-8
-32
4
52
-4
-52
0
35
-21
10
-5
3
27
-1
-23
41
44
33
-1
-42
2
52
26
25
11
-1
31
-16
-2
52
14
-86
0
0
0
-79
10
-1
62
4
-105
-34
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
-10
0
0
0
1
0
0
-21
0
0
0
0
0
-6
0
0
10
37
0
0
1
-8
0
0
-10
0
0
0
-60
0
0
2
2
0
5
-32
0
0
0
0
0
1
32
0
15
25
0
0
0
8
0
0
-5
0
0
0
11
-5
0
0
0
0
0
-40
0
0
0
0
0
0
27
0
0
0
0
0
0
51
0
0
9
0
0
0
-11
0
0
3
0
0
-1
3
0
0
11
2
0
0
13
0
-4
3
-1
0
0
96
0
0
0
0
0
0
-8
0
0
0
0
0
0
22
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
26
0
-3
0
0
0
0
0
0
0
0
0
0
0
75
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
-5
0
0
0
0
0
-2
-5
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
31
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
-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
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
40
0
0
-2
0
0
-21
-82
0
-10
-58
0
-47
-6
0
0
-74
-5
-8
9
5
0
28
-63
-62
1
2
-39
0
-3
-84
0
0
-50
18
0
0
-53
11
0
-35
38
0
5
20
0
0
11
-24
0
-47
2
3
0
10
-1
0
0
0
7
7
0
33
-59
22
0
0
0
0
8
52
0
0
-2
-29
-14
-20
0
0
-25
74
-23
-3
-11
0
0
-78
-4
-39
-10
-34
0
10
-4
-44
-12
15
15
6
28
-4
27
-33
14
-12
-5
-4
2
54
-40
0
-9
0
0
0
7
-76
0
30
7
1
0
-19
-86
0
-17
-20
0
0
6
3
0
-8
0
0
0
-3
0
0
43
0
-14
21
0
-3
-4
-42
0
-10
-15
4
62
-15
-10
0
-24
32
0
35
-2
-47
0
-6
-21
20
18
0
-52
0
16
3
33
-31
0
21
0
0
0
19
45
0
-28
0
-58
0
2
-26
0
35
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
-10
0
0
0
0
0
-1
-94
0
0
33
0
0
-9
1
0
20
-13
0
0
0
-61
0
0
-43
0
0
1
-22
0
0
24
0
0
3
-11
0
0
4
0
0
0
-1
0
-44
-3
0
0
0
24
0
0
-5
0
0
0
11
9
0
0
0
0
0
-38
0
0
0
0
0
0
31
0
0
11
0
3
0
-33
0
0
0
0
2
0
-79
0
0
6
0
19
-2
-102
0
0
53
0
-3
0
-47
0
0
10
0
0
0
15
0
0
1
0
13
0
-33
0
0
0
0
3
0
-21
0
0
0
0
0
0
67
0
0
0
0
0
0
-2
0
0
0
0
0
0
-73
0
0
3
0
0
0
-22
0
8
-2
0
0
0
-3
0
0
-5
0
0
0
-6
0
-1
-1
0
0
0
-58
0
0
-6
0
5
0
6
0
-5
0
0
4
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
33
-32
0
0
7
0
-5
6
-16
31
-2
14
0
0
-6
0
5
0
-2
0
-28
12
0
-9
-69
-29
0
-42
-24
8
-6
-2
23
0
-11
11
0
-20
-6
48
0
40
-20
0
-3
5
-11
0
43
-17
0
13
-20
-4
0
-4
-18
52
2
-49
-3
0
0
-14
-141
1
3
14
0
0
-26
-77
6
33
35
0
24
34
0
8
63
16
2
9
21
0
21
0
-17
0
-4
6
33
32
-40
-36
-10
5
7
25
53
5
40
0
17
22
6
55
13
56
0
17
29
0
14
-51
8
0
89
-66
15
31
-32
67
0
0
-33
-32
-1
13
-3
0
0
-30
-71
0
2
-13
0
-31
-30
2
-45
-42
7
0
-73
-12
25
-10
-3
-121
0
5
23
-11
-66
-3
-8
0
-9
0
-5
-22
37
5
0
33
-9
0
31
-60
2
0
-33
94
3
-5
-42
17
0
-23
-25
-1
-69
17
3
0
0
11
33
166
-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
-21
0
0
0
2
0
0
-41
0
0
0
0
0
0
0
0
5
3
0
0
0
6
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
11
0
1
0
-3
0
0
3
0
0
0
0
0
0
-19
0
0
0
0
0
0
24
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
-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
-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
-69
4
0
0
8
0
0
-59
0
0
-1
0
0
-18
-19
0
-19
-62
-4
0
-27
40
0
0
27
0
0
2
-52
0
0
15
7
0
57
-16
0
0
-31
0
0
1
-27
0
-44
-5
0
0
0
-5
0
0
-5
0
3
0
0
0
1
0
0
0
0
-21
0
0
0
0
0
0
-33
0
0
1
-9
47
-2
24
0
0
7
0
3
0
-14
0
0
62
1
15
3
-50
0
0
26
1
-1
0
14
0
0
25
0
3
-1
15
0
0
0
0
-21
0
-46
0
0
-1
0
-18
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-29
0
0
0
0
0
0
31
0
0
-6
0
0
0
-4
0
14
6
0
0
0
-7
0
2
0
0
0
0
-22
0
24
-11
0
0
0
-10
0
0
0
0
0
0
-89
0
-7
0
0
-11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-15
15
0
0
8
0
0
0
-24
0
22
-7
-51
0
8
15
0
-1
5
0
10
-66
-6
0
0
-4
-13
0
-54
-9
0
3
-11
0
0
48
-53
0
-77
-16
13
9
15
57
0
0
-7
-5
7
0
-84
0
48
-1
0
0
0
8
-4
0
0
-11
-3
0
-13
0
0
-24
14
-67
3
12
0
0
-14
0
34
48
-29
0
-1
-58
73
-22
3
22
0
-2
-43
18
31
1
-26
2
2
-6
58
-13
-1
41
0
-8
-11
0
-39
0
21
0
-4
6
-5
-3
0
-45
0
0
0
0
-47
0
-6
-1
0
0
0
0
0
-25
0
8
0
0
7
0
-1
0
0
26
-9
6
4
13
0
31
5
-10
0
0
12
0
1
-14
8
0
0
-28
0
7
3
5
0
0
-42
0
-14
-3
5
0
0
45
7
54
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
5
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
0
0
0
-22
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
-33
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
8
4
0
0
6
-15
0
0
3
0
0
0
-49
0
0
0
0
0
0
-9
0
0
0
0
0
0
19
0
9
0
0
0
0
-1
0
0
0
0
0
0
-37
0
0
0
0
0
0
37
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
33
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
26
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
14
0
0
0
0
0
-1
12
0
0
23
0
0
-1
0
0
20
-32
0
0
-2
-66
0
0
-7
0
0
-5
62
0
0
-6
-3
0
0
-48
0
0
-9
0
0
-3
53
0
11
-5
0
0
0
0
0
0
0
0
0
0
-17
6
25
0
0
0
0
90
0
0
0
0
0
0
-8
0
-4
0
0
46
0
-32
0
0
4
0
9
0
-21
0
0
-3
0
0
0
-24
0
0
-3
0
1
0
-15
0
0
51
0
0
0
-105
0
0
20
0
27
0
-7
0
0
0
0
-143
0
44
0
0
0
0
0
0
-26
0
0
0
0
0
0
48
0
1
0
0
0
0
-39
0
20
0
0
0
0
60
0
-8
0
0
14
0
-9
0
0
0
0
2
14
-7
0
-8
0
0
0
0
5
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
12
-25
13
0
0
0
13
-15
0
0
5
0
0
7
31
0
69
12
-27
0
-27
4
2
0
-32
0
0
6
-41
0
0
47
13
0
15
-31
0
0
-2
0
0
-1
-34
0
-4
-49
0
0
4
-79
-2
0
4
0
0
0
-22
9
3
0
0
0
0
-9
0
0
0
0
0
5
11
0
0
0
1
0
4
36
0
0
21
0
0
64
58
0
1
-85
61
0
-53
18
0
0
47
0
0
-10
-26
2
-10
21
4
0
6
30
0
0
50
0
2
0
-23
0
8
-6
52
4
0
-23
0
0
0
0
0
0
1
0
1
0
6
0
1
12
0
-1
-1
0
0
2
36
0
0
5
0
0
0
-24
0
-8
-6
5
0
0
-25
0
-2
6
-1
0
0
-7
-2
2
0
0
0
16
-53
0
-2
0
-23
0
0
81
-3
-19
0
0
0
0
26
-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
14
0
0
0
0
0
0
2
0
22
0
0
0
0
2
0
0
0
0
0
0
-35
0
0
-6
0
0
0
-84
0
0
0
0
0
0
0
0
29
0
0
0
0
-4
0
0
0
0
0
0
-32
3
0
0
0
0
0
-45
0
0
0
0
0
0
-8
0
0
0
0
0
0
-26
0
0
6
0
0
0
-26
0
0
0
4
0
0
35
0
0
-2
0
0
0
36
0
0
-3
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
-14
0
41
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
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
-7
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
27
-2
15
-26
3
32
23
1
22
-6
-8
3
2
14
-1
-2
3
-38
21
-29
-68
53
2
-29
-54
14
-33
-92
-1
-6
-24
10
7
3
-36
58
-36
45
0
14
14
3
3
-5
-40
8
11
19
23
10
-11
34
49
1
13
1
-14
0
60
-53
18
10
-43
-31
9
-77
-14
-27
-27
3
6
13
14
-61
-33
-20
11
-2
10
10
-11
35
-29
-1
4
7
-52
-58
15
-28
6
32
6
81
1
-14
-22
31
-27
-7
-17
34
12
29
3
22
-2
-4
-3
-1
-8
15
-79
-40
43
-31
-21
-18
16
-3
0
-1
-33
-2
-101
-95
5
2
9
9
31
-80
78
-5
16
43
-46
19
-2
-5
42
-1
-47
23
-69
-4
9
43
40
-105
68
-22
-53
31
-116
3
-23
-51
37
-10
-89
85
-1
-5
-4
-11
-62
-68
-27
-8
-3
-9
-30
8
10
11
-6
-53
30
14
21
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
103
-3
0
0
-1
-1
0
54
-9
0
14
-91
-2
0
-25
2
0
0
47
0
0
42
19
0
0
17
-7
0
-12
-52
0
-1
-66
0
0
11
-37
0
66
-47
-1
0
-44
-74
0
0
24
3
8
0
4
0
-2
0
0
0
0
-6
0
0
0
2
1
1
-30
0
0
-26
1
33
6
-6
0
0
119
-11
-13
1
-13
0
0
-35
74
56
3
-18
-2
15
-10
-4
4
0
24
0
19
-50
-8
-3
-3
-77
0
-4
25
1
32
0
-65
0
0
1
-8
-44
0
1
0
0
0
-1
7
0
10
0
0
0
0
0
0
5
0
14
-1
1
-4
0
-54
0
0
28
-11
10
-2
49
0
2
10
2
-7
0
-105
0
1
15
4
0
-1
0
0
-61
5
0
2
0
52
0
-8
-4
0
0
0
67
0
-39
0
0
10
0
-9
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
-14
-29
0
0
-5
0
0
14
9
0
0
1
-27
0
17
25
0
0
-8
-8
0
13
4
0
0
1
7
0
15
-56
0
0
19
-15
0
0
-42
0
20
7
-4
0
-7
-57
0
0
-33
0
3
0
-40
0
0
0
0
0
0
-2
0
0
0
0
0
8
45
0
0
-5
3
-21
1
9
0
0
-3
0
35
0
-45
0
-8
-14
-3
20
0
18
0
0
-11
-7
-30
0
7
0
0
-27
61
4
0
-19
0
4
2
0
4
0
-2
0
0
0
0
-67
0
16
0
0
0
0
0
0
-5
0
0
0
15
0
0
9
0
0
0
4
0
0
-100
0
-1
-1
0
0
0
-55
0
0
-4
-2
0
0
2
0
0
-29
-1
0
0
-14
0
6
2
0
6
0
-44
0
1
-1
0
7
0
-153
0
-2
0
0
-4
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
29
0
0
0
0
0
1
0
0
-72
0
0
0
-6
-36
0
0
2
0
0
-3
-4
0
0
5
0
0
25
-30
0
0
42
0
0
0
-68
0
41
0
0
0
0
-18
0
0
0
0
0
0
-16
0
10
0
0
0
0
-53
0
0
0
0
0
0
-1
0
0
0
0
-6
0
22
0
0
0
0
0
0
-10
0
0
0
0
0
0
14
0
0
27
-17
-4
0
10
0
0
-5
0
5
0
50
0
0
0
0
-3
0
7
0
0
0
0
-32
0
-1
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
3
0
14
0
0
0
0
-9
0
0
0
0
0
0
15
0
0
0
0
0
0
-50
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
-13
-16
0
0
58
0
-3
-25
-154
0
-25
1
0
0
11
-62
0
0
-77
0
1
23
-12
0
0
-17
0
0
-55
50
0
0
6
0
0
5
-9
0
12
-62
0
0
22
-18
0
0
-3
0
-1
0
-28
-13
25
0
0
0
0
35
0
0
0
0
-35
-14
0
0
0
15
0
39
24
-65
0
7
-24
0
36
-40
-23
0
5
-2
0
-4
20
-31
0
-1
-29
0
-7
4
41
10
-2
4
0
9
-3
-47
0
0
92
0
3
9
-47
0
0
71
0
24
0
-24
-8
0
0
0
2
0
-17
0
0
0
0
0
-5
-4
0
-7
-5
0
5
4
-49
0
-1
-19
0
4
0
10
0
22
55
0
16
0
18
0
0
96
0
-1
0
0
0
-19
89
0
0
0
-6
0
2
59
0
-8
0
23
-1
65
85
0
-50
0
-31
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
-35
0
0
4
0
0
0
-17
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
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
-2
0
0
9
0
0
0
1
0
0
0
0
0
0
4
0
0
-10
0
0
0
4
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-51
-30
-26
-3
32
-7
0
0
-29
0
0
-21
8
0
3
28
-14
0
-30
-46
0
0
-5
0
4
-58
-32
0
-5
-91
5
25
9
-80
3
0
-3
0
7
0
39
-35
-28
0
0
0
0
23
2
0
0
0
19
0
42
0
0
-57
18
-11
0
30
0
8
-75
0
-52
-3
-6
0
7
37
-57
-5
2
-34
0
-4
7
27
-91
1
-6
7
-30
-18
-7
10
-20
23
0
-3
-36
-1
25
0
-35
3
0
5
-5
40
0
11
5
0
0
0
55
0
-24
6
0
0
8
0
0
34
1
-45
0
0
-1
0
7
0
0
-78
14
2
0
-29
0
0
-63
0
3
0
44
0
13
-14
-33
-5
-1
21
0
-70
68
1
4
11
3
-1
5
-3
-4
-16
0
5
0
-3
0
0
53
0
-33
20
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
11
3
9
-10
-23
-20
-2
-4
-12
-66
-43
-13
-74
-80
28
12
-49
-3
7
-3
-1
18
-3
-78
36
-18
-58
-130
-23
-10
-52
-20
-9
15
-11
-43
-9
-37
-14
-27
-26
-23
2
-12
15
-15
-31
77
-25
-15
-24
-76
-29
11
-10
-38
-21
0
-6
-32
-2
-55
-2
-32
-14
-34
14
27
43
44
-6
8
-11
2
1
-56
2
-24
-8
-50
-27
-9
-9
-47
-16
-15
7
37
13
13
7
-42
10
-135
1
6
-48
-19
37
0
43
-105
-21
-20
2
-2
20
-6
31
-52
23
-39
6
-14
46
1
-44
-62
-7
-53
0
-38
58
-50
3
81
-64
-19
-6
36
-24
8
-32
-9
-38
-99
-6
22
-40
31
-5
-14
-87
-5
36
-2
-62
-1
-5
13
-32
26
-13
50
20
-2
-19
23
-19
-10
-70
-54
18
-27
-26
-53
-105
16
5
-3
53
51
-63
-52
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
-8
0
0
0
15
-56
0
0
1
0
0
0
41
0
0
8
0
0
0
-30
0
0
0
0
0
0
-8
0
-1
6
0
0
0
13
0
0
0
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
-48
0
0
0
0
0
0
-6
0
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
17
0
0
0
16
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
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
1
0
0
0
-42
0
0
0
0
0
0
-61
0
0
0
0
0
0
5
0
-3
0
0
0
0
3
0
0
0
0
0
0
-10
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
-14
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
1
0
0
0
0
0
0
10
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
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
34
22
1
-27
-3
-37
0
0
-38
0
10
0
-3
0
-50
26
0
1
-47
-46
0
27
17
0
-5
-64
15
0
-59
-13
0
-16
-43
-21
3
36
9
0
0
-19
5
-25
0
36
-30
43
0
0
1
0
-40
-3
0
0
0
102
-7
34
0
0
0
6
25
0
-6
0
-1
2
1
-40
5
-9
0
-55
-40
-29
19
3
-23
7
10
3
-17
127
-14
-41
4
-8
73
-29
-20
25
-5
5
0
-37
24
-9
0
-6
0
17
6
5
39
0
24
1
0
0
16
-25
0
-18
-22
0
0
-7
0
0
61
0
51
0
-3
5
-1
-23
17
0
0
9
17
-1
19
0
-28
-13
5
-1
0
-105
0
14
76
27
9
6
5
-9
17
8
-5
-4
0
5
-5
5
-11
-1
-13
0
-1
0
1
3
-5
26
0
-19
-14
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-98
0
0
0
-1
-20
0
0
1
0
0
0
5
0
0
-1
0
0
7
43
0
0
-6
0
0
0
-13
0
64
-6
0
0
0
46
0
0
-6
0
2
0
72
-1
2
0
0
0
0
-44
2
0
0
0
0
0
43
0
0
-8
0
-22
8
15
0
0
-7
0
5
0
5
0
0
-3
1
-3
4
-15
0
0
-2
0
0
0
-5
0
0
10
0
18
0
-3
0
0
-10
0
-1
0
5
0
0
0
0
-51
0
-38
0
0
0
0
0
0
44
0
0
0
0
0
0
-51
0
-1
0
0
0
0
-32
0
0
0
0
-3
0
-1
0
-21
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
-15
0
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-75
4
0
0
2
-19
0
0
-5
0
0
6
-31
0
0
9
0
0
0
3
0
0
3
0
0
0
-72
0
-49
-8
0
0
13
-14
0
0
-5
0
0
0
-2
0
0
0
0
0
0
-102
0
0
0
0
0
0
24
0
0
0
0
0
0
146
0
0
-2
0
0
0
1
0
0
1
37
0
0
-29
0
0
-2
0
0
0
-16
0
0
-1
0
0
0
-9
0
0
6
0
0
0
-1
0
0
-1
0
0
0
-32
0
0
0
0
0
0
-2
0
0
0
0
0
0
63
0
7
0
0
0
0
-41
0
0
-3
-11
0
0
-4
0
0
3
0
0
0
-7
0
0
9
0
0
0
0
0
-6
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
-4
-64
-5
1
58
-14
0
9
12
-136
-15
-51
28
0
-1
-15
3
0
-6
10
0
26
19
-52
-1
-64
40
47
6
-58
15
105
0
-1
15
23
0
-3
4
0
-15
-5
0
-1
0
15
0
7
-1
33
-13
66
59
-11
24
0
7
-39
50
44
8
35
-10
-20
-32
56
-21
-76
24
33
62
46
86
4
0
25
-2
-48
24
59
-20
21
-28
-3
52
53
1
28
0
-43
2
6
-45
-46
13
1
17
5
5
0
14
-2
0
20
-33
5
0
4
0
-4
33
3
-30
60
-3
26
14
-35
-8
20
-41
-5
-33
13
-48
1
-48
-18
19
1
5
-33
8
55
71
-48
-19
1
-20
3
-18
-57
46
-13
0
-33
3
14
22
-21
55
-3
-6
4
-30
14
-9
-76
0
-34
-7
-10
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
7
30
0
-2
70
-7
0
20
-25
0
1
-22
25
0
-10
-3
0
0
-9
0
8
66
-4
2
-54
-75
-8
0
60
-21
0
0
-4
-1
-17
0
7
37
-24
0
0
0
0
8
3
0
1
0
-9
46
45
0
0
-5
-45
-43
-14
0
1
45
-12
2
-36
6
33
0
45
15
-31
21
51
-3
1
-22
-40
-35
-6
6
4
-1
-2
16
-61
-9
-5
-14
-4
-9
90
-4
-22
7
-22
1
4
-33
-27
-5
0
15
-3
0
0
0
5
0
-96
4
0
0
0
0
1
-68
0
57
0
-6
-2
1
0
0
-2
-13
5
-3
-7
-26
0
-58
34
6
5
5
-6
0
5
-35
3
-1
-36
-50
0
6
17
-9
1
0
18
2
-5
6
43
34
1
49
0
12
0
0
-63
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-73
0
0
-4
-1
0
0
-78
0
0
0
0
0
0
-64
0
-20
7
0
0
0
3
0
0
0
0
0
0
-38
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
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
13
-2
0
0
0
16
0
0
0
0
-14
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
1
0
0
0
0
0
16
0
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
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
-32
-19
-53
11
-37
-17
-1
-25
6
-5
9
18
-13
23
-9
6
-41
12
17
80
-27
-3
27
27
40
-31
22
61
5
3
6
-58
23
16
6
-3
15
-47
-102
11
41
13
-1
20
-23
-4
12
-87
-78
-15
-13
31
6
15
-47
1
-20
-43
0
14
35
-110
-12
34
21
3
5
2
-33
14
4
11
94
-74
-10
5
-6
40
16
-44
1
37
-14
-23
3
4
19
90
-33
-74
44
22
9
57
11
7
39
16
37
21
-73
-6
-22
-23
68
-1
-7
51
2
-11
-80
-25
-39
-21
-50
5
-63
-63
-42
-34
8
29
26
33
32
37
77
-42
-14
0
17
-47
5
-54
-9
60
-10
93
17
103
-68
-66
-47
7
38
-60
41
-9
15
35
62
15
-42
20
-1
-14
8
-36
-54
0
5
3
-3
-58
-14
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
5
-16
-18
1
-61
-3
0
21
-71
-21
8
7
33
0
5
-31
-60
-2
-52
2
0
-8
-32
-44
-5
26
21
9
4
-44
-36
-33
5
6
-16
-84
0
-48
-2
0
23
1
-5
2
-31
21
60
-11
-3
-11
0
19
-20
-5
6
0
-39
15
23
57
-28
4
-33
-28
-86
-37
12
-34
-7
5
-23
-27
6
42
-66
2
2
-12
-12
-52
72
-60
11
-1
29
-79
0
-35
4
-32
7
16
36
10
41
-3
4
-16
1
-2
4
25
0
-4
-32
0
0
-5
15
0
-20
-13
-25
1
3
61
-9
41
-1
-10
-9
-88
68
14
-28
5
-72
0
-27
8
-10
37
-1
-11
-21
16
-1
39
-26
0
-37
7
-10
-14
64
7
25
69
-22
9
-52
0
-17
0
-40
12
6
-2
0
-6
-60
5
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
29
7
0
0
-60
0
0
-57
-42
0
5
-23
0
0
-13
-8
0
0
-41
0
0
-28
-34
0
20
33
0
-1
17
-84
0
-1
-35
0
-9
0
10
22
-118
0
0
0
0
21
-8
0
0
0
-7
19
-32
0
-1
31
0
4
41
-8
0
0
-13
0
-49
-47
-1
0
-11
-56
-1
33
8
-26
0
-2
66
-20
-37
-45
-52
0
-2
-7
-2
-9
60
-4
0
20
1
-1
-15
-13
-44
21
-5
7
0
-10
0
36
0
4
0
-4
-38
0
-22
-41
0
0
0
7
0
-28
0
35
-8
0
90
10
24
0
6
-6
0
3
3
-14
0
-24
55
0
-7
0
40
-1
11
-16
0
22
0
-55
0
50
13
7
1
0
-48
0
4
65
0
49
10
-63
0
104
-6
0
18
0
-15
20
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
10
0
0
0
0
0
0
-92
0
0
-2
0
0
-1
-21
0
0
0
0
0
0
7
0
-2
4
0
0
0
-36
0
0
0
0
0
0
-24
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
5
-15
0
0
0
2
0
0
23
0
0
4
0
0
0
-6
0
0
1
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
-49
0
0
0
0
0
0
-15
0
0
0
0
0
0
-7
0
0
0
0
0
0
-25
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
-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
-23
-79
0
-11
4
1
9
-123
20
1
3
30
-3
-44
-62
32
0
-19
32
-25
9
38
-56
7
-2
59
8
43
0
13
7
-3
2
-21
-7
1
-24
10
-4
0
-28
7
9
-32
-25
-23
-32
-9
66
54
22
0
32
-27
5
28
27
6
-1
112
-32
-25
1
-4
-47
-18
-12
-25
-21
50
-50
-42
4
-53
-30
-52
-17
-9
43
-11
-9
-44
0
55
75
37
22
-23
20
6
24
0
24
-8
5
-1
0
-16
0
14
-97
-1
6
26
14
-14
-24
4
19
-39
1
-10
19
-18
0
3
-21
15
1
21
30
-2
3
-7
10
-10
0
-4
13
27
-33
-6
5
19
14
0
-2
-34
-1
-8
-30
19
-8
5
-8
-118
3
5
47
-16
-49
57
0
16
0
-5
8
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
17
7
1
28
-49
-17
34
16
-74
44
13
39
-30
-23
24
-1
16
-25
-46
43
-37
18
-41
28
48
1
1
-1
3
-35
-41
75
-44
-30
-4
23
-2
74
-42
23
-43
-14
43
59
16
-29
-11
15
-16
-34
42
-43
-28
-33
-82
0
40
-87
18
-11
-50
-55
23
-3
14
-12
88
27
-21
8
-89
-78
-8
-12
62
-1
5
126
-16
-13
-20
-7
34
-28
65
26
7
-3
19
23
3
11
-60
-41
63
54
-41
15
18
-46
-44
59
-5
-33
-19
-70
-23
-17
12
1
-21
11
-19
-88
-36
-53
-5
-30
0
-15
40
2
14
3
-3
-50
-74
-12
-15
48
-35
-10
-13
-92
51
-14
-11
-14
-22
-1
3
-65
11
-21
-5
63
-14
-45
6
12
31
-15
6
-12
-4
-13
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
-2
-85
0
0
0
0
0
0
-15
0
8
0
0
0
0
5
0
0
0
0
0
0
-99
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
-11
0
0
0
0
0
0
-28
0
0
-1
0
0
0
25
0
-3
-2
0
0
0
3
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
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
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
19
3
0
0
23
0
0
-3
0
1
0
-12
0
27
11
0
0
-1
94
0
0
0
0
0
0
52
4
0
0
0
0
0
10
0
0
0
0
0
0
26
0
0
0
1
0
-1
-14
0
0
0
0
-5
0
-41
0
0
0
1
0
-2
-34
0
-3
-10
0
-7
11
11
0
0
-14
0
0
-1
-3
0
-1
-6
0
-8
-7
11
0
-4
0
0
27
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-66
0
0
8
11
0
0
34
0
-3
0
0
0
0
5
0
0
9
-1
0
0
-14
0
0
17
0
0
-4
32
0
2
0
0
0
0
-13
0
-2
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
-33
-56
-4
34
-6
-11
-6
-22
22
0
17
-3
-1
0
3
29
0
6
-35
22
0
22
-21
2
-7
21
-1
-61
0
12
-10
-63
0
6
0
0
25
-34
3
0
0
0
-71
-20
0
-5
34
-51
1
30
1
4
-14
-16
-2
42
-43
-40
0
20
-42
-63
37
-17
-5
-9
-20
-65
1
56
-101
12
-4
-15
19
-107
-5
-33
18
0
0
-127
-2
36
53
-17
-6
21
7
32
-8
0
35
-24
1
0
6
5
0
17
-1
6
0
27
0
-20
-18
0
-7
22
-1
22
33
14
0
17
5
87
-76
1
28
0
53
49
-2
2
-39
-10
3
26
14
18
-2
-65
23
-7
-19
53
-5
0
0
2
0
51
-85
19
-22
11
2
3
23
24
0
20
0
43
-15
9
-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
18
0
0
0
0
0
0
-71
0
0
36
0
0
0
-42
0
51
0
0
0
0
44
0
0
11
0
5
0
-30
0
0
0
0
0
0
5
0
0
0
0
0
0
-49
0
0
0
0
6
17
48
0
0
-1
0
0
0
53
0
0
1
0
0
0
14
0
0
-2
0
0
0
5
0
0
5
0
0
0
-2
0
0
0
0
-8
0
10
0
0
0
0
6
0
-136
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
4
0
0
0
0
-49
0
0
-3
0
0
0
-1
0
-11
0
0
0
0
0
0
0
0
0
0
0
21
0
8
0
0
0
0
22
0
0
0
0
0
0
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
-5
10
0
0
-3
0
0
0
16
0
-61
2
0
0
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
43
0
0
0
0
0
0
-42
0
0
0
0
0
-3
-2
0
0
3
0
0
-5
42
0
0
6
0
0
0
12
0
0
5
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
23
0
0
0
0
0
0
-4
0
2
0
0
0
0
8
0
0
0
0
0
0
-32
0
0
0
0
0
0
4
0
0
1
0
0
0
-3
0
-3
-4
0
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
4
-6
3
0
6
-19
0
10
-11
0
-3
5
-32
-1
3
-8
0
74
0
-41
-11
57
0
1
3
0
-32
-32
0
1
-5
3
41
23
0
-24
-55
21
-33
19
58
0
2
37
1
21
-15
-17
-2
-5
-75
-48
-3
13
8
0
36
43
0
-1
15
-25
0
7
26
-30
24
-10
26
0
-13
98
1
-22
-3
-39
-1
-2
3
5
32
0
-39
0
26
0
3
0
9
-61
4
0
0
8
0
6
17
0
3
0
0
-9
0
-28
0
18
30
-2
-4
25
39
0
-58
-24
0
-10
0
19
-1
4
-53
14
0
0
33
0
42
-109
0
0
-3
-118
0
18
-60
-13
0
0
-27
0
-30
6
0
-14
0
-57
-13
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
-51
5
-8
-27
-13
-15
46
22
18
-14
3
19
-52
-62
3
45
-53
-24
2
-22
-6
-4
9
-14
48
15
-43
-23
93
-5
23
-55
-1
96
-35
-17
-2
55
-4
27
3
2
-19
-8
-51
16
-9
-26
12
-44
0
-8
3
-16
-11
0
-47
0
20
4
17
43
11
-49
12
-5
0
-42
23
-27
-55
-1
-14
-4
-23
21
8
-18
-12
39
-55
29
-17
-2
-27
-6
-79
-24
-30
-53
-2
-33
-10
-5
-15
-75
-74
-10
-58
-11
-19
17
14
-60
-25
71
9
59
42
-6
-97
-36
-16
-5
-90
11
6
20
-68
43
0
5
49
81
-4
81
29
-10
-45
12
41
-75
59
-62
-1
63
-52
-9
-10
17
-112
10
-28
-39
71
-1
-11
15
3
-78
-12
56
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
-44
0
1
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
-1
0
0
-1
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
-25
0
0
0
0
0
0
-4
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
-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
-18
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
22
0
0
-5
0
0
0
-26
0
-2
-5
0
0
0
60
0
0
0
0
0
0
23
0
0
0
0
0
0
-53
1
0
0
0
0
0
43
0
0
0
0
9
1
42
0
0
1
0
0
-3
-4
0
0
0
7
-1
0
20
0
0
-1
0
0
0
1
0
5
42
-1
0
0
-160
0
0
0
0
0
0
6
0
0
0
0
0
0
-31
0
0
0
0
0
0
18
0
0
0
2
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
14
0
-3
0
0
0
0
-40
0
-1
10
0
0
0
-15
0
5
1
0
0
0
6
0
0
-5
0
0
0
7
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
-42
-46
-1
45
-23
-16
-1
41
4
0
6
90
-149
4
-33
-22
11
22
9
43
39
0
0
-93
3
0
50
4
0
-7
-33
0
0
26
2
-33
-3
6
-26
26
1
39
16
-29
5
0
37
-1
15
86
-1
-6
11
-16
-41
-36
24
18
7
-4
-34
9
-8
42
-6
46
53
-28
55
-47
20
2
0
-39
-34
-2
-20
22
-48
8
-32
-5
39
-9
0
32
6
-11
0
6
21
0
5
72
0
13
45
0
-10
39
8
68
23
8
79
-29
-54
0
27
73
-4
-5
27
-19
22
62
-39
55
8
66
-15
61
-8
30
-15
0
59
-26
18
-24
-44
-4
-42
-5
6
3
-27
37
-13
-18
15
-11
2
-31
-22
14
-2
0
-12
36
-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
71
13
0
1
33
0
4
-7
-20
0
27
-43
0
-7
-6
-44
2
0
-1
0
-20
0
-16
-77
-4
0
0
0
0
23
14
0
0
0
0
0
-55
0
1
17
0
56
-45
54
0
-3
-20
0
13
-69
27
0
-2
40
0
-17
33
-14
0
-7
45
0
0
9
41
0
-6
27
0
-6
-2
-37
-3
-6
11
0
-13
0
-14
0
17
-6
0
-21
0
4
0
-9
0
0
-1
0
-52
6
0
0
0
0
0
-25
0
-65
1
0
0
5
46
0
-1
14
0
0
-1
-60
-2
-5
-18
1
0
2
5
0
-9
-85
9
0
-2
12
-2
-1
15
0
0
0
-44
5
-1
18
0
5
0
37
0
-33
3
0
13
0
-1
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
5
59
0
0
-2
0
0
-3
14
0
13
0
0
0
0
2
0
0
-1
0
0
0
35
1
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
-125
0
0
0
0
0
3
-39
0
0
-3
0
0
0
-41
0
0
2
0
0
0
-27
0
0
-6
-1
0
0
-36
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
3
0
3
0
0
0
0
-9
0
0
0
0
0
0
14
0
0
0
0
0
0
-29
0
0
1
0
0
0
-26
0
0
3
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
45
22
7
-4
-59
0
3
-24
0
-16
0
9
24
-37
0
-14
0
0
-1
-33
0
0
5
-1
20
37
0
36
-32
-71
-22
38
39
0
1
-77
-15
26
-84
-17
0
-14
-17
9
-13
-13
25
0
-62
-9
-7
-9
4
0
0
33
-30
22
-3
4
0
-1
63
0
0
-22
-4
13
35
2
-8
2
26
0
32
4
-6
0
0
-18
0
45
-23
0
4
8
0
-1
86
-1
2
-2
-5
4
16
-4
0
10
95
29
0
-11
-56
11
2
38
16
1
-4
43
-1
59
53
-37
0
0
-25
-2
-30
-5
5
1
4
-1
15
-14
3
-6
2
2
-11
0
-57
11
0
37
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-39
14
0
-28
-38
-23
-43
12
-37
-9
14
59
-93
3
-7
30
4
-19
-71
51
-52
1
15
-53
-17
35
-27
62
15
-5
-52
10
16
32
-7
8
14
-3
27
35
-3
21
-20
-33
-5
-11
-11
13
-16
-8
-32
-12
9
-38
13
-8
0
33
-7
-10
-15
-16
8
-21
0
-68
-6
-7
12
96
-4
-107
-56
19
-28
-7
1
-11
31
-66
15
-5
-35
-11
50
58
-91
-117
15
-32
-35
-1
28
-53
33
16
24
-62
29
-100
5
11
-25
5
-15
25
16
-5
-17
-3
-23
1
11
-13
49
-32
-14
-12
-10
0
-118
15
-50
-3
0
49
-27
15
31
-7
19
13
42
-3
-101
9
-10
-42
11
-13
-9
75
-14
-45
22
-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
0
0
0
0
0
0
0
0
0
3
31
0
-5
4
0
0
0
4
0
0
0
0
0
0
-55
0
0
0
0
0
0
-34
0
0
0
0
0
0
-2
0
1
0
0
0
0
-53
0
0
-1
0
0
0
5
0
0
0
0
0
0
-22
0
0
1
0
0
0
50
0
0
0
0
0
0
-65
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
-16
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
-78
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-2
0
0
0
-18
0
0
0
0
0
0
61
0
0
0
0
0
0
-14
1
0
0
0
0
0
-23
0
0
5
0
0
0
69
0
0
0
0
-11
0
37
0
-1
2
5
15
-14
-80
0
0
-22
1
1
1
-35
0
0
-20
0
25
0
85
0
0
0
0
0
0
-4
0
3
1
0
29
0
-15
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
3
0
0
0
-50
0
0
0
0
0
0
-35
0
-7
0
2
0
3
0
0
0
4
-1
0
0
-14
0
5
-2
0
0
0
-47
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
-96
-23
0
18
-13
-42
-23
-5
-23
61
-6
-4
-2
8
0
14
37
-19
0
-35
1
1
-30
21
-2
0
15
13
-62
1
-19
32
68
47
64
91
4
0
-39
-8
-6
47
75
27
-27
4
-19
-14
-31
-25
-1
19
33
-65
-21
-23
-20
4
-2
-22
43
-38
7
39
1
-3
-9
6
2
107
2
10
-10
-13
10
13
58
0
-13
-18
20
0
-1
7
0
-14
-44
0
0
-7
-5
-6
-8
-7
-77
-30
11
-5
-47
-9
8
74
32
-26
-14
22
-30
3
-5
-53
-29
-55
-21
14
41
-39
42
-40
-5
18
-24
-5
14
30
-13
19
16
-1
33
62
-69
-8
77
0
-32
7
0
-6
1
66
0
23
22
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
-27
0
-23
1
0
0
0
19
0
0
0
0
0
0
-42
0
0
0
0
0
0
-11
0
0
0
0
0
-1
-36
0
0
0
0
0
1
-43
0
0
-2
0
0
0
-46
0
0
23
0
0
8
-19
0
0
10
0
0
0
-33
0
0
-5
0
0
0
63
0
0
1
0
0
0
14
0
0
-1
0
-4
0
10
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
6
-6
0
0
0
8
0
0
18
0
0
0
-38
0
-5
0
0
0
0
31
0
0
-2
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
6
0
0
0
0
0
0
26
0
0
0
0
0
0
22
0
0
0
0
0
0
35
0
0
0
0
0
0
-27
0
0
7
0
0
-2
-128
0
0
-14
0
0
1
-110
0
0
-14
0
0
0
-3
0
0
3
0
0
0
17
0
0
0
0
0
0
27
0
0
0
0
0
0
-97
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
-9
0
0
5
0
0
0
-9
0
0
0
-3
0
0
-15
0
0
-1
0
0
0
-23
0
0
0
0
0
0
29
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
70
0
-6
44
46
10
0
-30
21
-19
4
-4
0
0
-13
-8
0
0
4
36
-5
0
0
3
87
45
-75
32
-34
0
-43
-12
0
-81
51
-43
8
7
-59
41
15
-2
29
-6
-9
-26
-5
-34
13
29
14
17
-13
17
-83
0
-31
1
43
138
0
-48
0
4
0
20
2
0
-19
0
-33
0
-1
0
-33
4
0
1
0
0
0
4
0
0
-44
0
-70
0
5
7
1
-51
0
-27
-100
-80
1
-6
11
0
17
49
-1
13
-9
34
4
19
-73
-18
-20
-14
40
0
17
46
-4
14
0
8
-3
18
22
-6
-8
0
44
0
-21
0
0
19
0
-53
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
30
28
-18
-9
-15
-62
-62
5
-27
-86
74
141
-46
8
-8
-6
-119
6
14
6
-41
32
4
-5
57
24
-8
28
-10
-13
3
-16
-25
13
15
-31
8
23
18
0
-33
-42
46
-9
14
-6
-13
-25
-41
43
10
-71
31
-15
-29
-30
42
0
-55
-56
20
26
29
51
-34
1
-23
-21
-22
-13
-3
-15
4
-7
-1
-64
-35
-7
9
-10
-16
8
27
5
61
-3
-3
3
-19
-60
5
-33
-25
-6
-31
-34
21
-9
42
-7
-15
-33
-40
-6
-100
21
10
-45
-2
-1
18
-58
-23
14
9
4
21
-19
-95
-54
0
-47
-19
27
-58
-51
-10
46
-6
6
-4
0
15
7
18
37
11
-33
-20
-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
0
0
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
-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
-9
0
0
0
0
0
0
-10
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
45
15
1
-70
-1
17
-20
-2
-3
-45
-4
11
4
-30
-2
-21
-7
-36
131
-13
8
16
24
11
0
-2
-17
-1
-6
-52
-42
34
-69
-23
-23
-103
20
32
-55
-56
-8
77
-32
-10
59
25
48
0
32
-24
-40
-1
-13
-95
16
1
-32
15
14
34
48
10
-3
9
-16
10
2
-2
19
55
-5
-7
29
38
0
-6
1
-1
43
18
25
-21
-10
-35
33
-37
29
24
4
-45
18
31
16
-11
52
-77
-21
6
-40
-23
-119
2
-47
52
3
-9
3
-52
25
19
24
2
53
76
-47
-16
-14
-39
16
9
-19
37
15
15
30
-18
-102
-85
-35
7
0
21
-7
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
14
0
35
24
0
38
4
102
0
13
0
0
5
-33
32
-1
-29
102
14
46
-5
18
-12
-83
-9
-94
-24
-3
-5
34
0
49
-6
10
-7
10
51
21
-15
-50
11
-4
-45
61
-27
-61
44
-50
7
-11
-126
-35
-4
0
-26
7
55
-14
2
-15
-16
-78
1
-15
0
24
14
0
48
-3
-2
0
-44
28
0
-18
8
0
-1
-13
5
1
6
-5
-25
46
4
5
6
-14
0
0
11
-50
-20
14
-33
0
-30
14
36
-19
51
-51
3
51
41
-92
-46
-2
-24
5
59
19
35
7
-1
-29
20
64
0
-9
7
-7
10
-8
57
0
-13
24
0
10
18
-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
-69
2
4
2
0
1
0
-14
0
-2
0
0
0
0
8
0
0
10
0
0
-1
23
0
0
7
0
-55
1
-39
0
0
-5
0
-10
33
-22
0
0
-32
0
48
-9
-36
0
7
-44
0
-3
0
-20
0
0
50
0
25
9
13
0
-1
-7
0
-8
0
-20
0
11
19
0
-8
0
32
4
-1
7
0
-10
0
-1
-1
0
0
0
0
0
14
0
-2
2
0
0
0
-86
0
0
0
0
0
0
-14
0
-19
-3
0
29
0
-31
0
4
17
0
0
0
81
0
-23
7
0
1
0
50
0
0
44
0
0
0
29
1
-18
0
0
0
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-64
1
0
0
0
0
0
-19
0
0
0
0
0
0
-7
0
0
-7
0
0
-10
26
0
0
-4
13
0
0
-44
0
0
19
0
0
0
-16
0
0
1
0
0
3
-25
0
0
-4
0
0
0
10
0
0
-7
1
0
0
-36
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
6
0
0
0
0
6
0
0
-5
0
0
5
-6
0
-4
-7
-9
0
0
3
0
0
2
0
0
0
-13
0
-7
3
0
0
0
-40
0
1
7
0
0
0
-53
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
52
0
1
0
10
0
0
1
0
0
0
0
0
0
-25
8
0
-9
23
9
-25
10
0
0
-15
-1
31
-29
-23
0
1
10
26
18
-9
-21
0
-3
-56
9
-56
0
-7
3
1
-67
-19
87
0
42
0
-7
23
24
-117
0
37
0
13
-25
-3
-158
0
-82
0
0
0
0
-1
0
3
0
0
0
-15
2
0
-75
0
19
0
0
-4
0
4
0
0
4
-1
-13
0
-7
0
9
26
-5
-2
1
-58
0
1
3
-24
6
0
17
0
-10
10
0
-2
0
2
0
4
30
-2
-1
0
89
0
-9
0
0
-2
0
-78
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
16
43
31
71
-2
0
0
-7
6
0
2
45
-29
37
-19
-5
4
-45
-12
30
-59
-42
0
-5
-51
-5
-33
9
-9
-7
-77
-34
-57
-8
-56
15
8
-48
-24
7
12
-23
23
-2
-54
-1
-27
-24
16
40
-44
-53
67
-71
-20
80
0
-51
22
-34
-26
-2
0
11
-74
-5
-1
-42
25
-1
-23
-67
5
11
-8
44
-24
-29
-5
-34
-105
-7
17
-24
-20
13
-36
28
-18
8
-31
6
0
-4
-54
56
47
7
-9
-16
-59
-53
-27
-4
5
-17
0
21
-39
15
15
-1
6
72
-34
-60
-5
-111
33
0
6
3
-61
-4
-7
0
2
-45
14
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
-28
0
6
0
0
0
0
-59
0
0
0
0
0
0
44
0
0
0
-4
0
0
-37
0
0
1
0
0
2
-46
0
0
33
0
0
0
-24
0
0
61
0
0
0
-12
0
-1
5
0
0
0
117
0
0
0
0
0
0
-4
0
0
0
0
0
0
10
0
0
0
0
10
0
-3
3
0
0
0
0
0
5
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
0
1
-2
0
0
0
22
0
5
0
0
0
0
-5
0
14
-6
0
0
0
36
0
0
0
0
0
0
14
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
64
0
0
0
0
10
0
-20
0
0
0
0
0
0
-4
0
0
7
1
0
-1
15
0
0
5
1
0
14
-4
0
0
10
0
0
0
-43
0
0
46
0
-25
0
3
0
0
0
3
5
0
-43
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
4
0
0
0
2
0
-5
0
0
0
0
-43
0
0
-14
-4
0
0
0
0
0
0
7
0
0
-15
0
0
-32
0
0
0
-9
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
58
80
62
0
1
0
0
-3
-2
0
0
0
3
-10
-88
0
0
2
-40
52
-2
-34
0
0
43
-5
14
17
-29
0
-43
25
-8
-18
0
3
0
-1
13
33
-22
-2
-46
-4
-14
2
14
33
-3
-65
0
0
-3
0
49
0
9
0
4
0
2
22
0
80
13
0
0
0
-9
0
-15
0
0
0
11
0
2
-50
0
-47
-2
0
7
1
-34
0
-1
-2
-13
-65
0
-19
0
-9
18
0
-1
-1
42
0
8
5
0
-7
0
-101
0
-67
1
24
2
0
47
0
7
32
6
0
0
-1
0
-2
0
0
21
0
9
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
56
0
0
0
0
0
0
2
0
0
-4
0
-22
0
-43
0
0
18
0
7
-4
-13
0
0
6
0
-18
0
-71
0
0
-1
0
-15
0
18
0
0
45
-3
5
0
69
0
5
4
0
-25
0
9
0
0
-23
0
6
0
-34
-1
0
0
0
0
0
49
0
0
0
0
0
0
22
0
6
0
0
11
0
47
0
0
0
0
0
0
-9
0
26
0
0
0
0
23
0
-2
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
-33
0
-14
0
45
0
-9
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
13
-5
5
0
0
0
0
23
9
0
0
0
0
-3
13
0
-4
6
-2
0
-17
-33
0
0
-15
6
0
4
21
0
8
46
-50
0
7
-12
0
-3
-5
5
0
3
12
0
-7
7
-10
0
11
-17
0
0
5
0
0
0
-14
-1
0
5
1
0
0
-34
0
0
0
0
0
0
51
-15
0
0
5
0
0
45
0
2
0
0
0
0
-39
0
0
2
0
0
-2
69
0
-15
9
-8
0
0
19
0
-1
20
-2
0
0
-5
0
29
-8
5
0
0
-91
0
0
-31
0
0
0
-32
0
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
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
-8
14
-11
-3
3
42
5
-17
24
7
-5
-3
50
-13
-6
11
12
-21
18
64
-14
17
-71
-27
-5
-13
-32
-1
14
-60
-24
5
-120
22
43
3
-26
-17
32
19
24
16
18
-106
-35
-27
-31
-21
-45
-1
-86
-23
-10
-65
4
-75
0
14
-11
-86
23
-58
-1
21
-104
-19
-35
-4
15
-22
4
9
-17
2
-29
20
9
6
7
-22
55
39
-26
-33
-4
62
29
12
-6
-33
-14
-38
-81
26
-54
-32
-18
-38
20
-30
-1
-30
-108
-73
-110
15
-21
-2
5
-51
-61
26
3
-14
2
0
-24
-15
-11
0
6
-93
16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-5
3
4
0
0
41
20
68
-38
-34
0
0
33
4
-33
25
-46
1
-5
-93
73
16
-7
4
0
-3
-6
-8
-76
2
1
11
-21
4
-35
-13
0
48
6
3
-24
3
49
-4
37
-1
10
-9
14
-21
0
8
0
0
0
0
-1
0
-55
-9
6
0
5
0
0
-18
0
7
0
0
0
0
-41
0
0
17
-1
0
-6
26
0
-31
3
-7
0
1
9
-4
-4
-25
16
-2
4
19
0
51
4
0
0
0
-33
0
-1
16
6
0
1
-60
0
7
-5
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-3
0
0
25
-44
-1
-12
0
0
8
2
19
-4
12
0
-5
14
50
-9
-2
7
-14
0
20
25
-65
0
-14
10
-3
-27
-8
2
-1
19
0
0
58
-15
56
-7
39
0
0
-5
-2
-87
0
-29
-5
0
27
0
6
1
-56
0
0
0
0
0
2
-16
11
-22
0
0
-5
14
-27
0
-1
-4
0
-7
-1
68
0
10
-8
0
0
0
-37
2
0
13
17
0
0
-27
0
5
-1
0
0
-3
-9
-4
7
20
-5
0
0
-10
0
4
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
17
0
0
9
0
0
0
17
0
0
0
0
0
0
5
0
0
-2
0
0
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-22
0
0
0
0
0
0
5
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
0
0
0
-2
0
0
0
0
0
0
-5
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
0
0
0
0
0
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
-44
0
0
13
0
5
0
-53
0
0
-2
0
4
8
-43
0
0
20
0
0
0
-33
0
0
5
0
-21
0
-6
0
0
-33
3
0
0
22
0
0
14
0
-9
0
-1
0
0
0
0
4
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
3
0
0
0
0
45
0
0
0
0
0
0
3
0
9
0
0
0
0
11
0
0
0
0
0
0
-31
0
17
0
0
0
0
-30
0
0
43
0
-2
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
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
20
0
0
0
0
0
0
47
0
0
0
0
0
0
-3
0
0
2
0
0
0
42
0
0
-4
0
0
0
14
0
0
-1
-1
0
0
5
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
-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
9
0
0
0
0
0
0
-53
0
0
0
0
0
3
55
0
0
-1
0
0
0
-13
0
0
0
0
0
0
60
0
0
1
0
0
0
14
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
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
1
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
-37
-11
5
83
19
-69
-61
-12
11
-17
-102
5
0
-11
-1
7
-86
-41
39
-39
-62
52
26
-25
19
36
-49
-12
34
2
35
35
-17
-3
2
1
12
25
12
19
10
-9
32
1
-44
1
-21
-66
-18
-1
16
77
-22
34
-71
-33
-1
0
-14
4
0
40
0
22
-15
-48
22
32
22
62
-25
13
4
70
-21
-131
22
-16
7
-9
-4
42
-1
-57
-14
11
52
-42
-57
-118
-60
58
54
1
10
93
109
-116
45
7
-11
-34
-44
-14
-64
9
4
-66
8
22
-31
-17
2
25
24
-18
36
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
7
-49
0
0
-6
7
11
0
-9
0
0
2
0
6
6
-96
0
3
25
-5
2
4
15
0
0
-56
-1
27
0
5
0
7
-33
0
-3
0
16
0
3
2
0
14
0
-50
0
0
0
0
-4
0
-126
0
1
0
2
-6
0
-25
0
0
0
0
0
0
24
0
-9
0
0
0
0
52
0
0
0
0
0
0
-33
0
29
5
0
9
0
-2
0
0
-10
-1
-3
0
-121
0
-2
-1
0
-1
0
-13
0
0
0
0
0
5
10
0
-24
0
6
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
-6
0
0
0
85
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
1
0
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
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
9
0
0
0
0
-2
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
42
0
0
-1
3
0
0
8
0
0
0
0
-5
0
-3
0
0
0
0
14
0
40
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
-1
0
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
10
0
0
0
-86
0
0
0
0
-4
-1
8
0
0
-9
-3
0
0
-71
0
-4
14
0
69
0
5
0
0
9
0
0
0
47
0
0
0
0
14
0
27
0
0
0
0
-28
0
-3
0
0
0
0
0
0
-30
0
0
0
0
0
0
-41
0
0
2
0
0
0
-23
0
0
0
0
5
0
8
0
1
-4
0
0
0
-49
0
0
9
0
0
0
-39
0
5
-2
0
0
0
-45
0
0
-2
0
0
0
-11
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
9
-2
0
0
0
-52
0
0
-21
0
0
-5
-8
0
0
2
20
0
13
35
0
0
31
25
0
0
31
0
0
23
15
0
0
-7
0
0
-4
0
0
0
-21
0
0
0
0
0
0
-32
7
0
0
0
0
0
8
0
17
0
0
0
0
23
0
-4
21
13
0
0
-44
0
2
2
0
0
0
14
0
-1
30
-4
0
0
7
0
-1
0
0
0
0
-31
0
4
-3
0
0
0
-73
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
-3
0
0
3
0
0
0
42
0
-4
-24
-11
0
-5
-71
0
2
28
0
-3
-1
84
0
1
103
-1
5
0
-16
0
-2
-5
0
51
0
-76
1
0
4
0
19
0
40
0
0
0
0
0
0
-2
-8
0
0
4
0
0
12
0
43
0
0
0
0
-72
0
0
15
0
0
0
-5
0
16
1
4
0
2
34
0
0
13
-9
0
0
51
0
11
-26
0
0
0
-142
0
0
0
0
-8
0
-28
0
5
0
0
-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
-25
-3
-6
2
82
36
16
-130
39
13
-32
-55
-40
-13
69
43
-45
-38
3
1
-46
12
-21
-27
-64
-13
-62
-18
-49
10
18
1
-6
-31
-47
38
32
22
7
-50
-24
7
0
6
-31
-9
2
15
-5
-2
-8
-77
5
5
22
-3
51
0
44
-11
-47
36
4
-53
29
-1
110
-2
15
-19
-73
-9
6
15
7
-32
-43
-61
42
-6
-9
-55
-3
-67
17
1
-5
-48
-51
-28
-7
-4
12
-78
73
39
8
-61
8
10
29
24
21
-14
52
1
69
-15
18
24
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-19
0
0
0
0
0
0
-18
0
0
3
0
0
0
-21
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
-16
0
-1
0
0
0
0
-8
0
1
0
0
0
0
-14
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
17
-72
0
0
2
0
0
-1
-9
0
0
-1
1
-1
0
51
-1
0
14
0
3
6
0
0
0
-1
0
0
0
13
0
0
2
0
7
0
4
0
0
0
0
32
0
14
0
0
0
0
-2
2
-3
0
0
0
0
0
0
1
0
0
-2
0
0
3
10
0
0
3
0
-13
0
6
0
5
0
0
0
0
-21
0
0
0
0
0
0
-16
0
0
-1
0
0
0
-10
0
-3
0
0
0
0
-13
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
95
-43
0
-4
-5
0
23
16
45
0
8
-5
77
26
-15
73
0
48
-38
-21
63
2
38
-6
8
0
-43
-9
10
-84
2
-3
-25
0
28
-1
-30
-5
0
-1
-45
30
0
-15
-1
0
0
0
6
0
-20
0
0
0
-5
0
0
-14
11
73
0
-3
5
0
38
0
2
0
0
-3
4
31
0
28
-21
0
-3
0
-31
0
1
21
2
23
0
-45
-2
-78
68
-6
0
10
40
2
2
-2
0
-2
-1
14
0
47
10
-1
25
0
-64
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-49
0
0
80
0
16
96
62
0
-15
92
0
0
33
-40
0
1
-28
14
-63
-2
23
0
23
36
0
2
11
-7
-8
0
17
1
69
0
-25
-7
4
36
0
-5
0
30
0
-8
0
0
6
0
-30
-3
0
0
0
-2
-5
-40
0
-32
2
0
-2
0
26
0
3
25
0
0
0
-42
0
7
-22
0
0
-2
75
0
-4
-21
4
2
0
-57
0
-53
8
0
-1
0
88
2
9
-41
0
-1
0
0
0
-33
-1
0
-11
0
-45
10
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
0
45
-5
0
56
-80
-5
33
-24
23
0
22
-40
7
52
19
-43
0
36
5
3
-10
52
-21
0
-43
7
5
19
6
22
0
54
-13
-3
7
47
-14
0
0
13
4
0
-3
5
0
0
-29
-20
0
0
1
0
0
-24
0
57
-33
0
0
0
20
0
0
64
-8
0
3
26
0
-55
-6
-34
0
4
-1
14
-1
30
11
0
6
147
0
-72
61
-46
0
0
64
0
-5
84
26
0
0
-33
0
28
-78
0
0
0
64
4
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
13
-36
3
4
-3
32
10
81
-29
-2
4
-7
9
-3
43
31
0
8
-79
-39
1
0
22
0
1
-14
0
-36
0
-73
0
0
31
-29
-18
0
-41
0
0
0
2
9
0
51
26
0
-1
2
0
0
46
0
-28
0
0
-1
0
-4
4
-2
41
1
5
0
-16
0
-25
81
0
0
0
5
0
-2
-90
13
0
0
-20
0
72
17
0
0
0
-32
2
1
3
13
0
0
-2
0
16
0
0
-14
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
18
2
-4
-28
7
0
-9
52
8
3
47
-6
-16
-13
29
35
-68
-41
25
30
-10
-10
9
-50
-9
1
-34
1
13
-7
80
-20
31
17
-2
-5
-6
6
-29
59
10
-20
14
0
-42
-14
15
-49
-64
-20
32
-64
12
-26
-5
42
-14
0
-20
48
-52
82
14
-109
28
11
4
59
11
38
64
20
-89
3
-4
49
53
-3
10
-6
-1
-14
-80
-5
-45
33
-9
-53
25
0
35
14
8
97
22
-1
-55
-25
-13
30
3
-42
-9
71
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
-19
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
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
4
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
-1
65
0
0
-6
27
0
0
-21
0
0
34
7
10
0
52
0
2
5
1
-1
2
21
0
0
34
0
0
1
0
0
0
0
0
-2
0
-52
0
0
0
0
0
0
-24
0
0
0
2
0
0
-6
0
4
0
0
0
0
-36
0
0
0
0
0
0
-29
0
19
6
1
0
0
-3
0
0
5
24
0
0
-71
0
19
-18
3
0
0
-14
0
0
0
0
0
0
-36
0
-7
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
-35
34
-2
11
-15
10
-3
-46
22
-1
-62
-64
-28
59
5
39
6
-43
-61
-27
-44
65
21
0
4
27
1
43
-5
-73
0
3
-19
23
53
0
-11
-1
0
0
8
-5
0
28
31
9
0
-14
0
0
70
1
-23
0
0
8
0
0
0
0
-22
25
3
-1
-13
0
-54
-43
14
0
0
22
0
-19
-62
-7
0
-35
44
-7
45
8
8
0
1
32
0
-1
-6
-1
-17
0
-67
0
-43
0
1
-11
0
-39
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-36
0
0
0
-61
0
-5
-5
0
-2
0
-56
0
3
14
0
-13
0
-80
0
0
26
0
-5
0
-8
0
0
0
0
42
0
27
0
0
0
0
19
0
-10
0
0
0
0
0
0
3
0
-1
0
0
-6
0
-4
0
0
10
0
0
0
-1
0
-6
0
0
0
0
33
0
0
3
0
0
0
29
0
-2
11
0
0
0
-33
0
0
-1
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-29
-7
25
0
-6
-40
0
7
29
-80
0
-8
-23
0
39
6
29
0
22
12
6
1
27
2
0
1
-2
0
0
3
0
0
0
-7
-1
2
-2
5
0
0
-16
29
0
0
-7
0
-3
32
0
-4
2
14
0
0
-5
0
0
-53
17
0
8
-33
0
-54
99
-45
0
2
-29
0
-4
34
-26
0
-4
-29
0
-23
88
-23
0
0
32
-15
5
87
0
0
0
-75
0
-14
17
0
0
0
28
-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
-2
-78
0
-4
-48
-21
6
5
-40
3
58
-45
-58
23
-3
-25
4
0
-12
-4
-45
0
41
0
22
52
16
-62
0
2
-2
0
0
0
0
0
-29
-10
0
0
-7
0
0
58
0
-45
11
0
10
-6
-36
0
9
-10
-1
4
0
34
0
-29
7
6
0
0
42
0
1
43
-16
0
0
-14
0
21
21
5
0
0
-4
0
-16
32
-14
0
0
42
7
-90
9
0
-1
0
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
30
13
-39
-71
-20
-5
-8
-51
4
28
-30
0
-17
-70
35
2
-5
65
3
14
-37
14
-49
-16
-79
-22
6
-14
-7
21
-54
-52
5
-100
-14
14
26
-29
16
55
-71
6
-37
-11
-7
-45
-48
10
-88
85
22
-1
-48
-18
-52
-27
36
0
-7
-10
17
74
7
-5
-2
12
-21
38
0
36
40
-28
4
19
47
41
-33
-3
23
-35
-90
-32
-68
-77
7
-26
1
-21
-7
-2
-53
6
5
67
32
32
-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
-103
0
0
0
0
-4
-1
9
0
2
4
0
0
0
4
0
-6
0
0
0
0
18
0
0
0
0
-2
0
-55
0
0
0
0
0
0
49
2
0
0
0
0
0
-49
0
1
0
0
0
0
-9
0
-2
0
0
0
0
1
0
0
0
0
0
0
-3
0
-6
0
0
0
0
-2
0
0
0
0
0
0
-11
0
0
0
0
0
0
14
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
29
36
0
74
-26
15
6
-10
0
-14
22
7
2
-1
-128
0
7
-15
0
-20
14
-55
0
0
6
0
0
0
28
0
0
0
0
0
0
48
0
0
0
5
0
0
65
4
-1
0
1
0
0
-102
0
-2
6
0
3
6
-16
0
43
0
0
0
-2
-4
-3
-1
-1
-4
1
0
-27
0
40
20
0
0
0
-57
0
0
-14
0
5
0
30
0
55
0
0
-1
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
0
0
0
0
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
-24
-84
-13
-107
10
15
-3
-1
71
-15
4
35
-24
-4
-7
47
-33
11
-11
5
-39
43
4
-117
34
37
0
5
-34
-4
0
-5
-15
0
26
42
0
0
60
0
2
5
9
-28
0
-6
20
-5
-16
0
55
-13
23
11
-37
69
-10
-33
112
0
-1
-25
-36
-15
-32
-65
-48
2
0
-42
-1
-25
-129
4
0
29
-50
33
39
57
-54
26
3
-45
14
20
13
-24
-58
0
-44
-91
10
2
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
34
4
0
2
-43
48
21
-53
44
0
45
43
17
53
-27
-66
0
14
-15
0
-33
-2
24
-2
0
0
0
-37
0
-16
3
0
0
-5
23
0
-87
17
0
0
0
0
-2
58
0
-54
-1
0
71
-5
-17
9
-33
-1
0
18
46
-12
0
-41
-101
-10
0
0
-25
0
10
67
0
28
-10
-15
5
18
2
0
-8
0
-11
-3
-18
17
0
40
-4
-33
0
43
8
0
68
0
-87
-36
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
1
52
0
0
12
0
2
-21
74
0
0
-39
0
-3
7
-11
0
5
12
0
0
-60
-5
0
0
10
0
0
0
-1
0
0
-24
-5
0
0
10
0
14
33
0
-14
0
-1
0
0
13
0
0
8
-3
0
-15
-88
0
-60
-17
0
0
4
-26
0
-2
42
32
0
0
25
0
-25
0
0
0
-2
13
4
5
-33
5
0
0
-54
0
105
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-9
14
-3
1
13
0
31
-13
0
-5
0
-99
8
0
-6
5
15
0
-35
0
0
0
0
-1
0
-55
-4
2
0
-7
0
0
0
0
-32
7
0
0
-19
34
0
-6
-9
8
0
-8
49
0
3
36
0
0
0
-52
0
30
-33
5
0
0
70
1
42
17
0
0
0
-53
1
25
-1
-6
0
0
5
0
-44
-5
0
-6
0
18
-13
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
-35
5
12
21
-12
-15
3
15
17
-83
91
-32
-53
-40
-37
11
-77
45
-17
46
-12
-1
-4
-57
45
0
22
-11
22
-14
-31
4
15
-53
10
82
-5
-7
-34
25
-10
-2
98
8
-3
22
-66
40
-21
-63
4
17
-24
-13
-35
-42
-13
0
-26
-83
33
-41
-6
66
2
10
-25
-39
-5
-55
32
37
-43
50
48
60
-74
45
-22
-6
-16
-14
9
-9
-2
7
64
30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-1
0
0
-13
-35
0
0
3
0
-1
0
-57
0
-2
5
0
5
0
-39
13
0
0
0
0
0
1
0
0
0
2
0
0
-23
0
-3
0
0
0
0
-52
0
0
-2
0
0
-4
9
0
13
0
0
0
0
0
0
0
-1
0
0
0
-24
0
19
0
0
0
0
-60
0
0
-3
0
0
0
26
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
20
-54
-2
-5
-2
-69
1
0
-20
0
-17
4
21
-1
2
-2
-1
-7
0
-36
5
0
0
3
-3
0
47
0
0
0
-9
0
0
-33
0
29
4
0
0
0
38
0
13
-11
-2
14
1
-4
1
44
0
2
0
6
-32
0
0
6
0
-2
-2
48
0
-59
10
0
0
3
-50
-11
0
0
2
0
0
0
0
-3
-1
0
9
0
-57
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
1
3
16
-62
50
-39
-17
-7
14
18
-2
2
9
-19
36
-25
48
-35
35
0
7
-2
-4
1
-3
-10
0
24
-17
0
7
-11
0
0
40
-4
-5
7
-5
7
3
-19
1
-18
80
-1
43
-1
8
0
-20
56
-7
29
4
-11
-2
-2
43
34
-3
7
5
1
-55
14
-14
-2
-5
-52
-7
7
-34
57
29
0
-32
0
52
-29
0
43
0
33
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
4
8
7
52
6
-47
0
0
-21
0
75
-1
-24
4
0
57
0
-35
0
-117
1
0
0
0
53
0
-5
18
0
0
0
-10
0
45
0
-17
-17
0
-36
0
-7
0
4
82
-1
7
0
-14
0
-17
21
0
-2
0
-1
0
0
-90
1
2
0
-38
0
-35
-2
0
-2
0
-6
0
-4
-53
0
-8
0
-50
0
147
0
0
-8
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
1
-62
-6
-10
55
30
0
0
-33
0
-18
-77
-10
0
0
32
0
0
34
15
0
1
-2
18
0
0
-1
0
0
-24
-4
0
0
5
0
0
23
0
-47
-4
0
0
5
-32
0
0
82
94
0
3
5
16
-44
5
7
0
0
56
-2
13
20
-69
1
0
-65
0
19
-9
-23
0
0
33
0
-3
51
2
0
0
6
0
-104
7
0
0
0
64
10
-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
25
0
3
19
-1
24
0
-25
-27
2
2
0
59
0
52
0
0
0
0
0
0
-103
-1
0
0
0
0
0
38
0
-51
-3
0
0
1
-13
-2
-8
72
27
0
-4
38
0
14
29
3
0
0
-30
0
1
-104
-16
0
0
-25
0
-57
-1
0
0
0
-20
-14
0
6
0
9
0
17
0
32
1
-9
7
0
-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
67
18
-74
5
35
11
-74
-18
15
47
10
-23
53
-42
-3
3
-22
-25
10
-23
-56
-4
31
-51
21
2
-31
46
-38
-4
-27
12
-3
23
14
16
20
25
-32
-64
-39
20
45
15
-59
20
-23
-4
-91
10
32
-28
-9
-25
-51
-27
-105
0
-2
10
10
49
49
-8
18
-5
22
23
-74
-82
5
23
17
-68
-54
14
-30
-8
7
-32
-51
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
13
0
-4
0
9
0
0
0
0
-5
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-23
0
0
0
0
0
0
-54
0
0
0
0
0
0
7
0
0
0
-4
0
0
1
0
0
-4
0
0
0
0
0
56
0
0
0
0
-57
0
1
0
0
0
0
-35
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
-3
94
6
24
-14
-2
15
-3
14
0
0
0
23
31
0
-71
0
0
0
0
7
0
14
-22
0
0
0
0
0
73
-3
-9
-4
0
3
5
-59
0
0
14
8
1
0
-88
0
94
-33
0
0
-4
-43
0
0
-14
-6
0
0
5
0
-23
-3
0
0
7
10
-10
-1
0
8
-1
8
45
5
24
-7
0
-46
0
-47
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
-5
-17
-7
13
59
-29
38
42
-35
-10
18
3
-148
5
0
1
5
-6
0
-21
-26
0
-23
-40
0
0
17
15
88
0
6
17
-22
-14
33
-22
-14
0
-14
-59
-37
0
43
-19
-7
19
115
-7
-1
-5
41
-6
-85
86
35
-16
0
50
8
53
-123
-46
1
0
5
-8
24
-19
13
-29
-8
-34
27
30
2
-4
10
0
-79
-59
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
-20
-48
0
-2
52
0
-69
0
-14
0
2
-10
0
-32
0
18
0
0
0
0
32
0
49
-3
0
0
0
0
0
4
-1
27
0
0
-32
0
-54
0
-3
-30
0
4
5
-7
0
-155
84
0
0
-5
-15
0
-2
-58
0
-6
11
57
-1
-27
81
0
0
-4
-10
-5
9
-18
0
14
2
37
0
-33
-2
0
-26
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
-16
0
0
26
37
0
0
-88
-13
0
0
36
0
0
13
0
0
0
3
0
0
-80
0
-33
0
0
0
2
-60
0
5
0
64
0
0
-57
0
-7
5
6
0
1
46
0
32
11
43
0
5
-112
0
-114
-2
5
0
0
37
0
0
-5
-3
0
0
8
0
74
0
0
0
0
-102
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
5
-1
14
0
-23
-11
0
0
0
0
0
52
2
0
0
5
0
0
27
0
-20
3
-1
0
0
36
0
2
11
0
0
-3
-35
0
62
18
0
-2
0
-38
0
-2
33
-19
0
0
-32
0
6
-3
0
0
0
-31
0
-13
-10
0
0
0
13
0
-9
0
0
5
0
9
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
-116
5
-1
-62
25
-91
0
27
3
-44
-42
-8
-103
-63
25
8
-32
15
-22
50
13
35
-3
-52
-31
-63
24
-17
33
-29
-17
-3
-7
-44
-58
90
14
-62
4
31
-48
-53
-8
-9
15
-48
-27
5
-49
61
40
-15
12
-60
-1
37
45
0
-23
73
63
43
107
39
-16
27
6
-96
-23
1
0
27
-5
-21
-16
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
6
0
0
0
0
-2
0
-108
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
-25
0
7
0
0
0
0
0
0
0
2
0
0
0
21
0
0
0
0
0
0
-6
0
-3
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
1
0
-2
9
-2
84
0
-3
0
0
0
5
0
0
51
0
0
0
0
0
0
-19
0
-32
0
0
-4
0
24
0
0
0
-2
0
0
82
0
-9
2
0
0
0
-9
0
1
0
0
0
0
20
0
-33
-5
-4
0
0
9
0
5
-4
-5
0
0
-33
0
24
0
0
4
0
70
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
-18
0
4
0
-8
25
0
6
-11
0
0
-3
0
0
65
0
0
0
-9
0
0
-53
0
0
-16
0
0
1
-35
0
-5
21
-45
-13
1
-56
0
-5
69
20
0
-1
-33
0
-22
-2
24
-34
0
45
0
-27
1
0
0
0
33
-13
-13
-5
-1
0
0
-23
0
-45
-4
0
46
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
18
0
0
0
0
-7
0
-30
0
0
0
0
-10
0
-47
0
0
0
0
0
0
6
0
-4
0
0
0
0
0
0
0
2
0
0
0
3
0
0
10
0
0
0
-15
0
-2
0
0
4
0
0
0
-9
3
0
0
0
-19
0
0
-3
0
0
0
21
0
5
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
-4
-11
0
0
-26
-14
0
0
-52
3
0
5
-1
0
0
-4
3
0
0
-13
0
0
53
0
-29
-11
0
0
-1
22
0
1
24
-96
0
-7
62
0
-9
82
14
0
5
67
0
-7
62
-37
0
-4
1
0
-1
-36
3
0
-1
53
0
-6
12
23
0
0
-72
20
-20
18
0
0
0
52
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
-3
0
0
41
0
0
0
0
0
0
9
0
0
0
0
0
0
64
0
0
11
0
0
0
15
0
-1
0
0
0
0
6
0
0
8
1
0
0
5
0
0
0
0
0
0
22
0
0
-8
0
0
0
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-96
6
3
-3
17
0
11
-13
6
-7
-49
-3
66
-10
-3
7
14
4
-66
74
7
-9
51
84
-35
-65
36
-13
-6
-39
42
54
26
-9
11
-6
-123
-93
-35
-32
1
-44
4
-104
16
-47
-48
-3
35
0
21
-39
-71
-55
-13
0
45
-10
1
3
-3
-2
16
6
-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
-96
0
0
0
0
0
0
48
4
0
0
0
0
0
14
0
3
0
0
0
0
-9
0
0
15
0
0
0
15
0
2
0
0
0
0
-3
0
0
5
0
0
0
-6
0
0
3
0
0
0
3
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
-5
-6
0
0
0
0
0
55
5
0
0
3
0
0
19
0
6
0
0
1
0
45
0
0
0
0
6
2
-24
0
7
0
0
0
0
6
0
0
0
9
0
0
-17
0
-4
15
0
0
0
19
0
8
0
0
0
0
14
0
16
0
0
-11
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
-25
1
0
0
0
0
0
20
0
0
0
-2
0
0
21
0
8
0
0
7
-5
-82
1
0
-4
-5
-6
5
22
0
23
1
-17
0
0
-86
0
11
-9
-32
20
0
54
0
-43
1
11
0
0
-31
-1
-8
0
0
0
0
35
-9
42
0
2
-11
0
-49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-31
0
1
0
0
0
1
-17
0
0
-1
0
0
0
-33
0
20
1
3
0
8
17
0
-4
25
0
0
0
-13
0
68
-6
0
0
0
-49
0
0
-5
0
10
0
4
0
7
4
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
-9
23
-1
23
-2
0
0
13
7
0
14
-39
0
14
23
0
88
56
-17
0
5
-5
-6
-21
-33
42
0
5
1
0
73
38
53
0
-14
-23
0
-35
14
-73
0
64
35
0
44
5
-74
0
19
25
-3
-23
-81
-108
0
0
-43
-8
-173
-15
-5
0
0
19
-92
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-14
18
55
26
-94
24
1
-45
-26
-73
17
14
12
-14
-88
-27
1
-38
31
18
-26
-13
52
52
27
-55
-26
33
67
-11
10
-64
-5
17
16
-6
-10
33
70
-10
-12
53
-44
-8
41
-89
-79
10
-9
-27
-5
-26
-31
3
0
0
-3
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
-13
0
0
0
0
0
0
-9
0
-1
0
0
9
0
-33
0
0
0
0
0
0
-71
0
-6
0
4
0
0
45
0
0
0
4
0
0
36
0
16
0
-5
0
0
22
0
-6
0
0
0
0
10
0
-1
0
0
17
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
6
0
0
0
0
0
0
0
0
24
0
0
0
0
-1
0
0
-2
0
0
0
4
0
13
0
0
0
0
-7
0
0
23
0
0
0
-4
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
1
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
4
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
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
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
36
0
0
0
0
0
0
-23
0
78
0
0
0
0
13
0
1
0
0
4
0
-14
0
-7
0
0
0
0
0
0
0
-4
0
0
0
25
0
-11
4
0
0
0
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
0
0
0
0
0
11
0
2
0
8
0
0
-43
0
0
4
-15
0
0
-8
0
19
10
13
0
0
32
5
0
0
-34
0
0
30
0
53
-1
5
0
0
48
0
-3
10
3
0
0
41
0
77
0
0
0
0
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
4
42
9
-5
-7
33
-15
8
21
2
-43
-62
89
13
1
0
-59
18
39
25
-11
-5
-59
2
-52
43
19
54
-3
-66
-42
-4
17
-24
19
2
47
-38
46
-6
0
24
9
-13
62
6
-38
0
1
15
-4
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
0
0
34
-6
0
0
-3
42
0
1
11
-10
0
0
-81
0
-44
-6
0
0
0
-27
0
0
3
0
0
0
19
0
-2
2
0
-5
0
-134
0
0
-7
0
-5
0
30
0
50
0
0
-6
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-10
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
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
0
0
0
0
19
0
-9
-6
0
-5
-2
4
0
30
-3
0
-11
0
-14
0
0
8
0
0
0
-23
0
-53
-1
0
0
0
-33
0
1
0
0
0
0
62
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
0
0
0
0
0
0
-27
0
1
-9
0
0
0
19
0
3
-1
0
0
0
1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
7
-33
-72
-53
102
7
24
21
33
65
-76
-49
-33
22
-9
23
-52
-12
63
54
15
-4
25
2
6
5
58
2
-22
-77
91
16
-69
10
-17
2
-33
42
20
-25
0
42
10
18
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
-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
-3
11
-10
4
-33
-33
1
26
-5
0
2
28
-3
-3
2
-70
1
6
11
22
11
4
4
0
-79
-9
-2
-5
0
-152
0
-1
92
-4
-51
0
5
5
25
-25
-2
104
0
-30
36
-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
-32
0
0
0
0
0
0
-29
0
-10
0
-2
0
0
-47
0
0
3
0
0
0
14
0
52
0
0
0
0
-109
0
0
0
0
0
0
-15
0
3
0
0
11
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
-49
0
0
3
0
0
0
0
0
1
0
0
0
0
15
0
0
-21
0
0
0
7
0
4
0
0
0
0
-30
0
0
1
0
0
0
31
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
-45
0
0
-9
0
0
0
5
0
35
-3
-6
0
0
-1
0
0
-8
0
0
0
-5
0
33
0
0
0
0
-69
0
0
0
0
0
0
69
0
-9
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
-54
0
9
2
0
0
0
-10
0
2
2
-1
0
0
-33
0
16
1
0
0
0
81
0
0
0
0
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62
-6
12
-30
12
10
100
27
20
36
-20
34
-24
76
7
-19
13
-53
-21
57
-4
4
-11
-28
4
-34
-1
-9
11
-7
13
23
39
-74
0
18
-23
0
41
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
-7
0
1
-6
0
0
0
62
0
0
6
0
0
-1
43
0
6
-4
0
0
0
-53
0
0
-3
0
0
0
-5
0
19
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
-6
-56
0
78
-5
-14
-6
0
-35
0
0
0
5
0
-26
-27
0
-99
20
6
0
0
-86
-1
-19
3
-1
0
1
73
0
29
-4
0
18
0
-88
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
67
0
-11
-74
11
0
0
-125
0
0
6
0
9
0
24
0
52
16
0
0
0
-64
0
-3
-10
0
-2
0
-6
0
-37
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
9
-3
0
0
0
-5
0
5
25
0
0
0
-23
0
-5
24
0
0
0
17
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
30
0
0
-10
0
0
0
-82
0
45
0
0
0
0
-14
0
0
-3
0
0
0
-7
0
23
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
-14
-8
19
58
18
-69
-1
33
-20
9
-9
0
14
-27
45
45
24
36
-23
30
20
4
6
2
-143
15
-4
-33
0
10
-5
-18
-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
10
0
0
0
0
-11
0
0
0
0
0
0
-10
0
0
0
0
0
0
-11
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
-14
0
25
45
-20
-4
73
-67
-1
201
-14
-11
0
-1
-80
0
0
-6
-61
-26
0
25
0
-31
53
0
-80
0
14
26
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-5
33
7
0
-64
0
-77
-8
-1
2
0
-58
0
0
-1
13
-3
0
39
0
45
0
0
-1
0
-128
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
5
23
0
0
0
29
0
0
2
0
9
0
-6
0
24
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
-14
0
0
0
7
0
0
5
0
-9
-2
0
0
0
43
0
0
1
9
0
0
-13
0
14
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
-24
0
1
-14
0
0
0
-28
0
4
0
0
0
0
14
0
-5
0
0
0
0
-55
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
8
-17
56
1
-23
53
3
-19
-60
-16
-52
0
31
2
5
-11
0
26
0
18
-45
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
80
-14
-6
7
0
8
-1
7
-5
0
-1
0
14
0
26
0
0
-14
0
-17
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-50
-1
11
7
0
-2
1
35
0
11
-9
-3
-6
0
-6
0
34
0
-1
-22
0
-58
50
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
3
0
53
-21
0
0
-2
48
0
3
-33
-1
-5
0
6
0
1
0
0
-80
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-29
-9
-3
0
0
4
0
0
9
0
0
0
51
0
5
0
0
0
0
45
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-87
2
61
23
17
-21
0
-101
31
17
-30
0
-18
74
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
1
-17
59
-24
-72
0
-53
0
86
20
0
-44
0
13
42
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-6
0
-1
48
0
-22
0
0
-9
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
0
0
0
0
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
26
0
0
0
41
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-34
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
2
-14
-7
37
-2
-8
-37
-14
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
-26
0
-17
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-54
16
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
-15
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
-2
0
0
-5
0
0
0
0
0
-58
7
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
-1
0
0
0
-1
0
-3
0
0
0
0
18
0
0
0
0
0
0
-18
0
0
0
0
0
0
-18
-3
0
4
0
0
0
55
0
0
2
0
0
0
-22
0
0
0
0
0
0
22
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
-10
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
16
0
0
8
0
0
0
17
0
0
1
0
0
0
1
0
0
0
0
0
0
14
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
4
0
0
0
0
0
0
-5
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
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
14
0
0
0
-13
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
27
0
0
-35
0
0
0
0
0
0
0
-8
0
0
3
0
0
0
-14
0
0
0
0
0
0
0
0
-5
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
-6
0
0
0
0
0
0
21
0
0
0
0
0
18
-14
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
16
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
-37
10
66
9
-17
-14
-14
6
-3
31
97
0
47
11
-8
26
25
-15
-60
3
34
-24
-9
-3
71
-46
91
3
-54
-24
-27
-26
-53
39
-53
-67
-38
-42
-46
-18
-29
-8
-22
-12
-28
-6
-10
-22
-38
-4
-1
-20
1
-4
-27
47
47
28
-55
-80
-86
10
-5
22
32
126
149
-1
-7
-49
29
-16
138
33
26
58
-48
36
-16
-50
55
33
-25
-3
3
13
-7
23
16
-47
3
-32
-56
114
6
-32
-43
11
-48
91
31
-16
-30
-18
-15
-9
-19
-29
6
56
-30
-4
-5
-31
11
-14
-27
-10
-5
0
0
0
0
0
0
0
-16
20
10
14
2
-37
55
-5
14
24
33
22
9
71
50
-7
95
42
-4
-42
-17
-33
-10
53
-26
26
-4
47
-6
21
-27
9
-9
-23
39
-10
3
6
28
-17
-30
4
38
9
-26
32
-57
20
-13
-2
8
6
4
-5
-11
-20
-35
-41
-11
-90
15
-16
-5
-35
-20
-86
19
-1
-46
13
87
24
44
45
35
22
-38
-4
6
-27
2
43
-21
72
-1
9
8
-3
17
75
87
-31
5
-33
41
78
-15
47
-1
18
57
-3
11
58
11
-6
-4
18
3
-43
-38
-2
2
-7
15
31
-15
-28
-39
9
2
-90
-84
-68
29
-5
5
-51
32
-20
9
94
27
27
-19
-4
-31
-16
22
-17
-22
-4
48
-7
51
86
90
56
-8
-23
24
-29
36
57
33
15
-30
-22
-62
9
133
-71
11
6
25
78
-8
-46
60
-21
34
18
13
38
35
-29
6
28
1
-10
33
-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
0
0
0
0
0
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
-11
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
14
0
0
0
0
0
0
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
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
0
0
0
6
0
0
0
4
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
49
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
-9
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
35
2
0
0
0
0
0
15
10
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
3
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
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
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
11
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
-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
-7
0
0
0
0
0
88
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
15
0
0
0
0
0
53
3
0
0
-1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-6
0
-1
0
0
24
0
0
0
0
0
0
23
0
0
0
0
0
0
-7
1
0
-5
0
0
0
24
0
0
4
0
0
0
81
0
0
0
0
0
0
45
0
0
0
0
0
0
-1
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
19
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
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
10
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
-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
-32
0
0
0
0
0
20
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
1
4
0
0
22
-2
-5
0
135
0
0
11
-2
0
0
-1
0
0
-2
0
0
0
0
0
0
0
3
0
0
5
0
0
17
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
100
0
0
-51
0
0
-17
43
0
66
-13
0
0
-11
-31
0
0
1
0
0
1
55
0
0
0
3
0
0
-47
0
0
-5
0
0
0
-7
0
16
0
0
0
0
-8
0
0
1
0
0
0
14
3
0
0
0
0
0
96
-1
0
-1
0
0
-2
19
0
0
-7
0
0
0
-67
0
0
-9
0
0
6
-3
0
0
4
0
0
0
-53
0
0
7
0
0
-1
7
0
0
0
7
0
0
-150
0
0
0
0
0
0
59
0
0
0
0
0
0
-6
0
0
0
0
0
0
-79
0
0
0
0
0
0
-58
0
6
-8
0
0
0
53
0
-1
0
0
0
0
-51
0
-10
13
0
0
0
20
0
0
0
0
0
0
6
0
-6
0
0
0
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
7
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
-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
-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
9
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
7
0
0
0
0
0
0
-14
0
0
0
30
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
-10
0
0
15
0
0
-4
-1
0
33
-3
0
0
1
-6
0
0
0
0
0
0
24
0
0
-1
0
0
0
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
44
0
0
0
0
0
0
33
1
0
0
0
0
1
69
1
0
0
0
0
0
-10
0
0
3
0
0
0
-18
0
0
0
0
0
-6
8
0
0
0
0
0
0
22
0
0
2
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
47
0
0
0
0
0
0
5
0
-5
0
0
0
0
15
0
0
0
0
0
0
4
0
-5
0
0
0
0
7
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
35
3
93
82
50
42
-4
89
31
10
70
5
10
-26
-32
9
12
52
-2
-44
-47
-30
-5
-7
76
1
37
-37
10
-54
18
28
66
40
-10
-1
-11
7
-8
0
43
0
-2
6
2
-3
-15
-35
16
57
-20
-73
3
-16
-9
61
-72
55
17
42
-38
8
27
49
31
44
26
38
-10
18
-62
68
-15
60
1
-41
35
-15
46
17
32
-17
-44
52
-11
22
4
-2
35
18
38
-53
9
11
31
3
-13
42
-26
-5
-4
23
-1
7
0
28
5
0
0
54
8
0
0
0
0
0
0
0
-9
35
56
46
-11
19
142
38
-4
41
35
36
-12
62
42
31
108
-48
-14
2
-12
6
6
-35
-36
56
-49
4
-23
21
-33
36
8
43
33
-59
35
-45
-6
-23
-33
17
14
14
42
-7
2
25
4
-3
2
4
-4
1
9
75
53
-24
-64
-50
-69
-5
24
39
1
2
2
21
24
-59
-13
34
43
-26
-4
99
-25
-38
10
44
31
-56
35
-3
-1
-21
82
-42
24
-27
10
15
9
18
24
-21
43
57
24
9
-46
49
-29
26
53
-23
-11
-16
1
33
24
-3
0
-8
-39
0
-6
57
-41
-64
3
-46
-5
-20
-97
-1
-40
-11
-28
14
-45
43
6
-74
16
-27
65
4
53
-35
75
-1
-3
16
-40
87
8
62
-20
-16
-40
87
-1
-35
-44
-6
-7
-19
30
37
64
-3
-34
15
8
-86
47
-28
41
22
-5
-2
4
19
27
0
11
27
37
1
95
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
47
15
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
17
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
-10
0
0
4
-3
0
0
5
0
0
0
13
0
0
2
0
0
0
1
0
0
-17
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
-38
0
-3
-4
0
0
5
32
0
-29
-2
0
0
8
13
0
0
1
0
0
-1
-10
0
0
0
0
0
0
14
0
0
-1
0
0
0
-18
0
-6
-4
1
0
0
46
0
0
0
0
0
0
-32
0
0
0
0
0
0
94
-2
0
0
0
0
0
79
0
0
0
2
0
6
12
0
0
0
0
0
0
-69
0
-1
0
0
0
0
-42
0
0
-7
0
0
0
22
0
0
-1
0
0
0
74
0
0
0
0
0
0
-24
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
25
0
0
0
0
0
-1
-4
0
13
0
0
0
0
5
0
0
-1
1
0
0
3
0
0
0
0
0
0
-19
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
36
0
0
8
0
0
0
-2
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
-1
0
0
0
-5
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
-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
43
0
0
0
0
0
-26
0
0
0
0
0
0
-6
0
0
0
0
-9
0
0
0
5
0
0
-13
0
0
0
13
0
0
-18
-6
0
0
21
-2
0
-7
6
0
1
2
0
0
-2
0
0
0
0
0
0
-2
-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
-2
0
3
-68
0
0
24
-3
0
80
6
1
0
-1
-7
0
0
55
0
0
-3
4
0
0
4
0
0
-4
-25
0
0
16
0
0
0
4
0
-4
0
0
0
0
-81
0
0
0
0
0
0
-13
4
0
0
0
0
1
-44
1
0
6
0
0
9
22
1
0
33
-2
0
22
42
0
0
-18
0
0
-18
22
0
-3
6
0
0
0
42
0
0
10
0
0
-11
12
0
0
0
2
0
0
14
0
0
-1
0
0
0
34
0
0
0
0
0
0
16
0
0
0
0
0
0
18
2
0
-5
0
0
0
14
0
81
-1
0
0
3
28
0
0
-2
0
0
0
-11
0
0
0
0
0
0
-60
0
3
-1
-2
0
0
22
0
0
-5
0
0
0
4
0
-1
0
0
0
0
49
0
3
0
0
0
0
-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
43
155
0
-1
6
0
0
3
10
2
-4
1
1
-5
0
6
0
0
0
0
0
0
10
0
0
0
-2
-2
0
0
1
48
0
0
3
0
0
0
0
0
0
0
9
-33
57
24
21
0
1
-8
-2
14
-16
-14
-4
-4
14
6
0
2
27
3
-3
-61
6
-2
16
-10
49
-5
-73
17
0
0
-8
0
-11
3
-23
0
0
-5
8
33
0
-44
0
1
-2
0
-5
2
8
0
0
0
-2
119
0
0
30
0
0
-1
-1
0
0
0
0
0
0
0
-33
44
3
-17
-29
0
4
151
-180
-1
129
72
-2
0
-35
35
5
0
28
-5
1
-5
23
-1
-1
-6
-14
-1
10
43
1
8
-3
0
1
0
-34
0
55
-9
-11
0
1
-5
0
0
0
0
-5
0
53
7
-4
0
0
0
-5
5
137
0
34
0
0
19
103
7
-25
-33
4
7
49
39
11
2
-43
0
-2
-4
39
-2
-6
23
48
-3
-32
16
-6
0
-24
0
0
-9
-27
-4
0
38
-3
0
-4
-30
9
2
0
1
27
1
-31
0
2
-1
9
-3
0
-7
0
-1
0
0
0
9
54
26
27
-21
0
0
6
1
6
8
90
0
0
-18
63
-3
-6
-48
0
0
25
-24
-1
-8
-53
5
0
3
26
1
-9
2
13
0
29
11
-9
62
-45
0
0
-7
6
0
-1
2
22
-4
0
-15
0
22
3
0
3
0
19
10
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
-34
0
0
0
0
0
-22
0
0
0
0
-3
-1
3
0
0
0
0
8
0
0
0
0
1
0
13
0
4
0
-5
0
0
-52
-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
51
0
-3
-33
0
0
-7
0
0
5
2
4
0
-9
-33
-7
-9
-6
0
0
-1
-28
0
2
1
-1
0
-1
10
0
1
3
0
0
4
11
0
51
0
2
0
0
19
0
0
2
2
-3
0
-15
-3
9
0
-1
0
0
82
9
5
14
0
0
-4
-98
5
-4
-5
0
0
13
0
0
5
59
0
0
0
-26
0
0
-6
0
0
-4
-12
0
0
-4
0
0
0
122
0
0
5
3
0
0
-38
0
0
10
0
2
0
51
0
0
0
0
0
0
-45
0
0
0
0
0
0
21
4
-4
1
0
0
0
5
0
15
-6
0
0
-2
0
0
-1
-17
0
0
0
14
0
14
-4
0
0
1
-9
0
-1
1
0
0
-2
-14
0
-4
-4
0
0
0
21
0
-1
0
0
0
0
-7
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
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
30
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
1
-1
0
0
-43
0
0
0
37
0
-4
10
-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
0
4
0
0
0
0
0
0
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
76
0
0
36
0
0
5
0
0
-58
-43
-1
0
21
14
0
0
-8
0
0
-3
49
0
0
1
0
0
-2
54
0
0
0
0
0
0
14
0
0
0
-1
0
0
5
0
0
0
0
0
0
137
-1
1
0
0
0
0
-119
0
0
5
0
0
0
82
0
0
-4
0
0
0
112
0
2
-4
0
0
-2
-13
0
0
0
0
0
0
41
0
0
0
0
0
1
58
0
0
-5
-4
0
0
13
0
0
0
0
0
0
13
0
0
1
0
0
0
-20
0
0
0
0
0
0
37
0
0
0
0
0
0
21
0
0
0
0
0
0
-24
0
0
3
0
0
0
52
0
1
0
0
0
0
-1
0
0
0
2
0
0
-4
0
1
0
0
0
0
2
0
0
0
0
0
0
22
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
-62
0
0
0
0
0
0
-8
0
0
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
35
0
0
0
0
0
0
20
0
0
0
0
-1
1
0
0
-9
0
0
43
0
0
0
-71
0
0
-16
-16
0
0
-16
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
-17
0
0
-9
0
0
0
14
0
0
0
0
0
0
0
-4
17
0
0
3
0
0
1
-62
0
14
21
0
0
-33
24
0
0
-20
0
0
-2
27
0
0
1
0
0
0
77
0
0
0
0
0
-1
-2
0
-15
0
-1
0
0
-3
0
0
4
0
0
0
-46
2
5
0
0
0
0
-77
-4
0
0
0
0
2
-25
0
0
4
0
0
-2
-92
0
0
0
0
0
-1
-9
0
0
1
0
0
0
-23
0
0
0
0
0
0
-102
0
0
1
0
0
0
29
0
0
0
0
0
0
-11
0
0
0
0
0
0
16
0
0
0
0
0
0
117
1
0
0
0
0
0
4
0
-10
9
0
0
0
18
0
4
0
0
0
0
31
0
1
0
0
0
0
-9
0
0
0
0
0
0
-40
0
5
0
0
0
0
-11
0
2
0
0
0
0
70
0
-2
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
46
-1
0
0
1
0
0
0
5
0
-6
4
-6
0
-29
0
0
0
0
0
0
-3
-2
0
0
0
-3
0
0
0
0
-5
0
0
-8
0
0
-30
0
0
0
-1
-2
0
62
13
-4
-2
3
-3
-5
1
-1
-37
-11
0
-20
5
0
0
3
-13
-2
23
33
3
5
14
-5
12
15
-8
0
0
2
0
-9
-4
23
0
0
25
0
-18
34
0
0
0
-1
0
-2
0
-11
0
0
1
-3
1
0
0
5
0
0
0
-3
0
0
0
0
0
0
0
-22
42
-1
4
-9
0
0
33
12
4
-67
-9
1
0
66
-1
0
4
-10
2
0
-9
-64
-1
0
33
-6
0
14
-9
0
0
30
0
0
5
58
0
60
0
-22
0
-1
-43
0
0
0
0
3
0
36
-3
10
0
0
0
1
84
8
11
18
0
0
5
50
9
-9
36
-3
0
56
-53
-1
1
11
9
-5
-21
85
0
0
27
0
-2
10
-61
0
-4
-29
3
0
1
62
11
0
-13
9
0
0
64
0
-2
0
-3
-3
0
97
0
0
-3
5
0
0
-16
-1
0
0
0
0
-1
2
9
2
-7
0
0
-2
-59
0
14
-2
0
0
3
39
-5
0
0
-5
0
1
-49
1
-1
0
0
0
4
14
0
-2
-5
0
0
0
45
2
29
0
0
0
0
26
0
0
0
-4
0
0
88
0
4
0
0
3
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
1
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
-13
0
0
11
0
0
37
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-73
0
0
57
0
0
0
1
0
1
59
-3
0
0
0
0
-3
1
3
0
0
0
0
0
-1
0
0
0
1
0
-23
0
0
0
0
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
14
33
0
0
63
0
0
-53
-58
0
37
-44
0
0
16
12
0
0
-11
0
0
-8
3
0
0
0
0
0
0
-16
0
0
8
0
0
0
13
0
-58
0
0
1
0
3
0
0
0
0
0
0
47
0
6
0
0
0
0
29
-5
0
0
0
0
-3
-15
1
0
31
0
0
17
-13
0
0
9
0
0
-1
5
0
0
5
-2
0
27
1
0
0
0
0
0
0
23
0
0
3
0
0
-2
-27
0
0
0
0
0
0
10
0
0
2
0
-3
0
6
0
0
0
0
0
0
-91
3
0
0
0
0
-4
-39
0
-4
-3
0
0
0
24
0
0
-2
0
0
0
48
0
1
0
0
0
0
-9
0
-1
0
0
0
0
57
0
3
-1
0
0
0
38
0
0
1
0
0
0
14
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
5
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
36
0
0
0
0
0
1
-6
0
0
0
0
-3
0
0
0
1
0
0
82
2
0
0
-10
0
0
9
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
22
0
0
0
0
0
0
0
0
0
0
0
-22
67
0
0
5
0
0
26
0
0
-55
11
-1
0
-25
70
0
0
48
0
0
0
-19
0
0
-1
0
0
0
19
0
0
1
0
0
0
11
0
-16
0
9
0
0
5
0
0
0
0
0
0
28
-3
0
0
0
0
0
-3
0
0
13
0
0
-1
145
-2
0
13
0
0
5
51
0
0
1
0
0
4
-6
0
-10
20
0
0
0
32
0
0
5
0
0
0
60
0
2
4
0
0
-2
39
0
0
2
0
0
0
-28
0
0
0
0
0
0
-58
0
0
0
0
0
0
24
0
0
0
0
0
0
-52
0
16
0
0
0
1
-6
0
0
-2
0
0
0
-23
0
0
0
0
0
0
-25
0
0
3
0
0
0
-3
0
3
0
0
0
0
15
0
0
0
0
0
0
93
0
2
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
18
54
19
4
60
4
5
-1
24
-5
4
-2
0
-57
-21
-27
0
0
-14
30
-15
0
1
0
-51
-3
0
-19
0
0
-29
0
0
-1
5
20
-14
18
-14
0
-1
-5
-14
7
13
2
-17
42
25
-69
8
-3
-1
21
-3
0
45
-1
0
-3
-56
-12
63
10
33
19
19
96
2
17
-2
29
14
3
20
-5
6
21
40
-1
-1
4
0
-56
2
-7
0
0
-11
16
-47
0
0
0
0
-1
-5
-6
0
0
0
0
0
0
0
-8
-26
79
33
-11
0
-1
80
12
71
63
71
-69
-7
42
20
3
-10
-18
-1
-5
-19
-30
-3
-4
-46
96
9
40
28
-5
-2
52
1
-20
-23
-20
0
51
10
19
-35
5
12
0
0
0
-2
1
0
16
-33
72
0
-5
1
5
-3
14
5
194
1
2
19
22
23
3
18
-33
6
43
15
-16
-18
60
0
56
72
25
-21
22
78
75
6
69
-20
20
-24
-36
23
19
-10
33
-10
-2
-99
29
-28
56
20
0
0
43
0
41
-3
27
0
0
-3
77
-34
0
-26
-7
0
0
0
-3
-3
7
-8
43
-32
0
-1
57
-42
28
24
46
-2
-3
78
-30
65
-62
-3
23
2
13
29
4
-103
-16
27
-16
-1
-33
-1
72
85
-2
-44
-39
38
-2
-4
41
22
3
-2
39
-4
0
38
40
11
-3
43
0
-87
0
1
-16
0
-66
-5
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
0
0
0
0
0
0
-10
0
-3
0
0
-7
0
0
-1
18
0
0
22
0
0
0
-23
0
0
30
0
0
0
8
0
5
10
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
-5
34
-3
0
31
0
0
3
-34
0
-29
56
2
0
10
0
0
0
6
0
0
-4
-72
0
0
-1
0
0
0
51
0
0
-2
0
0
0
2
0
5
-10
0
0
0
-15
0
0
0
0
0
0
3
8
-2
0
0
0
-1
-3
0
0
-6
0
0
25
46
0
-7
43
0
0
4
50
0
0
9
0
0
9
0
0
0
-14
-7
0
0
53
0
0
0
-1
0
0
-43
0
0
0
0
0
0
35
0
1
0
0
2
0
-96
0
0
0
0
0
0
-48
0
3
0
0
0
0
27
2
0
-1
0
0
-2
32
0
34
-5
0
0
0
39
0
1
-5
0
0
0
0
0
17
4
2
0
0
14
0
0
3
0
0
-1
-70
0
0
0
0
0
0
-6
0
0
0
0
0
0
51
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
4
0
0
0
0
0
78
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
30
0
0
0
-16
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
23
0
0
-1
0
0
8
-4
0
-5
-8
0
0
-10
-33
0
0
5
0
0
6
-16
0
0
0
0
0
11
3
0
0
0
0
0
0
0
0
18
0
-2
0
0
20
0
0
0
0
0
0
33
0
0
0
0
0
0
-1
0
0
0
0
0
-4
34
0
6
3
0
0
-5
14
0
0
-1
0
0
0
-27
0
0
-6
0
0
0
22
0
0
-1
0
0
0
49
0
0
0
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
21
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
-45
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
5
0
0
-5
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
-83
0
0
-9
0
0
0
0
0
9
7
-1
0
-9
11
0
0
0
0
0
0
32
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
-6
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
-1
0
0
0
0
8
80
0
0
0
0
0
-3
24
0
0
0
0
0
0
-17
0
0
0
0
0
-2
-26
0
0
0
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
1
0
57
0
0
0
0
0
0
26
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
10
0
0
0
0
-1
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
1
0
-11
0
0
0
0
0
-17
0
0
0
0
-1
0
1
1
0
0
0
-24
0
2
0
-4
0
0
-25
0
0
0
40
0
0
59
0
5
0
-2
-1
0
14
23
0
0
0
0
0
-1
-8
0
0
0
-2
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
9
0
0
0
-1
0
0
0
0
0
0
0
-10
-10
0
0
-6
0
0
18
16
0
-108
-5
0
0
33
-43
0
0
-14
1
0
9
18
0
0
0
0
0
0
5
0
0
-2
0
-7
0
5
0
-17
-5
4
0
1
37
0
0
0
0
0
0
-42
-8
4
0
0
0
0
-10
-7
-1
0
0
0
1
43
-21
1
-2
0
0
-25
18
0
0
-2
0
0
-8
-32
0
0
17
-2
0
-5
33
0
0
6
-3
0
0
1
0
0
0
0
0
0
101
0
0
0
0
0
0
1
0
0
0
-2
0
0
17
0
0
0
0
0
0
-35
14
0
0
0
0
0
-2
0
23
0
0
0
0
18
-2
0
0
1
0
0
-29
0
8
0
0
0
0
19
0
0
0
-7
11
1
16
0
3
0
0
0
0
-20
0
-3
0
0
0
0
79
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
1
0
0
0
0
0
-3
-3
0
0
0
0
0
0
22
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
-16
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
36
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
-17
0
0
-1
0
0
0
4
0
0
44
0
0
0
-3
0
0
8
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
19
76
0
0
26
0
0
21
22
0
-26
74
0
0
-4
11
0
0
-11
0
0
10
-12
0
0
4
0
0
1
-1
0
0
13
0
0
0
2
0
-3
0
1
0
0
28
0
0
0
0
0
0
-31
0
0
0
0
0
0
120
0
0
-1
0
0
5
1
0
0
-31
0
0
-4
-12
0
0
-5
0
0
33
-43
0
0
3
0
0
0
-20
0
0
-4
0
0
0
5
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
-45
-4
0
0
0
0
0
4
0
5
0
0
0
-2
-30
0
0
-5
0
0
1
24
0
0
0
0
0
0
-23
0
0
0
0
0
0
74
0
-8
0
0
0
0
-9
0
0
0
0
0
0
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
0
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
17
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-4
0
0
-2
0
0
0
5
0
0
72
0
0
0
40
0
0
-3
-5
0
0
93
27
0
8
1
0
0
2
0
4
-2
7
0
0
-10
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
-35
0
0
-34
0
0
0
-87
0
141
11
1
0
13
-47
0
0
63
0
0
1
-50
0
0
-1
-1
0
-2
49
0
0
19
0
0
0
5
0
-35
0
0
0
0
13
0
0
0
0
0
0
19
-2
0
0
0
0
0
-4
-8
0
0
0
0
0
-16
6
4
-17
-3
-2
4
21
0
3
-5
0
0
0
4
0
-1
-3
-1
2
-4
-33
0
0
0
0
0
-2
-3
0
0
1
0
0
0
-48
0
0
2
0
-5
0
0
0
0
0
0
-2
0
13
0
0
0
0
-1
0
28
-13
-2
0
0
0
0
-21
1
43
-25
0
0
0
-17
0
3
0
3
0
0
4
1
-2
6
0
0
0
40
0
0
0
0
0
0
-76
0
0
1
0
0
0
18
0
0
0
-1
1
0
28
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
40
0
0
0
0
0
8
0
0
0
-1
7
0
-17
4
0
0
1
-32
0
0
4
34
0
0
-25
2
0
0
-50
2
0
102
11
0
0
-23
-32
2
27
0
0
0
-1
-4
-7
7
19
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
3
14
0
0
123
0
0
57
-17
4
-25
-25
1
0
37
4
0
0
0
2
0
-21
0
0
0
-13
-2
0
0
88
-1
0
17
-1
0
0
1
0
-107
3
4
0
0
63
0
0
0
0
0
0
14
-6
10
0
0
0
2
17
65
0
-10
0
0
-4
28
6
3
-14
1
0
-3
34
-2
0
79
0
0
-6
-15
0
-9
5
-4
0
-5
0
0
-5
-2
-8
0
0
16
0
0
-1
2
0
0
-1
0
0
-1
0
0
0
17
0
0
0
8
-2
0
-33
0
0
0
0
0
2
-3
-20
0
7
0
0
3
-30
0
29
25
0
0
-1
-14
-4
-2
-2
0
0
15
29
1
-3
10
0
0
-2
0
0
-4
6
-7
0
-1
-21
0
4
0
0
0
0
-5
0
5
0
0
0
0
-15
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
15
0
0
0
0
0
12
0
0
0
0
0
1
2
0
0
0
0
4
0
0
3
17
0
0
2
0
0
0
14
0
0
2
0
0
0
5
0
0
74
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
13
-42
0
2
-22
0
0
-11
47
0
9
-14
-2
0
13
-10
0
0
-11
0
0
-7
9
0
0
3
0
0
0
59
0
0
0
0
0
0
44
0
15
0
0
0
0
20
0
0
0
0
0
0
106
0
0
0
0
0
0
-32
0
0
0
0
0
0
34
0
-4
3
0
0
0
30
0
0
0
0
0
0
19
0
0
14
0
0
0
-32
0
0
-3
0
0
0
43
0
0
0
0
0
0
-1
0
0
-3
0
0
0
6
0
0
0
1
0
0
-43
0
0
0
0
0
0
24
3
1
0
0
0
0
2
0
5
0
0
0
0
-9
0
0
3
0
0
0
37
0
0
0
0
0
0
-13
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
4
0
0
0
35
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
68
0
0
0
0
0
-43
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
16
-5
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
1
0
0
0
-1
0
0
0
0
0
0
0
-1
-89
0
0
13
0
0
0
6
0
8
-3
0
0
6
39
0
0
-10
0
0
0
8
0
0
0
-4
0
0
5
0
0
1
0
0
0
10
0
1
0
0
0
0
-10
0
0
0
0
0
0
-82
-1
0
0
0
0
0
16
-6
0
-1
0
0
-1
63
-2
0
0
0
0
0
47
0
0
1
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
11
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
53
0
0
0
0
0
0
10
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
20
0
0
0
0
0
65
0
0
0
0
0
0
-5
0
0
0
0
2
0
0
0
0
0
0
68
0
0
0
-3
0
0
0
0
0
0
0
4
0
-5
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
-4
0
0
0
0
0
-2
6
0
10
-6
0
0
1
-3
0
0
0
0
0
-1
-3
0
0
0
0
0
0
23
0
0
1
0
0
0
9
0
7
0
0
0
0
-6
0
0
0
0
0
0
-3
-2
0
0
0
0
0
1
2
0
0
0
0
0
15
0
0
-1
0
0
0
-14
0
0
1
0
0
0
14
0
0
1
0
0
0
23
0
0
-1
1
0
0
-17
0
0
0
0
0
0
-35
0
0
0
0
0
0
-3
0
0
0
0
0
0
-40
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
-9
0
0
0
5
0
0
2
-2
0
0
27
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
-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
-2
0
-6
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
68
0
0
11
0
0
-12
0
0
0
0
0
0
0
-2
0
0
0
10
0
0
0
5
0
0
-5
0
0
0
2
0
1
-1
0
0
0
-1
0
-1
57
4
0
0
0
0
4
-2
0
0
0
0
0
0
0
2
0
0
0
0
24
0
0
0
0
0
0
4
0
0
10
0
0
0
2
0
0
0
0
0
0
0
-1
36
0
0
4
0
0
0
6
0
-52
-32
0
0
9
-20
0
0
-27
0
0
-7
29
0
0
33
0
0
-1
21
0
0
68
0
0
-2
5
0
18
0
0
0
0
20
0
0
0
0
5
0
-2
1
0
0
0
0
0
21
4
0
0
0
0
-6
-2
0
0
5
0
0
0
1
0
0
-1
0
0
7
-31
0
0
-13
0
0
-1
-58
0
9
-3
0
0
0
5
0
0
2
0
0
0
-42
0
0
18
0
8
0
32
0
0
-2
0
0
0
24
0
0
0
0
-1
0
28
-1
0
0
0
0
0
-1
0
4
0
0
0
0
14
2
0
0
0
0
0
-35
0
-3
3
0
0
1
2
0
0
0
0
1
0
36
0
0
0
0
-1
0
30
0
0
0
0
0
0
-16
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
-6
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
51
0
0
0
-5
0
0
8
0
0
0
-13
21
0
15
0
0
0
4
0
0
48
-1
0
0
-5
-4
0
45
2
0
0
0
0
0
0
1
0
0
0
16
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
5
-80
0
0
-75
0
0
-18
25
0
28
46
-1
0
63
17
0
0
-88
0
0
0
3
0
0
-19
-1
0
8
48
0
0
0
0
0
5
10
0
14
-2
-43
0
0
8
0
0
0
0
0
0
50
-1
-1
0
2
0
0
42
-40
0
1
0
0
0
13
3
-9
24
2
0
14
-27
0
5
31
0
0
-13
85
0
5
43
0
0
6
-17
-2
0
14
15
0
0
12
0
0
29
-6
0
0
31
0
0
-4
0
0
0
43
0
0
1
2
0
0
22
0
0
0
0
0
0
15
13
0
3
0
0
0
49
0
16
9
0
0
0
78
0
0
3
0
0
0
47
0
-2
1
0
0
0
33
0
-1
0
6
0
0
14
0
5
6
0
0
0
-16
0
0
-1
0
0
0
5
0
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
1
0
0
0
0
0
-4
1
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
-1
0
0
0
4
0
0
-35
0
0
0
-37
0
0
4
0
0
0
-5
0
0
0
0
0
0
-1
0
-31
-2
-3
0
0
-3
0
0
0
0
0
0
-40
0
25
0
4
0
0
0
3
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-21
0
7
-19
0
0
0
-30
0
-20
-5
-2
0
0
44
0
0
-5
0
0
0
97
0
0
-9
0
0
0
0
0
0
-37
0
0
0
10
0
-26
0
27
0
0
-29
0
0
0
0
0
0
-21
0
0
0
0
0
0
16
2
0
0
0
0
0
-33
1
0
7
0
0
0
2
0
0
-4
0
0
0
-5
0
0
-7
0
0
3
44
0
0
25
0
0
0
27
0
0
0
0
0
0
-82
0
0
-2
0
-1
0
-1
0
0
2
0
0
0
14
0
0
0
0
0
0
65
0
0
0
0
0
0
47
0
-16
0
0
0
0
-16
0
0
0
0
0
0
-7
0
-5
2
1
0
0
-26
0
1
0
-8
0
0
8
0
0
9
0
0
0
47
0
0
0
0
8
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
-5
1
0
0
0
-2
0
0
0
0
-77
0
0
0
0
0
-27
0
0
0
0
-1
-2
-1
0
0
0
0
8
0
0
0
0
6
0
36
-4
0
0
-8
0
0
5
-5
0
-3
33
8
0
-6
3
0
0
-2
0
0
27
0
0
0
1
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
0
-10
0
0
0
5
0
0
0
0
0
0
0
-3
2
0
0
-6
0
0
6
52
-3
60
49
-1
0
18
35
-3
0
59
1
0
6
-61
0
0
1
0
0
3
0
0
0
0
0
0
0
-19
0
3
0
0
0
0
9
0
0
0
0
0
0
35
3
-6
0
0
0
1
-11
19
0
-18
0
0
-3
100
14
-1
-5
-8
-1
-1
24
0
0
21
0
0
0
2
0
0
-2
0
0
-7
-24
5
0
0
0
0
4
0
-1
0
3
2
0
0
-3
0
0
0
0
0
0
3
0
0
-1
0
0
0
26
1
0
0
0
0
-5
66
4
-1
0
0
0
0
2
3
46
7
0
-1
0
-36
-2
0
5
0
0
-2
82
0
-8
-1
0
0
0
33
0
-1
10
-5
0
0
0
-2
0
0
0
0
0
-29
0
-3
0
-8
0
0
-60
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
-9
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-78
0
0
-2
0
0
0
-5
0
-7
6
0
0
5
10
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
-37
0
0
0
0
0
0
33
0
0
0
0
0
0
-9
0
0
-3
0
0
0
-35
0
0
-5
0
0
0
-45
0
0
-1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-3
0
0
-1
0
0
0
14
0
0
0
0
0
0
-15
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
-1
0
0
0
21
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
-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
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
-18
0
0
0
9
0
0
10
0
0
0
0
0
0
0
0
0
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
55
0
0
0
0
0
0
0
0
26
33
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
27
0
0
0
0
0
0
-38
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
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
-15
0
0
0
0
0
0
-13
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
-11
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
1
0
0
0
0
0
-60
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-14
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
18
0
0
0
0
0
0
9
0
-17
-1
0
0
0
-5
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
-30
0
0
0
0
0
0
-50
0
0
0
0
0
0
-18
0
0
1
0
0
0
-9
0
0
-7
0
0
0
-33
0
0
0
0
0
0
-25
0
0
0
-2
0
0
2
0
0
-3
0
0
0
-32
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
2
0
-1
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
-3
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-26
0
0
0
0
0
0
-1
0
0
0
0
0
-1
14
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
21
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
68
0
0
0
0
0
-22
0
0
0
0
0
0
-6
3
0
0
0
-5
0
0
0
2
0
0
43
0
0
0
-49
0
10
-13
-8
0
0
14
9
0
-40
5
0
0
14
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
31
0
0
-5
0
0
0
0
0
0
0
0
-6
12
0
0
-23
0
0
-19
17
0
-25
14
0
0
12
-78
0
0
73
0
0
-4
40
0
0
2
-1
0
0
-10
0
0
22
0
0
-3
24
0
-18
0
-32
0
0
43
0
0
0
0
0
0
6
-15
0
0
0
0
0
-6
9
0
-2
0
0
-9
58
0
4
-1
-1
0
-52
8
0
0
-10
0
0
-5
9
0
0
-5
7
0
1
-16
0
1
-11
0
0
-8
5
0
0
5
2
0
-1
-32
0
0
-2
0
0
0
-36
0
0
3
18
0
0
2
3
0
0
0
0
0
-20
15
0
0
0
0
-11
-29
0
0
-2
0
0
-2
-31
0
0
61
0
0
4
100
0
1
18
0
0
1
-27
0
3
-6
0
0
0
-33
0
-14
0
0
0
0
-8
0
-6
0
0
0
0
20
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
10
0
0
0
-45
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
-27
24
0
0
1
0
0
11
-9
0
-6
0
0
0
-5
-32
0
0
2
0
0
-1
-10
0
0
0
0
0
0
-32
0
0
0
0
0
0
1
0
2
0
0
0
0
14
0
0
0
0
0
0
-51
0
0
0
0
0
0
-38
0
0
0
0
0
8
-48
0
0
0
2
0
4
-52
0
0
5
0
0
0
7
0
-2
0
0
0
-5
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-26
0
0
0
0
0
0
-5
0
0
0
0
0
0
35
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
16
0
0
0
3
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
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
42
0
0
-3
0
0
-23
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
-10
-2
0
-21
0
0
0
7
0
0
4
-1
1
0
-7
0
0
-10
-1
0
0
1
0
0
0
-4
0
0
0
2
0
-1
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
-80
0
0
-15
0
0
6
-8
0
-22
-22
0
0
-43
-28
0
0
-4
0
0
1
-9
0
0
1
0
0
-1
-10
0
0
-3
0
0
0
0
0
-3
0
0
0
0
6
0
0
0
0
0
0
-32
1
0
0
0
0
0
-23
2
0
-2
0
0
0
95
1
-4
4
3
0
0
46
0
0
-16
0
0
0
-35
0
0
-22
0
0
-4
-30
0
-2
-2
0
0
0
30
0
0
-4
18
0
0
0
0
0
-1
0
0
0
5
0
0
3
0
19
0
-38
0
0
0
0
0
0
42
0
0
-2
0
0
0
-14
0
2
2
0
0
0
-48
-4
0
0
0
0
0
-16
0
1
-2
0
0
0
1
0
0
3
0
0
0
-53
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-18
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
40
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-1
0
0
1
-8
0
0
15
0
0
0
0
0
0
0
9
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
-1
7
0
0
0
-1
0
0
0
0
0
0
10
-3
0
0
0
0
0
28
0
0
0
0
0
11
29
0
0
0
0
0
0
-5
0
0
0
0
0
0
71
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
-2
0
0
0
0
0
0
-26
0
0
0
0
0
0
-1
-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
10
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
-4
0
0
0
0
0
-87
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
-33
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
-25
0
0
0
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
-4
0
0
0
0
0
0
-41
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
-32
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
-13
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
-25
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
6
0
0
7
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
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
2
17
0
0
3
0
0
-5
53
0
3
0
0
0
1
7
0
0
0
0
0
0
3
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
3
0
0
0
0
8
0
0
0
0
0
0
51
0
0
0
0
0
0
-33
0
0
0
0
0
0
-4
0
2
0
2
0
0
16
0
0
0
0
-2
0
-2
0
0
0
2
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
-23
0
0
0
0
2
0
1
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
-43
0
0
0
0
-2
0
16
0
0
0
1
0
0
0
0
1
0
0
24
0
0
0
18
0
0
-3
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
-4
0
0
0
-2
0
0
0
0
0
0
0
0
29
0
0
5
0
0
0
32
0
-16
-8
0
0
7
-28
0
0
1
0
0
0
2
0
0
7
0
0
-2
18
0
0
21
0
0
0
2
0
26
0
0
0
0
-45
0
0
0
0
0
0
6
-1
0
0
0
0
0
-30
-11
0
0
0
0
0
-5
0
-2
0
0
0
0
-35
0
0
1
0
0
-3
-46
0
0
0
0
0
6
14
0
0
-1
0
3
3
-3
0
0
7
0
0
0
-31
0
0
-6
0
0
0
-8
0
0
1
0
0
0
31
0
0
0
0
0
0
4
0
0
-6
0
0
0
3
0
-7
-1
0
0
3
5
0
0
0
0
0
0
14
0
0
0
0
0
0
10
0
0
-4
0
0
0
10
0
0
0
0
0
0
87
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
-34
0
0
0
0
0
-86
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
-2
0
0
-13
0
0
0
-29
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
56
9
0
0
79
0
0
-19
0
0
-12
40
-2
0
107
-32
0
0
0
0
0
0
3
0
0
5
0
0
0
-67
0
0
-3
0
0
0
3
0
5
-10
0
0
0
14
0
0
0
0
0
0
11
-1
0
0
0
0
0
-31
0
0
10
0
0
3
-35
0
0
31
0
0
37
95
0
0
-1
0
0
0
45
0
1
-4
0
0
8
-34
0
0
-16
-7
0
0
45
0
0
2
0
0
-1
47
0
0
0
0
0
0
23
0
0
0
0
0
0
26
0
0
0
0
0
0
-27
-1
0
0
0
0
0
-17
0
4
-7
0
0
0
-13
0
0
0
0
0
-2
-5
0
2
0
0
0
0
32
0
0
0
-3
0
0
-21
0
-5
0
0
0
0
4
0
0
0
0
0
0
-25
0
-3
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-29
0
0
0
0
0
0
-10
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
-71
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
19
0
0
0
0
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
-66
0
0
6
0
0
0
6
0
8
-10
0
0
-1
-19
0
0
0
0
0
0
-16
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
9
0
0
0
0
0
0
-18
-1
0
0
0
0
-2
-21
0
0
0
0
0
0
20
0
4
0
0
0
0
51
0
0
-2
0
0
0
14
0
0
-2
0
0
-2
14
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
24
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
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-17
0
0
0
-2
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
9
0
0
0
1
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
6
0
2
0
0
0
0
-10
0
0
-1
0
0
6
6
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
-112
0
0
0
0
0
0
-41
0
0
9
0
0
0
-23
0
0
0
0
0
-2
-3
0
0
3
0
0
0
-11
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
-50
0
0
0
0
0
0
11
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
-14
0
0
-2
0
4
-26
-6
1
-63
-8
-36
-52
-8
-29
-59
-4
10
42
-25
20
21
-26
-44
18
13
18
-66
-5
-2
-34
19
-55
-31
-44
-3
-4
-18
7
-5
-23
51
-3
11
-41
-25
-53
-23
-43
-3
2
33
4
-25
-4
-1
3
-1
-19
17
5
0
3
-36
0
0
-35
28
0
0
0
0
0
0
0
14
-17
15
-14
13
-14
-53
-15
-7
-7
-4
-5
-30
-1
15
5
-27
-8
-2
21
-13
-78
13
-32
0
14
9
4
-42
21
-2
-9
52
4
-29
54
-10
-3
-8
2
-41
60
-11
-43
39
2
0
-8
-69
0
-4
-39
0
-1
-32
0
-47
-25
41
-5
2
8
1
101
20
32
-49
6
-5
-3
-35
-11
-29
5
21
71
14
-24
-14
-9
14
-2
-102
85
22
4
-4
-60
10
43
20
59
-27
32
51
-3
-31
0
57
-14
-3
-10
-14
5
25
9
6
-2
-2
3
40
1
-1
-23
24
-5
0
15
19
-84
-10
-45
-127
86
-43
0
86
-3
-16
27
102
-30
23
14
-42
-22
-9
5
-58
4
-30
1
27
7
8
42
-18
-29
-12
24
19
-48
51
-49
-53
-21
5
15
-40
82
19
-10
-42
-5
22
83
33
52
2
-24
3
-34
-7
1
-43
1
17
2
-37
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
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
-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
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
-9
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
22
0
0
0
0
-1
1
20
-3
0
0
0
7
0
0
-7
15
0
0
-44
0
0
0
97
0
0
84
6
0
0
-24
51
0
27
0
1
0
-2
0
0
-17
-6
0
0
-1
-7
0
-19
-15
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
11
25
6
0
-39
0
0
59
31
-5
65
61
-10
0
52
19
0
0
46
0
0
10
-50
0
0
36
8
0
37
69
0
0
25
0
0
-2
4
0
-26
-5
7
0
0
-27
0
0
0
0
0
0
28
24
0
0
11
0
0
30
-25
-2
-7
0
0
-13
-19
9
-4
-49
-3
0
50
-17
0
4
33
0
0
16
53
0
16
23
7
0
-34
-3
-4
-2
-3
0
0
-4
-43
0
0
29
0
0
-5
42
0
0
-2
0
0
0
-40
0
1
-8
-14
0
0
8
-4
0
0
0
0
0
-54
6
0
0
0
0
-5
26
0
-48
-46
0
0
16
59
0
0
-7
0
0
0
-10
0
0
-4
2
0
0
-15
0
0
11
-7
0
0
35
0
69
-7
0
0
5
-78
0
-5
0
-1
0
0
4
0
58
3
0
0
0
16
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
-11
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
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
11
-33
30
-10
0
-11
-14
16
42
-76
19
14
46
62
-3
48
84
5
-12
-5
-28
1
-12
51
-23
21
-30
33
21
-81
2
10
44
-92
0
10
-27
4
19
24
23
18
71
-27
-13
-6
7
50
-6
-18
19
-1
-18
-41
-8
7
-5
5
-1
-25
-32
41
-16
0
0
0
0
0
0
0
0
-5
28
-12
20
18
20
4
-4
-25
15
0
-11
11
-5
10
-10
71
12
-2
-12
0
-34
-51
43
31
65
-22
-9
8
-7
-33
18
7
31
33
-6
-46
0
20
28
86
41
0
35
-24
63
25
-48
1
-22
26
-47
-7
20
7
3
10
-61
-36
-5
-27
-3
-69
0
3
29
-14
-16
-33
-17
-17
-98
-39
17
12
20
15
-12
22
-14
20
0
-39
54
-6
75
22
2
73
-22
2
7
32
43
4
6
-13
11
-3
60
-11
-23
6
-14
-11
-30
-42
-33
-44
-36
-36
0
4
-1
-32
-16
5
42
72
-5
36
-5
75
-85
-17
60
-6
-2
-26
-43
22
46
-9
36
-19
-69
-5
-27
-33
-63
-13
-6
-74
8
15
10
14
-22
9
-3
-8
16
5
3
-2
21
-9
-17
39
3
-107
-3
13
-15
10
-11
32
30
14
17
7
-14
14
-53
-6
6
-2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
66
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
9
0
0
1
0
0
-16
29
0
63
-4
0
0
33
51
0
0
0
0
0
0
11
0
0
0
0
0
0
-32
0
0
0
0
0
0
-3
0
-5
0
0
0
0
-14
0
0
0
0
0
0
-6
-14
0
0
0
0
0
50
4
0
0
0
0
-4
14
0
0
2
0
0
0
129
0
0
0
0
0
0
92
0
0
0
0
0
0
93
0
0
0
0
0
0
24
0
0
-1
5
0
0
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
22
0
0
0
0
0
0
-33
3
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
-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
-18
2
0
11
33
0
9
21
3
-5
0
-6
0
0
-47
5
0
1
-1
-7
0
-17
9
0
0
-25
0
0
1
-5
0
0
7
-11
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
63
29
0
1
62
0
0
23
14
-8
-64
41
-3
0
-31
-32
-1
0
-53
0
0
0
20
0
0
3
3
0
-8
47
0
0
-10
0
0
0
50
0
-3
-5
0
0
0
69
0
0
4
0
0
0
61
10
0
0
-2
0
0
72
4
1
-2
0
0
49
24
20
-1
17
0
0
-19
-56
2
0
-25
0
0
-13
-62
0
1
-14
9
0
3
2
0
3
-13
0
0
0
-24
0
0
11
32
0
2
-53
0
0
0
0
0
0
4
0
0
3
0
0
0
-10
1
0
0
0
0
0
63
-13
0
-3
0
0
0
31
-5
71
8
-2
0
10
-22
4
-6
3
0
0
2
10
0
-34
0
0
0
0
-8
0
0
1
-27
0
0
26
0
1
0
0
0
0
-13
0
2
0
0
0
0
-6
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
-10
0
0
2
5
0
-1
34
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
2
0
0
-19
0
0
6
50
0
-84
3
3
0
84
3
0
0
-1
0
0
19
-22
0
0
6
-1
0
3
31
0
0
3
0
0
0
3
0
29
0
0
0
0
10
0
0
0
0
0
0
-31
-7
0
0
0
0
0
0
11
0
-29
0
0
0
-12
5
-8
16
5
0
-1
-39
0
0
5
0
0
0
9
0
0
-7
0
0
7
-15
0
1
-11
0
0
-3
9
0
0
13
-2
0
0
90
0
0
2
0
0
0
-64
0
0
0
2
-5
0
-14
0
0
0
0
0
0
0
41
6
-6
4
0
0
-1
0
-11
-2
0
0
0
41
0
15
0
0
0
0
-24
0
1
6
0
0
1
24
0
-1
1
-1
0
0
-29
0
0
0
0
0
0
2
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
41
-3
1
-31
8
8
5
-14
5
-6
0
5
0
8
-39
71
0
0
6
9
-6
-29
-29
0
6
-5
0
14
-1
-29
0
-2
17
0
3
-3
-2
0
0
0
0
0
0
13
17
0
0
0
17
0
0
-25
0
0
0
-17
0
0
0
0
0
0
0
4
16
-4
-7
36
0
-2
1
16
-5
-52
41
5
-3
50
71
0
-6
-72
0
1
-22
-26
0
0
-29
1
0
-7
-16
0
14
14
0
0
-3
42
0
47
-10
30
-1
0
-15
0
0
0
0
-1
0
-1
0
6
0
0
0
5
-16
-1
3
-48
-7
0
27
-58
14
1
21
2
1
-68
78
0
0
-24
2
-1
5
-2
0
-30
-10
31
1
46
0
0
-3
19
4
0
-9
24
0
-1
18
22
0
-1
-39
0
0
1
1
33
0
37
0
0
5
-2
5
0
7
-2
0
0
0
-1
-6
1
0
-25
50
-5
0
24
-40
0
-6
-1
0
0
-17
46
-1
7
47
-8
0
5
-22
2
22
0
-3
10
2
59
0
2
5
-17
0
-8
71
0
-14
-3
9
0
0
-8
0
-8
-1
34
7
8
-10
0
-7
-1
0
0
0
25
4
-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
-26
0
0
0
-9
-1
0
91
0
-3
0
27
0
0
6
27
1
0
-2
0
6
-1
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
9
0
0
0
0
0
0
0
17
126
0
4
22
0
0
6
3
0
50
62
0
0
-40
-66
10
0
113
0
0
0
70
0
0
-3
0
0
0
-6
0
0
8
0
0
0
8
0
-14
0
2
0
0
-15
0
0
0
-1
1
0
-19
0
0
0
0
0
0
62
1
0
-2
0
0
0
38
5
0
43
0
0
10
35
0
0
-5
0
0
13
-15
-1
0
-20
0
0
0
54
0
0
-1
0
0
0
-23
0
0
-5
7
0
0
45
0
0
0
0
0
0
23
0
0
-1
0
0
0
-24
0
0
0
0
0
0
57
-2
0
0
0
0
0
29
0
0
27
0
0
0
36
0
0
0
0
0
0
23
0
0
7
0
0
0
-7
0
0
0
-1
0
0
53
0
0
0
0
0
-1
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
91
0
0
0
19
0
3
62
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
14
20
0
0
90
0
0
43
44
0
80
-24
-4
0
16
16
0
0
8
0
0
0
-2
0
0
-2
0
0
-1
-56
0
0
-1
0
0
0
-3
0
-5
0
0
-1
0
-5
0
0
0
0
0
0
7
0
14
0
0
0
0
15
-17
0
-11
0
0
7
1
0
-4
-5
0
0
14
22
0
-1
-5
0
0
1
-2
0
7
15
6
0
0
106
0
0
0
0
0
0
76
0
0
-2
22
0
0
70
0
0
0
0
0
0
39
0
0
0
0
0
0
-31
0
5
0
0
0
0
-2
14
0
-4
0
0
-2
28
0
-14
18
0
1
0
5
0
0
0
2
0
0
21
0
5
-4
0
0
0
5
0
0
-6
3
0
0
29
0
-1
0
0
0
0
36
0
0
-2
0
0
0
59
0
41
0
0
0
0
114
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-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
9
0
0
-1
-1
0
11
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
-34
0
0
0
0
0
2
-11
-1
0
-1
0
0
-1
34
0
0
9
0
0
0
6
0
0
0
0
0
0
-21
0
0
0
0
0
0
35
0
0
0
0
0
-1
22
0
0
0
0
0
0
26
0
0
0
0
0
0
4
0
0
0
0
0
0
65
0
0
0
0
0
0
-17
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
8
0
0
0
13
0
0
0
-5
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
13
0
-1
53
0
0
19
-10
0
-2
14
0
0
5
19
0
0
0
0
0
0
24
0
0
0
0
0
0
53
0
0
2
0
0
0
5
0
-11
0
-10
0
0
24
0
0
0
0
0
0
38
0
0
0
0
0
0
42
2
0
6
0
0
0
62
-3
0
0
0
0
-7
4
0
0
-4
0
0
5
-27
0
0
1
0
0
0
-46
0
0
0
-5
0
2
12
0
0
-4
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
22
0
0
0
0
0
0
17
1
0
0
0
0
0
82
0
5
14
0
0
2
50
0
0
-2
0
0
-2
-1
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
-19
-3
4
31
-6
0
61
8
0
7
-61
-8
0
1
23
0
0
-4
-4
-2
0
15
0
0
-6
0
0
1
-5
0
0
4
0
7
0
8
23
0
0
0
-55
0
0
-18
0
0
0
66
0
0
0
0
0
0
0
80
6
6
-6
59
-1
0
-33
11
0
-24
47
17
1
-79
-3
-1
0
10
-4
1
43
10
6
0
-21
5
0
6
42
0
-2
-6
1
5
-1
-63
9
-38
0
-13
0
8
7
0
0
-4
6
-2
0
1
-15
1
0
0
0
3
46
-35
2
-26
5
0
64
68
-25
9
-18
-14
0
-17
-45
-2
-3
129
1
0
-32
8
-2
-2
44
8
0
3
-16
-3
2
1
5
0
-6
10
0
-4
36
6
0
2
-22
0
0
-55
0
-5
0
69
0
0
-1
3
4
0
-33
9
0
0
0
0
0
62
1
1
-1
-2
0
1
75
-6
30
60
-1
0
-23
-4
-2
-3
33
0
0
5
-5
-1
63
-34
0
0
0
70
0
1
31
31
0
-3
-66
-1
8
17
0
0
0
-10
0
-8
1
-16
0
0
-5
0
10
0
1
0
0
-7
-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
34
-2
0
0
-4
0
0
2
0
0
0
1
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
17
0
0
-6
9
0
24
2
5
0
46
64
0
0
-3
0
0
0
5
0
0
1
0
0
0
52
0
0
0
0
0
0
16
0
23
0
-1
0
0
3
0
0
0
0
0
0
21
1
0
0
0
0
0
-38
0
0
-2
0
0
2
0
0
0
-25
0
0
-1
-7
0
0
0
0
0
2
-3
0
0
0
0
0
7
22
0
0
0
0
0
0
44
0
0
-1
2
0
0
34
0
0
-1
0
3
0
-7
0
0
0
0
1
0
49
-1
0
0
0
0
0
18
5
0
0
0
0
0
0
0
-1
0
0
0
-5
-34
0
0
2
0
0
0
-5
0
4
0
0
0
0
25
0
0
0
0
0
0
43
0
1
-1
0
0
0
5
0
0
0
0
0
0
33
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
-64
0
0
0
3
0
0
-48
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
-1
0
0
11
0
0
0
0
0
0
0
0
0
0
0
-8
27
0
0
5
0
0
-4
-27
0
-36
5
0
0
33
-4
0
0
-2
0
0
0
-18
0
0
0
0
0
0
-22
0
0
0
0
0
0
-14
0
-16
-2
0
0
0
-33
0
0
0
0
0
0
72
0
0
0
0
0
3
-8
0
0
-2
0
0
0
13
0
0
0
0
0
0
67
0
0
-7
0
0
0
101
0
0
1
0
0
0
30
0
0
1
0
0
0
-31
0
0
1
0
0
0
84
0
0
0
0
0
0
43
0
0
0
0
0
0
-19
0
0
0
0
0
0
36
1
0
-7
0
0
0
21
0
-4
0
0
0
0
32
0
-1
0
0
0
0
-32
0
2
1
0
0
0
4
0
0
0
0
0
0
-35
0
7
-1
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
63
0
4
-20
0
0
0
-8
-1
0
2
23
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
-10
0
0
5
0
0
0
-16
0
0
0
0
0
0
0
51
45
-2
0
107
0
0
25
-23
4
68
22
0
0
8
-45
0
0
-3
0
0
0
-4
0
0
1
0
0
0
30
0
0
-4
0
0
0
26
0
7
0
0
0
0
35
0
0
0
0
0
0
47
-4
0
0
-3
0
-5
49
6
0
2
0
0
7
14
8
0
35
0
0
25
58
3
0
-19
0
0
-8
1
0
-1
-6
0
0
-2
78
0
0
1
0
0
0
-20
0
0
4
7
0
0
51
0
0
0
0
0
0
56
0
0
2
0
0
0
23
0
0
0
0
0
4
71
0
0
-1
0
0
1
9
0
-21
-2
0
0
-4
-26
-1
-1
0
2
0
2
15
0
7
1
0
0
0
54
0
0
0
0
0
0
-6
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
-1
0
4
-4
-19
-2
1
-6
24
0
3
23
-1
26
-7
34
0
0
5
0
4
-1
21
0
0
14
0
0
4
0
0
0
7
0
8
0
50
0
0
0
-4
87
0
0
25
0
0
0
-16
0
0
0
0
0
0
0
2
80
1
46
-25
0
5
68
-19
-3
-11
51
-33
-2
-39
-2
20
-9
-47
0
0
-22
-102
0
-1
-8
6
-3
-32
20
3
0
5
0
0
1
35
-5
19
-10
2
-2
0
-65
0
0
0
-1
-8
0
43
-15
-2
0
0
0
15
73
62
1
78
0
0
14
33
15
9
-51
0
0
38
-23
0
5
1
0
-1
5
60
-1
55
16
-25
-1
15
-48
0
-2
-28
0
0
11
-9
0
-4
-3
-2
9
5
-1
0
6
2
0
7
3
20
0
-3
0
0
0
0
64
2
0
0
0
0
-4
-22
1
14
5
0
0
-11
0
0
-44
6
0
0
6
81
-2
2
14
0
-1
15
11
0
-14
19
0
-1
-3
-21
0
-13
22
24
0
23
-7
0
49
0
0
0
2
19
5
-10
5
0
0
0
28
0
9
-5
0
0
0
60
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
23
0
-6
-2
4
0
0
8
0
0
18
-11
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
-50
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
55
0
0
5
-2
0
43
-22
0
0
-16
19
0
0
2
0
0
0
-32
0
0
-54
0
0
0
-82
0
0
0
0
0
0
0
0
29
0
0
0
0
5
0
0
0
0
0
0
-3
0
-10
0
0
0
0
23
0
0
0
0
0
0
58
0
0
27
0
0
0
-26
0
0
61
0
0
3
6
0
0
-1
0
0
0
-23
0
0
30
0
0
5
-14
0
0
5
0
0
0
14
0
0
0
0
0
0
-56
0
0
0
0
-2
0
94
0
0
0
0
0
0
31
2
0
0
0
0
0
7
0
21
4
0
0
0
-4
0
-3
-10
0
0
2
46
0
0
0
0
0
0
-11
0
0
-6
0
0
0
15
0
46
0
0
0
0
-1
0
0
0
0
0
0
68
0
4
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
1
0
0
0
34
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
8
0
-5
18
0
0
0
-15
0
15
-8
0
0
29
7
0
0
0
0
0
2
11
0
0
-1
2
0
-1
59
0
0
-5
0
0
0
-2
0
8
0
0
0
0
14
0
0
0
0
0
0
22
0
0
0
0
0
0
89
2
0
-5
0
0
0
50
5
0
10
0
0
-4
43
0
0
6
0
0
3
62
0
0
2
0
0
-3
-23
0
0
-2
0
0
0
27
0
0
3
0
0
-4
127
0
0
0
0
0
0
4
0
0
0
0
0
0
47
0
0
0
0
0
0
34
3
0
0
0
0
0
-43
0
-5
-6
0
0
0
10
0
0
4
0
0
2
14
0
0
-2
0
0
0
0
0
0
0
0
0
0
14
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
27
73
-14
-16
36
13
-10
30
-34
-4
-33
44
4
-27
-19
24
-4
-3
-23
4
-48
-27
-6
-3
-2
5
1
45
-3
-31
-29
2
6
-29
42
0
10
-3
0
4
11
-72
0
0
0
0
0
0
0
-38
-19
0
5
7
9
1
-2
9
6
11
18
10
16
15
-18
51
-17
22
-14
47
8
-19
-7
2
-77
9
11
16
32
33
10
12
-30
71
42
18
-11
22
-43
9
30
6
19
73
-5
30
49
-4
-1
8
-86
12
-1
15
-8
5
15
34
126
105
-8
5
-42
36
72
-19
72
-25
47
39
12
3
-11
52
-14
4
4
11
29
26
18
57
9
77
14
-11
32
-21
-6
40
24
-18
-8
37
23
19
68
5
17
-9
4
-25
-10
-24
-15
-8
0
10
53
35
28
0
-4
-22
38
-7
0
33
0
-30
-34
-8
-38
-16
3
-1
2
-37
75
-24
-26
11
65
8
4
72
22
-32
1
4
16
1
58
54
24
6
87
-5
2
10
-1
-12
30
46
0
23
47
69
-5
37
5
-30
46
27
-3
9
7
32
8
-15
45
-8
-5
-16
0
26
-23
-10
-5
-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
-7
1
0
0
-1
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
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
12
24
0
0
-6
0
0
13
0
-1
-5
1
0
0
-7
5
0
0
-9
0
0
3
15
0
0
0
0
0
4
32
0
0
0
0
0
0
-50
0
-3
0
-2
0
0
4
0
0
0
0
0
0
-42
-6
0
0
0
0
0
42
0
0
0
0
0
0
21
5
2
3
0
0
-5
0
0
0
-11
0
0
10
-33
0
0
2
0
0
0
-13
0
0
-6
0
0
0
34
0
0
1
0
0
0
62
0
0
13
0
0
0
8
0
0
1
0
-6
0
12
0
0
0
0
0
0
15
-2
-1
0
0
0
-6
14
0
5
4
0
0
3
0
0
1
-10
-7
0
-3
11
0
6
-6
0
0
1
3
0
0
0
0
0
0
50
0
-1
1
0
0
0
42
0
1
1
0
0
0
61
0
0
2
0
0
0
31
-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
79
0
0
-10
0
0
1
4
0
30
-6
0
0
1
5
0
0
0
0
0
-1
-5
0
0
-3
0
0
0
14
0
0
2
0
0
0
45
0
7
0
0
0
0
-7
0
0
0
0
0
0
30
0
0
0
0
0
0
117
0
0
0
0
0
0
35
0
0
0
0
0
0
47
0
0
0
0
0
-9
14
0
0
-5
0
0
0
-14
0
0
0
0
0
-3
53
0
0
0
0
0
0
77
0
0
0
0
0
0
-11
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-15
0
0
-7
0
0
0
24
0
-4
0
0
0
0
18
0
2
0
0
0
0
15
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
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
-1
19
0
0
-2
0
0
0
-33
0
1
9
0
0
-17
0
0
0
0
0
0
0
7
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-19
0
0
0
0
0
0
44
0
0
0
0
0
0
-65
0
0
0
0
0
0
51
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
-24
0
0
0
0
0
0
-13
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
0
0
0
-23
0
0
0
0
0
0
3
0
0
0
0
0
0
65
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-15
-59
21
17
-9
46
22
-5
60
-1
32
-24
-9
5
4
26
-37
4
-5
25
-5
0
-50
1
29
6
31
0
0
7
-29
12
0
-8
29
0
-1
-3
-61
0
0
0
0
0
0
0
5
-33
27
56
-100
19
1
-43
5
35
-14
-21
-30
-3
17
-11
-9
3
-5
-20
5
9
-14
15
-2
-6
-33
16
10
-39
4
0
86
14
14
27
46
-3
1
16
69
6
14
12
0
0
3
1
-24
0
25
1
17
0
65
3
-1
17
58
-45
26
6
1
66
45
-18
-61
90
67
18
-12
-10
-9
-9
29
-1
41
66
-15
-7
23
-67
62
20
-22
-11
9
-46
19
0
12
51
-9
-14
-6
-75
12
15
53
6
0
0
52
4
23
11
17
3
-10
-2
26
110
0
7
21
0
0
4
-9
46
-42
78
75
43
0
-1
66
8
33
33
-50
-5
5
31
48
24
24
30
22
5
17
-11
11
65
-61
43
53
55
45
32
14
4
38
-53
-49
36
-9
-22
59
-5
-13
0
-6
2
5
0
-8
3
0
7
0
75
-2
1
-2
0
-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
-9
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
48
0
0
0
0
0
8
56
0
64
20
0
0
26
7
0
0
0
0
0
0
65
0
0
0
0
0
-1
1
0
0
0
0
0
0
4
0
3
1
0
0
0
-3
0
0
0
0
0
0
-8
0
1
0
0
0
0
1
0
0
0
0
0
0
43
0
0
0
0
0
1
22
0
0
-2
0
0
0
-26
0
0
0
0
0
0
17
0
0
0
0
0
0
-29
0
0
0
0
0
0
31
0
0
0
0
0
0
8
0
0
0
0
0
0
70
0
0
0
0
0
0
61
0
0
0
0
0
0
62
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
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
0
1
6
0
0
21
-6
0
71
3
-2
0
15
-8
0
0
-11
0
0
-8
-10
0
0
5
0
0
-4
-27
0
0
4
0
0
1
-3
0
5
-6
11
0
-3
18
0
0
0
0
0
0
-76
-3
0
0
0
0
0
43
-7
0
5
0
0
6
27
0
0
24
0
0
7
42
0
0
9
0
0
0
68
0
-1
5
0
0
-3
-62
0
0
-30
0
0
-2
-84
0
-1
13
0
0
0
-44
0
0
0
0
0
0
-4
0
0
2
5
0
0
16
0
0
0
0
0
0
-20
-1
0
-1
0
0
0
-29
0
-62
-3
0
0
-1
2
0
0
-4
0
0
0
44
0
-2
0
0
0
0
-7
0
0
0
0
0
0
53
0
-1
-6
0
0
0
-26
0
0
0
0
0
0
-7
0
9
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
-65
29
2
-1
-61
0
17
61
18
0
0
14
21
0
74
44
-6
0
-25
0
45
-5
30
0
0
0
43
-39
0
-14
-70
0
0
5
-23
0
0
0
0
0
0
0
24
10
-7
5
-4
-15
4
42
-59
-14
-28
13
65
4
33
44
26
14
-53
3
4
64
-27
5
-5
-12
-21
6
19
-10
-6
0
57
8
0
-4
67
-4
-30
5
55
-1
9
-20
1
7
0
0
-5
0
-21
3
-14
0
-5
0
1
-5
-21
11
27
-4
0
63
23
30
33
22
-26
-13
-5
14
0
4
3
0
0
24
17
0
66
47
-56
-2
46
22
-4
50
-27
0
15
-1
-33
35
1
-19
-59
-9
0
14
0
-5
43
7
5
2
4
-6
1
-15
41
-59
0
58
11
-6
0
0
3
1
18
13
14
56
0
0
-5
46
0
-38
14
-4
6
-4
-40
-13
124
-17
3
0
5
55
-1
-43
91
4
-27
4
-24
0
-47
40
-3
0
0
-32
24
-22
-13
5
0
0
55
-6
2
6
1
-1
0
-66
-1
19
-3
0
2
0
-17
-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
-11
0
0
0
-3
0
0
1
0
0
-46
0
0
0
0
0
3
0
0
0
0
0
0
-22
0
0
11
0
0
0
-2
0
0
0
0
0
0
0
57
43
0
4
19
0
0
-78
82
9
-3
60
-8
0
47
0
4
0
15
0
0
-6
5
0
0
-2
0
0
2
-15
0
0
-17
0
0
0
15
0
-62
-6
-3
0
0
93
0
0
0
0
-11
0
63
25
-1
0
0
0
-7
37
118
-1
-5
0
0
-10
69
14
13
27
-4
0
-7
41
0
0
33
0
0
29
0
0
0
25
4
0
4
-15
0
0
13
0
0
7
110
0
0
3
2
-1
0
-47
0
1
2
-3
-3
0
-1
0
-6
7
6
0
0
-14
0
7
0
0
0
3
29
14
-4
0
0
0
-1
6
0
50
1
-4
0
7
44
1
-2
27
0
0
-1
0
0
9
-3
0
0
-4
-41
0
1
-2
5
0
2
-18
0
-36
-1
0
0
0
-43
0
0
0
2
6
0
17
0
59
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
0
0
13
0
0
0
34
0
4
-14
4
0
52
5
0
0
1
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
22
0
18
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
-62
0
0
0
0
0
0
-26
0
0
-17
0
0
0
-15
0
0
7
0
0
0
45
0
0
4
0
0
3
-14
0
0
1
0
0
0
8
0
0
0
0
0
0
-45
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
20
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
0
0
0
3
0
0
0
2
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
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
39
0
0
0
0
0
58
3
0
6
26
0
0
-9
-22
0
0
0
0
0
2
-5
0
0
0
-4
0
0
14
0
0
0
0
0
0
-6
0
0
-2
0
0
0
9
0
0
0
0
0
0
51
-4
0
0
0
0
0
129
2
0
0
0
0
0
-56
-7
0
5
2
0
0
26
0
0
0
0
0
0
-18
0
0
0
0
0
5
19
0
0
-6
0
0
0
-36
-2
0
11
0
0
0
9
0
0
0
0
0
0
2
0
0
1
0
0
0
54
0
0
0
0
0
0
-21
-2
0
-2
0
0
0
29
0
4
-2
0
0
0
-4
0
0
0
0
0
7
11
0
0
0
0
0
0
31
0
0
0
0
0
10
-3
0
0
-1
0
0
0
-18
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
44
94
0
-4
21
0
5
-57
-10
2
0
-3
-7
5
3
-16
0
1
20
0
-1
0
13
11
0
0
-8
-16
0
-2
-22
0
0
0
54
0
0
0
0
0
0
0
-3
1
-1
-1
4
10
0
36
113
-4
-42
18
-7
-3
-29
41
1
-7
-36
-1
2
41
-37
0
0
25
34
5
20
-15
3
16
22
0
0
3
-40
0
2
6
-15
-5
0
6
0
0
2
0
-3
0
46
-7
7
0
-5
0
0
28
-54
0
36
0
0
5
-48
30
3
-34
-4
1
70
19
-2
-4
29
-1
-3
35
-11
0
-11
59
59
-1
22
1
5
-2
5
17
-1
2
-26
-2
0
132
52
0
7
-69
0
0
-15
0
-2
4
51
-1
0
0
-10
53
0
-22
0
0
0
0
-5
6
5
45
0
17
0
0
6
70
0
48
65
0
0
-16
-23
2
44
-15
0
-9
-4
7
1
-2
-6
0
10
0
84
-5
-6
-13
-8
-3
0
7
-1
2
0
0
0
-1
61
5
-24
8
0
-3
0
54
-2
6
0
0
-14
0
-64
-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
2
0
0
-5
0
3
2
1
0
0
-10
0
4
0
0
-3
-2
0
0
19
0
2
0
0
0
0
-22
0
0
38
0
0
0
57
0
0
0
0
0
0
0
-37
-21
0
0
27
0
0
55
-15
-2
32
9
0
0
33
65
0
0
11
0
0
-15
9
0
0
-2
0
-4
-3
-43
0
0
54
0
0
5
48
0
62
-6
0
0
0
3
0
0
0
0
2
0
61
-31
9
0
0
0
0
0
5
0
-5
0
0
1
44
-3
0
-53
0
0
-71
-27
0
2
43
0
0
-117
16
0
0
27
0
0
53
4
0
-4
-21
0
0
4
-30
0
0
4
0
0
0
-47
0
0
-1
0
6
0
-52
0
0
20
0
17
0
-43
0
0
0
0
0
0
-85
-17
3
0
0
0
-1
-37
0
37
-19
0
-1
15
63
0
-4
-42
0
0
4
-43
0
-9
-4
-5
-1
10
35
0
-1
-1
0
0
0
79
0
-12
34
0
0
2
-65
0
-2
-3
0
0
0
-42
0
57
2
0
3
0
5
-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
-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
-20
0
0
-1
0
0
0
0
0
0
0
0
19
-21
0
0
52
0
0
-24
68
0
-59
50
0
0
-47
99
0
0
-3
0
0
11
-55
0
0
-5
0
0
10
-6
0
0
-9
0
0
1
52
0
-50
0
32
0
0
-15
0
0
0
0
0
0
70
-9
-5
0
0
0
0
93
-26
0
19
0
0
-4
61
2
-7
-1
2
0
24
-28
0
1
16
0
0
17
8
0
0
72
-2
0
14
25
0
0
-7
0
0
0
62
0
0
-14
0
0
-5
-14
0
0
-1
0
0
0
-32
0
3
0
0
0
0
-79
0
0
0
0
0
0
17
-3
0
7
0
0
0
-10
0
45
4
0
0
0
3
0
0
17
0
0
4
4
0
1
-5
0
0
4
13
0
0
0
-2
0
-3
14
0
0
0
0
0
0
-16
0
0
0
0
0
0
48
0
-10
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
-23
-11
0
0
95
48
14
2
-17
-1
0
-28
0
-28
-6
-5
-1
0
1
-51
49
0
-1
36
0
0
0
0
0
0
0
0
0
0
0
-80
-19
5
9
-32
-3
0
10
-26
6
9
-3
-11
-3
-16
-38
-14
-2
-24
13
-4
-6
15
0
3
-15
52
0
7
-24
5
0
55
-1
-15
4
-14
0
-14
30
-64
-5
-8
2
0
0
0
0
6
0
-9
-30
15
0
20
0
0
14
-1
1
1
0
0
-21
-19
-6
10
-48
-2
23
-9
-18
4
-13
30
3
0
5
-32
8
-3
-7
33
1
-4
20
6
-25
-48
-2
-3
7
-12
-6
1
-57
20
2
0
-12
0
0
-17
0
-14
0
78
5
-3
0
-11
-69
0
10
-2
0
0
-1
0
0
-30
-15
-9
-22
0
0
0
-47
-13
43
-8
0
0
27
38
1
-4
16
24
0
0
13
-3
49
-35
-2
0
-2
48
4
-2
17
27
0
0
5
0
60
22
2
0
0
53
0
6
-33
-1
-1
0
16
-3
6
0
0
-5
0
48
-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
10
5
2
0
2
0
0
1
14
0
0
0
0
0
0
-1
0
0
0
-3
-16
0
0
-23
0
0
0
5
0
0
0
0
0
0
0
-24
30
-3
0
15
0
0
81
38
0
-36
-36
7
0
-35
9
9
1
-28
0
0
6
0
3
0
-14
-21
0
7
-81
0
0
2
0
-1
1
18
0
19
30
1
1
-4
51
0
0
0
0
-7
0
41
21
2
0
1
0
0
10
8
0
-19
0
0
-26
86
6
-4
-32
1
0
-28
45
0
2
8
0
0
-3
-7
0
1
33
-11
0
-3
0
0
-4
-7
-1
5
11
-31
-1
0
-9
-1
0
0
5
0
0
5
0
7
0
-57
0
0
0
2
-24
0
13
0
0
0
0
0
0
-23
16
2
1
0
0
0
33
5
46
69
0
0
-3
-4
0
0
5
-2
0
0
68
0
6
-7
0
0
0
0
0
2
-1
5
0
0
33
0
-3
-1
0
0
0
20
0
0
-1
2
0
0
0
0
5
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
103
0
0
0
0
0
0
24
0
1
-1
1
0
-2
-11
0
0
0
0
0
0
7
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
-10
0
-2
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
-58
0
0
-3
0
0
0
-26
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
2
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
14
0
0
0
0
0
0
1
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
-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
-14
0
0
-6
0
0
2
-1
0
-3
-1
8
0
10
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
-30
7
0
0
0
0
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
-15
0
0
0
0
0
0
-16
0
0
-1
0
0
0
-2
0
0
-5
0
0
0
-19
0
0
0
0
0
0
6
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
-14
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
-25
0
0
0
0
2
-13
3
0
0
-2
0
6
0
-1
0
0
0
-8
-15
0
0
-61
0
0
0
1
0
0
0
0
0
0
0
17
25
0
0
-6
0
0
-34
-16
0
4
-1
32
0
-18
-101
0
0
-1
3
0
86
89
0
0
8
-8
5
37
-27
0
0
-3
0
1
3
29
0
-10
0
0
0
0
-30
0
0
0
0
0
0
11
-3
0
0
0
0
0
7
34
0
-7
0
0
2
-14
-20
16
-3
0
0
-23
4
0
-15
13
6
0
-7
-89
0
0
8
7
-7
19
9
-3
2
2
0
7
0
55
0
0
0
-7
0
0
61
0
-8
-3
0
-13
0
-26
0
0
3
1
-1
0
11
0
0
0
0
0
0
-91
-20
10
-8
0
0
0
-30
0
-30
2
0
0
-4
-16
0
-6
-6
0
1
2
-43
0
15
0
0
0
-1
-50
0
15
0
-6
0
0
-74
0
-10
0
0
-1
0
-7
5
0
0
-6
0
0
-11
0
13
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
-37
0
0
0
0
0
0
4
0
-18
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
-23
0
8
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
-44
0
0
-8
0
0
0
-15
0
0
0
0
0
0
-21
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
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-42
0
0
47
0
0
5
-8
0
-5
-5
1
0
-19
-24
0
0
15
0
0
-2
-14
0
0
27
10
0
3
-1
0
0
-32
0
0
-1
8
0
-16
0
48
0
0
-32
0
0
0
0
0
0
-4
-3
2
0
0
0
0
-62
1
0
0
0
0
-2
-17
3
-1
-5
0
0
-1
5
0
-2
-7
0
0
27
-35
0
1
2
-4
0
-5
-34
0
0
56
1
0
0
1
0
0
0
0
0
0
41
0
0
-3
0
0
0
67
0
-4
0
1
0
0
12
0
0
0
0
0
0
32
7
0
1
0
0
0
-14
0
-9
21
0
0
0
18
0
0
-7
0
0
0
77
0
-3
2
0
0
-2
90
0
1
10
-5
0
0
-30
0
0
0
0
0
0
-46
0
0
0
0
0
0
5
0
6
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
2
0
-2
0
0
0
0
10
0
0
0
5
-13
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
-11
-36
-2
0
7
0
0
1
-39
0
-3
35
6
0
-28
17
0
0
117
0
0
0
-40
0
0
34
20
0
0
34
0
0
17
-1
0
0
-36
0
-13
-1
21
0
0
-59
0
0
0
0
0
0
-91
0
-3
0
1
0
0
-28
29
0
-16
0
0
-1
15
1
0
28
-3
0
0
-88
0
2
43
0
0
-8
-36
0
-1
-10
-2
0
0
62
-8
0
-53
-1
0
0
-33
1
0
-21
0
0
0
50
0
0
-2
0
2
0
-42
0
0
1
3
-20
0
7
0
-2
0
0
0
0
34
4
0
-6
0
0
3
3
0
-19
4
0
0
-8
-70
0
0
-5
-3
0
0
-77
0
-7
0
0
0
0
-26
0
0
4
0
0
0
72
-2
26
8
0
0
0
92
0
-1
0
1
0
0
16
0
-6
0
0
0
0
23
-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
-1
2
0
0
-9
0
1
-5
0
0
0
0
0
-4
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
-14
-11
-1
0
-5
-1
0
-65
53
-2
-19
64
0
0
-32
43
0
6
4
0
0
3
-41
0
0
41
31
0
2
0
-1
14
-4
0
3
0
-5
0
19
0
0
-4
0
-58
0
0
-1
0
-8
0
33
-6
0
0
0
0
-1
-24
42
0
-25
0
0
-5
-12
2
0
35
0
0
61
34
0
0
46
1
0
-14
60
-3
1
3
24
3
0
-13
0
-1
-3
0
0
0
0
0
0
0
15
4
0
30
0
0
0
0
-7
0
30
0
0
0
14
0
0
-5
0
0
0
0
0
-2
60
16
-2
-1
1
0
0
-107
0
61
-2
0
0
9
37
0
7
-33
0
0
4
-82
0
2
10
0
2
-1
-57
0
0
-3
1
0
0
0
5
-9
17
0
-4
0
-43
0
-5
0
-2
0
6
17
0
1
0
0
3
0
-21
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
69
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
-1
0
0
0
0
0
0
43
0
0
0
0
0
0
15
0
0
0
0
0
0
71
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
26
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
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
-5
0
0
0
0
0
0
0
0
0
0
2
2
-74
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
-9
4
0
-1
-8
0
-4
1
-13
0
10
-5
0
0
-25
13
0
0
53
0
0
0
-6
0
0
-1
0
0
8
-57
0
0
2
-3
0
0
13
0
-10
0
96
0
0
-22
0
0
0
0
0
0
-5
-3
0
0
0
0
9
24
-7
0
-11
0
0
3
-64
6
-5
0
3
-3
-5
17
0
0
-5
0
0
0
1
0
0
3
3
-15
-5
29
6
-2
3
0
0
0
-21
2
0
0
-8
0
4
14
0
0
0
0
0
0
-4
0
0
0
-2
6
0
2
0
0
0
0
2
0
-14
-1
0
0
0
0
9
10
0
35
-14
0
0
1
33
1
3
0
0
0
0
-23
0
0
-3
0
9
0
-50
0
0
0
13
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-2
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
-21
0
0
0
0
0
-1
0
0
0
0
0
0
64
0
0
-17
0
0
0
2
0
0
0
0
0
0
0
7
45
0
7
-17
0
0
-1
8
0
9
1
0
0
26
-28
0
0
0
0
0
-1
1
0
0
-1
0
0
16
53
0
0
27
0
-2
0
11
0
73
0
0
0
0
23
0
0
0
0
0
0
-25
1
0
0
0
0
0
-52
-3
0
-1
0
0
-1
52
2
0
-1
0
0
-1
24
0
0
14
0
0
-11
46
0
0
22
2
0
0
25
0
0
1
0
0
0
-20
0
0
4
0
0
0
28
0
0
2
0
0
0
42
0
0
0
0
2
0
14
0
0
0
0
0
0
-27
-2
0
0
0
0
-4
-46
0
21
0
0
0
0
1
0
0
-2
0
0
3
45
0
4
5
0
0
0
18
0
0
0
0
0
0
15
0
1
0
0
0
0
-9
0
0
0
0
0
0
33
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
-36
0
0
0
0
0
0
0
-2
0
-5
-2
-22
0
0
0
41
0
0
-1
0
0
0
0
0
0
0
0
-2
11
0
3
-71
0
0
14
-50
0
12
69
5
0
100
-31
0
0
-13
0
0
11
-11
0
0
0
0
0
1
8
0
0
6
0
0
1
-27
0
-20
23
37
0
0
-32
2
0
0
0
0
0
58
0
-7
0
4
0
0
-23
-27
1
34
0
0
5
16
0
10
-4
0
0
0
25
0
0
-2
0
0
-2
38
-5
1
-15
-4
0
0
19
0
0
-6
0
0
0
-12
0
0
18
-1
0
0
-19
0
0
0
0
0
0
0
0
0
15
16
0
0
50
-2
0
0
0
0
0
-39
8
-2
0
0
0
0
-41
0
7
-7
0
0
-9
-34
1
0
8
0
0
-5
-22
0
-10
5
0
0
0
-65
0
0
4
-1
0
0
-11
0
7
-2
0
0
0
21
0
0
8
-2
0
0
-27
0
-10
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
1
8
0
0
0
14
5
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-5
32
0
0
-19
0
0
-4
-73
0
5
26
0
0
-9
38
0
0
-16
0
0
0
12
0
0
14
2
0
0
-19
0
0
26
0
0
0
6
0
23
2
-7
0
0
-30
0
0
7
0
0
0
2
-1
-4
0
0
0
0
3
21
0
-6
0
1
1
-16
0
0
-14
5
0
0
-52
3
9
1
6
-4
0
-9
0
0
-6
0
0
1
-15
0
0
14
0
0
-5
-18
0
0
20
-1
0
0
-52
0
0
0
0
-5
0
17
0
0
0
1
23
0
33
0
0
0
0
-3
0
-2
0
0
3
0
0
0
5
0
23
-4
0
0
0
-28
1
0
-7
0
0
0
1
0
-8
-8
0
0
0
-5
0
0
-3
0
1
2
17
0
1
0
0
0
0
-4
0
0
1
0
0
0
52
0
3
2
0
0
0
33
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
57
-6
0
1
-1
0
0
-4
0
-2
76
-65
9
0
-12
28
0
0
-5
5
0
-1
44
0
0
-13
3
-6
2
-23
0
0
-23
0
0
4
0
0
-15
0
2
-8
0
26
0
0
0
0
0
0
-78
2
-1
0
0
0
-1
50
-8
0
-5
0
0
14
-48
14
5
0
0
0
5
-29
0
-2
-3
0
0
29
21
0
-9
35
-7
0
0
-36
0
0
19
-2
0
-2
91
1
0
-1
0
0
0
0
0
0
0
-3
-3
0
-3
0
0
0
0
0
0
-15
3
0
0
0
0
0
40
6
0
0
0
0
0
25
-1
15
-1
0
0
0
-30
-2
3
18
-5
0
0
16
0
-6
5
0
0
0
71
0
-2
-5
0
0
0
-60
0
3
-2
0
0
0
0
0
0
0
0
0
0
8
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
16
-1
0
0
0
0
0
-4
0
0
0
0
0
0
8
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
25
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
9
0
0
0
0
0
0
2
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
-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
-22
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
14
0
0
0
0
0
0
0
0
0
0
0
4
42
0
2
-14
0
0
0
40
0
-1
-2
0
0
-20
-84
0
0
0
0
0
9
42
0
0
4
-3
0
0
1
0
0
0
0
0
0
22
0
-12
0
-3
0
0
-3
0
0
-1
0
0
0
-23
-1
0
0
0
0
0
24
-5
0
0
0
0
0
-1
0
0
3
0
0
6
-80
0
0
0
0
0
-1
-22
0
0
8
0
0
0
-5
0
0
0
0
0
0
-81
0
0
0
-2
0
0
-84
0
0
0
0
0
0
-3
0
0
0
0
0
0
66
0
0
0
0
0
0
-13
0
0
0
0
0
0
-27
0
0
0
0
0
1
-4
0
-2
0
0
0
0
1
0
3
0
0
0
0
-11
0
5
0
0
0
0
42
0
9
0
0
0
0
-4
0
0
0
-7
0
0
-32
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
16
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
-6
0
0
0
0
0
0
-28
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
2
0
0
0
0
0
0
-5
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
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
4
0
0
0
-7
0
0
4
0
0
0
0
0
0
0
0
-5
16
0
0
-47
0
0
-41
-46
6
35
-22
4
0
-58
7
0
0
33
0
0
5
-59
0
0
-89
-24
0
0
-48
0
0
23
0
0
-2
-5
0
3
11
3
0
0
4
6
0
1
0
0
0
14
27
37
0
0
0
-6
-3
-44
0
22
0
0
75
34
0
0
-11
-1
0
-29
28
0
0
-7
0
0
5
44
0
0
0
15
0
19
13
0
3
-12
0
0
0
14
0
0
-1
53
0
1
-37
0
0
-23
0
0
0
-1
0
0
8
0
0
0
-14
0
0
0
0
0
0
-29
-6
-1
21
0
0
4
-113
0
-31
33
0
0
-5
-38
0
0
27
0
0
3
-67
0
6
0
0
0
9
24
0
-1
7
5
0
0
-1
0
0
5
0
0
0
39
0
0
0
14
0
0
16
0
66
1
0
0
0
-64
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
34
0
0
2
0
0
0
-17
0
-3
-1
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
11
0
0
0
0
-22
0
0
0
0
0
0
65
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
-6
0
0
0
30
0
0
0
0
0
0
-3
0
0
0
0
0
1
-33
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
-13
0
0
0
0
0
0
-26
0
-2
0
0
0
0
14
0
0
0
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
-48
1
0
0
22
0
0
-53
50
0
-8
60
0
0
-54
90
0
0
4
0
0
-5
81
0
0
0
0
0
1
45
0
0
4
0
0
0
44
0
29
-5
0
0
14
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
-3
-1
-4
0
0
13
23
-3
-4
-20
0
0
0
24
0
0
32
0
0
-3
-19
0
0
-4
2
0
1
37
0
0
3
0
0
0
-43
0
0
2
0
0
11
62
0
0
0
0
0
0
0
0
0
0
-5
0
0
24
0
0
0
0
0
0
-6
0
0
0
0
0
0
56
0
56
-14
0
0
0
-2
0
-1
3
0
0
-2
5
0
-1
-5
0
0
0
-3
0
2
3
-7
0
0
-8
0
-5
0
0
0
0
-5
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
1
0
0
-8
0
0
7
0
0
1
-1
0
0
3
0
0
0
0
0
0
0
-1
0
0
18
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
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
73
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
56
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
-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
16
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
-3
0
0
16
0
0
0
-2
0
9
1
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
-4
0
0
0
0
17
0
0
0
0
0
0
86
-1
0
0
0
0
0
-75
0
0
0
0
0
0
26
0
0
-1
0
0
0
-3
0
0
0
0
0
0
17
0
0
-4
0
0
0
5
0
0
0
0
0
-2
1
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
-25
0
0
0
0
0
0
80
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
3
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
68
0
0
-22
0
0
20
21
0
-59
52
0
0
-12
94
0
0
-3
0
0
-1
-43
0
0
-23
0
0
-6
62
0
0
1
0
2
0
-1
0
1
0
0
-2
0
45
0
0
0
0
0
0
-57
-1
1
0
0
0
0
-6
0
0
2
0
0
0
11
0
0
-5
0
0
1
-72
0
0
5
0
0
-25
-5
0
0
2
0
0
0
-64
0
0
30
0
0
0
-11
0
0
3
0
0
2
32
0
0
0
0
22
0
28
0
0
7
0
4
0
-16
0
0
0
0
0
0
0
0
0
-1
0
0
0
-18
0
36
1
0
0
0
19
1
0
0
0
0
0
4
0
0
0
0
0
0
56
0
0
4
0
0
0
45
0
-1
0
0
0
0
26
0
0
3
0
-6
0
17
0
-1
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
-1
-38
0
0
-11
0
0
0
0
0
0
0
0
102
5
-2
3
30
0
0
14
-17
0
13
-53
25
0
8
48
2
3
15
1
0
-30
52
0
1
73
28
0
9
4
0
7
-8
-1
0
34
-62
0
19
35
-17
0
-2
-12
-5
0
0
0
8
0
24
-10
-51
0
0
0
-14
-12
-94
0
21
-3
0
6
-24
58
-1
13
9
0
-15
14
-4
5
36
2
0
27
34
5
0
-55
54
0
72
-2
0
-5
-7
-1
0
19
-12
7
-4
-31
34
0
17
5
-1
-9
0
0
0
0
-59
-6
-22
12
-23
0
0
2
0
5
0
-3
0
-1
-5
26
-51
31
6
0
-56
-25
6
74
10
-2
0
81
-6
-11
-5
-99
0
0
-46
-17
0
-30
-17
4
0
19
6
0
48
-21
59
0
-6
-35
17
-37
30
-4
0
0
19
-5
-16
13
-7
0
0
-15
0
13
-3
0
0
0
-23
-14
16
-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
57
0
0
5
0
0
-2
2
0
-42
1
0
0
10
2
0
0
7
0
0
-1
0
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
0
0
0
0
0
0
0
13
0
0
0
0
0
6
31
0
0
-6
0
0
0
5
0
0
-8
0
0
0
-16
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
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
25
0
0
0
0
0
0
10
0
-1
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
7
-14
-1
0
-73
-50
-1
51
39
-21
0
23
17
0
-1
-14
0
1
-87
62
0
5
-52
-7
-13
4
26
0
0
-20
2
29
26
56
0
-31
-90
-14
0
2
66
-1
0
0
0
-2
0
-53
0
55
0
-7
0
0
-34
20
6
-9
4
0
56
-42
43
14
40
0
1
-3
-1
-6
6
53
0
-9
48
1
6
19
72
2
0
5
17
0
4
-45
0
0
34
-5
-13
0
-17
-66
-4
14
-49
0
-2
19
4
25
0
4
0
7
-1
54
-23
0
14
0
0
0
-2
0
-6
0
48
-7
6
-9
0
-5
-63
-10
-34
96
0
2
1
-25
3
15
11
0
0
0
-36
3
9
-53
3
0
7
0
-5
-1
-4
43
1
1
-25
0
52
18
7
1
-1
-1
0
0
14
5
0
0
66
0
35
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
-1
0
0
2
-3
0
53
-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
-11
0
0
0
5
0
0
1
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-31
0
0
0
0
0
0
18
0
0
2
0
0
10
5
0
0
-6
0
0
0
5
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
-10
0
0
0
0
0
0
33
0
0
0
0
0
0
14
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
27
0
0
0
-5
0
0
-4
0
8
0
0
0
0
10
0
0
0
0
0
0
5
0
11
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
-4
0
-56
0
0
34
-47
0
-46
-22
-8
0
-5
-23
0
1
-35
4
0
0
-104
1
0
-6
-21
0
0
93
0
0
-11
0
0
-1
16
0
15
-9
4
0
0
36
8
0
0
4
0
0
14
-33
0
0
0
0
-2
-1
13
0
-32
0
0
36
5
-5
-2
0
0
0
50
-21
6
0
16
0
0
24
65
-1
0
-16
-10
0
20
33
0
0
50
0
0
3
-52
-3
2
-37
8
0
0
-15
0
0
1
0
0
0
-57
0
7
-5
36
0
0
51
-1
0
0
0
0
-2
-7
1
0
5
0
0
6
10
0
61
-9
0
0
2
70
-3
1
29
0
0
5
60
1
-8
-2
0
0
5
-15
0
0
21
0
0
0
109
-4
-13
-7
4
0
0
6
0
4
-1
0
0
0
7
0
21
0
0
0
0
59
-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
91
23
-11
0
54
2
-2
10
39
0
4
2
-2
0
4
-71
-1
0
33
-8
-2
-2
26
0
-2
-31
2
6
2
12
0
39
3
14
-2
0
38
0
0
-1
7
-1
0
57
40
26
-5
-2
0
-1
56
7
-4
-35
0
0
58
25
-8
1
-57
3
-2
14
1
16
10
-13
2
-2
-72
-12
0
6
39
41
-4
-35
-5
0
-37
0
8
7
1
-60
0
0
-26
65
-6
-3
55
8
-3
71
0
-6
0
35
0
4
-3
33
2
0
13
-11
0
0
5
0
1
19
-18
0
16
-3
0
22
-22
0
-40
107
-1
8
-27
33
0
11
81
24
4
-5
16
-2
15
70
7
4
-5
28
0
-8
-6
-17
3
-2
16
-2
-43
-15
7
0
0
4
0
-4
-8
2
0
-5
14
0
58
0
0
-5
0
45
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
-30
-10
-22
-9
16
1
-62
4
12
-21
5
-52
-58
42
-9
2
-91
-2
-9
2
-10
-112
0
-21
71
-18
14
30
-41
7
-19
3
-33
-10
-11
-5
6
16
-2
96
-2
1
1
-22
-36
-31
-1
-34
9
52
-5
14
-58
60
-8
-9
-29
0
8
-32
14
-68
66
-25
6
53
-33
-10
-30
58
3
14
25
24
19
-16
16
8
-17
17
3
-12
-22
78
12
-7
52
-12
14
2
21
-17
9
102
3
-18
25
52
5
7
-30
18
10
-27
-5
-1
-14
-79
-6
-26
97
-23
-38
20
30
-49
22
-14
-13
-44
0
29
39
48
93
33
12
-8
-40
58
-80
-55
-2
-22
10
-15
52
-41
-19
5
119
44
23
53
1
-15
4
19
-9
76
-67
38
84
15
-49
-6
47
-33
40
-9
62
-5
-9
-2
4
80
54
-24
1
7
19
-31
-20
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
10
-8
0
33
39
0
0
5
15
0
0
21
0
0
0
50
0
0
2
3
0
0
-20
0
0
0
0
0
0
-2
0
13
0
0
0
0
4
0
0
0
0
0
0
-7
0
1
0
0
0
0
-39
0
0
9
0
0
0
-70
0
-1
1
0
0
0
3
0
0
6
0
0
-15
20
0
0
3
0
0
0
-33
0
0
1
0
0
0
-54
0
0
-3
0
0
0
-74
0
0
0
0
0
0
-27
0
0
0
0
0
0
34
0
0
0
0
0
0
17
3
0
1
0
0
0
29
0
0
0
0
0
0
23
0
0
0
0
0
0
-14
0
0
-4
0
0
0
0
0
3
0
0
0
0
43
0
3
0
0
0
0
21
0
-1
0
-2
0
0
51
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
3
26
0
122
71
1
0
-47
-14
0
0
0
0
0
13
15
0
0
-5
0
0
-2
-41
0
0
4
0
0
0
-26
0
6
0
-1
0
0
3
0
0
0
0
0
0
51
0
0
0
0
0
0
71
-1
0
16
0
0
0
65
0
0
1
0
0
-2
9
0
0
-7
0
0
-1
-7
-6
0
-8
0
-2
0
47
0
0
-1
0
0
0
23
0
0
0
-4
0
0
-6
0
0
0
0
0
0
8
0
0
0
3
0
0
-37
0
0
0
0
0
0
-9
-1
0
0
0
0
0
2
0
15
0
0
0
0
50
0
0
1
0
0
0
21
0
3
1
-1
0
0
-35
0
0
0
8
0
0
-26
0
-2
0
0
0
0
3
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
-50
35
4
1
35
-8
-2
14
45
0
-6
-9
-7
0
-1
54
49
-2
-23
-24
-2
-1
-13
7
-15
-10
-5
0
13
-2
-24
-3
0
49
-3
0
8
5
-33
0
53
-21
13
0
-44
2
7
29
47
-37
4
2
0
53
15
4
3
-7
-34
9
14
35
-3
-21
-47
-1
1
23
21
-1
4
48
-40
24
62
-11
-3
27
22
29
5
10
10
0
-6
-73
27
6
10
-8
0
-9
-21
2
52
0
27
-2
-4
-7
-100
-6
0
6
-7
0
0
0
15
47
34
-21
-3
-20
-1
0
25
21
-27
-5
31
4
-1
22
-20
8
9
86
6
1
25
-29
4
109
38
-6
7
-22
-71
-11
74
3
47
-1
19
27
0
-11
30
-6
21
2
-13
0
-51
-43
87
0
17
-70
-4
-45
0
1
8
0
-65
-1
-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
-4
5
0
51
4
0
0
1
37
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
45
0
0
0
0
16
0
0
0
0
0
0
16
0
1
0
0
0
0
83
0
0
0
0
0
0
-75
0
0
1
0
0
0
50
0
0
1
0
0
0
-11
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
17
0
0
2
0
0
0
75
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
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
24
0
1
0
0
0
0
-1
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
-4
15
0
0
-1
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
2
0
0
0
0
8
0
0
0
0
0
0
-6
-4
0
0
0
0
0
-16
2
0
0
0
0
5
-27
0
0
1
0
0
0
7
0
0
0
0
0
-6
41
0
0
0
0
0
0
20
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
64
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
-6
0
0
0
-1
0
0
0
0
0
0
-14
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
133
21
0
4
46
-9
0
-18
-19
0
5
-23
-5
0
-22
3
5
-8
32
0
0
0
-25
-2
-14
17
-3
1
-3
38
-5
0
0
-8
-33
-1
-18
27
16
0
-4
0
-8
-15
-5
11
85
4
0
5
-38
-5
14
-21
7
0
-3
13
1
0
39
0
-2
75
25
0
-3
15
22
0
58
-8
0
-2
-45
-2
0
0
-75
-3
5
90
-18
-7
3
56
0
9
-30
0
-1
0
14
0
26
25
-25
-41
0
5
0
9
0
0
0
0
36
76
-18
64
5
0
-1
-14
-1
-59
79
0
-2
-13
5
-3
24
-4
-5
0
24
16
-4
-18
-46
4
0
-1
32
-3
2
7
-18
6
23
-15
4
-50
43
-1
-8
5
7
-3
14
5
7
0
0
-26
0
93
1
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
14
-3
-7
21
-33
1
5
35
10
1
13
-70
0
0
-22
6
44
61
-7
0
-33
-49
50
-5
14
-46
0
0
7
-9
5
0
7
31
-80
0
-6
0
5
3
-7
2
-37
-3
0
123
38
-3
-7
53
3
-65
44
0
11
8
-51
-5
5
30
5
-39
54
103
5
-20
90
-23
44
-21
-44
-4
80
-38
5
-5
5
-15
-63
73
5
4
0
-2
-1
-5
-13
-10
-35
-2
5
0
-31
26
0
5
-21
0
0
20
-2
45
-10
42
7
-47
0
1
49
7
50
-4
47
3
10
-7
0
8
133
30
-15
1
47
17
6
-4
10
-29
9
4
-16
-1
-18
15
-5
-2
-90
-3
0
16
-14
48
4
-7
21
0
-27
-4
-43
6
0
24
0
-23
-8
2
0
0
-55
-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
-2
10
0
0
-7
0
0
-4
-16
0
0
-3
0
0
0
39
0
0
0
0
0
3
-14
0
-20
0
0
0
0
6
0
0
0
0
0
0
-71
-2
1
0
0
0
0
-75
9
0
14
0
0
0
36
0
2
-2
0
0
4
-41
0
0
2
0
0
0
2
0
0
0
0
0
0
22
0
0
0
0
0
-1
-14
0
0
0
0
0
0
35
0
0
0
0
0
0
-9
0
0
-2
3
-8
0
82
0
0
0
0
0
0
76
1
0
7
0
0
0
35
0
0
-4
0
0
0
-2
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
-13
0
0
0
0
0
0
45
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
30
-5
-2
-24
18
33
11
17
7
-8
-23
-68
5
-9
-18
0
-5
2
-2
68
17
-37
1
28
-17
-24
18
-14
-54
2
-1
3
0
-57
4
48
-61
71
0
56
-4
44
35
-6
2
83
-4
3
94
-84
61
51
27
-14
25
15
1
-3
-34
-39
15
3
32
14
19
66
26
47
23
103
-51
0
10
-37
-19
-33
58
-44
24
45
-10
62
-39
32
29
0
16
-7
20
-39
-8
41
-1
2
-19
5
-41
0
0
0
0
0
0
-5
10
24
0
22
-12
-1
0
10
21
23
-27
34
14
2
24
-7
8
45
15
-19
1
-39
5
16
-6
14
-14
43
30
-6
0
-29
-46
59
4
15
-18
4
10
21
-33
16
0
38
-3
-2
-12
18
-1
1
13
0
-19
6
-4
4
0
4
18
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
15
29
45
4
-32
5
-1
9
11
7
0
14
14
2
-24
-1
0
-7
-48
1
57
52
-44
6
-32
-21
40
0
2
39
9
36
-3
0
65
0
-27
65
-50
0
23
9
7
36
85
0
121
-1
3
7
5
-73
5
41
-6
-1
44
35
4
5
12
-5
0
31
29
5
14
20
7
-2
-45
37
1
10
-61
-6
3
-21
-3
18
-14
-53
43
-5
10
9
-3
1
49
0
17
2
8
11
-20
-23
45
-3
0
-32
-2
-7
0
0
5
-22
-25
-13
7
-18
5
1
52
-18
-11
34
-1
1
1
43
4
2
27
-26
-10
18
-19
-38
2
20
42
-7
-24
-32
-4
9
-5
-52
-34
1
46
30
-15
5
24
-5
4
3
36
5
8
53
43
-3
0
49
-9
1
34
0
-23
0
22
2
23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-31
0
0
-17
32
0
0
-29
0
0
-6
37
0
0
-15
0
0
0
58
0
-5
4
0
-2
0
-22
0
0
0
0
1
0
23
-14
8
0
0
0
0
3
7
-6
-5
0
0
1
64
-4
0
52
0
0
-25
-14
0
0
5
0
0
19
-71
-2
0
22
0
1
6
-25
0
0
21
0
0
-2
-63
0
0
35
1
0
-1
18
0
0
0
0
-4
0
35
0
0
-1
0
24
0
2
0
0
0
0
0
0
-26
6
0
0
0
0
-3
-53
0
29
-6
0
0
43
4
3
-1
-7
0
0
-2
-5
0
-13
0
0
14
1
-9
3
-3
19
0
0
0
36
0
1
4
0
-1
0
48
0
0
0
0
0
0
-26
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-4
0
0
0
0
0
57
0
0
0
0
0
0
29
0
0
3
0
0
1
-10
0
0
1
0
0
0
15
0
0
0
0
0
0
-43
0
0
1
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
18
0
0
0
0
0
0
17
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
9
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
43
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
3
2
-15
27
43
-4
-2
13
-2
0
84
-1
10
0
-45
2
10
-7
-62
35
0
14
10
0
2
1
-7
0
3
19
31
0
34
5
1
-15
30
-2
-26
0
0
-23
-22
27
39
47
43
7
-36
-4
-15
-5
-12
-6
1
-65
-8
-3
-43
18
29
0
19
32
-6
59
30
-27
6
3
17
1
18
66
-7
48
0
-25
6
-2
38
2
5
6
-23
0
-40
21
36
54
0
-5
40
0
0
0
10
-5
18
-9
37
5
-65
10
4
20
-30
47
-62
-3
0
21
-2
5
76
-58
1
14
3
-26
5
57
-6
-14
2
-4
9
6
-27
-52
-53
-59
-1
16
-25
59
-39
-9
6
-1
20
2
10
33
95
5
0
8
0
39
25
0
-2
0
4
-22
2
5
-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
-76
15
-31
2
-23
28
15
23
-26
1
-3
-29
-2
-1
-6
-75
0
2
32
-42
-9
25
-23
-2
-1
13
-1
-95
0
-13
-53
56
0
-46
0
18
12
27
13
-78
4
0
12
-3
7
33
-66
-27
-4
51
-16
-5
32
23
13
-9
-74
0
-27
56
1
67
0
32
-18
6
-34
56
-5
3
37
-57
-5
-16
-18
-63
-6
-16
-3
0
7
54
0
66
-23
0
6
3
4
-28
14
0
-19
0
0
0
24
-5
-46
4
-36
9
125
-31
-1
-61
31
34
26
-33
5
6
59
-31
20
64
47
-4
26
62
0
24
-62
44
53
-13
14
-60
-17
18
-87
-16
-6
-14
1
-8
30
-9
-2
-3
4
60
-1
19
26
-33
2
0
-69
0
-33
-5
5
-16
0
-6
3
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
11
0
-7
0
0
0
0
27
0
0
0
0
0
0
54
1
0
0
0
0
0
13
0
0
21
0
0
0
95
0
1
0
0
0
0
34
0
0
0
0
0
0
-27
0
0
0
0
0
0
29
0
0
1
0
0
0
-4
0
0
0
0
0
0
23
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
11
0
0
0
0
0
0
33
0
0
-5
0
0
0
22
0
0
0
0
0
0
-1
0
1
0
0
0
0
-5
0
0
0
0
0
0
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
128
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
-7
0
0
-5
3
0
0
58
0
0
0
0
0
0
23
-1
0
0
0
0
0
28
0
0
-5
0
0
6
7
0
0
-2
0
0
-4
53
0
0
-1
0
0
2
-11
0
0
6
0
0
0
33
0
0
-3
0
0
0
-7
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
1
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
-1
8
0
0
0
-21
0
-2
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
15
0
0
0
0
0
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-42
-40
-4
41
32
4
-1
-47
0
-1
-25
-2
0
2
-35
59
44
-2
42
0
-1
0
0
24
0
9
22
-35
0
11
1
1
26
-17
2
15
0
6
-26
60
-3
-59
23
36
-3
-76
-19
0
2
73
5
0
-5
-2
0
4
7
-59
5
34
-35
-2
8
-53
13
0
9
71
0
0
46
34
-1
-26
22
0
0
-8
0
0
0
-14
0
-7
1
5
0
0
13
0
0
0
-5
0
-7
48
67
6
-5
1
0
-52
-8
38
-12
-5
0
0
14
37
0
15
-5
1
0
49
-15
0
34
-14
1
-1
5
-46
2
-32
-14
-10
2
-4
-2
2
25
0
0
2
-4
-54
-6
0
5
14
0
0
40
0
-41
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
2
34
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
-86
0
0
0
0
0
0
17
0
0
2
0
0
-3
-14
0
0
0
0
0
4
-22
0
0
1
0
0
-3
-11
0
0
5
0
0
0
-52
0
0
0
0
0
0
53
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
17
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
5
0
0
0
-7
0
0
-6
0
0
0
-11
0
0
-4
0
0
0
-4
0
0
0
0
0
0
-13
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
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
-36
0
0
0
0
0
4
82
0
0
0
0
0
0
14
0
0
2
0
0
0
-46
0
0
6
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
-1
0
0
0
0
10
0
0
0
0
0
0
-29
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
-16
0
0
-73
0
-1
0
-16
2
60
-3
-1
0
0
-38
0
0
0
0
0
0
-5
-24
-7
0
0
0
0
-25
6
0
14
0
0
0
-62
-17
-25
53
0
18
4
70
-1
0
59
0
0
5
-66
-5
-5
-38
43
0
0
-49
0
7
-72
0
3
0
-82
2
0
84
1
5
0
34
0
0
0
0
-6
0
-73
0
7
-6
-5
0
0
-11
0
0
0
0
0
0
44
3
2
1
0
0
0
-48
0
-11
-8
5
0
0
-1
0
-11
33
0
0
0
115
0
11
-8
0
0
0
43
0
2
-13
-13
0
0
17
-4
39
-8
0
0
0
-20
-1
4
-4
-5
8
0
18
0
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-1
-51
40
5
50
-14
0
-7
21
-14
2
2
-5
3
-1
14
-5
19
0
14
-4
11
0
3
0
10
-4
-37
2
32
-6
-4
-54
-4
-44
81
-28
-20
-6
2
-7
-5
-8
71
-2
0
109
-7
9
-6
34
26
5
-12
0
48
-33
39
15
-8
-32
9
21
2
-75
-31
8
33
-25
-10
4
-4
-9
27
8
-18
8
51
-41
-7
-5
0
-10
5
-6
0
6
-14
-32
-9
4
-10
-5
-10
0
65
14
-37
18
53
5
5
77
15
-18
57
7
5
0
18
27
16
5
-44
80
0
-24
0
-9
6
82
24
0
50
45
1
25
10
-1
-6
-15
-41
0
22
49
33
-1
2
-3
-13
-38
-1
2
-6
0
66
-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
-31
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
44
0
0
0
0
0
11
22
0
0
4
0
0
0
-13
0
0
-1
0
0
-3
-3
0
0
-1
0
0
0
47
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
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
4
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
24
0
0
0
0
0
0
-43
-1
0
0
0
0
0
-88
0
0
-1
0
0
-2
-49
0
1
0
0
0
0
-28
0
0
0
0
0
0
-1
0
0
0
2
0
0
-34
0
0
0
0
0
0
24
0
0
0
-1
0
0
10
0
0
1
0
0
0
9
0
0
0
0
0
0
64
0
0
0
0
0
0
16
0
0
0
0
0
0
17
0
-1
0
0
0
0
-1
0
0
0
0
0
0
21
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
-16
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
-11
-30
0
0
-4
2
0
4
30
0
-51
0
-62
-11
-2
-27
11
0
0
0
-4
0
-27
1
0
0
0
0
-1
35
66
3
1
0
0
13
-29
14
32
-15
-4
0
-1
10
2
4
2
0
0
-2
0
0
0
1
45
0
1
-25
1
-5
-4
3
0
2
-14
0
0
2
-23
-8
5
11
0
0
-39
0
14
0
-18
0
-1
0
-7
32
0
18
3
0
0
0
0
0
12
-18
1
8
-9
0
-2
12
5
27
5
0
1
31
13
3
-5
23
2
-4
0
-58
0
-43
-1
0
-1
3
-37
0
-5
2
-46
0
-1
5
0
21
7
0
1
0
11
-2
-5
-2
-5
0
4
-2
0
-17
0
3
-6
0
-3
-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
-39
0
0
-2
0
3
10
19
0
91
1
0
0
0
31
0
0
0
0
3
0
24
3
11
0
0
0
0
39
15
0
-13
0
0
19
-47
0
-1
-51
0
0
5
-41
0
1
-5
0
0
0
22
0
0
6
0
0
1
-48
0
0
-20
0
4
-1
7
0
0
-51
0
6
0
-14
0
0
8
0
-11
0
-17
0
0
9
0
14
0
-59
2
-3
0
0
0
0
-54
11
0
0
0
0
2
5
0
3
2
0
0
0
-44
0
0
-6
0
0
0
4
0
0
13
0
-13
-5
1
0
0
10
0
0
0
42
0
-35
0
0
0
0
-56
0
0
-2
0
0
0
14
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
-16
0
0
0
0
0
0
33
3
0
0
-2
0
0
-71
0
0
0
0
0
0
-1
0
0
-2
1
0
0
-20
0
0
0
0
0
0
-55
0
0
8
0
0
0
7
0
0
-2
0
0
-3
1
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
-1
0
0
-3
0
0
0
-8
0
0
0
0
0
0
83
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
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
68
0
-60
0
53
0
0
-33
0
0
0
0
-2
0
18
-1
0
0
0
0
0
1
-18
0
0
0
0
-9
6
-13
17
30
0
0
-5
36
0
0
34
0
0
14
-13
-5
5
-16
-6
0
0
-73
0
-2
29
1
0
0
12
0
-4
6
2
0
1
41
0
6
23
0
-19
0
7
0
0
0
-2
-4
0
7
0
0
0
0
0
0
-42
-5
0
0
0
0
-14
49
0
37
8
0
0
0
-39
0
3
10
0
0
0
59
0
-3
1
-1
0
0
134
0
0
-7
4
0
0
61
0
-5
5
0
0
0
44
0
-1
0
-3
0
0
-8
0
-19
0
0
3
0
23
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-67
0
0
4
-4
8
0
6
10
3
62
0
-15
0
-5
-7
-3
0
15
0
-36
-2
-129
-5
29
-6
-1
-20
23
-30
6
-33
-15
-3
-3
-13
20
1
-38
6
-3
0
8
5
-2
1
23
-8
70
-26
5
22
44
41
30
39
0
11
0
20
-38
3
-2
-20
44
3
-46
0
-40
-2
-11
1
-29
29
17
14
0
10
31
-2
0
1
-2
-16
11
-75
5
-22
5
1
8
16
-43
40
-106
11
-22
-39
-20
-15
-40
19
46
0
-32
13
5
-16
25
44
6
-19
-38
37
89
-43
29
-32
43
0
-25
-7
14
-27
-1
4
-1
-5
49
-46
-20
4
2
-34
-4
-3
-14
0
-38
-1
5
31
-11
4
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
-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
9
0
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
0
0
0
0
0
-12
0
0
10
0
0
0
-18
0
0
0
0
0
-2
4
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
9
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
11
0
0
0
0
0
0
17
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
5
0
0
-47
-2
0
0
0
-1
0
36
32
-6
0
2
0
0
38
-27
0
-30
0
0
-3
-69
2
-2
87
8
-5
-9
1
0
4
64
0
0
4
7
-1
-15
-26
6
5
-10
-9
1
3
6
1
-4
1
27
-6
0
-2
45
7
0
-54
0
0
0
0
-12
0
-14
0
-1
0
5
16
0
-16
0
0
0
0
0
0
107
3
5
6
0
0
0
34
0
-40
29
0
0
-2
40
0
-7
0
3
0
3
-85
0
3
-1
0
0
6
21
0
-3
0
21
0
-2
5
0
-39
0
0
1
0
-46
-6
0
0
-8
4
0
-74
0
73
3
0
-1
0
-56
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-9
0
0
0
0
0
0
21
0
0
0
0
0
0
33
0
0
-6
0
0
0
-15
0
0
1
0
0
0
56
0
0
0
0
0
0
25
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
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
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
-5
0
5
0
0
0
0
9
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
-5
0
0
0
0
33
0
0
0
0
0
0
46
-1
1
0
1
0
0
63
-4
0
0
0
0
-1
64
-3
0
0
0
0
-1
44
0
0
0
0
0
0
57
0
0
11
0
0
0
8
0
0
5
0
0
0
-25
0
0
0
0
0
0
-9
0
0
0
0
0
0
-35
0
0
0
0
0
0
42
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
35
0
0
-4
0
0
0
21
0
0
0
0
0
0
-8
0
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
23
0
0
0
0
0
0
-52
4
0
-5
0
0
5
75
0
-4
-6
10
0
2
-59
-3
1
-10
0
0
0
-43
0
0
-5
-1
0
0
-36
-4
3
-9
0
0
0
-22
0
0
1
0
0
0
8
0
1
-1
0
0
0
41
0
0
0
0
0
0
-21
0
0
0
0
0
0
45
6
0
0
0
0
0
-5
0
11
0
0
0
0
23
3
0
1
0
0
0
11
0
-14
0
0
0
0
2
0
2
0
-6
9
0
-37
0
0
1
0
0
0
41
0
0
-1
1
0
0
-34
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
-46
0
0
1
33
20
0
4
-29
72
0
-3
0
2
9
109
-21
34
-9
-1
-43
-16
-14
-9
28
-10
0
22
-4
5
4
39
-1
-5
-9
-22
0
-10
0
-46
-22
71
-43
-5
-42
-47
45
-8
22
60
-5
-3
79
92
20
-7
0
13
-4
5
-1
13
0
11
0
0
-2
8
-20
0
42
3
0
0
0
-6
0
5
-5
-1
19
-15
0
64
56
30
54
24
-3
0
60
23
33
-14
58
5
0
7
18
1
-23
7
26
-3
-9
-15
21
-22
-35
63
3
2
-7
6
63
33
10
0
0
0
-6
0
35
-9
1
0
-6
0
11
-2
0
1
0
19
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
-2
0
0
0
0
0
0
24
0
0
0
0
0
-3
0
0
0
10
0
0
0
2
0
0
-2
0
0
0
50
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
-49
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
-41
1
0
5
16
-25
0
53
-77
0
0
50
0
53
6
31
10
-59
0
1
11
-6
50
-5
-21
33
1
-5
-6
-5
-1
-7
-3
-4
7
-51
13
-9
1
17
-3
45
7
0
14
11
13
8
-35
10
3
78
-49
14
32
-9
11
0
0
-27
34
-34
0
2
6
7
13
7
-72
0
11
4
5
0
0
-4
10
-24
-16
32
-9
7
0
-50
-59
-7
-40
23
-7
-1
33
-77
-10
-2
-27
5
0
-86
21
-13
-17
75
-5
-15
26
-71
0
-7
11
33
-9
4
-7
0
-6
-23
-4
0
5
0
0
7
-17
-4
-2
0
-20
0
8
-3
0
5
0
-5
5
-23
-11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
100
-7
0
0
0
-8
9
0
0
1
0
0
11
-15
0
0
-3
0
0
23
26
0
0
4
0
0
-7
-16
0
0
27
-11
-1
-2
-40
0
0
0
0
0
0
-11
0
0
-1
-23
0
0
-35
0
-1
0
0
0
0
-82
0
-1
0
0
48
0
26
0
-3
0
0
0
0
-30
-11
0
-3
0
0
1
53
0
40
10
0
0
4
-6
-5
0
6
-2
0
-1
-58
0
-17
8
0
0
0
21
0
0
0
1
0
0
77
-2
1
4
0
0
0
-90
0
0
-1
-5
0
0
40
0
19
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-21
-1
0
0
0
0
72
17
0
87
0
0
77
41
0
0
-15
0
0
-68
5
1
1
80
0
0
76
59
0
0
6
0
0
8
48
0
-2
-46
0
-4
0
17
0
0
-3
-8
0
0
-20
0
0
7
0
-2
0
-1
0
0
5
0
2
0
-2
0
0
0
0
0
5
61
-6
0
-8
0
0
-21
25
0
44
11
0
0
-21
5
2
5
-10
0
0
0
37
0
34
2
0
0
-1
20
0
0
6
0
10
-9
61
0
0
20
0
0
0
15
0
0
1
0
0
0
55
0
-7
0
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
9
0
0
0
0
0
3
87
0
-2
-2
0
0
-1
-7
0
0
4
0
0
0
62
0
0
0
0
0
-1
-23
0
0
0
0
0
0
14
0
0
1
0
0
0
-17
0
0
6
0
0
0
58
0
0
0
0
0
0
-5
-2
0
0
0
0
0
48
0
-1
1
0
0
0
-1
0
0
0
0
0
0
3
0
-8
0
0
0
0
2
0
-6
0
0
0
0
33
0
0
-1
0
0
0
34
0
0
0
0
0
0
57
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
45
0
0
0
0
0
0
43
0
0
0
0
0
0
5
0
0
-5
0
0
0
26
0
0
6
0
0
0
-29
0
0
3
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-15
0
0
2
0
0
0
-8
0
0
0
0
0
0
-17
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
9
0
0
0
0
-5
0
0
0
0
0
5
10
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
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
-19
35
-4
0
-35
0
8
7
54
-20
63
19
-1
21
-1
1
14
-3
4
-55
-21
-29
6
34
54
0
5
-8
-28
-20
-32
17
52
-5
1
45
-1
-17
-62
15
20
-29
-5
-7
-2
-32
-54
19
-5
-21
0
-6
-21
32
59
1
0
-3
3
40
-20
3
0
-2
14
0
0
2
0
0
-39
-3
-2
78
-8
0
102
-13
2
-12
45
5
36
-46
-51
-7
-80
14
-1
0
29
28
21
10
33
17
-2
24
17
1
-65
-45
-20
8
38
37
1
3
-32
19
-40
-4
-20
-10
-24
1
40
3
0
0
0
14
-4
1
1
0
6
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
15
0
0
0
0
0
-1
-31
0
0
5
0
0
0
80
0
0
2
0
0
0
55
0
0
0
0
0
0
1
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
2
0
0
33
0
0
0
0
0
0
-3
0
0
3
0
0
0
-10
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
10
0
0
0
0
0
0
-37
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
33
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
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
1
0
0
1
0
0
0
23
0
0
-1
0
0
0
-62
0
0
0
0
0
0
-23
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
-17
0
0
0
0
0
0
34
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
-2
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
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
8
6
0
0
0
0
0
26
0
0
-6
0
0
0
24
0
0
0
0
0
4
-8
0
0
0
0
0
0
43
0
0
-4
0
0
0
-20
0
0
0
0
0
0
27
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
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
-21
-20
1
0
0
0
5
-73
5
0
4
0
0
0
-9
0
0
-19
0
0
-14
-86
0
0
-2
0
0
0
-49
0
0
18
-2
0
-1
-40
0
0
14
0
0
-1
-3
0
0
-18
0
0
1
-71
0
0
2
0
0
0
0
-2
5
-11
-9
0
0
78
0
0
0
0
0
0
-31
4
0
0
-4
0
0
-28
0
5
13
1
0
-4
2
0
1
-2
0
0
0
1
0
-3
2
0
0
-3
90
0
0
0
0
0
-1
-41
0
-11
6
0
0
0
-23
0
2
0
0
0
0
75
0
-15
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
-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
43
-1
-67
34
32
16
4
-37
6
-38
-53
1
113
22
25
-26
-10
-19
-43
-10
-25
-7
-3
-96
71
1
53
21
25
-8
10
-15
-20
25
10
56
-23
-33
-4
20
-2
-38
16
3
15
-18
31
-27
-25
10
27
5
12
27
60
-13
0
0
0
-14
-19
20
53
-8
4
18
-29
56
-69
-20
-76
34
-5
27
144
28
3
5
-17
74
52
56
47
4
71
-32
110
74
21
-27
-36
17
-22
102
7
-39
1
-27
-20
-41
-8
14
23
16
-45
-49
23
-13
-5
-24
9
17
-3
4
-4
44
-48
-2
26
1
0
-1
35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
52
-74
-9
-2
-54
3
-3
22
-45
0
0
49
0
0
7
13
0
1
-67
2
0
3
32
0
0
5
0
3
-6
-54
0
-1
-58
45
8
0
11
0
-2
1
0
3
0
30
0
0
0
-1
3
0
68
0
0
0
0
0
0
-22
-4
3
0
0
0
-36
4
0
1
36
-2
0
0
-73
-2
-3
-10
0
0
1
8
0
2
9
0
0
-4
-31
0
-19
-5
-3
0
-18
-33
0
-8
-3
1
0
0
26
0
-3
0
5
0
0
-1
0
-19
0
0
0
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
0
0
0
0
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
-5
0
-6
0
0
-3
31
0
0
28
0
0
77
15
0
0
-4
0
3
2
-2
0
0
5
-2
0
-1
-25
0
0
35
0
0
0
63
0
0
5
4
0
0
-21
0
0
2
0
2
0
42
0
0
2
5
-1
0
8
0
0
0
0
0
0
22
0
0
0
0
0
0
85
0
-13
3
0
1
0
-23
0
-1
14
-2
0
15
-42
0
0
-6
0
0
0
33
0
-1
5
3
-6
0
-27
0
9
0
0
0
0
20
0
0
0
0
0
0
-30
0
2
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
-3
0
0
0
0
0
43
-1
0
1
0
0
0
-16
0
0
3
0
0
1
35
0
0
-1
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-22
0
0
0
0
-8
0
4
0
0
0
0
0
0
-18
0
0
0
0
0
0
32
0
-4
0
0
0
0
-19
0
1
1
0
0
0
27
0
0
0
0
0
1
47
0
-2
-1
0
0
0
-14
0
0
0
0
0
0
9
0
1
1
0
0
0
7
0
0
0
0
0
0
81
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
32
0
0
0
0
0
0
6
0
0
-1
0
0
4
51
0
0
0
0
0
0
20
0
0
0
0
0
0
58
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
-4
0
0
0
0
0
0
3
0
0
-3
0
0
0
-3
0
0
0
0
0
0
-5
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
1
0
0
0
0
0
0
-29
0
0
0
0
0
1
-74
0
0
-7
0
0
0
4
0
0
0
0
0
0
64
0
0
0
0
0
0
-5
0
0
0
0
0
0
-11
0
0
0
0
0
0
7
3
0
-1
0
0
0
-21
0
2
0
0
0
0
22
0
5
-8
0
0
0
-1
0
1
0
0
0
0
-20
0
0
0
-7
0
0
39
0
5
-2
0
0
0
-2
0
0
0
0
0
0
66
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
21
-11
54
114
57
-20
-58
12
-6
44
28
75
-61
37
26
-30
31
62
37
-5
-129
6
16
48
-38
2
-32
5
-67
-6
26
47
13
16
33
32
-16
66
-19
-18
4
24
21
-18
72
68
-53
-101
-24
1
32
-9
46
-15
-15
-59
-14
0
40
-44
0
55
0
-109
-31
14
40
28
83
33
-112
5
-19
-17
-47
-15
-5
-25
-4
-3
-19
10
50
67
47
7
47
-30
-39
20
7
58
-31
31
-10
10
23
0
15
2
98
24
16
34
78
6
3
24
47
23
78
13
-10
-10
-43
14
-29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-23
42
3
0
34
41
0
-1
12
0
0
14
-21
0
-1
-26
5
0
-11
14
0
-2
-4
-2
0
10
22
0
1
-14
34
0
-3
-40
0
0
-5
0
0
0
2
0
0
3
9
24
0
35
-2
0
0
0
0
3
44
18
-2
0
0
0
-4
19
0
-6
-43
0
0
2
-22
0
0
52
0
0
-5
-16
0
20
-20
0
0
0
-68
0
-4
14
-4
0
0
-18
0
0
2
0
0
3
-25
0
0
-1
5
1
0
15
0
-23
0
0
-4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-8
67
0
0
-1
0
0
9
-47
0
0
8
0
0
0
-10
0
0
-1
0
0
0
24
0
0
-11
0
0
0
-28
0
0
0
0
0
0
14
0
0
0
0
0
0
-41
0
0
0
0
0
0
-49
7
0
0
0
0
-1
3
0
0
6
0
0
0
1
0
0
-1
0
0
0
45
0
0
0
0
0
0
10
0
0
0
0
0
0
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
10
-14
-2
0
77
28
5
-7
-26
0
-5
70
20
-4
-3
53
-4
-1
-5
-1
-10
0
-5
-10
0
0
-25
-7
-2
-4
-15
0
0
-27
0
0
5
-2
1
2
66
0
0
1
0
-4
0
-19
0
-5
0
0
0
0
-43
5
-5
0
0
0
-1
31
5
-2
0
-1
0
0
101
0
-33
-6
0
0
4
-47
-5
-22
5
3
0
0
-33
0
5
-36
-19
0
1
-137
14
39
-3
1
0
0
-83
0
0
0
-4
0
0
91
0
16
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
-27
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
-25
0
0
0
0
0
0
-1
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
9
3
0
0
0
0
0
7
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
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
14
0
0
-3
0
0
-2
52
0
5
-27
-9
0
2
58
0
-5
-43
-1
0
-3
23
0
0
-37
31
0
6
44
0
0
24
-2
3
0
-13
2
-1
4
2
-20
0
63
0
-4
0
0
-3
0
51
-21
0
5
0
0
0
12
0
-53
2
-2
0
0
-9
0
-9
11
-1
0
-1
-44
0
33
-6
0
0
-3
71
0
2
-5
33
0
0
-36
14
-32
-1
0
0
0
-76
-1
-3
-11
-2
0
0
-14
0
56
0
0
0
0
-7
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
-103
-19
18
37
-53
-36
19
-49
1
12
-45
14
-51
-73
-15
14
-9
66
39
36
37
-8
14
7
26
-37
-1
116
28
-6
-2
43
12
-11
-62
21
3
20
-34
20
66
53
0
-13
0
-2
-8
-13
33
68
20
57
-1
-31
-44
0
-71
0
-51
-22
-56
-7
-3
-43
-23
59
-33
-94
-80
4
5
-8
36
-41
-5
83
-37
5
-25
78
-4
72
49
15
-5
1
-39
-26
-35
-15
43
-2
-21
-10
-5
-20
-40
17
-1
14
-8
-26
-36
1
-62
0
16
-37
-5
-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
-64
0
0
5
0
0
-5
-45
0
-4
20
4
0
0
20
0
0
-2
0
0
7
14
0
0
11
-1
0
0
48
0
0
-2
0
0
0
16
0
0
8
0
-1
0
-47
0
0
0
-1
0
0
44
5
-7
-29
0
0
0
32
0
-14
3
0
0
0
-14
0
6
13
0
0
0
40
0
7
-5
0
0
0
12
0
0
0
0
0
1
1
0
7
-7
0
0
0
-24
0
0
0
0
0
0
-22
0
-14
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
47
0
0
0
4
0
0
14
0
0
0
1
0
0
2
0
0
0
-121
0
0
-2
0
0
0
-117
0
0
-5
0
0
0
23
0
0
0
7
0
0
-17
0
0
0
0
0
0
32
-2
0
2
0
0
-1
-15
0
19
0
0
0
0
-29
0
-2
0
0
0
0
-16
1
2
-14
0
0
-2
13
0
0
-2
0
0
0
-76
0
0
-3
0
0
0
-3
0
0
7
0
0
0
59
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-14
63
-4
3
-22
5
-4
0
-6
49
11
-8
-22
0
0
-94
0
-5
11
17
0
18
-23
50
0
1
30
1
0
-9
0
5
1
34
0
2
-2
9
-5
0
27
-5
0
0
0
0
0
22
5
25
5
0
-5
2
-49
0
-9
1
-7
0
2
14
0
2
-2
0
0
39
23
-5
43
45
1
5
40
-14
-4
0
35
78
0
-24
1
2
57
-1
0
-1
-4
24
0
3
-11
-9
-7
-1
17
0
36
0
0
15
0
81
80
-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
25
18
0
0
17
0
0
-21
9
0
0
-5
0
0
-10
-40
-3
-2
9
0
0
0
23
0
0
1
0
0
3
-36
0
0
2
0
2
0
8
0
0
-2
0
8
0
-31
0
0
0
0
0
0
-64
2
0
-1
0
0
0
-69
0
-2
-15
0
0
0
14
0
5
0
0
0
0
-42
0
18
0
0
0
0
-20
0
0
0
0
0
0
-7
0
-16
2
0
0
0
22
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
1
0
0
-2
-10
0
0
0
0
0
4
17
0
0
0
0
0
0
5
0
0
5
-2
0
0
-65
0
0
0
0
0
0
-11
0
0
0
0
0
0
-44
0
0
0
0
0
0
6
-2
0
0
0
0
0
-53
0
-6
0
0
0
0
1
0
0
0
0
0
0
13
0
-1
0
0
0
0
-17
0
0
0
0
0
0
52
0
0
0
0
0
0
-8
0
0
0
-2
0
0
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-2
-28
24
1
-14
3
0
5
49
5
1
0
-15
13
0
-73
22
0
-2
73
0
-1
11
0
0
0
83
0
-4
-5
-3
33
0
75
2
0
0
0
0
0
75
14
0
25
0
0
-2
22
0
-52
20
0
3
-1
-3
0
-4
-18
0
3
0
-29
0
-18
41
-5
0
0
5
0
-10
48
23
0
-6
24
1
9
-2
0
11
1
-21
-3
-1
7
-3
-2
0
27
0
-10
0
0
7
0
76
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
0
0
0
0
0
0
0
-33
-6
21
-40
-38
-15
-16
-11
-3
-20
-9
60
35
-106
-53
-16
-61
5
-34
38
19
39
11
6
-7
-14
9
7
-6
6
-8
38
53
-41
-1
0
6
12
-5
26
50
-54
61
20
2
94
103
-53
0
-35
10
-67
-13
25
14
9
-56
0
36
-32
-10
-29
-6
35
7
6
34
-31
109
-65
10
-45
64
7
10
13
34
-32
-12
4
41
112
19
56
-4
35
19
20
-1
15
8
-14
6
-47
-18
-25
43
-62
0
-39
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
9
0
0
0
0
0
0
1
0
0
2
-3
0
0
-80
0
0
0
0
0
0
15
0
0
0
0
0
0
-53
0
0
0
0
0
0
-14
0
0
4
0
0
0
-1
0
0
0
0
0
0
-5
0
6
0
0
0
0
-13
0
0
0
0
0
0
-15
0
0
1
2
0
0
1
0
4
0
0
0
0
11
0
0
0
0
0
0
-71
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
-3
14
0
0
-4
0
0
0
-28
-1
0
1
0
0
-1
57
0
0
9
0
0
0
9
0
0
0
0
1
0
-27
0
0
0
0
0
0
12
0
0
0
0
0
0
-29
0
0
0
0
0
0
9
0
-4
0
0
0
0
-27
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
9
-115
18
-2
15
1
0
-4
18
10
-7
33
50
0
-3
75
13
2
-4
-35
0
6
-1
0
26
0
37
0
4
7
0
-35
0
10
15
0
0
-20
-2
-9
10
18
2
0
-4
0
-24
165
3
14
14
0
-4
-3
-30
0
23
73
-9
0
-29
-3
-2
5
72
-4
9
-2
-53
7
7
10
-45
5
0
-34
0
-12
-31
1
0
0
39
0
1
0
11
0
3
3
0
99
-1
0
0
0
5
2
16
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
-54
0
0
0
0
0
0
33
0
0
1
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
0
0
0
2
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
27
0
0
-1
0
0
4
-1
0
0
0
0
0
0
37
0
0
0
0
0
0
56
0
-2
0
0
0
0
17
0
0
0
0
0
0
14
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
-7
0
0
0
0
0
0
0
-24
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
55
0
0
0
0
0
0
7
0
0
0
0
0
0
-34
0
3
-6
0
0
0
4
0
0
0
0
0
0
25
0
0
-2
0
0
0
7
0
0
0
0
0
0
9
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
-3
-7
10
68
7
-1
0
-10
0
-10
-58
31
0
0
66
0
-8
0
0
15
0
-33
0
-15
0
1
-15
0
23
-13
0
0
0
-1
0
15
-16
0
-7
0
0
0
-31
0
-52
-5
0
2
7
-9
0
-5
51
0
0
0
-32
-3
31
40
1
0
0
-49
-2
0
10
-13
0
0
15
0
-16
7
5
1
-6
2
0
4
1
2
0
0
26
-1
13
1
0
0
0
93
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
14
-29
-21
-5
4
20
1
21
47
-80
4
25
-13
-7
22
78
-1
4
-6
76
-10
18
-27
31
27
0
7
7
6
-1
-3
-41
45
-12
-41
-5
33
6
2
5
31
-5
47
-64
-7
27
29
36
-30
19
-51
-30
-5
44
0
16
-82
-101
-48
-8
-1
-21
-34
-13
22
63
41
55
-15
22
36
6
32
-8
-20
35
52
-17
15
-15
39
-7
51
-2
-19
26
11
2
-1
11
-39
32
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
6
0
0
0
0
0
0
30
0
0
0
0
0
0
8
0
0
0
0
0
0
17
0
0
0
0
0
0
43
2
0
0
0
0
0
-2
0
-7
0
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
9
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
-13
0
0
17
0
0
-1
-45
0
0
-4
0
0
0
5
0
0
0
0
0
0
56
0
1
-5
4
0
0
38
0
0
0
0
0
0
-1
6
0
0
0
0
0
38
0
33
-5
0
0
0
-15
-1
0
-6
0
0
2
-31
0
0
0
0
0
3
5
0
0
-1
0
0
0
-30
0
0
0
0
0
0
25
0
0
0
2
0
0
13
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
-8
5
0
5
-78
7
0
3
-2
3
14
-34
43
1
-5
35
0
-1
14
0
-15
0
-11
0
5
5
18
-15
0
44
2
10
0
0
0
0
5
6
8
9
0
0
23
16
-4
20
15
0
0
0
-39
0
0
37
-2
0
0
42
-4
68
-1
11
0
19
12
0
2
22
-8
-3
-1
-35
0
-43
-9
2
1
0
-23
-3
6
-2
21
0
-2
-7
0
-3
3
0
6
0
3
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
43
0
0
19
0
0
0
54
0
0
42
0
0
-7
5
0
0
11
0
0
0
28
0
0
2
0
0
0
25
0
0
0
0
0
0
18
0
0
0
0
0
-16
35
0
81
10
0
0
0
-80
0
2
91
0
0
3
53
0
-5
34
0
4
-1
-17
0
1
5
0
4
6
34
0
3
2
0
0
0
27
0
-4
-1
0
0
0
94
0
50
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
0
0
0
37
0
0
-5
0
0
2
19
0
-3
0
0
0
0
18
0
0
0
0
0
3
-21
0
0
0
0
0
0
-18
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
4
0
0
5
0
0
0
0
0
0
-66
0
0
-1
-9
4
0
9
0
-2
0
0
0
-6
-36
3
0
6
0
0
0
147
0
74
0
0
0
0
8
2
0
1
-2
0
-2
-55
0
6
5
0
0
0
-11
0
14
17
-19
0
9
-23
1
-31
-3
0
0
0
-9
0
-1
0
5
-4
0
20
0
-35
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
-70
36
-11
21
-28
-55
-10
-19
2
8
36
22
5
-108
9
-18
-6
0
53
-30
17
0
-6
89
-36
0
8
26
35
-4
-9
36
5
-57
-2
30
6
7
1
-17
7
13
-45
18
-28
23
-14
63
-3
-14
8
89
-21
32
-1
63
13
0
47
8
80
41
7
39
38
-29
-15
23
-6
17
16
-3
51
66
81
-75
71
-2
8
-1
-4
2
-2
61
0
-4
-49
6
1
71
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
36
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-9
0
0
0
0
9
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
40
0
0
3
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
29
0
0
0
0
0
0
-33
-15
0
0
0
0
0
-9
0
-17
13
0
0
-2
-3
5
0
-1
0
0
-2
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
31
0
-2
0
0
0
0
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
60
0
0
-34
0
-2
-2
0
9
5
-3
4
3
0
33
-18
0
22
0
0
0
0
0
0
40
-18
-7
-7
0
0
1
21
0
46
0
5
0
-1
-86
-1
9
89
0
0
0
-8
0
-21
7
0
0
16
24
-3
-13
0
-52
0
3
8
0
27
0
0
0
1
13
0
5
-1
6
0
-1
1
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
-1
0
0
-1
0
0
0
-34
0
0
0
0
0
0
5
0
0
3
0
1
0
3
0
0
0
0
0
0
21
0
0
0
0
0
-1
-4
0
2
0
0
0
2
9
0
0
0
0
0
0
8
0
0
0
0
0
0
-32
0
0
-3
-9
0
0
14
0
0
-4
0
0
0
20
0
0
0
0
0
0
21
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
13
0
0
3
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
29
0
0
0
0
0
0
85
-3
0
0
0
0
0
1
0
0
4
0
0
0
50
0
0
-1
0
0
0
-22
0
2
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
24
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
5
0
0
0
-3
0
0
0
0
0
0
-1
0
0
-2
-3
0
3
0
0
0
16
0
-33
0
0
0
-4
-11
0
0
1
0
0
0
-27
0
-4
0
-3
0
0
-2
0
0
-4
-3
-2
4
71
0
13
8
0
0
0
-14
0
0
0
0
0
0
4
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-2
-5
23
-5
-19
-2
-10
8
51
32
-29
-67
0
8
-7
0
0
5
-3
-7
-21
-6
-10
23
-5
0
18
7
-15
-28
-19
18
17
23
0
31
5
98
59
1
14
-3
6
49
-45
44
-14
27
24
0
8
-11
80
-5
-33
0
-7
29
30
-7
-3
4
70
-9
-25
116
-5
26
1
-3
-5
-29
1
0
1
0
-20
2
9
1
-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
6
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
-13
0
0
0
0
8
0
0
0
0
0
0
7
0
2
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
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
0
0
0
0
0
0
35
0
0
-1
0
0
0
-1
0
-3
0
0
0
0
2
0
1
-2
0
0
0
22
0
0
0
0
0
0
9
0
0
0
-1
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
34
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
0
0
0
2
-17
0
38
-9
0
0
0
0
2
12
-1
0
0
-6
0
-1
46
2
-61
8
0
0
-4
-36
1
16
8
-2
1
-3
60
0
-11
-8
2
1
0
4
3
0
0
6
5
-9
24
0
-5
0
0
0
0
1
0
-2
0
0
0
0
25
0
41
0
-2
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
18
0
0
17
0
6
-1
-33
0
-4
30
0
-1
0
-8
0
5
0
0
0
-5
-14
0
0
0
0
0
0
60
0
-29
-16
0
0
5
30
0
6
0
0
0
1
-47
0
25
17
0
0
1
93
0
0
-31
0
0
6
59
0
13
4
0
0
0
6
0
2
-1
0
0
0
100
0
45
-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
4
0
0
0
0
0
0
5
0
0
0
0
0
0
36
0
0
0
0
0
0
36
0
0
0
0
0
0
9
0
6
0
0
0
0
25
0
0
0
0
0
-4
0
0
-4
-9
0
0
0
63
0
0
1
0
0
0
5
0
6
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
3
0
0
0
0
-1
-35
0
13
2
0
0
0
3
0
-1
0
0
0
0
-26
0
0
0
0
0
0
-2
0
0
0
-13
0
0
-41
0
0
0
0
0
0
-46
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-34
-28
-45
-8
47
20
0
13
-4
28
0
2
-2
90
16
52
62
0
22
1
39
-24
-59
16
42
-1
3
-38
-14
22
7
48
70
1
-20
24
23
128
88
-48
126
51
-7
-13
-49
63
-11
25
-24
-40
0
-1
54
35
61
14
0
1
30
59
55
-1
11
-19
-5
26
24
0
82
0
32
-61
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-11
0
0
0
0
0
0
55
0
0
0
0
0
0
2
0
-11
0
0
0
0
4
0
0
13
0
0
0
14
0
0
3
0
0
0
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
16
0
0
-14
0
0
0
0
0
0
0
-8
0
0
-7
0
0
46
0
12
2
0
0
0
4
0
0
-2
2
0
0
-22
0
0
0
0
0
0
17
0
0
0
16
0
2
-52
0
-2
0
0
0
0
40
0
4
0
0
0
0
-44
0
23
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
9
0
0
0
0
-4
0
0
0
0
0
0
-11
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
78
0
0
0
-1
0
0
-59
0
0
0
0
0
0
96
2
0
3
0
0
-2
37
0
10
-2
0
0
0
84
0
0
0
0
0
0
24
0
-8
5
0
0
1
17
0
0
-5
-5
0
0
16
0
-15
0
0
0
0
118
0
0
-2
-1
0
0
31
0
-2
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
14
0
65
-12
6
-14
26
-2
0
-2
-24
54
-40
13
-5
8
54
-24
1
30
-25
13
1
10
59
1
-47
75
9
43
-35
-22
-2
-50
-4
32
-2
-43
40
0
-22
-35
11
3
0
-13
6
-8
59
35
-6
0
0
2
67
5
4
-8
0
-45
-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
34
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
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
16
0
0
2
0
0
2
-57
0
0
1
0
0
0
32
0
0
3
0
0
4
1
0
0
0
0
0
0
20
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-28
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-93
-1
0
0
0
0
0
20
0
-1
-1
2
0
0
-16
4
0
-5
1
0
0
29
0
-1
0
4
0
0
25
0
0
0
-4
0
0
-28
2
7
0
0
0
0
-37
0
0
1
-1
0
0
-27
0
7
0
0
0
0
-33
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
1
55
0
0
2
0
0
0
30
0
-3
0
0
0
-1
22
0
0
0
0
0
9
15
0
0
0
0
0
0
-26
0
5
-3
0
0
0
19
0
0
0
0
0
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-9
0
0
0
0
-4
13
0
-1
-1
0
0
-1
49
3
4
5
0
0
0
95
0
0
-2
0
0
0
22
0
0
0
25
0
0
-5
0
20
-5
0
0
0
-84
0
-1
5
0
0
0
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
14
36
-64
0
-99
14
-17
-36
15
0
31
-38
12
10
-23
71
33
18
-32
2
20
-2
-51
28
66
-21
-1
2
-77
57
-46
43
5
-5
48
36
63
-37
31
13
-24
-11
-24
84
19
9
49
-5
0
-22
38
5
5
0
0
-1
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
-2
0
0
0
0
0
8
-5
0
-5
0
0
0
0
-41
0
0
8
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
-5
0
0
0
0
6
0
0
2
0
0
0
4
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
-13
-3
0
0
0
0
0
0
0
0
10
0
0
0
-1
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
14
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
6
0
0
-1
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
3
0
0
-11
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
-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
17
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-14
0
67
69
33
114
-3
33
-58
134
-25
5
41
35
0
25
41
52
3
-90
48
-3
-44
45
-4
-41
-37
-1
9
98
23
-25
39
-13
-30
-2
12
1
65
4
43
-15
-4
-83
7
0
9
1
47
36
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
-3
121
0
-30
11
0
-6
-1
4
0
0
-9
0
3
8
-43
0
3
22
1
0
-5
89
0
1
6
2
-6
2
6
-1
14
2
0
0
0
9
0
-2
4
-7
-3
0
-12
0
-36
-2
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
63
0
0
0
0
0
0
-5
0
0
0
1
0
0
17
0
-1
0
0
0
0
-1
0
0
0
-4
0
0
24
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
98
0
2
3
0
0
4
20
0
0
0
0
0
1
33
0
0
0
0
0
0
9
0
0
0
0
0
4
7
0
-31
7
0
0
0
44
0
-1
0
0
0
0
-43
0
5
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
-20
0
1
0
0
0
0
6
0
4
0
0
0
0
-2
0
1
0
0
0
0
-17
0
0
-3
0
0
0
-3
0
-1
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-1
0
0
0
0
0
-26
0
2
-1
-2
0
0
3
0
-5
2
-3
0
0
-93
0
10
0
0
0
0
23
0
0
0
0
0
0
2
0
-5
0
0
0
0
106
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-23
18
3
0
-31
67
10
11
67
10
43
-3
-7
-1
12
34
-29
-8
11
-13
-3
-37
30
22
0
-1
-8
0
-6
-33
72
0
15
31
0
-85
-1
0
9
0
-23
34
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
13
0
0
0
0
0
0
-24
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
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
25
-3
13
0
-21
-8
0
-27
25
1
4
72
-5
0
3
-53
1
0
-14
35
0
-13
70
-6
16
-6
5
0
1
39
0
6
-1
7
0
0
26
0
44
-2
0
0
0
-7
-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
-64
-1
37
-13
0
0
0
20
0
-18
-1
0
-1
-8
-19
-2
1
-2
18
0
0
-1
0
76
9
0
0
0
1
0
3
0
5
0
0
51
0
-14
0
0
-3
0
-27
-20
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
68
-1
5
-1
1
0
0
25
0
-1
0
3
0
0
26
0
-3
0
0
0
0
8
0
0
0
0
0
0
63
0
0
0
0
-1
0
78
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-10
-32
23
0
16
20
-8
-35
39
37
-8
53
22
-1
16
12
7
-1
14
-19
-2
28
6
38
-5
1
18
0
6
18
0
29
0
36
48
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
-1
0
0
0
3
0
5
0
0
0
0
1
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
1
0
1
10
0
5
0
0
0
0
-15
0
0
-4
0
0
4
-4
0
-5
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-9
36
0
0
0
9
0
0
-5
-18
2
0
50
0
24
1
0
0
0
19
-2
0
8
0
0
0
62
0
-4
0
0
0
0
10
-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
33
0
0
4
0
0
0
-5
0
0
3
0
0
0
-6
0
-2
3
0
0
0
-14
0
0
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
2
3
0
0
-4
0
11
-1
0
0
0
-1
0
0
-7
-6
0
0
5
0
7
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
29
48
-5
-39
33
1
10
18
-9
-5
22
-26
-39
29
-16
-19
4
12
18
86
-7
0
22
0
90
-25
0
19
0
28
2
25
-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
-41
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
-2
0
0
22
2
0
1
-20
0
0
-1
0
0
0
-22
0
0
5
-1
0
0
-22
0
-10
1
1
-4
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
-10
0
-1
0
-10
0
0
-39
0
-18
0
0
0
0
123
-1
7
3
0
0
0
4
0
-6
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
0
0
0
0
0
0
13
0
0
0
0
0
0
52
0
13
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
5
0
0
0
29
0
0
0
0
0
0
25
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
11
0
8
-1
0
0
0
33
0
0
0
2
0
0
157
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-33
3
35
32
0
34
-5
64
0
3
4
18
-1
0
55
0
-75
-1
0
0
0
49
46
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
0
0
0
0
0
40
0
1
-2
0
0
0
-6
0
-14
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
45
0
43
0
0
0
0
-12
0
-1
0
0
0
0
151
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
2
0
0
0
65
0
4
0
0
0
0
-10
0
-9
2
0
0
0
19
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
33
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
-34
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
-6
5
0
9
38
79
3
9
-1
3
66
-9
0
-2
0
45
-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
1
0
0
0
0
0
0
13
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
-42
0
-1
-10
1
0
0
120
0
1
3
0
1
0
-52
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
-102
0
15
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
14
0
0
-5
0
9
-23
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
56
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-86
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
17
0
0
0
0
0
0
-7
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
1
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
-60
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
-31
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
0
0
0
8
0
0
-11
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
-19
-8
0
0
0
0
0
0
-4
0
0
-2
0
0
0
21
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-93
3
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
16
0
0
0
0
0
0
8
0
0
-5
0
0
0
5
0
0
0
2
0
0
-10
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
-5
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
-35
24
63
12
-46
-11
-14
-19
21
64
-2
11
-12
56
19
34
32
6
12
-89
41
32
40
13
-79
-11
-26
29
-25
-40
-29
-12
16
5
-15
-57
32
-4
16
43
-60
-39
-120
34
42
-3
-11
-26
-14
11
9
5
-5
-22
73
-48
24
81
-29
26
-44
-44
-19
23
-34
-34
11
18
3
-44
28
4
100
-1
35
30
61
33
27
71
40
13
0
-13
-1
7
-51
9
-4
11
27
-35
21
-2
17
5
20
11
21
47
-110
47
-23
74
15
-13
31
30
-66
7
-32
8
-35
26
-5
-26
-33
11
1
-9
-17
49
-59
-19
-23
47
0
0
0
0
0
0
0
40
37
74
33
32
11
90
28
-5
33
12
36
-21
18
20
2
-6
30
8
15
-61
-21
-2
-13
-15
-6
38
33
1
4
40
17
-1
9
-90
12
-7
-26
-33
-15
-5
-55
-27
13
-3
26
-22
63
18
-4
-2
-48
15
-66
-17
52
-43
17
12
25
-2
-14
-62
-8
25
-44
31
6
14
19
3
5
64
-21
13
-3
-37
10
5
62
35
11
-69
11
38
-10
-107
3
8
-33
-12
0
1
2
-13
-17
70
12
76
5
91
64
25
-26
-3
149
11
-36
-66
-79
-32
-16
-56
2
37
-73
13
47
-9
-5
4
-52
15
-28
19
7
75
1
7
-26
-29
-7
44
-64
5
-35
4
-10
13
91
3
-18
-20
44
17
-9
109
-20
11
13
-5
-12
-28
34
39
-17
24
-6
54
20
-52
48
-9
29
-5
13
-2
-33
5
3
-44
-49
-20
-1
90
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
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
-105
0
0
0
0
0
-135
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
10
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
-15
0
0
-25
-1
0
0
5
0
0
0
23
0
0
0
0
0
0
-66
0
0
0
0
0
0
6
0
1
0
0
0
0
3
0
0
0
0
0
0
-59
0
0
0
0
0
0
-20
7
0
0
0
0
0
-43
0
0
0
0
0
0
43
0
0
0
0
0
0
20
0
0
2
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
0
0
0
0
0
0
31
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
24
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
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
49
0
0
2
0
0
77
0
0
0
0
0
1
-1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
-16
0
0
-1
0
0
0
23
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
16
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
10
-24
0
0
0
0
0
0
-2
0
0
-2
0
0
0
5
0
0
0
0
0
0
18
0
23
0
0
0
0
2
0
0
0
0
0
0
4
0
1
0
0
0
0
-5
0
0
0
0
0
0
83
0
0
1
0
0
0
71
0
0
0
0
0
0
-2
0
0
2
0
0
0
-1
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
33
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
-1
0
0
0
0
4
0
0
0
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
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
44
0
0
0
0
0
5
-28
0
0
0
0
6
0
0
0
-2
0
0
11
0
0
0
-5
0
0
10
0
0
0
0
0
0
-21
0
0
0
1
0
0
4
1
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-53
-1
4
0
78
-33
0
0
11
0
0
0
-25
0
0
49
0
0
0
0
0
0
-22
0
0
0
-3
0
-31
1
0
0
0
43
0
0
0
0
0
0
27
0
0
0
0
0
0
3
15
0
0
0
0
-7
-1
0
0
-2
0
0
0
63
0
0
-2
0
0
2
1
0
0
-2
0
0
0
-17
0
0
31
0
0
0
-41
0
0
2
0
0
0
-15
0
0
0
0
0
0
51
0
0
0
0
0
0
-11
0
0
0
0
0
0
-48
-16
0
0
0
0
0
28
0
13
-2
0
0
0
-21
0
0
0
0
0
0
-15
0
-1
-11
0
0
0
7
0
0
-5
0
0
0
68
0
0
0
0
0
0
29
0
0
0
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
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
-18
0
0
3
0
0
-54
0
0
0
0
0
-4
17
0
0
0
0
-34
0
0
0
21
0
0
-64
0
0
0
42
0
0
43
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
81
10
0
4
0
0
0
0
0
0
0
0
0
6
5
7
129
-9
2
0
5
53
0
0
-16
0
0
3
33
0
1
0
0
0
4
39
0
0
0
0
0
0
32
0
-32
0
4
0
0
-55
0
0
-1
0
0
0
82
0
-1
0
0
0
0
46
-3
0
0
0
0
0
-34
0
0
33
-1
0
-3
10
0
0
-1
0
0
13
-53
0
0
-2
1
0
0
20
0
0
26
-2
1
2
3
0
0
-2
11
0
0
4
0
0
-3
0
0
0
-15
0
0
0
0
0
0
31
0
0
0
0
0
0
14
0
0
-9
0
0
0
83
0
31
0
0
0
0
-22
0
-1
0
1
0
0
61
0
39
2
0
0
0
-7
0
0
7
-5
0
0
-54
0
0
0
0
0
1
27
0
0
0
0
0
0
107
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-7
0
0
0
0
0
0
0
37
0
0
-9
0
0
0
7
0
0
-1
0
0
0
-4
0
-8
0
-1
0
0
18
0
0
0
0
0
0
-14
0
0
0
0
0
0
27
0
0
0
0
0
0
0
-6
0
-14
0
0
0
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
-11
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
31
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
-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
-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
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
28
0
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
25
0
0
-1
0
0
0
9
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
26
7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-1
0
0
-6
15
0
0
0
0
0
7
11
0
0
0
0
0
0
-31
0
0
0
0
0
0
6
0
5
0
7
0
0
2
0
0
0
0
0
0
21
0
0
0
0
0
0
22
0
0
0
0
0
0
-13
0
0
14
0
0
0
50
0
0
0
0
0
0
109
0
0
1
0
0
0
-14
0
0
8
0
0
0
14
0
0
9
2
0
0
-24
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
-14
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
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
40
-3
-49
95
34
5
-2
28
80
91
-8
66
16
23
17
42
4
-3
-57
-8
-27
2
89
5
-8
22
51
47
-17
53
-6
78
-20
18
17
-74
-14
-24
6
-9
6
18
7
-46
14
-2
7
108
-16
-15
57
-24
-93
5
-40
-32
6
18
-4
51
21
-1
5
-4
-15
103
49
13
-19
10
0
-34
4
-14
0
-16
21
3
-25
32
-25
70
-19
-7
-18
47
-100
-71
13
17
19
-1
-26
-49
35
-5
3
13
-36
-24
23
-33
-24
-8
0
-13
-83
4
-47
-15
63
9
59
-10
-27
100
-29
7
17
0
0
0
0
0
0
0
-13
-9
-76
-80
22
18
71
-6
20
-10
-26
2
27
-10
1
14
53
17
3
-31
-2
-21
5
33
47
5
-49
13
17
2
76
0
-28
22
-7
-28
-20
-17
-84
-47
71
29
-10
16
-1
0
29
40
33
-63
11
-7
6
38
46
6
22
7
-66
-31
-32
-39
-45
42
17
-73
1
4
-3
26
-44
-8
-23
14
-1
15
-2
53
1
-43
53
-21
14
-21
6
7
-1
66
-16
-5
10
5
9
11
37
7
-24
-4
3
7
18
-24
-48
-5
24
35
18
-10
0
3
-55
16
-118
-9
77
-23
26
32
11
67
3
43
33
-4
21
-5
-16
0
25
-20
14
4
17
21
-40
45
26
-35
31
57
9
-13
-54
-28
-30
40
-7
4
5
26
31
-14
-1
-68
-20
17
21
-21
-39
21
-20
-14
-8
22
27
-43
-53
-29
-1
-13
1
-9
12
-42
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
-6
0
-28
0
18
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
-56
0
0
0
0
0
15
0
0
0
0
0
-5
1
0
0
0
0
55
0
0
0
-3
-2
0
12
1
0
0
-25
0
0
15
-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
-9
0
0
65
0
0
3
-9
0
51
-2
-3
0
1
0
0
0
0
0
0
0
0
17
-20
0
14
71
0
0
75
-35
0
0
-2
0
0
7
-79
0
0
-5
-1
0
-2
-57
0
0
8
0
0
0
-29
0
-29
0
2
0
0
-24
0
0
0
0
0
0
-26
-4
0
0
0
0
0
131
0
0
0
0
0
-7
100
0
-6
17
0
0
14
81
0
0
0
0
0
-37
8
0
0
5
0
0
-1
21
0
0
6
0
0
2
-25
0
-5
0
0
0
0
-50
0
0
0
0
0
0
63
0
0
0
0
0
0
-8
0
0
0
0
0
0
-80
-8
0
0
0
0
0
61
6
43
1
0
0
0
10
0
0
0
0
0
0
-21
0
-4
4
0
0
0
-3
0
0
1
17
0
0
47
0
7
0
-11
0
0
-14
0
-2
0
-3
-2
0
-51
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-15
0
0
0
0
0
0
0
0
-15
-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
-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
-22
0
0
0
0
0
0
2
0
0
0
0
0
-2
-43
0
0
-1
0
0
0
35
0
0
-1
0
0
0
6
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
2
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-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
-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
1
0
-1
1
0
10
0
-9
2
0
4
4
0
0
0
0
6
0
1
0
0
-14
8
0
0
-4
0
0
-1
8
0
-4
3
0
0
0
0
0
-55
4
0
0
0
0
-49
0
0
0
0
-1
3
4
0
-1
0
0
3
0
0
3
-5
0
0
11
-8
0
-2
-7
0
0
-16
36
0
0
-18
-2
0
69
-4
0
2
35
0
0
-9
16
0
4
-5
-6
0
23
-2
0
0
-1
0
0
4
-4
0
1
16
52
0
0
0
-1
0
0
0
0
3
2
0
5
1
-3
0
0
0
0
0
0
0
0
54
5
0
53
83
2
0
81
-62
0
0
25
4
0
104
11
0
0
21
8
0
15
24
0
0
32
0
0
27
30
0
-8
-33
-6
0
0
38
0
-1
0
0
0
0
-1
18
24
0
3
0
0
32
15
1
0
0
0
10
-11
0
-10
38
-58
0
-26
-21
0
-5
18
0
0
100
-42
0
1
49
-11
0
-8
-18
0
0
-11
0
0
-6
61
0
-5
-7
1
0
-5
21
0
0
5
0
0
-2
-26
0
0
-1
-1
0
0
0
0
0
0
0
0
0
67
-3
0
-15
-2
0
0
37
1
38
53
0
0
-20
-11
0
-4
25
-2
0
-2
26
0
-93
3
0
0
0
-46
0
6
23
-14
0
0
47
0
65
-23
-2
0
0
-32
0
3
13
5
0
0
-4
0
5
0
0
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
-71
135
-6
-22
10
0
-7
-4
81
5
-3
13
13
24
8
-43
0
5
1
0
3
-20
6
0
0
-1
-9
0
0
1
0
11
0
0
-30
0
0
-3
0
0
0
14
0
11
39
15
0
0
0
2
37
17
14
32
66
29
8
-5
13
-11
32
0
33
78
13
-4
8
8
114
-2
-49
-35
-11
-3
0
0
0
55
-5
0
1
86
6
-24
5
17
0
-5
1
0
-54
0
33
0
0
-1
-4
-19
0
-2
45
0
0
0
10
0
13
-45
35
17
-9
0
0
0
0
0
0
0
0
-2
40
-35
87
55
-52
3
9
23
-15
32
30
-13
1
-5
18
1
57
-45
57
0
-17
6
-13
5
10
0
1
-18
54
0
-10
-6
-69
2
0
-48
0
0
2
0
10
0
-32
12
-16
0
0
-3
0
44
15
1
-6
0
0
43
51
-6
-49
-14
1
0
126
30
0
60
11
2
20
15
-73
22
7
23
61
6
5
-28
-2
17
42
0
-19
-33
-3
-4
-11
16
34
-10
51
-14
0
2
-5
0
1
8
-16
-2
14
30
1
-22
0
-17
18
0
0
-2
0
0
-7
118
37
5
0
0
72
62
6
-49
12
0
0
35
-53
-8
66
54
11
5
-21
21
2
-40
-7
8
0
33
1
0
4
14
95
45
4
-16
-3
-21
10
23
0
9
-54
0
-6
-34
2
-13
0
-29
0
-34
0
-3
-1
0
-10
-31
-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
46
0
0
-1
0
0
-19
0
0
0
0
0
0
11
0
0
0
0
-1
0
0
0
3
2
0
48
0
0
0
0
0
0
-36
-5
0
0
-26
-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
-44
0
0
-7
0
0
0
-2
0
14
0
-1
0
0
0
0
0
0
0
0
0
0
29
0
0
6
34
13
0
96
-56
0
0
-34
0
0
-4
-66
0
3
-4
0
0
18
-23
0
0
0
0
0
-1
-27
0
-19
0
2
0
0
7
0
0
1
0
0
0
22
7
-5
0
0
0
0
-37
0
0
0
0
0
0
31
0
0
-3
-1
-6
14
0
0
-1
-24
0
3
44
-7
0
0
-12
13
2
-4
-72
0
0
0
0
5
-4
3
0
2
0
-4
2
0
35
0
0
-1
4
0
0
-53
0
0
0
0
0
0
43
0
0
0
0
-1
0
29
0
0
0
0
0
0
14
0
3
26
0
0
14
0
5
-5
2
0
0
0
-109
0
41
1
0
0
0
-12
0
0
3
0
0
6
8
0
6
3
0
0
0
30
0
-4
1
9
0
0
12
0
52
14
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
-36
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
17
0
0
1
0
0
-7
0
0
0
0
0
0
24
0
0
0
0
5
0
0
6
33
0
-8
68
1
0
-1
-35
0
4
-41
0
0
-2
5
-9
0
2
17
0
0
8
0
-3
-5
10
0
0
0
0
0
0
-3
0
0
0
0
5
0
0
0
0
0
0
1
0
0
25
0
0
0
4
0
-12
3
9
0
0
0
0
0
0
0
0
0
0
14
77
0
-11
12
-1
0
-13
14
0
0
-4
0
0
-6
-2
0
0
0
4
0
6
75
0
0
10
0
0
0
-16
0
16
0
0
0
0
15
0
0
0
0
0
0
13
0
-3
0
0
0
0
4
3
-6
3
0
0
7
43
0
-18
9
0
0
29
9
0
1
6
0
0
35
-30
0
1
-8
0
0
0
13
0
0
-23
0
0
0
-33
0
0
0
2
0
0
-29
0
0
0
0
0
0
-9
0
9
2
0
0
0
34
0
0
0
0
0
0
101
8
0
9
0
0
0
53
0
23
-5
0
0
0
43
0
-1
9
10
0
-3
-31
0
0
0
0
0
4
9
0
0
0
0
0
0
81
0
0
5
0
0
0
22
0
-1
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
-10
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
-93
0
0
15
0
0
-14
0
0
0
0
0
1
47
0
0
0
0
-29
0
0
0
2
0
0
12
0
0
-3
-83
0
18
21
5
0
8
3
3
1
14
5
0
0
33
0
1
0
0
0
0
-13
0
0
-1
5
0
0
0
0
1
0
2
0
0
0
0
7
0
0
2
0
0
0
-17
0
53
-1
0
0
0
0
0
0
0
0
0
0
0
63
91
0
-36
22
2
0
-55
-18
0
0
46
0
0
-2
35
0
0
-3
0
2
5
80
0
0
16
0
0
0
3
0
-14
1
-4
1
0
-52
0
0
0
0
-3
0
-63
-7
0
0
9
6
0
32
0
0
0
0
0
-3
-23
0
0
18
4
0
5
-15
0
0
-7
0
0
7
31
0
0
25
-1
0
4
39
0
0
0
0
0
2
-30
0
1
1
2
0
0
121
0
0
-2
-1
0
0
-49
0
0
4
0
5
0
36
-8
0
0
0
0
0
36
0
0
-1
0
0
-1
-71
-8
-6
14
0
0
18
-27
0
-1
0
0
0
-3
33
0
-1
-3
0
0
-4
40
0
0
6
0
0
0
18
0
-3
-6
0
0
0
1
0
0
0
0
0
0
30
0
0
1
0
0
0
23
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
22
-5
-8
10
-7
0
0
69
25
-25
-6
16
4
-23
-40
115
-3
0
0
0
6
-6
-39
0
0
-25
-1
2
0
18
-1
0
0
0
5
0
0
24
0
0
0
2
0
22
61
0
0
0
-5
5
56
5
1
20
-22
1
56
5
9
20
17
-3
39
16
-60
2
23
61
6
-50
6
-16
0
0
6
3
-15
-74
-3
0
0
4
-1
1
47
33
0
0
-10
0
-20
-1
20
-1
0
-7
16
-12
0
1
-79
0
0
0
6
1
15
-56
-36
14
80
0
0
0
0
0
0
0
0
-10
51
11
-35
67
-30
0
62
28
0
37
50
-7
0
13
26
0
5
5
-25
5
-21
0
0
0
-6
0
0
-23
-4
0
26
26
-5
0
-1
-36
0
0
0
0
29
0
2
35
18
0
-11
0
1
4
-24
0
18
0
0
38
6
14
16
40
76
-2
24
21
-3
19
-32
2
5
62
-3
5
23
7
8
2
-2
8
4
51
28
8
25
20
13
0
-4
19
39
-1
16
27
0
4
5
-7
-56
-3
-28
0
0
4
-11
-13
0
2
-5
0
0
0
0
2
-55
-6
0
0
-5
0
-1
-21
-11
-18
22
-9
0
5
59
0
-10
-4
-16
0
-45
13
0
-66
35
-10
4
51
-47
-14
52
-25
44
19
-5
-45
4
-30
-21
8
-3
-2
22
0
0
-9
-5
0
0
-8
0
20
0
3
-3
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
13
0
0
0
33
0
-9
-17
-12
-3
1
-14
0
39
8
-14
0
0
0
0
54
0
2
5
0
1
0
25
0
3
0
21
0
0
12
0
0
-12
0
0
0
4
0
26
34
0
0
0
-4
20
0
0
0
15
0
-5
34
-2
0
1
3
0
2
-27
5
1
-4
-8
0
0
11
43
0
0
50
0
2
-43
-20
0
6
-11
0
-6
14
79
0
0
0
0
22
1
39
0
0
-3
0
41
0
0
-16
44
0
0
36
0
33
-43
-43
15
0
0
0
0
0
0
0
0
0
-25
65
-1
9
8
0
0
15
25
-1
-8
1
-11
5
14
-14
-2
-6
-34
0
-9
4
-8
0
5
24
0
3
-3
-1
0
-7
10
0
60
-4
-86
0
0
0
0
53
0
2
-24
0
0
0
9
-2
-6
-7
0
0
0
0
-20
44
0
5
57
0
0
46
0
0
-7
32
0
-1
109
30
0
-2
47
0
0
51
-6
7
-4
-37
8
-9
57
-18
0
0
-1
0
-7
-10
-7
0
-5
21
0
44
0
2
0
-3
12
0
-15
0
-2
44
-4
3
0
-11
0
-11
83
-2
0
0
0
-7
18
0
56
32
0
0
-30
11
0
-9
3
0
2
-135
23
0
-3
-47
0
6
-73
-14
0
36
0
0
0
1
68
3
-20
-19
0
-4
0
6
0
-18
6
0
44
2
-32
2
-7
0
0
-52
0
-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
7
0
0
0
19
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
-25
0
0
0
0
0
-17
0
0
0
0
0
4
8
0
0
0
0
-11
1
0
0
9
-3
0
7
0
0
4
43
0
0
84
10
0
-1
-1
-10
0
3
24
0
2
-1
0
0
-2
5
0
0
3
0
0
-14
3
0
0
0
0
0
0
-15
0
0
0
-14
0
0
1
18
0
0
0
0
0
29
-5
12
0
0
0
0
0
0
0
0
0
0
87
52
0
-54
7
2
0
31
48
0
-3
-39
-2
0
32
18
0
-8
10
19
0
-5
0
0
13
5
14
0
0
90
0
32
2
-4
0
0
-11
0
0
-10
0
0
0
68
-19
2
-5
0
0
0
63
11
0
0
0
0
4
25
0
17
158
0
0
98
-36
0
3
16
0
0
18
18
0
11
79
-8
0
-9
-23
0
0
53
0
0
-3
47
0
1
8
24
0
13
6
0
0
-8
0
0
0
-16
0
-2
-4
0
0
0
-5
0
0
0
8
0
0
51
-2
0
0
0
0
-1
53
0
55
1
-4
0
3
-48
0
8
-15
4
0
0
11
0
-5
14
-1
0
0
50
0
1
68
-6
0
3
-51
0
23
-1
0
0
0
98
0
0
0
-13
0
0
43
0
9
1
0
0
0
33
0
5
0
0
0
0
0
0
0
0
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
-10
44
34
-52
-17
54
54
-8
5
14
-1
17
13
-52
2
3
-26
-24
-14
16
-35
0
-6
-1
2
35
0
-3
5
-1
0
-8
-14
-3
-17
-12
15
1
0
-61
-3
89
7
-61
8
23
5
-68
57
20
31
14
3
-74
9
-56
-51
121
9
18
17
24
-24
26
-53
-34
-7
52
-22
-19
-11
-36
-25
28
12
-14
12
0
24
91
5
-37
-9
-12
9
-3
-7
27
-7
0
44
56
0
3
45
-10
-3
-28
-26
-134
28
27
4
0
0
0
0
0
0
0
29
10
-5
5
14
25
23
8
1
-3
-1
28
-19
-14
-7
-3
-4
21
-11
-11
-44
1
3
-13
-33
-42
-20
11
-28
3
-1
0
43
13
32
-23
1
-1
8
-13
20
13
0
4
20
-54
-4
-74
-33
-6
28
-44
-29
15
-1
-1
-55
44
-25
100
-14
14
6
47
49
-64
-87
6
-10
125
25
12
29
29
45
-46
-14
111
-4
-29
-53
-4
-26
-46
2
-8
-15
9
-28
-18
-41
71
2
4
8
35
3
18
7
-22
-7
14
-46
4
43
-1
9
9
-14
0
-5
-5
-8
23
-36
-43
-44
5
-5
-3
11
-69
-49
-44
-3
-1
-66
12
-76
61
-12
-10
-21
15
14
-26
1
8
3
45
-41
28
-2
-52
46
53
-5
2
-20
0
-34
-27
33
-18
77
-3
3
-32
28
-51
39
4
1
10
-24
25
-13
23
0
19
13
-10
-8
33
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
1
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-7
0
0
-44
0
0
0
0
0
1
-31
0
0
0
0
0
3
0
4
-5
51
0
-78
1
0
0
-8
-4
0
-6
0
0
-1
63
4
4
18
10
4
-2
-6
-8
2
-5
17
0
0
0
0
0
0
14
0
0
4
0
-6
0
0
0
0
0
0
30
0
0
30
0
0
0
3
7
14
4
-7
0
0
0
0
0
0
0
0
0
0
21
-12
-1
90
-1
2
0
-51
0
0
8
0
-1
-1
-17
-3
0
1
2
-7
0
-2
-78
0
0
-18
0
0
1
-4
0
-60
4
0
0
0
-8
0
0
0
0
8
0
40
15
0
0
0
0
0
-9
-4
0
0
0
0
65
0
-8
-5
-22
0
0
45
22
0
0
39
-1
0
87
0
0
0
44
-10
0
-21
84
-3
-5
17
0
0
1
67
0
0
94
0
0
0
-10
0
0
0
0
-10
0
-100
0
4
0
0
0
0
4
0
0
0
0
0
0
20
20
1
0
0
0
-3
84
0
-7
1
0
0
2
87
0
14
60
1
0
9
0
0
26
98
0
0
-5
-56
2
1
-53
0
0
-2
15
0
-1
3
0
0
1
-49
0
3
4
-1
0
0
-14
0
-10
0
0
0
0
-57
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
0
0
0
0
0
-1
2
-4
0
0
0
8
0
0
0
-17
1
0
-39
0
0
0
-42
0
0
79
-1
0
0
9
0
0
0
1
0
0
-14
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
-58
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
72
11
0
0
20
74
0
3
-33
0
0
14
15
0
-3
1
1
0
0
58
0
0
0
0
0
0
0
0
7
0
0
0
0
64
0
0
0
0
0
0
-4
0
0
0
0
0
0
-41
2
0
0
0
0
-1
69
0
-8
18
0
0
-8
4
0
0
23
0
0
1
11
0
0
14
0
0
-8
-12
0
0
-6
0
0
0
0
0
11
11
0
0
0
-18
0
0
2
0
0
0
-23
0
2
0
0
0
0
14
0
0
0
0
0
0
44
0
0
3
0
0
0
6
0
1
0
0
0
0
-14
0
0
10
0
0
0
64
0
1
1
0
0
0
-3
0
16
0
0
0
0
11
0
0
0
6
0
0
9
0
-4
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
1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
6
0
0
54
0
0
0
0
0
6
0
0
0
0
0
10
0
0
0
0
0
0
-18
0
0
0
6
0
0
47
-2
0
0
-1
0
0
1
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-30
-19
0
0
4
16
0
0
10
0
0
-1
-6
0
0
0
-9
0
-5
32
0
0
0
2
0
3
10
0
0
0
0
0
0
2
0
0
0
0
0
0
-84
0
0
0
0
0
0
-90
0
0
0
0
0
0
4
1
0
32
0
0
4
50
0
0
1
0
0
-1
-9
0
0
-1
0
0
-2
12
0
0
-3
5
0
0
0
0
0
0
0
0
0
-32
0
5
7
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
24
0
0
0
0
0
0
-19
0
6
0
0
0
0
3
0
0
0
0
0
0
-18
0
0
0
2
0
1
10
0
0
0
0
0
0
-6
0
0
0
1
0
0
5
0
0
0
0
0
0
53
0
0
0
0
1
0
19
0
0
0
0
0
0
0
0
0
0
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
-3
0
-1
11
0
-33
26
0
1
0
0
6
0
8
0
0
0
0
0
0
-1
0
62
0
0
2
0
0
-12
0
0
0
0
0
-6
-14
0
0
0
-2
17
0
1
0
74
-5
6
-56
0
0
3
89
0
0
41
-21
-1
0
-47
4
-8
21
48
0
0
-11
-2
0
-4
-2
0
11
-7
22
3
-5
-22
0
0
-7
0
-2
0
-17
0
0
0
0
22
0
0
25
0
0
-2
14
0
31
-1
-5
0
0
0
0
0
0
0
0
0
0
-60
3
1
60
109
8
0
29
12
1
0
5
0
0
30
74
6
0
-53
-4
0
-23
18
0
0
-7
0
0
0
-79
0
7
17
26
6
0
6
0
0
1
0
-3
0
24
-25
-2
0
-8
-2
0
44
-1
0
0
0
0
32
-18
-3
9
3
0
0
11
16
-1
-8
-4
0
0
72
-19
0
-29
66
1
-1
45
-76
0
-8
-9
0
0
2
18
0
0
9
-23
3
-1
-44
0
0
5
6
-16
0
49
0
0
0
6
9
0
-20
-5
0
0
0
0
1
-23
0
0
0
0
0
-5
77
2
-46
1
0
1
5
-17
0
6
4
-1
-1
-6
-70
-1
21
13
0
-3
1
-39
0
-35
5
-13
-1
2
21
0
8
31
6
0
-31
-15
0
0
-1
9
1
0
-13
0
30
4
0
1
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
-46
0
0
0
0
0
-75
0
0
0
0
0
2
0
0
0
0
0
-3
15
0
0
0
0
0
-11
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
74
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
20
0
0
-9
-7
0
0
-1
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-1
0
-19
0
0
0
0
-43
0
0
0
0
0
0
-21
0
0
0
0
0
0
-118
0
0
0
0
0
0
43
0
0
-2
0
0
-2
-53
0
0
2
0
0
0
29
0
0
1
0
0
-5
24
0
0
0
0
0
0
-20
0
0
7
0
0
-1
-18
0
0
0
0
0
0
-3
0
0
0
0
-1
0
-34
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
53
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
44
0
0
0
0
0
8
0
0
0
0
0
0
11
0
0
0
0
33
1
0
0
3
-10
0
15
0
0
5
22
-2
0
-11
0
0
0
-8
0
0
108
0
0
2
15
0
0
94
-13
0
0
0
0
0
11
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
-48
4
-13
1
-1
0
0
0
0
0
0
0
0
43
43
0
15
-9
-13
0
-29
-3
0
9
-3
0
0
33
76
0
0
100
-2
0
-14
15
0
0
-8
0
0
-6
-43
0
-57
2
0
0
0
-20
0
0
4
0
0
0
36
25
2
0
0
0
0
-7
-1
0
0
0
0
3
-38
0
-5
133
0
0
20
23
0
0
16
0
0
-2
-70
0
0
-16
1
0
-7
102
0
0
40
0
0
0
-10
0
0
-33
-2
0
10
43
0
0
2
0
0
0
-33
0
0
0
9
0
0
-66
0
0
0
0
0
0
-38
6
0
0
0
0
7
21
0
21
-23
0
0
5
-5
0
0
60
0
0
22
-72
0
-5
-9
0
0
-3
-3
0
-21
-1
14
0
1
-23
0
-47
32
0
0
0
73
0
0
0
0
0
0
18
0
-3
0
0
0
0
34
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
57
0
2
0
0
1
-1
20
0
0
0
0
-4
0
-2
0
-90
0
0
2
0
0
-6
0
0
0
0
0
-9
-24
0
0
0
0
0
-4
0
3
-17
-77
0
30
0
0
0
-31
0
0
-82
43
-2
0
45
67
8
-86
41
0
18
-2
0
11
18
14
0
2
14
-6
-5
1
44
0
-4
0
0
-5
0
41
0
0
0
0
-72
0
0
-52
0
0
0
-25
0
-22
6
4
2
0
0
0
0
0
0
0
0
0
32
19
2
-49
-63
12
0
-46
20
0
1
-21
0
0
1
-1
0
-5
-49
-6
0
16
0
0
4
75
0
0
1
24
0
-43
20
-14
1
-1
-133
0
0
-2
0
-7
0
1
14
-4
0
0
0
0
-15
-9
0
0
0
0
-1
-6
0
-1
45
0
0
33
24
1
15
3
1
0
18
6
6
18
12
2
0
9
-23
0
6
16
0
-1
-6
-76
0
36
-32
21
1
0
48
0
0
18
0
-53
0
-45
0
0
-3
0
53
0
16
0
0
0
0
-2
0
-7
7
0
0
0
0
-2
23
0
38
81
0
0
0
-42
7
24
47
1
0
-14
46
8
94
2
-2
1
5
0
1
0
15
10
0
0
-40
0
-14
-4
3
0
0
22
0
-1
8
1
-2
0
-53
0
61
0
0
4
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
0
0
0
0
0
12
0
0
0
2
0
5
-76
0
0
0
0
25
-3
0
10
14
14
0
18
-2
2
-1
-12
0
1
43
-4
0
0
14
23
10
1
0
0
5
45
0
-15
41
27
0
0
5
-4
-1
4
60
0
0
0
0
0
0
18
0
0
0
20
-26
0
0
6
0
0
0
-5
0
14
6
35
0
0
0
0
0
0
0
0
0
0
-42
-4
-5
22
-51
29
0
-18
16
-4
6
-8
0
7
72
0
1
0
28
-2
0
-5
-23
0
-11
36
0
1
-6
-65
0
-71
-2
-2
0
0
-80
0
0
0
0
2
0
-53
10
4
3
2
0
0
-6
4
3
-1
0
0
-6
32
2
2
82
-19
0
74
-11
-3
-1
80
0
0
-6
-15
0
-21
72
-11
-3
19
0
0
0
-8
-1
1
2
39
0
0
-9
-14
0
5
61
0
0
14
0
3
0
-27
0
0
-6
-14
-10
0
-44
1
0
0
0
0
1
5
11
1
9
0
0
0
51
1
1
-1
0
0
10
-33
-7
14
72
0
0
-1
-13
1
-8
60
0
3
14
0
-1
3
-5
9
-6
0
-43
0
-6
10
1
0
-4
-42
0
0
0
-1
0
0
4
0
-62
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
70
0
0
0
0
0
-11
24
0
0
0
0
-3
0
0
4
15
0
0
-58
0
0
0
33
0
0
43
0
0
-3
59
2
0
41
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
-29
-2
8
0
0
0
0
0
0
0
0
0
0
-17
1
0
94
43
14
0
-46
54
0
0
-5
0
0
-31
26
0
0
13
-2
0
7
-30
0
0
15
0
0
0
26
0
8
9
0
0
0
52
0
0
0
0
2
0
37
0
0
0
0
0
0
-27
1
0
15
0
0
0
-8
0
0
11
10
0
33
-10
0
4
-18
0
0
8
61
0
-3
-47
-4
0
1
-27
0
0
1
0
-7
6
-36
0
0
-2
0
0
0
-39
0
0
10
0
0
0
-32
0
0
0
0
0
0
-18
0
2
0
0
0
0
-2
2
0
0
0
0
0
9
0
-3
-15
0
0
0
40
0
-1
-9
0
0
5
19
-1
0
-14
0
0
4
52
0
0
0
0
0
0
-14
0
-2
-2
0
0
0
10
0
1
-3
0
0
0
-37
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
-21
0
0
0
0
0
0
14
0
0
0
0
7
0
0
0
0
3
0
-29
3
4
0
5
0
0
32
2
0
0
9
-10
0
-47
32
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
-33
0
0
0
-2
0
0
0
0
0
0
0
0
5
-64
0
53
45
1
0
-57
79
0
0
-12
0
0
0
-50
0
0
19
1
0
-1
-44
0
0
-1
0
0
0
-4
0
-3
0
0
0
0
-19
0
0
0
0
0
0
59
-2
0
0
0
0
0
88
0
0
0
0
0
-3
-5
0
0
0
0
0
0
-58
0
0
0
0
0
17
-24
0
1
-8
-2
0
-4
9
0
0
-47
0
0
0
-22
0
0
-13
-5
0
0
70
0
0
0
0
0
0
-23
0
0
0
-1
0
0
30
0
0
0
0
0
0
-9
-6
0
0
0
0
0
-25
0
13
0
0
0
0
108
2
0
2
0
0
0
-8
0
2
0
0
0
0
-16
0
-9
0
5
0
0
-4
0
-3
-6
0
0
0
-22
0
0
0
6
0
0
25
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
9
0
0
0
0
0
-1
-1
0
0
0
2
0
0
2
0
-40
0
0
0
0
0
-11
0
0
0
0
0
5
18
0
0
0
0
-3
-3
0
0
5
-71
0
21
-1
0
0
66
0
0
97
1
0
0
42
15
0
-75
9
0
0
-1
4
-10
-14
25
0
0
8
4
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
42
0
0
13
0
0
0
0
0
-65
1
8
0
0
0
0
0
0
0
0
0
0
-3
103
-2
15
-15
0
0
44
58
1
7
-16
0
0
3
5
0
0
-4
18
0
33
19
0
0
-5
8
0
-1
-45
0
13
-2
-5
0
8
20
0
0
0
0
1
0
-9
1
2
0
0
0
1
24
0
0
0
0
0
0
-35
1
-2
17
-5
0
15
-14
0
-10
10
0
0
-10
3
0
2
6
39
0
3
-5
0
0
17
-4
17
0
50
0
0
0
17
0
0
-82
0
-2
0
0
0
0
-59
0
0
2
0
-4
0
50
0
0
0
0
0
0
29
0
0
0
0
0
0
13
0
-2
-5
0
0
0
-24
0
-1
-4
-2
0
-1
-15
0
0
0
0
0
-1
53
0
0
0
-6
0
0
11
0
4
-4
0
0
0
89
0
0
0
2
0
0
-46
0
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-17
0
-2
0
0
0
0
1
0
0
0
34
0
0
53
0
0
-11
0
0
0
0
0
62
10
0
0
0
0
17
0
0
0
99
0
2
-14
0
3
8
3
0
0
-58
3
0
-8
55
0
5
12
0
0
0
22
0
32
1
0
0
0
-1
0
-22
-3
0
0
0
0
0
6
0
0
0
0
0
0
34
0
0
3
0
0
0
33
0
38
4
-2
0
0
0
0
0
0
0
0
0
0
-4
-77
0
-44
-20
0
0
45
31
0
0
-38
0
0
-58
57
0
0
29
0
0
-2
-23
0
0
-5
0
9
1
-22
0
1
-2
0
0
0
-28
0
0
0
0
-19
0
23
74
51
0
0
0
0
-26
8
0
0
0
0
33
-38
0
-13
-41
0
0
10
45
0
0
22
0
0
15
0
0
0
27
0
0
31
-30
0
0
19
0
-5
26
45
0
0
34
0
0
3
0
0
0
7
0
-26
0
-10
0
0
0
0
62
0
6
0
0
0
0
0
0
-34
-1
0
0
0
0
3
-2
0
-14
74
0
0
6
-37
0
0
-4
0
0
-7
-13
0
25
0
0
0
8
-15
0
0
13
0
0
0
24
0
5
0
0
0
0
-25
0
0
0
0
0
0
-7
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
19
-2
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
0
46
0
0
0
0
0
-25
0
0
0
0
0
25
3
0
0
0
0
-22
4
0
0
5
-1
0
14
0
0
0
14
0
0
-69
-1
0
0
-25
41
0
-33
1
0
-3
0
0
0
59
-5
0
-1
13
54
0
-4
6
0
0
0
0
0
0
5
0
0
0
-6
0
0
0
42
0
0
0
0
0
13
-9
-3
2
0
0
0
0
0
0
0
0
0
-22
30
-1
-16
50
15
0
53
80
0
0
44
0
0
29
21
0
0
96
7
0
42
-27
0
0
-74
15
0
4
-17
0
-11
6
1
0
-7
30
0
0
0
0
0
0
43
63
31
0
10
0
0
19
-9
0
8
0
0
-4
15
0
0
91
33
0
33
0
0
7
-40
0
0
91
28
0
4
-37
46
0
83
-41
0
0
44
0
0
8
-11
0
13
-14
-23
0
18
67
0
0
-8
0
0
0
30
0
0
19
5
0
0
-56
0
0
0
-1
0
0
-41
16
0
0
0
0
14
20
0
-11
17
0
0
8
37
0
9
-60
-3
0
-8
-15
0
33
92
0
0
-13
20
0
1
79
-2
0
0
-5
0
-4
-13
0
0
0
-15
0
0
8
-3
0
0
85
0
-18
0
0
0
0
-28
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-16
1
0
29
0
0
-28
0
0
0
0
0
0
15
0
0
0
0
10
-16
0
-2
30
5
0
-3
1
0
1
-35
0
-3
22
0
0
0
11
5
-16
34
9
0
0
-50
-3
30
0
0
0
0
41
2
9
0
-7
0
0
24
1
19
0
23
0
0
0
-8
-29
0
0
24
0
0
0
1
0
-3
-36
-3
0
0
0
0
0
0
0
0
0
0
-12
-24
0
3
2
-8
0
6
8
0
0
-7
1
0
0
46
0
2
0
0
0
0
9
0
-1
77
0
0
0
-9
0
-19
15
5
0
0
-25
0
0
-11
0
-3
0
25
0
3
0
-3
0
0
10
-3
0
0
0
3
1
-27
2
0
-3
3
0
19
-24
1
-1
-6
0
0
0
-23
2
10
-23
-9
0
0
17
0
0
14
4
1
1
-15
1
0
14
-5
0
0
-13
0
0
3
0
14
0
10
0
3
0
0
13
0
-37
-7
0
0
-1
0
0
15
-5
0
0
0
0
0
-40
0
12
23
3
0
0
22
0
9
-19
-1
0
0
42
0
31
8
-1
0
0
-1
0
0
5
41
0
0
1
0
-11
-16
0
0
0
39
0
-3
-1
1
2
0
14
0
19
0
0
4
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
-1
-1
0
0
2
0
3
0
0
0
-34
0
0
-7
0
0
-31
0
0
0
0
0
-17
-22
0
0
0
0
11
0
1
0
10
-2
0
47
0
0
0
35
0
0
76
-10
0
2
-73
23
0
20
5
0
-1
71
4
0
47
0
5
0
1
-6
7
-4
9
0
0
0
0
-5
0
-1
0
0
0
0
-6
0
0
-8
0
0
0
7
0
16
7
7
-5
-1
0
0
0
0
0
0
0
0
-6
25
0
0
32
2
0
40
-88
-2
2
68
0
0
11
-12
3
0
-52
14
0
6
0
-2
0
8
0
4
15
41
0
37
0
0
0
0
-28
0
0
0
0
0
0
-6
15
0
0
0
0
0
-1
-15
2
0
0
0
4
22
-4
-3
71
3
0
0
-10
1
0
1
2
0
-10
-35
11
-6
-19
0
0
-25
56
2
0
20
0
5
13
0
-2
0
43
14
10
0
-66
0
0
3
31
0
0
29
1
0
1
0
8
0
-29
0
0
0
0
0
0
17
11
-1
3
0
0
0
-32
0
18
-1
0
0
0
48
0
-11
-2
1
0
-2
36
8
-10
19
-2
0
-8
-7
3
0
-18
4
0
0
0
0
2
8
0
0
0
39
0
0
-1
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
4
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-1
0
1
-6
0
0
0
-22
0
-4
-17
0
0
0
8
0
11
-4
-10
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
-16
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
14
5
0
5
-43
0
0
-22
32
0
0
-2
0
0
1
5
0
0
-8
0
0
0
-9
0
0
0
0
0
0
-21
0
29
7
0
0
0
-5
0
0
0
0
24
0
-64
2
0
0
2
0
0
51
0
0
0
0
0
6
-29
0
6
-2
0
0
-1
-71
0
0
10
0
0
-5
-15
0
6
53
0
0
0
-41
0
0
0
0
0
0
-1
0
-1
8
-2
0
0
96
0
0
0
0
0
0
5
0
0
0
-2
0
0
21
0
0
0
0
0
0
-13
0
0
0
0
0
0
57
0
0
-1
0
0
1
10
0
8
-2
0
0
0
33
0
0
0
0
0
0
3
0
0
2
0
0
0
71
0
1
0
0
0
0
-3
0
0
0
0
0
0
33
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
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-14
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
-14
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
-7
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
-10
-5
-7
0
18
-29
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
-3
0
0
0
0
0
0
-60
0
0
0
0
0
0
13
0
0
-1
0
0
0
61
0
0
-21
0
0
5
5
0
-2
0
1
0
0
-27
0
0
-1
0
0
0
11
0
3
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-35
0
0
0
0
0
0
-10
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
10
0
0
0
-1
0
0
0
0
0
0
13
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
-45
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
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
35
-1
0
0
0
0
0
0
0
0
0
0
0
-4
14
0
14
2
0
0
-8
-10
0
0
-6
0
0
3
-9
0
0
-3
0
0
4
-25
0
0
-4
0
0
0
0
0
9
-1
0
0
0
1
0
0
0
0
0
0
-15
-1
0
0
0
0
0
29
-2
0
0
0
0
0
17
0
0
-4
0
0
0
-48
0
0
1
0
0
0
17
0
0
0
1
0
-4
45
0
0
1
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
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
-10
0
0
0
0
0
0
-27
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
-3
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
14
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
35
0
0
0
0
-11
0
0
0
0
0
0
20
0
0
0
0
0
0
-14
0
0
0
0
0
0
-19
0
0
0
0
0
0
-19
0
0
0
0
0
0
16
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
47
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
21
0
0
0
0
0
-45
0
0
0
0
0
32
44
0
0
0
0
-22
0
0
0
44
32
0
31
2
0
-1
74
0
0
67
4
0
0
-5
-19
0
-31
0
0
10
22
0
0
-9
-2
0
0
0
0
0
40
-34
0
25
3
0
0
1
-26
0
0
0
10
0
0
0
19
0
0
0
0
0
-76
34
7
1
0
0
0
0
0
0
0
0
0
76
3
0
44
73
-21
0
-4
63
0
-4
-5
0
0
-23
-59
0
13
-3
-14
0
-30
-65
0
0
129
0
0
27
-50
0
8
-11
3
0
0
-14
0
0
0
0
0
0
-6
14
-21
0
-1
0
0
7
13
0
0
0
0
36
-48
0
5
-27
7
0
56
36
0
0
78
0
0
129
57
0
0
-15
-6
0
-43
-27
0
0
22
0
0
2
40
0
1
36
23
0
24
4
0
0
71
0
0
0
-25
0
0
6
-11
0
0
35
13
-4
0
0
0
0
-7
5
0
3
0
0
10
21
0
-2
23
0
0
10
9
0
1
-45
0
0
-3
-5
0
30
-22
0
0
-9
-4
0
6
-25
-7
0
14
46
0
26
6
0
0
0
18
0
4
-2
-13
0
0
0
0
-16
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
1
0
0
0
0
0
-70
0
0
0
0
0
-7
2
0
0
0
0
1
0
0
0
54
0
0
-68
-7
0
0
119
0
0
14
0
0
0
-20
3
0
17
0
0
0
0
0
0
-15
1
0
0
23
0
0
0
0
0
0
0
0
2
0
1
0
0
-1
-5
-2
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
-2
-59
0
25
43
-1
0
-13
-66
0
0
21
0
0
0
-61
0
0
-1
0
0
0
-42
0
0
5
0
0
0
-18
0
11
0
-1
0
0
-26
0
0
0
0
0
0
-94
-2
0
0
0
0
0
31
0
0
0
0
0
0
-87
0
-2
5
4
0
0
30
1
0
-10
0
0
0
96
0
-20
2
0
0
0
25
0
0
1
-3
0
0
32
0
0
7
7
0
0
-5
0
0
0
0
0
0
-57
1
0
0
0
0
0
35
0
0
0
0
0
0
9
0
0
0
0
0
0
3
-5
2
0
0
0
0
-15
0
0
0
-2
0
0
-9
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
-27
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
-56
0
0
2
0
0
-97
0
0
0
0
0
6
0
3
0
0
0
5
2
0
0
2
19
1
76
0
0
1
5
0
-5
49
20
4
0
-14
2
0
35
54
0
6
14
2
-5
17
14
0
3
43
8
0
-5
0
3
-5
2
0
0
0
-2
0
0
0
0
-1
0
0
5
0
0
0
0
0
10
-6
10
0
-3
0
0
0
0
0
0
0
0
-19
15
2
-44
12
0
0
-14
58
-3
0
-32
-2
0
-5
67
4
-2
97
8
0
19
-29
0
2
31
0
0
0
0
0
5
0
0
0
0
-48
0
0
0
0
0
0
-15
16
0
0
0
0
0
7
-4
-1
0
0
0
4
-4
4
-2
103
-8
0
1
10
3
0
-60
0
10
2
-50
0
-7
44
18
0
1
1
0
1
-29
0
-8
2
21
1
4
-5
-8
0
0
0
0
0
-10
0
0
0
-17
0
0
0
1
15
0
55
0
0
0
0
0
0
65
-3
0
-20
0
0
0
3
1
53
-13
0
0
1
-23
1
-8
0
5
1
-5
30
0
-6
43
0
0
0
-5
5
-2
-18
-8
0
0
12
-5
-8
0
3
0
0
0
0
-3
-1
0
-5
0
-54
0
53
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
-15
0
0
1
0
0
-5
0
0
0
0
0
2
0
0
0
0
0
-1
5
0
0
-2
0
0
37
-1
0
0
11
0
0
-2
0
0
0
-7
-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
2
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
5
42
0
0
-71
55
0
0
-17
0
0
-1
8
0
0
1
0
0
0
6
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
9
0
0
0
0
-18
0
0
0
0
0
0
-5
0
0
-14
0
0
2
14
0
0
0
0
0
3
-37
0
0
16
0
0
0
7
0
0
8
0
0
0
-42
0
0
0
0
0
0
-10
0
0
0
0
0
0
14
0
0
-4
4
0
0
8
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
-2
0
0
-2
-16
0
0
0
0
0
0
4
0
1
6
0
0
0
2
0
0
0
0
0
0
15
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
-1
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
38
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
25
-34
0
0
-11
10
0
0
0
0
0
0
1
0
0
-3
0
0
0
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
7
0
0
0
0
0
0
-33
0
0
0
0
0
0
-33
0
0
0
0
0
0
-41
0
0
-1
0
0
0
-2
-3
0
24
0
0
0
-7
0
0
3
0
0
0
-23
0
0
1
0
0
0
-7
0
0
0
0
0
0
63
0
0
0
0
0
0
13
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
-1
0
0
0
0
0
4
0
0
0
0
0
0
16
0
0
0
0
0
0
34
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
19
25
1
0
0
14
14
0
-22
0
0
0
-29
1
0
27
0
0
0
0
0
0
53
0
0
0
0
-4
-2
0
1
0
0
0
-6
-3
-2
0
0
0
2
0
3
-4
0
0
0
-1
-6
1
0
0
0
0
0
0
0
0
-15
9
0
3
0
0
0
0
0
0
0
0
0
77
5
0
11
3
0
-5
-8
44
0
0
-5
0
0
-7
11
0
0
0
0
0
11
-43
0
0
0
0
0
-3
9
0
-5
0
2
0
0
29
0
0
0
0
0
0
-7
0
-2
0
-1
0
0
82
1
0
0
0
0
4
-17
1
0
0
0
0
0
-28
0
1
6
0
7
-4
-32
0
0
1
0
0
0
-18
0
0
0
0
0
0
-18
0
-2
0
0
0
5
4
0
0
0
0
-6
0
-31
0
0
0
0
0
0
-30
0
0
0
0
1
0
-14
0
0
0
0
0
0
-35
0
0
0
0
0
0
53
0
0
0
-1
0
0
25
0
2
0
0
0
0
-1
0
0
0
0
-1
-1
8
0
-20
0
0
0
0
10
0
0
0
0
0
0
88
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
0
0
0
0
0
0
0
0
53
0
0
16
0
0
-18
0
0
0
0
0
5
13
0
4
0
0
-10
1
0
0
4
0
0
4
2
2
0
-65
0
8
72
-5
0
0
35
0
50
-99
-3
0
0
15
0
-4
0
6
0
0
0
-1
4
32
-4
0
0
0
0
14
0
0
0
0
0
0
-65
0
0
-1
0
0
0
15
0
-3
-5
8
0
0
0
0
0
0
0
0
0
0
-11
-55
0
4
2
0
0
-32
-22
0
4
-2
0
0
-1
-8
0
0
43
21
0
36
71
0
0
-14
0
0
6
28
0
90
6
0
0
0
11
0
0
0
0
2
0
52
1
0
0
0
0
0
-22
4
0
1
0
0
1
-1
0
11
12
0
10
1
-11
0
0
50
0
3
1
-7
0
10
7
0
1
9
-47
0
0
50
0
-1
0
67
0
0
33
0
-6
-7
27
0
0
0
0
69
1
-27
0
0
31
0
-29
0
60
0
0
0
0
0
0
37
0
0
0
0
0
2
50
0
4
7
0
0
0
-42
0
3
-26
-2
0
-4
-52
0
-5
3
0
0
0
63
0
0
7
3
0
0
118
0
-8
-1
0
0
0
29
0
1
0
0
0
0
14
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
-1
0
0
0
0
0
33
0
0
0
0
0
10
-10
0
0
0
0
-6
0
0
0
-2
-7
0
-5
0
0
0
-70
0
0
-24
2
0
0
35
49
0
16
-19
0
0
-22
0
0
26
-2
0
0
-1
0
0
1
0
0
0
0
0
0
4
-4
0
0
0
4
0
0
0
43
0
0
0
0
0
-17
11
4
9
0
0
0
0
0
0
0
0
0
-132
49
0
20
44
15
0
65
60
0
-3
12
0
0
1
23
0
0
16
-29
0
49
-3
0
0
-16
0
0
0
10
0
-8
1
9
0
0
11
0
0
-1
0
0
0
-10
-35
-7
0
-1
0
-3
22
9
0
2
0
0
55
-41
0
5
56
3
0
66
-24
0
-9
55
0
0
-10
8
0
4
33
1
0
-22
79
0
0
-3
-3
0
-8
-16
0
5
32
41
0
-15
-33
0
0
20
0
0
0
59
0
0
4
-2
0
0
95
0
0
0
0
0
0
39
2
0
0
0
0
13
-7
0
-10
8
0
0
-4
24
0
0
3
0
0
0
10
0
7
53
0
0
14
-21
0
2
13
3
0
0
-5
0
109
-2
-1
0
0
49
0
-2
0
-13
0
0
62
0
71
-1
0
0
0
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
9
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
-10
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
-1
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-5
0
0
-13
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
-40
0
0
0
0
0
0
-8
0
0
0
0
0
0
-14
0
0
0
0
0
0
-24
0
0
0
0
0
0
-13
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
-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
14
0
0
0
0
0
1
0
0
0
0
0
-4
0
0
0
-1
0
0
81
0
1
0
-9
0
0
-31
0
0
0
5
-4
0
-2
-4
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
62
9
0
0
0
0
0
0
0
0
0
0
0
0
14
0
57
-47
1
0
1
36
0
0
0
0
0
-6
29
0
0
3
0
1
1
-54
0
0
4
-3
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-110
17
0
0
0
0
0
-60
3
0
-11
-1
0
5
28
0
8
4
0
0
33
-42
0
0
14
0
0
2
-11
0
0
9
1
0
0
19
0
1
-6
0
0
2
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
24
3
0
0
0
0
0
-13
-7
0
0
0
0
0
37
0
0
-1
0
0
0
-16
0
0
0
0
0
0
21
0
9
0
0
0
0
-5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
5
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
-9
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
31
-29
0
0
7
5
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
49
0
0
0
0
0
-1
-24
0
0
13
0
0
0
-51
0
0
0
0
0
0
-8
0
0
1
0
0
0
21
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
17
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
2
0
0
0
0
0
0
-17
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
-15
0
0
5
4
-1
-25
-16
49
-47
4
-13
-55
-54
-54
15
5
12
16
2
3
40
52
-18
41
-26
-2
17
59
-16
-21
26
35
-11
46
21
-45
59
-1
44
42
-2
0
9
9
-29
24
-11
-7
-4
7
-43
47
48
25
-67
0
0
-4
59
-4
0
10
-11
0
0
-27
-21
-53
3
-26
-4
43
28
-3
0
0
0
0
0
0
0
6
30
67
-5
-6
-4
-6
14
-10
-17
65
1
-13
-13
-19
-15
18
-51
7
26
-33
38
3
-13
33
34
20
14
-30
6
-22
5
46
6
5
-28
-8
37
-3
5
-3
-43
2
4
-19
0
0
-38
-21
17
-14
-9
5
-37
2
-18
9
-6
41
70
-13
-13
-50
47
-17
-15
37
11
-32
-67
-26
4
39
23
30
-6
24
-23
1
41
-3
15
-33
54
112
-6
5
-33
-2
3
-17
-29
5
-20
-3
50
-23
25
78
14
49
-59
-8
-2
4
-2
-7
-43
-30
-5
-23
14
-16
27
87
-35
1
-57
35
-51
14
28
-7
-38
23
-46
25
-17
27
27
36
16
-21
38
13
47
-10
-31
-16
105
11
-19
-27
37
-42
-35
14
17
-3
4
49
-12
-13
8
-1
-21
-48
57
-19
44
21
43
7
15
62
-15
-5
68
21
-6
-56
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
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
11
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
-2
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
0
0
-3
2
0
0
9
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
0
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
-23
0
0
0
0
0
0
-11
0
0
5
0
0
0
-32
0
0
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
-8
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
-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
7
0
0
0
0
0
-40
11
0
0
0
0
-30
3
3
0
82
-12
0
11
0
0
5
3
0
0
-6
-5
0
0
8
-6
0
54
-47
0
0
-89
1
0
70
-2
0
-1
27
11
0
80
-25
0
0
45
0
0
0
5
0
0
0
0
0
0
-1
68
0
0
-1
0
0
2
-11
-14
-1
0
0
0
0
0
0
0
0
0
14
74
3
-9
39
-37
0
17
23
0
0
53
5
0
-33
46
0
-1
36
9
0
-27
-34
0
-14
72
-2
0
89
-50
7
33
-22
-4
0
1
-8
0
0
1
0
0
0
-7
47
-19
8
63
0
9
-30
66
-1
-4
-1
0
40
-62
0
26
46
-41
0
-32
73
0
18
55
0
0
74
55
0
-10
64
30
0
155
-29
0
-5
43
1
0
49
-47
0
59
-41
-23
0
45
-19
0
0
85
0
0
-11
21
3
-7
6
-38
0
0
-13
3
0
0
0
0
0
-28
-13
0
0
0
0
22
-15
0
23
18
0
0
35
-62
2
-17
-10
-6
0
0
60
-7
90
53
1
0
25
-16
0
11
58
24
0
45
34
0
-36
83
0
0
0
101
0
11
-9
-46
0
-4
12
0
-33
4
0
0
0
44
-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
15
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
-1
0
0
10
5
0
0
-32
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
21
0
0
0
0
0
0
-30
0
0
0
0
0
-1
-9
0
0
0
0
0
0
-4
0
0
1
0
0
0
1
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
-4
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
-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
-15
30
8
8
-49
50
-5
26
38
-13
-54
-20
-7
9
-10
-40
8
-22
3
15
42
-6
15
53
-14
-20
5
-15
-6
44
5
29
-40
-18
-25
6
11
15
-14
9
0
-1
5
-38
-7
-46
-1
29
-2
-36
12
-24
-20
-15
-13
7
-32
-46
21
-13
-9
-14
11
50
-8
15
-32
25
-6
-22
0
0
0
0
0
0
0
0
17
33
-12
-25
-22
-42
7
-5
45
-47
-2
-2
-42
10
-14
-64
5
9
-23
-45
1
-10
23
78
3
-11
-26
-7
-19
-26
17
-39
2
-31
17
-12
18
32
-4
-11
16
3
2
0
33
27
-7
20
17
1
-50
5
31
6
-39
-6
-27
-8
32
6
-13
10
-4
10
16
71
14
47
13
17
-5
-33
-6
-9
0
-79
-20
-9
34
-47
5
-28
-37
28
-1
5
-2
3
-9
24
-19
2
34
-44
-32
-81
-6
7
-7
81
106
-46
32
12
4
-7
-6
84
5
-53
-39
-21
-9
-26
5
-121
-36
126
-21
1
-53
-23
51
-67
33
-22
-14
-6
11
-48
-46
-29
-85
0
8
-38
16
-54
29
21
6
-39
60
17
27
24
3
-9
41
-9
37
-1
-5
8
-4
49
35
-41
-30
5
13
-5
5
-5
21
-2
24
19
3
-1
-20
26
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
54
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
24
0
0
51
5
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
2
0
0
0
0
0
0
15
20
0
0
0
0
0
63
0
0
0
0
0
0
59
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
-23
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
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
10
0
0
0
2
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
5
0
0
0
0
-20
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
4
30
0
71
5
-3
0
97
-43
0
0
4
0
0
4
-36
0
3
0
8
0
-5
92
0
0
-1
0
0
0
14
0
-46
6
-1
0
0
5
0
0
0
0
0
0
-25
55
0
0
0
0
0
62
2
0
0
0
0
4
55
0
0
-14
0
0
0
-43
0
0
-4
0
0
-10
-7
0
0
27
0
0
1
-28
0
0
4
0
0
0
5
0
-10
22
0
0
0
5
0
0
0
0
0
0
-17
0
0
0
0
0
0
28
2
0
0
0
0
0
-27
1
0
1
0
0
0
-6
6
0
-1
0
0
-1
-17
0
0
0
0
0
0
33
0
-1
-2
0
0
1
-7
0
0
3
0
0
0
91
0
0
0
0
0
0
20
0
0
0
-1
0
0
-14
0
-7
0
0
0
0
68
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
1
0
-31
2
0
0
-46
0
0
11
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
65
-2
0
0
-4
-1
0
0
24
0
0
0
-21
0
0
0
-3
0
0
-18
0
0
0
0
0
0
0
0
-6
0
-1
0
0
-2
0
0
0
0
0
0
-57
0
0
0
0
0
0
37
0
0
-1
0
0
0
118
0
0
-4
0
0
-6
-82
0
0
8
0
0
4
-33
0
0
2
0
0
0
43
0
0
-2
-2
0
0
31
0
0
-2
0
0
0
-3
0
0
0
0
0
0
87
0
0
0
0
-2
0
46
0
0
0
0
0
0
37
0
0
0
0
0
0
-48
0
-2
0
0
0
0
31
0
0
-5
0
0
0
-44
0
4
0
0
0
0
0
0
0
0
5
0
0
2
0
-10
0
0
0
0
-7
0
0
0
0
0
0
24
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
71
1
3
3
-6
29
-3
97
0
10
14
67
0
0
29
7
1
6
81
5
-10
156
25
0
-5
19
0
17
-16
18
4
0
9
-3
-32
63
11
0
0
-1
0
-33
0
0
0
0
0
46
-26
0
0
60
0
0
-10
5
0
0
20
14
0
0
0
0
0
0
0
0
0
0
45
52
4
17
38
0
0
-29
40
3
0
96
0
8
-14
-25
0
-5
53
18
1
13
36
0
11
-9
0
7
11
89
0
-1
27
4
0
0
-9
0
0
0
0
-19
0
40
-8
0
0
1
1
0
0
5
0
0
0
0
-14
-24
0
-10
-43
-1
0
-32
-19
0
0
14
0
0
16
33
-18
15
37
-24
0
5
-38
-4
3
29
3
0
16
99
0
-3
8
-6
-1
1
6
0
-5
10
0
23
0
28
0
1
8
-4
-23
0
-6
0
0
0
0
0
2
0
-1
0
2
-1
0
6
-70
-6
-5
6
-3
0
14
-28
-3
5
-5
0
0
-6
-5
5
-47
69
1
0
4
-19
-2
31
11
-5
1
0
-42
-1
-49
-5
0
0
-14
-39
0
2
-5
0
0
0
5
0
8
2
-1
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
-1
-67
-2
-53
-34
-58
16
73
55
-1
-25
13
-1
-3
-21
5
0
6
20
81
32
-62
74
0
1
14
-1
-16
-30
8
0
1
-15
43
-16
-2
-29
0
0
34
0
-50
1
35
0
0
0
-5
-64
0
-1
-96
0
0
0
-71
0
-41
1
65
26
2
0
0
0
0
0
0
0
0
0
155
1
14
-35
16
8
35
2
0
17
2
0
-23
-48
40
4
6
-3
24
7
33
-29
0
0
-7
0
-1
-4
-2
0
16
52
7
1
0
46
0
-1
0
0
56
0
-30
-2
19
0
-25
0
33
-34
0
-11
-1
6
0
-17
34
-29
-37
51
20
0
-44
14
3
5
52
-4
-2
-21
32
1
18
4
10
41
9
10
-2
-7
-36
21
-10
-30
-53
-2
-3
17
-16
32
10
50
0
14
-38
13
19
0
-59
5
0
-1
26
53
0
14
37
0
0
2
0
1
-30
10
-10
9
0
0
-9
37
7
-46
-57
-1
0
32
5
-1
25
-24
5
3
24
-2
-6
-35
-67
0
14
-6
-9
1
5
-7
-45
-1
0
5
1
88
14
9
2
0
-55
-2
0
-5
30
0
2
0
0
-30
0
0
0
0
-5
18
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
31
3
0
0
-62
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
17
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
-54
10
1
0
0
0
0
0
0
0
0
0
0
1
15
0
55
-17
0
0
7
19
0
0
63
0
0
3
34
0
0
0
0
0
5
2
0
0
0
0
0
0
-3
0
15
0
-1
0
0
-5
0
0
0
0
0
0
-33
-1
0
0
0
0
0
-13
2
0
0
0
0
2
-18
0
0
36
0
0
0
32
0
0
-5
0
0
5
26
0
0
-1
0
0
0
128
0
0
13
5
0
3
-21
0
13
0
-1
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
-79
0
0
0
0
0
0
47
0
0
14
0
0
0
-20
0
-4
0
0
0
0
-11
0
0
-1
0
0
-2
4
0
0
-3
0
0
0
10
0
-1
0
0
0
0
14
0
0
-2
7
0
0
8
0
0
0
0
0
0
-11
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-80
0
0
0
5
0
0
-9
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
16
0
0
1
0
0
0
0
0
33
0
10
0
0
0
0
0
0
0
0
0
0
3
-3
3
2
15
0
0
0
8
0
3
-14
0
0
0
-35
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
-14
0
0
0
0
-2
0
0
0
0
0
0
-82
-1
0
0
2
0
0
-50
0
0
2
0
0
0
38
0
0
4
0
0
-1
-6
0
0
-1
0
0
0
10
0
0
-4
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
6
0
-37
0
0
0
0
0
0
2
0
0
0
0
-4
0
19
0
0
0
0
0
0
0
0
0
0
0
0
1
11
0
-5
0
0
0
0
-15
0
0
0
0
0
0
-1
0
4
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
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
24
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
-71
0
0
0
0
0
0
45
0
0
0
0
0
0
-69
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
-10
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
34
0
0
0
0
0
0
14
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
10
0
0
-6
-20
0
0
3
-1
0
0
1
-1
0
4
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
21
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
-11
-46
-1
0
25
52
0
0
-7
0
0
-5
15
0
0
-9
6
0
-4
53
0
0
0
0
0
0
-8
0
-16
3
1
0
-3
3
0
0
0
0
0
0
-24
2
0
0
0
0
0
-23
0
0
0
0
0
1
-66
2
0
-4
0
0
18
19
0
0
43
0
0
10
-9
0
0
-3
-3
0
1
-4
0
0
-11
0
0
7
25
0
0
-2
0
0
-2
13
0
0
0
0
0
0
-15
0
0
0
0
0
0
-58
0
0
0
0
0
0
12
0
0
0
0
0
0
-9
0
0
-4
0
0
0
32
0
0
46
5
0
0
19
0
24
-1
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
2
0
0
-34
0
4
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
34
17
43
31
3
9
17
-9
-40
5
26
35
-50
-5
-11
-20
1
0
-4
-3
-34
-43
98
0
0
52
-5
-14
-7
-25
0
0
22
0
1
-11
5
3
0
-6
6
41
0
1
85
0
0
0
66
0
57
53
-48
74
17
0
0
0
0
0
0
0
0
5
127
-4
26
35
77
-14
13
22
25
-2
42
-4
-8
-45
-3
0
23
-32
-49
0
-56
-27
0
-4
-80
-1
1
0
24
0
-6
17
8
8
6
-10
-3
0
-1
0
6
0
-8
33
42
-4
-1
-3
0
35
114
0
4
0
-7
47
-13
4
99
-4
-43
1
-14
20
-4
-5
-14
6
0
-30
-5
-4
104
-13
62
-1
-66
12
0
17
-139
37
0
-1
46
6
-8
24
5
1
3
10
0
-2
-8
18
-7
0
38
5
6
-7
-1
-32
0
-32
-9
0
-1
2
0
0
69
5
-11
-17
0
3
68
-14
18
44
7
-1
4
-18
54
-15
45
38
-7
-5
7
-49
14
24
27
9
-2
3
43
0
-25
-53
-37
0
-1
53
-2
-12
-2
5
-1
0
43
-4
-14
-2
-2
-9
1
39
-4
-22
4
11
-2
0
-14
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
-58
-8
0
4
-8
0
0
20
14
0
5
23
1
-5
-13
-18
-2
0
3
1
0
-6
26
0
0
4
-1
11
24
-2
0
0
-2
0
2
1
0
0
0
2
0
-83
0
0
5
0
0
0
-2
0
33
-3
-9
-1
-3
0
0
0
0
0
0
0
0
-2
-7
0
33
-15
-3
0
75
-20
0
0
188
0
0
5
-7
0
-2
-58
-3
0
-10
-36
0
0
-50
0
0
0
-24
0
-5
-4
0
0
0
20
0
0
0
0
0
0
3
-27
0
0
-13
0
0
-49
22
0
-1
3
0
-7
0
-5
4
12
8
0
-20
7
0
2
-37
0
0
6
28
0
-4
-51
-9
17
-18
14
0
0
-72
2
0
27
-9
0
-5
11
19
-5
0
40
-1
-4
14
0
0
0
38
0
0
-1
2
0
0
-9
-1
0
0
-1
0
0
-3
1
0
0
-2
0
13
0
2
2
-9
1
0
14
17
0
21
-55
0
0
6
53
0
-47
60
0
-1
2
18
0
5
-10
5
0
1
41
0
53
7
0
0
3
41
0
0
10
-5
0
0
60
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
73
0
0
0
-27
0
0
34
0
0
0
5
0
0
8
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
124
1
0
1
0
0
0
0
0
0
0
0
0
2
15
0
-20
65
-13
0
-3
49
0
0
59
0
0
-14
-15
0
0
5
-3
0
0
7
0
0
-2
0
0
0
53
0
-34
0
0
0
0
-3
0
0
0
0
0
0
-106
-2
0
0
0
0
0
45
0
0
0
0
0
0
-35
0
1
73
-2
0
0
72
0
0
-14
0
0
0
14
0
0
9
4
0
0
23
0
0
-39
0
0
0
71
0
0
0
0
0
0
-56
0
0
0
-1
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-33
0
1
-2
0
0
0
20
0
0
2
0
0
0
-44
0
0
8
0
0
0
-61
0
-7
6
0
0
-2
-15
0
2
-17
-1
0
0
-15
0
0
0
-2
0
0
-4
0
0
5
0
0
0
40
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
-91
-9
2
0
15
0
0
79
21
0
0
157
-11
6
-29
14
0
0
0
0
-8
0
-1
0
0
15
0
-1
4
14
0
0
0
0
6
0
0
0
0
0
0
-16
0
0
4
0
0
-1
-3
0
8
3
7
-1
8
0
0
0
0
0
0
0
0
-31
21
0
70
-53
7
7
-9
-32
0
0
5
0
-2
5
14
0
0
44
-5
0
-2
26
0
0
5
0
0
0
59
0
-5
14
1
0
0
26
0
0
4
0
0
0
-11
-3
0
0
0
0
0
18
3
0
0
0
7
0
-16
0
0
-5
6
0
5
-13
0
0
-36
0
1
-17
59
0
0
74
0
-3
5
18
0
0
-32
0
0
-4
54
0
0
-14
-10
0
0
29
0
0
-1
-2
0
0
-2
0
0
0
0
0
0
-5
-3
0
0
0
0
0
34
-13
0
0
0
0
0
34
-1
-33
1
0
0
0
-43
-2
-1
1
-6
0
-5
-16
0
9
-1
-1
0
0
-1
0
-6
-3
0
0
0
22
0
-4
9
0
0
0
25
0
0
2
0
0
0
38
0
27
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
25
23
-1
12
-27
3
53
69
140
0
21
-30
31
-52
18
48
0
10
-5
0
19
-63
31
0
0
54
-15
-12
-26
43
0
-6
4
-7
-13
1
6
5
1
0
-43
25
0
0
48
0
0
-1
-11
0
39
6
-15
7
2
0
0
0
0
0
0
0
0
62
71
74
8
-15
27
17
14
14
-1
2
66
25
-2
-15
16
3
-5
-19
74
-5
-92
5
-2
3
5
-3
0
-9
-27
0
-4
16
43
0
-1
-53
-8
0
0
0
-30
0
-12
-4
-6
1
46
6
17
40
-33
0
-1
0
2
26
-3
10
47
35
-42
-3
126
10
0
25
-21
0
-9
-4
-5
11
-20
4
11
-3
20
12
14
7
69
11
-2
27
20
32
13
21
-18
-2
0
-53
0
2
3
1
65
0
-42
0
-2
-2
41
4
0
-45
6
2
0
4
3
-3
10
-53
-2
52
5
-7
-94
10
-11
-12
-17
-10
2
5
-30
-9
18
15
28
0
-31
-24
5
-6
92
5
-2
41
-1
5
-12
66
-7
-3
24
-24
-10
67
54
31
0
1
54
8
5
-31
3
2
0
24
0
77
4
0
-10
0
-58
-2
-10
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
14
-28
-11
6
-3
89
2
17
-6
52
0
3
53
0
38
-53
10
0
0
10
0
-26
-32
-18
0
-1
-5
11
48
0
-10
0
0
0
0
9
0
0
19
-4
0
0
-42
0
-23
-99
52
21
0
-4
0
0
0
0
0
0
0
-21
48
0
12
1
8
11
24
3
0
9
32
2
-15
-26
-8
0
-2
-25
10
2
-68
-7
0
0
28
0
-4
7
-4
0
-6
-14
0
-27
1
-12
0
0
0
0
-16
0
-2
0
-24
0
-1
0
0
25
-47
0
0
0
-1
-3
-2
-3
-11
56
0
-6
22
-4
0
2
72
0
1
-2
-38
0
1
-30
-2
8
28
-19
0
0
0
4
14
14
3
-2
-8
14
6
90
75
-10
0
0
2
0
-7
4
12
-9
-3
-1
0
-18
0
2
-3
0
0
0
26
0
41
71
-1
5
0
0
2
40
-3
99
-26
0
0
7
16
0
-5
77
0
0
11
15
0
-73
-15
0
0
7
-16
0
32
-77
-1
0
6
-16
-1
-1
103
0
9
10
13
0
4
136
0
13
-1
-6
0
33
-4
0
-26
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
17
2
2
0
5
0
0
-14
23
0
0
89
0
0
-37
-7
0
-2
0
0
0
-1
-4
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
0
0
-5
-2
0
0
0
-4
0
0
0
0
0
-4
-2
0
-9
0
0
0
0
0
0
0
0
0
87
-20
0
-23
-64
0
0
21
45
0
0
23
0
0
-7
86
0
0
16
4
0
32
-63
0
0
2
0
0
0
-32
0
32
3
0
0
0
-43
0
0
-1
0
0
0
4
-25
0
0
-3
0
0
90
22
0
0
0
0
17
36
0
-3
-63
4
0
-43
20
0
0
-63
0
0
-14
-8
0
5
33
0
0
-2
-8
0
-4
-14
0
0
17
94
0
0
-9
1
0
0
-23
0
0
0
0
0
-2
14
0
0
0
0
0
0
30
0
0
0
0
0
0
2
4
0
0
0
0
-6
-20
0
27
25
0
0
-14
81
0
0
14
-3
0
1
49
0
5
9
0
0
0
-53
0
-3
0
0
0
0
-26
0
22
-1
0
0
0
31
0
-5
8
3
0
0
-67
0
-39
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-75
3
65
21
29
-16
0
-32
-9
29
24
10
29
-11
-6
7
-19
-61
18
40
-20
-75
-1
-5
-35
-15
-11
-15
-42
23
-10
-52
-2
20
-2
-44
-53
-1
0
4
-33
10
33
1
-18
54
7
-2
0
0
0
0
0
0
0
28
-8
-33
-14
40
63
4
20
-5
-25
81
8
-44
34
-10
5
76
-31
-14
-19
-9
-36
-15
71
58
-4
53
31
-30
-28
-11
-1
12
-32
16
-83
-15
44
-3
53
-1
14
-1
17
18
16
0
-15
137
5
28
-33
6
67
-13
-1
-8
35
92
36
46
-11
-14
27
48
77
-53
59
57
2
1
13
-14
53
2
2
-14
19
-11
-5
25
14
53
10
-31
-29
24
-41
-1
19
62
-29
-5
-5
-11
-45
33
15
35
8
62
-4
-37
-13
-12
-6
34
-42
60
11
-13
-1
6
12
-48
-5
43
21
-1
-30
10
60
39
50
5
4
-84
17
-79
-91
15
-53
-19
26
-8
-9
16
-12
61
-51
-5
1
11
6
26
26
24
40
0
-1
30
53
22
54
-32
2
-24
54
13
-17
62
55
17
-5
32
22
-2
59
13
6
21
-13
31
26
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
41
4
0
0
5
7
0
-30
0
0
0
-4
0
0
5
18
0
0
29
0
6
7
-8
0
0
0
0
0
0
7
0
0
-6
0
-48
0
0
-4
0
0
0
5
-2
51
-2
-14
-3
15
0
0
0
0
0
0
0
0
-71
0
1
36
-31
0
0
-39
-3
0
0
-71
0
0
89
8
0
0
23
-2
0
-9
-61
0
0
-5
0
0
0
-43
0
76
-1
0
0
0
7
0
0
0
0
-3
0
46
-5
2
3
7
0
1
52
-8
0
-1
0
0
7
11
0
0
48
2
0
93
0
2
-3
44
0
0
-46
74
0
0
-27
0
0
-15
-55
0
0
-54
0
0
0
-107
0
7
-2
-8
0
0
92
0
1
1
0
16
0
-2
1
-4
-7
0
0
0
20
0
0
0
0
0
0
93
-4
0
2
0
0
-4
-23
0
-16
27
0
0
8
0
-6
-4
30
2
0
20
20
0
9
-1
0
0
0
5
0
3
4
0
0
0
61
0
-1
-11
0
0
-3
-31
0
0
3
0
0
0
36
0
-14
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
-5
0
-7
0
2
0
0
-1
0
0
0
-2
0
0
-2
1
0
-3
0
0
0
0
0
-20
0
0
0
0
1
0
4
0
0
-2
0
0
0
5
0
0
0
-6
-4
6
0
0
0
0
0
0
0
0
-11
32
0
-17
-53
-1
0
-7
-54
0
0
-15
0
0
6
-19
0
0
1
0
0
-4
-42
0
0
2
0
0
0
48
0
58
0
0
0
0
-54
0
0
-1
0
0
0
-31
2
-3
0
0
0
0
5
-5
0
-4
0
0
0
3
0
0
2
0
0
-9
21
0
-1
14
0
0
-8
-4
0
1
48
-2
0
0
-41
0
0
-27
0
0
-2
-7
0
0
-4
0
0
0
-4
0
-2
0
0
3
0
58
0
0
-3
0
0
0
5
0
0
0
0
0
0
-5
2
0
-5
0
0
6
17
0
-14
10
0
0
0
-19
14
-4
29
0
0
0
44
0
-4
0
0
0
0
-37
0
-17
0
3
0
0
-4
0
-6
0
0
0
0
53
0
0
0
0
0
0
5
0
-3
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
113
-1
0
0
-19
-3
0
-5
0
0
0
5
0
-4
10
2
0
0
-2
0
25
0
0
0
0
0
0
3
0
0
0
0
0
0
-35
0
0
23
0
0
0
-6
0
-62
6
0
-1
1
0
0
0
0
0
0
0
0
67
-16
0
74
123
0
5
-56
6
0
0
-8
0
0
-29
138
0
0
35
2
0
4
-20
0
0
21
0
0
16
71
0
-134
7
0
0
0
-51
0
0
0
0
-5
0
-23
43
4
0
0
1
0
-26
-3
0
0
0
0
-5
76
0
5
28
0
0
-3
5
0
6
23
0
0
49
23
1
0
0
-6
0
-3
-53
0
4
8
7
0
-9
28
0
0
37
17
0
3
18
0
7
-3
0
7
0
-1
0
0
0
0
-2
0
-17
0
0
0
0
0
0
29
1
0
-2
0
0
0
17
0
15
-1
0
0
3
-43
0
2
1
-6
0
13
84
0
5
-10
0
0
0
4
0
0
0
-1
0
3
-8
0
0
-1
0
0
0
23
0
0
5
2
0
-1
131
0
8
0
0
-1
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
38
70
24
-23
-2
19
54
-43
-15
-1
-62
-35
40
-16
-18
-27
-53
-5
-45
-43
-1
14
-23
5
-33
-14
-10
-25
-3
-14
-47
-41
0
13
-17
-3
3
6
36
-8
8
-71
-6
-38
-13
0
0
0
0
0
0
0
0
-7
-10
-113
23
33
18
-11
19
-20
53
11
36
10
8
8
-27
7
42
-10
-45
100
-4
3
-9
-10
-13
-26
-11
18
-31
2
5
10
-9
-32
17
-33
1
-1
-27
0
32
0
7
-13
-7
-2
-58
-34
47
8
-27
33
-22
0
-1
42
59
13
96
10
-5
-5
12
52
80
-10
-14
-5
-5
20
13
90
78
-23
-11
-11
12
-29
15
69
12
-17
50
-32
-17
5
42
23
33
30
-25
-10
-1
-10
37
58
14
-20
-42
-2
-7
2
-21
-6
-1
7
-18
15
0
45
6
-3
-19
16
18
48
-7
-4
30
7
4
35
63
-6
16
6
44
-60
45
13
-11
-50
-23
-7
-46
72
41
23
66
81
-30
1
-48
5
-70
-7
-5
-10
-16
17
-47
62
-92
3
-31
2
11
-33
57
32
17
-10
8
-29
-4
4
-81
0
-1
1
-6
36
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
6
-1
0
0
18
-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
39
-4
0
0
0
0
0
0
0
0
0
0
0
-6
17
0
2
51
0
0
-36
14
0
0
4
0
0
-3
-21
0
0
3
3
0
-2
44
0
0
0
0
0
0
-5
0
-45
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
74
-2
0
0
0
0
0
11
0
0
9
0
0
0
-18
0
0
-8
0
0
-16
-102
0
1
-6
0
0
0
48
0
0
1
0
0
0
-18
0
0
0
0
0
0
8
0
0
-1
0
0
0
-2
0
0
0
0
0
0
60
0
0
0
0
0
0
-18
0
0
0
0
0
0
-16
0
0
0
0
0
0
-31
0
0
0
0
0
0
39
0
0
0
0
0
2
2
0
0
0
0
0
0
6
0
10
-4
0
0
0
6
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
-2
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
-9
0
0
3
0
0
40
2
-2
0
0
0
0
0
0
0
0
0
0
66
26
0
39
13
-17
0
36
63
0
-19
-18
0
0
43
-33
1
0
-19
0
0
4
-20
0
0
5
0
0
1
-7
0
17
17
13
0
0
5
0
0
0
0
0
0
-32
-10
-5
0
0
0
1
5
2
0
0
0
0
74
-57
0
0
-24
9
0
45
54
0
1
-7
0
0
80
-20
0
-1
2
2
0
44
39
0
0
42
0
0
-1
-66
0
0
62
1
0
-3
44
0
0
0
5
0
0
24
0
-2
16
0
0
0
-4
0
0
0
0
0
0
10
0
0
0
0
0
-10
46
0
5
6
0
0
-5
-14
0
-2
73
-1
0
1
-26
0
-5
26
-1
0
-4
-40
0
1
-3
-5
0
0
47
0
59
-10
0
0
0
53
0
-2
0
0
0
0
-20
0
16
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
28
42
36
65
-39
-4
5
-14
37
5
3
-15
87
-14
26
-32
-1
2
-5
1
13
-2
15
9
0
-14
53
-29
0
-14
-32
0
1
-8
-72
2
18
36
5
70
5
-5
0
0
0
0
0
0
0
-47
-29
32
-20
-41
-22
17
-15
-12
52
40
-22
45
24
44
48
-17
29
39
-55
-47
-5
-16
-6
-25
61
-6
-6
-49
-38
4
25
13
-1
-7
9
-4
2
-1
-43
-3
30
0
24
5
41
3
-9
-4
15
25
-37
49
18
3
10
-119
-3
17
-28
-29
17
-31
-15
11
30
77
-8
7
45
45
-5
-11
38
18
-42
5
58
-4
-27
53
28
48
20
43
-8
16
18
61
-10
100
47
-17
1
43
4
46
-16
-23
-5
-20
88
-18
-26
27
36
22
31
3
1
15
13
0
25
47
81
-5
-1
-6
-5
27
-9
4
20
-3
14
10
9
-27
37
27
29
-15
23
29
-32
90
161
-5
-1
-4
1
7
19
-39
-53
59
90
-11
-23
-34
-73
-19
-18
33
-50
0
-4
-49
-59
17
5
7
-2
36
-10
14
35
0
2
-15
5
-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
-36
-32
11
1
-16
0
9
-29
62
0
0
-6
2
-6
-9
11
0
-5
13
0
1
0
-4
0
0
0
11
-34
0
0
-35
0
0
9
0
-2
-19
126
1
0
1
0
0
0
0
0
0
0
0
24
38
5
-47
-33
-8
0
-35
0
7
-3
-47
-13
0
-6
24
3
5
81
15
0
-13
17
0
1
-19
0
0
-5
52
0
7
50
77
0
0
-62
0
0
0
7
-14
0
1
-37
8
0
8
0
0
36
-2
1
1
0
0
52
20
0
6
129
-2
0
32
35
0
3
-18
1
0
-44
0
1
2
-42
-1
0
5
-28
-1
0
-53
-1
6
2
-39
0
1
8
0
9
0
9
0
0
-2
0
6
0
71
0
0
9
33
13
0
-13
-4
-3
0
0
0
0
2
10
2
0
0
0
-5
1
0
-55
-5
0
0
5
16
-2
0
-14
43
5
27
0
0
2
24
2
0
-7
19
0
-15
16
-1
0
0
-33
0
-22
2
3
0
-2
18
0
0
-2
0
9
0
-3
0
74
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
-33
3
0
0
0
0
0
0
0
0
0
0
0
0
51
0
52
-9
0
0
-83
8
0
0
25
0
0
4
47
0
0
24
0
0
0
-32
0
0
0
0
0
1
-14
0
-31
0
0
0
0
32
0
0
0
0
0
0
-14
-6
2
0
0
0
0
65
0
0
0
0
0
0
-30
0
-3
46
-3
0
4
-42
0
-1
3
0
0
-13
8
0
0
-1
0
0
0
22
0
0
-4
0
0
0
18
0
0
1
-8
0
6
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
32
0
0
0
0
0
0
26
0
0
7
0
0
0
-93
0
-6
0
0
0
0
27
0
0
3
0
0
0
-26
0
0
0
0
0
8
31
0
1
0
0
0
0
-8
0
1
0
0
0
0
-7
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
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
29
0
0
1
0
0
0
0
0
59
3
-1
0
0
0
0
0
0
0
0
0
0
7
8
2
-1
5
10
0
-27
24
0
-14
1
0
0
8
34
0
0
1
0
0
0
17
0
0
2
0
0
0
22
0
35
0
0
0
0
98
0
0
0
0
0
0
1
-2
-5
0
0
0
0
-10
26
0
3
0
0
0
83
0
0
24
2
0
-2
-92
0
9
39
0
0
0
35
0
0
-5
0
0
7
1
0
0
2
3
0
1
30
0
0
4
0
0
0
70
0
0
0
0
5
0
53
0
0
0
0
0
0
60
0
0
0
0
0
0
-41
-6
0
0
0
0
0
-23
0
0
2
0
0
0
24
0
0
1
0
0
0
-5
0
1
0
0
0
1
34
0
0
0
0
0
2
1
0
0
-1
0
0
0
9
0
1
1
0
0
0
-24
0
15
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
97
1
0
26
6
9
-80
19
0
-1
-23
-25
-51
33
-16
0
0
-21
0
1
0
20
0
0
1
81
-11
0
0
-14
0
0
1
14
1
9
17
16
21
-3
0
0
0
0
0
0
0
0
34
49
-1
-75
24
-20
-3
-10
-54
22
-35
0
-10
-3
-19
18
10
-12
25
5
-2
20
-31
17
-1
-25
-5
57
-14
14
-10
33
43
-5
-8
-2
38
3
0
4
0
16
1
-7
32
-20
0
-26
1
18
16
66
0
2
0
0
-23
-3
47
-76
103
-13
-11
-12
-8
0
17
-11
-2
2
7
31
19
-20
-20
54
45
-16
14
9
-13
-52
-7
12
-42
17
0
-25
6
-6
24
60
4
0
15
34
-9
-36
0
18
1
17
35
51
-16
0
4
-10
8
-3
0
-11
0
-58
-24
-3
7
-1
0
-41
-29
-12
19
12
4
10
3
9
6
-18
50
5
0
-15
-4
-1
20
16
5
7
38
46
-9
1
72
-5
-20
-60
-7
1
34
62
-4
4
69
21
1
41
3
63
-14
0
2
-2
-81
37
3
-14
0
9
14
-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
-20
16
0
0
-29
0
34
-19
-15
0
0
3
0
59
-5
24
1
0
3
1
15
-18
34
1
0
6
0
-4
0
0
95
0
0
0
-6
5
5
14
-38
11
0
0
0
0
0
0
0
0
0
-77
-25
-1
-42
-13
0
-2
-16
-7
0
0
-22
0
-1
-27
-66
0
0
-5
0
2
46
3
0
3
33
0
70
20
-10
0
-3
5
0
16
0
26
0
-1
-7
0
30
0
-35
-19
-5
-2
0
17
0
-8
20
1
5
0
0
-7
8
0
-7
24
0
15
28
32
0
6
-19
-3
0
30
-30
-7
31
40
-3
-2
11
-21
-4
0
28
1
44
27
-11
-2
26
22
15
-5
5
-24
0
2
100
0
12
0
40
0
14
-13
0
23
0
-1
-19
-1
-4
0
-8
0
14
-14
0
3
0
0
-2
12
19
24
103
-8
-1
-4
28
0
-4
56
0
4
-18
-18
0
63
-2
7
0
-33
-16
0
-14
72
3
36
5
45
0
29
-33
0
0
-6
-8
0
4
-26
0
-5
0
-34
0
74
3
0
0
0
-5
48
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
-9
6
0
4
-5
0
0
-6
29
0
0
-5
19
0
5
-1
0
0
0
0
0
0
23
0
0
6
25
0
0
0
-11
0
0
0
0
0
-31
23
5
1
4
0
0
0
0
0
0
0
0
49
9
0
33
5
73
0
-67
-25
-4
-2
30
0
0
63
62
0
0
19
140
0
-1
13
0
0
0
0
0
-3
-21
2
-5
71
42
0
0
-10
0
0
0
0
0
0
93
59
5
0
-2
0
0
6
9
0
-1
0
0
34
14
-1
46
-1
-3
0
-54
2
0
0
14
0
0
-21
-29
0
-4
-8
-23
0
41
13
0
2
47
3
0
-5
16
0
-4
16
21
0
-2
2
0
0
48
0
0
0
-37
3
0
3
-16
0
0
55
-3
5
0
-2
0
0
27
31
0
5
10
0
5
-1
0
-4
47
0
0
51
37
5
-5
-42
17
0
47
-6
0
-3
11
0
0
5
6
0
-18
60
1
0
0
44
0
-27
34
-2
0
-3
76
0
0
6
10
0
-11
-11
0
4
0
0
0
0
36
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
69
19
22
40
2
12
2
-1
-22
5
44
-2
-62
0
0
-2
0
11
0
10
-55
0
0
-20
34
6
-5
-60
-36
-10
-51
0
0
0
0
0
0
0
0
-31
22
53
-19
-53
-25
0
-61
0
-17
-16
8
-5
-2
24
16
-3
-33
18
32
33
-48
-2
-5
32
29
-19
12
15
8
2
36
42
21
52
-13
-32
3
-1
33
-1
4
0
-2
-64
61
1
-23
5
9
0
61
3
-16
0
0
-38
9
-11
41
-21
91
-8
2
0
-30
17
32
-1
19
48
-2
33
-26
-18
17
-31
43
11
-4
1
9
5
29
-23
14
-20
107
65
-20
80
17
-11
-22
44
53
-5
-23
0
-6
-6
-25
-3
-26
-9
-2
-12
-30
-1
1
2
77
-8
19
62
2
14
-2
-1
67
-21
39
-54
33
-22
3
-9
-26
75
12
-56
-39
-21
-6
-12
-39
9
-23
-24
5
6
-4
7
-59
35
-13
22
-23
-11
5
-22
23
-2
54
-3
40
5
81
-23
-35
31
1
8
0
99
-10
1
55
0
-14
70
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
-17
4
0
0
0
6
-34
61
118
0
0
0
4
43
-3
-3
0
0
0
3
-15
0
0
-31
0
0
0
-10
0
-33
6
25
-4
0
0
0
0
0
0
0
0
0
82
58
0
73
6
16
0
-50
38
1
37
69
1
0
19
0
3
-4
-56
17
1
39
-41
0
0
-6
0
-3
1
-19
0
-28
35
3
0
0
34
0
0
3
0
1
0
20
7
-11
0
-17
-1
18
-32
-26
-2
0
0
0
53
-32
4
55
64
7
3
27
-6
5
-14
7
-5
-3
-23
90
0
17
34
10
0
-20
0
0
-1
-104
-5
0
19
-48
0
1
8
-18
-7
-7
-4
0
0
36
0
-3
0
21
0
2
-15
1
-20
0
-24
8
0
0
0
0
0
42
-46
0
15
2
2
37
22
-1
-40
-9
2
0
-17
-1
0
-14
81
-5
-1
-16
49
0
14
23
0
9
9
0
0
-8
19
32
4
0
-34
0
-27
-22
-4
-6
0
29
-3
1
19
-14
2
0
-25
0
27
0
2
2
0
-62
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
52
3
-5
0
0
0
0
0
0
0
0
0
0
4
-47
0
0
-14
0
0
5
-68
0
0
27
0
0
6
-17
0
0
0
0
0
-13
6
0
0
7
0
0
0
0
0
-3
0
0
0
0
17
0
0
0
0
0
0
-40
0
0
0
0
0
0
-54
0
0
0
0
0
0
41
0
0
-10
0
0
-13
19
0
0
0
0
0
0
-14
0
0
3
0
0
0
54
0
0
-7
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
9
0
0
0
0
0
0
-48
0
0
0
0
0
0
45
-9
0
0
0
0
0
8
0
1
0
0
0
1
-13
0
0
0
0
0
0
-14
0
-2
0
0
0
0
41
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
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
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
11
-2
0
-13
20
0
0
19
0
-2
0
-12
0
0
-1
0
0
2
-25
0
0
5
0
0
0
0
0
24
0
0
0
0
-37
0
0
0
0
-5
0
21
15
0
0
0
0
0
-33
-5
0
0
0
0
0
12
0
0
0
0
0
0
15
-1
0
0
0
0
-5
1
0
-8
-3
0
0
-3
18
0
0
18
0
0
0
26
-1
0
3
5
0
0
-23
0
0
0
0
0
0
14
6
0
0
0
0
0
115
0
0
0
0
0
0
11
-4
0
0
0
0
0
-5
-7
-11
-2
0
0
0
25
0
0
1
0
0
0
-30
0
0
-8
0
0
0
0
0
-8
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
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
-33
5
0
0
6
-5
-47
79
33
0
0
6
0
23
2
-17
0
0
0
51
14
0
0
-23
0
0
0
74
0
36
-8
-41
0
10
0
0
0
0
0
0
0
0
23
-15
17
60
24
54
0
42
10
0
1
5
-3
0
-60
58
2
-1
43
-58
1
14
-18
-2
0
73
-1
6
29
47
0
45
0
-49
0
8
-1
0
0
0
0
10
0
-10
59
34
0
-24
0
2
-13
25
0
0
0
0
-13
27
-20
-5
-79
-32
6
23
28
-3
1
15
0
4
-11
50
-3
7
-10
7
6
-6
33
0
-3
29
5
0
-7
-43
-9
-1
58
-10
20
0
-49
0
1
3
13
-15
0
28
0
1
-5
41
4
0
5
10
0
-11
0
0
0
-4
72
0
-1
1
0
-4
-57
1
-25
16
0
0
3
-10
14
2
8
-11
0
-2
18
0
57
25
0
3
-25
20
-21
-2
-1
10
0
5
-35
0
-41
-9
-8
0
0
8
0
1
0
-80
0
0
28
0
27
9
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
35
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
3
25
0
0
4
29
0
0
-3
0
0
0
2
0
0
4
0
0
0
-14
0
0
0
0
0
0
-21
0
35
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
53
0
4
-3
0
0
-5
3
0
0
-9
0
0
-1
-24
0
0
-5
0
0
-3
-23
0
0
-6
0
0
-5
26
0
0
0
0
0
0
8
0
0
0
0
0
0
17
0
0
-1
0
-7
0
24
0
0
0
0
0
0
6
0
0
0
0
0
0
-69
0
0
0
0
0
0
9
0
0
0
0
0
1
9
0
0
0
0
0
0
-20
0
0
0
0
0
-9
-5
0
-5
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-13
-17
0
42
5
0
0
0
0
0
0
13
0
0
0
27
0
0
0
82
0
0
0
0
0
-31
-16
5
0
5
0
0
0
0
0
0
0
0
-5
-33
0
-21
53
39
0
-53
-8
0
0
-68
0
0
82
-63
0
0
21
-5
0
-3
32
0
0
-16
-3
0
3
-88
0
28
16
14
0
0
45
0
0
0
0
0
0
-2
54
13
0
0
0
0
3
6
0
0
0
0
-43
28
0
6
20
19
0
45
36
0
3
52
0
0
20
-58
0
-3
-5
-23
0
51
-66
0
0
48
0
0
29
-14
0
2
-28
24
0
0
17
0
0
43
0
0
-3
44
0
0
0
15
0
0
-12
0
1
0
0
0
0
-43
-14
0
5
0
0
5
26
0
14
9
0
0
5
2
0
-17
-15
6
0
26
-18
0
87
28
0
0
-91
20
0
-2
12
74
0
-6
-15
0
-68
31
0
0
0
2
0
0
-3
1
0
0
15
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
1
5
0
0
4
-8
-16
0
0
4
0
0
-1
24
0
-25
-17
8
-5
-2
0
0
0
0
0
0
0
0
35
5
0
26
13
0
0
-27
20
0
14
24
0
0
0
-21
0
2
2
-26
0
6
-69
0
0
-38
1
-5
0
-8
0
56
94
-2
6
0
15
0
0
0
0
0
0
35
0
-4
1
3
-3
0
35
14
0
-1
-1
0
1
-1
-9
-5
5
5
-3
5
-70
0
-33
-15
-3
0
-10
24
3
14
16
11
0
5
-36
10
0
34
0
2
0
-18
0
-5
80
98
0
0
-14
0
0
1
0
-5
0
17
-3
0
-17
20
7
0
-63
0
0
0
0
0
0
33
-5
0
0
0
0
8
-63
0
35
-1
0
-2
0
9
0
-1
-14
-5
0
0
25
0
20
23
4
6
0
23
3
-2
-56
-2
1
0
29
-5
52
10
0
0
0
-14
0
4
-1
14
4
0
-9
0
72
-4
0
2
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
-3
5
0
-5
2
0
-3
0
-10
0
0
-1
0
-6
0
0
-22
0
0
0
-5
-2
24
-9
47
-2
-1
0
0
0
0
0
0
0
0
63
5
6
-53
-30
35
0
-57
-4
0
8
20
0
0
60
84
0
-15
70
11
3
98
0
3
3
-15
9
-3
6
-19
0
-43
-9
-5
-4
2
-20
0
0
0
0
-7
0
5
89
4
0
0
0
6
-81
7
0
-1
0
0
-4
67
6
-7
46
4
0
22
-11
0
2
6
0
1
68
-12
0
-25
53
16
6
-15
-35
0
-5
-14
-7
4
8
0
0
-3
-6
24
1
5
-42
0
0
2
0
3
-2
60
0
0
0
43
-14
0
-13
3
0
0
0
0
0
107
4
4
3
0
0
4
-18
-4
-5
-27
0
0
-9
-14
0
-25
-3
-18
2
2
-83
0
49
-11
1
0
-4
6
-3
0
-13
8
-3
-14
0
1
13
0
4
0
0
9
0
-6
0
4
0
0
-33
0
83
3
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
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
21
0
0
-4
-33
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
20
0
0
0
0
0
0
14
0
0
0
0
0
0
65
0
0
0
0
0
0
8
0
0
0
0
0
0
-102
0
0
0
0
0
-1
-14
0
0
7
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
0
0
0
-7
0
0
0
0
-1
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
33
0
0
0
0
0
0
18
0
0
0
0
0
0
-8
0
0
0
0
0
0
-11
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
9
0
0
0
0
0
0
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
49
-14
0
0
-25
27
0
0
-3
0
0
3
-4
0
0
7
1
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
47
0
0
0
0
0
0
-48
0
0
7
0
0
1
31
0
0
0
0
0
0
-18
0
0
1
2
0
0
-16
0
0
0
0
0
0
26
0
0
7
0
0
0
-25
0
0
1
0
0
0
0
0
0
0
1
0
0
-16
0
0
0
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
0
0
0
0
0
0
21
0
0
0
-15
0
0
8
0
-9
0
0
0
0
36
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
2
21
0
0
0
0
-10
6
-13
0
0
0
1
8
0
0
-33
0
0
0
-11
0
-41
44
-11
21
-7
0
0
0
0
0
0
0
0
-100
43
1
16
-62
15
0
25
-34
0
-4
7
0
0
-12
15
-3
0
37
-14
0
-25
-31
0
0
-5
45
1
-4
14
0
8
-1
-4
0
4
-44
0
0
0
0
-36
0
-4
36
28
0
-6
0
0
8
-47
0
5
0
1
3
-42
0
20
-10
-31
-9
-26
-3
0
0
41
0
-13
32
-17
8
0
22
-53
-2
34
24
0
-2
-1
0
33
-14
5
-3
-8
0
-45
-14
25
-4
0
0
0
-3
1
23
12
0
0
0
-14
0
0
3
-3
0
0
0
-2
0
-22
-5
0
0
-3
0
8
-39
-7
-7
-16
1
0
23
4
0
-1
-12
3
11
6
14
0
-17
-22
2
0
-11
32
0
6
-10
-33
3
-2
8
0
39
6
0
0
0
38
0
-2
0
-5
-5
0
0
-1
52
-1
3
5
0
38
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
27
0
0
0
0
0
-2
-2
-5
0
0
0
0
-4
0
0
-16
0
0
0
5
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
-10
4
-1
-8
-23
0
0
21
3
0
0
-30
0
-5
-13
5
0
2
-20
0
0
3
-28
0
0
-12
0
0
-6
-26
0
-24
2
0
0
0
26
0
0
0
0
11
0
63
10
0
0
0
0
0
-48
0
0
0
0
0
0
-7
1
-7
25
0
0
-7
-44
0
0
30
0
0
7
-26
0
0
24
0
0
41
21
0
0
-27
0
0
22
0
0
0
61
0
0
0
13
0
0
0
0
6
0
90
0
0
1
0
-6
0
19
-5
0
0
0
0
0
-93
11
0
0
0
0
0
99
0
2
-6
0
0
-1
-40
0
0
-2
0
0
-11
12
0
29
7
0
0
0
25
0
7
0
0
0
0
-24
0
54
0
0
0
0
-25
0
-3
3
0
0
0
5
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
14
44
0
0
-4
-2
0
0
43
0
0
5
21
0
0
0
-5
0
0
0
0
0
-4
12
9
36
2
0
0
0
0
0
0
0
0
54
-47
2
-16
6
-43
0
21
7
0
0
-67
0
0
-54
31
0
11
19
-6
0
-15
-48
-3
0
-98
0
0
31
-28
0
-10
-44
27
0
17
46
0
0
0
0
0
0
-15
118
-18
0
0
0
0
-2
20
0
-4
0
0
7
0
0
-2
-24
76
0
-12
-3
0
0
75
0
0
16
29
0
-1
-23
-33
0
21
-29
0
-2
-39
0
0
-5
9
0
0
57
-4
0
-4
-14
0
0
74
0
0
0
20
0
0
-7
51
0
0
-4
1
0
0
0
0
2
-19
0
-1
0
0
0
0
37
0
91
17
0
0
-14
12
0
0
60
0
0
-35
30
0
-59
109
2
0
3
12
0
-1
-10
5
0
-15
-20
0
41
-22
0
0
0
14
0
3
7
-5
0
-1
24
0
-7
1
0
0
0
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
47
-13
0
4
25
0
1
0
0
0
18
26
0
1
1
0
0
0
0
0
0
0
0
55
-10
-4
-14
-66
-48
0
81
-33
0
0
40
1
0
-5
-31
0
-3
-34
-17
0
-2
-30
0
1
-23
24
-3
0
-25
0
46
63
-62
0
0
-61
0
0
3
1
9
0
-17
1
-8
0
2
0
0
7
-39
0
0
0
0
-4
-33
-1
8
-1
-17
-4
-45
7
1
-1
52
0
-2
22
-30
0
14
-2
49
-1
29
-8
0
0
-28
6
-23
8
50
0
14
53
20
-59
0
6
0
10
4
0
16
0
8
0
0
11
14
33
0
31
-1
0
0
0
-2
0
19
-10
0
2
0
-1
2
-2
7
-43
46
0
0
-4
-56
0
8
-14
0
1
-2
1
-1
8
-39
1
0
0
-9
0
2
20
5
-14
0
4
0
-16
-10
9
6
0
-42
-2
0
4
-11
0
0
-27
0
56
4
0
-3
0
-67
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
9
0
0
0
0
0
-20
16
-1
4
0
0
0
0
0
0
0
0
0
10
-68
2
-82
-64
66
1
-13
-17
0
0
-52
3
2
92
-17
0
0
22
-35
-1
-4
-22
0
-14
33
-2
-1
19
0
0
-26
33
-10
2
0
26
0
0
14
0
-6
0
-35
-1
27
0
-5
0
0
65
-49
0
0
0
0
2
-5
7
3
10
0
0
-26
-28
0
2
-26
0
1
0
23
0
17
-40
-2
-2
-6
-2
0
0
65
1
-1
-9
64
0
0
37
-7
15
0
0
0
-3
5
3
0
0
68
0
1
-4
-4
-10
0
29
0
0
0
0
0
0
7
-10
0
-1
0
0
1
46
-6
111
5
0
0
36
-11
-5
-4
53
-4
0
2
-8
0
5
-4
5
0
-5
-5
0
36
-1
3
0
0
42
0
45
4
0
5
1
0
0
0
0
-5
0
0
-28
0
4
-1
0
0
0
-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
0
0
0
0
0
0
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
5
0
0
-3
0
0
3
-5
0
0
0
0
0
-2
-3
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
-2
0
0
0
-23
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
-36
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
29
0
0
0
0
0
9
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
21
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
1
0
0
0
0
3
0
0
0
0
0
0
-27
0
0
0
0
0
0
27
0
0
0
0
0
-3
0
0
0
6
0
0
0
-22
0
0
0
0
0
-2
-25
0
0
-4
0
0
0
19
0
0
3
0
0
0
0
0
0
0
0
-3
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
57
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
7
0
-30
0
4
0
0
0
0
0
0
0
0
0
0
27
-16
0
-30
7
-3
0
-30
-2
0
0
15
0
0
0
17
0
0
-1
-7
0
0
0
0
0
7
0
0
0
43
0
2
0
0
0
0
47
0
0
0
0
0
0
-20
1
0
0
-6
0
0
-72
0
0
0
0
0
0
-85
0
0
65
0
0
30
-50
0
0
-9
0
-2
-7
2
0
5
7
0
1
-8
-20
0
0
-5
5
0
0
101
0
0
-13
-2
6
0
-30
0
3
0
0
0
0
0
0
0
0
5
1
0
-14
0
0
0
0
0
0
32
5
0
0
0
0
0
14
0
-26
19
0
0
0
21
0
-3
4
0
0
0
-17
0
-10
0
0
0
0
-23
0
0
0
-4
0
0
55
0
3
0
2
0
0
102
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
34
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
72
5
0
0
-6
1
0
0
-3
0
0
0
14
0
0
0
0
0
-2
10
0
0
0
0
0
0
-4
0
2
0
0
0
0
3
0
0
0
0
0
0
45
0
0
0
0
0
0
26
0
0
0
0
0
0
-42
0
0
-3
0
0
0
-23
0
0
-2
0
0
0
-55
0
0
6
0
0
0
16
0
0
0
0
0
0
3
0
0
-2
0
0
0
-13
0
0
0
0
0
0
26
0
0
0
0
0
0
-13
0
0
0
0
0
0
11
0
0
0
0
0
0
25
0
0
0
0
0
0
25
0
0
0
0
0
0
56
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
-48
0
0
1
9
0
0
0
-31
0
0
5
0
0
-13
-125
-33
-1
0
0
0
0
0
0
0
0
0
11
-10
0
27
35
-9
0
29
11
0
5
-18
0
0
38
-13
0
0
6
62
0
-5
-5
0
0
55
0
0
3
-18
-2
22
8
8
0
0
56
0
-1
-4
0
0
0
16
17
11
0
2
0
-4
13
-5
0
-3
0
0
-39
-3
1
0
17
36
0
92
17
1
-9
71
0
0
12
13
0
31
-9
35
0
-19
21
0
2
4
-4
0
10
31
0
-34
43
-27
0
-1
4
0
-4
-40
6
0
-6
-8
0
7
19
-40
0
0
30
2
0
0
0
0
-4
14
13
0
0
0
0
-8
7
0
-86
-7
0
0
-41
-33
0
-4
71
-25
0
-3
-14
-1
-14
39
0
0
-2
17
0
-5
48
62
0
4
41
0
21
-21
0
0
0
-33
14
-2
-22
71
0
0
29
0
23
-4
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
53
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
38
-14
0
0
-2
55
0
0
-5
0
0
-2
-22
0
0
1
0
0
0
-53
0
0
-6
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
102
0
0
0
0
0
0
13
0
0
0
0
0
0
-7
0
0
-14
0
0
-5
48
0
0
0
0
0
0
-35
0
1
1
0
0
0
5
0
0
0
0
0
0
-11
0
0
0
0
0
0
-89
0
0
0
0
0
0
6
0
0
0
0
-3
0
3
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
2
-1
0
0
8
0
-4
0
0
0
0
2
0
0
0
0
0
0
-14
0
0
-5
0
0
0
14
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
-13
0
0
0
-1
0
16
-4
8
0
0
0
0
0
0
0
0
0
0
49
-34
1
54
85
-15
0
-47
25
0
2
-50
0
0
20
60
0
0
39
-10
0
-5
54
0
0
-8
0
2
-3
43
0
-14
5
3
0
0
0
0
0
0
0
24
0
-48
5
-15
0
0
0
0
1
-33
0
0
0
0
4
-2
0
0
14
0
0
-11
-20
0
0
-58
0
0
15
15
-2
2
-58
5
0
19
-9
0
0
65
0
0
-11
-55
0
-5
22
-6
1
0
45
0
0
8
0
0
0
0
1
0
5
0
-2
0
-61
-10
0
0
0
0
0
-32
0
0
0
-1
0
0
-17
3
7
31
0
0
-1
22
0
0
30
0
-1
4
0
0
4
27
0
1
-7
25
0
-7
1
6
0
0
-23
0
14
6
0
-1
0
-41
0
0
0
0
0
0
0
0
5
0
0
5
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
53
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
0
0
0
-7
15
0
0
-5
0
0
0
5
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
-16
0
0
0
0
0
0
29
0
0
3
0
0
0
-35
0
0
0
0
0
0
-5
0
0
35
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
1
0
0
3
0
0
0
-22
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
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
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
14
0
0
0
0
0
0
22
0
0
0
0
0
0
-47
0
0
0
0
0
0
-17
0
0
0
0
0
-3
-10
0
0
1
0
0
-4
11
0
0
3
0
0
0
13
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
-36
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
29
0
0
0
0
0
-23
-8
2
3
-3
0
0
0
0
0
0
0
0
-11
-13
0
53
1
0
0
14
0
0
0
-14
0
0
-8
-16
0
4
0
7
0
1
-98
0
0
0
0
0
0
-3
0
2
0
-2
0
-5
62
0
0
0
0
1
0
81
-5
0
0
0
0
0
-10
0
0
0
0
0
0
-45
0
0
0
0
0
-5
31
0
0
11
0
0
2
-106
0
0
4
2
3
5
-55
0
0
-1
0
0
-1
45
0
-2
0
2
-5
2
-26
0
0
0
0
-2
0
17
0
0
0
15
0
0
17
0
0
0
0
0
0
4
-3
0
0
0
0
0
29
0
0
0
0
0
0
63
0
0
0
3
0
4
34
0
0
0
0
0
0
45
0
0
-2
0
0
0
77
0
3
0
4
0
0
-5
0
0
0
0
0
0
-41
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
43
0
0
0
-2
0
3
13
0
-1
0
0
0
0
0
0
0
0
0
34
-6
0
38
-44
0
0
-18
-38
0
0
-14
0
1
-2
32
0
0
16
0
0
2
50
0
0
9
0
-2
5
-3
0
-44
17
-11
0
4
50
0
0
-1
0
14
0
1
31
-6
0
0
0
0
-10
0
0
0
0
0
2
-49
0
0
48
0
-2
22
14
0
0
21
0
7
21
5
0
0
-42
0
-1
25
17
0
0
54
0
-1
0
-33
0
0
-21
-2
5
-1
38
0
0
-5
0
-47
0
37
0
0
15
0
-5
0
7
0
0
0
0
0
0
-22
-5
0
3
0
0
1
34
0
-17
-1
0
0
-1
-38
6
0
33
0
0
-7
12
0
14
-5
0
3
0
-54
0
-1
3
-2
0
0
-43
0
-29
1
0
3
0
47
0
0
-3
4
-3
0
0
0
42
0
0
0
0
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
-5
-12
0
0
19
0
2
2
-19
28
47
49
0
0
0
0
0
0
0
0
18
-46
0
11
9
12
0
14
-1
0
-15
-18
1
0
70
7
2
2
0
-12
0
132
-8
1
11
4
-13
0
-10
-9
-15
-4
-26
-4
0
60
24
0
0
13
-2
0
1
8
-85
-40
0
1
0
1
1
64
0
20
1
0
55
1
19
-53
-21
-71
0
39
13
-8
-25
45
-5
-3
-33
26
8
-37
-5
3
0
62
17
10
36
28
2
0
-35
-22
20
-77
11
65
0
31
8
0
-54
-3
-7
0
57
9
-8
91
21
-6
0
0
-2
53
0
0
-1
0
0
7
-82
80
-24
-11
0
5
12
4
-35
-27
0
0
-55
-1
-7
-79
-6
12
0
75
-1
7
-30
25
4
0
39
7
-7
-40
-22
-56
-1
33
14
-6
-40
18
-4
0
5
20
0
14
31
43
0
3
8
-1
3
-64
1
0
4
35
-59
1
20
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
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
-21
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-10
0
6
7
0
0
-52
-22
0
0
-5
0
0
0
-26
0
0
0
0
0
0
3
0
0
6
0
0
0
-1
0
-17
-5
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
94
0
0
0
0
0
1
43
0
0
4
0
0
1
20
0
0
1
0
0
7
-91
0
0
-1
0
0
0
-61
0
0
-5
0
0
0
32
0
0
19
-3
0
0
7
0
0
0
0
0
0
19
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
35
0
0
0
0
0
0
-27
0
0
0
0
0
0
-6
0
0
0
0
0
0
27
0
0
-1
0
0
0
-21
0
0
0
0
0
0
33
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
23
16
-2
0
0
0
0
0
0
0
0
-42
-38
0
-13
23
-124
-8
15
48
0
7
-18
0
24
-70
13
5
-3
15
5
-2
-14
-16
0
10
-45
4
36
18
-67
0
-13
13
-30
4
0
21
-5
0
6
0
-9
0
-46
0
4
-1
9
0
0
-40
-31
0
-5
-1
0
14
-40
-1
-14
-5
-14
25
-43
-7
-5
-14
67
-1
14
-16
-58
-5
-17
-43
1
33
68
35
0
-1
47
-2
-19
2
-47
0
10
-19
41
-33
-2
35
0
9
-15
1
-16
0
-40
6
-16
25
23
21
0
7
0
-3
-4
0
0
7
-72
-21
0
51
2
2
-34
-3
1
-6
28
2
2
-53
-90
1
31
-88
-3
2
1
-14
0
-33
75
-3
-2
-8
-43
0
-31
43
-13
10
-1
53
0
12
-76
0
9
0
-11
0
0
-16
11
-3
0
20
-1
-93
-10
1
-24
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
29
0
0
0
0
0
0
8
0
0
0
0
0
0
25
0
0
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
-13
0
0
0
0
0
0
-17
0
0
0
0
0
0
-44
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
-17
0
0
0
0
0
0
0
0
0
0
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
81
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
1
-26
0
0
-9
5
0
1
5
0
0
0
-14
0
0
0
0
0
0
-35
0
0
-4
0
0
0
37
0
-4
0
-2
0
0
2
0
0
0
0
7
0
4
0
0
0
0
0
0
-17
-1
0
0
0
0
0
27
0
0
-53
0
0
1
-2
0
0
23
0
0
0
-5
0
0
29
0
0
0
3
0
0
0
0
0
0
34
0
0
-1
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
-33
0
0
0
0
0
0
-5
4
0
0
0
0
0
-4
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
-6
0
0
0
0
0
0
53
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
-16
26
1
0
0
0
0
0
0
0
0
0
0
30
-75
0
56
28
-9
0
-12
-73
-2
0
30
0
0
51
-21
-2
-4
3
-5
0
-2
10
0
0
0
0
0
-3
-14
0
-37
5
45
0
0
-24
0
0
0
0
0
0
1
-70
-17
0
4
0
0
14
-46
0
0
0
0
55
38
0
0
15
-19
0
19
44
0
4
73
-5
0
102
-4
0
0
43
64
0
53
-66
1
2
-46
0
0
10
-11
-2
-22
57
-28
0
-1
17
0
0
7
-2
0
0
4
0
-6
-4
67
0
0
-17
-7
0
0
0
0
-10
81
3
0
-22
1
0
62
50
-6
-1
-34
0
0
33
71
-4
6
44
0
0
175
-39
4
-6
35
0
0
18
-48
0
2
33
-8
0
-7
32
0
14
15
0
0
0
14
0
7
5
36
0
0
61
0
88
4
0
0
0
28
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
6
-3
-1
-4
5
-2
0
4
20
0
0
9
0
0
0
-5
0
0
0
0
0
-2
33
0
0
0
0
0
0
0
0
5
0
0
0
0
4
0
0
0
0
0
0
-24
0
0
0
0
0
0
-9
3
0
0
0
0
0
67
0
0
-7
0
0
0
64
0
0
-3
0
0
-7
43
0
0
0
-1
0
-2
19
0
0
-1
0
0
0
-11
0
0
0
13
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
39
0
-1
0
0
0
0
-7
0
0
2
0
0
0
-5
0
0
-2
0
0
0
-14
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
-6
-7
-11
18
-3
-46
2
-1
0
-53
-62
-6
33
22
-5
-16
106
43
20
24
49
8
-7
19
-43
5
-20
-2
108
-20
60
27
-23
-10
13
8
-28
-13
-8
59
-5
-9
0
4
-11
13
-25
3
-24
35
0
-32
-25
4
9
2
-12
19
-40
43
3
-28
-13
5
-26
26
62
23
32
6
10
-14
13
22
0
-6
60
23
-16
29
111
5
17
-8
32
-11
-64
52
-14
16
30
103
-3
-2
-35
7
-8
-50
13
-17
60
-57
17
14
41
41
-14
-42
50
-8
68
0
53
0
0
14
-2
49
-1
-43
-5
12
4
95
-25
97
38
23
6
-17
-53
-35
50
-45
9
-81
-63
13
18
60
74
-39
-5
36
16
-7
-2
-59
-50
23
-4
73
116
100
0
-4
47
6
13
-5
54
38
-2
14
-11
61
11
1
27
4
28
-17
-11
-82
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-9
-25
6
-1
13
10
0
11
11
3
0
-74
-5
1
-3
57
46
2
45
26
0
6
-72
0
5
2
3
0
-68
-37
31
0
-5
-38
0
0
-5
0
14
0
-18
-37
-5
3
3
0
0
-20
0
0
0
0
0
36
-38
-1
1
112
-9
0
79
33
0
-3
6
0
0
-41
-39
-4
-20
5
33
1
17
-45
0
0
-12
-11
-7
-1
30
-2
8
47
-47
-24
-2
14
0
0
2
0
-18
0
93
0
-2
-14
-13
-43
0
19
3
0
0
0
0
0
53
2
-2
9
0
0
17
67
0
-16
22
0
0
16
-41
0
45
35
42
0
-32
-20
0
43
35
5
-9
-2
-27
6
-20
-3
-7
0
4
-21
0
15
0
5
0
-2
-15
0
2
-1
3
3
3
8
0
-4
4
10
0
0
61
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
61
-23
10
-21
71
61
-1
-35
-97
3
0
83
0
0
-78
30
6
0
-100
5
-3
-2
-27
0
0
49
0
0
-8
-75
0
-55
1
8
0
3
43
0
0
0
0
3
0
11
-14
2
14
-1
0
0
-112
-5
-14
0
0
0
-58
-58
2
3
56
49
0
65
81
-10
-3
-42
-7
6
68
22
-3
3
-18
17
0
-39
6
0
0
16
0
-4
-2
-54
0
0
82
6
-5
2
69
0
-1
5
0
0
0
-13
0
-2
35
2
30
0
70
2
0
0
0
0
0
44
80
2
5
0
0
-4
21
0
-4
14
0
0
8
-3
0
0
-15
-2
4
2
-10
0
-5
21
-3
3
0
64
0
-3
36
-3
-4
1
-72
0
-2
2
0
0
0
10
0
0
-1
1
7
0
-53
0
-29
0
0
-4
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
2
-16
-8
6
-2
-68
-30
0
0
-54
0
0
25
73
0
0
-39
-5
0
14
35
0
0
3
0
-1
0
73
0
-28
0
8
-2
0
53
0
0
0
0
16
0
52
-41
0
0
6
0
0
-5
-4
-4
-1
0
0
0
-20
1
-3
-1
2
-3
-3
54
-1
-10
1
0
-9
4
25
0
-8
31
0
2
7
-65
0
0
33
0
0
0
5
0
0
36
2
6
0
50
0
0
-14
0
6
0
18
1
0
0
0
1
0
-8
0
0
0
0
0
0
55
-1
0
0
0
0
0
-64
0
24
0
0
0
0
42
0
0
1
0
0
0
23
0
-9
-6
0
0
0
58
0
0
-2
-1
0
0
75
0
1
0
0
0
-3
-41
0
0
-5
-8
0
0
-43
0
10
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
-10
-11
0
-9
-45
0
0
2
39
0
7
-48
0
0
15
96
0
0
37
0
0
-1
-78
0
0
-4
0
0
0
90
0
1
1
0
0
0
6
0
0
-1
0
-7
0
-13
1
-3
0
0
0
0
-53
0
0
0
0
0
0
-60
0
-4
9
0
0
-24
-15
0
-2
43
0
0
13
-1
0
0
-62
0
0
10
-71
0
-3
6
0
-3
13
-9
0
0
-1
0
-8
0
-71
0
0
0
0
21
0
-12
0
0
0
0
71
0
5
0
0
0
0
0
0
30
17
0
0
0
0
0
69
0
-1
0
0
0
5
-68
0
0
-17
0
0
18
-100
0
-9
0
0
0
0
-54
0
0
4
-3
0
0
14
0
-4
0
0
0
0
-9
0
0
0
0
0
0
46
0
0
0
0
-2
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
-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
-96
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
6
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
-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
-52
-25
-11
-49
63
-3
15
-37
42
0
23
-69
-12
24
86
14
0
-3
-4
1
-24
30
-10
0
48
75
26
13
5
5
6
1
4
0
13
0
8
-28
-80
-5
58
25
-1
-4
-18
7
-9
1
0
71
-11
-7
106
-54
-12
19
-13
-11
-4
60
-15
1
4
40
-1
-15
19
-2
26
-15
-9
-23
8
-3
-17
56
-9
5
80
-1
110
24
-18
19
26
-25
0
-5
14
-4
-15
-2
76
-8
71
24
8
71
1
-27
85
-8
0
8
-6
-8
-11
29
6
73
0
-5
6
1
-7
-35
30
8
1
81
11
5
29
34
61
0
15
-26
35
-33
29
-14
35
4
42
25
-2
-3
96
-24
21
-12
-1
-62
70
-8
14
34
104
7
-8
-9
-8
26
7
9
4
52
5
-14
27
3
66
-2
11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
15
32
65
-10
-11
21
-29
4
-33
24
-15
-14
44
27
3
-9
33
8
62
113
-18
9
5
31
100
43
6
22
-7
-1
-5
-6
-5
0
-32
3
-45
-2
-48
2
27
30
59
1
11
0
0
36
27
15
-16
14
33
7
-15
0
-51
42
-18
-36
-6
-9
-13
68
-26
14
22
46
61
35
-14
63
31
-7
-20
71
-71
-29
99
34
-26
-28
-51
-13
1
-13
-20
8
3
18
46
2
8
16
16
12
-1
0
10
-1
0
-23
3
-13
-8
-17
-33
58
-14
-2
15
13
24
42
50
-27
9
-52
0
2
81
-43
-5
-1
-18
-21
-5
-16
66
40
-2
-2
45
0
96
-20
-22
-46
-2
-9
3
7
19
10
-31
17
0
-4
10
-18
80
31
-1
36
0
27
46
5
-5
0
35
14
3
-9
-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
-27
-9
0
0
25
0
0
2
55
0
0
6
-4
0
-1
6
0
1
-4
0
0
0
2
0
-16
0
0
0
0
-5
0
0
0
0
0
0
54
7
-5
0
0
0
5
-26
6
0
0
0
0
0
18
0
0
-5
0
0
-2
0
0
0
15
0
0
2
-18
0
5
11
2
0
0
-22
0
1
-3
0
-1
0
1
0
2
10
1
0
0
-55
0
0
0
0
0
0
-5
0
0
0
0
-1
0
-21
0
0
0
0
0
0
34
5
-2
0
0
0
0
18
0
-2
0
0
0
0
48
0
0
-5
-2
0
-3
-57
0
6
0
0
0
0
8
0
3
0
0
0
0
-23
0
3
1
7
0
0
-3
0
-1
0
0
0
0
-33
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
7
11
75
-23
12
-51
-24
-8
-1
17
-48
24
-11
-3
-2
-5
42
-33
8
-5
0
1
21
4
-5
6
6
0
2
15
-3
84
-1
-2
-79
-6
-6
16
-14
8
25
55
17
37
0
14
16
-23
89
-11
31
-11
5
28
6
5
16
-19
37
31
-71
-34
4
-60
-8
24
29
-1
-15
82
-1
-8
8
-10
-27
-17
-5
13
16
-3
-56
103
33
0
31
5
-21
43
43
7
14
21
38
-9
11
-1
21
-63
0
1
-1
-2
10
13
72
43
100
-4
-1
54
17
15
24
-35
8
-5
-4
15
-9
100
69
41
-8
52
-18
19
84
-50
-46
66
-3
3
-1
-17
-31
-24
23
-66
-30
2
30
9
27
-9
43
-3
0
3
22
41
24
14
13
0
60
41
23
-28
3
9
-54
13
0
53
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
77
13
-50
62
11
-21
9
22
-14
9
28
-36
-13
1
37
4
-4
-60
-81
-36
2
32
-17
-3
18
-13
-30
-34
-10
-17
14
20
0
-5
35
5
0
17
51
-22
28
47
1
5
-11
4
-5
1
75
-67
-6
-21
16
55
0
35
-58
-57
43
17
26
23
-23
16
14
42
-25
19
14
5
30
4
55
12
16
15
49
-23
31
25
14
56
0
-3
38
1
79
66
20
-18
25
8
-40
-35
23
-4
-21
-23
2
5
-33
79
-14
25
62
37
-21
7
2
37
3
-14
-5
-12
56
16
34
-6
-86
-4
75
32
-13
26
-2
96
51
-9
60
19
80
45
18
-45
65
52
10
-24
-29
0
-12
22
-3
55
-1
-43
2
-43
66
34
39
-1
3
35
43
-53
-5
41
0
19
51
47
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
49
-1
8
-22
-5
0
1
-28
0
4
17
8
0
0
68
0
16
-4
-30
0
6
-7
0
15
5
43
0
0
0
0
-58
0
-12
-65
-5
0
0
0
0
30
87
0
0
0
0
-35
-12
0
-5
60
0
0
79
13
-1
11
46
0
0
45
-34
3
-5
-5
-5
4
-67
-34
0
0
-37
0
10
-4
-13
0
0
-17
-2
7
-6
-55
0
0
15
0
8
0
-13
0
3
3
0
17
0
-3
-8
0
0
7
3
3
65
-47
-7
0
0
0
8
-7
7
11
-13
0
0
-27
-3
0
-3
24
0
0
-23
9
0
-23
35
0
5
-4
-54
0
10
-46
8
8
0
-3
0
-44
-10
0
-1
0
6
0
0
34
0
-17
0
-60
0
35
-6
0
-1
0
13
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
7
5
0
0
6
0
0
0
2
0
0
0
0
0
7
-41
0
0
0
0
0
0
10
0
-9
0
0
0
0
-60
0
0
0
0
0
0
32
0
0
0
0
0
0
-20
0
0
0
0
0
-4
-25
0
0
0
0
0
-17
-2
0
0
3
0
0
0
-47
0
4
0
0
0
0
2
0
0
0
0
0
-3
4
0
0
0
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
4
16
3
0
0
0
0
-22
0
0
0
0
0
8
26
0
0
0
0
0
11
-4
0
-1
6
0
0
0
10
0
0
0
0
0
0
-6
0
0
-5
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
48
0
27
18
26
11
2
32
12
-5
-53
56
8
25
11
12
-44
5
14
-6
1
11
-25
-1
-25
2
-12
-11
53
0
11
-29
-6
13
7
18
35
2
5
47
31
50
-44
38
59
8
12
-21
22
37
-23
-19
52
-22
-10
111
-5
8
71
63
-46
15
-11
23
1
25
33
-8
27
36
-43
32
15
29
25
11
-5
16
74
-48
32
-1
-19
3
0
66
16
-3
-4
-2
31
-4
-6
11
60
3
22
-23
-14
48
-41
-11
89
15
-2
28
-15
1
-46
69
27
54
20
-9
101
24
-91
14
-45
-4
-23
8
-45
-34
6
-5
63
6
44
-5
-46
32
33
73
-60
-25
-10
51
11
55
-4
84
18
63
-5
4
1
17
20
1
37
-8
12
26
25
-47
-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
0
0
0
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
11
9
-11
64
43
1
-12
34
14
4
-9
42
-32
-10
7
-21
56
-20
21
-11
-53
61
-5
65
-19
-18
0
-15
-16
-60
2
-32
-4
80
14
57
17
-15
-3
32
-48
10
9
-72
48
-35
-87
-63
11
58
-6
-13
-33
19
5
0
-33
20
47
-33
4
-58
-13
-17
1
22
-10
-19
46
-15
43
-25
12
-10
-66
73
-23
-37
51
78
14
16
43
-15
-14
16
20
52
-8
4
-6
65
-16
-2
-14
37
0
-14
127
-48
69
16
0
-38
24
-1
-12
-5
-20
70
32
9
-2
-44
69
29
-16
12
0
6
-58
-5
-17
7
3
-6
74
8
24
-4
-14
-13
-16
-19
68
38
-6
39
-32
9
-2
36
23
19
2
1
-18
2
-64
58
31
1
5
11
-5
5
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
3
-2
0
-2
-42
0
0
0
0
0
0
52
0
0
0
0
0
0
43
0
0
0
0
0
0
7
-3
0
0
0
0
0
36
0
0
0
0
0
0
67
0
0
2
0
0
8
21
0
0
1
0
0
0
18
0
0
3
-1
0
6
108
0
0
-18
0
0
0
26
0
0
1
0
0
0
40
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
95
0
0
4
0
0
0
88
0
1
-7
0
0
0
14
0
0
0
0
0
0
9
0
0
-1
0
0
0
17
0
0
0
0
0
0
-3
0
-11
0
0
0
0
-46
0
0
0
0
0
0
37
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
51
0
0
14
-6
0
19
20
0
0
-4
0
0
2
-3
0
-20
0
4
0
0
-18
0
0
0
0
0
0
80
1
0
0
0
0
0
18
0
0
0
0
0
-2
79
2
0
-3
0
0
47
-84
0
0
24
0
0
5
79
0
0
-22
0
0
-1
-105
0
0
48
0
0
0
73
0
-3
-8
0
17
0
-7
0
0
0
0
0
0
-3
0
0
4
5
0
0
-20
0
0
0
0
0
0
30
1
0
0
0
0
3
96
0
43
9
0
0
0
49
0
0
13
0
0
4
23
0
-1
0
0
0
-1
-48
0
0
-3
-3
0
0
-33
0
0
0
10
0
0
-30
0
0
1
-3
0
0
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
19
1
-48
-7
-11
-2
0
-18
6
-38
-76
-39
0
-8
30
1
22
-13
-25
2
-1
49
-2
-6
0
10
-40
15
-2
21
17
-20
51
-9
78
7
0
1
66
59
1
-16
28
65
27
-43
-13
22
38
55
-3
5
104
1
-5
-9
50
88
10
25
26
9
-14
53
21
7
30
13
2
86
99
62
12
-30
5
-3
7
47
-19
16
13
-31
0
25
35
123
5
24
-1
-23
3
1
-5
-9
14
22
-12
5
-5
-1
-13
29
0
-4
6
-4
0
4
-39
9
-62
59
67
1
1
-62
13
0
4
-49
-5
0
-47
-22
-1
98
62
23
23
47
-3
6
9
39
5
29
-8
-1
1
61
-8
58
27
2
-12
0
1
-17
16
69
0
-2
-26
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
16
0
0
0
0
0
14
9
0
0
-1
0
0
-4
2
0
2
0
0
0
0
38
0
0
0
0
0
0
0
-9
0
0
0
0
0
39
1
0
0
0
0
4
-56
0
0
8
0
0
-3
53
0
0
-11
0
0
3
16
0
0
-4
-6
0
0
14
0
0
8
0
0
1
-40
0
-1
0
1
0
0
-68
0
0
-6
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
-2
0
0
0
24
0
4
-1
0
0
0
2
0
1
0
0
0
0
-21
0
0
0
0
0
0
-1
0
6
-2
0
0
0
3
0
0
0
0
0
0
-40
0
1
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
1
10
0
0
1
0
0
0
29
0
0
-9
0
0
-6
14
0
78
0
0
0
0
-5
0
0
0
0
0
0
-8
11
0
0
-1
0
0
-26
2
0
0
0
0
0
-21
0
23
20
0
0
-11
31
0
-1
2
0
0
96
14
0
0
11
8
0
7
16
0
0
16
0
0
8
-29
0
4
6
-13
0
1
52
0
0
0
0
0
0
75
0
0
0
0
0
0
105
0
0
0
0
0
0
43
2
-1
0
0
0
0
15
-1
25
16
0
0
3
14
0
0
15
1
0
9
46
0
5
-4
0
0
11
27
0
4
0
-1
0
0
20
0
-23
5
0
0
0
1
0
0
0
13
0
0
119
0
23
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
13
11
0
-7
66
0
-4
0
12
0
78
23
0
2
0
-34
0
0
0
-3
53
0
28
-48
-75
0
-14
-4
0
-37
-9
5
34
7
0
-9
-22
14
94
24
-23
3
-21
-52
-1
-5
25
0
0
1
3
21
44
-27
1
-4
-5
-23
0
-23
-13
-16
-11
3
11
-5
-34
58
43
4
1
-1
0
2
-21
0
43
0
44
0
1
-8
44
-30
-1
-32
-24
0
0
0
45
0
-25
16
3
-47
1
0
10
51
-7
38
66
0
0
-5
-12
-14
73
52
-4
2
-29
20
0
-47
20
2
0
-10
-67
-10
-2
-15
50
1
0
18
0
24
0
2
-4
0
3
0
-5
-41
5
2
-2
-15
0
-7
1
7
-1
0
15
-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
-6
-20
10
15
-45
13
-53
2
-8
-1
-37
55
16
-22
31
-16
1
-1
-9
-1
-4
0
6
6
-74
2
115
0
43
-41
-27
32
5
-3
18
47
-8
-1
-47
-17
39
-45
11
-44
5
2
-2
4
-42
-30
25
71
-53
-19
80
43
-1
0
-81
-4
-15
53
86
-63
9
-5
-2
-19
-18
3
39
1
7
18
39
-8
-14
14
-57
15
37
-29
82
-17
3
7
29
-11
0
17
10
-33
-31
30
-8
-4
-2
5
3
33
49
-36
-55
-20
11
-20
1
106
32
-7
-60
7
8
8
-10
56
54
-37
-43
7
0
51
-63
-39
-11
14
-32
8
-4
-19
76
65
-33
21
-21
-2
-2
-43
-87
-6
14
-11
16
23
51
1
-5
0
19
59
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
57
0
-3
0
0
0
0
71
0
0
0
0
0
0
43
0
0
0
0
0
0
-16
0
0
0
0
0
-1
89
0
0
-4
0
0
31
-45
0
0
0
0
0
0
-22
0
0
5
0
0
4
17
0
0
-1
0
0
0
-9
0
0
0
0
0
0
-34
0
0
0
0
0
0
-39
0
0
0
0
0
0
8
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
4
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
-4
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
5
0
0
-9
0
0
0
54
0
0
0
26
0
0
-3
0
0
0
0
-1
0
-39
26
0
0
0
0
0
35
-3
0
0
0
0
-7
41
0
0
6
0
0
-10
55
0
0
0
0
0
98
-19
0
3
-11
5
0
0
-44
0
0
-4
0
0
-3
33
0
0
0
0
0
-3
72
0
0
0
0
0
0
35
0
6
5
0
0
0
2
0
0
0
0
0
0
-11
0
1
0
0
0
0
-37
0
0
0
0
0
-2
-6
0
0
-1
0
0
3
-5
0
4
0
0
0
0
43
0
0
-2
0
0
2
10
0
23
0
0
0
0
-27
0
0
2
0
0
0
27
0
-4
11
0
0
0
102
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-18
1
-13
0
-21
0
-13
50
-29
-65
-3
-10
0
0
0
0
-62
0
0
-36
20
0
40
4
6
16
-12
0
0
0
0
39
-12
74
72
-62
1
3
-50
-6
7
33
55
2
7
126
0
8
-4
-76
-7
5
-5
11
1
63
20
3
1
22
-3
-5
1
-33
63
5
96
-5
2
1
17
1
62
-10
5
0
0
1
-51
53
0
8
4
7
0
0
4
0
-3
-24
27
15
-2
0
11
15
-3
-14
62
0
0
-14
-6
5
-1
71
35
0
-36
-21
-7
-10
89
2
18
15
19
2
85
-3
8
0
-2
10
-10
-33
-3
-3
19
9
-76
0
-3
10
12
51
0
5
0
2
0
9
7
0
11
-35
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
23
0
5
58
-2
-4
-10
-22
0
65
17
0
-5
-2
-22
0
0
5
0
38
0
33
21
5
0
0
-3
0
-10
10
0
0
0
0
54
-37
1
39
-19
0
0
5
-21
3
0
37
0
0
-14
-18
0
0
-5
0
0
29
27
0
4
-9
-7
0
100
-52
0
0
0
0
-4
11
-22
0
0
65
0
10
4
5
0
0
-10
0
95
-1
44
-5
1
0
0
8
0
-53
17
0
-8
0
0
-8
-12
1
73
9
0
0
-3
57
0
-10
21
0
-5
-20
-1
0
137
-61
0
5
5
77
0
20
35
0
0
-5
91
0
8
81
-5
-1
2
34
0
-3
73
0
26
0
-11
14
5
0
0
-18
0
34
-3
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-34
0
33
13
0
0
0
-4
0
0
0
0
0
0
-56
-3
0
0
3
0
0
45
0
0
0
0
0
0
9
0
0
-2
0
0
-5
-17
0
0
9
0
0
3
-14
0
0
-26
-1
0
0
41
0
0
0
0
0
0
0
0
0
-18
-1
0
0
81
0
0
1
0
0
0
43
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
9
0
0
0
0
0
45
0
14
0
0
0
0
78
0
7
-3
0
0
-1
-51
0
0
1
0
0
1
4
0
0
8
0
0
0
31
0
3
2
0
0
0
21
0
0
0
0
0
0
36
0
6
0
0
0
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
25
0
25
-7
-4
0
0
23
0
0
-2
0
5
0
5
72
14
0
4
0
0
-32
8
0
-2
0
-6
6
-55
-2
-1
86
-3
0
40
9
0
-17
76
0
0
-15
-10
0
13
-39
-9
0
-3
-48
0
6
53
-4
1
0
57
0
-6
-62
-4
13
0
-17
0
0
39
0
-2
0
83
6
0
-4
21
105
0
40
-5
0
0
0
-1
0
-5
-70
0
0
0
0
0
-41
0
15
-117
0
-1
0
9
0
0
54
1
0
0
6
0
16
-53
0
0
0
-39
-8
2
-16
11
0
0
-66
0
-21
-16
2
0
1
15
0
3
-1
5
0
0
34
0
-46
-2
0
-6
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
-42
12
-3
-11
4
21
14
66
-24
22
44
-38
-14
-26
0
16
30
-28
-8
-60
16
27
4
-30
-11
25
-1
3
33
0
-40
-31
44
3
34
20
3
-52
-17
42
6
10
34
-3
21
124
6
-46
-63
41
-5
36
5
-26
-102
54
7
0
-20
-23
-14
3
1
69
5
7
38
30
26
-6
-18
-10
1
-10
35
-82
-43
-5
-6
-28
-2
5
15
21
-15
-10
89
-8
48
-12
0
-13
16
-57
29
5
-5
-19
-133
7
149
14
60
37
31
87
7
68
16
73
28
-33
-80
-21
-34
-25
-33
17
-22
33
0
-31
-15
-46
-32
15
-51
-41
-9
-25
63
25
26
23
-4
10
50
56
-2
15
13
10
-34
33
-14
-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
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
-52
0
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
-6
0
0
0
-26
0
0
-10
0
0
0
14
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
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
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
35
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
23
0
0
0
0
0
0
-47
0
0
0
9
0
0
-6
0
0
0
0
0
0
6
0
0
23
0
0
3
-53
0
0
0
0
0
0
68
0
1
4
0
0
0
5
0
0
3
0
0
0
-1
0
0
1
-8
0
0
-59
0
0
0
0
0
0
1
0
0
0
0
0
0
71
0
0
0
0
0
0
1
0
0
0
0
0
0
50
0
0
-1
0
0
0
47
0
0
0
0
0
0
15
0
0
0
0
0
0
14
0
0
17
0
0
0
-80
0
0
0
1
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
40
0
-40
5
44
-1
17
16
0
-3
0
0
34
0
6
44
-4
0
-36
0
0
1
1
0
2
0
0
-47
5
-5
11
43
67
-1
-24
4
4
-7
78
0
0
56
-3
0
-23
-10
56
-15
43
-19
0
4
-32
-6
-14
54
15
-4
9
-3
-52
1
-46
13
0
11
3
0
10
-4
9
0
-3
0
-4
20
0
25
-22
0
0
0
-2
0
-42
-43
-2
-5
0
0
19
-93
7
26
-5
0
-1
-19
-14
0
37
-4
-14
0
-40
27
0
33
-16
-2
-1
7
21
11
35
-12
42
-4
-2
-49
0
7
-15
-1
-4
21
37
0
-2
4
54
-7
0
26
9
-76
-6
0
-6
0
18
24
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
58
0
5
0
0
0
0
1
0
0
0
0
0
0
91
0
4
0
0
0
0
34
-13
0
0
0
0
-1
-36
0
0
15
1
0
-5
-11
0
0
-22
0
0
1
68
0
0
-9
0
0
-7
29
0
0
1
0
13
1
-58
0
0
1
0
0
6
4
0
0
0
0
0
0
-3
0
0
0
0
-1
0
14
0
0
0
0
0
0
2
0
0
1
0
0
0
-13
0
0
0
0
0
0
22
0
0
0
0
0
0
-18
0
-1
1
0
0
5
-29
0
0
0
0
0
0
-11
0
2
3
0
0
0
14
0
0
1
0
0
0
-14
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
5
0
-9
0
0
-24
0
0
0
0
0
0
-39
14
31
0
3
0
0
18
0
0
0
0
0
4
53
0
0
-30
0
0
34
-32
0
0
-7
0
0
15
23
0
0
-36
0
0
-4
19
0
0
-69
0
0
1
75
0
0
15
5
0
0
4
0
0
-1
0
0
0
50
0
0
0
-1
0
0
-44
0
0
0
0
0
0
26
0
0
0
0
0
0
12
0
17
0
0
0
0
16
0
0
0
0
0
1
-14
0
-2
5
0
0
0
45
0
0
5
0
0
0
-24
0
0
-5
0
0
0
90
0
5
1
-15
0
0
57
0
-19
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
45
0
0
0
0
-6
0
-18
3
0
0
2
0
0
2
9
0
0
0
0
-10
-3
0
5
-7
-3
-1
-6
-36
0
0
5
0
0
0
10
0
1
0
1
0
0
-11
0
0
52
0
0
0
19
0
0
8
5
4
0
36
0
-4
20
0
0
0
55
0
0
-4
0
29
0
1
9
0
0
0
0
0
15
5
-1
0
0
0
0
-39
0
-4
3
0
0
0
58
0
0
-5
0
0
0
-2
0
34
0
0
0
0
-10
0
1
21
3
0
0
-4
0
10
6
0
-3
0
71
0
-3
-5
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-1
9
-2
4
1
1
4
-62
2
0
20
0
-11
-36
-13
45
1
5
-30
-13
23
-13
18
18
-51
9
-12
106
25
11
-11
-14
4
-6
7
-75
-25
-8
-41
-20
-13
40
14
-22
-4
14
67
-17
-6
15
51
-12
-113
-6
0
13
17
8
-2
11
15
16
11
25
28
4
3
-1
0
24
-5
-3
0
-17
-4
-28
106
6
-9
-6
0
18
-24
20
35
-20
32
-2
-6
-2
-15
40
-53
55
15
-45
24
15
-34
6
-8
46
-45
-16
-15
-118
-13
-63
4
88
44
6
22
1
-18
12
-6
0
0
0
56
24
14
0
10
-3
99
-20
0
-43
0
7
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
18
-3
0
0
0
0
-8
-39
0
0
16
0
0
11
-20
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
6
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
26
0
0
-4
7
2
0
-2
17
0
-5
-9
60
-25
11
18
-3
-32
0
-3
120
24
22
-39
-46
-47
0
-10
-23
-3
-73
-30
6
52
-42
-4
22
-22
11
-26
-57
-47
-16
0
5
8
-56
-14
-28
4
-3
14
-15
-6
-54
26
1
0
0
25
-19
14
17
14
-1
-4
24
16
22
0
17
-39
-5
0
-1
-23
6
-12
-26
56
15
62
11
17
17
8
16
-24
-2
1
-58
-42
-9
10
-5
-49
25
-15
20
1
-1
-2
-15
1
-21
0
-7
39
-11
-4
-20
14
15
3
2
-40
7
83
10
-48
0
-8
7
-90
-18
-3
0
4
15
2
0
49
4
32
-3
-13
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-13
8
-14
0
0
0
0
-50
-26
0
0
0
0
-7
-12
-1
0
3
-5
0
-13
-33
0
-17
-50
-7
-1
31
22
0
19
75
19
0
-27
47
0
2
-11
6
0
0
40
0
0
-2
2
0
13
-7
0
-1
0
0
0
0
-23
0
-6
-5
-2
16
0
-43
6
0
0
-15
0
0
-81
66
0
0
4
0
3
-79
0
23
1
-1
0
6
71
0
0
61
-5
0
21
32
7
24
-11
-1
0
3
108
0
0
0
-4
0
0
15
0
5
0
0
4
0
57
0
-4
0
24
0
-9
-5
0
-20
0
0
1
0
23
-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
2
0
0
0
0
-23
0
-2
26
3
0
0
0
0
-19
-9
0
2
0
0
49
-26
2
2
66
0
7
-29
15
0
-3
-51
1
3
76
-5
0
1
-16
0
-6
-10
10
0
1
54
0
19
15
44
0
0
51
0
29
0
-9
0
0
27
0
45
0
44
0
11
-64
0
41
0
21
7
0
0
0
1
0
-3
4
0
6
0
0
-3
10
0
53
-5
0
0
-35
42
0
-19
-34
0
0
41
29
9
62
-34
0
0
4
91
0
-10
-5
0
-5
10
66
0
0
-34
0
-5
0
-46
0
0
14
0
0
0
10
0
-36
0
0
-9
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
-48
0
0
0
0
0
0
68
-22
-3
0
0
0
0
23
0
0
-1
0
0
8
29
0
0
47
0
0
4
54
0
0
-16
0
0
0
15
0
0
40
0
0
-36
47
0
0
6
0
0
2
-40
0
0
11
6
0
0
-15
0
0
0
0
0
0
-26
0
0
0
-6
0
0
37
0
0
0
0
0
0
-2
-1
0
0
0
0
-1
33
0
-6
-2
0
0
8
46
0
0
0
0
0
-1
32
0
2
4
0
0
0
167
0
0
0
2
0
0
25
0
-2
-5
0
0
0
124
0
0
20
-6
0
0
-50
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
65
0
0
0
0
0
0
52
0
0
0
0
0
0
-14
0
0
-1
-3
0
0
14
0
0
6
0
0
14
17
0
3
-20
9
0
-6
43
0
1
20
0
8
0
4
0
0
0
0
2
0
0
0
0
-10
0
0
0
60
0
0
0
2
-2
0
-89
0
0
0
0
0
0
-5
0
0
0
0
0
0
83
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-8
0
14
0
0
0
0
5
0
0
0
0
0
0
87
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
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
7
17
-36
1
10
3
-9
-3
-6
36
5
4
14
30
-7
27
53
-13
38
-1
-4
16
30
58
-19
34
14
65
3
38
42
12
-47
51
11
1
0
2
-12
-78
-22
1
-9
2
99
-22
1
-34
58
3
1
-51
-76
-48
22
15
0
4
17
123
-9
68
-1
17
1
16
0
0
-31
-1
-23
42
103
-29
-2
22
99
-12
8
43
-11
-15
11
80
1
-16
81
13
-34
33
42
33
-46
-13
-25
71
16
1
-47
10
38
2
-1
35
62
-13
-11
5
16
43
21
53
-23
4
46
55
46
35
-32
0
0
-24
-16
26
0
0
43
21
-1
-1
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
0
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
-47
0
0
0
0
0
1
57
0
0
0
0
0
2
-53
0
0
3
0
0
0
-8
0
0
5
0
0
0
5
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
-3
0
0
0
0
0
0
-1
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
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-18
-1
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
1
0
0
-1
31
0
0
0
0
0
-5
13
0
0
-1
0
0
0
-22
0
0
-2
0
0
0
-7
0
0
0
0
0
0
35
0
0
0
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
-29
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
6
1
-2
0
4
0
0
5
0
0
0
0
0
0
-62
0
0
3
0
0
-3
42
0
0
0
0
-2
-3
28
0
0
0
0
0
0
46
0
0
0
0
0
0
25
0
0
0
0
0
0
12
0
0
0
0
0
0
-31
0
0
0
0
0
0
-6
0
0
0
0
0
0
-106
0
0
0
0
0
0
6
0
-2
0
0
0
-1
-44
0
1
-13
0
0
-7
-17
0
10
0
-3
0
-1
10
0
0
0
0
0
0
-16
0
-2
0
0
0
0
-7
0
0
0
0
0
0
-38
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-1
0
0
0
25
0
0
10
0
0
0
20
0
0
-1
-2
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
3
0
20
0
0
-1
0
0
0
-35
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
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
16
26
0
0
18
0
0
29
-7
0
0
0
0
-21
-40
0
0
-23
-30
0
-157
-38
2
5
6
0
0
93
6
0
0
-10
17
0
49
-21
0
5
38
0
0
-1
-7
0
0
-36
-38
0
10
-11
0
0
-31
0
0
-2
42
2
0
-33
20
0
0
26
-1
-1
0
2
0
0
9
7
0
0
0
0
0
-12
0
-21
-2
0
0
33
21
0
2
32
0
0
-19
40
0
26
-16
0
0
-15
-60
1
10
1
-2
0
6
48
0
-62
46
0
0
0
42
0
0
9
2
0
0
10
0
45
3
0
0
0
-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
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
7
17
8
15
15
-7
50
0
-17
30
43
42
61
-53
3
9
-30
-16
21
5
3
33
-9
25
-29
36
64
24
-37
-1
32
71
3
10
44
-20
-5
-23
-29
9
20
95
-17
-14
-23
-46
-75
23
-37
-14
0
-32
-26
47
-21
-36
-25
0
5
-49
30
33
-11
-18
4
1
22
77
-107
17
24
-22
-17
-6
60
22
-7
17
1
-118
22
-40
-15
24
77
4
65
-41
49
-18
33
-9
9
23
-21
17
4
114
47
-5
-48
22
-8
42
48
21
10
-13
27
-36
-15
3
8
-16
-14
75
14
80
1
-5
0
-1
15
17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
5
0
20
1
0
14
3
21
4
-86
16
0
0
5
-2
0
5
14
0
10
-5
-57
-7
-58
2
-1
0
-12
0
-10
-25
26
-1
-5
14
-10
3
25
15
0
25
-19
0
3
1
35
0
-6
9
-10
-5
0
-18
0
0
0
0
4
-9
60
14
0
-3
-4
0
4
31
0
-37
-41
2
0
6
-32
0
-1
-15
33
0
53
-25
0
95
-5
0
0
5
-30
0
4
9
-4
0
1
8
-2
112
-10
-2
5
0
-21
0
1
43
-19
5
0
-14
0
-12
2
0
-5
0
-58
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
45
-7
0
0
0
0
-18
-71
4
0
-6
15
-2
-27
-37
0
0
45
0
4
82
-51
0
0
-26
44
-2
8
1
-2
0
66
0
4
-3
59
0
0
24
-21
2
6
27
0
0
-1
0
2
0
-43
0
4
4
-7
20
0
-6
-2
0
0
0
0
1
-18
-6
-9
1
0
0
2
-75
-7
0
5
0
0
-6
-5
0
-8
1
0
0
11
-70
-4
9
22
0
3
-21
-70
0
-9
18
-4
0
0
-1
0
5
-2
-1
0
1
45
0
0
-4
-4
2
0
-36
0
-6
-1
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
-22
0
0
11
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
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
31
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
8
-3
0
0
0
0
7
-22
0
0
36
0
2
-3
13
0
2
-1
0
-1
36
-14
0
-5
46
0
0
3
14
0
0
-19
0
-4
-3
-11
0
0
-1
1
-1
0
-20
0
0
4
0
-71
0
9
0
2
0
0
3
0
-15
1
0
0
0
0
0
85
7
0
0
0
0
0
70
0
1
13
0
0
4
4
0
0
4
0
0
-2
-19
0
5
1
0
0
0
46
0
-2
-1
0
0
0
107
0
33
5
0
0
0
76
0
0
-5
0
0
0
-18
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
34
0
0
-2
0
0
-7
-6
0
0
2
0
0
25
-15
0
-1
23
0
0
0
-54
0
0
-4
0
0
0
2
0
0
0
0
0
0
81
0
0
0
0
0
0
24
0
0
0
3
0
0
59
0
0
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
9
0
-2
-1
0
0
0
5
0
0
-1
0
0
0
-2
0
0
1
0
0
0
25
0
0
0
0
0
0
35
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
61
0
-9
0
0
0
4
86
0
0
-2
0
0
0
-23
0
0
20
0
0
0
53
0
0
3
0
0
0
27
0
0
-2
0
0
0
21
0
0
4
0
0
0
-1
0
0
0
0
0
0
-33
0
0
0
0
0
0
-68
0
-3
9
0
0
0
-18
0
-2
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
1
0
1
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
28
1
-62
33
68
-14
28
22
18
-8
7
69
48
32
5
14
96
2
-49
5
10
0
40
62
49
26
42
-63
6
-61
33
-22
30
24
-27
8
17
86
-19
65
19
-17
0
-39
29
2
11
13
3
-7
22
18
-42
-59
-15
-4
0
27
1
-35
-22
0
17
-34
0
25
4
49
-9
3
18
85
54
5
5
50
85
3
10
11
51
-9
-47
-2
-36
-7
32
-20
7
-17
45
-11
5
13
35
-49
-5
18
0
5
34
10
88
-9
42
8
45
8
-18
21
20
2
-1
-13
-2
-18
102
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
6
-43
3
13
17
2
0
68
41
0
14
5
3
0
65
-34
9
-6
-8
13
0
-35
-19
0
0
25
0
6
-6
31
4
9
58
57
0
-1
37
0
0
2
0
80
0
23
0
3
-1
-1
13
0
-44
0
0
0
0
1
0
15
-4
15
10
0
0
17
29
1
-17
17
0
0
11
74
0
0
10
-6
0
-1
19
1
47
-21
-6
5
8
25
-4
-6
-5
14
0
-3
58
0
1
22
-1
-3
-1
50
0
-3
1
16
-6
0
1
0
23
0
0
0
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
0
0
0
96
0
0
1
0
0
0
58
0
-3
2
0
0
0
-33
0
0
25
0
0
0
-30
0
0
0
0
0
0
-67
0
0
0
0
4
0
18
0
0
0
0
-15
0
-52
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
3
0
0
0
0
-16
0
0
0
0
0
0
29
0
1
1
0
0
0
-2
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
0
3
2
0
0
14
98
0
0
13
-1
0
0
3
0
0
5
0
0
0
74
0
0
-3
0
0
0
-50
0
0
0
0
-10
0
6
1
0
3
0
0
0
71
0
0
0
0
0
0
-65
15
0
0
0
0
0
-3
0
3
0
0
0
0
2
0
0
0
-3
0
0
29
0
1
0
0
0
0
18
0
0
0
0
0
0
50
0
0
0
0
0
0
3
0
-4
0
0
0
0
-12
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
-5
0
0
0
0
0
0
53
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
-9
0
0
0
0
0
0
-10
0
0
4
0
0
0
-4
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
-24
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
0
0
4
0
0
0
20
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
-32
4
0
3
-47
-6
13
59
83
0
0
40
-19
0
-49
19
3
3
-14
5
-5
1
-30
0
11
94
24
7
1
4
0
0
36
0
1
0
52
3
0
-3
58
-20
0
-5
11
-1
0
0
2
0
-30
5
3
-2
0
0
0
14
0
-58
73
-1
0
5
20
0
-6
69
-2
4
7
-48
-1
12
129
-1
0
-4
23
0
-6
101
-14
0
-5
12
0
45
17
2
4
-5
-28
0
0
2
14
0
0
22
0
19
0
0
2
0
24
-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
-37
46
2
-15
1
-20
121
17
8
4
-30
31
24
29
11
14
58
-89
33
49
-10
-26
-4
105
25
-25
31
6
-27
-7
5
96
26
15
19
13
-4
14
5
-14
-10
9
-5
4
17
-26
48
-10
39
-37
47
36
-53
-48
-29
27
-63
0
-34
-57
-2
-5
53
43
-10
-89
-12
-21
-65
5
15
6
-33
34
19
9
0
62
-15
-22
3
12
-26
-21
38
-1
-29
-14
16
-6
-5
-30
3
17
35
26
28
-15
47
10
-5
-53
23
-43
-5
-44
10
-20
-41
-55
49
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
68
0
0
-16
0
0
5
-40
0
1
-10
11
0
-2
-46
0
-4
32
1
0
0
-71
0
0
0
0
0
0
152
0
0
0
0
0
0
67
0
0
0
0
0
0
22
0
-1
0
0
0
0
-85
5
-4
0
0
0
-1
-50
0
18
0
0
0
0
73
0
0
10
0
0
0
89
0
-10
5
0
0
0
2
0
0
0
0
0
0
-62
0
0
0
0
0
0
4
0
0
0
-3
0
0
-1
0
5
0
0
0
0
-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
-35
37
0
0
51
0
3
20
63
0
0
54
-4
17
-13
40
0
8
23
0
7
-8
-30
0
0
6
24
-8
1
62
0
0
0
0
-8
0
84
2
0
0
-11
-4
0
-29
0
0
0
0
0
0
14
5
0
-8
0
0
4
55
0
14
2
0
0
1
-23
0
0
14
-4
0
17
40
-1
2
-1
0
-1
-6
20
0
0
0
-1
0
0
-6
9
0
-7
0
0
0
65
0
1
0
-1
0
0
53
0
2
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
5
-16
26
-76
-21
6
5
-47
36
15
-8
-82
4
-8
18
0
-22
-14
-1
20
-51
-16
-4
58
33
36
40
-11
106
9
0
-3
104
-6
48
6
6
0
7
-18
-13
8
47
12
-48
1
0
2
6
-1
-30
25
-2
-8
0
0
9
19
29
5
139
0
2
56
-88
2
26
69
-1
10
55
-42
9
-82
93
14
-26
26
-73
9
-5
46
39
81
4
30
0
-52
61
27
11
21
-44
0
-18
-67
14
26
-2
26
-6
-3
9
0
71
6
17
33
-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
34
18
2
0
7
0
0
107
-60
0
0
-34
-1
0
-52
40
0
3
-31
0
-1
-4
-16
0
0
33
0
0
-7
18
0
0
-14
0
0
0
47
0
0
0
-4
17
0
42
0
0
0
0
0
0
-10
9
1
0
0
0
11
9
0
77
-24
0
0
18
24
0
0
-1
0
0
8
-11
0
-1
14
0
0
3
26
0
4
-53
1
0
0
-11
0
72
0
0
0
0
-34
0
0
0
0
0
0
20
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
0
0
0
0
0
0
0
-4
50
0
0
2
0
0
0
47
0
2
0
-1
0
0
39
0
0
0
0
0
0
-36
0
0
0
0
0
0
-58
0
0
0
0
0
0
19
0
0
0
0
0
0
68
0
0
0
0
0
0
30
0
0
0
0
0
0
-13
0
9
0
0
0
0
53
0
0
1
0
0
0
30
0
0
0
0
0
-2
8
0
0
0
0
0
0
7
0
0
0
0
0
0
58
0
0
0
0
0
0
-10
0
-2
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-13
-37
37
107
1
-58
-27
-1
-5
3
9
-6
0
-19
-4
-15
87
-4
37
-14
31
0
-3
-62
0
25
0
2
0
-3
-25
10
-32
0
6
15
-6
0
0
-3
-1
16
-68
-1
-25
6
0
-3
-26
6
-2
14
-1
0
4
-12
0
99
-3
-8
0
0
-2
25
39
-30
10
-1
-3
11
-1
21
-33
30
3
0
-39
0
9
-6
0
0
0
33
-3
-8
25
15
0
0
57
3
56
-11
0
-10
0
33
40
-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
-66
-12
-74
-23
-37
54
28
-11
-18
80
-32
-1
-11
-42
-14
3
31
-38
32
22
-89
8
3
-44
2
-15
-1
3
98
-7
34
36
17
20
31
-14
5
16
-12
60
7
-54
16
40
-66
104
29
-50
-10
33
35
7
9
-13
-46
9
-5
0
-3
-58
-55
20
-25
-68
-23
23
21
-59
-8
-10
-74
0
94
41
-26
-15
3
-51
11
-76
5
38
104
160
-1
23
35
-23
-21
7
9
47
-7
5
1
-60
94
-12
-14
2
-17
89
-17
-78
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
71
-2
0
0
130
0
0
-5
0
0
0
80
0
-2
-1
0
0
0
13
0
0
0
0
0
0
-17
0
0
-3
0
0
0
-56
0
0
0
0
0
0
28
-1
0
0
0
0
0
104
0
0
-6
0
0
0
-43
0
0
-2
-1
0
0
27
0
-4
0
0
0
0
-54
0
1
-1
0
0
0
-58
0
-3
0
0
0
0
-6
0
0
0
0
0
0
24
0
0
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
19
-6
0
-6
-17
0
0
25
-43
0
-5
33
0
0
0
-15
0
0
2
-2
0
0
-44
0
4
-1
0
0
0
14
-1
0
0
0
2
0
2
0
0
0
0
0
0
-24
11
0
0
0
0
-2
33
0
-2
-2
0
0
0
-7
-1
1
16
-1
0
0
54
0
0
23
1
0
-5
54
0
-1
0
0
0
0
-59
0
3
21
0
0
0
126
0
0
1
0
0
0
55
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
4
16
-7
-15
-30
-8
-3
6
22
5
-34
30
-1
38
53
5
1
-9
3
-22
14
-74
20
0
3
35
6
12
-5
-19
5
-7
14
34
21
-1
3
-11
8
0
5
-5
-1
-2
109
2
-2
3
0
-3
-27
16
-60
63
0
-16
19
-14
-16
28
39
-5
-1
-17
25
5
32
61
0
10
53
-4
0
-5
42
27
10
41
32
1
46
-1
18
2
-20
15
8
-23
0
74
-10
0
14
0
-2
19
0
-36
0
44
-9
-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
5
0
0
0
0
0
0
-3
0
-5
5
0
0
0
26
0
0
0
0
0
0
-24
0
-5
0
0
0
0
-4
0
0
3
0
4
0
77
0
0
0
0
0
0
-2
-3
0
0
0
0
0
17
0
0
3
0
0
0
54
0
0
-15
0
0
1
-46
0
1
0
0
0
0
-14
0
0
0
0
0
0
0
0
9
0
0
0
0
-5
0
0
0
0
0
0
45
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
50
0
0
31
3
0
0
46
0
0
10
0
0
3
-11
0
0
9
0
0
2
-10
0
0
0
0
0
0
22
0
0
0
0
0
0
56
0
0
0
0
0
0
28
0
0
0
0
0
0
44
0
0
0
0
0
9
-23
0
0
0
0
0
0
41
0
3
0
0
0
1
71
0
0
1
-3
0
0
10
0
1
5
0
0
-3
-4
0
0
0
0
0
0
12
0
-5
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-78
-21
-1
-33
-1
0
15
70
131
-5
3
18
0
-2
37
6
-43
0
-36
0
26
-32
-72
32
0
-23
24
15
-2
0
-17
0
15
55
0
42
-1
3
-5
7
25
44
26
0
0
2
44
14
19
12
15
-11
8
-12
0
42
-25
5
0
0
64
11
-1
81
-17
0
0
53
-2
84
5
22
0
-1
5
1
6
-48
90
-2
0
53
0
-22
-33
0
56
6
90
-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
-21
6
-10
-19
7
-49
52
39
-3
-4
104
-18
-27
9
99
9
17
-12
54
0
66
-4
22
-46
-53
-8
47
0
0
8
-3
-38
-9
-3
-33
-11
15
-4
141
33
-27
-4
77
5
-6
-24
-16
-6
-8
24
36
10
25
62
-107
77
-61
0
-45
-8
-63
75
-33
-29
-15
7
20
13
27
-44
-40
1
-22
48
-6
47
-59
106
6
-19
-13
47
-35
0
29
15
-36
-22
10
36
-63
2
25
-43
-9
8
-104
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-1
91
0
0
-2
0
0
0
-20
0
0
0
0
0
0
-19
0
0
0
0
0
0
84
0
0
0
0
0
0
36
-1
0
1
0
0
0
-5
0
-1
-5
0
0
0
47
0
0
1
0
0
0
33
0
1
-1
0
0
0
33
0
0
0
0
0
0
-3
0
-1
0
0
0
0
138
0
0
0
0
0
0
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
9
-28
0
-1
0
0
0
8
-15
0
0
43
2
-3
0
-30
0
1
-8
0
-1
0
3
0
-2
-1
-1
-4
0
51
0
0
0
0
1
0
20
-3
0
0
0
0
0
6
4
24
0
0
-1
3
23
-3
0
11
5
-2
-4
16
-1
5
4
2
11
0
-47
7
-4
6
-4
-4
-1
72
0
9
41
2
0
0
-23
0
-1
-1
0
0
0
82
0
-5
0
3
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
0
0
0
0
0
102
13
0
-32
-17
43
-32
51
11
-8
-29
64
23
75
33
25
1
0
44
-1
10
77
4
8
55
48
2
17
0
19
53
-1
-5
0
30
1
-10
-59
0
2
6
3
76
73
9
31
0
1
-2
29
-8
-16
4
102
79
-7
46
25
9
29
-16
-6
1
2
14
9
14
-55
40
6
7
26
9
60
-27
0
-6
-1
-1
-7
33
14
-39
17
18
21
0
-32
-4
-4
23
0
61
14
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-61
0
-5
-41
-13
21
1
-15
0
1
-4
13
6
10
-8
0
0
24
0
-50
0
2
0
-13
-3
0
-35
0
31
-2
0
0
0
0
0
-18
23
0
-4
0
0
-10
-77
0
147
26
0
0
3
-60
0
3
-53
5
0
15
42
0
17
-71
0
0
32
7
0
-4
100
0
0
0
16
0
38
60
0
0
0
28
0
5
10
0
0
0
18
0
65
0
0
6
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
-37
0
0
-3
0
0
-3
33
0
0
-1
-2
0
6
16
0
11
0
0
0
0
60
0
0
0
0
0
0
64
0
0
0
0
0
0
-33
0
0
0
0
0
0
-14
0
17
-13
0
0
0
35
0
0
2
-1
0
-10
77
0
-18
5
0
0
0
-51
0
0
1
10
0
0
-5
0
0
-9
0
0
0
2
0
0
0
15
0
0
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
17
-1
-1
-48
0
0
80
0
34
0
83
0
-5
0
8
-12
0
1
1
0
0
0
-14
0
-17
1
-3
-1
0
0
14
21
0
-35
53
0
0
2
2
0
-3
-5
5
0
17
-34
0
8
20
0
0
0
22
0
-19
-18
-24
14
0
-52
0
-2
-3
0
0
0
-31
0
0
30
22
0
0
-21
0
-6
-1
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-21
-25
-39
-34
-6
1
-41
-16
-16
-10
-6
11
-2
17
-18
41
-7
-40
-7
4
29
8
13
16
-12
7
-8
30
21
26
-33
-43
2
4
-57
46
18
-51
97
-62
-2
-69
37
-56
12
5
80
-4
-72
4
63
25
97
-62
0
30
40
90
46
-11
56
9
31
-15
-49
-47
-45
17
7
-27
-39
7
-13
-16
63
-2
-5
22
53
10
70
8
25
6
88
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
36
0
0
0
0
0
0
14
0
0
0
0
0
0
55
0
0
0
0
0
0
-5
0
0
0
0
0
0
36
0
-3
-3
0
0
0
52
0
0
-5
0
0
0
22
0
-1
11
0
0
0
11
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
57
0
0
13
3
0
0
-12
0
0
0
0
-17
0
12
0
0
1
0
-3
0
69
0
0
0
0
0
0
-7
-4
0
0
0
0
4
-83
0
10
2
0
0
-1
-53
0
0
0
-1
0
5
33
0
-5
4
0
0
-6
-14
0
0
0
0
0
0
-3
0
6
1
-5
0
0
47
0
1
-5
0
1
0
56
0
-17
0
0
8
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
3
2
1
-5
46
37
-10
-18
4
1
0
2
-7
-11
0
-15
2
8
-6
11
89
3
-7
-41
0
0
5
6
-18
-14
-13
-2
43
-1
0
98
-36
20
-65
-9
0
-2
-29
-18
27
-25
80
46
0
49
6
0
26
17
6
0
-20
29
1
71
-15
34
0
2
30
-3
19
-17
0
-8
-27
1
-1
-33
-2
-4
9
1
10
0
-28
0
1
6
0
-19
-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
-45
0
-4
-25
9
0
0
34
0
0
1
0
0
0
-1
0
2
-2
0
-7
0
35
0
0
0
0
0
0
36
0
0
-2
0
0
0
32
2
8
0
0
0
0
108
0
0
0
0
0
-1
23
-3
-1
-2
0
0
-4
82
0
0
0
5
0
0
5
0
-16
-1
0
0
0
1
0
-7
0
0
0
0
-44
0
-4
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
2
0
-5
-9
0
0
0
0
0
0
-50
0
0
0
-4
0
0
50
0
0
0
0
0
0
33
0
0
0
0
0
0
32
0
1
-5
0
0
-6
-4
0
-9
-1
4
0
0
-68
0
1
-15
0
0
0
45
0
-1
44
0
0
0
-2
0
-30
-1
0
0
0
-15
0
0
0
5
0
0
3
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
5
0
0
-6
0
0
-1
-3
69
0
11
-7
0
0
0
0
0
4
1
0
0
0
0
0
-2
0
-7
-11
3
0
0
24
0
0
4
0
0
0
-7
0
14
4
0
0
5
-1
0
-6
-17
-6
0
0
13
0
-1
17
0
0
0
-1
0
0
0
-2
0
0
86
0
13
-5
3
-7
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
-3
8
0
11
17
-3
51
-21
-6
47
14
26
39
-43
5
-4
-17
1
-4
-7
-74
-24
-6
44
-31
0
18
-1
46
-4
-12
-26
29
-5
20
31
26
5
-33
-19
5
-8
80
10
22
8
106
-2
35
-16
-24
25
59
34
-11
43
47
0
24
-17
49
96
0
-29
-34
-6
57
-37
38
50
-20
19
-4
-51
69
10
-57
-2
49
-58
46
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
15
0
0
0
0
0
0
-32
0
0
0
0
-4
0
15
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
-4
0
0
0
0
16
0
0
0
0
0
0
18
0
0
-3
0
0
0
11
0
-1
0
0
0
0
-2
0
0
0
0
0
0
43
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
40
0
0
-1
0
0
0
6
0
0
4
0
4
0
74
2
0
0
0
0
0
25
0
0
1
0
0
0
-70
0
-8
-1
4
0
-1
53
0
0
-3
-4
0
3
-41
0
2
6
0
0
0
-6
0
0
4
-6
3
0
37
0
-1
-2
7
0
1
17
0
0
3
0
0
0
52
0
18
0
0
0
0
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
32
24
0
2
1
21
-19
2
-34
0
-3
0
-24
57
0
35
-16
0
0
1
2
0
-4
51
-3
1
-1
0
-11
-87
-1
68
19
0
0
-30
95
0
23
-4
-23
0
26
-34
-3
-22
64
0
1
-18
30
6
33
-14
5
0
-4
-40
-3
-21
19
-2
0
1
131
0
-9
62
4
-4
0
33
0
-68
1
1
10
0
24
23
-18
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
23
-5
38
2
-4
25
0
54
0
16
3
4
0
0
-2
0
90
5
0
-2
0
0
5
12
-1
-4
20
0
0
-7
60
0
3
-14
0
-1
53
-45
0
61
31
0
0
33
29
0
1
4
1
0
15
50
0
135
96
0
0
2
75
0
0
44
0
-3
0
-6
0
-5
4
0
82
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
47
0
0
-8
0
0
0
-20
0
0
-4
7
0
0
-5
0
0
0
0
0
0
14
0
0
0
0
0
0
78
0
-5
2
0
0
-1
103
0
0
-11
0
0
13
14
0
-20
6
0
0
6
-18
0
1
-6
0
0
4
109
0
7
6
0
0
0
-13
0
2
0
0
0
0
33
0
-15
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-21
0
21
6
0
0
0
0
0
15
0
0
0
0
0
1
60
0
15
-4
0
0
2
11
0
0
-4
-7
0
0
37
0
0
-13
0
0
0
-23
0
0
-11
5
0
0
-107
0
111
0
0
0
0
54
0
-7
-3
6
0
0
-43
0
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-41
-27
-71
-88
0
-4
-1
3
29
9
1
-7
0
-26
13
-46
-70
-54
-41
43
-5
-25
-96
-70
46
-49
-8
4
4
58
1
-21
-6
-7
13
14
85
-4
1
100
7
23
-8
29
14
-41
-7
-78
45
0
-39
9
44
20
-21
26
0
-8
11
113
-18
3
2
-2
23
1
45
0
72
0
13
-1
-50
25
-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
0
0
0
0
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
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
17
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
-5
0
0
0
1
0
0
8
0
0
0
0
0
0
9
0
0
1
0
0
0
-71
0
0
13
-1
0
0
31
0
0
-4
-1
0
0
-58
0
-3
0
0
0
0
15
0
-3
0
0
0
0
9
0
-8
27
0
0
0
-90
0
0
0
0
2
0
11
0
2
0
0
1
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
4
0
-16
16
0
-30
16
-1
0
4
0
0
-78
11
0
8
1
0
-5
7
0
24
-5
0
0
-1
5
0
5
2
11
0
11
17
0
-19
0
0
0
14
52
-1
6
-17
2
0
5
56
0
68
5
0
0
0
4
0
1
0
-7
0
0
16
-1
-3
0
0
-3
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
5
0
0
0
0
0
0
32
-1
0
0
0
0
0
-22
0
0
0
0
0
0
-10
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
1
0
0
0
-9
1
0
0
4
0
0
0
-7
0
0
0
0
0
3
107
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
33
0
0
-48
0
0
0
0
0
0
40
0
0
2
0
0
-4
32
0
3
6
0
0
-5
1
0
0
28
0
0
0
21
0
32
-23
0
0
0
39
0
0
16
0
0
10
-12
0
10
36
0
0
0
-32
0
0
92
6
0
0
-1
0
-15
0
0
0
0
-62
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
-50
0
0
0
0
0
0
-22
0
0
-1
0
0
0
-4
0
0
0
0
0
0
30
0
0
0
0
0
0
-18
0
0
0
0
0
0
8
0
-8
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
19
-24
-4
-5
0
24
10
-5
10
-2
7
30
-14
-22
25
-17
1
-8
42
9
34
-33
48
118
24
36
17
11
14
-46
-43
-26
-9
11
-5
-97
28
16
10
-27
-9
-22
27
15
-39
73
-16
-8
13
71
-39
66
-5
22
0
5
-27
34
0
-2
0
0
-17
14
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
19
0
0
0
0
0
0
5
2
0
0
0
0
0
-2
0
0
-1
0
0
0
15
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
-11
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-10
0
0
0
0
0
-4
0
9
14
0
0
3
28
0
0
0
0
0
0
-19
0
10
0
0
0
0
65
0
0
5
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
43
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
31
6
0
0
-4
0
0
-48
0
0
0
0
0
0
3
2
0
-6
0
0
46
30
0
1
-5
0
0
-1
44
0
1
8
-2
0
0
-15
0
0
0
-5
0
0
6
-1
15
0
0
0
-5
95
0
1
0
0
0
0
-44
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
134
2
0
0
0
0
-5
-42
0
-1
49
0
0
3
-23
0
0
-5
0
0
-11
24
0
-2
0
0
0
-7
2
-4
2
1
0
0
2
-19
2
52
5
0
-9
0
87
0
2
-1
-1
0
0
15
0
18
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
-5
0
0
50
33
0
4
0
0
14
6
0
-10
-1
-3
0
-17
31
0
-2
39
15
0
-49
8
0
-3
-7
0
0
60
-62
0
-3
-8
67
0
1
23
0
-21
-50
0
0
3
-55
0
0
-39
-10
0
0
-5
0
-4
44
0
0
0
23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
21
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
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
90
-9
-32
77
-30
-18
6
-30
-27
152
40
28
-80
10
39
15
-38
66
-26
15
-31
62
21
-80
-3
5
-13
51
-5
14
-3
-20
-23
-16
41
-6
-34
2
23
-29
-104
-5
34
9
-4
91
-29
-25
-25
13
-1
5
19
-2
15
51
4
0
-5
-59
-13
-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
-2
5
0
0
0
0
0
38
0
-11
2
0
0
-1
24
0
0
-8
0
0
0
27
0
3
5
0
0
1
-77
0
0
0
0
0
0
-11
0
4
0
0
0
2
-68
0
0
5
0
0
0
23
0
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
4
0
0
0
34
0
0
0
0
0
0
6
0
0
0
0
0
0
25
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
-25
0
0
0
0
0
0
35
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
0
0
7
0
0
0
-14
0
0
9
0
0
0
-3
0
0
9
0
0
0
19
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
-78
0
-11
0
0
0
0
82
0
0
-7
0
0
0
-42
0
13
0
0
0
0
-18
0
0
2
0
0
0
-47
0
19
0
0
0
0
-27
0
0
3
-1
0
0
15
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
31
0
-3
0
0
0
0
-23
0
0
0
0
0
0
5
0
0
7
0
0
0
3
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
25
-35
0
-4
-11
21
35
96
90
19
8
53
7
0
42
14
53
44
41
-34
0
-18
1
55
-31
-5
-19
-23
0
1
-13
2
26
31
0
2
52
81
-7
-15
1
0
43
10
-1
49
0
-3
25
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
10
45
0
0
-9
-42
-10
21
-5
0
0
32
3
6
-60
-32
0
-1
0
-26
4
0
-10
3
0
4
-34
0
-1
0
0
0
0
33
0
0
5
7
-6
0
6
0
18
0
0
0
0
79
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
8
23
0
0
-10
0
0
0
-33
0
13
1
0
0
0
-2
0
0
0
0
0
0
4
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
3
-46
0
-6
0
-1
0
0
-9
0
0
-4
0
0
0
-22
0
3
-13
0
0
0
14
-1
0
0
-1
0
0
27
0
-1
0
0
0
0
-61
0
36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-25
0
0
0
0
0
0
32
0
-4
0
0
0
0
-4
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
-6
0
1
-33
7
0
-2
23
0
-45
8
0
0
-1
-63
0
0
-32
0
3
4
19
0
33
-4
0
0
0
2
0
2
0
2
0
0
93
0
11
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
52
12
13
67
5
35
-35
63
-13
31
46
128
-9
13
-100
14
11
-44
12
-17
57
58
-13
2
-32
16
32
45
7
-53
0
-32
-89
31
-10
-2
7
1
7
-49
-1
3
27
-7
33
-18
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
47
0
3
-4
0
0
0
22
0
-2
4
0
0
0
-8
0
0
1
0
0
0
19
0
1
0
0
0
0
76
0
0
0
0
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-38
-3
-13
-30
20
0
55
-38
1
4
68
-3
0
13
15
4
0
-15
-22
2
35
6
0
34
36
-4
0
-2
-39
0
1
41
-44
3
0
-3
0
41
-5
3
-7
0
-41
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
19
-2
-5
-23
-2
-15
-13
26
0
-17
0
0
2
-3
-120
1
-10
14
34
-11
6
-71
0
7
43
2
-1
3
-35
0
1
8
2
3
0
5
0
45
1
0
-3
0
24
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
-3
0
0
0
24
0
0
3
0
0
0
-5
0
0
0
0
0
0
20
0
0
0
0
0
0
-29
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
43
0
17
26
0
0
0
-43
0
-4
-63
-1
0
0
-120
0
14
1
0
0
0
-25
0
0
-4
-3
0
0
-17
0
-8
0
0
7
0
-53
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-34
-29
34
64
43
19
11
-32
46
4
63
151
-23
-1
5
46
19
-45
-24
10
3
-46
46
35
-90
-1
10
0
68
-6
-4
65
22
0
26
13
11
53
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
19
0
-7
-7
0
0
0
-1
0
2
0
0
0
0
-5
0
0
0
0
0
0
103
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
21
-5
0
0
0
-17
0
0
79
-16
0
0
56
0
4
0
0
0
0
-47
0
0
4
1
0
0
-70
0
3
0
0
-6
0
57
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
-74
-3
6
1
10
0
9
53
-5
-6
24
63
0
-2
31
0
0
-5
-13
0
2
13
-2
-9
0
73
0
-24
11
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
13
0
0
1
64
0
0
-2
0
0
0
65
0
18
-5
0
0
-3
32
0
-1
0
0
0
0
-47
0
-3
0
0
0
0
157
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
0
0
0
0
-9
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
58
0
-1
15
5
-2
0
-72
0
33
-7
0
0
0
-33
0
0
-1
8
0
0
36
0
25
0
0
1
0
-27
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
13
29
-52
22
43
-54
36
-106
31
-3
4
19
-5
33
-8
-10
-7
17
53
17
44
16
-17
29
46
-31
-14
62
-1
-25
8
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
91
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
-19
0
-3
8
-4
0
-14
15
0
54
24
-3
0
0
-26
0
0
32
21
0
0
-1
0
4
0
13
16
5
53
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
25
0
-2
-3
-29
0
0
-34
0
-49
-6
2
0
2
-29
0
6
-1
3
0
6
32
0
38
0
0
7
0
36
-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
-37
0
0
3
0
0
0
-20
0
5
0
0
0
0
30
0
0
0
0
0
0
-4
0
-5
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
-5
0
0
0
4
0
0
-27
0
-10
0
0
0
0
10
0
-1
0
0
0
0
-53
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
14
0
1
0
30
0
0
0
5
0
0
83
0
-14
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-2
-32
77
13
2
-13
2
25
20
-14
2
27
-6
18
-1
-14
-14
0
25
6
19
-17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
0
10
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
79
0
18
13
0
0
-3
-55
0
0
1
0
0
0
-23
0
-6
0
0
0
0
-17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
88
1
-13
0
-4
-1
-2
15
0
0
0
-18
0
0
37
0
-3
8
0
31
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-21
-18
0
0
0
16
0
3
-8
0
0
0
-14
0
3
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
-25
0
-3
7
0
0
0
26
0
0
0
0
0
0
-30
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
23
0
0
0
-1
0
0
-99
0
18
1
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
90
-2
14
-14
-15
-6
-6
-2
26
1
7
-1
-24
36
-22
-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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-86
8
2
71
-5
13
0
-50
9
25
0
0
6
-1
79
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
71
0
0
6
43
-2
0
-32
0
25
0
0
-2
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
-18
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
13
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
5
-2
-51
5
59
49
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
12
19
-4
-5
-34
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
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
-4
0
0
0
0
0
0
0
0
3
0
17
0
0
0
0
0
0
0
0
0
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
28
0
0
0
0
0
0
-2
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
16
0
0
0
-2
0
0
0
0
0
0
15
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
83
0
0
0
0
0
0
0
0
0
0
0
0
24
31
0
0
-11
0
0
0
62
0
0
-10
0
0
-3
-86
0
0
0
0
0
0
1
0
-45
0
0
0
0
-11
0
0
0
0
-3
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
0
0
0
-9
0
0
11
0
0
0
-7
0
0
14
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
-51
0
0
0
0
0
0
35
0
0
0
-2
0
0
-130
0
0
0
0
0
0
0
5
0
0
0
0
0
-2
0
4
-9
0
0
0
33
0
0
3
0
0
0
11
0
0
0
0
0
0
10
0
0
1
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
-41
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
-9
-19
-46
2
-15
-14
-6
-23
-39
84
27
3
-17
13
5
-4
29
32
4
28
6
10
-5
-56
62
-51
-27
8
3
-15
25
-24
24
-47
27
12
6
-72
-78
-7
14
-39
33
-42
-7
-5
35
2
15
0
127
-9
-27
25
47
101
15
-6
43
62
57
-41
-1
15
-12
34
71
-4
-6
19
7
-5
25
14
30
-33
-33
7
34
2
-8
7
38
-15
-4
4
59
20
13
33
5
-4
1
104
69
2
21
7
-28
14
29
5
20
-21
19
5
-13
21
-29
4
13
9
-19
27
-19
-27
-14
73
-21
-20
-13
9
-21
9
-7
5
6
-10
-41
18
45
4
-53
0
0
0
0
0
0
0
22
10
25
-14
42
37
-19
2
-9
-24
-1
13
9
1
-24
7
12
-5
-4
8
94
-26
-8
21
10
-6
19
-22
25
-11
27
-33
51
-32
-53
-3
7
-12
2
-8
-16
49
-9
8
-15
20
-7
53
66
42
7
1
60
-40
-21
32
-1
0
33
15
21
31
-27
26
11
5
-5
10
1
25
16
10
-31
-5
24
-55
17
46
1
-20
33
5
10
24
-42
0
-23
85
13
44
47
62
8
62
90
-20
-19
10
54
2
-67
-10
42
-26
-30
-54
9
-27
1
-9
-23
-18
-25
19
53
28
-53
5
27
-9
-9
-14
-13
52
-5
55
-1
8
-17
20
-15
45
-4
46
-16
-52
-3
-13
-41
21
-18
0
16
14
-15
-34
67
22
-15
62
52
40
24
-10
6
13
15
-5
-22
-5
-35
-26
-20
-81
-7
22
-16
-83
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
9
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
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
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-19
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
25
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-9
-8
0
0
2
0
0
0
11
0
0
0
0
0
0
23
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
-17
0
0
0
0
0
0
-4
0
0
1
0
0
0
45
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
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
-16
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
21
0
0
0
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
10
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
-6
0
0
0
0
0
19
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-10
0
0
-22
0
0
0
-6
0
0
-5
0
0
0
-3
0
0
96
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
-11
0
0
0
0
0
-38
0
0
5
0
0
0
0
0
0
0
0
0
74
-7
0
0
-3
0
0
-6
-9
0
0
3
0
0
-14
2
0
0
21
0
0
0
5
0
-32
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
9
0
0
0
0
0
0
58
0
0
-3
0
0
8
76
0
0
-5
0
0
-2
-29
0
0
5
0
0
0
9
0
0
-9
0
0
0
28
0
0
-7
0
0
0
-3
0
0
0
0
0
0
-14
0
0
0
0
0
0
9
10
0
0
0
0
0
-27
0
16
0
0
0
0
-31
0
0
3
0
0
0
64
0
-2
0
0
0
0
88
0
1
0
0
0
0
25
0
0
0
0
0
0
37
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
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
45
0
0
0
0
0
43
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
21
-1
0
-43
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
11
0
0
0
-3
0
11
1
0
0
0
0
0
53
0
0
-5
0
0
0
0
0
0
0
0
0
-12
45
0
0
5
0
0
0
-2
0
0
1
0
0
0
19
0
0
-2
0
0
0
55
0
0
-8
0
0
0
23
0
0
0
0
0
0
63
0
0
0
0
0
0
22
0
0
2
0
0
0
20
0
0
-15
0
0
0
22
0
3
46
0
0
23
-17
0
0
5
0
0
0
53
0
0
-9
0
0
1
31
0
0
11
0
0
0
24
0
0
0
0
0
0
-43
0
0
-4
0
0
0
33
0
0
0
0
0
0
1
2
0
0
0
0
0
-2
0
20
0
0
0
0
41
0
0
0
0
0
0
53
0
-1
-8
0
0
0
1
0
-1
4
-7
0
0
-15
0
1
2
1
0
0
16
0
0
0
0
0
0
32
0
-11
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
-109
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
-28
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
-11
0
0
4
0
0
2
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
3
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
9
0
0
0
0
0
0
-18
0
0
2
0
0
0
-4
0
0
1
0
0
0
3
0
0
0
0
0
0
-29
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
2
0
0
0
0
-1
0
0
0
0
0
0
21
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
-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
0
0
0
36
0
0
-1
0
0
13
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
61
0
0
2
0
0
0
6
0
0
60
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
21
0
0
-1
0
0
0
0
0
-11
0
0
0
0
0
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
-16
-14
0
0
101
0
0
0
3
0
0
7
0
0
7
-1
0
0
0
0
0
0
8
0
35
0
0
0
0
-12
0
0
0
0
-4
0
88
0
0
0
0
0
0
41
7
0
0
0
0
-17
30
0
17
0
0
0
0
51
0
0
0
0
0
0
89
0
0
-6
0
0
0
25
0
0
-15
0
0
0
59
0
0
-4
0
0
0
-32
0
0
-4
0
0
0
-5
0
0
0
0
1
0
28
0
0
0
0
0
0
43
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
19
0
8
0
0
0
0
44
0
0
0
1
0
0
-13
0
0
0
0
0
0
23
0
0
0
0
0
0
-17
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
26
30
17
1
33
-18
8
40
118
39
-25
98
-15
43
-9
59
58
14
34
-29
50
-4
83
22
-24
-33
18
37
-85
47
-32
-3
-81
-32
31
-14
-41
32
-5
14
2
54
0
40
4
1
2
22
-69
21
2
5
29
72
38
-58
0
38
30
-9
-31
-61
20
-5
-2
6
-52
-3
-10
3
-17
29
3
77
-6
28
35
17
15
81
-33
39
25
-23
9
-4
60
32
-27
-61
19
-26
-8
30
5
-47
-7
26
-57
-16
25
-5
-1
21
1
-11
17
-43
-5
-29
-60
-6
-4
3
63
19
-67
-65
-2
44
38
53
-42
33
25
-30
0
0
0
0
0
0
0
-13
24
21
73
-27
59
-1
8
2
14
16
5
5
-32
11
2
26
-3
-24
9
63
17
-13
52
28
-43
17
-21
39
10
53
20
-12
0
-41
11
16
11
-6
-9
59
24
-14
-9
-22
20
54
1
-3
15
-7
-22
-3
-8
-4
-24
4
9
1
-126
-9
-27
1
4
-15
-37
10
3
5
-8
7
8
3
9
-18
-50
18
22
-20
-27
48
-41
-13
-6
21
6
-6
45
3
61
-51
48
9
61
-5
19
36
24
-10
13
-43
61
-5
6
-9
-14
7
48
34
3
-31
-7
-48
-6
32
2
-23
11
6
-64
8
34
58
59
-32
47
23
-29
-30
-35
-5
-11
-14
38
-5
16
-17
-33
-51
62
58
9
-38
38
-8
-41
-1
-29
-4
66
19
-18
56
9
-48
-15
71
26
14
-40
60
-1
-2
31
-52
85
72
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
31
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
-41
0
0
0
0
0
-13
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-6
0
0
0
18
0
0
0
-2
0
0
7
1
0
0
3
-2
0
4
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
18
0
0
-1
0
0
0
0
0
-30
0
0
0
0
0
2
-22
0
0
-1
0
0
0
0
0
0
0
0
0
-4
52
0
0
3
0
0
0
31
0
0
2
0
0
0
-18
0
0
0
0
0
0
9
0
3
0
1
0
0
-52
0
0
0
0
0
0
71
0
0
0
0
0
0
61
2
0
0
0
0
3
33
0
0
0
0
0
-1
-2
0
0
0
0
0
0
-31
0
-5
5
0
0
1
10
0
0
-8
0
0
0
-22
0
-3
0
9
0
-2
4
0
0
6
0
0
0
5
0
0
6
0
7
0
33
0
0
0
0
0
0
11
0
0
0
0
0
2
-14
0
-1
0
0
0
0
-10
0
3
0
0
0
0
14
0
-4
7
0
0
0
-2
0
-9
4
0
0
0
-9
0
1
0
0
0
0
-14
0
0
0
0
0
0
-17
0
-2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-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
-9
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
-11
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
-9
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
9
-3
0
0
4
0
-5
5
0
0
0
0
10
0
0
0
0
-2
0
26
0
-2
0
0
0
-3
0
0
0
0
0
-29
0
0
-1
-35
-3
0
37
0
0
0
-16
-6
0
14
-8
0
-3
23
0
0
-41
-11
0
11
14
-3
0
-49
-9
0
0
10
0
0
-19
14
0
0
1
47
-1
0
0
-19
0
0
0
0
0
-17
16
10
6
0
0
6
12
3
2
33
-3
0
0
0
0
0
0
0
0
-20
-53
0
34
15
-5
0
-8
-21
0
-1
7
30
0
49
34
2
0
21
0
0
32
-4
0
-27
-11
37
0
0
-19
0
-3
6
4
0
0
41
59
-17
0
3
0
0
20
23
5
0
10
0
3
63
4
-14
-17
-5
0
22
-27
0
16
26
0
0
101
18
0
-7
102
-2
0
25
59
0
-14
116
0
0
-25
40
0
-3
58
3
0
17
6
0
0
-4
0
0
8
-50
0
-7
0
10
0
0
39
0
0
0
0
0
0
-59
30
0
0
0
0
-4
14
3
-59
-6
0
0
-45
22
0
17
97
0
0
5
-50
0
76
14
0
0
4
-39
0
57
10
7
0
-1
-16
-8
-6
-17
0
0
2
3
0
2
-15
0
0
0
10
0
-18
0
0
0
0
73
-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
-14
-1
7
16
-17
0
-1
-2
41
25
5
-5
-5
5
26
-1
-2
1
0
0
-4
-4
19
-2
0
0
4
-4
0
-7
0
-7
-5
0
-5
0
0
-30
0
-5
0
4
-1
-3
114
-3
1
0
0
3
-24
9
0
78
37
-4
48
2
-6
0
6
7
-8
-53
73
24
59
72
23
37
52
10
-14
0
37
0
-11
-31
36
0
3
-17
3
16
-73
-5
0
0
20
-10
0
0
-16
0
0
0
-23
-33
0
0
42
0
0
0
43
0
46
11
29
0
-1
0
14
26
0
0
12
8
0
0
0
0
0
0
0
0
-27
-22
-3
5
80
4
2
87
15
9
0
43
5
-2
-53
-20
0
8
14
0
-5
0
-26
0
-23
-3
21
0
6
-14
0
-1
1
0
13
0
4
69
25
0
0
0
0
-23
-3
0
-4
0
0
-3
-31
-10
-9
-43
2
0
-47
-12
0
7
-4
-1
0
70
-24
0
-14
-25
11
0
53
5
-6
0
99
-5
4
1
-19
-15
2
-5
-20
-3
2
-8
-11
32
13
0
4
10
-29
0
0
17
18
-13
0
-28
0
1
0
4
4
0
13
-26
-4
10
0
0
14
112
14
60
-22
5
0
-5
120
0
-1
169
5
0
14
-53
3
29
46
19
-7
-3
20
-2
-8
28
77
10
0
44
1
-94
-13
0
1
0
-44
7
-3
5
-9
-1
0
12
0
-8
-1
1
1
0
48
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
-3
0
1
0
1
5
0
11
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-33
0
0
-2
0
0
41
0
0
0
0
0
7
23
0
0
0
0
0
0
0
0
0
8
1
29
0
0
8
-1
0
0
0
0
11
0
4
0
0
-3
4
0
0
-9
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
-9
0
-1
0
5
0
0
0
0
-29
0
0
2
0
0
0
0
0
0
0
0
0
34
93
0
-10
24
2
0
-2
6
0
2
-4
0
0
2
5
0
0
6
0
0
0
19
0
62
0
-1
0
0
42
6
0
0
0
0
0
61
3
0
0
0
0
0
23
0
0
0
0
0
0
-9
0
0
13
-4
0
4
0
0
0
-56
0
0
14
-51
-1
0
-5
0
0
2
21
0
0
-1
0
1
0
-34
0
0
-2
0
2
-5
71
0
0
-2
2
-4
0
-14
0
0
0
0
0
0
18
0
0
0
0
0
0
67
0
0
0
0
0
0
2
0
3
-1
0
0
1
0
0
0
2
0
0
0
77
0
3
-2
0
0
3
5
0
0
10
4
0
0
-15
0
-1
0
0
0
0
13
0
5
-1
1
0
0
-9
0
24
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
-6
0
0
0
11
0
0
7
0
0
0
2
2
0
10
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
74
0
0
-1
0
0
24
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
-2
0
0
16
0
0
0
11
0
0
9
-1
0
0
39
0
0
2
1
0
0
0
0
0
6
0
0
0
-1
0
13
0
1
0
0
13
0
0
0
-3
0
0
0
4
-7
0
0
0
0
0
0
0
0
46
1
3
0
0
0
2
44
0
0
-1
0
0
0
0
0
0
0
0
0
2
58
0
0
1
0
0
1
-33
0
0
3
0
0
-5
30
0
0
0
0
0
0
4
0
10
0
-6
0
-1
44
0
0
0
0
0
0
53
0
-3
0
0
0
0
64
0
0
0
0
0
0
18
0
0
4
0
0
0
-12
0
0
-6
0
0
0
-16
0
3
4
0
0
-1
8
0
0
-4
0
0
0
-1
0
5
-5
-9
0
0
66
0
0
0
0
0
0
-7
0
0
2
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
2
0
0
0
0
11
0
0
-2
0
0
0
27
0
-3
0
0
0
0
-33
0
0
0
0
0
0
-6
0
3
-1
0
0
0
-2
0
8
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
-43
1
0
5
-24
0
2
2
2
0
1
0
0
0
14
0
1
0
-1
0
0
2
0
0
0
-8
0
-1
0
0
0
-17
1
0
2
0
0
-30
0
0
0
0
2
-4
2
0
0
0
2
1
-3
0
-1
3
4
-2
55
-1
0
0
66
0
0
-10
10
0
-1
16
-6
-4
49
-1
-2
0
-1
0
-1
2
-6
0
-2
31
-3
6
-1
0
5
0
1
0
14
0
34
0
0
0
0
52
0
0
-5
0
0
-1
-2
4
-34
3
-2
-1
0
0
-2
-65
0
0
25
0
0
0
0
0
0
0
0
0
-47
-70
2
0
0
0
0
13
60
0
0
4
0
0
6
6
0
0
39
-1
0
0
-33
0
53
8
-5
0
0
14
0
0
1
0
0
0
-25
-7
9
0
0
0
0
2
0
0
0
0
0
0
-20
3
0
0
7
0
5
64
0
0
9
0
0
27
5
18
1
0
-4
0
5
14
0
0
-3
0
0
-3
53
0
0
-31
3
-3
2
-86
0
0
-2
5
1
0
-19
0
0
3
16
0
0
44
0
0
0
0
0
-3
21
1
0
0
0
0
0
80
5
22
18
0
0
-1
26
0
-2
8
2
0
2
15
-1
11
23
0
0
0
26
0
0
0
1
7
0
15
0
21
5
0
0
0
62
0
0
-7
3
0
0
40
0
-3
-4
0
0
0
-30
0
0
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
9
-5
0
2
-3
-5
0
-5
-2
-14
2
0
21
43
0
0
0
-1
-4
5
3
0
0
21
0
-1
0
-2
0
-6
0
0
14
0
0
4
1
0
0
0
0
2
-38
0
0
0
0
11
0
0
-2
-39
-19
0
26
-4
0
5
31
1
13
-26
27
16
-18
35
49
16
-70
49
0
0
46
4
-5
-29
-3
-1
0
-26
2
45
12
31
0
0
-47
0
0
-3
5
0
0
1
49
-8
0
1
-25
0
0
0
-4
0
23
1
59
-3
-19
0
36
16
0
0
-32
0
0
0
0
0
0
0
0
0
-33
-14
0
48
45
-8
-1
25
-32
-1
6
79
5
0
-40
-43
0
0
16
0
0
66
-9
0
21
3
18
0
3
-21
-2
-3
1
-7
26
0
27
17
-48
0
32
0
0
13
-10
0
0
26
0
35
-6
27
-10
14
-15
-14
-11
1
-11
9
18
-3
-5
94
48
5
-25
62
-18
0
75
-35
-22
7
-13
1
-11
-1
30
-3
-11
-14
-13
-20
13
-31
0
2
-7
2
-10
5
-33
0
-9
-3
-47
15
0
35
9
0
0
-9
0
0
-53
-6
1
0
-1
0
2
38
25
-44
-10
2
0
33
19
-1
14
33
34
-14
2
-17
0
7
72
-5
0
55
-31
-7
-3
-20
75
-16
35
-1
0
-31
29
5
0
15
-4
-2
-2
21
34
-1
0
0
0
-101
-9
-4
-15
0
58
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
-12
0
-1
0
-8
0
0
0
0
1
18
2
0
1
18
18
0
0
0
0
13
0
0
0
0
1
0
-3
0
0
0
53
0
0
-14
0
0
-34
0
0
0
-3
0
-18
0
0
0
0
0
14
-1
6
0
-6
0
0
-2
0
0
0
5
0
0
25
-5
0
-1
-27
0
0
-21
-5
0
0
-47
0
25
-9
-2
0
18
22
0
0
-1
0
0
0
0
0
-5
-2
5
0
0
0
0
-30
0
15
3
0
0
2
-14
0
5
-15
-3
0
0
0
0
-73
0
0
22
0
0
0
0
0
0
0
0
0
74
54
0
0
20
0
2
17
25
0
0
36
0
-8
-1
38
0
0
10
0
0
1
30
0
28
6
0
0
0
-50
0
0
0
0
-2
0
-25
-14
8
0
0
0
1
-14
-2
0
0
0
0
0
19
5
-5
7
0
2
-34
-22
0
-3
-18
0
0
-18
-7
0
0
75
0
0
6
29
6
0
76
0
-3
2
-63
0
26
-28
0
0
35
14
0
-4
0
0
4
-2
9
0
0
-10
0
25
0
-15
-6
0
0
0
0
0
-18
5
0
0
0
0
2
100
0
-16
1
0
-2
2
-66
0
0
36
0
0
2
-72
0
29
10
3
0
5
27
-5
22
-18
0
-3
0
32
0
7
4
0
0
0
-16
0
3
0
0
0
0
44
0
26
-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
-9
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
-26
0
0
0
0
0
-54
0
0
0
0
0
0
2
0
0
0
0
6
-3
0
0
-5
1
0
80
0
0
0
17
0
0
88
0
0
0
-10
-3
0
-22
0
0
-6
-2
0
0
-2
55
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
11
0
1
0
0
0
6
-21
-2
0
-5
0
0
0
0
0
0
0
0
0
9
-22
0
2
84
0
0
48
-36
0
0
-5
-1
0
2
65
0
3
-14
0
0
31
31
0
-47
0
0
0
0
31
0
0
1
0
0
0
-21
-11
20
0
0
0
0
-17
0
0
0
0
0
-3
33
-1
2
-2
0
0
72
19
0
0
-92
0
0
-3
30
0
-3
78
0
0
-3
14
0
0
10
10
0
-17
-27
0
14
-1
0
0
-11
25
0
0
0
0
0
0
-25
0
0
0
0
0
0
-76
0
0
0
0
0
0
53
0
0
0
0
0
0
15
0
7
5
0
0
-11
-77
0
-7
-5
-4
0
-4
64
0
-11
20
8
0
-5
30
0
0
14
0
0
1
-29
0
0
0
0
0
10
-26
0
0
0
0
0
0
97
0
-1
-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
65
62
43
32
-38
23
-3
30
-23
-39
0
8
-3
-22
-23
-16
1
-8
22
56
-17
-7
-4
-5
8
3
0
114
0
4
-11
0
13
5
0
0
35
-27
0
10
-4
-16
-3
37
48
-23
-5
-28
67
-46
17
-1
-24
-6
2
-6
15
-28
-32
15
37
-43
-15
-1
-36
63
-14
-4
-26
4
2
-41
-2
43
17
57
5
15
-109
0
-1
-53
-7
17
19
14
0
0
48
-23
37
0
2
-24
0
4
29
-6
0
47
-58
-14
23
0
0
35
-1
10
-4
8
7
2
0
0
0
0
0
0
0
9
21
-28
42
7
2
-45
47
20
18
-36
24
-32
5
31
8
-7
-23
23
-27
-41
-36
-1
0
12
-37
-3
-14
7
3
-1
1
-4
39
-41
0
11
-36
52
0
0
0
0
0
-1
1
5
4
0
103
4
10
64
3
-6
53
-37
43
25
31
20
14
-7
25
36
1
-52
18
81
44
59
-32
19
35
23
18
-5
18
2
8
-37
32
-16
-52
70
-1
6
-1
19
16
31
24
-51
-5
-5
-15
18
34
0
-5
-20
-1
3
56
38
7
-7
24
7
-5
13
-1
6
-13
-12
-64
-13
5
-25
-5
-48
33
14
-34
35
-5
-58
-2
-36
27
30
6
8
-9
-23
10
23
34
-12
-51
75
12
0
43
52
-5
23
-29
-16
5
-1
-36
-17
-45
-2
-40
4
-5
-17
21
47
0
-78
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
3
0
0
0
-2
0
0
0
0
8
0
0
0
0
0
-78
0
0
0
0
0
-2
20
0
0
0
0
6
-1
0
0
5
-10
0
-40
-1
0
0
48
2
0
80
0
0
0
18
0
-4
-37
3
0
0
-2
0
0
0
15
0
0
0
0
0
-1
14
0
0
0
0
6
1
1
0
0
0
0
-2
0
0
2
0
0
0
0
0
-14
-14
9
0
0
0
0
20
0
0
24
0
0
0
0
0
0
0
0
0
68
0
0
4
-17
0
-1
0
66
0
0
-16
0
0
5
-14
0
0
-4
0
0
0
8
0
21
5
1
0
0
-28
0
0
0
0
1
0
92
-3
0
0
1
0
0
7
0
0
0
0
0
0
21
-1
4
0
0
0
18
29
0
0
-47
0
0
24
0
1
0
146
0
0
4
23
0
0
53
1
0
0
33
0
0
0
0
0
1
-15
0
-2
0
0
0
-2
46
0
0
1
4
0
0
37
1
0
0
0
0
0
-21
-5
0
0
0
0
0
-3
0
2
0
0
0
0
32
0
0
-5
4
0
32
0
0
75
33
0
0
0
15
0
0
-3
0
0
1
17
0
-11
7
0
0
0
36
0
1
-2
5
0
0
-9
0
-1
0
0
0
0
-25
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
73
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-13
0
3
34
0
0
0
2
0
0
-3
-11
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
-5
0
0
0
0
0
0
2
0
21
0
0
0
0
0
0
50
0
0
-2
0
0
0
0
0
0
0
0
0
-25
-62
0
0
20
0
0
2
20
0
0
0
0
0
-5
2
0
0
4
0
0
0
16
0
4
0
0
0
0
-24
0
0
0
0
1
0
-5
0
0
0
0
0
0
-17
0
0
0
0
0
0
29
0
-4
3
0
0
0
52
0
0
8
0
0
-2
30
0
-1
7
0
0
2
89
0
0
6
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
62
0
0
0
0
0
0
46
3
0
0
0
0
0
1
0
-3
0
0
0
0
-15
0
0
3
0
0
0
45
0
0
0
0
0
0
-27
0
8
-1
0
0
0
0
0
-8
0
0
0
0
14
0
0
0
0
0
0
15
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
20
0
0
25
0
0
-58
0
0
0
0
0
0
-3
0
0
0
0
4
-3
0
0
0
9
0
-46
0
0
0
0
0
0
-33
6
0
0
0
0
0
24
-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
10
0
0
-3
0
0
0
0
0
-62
0
-4
0
0
0
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
4
31
0
0
-2
0
0
8
23
0
4
-25
0
0
2
-31
0
0
-1
0
0
0
6
0
-4
0
0
0
0
63
0
0
0
0
0
0
-18
0
0
0
0
0
0
49
0
0
0
0
0
0
-48
0
0
1
0
0
-3
11
0
0
-1
0
0
0
-41
0
0
18
0
0
-6
28
0
0
6
0
0
0
8
0
4
0
0
0
0
-11
0
0
-5
0
0
0
-1
0
0
0
0
0
0
11
0
0
0
0
0
0
8
0
0
0
0
0
0
22
0
-1
0
0
0
0
-4
0
0
-2
0
0
0
1
0
0
-7
0
0
0
2
0
0
0
0
0
0
25
0
9
0
0
0
0
11
0
0
0
0
0
0
62
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
-3
0
-3
10
-6
0
15
-5
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-28
0
0
-17
0
0
-50
0
0
0
0
0
0
33
0
0
0
0
0
-1
0
2
18
-4
-1
-7
0
0
6
81
6
0
142
8
0
-8
8
-3
-7
60
18
1
0
23
0
-1
10
-5
0
1
0
0
0
3
1
0
0
3
0
-1
0
4
0
0
0
-2
-22
0
0
-34
0
0
0
-1
0
25
9
-5
0
0
0
0
-11
0
0
25
0
0
0
0
0
0
0
0
0
-35
64
-1
0
0
0
7
43
35
-2
0
-71
55
0
-1
1
0
0
5
0
0
5
-15
0
-57
0
-2
0
20
-2
0
0
-2
0
0
0
95
1
0
0
1
0
0
-45
1
0
0
0
0
-1
-20
13
1
0
0
0
-2
-17
0
2
10
0
0
-34
7
0
0
34
0
3
2
13
0
0
-20
-4
0
-2
-18
8
0
10
-2
0
1
-107
0
0
-1
0
5
0
-44
0
0
0
-14
0
0
-56
0
0
0
-6
0
0
45
0
3
0
0
0
0
21
1
19
0
0
0
0
-18
9
-21
0
0
0
-3
-49
-3
8
5
-3
0
1
8
0
-3
0
0
0
-3
-39
0
25
0
0
-3
-3
36
0
0
-1
6
0
0
-30
0
10
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-9
0
0
75
0
0
0
0
0
0
5
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
27
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
37
0
0
0
0
0
0
0
0
28
-1
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
0
6
1
0
0
-1
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
15
0
0
0
0
9
0
0
0
0
-4
0
33
0
0
0
0
0
0
-23
0
0
0
0
0
0
27
0
-6
0
2
0
0
-23
0
0
-1
0
0
0
-29
0
0
9
0
0
1
-5
0
0
1
0
0
0
69
0
0
0
0
8
5
-19
0
0
0
0
0
0
-5
0
0
0
0
-1
0
15
0
0
0
0
0
0
-17
0
0
0
0
0
0
5
0
2
0
0
0
6
45
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
15
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
-3
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
13
0
0
0
0
0
-5
0
0
0
0
0
-1
-4
0
0
0
0
-8
0
0
0
1
6
0
-30
1
0
0
51
0
0
-27
0
-1
0
-1
0
0
-73
0
0
1
-2
0
0
13
-3
0
-1
0
-1
0
-2
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
10
0
0
0
0
0
-52
3
3
0
0
0
0
37
0
0
-30
0
0
0
0
0
0
0
0
0
6
-26
0
0
18
0
0
-7
44
0
0
26
-5
0
2
-9
0
4
19
0
0
0
-5
0
18
5
0
0
0
24
0
0
2
0
0
0
-42
5
0
0
0
0
0
-10
0
0
0
0
0
4
34
0
0
-6
-1
0
5
62
0
0
101
0
0
25
30
0
3
-83
0
0
-16
72
0
0
9
-1
0
0
91
0
-5
-5
0
0
4
-6
0
0
2
0
0
0
10
0
5
0
14
0
0
14
0
0
0
0
0
0
76
-4
0
0
0
0
0
-60
0
45
-9
0
0
-13
-55
0
3
22
0
0
2
-66
0
-5
16
0
0
1
-46
0
1
-4
3
0
-4
10
0
6
-1
0
0
0
1
0
0
1
0
0
0
67
0
30
0
0
0
0
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
3
2
1
13
0
0
0
3
7
-14
0
0
0
2
0
0
0
-33
0
0
-1
0
0
37
0
0
0
0
0
32
4
0
-9
0
0
13
4
0
0
72
5
0
8
4
0
-5
43
0
0
-24
-3
0
0
15
9
-2
-64
73
-1
0
27
0
2
10
8
0
-2
5
16
0
4
37
-15
0
-5
0
-5
0
-3
0
0
0
-3
-72
0
-3
9
0
0
0
3
0
44
-1
-6
3
-1
0
-4
16
-5
3
-51
0
0
0
0
0
0
0
0
0
81
-49
0
-4
-42
1
0
48
-11
-1
0
39
4
-1
71
-27
0
0
-2
2
0
2
-30
0
16
0
-4
0
0
-97
0
0
3
0
2
0
7
0
3
0
0
0
0
7
5
0
0
0
0
-3
0
18
-2
-2
1
9
6
19
-3
-1
17
0
-1
41
-18
0
43
13
-3
0
45
-40
0
-3
19
5
0
5
-21
0
-4
11
-6
-4
0
0
0
0
-1
0
2
0
-10
2
0
1
0
25
0
8
1
-1
-1
0
0
0
-61
0
0
-4
0
0
0
-17
8
5
4
0
-4
0
-53
0
-21
16
6
-5
-1
112
0
5
5
-1
0
-13
124
0
14
29
6
0
-4
38
0
5
1
0
0
1
3
0
1
-3
-10
-1
0
-67
0
9
0
0
15
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
11
0
0
0
-1
0
0
-1
-3
0
0
0
0
0
0
0
-56
0
0
0
0
0
-32
0
0
0
0
0
0
-9
0
0
0
0
-6
1
0
-3
25
0
0
9
-2
0
-2
-39
0
0
15
9
0
16
18
-15
5
0
0
1
-3
43
5
-4
-15
14
0
-1
41
18
1
3
23
5
0
-1
0
0
-1
13
0
0
0
0
-6
0
0
-2
0
0
0
1
0
57
8
2
0
0
0
10
55
0
0
22
0
0
0
0
0
0
0
0
0
32
32
0
3
-16
0
0
-9
0
-1
-6
-12
-11
0
6
-5
0
-2
-14
0
2
3
5
-2
63
2
-2
0
0
7
0
0
0
0
0
0
1
0
7
0
0
0
0
-38
6
0
0
0
0
4
-35
5
0
0
-1
0
-5
-28
0
0
-17
0
0
7
84
0
15
7
-1
0
7
0
0
0
-61
-3
0
4
49
0
6
2
-5
0
0
3
0
0
-1
0
0
0
-6
0
0
0
3
1
0
0
0
0
0
0
0
0
4
-4
0
4
-3
0
0
5
0
-6
-3
0
-1
-2
57
0
-5
36
0
0
0
19
0
-9
-7
0
0
0
0
0
23
17
-11
0
0
42
0
0
-4
0
0
0
-50
0
2
-1
-4
0
0
19
0
13
1
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
10
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
-25
0
0
0
0
1
-2
8
0
0
0
0
0
0
0
0
1
0
0
-28
0
0
0
63
0
0
-1
2
0
0
24
-29
0
-31
-1
0
3
1
0
-5
0
-2
0
0
0
9
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
11
0
0
0
-20
0
49
4
2
-1
0
0
8
-20
0
-4
14
0
0
0
0
0
0
0
0
0
43
-48
0
0
-3
0
0
26
9
0
-3
0
-6
0
-19
53
0
0
-8
0
0
0
-11
0
-14
0
0
0
0
-21
0
0
0
0
-6
0
-4
-1
0
0
0
0
0
-9
0
0
0
0
0
0
-6
0
0
7
0
0
-6
36
0
0
-10
0
0
2
1
0
0
-3
0
0
0
-6
0
0
49
0
0
0
-56
0
0
7
11
0
0
46
0
0
0
0
0
0
-5
0
0
-7
-3
0
0
46
0
5
0
0
0
0
-15
-6
-6
0
0
0
2
4
0
3
0
0
0
0
-37
0
-3
14
0
0
-1
27
0
1
0
0
0
0
-75
0
0
0
0
0
0
-2
0
6
-8
0
0
0
-1
0
11
-5
0
0
0
-25
0
-1
0
0
2
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
-2
0
0
0
0
0
0
0
0
0
0
0
11
1
0
3
0
39
0
0
-3
0
0
-11
0
0
0
0
0
0
-8
0
0
0
0
6
1
0
0
0
0
0
-34
1
0
0
-26
0
0
-5
0
0
0
19
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
10
0
0
-1
0
0
0
0
0
21
-2
-5
0
0
0
27
-46
0
0
-1
0
0
0
0
0
0
0
0
0
-46
-35
0
0
-20
0
0
0
-10
0
0
7
5
0
-1
5
0
0
-2
0
0
0
-21
0
-16
0
0
0
0
-32
0
0
0
0
7
0
-4
0
0
0
0
0
0
-43
0
0
0
0
0
1
45
1
-2
1
0
0
0
-43
0
0
0
0
0
0
-12
0
0
-3
0
0
0
-3
0
0
0
0
0
0
10
0
0
-3
-5
0
0
50
0
0
-2
0
0
0
54
0
0
0
2
0
0
-4
1
0
0
0
0
0
29
0
0
0
1
0
0
-14
0
2
0
0
0
0
18
2
8
0
-1
0
0
5
0
0
0
0
0
0
-13
0
0
0
-1
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
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
0
0
0
0
0
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
-5
0
0
1
0
0
28
0
0
0
0
0
11
2
5
0
0
0
-2
4
0
5
-7
-1
0
-19
1
0
0
80
0
0
4
0
0
0
-18
50
0
11
1
0
-6
15
0
3
0
-27
0
0
-13
0
0
3
4
0
0
0
0
-1
0
-6
0
0
0
2
0
0
0
0
0
0
0
-2
0
18
23
5
0
1
0
10
101
0
0
1
0
0
0
0
0
0
0
0
0
-20
-4
-4
1
8
-1
0
4
72
0
0
9
0
0
3
0
0
0
0
0
0
0
5
0
1
2
0
0
0
2
0
0
0
0
0
0
33
1
0
0
0
0
0
-28
0
0
0
0
0
1
43
0
3
0
0
-11
-3
-66
0
0
2
0
0
33
21
0
2
66
21
0
66
-46
0
-1
-6
0
0
0
-10
-8
0
0
-2
0
-1
5
0
4
3
0
0
0
47
0
5
0
0
-1
0
59
0
0
0
0
0
0
-60
0
-6
0
0
0
5
-29
0
-2
3
0
0
0
43
0
0
1
-1
0
4
8
0
-1
-5
0
0
0
3
0
0
0
0
0
3
-58
0
49
14
1
0
0
41
0
0
0
-3
0
0
-49
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
-2
0
2
0
0
0
0
0
4
0
0
4
0
0
-22
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
3
0
6
-104
0
0
0
-20
0
0
44
3
0
0
6
0
0
6
0
0
0
3
0
3
7
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-57
0
0
9
0
0
0
-1
0
13
0
0
0
0
0
2
-73
0
0
-25
0
0
0
0
0
0
0
0
0
21
-48
0
0
25
0
0
97
6
0
0
-20
0
0
-9
81
0
0
19
0
0
-1
8
0
0
0
0
0
0
-11
0
0
0
0
9
0
55
-10
7
0
0
0
0
24
0
0
0
0
0
0
-65
0
0
-3
0
0
4
-47
0
0
-18
0
0
20
77
0
0
-8
0
0
8
24
0
0
5
0
0
32
-28
0
0
31
0
0
0
47
0
0
18
0
0
0
-27
0
0
0
0
-2
0
-28
0
-1
0
0
0
0
18
0
0
0
0
0
-7
19
0
-17
0
0
0
0
43
0
0
5
0
0
0
14
0
1
2
0
0
0
72
0
0
-3
0
0
0
61
0
-5
2
0
0
0
5
0
0
0
0
0
0
28
0
-2
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
35
0
0
1
2
0
0
0
0
0
0
0
-1
0
0
0
0
-8
0
0
1
0
0
-16
0
0
0
0
0
-11
-7
0
0
0
0
-8
3
0
0
4
-1
0
-39
0
0
1
2
0
0
46
22
0
13
-35
-8
0
-42
4
0
0
-10
0
0
-54
51
0
0
-8
13
0
45
0
0
0
4
0
0
10
-1
0
0
0
24
3
0
0
-4
0
0
0
0
0
-34
-2
1
-1
0
0
0
-26
0
0
-45
0
0
0
0
0
0
0
0
0
55
78
0
4
32
0
0
7
10
0
-3
-41
5
0
-21
83
0
0
82
0
0
0
21
0
41
-53
44
0
3
-24
0
0
0
0
0
0
-22
22
1
0
-9
0
0
27
-5
0
0
0
0
15
70
0
18
-45
0
0
6
-20
0
1
-3
0
0
9
62
0
-18
62
3
0
72
-31
0
0
-69
0
0
10
-16
0
0
51
26
0
-2
13
0
0
6
0
0
0
7
0
-2
1
-14
0
0
5
0
0
0
-1
0
0
-29
29
0
0
0
0
1
56
0
-8
-11
-5
0
1
20
6
-41
-49
-2
0
11
14
0
-17
96
0
0
-1
3
0
0
-5
-9
0
0
-7
0
-6
15
0
0
-6
71
0
0
9
9
0
0
60
0
24
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
3
19
-1
0
13
8
0
0
-1
0
-9
-7
0
0
0
0
6
0
0
0
0
0
-3
8
10
0
0
0
48
-10
1
1
4
-64
45
0
4
9
0
-23
1
-1
43
1
0
0
45
6
20
-66
43
0
5
49
-5
44
16
22
-1
0
33
1
-13
0
9
10
0
-18
0
9
0
15
0
0
-1
6
25
0
3
-17
0
0
0
3
3
-16
-10
-13
0
6
0
-20
9
0
1
68
0
0
0
0
0
0
0
0
0
-10
-15
3
-2
62
5
0
3
-5
0
17
10
-9
2
2
-55
0
-1
5
-3
0
0
-18
-9
-41
-15
-56
-6
0
23
0
-2
-2
0
19
0
-3
-6
0
0
0
0
0
-33
2
0
-2
2
0
4
10
29
-4
101
-4
0
16
-19
-2
0
43
0
-9
-7
2
-5
-39
33
-5
1
-5
-30
4
-3
-21
11
-3
2
0
-4
-10
1
36
0
-1
13
4
0
-7
0
14
0
-42
2
-9
-3
2
-17
0
22
-2
0
0
-3
0
0
-69
13
1
0
15
0
0
-53
-9
-68
-5
3
-4
-8
-27
4
35
5
0
0
35
12
-4
-93
-8
-35
0
1
39
0
-2
68
50
-2
0
-26
0
-26
-7
0
-2
0
-65
0
3
8
2
0
0
-29
0
62
-5
-6
2
0
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
1
0
0
0
0
0
0
-1
0
-43
-2
0
0
0
0
13
0
0
0
0
0
1
15
0
0
0
0
0
0
-1
0
24
0
4
3
-3
0
0
-14
2
0
-48
0
0
0
56
7
0
-15
-8
-1
0
34
0
0
3
0
0
0
15
0
5
8
0
0
0
-4
3
0
0
-14
0
0
0
2
-3
0
0
-2
0
0
0
0
0
0
-2
-6
0
0
0
-7
10
-4
0
13
0
0
0
0
0
0
0
0
0
22
2
0
3
-32
0
0
5
-98
0
-1
-4
13
0
10
0
0
0
55
0
0
0
-3
0
7
3
1
0
0
15
0
0
0
1
3
0
45
5
0
0
-1
0
0
-23
0
0
0
0
0
0
-122
0
-3
-5
0
0
0
53
0
0
7
0
0
2
-21
0
0
-10
0
0
4
-17
4
0
-30
-4
0
2
0
0
0
18
14
0
0
-8
0
0
1
0
0
0
-2
0
0
2
0
0
0
32
0
0
0
4
0
0
-4
5
5
0
0
0
-5
-17
0
-11
0
0
0
0
89
0
3
-4
1
0
-1
36
0
14
5
0
0
-2
5
-10
-10
4
-9
0
0
0
0
-14
10
-3
0
0
71
0
0
14
0
0
0
-29
0
4
0
0
0
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
-6
0
0
0
0
0
10
0
0
0
0
0
30
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-10
0
0
30
0
0
0
14
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
55
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
29
0
0
-1
0
0
0
0
0
0
0
0
0
27
-48
0
0
11
0
0
-8
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
5
0
14
0
0
0
0
-50
0
0
0
0
0
0
-70
0
0
0
0
0
0
11
0
0
0
0
0
-1
-11
0
0
0
0
0
0
72
0
0
4
0
0
0
-51
0
0
-4
0
0
0
-72
0
0
0
0
0
0
-3
0
0
-1
5
0
0
-54
0
0
0
0
0
0
-5
0
0
0
7
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
6
0
0
0
-14
0
2
2
0
0
0
-29
0
19
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
59
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
10
0
0
3
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-21
0
0
-1
0
0
0
0
0
0
29
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
21
0
0
6
0
0
0
1
0
44
1
0
0
0
0
0
-20
0
0
1
0
0
0
0
0
0
0
0
0
-15
57
0
0
-3
0
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
25
2
0
0
0
20
0
0
0
0
0
0
10
0
0
0
0
0
0
-35
0
0
-2
0
0
0
-5
-1
0
-3
0
0
0
81
0
1
0
0
0
0
33
0
0
0
0
0
-3
43
0
0
-2
0
0
0
17
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
71
0
0
0
0
0
0
-8
0
0
0
0
0
0
13
0
2
0
0
0
0
-8
0
0
13
0
0
-1
-26
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-97
0
0
0
0
0
-8
1
0
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
0
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
62
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
5
10
0
0
0
0
0
0
14
0
0
2
0
0
8
76
0
0
0
0
0
0
1
0
1
0
0
0
0
-31
0
0
0
0
0
0
13
-1
1
0
0
0
0
11
0
0
0
0
0
0
-21
0
0
1
0
0
-1
-24
0
-1
-6
0
0
0
-6
0
0
-14
7
0
0
32
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-17
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
2
0
0
0
7
0
0
0
0
0
0
70
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
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
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
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
-1
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
1
-5
0
0
0
0
0
-2
2
0
0
-1
0
0
2
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-49
0
0
0
0
0
0
-3
0
0
0
0
0
0
16
0
0
0
0
0
0
15
0
0
-8
0
0
0
18
0
0
0
0
0
0
18
0
0
0
0
0
0
-23
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
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
-8
0
-6
0
0
0
0
0
0
5
0
0
0
0
17
0
1
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
5
0
3
-3
0
0
0
0
35
0
0
0
0
0
-44
0
0
0
0
0
-5
0
8
0
0
0
24
15
0
-6
-14
0
0
-33
0
0
0
-28
0
0
-33
-19
6
-1
2
-7
0
-8
-3
0
15
40
0
0
-4
3
0
0
0
-1
0
63
-11
1
-2
6
0
0
0
7
0
0
2
-1
0
0
0
2
0
7
0
0
0
44
-16
14
1
0
0
-1
64
0
0
45
0
0
0
0
0
0
0
0
0
60
8
-1
0
27
0
0
6
28
0
0
1
1
0
14
-21
0
0
17
-4
0
-14
-2
0
3
-3
-8
0
-3
32
0
0
0
0
0
0
-7
39
-1
0
5
0
0
6
-5
0
0
0
0
-10
53
0
0
13
0
0
19
0
0
0
77
0
0
26
14
17
1
39
4
0
29
31
0
-1
39
0
0
13
-1
0
-3
-35
-1
0
7
-93
0
0
15
0
0
0
15
0
0
-1
27
0
0
6
1
0
0
0
0
0
-16
6
0
0
0
0
1
-56
2
21
-33
0
0
4
39
0
1
-68
0
0
9
69
0
53
40
6
0
1
79
0
9
1
-4
0
2
-53
0
1
0
0
0
9
-39
0
7
0
0
0
0
56
0
-3
-2
0
0
0
11
-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
-64
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
18
0
5
-24
4
0
0
-8
0
0
29
-6
0
-1
-18
4
1
-3
6
0
0
0
0
-1
-11
0
0
0
0
-1
0
0
1
0
0
3
0
2
0
41
0
0
0
0
13
0
0
1
0
0
0
0
0
-16
0
-3
0
0
0
-1
-33
-3
0
17
0
0
0
0
0
0
0
0
0
6
-20
2
0
17
7
0
0
25
0
0
3
2
0
-1
4
0
0
-3
0
0
0
35
0
-2
-10
-7
0
0
-66
0
0
0
0
0
0
32
-2
0
0
0
0
0
71
0
0
0
0
0
0
-2
0
0
14
0
0
-2
40
0
0
-10
0
0
0
-24
0
-1
-1
0
-1
1
18
0
0
-5
11
0
-1
55
0
0
-2
0
0
0
24
0
0
0
0
8
0
14
0
0
0
3
0
0
-51
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
0
-7
0
0
0
0
-16
0
0
10
-4
0
0
9
0
-11
0
0
0
0
-7
0
3
0
-2
0
0
10
0
1
2
0
0
0
9
0
-4
0
0
0
0
3
0
20
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
81
0
0
0
0
0
-103
0
0
0
0
0
3
19
-3
0
0
0
1
6
0
0
8
-2
0
-56
0
0
0
40
0
0
73
-16
-1
0
20
7
0
84
11
0
1
-5
0
0
20
-5
0
0
-2
10
9
34
0
3
0
20
0
0
0
0
0
0
-2
1
0
0
0
-5
0
0
0
0
0
69
0
-1
0
0
0
-10
-1
-4
0
2
0
0
0
0
0
0
0
0
0
-28
63
5
2
-57
1
0
18
32
-3
1
-17
-9
0
-29
47
0
0
62
0
0
21
0
0
5
3
-4
0
-15
-87
0
0
0
0
0
0
29
24
-11
0
0
0
0
24
0
0
0
0
0
-1
56
-3
3
6
1
0
-1
-26
0
0
8
0
0
-11
23
0
-1
-8
-35
0
-2
-2
-1
0
-36
0
0
0
3
0
2
7
0
0
-18
0
0
1
-5
0
0
0
-45
0
0
0
3
-1
0
-11
0
0
0
0
0
0
-27
0
0
-6
0
0
-14
-36
0
0
-6
0
0
-4
-43
0
0
1
-4
0
0
7
0
-3
-20
0
0
0
-48
0
-1
0
-1
0
0
26
0
3
0
0
0
0
0
0
0
-7
1
0
0
-29
0
-17
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
-2
0
0
0
0
1
-8
0
0
0
0
0
5
0
0
0
5
0
0
11
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
-77
2
2
0
0
0
4
82
0
0
0
0
0
0
0
0
0
0
0
0
48
1
0
0
11
0
0
2
-13
0
0
23
0
0
0
3
0
0
-2
0
0
0
-9
0
-6
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
-71
0
-6
0
0
0
2
-35
0
0
-19
0
0
0
-37
0
0
-2
0
0
-1
4
0
0
34
0
0
0
-48
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
22
0
0
0
0
0
0
0
0
10
0
0
0
0
18
0
0
0
0
0
0
-3
0
0
-2
0
0
0
2
0
0
2
-1
0
0
5
0
11
0
0
0
0
1
0
-1
0
0
0
0
10
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
-6
0
0
0
0
0
-114
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
-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
-43
0
0
0
0
0
10
-81
0
0
2
0
0
0
0
0
0
0
0
0
14
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
-82
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
6
0
0
-1
-37
0
0
5
0
0
-1
58
0
0
0
0
0
0
-54
0
0
0
0
0
0
11
0
0
0
0
0
0
19
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
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-14
0
0
-38
1
0
-1
39
0
0
5
1
0
0
-9
-1
0
8
0
0
0
41
0
-3
-2
0
0
0
1
0
0
-14
0
0
0
0
-1
-3
0
-6
0
0
-1
-6
-14
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
-1
-5
0
0
2
0
0
0
0
0
0
0
0
0
-9
9
2
1
16
0
0
14
54
0
0
0
0
0
5
-54
0
0
0
0
0
0
8
0
57
-1
0
0
0
-5
0
-2
0
0
0
0
-27
0
-1
0
0
0
0
8
0
0
0
0
0
2
-34
0
0
3
0
-5
39
-14
0
0
5
0
0
16
12
0
0
-17
-2
0
0
-43
0
0
-1
0
0
-3
53
4
0
-3
8
0
-3
-53
0
0
0
0
-1
0
-49
0
0
0
1
-3
0
43
0
0
0
8
0
0
5
-8
0
0
7
0
-1
2
0
-1
2
0
0
-4
1
0
0
2
0
0
6
4
0
16
0
0
0
4
13
0
0
0
0
0
0
56
0
-2
-5
0
0
0
8
0
0
1
0
0
0
-5
0
2
-2
-7
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
43
0
0
0
0
0
-1
0
0
0
0
2
0
-3
0
2
0
1
2
11
0
0
-2
0
0
5
0
0
0
31
0
0
-5
13
0
0
0
0
0
8
-2
0
0
-1
0
17
0
0
0
0
0
0
-1
28
0
0
0
3
0
1
0
0
0
0
-1
0
4
0
0
10
0
0
0
0
0
23
0
0
0
0
0
-1
1
0
0
-2
0
0
0
0
0
0
0
0
0
23
-68
0
0
33
0
0
0
9
0
0
0
0
0
-2
-33
0
0
15
0
0
-3
-14
0
-18
5
0
0
-1
24
0
0
1
0
0
0
-35
0
0
0
0
0
0
-17
0
0
1
0
0
0
21
0
0
-5
0
-1
-10
-69
0
0
17
0
-3
7
3
0
0
-35
0
-2
-1
16
0
0
6
0
-15
4
21
0
1
-53
0
0
0
-5
0
0
5
0
9
0
68
0
0
2
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
2
-4
0
0
-1
-21
0
-10
5
2
0
0
58
0
1
2
0
0
0
33
0
0
11
0
0
0
14
0
0
0
0
0
0
68
0
0
0
0
0
0
1
0
-6
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
-15
0
0
0
0
0
-21
0
0
0
0
0
-2
0
0
0
0
0
-9
0
0
0
5
-1
0
19
3
0
0
-30
0
0
-10
-4
0
-1
1
-9
0
49
0
0
-1
-2
0
0
16
-11
0
-1
-25
0
0
-2
0
0
0
0
0
0
0
11
0
0
0
-1
0
0
0
3
0
0
0
0
0
4
-11
-5
-5
0
0
0
-32
0
0
18
0
0
0
0
0
0
0
0
0
69
-14
0
-14
-53
0
0
-1
-64
0
0
-15
6
0
-20
-3
0
0
12
0
0
3
1
0
-64
5
0
0
0
-11
2
0
0
0
0
0
-41
1
0
0
4
0
3
14
0
0
3
0
0
-6
-6
0
0
3
7
0
-11
-8
0
0
-15
0
0
16
-17
-3
10
97
-11
0
0
70
0
0
-24
0
0
0
-42
0
0
62
-14
0
0
-33
0
-1
5
0
0
0
48
0
0
0
10
0
0
30
0
0
0
0
0
0
-5
0
0
0
0
0
-1
-59
0
-11
11
0
0
0
19
0
-1
-3
0
0
-11
-32
0
-10
-1
0
0
0
-3
0
5
-13
5
0
0
-5
0
-1
3
0
0
0
43
0
0
2
-3
0
0
62
0
45
-9
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-9
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
-1
0
0
2
0
0
16
-1
0
0
0
0
0
1
-2
0
-1
0
0
0
0
-8
0
0
0
0
0
0
10
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
0
50
0
0
-6
0
0
-1
14
0
0
0
0
0
0
0
0
0
-1
0
0
0
16
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
-18
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-1
-1
0
0
0
0
3
0
0
0
7
0
0
-37
0
0
0
-22
0
0
7
0
0
0
-6
0
0
8
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
14
0
3
0
0
0
0
74
0
0
9
0
0
0
0
0
0
0
0
0
-20
77
0
0
39
0
0
0
-33
0
0
0
0
0
3
-5
0
0
-2
0
0
0
13
0
36
0
0
0
0
0
0
0
0
0
0
0
14
0
2
0
0
0
0
-26
0
0
0
0
0
0
-55
11
0
-1
0
0
0
-12
0
0
1
0
0
-1
-13
0
0
-27
0
0
0
-26
0
0
27
0
0
-1
29
0
-1
0
0
0
0
-7
0
0
8
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
11
0
-2
0
0
0
0
-2
0
1
0
0
0
0
-14
0
2
-5
0
0
0
-26
0
0
0
0
0
-2
2
0
0
0
7
0
0
0
0
-1
0
0
0
0
31
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
-5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
39
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
9
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
0
0
0
0
0
-3
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
6
0
0
0
0
-1
0
0
0
0
0
0
-48
0
0
0
0
0
0
10
0
0
0
0
0
4
9
0
0
2
0
0
0
60
0
0
0
0
0
-7
-18
0
0
0
0
0
-2
-18
0
0
0
0
0
0
5
0
0
21
-1
0
0
14
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
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
-1
0
0
0
0
11
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
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
6
0
0
-2
-1
-37
-45
-32
33
-31
7
-14
-30
9
18
-128
12
43
-10
-16
2
33
53
-12
24
-36
-11
2
6
32
-26
-19
-21
-15
15
28
54
15
22
15
-7
-39
-31
-28
-23
-3
14
5
-70
-1
10
-32
65
-6
46
-52
45
0
18
36
4
0
-33
-14
-1
11
-26
-36
62
5
8
-31
5
17
-3
21
-15
34
54
-62
54
64
0
0
0
0
0
0
0
-15
12
-5
82
7
41
0
-1
-5
14
28
-6
-57
33
-4
-17
-2
-22
11
-29
40
-8
5
-11
-10
-10
26
-79
38
-18
-24
-1
-16
4
56
0
6
5
-1
2
6
3
31
20
15
18
-1
-29
-4
21
0
42
-10
-15
13
-7
-16
4
-30
3
-18
-19
27
25
-10
-33
38
0
-26
-12
18
0
1
32
-5
25
44
-50
-17
3
-25
-24
11
-5
25
-25
2
9
32
-4
-21
5
24
-33
-43
-101
-9
42
-5
-5
-20
-50
8
-15
-68
17
-15
25
-12
14
-14
2
-6
-37
-26
-30
33
21
-43
-33
-1
27
-14
-64
-14
5
-6
-14
0
-20
-62
-73
20
-90
-6
-14
-60
2
-56
-8
85
54
3
32
9
-32
26
3
37
-36
8
-21
-4
4
-8
0
20
-19
-28
17
-1
-1
5
1
-29
25
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
13
0
-3
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
5
0
0
-5
5
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
-8
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
13
1
0
0
0
0
0
5
2
0
0
0
0
0
-3
9
0
0
0
0
0
0
-7
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
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
6
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-4
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
-17
0
0
0
0
1
-17
14
0
0
0
0
2
-4
0
7
-36
-3
0
-12
0
0
18
30
3
0
56
62
0
-6
-3
3
1
46
-5
2
0
0
0
0
41
21
0
-3
-18
-1
0
-46
-34
0
0
15
0
0
-3
-8
0
0
0
-9
0
0
0
15
0
0
0
0
0
34
7
19
-29
-2
0
59
-14
0
0
34
0
0
0
0
0
0
0
0
0
2
-12
0
14
37
-1
0
-12
14
0
2
7
48
0
-8
-15
0
0
0
2
0
-1
-72
0
-34
14
-5
0
4
-18
6
0
0
5
0
1
1
-24
43
-1
-3
0
0
-1
-3
5
0
0
0
-3
-57
0
23
-53
6
0
-9
43
0
1
46
0
0
67
61
-7
0
49
22
0
-81
-28
0
-17
106
5
0
38
-6
0
14
49
-19
0
10
23
0
-10
-11
0
0
0
32
-1
-6
39
-15
0
0
0
2
0
0
0
0
2
17
-1
0
0
2
0
-7
23
-3
-18
33
0
0
-32
29
0
10
82
4
0
50
2
-3
-34
-37
0
0
-31
54
0
-53
-29
14
0
5
5
0
-47
-25
-4
0
0
26
-6
-20
5
1
0
0
1
1
-47
0
0
0
0
-27
-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
-3
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
16
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
16
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-1
0
0
0
26
0
0
1
0
0
0
11
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
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
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-22
59
-19
52
-14
-43
-93
35
4
-26
-26
-6
21
8
-8
-25
25
8
-19
-3
-48
-8
-26
4
-11
-7
9
2
-31
8
14
21
2
51
-28
19
-1
-5
19
-10
-63
-4
-11
-22
24
4
22
-49
-7
-26
-24
15
10
-23
-10
-5
-16
-18
42
24
65
-10
-23
28
13
-8
-5
-24
-21
5
31
-39
2
18
0
0
0
0
0
0
0
10
-8
-10
48
-10
-32
71
33
9
-45
-17
21
28
-29
-15
-8
42
60
-16
-6
-10
-38
7
-3
6
-10
-5
-47
-43
-12
-5
-16
-23
-28
-5
13
-3
6
-7
-50
-25
-24
-62
-5
18
-26
-36
-39
25
-30
-19
-130
5
-20
-23
-3
-17
-15
5
-65
5
31
-31
-4
2
13
-38
-2
-1
-67
-21
-28
-23
0
-8
-44
24
-16
-9
49
-24
8
-20
-13
3
-9
-33
35
-27
-65
45
-34
-20
20
23
-14
4
15
-3
-9
-5
15
69
24
-14
30
23
-60
-58
-11
31
69
53
1
71
0
-75
-38
-13
38
17
-20
-29
-5
93
22
-23
-27
-21
-44
11
50
-34
-32
-1
-76
55
-9
18
27
63
-10
22
-20
34
-69
-24
21
7
-45
-9
-38
-34
-69
28
-4
51
-14
11
-92
6
0
-18
2
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
41
0
0
0
0
0
0
17
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
0
0
0
0
0
0
6
0
0
0
0
0
0
37
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
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
-10
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-6
1
0
0
0
3
0
33
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
-1
0
0
0
0
0
0
84
0
0
1
0
0
0
0
0
0
0
0
0
-29
0
0
0
36
0
0
-1
67
0
0
0
0
0
0
52
0
0
0
0
0
0
5
0
30
0
0
0
0
4
0
0
0
0
0
0
11
-16
0
0
0
0
0
16
0
0
0
0
0
0
53
0
0
1
0
0
1
-25
0
0
0
0
0
-2
19
0
0
-14
0
0
0
1
0
0
1
0
0
1
-18
0
0
5
0
0
0
39
0
0
1
0
0
0
-36
0
0
0
0
0
0
2
2
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
73
0
0
0
0
0
0
-2
0
0
0
0
0
4
13
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
59
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
-13
0
0
0
0
0
0
4
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-21
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
-14
0
0
0
0
0
0
58
0
0
0
0
0
0
-17
0
0
1
8
0
0
1
0
0
1
0
0
0
14
0
0
0
0
0
0
-47
0
0
0
0
0
0
31
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
9
0
-6
0
0
0
0
-1
0
-1
6
0
0
0
-2
0
0
0
-1
0
0
3
0
13
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
3
0
0
0
18
0
1
58
-1
7
-1
67
-15
-13
8
19
0
0
43
0
7
11
-5
0
4
2
7
-5
16
-2
0
0
-5
0
-14
1
-8
0
0
0
8
9
0
0
-26
0
0
0
-23
0
0
6
80
0
0
0
-24
54
6
-1
-72
0
0
0
0
0
0
0
0
0
34
83
-7
-3
-11
5
-7
45
-10
0
-2
-3
-15
0
10
-56
0
0
8
0
0
0
-25
0
-54
-35
-26
-1
0
36
0
0
0
-1
4
0
-9
-5
-4
0
1
0
0
0
0
0
0
0
0
6
-73
3
9
17
-2
0
47
21
0
-3
53
0
0
4
40
-1
24
0
0
0
32
-15
0
-3
34
-11
-5
-2
-18
0
0
88
22
-5
0
1
0
3
-1
0
0
1
-34
0
0
8
1
14
0
-22
0
0
0
0
0
0
0
14
0
-7
0
0
-6
-21
1
27
8
0
-1
-6
-28
-2
5
43
0
0
5
6
0
7
-8
0
0
14
-51
-2
5
-13
0
3
9
-32
0
30
-10
0
0
0
2
5
0
-9
0
0
0
-5
0
79
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
21
-1
26
60
-7
-7
-41
5
-3
-2
-40
32
2
66
47
-1
5
57
-5
20
-66
-20
0
6
0
0
-15
21
51
0
-1
-16
2
6
-9
-2
0
0
-4
0
-3
0
10
0
0
-1
1
20
0
0
-15
0
0
0
0
-5
40
0
12
5
0
0
52
-58
1
0
95
-1
0
0
0
0
0
0
0
0
-78
-13
-3
25
10
0
5
-2
54
0
-1
-52
4
1
-65
-23
0
0
-3
-4
0
-2
-23
0
34
-14
34
0
0
53
0
0
0
0
-3
0
50
-53
-16
0
7
0
0
-25
0
0
9
1
0
13
-5
18
8
39
4
-2
-84
9
0
-4
-52
5
0
23
61
3
5
-13
-46
-2
37
16
1
1
-82
-8
5
7
18
-4
0
-53
-5
8
2
28
0
0
2
-2
8
0
-52
-2
1
-8
19
62
0
7
2
3
0
-7
0
0
-52
-4
8
0
0
0
3
28
0
-5
2
0
-3
18
22
0
39
-43
24
-4
20
-71
0
-10
31
-10
3
0
-7
3
15
31
20
-3
-11
-21
0
54
3
0
0
0
30
2
-3
2
10
0
-3
17
0
45
0
0
-7
0
-10
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
-3
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
-1
0
0
9
0
0
0
-3
0
24
0
0
0
0
0
4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-5
0
0
-13
14
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
-2
0
0
0
0
14
0
0
0
0
-1
0
5
0
0
0
0
0
0
23
0
0
0
0
0
0
24
0
0
-2
0
0
0
48
0
0
-2
0
0
-2
-8
0
-11
18
0
0
0
-15
0
0
-8
0
0
0
-32
0
0
-13
-2
0
0
-5
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
-17
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
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-5
0
3
-8
0
0
9
0
0
0
0
1
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
14
0
0
-1
0
0
0
2
0
20
0
1
0
0
0
0
-47
3
0
-5
0
0
0
0
0
0
0
0
0
7
92
5
0
0
0
0
0
34
0
0
41
11
0
2
24
0
0
-1
0
1
0
-8
0
57
0
0
0
0
3
0
0
0
0
0
0
23
-1
-1
0
0
0
0
21
0
0
0
0
0
0
18
0
0
0
0
0
-1
42
0
0
-1
0
0
-3
-5
1
0
3
0
0
2
-1
0
0
5
0
0
0
-22
0
0
10
-2
0
0
86
0
0
0
0
2
0
-1
0
0
0
0
2
0
-37
0
0
0
0
0
0
10
0
0
0
0
0
-1
-29
0
1
-1
0
0
0
10
0
0
0
0
0
0
33
0
0
0
0
0
0
7
0
0
5
0
0
0
31
0
-1
0
0
0
0
19
0
2
0
11
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
-3
0
0
9
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
-34
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
8
-14
0
-1
7
0
0
0
-5
0
0
3
0
0
0
15
0
0
0
0
0
8
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-24
0
0
0
0
0
0
26
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
0
0
0
25
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
-31
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
8
0
0
0
0
0
1
-62
0
0
0
0
0
0
0
0
0
0
0
0
-2
-30
0
0
-2
0
0
0
7
0
0
7
-1
0
-5
-9
0
0
0
0
0
0
-3
0
-2
0
0
0
0
-36
0
0
0
0
0
0
36
0
0
0
0
0
0
-13
3
0
0
0
0
0
54
0
0
0
0
0
3
-51
0
0
0
0
0
2
29
0
0
-18
0
0
-5
20
0
0
5
0
0
0
34
0
0
4
0
0
0
52
0
0
0
0
0
0
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
17
0
0
0
0
0
0
29
0
0
2
2
0
0
38
0
-4
0
0
0
0
14
0
0
2
0
0
0
-4
0
0
0
0
0
0
-1
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
51
-2
1
-5
4
0
-7
-8
23
3
-6
-46
2
4
75
14
0
0
-15
0
2
4
35
-6
0
34
0
-11
-5
3
0
0
-3
0
5
0
11
0
0
6
-15
7
0
0
11
0
0
0
32
0
49
20
29
0
0
0
5
-4
-2
0
-39
-2
0
0
0
0
0
0
0
0
33
-46
1
41
-1
1
0
-27
0
0
7
-24
-24
0
-9
-31
0
0
-5
2
0
2
5
0
-6
-30
4
0
-1
14
1
0
0
0
0
0
-29
8
-11
0
0
0
0
71
0
0
0
-1
0
9
63
1
7
-13
-1
0
-33
7
0
0
51
-3
0
3
-14
0
9
-62
20
0
71
96
0
-1
-26
10
10
-1
8
0
2
4
-18
9
-14
-13
0
-1
1
0
0
0
-20
0
0
1
-3
15
0
-2
0
2
-1
0
0
0
140
0
0
5
0
0
0
-12
-2
-52
-29
0
0
10
-46
0
6
-2
-5
0
-13
49
0
17
98
2
0
15
-47
0
10
-19
8
-2
0
-58
-2
44
-25
0
0
0
-41
0
-1
0
9
1
0
-4
0
45
0
0
-5
0
30
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
56
0
0
-6
7
3
0
40
0
0
3
-9
15
0
48
1
0
10
-5
-2
9
29
5
0
1
5
-3
-5
-6
8
0
0
0
0
-8
2
-13
0
0
1
-1
144
0
0
-6
0
0
0
-25
1
3
-1
2
-1
0
0
-11
0
-3
0
31
0
0
0
0
0
0
0
0
0
-49
52
0
0
44
3
0
33
29
0
6
-1
16
0
5
-22
0
0
-31
9
0
10
49
0
-55
-15
0
0
0
-30
0
0
0
0
8
0
11
0
-1
2
2
0
0
-46
0
0
0
0
0
14
0
8
0
-2
0
0
21
21
0
10
-63
-1
0
-3
51
-5
8
-6
-6
0
54
90
1
0
20
-3
0
22
8
0
-2
-23
-11
0
-15
48
2
-1
25
0
26
0
-29
1
0
0
4
-5
0
9
0
0
0
-1
0
0
21
1
0
0
0
0
-4
0
0
43
-14
0
0
4
-55
0
0
66
0
0
-2
72
0
-27
34
-6
0
2
-8
0
2
36
5
0
2
-43
0
-22
-2
0
0
-4
-25
0
1
6
0
0
0
30
0
-14
-2
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
48
0
0
0
-2
0
0
-7
0
0
0
65
0
6
91
-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
-14
0
0
0
0
0
0
10
0
14
0
0
0
0
0
0
75
0
-1
9
0
0
0
0
0
0
0
0
0
70
23
0
0
-1
0
0
-2
50
0
0
25
3
0
1
-21
0
0
0
0
0
0
39
0
18
1
0
0
0
-7
0
0
0
0
0
0
25
0
0
0
0
0
0
95
-2
0
0
0
0
0
39
0
0
0
0
0
-2
65
0
0
0
0
0
-3
59
0
0
-4
0
0
0
6
0
0
5
0
0
0
33
0
0
-1
0
0
0
-45
0
0
0
0
0
0
48
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
6
1
0
0
0
15
0
0
-1
-3
0
2
42
0
5
-3
0
0
0
-6
0
0
0
0
0
0
-15
0
3
0
0
0
0
-14
0
0
0
0
0
0
5
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
62
1
0
0
18
0
0
1
-8
0
0
-7
0
0
20
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
34
-1
0
0
0
0
0
62
0
0
3
0
0
0
0
0
0
0
0
0
-74
39
10
0
26
0
0
-5
1
0
0
2
0
0
-1
-45
0
0
-6
0
0
0
-5
0
5
0
-6
0
0
-49
0
0
0
0
0
0
58
-5
0
0
0
0
0
62
0
0
0
0
0
0
-37
-1
0
-3
0
0
-1
71
0
-1
0
0
0
46
54
0
0
14
0
0
0
3
0
0
-2
0
0
0
47
0
0
0
-1
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
-3
0
-71
0
0
0
0
0
0
30
-1
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
-5
0
0
0
75
0
-3
-2
0
0
0
-3
0
0
10
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
-1
0
0
34
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
8
0
0
0
47
-3
-7
66
14
-3
23
23
-17
13
76
64
0
14
-2
0
-4
18
3
7
4
125
0
-10
56
-14
0
0
48
0
-21
2
-40
3
0
5
4
-48
0
0
-39
0
0
0
-3
0
-5
28
-5
0
2
0
20
-77
-3
-3
-8
8
0
0
0
0
0
0
0
0
13
16
3
34
123
5
2
129
-4
4
2
-41
3
0
19
-15
0
2
-38
-1
0
22
5
-2
-29
2
2
-3
-1
-78
0
0
-2
0
-5
0
30
64
-49
0
-1
0
0
25
0
-3
0
-2
-3
-4
74
-30
-2
7
15
1
70
22
0
-11
-72
2
0
0
-14
-1
2
0
67
3
-8
-18
16
-78
10
19
-11
-14
-44
1
-9
22
-1
2
2
-8
0
2
34
0
-4
0
20
-1
0
-2
-6
-2
7
1
-1
0
1
5
-11
0
-2
22
0
0
8
0
5
-48
-11
53
21
0
0
0
47
0
-31
-55
45
8
59
43
0
24
-32
8
0
-31
-11
1
-43
51
21
-3
0
-22
0
-80
-4
-9
-2
0
87
0
3
-1
-5
5
0
-7
1
25
2
0
48
0
5
-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
0
0
0
0
0
0
0
0
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
0
-1
-18
0
0
-67
0
11
0
39
-3
0
7
1
0
0
-7
0
9
-7
-3
0
0
-103
0
34
-4
11
0
0
-4
0
11
0
0
0
0
0
0
-18
0
0
0
0
0
0
9
0
-50
0
25
1
0
0
14
-27
0
0
-6
0
0
0
0
0
0
0
0
0
-24
11
0
-4
3
0
0
-56
44
0
0
14
0
6
30
-23
0
2
62
0
0
0
41
0
43
9
0
0
10
-2
0
0
2
0
33
0
-15
0
-7
0
0
-7
0
11
0
0
0
0
0
-6
-20
0
3
-1
0
1
26
-9
0
0
8
0
0
15
0
0
-1
-9
0
0
22
65
-4
0
107
2
-14
24
-39
0
-13
72
4
0
25
-61
0
0
-6
2
-25
7
-25
0
1
15
2
-26
0
12
0
0
0
0
0
0
29
0
0
-1
0
0
0
62
10
14
5
0
3
-7
-69
0
-4
0
0
5
-14
-34
0
-15
-8
0
0
3
-57
0
2
-3
4
0
0
16
0
-33
-14
-2
-2
0
50
0
-1
-19
3
-1
-1
-22
0
-15
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
-33
0
-3
0
4
0
0
-39
-1
0
-6
-17
5
0
-35
1
0
0
-11
7
0
4
-8
0
0
1
0
0
-7
3
0
0
0
0
0
-4
-6
0
0
5
4
0
0
0
-1
0
0
0
0
0
-15
-3
-1
0
0
0
0
50
0
3
3
0
0
0
0
0
0
0
0
0
31
-44
0
-1
-14
0
0
1
-43
0
1
-61
-4
0
39
-14
0
0
43
0
0
-18
-1
0
-21
5
-7
0
14
-31
0
0
0
0
0
0
22
-8
0
0
0
0
0
-22
1
2
-1
-3
0
0
41
-2
1
13
1
0
44
3
0
0
0
0
0
19
-2
0
0
-31
-2
0
7
42
0
0
64
0
0
-4
58
0
0
21
6
0
-21
-50
0
0
-5
-1
0
-3
64
0
6
0
1
0
0
-30
0
0
0
0
0
0
93
1
0
0
0
0
0
-1
0
14
-6
0
0
5
5
3
2
-9
4
0
-10
58
0
-18
19
0
0
0
33
0
4
-11
3
0
0
57
0
16
4
0
0
0
24
0
0
4
-1
0
0
-11
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
18
-13
91
-75
4
50
-9
22
21
-53
70
-43
61
-41
18
-43
134
-34
-14
-12
9
16
15
17
23
14
31
-6
-18
-11
33
1
5
-22
-24
-3
-26
5
0
-2
-13
35
0
9
27
4
-7
12
0
-16
20
14
-73
31
1
-7
0
0
0
0
0
0
0
17
16
14
69
-14
-9
22
43
31
33
108
-12
37
3
18
-25
20
6
-39
-51
46
23
6
36
-20
-9
21
5
-48
25
-7
18
-26
-15
-54
0
19
25
16
14
5
-15
-1
-5
17
-8
-29
-20
23
42
31
-53
-75
24
78
-69
11
0
39
-58
-12
25
-24
56
35
4
-2
24
-15
116
90
-8
82
10
3
26
5
48
-11
20
68
10
22
5
-5
2
-15
45
17
5
-44
19
12
14
59
2
-5
16
8
-9
19
8
57
34
-38
0
-21
-3
29
4
81
21
-40
-25
-24
-8
32
-51
16
47
-1
-5
-6
38
-47
-2
-27
-4
44
-21
-9
20
39
24
-20
6
69
24
5
104
43
-14
1
-7
32
62
17
57
3
0
29
72
9
53
54
-3
-35
0
16
-18
-45
0
-20
46
8
42
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
28
-5
0
0
32
0
0
-13
-14
0
0
0
0
-2
3
-1
0
-2
19
0
0
14
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
12
-3
2
-7
0
0
27
-5
0
0
-2
0
0
0
0
0
0
0
0
0
90
14
0
-4
-71
0
1
-50
23
0
0
44
0
0
-2
6
0
0
0
0
0
-2
30
0
26
-1
-2
0
0
-26
0
0
0
0
0
0
48
-14
0
0
0
0
0
-66
0
0
-2
-1
0
2
-3
-2
6
0
0
0
45
0
-3
-1
56
2
0
-34
-23
3
14
14
0
1
18
74
0
1
53
1
0
0
37
0
-1
5
-2
0
0
6
0
0
-2
-4
0
2
1
0
6
5
0
0
0
48
0
0
0
-8
0
0
91
1
1
-1
0
0
-2
53
0
18
7
0
0
-6
0
0
3
15
6
0
-15
23
0
0
-9
4
0
0
-36
0
1
-9
0
0
0
-30
0
-1
2
0
0
0
17
0
0
-1
0
0
0
-5
0
-9
0
0
0
0
-75
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
50
0
0
0
0
0
0
-25
0
0
-2
0
0
0
0
0
0
0
0
0
25
24
0
0
0
0
0
0
47
0
0
0
0
0
0
54
0
0
0
0
0
0
-3
0
-10
0
0
0
0
1
0
0
0
0
0
0
28
0
-1
0
0
0
0
44
0
0
0
0
0
0
22
0
0
-6
0
0
-1
46
0
0
5
0
0
-5
31
0
-3
-1
-1
0
0
76
0
0
0
0
0
0
65
0
0
0
0
0
0
59
0
0
0
0
-4
0
4
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
-5
59
0
1
0
0
0
0
19
0
1
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
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
-7
35
0
0
-1
6
0
31
0
0
0
7
0
0
-2
2
0
0
0
-1
1
-5
6
0
0
0
0
0
0
0
0
0
0
0
72
0
0
-3
0
0
0
4
0
-43
0
0
0
0
0
26
3
4
0
-8
0
0
0
0
0
0
0
0
0
45
20
0
-1
80
2
0
8
27
0
0
-21
-5
0
13
-62
0
0
-4
0
0
0
29
0
-14
-5
0
0
0
54
0
0
0
0
0
0
30
2
0
0
0
0
0
-11
0
0
0
0
0
5
45
-8
-3
7
0
0
4
-51
0
0
30
0
0
-5
21
0
8
-4
0
1
-2
28
0
0
43
0
0
7
-26
0
0
8
0
0
1
50
0
1
5
0
-3
0
-7
0
0
0
0
0
0
-70
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-5
0
-2
0
2
30
0
0
5
1
0
0
15
0
27
16
0
0
-2
-26
0
0
-2
1
0
0
24
0
-6
0
0
0
0
-5
0
0
0
0
0
0
5
0
2
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
-43
-42
-21
10
-51
-49
54
4
-81
5
-8
19
-4
9
-37
41
-3
18
-14
64
18
-6
-14
0
0
-9
25
-20
25
-4
0
0
-4
-40
-80
1
-5
-42
0
-2
26
23
2
8
-44
2
36
11
0
-59
13
25
5
72
4
1
0
0
0
0
0
0
0
10
-6
-25
62
45
-7
34
53
8
49
-44
-14
-23
16
37
-25
0
-11
-51
-19
10
-78
-4
-6
-20
48
-3
59
-9
-31
0
0
-27
0
11
0
8
-7
57
0
33
-1
0
43
49
0
19
-3
0
-25
60
89
-17
-104
2
5
-15
2
1
-1
-46
29
16
12
50
35
80
19
-20
33
-62
18
21
59
6
52
-7
99
16
-10
-21
-26
44
101
25
-11
6
5
-9
-1
-9
-1
6
-15
-12
56
1
-32
0
-9
-2
19
0
1
0
-2
0
-22
10
13
-3
-2
20
14
49
35
8
31
-27
5
5
16
6
14
33
-1
32
-56
5
84
25
-45
-3
-18
5
-2
0
-44
42
-45
94
-1
-3
-28
-39
-15
-5
-26
46
2
-9
-25
-54
-16
-4
-36
-1
-5
15
14
22
0
45
-34
-8
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
-5
6
0
0
4
0
-3
14
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
-44
2
0
0
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
-19
-2
0
0
18
0
0
0
-16
0
0
1
0
0
0
65
0
0
0
0
0
0
0
0
2
-5
0
0
0
16
0
-3
0
0
0
0
-69
2
0
0
0
0
0
-63
0
0
0
0
0
0
4
0
0
0
0
0
-6
-33
0
0
-2
0
0
14
-17
0
0
-7
0
0
0
-48
0
0
0
0
0
0
-31
0
0
8
0
0
6
7
0
0
0
0
0
0
-10
0
0
0
0
4
0
6
0
0
0
0
0
0
35
-2
7
0
0
0
0
10
0
-1
0
0
0
0
2
0
0
-7
0
0
0
82
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
18
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
-13
0
3
0
0
0
0
36
0
0
-41
0
0
0
0
0
0
0
0
0
42
-53
0
0
-16
0
0
-17
9
0
0
33
0
0
6
37
0
0
7
0
0
0
52
0
11
0
-5
0
0
-2
0
0
0
0
0
0
14
0
2
0
0
0
0
-9
0
0
0
0
0
0
-6
0
0
1
0
0
-1
-2
0
0
75
0
0
0
-14
0
0
-27
0
0
26
73
0
0
-7
1
0
-4
79
0
0
1
-1
0
0
21
0
0
1
0
0
0
69
0
0
-4
-1
0
0
-22
0
0
0
0
0
0
14
0
0
0
0
0
0
15
0
-1
2
0
0
0
21
0
-2
33
0
0
-1
57
0
0
-23
8
0
1
6
0
0
2
1
0
0
29
0
-3
3
0
0
0
-3
0
0
-9
0
0
0
106
0
14
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
42
-23
-2
37
71
23
11
18
-68
-7
-3
10
49
-28
9
24
0
0
-9
-2
-7
0
-33
0
0
0
-28
10
0
-2
47
0
0
-9
-10
1
44
94
-10
5
35
0
99
18
-7
-10
54
1
0
0
0
0
0
0
0
0
-7
18
-17
42
-6
5
0
38
-5
-8
14
14
-6
13
4
48
1
-32
-16
0
5
-43
-106
2
56
21
16
-23
-10
-9
-3
5
21
0
-43
0
34
35
15
0
5
-8
2
22
-43
-1
51
11
5
55
-22
93
14
-19
-62
15
27
11
-9
64
26
-8
6
37
13
-9
-6
-9
-16
1
63
34
6
29
8
37
-32
11
18
0
36
22
25
33
71
-2
-2
11
92
-1
-30
-7
-20
9
-25
129
7
27
0
-5
-9
-14
2
21
33
0
29
30
-5
-1
0
0
-9
-71
-4
47
41
0
5
-23
-11
-2
-6
9
-19
0
24
43
-5
5
-10
22
1
-14
-46
-11
-44
-15
51
-2
-33
-23
-1
54
44
1
1
-2
-23
9
14
53
61
5
0
-46
0
-1
-16
-13
42
0
-10
5
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
-29
-3
0
0
71
0
2
5
1
0
0
-33
0
6
-1
-10
0
0
-13
1
38
0
-5
0
0
-7
-1
34
0
0
8
0
-3
0
10
0
86
-29
27
1
0
0
52
-8
0
0
60
0
0
0
0
0
0
0
0
0
-14
0
5
1
-43
1
0
26
75
0
-9
-35
2
0
63
38
0
0
5
-4
0
-1
53
0
-7
20
-8
0
0
35
0
0
0
6
-7
0
31
26
19
0
-2
17
1
10
-1
0
0
-8
0
15
-28
0
-9
29
1
0
-33
56
0
-1
6
14
0
21
0
0
10
-24
-1
-7
67
-11
0
0
-8
-3
0
-3
-38
0
2
53
22
-2
5
39
0
0
-6
0
-5
-3
-12
-6
-1
-7
-11
4
0
-22
-3
1
0
0
0
0
1
10
1
0
0
0
7
-38
0
-30
-21
-1
0
0
25
0
1
78
9
0
-33
0
1
32
-10
-1
0
43
-114
0
-1
-9
1
-8
-4
40
0
-2
-11
0
0
-1
14
0
-1
8
0
0
0
-61
0
-8
0
0
0
0
-50
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
-13
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
-16
0
0
3
0
0
2
32
0
0
1
0
0
0
0
0
0
0
0
0
-13
-28
0
-2
-5
0
0
-6
-45
0
0
6
0
0
-1
1
0
1
2
0
0
0
-33
0
10
2
0
0
0
-5
0
0
0
0
7
0
-36
-1
0
0
0
0
1
-27
0
0
0
0
0
-7
-5
0
3
-10
0
0
0
-57
0
0
24
0
0
5
60
0
0
1
2
0
0
48
0
0
-4
0
0
0
-73
0
0
1
0
0
0
124
0
0
0
0
0
3
13
0
0
0
0
-2
0
6
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
-1
1
0
0
0
0
-4
0
0
9
0
0
0
-1
0
0
2
0
0
0
-14
0
6
0
0
0
0
5
0
-2
2
0
0
0
16
0
0
0
0
0
0
79
0
19
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
1
-1
0
0
0
0
3
5
2
0
0
0
0
-11
0
9
0
0
0
0
47
0
0
5
0
0
0
9
0
-36
-17
0
2
0
0
-4
80
0
0
0
0
0
0
0
0
0
0
0
0
39
-14
0
2
20
1
0
-44
-15
0
0
-31
0
0
11
-8
0
2
25
0
0
1
5
0
-16
-2
-15
0
0
55
0
0
0
0
1
0
1
-4
0
0
0
0
0
23
-2
0
0
0
0
0
-30
0
3
-5
4
0
5
-33
0
0
-16
0
0
-3
80
0
1
-15
0
0
-14
-34
-1
-5
-12
-2
0
0
-32
0
0
14
9
0
0
-11
0
0
6
0
0
0
107
0
0
0
1
5
0
-29
0
0
-4
0
0
0
92
-7
0
8
0
0
-2
39
0
-1
0
0
0
0
50
1
0
0
0
0
6
2
0
-5
5
0
0
8
35
-5
0
-17
0
0
0
-37
0
-9
37
0
0
0
-59
0
0
5
0
0
0
-6
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
36
-1
22
15
0
18
29
21
8
0
2
49
-62
0
27
0
0
3
1
-29
-4
36
0
2
-11
4
9
0
-1
12
0
0
7
-32
6
-11
-43
-41
-2
-17
0
22
0
6
8
75
0
3
0
0
0
0
0
0
0
-91
12
-4
17
41
4
0
17
-6
-1
19
1
45
-1
35
38
1
35
-52
-1
11
22
-19
0
-39
13
-48
7
-4
-21
2
1
2
0
-2
0
-36
16
43
0
0
5
-5
27
4
1
7
6
0
-10
-11
13
-33
77
-9
25
89
10
1
8
79
-2
9
10
26
-14
-21
-22
-67
1
8
29
-5
-4
32
10
7
24
21
-3
8
-41
7
-7
4
14
0
5
15
5
-5
14
62
2
10
-3
-4
-2
0
-21
19
-7
0
6
1
1
-17
71
-11
1
-2
-1
-12
-9
14
58
6
0
0
69
64
7
-57
17
14
-4
28
43
0
81
-27
17
-3
104
-19
14
53
38
44
66
-50
15
2
-25
-11
-13
-5
-11
47
1
13
45
43
1
0
-21
-3
-66
0
0
46
0
11
46
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-4
0
-20
14
33
0
0
-4
0
16
-5
-29
-2
0
6
0
-1
2
1
0
0
-5
0
-5
0
0
25
0
0
0
-37
1
7
14
1
1
0
0
-20
11
1
0
116
0
0
0
0
0
0
0
0
0
3
3
0
9
-44
0
0
48
-76
0
-3
32
0
0
-2
-63
0
-4
-21
2
3
1
-41
0
-16
55
0
5
2
-19
0
0
0
0
63
0
-57
21
-46
0
0
1
0
-35
-6
0
-2
0
0
8
11
-9
-3
8
1
0
15
40
0
3
49
0
0
82
-14
0
0
46
-6
0
1
10
0
6
11
0
14
32
-47
1
0
-14
0
0
-6
-3
0
14
-14
0
1
6
-19
5
15
11
0
27
0
9
-3
0
0
0
-2
0
10
-21
0
0
0
0
5
-11
1
25
-35
0
10
3
21
-3
-2
67
0
0
-14
-14
3
-11
36
-1
0
19
80
0
-4
35
-7
5
-1
23
0
28
-7
0
0
2
53
0
13
-10
0
5
0
-51
0
-12
6
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
-8
0
0
1
-9
-4
0
-1
0
0
0
6
0
0
0
-3
0
0
-8
1
0
0
0
-78
0
-1
0
0
0
36
11
10
-13
0
0
-4
-12
0
0
30
0
0
0
0
0
0
0
0
0
21
5
0
0
6
0
0
20
31
0
0
1
1
0
24
-74
0
0
-7
0
0
0
91
0
-4
-8
13
0
0
14
0
-2
0
0
0
0
12
20
0
1
1
0
0
21
-2
0
-2
0
0
6
3
0
0
44
0
0
-43
0
0
3
83
0
0
58
-53
0
0
-3
21
0
-5
68
0
-5
-4
1
0
-3
5
0
0
-74
-6
0
-1
21
0
2
2
0
0
0
-69
0
1
0
-8
0
0
-13
0
-3
0
0
0
0
-21
0
0
0
0
0
5
-5
10
23
-21
0
0
9
8
0
14
110
1
0
10
2
0
-11
19
-3
0
-7
79
0
0
25
-16
0
-2
-1
0
24
0
0
0
0
45
0
-2
0
0
0
0
-34
0
-32
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
12
-3
35
-3
42
16
9
23
-9
8
-1
-42
0
-31
-5
42
2
0
20
-3
-9
0
1
56
0
0
23
-5
1
23
-45
-4
33
-45
1
-33
14
90
4
-4
-3
1
0
0
0
0
0
0
0
-28
-35
10
0
9
7
-8
89
2
-24
25
-31
14
-1
56
8
-20
20
-12
0
-45
-6
-5
1
62
-51
106
11
33
-13
19
0
-20
13
-14
14
10
48
10
-2
44
0
-1
-12
-16
-9
3
34
0
13
24
83
-14
-66
-16
39
56
24
-16
73
-25
14
-5
-5
23
-47
58
-21
-38
20
52
23
0
61
1
14
30
-29
45
9
28
47
-7
-53
5
0
1
7
45
-5
-5
14
-8
0
2
-3
2
-23
0
-6
-22
1
1
23
-52
2
-18
-5
-10
3
-4
0
-31
19
55
58
-22
21
40
18
-21
54
-80
28
56
7
73
33
-7
0
25
-8
-19
-71
12
-13
-8
51
-43
-8
-26
-35
0
8
8
32
9
17
16
13
-21
12
62
-8
-5
-25
1
0
8
8
19
0
40
-20
29
-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
-32
-35
0
-1
0
0
-2
59
60
0
0
4
1
0
0
45
0
0
5
-1
25
0
0
2
0
0
0
4
0
-22
7
1
-7
0
0
-4
19
0
0
24
0
0
0
0
0
0
0
0
0
12
-13
1
0
-49
7
0
-57
0
5
4
24
0
0
24
29
0
2
14
0
0
17
38
-4
-44
6
13
0
-2
61
0
0
0
1
-1
0
-4
-4
-11
0
-3
0
0
-6
-13
0
0
-4
0
0
-126
5
5
39
0
0
-15
86
0
1
-3
0
1
-11
27
-1
0
17
-9
0
96
0
0
2
-50
10
-7
-7
52
4
25
7
0
0
1
2
0
0
-26
0
5
0
126
0
0
-1
2
-14
0
-29
0
-2
0
0
0
0
43
7
0
0
1
0
-1
10
0
-24
6
0
4
-8
14
0
-24
57
4
0
1
-35
0
1
19
1
0
-27
0
0
-1
-5
4
-5
3
-3
0
30
2
0
0
0
14
2
-1
6
0
0
-2
11
0
2
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
1
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-19
0
0
-1
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
-2
80
0
0
4
0
0
4
13
0
0
0
0
0
1
14
0
0
0
0
0
0
-11
0
-2
2
0
0
0
11
0
0
0
0
0
0
58
1
0
0
0
0
0
-44
0
0
0
0
0
0
60
0
0
0
0
0
3
-6
0
0
3
0
0
0
-15
0
0
4
0
0
7
56
0
0
0
0
0
0
-3
0
0
0
1
0
0
32
0
0
0
0
0
0
1
0
0
0
0
0
0
31
0
0
0
0
0
0
20
0
0
0
0
0
3
5
0
-4
0
0
0
0
3
0
0
-3
0
0
0
13
0
13
0
0
0
0
45
0
0
1
0
0
0
0
0
0
0
0
0
0
14
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
9
0
0
0
0
0
-20
7
3
0
0
2
0
0
2
0
0
0
0
0
11
0
0
-1
0
0
0
0
0
-11
0
0
0
0
0
1
5
0
0
7
0
0
0
0
0
0
0
0
0
-9
62
0
0
25
1
0
-9
-46
0
0
3
0
0
-9
43
0
0
1
0
0
13
-2
0
-33
0
0
0
0
-11
0
0
0
0
0
0
50
0
0
0
4
0
0
-13
0
0
0
0
0
0
38
7
0
6
0
0
5
-92
0
0
5
0
0
5
70
0
0
-17
9
0
0
25
0
0
-14
6
-1
0
-53
-5
0
0
0
0
-19
-10
0
0
0
0
0
0
7
-2
0
-1
-7
0
0
48
0
0
0
0
0
0
-2
0
-3
0
0
0
3
-9
0
-2
0
0
0
2
-51
0
0
4
0
0
0
-94
0
0
-43
0
0
0
1
0
-5
3
0
0
0
-8
0
1
0
0
0
0
1
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
-34
5
4
1
-41
18
-4
14
-31
0
0
-2
0
-30
0
-17
0
0
0
-21
53
0
0
20
0
0
-9
-16
0
8
61
5
2
-4
0
18
-48
-1
-2
66
7
0
0
0
0
0
0
0
0
-14
-72
0
2
73
0
0
-1
20
2
-21
-23
-25
-4
31
51
1
7
5
-3
2
-3
-8
-1
28
5
18
0
-8
-9
0
0
0
-2
0
0
47
53
-29
0
0
0
0
-41
46
0
0
1
0
50
-15
-75
-35
8
1
-1
36
10
-6
3
-128
-5
8
68
36
0
0
-25
-9
0
-38
-35
0
0
-14
13
-1
55
5
4
5
73
-93
10
-19
-4
0
-1
-4
-4
4
5
13
2
-2
3
11
-4
7
31
4
0
0
-5
2
0
-3
45
0
0
7
0
-5
-15
0
81
-6
2
0
-5
12
0
60
-22
-7
-1
39
-40
-2
93
47
-5
5
26
76
0
1
60
0
0
1
8
0
-3
14
0
-1
-2
-1
0
0
45
9
0
0
-2
0
45
0
8
-11
0
5
-2
-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
-4
0
0
-1
0
0
0
-3
0
0
0
0
-8
0
0
-10
0
0
0
0
0
77
0
0
0
0
0
0
33
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
-20
0
0
-27
0
0
-9
6
0
0
0
0
0
0
-5
0
-34
0
0
0
0
-1
0
0
0
0
0
0
-44
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
-15
-6
0
0
0
5
0
0
0
0
0
-1
-8
0
0
5
0
0
-3
45
0
0
2
0
0
0
-6
0
0
5
0
0
0
35
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
1
0
0
0
0
0
-5
14
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-17
0
-1
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
69
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
20
0
0
0
0
0
3
-45
0
0
0
0
18
11
0
0
-24
0
0
0
0
0
0
0
0
0
31
-1
0
0
37
0
0
27
-20
0
3
3
0
0
3
-14
0
0
55
-2
0
9
-17
0
27
54
-54
0
0
16
0
0
0
0
0
0
12
-25
5
0
0
0
0
55
-1
0
-1
0
0
7
15
0
0
29
0
0
14
-31
0
0
-42
0
0
39
33
0
1
-28
45
0
-25
2
0
2
14
0
0
53
63
0
-20
-14
-22
0
-4
27
0
0
9
0
0
0
12
0
1
0
9
0
0
1
0
-7
0
0
0
0
-37
-1
0
0
-3
0
-2
1
0
-15
0
0
0
-3
15
0
4
15
0
0
5
45
0
-36
29
0
0
0
13
0
10
26
-1
0
-6
52
0
0
-6
0
0
-2
85
-1
-6
-6
-1
0
0
65
0
24
-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
5
-26
-1
0
-35
4
17
0
-20
0
0
7
3
-109
0
0
-61
0
0
0
0
0
-14
31
1
0
-2
0
15
21
1
-2
-5
0
-8
0
0
0
0
0
0
0
-7
-17
0
1
-39
-1
0
25
-30
-4
-6
-31
6
0
14
-4
2
1
36
2
0
0
43
0
52
-14
7
-5
0
-13
0
0
-2
-1
31
0
-70
18
-8
0
-4
0
-4
-55
0
0
2
0
0
0
33
2
16
11
13
11
8
-8
0
-11
-26
0
0
14
31
0
24
33
21
-5
-5
19
6
5
-19
-20
0
26
-11
-4
-24
5
12
3
0
33
0
-2
66
0
35
0
91
-8
2
3
15
-35
0
7
4
0
0
-4
0
0
-28
6
3
0
0
0
1
3
1
8
-8
0
3
0
-45
0
-36
43
6
0
0
10
0
24
9
0
0
0
45
0
17
66
33
-2
-2
44
0
89
-15
-6
0
0
23
0
-10
0
-7
1
0
42
0
67
0
0
-11
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
1
0
-1
3
1
0
0
1
0
-37
0
-2
-33
0
0
8
0
0
38
-4
25
-15
0
0
-7
5
3
-6
23
0
0
0
0
0
0
0
0
0
-13
-9
-9
0
18
0
0
76
-8
0
0
15
5
-1
61
0
0
1
-26
-4
0
0
61
0
60
-24
0
0
-3
-72
0
0
2
0
3
0
9
13
3
0
0
0
0
-10
-5
0
0
-2
0
3
6
-10
8
1
8
-13
35
20
0
1
41
0
0
-42
-4
0
-9
1
8
0
14
-10
0
1
14
0
5
11
0
1
0
2
5
-7
-1
-19
0
0
0
-3
-2
0
-26
0
0
0
7
-2
0
13
0
3
0
-2
0
0
56
3
4
3
0
0
18
-6
-4
-37
-8
0
-4
0
-16
0
14
33
-1
0
2
68
-2
-24
-14
0
0
17
-11
3
23
17
-11
-2
-2
0
0
-11
-6
0
0
0
102
0
5
-1
3
0
0
10
0
-14
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
0
0
0
0
0
0
46
0
0
4
0
0
0
0
0
0
0
0
0
10
60
0
1
2
0
0
0
6
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
-16
0
0
0
0
0
0
47
0
0
0
0
0
0
27
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
-6
0
-1
36
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
22
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
3
0
0
0
0
14
0
0
0
0
0
0
15
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
17
0
0
0
-5
-6
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
13
2
0
11
14
0
0
-1
2
0
0
-12
0
0
-3
0
0
9
0
0
-3
-10
0
0
0
53
0
0
0
0
0
0
36
0
0
0
-1
0
0
26
0
0
0
0
0
0
-3
0
0
1
0
0
0
34
0
7
0
0
0
20
-20
0
0
-3
1
0
18
28
0
0
33
0
0
-2
19
0
0
9
0
0
-1
55
0
0
2
0
0
0
-14
0
0
0
0
0
0
104
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
-16
32
0
0
-1
0
0
0
30
0
0
0
0
0
0
2
0
2
-1
0
0
0
2
0
0
0
0
0
0
-11
0
0
5
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
-54
1
0
0
7
0
22
8
-23
1
0
0
6
-27
0
0
-17
0
0
0
124
0
-28
-43
-11
-2
5
0
-56
-12
-2
0
-57
0
0
0
0
0
0
0
0
0
22
32
-2
-5
19
3
0
-19
15
-2
-2
23
24
-2
-29
22
0
0
21
0
-3
-4
44
0
12
1
15
8
4
-20
0
0
0
0
0
0
-5
14
-9
0
16
0
0
-50
32
0
0
0
0
-11
-25
2
-4
-16
-3
-2
-16
59
0
-2
19
-3
4
-33
-10
0
-11
23
-21
-1
33
-70
2
-6
134
-4
0
-1
-42
-10
-11
31
1
-5
0
-17
0
0
-1
0
92
0
32
2
-6
0
6
-22
0
5
29
0
0
11
-2
0
49
11
0
5
0
0
1
-24
0
12
58
1
-8
-23
-10
0
0
8
-17
-6
46
15
-1
-53
-43
0
3
13
-51
2
9
2
31
-7
-3
12
0
5
13
0
4
0
-22
0
-5
-1
5
-1
0
54
1
31
0
0
9
0
64
-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
-69
0
0
0
0
0
-3
-3
10
0
0
0
0
-27
0
0
-7
0
0
0
1
0
-26
0
7
2
0
0
6
-41
0
2
24
0
0
0
0
0
0
0
0
0
-2
24
0
0
-71
0
0
31
-56
0
0
26
0
0
-2
2
0
0
25
0
0
0
30
0
-8
-3
0
0
-2
94
0
0
0
0
0
0
53
-2
0
0
0
0
0
9
0
0
0
0
0
1
-5
1
-2
55
0
0
-1
-8
0
0
27
0
0
4
-35
0
0
-26
0
0
-17
-17
-1
0
-3
0
0
14
26
1
0
-2
0
0
0
31
0
0
3
0
49
0
13
-3
0
0
0
9
0
48
0
0
0
0
0
0
22
0
0
0
0
0
0
42
0
21
3
0
0
-3
33
0
0
-21
0
0
2
-39
0
0
1
0
0
0
37
0
-2
-7
0
0
0
31
1
17
-6
0
0
0
-31
2
-2
0
0
0
0
-45
0
9
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
-3
24
0
0
-2
0
0
0
18
0
2
-7
10
0
0
0
44
0
0
-3
0
9
9
36
2
17
0
0
42
0
0
2
-40
0
0
0
0
0
0
0
0
0
-17
15
0
-4
-4
0
0
49
32
0
0
50
-36
0
54
-24
7
0
3
0
0
17
-43
0
25
10
35
0
0
62
0
0
0
-1
0
0
-29
-27
2
0
10
0
0
30
-14
0
-2
0
0
-6
-10
0
-4
-20
-11
0
46
16
0
0
-2
0
0
16
9
0
-4
-66
6
0
-17
-33
0
38
-8
0
0
-4
-40
1
0
10
66
0
4
-17
0
-1
-18
0
0
0
13
0
1
-27
8
0
0
44
0
0
6
0
0
0
24
5
-2
0
0
0
17
103
0
-43
-8
0
0
10
14
0
-3
42
0
0
-1
22
0
25
54
0
0
8
39
-1
0
-9
20
0
10
22
0
-8
13
0
0
-7
-20
0
5
17
-1
0
7
14
0
-3
-2
3
0
0
67
0
-14
-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
27
0
0
-25
63
-69
0
-1
1
0
0
-1
6
1
-14
-14
-20
0
3
0
8
-31
4
2
-77
4
2
0
0
0
0
0
0
0
3
-40
-4
0
-4
0
-5
-3
-6
0
0
58
-3
0
15
-24
0
-8
16
2
0
-1
-45
0
24
-29
-26
0
-1
3
0
0
9
0
0
0
-9
29
-15
0
14
0
0
-13
-4
-1
0
-1
0
9
-8
0
-2
24
-4
-4
-56
-11
0
13
-6
15
-1
51
12
-6
-15
-53
32
0
112
19
-1
-9
4
-32
22
24
25
1
2
79
5
-4
-3
55
0
-4
-5
8
-1
0
-16
-2
1
-5
5
-8
0
16
0
0
0
-1
0
0
-28
33
5
-7
0
0
4
44
0
29
-21
-1
-6
-15
-5
6
35
10
-18
0
-14
-31
0
-1
-16
-1
0
0
33
0
0
-5
-8
0
-1
42
0
-22
29
5
2
0
13
0
-6
-7
-41
-5
0
8
0
63
-3
0
2
0
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
-8
0
0
0
0
25
0
-4
-4
0
0
0
-3
0
20
6
-4
0
0
0
33
-11
0
0
-9
0
0
0
0
0
0
0
0
0
-62
-14
4
1
99
4
1
26
-14
0
7
17
1
0
-4
46
0
0
-14
0
3
7
0
2
14
4
4
0
0
27
0
0
0
0
-4
0
41
1
-8
0
0
0
0
34
0
0
0
0
0
1
97
5
5
64
1
-3
53
-23
-4
0
-1
0
0
-6
77
-2
46
-19
10
0
54
-44
0
0
5
-2
0
0
5
0
0
-5
3
0
0
0
5
0
-7
4
0
0
30
0
3
0
-3
16
0
61
1
5
0
0
0
0
38
-1
0
0
1
0
-4
20
0
3
-19
4
0
4
-8
0
-5
47
0
0
-2
29
0
34
-17
1
0
4
-33
0
7
-31
-5
0
6
-37
0
59
8
0
0
-4
0
0
0
1
6
0
0
72
0
18
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
18
0
0
2
0
0
0
0
0
0
0
0
0
-5
32
0
0
0
0
0
26
19
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
55
0
0
0
0
0
0
-8
0
0
7
0
0
0
33
0
0
0
0
0
0
-14
0
0
0
0
0
0
26
0
0
0
0
0
0
15
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
35
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
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
-8
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
-1
0
0
0
14
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
-34
0
0
0
0
0
0
50
0
0
0
0
0
0
-8
0
0
0
0
0
0
-32
0
0
-1
0
0
0
-6
0
0
0
0
0
0
-16
0
0
-5
0
0
0
-1
0
0
0
2
0
0
-44
0
0
0
0
0
0
-7
0
0
0
0
0
0
53
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-1
0
0
-9
0
0
0
-2
0
-4
-2
-1
4
0
0
-5
-32
0
0
53
0
0
0
0
0
0
0
0
0
23
5
3
5
-32
0
0
-8
6
0
2
-4
0
0
-1
-9
0
0
9
-2
0
9
-9
0
25
4
9
-2
0
28
0
0
0
1
0
0
-13
5
-5
0
0
0
0
33
0
0
0
3
0
0
50
1
0
0
0
0
-9
7
0
0
-3
0
0
-1
-31
-6
1
80
6
-1
3
36
2
4
-1
-3
-1
8
27
0
8
0
-6
-1
0
-22
1
-1
1
0
8
0
-46
0
-6
0
0
27
0
-48
0
0
0
-2
0
0
-6
0
0
0
0
0
2
-53
-10
-8
0
-1
0
1
-34
2
-2
3
-2
0
0
-20
0
14
-3
1
0
0
19
-3
0
0
-5
0
8
-3
0
-20
-5
-5
-3
0
-49
0
0
0
4
0
0
34
0
0
0
0
-2
0
86
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
-2
0
0
-1
0
0
0
0
0
16
0
0
0
0
0
-2
-32
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
0
0
-5
0
0
0
7
0
0
0
0
0
5
-2
0
0
0
0
0
1
-1
0
3
0
0
-1
0
-13
0
0
0
0
0
0
24
0
0
0
0
0
0
-37
0
0
0
0
0
0
-10
0
-3
0
0
0
0
-9
0
0
13
0
0
0
8
0
5
-5
0
0
0
-6
0
0
0
0
0
-7
0
0
0
1
0
0
-1
-6
0
0
0
0
0
0
-5
0
0
0
0
11
0
-3
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
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
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
69
0
0
5
-6
0
0
0
53
0
0
0
0
0
37
0
4
-2
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
0
-5
48
1
0
43
26
0
1
-2
-69
0
-3
10
0
-7
54
0
0
4
30
-2
23
-39
9
0
0
-19
-9
0
8
0
0
0
-4
-26
-6
0
-6
0
0
-2
1
0
-5
0
0
15
20
0
0
-19
-5
0
46
36
-1
0
12
-3
0
61
-31
0
-23
4
4
0
-55
0
0
0
62
0
0
8
-52
-4
-1
3
-56
0
16
46
0
-5
-72
0
0
-1
-11
0
0
1
7
0
0
-6
0
0
0
2
0
1
66
-6
0
0
0
0
5
2
0
33
-33
0
0
-10
67
0
1
57
17
0
4
-16
4
53
-47
0
0
-2
-5
0
25
0
0
0
0
7
0
-15
-4
0
0
2
19
0
-8
28
8
0
0
-36
0
99
-1
0
0
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
2
0
0
0
0
0
-51
0
-4
0
0
0
0
-21
0
0
1
0
0
0
0
0
0
0
0
0
0
40
0
0
22
0
0
0
31
0
0
0
0
0
1
-10
0
0
-6
0
0
0
37
0
-11
-1
3
0
0
47
0
0
0
0
0
0
77
7
0
0
0
0
0
16
0
0
0
0
0
0
18
0
0
-4
0
0
-3
-34
0
0
7
0
0
-2
66
0
0
-1
8
0
0
-56
0
0
-2
0
0
0
-10
0
0
-3
0
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
2
0
0
0
-4
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
2
0
0
0
4
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
0
0
0
0
0
0
0
0
0
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
-14
0
-26
-4
3
0
0
0
5
-5
-2
0
11
0
-2
0
0
0
0
0
0
0
-59
5
17
17
-5
0
0
-45
44
0
0
14
1
0
5
-48
0
-2
80
0
0
0
-6
0
-48
1
-13
0
-1
0
-3
-1
-4
4
-5
0
35
-8
-19
0
0
0
0
27
-16
0
0
0
0
1
-51
9
10
43
0
13
-6
-15
0
-1
-20
0
1
2
5
4
0
6
-6
0
-33
14
0
-16
5
4
0
15
-2
0
1
-34
4
3
1
15
0
0
-1
0
-9
0
0
0
0
0
-4
0
0
7
1
0
0
-2
0
0
52
11
0
0
-1
0
-2
-45
0
-13
6
0
-9
0
-8
0
-9
19
-3
0
-21
-31
0
-10
21
0
2
1
39
1
-3
13
-3
-1
0
14
0
-13
-10
0
-2
0
-4
0
0
-1
0
0
0
0
0
2
-6
-2
6
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
3
0
0
0
0
0
0
48
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
14
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
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
10
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
-11
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
11
0
0
0
0
0
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
33
0
0
0
0
0
22
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
-43
-45
0
0
29
-1
0
-5
-4
0
0
0
-8
0
2
14
0
0
-1
0
0
0
21
0
29
0
-5
0
0
47
0
0
0
0
-7
0
-11
0
0
0
0
0
0
-32
0
-2
0
1
0
0
-8
0
0
0
0
0
0
-57
0
0
49
0
0
2
53
0
0
0
1
0
14
10
0
0
2
0
0
0
-3
0
0
0
11
-10
0
-62
0
0
2
0
-5
0
-9
0
0
0
-3
0
0
-2
0
0
0
8
0
0
-20
2
0
0
0
0
0
79
0
-6
0
0
0
0
-2
0
0
0
2
0
0
-18
0
0
0
0
0
-1
-14
0
0
0
4
0
0
33
0
2
0
0
0
0
4
0
0
0
0
0
0
24
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-8
4
0
0
0
3
-44
0
0
-4
0
-3
0
0
0
0
0
0
0
41
22
0
4
-16
0
0
51
8
0
0
27
0
-1
10
24
0
0
17
0
0
-5
-2
0
6
-3
0
-1
6
8
0
0
-1
0
5
0
-4
-2
0
0
0
0
0
26
0
0
0
0
0
-1
1
0
0
8
0
-3
0
-41
0
0
-3
0
0
-35
-9
0
-9
62
0
0
-3
-4
0
-8
4
-6
0
8
4
-3
4
3
0
0
0
49
0
0
2
0
23
7
-25
0
0
-6
0
40
0
0
0
0
4
0
0
0
41
0
0
0
0
0
0
69
0
-34
2
0
-1
-3
29
1
1
-1
0
0
-3
28
0
14
-2
0
0
4
2
0
-5
5
0
0
-2
-37
0
29
0
0
0
0
10
0
0
3
0
0
0
-32
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
14
-13
0
0
-10
0
6
2
9
-53
44
5
0
-22
-10
15
-11
-19
0
0
0
0
0
0
0
0
0
-7
16
5
-14
-54
-8
0
64
-27
0
-14
-2
54
0
71
19
0
27
6
0
0
1
21
8
23
20
-24
0
4
2
-34
-5
-9
0
0
0
47
48
-3
1
-26
0
1
-2
22
1
4
-11
0
-21
22
-4
14
65
42
0
-11
11
24
-20
20
5
0
29
25
21
15
-10
5
0
21
20
7
72
5
34
0
13
21
43
42
-6
100
0
-10
26
0
-14
-53
0
0
-1
3
35
-69
-44
9
0
0
24
-3
65
-3
-1
0
2
-29
-13
4
-27
-18
0
14
2
-14
16
-23
-10
0
-1
16
10
1
30
-50
0
91
4
-1
-22
32
7
3
-101
24
6
41
11
50
0
6
20
-1
-50
83
1
0
9
40
0
-10
60
-14
0
0
-3
-14
-42
14
-4
0
0
-9
8
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
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
-13
0
0
0
0
0
0
-9
0
0
2
0
0
0
0
0
0
0
0
0
-4
32
0
1
-7
0
0
0
23
0
0
0
0
0
-7
10
0
0
0
0
0
0
-56
0
23
0
0
0
0
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
-45
0
0
0
0
0
0
12
0
0
0
0
0
-2
2
0
0
15
0
0
-3
-4
0
0
-3
0
0
0
65
0
0
13
0
0
6
-1
0
0
2
1
0
19
-11
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
34
0
0
0
0
0
0
-24
0
0
-13
0
0
0
21
0
0
0
0
0
0
-8
0
0
14
0
0
0
-4
0
0
1
0
0
0
14
0
0
0
0
0
0
4
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
-38
42
-1
-5
-1
0
22
-29
1
-4
-31
0
0
0
0
0
0
0
0
0
-66
-4
-2
-10
-6
0
-2
-49
-14
0
0
39
-44
0
68
-59
0
-9
52
0
5
-14
-7
0
-37
10
33
2
0
66
1
0
6
0
13
0
-43
0
23
0
-4
0
0
1
15
0
1
-7
0
14
-8
10
2
-13
-11
0
-3
-2
0
-2
33
0
0
35
-43
0
34
-91
33
0
5
-44
4
-5
12
3
14
-1
-22
-3
55
-4
-21
-2
9
15
0
-6
-13
2
25
0
7
0
-1
1
4
5
0
-5
0
-1
0
15
0
0
-18
-5
0
9
0
0
0
-5
4
78
48
0
18
-26
-101
0
-2
43
2
0
-11
-1
0
-47
16
-1
0
14
-8
0
-25
17
-6
0
1
27
0
-46
42
-6
1
-4
79
0
-4
0
15
-1
0
9
0
11
-1
0
-5
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
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
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
0
0
0
-23
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
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
-2
0
0
0
0
0
0
23
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
-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
-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
-33
-11
1
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
15
27
0
-2
7
0
0
0
4
0
0
-3
0
0
7
32
0
0
-1
0
0
0
-1
0
27
-7
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
14
0
0
0
0
0
0
-19
0
-2
0
0
0
-2
1
0
0
2
0
0
0
-19
0
0
1
0
0
-7
30
0
0
7
0
0
0
-8
0
0
0
-20
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
32
0
0
0
0
0
0
35
0
0
0
0
0
0
14
0
-2
0
0
0
0
2
0
0
-11
0
0
0
22
0
1
0
0
0
0
17
0
0
-9
0
0
0
2
0
0
3
0
0
0
25
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
4
46
43
5
34
0
0
14
13
6
0
-4
0
0
0
0
0
0
0
0
0
-4
24
0
2
-58
0
0
106
-7
0
-4
-10
78
0
45
14
0
0
0
-3
0
0
1
0
-12
-14
29
0
0
28
8
2
0
2
0
0
43
-50
24
0
1
0
0
47
45
0
9
3
0
23
-25
-4
0
-49
-1
0
-64
-6
-3
0
-47
0
0
38
-18
0
0
54
2
0
129
10
-3
0
-77
0
0
-1
34
5
0
86
31
0
0
12
0
0
25
0
0
-4
8
0
21
8
14
0
0
-9
-5
1
0
0
0
0
36
1
0
3
0
0
-5
21
-3
23
49
0
0
4
24
0
-13
48
5
0
-23
7
0
-35
-60
5
0
-1
-20
2
-17
2
-5
0
10
15
-6
-45
3
0
0
0
-26
0
5
-20
11
0
0
-10
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-7
10
0
0
21
0
0
0
26
0
0
2
0
0
0
26
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
61
-5
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
-2
0
0
6
-15
0
0
0
0
0
0
-30
0
0
-1
0
0
0
14
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
90
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
-6
0
0
3
42
0
0
-1
0
0
0
45
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
43
4
2
7
-12
12
-18
0
0
0
0
0
0
0
25
-2
6
-17
23
92
4
51
6
-24
0
-11
-71
-26
12
-18
-6
-7
-4
-53
30
28
-16
14
4
35
-6
5
14
-7
-2
-15
18
-18
19
-6
-2
10
13
17
3
26
13
0
14
43
-23
96
50
-21
18
43
100
-9
-20
18
15
-7
-11
5
-15
11
4
40
2
-105
-17
35
26
9
13
-4
55
-22
59
12
-62
10
1
12
-34
-64
-54
61
-34
-5
13
85
23
-1
55
33
-9
-19
54
21
45
18
53
-6
22
-28
21
33
-23
-43
0
-34
7
0
11
-3
-29
8
-7
-3
-19
-8
-16
31
-21
-51
22
34
10
40
-59
-24
-11
9
-17
-10
19
52
-5
16
-42
17
75
48
-55
3
-43
0
38
-43
1
15
6
-42
57
23
42
61
-7
-7
15
0
-6
-14
-66
-5
6
-84
51
-4
15
-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
49
12
0
1
-2
0
0
0
0
0
0
0
0
0
47
-26
1
1
-40
0
0
-52
-46
0
-1
2
-9
-3
-53
-30
0
5
6
-4
2
4
23
0
13
1
-20
0
0
-102
0
0
-2
-5
7
-1
4
26
-2
0
0
0
0
-5
0
0
0
-1
0
-6
35
-9
-1
-3
18
1
109
-13
2
1
-21
0
0
56
-22
0
-1
36
9
0
-31
-32
0
0
24
-13
0
21
-31
0
5
14
26
-5
5
50
0
0
0
5
-2
-4
55
0
2
-1
0
33
0
2
0
2
0
0
0
0
-74
0
0
-1
0
0
14
56
-1
-29
57
0
2
0
-31
0
-2
-23
2
0
-2
73
-3
6
-5
-3
3
0
-3
0
19
-13
-2
0
0
-52
0
-24
1
0
0
0
-54
0
0
0
0
0
0
-5
0
26
0
0
0
0
76
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
33
-3
0
82
0
0
0
0
0
0
0
0
0
-16
31
0
0
82
0
0
9
-63
0
0
47
-1
0
2
-15
0
0
35
1
0
0
-42
0
-7
19
-20
0
0
2
0
0
0
0
14
0
48
27
0
0
-2
-9
3
-19
-5
0
-2
0
0
2
17
-5
9
39
1
4
-5
-47
0
0
-38
0
-1
20
0
9
2
-25
4
0
16
70
1
0
-7
0
0
20
-66
-3
0
-18
24
5
9
-15
0
0
4
0
-1
0
2
0
0
23
-13
-11
0
31
-1
5
0
0
-14
0
43
0
0
10
0
0
0
5
3
-22
16
0
0
2
-90
0
-4
-10
-2
0
10
22
0
-5
-9
0
0
-1
71
0
-5
5
43
0
0
30
0
-13
-2
0
0
1
22
0
-3
-1
-6
0
0
-11
0
-14
-2
6
0
0
-9
-13
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
1
0
0
0
0
0
0
0
0
0
0
0
0
21
-35
0
-2
5
0
0
-3
29
0
0
-33
0
0
-2
-17
0
0
4
0
0
0
78
0
35
3
-10
-2
0
0
0
1
0
0
-10
0
-26
29
0
0
0
0
0
7
0
0
0
0
0
5
23
0
0
0
0
0
0
52
0
0
2
0
0
-7
80
0
0
-1
1
0
0
-22
0
0
24
0
0
0
-2
0
0
0
2
0
0
-41
0
0
-2
0
-2
0
1
0
0
0
-4
7
0
-26
0
0
0
0
0
0
-43
0
0
0
0
0
0
4
0
-3
0
0
0
0
55
0
-1
-1
0
0
8
-41
0
-1
20
0
0
0
35
0
4
0
0
0
0
25
0
-4
0
0
0
0
-6
0
0
0
0
0
0
12
0
8
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
7
0
0
0
0
0
0
0
0
0
39
-49
0
-2
37
0
0
0
24
0
0
-18
0
0
0
8
0
0
-3
0
0
1
-17
0
-5
2
0
0
0
3
0
0
0
0
0
0
10
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
-3
-22
0
0
-27
0
0
7
-53
0
0
-20
0
0
0
29
0
0
0
0
0
0
80
0
0
-5
0
0
0
-26
0
0
0
0
0
0
58
0
0
0
0
-3
0
33
0
0
0
0
0
0
25
4
0
0
0
0
0
-6
0
17
-2
0
0
0
-17
0
0
0
0
0
0
64
0
-3
-2
0
0
0
21
0
-1
0
0
0
0
5
0
3
0
0
0
0
-5
0
0
0
0
0
0
26
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
84
0
-8
34
5
-1
-125
-53
2
0
34
-78
-6
-5
-43
7
-3
23
-1
6
0
24
-1
-2
9
32
-10
4
20
3
0
5
0
2
0
-4
-14
0
0
7
6
0
1
36
0
0
0
0
0
7
0
0
45
0
0
142
-74
0
2
7
-1
0
52
9
0
0
44
-47
-3
-5
15
0
14
-21
-26
-3
-6
-14
4
-2
17
23
0
16
84
0
7
-7
0
-3
0
2
0
0
5
-17
-14
0
4
2
-1
0
0
0
0
-2
-4
0
0
-1
0
0
48
0
33
14
0
0
1
100
0
13
11
7
0
-2
-67
0
51
55
-3
0
-5
-49
0
18
3
-2
2
-4
-64
0
4
54
0
0
-4
16
5
2
43
-8
0
0
-14
0
-35
0
0
-3
0
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
27
-9
-29
-85
-10
1
2
51
-4
2
52
-5
-8
83
4
3
-67
5
31
-28
103
-3
-19
-9
32
-47
-16
14
-30
33
52
-17
-2
-7
-27
1
16
22
80
21
2
-47
-60
56
-25
-5
-13
0
13
8
-13
-60
-4
-7
-7
-13
-18
24
33
51
-12
-2
70
-25
30
23
42
20
-3
-44
61
14
-12
43
-15
1
14
25
81
-14
112
-9
0
-52
-62
22
23
4
-4
-28
125
43
0
-8
3
-3
-8
2
-65
-18
-22
62
12
-11
-15
41
-74
57
9
98
0
53
46
36
3
24
-33
-12
34
13
-13
54
10
19
-2
31
-3
-6
-43
22
12
-25
-26
2
-8
7
94
6
4
4
-3
-36
49
-2
55
-38
-3
25
-32
-29
-14
4
16
-5
24
-9
-19
48
2
15
-18
-32
-13
21
-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
21
4
0
0
-66
0
0
-4
12
0
0
14
0
0
2
26
0
0
3
0
0
0
-12
0
42
-13
0
0
0
-21
0
0
0
0
0
0
42
2
0
0
0
0
0
-12
2
0
0
0
0
0
112
0
-6
1
0
0
1
39
0
0
27
0
0
1
65
0
0
20
0
0
2
26
0
0
-14
0
0
3
34
0
0
0
-5
0
0
28
0
0
6
0
0
0
69
0
0
4
0
0
0
-44
0
0
0
0
0
0
9
-15
5
-1
0
0
0
25
0
3
0
0
0
0
14
0
0
-17
0
0
1
-71
0
-2
0
0
0
0
24
0
-2
2
0
0
0
-1
0
-3
0
0
0
0
8
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
10
0
0
-2
-14
0
0
-4
7
0
3
-87
0
0
0
0
0
0
-1
0
18
0
-1
0
0
20
0
0
0
0
0
0
-64
0
0
0
1
0
0
89
0
0
0
0
0
-3
40
0
0
0
0
0
1
99
0
0
5
0
0
2
-28
0
0
-2
0
0
0
27
0
0
-5
0
0
0
16
0
0
-1
0
0
0
-59
0
0
0
0
0
0
-11
0
0
0
0
0
0
-39
0
0
0
0
0
0
-21
0
0
0
0
0
0
-73
0
26
0
0
0
0
11
0
0
0
0
0
0
-26
0
-2
0
0
0
0
4
0
0
-8
4
0
0
69
0
-1
0
0
0
0
1
0
0
-1
-1
0
0
-8
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
-9
6
25
14
18
0
38
67
20
-17
27
62
-5
-3
-81
6
4
-13
-27
27
18
-9
47
0
-46
11
27
8
2
15
-14
-2
0
2
9
0
7
46
22
0
21
-5
-2
5
-47
0
-5
0
0
-10
-18
-15
34
-31
-4
16
2
-27
0
7
55
0
0
74
57
27
-23
-24
-60
33
23
46
4
5
29
2
7
50
-16
5
-3
81
-3
11
1
-4
3
0
-26
1
38
0
24
6
3
-5
-15
12
0
-16
-6
3
0
4
4
0
34
-25
5
-1
-2
0
5
82
2
27
60
0
1
30
-35
1
66
61
-16
-2
77
-43
-4
67
13
-7
0
-9
-50
3
38
70
-37
3
-32
21
10
-24
66
24
-1
16
44
-2
-11
74
48
-6
0
-80
0
-81
1
0
5
0
-31
-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
33
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
-2
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
-30
0
0
2
0
0
0
26
0
0
-3
0
0
1
81
0
0
0
0
0
0
20
0
0
3
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
-9
0
0
0
0
0
0
68
0
-1
0
0
0
0
18
0
0
-10
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
72
0
0
0
0
0
0
56
0
0
0
0
0
0
-5
0
0
0
0
0
-1
-16
0
0
-5
0
0
0
-31
0
0
0
0
0
0
-61
0
0
-2
0
0
0
-2
0
0
0
-2
0
0
-27
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
5
0
2
0
0
0
0
-26
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
-3
39
9
33
-18
49
3
-14
10
2
-16
47
15
4
8
-14
1
-6
7
8
-48
27
12
44
1
-18
29
-9
1
2
-12
20
3
2
26
-10
27
46
27
52
-8
0
-21
22
-37
9
14
0
33
53
-10
16
-85
47
4
25
-14
-33
1
-50
-5
72
-8
-9
3
-34
-18
30
9
11
43
9
19
21
15
-1
48
43
-2
-6
96
-17
10
7
11
10
87
-8
33
-52
44
0
4
-12
52
7
-16
6
-2
47
-13
-18
-6
-43
3
26
-14
2
-26
15
5
44
10
42
-60
-16
87
37
-5
-14
-15
52
17
28
-36
-18
91
11
7
84
34
-79
-43
26
15
-43
44
32
64
-20
25
-10
-4
46
18
31
-9
0
-12
-14
31
20
-3
-6
0
12
26
-7
26
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-59
35
-12
29
17
-27
-30
-9
45
11
10
-14
25
-52
1
16
-23
-33
-43
5
-5
-11
2
2
-1
16
0
-5
-9
-97
-1
41
-4
31
24
4
-6
-90
57
5
33
10
43
3
9
25
18
7
4
67
68
14
-58
-14
-1
0
8
4
-3
22
3
10
-33
-37
-14
-57
33
33
12
-45
-23
-22
15
-21
26
35
-12
-5
-9
-15
-25
8
-78
-26
9
31
-35
-5
13
-2
5
-47
-25
8
13
40
3
-36
51
-1
-6
-6
-4
-20
19
16
9
9
17
5
5
47
-62
65
54
-26
27
15
0
-10
28
44
-5
21
23
-29
63
10
-58
16
21
-80
4
4
28
-45
-35
12
-22
8
6
19
-15
-8
45
30
-4
13
-50
-17
-16
67
-3
33
62
55
-19
-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
23
0
0
5
0
0
-1
-34
0
0
0
0
0
0
3
0
-5
0
0
0
0
-15
0
0
0
0
0
0
19
1
0
0
0
0
0
-3
0
0
0
0
0
4
47
1
0
3
0
0
0
12
0
2
1
0
0
1
59
0
-3
0
1
0
0
29
0
0
0
0
0
0
37
0
0
0
0
0
0
-32
0
0
2
0
0
0
-5
0
0
0
0
0
0
23
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
1
5
0
0
0
5
0
0
-1
0
0
0
36
0
5
0
0
0
2
-9
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-16
-7
0
0
-7
0
-3
0
40
0
57
3
1
0
0
-16
0
-6
0
0
0
0
-36
5
0
0
0
0
0
33
0
0
1
0
0
-2
14
-2
0
5
-6
0
-32
-9
0
11
5
0
0
-20
-5
-3
5
4
0
0
2
62
1
0
53
0
0
0
8
0
0
1
0
0
0
-7
0
0
-1
0
0
-4
12
0
0
0
1
16
0
13
0
0
0
0
0
0
-24
0
0
0
0
0
0
5
0
9
32
0
0
0
-74
0
0
53
-4
0
5
109
0
-5
26
0
0
-4
9
0
8
-7
0
0
0
39
0
0
6
0
0
0
6
0
0
16
0
0
0
70
0
-2
0
0
0
0
-10
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
-10
2
33
-12
13
-16
3
13
3
-4
52
4
11
27
17
5
10
67
75
-8
11
-26
-1
-2
62
-5
100
0
-16
-35
-16
-3
-4
-11
1
9
4
-9
7
0
-1
18
34
4
100
46
-37
73
32
-43
14
12
10
-8
9
15
22
-1
-21
-13
64
-2
73
8
2
-36
-28
25
-10
-94
15
-15
40
-9
-22
19
47
29
0
15
44
17
-11
-6
17
-3
35
-55
73
-100
0
-13
-13
-1
0
-10
-3
7
31
-55
4
53
20
0
-2
-33
-4
-25
14
2
-9
76
-7
63
-41
-45
34
-5
8
43
0
6
35
-20
-2
87
26
5
29
-4
27
30
129
43
0
42
-56
-19
24
4
-45
5
5
55
-33
-14
2
31
10
-1
-14
-10
-10
0
-38
26
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
16
-42
0
5
6
0
0
-8
-11
0
0
-1
0
0
0
9
0
4
0
0
0
0
11
0
0
1
0
0
0
-46
-2
0
0
0
0
0
25
0
0
0
0
0
0
92
7
0
4
0
0
0
-4
0
1
2
0
0
0
29
0
0
-11
0
0
-2
57
0
0
0
0
0
0
24
0
1
0
0
0
0
57
0
0
0
0
0
0
16
0
0
0
0
-5
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
26
0
0
-7
0
0
0
14
0
-2
19
0
0
0
-47
0
1
0
0
0
0
-3
0
-3
0
0
0
0
16
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
-29
0
0
-1
0
0
0
4
0
-3
1
-2
0
0
53
0
0
0
0
0
0
-7
-4
0
0
0
0
0
6
0
0
0
0
0
0
72
0
0
-4
-3
0
-1
53
0
0
5
0
0
74
-10
0
0
-2
0
0
-1
70
0
0
19
0
0
-1
5
0
0
-5
0
0
0
54
0
0
0
0
0
0
-6
0
0
0
-1
0
0
139
0
0
0
0
0
0
-5
1
0
0
0
0
0
10
0
5
-10
0
0
0
2
0
0
1
0
0
0
-8
0
-1
-2
0
0
0
5
0
0
-4
0
0
0
-9
0
0
0
0
0
0
6
0
0
0
0
0
0
14
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
-5
14
2
66
0
4
10
-12
0
22
-37
-53
2
-8
46
-2
0
14
-4
8
0
39
37
-5
0
-37
1
0
-37
20
-24
0
-1
0
-5
-43
20
-71
-53
23
-1
6
-2
0
-11
6
0
9
0
19
-5
-15
-51
7
1
0
-54
1
31
21
-1
-3
-20
13
-2
-2
9
11
2
1
-34
0
26
-52
1
14
-5
7
-2
-3
4
29
12
7
10
0
-4
0
-1
0
0
57
-23
25
0
6
0
-1
44
-2
3
51
-1
-5
34
60
0
28
-14
1
0
-1
-25
-1
-22
-35
21
1
16
-19
-10
71
-30
-25
3
0
4
0
-7
8
-5
0
0
-5
13
1
-4
0
-2
0
13
2
6
-4
0
1
0
92
-2
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
-28
-2
2
14
12
30
-7
-5
-8
36
-4
-4
-53
20
-11
-34
-19
-7
-3
-8
9
11
-17
32
-6
-2
-9
-1
-22
-19
-18
-6
-28
39
19
63
-19
8
22
30
-70
27
-13
-8
8
130
2
13
-53
22
-12
-59
40
10
34
24
-4
0
-4
-14
23
6
0
50
4
-15
-64
42
0
48
-1
-11
2
-39
72
-47
1
70
-2
-9
22
-9
-28
26
-3
2
-7
8
9
85
5
9
-19
57
-2
49
22
-1
-35
3
-61
42
-9
12
-54
10
-17
-41
6
-10
-94
-14
109
-2
2
43
99
-81
3
75
0
-19
-34
42
4
8
3
-8
-4
-15
51
-16
-32
8
-2
27
-39
34
-28
49
8
-9
18
-15
-1
19
55
2
10
-18
-15
4
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
1
23
0
0
2
0
0
0
69
0
-1
0
0
0
0
14
0
0
0
0
0
0
14
0
0
0
0
0
0
45
0
0
0
0
0
0
-27
0
0
0
0
0
-3
5
0
0
-4
0
0
0
17
0
0
-6
0
0
0
-36
0
0
1
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-18
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
7
0
0
0
0
-43
0
0
-1
0
0
1
6
0
0
4
0
0
0
-14
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
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
-4
63
0
0
-4
0
0
0
15
0
-11
-14
0
0
0
-50
0
0
0
0
-1
0
-37
18
0
0
0
0
0
1
0
0
2
0
0
0
6
0
1
2
0
0
8
-5
0
0
-15
-1
0
-23
7
0
0
19
6
0
0
-3
0
0
3
0
0
0
-42
0
0
-6
0
0
0
72
0
0
-3
0
0
0
-3
0
0
0
2
0
0
27
0
0
0
0
0
0
46
0
0
0
0
0
0
-53
0
11
14
0
0
0
9
0
0
5
-2
0
3
24
0
7
6
0
0
0
-11
-2
-3
0
0
0
5
68
0
-3
3
0
0
0
8
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
17
4
-2
38
-3
10
-21
2
-1
5
-14
1
1
0
7
23
4
-16
-1
97
0
24
-24
19
16
53
5
0
0
0
-7
5
-41
14
20
36
9
-12
38
-6
56
7
0
1
37
-14
0
-29
-39
15
6
-22
-6
7
-5
-13
7
-4
64
24
0
43
-13
116
1
48
4
0
29
53
-3
43
0
16
0
-1
-4
-39
53
0
45
1
1
0
2
-11
0
8
-64
5
-15
0
0
16
-9
-11
41
43
0
0
-62
49
4
14
25
-19
6
33
2
0
14
103
6
-7
5
-10
2
-49
33
-68
0
6
56
3
59
-1
-2
20
8
4
1
-3
-3
3
-11
2
16
7
-4
-5
0
37
0
-4
14
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
-4
0
4
26
0
0
-1
-7
0
38
25
0
-7
1
45
0
0
0
0
-7
0
7
19
-7
0
0
0
-11
36
0
0
1
0
0
1
10
0
0
-4
0
4
16
34
0
-1
87
0
-10
26
26
0
-1
7
0
4
-80
-18
0
0
40
0
-5
-8
-44
0
0
-65
0
0
-4
-19
0
2
-48
0
44
0
54
0
13
17
0
-29
0
-14
0
-32
0
0
8
0
-26
48
0
0
0
0
10
14
0
5
56
0
0
-5
2
0
0
-12
-4
0
11
-1
0
20
38
0
3
14
31
0
0
40
0
0
0
-65
0
67
-11
0
0
0
75
0
-5
33
0
-4
0
0
0
28
-1
0
-2
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
4
-9
0
0
0
0
0
0
-7
0
5
0
0
0
0
-24
0
0
0
0
0
0
-57
-3
7
0
-2
0
0
24
0
0
0
0
0
0
-33
0
-3
0
9
0
10
125
0
0
-4
0
0
1
82
0
0
9
0
0
17
-62
0
0
2
0
0
0
17
0
0
2
0
0
-1
22
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-69
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
-49
0
-5
-7
0
0
-5
-30
0
-7
0
0
0
0
-5
0
0
-7
0
0
0
-19
0
8
0
0
0
0
-3
0
0
0
0
0
0
-34
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
1
17
-2
-19
8
18
0
0
5
0
0
-7
0
-41
0
-27
-45
-2
0
13
0
0
-44
33
0
-7
-1
0
5
4
-14
15
-37
20
-4
-16
5
0
-13
77
2
0
5
42
4
-35
-13
-5
0
2
34
-4
4
18
-8
0
11
-21
0
5
-49
49
17
-4
16
0
-7
-22
-23
56
0
-25
-2
15
0
-31
25
0
1
0
6
0
-5
0
7
99
33
-11
0
2
0
-11
57
7
70
-1
0
15
0
-51
5
17
-37
-24
0
2
5
2
36
37
-1
-10
8
15
6
-7
7
33
18
0
-66
0
14
-33
0
1
0
-3
-17
4
-6
-2
0
0
-101
0
43
0
0
-23
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
33
-3
-6
-8
-27
13
0
4
3
41
-27
1
10
-2
12
6
31
21
0
-6
-32
-9
81
12
-3
51
-16
-20
-3
51
-57
66
-6
-11
100
76
-4
-5
-12
-8
-6
-16
-35
35
25
19
32
-6
43
-76
75
-10
-27
-13
0
34
-34
-23
-29
29
-19
7
14
79
-11
9
-9
3
18
-25
40
10
-12
-58
8
11
-81
13
-3
-25
-5
5
15
-94
21
-29
-16
4
-70
-39
-6
-1
11
-8
49
-35
-4
66
-6
-41
22
-16
63
-45
-26
-15
-30
-32
-6
41
-46
48
-14
-33
-2
-24
-12
0
-3
8
-5
8
6
43
-4
18
90
37
-13
15
14
-6
-8
-32
59
3
-25
-1
20
47
16
6
-30
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
-25
0
0
-9
0
0
0
45
0
0
0
0
0
0
-37
0
0
-1
0
0
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
9
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
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
-14
0
0
0
0
0
0
37
6
0
0
0
0
0
-37
4
0
0
0
0
1
-39
0
0
-29
0
0
0
34
0
0
4
0
0
2
-14
0
1
9
0
0
0
1
0
0
0
0
0
1
-14
0
0
0
0
0
0
-10
0
0
0
0
0
0
32
0
0
0
0
0
0
14
2
0
0
0
0
0
20
0
-4
1
0
0
1
37
0
0
0
0
0
0
-23
0
0
0
0
0
3
56
0
1
-13
0
0
0
-47
0
0
0
0
0
0
19
0
0
-3
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
-8
-15
1
10
-1
-25
7
20
-24
3
0
0
0
-33
0
-37
-49
75
0
-29
0
1
-31
-10
0
1
-4
0
-27
-33
36
-3
32
7
-32
64
47
1
8
-8
13
0
-86
4
3
74
15
22
3
-23
-42
0
13
-21
31
-7
-20
34
0
4
-2
21
-6
-14
-7
0
44
-17
0
14
-11
2
0
-16
0
-108
18
0
5
6
-2
0
0
3
0
53
46
-3
-1
0
0
-6
-12
0
-14
-6
-3
-3
-31
-2
0
-61
-55
-18
0
-21
67
-4
-5
-3
2
-4
-14
45
-7
13
-59
-26
9
-11
13
0
-4
-10
0
0
16
1
3
-15
0
4
31
0
-43
0
-14
0
5
4
0
-4
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
5
0
-3
0
0
0
0
-7
0
0
0
0
0
0
-57
0
3
0
0
0
0
59
0
0
0
0
0
0
85
5
0
0
0
0
0
12
0
0
27
0
0
-2
-83
0
0
36
0
0
0
30
0
0
2
0
0
-1
71
0
0
0
1
0
0
47
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-11
0
0
0
0
0
0
6
0
0
-3
0
0
0
14
0
-4
2
0
0
2
0
0
0
0
-4
0
0
-40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
-14
0
0
-1
0
0
0
14
-2
0
0
0
0
0
-5
0
0
0
0
0
0
-26
0
0
-1
-2
0
-5
24
0
0
1
0
0
-4
26
0
4
6
2
0
14
-14
0
0
-18
0
0
0
55
0
0
-1
0
0
0
-21
0
0
0
0
0
0
-5
0
0
-1
3
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
14
0
-5
0
0
0
0
45
0
0
4
0
0
0
34
0
4
6
0
0
0
13
0
0
-3
5
0
1
21
0
0
-1
0
0
0
-4
0
0
0
0
0
0
55
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
3
0
0
-2
0
-7
0
-28
1
0
0
0
0
0
41
-1
0
0
0
0
-2
37
0
-4
0
0
8
32
10
0
0
9
0
0
-5
18
0
-6
29
0
0
1
-33
0
3
2
0
-5
0
33
0
18
-23
5
0
1
14
0
-4
-25
0
4
0
28
0
0
0
1
-9
0
-32
0
0
0
2
0
0
-3
0
0
0
0
0
0
5
0
-7
5
0
0
-2
-14
0
0
-45
0
-1
0
-8
0
-3
0
0
0
1
37
0
-1
5
-21
-6
-1
-8
0
0
6
6
0
0
-57
0
0
-5
0
0
0
63
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
43
-18
0
-4
8
-2
28
3
23
72
12
0
9
-1
-2
1
5
2
61
5
6
-16
8
15
-35
-49
10
25
9
-40
-15
40
-10
15
3
23
3
50
23
-62
44
-6
-11
18
-25
-52
23
-65
29
31
10
53
35
-89
23
5
-38
0
0
-14
-27
-25
-15
0
21
29
34
20
-9
-38
-1
-25
-56
0
3
-9
-2
-2
24
96
-2
16
-36
0
-14
-72
33
70
65
-2
-14
-5
19
8
-33
34
-23
0
-29
-3
-2
-37
24
-40
2
-9
9
5
-5
24
17
18
-14
33
0
53
-43
35
31
24
0
0
-8
-15
6
0
-5
0
1
41
14
0
44
0
-4
72
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
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
-2
0
0
0
103
0
0
-1
0
0
-2
7
0
0
-5
2
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
41
0
0
-2
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
0
0
0
37
0
0
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
6
0
0
0
0
0
0
95
0
1
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-8
-2
49
-4
-44
0
27
13
0
-3
-1
-18
-3
6
-14
-7
71
-2
0
97
-8
-35
101
42
-25
5
44
2
23
71
56
15
11
60
-3
-5
-38
22
10
16
43
-26
1
51
-3
-38
13
-8
-73
1
42
23
57
9
0
-30
0
43
-11
29
-10
23
-1
24
1
53
-30
21
0
-2
-3
-8
0
14
18
-7
-14
-51
-17
-14
18
5
-45
-30
43
53
51
-8
-7
-36
25
9
-40
-25
-68
-8
12
14
0
-19
70
-3
0
65
-61
-5
5
-43
16
-3
-1
15
0
-6
42
35
5
21
-36
-18
10
94
55
9
2
19
9
47
3
1
-54
1
-11
-15
-5
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
5
0
49
-44
9
0
8
0
8
-23
0
0
0
3
0
6
-12
0
6
3
2
9
-24
24
-4
2
-71
2
-1
-52
21
0
2
12
20
1
33
-3
3
-2
-23
0
0
0
16
6
0
0
-1
0
0
6
0
0
1
1
-2
0
26
0
0
0
0
-4
0
19
1
3
0
0
0
0
4
-27
0
0
0
0
0
-5
0
80
11
-3
3
13
-24
0
0
30
3
0
17
-43
0
-71
-31
0
-1
-5
-13
0
-3
5
0
-5
0
78
0
15
0
0
3
0
34
3
4
0
0
0
0
-22
-3
15
0
0
0
0
7
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
-4
16
-2
0
0
0
1
0
45
-7
0
0
0
0
0
10
1
0
1
0
0
-5
-45
0
0
3
0
0
54
-15
0
0
4
0
-10
34
28
0
-5
8
0
2
56
26
0
-1
45
0
13
14
-33
0
0
25
-3
-1
0
14
0
-5
83
0
0
0
43
0
1
0
0
8
0
-25
0
0
0
7
0
0
25
5
0
0
0
0
-27
26
0
57
62
0
0
-9
51
3
45
-25
0
0
-4
49
0
-59
-59
0
-1
0
-20
0
21
120
0
-2
5
-31
0
8
25
0
0
0
45
0
0
5
0
0
0
-51
0
-58
0
0
9
0
-69
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
-45
0
0
0
0
0
0
28
0
0
0
0
0
0
-42
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
2
0
0
14
54
0
0
-14
0
0
1
-18
0
0
-4
0
0
0
32
0
0
15
0
0
1
43
0
0
-4
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
24
0
0
0
0
0
0
8
0
0
3
0
0
0
-8
0
0
0
0
0
-1
30
0
-5
0
0
0
0
-62
0
0
0
0
0
0
14
0
-2
0
0
0
0
21
0
0
5
0
0
0
-12
0
4
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
55
-7
0
0
0
0
0
3
0
0
0
0
0
0
-48
0
0
-1
0
0
7
-6
0
0
0
0
0
5
-2
0
0
34
-1
0
-18
-8
0
-5
23
0
0
0
-18
0
0
-13
4
0
0
-26
0
0
-2
0
0
0
50
0
0
0
-2
0
0
-21
0
0
0
0
0
0
2
0
0
0
0
0
0
-12
0
-6
0
0
0
0
-78
0
0
0
0
0
0
9
0
0
13
0
0
0
37
0
0
0
0
0
0
-38
0
-14
0
0
0
0
0
0
0
0
0
0
0
-34
0
-6
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
5
-9
23
-16
18
0
1
-16
56
-25
5
29
8
58
4
53
74
-71
69
8
-16
-15
3
13
-4
1
-2
13
8
53
23
46
28
4
-22
12
32
-49
15
-51
23
12
2
10
-41
-4
-1
-9
0
-3
-3
71
-30
45
32
23
0
-5
26
-32
4
-27
0
-9
-11
-15
0
7
17
-3
-35
26
-17
27
20
2
-22
-35
75
20
10
1
-20
14
-6
3
5
-69
32
-4
22
-11
29
-24
-8
-11
9
-42
23
-14
-1
35
11
2
109
7
5
-33
20
-14
-4
9
14
-3
39
39
-8
-9
-5
0
-2
2
-11
5
4
-1
-8
-17
11
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
-5
0
0
-1
-8
0
0
-1
0
0
1
44
0
0
2
0
0
0
24
0
0
13
0
0
0
2
0
0
1
0
0
0
52
0
0
0
0
0
0
-2
0
0
0
2
0
0
-47
0
1
0
0
0
0
6
0
0
0
0
0
0
1
0
5
-5
0
0
0
-18
0
0
0
0
0
0
1
0
-13
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
9
0
0
0
0
0
-3
-13
0
0
-2
0
0
-4
-5
0
0
0
0
0
0
-53
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
-16
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
27
0
-2
0
0
0
0
1
0
0
0
-2
0
0
-3
0
-1
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
96
4
0
0
0
0
0
-14
0
-9
0
0
0
6
-9
0
0
3
0
0
1
-29
0
3
-5
0
0
-3
-7
0
0
0
0
-2
-1
64
0
0
0
1
0
0
5
0
0
0
0
0
0
15
0
0
0
0
3
0
-16
-2
0
0
0
0
0
3
0
0
0
0
0
0
-16
0
0
-6
0
0
0
-5
0
0
1
0
0
-2
77
0
0
0
0
0
-6
21
0
0
3
0
0
0
-14
0
0
0
0
0
0
103
0
0
0
0
0
0
122
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
62
0
0
0
0
0
0
8
1
0
0
0
0
0
64
0
0
0
0
0
0
17
0
0
0
0
0
5
-32
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
-17
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
16
-13
-4
0
-1
0
0
-77
-1
0
0
0
0
2
30
0
0
20
0
0
25
25
0
0
-6
0
0
-28
37
3
-1
31
2
0
-1
23
0
7
2
0
0
1
-28
0
0
-4
36
0
0
-6
0
-18
23
0
0
-6
-24
0
0
3
-1
0
0
-9
0
-2
0
0
0
0
34
-3
0
0
0
0
0
43
0
7
-2
0
0
0
0
-1
10
36
4
0
0
2
0
-21
32
0
0
2
-4
0
0
-3
0
0
0
32
0
3
2
-1
0
0
96
0
0
-6
5
0
0
6
0
-29
5
0
0
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
24
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
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
24
0
0
0
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
19
28
32
8
84
7
-4
-13
-16
-38
-45
32
-3
21
5
30
20
4
-68
-30
-23
-12
-8
3
-11
74
-3
-1
-66
-16
-18
60
5
6
1
109
-18
6
25
-52
41
-22
-1
-40
-9
0
-22
-32
19
-27
-14
3
-89
-17
65
0
-5
38
2
9
15
-51
14
21
-14
71
-49
-15
12
9
110
8
50
-54
-13
43
4
52
-24
16
-34
-2
13
9
-66
-24
5
25
-43
-14
11
-81
-51
49
44
-14
56
-12
-5
-9
13
20
-26
-5
-20
-43
-16
68
-18
-25
53
9
-3
-57
-21
-9
46
6
0
0
-36
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
29
-18
0
0
1
0
0
-17
-5
-6
51
-8
2
57
-4
-3
5
-36
0
4
-68
-22
8
-8
10
-8
-1
-33
3
0
3
-33
0
-5
-10
-62
3
5
-11
4
0
-5
-11
0
9
23
0
3
-2
-16
14
0
-24
2
19
0
-13
0
-3
0
0
-3
0
-73
15
0
0
0
0
-6
-7
0
46
27
0
0
-2
-28
0
0
30
4
-3
5
1
-1
42
9
0
0
-6
44
0
-35
10
8
0
-3
-54
-5
23
-1
0
-3
-3
-23
0
8
-11
0
0
0
-52
0
-43
1
0
-15
0
24
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
1
-19
0
0
-11
-9
0
64
-13
0
0
5
0
0
1
-33
0
1
-14
44
1
-7
1
-2
0
14
1
0
17
12
0
0
23
-9
0
10
27
0
0
-18
0
-2
0
64
0
-3
7
36
-7
0
-38
-1
-1
0
0
0
-1
52
-1
0
0
0
0
0
-101
3
41
2
4
0
0
3
0
-3
25
-20
0
3
-12
0
-29
35
0
0
5
-10
0
19
3
-6
3
1
32
0
-2
0
1
0
0
-60
0
0
0
0
0
0
-84
0
1
-3
0
8
0
36
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
-21
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
45
0
0
0
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
-10
0
0
18
0
0
1
-4
0
0
-9
0
0
10
0
0
0
19
0
0
11
-49
0
0
2
0
6
0
-53
0
0
0
0
0
0
-14
0
0
9
0
6
0
-4
0
0
0
0
1
0
-42
0
0
0
0
0
0
11
-2
0
0
0
0
0
0
0
26
2
0
0
1
1
0
0
1
0
0
0
-78
0
16
0
0
0
0
4
0
0
-3
0
0
0
1
0
19
-5
0
0
0
54
0
-2
0
0
0
0
-3
0
-8
0
0
-1
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
26
0
0
0
0
0
0
-36
0
0
9
0
0
13
-53
0
0
33
0
0
7
85
0
0
8
0
0
-5
0
0
0
0
0
0
0
-18
0
0
-10
0
0
0
8
0
0
0
0
0
0
36
0
0
-1
-5
0
0
-71
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
9
25
0
-1
6
0
0
0
18
0
0
4
0
0
0
-20
0
0
0
0
0
0
5
0
0
6
0
0
0
53
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
-5
0
0
-6
-43
0
0
3
0
0
0
-19
0
0
1
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-24
0
0
0
0
0
0
5
0
4
0
0
0
0
-2
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
7
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
-6
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
-34
-16
71
14
-21
-4
-39
4
12
15
62
14
-12
4
19
13
32
12
27
-18
88
-1
13
-20
42
29
36
45
20
20
-68
-1
-2
-9
8
-46
-13
-6
35
-20
-68
27
107
14
20
-45
21
-7
37
-2
21
-57
33
47
-12
32
-4
0
-7
17
56
0
0
-14
-6
36
-23
1
53
50
-54
-20
56
-13
7
-27
7
18
-4
16
-2
-35
25
-24
27
-1
23
31
13
11
-27
28
-13
26
-44
18
-73
75
22
-15
86
61
22
30
-73
-41
5
-24
-11
23
66
49
0
29
31
41
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-74
-11
-9
12
0
0
-19
-48
0
0
71
0
0
14
43
0
10
-15
1
0
-5
-49
0
-5
-78
0
0
2
5
0
2
25
-22
0
1
-6
0
0
5
0
1
0
30
0
3
-2
35
-5
0
6
0
0
0
0
0
0
1
-1
0
0
0
0
0
8
0
-21
13
2
0
0
4
0
-2
-5
0
0
-2
7
0
0
22
-1
0
0
90
0
1
-3
-1
0
0
73
0
14
0
0
0
0
-56
0
0
0
0
0
0
-11
-1
18
0
0
-1
0
-49
-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
-4
0
0
-1
0
0
0
-4
0
0
-2
0
0
9
45
0
0
3
0
0
0
9
0
0
1
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
-30
0
0
0
0
0
0
60
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
-29
0
0
0
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-31
0
0
0
0
0
-3
66
0
0
-2
0
0
0
19
0
1
13
0
0
-3
17
0
-2
25
0
0
-1
3
0
0
2
0
0
0
-4
0
0
0
7
0
0
65
0
2
0
0
0
0
34
5
0
0
0
0
0
-28
0
-1
0
0
0
0
24
0
0
0
0
0
0
-14
0
-5
0
0
0
0
-23
0
0
-7
0
0
0
17
0
0
-3
0
0
0
-11
0
0
-1
-7
0
0
53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
11
-5
0
-2
80
0
0
6
0
0
0
57
0
0
0
0
0
2
35
0
0
-5
0
0
0
-16
0
0
0
0
0
-1
-19
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
17
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
-3
18
0
0
0
45
0
0
0
0
0
0
17
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
1
0
0
0
0
0
0
-27
0
0
0
0
0
1
-6
0
0
0
0
0
1
-5
0
0
0
0
0
0
-4
0
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
1
0
0
0
-76
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
-1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-59
0
0
-8
-5
0
2
23
17
0
4
-48
0
-2
-3
0
0
-3
43
-5
-2
5
21
0
0
6
0
1
1
0
0
0
-10
-5
2
-9
-3
-4
0
-50
0
0
0
7
0
0
-16
-2
0
0
0
0
0
23
0
-10
0
0
0
0
27
0
3
-2
0
0
-2
-22
0
0
23
0
0
2
17
4
0
-13
6
0
2
-36
0
-45
4
0
-4
0
5
0
0
-3
5
0
2
-2
0
13
0
-1
0
0
75
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
25
-48
-5
-5
6
18
70
-8
6
36
-51
-1
30
77
0
-82
-29
-18
7
5
3
9
34
25
105
28
1
42
35
-41
-25
-3
-7
5
89
-10
-65
-56
0
11
-6
26
-5
64
-6
5
-13
-32
-30
-34
-3
1
1
0
-31
5
5
-25
-2
-92
1
-62
94
-122
-15
29
36
-6
-50
-20
11
71
6
-58
26
44
-71
25
2
-60
-14
-27
5
58
33
-58
22
-14
-43
25
-38
25
-3
-22
13
-3
-10
20
-19
-4
-49
0
25
9
44
23
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
1
-12
0
-1
7
0
0
1
-45
0
0
14
3
0
0
-26
0
0
-10
0
0
-5
-81
0
7
-7
-3
0
6
-53
0
0
3
-6
0
0
3
0
0
0
-1
-6
0
-58
0
0
0
0
0
0
9
-3
13
0
0
0
1
5
6
19
0
0
0
1
-31
0
-13
6
0
0
-7
32
0
14
14
-10
0
0
-50
0
0
13
0
0
0
-7
0
-20
0
0
0
0
-14
0
-2
0
5
0
0
-2
0
6
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-1
0
0
-4
-62
1
6
33
0
-3
90
12
3
0
30
1
0
5
24
0
-1
0
19
0
0
-8
0
0
1
0
0
0
2
0
0
-1
0
-14
0
2
0
0
0
10
0
0
-3
0
0
0
3
0
0
39
0
5
6
0
0
-17
60
0
0
-5
2
0
0
47
0
5
5
0
0
0
38
0
-3
4
10
0
0
95
0
4
-2
1
0
0
-43
0
8
0
0
0
-1
14
0
-1
0
0
3
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
62
-19
0
-3
35
-2
0
-29
15
7
-50
107
20
0
-32
70
-4
0
-51
-2
-2
1
-5
0
14
-15
-91
43
5
2
-2
-14
-4
-1
3
0
80
-10
8
63
-4
5
0
53
-16
5
3
-1
0
0
-21
18
0
-5
0
0
0
49
-8
-8
18
-8
-3
-15
-19
1
2
1
5
0
24
-29
-1
86
93
3
0
14
-28
0
7
22
-3
4
2
26
0
-33
-19
0
0
0
2
0
5
35
18
0
0
-25
0
74
-2
0
19
0
70
-34
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
2
53
0
0
-23
52
0
0
14
0
0
-9
-20
-2
0
-81
0
0
2
75
0
0
18
0
0
0
-8
0
0
0
0
0
0
29
0
0
0
0
-23
0
26
0
2
0
0
0
0
4
-2
0
0
0
0
0
58
0
2
0
0
0
27
-14
0
0
2
0
0
16
50
0
-6
8
0
0
0
-29
0
3
-15
0
0
1
-3
0
-1
0
0
0
-8
33
0
0
5
0
0
0
12
0
-2
4
0
0
0
35
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
-10
0
0
-10
0
0
17
-52
0
1
14
0
0
-1
-8
0
0
5
0
0
0
33
0
0
0
-1
0
0
-47
0
0
0
0
0
0
90
0
0
0
0
0
0
10
0
0
0
0
0
0
30
0
0
0
0
0
0
22
0
64
-1
0
0
0
119
0
0
7
0
0
0
-10
0
1
2
0
0
0
-30
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
33
-40
49
0
-3
18
3
21
-5
-2
-5
-2
-8
0
-1
-5
25
14
19
18
0
0
1
0
8
0
-12
0
10
62
38
-24
0
38
0
0
0
3
0
0
10
-16
0
0
-14
0
-3
38
8
-43
22
0
-4
2
25
2
29
66
2
1
14
-50
-1
-6
46
7
0
-19
72
2
-21
48
19
3
0
19
0
73
-46
-5
-2
1
-25
4
-11
-15
-2
-1
0
35
0
-62
2
0
33
0
57
-20
-2
-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
-16
20
7
-41
-47
-14
43
28
-3
-23
-27
17
60
0
-10
-1
16
-58
16
11
105
29
5
-46
15
23
45
3
-23
-8
5
23
-13
-37
2
-2
6
-53
-27
6
35
-11
-55
31
38
-50
-10
-36
8
54
35
35
7
-25
9
66
-43
0
8
-1
-21
-29
-33
-33
-14
54
3
-54
-12
-50
59
2
-26
-37
50
-30
48
8
2
-55
-4
-18
14
-18
-64
18
95
-5
13
26
65
77
-12
2
77
10
1
47
0
29
25
-47
-12
72
-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
-1
0
0
0
0
2
0
0
-17
0
0
1
0
0
0
1
0
0
-1
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
37
0
0
0
0
0
0
35
0
0
0
0
0
0
-5
0
0
0
0
0
0
33
0
0
-6
0
0
0
4
0
0
-1
0
0
0
-23
0
0
-1
0
0
0
-21
0
0
3
0
0
0
-3
0
0
0
0
0
0
8
0
21
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
0
-9
-29
0
0
-5
25
0
0
69
-5
0
3
-4
0
0
73
0
0
0
13
0
0
2
0
0
0
31
0
0
0
0
-1
0
-40
0
0
0
0
0
0
52
0
0
0
0
0
0
-6
0
2
6
0
0
0
5
0
0
0
0
0
-4
81
0
1
13
0
0
-1
49
0
0
-5
0
0
0
19
0
3
0
0
0
0
-35
0
0
0
0
0
0
80
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-6
-2
20
7
-93
-35
-7
46
-47
-6
24
-27
67
5
22
7
-62
5
-3
15
0
48
83
3
-20
23
7
1
-17
50
-57
-32
1
1
-1
-7
19
-15
13
0
27
27
-26
-5
-1
3
21
15
0
23
-1
0
-6
29
5
4
71
50
-36
11
53
4
-4
-54
127
6
0
53
-31
4
-67
-25
30
0
-3
22
-2
18
74
7
-1
-16
9
-10
76
17
55
-6
-8
-24
0
87
17
0
2
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
2
0
0
-2
0
0
0
17
0
0
-21
0
0
0
-4
0
0
0
0
0
0
11
0
0
0
0
2
0
-24
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
57
0
0
-3
0
0
1
-3
0
4
0
0
0
0
-3
0
4
-5
0
0
0
-54
0
-3
0
0
0
0
-14
0
0
0
0
0
0
-41
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
55
0
-1
-3
0
0
0
-54
0
0
1
0
0
0
0
0
0
0
0
0
0
14
0
-1
-1
0
0
0
7
0
0
0
1
0
0
26
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
-3
35
0
0
-3
0
0
0
-55
0
0
-1
0
0
0
37
0
0
-3
-2
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-7
-54
0
26
-5
-6
-2
7
-21
-16
-15
-7
5
0
9
13
0
-14
-8
18
0
-17
20
-6
48
0
26
-6
5
0
9
2
0
-25
-12
2
14
4
0
5
49
7
90
-54
-2
-3
0
2
0
31
41
36
-1
7
-6
2
41
-11
5
0
-1
4
0
3
-9
43
-1
0
-25
6
-9
46
0
-5
4
-18
0
-2
35
4
0
0
35
0
43
-4
0
22
0
-41
100
5
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
-58
-11
66
46
-12
34
-4
35
-45
2
-43
-35
19
-5
102
1
-9
36
-17
-28
-38
62
-3
23
56
-6
8
70
11
-4
76
34
33
-33
26
35
10
4
-29
10
-5
0
17
-23
42
16
5
-16
-23
-9
21
-26
17
45
39
7
-39
0
-68
-16
35
-63
-15
-4
-38
-5
96
-52
33
27
-29
-43
-29
-6
6
3
-97
-74
-32
7
71
55
14
93
-43
16
-1
-38
-23
8
-54
2
16
-2
63
53
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
-1
-17
0
0
-3
0
0
17
-30
0
0
-7
0
0
0
-26
0
0
0
0
0
0
3
0
0
2
-3
0
0
26
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
7
4
0
0
0
-30
0
15
-2
0
0
0
6
0
3
16
0
0
2
6
0
-2
0
6
0
0
-19
0
-5
0
0
0
0
23
0
0
-2
0
0
0
44
0
11
0
0
0
0
34
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-6
-1
-10
54
0
-7
-9
-16
1
1
75
0
0
-5
0
13
0
47
0
2
3
0
1
0
-23
0
0
0
0
0
0
43
0
5
0
0
0
-8
68
-14
-3
43
-2
4
-3
-44
1
-7
-3
0
-1
0
69
0
2
-59
0
0
0
-46
0
9
-14
13
0
-3
-11
0
-5
0
0
0
0
62
0
0
-1
1
0
0
25
0
-4
0
1
-1
0
13
-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
62
-49
0
-23
-22
-14
19
-27
-16
-4
57
-1
13
18
72
9
0
29
23
-7
20
1
57
18
28
-14
52
-42
0
19
9
-1
0
-13
-5
-1
5
62
-10
14
0
4
52
41
29
-32
42
3
7
49
1
1
37
-11
22
0
-75
-6
2
-21
-6
82
0
57
10
2
-5
41
79
2
-4
58
0
93
2
16
-1
-1
-30
0
20
-52
-8
-9
-5
27
0
3
7
0
45
0
23
-21
-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
-36
-33
0
-5
-15
0
0
0
-29
0
0
10
0
0
-3
-34
0
0
-6
0
-10
0
-15
0
0
3
0
-3
0
19
0
0
0
0
0
0
38
1
0
0
0
0
-16
-37
0
38
6
0
0
0
-26
0
2
-41
0
0
-3
-14
0
9
-63
0
0
4
78
0
7
-43
0
0
0
10
0
-1
-3
0
0
0
-46
0
0
-2
0
0
5
37
0
-47
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
24
0
0
-2
2
0
0
0
-2
0
0
60
0
0
-2
0
0
0
-1
0
0
0
-1
0
0
-4
0
0
0
0
0
0
-24
0
0
0
0
0
0
15
0
3
0
0
0
1
-43
0
0
-3
0
0
1
83
0
2
-10
0
0
0
32
0
0
-4
2
0
0
-27
0
0
0
0
0
0
-6
0
0
0
0
0
0
-19
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
28
-1
13
-2
-2
-2
0
30
2
0
-49
0
-1
-1
18
0
7
-10
-33
27
0
-14
2
-3
8
-1
-3
0
15
-59
0
4
0
0
-5
3
0
-19
-46
2
-5
-3
-14
0
33
57
-4
0
4
32
0
45
111
-25
0
-1
19
0
6
-18
-27
0
0
6
0
4
16
2
0
4
-43
0
-2
53
-17
1
0
5
0
-83
7
0
0
0
-39
-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
20
15
34
7
-35
14
-26
14
4
-22
39
39
4
-80
35
-23
87
-21
10
29
8
-5
15
-7
-53
4
55
-35
34
15
-29
0
24
22
-4
-53
-11
20
-9
-5
-4
-4
-59
7
82
70
1
-53
-9
23
29
29
0
-18
14
14
-24
0
-102
39
-34
-21
-7
-46
2
-21
20
-15
3
-38
68
-27
13
-20
-22
-3
-44
7
17
39
-32
24
-8
-23
-2
-10
72
6
42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
69
0
0
0
0
0
0
-5
0
0
0
0
0
0
-47
0
0
0
0
0
0
-5
-6
0
0
0
0
0
-5
0
2
0
0
0
1
54
0
0
0
0
0
6
-9
0
7
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
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
3
-22
0
0
0
0
2
0
-32
0
0
0
0
-2
0
-73
0
0
0
0
0
0
1
0
0
0
0
0
4
-94
0
5
21
0
0
0
5
0
0
9
0
0
-11
-7
0
33
13
-1
0
0
14
0
0
0
-2
0
-9
-18
0
-10
6
0
0
0
-5
0
0
1
0
0
0
-7
0
7
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
-1
37
-10
39
25
-19
5
-9
-8
0
7
33
-1
43
-23
33
3
9
-3
1
31
0
17
-31
0
0
0
-3
2
-27
-62
-8
2
3
0
4
-2
1
52
0
0
5
41
4
-2
-14
19
4
0
9
-9
-9
-54
-19
29
0
71
54
-3
25
9
31
2
-43
12
-3
-70
-22
0
6
0
-15
4
-7
17
-1
-24
33
-49
0
88
-15
-4
-20
0
18
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
57
0
0
0
-1
0
0
3
0
0
0
26
0
1
0
0
1
0
11
0
0
0
0
0
0
-57
0
0
0
0
0
0
91
0
-5
0
0
0
0
11
0
0
0
0
0
3
-9
0
0
0
0
0
0
91
0
0
-5
0
0
0
-25
0
10
3
0
0
0
33
0
0
2
0
0
0
71
0
-9
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
0
1
75
0
0
0
0
0
0
-25
0
0
2
-2
0
0
-41
0
-1
0
0
0
0
-6
0
0
0
0
0
0
-14
0
6
4
0
0
1
-46
0
-1
-8
0
0
7
-20
0
2
-13
0
0
2
9
0
-3
30
0
0
0
23
0
0
0
0
0
0
-36
0
1
0
3
0
0
103
0
8
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
26
-3
0
18
0
-7
0
17
0
0
0
-3
36
0
2
0
0
0
0
0
0
-88
9
0
0
0
0
0
13
-7
15
-14
0
0
-3
57
0
4
51
0
0
0
62
0
6
6
0
0
0
-39
0
10
2
-9
0
0
20
0
48
5
-2
0
2
80
0
-3
-3
-2
0
0
-49
0
-2
-2
0
3
0
-33
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
6
7
46
74
3
64
-75
10
63
53
-61
-45
-2
6
41
13
5
1
-19
4
-15
89
28
59
18
-1
66
-49
72
-65
6
24
66
53
-18
1
-49
37
93
-18
9
-23
55
17
-4
-21
46
64
1
11
-33
105
-72
18
-19
0
18
-13
10
29
2
4
24
14
-53
1
83
2
14
14
-21
17
13
-15
-5
0
57
-6
20
6
-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
-4
76
0
0
0
0
0
0
14
0
0
2
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
14
0
0
0
0
-14
0
0
4
0
0
0
29
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
56
0
0
0
0
-1
0
26
0
0
0
3
0
0
-13
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
-4
0
-4
0
0
0
6
0
0
-14
1
0
-11
-31
0
-2
1
0
0
-3
-26
0
-2
-13
5
0
0
40
0
2
20
0
0
0
21
0
0
0
0
-3
0
-30
0
23
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
5
-2
0
6
1
0
-43
0
-23
-5
8
0
86
93
0
-23
-15
0
0
1
0
-1
28
43
3
0
0
0
9
39
5
38
30
0
6
50
12
0
-6
58
26
-2
14
26
2
7
7
-3
3
-3
-1
1
126
-15
10
-4
0
23
-5
26
-5
4
0
0
-13
0
33
9
17
-21
19
-37
0
63
0
0
-4
0
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
14
0
1
0
26
1
2
5
0
5
0
0
4
-2
0
7
0
0
60
-5
-1
3
0
0
-2
-13
0
104
12
0
-2
-14
42
3
4
-8
1
-3
14
-23
-11
-3
96
0
0
-6
-29
0
2
55
4
-3
0
-9
0
-29
-5
0
0
7
-93
2
24
-35
0
0
0
23
0
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
42
0
-3
-4
6
0
0
-12
0
1
0
0
0
0
-7
-3
0
0
0
0
0
5
0
10
2
0
0
0
7
0
0
1
0
0
2
-9
0
-4
0
0
0
0
66
0
1
0
0
0
0
4
0
-10
8
0
0
0
1
0
0
0
-1
0
0
23
0
9
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
10
0
-8
-9
0
0
0
0
0
-40
5
0
0
0
0
2
-9
0
27
-4
0
0
0
13
0
0
11
0
0
3
-21
0
-1
18
0
0
0
6
0
0
-16
2
0
0
2
0
-10
-17
0
0
3
62
0
-3
3
0
0
0
7
0
10
0
0
-7
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
90
32
51
-4
4
-1
8
22
-15
-3
-22
44
58
33
-31
60
-35
79
22
29
-13
-3
20
19
5
77
-43
-10
35
-21
9
-41
23
30
50
-48
26
-8
-62
40
-46
22
71
16
36
30
24
65
-16
14
16
23
-14
42
37
0
-24
24
16
-18
-2
57
-4
-41
36
-5
-5
3
0
20
-47
84
18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
1
0
0
0
0
0
47
0
0
0
0
0
0
48
0
-1
-11
0
0
0
85
0
0
24
-1
0
0
23
0
-10
0
0
0
0
18
0
0
0
0
0
0
23
0
0
1
0
0
0
26
0
0
0
1
0
0
68
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
-14
0
-2
0
-13
3
0
-18
-4
0
0
-3
0
0
-9
0
0
-2
0
0
-5
45
0
-63
-33
0
0
-9
9
0
3
25
-11
0
-1
-23
0
-1
-5
0
0
-1
-20
0
3
4
4
0
-6
-1
0
-14
-5
0
0
0
13
1
18
0
22
0
0
-19
0
33
0
0
0
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
-16
0
0
0
0
0
0
-43
0
2
0
0
0
0
11
-1
0
0
0
0
0
-13
0
0
5
0
0
0
-10
0
0
0
0
0
0
19
0
0
0
0
0
0
25
0
-1
0
0
0
0
15
0
0
0
0
0
0
-33
0
0
2
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
43
0
0
0
-7
0
0
53
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
3
1
0
0
-3
3
0
4
-5
-17
0
0
70
0
8
1
0
0
0
-35
0
0
3
0
0
0
48
0
44
6
0
0
-1
62
0
0
-14
0
0
0
14
0
-11
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
-2
0
0
0
0
10
0
0
-11
0
0
0
14
0
0
-3
0
0
5
31
0
0
0
0
0
0
-6
0
-3
0
0
0
0
-3
0
0
3
0
0
0
53
0
-7
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
9
6
1
1
3
8
-2
7
15
0
47
12
69
40
44
-2
0
-20
11
-1
21
-23
-18
-10
-33
10
66
24
44
34
5
74
-4
6
73
-44
36
14
100
-38
0
-81
41
-5
21
-56
-36
2
53
-53
-9
24
5
0
9
0
0
-5
-9
0
22
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
0
0
0
0
0
0
34
0
-4
1
0
0
0
57
0
0
3
0
0
0
1
0
0
0
0
0
0
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
-4
0
0
0
0
1
-5
0
8
3
0
0
0
-23
0
0
29
0
0
4
35
0
0
0
0
0
0
-46
0
0
4
0
0
0
33
0
14
11
0
0
-3
14
0
0
3
-1
0
0
55
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
50
1
0
0
0
0
0
42
0
-26
13
0
2
7
-15
0
2
-9
-3
0
-22
28
1
29
10
0
0
5
-65
0
0
0
0
0
0
-25
0
57
3
0
0
0
-1
0
9
0
0
0
0
-27
0
0
0
3
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
62
0
0
0
0
0
0
-19
6
0
0
0
0
1
85
0
-46
-9
0
0
5
-16
0
5
20
0
0
8
36
0
14
27
0
0
-2
17
-7
18
18
0
0
0
-8
0
-28
16
0
0
0
54
0
0
0
-4
5
0
-23
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
6
0
10
-46
0
61
-8
0
0
-4
-24
0
-3
-4
36
0
-14
116
0
-26
80
0
0
6
39
0
-3
8
39
0
0
-53
0
-5
-21
0
0
-2
73
0
-7
-10
2
0
-1
-26
0
17
-8
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
9
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
24
16
-24
121
3
40
24
28
1
62
-25
3
29
-56
33
3
1
94
31
118
49
-25
23
-28
83
13
-49
17
52
-15
-51
-25
-23
61
-48
-6
-7
33
-31
27
-31
15
58
-3
9
15
-44
26
-30
14
-13
-20
-33
-19
-5
96
0
0
-1
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
0
0
0
0
0
0
0
0
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
2
0
0
0
0
-14
0
0
-10
0
0
0
0
0
0
-3
0
0
3
10
0
1
-8
0
0
0
-21
0
-2
0
0
0
0
-25
0
8
0
0
0
0
54
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-1
0
-1
4
0
0
0
105
0
0
-2
-2
0
-3
54
0
0
1
0
0
5
19
0
1
-8
0
0
0
-22
0
-3
0
0
0
0
3
0
-3
6
0
0
0
10
0
5
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
22
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
15
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
2
7
0
0
0
-9
0
19
0
0
0
0
-7
0
0
0
0
0
0
-23
0
4
-1
0
0
0
15
0
-1
1
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
0
-1
0
0
0
21
0
0
0
0
0
0
5
0
0
-14
0
0
0
71
0
0
0
0
0
0
-18
0
-6
7
0
0
0
62
0
0
0
0
0
0
39
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
-2
0
4
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-18
0
0
0
0
0
0
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
54
56
0
-8
-30
12
-14
32
26
2
5
-30
-25
-8
14
-12
9
-10
-14
-28
13
25
-3
95
-5
21
-19
5
61
32
10
-5
4
-4
-1
-10
48
-46
-5
3
-27
3
-6
-1
2
-13
0
32
5
-14
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
37
-4
-80
-4
0
0
-15
-68
0
39
-5
5
0
23
33
0
-21
31
0
4
0
11
0
-1
-13
0
0
0
8
0
8
2
0
0
0
4
0
0
-2
0
0
0
-35
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
47
0
0
-4
0
0
0
17
0
0
0
0
0
0
9
0
1
10
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
3
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
64
0
4
0
0
0
0
22
0
0
0
0
0
0
14
0
-4
-1
0
0
0
-2
0
0
0
0
0
0
50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
10
0
-2
0
0
0
0
4
0
-1
0
3
0
0
47
0
0
0
0
0
0
35
0
0
0
0
0
0
26
0
1
0
0
0
0
54
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
5
0
-4
87
0
46
-11
1
0
0
-22
0
0
-4
1
0
0
-13
0
-2
0
0
0
0
38
0
1
0
0
0
0
66
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
32
98
-78
101
-17
84
-52
-9
-48
-24
43
-3
100
35
9
98
13
76
5
21
-5
-4
-34
-56
15
19
-1
-14
0
48
21
53
-1
-17
27
45
33
-29
0
7
3
56
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-3
0
0
-1
19
0
-5
1
0
0
0
-5
0
0
0
0
0
0
31
0
-6
0
0
0
0
7
0
0
0
0
0
0
-53
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
11
26
-3
102
107
58
-3
53
15
0
32
-7
-6
1
18
-21
4
-3
-32
-5
-3
2
34
0
-33
-15
2
0
3
5
-1
15
8
31
1
0
-30
0
104
0
-6
3
0
3
14
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
-34
-3
-2
7
2
0
11
80
-3
90
17
0
0
-3
74
-3
16
-16
-4
6
0
-12
0
45
-13
0
0
7
90
0
0
-4
1
0
0
29
0
-32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
10
0
0
0
-31
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
-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
0
14
0
0
0
0
0
0
-43
0
-3
0
0
0
0
5
0
0
0
-2
0
0
-8
0
-7
1
0
0
0
-5
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
-2
0
36
13
0
0
0
8
0
10
-8
5
0
0
17
0
-58
4
4
0
0
28
0
0
1
0
0
0
15
0
0
0
0
-2
0
55
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
-39
-9
-1
-39
-3
8
29
73
-8
50
20
24
-28
8
-20
-21
34
-31
-15
11
5
58
5
-6
53
16
-4
-5
-8
1
-4
87
-4
4
-34
0
22
-49
41
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-2
0
0
0
-6
0
0
6
0
0
0
-25
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
4
-1
0
0
-15
0
0
-14
0
0
0
17
0
1
5
0
0
0
-50
0
0
-3
0
0
0
28
0
11
0
0
0
0
-43
-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
-16
11
-1
52
-7
-14
0
9
38
1
-6
17
-6
-7
2
5
3
85
15
1
0
7
-11
-4
6
-5
1
0
0
12
-2
-10
0
0
-1
-1
33
-14
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
-4
0
2
-33
0
0
0
-52
0
4
53
0
0
0
1
0
0
2
0
0
0
32
0
2
0
0
0
0
-52
0
33
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
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-10
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
-34
0
-3
17
9
0
0
-73
0
-80
0
-1
0
0
69
-2
5
0
-5
0
0
13
0
13
-9
0
0
0
44
-1
-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
2
10
-25
-29
-14
-9
5
72
5
34
-22
-47
11
34
91
-21
4
22
-5
39
-26
33
-6
14
-3
-33
-7
-47
3
2
-58
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
1
0
0
0
-7
0
0
0
0
0
0
2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
79
-3
0
9
24
0
-2
-24
-2
97
-9
1
0
0
-17
0
3
-22
1
0
0
45
0
-21
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-20
1
25
40
71
-2
-1
35
0
62
-3
-1
0
-1
-33
0
7
-2
-19
0
0
25
0
-55
0
0
-3
0
46
-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
3
0
-5
-23
0
0
0
36
0
8
0
0
0
0
27
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
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
48
0
52
2
0
0
0
102
0
0
-2
-4
0
0
-12
0
5
-2
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
51
-1
-5
11
3
-4
31
0
59
-3
32
43
22
-5
21
44
1
22
-1
-2
-44
0
-1
-56
6
34
-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
-1
0
0
0
0
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-17
14
0
0
-1
69
0
-8
-7
0
0
0
32
0
36
0
0
0
0
100
-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
-10
-62
0
16
-39
1
0
0
-3
0
2
5
-7
3
-2
5
0
7
0
0
1
0
39
-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
-7
22
0
35
78
1
0
0
7
0
0
0
-3
0
0
31
0
-6
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
-6
0
0
0
-33
0
16
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
-33
0
16
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
35
56
-34
5
18
39
11
37
-3
5
-20
0
-6
-25
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
-17
6
0
-42
0
-1
-10
-24
-18
0
30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-4
-9
0
0
-50
0
14
0
0
0
0
23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-31
-24
14
76
2
3
1
0
36
24
35
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
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
4
15
0
28
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-22
0
0
-4
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
9
-2
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
43
0
0
-2
0
0
0
-18
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
-11
0
0
0
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
26
-9
1
12
6
1
-4
-83
-36
23
-19
-8
-7
66
19
-2
18
-32
-48
71
-8
12
9
13
14
39
13
2
-19
27
23
-47
14
43
23
33
-4
61
-52
-9
14
2
-5
-48
28
-8
4
-24
21
0
-34
-8
-3
6
-26
48
-6
23
59
-23
-14
9
1
-5
5
-1
8
-16
14
28
14
-11
-48
17
-13
-14
11
-10
-25
-36
-11
-8
30
6
-4
-16
-8
38
-5
14
-8
30
-18
45
-13
9
-35
12
-24
42
17
1
-17
-30
7
-21
-26
8
-10
5
31
4
-5
-27
-64
0
-91
47
0
-10
-8
0
-27
-4
24
43
52
-9
8
78
53
46
-55
-24
-7
27
5
-9
-39
-12
0
0
0
0
0
0
0
2
0
10
6
23
30
23
0
2
43
-18
-22
-28
47
-61
-4
-13
-10
28
-16
-4
-44
1
4
-25
14
104
-38
13
-4
-5
-26
79
-1
53
-23
-6
6
-3
-22
52
-55
45
-3
29
-13
0
-22
12
-9
9
-19
-31
4
53
31
8
-4
-47
0
-22
52
62
-12
1
23
-5
38
-17
-63
0
22
25
16
22
36
65
-38
7
1
69
-26
-18
32
48
-5
-12
0
-23
-56
8
-23
9
-8
44
4
-10
4
14
-4
-13
80
24
-48
-5
-14
-7
119
0
67
19
-55
8
-12
28
-7
-42
-65
-54
-12
8
10
14
15
9
-6
7
1
28
30
23
24
50
35
5
128
0
-60
30
25
-58
2
-40
-19
58
-45
23
54
10
-20
-8
-14
6
-33
1
9
-60
-39
99
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
-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
-9
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
-11
-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
-16
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
9
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
15
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
-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
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-6
0
0
9
0
0
0
0
0
0
21
0
0
0
-1
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
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
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
32
1
0
0
0
0
0
32
0
0
0
0
0
-7
27
0
0
0
0
0
-3
33
0
0
6
0
0
0
7
0
0
1
0
0
0
-2
0
0
4
0
0
0
95
0
0
0
0
0
0
16
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
-6
0
0
0
0
0
5
0
-3
0
0
0
0
-24
0
0
0
0
0
0
-25
0
2
0
0
0
0
21
0
0
-3
0
0
0
10
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
-5
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
-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
19
-5
0
0
0
0
0
-47
0
0
0
0
0
0
3
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
2
-6
0
0
0
-46
0
0
1
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
46
0
0
0
0
0
0
17
0
0
0
0
0
0
-33
0
0
0
0
0
0
-44
0
0
2
0
0
-7
59
0
0
0
0
0
0
-14
0
0
0
0
0
0
11
0
0
-1
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
-8
0
-27
0
0
0
0
0
0
-6
0
0
0
0
0
0
24
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
3
0
1
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
-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
-4
0
0
0
0
0
29
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
-13
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
9
0
15
0
0
0
0
0
0
0
0
0
0
-1
50
0
0
5
0
0
0
54
0
0
-3
0
0
0
5
0
-2
-6
0
0
0
7
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
19
0
0
1
0
0
-5
-46
0
0
0
-1
0
0
11
0
0
0
0
0
0
-18
0
0
0
0
0
0
43
0
0
0
0
0
0
8
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
14
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
-14
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
67
0
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
-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
19
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
5
0
0
0
0
0
9
-3
0
-4
4
0
0
0
0
0
0
0
0
0
-7
22
0
0
2
7
0
-2
6
0
0
10
0
0
-2
5
0
15
14
0
0
0
-2
0
0
0
0
0
0
92
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
-5
0
0
0
0
52
0
0
0
0
0
-3
-30
0
0
24
0
0
8
-29
0
0
3
0
0
0
87
0
0
-5
0
0
0
39
0
0
-3
0
0
0
15
0
0
0
0
-5
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
-14
0
0
0
-5
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
9
-3
1
-6
32
-12
-11
16
38
14
-30
27
4
70
-30
84
53
-3
83
8
28
-23
4
32
-82
-31
1
12
-23
43
5
69
-47
-45
53
-4
40
43
17
13
0
4
0
-11
-4
0
-2
-5
35
1
-8
-29
-5
5
10
-13
29
4
-34
1
-23
11
-9
0
-33
-2
14
32
-22
40
-6
93
-4
18
-17
28
3
-5
75
-19
-8
20
33
-7
-1
-25
-1
14
-25
20
-40
-38
-77
0
8
-57
16
-67
8
3
11
0
-14
1
8
1
9
-4
0
-32
-27
22
0
-17
-35
0
2
-1
23
8
-2
18
-43
6
-4
37
62
-13
33
13
6
3
-1
0
0
0
0
0
0
0
-49
-10
23
5
22
-19
57
9
-15
29
-5
38
-29
49
-60
17
9
16
-14
1
-52
52
19
10
2
-35
63
9
-1
-12
10
34
15
13
14
6
-23
8
-5
7
-13
-5
1
-4
60
109
15
21
49
28
9
-14
-42
-22
7
36
42
13
43
18
-33
0
32
22
27
93
-1
-18
-57
-32
22
-18
26
14
6
19
-39
18
10
0
11
43
-18
51
7
-36
-11
-42
2
26
-16
-2
16
25
4
10
40
-19
13
34
47
23
-34
8
0
9
10
61
-45
-6
29
16
11
-4
0
87
99
9
4
29
11
-23
4
-12
-21
32
67
-2
-27
9
-61
68
-23
-65
2
14
-39
40
7
50
-10
9
-2
7
47
65
-8
-46
11
-1
-25
48
-37
-19
-13
15
42
-14
45
88
-5
0
0
0
0
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
13
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
-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
-7
0
0
0
0
0
1
-19
0
0
0
0
0
-1
-5
0
0
-3
0
0
0
0
0
0
0
0
0
2
-5
0
-1
1
0
0
5
24
0
0
0
0
0
0
-13
0
-4
-15
0
0
0
-36
0
0
0
0
0
0
4
0
0
0
0
0
0
25
-1
0
0
0
0
0
7
0
0
0
0
0
0
54
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
-23
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
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
2
0
0
0
-2
0
0
-1
0
0
0
5
0
-3
0
0
0
0
18
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
-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
13
0
-2
0
2
-5
0
-4
1
0
0
0
0
0
0
-26
0
-1
47
-5
0
0
-2
2
4
0
0
0
0
0
28
0
0
0
0
0
7
17
0
0
0
0
13
0
0
0
0
2
0
14
5
0
25
7
0
0
-34
-1
0
0
94
9
0
38
-7
0
9
-2
0
0
45
-5
0
-10
-34
13
0
15
5
1
0
29
0
0
9
0
3
0
-1
21
0
0
-1
-94
0
0
0
0
-7
4
5
-14
0
-9
0
3
-30
-5
0
-2
0
0
34
80
0
26
100
-2
0
0
0
0
0
0
0
0
-3
-12
0
-4
3
20
0
46
5
0
1
-10
0
0
65
54
0
-40
-23
43
0
-18
24
-2
0
29
0
0
0
-25
-20
-5
0
3
0
0
-11
0
0
0
0
0
22
8
-1
0
14
36
0
35
31
2
5
-34
0
0
14
87
0
-1
13
7
0
45
62
0
51
14
-8
0
-4
-9
0
-3
20
26
0
-17
29
0
8
-32
0
0
18
-50
1
-5
-15
-15
0
0
20
0
0
0
0
0
0
15
52
0
-2
0
0
1
-23
0
-17
-2
-1
0
5
-31
1
-4
7
-6
0
-2
51
9
11
15
-3
0
-14
73
0
-17
5
8
0
5
10
0
-25
8
7
0
-4
-19
0
1
-9
2
0
0
7
0
38
0
0
-1
0
-61
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
1
0
0
17
0
0
0
0
-4
0
0
5
3
-8
-25
2
0
0
0
0
0
-1
-5
0
5
4
0
0
0
3
0
-49
0
0
-1
0
0
36
0
0
0
0
1
0
31
0
-2
0
0
0
-3
1
4
71
-7
0
90
2
0
-2
8
0
8
-43
1
0
9
-5
7
3
33
18
0
0
-5
0
-1
3
-10
0
0
33
0
0
35
10
0
0
-8
0
-3
0
-9
0
-2
4
2
19
0
0
-17
0
0
0
20
0
-7
6
0
-6
-11
0
0
61
0
0
-14
-1
-1
-7
30
0
-7
-23
-5
0
0
0
0
0
0
0
0
49
59
0
0
32
13
0
-20
14
0
0
-31
0
0
0
0
0
-1
9
0
0
0
14
-8
0
0
0
0
0
-2
-1
-1
0
0
0
0
7
0
0
0
0
0
0
7
-5
6
11
-1
0
0
42
0
1
4
10
0
54
21
0
0
-11
-14
0
0
9
3
1
59
1
0
1
19
4
1
-7
-19
-7
0
-32
0
0
-7
0
0
0
54
0
0
2
4
5
0
47
0
0
0
5
0
0
5
5
0
1
0
0
0
-37
0
7
26
0
-4
0
103
0
1
4
0
0
-2
-40
0
-8
-5
-3
0
-5
44
-3
6
33
0
0
8
51
0
23
15
0
4
0
-2
0
0
9
1
0
0
44
1
-10
3
0
0
0
36
2
0
0
0
0
0
0
0
0
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
51
0
0
-1
0
0
-73
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
81
0
0
0
2
0
0
4
-3
0
0
-4
-17
2
-19
6
0
0
0
0
0
0
0
0
0
7
-4
0
17
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
8
0
0
0
0
28
0
0
8
0
0
37
0
0
-4
0
-1
0
0
0
0
0
0
0
0
1
61
0
0
13
2
0
-7
41
0
0
16
0
0
0
12
0
-16
0
0
0
0
6
0
0
0
0
0
0
-42
0
0
0
0
0
0
19
0
0
0
0
0
4
8
0
0
-2
4
0
0
0
0
-1
0
0
0
0
38
0
0
1
0
0
4
55
0
-3
3
0
0
-6
-36
0
0
29
3
0
0
-12
0
0
0
0
0
0
66
0
0
0
5
0
0
-15
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
2
0
0
0
-1
0
0
1
3
0
0
0
-21
0
0
7
0
0
0
-9
0
-1
8
-5
0
0
33
0
9
3
0
0
0
-11
0
0
0
2
0
0
-52
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
-15
0
0
0
0
0
0
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
1
0
0
47
0
0
0
0
0
0
2
0
0
0
0
-5
1
0
0
2
0
1
32
0
0
0
0
0
0
-5
0
0
0
69
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
45
1
0
0
0
0
3
-1
0
0
-4
0
0
2
3
0
-15
7
0
0
0
0
0
0
0
0
0
0
10
0
0
-4
1
0
0
33
0
0
0
0
0
0
3
0
7
-1
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
11
0
0
0
0
0
0
-17
0
0
0
0
0
1
-14
0
0
2
0
0
0
25
0
0
0
1
0
0
42
0
0
10
0
0
0
24
0
0
5
0
0
0
7
0
0
0
0
0
0
-6
0
0
-4
0
0
0
48
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
5
0
0
0
0
11
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
-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
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
0
-47
0
0
3
0
0
4
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
24
-1
0
1
-1
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
-8
0
0
0
0
0
0
54
0
0
0
0
0
0
-5
0
14
-2
0
0
0
0
0
0
0
0
0
2
-2
0
0
34
0
0
4
-29
0
0
-4
0
0
0
5
0
38
-3
0
0
0
-5
0
0
0
0
0
0
-13
2
-2
0
0
0
0
38
0
0
0
0
0
0
-22
0
0
3
0
0
3
20
0
0
-1
0
0
-1
-23
0
0
3
1
0
-6
24
0
0
2
0
0
0
-23
0
0
1
-2
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
2
0
28
0
0
0
0
0
0
6
0
0
0
0
0
0
-15
0
-5
0
0
0
0
35
0
0
0
0
0
7
27
0
-1
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
1
0
0
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
-25
0
0
0
0
-3
0
34
1
3
0
-10
0
49
-15
5
0
0
0
0
5
2
3
0
0
-6
1
0
0
0
0
16
0
0
-11
0
0
-29
0
0
0
0
0
-7
-14
0
0
0
0
-4
-5
0
0
4
-42
45
-46
1
0
-3
15
0
0
92
-6
1
0
56
8
5
-22
6
5
-3
8
-1
24
15
-19
0
0
93
0
5
75
6
0
0
0
0
3
0
23
0
0
7
5
-59
-2
2
1
0
0
0
-6
0
29
3
-1
0
-7
0
-3
15
0
0
0
0
0
114
61
0
-8
-9
5
0
0
0
0
0
0
0
0
-18
22
2
2
-14
-29
0
4
21
0
0
-12
-1
0
-7
78
0
-26
5
14
0
-1
-3
0
0
-1
0
15
0
29
3
-2
0
1
0
1
-48
0
0
0
0
1
4
43
5
-3
4
13
-2
3
-47
0
0
-1
-1
0
-15
-2
0
-2
-23
-2
20
14
40
-5
-2
12
5
-2
13
45
-5
1
-46
7
6
-2
8
0
1
6
0
-2
0
-53
0
0
4
11
-36
0
29
-1
0
1
0
2
0
-10
0
3
0
-7
0
0
89
-5
14
0
0
0
0
-46
0
0
-8
0
0
-2
-21
1
48
-3
6
0
-16
-77
2
-1
-17
2
1
0
44
0
32
26
1
0
-1
-36
0
1
5
-1
2
0
80
0
29
4
0
-5
0
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
25
0
0
0
-1
0
-4
1
0
2
-3
1
0
10
-3
1
0
0
0
0
0
1
0
0
0
0
0
1
3
0
0
4
-1
0
-21
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
4
0
0
1
17
0
-1
16
0
0
0
-11
0
0
18
0
0
0
-24
0
-5
-20
3
0
2
13
0
0
2
0
0
1
-7
0
0
-3
-1
0
0
-3
0
-1
11
0
0
0
0
0
-18
0
0
0
0
0
0
10
0
22
1
1
0
0
0
17
26
0
0
2
0
0
-33
-18
0
31
-23
0
0
0
0
0
0
0
0
0
-14
-54
-2
1
5
0
0
2
-73
0
0
-35
0
0
0
-5
0
50
-15
0
0
-1
-85
0
0
0
0
5
0
18
-8
0
0
0
0
0
44
0
0
0
0
0
8
35
0
5
9
0
0
1
35
0
-3
13
0
0
60
-10
0
0
63
0
0
9
-17
3
0
14
0
0
-9
-3
0
-2
19
0
0
0
-36
0
0
5
0
0
-5
-1
0
0
0
0
15
0
44
0
0
0
0
0
0
33
0
0
0
0
0
0
-41
0
5
0
0
0
-14
35
0
-3
1
0
0
5
33
0
-11
6
0
0
5
42
0
5
-19
0
0
0
102
0
7
3
0
0
0
68
0
0
-2
0
0
0
-44
0
-6
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
1
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
30
0
0
0
0
0
46
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
107
1
0
22
0
0
0
-4
0
0
-16
0
0
0
22
0
0
3
0
0
-1
14
0
0
-2
0
0
0
5
0
0
-56
0
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
15
0
0
0
-4
4
0
0
0
0
0
2
15
0
-44
-17
0
0
0
0
0
0
0
0
0
-3
153
0
0
3
1
0
42
-48
0
0
-14
0
0
0
-23
0
56
0
0
0
0
-26
0
0
2
0
0
0
-23
1
6
0
0
0
0
36
0
0
0
0
0
-3
-15
0
0
3
0
0
22
62
0
-6
3
0
0
24
62
0
0
-21
0
0
30
12
0
0
14
0
0
6
33
1
8
14
0
0
1
4
0
0
1
0
0
0
4
0
1
-1
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
26
0
-1
3
0
0
0
4
6
0
2
-4
0
0
27
0
-1
-1
0
0
-5
11
0
0
3
0
0
0
67
0
-5
0
0
0
0
-44
0
0
1
0
0
0
63
0
5
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
5
50
-46
77
-26
24
-44
31
49
0
6
8
3
21
-4
-2
7
8
-15
18
-24
0
-9
7
-21
0
0
69
0
0
7
0
0
0
1
0
-13
-43
0
-3
0
32
-5
-18
7
5
-37
23
23
-5
-2
14
27
-3
-7
-11
16
-1
47
-20
28
-7
-10
-57
37
72
152
69
1
47
33
-14
10
8
69
-4
14
-15
-19
0
0
-52
-15
-29
23
49
0
0
34
36
37
-1
1
-71
1
0
-9
37
0
29
-52
100
-1
1
0
9
2
-18
9
75
0
23
23
-12
-7
14
23
-6
0
0
0
0
0
0
0
0
-26
6
-6
59
-2
-34
0
53
-24
-1
0
15
6
-1
20
45
2
5
-12
11
5
22
-8
-2
0
-3
-7
-18
0
-16
35
-21
14
21
1
0
11
-6
-3
16
-1
0
0
1
51
-52
-1
47
8
13
10
43
-24
18
-1
-2
63
40
13
2
-54
-1
6
64
11
-45
-40
46
-6
-10
-22
-12
-7
20
26
52
25
27
-22
-1
-9
2
0
-19
-15
-37
4
0
27
-30
66
0
-38
18
-1
22
14
5
-7
35
-3
-5
23
-13
4
6
54
45
-25
-11
5
16
-28
-34
-22
84
-59
13
5
-34
4
-7
78
-70
-6
-1
-36
-33
8
57
-41
-60
-7
-19
-61
-2
14
22
1
8
0
6
7
-7
-47
3
7
0
5
1
41
6
5
-5
0
18
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
-62
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
2
0
0
12
0
0
0
11
0
0
0
-10
0
2
-3
0
0
25
-2
0
0
-1
1
0
15
3
0
0
0
0
0
0
9
0
0
0
0
-2
0
-1
-2
0
0
0
0
0
34
0
2
0
0
0
0
33
0
0
1
0
0
-6
21
0
16
41
0
0
0
0
0
0
0
0
0
36
-77
0
2
26
0
0
2
-42
0
0
2
0
0
-2
-15
0
1
0
3
0
0
-33
1
0
0
0
0
0
55
-1
0
0
0
0
0
-14
0
0
0
0
0
0
-14
-1
1
0
0
0
4
34
0
0
-10
0
0
-3
0
0
-1
62
5
0
-3
20
0
0
-8
0
0
-1
16
0
-3
0
0
0
0
-35
0
0
1
0
-2
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-3
-4
4
0
0
0
0
-5
0
0
0
0
0
0
-20
0
0
-4
0
0
0
0
3
-6
13
0
0
4
0
0
0
2
1
0
0
-5
0
-2
0
0
0
0
-16
0
0
0
0
0
0
70
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
29
0
0
0
0
0
56
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
-19
-1
4
0
0
0
0
42
0
0
0
0
0
0
5
0
-4
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
0
-6
0
0
0
0
3
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
-60
0
0
-11
0
0
0
19
0
0
5
0
0
2
19
0
0
-5
0
0
0
5
0
0
0
0
0
0
-16
0
0
-1
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
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
-22
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
-23
0
0
-1
0
0
-104
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
-1
9
-27
2
0
0
-1
0
0
61
0
0
0
0
0
0
38
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
21
0
-3
0
0
0
0
23
0
0
0
0
0
0
-14
0
-5
3
0
0
0
0
0
0
0
0
0
0
67
0
3
0
0
0
0
-8
0
0
-10
0
0
0
0
0
4
0
0
0
0
62
0
0
0
0
0
0
-48
0
0
0
0
0
0
-18
0
0
0
0
0
0
-8
0
0
-2
0
0
0
38
0
0
2
0
0
-4
53
0
0
-15
1
0
3
23
0
6
19
0
0
0
20
0
0
-2
0
0
1
3
0
0
0
0
0
0
-6
0
-2
0
0
2
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
2
0
0
0
0
-16
0
0
18
0
0
-3
60
0
6
-6
0
0
0
2
0
0
0
0
0
0
45
0
0
0
0
0
0
1
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
4
0
5
0
1
-7
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
26
0
0
0
0
0
-47
0
0
0
0
0
2
-3
0
0
0
1
0
0
0
-1
-1
0
5
0
0
-14
0
1
0
0
104
0
0
-3
-1
1
-5
51
-21
0
0
-32
0
0
7
0
4
0
2
1
0
-8
3
0
0
6
0
0
0
-8
0
0
1
0
19
0
0
-7
0
0
0
-1
0
-17
0
0
0
0
0
2
16
0
0
0
0
0
-5
50
4
-18
-7
5
0
0
0
0
0
0
0
0
122
-24
0
-2
9
0
0
21
39
0
0
-2
0
0
0
-17
0
18
1
0
0
0
42
0
0
0
0
0
0
-28
0
5
0
0
0
0
15
0
0
0
0
0
0
68
2
0
-5
6
0
0
-27
0
0
-1
0
0
-3
43
0
1
25
0
0
20
120
1
0
0
-1
0
0
-1
0
0
20
4
0
-5
71
0
0
-1
0
-1
0
46
0
0
0
-1
-4
0
-7
0
0
0
0
0
0
-20
-3
0
0
0
0
-1
6
0
1
0
0
0
0
21
0
3
0
-1
0
0
-43
0
1
2
3
0
-8
-1
0
0
-2
-6
0
0
-29
0
3
0
0
0
0
-59
0
0
0
0
0
0
-7
0
-11
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
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-11
0
0
0
0
0
52
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
0
0
1
-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
-4
0
6
0
0
0
0
0
0
0
0
14
2
0
0
0
0
0
13
0
0
0
0
0
3
-6
0
14
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
1
-2
0
0
1
0
0
0
0
0
30
0
0
0
0
-2
0
0
0
0
0
0
19
0
7
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
6
23
0
0
0
0
0
0
14
0
0
1
0
0
0
52
0
0
0
0
0
0
-6
0
0
10
0
0
0
10
0
0
0
0
0
0
6
0
0
0
0
0
0
46
0
0
0
0
0
0
-7
0
0
0
0
0
0
22
0
0
0
0
0
0
18
0
0
0
0
0
0
24
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
-66
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
-11
0
11
-13
0
0
-4
0
0
-16
0
0
0
0
-1
0
-69
0
0
0
5
0
0
1
0
0
0
25
0
0
-3
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
28
0
0
0
0
0
-3
39
0
-32
10
-1
0
0
0
0
0
0
0
0
-3
14
0
0
5
4
0
7
26
0
0
-66
0
0
0
-6
0
16
0
-1
0
0
23
0
0
0
0
0
0
40
0
0
0
0
0
0
9
0
0
0
0
0
0
-18
0
0
0
0
0
-5
12
0
0
5
0
0
-7
-20
0
0
-28
11
0
-13
-11
0
0
5
0
0
-2
-84
0
0
3
0
0
0
18
0
0
6
0
0
0
45
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
-2
0
0
0
3
-17
0
-3
-4
0
0
0
-24
0
25
0
0
0
0
-29
0
3
20
0
0
0
23
0
4
3
0
0
0
11
0
0
1
0
0
0
-23
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
1
0
-6
-1
-1
0
0
0
2
0
-4
13
0
0
0
1
1
10
0
1
-3
0
0
6
0
0
0
0
-5
3
0
0
10
0
0
2
47
0
0
16
-23
-9
28
0
1
4
5
0
-9
24
-11
6
1
1
20
-1
23
20
0
0
27
-2
8
-14
20
0
0
-2
0
0
71
-5
0
0
8
0
0
0
-45
0
0
-3
-5
-31
0
0
-1
0
0
0
1
0
4
1
3
0
-1
0
3
10
0
0
14
0
0
4
44
-4
8
-14
-1
0
0
0
0
0
0
0
0
-10
-15
0
-5
-47
13
0
-8
66
1
-4
-18
0
0
1
-15
0
8
32
0
-7
0
21
0
0
-2
0
-7
0
-4
0
0
0
-2
0
0
51
-1
0
-1
0
0
-1
-24
0
1
2
4
3
4
14
1
6
5
4
-6
54
21
-1
10
70
-9
2
5
10
1
37
4
-1
-1
-2
18
-1
-1
18
5
-11
-1
-12
0
-1
-2
0
11
0
23
-2
0
7
2
3
0
-35
3
-2
0
1
0
0
71
0
0
0
0
2
0
-68
-3
41
0
0
-6
0
-70
-2
1
-5
-2
-4
1
9
4
-4
-8
4
4
-4
-15
0
2
-21
-2
13
10
-10
0
45
-11
-1
5
0
38
0
5
5
0
0
0
53
0
-23
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
-16
0
0
0
0
0
-4
1
0
0
0
0
-3
0
0
0
18
-3
0
-9
0
0
0
-6
0
0
-31
6
0
0
56
-41
0
-1
0
0
0
-5
0
0
-1
0
0
0
32
-1
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
-1
-2
0
-16
4
0
0
0
0
0
-25
0
0
0
0
0
5
21
0
2
-7
5
0
0
0
0
0
0
0
0
2
0
6
0
-43
3
0
-5
63
0
-1
3
0
0
2
38
0
-24
2
0
0
0
43
0
0
0
0
0
0
-16
0
-1
0
0
0
0
-21
-1
0
0
0
0
0
65
0
0
3
6
0
-2
-18
0
0
0
0
0
0
-11
0
4
-87
5
0
-5
0
0
0
17
0
0
-4
52
0
0
-9
4
0
-1
-20
0
0
0
0
0
0
-14
0
0
0
-10
0
0
-20
0
0
0
0
0
0
18
0
1
0
0
0
0
14
0
0
2
0
0
-1
53
0
-3
-5
0
0
0
-22
0
17
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
-47
0
0
0
0
0
0
10
-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
6
0
0
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
-1
-2
0
0
0
0
0
-14
0
0
0
-5
0
0
10
0
0
0
55
14
-8
-28
-4
0
0
-6
0
0
-6
0
0
0
15
0
0
0
6
0
0
0
0
0
0
0
0
0
-2
0
-5
0
0
-1
0
0
0
2
0
-27
1
0
0
0
0
0
-42
0
0
0
0
0
0
43
0
-19
-17
1
0
0
0
0
0
0
0
0
-1
-31
0
-3
-2
0
0
5
62
0
0
-4
0
0
0
10
0
43
0
6
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-34
0
0
3
2
0
4
-28
0
0
3
0
0
0
51
0
0
-56
0
0
0
10
0
0
3
0
0
0
17
0
0
1
4
0
1
78
0
0
0
0
0
0
-17
0
0
-5
-1
0
0
-27
1
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
9
0
0
0
0
-11
0
1
0
0
0
0
20
0
0
4
0
0
0
26
0
0
0
0
0
7
16
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-68
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
-11
0
0
0
-10
-2
0
-5
0
0
0
5
0
0
11
0
0
0
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
-21
-2
0
0
0
0
0
40
0
0
2
0
0
1
1
0
9
-2
0
0
0
0
0
0
0
0
0
1
7
0
0
5
0
0
1
51
0
0
-9
0
0
0
2
0
-23
0
0
0
0
23
0
0
0
0
0
0
43
0
0
0
0
0
0
26
0
0
0
0
0
0
-16
0
0
2
0
0
0
-3
0
0
4
0
0
0
-8
0
0
0
0
0
0
57
0
0
0
1
0
0
14
0
0
0
0
0
0
75
0
0
0
0
0
0
36
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
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
-1
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
19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-9
0
0
1
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
1
6
4
2
75
4
0
1
26
0
0
14
-1
0
0
-14
14
0
73
0
0
0
15
0
0
4
2
0
0
-53
0
0
-18
7
0
0
0
0
6
0
3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-2
-1
0
2
0
2
-86
0
0
1
0
0
-13
-14
0
84
11
0
0
0
0
0
0
0
0
0
-13
49
0
0
-16
-1
0
-5
12
0
0
6
0
0
4
2
0
23
0
4
0
0
-56
0
0
0
0
0
0
5
27
0
0
0
0
0
2
0
0
0
0
0
2
79
0
0
0
1
0
7
86
0
-2
9
0
0
-8
-89
0
0
29
-2
0
1
-43
0
0
1
0
0
-1
33
0
0
1
0
0
0
18
0
-7
2
0
-8
0
-48
0
0
0
0
3
-9
65
0
0
0
0
0
0
26
0
0
0
0
0
4
6
0
-8
0
0
0
0
21
0
-4
2
0
0
0
29
0
20
2
0
0
0
74
0
0
1
1
0
0
14
0
-10
-14
0
0
0
1
0
0
0
0
0
0
19
0
1
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
-4
0
0
0
1
0
0
0
-1
0
0
0
0
0
42
0
0
4
0
0
3
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-5
0
42
-4
0
0
0
0
0
0
-20
0
0
0
-1
0
0
7
0
0
0
-5
0
0
11
0
0
0
5
0
0
13
-2
0
0
0
0
1
0
2
0
0
0
0
-2
0
0
3
0
0
0
-4
0
5
2
1
0
0
0
-2
30
0
0
0
0
0
-3
-50
0
-9
21
0
0
0
0
0
0
0
0
0
14
6
0
0
68
0
0
23
-7
0
0
-4
0
0
5
33
0
-12
8
0
0
0
-15
0
0
0
0
6
0
-80
1
-2
0
0
0
0
15
2
0
1
0
0
-2
-63
4
0
-6
0
0
56
11
0
0
18
0
-3
81
60
0
2
19
0
0
-15
35
-1
0
71
0
0
-2
6
0
-1
41
0
0
0
17
0
0
3
0
2
0
40
0
0
0
0
-3
0
22
0
0
0
0
6
0
-4
-5
0
0
0
0
0
56
0
1
-1
0
0
0
9
0
0
-7
0
0
-2
108
0
23
11
0
0
-4
4
0
0
1
0
0
-3
-7
0
20
0
0
0
0
74
0
1
1
0
0
0
100
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-22
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
7
-5
0
0
-2
2
0
105
6
0
15
1
0
0
15
2
0
1
-26
17
0
-5
0
0
0
0
0
0
-16
0
0
0
6
0
0
64
0
0
0
0
3
0
0
8
0
0
4
8
9
0
0
24
0
0
0
0
0
17
-3
-1
0
0
0
0
45
0
0
0
0
0
77
32
0
-48
56
0
0
0
0
0
0
0
0
0
20
62
0
-2
-82
-3
0
26
-27
0
0
-17
0
0
1
32
0
77
25
-3
0
-2
1
-1
0
0
0
0
0
43
-2
-2
0
0
0
0
108
-1
0
-1
0
0
-5
35
0
0
8
-5
0
24
-58
0
-1
14
0
0
-43
17
0
1
-11
-6
0
16
-3
0
0
8
0
0
-8
68
0
-1
-4
0
0
15
22
0
-6
8
0
0
0
15
0
0
0
0
0
0
30
0
0
0
0
0
0
-8
-6
0
0
0
0
-4
-12
0
-2
4
0
0
0
3
6
-1
10
0
0
-5
-15
0
43
36
0
0
-4
68
0
0
-27
0
0
0
39
0
-14
-13
0
0
1
14
0
-3
2
1
0
0
30
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
5
-1
0
13
9
3
2
0
1
0
-3
0
0
10
0
0
-22
0
0
0
1
0
2
-1
1
0
0
0
16
5
0
0
42
9
20
19
49
1
-7
-7
0
31
113
-24
-2
1
57
17
-11
-75
-44
0
-1
46
0
-17
-4
8
0
0
27
2
18
0
23
0
0
-13
0
-2
0
24
0
0
1
3
-86
0
0
24
0
0
0
-10
0
22
1
-2
8
-3
0
-5
-66
0
0
1
0
0
14
26
-1
-33
54
-11
0
0
0
0
0
0
0
0
-1
-24
0
-3
33
-10
1
1
102
0
0
-6
-14
-3
0
-2
0
-13
46
53
4
0
-17
0
0
1
0
5
0
-4
23
-5
0
0
0
0
23
0
0
2
0
0
2
13
3
7
-19
3
13
28
-2
-2
-1
-9
-1
-1
6
10
0
3
-63
-9
0
3
64
-7
-17
30
2
29
0
20
-9
-17
0
2
1
4
-10
0
2
0
0
0
0
-14
-1
2
-10
2
43
0
-4
-4
0
0
-4
-1
0
-12
0
0
0
1
0
0
-31
-1
0
25
4
0
-7
16
17
-7
19
-2
0
1
-99
0
21
5
3
0
9
50
-1
31
-12
21
5
0
59
0
34
-1
0
0
-9
-22
0
9
8
0
0
0
-3
0
27
0
0
8
0
91
-15
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
-22
0
0
0
0
0
-62
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
-4
0
0
26
0
0
0
-23
0
0
-7
-1
0
0
5
2
0
22
0
0
0
76
0
0
80
0
0
0
13
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-4
5
-4
0
0
0
0
49
0
0
0
0
0
0
6
0
14
26
0
0
0
0
0
0
0
0
0
15
27
0
0
5
0
0
53
0
0
0
8
3
0
0
3
0
18
0
0
0
0
-49
0
0
0
0
0
0
-8
-3
0
0
0
0
0
23
0
0
0
0
0
0
-35
0
0
0
0
0
0
4
0
0
3
0
0
0
7
0
0
-17
0
0
-5
12
0
0
7
0
0
0
0
0
0
0
2
0
0
33
0
7
0
0
0
0
-1
0
0
0
0
0
0
-33
0
0
0
0
0
0
-5
0
0
0
0
0
-1
4
0
-1
0
0
0
0
17
0
0
-3
0
0
0
39
0
1
0
0
0
0
36
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
65
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
17
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
37
0
0
0
0
0
1
-26
0
0
0
0
0
0
-2
0
-15
4
0
0
0
0
0
0
0
0
0
9
20
0
0
0
0
0
0
-19
0
0
-9
0
0
2
11
0
6
0
0
0
0
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
67
0
0
0
0
0
0
-19
0
0
0
0
0
1
-21
0
0
7
0
0
1
-30
0
0
-2
0
0
6
18
0
0
-9
0
0
0
-3
0
0
-2
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
45
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
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
4
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
3
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
46
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-27
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-27
0
0
0
0
0
0
31
0
0
0
0
0
1
-45
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-45
0
0
-2
0
0
0
-19
0
0
-6
0
0
0
-15
0
2
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
0
-3
0
19
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
26
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
20
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
-62
0
0
0
0
0
12
0
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
11
-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
23
0
0
0
0
0
1
68
0
0
0
0
0
9
33
0
-3
0
0
0
0
0
0
0
0
0
0
0
29
0
0
10
0
0
-3
-22
0
0
0
0
0
3
-18
0
7
0
0
0
0
31
0
0
0
0
0
0
77
-2
0
0
0
0
0
-77
0
0
0
0
0
0
-14
0
0
0
0
0
1
-16
0
1
0
0
0
0
-39
0
0
-2
0
0
0
-26
0
-6
0
0
0
0
-8
0
0
0
0
0
0
39
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
15
0
0
1
0
0
0
17
0
0
2
0
0
-3
-6
0
-1
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
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
-14
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
-17
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
15
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
9
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
20
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
27
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
-4
9
0
3
1
-1
0
15
0
0
32
0
0
0
-45
-1
0
48
-2
0
0
18
0
0
-1
0
0
0
5
0
0
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
7
0
0
0
0
0
-15
3
0
0
0
0
-2
18
0
0
0
0
0
14
37
0
20
45
0
0
0
0
0
0
0
0
0
-22
78
0
0
50
4
0
-14
55
0
0
5
0
0
29
-7
0
91
4
3
0
0
62
0
0
4
0
0
0
4
5
0
0
0
0
0
7
0
0
0
0
0
5
12
0
0
20
3
0
-48
40
0
0
15
0
0
21
38
0
0
33
0
0
74
-23
0
0
-13
-2
0
4
-14
0
0
5
-4
0
2
-5
0
3
-3
0
0
0
-20
0
0
-4
14
0
0
10
-1
0
0
0
0
0
12
-4
0
0
0
0
5
78
0
-16
-4
0
0
0
0
3
0
10
0
0
0
11
0
-8
2
0
0
4
16
0
-1
-10
2
0
-3
-36
0
-14
10
0
0
11
39
0
2
0
0
0
0
-31
0
-6
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-80
0
0
0
0
0
-74
0
0
0
0
0
-1
0
0
0
0
1
-3
0
0
0
-1
0
0
16
7
0
0
-3
0
0
62
1
0
0
16
-1
-2
0
-1
0
0
-2
0
0
3
3
0
0
21
-1
0
0
5
0
0
1
0
-5
0
7
0
0
6
0
8
0
0
0
0
0
-3
-1
0
9
0
0
0
0
0
-1
57
0
0
0
-1
0
8
59
0
31
1
-1
0
0
0
0
0
0
0
0
0
-22
0
0
-14
-1
0
5
34
0
-4
8
0
0
0
-21
0
9
-6
0
0
0
69
0
0
0
0
0
0
5
8
0
0
0
0
0
-20
0
0
0
0
0
0
-6
0
0
3
7
0
1
27
0
7
31
0
0
7
16
0
0
-1
-1
0
-2
1
0
-2
52
3
2
0
78
0
0
-20
4
0
0
-24
0
0
0
0
2
0
-11
0
0
1
0
1
0
-5
0
0
0
0
0
0
45
-1
0
0
0
0
0
21
0
-4
0
0
0
-3
-12
0
0
0
4
0
0
17
0
-18
-1
0
0
0
-10
0
1
1
-1
0
0
-35
0
0
13
-8
0
0
1
0
0
-3
3
0
0
-25
0
-1
0
0
-1
0
-39
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-3
0
0
0
0
0
4
0
0
-1
0
-4
-11
0
0
0
5
0
0
-15
0
0
0
7
0
0
31
0
1
0
4
0
0
-1
0
0
-3
-6
-10
0
37
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
3
0
0
0
0
-4
0
0
-4
0
0
17
-14
0
28
-3
0
0
0
0
0
0
0
0
0
14
23
1
-2
-22
0
0
-25
25
0
0
-11
0
0
-3
0
0
11
2
0
0
-1
38
0
0
0
0
0
0
19
0
4
0
0
0
0
-43
0
0
0
0
0
0
49
-1
0
0
0
2
11
-38
0
0
0
0
-4
0
-1
0
2
-18
-1
0
10
-46
0
0
-10
0
0
0
-39
0
13
-4
0
0
-3
0
0
8
-15
0
0
0
-34
0
0
0
3
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
-45
0
5
-1
0
0
0
35
3
0
-2
0
0
2
79
0
2
-27
0
0
0
2
-2
5
0
15
0
0
3
0
0
-1
0
0
-1
0
0
0
0
-4
0
0
17
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
51
0
0
0
0
0
90
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
-1
0
0
0
0
0
0
0
0
0
0
2
0
-13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
42
0
0
13
0
0
0
54
0
0
0
0
0
0
1
0
-22
0
0
0
0
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
23
0
0
0
0
0
0
48
0
0
0
0
0
0
65
0
0
0
0
0
0
37
0
0
-1
0
0
0
47
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
1
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
-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
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
-3
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
-2
0
0
0
-3
5
0
2
-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
21
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-5
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
-1
-43
0
0
5
0
0
0
-14
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
-17
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
-33
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
-2
-31
42
2
0
0
35
0
0
-23
6
0
0
-5
-2
0
14
7
0
0
0
0
1
5
-2
0
0
-1
0
0
-29
4
0
0
0
-6
0
-1
33
0
0
0
-9
14
0
0
3
0
0
0
0
0
39
2
0
0
0
0
-1
-58
5
0
1
0
-5
0
10
0
16
2
1
0
0
0
0
0
0
0
0
-11
46
0
0
11
0
0
2
43
0
0
5
0
0
-1
-9
-4
-34
0
0
0
0
-118
0
0
0
0
0
0
13
4
0
0
9
0
0
65
0
0
0
0
0
0
27
0
-6
0
0
4
-1
-23
0
0
0
0
0
0
-6
0
0
-10
-5
-1
0
24
0
1
-1
0
0
0
-25
0
0
0
0
0
-2
14
0
0
2
0
-2
0
30
0
0
0
1
-2
0
62
-1
0
0
0
0
0
14
5
0
0
0
0
0
6
0
47
0
3
0
0
-4
0
2
15
0
0
0
-15
0
-34
0
3
0
0
18
0
-3
8
-4
0
0
33
0
-5
0
0
0
-1
68
0
0
0
0
0
0
-27
1
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
51
0
0
0
0
0
17
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
32
0
1
-17
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-56
0
0
0
14
0
9
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
0
33
3
0
0
0
0
0
-73
0
0
1
0
0
-2
-4
0
-8
22
0
0
0
0
0
0
0
0
0
4
-29
0
0
-29
0
0
77
-71
0
0
-14
0
0
0
14
0
1
-2
0
0
0
50
0
0
0
0
0
0
64
-2
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
-3
0
0
-1
43
0
0
2
0
0
-2
-20
0
0
33
0
0
0
-39
0
0
103
0
-2
3
36
0
0
-22
0
0
-1
-20
0
0
9
0
1
0
74
0
-3
4
0
-2
0
-15
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
2
2
0
0
0
24
0
0
6
0
0
0
-26
0
-8
-4
0
0
0
28
0
0
-5
-1
0
0
71
0
-1
-9
0
0
0
14
0
0
0
0
0
0
-11
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
-8
0
0
0
0
0
12
0
0
0
0
0
1
-3
0
0
0
0
-5
0
0
0
-2
2
0
-19
0
0
0
0
0
0
52
2
0
0
71
-6
0
10
0
0
0
0
0
0
4
0
0
0
-3
0
0
4
-7
0
0
0
0
0
6
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
15
2
0
0
-1
0
2
-8
0
0
3
0
0
-9
14
0
24
-34
0
0
0
0
0
0
0
0
0
-29
96
0
0
29
-4
0
-32
84
0
0
8
0
0
-6
13
0
6
0
0
0
0
11
0
0
0
0
0
0
-38
4
3
0
0
0
0
-13
0
0
0
0
0
0
-36
0
0
-11
0
0
-4
-62
0
0
16
0
0
27
-14
0
-2
-1
0
0
-34
25
0
0
-30
0
0
-2
28
-1
-2
14
1
0
13
46
0
1
0
0
0
0
33
0
7
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
26
0
-5
0
0
0
0
11
0
3
-10
0
0
-1
83
0
-1
-8
0
0
0
28
0
0
2
0
0
0
145
0
-14
0
0
0
0
-14
0
0
0
0
0
0
19
0
5
4
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
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
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-7
1
0
0
0
0
0
0
0
0
0
2
-13
0
0
1
0
0
5
12
0
0
0
0
0
0
-7
0
1
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-22
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
-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
-29
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
7
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
-13
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
14
0
0
0
0
0
-2
-86
0
0
-1
0
0
9
23
0
5
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
-5
0
0
-2
37
0
0
0
0
0
1
-11
0
1
0
0
0
0
0
0
0
-1
0
0
0
-35
0
0
0
0
0
0
-41
0
0
0
0
0
0
-9
0
0
0
1
0
0
5
0
0
3
0
0
0
19
0
0
0
0
0
0
11
0
0
0
0
0
0
-37
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
-1
0
0
0
0
0
0
31
0
-2
2
0
0
0
-9
0
-9
-9
-5
0
0
-10
0
0
0
0
0
1
-13
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
21
0
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
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
32
0
0
0
0
0
0
-11
0
0
0
0
0
-2
0
0
8
7
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
-10
0
0
0
0
0
0
24
0
0
0
0
0
2
4
0
0
0
0
0
17
-25
0
0
2
0
0
-1
7
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
-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
33
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
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
1
-22
20
57
3
26
-1
-4
-33
-17
3
-2
-30
67
66
-14
27
15
4
-47
15
36
-26
-50
37
-3
5
32
5
-62
37
35
29
-30
1
-10
11
-32
4
15
-62
13
32
-15
5
5
-2
-33
14
65
-22
53
-5
0
-30
3
12
0
62
-46
-1
-2
-1
3
-2
-9
24
-25
51
-3
15
-32
-19
18
6
-17
-3
-4
-22
39
2
16
37
-8
-3
0
0
0
0
0
0
0
-10
11
-24
-2
17
-65
-17
-17
-21
7
-8
7
-130
30
39
-2
4
-24
-4
-22
-2
0
6
-5
5
-13
-15
-62
0
14
-28
0
-7
-20
10
-6
8
-36
-1
5
-41
-14
33
-23
22
12
46
-19
29
2
-17
-7
-24
-4
3
48
-43
10
73
-40
-3
-17
1
35
-5
11
13
33
14
27
-1
3
-1
-43
3
-5
-9
-12
-3
-21
-3
13
3
-26
14
-7
-4
-46
43
3
12
0
-17
5
-7
5
5
-43
-10
-28
-83
-3
-10
-75
2
65
-33
17
-17
77
34
-7
-1
-14
2
-48
76
-56
-10
-24
-2
-14
-64
18
-65
-14
-10
-4
-15
-58
-11
-7
60
39
18
-2
36
-55
-19
-8
-14
-9
-7
82
7
21
15
0
-11
15
-8
24
18
42
0
18
-5
47
5
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
-74
0
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
43
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
-21
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
-52
0
0
0
0
0
-2
-14
0
0
0
0
0
-2
10
0
0
0
0
0
5
-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
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
-18
0
0
0
0
1
-6
-17
0
0
0
0
-21
-8
0
0
14
-38
0
42
-7
0
0
-18
0
0
-3
-7
0
-1
57
-43
0
-21
13
0
-3
-49
0
0
36
4
0
0
-28
-1
0
48
-11
0
0
25
-3
0
-5
-6
0
0
0
0
0
0
0
15
0
0
1
0
0
19
26
5
0
9
0
19
-23
0
0
25
0
0
3
60
-1
4
-48
4
0
0
0
0
0
0
0
0
110
-26
-1
0
56
35
0
-10
-15
0
0
32
2
0
0
2
0
64
-18
0
0
9
96
6
1
4
-3
0
0
4
-14
-4
1
-2
0
1
6
4
0
2
0
0
25
15
0
1
5
9
-2
-17
13
0
0
16
0
0
-13
9
0
3
38
37
0
-21
79
0
10
54
0
0
-4
49
-1
14
58
-21
0
-5
-7
0
5
71
0
0
0
37
0
-16
-14
2
0
0
-32
0
2
0
0
0
0
-32
4
0
0
2
0
0
3
0
-1
-1
0
0
-29
15
0
-5
26
-3
0
5
36
0
13
9
0
0
-9
-22
0
63
5
5
0
0
-12
0
36
7
0
0
-1
-4
0
-9
3
10
0
0
7
0
72
0
0
0
0
46
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
-14
0
0
0
0
0
0
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
9
-6
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
60
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
0
0
0
0
1
-1
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-15
-5
-26
-15
-8
17
36
72
11
-13
-13
-40
-9
60
-3
6
23
-22
13
-27
-38
10
-25
23
-29
-4
-2
97
-36
5
54
-59
-45
62
47
10
-19
-16
-1
-27
-39
-7
25
-11
62
-2
-24
-94
-15
-4
5
13
13
-22
-27
0
7
-57
14
2
26
-8
-40
25
-6
-8
-8
-20
3
-56
-16
-40
11
-92
12
-6
-19
-16
-22
5
3
0
0
0
0
0
0
0
15
-8
-25
-1
-13
5
49
-15
-19
20
49
31
14
111
8
13
-8
-3
23
-23
-7
20
17
-20
-13
-48
-5
-30
-5
2
1
-7
52
-32
36
-1
-8
-17
71
48
-100
-65
0
8
20
-31
32
15
18
-22
-17
-21
58
-1
13
-7
-35
-25
81
-8
8
-20
-53
5
-14
43
-6
3
19
55
-43
-1
-28
11
4
-32
41
-8
9
-6
51
17
16
10
0
1
-4
19
16
15
12
-25
-6
0
-10
-10
-23
46
1
15
-20
35
37
30
-26
1
-11
-61
-5
-24
37
16
-69
-12
2
-9
-7
14
-58
-16
-17
15
-41
26
-22
1
33
3
-5
4
22
-2
29
-1
4
8
15
51
-5
-14
46
-12
-11
-11
-28
14
55
10
-5
53
-9
-44
129
47
-2
6
-8
61
59
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
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
-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
0
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
0
0
0
0
0
0
0
0
0
0
0
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
-39
0
0
0
0
0
0
-2
0
0
0
3
-17
0
9
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
-10
0
0
0
0
0
25
0
0
0
0
0
0
45
0
0
0
0
0
0
-2
0
4
4
0
0
0
0
0
0
0
0
0
0
19
0
0
-5
-1
0
-14
28
0
0
10
0
0
0
0
0
6
0
0
0
0
5
0
0
0
0
0
0
2
1
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
104
0
0
0
0
0
0
28
0
0
19
0
0
0
5
0
0
0
0
0
0
43
0
0
0
0
0
0
-36
0
0
0
0
0
0
-9
0
0
0
0
0
0
70
0
0
0
0
0
0
5
0
0
0
0
0
0
24
0
0
0
0
0
0
-25
0
0
0
0
0
0
36
0
0
0
0
0
0
27
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
75
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
-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
13
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
-6
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
-16
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
-2
0
0
0
13
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
16
5
0
-37
0
0
0
6
0
0
-3
8
0
-1
19
1
0
57
0
0
-4
-7
0
0
9
-2
0
0
5
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
44
0
0
-9
0
0
0
5
0
0
3
3
0
0
0
-2
-5
0
0
-5
0
0
-20
18
0
19
-51
1
0
0
0
0
0
0
0
0
-16
-32
0
0
-7
-2
0
22
-62
0
0
7
0
0
7
-86
0
29
16
-3
0
0
-8
0
-1
0
0
3
0
49
-11
-2
0
0
0
0
0
0
0
0
0
0
3
-52
0
-7
0
0
0
30
23
0
0
-46
0
0
-15
-18
0
0
14
-3
0
14
-56
0
0
17
0
0
1
25
0
0
-42
40
0
-3
49
0
0
-5
0
-2
0
-21
0
0
0
0
20
0
-55
0
0
0
0
0
0
0
0
0
1
0
0
0
45
0
17
0
0
0
0
38
0
7
0
0
0
0
-34
0
3
-7
6
0
0
26
0
0
-6
-2
0
0
-19
0
-3
2
0
0
0
32
0
0
0
0
0
0
23
0
29
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
-2
0
0
37
0
1
-18
-1
0
11
-71
6
1
8
60
0
0
19
-9
-3
11
43
0
0
51
0
-1
14
1
0
1
-24
1
31
0
18
0
0
-1
0
-3
0
-7
0
0
0
-5
-58
0
1
5
0
0
-2
-1
0
-33
-1
0
1
-1
0
0
25
0
1
-39
0
1
-6
14
0
1
-20
-2
0
0
0
0
0
0
0
0
5
17
-3
1
-70
29
0
1
5
0
0
-14
0
0
22
-74
0
-55
33
8
0
0
-71
0
1
-5
0
0
0
-27
2
3
0
0
0
0
-51
-2
0
2
2
0
2
63
-4
-6
53
-2
1
-25
37
-1
0
5
0
1
20
-19
0
-4
-38
2
0
-25
-72
0
0
6
1
0
43
-34
0
0
29
4
0
1
-32
0
0
-5
-1
2
0
-45
0
0
25
0
14
0
-6
1
0
0
0
0
0
32
2
6
0
0
0
0
59
0
52
1
0
0
-3
-26
0
-3
39
0
0
29
87
0
6
14
6
1
0
23
1
-2
-43
0
4
-1
21
0
15
-1
-4
0
1
-7
0
3
3
0
0
0
130
0
9
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
-1
0
0
0
6
0
0
-4
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
2
0
0
0
0
0
0
1
0
-2
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
17
0
1
5
0
0
-2
23
0
0
0
0
0
0
-1
0
-10
0
0
0
0
-1
0
0
0
0
0
0
34
-2
0
0
0
0
0
-28
0
0
0
0
0
0
3
0
0
0
0
0
0
-21
0
0
0
0
0
0
-24
0
7
0
1
0
0
-22
0
0
0
0
0
0
-3
0
0
-14
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
35
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
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
-35
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
9
0
0
0
0
0
0
-2
0
3
0
0
0
0
-2
0
0
0
0
0
0
-20
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
1
0
0
0
-24
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
-1
0
0
0
-2
0
0
18
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
-6
-1
0
0
0
0
0
51
0
0
0
0
0
-3
5
0
-8
-4
0
0
0
0
0
0
0
0
0
0
7
0
0
-17
0
0
19
-29
0
0
5
0
0
0
-3
0
8
0
0
0
0
29
0
0
0
0
0
0
-58
1
0
0
0
0
0
-59
0
0
0
0
0
0
-21
0
0
0
0
0
7
-22
0
0
0
0
0
-2
15
0
0
-3
0
0
0
-8
0
0
25
0
0
0
17
0
0
0
3
0
0
11
0
0
0
0
0
0
-7
0
0
1
0
0
0
-11
0
0
0
0
0
0
-10
1
0
0
0
0
0
-14
0
-3
0
0
0
0
-3
0
0
-3
0
0
-1
-46
0
0
-2
0
0
0
-7
0
0
1
-9
0
0
-17
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
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
55
-9
0
1
22
9
0
55
-16
0
0
28
0
0
-3
3
2
0
81
-1
-6
-43
1
0
0
-1
0
0
1
2
0
0
3
-6
-40
0
0
25
0
0
0
7
0
21
17
5
0
0
0
0
29
1
0
-2
0
0
3
12
0
-22
7
10
0
0
0
0
0
0
0
0
36
41
0
0
64
19
0
-22
0
0
0
-17
0
0
0
-30
0
4
-9
2
0
0
-33
4
0
0
0
-4
0
5
-3
2
0
0
0
0
-53
0
0
0
-1
0
0
-2
0
0
-1
0
0
-1
-36
0
0
-6
0
0
3
47
0
0
11
30
0
2
-23
0
0
34
2
4
24
-65
0
9
14
-3
0
2
3
0
0
0
0
0
0
80
0
0
2
0
52
0
43
-1
1
0
0
0
0
-45
4
0
0
0
0
0
17
0
2
0
0
0
0
12
0
-5
-20
4
0
-3
32
0
51
26
0
0
0
33
0
-17
-1
13
0
-5
-9
0
39
0
0
0
-2
38
0
0
0
4
0
0
3
0
39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
-45
0
0
0
8
-9
0
14
6
0
-2
32
0
0
1
-1
0
-1
74
2
-1
53
0
0
0
4
3
0
0
0
0
0
0
0
79
0
0
-2
0
0
0
-1
0
19
4
-3
4
2
0
-4
0
3
0
-3
0
0
-4
0
0
14
53
4
0
0
0
0
0
0
0
0
9
-51
0
0
-47
8
0
37
22
0
0
26
0
0
6
-26
0
27
-26
-8
0
0
-26
0
0
-1
0
0
0
30
0
0
0
-2
0
0
-40
0
0
-1
0
0
0
0
0
0
-8
-2
0
0
-2
0
0
23
0
0
6
-38
0
9
-15
0
0
24
63
0
0
14
0
5
-3
-12
0
10
5
-6
2
-4
-79
0
0
1
0
0
0
-18
0
0
6
4
21
0
3
0
0
0
0
-1
0
-4
0
0
0
13
0
0
0
5
35
0
1
0
-5
-5
1
-4
-10
-11
0
-5
27
0
11
2
0
0
-2
32
0
3
-9
3
0
3
9
0
1
0
0
0
0
-23
0
2
-2
0
0
0
-29
0
8
4
0
-7
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
1
0
0
0
0
0
0
33
0
0
0
0
0
0
5
0
0
0
3
0
0
0
0
0
0
0
0
0
29
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
-15
0
0
0
0
0
0
0
0
0
0
-9
0
0
-15
2
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
26
0
0
0
0
0
0
26
0
0
0
0
0
0
-58
0
0
0
0
0
0
7
0
0
0
0
0
2
17
0
0
0
0
0
2
-37
0
0
18
0
0
0
65
0
0
8
0
0
0
44
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
-14
0
1
-3
0
0
0
-1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
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
-5
0
0
4
0
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
13
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
29
0
0
0
0
0
0
2
0
0
2
0
0
0
43
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
34
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
-44
3
0
0
-4
0
-7
0
22
0
-1
3
19
37
14
-19
0
-2
64
0
-6
16
5
0
-7
9
10
27
-13
-1
4
0
-30
0
-13
6
-10
0
0
21
-14
6
0
0
7
0
0
0
-5
0
-3
4
0
0
10
0
5
-37
7
5
3
0
0
10
21
0
47
-1
1
0
0
0
0
0
0
0
0
24
-6
0
-4
71
5
0
-14
-2
0
0
5
-6
0
17
16
0
14
22
6
0
0
7
3
0
-1
0
-1
0
23
18
0
0
-3
0
0
34
0
-1
0
0
0
-1
33
-4
2
1
-3
0
106
45
0
0
-14
0
-1
20
45
0
3
49
7
0
28
-14
-5
0
87
-1
-1
6
-6
5
0
-7
24
0
3
-20
0
-2
5
0
6
0
-36
0
-7
2
-3
11
0
13
1
0
-3
-2
-7
0
26
-6
1
0
0
0
1
63
0
-19
0
0
0
1
25
0
17
-14
0
-1
-11
48
0
-25
22
-6
0
-7
33
0
-8
53
5
0
-1
-2
0
95
-1
-11
0
-1
-14
0
-6
5
-1
0
0
12
3
-56
0
0
2
0
-4
-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
-24
0
0
-7
-25
0
-2
-5
13
-1
0
-42
0
46
34
-9
0
-5
0
0
3
14
4
0
0
6
0
1
53
-10
0
0
-3
0
31
4
-1
0
0
0
0
-16
0
0
0
0
0
0
-21
0
-18
1
1
0
0
0
-43
6
0
0
2
0
0
-42
-44
0
-59
-43
0
0
0
0
0
0
0
0
0
-25
-44
0
2
-2
0
-5
47
-2
0
0
-15
0
1
16
-70
0
20
-6
0
0
2
-21
0
0
0
0
14
0
-37
0
-5
0
0
0
0
4
0
0
0
0
0
-1
-35
0
5
0
0
-1
22
-13
0
0
43
0
0
-32
-15
0
0
39
0
-2
82
-26
0
0
10
0
0
43
-28
0
4
33
1
0
13
-11
0
1
14
0
3
3
9
0
-1
0
0
-20
0
42
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
-5
4
0
2
4
80
0
0
37
0
0
-1
86
2
16
-20
9
0
6
-20
0
-2
-22
0
0
21
-13
0
-68
69
0
0
-2
46
0
-1
2
2
0
0
10
0
2
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
6
0
0
53
8
0
0
-62
27
0
4
5
0
7
-4
-2
0
4
-2
0
0
-8
7
0
-30
-4
0
0
24
0
0
-4
2
0
0
27
-26
0
0
0
5
0
0
0
0
0
39
-4
0
0
0
0
36
-10
2
-2
0
1
0
23
-2
0
29
-23
5
0
0
0
0
0
0
0
0
98
15
0
-3
-51
-7
0
-70
34
0
0
22
0
0
-14
60
0
56
-9
-14
0
96
-36
0
0
-1
0
0
0
-33
2
6
5
7
0
0
8
0
1
-2
0
0
-7
109
5
0
-22
17
5
39
60
0
-1
35
0
0
-6
-15
0
0
-1
-41
0
-5
-20
-1
-1
-4
0
0
23
-12
-2
-4
24
0
0
-2
-5
0
0
-47
0
0
-2
-6
0
4
32
25
0
0
1
0
0
0
0
0
0
24
-1
0
0
0
0
0
6
0
47
-4
0
0
4
46
0
0
35
1
0
11
37
0
-5
30
1
0
-8
-11
0
-2
-3
19
0
6
73
0
-7
35
-1
0
1
-17
7
0
1
-2
0
0
14
0
-31
-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
-14
46
-3
67
24
-39
6
66
-49
-2
0
-61
8
15
30
42
-1
1
-11
64
66
34
42
1
0
14
3
-71
-20
39
0
0
47
39
25
0
5
-2
0
0
-1
22
0
-19
45
-26
-6
27
-1
0
-12
-5
7
-24
1
-2
-15
-39
-1
-48
-26
4
0
0
0
0
0
0
0
0
-35
23
29
22
-18
-20
16
27
35
0
51
54
-2
-1
64
-1
0
6
-56
33
-8
-9
-15
-1
0
-3
9
8
0
-27
11
9
-3
15
-7
0
-26
-20
1
19
2
-2
4
-5
-22
-18
-3
15
-10
16
-14
4
29
-27
0
48
101
15
1
23
2
41
6
55
-10
3
28
5
16
-20
-16
-21
3
32
29
30
51
-65
-24
0
-17
4
-7
62
-3
13
-1
43
-14
5
5
2
14
-4
-1
-4
-7
-5
0
-33
33
3
4
29
0
-2
-26
-4
38
-37
20
0
118
-57
-9
-27
13
20
0
-53
7
-4
22
-75
16
4
5
46
-2
20
-32
-29
1
14
-8
1
26
64
-14
0
-20
-14
2
28
10
-9
0
0
23
-6
22
18
0
3
0
44
24
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
4
1
0
0
-14
0
2
76
0
0
0
6
0
-1
-5
-1
0
0
2
0
2
-14
5
0
0
-1
0
0
0
-3
0
0
2
0
5
0
0
5
4
0
0
0
0
23
0
1
0
0
0
-2
49
0
0
0
0
0
-2
0
0
-32
19
0
0
0
0
0
0
0
0
0
39
38
0
0
-100
-2
-4
-21
-73
0
0
-9
0
0
0
7
0
6
6
11
0
0
1
0
0
0
0
0
0
33
1
0
0
0
0
0
66
0
2
0
0
0
-2
-53
0
0
6
0
0
8
0
0
0
-30
0
0
-2
54
0
-1
-47
0
0
10
14
0
-4
-4
0
0
0
2
0
-1
26
8
0
0
73
0
0
-2
0
0
0
49
0
0
1
-4
-6
0
-30
0
0
0
0
0
0
-57
13
0
0
0
0
0
34
0
13
-3
0
0
-4
0
0
0
33
0
0
-5
-24
0
9
3
0
0
-3
49
0
3
-18
8
0
10
56
0
-11
-3
0
0
0
9
0
0
1
0
0
0
-3
0
6
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
-52
1
0
0
2
0
0
1
2
0
0
18
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
-29
0
0
0
0
0
0
-59
0
0
-1
0
0
0
1
0
25
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
13
0
0
2
43
0
0
0
0
0
2
-7
0
21
0
0
0
0
14
0
0
0
0
0
0
74
1
-5
0
0
0
0
6
0
0
0
0
0
0
-10
0
0
4
0
0
0
-41
0
0
8
0
0
0
-14
0
0
3
0
0
1
-43
0
0
3
0
0
0
7
0
0
0
0
0
-6
-23
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
19
0
0
0
0
0
0
11
0
0
-7
0
0
0
-27
0
-1
-2
0
0
0
24
0
0
-1
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
33
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
47
0
0
0
-3
0
0
-3
0
0
0
2
0
0
17
0
0
0
0
0
0
0
-4
0
0
0
0
-20
0
0
0
0
0
0
-2
0
64
0
-1
0
0
0
0
-14
0
0
9
0
0
4
2
2
36
-33
0
0
0
0
0
0
0
0
0
3
24
0
-3
-19
0
0
86
47
0
0
0
0
0
0
-5
0
-3
0
0
0
0
54
0
0
0
0
0
0
-36
-3
0
0
0
0
0
21
0
0
0
0
0
-5
-5
0
0
-5
0
0
0
-64
0
0
5
0
0
-3
-34
1
0
36
0
0
0
-40
0
0
36
0
0
-1
51
0
0
0
0
0
0
34
0
0
-1
0
-1
0
4
0
0
1
0
2
0
42
0
0
0
0
0
0
-22
0
0
0
0
0
0
-7
0
-1
0
0
0
0
-23
0
0
4
0
0
0
71
0
-4
11
0
0
0
-13
0
0
0
0
0
0
4
0
-11
2
0
0
-4
9
0
0
-1
0
0
0
-77
0
14
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
73
25
23
108
-8
4
23
0
0
60
5
-2
0
-28
8
-23
-26
-14
0
0
2
2
-2
-1
33
0
0
-31
-7
-80
-1
-1
-26
0
0
0
20
0
-21
7
45
0
9
0
7
3
-16
1
68
0
0
11
-88
3
-13
-5
14
0
0
0
0
0
0
0
0
111
17
-1
60
9
20
2
-13
-10
3
-16
24
2
-2
14
-32
0
23
33
-33
-1
-20
-39
0
-1
1
0
1
0
43
-2
3
0
-10
0
3
-7
11
0
0
1
0
10
-74
-40
-1
-16
4
-2
5
33
-1
5
19
-5
0
-19
50
0
-11
14
41
-1
45
49
-3
-13
4
-5
27
-37
3
-1
25
-10
1
-6
8
-33
0
0
24
1
-8
0
-19
0
0
-2
-9
-2
0
31
8
0
-3
13
0
3
32
-4
3
4
4
0
0
-40
2
18
-1
3
0
11
26
-4
3
28
9
0
-3
-2
0
26
84
-1
0
-47
-30
-1
62
19
6
-8
-19
-26
0
32
20
2
1
-2
49
-3
1
-4
33
-1
0
-36
0
42
-1
-4
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
0
0
0
0
0
0
7
0
0
0
0
0
-4
-3
0
-14
-6
0
0
0
0
0
0
0
0
0
0
-53
0
0
-5
0
0
1
24
0
0
0
0
0
0
2
0
0
0
0
0
0
68
0
0
0
0
0
0
26
-1
-1
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
-2
0
0
0
6
0
0
0
0
0
0
12
0
0
-7
0
0
1
3
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
-14
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
14
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
40
0
-5
0
0
0
3
-32
0
0
-1
0
0
-21
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
-64
0
-1
86
0
0
-7
-68
0
0
1
0
0
0
-5
0
-29
0
8
0
0
27
0
0
0
0
0
0
47
0
0
0
0
0
0
-16
0
0
3
0
0
0
26
0
0
4
0
0
7
-5
0
0
-15
0
0
3
64
0
0
49
0
0
9
14
0
0
-14
-5
0
0
-14
0
0
-14
0
0
0
-3
0
0
0
0
0
0
-1
0
-5
0
0
0
0
-2
10
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
6
2
0
0
1
-62
0
1
7
0
0
0
51
0
-8
0
0
0
0
5
0
0
-1
-6
0
-4
70
0
-2
3
0
0
0
-15
0
0
2
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
34
30
-20
-23
11
-3
-7
22
-17
1
-9
33
47
26
24
-2
5
-1
5
1
19
35
76
0
0
-23
49
5
0
3
-15
0
-1
3
-21
7
-15
57
-9
5
1
0
-56
12
17
-9
98
1
-4
5
12
68
1
6
-8
10
0
0
0
0
0
0
0
17
19
43
-2
27
16
-11
-32
18
0
70
10
-10
-7
25
-26
-1
-37
71
-20
6
-19
-33
-23
0
-28
7
-20
0
18
12
-14
-2
33
-4
0
12
-57
4
-5
-2
7
-75
-43
80
-17
-5
-23
33
-37
39
31
34
44
0
-4
4
10
2
20
35
23
4
67
12
82
55
34
40
-27
34
-1
5
24
40
5
19
-63
-31
0
20
-13
-3
27
0
68
1
27
-45
-17
12
0
8
24
0
-17
-6
-7
0
-18
49
0
0
-9
0
11
-25
22
46
-15
0
4
-11
-41
-2
35
-40
-41
0
-101
10
-16
-54
-27
9
3
-18
-8
0
15
11
20
0
0
-16
5
-12
42
43
-4
-4
-10
0
-60
-44
-65
-5
0
18
3
6
-50
-6
7
0
8
19
15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-1
0
13
0
-7
-31
1
0
2
61
-6
-3
11
15
0
0
7
0
0
1
5
0
0
0
-6
41
0
0
14
0
0
0
3
0
23
-5
-1
0
0
0
-51
17
0
0
-2
0
0
35
8
0
-20
-52
2
0
0
0
0
0
0
0
0
-4
-35
-6
6
8
-10
0
41
37
0
0
-23
0
0
1
38
0
-88
-3
8
0
0
10
-1
0
0
-5
5
0
23
10
-9
0
-1
0
0
33
0
0
0
0
0
1
-13
-1
0
6
0
0
1
44
8
-1
3
0
0
-70
0
1
-16
10
5
0
48
34
0
0
21
4
0
0
-10
-1
0
27
1
0
8
27
0
0
-11
-4
-1
3
11
0
0
1
-5
-8
0
-2
0
0
0
-1
0
0
-28
0
-4
0
0
0
0
81
0
8
0
5
0
0
83
0
1
6
0
0
21
0
0
49
-53
-7
0
36
13
0
5
-8
-9
0
0
27
-5
-37
23
-2
-2
0
57
0
-2
-6
-1
0
0
-43
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
-17
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
-5
0
51
4
0
0
0
0
0
0
0
0
0
-1
-6
0
0
-1
2
0
0
23
0
0
-8
0
0
0
3
0
11
0
0
0
0
-1
0
0
0
0
0
0
-30
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
21
0
0
1
0
0
1
49
0
0
3
0
0
0
-11
0
0
0
1
0
0
-48
0
0
0
0
0
0
2
0
0
0
0
0
0
80
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
5
0
0
0
0
63
0
0
0
0
0
-1
-7
0
0
0
0
0
-3
3
0
0
-4
0
0
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-8
0
0
-16
-4
1
16
1
0
0
1
0
0
0
0
0
0
5
0
-1
0
0
8
0
0
0
0
0
0
0
1
0
0
0
5
47
0
0
1
0
0
17
-43
0
-22
15
-1
0
0
0
0
0
0
0
0
39
-19
0
0
28
-2
0
0
38
0
0
-2
0
0
1
-10
0
-16
1
0
0
0
5
0
0
0
0
0
0
-29
0
0
0
0
0
0
-11
0
0
0
0
0
0
136
0
2
1
6
0
-3
-25
0
-2
39
0
0
-8
34
0
2
33
0
0
8
-70
0
1
11
0
0
1
-13
0
0
7
0
0
0
9
0
0
0
0
0
0
20
0
0
0
0
0
0
33
0
0
0
0
0
0
49
-4
0
0
0
0
0
-15
0
0
0
0
0
0
54
0
0
-1
0
0
0
-8
0
23
-6
0
0
1
16
0
-7
10
0
2
0
31
0
0
1
0
0
0
-5
0
0
-1
0
0
0
-11
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
-23
8
7
-2
-102
0
-7
109
29
-14
0
4
-11
-4
-10
-64
0
5
-38
0
-26
13
-21
0
-2
-18
21
-24
2
0
33
0
0
-4
-22
0
36
25
7
0
71
0
-33
-29
-1
8
21
-5
1
-28
25
5
-6
-42
-28
-1
0
0
0
0
0
0
0
47
32
0
21
72
7
4
-32
53
3
14
29
1
-5
65
35
0
-67
-19
19
0
-21
0
0
0
-4
-6
-14
0
-6
-53
76
0
-10
0
-2
33
-34
-1
2
-11
2
-14
-17
18
9
-31
-5
-11
94
4
-2
0
3
2
-1
-37
29
5
0
40
24
-4
5
-4
-2
1
-48
-14
90
95
-25
-22
2
17
21
3
5
29
6
4
61
-4
26
16
-24
0
-5
-4
-7
5
0
18
-8
3
0
-2
11
0
-17
-3
-2
0
0
0
14
-41
16
30
5
39
-43
-39
-58
-1
63
39
-15
-6
53
43
-23
-9
67
0
-2
17
-51
-17
-22
40
129
-5
50
-36
-1
8
-50
9
0
4
3
-9
-9
-2
33
4
-3
0
0
21
6
5
-20
0
-46
8
-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
-34
2
0
0
37
0
3
11
7
2
0
10
-4
-2
7
-3
0
0
0
0
0
-2
46
0
0
6
0
-17
0
0
-21
0
0
0
-18
0
-11
7
0
1
0
0
-1
-25
0
0
-25
0
0
-59
45
0
90
54
0
0
0
0
0
0
0
0
0
-53
2
0
-1
-38
0
0
45
-39
0
1
6
0
0
-13
16
0
83
-53
0
-8
-2
8
0
0
0
0
24
0
0
-4
15
1
0
6
0
-7
-5
0
-3
0
0
-5
-71
3
0
8
0
0
56
2
0
0
54
0
13
6
-54
0
2
47
5
-5
14
71
14
0
-13
-1
5
-18
-6
4
0
28
0
3
0
-34
0
0
14
0
15
0
23
0
3
4
0
8
-2
65
1
0
0
0
0
0
24
26
0
0
0
0
-3
-30
0
-18
1
0
0
-14
59
-1
-2
80
0
0
0
4
0
15
-5
0
0
16
59
0
1
9
0
0
11
82
0
78
19
0
0
0
41
-3
-1
14
0
0
0
14
0
24
0
0
0
0
-43
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
7
-9
0
0
-5
0
0
0
15
0
0
-4
0
0
0
1
0
0
-1
3
0
0
0
-1
0
0
0
0
0
0
1
0
0
-2
-3
0
0
0
0
0
29
0
0
0
0
0
-19
-4
0
49
-5
-3
0
0
0
0
0
0
0
0
14
17
-1
0
82
1
0
70
27
0
0
18
0
0
46
57
0
14
-24
-5
0
0
-43
0
0
0
0
0
0
103
1
0
0
0
0
0
36
0
0
0
0
0
0
5
2
0
1
0
0
7
-19
0
0
45
0
0
38
17
0
0
-54
2
0
1
-60
0
0
109
0
0
16
-6
0
-1
22
1
0
-3
-34
0
0
0
0
0
0
-14
0
3
4
0
0
0
-36
-6
0
0
0
0
0
-6
0
0
0
0
0
0
14
0
-5
0
0
0
2
56
0
0
-5
8
0
1
11
0
5
15
0
0
7
-1
0
0
14
2
0
0
-1
0
5
0
0
0
0
66
0
0
0
0
0
0
6
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
-5
-6
1
-6
-2
-8
-3
1
43
-1
1
-6
3
30
-2
55
-1
0
-1
14
-52
0
10
-59
0
0
0
43
7
8
-22
48
1
14
0
47
20
0
7
15
0
-3
68
33
11
20
-32
-1
-10
0
0
0
0
0
0
0
2
-36
0
-5
7
58
-13
-77
-79
3
35
0
-3
21
2
24
0
4
35
-43
2
-5
-34
5
0
-4
19
8
0
-5
8
83
-1
-2
0
0
11
-2
21
1
-3
2
-1
-7
-36
2
3
8
5
-11
0
-18
6
3
0
14
45
10
-5
-39
-49
-26
10
31
21
-23
115
-19
18
-8
-4
11
-1
33
-71
5
-2
41
-6
-2
7
40
-4
60
2
-7
1
0
-7
19
0
0
24
-15
0
0
-5
-4
0
-6
26
-1
1
5
0
-6
-52
37
-65
23
4
2
66
-23
5
1
-42
-8
0
14
27
-1
-11
-2
-4
-1
7
33
36
31
25
-8
0
13
27
0
41
109
-2
-1
-39
38
-2
3
7
34
-4
-1
-24
0
49
-10
0
-11
0
23
-15
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
6
0
0
0
2
4
1
-2
-1
0
0
-9
0
-5
2
-8
0
0
4
-1
6
0
0
-13
0
0
8
14
0
4
-6
6
1
-2
0
0
10
0
0
0
0
-2
-8
33
0
60
88
0
0
0
0
0
0
0
0
0
-17
0
-20
-20
-11
-8
0
19
-68
0
-3
13
1
-3
1
-43
0
-43
-4
-6
-6
2
46
0
0
0
0
0
0
12
2
-3
0
0
0
0
-48
3
0
0
0
0
5
61
-1
-5
-10
6
7
-15
17
0
2
-1
0
0
73
26
2
-7
13
5
0
21
0
0
0
-28
0
4
10
70
0
-6
-26
0
0
0
39
0
0
20
0
2
0
37
0
-1
-2
2
6
0
43
0
-3
0
-3
0
0
5
0
0
0
-1
0
0
67
0
53
0
-7
-1
-1
2
0
2
25
7
1
-1
46
0
23
29
4
0
1
0
2
1
52
-8
0
5
51
0
-18
4
0
0
-1
-60
0
-9
1
4
0
0
-43
0
39
-2
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
4
-5
0
0
-1
0
0
-1
1
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
-1
0
0
0
13
0
17
0
0
-1
0
0
0
11
0
0
1
0
0
6
6
0
-25
-20
0
0
0
0
0
0
0
0
0
-1
-8
0
0
16
0
0
4
33
0
0
-5
0
0
0
0
0
-32
0
0
0
0
-47
0
0
0
0
0
0
25
0
0
0
0
0
0
-72
0
0
0
0
0
0
13
0
0
-1
0
0
2
34
0
0
0
0
0
-3
-56
0
0
10
0
0
0
19
0
0
-3
0
0
0
6
0
0
5
-1
0
0
-29
0
0
0
0
0
0
-8
0
0
0
0
0
0
76
0
0
0
0
0
0
11
-2
0
0
0
0
0
15
0
-6
0
0
0
0
25
0
0
0
0
0
-3
-26
0
1
0
0
0
0
71
0
0
-1
0
0
0
72
0
-1
0
0
0
0
-31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
4
0
0
0
0
0
0
-4
0
3
0
0
2
0
0
0
9
0
-36
5
3
0
0
0
0
53
0
0
-1
0
0
-9
5
0
21
57
0
0
0
0
0
0
0
0
0
-4
38
0
0
-10
0
0
107
-56
0
0
-8
0
0
-2
-5
0
-32
1
0
-3
0
74
0
0
0
0
0
0
4
14
0
0
-1
0
0
28
0
0
-1
0
0
0
96
0
0
0
0
-4
4
-5
0
0
5
0
0
6
-12
0
-2
-4
1
0
-1
71
0
9
16
0
0
-4
-4
0
0
16
1
0
0
24
0
-3
7
0
0
6
31
0
0
-2
0
0
0
33
0
0
-5
0
0
0
17
0
0
0
0
0
0
-41
0
3
0
0
0
0
52
0
0
9
0
0
0
5
0
-7
-4
0
0
2
17
0
0
-5
0
0
0
59
0
-3
-7
0
0
0
-10
0
0
0
0
0
0
-52
0
0
0
0
0
0
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
-25
5
3
3
-4
-3
0
39
-31
0
0
3
0
13
-1
31
0
0
-1
23
-93
0
0
-26
0
0
-1
-6
0
16
-2
1
0
1
0
6
38
-3
0
-18
2
0
75
95
3
38
67
1
6
0
0
0
0
0
0
0
-5
-17
0
-2
-7
-2
0
7
62
0
0
-11
7
0
-25
16
3
45
10
-9
0
-8
25
0
0
-1
0
11
0
22
26
7
0
0
0
0
-11
2
0
0
0
0
22
-25
15
7
39
-4
-5
21
43
0
16
30
0
4
8
-6
0
3
-5
9
0
99
6
0
-2
36
1
-2
-14
0
1
0
-33
91
0
2
-35
0
25
-2
0
23
4
41
0
15
8
-3
4
0
15
14
0
0
-2
0
0
61
5
0
0
2
0
-5
18
0
-26
0
0
0
-8
-22
0
-15
-23
-2
0
5
-43
0
9
-60
0
0
16
6
0
5
-13
13
0
3
-3
0
6
29
0
0
7
-15
0
-15
-3
-4
0
0
-82
-3
-16
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
93
0
0
0
0
0
10
-2
0
5
-1
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
-1
4
0
0
0
0
0
0
-13
0
-3
0
0
0
0
4
0
0
0
0
0
0
-25
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
29
0
0
3
0
0
0
83
0
0
-13
0
0
0
2
0
0
0
0
0
0
-8
0
3
0
0
0
0
44
0
0
0
0
0
0
-1
0
0
0
0
0
0
66
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
-17
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
6
0
0
0
-5
9
0
3
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
14
25
0
0
0
0
-5
12
0
0
0
0
0
15
4
0
84
56
22
0
0
0
0
0
0
0
0
75
35
0
0
88
0
0
43
-2
0
0
51
0
0
0
-3
0
-11
9
3
0
0
-33
0
0
0
0
0
0
52
8
0
0
0
0
0
-9
2
0
8
0
0
-6
26
0
1
7
0
0
0
-13
0
6
-27
0
0
9
-9
0
0
-44
-5
0
33
-7
0
0
6
0
0
5
35
0
0
-5
-3
0
0
25
0
0
0
0
0
0
55
0
0
0
1
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
0
3
-97
0
-14
0
0
0
1
21
0
-3
5
-6
0
-2
-25
0
-9
52
0
0
2
-35
0
0
7
-14
0
-4
15
0
9
-11
0
0
-6
-5
0
6
-2
0
0
0
44
0
4
0
0
0
0
66
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
102
0
-5
0
29
0
0
73
-2
-30
0
1
13
0
0
15
0
0
-4
-28
18
0
1
0
-18
-23
8
0
20
0
-1
5
10
0
0
-1
-1
2
0
0
0
0
0
0
0
-1
-34
0
16
52
-6
3
26
-14
1
0
43
8
0
43
-6
0
41
29
-20
0
0
-37
0
3
-4
0
4
0
-3
18
1
-3
-2
0
6
9
2
0
2
-2
0
-17
-77
-1
9
-2
-27
-6
27
-28
0
-7
-2
2
-5
-21
13
1
-1
16
56
24
-34
12
5
-13
-26
-6
24
1
10
0
19
-16
45
0
-1
7
0
0
38
-2
-22
-8
47
0
-6
0
-3
51
0
5
-1
0
0
0
-1
0
11
9
-5
0
-5
0
-4
-39
-7
2
-1
14
-2
1
52
-20
-6
39
0
-2
3
6
-5
112
36
0
0
11
-3
2
23
-4
-43
0
-7
103
-3
-6
23
-2
-2
3
0
0
0
-2
4
-3
0
-18
0
-14
2
7
5
0
-44
-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
1
0
0
2
-6
7
0
0
0
0
0
0
3
0
-6
0
1
0
0
0
-3
19
0
1
-1
0
0
-8
0
0
63
-35
0
0
0
0
0
0
0
0
0
-4
33
3
0
-64
-7
0
33
0
0
-2
18
0
0
6
48
0
57
4
0
0
0
9
0
0
0
0
0
0
-23
14
0
0
0
0
0
41
0
0
0
0
0
0
-6
-3
0
2
0
0
-5
-10
0
0
29
0
0
-5
43
0
0
-62
0
0
-18
13
0
-3
18
0
0
1
0
0
0
22
8
1
3
54
0
0
2
0
-1
0
12
0
0
4
0
0
0
7
0
0
-1
0
0
0
41
4
0
0
0
0
0
-13
-2
-5
-2
0
0
0
-2
0
0
6
2
0
0
4
0
0
5
0
0
0
108
0
0
1
-3
0
1
0
0
-12
0
0
0
0
-7
0
0
0
-1
0
0
-24
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
93
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
-10
0
2
0
0
0
0
-5
0
0
0
0
0
0
21
0
0
0
0
0
0
53
0
0
0
0
0
0
-8
0
0
0
0
0
0
-12
0
0
-13
0
0
0
-39
0
0
-4
0
0
0
27
0
0
0
0
0
0
8
0
0
18
0
0
0
-21
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
-10
0
1
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
9
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
34
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
1
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
36
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
-3
0
0
-1
0
0
0
34
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
-1
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
16
0
0
0
0
0
0
15
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
13
-3
-4
-2
41
-2
0
0
0
11
0
0
-2
0
0
0
2
0
-11
-2
0
-1
10
0
-11
-15
0
0
-20
0
0
6
42
-1
93
81
-18
0
0
0
0
0
0
0
0
44
-31
-2
-1
-14
22
0
102
-14
3
-3
-6
-4
0
-5
23
0
17
-11
11
1
-1
84
0
-1
-3
3
5
0
-8
-24
-5
0
10
2
0
13
17
0
-1
1
0
-10
-24
-4
-2
-6
-4
39
48
-41
0
43
8
8
-2
35
52
-4
41
44
8
7
-4
40
-4
13
103
5
-3
-34
-38
24
-16
-22
11
-11
0
-8
0
5
3
0
76
-4
42
1
0
2
-8
15
-6
19
-2
-1
0
-26
-4
2
5
-1
0
0
-1
0
-1
-3
-8
47
15
0
0
-1
-40
0
-5
18
-2
-4
16
35
5
97
25
5
0
20
-30
15
85
45
-3
0
1
-4
7
76
6
-14
2
0
-12
0
-23
1
10
2
0
-13
0
-71
0
0
-13
0
47
-25
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
2
0
1
0
0
0
0
53
0
0
4
0
0
0
4
0
40
-5
-1
0
0
0
-3
-23
0
0
-4
0
0
9
80
0
11
-39
0
0
0
0
0
0
0
0
0
30
-7
0
-1
61
0
0
1
-37
0
-3
37
0
0
-2
7
0
60
11
0
0
0
-18
0
0
0
0
0
0
69
-1
2
0
0
0
0
-15
-2
0
-2
0
0
0
31
-1
-1
0
0
5
16
-12
0
0
18
0
-5
-5
29
0
0
-11
0
0
0
-11
0
0
43
0
0
0
44
0
0
7
0
-3
-6
-34
0
3
1
0
4
0
-14
0
0
0
0
1
0
-27
0
0
0
0
0
0
19
0
0
1
0
0
0
42
0
2
1
0
0
0
9
0
-1
1
0
0
0
-28
0
33
47
0
0
0
31
0
9
7
0
0
0
-20
0
5
-1
0
0
0
-14
0
0
-1
0
0
0
27
0
-4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
65
0
0
0
-3
0
0
0
0
0
-31
0
0
0
0
0
-14
-18
0
0
4
0
0
-31
-3
3
49
72
-3
0
0
0
0
0
0
0
0
-3
56
0
0
-48
4
0
17
29
0
0
-53
0
0
33
-43
0
5
55
25
0
7
-4
0
0
-4
0
0
0
-13
5
0
0
3
0
0
11
4
0
0
0
0
-6
6
5
1
25
0
0
-1
31
0
0
6
0
0
16
94
0
0
24
-4
0
26
16
-2
-3
-70
0
0
48
-93
0
-1
25
8
0
-2
-22
0
0
5
0
0
0
59
0
11
-1
2
0
0
0
1
0
0
0
0
0
42
0
0
0
0
0
0
-40
0
-13
2
0
0
-6
31
0
5
-3
0
0
10
89
0
2
-11
0
0
-2
36
0
0
2
21
0
0
-14
0
-31
46
0
0
0
22
0
0
-3
0
0
0
-34
0
-1
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
16
-3
0
-19
10
0
0
-2
0
0
5
32
-36
1
-9
0
-72
-46
8
1
23
0
-39
78
-2
3
-11
7
7
0
0
0
0
0
0
0
0
36
18
0
-2
-6
54
0
20
4
0
0
67
2
0
-1
-4
-3
32
9
-16
0
0
6
0
0
-20
-5
2
0
9
-17
-5
6
6
0
0
12
-15
4
0
-10
-2
32
18
2
4
20
-58
18
45
-9
3
-27
20
0
-13
58
8
1
5
17
-63
-9
-31
-10
-24
32
-7
-18
-45
27
-9
9
50
-26
-22
7
2
6
-1
13
-14
13
59
0
25
1
-1
-43
0
33
0
14
6
0
0
-7
36
0
-64
-30
-4
0
0
0
0
-49
0
-24
-36
2
-13
-8
2
2
23
-42
-8
0
-30
12
0
8
-6
16
0
23
21
3
-53
-63
-6
3
-3
9
0
-21
28
7
0
4
-20
4
14
-54
7
2
0
19
3
59
-9
0
2
0
14
11
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
-2
0
35
0
-6
0
0
0
-3
-69
0
0
9
0
0
2
33
0
42
1
0
0
0
0
0
0
0
0
0
-14
-16
0
-2
68
0
-1
-7
32
0
0
11
0
0
10
0
-7
44
0
0
0
0
-32
0
0
0
0
0
0
25
-5
5
0
0
0
0
40
0
0
0
0
0
0
15
0
5
2
-2
2
-32
-5
1
0
33
0
8
19
71
0
0
-35
8
0
-8
35
0
0
14
-1
0
29
105
4
0
6
0
0
0
0
0
0
9
0
-1
0
-5
0
2
-2
-2
9
0
-32
0
0
0
0
0
0
51
0
0
0
0
0
0
15
0
6
2
0
0
3
6
0
18
37
-2
0
5
-24
-1
23
-9
3
0
-3
-51
0
8
25
2
0
0
-38
0
42
21
0
0
0
0
0
0
0
-2
0
0
16
0
-13
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
11
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
-10
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
-10
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
29
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
9
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
33
0
-3
4
0
0
2
19
0
4
0
0
0
-5
-12
0
34
36
1
1
0
0
0
0
0
0
0
-13
-17
0
0
4
-8
0
-1
12
0
0
-3
-2
0
15
-2
0
64
-1
-2
0
0
-14
-1
0
0
0
-2
0
54
33
0
0
0
0
0
12
1
0
-1
-1
0
0
-42
0
-5
1
0
-10
7
23
0
0
26
0
-1
-1
-1
0
-9
-2
-2
0
11
33
0
0
-14
-6
-1
6
5
0
5
1
5
0
0
-48
0
0
3
0
0
2
62
0
-6
0
0
5
0
21
0
0
0
0
0
0
-23
0
0
0
0
0
0
-48
-2
22
0
2
0
0
-20
0
0
0
3
0
-1
-43
0
4
-1
-9
0
5
62
0
5
-2
2
-1
-4
-42
0
36
3
0
5
-2
3
0
3
0
2
0
0
44
1
16
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-69
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-15
0
0
0
0
0
-3
6
0
-4
0
0
0
0
6
0
0
0
0
3
0
-15
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
0
0
0
0
0
6
-29
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-1
0
0
-6
-8
0
0
4
0
0
0
-18
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
-10
0
0
0
0
0
0
-1
0
-1
0
0
0
-3
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
0
0
0
0
0
-28
0
4
0
1
0
-11
22
0
0
1
0
0
16
-2
0
-28
139
-16
0
0
0
0
0
0
0
0
-26
-5
0
0
-9
2
0
43
-26
0
0
22
0
0
0
42
0
-62
-2
-3
0
0
90
0
0
2
0
0
0
21
4
0
0
-2
0
0
-43
-3
0
0
0
0
0
-51
0
0
0
0
0
-13
14
0
0
56
0
0
-5
1
0
0
-68
4
0
5
26
0
-2
-31
-2
0
-16
27
0
0
58
4
0
3
3
0
0
18
0
0
0
-7
0
4
2
4
0
0
-1
0
0
0
-2
0
0
54
2
0
0
0
0
-5
1
0
6
-5
0
0
-1
-132
0
-2
10
-1
0
0
-77
0
-1
22
0
0
-1
35
0
0
17
-2
0
0
22
0
-5
-4
0
0
11
-10
0
0
-4
-5
0
0
3
0
3
0
0
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
5
0
0
0
0
0
-24
0
0
0
0
0
0
-52
0
0
2
0
0
8
56
0
-77
-3
0
0
0
0
0
0
0
0
0
0
87
0
0
-15
2
0
0
14
0
0
7
0
0
0
-30
0
-11
0
0
0
0
25
0
0
0
0
0
0
-12
0
-3
0
0
0
0
0
0
0
0
-1
0
0
-31
0
0
1
-5
0
-1
-85
0
0
14
0
0
8
-15
0
0
13
0
0
1
4
0
0
4
0
0
0
11
0
0
0
0
0
0
-5
0
0
14
0
0
0
14
0
0
0
0
0
0
71
0
0
0
0
4
0
-17
0
0
0
0
0
0
-18
0
0
0
0
0
0
15
0
0
0
0
0
-2
53
0
-2
8
0
0
0
18
0
1
-5
0
0
0
10
0
14
3
0
0
0
25
0
-1
0
0
0
0
1
0
7
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
19
0
-1
0
0
0
6
-3
0
0
2
0
-6
-5
5
0
52
-73
0
6
0
0
0
0
0
0
0
-9
31
0
4
-17
43
0
-14
43
0
0
-5
0
0
-10
3
0
19
-7
-7
0
-5
0
0
0
0
-1
0
0
-1
17
0
3
0
0
0
35
-4
0
0
0
0
-6
-11
0
0
9
0
0
-1
5
0
1
11
0
0
-31
12
0
-1
79
-1
0
-9
51
0
0
23
0
0
16
52
0
-1
21
-9
0
-6
-26
0
0
-1
0
0
0
0
0
0
-1
-2
2
0
-33
0
0
0
0
0
0
42
5
5
0
0
0
0
-34
0
25
-1
0
0
0
-47
0
-1
4
0
0
-2
-23
0
16
8
0
0
-5
29
0
-3
-20
18
0
-1
14
0
-20
23
0
0
0
45
2
0
0
0
0
0
0
0
8
0
0
0
0
64
-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
26
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-8
0
0
0
31
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
30
0
0
-2
0
0
0
-9
0
0
-2
0
0
0
0
0
0
0
0
0
0
-11
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
-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
-10
0
0
0
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
-6
0
1
-4
0
0
35
4
3
0
0
0
1
82
0
0
-1
-3
0
-5
-23
0
55
-17
-2
0
0
0
0
0
0
0
0
-8
6
0
0
8
0
0
-47
32
0
0
-1
0
0
0
-9
0
-30
2
-1
0
0
-12
0
0
0
0
0
0
-44
-5
-2
0
0
0
0
57
0
0
-1
0
0
0
0
0
0
3
6
-5
4
-55
0
0
11
0
9
-4
-56
0
0
7
1
-10
2
39
0
-3
5
0
-5
-3
30
0
0
0
0
3
0
-37
0
0
0
0
0
0
5
0
0
0
0
-1
0
22
0
0
0
0
0
0
16
0
0
0
0
0
0
14
0
-41
0
0
0
0
-34
0
0
3
0
0
0
28
0
-5
1
0
6
-5
37
0
-6
2
-2
0
0
-15
0
17
0
1
0
1
15
0
0
0
0
0
0
-14
0
1
0
7
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
0
0
0
0
0
0
0
0
0
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
-1
1
0
0
0
5
2
0
0
-11
0
0
-4
-23
0
-44
-51
0
0
0
0
0
0
0
0
0
11
-53
0
2
45
0
0
43
36
0
0
-18
0
0
41
-11
0
33
-4
0
0
5
-13
0
0
0
0
0
0
80
0
0
0
0
0
0
14
0
0
0
0
0
1
-17
0
0
11
0
0
-5
45
0
0
32
0
0
64
-2
0
0
-19
0
0
9
2
0
1
16
0
-2
0
8
0
-1
75
0
-4
5
-44
0
0
-5
0
24
0
-14
0
0
0
0
4
0
-15
0
0
0
0
1
0
51
0
0
0
0
0
0
50
0
65
-3
0
1
-1
56
0
15
0
0
0
1
-32
0
20
-3
0
0
1
-26
0
0
25
0
0
0
53
0
5
-13
0
-4
0
40
0
0
0
0
0
0
-25
0
3
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
-22
0
0
7
0
0
-24
22
5
6
43
0
54
12
6
13
45
0
0
63
-30
0
34
9
67
0
0
0
0
0
0
0
0
71
-15
-3
-1
-15
62
0
16
25
0
0
50
-3
0
8
-18
0
12
-4
25
0
19
-28
57
0
0
0
0
0
24
7
2
-2
24
0
0
-11
4
0
-8
0
0
-29
9
-18
-3
-30
2
0
-4
-11
0
-8
-39
-2
0
-30
42
1
1
-23
53
0
43
12
7
-6
3
26
0
-5
8
0
-18
34
-14
0
-36
16
0
13
74
-22
0
4
58
1
27
-17
100
0
-8
-6
7
2
0
-3
0
0
36
14
0
-1
7
0
-6
11
-10
90
-1
0
0
-35
-17
-13
31
17
47
0
-20
13
1
-41
18
-26
0
-14
20
0
34
-5
30
0
69
33
2
32
100
0
0
-18
-12
0
35
19
19
0
0
-17
1
4
6
-1
0
0
50
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
0
0
0
0
0
0
41
0
0
0
0
0
-7
1
0
0
3
0
0
0
0
0
0
0
0
0
0
111
0
0
-8
0
0
-2
10
0
0
-1
0
0
3
-13
0
-3
0
0
0
0
9
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
17
0
0
-1
0
0
2
10
0
0
-21
0
0
0
-5
0
0
7
0
0
0
-19
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
-16
0
0
0
0
0
0
-27
0
0
0
0
0
0
-13
0
0
0
0
0
0
32
0
0
0
0
0
0
6
0
0
-7
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-1
0
0
0
12
-36
0
0
34
0
0
-30
19
0
-34
-62
0
0
0
0
0
0
0
0
0
51
11
-4
0
23
-18
0
-44
18
0
0
2
5
-3
9
-25
0
20
1
17
-6
0
-17
0
0
0
0
20
0
-81
0
-8
0
1
2
0
46
4
0
0
0
0
-20
1
1
1
-7
0
0
-20
-54
0
-1
-46
0
0
17
-21
0
2
30
-3
0
47
-35
0
0
25
0
0
-14
8
0
0
-44
2
1
14
24
0
0
18
0
3
0
-3
0
-6
10
-6
4
0
81
0
0
0
0
5
0
86
0
0
0
0
0
0
4
0
3
5
3
0
-6
-7
0
2
34
0
0
3
-10
0
33
-19
4
1
0
-34
0
14
-11
1
1
-9
22
4
-1
2
0
0
0
19
0
0
-1
0
-3
3
-36
0
96
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
-43
0
0
0
0
0
0
-1
0
0
0
0
0
0
-25
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
48
-3
0
0
0
0
0
-14
0
0
0
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
-4
-28
0
0
8
6
0
0
6
0
0
-1
0
0
0
55
0
-9
-1
0
0
0
0
0
0
0
0
0
0
22
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
7
0
0
-1
0
0
0
13
0
0
5
0
0
0
33
0
0
27
0
0
-1
-2
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
-5
0
-7
0
0
0
0
9
0
0
0
0
0
0
17
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
98
-2
3
1
0
0
27
4
0
0
1
0
0
10
72
0
42
-41
0
0
0
0
0
0
0
0
0
5
15
-1
-1
-5
4
0
41
70
0
0
-19
0
0
0
-20
0
1
11
2
0
0
9
-4
0
0
0
0
0
12
-85
1
0
0
0
0
19
0
0
0
0
0
2
-41
0
-8
-5
0
0
-4
-18
0
0
-33
0
0
-8
-43
2
0
-25
7
0
25
18
1
0
59
0
0
-4
-43
1
0
23
-3
0
0
3
0
0
10
0
0
-2
4
0
0
3
0
0
0
17
0
0
0
0
0
0
-8
-1
0
0
0
0
0
-2
-4
6
2
0
0
0
-19
0
-4
20
0
0
27
-28
0
5
-2
-2
0
4
-42
-1
-10
-7
-2
0
0
114
0
9
-13
0
0
0
20
0
0
6
0
0
0
-68
0
15
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
18
0
0
-3
0
0
-1
-15
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
27
0
0
0
0
0
0
-4
0
0
0
0
0
0
-11
0
0
0
0
0
0
9
0
0
-1
0
0
0
19
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
3
0
0
0
0
0
0
-2
-2
0
0
0
0
0
11
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
79
-8
16
4
-14
11
-10
44
-15
5
18
-5
-18
2
0
0
0
0
0
0
0
-27
15
-19
17
30
-35
-58
16
-5
-13
32
34
2
33
-6
-20
-14
13
-39
-14
-2
-9
-21
-8
-7
11
20
0
0
6
-9
36
14
11
5
-26
0
-8
44
26
-33
29
24
-18
2
-16
-63
-96
44
19
-10
27
89
-7
1
-14
35
-18
-16
9
-1
59
5
-3
2
48
72
33
-20
8
3
24
-7
44
14
-19
-64
-62
-4
-5
-23
-28
27
19
-43
-12
15
13
-1
-10
42
14
-15
35
-25
-7
37
6
20
0
-18
1
-1
-36
3
66
-30
-14
30
4
89
-35
14
-10
21
0
8
-52
-20
75
1
5
0
-32
-16
-22
38
-41
-4
-21
-9
13
-24
-8
-20
36
-14
-12
52
79
-37
-33
1
40
-7
-26
-19
14
-31
23
-5
26
-16
9
3
-20
75
91
27
-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
-5
111
0
0
-9
-4
0
18
-3
0
-44
14
-2
0
0
0
0
0
0
0
0
-5
-25
0
0
-17
5
0
-29
52
0
-4
54
3
0
37
27
0
15
2
0
0
0
-42
0
0
-3
3
-2
0
-14
0
20
0
0
0
0
5
0
0
-2
0
0
0
-9
6
0
0
-5
4
2
35
4
1
-4
0
0
53
-10
0
-2
13
-1
0
16
-6
1
0
0
0
0
-3
34
0
-1
-27
5
0
-1
-19
0
0
8
0
-4
0
16
0
0
-3
0
-2
0
-30
4
1
0
0
0
0
-52
0
0
0
0
0
0
63
0
2
0
0
1
0
48
6
0
7
0
0
5
-4
0
-5
-2
0
-2
0
90
1
-1
-4
-3
0
-8
48
0
15
2
-6
0
0
35
0
0
0
2
-2
0
9
0
32
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-29
-20
0
0
3
4
0
0
0
0
0
0
0
0
5
-16
0
0
-20
-5
0
-23
-53
0
0
18
13
0
0
-26
0
-32
-11
0
0
0
-5
1
0
0
0
0
0
124
5
0
0
0
0
0
-5
-4
0
0
0
0
0
33
0
0
16
4
0
-6
-47
0
0
-10
0
0
-11
38
0
0
-29
3
0
-3
-50
0
0
27
0
0
0
-17
3
-1
33
-6
0
0
63
0
0
0
0
-1
0
12
0
-4
0
0
-1
0
-56
0
0
0
0
0
0
54
-2
0
0
0
0
-2
-7
0
0
4
0
0
-1
4
0
0
-5
0
0
-2
92
0
0
-16
0
0
0
24
0
0
1
-10
0
0
16
0
3
7
0
0
0
41
0
-1
0
3
0
0
-13
1
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
12
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-2
50
0
0
-5
0
0
0
-31
0
0
0
0
0
0
-14
0
5
0
0
0
0
1
0
0
0
0
0
0
-47
-1
-8
0
0
0
0
-24
0
0
0
0
0
0
6
0
2
0
0
0
-9
-27
0
0
0
0
0
1
-11
0
0
1
0
0
-2
-32
0
0
-8
0
0
3
-7
0
0
0
0
0
0
5
0
0
0
0
3
0
-13
0
0
0
3
0
0
48
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
36
0
0
0
0
0
0
-27
0
0
0
0
0
0
14
0
0
0
0
0
0
-25
0
0
0
0
0
0
20
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
87
0
0
0
0
0
-10
0
0
-20
75
0
0
0
0
0
0
0
0
0
21
30
0
0
-4
0
0
10
46
0
0
-11
0
0
2
3
0
-32
31
0
0
0
-60
0
0
0
0
1
0
30
1
0
0
0
0
0
41
0
0
0
0
0
0
-41
0
0
0
0
0
0
-22
0
0
30
0
0
-2
-10
0
0
5
0
0
5
-42
0
0
-11
0
0
-13
-33
0
0
54
0
0
0
-1
0
0
0
0
2
0
3
0
0
0
0
-5
0
11
3
0
0
0
0
0
-34
-7
0
0
0
0
0
-3
0
25
0
0
0
-5
-82
0
7
10
0
0
18
38
0
3
-10
0
0
-5
10
0
0
-6
0
0
-2
16
0
36
2
0
0
0
33
0
0
1
0
0
0
35
0
5
0
0
6
0
20
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
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
21
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
25
0
26
3
0
0
0
0
0
0
0
0
0
8
26
0
0
82
4
0
-1
-22
0
1
42
-7
0
0
-105
0
-30
0
43
5
-1
-6
0
0
-1
0
2
0
-51
-5
18
0
1
5
0
37
2
0
0
0
0
0
-43
0
-1
-1
-2
0
0
-58
0
0
-6
0
0
32
46
0
3
86
0
0
0
-35
0
0
-22
0
-2
-17
-3
-3
2
86
-8
0
-1
-7
0
0
-32
0
0
0
5
0
-3
0
0
1
0
7
0
0
0
0
0
0
-72
-2
0
0
0
0
0
22
-3
14
8
0
0
1
3
0
0
5
2
0
3
74
0
-9
-15
0
0
0
8
0
23
26
1
0
0
30
0
-1
-3
0
0
0
-21
0
1
-1
1
0
0
42
0
-43
0
0
0
0
64
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
60
-87
3
0
0
0
0
0
0
0
3
15
69
-29
-2
-35
120
21
-18
54
39
-43
25
-52
13
-20
8
-20
32
33
-10
-72
-35
5
-9
-8
85
-64
-10
6
-17
9
-17
17
17
-1
-3
-19
9
5
-27
-14
17
0
44
27
37
-75
14
16
-7
57
5
28
14
36
-20
5
9
2
14
15
64
-4
-12
-39
13
-42
46
-65
-19
-2
-12
5
-27
64
10
-5
10
0
-26
-20
2
-36
-74
5
21
54
65
32
-7
27
-5
52
-19
0
33
37
1
-5
36
-19
18
24
0
-23
0
-10
-31
4
69
10
-8
3
-73
-24
45
-44
-14
3
13
19
2
64
-92
42
-63
-25
55
31
36
-2
-11
9
26
63
14
90
-16
52
-50
31
-5
-26
-1
-35
26
0
-13
27
11
-40
15
12
1
48
-30
49
48
100
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
29
21
7
0
0
0
0
0
0
0
0
10
-20
0
0
10
0
0
5
-1
0
0
7
0
0
0
-6
0
2
3
0
0
0
14
0
0
0
0
0
0
57
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
47
0
0
-3
0
0
0
23
0
0
0
0
0
-1
113
0
0
-9
0
0
-2
17
0
0
0
0
0
0
68
0
0
0
0
0
0
6
0
0
0
0
0
0
-71
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
1
0
0
0
0
40
0
0
0
0
0
0
-4
0
-3
0
0
0
0
-7
0
0
-3
0
0
10
10
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
31
0
0
20
0
0
0
-8
0
0
1
0
0
0
-4
0
5
0
0
0
0
2
0
0
0
0
0
0
27
0
0
0
0
0
0
43
0
0
0
0
0
0
33
0
0
-5
0
0
0
-26
0
0
1
0
0
0
58
0
0
-10
0
0
1
-2
0
0
4
0
0
0
46
0
0
-4
0
0
0
-29
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
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
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
-11
-73
0
-10
9
71
0
0
0
0
0
0
0
0
67
-50
1
-1
-15
-5
0
-14
7
0
0
17
0
0
-11
-3
0
75
-16
-2
0
1
-37
0
0
2
0
1
0
1
-27
0
0
5
0
0
101
14
0
0
0
0
0
28
1
0
-5
1
-2
5
19
0
0
33
0
0
-21
28
-1
-3
59
-2
0
24
-3
2
0
60
3
0
-14
16
0
-2
35
-2
0
4
-27
0
0
10
0
3
0
90
0
0
-7
0
48
0
-59
0
0
0
0
0
0
26
-1
0
0
0
0
0
-38
0
-1
1
0
0
5
75
0
4
-1
0
0
11
90
0
-18
-5
4
0
-2
-16
-1
0
0
5
0
0
-3
0
-6
-1
0
0
0
28
0
0
0
0
0
0
-48
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
-6
0
0
-6
1
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
-1
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
-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
-24
0
0
0
0
0
0
0
0
0
0
0
-25
0
1
6
0
0
-10
-10
0
0
0
0
0
-2
-4
0
-4
0
0
0
0
-62
0
0
0
0
0
0
-18
0
0
0
0
0
0
-46
0
0
0
0
0
0
-3
0
0
0
0
0
-11
4
0
0
0
0
0
0
-42
0
0
5
-3
0
0
-5
0
0
2
0
0
1
-33
0
0
0
-4
0
0
46
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
32
0
0
0
0
0
0
-27
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
-84
-20
-3
0
-19
-20
0
8
-26
0
-1
28
0
0
1
16
1
39
-23
48
0
0
-7
2
-3
3
0
-1
0
5
61
-22
0
0
0
0
33
-5
0
0
15
0
1
-87
0
-7
-25
4
0
-13
-6
3
41
0
0
0
50
-54
4
-11
57
-29
6
32
21
-5
-2
-51
-6
-1
-41
-66
2
16
-6
9
0
-3
-11
0
16
2
0
0
0
39
0
-8
-36
31
-29
0
-7
13
0
1
4
5
0
-7
11
-3
0
0
0
0
20
0
5
14
-14
0
31
66
13
2
-14
43
0
2
18
-1
-55
17
1
-1
23
-4
0
-33
-28
-71
-1
-9
-17
-5
-66
-44
3
0
0
49
5
-1
-6
-2
0
0
16
0
43
0
0
0
0
66
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
-1
-27
-8
7
42
-33
0
49
2
5
8
7
3
-2
-6
-4
2
38
5
1
-2
18
-16
7
0
13
0
3
0
-13
-72
16
11
33
0
0
-31
-47
0
1
13
1
18
43
51
-33
-42
-2
10
-94
0
24
13
-39
0
-10
-27
-7
0
29
-4
17
4
102
-37
7
11
23
24
-29
-84
-29
3
17
-2
-81
-9
23
16
0
31
45
-1
-15
-6
20
0
22
18
-15
110
-4
-10
18
0
1
8
37
0
28
-1
0
0
-9
2
7
97
1
73
-6
-1
2
42
0
-2
36
-3
8
7
14
8
-6
37
-26
-7
0
5
7
-14
108
-17
73
-11
-50
54
3
42
23
4
1
-6
43
10
-9
-39
5
-3
0
1
-4
22
11
9
-3
0
27
74
-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
66
0
0
-1
0
0
0
-67
0
0
1
0
0
-1
25
0
5
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
-26
0
0
0
0
0
0
49
0
0
0
0
0
0
93
0
0
0
0
0
1
3
0
0
-1
0
0
0
13
0
0
1
0
0
0
6
0
0
6
0
0
0
26
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
3
0
-1
0
0
0
0
-10
0
1
0
0
0
0
34
0
0
3
0
0
0
5
0
0
6
0
0
0
9
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
9
53
-1
-9
-3
-18
-4
1
-17
30
27
14
59
5
0
22
84
57
-3
6
4
-1
1
29
-26
-21
0
9
49
-7
-8
10
0
0
28
-5
-2
-8
-10
5
24
23
20
25
-25
-17
23
10
-36
14
14
-18
-33
-3
57
-15
-5
2
36
0
-2
-21
25
23
25
9
51
68
106
19
5
19
8
-11
77
70
20
2
22
-16
-16
-28
56
-59
-19
11
8
20
16
-7
-10
-14
0
1
1
-5
-2
27
-4
-2
3
-24
0
-5
5
-5
-2
-11
1
-16
77
31
14
35
31
20
-1
-12
-14
-1
45
56
-7
0
29
-37
22
47
52
62
-1
54
5
4
-12
7
5
-14
7
-8
0
14
5
-46
-3
19
-18
-4
71
-10
8
-11
0
-5
9
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
41
35
-9
7
-18
105
0
47
58
0
-5
49
-4
36
89
20
3
3
-26
30
-5
10
23
25
0
-4
0
-5
-1
-17
3
33
0
19
1
-4
0
5
0
-4
-1
-1
0
19
108
33
1
5
-3
-5
26
0
9
54
-1
0
-7
-51
11
35
54
29
0
43
23
16
25
-24
1
-7
81
-56
13
-13
-6
-33
1
-23
-29
0
-5
-30
-6
-14
6
15
3
0
27
5
2
1
-5
0
4
0
18
2
0
11
-6
-1
0
0
0
-1
15
-11
23
4
1
2
-25
53
-14
-53
-27
-10
0
-94
-107
1
2
-21
21
5
35
-40
5
21
121
-74
0
28
6
3
-14
72
0
0
47
36
0
25
45
0
2
0
-10
2
-22
0
2
29
0
35
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
0
0
0
0
0
8
-6
0
0
54
0
0
-48
-85
0
0
2
0
0
2
24
0
-34
19
0
0
-5
-36
0
0
-1
0
-7
0
-62
15
20
0
0
0
0
4
0
0
0
0
0
0
38
0
0
0
13
0
-10
7
0
0
18
0
0
-4
14
0
0
15
0
0
24
31
0
0
2
0
0
17
38
0
-1
-14
0
0
-1
-18
0
0
17
0
-1
0
59
0
0
0
0
-2
0
108
0
0
0
0
-5
0
-46
18
0
0
0
0
14
-40
0
-13
-4
0
0
13
27
0
3
-14
0
0
-3
32
0
2
-29
0
0
-2
5
0
5
4
0
0
0
-17
0
9
-5
0
0
0
-44
0
0
0
0
0
0
6
0
33
0
0
0
0
-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
3
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
10
0
0
0
0
-10
0
0
0
0
0
0
3
7
0
0
0
0
0
-15
0
0
0
0
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
14
-4
0
0
0
0
0
0
16
0
0
0
0
0
0
2
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
6
0
0
0
0
7
0
0
-9
0
0
0
25
0
0
4
0
0
0
41
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
24
0
-4
50
5
-6
-24
-74
0
-13
-19
3
-1
18
-29
-4
0
33
-13
5
0
17
-7
-45
-1
-5
0
0
11
8
0
0
3
0
0
-20
0
15
33
-7
20
23
22
0
-6
-8
0
-2
-5
-26
0
10
38
-15
0
14
-11
0
4
16
-3
13
21
-25
0
-5
63
6
-2
2
-18
0
3
-21
1
-33
0
40
0
0
27
-39
-7
0
44
-5
0
0
2
-13
0
16
5
0
0
-1
0
0
17
-5
-28
5
0
2
3
6
-2
43
44
19
0
-10
-26
2
4
29
1
0
2
68
0
37
-1
35
0
33
12
0
27
64
-4
0
0
18
-2
0
-20
3
0
0
-12
0
34
7
0
7
0
55
-5
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
8
-33
7
15
-49
108
24
22
-45
13
-57
-97
-21
3
-73
3
7
4
2
50
-9
2
-13
33
-3
0
-23
-3
1
28
3
5
22
-35
-36
33
-4
-35
11
-14
-12
-5
-39
-7
43
17
82
39
0
11
12
-8
-5
58
-22
-16
-3
0
-61
28
-25
39
9
-51
23
-3
1
-11
57
47
-4
4
-14
48
-3
-52
-19
49
-16
-19
23
-20
41
53
-4
-14
-19
0
4
-54
47
4
-10
-53
-16
9
80
0
-2
21
27
-60
-4
45
-76
13
22
6
34
-14
28
-2
17
-30
14
-18
-20
7
7
-66
0
-18
85
-16
28
-5
22
-32
22
7
3
-13
27
-58
5
-5
56
-34
-59
35
0
23
-1
-50
78
54
48
-1
8
43
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-4
0
0
0
-10
0
-3
0
0
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
-1
0
0
0
1
96
0
0
-1
0
0
0
-28
0
0
0
0
0
-1
34
0
0
0
0
0
0
7
0
0
-2
0
0
0
-6
0
0
0
0
0
0
-14
0
0
0
0
0
0
-72
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
45
0
0
0
0
0
0
4
0
0
0
0
0
0
19
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
-24
0
0
0
0
-50
0
0
-4
0
0
0
-24
19
0
0
0
0
0
-69
-1
0
0
0
0
0
-36
1
2
-2
0
0
5
68
0
0
5
0
0
-4
-5
0
0
34
-7
0
3
74
0
0
0
0
0
2
6
0
0
9
-3
0
0
-15
0
0
8
0
0
0
-5
0
0
-2
-4
0
0
-7
0
0
0
2
0
0
-1
0
0
-2
0
0
0
34
0
0
-3
0
0
2
0
0
5
-6
8
0
0
-72
0
11
5
0
0
1
46
7
8
-8
0
0
0
53
0
-9
0
0
0
0
35
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
26
23
0
0
12
15
0
78
6
-9
40
66
70
4
86
-5
-4
1
1
5
32
0
4
-47
20
0
5
0
-2
42
-2
2
-3
0
0
51
-28
34
-4
89
58
-14
79
11
17
-15
14
0
19
23
2
3
7
62
50
-4
-23
14
-8
-20
-29
-9
0
24
-20
0
-44
47
-49
-17
45
3
0
16
42
0
-15
-19
25
5
1
1
56
2
-9
15
0
1
0
0
-21
3
31
38
6
0
-11
0
-9
-7
0
13
-29
0
3
-8
8
0
-7
-18
-6
0
-3
9
-8
-18
11
9
0
39
-3
29
-97
71
85
0
-28
-19
-1
38
-5
0
5
13
34
0
5
-15
-6
0
0
-49
1
-34
6
0
4
0
-25
-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
-50
-5
0
0
113
0
6
27
-2
0
29
25
1
-2
0
19
0
0
0
0
20
0
45
-15
-5
0
0
0
1
9
0
0
0
0
0
0
35
0
-6
0
0
0
-5
8
0
-2
-23
0
4
-15
-4
0
4
55
0
0
47
11
0
0
15
0
0
10
54
0
0
2
0
-7
10
27
0
0
-3
0
-2
0
103
0
2
-1
0
-14
0
-32
0
4
0
0
0
0
19
-16
0
0
0
0
0
75
4
23
-5
0
0
1
-91
0
0
44
0
0
-15
27
0
26
85
0
0
-2
-4
0
-3
-43
-1
0
0
14
0
49
3
0
2
-3
-24
0
4
23
0
2
0
43
0
74
1
0
1
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
-17
0
0
0
0
0
0
0
0
26
0
0
0
0
1
0
0
0
0
0
0
-17
1
0
0
0
0
0
14
0
0
0
0
0
0
18
0
0
0
1
0
-3
-3
0
0
9
0
0
-4
4
0
0
21
0
0
-3
14
0
0
0
0
0
0
35
0
0
-3
0
0
0
30
0
0
0
0
0
0
2
0
0
0
0
0
0
74
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
-1
0
0
0
0
36
0
0
-1
1
0
0
61
0
8
1
0
0
0
-48
0
0
6
2
0
0
-25
0
0
-9
0
0
0
0
0
0
0
0
0
0
30
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
16
-20
3
-21
-20
3
0
-4
24
0
-1
-3
-1
-1
0
32
2
29
-3
-25
0
0
16
1
0
0
0
0
-11
51
10
8
-3
50
23
-23
-38
0
6
-18
2
-4
87
-9
3
34
-45
74
-2
-23
20
0
19
43
0
0
0
-55
-1
5
88
-34
-6
-4
24
0
1
-43
16
-2
0
-4
0
2
1
35
0
0
17
2
0
0
0
0
0
78
6
4
0
0
0
1
47
-9
52
17
0
-3
0
-49
1
24
39
1
0
-1
78
0
-10
-30
0
0
0
43
2
48
44
4
0
19
-81
0
35
33
4
3
-4
4
-3
0
35
-29
0
0
55
-3
-36
0
0
5
0
28
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
-30
24
-5
-15
17
-10
-14
-33
-6
-20
-2
-65
24
6
-3
29
29
9
1
-11
18
8
-27
-43
0
2
-32
-3
26
22
64
-34
-34
-64
42
-3
-3
55
0
34
14
-51
47
26
10
-41
15
-53
-18
50
-9
58
-2
66
5
-15
-36
0
-26
-89
10
43
5
-4
15
-5
-43
16
3
-10
20
-27
-27
-51
7
5
22
-20
20
-23
-2
5
32
56
-14
28
38
71
43
71
2
-19
6
-10
2
5
18
-40
6
35
-34
-85
-32
42
-27
-3
21
-45
20
-2
43
6
49
-35
43
-27
6
-17
-18
3
0
13
-54
-37
-3
14
34
8
6
-69
4
32
5
8
12
-3
6
-13
-7
-18
0
-24
37
67
36
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
-2
0
0
0
58
0
0
1
0
0
0
2
0
0
0
0
0
0
52
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
11
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
10
0
0
0
0
11
0
0
0
0
0
0
-14
0
0
0
0
0
0
-22
0
0
0
0
0
0
16
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
-2
0
0
4
-15
0
0
20
0
0
0
22
0
0
-2
-4
-2
1
15
0
0
-3
0
0
0
-4
0
0
0
0
7
0
31
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
-10
0
0
0
0
0
0
5
0
0
4
0
0
0
28
0
0
-1
0
0
0
-4
0
0
0
0
0
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-9
-6
0
20
-7
8
10
10
-6
0
0
-26
0
-32
56
-3
10
-2
-1
-4
13
7
0
-2
0
0
-14
-14
0
14
40
43
10
43
15
-3
-5
63
-2
1
-2
45
-3
31
-8
10
-2
2
-4
0
13
5
0
2
-6
-37
-2
27
53
54
0
6
10
0
19
4
-2
-4
7
52
0
-22
0
45
5
-5
-4
-8
14
0
0
0
-1
-24
15
0
-2
0
0
6
13
-9
41
-20
0
0
55
-12
-16
2
35
-1
0
55
-18
0
74
21
0
-3
25
-2
0
-78
-73
90
0
27
-72
0
46
10
-1
0
4
72
-8
6
-20
-19
2
0
38
4
-25
0
0
11
0
0
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
-9
0
1
-3
0
0
0
-2
0
0
0
0
0
0
-30
0
-4
0
0
0
0
10
0
0
0
0
0
0
-25
0
0
0
0
0
-3
-59
0
0
-2
0
0
0
22
0
0
-9
0
0
0
27
0
0
13
0
0
5
-18
0
0
0
0
0
0
22
0
0
13
0
0
0
2
0
0
0
0
0
0
31
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
-16
0
0
0
0
0
-1
-4
0
0
-1
-8
0
0
-1
0
0
-7
0
0
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
13
0
0
0
0
0
0
17
1
0
0
0
0
0
33
0
0
0
0
0
0
8
0
0
0
-1
0
0
71
0
0
1
0
0
0
-25
0
0
20
6
0
6
11
0
0
4
0
0
-8
-2
0
0
0
0
0
1
9
0
0
6
0
0
0
11
0
0
0
-3
0
0
78
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
15
0
0
0
0
-11
0
0
-3
0
0
0
80
0
0
0
0
0
0
3
0
0
13
-1
0
0
14
0
0
-14
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
28
0
0
0
0
0
0
-13
5
0
0
-2
0
0
-22
0
0
0
0
9
5
61
1
0
2
0
-8
-6
-12
-1
-8
52
0
0
2
0
0
-3
82
9
0
-10
-13
0
-1
0
0
1
-2
43
-2
2
23
-1
1
1
-43
0
2
0
0
0
0
-26
0
-1
-1
2
-5
0
-20
0
0
0
-1
0
0
24
0
0
0
0
0
0
36
0
5
1
0
0
0
-1
0
0
5
0
0
0
-15
1
-45
7
-9
0
0
17
0
-3
-6
0
0
2
-21
0
5
0
0
0
0
-30
0
0
1
0
0
0
-21
0
-3
0
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
20
-6
5
0
0
13
11
0
4
-21
-59
-3
3
0
-2
11
-11
0
3
-27
0
-54
9
-43
-1
-7
11
5
-21
-15
-1
57
5
5
-11
42
26
1
2
-7
23
-3
62
-53
73
-16
-22
0
5
1
25
1
29
17
21
5
13
0
3
-8
-4
0
-7
-4
4
-2
-10
21
0
-33
-6
-32
-9
0
0
0
-6
-3
34
2
2
8
-19
0
14
5
-37
5
11
0
-18
10
-69
-13
-44
-60
6
0
-33
3
-5
49
-24
4
-1
29
-3
-9
-16
8
-10
-1
-91
13
-3
-28
14
1
7
-10
0
0
-2
-21
9
3
0
-58
17
36
4
7
7
0
-14
-20
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
-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
14
0
0
0
0
0
-1
-16
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-13
-8
33
16
16
0
37
-20
0
-6
-30
5
5
-45
24
8
15
-5
0
-42
22
29
17
-21
-30
1
53
49
-2
50
-10
3
-46
-17
-1
5
30
-18
-50
-4
-40
25
-9
-13
43
14
-14
54
-17
-2
-14
36
-32
20
3
-43
1
2
49
-14
-31
-4
36
-2
50
40
-52
45
0
-2
8
9
0
-1
-10
4
7
44
1
5
45
0
34
-33
6
-19
-91
1
0
38
-5
6
-16
-56
-16
3
-46
16
6
-8
46
-29
8
43
-26
2
26
60
-17
-3
80
20
-5
17
-17
27
0
58
-37
-1
-31
48
9
-2
6
-9
-5
4
29
-3
5
0
15
-90
-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
10
-64
0
0
0
0
-2
0
24
-4
-4
0
-3
0
0
16
-11
0
0
0
0
0
-32
0
0
7
-7
-2
-54
14
-4
0
28
0
-3
15
-3
0
-2
4
0
0
-50
-9
0
-9
46
-13
-3
-6
-46
0
4
34
-5
0
7
19
0
-1
14
2
0
0
-4
2
0
0
0
-3
0
3
0
0
0
0
9
0
4
13
0
0
-2
0
0
12
0
63
-6
0
0
8
13
0
0
-1
5
0
43
59
0
18
-20
0
0
4
34
2
-30
1
-2
0
0
-105
0
-9
0
0
0
2
-40
0
0
7
0
0
0
-17
0
-16
0
3
0
0
44
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
33
0
0
0
0
0
0
5
3
2
0
0
0
0
61
0
0
0
0
0
-5
110
0
0
26
0
0
7
-6
0
0
-14
0
0
-29
-30
0
0
-22
0
-1
-18
32
0
-1
89
0
0
-3
-8
0
0
2
0
0
0
-16
0
0
-14
0
-3
0
31
0
0
-3
0
-1
0
19
2
0
0
0
0
0
-25
-1
0
0
0
0
0
-19
0
53
-1
0
0
0
16
0
0
14
0
0
-2
85
0
16
80
0
0
0
37
0
-9
6
0
0
0
-20
0
0
-3
0
0
1
9
0
0
1
0
1
0
41
0
-4
0
0
0
0
-100
-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
34
0
1
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
-1
-18
0
0
-1
0
0
0
-13
0
0
-5
-2
0
0
9
0
0
1
0
0
0
-8
0
0
0
0
0
0
-33
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
-2
0
-2
0
0
0
3
-26
0
0
0
0
0
-1
-9
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
34
0
16
0
0
0
0
-46
0
0
0
0
0
0
8
3
0
7
0
0
15
0
0
0
-2
0
0
-1
64
0
0
-45
-3
0
2
-4
0
0
11
0
2
0
38
0
0
6
0
0
0
6
0
0
-10
0
0
0
8
0
0
0
0
-3
0
31
0
0
0
0
0
0
23
0
0
0
0
0
0
32
0
7
0
0
0
0
95
0
0
4
0
0
0
34
0
0
1
0
0
0
-8
0
0
0
1
0
0
16
0
7
1
0
0
0
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
96
1
0
-31
53
16
-5
5
-7
88
-26
2
-28
23
80
-38
-15
-2
-23
-13
-50
2
-18
23
5
18
-32
-11
-57
-6
-29
17
-3
53
-27
18
-4
30
-54
12
29
-5
3
9
-14
-1
3
35
68
46
55
-5
0
58
74
-14
11
5
0
5
54
-3
0
1
28
0
28
18
2
20
16
0
5
-7
-20
42
11
5
56
57
-13
30
16
61
-81
-1
-62
12
47
-29
-23
-16
7
30
11
43
163
-71
-19
-4
-3
-20
0
-18
5
-4
14
-45
24
21
-45
-97
-63
-7
-1
0
-49
13
18
11
-5
-5
39
-52
-5
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
0
0
0
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
0
0
0
0
14
0
0
0
0
0
0
4
0
0
-1
0
0
2
68
0
0
1
0
0
0
25
0
0
0
0
0
0
44
0
0
-9
0
0
0
-1
0
0
2
0
0
0
-92
0
0
0
0
0
0
4
0
0
0
0
0
0
64
0
0
0
0
0
0
21
-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
-9
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
-1
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
-33
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
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
15
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
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
-1
0
0
0
54
0
0
12
-3
0
0
48
0
0
3
0
0
0
-39
0
0
0
0
0
0
8
0
0
0
0
0
0
53
0
-1
0
0
6
0
20
-7
0
0
0
0
0
-20
0
0
0
0
0
0
23
0
4
0
0
0
0
17
0
0
0
0
0
0
-53
0
0
0
0
0
0
-13
0
0
-3
0
0
0
4
0
9
0
-1
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
-13
0
0
0
0
0
0
-46
0
0
0
0
0
0
39
0
0
0
0
0
0
-23
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
-41
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
35
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
-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
21
-3
0
0
0
0
0
22
1
0
0
0
0
0
-26
0
6
0
-9
0
-5
4
0
0
-4
0
0
-9
14
0
0
-61
10
0
3
14
0
0
82
0
0
0
43
0
0
15
4
0
-3
12
0
-2
2
0
0
-2
-23
0
0
0
2
0
0
-29
0
0
0
0
0
0
-10
-1
0
0
0
0
0
-37
0
-5
1
0
0
3
-65
0
0
15
1
0
-1
-5
0
0
-14
0
0
0
17
0
0
10
0
0
1
-21
0
41
2
0
0
0
-23
0
0
-3
6
0
0
-19
0
-1
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
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
-11
0
0
0
0
0
0
0
0
0
0
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
9
-15
36
32
4
1
4
-19
14
2
-34
-5
41
-22
9
-6
24
17
-6
24
-42
5
-9
13
30
2
-23
25
5
-1
-50
-14
9
87
-16
20
-3
2
66
-20
17
27
-73
16
0
-18
-18
-14
23
-12
-2
12
-6
33
15
34
4
0
-1
-14
5
3
-46
20
-15
20
-8
5
-25
-10
95
24
12
-24
37
-47
-28
7
-1
24
12
-4
17
-20
11
-13
30
30
42
-56
27
-30
-7
2
31
-14
-17
-27
27
-6
-30
80
53
-57
44
80
16
0
84
-55
-62
60
26
13
47
12
69
19
62
0
0
-1
48
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
4
38
0
0
16
-4
1
43
-39
0
0
-35
0
-8
24
-56
-3
-3
8
-11
0
-2
16
2
-4
-47
0
0
-45
-16
1
2
-13
-24
0
0
51
0
2
2
0
0
4
76
0
4
22
0
-15
0
-34
0
0
0
0
3
0
20
-4
0
0
0
0
-1
20
-4
3
6
0
-2
25
15
0
0
1
2
-4
-2
-29
0
15
-11
0
0
-1
-45
0
-3
4
4
0
-11
-64
0
-2
5
0
0
0
21
0
0
37
0
0
0
-26
0
9
0
2
1
0
32
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
62
0
3
-3
0
6
-5
-46
0
0
5
0
0
-23
25
0
-10
62
1
-2
-15
5
0
0
50
-10
0
-6
59
0
0
28
9
0
0
-53
0
0
1
0
-3
0
110
0
0
7
0
-1
0
5
0
0
0
0
0
0
45
0
0
0
0
0
0
27
0
-14
1
0
0
5
-53
0
0
-4
0
0
1
-15
0
-21
15
0
0
0
4
0
19
-7
0
0
5
-28
0
4
2
0
0
0
48
0
0
0
2
0
0
-18
0
0
-2
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
-10
0
0
9
0
0
7
8
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
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
-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
10
5
0
0
0
0
0
6
0
0
1
0
0
-8
42
0
0
0
0
0
-4
12
0
0
12
0
0
6
-18
0
0
-15
0
0
2
-62
0
0
-4
1
0
0
-2
0
0
-4
0
-33
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
-20
0
0
0
0
0
0
45
0
7
-4
0
0
0
-2
0
0
-1
0
0
0
-23
0
7
2
0
0
0
60
0
0
0
0
0
0
-30
0
10
0
0
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
0
0
0
0
0
-1
-44
0
0
17
0
0
2
31
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
10
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
10
0
0
0
0
0
0
5
0
0
0
0
0
0
5
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
4
0
0
0
0
0
0
-10
0
0
0
0
0
0
-14
0
0
2
0
0
3
8
0
0
0
0
0
0
-2
0
0
0
-1
0
0
14
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
3
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
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
36
-30
44
54
-10
11
-32
-19
-2
-41
31
-33
43
-80
33
-3
67
2
14
18
-6
-16
-3
24
-36
-3
4
-49
48
-3
-40
48
15
19
8
-48
16
-3
30
83
-6
22
29
-23
20
-48
27
-26
7
-14
18
-23
39
27
2
-25
-3
0
21
-21
-2
33
0
-23
12
-59
-6
14
-9
9
-80
0
-72
37
73
-81
14
-26
2
16
11
14
41
14
-9
30
18
23
25
23
-2
5
-12
8
8
-51
-35
-11
-64
-11
-5
-24
-58
-41
24
-43
-16
-45
46
-36
43
14
1
-3
18
-32
24
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
-1
36
-3
0
4
-1
0
-2
22
0
0
-2
0
0
6
1
0
0
50
0
0
14
12
0
0
-2
0
0
0
81
0
0
6
4
0
0
-21
0
0
3
0
-3
0
-26
0
-1
10
0
-2
0
20
0
0
0
0
0
0
-43
0
-1
0
0
0
-5
41
0
10
0
0
0
3
-38
0
0
-2
-2
0
-1
-32
0
-2
6
0
0
0
-60
0
0
3
-2
0
0
36
0
-10
0
0
0
3
0
0
0
0
0
0
0
76
0
-3
0
0
3
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
-1
0
0
1
0
0
0
-18
0
0
0
0
0
-2
18
0
0
0
0
0
0
-46
0
0
1
0
0
0
13
0
0
17
0
0
0
-35
0
0
0
0
2
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-41
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
15
0
0
-8
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
6
28
0
-1
0
0
0
-1
-5
0
0
-4
0
0
0
21
0
0
0
0
0
0
4
0
0
2
0
0
0
1
0
0
0
0
-6
0
28
0
0
0
0
0
0
-2
0
0
0
0
0
0
-26
0
2
0
0
0
0
0
0
0
-8
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
0
0
0
0
0
-4
58
0
0
0
0
0
0
31
0
0
-1
0
0
0
-14
0
0
0
0
0
0
-43
0
0
0
0
0
0
-5
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
-23
0
0
0
0
0
0
-5
0
-3
0
0
0
0
13
0
0
0
0
0
0
1
0
0
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
-41
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-7
32
0
0
28
3
0
17
92
-1
0
27
0
0
0
-22
0
1
58
-1
0
-1
45
0
7
2
0
2
0
75
0
0
0
4
0
0
-48
0
0
0
0
0
0
77
0
0
0
0
0
0
34
0
7
0
0
0
0
28
0
0
-6
0
0
-2
-43
0
3
1
0
0
0
26
0
0
-32
0
0
-2
43
0
1
8
0
0
0
18
0
0
0
0
0
0
38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-6
1
-19
0
11
8
6
-4
28
44
-22
-2
43
-8
-23
-7
48
-11
6
51
18
5
73
74
33
-9
53
16
0
32
59
31
51
-19
-24
1
63
2
3
39
-11
-21
0
0
0
1
-5
2
-8
37
-1
-8
0
0
-5
0
-8
-15
44
-3
0
1
-19
45
3
19
132
1
-6
5
-9
-69
109
23
0
53
-67
33
45
64
72
-14
16
-5
6
38
14
-2
6
-19
57
-4
58
58
-37
11
0
-30
0
-17
26
1
-7
0
-15
3
2
-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
4
-14
0
0
0
0
0
1
-13
0
0
5
1
0
-2
-2
0
0
-4
0
0
5
33
0
0
-19
1
0
-2
-46
0
0
0
0
0
0
60
0
0
2
0
0
0
-7
0
0
0
0
0
0
15
-6
8
0
0
0
0
2
2
0
0
0
0
3
-1
0
1
-2
0
0
0
76
0
19
0
0
0
0
-10
0
0
0
0
0
0
43
0
5
0
0
0
0
92
0
0
2
0
0
0
54
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
3
0
0
5
81
0
0
-6
10
0
6
66
0
0
-10
0
0
1
24
0
0
-6
0
0
11
93
0
0
-6
0
0
0
-6
0
0
0
0
2
0
-11
0
0
0
0
0
0
2
0
0
0
0
0
0
11
0
3
0
0
0
-2
8
0
0
7
-1
0
1
-3
0
-9
4
0
0
15
-4
0
0
0
-1
0
0
53
0
0
-9
0
0
0
-23
0
0
13
0
0
0
68
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-11
0
1
0
-2
0
-35
-9
0
-8
2
-1
1
62
1
-1
0
-21
-3
1
-1
-34
0
4
-25
-3
-8
-1
-4
6
0
-1
0
3
0
-10
0
-1
0
5
27
0
40
0
0
0
0
0
0
-60
6
0
0
0
0
0
-18
7
-36
-1
0
0
0
102
-2
-5
0
0
0
-2
53
0
-8
1
1
-1
0
34
0
3
22
3
0
0
72
-3
3
0
0
-7
0
11
-6
2
0
-4
3
0
81
0
2
2
0
0
0
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
-5
-8
0
0
-37
0
0
-31
-26
0
0
71
0
0
21
54
0
0
-14
0
0
3
139
0
2
3
0
0
1
-20
0
0
-9
0
3
0
29
0
0
0
0
13
0
98
0
0
0
0
0
0
-35
1
0
0
0
0
17
32
0
-9
0
0
0
9
-62
0
0
3
0
0
-3
20
0
31
26
0
0
0
13
0
2
17
0
0
0
33
0
5
1
0
0
0
47
0
0
0
0
0
0
-40
0
1
0
0
3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
33
0
0
36
1
0
-4
-5
-5
0
20
33
0
0
62
0
0
-5
29
0
0
30
1
0
0
21
0
0
5
0
0
0
86
0
0
-1
0
0
0
32
-4
0
0
0
0
0
83
0
0
0
0
0
0
17
0
47
0
0
0
0
30
0
0
-5
0
0
-4
10
0
-1
5
0
0
-9
-12
0
23
-2
0
0
0
18
0
-1
1
0
0
1
73
0
0
3
0
0
0
-17
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
35
-2
0
-36
49
0
0
-15
-8
-2
59
0
0
19
82
0
-1
-41
-14
0
-1
-43
0
6
-14
0
0
0
26
1
0
0
6
-5
-7
37
1
0
0
0
4
0
54
-3
2
0
-5
0
0
47
-4
37
5
0
-1
1
-14
0
-1
-71
-1
0
4
-23
6
12
-79
0
0
10
44
0
1
20
2
0
0
-9
0
55
2
0
-1
0
-75
0
-11
7
0
0
0
-11
0
5
0
0
5
0
15
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
2
3
-38
40
13
27
66
23
15
-13
-73
46
-18
40
60
8
41
38
7
54
100
34
-30
11
79
49
54
-3
-13
-30
-62
14
-14
-44
-19
-4
6
5
21
1
48
-29
-14
3
27
31
49
-5
-5
-9
23
56
85
-55
0
46
-55
0
-5
-17
-24
-55
0
54
5
5
14
9
-15
-25
60
28
140
84
-1
-30
10
-21
5
23
21
65
-60
21
62
-24
0
-20
-13
-67
35
8
3
-29
9
94
3
55
-9
-4
-21
-50
11
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
52
0
0
0
0
0
0
74
0
0
-4
0
0
0
57
0
0
-1
0
0
0
66
0
0
0
0
0
0
11
0
0
0
1
0
0
-7
0
0
0
0
0
0
4
2
0
0
0
0
0
1
0
-11
0
0
0
0
2
0
0
1
0
0
0
11
0
3
4
0
0
0
-3
0
0
5
0
0
0
-11
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
14
5
0
0
2
2
0
0
-64
0
0
39
0
0
0
23
0
0
5
0
0
0
39
0
0
0
0
0
0
80
0
0
0
0
0
0
-6
0
0
0
0
0
0
-33
0
0
0
0
0
0
5
0
1
0
0
0
0
27
0
0
-2
0
0
0
8
0
0
8
0
0
0
53
0
0
0
0
0
-2
28
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
93
-16
0
0
88
28
0
21
73
2
9
-26
1
0
45
18
5
-6
14
23
5
3
44
0
0
13
0
2
5
-95
0
9
8
18
-9
0
-1
-3
0
0
0
-11
0
110
14
0
0
0
0
-1
64
1
13
4
0
0
-13
-28
0
83
-36
5
0
9
54
0
-17
33
-5
0
-5
6
0
-2
10
-4
0
0
-28
-2
-23
-2
-4
0
-14
-21
1
-1
11
-2
2
0
-25
0
-7
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
56
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
-6
-8
0
0
-6
0
0
5
16
0
0
5
-1
0
0
-40
0
0
-1
0
0
0
-6
0
0
8
0
0
0
27
0
0
0
0
0
0
35
0
0
0
0
0
0
-38
0
3
0
0
0
0
14
0
0
0
0
0
0
-36
0
-10
0
0
0
0
15
0
-6
8
0
0
9
37
0
4
-4
0
0
0
-1
0
0
7
0
0
0
-18
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
-14
-30
2
-10
-5
-5
1
-14
-22
-1
-1
-36
62
11
-10
5
0
-3
31
0
-5
-2
30
0
5
52
-19
55
0
49
-8
0
0
-2
0
0
54
22
0
-6
0
0
0
52
0
-15
-2
0
0
-1
-12
-2
45
-71
5
3
1
30
0
74
4
1
7
-1
50
-1
-52
115
8
0
-2
-33
1
-22
-35
1
0
-4
-42
0
-8
-14
5
0
0
-18
0
25
2
0
4
0
62
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
-53
8
-73
37
-20
83
50
1
8
-55
81
32
-55
-19
2
21
5
50
48
56
-12
-33
-7
-73
55
-56
28
-4
-7
-5
-79
-11
-14
41
21
17
28
42
119
-13
59
0
-21
-7
-8
4
15
-54
23
59
10
39
-43
-28
28
15
-68
0
45
-48
-40
4
-19
-13
2
-66
24
-15
-59
52
-24
-23
45
35
-32
9
42
7
0
-10
58
42
0
56
-1
-16
21
18
67
17
4
0
22
5
70
51
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
23
0
0
-1
0
0
0
58
0
0
0
0
0
0
-5
0
0
1
0
0
0
-9
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
11
0
0
0
0
0
0
43
0
0
0
0
0
0
22
0
0
0
0
0
0
15
0
-2
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
74
0
1
16
0
0
0
4
0
0
-1
0
0
0
52
0
0
-3
0
0
0
-36
0
0
3
0
3
0
-62
-1
0
0
0
0
0
-3
0
0
0
0
0
0
-44
0
0
0
0
0
1
-2
0
0
0
0
0
-1
35
0
-6
2
0
0
-2
-26
0
0
4
0
0
-1
33
0
8
0
0
0
0
14
0
0
0
0
0
0
26
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
-32
-20
-5
10
34
-17
-15
15
-20
-5
-13
-8
-105
-9
85
23
3
-9
25
-4
31
-53
15
0
27
11
102
-43
0
24
1
0
0
0
0
3
20
-1
2
0
0
0
-31
61
-2
25
10
17
-1
5
34
0
94
48
14
0
-1
-31
-8
33
-16
-10
0
60
16
2
20
59
-4
3
14
-39
2
2
51
6
0
-19
-33
-2
13
22
-5
-4
0
41
-1
-65
0
-4
17
0
-1
-6
-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
36
-57
5
0
1
0
2
-16
-13
0
0
73
-1
2
4
18
0
0
3
0
-3
1
-42
0
0
7
0
17
0
-7
-6
0
0
0
0
0
8
-3
0
0
0
0
0
-16
0
-1
3
0
0
-4
16
0
0
-33
0
0
0
-13
0
0
36
0
0
5
-46
0
-5
16
6
0
0
70
0
5
-4
0
0
6
-5
0
0
-8
0
0
8
58
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
3
-6
0
0
0
3
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
33
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
17
0
-2
0
0
0
0
22
0
0
1
0
0
-1
41
0
9
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-2
53
-2
0
-12
0
8
-5
0
2
0
65
0
-5
-4
-6
-18
0
3
3
0
0
0
0
0
38
-7
2
2
0
0
0
13
0
105
-6
0
0
2
26
5
0
21
7
0
7
-10
0
-12
19
3
1
1
-63
0
14
-59
19
0
-2
37
0
71
-14
0
0
0
33
0
-14
4
-6
3
0
30
0
62
-4
0
-3
0
7
-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
-6
-21
44
27
-41
-66
48
16
4
25
57
21
34
0
-15
-2
46
-61
-23
85
-41
0
1
-5
27
-37
31
-14
14
-40
41
1
17
24
1
35
23
62
-24
-81
6
-29
82
13
0
-16
60
-30
11
5
13
24
3
-51
-51
-11
-14
0
2
-37
-45
-30
-2
-17
-9
-3
-17
11
-32
-31
49
-42
-15
14
70
50
-18
41
26
72
-25
16
-2
-24
1
2
14
43
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
48
0
-3
6
0
0
-1
-24
0
0
0
0
0
0
13
0
0
0
0
0
0
34
5
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
1
0
0
0
0
17
0
-3
0
0
0
6
-5
0
6
0
0
0
0
8
0
0
-8
0
0
-2
-8
0
3
0
0
0
0
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
30
-9
0
1
-2
0
0
-8
0
0
-4
5
0
0
1
0
0
0
32
0
0
0
0
0
0
-32
0
0
0
0
0
0
-45
0
-5
-6
0
0
0
-19
0
0
3
0
0
15
5
0
-2
-5
0
0
-4
85
0
0
3
0
0
0
-6
0
3
0
0
0
0
-13
0
0
0
0
0
0
-54
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-3
-6
16
-31
0
94
54
0
5
16
0
-5
-1
5
0
-5
-11
52
-28
0
11
0
29
0
0
0
0
-4
-10
0
0
-3
0
-3
37
0
-24
37
-2
3
-22
60
14
104
-45
62
-1
51
-1
-1
22
9
9
0
14
-72
9
-3
8
44
0
0
20
0
50
62
0
0
-13
-33
4
0
5
-5
-1
0
35
0
9
2
0
19
0
53
-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
-3
0
0
14
0
0
0
-26
0
0
0
0
0
0
29
0
0
-4
0
-3
0
-33
0
0
0
0
0
0
10
0
0
0
0
0
0
23
0
-2
0
0
0
-1
-17
0
-2
0
0
0
0
-35
0
0
0
0
0
0
67
0
0
3
0
0
0
0
0
1
0
0
0
0
-6
0
0
0
0
0
0
-13
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
-3
24
0
0
14
1
0
0
21
0
-1
0
0
0
0
-17
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
53
0
0
0
0
0
0
23
0
8
1
0
0
0
23
0
0
2
0
0
0
-13
0
8
0
0
0
0
33
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-32
0
2
0
8
-1
0
2
6
5
0
33
3
0
0
0
0
0
56
0
0
0
-1
0
0
62
0
-6
-5
0
0
-6
-18
0
0
4
-1
0
-2
35
2
-25
32
0
0
0
81
0
-1
4
18
0
9
27
0
-53
-2
0
0
0
-53
-1
0
26
2
0
0
-48
0
-33
4
0
-1
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
-13
-2
0
19
83
1
-22
4
-9
5
-53
65
27
-91
0
14
-17
43
-5
-7
-24
1
-17
21
19
-3
-26
0
4
-6
24
-33
-39
3
33
-24
-21
-5
25
-9
0
-2
95
6
2
8
40
-5
0
-7
40
10
36
101
49
19
3
0
19
16
2
3
-2
-9
5
-7
46
57
-7
46
2
1
1
-31
2
-5
3
0
18
-40
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
-65
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
3
0
0
0
0
0
0
-24
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
31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
52
0
0
0
0
0
0
19
0
0
0
0
0
0
47
0
1
-2
0
0
0
42
0
0
13
0
0
0
-19
0
0
5
-5
0
0
56
0
0
7
0
0
-3
39
0
5
0
0
0
4
14
0
0
0
0
0
0
-16
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
79
0
-7
33
-8
12
-1
50
0
5
0
-15
68
0
14
5
0
0
0
-1
0
53
13
-1
0
0
0
2
-6
-1
5
5
0
0
38
-19
0
5
-25
-20
4
89
-53
0
25
47
10
-9
56
-14
3
19
-17
3
0
3
-49
0
-8
39
-1
0
-3
-14
0
-1
-4
-4
0
0
-5
-3
33
0
0
-1
0
56
43
-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
8
0
-1
-20
0
-1
0
-13
0
0
-2
0
-4
0
23
0
0
0
0
0
1
0
0
0
0
0
0
0
19
-2
47
-6
0
0
-5
70
5
1
0
0
0
5
76
0
18
52
0
0
0
49
0
0
1
0
0
-4
82
0
52
3
0
0
-8
-14
2
0
2
0
1
0
-15
0
34
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
43
0
0
-5
0
0
0
8
0
0
9
0
0
0
81
0
0
0
0
0
0
13
0
0
0
0
0
0
64
0
0
0
0
0
1
5
0
0
0
0
0
0
46
0
0
0
0
0
-7
-41
0
0
-7
2
0
0
-5
0
-3
-6
0
0
0
5
0
0
0
0
0
0
21
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
27
0
-1
0
-5
3
0
-44
-4
0
0
0
0
0
92
-1
0
0
0
0
0
18
0
-4
-6
0
0
0
-27
0
0
-2
0
0
-2
6
0
7
16
0
0
0
89
0
0
-4
0
0
0
-16
0
2
-7
14
0
0
84
0
-9
0
-4
0
0
57
0
-2
0
0
0
0
108
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-56
40
-24
-11
-6
12
-53
23
27
-19
-53
47
-33
-17
32
25
36
1
39
-42
-13
47
-61
-11
54
-34
17
-10
-3
21
-31
1
58
10
-58
45
11
4
5
-30
20
43
1
5
31
37
163
28
-7
32
0
-21
-13
41
0
-5
-71
20
-58
-1
-1
-32
-19
-25
-24
1
41
0
-23
-18
-27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
8
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
5
0
0
0
0
-6
0
0
0
0
0
0
40
0
2
0
0
0
0
55
0
0
0
1
0
0
1
0
0
-2
0
0
0
11
0
0
0
0
0
0
-21
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
57
0
-2
0
1
-3
0
22
0
0
0
0
3
0
-27
0
0
-3
-7
0
3
-123
0
19
-5
0
0
-2
33
0
-3
-1
7
0
-1
21
0
-34
-9
0
0
17
36
0
34
-4
19
0
-3
-56
0
14
-3
-3
0
0
-11
0
0
0
-3
0
0
-21
0
0
0
0
0
0
50
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
24
0
8
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
19
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
-47
0
5
0
3
0
0
26
0
0
0
0
0
0
-34
0
0
0
0
0
0
35
0
-1
-1
0
0
-1
84
0
1
0
-2
0
0
12
0
5
6
-3
0
0
-54
0
0
-6
0
0
0
-21
0
14
-6
0
0
2
-7
0
0
2
2
0
0
-64
0
9
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
22
0
0
0
0
0
0
45
0
0
0
0
0
0
76
0
0
0
0
0
0
-14
0
0
-1
0
0
0
55
0
0
-1
0
0
-4
33
0
0
-4
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
89
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
19
-7
0
0
-27
-9
0
-36
4
14
-2
-7
0
-17
-34
34
17
47
5
-1
37
25
5
-47
11
47
-3
-4
28
14
9
10
24
0
5
-69
5
45
-14
-77
15
63
32
1
-29
-2
-9
-9
53
49
-1
-5
-24
-45
0
9
0
23
11
-9
-2
0
0
31
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
-22
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
80
0
2
0
0
0
0
-8
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-16
0
-6
1
0
0
2
5
0
0
0
0
0
-1
8
0
0
5
0
0
0
81
0
0
0
4
0
0
-18
0
0
0
0
0
-1
-7
0
0
0
0
0
0
-27
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
-26
-2
0
0
0
0
0
-21
0
0
0
0
0
0
53
0
2
0
0
-2
0
73
0
0
-4
-3
0
0
-39
0
10
16
0
0
-2
83
0
-2
4
2
0
0
-60
0
-5
1
0
0
-5
-4
0
2
0
0
0
0
26
1
-14
0
0
0
0
-22
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
42
0
0
0
0
0
0
8
1
0
0
0
0
0
43
0
-8
-4
0
0
0
-13
0
0
0
0
0
0
60
0
45
-1
0
0
0
57
0
0
0
0
0
0
51
0
44
-17
0
0
0
4
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-2
0
0
31
0
2
2
0
0
5
30
0
0
-1
0
0
0
8
0
-27
-5
0
0
21
62
0
-6
0
0
0
0
1
0
-15
65
0
0
2
18
0
0
2
0
0
0
-2
0
3
0
0
0
0
-16
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
35
-8
-19
0
-33
13
38
-4
-43
62
59
4
25
36
109
42
1
-16
-89
-1
-5
49
14
-9
-21
4
5
0
38
45
113
33
-55
-2
1
-22
-37
83
-47
24
1
33
-18
36
23
30
-9
3
-20
8
6
4
-66
0
0
3
52
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-2
0
0
0
-6
0
0
-13
0
0
8
9
0
0
0
0
0
-1
17
0
0
-8
0
0
11
7
0
-13
0
0
0
0
-24
0
0
0
0
0
0
-24
0
-2
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
-2
0
0
0
0
0
2
19
0
0
0
0
0
0
16
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
18
0
0
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
-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
-11
0
0
0
0
0
0
-7
0
0
0
0
0
0
10
0
-1
-13
0
0
0
-4
0
3
0
0
0
0
-8
0
0
0
0
0
0
-19
0
0
1
0
0
0
2
0
0
-5
0
0
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
29
30
-5
-1
-20
33
12
7
11
-21
6
3
-41
17
-3
-55
-20
-1
0
106
14
7
2
21
76
2
-46
-19
0
-28
12
-11
0
3
-6
0
2
20
18
6
-1
17
4
2
1
2
10
0
-29
-11
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
16
0
-6
-1
0
0
0
12
0
0
-3
0
0
0
6
0
16
1
0
0
0
14
0
9
0
-1
0
0
27
0
0
0
0
0
0
-41
0
0
0
0
0
0
-43
0
9
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
2
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
-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
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
33
0
0
10
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
-1
-31
0
-13
-1
0
0
0
6
0
0
-5
0
0
0
33
0
0
6
0
0
0
-9
0
0
2
0
0
0
-83
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
0
-22
-15
24
0
13
-5
4
-53
61
18
0
103
25
-1
34
45
16
-2
11
-12
-3
-17
12
-3
5
46
24
0
-22
4
-8
0
0
-15
1
62
-17
2
-7
-1
-5
-48
-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
43
0
0
-4
0
0
0
-10
0
0
0
0
0
0
-25
0
0
-1
0
0
0
8
0
-15
0
0
0
0
11
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
6
9
2
0
0
-16
4
41
-16
2
0
-18
-67
0
5
118
-17
0
-1
-4
0
71
10
8
0
-9
64
0
-5
7
0
-3
0
18
0
33
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-5
1
0
0
-31
0
16
-9
0
0
0
36
0
-7
10
4
0
0
27
0
8
1
0
0
0
30
0
0
0
0
0
0
82
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
8
0
0
7
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
3
0
0
0
1
0
0
-1
0
0
0
16
0
2
-5
0
0
0
5
0
0
0
0
0
0
-14
0
4
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
-52
-22
-14
36
12
26
1
25
1
-4
44
56
-25
5
-44
43
-5
-118
-23
14
5
0
7
0
-36
81
41
9
7
38
-45
33
-3
1
-71
0
31
-45
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
-18
0
6
-2
0
0
0
-1
0
0
6
0
0
0
47
0
0
3
0
0
0
16
0
0
0
0
0
0
-18
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
45
0
5
0
7
0
0
-8
0
0
-1
7
0
0
71
0
3
0
1
0
0
10
0
0
-7
0
0
0
31
0
1
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
6
-61
1
-3
5
-3
0
2
81
1
4
5
1
0
0
53
0
39
-11
-1
-3
0
53
2
0
-1
0
0
0
62
0
29
1
0
0
0
49
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
8
0
-4
7
0
0
-2
82
0
0
7
0
0
0
2
0
-2
-2
0
0
0
-61
0
0
-2
0
0
0
40
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
-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
7
-1
0
-11
111
0
2
-1
0
0
0
103
0
-2
1
-4
0
0
20
0
7
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
112
-24
5
-43
-42
34
-5
-24
-37
27
20
58
17
5
17
-5
1
23
-17
51
-15
14
-5
-31
-27
-13
-4
-12
-2
30
-75
-25
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
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
-11
3
5
67
-17
0
0
58
0
6
-5
4
0
0
-35
0
0
-7
1
0
0
3
0
-21
-7
0
1
0
83
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
28
4
0
51
-2
23
0
0
0
5
48
0
-14
-3
0
0
0
41
0
26
0
0
8
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
33
0
0
8
0
0
0
-3
0
-1
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
0
-5
0
0
0
0
-19
0
0
0
0
0
0
80
0
-31
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
49
54
-10
-53
65
0
0
-44
12
-5
-64
56
-15
31
0
15
0
17
-9
-13
-27
-3
-62
34
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
41
0
0
0
0
0
0
10
0
3
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
2
1
0
0
94
0
0
3
0
0
0
25
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
-2
-27
0
0
0
10
0
-1
-20
0
-1
7
0
3
7
76
0
34
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
63
0
-8
-11
0
2
0
-30
0
3
-1
0
0
0
2
0
6
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
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
41
0
0
-4
0
0
0
-24
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
36
-16
-1
-18
28
32
3
6
4
1
14
9
0
31
0
-21
-29
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
-5
3
5
0
31
0
0
-1
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
0
2
0
0
-5
0
2
0
0
-4
0
-92
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
9
-14
0
34
18
54
1
0
17
21
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
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
-14
0
15
2
0
-10
-141
-22
7
-11
-14
-5
7
20
90
-32
7
-11
-33
8
-44
-19
14
107
12
-74
3
6
98
88
-46
41
49
70
-8
19
4
-2
43
2
-3
7
-19
43
1
2
0
3
0
6
-15
0
0
0
36
0
9
0
-3
5
0
35
42
12
0
1
8
1
8
-18
-26
-2
25
27
22
97
-103
-47
20
-5
-6
13
11
18
38
22
15
43
5
-15
39
45
25
-31
11
-21
-28
-31
12
21
-16
8
15
30
-5
-14
-11
-1
14
-53
-8
0
-36
-3
0
-14
-2
-70
-1
12
0
-59
4
5
-6
-38
-8
4
-4
6
-3
23
17
-18
0
-17
10
18
-2
-40
9
-27
24
-6
1
18
0
0
0
0
0
0
0
-51
-10
-14
0
-11
16
-5
41
33
-2
-2
-13
-5
21
-102
-32
6
23
84
-3
18
0
-17
5
-28
0
72
-19
-3
-6
0
-7
-4
-14
28
23
20
-14
100
56
43
8
11
-5
-10
45
-4
-15
24
27
2
-38
31
8
-1
-22
27
-7
39
-44
-23
50
64
-44
2
38
-7
-5
94
67
30
-15
33
75
-28
-50
-37
36
-9
-25
20
11
-59
-33
5
-17
5
-14
4
-14
47
1
54
0
-6
16
-19
-2
-34
-16
46
-33
31
4
55
5
14
2
12
13
3
-5
31
-19
53
-49
-40
63
7
19
2
-15
36
-28
-3
55
19
21
5
-34
-44
19
-18
50
5
7
45
-17
93
23
-9
16
-5
-19
-25
65
3
0
-13
46
0
14
42
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-19
0
0
0
0
0
0
13
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
6
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
-3
0
0
0
0
0
0
-17
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-9
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
30
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
-15
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
-74
-6
0
5
-67
35
71
4
0
3
-2
2
-7
38
5
9
-1
64
17
24
-1
-12
65
0
10
5
9
41
0
14
-4
14
-38
-8
16
-5
2
4
8
1
0
-22
0
5
-13
0
0
0
-5
0
71
43
-3
3
0
3
-28
-14
0
-1
-21
-23
40
4
0
0
18
27
0
35
-24
53
3
17
23
41
30
29
-51
-4
12
-7
-11
24
-26
61
-18
-76
61
-5
-18
24
27
1
0
-31
14
87
-16
22
0
0
-44
-4
-28
0
-7
19
0
0
0
-14
0
15
10
0
8
1
0
-75
24
0
-1
-21
0
0
3
-52
1
0
-5
56
0
50
-19
-5
-15
31
9
1
0
0
0
0
0
0
0
36
18
5
32
22
14
-5
-42
-33
-2
15
-14
-15
2
-10
25
14
0
60
0
36
0
-30
35
-5
1
6
-8
0
-21
20
-4
4
4
-4
13
-41
0
-8
-14
9
-24
24
-13
-3
7
17
-2
31
29
-9
1
14
-61
127
-5
37
8
-4
-28
25
-4
-5
-29
-17
-17
-67
36
-1
32
43
-7
22
61
57
-1
-15
8
24
-11
5
-43
-9
29
2
-26
4
-6
0
-1
33
0
27
-3
-1
1
5
-1
2
26
-2
-15
1
2
-5
-41
-6
-4
22
9
75
-2
23
45
7
-35
91
2
4
52
10
4
44
-8
-71
9
-23
-5
0
34
-23
4
1
37
-5
16
69
-21
-19
11
-3
30
2
1
16
24
-34
0
-17
-22
2
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
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
32
0
0
0
0
0
93
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
1
0
0
0
0
0
0
36
0
0
0
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
1
0
0
0
0
0
12
0
3
0
0
0
0
4
0
0
-8
0
0
0
0
0
33
-2
0
0
9
-3
0
0
17
0
0
0
0
0
0
0
0
0
-8
22
0
0
18
0
0
0
27
0
-25
0
0
0
0
-47
0
0
0
0
0
0
71
0
0
0
0
0
0
20
0
0
0
0
0
0
49
0
0
1
0
0
0
-15
0
0
7
0
0
0
18
0
0
14
0
0
0
24
0
0
-10
0
0
1
-56
0
0
0
0
0
0
-7
0
0
-2
0
0
0
29
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
-9
0
1
0
0
0
0
-8
0
0
0
0
0
0
5
0
-1
0
0
0
0
48
0
-1
0
0
0
0
29
0
6
-3
0
0
0
23
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
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
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
4
-1
0
0
-2
0
0
3
0
0
0
10
0
1
0
0
0
0
-8
0
0
-2
0
0
0
7
0
0
5
1
0
0
6
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
-24
-6
0
0
-3
16
0
0
2
0
0
0
0
0
0
0
0
0
-6
37
0
-1
15
0
0
0
-23
0
10
-3
0
0
3
-5
0
0
0
0
0
0
-10
1
2
0
0
0
0
13
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
1
0
0
0
-6
0
2
-3
0
0
0
-5
0
0
-8
0
0
1
25
0
0
-1
2
0
0
5
0
0
0
0
0
0
23
0
0
0
-2
-4
0
-24
0
0
0
0
0
0
6
-1
0
0
0
0
0
-11
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
4
0
0
0
21
-1
9
5
-1
0
0
-2
0
0
0
0
0
0
-16
0
0
-3
0
0
0
-31
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
-4
0
0
0
0
0
0
-5
0
0
-1
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
122
0
0
0
0
0
58
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
-1
-6
0
23
0
0
0
0
0
0
0
0
0
0
4
0
0
-9
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-24
0
0
0
0
0
5
0
0
3
0
0
0
5
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
-6
0
0
3
14
0
-16
0
0
0
0
5
0
0
0
0
0
0
-7
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
66
0
0
0
-2
0
0
55
0
0
-17
0
0
0
23
0
1
3
0
0
0
-21
0
0
0
0
0
0
-15
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
1
0
0
0
-6
0
-3
1
0
0
0
11
0
0
6
6
0
0
-10
0
4
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
7
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
-3
0
0
0
0
0
0
17
0
0
0
0
0
0
7
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
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
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
0
0
0
0
0
10
0
0
0
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
-14
0
0
0
0
0
0
-7
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
10
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
-6
0
0
0
0
-16
-8
8
1
0
0
-1
0
0
-10
0
0
-6
0
0
0
10
0
0
0
10
0
-1
0
0
0
3
0
0
2
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
-7
0
0
0
9
0
15
1
0
0
0
0
0
-1
1
0
0
6
-1
0
27
3
-1
-2
-6
0
1
2
-8
0
0
32
0
0
-17
1
0
0
-14
0
0
0
15
0
0
0
0
35
0
0
0
0
0
0
0
0
33
0
0
0
-2
0
3
3
0
0
0
0
0
2
-8
-3
32
0
2
0
-5
-18
0
3
6
0
0
0
0
0
0
0
0
0
-6
37
0
0
-14
0
0
-1
-43
0
24
4
3
0
0
38
0
0
0
0
2
0
-39
0
1
0
0
0
0
-49
0
0
0
0
0
0
3
0
0
-1
-1
-3
2
8
0
0
0
0
4
-14
21
0
-5
0
-11
7
-1
-18
4
-1
0
-5
0
25
3
0
0
7
3
-3
-1
127
0
0
-4
0
2
0
-1
-1
0
0
-1
-21
0
51
0
0
0
0
0
0
-16
0
0
0
0
0
0
-53
2
10
1
0
0
0
2
0
0
3
0
0
0
9
0
54
4
0
0
0
27
-1
-15
9
0
0
3
-2
0
-55
1
0
0
1
-33
0
-5
4
0
0
0
-61
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
-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
-4
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
43
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
-1
0
0
5
0
0
0
0
0
4
0
0
0
0
0
0
-75
0
0
3
0
0
0
0
0
-9
5
0
0
-3
44
0
0
-1
0
0
0
0
0
0
0
0
0
-2
5
0
0
8
0
0
0
16
0
-19
0
0
0
0
2
0
0
0
0
3
0
-53
0
0
0
0
0
0
71
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
-3
0
-3
0
48
0
0
1
0
0
-1
-33
0
0
-3
0
0
0
-18
0
0
0
0
0
0
-34
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
17
0
0
0
0
0
0
11
0
0
-3
0
0
0
34
0
0
-2
0
0
0
13
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
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
-23
0
0
0
0
0
0
30
0
0
0
0
0
-1
0
0
-7
0
0
0
1
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
0
0
-3
-8
0
-3
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
10
0
0
0
0
0
-8
-16
0
0
0
0
0
0
10
0
0
0
0
0
0
45
0
0
-5
0
0
0
-24
0
0
6
0
0
0
56
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
-2
0
0
0
0
0
0
14
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
19
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
26
0
0
-2
0
0
0
5
1
0
0
5
0
0
1
0
0
47
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
-14
12
-2
-5
-2
0
0
-60
1
-8
3
4
0
0
-29
0
36
4
-14
0
0
-22
-1
22
31
0
0
0
45
0
2
18
2
0
0
18
3
-2
0
1
0
0
0
2
-42
0
0
0
0
0
0
2
0
7
0
0
0
2
0
0
2
0
0
3
0
0
6
25
-11
-25
-38
4
0
11
-77
0
-1
23
2
0
0
0
0
0
0
0
0
-8
68
0
0
-22
0
0
1
-4
0
52
20
0
0
0
29
0
0
2
0
0
0
-18
4
0
0
0
0
0
-9
2
0
0
0
0
3
-17
0
-2
-4
-2
0
0
68
0
0
-14
0
-6
-3
-21
-1
-6
42
14
1
13
-31
0
0
-8
-2
0
-5
-41
0
2
7
-6
-2
6
75
0
-1
2
0
0
0
23
0
0
0
1
6
0
83
0
0
0
0
0
0
19
0
1
0
-2
0
0
-3
0
6
1
0
0
3
23
0
5
9
-11
0
-2
16
0
-20
16
0
0
0
-33
0
0
5
-5
0
0
-23
0
-2
-5
-1
0
0
14
0
0
9
0
0
0
-27
0
-9
1
0
-10
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
-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
-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
-2
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
1
0
0
3
0
0
0
-8
0
1
0
0
0
0
4
0
0
0
0
0
0
21
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
3
0
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
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
0
0
0
11
0
0
0
0
0
0
9
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
13
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
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
-10
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
-29
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
14
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
-2
22
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
13
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
53
0
0
-3
0
0
0
13
0
0
0
0
0
0
43
0
0
1
0
0
0
-8
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
-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
3
0
0
0
0
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
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
-12
-2
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-2
-13
0
0
1
-5
0
0
-2
0
0
0
0
0
0
0
0
0
4
5
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
18
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
0
0
0
0
0
0
41
0
0
0
0
0
0
33
0
0
0
0
0
0
-43
0
0
1
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-5
0
0
0
0
-6
0
0
0
0
0
0
-1
0
-9
0
0
0
0
-8
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
-44
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
-35
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
-26
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
-80
0
0
0
0
0
0
21
0
0
0
0
0
0
-20
0
0
0
0
0
0
24
0
0
0
0
0
0
2
0
0
0
0
0
0
22
0
0
0
0
0
0
5
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
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
-40
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
-1
0
15
0
0
0
1
0
0
2
0
0
0
0
0
0
34
0
0
0
-14
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
5
0
0
0
0
0
0
-22
0
0
0
0
0
-4
0
0
6
6
0
0
-3
25
0
0
-1
0
0
0
0
0
0
0
0
0
-7
-7
0
3
20
0
0
0
25
0
2
-1
0
0
0
6
0
0
0
0
0
0
40
0
0
0
0
0
0
-6
0
0
0
0
0
0
33
0
0
-1
0
0
-1
3
0
0
0
0
0
4
-22
0
0
-2
0
0
-7
-3
0
0
5
0
0
0
-14
0
0
-3
0
0
0
26
0
1
0
0
0
0
71
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
17
0
2
0
0
0
0
-11
0
0
0
0
0
0
5
0
-8
0
0
0
0
-22
0
-5
-1
0
0
0
36
0
-2
0
0
0
0
3
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
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
7
0
0
0
0
0
39
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
-2
3
0
38
-2
0
0
6
0
0
2
1
0
0
53
3
0
-7
-7
0
0
4
-9
-5
4
0
9
0
-4
0
0
10
0
0
2
10
0
0
0
1
0
0
0
0
-4
0
-1
-2
0
0
0
1
0
-24
-1
0
0
0
0
0
9
0
0
0
0
0
1
-35
-1
15
-16
-6
0
0
5
-2
3
34
-4
0
0
0
0
0
0
0
0
-8
9
0
2
-9
0
0
0
-1
-1
-6
-15
0
0
0
68
2
0
0
0
-7
0
-13
0
0
0
0
0
0
71
-2
0
0
0
0
0
-83
-5
0
-4
0
0
-8
-12
0
-2
5
0
0
-2
-98
-1
0
-6
0
0
0
-43
-1
0
-5
0
0
0
9
0
0
18
0
0
0
12
0
2
7
0
0
0
-33
-2
3
0
0
-1
0
-29
0
0
0
0
0
0
-11
-1
0
0
0
0
0
5
0
-13
0
0
0
0
-8
0
-2
-1
0
0
0
7
-1
-5
-4
0
0
-4
-62
3
0
-9
-10
0
6
1
-2
8
-6
0
0
0
-45
0
-3
0
0
0
0
-39
0
-1
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
1
0
0
-28
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
-12
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
-11
0
0
0
0
0
-7
36
0
0
0
0
0
2
2
0
6
-8
0
0
4
-30
0
0
-2
0
0
0
0
0
0
0
0
0
-5
-40
0
0
0
0
0
3
-20
0
25
1
0
0
0
-21
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
1
0
-1
36
0
0
0
0
0
1
-9
0
1
-3
0
0
4
0
1
0
14
1
0
1
-5
0
0
-4
-5
0
0
-57
0
0
-1
0
0
0
-3
0
0
0
4
0
0
-18
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
11
0
0
0
0
0
0
-2
0
1
0
4
14
0
0
-11
0
0
0
-4
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-37
0
0
0
0
0
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
-11
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
15
0
0
0
0
0
0
23
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
5
-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
-32
0
0
0
0
0
0
5
0
0
-2
0
0
0
14
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
5
0
0
69
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
11
0
0
0
0
0
0
2
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
7
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
5
0
0
0
-1
19
0
0
9
0
0
0
0
0
0
0
0
0
-1
47
0
0
7
0
0
0
-21
0
-7
0
0
0
0
6
0
0
0
0
0
0
-60
0
0
0
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
-10
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
76
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
20
0
0
0
0
0
0
10
0
0
0
0
0
0
18
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
1
0
0
0
0
0
54
0
0
0
0
0
0
-6
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
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
-4
8
0
0
0
0
-3
1
0
0
0
0
0
0
-3
0
1
9
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
0
0
0
0
0
0
2
0
7
0
-1
0
-2
2
0
0
0
0
0
0
24
-2
0
0
0
0
0
24
0
0
0
0
0
0
-15
0
0
0
0
0
0
40
0
0
0
0
0
0
5
0
0
0
0
0
0
-10
0
0
-1
0
0
0
33
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
-1
0
0
0
14
0
0
0
0
0
0
40
0
0
0
0
0
0
-3
0
-2
0
0
0
0
9
0
0
0
0
0
0
-21
0
1
-3
0
0
0
13
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
-16
0
0
6
0
0
-21
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
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
-14
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-23
0
0
5
0
0
0
0
0
-3
0
0
0
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
14
0
0
0
17
0
5
0
0
0
0
-14
0
0
0
0
0
0
-23
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
3
-26
0
0
0
0
0
-5
-5
0
0
0
0
0
0
23
0
0
-3
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
-7
0
0
0
0
0
0
27
0
0
0
0
0
0
-3
0
0
8
0
0
0
4
0
0
0
0
0
0
-9
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
56
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
-7
0
0
0
0
-3
0
33
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
37
2
0
0
0
0
0
2
0
0
0
0
0
5
0
0
-4
3
0
0
-11
26
0
0
11
0
0
0
0
0
0
0
0
0
15
-52
0
0
25
0
0
0
4
0
91
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
14
0
0
0
0
0
0
10
0
0
0
0
0
2
-13
0
0
0
0
0
0
51
0
0
-7
0
0
0
16
0
0
-5
0
0
0
52
0
-7
13
0
0
0
60
0
-1
0
0
0
0
-14
0
0
0
0
0
0
-48
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
43
0
0
0
0
0
0
63
0
0
-1
0
0
0
-16
0
0
4
0
0
0
-6
0
-7
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
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
1
0
-3
-1
70
2
-1
0
0
1
22
0
0
-7
0
0
-17
0
0
0
0
0
-5
-17
0
0
0
1
10
20
-2
0
34
30
-7
47
-12
0
0
47
0
1
-9
9
0
-10
-39
1
-24
24
-34
-4
5
31
-2
35
0
8
-5
-2
-21
0
17
0
-2
2
3
-13
-1
1
0
0
-1
0
-10
0
-14
0
-6
53
0
0
0
-3
0
10
-3
8
4
-1
0
-13
42
0
0
3
0
0
-14
33
8
-5
14
-15
0
-15
10
0
3
-11
0
1
0
0
0
0
0
0
0
-17
17
0
-5
72
0
0
0
18
0
-27
22
5
0
2
-25
0
0
7
-1
-7
0
10
-3
-20
0
0
0
0
-37
0
0
1
-4
2
0
-11
0
1
7
3
-5
6
15
-3
-5
5
0
14
-44
-6
0
4
-2
71
1
28
-16
-1
1
-14
2
-4
43
-17
-5
35
61
4
-14
-1
-23
-1
-1
3
0
-9
0
1
-13
3
6
-2
-19
0
20
13
4
0
4
5
0
-12
0
0
0
0
0
0
-23
0
53
-6
0
0
2
-43
5
0
-8
46
2
-2
7
1
-11
33
0
1
-22
26
-2
3
5
4
3
-5
-51
-2
-42
1
0
0
3
-53
4
-7
3
-1
0
0
-20
3
2
-1
0
-18
0
30
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
13
0
0
0
0
0
0
24
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
2
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
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
13
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
22
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
36
0
0
0
0
0
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
-2
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
17
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
-9
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
-19
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
-46
0
0
0
0
0
6
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
7
8
0
0
-1
0
0
0
0
0
-18
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-39
0
0
0
0
0
0
26
0
0
0
0
0
0
-17
0
0
0
0
0
0
13
0
0
0
0
0
0
43
0
0
-1
0
0
0
31
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
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
26
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
40
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
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
25
0
0
0
0
0
0
-13
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
-13
0
0
0
0
0
0
60
0
-8
0
0
0
0
-14
0
0
0
0
0
0
-13
1
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
29
0
0
0
0
0
0
-4
0
0
0
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
-41
0
0
0
0
0
0
-3
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
-25
0
0
0
0
0
0
-3
0
0
-3
0
0
-1
-5
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
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
-1
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
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
5
0
0
0
0
0
0
3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
22
0
0
0
0
0
4
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
4
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
2
0
0
0
0
0
0
17
0
0
3
0
0
-1
0
0
-7
-2
0
0
-4
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
0
0
6
0
2
0
0
0
0
10
0
0
0
0
0
0
32
0
0
0
0
0
0
21
0
0
0
0
0
0
-27
0
0
0
0
0
3
40
0
0
0
0
0
0
49
0
0
11
0
0
0
-43
0
0
-16
0
0
-3
10
0
0
-2
4
0
0
-33
0
0
0
0
0
0
17
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
3
0
0
0
0
23
0
0
0
0
0
0
10
0
5
0
0
0
0
18
0
3
-3
0
0
0
-15
0
1
0
0
0
0
-15
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
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
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-7
0
26
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
20
0
0
0
0
0
0
38
0
0
-1
0
0
0
0
0
9
8
0
0
-17
29
0
0
-3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
25
0
6
4
0
0
0
3
0
0
1
0
0
0
6
-1
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
-5
0
0
-1
6
0
1
-56
0
0
0
0
0
0
20
0
0
0
0
0
0
7
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
34
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
-4
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
77
0
0
0
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
-29
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
11
2
0
0
0
-14
0
0
0
0
0
0
10
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
5
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
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
1
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
7
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
14
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
7
0
0
0
9
0
0
0
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
20
0
0
0
0
0
0
-10
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
9
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
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
-16
-1
0
6
-4
0
0
-5
0
0
13
5
0
0
-4
0
0
6
-1
0
0
-8
0
-2
5
0
0
0
0
0
0
-48
0
0
0
0
0
0
5
31
0
0
0
0
6
0
0
0
0
0
0
0
0
-32
0
0
0
-2
0
3
-52
0
0
0
0
0
-8
0
0
-18
2
-1
0
5
-14
0
0
29
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
3
14
0
32
0
0
0
0
-16
0
0
0
0
0
0
-14
0
0
0
0
0
0
29
0
0
0
0
0
0
2
0
0
0
-1
0
0
-28
0
0
0
0
1
-4
106
-1
0
10
0
0
0
30
0
0
0
-6
0
-1
34
0
0
0
0
0
0
-23
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
0
0
0
0
16
0
0
3
0
0
0
-20
0
-7
0
0
0
0
-14
0
-1
-2
0
0
0
-5
0
0
0
0
0
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
5
0
0
0
0
0
0
3
0
0
0
0
0
0
33
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
-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
-47
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
9
0
15
0
0
0
0
0
0
0
0
0
0
0
-4
0
-27
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
-12
0
0
0
0
0
0
-24
0
0
0
0
0
3
0
0
18
10
0
0
4
9
0
0
-11
0
0
0
0
0
0
0
0
0
0
5
0
0
-31
0
0
-5
5
0
-1
0
0
0
0
-1
0
0
0
0
0
0
20
-3
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
-1
0
0
11
-5
0
0
0
0
0
0
8
0
0
2
0
0
-1
-66
0
0
43
0
0
0
-6
0
1
-3
0
0
0
-17
0
4
0
0
0
0
-5
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
5
0
0
0
0
0
-1
-27
0
-3
-6
0
0
0
51
0
0
-5
0
0
0
3
0
0
0
0
0
0
10
0
0
0
0
0
0
7
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
-9
0
0
0
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
3
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
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
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
54
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
1
0
0
0
9
0
0
0
0
0
0
36
0
0
0
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
11
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
9
0
0
0
0
0
5
-17
0
1
0
10
-62
-15
-1
0
-27
41
5
-21
39
0
4
-16
4
3
33
-3
15
5
14
-32
59
-24
-37
-2
6
-54
-19
16
-56
51
19
22
-10
-3
-10
25
-17
0
0
1
-7
37
19
20
0
0
5
26
44
-8
20
-2
0
-2
1
-14
0
-11
0
7
22
0
0
64
-23
0
-2
1
2
0
-29
41
0
59
-2
-8
-6
-37
-7
-32
1
-29
9
5
0
0
0
0
0
0
0
-59
-16
7
19
-1
14
0
-1
-9
-2
-11
16
55
1
-18
18
0
-1
-57
-2
-59
2
-6
3
-3
0
-10
-2
0
12
57
0
0
14
14
5
-20
14
16
-6
15
5
-62
38
0
-14
2
3
17
-20
-5
44
2
27
24
2
21
-28
58
-53
-7
12
-45
-7
-35
-14
29
64
-22
24
39
11
5
35
-34
-7
36
-3
-53
29
-22
-36
5
-64
0
22
2
-21
-1
4
26
0
14
-20
-2
8
1
-2
4
14
5
-27
47
-1
16
47
14
1
-17
-18
26
0
3
-6
-20
21
-17
21
7
-55
-42
-6
24
32
61
0
9
-1
-2
-32
11
0
-15
-7
67
1
-26
102
-7
-10
-4
-8
6
-8
-27
4
-17
0
27
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
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
16
0
0
0
0
-3
-3
-4
0
0
0
0
0
2
0
0
-1
-1
0
-4
0
0
0
-8
0
0
-17
0
0
-4
-3
0
0
53
0
0
0
0
0
0
5
0
0
-3
14
0
0
-2
0
0
-9
32
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-14
-6
-4
0
4
0
0
-42
0
0
1
0
0
-3
-6
0
-65
30
6
0
-45
55
0
0
69
0
0
0
0
0
0
0
0
0
5
36
0
-5
-4
0
0
19
-14
0
-50
-5
0
0
0
0
3
0
-1
0
0
0
22
0
-10
0
1
0
0
-24
0
0
0
0
0
-11
57
0
0
-7
-3
0
37
-51
0
0
-11
0
0
3
15
0
-5
24
0
0
-1
44
0
0
26
0
0
3
19
0
8
-4
11
0
2
9
0
0
20
0
0
-6
-7
3
2
0
0
0
0
33
0
1
0
0
0
0
-41
0
0
0
0
0
0
24
0
0
0
0
0
-6
52
0
6
-7
0
0
-3
-16
0
31
-4
0
0
0
-22
0
27
-32
2
0
0
9
0
33
2
0
0
0
-34
0
-2
-3
0
0
0
10
0
53
0
0
0
0
-72
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-2
6
5
90
-26
-81
0
1
18
-24
-1
7
39
0
33
-48
-2
-6
-1
-12
33
-65
-19
8
75
12
-18
26
-4
5
-15
21
4
-1
103
-33
-32
-53
4
5
-105
-5
-5
-43
-20
24
-31
-27
-4
-1
-25
8
7
-6
-51
1
0
-7
24
-2
0
-6
2
-8
64
3
1
-37
-5
4
-5
58
1
-10
-36
3
-5
-5
-7
0
23
-11
5
-21
5
29
-46
-1
0
0
0
0
0
0
0
51
-4
8
47
0
-42
4
61
2
-7
-27
-6
-14
51
-31
0
34
3
-18
13
-73
0
5
-2
-24
1
-13
0
-4
15
64
0
22
24
23
30
-5
41
160
-44
-9
21
-18
15
-24
-33
33
2
-16
-24
-20
43
55
-30
5
-28
-8
-9
28
34
-10
14
-32
40
-11
-6
23
-19
14
55
43
11
25
85
-7
-23
9
-22
-16
108
32
21
-59
49
2
-9
0
-32
0
-54
21
0
41
-33
9
26
-60
-2
71
13
82
-24
69
17
85
-71
4
0
0
21
3
0
-39
12
-31
-33
-5
54
24
46
-34
40
67
6
39
54
-9
10
25
58
-55
-2
-60
-66
-4
-35
-71
-22
146
-6
-3
-29
27
-24
-19
54
-13
-1
7
0
83
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
22
0
0
0
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
-24
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
21
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-1
0
-16
0
0
0
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-10
0
31
-4
0
0
0
0
0
0
0
0
0
0
-47
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-2
-62
0
0
1
0
0
0
-67
0
0
2
0
0
0
50
0
0
0
0
0
0
16
0
0
-4
0
0
0
-7
0
0
0
0
0
0
-8
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
-30
0
6
0
0
0
0
27
0
0
0
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
0
2
0
0
-1
2
0
2
0
-1
0
21
0
0
0
22
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
11
0
0
2
0
0
-23
0
2
0
0
0
0
16
0
0
-3
0
0
1
0
0
-5
0
0
0
10
37
0
0
-8
0
0
0
0
0
0
0
0
0
1
-5
0
3
0
3
0
0
-5
0
-13
5
0
0
3
11
0
0
0
0
0
0
-4
-6
-1
0
0
0
0
7
0
0
0
0
0
0
-17
0
1
-2
-1
0
-13
-2
0
0
-1
0
0
-5
27
0
2
-1
13
0
16
0
0
0
1
0
0
0
-58
0
0
7
0
0
0
-42
0
0
-1
0
0
0
18
0
0
0
0
0
0
15
-1
0
0
0
0
0
29
0
0
0
0
0
0
2
0
2
0
0
0
0
52
0
0
0
0
0
-1
-14
0
13
-3
0
0
-1
3
0
4
5
-3
0
0
36
0
2
2
5
0
0
-9
0
0
0
0
0
0
-40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
10
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
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
9
-1
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
-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
-1
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
-1
-6
0
0
-4
0
0
5
5
0
0
-6
0
0
-9
2
0
0
-7
0
0
43
0
0
0
0
0
0
-5
0
0
0
-4
0
-5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
22
0
0
3
0
0
0
0
0
59
5
0
0
-2
-24
0
0
14
0
0
0
0
0
0
0
0
0
-5
-18
0
0
7
0
0
0
17
0
29
-5
0
0
0
0
0
0
0
0
0
0
34
1
0
0
0
0
0
62
2
0
0
0
0
0
23
0
0
1
0
0
0
-42
0
0
10
0
0
0
-2
0
-1
-7
0
0
0
0
0
0
14
0
0
0
-1
0
0
-6
0
0
0
-20
0
0
1
0
1
0
-8
0
0
0
0
1
0
-34
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
22
0
0
-7
0
0
0
-43
0
-1
0
0
0
0
-11
0
0
-1
0
0
0
19
0
1
3
0
0
0
0
0
0
0
0
0
0
21
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
32
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
-1
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
6
0
-6
0
-10
0
0
0
0
-3
0
0
0
0
0
0
0
0
25
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
-24
-6
0
0
-18
33
0
0
1
0
0
0
0
0
0
0
0
0
-4
52
0
0
-12
0
0
0
-14
0
127
0
0
0
0
14
0
0
0
0
1
0
12
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
2
-61
0
0
2
0
0
-2
-34
0
0
1
0
0
8
-43
0
0
-5
0
0
0
44
0
0
2
0
0
0
-26
0
0
0
0
0
0
-33
5
0
0
0
1
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-9
0
2
1
0
0
0
-14
0
3
-2
0
0
0
-23
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
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
-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
-2
0
0
0
0
0
-1
50
-1
0
0
0
0
0
-30
-18
0
5
14
0
0
-31
0
-6
0
55
0
2
32
-5
0
0
1
-2
0
0
-4
0
0
2
-5
23
0
0
7
0
0
-1
3
0
14
-3
0
0
0
0
-2
-2
0
0
0
0
0
-18
1
0
32
-1
3
0
52
3
0
1
-6
1
0
0
0
0
0
0
0
0
-4
-9
0
0
-37
-2
0
-4
-5
0
-19
-8
-2
0
-4
-78
0
1
6
-3
3
0
24
-10
-1
0
0
0
0
-32
0
0
0
1
0
0
-19
-1
0
-2
0
0
-1
28
0
-1
0
0
-1
1
34
0
-5
0
-3
0
-1
39
1
-5
5
3
4
18
-34
0
4
14
0
3
0
-24
2
-1
20
0
-2
0
0
0
1
-1
0
-65
0
-7
0
0
0
1
1
0
48
0
0
0
0
0
0
34
0
1
0
0
0
0
19
0
1
1
0
0
-2
24
0
23
1
-2
0
-3
-84
-1
6
-3
-4
0
0
-14
0
15
-4
0
0
0
20
0
-4
-8
1
2
0
-31
0
-3
-6
0
1
0
-76
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
2
0
0
-4
0
0
0
-27
0
-10
18
2
0
0
1
0
2
-2
3
0
1
-23
0
0
2
0
0
0
-10
0
0
0
0
0
0
-4
0
33
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
1
-50
0
0
0
0
0
4
-11
0
69
-7
0
0
-14
-12
0
0
63
0
0
0
0
0
0
0
0
0
0
-8
0
2
-10
0
0
0
-1
0
-14
4
0
0
0
41
0
0
-1
0
-1
0
44
-1
-2
0
0
0
0
53
-6
0
0
0
0
0
67
0
0
0
0
0
-3
-44
0
0
-2
0
0
3
18
0
0
-4
0
0
0
15
0
-2
6
0
0
5
9
0
0
-10
0
-2
0
0
0
0
1
0
-18
0
43
0
0
-1
0
4
0
-55
0
0
0
0
0
0
-55
0
0
0
0
0
0
-5
0
0
0
0
0
0
17
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
33
0
0
2
0
0
0
3
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
-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
-6
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
14
0
0
0
0
0
-4
0
0
4
0
-43
0
-3
-39
0
0
14
0
0
0
0
0
0
0
0
0
0
-11
0
0
-5
0
0
0
19
0
11
-1
0
0
0
-79
0
0
0
0
0
0
-43
1
0
0
0
0
0
14
0
0
0
0
0
0
10
0
0
0
0
0
-1
-4
0
0
0
0
0
0
33
0
0
-35
0
0
0
10
0
0
-1
0
0
1
7
0
0
-2
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
22
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
-11
0
0
0
0
0
0
-17
0
0
0
0
0
0
14
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
-23
-117
19
45
-20
0
3
-11
-51
-1
-23
2
33
-21
5
17
-8
12
-6
7
0
0
-25
0
-1
7
15
6
0
0
-13
9
-7
5
25
0
0
-6
27
0
4
19
-16
0
-5
0
0
15
0
-5
27
-5
1
-4
-37
2
-16
7
53
0
-7
-21
-1
-13
10
7
0
0
0
0
0
0
0
0
-12
3
-2
0
48
29
-1
-57
-5
-2
-42
-13
21
-2
-39
-45
-2
1
7
-4
10
0
-29
11
-33
1
-2
-7
0
8
21
0
5
1
-1
0
145
-5
-1
-30
-4
7
28
-13
-3
3
5
0
-7
0
15
-6
2
33
-3
-3
-45
-15
11
23
-43
-30
32
80
-8
9
-11
-1
21
14
1
-27
27
-14
12
-2
-81
2
-20
-5
-27
109
-34
-52
0
8
-3
-3
1
14
13
0
1
3
0
0
-1
0
0
2
2
-39
-26
0
3
3
-39
-3
8
20
57
-3
19
13
0
-6
62
5
0
48
-35
-5
-35
73
-43
20
-24
-36
-2
-35
62
5
-5
-27
14
-2
-28
-80
25
1
0
53
0
-121
-14
-3
-49
0
81
-13
-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
4
0
0
0
0
0
0
29
1
0
0
1
0
-2
-4
0
0
0
-3
0
0
2
0
0
0
-1
0
-3
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
24
0
0
0
0
0
-3
0
0
-35
0
-2
0
-6
-43
0
0
8
0
0
0
0
0
0
0
0
0
0
-10
0
0
26
0
0
0
23
0
5
1
0
0
0
14
0
0
4
0
0
0
32
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
4
0
0
10
0
0
0
-3
0
0
0
2
0
0
-1
13
0
0
-14
0
-2
-5
0
0
0
-3
0
0
-8
1
0
0
14
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
1
-4
0
0
0
9
0
0
-1
1
0
0
-34
0
0
-1
0
0
0
2
0
0
-6
0
0
0
22
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
13
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
1
7
0
0
8
0
0
-10
3
0
0
5
-3
0
0
0
0
0
0
0
-19
0
0
4
0
0
0
-2
0
7
-5
0
0
0
0
0
-52
0
0
0
0
0
-1
0
0
18
2
5
0
-1
-50
0
0
15
0
0
0
0
0
0
0
0
0
7
-14
0
0
15
0
0
5
-54
0
-1
-2
-2
0
0
-40
0
0
0
0
0
0
-44
-2
0
0
0
0
0
36
0
0
0
0
0
2
16
0
0
0
0
1
0
-3
0
0
0
0
0
-3
62
0
0
-3
1
0
-1
-54
0
0
-4
0
0
0
-17
0
3
0
0
0
0
32
0
0
-1
-1
0
0
-22
0
-1
6
0
-1
0
28
0
0
0
0
0
0
4
1
0
0
0
0
0
14
0
-2
0
0
0
0
-72
0
0
0
0
0
2
0
0
2
-9
0
0
0
-33
0
0
-1
4
0
0
-13
0
5
0
0
0
0
20
0
3
0
-2
0
0
-31
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
53
0
0
0
0
0
-1
-1
0
-5
0
0
0
16
-11
0
0
-1
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
10
0
2
0
0
0
0
-6
0
0
0
0
0
0
18
0
0
0
0
0
0
35
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
53
0
0
0
0
0
-5
24
0
0
-1
0
0
0
34
0
0
0
0
0
0
0
0
0
0
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
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
-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
3
10
0
5
-11
0
14
13
4
-2
-2
-6
4
-5
20
0
0
0
-14
0
8
0
1
0
0
0
0
-5
0
0
0
0
0
0
5
0
19
0
-9
0
1
0
0
5
0
0
0
0
0
5
-24
0
-50
31
6
0
26
-10
-3
0
-3
0
0
0
0
0
0
0
0
0
43
23
0
15
53
0
0
3
-15
0
-85
-1
0
0
0
-53
2
0
3
0
-3
0
-17
-27
0
0
0
0
0
-57
6
0
0
0
0
1
26
0
-1
6
0
2
0
-46
0
0
8
0
0
13
34
1
0
18
-1
0
-14
22
0
3
28
0
0
7
55
-2
0
10
0
0
0
124
0
0
11
-3
0
0
1
0
-1
-1
0
-6
0
28
0
0
0
0
0
0
-23
0
0
0
0
0
0
-22
-2
-7
3
0
0
0
26
0
0
2
0
0
0
8
0
42
-10
0
0
-2
-67
7
1
23
6
0
0
48
0
0
-5
-5
0
0
41
0
2
-1
3
0
0
5
2
39
3
0
4
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
3
0
0
2
0
0
2
-1
0
-1
0
0
0
1
0
0
0
-15
0
0
-3
2
0
0
0
0
3
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
1
0
0
0
0
0
2
3
0
-7
0
0
0
-10
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-4
0
0
35
0
0
5
-8
0
6
-6
0
0
0
-33
0
0
0
0
0
0
-28
0
0
0
0
0
0
9
0
0
0
0
0
0
-17
0
0
1
0
0
0
10
0
0
2
0
0
-3
0
0
0
0
-9
0
1
-27
0
0
17
0
0
0
56
0
0
-1
0
0
0
23
0
0
-1
0
0
0
6
8
0
0
0
0
0
3
0
0
0
0
0
0
0
7
0
0
0
0
0
-21
0
1
0
0
0
0
-5
0
0
0
0
0
2
0
0
-4
0
0
0
0
22
0
0
0
1
0
0
-24
0
0
0
0
0
0
10
0
0
1
0
0
0
5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
10
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
1
0
0
0
0
0
0
14
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
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
113
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-4
-1
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
9
0
0
0
-12
0
9
1
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-37
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
4
0
0
0
-22
0
0
0
0
0
-2
45
0
0
-1
0
0
0
34
0
0
0
0
0
0
-30
0
0
-4
0
0
0
13
0
0
0
0
0
0
45
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
-14
0
0
0
0
0
0
0
0
-10
2
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
-4
0
17
0
9
0
31
0
0
0
20
0
0
0
-5
0
0
-5
-1
-4
0
0
-3
0
0
0
0
0
39
7
-1
0
0
0
0
-33
0
0
0
0
0
3
75
0
31
0
1
0
-26
-49
0
0
-27
0
0
0
0
0
0
0
0
0
53
54
0
-2
4
0
0
3
38
0
0
1
0
0
0
38
0
0
-1
0
0
0
-11
6
2
0
0
0
0
33
3
-3
0
0
0
-3
73
-1
-3
4
-5
-2
-35
-5
0
-1
8
0
0
-4
-41
-5
1
-7
-5
0
-18
-28
-2
0
39
0
0
-10
30
0
-2
-15
2
-1
-2
21
0
1
14
0
0
0
24
1
0
0
0
-3
0
18
0
0
0
0
0
0
-44
-5
0
0
3
0
0
-40
0
-10
0
0
0
0
-43
0
0
-5
0
0
0
-14
0
4
-4
1
0
-1
23
8
0
-2
-1
0
1
-2
0
33
4
-2
0
3
95
2
0
-5
0
-2
0
-71
0
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
4
-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
18
0
0
0
0
0
0
-6
0
0
0
0
0
8
0
0
0
-5
0
0
-1
24
0
0
6
0
0
0
0
0
0
0
0
0
2
28
0
0
26
0
0
0
31
0
-2
0
0
0
0
-4
0
0
0
0
0
0
42
1
0
0
0
0
0
-24
0
0
0
0
0
0
7
0
0
0
0
0
0
44
0
0
1
0
1
1
-73
0
0
2
0
0
0
38
0
0
4
0
0
-4
-61
0
0
0
0
0
0
58
0
0
1
0
0
0
51
0
0
0
0
0
0
-66
0
0
0
0
0
0
20
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
65
0
2
-1
0
0
0
89
0
0
5
0
0
0
76
0
4
-1
0
0
0
-1
0
0
2
0
0
0
-3
0
6
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
30
8
0
0
0
0
0
55
0
0
0
0
0
0
1
0
24
0
5
0
1
-5
0
0
3
0
0
0
0
0
0
0
0
0
0
10
0
0
14
0
0
-6
-1
0
-5
-2
0
0
0
38
0
0
0
0
0
0
30
7
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
-2
13
0
0
0
0
0
3
14
0
0
-5
0
0
6
62
0
0
13
0
0
-1
-54
0
1
0
0
0
0
12
0
0
4
0
0
0
16
0
0
2
0
0
0
-41
6
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
1
0
0
0
0
-1
0
0
0
0
0
0
-16
0
-1
0
0
0
1
-31
0
0
-7
0
0
3
24
0
0
1
0
0
0
10
0
0
0
0
0
0
-22
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
-19
-23
3
2
-70
0
3
60
-30
-3
1
6
4
0
0
-14
0
0
0
-1
13
0
3
46
0
0
-2
4
0
31
-29
43
19
0
0
3
1
0
0
-5
0
0
18
6
-1
12
-35
-5
2
48
-4
1
-3
53
0
-1
0
0
0
0
0
0
0
55
-41
-2
-15
3
3
0
-7
5
0
-51
8
11
4
0
-9
8
0
-4
3
10
0
7
-45
-4
0
-13
0
0
27
-9
0
0
0
1
-18
39
0
-5
-20
-5
-2
33
5
0
0
-23
0
13
2
3
32
28
22
-36
1
-19
-6
5
9
81
-5
-3
-11
0
-3
-14
53
-33
18
0
22
0
-13
49
4
0
0
27
-2
1
30
1
24
0
-11
-2
-2
0
0
-2
0
-79
-21
0
0
0
0
0
-23
3
21
-1
0
0
-14
-56
1
-20
10
1
0
-2
-11
11
38
4
-4
0
-1
-42
-1
7
21
1
0
5
10
-1
4
-71
3
-3
1
-22
0
-2
-3
-6
0
-5
-81
-7
80
-2
0
-29
0
34
5
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
-3
0
1
0
-1
0
0
4
0
3
0
0
3
0
0
0
-2
0
-19
0
0
0
-2
0
0
70
0
0
-1
0
0
8
-3
0
-78
-5
-3
0
27
-33
0
0
53
0
0
0
0
0
0
0
0
0
1
-4
0
2
-36
-3
0
2
18
0
-5
-25
0
0
0
53
0
0
0
0
0
0
-24
0
0
0
0
0
0
36
0
0
0
0
0
0
21
0
0
0
0
0
5
43
0
0
3
0
-4
1
-13
0
0
6
3
0
-8
0
-1
0
-13
-1
0
0
-12
0
0
-1
3
0
2
-7
0
-1
4
0
0
0
-65
0
0
0
0
-1
0
7
0
3
0
0
0
0
22
0
0
0
0
0
0
0
0
8
0
0
0
0
-65
0
0
-3
0
0
1
-17
0
23
3
0
0
4
0
0
0
1
9
0
-4
-4
3
-10
5
0
0
-3
-6
0
-2
0
7
0
0
35
0
-4
0
1
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
17
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
54
0
0
3
0
0
0
-5
0
7
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
5
0
0
0
0
0
2
9
0
0
0
0
0
1
-1
0
0
0
0
0
0
11
0
0
0
0
0
0
-10
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
23
0
0
0
0
0
0
27
0
0
0
0
0
5
0
0
1
1
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
0
0
2
17
0
0
-3
0
0
-6
0
0
14
3
0
0
0
1
0
0
0
0
0
0
27
-2
0
0
0
0
0
-43
0
0
0
0
0
0
-5
0
0
7
0
0
0
14
0
0
0
0
0
0
43
0
0
0
0
0
2
44
0
0
-4
0
0
0
-11
0
0
-1
1
0
-2
17
0
0
3
0
0
0
44
0
0
0
0
0
0
69
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
-3
0
0
0
1
0
0
0
0
0
0
9
0
0
-4
0
0
0
15
0
0
0
0
0
0
5
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
15
1
0
-1
-13
0
7
83
2
0
0
-5
0
-3
0
2
0
0
0
7
-7
0
0
2
0
0
-8
1
0
7
10
1
0
0
0
3
32
0
0
-1
0
0
46
45
0
9
9
-1
0
-3
33
0
-1
-24
0
0
0
0
0
0
0
0
0
31
-33
-3
0
62
1
0
4
-21
0
23
5
0
0
5
20
4
0
0
0
-4
0
10
-1
2
0
0
0
0
-40
-5
0
2
0
0
0
-52
0
0
1
0
0
-9
33
0
-5
-1
0
-4
-5
84
-1
-4
-32
2
3
20
-15
0
0
-1
1
0
-13
32
0
-1
8
-2
0
-1
-17
0
6
-2
0
0
0
-48
0
-1
0
1
2
0
33
-1
0
0
0
0
0
80
0
0
0
0
0
0
-22
0
13
0
0
0
0
-43
0
-3
0
-6
0
-7
-42
0
-46
-3
0
0
2
29
0
0
45
0
0
0
-25
0
43
-2
-5
0
2
16
0
0
6
4
0
-1
20
-2
1
0
10
0
0
9
-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
-1
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
15
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
5
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
-24
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
6
0
0
0
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
-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
11
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
11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
0
0
0
-30
16
0
0
8
0
0
0
0
0
0
0
0
0
-4
-48
0
0
24
0
0
0
-6
0
3
5
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
-29
0
0
0
0
0
0
-16
0
0
0
0
0
-10
6
0
0
0
0
0
7
-12
0
0
9
-1
0
0
24
0
0
36
0
0
0
26
0
0
4
-2
0
0
-6
0
0
0
0
0
0
25
0
0
0
0
0
0
44
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
24
0
0
0
0
0
0
-25
0
0
1
0
0
0
59
0
14
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
-5
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
-48
-1
0
0
0
0
0
-3
0
0
-5
0
0
-16
24
0
-7
24
0
0
55
-15
0
1
-15
0
0
0
0
0
0
0
0
0
-5
17
0
-3
-44
0
0
-2
16
0
10
54
-4
0
0
11
0
0
0
0
0
0
80
-1
0
0
0
0
0
20
0
-1
0
0
0
0
35
0
1
1
-5
3
1
-8
0
0
19
0
3
0
52
3
0
23
16
-8
5
47
1
0
48
0
-1
0
53
0
0
65
11
0
0
-43
0
-1
41
2
0
0
29
-2
0
-5
6
9
0
44
0
0
0
0
0
0
-41
-5
0
0
0
0
0
45
0
13
2
0
-2
0
6
0
0
1
0
-1
0
-43
0
36
-21
0
0
1
-31
0
0
3
9
0
10
-19
0
34
55
0
0
-1
64
0
1
-1
0
0
0
-19
2
-8
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
-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
23
0
0
0
0
0
0
-2
0
46
1
0
0
4
25
0
0
5
0
0
0
0
0
0
0
0
0
-7
0
0
0
-9
0
0
0
-29
0
-7
0
0
0
0
9
0
0
2
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
-34
0
0
2
0
0
1
-20
0
0
-9
0
0
0
-26
0
0
5
-6
0
0
44
0
0
4
0
0
0
0
0
0
3
0
0
0
-38
0
0
0
0
0
0
-7
0
0
3
0
0
0
10
0
0
0
0
0
0
22
3
0
0
0
0
0
3
0
0
0
0
0
0
31
0
0
0
0
0
0
44
0
0
-2
0
0
0
17
0
0
0
0
0
0
0
0
-1
4
0
0
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
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
15
0
0
0
0
0
0
-23
0
0
0
0
0
0
55
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
1
0
0
0
5
0
0
0
1
0
0
-21
0
0
0
0
0
0
-11
0
0
0
0
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
74
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
13
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
23
0
0
0
0
0
0
-46
0
0
0
0
0
0
-2
0
31
0
0
0
-2
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
0
0
1
0
0
-1
-23
0
1
4
0
0
1
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-71
0
0
0
0
0
0
-4
0
0
0
0
0
0
52
0
0
5
0
0
4
4
0
0
0
3
0
0
-3
0
0
0
0
0
1
43
0
0
1
0
0
0
16
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
-1
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
0
0
0
0
0
-30
0
-2
3
0
0
0
-7
0
-26
5
0
0
-3
0
6
12
0
0
-1
0
0
-4
0
-1
58
-30
-1
0
-47
76
-2
1
23
0
0
0
0
0
0
0
0
0
70
-36
0
0
2
0
0
0
119
0
18
0
1
0
1
-7
0
0
0
0
0
0
32
-1
0
0
5
0
0
15
-1
0
0
0
0
0
-77
0
0
-1
0
0
11
27
0
0
-2
0
10
41
-49
0
0
0
7
0
29
37
0
0
-9
0
0
18
122
0
-1
2
0
0
0
14
0
2
-8
0
-3
0
-31
0
0
0
0
-9
0
7
0
0
0
0
1
0
48
0
0
0
0
0
2
51
0
-4
0
0
0
0
50
0
0
-2
0
0
0
24
0
16
1
0
0
-7
-44
-3
-3
-11
-5
0
-1
-51
0
59
-10
0
-3
0
-105
0
-5
0
5
0
0
17
0
-5
0
0
-10
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
-2
0
0
0
0
0
0
0
4
0
0
0
0
2
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
1
0
0
0
3
44
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
-1
0
0
1
-5
0
22
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
5
0
0
-1
0
0
0
-8
0
0
0
0
0
-3
1
0
0
0
0
0
1
1
0
0
0
0
0
-1
-16
0
0
0
0
0
0
-35
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
3
0
-1
0
0
0
0
-11
0
0
0
0
0
0
-23
0
6
0
0
0
0
-8
0
0
-2
0
0
0
-6
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
-4
0
0
0
0
0
0
38
0
0
0
0
0
1
0
0
39
-2
0
0
31
22
0
1
2
0
0
0
0
0
0
0
0
0
0
-26
0
0
-2
0
0
0
14
0
-3
-1
0
0
0
7
0
0
0
0
0
0
-62
-1
0
0
0
0
0
-10
0
0
0
0
0
0
7
0
0
-6
0
0
4
-6
0
0
5
0
0
0
52
0
0
-4
5
0
-20
66
0
0
3
0
0
0
-22
0
0
22
0
0
0
36
0
0
0
0
0
0
-30
0
0
0
0
0
0
20
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
24
0
0
0
0
0
0
23
0
-7
1
0
0
0
-33
0
0
0
1
0
0
61
0
0
0
0
0
0
-10
0
0
0
0
0
0
53
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
-14
0
0
27
-3
-10
0
0
-7
0
0
0
0
0
-13
3
0
0
-4
0
-1
12
0
0
14
0
0
68
-26
0
3
12
36
0
-14
-6
0
1
4
3
0
0
0
0
0
0
0
0
-2
3
0
-1
48
-10
0
0
-32
0
8
24
0
0
0
10
0
0
15
1
-2
0
10
3
-5
0
0
0
0
4
0
0
0
0
0
0
-36
0
1
6
-6
-19
3
7
0
1
-55
0
-30
6
-33
0
-3
42
0
-1
4
40
0
-3
-36
-9
-1
0
34
0
-28
-15
0
3
-8
-17
0
14
-4
0
5
0
-34
0
0
-15
1
25
0
-12
1
0
0
0
7
0
23
0
0
0
0
0
0
15
0
-33
1
0
-2
1
-43
0
0
9
0
0
-4
60
0
-12
5
4
-1
0
-49
4
4
18
1
-1
0
31
0
43
5
0
0
0
4
3
-10
-45
1
0
0
-65
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
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
14
0
0
0
6
0
2
8
0
0
0
0
0
0
0
0
0
0
57
0
0
-7
0
0
1
0
0
9
0
0
0
0
3
0
0
0
0
0
0
-15
2
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
4
-43
0
0
0
0
0
1
-14
0
0
0
-5
0
0
25
0
0
5
0
0
0
55
0
1
4
0
0
0
0
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
1
0
0
0
0
0
0
-24
0
0
-11
0
0
0
-4
0
-4
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
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
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
36
0
0
0
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
-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
13
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
-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
-13
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
11
0
0
0
0
0
0
0
0
0
0
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
-23
-1
0
1
1
-7
-3
-1
1
0
0
0
0
0
3
0
2
0
-6
0
-14
-49
0
0
-5
0
0
8
-13
0
53
24
-4
0
-51
55
-3
0
1
0
0
0
0
0
0
0
0
0
19
-68
0
0
-17
0
0
-6
-26
0
13
3
4
0
1
-43
0
0
0
-5
1
0
8
-11
0
0
0
0
0
14
0
0
1
0
0
0
55
0
1
0
0
0
6
34
0
-5
1
0
-2
-46
41
0
3
-34
14
0
6
-84
8
-1
-41
0
-4
27
23
-5
2
1
5
0
0
-45
-1
2
2
0
0
-1
-15
3
-5
-1
0
-3
0
-17
3
0
0
0
1
0
-56
0
0
0
0
0
0
8
0
19
0
0
1
0
34
0
0
0
0
0
-4
-42
0
-3
3
0
2
1
-51
0
1
5
10
0
0
49
0
-5
2
0
-6
0
54
0
0
0
1
0
0
71
0
17
8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
0
4
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
7
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
-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
-25
0
0
0
0
0
0
-49
0
0
0
0
0
-5
0
0
5
4
0
0
-5
-2
0
0
14
0
0
0
0
0
0
0
0
0
-4
82
0
0
-5
0
0
10
-6
0
-35
0
0
0
0
-15
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
-24
0
0
0
0
0
-1
15
0
0
4
0
0
0
-6
0
0
-5
0
0
0
80
0
0
-15
0
0
2
17
0
0
0
0
0
0
23
0
0
0
0
0
0
30
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
11
0
0
1
0
0
0
-25
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
-3
0
0
0
0
31
0
0
1
0
0
0
-14
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
-1
0
0
0
0
0
-8
0
0
0
0
0
0
12
0
0
0
0
0
1
0
0
-3
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
-7
0
-6
0
0
0
0
-2
0
0
0
0
0
0
-25
5
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
48
0
0
-5
0
0
0
-22
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
10
0
0
0
0
0
0
17
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
24
0
0
0
0
0
1
15
0
0
0
0
0
-14
6
0
-27
-2
0
0
-1
35
0
0
8
0
0
0
0
0
0
0
0
0
0
-60
0
0
30
0
0
6
-37
0
-5
4
0
0
-1
0
0
0
1
-2
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
43
0
0
0
0
3
0
-26
0
0
2
0
0
-1
-20
0
0
3
2
1
5
-23
2
0
-3
5
0
-10
82
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
1
-2
0
0
0
0
0
4
0
11
0
0
0
0
-39
0
0
0
0
0
0
-5
0
0
0
0
0
-4
-1
0
0
0
0
0
2
-11
0
0
0
0
0
0
28
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
-11
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
7
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
-50
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-8
-1
0
0
0
-6
0
0
5
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
-26
0
-2
0
0
0
0
5
0
0
0
0
0
0
45
0
0
0
0
0
0
-10
1
0
0
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
0
4
-2
-4
0
0
2
-4
0
1
10
0
0
0
0
0
0
-22
0
3
-2
0
0
0
-48
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
6
0
0
0
0
0
0
14
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
-19
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
4
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
-1
0
0
0
0
0
0
10
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
14
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
18
-6
-6
-3
-7
0
27
0
0
-2
18
1
0
-41
-2
0
-36
32
-10
0
63
-14
0
-8
-50
0
0
0
0
0
0
0
0
0
31
-46
0
0
3
0
0
-15
2
0
27
37
28
0
-2
12
0
0
0
-3
0
0
32
0
-4
0
0
0
0
4
0
0
0
-1
0
10
-2
0
8
31
13
0
-16
7
0
0
36
-2
0
40
37
0
-3
3
50
0
87
-21
-3
1
-34
1
0
-2
1
0
14
49
21
0
-19
29
-2
3
4
0
0
0
-4
-4
-2
-28
-7
0
0
3
0
0
0
-3
0
0
-43
2
0
0
0
0
0
-35
-1
14
7
-5
0
1
25
0
2
23
-2
0
7
39
0
33
14
0
0
-3
13
-6
-3
-56
9
0
0
-67
0
71
33
0
0
6
-25
3
0
-8
7
0
0
1
0
23
1
1
0
0
59
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
-4
0
0
0
0
0
0
5
0
0
0
0
0
-1
0
0
0
-1
0
0
0
-10
0
0
3
0
0
0
0
0
0
0
0
0
-1
21
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
-36
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
15
0
0
0
0
0
0
-20
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
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
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
-29
-3
0
0
0
0
0
-26
0
0
0
0
0
15
2
0
-7
6
-1
0
-31
5
0
-2
-4
0
0
0
0
0
0
0
0
0
-6
3
0
0
35
0
0
0
6
0
-10
0
0
0
0
15
0
0
-1
0
1
0
-19
0
-6
0
0
0
0
5
0
0
0
1
0
0
15
0
0
-2
1
0
0
9
0
0
4
0
0
0
-1
0
0
-1
1
0
0
-1
2
0
-6
0
0
1
-17
0
0
2
0
0
0
20
0
0
0
0
0
0
-22
0
0
-4
0
0
0
-83
0
0
0
0
0
0
23
0
0
0
0
0
0
-4
0
0
1
0
0
0
21
0
0
-1
0
0
0
8
0
0
-5
0
0
0
-48
0
0
-4
0
0
0
-5
0
-3
-2
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
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
9
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
9
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
-2
0
0
-4
-7
1
0
3
20
0
0
1
0
0
0
0
0
0
0
0
0
2
65
0
0
1
0
0
0
-16
0
-31
-3
0
0
0
15
0
0
0
0
0
0
-16
3
0
0
0
0
0
-58
0
0
0
0
0
0
-23
0
0
6
0
0
0
-11
0
0
1
0
0
0
-21
0
0
8
-3
0
-7
101
0
0
14
0
0
0
-30
0
0
9
-2
0
0
49
0
0
1
0
0
0
-1
0
-1
0
1
0
0
42
0
0
0
0
0
0
6
0
0
0
0
0
0
-20
0
-4
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
0
0
-4
-37
0
-1
4
0
0
0
-4
0
0
-7
0
0
0
-10
0
0
0
-2
0
0
20
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
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
5
-2
4
-4
53
-6
5
2
7
0
-14
-15
30
0
8
0
-6
53
1
-16
1
0
0
0
0
0
0
0
38
-26
13
-21
18
19
7
31
-6
0
5
62
14
0
5
13
0
-2
-4
-4
-8
0
-12
-24
-14
0
48
-4
-2
0
1
0
1
-4
2
87
51
-14
27
37
8
0
-17
33
-3
-1
-17
-10
19
-55
14
-29
-41
21
22
6
66
2
4
-18
53
-53
32
24
15
54
10
32
46
62
-4
-30
-8
17
28
-13
8
74
21
-43
30
10
-36
-36
2
5
5
-2
0
14
-6
0
0
0
-4
10
4
0
-2
12
-2
-57
-57
81
36
9
29
-2
-30
35
-14
2
14
11
11
5
4
-5
20
1
17
-16
-6
13
5
6
58
-2
4
8
52
-13
-2
9
32
2
61
-42
-1
0
-6
-24
-11
56
8
-5
-61
0
37
-6
-22
-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
7
0
0
0
0
0
-2
2
0
7
-4
1
0
11
4
0
0
23
0
0
0
0
0
0
0
0
0
0
4
0
0
-57
0
0
0
33
0
19
0
0
0
-1
-10
0
0
0
0
0
0
31
2
0
0
0
0
0
-48
0
0
0
0
0
0
5
0
0
0
-2
0
3
-2
0
0
3
0
0
5
-14
0
0
-1
-6
0
-3
14
0
0
-7
0
0
0
15
0
1
-1
0
0
0
-75
0
0
2
0
0
0
8
0
0
0
0
0
0
-11
0
0
0
0
0
0
27
0
0
0
0
0
0
-2
0
1
0
0
0
0
-21
0
0
-1
0
0
-1
57
0
-1
0
0
0
1
7
0
0
0
0
0
0
-22
0
-5
0
0
0
0
-25
0
0
0
0
0
0
-37
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
18
0
0
0
0
0
1
0
0
0
2
0
0
-5
8
0
0
27
0
0
0
0
0
0
0
0
0
-4
2
0
0
-18
0
0
0
1
0
2
0
0
0
0
5
0
0
0
0
0
0
43
3
0
0
0
0
0
-12
0
0
0
0
0
0
-11
0
0
0
0
0
0
19
0
0
-2
0
0
-3
35
0
0
0
0
0
0
-33
0
0
5
0
0
0
-28
0
-1
3
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
1
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
-3
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
-2
0
0
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
22
0
-3
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
9
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
-9
0
0
0
0
0
0
0
0
-33
-1
0
0
5
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
20
0
16
-10
0
0
0
4
0
0
0
0
0
0
31
0
0
0
0
0
0
16
0
0
0
0
0
0
-16
0
0
0
0
0
0
14
0
0
0
0
8
-3
8
0
0
0
0
0
0
28
0
0
-5
0
0
0
8
0
0
3
0
0
0
23
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
16
0
-4
0
0
0
0
49
0
0
0
0
0
0
-7
0
0
0
0
0
0
41
0
0
0
0
0
0
18
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
16
2
0
0
8
32
0
0
-11
0
0
0
0
0
0
0
0
0
-3
-72
0
0
-10
0
0
0
27
0
-56
2
0
0
1
11
0
0
0
0
0
0
50
0
0
0
0
0
0
-58
-17
0
0
0
0
0
24
0
0
0
0
0
0
-51
0
-5
-2
0
0
0
-10
0
0
5
6
0
-5
-37
0
0
22
0
0
0
62
0
0
1
0
1
-2
-16
0
0
-3
0
-4
0
8
0
-2
0
0
0
0
32
0
0
0
0
0
0
-1
0
0
0
0
0
0
-56
0
-17
0
0
0
0
-19
0
0
-4
0
0
0
44
0
10
3
0
0
0
34
0
0
0
0
0
0
-9
0
1
0
0
0
0
-26
0
0
0
0
0
0
-53
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
20
-21
2
22
21
69
1
-15
-26
4
25
0
-14
2
0
0
0
0
0
0
0
25
19
11
-31
-13
4
18
-15
2
-4
28
-17
52
-11
-5
8
14
25
64
13
-33
2
-18
-17
6
-1
14
-9
0
-5
34
2
-2
0
2
8
0
-8
147
-46
16
-7
1
7
-22
-3
12
-2
-4
7
31
9
55
18
28
33
10
-5
53
-8
11
2
15
29
-20
7
-11
13
-26
-19
-14
17
45
16
3
-20
24
9
-2
-21
8
-43
44
-22
0
-2
-4
-2
-15
4
17
0
-56
6
21
0
9
0
3
0
-7
-94
65
21
4
3
-32
-1
47
-10
28
-6
-3
6
7
-39
-6
-17
5
-7
9
-36
-56
5
49
11
9
-8
0
-15
5
33
-21
20
-2
17
18
-46
-4
14
-2
8
9
-7
18
0
53
0
-40
54
18
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
27
-2
0
0
8
0
0
0
0
0
0
0
0
0
2
103
0
0
32
0
0
-1
-12
0
-1
0
-1
0
0
0
0
0
0
0
3
0
-34
0
0
0
0
0
0
27
7
0
0
0
0
0
12
0
0
0
0
3
0
70
0
0
0
0
-1
-2
-52
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-59
0
0
-11
-2
0
0
13
0
0
-1
0
0
0
2
0
0
0
0
1
0
-11
0
0
0
0
0
0
-17
4
0
0
0
0
0
79
0
0
0
0
0
0
-21
0
0
-3
0
0
0
-36
0
-5
0
0
0
0
55
0
0
0
1
0
0
1
0
13
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-26
-1
0
-23
0
0
0
0
0
0
0
0
0
14
30
0
0
42
1
0
0
56
0
87
2
0
0
0
19
6
0
0
0
2
0
-88
-3
-1
0
0
0
0
53
-3
0
6
0
0
0
6
0
0
-5
0
0
1
51
0
-4
-20
0
0
3
15
7
-2
-53
19
1
0
17
0
0
16
0
0
-9
-15
-4
-3
66
-1
0
0
-15
0
3
2
0
0
0
-1
-3
5
-1
0
7
0
33
0
0
0
0
1
0
37
0
0
0
0
0
0
28
0
-15
0
0
0
0
-52
0
-4
19
0
0
-2
-17
0
6
-14
0
0
6
36
0
-5
-5
3
0
0
40
0
33
-19
0
0
0
2
0
0
0
0
0
0
-55
0
6
0
0
2
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
4
-62
0
0
3
0
0
0
0
0
0
0
0
0
28
19
0
1
-31
0
0
2
25
0
82
0
0
0
-1
0
0
0
-2
0
0
0
-2
2
0
0
0
0
0
8
0
0
0
0
0
0
83
0
0
-2
0
0
7
0
0
0
16
0
2
1
37
0
0
-14
3
0
9
9
0
5
-3
0
0
0
22
0
0
26
0
7
0
-8
0
2
1
0
-5
0
-44
0
0
-5
0
0
0
-47
0
0
0
0
0
0
3
0
0
0
0
0
0
11
0
-6
0
0
0
-2
0
0
0
8
0
0
2
4
0
5
2
0
0
0
5
-1
-3
-5
-1
0
0
8
0
-31
0
0
0
0
24
0
1
-4
0
0
0
85
0
8
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
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
-18
4
-1
0
39
-5
0
0
0
0
0
0
0
0
-24
7
-1
-9
57
13
1
53
40
0
68
52
-5
-11
3
41
0
0
-4
-3
0
0
15
14
23
0
1
0
0
54
3
0
0
0
0
0
-23
0
-2
-27
6
36
-71
-29
0
0
12
0
-81
-46
-51
2
0
4
-45
6
64
-16
5
54
30
-20
18
18
25
6
43
-57
17
-25
31
19
-1
-2
-3
-2
-3
3
51
-2
-25
-4
0
2
0
-12
0
0
0
-1
4
0
42
2
0
0
5
0
0
11
6
1
7
0
1
0
-19
0
0
-2
11
0
0
18
1
0
0
15
0
-13
-49
-9
30
14
39
0
-1
33
0
26
-107
0
0
5
39
0
-13
14
16
-1
-2
3
-1
5
-4
0
-8
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
15
1
0
0
0
0
0
0
0
0
5
-25
0
0
-14
0
0
-3
-14
0
65
-2
0
0
-2
-39
0
0
2
0
2
0
0
2
0
0
0
0
0
34
0
0
0
0
0
-3
12
0
-3
0
0
0
11
-19
0
-1
8
1
0
11
14
0
0
0
-4
0
-1
-5
-7
3
10
5
0
3
10
0
3
-25
45
0
0
25
0
0
-1
0
-11
0
23
-1
0
-1
0
33
0
-37
0
0
0
1
0
0
-8
-1
0
0
0
0
0
7
0
-14
0
0
0
-1
-9
0
5
0
3
0
0
24
0
-4
-15
0
0
0
10
0
-7
0
0
0
0
-4
0
-44
-11
0
0
-7
42
0
0
-5
0
0
0
34
1
-6
0
0
1
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
-5
-17
0
0
30
0
0
0
0
0
0
0
0
0
-9
-23
0
0
-10
0
0
0
-10
0
8
0
0
0
0
-56
0
0
0
0
-1
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
-22
0
0
1
0
0
0
-11
0
0
5
0
0
5
-53
0
0
3
0
0
0
11
0
0
-3
0
0
1
-11
0
0
6
0
0
2
14
0
0
-1
0
0
0
-4
0
0
-3
0
5
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
0
0
0
-35
0
0
-6
0
0
0
27
0
0
0
0
0
0
-28
0
0
3
0
0
0
-18
0
-2
0
0
0
0
17
0
0
0
0
0
0
23
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
-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
-11
22
0
0
-39
2
2
-2
-11
0
88
-15
-4
0
-6
-11
0
0
-13
0
-2
0
20
19
-1
0
0
0
0
22
8
0
0
6
0
0
-24
0
2
0
4
0
-1
92
0
4
10
1
0
5
-41
0
0
-22
1
0
2
-6
-6
3
47
1
0
-18
-2
0
6
11
5
1
1
-11
0
-3
5
0
-1
0
50
-5
-32
30
-5
-3
0
-18
-1
0
0
0
0
0
-9
-10
0
0
0
0
0
10
1
-11
5
0
0
6
67
0
0
21
0
0
-6
22
1
46
61
0
0
-1
22
0
-3
87
0
0
1
0
0
42
55
4
0
0
0
0
5
6
0
0
0
-53
1
14
-2
0
-4
0
31
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
56
3
-3
35
4
2
-3
-23
-13
-1
20
-23
4
1
-33
31
1
-1
30
-6
-24
0
-16
11
-18
2
2
-6
0
27
9
0
2
-9
0
-3
-37
5
27
-52
-6
-6
-14
9
-17
-10
5
9
-31
-14
0
109
-14
-78
-24
5
34
20
-20
45
4
-6
-41
5
-49
-1
-8
50
-16
58
-65
-2
25
36
52
-5
52
3
1
0
35
66
-6
8
0
-20
1
0
3
-6
30
0
-17
-58
-4
1
-7
0
-5
48
-5
-59
9
0
13
31
14
2
-33
3
41
5
6
0
11
24
-15
54
-3
-7
-9
26
75
37
-26
14
2
-37
10
6
25
-9
-2
-7
60
2
-14
6
10
-3
-4
-36
0
6
-8
-4
-29
0
-24
43
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-27
0
-2
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
-8
0
0
0
0
0
0
-21
0
0
0
0
0
0
10
0
0
0
0
0
0
22
0
0
0
0
0
0
56
0
0
0
0
0
0
53
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
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
11
0
0
-3
0
0
0
14
0
-2
0
0
0
0
-2
0
0
0
0
0
0
27
0
0
0
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
1
-3
0
0
0
0
0
0
59
0
0
3
0
0
0
41
0
0
-1
0
0
0
51
0
0
-1
0
0
0
57
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
-5
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
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
-42
39
0
6
-20
0
1
19
72
0
-16
32
-1
0
0
-34
0
0
13
0
-5
0
-97
5
21
0
-1
-1
0
31
9
0
0
0
0
0
-15
0
0
-2
1
0
6
-2
0
0
-2
0
0
-8
24
0
1
101
30
1
8
-39
-4
0
34
0
0
8
17
-8
33
7
16
0
9
-24
2
-18
-7
0
-2
1
61
-9
4
5
-1
15
0
36
0
0
0
0
0
0
48
0
0
1
0
0
0
4
2
9
0
0
-1
2
36
0
0
0
3
0
4
-35
0
23
16
0
0
18
53
0
-22
2
-1
0
1
14
0
-26
-8
-3
-1
0
-4
0
-5
5
9
0
-3
41
-2
-51
-1
2
1
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
1
4
0
0
2
0
0
0
2
0
-5
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
1
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
2
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
14
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
67
0
-43
19
0
5
0
36
0
0
0
0
0
0
-13
-5
0
0
0
0
0
-14
2
0
5
-3
0
0
9
0
-4
3
1
-1
-1
-55
0
0
8
0
0
2
-14
0
-1
-21
5
1
0
-18
1
0
15
0
-1
0
-3
0
-1
-50
0
1
0
43
0
0
0
0
0
0
48
6
0
-1
-1
4
0
31
0
0
0
-3
0
1
19
0
0
0
0
0
0
-12
0
6
0
0
0
0
24
0
1
-3
-11
0
0
32
0
20
-21
1
0
-1
58
-3
-7
17
0
0
-1
24
0
98
-1
0
0
3
50
-4
0
-6
5
0
0
33
0
-17
2
0
0
0
118
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-26
2
0
6
-9
0
0
-17
-3
3
0
-3
-69
-35
3
-5
-9
0
9
-16
-3
-1
1
16
-4
12
1
29
41
51
46
-2
4
-7
-9
-8
6
-62
4
6
17
-12
-20
71
-12
-4
-18
35
23
82
6
32
42
0
33
31
-13
1
43
13
14
26
15
-4
1
53
0
-14
50
-43
54
-59
-24
0
-26
-8
1
0
1
-4
0
83
29
-2
0
-15
1
5
66
2
21
50
5
-8
13
59
0
5
-43
38
5
58
-36
-22
48
62
13
3
26
-42
15
-11
45
5
4
45
0
-4
7
-14
11
-9
-4
-74
-19
-10
-39
14
-6
-1
4
-1
16
13
0
-26
0
4
30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-28
0
0
-1
0
0
0
4
0
0
7
0
0
0
-1
0
0
1
0
0
0
54
0
0
0
0
0
0
-11
0
0
0
0
1
0
3
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
9
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
-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
0
0
0
0
0
0
0
0
0
0
-1
72
-2
24
11
1
-1
-3
27
6
0
0
0
8
0
9
24
0
0
-1
0
0
1
5
0
0
0
0
-1
-2
-5
-5
5
5
5
38
43
0
0
14
2
2
30
-27
0
-3
35
-10
0
24
-7
1
1
-33
-1
0
6
-13
0
-6
-1
25
0
-5
34
0
14
2
-7
1
-1
-3
6
4
0
53
-21
0
17
0
-5
0
3
0
0
34
-3
0
0
0
0
1
-12
0
15
-1
0
0
-5
46
0
0
41
3
0
-18
52
3
97
-3
-1
0
2
29
-1
82
56
24
0
2
-44
0
14
-5
-1
0
0
-28
0
-7
14
1
0
0
1
0
8
0
3
14
0
87
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
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-19
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
-15
0
0
0
0
0
0
-14
0
0
0
0
0
0
24
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
1
0
5
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
14
0
0
0
0
0
0
4
0
-1
0
0
0
0
16
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
23
0
0
0
0
0
0
5
0
0
-2
0
0
0
2
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
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
93
1
0
0
0
0
0
-31
0
0
0
0
0
0
35
0
-13
0
0
0
0
-53
0
-2
0
0
0
1
-12
0
2
-3
0
0
3
-31
0
0
-11
-3
2
0
0
0
4
0
0
0
0
-25
0
0
0
0
0
0
36
0
0
-3
0
0
0
-6
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-14
0
0
0
0
0
0
65
0
0
-1
0
0
0
-8
0
2
-1
0
0
0
53
0
0
-15
0
0
0
36
0
1
0
0
0
0
-14
0
0
0
0
0
0
20
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-2
-5
0
5
13
9
2
0
0
0
12
36
-1
0
3
1
-1
9
-4
1
33
24
7
26
-10
0
-4
-12
6
-4
-45
-6
-14
-1
-43
115
24
11
9
53
-30
15
10
-17
17
-17
0
5
-11
13
56
13
0
-2
-6
-9
-11
-11
1
-6
16
7
35
0
6
2
-21
-2
0
0
4
-11
0
81
-1
-4
-1
0
0
0
113
0
11
31
0
-2
19
-52
0
-3
-1
1
2
26
-48
0
52
8
4
0
-39
1
49
8
71
18
0
-1
22
-1
24
111
3
-6
8
0
1
1
4
-1
-2
0
-3
-6
-5
-3
0
16
0
65
-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
-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
12
5
0
23
1
-26
0
-23
1
0
0
14
0
0
-5
-6
0
0
-3
0
14
-9
1
45
-17
-5
-7
82
-14
0
0
-22
0
-7
-26
35
3
1
31
11
-1
81
41
4
5
4
5
-1
-3
-2
3
-3
-11
16
6
59
4
0
2
-46
-11
7
0
78
0
-11
-4
-1
44
0
17
0
0
0
0
20
0
-35
-1
0
0
-2
0
8
-29
-10
-4
0
0
0
-25
-26
0
2
-25
-7
0
4
-27
0
-55
27
0
0
7
68
2
57
36
10
3
-1
6
4
-14
-33
-1
-4
4
-24
1
-35
-9
17
0
0
-6
1
-1
-11
0
-1
0
-60
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
11
-6
0
0
0
0
0
5
0
-1
2
0
1
-7
-41
0
-1
0
0
0
7
-9
0
0
-3
0
1
3
84
0
-7
8
0
0
0
18
0
4
0
0
0
2
-78
-3
0
-1
0
0
0
-33
-3
0
0
1
1
0
41
0
0
0
0
0
0
2
0
0
0
0
0
0
-16
0
0
0
0
0
0
42
0
0
-2
0
0
-3
23
1
9
4
0
1
1
-8
0
0
8
4
0
0
29
0
3
-2
0
0
0
25
0
0
0
0
0
0
-29
-2
-11
0
0
7
0
-80
-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
18
0
0
0
0
0
0
17
0
0
0
0
0
-3
-16
0
0
2
0
0
-4
65
0
0
0
0
0
0
-45
0
0
1
0
0
0
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
3
0
0
0
0
19
0
0
0
0
0
0
-9
0
0
1
0
0
0
22
0
0
-6
0
0
0
-3
0
0
0
0
0
0
-31
0
0
0
0
0
0
-82
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
0
0
0
0
0
0
-3
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
13
0
0
-1
-1
0
0
1
4
0
-2
22
0
-1
-3
0
0
0
21
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
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
16
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
12
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
5
-21
-1
-5
0
0
0
24
0
0
0
0
2
0
64
0
0
-3
27
14
3
8
0
0
-28
0
-8
-23
-1
-2
1
51
59
-2
-23
-60
8
-16
11
-2
0
-1
19
-11
-14
5
0
7
-3
-5
-1
8
-2
0
0
-1
0
-7
35
77
-9
0
0
26
0
0
0
0
0
0
11
1
-1
0
2
0
0
-23
0
36
0
0
5
4
-18
0
-6
3
8
0
10
48
13
9
28
2
0
24
-13
0
-5
-4
-34
0
1
9
4
62
31
-3
-6
11
69
-2
1
5
14
0
0
0
-3
-36
-7
2
0
0
47
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
49
0
0
0
0
0
0
-4
0
0
2
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
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
36
1
0
0
0
0
0
12
0
0
0
0
0
0
9
0
0
0
0
0
0
-11
0
0
0
0
0
4
-19
0
0
0
6
0
1
37
0
0
-1
0
0
0
-1
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
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
-1
0
0
1
0
0
0
17
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
72
0
0
0
0
0
0
14
0
0
-2
0
0
0
80
0
0
1
0
0
0
-23
0
2
-4
-1
0
0
2
0
0
-3
0
0
0
-6
0
0
3
1
0
0
8
0
0
0
0
0
0
-3
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
5
0
0
0
0
0
0
14
0
-3
0
0
0
0
3
0
0
2
0
0
0
-21
0
0
-4
0
0
0
8
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
62
-1
1
-12
4
66
-32
5
40
3
-32
45
8
28
-11
-15
-24
-8
17
-22
-6
15
-76
59
45
-5
-16
2
21
-67
14
-19
-48
-22
7
49
57
-4
-32
-29
-51
34
8
71
55
-5
39
4
4
-5
5
22
-46
5
0
0
-3
-29
2
-19
-9
0
51
11
-6
2
-5
0
5
-35
-1
-10
46
31
8
-37
18
3
2
67
44
5
50
-52
0
63
-61
1
1
11
-29
52
-5
87
-16
6
26
23
-1
21
57
-7
-4
5
-43
32
-68
-53
8
-8
0
33
33
-14
-36
7
29
-1
0
0
60
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-1
28
0
0
1
0
0
2
-60
0
0
-5
0
-3
0
-89
0
0
7
0
0
0
-3
0
-13
5
0
0
0
23
0
6
-1
0
0
2
28
-1
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
-1
1
0
0
0
-31
0
0
0
0
0
0
15
0
9
1
0
0
0
15
0
0
-3
0
0
0
-6
0
-3
0
-1
0
0
14
0
0
0
2
0
0
-17
0
-2
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
-31
0
0
0
0
0
0
-9
0
0
-7
0
0
8
-18
0
0
-1
0
0
0
26
0
0
0
0
0
0
105
0
0
-1
0
0
0
13
0
0
2
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
-38
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
-32
0
0
0
0
0
0
-7
0
-4
0
0
0
0
8
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
0
0
0
0
0
0
1
0
0
0
0
0
1
58
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
70
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
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
5
0
0
0
0
2
0
0
0
0
0
0
17
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
-14
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
-12
-35
2
-12
13
-19
5
26
-18
0
9
18
2
39
-3
6
-17
104
-35
64
12
21
-14
0
25
7
49
-2
-17
-4
-1
-20
15
-3
-10
11
1
14
48
18
1
-23
-17
1
11
-53
-20
14
-53
2
9
15
-1
2
-18
3
0
0
-4
-2
0
-11
0
0
-19
7
3
50
-7
2
-5
10
1
21
-28
12
-7
44
14
-4
34
7
8
-3
6
-21
-3
67
-1
-18
0
-19
-31
-1
-11
-59
4
-1
-8
50
-5
-6
37
9
13
0
33
2
-4
-30
23
85
0
75
25
8
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
-11
0
0
0
0
0
0
30
0
0
0
0
0
1
-29
0
0
0
3
0
3
16
0
0
0
0
0
0
51
0
0
0
0
0
0
2
0
0
-1
0
0
0
22
0
0
0
0
0
0
-31
0
0
0
0
0
0
34
0
0
0
0
0
0
8
0
0
0
0
0
0
18
0
0
0
0
0
0
-45
0
1
1
0
0
-3
13
0
0
-4
0
0
0
-1
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
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
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
4
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
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
19
0
0
0
0
0
0
16
0
0
0
0
0
0
30
0
0
-4
0
0
0
-16
0
0
1
0
0
0
7
0
0
-3
0
0
0
-31
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
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-6
0
0
1
0
0
0
-7
0
0
0
0
0
0
-35
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
10
-30
0
3
40
-2
6
-3
16
0
0
90
61
3
26
-3
0
11
-4
-32
0
-2
-49
0
22
-23
-1
4
6
-25
14
-2
9
1
-3
0
-45
-3
-1
40
10
-25
0
18
0
5
0
0
2
0
16
0
0
5
3
0
0
0
0
14
0
7
0
23
37
4
2
20
-9
3
16
91
0
-14
-72
20
0
23
13
-4
-14
24
8
0
-7
12
0
62
-68
-2
3
0
11
0
-8
4
1
-3
0
4
-2
-35
0
0
-9
0
7
-1
-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
13
0
0
0
0
0
0
-7
0
0
0
0
0
0
31
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
0
0
0
0
0
0
-2
0
0
0
1
0
0
33
0
0
-10
0
0
0
47
0
0
0
0
0
0
-16
0
0
1
0
0
0
0
0
0
0
0
-2
0
68
0
0
0
0
0
0
10
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
16
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
2
0
3
0
1
0
3
0
0
3
44
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
9
0
-11
0
0
0
0
0
0
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
20
0
0
-3
0
0
0
-23
0
0
1
0
0
0
-25
0
1
0
0
0
0
-13
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
0
0
-5
0
0
0
14
0
0
-15
0
0
0
27
0
0
-2
0
0
0
-50
0
0
0
0
0
0
10
0
0
0
0
-2
0
32
0
0
0
0
0
0
33
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
-15
0
5
-1
0
0
0
-3
0
0
0
0
0
0
-5
0
5
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
0
0
-1
0
0
0
-6
0
0
1
0
0
0
17
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
-23
0
0
0
0
0
0
37
0
0
0
0
0
0
6
0
0
0
0
0
0
31
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
-14
0
0
-8
0
1
0
26
0
-1
41
0
0
-1
-37
0
-1
10
0
0
0
-16
0
0
1
0
-2
0
0
1
0
0
0
-13
0
32
0
0
0
0
0
0
27
0
0
0
0
0
0
4
0
-5
0
0
0
0
24
0
0
-1
0
0
0
39
0
11
0
0
0
0
58
0
-1
7
0
0
0
-19
0
16
1
0
0
0
33
0
0
0
0
0
0
-18
0
8
0
0
9
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
-17
-23
1
2
5
13
48
-20
36
-32
-10
48
44
75
19
-45
-24
-53
43
-12
36
15
-27
18
76
5
-6
-14
-2
-10
33
-2
23
25
16
0
5
-5
-18
-4
13
7
0
-2
-21
5
1
4
-1
0
39
23
-23
25
0
25
17
0
-3
14
-24
53
0
-11
8
32
-7
-40
16
3
-8
36
-31
-38
-7
-5
10
8
8
-3
22
-13
14
-5
5
-45
-14
-6
-16
-5
1
0
-20
1
-82
4
22
-35
0
27
4
-9
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
21
-83
0
0
3
21
0
-4
27
0
4
-6
0
0
-1
61
2
0
6
-6
0
0
88
0
0
-3
0
0
0
3
0
0
0
0
2
0
81
0
0
0
0
2
0
37
-2
0
0
0
0
0
97
0
0
0
0
0
-2
69
0
0
0
0
0
2
33
0
0
3
0
0
-2
-42
0
0
-3
0
0
0
-9
-3
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
14
0
0
-5
0
-36
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
-27
0
0
0
0
0
0
-20
0
0
-1
0
0
0
-4
0
0
4
0
0
0
29
0
0
1
0
0
0
-9
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
-39
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
18
0
0
7
55
0
-3
3
2
0
0
18
0
0
-4
0
0
0
50
0
-1
0
-7
-2
0
33
3
0
0
0
0
0
14
-1
0
0
0
0
0
-1
0
-10
1
0
0
0
69
0
-1
2
0
0
0
24
0
6
0
0
0
0
13
0
-2
5
-3
0
0
39
0
0
4
0
0
0
-38
0
0
2
3
0
0
-35
0
-16
0
0
-1
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
21
-16
4
48
-47
41
16
31
-25
-2
-7
-22
23
23
-14
14
-5
-16
-31
0
21
0
-6
0
10
19
43
-5
5
-17
0
2
-9
6
-5
0
0
-4
22
-1
5
0
0
9
0
20
-8
-7
-6
63
-80
0
-4
-95
3
0
-48
0
6
-32
-61
-16
0
17
-47
11
-51
-12
2
0
109
6
0
-13
18
32
-5
7
5
5
18
4
18
6
0
5
8
6
10
43
15
0
45
-13
27
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
45
0
0
0
0
0
0
-13
0
0
0
0
0
0
64
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
13
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
-29
0
0
2
0
0
0
-53
0
0
0
0
0
0
5
0
0
0
0
4
0
126
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
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
17
0
-2
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
62
0
0
-3
-28
0
3
16
6
0
0
21
0
1
-2
0
0
0
-29
1
0
-3
0
4
0
-29
0
0
0
0
0
0
66
-2
0
0
0
0
0
-52
0
10
0
0
0
0
6
0
0
5
-3
0
-3
-42
0
57
0
0
0
0
60
0
14
1
14
0
-3
-30
0
25
-11
0
0
0
32
-1
0
0
6
0
0
11
0
23
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-16
0
0
0
-23
0
0
43
0
0
2
-45
0
0
0
0
0
0
-35
0
0
0
0
3
0
23
0
0
0
0
0
0
-11
-1
0
0
0
0
0
-5
0
5
0
0
0
-1
14
0
0
-16
0
0
0
-57
0
0
8
0
0
0
-23
0
0
-2
0
0
0
-31
0
0
0
0
0
0
71
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
0
0
0
8
0
0
0
0
0
0
-18
0
0
0
0
0
0
11
3
0
0
0
0
0
-13
0
0
0
0
0
0
49
0
0
-1
0
0
0
14
0
0
1
0
0
0
-2
0
-8
-2
0
0
0
-14
0
-2
-23
-4
0
0
18
0
33
0
0
0
0
92
0
6
-3
-1
0
0
29
0
9
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-37
1
-119
-14
39
-30
9
7
43
9
-2
-27
-1
-30
-3
-9
16
49
-58
4
14
-18
-4
4
-14
9
0
-20
41
3
0
7
0
3
-24
-4
71
31
-8
-21
25
-21
-3
19
53
-34
0
11
38
20
22
15
43
5
-14
0
5
-2
-5
-43
5
-4
41
-11
8
-35
25
-11
-7
-45
16
72
2
13
4
-5
26
20
-30
0
16
2
0
-42
5
19
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
18
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
-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
-16
0
0
-2
0
0
0
-42
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
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
-6
1
0
0
0
24
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
-10
12
0
-49
6
-42
2
19
37
0
0
2
3
-1
0
-14
6
3
-3
0
53
0
1
0
0
0
0
0
0
29
7
-4
0
3
0
0
44
0
-14
4
0
-1
0
5
0
-3
-1
2
0
-2
-14
0
16
-4
0
0
-4
25
4
-6
44
-5
0
8
-128
0
-41
3
7
0
10
26
0
0
-2
0
-4
0
-32
1
68
4
-1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
23
0
0
0
0
0
0
-13
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
-5
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
-3
0
0
0
0
0
0
-18
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
-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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
1
-2
0
0
0
53
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
1
2
0
0
-26
0
5
3
0
0
0
22
0
2
4
0
0
0
10
0
-20
0
0
0
0
19
0
0
0
1
0
0
-3
0
-8
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
-32
-61
11
19
49
-1
0
-3
11
-6
13
80
15
26
-4
-3
5
-24
3
-8
-1
0
-46
-1
-3
-3
2
0
3
56
20
49
3
24
10
8
8
0
14
102
57
3
5
-35
-11
77
-13
-5
15
-63
43
2
-67
4
-14
7
-23
0
0
-51
-27
5
0
-6
-4
3
22
-27
-5
6
-5
4
14
12
-5
8
-45
0
-4
-22
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
9
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
-21
0
-3
1
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
1
0
0
0
0
5
0
0
-2
0
0
1
17
0
-8
-1
0
0
1
-15
0
2
3
4
0
0
-36
0
4
2
0
0
0
-20
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
3
0
41
2
0
0
-4
5
0
11
-2
0
0
0
0
0
-21
2
0
0
0
0
3
-15
0
-4
0
0
0
2
-31
0
0
-4
0
0
10
45
-2
-16
-6
-4
0
2
-42
0
3
1
0
0
0
12
0
-5
-3
0
0
0
14
1
1
0
0
0
-1
55
1
-18
0
0
1
0
71
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
-28
0
0
0
0
0
0
71
0
0
-1
0
0
0
39
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
0
2
0
0
0
-1
-41
0
0
0
0
0
0
-14
0
-2
3
0
0
0
-11
0
0
18
0
0
0
6
0
3
-3
0
0
0
11
0
0
0
0
0
0
-14
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
17
0
0
0
0
0
0
-2
0
1
-3
0
0
0
-4
0
0
5
0
0
0
21
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-1
0
1
4
0
0
0
28
0
0
1
0
0
0
2
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
3
-38
63
35
-2
0
-1
-3
-3
-5
14
-9
-6
-11
-2
0
1
0
4
3
18
-2
36
-2
0
-18
3
4
22
-44
-53
0
7
-5
-33
-7
13
4
2
-26
-5
9
85
5
-22
10
14
42
3
77
-39
1
-3
-11
0
0
-8
-35
33
0
-4
-7
2
61
26
0
3
0
18
10
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
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
-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
19
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
30
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
40
-4
0
0
0
0
0
-19
0
0
0
0
0
0
-25
0
0
0
-2
0
0
22
0
3
0
0
0
0
38
0
0
6
-1
0
0
-4
0
-1
6
0
0
0
48
0
0
0
0
0
0
17
0
8
0
0
0
0
9
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
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
-51
0
0
0
0
0
0
16
0
0
0
0
0
0
7
0
5
0
0
0
0
57
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-1
0
0
0
72
7
0
0
0
-2
0
21
0
-1
2
0
-4
8
-49
0
0
8
-11
0
-45
24
-6
-59
17
0
0
-32
-8
5
10
56
24
0
3
-22
0
-53
11
5
0
0
42
0
-11
16
0
0
1
0
1
72
0
0
0
0
11
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
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
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
0
0
0
-18
0
0
0
0
0
0
14
0
3
0
0
0
0
45
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
2
0
0
0
-1
0
0
5
0
2
2
0
0
0
5
0
0
0
0
0
0
2
0
0
2
0
0
0
11
0
0
0
0
0
0
-94
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
-16
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
4
0
5
0
0
0
0
33
0
0
-7
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
10
0
5
0
0
0
-1
39
0
0
-3
0
0
0
45
0
-2
-8
0
0
0
3
0
-2
56
2
0
0
14
0
13
-1
0
0
0
2
0
3
-1
0
0
0
69
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
5
14
21
0
0
-1
20
2
24
-23
16
0
6
38
-6
-8
40
-14
14
0
-32
37
-37
7
-111
10
-1
-14
16
-18
9
4
68
0
32
18
0
-30
-41
5
-1
-33
9
-18
28
53
19
-3
-1
-53
5
22
-27
4
27
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
36
3
35
20
0
-3
0
-46
0
0
8
-4
0
0
2
0
49
-5
0
0
9
37
-2
2
-53
-3
4
-6
-50
-1
96
30
8
0
-2
-32
0
-2
-1
8
0
1
-25
0
-9
0
0
5
0
47
-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
37
0
0
-7
0
0
0
-1
0
0
-3
0
0
0
-23
0
1
0
1
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-41
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
28
0
-5
4
3
0
5
-29
0
-19
-4
0
0
5
-3
2
6
-31
5
0
0
-5
3
-10
-5
0
0
0
5
0
9
-1
-2
0
0
25
0
53
5
13
5
0
53
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
-25
0
0
-6
0
0
16
18
0
1
0
-3
0
0
73
0
1
0
0
0
0
53
0
0
2
-4
0
0
38
0
14
-1
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
-17
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
26
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
0
-3
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
-5
0
0
0
-7
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-113
0
-5
-16
-4
-1
110
24
14
-6
-3
14
0
-5
63
0
-6
26
1
-1
0
22
14
-1
-24
-1
0
0
27
0
66
0
11
-17
0
-82
-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
10
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
0
-2
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
27
0
0
4
1
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
59
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-37
0
-1
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-31
-5
5
0
14
29
2
82
51
-1
0
3
43
0
-18
5
8
-1
-5
-16
0
-60
-5
0
4
0
-76
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
7
0
0
-7
4
0
1
-22
0
52
13
0
0
0
-11
1
3
1
-4
0
0
-9
0
5
0
0
3
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
-138
0
3
-2
-1
0
0
11
-3
14
1
0
0
0
-6
0
0
-1
0
0
0
28
0
-5
0
0
-3
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
-14
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
28
35
-15
0
13
51
2
16
-18
-1
-1
1
37
0
-16
1
0
-5
0
-28
39
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
-9
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
80
0
-1
-4
0
0
0
-3
0
0
0
0
0
0
-96
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
6
0
39
-10
-1
0
0
-11
0
0
1
-3
0
0
2
0
2
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
1
0
4
0
0
0
0
54
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-11
41
8
-3
-1
10
1
8
-3
0
9
0
-20
21
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
26
0
0
-3
0
0
0
13
0
0
6
13
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
-49
0
0
0
0
0
0
-39
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-6
-3
11
21
0
17
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-59
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
34
-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
12
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
29
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-45
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
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
0
0
-11
0
0
9
0
0
20
0
24
33
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
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-19
0
0
0
0
0
0
0
0
0
0
0
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
32
54
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-56
-10
-37
0
-9
0
0
-7
0
-40
-5
117
51
34
-16
0
0
0
0
0
0
0
0
0
0
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
5
-60
-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
51
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
33
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
47
100
-20
115
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
4
0
106
0
2
0
0
0
0
-32
8
-55
-77
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
-20
0
0
0
0
0
0
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
32
0
0
0
0
0
0
3
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
-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
-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
0
0
0
0
0
0
0
19
0
-18
0
0
0
0
0
0
0
0
0
0
0
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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-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
-6
-1
-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
52
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
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
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
-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
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-17
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-3
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
-25
38
-52
-35
-58
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-89
-9
-46
0
-69
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-4
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
-36
0
-10
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
-6
-5
-14
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
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
0
0
0
0
0
0
0
0
0
23
0
0
-6
0
0
-9
-27
-10
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
-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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
1
0
60
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
139
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
70
0
-52
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
26
0
0
0
0
0
34
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
93
0
0
43
0
0
-23
0
0
-35
0
0
-20
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
-42
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
-41
0
-32
-7
0
0
0
0
0
7
20
-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
-67
0
0
0
0
0
0
-34
-26
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
-16
6
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
-5
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
-23
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
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
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-50
57
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
-17
0
63
-12
41
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
5
-1
-13
15
-9
0
-27
0
0
-25
0
47
34
36
4
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
14
0
0
26
0
0
0
0
0
-4
-24
27
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
14
-5
-86
0
-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
-22
-7
60
-63
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
-32
0
0
-11
0
0
0
0
0
-45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-10
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
24
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
99
45
-57
-19
0
0
0
0
0
0
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
-44
0
-10
0
0
0
0
-27
104
-12
141
-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
-31
0
83
0
49
0
0
0
0
67
8
3
-24
-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
2
0
0
0
0
22
53
-93
-1
-24
16
0
0
0
0
0
0
0
0
0
0
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
15
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
-9
0
0
0
0
0
17
0
0
0
0
0
0
-34
-21
-14
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
35
0
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
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
-19
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-8
0
0
0
0
0
0
101
-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
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
2
40
-18
24
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
-6
0
0
0
0
0
-16
0
50
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
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
0
0
0
0
0
0
0
0
0
0
0
0
-30
-9
-45
-16
0
0
0
0
0
-1
74
15
17
-11
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
19
0
0
0
0
0
-3
-30
-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
14
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
8
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
-30
0
-40
-21
0
0
-2
0
0
-48
0
22
3
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
-6
0
0
41
0
0
0
0
0
-18
-18
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
27
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-34
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
-51
0
-60
-6
2
3
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
17
0
0
0
0
0
0
-59
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-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
-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
-36
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
46
-4
-34
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
31
-12
-5
-12
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-31
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
-20
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
-18
0
0
12
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
-32
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
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
-7
0
0
0
0
0
15
-9
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
-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
-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
72
0
-67
-11
0
0
-109
0
0
-5
-33
-33
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
-39
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
55
0
3
-53
0
0
1
0
0
-20
-5
-3
-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
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
-15
0
0
-53
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
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
-98
0
0
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
0
0
0
0
0
0
0
0
0
-40
0
0
22
0
0
44
0
0
-80
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
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
0
0
-27
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
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
-24
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-131
1
0
0
0
0
0
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
7
-23
0
0
0
0
0
0
-98
-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
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
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
-14
0
0
0
0
0
27
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-54
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
22
0
-125
-33
0
0
0
0
0
10
-90
-14
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
-47
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
0
0
0
0
0
0
0
0
0
0
0
0
48
0
-5
-42
0
0
0
0
0
48
-24
18
-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
3
0
0
0
0
0
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
5
0
0
0
0
0
54
-95
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
47
0
0
0
0
0
57
0
-62
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
25
0
0
0
0
0
0
21
9
-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
14
0
-2
95
0
0
0
0
0
-4
-29
-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
0
-19
0
0
0
0
0
0
-17
-43
23
0
0
0
0
0
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
9
4
0
0
0
0
0
-56
-59
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-44
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
-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
58
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
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
4
-115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-14
64
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
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
-11
41
0
0
0
0
17
-20
-17
8
35
-11
0
0
0
0
0
0
0
0
0
0
0
0
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
50
-16
-32
6
-14
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
-9
-55
42
-51
0
0
0
0
-8
-48
8
20
-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
54
0
0
0
26
-4
-21
-21
-28
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
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
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
46
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
18
0
-10
20
4
0
9
0
0
36
61
16
16
-17
-39
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
9
0
74
0
0
0
69
4
18
8
46
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
5
16
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
-2
0
0
0
0
0
0
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
-50
37
2
0
0
0
-11
-25
-31
-19
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
19
26
81
-7
-10
0
0
0
-31
70
-34
3
-5
-30
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
2
0
10
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
-5
-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
-5
0
0
0
0
-40
4
-17
-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
2
-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
-45
0
0
0
0
0
0
-38
0
-60
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
-71
0
2
0
20
-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
-2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-28
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
34
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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-2
0
0
81
0
0
-21
0
1
1
0
-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
45
0
0
0
0
0
8
3
65
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
0
0
0
0
0
0
-27
-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
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
5
-19
-4
-15
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-10
-27
0
0
0
0
-14
0
20
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
32
0
-11
0
0
0
0
0
47
-3
37
-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
-27
0
-11
25
0
0
0
0
0
-2
14
16
-11
-35
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
-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
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-56
0
-25
0
0
0
0
0
-31
-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
27
0
-54
0
0
0
0
0
13
-10
5
-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
-34
0
19
0
0
-1
0
19
13
-38
-7
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
-29
3
26
-33
0
0
0
0
-5
-22
33
-3
-6
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
8
14
-44
23
18
0
0
-10
7
-4
-18
14
-9
0
-10
0
0
0
0
0
0
0
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
62
0
-38
0
0
0
0
46
-13
-10
6
-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
-3
6
-43
30
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
50
0
0
0
0
19
4
13
-6
-5
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
7
-6
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
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
-2
0
29
0
0
0
0
0
24
-5
-56
-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
0
0
0
0
8
-6
-9
-2
-9
0
0
0
0
-17
-32
-3
-15
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
42
39
0
44
0
0
0
0
15
-5
-12
-27
-13
-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
46
59
-21
60
0
0
0
-6
-66
-30
11
-17
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
-32
-27
14
2
0
0
0
0
-8
-10
10
-14
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
-4
-3
14
0
0
0
0
17
5
0
34
-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
39
0
25
0
0
0
0
0
55
-9
-17
-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
-43
-34
84
-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
-9
0
0
-1
0
0
0
0
0
3
16
14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
4
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
78
22
-10
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
14
0
0
0
0
0
0
0
0
53
24
-29
-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
-34
0
0
0
0
0
37
7
41
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
0
0
0
0
5
-23
63
4
0
0
0
0
0
0
0
0
0
0
0
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
86
61
-22
38
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
-33
-8
-44
-1
7
9
-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
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
3
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-17
1
0
0
0
0
-4
0
-1
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
44
35
4
14
0
0
0
0
17
-15
7
26
-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
44
0
0
0
0
0
-4
-62
-55
-5
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-55
-49
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
-15
-43
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
-3
0
62
0
0
5
0
-3
24
15
-9
-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
-30
4
-24
26
0
0
0
0
7
-61
7
43
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
-5
17
-23
80
38
0
0
-39
-37
-57
10
19
-17
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
19
51
-9
-5
0
0
0
0
-63
-50
-14
50
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
11
23
-17
18
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
2
0
74
0
0
0
0
2
-49
15
1
-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
-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
-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
-24
-19
-5
41
-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
10
0
7
0
0
0
0
0
-21
-4
-28
-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
-40
-1
-1
17
0
0
0
0
0
-25
-22
22
-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
23
-31
2
-8
0
0
0
0
0
-28
-27
25
-21
-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
5
-20
0
16
0
0
0
0
-62
-25
44
-19
-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
-26
-19
21
-35
0
0
0
0
-36
-17
2
-23
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
-4
0
0
0
0
0
0
57
5
8
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
40
0
0
0
0
0
-6
12
-7
-1
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
-8
0
0
0
0
0
-7
47
15
-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
59
0
0
0
0
0
0
18
-62
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-70
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
-13
0
0
0
0
0
23
5
-37
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
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
23
0
0
0
0
0
-20
14
-23
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
10
-24
84
-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
9
8
-40
-36
-18
-78
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
15
-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
-9
-2
14
-10
-26
-16
17
-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
-26
19
10
-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
-2
14
-1
-22
-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
-24
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
32
-43
94
-2
-5
19
-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
3
0
0
-10
34
-11
-24
-18
32
29
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
-54
-29
5
-6
-1
-21
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
64
-15
-35
-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
-25
-2
0
-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
-62
-42
14
-15
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-57
0
63
-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
-27
-46
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-49
-4
40
9
-78
-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
-5
40
-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
52
-2
122
8
18
-23
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-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
1
0
0
0
0
45
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
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
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
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
44
7
6
5
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
10
22
-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
52
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
8
-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
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-4
3
-13
0
-32
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
-31
0
0
0
0
0
0
-5
33
-6
19
12
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
45
-50
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
-33
-7
-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
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
-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
-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
-25
54
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-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
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
32
-71
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
2
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
42
-18
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
-14
0
-31
0
0
0
0
-13
16
-49
-17
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
23
-13
30
0
0
0
-6
14
-1
7
-17
-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
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
82
40
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-6
31
22
-42
9
0
0
0
0
0
0
0
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
44
-10
0
0
0
0
14
7
-1
30
57
-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
2
0
0
0
0
0
-61
-74
-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
9
66
-23
0
0
0
0
-13
-15
25
-32
35
-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
-8
-24
-34
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
16
-6
0
0
0
0
0
-45
47
32
-39
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
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
-3
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
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
-87
-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
33
-47
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-18
0
0
0
0
0
28
-15
40
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-49
-31
-17
0
-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
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-9
-43
0
0
4
0
0
21
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
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
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
1
0
0
0
0
0
-9
-23
-32
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
41
0
0
0
0
0
-8
-81
-19
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-59
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
-1
-3
0
50
-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
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
-5
39
0
46
0
0
0
0
0
16
-101
-36
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
-30
-6
-42
13
0
0
0
0
-8
-81
-24
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
-26
0
-19
0
0
0
0
0
0
-3
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
-30
0
-25
0
0
0
0
0
0
0
-44
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
-70
0
3
-79
0
-19
-19
23
0
-71
1
6
-24
0
-10
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
-10
0
-20
0
0
0
0
0
-27
-14
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
47
-38
-10
13
0
0
-2
0
-7
-11
-19
-3
10
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
44
-44
32
-30
0
0
0
0
17
24
-15
44
-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
20
33
7
72
5
0
0
0
22
-8
-32
4
13
42
-9
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
3
21
37
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
57
0
0
0
0
0
0
0
0
32
-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
-14
38
25
-2
14
0
0
0
0
0
20
-12
13
-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
6
36
0
-1
0
0
0
0
38
-44
-70
-22
-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
0
26
0
6
-45
44
55
-20
0
0
-17
-25
-13
-46
-42
-16
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
0
0
0
0
0
-72
20
-31
-66
0
0
0
0
-1
-14
27
42
-22
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
37
5
-27
13
-15
-21
5
91
0
-4
-19
-9
-11
48
-50
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
0
0
0
0
0
-81
-34
55
-4
-23
-7
0
0
0
-4
-13
0
-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
-5
-31
55
-18
0
0
0
-5
33
-20
-20
-11
11
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
32
5
0
3
0
0
0
0
33
25
14
-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
75
-9
-33
14
-3
0
0
0
0
-19
-11
-43
1
26
0
-3
0
0
0
0
0
0
0
0
0
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
-43
-12
0
0
0
0
0
13
25
43
-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
-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
-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
-81
70
70
30
0
0
0
8
13
-76
15
-42
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
12
-26
20
0
0
0
0
0
-2
0
69
-23
-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
-45
-11
-41
-3
-4
0
0
-8
0
-25
13
-24
-26
-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
-50
34
40
-25
-16
17
0
0
0
-16
-21
-2
-18
-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
-3
-51
-44
5
68
-16
0
-79
0
-32
4
36
-18
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
-6
0
-17
39
-46
3
0
0
8
-44
-12
-17
-16
0
-19
0
0
0
0
0
0
0
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
17
0
-35
0
0
27
42
-43
2
21
-27
-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
16
12
0
29
0
0
0
0
-18
39
46
-4
27
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
-13
22
0
60
0
0
13
0
17
11
-84
32
-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
43
11
-1
30
0
0
0
0
-32
-68
42
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
-14
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
28
-82
-69
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
-19
0
0
5
0
0
0
0
-6
-42
-8
9
-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
103
-35
0
-31
0
0
0
0
0
50
16
-72
-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
-3
0
0
0
0
0
4
112
-14
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
0
0
0
-15
0
-10
0
0
0
0
0
-18
-3
-52
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
-6
0
0
0
0
0
-1
73
55
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
1
0
21
0
0
0
0
0
54
25
61
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
7
-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
-44
-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
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-2
0
0
0
0
16
22
-17
-4
-19
14
-86
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
45
13
-12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
-15
14
-6
-13
0
15
6
-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
56
0
0
0
0
0
-54
67
-6
-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
12
-4
-1
2
0
0
0
0
-72
8
-13
-10
-6
9
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-33
33
19
0
0
0
0
16
2
-1
10
-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
-16
30
6
0
0
0
0
12
-24
12
2
-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
17
27
-27
0
0
0
0
0
53
27
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
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
52
0
0
-16
-45
21
-12
-10
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
-3
0
-52
0
0
0
0
0
11
0
-22
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
24
12
-16
23
30
7
13
0
0
-11
-15
-20
-6
-12
-5
-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
25
-1
-23
20
0
0
0
0
0
-58
45
6
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
-21
-17
0
0
0
0
0
23
63
110
63
-42
62
-14
-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
19
0
0
0
0
0
3
18
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
-17
-18
-4
27
-7
0
0
0
0
-12
-27
-2
-4
18
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
-1
0
0
0
-16
31
52
0
0
0
0
0
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
24
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
19
-4
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
44
-10
0
5
0
0
-31
-4
5
-48
-31
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
20
0
0
0
0
0
39
-64
-48
-18
0
0
0
0
0
0
0
0
0
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
0
-46
0
0
-33
0
5
-70
8
-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
-33
0
0
0
0
0
17
-5
-53
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
-15
0
0
0
2
2
-37
2
0
31
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
-16
0
0
0
0
0
-33
15
-71
-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
-73
0
8
13
0
-58
15
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
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
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
-4
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
4
0
-7
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
-1
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-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
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-54
-23
8
13
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
-5
-4
0
-12
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
1
0
0
0
0
0
0
-5
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-24
11
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
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
-43
0
0
0
5
-15
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
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
-3
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
0
0
0
-5
0
-17
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
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
0
0
0
0
0
0
0
0
0
23
4
-21
-32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
20
-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
-7
0
0
46
0
0
6
-2
-13
5
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
-11
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
29
32
-29
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
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
-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
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
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
11
0
0
16
13
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
0
0
0
0
0
21
0
0
0
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
4
0
-14
0
0
0
-28
0
0
6
-27
10
30
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
30
-18
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-73
0
7
0
0
0
0
0
0
0
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
-22
0
0
5
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-114
-8
0
0
0
0
0
0
0
0
0
0
0
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
-1
-11
-96
-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
0
0
0
0
0
0
0
0
43
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
-11
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
75
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-11
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-65
0
12
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
7
0
0
4
0
0
-5
0
-4
-2
-1
-9
-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
-4
-21
14
25
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
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
-8
-1
-27
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-7
0
-1
-21
-10
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
46
0
-5
-8
0
0
4
0
0
16
27
-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
-8
-5
4
12
0
0
0
0
0
-68
63
-57
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
14
-3
0
0
16
0
0
7
-1
71
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
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
47
0
0
-10
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
25
-14
-18
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
-22
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
-22
0
10
35
0
0
-33
0
0
-13
4
16
-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
32
0
0
4
0
0
-21
-61
-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
-13
4
-13
31
0
0
-4
0
0
34
75
42
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
53
20
0
0
0
0
0
0
0
0
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
28
0
0
-69
19
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
5
0
0
21
53
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
9
-52
-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
45
0
0
0
0
0
0
-3
32
-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
-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
11
41
-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
-13
19
4
-15
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
-30
0
0
0
0
0
27
-38
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
-10
0
-45
36
0
0
0
0
0
-8
28
7
-33
-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
10
0
-5
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
-50
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
21
0
0
0
0
0
-4
0
100
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
0
0
0
0
42
-17
0
-75
0
0
0
0
-37
26
-16
13
-4
-98
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-43
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
-1
0
0
0
0
0
0
67
-21
44
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
-25
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
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
0
0
0
0
0
-46
-26
38
-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
25
0
-40
10
0
0
0
0
0
12
-7
6
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
4
30
-19
-72
0
0
0
0
0
39
-4
-14
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
-13
1
-25
-55
0
0
0
0
0
-14
9
-17
-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
-15
0
-3
64
15
0
0
-4
-27
32
-9
-43
-13
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
18
74
-11
-25
51
0
0
0
12
17
15
-2
-25
-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
0
0
-3
20
-36
5
0
0
0
-9
-38
-3
56
-2
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
33
47
7
3
-8
3
0
0
-23
43
5
38
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
-15
44
28
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
23
0
-37
-4
0
0
0
0
-36
-17
4
6
16
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
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
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
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
49
-14
-33
-13
-29
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
-14
0
21
-61
-7
0
0
0
6
27
23
14
12
-74
-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
-8
-24
22
8
0
0
0
0
-39
-56
-38
56
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
12
-12
41
39
6
0
0
0
-20
-7
-24
27
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
-5
31
30
54
0
0
8
6
77
-5
-12
-58
-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
-1
46
-9
5
-7
0
0
0
35
9
75
47
-19
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
6
11
0
0
0
0
0
-29
6
-32
-29
0
0
0
0
0
0
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
-27
-9
0
0
0
0
46
-44
-30
-5
-5
2
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
5
0
0
0
0
0
-1
0
0
34
-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
15
32
-77
19
0
0
0
0
0
-46
78
-62
-57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-25
-30
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
36
47
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
-6
0
18
30
0
0
0
0
0
-72
36
-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
-25
-77
-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
-19
1
0
0
0
0
0
14
-14
25
-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
-14
0
0
0
0
0
0
0
31
-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
4
-4
-10
-22
0
0
0
0
0
-74
17
-67
37
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-15
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
3
-17
0
0
0
0
0
-6
1
-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
-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
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-18
-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
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
2
-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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
9
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-5
0
0
0
0
0
0
-27
9
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
-8
-1
-14
0
-2
0
0
-3
0
-14
-6
1
6
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
8
0
0
0
0
0
0
-15
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
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
19
0
0
0
0
0
0
2
0
-9
1
-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
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
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-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
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
-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
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
8
-8
-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
11
29
-31
-51
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-53
-38
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
-1
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-32
0
-10
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
45
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
4
0
0
5
0
0
-5
0
0
-14
0
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
-4
8
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
-11
0
10
-5
0
0
0
0
0
-29
26
-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
-13
0
0
0
0
0
0
-7
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
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
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
-2
0
0
0
0
0
0
-15
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-6
0
0
0
0
-3
0
-2
-1
-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
11
0
0
0
-1
0
-5
0
0
4
0
6
-1
-5
-4
-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
1
0
0
0
0
0
-5
-8
3
-99
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
-8
5
-19
-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
-3
0
0
3
0
0
0
0
0
-2
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
-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
-2
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
20
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
-1
-4
0
0
-13
0
0
0
0
-5
11
-7
14
-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
4
0
11
0
3
0
0
0
0
13
2
4
-8
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
10
0
0
0
0
2
2
-11
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
11
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
-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
3
0
126
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
9
-23
-3
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
2
-2
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
-8
0
0
-4
0
0
0
0
0
-3
0
16
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
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
1
0
19
-1
0
0
0
0
0
59
29
-97
18
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
8
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
4
-5
0
0
7
0
0
-13
0
-3
-15
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
0
0
0
0
5
0
0
0
0
0
0
-1
11
-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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
25
-2
-11
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
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
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
-5
0
-5
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
29
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
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
-45
9
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
-5
-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
0
0
0
0
0
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
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
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
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
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
9
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-16
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-4
0
0
0
0
0
-46
36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
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
9
0
-32
-9
0
0
0
0
0
15
20
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
-14
0
0
0
0
0
0
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
21
0
-5
-8
0
0
0
0
0
5
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
6
0
0
0
0
0
5
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
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
19
0
0
0
0
0
-3
-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
-4
0
0
0
0
0
0
0
-11
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
25
0
0
16
0
0
0
0
0
-15
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
-10
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
14
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
43
28
14
1
-20
-23
-35
17
-17
4
-8
2
21
0
35
0
-14
4
-2
10
0
-4
-4
0
-7
3
12
0
0
0
0
0
-12
0
-9
0
13
0
50
0
60
0
10
0
0
0
0
0
-1
0
12
0
46
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-14
-25
0
53
113
85
98
101
0
0
0
0
0
0
0
6
33
-15
74
8
-4
2
10
10
1
1
3
0
0
34
50
27
4
-1
-19
-17
50
-14
0
0
0
3
-33
0
0
0
-5
-8
-15
-2
0
6
-1
-13
0
-1
-5
-1
-8
-4
-3
5
-1
0
1
1
1
0
-1
0
0
6
4
0
0
0
3
0
-1
0
-3
-4
-37
-1
0
-1
10
-38
-17
0
-25
22
-9
-85
-51
-31
119
-31
-36
0
-19
9
-24
-162
-135
-18
-10
-4
-37
10
-1
35
-2
-29
0
49
-11
-3
-30
1
20
24
2
-19
12
21
1
0
-9
0
27
122
-1
-5
9
28
54
4
1
32
27
-21
6
14
0
68
36
15
4
31
26
51
5
7
33
32
42
1
0
0
0
0
-4
0
0
0
-1
-1
-1
-1
0
0
3
2
0
0
11
1
0
1
0
-1
2
1
-1
1
6
1
5
0
7
-3
4
1
6
0
13
-1
2
1
2
-11
-253
-1
0
0
-53
-145
-62
-2
0
-68
-104
-191
-96
-71
-18
-73
-44
0
-59
1
-82
-232
-88
-185
-35
-72
-48
-43
-40
-19
-6
0
0
-3
34
-7
-23
0
-7
-13
-2
-8
-11
9
-9
8
12
0
2
35
15
3
3
27
-24
9
12
10
63
56
17
14
0
51
-11
34
14
32
83
55
10
23
55
50
96
-15
0
0
0
-59
6
0
0
0
4
5
-35
-57
4
-5
-12
24
0
19
86
20
30
41
32
16
12
0
16
31
61
99
205
0
86
-36
58
48
90
89
-11
8
118
158
183
14
-82
0
0
0
-2
15
-1
0
0
82
-32
-24
-22
-26
33
-65
-34
0
0
30
13
-2
-6
6
-17
-16
-65
-63
-74
-28
-6
57
0
-79
9
5
3
-4
-84
90
-19
-27
-64
-1
38
-53
-36
0
14
-5
12
-12
22
-114
-16
-30
-2
-6
22
-35
13
53
0
21
0
40
8
0
39
1
34
37
61
-22
-2
-18
-3
-4
0
2
3
5
18
23
2
8
2
-1
2
-7
-5
-3
-4
-29
23
-11
-34
63
-57
-35
-10
-4
0
-125
3
-35
-41
-73
-24
-2
11
0
0
0
-10
17
67
-40
7
-2
-1
-64
9
2
4
-3
-1
0
18
-3
-4
-48
10
-13
-52
-13
4
-19
16
-4
8
14
-2
0
-8
18
-38
9
-1
-10
0
0
3
23
-21
32
16
9
-5
-1
0
2
10
21
0
-6
19
-1
0
0
0
0
-15
-6
-2
-22
0
41
0
7
2
-14
-8
-1
3
2
-18
1
3
-13
28
-20
18
12
-37
0
-3
-15
-31
-25
-37
-9
2
-6
0
0
0
-3
-15
74
22
6
-1
0
0
0
0
-18
75
5
43
1
-69
0
0
0
0
0
0
0
0
0
0
-120
-55
4
127
215
-72
18
-34
136
210
-43
15
31
98
157
-129
-37
36
81
147
-68
-50
0
29
34
-58
-29
-19
-28
-31
0
0
0
0
0
-196
-94
-4
3
8
-9
-9
-11
2
7
-75
-30
6
40
48
-83
-9
6
16
49
-105
-37
-8
8
27
-2
-24
-11
-2
-10
-24
-11
-27
-17
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
-29
6
58
102
88
14
0
0
-150
1
2
50
89
15
0
0
0
-100
-54
10
51
107
24
0
0
0
-115
-27
-5
39
64
69
0
0
0
-31
-20
-32
-18
3
-5
-31
-33
-69
-18
-23
-26
-23
-36
-33
-31
-48
-68
53
38
20
6
2
5
0
0
0
-78
-61
7
12
59
10
-2
1
-33
0
23
26
19
1
-2
-6
-10
-51
0
-86
-76
25
-10
-5
-26
-24
-4
0
0
-82
-21
-2
16
-6
-38
-14
-38
-30
2
16
17
7
2
-1
-59
-1
41
46
-19
-8
0
-8
-16
-32
32
-21
-6
-7
-10
-10
-3
-27
-23
0
-25
-60
-5
-26
-4
3
0
-38
-60
-53
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
5
-15
-34
-2
-19
-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
53
2
5
-33
-28
-21
4
-103
37
-46
-85
-53
1
-21
-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
7
-24
61
46
3
18
-31
-17
24
-41
-78
8
-11
-18
0
12
50
-57
-48
-80
-29
-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
6
8
-2
14
7
2
-13
-22
-9
-4
-39
-16
8
-4
10
5
2
-45
14
-19
7
-9
-25
19
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
-1
5
-31
-7
-3
-14
-9
-5
-20
-14
-4
-23
-5
-9
-3
-2
2
0
-3
5
4
33
10
29
0
27
8
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
-20
-3
-10
-18
-5
-11
0
-4
-7
-1
-3
1
1
2
11
14
4
8
10
-12
-2
12
28
5
57
41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-31
-4
-4
2
1
-3
-1
0
-1
-1
2
-1
2
-2
1
13
20
23
26
35
21
39
20
13
34
71
2
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
-27
-42
3
-24
2
-18
0
10
-2
6
0
3
0
8
10
8
16
24
16
11
17
25
29
34
46
84
57
119
-22
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
24
-51
-11
-53
13
-16
4
0
-1
3
-4
0
2
7
7
12
13
15
17
13
9
13
17
5
19
41
32
17
-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
2
-2
20
-42
-46
-6
4
-4
13
2
5
3
6
-2
10
-2
-1
5
1
7
-3
-22
-1
54
63
-14
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
0
1
1
0
20
-21
-36
-41
5
2
8
5
6
-1
2
-9
-2
-9
-2
-19
-60
5
-26
-52
-8
-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
2
6
-36
16
17
3
-1
9
-1
-1
2
-15
-9
-23
-35
-45
-28
-4
67
35
-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
-11
-37
-2
-40
-7
-15
-93
-53
-39
-67
-47
-17
-53
-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
19
-20
-5
75
-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
18
15
-20
-9
-8
1
14
-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
26
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
20
6
-14
-24
-16
-15
95
-25
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
-33
7
10
-5
0
-43
3
-2
-2
19
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
14
-17
5
-1
7
-11
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
-10
-8
3
14
-16
-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
-13
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
17
-8
21
5
0
-8
-6
8
-9
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
-1
13
-6
9
-26
16
18
32
15
-25
3
-15
-11
-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
14
5
-16
7
6
-11
-1
-11
-14
33
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
-26
6
-10
3
20
14
-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
9
-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
10
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-15
0
5
4
-11
-2
-9
16
27
-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
-11
20
-3
-14
13
-21
-20
-1
-7
-27
-22
-18
23
-8
-10
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
32
-16
43
46
-29
-3
-20
2
43
-13
48
15
10
34
-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
-14
-8
6
-27
-8
-3
26
-2
3
-2
5
-10
-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
-14
-2
-14
5
9
-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
-10
0
3
4
-13
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
20
5
-7
9
-4
-20
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
23
33
5
-33
-11
11
0
20
18
-26
3
18
-20
-3
13
-13
-20
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
13
-5
19
24
14
-26
2
33
-2
17
24
17
15
7
2
-15
-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
10
6
9
-20
-8
7
-5
40
-3
-15
-15
-13
-25
9
33
-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
10
-15
5
3
0
34
2
53
-21
36
-8
-5
-20
-9
-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
-25
5
14
-1
7
-2
18
14
-10
-1
15
-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
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
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
18
11
-11
6
-8
4
8
6
-15
-4
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
21
-24
-19
8
-14
-13
-8
-29
-8
17
23
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
-25
-3
11
-37
-30
-41
-31
-28
-10
48
7
-8
11
-39
13
34
-54
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
11
-121
-35
54
-24
-2
13
-45
-45
-84
16
-33
14
36
33
22
-27
-1
-26
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
-1
-2
-26
-3
3
-3
68
-26
-33
-45
37
-9
-7
33
-15
-23
3
-63
13
-35
-13
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-45
58
-39
-32
-11
-41
31
23
-86
-47
-21
4
53
-8
5
38
24
33
-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
2
0
18
-5
41
12
-42
-23
-34
-33
-42
-88
16
42
-15
-30
4
12
86
-8
-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
16
-25
-47
7
14
94
-17
4
13
-69
-2
-14
-6
-4
21
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
3
-5
22
4
35
-20
-1
-6
-25
-8
-16
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-4
7
-7
2
8
10
23
20
-22
-13
10
-2
-15
-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
-10
54
-35
31
28
-34
11
0
8
-30
46
22
-8
31
21
-11
22
-14
-11
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
44
10
-28
-6
44
-30
-6
-32
-11
-31
28
23
-9
-11
14
14
2
47
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
17
-47
-40
38
61
-13
-30
-28
20
-65
37
10
-36
-21
3
0
16
-16
24
24
54
9
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
0
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
6
33
17
28
16
-14
62
-42
-44
71
8
5
38
24
53
38
52
63
-9
37
54
60
0
62
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
35
23
-11
71
22
57
18
28
92
62
24
7
32
3
24
10
4
38
2
3
59
5
87
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
-25
-30
-23
-62
60
-32
25
9
17
56
27
-16
44
-20
3
25
18
-32
51
20
7
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-14
-7
-9
2
-25
0
12
23
24
18
24
27
53
1
23
-1
55
16
-26
11
49
-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
15
-8
-23
-47
-55
31
-52
11
1
11
15
-8
17
1
-16
-59
33
9
-58
15
-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
39
9
-46
2
-64
-7
-7
-6
-39
49
-62
-18
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
18
-5
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
33
-43
-11
-9
-56
-25
-15
-105
-46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
13
-48
-48
-61
-87
-19
-87
-30
-17
15
-43
-43
-40
-73
-20
-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
-1
-35
-3
5
-49
-47
-51
-42
-30
-146
-77
-70
-48
-25
-36
11
18
-5
3
30
0
-24
14
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
33
5
-25
-15
-104
-55
-110
-47
-47
-66
-25
-14
-20
0
5
14
-6
12
-8
3
-4
-20
4
-18
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-55
15
20
-46
-30
-49
-17
5
-32
-34
-10
-2
-1
8
5
8
11
11
19
18
42
-13
-7
10
40
25
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
3
-68
-21
-40
-32
-19
-5
-36
-6
-11
10
2
0
4
17
12
10
17
23
10
16
6
-6
29
59
23
-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
-46
-62
-11
1
-26
-16
-10
-9
3
1
9
8
0
14
9
14
3
16
21
21
20
21
15
-16
20
6
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
-36
35
-82
31
-6
10
4
3
4
7
0
5
11
12
7
10
17
14
12
9
1
11
40
28
20
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-100
19
1
13
11
2
6
-1
-7
-2
4
-3
10
9
-5
-1
-21
-18
10
32
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
65
-8
27
48
12
15
14
-2
-4
-6
0
-9
-1
-13
-10
12
-55
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-6
2
-4
-5
-4
-3
-6
-1
-29
-22
-26
31
-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
-15
-15
-37
-30
-25
4
1
-26
-30
-2
-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
-26
-5
-25
5
-11
-21
-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
17
54
12
-4
-54
5
28
23
-46
71
-22
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
6
-24
59
66
53
-22
-39
-2
46
-40
-30
-9
103
32
15
3
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
5
14
4
-32
-15
-5
7
15
-5
-23
-13
11
15
23
40
20
43
-30
-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
-1
5
-21
-62
-12
-15
-14
-11
-1
2
-17
-14
1
1
6
6
7
-19
-35
59
14
75
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
7
-15
-28
-5
-7
-11
-7
-3
-2
4
13
9
3
14
-9
-10
-5
83
-2
-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
-11
-15
-2
-33
-6
0
-2
2
2
3
5
-2
2
11
10
12
4
11
-37
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-9
-6
12
12
-13
-3
-5
5
5
4
3
5
8
11
4
-41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62
8
-16
41
-55
15
-55
-70
-56
23
-45
23
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-11
-5
-2
-12
-7
-5
-37
-25
-15
-8
0
2
1
15
14
7
-7
-49
-24
-17
-17
-10
-1
-5
-9
-54
-35
-17
-19
-8
1
-1
-36
-75
-54
-39
-27
-16
-9
2
16
27
28
40
55
51
109
4
-6
0
0
25
-34
-26
-21
-2
-1
15
2
7
1
6
-8
-12
-67
-9
0
0
0
-17
-7
8
16
-11
-32
-44
-12
8
0
3
9
0
-10
5
0
0
0
0
-30
-5
2
3
-2
5
-9
5
8
-53
-57
-33
20
-7
-17
-9
-13
-4
-19
-7
3
3
0
-5
0
-11
14
19
29
48
93
-11
36
-12
-4
-3
1
6
-2
-6
-8
0
0
-4
-17
14
-5
-12
-21
66
15
21
6
7
1
-1
-5
-4
8
-2
19
19
-19
-36
81
-9
32
34
14
7
11
2
-3
-21
6
0
2
-5
-3
-89
-9
61
41
49
38
8
5
8
-1
-4
-11
-5
0
0
3
-13
-6
-31
15
48
26
50
11
17
3
4
-17
-3
0
0
0
0
8
8
18
-34
33
59
27
27
40
36
-6
-10
-20
-3
0
0
0
-2
-1
-1
4
-5
7
73
71
12
56
-42
-25
-35
61
-3
-21
5
-7
21
35
29
-7
0
-155
-20
-16
-6
-7
4
4
12
-18
-1
14
-31
54
12
26
28
0
-66
-28
-3
1
5
2
8
-5
-5
6
20
-4
-13
-5
48
-1
-20
-72
-10
2
-1
-3
1
0
-2
-3
35
3
-15
-22
-60
38
-27
-9
109
0
4
6
11
7
1
4
-6
-14
33
-3
-2
41
33
-4
-1
16
-9
4
7
9
-1
-1
7
-14
-14
16
-14
-15
-7
39
26
30
-10
32
20
16
11
-5
4
-15
-7
-36
2
-28
-3
-10
2
19
45
57
-5
8
-3
10
-13
-8
5
0
-24
-2
21
-14
8
-10
8
29
29
-9
-14
16
0
-1
-10
16
0
2
0
-4
4
10
23
-19
63
32
-53
50
6
31
1
-6
9
35
-4
15
-24
-4
-33
-3
0
0
0
-63
42
53
-10
77
2
-70
31
-52
-68
-67
4
-49
66
9
-15
6
14
-13
-36
-30
-23
5
3
4
24
-45
-2
-109
-62
59
-14
-32
-25
-19
-11
61
31
-32
20
-53
60
27
13
42
-46
-62
82
-40
17
52
21
20
24
40
-9
-16
40
-20
60
79
50
93
50
-6
14
43
45
21
-36
-7
2
21
30
-4
-3
17
-15
57
-23
-23
5
18
12
46
13
13
-6
-37
57
-34
-8
5
94
5
20
-62
28
40
74
0
-2
7
10
-4
-6
-27
17
9
4
26
74
24
66
63
35
29
9
-20
-4
22
2
-14
18
14
40
0
4
21
-2
16
14
-43
-50
-13
-3
46
-41
21
85
-53
71
97
59
-8
47
-88
-44
-2
-5
16
0
-28
26
20
-34
9
-11
-53
-29
20
-14
3
-40
-16
-5
-14
38
0
9
-24
-10
-13
-42
7
25
49
23
25
-45
32
-101
53
-28
27
11
53
-5
-17
6
6
61
-16
-11
38
3
-53
-25
15
-31
7
11
20
3
-2
-5
-11
17
-15
15
-12
1
-40
14
-52
3
-33
-22
27
33
9
-6
48
34
41
-6
38
-14
-8
20
24
21
33
-5
50
47
38
-13
-11
-30
-8
-4
20
-12
59
-33
-23
-14
68
51
-22
6
40
48
11
86
33
6
-22
-42
-14
-24
6
-6
-63
-40
2
10
23
24
34
42
22
23
-32
11
31
41
10
11
-4
4
-8
31
13
-20
-5
67
-3
49
34
63
42
12
-26
14
-10
28
12
-6
9
17
-4
-14
0
16
-25
-30
-39
-1
-33
-1
0
40
59
-12
2
4
0
8
18
6
-4
6
32
48
-30
-9
1
0
26
19
19
12
2
-5
0
7
6
11
-13
-72
41
10
5
-5
3
39
29
2
10
1
4
2
-7
-3
0
-30
16
59
-18
-24
1
0
-1
58
25
13
7
4
-1
-5
-3
-10
14
-26
-13
-16
3
0
0
-6
45
28
25
15
5
3
0
-3
-22
-25
-14
-18
50
1
0
0
46
55
33
12
19
4
2
-4
-4
-12
-13
24
-14
-30
10
1
0
110
-3
10
33
54
15
-2
-1
-21
30
-45
2
3
-3
-10
0
0
27
149
-8
74
-93
2
-4
6
16
-45
54
-5
-13
0
1
0
0
46
-11
31
-4
3
-7
-8
0
0
6
-2
90
-7
5
54
-15
0
20
8
71
-5
-1
-1
-7
0
-1
2
0
35
-25
19
76
-7
-1
71
18
5
22
4
6
-4
1
2
12
-2
23
18
-37
49
-1
0
47
-18
9
-12
-16
3
2
-1
-1
5
-1
-12
-1
33
18
-9
-1
35
-22
37
-7
10
2
9
1
-3
1
-10
6
-12
27
15
-44
0
33
21
26
9
-22
8
12
3
1
7
-5
8
31
31
-46
-33
0
58
-13
10
-22
-6
8
2
1
0
-7
-13
32
6
-17
-19
-20
0
-10
-21
-57
69
13
16
3
-3
-2
-27
27
-29
35
0
-17
-2
0
71
-5
-3
49
0
-8
-22
-4
-13
25
-2
19
1
0
0
0
0
55
65
-17
35
4
29
37
-4
0
50
33
31
11
41
29
17
0
108
16
11
-57
0
-1
31
12
18
-11
-21
-54
-23
53
-12
-3
-5
-32
42
42
-4
-13
-9
-78
14
23
37
35
13
1
17
-3
-17
1
79
52
-6
10
14
-29
24
5
-8
-48
7
5
-19
-6
14
5
-1
-28
-8
35
28
-29
1
-15
3
21
26
28
-16
-5
-8
2
4
3
27
20
23
25
46
6
-18
-22
-25
26
92
23
14
25
0
0
0
77
59
24
6
4
17
-9
-27
-4
-8
-28
-24
12
9
0
0
0
36
17
36
10
-8
-16
-29
-14
16
-32
0
-11
-12
-1
0
-1
0
1
61
-20
17
33
55
-60
-96
-23
38
33
26
-3
-3
2
0
0
73
43
57
21
38
16
3
-75
0
-3
78
-30
30
-5
0
2
0
53
-8
6
52
10
-17
30
23
5
-13
71
1
68
33
-4
3
0
44
6
-18
-13
16
30
-27
19
65
-16
42
30
79
3
-2
3
0
1
-14
5
-3
42
-13
-13
-16
5
14
-2
-7
5
-4
-1
4
0
-7
-5
-12
42
-10
45
37
-9
-14
14
27
30
1
6
-4
4
0
25
22
-1
30
16
-28
-9
39
-16
56
6
16
-5
10
0
2
0
26
58
-9
-8
11
-8
-40
-31
53
-10
-9
7
5
5
0
2
0
-4
15
44
7
36
-17
-19
58
-24
-53
40
18
2
4
-2
0
0
-15
14
51
14
-72
16
4
-24
21
-69
5
1
0
1
5
0
0
0
0
5
14
25
9
87
-19
0
84
26
9
-1
15
-1
-4
4
-3
-1
5
18
2
-76
-86
0
-9
7
4
2
1
3
1
-6
2
0
-2
10
51
-74
3
-58
33
48
13
5
0
3
10
13
-7
-4
0
5
14
-21
39
-33
-40
-7
38
25
11
5
16
12
12
8
2
0
5
-6
-12
-17
20
-20
-20
-16
1
17
-4
8
19
5
7
2
0
-5
11
-28
51
-7
-31
7
1
-23
7
14
-14
7
2
-6
16
1
20
-5
19
-5
42
38
23
20
7
4
1
-5
-15
16
-17
2
1
1
24
-10
-18
16
-27
45
-7
18
-7
6
-5
-15
32
-20
81
0
-1
0
-2
-3
-35
25
44
-75
8
-4
-20
-11
-28
37
31
0
0
-18
-15
34
-14
4
-112
-7
0
-10
-6
-4
-1
-12
-10
-14
8
1
6
-30
17
12
15
36
18
75
0
19
-9
-1
0
-5
-4
25
3
-19
-2
-11
-43
58
-15
21
54
5
-16
-8
1
13
6
-5
-3
5
-5
-5
-6
-4
41
-11
37
-8
-20
23
11
-5
5
3
-5
-11
0
19
18
-21
-17
4
-10
11
-4
41
14
11
10
-3
7
-9
6
1
-1
17
3
-19
23
67
27
-12
-24
3
10
4
11
3
-7
24
0
0
-2
-31
52
4
-10
6
-19
7
3
26
-11
-3
-5
20
5
0
0
0
-3
0
17
31
10
-73
24
87
11
-11
-7
-18
8
-75
0
0
0
0
1
1
39
-7
14
24
-39
30
-40
-33
1
-14
-30
-1
-5
34
-53
20
-29
32
13
0
-7
21
8
24
20
31
-22
47
-4
27
-32
-63
-32
-107
71
0
26
11
3
-6
18
-1
17
-25
61
8
-47
-14
-8
-33
7
-18
23
56
0
-5
6
12
19
13
5
7
8
31
-1
-84
33
76
-29
66
6
16
19
16
24
22
28
-14
27
-2
-4
-4
-11
25
-105
-70
13
41
29
25
0
12
20
63
75
-15
20
-18
-11
-79
-30
54
7
7
4
36
30
38
45
15
16
-28
22
-61
-14
-14
31
-55
-116
-29
60
4
31
48
-33
0
23
55
-46
-73
-15
-5
0
-23
26
-25
32
18
1
14
27
53
-31
82
-60
28
71
-1
-25
-30
-53
3
21
8
-49
17
65
40
-22
-63
85
-5
3
0
9
35
-31
-29
6
59
-26
13
0
11
38
-5
4
31
47
21
11
1
-4
-8
-41
-20
-119
-12
14
61
0
33
-38
25
16
34
7
46
-14
11
38
-14
-38
-1
14
-5
22
36
-3
-31
-12
8
32
-4
5
-18
2
47
39
51
47
-27
56
84
45
38
-3
-38
27
18
-5
30
-9
-111
41
-5
-100
-11
3
21
1
18
9
8
28
-12
14
40
-58
0
6
-39
-21
53
59
-13
32
18
48
12
33
19
3
28
21
-39
-1
1
0
-25
59
49
17
-9
34
25
55
-12
-13
-5
-13
-11
24
0
-4
35
14
36
56
42
35
-11
50
4
-13
12
-12
31
-22
-59
0
0
-7
9
-45
-16
30
-43
62
-15
-8
-28
-81
-4
17
-109
-33
-35
13
-17
-17
5
3
-4
9
0
1
30
-27
-28
1
-2
-2
0
-6
42
-18
-12
-3
0
0
-5
6
-6
14
14
12
2
0
-17
0
-15
-14
14
8
0
2
0
15
1
-3
13
-7
-37
14
-16
-3
0
17
12
18
7
2
4
13
12
3
-2
-2
-28
-6
-11
11
0
0
16
24
25
16
-3
10
3
13
-5
1
-20
-37
-24
1
0
-1
0
17
44
29
0
10
2
10
1
7
-10
0
5
-22
-1
-4
0
0
-15
-12
23
17
4
3
7
18
-4
-21
25
-73
-8
-4
-1
1
0
11
-57
-16
15
-9
-4
-7
9
39
-18
-112
-8
-9
-2
1
0
0
-33
-76
-5
3
6
-7
17
8
14
-32
-1
0
0
0
0
0
0
-2
32
-16
-3
4
1
18
10
0
0
-6
12
12
-53
21
-1
0
-12
13
-23
-7
6
4
5
2
2
-28
-18
-62
23
-5
1
0
1
45
22
-14
-7
-4
17
8
5
3
3
-12
60
-55
-28
1
1
0
-5
2
-1
-3
-1
-2
19
10
10
1
-24
-66
14
-17
-23
-2
0
-24
-15
-10
-12
4
28
16
12
0
20
-8
-12
-23
-4
-33
9
0
-39
19
1
33
34
11
34
23
3
6
8
18
58
-5
-18
-10
0
-14
-28
-22
-32
-21
19
13
4
2
-18
-6
-23
-3
-9
-2
-2
0
0
-9
-61
-1
-23
28
43
-1
18
-13
62
14
-5
-8
2
0
-2
0
-56
-3
163
6
14
43
15
17
1
65
-5
0
0
0
0
0
-65
38
22
15
-9
-9
19
57
0
-43
33
10
-9
1
0
0
0
13
1
18
7
-1
4
-4
-9
22
35
-13
20
-29
-43
1
-3
1
-2
15
7
58
14
-4
-17
29
-19
-10
22
-23
-9
-13
1
3
0
-16
17
11
8
4
-12
52
37
17
15
-25
-53
55
0
-2
1
0
16
8
8
17
31
25
-9
31
0
7
9
-6
-35
-3
1
0
0
-19
3
6
27
-2
10
27
30
8
-16
-41
-14
4
4
0
0
0
23
-8
-28
12
36
-21
29
45
49
-49
-53
14
5
0
0
0
0
77
-31
9
9
-19
1
55
39
27
-5
-9
0
0
0
0
0
0
41
-26
4
-15
8
5
-83
-2
-5
10
2
0
0
0
0
0
0
57
34
33
0
1
7
37
17
0
-1
18
1
2
-33
-15
0
0
114
19
54
35
-4
-8
-11
13
18
-42
-48
76
57
66
-15
0
0
17
-40
38
40
11
24
7
5
10
-17
14
-52
42
-3
31
0
0
19
22
15
29
-17
1
44
38
35
27
-31
-16
-4
5
6
0
0
59
-14
17
31
33
21
22
-1
45
-5
-2
-94
18
11
-6
7
0
-5
28
7
17
28
56
28
11
13
-20
35
-25
-22
54
14
23
0
-34
36
21
51
39
42
15
29
14
14
-64
73
-20
-68
58
16
-1
8
30
-8
91
41
-10
-12
-28
40
8
32
29
-25
-18
-31
12
0
0
6
74
-1
-34
22
55
-31
-28
90
74
-7
1
2
-5
-1
0
0
-87
102
116
43
-9
-3
-15
-11
-33
-34
-15
-23
-24
-3
-13
4
-6
-20
-65
-6
-4
26
5
5
4
3
-42
-28
-5
6
-21
13
11
2
5
-46
-47
-4
-2
29
-34
15
-3
5
-60
-12
-15
25
-10
14
-6
-1
5
-31
0
-40
-52
25
1
-6
-4
20
-60
-41
-23
-11
-32
-52
-1
-1
40
-11
12
-6
-15
-21
8
-25
10
36
-23
13
-14
5
-9
-12
-5
32
35
49
7
13
42
19
18
0
-17
-11
27
48
-14
-11
14
-15
-16
-12
0
-25
39
29
40
-2
-19
-19
-1
-4
31
19
28
-10
24
9
-5
1
2
1
35
11
-1
2
25
8
3
13
71
-11
8
24
-21
12
4
6
2
47
20
13
-14
-15
-28
13
4
18
-3
-3
5
5
-24
3
-25
12
31
21
-19
38
-7
2
-11
-5
-23
35
-23
1
-21
-16
-2
-1
0
26
15
95
71
33
14
0
0
0
0
0
0
4
28
21
-3
5
-4
-12
-27
11
-1
-40
-36
0
0
11
25
24
-19
6
-41
-17
-8
-41
0
0
0
-4
-10
0
0
0
-2
-1
-3
-4
1
1
4
-5
0
0
-2
3
-6
1
0
0
4
2
0
0
1
3
5
0
3
8
7
8
3
3
7
3
6
5
2
-5
-53
-144
0
-22
-4
-84
-207
-93
-131
7
-10
-17
-22
1
-6
-46
-192
0
-81
8
-26
-188
-116
-86
12
-8
-15
-16
2
5
0
-106
0
-13
47
-3
-64
-10
-10
19
1
-1
-7
6
20
6
-46
0
16
38
-2
-14
1
5
31
1
14
22
14
12
20
26
0
29
-44
8
11
42
28
63
9
22
25
18
106
4
0
-2
0
3
-6
0
0
0
0
-2
-10
1
2
1
11
5
1
2
11
3
8
7
5
15
4
3
2
5
-2
9
7
2
15
37
6
5
10
14
28
3
5
7
7
13
-222
-132
0
-69
-101
-187
-448
-177
-55
19
-46
-36
-113
-41
23
-83
-248
0
-275
-20
-66
-293
-242
-302
-20
-32
-53
-69
-49
-18
12
-31
0
-32
25
5
-64
-45
-59
36
12
1
6
10
10
71
47
0
74
95
54
17
24
64
107
18
43
81
82
38
67
110
0
152
-21
74
45
71
115
46
44
70
59
83
218
-53
0
0
0
-36
-16
0
0
0
-25
-17
-47
-40
-31
-15
-31
-11
0
-1
14
0
-7
-2
-14
-39
-21
-28
17
-26
-43
46
105
0
-40
-4
-19
-11
56
12
-3
1
-21
13
13
12
-79
-76
0
5
-94
-14
-24
31
-11
-6
2
-61
-43
-54
2
-91
-43
0
-45
-46
-33
-21
-140
-47
-29
-19
-62
-50
-58
-25
-100
5
0
-19
-69
-64
-20
-14
-63
-26
-41
-60
-38
-53
-14
-70
-10
0
49
-83
-60
-39
-49
-34
-77
-44
-37
-64
-21
23
-41
-140
0
57
0
-6
-24
9
10
-2
-16
-2
58
-50
-5
-10
-2
-5
-2
0
2
1
7
25
-5
-5
0
0
-4
2
5
3
17
-24
-9
35
7
-1
-19
6
3
-8
0
-10
6
10
-12
-5
11
16
13
0
0
0
-56
42
-35
-13
-4
21
7
-126
0
2
-13
-11
-16
0
25
-9
-10
-17
21
30
31
-17
-19
3
-30
-8
13
-5
-18
0
29
32
3
-8
0
-36
87
16
-18
-52
-23
7
3
-6
-20
49
-22
-2
8
14
-9
-8
11
-8
-2
-19
14
-23
-26
10
-18
-13
6
15
8
-5
2
-14
-1
-2
2
-2
-56
-13
8
-13
10
-5
-9
33
5
-14
-42
-54
-12
-35
-42
-8
-2
-15
-7
-27
-42
-65
-80
21
-30
-3
1
-5
51
-15
-20
-91
-24
5
13
-20
-53
0
0
0
0
0
0
0
0
0
0
-83
-101
-57
39
123
-100
-54
-27
75
94
-89
-61
-36
19
77
-132
-70
-58
29
105
-51
-55
-24
-9
-6
-22
-23
-36
-33
-47
0
0
0
0
0
-84
-48
-13
4
13
-6
-1
0
3
6
-56
-16
-16
14
34
-55
-8
-11
3
13
-38
-31
-10
2
6
-31
-35
-10
-7
-23
-12
-9
-26
-24
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
-56
6
50
73
101
50
0
0
-94
-41
-7
19
83
8
0
0
0
-114
-51
5
39
42
3
0
0
0
-111
-64
-13
23
26
44
0
0
0
-39
-41
-28
-21
-24
-30
-98
-68
-92
-17
-12
-26
-54
-52
-60
-76
-63
-87
25
11
16
9
6
5
-1
0
0
-130
-109
-38
-24
-8
-11
-2
-5
-2
0
12
13
11
-8
-6
17
5
-7
0
-117
-61
-15
-6
-4
-18
-35
-14
0
0
-89
-11
8
-2
-9
-15
-16
-92
-46
-27
-13
-5
-6
-3
-1
-33
-21
-15
-7
-21
-20
-15
-26
-39
-48
17
-13
3
-48
-32
-25
-43
-20
-28
0
-20
-31
-27
-9
0
1
7
8
-14
13
-12
-59
-162
-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
-28
0
-99
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-16
14
-75
-42
11
-49
-70
-39
-103
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
18
15
-53
-16
-17
-78
-23
-47
-65
-36
-22
-70
1
-82
-22
-88
-70
-76
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
5
-48
6
-9
-28
-24
-35
-5
-14
-13
-43
-53
-23
-10
-41
10
-6
-35
44
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-4
8
11
4
7
-20
3
-8
9
-5
-17
4
-16
-12
-37
-27
-24
-35
-62
15
-54
131
51
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
-1
35
26
35
33
21
21
8
28
-5
-1
-5
-22
-8
-11
-9
1
-4
-18
-16
14
-12
9
3
42
-13
88
40
53
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
71
8
40
6
56
11
2
-8
5
1
8
2
12
2
15
3
0
18
2
-9
16
22
-4
-38
32
28
103
-44
-13
57
74
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
-6
-18
58
65
30
3
0
28
9
8
28
15
15
18
19
15
3
9
10
21
11
49
28
15
-1
17
-18
0
30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
50
75
-1
6
7
-10
6
11
15
11
26
29
24
37
26
46
50
31
63
20
30
74
99
95
6
91
51
39
-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
2
0
29
158
-4
-21
76
-3
48
31
12
19
25
45
50
46
19
31
28
31
5
47
41
71
-6
72
29
-33
78
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
7
31
43
72
-29
26
48
9
32
43
63
61
32
23
45
56
22
-22
47
52
126
55
60
39
63
15
40
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
6
8
43
-54
22
70
6
8
47
45
23
53
56
63
48
-9
60
63
122
56
83
24
-67
-53
-21
-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
9
4
15
8
97
-45
2
30
119
45
59
51
24
87
68
175
49
43
-40
38
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
-3
5
4
28
4
-33
-33
23
63
46
22
16
-17
13
-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
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-25
17
-35
-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
2
-4
-24
-6
-47
-119
-62
26
-61
14
50
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
46
62
-73
11
46
50
-85
-100
104
36
55
15
64
-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
1
-58
170
49
90
8
19
42
23
-75
113
177
5
11
33
-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
-1
-24
-36
149
14
-12
41
-27
-49
-77
-20
54
49
86
-57
-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
1
42
-32
-4
-10
-23
-51
57
-11
16
14
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
1
1
-9
-23
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-47
-146
5
-2
3
-87
-36
-41
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
-2
1
104
1
-6
-87
13
67
49
42
35
-21
23
55
64
36
-5
34
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
-2
-1
71
10
53
65
55
50
66
87
-4
58
56
92
-101
77
21
61
-19
51
-27
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
1
-10
2
-23
-2
64
0
-101
-49
7
101
-27
-103
-11
22
33
-98
109
-60
-35
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
-43
81
28
-34
-6
27
25
74
65
-11
92
63
-15
-75
-48
-77
15
70
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
3
-4
-45
105
26
-55
-57
-48
-59
26
56
-18
-1
-18
-6
-36
-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
23
0
-7
-10
36
19
18
-27
-31
-2
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-2
-9
-20
4
1
30
-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
27
17
43
-11
49
-71
67
-14
-68
-71
34
-33
-19
-5
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
-1
-1
-39
-46
-37
-33
108
31
3
7
46
-52
-7
-74
-47
-88
-78
-53
-6
7
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
-3
5
-36
-81
-19
23
-4
-98
142
-107
71
-13
58
80
-33
81
33
-9
3
15
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
-2
-8
64
14
99
28
31
6
-16
52
28
45
-14
-30
17
90
-34
83
-22
24
23
-8
-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
-18
77
96
-59
24
20
-45
31
-45
-59
-31
51
81
38
89
-25
-3
1
-17
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
50
-44
50
-21
-30
48
-50
-52
32
-63
113
28
5
-20
4
5
-14
37
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
-10
-5
52
24
-51
-62
19
37
-14
-32
3
-5
-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
1
3
1
2
8
1
-7
31
-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
-17
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
-20
76
10
-34
50
-16
-5
27
-14
-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
32
-7
2
-23
-11
19
-42
-69
16
-40
-91
-34
-48
-57
5
27
14
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
10
3
-4
26
-59
63
-139
0
20
-9
6
27
-73
18
62
-19
-10
-25
-9
53
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
-21
3
-42
-39
72
-23
-48
-19
0
-53
20
-121
-19
119
83
-88
2
0
-53
-33
-27
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
1
2
-9
-33
-14
7
-46
-36
-53
86
72
34
-23
-17
15
4
8
32
-5
53
-45
-47
-29
9
-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
-42
53
-2
25
71
42
-129
77
87
88
13
-14
-8
-11
61
11
19
-7
23
7
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
1
4
0
-3
13
6
-1
-23
-29
-39
53
45
1
39
-62
16
-7
-59
3
-20
-25
64
75
-25
-19
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-20
46
0
80
15
131
5
10
-128
-5
61
-63
10
-2
-19
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-2
14
-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
-26
13
-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
-16
-43
33
-11
3
1
18
-11
-11
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
75
-10
-36
-38
-7
-53
6
-59
-22
24
-51
-4
11
16
11
-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
31
-75
-86
-16
33
79
-5
46
-50
15
-64
-14
-20
34
14
14
9
-14
-17
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
0
0
0
0
0
0
0
0
0
0
-24
11
11
29
-86
21
-20
-33
19
5
-100
33
-33
14
-66
-30
-79
-13
23
-39
-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
-6
33
53
-31
53
89
1
61
78
101
69
67
8
-2
-62
101
-37
13
-39
-23
90
114
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
-13
-4
97
-29
-28
68
6
120
70
-4
-26
-11
31
16
100
92
24
51
68
-76
-53
-80
-33
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
-35
32
18
45
83
-6
19
-9
-81
67
-9
-12
-15
13
-57
-36
-60
89
144
22
-25
-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
-56
73
-2
9
29
-16
105
-12
94
44
-63
-5
-23
72
33
-2
43
-53
36
52
-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
10
-29
6
0
-89
-6
-42
-8
24
6
22
60
-19
24
31
25
-3
-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
2
73
-29
48
38
30
-2
76
-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
21
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
-11
-35
-26
10
22
1
9
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
-25
-68
-13
-14
-94
-59
-91
-148
31
2
-68
1
18
-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
-71
-85
-69
-17
-17
55
-128
-82
14
26
54
-57
40
23
-16
-20
2
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
-7
9
-103
-1
-26
-61
-32
-57
-21
83
-14
-7
-25
-65
-17
-21
21
28
-46
-58
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
-6
-48
49
13
-3
-60
-81
-58
-38
-51
-21
3
-22
22
-121
-57
74
-34
-4
-18
-128
-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
-17
-41
46
13
-7
-50
-2
61
-46
-15
26
14
-53
-23
38
-30
18
-47
19
82
-138
-80
-86
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
4
-19
-26
-65
6
-66
-19
12
49
-4
-40
-36
33
-64
-20
57
-55
-43
-43
-45
23
32
-72
71
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
-5
45
-51
3
-18
-41
70
57
-40
-26
23
-4
-24
9
-51
-41
-30
3
23
-12
-24
118
103
-46
-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
-3
-1
10
-9
8
-12
-49
-5
-49
-90
25
-6
54
-2
7
-6
4
-80
9
2
7
63
-95
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
8
-35
28
87
14
23
11
40
18
19
-4
28
52
-88
54
5
-29
-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
-22
3
-28
-24
-10
5
60
-35
-49
-38
-44
-12
-7
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
2
0
0
9
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
-9
-5
8
-14
11
19
11
63
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
25
51
-10
-8
28
-10
58
47
15
-14
16
-10
-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
23
2
48
31
12
-69
-18
14
3
55
-25
-46
-10
38
-23
36
68
23
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
50
-44
52
2
16
44
6
36
-35
-17
-15
-32
33
8
112
37
80
54
-36
-29
-35
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
19
-44
-8
62
53
17
-37
-28
-16
7
-25
4
-14
12
15
-6
-46
-11
13
12
-44
27
72
41
82
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
119
8
52
7
27
17
-15
2
10
38
-4
37
9
16
11
-6
-36
23
35
31
106
93
67
-21
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
-7
25
-20
-58
7
45
34
-14
9
23
22
32
7
14
34
17
12
6
-7
5
25
-16
14
-23
42
-28
6
77
-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
1
0
-9
29
2
4
4
-3
-2
26
-17
91
44
-15
10
16
16
0
11
-4
32
37
31
43
4
-37
-23
55
109
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-5
64
-70
46
14
14
47
16
24
14
14
2
-7
44
42
17
-42
-41
-29
33
57
-5
14
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
-5
81
-16
52
53
5
37
1
29
5
10
36
48
-15
37
20
-7
65
-11
108
147
-8
-15
34
2
-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
4
0
1
35
-4
50
47
-11
32
24
-16
5
19
34
-12
26
13
30
53
57
40
11
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
27
5
8
24
-101
5
56
32
22
40
49
13
104
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
-1
-5
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
6
8
-22
23
18
22
-59
16
-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
-76
-45
50
-16
40
-45
1
-86
-78
-19
-1
-33
-57
-29
-55
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-74
-56
-16
-56
-15
10
-52
-39
-6
-6
-40
-49
-29
13
-99
-142
-158
-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
-20
-45
-34
-93
-47
-49
17
-17
-7
-7
-28
-28
-18
-18
-28
-2
-12
4
-27
6
-16
-17
33
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
-35
-27
74
30
-21
-44
-53
17
-17
-29
-1
2
1
8
-16
-13
5
3
-10
33
0
20
4
-41
-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
1
25
35
-71
-13
-30
-29
-14
2
-10
-6
-6
6
-2
-5
5
7
15
24
-2
2
71
47
4
71
-25
-3
-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
59
26
-42
-52
5
-5
-56
4
2
-12
13
-3
12
3
3
25
28
27
14
23
14
-15
31
43
-35
41
30
-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
-16
8
10
-18
20
50
7
22
-10
16
9
52
10
32
25
9
35
3
11
35
-51
19
9
26
94
40
-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
5
7
-71
-18
-7
-68
-33
-15
7
47
24
13
27
-5
50
18
36
43
53
16
56
89
21
-24
71
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
29
15
-35
2
15
51
40
35
5
4
44
33
0
-2
71
72
-4
64
46
12
62
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
-1
-5
-8
-28
-19
21
84
30
39
32
71
48
14
65
-50
-41
68
2
65
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
13
-28
40
174
-11
82
14
-30
9
10
31
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
14
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
11
23
79
-21
-35
-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
33
35
115
-28
-25
11
13
75
-21
24
30
16
19
21
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
4
14
-27
-21
16
12
22
-20
-34
-3
7
10
43
59
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
16
9
-12
4
-25
6
6
-11
0
-2
4
3
16
-20
102
17
-19
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
-1
44
118
21
31
20
21
24
-1
22
10
20
19
34
22
17
19
16
21
1
94
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
71
6
64
19
-24
24
-4
27
17
30
19
30
16
6
0
25
-7
41
53
76
29
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
46
52
43
25
15
41
15
2
12
29
-9
19
23
58
45
-30
5
69
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
53
100
53
-42
23
30
116
11
35
-24
20
12
-11
37
113
82
-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
9
-11
40
-19
65
-2
62
36
119
42
29
48
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-21
-14
-10
-2
14
21
-42
-64
-54
-37
-19
-5
4
2
15
-68
-46
-44
-39
-27
-12
-11
2
9
-22
-68
-41
-32
-21
-6
-15
-10
6
-134
-136
-102
-78
-57
-37
-29
-11
4
4
23
36
53
61
58
80
-4
0
-174
-91
-82
-57
-43
-34
-14
-10
-2
-7
-2
2
-15
7
-15
4
1
0
-5
0
-5
-5
4
-25
-36
-55
-12
-1
-46
-20
0
43
75
56
0
0
0
6
-18
-1
7
4
-23
-12
74
-18
-44
-1
27
76
16
-29
9
-36
-39
-20
1
-9
0
-26
-6
-73
-17
3
-103
-1
34
12
-23
22
25
-2
-12
0
-7
-11
-18
-20
37
26
2
-75
31
29
14
47
63
22
16
21
0
0
-24
-5
-16
-3
-16
60
31
-103
45
-35
57
45
15
24
17
4
-7
-1
-21
28
2
30
5
-42
-36
-9
-21
29
37
16
21
13
0
-6
-14
-13
-7
0
-15
28
-34
-58
127
-63
19
22
15
3
21
9
-22
-22
-14
-40
-1
1
-14
38
-3
-10
-67
34
-8
-20
-7
-22
10
11
-7
-68
20
0
0
-1
0
-3
-43
-24
-53
-4
-7
21
-42
-42
-43
-24
-43
-64
-22
17
-49
-7
10
-22
10
11
0
-15
-21
8
-5
3
2
5
-15
46
-127
33
8
-7
-13
-25
9
0
2
-46
-15
15
-5
-1
-14
-18
-69
49
-21
-73
-41
13
-13
11
21
-19
9
10
-4
-3
-9
-15
-2
14
68
-36
6
17
10
2
-9
23
-8
-11
-11
-13
8
-14
-9
-34
-5
22
-5
-21
-6
1
4
-8
58
-31
-15
-3
1
-3
-5
-13
0
-1
46
-46
-6
28
-37
-13
4
6
-33
-16
-23
-22
-19
-13
-30
0
-74
-59
-58
11
-58
-53
-5
-27
-34
-23
19
-4
-11
-25
-17
-8
-37
-63
11
11
36
-55
17
14
5
-40
-20
-21
0
-1
-6
-6
-13
-28
0
14
-33
-67
76
12
-23
-67
-9
-38
-111
-33
-18
-14
13
17
-11
49
-43
-2
-17
49
42
13
0
0
0
-73
-72
-48
60
-30
-111
-49
-33
-55
-10
68
40
38
-3
-15
-33
-55
-62
-28
15
40
-16
-73
-75
-45
-59
87
19
-10
-1
23
31
-16
7
13
-27
-4
-6
-15
-41
17
6
53
-1
-22
-70
13
27
14
57
33
-29
1
3
-6
-39
30
-18
1
11
55
-50
-34
3
-34
15
40
14
-2
0
14
-18
2
-25
44
-21
30
-77
76
49
-47
-49
23
-7
22
27
-8
-7
-27
-6
-5
35
13
-11
-30
80
-28
-4
-1
30
16
15
6
-5
5
-12
-2
-18
58
-18
-4
31
9
-7
-47
-48
0
5
15
10
-1
-23
-21
-4
-24
40
0
1
21
1
13
25
-3
-8
0
6
8
27
-30
-19
-50
25
-67
52
5
3
-29
6
-13
2
0
0
-33
-36
58
-15
43
30
82
-16
18
7
-15
-14
-4
-4
-1
27
0
7
-20
-20
-10
-13
-24
-77
6
-1
14
-17
17
-9
25
-5
26
48
-28
-31
-2
56
-32
-25
-3
19
32
25
14
10
-6
-14
22
6
25
6
-15
-2
-30
5
-13
-40
-21
-1
-11
-6
-24
4
-6
12
10
29
24
41
21
-26
27
-6
-25
-81
-8
8
10
-19
-14
8
-4
1
-1
-21
-14
22
-5
-32
-9
17
15
-3
-50
9
-33
-8
-4
-30
0
-5
-3
13
53
40
-23
20
14
2
-45
-6
-18
25
8
-41
7
-12
-6
-10
10
-30
12
20
-12
7
109
4
2
12
-122
-24
16
-37
-25
-22
-38
-29
7
39
47
-6
-2
7
30
62
-13
-22
32
-32
-40
-12
0
15
28
4
-5
11
-76
-33
-1
-8
20
3
9
7
-1
-36
-23
-25
3
-26
-6
-12
-110
-69
18
-14
18
12
19
15
-8
-5
8
-28
-22
-24
7
-4
-41
4
-5
-56
-47
15
28
5
-3
2
8
-5
0
-4
-4
3
-39
117
53
-34
-53
-4
16
46
7
4
10
-6
-15
2
0
-3
-12
-64
-7
-55
14
32
-16
3
21
-11
16
2
-6
-12
-8
-13
-5
-3
1
-66
-36
-66
23
13
-22
5
39
24
-8
9
-2
-9
-24
-5
-15
-8
-90
-32
-90
4
-9
-22
52
4
13
9
-9
-8
-9
-8
-14
-9
9
-78
-25
10
3
-22
82
55
-68
-47
2
-7
12
18
-27
-41
-45
46
-71
-62
-89
11
0
9
-13
-19
25
23
50
-6
-10
0
-17
-1
13
20
87
1
-10
6
14
-6
-4
19
18
8
13
-14
2
-7
0
16
-13
-16
0
-34
-78
-19
30
17
14
8
17
8
-9
3
-11
-11
-3
-17
-25
-3
1
-26
-20
-4
17
25
0
4
8
0
-4
-19
-20
-15
19
12
-16
-19
-34
12
-5
-6
8
11
3
-3
-3
-5
-15
-12
-27
3
-29
-32
-74
-23
6
-8
-29
-14
20
-8
-26
-12
-15
-10
-23
-34
38
23
-104
-27
8
7
6
-12
19
-4
-13
-33
-14
-16
-18
-20
63
-43
-37
10
-50
33
11
3
16
-32
-5
8
-11
-26
-16
-16
19
27
60
-8
-39
-131
0
-16
-21
26
-3
35
2
44
31
12
14
-20
-94
3
-55
-23
-17
0
46
-19
63
5
22
-29
-24
-8
0
68
21
-44
5
69
22
-33
-8
16
-1
36
9
3
24
-42
-10
-5
1
9
-3
-13
28
7
-6
35
20
21
14
7
-1
10
0
-18
-3
-24
62
-34
-21
-59
14
-53
16
-12
1
0
21
1
16
9
18
-13
26
-11
23
-128
62
-58
34
63
37
14
11
7
-2
24
-4
-26
18
-11
-41
43
-1
18
-65
63
90
37
2
14
-6
10
10
1
-22
-22
0
-17
30
5
-29
17
41
-14
-20
-17
3
6
2
1
14
-4
-10
-1
35
-6
-47
-35
26
31
0
14
-27
21
16
5
-31
-19
-28
-8
36
13
5
-22
14
19
-6
-3
58
32
7
-9
-7
29
14
-36
8
19
73
83
10
33
15
10
0
9
7
7
27
46
15
-17
-7
0
18
48
48
-21
-20
89
-44
39
13
-18
16
5
-8
0
-17
16
30
33
-74
4
75
-1
13
-42
16
-11
6
3
7
31
43
25
-15
-38
-45
-47
-7
-19
-7
-8
-21
51
10
11
-1
-8
22
20
15
-6
-30
-62
-54
-28
-2
31
-27
-33
-66
-2
3
21
3
-4
-1
-15
-11
31
20
-27
36
-48
16
-30
4
43
19
-2
1
10
15
-19
22
8
-12
-2
-1
-85
6
89
40
-23
-19
20
-20
20
31
-9
-5
-30
4
-47
-59
3
-29
-95
4
-33
-2
8
2
-29
-10
-15
6
14
12
-32
-42
-5
9
-14
60
9
-84
1
-2
4
13
-29
10
-15
-26
-45
-17
54
2
68
-21
17
3
-8
0
0
0
50
-28
61
56
86
20
97
0
-22
-15
-28
1
-9
-20
9
-14
-5
56
-41
3
-60
-25
-46
0
31
-11
-37
-10
-7
-12
-10
-2
-22
1
-78
-6
44
-14
-10
29
44
17
6
-8
0
-9
0
-5
-5
-24
-24
-70
4
26
17
46
-26
20
-1
0
-2
14
5
-6
15
-8
-22
-28
33
-5
-65
27
-43
32
-19
3
-2
9
12
19
12
-27
-1
18
-9
30
23
-71
-23
18
-70
-11
12
-1
9
-3
11
1
-25
-8
-56
30
116
-130
9
37
-21
-42
-24
-12
8
6
-24
-6
19
36
5
-42
-98
-68
30
-55
-108
-5
6
47
-5
8
-4
-1
-23
-9
6
43
-78
0
36
8
47
22
-89
24
25
9
-11
4
17
-11
65
6
47
0
-2
-47
-44
-19
60
-56
18
93
0
12
-5
-37
10
-6
-11
10
-11
41
-16
-45
83
22
-24
-5
73
23
0
4
-34
-2
-6
4
-15
-15
47
-23
-63
36
10
46
-7
-37
4
1
32
5
14
18
1
-15
15
-20
20
14
29
64
22
-2
35
-24
-11
17
17
5
-7
-21
-21
2
-57
2
9
-42
-126
-71
-13
-17
-2
25
23
19
7
-39
-8
-10
-16
0
-14
32
-4
-54
-95
2
-26
2
31
13
-13
-7
-7
-4
-28
1
0
-2
48
98
61
20
1
-32
58
1
-37
-12
-24
-23
-18
-1
10
0
0
-4
-13
36
19
-80
5
-20
-20
-7
-26
-5
10
-1
-9
29
0
0
0
0
-6
16
17
-56
44
-26
-25
-32
-14
-27
19
10
-6
30
2
147
33
96
-5
29
20
0
9
39
-26
0
6
-15
32
-56
-24
68
-19
-17
-59
-63
39
0
18
-6
-39
-13
22
1
12
18
-15
-40
-65
-84
-14
-1
-52
49
60
8
-11
6
-29
-3
-3
16
-24
65
35
4
-3
-76
45
40
-8
11
12
6
54
22
16
8
9
1
-19
20
-17
-16
-13
-18
-33
-17
-4
-6
40
26
4
45
-3
5
5
-135
30
5
-21
-36
24
-2
-26
13
-2
28
33
23
33
43
-44
29
53
10
62
26
28
29
-49
13
-38
-8
-7
4
45
-17
7
-33
29
-33
-71
52
4
-10
-9
-12
20
-10
-7
-25
5
20
73
39
14
91
53
-7
-59
54
-71
-38
-61
38
-4
-25
-28
-1
51
72
-16
16
-18
0
122
53
-31
-38
-29
8
32
-22
0
-26
-28
-10
-8
-3
-6
-32
-38
45
65
-6
20
-23
65
0
18
35
0
-29
-24
18
4
25
-25
-14
-23
-3
-27
21
-52
35
-10
-22
13
3
-15
0
-8
2
-5
-33
60
-113
12
-84
-7
17
-29
19
30
3
11
0
9
9
-1
-24
5
8
-82
-34
27
5
-34
47
-47
0
12
14
10
24
14
7
3
15
11
-4
-65
-70
6
12
-4
-5
27
28
8
36
5
-9
-14
-10
-8
-16
-8
-74
23
20
41
91
-75
9
2
3
4
-31
-9
-4
-23
-19
6
0
-8
51
44
23
75
23
-8
-5
-34
-42
-25
-7
10
-3
13
37
0
2
-82
29
-25
-36
-91
-28
14
-12
-37
-33
2
-7
-2
1
4
36
-6
-22
9
6
-10
-6
-5
0
20
23
34
-56
-53
-93
-26
0
-31
-7
-14
-13
22
17
-2
13
3
-12
16
-31
-4
31
-78
-70
-2
38
22
3
9
18
4
-10
-14
-22
-32
5
21
-8
-30
-67
16
-6
-11
13
-18
-4
27
8
-14
-2
-4
-4
-5
14
-80
-55
-21
-19
-11
-21
2
-23
-6
-7
4
14
15
4
-15
8
29
17
-3
-74
29
-1
15
24
-25
-7
-18
-14
-26
14
6
4
23
-37
3
-89
-102
-26
0
-5
-10
-2
12
-16
-9
-25
-8
-33
44
92
-34
-126
15
-33
6
0
-2
10
-11
7
-5
-3
28
18
-13
-48
-43
-90
-52
-39
20
-1
0
13
38
12
-14
-32
2
3
-37
-7
-66
-11
21
-1
0
0
0
0
-45
6
14
6
19
5
12
1
0
20
-21
-5
-77
-69
0
-9
-21
17
8
-1
14
17
25
14
-16
1
11
-11
-24
16
-21
19
-15
2
45
-47
3
14
22
44
17
-26
-12
-13
29
-28
-9
-13
5
19
4
29
-16
-5
43
23
25
21
3
-10
-4
-20
-93
102
44
66
70
-2
14
-22
39
44
12
27
17
-3
-9
4
22
-69
-83
-9
-72
59
-1
68
14
-3
9
33
3
14
-8
-20
-6
4
-65
114
-124
-117
-10
48
27
9
34
-6
9
-17
-6
-18
-39
-10
-34
-9
24
81
-91
-19
2
39
-38
-44
-18
25
-28
3
-30
-34
5
19
-38
-45
56
71
-32
-10
0
-46
61
-6
0
25
34
25
46
99
-45
-101
33
-4
8
-8
0
5
5
-6
-11
1
-18
4
36
0
-15
15
90
-38
-4
-1
3
0
-5
9
6
26
-16
8
-26
32
17
-9
29
-14
64
-26
66
-33
3
15
-11
4
16
-6
-2
7
-1
7
-8
-21
-86
24
39
-43
-22
26
9
-11
-6
5
26
3
-17
-8
-60
32
35
-24
17
-27
-108
-11
2
3
-18
-5
7
21
1
40
34
-40
-71
85
28
-37
28
-176
-28
0
-46
12
-2
23
29
-8
-23
40
21
0
-50
35
108
-1
-26
-1
0
-9
-25
-14
5
-23
-8
-6
-31
39
1
16
51
104
-8
-13
-9
0
18
-19
-32
22
11
10
-15
-47
-26
-43
9
13
-7
8
0
0
0
19
-3
-14
-78
12
47
-100
51
45
-85
8
3
7
0
0
0
0
9
33
10
-6
24
0
-4
26
0
19
3
38
5
22
-38
-51
-43
13
3
-11
6
28
6
36
0
4
-23
6
18
1
-32
57
-4
0
-13
-10
27
50
14
33
-15
-7
-11
-16
33
-105
-9
-37
-6
-9
0
-22
13
28
-9
9
18
34
10
-6
7
-25
14
8
-36
1
-25
-9
-28
0
25
3
11
1
-7
-18
14
-11
-4
-12
-9
-23
-80
-9
-11
6
-15
9
5
43
-14
-1
7
-1
-4
-20
-27
-3
-34
-62
27
-23
-5
18
2
31
18
-25
-8
-24
-12
17
-29
-17
63
-14
-28
32
15
101
30
35
12
-38
0
30
-7
16
22
3
90
-45
-20
-42
21
-3
0
31
36
51
51
14
-26
1
-15
72
-102
118
-3
-23
-71
38
0
0
-91
23
38
1
-1
-1
6
9
-22
15
-11
-26
-8
2
8
2
-6
-27
15
9
6
18
4
8
-3
0
-10
14
5
-3
2
-4
3
-1
5
-16
-31
2
4
24
-3
14
-2
0
-74
-59
-21
-23
-25
-8
11
-2
7
-30
-46
-21
18
-19
15
8
1
20
-34
-36
-54
-5
-1
-13
11
4
20
11
7
-31
-39
11
-7
16
5
25
-19
-14
-28
18
15
33
-3
-8
81
22
-4
3
1
-3
-8
-12
-5
-24
-5
14
-10
12
1
-6
-11
-3
-10
19
3
33
12
0
19
-2
-2
-6
42
16
9
5
-12
14
1
-1
-1
43
13
-4
29
18
15
-1
2
-2
-11
-23
48
40
-2
18
6
1
12
31
20
12
21
18
-5
-2
0
2
13
8
13
-13
-15
-15
8
12
19
2
24
-7
-13
-45
-24
2
34
9
-27
-6
-33
-30
-25
-22
-25
-16
-6
74
86
-92
-4
0
0
0
0
0
0
0
-13
-16
-68
-6
-19
-21
-70
10
-11
-53
-49
0
0
6
-22
-44
-40
-16
-81
-34
-46
-19
0
0
0
-3
-2
0
0
0
4
0
-2
-3
4
4
9
-8
0
3
1
5
-3
-1
3
-2
8
4
1
9
2
16
18
0
6
-9
9
12
8
3
2
8
11
10
7
-10
-98
-242
0
-71
15
-68
-172
-136
-139
1
-13
-18
-26
-7
-17
-56
-158
0
-124
22
-28
-120
-105
-110
0
-2
-12
-14
-4
3
-1
-94
0
-10
19
0
-79
-34
-22
19
0
1
0
0
-4
4
-26
0
17
26
-4
-16
-3
-4
15
-7
6
8
-4
-32
5
37
0
21
28
11
6
29
25
-28
13
8
-27
40
22
3
0
-6
0
0
0
0
0
0
5
5
-1
4
-4
4
5
5
0
4
2
2
-5
3
5
12
0
-2
4
8
-3
-1
6
6
17
15
-2
4
9
20
14
4
-7
-8
4
14
-73
-96
0
-98
-2
-83
-476
-122
-162
5
13
19
2
-31
16
-21
-181
0
-183
5
-4
-136
-196
-97
13
-7
9
-3
15
6
37
-21
0
-40
41
21
-33
-50
-31
26
8
18
9
21
29
64
83
0
42
37
37
28
20
54
18
12
14
43
-3
-17
-13
125
0
112
-44
73
44
52
46
41
8
39
6
38
68
-48
0
0
0
-39
-10
0
0
0
-10
-17
-28
-11
-12
-16
-15
15
0
-7
-42
5
11
-3
2
-31
6
7
13
14
-22
44
67
0
23
32
25
2
56
34
15
26
-3
59
-8
-3
-145
-100
0
5
-32
-34
34
9
-14
-58
-10
-36
-58
-35
-22
-99
-33
0
-80
-45
-44
-28
15
-11
-24
-26
-46
-55
-39
-28
-115
-3
0
18
-81
-61
-29
-25
10
-21
-33
-34
-51
-56
-5
-111
-51
0
23
-26
-74
-53
-18
-40
-20
-72
-32
-67
-1
-16
62
-37
0
73
0
-52
-101
35
-16
-3
5
-4
53
13
-6
-5
-9
-1
-1
2
6
5
8
8
0
-3
2
4
4
5
3
7
15
-13
30
28
20
-3
3
2
-5
-23
0
12
-3
-13
-14
7
14
27
15
0
0
0
-122
-11
-13
-13
-2
23
22
-126
-2
-5
-18
-23
4
0
1
-17
-16
-21
-24
16
-17
-19
-6
-11
-25
-4
17
54
65
-49
17
42
9
-14
-4
4
100
11
14
-28
14
-2
-7
0
-16
51
-11
-3
-29
3
6
-12
2
-10
-30
-11
17
-24
-45
18
6
7
13
5
9
-3
-2
-8
-4
-3
2
1
8
-3
-16
4
4
-31
-17
28
0
-51
-58
-38
36
-29
0
-6
6
-24
-62
-13
-32
-57
-74
24
-9
-16
5
-23
26
-29
31
-49
-23
12
-15
0
-77
0
0
0
0
0
0
0
0
0
0
-103
-71
-55
-34
-4
-25
-50
-64
16
12
-52
-57
-22
-28
-17
-60
-54
-39
-31
-38
-65
-81
-60
-17
1
-44
-36
-57
-34
-26
0
0
-1
0
1
-79
-47
-19
-16
-29
1
-5
-2
3
-3
-46
-65
-70
-41
-74
-67
-10
-10
-35
-45
-55
-36
3
-10
-27
-11
-31
-25
-11
-11
-36
-18
-35
-35
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-110
-65
-15
-10
14
170
34
0
0
-92
-76
1
-8
52
8
0
0
0
-120
-65
-16
16
74
23
0
0
0
-157
-87
-17
9
41
-43
0
0
0
-38
-56
-39
-20
-19
-41
-70
-67
-70
-17
-38
-31
-48
-44
-42
-56
-102
-76
18
7
8
7
2
5
-4
0
-1
-160
-130
-87
-58
-33
-26
-21
-8
-27
0
-21
9
0
-3
-2
23
-17
-4
0
-148
-86
5
1
-14
-24
-35
-13
0
0
-91
-15
-6
-27
-13
-42
-10
-71
-67
-27
-31
-12
-14
-14
-22
-42
-23
-27
2
-21
-20
-10
-18
-36
-43
-5
-26
4
-39
-34
-23
-52
-9
-33
0
-25
-18
-4
-4
34
20
-1
-2
-6
-8
-26
0
-43
-62
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-134
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
81
-27
-3
-74
8
-36
-64
-35
-108
-154
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
-3
34
25
47
5
-33
-51
-45
-13
-27
-50
-48
29
-29
73
-120
-69
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
29
9
6
-20
-21
-37
-42
-43
-39
-43
-49
-14
-53
-40
-31
55
55
57
38
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
-3
24
-11
49
-1
35
-18
7
-4
-17
-20
-25
-24
-14
-33
-23
-13
-7
-5
-18
16
-54
-96
-73
88
-11
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
47
8
-13
-38
-2
17
-27
-11
-21
5
-8
-10
-13
11
-18
32
-51
42
-3
108
69
45
27
75
-28
73
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
62
-19
33
-34
-20
11
2
2
0
-24
-1
-13
12
-8
21
5
26
18
45
35
77
42
20
27
94
68
104
-26
14
75
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
-8
75
-51
46
7
-14
-34
-3
-18
-3
2
-27
32
-2
34
8
27
19
24
21
75
-16
54
2
46
32
-53
16
-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
7
-4
106
51
49
67
2
51
17
-13
40
18
13
19
46
36
69
73
-29
37
16
53
111
-36
-52
74
55
32
35
-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
2
0
16
126
44
111
73
56
-8
-11
30
21
72
89
49
29
60
101
63
64
60
56
43
108
109
1
61
-12
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
-8
72
25
41
-25
11
65
62
58
38
66
85
169
80
108
43
55
42
-4
41
7
-4
19
23
-14
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
5
-57
56
79
100
48
-18
34
168
80
14
62
9
43
49
44
101
98
-33
20
-15
-11
-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
9
2
5
-18
-26
-3
107
38
45
60
50
31
66
118
73
90
18
25
-41
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
20
32
-5
-53
-19
-7
25
17
0
-16
0
18
-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
4
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
-22
-7
0
-31
49
-22
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
2
-4
-40
32
-84
-68
-69
-6
2
51
41
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
18
22
-55
-70
-13
83
-78
-145
28
-79
97
-31
11
-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
1
6
66
-3
23
41
53
-14
-12
-51
99
53
29
-7
18
-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
-1
-9
-37
32
4
16
3
42
46
-55
-23
-7
-17
-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
-1
1
-21
0
5
9
-8
4
43
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-11
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
32
38
-14
-7
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-33
-137
-14
4
16
-42
-76
-37
6
-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
101
-23
12
-25
-20
-29
-26
18
-9
33
54
24
16
0
-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
75
6
60
-27
6
-14
117
45
81
6
49
68
-29
-5
62
-13
-24
-14
-15
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
1
-14
-1
1
-43
16
-13
-69
54
8
26
45
51
-4
-14
50
7
34
-7
-53
-1
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
-3
2
-43
-61
-17
11
-10
-41
3
122
-34
48
18
73
44
12
-47
-28
14
5
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
-3
3
1
4
-19
19
8
16
13
-5
12
0
-13
-6
8
-4
7
-10
-3
-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
0
5
-1
-2
3
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
-14
-53
3
-6
-32
22
9
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
-43
23
83
-6
62
-15
40
-8
-26
-71
-11
-100
-25
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
-56
-46
-51
-44
74
20
-37
26
-9
-51
4
-71
-6
-72
-63
20
-8
6
10
-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
30
-23
-91
-30
-21
37
-56
91
-126
115
57
-33
82
-40
105
-10
12
-5
-22
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
48
42
17
-2
49
8
10
14
9
-23
-52
10
73
5
75
-23
43
19
-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
-11
34
62
-34
30
14
-10
-35
-14
-54
-46
43
92
10
48
8
-13
18
-14
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
15
-26
10
-7
-55
51
-33
-55
-46
-18
62
-5
10
-49
24
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
-2
8
3
-4
-18
-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
9
-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
14
0
-4
-5
-39
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
-13
52
-19
-6
16
53
-30
-27
14
-26
-102
33
-44
-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
23
-26
-31
-26
-13
31
-89
52
-16
-32
-81
-113
-15
-89
1
69
33
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
16
16
0
-28
35
-58
-22
-65
-5
-46
-45
-64
29
60
-6
-60
-14
4
33
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
-13
-121
72
28
-7
-32
16
-72
65
-62
0
-6
132
-64
13
49
-54
-71
14
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
1
3
-20
0
-34
-42
-33
4
-39
69
25
5
-14
-23
-24
23
22
36
16
16
-17
-46
-17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-23
-34
2
-25
25
-9
-88
6
-14
63
27
69
-40
18
21
-17
-27
-48
8
20
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
21
-12
50
-32
78
12
47
36
5
47
24
1
18
14
-27
67
-34
-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
21
-13
-8
33
-25
71
-30
119
14
-4
-69
-8
-4
-7
10
-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
-27
14
-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
-15
13
-4
-97
22
-9
24
-2
17
-10
-32
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
20
43
-20
-35
-1
-7
-44
-126
-59
8
54
-25
56
-17
36
14
-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
33
-113
-15
-47
-33
50
-5
33
13
4
-125
-71
-30
14
-19
36
-10
5
-18
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
0
0
0
0
0
0
0
0
0
0
-27
-8
-5
22
-33
2
85
-2
6
38
-2
7
-93
65
-32
20
-61
8
46
-35
-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
9
26
14
13
-45
49
26
26
-80
2
12
30
-13
29
-70
33
52
62
-14
-38
-64
68
60
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
4
-15
-10
-1
15
23
60
56
8
23
-10
40
33
28
-20
27
68
-22
-5
57
-23
-42
-45
-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
-1
-30
17
35
11
66
29
-52
23
-58
35
47
-97
-47
29
11
52
-39
32
27
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
-26
56
11
18
37
-42
3
55
5
16
-24
54
21
5
49
11
45
-21
2
-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
20
6
10
7
-43
-19
28
8
24
45
5
71
33
-1
-1
18
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
-16
25
-4
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
25
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
18
-33
-91
11
24
13
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
-24
-22
-12
-31
-100
-60
-26
-26
9
-92
-10
24
-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
-118
-78
-75
-19
-53
-21
-95
-63
-49
47
0
-63
-17
31
-43
12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
81
-66
-90
22
-38
-39
1
-33
11
-30
-57
23
47
-28
-83
35
39
-58
-45
2
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
33
-24
-37
3
-39
3
-27
-24
18
-53
-2
-98
-2
-11
-47
11
0
-22
-45
-60
-105
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
-14
-60
-14
-49
-75
15
-81
-16
-29
5
-16
-13
-17
-22
-48
-72
-52
-24
-81
49
-76
-52
-55
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
-26
-3
-59
-12
-17
17
-117
-38
14
-68
-2
3
-35
-21
-45
-43
24
16
-74
48
49
44
33
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
-5
36
7
57
18
-41
15
13
33
-4
15
-1
-24
43
5
12
-5
-78
-3
-41
-15
66
77
-60
-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
-3
-1
10
-19
6
32
-30
-21
-52
21
46
17
27
25
-17
52
-4
39
-86
-54
3
14
-51
11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
17
56
30
-45
-35
59
31
-90
50
54
-75
-5
3
-5
-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
7
-18
-3
-32
23
32
21
6
-3
-16
-8
17
-14
5
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
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
5
-11
5
-19
11
21
14
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
-8
15
98
9
-4
33
13
0
32
-3
12
35
-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
-7
20
36
73
32
-12
32
8
6
25
-1
9
27
33
15
66
79
32
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
43
77
-12
-7
-18
10
18
-3
-35
-2
-8
2
-20
3
35
27
66
-31
-17
-4
-28
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
8
-11
54
-3
44
11
-14
-43
39
-18
28
27
21
18
8
-25
3
-36
7
7
-8
18
97
16
53
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
59
0
55
28
-32
-7
-49
15
-13
8
-1
-11
-10
7
-33
64
-6
27
66
45
120
55
43
6
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
-10
19
-16
-6
7
14
29
40
52
17
27
-12
8
16
5
39
15
-15
27
-18
6
-3
5
61
87
2
-6
-13
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
1
0
30
-4
90
16
44
100
27
43
12
-3
12
15
5
-6
51
43
-19
-11
57
-16
43
-7
-22
2
-2
27
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
-6
116
-5
24
81
-26
-9
-48
10
29
17
8
-34
23
-9
-4
76
82
68
51
3
33
54
62
32
-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
-10
19
-21
33
-14
17
53
-57
-14
29
-32
15
31
27
29
-9
53
45
38
22
105
16
-62
20
4
-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
4
0
1
31
-4
5
63
10
51
3
0
-13
0
1
-46
7
7
21
25
62
5
20
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
20
13
-16
26
-27
10
48
8
14
44
25
6
89
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
-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
-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
29
-24
-28
-7
40
-47
19
-12
-39
-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
3
8
-8
-15
-3
-1
-52
-2
-17
-15
3
-6
57
-4
-72
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
49
-8
5
-30
-9
-10
-28
-1
-11
-11
1
-13
-38
-48
-35
-62
-64
-84
-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
-14
-42
-65
-53
2
-54
-21
-12
-43
-32
-13
-5
9
-26
10
-58
29
17
-10
-16
-61
-32
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
-24
-81
-2
-34
-63
-17
-32
26
-26
-12
-18
-5
6
-8
-24
29
-3
8
-49
2
25
40
-42
-1
-33
-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
1
31
5
-37
-25
-22
-21
-39
15
-14
10
13
21
14
15
-14
21
1
13
-32
-10
32
54
-24
42
-4
31
-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
51
-16
-1
-69
32
-52
44
-32
6
0
20
0
-9
10
45
60
30
48
5
21
3
-2
18
0
-34
1
17
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
-17
53
28
-49
32
-75
-56
-10
-21
-37
54
47
13
38
35
45
39
2
13
11
-36
79
-28
14
1
32
-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
18
-57
6
-34
6
-31
32
60
-20
48
8
18
30
42
-3
23
85
53
33
-2
32
-13
26
65
-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
-10
26
-10
49
-35
87
81
3
5
25
-32
75
-33
70
31
66
-30
42
-46
17
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
7
-54
21
20
5
45
52
69
14
69
-2
31
81
-1
-16
63
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
33
15
98
-5
24
20
-4
-9
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
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
40
5
27
59
10
45
-8
-39
-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
49
53
52
-34
16
11
9
5
-19
43
-60
-69
111
25
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
30
-7
-4
-44
29
13
28
-33
-10
6
-12
31
71
2
11
46
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
-6
24
5
29
75
-12
7
20
39
-20
33
-4
-14
13
-13
21
-52
114
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
-10
13
28
24
75
-4
66
8
-3
5
33
12
41
118
-47
93
75
134
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
62
1
31
-8
19
62
63
21
25
46
24
-46
-22
53
25
-11
68
29
106
18
-5
20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
32
-20
-17
6
8
-8
5
71
84
22
33
24
-61
29
29
-3
53
52
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
25
10
2
87
24
73
67
32
-9
57
18
-23
-72
23
53
-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
9
-11
24
0
34
9
11
13
78
45
-21
19
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
-30
-32
-13
-1
-6
-20
15
-54
-51
-43
-27
-33
-11
-8
1
6
-34
-68
-51
-46
-32
-30
-15
-3
4
-58
-68
-68
-40
-27
-18
-9
-13
-6
-37
-59
-60
-67
-39
-39
-38
-21
-1
11
27
26
53
112
97
71
-4
0
-41
-36
-51
-50
-45
-46
-29
-18
-14
-5
4
-9
37
-40
49
5
1
0
-13
-9
1
13
2
-20
1
-41
5
-14
-9
27
-44
75
108
37
0
0
0
-1
6
11
-9
9
-22
-16
-71
-22
23
-132
-8
5
36
-5
42
-22
-21
-19
18
16
-4
-2
-7
-17
-11
33
-72
-45
-3
-8
36
20
34
-30
-30
9
-10
-4
-28
10
19
-5
1
-51
-16
33
-1
-9
32
39
17
11
-7
3
-47
-11
53
22
25
-39
39
-77
18
-62
17
-28
3
-6
5
0
-12
6
14
4
3
26
7
-12
-25
-23
-49
-11
15
-15
2
10
-9
5
-16
-27
22
0
-34
10
-46
-90
14
-136
36
0
-2
4
-12
0
-6
-32
-15
32
-1
-1
-26
51
9
-77
-138
8
-43
0
-38
-33
4
-5
52
-37
-20
0
0
-1
0
-1
-19
-5
-11
-157
-29
1
51
-5
65
-11
-47
7
-18
7
-26
15
30
-53
-13
1
0
-54
-14
44
15
-12
-5
3
-28
-40
-63
-62
-9
-53
19
-45
-12
0
-1
-6
26
16
12
-5
-26
0
-51
-21
-49
-48
-79
-5
13
21
12
-14
2
-6
15
-10
-16
-24
-17
3
-22
-46
10
-37
-37
-21
6
43
27
20
9
-16
-14
-5
-14
-4
1
75
-8
-67
21
-8
-15
-1
52
-28
-12
-8
-17
-23
-4
-7
-10
-5
50
4
-28
4
-39
-32
-13
-11
11
-37
-7
-9
10
-20
-9
-29
-4
-34
32
9
15
7
-32
-15
-18
10
-13
-1
-1
-12
-33
-1
4
-11
33
2
-5
35
23
-8
-6
-38
-116
-100
-54
15
-5
7
-37
12
0
34
50
-47
38
1
-37
-51
-41
-50
-14
-2
-11
-29
-31
-75
22
-42
-8
40
-38
-11
93
6
0
0
0
-82
18
84
-37
-21
-32
-29
-13
-10
-31
18
1
6
-4
-15
-1
-69
-68
-11
-5
3
-39
-55
-19
-32
-13
27
-56
-39
2
34
20
4
11
8
-18
-21
-12
22
2
-18
50
13
24
-26
-56
12
-13
39
34
7
-25
-1
-4
17
11
-14
36
24
42
7
-33
-64
0
-41
8
14
5
16
18
-6
-18
-53
-28
-31
23
-13
-74
-52
-68
-41
16
-3
-9
11
10
0
-5
-14
-35
8
-42
24
-32
2
32
3
-136
-40
11
-8
30
-5
-31
-27
2
-25
31
9
-50
-79
-3
71
-10
44
-118
-72
34
12
-32
43
-14
-5
32
-39
13
0
-34
-40
15
4
-93
-46
-32
-15
36
34
49
10
-23
53
22
-48
-11
1
-14
0
20
44
12
4
0
-16
-31
84
86
-61
-27
30
-76
-113
-50
10
-32
-6
15
23
2
0
-33
49
6
24
51
-46
-11
-31
-78
-19
-9
-3
-16
6
-2
40
71
-28
6
38
-46
14
7
6
-33
14
-3
7
-11
-30
-34
6
27
27
59
-16
-6
5
-40
11
-9
-31
43
19
-28
-18
-24
-9
0
0
28
35
-4
-21
-40
-30
-15
-70
-65
-3
17
-3
0
-8
-12
-16
-15
-24
-30
-49
-16
29
2
71
-25
14
63
-52
21
-101
38
-4
-27
-42
2
-4
11
-62
29
2
-56
2
-15
29
2
-52
2
25
-15
23
-46
-36
-31
-33
-10
10
-22
-45
6
41
12
48
-19
-108
23
-24
-77
-7
-14
-7
-13
-28
-16
-26
17
33
-25
39
28
-31
-20
29
9
-6
67
0
19
-3
14
-81
-44
-12
-1
0
-16
5
-8
7
-6
9
13
13
-19
-43
22
-39
67
-64
-71
-60
-20
12
50
2
-27
57
-19
1
-10
-10
-25
7
-49
-11
2
-28
23
35
101
10
1
7
14
-15
2
8
-11
20
-1
-14
-38
-47
-21
4
-5
4
-2
-45
0
5
15
-4
-3
-6
9
-22
13
16
-34
-24
72
-6
-4
2
-12
-2
-23
-15
-9
-10
-13
-25
-5
19
-60
-71
23
81
37
11
-9
72
-24
-47
5
6
4
-15
-17
-50
-8
-22
-35
-61
-7
20
-81
17
-21
-12
30
-43
-15
13
-4
30
-58
-42
-13
16
58
-31
-7
96
16
-21
45
-30
-24
22
-20
-49
-10
-87
2
-49
-37
-39
-12
0
16
-22
2
-30
-14
35
-29
-12
0
-9
11
15
8
39
2
30
2
11
-9
-4
-9
-18
20
3
-13
19
13
-4
-16
13
-14
-6
-55
-14
-4
-7
5
-8
-33
-5
-22
-14
-9
-28
-7
-11
-25
-16
-24
54
4
-43
13
7
-18
18
0
18
-12
6
-9
-8
-16
8
-32
-32
4
-52
15
-20
26
-4
-23
-4
-28
12
-4
-3
-18
22
-31
-20
-5
-6
-28
-16
2
-5
15
23
-29
36
-5
-1
-2
-23
-12
14
14
-16
2
21
-20
-5
19
-12
11
25
-26
-18
-2
-30
-29
-33
-59
-49
4
-47
40
-5
21
3
-24
-90
-20
-55
-16
-24
-18
-10
-77
15
-3
14
-38
0
-44
-33
-10
5
23
-5
43
-22
-42
17
14
-33
39
-73
11
2
0
5
-7
33
54
12
-31
-5
8
0
42
-26
-81
14
84
-28
-21
24
61
-9
-7
-25
25
27
-36
-5
-13
4
34
-119
38
17
68
39
2
14
10
-21
-2
-11
3
31
-9
20
-39
22
-86
48
-45
-58
-12
3
27
22
-15
16
13
23
-9
-31
12
33
-41
49
-79
2
-14
7
-14
-34
29
2
-21
-42
27
-9
20
4
24
-17
-42
-69
-6
-55
6
17
-8
-7
0
4
19
-4
4
-5
-14
35
-9
-57
-31
-45
16
68
3
34
-3
2
22
-13
-10
-6
-12
0
13
42
-46
-79
-13
5
56
0
25
4
-6
42
0
-26
-18
-6
-13
-16
-71
11
-46
-11
17
-6
-3
103
-33
-17
14
11
-6
-11
-105
-11
-35
19
-2
16
1
-18
10
0
22
4
-15
-15
15
46
-43
-30
0
71
24
49
18
39
14
-10
-1
0
-14
1
-24
1
14
10
-4
35
-7
32
-31
25
-11
62
-41
13
-34
-2
-19
-13
14
0
-34
-25
27
-68
-5
-52
12
56
73
-14
9
-8
7
1
-3
-13
7
-10
16
76
-41
-49
10
49
63
70
-19
-10
-10
-16
-8
7
-37
-16
-25
-3
-88
75
-47
-18
-64
6
16
1
-2
-8
-6
-18
-13
-8
30
-9
30
32
-3
41
58
36
22
82
6
-18
-15
-12
-18
10
24
14
-41
-46
12
-25
-47
21
-150
93
29
0
-5
-13
-7
-6
-33
-20
10
-9
-4
53
-28
41
5
88
43
-13
-12
-2
-28
3
30
27
-109
13
-41
-1
-18
75
17
29
2
14
9
0
0
0
31
9
30
10
86
17
46
0
55
32
11
-24
-18
-20
-12
-19
-21
33
-55
1
-38
-58
-62
0
13
-1
-28
6
-27
-23
-23
-8
56
4
-97
-50
-71
-7
-20
46
-26
21
-1
-19
13
14
16
5
-5
-19
-3
-47
24
-23
-5
54
-33
-18
-34
-2
2
20
-19
3
-1
-14
-41
-4
57
-3
-20
72
1
-23
13
-4
22
13
-30
30
-23
-23
-5
17
14
20
18
-14
-56
-33
2
1
-8
-2
-20
-21
-76
17
-36
11
4
27
46
-55
14
-121
-103
24
-48
-25
-9
-8
17
-26
-28
-9
24
-64
-43
34
65
-26
-67
-64
-18
-11
-40
2
-23
-13
66
-10
15
14
-61
0
-11
23
17
43
-13
35
32
-32
-15
41
4
-87
-41
-22
-6
0
-6
7
-57
-50
-4
25
-16
26
0
13
25
13
12
16
12
0
-17
26
46
-19
100
9
-51
17
62
38
0
-16
-3
-13
3
6
48
12
34
56
50
53
15
29
5
-15
28
33
35
5
-1
21
-22
-4
-37
12
23
64
119
5
-4
33
48
8
-23
-10
43
-13
-9
2
-10
40
4
2
-34
-21
-53
-32
-26
-10
-26
33
45
-34
3
-17
-40
-50
23
0
44
18
-76
-83
-88
84
-15
-23
-13
0
-26
-9
-43
4
-20
-31
0
-3
34
-6
-34
-68
-4
-122
38
-3
6
-36
-33
-13
-35
-23
-15
0
0
-4
55
57
3
-103
-80
-6
-46
-22
7
-58
-24
43
67
-73
0
0
0
0
-5
44
43
-78
-23
42
6
-53
37
-41
-34
-3
-12
-20
-2
115
-26
16
20
28
23
0
7
-4
-1
14
-34
-70
-57
1
-15
42
-4
-12
-21
-6
0
0
50
-13
-6
24
34
19
-40
-22
-33
1
-117
18
19
19
12
9
3
61
31
24
18
-6
20
-6
-23
77
51
-12
16
8
-36
27
-6
16
-19
-28
44
41
-10
2
15
-27
-155
27
-16
-29
-68
-53
-38
-26
-11
-13
13
-42
7
26
-32
-53
-49
-60
-24
5
-24
-2
38
-43
-13
2
-54
6
31
-31
44
-23
2
23
-65
116
36
61
-74
29
-48
-13
-3
6
-29
-12
-45
17
30
-55
-27
20
-33
84
-43
25
28
28
-1
4
7
20
95
60
-170
-73
-14
95
33
-3
7
24
-2
24
-69
-54
52
11
-141
-31
126
57
-78
-101
-8
0
58
71
44
19
-50
2
18
24
0
8
-27
-5
31
28
7
92
-18
-42
-15
8
-42
33
0
14
30
96
0
-44
-10
15
1
-14
38
-90
18
68
3
27
9
54
51
9
17
-5
99
38
43
7
-18
10
-63
-34
-26
-15
-34
-58
-1
-10
-57
-6
13
-19
-22
-4
-17
1
-46
28
-24
92
71
-55
-13
6
-15
-5
19
-11
1
12
-58
-10
-21
-46
-38
45
-72
-12
9
-69
21
-22
-22
-2
10
4
26
43
-22
10
6
49
-1
-29
-5
-100
-1
-20
-24
-11
27
-1
1
1
-20
-42
-9
-53
-19
0
16
-5
-35
-23
35
-13
1
37
56
-39
-11
-22
2
-4
-9
-20
0
2
-29
9
19
-85
32
-26
-57
-8
-38
18
17
-14
-27
7
-11
16
-31
23
24
1
12
1
9
0
0
46
-5
28
-44
-50
-15
0
28
-28
2
10
26
1
9
49
23
3
41
-2
-50
-86
-86
-73
-5
-23
-22
20
4
-9
23
-7
-9
-35
-70
22
35
-7
23
-97
42
-7
11
-7
-16
34
-12
9
-1
-22
-19
-41
-11
9
-103
-100
25
16
0
36
19
-17
-17
-17
16
4
-1
21
3
47
-64
85
33
-1
56
-1
14
28
15
-34
-8
-23
-9
17
36
-24
23
48
-34
-70
-91
23
0
45
18
23
9
43
-6
-10
-16
-60
31
-89
-34
-124
16
-21
5
0
-34
30
-4
18
25
-5
-75
-65
-12
-20
3
-61
-33
-25
10
-1
0
4
36
32
38
-62
-47
30
-71
-30
-12
-6
17
-1
0
0
0
0
55
-1
16
20
-25
-32
-22
-3
0
49
27
62
4
-74
-99
-7
-9
33
-22
-25
23
25
24
-7
13
0
40
-18
14
-15
-5
-66
-5
2
-25
18
30
18
-12
0
9
6
-19
-31
10
-33
50
-2
-45
-24
-4
-63
14
3
43
32
50
-15
9
14
-14
12
-31
80
21
31
-13
-2
-23
-4
31
-15
-5
-19
-10
-30
-5
-5
-40
-45
-71
-8
-38
79
-17
14
75
-28
6
29
4
15
8
19
-21
-8
-1
14
-67
-96
-53
8
-10
-12
-21
9
2
-47
-7
5
-25
-3
12
53
12
5
-7
-60
5
-4
-70
-28
-77
48
-38
-14
3
29
8
-47
-18
-50
118
32
-6
-33
0
-28
-14
-6
-44
-19
-12
4
42
-51
-62
-25
-31
3
30
-5
0
0
17
24
-19
-25
32
15
66
0
36
52
38
-90
-34
11
3
0
-6
-31
7
4
10
16
9
12
-14
-4
42
-2
34
-26
45
5
8
38
-4
-17
-13
6
-4
11
-20
-26
-19
80
-39
70
38
3
4
-8
40
1
-12
-9
-3
21
-13
34
-15
-21
98
-13
-7
-6
-50
-19
2
-12
-17
-14
-7
-29
-32
-8
-4
-97
-29
65
26
1
66
-70
14
0
29
8
-34
-16
14
-27
-16
28
-50
-96
-20
-20
96
0
5
16
0
-14
-7
8
20
31
3
36
-61
-6
108
31
-23
40
31
-1
1
0
-23
-47
-27
-11
-59
-53
-19
36
-91
4
27
19
1
14
0
0
0
24
-78
77
-9
33
6
-106
-66
-5
-109
3
3
13
0
0
0
0
15
10
-5
-40
-21
-19
18
27
0
18
-5
23
-107
-57
20
21
5
6
0
19
-15
13
-4
15
-25
2
16
34
-31
13
-74
6
-5
0
-17
27
15
-9
24
54
28
-15
-15
-22
-45
1
26
-61
-49
-5
0
54
-2
-6
-2
-14
32
-35
-26
-4
31
14
52
80
-37
-17
-48
9
-34
-45
3
-16
33
8
-17
-19
16
16
-3
-34
-25
-9
-2
-15
-2
8
4
-7
-24
-9
-31
17
-9
-33
13
16
38
-5
-69
-108
38
-8
59
3
-7
4
-31
-20
-1
-19
20
6
-38
-54
-38
39
-90
-14
-19
-54
-55
32
27
5
-2
2
-19
-2
65
25
17
-3
-68
78
-21
5
0
-24
115
-30
-34
19
43
-5
-70
6
39
28
35
8
-49
15
0
0
-55
2
7
-10
-6
-2
12
-4
-44
26
-11
-10
2
7
-1
3
-8
-29
-5
10
4
14
8
9
-6
1
-6
0
7
-18
7
-9
8
0
9
5
-34
-1
-2
-12
9
13
2
5
-62
-23
-26
-27
5
-13
6
5
11
-68
-46
24
9
-23
0
15
3
4
-34
8
-29
-15
12
-14
6
1
12
38
4
19
-19
-38
-18
3
4
30
-6
-2
-23
-20
-29
24
2
3
75
28
-2
3
5
-15
-7
-12
1
-15
26
-3
2
-5
-4
6
-7
1
-5
57
0
27
-10
5
3
-2
0
-5
52
14
16
20
-3
8
1
-1
-1
-1
12
-25
11
17
13
-3
3
-4
-108
22
48
14
21
20
-4
5
3
3
32
7
16
10
0
7
3
6
11
-19
5
-1
-23
2
11
11
6
-28
-10
-23
-13
64
-61
15
19
1
-21
-13
-47
3
-11
-43
-33
-17
-8
-67
-66
-75
-1
0
0
0
0
0
0
-18
-49
-32
-28
-6
-48
-55
-130
60
-1
-61
-5
0
0
-9
-19
-57
0
-56
-110
-96
-53
50
0
0
0
0
71
0
0
0
-11
41
15
35
8
21
21
12
0
13
10
42
49
4
4
27
33
14
28
44
10
27
45
0
-10
23
73
50
-10
11
42
27
-3
52
15
58
-48
-92
0
5
-25
-34
-17
-39
-43
-15
-46
51
29
-55
42
-11
-14
0
-105
-30
-46
-58
-17
-3
-6
-10
-25
16
-6
14
2
12
0
12
62
3
-11
13
-35
31
27
26
-10
-7
-32
44
28
0
-10
-21
-28
-19
-7
-10
54
53
31
-18
38
-8
6
10
0
42
-17
-4
-47
-3
2
-23
-24
-5
23
16
-13
31
0
-26
0
7
18
0
0
0
4
1
-12
17
-30
-17
9
5
0
14
34
-6
-46
16
8
42
18
-10
5
30
33
-21
33
30
20
31
22
-32
-5
22
-10
3
-4
-18
-45
-56
-21
-9
0
-20
63
-6
-31
-7
-44
8
50
21
-39
61
50
-8
-28
0
-23
2
-5
15
-29
13
32
-9
28
-5
-20
0
50
-10
0
5
-26
37
5
1
-11
-5
7
21
-7
20
30
3
-18
0
21
1
19
30
74
9
-57
33
-27
-1
61
-52
0
61
0
-51
-1
-8
26
72
53
-7
-30
8
33
27
-4
15
0
0
0
-87
53
0
0
0
2
1
29
46
13
-23
33
10
0
-20
31
83
70
-36
61
28
-32
32
6
26
-32
10
71
0
54
-32
-22
83
94
14
34
5
117
58
-23
27
-136
-26
0
3
-8
-99
-33
-2
-7
-4
-28
-37
-132
-4
-4
-48
34
0
2
31
-36
-58
18
21
-23
-22
-4
-33
-16
-17
-58
-33
0
-67
5
8
11
-2
-39
-53
-12
-8
-62
-7
29
38
-49
0
85
2
47
21
2
8
-9
-4
-4
74
-42
-8
3
14
0
-2
0
1
-89
37
-20
-2
-16
30
6
4
-1
7
20
-5
-18
8
-3
12
5
11
-4
8
18
3
6
0
-8
5
23
16
17
-51
-21
40
-11
-21
47
-92
0
-18
38
71
19
-4
78
20
104
0
0
0
-30
-5
15
40
27
61
-33
47
8
-17
-14
14
-2
3
19
6
-13
14
-4
-14
-17
30
-49
8
23
-4
4
3
12
-36
-8
5
-9
-6
-17
3
26
13
-24
-20
5
11
4
-31
6
-22
14
-2
0
35
13
3
4
-19
-13
-4
-25
-10
-19
22
-14
34
17
3
-19
8
-3
-10
5
-3
6
3
13
0
5
0
-15
-8
-15
14
-6
-8
-14
-4
-4
13
-7
21
-9
-22
2
-16
-12
-16
-16
-10
-4
39
15
-9
-6
-15
-17
10
5
20
11
-1
-80
0
0
0
0
0
0
0
0
0
0
-31
-48
-15
-68
2
-53
12
-33
9
-14
3
-36
-30
-25
-43
49
2
-32
-17
-59
-51
-17
-38
29
-8
-59
-63
-52
57
-28
3
1
-4
3
-3
-138
-73
-41
-46
-64
-8
3
-2
9
11
-55
-102
-117
-58
-54
-177
-57
32
-24
-89
-64
-110
-18
-66
-84
-10
-38
-23
23
-1
-35
-41
-83
3
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-161
-70
18
-8
19
16
0
0
0
-90
-48
15
-3
1
0
0
0
0
13
-29
9
-71
-34
0
0
0
0
-5
7
-42
-17
17
-1
0
0
0
-22
-13
-42
-20
86
23
81
8
5
-29
-44
-9
-26
26
-27
29
8
-24
18
5
4
1
1
4
-3
2
-4
-128
-34
-2
-22
-36
3
-48
-59
-85
0
-91
-39
24
18
22
30
-47
-82
0
-116
-31
-9
-22
56
-87
-60
-27
0
0
-85
6
-9
-32
-60
-51
-22
-91
-43
-40
-30
29
-42
-38
-49
-80
18
-5
59
-53
5
-33
-2
-17
23
0
14
5
-33
-17
12
-57
-44
-5
0
-2
-26
17
34
39
82
43
-42
-52
-42
37
9
43
-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
8
0
-52
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
-8
14
23
-33
-108
5
11
-67
-3
37
-34
-18
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
49
68
39
9
-5
-47
4
25
-77
-8
-25
27
-8
-20
-20
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
39
-19
19
-77
-23
-25
5
3
-9
-39
3
-7
-62
51
-44
31
-71
21
20
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
9
35
-14
-14
-31
13
-100
16
-118
-81
-3
5
-2
-52
6
34
75
24
54
9
-14
-21
-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
-14
5
-16
-18
-1
-35
-52
-53
9
-62
-9
17
50
53
3
101
-47
43
21
88
56
-14
27
24
-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
-4
-5
8
20
-23
14
0
47
83
14
-15
24
-21
42
45
12
91
-8
-33
9
-26
5
34
14
15
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
25
17
-5
-6
-14
-25
-5
9
17
-23
48
42
18
5
27
84
14
24
71
16
52
14
0
18
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
-25
0
0
-5
3
21
47
61
24
44
42
52
57
-3
30
85
-6
-31
-17
-25
33
-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
-27
13
66
-9
98
-40
-23
-28
-6
-53
85
36
18
48
-4
33
35
0
30
16
-8
17
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
36
15
-43
36
18
20
-11
32
-3
-6
25
36
16
2
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
13
1
0
32
13
-2
30
4
-1
11
-15
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-25
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
-9
-11
-16
8
-3
-10
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
-14
-7
-9
15
-8
9
-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
-11
10
2
-9
1
-24
8
5
15
-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
14
13
-4
-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
-20
-13
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-23
5
-4
-6
-2
-3
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
0
0
0
0
0
0
0
0
0
0
0
-2
1
-10
-10
27
-19
20
-7
-6
-11
-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
13
18
-19
-19
19
-1
1
-10
-5
1
-14
-9
-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
-11
-3
8
-9
-1
1
-18
10
14
7
20
-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
-1
22
-6
6
-24
-13
-2
9
-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
-9
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
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
-14
-1
1
-34
-13
-2
-9
3
1
-4
-13
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
17
1
-6
0
-12
7
-21
4
22
-2
2
2
-4
13
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
8
-9
20
-27
-5
-55
11
15
14
0
-20
-4
-26
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
3
0
-32
7
-11
-10
-28
7
-9
37
16
-51
0
10
-13
-17
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
14
5
-3
-4
28
10
4
4
-49
-23
-14
-51
18
7
22
9
-9
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
-10
-10
5
-10
-2
14
-16
5
29
-33
-14
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
-17
24
-5
7
2
2
1
11
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
43
-18
-19
3
19
-9
-1
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
10
5
-6
-53
20
4
-2
-53
-20
-26
-18
-24
5
13
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
15
-8
14
-28
-35
6
-8
-5
21
6
-24
-11
25
10
-7
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
-20
-17
-21
-17
8
26
17
-9
13
11
-35
16
-43
13
-39
14
-2
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
3
4
-26
18
-26
-24
-92
-45
14
9
-11
22
1
-13
16
-4
-5
-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
-14
19
-21
55
-56
85
-4
64
17
-19
30
31
-1
-11
-17
-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
17
-2
39
-14
2
24
-4
-39
57
16
-17
27
2
15
6
-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
-1
18
1
-10
39
39
17
-22
-3
-17
2
3
10
-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
23
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
-29
-3
-22
4
15
-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
-22
-23
9
-8
-19
8
-23
2
-44
11
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
-13
19
7
3
-46
-21
-4
-24
-8
-18
-8
-8
35
5
-18
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
-2
-47
18
5
-32
32
-34
-65
-29
-10
-5
-11
34
8
-25
-5
9
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
20
-16
-24
35
-14
-43
51
63
15
-16
17
-32
-12
-28
-32
21
-10
8
-15
-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
-35
-30
-51
1
-25
-70
-38
2
15
-15
18
-50
2
-32
-33
-30
-10
-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
4
15
-18
-7
-93
27
-31
2
-81
49
15
22
-29
6
-14
-7
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
10
-18
-4
-16
0
14
-33
-16
40
5
-18
22
3
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-2
-3
20
9
19
14
-8
19
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
11
-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
13
14
4
-5
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
31
-41
9
33
-26
26
5
-3
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
-33
6
-3
-3
14
14
72
-49
-53
-50
37
53
19
5
2
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
40
4
-4
-14
28
-17
19
62
-7
-22
-44
60
-16
-2
10
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
13
-33
48
-28
22
1
-31
8
-13
-5
14
6
71
-31
35
46
14
6
19
21
-4
10
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
-8
43
67
-43
18
29
-31
3
-78
11
-1
10
54
22
24
24
-55
1
17
13
5
16
-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
1
2
10
14
11
21
21
31
48
31
42
33
-34
16
-51
32
9
-4
37
11
19
7
2
11
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-15
93
7
40
-47
8
16
23
18
-4
-5
4
5
18
13
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
17
18
11
3
-24
3
17
-14
-32
17
-21
-39
-9
-21
26
1
-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
-11
1
-24
-21
14
15
-11
5
7
7
24
4
9
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
9
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
34
33
-18
5
25
-16
-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
22
-18
-38
-9
-58
17
-6
-23
-29
-3
-1
-25
-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
26
12
-60
13
-14
21
-11
5
-5
53
6
-78
24
-37
14
-58
10
11
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
21
-12
9
14
-55
-38
-34
-63
15
-12
-62
3
15
-20
-17
15
25
10
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-48
-52
-3
-18
-62
-57
-10
-50
-60
-15
80
-18
-9
-24
-1
-44
29
21
32
-5
16
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
13
12
46
-71
59
-22
-9
29
22
21
-9
14
16
66
50
39
-23
43
-41
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
9
-54
35
64
101
14
-44
-5
47
16
123
78
24
-14
5
5
34
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
1
1
10
-13
49
14
-61
56
85
50
21
91
-53
14
-33
23
43
26
5
-14
-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
9
-10
25
-8
0
-25
-43
7
74
23
3
46
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
-13
-11
14
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
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
-5
14
14
3
-62
-49
-14
-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
5
52
7
47
49
9
54
-3
32
-21
-17
-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
-3
35
8
-38
56
39
26
-39
-5
17
15
52
-14
-40
-5
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
9
34
-18
-18
-83
-46
5
29
-52
36
3
26
43
-2
-18
73
37
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
-14
52
75
30
23
-40
49
53
33
25
41
-18
-17
29
17
61
-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
-8
-15
14
-5
-10
53
-26
62
6
28
-14
8
-5
10
26
23
-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
-13
3
-32
14
5
15
6
-14
-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
10
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
-37
-7
-30
-21
40
25
75
-15
-68
-78
-72
41
-56
-1
13
50
-6
-10
-18
-65
-2
25
0
24
-26
-15
17
-37
-54
49
-19
-13
45
-46
-15
4
-48
157
-2
-18
5
-87
-11
-36
27
-38
26
104
62
-12
30
-7
-3
0
-51
-14
44
-11
97
-14
29
15
25
-4
26
58
7
26
31
2
0
0
-12
-25
2
28
4
-8
-23
12
22
0
3
24
25
-30
23
9
0
0
0
-14
-53
17
-62
11
-24
39
-2
0
-23
-50
-33
-32
-2
13
-24
-5
-17
3
21
11
-22
-4
50
0
-41
-44
-55
-55
23
-78
-6
107
10
6
47
-2
-17
-17
-4
-3
1
2
2
-33
-37
-5
-48
-2
69
32
76
-31
-14
8
14
34
5
0
-1
-18
-36
-12
30
-3
56
-36
38
32
-43
-55
-51
37
22
15
0
0
-9
-14
-8
5
-39
-81
22
-40
27
-55
-26
23
49
84
-40
0
0
-3
-33
-31
-22
-4
-36
-53
0
-10
68
-13
-77
-72
95
22
0
0
0
-5
0
-44
-14
24
7
58
19
66
117
56
29
100
49
0
0
0
0
0
0
17
46
15
4
13
34
18
62
-8
-9
-15
1
-22
0
0
-17
34
-78
28
0
36
-19
61
-56
-45
3
-33
-24
2
-7
-21
-73
-19
25
-23
-74
0
16
-23
54
54
31
5
-44
-5
1
-14
-13
-21
-12
-13
25
-44
7
10
-55
22
28
-47
19
23
-70
-1
-31
-59
5
29
14
55
14
35
55
-26
-66
18
-67
-14
49
-14
0
-8
-27
2
30
-3
16
-16
82
26
33
6
9
-24
-15
21
4
2
-3
-32
17
26
5
-16
3
6
19
44
23
-56
16
-17
-11
-67
0
1
3
8
53
36
-78
6
19
24
-57
36
15
24
32
-9
5
0
0
-4
-4
15
16
-27
73
34
-44
5
-37
21
28
6
57
62
0
0
0
0
3
48
-45
-31
-52
-87
3
-14
4
-18
26
-54
20
2
16
34
24
10
43
23
0
0
0
20
55
45
13
-38
-15
0
-20
-4
7
-18
67
55
70
5
25
-9
-12
44
23
24
-66
13
-1
4
30
-12
1
13
-54
-2
-38
19
90
-6
47
-25
-1
-5
38
-67
-4
-60
-17
-4
24
-61
6
5
-28
0
33
-23
10
17
-22
-68
7
5
7
-3
8
52
-3
-33
-10
-30
-23
16
28
-41
0
-26
-2
-27
0
-24
-21
-32
-69
41
19
-3
12
-62
-18
35
-3
27
37
5
-33
-1
13
19
40
-41
-44
-57
-71
-31
6
-25
-4
-18
10
-6
37
-71
0
-1
-37
-6
-16
-2
-53
-69
75
-14
-48
-28
15
-62
14
-16
-35
0
0
0
2
-11
-2
-10
-31
-44
-43
73
29
-20
-8
-8
13
-1
-16
-44
-56
-24
-32
39
26
2
0
102
76
33
-14
-3
-2
-32
7
-25
-58
-94
-23
-29
33
51
27
0
13
49
-3
-42
-20
3
-50
-19
-6
-54
-51
13
-32
15
-15
45
33
90
80
0
-35
-32
0
-33
3
-10
-46
-54
-27
-23
25
14
47
91
72
-5
17
-21
-15
-21
-44
-17
-2
-10
-1
-58
-8
-17
12
-62
67
75
-33
-20
43
-9
-27
-33
-41
-13
14
54
-22
-21
-5
37
-14
51
46
-23
-62
15
26
2
-36
-21
-6
-18
33
-40
24
-10
-43
5
30
22
49
23
-48
-21
4
-43
4
2
-13
-3
-1
44
8
-17
17
-37
6
41
-71
-5
38
16
-43
5
0
2
-8
-4
57
-8
-73
-16
49
-1
-7
-7
-23
17
-3
-25
-7
-22
-5
-13
39
47
25
71
18
0
-3
7
-27
7
-3
16
0
0
-14
-15
21
39
25
84
55
10
58
55
80
-6
-39
-1
-4
-7
0
-33
-3
-28
61
61
33
-42
-1
14
28
-76
-9
34
21
2
-8
0
30
-41
28
134
-43
-49
5
64
-29
34
-3
-32
-17
-6
12
1
0
30
70
-53
51
21
31
33
23
37
-6
-34
-17
3
-25
-4
3
-1
-60
14
44
41
16
-1
-57
32
2
1
-20
-19
31
-11
11
1
0
18
-33
7
-31
-50
45
-22
-29
-13
-32
24
-2
-8
15
-9
1
0
-21
-139
-80
-86
40
-1
5
6
-42
58
-33
7
45
33
4
0
0
-3
14
33
-16
-7
-104
17
-22
35
39
16
-3
1
-3
0
-2
0
15
-53
0
-92
-68
14
70
-35
0
-39
21
9
-23
-8
-21
28
0
20
-51
-26
-2
53
-2
43
-44
52
7
-68
-36
-29
14
3
27
-1
42
-3
-38
-17
23
73
-7
-38
-43
20
-1
15
-27
-21
-32
42
0
-44
40
-11
-60
53
30
2
-12
-45
17
-14
-32
5
-4
-13
36
0
9
48
-2
9
53
-16
23
32
37
-53
-15
-9
-27
9
3
14
1
-36
-18
-14
23
21
-11
68
33
-14
-24
2
-4
10
-23
3
-3
2
-8
-26
-13
61
40
71
-115
33
-20
-55
-56
55
29
46
-11
-5
2
-23
-87
-29
10
-6
-43
-4
-49
-64
-21
-31
11
34
5
-2
-2
0
-23
-65
16
-23
9
-9
-25
-76
56
7
37
2
16
14
-2
0
0
43
-21
42
-20
-15
-5
28
26
0
3
-45
1
-19
6
1
0
0
-34
33
25
92
-15
-2
17
41
9
57
35
-62
-39
9
-5
2
0
-7
-25
-9
19
-9
-41
-13
40
20
20
-36
-7
-33
-17
-3
-2
1
28
69
51
29
84
14
-33
-4
-39
-62
-47
-72
-4
-14
-2
-1
0
-27
44
2
52
-4
36
-8
53
-29
-1
-6
-23
-26
-26
0
-1
0
70
54
-4
5
67
43
-61
39
67
61
1
-2
45
-25
-1
-1
0
46
42
48
-44
-26
1
-4
23
-31
-38
-12
-39
-32
1
5
0
0
20
35
14
32
62
61
-30
-33
-24
-18
28
4
1
-5
-1
-1
0
-14
-53
21
-4
-6
-1
-17
-50
-13
-33
2
-5
1
-1
-1
0
0
-5
37
-5
48
3
-31
-59
47
0
62
42
-16
0
-11
1
0
0
-30
-5
12
55
-16
81
42
-5
7
14
43
-24
9
-10
0
1
0
-26
-4
-2
-29
69
-6
1
-5
70
9
14
-21
-20
-7
2
1
0
5
-16
33
13
-48
30
8
11
91
-23
-15
14
14
1
3
1
0
23
-31
45
-42
42
-21
-4
34
-13
-36
10
-5
-3
-7
0
1
0
-8
5
-49
-23
-35
-35
109
-53
33
-29
19
17
-5
-5
0
0
0
-22
-6
-52
-25
-8
-1
19
19
56
-23
-6
-22
-6
4
0
0
0
-88
-93
33
22
16
-2
37
26
17
23
-6
2
-1
2
0
0
0
24
-15
-49
-36
53
-75
-8
-36
-23
-5
-1
-16
0
0
0
0
0
0
-4
13
14
-45
12
51
83
0
141
75
52
46
57
-18
4
-18
0
-11
-18
-32
50
25
-28
0
58
32
-12
89
82
11
-4
99
-2
-4
-9
4
10
16
41
-1
-21
29
-22
80
-20
-31
153
-1
60
60
-2
-29
22
-29
48
-7
-89
73
-10
33
-19
-7
4
-45
-13
87
4
1
-7
-29
-7
-33
-23
17
-36
-18
0
-47
22
-50
-102
-84
36
24
0
-3
-47
-1
-28
3
-1
14
18
14
-33
-22
-106
59
97
35
-30
0
8
-7
-20
2
-17
-20
29
12
94
-128
-15
-29
45
-5
-32
-25
0
0
-1
9
-26
22
-28
-48
14
-14
-8
26
-8
-125
-10
-7
1
0
0
0
3
0
1
-43
-20
-24
4
-10
34
-70
-37
-3
7
0
0
14
-10
-31
-8
94
25
-16
0
68
10
33
89
-54
55
36
23
-1
-20
0
5
6
-12
36
-28
5
0
50
41
-17
20
-31
-9
77
0
-6
31
-4
17
5
22
2
2
-55
-29
47
-8
-73
6
32
-53
0
-5
-15
16
29
2
7
-11
-22
3
-37
-13
-38
-19
-5
45
15
0
0
-3
1
31
76
-54
-18
101
35
22
-15
-29
-10
-59
-17
-35
0
0
2
-21
-41
-20
19
-14
56
18
-23
-1
14
-84
21
-23
23
0
0
1
1
-9
-15
-20
-23
-35
-39
5
-21
117
5
-18
36
-82
0
0
0
0
3
-8
5
-18
-69
-29
55
-19
22
-13
89
73
-45
0
0
0
0
0
0
-9
-9
-8
-14
28
-10
43
0
-3
-44
32
-1
-5
19
33
-28
27
-30
-2
0
-1
-8
-11
57
15
-100
9
-7
0
0
-14
47
59
-21
11
0
99
8
71
89
-12
52
12
7
29
0
-46
31
26
-11
20
45
0
65
-5
54
16
56
-17
-113
-26
23
-4
42
39
59
28
-5
13
10
82
-58
1
-57
8
-30
16
80
-24
10
8
12
82
33
2
-43
6
40
41
-77
25
45
-71
-6
-16
-2
1
6
-20
8
-3
53
-40
-33
-26
21
55
-20
-42
4
-24
-7
-3
0
-15
-1
-36
30
29
-47
-74
36
31
5
-37
-72
5
-30
-8
-4
-1
-2
5
5
-6
32
32
-14
37
-24
36
16
-11
8
8
-2
-1
0
-2
-2
-11
-33
-4
51
-98
-43
-10
2
29
-14
-11
0
0
0
0
-15
12
-29
29
-34
32
72
0
50
46
60
-38
-26
43
-26
-13
-29
-17
30
-15
33
-57
2
12
75
0
22
20
28
89
35
21
-33
3
-17
-6
32
-10
32
31
31
33
41
68
81
28
5
-6
57
18
1
23
-45
-39
17
-15
-4
8
32
-11
10
31
25
40
-1
-45
53
0
1
30
-26
-11
76
53
-27
30
-62
-30
22
14
-31
6
34
-23
0
10
-10
14
-4
27
12
17
-33
45
6
3
27
-5
16
-21
-10
0
-1
3
-10
-33
7
57
-106
-34
-59
32
26
-12
38
14
33
-4
0
0
-1
2
1
-12
5
33
-24
-64
-51
35
40
-35
17
-49
3
0
0
0
-1
3
-9
-14
38
-50
8
-65
-23
25
36
-96
41
24
-35
75
82
25
-47
24
27
58
0
-106
95
-26
-5
-3
0
0
0
43
28
-5
47
-32
-90
-47
0
92
39
72
-44
-31
-19
-23
7
0
43
-16
-20
71
11
13
22
49
81
61
36
-13
7
-14
5
0
0
14
4
55
12
42
89
26
126
-15
66
-41
-9
-40
-10
-2
4
0
-13
20
43
-5
2
77
43
0
-13
41
10
1
23
-4
-2
-3
0
-47
22
84
-55
-11
-24
-31
25
23
-4
-18
-53
-24
-15
-7
0
0
-1
-30
81
-53
-3
23
-26
-48
-25
-14
-93
-4
-18
2
4
0
0
33
-3
-30
76
-7
48
-24
-34
-61
-78
41
-22
11
0
0
0
0
-32
-46
-9
-45
118
-52
-9
5
22
-17
1
0
0
0
0
0
0
10
-72
-75
14
8
2
-29
24
0
70
41
-14
29
-15
-5
-1
0
27
-18
-13
19
36
41
-26
-19
24
-17
15
-46
5
-4
-1
3
0
75
8
49
-13
59
32
52
16
-1
47
18
-60
4
1
-2
-1
0
-72
53
-14
73
5
30
-24
15
62
-60
-19
-27
-58
-20
-1
3
0
5
-23
-55
20
48
-30
0
14
18
-48
75
-32
13
-20
14
1
0
-33
68
-12
-68
29
-7
41
16
22
-5
11
-33
19
-5
-8
6
0
-2
-20
9
-37
-32
24
-6
-25
10
-32
18
-53
-28
0
-14
-4
0
1
-30
14
-9
1
-36
8
-22
-80
-15
-44
-3
-15
14
0
-1
0
0
4
-33
19
0
11
-21
29
-20
29
-61
-10
7
1
2
0
0
75
46
66
-4
86
-4
42
-100
0
-3
33
-36
-20
-8
-1
0
0
-2
32
-61
0
27
-19
56
6
-25
-6
12
-11
18
-14
46
0
-1
59
32
18
34
36
65
-33
27
26
-25
27
17
-12
61
1
0
0
81
-20
-22
-7
-7
43
41
36
-10
16
-17
24
38
9
-1
0
0
46
53
40
27
12
25
62
6
-15
50
6
26
8
0
0
-1
0
93
-49
34
-52
14
68
-112
-35
30
-8
-30
1
8
2
2
0
0
-34
31
34
46
-59
-35
53
-7
33
20
33
5
1
0
0
0
0
31
-9
-10
-26
-24
3
8
19
24
23
-3
-7
0
0
0
0
0
-29
53
-10
0
43
-16
-17
31
3
-10
0
0
0
0
0
0
0
37
50
24
49
-53
5
-17
1
0
45
-1
-15
-2
29
0
-1
0
-53
-36
40
-9
71
19
-37
35
-5
16
82
-11
-4
-14
18
0
0
50
16
29
-9
40
63
83
6
-45
-72
-5
-39
-32
3
-3
3
0
62
-32
-5
39
-15
63
-36
28
-4
11
-68
-32
-5
5
-5
0
0
-5
-25
59
23
24
-5
17
-13
11
-5
21
-63
-31
2
2
0
0
-66
54
92
-21
10
44
18
17
-57
-49
-85
-24
0
-19
9
2
0
35
49
53
95
-46
-37
5
2
-4
13
14
4
10
-22
-20
0
0
-18
25
-14
18
-37
53
-51
-23
5
-49
8
-10
16
25
7
0
0
0
3
17
-43
-21
-24
43
-15
9
4
41
-15
-15
10
2
0
0
0
5
32
38
33
-4
-19
-10
21
-25
6
-3
7
1
-9
-2
20
-11
9
-55
-17
0
-8
6
5
5
23
-32
-17
0
7
5
3
-1
4
11
-13
-19
-14
-1
9
6
13
-9
15
5
4
-21
-4
-20
18
24
-6
17
-20
14
10
19
11
17
-15
-7
25
-5
1
-28
23
6
-24
29
0
-15
45
-3
8
36
-1
24
-25
13
20
-8
-5
-15
20
23
19
33
16
-17
18
-8
-9
-13
8
-6
-3
0
9
55
7
6
9
-19
-5
-8
-1
-2
13
-16
17
-10
-1
1
3
8
-15
2
13
15
-1
8
5
-12
-5
-19
15
16
-3
3
9
5
-9
-1
-5
23
-19
-34
-3
13
-1
5
-9
24
23
20
-28
16
-10
11
-18
15
-3
-6
-6
52
-29
16
5
5
-9
-47
-5
18
8
8
35
-38
14
-52
62
-48
0
0
0
0
0
25
11
0
0
0
31
47
-18
-48
-10
33
1
0
0
0
0
0
43
91
0
0
-15
-14
64
135
-87
-11
-16
-3
0
0
0
0
-6
166
152
197
127
169
20
-88
30
-55
-58
23
-1
0
0
0
0
12
78
220
171
149
137
53
-84
19
4
58
25
0
0
0
0
4
87
126
148
162
122
70
25
-33
-12
2
33
-19
0
0
0
0
0
-3
42
64
37
28
-20
23
59
10
-21
-20
-14
0
0
0
0
0
4
-80
-35
-31
-72
-95
-66
-88
9
-48
-59
5
0
0
0
0
0
0
-42
-84
-100
-118
-92
-84
44
24
40
-1
3
0
0
0
0
0
0
-56
-143
-154
-120
-121
-45
43
-9
14
3
0
0
0
0
0
0
0
1
-10
0
0
0
31
4
48
-11
9
0
0
0
0
0
0
0
19
-71
0
0
-25
43
50
-13
-6
-2
43
0
0
0
0
0
-1
69
-49
118
130
128
-5
-17
3
19
-27
-11
0
0
0
0
0
8
52
-1
91
72
65
18
-108
-14
-15
-8
-3
0
0
0
0
0
3
22
101
82
51
14
-27
8
-2
-6
6
3
0
0
0
0
0
0
-41
9
19
32
-64
-92
5
-2
8
23
2
0
0
0
0
0
0
-80
46
9
1
7
-62
-7
10
-8
10
-1
0
0
0
0
0
0
-7
7
48
-59
-79
-78
-23
10
-23
3
-3
0
0
0
0
0
0
0
6
-64
74
38
-14
-16
0
0
0
1
0
0
0
0
0
0
-65
4
0
0
0
43
33
49
-12
20
2
0
0
0
0
0
-1
64
-55
0
0
-14
26
5
-16
-44
-8
8
0
0
0
0
0
-3
56
6
54
82
74
-16
66
-45
-73
15
1
0
0
0
0
0
4
6
211
176
128
65
14
40
-14
26
-18
33
0
0
0
0
0
-7
110
120
117
51
-23
0
-24
-85
-71
8
0
0
0
0
0
0
0
38
82
42
43
-3
-47
30
28
63
-13
0
0
0
0
0
0
0
-66
-41
-12
-85
-53
-4
2
-48
4
10
14
0
0
0
0
0
0
-2
-28
-146
-91
-140
-39
-8
9
1
1
0
7
0
0
0
0
0
7
-72
-35
-45
-42
-5
1
-2
1
-1
10
0
0
0
0
0
3
33
16
0
0
0
50
20
-10
-19
-6
0
0
0
0
0
0
-35
80
-33
0
0
45
-23
-35
18
6
0
-1
0
0
0
0
0
91
-9
31
51
121
95
-28
59
70
-2
8
-1
0
0
0
0
0
65
158
61
79
95
70
-15
-1
-59
-49
4
0
0
0
0
0
0
48
60
110
108
146
129
-71
-13
-36
-15
-15
0
0
0
0
0
0
-57
-7
82
17
32
-79
-118
6
-8
31
16
0
0
0
0
0
0
-33
-70
65
-23
-49
-30
24
-16
4
1
1
0
0
0
0
0
0
1
-10
-66
-71
-15
-14
-8
23
-6
-16
0
-1
0
0
0
0
0
0
4
-8
-12
-135
-27
5
33
0
0
0
0
0
40
-47
-15
30
28
14
-46
0
0
0
-62
38
-10
40
10
-6
0
4
-65
-25
-25
8
-43
-36
0
0
0
-74
74
14
22
8
5
-1
-24
-60
88
21
31
-45
-2
-6
33
13
-15
33
-13
13
5
1
2
33
80
-26
4
52
59
32
32
32
51
34
18
54
-15
-32
-7
-4
-46
44
53
106
62
6
53
1
37
109
-27
7
53
2
-35
11
0
-31
44
38
109
76
71
32
2
-21
15
54
0
1
6
-16
-20
0
53
15
138
1
39
59
8
18
-21
-37
53
-7
7
-31
-22
14
-6
4
19
40
60
64
2
125
-52
3
-21
-95
-15
-51
-32
8
3
5
4
87
11
-24
35
-5
-65
-68
-3
-74
-42
1
43
9
5
0
0
-15
31
39
-34
70
-20
16
0
0
0
13
14
59
71
15
2
-16
47
36
28
15
60
6
-6
0
0
0
49
17
21
21
-9
-13
-16
21
5
-32
26
109
38
-7
-27
12
-50
25
29
-29
-51
20
-30
6
-24
19
-53
-20
28
31
21
36
-29
-1
-23
61
-38
-47
30
28
14
-5
26
-11
11
50
35
61
83
18
39
43
29
-7
-18
-32
23
0
-29
-4
82
24
34
-50
22
59
55
19
-70
-20
-29
-33
-4
-7
-2
27
36
-7
49
26
102
11
37
59
-14
-5
28
46
-22
6
6
7
-23
16
-24
97
53
-88
-28
12
3
-2
24
-35
31
38
10
-21
-4
17
31
43
-53
-11
39
-56
3
-36
2
-24
15
-10
55
-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
3
-8
-23
5
48
-3
63
0
0
0
-22
40
14
19
17
0
0
-4
-4
-8
7
33
40
-107
0
0
19
-1
4
52
-18
-5
11
0
-8
-3
1
13
24
29
44
105
50
-61
21
10
-21
5
1
-1
0
0
2
9
6
23
4
94
157
108
34
-60
-35
5
-33
-13
-14
0
-19
3
9
2
-5
3
33
48
-26
-30
-54
25
-4
21
-17
-13
0
-2
-8
2
4
-17
-12
-41
-83
-103
-96
-79
-40
-8
-14
3
-14
0
-71
39
-31
-9
-25
-7
5
-74
-118
-120
-80
-2
-23
-33
-43
-1
0
-6
59
-9
35
-77
-74
-138
-167
-58
-16
-4
38
6
-19
21
6
0
-5
53
6
1
-122
-29
-16
-26
-37
-49
-15
1
0
-1
0
-1
1
-96
-61
-19
-5
15
27
104
0
0
-11
13
28
-4
-33
-10
0
0
-112
-89
-14
-1
8
22
46
0
4
-7
-13
44
-31
-11
-11
8
0
-54
-45
-10
0
7
7
19
40
-42
-51
-36
71
-8
-71
0
-2
0
-58
-6
6
0
-2
-6
72
70
38
89
-76
-15
1
-12
14
-5
0
-77
-5
12
-1
-8
-19
14
30
3
-47
-6
-29
-26
25
-7
0
0
17
19
27
3
-10
-27
-27
-8
-47
-142
13
-33
82
-29
-15
0
0
34
8
16
0
-20
-41
-47
-71
-88
6
-71
29
-46
26
5
0
0
78
68
10
1
-12
-60
-57
-49
-117
-76
-30
-5
29
-5
0
0
0
9
12
30
-5
-41
-51
-70
-62
-39
-113
7
-29
8
3
0
0
0
22
19
4
37
8
31
53
0
0
-9
1
9
-4
1
0
0
0
-14
4
31
52
62
55
67
-34
-55
0
0
-18
-11
-2
0
0
0
-3
1
16
-19
-14
-2
-59
0
27
-32
1
-17
-5
4
0
0
0
-1
-1
15
-20
23
5
5
19
75
13
5
-15
-15
-3
0
0
0
3
-3
-14
-32
-5
13
-9
-61
-172
-38
-13
2
-16
-4
-3
0
0
2
0
-14
-35
-14
0
-101
-56
-76
-18
-49
12
-21
-2
-1
0
0
0
-6
-20
27
-36
-33
-51
-98
-54
-62
-41
2
19
-2
1
0
0
31
0
-42
-17
9
-20
-61
-58
-111
-69
-17
-14
-2
10
0
0
0
-12
-31
-52
-15
-25
-24
-9
-69
-102
23
47
-19
-16
-2
0
0
0
35
-3
10
26
95
86
26
-80
0
-19
-28
-13
2
1
0
0
0
-7
3
28
47
40
9
0
-14
-13
-1
2
11
-19
1
0
0
0
0
2
20
21
12
24
29
-72
81
-59
3
-48
6
6
0
0
0
7
4
9
5
9
-60
14
-36
-56
-21
-6
-32
-43
-1
0
0
0
4
-1
-11
-35
-39
-40
-78
11
-61
-35
-6
29
-43
-4
0
0
0
-3
-8
-40
-29
-69
-82
-49
-95
-108
-1
14
-11
-3
-36
0
0
0
-8
-3
-45
-59
-156
-105
-96
-49
-111
-57
-55
-113
-16
-5
0
0
0
-29
-30
-33
-88
-119
-96
-97
-97
-84
1
-14
31
6
16
0
0
0
-22
-24
-27
-73
-103
-43
-32
-25
-6
-27
34
0
2
0
0
0
0
3
-3
-7
12
35
14
-9
0
0
-23
45
25
-3
-1
-7
-6
0
-14
-9
-6
14
30
12
-1
0
-46
0
25
32
28
-19
-5
15
0
-6
-9
-5
8
19
29
7
76
35
-7
32
-21
-19
-27
5
-4
0
-14
-8
-1
5
11
11
12
18
94
11
4
-9
-11
24
-1
-7
0
-15
-7
-4
-1
-2
25
25
42
33
31
48
11
-33
-24
-9
5
0
-38
-19
-14
-15
-25
5
-5
-9
-11
-133
-87
-24
96
-10
2
1
0
-47
2
-12
-30
-11
-14
-21
-99
-145
-136
-122
-51
1
-23
1
-7
0
-16
21
-62
-94
-23
-49
-28
-89
-214
-90
-94
-14
-23
-34
-7
-1
0
-5
-51
-80
9
-29
28
-25
-47
-23
-45
6
-7
-4
-6
0
0
0
-17
-33
-10
4
-11
-10
-22
8
0
5
-57
3
0
0
3
-1
0
2
-15
-3
-1
7
-17
-19
0
-75
0
-76
36
25
-6
0
2
0
-7
-6
-7
-12
5
-13
5
8
-81
-10
-12
11
3
0
14
4
0
-8
-3
-1
-1
-14
-25
-32
34
28
-5
33
-14
-7
3
-2
2
0
-13
-5
1
-2
9
-26
-11
58
26
53
35
-38
-33
0
-2
0
0
-26
2
13
5
-3
13
39
38
-26
75
103
-20
6
25
8
-2
0
-60
-14
9
-10
-18
-19
-1
-47
-36
-30
-54
7
-5
7
-2
0
0
-30
-16
-6
-28
33
76
-35
-51
-33
26
-34
19
0
6
0
0
0
-67
-83
-8
-40
22
26
-15
5
71
5
-3
2
0
0
0
0
0
-17
3
3
-1
-5
-48
76
0
0
0
-19
4
25
-7
-1
0
0
-10
-1
-3
8
-13
-6
-32
-51
0
79
1
14
5
4
26
-24
-2
13
1
-2
5
-8
16
3
-23
14
-4
-5
11
1
1
9
0
0
34
-3
1
13
-25
7
-30
-20
69
1
15
49
15
9
-4
-4
0
19
-7
-3
-2
-3
-6
13
-18
95
36
19
-57
-2
3
-3
7
0
0
-3
-6
6
12
19
27
21
-1
33
52
-12
-1
-5
0
0
3
7
-15
-4
-3
-15
5
24
34
-13
26
-1
6
-2
0
0
4
0
5
-9
-22
-54
11
-8
-181
-19
-10
-77
27
-23
1
-2
0
0
0
24
1
-36
5
-23
-30
-44
48
-18
45
-4
0
0
0
0
0
0
0
0
0
0
0
0
-21
27
0
-8
70
99
188
139
16
-69
29
0
0
0
0
0
2
39
-11
61
54
15
204
193
64
6
63
11
0
0
0
0
0
0
22
48
-24
34
-28
32
102
82
39
72
-10
0
0
0
0
0
0
-1
-49
20
-9
19
2
164
20
127
107
61
0
0
0
0
0
0
10
-44
-3
-16
-10
4
78
52
83
71
36
0
0
0
0
0
0
-1
5
27
35
98
1
-17
17
64
37
73
0
0
0
0
0
0
0
0
8
23
18
-88
12
-24
-27
11
25
0
0
0
0
0
0
0
1
-2
-17
44
-75
-132
-82
-68
-39
-11
0
0
0
0
0
0
0
0
0
0
3
-4
14
-139
-93
-129
-33
0
0
0
0
0
0
3
25
0
7
-7
150
64
115
-10
74
54
0
0
0
0
0
0
4
-18
-20
-13
-7
78
124
94
29
23
53
0
0
0
0
0
0
-2
19
21
-5
109
-1
118
19
43
100
-53
0
0
0
0
0
0
0
-7
-6
-27
-4
110
-12
-70
54
27
21
0
0
0
0
0
0
0
0
-5
-1
-14
71
78
-9
41
-37
74
0
0
0
0
0
0
0
0
0
1
7
23
16
-7
49
76
28
0
0
0
0
0
0
0
0
1
0
-2
-50
-102
-43
4
10
41
0
0
0
0
0
0
0
0
0
1
0
-6
-32
-60
-68
-30
-47
0
0
0
0
0
0
0
0
0
4
0
0
-8
-45
-27
-26
-19
0
0
0
0
0
0
6
28
0
10
98
123
91
80
169
1
-56
0
0
0
0
0
0
12
38
-51
-38
53
109
30
7
67
52
-5
0
0
0
0
0
0
-14
-32
85
33
-56
100
74
13
-64
-44
53
0
0
0
0
0
0
1
19
-25
4
110
81
8
31
94
53
28
0
0
0
0
0
0
0
17
4
25
-27
37
55
23
103
52
63
0
0
0
0
0
0
0
-1
0
1
-21
31
-32
36
-55
-34
-24
0
0
0
0
0
0
0
5
-4
0
7
3
-17
19
-1
23
-8
0
0
0
0
0
0
0
0
0
0
0
1
15
-41
-38
-1
-31
0
0
0
0
0
0
0
0
0
0
0
2
-1
-117
-96
-33
-100
0
0
0
0
0
0
-10
-11
0
-21
114
46
57
103
45
-43
-70
0
0
0
0
0
0
1
-17
18
-19
96
88
75
89
14
39
60
0
0
0
0
0
0
20
-27
-5
-17
-24
136
117
47
-21
-5
9
0
0
0
0
0
0
-2
-43
-20
35
-45
28
123
73
119
35
21
0
0
0
0
0
0
6
11
0
6
52
5
67
82
126
73
-4
0
0
0
0
0
0
1
0
0
0
-14
-37
56
-81
41
119
47
0
0
0
0
0
0
0
-1
0
0
-3
-5
-19
-26
4
-81
68
0
0
0
0
0
0
0
0
2
0
0
-17
-45
-44
45
5
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-34
-22
-14
0
0
0
0
1
-34
11
-1
0
16
19
51
52
6
18
-4
-23
0
0
0
1
7
5
20
-11
-47
8
-15
15
61
9
5
10
37
0
0
0
1
-3
13
48
24
-30
-40
24
32
79
20
54
20
26
0
0
0
0
0
-13
-12
74
44
44
12
4
-56
-12
34
26
6
0
0
0
0
0
2
22
-7
-13
60
87
2
22
25
11
-33
14
0
0
0
0
0
-19
8
-17
43
53
43
32
-11
25
-8
12
-2
0
0
0
0
0
3
2
19
94
31
26
57
33
11
-34
13
29
0
0
0
0
0
2
2
-18
-53
-77
126
0
49
22
0
-2
-11
0
0
0
0
0
0
-1
5
33
-25
95
13
-60
-25
-10
14
42
0
0
0
0
1
-12
32
1
0
-38
49
-13
-8
-21
25
-17
-31
0
2
0
4
10
-42
56
-42
27
-23
-32
79
-24
-1
50
37
43
0
0
0
0
-3
6
-9
95
-1
-25
46
14
12
41
79
-2
-69
0
0
3
0
2
5
-37
-6
4
13
33
-13
39
12
-23
69
-24
0
0
0
0
0
-2
-45
75
-22
25
54
66
83
-10
10
16
71
0
0
0
0
0
17
-7
1
16
41
38
105
-28
-16
32
11
14
0
0
0
0
0
4
24
39
2
48
43
59
75
-10
3
34
3
0
0
0
0
0
-1
4
-36
29
-15
-1
86
102
85
-4
-40
49
0
0
0
0
0
0
0
-5
43
15
23
-19
-62
-19
30
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
-23
-14
-35
-33
88
-7
-1
0
1
6
32
47
-70
-92
-120
-5
0
45
-32
50
49
39
2
-5
1
1
5
56
23
-45
-20
-30
-70
0
-7
27
35
56
2
-2
0
0
2
-1
28
39
-12
17
-62
35
1
-2
-27
29
-11
-19
-13
-10
1
-18
3
34
0
25
81
-24
33
0
-5
-8
-33
9
-106
-49
-15
-26
-26
-23
-17
39
8
91
-53
-25
4
-14
3
-33
-5
37
-17
-61
-28
-109
-61
-53
-43
-65
9
-14
-55
0
-1
-4
-3
-3
4
-81
-72
-53
-109
-87
-62
-81
6
3
-92
-71
0
0
-1
0
8
-3
-14
-21
-123
-143
-100
-64
-49
12
-71
4
-32
0
0
0
0
0
-1
2
0
-21
-41
-14
-45
-6
-6
-31
-51
-6
0
7
-57
7
-31
-25
15
-2
0
0
0
1
3
-14
-91
-50
0
0
13
-44
-36
60
39
-24
-84
-13
0
0
1
13
16
-15
-39
0
1
-36
-34
44
16
125
-5
-39
-2
0
0
0
10
0
-34
-48
0
0
24
-19
-11
-6
-41
11
15
-5
-1
0
-2
10
44
-7
34
0
0
6
56
-23
18
21
47
39
22
0
-1
-2
16
55
31
104
0
0
-4
-39
-3
17
59
28
105
18
-2
-1
-7
2
50
9
-3
0
0
-15
-21
-10
80
2
14
3
13
-1
-2
-2
4
33
64
-5
0
0
0
23
24
5
20
38
17
-9
1
-1
-8
-18
50
12
-18
0
0
0
8
54
-70
23
-49
5
-6
7
3
-9
-63
-5
-5
-14
0
-21
-13
92
-28
-41
53
-4
-2
0
6
13
36
24
-23
-53
-20
0
-5
-12
-21
-32
57
13
2
0
2
14
-7
21
19
-52
-34
-65
0
-5
0
8
19
22
4
6
2
1
47
22
-27
30
63
-3
-56
0
1
-3
-23
12
1
-28
7
0
0
-22
12
-25
30
-58
144
53
0
3
0
13
19
15
-27
-1
16
-1
-11
-40
2
-1
14
-26
35
0
-1
14
7
-20
-11
-11
2
0
1
-30
-12
-23
-26
82
-108
-15
0
-5
-8
6
30
-36
-18
-6
1
-1
-37
6
-16
-43
-10
-25
-47
0
-13
4
-19
-4
23
-17
-1
-1
-11
-27
-11
-28
5
-10
-46
0
0
-3
41
-5
-49
5
-13
-3
-2
-6
8
-47
-19
1
-140
-34
-24
0
-2
-13
-16
-59
30
-14
1
0
0
11
3
21
-8
-59
-2
0
0
-5
-36
-2
-19
-34
11
-3
1
2
2
16
35
-19
-81
50
0
0
-3
-4
-28
24
-16
-30
-5
0
0
28
0
34
-32
-87
-63
0
0
0
-9
-14
-22
-26
17
-9
-4
-2
7
3
26
-22
14
-54
0
0
0
8
5
-24
14
-19
-19
-1
-3
4
2
-2
10
0
-63
0
0
-2
7
3
-30
-14
-26
-4
-1
-3
-2
31
-2
-3
18
34
0
0
-6
21
-1
15
-12
-22
2
-1
-16
-19
-1
17
-1
-64
-53
0
0
-14
-14
-8
-17
-18
-24
-9
-1
-3
6
-108
12
32
-59
-71
0
0
0
0
-2
-1
20
-4
-3
2
-25
-95
-13
-33
-47
-57
-108
0
0
0
2
-14
-9
-1
-79
-13
-1
0
3
7
28
34
-4
-6
-43
1
0
0
-8
4
-24
-15
5
-1
0
1
12
33
47
52
26
-32
-44
0
2
-51
43
-29
-31
24
-9
-1
-1
3
16
1
69
-3
17
-72
0
0
-16
5
38
-49
-33
-18
-8
-15
8
2
38
-13
63
19
-10
0
-2
6
-5
-24
-23
-91
-24
-44
-38
-32
-15
-7
-1
36
-99
32
0
0
5
14
-2
-36
-173
-39
-61
-46
-54
-48
-30
-11
-36
14
4
0
0
18
4
0
-22
-76
-153
-84
-9
-55
-100
-61
1
-31
-119
-30
0
0
3
-13
0
10
-24
-85
-189
-151
-84
-34
-76
-24
12
-81
-19
0
1
0
1
3
0
-1
-18
-43
-70
-58
-111
-12
-65
-79
-30
-25
0
1
0
0
6
47
81
-6
0
-4
-13
-10
13
19
7
-18
5
0
0
-2
-4
-68
-26
4
2
-2
-4
-3
4
2
-16
-20
41
59
0
0
-2
-11
-18
-59
25
-15
-2
1
0
-4
-17
-9
0
32
-61
-1
0
-5
-10
6
-19
-33
-15
0
0
3
1
-18
6
34
-12
25
0
0
1
-5
-20
-7
-43
-16
-6
-18
-2
22
15
19
27
25
-3
1
0
-2
-5
-8
-13
-22
0
4
0
4
-5
-15
38
44
33
84
0
0
0
2
0
-27
11
-18
0
34
-23
22
6
-14
23
30
-1
0
0
0
-1
0
-5
-42
-27
49
-18
37
-2
11
11
-12
14
16
0
0
0
0
0
8
17
-47
-11
3
-6
-14
3
3
66
-73
-35
0
0
1
1
2
-39
8
20
0
-1
-15
15
4
17
-22
75
-41
0
-2
0
-9
-43
21
-5
18
2
-2
-4
2
55
2
51
-16
-36
0
0
-5
21
-28
-71
-33
-2
-9
-2
3
5
-2
2
-1
22
-20
0
-1
0
-14
-18
-37
1
-3
-6
1
-3
0
2
7
9
12
115
0
3
0
1
-21
-18
-9
3
-4
-4
-8
8
-14
-15
11
58
68
0
0
3
-11
9
-24
-22
-5
-3
-1
-3
2
1
-17
19
48
70
0
-2
-2
24
-19
11
37
-4
-2
-10
4
-43
-13
-80
15
21
-28
0
0
-3
-6
14
22
-6
-6
3
-5
10
8
-12
-14
73
33
9
0
0
0
2
7
7
-35
-14
-9
33
11
63
17
-35
-53
-52
42
0
0
0
0
0
191
179
0
0
0
106
69
25
-23
-18
-31
37
0
0
0
0
2
190
99
0
0
80
61
57
-10
-45
-78
64
-57
0
0
0
0
78
75
134
224
197
124
30
-10
-79
-104
-113
-4
-40
0
0
0
0
-49
-1
84
145
114
19
-4
-77
-35
-87
-31
4
22
0
0
0
6
25
-1
34
109
49
-15
-35
-40
-98
-59
-83
-85
25
0
0
0
0
-34
-105
-95
-85
-85
-106
-58
11
-58
-125
-138
-136
-27
0
0
0
0
-81
-122
-170
-132
-100
-112
-81
-42
-59
-69
-57
-33
-16
0
0
0
0
-10
-99
-251
-208
-176
-105
-80
-40
-40
92
122
4
10
0
0
0
0
0
-64
-232
-251
-138
-115
-75
-37
-32
50
23
51
0
0
0
0
0
0
21
63
0
0
0
-2
15
63
-48
10
5
0
0
0
0
0
9
84
14
0
0
38
6
71
-33
-63
28
35
-5
0
0
0
0
1
75
93
95
99
68
-43
-11
-43
-22
-89
-4
5
0
0
0
0
7
46
63
46
64
-2
-104
-44
-70
-69
-65
-15
0
0
0
0
0
4
-9
161
95
-28
-17
50
-5
-74
25
32
-7
0
0
0
0
0
-4
-194
-15
-12
-112
-25
-54
-59
0
49
59
43
-1
0
0
0
0
0
28
-86
-54
-88
-23
-40
79
70
13
4
7
0
0
0
0
0
0
-6
-67
-57
-120
-33
-90
-59
13
30
-8
-6
-5
0
0
0
0
0
0
-52
47
-7
-1
-5
-109
-21
-19
73
49
0
0
0
0
0
0
-41
81
0
0
0
80
23
3
103
25
-40
-4
0
0
0
0
1
139
49
0
0
33
-21
33
31
-96
-60
-6
0
0
0
0
0
-5
126
99
80
113
88
6
-30
-121
-90
41
-6
-14
0
0
0
0
45
80
125
76
87
21
-14
13
-6
-94
-139
-5
-1
0
0
0
0
-5
-54
130
110
78
-1
-67
14
-50
-139
56
-15
2
0
0
0
0
0
-78
-134
-6
-85
-49
38
19
-64
-2
-34
-5
0
0
0
0
0
1
-139
-81
-112
-58
-69
-129
25
17
-85
117
84
-1
0
0
0
0
0
0
-148
-134
-52
-80
25
-25
-90
-15
-3
-5
14
0
0
0
0
0
3
-185
-88
-113
-57
-37
-16
-37
32
-25
3
0
0
0
0
0
17
15
49
0
0
0
156
18
50
-41
33
-35
0
0
0
0
0
91
69
45
0
0
26
-23
41
8
-90
8
-30
0
0
0
0
0
15
12
76
102
77
55
-19
84
-35
31
-24
31
0
0
0
0
0
23
82
101
114
71
19
-38
-44
-46
-58
25
-44
0
0
0
0
0
-87
38
13
59
19
25
-44
-53
39
35
-10
0
0
0
0
0
0
13
-63
-3
-31
-65
-89
-50
-184
-72
127
-26
6
0
0
0
0
0
-30
-19
-78
-56
-142
-35
-80
-22
71
129
-75
-6
0
0
0
0
0
-1
-87
-71
-130
-121
-23
3
24
-25
-26
-8
6
0
0
0
0
0
0
-20
-81
-3
-104
-22
6
-71
-5
10
1
0
0
-92
23
-47
0
63
14
-99
0
0
0
65
40
-83
-38
30
28
-5
5
4
16
11
47
42
-32
0
0
0
26
16
-7
28
19
19
3
9
-63
9
33
15
15
-63
27
50
39
-6
105
-56
-40
5
-71
6
-55
-52
42
-11
19
37
68
60
52
62
77
36
4
-42
-169
-48
-11
31
-29
64
3
45
52
25
23
-2
53
-6
17
-31
-12
-59
29
29
-53
33
44
12
5
3
-1
-40
-58
-36
-35
63
71
-84
-13
-59
-15
82
86
58
23
-10
6
-46
-57
-65
-85
-89
-36
-34
-18
-89
-4
-43
-10
22
52
14
-60
-74
-77
-135
-102
-56
-58
29
17
47
52
-26
42
60
128
-67
-12
-119
-22
-82
-77
-44
-106
-106
-33
-1
1
58
-8
5
-26
5
119
-22
64
82
82
0
0
0
21
75
105
92
-23
13
12
61
82
35
42
49
-1
-56
0
0
0
14
36
12
24
-32
1
-8
-16
86
24
-29
15
-37
-4
-35
-36
-21
51
25
-5
-57
35
2
-18
5
-45
27
-49
47
-51
-3
46
55
13
4
-18
-78
-28
-39
-87
-17
-65
32
-8
5
-5
16
27
42
64
34
-21
-24
-43
-60
-72
24
0
-32
26
2
23
20
22
-22
10
46
5
-24
-38
-40
-38
-76
12
-69
-23
41
-20
-16
33
16
-6
13
10
1
-36
-9
3
-30
-9
44
-19
23
-19
-36
-11
50
-6
-76
-10
22
-14
-43
-47
-3
-15
-29
-26
46
1
18
50
-80
-60
8
-20
4
-24
-42
-44
-4
-72
60
35
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
12
16
5
15
74
69
52
0
0
0
14
103
-49
-74
94
-27
0
3
1
-5
9
67
42
56
0
0
25
45
-57
-12
-114
-14
31
-5
3
10
-5
-13
19
-18
70
104
78
42
-21
-39
25
-38
-40
-56
-27
-5
-8
-8
-18
-7
-67
20
8
41
-12
-90
-2
-66
-14
-180
-77
-14
24
-10
-20
-29
-25
-9
-30
-32
-50
-80
-42
-28
50
113
-11
-25
-3
8
-2
-32
-30
-55
-50
-43
-70
-57
-61
-114
-47
-83
3
10
2
-2
-68
-28
-52
-68
-56
-52
-92
-148
-113
-34
-113
-87
-26
-113
-66
-49
20
21
-72
-48
-74
-121
-87
-72
-130
-70
-146
-46
-25
-1
-82
5
-5
-27
-43
-90
14
-21
-108
-109
-177
-131
-87
-81
-116
28
-5
-34
11
-3
0
-1
-21
-19
-12
9
24
140
0
0
-4
-93
-2
-128
-139
-91
-4
0
-13
3
-15
-11
4
11
30
50
30
-37
-84
22
-32
-41
-112
71
0
1
9
8
0
4
-6
7
11
-37
-57
-28
-29
-35
-191
-23
7
0
-11
-1
6
-3
-2
3
57
36
-18
-25
-4
-63
-67
5
-27
-23
0
17
4
19
16
-3
-10
-28
-69
-79
-68
-57
-27
-47
-16
10
-23
0
26
-8
23
5
-7
-26
-64
-70
-64
-19
-20
-75
-8
-125
-40
-14
0
33
-24
11
3
-10
-31
-66
-82
-66
-61
-54
-34
-30
81
35
0
0
-99
-35
28
7
-7
-41
-53
-38
-21
-28
-48
-4
31
-23
-34
0
0
-16
-4
72
15
-8
-24
-60
-44
-27
-29
-23
13
17
5
0
0
0
58
74
77
127
134
192
109
0
0
-62
18
-24
-45
-6
0
0
0
18
4
25
45
88
82
45
27
13
-53
-43
-195
-19
34
-4
0
0
2
1
19
21
46
25
-12
-33
-81
-56
-50
-32
-104
5
-2
0
0
-10
-7
-2
0
7
-35
-29
-2
-90
-1
-18
-13
-56
-26
0
0
0
-5
-13
-22
-11
-80
-70
-56
-81
-25
-130
-175
4
-5
-33
14
0
0
-7
-9
-9
-21
-48
-106
-79
-142
-90
-127
-88
-155
-182
67
-7
0
0
-4
0
-11
-27
-14
-92
-76
-79
-93
-58
-33
-86
115
0
7
0
0
19
-8
-13
-19
-22
-44
-18
-79
-109
-104
-12
42
28
69
-2
0
0
-20
-31
-25
-32
-59
-43
-49
-56
-28
23
15
33
17
-81
0
0
0
-15
-3
15
63
156
163
91
26
0
-52
-106
-140
-19
3
2
0
0
-14
-1
30
57
43
153
0
6
-43
-53
-113
-83
-118
-24
0
0
0
-11
-8
3
19
59
106
89
-25
-95
-95
-65
-67
-49
21
-2
0
0
-9
-9
-18
-11
-69
-45
-27
-45
-109
-142
-92
-31
-102
-8
-1
0
0
10
-2
-27
-77
-50
-25
-40
-92
-16
-115
-28
-50
-43
0
-2
0
0
5
-17
-42
-86
-82
-131
-153
-141
-46
10
51
-14
12
-62
0
0
0
9
-15
-41
-68
-80
-118
-147
-112
-122
-76
-50
-79
3
-31
0
0
0
-2
-15
-27
-59
-97
-136
-100
-72
-53
-82
-93
-28
40
24
0
0
0
-53
-33
-3
-133
-94
-128
-57
-204
-29
35
33
-1
5
0
-1
0
0
-16
-5
-19
14
61
12
120
0
0
71
108
33
33
47
-2
15
4
-8
-2
-14
9
59
29
45
0
51
0
61
-72
-78
13
-30
34
-53
-7
0
-4
-13
20
-4
89
43
85
95
25
-2
-62
-190
-11
-34
-2
-17
-7
-15
-24
-19
-73
-57
-35
-40
-48
-111
-99
-98
-78
-63
-66
0
-24
-27
-30
-33
-57
-28
-44
-8
-90
-83
-140
-63
-133
-22
-62
40
-1
-19
-29
-34
-36
-53
-67
-83
-96
-135
-109
-145
-52
-41
-200
-52
5
5
5
-28
-46
-75
-96
-98
-101
-121
-166
-110
-171
-112
10
33
-82
18
0
-26
-73
-83
-80
-95
-102
-108
-133
-115
-121
-155
23
-43
-19
-29
2
0
-4
-195
-55
-157
-74
-135
-164
-203
-9
-169
-24
-138
-20
32
-5
-1
0
-20
-17
-4
-15
-8
-47
-38
11
0
44
11
-25
-77
5
53
0
0
-61
-18
-35
-35
-36
-6
14
0
4
0
44
-1
-42
-46
61
-27
0
23
-43
-29
0
3
14
21
25
-33
37
68
25
-43
-94
46
47
0
-41
-13
-21
-9
15
49
8
36
-3
3
67
171
9
-44
-41
5
0
11
-13
-12
-19
18
2
17
18
-42
-19
-21
45
35
22
-29
3
-2
19
-36
-45
43
-37
-16
-43
-59
-47
-49
11
72
-13
60
53
23
0
-45
33
26
-24
-4
-48
-49
-76
-89
-19
-75
-25
-1
-8
-74
7
0
55
86
26
-14
-67
-54
-105
-71
-71
-134
-159
11
25
48
-8
0
0
13
47
20
-32
-121
-62
-16
-33
-105
-74
-62
49
-10
-2
-2
-1
0
17
11
-5
17
-7
-9
74
0
0
0
-29
103
62
-52
17
21
24
19
-2
-10
3
-4
-11
-5
36
0
39
32
82
113
-25
119
47
-46
17
-5
-18
-10
-27
3
-15
-16
-30
-19
51
-28
39
-15
-25
-24
16
-37
-7
-29
2
-14
16
-24
32
79
14
-26
-46
-113
9
-51
2
-5
-50
-70
-43
-13
-13
64
3
-19
93
15
-81
2
-29
31
-49
30
0
-45
-67
-56
-7
7
5
-11
-20
33
1
-85
-33
-131
14
-3
-14
7
-84
-29
-44
-41
-35
-2
-3
-7
-13
-20
-72
-25
34
-19
-3
14
1
-79
-88
-33
-16
-59
-54
-8
-9
-13
-7
-82
-69
23
-10
-3
4
0
27
-5
19
-14
-13
-53
-47
7
7
5
-12
-2
-2
0
0
0
0
0
0
0
0
0
18
77
49
0
36
160
128
143
49
-5
-8
6
0
0
0
0
0
-8
-18
44
30
22
48
154
115
15
18
9
32
0
0
0
0
0
23
99
62
59
102
68
12
70
9
51
60
3
0
0
0
0
0
-39
72
68
-18
76
-5
-11
1
3
42
1
81
0
0
0
0
0
0
60
-90
24
43
10
-55
-39
-29
-13
17
11
0
0
0
0
0
0
5
90
108
-35
-62
-105
-67
-74
-37
-41
5
0
0
0
0
0
0
-33
66
14
42
-59
-87
-110
-77
-74
-98
-60
0
0
0
0
0
0
-25
57
112
-67
-51
-107
-134
-136
-144
-140
-61
0
0
0
0
0
0
0
50
10
-22
-11
-84
-43
-175
-173
-99
-91
0
0
0
0
0
0
-4
36
0
-18
31
104
64
35
45
-27
20
0
0
0
0
0
0
-8
-6
9
-7
25
104
131
38
43
10
50
0
0
0
0
0
0
37
12
-12
38
69
112
21
69
5
103
62
0
0
0
0
0
0
14
-6
-19
34
22
30
19
-21
48
20
20
0
0
0
0
0
0
0
-10
-5
53
-65
21
59
-3
-50
-22
49
0
0
0
0
0
0
0
-8
5
64
10
-72
-63
-119
-24
-76
12
0
0
0
0
0
0
0
3
5
39
19
-14
-42
-29
-66
-66
-8
0
0
0
0
0
0
0
0
-2
73
4
-62
-46
-77
-90
-46
-39
0
0
0
0
0
0
0
0
-3
0
0
-39
24
-77
-58
-107
-14
0
0
0
0
0
0
71
15
0
7
160
116
46
49
-6
30
22
0
0
0
0
0
0
-32
6
4
47
52
142
79
23
43
14
-15
0
0
0
0
0
0
13
48
-23
82
53
73
44
4
-3
22
-4
0
0
0
0
0
0
9
11
68
-47
-6
69
71
19
-1
49
137
0
0
0
0
0
0
-52
59
5
-1
-74
14
-35
21
24
-2
107
0
0
0
0
0
0
14
-54
70
-14
-77
-159
-78
-15
-62
-55
-53
0
0
0
0
0
0
-1
8
6
32
-9
-38
-98
-94
-90
-62
-49
0
0
0
0
0
0
0
0
-9
16
102
4
-97
-72
-79
-172
4
0
0
0
0
0
0
0
0
0
0
7
-29
7
-119
-57
45
-27
0
0
0
0
0
-9
-38
89
0
-14
90
125
74
32
26
20
45
0
0
0
0
0
3
14
53
38
-36
0
169
85
32
5
8
22
0
0
0
0
0
-10
54
23
40
4
48
107
18
44
48
20
34
0
0
0
0
0
8
14
17
-10
31
9
-17
3
61
65
30
4
0
0
0
0
0
-7
50
-53
115
-63
-29
48
13
-28
69
36
-4
0
0
0
0
0
0
52
-50
47
-26
-23
-24
-39
-46
38
-24
8
0
0
0
0
0
0
1
-11
-18
-45
-37
-23
-108
-65
-78
-55
34
0
0
0
0
0
0
0
1
32
15
60
-82
1
-28
-107
-46
-16
0
0
0
0
0
0
0
0
0
0
0
0
-14
-32
-85
-7
87
0
0
1
12
-11
-105
-23
14
0
-15
52
74
55
44
-23
-19
-3
0
0
0
2
-5
22
18
2
43
0
21
73
69
25
-15
-16
18
0
0
0
-16
-17
30
57
29
-4
44
-4
32
93
13
11
-3
0
0
0
-1
-19
-68
-19
77
77
-6
16
41
34
-2
18
-23
1
19
0
0
61
62
35
-25
-19
57
-48
90
9
19
-4
-9
42
15
20
0
0
0
0
14
10
47
-24
15
36
-53
-14
1
-29
2
-8
10
0
0
7
-17
-58
12
22
-25
13
18
-25
-35
-39
-13
-26
-45
-15
0
0
-2
16
2
10
5
-51
-26
-5
17
-2
44
21
-104
-20
4
0
0
0
0
0
-23
5
59
-25
2
-4
-113
-157
-90
-27
-5
-54
0
3
11
15
36
-93
-30
-19
0
42
1
56
16
86
-21
-5
34
0
6
-19
21
-15
-36
57
-25
-6
-29
-36
52
22
11
-6
1
36
0
-3
42
-11
13
-6
50
-43
-77
-13
21
22
45
3
-42
3
-4
0
1
22
5
-1
-2
29
-59
-28
23
92
3
1
14
-6
16
0
0
0
32
-11
-13
-11
-22
9
48
48
-32
24
-36
-30
2
21
35
0
0
0
-16
29
-14
6
5
10
25
28
46
3
-15
3
12
14
0
0
0
21
24
4
14
20
65
24
0
35
-16
-24
-22
19
6
0
0
0
-5
-4
-10
88
9
83
46
-35
2
-22
42
23
4
16
0
0
0
0
8
3
83
76
43
29
49
-71
-58
-16
-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
43
-52
-11
-38
-15
43
13
17
0
7
15
58
12
1
-53
-5
-47
-16
90
8
21
53
14
-3
11
3
4
10
46
46
-37
-48
-31
28
-23
-98
49
-16
29
-41
-9
1
4
0
-10
-4
-7
-63
1
-26
-119
-39
-27
86
-20
-16
-56
-6
9
-30
-65
-75
-20
20
-7
-13
-85
54
-52
-85
-51
-29
-44
-106
-35
8
-37
-66
-90
-68
-98
-56
-74
-60
-62
133
-22
-22
-47
-24
-60
-110
-118
-119
-228
-178
-133
-46
-130
-115
-123
-17
-33
-30
-5
-27
-50
-58
-177
-157
-143
-132
-122
-173
-129
-109
-85
-193
-36
0
0
0
-20
13
-35
-77
-157
-142
-65
0
-133
-105
-153
-108
-144
-43
0
0
0
-3
-4
12
23
-92
-193
-224
-57
-171
-150
-16
-147
-46
-71
5
5
-40
3
-10
48
-5
-14
0
0
3
3
-13
-26
-32
-36
0
-28
-3
-116
-2
20
24
16
1
7
0
2
3
-9
-16
-30
-15
0
-25
-105
-55
-60
-4
32
17
11
12
-2
-3
1
5
10
34
-13
0
0
-68
-41
-17
3
6
37
24
10
5
3
-10
3
1
24
2
0
-11
-50
-58
-13
0
11
-16
-13
-8
2
-8
-7
3
8
28
-10
0
8
-34
-12
19
-39
24
-24
25
-1
-3
-6
-15
-27
-15
-24
52
0
-3
-6
41
-38
-41
-14
-13
-2
-21
-4
2
-6
-5
-9
-63
-34
0
0
15
2
-17
-10
-1
-32
-9
-4
0
0
-13
-25
-46
-27
-21
0
0
0
67
-9
-30
19
3
-8
-7
-6
12
-59
-14
-50
3
-17
0
13
12
-22
16
14
61
-4
0
0
3
28
53
15
14
-29
15
0
-44
13
-1
4
1
31
5
-2
3
20
10
28
-2
-34
-75
-101
0
-53
-50
26
12
15
16
0
2
5
3
29
-51
1
17
-72
-72
0
-4
-7
-30
14
-11
-4
-1
0
-4
-14
22
3
16
-33
-16
69
0
105
-53
36
-5
-10
-10
5
-15
-8
-12
38
17
-59
-1
-51
-12
0
54
24
-3
-56
-37
-37
-11
-10
-4
24
-19
-56
-62
-25
-146
-36
0
-22
-78
-4
3
-6
-18
-6
-5
-6
-34
-16
-92
-52
-95
-103
-64
0
-17
-2
13
-41
-32
-16
-14
1
-43
-61
3
-26
-74
-109
-24
-29
0
-96
-9
-5
-14
2
-26
-16
-7
-10
-64
-33
-42
-37
-46
-31
-36
0
39
-38
5
-17
16
31
9
4
0
4
-8
43
-11
-51
-20
0
0
-4
100
32
72
32
29
10
1
0
1
6
30
20
-6
6
0
0
-54
-136
-65
38
-31
-1
-3
2
1
7
36
32
-22
-1
-16
0
0
-53
-34
5
-1
-12
-32
1
-31
-21
-11
-8
51
-5
-24
19
0
0
13
17
-13
-128
-5
-53
-24
-19
-11
-47
-16
5
-1
30
-55
0
0
-19
-19
52
-58
-62
-41
-14
-31
-37
-41
-31
-34
-16
13
32
0
0
2
-74
-46
-72
-7
-44
-42
-28
-36
-13
-35
-17
-49
-58
-4
0
0
-62
9
-87
-21
-44
-72
-31
-42
-40
-17
-39
-56
-96
-154
-90
0
0
0
0
-54
4
-26
-111
-25
-125
-88
-78
-85
-182
-90
3
-4
0
0
-1
-2
-48
6
-37
-3
38
7
0
10
33
29
-7
-59
-41
-51
13
0
-58
46
-72
29
-47
17
3
7
-1
10
20
14
-28
-20
-44
-51
-10
111
-34
-36
-16
-11
-51
-1
-1
-3
10
-7
12
-8
-5
-18
-3
0
-26
0
6
-54
-46
-5
-17
-38
-38
-81
-57
0
9
11
10
-26
0
-32
-68
-27
-81
-122
-66
-59
-37
-47
-101
-92
-28
-44
-71
5
62
0
-53
-44
-65
-66
-75
-162
-68
-125
-96
-121
-163
-105
-64
-66
-49
22
1
-33
-17
5
-47
-53
-132
-129
-144
-130
-167
-108
-79
-89
-155
-95
-2
0
-21
62
-38
48
-138
-92
-138
-42
-90
-52
-129
-54
-91
-48
-204
2
0
1
15
43
10
-7
-53
-129
-153
-208
-148
-174
-71
-180
-109
-95
-58
0
2
3
5
14
14
-24
-7
0
-22
8
9
5
-46
3
-16
9
-1
-6
-13
-71
-109
7
-29
-43
-3
11
8
11
-1
4
10
-22
58
1
-1
-5
-63
-38
9
-30
-15
-38
-13
14
2
-9
-13
-5
9
-6
0
-1
22
16
100
-30
26
-25
-8
-23
12
17
38
27
13
-5
68
-1
-4
-18
42
-80
-75
-4
36
-17
2
11
-6
2
20
-11
-3
-3
6
-3
15
-69
80
-62
-34
22
45
-2
-25
-44
8
23
-15
19
30
-1
-1
-7
-31
-14
-38
33
18
-36
-30
-45
-14
-41
0
-15
57
-38
0
0
2
-21
-21
-65
73
-22
-12
-6
-63
-30
-12
23
60
-120
-32
0
0
0
0
5
43
-14
-7
-19
-5
-77
-102
-21
-5
49
-37
-154
-3
-15
17
19
-33
-27
12
-27
0
-2
-55
-11
-2
21
18
38
28
-1
18
1
-1
-21
-30
0
-11
2
-10
12
-24
44
23
37
21
0
-10
84
-54
58
-14
-27
-27
-23
-25
-9
-18
-12
10
12
4
-6
2
-11
7
-8
-33
78
-45
-11
1
-24
-4
13
2
-19
37
-14
33
-25
0
0
4
44
-107
13
-25
-6
-5
-4
-9
6
-10
16
6
16
4
0
-46
51
-23
-74
38
4
-16
-16
-6
-4
-5
17
-43
-2
2
23
0
-44
-62
-90
-32
-35
-15
2
-9
5
4
-6
-12
-40
-8
-1
-15
0
-19
-5
-66
67
-4
24
-2
-10
-15
18
-5
-82
-35
-64
20
77
0
0
35
2
-3
-28
-24
9
4
-15
23
-71
-12
8
-36
-98
71
0
0
0
0
0
106
111
0
0
0
46
22
26
8
-19
-22
31
0
0
0
0
1
174
52
0
0
79
-51
33
-18
-48
-40
-2
-26
0
0
0
0
45
-5
103
121
109
19
17
-72
-48
42
-32
-33
-8
0
0
0
0
-14
-39
33
48
6
-42
-39
-14
25
-94
-119
-13
0
0
0
0
6
-27
-87
-51
-22
-31
23
10
-50
-61
-1
-62
-10
6
0
0
0
0
-56
10
-108
-59
-54
-40
-30
6
-78
-72
13
-36
-31
0
0
0
0
-54
-166
-135
-120
-33
-89
-62
-41
-59
17
-9
-14
-5
0
0
0
0
-1
-43
-131
-139
-85
-80
-77
-33
-47
5
53
0
1
0
0
0
0
0
-44
-109
-62
-106
-38
-63
44
-14
-28
-11
56
0
0
0
0
0
0
1
58
0
0
0
61
34
49
-49
32
5
0
0
0
0
0
9
30
60
0
0
63
-32
28
-36
-35
10
1
0
0
0
0
0
1
34
170
151
117
-9
-76
61
-61
33
-43
-21
0
0
0
0
0
7
52
-59
4
14
-10
-22
55
-33
-22
-50
-9
0
0
0
0
0
4
-57
-10
47
-24
12
-43
19
-25
36
26
-59
0
0
0
0
0
-4
-80
-88
-83
-34
-64
-100
-50
-37
54
-1
-3
-1
0
0
0
0
0
13
-14
-115
-29
-20
-49
-29
53
-31
-44
-8
0
0
0
0
0
0
-6
-71
27
-30
-31
47
63
-24
36
1
6
-5
0
0
0
0
0
0
-78
43
-33
-36
-23
-46
-26
-51
-14
13
0
0
0
0
0
0
-5
124
0
0
0
115
71
27
-18
16
-29
-3
0
0
0
0
1
15
91
0
0
41
6
-35
-48
1
-46
12
-3
0
0
0
0
-1
136
99
122
123
8
9
-46
36
25
57
4
-11
0
0
0
0
20
-54
-12
34
33
-35
-23
-38
27
-14
-22
-10
-1
0
0
0
0
-27
19
-36
-13
1
-61
-80
61
-24
-25
-15
-3
2
0
0
0
0
0
-81
-50
-54
-59
47
-35
34
-78
24
-2
-16
0
0
0
0
0
1
-65
-107
-53
-145
-147
-130
-13
-40
-87
-12
39
-1
0
0
0
0
0
-3
-60
-28
-129
-34
-2
33
-56
36
62
-15
14
0
0
0
0
0
3
-103
-59
-65
54
-10
3
15
6
-6
3
0
0
0
0
0
8
60
93
0
0
0
82
58
-5
-44
27
-15
0
0
0
0
0
71
39
67
0
0
55
33
39
10
-72
-2
-6
0
0
0
0
0
32
38
132
151
126
16
-46
-10
16
21
-21
-19
0
0
0
0
0
-53
-91
37
79
14
14
3
-21
41
-36
-38
-1
0
0
0
0
0
-84
-51
-44
-55
-39
7
-55
-6
43
30
32
-1
0
0
0
0
0
-52
8
-149
-10
-14
-89
28
-80
-32
36
-52
0
0
0
0
0
0
2
18
29
-52
-59
-58
-104
5
36
23
-14
-6
0
0
0
0
0
-1
-60
-97
-119
-14
-73
-22
-26
-33
35
-10
-1
0
0
0
0
0
0
-9
-36
5
-61
-35
-5
-35
-62
-1
1
0
0
-23
19
-2
-1
37
51
-33
0
0
0
96
33
6
19
24
37
-16
-52
-28
-17
-36
98
39
18
0
0
0
56
45
-27
-49
29
-10
4
149
-54
-24
-29
-25
58
6
49
54
88
34
150
-23
-8
-20
11
17
-58
-4
-39
-27
58
47
63
55
28
47
49
38
7
-19
-98
4
-8
34
-15
-14
47
-10
19
-22
-11
-14
-9
-30
-31
-24
50
-56
20
-22
1
26
14
-23
-17
-33
13
-16
-77
-76
-78
11
61
-36
-11
-62
-2
71
18
31
44
-39
-45
-34
-88
-48
-68
-118
7
-9
33
-74
-32
-12
3
-12
53
-14
-45
-33
-106
-99
-97
-78
-125
-19
-2
45
37
-17
34
7
43
-26
46
-82
-183
-81
23
-6
-57
-115
-48
-44
-4
63
-4
5
49
21
23
121
72
41
117
0
0
0
17
92
40
89
37
-59
10
45
-5
80
-6
78
19
31
0
0
0
32
58
40
33
-9
-15
-5
-51
13
-14
31
89
14
-15
-55
-24
-13
32
-27
-19
-39
-6
-14
1
-53
23
25
-13
-9
-71
-36
61
90
55
-19
-83
-2
-1
-74
-92
-33
-91
54
23
13
-55
-37
-21
11
72
30
-40
-45
-51
-48
-43
-6
-42
6
2
39
-29
66
-20
-76
5
17
-12
-50
-13
-53
-8
-116
6
-20
14
-53
-92
-67
-15
35
-10
-34
10
0
-34
-33
-12
0
-12
32
3
45
-53
-51
1
33
-87
-29
-39
59
-18
-96
-46
16
-116
-15
57
17
-5
1
14
7
-82
-37
-10
50
-9
-5
-75
-18
-93
34
-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
-40
-11
-15
-2
72
-20
31
0
0
0
-28
-19
-8
-11
35
-35
0
-19
-14
10
1
55
11
38
0
0
24
-14
-39
-17
-5
-69
-3
3
20
-4
-17
-22
29
-33
69
92
77
-27
-77
-44
65
-57
-33
2
17
7
-10
-30
-21
-51
-72
-50
-30
-44
-103
-54
22
57
-27
-52
21
5
10
-25
-27
-34
-53
-53
-49
-77
-19
-21
-90
-96
44
-23
-69
15
-3
-13
-6
-42
-37
-31
-38
-126
-63
-93
-12
-90
-21
-77
-61
31
-1
-3
-42
-8
-6
-17
-33
-65
-99
-74
-41
-81
-120
-43
-46
51
-59
-24
-10
-4
-73
-30
19
15
20
26
-50
-17
-93
-87
-74
-13
-71
22
-53
-2
-43
-107
-53
-54
4
-28
-175
-156
-60
-27
-144
10
-44
-23
8
-3
0
-21
-61
-6
-1
15
0
127
0
0
-46
-108
-17
-40
-111
-111
-4
0
-55
-55
-14
-5
10
5
4
31
2
-57
-11
-61
-6
-42
-62
-23
0
-1
23
-2
2
7
4
-12
-30
-66
-50
-34
-8
-133
-62
-11
36
0
3
-22
20
0
-5
6
1
-12
-11
-10
-5
-54
-49
-23
18
-22
0
77
-3
4
-2
-6
-14
-3
-16
-21
21
-23
-32
-76
33
-33
11
0
-19
-11
14
0
-12
-15
-32
-40
-13
-29
9
61
-57
-56
-33
-21
0
57
11
4
-1
-11
-19
-21
-10
8
41
-38
-14
-55
-15
4
0
0
-28
-4
42
5
-19
-17
-15
-39
-30
-58
-16
-65
-20
-37
46
0
0
-71
12
43
-4
-5
-14
-6
-19
-39
-6
-52
2
49
16
0
0
0
56
28
46
76
150
188
130
0
0
-10
-96
-46
-15
-25
0
0
0
4
11
23
35
62
114
51
33
-2
-32
-47
-22
-4
11
-4
0
0
-7
-2
3
21
36
36
-56
-81
-46
-24
-30
6
-45
6
0
0
0
5
-15
-2
0
16
-9
-17
26
50
-54
-32
30
-39
-3
0
0
0
-5
-8
-18
-35
-64
-46
-94
-80
-31
-14
-155
-46
68
-22
17
0
0
-14
-19
-11
-13
-32
-39
-51
-153
-49
-38
-5
-69
-99
66
-7
0
0
-1
1
-1
-24
-25
-29
-7
-79
-97
-98
19
-53
-53
-20
7
0
0
25
-4
-13
-23
-33
-100
-63
-49
-49
-7
47
23
33
5
-2
0
0
-9
4
-28
-12
-29
-54
-44
-32
-33
34
-40
-35
53
-53
0
0
0
5
-1
14
49
79
170
75
20
0
-23
-109
-117
-51
-24
2
0
0
6
-1
11
46
8
155
0
7
-41
-73
16
-37
-60
-31
0
0
0
-7
-7
-3
23
44
82
118
-10
-93
-79
-40
-39
-89
-12
-2
0
0
5
-10
-48
-10
-50
-73
-43
-6
-44
-37
-55
-6
-27
-8
-1
0
0
6
-6
-24
-44
-47
-90
-82
-94
-74
20
5
-60
33
34
-2
0
0
5
-25
-31
-53
-82
-86
-104
-111
-78
-110
24
-26
-59
-36
0
0
0
-44
-13
-45
-46
-59
-76
-87
-76
-18
-40
-53
41
15
-41
0
0
0
1
-13
-19
-55
-82
-132
-129
-88
-64
-91
16
-73
49
10
0
0
0
-53
-16
-43
-62
-53
-149
-70
-103
8
21
-33
-1
-1
-1
-1
0
0
5
-44
-12
8
50
3
107
0
0
36
72
75
-8
32
-49
13
24
-46
-2
-16
4
31
-28
84
0
24
0
8
-24
-36
-44
6
44
9
-12
-16
-26
7
17
-36
66
58
93
53
16
-13
-14
-24
-13
-65
-49
33
-30
-36
-24
-54
-69
-41
-23
-68
-72
-88
-92
-130
-89
-50
-41
0
43
-64
-29
-60
-70
-74
-45
-64
-48
-97
-132
-31
-145
-44
-26
35
0
16
-42
-47
-21
-75
-17
-71
-71
-101
-92
-131
-80
9
-110
-51
6
5
-89
-4
-65
-20
-46
-36
-113
-122
-91
-75
-32
-14
26
0
-45
17
0
-47
-83
-60
-40
-94
-72
-80
-29
-168
-64
-73
-58
-92
-21
-43
12
0
-14
-62
-12
-53
-63
-154
-92
-168
-68
-88
-54
-102
-76
13
-3
-1
0
-48
25
-46
-7
-12
-43
-62
-5
0
44
1
-97
5
24
71
0
0
21
-45
-16
-25
-58
16
39
0
53
0
17
-21
-30
-52
93
-45
0
-10
-70
-4
3
27
25
38
84
-1
105
73
67
-25
-54
33
43
0
-46
17
14
-9
32
63
35
33
-50
-5
99
101
1
-15
-23
-4
0
-4
-49
-29
-7
-4
22
-7
-31
-59
-90
-50
39
73
-62
-85
-20
-2
-50
-14
2
33
-18
-43
-60
-161
-96
-100
-72
-22
-85
34
28
48
0
14
41
2
-3
-15
-26
-170
-67
-91
-118
-82
-36
44
48
9
7
0
43
81
-23
10
5
-37
-62
-71
-96
-138
-177
-4
15
0
-11
0
0
44
-55
8
-73
-79
-103
-23
6
-52
-71
-45
20
-10
-2
-2
-1
0
-1
2
0
51
32
95
36
0
0
0
46
138
70
-19
38
28
-6
-14
11
-17
30
18
3
31
16
0
-25
71
91
20
13
56
18
6
47
-37
-3
17
-32
-3
36
5
6
33
-45
-5
-8
-43
6
-7
28
-6
-48
-59
3
-35
-11
-13
-10
83
19
-63
-43
-34
-32
-35
23
-7
-60
-60
-72
-77
-24
67
-23
-7
65
-1
-94
5
-10
28
-29
-21
0
-34
-102
-51
-80
-51
34
10
36
47
-21
-192
-72
-32
7
-2
-16
7
-48
-10
-45
-62
-31
-73
-8
-15
-5
-68
-185
-57
5
-7
-3
28
1
-113
-53
38
11
-27
-41
46
-21
16
-75
-147
-90
-13
-9
-3
4
0
-11
12
20
-30
9
-44
-19
-45
-5
-13
-43
-2
-2
0
0
0
0
0
0
0
0
0
1
87
27
0
84
175
142
88
-13
-4
23
-12
0
0
0
0
0
-2
71
19
75
23
60
61
36
-11
-3
47
36
0
0
0
0
0
21
13
97
59
100
91
61
19
17
3
14
43
0
0
0
0
0
-1
96
113
55
27
-49
-20
-33
-55
-24
-5
56
0
0
0
0
0
0
60
30
56
49
-59
-46
-60
-86
-17
-44
14
0
0
0
0
0
0
-26
74
59
-59
-85
-95
-43
-78
-71
-36
-38
0
0
0
0
0
0
14
-12
18
-22
-8
-71
-23
-92
-100
-73
-63
0
0
0
0
0
0
-14
19
-14
86
-234
-95
-133
-57
-109
-129
-72
0
0
0
0
0
0
0
-4
36
-6
-19
-70
-66
-131
-76
-63
-80
0
0
0
0
0
0
25
36
0
-65
103
216
92
74
-38
43
-46
0
0
0
0
0
0
3
76
106
22
33
-18
48
55
24
52
84
0
0
0
0
0
0
63
-2
5
35
26
21
88
-46
18
-32
91
0
0
0
0
0
0
10
-23
-43
21
0
-5
29
-20
-26
-45
55
0
0
0
0
0
0
9
13
20
74
-80
49
-50
-45
102
65
8
0
0
0
0
0
0
0
-17
-14
49
52
-81
-78
-42
-62
-64
-51
0
0
0
0
0
0
0
1
0
38
4
25
-47
-35
-73
-89
22
0
0
0
0
0
0
0
0
-18
39
18
-91
-68
-75
-67
-42
-2
0
0
0
0
0
0
0
0
-3
2
0
-41
-21
-34
-65
-44
-51
0
0
0
0
0
0
14
8
0
-14
206
138
57
27
45
3
77
0
0
0
0
0
0
31
-28
39
-7
59
80
2
26
39
18
28
0
0
0
0
0
0
18
84
3
43
-26
5
36
2
30
29
106
0
0
0
0
0
0
-17
50
47
-90
5
57
34
51
17
47
45
0
0
0
0
0
0
-31
72
24
-23
-12
-56
-46
-46
19
34
48
0
0
0
0
0
0
25
-51
9
39
-69
-1
-109
-31
-45
1
-109
0
0
0
0
0
0
-5
-27
-3
54
-10
-109
-50
-33
-37
-67
-14
0
0
0
0
0
0
0
0
17
31
29
-26
-136
-144
-24
4
-42
0
0
0
0
0
0
0
0
0
0
7
-64
14
-66
-24
4
-19
0
0
0
0
0
4
-7
61
0
-5
74
148
7
3
44
12
11
0
0
0
0
0
3
-33
-5
-38
53
7
131
55
51
15
23
19
0
0
0
0
0
5
52
22
6
33
117
86
25
-4
11
34
57
0
0
0
0
0
3
-17
27
36
34
7
-20
65
-26
37
25
53
0
0
0
0
0
-7
46
-60
55
-47
-58
-88
24
-41
-43
-25
4
0
0
0
0
0
0
-7
-10
15
-11
-71
-48
31
21
-34
-44
18
0
0
0
0
0
0
-6
-7
-20
-52
-109
-6
-82
-50
-17
-12
-15
0
0
0
0
0
0
0
1
16
-8
7
-27
-88
-32
0
48
-26
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-24
7
-50
44
0
0
1
-2
-23
-14
0
16
0
19
81
75
56
8
-13
-2
21
0
0
0
4
-4
26
16
1
24
14
56
122
37
-33
-21
-34
-6
0
0
0
-5
-10
-59
75
18
21
48
54
104
11
-10
-8
-2
28
0
0
-1
7
-63
-52
-23
42
28
81
28
29
-1
-28
10
0
53
0
0
-1
7
-25
-29
-89
11
2
38
8
45
-11
-5
-6
6
12
0
0
0
2
34
8
72
5
78
-36
5
-59
-76
-46
-16
-35
62
0
0
10
3
2
4
-20
-20
9
-5
-63
-21
14
-18
-15
-44
-63
0
0
0
14
5
4
-56
-5
37
11
-22
-68
12
-27
1
-28
-9
0
0
0
0
0
-23
-10
65
-4
-25
13
-76
-64
-84
-55
-7
-75
0
3
10
-7
6
-100
-28
-35
0
36
3
46
54
37
5
-42
77
0
32
7
41
53
-9
-63
-6
-52
28
71
43
40
23
-16
-28
39
0
-3
17
-30
4
-1
29
-15
-72
0
40
53
70
-6
-14
23
-1
0
-2
-11
14
-8
20
94
-3
-34
-2
19
-6
13
16
-30
14
-2
0
0
5
15
-1
6
29
37
51
-38
10
-32
-41
-21
31
34
16
0
0
0
12
-7
-18
-81
12
40
59
-58
-51
44
-1
-15
-7
-7
0
0
0
0
30
36
-12
39
55
4
-13
47
-3
-8
-26
0
18
0
0
0
-5
-5
3
25
-27
14
66
15
4
-45
-11
23
-6
-26
0
0
0
0
8
13
49
80
-14
40
42
-27
5
-70
-36
-73
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-19
46
27
-27
17
0
19
15
29
8
4
-26
-90
41
39
26
-27
-42
9
-31
-4
16
-2
3
10
16
-63
-25
-87
-16
-54
-20
-97
66
6
-47
-38
-20
13
1
-6
-43
-7
-48
-26
3
-75
-11
-8
-12
42
-43
-18
-24
-11
-13
-68
-58
-72
-76
-70
-22
-35
18
24
-18
-54
-43
32
-17
-25
9
-61
-103
-99
-92
-81
-29
-78
-31
7
-110
58
-4
-108
-74
-59
-46
-62
-89
-146
-165
-54
-97
-68
-47
-67
-60
-22
-6
-33
-21
-95
-30
-2
-146
-23
-121
-126
-68
-80
-36
-89
-46
-55
-7
0
0
5
-21
21
-86
-60
-115
-155
-33
23
-104
-15
-69
-25
-23
-23
0
0
0
-3
-4
8
14
-90
-192
-143
-45
-86
-80
-18
-112
-42
-75
3
-33
-28
12
-10
22
-9
27
0
-1
5
1
-10
-21
-31
-25
0
-14
-38
-102
-25
7
-3
6
19
6
-3
2
1
-21
-3
-62
-34
0
-14
-66
-5
-43
34
3
13
4
0
2
7
2
-5
4
-23
2
0
2
-55
26
-44
22
-6
-27
-12
0
6
12
-2
-22
-20
-33
1
0
-16
-36
-18
44
2
-34
-1
-25
-20
5
8
-3
-22
-32
5
-5
0
3
41
17
-24
10
-4
-9
6
-10
-4
-2
-4
6
4
-54
-63
0
-3
-18
45
-28
-33
6
-4
-17
-17
-7
0
3
-22
-5
-7
-44
0
0
15
-31
13
24
-2
6
-10
-15
5
-1
-32
-22
-64
-37
24
0
0
0
3
4
-17
-17
19
29
1
1
-2
-37
-29
-17
-32
-5
0
-7
-1
25
-12
57
50
-4
4
0
9
26
-5
34
-66
19
22
0
6
-8
-5
-2
12
34
2
1
-1
12
20
21
48
6
-76
-30
0
-64
-36
-13
33
5
9
-1
0
0
-15
0
-25
-34
25
-119
17
0
-6
5
-37
-14
0
10
-6
-1
-4
-34
22
-8
-8
-71
-62
-5
0
22
9
-12
-17
-16
-14
4
-11
-9
10
-4
-22
-15
-3
-65
-14
0
5
22
-1
-24
-14
-21
-17
1
-17
-24
-52
-23
-60
-141
-53
-53
0
15
-13
-30
-23
-6
-14
-6
-1
-5
-14
10
-59
-25
-96
-109
-59
0
-23
-36
0
2
-41
-6
-11
2
-28
-42
35
21
-57
-54
-59
-6
0
-56
8
-21
-32
-4
-25
-14
-3
-18
2
-54
-111
-72
-87
-10
-35
0
10
-58
43
10
1
39
10
4
0
7
-4
24
10
25
-92
0
0
-39
42
-38
32
39
33
11
5
4
3
-19
38
-2
-87
24
0
0
-21
-95
-37
-4
-24
33
3
16
6
-17
7
-1
-23
-2
-48
0
0
-60
-5
16
-21
-37
-34
-29
1
-11
6
7
24
-3
10
51
0
0
27
-26
-62
-59
13
-29
-30
7
-28
-12
-58
-16
-21
19
-33
0
0
-9
-49
42
-44
-74
-29
-23
-13
-35
-31
-57
-8
-74
-2
0
0
0
39
-40
-22
-23
-32
-40
-35
-21
-19
-9
-31
-39
-68
-88
-60
0
0
-60
31
-33
-60
-64
-40
-21
-10
-30
-72
-34
-49
-84
-44
-33
0
0
0
0
-20
14
-44
-25
16
-83
-85
30
-56
-52
-53
24
4
0
0
-2
-2
-87
-1
-49
25
39
52
0
8
22
-9
-64
43
-9
-26
86
0
-22
5
-57
41
3
-15
1
0
-10
15
-6
-20
-27
19
-3
-15
-7
46
-16
2
-34
-15
-47
-17
-4
4
-18
-40
-22
-29
1
-29
11
0
41
-64
-37
-9
-44
-33
-22
-64
-20
-108
-87
-22
-63
-21
-57
26
0
-33
-11
-27
-3
-67
-53
-71
-80
-69
-80
-49
2
-10
-56
-26
15
0
-62
-63
-42
-107
-50
-137
-32
-105
-100
-110
-108
-9
-83
-14
-33
-31
0
-55
-69
-46
-5
-35
-144
-70
-10
-119
-109
-53
-20
-108
-45
-92
-9
0
-13
71
5
61
-49
-96
-53
-19
-70
-96
-62
21
-75
-62
-128
-22
0
1
14
15
-13
-6
-57
-127
-96
-242
-166
-114
-98
-103
-60
-157
-46
0
2
9
-16
-51
44
-13
-64
0
26
18
59
30
32
-18
6
-19
-1
-5
-29
-2
-47
-56
10
-93
-12
33
39
32
-6
-13
14
-50
-53
1
-1
20
-62
-15
15
-51
7
12
-29
2
43
-14
31
-31
-16
-4
0
-1
-13
11
101
-35
13
24
12
40
-24
36
11
46
-51
-57
54
0
-4
-29
56
-76
-5
29
-43
6
3
-25
-4
-3
28
5
23
51
6
-3
32
-33
34
-59
-70
25
42
-26
-27
-72
-7
-12
21
-12
27
-1
-1
-6
3
55
-26
-27
5
-28
-6
-71
-17
-5
-110
34
-1
-37
0
0
2
-13
-11
-95
-25
-65
-26
-72
-19
-88
-23
49
34
-50
-23
0
0
0
0
6
15
-24
-77
-8
15
-2
-65
-19
3
-4
10
-77
-3
-24
-2
8
-7
-42
8
-22
0
-28
-13
29
3
100
20
-3
9
9
40
-22
-37
3
10
-6
-96
-61
-23
53
27
-7
34
21
8
23
-4
35
-65
-41
27
-6
-5
-31
-11
10
9
3
33
9
-33
2
-22
7
5
-34
-32
21
39
11
-7
0
6
47
-13
30
14
-20
-9
6
30
-10
1
3
-18
2
-9
-4
2
14
1
15
-34
19
-16
32
-17
0
-45
62
12
-74
-23
-4
-18
12
0
9
-41
58
5
0
-35
71
0
6
-25
-27
-65
53
-97
-3
-9
4
-22
46
-38
12
-44
-17
42
0
2
4
-13
24
3
-48
6
-18
-7
-42
-74
-148
-42
-71
-13
7
0
0
23
23
-27
-43
-31
1
9
1
-84
15
-12
-27
-44
13
38
0
0
0
0
0
-8
-24
0
0
0
62
-2
11
7
13
1
0
0
0
0
0
0
22
-9
0
0
-3
-38
8
67
-5
7
8
0
0
0
0
0
3
-2
61
44
42
-65
40
19
-19
32
1
15
-1
0
0
0
0
0
5
-42
-64
-36
52
-51
13
71
3
-23
3
0
0
0
0
0
1
9
-5
25
-30
7
14
-50
-30
-15
26
0
0
0
0
0
0
-1
-10
-23
-18
6
-10
-5
-11
18
-8
4
0
0
0
0
0
0
-2
-16
-35
64
28
-18
-61
-4
-32
-13
-1
-2
0
0
0
0
0
0
1
-11
-26
62
-33
-4
3
-17
-1
6
1
0
0
0
0
0
0
0
7
-33
-24
-11
-10
6
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-7
-14
14
1
1
-2
0
0
0
0
0
0
-5
11
0
0
17
8
6
-29
10
-3
0
0
0
0
0
0
0
9
50
49
63
-93
-4
34
33
-2
1
0
0
0
0
0
0
0
9
-59
3
17
-1
-4
22
14
-2
0
-2
1
0
0
0
0
0
-1
20
-24
-32
32
-52
28
5
5
-2
1
0
0
0
0
0
0
-3
3
-11
-45
-3
-25
17
-14
0
-5
-1
0
0
0
0
0
0
2
-20
-5
2
-12
-9
-26
0
-6
-1
0
0
0
0
0
0
0
0
17
-36
-22
-45
23
-8
-9
0
5
3
0
0
0
0
0
0
0
-1
5
-34
-5
7
2
0
-1
0
0
0
0
0
0
0
0
3
118
0
0
0
10
28
43
-33
5
0
0
0
0
0
0
0
8
64
0
0
-15
5
21
5
43
14
-4
0
0
0
0
0
0
-23
27
-51
82
-9
34
32
27
7
5
2
0
0
0
0
0
0
-4
-20
-8
4
49
-36
44
-4
-26
5
-1
0
0
0
0
0
0
2
-97
-18
-47
-23
2
-2
22
11
4
1
0
0
0
0
0
0
5
-72
43
43
-7
-23
-3
-1
-3
0
0
0
0
0
0
0
0
-3
-36
-34
-53
33
-23
9
2
-7
0
0
0
0
0
0
0
0
0
-5
5
-49
-40
-5
22
4
2
-4
0
0
0
0
0
0
0
0
1
14
-64
0
-5
-1
-1
0
0
0
0
0
0
0
0
0
-16
34
0
0
0
81
38
-4
-4
5
0
0
0
0
0
0
0
41
16
0
0
7
-15
-48
-41
7
-14
0
0
0
0
0
0
7
-9
108
46
100
12
-3
-21
17
-7
0
0
0
0
0
0
0
-1
-25
7
23
-100
-23
33
-2
25
10
-2
0
0
0
0
0
0
0
-35
-27
-60
-43
-20
-24
29
9
-7
2
0
0
0
0
0
0
0
9
-42
26
-20
28
-6
-5
15
2
0
0
0
0
0
0
0
0
2
-57
24
-19
-20
5
5
2
7
1
0
0
0
0
0
0
0
3
-8
-14
13
-34
-5
-5
2
1
0
0
0
0
0
0
0
0
0
0
8
4
-8
-5
0
-2
0
0
0
0
10
43
36
4
-20
-1
42
0
0
0
42
-3
27
-7
-6
0
-1
-1
-20
-21
-31
45
-38
12
0
0
0
45
15
-46
-4
-23
2
0
-6
29
-12
15
-4
-10
-18
51
49
171
11
43
26
5
0
-2
-1
-1
-22
-5
2
-22
81
7
54
-13
25
22
57
32
5
-2
-5
0
-3
-5
5
-4
-30
32
38
-26
-30
-18
40
-64
15
16
6
-2
0
6
-7
-22
-24
-8
-9
-56
-48
-28
-14
-63
12
6
-14
-5
3
0
-5
7
43
-10
9
-23
-49
-71
-9
-8
-78
-24
14
-1
-1
-5
-1
0
0
-33
-30
-6
-11
-59
8
-27
-47
31
11
-8
2
-7
1
-1
2
4
-26
37
-3
-24
-9
9
36
1
-21
23
7
1
0
0
0
-17
-6
18
-1
6
34
50
0
0
0
4
33
-17
26
19
0
0
14
-8
41
4
9
10
117
0
0
0
48
67
0
8
-30
-16
5
-19
-18
-32
25
3
19
51
-40
14
4
10
9
46
-18
-28
-7
-1
-14
10
-4
17
4
5
-35
96
134
-32
-72
-18
-63
-29
8
1
0
-2
-14
31
15
-25
-31
-76
13
81
-9
-27
-6
27
-2
-4
-9
-1
-3
-4
-16
-62
-13
8
3
20
-55
-15
-30
-23
17
-6
-6
-3
0
-8
-10
-27
6
8
-52
-62
11
28
-9
-72
-6
-17
-7
5
0
1
4
8
-25
-14
-6
16
-6
-2
3
-4
-65
-29
6
-1
3
0
0
0
-3
0
2
7
0
-23
-7
1
15
-17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-67
-93
65
17
94
0
0
0
-7
6
13
-4
-4
-20
0
-16
106
-35
58
88
43
136
0
0
21
-59
7
27
14
4
14
0
0
-76
-17
-43
2
63
96
53
-24
-52
32
-10
20
-25
8
0
0
-17
-17
-12
-17
111
62
-3
72
2
1
-47
-37
43
1
18
-5
0
-52
-21
25
-22
-43
-21
-90
41
23
-11
-90
-24
-14
-9
17
7
0
14
-32
-3
45
-21
13
-53
-32
-101
-5
-33
38
-6
-13
3
3
0
-10
50
29
21
8
-28
6
-35
-36
-21
2
-25
-18
0
3
0
0
-23
15
-37
17
14
33
-21
3
-48
7
-3
3
3
5
-1
0
0
0
1
2
-33
1
-5
-39
5
-5
2
-3
-8
-7
-3
0
0
0
22
-11
-38
17
57
7
35
0
0
-56
-45
-13
-15
38
-4
0
0
-55
-55
0
-56
71
4
-15
27
-42
20
47
17
-86
-7
-1
0
0
-4
43
-33
33
21
7
42
-18
-60
-41
-9
2
0
-2
-4
1
0
-22
13
16
-42
-10
-6
42
11
22
-11
48
43
30
-27
-15
0
0
1
85
-7
5
-45
15
8
9
15
34
3
53
-22
-7
-2
0
0
80
-58
-21
12
4
34
-21
-10
22
-4
-2
5
25
15
-2
0
0
-38
-20
68
-17
-5
-7
18
-5
53
1
-20
3
-32
0
2
0
0
7
38
14
30
-12
-14
23
15
57
4
-1
-15
-22
-1
0
0
0
-14
-8
43
6
37
-21
-102
-17
-24
-9
32
11
1
0
0
0
0
-70
12
48
14
79
135
15
0
0
-7
-32
-8
-8
1
0
0
0
18
-1
6
4
28
29
-10
-53
4
16
2
13
-2
-4
0
0
0
-23
44
-19
6
42
-2
-10
-43
-6
3
-5
-19
-3
0
0
0
0
9
28
-26
-1
30
-4
-2
-22
82
10
-15
-2
-5
1
0
0
0
12
-14
-2
-13
42
-4
-48
7
-24
-22
23
9
0
0
0
0
0
-3
-11
-6
24
-40
-20
67
17
19
5
24
-2
0
1
0
0
0
3
0
-14
-14
-11
-11
-1
-12
-8
-39
-16
7
-1
3
0
0
0
-27
-3
-2
-18
-41
-4
22
14
3
22
1
-1
0
-1
0
0
0
-54
11
-7
-43
-18
-10
-31
32
-22
11
-4
-7
6
0
0
0
0
-41
5
48
-7
-10
111
0
-40
0
53
-25
-23
14
-3
0
0
0
-14
3
11
14
27
83
0
21
16
45
3
-5
14
-7
0
0
0
14
-16
-3
12
46
5
12
-66
-23
-39
-11
43
-33
-1
0
0
0
14
-2
-40
44
-28
-4
-80
20
17
-30
7
14
14
-1
0
0
0
-30
20
-30
23
-13
5
-12
-43
-4
17
5
-12
-22
4
0
0
0
-18
3
-10
14
-37
38
-30
1
-21
14
3
-11
-14
-6
0
0
0
6
-6
-10
-51
-100
20
-10
-1
8
-17
2
1
2
0
0
0
0
-25
34
-23
-5
-27
1
-45
-28
-42
-7
6
1
-2
0
0
0
0
0
-1
-23
27
-50
-15
-26
-7
8
1
-3
1
0
0
0
0
0
-8
-7
-43
-25
21
12
126
0
0
-16
-5
57
32
-22
15
4
0
-21
-42
68
-14
45
-1
57
0
6
0
-25
-37
6
5
5
-1
3
-44
-22
-24
8
-46
33
13
65
90
12
9
46
-7
54
-45
-43
-1
-8
-33
15
-20
-14
20
88
7
-12
-45
-80
-8
-19
7
-71
4
0
22
-11
-43
-45
-14
-28
-20
-23
-9
-1
-33
29
5
-2
-5
0
0
-20
30
-79
-62
-5
48
3
-62
-44
-76
-3
-50
14
-16
-5
2
0
0
-45
-62
-6
36
-113
26
-20
-52
5
-14
33
-25
20
0
0
0
2
-32
91
31
-22
-1
18
-73
19
-21
-23
-2
-13
9
-1
0
0
2
-18
18
-32
-29
-15
19
-17
5
3
2
-4
0
0
0
0
0
31
-21
-1
-13
46
-4
0
15
0
-5
5
34
47
7
2
0
0
4
-62
2
6
-15
114
-12
0
11
0
40
24
-27
-15
5
0
0
-6
-50
-62
3
4
56
6
137
5
111
45
89
-34
23
-9
0
0
-59
34
6
-38
47
-31
-14
44
31
73
48
-15
-7
10
-1
0
0
-4
37
31
-4
-60
21
24
-54
-57
-57
53
3
-5
-26
-10
0
0
-6
-9
13
-42
-1
-5
1
-52
-43
-89
-47
-12
-2
-3
0
1
0
2
-4
-74
48
-58
-20
5
-23
-47
-34
-6
-4
1
1
0
0
0
7
13
-29
23
-32
36
-47
-15
-21
-29
-14
-3
0
0
0
0
0
11
-4
-5
-15
-48
-2
2
-15
-13
-9
8
1
-1
0
0
0
0
-20
14
-15
64
28
33
-14
0
0
0
27
44
7
-29
1
0
0
-71
22
7
-19
4
-9
21
-2
0
25
16
52
4
22
4
-7
1
68
-78
36
23
54
-36
-5
69
-1
55
59
-32
-9
-17
2
0
0
-68
32
5
-27
24
51
27
30
67
41
-21
-31
-9
-13
-1
0
0
-19
6
16
-43
20
-22
-10
32
2
-7
-22
18
-4
1
-1
0
0
58
-21
-35
2
18
36
-40
19
-34
-73
-79
-21
15
-2
0
-2
0
15
-8
-51
-42
15
18
24
41
-40
-60
-14
-20
2
5
-5
0
0
-24
18
22
-3
-20
33
43
-32
-10
-33
-32
10
-7
0
0
0
0
-1
-43
-19
-20
8
10
-6
-20
-35
5
6
0
0
0
0
0
0
0
0
0
0
0
0
4
22
0
26
81
5
48
33
23
-27
31
0
0
0
0
0
0
22
41
79
24
29
24
61
95
-13
-68
42
0
0
0
0
0
0
29
3
-8
53
90
-17
-17
-62
21
81
-23
0
0
0
0
0
0
-1
-11
8
10
-53
-4
43
3
44
-14
14
0
0
0
0
0
0
0
3
6
27
-11
-25
-28
-106
-43
-4
60
0
0
0
0
0
0
0
10
-25
-39
-35
-5
-10
-37
28
-118
-41
0
0
0
0
0
0
0
1
8
-8
-6
-53
-31
-44
-24
-33
11
0
0
0
0
0
0
0
0
0
9
-53
3
-37
19
-13
15
-97
0
0
0
0
0
0
0
0
0
-1
-1
-24
-4
-12
18
16
-49
0
0
0
0
0
0
0
7
0
8
8
62
9
-45
-5
-20
-51
0
0
0
0
0
0
0
4
38
-32
7
-37
21
44
-14
70
44
0
0
0
0
0
0
0
0
8
0
15
-5
3
-28
-56
8
6
0
0
0
0
0
0
0
0
2
-5
-2
-6
-24
16
-53
-4
18
0
0
0
0
0
0
0
0
1
10
1
-20
-29
3
-33
18
17
0
0
0
0
0
0
0
-1
0
-1
20
28
24
52
32
-35
-43
0
0
0
0
0
0
0
0
0
-1
-8
0
11
-69
-54
6
29
0
0
0
0
0
0
0
0
0
0
1
-18
-15
64
-71
-22
-19
0
0
0
0
0
0
0
0
0
0
0
-6
8
8
27
-31
-22
0
0
0
0
0
0
1
-1
0
-5
-5
-14
-17
72
32
5
5
0
0
0
0
0
0
0
-14
7
-4
-27
-22
-33
54
-56
-34
29
0
0
0
0
0
0
0
10
5
32
10
31
29
64
1
-18
45
0
0
0
0
0
0
-1
4
0
5
-14
12
2
-56
-13
54
-25
0
0
0
0
0
0
-1
0
5
14
-5
-42
5
-60
9
-46
45
0
0
0
0
0
0
0
-1
-2
10
45
13
-57
51
49
5
-26
0
0
0
0
0
0
0
0
1
15
-14
-5
-17
-49
29
-15
-13
0
0
0
0
0
0
0
0
-2
1
0
-5
-17
-16
4
15
-3
0
0
0
0
0
0
0
0
0
0
1
-2
-4
-4
-20
-8
2
0
0
0
0
0
0
0
5
0
-4
69
35
1
24
-12
7
-4
0
0
0
0
0
0
2
-9
-1
39
14
93
27
-17
-94
42
-7
0
0
0
0
0
0
-1
43
-5
1
14
46
-61
39
62
93
45
0
0
0
0
0
0
0
6
14
3
-33
-14
53
-56
22
-95
-32
0
0
0
0
0
0
0
-2
-1
-7
-33
-53
-26
72
5
-54
7
0
0
0
0
0
0
0
0
1
-1
-1
-18
5
34
47
-17
11
0
0
0
0
0
0
0
-1
0
0
-25
24
5
42
-26
33
-20
0
0
0
0
0
0
0
0
0
0
4
-15
-30
-62
10
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
-1
0
0
0
0
-2
5
-7
-22
0
52
0
37
83
13
6
30
-37
0
0
0
-1
-14
5
4
2
-74
-45
24
74
3
25
-32
-51
-39
0
0
0
0
3
-23
17
27
-20
-14
58
14
-22
-47
3
15
-52
0
0
0
0
0
-1
13
-9
4
24
60
23
33
1
23
-7
10
0
0
1
0
0
-3
22
-34
-4
1
42
84
-24
11
-10
65
54
0
0
-1
0
6
18
45
22
43
43
108
-12
-19
33
-35
-7
32
0
0
0
2
0
0
13
-33
-30
21
51
-75
72
-20
-2
-16
13
0
0
0
0
0
-3
0
19
-33
-5
-30
17
-21
-51
71
-54
33
0
0
0
0
0
0
-5
-1
3
-5
2
-6
3
5
-10
4
-58
0
0
0
0
0
-6
7
-27
0
-18
13
42
54
4
11
-53
3
0
0
0
-7
-3
2
-10
20
19
33
65
23
5
4
48
-1
3
0
0
0
0
13
1
-3
37
-23
7
36
-10
47
-28
-1
34
-1
0
0
0
0
-6
-4
17
-15
44
-1
-22
14
-62
-8
10
52
12
0
0
0
0
-1
1
-26
-33
14
-48
90
0
53
44
32
22
13
0
0
0
2
-7
-19
-33
-7
2
34
60
-35
-8
-28
-37
13
3
0
0
0
0
0
6
-4
24
-33
-27
39
21
34
4
-35
-5
9
0
0
0
0
-2
0
11
-14
6
-14
-6
-60
-47
-26
-18
2
19
0
0
0
0
2
-2
2
1
-6
21
-19
9
23
3
-46
-57
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-39
53
-28
57
0
80
-27
21
47
10
-12
-26
-53
0
-20
-10
-25
-12
-57
8
13
8
-32
-34
70
-10
-35
-21
-42
-1
-1
-9
-45
-25
-5
50
-23
25
-15
38
24
21
7
-19
-95
8
37
0
-20
21
53
16
48
-44
-10
-48
-14
-30
15
12
-51
-30
34
-36
-1
0
-1
32
29
-54
66
-32
39
24
-9
-11
-62
19
-30
-75
-54
1
0
-18
-21
-45
-12
-41
34
-3
9
-52
-49
-74
19
84
-5
5
0
0
7
-2
-16
-43
-32
18
-22
-19
8
-18
-8
27
-27
-34
-14
0
0
0
-1
0
-3
4
-16
-51
30
-29
18
33
8
-27
0
-18
0
0
0
0
0
0
2
2
-17
-11
-8
-33
-13
-21
-15
-5
2
0
-15
5
-9
21
-22
33
25
0
-32
28
5
87
-10
-51
-27
0
2
-5
-107
-18
10
31
-6
42
17
-21
2
-21
-25
-10
-3
38
0
1
-5
38
23
61
14
16
3
-34
10
-42
3
26
-60
-7
2
0
0
-5
19
-3
-7
-53
4
33
28
34
30
26
11
-18
-55
-74
0
-1
1
-7
17
40
-32
-40
25
7
10
-3
15
49
-104
-13
1
0
0
11
-9
9
-10
12
14
10
34
-10
-12
9
-97
-17
-10
14
0
0
1
2
-42
8
-37
-30
-7
14
-16
12
100
-68
49
-5
-31
0
0
5
-7
-34
15
15
-14
4
35
-18
-32
11
-36
37
-2
32
0
0
0
2
-14
-49
3
-9
-1
-31
21
32
-3
-16
-22
1
0
0
-1
-45
16
-31
2
20
3
-10
0
13
0
15
9
-7
-6
3
0
-2
5
23
-14
4
14
-5
1
-12
-17
44
50
-17
10
-53
18
0
8
5
-28
22
-11
-6
8
-6
-17
-69
-9
-31
48
28
-59
5
0
5
37
-14
5
-3
1
-9
5
36
90
-25
-33
49
-64
-17
-8
0
0
0
5
4
18
2
13
-24
-5
-30
30
-21
19
-8
-30
-10
0
12
5
-10
13
14
7
-3
-16
16
17
-23
41
-86
0
-26
-5
0
19
53
-19
-32
1
16
-1
1
-5
-25
-46
24
-79
20
-15
-1
0
-9
-22
-14
6
3
8
-26
16
-27
-79
14
21
-48
-8
-7
3
0
1
-23
-20
-29
14
-22
-14
-32
-1
9
-26
-62
2
-5
9
0
0
-1
4
14
8
55
12
5
-2
0
14
-24
8
-9
31
-49
0
0
-8
-29
-34
-39
-18
41
0
7
-7
20
24
43
90
12
11
0
0
14
5
19
-19
-15
-1
-1
1
-20
-18
46
37
4
-29
8
0
0
-4
5
-41
1
7
37
-6
-40
-43
-40
34
-42
57
-24
-17
0
0
-5
7
-2
51
24
14
15
-60
-34
-36
19
5
-78
-53
-14
0
0
10
14
18
-45
-27
-34
18
-55
9
-34
-60
14
-53
-16
11
0
0
5
-1
-13
9
-26
12
14
0
42
-22
-31
-99
-38
-8
-4
0
0
1
5
52
-65
-35
-2
-33
-47
24
40
-42
-96
3
20
6
0
0
0
0
0
1
3
-4
-2
-6
32
-19
-21
36
32
9
-3
0
0
0
-2
-17
-27
-4
-7
-22
84
0
-44
82
-13
11
-6
-17
23
-23
0
5
-17
-30
-23
-34
-4
8
-8
22
43
-34
55
53
-8
-37
73
0
3
-1
-53
26
-37
-21
17
42
-60
5
88
-22
-29
-9
15
-46
0
5
-30
-4
0
4
34
-36
-47
24
-34
25
-2
-50
26
33
38
0
-1
11
6
-12
35
26
-51
2
-31
81
-10
-9
-4
5
-65
-106
0
0
-8
-14
-27
-14
-15
19
-38
25
-62
63
9
42
17
-46
60
1
0
-1
-31
-1
-10
-59
1
-8
-25
-5
-42
-76
-14
-63
-7
-27
0
0
6
13
-6
0
-31
-5
-31
-34
-37
-46
25
-62
-31
49
14
0
0
1
0
-2
-1
-6
-10
-20
-13
-71
-18
-29
-3
0
-30
2
0
0
-1
-7
-43
5
17
2
0
6
-33
52
126
30
33
-43
-9
0
0
0
6
-6
34
35
75
16
32
19
51
71
-13
53
-5
-22
1
0
-1
-1
8
-15
-63
-40
17
21
-23
48
38
42
-30
17
67
0
0
0
7
19
51
-25
16
-9
-6
25
-33
14
14
-7
-58
-12
0
0
0
1
-10
-9
-71
3
-8
-12
-15
-43
-8
53
-54
-15
20
0
0
-1
0
-16
-14
-54
-39
10
-68
14
25
2
-15
-21
-79
15
0
0
0
-13
-3
-15
-44
0
3
-27
9
-9
34
-17
79
17
-10
0
0
0
-1
-9
-1
-37
8
-33
6
20
22
-23
-51
-54
16
1
0
0
0
0
0
14
-21
-18
-61
7
-25
-18
-14
4
-4
1
0
0
0
3
19
-17
22
-55
75
0
-24
-34
38
41
33
-23
-29
20
0
2
-27
-6
22
23
17
19
-72
-3
29
51
-1
-20
7
5
37
0
0
2
4
-24
-61
-25
-10
-12
20
42
-3
60
50
32
26
-22
0
-1
-3
-20
-17
-15
52
32
71
33
14
-45
67
-23
111
15
56
0
3
-3
-23
15
-2
4
50
-59
35
26
24
15
-3
12
-83
-30
0
0
0
27
-32
3
2
-16
30
-5
23
-40
-35
-15
-27
26
28
0
0
9
-23
-36
-5
-53
1
17
136
37
-48
-16
-36
-16
-95
-48
0
0
-1
-1
26
-26
-20
-60
-5
-3
-54
20
-36
12
-43
31
-47
0
0
-1
0
-18
38
22
12
-85
-14
-65
65
-9
-8
-4
8
-1
-18
13
12
10
-21
-1
54
-24
-51
17
-14
-6
0
0
4
63
9
2
-59
16
-37
26
47
51
20
69
41
43
-11
42
31
2
32
8
0
0
78
-1
18
1
-3
33
10
68
-25
-17
-6
16
-48
-58
-37
-51
-37
-30
8
4
0
0
-16
-28
55
-38
-64
-66
-65
2
42
60
30
-51
55
73
17
-12
46
41
8
-51
0
0
64
63
-34
26
46
64
49
106
-27
-27
-14
-139
-61
-67
-37
-109
-72
-71
-79
-81
0
0
-20
-3
-74
-41
-86
-88
-90
-57
36
13
32
62
74
83
-1
37
106
97
107
-13
0
0
47
43
6
0
75
-26
82
101
-40
-6
-5
-33
-114
-5
-30
-56
-145
-31
-36
17
0
0
-18
25
-17
0
-199
-120
-155
-53
37
-53
18
16
168
-21
15
-67
254
59
20
-32
0
0
20
-22
-40
2
203
31
104
11
-109
-14
-15
1
4
-34
-46
5
2
-42
-35
9
3
2
-4
-25
2
1
3
22
3
7
3
3
54
-29
-25
-16
-26
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-8
18
-12
-6
-19
17
-16
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-7
9
-13
0
11
17
-13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
33
22
-10
0
0
-7
-6
-36
0
0
-48
-6
-4
0
0
-18
-1
1
0
0
-33
3
5
0
0
33
-17
-27
4
-3
-10
2
-20
-12
-5
0
2
-1
-29
-4
0
-3
0
-3
-1
4
-5
-1
13
-17
11
24
43
4
1
-2
0
-6
-7
5
-4
1
-34
-4
-33
0
0
0
-7
-16
-10
0
24
-30
4
4
10
13
24
1
1
-7
0
-19
-31
-37
-40
4
0
0
0
0
0
-3
0
-7
0
6
-9
-13
3
-3
37
0
4
2
1
3
0
-42
0
-6
-48
0
0
-4
-11
3
0
-10
-5
-12
-2
0
2
2
13
-12
0
0
3
-2
-14
0
0
1
-1
-7
0
0
1
0
1
0
0
3
-5
6
0
0
-13
-29
18
7
8
6
-1
-4
6
4
5
0
3
-14
1
2
3
1
5
-8
0
-4
5
20
-16
0
-21
-3
0
13
1
2
-2
-1
-1
0
0
-1
3
-4
0
1
16
-3
-1
0
0
19
-53
0
-36
17
-16
1
-5
0
1
1
-7
2
-3
-2
1
0
0
0
0
0
-1
3
-1
-7
2
32
-25
-1
-16
11
0
-4
-3
1
6
0
0
2
-6
1
0
0
0
0
1
0
-1
1
1
-4
0
32
85
-2
-10
0
0
-3
0
-3
0
0
-3
-3
2
0
0
-1
1
-4
0
0
1
8
-1
0
0
-4
59
-21
13
-4
-8
0
32
16
-15
-53
3
-12
-80
-101
-20
90
48
-5
-42
-7
-31
73
87
92
14
14
-2
6
11
-17
-17
23
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-48
-29
27
43
-2
20
-22
-25
-34
-5
0
0
0
-1
-1
0
0
0
0
0
0
0
-1
0
0
25
40
0
-41
-18
0
1
54
-27
-134
0
0
0
0
0
0
0
1
3
0
0
0
0
-4
0
0
-31
-4
71
17
0
0
-63
-22
-14
0
0
-7
-56
-17
0
0
25
-68
21
0
0
-15
-22
-14
0
0
-43
32
1
-20
-5
-7
-5
-7
-62
-69
-27
-36
-12
-57
-17
-25
16
50
-44
-20
16
8
-44
-24
50
13
34
-46
-13
-31
-8
-27
26
-26
-20
-23
-33
-39
-2
-48
-33
-4
-10
-21
-11
-91
-13
-31
-70
14
17
-7
8
-14
0
-13
-45
-19
-11
104
-90
-6
-25
0
0
0
0
0
32
-23
-9
-2
-13
-47
-21
34
49
30
0
2
-5
-21
39
0
-72
-42
-22
33
0
-81
58
-24
-20
0
42
8
44
8
0
-4
37
-37
2
0
0
-12
2
23
0
0
-22
4
-44
0
0
-43
11
-85
0
0
9
60
4
0
0
60
-26
9
-21
-8
-6
8
-11
40
-18
-12
-6
-29
14
1
4
28
-11
70
5
25
17
-14
78
-2
-33
-62
11
-15
-6
-13
-11
-9
-53
-41
-41
-50
-48
-20
-23
2
17
-33
72
-44
-37
20
23
-13
-4
63
29
-9
-28
4
-12
-7
-7
42
-71
-50
-47
47
0
0
0
0
0
98
9
10
3
25
18
53
-8
8
16
0
-5
-10
0
-7
0
-44
1
-30
-48
0
-58
6
-5
-5
0
-58
22
-6
9
0
-8
4
75
-12
0
0
10
-6
19
0
0
-6
-13
-13
0
0
-5
28
11
0
0
24
-5
35
0
0
19
33
51
-3
7
4
10
3
-24
10
-3
5
-6
81
25
3
0
-9
44
50
21
54
10
-45
89
-3
-17
-16
6
13
4
0
11
17
-37
39
-2
19
74
26
34
21
12
-14
19
10
18
25
23
0
18
22
32
-11
-2
-10
9
6
-80
-37
-13
19
-32
0
0
0
0
0
-14
85
-1
69
-37
-3
68
-5
49
53
0
0
-4
-3
5
0
-4
-22
-12
31
0
-14
3
1
21
0
19
44
22
77
0
-12
1
-16
9
0
0
-9
6
-7
0
0
-9
-14
20
0
0
51
5
0
0
0
-76
37
94
0
0
1
19
12
1
29
11
28
-6
-10
6
2
48
-2
16
19
58
31
92
21
13
-13
42
-54
-9
0
19
4
0
44
12
14
22
-5
-3
-6
-19
-7
18
-1
-6
3
6
-23
19
26
6
4
-7
49
3
-21
-12
-8
-6
-2
6
-8
11
-67
-2
5
20
1
0
0
0
0
0
-11
-11
23
67
43
0
53
-15
-19
1
0
15
-11
8
29
0
-9
-14
19
18
0
44
42
39
-1
0
9
-31
37
20
0
0
0
43
0
0
0
8
-1
21
0
0
-3
-26
19
0
0
-20
12
-32
0
0
15
-3
68
0
0
0
0
0
-23
-9
-2
2
-3
-4
7
-7
-2
-2
-41
-16
-14
0
11
10
-9
2
-3
26
61
-4
46
28
-16
-5
-10
-2
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
6
18
-33
-28
13
1
-2
-1
0
0
0
0
0
9
-3
-24
0
-10
0
0
0
0
0
-3
1
28
14
-37
0
19
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-20
5
0
0
23
-1
-11
0
0
-30
1
-19
0
0
0
4
-4
0
0
4
4
-32
0
0
4
14
45
6
7
7
-2
2
6
2
1
0
5
8
-4
7
-4
3
10
6
-11
-1
-2
23
8
-5
19
6
8
6
0
1
5
-11
-4
2
0
-7
-1
4
-16
-24
-1
-1
-40
6
-25
-15
12
-5
-3
10
-3
7
18
6
6
2
3
-4
1
1
-12
1
1
-1
0
3
7
0
1
-1
16
15
3
43
-42
-8
0
3
2
2
-3
0
-25
0
1
-8
0
-4
2
-1
0
0
0
3
-8
5
0
6
10
-47
33
0
0
1
-4
-2
0
0
-4
-3
-10
0
0
1
-8
-4
0
0
-3
-8
-11
0
0
-2
25
3
3
5
2
-1
5
4
0
1
-1
9
5
-1
1
1
-5
21
14
-30
-34
-14
-25
0
14
-53
45
15
5
6
5
3
5
2
3
2
1
12
3
4
0
-1
9
1
-7
4
27
44
-12
-42
-6
27
12
2
4
1
13
3
-1
2
-4
3
14
0
2
0
-3
-3
1
0
2
-4
8
-34
27
59
-28
0
0
1
-1
-1
0
-3
-2
0
-10
0
11
0
-4
-1
0
-13
-14
-1
12
0
14
-10
0
62
0
0
2
1
-4
0
0
2
0
-12
0
0
-2
-17
-30
0
0
35
-20
-7
0
0
29
-18
-19
-38
-20
-65
-33
-9
-8
-46
-11
-16
-30
-11
-35
-54
-15
25
-14
-16
45
-25
-17
9
-25
-29
2
0
-70
-50
-73
-70
17
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-21
6
-1
-16
0
-76
-93
-31
-25
-108
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-43
0
-4
0
0
-101
-5
26
33
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
31
-141
41
0
0
-61
-53
36
0
0
1
-51
6
0
0
-18
-39
2
0
0
1
3
0
-47
-38
10
-18
-44
24
-15
-65
-47
12
11
-24
-38
-34
-30
12
-100
8
-35
-1
-35
-39
-35
-16
1
-61
-47
-21
-26
-29
-33
-48
-27
-61
-43
-6
46
-8
-71
-43
-29
16
-24
-23
-4
26
-27
-62
1
9
-82
-26
-15
-45
-4
21
-74
0
-80
31
0
0
0
0
0
8
-4
-32
-6
-5
30
-32
10
26
-18
0
-47
-59
-11
-20
0
-58
-111
-19
-34
0
1
-10
-59
-27
0
-46
-43
-32
-26
0
-16
-14
-26
14
0
0
14
-18
-15
0
0
-37
-18
-111
0
0
8
-11
-88
0
0
21
-21
-75
0
0
36
0
-14
18
2
13
6
-25
37
1
27
11
-7
-6
-4
17
-53
-22
-16
17
-8
72
-16
12
-25
17
7
23
8
3
-10
0
0
14
-3
-4
-14
-30
-7
-16
-22
-37
-37
-14
-14
-5
23
-35
72
-4
-18
-2
-5
-46
5
-1
-7
8
73
8
25
-26
-41
0
0
0
0
0
2
3
9
-42
-29
60
7
14
-24
-26
0
6
6
-10
15
0
-19
11
-20
-15
0
-24
3
-37
-4
0
9
-16
-46
-59
0
14
-58
14
26
0
0
-13
-3
17
0
0
-14
5
-9
0
0
-3
5
-13
0
0
10
-11
-80
0
0
37
-31
1
18
14
17
-3
6
6
16
23
31
6
10
17
3
25
17
-21
-1
-23
28
-6
5
10
67
-9
-5
18
20
-1
17
-28
38
2
21
12
17
-38
3
8
-15
-42
43
-40
23
20
-9
-9
5
23
-27
0
38
0
4
9
-3
-25
2
1
11
7
0
0
0
0
0
-43
8
-7
23
14
13
29
-13
0
-21
0
15
13
5
6
0
-17
15
-14
-3
0
106
-12
6
-53
0
36
-22
15
-14
0
-14
-8
23
20
0
0
6
-9
-17
0
0
10
8
2
0
0
34
4
-11
0
0
16
123
26
0
0
6
4
-1
3
16
10
-1
13
37
28
40
21
8
-98
-23
54
16
42
-10
112
6
-1
-16
24
14
-4
0
0
64
45
16
17
11
0
13
24
17
-24
-2
-8
16
17
62
97
-21
97
-29
26
1
14
8
-5
0
30
14
3
-5
26
-1
1
7
-5
18
0
0
0
0
0
11
-7
-64
22
69
0
3
-3
4
0
0
58
27
2
-42
0
7
28
5
-6
0
45
63
-3
-2
0
-4
33
-25
7
0
0
0
0
0
0
0
8
-79
72
0
0
16
-26
32
0
0
17
18
25
0
0
4
0
2
0
0
0
0
0
0
0
18
19
-17
31
5
28
5
-15
-24
-44
14
39
-18
-57
-15
9
17
-82
-16
14
49
-24
7
20
-35
-22
55
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
43
7
34
-26
-65
-39
-17
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
6
-20
4
-12
0
36
18
28
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
33
-53
-21
0
0
-70
20
-24
0
0
-53
-33
-11
0
0
-94
-31
-11
0
0
-2
-18
-54
0
0
0
-17
3
-17
-4
4
33
23
37
7
24
49
-51
-74
23
-2
69
-35
-32
129
91
47
-77
-75
16
59
26
3
-26
-36
1
-10
40
44
3
5
54
34
27
42
7
3
29
61
35
10
5
-13
76
-30
51
-3
9
-36
2
35
-25
14
-10
7
-21
40
6
0
0
0
0
0
-15
33
14
5
-4
13
43
19
-19
23
0
78
30
31
-22
0
9
14
33
20
0
-38
33
5
51
0
-143
36
-32
44
0
16
-80
16
-17
0
0
29
27
39
0
0
18
41
48
0
0
41
64
74
0
0
-49
31
12
0
0
19
17
-2
7
32
41
65
160
155
88
119
137
-20
8
111
-3
64
-5
54
77
4
5
0
4
-4
0
1
0
61
3
41
71
-2
14
43
115
31
7
27
-2
83
74
-75
31
23
56
-29
25
-2
-3
-10
0
0
-20
45
81
35
46
75
32
25
1
49
0
0
0
0
0
-5
96
-26
50
-2
-18
13
-2
1
0
0
112
8
112
15
0
16
31
159
22
0
3
10
94
63
0
-38
14
20
-1
0
-9
4
-1
0
0
0
6
105
45
0
0
-21
32
-25
0
0
30
70
64
0
0
-25
-11
3
0
0
-3
-1
0
66
-29
37
-67
8
-3
-39
14
53
17
-10
-13
-9
-9
26
-11
-1
-33
8
-24
-20
57
14
-7
-1
-55
-26
-25
50
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
16
0
0
20
-73
-24
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-2
2
0
0
1
4
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-3
-1
0
0
6
11
-74
0
0
-6
-32
-8
0
0
-50
2
-6
0
0
23
5
8
0
0
-23
0
-4
3
-42
18
-33
45
-22
18
19
8
-20
-6
14
-13
-61
29
-81
-11
-15
25
12
-62
-39
36
11
3
-31
-27
4
-49
28
-9
-25
-21
5
0
-1
-2
-8
1
0
-1
2
-8
1
0
34
-139
7
-18
11
45
-59
-29
-50
-13
-1
6
-13
-3
1
0
0
0
0
0
0
0
0
0
0
-61
-1
2
53
11
0
-14
-9
3
22
0
-24
29
10
17
0
6
-3
0
0
0
-1
8
1
0
0
-45
53
58
13
0
0
-22
19
41
0
0
-61
1
-11
0
0
-58
-1
4
0
0
-73
22
34
0
0
-44
15
32
-33
-16
9
-22
-13
32
-5
43
-59
-57
-19
-37
13
-1
-2
-62
45
-4
10
-21
-30
15
12
22
1
-151
-76
-29
35
18
-37
27
76
7
46
16
17
-5
14
-43
-36
8
33
9
-32
25
-37
5
25
13
21
-44
-16
-1
11
30
32
-8
26
-5
0
0
0
0
0
-14
-96
-15
18
13
23
-49
23
8
17
0
33
-13
10
-48
0
-32
-81
14
14
0
-18
-37
-8
43
0
-18
-11
-43
-13
0
1
37
-5
6
0
0
-15
17
-10
0
0
-97
10
-33
0
0
-87
-72
50
0
0
-34
43
-10
0
0
27
-11
4
47
-33
-23
-39
79
-14
-10
61
119
-35
-31
-114
32
-15
-9
-11
107
-42
35
-41
-2
19
0
-2
0
-16
-18
-66
52
3
-6
13
119
66
-24
-5
-86
12
13
-15
21
-74
41
3
6
-4
25
9
0
0
-69
-6
4
13
20
19
-110
-7
46
27
0
0
0
0
0
-10
-26
8
7
15
0
0
2
-3
0
0
129
-7
53
5
0
-41
-3
-12
49
0
-28
65
69
-8
0
-4
-66
-21
6
0
-1
-7
-1
0
0
0
44
8
39
0
0
-28
30
35
0
0
5
78
32
0
0
-2
5
-25
0
0
0
0
0
65
58
137
-100
17
-64
-5
60
3
34
6
72
-1
-2
0
2
-8
1
-1
0
-3
0
0
0
0
14
100
23
-47
-18
-43
-14
106
-39
50
16
-12
33
14
16
7
13
17
-4
-2
0
0
0
0
0
-18
-54
46
122
-12
-1
-33
55
35
15
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
7
-31
11
0
0
-42
10
80
63
0
-50
-28
21
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-16
5
0
0
81
16
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-3
-4
-11
-7
-28
-6
0
-9
-15
-44
-25
-4
-7
10
-19
2
-4
4
21
-10
1
-1
-6
18
-56
-33
-10
-9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
3
0
-14
2
-49
-16
-28
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
1
2
16
0
-15
-7
-13
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
1
-7
0
0
8
1
-17
0
0
0
-11
6
0
0
5
-8
-7
0
0
-21
-13
16
0
0
12
-12
4
0
9
2
1
0
-19
3
2
-3
23
-8
-14
5
7
2
9
18
1
14
1
18
7
-3
-3
14
16
9
11
5
0
5
-14
-24
-10
-10
1
-23
-4
-1
-3
-7
0
-9
-1
-5
7
2
-5
-8
-2
14
4
0
-4
6
-6
-23
-8
-35
-19
0
0
0
0
0
-21
-2
0
-2
12
0
-4
9
-14
14
0
1
8
10
5
0
-12
16
2
-1
0
-9
-2
-10
2
0
1
-3
-10
0
0
17
-18
2
5
0
0
1
8
12
0
0
2
7
8
0
0
2
13
-2
0
0
2
12
12
0
0
2
30
-15
12
20
2
3
8
18
17
3
0
11
5
5
7
7
8
26
2
9
10
-2
16
23
-29
-39
23
57
16
12
8
4
4
2
6
12
7
-2
-1
-3
2
7
7
1
10
9
20
11
-5
-23
5
35
14
9
2
8
8
26
12
5
5
9
0
0
0
0
0
12
4
3
-4
9
-27
-25
8
12
-6
0
13
-2
5
26
0
-1
10
9
-1
0
0
11
4
1
0
3
15
3
17
0
35
18
9
3
0
0
3
10
3
0
0
8
10
22
0
0
8
-4
22
0
0
1
15
16
0
0
-20
34
56
-82
-14
10
-20
-25
-76
-69
29
1
-24
-192
-38
-28
23
-13
-64
23
13
38
-6
-1
65
42
35
-25
-119
-70
-2
-19
23
-13
-61
-53
-55
17
-20
-25
-36
2
-8
-55
-46
31
-26
-48
-69
-28
37
-27
-28
3
-31
-1
0
13
-5
-63
-21
-14
-7
0
0
0
0
0
0
4
-13
1
-1
21
12
-8
-60
29
0
-56
13
-1
-30
0
-20
-6
10
-19
0
2
-39
36
14
0
-6
33
25
-14
0
3
13
10
92
0
0
-11
-12
5
0
0
-55
-29
-15
0
0
6
-4
-13
0
0
-40
-13
-36
0
0
-44
-34
65
-52
5
14
-10
2
-64
-45
-16
0
-4
-91
-13
-16
12
12
-51
-1
12
8
-1
33
17
9
25
-3
-78
-48
-43
-2
-5
-220
-172
-33
-45
1
-190
-60
-73
-84
-62
-93
-51
-60
-27
-63
14
10
12
14
70
-24
-19
-10
-8
21
28
-107
-56
-110
-45
0
0
0
0
0
7
-6
-61
-91
-14
29
9
25
26
35
0
-16
-15
-12
-4
0
-100
-78
1
-93
0
-11
31
-21
-53
0
-28
16
11
-35
0
5
8
20
16
0
0
-3
-19
-9
0
0
-10
-31
-5
0
0
-25
-28
-6
0
0
-19
-10
-3
0
0
-10
-11
-2
-11
3
1
6
-20
-32
-11
-1
-2
-5
-13
-4
5
-16
-10
0
-4
10
21
9
16
23
2
15
-9
-2
-24
-9
-1
-17
-61
-99
-56
-10
-36
-93
-60
-35
5
2
-4
-25
-17
-15
16
27
-4
11
10
26
11
1
-19
-5
6
-75
-98
-42
-33
-41
0
0
0
0
0
11
-5
-4
3
-6
9
7
12
-1
32
0
-7
-16
-19
-3
0
-49
-42
-30
-17
0
-22
-4
-8
-12
0
9
8
-10
3
0
13
-28
19
-21
0
0
7
-1
8
0
0
-3
-8
3
0
0
-1
4
13
0
0
25
0
-22
0
0
51
40
12
10
8
12
0
5
20
25
12
10
9
65
5
7
-16
12
25
9
28
25
34
41
68
10
-23
-95
30
7
6
7
5
-31
-41
-13
-17
-41
-4
-5
12
3
10
27
2
5
-2
-8
2
27
-33
-11
52
42
6
-12
9
-12
-28
-63
-22
-12
-11
0
0
0
0
0
13
-2
7
29
-14
-36
-8
13
16
60
0
-4
11
4
4
0
-2
-8
-12
-8
0
11
1
5
-13
0
-10
18
-16
-18
0
-37
4
52
-20
0
0
22
-10
-11
0
0
16
4
-14
0
0
8
25
90
0
0
-3
21
1
0
0
-27
32
-43
56
-8
-2
2
3
29
25
-1
3
10
25
31
21
-61
-59
-39
22
-2
-33
-31
78
-97
0
65
-30
37
26
35
5
20
52
13
13
9
-7
32
12
10
7
24
60
8
33
-14
-6
105
35
33
71
-16
26
3
13
25
13
-27
-4
17
6
23
0
0
0
0
0
-46
8
58
59
21
32
-48
-27
8
-5
0
-26
-13
25
-8
0
32
-5
-11
14
0
11
61
15
35
0
43
3
-24
24
0
-48
-21
-18
-11
0
0
10
-23
24
0
0
-12
13
-12
0
0
2
3
43
0
0
86
96
55
0
0
1
3
0
-19
-19
-1
0
-1
8
-34
10
2
-10
2
-26
-16
0
7
6
12
9
20
12
9
9
10
-23
-28
5
-12
2
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
22
16
2
-13
5
7
-1
-12
7
0
0
0
0
0
-1
-4
-4
-2
3
0
0
0
0
0
5
10
9
4
-31
0
13
9
-15
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-11
24
0
0
35
-2
-6
0
0
5
-2
15
0
0
-1
-2
-6
0
0
2
-2
-30
0
0
0
10
53
18
9
9
2
8
25
2
8
3
-2
30
15
3
9
-4
45
18
17
19
2
12
9
12
52
70
48
18
18
18
13
-6
-4
2
7
2
12
-2
4
7
6
6
11
3
31
-14
-5
29
21
-17
14
25
20
13
7
23
5
-5
2
3
13
-1
2
1
4
-7
5
2
18
6
19
32
16
17
-22
20
0
5
14
13
13
0
-10
1
4
5
0
7
-1
-2
10
0
1
5
23
3
0
11
17
4
13
0
0
6
13
-3
0
0
5
-14
15
0
0
-8
-27
-11
0
0
2
-22
-6
0
0
-3
-14
-20
26
-7
9
-5
-12
39
12
-8
-20
10
28
15
9
14
-22
26
22
3
5
-35
115
-52
55
-18
-9
45
10
21
6
20
16
9
13
7
13
15
8
11
10
33
-3
17
14
19
56
40
19
31
32
14
25
24
9
5
-10
3
2
7
9
6
2
6
1
3
5
14
8
27
-1
-5
42
49
55
14
-103
0
1
16
3
-6
0
1
9
-2
14
0
17
15
-7
14
0
-11
10
-4
11
0
83
-32
-9
21
0
0
6
3
-3
0
0
6
-9
11
0
0
12
-1
-4
0
0
3
13
-15
0
0
42
-28
-33
-31
-29
-38
-11
11
-138
-94
0
-36
-30
-184
-283
12
4
14
-25
-86
14
-17
-83
4
-62
-78
28
16
-137
-69
-28
-32
-5
-11
-45
-80
-43
-4
-9
-22
-21
-4
0
1
-17
-7
-1
0
18
32
-47
-49
-33
-148
-111
-3
-52
-10
0
-14
-2
-1
1
0
0
0
0
0
0
0
1
0
0
-3
-88
-62
7
24
0
-157
-107
27
47
0
-1
-8
6
-1
0
0
0
-2
0
0
0
1
0
0
0
20
-4
5
13
0
0
-52
-45
-9
0
0
32
-23
67
0
0
35
16
25
0
0
-14
24
29
0
0
25
4
32
-17
-21
-9
-12
-3
-96
-53
-9
6
-24
-96
-77
-54
-33
14
-35
-36
-3
-52
14
-90
-91
-29
-28
-59
-13
-36
-34
-8
-13
-94
-136
-87
-57
-136
-12
12
-149
-166
-166
-190
-154
12
-15
-79
-2
-62
-29
-45
30
-48
-22
-15
-39
0
26
-109
-80
-178
-73
0
0
0
0
0
-24
-46
-96
-108
-109
53
-52
-18
-7
23
0
-11
-20
-13
-45
0
-66
-55
-140
-129
0
-98
1
-174
-38
0
-53
-25
-90
-47
0
-8
15
-29
43
0
0
2
-4
-33
0
0
29
-24
8
0
0
13
24
0
0
0
2
8
-8
0
0
33
-11
-31
24
7
11
7
23
46
-26
7
22
16
8
7
17
15
-11
23
10
13
24
15
14
-18
27
-20
77
52
19
9
4
21
26
-61
-35
-19
-56
13
-33
-45
-48
-62
18
-19
-37
-36
-50
16
5
-8
72
-12
18
8
9
2
2
5
-10
-13
-5
-39
0
0
0
0
0
0
5
-51
-44
-34
32
72
12
33
1
0
1
6
5
-8
0
-14
-13
-16
-25
0
9
-27
-29
-28
0
27
-28
-22
-48
0
41
36
14
51
0
0
5
5
11
0
0
13
-2
-7
0
0
-15
17
41
0
0
-5
20
-23
0
0
-19
50
97
16
32
24
-43
39
38
20
35
43
20
41
23
36
-4
-19
84
36
-11
10
1
4
7
45
23
14
79
39
20
24
38
27
-13
26
34
10
64
11
26
14
23
1
44
0
39
-2
31
14
-5
42
52
66
41
-3
44
0
21
27
20
39
46
0
0
0
0
0
52
13
18
16
11
-80
72
52
60
41
0
11
29
18
-5
0
-3
27
24
20
0
24
14
7
67
0
-3
-15
11
49
0
-78
75
39
50
0
0
8
55
-34
0
0
-4
16
32
0
0
2
52
24
0
0
19
-53
22
0
0
-18
1
-13
73
-8
-28
-1
88
41
39
34
52
1
73
21
24
-29
50
53
111
-28
24
2
129
6
0
0
0
88
44
22
7
12
58
34
76
44
47
42
21
31
2
72
99
21
44
23
24
-56
95
56
-75
8
68
38
44
-6
55
13
64
33
52
9
0
0
0
0
0
43
49
-11
22
23
0
19
-71
31
0
0
13
21
13
49
0
23
37
55
97
0
8
27
101
27
0
-35
29
15
-32
0
-9
-1
0
0
0
0
-2
33
139
0
0
13
-38
15
0
0
28
-59
6
0
0
-56
1
5
0
0
3
0
0
-11
-35
9
-23
8
-34
-74
-17
-5
20
-122
-66
-10
6
-8
-21
-49
-29
23
36
-64
-4
-7
-1
30
-41
-22
-39
-23
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
-57
4
9
-86
-45
-36
4
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-5
13
-13
34
0
-30
17
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-4
-54
0
0
-14
1
12
0
0
-27
17
-11
0
0
-45
-13
7
0
0
9
-6
45
0
0
3
-8
17
10
8
-7
-13
55
-20
-28
11
9
56
9
-45
0
41
62
-43
-4
97
-23
-109
46
-11
37
-40
33
-62
1
-7
11
-29
-11
-34
-22
-9
29
14
-16
51
5
-27
32
-64
3
1
-25
5
34
-29
-4
71
-36
-25
25
13
-19
-28
-32
1
46
56
0
0
0
0
0
-80
69
30
-17
35
-2
-30
39
22
18
0
29
-5
47
38
0
-67
24
36
13
0
7
-13
50
5
0
-27
-23
-11
49
0
26
-78
56
27
0
0
6
33
10
0
0
5
21
-14
0
0
-14
35
21
0
0
-1
-25
-92
0
0
20
-1
-4
49
40
47
-4
54
150
26
-6
64
2
-11
11
-50
140
-5
174
-24
5
-28
-14
14
58
-17
-7
1
35
-1
59
19
85
-5
-10
6
26
75
70
22
22
18
4
53
-9
39
21
14
20
-13
-25
30
10
42
24
80
-5
66
48
-4
32
-24
110
0
0
0
0
0
-81
33
-33
87
-8
-35
32
-8
3
-1
0
102
67
31
14
0
7
51
-13
45
0
30
30
127
85
0
-45
-4
6
72
0
-40
36
-46
3
0
0
15
88
1
0
0
21
27
10
0
0
90
32
98
0
0
-107
24
98
0
0
-4
14
-1
-69
-4
-13
47
36
-164
-57
66
48
-47
-64
-104
44
-14
29
-48
-22
-17
-79
-72
-144
-24
-2
93
74
-109
-38
38
-3
51
-4
20
8
1
-5
0
1
1
0
0
3
0
2
0
0
-12
-96
-44
57
32
-11
-18
-91
50
-6
0
-2
0
-4
0
0
0
0
0
0
0
0
0
3
0
-79
-29
-20
42
-1
0
29
32
22
-27
0
-37
0
13
1
0
1
0
0
0
0
2
0
-7
-1
0
-5
15
9
-17
0
0
-38
34
15
0
0
-32
-87
25
0
0
-81
51
29
0
0
-25
111
31
0
0
-27
-13
33
-56
-18
2
-3
33
-70
-50
-9
0
3
-93
-17
13
-33
11
-55
-62
3
20
-3
-95
12
7
20
-21
-89
-56
-49
-10
-2
-150
-153
4
-15
42
-92
-58
-47
25
2
-62
-30
18
-5
16
-41
-38
-20
-11
-28
-56
-61
-27
-31
-18
-35
21
-5
31
-43
0
0
0
0
0
-3
16
-81
9
1
-55
-42
-23
-4
58
0
-3
-12
-23
-24
0
77
-73
108
43
0
85
14
-67
11
0
-31
31
8
-4
0
-24
-40
78
16
0
0
-17
-28
26
0
0
-38
-6
23
0
0
-31
-17
-14
0
0
-83
-10
47
0
0
-17
3
48
-46
-21
-20
28
36
-53
-31
-1
12
13
-10
-72
-14
26
30
-104
-27
43
-42
39
-47
-35
40
75
44
-98
-36
-50
6
-24
-152
-42
-14
-5
21
-46
16
-34
-2
-82
-54
-34
-34
4
-68
-6
-35
-34
50
-47
-39
-65
-31
-24
-32
56
4
-28
-42
-87
0
0
0
0
0
-32
-65
37
53
-72
-95
-68
-22
9
38
0
-31
-25
36
17
0
3
-15
47
29
0
0
-3
-46
2
0
-36
-39
-30
-19
0
42
39
-4
100
0
0
-1
-14
-19
0
0
-2
-34
1
0
0
-17
-19
12
0
0
-43
-25
86
0
0
38
-75
16
29
15
-9
95
20
-34
5
-5
20
18
-93
20
44
16
-95
-87
33
-53
61
2
-1
20
-15
-45
1
-23
-25
8
-6
31
-14
-35
-23
67
-6
73
-29
-27
-32
23
10
-97
2
16
35
-98
8
41
26
-1
-40
-43
45
-68
1
91
-94
-56
89
83
0
0
0
0
0
32
-88
93
2
-5
-14
-8
29
-25
-1
0
27
-11
9
-12
0
-36
-22
-12
34
0
-67
6
-10
-56
0
-4
-44
26
-4
0
-15
14
-2
1
0
0
29
-41
24
0
0
-11
15
9
0
0
69
24
-49
0
0
66
8
-20
0
0
4
2
2
-11
30
-27
-124
67
-70
-10
-20
47
24
28
-53
87
-3
0
5
8
8
-1
0
-8
1
0
0
0
33
75
-51
-63
-53
86
-75
48
-24
64
54
-16
-1
10
41
81
24
61
-100
-4
0
0
1
0
0
-136
59
31
27
65
-23
-71
5
-33
-5
0
0
0
0
0
4
-38
-14
44
13
0
0
0
0
0
0
117
42
-8
32
0
-60
37
24
53
0
-44
-38
107
-24
0
0
17
-10
0
0
0
0
0
0
0
0
-31
109
50
0
0
57
39
16
0
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
-8
13
-20
5
22
-69
22
-3
-13
-3
-48
-23
-8
-9
4
5
5
11
0
0
19
-8
6
7
31
-12
-22
-3
-22
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
6
9
23
-45
-12
12
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-3
1
5
0
-15
-5
-8
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
-3
25
0
0
7
12
-1
0
0
-3
11
-15
0
0
3
5
4
0
0
-10
6
4
0
0
-3
-5
7
14
14
18
20
-11
15
10
6
10
25
4
10
12
17
20
8
17
14
19
7
12
-10
7
38
30
15
16
9
21
7
-39
-31
-14
-18
12
-37
-49
-20
10
-7
-8
-18
11
20
-9
-13
2
1
-5
25
9
9
6
17
28
-22
-14
-6
-14
21
0
0
0
0
0
-25
-7
-2
1
19
-30
-8
13
-13
23
0
-3
5
6
26
0
-23
-5
6
11
0
0
-4
-4
0
0
18
-3
9
-2
0
9
-7
-8
3
0
0
0
1
27
0
0
2
10
2
0
0
-3
31
24
0
0
11
8
29
0
0
-8
5
1
13
14
21
3
23
3
11
1
17
42
9
8
13
14
33
-5
15
7
37
53
-42
5
-6
-18
38
24
29
4
6
44
35
4
16
16
21
6
7
13
10
26
20
7
2
5
18
3
21
-37
-21
-9
35
14
7
27
5
38
18
12
15
9
0
0
0
0
0
10
5
1
12
21
-43
-21
3
0
-5
0
1
19
10
2
0
8
15
25
9
0
1
10
7
16
0
6
9
10
34
0
-10
34
-12
36
0
0
24
-7
-30
0
0
8
37
18
0
0
5
18
52
0
0
18
29
37
0
0
-30
35
99
-97
-9
-10
3
-14
-131
-7
-31
-6
-7
-144
9
15
19
-40
-74
-11
23
13
5
-38
2
-24
20
4
-130
-43
-18
-18
-41
-27
-103
-60
-31
43
-91
-77
-29
26
-3
-45
-64
45
-67
-61
6
-31
1
-36
13
-73
-43
-13
-15
12
-5
-109
-75
5
7
0
0
0
0
0
0
3
-34
1
0
-24
-88
5
4
17
0
-6
3
-19
13
0
-23
-26
41
5
0
2
-35
26
15
0
-16
67
90
-31
0
-16
-32
43
16
0
0
-33
3
-11
0
0
-8
-42
17
0
0
-86
-45
35
0
0
-27
-4
21
0
0
43
0
23
-22
9
-13
-4
-12
-36
-4
-7
12
-20
-30
-14
-4
-21
12
-30
0
-14
0
7
-12
10
18
14
-1
-71
-36
-18
2
-9
-107
-122
-88
-24
-59
-160
-58
-63
-22
-56
-76
-56
-40
-11
7
-17
-2
-12
18
-10
11
-35
-18
-1
-16
-149
-112
-74
-63
26
0
0
0
0
0
-106
21
-55
-104
-29
-1
1
13
24
-8
0
-23
-1
-17
-36
0
-4
-19
-21
-72
0
-1
-74
-57
-48
0
-4
-13
-75
-34
0
-12
19
37
-1
0
0
-16
-7
-7
0
0
-8
-13
-24
0
0
-16
0
-23
0
0
5
5
-19
0
0
-22
4
0
0
12
-5
-16
8
4
2
4
3
-9
24
5
-13
3
17
18
3
6
-6
3
27
39
23
-17
-58
5
-21
-14
-1
13
-59
-110
-50
-7
-31
-55
-24
-4
-30
-35
-19
-25
-13
-17
-31
35
10
2
11
48
11
2
-26
12
11
-54
-90
-69
-33
-68
0
0
0
0
0
-13
-5
-7
21
-45
-8
11
9
-8
15
0
-2
-25
-16
-17
0
-34
-37
-28
-42
0
-20
-15
-39
-30
0
11
23
-1
-10
0
13
-17
8
-1
0
0
-6
-18
-29
0
0
4
-10
-4
0
0
-11
-6
24
0
0
24
-26
6
0
0
22
25
-12
5
12
-6
-18
24
36
14
-6
6
2
37
16
2
-11
-10
32
-2
41
-13
-30
45
45
-1
-62
-59
14
14
2
-17
14
-46
-25
-12
-7
-27
-14
22
-8
-32
-26
18
8
-12
4
-26
-31
1
32
-39
32
40
-4
-12
3
14
-50
-35
-4
7
-4
0
0
0
0
0
7
-3
36
6
-22
-8
-20
23
0
51
0
3
12
24
-13
0
-12
-24
-11
-12
0
9
0
-1
-35
0
13
-8
-8
-6
0
3
-5
42
-69
0
0
12
-40
1
0
0
-6
-22
13
0
0
-6
22
10
0
0
14
48
-5
0
0
8
43
-38
65
-23
-71
43
-28
68
7
-3
-41
2
32
29
-44
-53
-17
52
60
-14
-53
-30
53
-91
7
45
-24
110
-4
-15
33
56
39
22
2
-2
-12
42
12
-1
35
2
49
18
-2
4
-2
43
1
3
74
-57
63
12
8
-14
78
-1
13
10
-6
13
0
0
0
0
0
38
97
1
41
-29
27
-40
-7
55
-22
0
69
-19
-2
29
0
40
-26
4
-53
0
-36
-4
-6
51
0
29
-28
-11
-57
0
-47
-6
24
-15
0
0
9
41
21
0
0
-18
71
-56
0
0
-30
44
1
0
0
-7
0
39
0
0
14
2
0
-1
8
4
11
-5
-2
-22
9
21
8
18
15
-1
11
9
11
9
-9
37
31
45
4
6
-24
-16
-11
-3
11
7
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
62
47
25
-69
27
-3
1
0
9
0
0
0
0
0
-12
-7
-21
-7
1
0
0
0
0
0
6
-2
-5
13
0
0
8
-1
12
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-7
-3
0
0
17
2
-3
0
0
-3
-2
-21
0
0
1
4
-2
0
0
2
3
-15
0
0
5
13
32
39
4
29
15
-17
32
0
9
5
13
33
26
-14
-20
-21
6
20
27
8
14
31
24
-11
-1
28
34
13
1
16
-3
8
-1
-3
0
6
23
6
9
26
-6
4
40
45
15
-14
61
58
47
-10
23
30
25
-4
-2
30
12
-12
5
-18
-12
0
3
9
10
-7
-4
5
15
8
12
3
25
-4
-47
17
0
6
5
-2
17
0
7
11
2
11
0
-12
-1
-1
11
0
-1
2
11
-4
0
1
-6
7
28
0
0
2
5
-20
0
0
8
-4
-15
0
0
9
-17
-2
0
0
-1
28
-25
0
0
-5
17
35
56
-14
5
4
-3
10
1
23
-10
7
24
-5
-22
13
-31
44
-29
8
39
-1
121
13
-58
-8
-28
16
2
7
11
16
47
4
1
-3
7
50
8
14
8
35
31
56
1
-25
85
30
-12
13
-14
3
22
33
7
-5
-1
9
6
9
1
16
-3
1
5
12
1
-6
20
20
7
12
44
43
34
-31
-42
0
10
25
-8
-9
0
-8
10
-20
-13
0
14
6
-13
-12
0
-10
12
-34
33
0
-1
6
46
37
0
0
23
-12
48
0
0
-10
-41
-21
0
0
11
-70
-37
0
0
6
0
-56
0
0
-24
-9
-12
-51
5
82
-30
5
-139
-47
35
-24
43
-131
-95
28
-73
24
-87
-61
6
-12
26
-90
44
-68
52
14
-119
-2
-14
-62
-20
-14
-61
-96
-32
-3
-14
-9
-21
-3
0
-1
-51
-16
-2
0
-20
-34
33
34
-36
-131
-70
-57
-15
43
0
-14
-2
-1
1
0
0
0
0
0
0
0
2
0
0
60
-68
-53
-31
9
0
-17
43
-14
-79
0
-1
-8
4
-1
0
0
0
-2
0
0
0
1
0
0
0
-16
-17
24
57
0
0
-67
41
-100
0
0
-31
-20
51
0
0
11
19
21
0
0
5
-2
-15
0
0
10
-11
55
-10
-7
8
0
40
-18
-10
3
30
-16
-43
-7
21
-5
-6
-50
-26
25
30
18
14
-17
32
-15
-55
-22
-17
30
26
52
-174
-185
-44
-28
-52
-66
-74
-89
-41
-156
-116
-90
-58
14
-29
-4
-26
32
-25
14
-56
-11
-3
9
15
-81
-117
-64
-114
-6
0
0
0
0
0
-100
-86
16
-88
-99
2
8
-23
81
14
0
-58
-28
-18
25
0
-5
-64
-76
56
0
-127
-16
-105
-35
0
-65
-68
-4
-33
0
31
14
23
-5
0
0
-14
-4
-5
0
0
37
-4
10
0
0
17
7
-40
0
0
32
0
-30
0
0
6
18
-32
11
10
16
-11
11
24
-2
22
23
34
24
10
46
21
-3
2
39
56
14
-12
32
13
-10
2
4
41
29
10
21
17
-25
-74
-38
6
2
-39
-67
-48
-52
-22
-15
-27
-19
-21
5
2
38
5
63
0
47
2
11
26
-14
3
-7
-29
-8
-24
0
0
0
0
0
1
-12
-56
-9
19
25
47
-1
6
38
0
3
26
16
2
0
9
19
-16
-1
0
59
-13
-27
9
0
11
-21
-19
3
0
8
39
14
33
0
0
3
-2
34
0
0
-5
3
23
0
0
30
-17
-54
0
0
-52
-3
19
0
0
-5
51
122
47
-14
22
38
62
48
-8
5
14
-68
39
11
12
68
40
76
40
2
4
-66
-65
90
28
-4
0
57
-7
42
-4
34
36
10
40
44
27
55
6
2
52
23
43
44
23
40
-24
-20
35
-12
98
-50
57
45
21
-6
42
48
53
22
16
31
0
0
0
0
0
7
3
10
6
34
-52
67
43
-48
32
0
16
46
14
-50
0
-16
33
36
-21
0
-38
5
24
24
0
-1
-16
-16
-9
0
-88
76
54
28
0
0
9
11
7
0
0
52
-7
-28
0
0
-19
5
-7
0
0
-7
-42
-5
0
0
-16
-16
5
99
15
-80
21
44
-6
18
5
95
-72
112
-36
-19
-18
-7
70
-18
19
27
2
44
33
-6
0
0
83
26
38
3
-18
149
44
11
21
-17
52
22
62
38
37
46
17
41
72
30
8
26
17
-31
8
46
2
10
-33
-40
79
69
19
23
116
0
0
0
0
0
-48
44
71
10
-53
0
-3
-45
14
0
0
60
6
-43
7
0
9
-30
28
62
0
56
18
-10
38
0
9
-6
-56
22
0
-26
-1
0
0
0
0
-20
-9
53
0
0
32
43
-29
0
0
35
-35
33
0
0
-31
1
6
0
0
3
0
0
-60
0
-2
-11
1
-51
-49
-5
13
17
-118
-43
5
4
6
-32
-26
-9
21
2
-31
-17
37
28
-6
-47
-36
30
-23
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-58
3
3
54
-90
-54
-11
-20
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
-4
-3
0
-22
-6
18
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-17
-44
-18
0
0
23
8
18
0
0
-8
-19
13
0
0
-24
9
-2
0
0
32
0
48
0
0
-11
-25
5
-37
4
-7
40
-6
13
-40
20
1
34
-3
28
59
-4
-24
10
-2
-7
52
-102
-1
-14
14
41
-6
-24
8
2
-4
-13
-45
0
-9
36
8
47
41
15
-72
-104
-60
-42
37
-5
9
-57
16
-7
-58
7
-41
-13
12
2
41
6
7
45
-29
25
0
0
0
0
0
-15
-22
-43
27
30
-14
-86
25
35
-11
0
16
16
40
45
0
13
5
32
-46
0
21
-22
19
-4
0
-30
-14
-21
15
0
-3
8
38
24
0
0
52
50
52
0
0
34
16
60
0
0
48
-45
-9
0
0
-7
49
-33
0
0
-29
-7
3
42
-3
76
66
13
75
8
53
22
-14
109
-3
-31
71
8
113
-4
-20
8
-14
61
14
-40
-9
1
88
47
18
50
12
43
14
-4
8
5
54
-2
19
15
84
26
81
26
43
-29
-17
8
0
52
15
-14
3
54
80
45
-8
8
50
11
52
0
0
0
0
0
-29
32
100
-53
-27
-16
14
61
-24
-1
0
53
28
133
-12
0
14
44
62
47
0
7
2
43
120
0
-6
82
-16
7
0
-5
1
-43
3
0
0
6
53
35
0
0
147
-58
6
0
0
22
-16
70
0
0
-49
-37
96
0
0
-4
11
-1
-144
-42
33
-6
71
-180
-77
-7
35
21
-146
-85
-10
48
5
-107
-17
11
-27
20
-24
-86
-17
-9
126
-113
-53
-68
-25
78
-3
65
43
1
-5
0
1
1
0
0
3
0
2
0
0
-7
-85
-90
58
30
-89
-80
-23
5
-59
0
-2
-7
-5
0
0
0
0
0
0
0
0
0
3
0
-30
12
-60
24
-8
0
22
59
-26
28
0
-53
0
11
-1
0
1
0
0
0
0
2
0
-7
-1
0
-25
34
-45
-4
0
0
23
-10
38
0
0
-23
-83
20
0
0
-67
-45
91
0
0
-95
35
37
0
0
-26
14
16
-63
-35
-11
-13
16
-118
-37
-18
19
5
-102
-36
-20
-5
15
-89
-32
15
-13
7
-35
-42
3
-5
4
-58
-54
-3
-27
6
-195
-97
13
-15
55
-31
-96
-21
27
7
-43
-108
34
77
33
-30
-10
-15
12
19
-137
-46
-25
-26
-33
15
17
-48
38
-90
0
0
0
0
0
-6
19
-150
22
-1
-20
-41
-11
-10
7
0
-38
6
2
-43
0
2
-47
65
15
0
65
5
-37
23
0
-35
32
1
-5
0
-66
-33
-23
-4
0
0
-11
-1
-16
0
0
-34
-40
12
0
0
-29
-22
10
0
0
-28
-12
-39
0
0
52
-18
-56
-34
-5
5
2
40
-14
-35
2
-22
-33
-40
-27
-49
29
-13
-5
8
23
18
-11
57
-29
-57
-63
79
-8
-11
-35
-30
-7
-60
-22
26
26
-44
-17
1
-42
57
-19
15
-79
4
34
-38
-30
-119
3
30
-66
-82
-51
-15
17
14
45
-19
-10
-5
-89
0
0
0
0
0
2
18
9
4
-25
-52
23
-45
-5
-33
0
-61
-23
-10
26
0
-6
-28
-31
18
0
-29
-20
-43
-50
0
-11
-28
13
-35
0
30
45
46
40
0
0
14
1
-9
0
0
-32
14
48
0
0
-12
13
8
0
0
-26
-63
-24
0
0
51
-62
-5
2
64
32
5
-80
-12
25
-39
-23
4
56
10
-11
-9
-34
-60
22
-14
61
-43
10
40
-31
-32
1
-118
-15
43
0
-82
-41
12
-36
7
18
-5
8
-6
-26
26
-22
4
-12
-29
50
-68
1
46
17
-1
-64
-27
-58
-38
58
31
-60
-13
-17
21
0
0
0
0
0
65
64
-35
-81
-42
-8
5
17
-22
-1
0
-84
27
106
43
0
-36
-13
-51
63
0
-1
-13
14
-33
0
21
-45
42
5
0
21
14
-5
1
0
0
-13
9
6
0
0
29
-35
54
0
0
19
-25
-52
0
0
41
14
-23
0
0
3
2
2
57
-38
-9
-64
31
31
-32
-20
14
-30
23
-5
74
-2
0
5
-14
10
-1
0
-8
1
0
0
0
71
14
-14
-23
-37
14
-57
9
-32
-33
73
-45
-45
33
8
10
38
-11
-56
0
0
0
1
0
0
-59
111
65
-39
25
-23
-33
25
46
14
0
0
0
0
0
4
-49
16
24
13
0
0
0
0
0
0
49
21
-50
3
0
107
-30
-13
-3
0
0
-14
140
5
0
1
7
-20
0
0
0
0
0
0
0
0
-28
50
35
0
0
5
34
48
0
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
-30
14
57
32
-9
-45
-86
5
4
14
-44
46
-17
-43
24
-53
2
43
-39
-54
5
28
-5
-8
3
31
52
61
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-65
33
18
22
-12
1
115
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-11
20
-10
-11
0
-10
13
21
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
33
-11
11
0
0
8
4
-22
0
0
90
-24
28
0
0
2
40
70
0
0
41
19
39
0
0
41
5
-11
24
73
42
2
-32
-35
7
41
47
14
-35
34
60
-37
26
69
-15
-6
-14
-6
16
-2
43
-79
24
5
18
15
20
-53
-61
0
16
22
-4
-53
3
-5
1
-2
30
-20
-15
-13
-43
-5
65
-19
-10
-3
24
-21
6
14
82
1
7
-3
-5
11
0
0
0
0
0
-1
-27
14
23
-16
14
-10
24
-15
22
0
10
37
17
82
0
11
-3
52
40
0
-21
-6
22
12
0
17
21
28
12
0
-5
-1
29
-2
0
0
8
-14
10
0
0
17
14
2
0
0
20
43
33
0
0
-3
18
43
0
0
35
8
3
111
9
27
38
23
4
-21
108
35
18
26
3
57
54
-14
-22
-6
16
43
36
-5
-8
-14
31
-26
27
40
14
23
6
39
-1
70
-28
34
83
-3
19
1
78
0
17
0
5
26
-35
54
-2
-42
-23
27
48
-7
-7
5
10
22
-4
49
36
0
0
0
0
0
3
-13
-3
-5
26
5
31
-5
-18
16
0
0
56
46
-20
0
3
71
12
30
0
-3
11
-2
26
0
-1
41
27
-24
0
71
-6
22
30
0
0
17
-76
-25
0
0
-63
-27
77
0
0
31
24
-35
0
0
-29
33
-6
0
0
45
13
36
-42
22
15
-34
-42
-52
4
5
-23
78
7
-54
-20
68
-20
-69
-36
22
57
-37
-25
-17
48
75
9
-81
34
-35
-7
-20
-1
15
-26
-13
1
-19
-4
-15
-14
-1
-6
-47
3
-16
-5
25
-26
-31
-2
20
-52
-4
-14
-12
16
-3
-43
-23
-1
2
0
0
0
0
0
0
1
2
-1
0
-52
-43
-27
1
37
0
14
-38
-56
44
0
-3
-3
11
-15
0
0
-3
-3
9
0
-2
25
14
1
0
0
-7
-6
-11
0
0
6
-98
14
0
0
1
-41
5
0
0
-7
-31
19
0
0
-100
12
4
0
0
-20
25
-35
-32
-16
-43
14
26
-52
34
0
-29
-40
-6
16
-59
0
-13
21
19
-20
-24
44
12
39
29
-50
-25
20
-20
-18
-8
-14
-27
-60
-71
-28
-47
-35
22
-70
36
-18
-71
3
-13
20
26
-33
19
-1
16
-4
6
-17
3
26
-74
-138
-29
26
6
5
0
0
0
0
0
-90
-23
43
-51
-23
-10
-50
-21
15
-14
0
-46
2
-28
-21
0
-19
2
28
-39
0
5
-4
19
-66
0
-55
43
-24
-50
0
-11
-6
31
-14
0
0
-24
31
30
0
0
46
-3
3
0
0
-24
46
6
0
0
-49
21
-12
0
0
30
24
-8
71
5
-2
-67
13
26
15
-41
14
-46
84
41
15
-7
-28
87
35
-1
-4
-24
-27
-53
26
24
45
-67
-2
42
-17
27
-65
-28
58
-20
-5
56
-9
-33
-22
-25
-14
-14
47
-4
33
-14
-38
-5
5
-10
12
-5
30
-73
4
0
-61
46
-25
-39
0
0
0
0
0
4
9
-68
9
13
-6
52
-7
-8
25
0
16
7
33
-26
0
-29
-25
-27
6
0
20
-10
-3
-29
0
-23
-59
-10
-6
0
-1
-12
9
0
0
0
41
13
-5
0
0
27
20
16
0
0
-23
-39
-46
0
0
-37
-33
-43
0
0
-30
7
-15
34
-42
-6
-9
6
50
92
-15
-70
33
78
-69
-8
26
8
62
-56
-10
-12
-2
18
46
-35
61
3
19
-29
-54
31
28
25
14
13
-45
10
-14
14
-18
-64
-9
20
-33
25
22
-53
-20
18
42
40
-4
21
14
16
-37
-1
-8
21
42
-26
-44
0
0
0
0
0
-4
-10
0
-2
-14
10
-12
-39
29
-19
0
28
45
23
-113
0
3
-22
20
18
0
51
52
-31
29
0
-35
47
-27
20
0
23
-30
1
-41
0
0
33
83
1
0
0
16
21
-47
0
0
45
-56
-41
0
0
-10
42
23
0
0
-45
-5
-24
4
32
5
-5
13
99
8
-42
-1
-19
-5
27
-2
18
11
50
-8
-10
22
-18
-8
9
0
0
0
14
33
-4
-47
-3
49
62
-30
-8
-16
-62
87
18
52
-29
35
3
43
1
-2
1
-5
-10
14
-2
5
-6
18
3
14
19
74
8
-15
-51
0
0
0
0
0
53
8
-5
20
-14
0
-2
1
-6
-1
0
28
19
-55
29
0
24
-4
-28
-92
0
-43
-38
-31
63
0
-37
32
-29
-28
0
-3
0
-2
3
0
0
-22
-20
-5
0
0
-4
-26
-24
0
0
-7
0
-6
0
0
2
-11
-1
0
0
1
0
0
8
12
-33
12
-45
18
-45
-31
15
13
-43
-20
4
33
21
-25
-30
15
-4
39
-19
14
-47
4
23
-9
23
21
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
4
-16
12
59
14
6
60
-16
-3
0
0
0
0
0
-22
6
-66
-4
7
0
0
0
0
0
-1
-4
15
1
-33
0
-41
30
-55
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
46
-3
-65
0
0
37
-22
63
0
0
134
-30
-16
0
0
18
27
-26
0
0
-13
-7
-31
0
0
-5
-14
52
14
-50
9
-74
18
-7
-26
-16
-4
17
5
157
-22
-33
32
71
12
-38
-77
14
32
-5
-1
-3
-10
40
-43
13
16
-19
38
7
-25
-4
-72
56
23
45
-33
1
50
2
45
-4
4
53
-31
21
32
-21
-5
32
-12
-7
28
16
6
-47
-15
5
29
-2
21
-25
3
-10
3
6
3
93
-23
55
41
14
-35
0
11
-39
25
14
0
25
3
10
-9
0
-16
-16
7
-31
0
-1
-40
29
33
0
-24
-7
77
24
0
0
19
40
14
0
0
31
74
-89
0
0
-7
-22
27
0
0
31
52
-51
0
0
-16
44
5
40
-5
-62
59
57
-13
62
37
53
6
8
-78
82
-1
4
96
23
-34
-49
-23
5
-31
-16
20
-5
-3
71
30
52
22
22
-29
5
43
30
91
27
-34
66
16
42
33
-33
-22
17
9
30
-1
-35
6
43
-55
-18
8
17
43
35
-20
69
-25
-34
14
38
43
6
-32
34
75
-3
-35
26
-5
-14
-8
33
0
-17
-23
-33
5
0
-33
-9
-37
20
0
-13
-11
-12
-50
0
-43
22
-15
-16
0
-40
-13
14
11
0
0
-17
6
5
0
0
-43
-11
-16
0
0
21
-48
1
0
0
-33
-14
10
0
0
-8
-1
-4
23
-31
53
9
-14
-73
29
92
-67
-6
-100
-37
-6
66
-17
-17
-15
12
21
44
12
8
-21
45
-18
7
-51
46
10
-5
-2
-17
5
0
-2
-6
3
0
1
0
1
-8
0
-1
0
38
-3
0
7
-9
19
11
-23
-23
-5
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
23
33
8
-2
7
0
33
-62
-19
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
13
-14
0
0
3
-2
2
0
0
-19
55
-6
0
0
13
2
-32
0
0
15
-24
-4
0
0
7
-5
11
1
12
-44
53
-25
-23
-20
38
6
-21
-8
66
56
22
-18
-5
40
-31
-31
-32
60
-3
0
8
-5
24
-22
-43
-69
31
-139
-108
-11
68
29
-172
-72
45
60
8
-50
12
10
-33
18
-1
41
3
-38
7
-18
-14
-3
5
-10
-54
-106
21
19
48
0
0
0
0
0
4
-76
30
14
-19
-17
8
4
1
-7
0
-42
33
23
39
0
-3
16
30
54
0
-29
39
3
4
0
-9
-8
23
14
0
23
-40
18
6
0
0
4
7
-1
0
0
17
-9
5
0
0
-8
-101
-74
0
0
51
-6
-42
0
0
-33
-20
-30
23
0
79
-35
-3
102
17
84
-92
4
33
-3
6
30
-2
27
41
46
11
-20
-2
41
26
23
-20
7
-23
20
14
75
-62
-53
28
26
-23
-49
-48
45
15
30
13
-29
-8
10
-25
54
-22
47
-7
-38
30
-14
-7
18
-10
-66
16
9
5
45
0
0
0
0
0
-18
1
-17
0
-36
-23
-56
54
-35
49
0
-21
37
1
-13
0
-36
111
30
-15
0
52
-31
-27
29
0
17
23
-43
32
0
-16
19
-28
16
0
0
2
-5
-36
0
0
-44
-47
4
0
0
-29
-28
-14
0
0
-21
-32
-3
0
0
-4
-53
7
34
78
5
-1
14
57
14
-23
-14
-15
-31
31
9
-23
14
-37
-6
39
23
-2
-6
-25
9
3
3
35
56
-14
34
-59
47
-7
12
62
-22
92
17
5
-23
-17
18
21
9
31
-14
-20
-17
11
11
-7
50
67
-72
-5
-10
57
18
-29
-20
-21
0
0
0
0
0
7
-12
46
23
-42
-1
1
8
-5
-3
0
-1
-19
44
-10
0
5
-17
29
-42
0
21
-3
53
-6
0
-33
-39
-46
6
0
-8
-21
13
-4
0
0
-18
-14
-17
0
0
-32
-3
-8
0
0
20
23
-43
0
0
15
5
5
0
0
-18
3
-9
1
-61
-1
-1
3
-37
-19
34
9
-1
43
1
-2
0
0
4
5
0
0
0
0
0
0
0
0
14
8
-1
-3
6
131
32
33
6
-9
95
31
17
26
17
-9
55
30
14
-8
0
0
0
2
0
-24
20
-5
11
8
33
48
39
-17
-5
0
0
0
0
0
-35
30
-54
5
-6
1
0
0
2
0
0
-10
-14
4
2
0
8
14
-76
-49
0
32
-19
-16
-17
0
-1
-9
-21
-3
0
0
0
0
0
0
0
17
0
1
0
0
5
0
7
0
0
-3
0
-3
0
0
1
0
0
0
0
0
0
0
-11
4
-35
-46
22
-50
-2
-5
14
11
7
-7
3
-13
-15
-78
17
13
-21
-17
-11
-24
33
-46
11
22
-11
50
-25
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
25
39
-1
-89
25
-38
-7
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-5
-12
-2
-26
0
-15
-42
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-6
-44
-10
0
0
-8
53
35
0
0
-52
52
5
0
0
25
-13
51
0
0
55
45
-5
0
0
-28
-1
17
-34
-31
3
59
-13
23
88
-18
10
-16
48
-30
23
-6
-50
25
27
-49
42
-14
-2
-1
-15
23
0
-12
22
-15
59
-30
-6
20
44
11
17
-36
-42
46
-16
9
-11
-9
-1
-14
49
-3
-5
-39
14
-6
-2
5
20
-5
-14
-11
-17
24
-5
33
0
0
0
0
0
-8
41
16
-33
-22
24
-7
-8
35
-13
0
5
20
13
23
0
90
-41
33
-13
0
-27
1
-15
-8
0
23
-37
61
29
0
-4
39
16
30
0
0
-9
14
-30
0
0
17
-33
32
0
0
31
13
18
0
0
-17
20
3
0
0
-16
-15
-2
-27
20
50
-19
18
70
6
32
22
-22
36
11
9
-7
4
-20
7
-9
4
3
7
13
0
0
0
-50
28
15
10
-30
-49
78
14
48
-18
11
18
63
19
12
-25
39
1
10
-15
1
-2
-9
1
3
30
-33
-10
9
19
21
-11
79
-1
2
0
0
0
0
0
11
21
37
11
-3
-2
0
1
-24
0
0
-12
-27
23
20
0
17
-25
-14
41
0
-19
34
15
-6
0
26
-7
3
-16
0
7
1
-3
6
0
0
-13
-11
-14
0
0
44
-6
16
0
0
5
-4
4
0
0
-1
-13
-1
0
0
0
0
0
-46
-45
17
-8
62
-19
-23
-85
46
14
-86
-23
-28
5
-34
-37
-43
46
5
43
50
-46
-8
-10
-6
-43
-36
-10
21
-6
0
14
5
0
-2
1
2
0
0
0
0
0
0
0
0
-3
14
7
5
-13
3
-91
-1
-54
-19
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
-1
2
-10
17
-16
0
-47
-22
-53
-52
0
-9
1
-7
0
0
0
0
0
0
0
0
0
-4
0
0
-25
19
-24
3
0
0
-39
-32
33
0
0
-26
-62
-21
0
0
-14
-34
66
0
0
-10
-9
1
0
0
18
-6
-1
3
-7
-9
21
-32
-88
-30
-41
45
25
-96
12
45
-22
50
-80
11
23
-7
-8
-67
14
17
-17
-2
3
-29
5
7
-32
-27
-56
-37
-24
33
-24
19
8
-9
0
-34
-43
11
18
10
32
-17
-45
-16
-17
-68
-6
-51
26
-31
7
-17
1
52
-5
0
0
0
0
0
0
11
-24
14
0
-46
9
15
53
-20
0
-22
43
-57
-21
0
5
-39
16
53
0
19
9
-13
9
0
-16
11
32
6
0
-35
22
-34
-1
0
0
-76
-25
6
0
0
-5
28
6
0
0
-92
30
-13
0
0
59
-54
-19
0
0
40
4
-7
-42
5
-21
21
7
18
-46
38
49
-28
40
-25
-14
27
13
-96
62
-15
62
16
12
-50
12
-5
18
22
14
-72
-40
60
0
72
-23
-16
11
-48
66
-50
-5
14
-55
-10
-13
-6
-64
-62
22
-4
-19
-4
-101
-59
51
95
-43
22
-37
-33
-14
16
0
0
0
0
0
3
29
-26
-42
-30
4
-34
20
16
-6
0
5
-30
14
-7
0
-70
-19
-12
-22
0
-60
-67
40
-20
0
14
-28
12
-9
0
26
-37
-11
21
0
0
33
-5
-18
0
0
-44
10
-7
0
0
-48
-56
-14
0
0
-10
-74
-5
0
0
23
0
8
-59
81
25
-42
-7
-29
4
6
-4
31
35
-20
53
1
-5
1
-15
24
-11
-11
9
3
0
-5
0
-79
0
28
3
-23
32
21
-47
-27
34
29
-39
-18
24
-7
32
56
-60
-22
-37
0
0
-5
-15
0
63
14
-19
14
-19
-54
-7
14
13
-14
0
0
0
0
0
13
58
-11
16
-6
0
0
0
0
0
0
75
34
-4
8
0
-9
14
-35
-14
0
10
7
-24
-2
0
37
16
-15
-17
0
0
3
-2
0
0
0
4
15
-30
0
0
-17
20
5
0
0
14
4
-1
0
0
3
-4
0
0
0
0
0
0
-22
-3
1
0
0
-6
11
13
-2
0
2
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
20
-7
-10
14
-3
-33
-28
33
-5
10
26
36
6
-2
-24
-7
7
-14
-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
-31
-22
-22
3
0
-22
-7
45
0
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
70
-36
-19
52
-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
34
-6
-19
-19
63
6
3
0
0
0
0
14
-5
40
-39
-2
-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
-11
14
1
35
15
-41
-3
0
0
0
0
18
-34
-25
7
-5
0
-26
0
16
-29
-14
-11
15
5
-12
2
-10
10
32
-12
19
1
-39
-1
-3
-5
-22
13
32
-17
13
-23
0
0
-52
7
71
16
41
3
1
0
0
0
0
35
-61
53
-5
0
1
-22
0
21
-4
-7
-20
-6
-9
-7
-9
0
0
0
0
0
0
0
0
0
-23
26
-29
-63
-15
10
-4
-1
0
33
-8
-55
-2
12
23
-10
0
0
0
0
17
14
27
6
-1
-1
-6
0
49
13
21
-33
12
-2
-17
-6
36
6
-37
4
-16
-47
-27
-5
-1
-33
5
23
9
51
1
-18
3
0
42
30
24
-36
79
-1
1
0
0
0
0
31
32
-69
29
-3
-3
-8
0
66
6
56
-39
-20
-2
0
1
48
25
-50
-61
72
13
1
0
-1
24
-26
-30
4
53
18
-1
0
0
12
-17
-34
7
47
11
4
0
0
0
0
-28
13
16
33
-7
3
-1
0
61
33
31
6
1
2
0
-3
0
0
0
0
0
0
0
0
0
23
6
24
31
10
4
-6
-1
0
-31
47
-7
18
5
33
-1
0
0
0
0
-18
-5
5
-24
-13
1
4
0
14
14
-3
5
16
-3
0
0
34
20
14
11
-19
3
-4
0
-4
56
-5
-1
22
-16
-9
-3
1
0
-1
-77
60
14
-55
-4
-8
0
0
0
0
-23
6
79
-16
-17
3
-1
0
-14
21
-49
28
6
8
0
0
-52
-25
21
-4
21
-44
-3
-1
0
48
-22
-20
27
35
-4
0
-1
0
23
5
-41
3
-40
-5
4
0
0
0
0
0
1
-3
-29
10
-48
-48
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
9
6
-6
-26
-3
5
0
0
0
0
0
-4
-51
-25
5
3
-138
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
14
-14
2
-22
-23
48
0
0
0
0
-1
-4
53
43
2
-10
-97
0
0
6
8
32
27
8
-179
-26
0
1
-9
-4
4
67
23
-73
-44
2
9
11
6
0
-18
-50
-1
0
-30
50
35
73
13
-1
-28
0
0
0
0
5
-11
-11
15
-6
-7
-87
0
0
0
0
-11
8
90
-104
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
5
-15
0
-18
-6
9
-16
21
27
-1
0
0
0
0
-16
-34
13
-6
-6
-30
-97
0
0
0
-1
-18
22
23
-174
-23
0
0
-1
5
5
-43
-38
-52
10
0
4
1
3
-23
25
-23
4
0
30
69
-12
35
1
-19
-57
0
0
0
0
-29
-19
4
-5
5
-15
-65
0
44
20
-7
-12
11
16
-53
-9
6
1
37
30
43
32
-29
-28
23
-25
46
21
23
48
1
-10
-17
0
-22
-24
18
51
42
5
18
0
0
0
0
-19
-17
-54
17
0
-1
-41
0
0
-9
9
-2
-32
2
-56
-33
0
0
0
0
0
0
0
0
0
0
-4
3
10
15
-14
46
12
0
-4
-14
5
24
40
-10
-11
0
0
0
0
-19
-3
-39
24
8
-4
-71
0
0
4
-3
-14
59
-8
-56
-5
4
4
4
9
13
-13
24
-6
16
-6
-15
-9
34
-53
-21
30
-4
0
-33
-26
-9
41
-21
23
9
0
0
0
0
35
52
32
-14
4
-6
-41
0
-42
8
14
14
-25
3
-18
-6
-5
5
-1
-26
46
-24
5
20
17
-15
0
2
-4
-18
-9
42
3
0
19
35
35
12
40
-20
-30
0
0
0
0
-4
6
38
-6
14
-1
-17
0
10
4
-7
6
-99
-8
-1
44
0
0
0
0
0
0
0
0
0
6
26
-13
0
45
-21
5
5
0
17
11
23
-5
6
0
81
0
0
0
0
29
15
38
23
-3
-1
2
0
5
19
-6
24
-14
10
-37
-6
-6
43
2
1
14
7
40
31
2
15
13
6
-43
-39
12
59
5
0
22
-41
-50
16
90
62
27
0
0
0
0
-4
-23
29
13
17
0
-3
0
42
15
-16
-53
-25
-19
2
15
-23
21
9
-6
15
14
15
15
7
-27
-8
3
11
-5
-5
2
33
0
4
6
-8
-14
15
-5
2
0
0
0
0
0
-9
21
-5
40
-10
16
0
0
1
33
44
3
17
2
18
0
0
0
0
0
0
0
0
0
9
3
-14
-54
14
15
48
-27
0
0
-1
0
0
1
0
27
0
0
0
0
0
3
-14
-40
9
14
12
0
29
23
2
0
-18
-20
-5
30
-3
-8
21
-9
10
26
-4
48
-1
26
41
-26
6
42
30
18
11
0
-7
16
-16
0
-24
-38
71
0
0
0
0
0
32
22
24
-6
12
6
0
-1
15
4
25
-39
5
9
35
1
-11
-8
-4
7
33
11
25
10
-7
24
33
-51
-25
-51
-14
80
0
-4
4
-2
0
-20
17
57
0
0
0
0
31
12
6
15
-25
7
0
0
0
0
0
0
0
0
0
0
-14
13
1
-36
22
-4
-4
-1
-1
0
0
0
0
0
0
0
0
0
-49
-45
30
60
-25
-6
0
0
0
0
0
43
-24
4
38
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
52
-34
57
-4
-5
0
0
0
0
0
8
6
21
47
-1
-1
0
0
17
-4
-6
50
14
-35
-1
-2
7
-4
12
-2
-25
27
0
-9
0
-25
5
62
59
-23
-19
-7
0
0
14
44
-29
-3
15
3
-4
0
0
0
0
32
-54
-6
-2
15
11
11
0
-23
7
-21
59
17
-5
0
1
45
31
27
36
-21
15
2
0
1
34
27
-9
-4
-12
-36
-4
0
0
22
-9
103
21
6
3
1
0
0
0
0
-12
34
6
-4
1
3
0
0
48
-30
53
-36
-37
13
0
-1
6
-5
-1
-11
33
5
0
0
1
3
-26
-30
4
30
15
18
0
0
5
5
-33
-82
68
46
-5
0
0
0
0
-8
-14
38
-83
-7
1
1
0
-52
-9
26
-10
-20
-3
1
3
6
43
-7
8
-37
26
6
-1
-8
-19
103
-45
-53
-17
-1
4
0
0
-35
-10
-29
11
17
36
0
0
0
0
0
-13
67
10
73
32
5
2
0
-25
23
-17
16
22
6
-2
2
3
22
31
1
9
-12
-7
-1
0
-27
4
-10
54
29
25
6
6
0
-3
-2
-23
-34
23
61
9
0
0
0
0
-24
-14
47
55
-15
5
0
0
-85
-14
5
32
-6
0
0
-1
-20
12
22
15
35
15
-4
1
0
-49
-26
22
-7
31
16
1
-2
0
-52
-3
11
-12
45
24
9
0
0
0
0
-8
8
-55
-81
-31
5
-2
0
51
5
0
-18
-24
8
-1
4
1
20
-32
12
-49
-5
-8
2
-3
12
-17
-53
-44
21
55
8
-1
0
-8
-1
3
-33
-14
1
0
0
0
0
0
0
0
0
-33
-71
33
-161
0
0
0
0
0
0
-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
-17
0
0
0
0
0
0
0
4
-79
-47
-86
0
0
0
0
0
0
-2
-15
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
-49
0
0
0
0
0
0
-1
3
26
4
-171
0
0
0
0
0
-14
23
-81
-115
0
0
0
0
7
3
51
-125
-60
0
0
0
-3
7
-8
-10
-31
0
0
1
1
0
-1
-24
-5
0
0
0
0
0
0
-4
-52
-33
-29
-62
0
0
0
0
-1
-33
-31
58
-22
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-35
-20
13
0
1
8
-4
3
-5
-10
-4
0
0
0
0
1
1
15
-70
-35
-31
-86
0
0
0
0
0
-11
-143
-51
-76
0
0
0
0
-10
-23
-15
-15
-62
0
0
0
4
-16
-21
-82
-36
0
-1
22
-9
50
9
-35
-41
0
0
0
0
0
-2
-20
-37
-11
-6
-82
0
0
0
4
26
-3
-6
-70
-48
1
-3
-4
8
29
-32
-36
-73
20
1
1
-11
36
17
4
-73
-20
0
0
-13
-14
-23
5
15
-28
0
0
0
0
-2
9
-7
18
25
-3
-3
0
-3
0
5
-23
-28
7
-9
-27
0
0
0
0
0
0
0
0
0
-13
25
24
13
-11
-46
-31
4
0
21
7
51
-6
-17
-69
43
0
0
0
0
13
-1
22
21
-1
-3
-8
0
4
-3
-7
19
-61
-21
-16
-2
-13
15
4
-64
-16
-27
-59
-15
5
5
20
16
-2
-38
-25
9
-1
0
3
-24
45
56
-57
-38
-6
0
0
0
0
-1
2
-36
6
0
1
-9
0
5
0
-10
39
10
-10
-3
8
0
0
-8
41
25
92
-31
-8
-16
4
10
21
9
38
-62
36
-6
0
5
33
22
-50
-56
6
0
0
0
0
0
0
2
19
47
-7
10
-2
0
4
-16
-7
-19
86
20
1
5
0
0
0
0
0
0
0
0
0
-4
0
-18
-10
-24
9
41
1
0
-28
22
0
-9
-14
-15
38
0
0
0
0
0
14
22
4
26
6
18
0
13
-10
10
9
4
2
-3
15
-14
-22
15
77
14
4
4
-3
9
18
15
-8
-5
31
52
16
-1
0
-7
33
2
-2
-17
9
10
0
0
0
0
0
0
5
-3
-1
10
10
0
0
2
1
19
55
-2
8
-1
0
3
39
31
20
45
-8
8
20
-11
-23
6
-14
19
-9
57
62
0
9
-5
-13
30
41
12
54
0
0
0
0
0
0
-2
0
43
46
10
0
0
0
2
-23
27
33
15
10
0
0
0
0
0
0
0
0
0
3
7
0
2
2
9
7
-40
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
4
46
13
8
0
-1
2
-5
-1
41
-44
7
25
0
-28
34
-1
19
5
10
12
-8
-9
64
24
10
52
2
-12
-27
0
-2
0
0
0
5
1
0
0
0
0
0
0
0
0
2
-4
27
6
0
0
-1
0
0
9
38
27
13
0
3
-3
0
0
-56
53
24
74
0
1
0
2
1
-50
20
24
0
0
0
4
0
0
-2
-7
0
0
0
0
-4
-2
-2
33
-41
-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
15
54
-3
-17
4
-63
-45
0
0
0
0
-8
4
14
52
41
-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
11
0
34
-19
43
-9
6
0
0
0
0
33
13
44
19
-4
1
-109
0
13
7
-21
-5
27
-11
-10
-30
-26
-6
31
0
-60
8
-28
29
-29
-2
-5
-14
3
23
30
-36
2
0
6
12
1
48
37
-10
-59
0
0
0
0
6
2
20
-57
39
-16
-108
0
0
0
0
14
-37
7
30
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
0
-1
-53
62
0
3
-8
-5
17
19
17
1
0
0
0
0
17
8
72
75
40
-9
16
0
13
11
-3
22
6
7
-39
108
1
-2
6
-23
-1
-21
-14
7
67
0
-3
-6
-14
8
35
-9
27
0
9
7
44
-27
-37
-76
72
0
0
0
0
3
19
-26
43
-26
20
-23
0
3
-13
-2
20
-2
-19
-30
70
-2
3
8
78
-10
-112
12
124
-32
0
-3
3
-45
5
-75
-34
103
0
0
28
2
-10
-7
-22
77
0
0
0
0
0
0
11
19
38
-9
88
0
0
0
0
2
-33
10
224
0
0
0
0
0
0
0
0
0
0
1
-6
11
14
17
-10
116
-28
0
-2
0
1
0
-1
10
-11
0
0
0
0
1
0
-2
-56
61
36
69
0
44
16
12
25
18
-13
3
136
17
33
-9
3
-16
-50
10
75
14
-1
2
-20
6
1
4
95
-20
0
0
0
1
13
-5
-25
-25
0
0
0
0
1
0
-1
24
72
-12
25
0
5
3
15
-13
-52
67
24
207
1
1
15
-5
19
-1
-54
208
22
0
6
4
25
-5
17
79
-50
0
0
0
-1
0
-2
-2
1
0
0
0
0
0
0
0
-1
-46
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
1
0
2
0
0
-4
2
0
0
0
0
0
0
-10
11
18
-2
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
-9
48
2
0
0
0
0
0
4
-25
23
-33
-14
-25
0
0
2
24
-3
66
-29
-53
12
0
0
3
8
1
-1
-45
-8
10
0
-4
3
9
-1
11
-9
-62
0
1
8
-6
0
5
34
-45
0
0
0
0
0
-3
-14
0
-31
-18
62
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
24
-46
4
46
0
0
0
0
0
-7
-8
-4
-3
-8
-14
0
0
0
0
-11
-3
42
-16
0
0
0
0
0
0
-4
1
-20
-9
0
0
0
0
0
-1
9
-3
0
15
-30
21
-33
-8
13
-28
0
0
0
0
15
-11
-5
-10
-7
-13
43
0
0
-2
2
3
37
-32
13
-27
2
8
-5
-22
-5
53
-22
-21
0
2
14
20
-3
-41
-24
43
-21
0
-31
-9
7
-5
-1
-43
-33
0
0
0
0
-5
-17
-8
-39
11
-54
96
0
0
0
0
-4
0
-1
13
11
0
0
0
0
0
0
0
0
0
0
3
5
3
-1
9
-42
-57
0
5
-5
10
-9
5
18
-26
0
0
0
0
-1
-9
1
-10
-38
11
41
0
1
0
-1
16
23
8
-69
-76
1
0
3
2
23
13
28
-130
73
-1
-4
7
4
6
-16
7
-48
0
4
21
-3
-1
-1
12
42
0
0
0
0
14
-20
47
57
-12
7
-64
0
3
-7
-7
50
-14
-89
13
26
0
-13
3
-27
2
-98
45
4
-71
0
10
14
21
5
9
-29
-37
0
52
-4
7
-10
-9
-52
27
0
0
0
0
0
0
-4
-58
28
13
-58
0
0
0
0
-2
-4
-23
2
-4
0
0
0
0
0
0
0
0
0
0
-1
0
4
-10
-15
31
25
0
0
-1
0
0
0
-3
1
0
0
0
0
0
0
-23
4
18
9
53
0
0
0
16
44
-20
-51
9
-10
0
0
0
0
27
-16
35
-71
0
0
11
4
0
0
-32
-30
-27
0
0
-2
0
2
3
-4
-9
0
0
0
0
0
4
20
-1
6
-11
-11
0
0
-1
9
27
12
-36
-17
44
0
2
0
8
24
-14
-8
36
-71
-4
-2
0
-6
3
21
-8
-27
0
0
-2
-3
0
0
9
8
0
0
0
0
0
0
0
-1
34
-6
14
0
0
0
0
0
1
53
-6
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
0
0
0
0
8
10
21
18
0
0
0
0
5
-2
63
-11
48
0
0
0
-2
-15
-20
7
14
0
0
1
-1
0
-5
-3
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
-14
14
0
0
0
0
0
-8
53
29
-15
0
0
0
0
0
0
-22
76
0
0
1
0
0
0
-2
-13
0
0
0
0
0
0
1
-3
0
0
0
0
0
-20
25
-13
-22
-15
10
-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
-8
8
-14
18
-25
-4
-4
0
0
0
0
-6
15
31
-6
-21
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
19
5
-4
-4
-19
1
-10
0
0
0
0
21
17
2
-10
-7
-6
-34
0
-6
-13
1
32
-2
15
-13
-21
20
-7
-4
-9
-4
2
11
-23
-6
-89
24
-25
17
9
7
-13
0
0
-34
-14
-9
18
2
-5
-4
0
0
0
0
29
21
37
9
3
2
-12
0
61
7
-11
7
-3
-4
-8
-33
0
0
0
0
0
0
0
0
0
-73
7
17
-18
34
-25
-10
-1
0
23
9
8
12
-8
-4
-6
0
0
0
0
14
-2
9
12
2
-1
2
0
33
32
20
16
17
11
-2
-35
-42
18
-24
0
-8
13
-7
-6
-2
-123
23
1
4
27
-17
-11
0
0
-27
4
-28
-3
28
-1
-5
0
0
0
0
-10
29
37
-3
1
1
-6
0
6
42
12
-2
-6
-3
3
-1
12
26
-16
-32
7
13
6
2
1
71
-1
2
-2
-4
-1
0
3
0
14
-3
19
6
-4
-8
6
0
0
0
0
34
30
52
27
6
0
6
0
13
3
24
39
28
12
8
-2
0
0
0
0
0
0
0
0
0
42
34
-11
1
-6
4
-4
3
0
-22
-20
50
33
24
16
-10
0
0
0
0
25
44
81
24
8
0
10
0
13
41
30
11
22
2
3
2
51
31
30
-4
-15
12
2
4
-2
21
48
45
16
34
24
-3
1
0
73
-27
50
-13
28
-2
-13
0
0
0
0
7
12
31
16
3
1
1
0
36
13
30
-11
10
3
1
6
-19
9
3
37
-22
-20
4
4
3
28
-3
-4
5
-29
-1
-9
5
0
-6
37
33
-21
14
5
-4
0
0
0
0
-4
-73
-24
-8
17
39
-92
0
0
0
-51
-33
-71
18
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
6
0
0
-9
23
-26
-24
15
7
-5
0
0
0
0
-19
-103
-46
-19
8
24
-104
0
0
-6
-80
-33
1
3
-71
-4
0
0
-5
-21
-8
-22
-71
84
1
-6
-1
23
7
-44
-66
0
-6
0
-123
95
-19
-22
-9
16
-9
0
0
0
0
-89
-60
-6
-21
-15
23
3
0
-58
-88
-41
-9
-14
-32
-12
25
-76
-42
16
41
98
20
-3
0
-4
-15
48
-24
54
5
-15
-4
-9
0
-81
41
-1
7
-19
-3
-6
0
0
0
0
-8
-144
-90
-23
-4
8
-102
0
0
8
-87
-76
-20
48
-124
-80
0
0
0
0
0
0
0
0
0
-1
-41
12
1
-17
56
-37
-49
0
34
23
38
11
6
-15
-2
0
0
0
0
-68
-55
-66
-42
-4
-4
-98
0
-11
-24
-108
12
6
-41
-132
2
-48
-24
16
-36
32
-11
-61
-2
5
-54
-16
4
22
-26
-33
-43
-61
0
-26
75
-9
17
15
12
-4
0
0
0
0
48
-19
5
-16
-7
1
-35
0
-33
1
7
-9
1
3
-26
-28
24
21
-23
2
3
-2
8
-28
-6
-62
48
22
-8
39
27
4
-3
0
-24
19
17
12
20
-8
3
0
0
0
0
-27
3
-82
-6
8
2
-88
0
14
-43
-106
-44
-33
-16
-84
-28
0
0
0
0
0
0
0
0
0
-55
4
3
57
23
-34
-10
-13
0
37
65
-22
7
41
27
-3
0
0
0
0
-22
-67
-19
-17
-15
2
-43
0
-21
-51
-21
-39
-14
-35
-82
-29
-83
24
-25
-26
-14
-20
-24
-35
2
-50
-46
-32
13
-16
-2
-22
-17
0
46
10
5
19
21
-13
-1
0
0
0
0
60
30
-23
-20
-4
4
-19
0
57
19
-6
-11
4
6
-3
-7
36
-9
38
-4
-12
16
-10
-2
10
17
48
-7
-48
0
3
-3
10
0
56
27
24
9
-1
0
6
0
0
0
0
-12
-42
-6
13
-4
11
1
0
46
-13
-8
-19
-40
-18
-22
-16
0
0
0
0
0
0
0
0
0
48
48
10
-45
3
-10
7
-9
0
-21
37
-15
-62
43
14
39
0
0
0
0
0
12
3
-27
-10
10
9
0
-44
-22
-11
-26
-14
-5
-35
-18
8
-32
20
12
14
-9
-11
1
-16
73
9
-10
-22
-35
-10
10
-1
0
16
54
-44
-34
-2
-1
11
0
0
0
0
19
-30
-41
-8
-1
6
8
0
132
70
42
-40
-16
-8
13
16
-38
63
16
12
34
12
6
30
2
-46
-72
29
-20
15
-3
14
17
0
99
31
-23
47
-4
24
-14
0
0
0
0
14
-53
106
24
4
6
24
0
14
18
117
0
-31
-35
16
-15
0
0
0
0
0
0
0
0
0
7
21
-24
11
-38
4
25
5
0
-41
-9
-37
-19
-4
66
47
0
0
0
0
49
-16
-29
-98
-31
19
20
0
-44
-43
-51
-42
-15
-21
13
13
-91
120
41
-18
41
11
9
32
-2
94
-12
-74
-25
-44
2
12
19
0
8
78
54
-11
-43
33
-41
0
0
0
0
-3
62
46
-16
-23
-2
8
0
-20
-47
-8
-45
-32
-11
26
38
15
15
29
-108
17
-41
6
28
62
94
48
26
-61
-23
-20
-13
48
0
27
-13
-75
-38
-7
110
51
0
0
0
0
37
2
4
48
-4
5
-21
0
0
0
0
0
0
0
0
0
63
33
-14
11
15
-1
-22
-2
-9
0
0
0
0
0
0
0
0
0
32
-54
37
41
-3
15
2
0
0
0
0
45
46
27
30
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
-15
-45
-15
-7
-3
-26
0
0
0
0
0
50
55
5
-42
-2
-3
-7
0
15
-2
62
72
-14
-18
-17
-8
-20
116
28
30
16
-10
-13
-6
0
-8
-14
-1
1
5
-6
5
0
0
9
79
22
-5
13
3
0
0
0
0
0
-27
60
61
-16
19
5
17
0
23
38
-9
37
29
2
-4
5
12
21
7
-1
6
2
-2
0
2
112
32
5
17
8
20
2
1
0
55
23
-14
31
29
12
-3
0
0
0
0
3
81
73
29
14
4
6
0
2
50
45
-20
13
-1
4
0
42
32
38
20
22
23
-9
4
2
87
57
29
5
-15
7
-7
0
0
6
-17
5
-14
-19
-11
10
0
0
0
0
33
-2
30
-12
2
-2
10
0
24
13
-13
26
6
0
1
10
-12
60
43
-34
-52
-2
-7
15
3
43
-5
61
-1
3
-19
16
0
0
-74
6
-2
-3
33
-2
-4
0
0
0
0
-46
45
53
56
-3
8
15
0
18
16
39
-29
13
2
1
15
6
34
20
6
-10
14
2
1
-1
28
6
44
30
-2
17
24
1
0
34
24
2
5
-12
6
-41
0
0
0
0
-59
56
27
30
-8
1
14
0
-63
-3
-5
-2
-12
0
0
16
6
15
7
21
-13
13
1
10
6
26
37
-1
43
14
21
-3
8
0
1
25
36
17
4
5
14
0
0
0
0
0
31
26
-79
-11
-3
0
0
28
-7
-7
16
23
-8
5
6
16
-33
35
-44
-3
16
8
13
11
102
107
-19
-114
4
0
8
17
0
38
-29
-18
-24
13
41
-48
0
0
0
0
0
0
-16
-85
-23
47
-244
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
25
-29
-43
24
-100
0
0
0
0
0
-2
-27
-47
-49
16
-115
0
0
0
2
1
-52
-43
-161
-44
0
0
0
0
1
-2
-43
-41
-1
0
0
1
-1
2
-1
-7
2
0
0
-65
0
-14
28
12
-14
0
0
0
0
0
14
-69
22
-20
-2
-43
0
0
1
-2
-18
61
-25
-9
-139
0
-1
1
-6
-2
-5
51
-129
-135
0
-1
-33
-36
72
1
41
-14
0
-1
-30
18
-12
-42
17
16
0
0
0
0
21
-11
-108
-32
-16
-9
-82
0
0
3
32
-75
-55
-37
-76
-94
0
0
0
0
0
0
0
0
0
0
0
18
-16
9
-81
-139
-140
0
-61
-24
-42
17
-11
-38
-8
0
0
0
0
-45
-33
51
-2
-30
-17
-79
0
0
0
-46
-33
-103
-54
-142
-100
0
-7
-1
1
75
-6
-35
-229
-139
1
-7
-32
42
78
-71
-163
-125
0
-35
-22
-52
-30
29
-6
-11
0
0
0
0
-41
-45
-48
-56
0
-2
-26
0
8
-5
-105
42
-11
-5
-28
-61
-63
-53
15
4
53
40
-17
-63
-26
-83
-14
-18
87
63
-8
-14
-48
0
-60
-49
20
-5
-45
-14
-23
0
0
0
0
57
46
25
-19
7
11
3
0
23
-63
-142
-31
-25
-12
-40
26
0
0
0
0
0
0
0
0
0
-168
-9
18
47
-31
-53
-44
10
0
54
4
66
-4
2
25
-9
0
0
0
0
59
25
-97
24
-12
6
-4
0
96
-4
30
78
9
-7
-90
-28
-20
23
-6
-25
-19
-8
-63
-50
-22
-100
-1
35
-78
-27
-12
-32
-25
0
136
36
-9
43
-45
30
-14
0
0
0
0
24
-46
-46
46
-2
13
0
0
-78
-10
15
50
53
14
-5
-2
-23
-41
-3
45
36
-6
-12
4
5
54
71
41
16
-2
-6
0
-7
0
90
42
-41
5
14
3
-4
0
0
0
0
0
70
10
13
22
3
31
0
41
104
-14
38
11
33
22
38
0
0
0
0
0
0
0
0
0
94
66
-60
-29
22
8
54
1
0
-13
2
-6
9
-4
75
18
0
0
0
0
1
96
78
8
-25
17
49
0
39
-54
46
7
6
5
4
26
122
29
-14
15
8
5
-1
22
-1
88
-17
3
-19
23
33
17
11
0
-28
-6
27
43
14
49
22
0
0
0
0
0
-7
36
-8
-16
30
33
0
16
31
16
8
-12
11
18
75
36
71
-32
-10
54
-22
-3
50
41
79
55
24
-72
-1
-46
19
54
0
27
-38
0
-15
75
15
33
0
0
0
0
0
1
-2
-15
46
24
79
0
0
39
46
25
43
60
58
34
0
0
0
0
0
0
0
0
0
103
-52
67
-86
58
-6
33
18
0
0
0
0
0
-33
-5
8
0
0
0
0
0
1
-18
28
-77
44
68
0
14
14
46
63
16
17
20
54
22
-61
67
-9
-8
-19
6
56
53
32
24
-6
-63
16
-5
29
53
0
-82
3
0
0
26
-17
37
0
0
0
0
0
-1
14
-4
21
53
21
0
0
-7
-25
-3
51
29
46
70
0
45
-31
0
-3
-77
-26
123
40
22
-19
-7
2
-18
-16
22
67
0
0
0
3
0
-5
4
-14
0
0
0
0
-62
-43
-41
-8
2
-6
-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
15
55
-29
-9
10
-45
-19
0
0
0
0
-86
-3
53
24
24
-26
-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
0
-16
9
-7
15
23
-29
-43
0
0
0
0
43
-22
-33
21
-4
-20
-34
0
-9
3
-30
-5
28
-8
-27
-55
-40
-59
43
4
17
17
-17
-23
-52
26
39
-5
2
58
3
-15
-24
0
-17
7
-43
38
30
-2
-35
0
0
0
0
10
-60
66
52
-14
-10
-79
0
-48
0
-51
28
7
-5
50
-1
0
0
0
0
0
0
0
0
0
5
-28
-3
24
25
-63
18
10
0
-5
38
-28
56
28
-30
-23
0
0
0
0
138
41
42
23
45
-28
-141
0
-18
-1
-4
10
11
-7
-94
26
2
-67
32
36
66
-4
11
-43
-81
6
5
1
33
28
42
29
-30
0
5
47
39
-54
-106
-43
-24
0
0
0
0
24
24
18
35
5
-16
-19
0
39
-14
-23
-14
37
-7
-50
6
-23
42
43
44
54
11
-14
-6
-37
61
56
11
56
-22
-5
-2
-31
0
100
81
-32
23
-140
-13
-16
0
0
0
0
63
63
90
-5
10
11
-47
0
29
2
-28
50
-83
-7
142
0
0
0
0
0
0
0
0
0
0
51
60
-27
1
-15
-44
93
-168
0
-9
-14
-4
2
-9
18
-33
0
0
0
0
124
63
-27
70
27
-17
-108
0
141
74
82
2
8
15
-45
22
58
176
20
-6
-4
-54
6
-8
58
-2
37
-20
26
-40
-35
104
-93
0
28
-5
40
75
-3
-59
-80
0
0
0
0
87
27
-23
117
-18
-12
-67
0
40
62
-2
2
-16
10
-20
-1
-5
39
-24
-16
10
-53
28
93
80
30
6
-5
21
-12
12
64
-40
0
-1
-54
8
26
77
-52
-3
0
0
0
0
0
-13
3
34
29
-42
-152
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
-36
14
-64
-42
43
24
-14
0
0
0
0
-3
-6
20
5
34
-174
-122
0
0
0
-45
47
20
0
-9
0
0
0
2
0
3
1
0
1
0
0
-8
0
0
0
0
3
0
0
-88
-32
71
6
-1
34
-4
0
0
0
0
-28
-58
-17
21
-1
19
-46
0
-27
58
0
20
-22
-20
-41
-8
0
-52
-11
-20
68
14
17
-20
-32
-5
0
23
28
89
-52
-45
-56
0
-53
-58
11
26
90
-4
5
0
0
0
0
-16
-100
-68
11
-5
-60
-73
0
0
0
-17
16
1
49
-29
6
0
0
0
0
0
0
0
0
0
0
3
-3
14
-49
11
22
-27
0
-40
28
31
-19
-80
-24
-26
0
0
0
0
1
-113
-2
9
27
-61
-100
0
0
-7
-10
35
7
-28
-29
-51
0
2
-20
86
-31
-35
11
-35
-13
-1
8
26
-21
48
33
-24
-134
0
35
11
14
6
-72
-12
-24
0
0
0
0
16
-33
11
5
-1
-25
-45
0
-80
-20
-46
12
19
-7
-19
-24
52
73
-42
3
-19
-12
-31
-2
-27
-73
-15
56
1
-61
29
-30
-1
0
32
3
-13
32
46
-26
-54
0
0
0
0
-7
-94
22
-29
-36
-30
-101
0
0
0
60
-14
21
-37
11
-54
0
0
0
0
0
0
0
0
0
-19
12
37
77
23
-7
-55
-111
0
33
-20
4
-99
60
-35
-50
0
0
0
0
41
-22
-6
4
11
-63
-67
0
-5
-8
-3
7
71
-75
-68
-47
50
-36
-14
28
49
-36
-22
-7
-17
-12
51
52
-104
45
-27
-57
-21
0
49
-24
88
4
0
-57
-63
0
0
0
0
-106
-68
81
-7
-3
-27
-26
0
-8
53
-25
10
-7
-53
-32
14
36
53
-19
-23
3
-82
-43
5
26
-136
12
9
59
-26
24
-26
-35
0
52
98
-23
-96
-61
13
-31
0
0
0
0
1
-15
-6
8
7
-54
-47
0
0
0
1
26
43
-44
21
-8
0
0
0
0
0
0
0
0
0
-9
-11
-18
29
-10
21
25
28
0
-2
3
0
1
0
-58
2
0
0
0
0
-3
-36
-4
-39
29
-63
-25
0
20
96
43
-12
20
-34
-68
-78
6
2
25
-15
73
-5
-23
-52
44
1
17
35
-11
-84
-60
12
5
0
-42
4
-20
-48
66
-26
48
0
0
0
0
-32
26
112
45
4
-33
-50
0
74
-61
85
-88
9
-73
-29
94
0
-65
-16
18
87
-140
-37
7
-5
29
-15
16
-101
19
-20
-38
100
0
-5
-6
-2
14
-45
-11
19
0
0
0
0
0
-2
-5
-13
79
-78
-26
0
0
0
-1
4
-32
-13
-105
0
0
0
0
0
0
0
0
0
0
0
-3
-3
6
-31
45
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-44
23
25
3
0
0
0
-24
23
-40
-52
-19
56
-4
-3
-7
-4
17
-13
7
36
2
0
17
39
0
-49
-2
101
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
7
74
-8
-11
0
0
0
3
-3
-53
-53
-43
124
0
-6
0
0
7
-1
27
88
-1
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-25
-32
-17
5
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
-32
-8
16
34
-14
-3
-2
0
0
0
0
-2
-18
17
-7
-15
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
-61
-20
34
8
8
-1
-4
0
0
0
0
-36
-16
-6
-4
0
4
-15
0
-29
-3
-1
-23
-1
10
-6
-11
-42
0
-16
-2
16
14
6
-11
-8
-71
49
-2
21
15
12
-1
4
0
-1
26
32
8
-10
-13
-1
0
0
0
0
-5
25
11
31
9
12
-7
0
-17
-3
-21
5
-18
9
-4
-30
0
0
0
0
0
0
0
0
0
-73
33
14
-14
12
-16
-15
3
0
10
35
22
1
-1
-2
-4
0
0
0
0
-15
24
38
27
-1
2
-4
0
17
14
-2
9
21
26
-3
-49
-51
-10
-9
10
3
19
3
-4
-14
-118
-1
25
18
36
4
-11
-1
0
74
-6
-32
-11
2
1
-4
0
0
0
0
26
44
33
7
-1
5
-10
0
33
-16
26
1
-9
-1
3
0
-14
-5
4
-8
-6
5
10
-1
4
19
43
28
-27
0
5
-2
7
0
-45
-17
13
-7
-1
-4
3
0
0
0
0
55
41
51
17
8
-1
13
0
23
41
23
29
38
28
12
0
0
0
0
0
0
0
0
0
0
25
6
5
13
3
-1
-2
5
0
-27
16
-51
16
2
17
-4
0
0
0
0
73
40
13
2
-8
7
16
0
21
69
15
12
22
9
13
13
49
50
-12
-16
-9
14
7
3
0
23
58
-1
30
20
17
1
5
0
5
108
-35
17
18
-4
-22
0
0
0
0
2
43
62
4
4
-2
2
0
73
19
51
-26
-2
-3
10
16
-30
32
21
27
-14
-2
14
4
3
43
50
42
-17
-38
-16
16
0
0
-10
23
25
-17
-23
18
-13
0
0
0
0
-8
-86
-42
-18
-9
53
-41
0
0
0
-116
-29
-65
33
3
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
2
4
0
0
-43
33
-5
-76
-23
7
-15
0
0
0
0
-86
-46
-52
-40
-5
33
-15
0
0
-16
-135
-4
-42
33
5
-2
0
0
-5
-12
-20
-27
-90
53
3
-6
-2
47
29
-56
-35
-29
-33
0
-162
20
-34
33
14
-3
-5
0
0
0
0
-100
-79
-26
-15
-13
22
14
0
-125
-78
-21
15
13
15
1
-15
-105
-41
-22
39
3
9
-6
-11
7
-152
-21
27
-15
23
26
-27
0
0
-31
25
-17
-1
11
-28
-7
0
0
0
0
-39
-47
-55
-8
-21
8
-77
0
0
14
-81
-52
-41
18
-137
-59
0
0
0
0
0
0
0
0
0
10
-39
-11
-59
-61
-18
8
-31
0
-99
33
8
-5
11
-4
-7
0
0
0
0
-77
-26
-13
-38
-15
4
-19
0
-54
-38
-30
-37
14
-26
-39
-39
-114
-51
1
-35
15
5
-49
0
9
-51
-74
-26
8
-56
-36
-33
5
0
-23
-1
14
8
-4
-15
1
0
0
0
0
60
-13
-28
-17
-9
11
-15
0
-57
-9
-11
21
7
-6
-5
-10
-42
9
-28
15
18
-9
-11
-15
-9
-25
11
-2
34
-22
9
-2
-5
0
-7
36
27
13
6
-1
2
0
0
0
0
20
-33
-24
-10
-3
3
-13
0
-162
-81
-54
-23
-27
-29
-93
-27
0
0
0
0
0
0
0
0
0
-75
-29
-30
6
13
-17
4
-13
0
-4
-1
-26
-19
-1
-6
13
0
0
0
0
-19
-9
-18
-14
-11
8
-37
0
-54
-41
-5
-33
-42
-32
-74
-41
-158
-11
-34
-13
17
-49
-37
-37
0
-75
-67
-6
-8
-26
-29
-8
-11
0
73
-14
6
-4
2
-10
2
0
0
0
0
11
-25
-11
0
1
4
2
0
124
18
-16
-4
-4
-5
2
-9
80
-24
33
15
-8
-15
-13
0
-7
115
21
-4
-15
-12
3
2
0
0
80
63
40
-8
-11
-4
-12
0
0
0
0
-16
20
22
-20
3
14
15
0
-1
-10
2
-32
-23
-21
-22
-16
0
0
0
0
0
0
0
0
0
16
29
-10
-52
-29
2
14
5
0
52
44
44
-58
-9
-5
20
0
0
0
0
-18
-14
-18
1
-8
16
7
0
-26
-29
-23
-49
2
-13
-21
-16
-101
30
-32
-22
2
-8
-11
-3
-9
15
42
-31
-7
5
7
4
-3
0
24
30
32
-31
-1
-43
-4
0
0
0
0
-20
9
-52
3
-11
0
12
0
2
17
-24
-11
-22
-12
5
-7
-4
-15
78
-54
-32
-49
5
13
52
-23
-23
-14
-68
2
42
-9
23
0
128
36
-80
19
6
-9
-28
0
0
0
0
-7
-12
73
-31
-16
-8
44
0
5
-57
50
-17
8
-39
21
8
0
0
0
0
0
0
0
0
0
33
2
-62
-5
5
1
16
31
0
-23
-1
4
13
4
31
32
0
0
0
0
0
-16
32
-47
-43
-11
36
0
-36
-52
-18
-33
-10
-20
8
20
47
23
44
11
-22
-16
14
34
5
138
0
34
-66
-38
21
-4
29
0
22
54
43
-2
-5
-22
-59
0
0
0
0
1
11
48
-9
-2
-62
32
0
-8
-71
66
-24
-36
18
-3
22
-24
9
11
-42
-30
-61
-14
42
3
38
34
59
1
57
-61
9
5
0
22
-11
-21
-53
3
57
9
0
0
0
0
34
15
9
-13
-1
1
14
0
0
0
0
0
0
0
0
0
-7
-9
-29
-6
-5
-13
-22
-9
0
0
0
0
0
0
0
0
0
0
106
12
11
33
-17
-14
-3
0
0
0
0
13
18
7
4
20
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
-18
30
56
-4
2
3
-8
0
0
0
0
33
71
21
9
11
7
-1
0
80
39
25
-12
2
-10
-4
5
-6
134
7
24
-12
17
-4
-16
-2
-14
13
-20
-23
27
3
-7
-2
0
-91
22
-11
-6
7
-6
1
0
0
0
0
0
55
90
17
-6
4
6
0
72
5
-12
-13
22
0
-7
4
0
10
30
11
-1
8
-3
5
-1
126
-23
33
15
8
11
8
3
0
81
-38
18
25
-11
7
-7
0
0
0
0
18
84
28
-22
20
0
7
0
-9
47
14
14
-12
5
4
-1
-13
32
6
28
-17
1
-15
15
8
33
140
13
-3
-14
-6
-5
2
0
61
-12
-67
-24
-33
1
15
0
0
0
0
42
69
46
17
5
-4
0
0
92
34
6
-3
-2
-6
-4
6
78
22
55
79
22
14
-17
5
13
15
15
76
31
-19
-4
0
4
0
4
47
-5
4
-12
15
-17
0
0
0
0
20
15
47
-1
15
-3
1
0
29
30
14
40
23
-2
1
21
43
34
14
11
9
13
-2
3
-12
38
87
1
27
5
12
10
10
0
109
-18
23
-28
6
-49
-69
0
0
0
0
6
88
56
1
8
-8
14
0
-14
3
2
-40
-13
-7
-2
22
114
11
70
14
-17
4
0
2
12
142
68
50
-4
6
-8
2
16
0
62
63
-14
48
-7
-34
9
0
0
0
0
9
-4
26
36
10
-24
0
0
-64
21
-45
88
29
10
-10
-34
90
-21
99
-44
-5
-33
-7
7
-9
164
68
-24
3
-1
-17
-23
14
0
23
71
-18
-82
22
10
-32
0
0
0
0
0
0
-19
-62
-13
33
-141
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
10
-63
-11
34
-3
0
0
0
0
0
-15
-46
-95
6
63
-46
0
0
0
2
1
-60
-31
-118
-55
0
0
0
0
1
6
-33
-48
-1
0
0
1
-1
-18
-13
-14
2
0
0
-9
-29
-20
-6
15
14
0
0
0
0
0
45
-111
-31
-24
15
74
0
0
1
-1
9
-2
-16
41
-33
0
-1
3
-30
8
55
16
-59
-47
0
-2
-24
-29
44
56
-49
18
0
-6
-12
-28
36
16
91
-53
0
0
0
0
5
-72
-155
12
5
3
-7
0
0
3
95
-122
-95
42
-83
-80
0
0
0
0
0
0
0
0
0
0
0
5
0
-60
-17
-161
-85
0
-70
-27
-13
10
-1
7
-4
0
0
0
0
-3
-57
-30
40
-33
23
-9
0
0
0
-20
-59
28
10
-120
-63
0
-5
-5
19
106
-61
-53
-159
-126
-1
-32
-5
30
72
-25
-106
-86
0
-98
-63
-78
2
24
9
12
0
0
0
0
-46
-75
-14
22
1
6
17
0
-17
-3
-19
31
52
6
9
-29
-27
-94
-25
-5
15
6
13
-21
-10
-119
29
-12
14
14
12
43
-6
0
-99
-43
7
-33
-9
60
-3
0
0
0
0
-12
54
84
16
-6
8
-2
0
16
-7
-15
-7
-12
8
-38
-27
0
0
0
0
0
0
0
0
0
-213
-45
6
-5
25
-22
-40
0
0
90
-1
49
-5
6
6
-1
0
0
0
0
86
19
-50
-14
-4
27
3
0
47
-33
41
33
5
10
-87
-39
46
-22
-73
-27
3
20
-30
-72
-23
-12
-24
-8
-38
28
23
-33
-29
0
61
28
-52
-30
31
14
8
0
0
0
0
-14
-26
-15
39
10
3
9
0
-55
1
100
32
-17
-5
9
21
18
33
-31
-36
30
16
-13
25
3
36
26
39
29
-32
-19
8
14
0
13
29
-6
14
19
-1
-18
0
0
0
0
0
81
25
-31
-22
27
12
0
24
11
33
69
47
18
43
39
0
0
0
0
0
0
0
0
0
130
7
13
-22
25
5
-6
-10
0
33
36
14
-22
-27
25
-19
0
0
0
0
-5
98
18
-72
8
19
19
0
-6
23
47
29
41
0
4
31
56
172
20
7
34
16
-13
26
11
41
-12
-34
9
-20
5
13
27
0
48
-7
-10
-1
25
7
-7
0
0
0
0
0
30
-5
-54
3
25
3
0
3
17
18
-91
-39
40
25
32
6
12
-7
32
-40
-5
28
-12
68
22
19
-62
6
-52
-15
37
1
0
-5
-71
27
-11
-39
32
83
0
0
0
0
0
1
-24
-15
-17
48
27
0
0
82
84
44
12
45
47
47
0
0
0
0
0
0
0
0
0
102
19
38
-50
25
-3
6
-32
0
0
0
0
0
-39
22
6
0
0
0
0
0
0
-43
4
-20
5
81
0
2
4
-1
108
-39
-36
36
65
-40
-20
137
-21
38
-25
0
67
15
33
8
-33
44
5
-3
20
5
0
15
1
0
0
-56
-16
30
0
0
0
0
0
-1
13
-2
79
-41
32
0
0
3
-14
-1
-5
5
48
12
0
11
-3
0
-7
-59
-31
34
44
13
6
0
1
-15
38
-24
-11
0
0
0
3
0
-6
7
5
0
0
0
0
-122
-92
-14
11
13
-13
-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
17
19
38
21
-21
-5
-46
0
0
0
0
-47
-59
-7
9
29
-15
-115
0
0
0
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
22
43
-26
-23
7
-43
0
0
0
0
3
-70
19
23
4
-13
-11
0
-6
-32
5
-6
15
-9
-14
-46
-20
-21
-13
26
24
25
-18
-14
-23
6
3
41
10
15
-1
-3
-17
0
-8
-34
8
39
-16
-1
-19
0
0
0
0
45
27
53
-4
5
-25
14
0
-6
-9
-2
-3
24
9
-20
-1
0
0
0
0
0
0
0
0
0
-5
51
-30
21
23
-15
6
-25
0
-84
-30
-14
38
-10
-51
22
0
0
0
0
38
81
40
41
42
-36
-83
0
6
33
20
-6
14
5
-47
-37
-5
-50
43
53
14
12
-8
-4
-114
-16
-62
31
34
-6
54
81
-46
0
-52
-19
-24
27
-28
-40
-7
0
0
0
0
-18
-18
20
47
27
-4
-33
0
43
8
7
8
-5
14
-30
-63
55
42
25
-24
21
-10
-27
6
-6
0
62
-30
49
-14
-36
56
-16
0
78
-28
-34
41
-33
-80
33
0
0
0
0
25
55
27
20
39
-18
-48
0
31
2
-45
21
-27
-10
112
0
0
0
0
0
0
0
0
0
0
34
35
-15
29
-65
-34
99
-82
0
5
24
-6
2
-14
13
-34
0
0
0
0
34
32
-43
77
56
-16
-9
0
75
18
-11
-1
16
15
-44
-31
61
159
-14
5
-27
5
24
-2
-22
0
6
-31
12
2
23
16
29
0
40
35
35
21
-44
-25
-27
0
0
0
0
82
33
47
22
-24
-3
-2
0
24
-9
-31
71
-20
14
1
16
4
-4
-5
1
-31
-38
47
21
71
15
-7
-22
21
-33
25
9
46
0
-1
-4
6
25
41
-62
24
0
0
0
0
0
-9
18
-9
34
-105
-214
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
-24
44
-83
-1
70
55
-31
0
0
0
0
-14
-56
14
-15
14
-88
-96
0
0
0
-83
84
49
0
-13
0
0
0
3
0
3
2
0
1
0
0
-8
0
0
0
0
3
0
0
-107
-19
13
-21
-41
42
7
0
0
0
0
-47
17
-30
-28
-6
24
-16
0
-62
6
-3
35
23
19
18
-66
10
-43
0
-56
3
68
-68
23
-46
-33
-9
9
49
46
-74
10
-90
0
-36
10
-66
19
11
-10
62
0
0
0
0
-21
-86
-11
11
19
-65
-126
0
0
0
-8
47
-47
-47
24
14
0
0
0
0
0
0
0
0
0
0
3
-14
38
-53
5
18
-48
0
-47
33
14
-24
-44
-25
-13
0
0
0
0
12
-59
11
9
17
-63
-127
0
0
-25
-44
54
-26
-12
-94
4
0
-5
7
19
-5
-5
20
-29
53
-22
43
45
-9
32
-6
-24
-86
0
-25
9
-12
-26
-44
24
-20
0
0
0
0
-21
-16
1
-12
-1
-4
-12
0
-48
23
-22
-13
11
-6
-24
0
-8
39
-34
-24
62
-13
-25
-20
-18
19
-94
-21
3
42
-2
-12
-25
0
17
1
8
-16
26
2
-25
0
0
0
0
-5
-65
-21
16
-44
-42
-65
0
-6
3
81
49
-19
-38
-54
-70
0
0
0
0
0
0
0
0
0
9
-26
132
-47
5
14
1
-48
0
-3
-32
32
-98
46
11
-58
0
0
0
0
61
-59
-5
14
49
-92
-63
0
-8
-21
63
-12
22
-41
-92
-39
26
-70
-60
18
48
-14
-26
7
-61
-7
23
-16
-32
44
-36
-14
-1
0
-72
-90
53
-30
59
9
-41
0
0
0
0
15
-75
-13
3
0
2
-30
0
-3
100
5
-30
-32
2
-21
-2
-17
116
-64
-44
31
-1
-19
-10
62
-35
9
-27
1
0
27
-32
-16
0
103
33
26
-56
-17
-26
-58
0
0
0
0
1
14
-10
-46
-46
-16
-48
0
0
6
-30
-35
-19
20
-119
-4
0
0
0
0
0
0
0
0
0
-36
-11
-43
91
-4
12
12
-42
0
-2
3
0
1
0
-51
0
0
0
0
0
-11
-116
64
40
37
-82
-77
0
15
58
77
-11
43
-40
-62
-33
49
-62
32
-60
-5
17
1
-4
65
1
4
12
-92
-41
-27
28
22
0
-4
18
-26
-30
58
-37
74
0
0
0
0
-11
16
39
-10
-9
-55
-11
0
14
-35
4
4
-14
-72
-18
116
0
-81
-28
21
53
-164
3
-15
11
-9
-43
19
-17
-2
-48
68
80
0
-10
-4
0
11
-16
-13
45
0
0
0
0
0
-2
-5
-8
87
24
-28
0
0
0
0
4
1
-29
-33
0
0
0
0
0
0
0
0
0
0
0
-3
-3
6
-34
34
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-52
-25
-23
52
0
0
0
-5
-72
46
-49
-10
27
-4
-3
5
-21
11
-21
46
-8
2
0
34
-11
3
-35
-28
59
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
80
-36
-1
0
0
0
3
24
-46
-31
-78
90
0
-6
0
0
7
-1
25
54
-1
0
1
0
0
0
-2
-18
0
0
0
0
0
0
0
-8
0
0
0
0
0
8
-14
-4
28
62
-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
1
-38
27
-3
-9
4
-4
0
0
0
0
21
14
31
62
13
-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
-18
45
-6
-33
-10
16
-23
0
0
0
0
-5
-4
13
17
33
-18
-50
0
9
1
13
7
-20
-1
-14
-4
-35
64
-25
-40
66
33
-30
-39
24
-10
34
-15
-8
7
-1
5
14
0
-7
43
5
-17
32
18
-3
0
0
0
0
12
32
24
-3
-31
23
5
0
-21
4
5
23
-31
7
7
-22
0
0
0
0
0
0
0
0
0
-7
10
-18
-61
4
-7
-19
4
0
-15
37
-5
-60
4
11
6
0
0
0
0
2
45
16
8
5
8
28
0
8
23
16
7
-10
80
-28
-61
-26
11
18
38
14
28
2
-7
-39
-16
2
18
1
-8
4
-2
-5
0
28
-26
-30
-33
41
-3
28
0
0
0
0
22
80
14
17
-13
6
-17
0
-14
15
-54
-34
23
-15
68
-51
32
34
-17
1
-10
13
10
-10
42
25
-6
19
-33
11
21
-2
-5
0
-45
-5
9
49
-41
-11
4
0
0
0
0
-2
57
64
-2
-19
-4
5
0
52
28
21
17
33
25
32
-26
0
0
0
0
0
0
0
0
0
-2
0
21
7
-13
1
-4
-14
0
3
15
-16
34
-27
-15
64
0
0
0
0
53
27
20
10
-8
14
32
0
59
53
18
24
28
18
4
2
51
26
-15
-5
19
-76
-10
11
-12
99
39
23
25
-53
25
0
-29
0
9
29
16
-18
20
-8
29
0
0
0
0
1
29
-5
-43
-14
-27
97
0
19
17
31
14
-37
-21
-6
35
5
23
6
13
0
-13
3
29
27
12
-2
19
-16
14
-21
-13
-7
0
24
6
-16
38
-20
28
3
0
0
0
0
1
-42
-107
6
95
3
4
0
0
0
-42
-11
-6
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
-13
1
-15
14
-38
17
5
0
0
0
0
-53
-59
-34
-15
14
41
45
0
0
-5
-19
-3
-1
-11
2
14
0
0
0
-9
1
-4
-30
0
0
-1
1
10
6
-41
5
-13
-5
0
3
-30
-12
32
4
8
14
0
0
0
0
-27
-37
-33
31
7
-43
30
0
-47
-27
-18
41
48
5
-3
-48
-29
-13
-34
-7
-42
24
46
-2
30
-93
-18
17
-20
-11
9
-18
2
0
38
-10
14
-4
25
4
24
0
0
0
0
-34
-33
42
-16
-28
23
-23
0
0
4
-56
-31
9
-5
-23
28
0
0
0
0
0
0
0
0
0
3
-5
1
-29
-32
-41
1
-23
0
-45
-22
-52
-5
-33
-25
68
0
0
0
0
-44
4
4
-23
-28
18
17
0
4
-62
-95
-27
-15
-52
81
-69
-20
-12
-68
5
88
0
-24
-2
-46
-9
-51
-44
-22
-19
17
33
-2
0
-19
18
22
-14
-23
-19
20
0
0
0
0
-26
-29
14
-25
-22
26
10
0
-47
13
-6
-15
-43
53
-18
29
-30
-27
17
8
-23
11
2
19
26
49
-60
-10
52
-51
-1
31
-25
0
4
-12
-3
-7
5
-13
17
0
0
0
0
20
39
11
27
1
-53
86
0
-62
-78
52
-32
-10
16
1
-9
0
0
0
0
0
0
0
0
0
-10
-24
9
-15
-7
-1
7
34
0
-23
-23
-6
2
-9
-24
69
0
0
0
0
-18
-14
-76
-36
-5
33
19
0
-17
-38
-19
-24
-43
-16
-2
25
-49
-22
-23
13
-27
-31
9
10
23
-46
2
45
5
8
-15
-17
-3
0
21
-33
55
-46
-40
40
-5
0
0
0
0
13
-71
8
-42
0
35
48
0
-2
-6
-11
24
20
-11
-3
-1
43
5
-44
8
-6
-32
33
-6
-45
28
12
-56
-42
-9
-22
-8
64
0
4
43
-3
-15
-9
-5
-24
0
0
0
0
17
-28
-3
-82
23
28
15
0
-20
13
14
3
-36
-15
37
56
0
0
0
0
0
0
0
0
0
-19
-15
-4
-3
9
6
-13
6
0
16
3
6
-30
-18
8
-17
0
0
0
0
53
13
37
34
-28
-81
-11
0
-7
-11
-9
-4
16
-14
-7
23
-12
34
18
-58
-6
-18
-9
39
-1
-58
2
-38
-30
15
3
-4
28
0
20
0
0
35
4
-10
16
0
0
0
0
1
-45
-18
37
22
-43
35
0
-5
7
-27
5
-11
-33
34
17
-2
-43
8
-23
-23
-52
29
12
9
5
6
-5
-28
2
-6
19
26
0
11
-1
3
-22
-4
-6
30
0
0
0
0
0
-4
-15
10
21
38
-3
0
-1
-10
-1
15
-46
-48
29
11
0
0
0
0
0
0
0
0
0
33
0
-6
-32
33
38
-12
18
0
0
0
0
0
-5
-8
-3
0
0
0
0
0
-13
-9
-38
23
8
1
0
-6
12
-5
54
-11
-51
4
-20
13
16
-1
-22
-13
-3
15
-70
54
26
-17
-2
14
2
-27
12
16
0
-2
0
1
-4
20
-9
4
0
0
0
0
0
-10
13
-14
-3
-46
25
0
0
4
31
-25
7
-33
-10
33
0
1
1
3
6
-24
23
-21
-10
0
0
0
5
3
10
17
-26
0
0
0
0
-4
-3
-1
2
0
0
0
0
46
15
33
-45
16
-6
17
0
0
0
0
0
0
0
0
0
-55
-52
-40
-21
8
-9
-20
-12
24
0
0
0
0
0
0
0
0
0
45
5
0
-45
8
32
-13
0
0
0
0
23
-9
-53
-13
57
-42
24
0
0
0
0
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
31
31
22
2
-41
0
0
0
0
6
52
2
8
5
-25
-51
0
43
2
6
-36
10
-13
-17
37
45
-9
-2
5
15
-38
1
27
-24
4
-15
10
-7
12
-36
3
-25
0
13
-3
-37
-6
16
16
-9
0
0
0
0
-25
24
39
22
-16
-13
-17
0
-9
-5
5
81
5
-14
-32
15
19
43
39
20
-9
15
-12
11
-38
47
59
20
33
4
-8
17
-2
0
26
0
-20
-5
-8
16
8
0
0
0
0
14
41
-14
-49
-6
6
-40
0
-26
9
-48
42
-12
-9
-14
31
4
35
-31
-33
-11
29
-7
-11
-6
22
32
-5
-5
69
-32
50
1
0
33
54
-45
-33
0
21
-25
0
0
0
0
37
-34
53
-15
-27
-13
42
0
27
36
-12
35
-33
4
-29
2
29
-2
44
69
1
18
-6
17
-52
5
-14
-3
7
0
-8
-11
35
0
6
5
-18
-9
-10
5
26
0
0
0
0
1
-23
18
-15
33
-10
-2
0
36
35
-31
38
0
27
6
13
38
38
23
41
7
11
23
26
-39
-30
44
-17
9
-23
25
42
4
0
0
0
0
-11
11
-17
20
0
0
0
0
0
7
84
-7
-32
22
14
0
23
5
62
-14
-62
-46
10
63
13
14
59
-17
-4
-1
-7
-11
41
47
53
-14
26
2
-34
-16
-12
0
0
2
-14
43
-1
-12
-34
0
0
0
0
1
2
-14
-8
26
29
-38
0
-1
0
-9
16
9
16
-22
-19
0
0
13
-7
-16
-33
8
24
-33
0
5
-1
0
-30
11
-39
14
0
-1
0
-5
11
3
-14
-46
0
0
0
0
0
0
6
2
-23
14
-6
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
5
44
21
8
0
0
0
0
1
-1
-19
-6
-44
9
55
0
0
0
0
0
-14
3
8
-14
0
0
0
0
0
5
-11
-13
0
0
0
0
-1
2
2
-6
0
0
0
1
-7
-9
17
-5
33
0
0
0
0
0
7
-5
-19
-4
72
-10
0
0
0
1
10
-33
-15
43
42
0
0
0
-35
-16
5
-16
39
-8
0
1
-4
-18
-26
67
62
-14
0
0
-2
-5
-16
41
32
-3
0
0
0
0
0
-1
-44
-76
20
3
41
0
0
1
44
1
-14
-13
-15
-80
0
0
0
0
0
0
0
0
0
0
0
1
-3
7
-8
-5
-4
0
1
-5
2
8
2
-28
10
0
0
0
0
0
7
-10
-2
23
19
0
0
0
0
-10
-38
37
22
24
-47
0
-4
3
-2
14
18
13
-128
-9
0
-7
8
1
-6
-12
13
17
0
-17
-21
9
0
-42
72
32
0
0
0
0
-9
-6
21
10
-2
-3
36
0
6
3
-5
4
-2
15
-33
51
-1
-1
-1
-26
-1
2
-19
4
13
0
5
-35
2
-10
10
24
-15
0
-7
-5
-19
-7
-18
13
11
0
0
0
0
-1
-5
62
26
29
-11
-9
0
7
-24
-58
-38
15
-6
-14
44
0
0
0
0
0
0
0
0
0
-17
-59
33
-24
21
-24
-3
2
0
14
6
10
36
10
-23
-85
0
0
0
0
-10
-21
29
-26
62
18
3
0
-1
9
5
-41
15
74
-11
-37
1
-5
-24
15
-14
-13
20
-23
-23
-12
5
8
17
22
-14
-37
-4
0
4
7
-43
31
86
-103
-5
0
0
0
0
-5
9
33
-34
-23
-14
38
0
-4
-10
63
4
-15
-11
10
28
1
-2
10
-47
34
1
-8
17
1
6
13
-3
-5
1
-4
-8
23
0
-1
-33
29
-19
61
21
-10
0
0
0
0
0
2
-26
-3
-15
-5
22
0
0
29
-22
-94
-5
45
28
-46
0
0
0
0
0
0
0
0
0
10
-10
-5
34
3
25
-25
-9
0
0
0
0
6
-12
6
-5
0
0
0
0
0
-31
12
0
20
5
-1
0
-5
5
-26
-44
9
-2
14
26
13
23
28
7
-40
9
-21
8
36
20
11
24
-10
-64
-5
-6
4
0
0
0
1
-20
-29
-26
7
0
0
0
0
0
2
-17
7
44
23
-17
0
0
1
5
-6
-36
20
2
-37
0
0
-4
1
10
10
-31
-37
47
0
0
0
18
31
-16
-15
47
0
0
0
0
-44
-11
1
-8
0
0
0
0
0
0
1
-2
8
35
-26
0
0
0
22
25
-14
-15
-3
56
0
0
0
0
0
0
0
0
0
0
0
0
-7
21
-93
8
15
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-1
0
19
-22
-11
0
0
11
-15
7
2
-16
-1
43
0
10
11
15
37
20
17
-71
-21
0
17
4
-26
-9
47
25
-15
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
6
-15
-23
0
0
0
0
0
-9
7
25
-14
0
0
0
0
0
-1
29
7
6
0
0
0
0
-1
24
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-52
-20
-58
43
-13
-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
-24
-5
26
15
-4
10
-69
0
0
0
0
41
-31
-5
-25
3
-23
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
-30
-33
-10
-17
-5
4
22
0
0
0
0
11
-23
5
4
-5
-1
36
0
-3
-78
53
18
-11
52
1
-9
-21
-13
50
64
0
-31
-2
54
16
-15
3
13
-22
13
-6
53
-2
0
-46
-8
33
-11
-62
-20
32
0
0
0
0
20
-2
16
-23
-27
20
0
0
9
-1
-5
-17
-4
58
-23
0
0
0
0
0
0
0
0
0
0
-5
10
-25
-16
11
-5
10
0
0
-15
-8
22
-21
-7
4
43
0
0
0
0
-34
19
55
47
47
39
-72
0
-6
24
6
18
-9
23
4
-23
27
-6
-20
-22
-14
-26
17
19
-15
2
-33
7
4
5
42
19
14
0
-2
-13
6
0
13
32
-14
0
0
0
0
-21
3
8
-42
-13
57
-43
0
5
35
25
3
21
-93
-12
45
1
9
-6
-14
-9
7
11
17
-26
11
16
-13
-12
-17
-39
28
66
0
9
-4
-17
5
-10
-43
16
0
0
0
0
0
11
-5
-20
-15
17
5
0
5
-3
-16
-1
14
23
34
0
0
0
0
0
0
0
0
0
0
2
-5
6
34
-34
14
37
-3
0
0
0
-2
0
-5
0
-3
0
0
0
0
8
-14
-5
-42
-9
-18
63
0
9
5
-52
61
34
-43
36
29
9
5
1
25
-37
-9
50
107
-29
-1
-6
-26
-7
25
-14
-5
15
0
0
-1
-1
6
0
4
6
0
0
0
0
4
23
21
-23
-11
33
-53
0
2
0
-34
-5
-33
36
80
97
1
0
5
8
5
-7
-28
38
20
1
0
1
-17
-16
17
20
-31
0
0
-1
0
2
5
7
2
0
0
0
0
0
14
-7
-3
-48
-80
-34
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
8
-5
3
0
0
0
0
-4
-9
-20
-31
0
-15
13
0
0
0
-14
0
8
0
-3
0
0
0
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-14
-14
-8
4
14
-13
33
0
0
0
0
-19
-9
-38
29
23
12
-16
0
-20
-55
-19
-34
5
44
-5
-51
0
-4
11
-19
-9
19
-34
15
-124
-9
-33
-31
12
37
-1
23
6
0
-5
-15
-37
4
-5
5
48
0
0
0
0
-13
-110
8
6
-30
-4
-14
0
0
0
-20
30
-30
19
13
5
0
0
0
0
0
0
0
0
0
0
-1
-4
4
9
4
-1
-1
0
14
21
-7
6
15
14
-64
0
0
0
0
-59
-40
-32
45
1
14
-42
0
0
-2
-40
-35
27
6
3
-2
0
2
17
-31
41
-16
16
4
10
0
31
-6
-42
-17
26
6
2
0
0
17
4
-48
-1
-31
18
0
0
0
0
-13
29
11
-3
-25
-58
-5
0
-3
-15
-29
-19
19
-9
-4
3
-23
-85
-32
7
-17
-30
27
-19
14
-38
22
5
14
52
-24
-4
-48
0
-15
-1
18
-14
10
1
-40
0
0
0
0
-14
15
10
-23
38
-84
-37
0
0
-8
24
-12
10
-4
-29
-16
0
0
0
0
0
0
0
0
0
-11
-26
20
-6
-30
4
28
-29
0
0
-7
7
-14
-5
14
-2
0
0
0
0
-5
28
61
-4
9
-49
-43
0
-49
-1
74
-20
-45
22
-19
-33
-9
-33
4
9
-44
28
-34
-6
20
-33
-16
-33
-10
20
-20
23
-25
0
-14
-8
15
13
-8
-11
-31
0
0
0
0
-4
-14
6
10
28
-29
-16
0
8
28
42
-63
12
28
0
-66
8
53
-39
-20
5
5
-33
-15
36
-6
12
26
7
32
-34
-52
19
0
-5
11
-8
18
36
-22
8
0
0
0
0
0
-1
-6
5
24
-3
-2
0
0
0
3
14
-5
-13
-80
1
0
0
0
0
0
0
0
0
0
-2
-5
-14
52
13
23
6
15
0
0
1
0
0
2
-3
0
0
0
0
0
0
-33
2
45
72
-35
-19
0
3
8
-6
36
13
-1
-41
0
2
-5
-24
-3
44
6
41
-60
-7
1
-5
-12
-13
15
11
0
-5
0
0
0
-1
-1
7
-6
6
0
0
0
0
1
-10
11
-45
17
24
-33
0
0
13
-14
-31
-10
62
-13
6
0
0
0
-14
-7
21
16
23
25
0
-4
3
-2
-5
-18
10
-8
0
0
0
0
1
-4
10
-8
0
0
0
0
0
-1
-1
0
-1
10
4
0
0
0
1
2
-3
-26
11
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
-14
36
0
0
-1
-8
-46
8
-35
-1
14
0
0
0
-21
14
5
36
1
0
-1
1
0
1
-1
-19
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
11
0
-56
0
0
0
0
0
-4
0
1
8
0
0
0
0
2
-1
21
-4
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
26
0
-45
73
58
25
15
20
53
109
5
0
0
-10
22
-27
-12
8
17
56
90
0
4
0
-33
-23
-63
39
-30
-27
5
0
19
13
0
-40
-37
-42
-31
-20
-12
0
29
31
15
0
-25
-17
-8
-29
-11
0
25
18
-9
15
0
-6
-19
-51
-10
0
20
32
-2
-2
-1
0
-4
-73
-5
0
30
-5
-20
-15
-45
-40
0
11
-5
0
37
12
-5
-23
-44
-45
13
0
-2
0
-9
28
4
3
-23
-14
41
29
-6
0
0
-2
11
-15
2
-19
30
-20
-1
0
-4
0
-34
1
-33
0
2
5
-16
0
58
46
0
5
-23
-26
-41
62
-22
0
30
50
24
0
8
-29
30
-21
-39
0
37
13
15
5
0
4
-60
-24
-45
0
-32
-47
12
16
26
0
-5
58
-46
0
64
1
51
4
-34
-67
0
-43
-18
0
-14
-43
7
-1
-40
-22
-12
0
33
0
7
-22
-15
-6
14
10
15
43
6
0
0
-14
-4
-13
-3
-1
16
20
-4
0
93
0
-29
-36
-41
-43
-13
-30
-26
0
-26
45
0
-14
-15
-20
-44
12
-24
0
-20
-19
11
0
14
-26
-50
-10
-34
0
-23
-11
-33
-24
0
11
-24
13
-34
0
-47
-10
-5
-18
-18
0
-12
-6
-22
0
-18
-23
-14
-40
-62
-25
0
3
-20
0
-8
-5
-14
-29
-65
-50
-57
0
-3
0
-23
19
30
-12
-9
1
1
39
-1
0
0
-70
-5
-6
-14
-20
14
-13
4
0
11
0
-7
-10
-22
-20
-20
10
-35
0
-63
4
0
-36
21
-3
-2
16
-21
0
-28
32
14
0
-18
-10
-8
14
-36
0
33
55
42
16
0
-21
-3
-26
-33
0
2
37
11
4
-1
0
-19
-21
-25
0
-52
-15
5
41
2
-7
0
6
-32
0
21
15
22
2
-14
-24
-48
0
21
0
2
-55
6
-19
-1
-33
51
74
2
0
0
-2
40
17
-18
-14
2
9
12
0
43
0
19
-21
-36
-13
37
63
-12
0
-4
-28
0
23
14
-27
-62
-15
-20
0
-69
26
-19
0
17
-15
-48
-1
-13
0
-36
-16
-40
-43
0
-10
30
24
-27
0
34
-79
-24
-38
6
0
-16
-31
-15
0
0
-17
-12
-23
-47
-7
0
-17
-16
0
-23
-24
-20
-11
-41
-30
-18
0
-8
0
4
-19
-27
-6
-17
-6
-1
4
-4
0
0
-9
-33
-7
-30
-13
28
-5
-3
0
-37
0
8
2
-22
-3
-13
-21
-13
0
-29
48
0
6
-32
-2
24
-22
-18
0
10
6
-27
0
30
9
32
-27
-21
0
-17
64
15
-6
0
-7
1
-15
-13
0
47
20
23
-77
-18
0
-23
40
-24
0
-29
-9
7
-41
2
3
0
5
0
0
-10
18
11
58
-46
-33
-51
0
-33
0
16
-20
-4
-23
-4
5
41
-7
5
0
0
-29
33
-1
19
6
-64
25
-4
0
-4
0
5
-31
-9
29
23
22
68
0
-4
5
0
-11
-5
-53
-32
0
14
0
-2
-44
23
0
-5
6
1
-10
38
0
-19
-30
-14
-20
0
18
13
-1
-53
0
6
-20
-9
-28
28
0
39
-13
-22
0
43
-11
-22
25
5
3
0
7
-4
0
-26
-10
16
37
23
-34
-12
0
-1
0
11
15
-64
0
4
-38
70
-22
-13
0
0
36
25
-43
5
-23
42
-13
-34
0
14
0
59
-19
-29
-3
26
-2
-23
0
5
1
0
44
-4
-43
21
-12
33
0
11
-9
54
0
-13
-34
-8
4
57
0
-1
-6
-23
10
0
-29
-39
19
21
0
4
2
2
10
-13
0
10
-5
-26
0
-6
4
-4
22
-10
18
0
1
0
0
-6
0
-1
-10
33
-16
-5
0
0
-4
54
76
73
30
24
-99
0
-4
-14
46
3
-13
10
107
0
0
49
146
98
130
15
49
-1
-6
-1
10
-6
0
3
-15
0
1
25
21
72
96
55
-15
0
10
-16
5
4
8
58
23
0
0
21
27
40
36
25
35
-2
-3
-1
-14
-15
-22
13
40
0
-4
2
71
49
61
98
-12
0
42
-43
-13
-19
40
100
20
0
0
-47
-20
-17
18
41
-28
1
-25
-23
-26
-34
-42
10
61
0
-66
17
-40
40
45
52
-64
0
-11
-130
-39
24
56
-5
74
0
0
-48
-52
-126
-68
30
-79
5
-38
-130
-114
-104
-73
-36
-26
0
-1
49
14
40
-18
-15
104
0
39
-12
35
1
13
15
90
0
0
7
65
94
126
16
30
-2
8
1
-10
4
-7
9
1
0
-8
66
51
103
77
-44
146
0
68
-17
4
-2
14
55
171
0
0
-8
31
26
9
67
5
-10
1
-6
-11
-16
-10
15
2
0
-7
9
63
36
60
-8
80
0
41
-36
-16
-32
33
26
95
0
0
-5
14
7
17
48
30
8
-47
-21
-25
-47
-30
10
-16
0
-49
-44
5
14
78
14
50
0
16
-38
-23
25
42
-9
12
0
0
-56
-109
5
14
-1
-68
5
-47
-91
-102
-83
-30
53
-41
4
13
-2
-26
-19
-54
-65
-22
-97
-5
0
0
0
0
0
0
0
0
28
29
-15
13
30
28
5
25
43
38
-13
-4
0
0
42
34
21
-1
1
-13
7
35
-1
2
-11
-24
-27
-30
-67
-141
-53
56
2
0
0
0
0
0
0
0
14
56
47
43
13
-19
78
-3
42
16
24
0
0
0
40
30
-61
0
8
3
6
59
9
5
5
-10
-17
6
4
46
-3
4
0
0
0
0
0
0
0
0
26
36
-9
-4
21
22
-53
-18
28
44
-2
0
0
0
49
-22
11
0
13
8
31
64
-3
16
-25
61
12
14
58
53
45
-5
0
0
0
0
0
0
0
0
-10
14
-18
0
37
15
34
0
-22
43
17
0
0
0
12
74
17
0
40
15
96
2
-9
23
43
77
21
14
59
23
0
0
0
0
0
0
0
0
0
0
-59
43
31
0
13
24
13
0
-1
34
1
0
0
0
21
33
2
0
51
24
27
-4
-1
28
0
60
79
70
90
4
1
0
0
0
0
0
0
0
0
0
6
-62
-1
0
-63
-22
4
0
-69
2
1
0
0
0
4
3
2
0
-13
4
46
0
-10
19
17
36
71
42
37
23
5
0
0
0
0
0
0
0
0
0
2
6
3
0
29
20
7
0
-38
-32
0
0
0
0
-30
63
5
0
27
-2
38
0
-20
75
136
53
38
59
18
-18
-3
0
0
0
0
0
0
0
0
0
-5
49
-48
0
-25
35
-5
0
-22
-61
2
0
0
0
-43
44
-20
0
49
0
15
0
-29
3
-7
28
22
23
-29
-24
0
0
0
0
0
0
0
0
0
0
-76
-32
7
0
-58
52
0
0
-62
19
0
0
0
0
24
44
0
0
-4
0
26
0
47
78
70
121
71
89
13
-1
2
0
0
0
0
0
0
0
0
0
22
35
3
0
43
-23
0
0
-53
-4
3
0
0
0
71
28
-4
0
-28
5
65
-2
58
64
60
100
111
142
94
26
41
0
0
0
0
0
0
0
0
0
12
-15
-13
0
35
38
4
0
-11
9
0
0
0
0
63
71
0
0
67
-5
19
0
29
81
82
58
87
40
48
85
-16
2
0
0
0
0
0
0
0
0
9
4
-9
0
-2
35
4
0
19
21
2
0
0
0
18
38
2
0
54
16
-15
-1
16
43
77
47
27
85
79
21
14
0
0
0
0
0
0
0
0
0
-19
-7
-4
0
37
1
14
0
40
16
-1
0
0
0
60
31
0
0
26
34
24
10
25
27
16
20
28
20
28
45
22
3
0
0
0
0
0
0
0
0
-7
42
4
0
-12
0
7
0
19
20
-2
0
0
0
39
47
6
0
66
6
-26
-2
13
8
-11
0
-53
-46
9
-33
-13
1
0
0
0
0
0
0
0
0
-26
-38
6
-4
34
-24
15
0
9
-20
-23
0
0
0
4
58
46
0
17
-2
-20
24
4
19
0
1
-13
-16
-65
-18
27
-35
-4
0
0
0
0
0
0
0
46
27
21
0
27
19
80
10
16
81
-7
0
0
0
36
-42
14
0
31
99
38
35
2
2
-10
-18
-24
-15
-25
-21
-24
-75
2
0
0
0
0
0
0
0
14
26
-25
-5
14
9
-58
-17
15
22
60
-2
0
0
26
21
100
0
9
0
13
67
1
6
-4
-10
-18
-8
-42
-93
-117
100
-1
0
0
0
0
0
0
0
25
14
2
56
22
-3
-26
7
9
24
-35
0
0
0
29
0
-65
0
6
21
41
37
0
-1
-11
-6
-13
-17
-43
-58
-108
-72
-33
0
0
0
0
0
0
0
12
-25
-1
34
4
3
-16
54
30
17
76
-49
0
0
18
-14
-75
-1
-5
-19
16
-48
1
-2
-12
-15
-14
-17
-37
-25
-43
-89
0
0
0
0
0
0
0
0
-3
-5
-14
-41
8
7
0
-8
5
0
-20
-35
0
0
14
-9
-82
-8
-1
-15
3
-14
2
7
-11
-9
7
-15
-1
-14
-88
-62
-6
0
0
0
0
0
0
0
12
-11
26
1
3
18
-77
-94
7
-4
32
-13
0
0
34
-17
-47
1
20
-23
24
-17
-4
5
-12
-23
-10
13
10
-40
-75
9
8
0
0
0
0
0
0
0
-6
-11
6
6
29
-35
55
-5
11
22
5
-7
0
0
24
18
10
0
15
54
-30
36
-1
24
44
13
25
80
105
14
-17
14
0
0
0
0
0
0
0
0
-11
71
-27
-4
1
2
23
-3
17
-50
-54
17
0
0
32
53
45
0
14
135
11
68
-7
16
32
45
46
57
74
-32
-1
16
0
0
0
0
0
0
0
0
21
37
-18
0
34
-6
58
-3
20
30
-28
-2
0
0
26
25
96
0
-24
96
1
46
-18
42
47
57
83
60
78
46
88
2
0
0
0
0
0
0
0
0
9
4
4
0
14
-34
82
0
13
5
-41
0
0
0
-1
35
3
0
33
-4
-15
61
-5
46
80
36
60
54
69
102
82
15
0
0
0
0
0
0
0
0
-34
91
10
0
7
43
2
0
-4
-69
-44
0
0
0
-12
19
18
0
17
42
-2
48
-14
17
-14
7
53
114
79
1
-2
0
0
0
0
0
0
0
0
0
23
2
5
0
-2
14
-5
0
-27
-24
-20
0
0
0
33
40
-39
0
-28
-5
-68
9
32
35
91
98
69
81
74
152
47
0
0
0
0
0
0
0
0
0
-41
96
7
0
8
71
9
0
1
29
28
0
0
0
75
71
-30
0
23
90
13
-38
36
42
42
45
105
21
26
45
84
48
0
0
0
0
0
0
0
0
61
5
46
0
13
52
45
0
24
42
172
6
0
0
85
66
35
0
154
-66
36
86
10
42
50
53
88
25
15
61
53
3
0
0
0
0
0
0
0
0
46
23
-16
0
26
44
-8
-4
32
50
25
0
0
0
56
89
-37
0
72
51
43
58
3
28
28
27
2
74
63
-21
89
31
0
0
0
0
0
0
0
0
2
3
-78
-1
8
31
102
-3
49
33
-20
-1
0
0
48
64
-20
0
42
64
38
97
7
7
4
8
2
-3
9
63
-69
17
-2
0
0
0
0
0
0
0
17
11
73
-42
12
2
-2
-13
2
27
-28
-22
0
0
17
16
132
0
46
44
53
43
3
7
-8
-13
-8
-11
12
-20
-3
1
-1
0
0
0
0
0
0
0
13
-26
8
-32
12
-15
-13
-39
-8
22
-52
32
0
0
11
2
50
2
-9
-25
-10
70
-1
-4
-10
-25
-19
-15
-11
-34
-16
-58
-36
0
0
0
0
0
0
0
6
-2
-23
-38
7
-21
1
-36
5
-7
-25
6
0
0
-3
-8
-27
-22
3
16
-9
-33
1
0
-8
-14
-13
-12
0
-32
-72
-54
-33
0
0
0
0
0
0
0
5
-9
-8
-15
0
10
-5
-1
3
-14
6
-56
0
0
7
4
11
4
-2
-29
6
-14
-1
-1
-22
-21
-35
-2
-33
9
-89
-12
-10
0
0
0
0
0
0
0
2
15
54
56
3
3
0
2
5
-2
40
-11
0
0
8
9
-14
0
5
-17
36
43
-2
-4
-16
-18
-17
18
-9
-64
-45
-23
-48
0
0
0
0
0
0
0
4
-28
-78
33
-13
-8
40
74
16
-10
-1
-65
0
0
-2
-8
-16
-1
-14
-33
-18
-94
0
0
-9
-16
-15
-26
-28
-4
-39
-80
-75
0
0
0
0
0
0
0
-4
-25
-32
-64
-1
-11
-15
100
10
0
0
-9
0
0
-7
-48
-76
0
-14
-59
-14
-7
0
3
-13
-6
-7
-9
30
-17
-109
-70
-8
0
0
0
0
0
0
0
1
-8
-19
-4
14
-11
-11
-75
10
5
7
-33
0
0
27
-7
-82
1
-11
-24
-8
10
-6
-10
2
-20
6
-35
-51
-27
-69
23
8
0
0
0
0
0
0
0
-23
-29
12
-2
29
-17
47
-24
6
12
17
7
0
0
29
36
-33
0
-34
-9
-33
-44
-1
14
3
5
5
13
51
2
-55
-18
0
0
0
0
0
0
0
0
3
7
28
-4
19
-35
-89
-3
35
-35
-37
15
0
0
47
20
24
0
-44
40
-43
70
-7
-1
16
10
-40
30
40
0
32
6
0
0
0
0
0
0
0
0
32
48
-7
0
30
13
51
-3
42
-4
11
5
0
0
27
24
9
0
-32
84
-6
55
-22
-1
6
40
57
65
55
34
32
-1
0
0
0
0
0
0
0
0
9
62
67
0
19
18
17
0
65
-43
-20
0
0
0
-4
-4
15
0
59
13
-10
89
-9
23
37
27
44
36
53
101
109
43
0
0
0
0
0
0
0
0
15
34
41
0
71
-14
11
0
46
-10
-33
0
0
0
-26
52
53
0
4
108
10
13
-3
-25
11
8
105
55
102
-8
49
0
0
0
0
0
0
0
0
0
24
3
-23
0
81
-1
-12
0
31
-19
-15
0
0
0
4
56
-39
0
-81
1
-38
7
36
29
56
18
69
36
-40
26
-16
0
0
0
0
0
0
0
0
0
-22
59
9
0
-23
42
7
0
-26
80
86
0
0
0
46
51
-16
0
15
89
62
-61
-2
12
-7
4
63
35
29
90
77
29
0
0
0
0
0
0
0
0
65
41
54
0
33
-3
37
8
29
5
40
14
0
0
33
48
-4
0
65
5
47
29
-3
20
13
19
34
-12
10
-4
51
-6
0
0
0
0
0
0
0
0
35
42
28
0
25
48
-21
-4
38
26
16
-7
0
0
58
81
-38
0
32
2
59
27
-5
23
9
-3
-1
-1
23
95
-9
27
0
0
0
0
0
0
0
0
19
28
-48
5
3
35
35
6
27
7
-20
-6
0
0
37
75
50
0
-13
-16
12
71
0
1
4
-3
-13
-11
33
-19
-25
14
-39
0
0
0
0
0
0
0
21
1
39
-28
7
-34
-1
-9
11
15
23
10
0
0
6
31
110
0
-3
11
-6
-13
2
5
1
-2
3
-5
-3
-57
11
-2
-20
0
0
0
0
0
0
0
-3
2
-51
8
4
-17
1
-26
13
-6
2
42
0
0
19
-1
-9
2
-21
-65
-25
-33
-3
-6
-7
-14
-27
-12
-16
6
-33
-10
-45
0
0
0
0
0
0
0
-6
-19
-18
11
-2
-21
5
-83
15
-7
-8
21
0
0
-2
-19
-22
-22
-11
-23
-14
40
1
0
-6
-17
-10
-11
-1
15
-16
-31
-57
0
0
0
0
0
0
0
1
-27
-22
-92
1
-11
8
-34
6
3
0
-42
0
0
1
-7
-13
8
-15
-5
-30
35
1
-4
-17
-28
-21
0
-22
4
-51
-25
-7
0
0
0
0
0
0
0
-4
7
-73
-26
0
2
-44
37
16
-7
-14
-33
0
0
-4
-20
-42
0
-16
-22
2
-6
5
0
23
-17
13
62
71
15
2
-9
0
0
0
0
0
0
0
0
-9
-33
25
0
-33
10
-3
-31
1
53
-62
20
0
0
-6
36
-7
0
-13
-61
-32
-12
-4
-5
7
-6
-4
13
-38
49
-12
6
1
0
0
0
0
0
0
0
8
-32
-108
3
0
10
17
-20
10
-51
-46
-15
0
0
-3
-5
-73
1
-24
-16
-37
-94
0
7
8
7
-11
-7
-4
-44
-14
-21
-1
0
0
0
0
0
0
0
-14
-36
27
-7
10
-10
2
-32
2
27
2
-12
0
0
31
18
-8
0
9
7
-2
-6
0
6
5
12
10
-15
-14
-11
10
-1
1
0
0
0
0
0
0
0
-12
5
-25
1
-28
-23
15
0
2
46
-11
2
0
0
17
-11
16
0
-28
-21
-17
-24
4
-5
-21
20
8
-1
-25
-46
-53
-1
0
0
0
0
0
0
0
0
9
-5
-7
0
11
-14
-31
-1
5
-4
28
7
0
0
25
-50
5
0
-54
1
-14
24
3
2
5
47
-29
27
40
7
5
-1
0
0
0
0
0
0
0
0
18
102
33
0
-17
-64
-26
-1
14
-47
5
0
0
0
0
1
-2
0
-38
-21
-53
33
-3
-4
-4
-4
-12
3
8
24
2
0
0
0
0
0
0
0
0
0
-22
-1
21
0
33
17
-24
0
-9
-26
33
0
0
0
-75
-11
0
0
-24
-2
30
33
0
-5
-7
-3
-4
-63
-6
-8
1
0
0
0
0
0
0
0
0
0
-20
7
5
0
5
59
-1
0
-3
3
1
0
0
0
-35
15
2
0
24
6
34
0
-19
-15
-15
31
9
-6
3
-6
0
0
0
0
0
0
0
0
0
0
32
4
-4
0
41
45
0
0
-15
21
3
0
0
0
-87
7
0
0
0
0
27
0
18
24
-4
-5
-2
-30
-28
3
0
0
0
0
0
0
0
0
0
0
-67
-72
-3
0
5
-21
1
0
20
-8
-7
0
0
0
-20
-3
0
0
-14
-4
5
2
-4
-2
-31
-9
2
-37
-14
2
0
0
0
0
0
0
0
0
0
0
-6
15
-1
0
19
-26
-7
0
5
33
0
0
0
0
11
-18
0
0
23
-18
14
3
3
8
7
5
23
22
13
-20
5
0
0
0
0
0
0
0
0
0
34
41
44
0
9
-2
-27
-2
26
-11
-19
3
0
0
-23
-6
-3
0
22
0
53
19
-1
0
-12
-7
30
9
22
-45
-8
4
0
0
0
0
0
0
0
0
3
-1
-9
0
-13
-31
-41
-3
-13
-53
9
-1
0
0
-41
-44
-3
0
-52
-23
-18
21
0
1
-5
7
-18
-25
-1
-15
-7
0
-1
0
0
0
0
0
0
0
-28
-36
-16
-3
14
-25
21
-20
7
17
15
-18
0
0
-29
23
14
0
-20
-44
-10
-15
5
-8
6
3
-41
-1
-7
18
-17
-14
0
0
0
0
0
0
0
0
-28
-7
9
0
-5
-15
-37
-24
10
-53
5
-14
0
0
9
16
-56
0
6
-45
-22
-40
-1
-6
3
-8
-13
-5
5
26
-14
-21
-4
0
0
0
0
0
0
0
-15
-10
-17
-7
-3
5
34
-17
20
-7
-68
7
0
0
28
-1
26
-1
4
6
-55
0
3
8
4
-1
10
20
-10
-1
-11
14
0
0
0
0
0
0
0
0
25
26
25
2
3
11
5
-42
-12
11
14
54
0
0
18
53
-5
3
-47
-27
-45
-27
-14
-5
13
35
12
-6
-3
17
-14
4
0
0
0
0
0
0
0
0
-8
-46
7
5
-21
10
10
-8
22
34
-23
-2
0
0
22
-57
7
0
-15
-7
24
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
73
15
-42
15
-4
0
0
0
0
0
0
0
0
0
0
-8
-86
-13
-54
20
34
-9
0
0
2
0
0
0
0
0
0
0
-52
-73
-141
66
-59
-13
-2
0
1
0
0
0
0
0
0
0
0
28
5
-110
48
-59
4
2
0
0
0
0
0
0
0
0
0
0
15
17
-20
-1
49
-17
0
0
0
0
0
0
0
0
0
0
0
14
74
-7
-35
37
21
-1
0
0
0
0
0
0
0
0
0
0
21
-44
-24
-24
22
0
0
0
0
0
0
0
0
0
0
0
0
15
30
-48
-53
-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
0
0
0
5
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-25
23
-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
11
-36
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
26
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
-45
-50
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
45
-11
0
0
0
0
0
0
0
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
-23
-25
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
75
-129
-23
-10
-1
-1
4
0
0
0
0
0
0
0
0
0
-16
1
-59
7
14
4
0
0
0
0
0
0
0
0
0
0
0
0
9
45
-51
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
22
12
3
5
0
0
0
0
0
0
0
0
0
0
0
5
3
14
-6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
-16
9
-19
-43
-2
0
0
0
0
0
0
0
0
0
0
5
5
-18
23
-12
-27
-3
-2
0
0
0
0
0
0
0
0
0
-13
-4
7
52
1
3
0
0
0
0
0
0
0
0
0
0
0
1
-4
39
-56
-50
-1
0
0
0
0
0
0
0
0
0
0
0
5
7
21
-113
-60
3
0
0
0
0
0
0
0
0
0
0
0
0
6
16
9
90
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-10
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
-13
27
3
54
-62
-21
-4
0
0
0
0
0
0
0
0
0
-9
-55
67
41
-38
14
32
-11
-10
0
0
0
0
0
0
0
0
3
-91
-42
-6
3
-50
59
65
-35
0
0
0
0
0
0
0
0
4
-39
33
85
42
-5
-38
-53
5
0
0
0
0
0
0
0
0
0
34
-20
-20
22
-8
0
24
2
0
0
0
0
0
0
0
0
-1
5
-14
166
99
46
-39
15
6
0
0
0
0
0
0
0
0
7
-19
54
-4
5
-53
47
17
0
0
0
0
0
0
0
0
0
-1
23
-10
-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
-10
0
-15
10
0
0
0
-2
-3
-7
0
0
0
0
0
0
0
0
-34
10
-21
21
-2
-1
-3
-3
0
0
0
0
0
0
0
0
-10
14
22
3
1
1
-5
-3
-3
-7
0
0
0
0
0
0
0
0
-33
-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
96
-12
-48
-57
-14
0
-14
0
0
0
0
0
0
0
0
14
-3
-125
-63
-1
-42
-5
-8
-17
-14
0
0
0
0
0
0
-1
-20
-15
-66
59
49
-37
17
-29
-42
-61
0
0
0
0
0
0
0
24
-20
-27
-73
55
28
63
45
22
-45
1
0
0
0
0
0
0
13
3
-25
43
67
68
42
71
29
3
0
0
0
0
0
0
0
9
-46
-53
42
26
46
62
23
104
0
0
0
0
0
0
0
0
-7
-18
-24
41
70
30
19
30
34
0
0
0
0
0
0
0
0
0
0
1
-17
-7
-10
27
0
3
0
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
88
18
-8
-2
-66
-2
0
-33
-19
0
0
0
0
0
0
0
120
42
55
-29
-32
-18
13
68
50
-21
-4
0
1
0
0
0
0
241
35
16
9
-41
-25
0
13
41
5
-1
0
0
0
0
0
0
192
176
23
-17
-41
-18
-22
-42
7
-15
-8
0
0
0
0
0
0
79
128
69
4
-56
-16
-3
-37
39
-36
-1
0
0
0
0
0
0
47
138
81
-27
-24
-19
-18
-5
95
-20
0
0
0
0
0
0
0
121
27
53
20
-45
-6
24
-72
51
8
0
0
0
0
0
0
0
42
54
8
-46
11
-39
-38
-35
-80
-9
0
0
0
0
0
0
0
0
11
-18
-139
-80
45
-21
7
0
0
0
0
0
0
0
0
0
0
2
14
14
17
-60
-82
0
-9
0
0
0
0
0
0
0
0
1
-33
-39
-55
-140
-44
125
57
-3
1
0
0
0
0
0
0
0
0
6
-63
-81
29
-30
36
-87
30
-1
1
0
0
0
0
0
0
0
-32
-43
63
-10
71
5
27
-6
1
0
0
0
0
0
0
0
1
8
-34
48
-54
23
70
59
53
5
0
0
0
0
0
0
0
0
-4
13
-8
9
-15
46
26
-22
0
0
0
0
0
0
0
0
0
0
49
2
-3
-25
129
23
0
0
0
0
0
0
0
0
0
24
2
-3
25
20
42
48
147
23
0
0
0
0
0
0
0
0
0
0
0
19
-4
-44
28
6
0
0
0
0
0
0
0
0
0
0
-27
-108
20
-34
-27
59
0
-16
-1
-3
0
1
0
0
0
0
0
35
-38
-66
-30
22
47
17
3
-49
-21
6
0
0
0
0
0
0
32
-112
3
-6
-35
22
-131
-86
-35
-1
0
0
0
0
0
0
0
-49
-70
83
7
76
96
-48
-131
33
3
-2
0
0
0
0
0
0
-27
53
53
15
32
21
16
-64
-9
0
0
0
0
0
0
0
0
0
9
-24
53
72
73
84
47
-53
13
0
0
0
0
0
0
0
2
43
2
14
-24
127
171
79
50
31
0
0
0
0
0
0
0
3
52
41
49
7
35
138
60
-8
2
0
0
0
0
0
0
0
0
0
0
0
22
-4
0
0
0
0
0
0
0
0
0
-51
75
44
-236
-46
6
-6
12
0
3
11
0
0
0
0
0
0
98
191
17
-103
-56
9
-4
62
33
36
7
0
0
0
0
0
0
58
34
-84
41
-2
-29
21
34
46
-13
27
0
0
0
0
0
0
-5
-34
-182
-24
-48
0
4
64
20
62
0
10
0
0
0
0
0
7
-14
-19
-14
63
28
27
0
17
66
-1
-1
0
0
0
0
0
1
-123
-2
38
65
50
36
47
70
-103
1
0
0
0
0
0
0
18
14
-43
-104
62
130
52
9
57
5
-2
0
0
0
0
0
0
-8
3
-1
-24
14
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
96
-76
90
-8
-90
25
-35
-23
0
20
0
0
0
0
0
0
0
151
100
-2
-73
27
-28
-9
12
44
-13
0
0
0
0
0
0
0
70
39
-26
9
-4
-30
26
2
25
-8
0
0
0
0
0
0
0
9
-52
30
105
-37
-47
-9
27
66
-11
0
0
0
0
0
0
0
19
0
9
9
-8
-11
67
51
19
-31
-1
0
0
0
0
0
0
2
-26
-86
1
36
7
-32
76
26
27
-31
0
0
0
0
0
0
7
-53
47
-71
15
-24
24
60
-22
32
0
0
0
0
0
0
0
0
2
5
-75
7
111
119
24
-66
1
0
0
0
0
0
0
0
0
0
0
0
31
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
14
58
43
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
72
10
-3
1
0
0
0
0
0
0
0
0
0
-2
-44
48
109
35
-20
-24
0
0
0
0
0
0
0
0
-4
0
0
6
-40
19
140
21
-30
0
0
0
0
0
0
0
0
10
1
7
22
37
3
110
-141
-184
0
0
0
0
0
0
0
0
3
-3
0
100
5
21
101
2
-56
-4
0
0
0
0
0
0
0
15
-5
-1
-54
43
0
85
19
-124
0
0
0
0
0
0
0
0
0
0
-17
-10
45
-1
-120
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
18
-57
0
0
4
13
0
0
0
0
0
0
0
0
0
0
0
0
-9
54
62
2
33
6
0
0
0
0
0
0
0
0
0
0
29
202
57
93
131
-35
2
0
0
0
0
0
0
0
0
0
5
96
-16
35
-1
65
5
-6
0
0
0
0
0
0
0
0
0
0
-8
56
84
35
-4
-3
1
0
0
0
0
0
0
0
0
0
0
63
30
22
39
100
-32
0
0
0
0
0
0
0
0
0
0
0
1
-11
67
15
62
14
1
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
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
30
2
0
0
0
0
0
0
0
0
0
0
0
1
14
-33
31
-71
14
0
0
0
0
0
0
0
0
0
0
0
-4
19
130
65
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
69
9
-61
-4
0
0
0
0
0
0
0
0
0
0
0
0
37
33
34
10
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-34
109
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
-12
-12
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
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
14
46
-21
-5
-10
2
0
0
0
0
0
0
0
0
0
0
0
1
80
-3
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
6
-5
125
-51
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
39
-47
6
0
0
0
0
0
0
0
0
0
0
0
0
7
23
-57
-14
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
23
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
36
92
18
-8
0
0
0
0
0
0
0
0
0
0
0
0
91
-45
114
53
-4
1
0
0
0
0
0
0
0
0
0
0
0
80
24
95
4
30
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
15
14
7
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-28
114
51
23
0
0
0
0
0
0
0
0
0
0
0
0
17
43
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
-3
43
40
23
94
43
0
0
0
0
0
0
0
0
0
0
0
8
-17
-59
31
57
48
0
0
0
0
1
0
0
0
0
0
0
-5
-4
13
26
8
152
-58
39
5
0
1
0
0
0
0
0
0
-7
-67
15
41
148
175
69
68
19
7
-1
0
0
0
0
0
0
-11
-49
-8
-139
43
89
175
-45
96
6
0
0
0
0
0
0
0
1
35
51
65
84
8
66
71
44
-10
5
0
0
0
0
0
0
-1
7
-22
75
49
80
1
-14
-82
6
0
0
0
0
0
0
0
0
15
-24
16
75
37
59
-21
-56
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
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
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-11
-8
9
0
2
-3
0
0
0
0
0
0
0
0
3
-4
54
-10
39
5
36
7
2
1
0
0
0
0
0
0
0
1
-35
-33
14
-17
0
30
6
15
0
0
0
0
0
0
0
-2
7
-7
-1
-3
-20
-24
62
-71
-1
0
0
0
0
0
0
0
0
14
-36
-13
26
46
28
-3
-26
0
0
0
0
0
0
0
0
0
-1
0
-5
7
0
13
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
22
34
-27
-49
14
0
0
0
0
0
0
0
0
0
0
0
0
27
6
6
13
20
0
0
0
0
0
0
0
0
0
0
0
0
15
22
-40
-104
53
1
0
0
0
0
0
0
0
0
0
0
0
8
27
0
-26
-20
-4
0
0
0
0
0
0
0
0
0
0
0
-53
13
-9
54
-24
25
-2
0
0
0
0
0
0
0
0
0
0
23
-28
-6
44
-14
9
-23
0
0
-1
0
0
0
0
0
0
0
-2
-16
-27
73
66
35
0
5
0
0
0
0
0
0
0
0
0
0
-15
-19
76
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
-30
-8
-3
51
59
129
-14
0
0
0
0
0
0
0
0
0
0
-14
-11
-5
20
39
-2
56
0
0
0
5
-2
0
0
0
0
0
7
-19
-37
0
35
81
28
103
6
4
1
0
0
0
0
0
0
-4
-16
-40
8
25
103
39
-21
-15
8
4
0
0
0
0
0
0
5
-30
-32
-33
26
54
20
22
49
11
-6
0
0
0
0
0
0
11
-40
-52
-61
27
-19
131
9
36
5
-9
0
0
0
0
0
0
-5
-56
-80
-48
0
9
-27
114
-19
7
0
0
0
0
0
0
0
0
-80
-20
39
14
-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
-88
-94
12
19
11
10
69
0
0
0
0
0
0
0
0
0
0
-114
-72
-8
-9
-6
13
23
16
-47
-7
-5
0
0
0
0
0
0
-74
-140
-24
-13
2
13
36
41
-22
-31
3
1
0
0
0
0
0
-59
-68
-21
-2
0
25
41
48
-5
-5
0
-5
0
0
0
0
0
43
-70
-25
7
5
16
63
50
-36
-23
0
0
0
0
0
0
0
-49
-31
12
7
0
20
58
38
132
37
-3
0
1
0
0
0
0
-44
3
-38
3
23
13
39
100
23
9
-3
-2
0
0
0
0
0
31
-155
-20
-11
-12
18
69
-56
10
-2
0
0
0
0
0
0
0
0
0
-43
-50
31
-2
-21
0
0
0
0
0
0
0
0
0
0
-63
137
186
166
190
-25
-38
0
0
0
0
0
0
0
0
0
0
-6
50
79
62
-6
43
24
-124
-3
0
0
0
0
0
0
0
0
-2
51
96
36
-3
24
-38
-25
-1
0
0
0
0
0
0
0
0
-5
24
60
63
3
32
55
-18
-5
0
0
0
0
0
0
0
0
20
-16
29
95
66
-71
-33
73
-7
0
0
0
0
0
0
0
0
-42
19
-33
-77
-6
100
43
-5
-1
0
0
0
0
0
0
0
0
46
-94
-19
-93
-31
8
90
-2
14
-5
0
0
0
0
0
0
0
-77
-15
-25
13
97
19
43
-5
0
0
0
0
0
0
0
0
0
-77
-37
-22
14
-35
39
-2
0
0
0
0
0
0
0
0
0
0
-44
6
44
40
123
29
-128
0
0
0
0
0
0
0
0
0
0
-15
2
12
20
5
-7
0
30
4
0
0
0
0
0
0
0
0
-6
3
22
23
7
-36
69
-20
-4
0
0
0
0
0
0
0
0
1
-10
24
35
52
34
82
93
8
0
0
0
0
0
0
0
0
9
2
18
6
-14
27
97
52
2
0
0
0
0
0
0
0
0
6
-3
43
-10
26
60
43
24
5
0
0
0
0
0
0
0
0
-9
-11
-14
-2
21
34
-6
-37
-7
0
0
0
0
0
0
0
0
-8
-28
-57
-98
-15
4
-34
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
-35
-2
-7
57
71
-1
0
0
3
2
0
0
0
0
0
0
-27
-31
-4
2
34
50
-71
0
71
0
1
0
0
0
0
0
0
-30
-54
-15
16
25
27
81
162
82
-8
6
0
0
0
0
0
0
-6
-37
-17
8
44
65
98
-19
3
-10
0
-3
0
0
0
0
0
-43
-31
-35
4
34
64
110
31
114
77
-10
0
0
0
0
0
0
3
-29
-28
-1
-8
68
65
187
-9
-43
3
0
0
0
0
0
0
-84
-62
-6
-27
-28
79
51
134
20
-2
0
0
0
0
0
0
0
0
-23
-49
-15
71
98
1
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
-23
-41
-2
53
17
-50
16
76
0
0
0
0
0
0
0
0
0
-26
-21
31
-6
-11
-53
42
0
15
0
1
0
0
0
0
0
0
-16
14
36
51
50
55
-1
29
99
23
1
0
0
0
0
0
0
92
-1
29
8
45
12
156
-49
80
32
0
0
0
0
0
0
0
25
-54
12
19
46
75
116
84
39
95
0
0
0
0
0
0
0
52
-45
-4
3
15
81
5
63
57
16
0
0
0
0
0
0
0
-41
-117
-3
-22
-21
10
21
-29
202
33
0
0
0
0
0
0
0
29
-10
-18
45
18
-36
-1
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
2
29
-5
80
122
34
0
0
0
0
0
0
0
0
0
0
0
18
20
-55
71
16
31
0
0
0
1
0
0
0
0
0
0
0
-17
38
27
8
-49
-15
-1
-1
-1
2
0
0
0
0
0
0
0
-3
18
-18
-18
-64
-17
9
0
-25
-7
0
0
0
0
0
0
0
-1
59
53
-22
57
-25
39
-3
-7
11
-1
0
0
0
0
0
0
-3
-23
-11
-5
-26
-2
-7
0
-17
-32
0
0
0
0
0
0
0
-1
-8
-77
-53
-37
-26
-15
-1
-10
-9
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
83
-14
-100
-39
-2
-1
0
0
0
0
0
0
0
0
0
0
-28
-81
-15
3
21
-61
0
0
0
0
0
0
0
0
0
0
0
-33
-8
0
31
11
21
2
0
0
0
0
0
0
0
0
0
0
64
51
-29
41
7
4
0
0
0
0
0
0
0
0
0
0
0
51
-11
-24
50
-49
0
0
0
0
0
0
0
0
0
0
0
0
37
-32
-19
-49
-63
7
0
0
0
0
0
0
0
0
0
0
0
-34
-28
104
-137
-69
0
0
0
0
0
0
0
0
0
0
0
0
-71
-52
30
26
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-21
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
11
2
4
0
0
0
0
0
0
0
0
0
0
0
0
1
61
31
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
34
-14
1
1
0
0
0
0
0
0
0
0
0
0
0
0
15
50
29
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-35
48
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
12
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
81
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
-10
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
57
30
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
28
61
-25
0
-1
-1
0
0
0
0
0
0
0
0
0
-6
57
-7
39
10
1
0
0
0
0
0
0
0
0
0
0
0
-24
40
101
30
-1
-5
0
0
0
0
0
0
0
0
0
0
0
4
56
30
124
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
-83
-80
29
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
10
40
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-17
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
52
-56
-5
0
-2
0
0
0
0
0
0
0
0
0
0
-1
103
0
17
-25
7
8
0
0
0
0
0
0
0
0
0
0
-4
-12
33
44
-27
-4
0
0
0
0
0
0
0
0
0
0
0
-2
27
41
56
23
-8
0
0
0
0
0
0
0
0
0
0
0
1
49
64
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-170
62
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
30
18
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
-53
-23
0
0
0
0
0
0
0
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
37
-30
59
62
-40
24
0
0
0
0
0
0
0
0
0
0
-21
-128
-123
-4
-41
-55
-79
-46
-5
0
0
0
0
0
0
0
0
6
62
-67
8
-10
6
-22
13
96
1
0
0
0
0
0
0
0
-10
-24
-59
83
3
44
-45
-8
3
4
0
0
0
0
0
0
0
24
66
32
-1
3
-20
-18
0
-1
0
0
0
0
0
0
0
0
-14
29
25
37
-29
-17
1
0
1
0
0
0
0
0
0
0
0
-36
10
-54
16
-9
-1
-7
0
2
1
0
0
0
0
0
0
0
-43
169
-21
13
-4
0
0
0
-6
0
0
0
0
0
0
0
0
-43
-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
-14
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
31
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
47
-11
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
-41
3
-9
-20
0
-2
0
5
0
0
0
0
0
0
0
0
1
1
-14
-14
1
-4
4
0
0
0
0
0
0
0
0
0
0
-24
2
-8
24
4
-8
0
0
0
0
0
0
0
0
0
0
0
-14
-43
-20
-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
-72
0
85
109
-14
-21
0
-48
39
8
1
0
0
0
0
19
81
33
23
27
2
75
-10
41
54
10
7
0
0
0
0
0
9
20
30
95
76
58
10
23
-7
-19
-13
-35
-1
0
0
0
0
1
34
52
70
10
104
29
10
15
40
56
29
0
0
0
0
0
1
64
88
4
123
52
182
75
71
23
13
0
0
0
0
0
0
3
-9
44
37
88
-48
63
6
149
-42
0
0
0
0
0
0
0
7
-21
-9
33
29
2
2
0
21
9
-5
0
0
0
0
0
0
0
-9
1
-13
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
47
136
30
25
-4
-41
11
0
-44
-2
2
0
0
0
0
0
0
128
1
66
31
11
-40
-34
-29
-100
-13
-7
0
0
0
0
0
0
65
19
77
16
25
3
95
-178
-51
-54
8
0
0
0
0
0
0
8
91
99
41
1
7
24
-27
-93
-104
10
-1
0
0
0
0
0
98
102
83
42
13
36
77
-73
-78
4
0
0
1
0
0
0
0
123
12
70
24
8
33
22
-22
-237
-26
5
0
0
0
0
0
0
-121
17
60
22
18
-9
-33
28
-21
0
0
0
0
0
0
0
0
79
5
28
56
-14
-2
-83
-5
9
1
0
-1
0
0
0
0
0
-10
2
29
3
34
-25
-3
-10
5
2
0
0
0
0
0
0
0
-14
-39
32
39
1
-61
31
0
31
-18
2
0
0
0
0
0
0
25
25
27
-26
0
-5
-6
-15
-53
25
35
-2
0
0
0
0
0
11
-5
27
-57
125
-23
25
-34
18
-26
10
1
3
0
0
0
0
1
36
-4
142
32
24
-6
26
52
-17
-10
0
0
0
0
0
0
0
4
-14
108
100
79
8
12
31
-35
4
0
0
0
0
0
0
0
0
-43
64
25
-25
-20
-35
87
7
17
0
0
0
0
0
0
0
16
-65
76
8
-9
-24
-29
20
43
-3
2
-1
0
0
0
0
0
0
1
-17
55
-59
-11
-4
-5
-33
17
3
-1
0
0
0
0
0
0
9
-5
25
-4
34
-40
22
-12
-8
0
0
0
0
0
0
0
1
25
54
14
23
-3
0
40
-8
2
0
1
0
0
0
0
0
4
5
-15
9
11
-11
34
14
15
25
4
-1
2
0
0
0
0
6
71
76
-50
-15
-27
-40
-35
-19
-7
1
0
0
0
0
0
0
-1
-26
-59
46
71
-10
54
81
-2
13
0
0
0
0
0
0
0
6
58
77
33
15
-39
184
70
-5
-1
1
0
0
0
0
0
0
3
100
21
43
76
-21
31
83
-5
17
0
0
0
0
0
0
0
0
-34
126
85
90
3
73
47
2
8
0
0
0
0
0
0
0
0
2
34
50
10
-5
69
47
28
1
0
0
0
0
0
0
0
0
0
0
0
15
2
0
0
0
0
0
0
0
0
0
7
-52
-50
20
-158
3
23
32
0
98
8
0
0
0
0
0
0
43
9
67
5
-6
21
38
45
49
-103
17
25
0
0
0
0
0
51
-50
142
22
33
-55
9
-67
38
122
18
-2
1
0
0
0
0
80
-32
40
87
-10
5
4
-46
-39
-80
-36
-1
0
0
0
0
0
26
-34
-96
26
69
82
79
110
-53
35
8
0
0
0
0
0
0
-27
47
31
18
117
35
23
14
-31
48
26
0
0
0
0
0
0
-1
-60
-91
138
62
50
38
-13
8
-24
0
0
0
0
0
0
0
0
33
-21
-91
20
-47
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
98
101
-56
3
41
-2
-44
4
0
-33
-10
0
0
0
0
0
0
32
25
127
54
90
-7
101
-98
78
-7
16
5
0
0
0
0
0
14
-26
32
27
45
-24
32
-15
23
76
4
-1
0
0
0
0
0
9
-78
78
88
137
-9
-33
-32
54
-14
21
0
0
0
0
0
0
-16
-72
55
30
63
11
2
53
83
100
3
0
0
0
0
0
0
-39
97
-63
75
28
79
109
-19
-26
80
1
-1
0
0
0
0
0
-7
36
32
12
110
62
65
-20
-9
-1
0
0
0
0
0
0
0
0
10
8
-48
0
-39
-33
21
4
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
18
1
25
-1
-68
-10
0
0
0
0
0
0
0
0
1
3
14
29
-8
-45
1
-13
-5
-1
0
0
0
0
0
0
2
25
0
11
20
59
-79
0
0
0
0
0
0
0
0
0
0
1
15
0
21
-45
-20
12
0
-3
0
0
0
0
0
0
0
0
0
4
3
4
82
-10
-16
0
-5
0
0
0
0
0
0
0
0
0
1
-3
0
-6
9
-37
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
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
25
-7
-2
0
0
0
0
0
0
0
0
0
0
-2
39
72
36
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
50
58
133
36
2
1
0
0
0
0
0
0
0
0
0
-1
9
148
190
97
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-29
33
75
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
-17
-59
54
-123
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
20
52
31
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-53
-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
41
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
118
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
58
25
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
-60
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
0
0
0
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
0
0
0
21
61
82
-23
0
0
0
0
0
0
0
0
0
0
0
0
6
5
107
82
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-10
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
84
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-13
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
-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
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
23
39
23
-1
0
0
0
0
0
0
0
0
0
0
0
-3
4
37
19
-8
5
-1
0
0
0
0
0
0
0
0
0
-2
8
7
0
66
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
26
-1
21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
-1
0
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
7
0
0
0
0
0
0
0
0
0
9
-34
110
10
-17
0
0
0
0
0
0
0
0
0
0
0
-9
-11
-3
-47
21
9
7
0
0
0
3
0
0
0
0
0
0
5
-55
-18
-35
19
47
24
1
26
16
-10
0
0
0
0
0
0
0
53
-1
-38
-78
-25
-61
20
31
43
-15
0
0
0
0
0
0
1
32
9
-57
-68
-93
58
8
35
-24
18
2
0
0
0
0
0
0
70
2
48
96
-28
35
26
28
17
-13
0
0
0
0
0
0
0
3
-22
-22
-9
5
2
0
-13
-12
3
0
0
0
0
0
0
0
0
51
-2
14
-3
0
8
1
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
-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
-14
-19
17
18
0
0
21
35
0
0
0
0
0
0
0
0
-2
14
0
-6
-4
0
5
-10
33
-4
0
0
0
0
0
0
0
-1
9
-1
-11
13
-9
1
-57
-48
8
0
0
0
0
0
0
0
7
14
7
-4
1
-1
34
33
7
58
1
0
0
0
0
0
0
-1
0
0
0
0
0
-7
29
11
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
-5
0
0
0
0
0
0
0
-11
-7
-3
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
27
1
-8
19
31
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-15
-20
-26
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
15
5
2
0
0
0
0
0
0
0
0
0
0
0
-5
15
-2
-39
32
-4
-1
0
0
0
0
0
0
0
0
0
0
-17
11
-5
-3
7
29
-1
0
0
0
0
0
0
0
0
0
0
41
-6
18
-61
0
2
7
0
0
0
0
0
0
0
0
0
0
53
-2
-40
-4
-49
0
1
0
0
0
0
0
0
0
0
0
0
0
10
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-6
5
-25
-61
1
0
0
0
1
1
0
0
0
0
0
5
-7
-13
0
68
-51
-1
0
0
74
3
0
0
0
0
0
0
-26
0
-13
2
1
-21
43
-5
86
15
18
1
0
0
0
0
0
-12
1
-1
-3
3
-42
3
-15
47
57
0
-2
0
0
0
0
0
-10
8
2
3
-21
-11
43
-14
27
51
0
0
0
0
0
0
0
13
-17
1
-4
-87
-71
78
-2
-20
-3
0
0
0
0
0
0
0
-114
0
15
7
-38
1
18
-2
-6
-42
-2
0
0
0
0
0
0
-5
20
-20
-54
-10
0
0
0
-1
45
-4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-37
3
12
4
-18
-87
0
0
0
-1
0
0
0
0
0
0
16
29
-21
13
2
-27
81
-10
2
0
-1
0
0
0
0
0
0
-97
-12
7
7
8
6
-25
16
51
9
-4
0
0
0
0
0
0
20
-41
-4
7
12
-29
66
14
72
1
0
0
0
0
0
0
0
-46
12
-12
17
-2
11
25
-46
-10
10
2
0
0
0
0
0
0
80
-49
-6
14
9
-13
40
-65
-23
-5
-1
0
0
0
0
0
0
20
4
-21
2
6
18
108
-20
-59
-6
0
0
0
0
0
0
0
28
-33
-2
0
14
-6
-10
27
6
-1
0
0
0
0
0
0
0
0
80
-2
43
30
15
3
3
0
0
0
0
0
0
0
0
0
-9
5
-12
-11
-108
-23
-13
0
0
0
0
0
0
0
0
0
0
39
6
14
25
-27
64
-9
0
0
0
0
0
0
0
0
0
0
-9
-10
-17
91
-32
70
-17
-3
5
0
0
0
0
0
0
0
0
-11
2
-27
-45
5
26
23
0
0
0
0
0
0
0
0
0
0
2
-13
-53
13
-50
22
-6
0
0
0
0
0
0
0
0
0
0
2
-18
-19
45
45
53
23
0
0
0
0
0
0
0
0
0
0
21
14
35
-27
-28
-45
-2
0
0
0
0
0
0
0
0
0
0
-15
2
-1
3
-50
-8
17
-2
0
0
0
0
0
0
0
0
0
11
6
22
14
40
-11
0
-1
0
0
0
0
0
0
0
0
0
32
2
25
64
61
-13
8
3
0
0
0
0
0
0
0
0
0
-12
-10
20
44
21
94
0
-2
2
0
0
0
0
0
0
0
0
-13
-7
14
29
100
-14
-55
-6
0
0
0
0
0
0
0
0
0
-16
4
34
46
46
35
55
2
-2
0
0
0
0
0
0
0
0
36
-14
49
-3
-56
53
-14
0
0
0
0
0
0
0
0
0
0
-5
3
-12
-16
-21
70
14
-9
0
0
0
0
0
0
0
0
0
-29
-1
-38
-29
-39
69
-2
-11
-2
0
0
0
0
0
0
0
0
10
35
-10
-8
21
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
-25
7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-6
-8
-9
28
39
-97
0
0
86
1
-1
0
0
0
0
0
-43
7
-3
8
9
-32
49
0
-1
0
26
2
0
0
0
0
0
-59
0
-10
9
-3
31
70
41
55
33
31
-1
0
0
0
0
0
-19
0
4
12
10
36
-14
-33
56
-68
9
-1
0
0
0
0
0
-34
2
7
12
6
-65
61
-11
109
-14
0
0
0
0
0
0
0
-31
3
-11
18
-6
-78
55
14
33
-2
7
0
0
0
0
0
0
-119
-16
-51
19
-42
-3
11
-8
-15
-5
0
0
0
0
0
0
0
-2
-45
-60
80
-45
-13
-2
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
-2
16
4
-20
-32
-80
0
0
19
1
0
0
0
0
0
0
-54
24
10
-2
5
6
-9
0
0
0
-5
0
0
0
0
0
0
31
26
16
32
17
-7
9
8
-8
34
-10
2
0
0
0
0
0
42
11
1
45
12
-7
3
0
46
36
0
0
0
0
0
0
0
-5
19
-3
26
-26
-33
86
0
34
93
0
0
0
0
0
0
0
-1
43
2
-35
-2
-5
-34
0
17
-23
0
0
0
0
0
0
0
-10
-34
22
47
33
-20
15
-8
-4
-5
0
0
0
0
0
0
0
2
38
89
4
32
53
3
-2
-8
-4
0
0
0
0
0
0
0
0
8
1
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-37
-13
15
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-36
-43
-6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-73
-118
3
-13
-2
0
0
0
2
0
0
0
0
0
0
0
0
17
-29
20
79
-3
0
0
2
-5
0
0
0
0
0
0
0
-1
23
51
8
10
1
0
-1
4
2
0
0
0
0
0
0
0
-15
21
-7
-1
-31
1
-1
0
43
11
0
0
0
0
0
0
0
-1
-30
-53
0
-18
-2
0
-2
7
7
1
0
0
0
0
0
0
0
-4
-32
0
-3
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
26
1
0
0
0
0
0
0
-5
16
8
-9
6
2
0
2
-1
5
0
0
0
0
0
0
0
-9
-4
-26
28
3
0
2
-1
0
0
0
0
0
0
0
0
0
24
20
-23
33
-18
2
0
0
0
0
0
0
0
0
0
0
0
7
42
4
44
-19
1
0
0
0
0
0
0
0
0
0
0
0
-16
-53
54
82
41
-2
0
0
0
0
0
0
0
0
0
0
0
-52
-18
51
5
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-63
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
7
23
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-36
32
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
-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
-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
-14
-6
-54
-11
0
0
0
0
0
0
0
0
0
0
0
0
2
3
7
47
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
25
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
25
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
-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
0
0
0
0
0
0
0
0
0
0
2
0
0
0
11
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
20
10
-54
-7
-25
-7
0
0
0
0
0
0
0
-3
26
18
-32
0
33
-83
-4
-9
1
0
0
0
0
0
0
0
11
15
-19
-23
-34
-21
11
5
6
1
0
0
0
0
0
0
0
19
24
-75
-62
-32
43
32
2
-4
-1
0
0
0
0
0
0
0
-7
-7
46
72
31
30
-23
-3
5
-1
0
0
0
0
0
0
0
0
7
-9
-14
-7
1
0
3
-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
-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
11
-3
4
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
-23
-5
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
25
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
-55
0
94
-19
1
-1
2
0
0
0
0
0
0
0
4
7
-13
-63
23
34
0
8
0
1
-1
0
0
0
0
2
0
22
9
9
-53
-25
-60
0
15
0
-6
0
0
0
0
5
1
-18
10
15
44
-17
-74
-101
-8
9
0
0
0
0
0
0
-1
-34
6
-41
48
-28
27
21
-157
9
0
0
0
0
0
0
0
-1
3
3
27
73
1
78
84
115
6
0
0
0
0
0
0
0
0
5
0
32
-49
-33
71
11
-43
0
0
0
0
0
0
0
0
0
0
2
11
-7
-9
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
-1
-8
-59
24
-68
48
0
4
-1
-9
-13
5
0
0
0
0
0
41
19
-70
-39
-13
-56
113
-48
-45
43
-6
3
1
0
0
0
13
146
38
-12
11
-31
-67
23
-55
-4
-14
-9
-2
0
0
0
0
33
121
-80
-36
-5
-8
-38
-21
87
16
-10
-50
5
0
0
0
0
4
43
14
64
-18
29
16
-89
31
29
26
0
0
0
0
0
0
70
47
152
-32
-52
-58
15
-68
21
-7
-2
1
14
0
0
0
0
6
32
49
104
47
24
61
8
-54
-47
17
10
-1
0
0
0
0
-8
77
-30
72
47
35
51
13
49
-9
-22
2
0
0
0
0
0
0
-2
-13
51
33
67
47
7
39
-2
-5
0
-2
0
0
0
0
0
0
0
1
0
14
-1
0
14
-2
0
0
0
0
0
0
0
0
0
3
-6
21
0
21
25
-23
15
0
1
0
0
0
0
0
0
0
-3
0
-36
61
39
58
-18
-3
-1
0
0
0
0
0
0
0
-1
-9
2
-44
-14
-21
-25
5
4
-1
0
0
0
0
0
0
0
0
25
35
45
19
88
44
20
1
-4
0
0
0
0
0
0
0
0
-2
41
11
50
2
-10
31
0
0
0
0
0
0
0
0
0
0
0
60
3
51
5
127
-7
0
0
0
0
0
0
0
0
0
1
0
-14
-20
-8
37
-65
-2
0
0
0
0
0
0
0
0
1
0
0
13
5
-6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-14
-35
-47
0
-34
18
15
2
0
0
0
0
0
0
-3
0
50
-7
28
-37
-31
-82
-25
20
8
-7
4
0
0
0
0
0
-7
53
3
33
10
49
12
-13
0
0
0
0
0
0
0
0
0
10
-45
-27
73
32
70
96
15
5
0
0
0
0
0
0
0
-2
21
-166
78
167
54
66
14
-35
16
0
0
0
0
0
0
0
-1
-14
6
13
87
-39
-14
32
-11
-9
0
0
0
0
0
0
0
0
1
-23
96
34
94
45
81
-3
-2
0
0
0
0
0
0
0
0
0
-54
16
39
-11
-5
17
10
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-43
31
-1
0
-33
20
-6
0
0
0
0
0
0
0
0
0
0
-15
79
48
-40
43
-39
2
-1
0
4
0
0
-2
-3
4
34
41
23
20
-3
16
19
54
4
-3
0
0
0
0
3
-2
11
21
-35
-8
17
21
20
-19
-16
2
4
0
0
0
0
-1
23
-26
22
-7
7
-4
13
101
5
-1
0
0
0
0
0
0
0
-5
29
75
48
33
6
70
-65
62
0
-1
0
0
0
0
0
0
0
-8
29
-1
6
15
-41
15
-4
-3
0
0
0
0
0
0
0
1
9
3
47
16
98
5
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
-2
-24
-5
-14
5
0
20
-3
0
0
0
0
0
0
0
0
0
-1
20
-22
-3
49
0
-11
-10
0
0
0
2
0
0
-1
1
0
-4
26
8
-81
-73
-116
5
-3
0
0
0
0
0
0
0
-2
-14
-3
-51
64
41
97
159
4
-8
0
0
0
0
0
0
0
2
24
33
33
119
43
-19
-4
83
-1
0
0
0
0
0
0
0
-37
16
90
-14
179
-59
63
48
18
0
0
0
0
0
0
0
3
-2
-7
2
52
11
33
-35
-19
-24
0
0
0
0
0
0
0
0
-2
4
62
11
27
-26
139
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
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
13
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
36
-5
0
0
0
0
0
0
0
0
0
8
0
2
1
-5
5
-7
-41
0
0
0
0
0
0
0
0
-3
-10
-4
0
-4
-4
1
10
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
6
10
-33
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
46
23
1
34
-11
25
-1
0
0
0
0
0
0
0
0
0
-5
77
23
74
-2
-10
0
-12
1
0
0
0
0
0
0
0
5
1
128
68
-90
-33
-6
-3
0
-1
0
0
0
0
0
0
0
-7
62
40
83
0
-118
3
0
0
0
0
0
0
0
0
0
0
-3
-100
63
-57
70
-93
-4
-2
0
0
0
0
0
0
0
0
0
0
32
-124
-15
54
-45
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
28
5
17
-10
-3
0
0
0
0
0
0
0
0
0
0
0
14
29
-3
14
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
47
25
8
10
0
0
0
0
0
0
0
0
0
0
0
0
9
47
25
-39
-24
0
0
0
0
0
0
0
0
0
0
0
0
-4
53
-3
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
75
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
22
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
-11
0
0
0
-2
1
-2
-1
-4
0
0
0
0
0
0
0
0
9
-6
8
-7
3
0
0
-1
0
0
0
0
0
0
0
0
0
-13
34
132
-8
-3
0
0
0
0
0
0
0
0
0
0
0
-7
-21
-10
52
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
-8
62
129
-36
0
0
-1
0
0
0
0
0
0
0
0
0
0
53
-55
-46
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
31
-33
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
15
-8
-25
-7
4
-1
0
0
0
0
0
0
0
0
0
0
1
-6
-57
-24
-34
23
0
2
-1
0
0
0
0
0
0
0
0
0
-14
134
114
18
-1
0
0
0
0
0
0
0
0
0
0
0
-24
68
63
-18
-11
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-41
-34
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
-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
19
18
2
17
0
1
0
0
0
0
0
0
0
0
-13
-46
12
19
43
76
-5
1
-4
3
-2
1
0
0
0
0
-8
21
19
14
-8
-43
46
4
-4
-1
0
-2
2
0
0
0
0
-8
-8
66
-76
53
-5
57
-3
-16
-2
0
1
0
0
0
0
0
6
0
-25
-10
49
83
30
36
5
0
3
2
0
0
0
0
0
0
1
3
13
66
-1
-49
-14
-3
1
-1
0
0
0
0
0
0
0
0
0
2
24
-24
-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
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
25
0
0
0
0
0
0
0
0
0
-1
5
-2
-6
-7
-3
-21
-45
2
-13
0
0
0
0
0
0
0
0
1
2
17
24
47
-13
25
15
-5
0
0
0
0
0
0
0
0
-3
-4
-4
-3
-7
-9
84
47
-1
0
0
0
0
0
0
0
-1
0
0
0
0
-3
-3
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
-26
9
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
26
123
-43
8
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-14
-14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
37
-4
-33
7
-4
0
0
0
0
0
0
0
0
0
0
0
-5
-126
-3
30
15
11
-1
0
0
0
0
0
0
0
0
0
0
0
25
-49
11
-9
-18
13
2
0
0
0
0
0
0
0
0
0
0
-14
12
-24
-8
-1
3
-2
2
-6
-5
1
-1
0
0
0
0
0
-1
3
15
22
6
29
13
-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
-11
71
-21
6
-4
4
0
0
0
0
-1
-2
-1
0
0
0
0
33
-18
31
-57
8
18
0
0
0
23
19
10
4
1
0
0
0
-31
-50
76
48
-53
44
17
-8
-8
-6
-26
13
0
0
0
0
0
-9
-22
-33
57
73
-56
32
3
-14
-6
5
1
0
0
0
0
0
-42
37
88
-114
13
98
49
62
25
2
0
0
0
0
0
0
0
-34
109
103
-29
-47
-28
-26
-44
2
28
-5
29
0
0
0
0
0
3
1
16
-55
-33
-50
-57
-50
-6
-18
-5
-1
0
0
0
0
0
0
20
5
-13
-11
-3
-14
10
10
-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
-6
-50
-115
92
102
0
0
-13
-2
0
0
0
0
0
0
-5
-8
-82
-5
63
65
34
99
-7
-6
2
4
-2
0
0
0
0
-3
-3
-59
-89
-56
25
81
51
-22
20
5
17
0
0
0
0
0
11
2
-59
-22
43
40
38
76
-5
63
-33
-2
-1
0
-1
0
0
-14
49
63
-26
43
-53
58
-4
69
-56
39
0
0
0
-1
0
0
-61
70
-9
10
-20
-89
70
-98
5
34
14
-4
3
0
0
0
0
92
10
8
5
6
0
-41
-60
-18
-18
-19
-1
-1
0
0
0
0
-66
13
18
7
24
72
-43
-14
-9
34
-14
1
0
0
0
0
0
0
0
32
31
-38
-86
-33
4
-1
0
-1
2
0
0
0
0
0
-4
0
0
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
66
49
-14
103
60
2
4
0
0
0
0
0
0
0
0
0
0
13
14
-64
-35
-2
-8
33
-6
-10
0
0
0
0
0
0
0
0
-7
-9
-8
7
33
-9
10
11
1
0
0
0
0
0
0
0
0
-5
35
-9
21
-73
1
1
-2
0
0
0
0
0
0
0
0
0
23
-41
-35
8
4
0
-35
-16
0
0
0
0
0
0
0
0
0
25
-10
-47
-52
-16
-57
-5
-7
-26
0
0
0
0
-1
0
0
0
0
17
-19
-25
-13
-30
-1
2
-22
-1
0
0
0
0
0
0
0
8
-7
0
2
-1
15
0
3
0
0
0
0
0
0
0
0
0
14
4
27
9
2
-7
14
-1
0
0
0
0
0
0
0
0
0
14
-7
165
80
44
45
0
-32
0
0
1
0
0
0
0
0
0
38
1
-18
83
59
80
61
9
18
0
0
0
0
0
0
0
0
50
-6
-53
1
-23
-3
33
13
-1
0
0
0
0
0
0
0
0
9
-8
-8
87
78
4
20
63
3
0
0
0
0
0
0
0
0
3
61
-37
-37
-13
55
172
-47
-1
0
0
0
0
0
0
0
0
0
11
24
67
-62
73
30
-45
0
0
0
0
0
0
0
0
0
-10
49
-50
-22
-13
-45
-9
-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
4
-49
73
77
7
0
0
0
-1
-2
-3
1
1
0
0
0
-1
-40
-18
-1
-47
10
3
0
-4
0
0
14
-1
0
0
0
0
31
24
-7
-18
65
-90
52
18
32
-18
13
2
0
0
0
0
0
13
-42
5
20
44
-5
93
-77
-18
49
9
3
0
0
0
0
0
14
-46
-11
73
72
-3
-61
46
11
7
-3
-1
0
0
0
0
0
0
94
16
33
-5
-76
-8
4
7
-19
19
-1
0
0
0
0
0
0
-37
-29
-17
-19
-11
73
3
30
-16
-2
0
2
0
0
0
0
0
3
-3
-6
22
15
15
-15
-6
-9
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
-10
-17
-15
17
18
2
0
-2
0
0
0
1
0
0
0
0
0
35
27
-3
43
13
7
36
36
-13
17
0
0
0
0
0
0
11
1
21
22
3
-53
87
20
45
-24
0
0
0
0
0
0
0
40
87
50
-12
49
67
6
5
40
72
5
0
0
0
0
0
0
1
-6
45
30
-16
-99
16
13
20
49
2
0
0
0
0
0
0
0
-5
4
105
128
101
54
-46
-1
-105
0
0
0
0
0
0
0
0
-27
-5
-17
-60
22
-26
-7
-2
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
16
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
1
-4
0
0
2
0
0
0
0
0
0
0
0
0
6
84
7
17
-2
2
0
25
20
4
0
0
0
0
0
0
0
-3
32
-21
35
-23
14
-6
0
53
-2
-1
0
0
0
0
0
0
61
-81
-10
31
9
-22
0
-55
-10
4
0
0
0
0
0
0
0
0
-52
0
7
17
2
-11
3
32
0
0
0
0
0
0
0
-1
3
-2
2
0
-1
18
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
41
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
52
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-63
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
9
-1
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
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
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
19
-8
2
0
24
1
-1
0
0
0
0
0
0
11
-2
-5
43
-18
20
20
3
-19
4
-3
0
0
0
0
0
0
1
1
17
-8
-14
-14
-37
52
14
0
-1
0
0
0
0
0
0
26
0
23
20
34
65
-28
-11
1
0
0
0
0
0
0
0
3
0
15
14
45
13
-8
15
7
-8
0
0
0
0
0
0
0
0
14
-32
-9
-15
-14
-17
3
2
0
0
0
0
0
0
0
0
0
14
-11
-6
7
-7
-2
-31
-5
0
0
0
0
0
0
0
0
5
23
9
-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
-13
27
-56
0
126
-30
7
-4
1
0
0
0
0
0
3
0
16
31
69
12
-6
56
-5
-28
-9
-1
6
0
0
0
2
17
11
22
7
69
39
9
51
10
-15
-1
5
3
0
0
3
0
13
-5
-36
-23
121
13
-13
25
23
30
9
0
2
0
0
0
-16
20
-1
21
5
27
76
126
73
19
-3
3
2
0
0
0
0
0
2
17
0
10
35
110
144
-53
2
0
0
4
0
0
0
0
0
-1
0
8
1
0
-46
-59
-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
72
86
18
137
0
-21
-32
18
-31
-10
0
0
0
0
0
-6
9
31
-50
-10
30
-10
-102
-34
8
32
-4
9
0
0
0
1
-6
-6
11
11
9
14
3
-33
-30
33
-1
8
1
1
0
0
0
-34
-23
36
18
-27
40
-159
-52
-162
-25
-16
-14
1
0
0
0
21
-31
37
189
-14
-32
-27
-89
-67
-56
-3
-5
39
-2
-1
0
0
8
16
16
-37
24
-72
28
-181
-88
-25
17
19
-2
-3
0
0
0
-11
5
102
-5
81
61
73
-93
-65
22
23
14
-1
1
0
0
0
1
-2
1
81
-70
5
-24
-13
-22
-10
-20
24
-1
0
0
0
0
0
0
0
-27
16
14
24
58
-7
7
-1
-2
1
0
0
0
0
0
0
0
-1
18
-100
27
0
41
-16
1
0
8
-7
-6
0
0
0
-3
-3
17
18
-50
28
-4
-59
11
22
-23
4
13
0
2
0
0
0
2
-13
16
50
-121
-49
-25
-54
-6
6
-16
2
0
0
0
0
4
-7
29
48
12
112
66
-41
23
2
1
4
0
0
0
0
0
0
0
-11
-8
-48
33
7
20
60
10
-1
2
1
-3
0
0
0
0
0
25
1
33
-6
47
67
9
-5
4
0
0
0
0
0
0
0
0
-9
9
52
-37
9
35
-25
43
6
1
1
1
0
0
0
0
0
-14
7
19
-10
-10
-7
-10
-17
-4
-1
-4
-1
5
0
0
0
0
0
0
-62
-82
-16
78
22
-14
2
-2
0
1
0
0
0
0
-4
21
-19
26
6
0
-44
23
8
-14
-7
0
1
0
0
0
-1
-15
-16
125
19
44
-13
16
5
42
13
10
-4
-1
0
0
0
0
29
-42
2
31
18
-65
49
-61
-2
4
1
1
0
0
0
0
0
14
44
29
43
65
30
50
-8
5
1
0
0
0
0
0
0
6
1
-67
4
-1
63
-31
76
-33
-11
1
-1
0
0
0
0
0
0
-5
14
35
48
93
116
81
-11
26
-7
0
-1
0
0
0
0
0
0
-1
34
69
-4
-27
64
119
49
7
-2
4
0
0
0
0
0
0
37
7
2
101
91
94
49
4
1
-2
0
2
0
0
0
0
0
0
1
59
6
3
-1
0
0
0
0
0
0
0
0
0
0
0
20
-24
85
25
0
28
-34
-2
0
0
0
0
0
4
6
3
1
-9
62
87
-24
42
33
2
-8
10
-1
0
0
0
0
15
1
25
23
-3
1
-10
55
27
4
41
17
0
0
0
0
0
18
-3
24
87
-5
1
77
42
-20
-60
21
-1
0
2
0
0
0
8
-1
34
18
23
8
31
-49
-31
0
-1
-4
0
0
0
0
0
2
0
5
-19
51
0
22
-43
84
10
0
0
0
0
0
0
0
0
4
-13
45
36
11
124
-29
-43
3
0
0
0
0
0
0
0
1
-5
0
-5
-1
4
-47
-10
0
0
0
0
0
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
35
-73
-27
0
81
22
-7
0
0
0
0
0
0
-2
0
6
-24
52
7
43
-40
-11
-12
19
-5
0
0
0
0
0
6
-3
2
-25
49
51
-60
33
15
33
6
0
1
0
0
0
3
-3
5
11
-21
107
9
-8
-11
27
77
1
0
0
0
0
0
0
0
-3
0
46
19
12
5
60
33
47
3
0
0
0
0
0
0
0
-2
0
-7
165
-10
60
41
-24
-1
2
0
0
0
0
0
0
23
5
0
73
-18
-44
90
115
33
0
0
0
0
0
0
0
0
-1
0
14
3
20
15
-90
53
6
1
0
0
0
0
0
0
0
0
0
0
0
0
7
-18
-1
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
0
0
0
0
-7
111
48
1
0
0
0
0
0
0
0
0
0
0
0
10
-7
26
-5
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-7
52
0
0
0
0
0
0
0
0
0
0
0
0
0
11
36
-56
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
39
5
-14
5
-11
-1
0
0
0
0
0
0
0
0
9
-21
86
-21
58
-5
16
-1
-5
0
0
0
0
0
0
0
1
5
58
100
237
55
1
-7
25
5
0
0
0
0
0
0
0
0
28
59
94
154
-44
-7
4
18
-4
0
0
0
0
0
0
0
0
55
109
150
115
-28
-7
0
3
0
-2
0
0
0
0
0
0
0
88
-51
33
-72
35
-19
-2
3
0
0
0
0
0
0
0
0
0
-11
-63
11
-9
-28
0
0
-1
1
0
0
0
0
0
0
0
0
6
-1
1
-43
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
-9
0
0
10
-8
7
0
-2
0
0
0
0
0
0
0
0
0
4
17
49
105
-21
-7
0
0
-6
0
0
0
0
0
0
0
0
10
4
108
85
55
2
0
-1
0
0
0
0
0
0
0
0
0
13
52
90
-38
4
0
0
0
0
0
0
0
0
0
0
0
0
2
34
-41
-18
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-58
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
53
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
4
-5
-5
34
9
8
0
1
0
0
0
0
0
0
0
0
0
-15
53
57
58
0
29
1
-1
0
0
0
0
0
0
0
0
0
-2
1
92
96
18
2
-1
-4
-1
0
0
0
0
0
0
0
0
-8
-37
-32
-3
-8
-3
0
0
1
0
0
0
0
0
0
0
0
-3
14
8
-44
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
44
-35
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
36
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
34
-11
4
4
0
0
0
0
0
0
0
0
0
0
4
14
106
53
32
-6
1
0
0
0
0
0
0
0
0
0
1
5
-107
115
42
-1
3
-1
0
-1
0
0
0
0
0
0
0
0
-16
-4
41
19
-9
-7
0
0
-1
0
0
0
0
0
0
0
0
0
-11
-24
-23
-5
0
0
0
0
0
0
0
0
0
0
0
0
-15
-26
-43
-6
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
4
18
-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
-9
1
0
0
0
0
0
0
1
0
4
-1
26
0
0
0
0
2
13
2
0
0
0
0
0
0
-5
15
1
-13
-23
3
53
45
-8
6
0
0
-3
0
0
0
0
-3
-3
9
-23
-27
37
119
30
25
-10
3
-1
0
0
0
0
3
3
2
11
-9
54
25
90
7
4
13
-4
0
0
0
0
0
0
0
-2
0
7
-47
77
148
11
-10
0
3
0
0
-1
0
0
0
0
0
6
13
-3
11
-1
81
2
-2
-1
0
0
-2
0
0
0
0
0
0
16
-8
-24
12
74
9
-23
-3
0
2
0
0
0
0
0
0
0
0
-9
-43
45
-45
0
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
31
-10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-18
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
7
45
93
-8
0
0
0
0
0
0
0
0
0
0
0
-1
1
10
-6
-34
27
9
0
0
0
0
0
0
0
0
0
0
0
-14
-33
-18
160
-5
5
0
0
0
0
0
0
0
0
0
0
0
-1
9
-31
17
-8
0
0
-1
0
0
0
0
0
0
0
0
0
1
11
82
128
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
4
11
0
0
0
0
0
0
-2
-54
61
-30
3
0
0
0
0
0
0
0
0
0
0
0
0
4
35
-57
0
15
0
0
0
0
0
0
0
0
0
0
0
0
-25
-18
-60
2
23
0
0
0
0
0
0
0
0
0
0
0
0
39
-3
-5
2
15
0
0
0
0
0
0
0
0
0
0
0
0
5
13
-8
32
3
2
0
0
0
0
0
0
0
0
0
0
0
1
97
-33
17
-1
-9
0
0
0
1
-1
0
2
0
0
0
0
0
5
13
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
7
-16
-5
41
-21
10
0
0
0
-9
14
-2
6
-1
0
0
-49
6
5
-24
-24
-29
6
0
0
95
11
7
3
5
2
0
0
34
37
-20
-8
128
14
25
43
23
-20
-19
-7
6
0
1
0
0
-29
-20
-11
41
29
46
-60
125
89
87
-44
4
-2
0
0
0
0
21
66
-41
25
-58
6
15
4
72
-19
8
0
7
3
0
0
0
5
-14
14
91
54
-23
-41
25
80
-9
13
-2
-2
3
0
1
0
0
14
15
73
16
2
52
5
-29
7
-1
-3
0
0
0
0
0
0
0
0
-2
-2
0
3
1
30
17
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
-25
109
14
-5
-10
0
0
0
2
-3
0
0
0
0
0
0
-25
-53
27
27
-29
63
-8
8
3
-2
45
0
0
0
0
0
0
36
-23
-44
-19
37
29
11
52
2
3
-4
0
0
0
0
0
-3
-5
-102
-52
-21
55
63
20
-20
32
0
0
1
0
0
0
0
10
52
140
-60
0
-55
50
111
165
-5
-18
-7
0
0
0
0
0
-8
62
36
-11
28
-50
-4
-21
-32
-26
2
5
0
0
0
0
0
-1
7
-49
-23
-11
6
-139
-41
-9
21
1
9
-1
0
0
0
0
0
0
15
1
25
-51
4
-47
-14
-2
0
0
0
0
0
0
0
0
0
71
26
34
7
17
0
-2
0
0
0
0
0
0
0
0
69
66
-5
22
-5
24
-18
0
0
0
0
0
0
0
0
0
0
-36
21
18
1
4
-22
-6
3
0
0
0
0
0
0
0
0
0
55
90
-93
-37
-4
-1
43
-21
-52
0
0
0
0
0
0
0
0
46
55
3
14
-3
8
-45
8
0
0
0
0
0
0
0
0
0
-51
-31
-80
22
55
8
8
-1
0
0
0
0
0
0
0
0
0
11
35
43
5
0
-4
-21
0
5
0
0
0
0
0
0
0
0
71
2
16
7
-50
-10
-15
0
5
0
0
0
0
0
0
0
0
-9
26
130
2
-13
-1
-14
0
0
0
0
0
0
0
0
0
0
-32
-31
19
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
9
15
17
-17
-1
-57
-2
2
0
0
-1
0
0
0
0
0
0
16
-57
2
44
-10
47
0
-10
0
0
0
-2
0
0
0
0
0
-11
10
-3
-97
0
41
-20
-23
20
0
0
0
0
0
0
0
0
-8
-3
126
-3
41
-15
-37
-57
9
0
2
0
0
0
0
0
0
-3
99
-50
82
-41
-77
10
35
0
0
0
0
0
0
0
0
0
-17
-21
54
-45
27
-20
-9
-14
0
0
0
0
0
0
0
0
0
-11
-32
84
-22
1
-28
20
-15
-15
0
0
0
0
0
0
0
0
62
23
9
-2
-15
-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
-4
-3
21
2
7
32
0
0
4
1
7
0
0
0
0
0
17
-52
-50
0
8
-73
27
0
11
0
-28
16
1
-6
1
3
0
14
-39
-39
-55
57
-14
36
-5
3
165
2
43
23
-3
0
0
0
1
-93
71
91
-16
11
0
80
-1
80
-5
-2
0
1
0
0
0
1
-8
33
-57
39
13
60
-38
-10
3
50
-7
11
1
0
0
0
0
-13
-13
-19
49
-46
-19
-5
38
1
-31
4
15
-2
0
0
0
6
-8
-3
-61
-6
-53
15
3
6
-43
0
7
4
0
0
0
0
0
0
6
0
-2
-1
3
-1
-6
-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
-7
37
-10
-63
-14
0
0
0
17
5
0
0
0
0
0
0
0
45
-13
-37
11
-3
0
0
1
0
-7
-15
0
0
0
0
0
-2
-2
-35
8
-51
39
-7
7
2
161
5
-17
1
0
0
0
0
0
68
1
18
-3
-114
8
6
53
55
41
-3
0
1
0
1
0
0
-1
21
-17
-120
-62
60
37
72
-35
-7
0
0
0
0
0
0
-2
29
-3
61
-27
26
46
-14
34
51
0
0
-1
1
-1
0
0
-1
0
55
-46
-16
-1
-74
-6
-51
29
-1
1
0
-1
0
0
0
0
0
0
-24
3
43
26
-10
-22
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
-14
4
-6
-3
0
0
0
0
-1
0
0
0
0
0
0
0
-2
9
-5
-5
-13
0
0
0
-1
9
1
0
0
0
0
0
0
-1
15
-1
9
11
0
0
3
25
6
0
0
0
0
0
0
0
7
1
7
-6
3
-6
0
32
3
1
0
-1
0
0
0
0
0
0
3
0
-10
3
-1
9
12
27
37
-1
0
0
0
0
0
0
0
-1
3
-1
41
0
2
35
13
66
1
0
0
0
0
0
0
0
0
0
0
-6
-8
-14
-11
-19
7
0
0
0
0
0
0
0
0
13
1
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
36
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-17
-5
-27
21
0
0
0
0
0
0
0
0
0
0
0
0
-3
70
59
47
-101
0
0
0
0
0
0
0
0
0
0
0
-1
-8
15
6
36
-26
32
0
0
0
0
0
0
0
0
0
0
0
-9
48
-22
2
-32
24
0
0
0
0
0
0
0
0
0
0
0
-29
-58
-176
58
22
13
0
0
0
0
0
0
0
0
0
0
0
1
-65
-140
7
56
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-21
-6
15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
44
-19
11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
43
3
0
0
0
0
0
0
0
0
0
0
0
0
3
3
32
65
7
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-107
5
-33
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
-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
-9
-4
33
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-47
-51
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
34
34
-3
0
0
0
0
0
0
0
0
0
0
0
0
-41
14
13
-88
6
0
0
0
0
0
0
0
0
0
0
0
1
-31
-35
-61
-21
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
1
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
-5
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
1
25
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
11
-19
-107
-72
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
21
-11
-32
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
35
-23
-10
-31
0
0
0
0
0
0
0
0
0
0
0
-1
21
-27
-20
84
-15
0
0
0
0
0
0
0
0
0
0
0
0
-15
-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
-9
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
45
-9
-9
73
25
-6
0
0
0
0
0
0
0
2
-4
-24
47
-37
-6
21
-13
-54
0
0
0
0
0
0
0
0
-1
20
56
-16
5
-15
83
-129
23
-9
0
0
0
0
0
0
0
0
-84
67
-71
14
-157
71
74
0
0
0
0
0
0
0
0
0
2
-20
-40
39
60
124
-104
35
-11
0
0
0
0
0
0
0
0
0
-11
58
26
49
-92
45
-33
1
0
0
0
0
0
0
0
0
5
43
3
53
26
-25
-4
20
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
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
-11
-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
-25
-15
3
-3
-1
1
0
0
-3
0
0
0
0
0
0
0
-2
49
5
-5
13
0
-7
-3
0
4
0
0
0
0
0
0
0
0
6
-23
7
4
14
-3
-2
-3
0
0
0
0
0
0
0
0
0
-42
-11
48
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
16
43
-5
30
0
0
0
0
0
0
0
-1
0
0
42
-73
5
62
52
19
13
0
0
0
0
0
0
1
35
-7
-41
58
-87
-77
-9
35
29
-34
0
0
0
0
0
0
1
-21
-14
55
-78
-15
37
33
13
29
26
0
0
0
0
0
0
0
0
-46
-74
-105
-25
-22
-7
55
61
30
0
0
0
0
0
0
0
1
-3
-121
-123
-73
-32
-27
39
-67
0
0
0
0
0
0
1
0
-8
-5
-7
27
5
-59
-93
-75
-47
3
0
0
0
0
0
0
0
0
-4
1
3
22
-51
-42
71
22
0
0
0
0
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
11
-15
-20
-28
-30
1
0
0
0
0
0
0
-6
0
185
47
62
-14
-40
-44
-38
-6
6
0
0
0
0
0
1
2
65
80
64
-16
-16
-29
-23
-55
-106
5
0
0
0
0
0
0
-11
43
128
141
27
-21
-44
-44
-16
-58
19
0
0
0
0
0
0
1
10
121
4
-6
-45
-39
-9
0
17
72
0
0
0
0
0
0
5
49
100
31
-24
-14
-9
-4
16
25
30
0
0
0
0
0
2
-4
48
67
-7
-2
-23
-36
1
-7
30
2
0
0
0
0
0
0
0
0
18
104
-107
-57
-40
-70
-102
-5
7
0
0
0
0
0
0
0
0
1
-4
35
12
-118
-9
-93
-19
0
0
0
0
0
0
0
0
0
0
0
-23
-57
9
-12
25
-8
0
0
0
0
0
0
0
0
0
0
-54
5
22
3
17
-22
-49
-6
0
0
0
0
0
0
0
0
0
6
79
-32
-3
-11
-7
139
-2
0
0
0
0
0
0
0
0
10
5
-72
-66
-77
31
58
22
-1
0
0
0
0
0
0
0
-7
-5
-11
-60
-49
-72
18
13
-26
-5
0
0
0
0
0
0
0
0
18
31
5
27
42
-14
98
5
20
0
0
0
0
0
0
0
-1
36
-25
46
34
-80
80
111
8
43
0
0
0
0
0
0
0
0
6
25
21
110
70
139
-60
-34
0
0
0
0
0
0
0
0
0
0
0
5
-18
-5
20
72
37
0
0
0
0
0
0
0
0
0
0
3
11
-47
115
24
11
-43
4
0
0
0
0
0
0
0
0
-5
52
0
-12
0
28
11
8
21
0
0
0
0
0
0
0
0
-20
33
-38
55
-129
21
8
58
25
0
0
0
0
0
0
0
0
32
-128
-77
2
-9
55
13
15
6
0
0
0
0
0
0
0
0
7
-13
-83
13
18
28
96
-52
-7
0
0
0
0
0
0
0
0
24
12
122
24
25
61
115
-37
-41
0
0
0
0
0
0
0
5
6
-107
-5
37
-17
5
91
15
-24
0
0
0
0
0
0
0
0
0
39
-86
-119
14
217
61
-23
19
0
0
0
0
0
0
0
0
0
2
0
-2
-3
4
111
0
0
0
0
0
0
0
0
3
0
0
0
8
4
-45
-31
15
41
-13
0
0
0
0
0
0
-17
0
53
0
12
-74
-4
11
59
23
-21
0
0
0
0
0
0
18
-105
10
-15
-73
-3
-9
36
62
-10
24
0
0
0
0
0
0
5
4
69
-90
-79
13
-27
7
44
77
1
0
0
0
0
0
0
2
20
-64
-30
-14
16
6
18
41
31
14
0
0
0
0
0
0
2
103
95
-82
-147
-43
-60
58
2
20
-45
0
0
0
0
0
0
-2
2
2
-176
-10
-56
18
-39
50
31
14
0
0
0
0
0
0
0
8
3
-4
-53
-12
3
-53
-53
-8
0
0
0
0
0
0
0
0
0
0
0
-5
0
-9
-2
-8
0
0
0
0
0
0
0
0
-1
0
0
0
15
-5
29
43
25
-8
-1
0
0
0
0
0
-1
0
0
8
0
35
-128
-24
26
34
14
1
0
0
0
0
0
-1
5
47
1
85
-17
-21
-18
35
15
60
14
0
0
0
0
0
0
10
80
67
28
62
-26
-63
-6
69
14
14
0
0
0
0
0
0
9
-76
61
-98
-15
-15
-38
36
52
40
-21
0
0
0
0
0
1
6
24
6
66
57
-60
-26
1
34
60
1
0
0
0
0
0
0
0
6
13
67
42
-4
56
34
35
105
-4
0
0
0
0
0
0
0
4
-2
4
-26
72
55
72
44
28
0
0
0
0
0
0
0
0
0
0
0
0
-25
67
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-25
-7
-7
64
0
0
0
0
0
0
0
0
0
0
0
2
1
-23
33
24
-51
-2
0
0
0
0
0
0
0
0
0
-1
10
-6
1
103
-15
-7
0
0
0
0
0
0
0
0
0
0
0
-1
53
140
-29
20
-115
-1
0
0
0
0
0
0
0
17
-5
0
37
-23
-12
23
64
-58
-1
0
0
0
0
0
0
0
0
4
-1
27
-80
32
41
-81
-35
-14
0
0
0
0
0
0
0
17
-8
1
10
134
171
-71
-46
-141
-1
0
0
0
0
0
0
0
0
0
-1
0
6
43
32
0
47
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-84
80
20
-6
0
0
0
0
0
0
0
4
1
-1
20
16
46
13
-70
-5
5
0
0
0
0
0
0
0
-6
1
0
3
-23
89
17
105
-41
45
0
0
0
0
0
0
0
0
0
0
-1
-1
77
27
95
-53
-43
0
0
0
0
0
0
0
0
0
0
0
3
90
-30
-24
60
38
0
0
0
0
0
0
0
0
0
0
1
65
176
87
18
-19
63
0
0
0
0
0
0
0
0
0
0
0
0
136
85
110
26
70
0
0
0
0
0
0
0
0
0
0
0
1
18
51
94
62
142
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-21
40
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
-41
-11
-84
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-102
-11
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
71
5
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
42
-72
69
-9
0
0
0
0
0
0
0
0
0
0
0
0
-8
68
42
140
71
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
70
42
13
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-45
79
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-27
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
26
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
-16
17
-71
3
-16
-8
0
0
0
0
0
0
0
0
0
0
0
8
17
56
16
5
8
0
0
0
0
0
0
0
0
0
0
0
0
4
-40
-17
37
4
0
0
0
0
0
0
0
0
0
0
0
3
33
-19
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
74
-48
-39
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
9
103
-6
-5
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
15
-4
32
-27
0
0
0
0
0
0
0
0
0
0
0
-2
9
-36
55
134
31
0
0
0
0
0
0
0
0
0
0
0
0
35
58
62
23
17
-4
0
0
0
0
0
0
0
0
0
0
0
0
-25
60
15
26
0
0
0
0
0
0
0
0
0
0
0
0
1
-84
13
-75
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
83
78
98
65
-5
0
0
0
0
0
0
0
0
0
0
0
0
10
84
72
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
71
1
0
0
0
0
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
59
59
79
25
10
-1
0
0
0
0
0
0
0
-2
-29
7
83
-61
10
142
17
-29
1
0
0
0
0
0
0
0
-7
1
60
-12
-4
17
183
15
7
8
0
0
0
0
0
0
0
0
-20
-29
-52
-8
109
6
30
51
25
0
0
0
0
0
0
0
-9
-48
-53
-37
-16
74
42
82
51
-4
0
0
0
0
0
0
0
-3
14
-13
19
60
81
68
28
-27
5
0
0
0
0
0
0
0
-10
2
13
-44
53
70
148
16
18
-1
0
0
0
0
0
0
0
0
-1
0
-27
35
35
76
36
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
0
0
0
0
0
-7
-1
3
-2
0
0
0
0
0
0
0
0
0
0
3
-7
7
-2
-10
26
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
33
14
29
-25
14
-11
1
0
0
0
0
0
0
0
3
1
-16
49
0
56
-7
54
-5
0
0
0
0
0
0
0
0
0
5
6
26
-33
26
12
45
-30
-27
0
0
0
0
0
0
0
0
-1
-4
-8
11
19
5
-21
68
-14
0
0
0
0
0
0
0
0
2
0
0
0
1
14
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
52
0
52
-68
13
38
18
5
5
0
0
0
0
0
3
-52
26
-8
-12
3
21
101
30
124
77
-17
0
0
0
0
0
6
3
-42
7
-9
4
18
52
21
-83
-25
-6
2
0
0
0
0
0
22
7
-13
-15
-7
-18
3
70
-27
22
-15
3
0
0
0
0
0
23
-17
-19
-8
18
-1
7
26
12
25
-1
-2
0
0
0
0
0
-1
-4
-13
-20
-17
45
27
100
28
11
-14
0
0
0
0
0
0
0
-1
-24
-48
1
10
-25
148
-27
-1
-13
0
0
0
0
0
0
0
0
-21
24
-25
-9
18
-3
43
0
-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
14
2
8
4
-9
-70
-1
0
0
0
0
0
1
-6
-35
-53
-3
5
0
-10
9
3
5
-26
0
0
0
0
0
0
-4
4
-48
12
13
-5
13
32
13
79
-33
0
0
0
0
0
0
2
23
-57
-40
-6
2
0
10
11
-5
148
0
0
0
0
0
-4
23
5
-20
-23
-14
-4
-4
16
45
10
-27
0
0
0
0
0
0
1
-13
-80
-19
-13
2
2
12
98
34
108
0
0
0
0
0
0
-19
20
2
-13
-13
-11
2
30
28
18
45
0
0
0
0
0
0
14
-7
-47
-62
-35
-30
-6
5
30
-1
-37
0
0
0
0
0
0
0
2
13
34
14
-34
-33
-40
-54
-5
4
0
0
0
0
0
0
-13
4
0
0
-73
50
-36
14
33
0
0
0
0
0
0
0
3
11
23
16
-27
65
20
-54
-23
-26
0
0
0
0
0
0
0
0
17
-36
3
10
29
170
29
4
15
0
0
0
0
0
0
0
0
-19
-32
3
-54
62
27
75
-43
-17
-5
0
0
0
0
0
0
0
6
19
-11
35
19
39
-58
98
-41
11
0
0
0
0
0
0
0
-5
3
2
-42
98
89
103
55
-100
-1
0
0
0
0
0
-1
6
-77
-11
-34
-11
4
64
92
31
9
0
0
0
0
0
0
3
19
-2
-4
28
13
26
40
-3
-51
-53
0
0
0
0
0
0
0
11
-31
14
-10
36
-34
-5
27
26
-24
2
0
0
0
0
0
0
-4
3
-33
-20
0
-12
-24
48
-52
5
2
0
0
0
0
0
0
-3
60
39
-23
-21
12
3
13
62
94
16
0
0
0
0
0
0
-1
-63
5
-22
13
-11
33
37
-14
8
-2
0
0
0
0
0
0
-5
-1
-34
-6
0
-2
-21
21
2
126
-11
0
0
0
0
0
0
5
-2
1
2
0
20
-1
24
71
-53
-2
0
0
0
0
0
-1
13
24
5
5
0
3
-42
79
9
-31
2
0
0
0
0
0
-4
4
-25
16
4
14
-35
-11
29
-18
15
0
0
0
0
0
0
0
-2
21
-15
13
10
-75
-59
62
43
-4
0
0
0
0
0
0
0
0
0
0
0
2
-16
7
0
0
0
0
0
0
0
0
0
0
0
-1
46
30
0
31
-29
39
-10
65
-56
-1
-17
0
0
0
0
0
-8
-3
-66
-33
11
14
34
32
67
-24
63
-9
0
0
0
0
0
-1
2
-53
-46
-7
34
34
25
-133
65
5
-3
0
0
0
0
0
-3
26
12
-16
-34
17
24
48
23
-35
-13
5
0
0
0
0
0
2
8
-8
0
-18
-7
37
8
118
85
-6
-4
0
0
0
0
0
-1
6
-7
-86
-16
11
52
82
42
140
86
0
0
0
0
0
0
0
-9
19
-4
-70
6
22
101
54
59
15
3
0
0
0
0
0
0
-1
-7
25
6
-7
20
57
128
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
-1
10
-50
0
10
-22
51
27
-21
-4
4
-2
0
0
0
0
0
0
-13
19
-73
17
1
-41
21
84
73
7
6
0
0
0
0
0
1
-13
-21
-78
-43
-15
14
-2
0
14
45
19
0
0
0
0
0
0
-16
16
-42
-35
-53
15
-86
75
5
-20
0
0
0
0
0
0
0
10
-31
-10
14
5
19
-1
58
66
24
4
0
0
0
0
0
3
62
-19
-6
10
-5
21
23
75
88
105
10
0
0
0
0
0
-3
-11
-26
-15
-61
49
25
31
89
161
10
4
0
0
0
0
0
0
0
5
-24
-60
-47
18
-22
91
13
25
0
0
0
0
0
0
0
0
0
8
0
-35
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
25
0
-1
-1
-2
0
0
0
0
0
0
0
4
-4
8
5
3
77
1
0
1
-53
0
0
0
0
0
0
1
0
-5
-31
-43
-5
27
24
2
4
-3
-4
0
0
0
0
0
0
-8
7
60
-5
-33
9
19
7
8
-21
-2
0
0
0
0
0
0
2
71
-58
-17
-15
-10
-21
-5
-6
17
-2
0
0
0
0
0
0
0
-16
-45
-14
-59
-43
-24
10
-15
6
-18
0
0
0
0
0
0
-1
45
-9
39
5
-1
-16
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
3
-21
19
30
0
0
7
0
0
0
0
0
0
0
0
0
0
4
-15
-37
-54
-9
76
33
0
0
0
0
0
0
0
0
0
0
0
16
-32
81
-16
33
-14
3
0
0
0
0
0
0
0
0
0
-1
24
27
43
20
76
8
19
0
0
0
0
0
0
0
0
0
0
8
-30
-11
-87
-1
33
-13
0
0
0
0
0
0
0
0
0
0
0
-30
-130
-18
-44
-2
-8
0
0
0
0
0
0
0
0
0
0
0
29
-58
-12
-23
-35
0
0
0
0
0
0
0
0
0
0
0
0
-7
-17
-85
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
14
2
99
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
14
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
34
82
5
0
0
0
0
0
0
0
0
0
0
0
0
-9
-24
-53
-62
5
0
0
0
0
0
0
0
0
0
0
0
0
10
69
-48
-15
7
0
0
0
0
0
0
0
0
0
0
0
0
3
31
45
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
14
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
-19
-47
34
36
-2
0
0
0
0
0
0
0
0
0
0
0
-17
5
156
-26
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
14
-58
-85
-53
-5
0
0
0
0
0
0
0
0
0
0
2
3
-24
42
153
-33
-6
0
0
0
0
0
0
0
0
0
0
1
20
98
37
-68
13
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
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
0
0
3
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
-17
3
0
0
0
0
0
0
0
0
0
0
0
-5
-1
34
-6
-6
5
0
0
0
0
0
0
0
0
0
0
0
2
25
11
57
4
43
0
0
0
0
0
0
0
0
0
0
0
4
-33
-56
130
-2
-9
0
0
0
0
0
0
0
0
0
0
0
-4
14
14
-17
46
3
0
0
0
0
0
0
0
0
0
0
0
1
30
11
61
13
6
0
0
0
0
0
0
0
0
0
0
0
-2
4
-9
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
-17
8
5
3
4
0
0
0
0
0
0
3
24
0
0
0
-9
-19
-53
-45
5
8
0
0
0
0
0
0
0
20
25
43
18
-18
48
17
-11
-14
31
-1
0
0
0
0
0
-1
7
60
40
-65
72
49
33
-4
-8
8
0
0
0
0
0
0
-7
-5
29
-104
-8
18
81
-5
0
21
0
0
0
0
0
0
0
0
-31
41
-86
-8
72
-57
-4
-4
-9
0
0
0
0
0
0
0
-1
-4
57
63
-91
114
-26
-26
0
0
-2
0
0
0
0
0
0
-1
-14
-11
-117
-47
-31
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
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
17
-17
-18
0
-7
-16
0
0
0
0
0
0
0
0
0
0
-2
8
11
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
47
21
-19
8
0
0
0
0
0
0
0
0
0
0
0
-2
-53
-9
-10
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
-43
-65
-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
1
2
0
0
0
-1
76
20
109
43
54
58
0
0
0
0
-1
4
25
65
0
0
54
-5
49
85
-5
4
75
0
0
0
0
0
0
3
118
-5
-20
20
78
86
100
74
60
32
0
0
0
0
0
0
3
43
108
44
46
95
45
80
76
-2
-28
0
0
0
0
0
0
6
22
-32
-32
84
133
71
-41
-12
-10
-22
0
0
0
0
0
-2
2
24
-5
33
12
84
124
16
17
42
-55
0
0
0
0
0
0
0
10
-58
0
-9
13
-10
49
56
21
-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
20
16
0
0
17
28
1
-8
-9
-49
-32
0
0
0
0
0
-2
1
7
90
73
-60
-9
11
13
-44
-124
0
0
0
0
0
0
-1
5
51
-61
-16
-12
24
13
33
-6
-52
-15
0
0
0
0
0
4
-13
47
-33
31
3
25
-16
21
80
-110
-81
0
0
0
0
0
2
2
-8
-29
4
20
28
-5
-1
17
-82
-53
0
0
0
0
0
0
-19
-56
-60
82
45
15
18
-8
-34
-17
-37
0
0
0
0
0
0
0
18
73
1
15
29
41
3
-18
10
9
0
0
0
0
0
0
1
-7
53
16
21
5
38
137
72
7
13
0
0
0
0
0
0
0
0
0
-4
-2
13
90
66
52
0
0
0
0
0
0
0
0
0
0
0
0
3
-47
27
-5
-1
-55
62
0
0
0
0
0
0
0
0
-3
34
23
23
-34
-71
35
-45
29
0
0
0
0
0
0
0
0
27
-74
-92
47
87
2
4
38
-23
0
0
0
0
0
0
0
-4
61
10
53
-7
52
14
-1
36
5
0
0
0
0
0
0
0
0
0
-19
10
7
-14
43
4
86
-69
0
0
0
0
0
0
0
0
18
-58
-7
94
4
89
72
-24
-20
0
0
0
0
0
0
0
0
17
0
103
79
14
8
-31
34
20
0
0
0
0
0
0
0
0
15
3
68
30
106
-23
92
9
48
0
0
0
0
0
0
0
0
-6
0
-1
0
21
-24
19
8
-85
0
0
0
0
0
0
0
0
0
-11
27
87
-71
-12
-54
28
60
0
0
0
0
0
0
0
0
3
7
0
95
81
-59
-6
97
51
0
0
0
0
0
0
0
0
0
23
93
70
71
21
-14
-6
39
0
0
0
0
0
0
0
0
-2
96
135
2
27
20
-33
75
-62
0
0
0
0
0
0
0
0
-7
14
2
107
71
-54
52
41
59
0
0
0
0
0
0
0
0
1
60
36
23
-64
-2
47
19
48
0
0
0
0
0
0
0
0
-9
19
-28
153
58
-2
33
90
-66
0
0
0
0
0
0
0
0
8
7
34
3
67
46
0
41
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
35
0
0
37
143
18
37
75
33
60
0
0
0
0
-3
-2
3
0
6
0
-41
150
23
-30
-13
47
-7
0
0
0
0
0
-2
82
-139
17
-49
11
100
68
55
22
38
-37
0
0
0
0
0
0
31
-8
-48
81
-38
161
37
51
6
110
54
0
0
0
0
0
0
-21
54
24
-20
23
53
42
-76
40
-2
-88
0
0
0
0
0
0
0
-15
-70
16
57
20
-27
64
-28
-8
24
0
0
0
0
0
0
8
-24
-5
56
-139
62
33
11
-60
-31
-5
0
0
0
0
0
0
0
43
8
-44
-7
-13
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-15
0
0
0
0
0
0
0
0
0
0
1
-3
0
2
7
122
-70
74
55
0
8
0
0
0
0
0
0
24
0
-2
0
53
82
-8
36
13
-45
-25
0
0
0
0
0
0
9
-75
-14
-70
15
48
-123
-67
-14
-41
78
0
0
0
0
0
0
7
60
23
-23
-4
108
-119
34
-21
30
2
0
0
0
0
0
0
-10
28
98
141
107
34
-48
10
-5
99
76
0
0
0
0
0
0
11
63
65
102
114
6
36
-15
106
31
-5
0
0
0
0
0
0
0
101
50
-15
66
-25
72
-10
-35
-30
6
0
0
0
0
0
0
0
3
4
2
-7
-7
-28
31
-5
-15
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
9
-3
0
-6
-14
-5
0
0
0
0
0
0
-1
15
25
0
11
65
17
12
-1
-36
2
0
0
0
0
0
0
0
21
34
0
5
-54
-14
-8
-1
-7
-7
0
0
0
0
0
0
0
5
54
0
33
-5
-17
1
-1
-4
6
0
0
0
0
0
0
0
2
23
0
-5
39
19
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
20
0
-33
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
-11
-5
2
0
0
0
0
0
0
0
1
0
0
3
0
0
-6
-24
54
-8
0
0
0
0
0
0
0
0
0
0
-2
0
-5
15
57
86
8
0
0
0
0
0
0
0
0
0
1
0
5
0
56
80
60
-57
0
0
0
0
0
0
0
0
0
0
4
0
-27
17
152
4
18
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-28
110
83
19
0
0
0
0
0
0
0
0
0
0
0
0
5
-26
51
-58
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
53
12
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
-1
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
16
19
14
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
36
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
23
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
-3
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
0
0
0
-2
-5
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-48
25
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-18
7
-34
0
0
0
0
0
0
0
0
0
0
0
0
6
5
51
62
5
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-34
85
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
13
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
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
1
0
-5
11
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-3
31
-7
7
57
17
0
0
0
0
0
0
0
0
0
0
-2
4
-5
13
-22
72
0
0
0
0
0
0
0
0
0
0
0
0
-1
26
-20
4
16
-2
0
0
0
0
0
0
0
0
0
0
0
1
-17
3
77
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-5
30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-23
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
71
19
126
-19
26
15
21
-34
0
0
0
0
0
0
4
-2
-33
-25
-15
42
-9
-7
-14
-24
-5
0
0
0
0
0
0
0
-97
-100
-24
36
-31
-53
-60
-14
53
-1
0
0
0
0
0
0
-1
116
-116
7
27
-31
-14
13
3
65
58
0
0
0
0
0
0
0
-21
78
38
30
-31
-33
-14
52
1
14
0
0
0
0
0
0
0
7
20
7
-76
-97
-28
19
-42
37
-17
0
0
0
0
0
0
0
-19
14
-3
26
64
-9
34
56
18
-5
0
0
0
0
0
0
0
0
-6
0
0
-10
6
-15
-14
36
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
23
0
0
0
0
0
0
0
0
0
4
0
0
0
4
-1
-17
0
0
0
0
0
0
0
0
-1
-1
-10
0
14
0
-3
2
74
10
0
0
0
0
0
0
0
17
0
-17
-3
-2
2
0
7
48
-19
0
0
0
0
0
0
0
-6
3
0
39
2
0
1
6
14
4
0
0
0
0
0
0
0
-2
0
16
14
0
-10
-4
6
-49
-5
0
0
0
0
0
0
0
0
1
0
-22
4
7
-2
-7
91
5
0
0
0
0
0
0
0
0
0
0
-4
1
9
0
16
50
-55
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-9
-57
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
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
-3
-19
-33
-25
0
5
-18
24
-18
0
-5
7
7
0
0
0
0
5
-23
-9
20
2
2
10
96
76
0
-37
25
0
0
0
0
-1
-26
6
-46
-2
-3
-4
60
21
36
1
39
99
17
0
0
0
0
0
29
31
13
-2
-5
25
47
-1
-14
33
-4
44
0
0
0
0
0
-14
29
-4
-11
13
50
42
19
-20
16
35
29
0
0
0
0
0
3
-36
-5
-17
-24
23
24
52
-9
16
11
0
0
0
0
0
0
0
0
-20
-14
-53
-14
21
14
0
9
5
2
0
0
0
0
0
0
0
0
-23
31
-11
-49
0
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
-47
-17
0
-26
-34
11
86
17
-25
0
0
0
0
0
0
1
17
-33
-38
-2
-15
-18
12
19
31
-11
26
0
0
0
0
0
0
-17
-28
-7
-48
-53
4
9
11
-5
-7
4
0
0
0
0
0
-2
22
-92
-12
13
-16
13
-11
-20
-82
102
8
0
0
0
0
1
0
13
57
-36
14
-29
14
1
-4
-19
0
0
0
0
0
0
0
0
-8
43
-34
12
-17
12
2
11
131
-54
1
0
0
0
0
0
0
0
-48
61
-55
15
14
13
21
64
-14
-4
0
0
0
0
0
0
1
3
40
13
-2
4
25
17
38
-13
8
0
0
0
0
0
0
0
1
-10
4
-29
-7
-3
-12
29
0
0
0
0
0
0
1
-8
2
-23
102
0
0
-69
45
14
0
-1
0
0
0
0
0
-3
6
8
17
-7
22
-44
17
84
-15
-10
2
0
0
0
0
0
0
-6
31
-10
-10
-25
-67
-26
14
26
-10
-2
0
0
0
0
0
1
-8
23
36
11
-55
-28
-38
66
78
-1
0
0
0
0
0
0
0
-2
-1
15
13
12
-14
-79
15
-15
2
0
0
0
0
0
0
0
9
8
17
3
-12
-11
53
-54
-52
-7
0
0
0
0
0
1
3
-4
2
-1
0
-3
45
-35
-88
-106
3
0
0
0
0
0
0
0
5
-7
0
10
-16
-22
-17
13
1
0
0
0
0
0
0
-3
3
6
-38
0
-1
-16
-30
46
-29
0
0
0
0
0
0
0
0
0
-10
-23
20
-3
0
-85
48
-3
-1
0
0
0
0
0
0
0
-21
2
-51
-13
13
-23
-17
0
28
8
46
0
0
0
0
0
0
0
0
5
36
34
-11
-4
18
-22
1
8
0
0
0
0
0
0
0
0
16
4
17
-27
41
-5
-7
24
-24
0
0
0
0
0
0
0
7
-25
-12
-8
3
38
38
-4
14
2
0
0
0
0
0
0
0
4
-28
33
-12
7
27
136
56
-16
0
0
0
0
0
0
0
0
-5
-31
-13
-6
-32
87
64
117
-51
1
0
0
0
0
0
0
0
-1
-2
-29
-39
-27
-9
-81
79
-43
-1
0
0
0
0
0
0
0
0
0
0
0
3
-52
-20
-1
0
0
0
0
0
0
0
0
0
0
-14
-38
-11
0
6
50
24
56
-76
8
3
18
0
0
0
0
-1
-29
76
6
-4
-5
19
27
-18
20
59
117
20
0
0
0
0
0
8
6
12
-6
7
27
17
42
16
4
54
-13
0
0
0
0
-1
-2
15
26
14
-2
35
34
53
81
-3
-55
17
0
0
0
0
0
6
47
10
18
6
7
17
-48
-42
53
68
-1
0
0
0
0
0
18
-49
-33
-12
-9
31
8
122
58
3
-24
7
0
0
0
0
0
0
-10
-73
-5
-64
-52
24
28
-19
11
14
-1
0
0
0
0
0
0
0
4
-32
-20
5
35
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
-23
23
0
-3
53
13
9
17
4
8
5
0
0
0
0
0
7
-1
-62
-1
-5
-3
85
-39
-47
3
-1
18
0
0
0
0
-2
24
-48
26
5
-46
51
-14
-31
6
-4
24
56
0
0
0
0
0
-14
2
4
-13
-2
13
35
-34
-1
-6
21
-20
0
0
0
0
0
0
-43
-4
-15
7
12
-33
52
14
-5
3
-2
0
0
0
0
0
5
-59
28
-23
1
-15
-15
8
0
-2
-53
4
0
0
0
0
0
1
0
-15
-10
50
-28
-2
-49
0
0
-9
-1
0
0
0
0
0
0
19
14
20
-7
-15
19
0
39
0
-2
0
0
0
0
0
0
0
0
-14
53
-4
46
0
10
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
-14
-33
-32
-34
-49
-5
0
0
0
2
0
0
0
0
0
0
0
0
-25
-65
82
6
0
-2
-2
0
-1
0
0
0
0
0
0
0
0
-2
-51
-1
30
-3
0
0
-1
5
0
0
0
0
0
0
0
0
15
9
-36
11
16
-3
0
-3
-39
0
0
0
0
0
0
0
4
-13
-5
-45
17
16
-2
0
-10
0
2
0
0
0
0
0
0
0
-5
-6
-15
-2
-2
0
0
-4
33
0
0
0
0
0
0
0
0
1
-13
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
34
15
17
0
0
0
0
0
0
0
0
0
0
1
1
1
19
36
-25
-14
0
0
0
0
0
0
0
0
0
0
1
-1
13
-43
61
53
52
5
0
0
0
0
0
0
0
0
0
0
0
-3
57
-3
55
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-24
-14
14
88
8
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-142
-48
55
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
11
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-36
26
2
0
0
0
0
0
0
0
0
0
0
0
0
0
46
23
-22
-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
-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
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
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
-13
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
5
15
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
25
1
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
20
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
-18
-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
33
1
-3
0
0
0
0
-1
0
2
0
0
0
0
-10
-11
-7
23
-9
0
0
0
0
0
0
0
0
0
-15
4
2
-10
-5
-71
-22
19
0
0
0
0
0
0
0
0
0
45
19
-24
46
22
-41
-37
1
5
0
0
0
0
0
0
1
0
74
-50
-9
-2
9
43
-6
-14
-2
0
0
0
0
0
0
0
1
-58
-5
-17
-96
47
29
-5
13
0
0
0
0
0
0
0
0
3
33
-19
-9
-6
75
17
2
5
0
0
0
0
0
0
0
0
0
-2
-39
-13
1
0
-22
-3
-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
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
-10
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
17
8
6
9
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
-4
-109
-41
0
0
0
0
0
-1
-3
0
0
0
-6
-11
-23
79
40
-62
72
0
0
0
0
0
0
0
1
-31
8
3
-11
81
-2
73
33
7
0
0
0
0
0
-1
1
50
-2
-9
33
56
64
41
13
-42
3
0
0
0
0
0
0
2
-1
-14
5
-76
8
46
-14
17
-72
5
0
0
0
0
0
0
-3
-1
27
-5
14
-10
-13
33
-17
23
7
0
0
0
0
0
0
-3
3
7
11
7
43
-33
14
32
-29
-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
53
-87
49
15
-53
55
1
0
0
0
0
0
18
-4
-3
24
-53
-54
-36
-7
23
-46
-44
17
0
0
0
0
0
15
-13
6
80
113
69
-21
30
5
5
14
11
0
0
0
1
0
0
-8
51
7
60
30
13
-94
1
-32
-43
-13
0
0
0
0
0
-1
2
17
28
58
-32
23
22
-12
-24
-60
14
0
0
0
0
0
-1
-2
-20
63
17
76
29
23
25
30
28
-3
0
0
0
0
-1
5
5
45
-42
59
81
-28
-22
-12
-18
22
-16
0
0
0
0
0
0
30
11
-41
83
103
19
44
15
75
34
2
0
0
0
0
0
3
2
1
0
5
-27
1
37
-8
61
3
0
0
0
0
0
0
0
0
0
0
0
23
-41
-21
-20
36
-53
-1
0
0
0
0
0
0
0
0
1
0
41
1
47
-47
-7
43
3
0
0
0
0
0
0
0
0
0
-7
11
17
0
48
86
0
-2
0
0
0
0
0
0
0
0
0
-5
4
-5
-4
43
21
-15
0
0
0
0
0
0
0
0
0
0
5
25
14
13
70
33
-11
10
0
0
0
0
0
0
-1
0
2
4
-14
43
5
52
54
32
4
0
0
0
0
0
0
0
0
0
0
23
6
1
80
-20
-1
2
0
0
0
0
0
0
0
0
1
0
-37
16
25
-14
-23
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
29
-32
-25
11
-122
-110
-1
0
0
0
0
0
0
0
0
0
4
0
4
15
-7
-20
13
10
0
0
0
0
0
0
0
0
-3
-10
-82
-40
-36
14
-9
80
-20
0
0
0
0
0
0
0
0
3
1
-14
57
112
-8
33
-15
15
0
0
0
0
0
0
0
0
0
-25
-71
38
65
190
11
26
9
0
0
0
0
0
0
0
0
3
23
-48
75
52
-6
72
107
-34
0
0
0
0
0
0
0
0
-6
23
23
56
2
-49
104
60
54
0
0
0
0
0
0
0
0
0
0
0
11
-11
-43
23
35
90
0
0
0
0
0
0
0
0
0
0
0
8
0
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
-25
20
-14
37
-6
0
0
0
0
-1
2
0
0
1
0
-8
40
82
-8
43
-48
8
0
0
0
0
0
0
0
-14
-18
0
-16
-35
-40
72
111
-42
-37
0
0
0
0
0
1
2
-25
0
9
44
20
-170
66
77
15
-13
0
0
0
0
0
0
0
41
18
34
112
148
13
23
41
-9
-5
0
0
0
0
0
1
0
3
9
22
48
89
16
48
-69
-74
-1
0
0
0
0
0
0
-1
1
14
19
17
46
51
65
5
60
44
0
0
0
0
0
0
-1
-2
-1
-3
35
-32
3
10
4
-33
0
0
0
0
0
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
-53
-14
-11
39
-1
0
0
0
0
0
0
0
0
-1
0
2
16
-23
20
-23
63
3
0
0
0
0
0
0
0
-1
1
0
10
85
-48
21
0
47
-34
0
0
0
0
0
0
1
5
0
-14
-21
36
-19
-38
-48
37
-2
0
0
0
0
0
0
-1
-1
1
5
7
70
-14
28
62
12
-7
0
0
0
0
0
0
0
1
14
20
51
49
4
42
62
19
0
0
0
0
0
0
0
0
-13
33
15
1
35
0
-22
53
17
0
0
0
0
0
0
0
0
0
1
0
-1
90
25
139
-19
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-27
-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
20
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
3
19
-39
46
0
0
0
0
0
0
0
0
-9
1
-2
0
4
19
-19
15
3
0
0
0
0
0
0
0
0
4
5
0
5
5
-15
-25
38
39
0
0
0
0
0
0
0
0
-4
1
-2
0
-6
13
3
-15
0
0
0
0
0
0
0
0
0
0
-1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-6
51
11
0
0
0
0
0
0
0
0
5
19
-14
-21
-5
16
-49
5
59
-5
0
0
0
0
0
0
0
-7
-10
-2
4
8
-13
5
48
22
-13
0
0
0
0
0
0
0
-3
0
-1
0
-5
-18
9
-47
6
-87
0
0
0
0
0
0
0
-2
0
0
2
3
27
25
86
-32
-28
0
0
0
0
0
0
0
0
0
0
1
-4
28
-29
45
-1
-105
0
0
0
0
0
0
0
0
0
0
0
11
14
-68
37
140
14
0
0
0
0
0
0
0
0
0
0
0
0
3
-138
78
39
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-11
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
25
14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-33
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
18
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
81
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
3
37
-56
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
41
-24
39
20
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
-90
118
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-63
72
43
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
-2
0
3
-1
15
-8
1
0
0
0
0
0
0
0
0
1
1
1
0
1
7
-21
-1
-39
-7
0
0
0
0
0
0
0
0
-1
-2
-1
0
0
-48
-10
23
3
0
0
0
0
0
0
0
0
0
0
0
0
-17
9
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
6
6
-50
106
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
29
44
-24
11
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
72
4
51
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-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
1
2
57
-18
-4
0
0
0
0
0
0
0
-2
0
1
0
-1
2
4
59
52
14
0
0
0
0
0
0
0
0
4
0
-1
0
0
17
48
-4
0
3
0
0
0
0
0
0
0
0
0
0
-2
-6
-33
-7
-60
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
49
74
56
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
4
-14
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-45
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
-3
4
0
-37
5
4
55
8
0
0
0
0
0
0
-1
0
1
-6
13
-30
2
-15
6
14
-1
0
0
0
0
0
0
0
2
18
18
-23
3
-27
16
-47
56
15
0
0
0
0
0
0
0
1
-2
-30
10
-10
-5
58
112
-33
24
0
0
0
0
0
0
0
0
-4
-11
4
-1
-52
-29
13
-54
7
0
0
0
0
0
0
0
0
0
0
-2
5
67
61
-63
10
-8
0
0
0
0
0
0
0
0
-2
6
-23
-48
-7
-5
-31
-1
-14
0
0
0
0
0
0
0
0
0
0
2
43
-43
-80
-7
-25
32
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-6
37
-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
-15
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
26
-25
25
-1
0
0
0
0
0
0
0
5
1
0
7
2
0
24
-2
-3
26
0
0
0
0
0
0
0
0
-1
-1
-5
-5
0
-15
-77
-11
2
0
0
0
0
0
0
0
-3
0
0
-2
0
1
0
-20
-1
2
0
0
0
0
0
0
0
0
4
4
0
-1
-2
-5
-2
87
10
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-107
-44
-3
4
-7
2
0
0
0
0
0
0
7
-14
-5
-27
-11
-82
87
0
1
56
7
-2
0
0
0
0
1
1
-34
-25
-28
-22
-48
120
-16
35
-13
-35
0
0
0
0
0
0
1
92
3
-54
62
4
101
-30
-14
51
21
0
0
0
0
0
0
0
9
-55
-92
5
73
-54
0
69
-55
-36
-4
0
0
0
0
0
0
-1
-36
120
80
36
-59
18
-26
23
17
16
0
0
0
0
0
-1
0
23
53
-78
5
-50
-11
-14
6
-10
0
0
0
0
0
0
0
2
57
0
-1
6
0
-13
-3
-5
33
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
80
-9
-5
62
5
1
0
0
0
0
0
-13
3
-9
60
40
-76
21
-22
-42
-34
-30
30
-8
0
0
0
0
-1
-1
-16
-7
-6
-42
-1
10
-88
70
-54
-1
-2
0
0
0
0
0
-1
2
-23
-96
-97
4
-32
50
6
72
7
19
0
0
0
0
0
0
-1
31
22
33
-54
35
-5
-6
88
51
-14
0
0
0
0
0
0
0
45
-67
24
42
21
25
72
96
38
24
0
0
0
0
0
0
0
-1
-28
-74
-43
-23
-43
27
48
76
-21
0
0
0
0
0
0
0
-5
-21
80
45
28
0
-27
-7
-69
135
0
0
0
0
0
0
0
0
0
-10
-10
5
-42
-9
-30
0
0
0
0
0
0
0
0
0
0
0
0
-30
-20
-4
11
-4
0
0
0
0
0
0
0
0
-1
19
-34
-39
20
21
-15
48
-3
3
0
0
0
0
0
0
0
0
2
12
-5
-9
-3
-44
-5
17
0
0
0
0
0
0
0
0
0
0
-11
4
14
-6
0
8
11
0
0
0
0
0
0
0
0
0
2
6
53
-19
28
-27
6
-1
0
0
0
0
0
0
0
0
0
-3
14
69
-25
-24
-31
-4
-5
0
0
0
0
0
0
0
0
0
2
-49
26
37
-39
-18
-8
-2
0
0
0
0
0
0
0
0
0
27
-38
37
-15
-37
3
63
-11
-6
0
0
0
0
0
0
0
0
-1
-22
-32
4
-7
0
0
3
0
0
0
0
0
0
0
0
2
1
0
0
11
-43
-42
30
2
-1
0
0
0
0
0
0
-5
9
11
-43
42
29
36
-34
43
22
0
0
0
0
0
0
0
0
-3
3
2
27
3
65
-6
-28
16
4
0
0
0
0
0
0
0
0
9
-23
21
-66
83
51
17
49
3
0
0
0
0
0
0
0
-4
-8
7
-8
84
45
116
-21
9
37
0
0
0
0
0
0
0
0
43
70
0
45
20
67
5
41
7
0
0
0
0
0
0
0
17
75
-14
-15
-21
77
104
-71
67
0
0
0
0
0
0
0
0
0
-26
-22
46
-4
-9
-30
-19
-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
5
0
80
95
-17
56
-15
41
-3
-7
0
0
0
0
0
9
1
1
15
62
-40
179
-51
62
-24
5
-9
0
0
0
7
-2
0
-3
-54
-30
-14
90
7
-90
-8
53
-3
-11
0
0
0
0
0
-3
4
35
-67
-58
39
38
46
-26
71
5
-51
0
0
0
0
0
0
-1
33
-39
47
36
-31
-25
25
78
-10
9
0
0
0
0
0
0
2
4
-7
-84
39
3
-35
50
-45
-16
1
0
0
0
0
0
0
0
31
4
8
-6
-17
-54
52
-25
15
-7
0
0
0
0
0
0
-1
0
-3
0
2
3
-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
11
50
-29
-46
14
5
3
-6
0
0
0
0
0
0
-1
24
11
-20
53
-29
18
41
17
-2
4
0
0
0
0
0
0
0
-21
65
76
104
-24
44
73
-25
-9
0
0
0
0
0
0
0
0
26
-26
62
-27
43
6
47
35
-11
2
0
0
0
0
0
-1
0
11
54
22
33
47
92
19
46
16
-4
0
0
0
0
0
0
0
-56
-55
52
75
-30
-37
137
9
-33
1
0
0
0
0
0
0
0
-25
-9
0
-41
-30
32
-30
-20
17
0
0
0
0
0
0
0
0
9
-22
-3
-57
71
41
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
13
6
-1
0
0
0
0
0
0
-3
-11
9
-6
9
-1
-2
2
-3
10
0
0
0
0
0
0
0
0
-23
51
11
33
9
-10
0
-1
-17
2
0
0
0
0
0
0
0
5
11
5
48
-25
5
-1
-33
87
1
0
0
0
0
0
0
0
14
3
1
-7
-1
1
-6
-39
40
1
0
0
0
0
0
0
0
-5
-33
-4
-1
17
-5
13
11
-7
2
0
0
0
0
0
0
0
-4
-1
-19
0
-1
-2
-8
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
18
64
45
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-43
18
50
0
0
0
0
0
0
0
0
0
0
0
0
1
-31
21
-32
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-50
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
-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
-10
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
92
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
36
33
-25
1
0
0
0
0
0
0
0
0
0
0
4
-18
-56
-117
33
46
-4
0
0
0
0
0
0
0
9
3
10
-1
-53
-49
43
1
8
3
0
0
0
0
0
0
4
29
-7
3
1
23
41
-17
-38
4
-7
0
0
0
0
0
0
0
4
20
-19
48
20
-14
-28
10
2
0
0
0
0
0
0
0
0
-13
-2
66
-5
5
20
23
15
35
-1
0
0
0
0
0
0
0
0
-25
-19
-17
0
5
-2
2
-13
0
0
0
0
0
0
0
0
43
-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
27
2
-43
96
81
0
0
0
0
0
0
0
0
0
0
34
32
20
54
73
19
45
0
0
0
0
0
-1
2
8
45
-2
-6
10
-4
-10
39
32
51
0
0
0
0
0
0
1
14
3
19
-2
52
66
-53
52
13
54
0
0
0
0
0
-1
-4
0
37
104
80
15
108
-122
92
54
56
0
0
0
0
0
0
0
9
-5
15
23
32
41
32
5
-31
44
0
0
0
0
0
0
0
-14
8
-11
1
-16
-2
5
28
-7
21
0
0
0
0
0
0
0
0
0
1
0
-4
0
-1
16
-22
-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
-23
-20
-22
80
-51
-5
0
0
0
0
0
0
3
3
-2
18
-31
-18
-14
31
-71
-169
-174
0
0
0
0
0
0
8
-8
36
-42
47
30
22
33
36
-60
-118
0
0
0
0
0
0
8
4
55
5
77
136
55
3
52
-104
-35
0
0
0
0
0
0
-2
4
-6
54
-54
-26
85
40
-10
-36
-102
0
0
0
0
0
0
-6
13
36
-8
60
-85
-31
39
-59
-106
-34
0
0
0
0
0
-1
-1
0
10
47
90
25
3
39
12
-15
-58
0
0
0
0
0
-1
1
0
1
-44
59
33
64
-16
62
5
-68
0
0
0
0
0
0
0
0
0
0
-17
53
-3
38
39
9
0
0
0
0
0
0
0
0
0
0
0
-5
54
-6
-51
-99
-53
82
0
0
0
0
0
0
0
0
-3
-2
1
-20
-99
-76
15
-44
20
0
0
0
0
0
0
0
0
0
-13
69
-11
36
-11
-47
16
-31
0
0
0
0
0
0
0
0
0
6
29
26
-7
-23
80
6
104
0
0
0
0
0
0
0
0
-1
4
-9
15
-27
-69
59
62
-22
0
0
0
0
0
0
0
0
2
2
-2
-4
-5
-49
-4
20
-10
0
0
0
0
0
0
0
0
-5
8
-6
16
39
32
0
19
8
0
0
0
0
0
0
0
0
5
19
1
8
-31
118
56
54
23
0
0
0
0
0
0
0
0
-2
6
8
-9
11
-22
-2
-118
17
0
0
0
0
0
0
0
0
0
3
-33
49
38
13
50
17
-1
0
0
0
0
0
0
0
0
0
-25
0
33
91
16
-1
6
60
0
0
0
0
0
0
0
0
0
22
61
2
72
39
35
6
-77
0
0
0
0
0
0
0
0
1
10
-24
-10
41
106
72
23
-55
0
0
0
0
0
0
0
0
-3
7
167
125
53
-8
5
77
39
0
0
0
0
0
0
-3
-1
0
-18
-2
38
-100
129
91
97
56
0
0
0
0
0
0
0
1
5
-19
26
-23
-3
23
167
90
-3
0
0
0
0
0
0
0
0
2
-7
-3
9
3
20
41
29
-45
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
32
-2
23
24
90
-43
31
0
0
0
0
0
0
1
0
1
0
26
97
-57
78
77
54
24
0
0
0
0
0
1
2
10
-6
20
-47
44
-107
124
77
-23
23
0
0
0
0
0
0
-3
3
36
32
157
138
61
5
54
-36
-7
0
0
0
0
0
0
0
3
-1
30
11
-9
-33
83
-4
33
14
0
0
0
0
0
0
1
8
14
17
-9
94
78
-2
-47
103
-48
0
0
0
0
0
0
0
14
-71
-6
-1
-11
77
31
23
19
-23
0
0
0
0
0
0
0
0
0
0
-2
0
5
4
15
16
-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
-17
-46
23
106
6
0
0
0
0
0
0
1
0
0
0
0
78
4
54
68
-9
52
0
0
0
0
0
0
0
4
0
1
-31
45
31
50
52
76
10
0
0
0
0
0
0
2
-5
0
-4
27
74
102
-46
57
-19
146
0
0
0
0
0
0
0
-9
-3
-14
35
24
45
60
105
59
100
0
0
0
0
0
0
0
-1
27
0
59
156
-85
-15
45
65
5
0
0
0
0
0
0
0
0
5
5
-21
25
-52
44
47
-55
33
0
0
0
0
0
0
0
0
0
-2
1
7
7
-54
-43
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
46
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
-8
-26
35
0
0
0
0
0
0
0
0
0
0
2
4
-8
53
0
13
-17
0
0
0
0
0
0
0
0
0
0
0
0
13
14
19
81
13
0
0
0
0
0
0
0
0
1
0
0
13
1
0
10
60
31
0
0
0
0
0
0
0
0
0
0
-1
3
0
14
20
-61
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
-27
1
-35
3
6
16
1
77
0
0
0
0
0
0
2
32
8
-11
0
5
3
-39
33
50
6
0
0
0
0
0
0
0
4
-6
-11
22
-36
-8
-8
154
109
9
0
0
0
0
0
0
0
-1
5
5
2
-6
-46
44
-5
146
92
0
0
0
0
0
0
0
0
-1
1
0
-26
9
96
120
116
138
0
0
0
0
0
0
0
0
0
0
1
8
13
10
75
112
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
-122
53
33
109
0
0
0
0
0
0
0
0
0
0
0
0
-7
29
-31
36
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-29
-37
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
4
5
21
0
0
0
0
0
0
0
0
0
-1
-2
3
1
-18
36
32
31
0
0
0
0
0
0
0
0
0
0
10
0
8
17
18
75
5
0
0
0
0
0
0
0
0
0
0
-4
-3
0
-16
33
185
46
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-17
5
29
39
0
0
0
0
0
0
0
0
0
0
0
0
-1
-33
-25
30
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-19
20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
6
-43
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
-15
-34
-23
-8
0
0
0
0
0
0
0
0
0
0
1
2
13
-20
-3
56
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
75
14
53
0
0
0
0
0
0
0
0
0
0
1
0
-23
-5
31
-43
57
0
0
0
0
0
0
0
0
0
0
0
0
-11
-15
24
79
19
0
0
0
0
0
0
0
0
0
0
0
0
-2
-45
-12
17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
5
-20
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
18
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-11
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-13
18
4
-14
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
35
65
17
0
0
0
0
0
0
0
0
0
0
-2
-5
34
-26
37
28
24
0
0
0
0
0
0
0
0
0
0
0
0
4
-18
-52
-4
4
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
-9
-25
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-24
-39
2
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
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
30
-6
20
1
10
22
9
0
0
0
0
0
0
0
0
0
6
54
1
16
5
-43
27
26
0
0
0
0
0
0
0
-1
0
55
-21
62
62
-46
53
15
8
0
0
0
0
0
0
0
0
-11
-47
-18
9
-29
14
44
41
44
0
0
0
0
0
0
0
0
1
-1
20
6
5
107
45
13
2
0
0
0
0
0
0
0
0
1
0
-4
-6
45
-6
30
74
33
0
0
0
0
0
0
0
0
-2
0
0
2
-5
-2
-18
86
37
0
0
0
0
0
0
0
0
-1
0
0
-2
-4
-6
-8
-62
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-4
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
1
24
-9
25
0
0
0
0
0
0
0
0
0
0
1
4
0
3
16
77
46
0
0
0
0
0
0
0
0
0
0
0
7
4
-9
18
8
-43
0
0
0
0
0
0
0
0
0
0
-1
0
9
-4
59
-20
3
0
0
0
0
0
0
0
0
1
0
0
0
-9
-10
-41
61
-1
0
0
0
0
0
0
0
0
2
-1
0
1
-9
11
48
63
-35
0
0
0
0
0
0
0
0
0
0
0
-2
0
14
6
-8
49
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-24
69
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
47
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
103
19
-9
-3
26
-14
22
43
0
0
0
0
0
-3
-27
18
49
125
37
49
22
-22
-16
46
4
0
0
0
0
0
3
24
-35
-24
-32
17
-16
43
7
40
-23
32
0
0
0
0
0
0
-18
83
3
3
67
-12
-45
-27
37
35
-34
0
0
0
0
0
0
-4
-22
87
22
59
-25
1
14
45
47
8
0
0
0
0
0
0
-1
-5
-44
15
-59
-3
1
0
16
28
-11
0
0
0
0
0
0
-1
0
19
-20
-35
-1
39
5
90
-10
4
0
0
0
0
0
0
0
3
0
4
0
0
5
13
-16
-5
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-25
0
55
-39
18
-69
-43
-44
6
0
0
0
0
1
0
0
10
-34
116
4
-39
64
-33
-17
-20
45
0
0
0
0
0
0
2
-43
-64
-31
41
-51
15
3
-55
16
48
0
0
0
0
0
0
2
-11
26
52
-30
47
-40
78
68
-27
-10
0
0
0
0
0
0
0
-10
2
128
-5
-25
-69
68
63
155
41
0
0
0
0
0
0
0
-5
57
-63
20
35
-31
27
30
47
-23
0
0
0
0
0
0
0
2
-53
-5
81
-43
-57
131
-32
-61
-11
0
0
0
0
0
0
-1
0
3
-31
-3
30
-70
10
-32
-13
-3
0
0
0
0
0
0
0
0
0
-9
-1
94
-77
13
1
0
0
0
0
0
0
0
0
0
7
-12
0
-56
58
2
7
-3
6
0
0
0
0
0
0
0
0
-3
10
-1
98
0
-50
-27
-8
-43
0
0
0
0
0
0
0
0
40
18
2
-9
-3
14
29
-7
-8
0
0
0
0
0
0
0
1
0
14
6
35
43
63
61
-9
-3
0
0
0
0
0
0
0
0
0
-36
1
25
-8
-14
15
3
-1
1
0
0
0
0
0
0
1
18
53
8
-2
11
20
8
-2
0
0
0
0
0
0
0
0
0
-18
6
129
-18
-32
-4
-71
-2
-3
0
0
0
0
0
0
0
0
-10
-26
-4
-16
-5
-26
-1
0
0
0
0
0
0
0
0
0
0
-26
-6
-12
45
0
-4
3
0
0
0
0
0
0
0
0
0
-1
-16
66
0
78
-26
-4
-12
25
0
0
0
0
0
0
0
0
-2
-20
-14
-43
-16
-77
-85
-2
39
-5
0
0
0
0
0
0
0
1
-4
14
54
49
65
60
-13
-37
-3
0
0
0
0
0
0
0
-3
6
-30
27
-37
31
-55
-51
33
-2
0
0
0
0
0
0
0
1
1
24
47
-33
-50
-29
-12
29
-15
0
0
0
0
0
0
0
-3
14
41
36
-34
-34
-8
-23
-17
-1
0
0
0
0
0
0
0
0
-24
23
-3
7
17
-72
0
15
0
0
0
0
0
0
0
0
0
2
-9
26
20
3
-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
-2
-8
93
0
-26
-29
-41
1
11
52
51
-29
0
0
0
0
0
1
13
1
-22
-14
-23
-51
-32
5
143
33
-20
0
0
0
0
0
0
-11
-11
-49
62
16
59
75
28
14
25
-22
0
0
0
0
0
0
13
-69
10
-46
56
-44
27
15
-1
125
21
0
0
0
0
0
0
0
23
-15
-84
3
14
-57
30
28
11
-21
0
0
0
0
0
0
0
-4
19
-66
22
-30
24
10
53
-27
17
0
0
0
0
0
0
0
9
0
-2
14
4
-20
-10
-10
-43
-7
0
0
0
0
0
0
0
0
-1
-2
2
17
0
5
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
23
0
-5
16
2
-1
9
-6
-24
3
0
0
0
0
0
0
1
2
16
19
-28
-48
-27
83
21
49
34
0
0
0
0
0
0
0
10
19
-7
-19
-35
5
-4
35
90
-17
0
0
0
0
0
0
0
4
-52
23
-48
-15
-43
1
-13
44
-7
0
0
0
0
0
0
0
33
0
-45
15
-77
-49
34
-3
12
-23
0
0
0
0
0
0
0
-1
-3
33
-61
-1
14
-4
165
-26
125
0
0
0
0
0
0
0
0
26
-2
29
-14
34
24
-60
-21
-23
0
0
0
0
0
0
0
0
20
22
0
18
-1
-18
-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
9
-6
1
-5
-2
43
8
0
0
0
0
0
0
0
-1
-3
-1
1
1
-6
0
-10
36
16
0
0
0
0
0
0
0
0
1
-1
-13
2
5
1
19
38
37
0
0
0
0
0
0
0
-4
0
-4
-4
24
6
4
19
39
-1
0
0
0
0
0
0
0
0
0
2
2
-3
-6
0
-15
4
-19
0
0
0
0
0
0
0
0
1
0
-9
11
0
-5
7
-3
-4
0
0
0
0
0
0
0
0
-1
0
0
-1
-3
0
-5
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-100
45
-41
47
-42
6
0
4
0
0
0
0
0
0
0
-27
-76
-23
-44
-38
54
-13
15
62
-38
0
0
0
0
0
0
0
52
-73
-6
25
5
33
-14
2
7
1
0
0
0
0
0
0
0
14
64
0
33
14
14
-1
-1
0
0
0
0
0
0
0
0
0
45
-12
-34
-2
13
-25
3
0
0
0
0
0
0
0
0
0
0
-53
96
20
-21
-19
81
-4
0
0
0
0
0
0
0
0
0
0
-7
-50
-85
15
-32
-20
0
0
0
0
0
0
0
0
0
0
0
21
43
-79
90
-19
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
-3
7
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
16
-73
20
-16
-13
1
0
0
0
0
0
0
0
0
0
0
7
-26
-38
-39
2
0
0
0
0
0
0
0
0
0
0
0
0
-14
-7
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-46
68
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-21
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
29
19
-36
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
22
52
18
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
-26
-29
21
-22
4
0
0
0
0
0
0
0
0
0
0
0
-2
60
-62
17
-122
-14
-1
5
2
0
0
0
0
0
0
0
0
-17
49
-137
26
27
54
4
-3
2
1
0
0
0
0
0
0
0
1
46
126
-96
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
10
78
-35
0
-1
0
0
0
0
0
0
0
0
0
0
-20
-43
101
-49
29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
84
17
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
19
7
-74
-81
-23
2
-6
0
0
0
0
0
0
0
0
0
33
26
0
7
3
-20
7
15
0
0
0
0
0
0
0
0
0
8
-9
-8
72
3
6
3
-3
0
0
0
0
0
0
0
0
0
-1
0
-71
-135
-49
-18
0
0
0
0
0
0
0
0
0
0
0
4
-39
9
159
-70
-3
0
0
0
0
0
0
0
0
0
0
0
1
2
-46
-49
62
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
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
21
115
104
-32
-164
-39
0
-1
0
0
0
0
0
0
0
-25
-107
46
0
26
-112
-9
22
-81
0
0
0
0
0
0
0
0
-1
26
-88
26
-19
-190
-51
80
-13
-6
0
0
0
0
0
0
0
33
-7
14
100
101
92
-101
-22
50
0
0
0
0
0
0
0
0
-4
14
-8
30
49
62
-22
-138
1
-8
0
0
0
0
0
0
0
11
-64
-58
59
40
31
31
47
0
0
0
0
0
0
0
0
0
23
23
69
-62
62
-14
124
-15
2
0
0
0
0
0
0
0
0
-24
10
-4
-50
0
-5
0
0
0
0
0
0
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
-13
19
-9
-13
-6
0
-2
0
-2
0
0
0
0
0
0
0
0
-9
59
16
22
-2
3
0
-6
-3
0
0
0
0
0
0
0
0
-8
-8
-14
27
5
-1
3
1
0
-7
0
0
0
0
0
0
0
0
-43
24
15
7
-5
1
10
1
-1
0
0
0
0
0
0
0
-1
9
54
46
-1
-4
2
-1
0
-14
0
0
0
0
0
0
0
0
-71
-13
5
-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
32
-44
-90
-35
6
-153
-51
0
100
14
0
0
0
0
0
0
4
167
132
67
102
84
-59
49
43
45
-195
46
3
0
0
0
0
-2
-31
24
-110
89
135
-2
-16
-68
-63
24
36
0
-1
0
0
0
2
65
-71
36
23
45
49
58
63
52
-21
10
4
-1
0
0
0
-45
50
-73
27
5
86
94
153
45
107
-50
11
0
0
0
0
0
0
73
-16
-69
5
145
-49
15
54
48
4
0
0
0
0
0
0
0
1
-83
29
47
77
47
95
35
21
0
0
0
0
0
0
0
0
0
-3
6
3
5
-65
32
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
73
-20
35
2
-14
-151
-14
0
-155
-165
-1
-9
7
0
0
0
0
149
32
-32
-20
-19
-116
-45
35
-14
-6
62
20
72
-2
0
0
0
63
63
51
21
2
-47
-22
7
3
-40
-97
-10
61
-1
0
0
0
25
76
30
-10
-32
-7
30
79
-33
32
-51
27
7
2
0
0
0
-23
80
-19
33
-22
-13
-11
-21
87
0
-4
-7
-4
6
0
0
0
53
41
-61
21
-5
-17
0
11
-43
-131
47
-8
1
0
0
0
0
-2
25
-10
1
32
-27
-1
-44
-43
-4
3
39
3
0
0
0
0
-14
142
-41
46
15
2
-4
-29
73
-53
0
0
0
0
0
0
0
0
1
27
-45
50
-29
-103
22
7
-1
0
0
-3
0
0
0
0
0
23
10
-5
-7
65
44
0
-145
4
-1
0
0
0
0
0
0
0
-42
-37
-110
68
-15
114
70
-7
1
-17
0
0
0
0
0
0
0
-5
-57
10
-21
-80
-7
1
-30
-33
2
0
0
0
0
0
0
0
9
-175
-72
32
82
47
110
-15
-7
-3
1
0
0
0
0
0
3
0
-44
47
105
82
51
16
-5
8
0
0
0
0
0
0
0
0
4
21
37
195
88
-22
2
-19
-3
1
0
0
0
0
0
0
0
1
122
78
-17
99
142
-76
-6
-1
0
0
0
0
0
0
0
32
0
-15
87
85
32
29
-5
-14
0
0
0
0
0
0
0
0
0
0
3
5
26
-74
127
4
4
0
0
0
0
0
0
0
0
0
-109
-147
-45
-64
-14
110
0
34
-22
-7
4
3
0
0
0
0
0
40
12
-32
77
-13
38
5
-48
-94
-4
-14
-8
0
0
0
0
0
28
5
102
25
4
62
-75
-26
3
46
37
1
0
0
0
0
0
-5
1
-8
42
-10
50
88
97
19
-5
-27
-3
0
0
0
0
0
-20
26
50
-11
-20
9
120
51
-33
-49
6
0
3
0
0
0
0
-22
-78
41
74
94
80
152
157
38
57
-15
-1
0
0
0
0
0
-1
22
54
11
97
95
174
116
32
64
18
-1
0
0
0
0
0
1
-9
39
17
-41
99
102
65
44
0
-3
0
0
0
0
0
0
0
0
0
-3
26
-3
0
0
0
0
0
0
0
0
0
75
46
15
-19
18
-12
-63
-2
0
29
83
8
0
0
0
0
0
117
12
-7
9
-39
69
-20
29
33
26
15
5
1
1
0
0
0
6
97
-44
-53
-7
-5
0
-54
-51
-105
78
-5
0
0
0
0
0
100
37
-73
74
51
40
65
44
25
38
68
34
0
0
0
0
0
-23
24
58
21
36
78
51
58
29
-9
43
-11
0
0
0
0
0
1
-27
44
25
72
50
63
50
64
14
11
-1
0
0
0
0
0
13
18
-17
-43
14
56
68
52
-49
-13
3
-4
0
0
0
0
0
-4
1
-11
-124
24
-10
100
-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
32
74
26
-16
33
77
45
81
0
4
10
0
0
0
0
0
0
63
9
55
125
-30
57
79
38
40
-16
16
4
0
0
0
0
0
29
1
40
17
-20
7
20
32
-42
9
5
7
0
0
0
0
0
-33
25
-41
72
30
26
-49
14
72
114
-3
-1
0
0
0
0
0
5
-91
204
49
-26
-63
-13
61
66
5
-25
0
0
0
0
0
0
22
108
52
55
42
66
30
52
46
46
-17
0
0
0
0
0
0
-18
-11
20
27
133
47
62
-4
19
56
0
0
0
0
0
0
0
0
-1
3
12
21
-26
-5
26
16
-4
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
-2
4
16
14
44
0
0
0
0
0
0
0
0
0
5
0
1
-1
-5
-37
-21
202
33
-35
2
0
0
0
0
0
0
0
4
0
-8
32
-90
88
13
-14
-20
0
0
0
0
0
0
0
0
0
-1
9
-8
-1
23
1
75
-25
-3
0
0
0
0
0
0
0
11
-11
14
64
84
-71
-58
-90
-39
0
0
0
0
0
0
0
0
6
-10
-14
15
8
19
-18
-119
-21
-6
0
0
0
0
0
0
0
6
-1
-1
0
-2
-46
-4
51
-21
-1
0
0
0
0
0
0
0
5
0
1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
7
0
0
0
0
0
0
0
0
0
0
51
90
0
0
115
-7
16
-16
0
6
0
0
0
0
0
0
0
-1
92
59
108
42
62
37
2
-4
0
0
0
0
0
0
0
0
15
51
37
50
13
-100
82
0
0
0
0
0
0
0
0
0
0
127
71
-39
22
-5
-21
-5
-18
0
0
0
0
0
0
0
0
0
-23
15
-6
-14
53
69
59
-3
4
0
0
0
0
0
0
0
0
-34
10
-66
-99
48
-57
1
-1
0
0
0
0
0
0
0
0
0
34
-2
-71
-66
60
49
-1
0
0
0
0
0
0
0
0
0
0
0
-20
-4
35
1
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
-9
-136
0
0
0
-6
-5
7
0
0
0
0
0
0
0
0
0
2
100
5
108
8
-64
-1
0
0
0
0
0
0
0
0
0
0
0
8
118
65
53
-60
-2
0
0
0
0
0
0
0
0
0
0
0
-55
84
26
38
18
0
0
0
0
0
0
0
0
0
0
0
0
21
94
-64
85
5
-6
0
0
0
0
0
0
0
0
0
0
0
1
-29
-51
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-59
-30
0
0
0
0
0
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
53
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
114
0
0
74
89
20
0
0
0
0
0
0
0
0
0
0
19
41
90
53
-50
-5
8
2
0
0
0
0
0
0
0
0
0
-3
50
136
-11
-17
-44
-1
-1
0
0
0
0
0
0
0
0
0
-1
16
19
30
73
10
0
0
0
0
0
0
0
0
0
0
0
1
-19
0
-42
97
1
0
0
0
0
0
0
0
0
0
0
0
0
-32
-2
48
-34
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
-23
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
34
71
0
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
37
74
101
85
58
22
0
1
0
0
0
0
0
0
0
0
-1
38
138
16
10
48
-9
4
2
0
0
0
0
0
0
0
0
0
93
0
142
43
23
8
0
0
0
0
0
0
0
0
0
0
0
23
-116
12
-39
-36
0
0
0
0
0
0
0
0
0
0
0
0
6
6
10
-77
118
-2
0
0
0
0
0
0
0
0
0
0
0
0
24
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
-94
32
79
98
137
0
0
0
64
-2
0
0
0
0
0
0
19
-26
-6
-74
198
196
0
0
0
-18
19
-1
0
0
0
0
0
-17
-23
-5
-5
140
53
230
57
-3
1
1
-1
0
0
0
0
0
0
13
13
97
2
118
106
98
64
-37
0
0
0
0
0
0
0
0
12
99
56
56
3
-3
55
117
34
0
0
0
0
0
0
0
-2
40
29
80
13
28
-2
98
25
-73
7
0
0
0
0
0
0
0
13
67
-13
-34
17
-41
50
39
-18
-2
-2
0
0
0
0
0
0
0
-34
-16
56
-26
-28
-3
20
-5
5
0
0
0
0
0
0
0
0
0
-3
-2
-5
5
43
-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
23
0
0
0
19
20
9
-2
0
0
0
0
0
0
-2
-3
4
36
51
34
43
-13
0
-3
-2
-2
0
0
0
-1
2
15
-3
-63
103
37
29
-12
2
-4
-1
0
0
0
0
0
1
-4
5
-110
39
-5
-6
32
49
-39
-5
0
0
0
0
0
0
-3
9
-29
-5
-8
-107
-74
5
-107
-7
0
0
0
0
0
0
0
0
26
-2
-13
51
-65
32
18
-21
16
0
0
0
0
0
0
0
0
-3
-2
-3
3
-16
25
-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
21
42
38
0
-47
69
0
0
0
0
0
0
0
0
0
0
0
11
5
33
-1
60
22
13
0
0
0
0
0
0
0
0
0
0
16
-17
-49
-43
4
40
-8
-1
0
0
0
0
0
0
0
0
0
7
33
12
5
-122
-31
-55
0
1
0
0
0
0
0
0
0
0
9
44
-10
20
-65
-8
50
-33
-17
-5
0
0
0
0
0
0
0
29
28
67
68
62
50
-106
-49
4
25
-5
0
0
0
0
0
0
36
22
1
9
13
143
-43
106
11
1
-5
11
0
0
0
0
0
1
-60
-12
62
-71
-20
66
16
-29
-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
-3
-50
-68
20
115
108
245
0
0
0
0
1
0
0
0
0
0
-12
-45
-28
-13
41
223
198
0
0
42
44
-33
3
0
0
0
0
-31
-23
-2
0
46
37
94
74
208
10
-9
35
0
2
0
0
0
-30
-16
-44
-37
-18
101
155
-43
176
-93
-78
5
0
0
0
0
0
-94
41
5
-9
-27
30
51
48
131
16
34
-4
21
-1
0
0
0
30
-27
-8
-57
-46
-53
43
43
-31
-124
105
-10
0
0
0
0
0
14
9
2
-4
12
-71
5
43
-32
33
-3
4
0
0
0
0
0
0
3
-19
58
-42
-48
-32
1
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
-36
-67
-12
-36
35
120
224
0
0
5
0
0
-15
0
0
0
0
-124
-22
-21
-1
24
100
91
84
14
-48
-99
-16
27
0
0
0
0
-23
-1
-8
-20
16
49
66
40
-56
-15
-1
-35
-5
0
0
0
0
46
-1
-8
-28
-3
9
61
30
47
-36
-37
-64
2
0
0
0
0
-74
12
-30
-12
-43
-2
-12
-9
35
5
-94
-17
2
0
0
0
0
25
-59
-38
-45
-15
-32
-28
-6
94
59
-77
-25
1
0
0
0
0
-52
2
10
0
-48
-34
-41
-52
-76
40
69
-44
0
0
0
0
0
-43
-17
-34
-24
26
-55
-83
-14
-88
-30
-31
10
0
0
0
0
0
0
0
63
22
19
-76
-12
-1
-4
0
1
0
0
0
0
0
0
5
148
188
247
325
305
72
0
0
0
0
0
0
0
0
0
0
126
68
63
93
158
132
117
43
-14
0
0
0
0
0
0
0
0
37
1
-11
-3
34
105
5
-81
7
0
0
0
0
0
0
0
0
-4
-88
-79
-30
91
46
63
-107
-42
0
1
0
0
0
0
0
0
6
-100
-83
-78
71
-43
11
37
-9
-14
0
2
0
0
0
0
0
-96
-31
-115
-28
-17
-32
-35
-8
-1
0
0
0
0
0
0
0
0
-17
7
-23
-118
-202
-11
-85
-24
25
-13
0
0
0
0
0
0
0
-25
-47
13
52
11
-130
-55
7
-36
0
0
0
0
0
0
0
0
-14
-79
-11
3
-71
-6
0
18
0
0
0
0
0
0
0
0
0
-9
-18
-13
43
74
146
52
112
0
-1
0
0
0
0
0
0
0
4
-13
36
37
64
188
0
108
28
7
0
-4
0
0
0
0
0
0
8
6
16
99
91
55
29
-66
62
0
0
0
0
0
0
0
13
6
-15
-1
44
46
49
15
7
10
-5
0
0
0
0
0
0
5
-20
5
-17
-33
-2
27
25
69
1
-3
0
0
0
0
0
0
-3
4
-72
17
-73
-61
-17
5
12
-1
0
0
0
0
0
0
0
-45
-13
-46
17
-62
27
53
-147
-23
0
0
0
0
0
0
0
0
-1
-32
2
87
-39
70
-99
-7
0
0
0
0
0
0
0
0
0
0
0
-21
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-53
9
-60
38
89
298
129
0
0
47
5
0
0
0
0
0
0
10
-18
12
-4
44
164
259
0
227
0
90
-31
3
-6
0
0
0
-77
-3
-24
-9
58
132
94
131
100
63
123
-9
0
0
0
0
0
73
1
-20
-27
37
33
-1
51
91
47
19
-31
-1
0
0
0
0
-10
58
22
-44
-1
-15
69
-26
-12
14
20
0
0
0
0
0
0
-45
7
14
-14
-34
-26
-2
41
-139
71
7
1
0
0
0
0
0
2
-46
-55
-33
22
-43
-15
-71
-64
-24
1
1
0
0
0
0
0
-1
16
-19
4
14
-64
3
-10
-2
-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
62
-9
-50
6
115
154
173
273
0
0
0
0
0
0
0
0
0
21
27
-175
-27
29
146
68
0
72
0
30
-2
0
0
0
0
0
44
4
6
10
13
114
9
35
179
92
35
0
0
0
0
0
0
-13
45
2
-62
-8
34
83
14
184
77
-15
5
10
0
0
0
0
-46
12
6
-70
-13
49
72
-17
43
83
24
0
0
0
0
0
0
8
-49
18
-14
-65
22
46
-45
53
-4
0
0
0
0
0
0
0
1
-11
-72
-12
-24
-17
-83
-23
9
13
1
0
0
0
0
0
0
31
-19
28
66
-69
54
-18
-9
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
114
-5
87
133
36
0
0
0
0
0
0
0
0
0
0
0
13
32
77
59
53
91
44
7
0
48
10
0
0
0
0
0
0
-1
60
3
55
6
-17
11
36
46
-24
0
0
0
0
0
0
0
7
-43
-32
5
-19
-46
17
18
10
-102
-10
0
0
0
0
0
0
-3
-15
-19
-47
35
-56
18
1
-26
-17
2
0
0
0
0
0
0
-51
-62
-13
19
-56
9
-6
-10
78
-30
3
0
0
0
0
0
0
-4
-122
-56
-76
-36
-62
-41
13
-25
-14
2
0
0
0
0
0
0
0
20
11
-25
-1
-11
3
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
94
-10
-27
-74
-57
-46
1
0
0
0
0
0
0
0
0
0
6
-4
12
-23
93
30
23
90
-41
1
0
0
0
0
0
0
0
-13
94
69
-38
-63
68
14
-34
-42
0
0
0
0
0
0
0
0
73
-13
45
61
-3
11
3
0
1
0
0
0
0
0
0
0
0
68
15
50
-3
-13
-27
0
0
0
0
0
0
0
0
0
0
0
66
25
24
-1
-71
-21
0
0
0
0
0
0
0
0
0
0
0
32
-5
55
15
6
14
0
0
0
0
0
0
0
0
0
0
0
26
-29
26
108
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
24
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
-21
25
-23
0
0
0
0
0
0
0
0
0
0
0
0
9
124
-13
30
-32
-16
0
0
0
0
0
0
0
0
0
0
0
6
40
-33
17
-6
1
-1
0
0
0
0
0
0
0
0
0
0
-32
149
114
-45
-14
0
0
0
0
0
0
0
0
0
0
0
0
-29
3
-39
30
-4
4
0
0
0
0
0
0
0
0
0
0
0
25
71
1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
-33
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
18
-6
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
33
-43
-5
-47
-9
1
0
0
0
0
0
0
0
0
0
-47
21
87
17
31
-22
-27
-15
13
0
0
0
0
0
0
0
0
38
-11
-14
15
43
-33
-2
0
0
0
0
0
0
0
0
0
0
-45
68
88
131
24
1
0
0
0
0
0
0
0
0
0
0
0
-27
137
55
2
17
0
0
0
0
0
0
0
0
0
0
0
0
-12
-7
-1
74
-18
0
0
0
0
0
0
0
0
0
0
0
0
3
-39
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-80
24
-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
-103
-23
12
58
-14
-18
17
0
0
0
0
0
0
0
0
0
-8
112
-5
36
26
20
13
7
1
0
0
0
0
0
0
0
0
-6
24
100
-40
50
-25
0
-2
0
0
0
0
0
0
0
0
0
-3
10
120
59
44
-11
0
0
0
0
0
0
0
0
0
0
0
-2
96
138
55
9
14
2
0
0
0
0
0
0
0
0
0
0
-4
-10
-6
17
-24
1
0
0
0
0
0
0
0
0
0
0
0
-3
-3
23
-3
-7
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
54
97
29
-18
32
-29
0
6
1
0
0
0
0
0
0
-83
34
12
-31
34
-15
-16
-129
6
-5
0
0
0
0
0
0
0
-19
127
55
17
-8
84
-48
122
110
-2
0
0
0
0
0
0
0
6
90
24
115
-44
22
-40
-11
-18
10
-1
0
0
0
0
0
0
27
77
5
-10
-9
-13
-46
0
-1
2
0
0
0
0
0
0
0
5
91
-18
81
-6
-11
4
-4
1
-3
0
0
0
0
0
0
0
-10
78
-111
1
7
1
3
0
-3
5
0
0
0
0
0
0
0
-14
44
-2
22
-2
-1
0
0
-29
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-22
5
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-27
6
-10
-1
0
-1
6
0
0
0
0
0
0
0
0
1
94
46
21
-1
0
0
0
1
0
0
0
0
0
0
0
0
43
87
-34
47
0
1
-15
0
0
0
0
0
0
0
0
0
0
-25
-35
17
46
-24
-1
0
0
3
-3
0
0
0
0
0
0
0
-3
23
22
3
-3
0
2
0
0
0
0
0
0
0
0
0
0
17
-11
57
-7
4
-4
0
0
0
0
0
0
0
0
0
0
0
-35
-54
34
-31
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
18
197
7
38
52
32
-6
-19
0
2
14
57
5
0
0
0
0
64
214
77
66
114
90
-98
13
28
56
32
33
18
0
0
0
0
53
119
119
39
51
134
-101
-56
-49
30
71
-22
35
18
0
0
0
-13
71
83
27
77
-8
92
93
39
105
1
71
-17
2
0
0
0
1
152
127
12
52
90
62
-34
-20
-54
-4
10
-3
0
0
0
0
3
-23
155
42
102
-6
84
5
5
7
-23
0
0
0
0
0
0
14
5
5
32
-27
-25
7
23
3
-21
-7
0
0
0
0
0
0
19
6
-24
-1
1
-2
0
5
-27
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
32
16
11
-13
49
15
18
0
-104
-56
92
-10
0
0
0
0
0
-74
-2
6
-2
-16
-61
-38
-63
-66
10
-4
-14
-29
52
0
0
0
-102
69
63
21
6
-10
-83
-132
-169
-47
54
-9
3
0
0
0
0
24
-44
34
-41
20
45
-9
-140
-72
-139
44
-49
-3
0
0
0
0
-38
-15
-15
16
-12
11
-8
-90
-44
70
16
-25
18
0
0
0
0
-23
-99
47
-3
-5
59
-45
-9
40
-71
93
-1
0
5
0
0
0
-55
40
24
-5
24
35
30
-2
97
5
13
-2
0
0
0
0
0
-48
44
135
0
-50
9
-10
-22
25
-78
4
-2
0
0
0
0
0
0
1
0
-29
9
1
24
-59
103
9
0
0
0
0
0
0
0
-10
-46
24
119
5
-17
31
0
75
75
11
4
2
16
25
0
0
29
63
55
35
44
-65
-21
-26
3
-28
47
3
33
0
3
3
0
34
-53
160
61
42
90
-36
-25
4
-52
-37
-80
14
4
-3
0
0
9
61
31
8
57
-37
7
29
46
-3
-17
-1
-7
0
0
0
0
-3
16
18
35
0
99
58
82
52
-43
-33
5
0
-2
0
0
0
-2
-27
26
39
53
-37
32
-57
5
-44
5
-43
-7
0
0
0
0
0
-23
23
45
18
-5
47
-59
-10
17
49
-46
2
-4
-4
0
0
0
0
0
14
3
-31
23
-32
-3
-5
35
34
16
-3
-2
3
0
0
0
6
53
10
20
27
3
-2
3
-70
-30
33
-4
1
0
0
0
28
48
85
50
0
11
0
48
37
-14
44
0
0
0
0
0
0
6
115
73
3
25
-53
11
47
7
6
2
-9
2
0
0
0
0
-23
44
74
15
-21
-74
-81
28
4
-51
-3
0
0
0
0
0
0
0
-28
76
55
-32
-79
30
42
-14
23
-33
0
1
0
0
0
0
3
52
12
27
-32
-7
22
45
-103
23
17
1
0
0
0
0
0
1
52
99
3
-28
73
-6
-6
13
21
22
3
-2
0
0
0
0
0
8
77
-15
27
-21
-49
-18
-17
-30
-44
3
-1
0
0
0
0
-1
0
51
-1
29
-29
-63
1
-91
2
-4
2
0
0
0
0
0
0
0
0
0
30
1
0
0
0
0
0
0
0
0
0
22
53
81
26
35
-9
-7
84
0
80
-4
48
0
0
0
0
0
-15
78
116
35
11
1
-28
-28
-3
-32
29
20
23
2
0
0
0
98
51
24
138
-22
44
55
-110
-10
104
-19
61
5
-2
2
0
0
131
33
74
80
92
73
-22
47
86
-35
0
-29
3
0
0
0
0
45
-17
14
16
98
95
53
72
48
131
-2
14
-1
0
0
0
0
26
-10
115
-5
11
12
31
70
52
76
15
-3
0
0
0
0
0
-4
-113
75
68
114
-26
13
-52
-25
6
-1
0
0
0
0
0
0
0
46
-71
-32
0
-55
-2
-18
45
14
2
0
0
0
0
0
0
0
7
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
93
-2
48
64
33
140
19
24
0
-101
8
1
0
0
0
0
0
40
47
60
59
-6
76
96
-121
48
-24
84
1
1
0
0
0
0
-33
63
115
68
35
-17
68
-101
-52
62
7
-2
0
0
0
0
0
54
89
109
43
-67
87
-2
64
49
27
-21
-4
0
0
0
0
0
-6
54
39
-11
-54
-27
17
-24
-6
115
20
0
1
0
0
0
0
-99
-15
137
67
86
-3
25
69
-40
-35
-3
-4
0
0
0
0
0
8
10
43
-46
-5
6
35
-68
-110
-27
0
3
0
0
0
0
0
0
6
2
5
2
-53
0
16
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
5
0
7
-2
-9
0
10
4
0
11
0
0
0
0
0
0
0
11
-7
27
0
11
-1
10
-1
-101
-61
9
0
0
0
0
0
0
-1
10
8
-36
29
-49
16
3
-39
-17
-9
0
0
0
0
0
0
6
18
-13
14
52
-3
-34
0
-2
0
0
0
0
0
0
0
0
-1
13
13
25
-6
-34
7
2
-18
0
0
0
0
0
0
0
0
0
3
4
-1
23
-6
-3
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
-13
33
0
0
0
0
0
0
0
0
0
0
0
6
0
0
153
14
39
33
-1
2
0
0
0
0
0
0
0
1
19
221
276
102
64
-118
1
2
-1
0
0
0
0
0
0
0
0
-19
134
298
168
-29
66
7
0
0
0
0
0
0
0
0
0
-1
-2
140
97
54
-34
-39
-2
-1
0
0
0
0
0
0
0
0
-9
-29
-46
-83
51
1
-13
3
0
0
0
0
0
0
0
0
0
2
-15
-17
-10
-29
-74
45
0
0
0
0
0
0
0
0
0
0
0
0
-13
31
-37
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
64
-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
4
-77
-6
-1
0
0
0
0
0
0
0
0
0
0
0
113
209
106
5
8
0
0
0
0
0
0
0
0
0
0
0
0
30
174
-113
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
59
-3
-10
1
0
0
0
0
0
0
0
0
0
0
0
4
5
-32
46
0
1
0
0
0
0
0
0
0
0
0
0
0
4
-2
-100
-43
-10
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
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
33
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
43
40
-2
0
0
0
0
0
0
0
0
0
0
0
13
157
211
148
-23
47
0
2
0
0
0
0
0
0
0
0
0
5
18
228
20
-42
4
7
0
0
0
0
0
0
0
0
0
0
2
-15
57
7
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
81
60
6
0
0
0
0
0
0
0
0
0
0
0
0
2
6
3
-64
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
16
-2
2
0
0
0
0
0
0
0
0
0
-9
-1
0
0
66
50
0
4
0
0
0
0
0
0
0
0
0
-2
78
141
172
116
-36
1
1
0
0
0
0
0
0
0
0
0
3
1
82
164
40
-9
5
0
0
0
0
0
0
0
0
0
0
7
-24
-49
70
-35
34
-2
0
0
0
0
0
0
0
0
0
0
0
44
-22
-53
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
-60
-111
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-14
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
22
7
4
-54
-16
27
0
0
0
2
-8
0
0
0
0
0
-4
-16
32
-17
-82
58
-43
0
0
0
13
-10
-4
-6
0
0
0
2
-14
106
45
99
36
53
109
200
44
-103
9
-5
0
0
0
0
0
22
6
-34
15
106
-96
134
170
119
-87
25
0
0
0
0
0
0
-49
83
50
-25
-122
-62
1
176
-8
54
11
0
2
0
0
0
0
-44
35
55
4
35
51
-31
40
-30
41
-17
0
0
0
0
0
0
20
-15
2
-32
-5
-8
-16
-28
-62
-122
-16
0
0
0
0
0
0
0
42
-5
-8
54
0
-29
-48
31
-57
0
3
0
0
0
0
0
0
0
0
0
0
6
-1
-35
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-1
-1
0
0
0
0
0
2
0
0
3
13
2
0
0
0
-33
-15
-1
7
0
0
0
0
4
0
3
-7
-4
0
-14
-5
31
-16
18
-1
0
0
0
0
0
-3
-9
19
3
11
8
34
104
158
-64
-1
-3
0
0
0
0
0
-2
109
-16
19
-25
7
85
-55
125
-56
-5
-1
0
0
0
0
0
0
-11
2
-10
-9
15
56
32
152
-44
3
0
0
0
0
0
0
0
15
2
3
10
-9
139
32
85
-12
5
0
0
0
0
0
0
-1
-1
0
0
0
-4
-5
97
103
36
2
0
0
0
0
0
0
0
0
0
0
0
0
2
111
14
-1
0
0
0
0
0
0
-18
17
-10
-53
-6
-55
-2
0
0
0
0
0
0
0
0
0
0
13
-22
-5
-27
93
29
8
0
0
0
0
0
0
0
0
0
0
25
-2
26
-24
-76
-4
-11
3
0
1
0
0
0
0
0
0
0
70
-24
-1
-24
26
33
35
8
0
0
0
0
0
0
0
0
0
62
-7
1
24
28
7
0
53
-13
2
0
0
0
0
0
0
0
32
19
-15
19
52
131
-5
4
51
14
0
0
0
0
0
0
0
-80
13
4
11
-14
80
67
-11
-2
44
-4
0
0
0
0
0
0
-21
-56
-30
27
-33
36
53
-8
33
22
7
0
0
0
0
0
0
0
14
-6
5
-23
4
4
0
0
0
0
0
0
0
0
0
0
6
-2
-12
-2
-13
-7
44
0
0
0
53
1
-2
0
0
0
0
-23
-10
25
35
14
109
129
0
0
141
-33
-9
0
0
-2
0
0
-53
5
4
-4
59
-22
106
54
175
22
-10
60
0
0
-8
0
0
4
18
11
17
3
-32
93
4
194
97
21
-4
0
0
0
0
0
-36
24
-8
-15
-14
-40
54
-104
59
-14
-29
-15
-2
0
0
0
0
-51
2
-24
-32
33
14
38
79
-81
-16
0
0
0
0
0
0
0
-33
1
25
-43
9
105
-27
-9
-110
-24
-36
1
0
0
0
0
0
-4
-42
-27
8
-15
-16
0
6
-45
-31
-15
0
0
0
0
0
0
0
14
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
24
33
21
33
58
108
0
0
58
-25
-23
0
0
0
0
0
-3
-93
10
-20
27
18
21
60
14
-15
33
36
0
0
0
0
0
-93
-13
16
4
5
-1
-25
-41
-7
85
38
8
0
0
0
0
0
8
7
8
12
-12
-22
-41
14
80
55
-1
-10
0
0
0
0
0
47
-30
18
-22
-9
-15
2
-97
5
-29
-4
-6
-1
0
0
0
0
-53
8
2
-3
-1
3
-34
22
-17
-40
23
3
0
0
0
0
0
-43
-12
-10
-8
9
-20
-45
-18
-57
0
13
0
0
0
0
0
0
-26
-49
-5
-2
25
-49
18
-74
-129
-69
0
0
0
0
0
0
0
-3
-11
71
53
2
-21
32
18
-8
5
6
0
0
0
0
0
0
15
47
121
89
98
127
-49
0
0
0
0
0
0
0
0
0
0
-23
16
30
27
99
-14
-63
-7
0
0
0
0
0
0
0
0
0
-7
-4
-12
29
21
12
5
-14
44
0
0
0
0
0
0
0
0
-35
-30
-7
6
55
46
27
-27
1
0
1
0
0
0
0
0
0
-35
-16
25
18
15
18
25
-25
-2
0
0
0
0
0
0
0
0
-17
1
-10
-65
-33
65
71
-23
-17
-3
-1
0
0
0
0
0
0
2
-4
-19
-10
-23
103
-14
26
-9
11
0
0
0
0
0
0
0
18
2
12
-10
67
-80
90
2
-7
0
0
0
0
0
0
0
0
5
15
-17
22
24
23
-16
48
5
0
0
0
0
0
0
0
0
-56
28
35
39
68
92
133
3
0
0
0
0
0
0
0
0
0
-23
9
-47
23
53
65
0
-44
67
-7
-1
0
0
0
0
0
0
-33
35
9
28
-3
63
43
-81
0
0
0
0
0
0
0
0
0
-3
51
0
-13
5
-26
-24
23
-22
-5
-2
0
0
0
0
0
0
6
19
6
-24
6
-44
25
-28
71
0
0
0
0
0
0
0
0
7
6
24
-11
-18
-11
-48
-53
-57
2
0
0
0
0
0
0
0
-9
-15
-16
-48
39
24
-148
-69
-77
0
0
0
0
0
0
0
0
36
71
8
55
-6
-5
-27
-6
8
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
-62
-26
20
17
9
37
77
0
0
119
19
48
2
0
0
0
0
-65
-1
9
1
69
52
185
0
147
0
55
114
3
0
0
0
0
27
0
-29
6
60
-50
1
68
173
16
-20
5
1
0
0
0
0
69
-3
-31
-2
26
6
142
-58
185
-83
-105
39
2
0
0
0
0
48
6
10
-24
52
-16
-44
24
37
57
-56
0
0
1
0
0
0
-90
-14
8
-22
43
-15
3
-66
-80
-108
-7
-18
0
0
0
0
0
5
13
-28
74
94
-38
-49
44
-61
-101
-3
0
0
0
0
0
0
-4
0
-118
-60
15
-14
-29
0
15
-14
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
8
0
0
0
0
0
0
0
3
-5
17
8
65
-39
-93
-2
0
84
13
1
-7
0
0
0
0
-28
-7
31
-11
13
59
62
0
77
0
11
5
0
0
0
0
0
-10
6
15
-7
-21
-35
87
62
150
60
17
20
-2
0
0
0
0
36
4
-40
-47
13
-33
94
48
61
176
28
4
-3
0
0
0
0
-98
-2
23
29
17
9
14
-45
95
215
0
-1
1
0
0
0
0
33
-87
-2
-72
60
-51
21
-1
5
-117
-11
0
0
0
0
0
0
65
-9
-47
-46
-15
47
11
-10
-33
-30
-2
0
0
0
0
0
0
0
-42
15
-43
-32
8
10
-10
-2
-13
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
-91
-85
10
-18
6
0
0
0
0
0
0
0
0
0
0
0
-5
14
-32
-11
-5
0
1
0
0
0
-5
0
0
0
0
0
0
1
31
-5
3
-29
-1
-4
0
-1
33
-2
0
0
0
0
0
0
0
-1
-11
21
21
-3
-1
0
22
55
0
0
0
0
0
0
0
-1
38
-71
6
9
-2
0
-24
70
57
0
0
0
0
0
0
0
-9
-62
-28
13
-14
0
-1
-3
64
82
2
0
0
0
0
0
0
-1
-23
-1
-1
8
-1
0
-6
-30
100
1
0
0
0
0
0
0
-1
-13
-25
0
-2
0
0
-2
62
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
2
0
0
0
0
0
0
0
-27
28
-31
18
-4
-6
102
125
14
12
0
0
0
0
0
0
-11
21
-45
-45
88
25
-6
1
39
-43
3
0
0
0
0
0
0
34
18
62
57
-5
-32
21
-4
1
16
1
0
0
0
0
0
0
-84
-25
-35
27
-45
0
0
-3
0
0
0
0
0
0
0
0
0
-44
98
21
43
42
-69
0
6
0
0
0
0
0
0
0
0
0
-54
1
75
42
64
-6
2
0
0
0
0
0
0
0
0
0
0
-5
61
40
-86
-20
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
-13
0
0
0
0
0
0
0
-2
0
-1
0
0
1
-4
-19
21
-14
0
0
0
0
0
0
0
0
-1
-59
-46
3
0
0
0
-6
0
0
0
0
0
0
0
0
-3
-2
0
-26
-8
0
0
0
-1
0
0
0
0
0
0
0
0
1
24
-41
-26
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
47
44
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
9
33
61
2
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-77
-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
-7
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
2
-3
0
10
1
-2
-27
0
4
0
0
0
0
0
0
8
-23
14
16
-4
-2
1
-10
17
-20
0
0
0
0
0
0
0
-3
14
-81
4
-20
4
-6
0
3
0
0
0
0
0
0
0
0
0
7
-1
-27
-43
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
63
81
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
17
-4
25
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
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
23
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-27
-7
43
-3
0
0
0
0
0
0
0
-4
77
-8
20
-8
-2
-1
3
26
0
0
0
0
0
0
0
0
6
7
39
-27
-20
0
0
0
0
0
0
0
0
0
0
0
0
-58
34
5
47
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-1
-26
-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
60
-2
0
0
0
0
0
0
0
-7
-15
0
-36
-44
-5
-4
-61
160
30
0
0
0
0
0
0
-1
-5
-14
-18
64
46
-140
-88
-58
-58
1
-1
0
0
0
0
0
-61
19
-3
26
30
102
-55
62
42
-32
0
0
0
0
0
0
0
19
45
43
-1
19
66
12
-52
50
6
0
0
0
0
0
0
0
10
-11
54
-51
-35
-15
53
0
1
-1
0
0
0
0
0
0
0
-6
33
-20
87
31
-3
-43
8
-10
-8
0
0
0
0
0
0
0
0
-14
-10
39
-4
9
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
14
7
-2
0
-1
0
2
1
0
0
0
0
0
0
0
0
0
47
-55
29
-3
2
-4
0
0
0
0
0
0
0
0
0
0
-5
25
-1
24
-2
-6
0
0
0
0
0
0
0
0
0
0
0
1
36
1
14
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
-33
-56
0
108
-25
29
-6
8
0
0
0
0
0
7
-8
27
30
-79
-76
-89
58
-14
25
-27
21
-4
0
0
2
3
-50
-3
66
54
91
-57
-105
-81
-100
53
-5
-7
10
0
0
-2
0
35
-87
-42
67
93
-29
50
80
-42
-16
3
0
0
0
0
-10
23
-79
1
-4
71
104
39
16
56
14
-53
0
0
-3
0
0
-18
8
21
87
39
59
18
62
-29
-28
19
0
0
0
0
0
0
0
-14
1
-50
107
24
-58
51
-1
41
0
0
0
0
0
0
0
0
0
2
-2
-29
-53
-13
48
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
-29
-28
-21
-44
-62
36
0
-60
-142
-101
-73
-34
29
0
0
0
1
71
86
12
29
-107
-85
-49
-96
-161
-7
-41
82
-52
5
0
0
117
145
76
77
-43
-68
16
-11
-50
-59
-61
-43
-54
6
1
0
0
16
161
40
63
7
-18
-22
9
12
12
-137
-102
-51
10
0
0
0
49
55
20
24
-16
-14
-5
24
-57
30
-18
-19
-68
-1
0
0
0
37
23
57
6
8
-2
2
-4
21
2
5
-8
58
-5
0
0
0
23
32
39
8
10
-7
-8
-41
11
-4
74
99
-41
0
0
0
0
64
18
-19
-58
-34
4
5
15
47
9
-5
-37
-2
-1
0
0
0
0
-6
-57
54
42
53
11
-20
59
-28
-50
-57
25
0
0
0
0
0
0
0
-1
2
10
109
0
-47
-51
20
4
0
0
0
0
0
0
0
10
-7
26
33
11
2
-34
27
29
7
-7
0
0
0
0
0
0
-14
9
71
75
16
90
32
-22
-10
0
-3
-2
0
0
0
0
7
7
41
-43
-17
-21
-23
13
-19
5
3
0
0
0
0
0
0
1
45
65
-24
135
-25
39
11
3
-9
0
-1
0
0
0
0
0
0
-15
-3
-50
95
-71
-39
53
0
0
0
0
0
0
0
0
0
0
14
-9
25
-33
-23
31
-2
-3
0
0
0
0
0
0
0
0
-16
0
-26
-53
-26
-17
-21
10
-10
0
0
0
0
0
0
0
1
0
0
2
-25
-2
-71
2
0
-2
0
0
0
0
0
0
0
0
0
-2
48
-5
-71
-78
0
-60
50
25
50
3
0
1
0
0
0
-5
24
138
17
24
5
-58
73
-26
135
76
-54
6
10
0
0
0
-5
96
-79
77
-3
62
1
-22
-10
60
71
24
6
1
0
0
0
1
23
63
-37
19
72
52
61
19
34
-1
-12
-1
4
0
0
0
-8
95
39
-48
103
-13
91
21
21
30
-4
0
0
0
0
0
0
0
10
80
70
48
53
75
78
-56
0
53
0
0
0
0
0
0
0
5
60
-6
-2
86
-3
57
-32
-89
-31
-1
0
0
0
0
0
0
-2
-25
-26
105
49
50
10
-98
16
0
0
0
0
0
0
0
0
-5
0
-1
39
-19
25
-1
0
0
0
0
0
0
0
-4
0
0
0
0
-9
-34
109
0
-51
10
-29
30
19
0
0
0
8
-1
27
-2
51
4
-190
60
34
-55
44
44
-19
-12
9
0
0
-2
29
43
-80
-10
51
-51
-57
-49
-39
9
63
36
3
0
0
0
0
78
78
70
47
-84
32
62
15
25
-12
36
9
0
0
0
0
-14
-5
-64
-32
-26
61
84
94
35
33
-35
2
0
-5
0
0
0
0
6
18
29
89
32
112
96
15
15
0
0
-2
0
-2
0
0
0
-1
13
5
49
81
29
14
-11
1
5
0
3
0
0
0
0
0
4
-5
-7
132
-9
45
60
50
-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
20
-11
0
-6
0
34
-96
-3
0
5
-1
0
0
4
2
0
-69
48
-46
-50
-29
-33
24
-42
53
5
-1
2
0
0
-3
-1
-11
-45
69
66
-62
-60
-40
-1
51
-14
-5
0
0
0
0
0
-60
-25
45
68
12
-60
46
96
100
-4
-8
0
0
0
0
0
2
30
117
-100
3
-5
-9
86
88
82
9
0
0
0
0
0
0
0
11
33
101
120
-64
5
67
13
92
15
0
0
0
0
0
0
0
0
-6
16
5
83
-42
-80
-3
-43
1
0
0
0
0
0
0
0
-7
2
3
33
65
-51
3
-71
-2
0
0
0
0
0
0
0
0
0
0
0
0
-10
-22
-7
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
74
0
0
0
0
0
0
0
0
0
0
-1
0
17
0
81
4
52
-1
0
0
0
0
0
0
0
0
2
0
0
-3
-6
10
-92
4
-5
0
0
0
0
0
0
0
0
0
2
2
3
18
148
-49
-2
3
0
0
0
0
0
0
0
45
-2
0
-8
13
-5
-6
-72
0
0
0
0
0
0
0
0
-4
-4
8
-3
-2
4
-1
-19
-4
-3
0
0
0
0
0
0
0
1
5
10
-1
-1
0
-2
1
-85
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
27
12
-16
5
2
0
0
0
0
0
0
0
0
46
0
0
129
121
1
-44
14
-26
5
0
0
0
0
0
0
9
140
76
81
26
-25
57
102
5
-76
0
0
0
0
0
0
0
-11
-77
26
69
-7
14
-20
66
-78
-21
-1
0
0
0
0
0
0
24
53
77
50
21
-40
-18
-51
5
-4
0
0
0
0
0
0
0
-33
102
-32
-14
55
-73
-9
-15
-52
0
0
0
0
0
0
0
0
14
-59
28
-72
44
-21
15
-2
9
0
0
0
0
0
0
0
0
4
-85
-22
-27
47
-95
0
0
0
0
0
0
0
0
0
0
0
0
-16
4
2
-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
43
91
67
1
-11
-13
-1
-2
-1
0
0
0
0
0
0
0
0
-17
23
28
2
15
-5
0
0
0
0
0
0
0
0
0
0
0
33
95
-54
68
-4
4
0
0
0
0
0
0
0
0
0
0
0
-15
-71
-37
-25
-81
2
0
0
0
0
0
0
0
0
0
0
0
-23
19
7
61
-76
-1
0
0
0
0
0
0
0
0
0
0
0
4
-113
-5
43
-5
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
0
0
2
0
0
0
25
132
16
6
0
0
0
0
0
0
0
0
0
-26
0
0
10
-7
-37
9
-6
-6
0
0
0
0
0
0
0
0
6
-41
32
61
71
13
-3
-50
2
0
0
0
0
0
0
0
10
51
11
118
25
-10
-5
14
0
0
0
0
0
0
0
0
0
-14
0
-37
5
-6
-65
5
0
0
0
0
0
0
0
0
0
0
0
-104
101
-1
-52
-9
-2
-1
0
0
0
0
0
0
0
0
0
0
7
-77
-36
-15
0
-3
-1
0
0
0
0
0
0
0
0
0
0
2
-33
-5
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
26
9
-6
-25
-1
0
0
0
0
0
0
0
0
3
158
53
38
74
39
1
-2
0
0
0
0
0
0
0
0
0
2
-57
-58
-79
-88
46
-7
-20
-1
5
0
0
0
0
0
0
0
-1
-8
109
87
46
7
2
0
0
0
0
0
0
0
0
0
0
-5
-21
-8
-78
-44
5
0
0
0
0
0
0
0
0
0
0
0
-4
7
3
-24
45
-10
1
-1
0
0
0
0
0
0
0
0
0
0
-23
56
-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
53
5
0
2
0
0
0
0
0
0
-2
-7
-4
5
0
0
0
100
-12
-16
-4
0
0
0
0
0
-1
-7
90
13
69
183
67
167
-14
-14
3
18
0
0
0
0
0
4
-44
-101
38
55
53
79
36
71
-6
44
-6
0
0
0
0
0
-24
34
47
48
26
-16
37
-15
51
-71
-4
-16
5
0
0
0
18
-45
-21
114
49
4
85
-41
31
5
16
1
-1
0
0
0
0
0
2
26
-82
63
-27
-13
-17
-92
-100
0
-1
4
0
0
0
0
0
0
10
17
20
13
57
44
106
-41
3
-2
0
0
0
0
0
0
0
0
0
11
24
20
-82
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
56
83
6
18
2
0
-1
0
0
0
0
1
0
0
0
-3
6
45
66
58
-10
-8
0
2
0
0
0
0
2
29
51
-4
2
-19
-14
-82
-29
-20
0
-5
0
0
0
0
0
0
13
15
-92
13
29
-43
42
71
-43
0
0
0
0
0
0
0
0
-18
-4
0
0
-21
-92
-5
-95
-2
0
0
0
0
0
0
0
4
0
0
-2
0
7
-84
30
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
38
40
-38
2
0
0
0
0
0
0
0
0
0
0
0
0
21
-6
76
34
2
20
0
0
0
0
0
0
0
0
0
0
0
-34
-53
-50
50
-28
-33
15
0
0
0
0
0
0
0
0
0
0
-45
23
62
-136
-23
25
-6
5
-6
-1
1
0
0
0
0
0
0
5
-26
33
29
-20
-46
10
3
26
-1
0
0
-5
0
0
0
0
5
49
13
105
-9
10
43
32
7
49
-2
-5
11
-5
0
0
0
-2
-55
64
23
15
29
28
-20
-62
25
-63
80
45
10
1
0
0
0
25
21
109
53
-20
19
56
-41
-64
18
-2
-71
-7
-1
0
0
0
0
0
0
9
0
75
-62
8
29
-13
0
0
0
0
0
0
4
13
-72
4
-17
15
1
0
0
0
151
-11
-14
4
0
0
0
-104
-130
-75
-68
-21
49
22
0
0
224
165
-96
109
-26
-2
1
0
-14
2
-72
-10
14
-12
124
161
28
152
30
36
9
-1
-30
0
0
-94
11
-22
-9
-12
26
33
-7
61
76
54
-12
0
-1
3
0
0
-73
-29
-66
-5
-10
-11
110
41
24
-65
-50
5
20
0
0
0
0
-42
68
4
14
41
113
7
-122
15
8
-85
86
-1
0
0
0
0
9
15
101
-13
-19
-98
2
-14
-113
-10
-65
-8
0
0
0
0
0
0
-41
26
46
-8
17
-58
15
-3
-20
0
-5
0
0
0
0
0
0
0
0
0
0
2
-1
0
-5
9
0
7
0
0
0
0
0
0
-13
79
-125
5
169
204
0
0
-46
-23
18
0
-5
0
0
0
-34
1
-93
-42
-51
35
228
74
-10
-143
6
-1
-46
0
0
0
0
34
2
-11
15
-62
40
25
86
2
96
-32
-109
62
-1
0
0
0
59
-70
23
37
6
-32
45
5
54
26
-90
-23
8
5
6
0
0
15
47
-35
-13
17
-27
-4
72
-41
75
-36
16
5
-1
0
0
0
51
40
23
4
-19
-4
-44
-29
-107
26
46
-27
35
0
0
0
0
-23
127
-14
1
7
-101
-23
-11
13
-2
-32
-91
-53
5
0
0
0
-13
59
-10
22
-51
-12
-61
43
-56
-36
32
10
-2
0
0
0
0
0
8
-17
67
-43
-66
-148
-66
-62
-41
23
1
0
0
0
0
0
-63
77
25
32
34
0
-5
0
0
-1
2
0
0
0
0
0
0
157
113
12
235
112
118
13
17
-28
2
1
0
0
0
0
0
0
-9
31
-70
45
-57
-10
-67
-29
-3
-2
0
-1
0
0
0
0
0
77
-93
-34
-28
-1
-40
80
58
3
-10
0
-2
0
0
0
0
0
-45
-56
-73
-17
31
76
-38
-31
-10
2
0
0
0
0
0
0
0
-40
-42
-96
-26
15
-47
-50
-56
-4
0
0
0
0
0
-1
0
0
41
-53
-83
-97
5
-98
-8
-77
-24
0
0
0
0
-4
0
0
0
0
39
-33
53
-70
27
-46
-47
-44
-1
10
0
0
0
0
0
0
-19
-24
-6
1
2
8
-11
34
-1
0
-1
0
0
0
0
0
0
-38
43
-17
2
-33
24
102
6
0
1
-2
2
0
0
0
0
0
25
10
72
-1
14
257
0
-50
5
-25
4
-14
-16
0
0
0
0
-45
-101
56
35
-42
-16
181
9
43
-39
-2
0
0
0
0
0
0
23
-53
46
71
4
80
65
84
-23
-4
0
0
0
0
0
0
0
-45
-8
-1
29
-65
-3
-69
98
96
-3
5
0
0
0
0
0
0
-119
-34
-30
2
-3
80
-10
-80
-3
-1
32
0
0
0
0
0
0
-79
18
25
57
24
14
-78
-8
10
10
4
0
0
0
0
0
0
2
39
17
94
5
-20
-52
-43
-1
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
3
-21
42
127
37
0
0
0
172
-22
-12
14
33
0
0
0
-5
-26
36
-43
-33
-26
50
0
43
0
-4
81
-51
-4
4
0
0
-44
-46
-18
-51
-43
-85
99
37
106
-16
57
-19
53
1
0
0
0
-28
8
47
68
-44
-12
1
-12
45
71
10
-1
-8
2
0
0
0
-10
82
-53
-28
40
-10
-17
69
126
73
-23
-29
15
0
0
0
0
-31
-137
62
-10
7
-46
-44
-52
41
-23
10
33
-8
-1
0
0
0
1
-28
-4
58
12
37
-70
-14
-15
-113
8
20
63
0
0
0
0
0
-5
-4
-5
-33
-34
-17
-116
1
-10
-34
11
7
0
0
0
0
0
0
0
0
-1
0
-1
-1
17
0
0
0
0
0
0
0
0
0
-6
-3
19
-4
0
5
0
0
2
25
2
0
0
0
0
0
0
7
-23
-20
105
32
35
0
-6
0
33
15
5
0
0
0
0
-3
56
-13
17
105
62
93
63
66
-6
85
85
2
1
-3
0
0
26
-19
-45
49
10
51
92
41
95
41
19
96
26
-1
0
0
0
79
23
54
66
90
34
64
-24
77
-55
7
33
8
3
0
0
0
6
-43
42
-5
14
-37
23
-3
-59
2
26
0
1
0
0
0
0
-1
17
62
52
-46
-21
-1
-71
-18
-59
-3
-1
0
-2
0
0
0
0
-142
14
-97
-80
43
-62
57
-54
-11
0
0
0
0
0
0
0
0
0
0
0
1
0
5
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
10
6
-1
10
0
0
0
0
17
14
26
0
0
0
0
0
0
32
13
21
-2
-22
-15
2
143
-20
-6
1
0
0
0
0
0
0
66
74
-14
-20
-55
6
-31
24
-55
33
-2
0
0
0
0
0
0
-84
-14
-28
103
57
-49
-21
14
30
-1
-1
-2
0
0
0
0
3
82
-87
-19
-116
-49
-5
-74
-94
23
10
0
0
0
0
0
0
7
42
-103
1
-50
41
35
-13
61
-5
-1
0
0
0
0
0
0
-3
30
46
5
-26
-13
138
-14
-50
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
-24
-18
-7
5
0
18
0
0
0
0
0
0
0
0
72
-7
36
19
4
1
0
21
30
0
0
0
0
0
0
0
0
-31
-57
3
-36
-8
5
0
0
0
0
0
0
0
0
0
0
0
6
0
32
-5
-7
0
0
0
0
0
0
0
0
0
0
0
1
5
47
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
-10
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
46
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
6
2
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
-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
14
-16
-5
0
-4
1
-6
-7
0
0
0
0
0
0
0
-1
1
0
43
-6
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
5
-57
-2
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
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
8
6
35
7
15
-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
10
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
16
41
-12
-100
0
-20
-20
7
0
0
0
0
0
0
37
15
69
30
-51
-104
-30
-4
-34
1
-5
4
0
0
0
0
-1
31
-3
63
50
38
-57
-30
43
-98
-5
11
0
0
0
0
0
0
57
-5
5
26
10
103
33
-10
49
14
0
0
0
0
0
0
9
5
14
3
6
-44
-119
-5
53
15
5
7
0
0
0
0
0
0
-8
9
18
-17
-25
-75
-45
-1
2
0
0
0
0
0
0
0
-1
-3
-2
-16
25
-13
-7
-50
-15
5
0
0
0
0
0
0
0
7
10
5
-5
0
0
5
-15
-62
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
11
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
-9
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
-10
-20
38
13
0
35
-11
56
-31
-1
-2
0
0
0
34
71
25
45
69
4
-21
5
70
15
-21
-44
15
96
0
0
-4
20
-33
91
62
127
-76
-13
-28
40
24
-3
-6
-19
64
0
0
35
131
103
44
-45
15
96
82
64
86
50
-44
70
53
-8
0
0
0
-11
32
-34
14
-27
-45
102
103
42
-80
19
45
0
-2
0
0
0
0
-43
24
11
-20
109
25
-29
-82
-105
3
-2
17
1
1
0
0
0
-8
0
14
5
9
-132
-73
-49
27
-1
0
0
-1
0
0
0
0
0
0
-2
-3
-16
-25
9
-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
45
5
28
-10
67
0
-17
86
89
-40
-28
64
0
0
0
-3
14
-21
40
55
-49
0
54
6
-40
-52
37
5
129
17
0
0
-65
-33
4
55
-60
-42
-29
-68
-41
-73
81
-27
23
-46
44
0
0
1
-65
-5
-14
-15
37
39
-73
-36
-60
-28
-20
-135
4
-22
0
0
-52
-144
-42
-109
62
79
-21
-87
-92
-53
24
9
-25
-3
1
0
0
-5
-94
-126
60
40
5
-14
-50
-61
22
7
-41
-1
5
14
0
0
-3
-5
-15
46
13
15
-10
-25
-93
34
84
29
-22
-8
0
0
0
3
0
33
46
-47
-7
-4
-78
40
35
-133
58
10
82
0
0
0
0
1
0
34
-47
-27
-7
49
-37
-33
44
-36
72
1
0
0
0
0
0
-5
1
50
-203
41
0
85
-6
-21
109
-44
2
-43
3
0
0
-11
-18
22
118
3
99
-7
-7
20
23
56
53
27
-37
-9
0
0
0
1
-43
197
32
-28
-87
1
-64
62
-33
-6
37
-8
-1
0
0
7
-4
61
52
78
-9
58
51
2
-26
58
33
-18
23
-1
0
0
0
0
33
-33
-81
33
16
-15
65
31
-7
5
21
0
-1
0
0
0
0
0
-15
19
-101
16
-32
46
18
-23
-43
-13
65
0
0
0
0
0
1
33
150
-15
-30
-20
-4
46
-14
34
1
96
-15
0
0
0
0
-5
50
-63
41
25
11
20
20
-47
25
3
72
2
0
0
0
0
8
-14
-23
15
2
60
1
-11
-66
34
-32
-21
-53
0
0
0
-8
51
29
-3
148
0
34
-4
57
37
45
14
48
-1
0
0
-1
-32
45
111
22
-24
-1
50
43
94
24
5
-3
29
1
0
0
0
69
22
-43
-21
-25
-59
-29
79
110
36
-15
19
1
0
0
0
0
4
49
-14
-14
60
36
67
18
27
23
16
-4
-4
0
0
0
-2
2
-44
-118
-6
-44
27
62
12
-23
-16
14
29
-2
0
0
0
0
-4
-45
103
109
-26
-24
-40
24
77
-53
-62
-24
-13
0
0
0
0
7
-14
71
-4
19
-72
33
39
-4
111
19
59
2
-1
0
0
0
0
23
-16
45
-8
-33
9
117
136
2
-67
14
43
0
0
0
0
0
0
6
-14
45
2
-4
0
0
0
0
0
0
0
0
1
7
-1
71
-5
-126
95
0
67
-4
-23
-1
-12
0
0
0
-2
107
45
29
103
1
-72
-25
16
49
-72
-43
33
-31
-34
0
0
20
58
43
21
72
12
24
-45
-4
7
33
32
-30
-3
15
0
0
13
47
97
54
25
-9
72
38
34
64
-19
58
-57
26
9
2
0
0
21
5
19
61
14
62
24
17
-103
11
1
14
-3
2
0
0
0
6
-3
39
31
125
-57
20
3
-25
53
-3
0
0
0
0
0
0
0
5
-16
-5
-1
55
103
-24
8
73
-5
-5
0
0
-1
0
0
0
13
0
-55
1
52
-69
-7
-55
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
10
53
0
-94
-46
0
-3
15
-6
0
2
0
0
0
3
-4
9
47
29
-4
-41
-120
-16
-44
-5
-16
-21
0
0
0
0
0
21
-6
44
41
23
-12
-108
50
-1
32
58
5
3
0
0
0
9
-24
33
0
-60
33
-3
82
-8
69
143
84
0
0
0
0
0
0
4
-6
7
-29
46
46
-32
76
42
162
11
0
0
0
0
0
0
0
-16
54
-56
23
-6
-47
23
87
74
2
3
0
0
0
0
0
4
4
4
95
-27
-62
56
-41
-43
-7
0
0
0
0
0
0
0
0
0
8
4
4
12
11
-27
-39
-8
0
0
0
0
0
0
0
0
0
0
0
0
-20
-41
-5
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
24
0
21
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
128
112
-32
0
0
0
0
0
0
0
0
0
10
0
2
-5
58
-27
-55
0
0
0
0
0
0
0
0
1
3
0
0
1
6
-35
108
-23
0
0
0
0
0
0
0
0
0
5
0
0
0
1
41
-50
-15
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-14
10
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
-14
0
0
0
-46
104
40
94
-6
0
0
0
0
0
0
0
0
54
0
0
99
-19
8
9
-86
-42
-10
0
0
0
0
0
0
0
0
218
234
184
33
-21
-105
57
-27
26
0
0
0
0
0
0
9
39
60
278
238
5
-32
44
12
0
-8
0
0
0
0
0
0
2
38
74
166
80
-32
-72
-5
55
23
0
0
0
0
0
0
0
0
41
18
-34
-57
-39
35
33
44
-31
-4
0
0
0
0
0
0
0
-74
-77
-49
-17
-5
-32
-94
-17
-23
5
0
0
0
0
0
0
0
-24
-101
-34
-16
-3
-10
33
-3
4
0
0
0
0
0
0
0
0
7
-28
24
-52
-8
-1
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
32
23
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
119
-5
15
3
53
3
0
0
0
0
0
0
0
0
2
185
192
158
-29
-68
-15
-3
-8
0
0
0
0
0
0
0
0
-28
113
186
13
139
-29
-5
-5
0
0
0
0
0
0
0
0
0
102
-47
62
30
-99
-1
0
0
-2
0
0
0
0
0
0
0
0
5
100
-39
-5
-22
-6
5
0
0
0
0
0
0
0
0
0
0
-4
-43
-27
-19
3
31
-1
0
0
0
0
0
0
0
0
0
0
0
37
69
-97
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
106
-51
0
0
1
0
0
0
0
0
0
0
0
14
0
0
26
-30
33
43
11
-10
-2
0
0
0
0
0
0
0
13
53
168
98
-37
-32
-5
-23
-1
2
0
0
0
0
0
0
0
-26
92
198
132
-30
80
19
-25
0
0
0
0
0
0
0
0
0
77
0
63
102
21
15
-9
4
-2
-1
0
0
0
0
0
0
0
34
-117
-71
24
-47
11
11
0
2
0
0
0
0
0
0
0
0
-45
-22
52
16
33
8
-2
0
0
0
0
0
0
0
0
0
0
5
-5
30
-22
-8
4
2
0
3
0
0
0
0
0
0
0
0
2
-5
56
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
88
-27
50
2
0
0
0
0
0
0
0
0
-4
28
0
0
100
42
5
14
-3
0
0
0
0
0
0
0
0
0
22
96
119
69
-2
-19
-2
0
-3
0
0
0
0
0
0
0
2
-76
-42
181
53
-14
0
3
0
-9
0
0
0
0
0
0
0
0
18
-31
-1
51
-26
-47
4
18
-2
0
0
0
0
0
0
0
0
-1
-75
-23
-5
14
-7
1
0
0
0
0
0
0
0
0
0
0
-4
-80
-138
118
-12
14
0
0
0
0
0
0
0
0
0
0
0
0
3
-72
-42
-34
-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
3
5
2
0
-4
0
0
0
14
14
11
0
0
-2
0
0
4
0
-32
-3
-16
18
0
0
0
77
-64
-27
-45
0
1
0
0
0
-3
17
33
-17
-120
162
143
54
-58
4
-61
5
-43
0
0
0
4
-1
-43
73
-51
95
125
223
152
57
8
-11
-45
-5
0
0
0
9
7
2
5
-49
21
-71
141
68
-6
-9
-16
6
4
-2
0
0
0
0
-2
5
56
-55
-10
-5
18
-71
-39
7
-25
-4
-4
0
0
0
0
0
21
8
-56
-7
0
-64
20
62
-56
-38
-46
-7
0
0
0
0
0
0
74
-39
-74
-22
-33
59
-48
-66
1
-1
0
0
0
0
0
0
0
0
-45
3
-6
38
-52
27
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
5
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-76
11
0
-4
0
-10
0
0
0
0
0
0
0
2
22
-26
6
-36
34
-1
-2
-2
0
0
0
0
0
0
0
0
0
22
82
144
48
-39
-7
-1
-4
0
0
0
0
0
0
0
0
31
146
73
140
5
-3
-2
1
0
0
0
0
0
0
0
0
11
-39
44
-33
149
-84
20
0
-6
0
0
0
0
0
0
0
0
9
-16
12
131
58
11
47
-8
-2
0
0
0
0
0
0
0
0
0
1
85
67
173
-97
7
0
0
0
0
0
0
0
0
0
0
0
0
4
31
-14
-94
-1
0
0
0
0
0
-23
-3
-50
-23
45
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-38
5
3
36
1
1
0
0
0
0
0
0
0
0
0
0
-2
-41
-9
21
10
2
-2
0
0
0
0
0
0
0
0
0
0
-5
66
-31
86
66
-4
0
0
0
0
0
0
0
0
0
0
0
60
-31
2
37
77
-44
-17
-29
3
3
0
11
-43
0
0
0
0
1
117
48
-5
-16
-20
-14
-16
-14
-14
-11
29
9
-5
6
0
0
0
11
-103
-54
7
48
18
21
55
-59
20
8
21
-24
-15
0
0
0
0
48
22
-17
-8
-18
-23
-7
-29
-34
58
62
-15
0
0
0
0
0
0
2
0
0
0
6
8
-2
0
0
0
-3
0
0
0
-51
-44
-68
-34
-71
-1
7
0
0
0
31
29
-33
-5
-32
0
0
-83
-97
-63
-58
-66
-49
-45
0
0
273
76
91
24
15
9
-14
0
-27
-78
-51
-71
61
63
116
135
248
187
18
-49
49
30
7
0
0
-73
-57
12
7
-34
-3
-71
135
286
85
-80
7
23
3
-1
0
0
28
36
-22
54
46
78
4
-136
135
-89
24
-34
51
-32
0
0
0
1
81
17
109
39
26
35
-79
-79
-54
16
93
41
3
-5
-1
0
0
-33
4
28
100
25
-14
-47
-66
-63
-68
17
-5
5
-3
0
0
0
0
-2
-14
-7
-2
11
-13
18
-71
-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
-59
30
15
100
60
0
0
64
-41
5
-14
-7
0
0
0
-1
53
87
-37
-24
20
69
63
74
-14
-16
71
16
27
0
0
0
-1
-36
-43
41
15
18
-37
81
74
-31
70
138
39
-4
1
0
0
-3
-72
-58
-36
-19
-13
7
34
105
80
-52
63
-54
0
-2
0
0
68
-61
-18
38
11
83
-39
-124
-106
-42
78
-58
51
3
0
0
0
-7
-7
-23
-62
14
-8
42
-6
-41
-3
-47
70
-7
0
0
0
0
-1
-40
66
6
-2
22
-16
-59
-2
-46
51
15
-23
0
0
0
0
0
5
-15
83
7
-2
-25
2
-25
5
2
0
0
0
0
0
0
0
0
-42
8
42
-53
66
-43
-6
-18
1
0
0
0
0
0
0
97
39
-1
11
8
59
-132
0
0
0
0
0
0
0
0
0
0
6
15
63
-4
-8
44
75
35
23
-1
0
0
3
0
0
0
0
42
51
-130
-14
11
25
-67
5
9
0
-8
3
0
0
0
0
0
-11
5
-57
17
82
-21
-25
27
-4
1
0
0
0
0
0
0
0
-12
30
6
8
-62
-22
7
43
-9
-4
0
0
0
0
1
0
0
-30
-45
-34
22
17
45
10
18
20
-1
-2
0
-2
6
0
0
0
14
124
-21
-27
-4
-68
-25
-2
18
-3
-1
0
0
2
0
0
0
-43
-79
9
6
-44
-29
-12
-2
3
0
0
0
0
0
0
0
0
9
-115
32
-23
45
1
4
-8
0
0
0
0
0
0
0
0
0
-2
-42
3
55
4
116
33
28
0
0
16
4
0
0
0
0
0
29
-87
105
-22
53
-38
0
48
-5
-6
-4
-5
0
0
0
0
0
-50
-48
35
-118
-23
61
-30
-74
24
0
0
-2
-2
0
0
0
0
3
-35
2
52
18
41
63
31
19
0
5
-3
0
0
0
0
0
18
93
-45
92
-50
-3
-32
68
-29
-5
0
-11
0
0
0
0
0
57
35
69
36
28
19
-27
-43
-19
-1
-3
-1
0
0
0
0
0
9
29
100
23
47
76
2
-20
-131
5
-7
0
0
0
0
0
0
51
-50
-30
40
-22
90
5
-47
-14
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-45
-35
-31
25
56
198
0
0
18
62
26
5
17
-2
0
0
37
-80
-85
-4
20
-65
30
0
176
0
53
81
-16
-54
-5
5
0
24
-6
29
50
-10
3
82
31
171
161
-91
49
46
-15
2
-1
0
22
7
2
38
-21
-9
55
2
247
61
-91
42
25
10
0
0
0
2
-10
64
-3
35
89
4
31
68
-37
-23
-29
59
53
-4
0
0
0
-77
91
4
66
-22
12
18
9
40
-44
89
74
-14
0
0
0
3
-7
35
64
41
-89
5
41
-48
-109
30
-45
12
3
0
0
0
0
0
35
-5
-16
-22
-33
-8
-20
7
-29
-2
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-21
0
0
0
0
0
0
0
0
-3
24
5
-34
-10
27
3
0
90
-86
-7
-3
-1
3
0
0
0
31
-7
-90
-166
-13
77
0
63
0
-21
-34
1
-1
0
1
0
1
8
56
-1
17
33
3
135
134
149
-52
-62
-30
0
4
0
0
0
33
26
-29
59
53
-4
86
112
110
-11
-56
-15
2
0
3
0
0
-2
0
-48
-62
-107
140
-53
34
-30
-20
0
57
5
-2
0
0
-3
43
12
-30
69
-52
-34
-5
-13
56
-69
-2
2
7
-2
0
0
-3
0
-56
-25
-34
13
-112
-61
77
15
9
2
0
-2
0
0
0
0
-3
0
-21
14
14
-16
-25
-15
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-13
0
0
0
0
0
0
0
0
0
1
-17
11
-5
7
0
0
0
0
5
5
-2
0
0
0
0
0
-2
21
-11
18
-13
14
7
0
30
-35
-1
1
0
0
0
0
0
0
22
-9
7
-5
8
0
16
91
-7
-1
-2
0
0
0
0
0
-3
2
-11
-14
4
5
-6
150
200
-104
0
-1
0
0
0
0
0
0
6
-2
-11
-1
-2
2
57
115
-5
-13
0
4
0
0
0
0
0
-1
2
-1
15
-4
64
120
128
-26
6
-1
-2
0
0
0
0
0
0
0
5
-15
-5
66
-24
10
2
1
-5
0
0
0
0
0
0
2
4
5
0
0
59
33
12
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
0
0
0
0
0
0
0
0
2
0
-1
6
16
-44
0
0
108
0
0
0
0
0
0
0
0
0
0
0
0
24
-84
-3
85
101
-1
0
0
0
0
0
0
0
0
-1
-1
5
-41
7
8
117
95
6
0
0
0
0
0
0
0
0
0
4
1
30
-41
104
7
53
-33
0
0
0
0
0
0
0
0
0
5
-4
-9
-146
-1
70
-67
74
0
0
0
0
0
0
0
0
0
0
5
-23
-45
-6
-33
-64
-33
0
0
0
0
0
0
0
0
0
0
-3
6
89
33
39
37
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-35
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
-14
-17
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
6
-10
-46
-3
11
0
0
0
0
0
0
0
0
0
0
0
0
9
22
164
-12
44
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
36
-25
-25
0
0
0
0
0
0
0
0
0
0
0
0
3
-30
0
70
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-133
-35
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-15
-108
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
-8
27
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
4
-6
-62
-6
100
100
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
7
-43
-56
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-23
54
57
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-49
67
191
3
0
0
0
0
0
0
0
0
0
0
-1
1
-79
-29
-124
-89
0
0
0
0
0
0
0
0
0
0
0
0
6
37
8
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
2
0
0
0
11
-24
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
24
63
0
0
0
0
0
0
0
0
0
0
0
-1
2
29
8
40
-9
0
0
0
0
0
0
0
0
0
0
0
6
-5
-45
-36
32
-53
0
0
0
0
0
0
0
0
0
0
0
0
-25
-37
-126
-85
3
0
0
0
0
0
0
0
0
0
0
0
0
3
14
24
7
5
0
0
0
0
0
0
0
0
0
0
0
-4
25
-15
52
-7
-6
0
0
0
0
0
0
0
0
0
0
0
-1
-34
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
87
-7
37
-15
-10
0
0
0
0
0
0
-2
-1
27
0
0
0
125
-20
-37
25
8
-11
0
0
0
0
0
-2
-6
-2
5
-56
-4
-42
-19
3
-55
-74
0
0
0
0
0
0
0
11
13
21
12
-28
101
-128
7
-111
127
1
0
0
0
0
0
0
3
3
34
-39
84
33
-18
15
-26
3
-1
0
0
0
0
0
0
0
7
-82
-53
154
-104
46
84
-34
-16
0
0
0
0
0
0
0
0
0
-4
7
31
24
-23
46
-45
8
0
0
0
0
0
0
0
0
2
21
17
-2
-8
-39
-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
-3
-50
0
0
0
26
-1
2
0
0
0
0
0
0
0
0
0
-8
-6
0
0
0
-66
-7
-9
3
0
2
0
0
0
0
0
0
8
0
75
47
0
-41
0
0
0
0
0
0
0
0
0
0
0
-2
0
-33
18
10
-25
1
-5
0
-4
0
0
0
0
0
0
0
0
0
-23
5
77
33
0
-5
-8
-10
2
0
0
0
0
0
0
0
0
14
49
32
2
13
0
-8
-1
0
0
0
0
0
0
0
0
0
-53
-18
33
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
90
24
-50
-81
-76
-5
44
0
0
0
0
0
16
-46
-48
0
0
14
3
-12
18
18
-51
23
0
0
0
0
-1
0
-5
-7
74
2
67
124
28
29
38
-71
-77
0
0
0
0
0
0
25
20
-36
-3
57
81
64
1
49
50
-20
0
0
0
-1
0
0
-5
34
40
-30
102
37
122
41
29
35
49
0
0
0
0
0
-5
0
15
67
49
-31
17
24
84
17
-70
64
0
0
0
0
0
1
0
-8
13
13
2
21
-33
4
34
-18
14
0
0
0
0
0
0
23
-1
-51
-16
40
67
-9
52
102
20
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
49
11
-17
-4
-25
-29
4
0
0
0
1
-1
-17
-77
-7
74
-24
-27
-15
-33
-4
-16
73
9
0
0
0
0
4
-27
-30
29
41
34
-30
-24
-57
-8
-4
-3
33
0
0
0
0
1
-16
-9
48
-26
-100
-25
-27
-37
-38
-15
14
118
0
0
0
0
-10
-4
39
-48
1
-77
-32
-2
-10
-8
-3
-4
59
0
0
0
0
0
5
-35
71
-52
-51
-14
-36
-28
-10
4
1
138
0
0
0
0
0
14
64
13
-52
73
-57
-35
-51
-8
-24
4
-15
0
0
0
0
0
19
17
35
17
-6
19
-74
-35
-14
-2
13
18
0
0
0
0
0
0
0
7
5
24
-51
5
-53
-81
-88
-4
0
0
0
0
0
0
0
0
0
0
0
-55
-74
-53
20
-14
-33
0
0
0
0
0
0
0
0
1
59
-20
79
45
48
10
109
-36
-5
0
0
0
0
0
0
3
0
18
88
-99
62
86
-5
-27
0
0
0
0
0
0
0
0
-2
-3
10
29
-10
15
-51
-11
60
48
1
0
0
0
0
0
0
0
-7
-16
-23
75
-15
9
-44
-56
-17
-3
0
0
0
0
0
0
0
0
0
53
-40
-33
-29
12
93
93
-34
0
0
0
0
0
0
0
-1
36
15
9
-100
26
-10
128
4
2
0
0
0
0
0
0
0
1
-1
71
44
2
31
99
86
-26
0
0
0
0
0
0
0
0
0
2
0
17
23
14
16
79
112
0
0
0
0
0
0
0
0
0
0
22
-25
75
2
25
13
42
133
0
0
0
0
0
0
0
-2
14
23
0
4
56
-43
39
-19
75
0
0
0
0
-4
0
-4
7
56
16
14
-45
1
-22
51
38
62
0
0
0
0
0
-1
0
1
32
-19
-14
2
-14
25
47
53
-21
0
0
0
0
0
0
2
5
-2
-25
91
3
30
51
-6
54
33
0
0
0
0
0
0
13
10
46
-5
-37
-27
66
54
1
57
63
0
0
0
0
-1
0
-2
6
73
-69
-9
-24
16
9
82
25
6
0
0
0
0
0
0
0
0
-44
105
-15
-8
43
22
38
92
54
0
0
0
0
0
0
0
0
-8
16
-1
-6
13
-1
19
0
0
0
0
0
0
0
0
13
3
0
0
49
84
95
-38
-64
-24
-25
0
0
0
0
-1
-16
8
0
77
0
46
20
52
-36
-38
-61
-30
0
0
0
0
-4
-7
60
-34
-2
-91
65
56
21
33
11
-30
-14
0
0
0
0
0
-2
17
107
114
-70
14
22
13
66
17
36
34
0
0
0
0
2
-2
58
22
40
33
-65
45
21
46
55
55
58
0
0
0
0
0
1
19
60
102
6
20
30
-7
46
32
71
-41
0
0
0
0
0
0
14
115
-35
-31
37
-9
42
-19
-26
56
-8
0
0
0
0
0
-8
0
43
45
-67
-19
66
57
-5
-9
-99
0
0
0
0
0
0
0
0
0
0
1
0
1
-21
-11
-5
0
0
0
0
0
0
0
0
-1
0
0
16
53
58
95
10
-20
7
-32
0
0
0
0
0
0
16
0
25
0
75
-1
13
26
0
-15
-3
0
0
0
0
0
-5
59
-5
0
23
4
51
29
-21
48
23
5
0
0
0
0
4
-5
71
100
-16
19
83
91
18
-11
-27
23
0
0
0
0
0
0
-2
43
98
14
41
33
16
-32
-27
72
9
-37
0
0
0
0
0
1
-3
23
78
54
-33
34
2
-50
-37
-23
-5
0
0
0
0
0
0
-2
13
51
121
47
22
48
23
3
40
9
0
0
0
0
0
0
0
0
2
6
-43
36
-100
71
3
110
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
3
-8
11
-21
-25
27
0
0
0
0
0
0
11
-6
0
0
0
43
-72
-44
-62
-118
-19
-5
0
0
0
0
0
0
0
8
0
1
15
-68
36
22
-59
-30
0
0
0
0
0
0
0
-5
-4
7
0
-18
2
7
11
-11
-54
2
0
0
0
0
0
0
0
34
-6
-2
-6
50
-62
30
-39
30
3
0
0
0
0
0
0
0
-2
16
-1
4
35
21
-72
98
25
-1
0
0
0
0
0
0
0
2
-2
0
22
5
50
38
-17
-29
-1
0
0
0
0
0
0
0
0
0
0
-5
1
-3
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
98
70
182
-58
-6
12
25
0
0
0
0
0
0
0
68
-5
7
77
8
9
39
66
-3
52
0
0
0
0
0
0
1
-2
-10
43
-20
35
32
9
14
-108
-5
0
0
0
0
0
0
0
0
3
0
-32
-37
25
60
19
-11
-29
0
0
0
0
0
0
0
0
0
0
0
-21
90
110
-4
60
50
0
0
0
0
0
0
0
0
0
0
5
4
3
19
34
-12
28
0
0
0
0
0
0
0
0
0
-3
-7
4
-31
-25
85
7
41
0
0
0
0
0
0
0
0
0
0
0
12
3
-27
37
-5
15
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-100
-49
49
0
0
0
0
0
0
0
0
0
0
-1
-6
13
-57
-62
-29
-2
0
0
0
0
0
0
0
0
1
0
2
22
-77
-77
34
-46
-4
0
0
0
0
0
0
0
0
0
0
0
0
-18
-16
29
-52
6
0
0
0
0
0
0
0
0
0
0
0
0
14
27
14
-87
0
0
0
0
0
0
0
0
0
0
0
0
3
40
-15
-36
54
4
0
0
0
0
0
0
0
0
0
0
0
0
-34
63
-90
45
84
0
0
0
0
0
0
0
0
0
0
0
-10
34
105
65
5
41
0
0
0
0
0
0
0
0
0
0
0
0
-12
10
14
-24
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
-14
3
0
0
0
0
0
0
0
0
0
0
0
3
33
57
2
40
0
0
0
0
0
0
0
0
0
-19
3
17
21
17
-17
-11
34
-9
0
0
0
0
0
0
0
-3
-3
2
-1
-43
37
157
44
-55
-3
0
0
0
0
0
0
0
0
0
0
-6
-2
80
-6
-15
9
7
0
0
0
0
0
0
0
0
0
0
-17
6
54
2
24
86
8
0
0
0
0
0
0
0
0
0
0
0
-2
-14
71
50
9
-6
0
0
0
0
0
0
0
0
0
0
0
-1
64
57
-25
21
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-23
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
4
20
34
-9
71
-21
0
0
0
0
0
0
0
0
0
-30
8
34
84
71
-16
55
70
-9
0
0
0
0
0
0
0
0
-1
-1
-6
124
0
39
30
68
0
0
0
0
0
0
0
0
0
0
0
-1
26
7
62
48
80
-1
0
0
0
0
0
0
0
0
0
0
-2
-21
-97
70
144
85
2
0
0
0
0
0
0
0
0
0
0
0
-25
57
70
53
-31
-3
0
0
0
0
0
0
0
0
0
0
-2
-1
7
52
15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
-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
55
62
-64
30
22
57
-14
20
0
0
0
0
0
0
0
6
10
18
-47
-78
53
13
8
-16
33
0
0
0
0
0
0
0
-9
-43
29
35
91
72
149
148
-43
37
0
0
0
0
0
0
0
3
23
-24
9
-41
128
45
53
-13
52
0
0
0
0
0
0
-2
-4
95
21
6
83
-29
17
4
80
11
0
0
0
0
0
0
0
5
72
-34
60
-6
61
165
53
93
11
0
0
0
0
0
0
0
49
9
5
-47
121
107
98
-18
65
19
0
0
0
0
0
0
0
0
0
-46
16
-11
94
68
28
63
77
0
0
0
0
0
0
0
0
0
0
-6
-3
0
-1
26
16
3
0
0
0
0
0
0
0
0
0
-1
-4
5
-9
-19
78
14
-1
0
0
0
0
0
0
0
0
-3
2
23
-25
-10
-18
193
23
69
0
0
0
0
0
0
0
-3
-5
-3
-1
20
-43
-20
-36
5
-9
0
0
0
0
0
0
0
5
-11
17
0
62
16
-31
64
2
21
0
0
0
0
0
0
0
0
1
-25
16
-52
42
22
-22
28
-26
0
0
0
0
0
0
0
0
0
5
-26
-21
71
-36
-68
6
-43
0
0
0
0
0
0
0
0
-3
-29
6
-8
57
-89
-29
-31
-16
0
0
0
0
0
0
0
0
8
0
1
0
47
-51
4
14
-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
-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
8
-15
-78
-27
0
48
100
76
112
-2
37
9
-4
0
0
0
12
63
30
-16
52
30
26
21
75
109
35
55
3
8
0
0
-1
0
65
-6
-72
-29
13
26
13
65
180
147
31
-56
6
0
0
0
-6
7
56
12
-5
-29
8
23
14
12
2
72
-31
26
0
0
0
0
0
57
-68
-32
10
6
15
-63
5
-5
101
-49
1
0
0
0
0
0
6
-5
-24
39
-26
-57
-43
107
64
53
-5
0
0
0
0
0
0
0
-17
-97
-15
-50
-112
70
93
13
68
-27
0
0
0
0
0
0
0
0
-45
4
20
-97
24
-5
72
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-37
-43
-28
0
-46
-55
-9
12
58
57
-5
0
0
0
0
-6
-16
-118
19
-75
-4
8
-11
19
-4
-12
9
18
0
0
0
0
0
10
28
-5
-29
12
-34
-9
23
85
108
-22
-45
0
0
0
-1
2
-16
5
-24
17
74
5
-19
28
89
86
62
108
0
0
0
0
-1
9
-22
-70
64
25
-2
-5
5
34
54
67
86
0
0
0
0
-43
5
-26
71
-53
2
-46
10
6
4
87
34
59
0
0
0
0
0
-16
-60
-36
7
17
-13
2
3
19
64
14
-49
0
0
0
0
-6
24
45
-62
8
-9
-18
-4
6
40
86
52
-57
0
0
0
0
0
-17
-29
76
32
-12
17
89
13
-77
-6
-7
2
0
0
0
0
7
61
-15
2
-3
0
5
-17
28
-24
99
0
0
0
0
0
0
0
39
-78
38
-15
-31
5
73
-14
27
43
0
0
0
0
0
0
0
-10
43
12
-24
15
2
63
-7
50
-61
0
0
0
0
0
0
0
3
-67
41
-31
88
75
91
-18
-14
-90
-3
0
0
0
0
0
2
0
35
30
-28
-19
46
67
98
86
-3
0
0
0
0
0
4
2
-27
-22
31
8
42
-17
16
33
-23
39
-2
0
0
0
-1
3
14
5
-11
4
9
-1
-33
-1
78
93
118
-1
0
0
0
1
9
56
-11
2
-6
16
-49
-68
-5
-38
85
30
0
0
0
0
1
1
7
106
-56
-41
-57
-35
-40
5
29
-110
-30
5
0
0
0
0
0
2
57
72
32
-46
0
-5
57
-29
21
33
16
0
0
0
0
0
34
64
-93
13
107
-15
16
34
-4
-1
35
59
0
0
0
0
0
26
2
-20
-2
40
34
-23
10
8
86
87
-46
0
0
0
0
0
-23
-5
-14
-28
-3
-1
73
44
53
59
46
-15
0
0
0
0
-3
9
-4
-28
3
4
0
21
-17
56
57
91
0
0
0
0
18
14
-79
27
16
6
4
-21
-14
-8
25
60
37
-2
0
0
0
-5
12
-36
20
-43
-9
-20
7
-11
-17
51
38
13
8
0
0
0
0
-43
22
-52
-45
2
-10
-21
126
-11
23
92
46
0
0
0
0
0
0
0
0
0
0
-15
14
10
60
1
0
0
0
0
0
0
0
0
0
0
-16
-24
-32
0
31
72
-7
42
60
62
43
-10
0
0
0
0
-6
-26
-46
-53
74
56
42
23
133
61
40
-5
-33
0
0
0
-1
14
-49
-22
-42
-4
50
81
128
124
58
89
29
14
0
0
0
0
-4
8
5
-80
12
23
25
25
96
-19
20
46
-2
0
0
0
2
0
9
-12
61
-21
21
40
16
93
140
10
13
21
0
0
0
0
0
2
8
-49
-29
-34
28
23
43
-13
124
53
7
0
0
0
0
0
0
-16
-94
-3
-15
-12
71
51
-2
135
86
5
0
0
0
0
0
0
-10
18
25
-40
-13
1
138
-75
35
-2
0
0
0
0
0
1
0
0
-2
0
-29
-1
0
0
0
16
-3
0
0
0
0
0
0
-1
45
33
0
43
-37
-63
70
-80
-51
21
-3
0
0
0
0
0
0
53
-60
32
-22
-107
41
71
10
86
8
-6
0
0
0
0
1
0
6
-36
-29
22
78
28
91
32
88
6
20
0
0
0
0
0
0
65
-100
141
94
69
3
3
126
182
69
-11
0
0
0
0
0
-24
-67
-144
-31
-37
16
56
89
103
64
82
53
0
0
0
0
1
2
33
13
9
-13
17
75
104
-27
47
41
34
0
0
0
0
0
-43
-17
27
-50
-13
61
85
116
91
17
79
1
0
0
0
0
0
0
0
-52
-6
-23
-56
-4
69
8
43
1
0
0
0
0
0
0
0
0
0
6
0
-21
0
2
-1
5
0
0
0
0
0
0
0
0
0
0
0
21
7
-41
0
-3
1
0
-1
0
0
0
0
0
0
-1
43
59
23
57
160
34
15
43
24
-20
0
0
0
0
0
3
0
31
1
-10
81
9
4
33
43
28
6
0
0
0
0
0
0
-9
-26
39
-26
-17
45
46
1
69
33
14
0
0
0
0
0
0
5
43
-48
-76
19
-2
-27
-3
-5
66
-15
0
0
0
0
0
0
2
-42
-33
-54
-22
-72
-5
2
5
-84
-61
0
0
0
0
0
0
3
15
0
29
-8
43
31
-7
-3
43
0
0
0
0
0
0
0
34
-33
-60
56
37
-25
-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
-53
4
39
110
0
0
0
17
0
0
0
0
0
0
0
0
0
11
61
-30
33
-20
0
0
18
0
0
0
0
0
0
0
0
0
0
-2
-29
-38
-61
-18
42
109
-5
0
0
0
0
0
0
0
0
2
-20
-5
-92
-23
81
117
16
3
0
0
0
0
0
0
0
0
-1
0
68
40
-2
5
75
56
17
0
0
0
0
0
0
0
0
0
-23
31
-65
42
-17
4
-20
-5
0
0
0
0
0
0
0
0
0
1
1
-91
5
-14
44
-56
0
0
0
0
0
0
0
0
0
0
0
54
-68
12
-3
-8
47
0
0
0
0
0
0
0
0
0
0
0
-5
45
28
-26
52
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
36
0
0
4
0
0
0
0
0
0
0
0
0
0
0
7
-30
31
17
59
1
0
0
0
0
0
0
0
0
0
0
1
-23
0
104
-134
-4
27
0
0
0
0
0
0
0
0
0
0
-1
0
-10
27
85
74
26
0
0
0
0
0
0
0
0
0
0
0
-6
-20
-45
-31
-80
15
0
0
0
0
0
0
0
0
0
0
0
0
-6
-49
20
-62
2
0
0
0
0
0
0
0
0
0
0
0
3
3
5
29
23
-1
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
-3
-36
-41
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
14
5
81
0
0
53
0
0
0
0
0
0
0
0
0
-1
2
16
-108
32
-133
27
51
-16
0
0
0
0
0
0
0
0
0
-1
0
11
11
115
-14
-5
4
0
0
0
0
0
0
0
0
0
0
0
57
-17
80
80
-16
-3
0
0
0
0
0
0
0
0
0
0
23
-1
-62
30
33
-13
-1
0
0
0
0
0
0
0
0
0
0
-2
56
51
-8
-49
-1
-7
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-10
-33
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
-10
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
17
2
-53
0
0
34
32
0
0
0
0
0
0
0
0
0
0
-1
2
42
72
52
-18
1
0
0
0
0
0
0
0
0
0
0
1
28
60
75
106
-28
14
0
0
0
0
0
0
0
0
0
0
0
7
8
-12
64
3
-14
0
0
0
0
0
0
0
0
0
0
1
-14
95
68
-32
-2
-3
0
0
0
0
0
0
0
0
0
0
-10
-30
-6
23
-9
-30
11
0
0
0
0
0
0
0
0
0
0
0
1
-39
-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
-4
-8
0
0
0
45
3
-15
1
7
-15
0
0
0
0
0
0
-22
40
0
0
0
0
-74
-61
-28
124
49
0
0
0
0
0
0
5
39
9
75
49
7
91
-49
-79
7
109
-1
0
0
0
0
-1
-1
50
62
46
17
71
-45
32
18
-13
10
0
0
0
0
0
0
-9
17
73
-27
67
25
97
-30
-5
45
5
0
0
0
0
0
0
0
-31
20
31
17
5
-86
32
6
0
-5
0
0
0
0
0
0
-17
30
5
67
46
39
-5
-46
0
0
1
0
0
0
0
0
0
-2
-31
-7
-35
-80
-15
-1
5
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
31
-22
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
108
8
15
0
0
-3
-10
-4
-10
0
0
0
0
0
0
0
-1
30
73
-52
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-46
-71
130
-1
10
1
0
0
0
0
0
0
0
0
0
0
-4
-110
-13
8
4
0
0
3
-2
0
0
0
0
0
0
0
0
-1
-10
-84
-25
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
51
40
0
0
0
59
128
-68
101
3
-26
34
0
0
0
0
-10
18
17
159
0
0
154
77
12
36
17
52
35
0
0
0
-2
-4
-33
9
84
74
75
157
60
85
44
86
23
2
0
0
0
0
0
4
-95
13
78
107
43
-10
23
116
31
60
83
0
0
0
-4
2
3
-26
82
70
-3
175
65
32
22
59
25
-12
0
0
0
0
-1
-10
20
31
-11
63
0
109
-16
3
21
16
-35
0
0
0
0
0
0
-4
45
-33
55
-62
11
-3
-19
18
43
-5
0
0
0
0
0
0
0
-18
24
15
7
-1
1
-7
16
-22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
15
13
6
88
0
0
-39
32
34
47
5
-90
-75
0
0
0
1
-14
11
-85
37
-15
1
-38
41
19
42
-32
-76
8
0
0
0
0
-6
50
36
78
-10
-54
37
23
-7
-40
19
-20
-9
0
0
0
0
-3
-6
-61
-66
4
9
33
24
-28
-28
9
-44
-28
0
0
0
0
0
-21
108
-32
-36
-65
-5
-12
-6
23
-52
-103
-108
0
0
0
0
4
5
9
-93
-61
-58
-51
2
-7
4
-65
-31
-88
0
0
0
0
5
0
-45
60
-10
-53
7
16
-26
34
9
-14
5
0
0
0
0
0
0
74
41
13
-18
62
11
-44
64
100
-11
41
0
0
0
0
0
0
-1
0
0
5
-9
5
46
7
-15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
41
12
5
-4
-70
0
0
0
0
0
0
0
-1
9
5
112
126
28
-94
-20
25
75
0
0
0
0
0
0
0
-7
21
42
106
14
31
-21
40
27
32
0
0
0
0
0
0
1
59
61
-44
36
-20
83
-41
14
-26
50
0
0
0
0
0
0
1
0
10
-46
38
-38
80
60
-14
-4
-13
0
0
0
0
0
0
0
4
45
23
-25
47
60
2
10
-33
-2
0
0
0
0
0
0
0
1
6
-5
9
27
-52
35
-27
10
57
0
0
0
0
0
0
0
1
11
65
44
3
-20
16
56
9
20
0
0
0
0
0
0
0
1
-59
14
3
26
8
48
53
28
-32
0
0
0
0
0
0
0
0
0
-30
13
24
32
-15
-5
-5
116
0
0
0
0
0
-2
0
3
5
75
0
46
12
-4
-69
-19
-17
0
0
0
0
0
0
0
1
2
178
-59
54
17
49
18
-60
10
0
0
0
0
0
0
0
-5
21
72
51
-29
92
-7
56
-40
14
0
0
0
0
0
0
0
0
43
-28
92
-52
126
13
10
-62
44
0
0
0
0
0
0
6
3
-1
4
-46
107
-96
1
43
-15
-20
0
0
0
0
0
0
0
0
1
24
108
128
-26
-59
22
-16
39
0
0
0
0
0
0
0
0
53
12
67
64
11
111
-53
-28
53
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
0
0
-42
53
53
0
0
34
74
62
-14
20
-5
27
0
0
0
0
-17
-17
5
0
29
0
165
56
85
29
-18
30
-24
0
0
1
-1
-1
-19
111
-11
3
83
112
73
46
11
50
52
-62
0
0
0
-1
-3
-60
-16
36
19
108
122
31
4
19
45
-7
-14
0
0
0
0
0
-15
-35
81
-10
117
4
8
34
90
7
-12
38
0
0
0
0
-16
-3
-51
179
78
78
1
22
-49
83
94
45
26
0
0
0
0
0
0
14
10
138
127
34
57
-26
27
-96
65
54
0
0
0
0
0
0
0
72
51
43
-37
1
10
-14
35
9
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
-25
0
-1
-61
129
-79
-60
39
-78
14
0
0
0
0
-1
9
18
0
1
0
-27
-94
21
-22
-81
-9
-24
0
0
0
0
0
17
110
-21
95
-10
29
28
76
-27
27
26
32
0
0
0
0
-1
2
25
109
9
10
43
73
20
50
72
7
-16
0
0
0
0
0
0
-4
148
128
111
127
-19
-5
-47
63
-74
68
0
0
0
0
0
0
10
114
84
89
110
-2
-45
-74
26
-51
-2
0
0
0
-1
0
0
1
73
85
36
31
18
-41
-91
-12
-109
14
0
0
0
0
0
0
0
1
3
6
-11
14
51
47
-35
-30
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
2
2
1
-9
-7
-2
-11
0
0
0
0
0
0
0
0
0
-1
3
58
20
44
-6
-25
-5
0
0
0
0
0
0
-3
8
25
3
-49
44
12
27
8
-14
1
0
0
0
0
0
0
-7
75
9
-3
-27
-36
-86
-4
-16
49
-11
0
0
0
0
0
0
10
15
14
-8
14
1
-3
0
-2
-2
9
0
0
0
0
0
0
0
-1
37
0
-4
18
1
0
-9
-5
0
0
0
0
0
0
0
0
0
1
-2
4
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
33
27
-58
-20
-1
32
58
59
0
0
0
0
0
0
0
2
29
66
-43
-37
24
-13
61
49
34
0
0
0
0
0
0
0
0
2
2
-2
-68
28
24
-51
96
-68
0
0
0
0
0
0
0
0
0
53
-2
-2
55
23
26
60
45
0
0
0
0
0
0
0
0
0
-3
4
63
25
15
101
33
75
0
0
0
0
0
0
0
0
0
-1
5
-16
15
-47
1
-41
-20
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-20
31
-1
130
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
74
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
33
-118
-18
0
0
0
0
0
0
0
0
0
0
7
-2
-19
-3
46
-98
-6
0
0
0
0
0
0
0
0
0
0
-5
0
6
-6
101
-9
-18
0
0
0
0
0
0
0
0
0
0
0
-1
3
92
17
165
9
0
0
0
0
0
0
0
0
0
0
0
9
6
-18
73
23
18
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
-31
-7
20
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
27
38
5
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
-6
-9
15
0
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
1
0
-8
101
-35
-18
68
0
0
0
0
0
0
0
0
0
-1
-3
0
-15
49
136
-138
65
0
0
0
0
0
0
0
0
0
0
0
0
-14
154
-13
63
53
0
0
0
0
0
0
0
0
0
0
-2
0
0
30
-43
89
88
0
0
0
0
0
0
0
0
0
0
-2
0
6
15
-60
16
36
0
0
0
0
0
0
0
0
0
0
0
0
0
14
66
39
45
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
2
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-96
0
0
0
0
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
10
-2
-23
104
-38
4
0
0
0
0
0
0
0
0
0
2
-1
13
41
19
43
24
46
0
0
0
0
0
0
0
0
0
1
0
23
-27
19
67
58
-38
0
0
0
0
0
0
0
0
0
0
9
-4
14
31
61
75
4
0
0
0
0
0
0
0
0
0
0
0
0
-9
71
17
88
23
0
0
0
0
0
0
0
0
0
0
0
4
-6
-43
-45
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
39
-16
34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-40
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
14
11
9
-17
32
45
-33
67
0
0
0
0
0
0
-2
33
-53
47
26
26
-38
4
64
-130
9
0
0
0
0
0
0
1
-2
8
78
-85
21
-11
-4
61
104
16
0
0
0
0
0
0
-5
118
27
54
37
-35
-21
53
-13
3
-15
0
0
0
0
0
0
-2
-25
13
-3
9
137
-47
-58
103
14
-37
0
0
0
0
0
0
6
-14
-53
-9
-100
-24
4
26
124
41
-9
0
0
0
0
0
0
0
24
-15
-26
-52
-26
74
58
24
80
8
0
0
0
0
0
0
0
0
81
-5
1
-14
-2
-34
-17
-30
-4
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-43
14
0
0
0
0
0
0
0
0
0
-22
-7
-3
1
66
-29
-98
-2
0
0
0
0
0
0
0
-3
0
-33
2
-11
-3
5
116
48
-7
0
0
0
0
0
0
0
1
0
-6
18
-10
10
-25
105
43
-43
0
0
0
0
0
0
0
-2
3
30
72
-3
-17
44
30
22
73
0
0
0
0
0
0
0
-1
1
1
9
0
-18
-45
56
-23
-48
0
0
0
0
0
0
0
1
5
0
-17
-4
33
43
-61
46
53
0
0
0
0
0
0
0
0
0
6
-6
-7
6
5
40
116
29
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
128
57
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-57
155
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-14
4
0
46
79
26
-7
82
53
28
23
0
0
19
66
-31
-39
-49
-11
-6
29
52
44
22
58
-32
-53
93
0
0
-2
-1
60
36
-19
-13
-2
4
-9
81
-45
-33
-1
140
-77
0
0
-1
-22
-25
50
17
-43
33
10
58
74
67
-26
154
24
45
0
0
0
1
-3
-82
-28
-22
27
-52
2
24
77
-4
65
60
56
0
0
0
0
-1
-4
-23
-42
-48
8
-15
74
88
10
-53
-14
-44
0
0
0
0
0
3
-25
-122
-90
13
-50
-80
12
-1
48
50
0
0
0
0
0
0
0
-1
-20
-72
1
5
27
-5
0
0
-55
0
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
-4
-46
-82
-36
-9
0
3
6
27
-22
12
-34
7
0
0
0
-1
18
-10
57
35
-28
-14
19
3
24
75
-15
42
4
0
0
0
0
-25
-6
-47
17
18
-8
-4
27
15
16
11
-86
33
0
0
0
0
-14
-5
-31
-51
-49
25
6
10
-18
-3
34
-20
68
0
0
0
-1
7
-47
15
-12
-38
-2
-23
5
25
26
16
-53
0
0
0
0
3
-9
-33
-54
-38
-41
-27
-13
-13
-25
-19
94
21
14
0
0
0
0
0
5
-13
-11
-61
29
-23
-46
-12
-11
-22
-51
10
0
0
0
0
0
-9
37
-59
84
4
-5
1
17
-63
5
-1
3
0
0
0
0
0
0
10
45
5
25
18
32
-30
-22
6
0
0
0
0
0
20
17
15
28
-71
20
0
35
90
-99
47
-15
1
0
0
0
5
-17
-2
16
-2
-18
24
74
-14
5
46
46
-16
0
0
0
0
0
-2
10
7
-36
-3
46
44
-13
47
-4
-48
26
-2
0
0
0
0
-5
21
66
40
-16
7
-74
27
-11
66
-63
0
0
0
0
0
0
1
-7
-24
-61
-25
-11
-42
36
54
-9
18
15
0
0
0
0
1
-5
-7
7
-11
-15
20
-11
-65
-13
-71
-45
15
0
0
0
0
0
1
71
-27
-11
6
-4
-9
-71
24
63
15
-5
0
0
0
0
16
-11
-16
36
56
20
-8
-39
-49
-7
-20
-35
-15
0
0
0
0
-3
15
-11
41
1
20
-3
-7
-29
-14
22
14
0
0
0
0
0
0
4
9
-66
96
53
14
0
3
54
50
64
-15
0
0
0
0
1
-3
-53
21
72
-2
49
-19
42
-28
62
91
-43
0
0
0
0
0
1
-25
18
-77
31
-18
76
-62
12
45
-15
20
0
0
0
0
0
1
0
-2
-7
-13
6
70
39
3
-33
14
9
0
0
0
0
0
-1
24
129
-15
-52
12
-32
22
71
62
19
-27
0
0
0
0
0
0
-20
6
-23
12
-42
13
0
-37
-35
58
1
0
0
0
0
0
-1
5
6
5
-60
-19
-3
-43
-17
-61
-15
9
0
0
0
0
0
0
5
-55
-55
3
-25
-32
-63
15
-46
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
75
-7
0
0
0
0
0
0
0
0
0
10
-21
45
1
0
-4
24
28
95
-131
41
-62
29
0
0
0
-9
-8
-5
-41
32
-3
31
4
53
53
89
-50
115
-41
0
0
-1
0
-3
-49
0
18
-13
-4
45
92
53
25
41
-16
-23
0
0
-1
-5
-39
-62
8
-24
46
-37
2
9
106
76
36
68
-4
0
0
0
0
4
43
24
-48
-28
15
27
-25
53
55
97
127
-2
0
0
0
0
0
-37
-69
31
-1
-35
-2
9
23
26
1
-45
82
0
0
0
0
0
0
-20
-13
-32
16
65
112
-43
-15
5
13
-55
0
0
0
0
0
0
7
-17
-39
-36
-18
-15
-12
-10
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
19
-47
63
0
-44
1
-9
-25
-17
55
6
53
0
0
0
0
27
-50
8
24
-14
29
-9
78
-52
-81
44
63
26
0
0
0
0
17
-9
-22
-1
5
-13
-11
-25
62
-26
-27
-44
119
0
0
0
0
22
-22
53
4
27
72
70
22
-142
-13
62
46
89
0
0
0
0
2
-39
105
-22
59
-6
-40
-94
57
1
54
8
-17
0
0
0
0
-6
-6
-99
-36
4
-25
-17
-52
46
-32
-49
-41
77
0
0
0
0
1
14
18
-33
28
39
3
-43
-91
6
-3
-37
-2
0
0
0
0
0
0
60
30
-56
108
34
9
0
140
0
-18
0
0
0
0
0
0
0
0
32
45
-5
3
-3
6
0
0
0
0
0
0
0
0
0
0
2
-13
0
6
-5
-4
0
0
0
45
0
0
0
0
0
0
0
-31
-7
-4
-30
-80
-29
2
18
-8
74
0
0
0
0
0
0
0
-3
33
3
-15
4
3
-2
15
-3
-7
0
0
0
0
0
0
0
0
-14
9
26
19
9
0
2
19
8
-6
0
0
0
0
0
0
0
35
-51
-32
-32
-40
-3
0
45
113
20
0
0
0
0
0
0
-5
-87
66
-44
22
-47
-3
0
-5
-10
-5
0
0
0
0
0
0
-1
-20
4
-15
2
-1
-2
-2
-3
97
-1
0
0
0
0
0
0
0
-16
-34
9
0
0
0
0
0
-1
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-9
-6
6
109
35
0
0
62
0
0
0
0
0
0
0
0
1
-6
2
34
43
32
23
68
-33
0
0
0
0
0
0
0
0
2
-45
0
16
8
-43
-31
-22
58
-2
0
0
0
0
0
0
0
0
2
-1
0
97
-15
23
-4
-14
5
0
0
0
0
0
0
0
0
0
-4
15
26
-33
5
-46
-97
0
0
0
0
0
0
0
0
0
-2
7
63
20
-27
-86
-50
38
8
0
0
0
0
0
0
0
0
9
-8
1
-44
41
16
-106
16
-1
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
4
-3
-8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
46
-41
21
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
65
-43
11
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-75
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-25
85
33
0
0
0
0
0
0
0
0
0
0
0
0
1
115
29
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-29
51
0
0
0
0
0
0
0
0
0
0
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
-45
-34
-63
63
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-31
22
29
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-112
14
5
-1
0
0
0
0
0
0
0
0
0
3
0
1
-43
4
42
84
0
0
0
0
0
0
0
0
0
0
0
-2
5
3
25
88
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
-10
5
0
0
29
0
0
0
0
0
0
0
0
0
0
0
2
0
25
-6
4
-3
-1
0
0
0
0
0
0
0
0
0
0
1
-3
-37
-14
-15
74
-2
0
0
0
0
0
0
0
0
0
0
0
3
-3
27
45
24
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
-27
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-3
-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
10
-22
-24
2
-22
-25
0
0
0
0
-9
-1
0
-5
0
0
0
20
33
-72
-60
-71
5
-1
0
0
0
-1
3
0
13
-52
44
37
16
-6
-60
-3
110
7
0
0
0
0
0
0
0
23
34
60
-165
5
4
-68
-22
-30
2
0
0
0
1
0
0
14
-18
88
-43
62
49
-19
11
75
98
-5
0
0
0
0
0
-1
0
6
-53
-21
-113
-35
50
62
-8
2
0
0
0
0
0
0
0
-4
-1
38
-107
62
72
-55
59
-3
5
0
0
0
0
0
0
0
0
4
0
-53
46
18
13
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
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
-9
-5
-6
0
-7
-4
1
0
0
0
0
0
0
0
0
0
0
19
-25
-3
4
-8
-2
-1
0
0
0
0
0
0
0
0
0
2
36
5
7
11
3
-1
0
0
0
0
0
0
0
0
0
0
0
14
-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
-76
37
-11
14
-71
-27
-65
0
0
0
0
0
-7
-83
-2
0
0
-40
3
-90
51
-50
-29
-143
0
0
0
0
0
0
-3
34
-70
-14
31
-43
0
-2
53
-52
-34
0
0
5
0
0
0
6
56
8
104
94
98
148
41
13
130
40
0
0
0
0
-5
-1
6
16
19
30
54
36
53
12
87
-1
-47
0
0
0
0
0
1
1
10
7
53
72
5
96
78
-63
20
-3
0
0
0
1
1
0
-78
-20
5
18
12
-2
-81
-181
-47
-63
19
0
0
0
0
-1
-2
-1
42
-23
6
7
-6
14
11
53
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
-16
2
-1
0
0
-13
-60
-14
-35
8
73
37
0
0
3
0
-16
68
-4
-37
46
-27
1
-22
-14
-31
45
-40
30
0
0
0
2
-7
7
-22
8
-23
50
-68
26
-11
-7
23
112
70
0
0
0
19
-4
62
-43
37
-14
-23
-76
-15
3
-3
3
38
-65
0
0
0
5
5
-31
24
33
8
11
-2
-24
-33
41
41
123
66
0
0
0
0
26
-117
-7
-9
99
-7
-71
-20
17
23
72
-83
-4
0
0
0
-3
-11
-46
20
147
67
-17
44
19
-26
14
36
18
132
0
0
0
-2
2
-14
78
-49
-90
-3
-3
-58
-32
19
4
-6
2
0
0
0
0
0
19
-55
15
-15
-17
58
-28
22
-4
-11
8
0
0
0
0
0
0
0
0
0
0
0
1
23
-141
-3
14
-104
-3
0
0
0
0
0
0
0
11
0
3
32
114
15
-31
-63
-94
9
0
0
0
0
-2
0
0
1
1
-11
-18
88
-27
-33
26
15
7
0
0
0
0
-1
2
0
0
-19
32
-43
-24
44
-25
11
-14
3
0
0
0
0
0
0
0
-2
3
-13
46
42
-19
38
56
48
13
0
0
0
0
0
0
-3
3
-1
29
108
18
19
-9
57
62
3
0
0
0
0
0
0
0
2
2
5
-42
-48
19
23
37
-21
6
0
0
0
0
0
0
2
-2
17
8
-87
-55
65
-63
-51
11
0
0
0
0
0
0
0
0
-6
0
5
3
3
1
-9
4
4
2
0
0
0
0
0
0
0
0
0
-4
-23
-29
-76
-145
32
-80
-19
0
0
0
0
2
1
0
1
-48
0
0
9
114
-28
17
8
99
0
0
0
0
0
1
0
18
42
-48
-4
28
-53
77
-27
-16
34
0
0
0
0
2
0
-1
44
55
-9
35
11
122
62
48
7
23
0
0
0
0
0
0
1
-5
3
-6
28
81
37
29
110
77
-46
0
0
0
0
0
1
0
4
-19
103
7
84
9
5
-53
77
1
0
0
0
0
0
0
0
-5
-21
107
20
31
77
-51
-10
65
-35
0
0
0
0
0
0
7
0
-2
11
4
62
41
7
72
-1
78
0
0
0
0
0
0
0
0
0
0
0
-1
2
14
54
0
0
0
0
0
0
0
0
0
0
0
0
-18
67
109
24
74
68
-9
0
0
0
0
-7
9
-1
0
13
0
-69
55
114
30
-13
50
28
0
0
0
7
3
-6
24
23
-3
21
81
13
-38
-2
-5
28
-55
0
0
0
0
0
4
48
-43
5
30
2
6
16
-13
29
-4
-9
0
0
0
0
-1
0
2
101
128
-22
156
89
77
24
13
19
-6
0
0
0
0
1
9
2
20
-33
-6
112
6
-9
80
-48
127
0
0
0
0
0
1
1
19
27
6
63
-30
-25
14
-48
-7
92
3
0
0
0
0
0
0
-1
-34
-2
-8
68
72
-2
8
-16
5
0
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
-13
-21
-23
13
163
-52
51
-4
0
0
0
0
0
1
2
0
-2
0
6
-1
-28
-9
-7
13
9
0
0
0
0
0
0
0
-5
21
36
111
87
-24
124
60
-10
-7
0
0
0
0
0
0
-4
-10
25
4
8
44
11
-27
-53
-15
34
0
0
0
0
0
0
-6
23
63
-18
82
-47
-31
-83
-36
-20
0
0
0
0
0
0
-1
5
-6
26
53
-86
34
109
-20
10
-19
-1
0
0
0
0
0
0
0
-9
37
74
-16
3
55
41
8
65
1
0
0
0
0
0
0
0
0
6
0
-1
68
-20
-73
-34
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-14
-20
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
2
2
-10
0
0
0
0
0
0
0
1
3
0
0
3
4
7
21
14
4
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-17
-56
4
0
0
0
0
0
0
0
0
32
-1
-1
0
-3
6
-3
-3
-17
0
0
0
0
0
0
0
0
5
-43
0
1
3
11
-16
-23
3
0
0
0
0
0
0
0
0
9
26
-5
4
0
-14
-26
-57
18
0
0
0
0
0
0
0
0
2
32
0
3
-4
-3
-1
2
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
11
-32
7
-1
75
120
-41
-22
0
0
0
0
0
0
0
-18
84
-68
-70
0
28
0
43
75
-14
0
0
0
0
0
0
-3
14
-33
-20
29
-7
-38
68
-36
98
-8
0
0
0
0
0
0
0
-7
14
-30
57
-30
39
-61
-18
16
-100
0
0
0
0
0
0
0
0
-1
-2
9
57
13
3
22
-2
-60
0
0
0
0
0
0
0
0
-1
1
-3
-14
60
27
44
80
2
0
0
0
0
0
0
0
0
0
3
-30
81
9
-88
98
-90
-53
0
0
0
0
0
0
0
0
0
0
0
13
-18
-45
-46
-71
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-44
-86
50
0
0
0
0
0
0
0
0
0
0
5
2
-9
-105
-14
32
0
0
0
0
0
0
0
0
-2
10
-1
-17
-34
80
-11
5
-76
-2
0
0
0
0
0
0
0
0
-1
0
0
4
21
24
63
21
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
26
-31
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
71
74
-35
-95
-25
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-68
-62
-46
34
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-82
173
53
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
26
17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-20
-1
0
0
0
0
0
0
0
0
0
7
2
19
56
14
-15
54
-2
0
0
0
0
0
0
0
-4
-23
-6
-12
-105
98
-85
5
-47
0
0
0
0
0
0
0
0
-2
2
-43
0
-33
10
-101
-6
13
-7
0
0
0
0
0
0
0
0
-1
0
0
6
-53
46
26
61
2
0
0
0
0
0
0
0
0
0
0
0
9
58
-112
87
24
37
0
0
0
0
0
0
0
0
0
0
-3
0
-86
50
-16
122
-5
0
0
0
0
0
0
0
0
0
0
0
0
20
78
57
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
-21
-52
-3
-8
-2
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
5
26
45
31
19
-53
-2
-1
0
0
0
0
0
0
-4
11
23
-3
-42
-6
53
54
8
-100
-4
0
0
0
0
0
0
0
-24
-1
-3
-27
-17
130
45
105
44
2
0
0
0
0
0
0
0
10
-1
0
-7
-9
-98
94
22
-11
-7
0
0
0
0
0
0
0
0
0
0
0
-9
31
101
64
24
20
0
0
0
0
0
0
0
0
0
0
0
52
0
-26
-24
43
0
0
0
0
0
0
0
0
0
0
0
0
1
-78
54
7
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
33
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
-18
44
80
-57
127
29
119
9
0
0
0
0
0
0
-5
10
-11
-8
85
33
6
-35
137
22
58
0
0
0
0
0
0
0
9
1
83
2
15
9
-31
-54
207
83
0
0
0
0
0
0
0
2
23
128
-68
30
-23
48
-3
-32
27
0
0
0
0
0
0
-2
14
-32
-65
39
-14
-39
-6
24
44
5
0
0
0
0
0
0
-3
1
7
-12
34
32
65
-10
-8
11
-7
0
0
0
0
0
0
0
0
-18
10
-24
-25
-69
36
19
-52
-74
0
0
0
0
0
0
0
0
0
0
-5
-16
-5
-19
-73
-101
26
0
0
0
0
0
0
0
0
0
0
6
-2
5
5
-28
-5
-2
0
0
0
0
0
0
0
0
0
-3
-14
8
-14
24
29
-10
0
0
0
0
0
0
0
0
0
0
-1
49
22
80
48
24
37
-46
0
0
0
0
0
0
0
0
-1
-2
0
-6
18
2
-3
-51
25
0
0
0
0
0
0
0
-5
1
30
27
4
2
-20
-36
26
-5
0
0
0
0
0
0
0
9
11
11
5
-2
-7
-6
44
35
105
0
0
0
0
0
0
0
-1
14
0
-4
17
-2
-93
-82
63
1
0
0
0
0
0
0
0
-7
-3
-4
8
6
24
-88
-8
-54
-2
0
0
0
0
0
0
0
0
9
14
0
1
41
19
106
-12
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
10
5
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
7
72
120
-38
-62
-5
-15
-24
0
0
0
-8
31
60
-71
-12
32
15
-54
-21
21
-14
163
-23
14
0
0
0
15
2
32
-56
11
-31
-18
2
62
72
-13
-59
-46
-26
0
0
0
0
-1
-65
-72
-52
-62
38
-45
-29
-21
-34
92
62
9
0
0
0
0
0
-14
22
-43
-1
63
-101
-39
-9
51
48
-48
8
0
0
0
0
0
3
-9
84
-10
5
9
-47
92
-37
-41
12
35
0
0
0
0
5
-6
-7
-2
-31
12
53
22
-21
-71
13
33
-1
0
0
0
0
0
0
5
97
0
11
53
-5
-14
7
-51
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-26
47
23
-13
0
-19
-22
-52
2
-72
-45
50
0
0
0
-7
33
-29
4
-62
-46
32
-61
-66
10
49
-18
101
71
0
0
-3
0
-17
33
-96
32
10
64
20
-13
13
48
-3
139
-53
0
0
0
0
-19
-34
-20
30
-43
-10
-39
3
-27
30
50
37
32
0
0
0
0
41
-58
-78
22
7
43
22
-3
28
5
25
-40
-14
0
0
0
0
-3
-3
-69
35
-38
19
-3
5
19
-5
24
-65
97
0
0
0
0
2
1
7
60
-81
38
-55
-37
-37
6
45
-38
45
0
0
0
0
0
0
-13
-45
-69
19
75
-38
21
-28
-71
19
-6
0
0
0
0
0
0
-10
10
26
25
68
-72
-14
13
79
0
0
0
0
0
0
0
0
0
0
0
0
-59
23
-53
53
-9
16
0
0
0
0
-2
0
5
-5
-3
-92
-33
43
38
-1
47
27
35
0
0
0
0
0
-2
0
-5
56
78
-20
-34
20
-47
-18
64
-24
0
0
0
0
0
0
0
-5
14
-107
33
75
10
-5
-17
27
1
0
0
0
0
0
0
-2
-6
10
-5
-51
-50
37
-80
101
1
-2
0
0
0
0
0
0
0
0
-45
-30
47
-53
26
-49
-13
-45
0
0
0
0
0
0
0
0
-1
50
-18
53
-47
-85
-24
62
-41
-6
0
0
0
0
0
0
0
-2
15
-26
48
-12
54
-66
-38
-21
-7
0
0
0
0
0
0
0
0
69
-40
60
2
-3
-1
-3
8
0
0
0
0
0
0
0
0
-4
9
0
0
62
-70
-41
-23
-115
-17
0
0
0
-1
6
-15
70
21
82
-28
-71
-50
-46
12
90
151
15
0
0
0
0
0
-1
-13
-119
35
-16
100
-1
-22
56
64
110
18
0
0
0
0
0
-1
4
-33
33
24
87
47
32
-3
73
84
74
0
0
0
0
0
-2
2
20
11
41
-41
-33
-24
36
32
5
33
0
0
0
0
0
-1
-5
-49
62
11
-102
32
23
-87
34
-3
-20
0
0
0
0
0
-4
25
-44
-32
-18
-29
-40
93
-69
36
51
1
0
0
0
0
0
0
1
-30
9
-93
19
-26
-35
-36
-17
-63
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
-10
-5
0
12
-23
109
40
31
30
50
2
0
0
-1
0
0
83
28
71
7
33
9
38
5
22
25
-4
21
0
0
0
18
8
-16
189
27
-81
66
48
18
20
-35
40
44
-35
0
0
0
0
-1
-39
12
53
16
21
45
71
27
4
76
11
-81
0
0
0
0
19
-6
-18
-186
-53
23
26
31
-29
-39
127
-30
31
0
0
0
0
1
0
-33
-13
-76
-15
-17
22
-41
19
26
51
-2
0
0
0
0
0
0
-4
95
-85
-150
-8
5
-101
-53
-16
-24
27
0
0
0
0
0
0
-5
-5
-8
22
-5
4
2
63
-9
-55
-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
43
-3
-32
-81
-17
91
17
-6
0
0
0
0
0
-6
-29
8
66
48
-82
116
61
25
107
86
-24
0
0
0
0
0
3
7
-18
99
-61
131
-20
38
5
-54
-17
9
0
0
0
0
0
0
4
59
40
55
52
83
33
42
121
-118
-17
0
0
0
0
0
-5
-20
1
63
79
16
136
70
46
50
59
-9
0
0
0
0
0
0
-4
28
-21
28
53
23
45
-7
57
75
-39
0
0
0
0
0
0
6
-37
35
-6
36
29
81
17
100
59
27
0
0
0
0
0
0
0
10
-49
-28
-45
-73
24
6
2
-3
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
16
-2
5
-2
-6
-16
1
0
0
0
0
0
0
-4
-1
-34
-7
66
16
23
-29
33
47
84
1
0
0
0
0
0
0
-4
-9
-2
-17
89
-80
-26
-23
10
3
25
0
0
0
0
0
0
0
13
71
27
73
16
66
-8
3
0
-8
0
0
0
0
0
0
0
-4
0
-2
63
-51
-6
-37
-31
16
9
0
0
0
0
0
0
-1
101
-7
3
-60
-5
63
-47
-49
6
-19
0
0
0
0
0
0
4
-35
22
17
-25
-33
12
35
-47
-83
8
0
0
0
0
0
0
7
3
7
-3
-4
0
14
-22
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
-4
24
10
0
0
0
0
0
0
0
0
0
0
0
3
-4
64
-30
144
43
0
0
0
0
0
0
0
0
0
0
0
-3
-8
49
-19
-55
38
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
-48
47
-39
0
0
0
0
0
0
0
0
0
0
0
0
1
-110
-26
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-13
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
-18
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
13
5
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
14
-58
-13
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
9
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
26
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
64
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
4
4
-21
43
58
7
0
0
0
0
-1
-3
-18
0
0
0
5
94
-63
-82
-70
28
-36
0
0
0
0
0
-2
5
5
19
10
124
-77
-80
66
51
-108
29
0
0
0
0
10
0
14
111
-55
32
59
-119
29
10
14
-18
0
0
0
0
0
0
0
1
-32
24
37
88
-1
64
30
-31
-51
-5
0
0
0
0
0
0
0
-5
-24
40
3
-48
-61
-1
64
0
0
0
0
0
0
0
0
0
8
10
5
-26
-58
-16
-1
-34
5
4
0
0
0
0
0
0
1
129
7
-14
0
1
2
2
23
0
-1
0
0
0
0
0
0
0
0
4
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
-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
-10
0
0
0
-86
121
-53
14
28
1
94
0
0
0
0
0
-1
9
-15
0
0
129
119
66
28
16
22
24
0
0
0
0
0
-2
-1
124
266
32
-10
175
105
5
38
53
-10
0
0
0
4
0
-5
49
60
179
71
64
59
-13
67
31
38
52
0
0
0
0
0
-2
-2
-32
27
69
109
49
66
-7
12
12
30
0
0
0
0
1
0
-20
-36
27
-86
55
-9
11
80
-3
-24
9
0
0
0
0
0
1
0
33
65
-48
-1
-61
-72
28
-52
5
23
0
0
0
0
0
0
0
-13
-38
-7
-13
-72
33
46
-39
-55
-4
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
-8
1
0
0
0
0
0
-2
0
60
0
0
51
60
45
-45
35
-136
-8
0
0
0
0
0
0
58
-52
8
129
49
39
43
4
-27
-63
-11
0
0
0
0
0
-14
-21
80
15
-23
12
-21
45
-12
8
-60
-66
0
0
0
0
19
-18
58
-78
42
91
-6
-24
24
-6
-5
-83
-9
0
0
0
0
0
-29
-2
1
-68
-4
-6
26
-50
-8
-30
-50
-81
0
0
0
0
6
-1
15
23
-38
-12
-88
-59
82
10
18
-109
16
0
0
0
0
3
-45
-5
59
-36
-27
-21
7
43
26
-31
8
-32
0
0
0
0
0
-7
52
-41
1
-69
-72
22
21
28
14
24
-155
0
0
0
0
0
0
0
0
0
5
-56
52
-4
-31
-11
34
0
0
0
0
0
0
0
0
0
0
0
74
79
38
-10
-48
12
-16
0
0
0
0
0
0
0
0
-20
57
-32
4
-14
-43
-28
32
13
0
0
0
0
0
0
0
0
-6
-28
53
-43
23
-32
-38
-2
-5
0
0
0
0
0
0
0
0
3
17
12
23
18
19
70
-23
22
0
0
0
0
0
0
0
3
-15
21
20
-11
-22
-44
62
35
60
0
0
0
0
0
0
0
0
25
-32
-54
33
31
56
-2
51
72
0
0
0
0
0
0
0
0
10
7
8
-20
46
72
-16
-2
65
0
0
0
0
0
0
0
5
-58
-52
57
-33
41
59
-11
-11
52
0
0
0
0
0
0
0
0
-41
33
-15
15
114
11
-66
19
33
0
0
0
0
0
0
0
0
0
33
13
68
5
32
45
50
-16
0
0
0
0
0
0
0
1
0
38
0
-19
86
22
58
3
-30
0
0
0
0
0
0
0
0
-10
74
39
72
6
-20
40
-23
81
0
0
0
0
0
0
0
1
1
-16
44
85
122
57
42
26
16
0
0
0
0
0
0
-6
-5
3
78
20
-61
157
15
63
23
92
0
0
0
0
0
0
-4
1
2
-38
38
66
67
61
-1
1
41
0
0
0
0
0
0
0
2
25
-33
98
53
30
-50
65
23
57
0
0
0
0
0
0
0
0
34
-43
-10
69
37
-10
-4
-115
16
0
0
0
0
0
0
0
0
0
0
0
0
-7
-37
-23
-2
0
0
0
0
0
4
1
0
-2
0
0
29
75
-41
18
-8
3
35
0
0
0
0
0
0
9
0
117
0
63
39
54
65
31
-34
79
0
0
0
0
0
3
21
184
12
159
-98
99
58
3
59
10
1
0
0
0
0
0
0
35
-8
186
33
109
5
77
47
23
27
-36
0
0
0
0
0
-1
1
-24
20
72
-60
42
5
76
23
-3
0
0
0
0
0
0
0
8
98
53
82
33
44
-5
-12
78
41
30
0
0
0
0
0
0
-8
44
-129
15
14
-14
183
-26
44
-39
-9
0
0
0
0
0
0
0
-3
0
-1
24
-17
15
-4
-85
-4
-15
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
14
0
0
0
0
0
0
0
0
-1
0
0
66
85
-12
47
-17
32
5
0
0
0
0
0
2
0
0
0
0
31
42
63
-24
14
86
-3
0
0
0
0
0
0
4
39
-14
64
57
23
90
3
54
68
19
0
0
0
0
0
0
7
-1
20
-40
134
-24
-47
-19
-15
65
15
0
0
0
0
0
0
0
-72
5
-21
11
-15
-34
31
59
96
60
0
0
0
0
0
0
0
-5
13
-6
148
15
-63
2
-23
-1
25
0
0
0
0
0
0
0
0
4
2
-4
-1
-72
-50
-3
-82
10
0
0
0
0
0
0
0
0
0
0
9
24
-5
-59
-17
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
-33
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-78
-15
-9
0
0
0
0
0
0
0
0
0
1
0
2
19
-78
0
5
72
0
0
0
0
0
0
0
0
0
0
13
7
4
54
-64
81
-15
0
0
0
0
0
0
0
3
0
-5
2
0
13
51
10
85
6
0
0
0
0
0
0
0
0
4
6
0
0
4
-19
53
66
33
0
0
0
0
0
0
0
0
0
1
0
0
2
-23
18
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-16
-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
-16
0
-7
-71
-33
0
69
-58
-74
47
0
0
0
0
0
0
3
1
80
69
30
-5
71
12
55
59
-90
0
0
0
0
0
0
-1
-20
-50
35
94
51
-26
46
-35
89
61
0
0
0
0
0
0
0
-2
9
-3
-5
62
7
56
8
73
105
0
0
0
0
0
0
0
0
-31
49
20
-72
79
33
1
89
151
0
0
0
0
0
0
0
0
78
6
-47
15
30
35
-44
56
-7
0
0
0
0
0
0
0
0
0
0
-17
-43
24
4
20
8
44
0
0
0
0
0
0
0
0
0
0
-5
-1
-44
4
90
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
15
-84
24
0
0
0
0
0
0
0
0
0
1
22
-17
-10
-105
-25
34
22
0
0
0
0
0
0
0
0
-2
-6
25
103
-24
55
-10
-5
70
0
0
0
0
0
0
0
0
0
66
31
-1
55
78
52
113
80
0
0
0
0
0
0
0
0
0
0
-8
-19
-4
14
67
152
119
0
0
0
0
0
0
0
0
0
0
0
-13
19
-19
44
-4
175
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-69
-23
-7
-48
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-15
14
36
53
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-6
-75
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
31
2
0
0
0
0
0
0
0
0
0
41
-16
-35
5
-95
-16
43
13
0
0
0
0
0
0
0
-1
-13
-26
1
46
90
-65
62
19
-5
0
0
0
0
0
0
0
-1
-3
-1
4
15
9
-81
-11
66
171
0
0
0
0
0
0
0
0
-1
-1
0
6
-41
0
-9
-1
146
0
0
0
0
0
0
0
0
0
-4
0
1
-7
-73
37
86
59
0
0
0
0
0
0
0
0
0
0
-1
0
54
53
-29
63
-58
0
0
0
0
0
0
0
0
0
0
0
0
-14
7
10
14
-49
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
32
30
-13
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
3
2
-3
5
36
-115
-44
10
0
0
0
0
0
0
0
0
1
-5
32
36
37
-22
65
-1
12
0
0
0
0
0
0
0
0
-1
-49
-1
9
26
-61
81
100
49
0
0
0
0
0
0
0
0
0
-1
-6
-23
15
-25
48
50
-52
0
0
0
0
0
0
0
0
0
0
0
8
45
-56
1
78
-53
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-9
-44
-38
-1
0
0
0
0
0
0
0
0
0
0
0
-6
4
-73
-55
-50
30
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
7
0
0
0
0
0
0
0
7
0
41
-21
-26
71
17
57
19
33
0
0
0
0
0
0
0
0
2
59
17
15
-66
-42
-26
13
62
0
0
0
0
0
0
0
4
-3
62
-59
-111
92
-18
24
45
-1
0
0
0
0
0
0
0
1
-30
-80
-72
32
30
-11
26
77
56
0
0
0
0
0
0
0
14
8
26
-25
106
13
5
7
-59
78
0
0
0
0
0
0
0
1
10
2
18
-50
19
59
25
8
31
0
0
0
0
0
0
0
0
-2
1
-10
-55
-20
-41
10
15
61
0
0
0
0
0
0
0
0
-2
0
0
24
-39
-94
-5
-39
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-24
-71
0
0
0
0
0
0
0
0
0
5
23
3
-12
48
54
-74
43
0
0
0
0
0
0
0
0
0
5
-15
15
-15
54
-63
27
72
0
0
0
0
0
0
0
0
0
-11
5
-6
50
57
-65
-7
16
0
0
0
0
0
0
0
0
0
-1
6
5
18
-23
75
-4
61
0
0
0
0
0
0
0
0
0
0
9
-4
-5
-25
-74
55
86
0
0
0
0
0
0
0
3
0
5
2
9
-5
28
59
53
-14
0
0
0
0
0
0
0
0
0
0
0
-3
5
-42
4
29
58
0
0
0
0
0
0
0
0
0
0
-1
0
4
19
-39
79
85
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-29
-1
-31
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
0
27
91
10
-69
-12
57
126
13
0
0
0
-5
-2
-29
-2
-89
-33
106
85
30
51
22
48
-4
34
0
0
0
0
2
11
10
-32
26
-26
87
65
88
26
165
-7
-65
0
0
0
1
3
34
-62
-81
-50
-18
28
-30
-62
-22
63
-20
64
0
0
0
0
0
3
-16
56
-60
9
55
-14
54
8
89
-20
42
0
0
0
0
0
0
2
4
52
-36
52
62
-62
7
-74
-109
-20
0
0
0
0
0
2
1
0
35
-15
-13
-45
-35
22
-34
-48
-8
0
0
0
0
0
0
0
7
-2
-17
-11
-11
-21
43
21
-14
43
0
0
0
0
0
0
0
0
4
3
0
0
0
0
4
-1
-1
0
0
0
-1
6
-108
-162
-78
0
83
-53
62
32
57
-33
82
0
0
0
0
-33
-20
5
76
-90
-53
3
-3
28
83
101
5
104
0
0
0
0
4
-1
36
-47
-78
-58
1
4
3
14
82
-2
185
0
0
0
0
0
0
-38
15
-33
3
24
-6
17
19
26
49
43
0
0
0
0
0
2
-13
55
21
30
-69
-65
1
-5
18
78
77
0
0
0
0
0
0
0
-55
59
5
23
-4
-70
50
1
49
-66
0
0
0
0
0
0
-1
50
-15
-38
-45
-24
16
78
-15
42
-14
0
0
0
0
0
-2
-1
24
-34
16
8
-61
-34
-70
68
-44
-46
0
0
0
0
0
0
0
4
23
-46
34
-84
-30
10
-1
5
0
0
0
0
0
-1
0
-5
13
-78
0
30
-109
116
-21
-10
37
-3
0
0
0
0
0
5
-34
31
-34
-9
144
-46
59
-100
1
9
0
0
0
0
0
-1
0
20
37
-64
33
72
-18
18
16
-14
-46
5
0
0
0
0
0
0
6
37
62
-44
76
-15
-10
82
2
4
0
0
0
0
0
0
0
-3
54
-104
2
17
-27
-23
43
0
-13
1
0
0
0
0
-2
0
39
93
52
68
-17
7
10
7
-1
2
0
0
0
0
0
0
2
-13
17
-44
-76
10
-34
48
-33
-2
-13
1
0
0
0
0
0
1
6
-40
-40
-114
-81
2
-7
-4
0
0
0
0
0
0
0
0
0
9
-71
-54
24
79
-2
-2
15
0
0
0
0
0
0
0
0
0
19
-63
12
0
31
-41
109
27
37
-2
0
0
0
0
0
0
0
-36
-9
-23
73
58
10
-124
1
44
-4
0
0
0
0
0
0
0
24
53
-15
56
-90
110
-12
31
74
14
0
0
0
0
0
0
0
2
-6
29
95
5
-20
19
-101
40
1
0
0
0
0
0
0
2
-8
-12
-45
-91
126
-34
-101
55
-27
-26
0
0
0
0
0
0
1
-16
5
18
32
-27
-51
-44
-5
-35
-11
0
0
0
0
0
0
0
-1
-6
-68
-2
88
-15
-79
-5
20
0
0
0
0
0
0
0
0
0
4
-13
85
18
-13
-27
-14
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
-4
-25
80
0
-7
72
62
23
-29
38
58
5
0
0
0
0
0
18
52
80
-1
-33
61
-33
-10
49
61
31
68
0
0
0
7
9
11
-53
33
-35
-15
53
-52
8
21
17
-3
-20
0
0
0
0
0
0
32
47
13
38
64
58
28
-15
120
-34
89
0
0
0
0
0
-3
4
45
0
-41
132
-61
-50
-7
37
-22
-17
0
0
0
0
0
-3
4
20
12
-5
42
-4
26
5
31
124
47
0
0
0
0
0
0
1
7
3
8
-31
-45
28
6
-15
90
-44
0
0
0
0
0
0
0
-6
-1
43
2
-29
-17
11
0
-8
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
8
0
-37
4
0
9
-95
-29
6
57
0
0
0
0
0
0
13
13
-75
24
-79
-41
23
100
58
70
120
0
0
0
0
0
0
13
-24
66
-1
1
-23
111
10
49
57
22
0
0
0
0
0
0
0
4
-53
-20
-70
-16
-91
-5
26
53
10
0
0
0
0
0
0
4
57
-17
-31
73
26
-60
-18
-66
-17
37
0
0
0
0
0
0
1
-1
2
-83
-105
-26
5
23
-4
-75
68
0
0
0
0
0
0
0
0
-22
10
2
-30
-51
109
-55
-120
-71
0
0
0
0
0
0
0
0
104
-2
-9
-23
-11
-23
-44
-50
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
10
7
0
-7
-3
62
-62
8
0
0
0
0
0
0
1
0
3
20
7
-43
18
-5
31
52
75
0
0
0
0
0
0
0
-8
-3
-5
-26
0
5
51
49
91
3
0
0
0
0
0
0
0
1
1
-15
-10
-7
-5
62
87
112
147
0
0
0
0
0
0
0
-1
6
-11
44
43
-1
5
19
-104
-68
0
0
0
0
0
0
0
-1
0
-14
1
-16
4
-4
28
29
101
0
0
0
0
0
0
0
-1
3
6
-3
8
-8
-8
2
-40
-51
0
0
0
0
0
0
0
0
-1
0
0
6
-2
10
0
102
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
-25
4
6
-12
6
0
-1
0
0
0
0
0
0
0
34
-21
14
-84
-69
32
-6
-3
48
10
0
0
0
0
0
0
0
64
1
127
19
31
26
0
3
7
1
0
0
0
0
0
0
0
-7
64
0
-57
44
45
-1
-1
0
0
0
0
0
0
0
0
0
-43
53
-72
-23
2
28
3
0
0
0
0
0
0
0
0
0
0
-19
-15
-12
-37
-28
-5
-4
0
0
0
0
0
0
0
0
0
0
-25
66
-16
-46
-30
-15
0
0
0
0
0
0
0
0
0
0
0
3
88
13
72
-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
-7
-33
1
-9
-5
1
0
0
0
0
0
0
0
0
0
0
6
-35
-8
-36
2
0
0
0
0
0
0
0
0
0
0
0
0
-14
6
25
5
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-11
47
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
17
-35
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
44
50
52
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
-25
-67
29
-16
4
0
0
0
0
0
0
0
0
0
0
0
-5
27
-9
13
-42
0
-1
5
2
0
0
0
0
0
0
0
0
-15
14
-183
43
68
10
4
-3
2
1
0
0
0
0
0
0
0
1
22
122
-10
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
3
-26
-64
0
-1
0
0
0
0
0
0
0
0
0
0
-10
-43
59
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
87
17
0
0
0
0
0
0
0
0
0
0
0
0
-11
-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
13
-62
-35
-2
2
-6
0
0
0
0
0
0
0
0
0
21
40
2
14
-6
-39
21
-11
-17
0
0
0
0
0
0
0
0
5
14
-33
77
-2
5
3
-3
0
0
0
0
0
0
0
0
0
-1
-2
-91
-82
0
-13
0
0
0
0
0
0
0
0
0
0
0
4
-6
80
98
-48
-7
0
0
0
0
0
0
0
0
0
0
0
1
2
9
-23
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-51
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
-18
-5
65
58
14
-114
-65
0
-1
0
0
0
0
0
0
0
-26
-53
29
77
70
32
-40
19
-58
0
0
0
0
0
0
0
0
-1
-6
-14
16
-20
-88
-52
-3
-5
-5
0
0
0
0
0
0
0
25
14
-27
18
101
58
20
20
43
0
0
0
0
0
0
0
0
-7
-9
-27
10
-23
64
25
-1
1
-8
0
0
0
0
0
0
0
6
-57
-18
65
29
-33
19
33
1
0
0
0
0
0
0
0
0
20
7
43
-21
36
-32
78
-16
2
0
0
0
0
0
0
0
0
-17
5
-4
-29
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
-10
22
-10
-5
-6
0
-2
0
-2
0
0
0
0
0
0
0
0
-15
53
15
19
-2
3
0
-6
-3
0
0
0
0
0
0
0
0
-2
-22
-8
6
5
-1
3
1
0
-7
0
0
0
0
0
0
0
0
7
33
1
6
-5
1
9
1
-1
0
0
0
0
0
0
0
-1
24
-1
24
-1
-4
2
-1
0
-14
0
0
0
0
0
0
0
0
-53
-10
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
27
-19
-38
-41
56
-19
20
0
45
-7
0
0
0
0
0
0
6
53
106
50
37
51
-24
41
-50
14
-111
-9
30
0
0
0
0
-4
25
74
-19
98
-21
-73
-23
19
-83
14
24
0
-1
0
0
0
3
54
13
12
-6
11
112
27
67
23
-29
-32
4
-1
0
0
0
-43
35
6
-2
5
83
119
53
-33
34
-49
11
0
0
0
0
0
0
46
0
-80
-25
46
98
-5
109
30
4
0
0
0
0
0
0
0
23
-77
5
57
46
0
37
17
9
0
0
0
0
0
0
0
0
0
-3
6
2
4
-11
26
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
21
14
31
-24
-10
-89
-18
0
-81
-86
-5
23
4
0
0
0
0
23
49
-74
-23
36
-51
-11
37
57
-48
24
-20
86
-6
0
0
0
50
-33
-70
-12
24
-61
36
46
6
13
-57
-14
48
-1
0
0
0
19
32
14
40
28
20
8
24
-33
80
-17
7
5
2
0
0
0
-15
-13
86
5
-31
1
-36
-23
-12
-4
33
-22
-4
6
0
0
0
108
-3
72
-29
34
-6
-30
-74
-48
-27
52
-14
1
0
0
0
0
-9
4
77
-19
-5
-31
35
-80
-83
-23
-20
11
3
0
0
0
0
7
53
5
48
4
26
-65
-71
45
11
0
0
0
0
0
0
0
0
1
7
-18
-5
-48
-72
31
7
-1
0
0
-3
0
0
0
0
0
18
18
24
-3
15
19
0
-52
5
-1
0
0
0
0
0
0
0
-22
-43
-80
76
-75
70
96
46
2
-17
0
0
0
0
0
0
0
0
-83
66
-46
-20
4
-27
-24
-47
2
0
0
0
0
0
0
0
14
-116
-14
52
80
9
24
25
-7
-3
1
0
0
0
0
0
3
0
-15
47
113
120
75
-31
15
8
0
0
0
0
0
0
0
0
3
16
-3
138
63
-14
-1
-7
-3
1
0
0
0
0
0
0
0
1
75
53
24
59
28
-43
-2
-1
0
0
0
0
0
0
0
24
0
-8
46
12
-5
70
-26
-24
0
0
0
0
0
0
0
0
0
0
3
-5
45
-48
155
-8
1
0
0
0
0
0
0
0
0
0
-76
-14
4
-5
-74
15
0
31
-35
-5
27
3
0
0
0
0
0
26
-62
-22
109
-60
74
-45
-3
-39
-43
-37
1
0
0
0
0
0
37
-3
32
48
-59
41
32
-3
9
32
29
1
0
0
0
0
0
-2
42
16
71
20
10
77
39
-16
7
-24
-5
0
0
0
0
0
-19
31
87
31
42
77
105
40
-47
44
9
0
3
0
0
0
0
-17
-55
-53
-71
25
49
21
73
-47
31
-23
-1
0
0
0
0
0
-4
-6
25
43
0
-21
81
85
-38
67
51
-1
0
0
0
0
0
1
-5
126
7
-78
97
33
118
-44
-3
-3
0
0
0
0
0
0
0
0
0
-3
14
-3
0
0
0
0
0
0
0
0
0
11
24
17
76
54
47
-185
13
0
29
106
8
0
0
0
0
0
58
-37
-45
33
-97
-36
-45
-52
-8
96
-12
-10
30
1
0
0
0
-50
50
76
17
2
28
-44
48
-11
6
87
-1
0
0
0
0
0
25
24
20
20
42
66
53
33
22
101
76
33
0
0
0
0
0
-21
5
39
-17
3
-53
115
24
60
7
26
-13
0
0
0
0
0
1
15
93
95
-9
80
76
0
-43
8
8
-1
0
0
0
0
0
11
8
7
-33
0
63
71
78
-91
-2
3
-4
0
0
0
0
0
-4
1
-9
-78
4
13
33
-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
33
44
16
-22
39
101
-34
-23
0
33
11
0
0
0
0
0
0
26
54
91
32
-22
-15
28
27
7
54
-1
9
0
0
0
0
0
-29
44
12
104
25
-104
-74
32
-23
-43
26
7
0
0
0
0
0
19
2
-23
35
117
15
-62
104
49
79
-20
-1
0
0
0
0
0
0
-49
56
45
2
-82
-1
61
-9
-16
-25
0
0
0
0
0
0
18
1
45
22
-6
-27
-11
119
74
0
-10
0
0
0
0
0
0
-8
-9
29
8
17
55
53
-2
-7
39
0
0
0
0
0
0
0
0
-1
3
55
3
-41
1
-14
-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
25
32
31
0
0
0
0
0
0
0
0
0
5
0
1
-1
-3
14
-48
153
6
-27
2
0
0
0
0
0
0
0
3
0
-8
20
-31
23
18
13
11
0
0
0
0
0
0
0
0
1
-1
9
-8
-35
25
-43
31
-14
-3
0
0
0
0
0
0
0
11
-11
17
53
29
-61
-25
-65
-14
0
0
0
0
0
0
0
0
6
-10
-13
-6
44
-44
6
-18
3
-6
0
0
0
0
0
0
0
6
-1
-1
9
-29
-29
-32
11
0
-1
0
0
0
0
0
0
0
5
0
3
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
96
0
0
126
43
14
-7
-1
-5
0
0
0
0
0
0
0
0
50
151
100
-23
62
-26
-3
-4
0
0
0
0
0
0
0
0
15
-26
99
73
-3
-43
75
-1
0
0
0
0
0
0
0
0
0
-2
-44
30
23
51
17
22
-3
0
0
0
0
0
0
0
0
0
-39
13
-95
-112
82
-20
48
-3
4
0
0
0
0
0
0
0
0
-25
20
8
-56
21
-9
2
-1
0
0
0
0
0
0
0
0
0
-6
-75
-85
-45
15
2
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-4
34
1
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
-9
-19
0
0
0
-9
53
7
0
0
0
0
0
0
0
0
0
2
119
29
41
32
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-19
71
-5
28
-72
-2
0
0
0
0
0
0
0
0
0
0
0
-56
-43
10
70
1
0
0
0
0
0
0
0
0
0
0
0
0
16
41
-35
25
2
-6
0
0
0
0
0
0
0
0
0
0
0
-8
-64
-71
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-14
-29
0
0
0
0
0
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
-13
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
98
0
0
118
109
4
0
0
0
0
0
0
0
0
0
0
18
19
116
109
42
47
11
5
0
0
0
0
0
0
0
0
0
0
16
59
77
-42
-14
-1
-1
0
0
0
0
0
0
0
0
0
-1
63
14
-6
27
10
0
0
0
0
0
0
0
0
0
0
0
1
-34
-74
75
21
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
19
-31
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
-64
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
33
26
0
0
10
-5
-10
0
0
0
0
0
0
0
0
0
0
5
140
87
57
15
24
0
1
0
0
0
0
0
0
0
0
-1
5
37
47
71
-4
-17
4
2
0
0
0
0
0
0
0
0
0
45
-71
-24
-35
58
5
0
0
0
0
0
0
0
0
0
0
0
10
-72
-10
15
-47
0
0
0
0
0
0
0
0
0
0
0
0
6
0
16
-14
104
-2
0
0
0
0
0
0
0
0
0
0
0
0
14
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
-13
-14
36
135
120
0
0
0
96
-2
0
0
0
0
0
0
9
-21
-14
-21
203
52
0
0
0
98
69
-3
0
0
0
0
0
-3
-33
-45
45
150
156
157
115
-19
36
0
-1
0
0
0
0
0
1
-2
-49
32
1
-11
48
-30
78
-37
-1
-1
0
0
0
0
0
0
2
33
63
-22
-70
-6
13
-30
1
0
0
0
0
0
0
0
-7
-20
-35
-9
-5
-45
-43
4
17
-39
7
0
0
0
0
0
0
-1
18
25
-9
-11
-30
1
-7
-28
2
-2
-2
0
0
0
0
0
0
0
-25
13
59
-18
-28
11
-52
-2
5
0
0
0
0
0
0
0
0
0
-3
-2
-5
5
45
-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
26
0
0
0
31
21
11
-2
0
0
0
0
0
0
-2
-3
3
45
2
47
59
-23
0
-3
-2
-2
0
0
0
-2
1
-10
-3
-8
41
18
-47
-102
-35
-5
-1
0
0
0
0
0
0
-3
-24
-52
31
-13
7
-45
19
-28
-5
0
0
0
0
0
0
-4
7
-9
-4
2
-89
-49
-6
25
-4
0
0
0
0
0
0
0
0
24
-34
-13
24
-24
-40
46
-81
16
0
0
0
0
0
0
0
0
-3
-2
-4
1
-10
-13
-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
119
33
7
6
-23
63
0
0
0
0
0
0
0
0
0
0
0
-43
-31
30
9
-87
9
24
0
0
0
0
0
0
0
0
0
0
17
23
60
0
39
69
-5
-1
0
0
0
0
0
0
0
0
0
-71
126
-13
57
-5
36
-52
14
-5
0
0
0
0
0
0
0
0
65
-24
7
91
-51
-23
16
-18
-21
-5
0
0
0
0
0
0
0
5
22
-11
-47
26
41
-71
-33
45
-3
-5
0
0
0
0
0
0
43
-33
12
-15
-48
2
-6
23
-27
0
-5
11
0
0
0
0
0
1
-6
-30
12
-26
14
46
41
-33
-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
-49
-25
-19
-43
35
176
190
0
0
0
0
1
0
0
0
0
0
19
40
60
-5
66
18
119
0
0
59
19
-22
13
0
0
0
0
-14
-20
-25
71
19
-58
71
153
79
-24
-30
27
0
2
0
0
0
-63
-118
-22
6
79
125
106
17
43
-116
-27
6
0
0
0
0
0
-51
25
3
5
48
36
63
43
-6
72
8
-5
21
-1
0
0
0
91
13
-47
23
47
-34
-10
40
-55
-44
46
-32
0
0
0
0
0
22
29
53
-6
37
-32
57
-52
-45
101
-7
4
0
0
0
0
0
0
11
5
5
-5
-24
-29
1
0
-3
-1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-93
14
-15
12
-3
231
0
0
5
0
0
5
0
0
0
0
-17
-73
-3
-19
-34
102
98
133
46
113
-75
46
0
0
0
0
0
-48
78
2
2
8
52
5
-13
18
20
26
-71
-4
0
0
0
0
6
-39
-5
-1
21
-33
-36
39
71
15
18
-36
2
0
0
0
0
3
-121
41
13
45
-37
-11
-20
-26
14
-93
7
2
0
0
0
0
-91
-36
-62
-36
-34
24
23
1
16
-31
4
79
1
0
0
0
0
26
-31
-85
-48
32
51
-80
-136
-81
58
51
-20
0
0
0
0
0
0
-4
7
-13
-14
-15
-14
-75
-83
-8
10
10
0
0
0
0
0
0
0
-96
33
26
-66
26
7
-4
0
1
0
0
0
0
0
0
3
160
109
157
182
214
127
0
0
0
0
0
0
0
0
0
0
189
3
63
96
120
118
-27
5
-43
0
0
0
0
0
0
0
0
18
-14
0
42
-16
-23
-23
-29
20
-2
0
0
0
0
0
0
0
9
-78
-36
-18
37
69
25
-71
-20
0
2
0
0
0
0
0
0
-21
-9
-15
-98
30
17
38
39
-9
2
0
2
0
0
0
0
0
-40
8
-69
-2
-54
-19
-31
-7
-2
0
0
0
0
0
0
0
0
-111
6
-25
-26
-70
-53
-13
-18
20
-13
0
0
0
0
0
0
0
-26
7
-28
64
57
-14
-30
6
-37
0
0
0
0
0
0
0
0
27
-34
20
0
-22
-33
-3
15
0
0
0
0
0
0
0
0
0
-81
-2
-25
6
15
81
176
101
0
-1
0
0
0
0
0
0
0
-4
-54
15
23
94
220
0
32
34
5
0
-4
0
0
0
0
0
40
-14
-3
69
44
129
18
53
-45
-5
0
0
0
0
0
0
0
-48
-45
-38
-11
-72
30
46
3
-19
11
-5
0
0
0
0
0
0
-17
-13
-75
45
-8
34
-3
-24
57
1
-4
0
0
0
0
0
0
-32
27
-22
-27
-7
4
-22
-24
52
-1
0
0
0
0
0
0
0
-74
-17
-13
64
37
-58
-52
-72
-25
0
0
0
0
0
0
0
0
32
-24
-6
89
-45
-12
-51
-7
0
0
0
0
0
0
0
0
0
0
0
-13
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-43
-32
6
-20
-23
18
185
0
0
55
1
0
0
0
0
0
0
-21
-49
51
-77
-27
108
132
0
247
0
65
-33
5
-6
0
0
0
4
-14
-72
-19
7
18
192
101
119
65
155
-37
0
0
0
0
0
54
-28
-84
-28
35
71
21
-1
29
-43
9
-35
-1
0
0
0
0
-3
110
-50
50
25
48
-60
15
11
-8
-18
0
0
0
0
0
0
-21
-15
-4
105
53
-20
-26
-101
-65
69
10
1
0
0
0
0
0
3
-22
-47
-58
-13
37
7
26
-75
-45
1
1
0
0
0
0
0
-1
6
28
-17
-23
-110
23
-14
-2
-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
35
-10
-82
75
66
122
267
206
0
0
0
0
0
0
0
0
0
14
-21
-21
-21
-23
5
137
0
7
0
19
-2
0
0
0
0
0
44
14
20
-43
-69
56
0
-24
123
34
35
0
0
0
0
0
0
68
-4
-42
-55
-5
59
43
22
14
40
-13
7
10
0
0
0
0
-36
7
33
-9
81
71
2
-100
5
32
27
0
0
0
0
0
0
14
23
1
-32
14
16
-33
-87
-57
-26
0
0
0
0
0
0
0
2
-5
39
-95
-37
-67
48
-18
1
4
1
0
0
0
0
0
0
32
17
9
90
-46
25
-5
-18
0
0
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
56
5
66
90
34
0
0
0
0
0
0
0
0
0
0
0
3
34
73
72
52
75
53
8
0
45
10
0
0
0
0
0
0
-1
25
-7
33
14
-5
9
60
90
-31
0
0
0
0
0
0
0
9
-9
-26
60
-23
-5
20
33
52
-20
-9
0
0
0
0
0
0
-3
-4
-23
-76
2
-35
5
0
-53
-31
2
0
0
0
0
0
0
-54
-79
-44
-9
-45
-35
-13
-29
6
7
3
0
0
0
0
0
0
-4
-58
-19
-42
-52
-39
-37
23
16
-12
2
0
0
0
0
0
0
0
23
16
-22
-1
-8
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
30
-81
36
-32
-8
-48
13
0
0
0
0
0
0
0
0
0
-9
11
2
-19
-24
14
-32
74
9
3
0
0
0
0
0
0
0
-25
8
71
-49
35
9
24
-9
-18
0
0
0
0
0
0
0
0
104
-15
5
56
-1
-5
3
0
1
0
0
0
0
0
0
0
0
36
28
38
-128
75
-10
0
0
0
0
0
0
0
0
0
0
0
7
70
20
22
-29
-5
0
0
0
0
0
0
0
0
0
0
0
-24
-109
23
-4
-7
16
0
0
0
0
0
0
0
0
0
0
0
-8
25
5
32
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
51
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-16
22
-32
1
0
0
0
0
0
0
0
0
0
0
0
5
146
-23
17
-24
4
0
0
0
0
0
0
0
0
0
0
0
6
35
-20
5
10
1
-1
0
0
0
0
0
0
0
0
0
0
-26
80
94
-29
-16
0
0
0
0
0
0
0
0
0
0
0
0
-14
-5
-32
15
-4
4
0
0
0
0
0
0
0
0
0
0
0
15
-5
23
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-31
-40
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
-16
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-34
-15
-3
-42
-4
1
0
0
0
0
0
0
0
0
0
-23
53
18
6
-4
3
-16
5
3
0
0
0
0
0
0
0
0
35
-41
-18
34
-10
-30
-2
0
0
0
0
0
0
0
0
0
0
-27
-41
6
148
11
-1
0
0
0
0
0
0
0
0
0
0
0
-44
77
23
81
18
0
0
0
0
0
0
0
0
0
0
0
0
-6
46
46
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-71
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
-27
-3
14
9
-11
-13
2
0
0
0
0
0
0
0
0
0
-8
34
63
18
1
-17
1
14
1
0
0
0
0
0
0
0
0
27
48
38
-45
71
-21
0
-2
0
0
0
0
0
0
0
0
0
-3
3
67
60
33
-14
0
0
0
0
0
0
0
0
0
0
0
0
43
-3
15
8
14
2
0
0
0
0
0
0
0
0
0
0
-1
14
5
-35
-26
1
0
0
0
0
0
0
0
0
0
0
0
-2
9
8
-1
-7
-4
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
2
-65
45
31
58
27
-7
-53
0
5
1
0
0
0
0
0
0
-53
27
20
1
30
-10
53
-73
54
-5
0
0
0
0
0
0
0
-3
130
-31
46
4
79
0
46
3
4
0
0
0
0
0
0
0
-8
38
91
59
-81
-7
26
-10
6
7
-1
0
0
0
0
0
0
24
12
57
91
-3
-20
-2
0
-1
2
0
0
0
0
0
0
0
-1
56
6
36
19
-4
4
-2
1
-3
0
0
0
0
0
0
0
-2
30
-33
3
6
2
-1
0
-3
5
0
0
0
0
0
0
0
-5
-8
2
21
-2
0
0
0
-29
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
-21
5
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
-46
-15
1
-14
-1
0
-1
5
0
0
0
0
0
0
0
0
1
82
27
9
-1
0
0
0
1
0
0
0
0
0
0
0
0
46
54
-59
55
0
1
-15
0
0
0
0
0
0
0
0
0
0
-31
-24
46
35
-24
-1
0
0
3
-3
0
0
0
0
0
0
0
0
62
-22
-14
-3
1
2
0
0
0
0
0
0
0
0
0
0
17
-65
82
-5
2
-4
0
0
0
0
0
0
0
0
0
0
0
-32
-22
9
-20
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
151
33
56
-4
44
16
-14
0
30
50
99
8
0
0
0
0
74
29
10
92
47
-19
-19
34
-36
176
41
79
3
0
0
0
0
35
30
51
138
44
119
-13
-37
-35
95
-42
-19
6
-5
0
0
0
-32
7
-15
74
39
-34
66
63
136
46
2
49
-10
-18
0
0
0
16
11
-23
-12
91
38
50
-85
90
2
-24
26
-3
0
0
0
0
3
-41
33
99
24
-4
43
-4
-71
-10
-2
0
0
0
0
0
0
10
44
-49
30
-16
-25
6
25
85
-49
-7
0
0
0
0
0
0
23
-4
-24
0
1
-2
0
5
-27
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
-42
5
-8
77
-6
27
-34
0
-99
-87
34
-24
0
0
0
0
0
-52
-72
-43
79
26
-16
4
-19
-24
52
-8
4
2
35
0
0
0
-94
-77
-32
71
26
13
-47
-206
-64
-65
141
31
0
0
0
0
0
-134
-36
3
-15
-22
42
-15
-63
-49
29
52
-10
13
0
0
0
0
-41
29
-133
-63
-33
40
-96
0
-95
9
35
-22
22
0
0
0
0
-1
-9
-9
91
10
30
23
9
17
-8
95
-21
0
5
0
0
0
-37
23
-18
-21
52
29
-5
-47
35
11
-39
-4
0
0
0
0
0
-34
-45
26
4
-96
-56
-32
-16
14
-49
5
-2
0
0
0
0
0
0
1
-16
13
-11
-68
22
40
72
-22
0
0
0
0
0
0
0
-13
-43
-15
87
18
-67
69
0
4
87
45
15
-14
34
15
0
0
22
32
-28
131
31
15
5
-11
26
14
65
7
-2
-4
3
3
0
33
-44
91
79
-26
21
-91
-95
-21
-42
10
-60
40
8
-3
0
0
5
49
49
-98
-16
-27
-32
-64
99
-18
-1
-21
14
0
0
0
0
-3
17
20
18
-8
32
46
-20
-35
3
-53
-5
2
-2
0
0
0
-2
-33
22
33
18
-20
36
28
0
46
61
-45
4
0
0
0
0
0
-25
24
35
3
3
20
7
-34
-24
-14
-56
1
-4
-4
0
0
0
0
0
17
-25
-17
-2
68
8
-56
42
22
-5
-9
-2
3
0
0
0
3
45
8
23
25
-58
2
4
-6
-6
13
-6
2
0
0
0
25
44
54
40
14
85
0
15
-12
28
25
0
0
0
0
0
0
4
50
172
49
7
70
-19
98
2
79
14
-12
2
0
0
0
0
-26
74
33
80
0
-79
-7
8
24
-46
-10
0
0
0
0
0
0
0
18
34
11
-10
-84
1
26
-14
22
-27
0
1
0
0
0
0
3
4
43
14
37
6
47
4
-90
-58
-4
1
0
0
0
0
0
1
10
68
-52
18
-8
-55
45
-26
-2
-5
2
-2
0
0
0
0
0
16
18
-10
17
-1
-71
-14
-70
-21
-22
3
-1
0
0
0
0
-1
0
27
-19
27
-19
-99
-85
-34
22
-5
2
0
0
0
0
0
0
0
0
0
19
1
0
0
0
0
0
0
0
0
0
33
33
62
90
94
3
130
72
0
5
65
59
-23
0
0
0
0
2
14
88
11
6
63
-27
-94
-18
109
6
-5
1
2
0
0
0
13
53
121
79
30
5
-21
-16
-14
-48
-43
-13
36
1
2
0
0
113
95
1
13
127
-1
72
98
139
14
-19
-70
5
-2
0
0
0
27
37
91
81
-14
29
-22
54
114
63
-49
7
-1
0
0
0
0
27
0
39
35
28
-37
-90
8
90
49
-19
-3
0
0
0
0
0
1
-46
86
47
76
17
-25
-29
-35
15
-1
1
0
0
0
0
0
0
41
-43
14
1
-34
-3
-14
16
14
2
0
0
0
0
0
0
0
7
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
61
-66
9
61
-6
23
10
111
0
-65
35
1
0
0
0
0
0
47
53
123
95
72
47
32
-98
-70
-14
-3
1
1
0
0
0
0
20
148
136
58
-51
59
-7
-56
-78
95
5
-2
0
0
0
0
0
5
14
85
24
-29
78
42
100
-7
3
-2
-4
0
0
0
0
0
5
30
102
23
-32
-37
46
-17
11
6
29
0
1
0
0
0
0
-33
0
71
-5
53
-3
52
-8
15
-5
-1
-4
0
0
0
0
0
4
2
20
-27
5
10
55
-25
-51
0
0
3
0
0
0
0
0
0
5
2
2
2
-21
7
-14
4
-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
-9
0
10
4
0
11
0
0
0
0
0
0
0
11
-7
26
0
18
0
7
0
-59
-53
9
0
0
0
0
0
0
-1
11
7
-35
33
-34
-5
3
-9
-18
-9
0
0
0
0
0
0
6
18
-14
11
35
-6
-27
0
-1
0
0
0
0
0
0
0
0
-2
13
13
18
8
-7
6
2
-18
0
0
0
0
0
0
0
0
0
3
4
-1
4
-6
10
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
-14
62
0
0
0
0
0
0
0
0
0
0
0
3
0
0
38
-59
14
29
-4
-3
0
0
0
0
0
0
0
1
16
173
262
18
35
-70
-1
2
1
0
0
0
0
0
0
0
0
-51
17
233
99
5
9
7
0
0
0
0
0
0
0
0
0
-4
-13
-3
60
105
-24
-45
-3
-1
0
0
0
0
0
0
0
0
-4
-34
82
35
-91
24
5
3
0
0
0
0
0
0
0
0
0
2
-14
57
-33
17
-51
32
0
0
0
0
0
0
0
0
0
0
0
0
-30
-61
2
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
46
12
-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
5
-45
-6
-1
0
0
0
0
0
0
0
0
0
0
0
146
152
9
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
16
105
-124
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
29
17
-11
1
0
0
0
0
0
0
0
0
0
0
0
4
2
-17
50
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
-45
2
-10
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
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
29
-6
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
22
74
-17
0
0
0
0
0
0
0
0
0
0
0
14
137
100
96
-49
62
0
2
0
0
0
0
0
0
0
0
0
4
-18
66
65
-23
5
7
0
0
0
0
0
0
0
0
0
0
3
-11
71
-72
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
48
74
6
0
0
0
0
0
0
0
0
0
0
0
0
1
6
10
5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
30
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
4
4
0
0
0
19
-2
2
0
0
0
0
0
0
0
0
0
-5
2
0
0
14
18
0
4
0
0
0
0
0
0
0
0
0
0
63
133
143
-26
-31
2
1
0
0
0
0
0
0
0
0
0
3
-1
33
170
-59
-11
5
0
0
0
0
0
0
0
0
0
0
6
-24
-53
-5
-20
24
-2
0
0
0
0
0
0
0
0
0
0
0
26
-20
-102
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-6
-75
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-46
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
27
-18
-4
7
-23
43
0
0
0
10
-7
0
0
0
0
0
-4
-47
-11
14
-36
35
-14
0
0
0
37
-42
-6
-6
0
0
0
4
-43
73
65
-21
45
25
128
106
126
-26
14
-5
0
0
0
0
0
47
8
20
-3
6
-18
80
194
176
-43
43
0
0
0
0
0
0
-44
50
25
-8
-50
-29
22
181
9
19
16
0
2
0
0
0
0
-11
56
9
16
2
26
-25
-5
-2
34
-17
0
0
0
0
0
0
32
11
-9
-7
-27
0
-36
-64
-79
-90
-16
0
0
0
0
0
0
0
22
-2
-7
51
0
-7
-66
-32
-52
0
3
0
0
0
0
0
0
0
0
0
0
6
-1
-3
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-1
-1
0
0
0
0
0
2
0
0
3
14
2
0
0
0
-10
-5
-1
7
0
0
0
0
4
0
3
-7
-3
0
-13
46
-7
-23
14
-1
0
0
0
0
0
-2
-9
21
5
-16
8
32
-5
146
-81
-1
-3
0
0
0
0
0
-2
41
-1
11
-17
7
119
101
129
-20
-5
-1
0
0
0
0
0
0
-10
1
-8
-11
11
33
44
163
-67
3
0
0
0
0
0
0
0
15
2
3
7
-9
134
32
17
-47
5
0
0
0
0
0
0
-1
-1
0
0
0
-4
34
104
87
14
2
0
0
0
0
0
0
0
0
0
0
0
0
2
99
-5
-5
0
0
0
0
0
0
79
45
32
-92
-13
-55
-4
0
0
0
0
0
0
0
0
0
0
-163
-15
23
19
46
69
4
0
0
0
0
0
0
0
0
0
0
-33
-19
69
7
105
-34
36
18
0
1
0
0
0
0
0
0
0
-76
32
-51
-52
41
52
1
-1
0
5
0
0
0
0
0
0
0
39
-9
-7
1
-23
-15
-1
27
-2
-24
0
0
0
0
0
0
0
29
-114
-30
4
-58
45
-20
31
3
-2
0
0
0
0
0
0
0
-57
-118
-4
-7
94
119
80
-51
22
-26
-4
0
0
0
0
0
0
-6
-38
54
42
0
23
-3
-5
9
14
7
0
0
0
0
0
0
0
32
-2
-21
-23
4
4
0
0
0
0
0
0
0
0
0
0
-67
10
20
34
123
36
68
0
0
0
43
32
-1
0
0
0
0
-22
-15
-42
8
10
83
89
0
0
173
-34
-8
1
0
-2
0
0
0
24
42
-5
-41
37
33
92
255
-41
-5
77
0
0
-8
0
0
-31
-63
71
-85
0
71
48
27
139
68
37
8
0
0
0
0
0
-32
71
71
0
-4
-79
-54
-87
-17
-19
-22
-22
-2
0
0
0
0
-21
43
-22
-65
-16
33
4
27
-25
10
0
0
0
0
0
0
0
-11
-56
36
-60
85
60
-81
3
-7
-3
-23
1
0
0
0
0
0
0
18
37
36
-32
-16
0
3
-41
-6
-13
0
0
0
0
0
0
0
9
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
33
15
-33
32
55
81
0
0
75
-63
-29
0
0
0
0
0
19
13
25
6
19
4
-13
77
64
3
47
29
0
0
0
0
0
-40
28
-6
36
24
-12
14
5
-18
130
49
30
0
0
0
0
0
-9
12
14
9
13
-2
5
38
20
56
25
-15
0
0
0
0
0
1
-67
18
38
-63
-78
37
-71
61
-65
-2
-15
-1
0
0
0
0
-10
-44
-105
-52
-47
69
11
24
94
-41
-19
0
0
0
0
0
0
-14
25
8
-52
-129
-39
-1
37
-87
12
16
0
0
0
0
0
0
-18
90
-11
7
-9
38
-28
-55
-59
-86
0
0
0
0
0
0
0
-3
-11
21
-33
72
40
18
-18
2
-30
6
0
0
0
0
0
0
53
14
-20
72
64
81
6
0
0
0
0
0
0
0
0
0
0
-18
11
-46
51
65
76
-5
-2
0
0
0
0
0
0
0
0
0
-11
-20
-32
35
-2
64
62
-33
-14
0
0
0
0
0
0
0
0
-21
-15
-5
39
-6
40
18
-29
0
0
1
0
0
0
0
0
0
7
3
-69
-13
16
-12
4
-33
-2
0
0
0
0
0
0
0
0
-2
14
10
-57
21
1
71
-22
-15
-3
-1
0
0
0
0
0
0
-46
-14
22
-23
38
131
53
31
-9
11
0
0
0
0
0
0
0
45
-15
23
74
12
-76
69
25
-6
0
0
0
0
0
0
0
0
35
-29
11
-23
-10
-37
-19
56
19
0
0
0
0
0
0
0
0
36
13
48
21
-8
36
101
34
0
0
0
0
0
0
0
0
0
-34
-30
54
96
97
71
0
-50
71
-6
-1
0
0
0
0
0
0
-42
43
-99
25
114
-36
93
-57
0
0
0
0
0
0
0
0
0
-25
-18
21
-19
29
57
4
-14
-33
-2
-2
0
0
0
0
0
0
16
-29
59
-70
-22
-19
1
5
82
0
0
0
0
0
0
0
0
-25
-15
36
-3
33
-14
4
-59
-12
2
0
0
0
0
0
0
0
-29
40
8
-45
64
109
-88
-25
-64
0
0
0
0
0
0
0
0
-67
2
52
-67
-66
-18
-17
22
-4
0
0
0
0
0
0
0
0
0
3
-58
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-54
-1
47
58
124
129
0
0
-5
36
32
2
0
0
0
0
-13
-21
-16
59
32
-9
94
0
176
0
21
90
2
0
0
0
0
37
23
-1
25
100
21
40
31
150
22
-53
1
1
0
0
0
0
51
-3
-17
54
-1
-70
41
-52
152
3
-103
43
2
0
0
0
0
62
-2
7
43
-21
-8
23
46
-33
10
-56
0
0
1
0
0
0
-50
71
35
-55
-4
37
-15
-57
33
-85
7
-11
0
0
0
0
0
9
6
-33
-133
48
-53
-23
29
-53
-53
-2
0
0
0
0
0
0
-4
2
-131
-50
32
-13
-25
1
-24
7
6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
8
0
0
0
0
0
0
0
-10
-92
-1
51
-12
-71
-56
9
0
71
23
1
-7
0
0
0
0
16
39
5
45
7
-11
64
0
103
0
24
5
0
0
0
0
0
-21
-45
15
-57
50
75
-9
53
204
88
66
-15
-2
0
0
0
0
-68
-87
-21
20
67
6
122
113
121
100
28
6
-3
0
0
0
0
-62
-2
16
-64
-13
-4
-20
-37
143
30
-1
-1
1
0
0
0
0
10
-8
23
12
-45
-55
-9
2
29
-28
-14
0
0
0
0
0
0
20
21
-57
-29
6
50
-6
-11
-20
-27
-2
0
0
0
0
0
0
0
-37
-27
-1
-46
4
9
-10
2
-15
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
-59
-46
8
-19
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
-41
2
1
-3
0
0
0
-29
0
0
0
0
0
0
0
27
2
3
-32
0
-4
0
-4
31
-2
0
0
0
0
0
0
0
-15
7
10
2
-3
-1
0
22
61
0
0
0
0
0
0
0
-1
44
-61
7
21
-2
0
-19
32
14
0
0
0
0
0
0
0
-6
0
-31
11
-7
0
-1
-3
21
93
1
0
0
0
0
0
0
-1
0
-2
-1
8
-2
0
-6
-25
98
1
0
0
0
0
0
0
-1
-9
-21
0
-3
0
0
-2
46
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
2
0
0
0
0
0
11
2
0
0
0
0
0
0
0
-14
23
-74
32
27
-65
-42
20
7
18
0
0
0
0
0
0
-17
14
-43
-24
93
-10
-16
16
32
9
3
0
0
0
0
0
0
14
-19
92
47
90
-39
31
1
1
6
1
0
0
0
0
0
0
-33
-12
-1
-57
-3
-3
0
-3
0
0
0
0
0
0
0
0
0
-32
11
54
8
34
-26
0
6
0
0
0
0
0
0
0
0
0
-48
-6
49
27
43
-7
2
0
0
0
0
0
0
0
0
0
0
50
71
18
-100
-7
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
-2
0
-1
0
0
1
-5
-5
11
11
0
0
0
0
0
0
0
0
-6
-10
-42
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
-8
-16
-28
-7
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-2
29
7
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
46
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
33
20
15
2
0
0
0
0
0
0
0
0
0
0
0
0
4
25
-53
-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
10
1
42
36
-3
4
0
0
0
0
0
0
4
-18
24
23
-5
-4
1
-18
-3
-13
0
0
0
0
0
0
0
-3
6
-30
-46
-52
3
-6
0
3
0
0
0
0
0
0
0
0
0
6
-50
98
-8
-6
0
0
0
0
0
0
0
0
0
0
0
1
-3
23
29
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-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
27
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-30
-21
-21
-3
0
0
0
0
0
0
0
-4
77
4
-1
-10
-2
-1
2
0
0
0
0
0
0
0
0
0
9
-14
-9
-30
-20
0
0
0
0
0
0
0
0
0
0
0
0
-43
44
38
32
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
23
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
0
101
-5
0
0
0
0
0
0
0
-6
-24
-25
-27
-36
-52
28
-61
154
0
0
0
0
0
0
0
-1
-5
-8
-14
-47
-4
-100
-43
-23
-77
1
-1
0
0
0
0
0
-61
-33
21
52
33
-14
25
76
51
-26
0
0
0
0
0
0
0
14
50
53
-44
104
41
24
-25
39
6
0
0
0
0
0
0
0
16
32
31
39
-47
-5
46
-18
4
-1
0
0
0
0
0
0
0
-6
-7
-3
-7
5
-35
14
0
-10
-1
0
0
0
0
0
0
0
0
-18
-6
9
4
9
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
14
7
-2
0
-1
0
2
1
0
0
0
0
0
0
0
0
0
25
-45
23
-3
1
-4
0
0
0
0
0
0
0
0
0
0
-4
5
-2
15
-2
-6
0
0
0
0
0
0
0
0
0
0
0
1
26
0
17
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
-8
41
0
-25
-15
63
-5
8
0
0
0
0
0
5
-5
20
46
-2
7
-55
205
53
32
-5
43
-4
0
0
2
2
-75
33
64
14
-68
28
-124
-55
1
26
4
-7
4
0
0
-2
2
24
-54
-42
2
-62
130
79
35
-61
-60
10
0
0
0
0
-8
20
-102
-2
49
70
67
65
23
84
-33
-73
0
0
-3
0
0
-29
-4
15
102
-27
42
9
45
-138
5
16
0
0
0
0
0
0
0
-19
-2
-49
46
82
2
28
5
27
0
0
0
0
0
0
0
0
0
2
-2
-48
-48
-7
33
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
-25
-26
5
23
-31
-37
0
-50
-114
-119
-120
15
-14
0
0
0
1
52
-15
3
17
-1
-6
-38
-2
-59
-53
49
39
-43
5
0
0
82
33
16
56
-33
-17
3
5
26
-7
-10
-66
-57
8
1
0
0
9
111
5
31
22
5
-31
-27
2
4
-49
-4
-34
10
0
0
0
33
-35
38
-7
37
-27
-15
3
-52
-3
10
16
-46
-1
0
0
0
58
24
-4
54
-70
42
25
-36
14
-42
-2
-56
60
-8
0
0
0
18
77
-51
65
14
-77
-43
-16
-60
47
71
61
-23
0
0
0
0
53
58
-33
-5
-47
23
7
36
-8
-50
7
23
-1
-13
0
0
0
0
-7
10
-2
-3
28
51
-24
-30
0
-23
-22
-5
0
0
0
0
0
0
0
-1
2
6
58
0
-58
32
16
6
0
0
0
0
0
0
0
10
-7
6
52
76
-20
7
-18
25
19
5
0
0
0
0
0
0
-13
5
54
22
77
48
5
26
-21
0
-3
-2
0
0
0
0
7
4
64
59
23
44
-44
38
-36
22
3
0
0
0
0
0
0
1
33
89
9
80
-81
12
-8
-15
-9
0
-1
0
0
0
0
0
0
-16
-11
57
-12
-13
-5
47
2
0
0
0
0
0
0
0
0
0
-2
-46
25
-77
-12
22
-20
-4
0
0
0
0
0
0
0
0
-17
0
-20
-43
-14
-23
0
9
-10
0
0
0
0
0
0
0
1
0
0
-4
-23
5
-45
1
0
-2
0
0
0
0
0
0
0
0
0
-2
25
5
-26
-14
0
11
25
-17
0
-6
0
1
0
0
0
-5
45
148
35
-54
88
-51
53
1
135
56
27
14
0
0
0
0
-6
126
80
15
3
118
75
39
2
49
117
26
-6
1
0
0
0
1
-12
91
63
1
-12
102
89
-63
5
16
6
-1
4
0
0
0
-11
55
171
-41
-63
4
13
72
70
-22
-16
1
0
0
0
0
0
0
53
-25
27
11
25
31
-47
-73
86
55
0
0
0
0
0
0
0
0
16
2
-107
-23
-5
27
1
-61
-29
-1
0
0
0
0
0
0
-2
-25
16
12
81
77
-41
-81
20
0
0
0
0
0
0
0
0
-1
0
-1
63
-57
24
-1
0
0
0
0
0
0
0
-4
0
0
0
-6
-19
-17
54
0
-57
-1
-65
18
33
0
0
0
14
-1
15
-3
6
-15
-140
-5
36
36
60
100
-47
-3
11
0
0
-2
37
48
-86
-5
-65
-30
-12
33
0
-27
55
16
3
0
0
0
-6
58
8
9
-11
38
76
32
8
-47
69
32
-15
0
0
0
0
-5
24
20
9
17
-28
44
60
99
63
-6
3
-2
-3
0
0
0
0
16
12
-7
61
13
170
124
109
20
0
0
-2
0
-2
0
0
0
0
21
-33
36
73
-5
-4
92
0
5
0
3
0
0
0
0
0
4
-3
4
117
-3
39
54
34
-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
18
-17
22
-15
0
-1
-30
0
0
5
-1
0
0
4
2
0
-33
8
-30
43
-89
69
-23
-12
90
5
-1
2
0
0
-3
-1
-19
-14
-27
32
-11
-33
32
28
24
-66
-5
0
0
0
0
0
-69
-18
33
154
27
-24
8
120
7
0
-12
0
0
0
0
0
4
31
98
-72
58
-55
-5
135
-17
91
8
0
0
0
0
0
0
0
25
17
33
102
-54
13
21
-5
53
7
0
0
0
0
0
0
0
0
-6
0
-6
37
-55
17
43
15
1
0
0
0
0
0
0
0
-7
2
23
37
16
-48
-16
-73
-4
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
-6
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
21
0
0
0
0
0
0
0
0
0
0
-1
0
17
-1
44
4
53
-1
0
0
0
0
0
0
0
0
2
0
0
-5
-1
-14
-74
5
-5
0
0
0
0
0
0
0
1
0
2
2
2
23
74
-26
-1
3
0
0
0
0
0
0
0
45
-2
0
-8
8
1
-6
-7
0
0
0
0
0
0
0
0
-4
-4
8
-3
-2
3
-1
-24
-3
-3
0
0
0
0
0
0
0
1
5
8
-1
-1
-1
-3
1
-13
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
33
-43
18
4
2
0
0
0
0
0
0
0
0
54
0
0
145
59
71
-33
3
18
5
0
0
0
0
0
0
9
37
-31
11
100
-18
87
32
-16
-20
0
0
0
0
0
0
0
-5
76
-2
45
-18
123
22
21
3
1
-1
0
0
0
0
0
0
20
-26
-79
-100
63
-65
-4
-18
-3
-4
0
0
0
0
0
0
0
-27
27
-9
-45
44
5
-2
2
-3
0
0
0
0
0
0
0
0
17
25
4
6
41
-13
5
-3
0
0
0
0
0
0
0
0
0
4
-49
-21
-30
37
-33
6
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
-14
0
0
0
0
0
0
0
0
0
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
27
167
25
24
-4
-8
-1
-2
-1
0
0
0
0
0
0
0
0
-22
54
81
48
82
-5
0
0
0
0
0
0
0
0
0
0
0
46
2
-104
-59
-29
1
0
0
0
0
0
0
0
0
0
0
0
-23
-77
-23
5
-70
1
0
0
0
0
0
0
0
0
0
0
0
-14
4
-8
73
-46
-1
0
0
0
0
0
0
0
0
0
0
0
5
-51
4
-10
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
41
62
3
6
0
0
0
0
0
0
0
0
0
-27
0
0
-17
84
-10
23
-8
-6
0
0
0
0
0
0
0
0
-6
38
133
149
60
15
-31
-35
2
0
0
0
0
0
0
0
10
30
6
-74
18
-54
5
-10
0
0
0
0
0
0
0
0
0
-14
-40
17
-22
-36
-45
6
0
0
0
0
0
0
0
0
0
0
0
-32
27
-12
-19
-13
-2
-1
0
0
0
0
0
0
0
0
0
0
-2
-15
47
-15
0
-3
-1
0
0
0
0
0
0
0
0
0
0
7
-1
-5
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
27
6
5
5
-1
0
0
0
0
0
0
0
0
3
69
-34
118
44
34
9
-2
0
0
0
0
0
0
0
0
0
1
24
7
46
33
33
-5
2
-1
5
0
0
0
0
0
0
0
-4
-57
25
83
32
10
2
0
0
0
0
0
0
0
0
0
0
-7
-61
-18
13
-31
6
0
0
0
0
0
0
0
0
0
0
0
-4
8
28
-33
25
-10
1
-1
0
0
0
0
0
0
0
0
0
0
-33
45
-4
-29
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
55
-23
0
2
0
0
0
0
0
0
0
-7
-4
6
0
0
0
120
13
0
-5
0
0
0
0
0
0
-7
45
15
21
142
123
192
21
16
3
4
0
0
0
0
0
14
-43
-74
17
4
-23
124
69
18
-3
25
-6
0
0
0
0
0
-8
2
15
-17
0
-53
17
-3
66
-25
0
-3
5
0
0
0
8
-23
6
-22
9
4
152
-13
-38
-5
23
1
-1
0
0
0
0
0
1
31
-27
70
-26
-36
-28
19
-26
0
9
4
0
0
0
0
0
0
15
-1
14
50
29
37
112
-30
1
-2
0
0
0
0
0
0
0
0
0
6
9
24
-41
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
50
126
31
41
1
0
-1
0
0
0
0
1
0
0
0
-5
14
8
47
17
-21
-8
0
2
0
0
0
0
2
21
49
-4
1
-23
-21
-46
-10
-8
4
-5
0
0
0
0
0
0
11
1
-37
33
14
-33
-40
77
-29
0
0
0
0
0
0
0
0
-10
-2
1
0
-11
-62
19
-35
-3
0
0
0
0
0
0
0
4
0
0
-2
0
0
-56
23
15
-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
-10
55
-26
2
0
0
0
0
0
0
0
0
0
0
0
0
48
-31
84
-25
36
44
0
0
0
0
0
0
0
0
0
0
0
-46
-95
-7
-3
-23
-119
77
-5
0
0
0
0
0
0
0
0
0
43
36
39
-55
55
42
-74
23
9
-1
1
0
0
0
0
0
0
0
46
35
-33
-51
-43
-11
23
84
-19
0
0
0
0
0
0
0
2
128
72
-53
97
-65
6
-33
10
13
-26
9
-2
-3
0
0
0
-2
-18
113
96
-28
48
73
9
-84
61
-13
43
-2
0
1
0
0
0
21
17
130
-35
-53
-13
83
-75
-14
53
-29
-27
3
-1
0
0
0
0
0
0
9
-5
23
-18
-5
-2
0
0
0
0
0
0
0
5
-37
-51
3
-11
10
1
0
0
0
147
-4
-1
4
0
0
0
-81
-31
-93
-20
86
31
40
0
0
239
25
-13
72
-36
-2
1
0
79
0
5
-42
14
-38
132
194
-18
52
155
39
5
-1
-32
0
0
-46
-89
23
-61
-21
68
-46
18
83
44
-26
14
0
-1
3
0
0
-22
14
-80
-24
29
26
83
26
54
-17
-3
13
17
0
0
0
0
30
16
-44
81
62
19
-1
-50
36
-88
-35
43
-1
0
0
0
0
10
6
76
53
-5
-24
34
-47
-75
-12
-29
-7
0
0
0
0
0
0
-11
21
19
-2
20
-39
-7
19
-19
0
-3
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
9
0
7
0
0
0
0
0
0
-8
-23
13
-24
94
105
0
0
-38
-11
17
0
-5
0
0
0
-26
15
-58
143
27
41
90
38
63
-76
8
-71
-15
-2
0
0
0
-80
7
-32
69
32
11
58
27
37
9
-70
-68
43
-1
0
0
0
-3
2
-37
-9
79
81
-53
43
31
6
-96
10
-11
4
6
0
0
-53
-42
72
17
-44
45
-10
15
49
59
-68
-12
-33
-1
0
0
0
-7
-32
-10
29
-10
-7
12
13
-23
-64
48
26
8
0
0
0
0
-54
-21
-6
-5
-14
-78
-144
31
1
-10
24
-71
-35
5
0
0
0
26
56
172
-14
-68
-16
6
16
-34
-109
-48
6
-2
0
0
0
0
0
8
-26
-44
68
6
-114
-78
-45
-4
-48
2
0
0
0
0
0
-43
74
22
23
39
0
-5
0
0
-1
2
0
0
0
0
0
0
76
43
20
169
96
109
25
17
-55
5
1
0
0
0
0
0
0
3
14
-4
34
11
1
-77
-36
-41
-5
0
-1
0
0
0
0
0
25
8
-72
-32
-2
5
19
34
-20
-7
0
-2
0
0
0
0
0
-36
-77
-105
-85
71
55
-47
-6
-22
2
0
0
0
0
0
0
0
-21
-45
-10
-39
45
-75
-9
-61
-4
0
0
0
0
0
-1
0
0
20
12
-76
-54
-16
-43
-5
-61
-19
0
0
0
0
-4
0
0
0
0
36
-39
-3
-50
-25
-36
1
-27
-1
9
0
0
0
0
0
0
-9
-18
-5
3
0
7
-9
5
-1
0
-1
0
0
0
0
0
0
-5
6
-34
23
-30
77
51
6
0
1
-2
0
0
0
0
0
0
3
-12
-14
-1
-73
88
0
19
-53
-62
-1
-18
31
0
0
0
0
-51
20
73
33
9
24
65
5
-56
-53
-2
0
0
0
0
0
0
6
6
1
100
26
-34
-41
80
-53
-6
0
0
0
0
0
0
0
1
-51
-33
43
-24
-6
-37
-3
79
-8
4
0
0
0
0
0
0
8
18
-24
28
53
-123
-28
-79
-3
-1
27
0
0
0
0
0
0
-67
-2
-18
5
29
22
16
-24
14
4
13
0
0
0
0
0
0
-3
-61
-42
31
104
15
-29
-43
-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
39
43
45
31
0
0
0
209
43
-14
4
30
0
0
0
-4
-40
-22
-51
5
22
52
0
57
0
23
70
-62
-17
5
0
0
-102
-44
3
-1
56
-10
169
3
67
-23
47
-13
33
2
0
0
0
-22
52
53
56
39
-27
94
56
115
-13
-62
5
-11
2
0
0
0
-4
-27
19
-34
80
-40
71
54
22
52
-81
-6
13
0
0
0
0
-21
-39
-25
82
-7
-128
35
-49
-50
4
-69
5
-11
-1
0
0
0
-1
-45
-11
78
-34
-50
89
-89
-61
-81
2
21
5
0
0
0
0
0
1
-7
-18
-50
-76
-18
-58
-11
-14
7
4
7
0
0
0
0
0
0
0
0
-1
0
-1
-1
14
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
-21
-36
48
15
33
0
36
0
5
9
21
0
0
0
0
-3
20
-34
23
12
13
24
64
120
-7
33
81
17
1
-3
0
0
5
-7
15
59
2
87
18
-12
35
-53
-8
59
50
-1
0
0
0
34
31
46
-32
25
37
97
-34
-18
-18
-19
33
9
3
0
0
0
2
35
32
-31
-11
-34
49
28
4
-24
11
0
1
0
0
0
0
-1
-5
8
14
-8
-57
-38
-102
-24
-32
-3
-1
0
-2
0
0
0
0
-41
-4
-28
-59
42
-62
44
-49
-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
10
0
0
-1
0
19
13
32
0
0
0
0
0
0
35
13
20
-11
-17
-7
1
54
-8
-7
1
0
0
0
0
0
0
34
5
-16
-23
-53
-35
-44
-14
-52
21
-2
0
0
0
0
0
0
-69
0
-19
75
19
-49
-12
61
-99
3
-1
-2
0
0
0
0
3
2
-38
-13
-72
-17
-41
-64
-47
-32
11
0
0
0
0
0
0
7
9
-43
-1
-26
5
-5
-4
-91
23
-1
0
0
0
0
0
0
-6
35
36
9
-17
-6
58
-6
-53
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
-26
-14
-3
18
0
7
0
0
0
0
0
0
0
0
43
1
32
18
6
2
-11
31
15
0
0
0
0
0
0
0
0
-33
-72
9
-7
-8
5
0
0
0
0
0
0
0
0
0
0
0
29
-22
37
-5
-7
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
0
0
0
-9
-39
-5
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
26
21
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
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
14
-16
-4
0
-4
1
29
-7
0
0
0
0
0
0
0
-1
1
0
31
-6
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
1
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
1
-2
-1
0
10
0
0
0
0
0
0
0
0
0
8
8
37
7
14
-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
25
25
-22
-34
0
-8
-23
7
0
0
0
0
0
0
17
17
63
71
6
-81
7
-34
39
-7
-5
4
0
0
0
0
-1
23
-5
26
3
29
-51
-83
66
-56
-5
11
0
0
0
0
0
0
39
10
5
23
8
-10
27
-1
9
24
0
0
0
0
0
0
10
3
17
9
-14
-49
-47
6
31
6
5
7
0
0
0
0
0
0
-5
16
10
9
-23
-57
-31
32
2
0
0
0
0
0
0
0
-1
-5
-10
-8
17
-8
-2
-46
-9
5
0
0
0
0
0
0
0
7
8
5
-5
0
0
5
-15
-74
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
11
11
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
-9
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
-16
3
0
-2
-59
-19
72
0
37
-43
-18
2
5
-2
0
0
0
43
51
19
19
23
-135
-20
12
131
-23
4
-23
47
43
0
0
-4
41
-53
78
33
33
-26
-53
10
90
-17
1
35
83
11
0
0
18
128
80
20
-14
29
0
99
211
43
-5
-31
9
6
18
0
0
0
-14
24
-41
3
-15
-47
-51
87
-28
5
35
36
0
-2
0
0
0
0
-41
25
11
-19
29
-98
-32
5
-39
-2
-3
24
1
1
0
0
0
-7
0
3
5
21
-56
-53
-90
52
-1
0
0
-1
0
0
0
0
0
0
-2
-3
-14
-22
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
6
-9
-30
-4
-8
50
0
-2
21
86
30
9
44
0
0
0
-2
-13
53
15
121
-29
30
34
63
69
58
-80
-11
63
-52
0
0
-53
-24
-63
53
36
-28
-117
-53
-37
-42
5
-18
53
-25
8
0
0
4
-60
-60
-14
-152
79
10
28
-49
-26
52
55
-50
5
1
0
0
-43
-163
-28
57
15
-54
17
3
-76
15
46
16
-119
-21
2
0
0
-8
-72
-5
43
-1
-28
33
-35
-86
-72
-68
0
58
-10
11
0
0
-3
-18
58
183
-102
-21
-5
-31
-53
-4
53
19
-7
13
0
0
0
3
1
37
28
-48
-4
-23
-57
-18
32
-47
71
12
-7
0
0
0
0
1
0
79
7
-25
-34
2
13
15
73
2
-15
1
0
0
0
0
0
-5
0
11
-36
45
0
-8
1
-4
110
-38
-18
25
-6
0
0
-11
-25
0
65
38
28
31
92
-26
75
59
18
31
-1
-13
0
0
0
-1
-73
158
20
22
-19
41
-3
33
23
-33
43
-18
-9
0
0
7
-4
48
56
105
-78
52
-9
-18
15
-42
-28
34
29
-1
0
0
0
0
36
-36
-19
-54
-1
16
0
53
-14
-32
39
0
-1
0
0
0
0
-6
-22
57
-4
40
-19
-23
-21
-17
-95
6
32
0
0
0
0
0
6
34
89
84
-71
-13
-2
42
24
63
9
65
-17
0
0
0
0
-17
43
-49
-62
6
11
32
-5
-44
-6
28
22
59
0
0
0
0
3
-14
-101
-7
-65
56
44
24
-17
76
5
2
5
0
0
0
-10
43
130
17
80
0
23
68
81
45
13
-20
15
-1
0
0
-1
-61
62
39
24
16
-43
63
29
19
48
72
22
47
1
0
0
0
41
-33
-127
-22
-31
-41
-5
9
30
9
-12
15
1
0
0
0
0
8
-11
-48
-32
102
-26
62
53
-45
22
-7
-3
-4
0
0
0
-2
17
21
28
69
-52
29
20
21
-28
-57
46
7
-2
0
0
0
0
-4
-74
-7
66
-132
-80
61
-19
31
23
11
-39
-31
0
0
0
0
8
-11
4
-11
-23
26
-39
-55
-18
5
34
20
-13
5
0
0
0
0
44
-5
-59
-39
-58
26
-10
77
43
25
-13
5
0
0
0
0
0
0
6
-4
53
-13
-5
0
0
0
0
0
0
0
0
1
5
-1
25
74
-96
3
0
17
-30
44
77
-35
0
0
0
-2
45
41
29
50
33
-50
-57
18
58
-40
-27
-3
4
-16
0
0
19
53
52
-4
68
29
-26
-64
35
73
-47
7
-45
-33
21
0
0
14
34
59
80
-19
4
0
117
105
-44
-16
76
-16
29
9
2
0
0
24
0
43
23
33
-15
69
-10
32
17
29
0
-3
2
0
0
0
6
-3
34
-3
71
5
-27
-35
88
-66
-14
0
0
0
0
0
0
0
5
4
-10
7
-15
-62
-4
-5
57
-7
-4
0
0
-1
0
0
0
8
0
-60
1
45
-29
-24
-63
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
10
19
11
-26
47
0
-50
5
-21
0
2
0
0
0
3
-6
9
25
49
53
-89
-69
79
41
36
20
-16
0
0
0
0
0
31
-5
29
-26
-33
-59
-12
0
48
33
56
5
3
0
0
0
9
-25
26
13
-26
-23
31
125
24
67
66
80
0
0
0
0
0
0
4
-6
10
-23
99
54
96
62
76
93
16
0
0
0
0
0
0
0
-5
36
-31
-33
-11
-5
7
78
93
2
2
0
0
0
0
0
4
4
4
39
5
-47
-1
-82
-44
-6
0
0
0
0
0
0
0
0
0
8
4
10
3
-14
16
-55
-10
0
0
0
0
0
0
0
0
0
0
0
0
-18
-37
-9
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
33
0
48
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
50
119
-33
0
0
0
0
0
0
0
0
0
10
0
2
-4
43
-37
-20
-5
0
0
0
0
0
0
0
1
3
0
0
1
6
-37
32
-4
0
0
0
0
0
0
0
0
0
5
0
0
0
1
14
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-18
10
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
22
0
0
0
-57
81
-7
62
2
0
0
0
0
0
0
0
0
52
0
0
53
-69
-17
-9
-23
-29
15
0
0
0
0
0
0
0
40
253
161
83
-35
-109
-44
41
-36
0
0
0
0
0
0
0
9
0
137
229
37
-119
-31
14
1
31
0
0
0
0
0
0
0
2
66
154
-54
-6
-2
-7
-17
56
-24
0
0
0
0
0
0
0
0
14
-21
-5
23
-22
48
7
-11
-4
-4
0
0
0
0
0
0
0
-46
-45
-78
-5
-31
-78
-73
9
-15
5
0
0
0
0
0
0
0
-14
2
9
24
7
-16
6
-3
4
0
0
0
0
0
0
0
0
4
-26
-47
-2
1
-1
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
63
35
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
76
32
2
-3
-9
3
0
0
0
0
0
0
0
0
35
147
218
110
-30
-50
-3
-3
-8
0
0
0
0
0
0
0
0
18
34
53
-45
22
-14
-6
-5
0
0
0
0
0
0
0
0
0
72
-29
-33
57
-57
4
0
0
-2
0
0
0
0
0
0
0
0
18
49
-2
-5
-35
-9
2
0
0
0
0
0
0
0
0
0
0
-3
-14
-23
58
-3
20
-1
0
0
0
0
0
0
0
0
0
0
0
32
-46
77
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
85
-49
-4
0
1
0
0
0
0
0
0
0
0
15
0
0
65
49
35
9
-9
3
-2
0
0
0
0
0
0
0
2
92
112
81
-26
-60
20
-4
-1
2
0
0
0
0
0
0
0
-71
-4
109
-6
-20
50
28
4
0
0
0
0
0
0
0
0
0
36
-95
-66
22
-20
19
-9
-19
-2
-1
0
0
0
0
0
0
0
58
-90
-11
18
-24
7
2
0
2
0
0
0
0
0
0
0
0
-37
-43
-52
-43
13
16
-2
0
0
0
0
0
0
0
0
0
0
4
-9
-9
16
-3
5
2
0
3
0
0
0
0
0
0
0
0
2
-5
13
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
70
-31
53
2
0
0
0
0
0
0
0
0
-4
52
0
0
83
20
37
9
-3
0
0
0
0
0
0
0
0
0
52
50
83
51
-41
-41
-2
0
-3
0
0
0
0
0
0
0
2
-60
55
128
57
8
1
7
0
-9
0
0
0
0
0
0
0
0
16
-32
-6
-34
-33
-47
4
5
-2
0
0
0
0
0
0
0
0
-4
31
-47
7
71
-6
1
0
0
0
0
0
0
0
0
0
0
-11
-59
-36
105
-24
13
0
0
0
0
0
0
0
0
0
0
0
0
5
-76
-29
-29
-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
-26
5
9
0
0
-2
0
0
4
0
-11
-16
-32
2
0
0
0
40
-5
-24
-29
0
1
0
0
0
-3
9
20
1
-91
247
147
80
-23
81
-9
38
-6
0
0
0
4
-1
-23
13
-25
62
97
279
89
18
-42
-37
-6
-6
0
0
0
9
7
-2
3
17
2
-65
109
39
29
-33
23
16
5
-2
0
0
0
0
-1
5
-5
-18
-71
-35
15
-54
-13
-21
-33
-4
-4
0
0
0
0
0
16
-14
-21
-32
25
-45
-6
58
-10
-13
-31
-7
0
0
0
0
0
0
33
-6
-78
-73
-80
-5
-32
-11
-1
-2
0
0
0
0
0
0
0
0
-27
20
-73
35
-44
15
5
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
-2
0
0
0
-63
-13
-9
-4
0
-10
0
0
0
0
0
0
0
5
18
-66
19
-5
34
-1
-1
-2
0
0
0
0
0
0
0
0
0
9
107
46
101
-59
-7
5
-4
0
0
0
0
0
0
0
0
27
100
209
90
-28
13
-2
1
0
0
0
0
0
0
0
0
9
-6
23
149
113
-136
43
0
-6
0
0
0
0
0
0
0
0
9
3
-33
50
137
-54
56
-7
-2
0
0
0
0
0
0
0
0
0
0
60
53
83
-120
6
0
0
0
0
0
0
0
0
0
0
0
0
4
49
-11
-54
-1
0
0
0
0
0
-54
58
39
33
51
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-57
5
15
62
0
1
0
0
0
0
0
0
0
0
0
0
49
-30
50
12
-57
-17
-2
0
0
0
0
0
0
0
0
0
0
-30
-5
7
93
54
-14
26
0
0
0
0
0
0
0
0
0
0
31
14
11
0
19
-34
-4
-34
8
-6
0
3
1
0
0
0
0
0
56
63
-11
18
-70
-35
-5
39
5
-5
3
4
6
0
0
0
0
-6
-31
-53
-24
43
6
-35
43
-67
14
-11
4
-5
-10
0
0
0
0
34
18
-19
-9
-5
9
-41
21
-16
13
24
3
0
0
0
0
0
0
2
0
0
0
6
4
-5
0
0
0
-3
0
0
0
-1
20
-16
-5
-37
-15
-4
0
0
0
13
-43
-2
-30
-10
0
0
-49
-81
-9
-89
17
-72
-57
0
0
152
23
11
-58
3
-7
-5
0
-16
-70
-26
25
-127
-16
50
261
303
129
-15
-40
47
35
18
0
0
-53
10
35
62
33
-18
63
100
265
-26
35
48
53
3
-1
0
0
23
15
48
-23
77
-16
-27
-74
79
-91
29
-30
31
-3
0
0
0
1
26
-41
12
21
13
27
-32
-81
-31
12
52
11
11
-4
-1
0
0
-4
-2
13
79
34
-33
-47
-55
-53
-57
-13
-13
23
-3
0
0
0
0
-2
-8
-4
-2
11
-14
-8
-75
-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
-30
2
45
65
35
0
0
19
-65
-50
-18
-13
0
0
0
-1
58
-95
-50
-76
70
51
141
105
-53
105
32
48
17
0
0
0
-1
-24
14
-29
99
58
-42
-29
24
-1
63
53
-24
-2
1
0
0
-14
23
-56
3
-73
5
85
-1
42
70
-41
17
14
0
-2
0
0
18
-4
-49
5
-51
-80
-14
-35
-86
-52
116
-6
53
3
0
0
0
-7
11
-107
76
21
31
-28
67
45
46
61
27
-41
0
0
0
0
-1
-30
46
33
-16
10
25
-24
-17
24
-24
43
1
0
0
0
0
0
5
71
1
-9
92
-50
17
-30
-10
8
-17
0
0
0
0
0
0
0
-56
-80
53
-77
61
-29
-2
-28
1
0
0
0
0
0
0
102
50
-49
15
58
70
-99
0
0
0
0
0
0
0
0
0
0
-5
-89
4
-10
1
44
80
26
27
-1
0
0
3
0
0
0
0
-2
-36
41
2
-13
35
-51
74
20
0
-7
3
0
0
0
0
0
-32
29
-28
-19
16
-6
-7
4
-5
1
0
0
1
0
0
0
0
23
-9
-9
-8
-5
-5
10
45
-9
-4
0
0
0
0
1
0
0
-26
-37
-29
8
-9
48
32
17
21
-1
-2
0
-2
6
0
0
0
12
46
30
-12
4
-46
-16
-6
14
-3
-1
0
0
2
0
0
0
-26
89
-54
-46
44
-5
-47
-2
0
0
0
0
0
0
0
0
0
25
10
-2
-30
14
4
3
-7
0
0
0
0
0
0
0
0
0
5
79
61
-53
19
69
-43
68
0
1
-11
4
0
0
0
0
0
-89
15
0
34
-46
51
0
62
22
5
-14
-18
0
0
0
0
0
-17
-18
-48
-85
145
24
20
-48
7
0
0
-2
-2
0
0
0
0
-10
-102
-35
23
29
81
32
66
5
-2
27
-3
0
0
0
0
0
33
90
17
14
-11
103
-1
83
-25
-5
0
27
0
0
0
0
0
-35
81
20
-14
47
-7
-2
-25
-30
-1
-2
-1
0
0
0
0
0
-5
-24
83
19
1
60
-51
-37
-43
3
-8
0
0
0
0
0
0
20
-46
-56
-5
15
90
-11
10
-7
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
10
-87
43
5
3
24
156
0
0
16
-10
29
-23
23
-2
0
0
7
4
-4
56
21
47
124
0
219
0
32
-35
-29
-39
-5
5
0
-33
37
-10
62
48
11
143
91
280
185
-23
47
17
-14
5
-1
0
25
14
16
-32
19
-51
92
-13
164
62
-14
-68
-42
-15
0
0
0
2
-33
34
33
-42
-35
-6
-33
14
-94
10
43
-5
4
-4
0
0
0
-73
69
16
-41
-81
5
17
-23
-35
18
14
27
-7
0
0
0
3
-10
47
51
27
-56
5
21
-120
-74
-29
7
-16
-6
0
0
0
0
0
29
-5
-13
-22
-19
-14
-16
25
-21
-1
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
-21
0
0
0
0
0
0
0
0
-3
13
-1
-17
1
29
5
0
7
-81
-10
-3
-1
3
0
0
0
14
6
-45
-148
-58
87
0
80
0
17
12
-1
-1
0
1
0
1
24
72
-54
5
59
-27
170
282
143
-34
-36
-39
0
4
0
0
0
-5
-4
-43
63
128
41
40
60
31
14
43
7
2
0
3
0
0
-2
-18
-16
56
5
20
-50
-70
-6
-78
-9
51
-5
-2
0
0
-3
18
10
-60
112
-59
-19
44
-11
-19
-76
-2
2
7
-2
0
0
-3
0
-33
-35
-78
-26
-53
-69
12
16
11
2
2
-2
0
0
0
0
-2
0
-5
20
9
-16
-20
-13
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-13
0
0
0
0
0
0
0
0
0
1
-13
9
-4
7
0
0
0
0
-8
18
-2
0
0
0
0
0
0
25
-8
15
-6
14
9
0
-5
-31
-43
1
0
0
0
0
0
0
16
-15
7
-6
8
-1
34
118
-15
-1
-2
0
0
0
0
0
5
0
4
-13
1
8
-6
166
148
-80
0
-1
0
0
0
0
0
0
6
-2
-11
-4
-2
15
72
103
-48
-10
0
4
0
0
0
0
0
-1
2
-1
10
-4
52
78
79
-53
4
-1
-2
0
0
0
0
0
0
0
5
-15
-5
54
25
92
-20
1
-5
0
0
0
0
0
0
2
4
5
0
0
65
84
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
2
0
-1
3
50
3
0
0
7
0
0
0
0
0
0
0
0
0
0
0
3
4
81
-33
41
115
0
0
0
0
0
0
0
0
0
-1
-1
5
-33
-51
96
59
59
9
0
0
0
0
0
0
0
0
0
4
1
17
65
-60
-42
49
13
0
0
0
0
0
0
0
0
0
5
-5
-14
20
7
63
-61
43
0
0
0
0
0
0
0
0
0
0
2
-5
-18
-2
37
-48
0
0
0
0
0
0
0
0
0
0
0
-3
6
53
40
2
36
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-43
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
-14
-17
0
0
14
0
0
0
0
0
0
0
0
0
0
0
-1
9
24
-23
-21
13
0
0
0
0
0
0
0
0
0
0
0
0
9
34
131
0
24
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
28
-14
-17
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-21
56
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-57
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-23
-47
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
-6
46
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
4
-10
-18
-59
148
110
0
0
0
0
0
0
0
0
0
0
0
-1
0
-43
-35
45
-43
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-35
-23
38
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-14
-45
80
96
3
0
0
0
0
0
0
0
0
0
0
-1
1
-65
-18
-45
-27
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
15
-25
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
54
0
0
0
0
0
0
0
0
0
0
0
-1
-20
23
-6
50
-2
0
0
0
0
0
0
0
0
0
0
0
6
-14
-27
66
4
-26
0
0
0
0
0
0
0
0
0
0
0
0
-29
5
-67
3
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
-5
-11
1
0
0
0
0
0
0
0
0
0
0
0
-4
29
-23
-15
-14
-2
0
0
0
0
0
0
0
0
0
0
0
-1
11
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
104
18
11
-11
-6
0
0
0
0
0
0
-2
-2
25
0
0
0
-5
71
-71
46
2
-11
0
0
0
0
0
-2
-7
-2
18
6
35
-13
22
25
-15
-57
0
0
0
0
0
0
0
11
16
-16
12
74
39
-56
-22
-12
61
1
0
0
0
0
0
0
3
-2
7
-53
36
50
28
53
29
-2
-1
0
0
0
0
0
0
0
8
-48
-53
31
-90
-78
6
-20
-13
0
0
0
0
0
0
0
0
0
10
-2
25
32
14
37
-36
6
0
0
0
0
0
0
0
0
2
14
14
-32
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
0
0
0
0
27
-1
2
0
0
0
0
0
0
0
0
0
-8
-46
0
0
0
-63
-7
-9
3
0
2
0
0
0
0
0
0
8
0
97
36
0
-34
0
0
0
0
0
0
0
0
0
0
0
-2
0
-69
7
29
-24
1
-5
0
-4
0
0
0
0
0
0
0
0
0
-19
-7
4
32
0
-5
-8
-10
2
0
0
0
0
0
0
0
0
26
55
17
2
13
0
-8
-1
0
0
0
0
0
0
0
0
0
8
-15
-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
109
-33
27
-32
-7
-48
-8
0
0
0
0
0
19
-7
14
0
0
34
21
5
-4
-60
-72
-55
0
0
0
0
-1
0
-11
-60
14
28
4
63
53
-5
7
42
-30
0
0
0
0
0
0
26
43
33
55
92
75
46
-56
-16
60
18
0
0
0
-1
0
0
-8
-14
45
8
51
-1
67
73
35
57
22
0
0
0
0
0
-5
0
6
-15
-79
-67
39
72
68
-29
10
32
0
0
0
0
0
1
0
3
27
0
11
7
31
127
52
-14
13
0
0
0
0
0
0
23
-1
-49
-14
36
24
-9
29
30
15
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
3
0
0
43
14
15
-91
-24
-13
4
0
0
0
2
-1
-13
-45
-79
-12
65
3
57
30
-51
2
-9
31
0
0
0
0
4
11
-23
14
35
-12
0
-11
47
-45
-121
18
36
0
0
0
0
1
-13
23
87
-45
24
-24
-57
-13
11
-63
37
91
0
0
0
0
-10
-3
86
-69
-38
-7
-21
-30
8
-12
15
-65
-4
0
0
0
0
0
8
22
59
24
-66
-88
-48
-4
-9
56
7
85
0
0
0
0
0
16
71
-31
-29
-71
-4
-41
-33
-6
13
42
-19
0
0
0
0
0
1
50
-23
98
-101
-24
0
4
8
72
-62
7
0
0
0
0
0
0
0
7
4
-5
-55
-45
5
-138
-96
-4
0
0
0
0
0
0
0
0
0
0
0
-23
-41
0
41
-45
-54
0
0
0
0
0
0
0
0
1
26
18
63
-80
-56
8
56
-47
-5
0
0
0
0
0
0
3
0
43
63
-33
13
-41
23
19
-33
-1
0
0
0
0
0
0
-1
-3
10
-10
-2
-2
-48
-24
77
47
1
0
0
0
0
0
0
0
-7
-15
5
54
62
71
-62
-50
2
-4
0
0
0
0
0
0
0
0
-1
43
9
36
-4
-11
60
65
-29
0
0
0
0
0
0
0
-1
33
86
41
-81
4
-4
39
26
2
0
0
0
0
0
0
0
1
0
23
-10
0
-52
123
52
-10
0
0
0
0
0
0
0
0
0
3
0
20
-7
30
11
87
119
0
0
0
0
0
0
0
0
0
0
16
-23
18
59
12
25
-53
60
0
0
0
0
0
0
0
-17
51
58
0
39
128
-6
18
-47
71
0
0
0
0
-4
0
-4
6
62
70
-9
-17
31
-30
47
-25
94
0
0
0
0
0
-1
0
4
78
-1
-34
-36
-6
-4
102
-37
54
0
0
0
0
0
0
2
9
20
35
85
28
20
15
46
-7
38
0
0
0
0
0
0
17
-4
55
28
68
26
21
16
49
11
42
0
0
0
0
-1
0
-2
10
33
-80
-10
71
-23
-127
65
46
-75
0
0
0
0
0
0
0
0
-2
54
-27
18
0
-96
26
26
143
0
0
0
0
0
0
0
0
-8
17
-2
-5
-6
-13
-10
0
0
0
0
0
0
0
0
14
3
0
0
13
44
55
-79
-11
24
-23
0
0
0
0
-1
-27
19
0
-5
0
10
87
50
71
25
-2
-7
0
0
0
0
-4
-11
4
-25
4
-13
38
43
-28
152
29
-61
-33
0
0
0
0
0
-2
-5
67
91
42
38
100
-2
90
65
47
37
0
0
0
0
2
-2
14
0
51
52
-23
-82
-26
2
4
-4
69
0
0
0
0
0
1
11
55
63
-6
-42
16
-7
54
40
28
-43
0
0
0
0
0
0
20
39
-106
-38
84
-27
-23
0
-66
61
-8
0
0
0
0
0
-8
0
52
11
-56
15
92
-58
18
10
-37
0
0
0
0
0
0
0
0
0
0
1
3
1
-18
-11
-3
0
0
0
0
0
0
0
0
-1
0
0
19
62
-3
28
-35
-5
17
-32
0
0
0
0
0
2
16
0
43
0
42
-29
-4
-43
-28
-23
-4
0
0
0
0
0
-5
24
-10
27
-67
-57
48
15
5
-10
27
-3
0
0
0
0
4
-5
54
-13
-39
9
76
-4
-17
-7
37
53
-1
0
0
0
0
0
-2
39
70
19
16
25
-35
-10
-70
16
25
-13
0
0
0
0
0
1
-1
8
51
-18
55
-9
48
91
17
25
-5
0
0
0
0
0
0
-2
5
6
33
-21
16
39
-21
27
30
9
0
0
0
0
0
0
0
0
2
6
-27
14
-61
34
10
63
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
-3
-20
-31
29
0
0
0
0
0
0
11
-6
0
0
0
43
-45
-31
-96
-98
32
-2
0
0
0
0
0
0
0
8
0
1
10
-55
8
25
-21
-8
0
0
0
0
0
0
0
-5
-5
8
0
-13
11
16
-5
14
-19
2
0
0
0
0
0
0
0
34
-4
-2
0
37
-47
-5
17
14
3
0
0
0
0
0
0
0
-2
15
-1
-1
15
-15
-45
49
25
-1
0
0
0
0
0
0
0
2
-2
0
23
-1
26
19
10
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
43
50
91
-44
5
41
33
0
0
0
0
0
0
0
23
5
34
-6
22
28
58
28
19
57
0
0
0
0
0
0
1
-9
4
32
-67
13
-52
-9
70
-11
-22
0
0
0
0
0
0
0
0
3
24
-24
-53
70
6
79
-52
33
0
0
0
0
0
0
0
0
0
0
0
-24
34
92
-15
-12
27
0
0
0
0
0
0
0
0
0
0
6
-79
3
-14
-34
-36
75
0
0
0
0
0
0
0
0
0
-3
-5
45
61
63
38
32
-34
0
0
0
0
0
0
0
0
0
0
-1
2
22
-20
-36
-84
-47
0
0
0
0
0
0
0
0
0
0
0
-2
-1
7
-20
33
15
0
0
0
0
0
0
0
0
0
0
-1
-6
8
-44
-43
-36
-2
0
0
0
0
0
0
0
0
1
0
-4
-1
-27
-67
163
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
-31
53
27
-107
15
0
0
0
0
0
0
0
0
0
0
0
0
9
-56
-46
-24
-4
0
0
0
0
0
0
0
0
0
0
0
3
34
37
33
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-50
15
-41
56
17
0
0
0
0
0
0
0
0
0
0
0
-10
33
26
85
-33
34
0
0
0
0
0
0
0
0
0
0
0
0
-17
3
61
-35
27
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
25
67
20
36
0
0
0
0
0
0
0
0
0
5
3
17
29
27
75
37
4
-9
0
0
0
0
0
0
0
-3
-3
2
-1
-36
-14
111
126
33
-3
0
0
0
0
0
0
0
0
0
0
-6
-16
56
65
60
-54
5
0
0
0
0
0
0
0
0
0
0
-17
5
20
-34
36
65
6
0
0
0
0
0
0
0
0
0
0
0
-2
-32
100
7
-2
-7
0
0
0
0
0
0
0
0
0
0
0
-1
36
32
-10
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-43
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
5
22
5
-12
11
-13
0
0
0
0
0
0
0
0
0
-20
9
0
46
102
-13
22
90
-9
0
0
0
0
0
0
0
0
-1
-1
-6
53
71
-22
39
2
0
0
0
0
0
0
0
0
0
0
0
-1
7
-22
-8
-59
81
-1
0
0
0
0
0
0
0
0
0
0
-2
-16
-58
80
-2
59
3
0
0
0
0
0
0
0
0
0
0
0
-25
11
-2
-33
-17
-3
0
0
0
0
0
0
0
0
0
0
-2
-1
9
63
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-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
36
-14
-100
56
-5
81
-19
26
0
0
0
0
0
0
0
4
81
-7
-96
-39
72
-2
-6
26
13
0
0
0
0
0
0
0
-20
-58
-16
-12
-5
78
49
53
-39
37
0
0
0
0
0
0
0
1
29
-36
50
-86
98
-32
88
-59
-52
0
0
0
0
0
0
-2
-4
39
57
81
60
74
59
78
-18
18
0
0
0
0
0
0
0
-1
63
8
-23
-73
49
68
-2
76
20
0
0
0
0
0
0
0
48
-16
-43
-78
-8
33
56
3
-46
1
0
0
0
0
0
0
0
0
0
-43
43
-11
39
-33
33
44
34
0
0
0
0
0
0
0
0
0
0
-6
-3
0
-1
34
14
0
0
0
0
0
0
0
0
0
0
-1
-5
5
-14
-15
77
13
-1
0
0
0
0
0
0
0
0
-3
-7
1
20
-9
-13
32
-25
55
0
0
0
0
0
0
0
-3
-6
0
-7
3
-32
-5
14
-1
-9
0
0
0
0
0
0
0
0
-7
8
-15
41
-16
-7
62
24
23
0
0
0
0
0
0
0
0
2
-18
2
-32
65
-62
-70
32
-25
0
0
0
0
0
0
0
0
4
5
-10
-1
45
11
-117
5
-27
0
0
0
0
0
0
0
0
-2
-20
5
-20
56
-68
-16
-80
-19
0
0
0
0
0
0
0
0
8
0
0
0
35
-25
-6
57
-56
0
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
15
-8
-71
13
0
22
-7
1
74
24
25
2
-4
0
0
0
4
5
26
5
35
56
7
44
79
-31
53
35
6
8
0
0
-1
-2
-50
25
65
10
-49
24
66
13
96
171
48
-113
5
0
0
0
-6
15
36
5
25
49
7
79
42
50
123
-39
15
29
0
0
0
0
0
2
-68
-2
24
-19
40
-31
54
-66
101
-63
1
0
0
0
0
0
0
-3
-29
-61
49
72
-14
88
13
24
-1
0
0
0
0
0
0
0
-10
-90
-27
-22
-16
-3
76
4
13
-25
0
0
0
0
0
0
0
0
-37
-33
4
-29
0
-43
41
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-4
-80
-43
0
-10
-55
-27
39
25
-20
-2
0
0
0
0
-8
-78
-128
2
21
53
-28
1
14
48
30
-78
19
0
0
0
0
0
-27
19
23
20
1
-20
-16
40
86
81
-26
16
0
0
0
-1
17
6
5
21
30
-70
-17
-23
-27
8
52
-39
20
0
0
0
0
-3
22
-23
-26
-50
18
-1
-47
29
1
53
87
80
0
0
0
0
-21
19
-41
122
-19
-109
16
7
-1
38
146
51
54
0
0
0
0
0
-21
-33
8
24
-11
-10
-18
-50
-4
81
-25
1
0
0
0
0
-3
19
-2
-55
-6
-2
-18
-50
-12
11
86
68
-27
0
0
0
0
0
-5
-12
23
15
-20
23
15
-7
-4
-19
0
2
0
0
0
0
7
44
-31
-34
-93
0
12
-24
76
-5
59
0
0
0
0
0
0
0
-17
-56
11
31
11
97
28
22
-7
50
0
0
0
0
0
0
0
7
76
-21
73
45
-7
50
-62
20
10
0
0
0
0
0
0
0
4
-64
9
13
112
68
68
-73
110
-52
-3
0
0
0
0
0
5
-4
25
68
-71
89
29
28
47
9
35
0
0
0
0
0
5
24
-7
-14
18
15
-3
-60
118
-13
52
19
-1
0
0
0
0
-2
2
28
7
-18
-38
2
-93
15
30
28
59
-1
0
0
0
6
-23
33
10
-31
-43
-21
-67
-24
27
-7
18
2
0
0
0
0
3
13
-16
-2
-67
12
-80
-53
38
33
-39
-53
-39
5
0
0
0
0
0
0
3
94
27
-11
0
-41
78
-4
110
-1
11
0
0
0
0
-4
44
46
-33
28
-42
-5
-51
-7
38
-8
30
45
0
0
0
0
0
47
39
-8
32
-5
-4
-21
41
24
114
74
-36
0
0
0
0
0
-39
13
-58
-17
3
13
-14
5
19
78
16
-18
0
0
0
0
10
25
-34
-93
5
26
-34
11
80
38
42
44
3
0
0
0
-7
-14
-42
32
-79
30
-5
52
47
58
-8
-3
48
-2
0
0
0
-5
13
-43
-5
-28
1
-16
-23
-14
-86
35
-8
-40
7
0
0
0
1
-17
-5
-40
-71
13
32
-30
-85
33
-56
22
9
0
0
0
0
0
0
0
0
0
0
-15
11
15
55
1
0
0
0
0
0
0
0
0
0
0
5
-5
-71
0
33
-29
65
18
2
71
43
-7
0
0
0
0
4
-52
-107
77
38
86
81
8
34
66
9
51
-16
0
0
0
-1
11
-24
-23
8
86
26
56
51
-13
-6
95
-23
8
0
0
0
0
-4
13
5
-14
-76
22
-23
3
62
-1
-73
25
32
0
0
0
2
0
14
17
-15
8
35
-16
29
35
96
-16
-13
-1
0
0
0
0
0
3
-6
-56
82
43
-5
117
-156
19
89
10
7
0
0
0
0
0
-1
4
-39
-37
21
27
5
-14
5
98
51
5
0
0
0
0
0
0
-9
-4
-7
10
-70
5
31
-80
44
2
0
0
0
0
0
1
0
0
-2
0
-29
-1
0
0
0
16
-3
0
0
0
0
0
0
-1
11
19
0
78
80
50
6
-50
-49
15
-3
0
0
0
0
0
0
30
-66
31
32
-33
16
102
11
52
-53
-24
0
0
0
0
1
-3
-17
-8
0
69
191
38
14
117
15
-6
4
0
0
0
0
0
0
80
-25
35
80
46
16
33
62
55
50
-11
0
0
0
0
0
-21
-53
-53
-62
-27
-61
-12
2
73
36
4
41
0
0
0
0
1
2
-2
49
-35
-41
-46
31
4
41
37
10
26
0
0
0
0
0
-27
-2
96
-13
23
23
47
29
52
-7
20
1
0
0
0
0
0
0
0
-39
-44
-108
-90
55
98
35
22
3
0
0
0
0
0
0
0
0
0
8
0
-24
0
2
-1
5
0
0
0
0
0
0
0
0
0
0
0
18
11
-25
0
-3
1
2
-1
0
0
0
0
0
0
-3
9
51
30
26
96
29
20
35
73
-20
0
0
0
0
0
3
-1
9
15
6
30
10
5
44
33
9
6
0
0
0
0
0
0
-13
-25
47
-35
-2
18
48
4
66
61
11
0
0
0
0
0
0
5
8
-53
-55
2
5
-16
0
23
74
-16
0
0
0
0
0
0
1
-2
1
-47
-15
-58
0
-1
-14
-43
-55
0
0
0
0
0
0
3
-15
-10
-29
-3
27
50
-5
-11
20
0
0
0
0
0
0
0
35
-14
-23
47
45
-24
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
-13
63
0
0
0
29
0
0
0
0
0
0
0
0
0
-11
39
5
47
48
0
0
14
0
0
0
0
0
0
0
0
0
0
-32
22
6
71
57
-32
89
-1
0
0
0
0
0
0
0
0
2
-22
17
-92
82
-14
37
8
14
0
0
0
0
0
0
0
0
-1
5
-14
-3
-87
-86
16
5
27
0
0
0
0
0
0
0
0
0
-25
58
-51
-44
-81
25
-10
1
0
0
0
0
0
0
0
0
0
1
25
-70
39
77
-1
13
0
0
0
0
0
0
0
0
0
0
0
59
-98
26
35
-34
29
0
0
0
0
0
0
0
0
0
0
0
-5
39
29
0
-13
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
9
43
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
-46
57
-33
-18
2
0
0
0
0
0
0
0
0
0
0
1
-24
-19
38
-102
20
31
0
0
0
0
0
0
0
0
0
0
-1
0
-7
18
54
7
26
0
0
0
0
0
0
0
0
0
0
0
-6
1
-14
37
-39
-2
0
0
0
0
0
0
0
0
0
0
0
0
16
-44
14
-32
2
0
0
0
0
0
0
0
0
0
0
0
3
4
-24
8
18
-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
-3
-43
24
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
-16
-34
43
0
0
43
0
0
0
0
0
0
0
0
0
-1
1
14
-109
-21
0
-4
14
-15
0
0
0
0
0
0
0
0
0
-1
1
-28
21
78
-6
1
4
0
0
0
0
0
0
0
0
0
0
0
54
23
62
41
2
-3
0
0
0
0
0
0
0
0
0
0
21
0
-16
33
-14
-6
-1
0
0
0
0
0
0
0
0
0
0
-2
43
58
11
-15
-11
-7
0
0
0
0
0
0
0
0
0
0
0
-17
16
26
-23
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
14
-13
-28
0
0
75
47
0
0
0
0
0
0
0
0
0
0
-1
-21
72
33
4
-13
1
0
0
0
0
0
0
0
0
0
0
1
28
-24
62
30
15
9
0
0
0
0
0
0
0
0
0
0
0
7
33
46
-55
1
-19
0
0
0
0
0
0
0
0
0
0
1
-3
43
29
14
19
-3
0
0
0
0
0
0
0
0
0
0
-10
-22
-28
-5
-7
-21
11
0
0
0
0
0
0
0
0
0
0
0
1
-26
-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
-13
0
0
0
44
-5
7
-1
2
-16
0
0
0
0
0
0
-24
51
0
0
0
5
-5
4
20
48
20
0
0
0
0
0
0
4
23
68
22
43
-20
34
0
-77
46
92
-1
0
0
0
0
-1
-1
61
-3
96
-29
41
31
46
14
-6
-6
0
0
0
0
0
0
-9
18
39
-46
16
-49
41
14
-13
34
4
0
0
0
0
0
0
0
-23
27
33
54
-22
-61
15
7
0
-2
0
0
0
0
0
0
-17
23
11
50
22
23
-9
-35
0
0
1
0
0
0
0
0
0
-2
-29
-6
-10
-45
-13
-1
0
0
-16
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
1
-2
-43
74
-26
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
49
15
9
-1
0
-3
-10
-4
-10
0
0
0
0
0
0
0
-2
30
18
-54
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-52
-81
90
-2
8
1
0
0
0
0
0
0
0
0
0
0
-4
-69
-6
45
4
0
0
3
-2
0
0
0
0
0
0
0
0
-1
-11
-29
-17
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
62
47
0
0
0
29
99
61
97
110
33
59
0
0
0
0
-30
0
-15
-5
0
0
81
119
90
64
82
-11
91
0
0
0
-2
-3
-51
21
5
59
72
104
18
91
45
37
69
87
0
0
0
0
0
3
-84
-13
-27
168
45
56
-7
5
20
37
93
0
0
0
-4
2
15
-37
26
78
-32
2
31
-1
37
-77
80
30
0
0
0
0
-1
-2
14
-15
7
20
52
2
-43
-59
44
146
-10
0
0
0
0
0
0
-1
72
-35
24
-60
-3
-2
5
-2
77
-32
0
0
0
0
0
0
-2
-18
25
11
2
-2
1
-17
-3
-26
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
14
14
19
25
0
0
-43
53
41
25
23
-77
-116
0
0
0
1
0
44
2
-1
-75
33
62
57
-15
-65
-39
-69
27
0
0
0
0
2
44
62
78
-54
4
-42
16
5
53
-39
-32
-71
0
0
0
0
-4
-31
-1
-23
-101
-100
-9
17
46
58
17
-156
-8
0
0
0
0
0
17
22
-6
-84
-37
35
51
-8
36
-8
-56
-23
0
0
0
0
7
9
-17
-34
-116
4
-53
-37
100
101
26
-70
-29
0
0
0
0
5
0
-50
57
-81
-124
-47
25
39
19
-45
-55
-15
0
0
0
0
0
0
44
-17
-28
-29
51
28
-9
-32
-15
-16
37
0
0
0
0
0
0
-1
0
0
-13
-25
52
-15
43
42
0
0
0
0
0
0
0
0
0
0
0
0
-51
95
100
28
81
0
19
0
0
0
0
0
0
0
-1
8
10
18
10
65
31
-52
0
-16
0
0
0
0
0
0
0
-8
14
63
32
55
60
19
-117
-70
-6
0
0
0
0
0
0
1
19
43
22
-62
-49
5
-47
90
-2
-46
0
0
0
0
0
0
1
0
8
-59
29
2
8
-38
-31
24
63
0
0
0
0
0
0
0
3
20
51
-45
20
-12
-16
-4
-10
22
0
0
0
0
0
0
0
1
5
30
5
69
-72
-72
-36
-28
37
0
0
0
0
0
0
0
1
10
49
23
-28
-14
-22
15
40
49
0
0
0
0
0
0
0
1
-25
24
21
36
73
10
-14
28
78
0
0
0
0
0
0
0
0
0
-78
40
23
-56
37
31
-73
33
0
0
0
0
0
-2
0
5
5
109
0
108
74
24
-11
-17
51
0
0
0
0
0
0
0
1
-7
197
84
43
-14
60
36
-58
7
0
0
0
0
0
0
0
-5
16
57
31
-3
14
-42
4
-1
-47
0
0
0
0
0
0
0
-1
51
-2
6
-27
22
5
-30
15
-45
0
0
0
0
0
0
6
3
-16
34
-34
162
-47
36
16
12
-35
0
0
0
0
0
0
0
0
-16
2
107
-19
-88
71
-44
-7
-43
0
0
0
0
0
0
0
0
33
0
51
28
-37
-1
6
-98
-20
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
0
0
-22
-7
52
0
0
0
77
-25
25
-64
14
-14
0
0
0
0
-5
1
111
0
8
0
44
38
-21
-59
50
9
18
0
0
1
-1
-16
-31
79
110
62
80
188
48
9
115
90
37
-29
0
0
0
-1
-3
-44
10
3
63
69
80
66
21
6
58
33
4
0
0
0
0
0
-16
-58
14
31
118
152
17
-3
82
-18
-2
-1
0
0
0
0
-11
-5
-11
10
-15
77
42
14
-31
28
46
-68
18
0
0
0
0
0
0
5
60
68
52
-35
51
-25
-28
154
55
50
0
0
0
0
0
0
0
33
45
43
-25
23
-3
-11
18
10
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
-25
0
11
-15
68
-29
-44
-31
-59
-12
0
0
0
0
-1
11
5
0
1
0
-37
-4
-14
-6
-76
-18
58
0
0
0
0
0
14
125
100
138
92
5
60
35
35
-28
45
-8
0
0
0
0
-1
2
33
8
39
44
-34
74
109
32
23
-44
-4
0
0
0
0
0
0
1
123
103
6
43
77
-22
4
107
7
61
0
0
0
0
0
0
8
85
25
69
-13
1
-1
-146
33
-30
-27
0
0
0
-1
0
0
1
62
56
39
18
29
8
-78
-7
-48
13
0
0
0
0
0
0
0
1
1
6
-11
-3
19
27
-16
-19
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
-9
-6
-2
-11
0
0
0
0
0
0
0
0
0
-1
1
53
-19
35
-5
-25
-5
0
0
0
0
0
0
-3
7
19
4
-29
16
10
26
8
-13
1
0
0
0
0
0
0
-7
71
-7
-3
-1
-15
-35
-4
-14
52
-11
0
0
0
0
0
0
10
15
-2
-8
-4
1
-2
0
-2
-2
9
0
0
0
0
0
0
0
-1
35
0
0
7
-2
0
-9
-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
22
42
-11
-32
-17
33
93
50
0
0
0
0
0
0
0
2
0
27
-25
13
-20
30
-6
-11
-16
0
0
0
0
0
0
0
0
2
-9
-2
-104
52
-42
-118
-32
-5
0
0
0
0
0
0
0
0
0
3
-2
-9
48
-2
-84
-18
102
0
0
0
0
0
0
0
0
0
-3
4
37
65
34
67
83
4
0
0
0
0
0
0
0
0
0
-1
5
3
35
-30
0
5
12
0
0
0
0
0
0
0
0
0
0
0
-2
25
-16
7
-79
147
0
0
0
0
0
0
0
0
0
0
0
0
-2
37
50
11
46
0
0
0
0
0
0
0
0
0
0
0
0
0
2
63
-148
-43
0
0
0
0
0
0
0
0
0
0
7
-2
-11
1
41
-78
-4
0
0
0
0
0
0
0
0
0
0
-5
0
5
5
28
-16
-19
0
0
0
0
0
0
0
0
0
0
0
-1
3
114
10
-1
17
0
0
0
0
0
0
0
0
0
0
0
9
6
-17
44
23
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
4
43
16
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
26
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
47
0
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
1
0
-6
96
-54
-13
57
0
0
0
0
0
0
0
0
0
-1
-3
0
-15
33
7
-63
73
0
0
0
0
0
0
0
0
0
0
0
0
-23
61
-19
96
56
0
0
0
0
0
0
0
0
0
0
-2
0
0
43
-36
21
18
0
0
0
0
0
0
0
0
0
0
-2
0
6
23
-14
-58
41
0
0
0
0
0
0
0
0
0
0
0
0
1
1
38
5
36
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
17
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-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
0
0
0
-1
10
-2
-22
15
-71
4
0
0
0
0
0
0
0
0
0
23
-1
17
10
17
-34
-73
21
0
0
0
0
0
0
0
0
0
1
1
23
-27
-14
59
101
-61
0
0
0
0
0
0
0
0
0
0
9
-1
-11
-31
35
53
14
0
0
0
0
0
0
0
0
0
0
0
0
-19
45
28
52
13
0
0
0
0
0
0
0
0
0
0
0
4
5
-39
-14
18
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-26
39
-16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-21
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
-56
-30
34
-12
2
-58
21
14
0
0
0
0
0
0
-16
15
-62
12
55
-23
-50
87
56
-14
-9
0
0
0
0
0
0
1
34
-14
40
-24
22
-63
71
16
100
102
0
0
0
0
0
0
-3
6
55
83
72
-125
13
32
42
-11
0
0
0
0
0
0
0
-2
-6
68
13
14
157
-56
-46
-4
56
-44
0
0
0
0
0
0
1
-18
22
-5
-6
-8
-39
44
37
9
-4
0
0
0
0
0
0
0
43
-7
-15
-24
-17
37
80
-15
16
26
0
0
0
0
0
0
0
0
36
-2
0
-17
0
-5
32
32
26
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-36
22
0
0
0
0
0
0
0
0
0
-15
13
-3
1
33
-43
-120
-1
0
0
0
0
0
0
0
-3
0
-17
-1
-4
-20
24
94
-21
27
0
0
0
0
0
0
0
-2
0
-22
31
-15
6
-44
117
-18
-16
0
0
0
0
0
0
0
-2
3
23
45
6
-20
61
-21
-31
67
0
0
0
0
0
0
0
-1
1
1
8
0
-17
-39
53
124
-60
0
0
0
0
0
0
0
1
3
0
-18
-5
16
61
-16
48
71
0
0
0
0
0
0
0
0
0
6
-5
-13
5
-8
55
50
58
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
81
109
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
98
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
-42
-27
0
92
91
-79
-15
136
97
-65
2
0
0
-6
51
-50
-45
-37
-16
8
94
29
52
24
43
-3
22
7
0
0
-2
5
-21
-68
-63
-53
75
19
44
64
-15
-55
56
16
-57
0
0
-1
-25
14
32
-79
-97
52
21
16
-7
-20
40
19
46
68
0
0
0
1
-3
-72
21
43
24
21
6
-47
36
-21
22
2
31
0
0
0
0
-1
-5
-67
43
-78
57
14
35
45
49
-85
8
-33
0
0
0
0
0
3
-18
-81
-66
-94
-26
-27
2
11
71
34
0
0
0
0
0
0
0
-1
-17
-53
-14
7
36
-5
0
-1
-37
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
4
-35
-69
-52
-25
0
16
11
-2
55
9
-33
8
0
0
0
-1
26
-23
-24
-62
-82
37
-17
33
63
94
73
67
4
0
0
0
0
-20
19
-2
-100
4
-29
21
-23
34
69
6
-15
74
0
0
0
0
-14
-32
-28
-15
-81
-127
21
12
61
11
125
-67
48
0
0
0
0
14
-34
31
-59
-19
-34
-44
22
28
-14
21
-51
1
0
0
0
3
-3
23
-101
-23
-67
10
-56
0
-54
-63
57
59
11
0
0
0
0
0
5
-25
32
-40
-66
-9
-22
26
24
-5
14
-2
0
0
0
0
0
-7
59
-22
-2
-10
-62
19
4
-19
-19
13
-7
0
0
0
0
0
0
22
-18
-75
127
71
-58
-26
18
15
0
0
0
0
0
-9
38
14
6
-31
33
0
65
24
-33
36
-16
1
0
0
0
5
1
-16
32
38
58
-2
-17
-41
-67
-43
-8
-15
0
0
0
0
0
-22
-27
6
-14
-15
5
-53
-65
36
32
-59
14
-2
0
0
0
0
-8
9
62
-40
-3
-32
-29
-5
65
-9
-104
-2
0
0
0
0
0
-19
-20
14
22
5
-101
-17
-6
59
14
24
11
0
0
0
0
1
-6
-9
32
17
-23
-46
14
-37
-10
-7
-31
14
0
0
0
0
0
4
27
-9
-6
-1
-48
-8
42
19
4
44
-6
0
0
0
0
14
7
-32
43
54
8
30
-19
-120
-49
38
-45
-10
0
0
0
0
-3
8
1
54
46
33
45
2
14
-16
11
7
0
0
0
0
0
0
21
-24
-15
-6
32
-8
0
24
46
72
101
-23
0
0
0
0
1
0
-5
28
68
28
35
-44
27
67
48
3
-18
0
0
0
0
0
1
-22
23
-33
27
38
30
48
5
-7
143
2
0
0
0
0
0
5
-9
12
-15
-70
-8
-38
56
16
-17
33
67
0
0
0
0
0
-2
-1
5
-54
-95
-21
3
-26
-33
9
48
-8
0
0
0
0
0
0
-27
3
22
-17
16
-26
-5
-58
1
44
3
0
0
0
0
0
-1
26
-6
43
-24
-36
12
-39
-12
-47
61
9
0
0
0
0
0
0
12
-32
-45
-6
16
-8
-81
-14
0
49
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
25
-7
0
0
0
0
0
0
0
0
0
10
47
-24
45
0
82
72
96
22
-19
-4
67
9
0
0
0
-7
-5
81
-80
-25
-26
77
17
96
48
51
-33
42
3
0
0
-1
0
-5
-44
-25
4
34
70
78
53
-50
37
112
-146
-26
0
0
-1
0
-31
-25
-44
-44
3
-69
-60
95
-14
-10
75
126
12
0
0
0
0
-17
31
-27
-63
12
45
-85
-78
17
29
73
55
25
0
0
0
0
0
-46
-7
-55
-59
56
8
44
-18
46
-5
16
72
0
0
0
0
0
0
-26
-47
-112
14
12
-13
-50
-35
14
1
-41
0
0
0
0
0
0
6
-11
-19
-22
-3
-31
-10
-10
2
47
5
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
-3
1
1
0
0
0
0
0
15
-64
-22
0
74
-18
50
-10
-30
45
91
66
0
0
0
0
36
21
34
-101
-32
105
33
-3
-59
-50
70
38
-14
0
0
0
0
18
1
3
8
-71
82
-31
-34
43
19
-51
-53
74
0
0
0
0
11
31
-59
74
65
-1
47
12
-29
24
63
-62
118
0
0
0
0
2
-47
18
27
107
63
-22
-75
2
-12
116
12
-48
0
0
0
0
4
-4
-70
44
-6
-95
-38
-113
-4
-30
-52
100
53
0
0
0
0
1
18
4
-14
41
-57
-48
-37
-1
4
-1
-33
-3
0
0
0
0
0
0
17
-6
-27
-22
-43
57
0
45
0
-16
0
0
0
0
0
0
0
-1
29
5
-10
9
-3
6
0
0
0
0
0
0
0
0
0
0
1
-14
0
5
-5
-4
0
0
0
35
0
0
0
0
0
0
0
-26
11
30
-46
-62
-25
0
19
-7
41
0
0
0
0
0
0
0
-1
44
18
-32
14
2
-2
15
-3
-13
1
0
0
0
0
0
0
0
-13
26
18
17
6
0
2
36
-16
-6
0
0
0
0
0
0
0
16
-29
-18
-24
-33
-3
0
43
98
14
0
0
0
0
0
0
-9
-83
58
-33
20
-45
-3
0
5
2
-5
0
0
0
0
0
0
-1
-7
10
-13
1
-1
-2
-2
13
61
-1
0
0
0
0
0
0
0
-15
-31
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-7
-6
9
72
11
0
0
53
0
0
0
0
0
0
0
0
1
-6
-3
16
46
8
-38
54
-29
0
0
0
0
0
0
0
0
2
-2
0
6
16
-3
-16
-73
95
-2
0
0
0
0
0
0
0
0
0
0
2
69
-55
-29
-35
9
4
0
0
0
0
0
0
0
0
0
2
10
58
4
-13
-71
-8
0
0
0
0
0
0
0
0
0
-6
8
43
53
-59
-45
1
6
0
0
0
0
0
0
0
0
0
9
-8
1
-17
-15
-14
-36
-36
-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
46
5
33
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
41
-27
13
0
0
0
0
0
0
0
0
0
0
0
0
0
12
9
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-4
36
32
0
0
0
0
0
0
0
0
0
0
0
0
0
40
8
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-25
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
1
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
8
-56
-59
-111
100
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
-46
12
37
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
43
19
-1
0
0
0
0
0
0
0
0
0
3
0
2
-36
-22
7
49
0
0
0
0
0
0
0
0
0
0
0
-2
5
3
0
53
4
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
-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
-10
5
0
0
29
0
0
0
0
0
0
0
0
0
0
0
2
0
15
-6
29
-3
-1
0
0
0
0
0
0
0
0
0
0
1
-3
-32
3
-14
36
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
24
20
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-74
-18
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
13
-1
-1
-2
-18
-25
0
0
0
0
-9
-1
3
-1
0
0
0
8
13
-28
-71
-34
6
-1
0
0
0
-1
3
0
9
-90
25
15
5
-46
5
14
73
7
0
0
0
0
0
0
0
21
-35
-24
-45
53
29
-4
-7
-32
-1
0
0
0
1
0
0
5
-18
32
69
-3
-33
-33
-19
47
93
-5
0
0
0
0
0
-1
0
33
-63
-8
23
-81
27
39
22
0
0
0
0
0
0
0
0
-4
-1
42
-73
-25
2
-63
58
-5
5
0
0
0
0
0
0
0
0
4
1
-43
5
7
10
17
-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
14
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
22
-24
-3
4
-8
-2
-1
0
0
0
0
0
0
0
0
0
2
26
24
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
-83
22
-15
108
-41
-6
-83
0
0
0
0
0
-5
-87
-38
0
0
-36
33
-105
42
21
72
-114
0
0
0
0
0
-3
-43
14
-7
3
17
84
69
23
27
44
0
0
0
5
0
0
8
6
20
5
61
20
-32
6
-75
119
-66
40
0
0
0
0
-5
-1
11
-6
78
35
75
39
-15
2
45
56
-35
0
0
0
0
0
1
0
-5
50
103
89
27
55
49
-2
-52
-25
0
0
0
1
1
0
1
-29
15
4
56
33
-11
16
-127
-22
17
0
0
0
0
-1
-2
-4
37
-21
-3
7
-8
2
-32
18
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
-5
2
-1
0
0
9
-5
5
-44
64
75
43
0
0
3
0
-10
112
-11
22
-24
30
-63
-36
-8
4
85
5
32
0
0
0
2
-12
37
-46
103
-7
-75
18
-52
-58
16
19
16
85
0
0
0
0
14
27
36
75
-7
33
1
8
2
71
-12
90
-92
0
0
0
2
23
-15
7
-62
-57
39
22
17
-21
-59
65
-43
79
0
0
0
0
1
-25
18
-33
27
-12
20
59
-39
6
-23
-1
-1
0
0
0
-3
-62
-39
-22
52
144
8
-14
-40
-22
-39
-13
-28
97
0
0
0
-2
2
-18
59
-58
-23
-43
98
-25
-16
3
-22
-61
4
0
0
0
0
0
-1
2
-28
-9
32
8
-4
-38
-6
15
-5
0
0
0
0
0
0
0
0
0
0
0
34
43
-80
69
-12
-61
-4
0
0
0
0
0
0
0
-14
1
-22
5
1
-84
-16
44
-42
8
0
0
0
0
-2
0
0
1
3
7
10
-1
39
-68
2
60
7
0
0
0
0
-1
2
0
0
-11
37
-37
-19
57
0
34
38
1
0
0
0
0
0
0
0
-2
1
-8
39
10
6
62
-36
47
13
0
0
0
0
0
0
-3
3
-8
34
51
-17
15
14
-41
33
3
0
0
0
0
0
0
0
2
2
5
38
6
25
-20
-3
33
7
0
0
0
0
0
0
2
-2
16
7
-21
-31
4
-44
-51
2
0
0
0
0
0
0
0
0
-6
0
5
4
0
4
-9
10
11
2
0
0
0
0
0
0
0
0
0
-9
42
89
-63
-14
56
23
-23
0
0
0
0
2
1
0
2
-66
40
0
38
41
16
46
144
87
0
0
0
0
0
1
0
3
-6
-2
16
145
5
39
42
-89
51
0
0
0
0
2
0
-1
-27
5
68
47
34
124
22
-12
-11
24
0
0
0
0
0
0
1
-4
3
-66
50
57
72
113
36
69
-2
0
0
0
0
0
1
0
4
-13
84
-21
6
-93
-18
-22
20
37
0
0
0
0
0
0
0
1
5
12
5
-4
26
-79
55
50
-16
0
0
0
0
0
0
7
0
-2
7
11
16
74
-47
-7
-72
7
0
0
0
0
0
0
0
0
0
0
0
-4
-3
52
14
-1
0
0
0
0
0
0
0
0
0
0
0
-50
-23
19
-5
17
-23
-20
0
0
0
0
-9
7
-8
0
-17
0
-85
15
60
83
1
56
-27
0
0
0
7
3
6
19
50
-17
94
-54
42
41
27
72
37
-45
0
0
0
0
0
4
28
-11
8
39
47
71
63
68
-27
36
-43
0
0
0
0
-1
0
8
34
65
36
-18
54
29
31
7
50
17
0
0
0
0
1
14
3
39
19
-39
102
43
4
-45
36
111
0
0
0
0
0
1
1
43
27
-13
22
-29
-13
97
-78
39
43
7
0
0
0
0
0
0
0
-33
-1
-6
35
69
-7
-16
34
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-17
0
0
0
0
0
0
0
0
0
0
0
-11
-31
16
0
110
55
78
-5
0
0
0
0
0
1
4
0
-1
0
-1
-40
30
-26
-19
-8
5
0
0
0
0
0
0
0
-4
25
23
49
49
3
84
64
-4
-13
0
0
0
0
0
0
-4
-13
18
69
44
-78
-19
30
42
-66
49
0
0
0
0
0
0
-6
10
52
-52
72
68
-72
-70
-91
8
-7
0
0
0
0
0
-1
5
-7
7
58
35
96
59
-101
-47
22
0
0
0
0
0
0
0
0
0
29
51
4
-25
48
11
82
39
1
0
0
0
0
0
0
0
0
6
0
-1
29
43
-71
-49
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-11
-8
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
2
2
-10
0
0
0
0
0
0
0
1
3
0
0
4
5
7
24
2
2
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-18
-25
13
0
0
0
0
0
0
0
0
34
-1
-1
0
-3
3
2
-15
-20
0
0
0
0
0
0
0
0
5
-41
0
1
0
8
-20
-13
3
0
0
0
0
0
0
0
0
8
25
-5
6
0
-13
16
-1
9
0
0
0
0
0
0
0
0
0
26
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
-7
-21
27
-49
47
104
-58
-42
0
0
0
0
0
0
1
2
-24
44
-74
-60
-37
70
17
4
26
0
0
0
0
0
0
-3
-12
-43
43
17
23
-69
15
-5
71
-5
0
0
0
0
0
0
0
-10
3
5
39
-49
34
-10
26
-27
-13
0
0
0
0
0
0
0
0
-1
-2
6
31
5
-11
-26
90
45
0
0
0
0
0
0
0
0
-1
1
13
-2
84
-71
80
-50
80
0
0
0
0
0
0
0
0
0
3
1
79
22
-23
48
-33
-17
0
0
0
0
0
0
0
0
0
0
0
13
-35
27
-103
-63
59
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-27
74
0
0
0
0
0
0
0
0
0
0
-3
12
-4
-66
-53
54
0
0
0
0
0
0
0
0
0
-5
-4
-27
-51
-6
102
24
-89
-10
0
0
0
0
0
0
0
0
-1
0
0
4
27
-24
26
25
9
0
0
0
0
0
0
0
0
0
0
0
0
-7
15
-15
-41
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
51
62
-67
-25
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-19
-53
-79
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
-29
-15
100
39
0
0
0
0
0
0
0
0
0
0
0
0
1
11
-14
11
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
0
18
21
8
-22
29
-1
0
0
0
0
0
0
0
53
-4
-3
-16
-33
65
54
9
11
1
0
0
0
0
0
0
0
2
-7
0
-1
7
4
-27
35
66
-7
0
0
0
0
0
0
0
0
-1
0
0
-2
-30
34
-3
47
3
0
0
0
0
0
0
0
0
0
0
0
-22
76
-61
31
93
36
0
0
0
0
0
0
0
0
0
0
-3
0
-11
-129
22
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
33
51
48
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
21
-13
-20
-2
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
5
-3
50
10
-12
-5
4
-1
0
0
0
0
0
0
-4
4
15
39
43
29
2
52
101
-52
-1
0
0
0
0
0
0
0
3
-1
-3
11
-15
90
8
-4
26
10
0
0
0
0
0
0
0
10
-1
0
-7
-18
-23
68
63
115
-6
0
0
0
0
0
0
0
0
0
0
0
-9
57
70
-7
-10
17
0
0
0
0
0
0
0
0
0
0
0
68
-23
47
-26
48
0
0
0
0
0
0
0
0
0
0
0
0
1
-75
23
20
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
35
-58
-11
-41
6
-52
77
20
0
0
0
0
0
0
-1
-3
17
-9
121
139
-14
-46
80
20
66
0
0
0
0
0
0
0
8
-4
54
-3
61
79
-67
-53
133
44
0
0
0
0
0
0
0
2
9
70
-23
12
-32
6
30
-50
25
0
0
0
0
0
0
-2
5
-33
-57
36
37
49
24
-8
138
29
0
0
0
0
0
0
-3
1
13
-46
60
-20
-36
19
97
24
-6
0
0
0
0
0
0
0
0
-7
9
38
72
-10
6
-2
-23
-82
0
0
0
0
0
0
0
0
0
0
-3
33
-6
-7
-6
-45
22
0
0
0
0
0
0
0
0
0
0
6
-2
5
14
-4
-5
-4
0
0
0
0
0
0
0
0
0
-3
-15
7
-13
17
31
-11
0
0
0
0
0
0
0
0
0
0
-1
24
29
49
75
-36
11
-34
0
0
0
0
0
0
0
0
-1
-3
0
-6
18
57
47
-15
19
0
0
0
0
0
0
0
-5
1
24
20
1
6
-19
8
33
-1
0
0
0
0
0
0
0
9
3
7
7
-3
-11
-18
-10
-8
33
0
0
0
0
0
0
0
-1
3
0
-4
9
-2
-43
5
4
1
0
0
0
0
0
0
0
-7
-1
-4
5
33
41
-35
-30
-57
7
0
0
0
0
0
0
0
0
9
14
0
2
41
13
55
-11
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
7
7
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
4
1
-18
0
39
115
84
24
-22
-44
10
-24
0
0
0
-5
-4
-28
-28
-16
79
124
17
-34
-43
50
-17
-14
16
0
0
0
14
-4
23
9
121
57
71
-3
16
63
-3
-24
-20
-7
0
0
0
0
-1
-16
-97
56
79
-13
-26
-3
12
32
79
71
18
0
0
0
0
0
-17
21
-8
14
19
-15
-38
67
20
94
-22
14
0
0
0
0
0
2
-11
92
-12
14
5
-1
28
-10
-31
-1
32
0
0
0
0
5
-6
-7
86
-129
21
-2
33
-31
-65
24
54
-1
0
0
0
0
0
0
4
69
2
8
23
-5
-1
22
-33
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-55
43
17
-6
0
-67
-48
-14
-32
-136
11
60
0
0
0
1
-9
33
0
30
10
-6
-81
-88
-4
0
-34
101
30
0
0
-3
0
5
-30
-54
46
-53
59
-8
71
-24
62
97
50
-28
0
0
0
0
-1
-6
-55
-7
15
87
-49
-39
-39
-39
-99
-3
63
0
0
0
0
5
-33
-23
-9
41
75
-79
-67
48
1
-53
-20
85
0
0
0
0
-3
-7
-43
42
-34
-61
-80
-27
4
-39
0
26
47
0
0
0
0
2
-7
1
39
-79
38
20
-61
68
-14
93
93
27
0
0
0
0
0
0
-17
48
-77
-5
-19
-57
-21
-114
-37
8
-18
0
0
0
0
0
0
-10
10
14
27
36
-75
-38
56
60
0
0
0
0
0
0
0
0
0
0
0
0
3
109
-36
22
0
17
0
0
0
0
-2
0
1
9
-26
11
64
-76
-15
4
53
6
25
0
0
0
0
0
-2
0
-5
52
-13
33
-29
-32
113
-35
32
-31
0
0
0
0
0
0
0
-4
9
-121
-32
43
22
21
-21
4
1
0
0
0
0
0
0
-2
-6
10
5
-13
24
-20
-34
11
-6
-2
0
0
0
0
0
0
0
0
-41
-35
1
-46
11
-22
4
-44
0
0
0
0
0
0
0
0
-1
21
49
5
-2
14
-50
43
-33
-6
0
0
0
0
0
0
0
-2
-29
-23
32
8
33
-41
-90
-20
-7
0
0
0
0
0
0
0
0
34
-128
33
2
-3
-1
-3
8
0
0
0
0
0
0
0
0
1
8
0
0
60
-10
-43
52
-69
-17
0
0
0
-1
3
-2
23
6
-4
-39
81
5
15
-5
99
-7
9
0
0
0
0
0
-1
-8
-77
2
14
117
97
53
39
69
-51
26
0
0
0
0
0
-1
-13
-21
-5
70
26
7
-17
5
4
45
55
0
0
0
0
0
-2
1
-27
32
-117
-11
33
-71
-115
-33
-30
15
0
0
0
0
0
-1
2
-16
29
2
-3
5
57
-37
51
-10
-8
0
0
0
0
0
-4
75
-69
-21
-19
-33
-39
-27
-19
-11
-2
1
0
0
0
0
0
0
35
6
-23
-37
-15
-8
-26
-41
-13
-39
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
-10
4
0
-102
-57
51
38
-33
42
23
14
0
0
-1
0
0
48
46
-43
61
64
-27
38
32
-71
108
-4
35
0
0
0
18
-3
-2
129
57
24
116
-2
44
-40
-53
-18
66
2
0
0
0
0
-1
-33
-8
-17
-42
-37
64
-4
17
-37
30
-11
-28
0
0
0
0
19
-9
-33
-118
12
55
84
129
130
76
8
-16
-37
0
0
0
0
1
0
-30
5
-48
-5
-67
59
108
-35
70
-57
5
0
0
0
0
0
0
-5
45
-16
-48
28
-41
-89
-71
-23
-17
29
0
0
0
0
0
0
-5
-5
-3
9
3
26
20
45
-2
-6
-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
9
30
15
-14
-12
82
32
-6
0
0
0
0
0
-5
-27
4
6
59
-92
120
67
-63
54
54
-24
0
0
0
0
0
3
10
-14
15
25
9
-42
-20
9
-61
-78
19
0
0
0
0
0
0
6
28
-33
23
123
-8
-10
-70
157
-103
-40
0
0
0
0
0
-6
-22
-7
16
82
10
-3
62
80
78
95
21
0
0
0
0
0
0
-4
46
-54
-1
-1
-39
45
38
20
28
-36
0
0
0
0
0
0
6
-8
-8
3
15
-51
-2
-4
59
6
11
0
0
0
0
0
0
0
-2
-17
-50
-14
-61
-4
71
8
18
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
16
-2
0
-1
-5
-10
2
3
0
0
0
0
0
-4
-1
-33
-5
36
62
17
-21
-21
77
6
1
0
0
0
0
0
0
-4
-6
-16
-16
52
-80
-17
-22
23
5
33
0
0
0
0
0
0
-3
-1
1
-1
45
25
39
-11
42
11
-6
0
0
0
0
0
0
0
-9
-8
-11
44
-37
-8
-39
33
-45
-30
0
0
0
0
0
0
-3
-2
23
-14
-13
-2
62
-49
4
-16
-22
0
0
0
0
0
0
3
-46
2
23
-17
-33
-22
25
-70
-71
2
0
0
0
0
0
0
7
1
3
-7
-4
-1
15
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
4
-60
8
31
9
0
0
0
0
0
0
0
0
0
0
0
3
-2
26
-120
112
29
0
0
0
0
0
0
0
0
0
0
0
-3
-8
35
-49
-50
27
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
9
71
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-20
22
-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
-16
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
10
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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
-25
-13
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
14
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
32
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
1
39
53
4
0
0
0
0
-1
-3
-17
0
0
0
-7
69
-33
-35
6
20
-32
0
0
0
0
0
-2
5
-9
16
18
73
-15
41
-18
-61
-109
31
0
0
0
0
10
0
14
83
-7
-12
18
-78
-34
-1
18
5
0
0
0
0
0
0
0
1
-1
17
7
28
-16
30
39
9
-35
-5
0
0
0
0
0
0
0
4
-17
-5
5
-46
-14
-17
79
-41
0
0
0
0
0
0
0
0
18
4
29
-32
19
-14
0
-25
4
4
0
0
0
0
0
0
1
54
6
-14
0
1
2
2
3
0
-1
0
0
0
0
0
0
0
0
4
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
-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
-10
0
0
0
-73
64
30
-14
57
29
48
0
0
0
0
0
-1
6
-24
0
0
98
89
-20
74
68
13
51
0
0
0
0
0
-1
-4
87
198
52
65
18
53
46
74
56
99
0
0
0
4
0
-5
-30
33
84
83
27
-5
18
121
10
57
145
0
0
0
0
0
-2
0
-58
-23
-38
41
-114
-76
125
46
-3
18
0
0
0
0
1
0
-10
-12
5
-105
-68
-47
-10
55
4
51
-7
0
0
0
0
0
1
0
2
32
-63
-20
3
8
37
1
-14
-5
0
0
0
0
0
0
0
-7
-15
-5
-13
-41
52
42
-42
-46
-4
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
-8
1
0
0
0
0
0
-2
8
36
0
0
97
-11
14
19
6
-60
66
0
0
0
0
0
0
-3
-80
-12
39
-6
-1
45
4
7
-28
1
0
0
0
0
0
8
-21
-23
-21
-25
20
35
16
-26
12
39
2
0
0
0
0
10
-47
16
-20
-73
-25
23
24
-10
8
64
-50
-5
0
0
0
0
0
16
43
-16
-13
-32
-17
32
37
-30
-22
-41
-63
0
0
0
0
2
0
-7
33
-54
-111
29
28
76
-23
-8
-13
-111
0
0
0
0
3
3
-4
7
-39
-94
-43
7
82
48
44
-99
-2
0
0
0
0
0
-7
16
1
-6
-50
-60
-29
5
-42
-13
-56
-149
0
0
0
0
0
0
0
0
6
87
-22
48
-66
56
56
21
0
0
0
0
0
0
0
0
0
0
0
59
45
59
17
64
-20
81
0
0
0
0
0
0
0
0
-20
3
-13
55
52
-2
-35
-15
-26
0
0
0
0
0
0
0
0
-7
-75
1
-35
63
32
48
37
-4
0
0
0
0
0
0
0
0
3
47
-32
-7
58
14
4
81
48
0
0
0
0
0
0
0
0
-21
11
37
14
-19
7
-14
19
36
0
0
0
0
0
0
0
0
53
-12
-42
-82
-22
54
35
-6
75
0
0
0
0
0
0
0
0
29
-3
-20
-6
-16
-16
21
-12
16
0
0
0
0
0
0
0
5
-77
-48
43
-51
14
-1
68
14
13
0
0
0
0
0
0
0
0
1
42
-23
30
22
-72
-25
20
25
0
0
0
0
0
0
0
0
0
50
82
72
-2
23
48
23
33
0
0
0
0
0
0
0
1
0
80
0
23
-8
-45
9
-14
-4
0
0
0
0
0
0
0
0
-5
70
128
-50
14
45
-17
-34
48
0
0
0
0
0
0
0
1
4
57
50
72
137
-7
63
-28
26
0
0
0
0
0
0
-6
-5
45
74
-119
-17
83
-55
15
-3
74
0
0
0
0
0
0
-4
1
-2
-41
54
-39
-16
17
21
27
53
0
0
0
0
0
0
0
2
6
11
33
4
39
3
-36
20
35
0
0
0
0
0
0
0
0
64
43
7
-18
-16
30
-42
12
-59
0
0
0
0
0
0
0
0
0
0
0
0
-8
-33
7
-2
0
0
0
0
0
4
1
-1
-2
0
0
-7
22
-11
-29
32
14
-8
0
0
0
0
0
0
6
0
104
0
43
37
47
1
53
29
53
0
0
0
0
0
3
18
160
77
29
-40
84
74
20
42
-27
0
0
0
0
0
0
0
15
-16
36
-50
24
-46
63
77
30
-4
-16
0
0
0
0
0
-1
-1
-24
23
64
25
30
11
-8
40
4
37
0
0
0
0
0
0
9
2
42
53
-19
132
73
-66
-19
4
10
0
0
0
0
0
0
-8
32
-101
20
30
9
130
41
-18
31
36
0
0
0
0
0
0
0
-3
0
0
2
-25
-34
30
-62
25
-3
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
14
0
0
0
0
0
0
0
0
-1
0
0
71
70
29
46
0
0
-23
0
0
0
0
0
2
0
0
0
0
83
9
132
53
-3
66
53
0
0
0
0
0
0
4
43
-14
45
24
-19
29
-65
-50
121
31
0
0
0
0
0
0
7
5
21
-24
107
-9
-5
18
74
21
-27
0
0
0
0
0
0
0
-49
-2
15
-68
13
-35
52
75
-3
42
0
0
0
0
0
0
0
-5
13
-13
78
44
16
43
98
15
24
0
0
0
0
0
0
0
0
4
2
-7
22
-53
-44
-36
-34
14
0
0
0
0
0
0
0
0
0
0
9
18
-21
21
-11
51
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
2
-32
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-56
-16
-9
0
0
0
0
0
0
0
0
0
1
0
2
19
-43
-21
6
22
0
0
0
0
0
0
0
0
0
0
13
7
5
37
-53
-6
-15
0
0
0
0
0
0
0
3
0
-5
2
0
14
52
30
95
8
0
0
0
0
0
0
0
0
4
6
0
0
4
-14
15
74
33
0
0
0
0
0
0
0
0
0
1
0
0
2
-35
17
-53
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
14
1
-79
35
-28
-11
-56
2
0
0
0
0
0
0
4
39
68
8
21
9
44
44
5
-120
0
0
0
0
0
0
0
0
-52
-9
35
77
60
-43
22
-11
-78
-43
0
0
0
0
0
0
0
-2
-17
-51
1
81
53
-29
140
42
78
0
0
0
0
0
0
0
0
-34
14
14
-93
91
17
78
-2
76
0
0
0
0
0
0
0
0
3
5
-3
-5
32
117
24
-135
-108
0
0
0
0
0
0
0
0
0
0
22
-43
-11
36
-3
-12
18
0
0
0
0
0
0
0
0
0
0
-5
-1
15
33
52
31
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
-32
40
5
0
0
0
0
0
0
0
0
0
1
-11
-4
-7
-97
-2
122
3
0
0
0
0
0
0
0
0
-2
3
15
34
-33
7
61
-45
-40
0
0
0
0
0
0
0
0
0
2
11
-1
51
20
119
115
80
0
0
0
0
0
0
0
0
0
0
-8
-19
-6
-5
-19
-75
26
0
0
0
0
0
0
0
0
0
0
0
-14
10
-5
50
33
118
0
0
0
0
0
0
0
0
0
0
0
-1
-8
15
-40
133
-18
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-17
-4
43
53
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-36
-44
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
32
1
0
0
0
0
0
0
0
0
0
23
-9
-5
-25
-49
-30
12
10
0
0
0
0
0
0
0
2
2
-19
28
14
8
-73
26
-8
24
0
0
0
0
0
0
0
0
0
10
7
20
28
-13
64
3
221
0
0
0
0
0
0
0
0
-1
-1
-3
36
-3
15
56
52
17
0
0
0
0
0
0
0
0
0
0
0
-7
14
-135
8
45
15
0
0
0
0
0
0
0
0
0
0
-1
0
16
33
-77
-56
-56
0
0
0
0
0
0
0
0
0
0
0
0
-14
63
-26
-33
-48
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
-15
44
-15
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
-3
31
71
-52
-38
10
0
0
0
0
0
0
0
0
1
32
-8
17
43
-42
63
22
21
0
0
0
0
0
0
0
0
-1
-1
0
32
-4
61
80
-5
-62
0
0
0
0
0
0
0
0
0
-1
-6
-23
-1
-109
100
12
-10
0
0
0
0
0
0
0
0
0
0
0
9
74
-15
-71
-21
-14
0
0
0
0
0
0
0
0
0
0
0
5
-20
33
-81
42
4
0
0
0
0
0
0
0
0
0
0
0
-6
6
-78
-14
29
24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-33
-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
70
63
-29
75
-28
-22
16
-10
0
0
0
0
0
0
0
0
1
32
44
29
-81
105
178
-146
42
0
0
0
0
0
0
0
1
2
62
-43
-98
88
66
36
46
15
0
0
0
0
0
0
0
1
-2
-16
-79
50
36
-5
-36
14
-78
0
0
0
0
0
0
0
14
8
6
-1
95
-25
5
-48
10
52
0
0
0
0
0
0
0
1
2
2
7
-64
-25
44
43
10
43
0
0
0
0
0
0
0
0
-2
1
-10
-52
-16
63
31
21
12
0
0
0
0
0
0
0
0
-2
0
0
27
-41
-71
-6
-65
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-41
5
-54
0
0
0
0
0
0
0
0
0
5
-5
10
3
27
60
-73
23
0
0
0
0
0
0
0
0
0
1
-9
-3
5
71
-13
43
65
0
0
0
0
0
0
0
0
0
1
5
-11
50
1
-23
52
-24
0
0
0
0
0
0
0
0
0
-1
-2
18
30
44
43
55
62
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-15
7
-32
27
0
0
0
0
0
0
0
3
0
5
2
7
-17
53
28
8
28
0
0
0
0
0
0
0
0
0
0
0
-3
5
-51
7
34
43
0
0
0
0
0
0
0
0
0
0
-1
0
4
-5
-17
-24
72
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-34
5
2
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
-10
-41
1
0
83
91
15
-58
49
25
-47
23
0
0
0
-5
-2
-16
-86
-46
-42
145
-24
-89
49
-28
55
62
56
0
0
0
0
2
18
-14
-13
-13
23
79
90
51
18
128
-8
-32
0
0
0
1
3
33
-23
-97
-4
-51
-99
-11
-81
-8
95
61
90
0
0
0
0
0
3
-11
78
-39
-53
27
20
95
-7
65
57
-1
0
0
0
0
0
0
24
8
62
-21
64
34
-43
29
-76
-50
-43
0
0
0
0
0
2
1
0
39
16
-3
-58
-53
-18
-102
-19
-14
0
0
0
0
0
0
0
7
-2
-9
-11
-9
-23
39
-22
-6
-1
0
0
0
0
0
0
0
0
4
3
0
0
0
0
5
0
-1
0
0
0
-1
5
-22
-97
-53
0
24
19
89
144
51
-1
16
0
0
0
0
-19
11
34
103
-11
-44
63
25
4
-17
63
59
110
0
0
0
0
4
0
-5
-12
-105
46
-117
-110
50
-66
4
72
79
0
0
0
0
0
0
-40
-43
-64
-54
57
24
-20
0
-2
-11
-23
0
0
0
0
0
2
-16
20
10
60
-86
36
-60
24
-67
51
23
0
0
0
0
0
0
0
-13
88
-54
24
-58
-17
-33
23
44
-109
0
0
0
0
0
0
-20
54
14
-63
52
6
2
-21
62
73
13
0
0
0
0
0
-2
-7
18
8
-56
43
66
-64
3
128
-60
-15
0
0
0
0
0
0
0
4
10
-39
-103
-57
-11
2
-1
6
0
0
0
0
0
-1
0
-39
-1
-131
0
22
-47
42
-9
-7
37
-3
0
0
0
0
0
5
-35
-12
39
-15
-26
-31
80
-91
10
26
0
0
0
0
0
-1
0
53
26
15
92
101
-50
10
24
-5
-46
5
0
0
0
0
0
0
4
7
90
-34
47
-1
-46
-18
-2
-3
0
0
0
0
0
0
0
-5
10
-1
36
4
0
-7
32
3
-3
1
0
0
0
0
-2
0
33
23
-27
5
21
8
6
25
-2
2
0
0
0
0
0
0
2
-13
36
-9
-157
11
-33
51
-29
1
-9
1
0
0
0
0
0
1
5
-18
74
-74
-17
2
-19
-6
0
0
0
0
0
0
0
0
0
4
-28
-81
22
32
-1
-2
13
0
0
0
0
0
0
0
0
0
16
-33
-54
0
-37
130
52
-15
24
-2
0
0
0
0
0
0
0
-10
51
-17
55
-19
80
-71
103
76
4
0
0
0
0
0
0
0
17
17
-23
-52
-36
55
45
-17
109
14
0
0
0
0
0
0
0
3
-16
56
79
12
-5
-2
-62
53
10
0
0
0
0
0
0
2
-8
-8
4
-119
64
-11
-25
33
-17
-24
0
0
0
0
0
0
1
-18
36
9
-71
-17
-4
3
20
-32
-4
0
0
0
0
0
0
0
-2
27
-83
4
74
-46
-4
-5
20
0
0
0
0
0
0
0
0
0
-2
-30
57
4
-33
-33
-11
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
-25
20
0
33
-35
120
50
-12
21
-82
-33
0
0
0
0
0
16
21
-38
-25
85
74
93
51
-80
-59
78
11
0
0
0
7
9
8
-103
-5
35
4
49
19
-19
74
-57
17
-9
0
0
0
0
0
0
39
37
35
1
102
30
-96
23
58
36
-56
0
0
0
0
0
-3
5
23
32
-82
80
-34
29
11
84
-36
-17
0
0
0
0
0
-3
4
36
25
-5
46
5
45
11
2
37
13
0
0
0
0
0
0
1
10
0
30
4
-40
53
6
80
-36
-39
0
0
0
0
0
0
0
-5
-1
30
2
-29
-17
6
-10
-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
10
0
-17
16
-14
-6
-32
-51
-22
112
0
0
0
0
0
0
9
23
-18
7
13
57
1
72
15
53
133
0
0
0
0
0
0
2
-4
0
34
26
-70
67
41
-20
110
0
0
0
0
0
0
0
0
-7
-39
19
-14
14
-39
53
-22
-48
31
0
0
0
0
0
0
0
23
20
-28
44
76
18
-34
-7
115
79
0
0
0
0
0
0
1
-1
2
-47
-100
2
-24
-33
-46
-147
128
0
0
0
0
0
0
0
0
-32
14
16
-23
-43
79
-6
-89
-53
0
0
0
0
0
0
0
0
102
-19
-7
-18
-11
-19
-43
-41
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
14
14
0
-8
3
79
-61
14
0
0
0
0
0
0
1
0
3
5
9
-45
6
-32
57
-1
16
0
0
0
0
0
0
0
-5
-3
-3
-25
0
-1
92
6
-2
21
0
0
0
0
0
0
0
1
1
-18
13
-1
-5
60
75
0
103
0
0
0
0
0
0
0
0
3
0
46
25
0
-25
-24
59
-29
0
0
0
0
0
0
0
-1
0
-5
1
-7
2
-14
25
50
66
0
0
0
0
0
0
0
-1
3
-9
-3
6
-8
-10
-17
88
-4
0
0
0
0
0
0
0
0
-1
0
0
6
-4
11
-11
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-13
8
6
0
0
1
0
0
0
0
0
0
0
0
0
0
2
-10
-37
6
1
8
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
14
-56
-6
20
0
0
0
0
0
0
0
0
0
0
0
-1
14
-20
-9
-11
1
0
0
0
0
0
0
0
0
0
0
0
2
14
5
2
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
4
15
5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
23
-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
-10
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-18
18
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
43
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
9
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
5
-10
-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
11
0
0
-5
-3
7
7
0
0
0
0
0
0
0
0
0
0
2
2
9
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-11
-24
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-5
-10
-6
-13
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
-15
1
-23
-7
1
0
14
0
0
0
0
0
0
0
0
-2
8
24
-22
-45
22
13
-19
7
-1
-4
-3
0
0
0
0
-1
1
-14
-18
16
-9
-17
-72
71
20
2
-16
0
0
0
0
0
0
-2
27
7
-15
-26
20
31
5
-17
-7
-1
3
0
0
0
0
-8
0
16
1
-5
13
11
-14
-7
-4
1
-1
0
0
0
0
0
0
0
6
-8
-2
-29
25
-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
-81
33
-5
-29
0
-26
-3
-1
0
1
0
0
0
0
-3
22
-6
-34
53
33
66
99
-23
-12
8
4
-1
0
0
0
0
2
10
33
25
24
23
46
-2
39
5
-2
-4
0
0
0
0
0
2
3
60
19
19
23
-18
13
-2
3
-9
4
3
0
0
0
0
-1
-5
14
36
-30
-10
-31
33
-10
-14
12
-1
0
0
0
0
0
7
13
-45
29
21
-17
-23
-51
12
14
1
-1
0
0
0
0
0
0
17
18
-120
-56
27
-53
-42
-14
-1
10
-1
0
0
0
0
0
0
2
-6
13
-60
11
28
7
7
-18
0
0
0
0
0
0
0
0
0
0
-3
-29
9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
7
-13
8
0
5
1
-1
0
0
0
0
0
0
0
0
-6
6
15
21
-11
-5
6
-4
-3
0
0
0
0
0
0
0
0
1
9
-9
20
1
-27
5
-6
0
0
0
0
0
0
0
0
0
0
3
-8
-9
20
-9
-1
-1
0
1
0
0
0
0
0
0
0
0
1
19
8
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-19
14
0
3
1
4
-2
0
0
0
0
0
0
0
0
0
0
7
7
2
-2
-18
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
19
0
-22
0
29
-1
8
0
0
0
0
0
0
0
0
-18
-5
35
-16
0
15
-14
23
-5
7
1
0
0
0
0
0
3
6
-3
-24
-19
13
-4
30
8
6
6
0
0
0
0
0
0
3
11
-18
23
26
-6
-37
0
-13
-17
3
0
0
0
0
0
0
0
0
5
-14
18
16
5
-6
-7
-4
1
0
0
0
0
0
0
0
0
-6
24
-5
-43
-7
-5
-5
0
0
0
0
0
0
0
0
0
-3
-5
34
-4
22
26
-5
14
13
0
0
0
0
0
0
0
0
1
18
2
-5
24
-4
-52
-23
-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
20
-89
-12
0
4
1
2
0
0
0
0
0
-1
10
11
-13
-14
26
-24
24
33
7
-3
11
-1
0
0
0
0
-1
0
10
4
25
-17
-26
-47
-1
36
5
0
0
0
0
0
0
0
-29
-16
-19
3
-47
22
46
16
4
13
2
0
0
0
0
0
0
0
14
-9
24
-10
35
20
-13
-17
1
-1
0
0
0
0
0
0
-1
-4
10
-10
-1
-25
15
-6
0
3
0
0
0
0
0
0
0
0
4
0
10
11
-7
-14
-1
-1
0
0
0
0
0
0
0
0
0
0
9
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
9
45
11
0
-5
0
0
0
0
0
0
0
1
2
7
-14
-33
-14
-6
8
11
3
-2
0
0
0
0
0
0
-1
2
-5
3
1
-15
9
34
5
-10
2
1
0
0
0
0
0
0
0
-2
-9
9
-43
7
-17
-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
11
-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
-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
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
17
10
-9
0
0
0
0
0
0
0
0
0
0
0
7
50
3
-10
22
-4
0
-1
0
0
0
0
0
0
0
0
-2
-43
48
-21
74
25
-5
0
0
0
0
0
0
0
0
0
0
0
5
-50
25
10
16
7
0
0
0
0
0
0
0
0
0
0
0
26
-14
-14
6
9
0
0
0
0
0
0
0
0
0
0
0
0
24
-25
18
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
23
23
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
-10
0
0
-7
21
1
0
0
0
0
0
0
0
0
0
0
0
1
16
1
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
24
22
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
-13
-13
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-1
8
9
-8
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
-20
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
13
14
0
0
0
2
0
0
0
0
0
0
0
0
2
0
-3
16
25
0
0
0
19
1
0
0
0
0
0
0
0
0
3
4
5
-2
29
17
4
0
0
0
0
0
0
0
0
0
0
0
4
6
-3
-5
-6
7
-7
2
0
0
0
0
0
0
0
0
0
-4
51
31
24
0
7
-6
0
0
0
0
0
0
0
0
0
0
0
13
-2
17
-1
-21
6
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-13
-9
-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
9
5
-1
0
0
0
0
0
0
0
0
0
2
3
-37
10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
25
-25
-9
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
-2
13
4
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
6
-14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
-14
0
0
0
0
0
0
0
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
23
-17
17
25
22
0
0
0
0
0
0
0
0
0
0
0
29
-75
4
-17
-40
5
6
0
0
0
0
0
0
0
0
0
0
18
-13
17
15
19
5
4
-1
0
0
0
0
0
0
0
0
0
3
14
-3
0
23
-1
5
-6
0
0
0
0
0
0
0
0
0
1
-23
18
26
-9
3
-33
-13
5
-1
0
0
0
0
0
0
0
6
-5
11
-25
-2
2
-11
3
1
0
0
0
0
0
0
0
0
2
-46
2
-15
25
-24
6
-2
0
0
0
0
0
0
0
0
0
0
7
-3
8
4
26
0
1
-1
0
0
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
27
18
-10
41
1
0
0
0
0
0
0
0
0
0
0
14
43
-35
-19
-6
-72
-10
0
0
15
-6
-11
3
0
0
0
0
-10
43
-43
24
29
-26
3
-13
30
19
-5
-2
0
0
0
0
0
20
-29
-9
33
-11
84
-31
10
-8
-16
2
1
0
0
0
0
0
1
2
11
-31
-38
69
10
-26
-6
1
5
0
0
0
0
0
0
2
-6
-13
-13
41
31
9
-5
-2
1
0
0
0
0
0
0
0
-2
1
22
-3
-16
-14
32
-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
-25
4
5
-60
-23
-9
0
0
0
0
0
0
0
0
0
0
1
-9
-19
0
34
38
12
32
15
43
5
1
-2
0
0
0
0
-1
35
-6
-24
19
59
13
-32
8
5
5
-1
0
0
0
0
0
-7
32
-58
95
78
-31
23
32
-33
24
7
1
0
0
0
0
0
0
-22
-24
52
46
37
-82
-2
43
9
-20
3
0
0
0
0
0
-1
14
-39
23
45
-53
7
16
-19
9
5
0
0
0
0
0
0
0
-71
-25
29
-31
-7
-12
8
-25
10
-3
0
0
0
0
0
0
0
7
11
21
-64
-4
-43
13
-14
-5
0
0
0
0
0
0
0
0
0
-50
-45
13
-4
17
-1
-3
0
0
0
0
0
0
0
0
-45
-21
-8
35
18
2
34
0
0
0
0
0
0
0
0
0
0
23
45
49
37
32
-7
-10
11
-7
0
0
0
0
0
0
0
0
-15
20
-1
9
-1
20
-10
13
-1
0
0
0
0
0
0
0
0
-39
9
29
36
-6
-15
-3
-6
3
0
0
0
0
0
0
0
0
7
20
-23
2
-5
4
-7
1
1
2
0
0
0
0
0
0
0
0
0
-21
-5
-7
-26
-1
0
0
2
0
0
0
0
0
0
0
-17
-29
2
26
8
0
0
0
0
0
0
0
0
0
0
0
0
-30
-23
-2
-6
3
0
1
0
0
0
0
0
0
0
0
0
0
-58
-6
-8
3
-6
-2
0
0
0
0
0
0
0
0
0
0
0
-4
28
-54
-20
-8
35
2
27
0
-1
0
0
0
0
0
0
0
-42
33
-19
-3
-39
-4
0
-15
14
1
0
-1
0
0
0
0
0
-18
55
-16
23
-34
-5
59
-23
-24
1
0
0
0
0
0
0
0
-51
11
5
3
6
55
0
-13
19
2
0
0
0
0
0
0
0
43
23
0
36
26
-19
4
2
0
0
-1
0
0
0
0
0
0
11
-3
1
11
-35
77
-18
-15
6
1
0
0
0
0
0
0
0
26
20
23
-35
1
7
5
4
0
0
0
0
0
0
0
0
0
20
-31
16
-13
-7
-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
-1
6
-9
14
-33
-49
58
0
0
-1
0
-1
0
0
0
0
0
-2
-3
7
4
-8
-30
34
0
11
0
-15
-9
0
0
0
0
0
0
16
-22
-23
-12
-7
71
5
10
-9
39
-4
0
0
0
0
0
2
1
-27
-1
60
43
5
-26
8
-9
-2
-1
-1
0
0
0
0
0
6
-8
-3
45
44
12
-7
-7
4
-2
0
0
0
0
0
0
0
0
-10
11
-13
-3
-15
-14
15
6
-1
0
0
0
0
0
0
0
-5
26
-37
-6
-14
-4
8
-5
1
0
0
0
0
0
0
0
0
1
0
7
2
-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
3
1
-7
1
-3
-6
55
7
0
0
1
0
0
0
0
0
0
-4
-7
5
6
-24
-1
-20
0
-17
0
7
-1
0
0
0
0
0
0
9
0
2
-25
-5
-5
-1
-4
-1
-3
-1
0
0
0
0
0
-1
-20
1
-3
8
-11
18
3
0
0
-4
0
6
0
0
0
0
-1
1
3
-8
-21
26
15
0
4
2
1
0
0
0
0
0
0
0
-4
-2
15
25
-2
-23
9
-5
0
0
0
0
0
0
0
0
0
-2
-7
-8
2
-11
18
-2
0
0
0
0
0
0
0
0
0
0
9
0
17
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
17
9
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
11
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
-1
19
2
0
-2
0
0
0
0
0
0
0
0
0
0
1
51
-2
-1
-29
2
4
1
-2
0
0
0
0
0
0
0
0
4
-2
-32
-33
-1
2
-1
0
0
0
0
0
0
0
0
0
0
2
16
-27
-23
14
0
0
0
0
0
0
0
0
0
0
0
0
6
-42
-3
4
9
-1
0
0
0
0
0
0
0
0
0
0
0
-11
-27
-23
-19
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
-32
53
-14
4
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
-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
-9
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
23
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
-16
4
-16
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
-14
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-27
-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
9
-5
-6
0
1
0
1
0
0
0
0
0
0
0
0
2
7
-3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
14
15
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
10
-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
25
-4
-20
5
3
6
-4
1
0
0
0
0
0
0
0
-1
0
-10
4
-6
-8
-2
0
-1
0
0
0
0
0
0
0
0
0
-5
6
11
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
2
13
9
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
-9
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
10
5
18
-7
-2
2
17
0
9
31
11
0
0
0
0
0
0
14
4
-14
-6
-1
-4
-11
5
127
15
-29
8
0
0
0
0
0
14
4
13
-2
-10
-5
35
50
70
-30
-8
-16
0
0
0
0
1
8
20
8
9
0
-10
1
32
1
2
-2
1
1
0
0
0
0
-10
-32
-6
0
-4
-1
-17
3
-9
-27
0
0
0
0
0
0
0
0
-4
17
-2
0
-3
-3
8
2
5
0
0
0
0
0
0
0
1
17
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
-33
-2
61
-69
105
-12
0
6
0
0
-3
0
0
0
0
0
5
-27
-18
19
-31
-31
-45
-74
-3
16
11
13
2
0
0
0
0
-33
-62
-35
22
21
56
-1
-113
65
43
46
36
0
0
0
0
0
-33
-6
7
51
11
20
-21
-9
-15
42
0
3
0
0
0
0
0
-10
22
16
20
28
3
-5
23
14
19
9
0
0
0
0
0
0
-41
7
-43
31
56
-21
-6
-9
15
30
7
-1
0
0
0
0
0
11
14
-5
1
-23
-22
-6
4
2
-6
0
1
0
0
0
0
0
0
-5
7
29
24
-40
23
-19
-18
-2
0
0
0
0
0
0
0
0
0
0
-2
-60
-13
-14
21
5
-2
0
0
0
0
0
0
0
0
0
1
-1
2
-2
15
0
1
30
14
0
-1
0
0
0
0
1
-9
2
-1
-4
-5
8
21
5
1
2
-3
-2
3
0
0
0
0
0
3
0
2
1
-18
-35
56
12
25
-5
0
0
-1
0
0
0
0
8
-10
-5
7
-3
-13
43
-17
37
-5
-3
1
0
0
0
0
0
0
1
-1
0
0
-5
-5
-3
3
7
2
-2
0
0
0
0
-1
0
0
-2
0
7
3
-24
-32
7
-14
-1
1
0
0
0
0
0
0
1
0
0
-2
16
-28
-28
10
3
2
0
0
0
0
0
0
0
-3
3
1
4
16
-18
-31
9
1
5
0
0
0
0
0
0
-1
0
0
0
55
19
-54
6
4
-1
0
0
0
0
0
0
0
1
-4
-2
18
-3
0
-51
36
-25
0
0
0
0
0
0
0
0
19
8
-14
-32
30
-15
-32
-25
50
18
1
0
0
0
0
0
0
23
14
-7
10
-15
85
52
-35
-20
-1
2
0
0
0
0
0
0
-14
-8
7
-8
6
23
-21
-23
-5
-7
0
0
0
0
0
0
0
1
3
-5
-4
9
-9
10
-5
6
-3
0
0
0
0
0
0
0
0
2
-8
3
4
-32
-18
25
-5
2
1
0
0
0
0
0
0
0
1
11
1
0
-14
21
-5
6
-4
0
0
0
0
0
0
0
0
-2
0
5
24
73
49
-25
-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
10
11
23
2
2
35
0
19
34
-18
0
0
0
0
0
1
-33
20
1
-1
14
-55
23
28
68
-3
8
0
2
0
0
0
5
-35
43
-6
-5
4
5
61
46
-73
-11
8
-6
0
0
0
0
6
6
-19
-5
10
-33
4
-5
18
-6
-11
3
0
0
0
0
0
-1
15
5
14
9
-11
-10
-22
16
13
-3
0
0
0
0
0
0
1
-6
-26
-3
-23
0
-31
-9
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
10
7
5
9
-17
11
14
-32
27
-3
1
0
0
0
0
0
1
6
4
0
-5
0
-2
14
21
20
2
-1
0
0
0
0
0
2
-2
6
-1
-25
7
19
-18
9
4
3
1
0
0
0
0
0
-5
3
2
5
1
1
20
-2
-5
-6
-2
0
0
0
0
0
0
0
0
0
-1
0
-1
6
6
26
-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
-21
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
-23
8
-11
0
0
0
0
0
0
0
0
0
0
0
4
7
-5
-27
-4
-14
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-15
14
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
57
-31
17
-5
2
1
0
0
0
0
0
0
0
0
0
0
0
36
33
-5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
39
-5
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
13
1
-25
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
36
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
48
-30
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-17
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
27
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-13
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
-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
5
7
0
-1
0
0
0
0
0
-1
0
-2
0
1
14
-59
66
-8
0
0
0
0
0
0
0
-2
0
0
1
7
7
10
5
8
4
2
0
0
0
0
0
0
0
0
-2
1
4
3
-18
5
11
-5
-1
0
0
0
0
0
0
0
-1
0
0
0
9
-2
-23
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
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
19
-5
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-27
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
-2
21
-29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
21
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
11
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
24
33
-61
11
-27
1
0
0
0
0
0
0
0
0
0
0
24
-69
39
2
22
11
5
0
0
0
0
0
0
0
0
0
0
-9
-23
-14
11
21
-14
-5
6
0
1
0
0
0
0
0
0
0
-11
-16
82
-6
3
-27
17
2
0
0
0
0
0
0
0
0
0
-11
5
-17
2
2
0
13
-5
-1
0
0
0
0
0
0
0
0
-14
31
61
-32
8
7
7
4
0
-2
0
0
0
0
0
0
0
-10
11
-34
-24
9
2
5
-1
0
0
0
0
0
0
0
0
0
1
-7
-4
-6
7
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-51
-10
1
2
0
0
0
0
0
0
0
0
0
0
0
1
69
2
35
23
23
5
0
0
0
3
-3
4
0
0
0
0
16
0
-55
27
-2
-8
-18
0
0
-34
1
-17
0
0
0
0
0
-9
-47
-18
17
-10
-7
-8
46
23
-6
14
9
0
0
0
0
0
-14
-30
59
6
-8
20
-4
3
17
20
-4
-2
0
0
0
0
0
-4
-16
36
0
15
6
24
-1
-5
-22
-5
0
0
0
0
0
0
0
-18
-19
-18
0
19
-17
14
1
-5
0
0
0
0
0
0
0
0
-8
20
-13
23
-7
-1
1
-1
-2
0
0
0
0
0
0
0
0
0
10
-16
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
-4
-29
-21
-6
-6
0
0
-14
-4
0
0
0
0
0
0
-6
3
-35
-32
11
6
-23
69
15
1
14
9
0
0
0
0
0
-13
41
-30
-44
30
34
-10
-21
-21
37
7
2
0
0
0
0
0
-11
-14
-19
38
14
0
11
5
-14
-14
-11
1
0
0
0
0
0
-9
-10
14
-8
0
2
-5
44
24
-30
0
1
0
0
0
0
0
5
0
-50
-33
28
-6
32
2
-25
-14
0
0
0
0
0
0
0
-2
27
14
96
-51
-13
33
13
13
0
2
0
0
0
0
0
0
0
7
-52
-2
-16
-23
-47
9
1
-8
-1
0
0
0
0
0
0
0
0
34
5
46
7
9
7
0
-3
0
0
0
0
0
0
0
17
-22
-14
37
-9
13
13
0
0
0
0
0
0
0
0
0
0
-67
-13
-4
11
-20
13
-13
2
0
0
0
0
0
0
0
0
0
-20
-11
-45
51
5
18
-8
1
0
0
0
0
0
0
0
0
0
5
17
-26
-30
20
18
-5
0
0
0
2
0
0
0
0
0
0
15
3
-25
20
4
5
4
3
5
0
0
0
0
0
0
0
0
-6
32
20
-32
9
-14
-4
0
-2
-1
0
0
0
0
0
0
0
-46
-55
-36
25
-1
-8
-5
2
0
1
0
0
0
0
0
0
0
-3
-75
15
58
-3
-10
6
1
-1
0
0
0
0
0
0
0
0
39
6
2
27
-9
0
0
0
0
0
0
0
0
0
0
0
0
5
-48
36
13
19
13
18
-5
0
0
1
0
0
0
0
0
0
53
40
18
-7
-69
-49
0
26
17
0
-1
0
0
0
0
0
0
26
53
-32
39
-16
-2
9
-21
0
0
0
0
0
0
0
0
0
30
-7
43
2
52
13
24
-5
0
0
0
0
0
0
0
0
0
0
-34
4
-11
11
23
-8
8
4
0
0
0
0
0
0
0
0
-5
-5
34
2
-9
7
3
1
0
0
0
0
0
0
0
0
0
-33
25
7
-46
-3
9
-7
6
0
0
0
0
0
0
0
0
0
-44
3
-14
-4
-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
-5
15
13
18
0
0
-7
-4
2
0
0
0
0
0
-3
23
47
33
62
2
17
0
23
0
-13
2
0
0
0
0
0
-4
-22
19
49
-31
-10
-3
5
52
60
-24
5
-1
0
0
0
0
-6
-20
-3
36
-26
-5
16
25
-34
-19
-14
4
-1
0
-1
0
0
1
-8
8
0
-24
25
-9
25
-11
21
-1
0
0
0
0
0
0
1
-5
26
-11
-31
-21
-4
0
6
-7
3
0
0
0
0
0
0
0
-7
9
-36
5
6
4
-14
-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
-11
0
0
-1
0
5
0
0
0
0
0
0
0
-1
-23
23
3
-3
-10
-4
0
4
0
10
0
0
0
0
0
0
0
-30
-17
-4
41
29
8
-1
7
30
-8
0
0
0
0
0
0
-11
-14
-5
23
51
-14
11
11
11
-8
-6
-1
0
0
0
0
0
-21
14
-15
-5
14
3
-3
-1
0
27
-1
0
0
0
0
0
0
0
-9
-4
14
8
5
-2
-1
13
-5
-3
0
0
0
0
0
0
0
-1
-15
14
-6
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-1
-9
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
11
0
0
0
0
0
0
0
0
0
-11
-33
-8
10
-23
-4
0
0
0
0
0
0
0
0
0
0
0
25
46
2
7
-3
0
0
0
0
0
0
0
0
0
0
0
10
-20
22
-8
32
-1
0
0
0
0
0
0
0
0
0
0
0
-1
16
5
-9
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
33
-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
15
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
-13
-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
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-37
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
6
-1
-7
-10
17
29
2
0
0
0
0
0
0
0
0
-1
-4
-14
-20
6
2
-1
6
-2
0
0
0
0
0
0
0
-2
-27
-25
-5
7
1
6
-1
-3
0
0
0
0
0
0
0
0
0
-2
0
16
34
-2
-9
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
47
0
-58
5
2
0
0
0
0
0
0
0
1
0
0
0
11
45
46
44
11
0
1
0
0
0
0
0
0
-3
10
-1
-11
-17
16
-72
-68
-8
-11
-4
0
0
0
0
0
-5
-3
-21
-21
-14
-40
15
4
2
1
0
2
0
0
0
0
0
-1
-9
44
1
-8
-2
0
0
-1
-14
-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
10
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
33
6
24
0
81
-31
-10
-13
3
0
0
0
0
0
0
0
1
17
-7
32
-10
23
-33
-8
8
7
0
0
0
0
2
-5
-5
-6
-6
-14
114
-25
8
-36
24
-51
-3
0
0
0
0
-2
5
-16
-44
1
57
-46
-27
8
0
-11
-7
-2
0
0
0
0
2
-6
19
0
-30
17
71
1
-8
-18
-5
5
3
0
0
0
0
1
4
-1
-36
-18
-36
85
-1
-7
3
0
2
0
0
0
0
0
0
0
-18
19
-50
80
22
-15
-37
15
-10
2
-1
0
0
0
0
0
-1
23
5
23
64
43
-14
-2
21
0
1
0
0
0
0
0
0
0
0
4
30
-32
23
-6
-13
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-25
6
-1
1
0
0
0
0
0
0
0
0
0
-5
-7
29
5
23
4
-2
0
0
0
0
0
0
0
0
0
10
2
-14
62
8
-9
0
0
0
0
0
0
0
0
0
3
0
9
53
-25
0
-3
7
-9
15
1
0
0
0
0
0
0
0
1
6
6
5
2
-9
5
4
0
0
0
0
0
0
0
0
0
2
-1
-3
1
-9
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
-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
-1
3
0
2
0
-17
7
5
4
2
0
0
0
0
0
0
16
19
2
-33
35
-43
104
3
9
-8
21
-3
0
0
0
0
0
29
-14
9
52
30
20
37
4
23
11
4
0
0
0
0
0
0
17
0
-21
63
16
7
7
-22
-14
-3
1
-1
0
0
0
0
0
0
26
-21
-4
20
33
6
-1
0
-1
0
0
0
0
0
0
0
-4
9
-14
35
8
10
-60
-1
0
18
0
0
0
0
0
0
0
0
-1
11
-18
-9
5
17
10
-3
0
1
0
0
0
0
0
0
0
1
-1
6
3
-51
-2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
5
0
2
16
5
0
0
0
0
0
-1
0
0
1
6
2
18
-9
-48
34
-39
3
-1
1
0
0
0
0
-2
6
3
22
-53
-21
-12
99
25
17
7
0
1
0
0
0
-1
-3
-21
5
-17
63
-48
52
49
-47
-2
1
0
0
0
0
0
1
-1
4
-18
5
-71
3
1
10
3
6
0
0
0
0
0
0
0
2
-14
-6
-7
-21
-6
26
3
5
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-2
10
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
-10
2
1
0
0
0
0
0
0
0
0
-1
-3
-1
5
-7
3
23
3
0
0
0
0
0
0
0
0
0
4
6
-4
2
-43
40
32
8
1
0
0
0
0
0
0
-1
0
4
7
-4
17
-1
15
-23
-4
-3
0
0
0
0
0
0
0
0
1
22
-5
-10
5
-2
2
1
0
0
0
0
0
0
0
0
0
1
-1
-19
-15
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
2
-2
6
-10
-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
11
4
0
-1
0
0
0
0
0
0
0
1
0
26
16
5
-27
-5
-1
0
0
0
0
0
0
0
0
0
0
18
23
15
20
6
-4
1
0
0
0
0
0
0
0
0
0
-1
24
-57
-55
-6
3
1
0
0
0
0
0
0
0
0
0
0
0
9
8
-9
5
15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
6
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
17
-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
11
56
17
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
14
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-13
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
-9
10
8
1
-1
0
0
0
0
0
0
0
0
0
-3
-5
33
21
-9
0
0
1
0
0
0
0
0
0
0
0
0
-3
-3
-35
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
9
17
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
30
87
24
3
0
0
0
0
0
0
0
0
0
0
0
0
10
20
-19
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-15
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
44
24
-3
0
0
0
0
0
0
0
0
-1
-2
-8
5
50
29
-3
0
0
0
0
0
0
0
0
0
1
4
-10
-26
11
-4
21
3
-2
2
0
0
0
0
0
0
0
0
-3
-31
-14
-24
-14
-4
3
1
0
0
0
0
0
0
0
0
0
1
-14
-21
19
-14
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-10
-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
17
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
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-9
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
-9
-8
25
-11
-6
6
0
0
0
0
0
0
0
0
0
0
0
3
33
21
-43
-27
-16
17
-1
2
0
0
0
0
0
0
0
0
8
0
6
-1
5
3
-19
1
7
0
0
0
0
0
0
0
0
-2
-1
16
5
5
-29
-1
11
5
0
0
0
0
0
0
0
0
0
-2
-7
16
-5
-17
-16
0
2
0
0
0
0
0
0
0
0
2
8
-11
13
19
-4
8
5
-1
0
1
0
0
0
0
0
0
0
3
-3
-20
-1
-17
-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
13
14
14
-10
-14
0
0
37
-17
10
-3
-6
0
0
0
-1
-27
39
-57
39
12
22
59
-31
-5
19
15
0
0
0
0
0
-1
2
-17
-4
32
-3
44
60
-15
-8
-6
-16
0
0
1
0
0
0
-5
-19
-30
18
-34
21
-29
-15
-6
-3
1
0
0
0
0
0
0
5
13
8
25
-4
3
-6
0
-7
1
0
0
0
0
0
0
0
2
10
-5
-21
3
-8
-4
-2
-3
0
0
0
0
0
0
0
0
0
0
6
-10
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
10
9
26
-8
-3
0
0
-9
-2
1
1
0
0
0
0
-1
-4
20
4
27
18
60
-17
55
-20
0
-1
5
0
0
0
0
2
-22
42
0
-30
-44
51
56
-33
33
2
2
-3
0
0
0
0
-17
-21
62
-1
-5
73
80
5
-5
18
-2
2
1
0
0
0
0
10
-7
-28
-62
-109
91
-2
65
49
-1
0
0
-1
0
0
0
0
3
-32
-24
-12
-60
0
-24
-20
13
-11
-4
-3
0
0
0
0
0
-16
-4
-16
-26
-18
-23
-54
32
-17
2
10
-1
0
0
0
0
0
0
9
2
71
-79
19
-8
-14
-10
0
0
0
0
0
0
0
0
0
0
2
-14
45
0
-21
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
-13
11
14
15
13
-1
-14
-1
0
0
0
0
0
0
0
0
4
-7
-6
-2
-2
11
-5
7
-6
-6
0
0
0
0
0
0
0
3
6
-5
11
25
0
-6
5
0
0
0
0
0
0
0
0
0
0
0
-14
-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
-29
0
-8
7
-18
33
0
3
-7
-7
-1
0
0
0
0
0
0
43
11
34
6
30
9
-75
-32
-8
-8
-1
0
0
0
0
0
0
9
14
-34
19
1
5
-57
17
-25
-2
-1
0
0
0
0
0
0
6
-2
-5
-1
-35
29
3
-4
-5
0
0
0
0
0
0
0
0
5
29
-64
-21
14
-20
-14
-8
-1
0
0
0
0
0
0
0
0
7
-33
-7
-22
0
6
-7
0
0
0
0
0
0
0
0
0
0
17
-4
-7
15
-2
-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
35
7
4
0
0
0
0
0
0
9
7
-13
6
11
6
0
16
0
6
7
0
3
0
0
0
-7
0
16
-14
48
15
-6
2
45
30
45
3
3
2
0
0
0
1
20
-5
10
1
-65
3
-15
-34
7
-27
27
-6
0
0
0
0
-2
-14
2
-33
29
-35
-4
-8
-22
0
-9
0
0
0
0
0
0
0
-2
-6
9
1
-8
-7
21
-17
10
4
-1
0
0
0
0
0
0
1
13
-6
-20
-27
1
0
-2
-1
1
0
1
0
0
0
0
0
0
0
0
0
-16
-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
13
0
0
6
2
0
0
0
0
0
-4
0
-1
-16
16
13
-33
-2
15
-9
9
0
0
0
0
0
0
6
21
0
32
59
15
39
9
-9
-2
9
0
0
0
0
0
4
0
13
-9
-18
-15
9
-43
-3
-20
-2
5
0
0
0
0
0
0
14
-7
6
-11
-2
9
-3
4
-3
1
0
0
0
0
0
0
0
0
5
-2
-17
-11
18
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
-9
-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
-13
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
7
-4
-1
0
0
0
0
0
0
0
-1
0
0
1
-2
5
-2
-9
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-5
20
-14
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
19
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-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
-10
-10
0
-6
0
1
0
0
0
0
0
0
-4
0
2
0
4
13
24
10
23
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
9
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
-5
0
-10
8
20
-1
-1
0
0
0
0
0
-3
-1
1
0
-47
44
-5
79
-67
6
1
14
0
0
0
0
4
1
0
0
1
3
-1
33
44
-45
30
4
-1
0
0
0
0
1
-1
0
2
1
0
16
55
-6
-11
14
10
-5
0
0
0
0
-1
0
-4
-3
2
9
-45
29
-14
-16
-9
-1
0
0
0
0
0
0
0
0
0
-1
-1
-16
-19
-10
-15
-2
2
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
15
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
-52
-35
32
0
46
-18
21
15
-14
-1
0
0
0
0
0
-8
7
39
32
8
76
34
52
11
23
13
4
0
0
0
-2
-3
-14
3
61
-3
-47
113
-27
42
57
-15
-8
-3
0
0
0
0
-3
-8
-6
-14
-3
15
23
93
-14
36
56
6
1
0
0
0
1
-5
-6
31
12
-34
32
-92
23
62
-13
0
-13
0
0
0
0
0
0
-2
10
5
-5
-23
-66
-41
-18
3
-2
1
0
0
0
0
0
0
-7
8
-72
36
-24
53
11
-4
-15
-7
0
-1
0
0
0
0
0
0
14
-16
57
18
-1
39
-7
5
0
0
2
0
0
0
0
0
0
1
35
5
65
-41
-44
-2
2
0
0
0
0
0
0
0
0
0
0
0
-2
-24
0
2
10
33
24
-3
-1
0
0
0
0
0
0
0
8
22
-22
1
-2
-18
38
-17
-17
-3
0
1
0
0
0
0
-15
-6
-4
47
-4
-45
0
20
14
-30
1
1
0
0
0
0
0
0
0
43
-14
34
60
17
-20
-11
-11
1
3
0
0
0
0
0
0
1
-7
17
26
-79
-18
7
-31
14
-1
1
0
0
0
0
0
1
0
1
3
-29
-5
-5
-33
-30
-44
1
0
0
0
0
0
0
0
3
0
-5
-54
-38
58
-4
2
-11
-2
1
0
0
0
0
0
0
2
-4
15
-62
43
-14
-14
-18
-19
-3
0
0
0
0
0
0
0
-2
-3
-15
-1
50
33
-6
28
1
3
0
0
0
0
0
-1
3
31
-29
-41
0
-2
12
-5
-5
1
0
0
0
0
0
0
0
0
23
14
32
37
98
-57
46
29
7
0
0
0
0
0
0
1
-6
-6
44
-5
-23
27
4
-3
-27
-17
0
0
0
0
0
0
0
0
-15
-16
-27
5
55
-2
8
6
4
-1
0
0
0
0
0
0
0
6
23
-3
13
8
-37
6
-29
-5
0
0
0
0
0
0
0
-4
-2
-14
-23
6
14
-14
16
21
9
0
0
0
0
0
0
0
0
23
0
3
-32
-21
5
13
-13
2
1
0
0
0
0
0
0
1
0
-13
-11
-16
-17
-9
5
9
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
-2
-44
103
-61
0
-63
39
2
2
-2
0
0
0
-1
-2
0
0
1
1
-43
11
11
73
19
5
-1
2
-2
0
0
0
3
3
4
4
8
-18
30
65
46
-7
-7
-15
0
-1
0
0
0
-3
2
1
-5
11
37
20
-8
-43
12
1
-5
-1
0
0
0
0
1
-1
0
-1
1
-5
53
-13
17
-14
-17
-2
-3
0
0
0
0
0
0
1
1
1
32
21
14
17
-43
6
0
0
0
0
0
0
0
0
0
0
1
1
-25
9
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
7
0
6
17
4
0
0
0
0
0
0
0
0
0
0
6
-26
43
-14
15
-8
-4
-8
0
0
0
0
0
0
0
1
-1
-1
-25
-5
-9
-3
-14
-3
0
0
0
0
0
0
-2
0
0
0
-3
-7
16
-10
-2
1
0
0
0
0
0
0
0
0
0
0
-3
2
-18
3
26
4
0
-2
0
0
0
0
0
0
0
0
0
0
4
6
-1
-1
-14
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-15
-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
11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
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
1
0
0
0
3
6
-7
1
0
0
0
0
0
0
0
0
0
15
0
0
-14
-18
-7
-6
3
-2
0
0
0
0
0
0
0
0
-7
-16
51
-153
8
-13
-16
-1
0
0
0
0
0
0
0
0
0
11
2
40
-35
-33
-4
10
1
0
0
0
0
0
0
0
0
0
-3
-3
48
-15
28
4
7
0
0
0
0
0
0
0
0
0
0
2
-23
21
8
7
14
0
0
0
0
0
0
0
0
0
0
0
-7
0
24
20
-9
-5
0
0
1
0
0
0
0
0
0
0
0
-3
31
5
-33
5
3
-1
0
0
0
0
0
0
0
0
0
0
0
5
33
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
-5
2
0
0
0
0
0
0
0
0
0
0
0
4
-10
26
-2
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
14
0
-22
-13
-13
1
0
0
0
0
0
0
0
0
0
0
0
-27
-4
25
14
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
21
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
29
-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
-20
0
0
11
19
11
-1
0
0
0
0
0
0
0
0
0
0
3
7
11
3
23
-19
0
0
0
0
0
0
0
0
0
0
0
-5
5
-32
-13
-10
0
0
0
0
0
0
0
0
0
0
0
0
-3
-26
-15
-36
-9
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
13
2
-1
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
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
27
0
0
5
-1
-8
0
0
0
0
0
0
0
0
0
0
0
-8
-9
34
-17
-13
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
-15
-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
19
0
1
0
0
0
0
0
0
0
0
0
0
0
-9
15
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-2
0
0
0
16
3
0
0
0
0
0
0
0
0
0
1
0
5
0
0
0
5
7
0
0
0
0
0
0
0
0
0
0
-1
-3
10
-23
56
19
11
0
-1
0
0
0
0
0
0
0
0
0
-5
26
25
14
-9
-36
6
0
0
0
0
0
0
0
0
0
1
-5
5
-20
17
-1
0
0
2
0
0
0
0
0
0
0
0
2
-3
-4
32
18
-27
-1
-1
0
0
0
0
0
0
0
0
0
0
-2
-5
11
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-2
5
9
-37
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-32
-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
22
-22
1
0
0
0
0
0
0
0
0
0
0
0
-3
-14
0
17
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-19
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
25
26
11
-17
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
18
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
29
6
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
2
34
-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
9
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
50
0
0
0
58
-5
7
-2
0
0
0
2
0
15
-10
2
-15
-5
0
0
21
-15
-37
-4
0
1
0
0
0
-9
13
11
0
-4
11
96
68
-53
-7
-19
1
-1
4
0
0
0
13
41
-2
13
-3
17
28
-36
-55
26
-7
1
3
0
0
0
0
0
-1
0
5
-1
-1
3
8
13
-3
-3
3
6
0
0
0
0
0
-3
-3
-1
-3
0
1
-11
10
-22
-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
52
-30
-22
-20
0
0
9
-7
-1
0
0
0
0
0
0
-4
-9
13
-52
-11
-23
-5
37
-53
-2
-22
0
0
0
0
0
0
8
32
3
45
1
17
-36
-22
-14
15
-1
0
0
0
0
0
-1
3
-17
-16
18
-15
52
-12
10
11
10
4
0
1
0
0
0
0
0
-3
-14
-15
-16
57
-5
-13
-6
3
2
2
2
0
0
0
0
0
-2
39
-18
35
-10
-15
30
6
14
7
-2
0
0
0
0
0
0
-1
9
24
11
-30
46
32
2
5
0
0
0
0
0
0
0
0
20
-14
5
6
-8
-27
16
-6
2
0
0
0
0
0
0
0
0
-13
1
9
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
9
-1
0
2
-5
5
2
0
1
0
0
0
0
0
0
0
-9
6
0
1
1
0
-47
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
17
-9
-3
0
1
-8
0
0
0
0
0
0
0
0
0
0
2
5
-13
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
1
13
0
-6
-1
-25
-20
47
0
6
3
5
0
0
0
0
0
3
17
-23
1
-3
24
0
-6
-3
-2
1
-15
0
0
0
0
0
0
0
-45
-2
22
22
-13
-10
0
1
0
0
0
0
0
0
0
0
-2
0
-1
-14
43
-5
0
1
-1
0
0
0
0
0
0
0
1
-5
-1
-3
0
21
10
6
-4
0
0
0
0
0
0
0
0
0
1
-1
-18
0
-4
-11
-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
43
-3
18
2
0
0
0
0
0
-2
6
6
-20
23
46
0
44
0
-28
-9
6
-5
0
0
0
0
0
2
15
9
0
-15
45
66
37
16
-27
6
-1
0
0
0
1
-3
-5
2
23
-5
-14
-16
-51
-14
-34
-3
-1
2
0
0
0
0
0
1
-18
-33
0
9
2
-33
-15
-11
2
-2
1
0
0
0
0
0
3
8
-18
-1
-7
11
3
-4
-1
0
-1
0
0
0
0
0
0
0
3
6
3
0
0
3
-16
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
-32
25
5
0
0
0
0
0
0
0
0
0
-17
0
6
0
1
0
-8
24
-1
0
0
0
0
0
0
2
0
1
3
5
22
13
43
60
14
-2
0
0
0
0
0
0
0
0
1
-4
13
-3
13
-7
-3
14
-1
0
0
0
0
0
0
0
0
2
4
-15
17
-5
-6
9
6
0
0
0
0
0
0
0
0
0
1
-4
-9
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
-14
10
-4
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
-2
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
36
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
37
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
11
-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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
2
-37
-5
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
-20
-33
39
0
0
0
0
0
0
0
0
0
0
0
0
2
29
-15
5
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
21
23
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-11
11
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
9
-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
17
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-21
15
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
-17
2
9
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
14
3
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-10
6
-3
0
0
0
0
0
0
0
0
0
-3
0
-15
0
-21
-2
11
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
9
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
16
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
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
18
-11
-9
18
-2
-23
-1
0
0
0
0
0
0
13
-3
0
0
-10
-29
-48
-14
22
-4
2
0
0
0
0
0
0
-1
-14
-22
-5
-3
-5
-21
-32
7
-14
9
0
0
0
0
0
0
1
-17
15
-14
20
16
5
-5
14
22
-3
0
0
0
0
0
0
0
-16
16
-19
-8
-10
-8
27
26
13
0
0
0
0
0
0
0
0
0
-7
-4
-4
0
9
7
3
-1
0
0
0
0
0
0
1
0
0
3
-3
-23
-17
14
18
23
1
0
0
0
0
0
0
0
0
0
2
0
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
-1
-2
0
0
1
-45
5
-108
6
-5
0
0
0
0
0
0
0
25
-30
33
42
24
-36
37
-53
-23
-24
2
0
0
0
0
0
1
-10
-1
52
5
61
32
-17
-14
12
3
0
0
0
0
0
0
-1
-1
38
49
5
-14
31
-37
39
-18
5
-1
0
0
0
0
0
0
11
-14
11
48
35
101
49
-1
-7
-34
0
0
0
0
0
0
0
1
-13
-5
5
32
-38
61
10
-14
-13
1
0
0
0
0
0
0
9
7
-28
-37
16
-21
62
-62
14
23
0
0
0
0
0
0
0
4
0
3
-14
-45
-28
-18
76
24
1
0
0
0
0
0
0
0
-1
2
1
-14
-1
0
-16
4
-26
0
0
0
0
0
0
0
0
0
0
0
0
27
14
7
-10
9
-5
0
0
0
0
0
0
0
0
1
-1
8
2
4
33
-2
-44
-21
0
0
0
0
0
0
0
1
0
-1
0
16
24
-7
-9
4
-4
0
0
0
0
0
0
0
-1
0
0
3
9
0
-7
-1
4
0
0
0
0
0
0
0
0
0
0
0
5
0
-8
18
-13
-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
9
0
0
0
0
0
0
0
0
0
0
-1
0
-19
9
0
-14
-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
-2
-11
11
6
7
7
17
-15
0
0
0
0
0
0
0
0
-10
5
0
47
60
-17
4
-2
-35
0
0
0
0
0
0
0
2
5
25
-3
-1
-14
-45
-32
0
-3
0
0
0
0
0
-1
0
4
-2
7
-33
-63
17
-16
11
4
31
0
0
0
0
0
0
0
3
0
-7
10
32
10
-5
-18
-33
19
0
0
0
0
0
0
0
-2
6
-22
-4
-9
2
35
10
5
53
0
0
0
0
0
0
0
0
-3
-25
9
72
-17
-50
-2
19
-5
0
0
0
0
0
0
0
0
1
-8
10
-19
-18
-11
19
4
19
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
-11
-1
-14
-19
15
-14
0
0
0
0
0
0
5
-7
0
-19
0
37
-8
33
-23
10
-9
1
0
0
0
0
0
0
-11
-17
-3
-23
33
23
-27
95
32
-6
2
0
0
0
0
0
0
1
14
11
6
57
48
-10
46
3
-4
0
0
0
0
0
0
0
-1
6
7
3
-2
-20
-10
-49
5
-23
0
0
0
0
0
0
0
0
0
9
14
-33
5
-6
-13
6
-5
0
0
0
0
0
0
0
0
0
-2
-8
34
-5
-16
-60
-11
1
0
0
0
0
0
0
-1
0
2
-2
7
-8
-18
10
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
31
-2
16
8
26
-4
0
0
0
0
0
0
0
-1
-17
0
-11
-13
-32
3
-7
-25
-1
0
0
0
0
0
0
0
4
-6
-3
1
-18
24
0
-20
5
11
0
0
0
0
0
0
0
1
2
16
-2
3
-6
-14
-32
0
2
0
0
0
0
0
0
0
0
1
1
-10
-17
-5
-25
36
4
0
-1
0
0
0
0
0
0
1
0
0
-2
-1
4
-15
20
-3
-2
0
0
0
0
0
0
0
0
0
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
-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
10
-24
13
18
0
1
0
0
0
0
0
0
0
0
1
5
-4
0
-7
1
5
13
3
0
0
0
0
0
0
0
0
0
0
-1
1
0
14
16
33
3
0
0
0
0
0
0
0
0
0
0
2
-7
16
-33
35
5
7
0
0
0
0
0
0
0
0
0
0
0
-11
22
-34
-8
26
-7
0
0
0
0
0
0
0
0
0
0
1
-9
26
2
-4
26
1
0
0
0
0
0
0
0
0
0
0
-2
-9
19
8
-22
9
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-35
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
23
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
9
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
-14
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
9
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-13
22
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
14
-6
14
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
20
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
41
17
-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
-15
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
18
-21
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
-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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
29
24
-6
-4
6
0
0
0
0
0
0
0
0
8
-8
-5
-1
21
0
-9
23
-2
0
0
0
0
0
0
0
0
-2
-1
2
-10
-3
13
51
-15
2
0
0
0
0
0
0
0
0
2
5
17
-4
22
37
7
-15
-1
0
0
0
0
0
0
0
0
0
-3
3
-6
17
10
23
-1
1
0
0
0
0
0
0
0
0
0
1
17
6
-6
25
-3
-5
0
0
0
0
0
0
0
0
0
3
0
-2
-17
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
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
13
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-21
-10
11
-2
5
5
0
0
0
0
0
4
5
-14
-14
128
61
-14
17
-16
33
-5
-20
0
0
0
0
0
-8
-10
13
36
-16
-15
38
5
-4
7
-14
7
1
0
0
0
0
0
-4
-9
-11
27
-9
14
-7
8
33
-6
0
0
0
0
0
0
0
0
-7
-3
27
-23
-18
6
-5
-5
0
1
2
0
0
0
0
0
0
18
-14
-24
3
-3
-9
-5
-3
0
1
0
0
0
0
0
0
0
-2
9
8
-5
-4
7
-6
-17
-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
-1
0
-6
22
-19
-18
-4
-7
0
0
0
0
0
0
-1
3
-30
23
1
-7
46
-20
-2
-2
7
-1
0
0
0
0
0
-3
-10
-17
-39
-4
37
100
-33
-30
-3
-16
1
0
0
0
0
0
0
-9
-4
-23
10
-9
-27
43
66
37
4
0
0
0
0
0
0
1
9
-6
-25
5
6
-2
17
56
3
16
-3
0
0
0
0
0
1
5
52
-7
12
-59
51
-100
4
49
10
0
0
0
0
0
0
-1
-27
-9
8
-46
-31
85
-17
-6
60
-23
0
0
0
0
0
0
0
10
5
-6
18
-46
24
23
-57
25
-5
0
0
0
0
0
0
-1
1
-15
22
-21
-11
-7
-2
-5
-1
0
0
0
0
0
0
0
0
1
-2
-4
0
6
-13
47
1
5
0
0
0
0
0
0
0
-6
-35
-19
6
24
60
-26
-10
-26
0
0
0
0
0
0
0
0
2
5
8
-5
5
24
8
7
-6
-1
0
0
0
0
0
0
0
3
-2
-3
4
57
21
-19
-2
2
0
0
0
0
0
0
0
2
0
26
-19
-24
41
4
-1
-3
-15
3
0
0
0
0
0
0
0
-1
4
17
-41
38
-6
3
-2
21
-1
0
0
0
0
0
0
-6
3
-13
9
23
18
5
6
-11
-16
0
0
0
0
0
0
0
2
5
-14
-17
-75
16
8
2
20
7
1
0
0
0
0
0
0
0
7
-13
45
-57
-1
-10
-6
-2
1
0
0
0
0
0
0
0
-1
1
-13
32
-4
0
-5
-17
-3
-5
3
1
0
0
0
0
0
0
17
14
-19
-24
-35
-53
-21
14
-1
58
1
0
0
0
0
0
3
-8
11
35
6
-2
-33
5
37
10
8
0
0
0
0
0
-1
6
-4
-10
-37
-19
33
-1
56
20
0
5
3
0
0
0
0
0
20
15
-13
19
12
-24
11
-9
21
9
-13
0
0
0
0
0
0
2
-4
-22
32
54
-52
41
44
-63
45
0
0
0
0
0
0
0
-13
7
-8
-15
17
3
23
26
0
-8
-1
-1
0
0
0
0
-2
0
-10
11
5
-67
-15
-15
-6
-32
11
0
0
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
-11
0
4
4
-9
-32
-5
5
-1
0
0
0
0
0
0
0
-32
45
83
33
-25
-2
-5
5
-7
-15
-3
0
0
0
0
-1
1
20
-22
9
-20
39
13
-24
1
-9
-9
4
0
0
0
0
0
0
2
14
-9
19
-8
-23
-15
8
10
-6
1
0
0
0
0
0
0
13
1
-33
-4
-10
36
33
-3
1
-2
-1
0
0
0
0
0
0
-3
-18
15
-5
-11
41
-58
9
-2
-5
4
0
0
0
0
0
0
0
1
3
-18
-1
11
4
11
0
0
0
0
0
0
0
0
0
0
0
-5
0
-23
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
10
6
14
-5
0
0
0
0
0
0
0
-4
-4
7
20
0
41
26
20
3
-3
-1
0
0
0
0
0
0
5
5
-5
14
-21
3
23
-2
-4
0
-1
0
0
0
0
0
-3
-3
-11
-13
-45
21
-43
-24
-6
-8
1
5
0
0
0
0
0
0
8
0
-10
-6
-4
-8
-2
6
2
0
0
0
0
0
0
0
0
2
-14
4
8
1
6
6
1
0
0
0
0
0
0
0
0
0
0
0
10
-15
-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
9
18
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
9
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
-13
-8
2
-22
-1
0
0
0
0
0
0
0
0
0
0
0
-10
-18
-13
-56
36
14
0
0
0
0
0
0
0
0
0
-1
0
-1
8
14
22
-25
-7
0
0
0
0
0
0
0
0
0
0
0
-3
10
1
-11
-8
-1
0
0
0
0
0
0
0
0
0
0
0
4
6
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
1
-5
-9
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
7
-9
-4
-43
-2
0
0
0
0
0
0
0
0
0
0
3
0
-3
16
8
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
10
16
21
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
15
14
24
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
-17
0
-4
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
7
9
-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
14
-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
-10
-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
11
0
0
0
6
-14
48
41
-8
16
-5
0
0
0
0
2
3
6
-4
0
0
-52
-3
-5
55
-25
34
61
0
0
0
0
0
-4
8
16
34
74
19
-27
20
-42
14
45
15
0
0
0
0
0
1
-15
-10
-5
23
3
14
8
14
-10
16
-8
0
0
0
0
0
1
0
13
-8
-27
-13
-2
-4
15
30
37
24
0
0
0
0
0
0
0
0
3
13
-5
9
-33
-21
-19
58
5
0
0
0
0
0
0
0
1
-1
0
-1
-16
1
34
-47
3
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
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
22
19
0
0
-36
-10
27
-25
-5
19
-9
0
0
0
0
0
6
5
1
-99
19
63
-7
-9
41
4
-3
-9
0
0
0
0
-1
4
9
16
-29
-36
-57
-53
-12
-53
21
-25
-48
0
0
0
0
0
-24
7
12
-14
-22
-5
-14
57
75
-9
-73
5
0
0
0
0
0
7
3
-9
-18
23
66
75
34
14
11
73
1
0
0
0
0
0
2
-5
-14
-90
34
-52
-10
86
54
3
-30
-4
0
0
0
0
0
0
0
31
5
-34
26
21
41
-49
14
0
8
0
0
0
0
0
0
0
2
-7
7
7
25
-34
13
-22
-2
0
0
0
0
0
0
0
0
0
0
0
-9
-2
-16
18
8
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
22
13
30
-42
38
0
0
0
0
0
0
0
0
0
6
-1
8
-23
-28
-57
38
23
0
0
0
0
0
0
0
0
0
5
13
-14
4
24
8
-31
-33
0
0
0
0
0
0
0
0
0
11
-7
-11
15
-7
33
-7
23
0
0
0
0
0
0
0
0
0
-3
-4
-10
9
-17
-17
-32
-74
0
0
0
0
0
0
0
-2
0
0
1
5
5
-16
11
-9
9
0
0
0
0
0
0
0
0
0
1
1
-17
-5
-20
26
34
5
0
0
0
0
0
0
0
0
0
1
-2
1
15
-51
-35
50
9
0
0
0
0
0
0
0
0
0
0
0
-1
2
45
2
5
16
0
0
0
0
0
0
0
0
0
-14
6
-6
6
3
3
14
-37
0
0
0
0
0
0
-2
0
5
5
0
-50
15
25
85
-29
44
0
0
0
0
0
0
0
-1
-1
23
33
22
-12
-55
28
14
64
0
0
0
0
0
0
0
0
1
14
25
-21
-3
8
-17
29
-72
0
0
0
0
0
0
0
0
6
5
-6
6
9
-20
-4
-29
25
0
0
0
0
0
0
0
0
1
6
0
4
31
39
44
-82
-42
0
0
0
0
0
0
0
0
0
0
-2
5
-77
-2
-25
-22
10
0
0
0
0
0
0
0
0
0
2
1
24
1
2
-2
-37
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-6
0
0
-5
-21
49
-7
-11
33
10
0
0
0
0
0
26
24
0
-17
0
-16
15
-24
-13
-12
33
-1
0
0
0
-2
17
7
9
39
-17
-11
32
0
15
19
50
-43
-7
0
0
0
0
0
-4
-7
23
33
43
-3
15
-26
14
3
-15
-3
0
0
0
0
0
-1
-8
-8
-20
-7
26
-3
-24
-6
5
50
6
0
0
0
0
0
-1
-3
0
-18
-4
9
-5
-19
10
9
-44
-5
0
0
0
0
0
0
0
4
-1
0
-6
-13
0
-11
17
17
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
-13
11
8
10
-2
0
0
0
0
0
2
0
0
2
0
11
-9
14
0
34
2
0
0
0
0
0
0
3
3
10
5
4
14
1
19
32
-15
0
0
0
0
0
0
-1
0
0
3
7
10
-18
25
26
-13
16
-7
4
0
0
0
0
0
0
1
1
-3
-1
-7
4
7
4
15
2
5
0
0
0
0
0
0
-1
0
0
0
1
-14
0
-1
15
0
-3
0
0
0
0
0
0
-1
0
0
0
-2
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
-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
-11
-2
8
0
0
0
0
0
0
0
0
0
-1
0
5
-8
-29
-37
36
-7
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-64
-7
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
20
-10
7
6
4
0
0
0
0
0
0
0
0
0
0
0
-4
2
-5
30
-16
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-16
-15
29
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
5
13
15
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
41
-5
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
11
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
-17
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
2
-18
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
8
19
-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
20
-4
10
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
10
5
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
9
9
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
-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
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
2
-14
-13
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-11
9
-13
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
21
26
6
-1
0
0
0
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
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
-6
-4
7
0
0
0
0
0
0
-1
0
0
4
3
5
-1
6
-14
-1
2
0
0
0
0
0
0
0
2
3
0
-3
6
0
11
47
-11
-7
0
0
0
0
0
0
0
0
0
0
0
-4
-5
4
-34
-14
-13
0
0
0
0
0
0
0
0
-1
0
1
4
-11
-4
-24
9
2
0
0
0
0
0
0
0
0
4
0
0
-2
7
17
-7
0
2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
-5
-2
16
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
17
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
2
5
-13
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
18
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
27
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
18
0
58
-11
-2
5
9
-1
-27
-2
0
0
0
0
-8
-37
-36
21
50
14
12
1
-20
5
76
-21
-4
0
0
0
0
-13
-6
-43
4
131
65
-8
-25
8
-18
-1
39
-3
0
0
0
-1
7
1
-25
0
-10
-5
9
0
9
-4
-3
-5
13
0
0
0
0
0
3
-11
10
5
0
1
-10
4
-16
2
-24
0
0
0
0
0
0
0
-5
13
-10
8
-9
-2
-3
-15
-13
-7
1
0
0
0
0
0
0
2
2
-18
-9
-3
1
-1
-1
24
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
-14
-30
-17
0
69
-23
-31
49
-5
0
0
0
0
0
0
-2
-2
-7
-15
12
-1
19
57
-33
55
-10
7
0
0
0
0
0
0
-6
9
-44
6
38
-32
26
32
-53
-16
-2
-5
0
0
0
0
0
-16
-10
17
-74
-10
33
83
23
4
-3
-6
2
0
0
0
0
0
-1
15
-17
57
-80
29
-8
46
14
8
10
1
0
0
0
0
0
-5
-13
25
-21
-23
-94
10
-1
-7
-20
18
0
0
0
0
0
0
0
-6
-1
17
-33
12
-1
51
-33
-4
4
0
0
0
0
0
0
0
3
-5
33
7
122
-77
5
15
5
0
2
0
0
0
0
0
0
0
4
-36
-8
-54
-57
10
-2
0
0
0
0
0
0
0
1
-4
14
37
42
0
-22
11
-3
4
1
0
0
0
0
0
0
-4
-10
33
65
-41
-5
-26
-11
4
0
-1
0
0
0
0
0
0
5
-11
-29
-9
-22
-17
7
1
-3
0
0
0
0
0
0
0
-1
-4
-5
19
18
-52
-21
-21
9
0
-4
0
0
0
0
0
0
1
5
11
-24
33
-1
27
-3
13
0
0
0
0
0
0
0
0
-1
-2
21
2
-14
-18
-11
-20
5
0
1
0
0
0
0
0
0
1
-4
-21
-36
31
11
-30
-3
-1
0
0
1
0
0
0
0
0
0
-10
-1
13
-42
7
-48
37
-5
-2
0
0
0
0
0
0
0
0
0
24
14
-2
39
-48
29
0
0
0
0
0
0
0
0
0
2
-2
8
-3
15
28
0
-11
18
35
24
-1
0
0
0
0
0
-1
11
-5
-31
26
33
19
57
6
-8
-21
0
0
0
0
0
0
1
-4
3
14
17
52
-4
5
-10
3
41
-6
0
0
0
0
0
0
1
-16
3
-45
16
-20
-5
5
-13
-11
3
0
0
0
0
0
-1
-1
-5
-24
-9
-5
17
3
-5
-6
4
0
0
0
0
0
0
0
-3
-5
3
-14
5
-33
27
-11
2
0
0
0
0
0
0
0
0
0
8
-10
1
-4
1
-3
-1
13
8
3
0
0
0
0
0
0
2
-7
-4
4
25
17
-10
-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
3
27
3
0
119
51
10
2
0
-14
5
0
0
0
0
0
2
2
-7
-20
-54
72
-67
34
-5
-4
-37
-27
-9
0
0
0
0
-2
8
23
31
-29
36
27
16
-6
9
6
-27
3
0
0
0
0
0
4
-15
-14
-20
-36
-22
4
-10
8
19
14
4
0
0
0
0
0
-1
-14
-25
-8
-6
36
-14
-13
32
5
-10
10
0
0
0
0
0
-1
1
6
-7
-20
5
58
-22
-2
13
0
1
0
0
0
0
0
0
2
2
-14
-2
31
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
-20
-10
-1
35
10
-9
14
-5
-1
24
-2
0
0
0
0
0
-7
-6
-5
-7
5
-3
-31
13
8
7
-8
-9
0
0
0
0
0
3
-27
6
10
-22
20
45
4
2
3
-14
17
0
0
0
0
0
0
-2
2
1
-5
-17
5
-2
1
5
5
-8
0
0
0
0
0
1
5
-10
-2
-2
-6
-2
1
-1
-3
9
0
0
0
0
0
0
0
0
20
10
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
-2
1
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-35
20
56
-22
0
0
0
0
0
0
0
0
0
0
1
-2
11
5
20
4
-2
0
0
0
0
0
0
0
0
0
0
0
1
10
1
19
0
19
0
0
0
0
0
0
0
0
0
0
0
-1
21
-4
-5
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-23
19
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
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
17
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
11
6
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
-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
-20
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
-10
-2
-13
-1
0
0
0
0
0
0
0
0
0
-4
25
-1
0
-5
25
0
1
0
0
0
0
0
0
0
0
0
-14
-5
21
-9
0
1
1
-1
0
0
0
0
0
0
0
0
0
-6
15
-13
17
-9
-7
0
1
0
0
0
0
0
0
0
0
2
-14
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
3
-10
-5
18
-24
-18
1
0
0
0
0
0
0
-1
-7
0
0
-9
-43
11
-53
0
-4
7
0
0
0
0
0
0
-4
-9
14
1
-16
51
-44
-9
-8
-13
9
0
0
0
0
0
0
0
-2
-6
25
17
9
-45
-35
47
-14
15
0
0
0
0
-1
0
0
-1
2
-7
5
0
45
51
14
-3
-4
0
0
0
0
0
0
0
0
-5
26
35
-19
-44
5
29
-14
0
0
0
0
0
0
0
0
0
3
0
5
3
20
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-15
-11
0
0
0
0
0
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
-9
66
83
10
-24
1
0
0
0
0
0
-2
20
6
31
-38
-40
15
95
92
51
-13
4
0
0
0
0
0
4
6
24
-16
-47
-23
0
53
-14
22
-1
14
0
0
0
0
0
-3
-6
14
-4
-120
-22
39
-17
-21
12
6
-17
0
0
0
0
0
0
8
-11
-50
-3
14
11
28
23
-6
-33
11
0
0
0
0
0
-1
1
-10
4
6
7
-23
36
23
-17
21
3
0
0
0
0
0
0
-4
-5
-3
5
-63
-24
-79
45
-14
1
-1
0
0
0
0
0
0
1
11
-11
-30
63
53
1
1
84
1
0
0
0
0
0
0
0
0
-1
2
-18
3
43
5
-13
-44
0
0
0
0
0
0
0
0
0
0
0
0
9
10
-5
23
0
6
0
0
0
0
0
0
0
0
0
-2
-6
-14
-2
-27
-11
25
5
0
0
0
0
0
0
0
0
0
0
9
-8
37
-14
-21
-14
7
1
0
0
0
0
0
0
0
0
0
2
3
8
24
-15
19
7
0
0
0
0
0
0
0
0
-1
0
0
5
7
4
-3
-7
10
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
21
-1
4
6
1
0
0
0
0
0
0
0
0
0
5
10
-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
18
-8
17
-27
-15
38
30
3
0
0
0
0
0
0
0
0
-31
1
0
19
5
49
55
-28
-14
0
0
0
0
0
0
0
1
-4
16
76
15
76
8
3
24
11
0
0
0
0
0
0
0
0
-5
9
-3
18
26
-14
24
37
51
0
0
0
0
0
0
0
0
-1
-10
2
-33
15
16
-14
19
14
0
0
0
0
0
0
0
0
1
-3
9
-5
-6
1
-6
-41
33
0
0
0
0
0
0
0
0
1
0
3
-5
-23
-1
-2
-5
-8
0
0
0
0
0
0
0
0
-1
0
0
3
6
-8
-9
-18
-14
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
-22
-2
-3
5
-15
5
0
0
0
0
0
1
-1
-1
0
-11
0
6
41
55
-6
3
-1
1
0
0
0
0
1
0
5
1
-22
21
1
4
28
41
30
32
-7
0
0
0
0
0
0
-2
5
22
-5
-19
-34
-14
-17
-44
68
1
0
0
0
0
0
0
3
-5
14
14
-17
3
5
11
20
11
0
0
0
0
0
0
0
0
0
-13
2
20
17
3
-55
-23
-17
0
0
0
0
0
0
0
0
1
-4
-1
5
11
4
-7
26
-2
0
0
0
0
0
0
0
0
0
0
-1
4
-4
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
-3
0
0
-3
14
-4
15
0
0
0
0
0
0
0
0
0
-1
0
-17
-27
24
5
20
1
-1
0
0
0
0
0
0
-1
0
-3
-17
21
5
-1
-41
8
18
6
0
0
0
0
0
0
0
0
0
1
-2
10
-6
53
18
-13
0
0
0
0
0
0
0
0
-3
-2
7
-14
71
21
9
-10
7
0
0
0
0
0
0
0
0
0
1
0
0
-6
45
-43
17
-26
0
0
0
0
0
0
0
0
0
0
0
-2
0
-10
10
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
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
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
13
3
-15
-2
2
-7
-4
0
0
0
0
0
0
0
0
0
14
5
-3
43
39
26
0
-4
0
0
0
0
0
0
0
0
0
1
0
-1
-66
5
-1
-22
-17
0
0
0
0
0
0
0
0
0
0
0
2
26
25
37
-33
13
0
0
0
0
0
0
0
0
0
0
2
5
-7
-1
32
-23
5
0
0
0
0
0
0
0
0
0
0
0
14
-27
-15
-4
-4
4
0
0
0
0
0
0
0
0
0
0
-1
5
1
-24
22
6
2
0
0
0
0
0
0
0
0
0
0
0
1
4
-29
-19
16
-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
55
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-11
-8
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
13
-9
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
10
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
-10
-15
0
0
0
0
0
0
0
0
0
-1
0
0
1
11
50
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-14
37
11
-1
0
0
0
0
0
0
0
0
0
0
0
-1
15
29
-43
-14
1
0
0
0
0
0
0
0
0
0
0
0
-2
8
-11
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
10
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
-13
29
-2
47
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
10
-4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
16
-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
-14
-2
-2
-3
-34
2
-1
0
0
0
0
0
0
0
0
0
-1
13
19
-10
-25
-3
0
2
0
0
0
0
0
0
0
0
0
-3
5
-1
9
-47
-4
26
1
0
0
0
0
0
0
0
0
0
0
6
20
-10
4
-18
4
-1
0
0
0
0
0
0
0
0
0
0
-5
-2
8
11
-33
17
2
0
0
0
0
0
0
0
0
1
0
3
8
-18
-14
-4
-17
0
0
0
0
0
0
0
0
0
0
0
34
0
4
7
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
17
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
-13
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
15
-16
11
-3
-6
0
0
0
0
0
9
-4
-6
90
42
-47
-22
15
19
-34
5
4
0
0
0
0
0
1
5
-13
47
2
-31
-14
-16
10
-22
-19
2
0
0
0
0
0
-1
-13
13
1
8
30
-37
3
20
16
23
0
0
0
0
0
0
-2
-2
15
-14
-29
41
5
-6
7
14
-15
-4
0
0
0
0
0
0
0
21
-33
2
11
6
8
20
23
-14
0
0
0
0
0
0
0
0
-1
-1
0
-9
-1
0
-17
-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
50
16
20
22
3
-5
3
0
0
0
0
-1
-5
13
-3
8
-36
6
-13
-13
14
-13
-5
0
0
0
0
0
0
3
3
33
11
52
14
-55
3
-14
76
-16
2
0
0
0
0
0
1
-22
-5
10
13
49
26
54
-8
-14
4
8
0
0
0
0
0
-1
1
-44
11
25
-12
-41
-52
56
21
-18
16
0
0
0
0
-1
0
2
-5
3
-10
-15
21
20
-48
18
26
1
0
0
0
0
0
0
0
-13
-12
58
-28
7
21
7
27
6
5
0
0
0
0
0
0
0
-14
-41
5
31
-30
10
-25
-5
7
-1
0
0
0
0
0
0
0
-2
1
16
15
5
-18
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
5
14
0
15
-8
5
-15
-1
0
0
0
0
0
0
0
0
10
-2
8
11
-11
13
-18
-1
-6
0
0
0
0
0
0
0
1
2
-11
10
-7
-2
8
-10
0
0
0
0
0
0
0
0
0
0
1
-33
10
6
-4
3
0
1
0
0
0
0
0
0
0
0
0
1
1
9
0
3
-1
-6
0
0
0
0
0
0
0
0
0
0
5
-13
11
1
1
0
1
0
0
0
0
0
0
0
0
0
0
-4
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-25
-8
-9
-2
-1
0
0
0
0
0
0
-1
0
-24
4
33
56
26
15
-2
-8
-1
0
0
0
0
0
0
-2
-17
11
10
10
-8
-1
15
-60
-6
-2
0
0
0
0
0
0
0
5
0
14
-33
0
5
-43
-7
-5
1
0
0
0
0
0
0
1
0
-11
0
-6
35
2
3
-41
-7
-6
0
0
0
0
0
1
-2
2
6
-19
82
-78
-14
-5
-9
-2
0
0
0
0
0
0
0
2
-16
-3
-5
48
-17
-6
-22
15
-1
0
0
0
0
0
0
0
0
11
-21
16
-46
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
-26
-29
-32
19
0
-18
-2
14
0
0
0
0
0
0
0
-19
12
7
-1
-2
-25
-34
12
21
-11
0
0
0
0
0
1
0
6
37
-44
-1
37
-28
-11
35
9
-3
0
0
0
0
0
0
1
-2
-24
-26
19
-24
27
-3
-2
15
34
0
0
0
0
4
1
4
-1
18
37
22
15
43
-26
-18
4
14
0
0
0
0
0
0
2
0
8
-10
-14
31
7
0
30
-18
2
0
0
0
0
0
0
0
0
6
7
-5
-3
5
-2
-9
-9
0
0
0
0
0
0
0
0
-1
-1
0
3
-1
1
-13
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
-9
0
5
-8
-3
-7
5
0
0
0
0
0
0
2
-1
0
7
14
21
6
3
-2
5
39
0
0
0
0
0
0
0
1
-1
5
-14
14
-4
43
-7
-6
-32
-13
0
0
0
0
0
0
0
-5
0
16
41
-45
-8
-6
29
-15
6
0
0
0
0
0
0
-2
21
17
11
-22
18
5
-5
-8
9
1
0
0
0
0
0
0
1
0
3
-1
-18
-27
34
-7
-2
-8
0
0
0
0
0
0
0
0
1
-3
5
-26
3
1
-1
0
4
4
0
0
0
0
0
0
0
-1
2
-2
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
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
9
29
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-3
5
-13
-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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
11
2
-1
0
0
0
0
0
0
0
-2
-1
1
-1
1
8
-3
6
-13
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
-5
27
-5
63
41
-9
-33
0
0
0
0
0
0
1
3
0
0
-20
-38
30
-1
59
37
14
0
0
0
0
0
0
0
3
1
-24
3
-16
-62
73
5
-24
70
0
0
0
0
0
-1
-1
0
0
-6
10
-8
3
-7
28
34
38
0
0
0
0
0
0
2
0
-2
-5
-8
-23
0
-14
-2
30
-11
0
0
0
0
0
0
0
-2
1
-3
0
-3
7
-13
27
5
-2
0
0
0
0
0
0
0
0
2
-3
-2
-21
53
-84
-18
26
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
45
75
90
-10
41
-1
-6
0
0
0
0
0
0
0
-3
-14
-17
15
-7
14
1
34
-17
23
0
0
0
0
0
0
0
-2
10
-5
13
45
6
26
40
27
31
0
0
0
0
0
-1
0
2
-37
-18
4
26
36
3
23
-83
-28
0
0
0
0
0
0
2
4
-8
8
18
-64
39
22
-105
-77
55
0
0
0
0
0
0
0
-1
-5
-50
-17
10
44
23
12
23
-34
0
0
0
0
0
0
0
0
-8
-6
-15
36
26
58
49
33
14
0
0
0
0
0
0
0
0
5
5
-4
20
21
2
11
8
-2
0
0
0
0
0
0
0
0
1
8
7
-22
-4
53
23
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-20
61
4
36
63
0
0
0
0
0
0
0
0
0
11
19
-1
9
5
-16
-73
2
0
0
0
0
0
0
0
0
0
-5
-4
-2
-12
17
6
5
29
0
0
0
0
0
0
0
0
0
-11
-2
11
-6
-40
26
-28
38
0
0
0
0
0
0
0
0
0
7
2
17
-42
6
3
-7
-35
0
0
0
0
0
0
0
0
0
3
4
-10
0
-45
72
-57
47
0
0
0
0
0
0
0
0
0
-4
0
-24
-28
4
-18
-3
22
0
0
0
0
0
0
0
0
0
-5
-2
-9
-9
-5
33
52
-18
0
0
0
0
0
0
0
0
3
4
-2
-60
-1
-43
37
5
-12
0
0
0
0
0
0
0
0
0
1
8
24
-82
11
13
13
-2
0
0
0
0
0
0
0
0
0
13
0
-12
-10
-36
66
-9
5
0
0
0
0
0
0
0
-1
2
15
31
7
-8
75
42
1
-36
0
0
0
0
0
0
0
0
0
5
50
-52
49
-39
53
10
4
0
0
0
0
0
0
0
-1
3
11
-73
53
24
-49
-40
-43
37
0
0
0
0
0
0
0
0
1
7
17
-2
-4
-6
14
-21
-47
0
0
0
0
0
0
0
0
1
-4
46
18
-4
-5
-47
-52
-19
0
0
0
0
0
0
0
0
0
-5
17
14
-39
42
-49
11
25
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
-48
-3
62
-24
-43
0
0
0
0
0
0
1
0
5
0
21
93
-19
-3
63
10
33
0
0
0
0
0
0
0
-3
19
-58
9
-20
-12
5
110
4
-13
0
0
0
0
0
0
0
1
2
1
19
31
0
5
-63
-35
-6
0
0
0
0
0
0
0
0
4
1
9
20
2
14
-9
27
-22
0
0
0
0
0
0
0
-2
1
-10
-11
-10
23
-27
-8
74
0
0
0
0
0
0
0
0
0
-1
7
19
5
35
3
-18
17
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
-27
-4
3
2
0
0
0
0
0
0
0
0
0
0
11
-8
3
-14
-14
-21
-8
0
0
0
0
0
0
0
0
0
1
6
3
0
7
-5
23
-10
0
0
0
0
0
0
0
0
0
-1
17
35
11
-19
26
3
14
0
0
0
0
0
0
0
0
0
-2
0
-8
-26
0
20
-24
0
0
0
0
0
0
0
0
0
0
0
4
6
-9
4
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
8
-18
-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
15
-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
-21
5
-49
-31
1
6
0
0
0
0
0
0
0
0
0
-8
-14
-3
2
-6
-7
-80
14
0
0
0
0
0
0
0
0
1
0
10
13
-8
-39
26
-17
3
0
0
0
0
0
0
0
0
0
0
-5
-5
55
-48
-32
10
-43
0
0
0
0
0
0
0
0
0
0
9
-31
-18
41
63
7
-4
0
0
0
0
0
0
0
0
0
0
0
13
0
26
5
7
-33
0
0
0
0
0
0
0
0
0
0
0
-3
-10
18
7
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
7
27
21
15
19
0
0
0
0
0
0
0
0
0
0
0
0
3
3
14
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-5
9
5
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-13
-23
32
3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-5
21
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
33
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
27
-3
7
-3
0
0
0
0
0
0
0
0
0
-1
0
-7
-29
-49
-8
-19
21
0
0
0
0
0
0
0
0
0
0
0
17
-3
-1
44
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
-20
-11
-13
-11
0
0
0
0
0
0
0
0
0
0
0
-1
-6
5
-16
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
10
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
-2
1
0
0
0
0
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
-1
1
0
32
9
3
1
0
0
0
0
0
0
0
0
0
1
3
0
9
2
-22
2
-5
0
0
0
0
0
0
0
0
0
0
-2
9
6
20
-3
-43
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-27
4
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
6
29
-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
5
5
3
-2
-1
34
-16
0
0
0
0
0
0
0
0
0
0
8
8
20
15
43
-46
-11
0
0
0
0
0
0
0
0
0
0
0
-20
-10
73
-4
-3
-5
0
0
0
0
0
0
0
0
0
0
-2
-1
-3
-10
-3
16
20
0
0
0
0
0
0
0
0
0
0
2
8
-14
-21
4
4
25
0
0
0
0
0
0
0
0
0
-1
2
-1
-5
18
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
11
1
-3
3
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
-20
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-10
-8
0
0
0
0
0
0
0
0
0
0
0
-2
1
6
29
-3
-13
0
0
0
0
0
0
0
0
0
0
0
-1
-1
15
-16
5
-11
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
4
26
7
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
2
-32
35
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-17
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
41
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
34
-5
19
0
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
11
-10
5
2
-9
7
-10
-5
0
0
0
0
-1
2
0
39
27
8
-7
-3
31
3
-23
69
-7
0
0
0
0
0
-1
-3
4
0
25
27
2
-8
7
13
-49
19
0
0
0
0
0
0
0
11
2
10
9
2
20
-10
-26
33
-16
0
0
0
0
0
0
0
3
0
4
-2
56
20
13
16
0
-16
0
0
0
0
0
0
1
0
-1
1
1
-3
9
-8
-39
16
0
0
0
0
0
0
0
0
-3
7
1
0
-1
-4
5
2
14
-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
-43
28
-48
52
-5
35
-4
0
0
0
0
0
3
0
1
-5
32
62
-54
23
-23
39
57
17
0
0
0
0
0
0
0
-15
4
16
-16
-2
62
6
-16
14
9
0
0
0
0
0
0
0
2
1
-49
31
58
43
-33
-34
-5
-8
0
0
0
0
0
0
0
0
-7
-13
3
33
-15
-19
-24
22
5
0
0
0
0
0
0
0
-4
20
-14
-3
-6
-2
23
-19
-27
-6
0
0
0
0
0
0
1
1
-1
3
29
5
-39
-60
-20
-7
4
0
0
0
0
0
0
0
0
-5
-8
19
14
-54
24
4
8
3
0
0
0
0
0
0
0
0
-1
18
-22
-23
8
-3
0
0
0
0
0
0
0
0
0
-1
0
-8
0
-25
1
-3
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
-1
9
15
2
1
-1
0
0
0
0
0
0
0
0
-7
0
-7
-2
-17
0
-10
6
0
0
0
0
0
0
0
0
1
-1
10
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
3
0
1
4
18
-3
0
0
0
0
0
0
0
0
0
0
1
5
4
-21
-11
-33
22
23
-1
0
0
0
0
0
0
0
0
3
-1
-6
5
1
-9
0
14
0
0
0
0
0
0
0
0
0
-1
3
0
-13
20
0
-24
-14
0
0
0
0
0
0
0
0
0
0
0
-5
-16
-1
7
-8
-3
0
0
0
0
0
0
0
0
0
-1
3
-7
4
-5
5
17
-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
-9
-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
-4
3
-3
9
22
-21
11
0
0
0
0
0
0
-1
-9
-6
-2
-14
15
-31
-30
0
74
-8
0
0
0
0
0
0
-1
-6
-5
37
14
-5
1
-5
-5
4
19
0
0
0
0
0
0
0
0
5
32
32
5
33
-7
-76
4
-37
0
0
0
0
0
-1
0
0
7
-4
-13
-9
-14
19
-1
-20
16
0
0
0
0
0
0
0
0
0
-1
-24
-25
1
23
-17
-3
34
0
0
0
0
0
0
0
0
-1
-3
2
1
2
-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
19
0
0
0
0
0
0
0
0
0
-3
8
-2
25
4
-6
-9
-11
0
0
0
0
0
0
0
0
0
1
-4
-9
-27
-18
15
18
9
0
0
0
0
0
0
0
0
0
0
-2
8
15
-1
18
8
-6
0
0
0
0
0
0
0
0
0
-3
-2
5
21
5
0
11
17
0
0
0
0
0
0
0
0
0
0
2
-1
5
11
-9
-14
20
0
0
0
0
0
0
0
0
0
0
1
-4
7
0
1
-11
-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
19
-13
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-10
-5
11
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-11
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-14
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
20
-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
-9
34
-65
-14
-17
-8
0
0
0
0
0
0
0
0
0
0
0
-20
-26
49
-23
-9
9
0
1
1
0
0
0
0
0
0
0
0
-3
-92
-1
-29
-7
1
0
0
0
0
0
0
0
0
0
0
0
28
48
-88
-17
-1
-5
0
0
0
0
0
0
0
0
0
0
0
60
-11
1
150
43
-1
0
0
0
0
0
0
0
0
0
0
0
-102
-3
-50
-8
-20
4
0
0
0
0
0
0
0
0
0
0
0
32
62
51
-32
-25
-3
0
0
0
0
0
0
0
0
0
0
0
-93
-124
-23
-46
-13
0
0
0
0
0
0
0
0
0
0
0
0
22
-33
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
-14
9
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-87
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-13
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-46
-3
-43
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
-29
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-48
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
59
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
14
47
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
-11
13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-44
67
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
33
-133
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
0
-7
0
0
0
0
0
0
0
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
11
4
1
0
0
0
0
0
0
0
0
0
0
0
0
3
26
-50
-35
19
13
-1
0
0
0
0
0
0
0
0
0
0
-1
5
0
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
-36
4
39
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-54
-5
47
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
9
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
-19
-5
-14
-11
2
15
-4
0
0
0
0
0
0
0
0
0
0
0
-41
45
-27
49
6
-15
-2
0
0
0
0
0
0
0
0
0
-5
-22
-2
44
-23
5
49
4
10
0
0
0
0
0
0
0
0
-13
-36
17
-14
13
15
0
-19
0
0
0
0
0
0
0
0
0
7
-27
-23
-7
-13
0
-6
0
0
0
0
0
0
0
0
0
0
-10
-44
8
16
4
0
0
0
0
0
0
0
0
0
0
0
0
-16
24
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-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
9
-15
2
0
1
3
-2
0
0
0
0
0
0
0
0
0
-7
-4
32
-1
0
26
5
7
0
0
0
0
0
0
0
0
0
-1
-5
44
-10
0
-4
15
-2
-16
0
0
0
0
0
0
0
0
19
11
-6
76
0
3
0
2
-15
5
0
0
0
0
0
0
0
-24
54
6
-63
-1
0
-23
23
-3
0
0
0
0
0
0
0
0
10
-27
53
-100
-15
3
15
5
0
0
0
0
0
0
0
0
0
-5
18
-8
45
-47
-6
1
5
0
0
0
0
0
0
0
0
0
-8
22
-5
18
0
1
0
0
0
0
0
0
0
0
0
0
0
-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
1
2
7
31
5
46
71
-32
0
-14
-15
0
0
0
0
0
0
0
-20
-9
-13
-32
97
-22
-10
-12
20
20
0
0
0
0
0
0
-7
11
-15
-2
53
87
78
62
43
33
-27
26
0
0
0
0
0
-15
-18
-36
18
13
32
71
145
-21
63
9
-2
0
0
0
0
0
2
14
7
-14
93
117
161
121
104
38
0
1
0
0
0
0
0
-10
-6
-21
17
-11
-8
94
130
35
-4
1
0
0
0
0
0
0
1
3
14
0
49
57
-17
43
-9
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
15
-5
-21
22
-27
-12
0
-35
-1
0
0
0
0
0
0
0
45
-105
-15
-62
-14
-12
-23
23
25
30
0
-3
0
0
0
0
0
41
8
18
-17
-17
-2
-5
37
148
21
0
-2
1
0
0
0
0
29
-76
-48
9
-20
-42
-2
-6
25
-2
3
0
1
0
0
0
0
106
-19
-89
-19
-5
-14
-36
70
93
43
7
2
0
0
0
0
0
-7
-28
62
-39
-16
25
-4
66
64
8
0
0
1
0
0
0
0
-2
43
-89
-43
14
-5
-21
-24
-32
1
1
-1
0
0
0
0
0
49
14
25
12
24
18
62
-45
-9
-1
1
-1
0
0
0
0
0
0
14
-10
-2
-62
103
7
26
0
0
0
0
0
0
0
0
0
0
10
-3
-34
-6
12
17
0
1
-5
1
0
0
0
0
0
0
3
16
-21
6
5
-18
-53
44
-14
5
0
0
0
0
0
0
0
0
-22
16
44
54
8
5
-14
32
1
2
0
0
0
0
0
0
4
0
10
-27
83
-5
48
-30
46
0
0
0
0
0
0
0
0
0
9
53
14
47
13
16
120
-6
0
0
0
0
0
0
0
0
0
-1
80
27
25
109
-109
19
8
0
0
0
0
0
0
0
0
0
-3
-55
35
17
110
-23
22
0
0
0
0
0
0
0
0
0
0
0
-4
-4
49
69
86
58
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-10
47
0
9
0
0
0
0
0
0
0
0
0
7
43
-47
93
40
21
0
45
1
-2
0
0
0
0
0
0
0
38
-2
-65
33
-38
3
28
81
4
-5
0
0
0
0
0
0
0
-87
-10
77
64
-44
19
-45
68
23
1
0
0
0
0
0
0
0
17
134
163
24
10
110
25
102
34
0
0
0
0
0
0
0
0
20
71
-41
-30
6
23
70
18
0
0
0
0
0
0
0
0
0
-3
15
49
-27
33
25
68
37
0
0
0
0
0
0
0
0
0
5
-33
-11
42
37
196
7
-60
0
0
0
0
0
0
0
0
0
0
5
35
-13
-6
110
16
0
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
-46
-8
81
37
61
5
17
0
53
2
0
0
0
0
0
0
-14
0
-37
-133
-53
33
1
1
-26
151
89
0
0
0
0
0
0
-1
29
-29
62
46
-5
19
-8
40
29
-26
-1
0
0
0
0
0
-32
20
-19
74
-36
2
6
-6
92
43
16
0
0
0
0
0
0
1
7
-58
-19
48
-6
29
14
140
16
0
0
0
0
0
0
0
0
-23
31
100
4
-32
27
38
-36
0
0
0
0
0
0
0
0
0
-33
-33
71
28
-80
-32
54
0
0
0
0
0
0
0
0
0
0
-17
1
-9
0
10
-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
-29
-6
13
-42
15
139
0
3
0
0
0
0
0
0
0
0
26
25
29
63
34
38
-1
-88
60
-14
0
0
0
0
0
0
0
-6
35
31
48
79
0
14
-39
-3
0
0
0
0
0
0
0
0
0
9
41
8
8
8
-69
43
-2
0
0
0
0
0
0
0
0
3
5
0
-25
-72
-22
35
-34
0
0
0
0
0
0
0
0
0
3
18
-62
-4
-14
23
60
1
0
0
0
0
0
0
0
0
0
-2
20
5
-10
0
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
0
0
0
0
0
0
0
0
0
0
0
-1
4
4
7
-3
23
77
0
14
2
0
0
0
0
0
0
1
4
3
9
67
32
80
1
-20
85
-4
0
0
0
0
0
0
1
0
3
59
106
22
83
24
13
24
-45
1
0
0
0
0
0
-3
4
3
168
87
19
120
38
43
-20
1
0
0
0
0
0
0
1
-15
-3
80
41
113
49
93
-42
-124
-33
0
0
0
0
0
0
0
-14
23
56
41
26
37
68
-74
-16
5
0
0
0
0
0
0
0
3
17
0
102
73
-64
33
49
-35
8
0
0
0
0
0
0
0
-16
0
16
-37
-32
-5
15
34
-3
0
0
0
0
0
0
0
0
0
0
0
0
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
-7
43
24
-32
17
0
0
0
0
0
0
0
0
0
0
0
63
58
32
104
59
-5
0
0
0
0
0
0
0
0
0
0
0
7
110
57
42
-7
-8
0
0
0
0
0
0
0
0
0
0
0
10
94
34
-29
36
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
27
9
10
0
0
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
0
0
0
0
0
0
0
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
-20
10
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
10
-3
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
45
46
-20
-2
0
0
0
0
0
0
0
0
0
0
0
1
26
-44
53
14
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
62
29
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
20
104
-6
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
0
-1
0
0
0
0
0
0
0
0
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
52
14
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
11
20
45
23
-5
0
0
0
0
0
0
0
0
0
0
0
3
56
62
100
-36
35
0
0
0
0
0
0
0
0
0
0
0
1
0
37
69
-46
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
29
-16
-7
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
1
4
31
19
2
0
0
0
0
0
0
0
0
0
0
0
5
0
-39
4
5
31
0
0
0
-2
0
0
0
0
0
0
0
0
5
49
13
95
-34
21
-7
-44
0
0
0
0
0
0
0
0
-2
6
19
-36
63
19
49
44
8
0
0
0
0
0
0
0
0
0
-2
10
50
29
126
-11
-14
-1
0
0
0
0
0
0
0
0
0
0
-13
-34
51
2
-7
-5
-14
0
0
0
0
0
0
0
0
0
0
0
-26
1
-5
-17
-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
-17
3
2
-1
0
0
0
0
2
-2
0
0
0
0
0
0
0
-35
-7
-14
25
41
-2
-15
4
0
-1
0
0
0
0
0
0
47
1
-2
14
48
11
43
-6
-46
-10
0
0
0
0
0
0
0
0
5
-33
51
-15
44
-16
-14
33
0
0
0
0
0
0
0
0
54
-18
69
-19
27
9
-41
-50
1
0
0
0
0
0
0
0
1
6
71
0
-10
-44
53
1
-17
1
0
0
0
0
0
0
0
0
5
1
1
5
-6
3
29
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
-3
14
10
-34
0
0
0
0
0
0
0
0
0
0
0
0
43
13
2
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
23
52
-11
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-5
25
-16
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
32
-72
20
-2
0
0
0
0
0
0
0
0
0
0
0
-27
-10
-23
-1
-62
-6
0
0
0
0
0
0
0
0
0
0
0
64
12
5
34
9
18
7
0
0
0
0
0
0
0
0
0
0
0
12
-83
-99
-33
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
-35
-4
-30
-53
7
62
45
0
0
0
2
0
0
0
0
0
0
-34
-36
-39
-35
-6
53
92
0
0
-21
-1
0
0
0
0
0
0
-11
-15
-9
-20
15
-41
-39
37
-5
-25
-2
0
0
0
0
0
0
-21
-2
-37
-70
-3
186
29
36
58
-21
-4
0
0
0
0
0
0
35
-11
-33
-37
5
6
117
30
23
5
0
0
0
0
0
0
0
-52
-48
-55
-30
-8
-19
-3
-26
45
0
0
0
0
0
0
0
0
-133
-28
42
-77
-29
0
-27
-17
2
1
0
0
0
0
0
0
0
0
-39
-28
-4
-16
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
-9
35
1
9
11
42
-22
0
0
-1
0
0
0
0
0
0
0
-76
-76
-7
-1
-8
37
33
-104
-21
-4
-1
0
0
0
0
0
0
-13
-32
3
-1
-8
18
78
-5
-41
2
-1
0
0
0
0
0
0
-21
-81
-5
-14
3
54
-19
63
-53
-10
5
1
0
0
0
0
0
43
-44
-20
-49
-14
-8
28
-12
-77
7
2
0
0
0
0
0
0
-47
-24
-47
-16
3
-22
28
22
194
10
0
0
0
0
0
0
0
-48
17
-32
-15
-2
-14
18
40
-14
-5
0
0
1
0
0
0
0
-2
-3
-38
1
1
1
-1
-31
-9
-2
0
-3
0
0
0
0
0
0
0
1
-76
35
-46
4
31
0
0
0
0
0
0
0
0
0
31
84
-89
24
-175
2
-62
0
0
0
0
0
0
0
0
0
0
45
6
6
-48
4
32
-25
1
0
0
0
0
0
0
0
0
0
13
1
-38
-59
11
25
58
-1
0
0
0
0
0
0
0
0
0
32
-2
16
-20
5
-15
-14
-7
0
0
0
0
0
0
0
0
0
3
19
71
65
23
-16
36
1
0
0
0
0
0
0
0
0
0
-4
5
-5
-21
-53
-43
15
-2
0
0
0
0
0
0
0
0
0
-5
-22
-18
-67
55
-27
3
-6
0
0
0
0
0
0
0
0
0
-50
-6
-9
-59
8
63
-15
0
0
0
0
0
0
0
0
0
0
-15
-48
95
-31
37
20
1
1
0
0
0
0
0
0
0
0
0
52
9
9
21
-9
-5
-46
2
0
0
0
0
0
0
0
0
0
24
-63
12
0
5
71
0
-25
1
0
0
0
0
0
0
0
0
-36
-27
20
2
36
58
-95
-21
0
0
0
0
0
0
0
0
0
19
-14
-11
-19
-35
-22
69
-57
14
0
0
0
0
0
0
0
0
56
12
-14
12
10
24
149
31
-1
0
0
0
0
0
0
0
0
-7
29
-66
5
-26
-23
84
63
0
0
0
0
0
0
0
0
0
-43
4
-41
-71
58
5
10
-6
0
0
0
0
0
0
0
0
0
-1
77
23
39
-26
17
0
0
0
0
0
0
0
0
0
0
0
0
0
94
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
8
2
-4
29
30
0
0
6
-2
0
0
0
0
0
0
48
7
-4
4
13
-15
49
0
-26
0
-5
0
0
0
0
0
0
-23
22
13
13
17
34
64
37
-36
12
-4
-3
0
0
0
0
0
9
14
2
4
12
64
103
83
-9
-16
1
0
0
0
0
0
0
1
-2
7
11
30
-18
89
50
-11
4
0
0
0
0
0
0
0
-16
-8
-1
1
27
-42
109
-65
6
9
-2
0
0
0
0
0
0
-98
-29
-11
-18
-62
-8
11
21
-14
0
0
0
0
0
0
0
0
0
-25
-1
24
29
-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
-33
-51
-15
46
-6
-35
0
0
0
0
0
0
0
0
0
0
18
-30
-46
-25
21
19
-20
0
-6
0
-3
0
0
0
0
0
0
0
-47
-93
38
44
36
48
43
-17
56
0
0
0
0
0
0
0
3
19
-31
-14
16
32
47
-14
33
5
4
0
0
0
0
0
0
-13
74
-42
48
-27
107
69
4
39
-3
0
0
0
0
0
0
0
0
64
-14
-5
33
91
21
16
-1
-3
0
0
0
0
0
0
0
5
77
-3
45
83
73
8
0
-3
0
0
0
0
0
0
0
0
0
56
98
16
25
-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
-14
11
-11
-13
33
9
-3
0
0
0
0
0
0
0
0
0
0
11
5
7
-8
-48
-13
-97
-1
0
-1
1
0
0
0
0
0
0
5
28
28
-14
-33
27
68
2
0
-26
0
0
0
0
0
0
0
59
37
44
-3
42
-33
-55
1
20
3
0
0
0
0
0
0
0
32
21
17
-5
-11
21
96
0
6
29
0
0
0
0
0
0
0
9
18
2
-33
-45
19
89
19
-23
-24
0
0
0
0
0
0
0
31
24
3
-25
-4
22
0
-3
-14
0
0
0
0
0
0
0
0
-19
-5
-6
25
-61
33
0
0
-1
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
71
-48
4
-1
0
0
0
0
0
0
0
0
0
0
0
-47
-76
28
-27
-10
1
-1
0
-1
-1
0
0
0
0
0
0
0
36
11
-48
-60
-4
1
0
0
0
3
0
0
0
0
0
0
0
6
43
53
74
60
0
-2
0
0
0
0
0
0
0
0
0
0
2
32
44
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-50
-108
-65
-80
-6
7
0
0
0
0
0
0
0
0
0
0
0
2
13
-59
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-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
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
-10
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
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
11
-9
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
130
-55
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
27
-52
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-16
-10
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
23
-79
47
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
71
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
14
36
-53
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
5
42
1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-17
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-14
86
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
19
-73
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
-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
0
0
0
0
0
0
0
0
0
0
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
-10
13
11
0
0
0
0
0
0
0
0
0
-17
5
11
33
-2
49
72
2
-2
0
0
0
0
0
0
0
0
6
0
-1
29
24
-6
-8
5
0
0
0
0
0
0
0
0
0
0
2
-14
-6
25
52
23
10
0
0
0
0
0
0
0
0
0
0
2
-14
26
-14
-9
14
2
0
0
0
0
0
0
0
0
0
0
7
0
-6
-32
5
-29
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
-24
-9
-2
-9
1
0
0
0
0
0
0
0
0
0
-6
-29
2
5
5
-26
-21
-1
2
0
0
0
0
0
0
0
0
15
-2
0
-6
13
-20
-17
1
3
0
0
0
0
0
0
0
0
-13
25
18
-5
15
-14
7
-6
5
0
0
0
0
0
0
0
0
43
-20
-14
2
2
1
-15
-10
0
0
0
0
0
0
0
0
0
1
-6
-16
29
5
2
-22
-100
-20
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
-18
43
33
-43
-34
0
18
10
-1
0
0
0
0
0
13
14
0
43
59
53
-47
-27
-86
-52
-1
-1
0
0
0
0
0
0
27
54
55
23
47
28
84
-82
71
2
0
0
0
0
0
0
0
16
-7
60
33
1
60
35
-1
-71
23
0
0
0
0
0
0
0
-8
9
50
-147
74
41
39
87
134
0
0
0
0
0
0
0
0
1
4
15
0
-7
-21
106
83
-10
7
0
0
0
0
0
0
0
0
3
0
-97
-1
24
106
45
-9
0
0
0
0
0
0
0
0
0
0
0
0
13
1
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
2
-26
-39
-15
-8
-19
-34
0
13
-1
0
0
0
0
0
0
0
-81
85
65
-32
8
-13
-2
20
-66
3
0
0
0
0
0
0
0
80
36
-34
-15
-5
2
-9
-57
109
-3
7
0
0
0
0
0
0
-45
65
18
39
-2
-12
-15
-119
-34
-18
1
1
0
0
0
0
0
14
24
-49
24
-19
8
-23
12
-20
-7
23
-1
-1
0
0
0
0
-52
86
-73
-31
-4
-24
-23
23
128
0
-2
0
0
0
0
0
0
1
-47
19
-40
-21
1
-14
31
47
0
1
0
0
0
0
0
0
7
-11
-99
-80
-44
-40
-8
-12
94
9
0
0
0
0
0
0
0
0
0
2
-61
-56
-6
-3
-27
49
0
0
0
0
0
0
0
0
0
10
-4
31
-37
-4
56
0
32
-1
0
0
1
0
0
0
0
0
3
58
23
-40
-3
-26
-71
-14
-25
1
-2
0
0
0
0
0
0
-11
0
4
9
0
71
-32
41
5
29
1
0
0
0
0
0
0
-31
77
36
38
92
94
159
71
-5
3
0
0
0
0
0
0
0
27
6
110
55
8
52
-14
57
-5
1
0
0
0
0
0
0
0
0
52
91
21
26
96
5
0
40
-9
0
0
0
0
0
0
0
1
1
-24
-32
10
-1
-21
-25
22
-5
0
0
0
0
0
0
0
0
-10
-15
85
-93
55
38
17
29
7
0
0
0
0
0
0
0
0
0
-72
55
46
35
-73
24
24
-5
-1
0
0
0
0
0
0
3
10
115
-14
-34
-22
0
30
-23
5
0
0
0
0
0
0
0
9
11
-91
45
-13
-25
-55
-35
-29
1
-1
0
0
0
0
0
0
14
-16
-53
-17
10
17
20
-24
3
-4
0
0
0
0
0
0
0
15
-38
-52
3
16
15
20
-2
9
0
0
0
0
0
0
0
0
23
81
6
26
-4
21
-7
-67
-8
0
0
0
0
0
0
0
0
7
25
-90
140
29
6
24
42
23
-1
0
0
0
0
0
0
0
0
1
53
44
-25
37
73
-4
-60
1
0
0
0
0
0
0
0
0
7
17
57
-6
118
78
-33
1
-1
0
0
0
0
0
0
0
0
0
2
0
66
-14
5
0
0
0
0
0
0
0
0
0
-20
-10
-61
-100
-11
-39
-44
0
-53
17
0
0
0
0
0
0
-5
-25
-61
-33
25
-8
-22
26
-22
53
-34
-2
0
0
0
0
0
-9
43
-16
-30
-38
-10
5
-5
16
17
0
-2
0
0
0
0
0
2
16
-7
-64
93
38
21
-4
22
0
-2
0
0
0
0
0
0
-2
-7
1
-53
97
16
37
65
-74
1
0
0
0
0
0
0
0
0
-4
-2
9
35
9
14
25
39
43
2
0
0
0
0
0
0
0
0
0
-31
-78
43
-19
51
41
-3
0
0
0
0
0
0
0
0
0
0
-70
-1
47
5
-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
3
14
18
134
-25
14
74
0
-42
0
0
0
0
0
0
0
5
2
-4
13
3
24
-40
-14
53
8
0
0
0
0
0
0
0
0
0
2
9
98
45
-8
18
1
1
0
0
0
0
0
0
0
0
0
-6
-11
-20
-23
-6
15
45
0
0
0
0
0
0
0
0
0
-3
0
-53
-21
-99
48
-45
-13
2
0
0
0
0
0
0
0
0
-11
0
64
-33
-19
13
-44
-45
-18
0
0
0
0
0
0
0
0
0
0
-9
-48
-69
59
-11
-118
-1
0
0
0
0
0
0
0
0
0
0
-5
-80
-161
14
-31
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
18
49
55
19
0
-25
-4
0
0
0
0
0
0
-6
-1
-5
0
80
21
119
51
82
16
2
0
0
0
0
0
0
0
-1
3
25
167
75
63
109
-40
-20
1
0
0
0
0
0
0
0
44
2
88
124
14
146
-43
96
-46
-7
0
0
0
0
0
0
-2
-15
9
80
5
72
38
-41
33
-7
1
0
0
0
0
0
0
0
0
-1
-9
40
34
-5
42
-37
17
10
0
0
0
0
0
0
3
-3
0
0
50
-5
-15
85
-23
20
-13
3
0
0
0
0
0
0
0
0
-23
8
-65
-112
-25
-109
76
5
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
100
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
-17
62
-35
6
0
1
0
0
0
0
0
0
0
0
0
0
10
68
12
168
-14
-4
0
0
0
0
0
0
0
0
0
0
0
1
58
16
87
23
0
-1
0
0
0
0
0
0
0
0
0
0
6
34
68
13
19
-1
-1
0
0
0
0
0
0
0
0
0
0
0
5
-12
195
-38
10
2
0
0
0
0
0
0
0
0
0
0
-1
-22
-5
-39
5
45
0
0
0
0
0
0
0
0
0
0
0
0
-36
-10
-50
-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
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
11
20
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
9
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
23
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
13
-21
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
109
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-18
2
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
9
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
28
-48
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
77
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
68
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
33
40
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
25
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
0
0
0
0
0
0
2
51
-9
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
13
-8
54
0
0
0
0
0
0
0
0
0
0
0
0
0
14
6
7
62
-2
0
0
0
0
0
0
0
0
0
0
0
0
24
33
53
-11
17
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-65
-50
-9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-35
15
33
2
1
0
0
0
0
0
0
0
0
0
0
0
-6
19
-61
-25
-2
-24
0
0
0
0
0
0
0
0
0
0
0
0
-17
15
-14
20
-17
27
6
3
0
0
0
0
0
0
0
0
0
-11
-21
-60
-43
-7
-2
20
-18
0
0
0
0
0
0
0
0
0
19
-1
-33
-5
-75
-10
81
-4
-1
1
0
0
0
0
0
0
-1
0
4
-6
-5
-17
13
29
-4
2
0
0
0
0
0
0
0
0
0
-4
-20
16
-41
-26
-53
-49
-3
0
0
0
0
0
0
0
0
0
0
0
51
-5
-44
14
-33
-7
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-18
-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
13
-1
20
-7
29
0
0
0
0
0
0
0
0
0
0
0
-27
24
-1
-1
-33
6
16
0
0
0
0
0
0
0
0
0
0
39
9
-46
68
-2
9
13
23
-1
1
0
0
0
0
0
0
0
-6
-14
-33
-77
-8
3
104
-3
40
0
0
0
0
0
0
0
0
35
6
-5
73
0
36
-23
90
100
-9
0
0
0
0
0
0
0
0
25
0
-16
15
-4
-62
-46
-49
8
0
0
0
0
0
0
0
0
0
0
0
-6
-14
-33
-36
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
1
5
18
-1
0
0
0
0
0
0
8
-3
14
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-11
5
23
51
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
10
27
-11
21
-2
0
0
0
0
0
0
0
0
0
0
0
-3
20
-22
-5
-22
0
0
0
0
0
0
0
0
0
0
0
0
26
-5
56
-45
-9
-1
0
0
0
0
0
0
0
0
0
0
0
24
6
24
29
-45
6
0
0
0
0
0
0
0
0
0
0
0
46
-54
-18
-47
-27
3
-1
0
0
0
0
0
0
0
0
0
0
0
-33
-6
-59
11
-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
-12
-38
-15
-36
25
57
106
0
0
0
-1
0
0
0
0
0
0
-47
-23
-2
-30
31
76
-97
0
0
3
2
1
0
0
0
0
0
8
-28
-23
12
6
58
40
81
3
-2
0
0
0
0
0
0
0
-52
-39
1
8
24
60
82
95
-22
1
9
0
0
0
0
0
0
31
-34
-37
29
24
-14
98
47
10
1
-1
0
0
0
0
0
0
-44
-64
-25
-3
13
39
5
-19
-2
14
0
0
0
0
0
0
0
6
23
12
24
44
-34
58
-8
-5
-1
0
0
0
0
0
0
0
0
4
0
-10
20
-56
-27
-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
17
24
-4
-15
0
-4
2
0
0
0
1
0
0
0
0
0
0
-49
15
22
-7
5
31
-1
132
9
1
3
0
0
0
0
0
0
-35
-54
-14
12
1
5
-14
59
53
-1
0
0
0
0
0
0
0
-56
-44
-5
3
21
16
24
40
-76
2
-2
0
0
0
0
0
0
-91
-63
5
8
8
1
45
-23
-47
-11
0
0
0
0
0
0
0
25
-10
-2
-3
-48
1
17
-46
50
-18
0
0
-3
0
0
0
0
32
66
-3
-2
-4
-3
58
56
52
-22
0
1
0
0
0
0
0
0
29
-14
-16
-5
25
52
6
19
-4
0
0
0
0
0
0
0
0
0
6
-45
10
85
3
7
0
0
0
0
0
0
0
0
0
-11
91
-45
-34
-24
128
89
0
0
0
0
0
0
0
0
0
0
14
34
-4
1
-25
-41
-69
1
9
0
0
0
0
0
0
0
0
26
-30
-64
50
46
-15
89
25
8
0
0
0
0
0
0
0
0
-3
67
-113
6
53
58
74
-6
-2
0
0
0
0
0
0
0
0
24
27
-14
12
-14
1
-45
0
0
0
0
0
0
0
0
0
0
0
-20
2
15
-115
23
-35
25
1
0
0
0
0
0
0
0
0
0
-1
-23
-106
-8
13
1
-1
-7
0
0
0
0
0
0
0
0
0
0
23
-51
39
-57
27
-18
1
0
0
0
0
0
0
0
0
0
9
-46
2
-46
9
1
0
0
0
0
0
0
0
0
0
0
20
-31
10
-20
56
100
41
-52
0
-2
0
0
0
0
0
0
0
-67
-33
6
-9
47
79
0
27
-5
0
0
0
0
0
0
0
0
-42
-105
11
-10
17
41
54
-8
1
0
0
0
0
0
0
0
0
-82
-59
-7
-8
16
72
37
-8
-5
0
0
0
0
0
0
0
0
-17
-4
-14
12
-23
40
-26
22
0
0
0
0
0
0
0
0
0
-14
32
-49
4
3
26
-103
-98
-1
0
0
0
0
0
0
0
0
26
-43
-13
-43
-46
43
-8
-14
0
-5
0
0
0
0
0
0
0
-71
5
30
-111
30
57
-14
15
0
0
0
0
0
0
0
0
0
0
0
-109
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
3
-1
-11
-17
29
96
0
0
-7
1
0
0
0
0
0
0
20
2
31
8
11
40
50
0
-9
0
10
0
0
0
0
0
0
-6
-21
26
39
1
37
17
72
-4
-4
0
0
0
0
0
0
0
3
-7
18
23
22
46
63
115
29
0
0
0
0
0
0
0
0
-15
6
-3
28
16
-8
120
52
7
25
0
0
0
0
0
0
0
3
-11
-33
5
8
27
-27
30
-78
5
0
0
0
0
0
0
0
-6
-42
18
68
2
-14
71
63
-47
11
1
0
0
0
0
0
0
0
-4
-3
34
26
42
-9
-39
0
-3
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
13
6
14
26
0
-34
-1
0
-5
0
0
0
0
0
0
0
31
-5
-58
-6
-6
-58
-21
0
1
0
0
0
0
0
0
0
0
7
-24
-45
48
-50
-31
-43
2
-9
0
0
0
0
0
0
0
0
-4
-33
-43
-29
-8
-71
10
45
3
0
0
0
0
0
0
0
0
-11
-13
-9
17
-8
-102
-3
-11
-8
23
0
0
0
0
0
0
0
0
-44
81
-53
-80
-52
-5
0
-4
16
2
0
0
0
0
0
0
0
0
-29
64
9
-45
-45
0
-9
-29
0
0
0
0
0
0
0
0
0
0
-4
-16
-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
31
45
40
-77
-5
47
-133
0
0
0
0
0
0
0
0
0
0
-9
-5
-2
5
-11
3
42
5
0
0
0
0
0
0
0
0
0
31
-4
-1
58
22
-21
59
6
1
-4
0
0
0
0
0
0
0
0
36
18
6
32
75
-70
0
43
0
3
0
0
0
0
0
0
18
-16
5
9
34
-4
-7
-23
-15
-11
1
0
0
0
0
0
0
59
-33
4
14
-11
117
35
-33
23
9
0
0
0
0
0
0
0
7
5
3
-43
26
-79
27
-15
126
53
0
0
0
0
0
0
0
0
-34
23
-77
-95
35
17
21
18
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
6
-1
-2
-1
0
-2
0
0
0
0
0
0
0
1
35
26
14
18
-2
0
0
1
-1
0
0
0
0
0
0
0
5
3
18
-51
20
1
0
0
0
0
0
0
0
0
0
0
0
1
-11
25
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-14
-28
-71
77
14
0
0
0
0
0
0
0
0
0
0
0
0
9
55
-8
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
31
-65
-20
-76
-25
0
0
0
0
0
0
0
0
0
0
0
0
8
77
43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
47
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
-22
18
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
-11
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
8
7
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
2
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
-59
16
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
22
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
17
-4
-37
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
79
19
0
0
0
0
0
0
0
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
-18
-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
-15
2
4
0
0
0
-3
0
0
0
0
0
0
0
-2
-5
-10
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
44
8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
22
7
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
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
-9
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
-10
-11
0
0
2
1
0
0
0
0
0
0
0
0
0
-10
-32
18
4
1
-4
5
0
-18
0
0
0
0
0
0
0
0
0
15
13
-3
0
0
5
3
-7
-7
0
0
0
0
0
0
0
4
-33
18
0
0
-3
-6
1
-17
-3
0
0
0
0
0
0
0
-31
10
48
9
-3
1
0
5
-26
0
0
0
0
0
0
0
0
19
3
6
71
0
0
4
0
0
0
0
0
0
0
0
0
0
-43
-15
-5
-10
-7
-25
3
-2
0
0
0
0
0
0
0
0
0
1
61
-3
-44
15
0
0
0
0
0
0
0
0
0
0
0
0
-24
-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
1
-2
21
27
-67
-75
7
0
11
10
2
0
1
0
0
0
4
-7
18
0
23
10
55
82
-12
42
50
-3
1
0
0
0
0
0
7
-41
18
-5
-17
-32
14
-11
9
62
-3
4
1
0
0
0
0
-3
20
17
-16
74
127
-84
-48
-18
43
11
3
-3
0
0
0
0
0
18
-17
-9
86
53
15
68
119
-3
-1
0
0
0
0
0
0
13
-1
-10
78
119
99
91
26
5
1
0
0
0
0
0
0
0
-17
8
4
17
46
14
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
101
23
72
-12
35
18
0
25
-45
14
0
1
0
0
0
0
35
31
1
-46
-58
54
-5
43
20
6
-4
-18
-4
0
0
0
0
-19
-75
119
-61
52
35
12
-42
-40
-58
1
6
0
0
0
0
0
0
67
-53
-61
32
74
-56
5
66
-58
-1
49
1
0
0
0
0
-43
22
-40
-29
-1
-5
-34
25
48
-1
27
15
0
0
0
0
0
-5
-111
70
23
10
6
23
-7
-13
8
-13
0
2
1
0
0
0
14
-33
-38
131
-15
25
15
-10
-15
-17
-4
13
0
0
0
0
0
10
-86
-5
-50
27
-30
10
64
16
-1
-6
-4
0
0
0
0
0
0
-5
-5
-46
31
7
-13
36
16
0
0
2
0
0
0
0
0
0
0
0
-5
-19
-103
-53
0
-18
-8
0
0
0
0
0
0
0
0
0
7
-50
-23
-62
18
5
-47
7
1
0
2
0
0
0
0
0
-2
10
30
19
76
-72
-54
-9
9
0
0
0
0
0
0
0
0
-1
39
80
-14
-3
-39
74
65
-11
0
0
0
0
0
0
0
0
1
-1
24
-110
-22
39
-13
12
18
0
0
0
0
0
0
0
0
0
0
8
15
14
-36
178
-20
0
0
0
0
0
0
0
0
0
0
3
-19
17
31
-37
-2
-2
0
0
0
0
0
0
0
0
0
0
0
54
62
60
75
-29
10
0
0
0
0
0
0
0
0
0
0
0
-3
35
78
-5
-35
-1
0
0
0
0
0
0
0
0
0
0
-4
29
-9
-85
83
0
-17
9
0
0
0
0
0
0
0
0
0
-5
15
28
0
36
-115
-3
43
0
9
0
0
0
0
0
0
-2
14
26
-51
67
46
13
26
17
-1
0
0
-1
0
0
0
0
0
12
-49
109
-23
46
-29
128
10
-1
0
-1
0
0
0
0
0
2
5
68
126
-33
43
120
24
-1
3
0
-1
0
0
0
0
0
0
2
-3
-86
16
50
-67
-27
5
0
0
0
0
0
0
0
0
3
-3
7
7
116
-21
6
136
-37
0
1
0
0
0
0
0
0
0
0
109
-71
27
-4
61
2
-1
0
0
0
0
0
0
0
0
0
0
1
0
79
0
-2
0
0
0
0
0
0
0
0
0
0
23
23
-1
50
139
122
0
-37
-6
0
0
0
0
0
0
0
1
57
21
-42
-31
-5
4
18
-16
25
5
0
0
0
0
0
-1
-21
19
0
-90
-21
74
16
22
-1
-16
0
0
2
0
0
0
0
9
0
22
108
-29
65
-17
82
150
-5
-2
2
0
0
0
0
0
4
5
23
11
79
63
-3
-104
-25
0
1
0
0
0
0
0
0
-1
0
44
-89
-39
-5
89
36
0
0
0
0
0
0
0
0
-2
-1
-6
-21
113
62
107
17
0
2
0
0
0
0
0
0
0
0
0
0
2
0
17
4
9
-5
0
0
0
0
0
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
-6
17
-2
0
0
0
0
0
0
0
0
0
0
0
2
-5
13
-50
-17
-16
-16
0
0
0
0
0
0
0
0
0
0
0
-2
3
9
6
17
13
-4
0
0
0
0
0
0
0
0
0
-3
0
0
31
-14
74
4
-14
0
0
0
0
0
0
0
0
0
0
10
10
-3
61
14
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-32
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-14
5
0
-7
-1
0
0
0
0
0
0
0
0
0
1
10
43
75
-18
-33
90
-7
0
0
0
0
0
0
0
-1
0
14
5
48
85
-62
56
15
-6
-2
0
0
0
0
0
0
0
0
-5
59
118
23
45
76
-1
20
1
0
0
0
0
0
0
-13
-2
7
72
18
31
67
-29
-27
-6
0
0
0
0
0
0
0
1
0
14
11
27
52
42
25
19
22
0
0
0
0
0
0
0
4
-32
-27
82
-21
-8
42
77
-47
2
1
0
0
0
0
0
0
0
0
2
-62
-20
19
62
8
16
-2
0
0
0
0
0
0
0
0
0
0
-3
-13
5
-15
-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
20
-4
5
-1
-1
0
0
0
0
0
0
0
0
0
5
52
-31
59
24
-18
0
-3
-3
0
0
0
0
0
0
0
0
2
27
56
62
-13
-5
-17
-9
0
0
0
0
0
0
0
0
0
140
55
19
-24
-4
-2
-2
-8
0
0
0
0
0
0
0
0
4
66
64
61
19
10
2
-1
-3
0
0
0
0
0
0
0
0
-1
65
31
34
53
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-21
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-38
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
34
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
32
-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
-14
-9
3
1
0
-6
0
0
0
0
0
0
0
0
0
14
114
-12
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
6
90
24
24
2
-4
-2
0
2
0
0
0
0
0
0
0
0
-6
35
11
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
61
17
13
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
-31
3
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
-11
14
-46
21
0
0
0
0
0
0
0
0
0
0
0
0
6
10
68
-11
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-10
44
-5
0
0
0
0
0
0
0
0
0
0
0
0
-8
45
-64
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
26
-1
-8
1
0
0
0
-1
0
0
0
0
0
0
0
0
-1
1
-14
-1
0
1
2
-13
0
0
0
0
0
0
0
0
0
5
-8
0
4
8
9
-20
4
0
0
0
0
0
0
0
0
0
-14
0
0
13
14
22
-11
15
0
-5
0
0
0
0
0
0
0
6
1
0
-1
36
11
16
2
0
0
0
1
0
0
0
0
0
0
0
4
3
-9
14
-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
11
5
2
0
0
-2
0
0
0
0
0
2
-1
3
25
11
3
16
-15
2
0
0
0
1
0
0
-5
0
-17
-13
-2
52
-9
52
-18
-3
-1
0
0
0
0
0
0
0
-11
-6
-23
-17
1
6
55
84
16
0
0
0
0
0
0
0
-3
11
-1
-10
51
47
-10
0
-41
0
0
0
0
0
0
0
0
5
0
0
-3
-1
-46
32
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
4
25
17
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
36
9
-37
-31
0
0
0
0
0
0
0
0
0
0
0
0
31
-57
76
-12
10
0
0
0
0
0
0
0
0
0
0
0
0
145
-3
18
59
-7
0
0
0
0
0
0
0
0
0
0
0
0
-52
5
43
36
-17
-1
0
0
0
0
0
0
0
0
0
0
0
17
62
-10
-27
-49
-7
18
2
0
0
0
-1
-1
0
0
0
0
1
-57
45
26
-39
28
22
10
1
4
-2
0
-1
0
0
0
0
0
7
-11
54
-16
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
33
10
104
51
-27
-31
-15
0
0
0
-10
1
0
0
0
0
0
-31
30
-48
-5
38
54
35
0
0
16
-19
10
-1
0
0
0
0
59
7
-2
-77
-5
109
128
17
34
45
13
3
0
0
0
0
0
-8
8
71
10
78
103
46
43
-71
-1
-3
4
-1
0
0
0
0
23
28
17
-39
65
53
48
114
25
15
-6
-10
-1
-2
0
0
0
-11
25
-38
-31
45
-20
22
-20
21
33
-3
3
-4
2
0
0
0
0
32
-19
4
-27
-46
17
7
8
-4
-6
-2
0
0
0
0
0
0
-3
-1
16
8
25
18
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
-15
-37
9
34
-15
33
63
0
0
4
1
0
0
0
0
0
0
-21
53
-4
25
46
45
82
-44
36
-14
-2
4
2
0
0
0
0
-11
76
5
31
-20
157
-43
32
9
5
-7
-3
-1
0
0
0
0
17
-74
43
35
0
-2
-33
79
25
-47
5
-27
-2
1
-1
0
0
74
-67
27
-30
18
-13
34
192
106
23
22
-11
2
0
0
0
0
9
18
-11
-42
-32
38
53
-13
-61
-24
46
6
4
0
0
0
0
32
50
-31
-22
-18
-68
16
44
-38
-20
-13
6
-3
0
0
0
0
0
-7
-54
-10
-35
-4
12
-31
-47
-10
4
0
0
0
0
0
0
0
0
-16
-25
7
-92
-1
-12
-8
4
-1
-2
0
0
0
0
0
-56
-20
-187
24
17
5
-5
0
0
0
0
0
0
0
0
0
0
4
-42
41
-117
106
-5
29
0
-3
0
0
0
0
0
0
0
0
34
-34
-38
69
85
10
10
15
1
0
0
0
0
0
0
0
0
-26
-66
-14
-88
-15
9
8
25
-1
0
0
0
0
0
0
0
0
-29
60
-52
68
1
53
47
-1
3
2
0
0
0
0
0
0
0
-73
23
-4
-33
-61
-15
7
-21
-11
0
-1
0
0
0
0
0
0
-2
7
-8
-12
-15
53
-32
-8
-6
0
0
0
0
0
0
0
0
11
60
17
-56
43
31
-20
-5
-1
0
1
1
0
0
0
0
0
-33
22
59
58
-16
4
-2
0
0
0
0
0
0
0
0
0
0
-48
-12
69
35
4
39
-53
36
0
0
0
0
0
0
0
0
0
-41
20
134
9
-58
131
0
5
2
0
0
0
0
0
0
0
0
54
41
-67
-21
61
-46
61
-46
0
0
0
0
0
0
0
0
0
-80
12
-80
41
-101
-95
113
17
-3
0
0
0
0
0
0
0
0
-19
29
50
-109
-9
2
-56
1
0
0
-1
-1
0
0
0
0
0
-37
87
-14
13
5
16
21
86
3
0
0
0
0
0
0
0
0
-52
-64
-9
-33
-12
63
55
-31
-4
0
-1
0
0
0
0
0
0
-18
-5
-10
-78
-21
-27
-1
-7
18
3
0
0
0
0
0
0
0
0
0
86
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-40
52
66
-15
-21
-13
0
0
7
-14
0
0
0
0
0
0
4
-12
45
5
36
30
-32
0
16
0
4
1
0
0
0
0
0
-57
12
35
32
99
63
-16
58
-9
-125
-8
-2
0
0
0
0
0
2
-24
38
11
-1
77
63
-8
63
-35
5
-1
0
0
0
0
0
8
6
35
-47
52
52
-45
77
-43
-43
1
0
-1
1
0
0
0
-1
-10
38
-35
-55
-5
-10
-42
20
-11
-24
-2
0
0
0
0
0
0
18
1
-100
-37
95
-34
68
3
-11
-3
0
0
0
0
0
0
0
0
2
43
7
14
33
-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
33
-19
3
1
0
0
0
0
0
0
0
0
0
0
1
-15
-20
44
19
-13
0
0
-2
0
15
0
0
0
0
0
0
7
1
68
26
35
11
2
0
-26
-29
-2
0
0
0
0
0
0
0
-20
50
2
5
-37
15
10
-32
7
0
0
0
0
0
0
0
0
49
-16
82
18
17
-21
10
17
-11
0
0
0
0
0
0
0
0
18
34
30
117
63
-5
-4
-7
-4
0
0
0
0
0
0
0
0
4
11
-57
85
-19
1
-7
-20
0
0
0
0
0
0
0
0
0
0
6
62
-4
0
-4
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
-17
-63
8
29
-79
4
3
0
0
0
0
0
0
0
0
0
0
-5
-14
-26
-61
33
21
0
0
0
-14
-16
0
0
0
0
0
0
23
23
48
18
62
-19
1
0
0
-10
0
0
0
0
0
0
0
47
-19
-64
58
-84
16
3
-5
-26
-15
8
0
0
0
0
0
0
14
-54
47
-19
23
18
-9
-7
-59
-24
0
0
0
0
0
0
0
36
5
-21
25
-35
3
-13
52
61
22
0
0
0
0
0
0
0
7
-4
-4
68
-2
39
-19
-14
30
18
0
0
0
0
0
0
0
-4
13
-34
-5
24
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-93
44
33
-13
-29
0
0
-9
0
0
0
0
0
0
0
0
-4
-59
-46
9
9
1
0
-2
-2
0
0
0
0
0
0
0
0
6
31
89
5
-7
0
0
-4
1
0
0
0
0
0
0
0
0
3
-11
45
52
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
7
10
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
-51
9
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
1
20
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
-2
33
2
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
36
0
0
0
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
1
6
-18
9
0
4
1
2
-2
1
0
0
0
0
0
0
0
0
2
-37
19
3
-1
-2
-2
4
0
0
0
0
0
0
0
0
2
2
24
25
-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
10
3
-3
2
-9
0
0
0
0
0
0
0
0
0
0
-4
0
0
-9
-2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-13
26
-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
-10
1
0
0
0
0
0
0
0
0
0
0
0
2
3
-4
-7
13
-3
0
-2
0
0
0
0
0
0
0
0
0
-5
0
-4
0
13
-3
-15
0
6
0
0
0
0
0
0
0
0
0
5
0
3
1
-16
-9
-5
0
0
0
0
0
0
0
0
0
-7
-4
2
4
27
6
-6
-1
0
0
0
0
0
0
0
0
-2
0
1
-1
-11
6
-5
1
6
-17
0
0
0
0
0
0
0
0
0
0
-9
-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
21
1
0
2
21
0
0
0
0
0
0
0
9
7
-14
125
82
10
-75
-7
52
17
-18
0
0
0
0
0
0
8
-8
15
-6
79
38
-46
-12
-39
-4
20
3
-1
0
0
0
0
-3
13
21
80
187
80
78
-8
1
-9
0
0
0
0
0
0
0
0
24
-17
80
106
49
-58
-15
-14
-6
0
0
0
0
0
0
0
0
0
-8
5
9
-62
53
73
-5
1
-3
0
0
0
0
0
0
0
0
0
0
14
53
18
45
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
25
16
44
-12
8
23
0
-53
11
1
1
0
0
0
0
0
13
-9
54
65
-13
-13
-14
-43
-9
15
-1
-1
3
1
0
0
0
0
155
5
-69
-27
4
5
-4
3
62
8
-7
0
0
0
0
0
-5
20
-72
-30
17
3
20
19
-62
13
15
4
6
1
0
0
0
0
-19
-13
26
15
28
-1
-30
77
59
-3
2
-1
0
0
0
0
0
10
44
31
83
41
1
-19
-22
7
10
2
-2
-4
0
0
0
-6
-4
52
6
58
38
47
17
-41
-15
-2
0
1
0
0
0
0
0
0
10
33
44
25
-44
62
13
-2
0
2
0
0
0
0
0
0
0
0
-49
26
43
-6
1
9
0
0
0
0
0
0
0
0
0
0
0
4
22
-69
-23
0
-47
-10
-5
1
0
-1
-1
0
0
0
6
21
0
-1
76
43
-29
-18
32
16
-1
-3
0
-1
-1
0
0
2
-25
-32
-4
8
24
103
45
9
-15
4
0
0
0
0
0
0
1
33
50
26
23
90
25
-43
31
-4
0
0
0
0
0
0
0
0
10
-2
22
50
8
72
113
18
3
0
0
0
1
0
0
0
0
1
1
33
120
153
34
-24
50
-11
0
0
0
0
0
0
0
0
0
-3
-4
42
-9
-54
-49
-32
-36
1
-2
-1
-1
0
0
0
0
0
-1
23
7
74
-58
-64
-9
30
-10
0
0
-1
0
0
0
0
0
0
-2
9
95
-35
-64
42
-40
-9
0
9
0
0
0
0
0
20
55
65
-62
-5
0
91
-1
7
-2
0
0
0
0
0
0
-1
-33
-36
-53
-57
-9
-22
-29
21
-5
3
0
0
0
0
0
0
-5
-10
26
-22
-43
-8
23
22
13
1
0
1
0
0
0
0
0
-3
14
48
-72
4
-11
96
14
13
1
0
0
0
0
0
0
0
-6
1
35
2
88
69
-20
-55
33
8
1
0
0
0
0
0
0
0
2
-1
85
67
14
-20
-28
-28
-23
1
2
0
0
0
0
0
0
0
14
239
37
43
-14
12
66
25
0
-1
0
0
0
0
0
0
0
-4
9
2
-12
-49
-36
14
-4
2
2
-2
-1
0
0
0
0
0
0
0
72
-9
1
0
0
0
0
0
0
0
0
0
0
-2
-1
71
6
109
58
0
29
-8
-2
0
0
0
0
0
0
16
1
53
25
88
79
49
-28
-11
5
0
0
0
0
0
0
0
-27
4
-2
56
-9
28
113
48
7
5
1
3
0
0
0
0
0
0
-4
29
119
-10
-49
77
166
-2
-2
0
0
0
0
0
0
0
-1
7
0
104
49
38
111
53
5
0
-1
0
0
0
0
0
0
0
0
-1
70
68
-9
87
18
-33
-2
0
0
0
0
0
0
0
0
0
0
1
-71
-138
-47
-50
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
8
58
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
24
3
-25
44
-14
0
0
0
0
0
0
0
0
0
2
-10
43
32
19
2
18
-2
0
0
0
0
0
0
0
0
0
0
-7
14
21
36
90
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-14
11
14
-25
0
0
0
0
0
0
0
0
0
0
0
15
-1
35
14
-81
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
-13
24
-5
27
0
-23
-7
0
0
0
0
0
0
0
0
-4
1
33
-7
5
119
39
3
0
0
1
0
0
0
0
0
-1
-3
-1
-5
77
106
64
64
25
1
4
0
0
0
0
0
0
0
0
10
36
174
66
-88
60
-49
-3
-2
0
0
0
0
0
0
1
0
6
119
36
122
148
-82
-29
-23
0
0
0
0
0
0
0
0
0
9
22
45
97
-37
23
63
0
-1
-1
0
0
0
0
0
0
0
0
-1
66
108
-74
-33
1
6
0
0
0
0
0
0
0
0
0
0
1
-20
-35
61
-97
21
11
0
0
0
0
0
0
0
0
0
0
0
0
-3
-39
-71
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
23
24
-4
0
0
-1
0
0
0
0
0
0
0
0
0
67
-10
-20
26
-2
2
0
0
-3
0
0
0
0
0
0
0
4
0
124
-24
24
0
10
-4
9
-3
0
0
0
0
0
0
0
-3
75
81
-67
-2
-7
-6
-2
-1
0
0
0
0
0
0
0
0
-5
17
-7
-33
-34
43
0
3
3
-1
0
0
0
0
0
0
0
0
-10
52
-50
83
-14
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
-38
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-19
14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-76
33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
9
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-63
25
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-10
5
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
46
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
67
7
6
-1
0
0
2
0
0
0
0
0
0
0
0
2
-23
-1
5
14
8
0
-4
0
0
0
0
0
0
0
0
0
9
5
45
-1
-20
-2
0
-1
0
0
0
0
0
0
0
0
0
0
21
-26
41
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-7
-4
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
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
51
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
15
74
-27
1
0
0
-3
0
0
0
0
0
0
0
0
0
-2
2
22
33
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
34
-65
18
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
13
-1
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
3
0
41
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
7
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
15
34
-45
4
43
0
4
0
0
0
0
0
0
0
0
0
0
0
33
5
-6
21
7
3
-1
3
0
0
0
0
0
0
0
0
0
7
-5
-5
-63
25
-16
7
0
4
0
9
0
0
0
0
0
0
0
2
-30
-36
-31
-36
-18
-1
3
2
0
0
0
0
0
0
0
0
0
1
-13
-9
2
-63
2
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-1
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
21
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
56
0
10
1
2
0
0
10
6
0
0
0
0
0
0
-1
10
-20
0
-1
-3
8
-7
0
0
0
0
0
0
0
0
0
0
-7
-48
14
63
40
25
-4
0
0
0
-1
0
0
0
0
0
0
0
51
-4
-71
-87
-67
-17
-9
0
0
-1
4
0
0
0
0
0
0
6
50
-47
-38
20
-53
6
-1
-1
0
-2
0
0
0
0
0
0
0
-1
-13
37
-12
33
20
1
0
0
0
0
0
0
0
0
0
0
0
0
43
-46
14
-3
1
0
0
0
0
0
62
29
25
4
-16
0
0
0
0
0
0
0
0
0
0
0
0
-2
38
-24
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
78
39
16
4
0
0
0
0
0
0
0
0
0
0
0
0
-14
47
-33
10
18
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
48
-5
17
1
0
0
0
0
0
0
0
0
0
0
0
0
40
12
10
-9
-3
4
0
1
0
0
0
-1
0
0
0
0
0
3
21
3
0
4
0
0
2
-10
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
55
22
-86
49
39
1
0
0
0
0
0
0
0
0
0
0
-27
-43
31
-13
-75
-7
-19
0
0
1
1
4
1
0
0
0
0
14
-49
-44
-18
64
18
18
52
41
15
-1
0
0
0
0
0
0
67
-24
-17
61
-38
-58
-32
32
-5
0
1
1
0
0
0
0
0
45
-27
66
-36
3
-16
3
14
-41
-13
3
-4
-2
0
0
0
0
0
-4
-2
75
38
-44
-37
-21
14
1
0
-4
-1
0
0
0
0
0
0
-3
-72
75
2
-6
-33
-23
-20
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
2
1
17
6
7
0
0
7
-2
0
0
0
0
0
0
-11
45
32
14
17
-5
-14
34
-13
2
-3
0
0
0
0
0
0
-37
50
22
21
-8
8
21
-49
33
-9
0
-2
-4
0
0
0
0
-5
43
43
-18
16
53
142
22
125
-5
-54
16
0
0
0
0
0
4
-80
82
-43
2
33
46
41
50
-27
-8
-17
0
0
0
0
0
0
6
43
-43
-34
48
53
-19
63
3
18
-3
-1
0
0
0
0
0
-1
35
12
28
-59
40
-141
68
-17
-9
0
0
0
0
0
0
0
0
107
45
-43
5
-24
-22
-49
0
0
0
0
0
0
0
0
0
0
21
87
23
-24
0
0
0
0
0
0
0
0
0
0
0
-5
124
40
-5
71
54
-32
0
0
0
0
0
0
0
0
0
0
1
18
21
53
71
-89
55
45
5
0
0
0
0
0
0
0
0
-1
0
64
42
7
-36
71
19
2
0
0
0
0
0
0
0
0
6
-31
14
-8
43
12
25
14
46
1
0
0
0
0
0
0
0
0
-2
17
-4
-69
80
-5
3
-17
0
0
0
0
0
0
0
0
0
4
-1
26
-2
47
46
-44
-10
0
0
0
0
0
0
0
0
0
0
0
0
4
-23
24
9
22
4
0
0
1
0
0
0
0
0
0
0
7
0
-21
-15
-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
-9
-20
6
85
88
-74
-32
-4
0
0
0
0
0
0
0
0
0
-32
96
83
59
9
3
0
21
0
0
0
0
0
0
0
0
0
49
-20
-9
1
-29
83
35
17
-2
0
0
0
0
0
0
0
0
40
-65
-43
23
0
33
-13
13
-2
0
-6
0
0
0
0
0
0
0
0
13
102
-88
72
-37
-46
11
0
0
0
-1
0
0
0
0
4
-1
5
39
-10
-21
14
100
0
0
0
0
0
0
0
0
0
0
77
22
-1
-11
9
-29
-4
0
0
0
0
0
1
0
0
0
-3
0
0
6
-13
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
15
37
-100
78
89
0
0
-10
1
-1
0
0
0
0
0
8
-13
0
-33
45
93
53
0
30
0
0
-3
0
0
0
0
0
-10
28
16
53
-14
42
-34
-53
17
-3
7
1
0
0
0
0
0
93
21
75
33
-41
53
44
34
-1
21
0
-4
0
0
0
0
0
0
-21
59
7
42
-23
4
10
-29
-26
16
1
-1
0
0
0
0
0
21
24
-44
11
-21
71
107
-53
11
0
-1
0
0
0
0
0
0
0
-4
41
-34
75
59
-73
-64
-32
-3
0
-1
0
0
0
0
0
0
0
0
-10
-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
72
-16
13
0
1
0
0
0
0
0
0
0
0
0
0
0
-27
-44
-62
-48
24
-25
0
0
0
0
0
0
0
0
0
0
-4
8
-3
24
-90
10
-36
-1
4
0
0
0
0
0
0
0
0
0
-11
-9
-52
3
-92
5
37
21
-2
0
0
0
0
0
0
0
0
0
16
-15
-48
-57
-32
33
25
16
0
0
0
0
0
0
0
0
0
-2
19
2
-34
-4
-36
-14
13
0
0
0
0
0
0
0
0
0
0
0
29
-4
-11
36
9
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
-3
5
56
-10
21
-1
0
0
0
0
0
0
0
0
0
0
0
1
96
114
-42
-49
62
1
0
0
0
0
0
0
0
0
0
0
-14
-47
54
-80
49
91
-3
4
3
0
0
0
0
0
0
0
0
-6
81
87
75
63
26
-13
-2
34
-1
0
0
0
0
0
0
0
0
18
5
72
5
5
46
10
-3
31
0
1
0
0
0
0
0
0
-17
85
-14
-31
1
-2
-56
11
79
6
0
0
0
0
0
0
0
0
10
25
86
53
3
-32
-9
36
4
0
0
0
0
0
0
0
-2
-4
2
-6
-32
-2
-46
50
-43
-2
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
0
0
0
0
0
0
4
0
-61
-26
63
-29
0
0
0
0
0
0
0
0
0
0
0
0
-39
11
32
23
-38
14
0
0
0
0
0
0
0
0
0
0
0
-44
-17
24
-66
25
6
0
0
0
0
0
0
0
0
0
0
0
-37
-2
-28
-20
16
-2
0
0
0
0
0
0
0
0
0
0
0
22
43
60
10
-151
0
0
0
0
0
0
0
0
0
0
0
0
31
-60
-64
-104
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
10
-162
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-58
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
7
50
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-31
-13
19
0
0
0
0
0
0
0
0
0
0
0
0
3
5
55
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
17
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
-29
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
63
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
-23
-18
-48
7
2
0
0
0
0
0
0
0
0
0
0
0
-1
-39
1
-8
-8
0
0
0
0
0
0
0
0
0
0
0
7
-4
14
-80
-51
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
77
-34
27
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
33
8
17
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-9
-125
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
0
0
0
0
0
0
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
-25
-14
65
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
87
71
0
0
0
0
0
0
0
0
0
0
0
0
5
-17
15
-6
18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-18
14
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
9
-1
-17
-17
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
5
83
-4
0
0
0
0
0
0
0
0
23
-27
-47
0
3
0
19
7
8
0
0
0
0
0
0
0
0
3
-74
-7
23
24
6
-7
-2
0
0
0
0
0
0
0
0
-3
0
-26
9
21
5
-9
7
3
0
0
0
0
0
0
0
0
0
7
-24
-31
-13
15
-5
0
0
0
0
0
0
0
0
0
0
0
1
-69
-23
-10
-18
0
-5
0
0
0
0
0
0
0
0
0
0
-11
-92
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
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
-25
6
-2
1
0
0
0
0
0
0
-1
0
-4
37
44
-1
21
-10
2
-20
1
0
0
0
0
0
0
-3
9
-24
9
32
-53
7
4
8
0
0
0
0
0
0
0
0
0
-7
-100
54
33
1
-17
6
-1
4
0
0
0
0
0
0
0
0
-11
-48
-70
-38
-18
-17
18
7
0
0
0
0
0
0
0
0
0
-6
43
62
-9
-41
1
2
7
1
0
0
0
0
0
0
0
0
0
-21
1
5
-4
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
83
5
-44
63
8
0
0
0
0
0
0
2
0
0
0
28
122
-20
4
-17
40
66
0
0
0
0
0
0
-4
17
-21
14
73
120
40
67
37
-1
-29
0
0
0
0
0
0
0
-18
4
56
36
32
32
2
-25
46
26
0
0
0
0
0
0
-3
-4
2
66
91
-1
60
51
61
38
31
0
0
0
0
0
0
1
-19
11
-45
29
8
19
49
-30
21
4
0
0
0
0
0
0
0
-14
14
-4
-2
32
14
17
54
96
0
0
0
0
0
0
0
-2
-6
0
0
-2
27
-5
-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
-2
3
3
0
0
-5
8
-17
-27
-59
33
7
0
0
0
0
0
0
0
2
-61
15
-48
-20
-15
-8
-12
32
6
0
0
0
0
0
0
0
24
-104
-67
-34
-21
-5
-10
-14
-12
7
0
0
0
0
0
0
1
21
-17
48
49
-35
-28
-7
-18
90
5
0
0
0
0
0
-1
31
-45
23
-22
3
-54
-18
-48
-6
22
48
0
0
0
0
0
-2
-8
6
20
-80
-66
-55
-7
-5
22
-16
13
0
0
0
0
0
0
0
-4
-87
-71
-36
-63
-114
7
-79
52
0
0
0
0
0
0
0
0
1
6
17
18
13
-33
-39
14
14
0
0
0
0
0
0
0
0
0
0
0
45
-14
31
125
-60
0
0
0
0
0
0
0
0
0
0
0
0
-5
70
-122
-74
37
97
-35
0
0
0
0
0
0
0
0
52
-27
-31
53
69
0
33
8
-3
0
0
0
0
0
0
0
0
-25
-22
-16
109
2
-16
-53
80
9
0
0
0
0
0
0
0
0
-9
13
21
89
54
12
6
68
8
0
0
0
0
0
0
0
0
0
-4
72
47
51
-24
19
33
-8
0
0
0
0
0
0
0
0
0
-3
-29
-10
3
43
-8
-31
0
0
0
0
0
0
0
0
0
-3
0
-18
-22
-22
-41
15
31
0
0
0
0
0
0
0
0
0
0
-3
-2
11
-9
-82
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
46
0
0
0
0
0
0
0
0
1
0
81
13
-41
81
34
-6
38
-19
0
0
0
0
0
0
0
0
14
138
0
-27
14
12
-34
-46
73
0
0
0
0
0
0
0
0
3
10
46
-37
-38
-14
0
-89
13
0
0
0
0
0
0
0
0
3
-27
36
-11
-80
32
-19
41
74
0
0
0
0
0
0
0
0
9
-1
-6
54
-139
12
-9
48
120
0
0
0
0
0
0
0
0
0
-53
-67
-69
74
15
30
63
-33
0
0
0
0
0
0
0
0
0
-47
-5
20
30
55
28
6
0
0
0
0
0
0
0
0
0
0
0
8
-4
15
33
-2
0
-25
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
-53
17
-15
-28
-11
-77
-9
0
0
0
0
-2
-5
-6
0
-60
0
78
8
7
5
-45
17
3
0
0
0
0
0
0
-1
-13
64
85
-34
15
-2
-13
-15
-19
-30
0
0
0
0
0
0
0
13
-13
-33
15
34
-44
1
28
30
-37
0
0
0
0
0
0
-5
-55
10
20
58
36
16
-5
14
-14
-3
0
0
0
0
0
0
-1
15
36
-108
37
76
-29
98
-45
104
0
0
0
0
0
0
0
0
1
-20
1
59
-34
108
18
-17
0
0
0
0
0
0
0
0
0
-15
1
-4
1
-10
-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
-23
-49
-110
40
-60
2
6
0
0
0
0
0
0
0
0
-2
0
-2
-29
14
4
14
-2
4
0
0
0
0
0
0
-4
2
22
13
9
40
12
7
-20
5
-2
0
0
0
0
0
0
0
2
8
156
106
53
42
-11
-46
-7
-2
0
0
0
0
0
0
0
-10
0
-5
-19
-34
-16
110
65
9
-52
0
0
0
0
0
0
0
2
-5
-47
0
-92
49
10
38
26
0
0
0
0
0
0
0
0
0
-8
5
2
-11
62
2
62
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
0
0
0
1
30
-27
137
-17
24
16
0
0
0
0
0
0
0
0
0
0
29
70
151
127
81
66
22
0
0
0
0
0
0
0
2
-2
-1
114
192
113
134
9
-96
10
0
0
0
0
0
0
-1
29
1
0
120
124
-16
43
-52
53
65
0
0
0
0
0
0
0
0
-10
4
44
-66
-4
17
49
36
-2
0
0
0
0
0
0
0
23
-8
-1
2
29
137
97
25
-31
27
0
0
0
0
0
0
0
3
52
-1
15
102
58
127
11
-71
0
0
0
0
0
0
0
0
0
5
1
0
30
-50
-116
82
-17
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
26
50
81
61
-30
1
0
0
0
0
0
0
0
-1
-1
-5
6
52
43
10
99
166
4
0
0
0
0
0
0
0
0
0
0
3
-2
47
45
-86
107
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
91
62
-1
0
0
0
0
0
0
0
0
0
0
0
1
61
-13
90
-33
11
0
0
0
0
0
0
0
0
0
0
0
-1
16
-14
-3
139
3
0
0
0
0
0
0
0
0
0
0
0
0
30
32
24
41
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
1
0
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
-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
49
18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
15
-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
-9
3
-14
97
-14
0
0
0
0
0
0
0
0
0
0
0
1
0
5
3
16
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
34
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-90
134
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
72
4
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-7
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-73
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-79
-16
1
-2
0
0
0
0
0
0
0
0
0
0
0
-4
60
167
47
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
37
1
8
0
0
0
0
0
0
0
0
0
0
0
0
-7
11
97
109
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
74
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-3
44
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
30
8
32
-27
27
-10
0
0
0
0
0
0
0
0
0
34
-36
34
64
-17
-40
5
-25
1
0
0
0
0
0
0
0
0
-6
45
5
64
14
18
2
-2
0
0
0
0
0
0
0
0
0
-2
0
-52
-23
39
-9
-8
6
0
0
0
0
0
0
0
0
0
24
-4
-39
13
5
15
4
-8
0
0
0
0
0
0
0
0
0
5
21
0
-33
0
47
30
6
-2
0
0
0
0
0
0
0
0
7
2
3
-1
3
25
-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
23
-1
-3
27
25
0
0
0
0
0
0
0
0
0
0
42
-29
0
-4
0
-11
2
1
0
0
0
0
0
0
0
0
-25
7
-9
5
-11
47
0
19
0
0
0
0
0
0
0
-2
-7
-13
-24
-5
-11
-8
2
-33
-27
0
0
0
0
0
0
0
0
83
92
15
-37
-58
62
-13
15
-18
6
0
0
0
0
0
0
0
-19
50
-55
13
34
36
69
5
19
9
0
0
0
0
0
0
0
1
-7
8
-24
-18
8
26
58
-14
-1
0
0
0
0
0
0
0
-2
0
4
0
0
29
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-16
39
12
-17
-15
7
0
0
0
0
0
0
-7
-73
23
-19
-49
-18
-26
71
54
4
5
0
0
0
0
0
0
-60
-53
-36
-20
-30
14
-4
-4
79
72
-6
0
0
0
0
0
0
-3
0
-3
4
-31
9
-11
-4
27
-39
6
3
0
0
0
0
0
-2
-73
-11
30
25
-11
-47
14
1
52
-3
0
0
0
0
0
0
0
8
-24
-26
-18
67
2
-43
49
-2
0
0
0
0
0
0
0
0
-1
2
-13
-34
26
14
7
2
1
0
0
0
0
0
0
0
0
0
-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
-2
3
-17
0
-22
-38
-19
-13
-46
74
13
0
0
0
0
0
-3
-1
-72
-8
-62
-7
2
-7
-19
-11
96
-24
0
0
0
0
0
0
8
-1
63
-12
-1
-8
15
12
-53
-93
9
0
0
0
0
0
0
6
30
-54
-11
-13
-8
0
27
7
59
31
0
0
0
0
0
0
8
71
-45
-28
8
9
5
41
99
59
-6
0
0
0
0
0
3
1
-1
-39
5
-34
26
-7
7
53
26
7
0
0
0
0
0
0
-1
-10
115
9
-48
6
-23
48
108
43
0
0
0
0
0
0
0
0
0
-43
-18
-7
0
-56
31
-35
-21
0
0
0
0
0
0
0
0
0
-5
-23
-37
17
-50
10
0
0
0
0
0
0
0
0
0
0
2
-22
0
-57
-18
47
4
6
0
0
0
0
0
0
0
20
-28
8
0
-5
22
17
94
-33
10
13
0
0
0
0
0
1
-40
-53
35
5
-2
-27
-89
-54
47
-21
2
0
0
0
0
0
0
-3
25
25
-3
3
3
-25
-60
47
-23
-4
0
0
0
0
0
0
3
16
-8
13
2
38
-64
-7
-5
1
0
0
0
0
0
0
0
7
33
-29
-1
1
-25
-47
-44
33
26
0
0
0
0
0
0
-6
7
-16
-9
9
-3
-76
-78
-15
-105
0
0
0
0
0
0
-2
-1
3
32
14
-2
-24
-32
-42
6
40
0
0
0
0
0
0
0
-1
-2
28
4
42
0
10
-70
-3
5
0
0
0
0
0
0
0
0
0
-26
-20
-35
0
-13
-17
72
-2
65
0
0
0
0
0
0
0
0
-3
-18
24
17
-12
-23
31
-2
-86
24
0
0
0
0
0
0
0
-3
-5
22
-26
-36
-1
-91
-60
-43
3
0
0
0
0
0
0
2
5
-19
27
-4
-14
16
-28
-14
17
6
0
0
0
0
0
0
0
-13
29
47
-18
-20
11
132
78
15
11
0
0
0
0
0
0
0
-6
-2
13
-17
33
1
81
-92
0
23
0
0
0
0
0
0
0
-5
-71
22
-24
39
-29
17
4
6
0
0
0
0
0
0
0
0
-1
-43
4
-7
-47
5
-5
-47
-1
0
0
0
0
0
0
0
0
0
0
0
2
-8
-24
0
0
0
0
0
0
0
0
0
0
0
-39
-20
-20
0
-3
6
49
57
115
-6
-18
0
0
0
0
0
0
-15
-7
-7
0
-6
-7
-3
89
107
-23
-106
9
0
0
0
1
0
-14
1
-42
-4
-8
3
35
35
84
66
30
24
0
0
0
0
0
-1
-4
-37
-14
-11
26
30
22
36
83
-18
-5
0
0
0
0
0
0
1
-107
-49
-11
8
-18
64
4
103
1
-3
0
0
0
0
0
-2
3
-106
-119
-42
-5
21
5
-38
3
0
0
0
0
0
0
0
-1
2
-19
-123
-76
-100
-59
152
53
-20
-4
0
0
0
0
0
0
0
0
-9
2
-34
-3
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
0
-22
0
5
-55
5
-43
-4
-4
1
3
0
0
0
0
0
0
-14
0
-72
-31
37
19
0
14
10
-24
1
0
0
0
0
0
0
0
1
-83
64
-142
72
34
9
-3
6
-2
0
0
0
0
0
0
0
-72
85
18
15
-81
52
45
0
-2
0
0
0
0
0
0
0
0
-53
2
24
-14
74
27
-25
0
0
0
0
0
0
0
0
0
24
29
17
-7
73
115
-4
-24
2
0
0
0
0
0
0
0
0
0
14
44
75
14
36
-13
2
0
0
0
0
0
0
0
0
0
0
1
5
25
8
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
-17
0
-15
-45
-29
-13
3
-14
-15
0
0
0
0
0
0
-5
-19
0
-32
-29
-3
-23
38
-46
0
-8
-1
0
0
0
0
0
-5
-21
-15
-16
-33
-37
11
-38
14
3
26
0
0
0
0
0
0
-1
-22
-62
-61
7
25
5
-58
9
9
7
0
0
0
0
0
0
1
37
-7
-11
2
18
10
87
5
17
7
5
0
0
0
0
0
-5
-57
42
-2
15
6
9
15
50
-16
-4
0
0
0
0
0
0
5
9
33
1
-13
-64
46
2
6
5
-1
0
0
0
0
0
0
0
-1
-1
25
4
17
69
2
4
0
0
0
0
0
0
0
0
0
1
0
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
36
0
0
0
0
0
0
0
0
0
0
0
-1
-4
33
15
-10
-24
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
-63
95
6
-3
0
0
0
0
0
0
0
0
0
0
0
-4
51
-32
53
44
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-97
15
-46
52
0
0
0
0
0
0
0
0
0
0
0
0
1
11
-72
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-92
57
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
35
-16
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
0
0
0
11
-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
21
0
0
0
0
0
0
0
0
0
0
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
5
4
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-33
9
87
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
5
120
1
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
37
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
-21
-24
5
-20
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
17
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-109
-9
-51
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
-1
23
13
5
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
-5
3
26
5
15
11
-17
0
0
0
0
0
0
0
0
0
0
5
4
13
-18
-44
-71
10
-1
0
0
0
0
0
0
0
0
0
3
23
13
-49
22
27
0
-1
0
0
0
0
0
0
0
0
0
3
0
-76
3
-42
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
15
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
18
52
5
18
-33
-20
3
-13
0
0
0
0
0
0
0
0
1
16
16
2
14
18
72
-34
5
1
0
0
0
0
0
0
0
0
5
36
-17
25
-9
14
-11
6
1
0
0
0
0
0
0
0
0
-6
-35
39
3
-16
-17
-29
-27
-2
0
0
0
0
0
0
0
0
1
3
-25
4
-1
-21
-7
-29
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
52
56
-3
-12
20
98
0
0
0
0
0
0
43
11
0
0
33
132
90
32
15
14
42
0
0
0
0
0
0
0
6
96
-60
17
126
97
56
22
73
61
0
0
0
0
0
0
0
-23
33
-24
8
35
44
45
-30
-46
20
0
0
0
0
0
0
0
1
-33
-13
69
55
58
49
74
116
17
0
0
0
0
0
0
0
-4
1
17
25
30
76
62
107
-58
5
0
0
0
0
0
0
0
0
3
3
13
26
-86
-13
55
-110
1
0
0
0
0
0
0
0
0
0
0
4
-18
-51
45
-6
-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
-3
0
0
0
-36
-30
-7
-17
-21
29
-1
0
0
0
0
0
0
0
-33
-60
66
-61
-2
-16
-11
-18
-64
46
0
0
0
0
0
0
-1
15
46
-33
-37
2
-1
8
15
-72
-29
0
0
0
0
0
0
11
0
-98
5
13
-29
18
8
-9
-24
24
0
0
0
0
0
1
0
-16
-38
-53
-63
-16
3
45
-17
124
13
0
0
0
0
0
0
-1
-2
23
82
-34
-17
21
-3
5
17
8
0
0
0
0
0
0
0
-62
-68
36
-72
6
15
-8
-3
-8
-7
0
0
0
0
0
0
0
0
7
71
7
-50
7
5
-6
9
0
0
0
0
0
0
0
0
0
0
-26
56
37
-60
-7
-11
0
0
0
0
0
0
0
0
0
1
0
0
19
51
21
69
61
46
57
0
0
0
0
0
0
0
0
1
8
1
-91
22
-51
81
13
23
0
0
0
0
0
0
0
0
14
-19
68
-6
79
72
31
-64
-24
0
0
0
0
0
0
0
0
0
43
79
95
35
27
122
29
26
0
0
0
0
0
0
0
-2
-2
0
70
35
33
147
108
40
-4
0
0
0
0
0
0
0
0
-1
-5
8
34
59
83
64
13
38
0
0
0
0
0
0
0
0
0
0
77
-4
37
87
-47
3
12
0
0
0
0
0
0
0
0
0
0
5
79
141
45
101
-23
-11
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-13
23
-31
35
0
0
0
0
0
0
0
0
0
19
31
54
48
-5
-2
-5
1
0
0
0
0
0
0
0
0
-5
51
0
54
39
-15
0
49
-74
0
0
0
0
0
0
0
0
25
24
-14
-31
-37
62
5
78
58
0
0
0
0
0
0
0
1
-22
-23
-12
83
151
37
25
-17
67
0
0
0
0
0
0
0
-1
-5
0
-128
-47
44
71
11
-69
-10
0
0
0
0
0
0
0
0
0
71
-32
-34
12
20
50
-15
-22
0
0
0
0
0
0
0
0
1
6
66
-10
-26
69
52
-6
-45
0
0
0
0
0
0
0
0
0
1
0
91
148
-19
8
4
63
0
0
0
0
0
0
0
0
0
0
0
0
1
34
-14
0
0
0
0
0
0
0
-2
0
1
0
0
67
57
-21
-10
12
33
52
0
0
0
0
0
0
8
0
17
0
77
23
29
14
10
-34
-28
0
0
0
0
0
0
-6
10
-32
29
-105
23
48
56
8
31
2
0
0
0
0
0
0
0
14
21
-33
4
16
25
29
29
33
-5
0
0
0
0
0
0
0
-11
-13
-13
-3
32
20
-34
26
-3
80
0
0
0
0
0
0
0
0
-4
70
-123
4
17
5
-4
16
0
0
0
0
0
0
0
0
0
-3
-3
89
-50
-2
-1
-55
-10
11
0
0
0
0
0
0
0
0
0
0
4
53
-71
21
-53
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
24
15
-5
0
0
0
0
0
0
0
0
0
0
-1
-20
45
99
-15
-5
-23
0
0
0
0
0
0
0
0
0
2
0
-121
94
-116
-32
-23
31
0
0
0
0
0
0
0
0
0
-2
-11
-21
26
-29
-13
-35
-83
-1
0
0
0
0
0
0
0
0
-3
10
58
-42
22
-12
13
-55
-7
0
0
0
0
0
0
0
0
0
-5
-11
43
-22
-45
5
-28
-3
0
0
0
0
0
0
0
0
0
-2
-4
21
-8
34
-80
-5
0
0
0
0
0
0
0
0
0
0
-8
-36
4
142
23
42
9
0
0
0
0
0
0
0
0
0
0
0
0
10
1
67
31
-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
1
185
109
108
-35
-12
33
0
0
0
0
0
0
0
0
0
0
31
112
108
-97
-61
-27
29
0
0
0
0
0
0
0
4
0
-1
0
80
90
-25
64
-138
-9
0
0
0
0
0
0
0
26
-4
3
69
76
108
76
42
-34
-18
0
0
0
0
0
0
0
-6
65
2
12
45
-12
-11
-4
190
45
0
0
0
0
0
0
0
9
-4
-2
24
91
39
88
59
50
-7
0
0
0
0
0
0
0
0
3
0
-57
-29
31
24
73
47
9
0
0
0
0
0
0
0
0
0
0
0
17
52
-130
13
142
50
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-21
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
105
-33
0
0
0
0
0
0
0
0
-1
1
0
-3
-33
-90
121
80
0
6
0
0
0
0
0
0
0
0
0
0
0
-14
36
15
78
72
-19
0
0
0
0
0
0
0
0
-1
0
-2
11
19
97
-52
-109
-1
0
0
0
0
0
0
0
0
0
0
0
-3
59
18
8
-5
-13
0
0
0
0
0
0
0
0
0
0
0
27
-8
56
22
44
-23
0
0
0
0
0
0
0
0
0
0
0
1
26
121
-49
-53
54
0
0
0
0
0
0
0
0
0
0
0
0
-3
148
-72
24
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-56
2
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
50
64
-1
-4
0
0
0
0
0
0
0
0
0
0
0
6
3
-11
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
76
73
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
43
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-81
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-20
-19
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
-13
2
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
24
-22
12
5
0
0
0
0
0
0
0
0
0
0
0
2
15
34
71
25
3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
8
45
-53
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-3
7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-13
-60
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-10
-137
30
-29
0
0
0
0
0
0
0
0
0
0
0
15
3
-25
18
45
-25
2
0
0
0
0
0
0
0
0
0
0
0
1
30
-76
-33
-3
25
0
0
0
0
0
0
0
0
0
0
0
0
-8
32
-7
-1
1
0
0
0
0
0
0
0
0
0
0
0
-14
-11
102
167
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-76
60
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
10
60
15
-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
31
-4
33
24
2
-10
0
0
0
0
0
0
0
0
0
0
-8
7
-126
21
-34
5
-45
-17
0
0
0
0
0
0
0
0
0
-79
-13
0
7
72
43
2
10
-23
0
0
0
0
0
0
0
0
-30
-50
51
1
14
-4
-51
-14
-3
0
0
0
0
0
0
0
0
4
-10
-83
-4
-43
-24
5
-52
-1
0
0
0
0
0
0
0
0
-3
19
-3
53
22
-61
22
-11
24
0
0
0
0
0
0
0
0
0
21
16
-5
14
-10
107
-27
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-8
-50
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
1
5
0
0
0
0
0
0
0
0
0
-8
8
7
21
14
-9
0
-6
0
0
0
0
0
0
1
-1
4
0
-5
-18
-2
89
4
29
3
0
0
0
0
0
0
0
-10
41
41
29
-4
62
-29
17
-23
-9
0
0
0
0
0
0
0
-32
5
-36
-51
2
49
-36
5
9
-2
0
0
0
0
0
0
0
0
61
33
-33
-45
-36
-22
32
41
71
0
0
0
0
0
0
0
-2
0
-19
34
-15
-46
-9
-24
46
-14
0
0
0
0
0
0
0
0
4
-1
35
-18
5
38
15
48
22
0
0
0
0
0
0
0
0
0
0
0
-11
3
-69
-33
-10
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
1
-11
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
-26
-76
-43
-31
-53
18
2
0
0
0
0
0
0
16
-80
-39
-5
-10
-29
-23
70
35
-9
9
0
0
0
0
0
1
-8
-16
-5
-25
-39
-17
71
43
-35
29
-14
0
0
0
0
0
0
-2
-1
-14
-10
-39
3
19
38
60
24
-15
-4
0
0
0
0
0
-3
-1
-82
11
-22
-12
-29
28
50
66
-4
0
0
0
0
0
0
0
-1
-36
-24
-46
-45
-16
-80
50
44
35
0
0
0
0
0
0
0
0
68
-163
-4
-90
-41
-7
5
3
-1
0
0
0
0
0
0
0
0
0
0
1
0
-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
2
-24
-29
0
-12
-6
8
-3
-90
10
65
0
0
0
0
0
1
7
37
-30
-13
-18
-13
-2
39
11
157
-7
0
0
0
0
0
0
6
-22
-21
4
4
-7
18
27
59
-55
5
0
0
0
0
0
0
2
-44
-147
-47
-1
14
6
43
6
16
-7
0
0
0
0
0
0
0
-2
-60
-2
6
12
27
27
13
45
17
0
0
0
0
0
0
-1
-1
-60
-6
3
6
27
10
62
24
-92
0
0
0
0
0
0
0
1
-54
52
-8
14
-18
12
54
19
-15
0
0
0
0
0
1
0
13
-34
-14
-3
-20
-27
-6
7
71
-78
0
0
0
0
0
0
0
0
3
-40
-30
-26
-41
-27
24
101
0
0
0
0
0
0
5
21
10
-7
0
-46
-30
43
-17
1
-2
0
0
0
0
0
0
0
0
11
-89
5
15
-60
-56
58
10
-2
0
0
0
0
0
0
0
0
8
31
25
-11
-44
90
-17
24
9
0
0
0
0
0
0
0
0
-10
45
50
-5
38
78
32
8
6
0
0
0
0
0
0
0
0
0
-56
20
-19
-17
7
12
-14
-1
0
0
0
0
0
0
0
0
0
-19
33
-89
73
-29
-100
-32
0
0
0
0
0
0
0
0
0
0
0
-33
-64
-43
-48
39
-2
15
0
0
0
0
0
0
0
0
0
1
14
-3
38
-3
-59
-23
0
0
0
0
0
0
0
0
0
0
0
5
-2
-110
11
-20
-1
0
0
0
0
0
0
0
0
-23
-2
-22
0
-8
-36
16
92
47
-1
0
0
0
0
0
0
-3
5
11
-58
-58
19
-16
60
-128
-19
-3
0
0
0
0
0
0
0
1
10
-23
-7
8
29
-13
-22
35
-3
0
0
0
0
0
0
0
0
2
-84
7
3
12
-13
-35
37
23
0
0
0
0
0
0
0
0
-13
-10
-72
7
0
35
46
-2
45
0
0
0
0
0
0
0
0
-10
34
-23
-9
31
-29
29
-133
-4
0
0
0
0
0
0
0
-2
-12
-22
-43
7
16
19
3
-23
-1
0
0
0
0
0
0
0
0
-2
13
-104
-66
-49
-31
-22
106
0
0
0
0
0
0
0
0
0
0
0
1
-1
-67
0
-1
0
-1
0
0
0
0
0
0
0
-1
-40
15
0
-18
-26
1
0
-13
51
3
0
0
0
0
0
0
13
-75
5
-2
-20
16
-13
30
-17
13
47
0
0
0
0
0
0
14
53
3
1
0
7
60
41
33
18
-41
2
0
0
0
0
0
0
9
4
18
-9
36
30
6
-66
29
77
10
0
0
0
0
0
0
0
-13
-6
17
20
24
8
-12
47
20
10
0
0
0
0
0
1
2
-2
-30
-33
-5
10
11
0
-19
-41
-2
0
0
0
0
0
-2
0
-17
-20
8
-3
-1
15
72
8
-1
0
0
0
0
0
0
0
0
0
0
36
33
-30
-9
41
-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
14
0
-3
-58
39
41
0
33
-1
0
0
0
0
0
0
0
0
-43
-46
-28
56
9
120
-15
2
-2
-1
0
0
0
0
0
0
1
47
-78
-88
70
5
60
-8
24
-2
-1
0
0
0
0
0
0
9
-59
-30
8
-57
4
8
-15
10
-6
0
0
0
0
0
0
0
0
-4
13
-71
75
-48
35
-34
-2
14
0
0
0
0
0
0
0
0
-16
46
-70
-16
-27
-36
-4
-1
-6
0
0
0
0
0
0
0
0
0
20
22
-36
-7
-28
-2
1
0
9
0
0
0
0
0
0
0
0
0
1
-5
-28
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
-10
-43
0
-62
73
89
-52
15
11
3
0
0
0
0
0
0
-8
-47
8
-16
-20
-78
25
-32
49
4
0
-4
0
0
0
0
0
8
50
-8
-10
30
-13
94
21
22
20
39
-3
0
0
0
0
0
2
50
-9
-30
5
-16
34
-5
-5
26
-20
0
0
0
0
0
0
6
-19
1
-7
-1
9
2
-14
-16
-5
69
-1
0
0
0
0
0
-4
31
-16
-9
7
-9
-35
-5
-17
-8
37
0
0
0
0
0
0
0
-5
-7
-7
-15
-11
4
23
24
33
-33
-4
0
0
0
0
0
0
-3
-7
31
63
-42
3
53
59
3
35
4
0
0
0
0
0
0
0
0
0
0
45
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
57
-24
-29
0
0
0
0
0
0
0
0
0
-1
0
-1
-16
83
-53
65
-52
0
0
0
0
0
0
0
0
0
0
0
0
-7
-21
-26
0
-62
0
0
0
0
0
0
0
0
0
-5
0
0
5
9
44
11
17
0
0
0
0
0
0
0
0
0
0
0
0
7
-38
68
9
-53
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
29
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
-24
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
-14
13
17
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
56
78
-33
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
23
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-45
-9
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
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
-11
-3
1
0
0
0
0
0
0
0
0
0
-1
0
0
-3
15
77
-3
-2
0
0
0
0
0
0
0
0
0
0
-2
-4
11
27
1
43
1
0
0
0
0
0
0
0
0
0
-2
-2
0
-5
-67
4
7
-1
0
0
0
0
0
0
0
0
0
1
0
1
6
-45
-32
2
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
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
-10
-6
4
5
0
1
2
0
0
0
0
0
0
0
0
0
-4
23
-13
13
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
-17
3
1
-5
5
0
0
2
0
0
0
0
0
0
0
0
4
3
-9
17
-2
9
6
4
-13
1
0
0
0
0
0
0
0
1
-35
-62
-23
-17
-26
-7
-2
-2
0
0
0
0
0
0
0
0
-8
3
124
-20
34
1
-5
0
3
0
0
0
0
0
0
0
0
0
46
-12
-13
-2
-9
14
-2
0
0
0
0
0
0
0
0
0
3
-31
-29
-18
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
9
6
-109
-46
-4
-50
72
0
0
0
0
0
1
-1
0
0
0
-18
-7
47
14
64
-55
22
0
0
0
0
0
1
-1
3
41
-17
63
71
-8
117
30
126
-29
0
0
0
0
-1
-1
5
-6
8
-5
3
-48
39
67
11
74
91
0
0
0
0
1
-23
10
-4
25
-14
79
34
64
55
14
77
35
0
0
0
0
6
-15
-5
13
31
32
17
153
1
43
55
14
0
0
0
0
-2
0
-5
-4
33
0
3
2
37
31
-32
11
5
0
0
0
0
0
0
0
0
0
0
1
-9
17
0
14
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
22
-64
57
14
-57
37
4
0
0
0
0
0
-1
6
0
25
-37
-72
3
-14
27
-39
25
0
0
0
0
0
1
0
0
-57
49
84
31
-5
18
58
35
-43
-3
0
0
0
0
1
5
19
52
148
-37
51
-76
-22
27
6
-88
-7
0
0
0
0
-1
1
-32
-19
64
-59
-50
-18
29
15
98
-10
71
0
0
0
0
-2
2
-1
21
-60
67
19
11
37
90
18
-29
2
0
0
0
0
2
3
-4
31
86
50
92
25
30
30
53
-40
-37
0
0
0
0
0
0
0
4
-33
-14
-5
24
-16
-22
44
-10
0
0
0
0
0
0
0
0
0
0
0
-2
48
-23
111
-16
0
0
0
0
0
0
0
0
0
0
0
0
21
-43
19
-79
1
7
-21
0
0
0
0
0
0
0
0
1
4
-5
70
-14
-75
-82
9
17
0
0
0
0
0
0
0
0
8
-10
65
50
-73
-3
-67
53
-1
0
0
0
0
0
0
0
0
0
4
-53
6
-2
36
180
-24
8
0
0
0
0
0
0
0
6
6
33
-6
69
110
23
-37
-77
3
0
0
0
0
0
1
0
0
0
8
11
5
23
22
-27
35
0
0
0
0
0
0
0
0
0
0
-1
2
50
12
40
13
24
0
0
0
0
0
0
0
0
0
0
0
5
18
62
-35
60
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-5
-27
15
0
0
0
0
0
0
0
0
0
0
-7
71
68
74
-36
-5
14
32
0
0
0
0
0
0
0
0
-11
-16
0
10
14
1
35
-13
-25
0
0
0
0
0
0
0
-2
-6
44
-13
-17
80
46
55
-104
-14
0
0
0
0
0
0
-1
0
-17
-55
127
39
-3
-38
52
-25
-51
0
0
0
0
0
1
-1
-4
1
8
-76
13
17
55
29
7
61
0
0
0
0
0
0
0
1
0
41
1
-89
105
18
62
41
23
0
0
0
0
0
0
0
-1
0
0
27
47
2
154
28
36
0
0
0
0
0
0
0
0
0
0
5
0
45
95
56
27
36
87
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
5
25
121
24
16
10
-1
0
0
0
0
0
-3
1
0
11
0
-14
9
108
75
-8
8
-7
0
0
0
0
0
-1
0
41
2
5
-75
73
-3
173
17
24
-33
0
0
0
0
0
0
0
7
34
109
21
102
44
33
-4
40
-45
0
0
0
0
0
-4
18
50
25
-4
-17
-41
65
5
16
-37
1
0
0
0
0
0
-5
-13
5
-21
-9
59
-23
29
1
42
-1
0
0
0
0
0
0
0
0
6
16
10
13
54
-78
-34
16
0
0
0
0
0
0
0
0
0
-2
5
-2
-1
-1
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
1
1
-2
0
30
1
-1
0
0
0
0
0
0
0
0
0
0
0
-9
1
-137
-60
57
10
0
0
0
0
0
0
0
0
0
0
-3
-1
35
14
-5
45
39
0
0
0
0
0
0
0
0
1
5
-6
2
20
-17
53
-1
-11
-1
0
0
0
0
0
0
0
0
-2
-1
6
5
76
43
1
0
0
0
0
0
0
0
0
0
0
-1
-2
4
0
2
32
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
19
6
33
-4
97
34
0
0
0
0
0
0
0
0
0
0
52
3
-65
37
32
24
35
0
0
0
0
0
0
0
1
0
2
-53
11
90
150
80
85
59
0
0
0
0
0
0
0
-2
7
-5
23
87
78
154
27
48
74
0
0
0
0
0
0
0
-15
3
-3
-1
-20
-45
96
106
24
30
0
0
0
0
0
0
-3
17
-6
2
-16
54
53
6
51
39
-20
0
0
0
0
0
0
0
0
1
3
-33
-23
43
56
-25
23
4
0
0
0
0
0
0
0
0
0
0
1
-9
-20
-60
29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-22
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
-4
44
3
-35
-19
79
14
3
0
0
0
0
0
0
2
3
37
6
-9
71
-49
57
53
-22
0
0
0
0
0
0
0
0
6
-3
2
-5
-6
-23
27
40
28
0
0
0
0
0
0
0
1
-1
-1
1
1
0
37
34
95
22
51
0
0
0
0
0
0
0
0
-1
-2
2
-2
11
126
-17
52
18
0
0
0
0
0
0
0
0
0
0
0
0
-26
127
-34
28
1
0
0
0
0
0
0
0
0
0
0
0
-1
33
-25
105
57
17
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
-35
15
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
27
-22
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
14
47
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
-13
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
20
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
1
4
21
15
-17
-5
0
0
0
0
0
0
0
0
0
-3
-2
8
5
-1
13
-7
-7
0
0
0
0
0
0
0
0
0
1
0
1
0
-5
49
90
4
0
0
0
0
0
0
0
0
0
-1
0
-2
0
43
116
6
24
5
0
0
0
0
0
0
0
0
0
0
0
0
8
22
70
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
114
-11
3
3
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
-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
22
-24
-8
3
0
0
0
0
0
0
0
0
-1
0
-1
0
36
-72
-4
35
0
0
0
0
0
0
0
0
-1
0
2
1
1
5
-9
18
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
33
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
9
-13
-2
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
-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
4
-8
0
18
-7
9
0
0
0
0
0
0
0
0
0
-6
35
14
-1
1
5
-7
0
0
0
0
0
0
0
0
0
0
0
-13
-25
-11
-10
-6
-1
18
0
0
0
0
0
0
0
0
-1
0
-20
-11
2
8
13
-1
-1
0
0
0
0
0
0
0
0
0
-3
26
-3
1
-4
-1
27
4
0
0
0
0
0
0
0
0
0
9
0
-2
-7
17
-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
9
6
-5
-18
23
-4
0
0
0
0
0
0
0
0
0
0
10
-1
8
25
7
-1
-1
0
0
0
0
0
0
0
0
0
-6
3
-8
47
-3
8
14
-2
5
0
0
0
0
0
0
0
3
30
-31
6
-1
-5
36
0
-10
0
0
0
0
0
0
0
0
-5
5
8
-9
-13
-19
8
24
64
-5
0
0
0
0
0
0
0
0
5
-3
4
6
-4
-15
148
-16
5
0
0
0
0
0
0
0
0
14
-4
0
28
26
5
77
32
34
0
0
0
0
0
0
0
0
0
0
-3
-2
-29
49
-9
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
93
-4
35
-27
5
-2
6
-1
0
0
0
0
2
1
9
0
-25
-70
-12
88
6
14
21
-25
0
0
0
0
0
0
-7
0
-106
-62
-14
-18
24
-37
-4
25
15
-9
0
0
0
0
-1
4
11
57
32
75
24
-37
21
20
7
-41
35
0
0
0
0
0
-5
-1
-20
-44
-14
49
-33
67
35
-8
-6
0
0
0
0
0
2
-3
2
-53
23
-109
-34
26
-5
5
13
-1
0
0
0
0
0
0
0
-3
-1
-24
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
-24
0
60
19
9
-13
-5
-8
19
0
0
0
0
0
-5
-33
-51
0
-63
8
-48
29
44
83
43
-3
0
0
0
0
-1
1
5
8
20
11
-3
-27
14
64
136
-43
24
0
0
0
0
-1
0
-2
12
-1
58
-9
7
-2
22
57
104
-39
0
0
0
0
0
0
45
-57
10
21
-34
6
-14
49
19
28
110
0
0
0
0
2
-18
21
-26
-6
-6
15
45
129
103
-33
97
-2
0
0
0
0
0
0
-2
-1
2
85
8
30
-8
49
0
10
-63
0
0
0
0
0
0
-3
15
-28
62
-1
32
-45
25
-70
-56
-2
0
0
0
0
0
0
0
0
0
5
-66
77
80
-22
-3
0
0
0
0
0
0
0
0
0
-31
27
0
66
113
72
16
63
0
0
0
0
0
0
0
1
-5
-10
0
-17
113
-28
52
107
-18
9
-2
0
0
0
0
0
0
15
0
8
-23
-3
6
32
57
-25
-3
0
0
0
0
0
0
-1
0
33
-2
-66
-62
-69
-65
15
-5
0
1
0
0
0
0
0
0
-14
33
-15
2
5
-4
56
-9
-3
15
0
0
0
0
0
0
-5
-56
13
29
-12
1
0
-29
-1
-20
0
0
0
0
0
0
-1
-11
10
-23
-40
15
-32
-52
-46
-15
0
0
0
0
0
0
0
3
-4
-7
-23
-1
52
79
-59
-1
20
0
0
-4
0
0
0
-1
0
5
-3
36
-89
-121
-95
56
7
-4
0
0
0
0
0
0
0
0
0
3
11
25
0
-14
-17
-72
98
58
0
0
0
0
0
0
0
1
-9
13
0
8
-27
0
-60
-30
81
0
0
0
0
0
0
0
0
5
0
-25
43
50
32
-14
-63
52
0
0
0
0
0
0
0
0
2
-31
-13
-63
-20
56
10
51
31
-1
0
0
0
0
0
0
0
6
-5
-30
0
-31
31
-74
61
-34
-3
0
0
0
0
0
0
-2
2
56
-27
43
-26
43
101
-46
0
-2
0
0
0
0
0
10
3
4
34
15
-7
-14
-17
0
35
1
-2
0
0
0
0
0
0
0
0
-4
-10
-17
-2
5
-29
-24
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
23
-56
0
51
-6
48
4
-53
1
6
-4
0
0
0
0
0
-5
10
0
-10
9
33
-11
4
70
-3
5
0
0
0
0
0
0
0
5
-47
-33
-50
74
30
122
70
20
39
0
0
0
0
0
0
1
-22
7
30
66
75
69
9
11
54
-10
-20
0
0
0
0
0
4
15
-15
23
-41
-21
124
-42
-11
-2
36
-8
0
0
0
0
3
-1
-1
61
18
-21
-56
14
-12
23
-1
15
0
0
0
0
0
-1
-1
13
-2
24
-47
22
-21
-14
8
25
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
29
2
11
-1
2
-8
2
0
0
0
0
0
0
2
0
-86
43
4
99
-3
13
-4
-35
0
0
0
0
0
0
0
0
1
-46
120
18
-34
17
45
9
2
1
0
0
0
0
0
0
-1
-26
3
-36
-50
23
43
-27
-3
10
6
0
0
0
0
0
0
0
18
74
52
20
-37
-26
-1
11
0
2
0
0
0
0
0
0
0
17
1
29
-27
-31
20
13
-7
-1
0
0
0
0
0
0
0
0
-14
-49
0
61
15
24
1
0
-6
0
0
0
0
0
0
0
0
0
-1
-7
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
19
0
8
26
48
45
6
-62
10
0
0
0
0
0
0
0
61
0
-24
47
-5
58
-10
5
23
36
-8
0
0
0
0
0
0
0
-62
42
95
23
69
5
49
-25
25
-4
0
0
0
0
0
0
1
35
10
-15
43
87
-25
4
-3
34
-1
0
0
0
0
0
0
-26
25
58
-30
-16
8
43
3
43
-95
44
0
0
0
0
0
0
47
37
-55
7
29
52
83
-1
27
37
-3
0
0
0
0
0
0
-40
7
9
28
-60
-39
-45
1
26
3
-4
0
0
0
0
0
0
-28
-94
24
-70
-36
-15
-10
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
-41
-24
3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
96
21
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
53
-37
52
8
0
0
0
0
0
0
0
0
0
0
0
0
3
-27
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
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
31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
26
11
-34
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
25
46
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
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
-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
18
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
7
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
5
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-3
10
0
0
0
0
0
0
0
0
0
-2
1
14
10
-14
-8
-24
-5
0
0
0
0
0
0
0
0
0
0
-4
-3
2
-14
26
3
0
4
0
0
0
0
0
0
0
0
0
0
0
-13
-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
16
111
-50
-53
11
20
0
0
0
0
0
0
-1
2
0
0
39
48
66
45
5
-78
-56
0
0
0
0
0
0
0
10
24
43
33
137
0
62
109
-24
-43
0
0
0
0
0
0
0
1
9
37
52
148
41
110
32
26
28
0
0
0
0
0
0
0
-1
3
-9
29
83
31
-26
-49
55
3
0
0
0
0
0
0
0
0
0
-37
36
-3
87
-16
116
3
-5
0
0
0
0
0
0
0
0
0
-3
-5
5
3
53
47
17
-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
37
-70
16
-14
40
54
2
0
0
0
0
0
0
3
-15
15
-10
-35
1
32
42
-47
-2
16
0
0
0
0
0
0
0
-16
-53
49
85
3
9
36
3
22
-14
0
0
0
0
1
-4
3
-10
32
62
62
36
-14
11
-25
19
6
0
0
0
0
0
3
0
6
57
-94
-20
45
13
15
29
66
-20
0
0
0
0
0
1
0
0
5
-33
58
-15
42
35
43
157
44
0
0
0
0
0
0
0
1
-11
-4
-37
20
44
-15
-34
-71
10
0
0
0
0
0
0
0
0
-1
4
14
-15
63
-15
13
-78
19
0
0
0
0
0
0
0
0
0
0
2
15
-14
90
29
0
0
0
0
0
0
0
-1
0
0
0
0
-2
-52
-21
57
-65
-1
-11
0
0
0
0
0
0
0
0
2
-2
8
32
-67
-20
48
4
-53
0
0
0
0
0
0
-1
0
0
-9
17
13
104
33
31
44
18
0
0
0
0
0
0
0
0
2
2
-25
92
80
-57
-1
-2
69
0
0
0
0
0
0
0
0
0
0
-1
25
111
-9
-31
-43
-2
0
0
0
0
0
0
0
0
0
0
6
-14
31
57
45
16
68
0
0
0
0
0
0
0
0
0
0
-7
8
57
66
8
15
81
0
0
0
0
0
0
0
0
0
0
0
8
19
14
36
-28
-11
0
0
0
0
0
0
0
0
0
0
0
-2
-8
74
-17
-11
67
0
0
0
0
0
0
0
0
0
-34
-85
-113
15
-77
-58
116
6
0
0
0
0
0
0
0
0
0
43
0
-14
12
12
-34
14
14
0
0
0
0
0
0
0
0
1
3
70
-23
-38
70
63
34
-25
0
0
0
0
0
0
0
0
-7
-1
31
18
23
100
-31
20
77
0
0
0
0
0
0
0
0
2
-6
-44
45
33
28
-18
8
-15
0
0
0
0
0
0
0
0
-4
-7
45
13
0
63
29
31
-2
0
0
0
0
0
0
0
0
-1
0
-5
117
25
-78
-23
38
30
0
0
0
0
0
0
0
0
0
0
3
-2
0
36
18
-9
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
1
1
0
0
2
84
87
2
-1
19
5
0
0
0
0
0
0
1
0
2
0
-5
111
54
89
90
-24
93
0
0
0
0
0
0
-5
-1
18
14
23
118
83
54
7
55
40
0
0
0
0
0
0
-1
4
8
55
-182
84
98
9
43
87
-9
0
0
0
0
0
0
0
0
-2
24
183
97
70
74
9
110
11
0
0
0
0
0
0
0
1
0
0
17
-12
79
38
-22
-9
0
0
0
0
0
0
0
0
0
1
1
-25
-43
-2
36
-8
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
44
11
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
21
-164
-42
5
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-28
-51
49
6
-1
0
0
0
0
0
0
0
0
0
6
1
53
36
58
-55
-20
0
0
0
0
0
0
0
0
0
0
-1
-15
9
-56
-5
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
-15
39
-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
84
43
22
7
14
-29
0
0
0
0
0
0
0
0
0
0
41
-78
-19
62
-14
-8
75
0
0
0
0
0
0
0
-2
0
0
-23
96
82
97
43
-56
71
0
0
0
0
0
0
0
0
0
3
53
8
46
-35
21
-58
-14
0
0
0
0
0
0
0
-1
2
-3
31
23
62
74
-29
-18
15
0
0
0
0
0
0
0
0
1
0
22
81
82
65
-66
91
23
0
0
0
0
0
0
0
0
0
0
-5
14
17
111
-14
71
-9
0
0
0
0
0
0
0
0
0
0
8
-3
-14
-34
-27
27
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
104
-24
-46
-2
0
0
0
0
0
0
0
7
-15
0
22
37
-9
100
24
55
-14
0
0
0
0
0
0
0
-3
1
-1
1
21
30
132
-97
12
-9
0
0
0
0
0
0
0
-1
-7
-2
-2
11
14
33
81
-15
-19
0
0
0
0
0
0
0
0
-3
-1
-1
-4
129
-19
33
-31
10
0
0
0
0
0
0
0
0
0
-1
0
-3
-36
32
16
43
-6
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
9
-15
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-19
18
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
-40
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
5
-40
27
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
40
43
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-53
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-43
11
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
23
-53
-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
-15
13
1
0
0
0
0
0
0
0
0
-3
-2
0
4
-4
48
43
25
-35
1
0
0
0
0
0
0
0
0
-1
5
-1
0
3
9
-32
13
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
25
43
14
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-6
-54
-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
-10
-28
15
-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
-11
48
-20
54
-20
0
0
0
0
0
0
0
0
0
1
0
4
1
-1
12
48
25
15
0
0
0
0
0
0
0
0
-1
0
0
0
-9
-92
5
13
7
0
0
0
0
0
0
0
0
0
0
0
8
31
15
-22
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
16
-41
16
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-9
-10
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
-17
-1
-5
-6
0
0
0
0
0
0
0
0
0
6
18
-10
11
21
25
14
9
6
0
0
0
0
0
0
0
0
0
-9
33
-25
9
3
14
15
2
1
0
0
0
0
0
0
0
0
11
29
19
4
-17
6
7
4
-1
0
0
0
0
0
0
0
0
0
5
2
20
9
29
-1
-17
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-4
-71
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
61
-9
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
15
0
3
-16
3
-1
0
0
0
0
0
0
0
0
-11
0
-26
3
-8
-19
-47
-22
18
0
0
0
0
0
0
0
-1
17
33
-22
10
2
18
14
23
-14
0
0
0
0
0
0
0
0
4
-8
-2
51
7
-5
43
50
-7
0
0
0
0
0
0
0
0
1
-9
-9
-3
52
-43
-23
-30
-45
0
0
0
0
0
0
0
0
0
0
-33
1
-80
39
-28
13
11
0
0
0
0
0
0
0
0
0
0
0
-6
4
-2
-21
32
18
0
0
0
0
0
0
0
0
0
0
0
3
-5
-78
86
-49
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
14
71
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
-1
-1
2
-8
0
-36
-41
33
40
27
18
-6
0
0
0
0
0
0
-3
-26
123
-16
-13
-8
-20
120
20
63
-19
0
0
0
0
0
4
-2
-22
37
13
15
58
19
-8
33
18
10
0
0
0
0
0
0
2
23
64
12
32
79
64
4
43
-23
-24
-3
0
0
0
0
0
0
5
-20
-26
-27
-15
-7
10
26
-14
-1
2
0
0
0
0
0
0
0
1
-26
55
73
20
4
-2
-9
-27
5
0
0
0
0
0
0
0
0
0
0
19
-13
-3
-9
-10
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
9
65
-8
0
51
14
13
155
95
35
60
0
0
0
0
0
0
-1
0
21
15
1
-14
14
33
54
-24
-76
0
0
0
0
0
0
-2
-10
-21
-32
-17
-39
-1
42
36
-1
5
0
0
0
0
0
0
0
6
-100
-43
-59
14
-29
56
46
91
2
0
0
0
0
0
0
0
-6
-84
37
84
-22
54
10
119
45
7
0
0
0
0
0
0
0
3
22
-92
0
-2
8
21
-23
51
-10
0
0
0
0
0
0
0
0
-1
-16
118
73
-2
56
33
19
-25
0
0
0
0
0
0
0
0
-4
13
25
-64
37
-32
145
-90
-44
0
0
0
0
0
0
0
0
0
0
0
-72
-77
23
5
0
0
0
0
0
0
1
1
-1
-2
-39
0
49
1
6
3
10
16
0
0
0
0
0
0
0
0
-46
46
-53
68
48
4
166
64
23
0
0
0
0
0
0
0
0
9
46
13
-22
79
-25
53
-24
11
-1
0
0
0
0
0
0
0
0
60
-23
82
-54
47
77
34
22
0
0
0
0
0
0
0
0
0
32
11
17
-23
-29
-35
-21
-1
0
0
0
0
0
0
0
0
0
4
0
4
-6
51
15
-51
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
15
57
1
-11
0
0
0
0
0
0
0
0
0
0
-3
13
-10
5
-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
4
39
-27
0
63
83
-39
-2
53
14
0
0
0
0
0
0
0
7
-16
-42
31
49
-75
-90
-28
20
-11
0
0
0
0
0
0
0
0
-2
71
15
-9
22
59
-107
96
-7
0
0
0
0
0
0
0
0
-1
-32
-28
-27
25
8
-24
0
11
0
0
0
0
0
0
0
0
0
-1
34
37
91
-27
-51
-20
0
0
0
0
0
0
0
0
0
0
54
-33
24
40
-92
-55
-5
-4
0
0
0
0
0
0
0
0
0
1
-3
2
-19
0
4
-3
2
0
0
0
0
0
0
0
0
0
14
0
-18
-2
18
-8
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
-24
23
0
35
-9
28
60
71
-10
-48
7
0
0
0
0
-4
5
8
-43
-19
4
46
-6
133
-16
-52
-37
14
0
0
0
0
0
0
8
27
-13
1
39
95
14
-19
-38
-25
-9
0
0
0
0
0
0
4
24
-59
42
19
52
137
125
2
-23
-20
0
0
0
0
0
0
0
-1
21
-5
-24
117
-23
-27
-25
-113
-1
0
0
0
0
0
0
0
0
33
-14
6
1
-24
14
-35
-19
1
0
0
0
0
0
0
0
0
5
-4
-22
30
16
-33
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
-68
22
-5
29
-2
-1
-3
0
0
0
0
0
0
0
-4
-46
-33
24
60
14
-3
-27
1
-27
0
0
0
0
0
0
0
0
6
-1
5
14
45
49
-8
-5
-20
0
0
0
0
0
0
0
0
14
-17
-72
16
1
0
7
-11
15
-1
0
0
0
0
0
0
0
1
11
-16
-21
6
-58
9
-5
-6
2
0
0
0
0
0
0
0
0
9
-7
-5
-31
-10
-20
9
15
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-48
20
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
62
14
5
-1
-3
9
-1
3
0
0
0
0
0
0
17
-9
35
2
-37
-9
-20
14
8
54
-5
0
0
0
0
0
0
7
-33
-32
6
-49
61
-26
-8
45
-5
9
0
0
0
0
0
0
0
37
57
48
63
-40
-5
3
-23
-15
34
0
0
0
0
0
0
1
86
14
123
21
11
-44
31
19
5
20
0
0
0
0
0
0
0
2
40
42
3
-7
38
14
26
-6
56
0
0
0
0
0
0
0
4
38
37
-36
33
14
-4
-45
-26
46
0
0
0
0
0
0
0
0
0
0
-4
-1
-4
-41
0
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-64
102
-46
-7
5
27
0
-16
0
0
0
0
0
0
0
-33
84
79
-2
9
34
14
22
-3
0
0
0
0
0
0
0
0
-85
-44
-24
-71
-30
44
5
-1
0
1
0
0
0
0
0
0
0
30
56
32
-5
-43
-26
0
0
-1
0
0
0
0
0
0
0
0
50
-71
-83
-62
108
10
-1
0
0
0
0
0
0
0
0
0
0
53
34
-62
-14
47
-13
2
0
0
0
0
0
0
0
0
0
0
-2
-39
47
44
46
7
0
0
0
0
0
0
0
0
0
0
0
-2
-46
-11
-25
-27
-5
0
0
0
0
0
0
0
0
0
0
0
-9
-17
31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-33
59
3
0
0
-1
0
0
0
0
0
0
0
0
0
4
-80
81
-46
36
-2
2
0
0
0
0
0
0
0
0
0
0
-8
-7
3
69
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-43
-19
-29
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-32
8
10
0
0
0
0
0
0
0
0
0
0
0
0
4
17
3
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-78
9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-3
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-57
-27
-27
5
0
-1
0
0
0
0
0
0
0
0
0
1
20
-90
56
-5
-4
0
0
0
2
0
0
0
0
0
0
0
-3
52
15
71
-8
-2
0
0
0
0
0
0
0
0
0
0
0
5
45
-117
58
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-24
87
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
-105
96
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
21
-81
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-18
43
0
0
0
0
0
0
0
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
-64
-31
34
0
-1
-5
0
0
0
0
0
0
0
0
0
-35
-20
-17
-78
26
20
0
-3
-1
0
0
0
0
0
0
0
0
6
20
27
54
-1
-3
0
0
0
0
0
0
0
0
0
0
0
2
-80
33
23
64
-5
0
0
0
0
0
0
0
0
0
0
0
1
-3
-161
30
39
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-47
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
-8
0
0
0
0
0
0
0
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
21
2
2
5
-1
-2
0
0
0
0
0
0
0
0
0
3
-1
69
-56
36
59
76
14
2
0
0
0
0
0
0
0
0
-4
-5
-80
14
-26
-1
166
-7
4
0
0
0
0
0
0
0
0
-11
-8
-19
25
16
53
15
16
0
0
0
0
0
0
0
0
0
-14
-14
-75
-127
23
0
0
0
-4
0
0
0
0
0
0
0
0
-9
-63
15
-46
20
3
0
1
0
0
0
0
0
0
0
0
0
-14
-16
-79
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-74
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-33
9
20
1
-33
-13
0
0
0
0
0
0
0
0
0
-25
-45
-22
-44
21
33
19
-16
-8
3
0
0
0
0
0
0
0
-5
28
56
-53
-35
34
103
34
-20
-3
0
0
0
0
0
0
0
33
-19
18
165
-23
35
-24
-5
8
3
0
0
0
0
0
0
0
-63
106
6
-47
18
-13
-53
-9
1
0
0
0
0
0
0
0
0
-26
-49
-38
-147
-5
45
6
3
-9
0
0
0
0
0
0
0
0
-17
-69
-45
23
-33
-29
1
5
0
0
0
0
0
0
0
0
0
-15
-92
43
71
-2
0
-2
0
1
0
0
0
0
0
0
0
0
-76
-52
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
62
19
43
1
3
0
-62
-37
-26
0
0
0
0
0
-3
-98
-35
52
18
91
-26
40
35
57
49
-63
-5
0
-1
0
0
-23
-73
-45
11
70
43
57
70
47
23
2
28
22
0
0
0
0
13
-144
44
-10
15
3
118
81
126
43
28
-1
0
7
0
0
0
-1
1
-64
27
14
149
76
147
118
27
25
10
3
0
0
0
0
2
-10
41
-24
23
-80
100
33
16
-34
11
0
0
0
0
0
0
-1
2
4
29
46
-25
-33
71
0
-1
0
0
0
0
0
0
0
-2
37
0
-25
3
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
52
-70
-91
-63
-13
-72
-23
0
-156
-4
-5
-5
-4
0
0
0
0
-60
0
-41
-54
15
-114
19
-33
70
-6
-16
45
7
0
0
0
0
-27
-71
18
-6
-29
-41
-51
-85
18
-49
52
-16
-40
0
0
0
0
-88
-72
-113
-61
-7
3
-9
5
70
30
12
21
-23
0
0
0
0
7
-138
-34
-7
-37
-71
22
49
71
-20
-16
36
2
0
0
0
0
-14
-28
-86
-3
-53
4
52
16
53
4
27
18
7
0
0
0
0
-5
-57
-56
-41
15
3
15
38
-69
18
-41
33
2
0
0
0
0
27
46
67
78
-32
-23
-36
-42
-16
-33
-8
16
0
0
0
0
0
0
7
19
-9
23
71
73
-45
1
30
35
5
0
0
0
0
0
0
11
21
-73
-82
-24
21
0
8
-22
6
0
0
0
0
0
0
3
14
-23
0
109
-138
-10
9
148
23
-3
1
0
0
0
0
0
1
-95
28
-8
-36
26
-61
8
73
17
5
0
0
0
0
0
0
3
-1
-12
69
104
41
-13
105
115
0
0
1
0
0
0
0
0
0
-10
-25
83
110
-4
101
122
66
17
5
0
0
0
0
0
0
0
-11
54
48
52
109
20
-4
19
0
0
0
0
0
0
0
0
0
-2
-92
-34
8
-29
45
11
9
0
0
0
0
0
0
0
0
0
0
-7
-22
27
5
101
-44
9
1
3
0
0
0
0
0
0
0
0
0
1
-1
14
-10
0
11
0
0
0
0
0
0
0
0
0
3
55
6
-81
-35
-23
0
8
-17
-18
-1
0
0
0
0
0
0
-126
13
86
26
-87
1
-5
177
-24
-44
16
0
-1
0
0
0
0
-14
113
-12
4
51
-81
58
22
97
9
0
0
0
0
0
0
0
76
47
16
74
105
51
115
-20
58
-2
1
0
0
0
0
0
0
5
17
90
48
20
58
72
20
3
0
0
0
0
0
0
0
0
-3
-41
-29
-66
-24
86
-14
74
0
2
0
0
0
0
0
0
0
-10
-37
-63
50
114
8
-45
84
-1
0
0
0
0
0
0
0
0
0
0
5
15
-10
102
-5
0
0
0
0
0
0
0
0
0
0
-13
0
2
0
-10
0
0
0
0
0
0
0
0
0
0
45
-111
11
19
-24
-5
-39
19
0
-103
53
8
1
0
0
0
0
-1
43
6
9
-42
50
50
-10
35
112
7
39
1
0
1
0
0
86
78
27
21
-14
96
28
18
71
63
-24
1
0
2
0
0
0
-59
-8
-127
-2
-20
170
75
24
81
27
-33
0
0
0
0
0
0
47
-5
-127
-4
-36
82
67
112
-2
-114
0
-1
0
0
0
0
0
-3
-119
-14
72
21
60
-7
128
-54
-9
2
0
0
0
0
0
0
2
-61
-27
-64
32
-37
44
62
1
0
-4
0
0
0
0
0
0
0
-15
4
-44
-32
27
-1
14
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
-17
-10
64
0
15
-1
0
0
0
0
0
0
0
14
14
-4
55
125
6
29
44
54
0
0
0
0
0
0
0
0
-9
21
5
78
77
-34
-2
-15
39
0
0
0
0
0
0
0
0
-8
24
10
121
68
63
46
-30
26
0
0
0
0
0
0
0
1
3
-11
-53
144
35
-5
21
-17
0
0
0
0
0
0
0
0
0
2
9
-109
4
-5
3
12
0
0
0
0
0
0
0
0
0
0
-6
-1
4
-23
-1
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
18
3
17
40
14
41
0
14
-71
2
0
0
0
0
0
4
43
7
19
4
-49
55
30
25
135
46
23
5
0
0
0
0
6
29
-5
-14
8
139
71
8
10
-14
53
4
-7
0
0
0
0
-1
16
-7
7
121
118
53
45
-8
76
-30
0
0
0
0
0
0
0
-1
3
-5
113
126
8
-30
-25
58
-45
5
0
0
0
0
0
0
-4
21
46
-12
71
-52
18
56
-29
52
-1
0
0
0
0
0
0
11
46
-4
-27
-34
-5
41
13
42
16
0
0
0
0
0
0
4
14
-6
-35
-22
-27
16
10
-44
6
-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
-15
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
1
208
0
0
62
-70
10
3
0
0
0
0
0
0
0
0
0
0
82
145
43
16
16
0
4
-2
0
0
0
0
0
0
0
0
66
169
147
3
-33
-25
-3
0
0
0
0
0
0
0
0
0
0
2
124
-1
-34
-141
-11
-1
-2
0
0
0
0
0
0
0
0
0
20
-90
-76
-38
94
2
0
0
1
0
0
0
0
0
0
0
0
1
-59
56
-40
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
129
2
0
0
0
0
0
0
0
0
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
33
0
0
4
-19
-3
-4
0
0
0
0
0
0
0
0
0
0
48
-45
25
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
-84
106
41
-64
-1
1
0
0
0
0
0
0
0
0
0
0
0
-11
5
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
-13
1
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
0
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
-47
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
5
172
0
0
45
-15
5
0
0
0
0
0
0
0
0
0
0
0
78
157
168
-29
24
-1
0
0
0
0
0
0
0
0
0
0
2
-7
84
136
32
-7
-1
0
0
0
0
0
0
0
0
0
0
-5
31
143
35
-53
0
-3
0
0
0
0
0
0
0
0
0
0
0
14
49
-23
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-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
67
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
63
173
0
0
-44
-4
0
0
0
0
0
0
0
0
0
0
0
26
173
105
153
-14
13
0
0
0
0
0
0
0
0
0
0
2
149
12
26
-11
148
-3
0
0
0
0
0
0
0
0
0
0
0
66
44
-9
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
123
-26
-23
-57
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-90
-33
6
0
0
0
5
2
0
0
0
0
0
0
0
8
-91
-8
-1
83
0
0
0
16
-3
0
0
0
0
0
0
0
31
-58
265
136
68
99
-71
-168
-6
1
0
0
0
0
0
0
-16
6
19
72
217
164
80
0
-3
-6
0
0
0
0
0
0
0
-1
4
41
166
21
136
122
-18
-6
0
0
0
0
0
0
0
0
0
0
-17
-4
200
-64
-61
-77
-17
0
0
0
0
0
0
0
0
0
0
0
0
33
-43
-43
-15
-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
14
-2
0
0
0
0
0
0
11
27
-4
1
-15
38
0
0
0
-26
20
-17
0
0
0
0
0
-20
-11
-28
-7
116
172
-23
75
-74
-46
11
-1
0
0
0
0
0
-92
-8
28
126
93
19
149
-5
-40
18
5
0
0
0
0
0
0
4
-10
-43
186
92
79
-31
-65
72
18
-7
1
0
0
0
0
0
18
-8
139
-53
187
62
-2
-60
-71
0
0
0
0
0
0
0
-2
-7
73
-8
0
3
80
73
-20
6
0
0
0
0
0
0
0
0
26
-7
-1
1
9
-3
-10
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
0
66
6
15
-43
-85
-53
0
0
0
0
0
0
0
0
0
0
0
-14
3
2
-2
21
25
8
0
0
0
0
0
0
0
0
0
0
-65
-36
19
-32
16
-27
0
3
0
0
0
0
0
0
0
0
0
6
-60
-28
59
-74
36
7
14
-1
-1
0
0
0
0
0
0
0
1
-67
-16
-21
-59
45
13
-18
-7
1
0
0
0
0
0
0
0
70
-6
-67
51
-12
-13
24
-27
48
0
0
0
0
0
0
0
0
39
-31
-53
4
-22
22
71
75
0
0
0
0
0
0
0
0
0
0
27
48
-5
82
32
45
5
6
0
0
0
0
0
0
0
0
2
1
-14
-37
1
-3
-3
0
0
0
0
0
0
0
0
0
0
-13
10
-30
0
56
23
19
0
0
0
-32
-7
0
0
0
0
0
-43
13
13
-11
29
117
210
0
0
20
71
13
1
0
0
0
0
28
-9
-2
-3
59
110
162
108
62
68
-49
-1
0
0
0
0
0
0
41
-4
-36
79
166
88
143
119
-56
-40
0
0
0
0
0
0
-25
28
-19
61
-4
-66
78
23
67
-2
3
0
-1
0
0
0
0
-25
20
-21
-1
18
48
5
-168
34
7
-9
0
0
-1
0
0
0
8
3
27
-6
-26
-52
-67
-131
22
18
0
0
0
0
0
0
0
0
69
-24
24
13
5
9
-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
-13
-10
15
-17
5
37
51
0
0
-84
-10
18
0
0
0
0
0
35
-33
-21
-23
2
29
68
7
79
-43
-59
0
5
0
0
0
0
27
34
-17
1
-1
37
106
43
82
-78
-16
26
1
0
0
0
0
-45
11
-47
-18
-48
13
123
151
17
-18
34
26
0
0
0
0
0
-9
22
-7
-15
-27
-18
10
-53
-2
12
132
42
-1
0
0
0
0
-25
15
-29
-23
-42
-45
-76
10
-1
-32
8
-51
0
0
0
0
0
20
-23
16
-17
21
-42
-37
-41
34
34
-62
-33
-5
0
0
0
0
0
-49
-57
33
2
-34
36
-34
-71
4
-3
-5
0
0
0
0
0
0
0
23
33
46
-21
-3
25
-20
-1
0
0
0
0
0
0
0
-25
-28
29
-34
26
-12
-68
0
0
1
0
0
0
0
0
0
0
-84
-7
0
43
-14
45
71
22
-11
0
3
0
0
0
0
0
0
-26
-13
4
8
25
-76
96
67
-22
0
0
0
0
0
0
0
0
-22
-6
32
-43
22
102
20
-18
8
0
-1
0
0
0
0
0
0
39
-6
49
-44
37
-60
19
1
-20
1
0
0
0
0
0
0
0
-1
-8
3
-34
-80
-28
80
-25
5
0
0
0
0
0
0
0
0
23
-1
-14
51
-28
5
-46
11
5
-1
0
0
0
0
0
0
0
9
20
-23
26
31
70
11
0
60
0
-2
0
0
0
0
0
0
31
27
-6
0
-4
15
7
2
0
0
0
0
0
0
0
0
0
39
-32
-4
7
19
-8
32
2
0
-3
0
0
0
0
0
0
0
-14
31
-32
10
52
86
0
-42
-43
5
0
0
0
0
0
0
0
83
-28
-40
-4
14
100
-38
-7
-14
18
1
0
0
0
0
0
0
-33
-16
34
-39
-52
74
66
122
68
1
0
0
0
0
0
0
0
-21
-30
-9
-6
-44
145
109
71
-25
-2
0
0
0
0
0
0
0
-7
8
-104
-43
7
-36
-63
-28
13
-2
0
0
0
0
0
0
0
36
-31
-12
-52
43
1
-45
22
2
-3
0
0
0
0
0
0
0
-18
0
77
-72
-80
23
35
3
1
0
0
0
0
0
0
0
0
0
0
-96
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
59
8
3
24
81
24
63
0
0
52
-17
6
0
0
0
0
0
-51
23
-5
26
41
165
129
0
74
0
-35
-16
-1
1
0
0
0
-61
-13
28
19
72
175
205
96
149
52
-61
91
-7
0
0
0
0
100
14
-28
63
28
173
171
66
89
84
-33
-4
-1
0
0
0
0
13
66
23
-23
68
-25
25
-23
-3
-14
0
0
-4
0
0
0
0
24
16
-15
-20
17
18
-26
-43
-49
15
1
0
0
0
0
0
0
-45
-14
32
-25
-54
-46
-82
26
-30
-2
0
0
0
0
0
0
0
0
-15
100
27
101
-27
-25
5
0
-6
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
-8
-76
-23
-24
9
-20
6
0
-5
-1
0
0
0
0
0
0
28
-50
-26
-29
-11
-39
-49
0
81
0
6
6
0
0
0
0
0
2
1
-124
-7
72
60
150
75
-84
80
-10
7
0
0
0
0
0
15
10
91
86
221
141
164
28
-28
-14
7
0
0
0
0
0
0
-17
25
17
97
71
116
121
-9
12
-5
0
-3
0
0
0
0
0
-6
227
94
168
136
108
-70
9
-3
-9
-3
0
0
0
0
0
0
35
7
122
81
115
-31
-7
0
-11
0
0
0
0
0
0
0
0
0
117
273
101
33
-8
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
12
54
13
-81
42
-3
-35
0
0
0
-1
0
0
0
0
0
0
43
-13
23
15
-2
88
27
132
0
-19
-27
-7
0
0
0
0
0
-30
24
-34
13
60
155
151
43
68
-98
1
0
0
0
0
0
0
89
-22
-30
-8
9
128
53
100
3
44
0
0
0
0
0
0
0
16
-54
-5
14
59
55
101
-7
-20
93
-1
0
0
0
0
0
0
8
-47
-31
-24
31
80
57
179
56
6
0
0
0
0
0
0
0
-92
0
-15
30
-14
-15
-8
8
-60
-1
0
0
0
0
0
0
0
51
7
-3
15
-42
-31
0
0
8
0
0
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-97
-9
19
-16
0
-5
0
0
0
0
0
0
0
0
0
-114
-27
-58
-16
61
11
51
15
-56
4
0
0
0
0
0
0
0
-49
-15
27
4
-80
-1
2
0
3
5
0
0
0
0
0
0
0
19
37
58
6
107
-11
-1
0
0
0
0
0
0
0
0
0
0
59
-23
5
-10
108
-6
0
1
0
0
0
0
0
0
0
0
0
-6
124
-25
7
25
40
2
0
0
0
0
0
0
0
0
0
0
0
-7
10
-92
13
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-44
-25
0
0
0
0
0
0
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
-7
-3
5
6
0
0
0
0
0
0
0
0
0
0
0
0
7
-52
-9
44
-3
-6
0
0
0
0
0
0
0
0
0
0
5
21
25
-24
-11
0
0
0
0
0
0
0
0
0
0
0
0
-2
33
25
57
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-32
-4
-3
0
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
1
1
0
0
0
0
0
0
0
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
-51
67
-10
3
0
0
0
0
0
0
0
0
0
0
0
-7
-15
156
-53
51
-4
-5
0
-1
-7
0
0
0
0
0
0
0
-11
64
29
3
30
17
1
0
0
0
0
0
0
0
0
0
0
-3
-23
42
-29
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
-39
90
49
33
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-11
-43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
16
-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
54
76
-51
-5
9
0
0
0
0
0
0
0
0
0
0
-4
16
20
-10
41
-6
-24
4
3
1
0
0
0
0
0
0
0
2
-2
27
-28
-43
23
-2
0
0
0
0
0
0
0
0
0
0
-5
45
116
73
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-44
37
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
23
-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
9
35
-2
17
-3
-1
0
0
0
0
0
0
0
0
0
-7
-22
32
1
-25
34
43
0
-1
0
0
0
0
0
0
0
0
4
4
-45
62
1
37
71
-5
0
0
0
0
0
0
0
0
0
-2
-16
-63
-1
-19
63
-9
0
0
0
0
0
0
0
0
0
0
-1
11
-39
8
32
50
47
9
-1
0
0
0
0
0
0
0
0
0
7
-2
-43
-2
48
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
-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
-9
-9
-15
5
-13
-7
0
0
0
0
0
0
0
0
0
-14
-71
99
50
-11
-45
-37
-13
7
0
0
0
0
0
0
0
0
33
80
-2
3
54
33
30
16
16
-1
0
0
0
0
0
0
0
-26
92
31
18
-8
-39
-24
-15
-10
0
0
0
0
0
0
0
0
86
31
47
47
14
-13
14
-37
3
0
0
0
0
0
0
0
0
-11
33
25
-41
-20
-27
-6
-34
-17
6
0
0
0
0
0
0
0
1
0
-15
4
-2
-2
-14
1
1
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
-31
-60
17
184
39
-43
58
0
101
40
15
4
0
0
0
0
33
31
146
5
89
89
6
-29
-66
51
17
26
-27
0
0
0
0
-1
36
57
56
83
85
3
62
65
79
43
34
-9
-2
0
0
0
-4
66
54
-18
-45
126
53
113
47
-20
34
-7
-5
0
0
0
0
0
-41
110
104
3
151
45
80
39
-28
0
1
0
0
0
0
0
0
19
18
17
2
-50
61
-60
37
-5
-1
0
0
0
0
0
0
0
0
1
21
-107
30
-23
-12
4
-54
-3
2
0
0
0
0
0
0
0
0
0
-4
36
2
-50
14
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
33
-108
-4
10
5
-65
-14
0
-73
-109
5
17
-14
0
0
0
0
-44
-40
-83
-49
-8
-69
4
-40
-78
-52
9
-12
-2
14
0
0
0
81
-29
50
-10
16
-44
-23
-13
-72
-44
-19
-11
5
0
0
0
0
75
97
-73
34
49
6
-4
-30
-17
-100
71
45
-33
-3
0
0
0
37
19
18
43
6
0
16
55
-21
-89
63
98
21
1
0
0
0
-48
-123
33
-26
72
25
5
4
16
-18
-13
-9
34
21
0
0
0
1
14
-44
11
1
14
-8
38
-3
-19
-45
-2
-10
0
0
0
0
3
1
36
24
14
13
8
-24
1
-24
-25
1
3
2
0
0
0
0
0
2
102
5
2
-3
-16
67
-43
0
0
-1
0
0
0
0
0
10
-1
59
80
-133
-34
0
52
-101
39
9
14
-8
-3
0
0
0
6
-2
96
8
-116
21
-38
-45
-20
-1
-19
1
3
0
0
0
-7
14
18
-21
24
19
-19
-24
44
34
8
26
-13
0
3
0
0
0
-14
73
22
4
64
14
61
109
39
-35
10
-7
0
0
0
0
0
34
26
33
43
5
-9
-15
45
-58
5
17
-2
0
0
0
0
0
1
77
13
83
56
53
0
-9
-3
24
-34
-2
7
-3
0
0
0
1
-2
-22
-40
7
81
-30
-9
8
-5
58
-26
4
0
0
0
0
0
-6
14
19
5
7
35
15
-14
33
8
-10
-8
2
6
0
0
0
0
32
-10
6
-56
1
-5
-37
-19
1
-15
3
-19
0
0
0
16
30
73
96
-66
44
0
62
-69
45
7
3
0
0
0
0
0
53
74
-15
-10
-35
51
-41
-14
-58
-5
-23
-1
0
0
0
0
0
7
-101
-19
62
50
43
-5
24
82
43
1
-4
0
0
0
0
0
35
-16
29
115
70
117
-31
47
24
37
0
0
0
0
0
0
0
29
94
25
110
36
14
4
15
28
-16
0
-4
0
0
0
0
0
6
16
39
27
72
59
-7
-45
34
-43
-2
0
-7
0
0
0
0
3
-11
21
83
36
21
120
-27
-82
28
-33
-23
0
0
0
0
0
0
4
59
68
75
16
14
-30
-22
-6
0
8
0
0
0
0
0
0
0
1
-3
45
-18
-10
0
0
0
0
0
0
0
0
-2
53
-85
-10
53
7
6
49
0
10
-100
-15
-1
0
0
0
0
-5
30
-33
-9
-15
61
3
-15
-30
90
-27
43
-1
3
0
0
0
61
27
88
23
47
81
56
47
54
19
53
5
0
1
0
0
0
0
62
47
-32
5
13
18
56
35
14
-80
0
1
0
0
0
0
5
-78
-21
23
-5
80
107
31
67
-18
-4
4
0
0
0
0
0
-1
-1
-24
98
18
149
2
39
57
96
-1
0
0
0
0
0
0
0
2
8
20
-117
-2
24
-67
46
-21
4
0
-1
0
0
0
0
0
0
0
1
10
47
-48
5
-52
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
-7
19
-2
-92
-50
-101
0
-14
0
0
0
0
0
0
0
3
6
-4
33
-1
93
116
-52
-35
1
1
0
0
0
0
0
0
0
-9
15
61
-17
36
-55
-5
95
32
0
0
0
0
0
0
0
0
8
-11
-53
59
81
45
12
-25
0
-1
0
0
0
0
0
0
0
0
5
-7
1
119
43
-1
59
4
0
0
0
0
0
0
0
0
-4
0
-48
30
-167
-66
-48
-18
-74
0
0
0
0
0
0
0
0
0
0
-5
-60
26
-66
-54
-24
-2
0
0
0
0
0
0
0
0
0
0
14
-4
-56
19
-43
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
2
45
12
103
0
15
-8
0
0
0
0
0
0
-1
3
-8
79
71
-18
49
9
-1
60
5
9
0
0
0
0
0
-2
21
-10
-7
65
46
54
137
-10
-75
-16
1
-2
0
0
0
0
-1
48
9
-33
66
36
-45
8
3
-42
-8
0
-1
0
0
0
0
-3
-43
8
18
42
-36
-55
69
-78
24
-53
0
3
0
0
0
0
-1
-7
-1
3
57
5
18
-3
13
-104
-84
4
2
0
0
0
0
1
-5
0
0
2
11
46
-56
-6
14
-8
3
0
0
0
0
0
0
0
0
-5
2
-69
-45
-72
-90
-13
-20
1
0
0
0
0
0
0
0
0
0
0
0
-15
-104
24
-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
-10
-2
0
1
0
0
0
0
0
0
0
0
2
109
0
0
21
-46
-23
1
0
0
0
0
0
0
0
0
0
-46
-16
83
33
11
5
6
5
2
0
0
0
0
0
0
0
0
9
-39
23
66
-33
53
0
0
9
0
0
0
0
0
0
0
0
6
9
48
-5
-69
6
-4
1
0
0
0
0
0
0
0
0
0
-23
-32
-27
113
67
-10
0
0
0
0
0
0
0
0
0
0
0
5
-101
-108
-48
53
63
4
-1
0
0
0
0
0
0
0
0
0
4
-33
46
4
-62
53
1
0
0
0
0
0
0
0
0
0
0
0
-19
-7
11
-91
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
-13
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
10
-56
21
27
11
1
-6
0
0
0
0
0
0
0
0
0
0
0
10
41
4
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
11
79
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-33
-25
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
67
5
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
123
-19
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
1
112
0
0
6
-21
-2
0
-1
0
0
0
0
0
0
0
0
3
-10
101
16
71
-21
-1
0
0
0
0
0
0
0
0
0
0
4
-68
-15
23
23
-20
0
-3
0
0
0
0
0
0
0
0
0
-3
-67
-40
-22
-107
1
-2
0
0
0
0
0
0
0
0
0
0
0
-16
26
-137
19
0
0
-2
0
0
0
0
0
0
0
0
0
0
50
-61
-67
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-45
-3
35
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-37
54
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-11
-55
0
0
-25
6
6
0
0
0
0
0
0
0
0
0
2
-5
28
85
80
-48
9
0
0
0
0
0
0
0
0
0
0
0
-57
-16
149
47
1
-8
0
0
0
0
0
0
0
0
0
0
0
-34
-51
7
65
-7
5
0
0
0
0
0
0
0
0
0
0
0
-52
-25
-83
-63
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
-65
-18
-40
-53
9
0
0
0
0
0
0
0
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
-22
71
-16
53
-21
0
0
0
1
0
0
0
0
0
0
0
-7
68
-111
-52
-151
-86
0
0
0
14
1
0
0
0
0
0
0
-1
85
43
-53
-73
-67
-69
5
90
-10
5
-3
0
0
0
0
0
-2
-18
-60
-12
-31
-5
58
-13
49
-15
2
0
0
0
0
0
0
0
33
20
-34
-71
-156
-160
-3
5
0
3
0
7
0
0
0
0
0
0
17
-3
4
39
14
-45
7
-8
0
0
0
0
0
0
0
0
0
-5
-47
-27
4
2
-80
-80
-6
-3
0
0
0
0
0
0
0
0
0
0
18
-1
-52
-32
-67
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
-77
-29
-1
0
0
0
0
0
0
0
0
7
15
-3
1
-6
0
0
0
0
-37
-1
6
0
0
0
0
15
16
2
-1
5
26
0
0
0
68
45
4
3
0
0
0
0
-30
57
-5
-76
-60
-7
34
61
95
39
-22
19
0
0
0
0
0
19
14
63
77
78
44
-127
62
-19
-47
-7
0
0
0
0
0
0
2
29
-16
-64
-5
-105
-38
-60
-103
-24
-7
0
0
0
0
0
0
72
0
-21
-73
-73
-4
13
56
109
-8
0
0
0
0
0
0
0
0
-3
-3
23
-39
54
-66
-105
14
-62
2
-1
0
0
0
0
0
0
0
-1
0
10
3
-43
-22
20
-48
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
-66
-5
-9
-1
0
0
0
0
0
13
-31
27
64
14
-35
1
0
0
0
0
0
0
0
0
0
0
-10
13
-12
18
76
33
0
0
0
0
0
0
0
0
0
0
0
97
35
38
52
57
-58
-23
-3
0
0
0
0
0
0
0
0
0
24
38
1
-4
38
-10
7
5
-1
1
0
0
0
0
0
0
0
32
43
-40
63
-67
0
-24
33
2
1
0
0
0
0
0
0
0
-16
9
63
24
5
-8
132
18
16
46
1
0
0
0
0
0
0
54
-22
47
38
5
-63
-64
30
-10
2
4
0
0
0
0
0
0
0
-14
-32
29
-50
-46
-27
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
23
1
-36
71
130
29
110
0
0
0
50
-33
0
0
0
0
0
12
-40
-26
27
-39
95
-30
0
0
73
-32
15
-2
5
0
0
0
-50
-13
33
20
-12
62
31
-39
158
-22
-23
-2
4
0
0
0
0
76
37
54
32
-42
36
-1
113
-35
23
-2
2
0
0
0
0
0
100
20
34
-22
-16
-12
-78
-7
-5
-31
6
8
-3
0
0
0
0
34
-12
62
27
-14
-138
-5
-31
-28
2
1
9
0
0
0
0
0
8
-1
77
13
-52
-111
15
-57
-122
-19
-1
-1
0
0
0
0
0
0
5
6
-32
-2
-118
-49
-34
-4
-4
0
0
0
0
0
0
0
0
0
-3
0
0
-19
0
1
0
0
0
0
0
0
0
0
0
1
-35
-17
-31
23
37
-1
0
0
-14
-9
-7
0
0
0
0
0
-3
-11
-1
-16
-9
43
2
24
14
33
-1
-7
0
0
0
0
0
-15
60
22
-4
-30
-17
5
36
82
-35
-14
23
-2
0
0
0
0
67
-14
20
-10
-3
24
-6
-63
11
35
-62
13
0
0
0
0
0
37
30
-43
-25
-29
-42
-58
22
-53
-36
-61
-3
1
0
0
0
0
5
-1
-26
2
-48
-63
-11
-70
16
-33
95
-39
-4
0
0
0
0
-27
28
-22
24
-6
-28
-40
-107
-83
31
104
48
0
0
0
0
0
0
22
-5
4
-15
-24
53
-59
0
15
0
0
0
0
0
0
0
0
0
42
39
-47
84
40
4
-1
0
6
0
0
0
0
0
0
25
5
-29
80
-82
92
164
0
0
-2
0
0
0
0
0
0
0
15
6
23
32
-15
-23
-1
7
65
-2
0
1
0
0
0
0
0
-40
88
-12
16
93
29
5
104
8
0
0
0
0
0
0
0
0
118
101
62
-8
13
33
89
-35
4
8
-1
0
0
0
0
0
0
86
42
-41
28
-81
7
-20
33
-6
-5
0
0
0
0
0
0
0
0
-44
-43
-13
-9
-69
-84
-29
-4
0
0
0
0
0
0
0
0
0
-1
-40
130
24
41
-18
-1
0
0
0
0
0
0
0
0
0
0
0
14
98
-35
-53
24
-13
4
0
0
0
0
0
0
0
0
0
4
-7
-20
5
3
6
4
-3
0
0
0
0
0
0
0
0
3
54
33
-10
69
71
4
-38
0
3
0
0
0
0
0
0
0
23
-35
4
16
9
35
0
15
-69
2
-2
0
0
0
0
0
0
-14
0
-13
29
19
57
-55
27
0
-13
0
4
0
0
0
0
0
-33
-38
-17
-34
-8
-11
47
3
-20
0
0
0
0
0
0
0
0
-36
53
-43
43
-7
-45
70
-5
34
11
3
10
0
0
0
0
0
-43
-38
23
11
-21
-18
8
-52
-5
0
0
0
0
0
0
0
0
58
41
-1
-49
37
-15
-5
20
2
-5
0
0
0
0
0
0
0
31
36
-3
-34
38
28
39
14
0
0
0
0
0
0
0
0
0
0
0
86
6
5
8
-2
0
0
0
0
0
0
0
0
0
0
-75
-22
11
14
145
120
67
0
0
-3
-7
10
2
0
0
0
0
-30
-6
34
14
-1
99
0
0
88
0
84
-22
-4
0
0
0
0
26
23
3
-2
50
14
-11
81
64
167
46
-1
0
0
0
0
0
28
37
25
57
-38
56
34
24
80
-49
52
-2
-7
0
0
0
0
49
15
20
-5
-21
35
-23
-27
-50
77
2
0
0
0
0
0
0
7
29
34
-13
7
1
-129
-47
-95
14
-5
0
0
0
0
0
0
-5
21
36
3
41
-42
24
-53
-24
-17
65
0
0
0
0
0
0
0
-1
-5
-23
24
-6
-8
-71
-4
-39
0
0
0
0
0
0
0
0
0
20
2
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
-45
-36
-92
-25
-56
-7
15
0
-77
0
-1
0
0
0
0
0
36
61
-10
-68
-44
-67
-59
0
6
0
-11
0
0
0
0
0
0
30
-47
-86
20
5
-3
-123
23
33
-5
0
-3
0
0
0
0
0
-11
79
-5
36
-78
-8
-94
16
43
5
-3
0
0
0
0
0
0
34
-43
20
-103
-64
-44
-20
-74
-19
9
0
0
0
0
0
0
0
0
-98
-31
-55
-72
-108
-10
-45
-10
11
4
0
0
0
0
0
0
0
0
5
59
-5
-22
-64
10
-7
-6
0
0
0
0
0
0
0
0
0
0
6
-9
-20
0
19
-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
-62
-53
5
5
42
14
-90
0
0
0
-1
0
0
0
0
0
0
-11
39
-2
-71
-50
121
3
5
0
0
48
5
0
0
0
0
0
-1
-5
2
80
-23
35
82
46
61
-10
0
-1
0
0
0
0
0
21
-68
77
51
37
130
76
-19
75
-54
15
0
0
0
0
0
0
-22
-51
-44
-9
-23
-73
7
-131
-85
24
2
3
0
0
0
0
0
-37
23
9
-1
-73
5
53
74
22
28
1
0
0
0
0
0
0
17
-23
38
-14
-20
-63
-2
-59
68
37
0
0
0
0
0
0
0
-6
-60
11
88
-16
-3
-17
-53
31
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-158
24
53
165
-38
59
0
138
7
0
0
0
0
0
0
17
21
25
93
24
-3
86
0
4
41
-36
0
0
0
0
0
0
-10
-18
-4
25
36
4
0
1
0
-33
0
0
0
0
0
0
0
-2
53
5
25
-35
0
-1
0
0
-51
0
0
0
0
0
0
0
-22
41
79
42
23
37
1
-1
0
0
0
0
0
0
0
0
0
-11
-60
-98
-38
-33
14
1
0
0
0
0
0
0
0
0
0
0
22
75
8
-62
-112
9
0
0
0
0
0
0
0
0
0
0
0
-44
32
-23
17
-26
0
0
0
0
0
0
0
0
0
0
0
0
-71
-5
-75
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
2
0
5
6
0
-6
0
-2
0
0
0
0
0
0
0
2
43
-57
64
8
2
0
0
0
0
0
0
0
0
0
0
0
-6
15
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
23
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-8
-46
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
33
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-2
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
-52
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
-17
30
-55
8
-2
2
20
0
-20
0
0
0
0
0
0
0
0
-77
-34
20
9
0
1
0
1
7
0
0
0
0
0
0
0
1
-32
54
-23
-6
0
0
0
0
3
0
0
0
0
0
0
0
13
-23
4
-56
-48
0
1
0
0
0
0
0
0
0
0
0
0
-6
6
12
35
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
29
-55
23
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
-18
-1
22
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
-17
-10
-63
22
0
3
-15
0
-15
0
0
0
0
0
0
0
-2
-35
-59
48
-32
15
-6
0
6
0
0
0
0
0
0
0
0
5
-10
-78
19
-11
-4
0
-2
0
-5
0
0
0
0
0
0
0
0
-20
-67
42
21
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-10
48
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
-26
40
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-1
14
-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
-10
0
2
8
2
4
4
0
0
0
0
0
0
0
0
0
0
-31
-8
-9
1
10
-2
4
1
0
0
0
0
0
0
0
0
0
-9
8
5
-2
-6
5
7
0
2
0
0
0
0
0
0
0
0
14
1
-6
1
-7
0
-2
-5
-1
0
0
0
0
0
0
0
0
-4
4
-5
-6
-2
-10
2
0
0
0
0
0
0
0
0
0
0
-6
2
-7
-19
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
-43
48
19
-1
6
-101
-63
0
0
0
0
0
0
0
0
0
-7
-31
88
-6
13
-33
-19
11
-66
23
0
0
0
0
0
0
0
-49
0
47
-24
6
1
1
4
-46
-23
0
0
0
0
0
0
0
14
-14
87
5
6
-21
4
1
-36
-5
0
0
0
0
0
0
0
-93
43
-15
-28
7
2
16
10
-15
-5
0
0
0
0
0
0
0
9
-2
18
47
-19
-47
15
0
0
1
0
0
0
0
0
0
0
-4
-44
32
-10
-48
-31
2
-3
0
0
0
0
0
0
0
0
0
-8
53
29
-64
36
-1
0
-2
0
0
0
0
0
0
0
0
0
-48
21
-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
25
33
101
121
7
1
-33
0
44
-30
-17
-40
-3
0
0
0
0
51
26
-50
120
58
-13
-19
12
-15
-3
-47
45
1
0
0
0
-1
10
65
60
14
67
-15
-4
-19
-54
-44
19
-16
-14
0
0
0
-1
71
97
51
-51
43
75
82
84
96
49
53
-37
-22
0
0
0
0
34
13
27
-5
7
58
52
44
49
-39
45
-3
-1
0
0
0
-8
0
-18
-34
139
15
46
-24
109
43
21
0
0
-8
0
0
0
0
-4
14
-25
4
59
1
-16
55
0
1
2
0
0
0
0
0
0
0
1
1
-1
-86
3
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
91
62
27
-34
-41
21
0
-68
-100
132
56
20
0
0
0
0
-3
23
-6
20
-37
-39
49
36
13
6
9
-11
-34
18
3
0
0
-86
1
42
55
-19
-52
-68
-45
25
-25
-5
48
33
7
0
0
0
-9
14
-7
23
11
15
73
-17
85
14
58
89
33
25
0
0
0
-34
-54
57
41
-6
-21
49
37
-5
-26
-25
77
-12
0
0
0
0
-70
-42
67
23
41
32
46
-98
32
20
-21
74
26
1
0
0
0
-6
-72
-5
-20
2
5
-10
11
21
34
-78
-27
5
-2
0
0
0
9
-35
-46
1
-24
-23
14
27
26
60
-46
-10
10
4
0
0
0
0
-9
-3
39
-26
-23
-44
-6
40
17
75
7
-2
0
0
0
0
0
4
11
-45
29
-102
-1
0
60
47
8
-8
0
0
0
0
0
0
-1
68
34
-13
4
-65
-2
68
-64
-13
-1
2
0
0
0
0
0
1
27
93
14
45
20
-58
-1
28
19
4
0
0
0
0
0
0
-20
43
127
58
7
15
137
150
74
9
0
0
1
0
0
0
0
0
13
77
-21
-29
95
55
212
61
5
0
0
-2
0
0
0
0
0
0
55
94
44
-3
71
76
-9
-5
16
0
0
0
0
0
0
0
37
82
105
-128
5
-38
-40
-8
-1
0
0
0
0
0
0
0
0
0
145
5
57
3
22
-48
4
0
-1
0
0
0
0
0
0
0
0
43
-6
84
54
-41
11
-4
0
0
0
0
0
0
0
0
1
131
160
58
-122
178
0
38
-20
-32
3
-1
0
0
0
0
0
3
151
32
-15
-65
-106
31
20
28
-23
14
-11
0
1
0
0
0
26
3
-58
53
-49
-110
49
109
34
-17
2
2
0
0
0
0
0
3
15
46
37
53
140
131
94
79
-16
-23
4
0
0
0
0
0
-99
-33
45
85
24
-4
86
83
14
2
3
-1
0
0
0
0
0
1
24
54
-98
2
83
-19
2
34
-1
-5
0
0
0
0
0
0
2
-25
120
-82
14
20
82
40
-29
1
4
0
0
0
0
0
0
0
9
148
5
-123
-62
73
61
-30
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
-4
35
67
5
62
102
-24
-88
0
-9
-57
8
-1
0
0
0
0
-3
49
70
-14
44
66
-46
12
33
74
42
57
-19
0
0
0
0
-2
-35
32
25
-56
62
-12
-12
42
-16
59
-43
2
-3
0
0
0
0
39
-30
61
131
136
53
59
125
100
-30
-6
0
0
-1
0
0
0
47
5
39
10
30
20
24
-32
33
7
-3
0
0
0
0
0
4
14
-9
45
-38
-62
4
118
-1
5
0
0
0
0
0
0
0
8
-6
-4
-45
108
88
-42
-2
0
18
-6
1
5
0
0
0
0
0
0
-8
25
-79
7
-27
33
-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
46
-23
-49
0
6
0
0
0
0
0
0
0
0
0
3
0
27
-20
18
-119
-12
-20
4
0
0
0
0
0
0
0
0
1
-2
-15
-4
-5
26
80
-3
1
0
0
0
0
0
0
0
0
-18
-4
0
44
-26
52
-2
-3
0
0
0
0
0
0
0
0
0
0
-1
-5
-7
-2
2
-2
1
0
0
0
0
0
0
0
0
0
3
0
4
-91
-15
19
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
45
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
4
-15
-9
57
0
-66
0
6
0
0
0
0
0
0
2
18
10
65
19
-73
50
-107
114
-20
1
0
5
0
0
0
0
1
5
38
27
26
12
14
11
-84
-53
0
0
-5
0
0
0
0
24
-21
1
111
57
38
56
59
49
23
-5
0
0
0
0
0
0
-23
-26
8
2
33
9
-27
-17
36
32
16
-5
0
0
0
0
0
-7
1
25
-62
-39
10
28
78
-48
35
0
-1
0
0
0
0
0
7
-42
14
-9
-61
36
-84
90
-33
-1
3
0
0
0
0
0
0
1
0
4
-118
25
-32
11
25
30
0
5
0
0
0
0
0
0
0
0
0
-4
6
5
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-15
0
9
0
0
0
0
0
0
0
0
0
105
0
0
200
44
4
-30
-26
3
0
0
0
0
0
0
0
3
55
172
127
93
40
-44
17
-2
3
0
0
0
0
0
0
0
0
-57
75
78
65
-32
33
-36
-39
-25
0
0
0
0
0
0
0
-3
116
43
44
-13
-71
2
5
-7
0
0
0
0
0
0
0
0
-6
22
59
24
-69
74
44
-32
-51
0
0
0
0
0
0
0
0
2
-3
-48
53
33
7
27
6
0
0
0
0
0
0
0
0
0
1
6
-94
-39
-48
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
2
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
23
-17
88
-1
3
0
0
0
0
0
0
0
0
0
0
0
33
-57
14
18
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-127
25
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
8
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
42
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
69
0
0
65
-14
20
1
-3
0
0
0
0
0
0
0
0
0
111
7
-40
14
71
1
0
-6
0
0
0
0
0
0
0
0
0
65
0
-99
108
-18
-4
0
11
0
-2
0
0
0
0
0
0
10
-5
33
-43
-35
-26
7
-20
0
1
0
0
0
0
0
0
0
1
6
-31
33
35
-7
3
0
-2
0
0
0
0
0
0
0
0
0
11
19
-5
7
-2
0
-1
0
0
0
0
0
0
0
0
0
0
6
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
-13
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
2
41
0
0
88
30
-6
0
0
0
0
0
0
0
0
0
0
0
8
15
82
-75
-49
6
0
0
0
0
0
0
0
0
0
0
-4
51
33
35
-31
-2
0
0
0
0
0
0
0
0
0
0
0
43
77
-20
-141
62
0
0
0
0
0
0
0
0
0
0
0
0
-3
-66
110
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
73
-74
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
19
-2
-18
0
0
0
-1
5
0
0
0
0
0
0
0
-10
4
-22
0
15
0
0
0
-9
0
0
0
0
0
0
0
0
2
1
32
3
-16
32
0
-89
0
-5
0
0
0
0
0
0
0
1
32
-5
17
130
56
25
42
4
0
0
0
0
0
0
0
3
-6
-1
-1
91
53
39
-6
104
5
-7
0
-2
2
0
0
0
0
0
5
22
-32
-27
14
45
71
3
0
0
6
0
0
0
0
0
0
4
8
26
-81
32
53
-12
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
4
0
4
0
0
0
0
0
2
2
0
1
0
0
0
0
-1
13
2
0
-3
2
0
0
0
-62
-32
90
-3
-9
0
0
0
0
13
-4
6
-36
17
62
3
68
72
79
13
3
-6
0
0
0
0
-4
4
0
-6
126
135
-54
13
-54
9
-1
0
0
0
0
0
-1
-2
-16
8
-45
29
103
-1
4
-65
-4
9
0
0
-1
0
0
3
26
-32
-5
-137
39
-10
1
-36
9
1
0
0
0
0
0
0
-5
5
43
-9
125
43
15
-37
59
0
0
0
0
0
0
0
0
-2
0
0
-7
1
-37
5
29
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
-1
-2
0
0
0
0
0
0
0
-2
83
23
59
-60
3
-1
0
0
0
0
0
0
0
0
0
0
-25
-18
82
-43
-16
21
-3
0
0
0
0
0
0
0
0
0
0
-13
146
68
28
-7
34
0
0
0
1
0
0
0
0
0
0
0
5
-6
19
70
3
-26
18
-4
11
-1
-1
0
0
0
0
0
0
8
60
120
-105
-14
98
-13
-33
15
-4
2
-1
1
0
0
0
0
-8
-28
-72
-72
-54
-19
15
36
-21
-19
-13
10
-3
0
0
0
0
33
-76
131
83
-146
97
49
90
20
85
-14
-33
-1
-1
0
0
0
0
47
5
-82
-109
44
-49
84
-86
71
14
0
-5
0
0
0
0
0
0
6
-21
10
0
-6
0
2
-1
0
0
0
0
0
0
0
-73
-16
13
-72
49
-4
-29
0
0
0
-55
8
0
0
0
0
0
-10
70
63
0
118
53
211
0
0
42
61
-31
-29
1
1
0
0
2
-27
2
49
-19
133
200
127
26
26
-6
-27
0
0
0
0
0
15
-17
-67
-42
11
147
148
35
-47
41
-32
90
-9
0
0
0
0
57
-63
-23
14
-26
20
18
79
-1
111
39
-49
10
-4
0
0
0
-2
12
-28
-61
-1
56
61
-59
-16
56
66
-2
-7
8
0
0
0
-1
-33
-57
19
73
-122
96
-41
-98
-91
19
31
-1
2
0
0
0
0
-13
-48
20
-19
33
51
-5
19
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
-66
-61
-12
2
78
137
0
0
-8
53
-47
-1
1
0
0
0
-26
-74
-33
-38
-3
28
74
-22
89
30
-21
33
-43
-1
0
0
0
-59
87
7
4
7
16
18
19
44
-55
-9
-17
0
0
0
0
0
56
-8
-17
10
3
59
45
24
57
-8
24
2
-16
3
-1
0
0
-22
35
-5
4
11
-25
45
15
11
71
77
-49
-5
-1
0
0
0
-35
-7
55
-13
-21
-19
-44
33
0
-34
49
118
-6
1
0
0
0
55
25
-41
-3
13
-36
-39
-43
-108
72
-88
-15
-23
0
0
0
0
11
-39
8
-2
-13
-22
25
-41
77
-2
-24
17
-1
0
0
0
0
0
-6
-25
-51
-26
73
28
-40
-43
-51
-50
-2
0
0
0
0
0
-43
-51
-97
9
45
53
-16
0
0
0
0
0
0
0
0
0
0
9
31
40
77
125
7
62
46
-3
0
0
0
0
0
0
0
0
-19
-15
16
85
17
1
-14
-22
107
0
0
0
0
0
0
0
0
2
-19
-106
16
-93
16
8
-5
-57
0
0
0
0
0
0
0
0
-23
61
-56
29
-43
15
90
-56
-11
-4
0
0
0
0
0
0
0
-47
-84
-35
-79
-26
-37
-23
-56
-21
3
-5
0
0
0
0
0
0
-27
-69
57
56
101
42
-18
-73
-25
-21
0
0
0
0
0
0
0
32
18
-3
-24
87
8
-7
-67
-33
-30
1
2
0
0
0
0
0
0
-18
-62
40
15
8
-43
-12
56
0
3
0
0
0
0
0
0
5
19
25
48
37
153
-33
72
0
6
0
0
0
0
0
0
0
-89
70
-44
-9
77
57
0
91
8
24
0
0
0
0
0
0
0
21
-70
16
97
55
25
124
-19
4
10
-2
-1
0
0
0
0
0
-64
67
59
6
39
-66
61
32
32
3
-1
0
0
0
0
0
0
44
-21
1
-13
61
74
-53
-52
-8
-10
3
0
1
0
0
0
0
-74
-22
-14
-14
-44
17
105
-23
10
-4
-26
0
0
0
0
0
0
-89
-26
11
-149
-80
-2
45
-2
-43
-9
-1
0
0
0
0
0
0
128
25
-72
-124
-38
-109
-57
-3
97
5
0
0
0
0
0
0
0
0
0
-21
-23
-15
0
0
0
0
0
0
0
0
0
0
0
0
-39
26
7
70
54
22
104
0
0
144
23
-6
-20
0
0
0
0
-45
31
4
53
76
-2
86
0
161
0
18
-39
14
0
0
0
0
-18
-51
-24
0
-3
156
164
141
59
5
-6
-5
2
0
0
0
0
-98
15
8
-4
-44
10
14
-62
-77
-90
75
-16
0
0
0
0
0
-33
-52
56
9
-8
86
23
6
-81
-54
-10
-3
-3
2
0
0
0
1
-117
-33
-69
-53
-4
-17
63
106
-88
-85
23
0
0
0
0
0
-1
-29
27
-37
-54
56
-24
25
-31
-72
-92
-14
-2
0
0
0
0
0
2
9
55
65
123
65
29
22
2
12
0
0
0
0
0
0
0
0
-13
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
8
-108
-5
-13
8
0
24
-13
3
0
0
0
0
0
18
-32
16
-120
-65
10
5
0
-22
0
26
0
3
0
0
0
0
7
15
19
-66
14
30
8
19
-23
-35
-3
9
0
0
0
0
0
0
-51
14
16
70
111
105
104
-15
-57
-14
-8
0
0
0
0
0
-1
-35
100
47
108
194
5
-16
-53
-33
0
0
0
0
0
0
0
0
68
206
117
154
13
43
-27
-7
-14
-3
0
0
0
0
0
0
0
13
145
56
127
-28
33
-30
-21
5
0
0
0
0
0
0
0
0
0
6
155
-25
-14
-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
-50
92
16
45
14
43
35
0
0
0
1
1
2
0
0
0
0
-52
78
-7
32
-9
76
93
1
0
30
41
0
-1
0
0
0
0
27
-46
21
-13
46
-52
6
16
4
-20
-16
-1
0
3
0
0
0
11
37
75
75
-41
46
18
9
7
-58
33
0
0
1
0
0
0
-3
-74
7
0
56
19
-45
-40
57
-32
0
0
0
0
0
0
0
25
-107
55
-10
-27
-106
-143
12
-19
114
-1
0
0
0
0
0
0
24
-61
46
-50
7
61
-26
-55
50
-52
-2
0
0
0
0
0
0
-5
109
-23
59
51
44
16
0
45
0
0
0
0
0
0
0
0
0
17
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-14
13
3
1
0
-10
0
0
0
0
0
0
0
0
64
-137
172
25
-44
48
-71
13
38
-5
0
0
0
0
0
0
-7
-12
-60
47
-2
106
-53
-32
8
-42
53
0
0
0
0
0
0
-2
17
-102
52
-139
-5
0
0
-4
5
0
0
0
0
0
0
0
0
14
67
60
24
-1
7
0
0
0
0
0
0
0
0
0
0
0
18
-33
-16
14
3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
33
-15
-13
5
2
19
13
0
0
0
0
0
0
0
0
0
33
20
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-65
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
122
-72
22
52
-15
-3
-21
23
0
0
0
0
0
0
0
0
49
24
-43
0
-16
-1
-2
2
60
0
0
0
0
0
0
0
0
-14
64
56
14
24
0
0
2
0
0
0
0
0
0
0
0
0
0
46
95
7
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
8
27
-19
9
-18
-63
-43
3
0
0
0
0
0
0
0
0
-4
-38
85
7
1
-1
-3
6
0
0
0
0
0
0
0
0
22
-17
20
114
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
6
-14
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
25
-21
-16
-76
-50
11
4
0
0
0
0
0
0
0
0
0
0
-10
-39
78
-17
-6
0
0
1
0
0
0
0
0
0
0
0
0
1
-8
55
37
-5
0
0
0
0
0
0
0
0
0
0
-4
6
6
-5
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
1
1
-1
0
0
46
10
-18
0
0
1
0
0
0
0
0
0
4
23
37
5
19
76
-11
-20
11
0
0
0
0
0
0
0
0
3
-39
-1
45
4
19
-56
-69
-15
5
0
0
0
0
0
0
0
0
18
58
-18
45
-14
0
-24
-5
0
0
0
0
0
0
0
0
0
-1
9
-15
15
36
-8
-17
-3
1
0
0
0
0
0
0
0
0
2
-1
-5
-23
5
6
-5
6
-23
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
11
-8
-15
-14
0
-25
17
60
2
0
0
0
0
-4
35
47
-81
71
57
31
-66
-14
52
63
67
38
6
0
0
0
0
93
34
23
-3
14
42
83
-31
15
27
28
-19
-6
0
0
0
0
-13
54
138
101
58
135
161
87
80
-58
-5
-29
4
-1
0
0
2
0
-14
-59
-3
156
117
92
90
-176
-9
-1
4
0
0
0
0
0
0
-8
14
-15
-72
-7
27
-62
-14
21
6
0
0
0
0
0
0
0
-1
-6
0
4
18
25
53
-14
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
51
-3
64
-1
-45
34
0
52
44
17
-27
-5
0
0
0
0
0
12
91
27
12
-55
30
-32
55
-81
30
-23
53
-53
0
0
0
0
52
69
19
34
15
-2
-23
14
-125
-16
-92
-57
-1
0
0
0
-3
-10
12
25
25
51
-39
-26
18
-14
40
-14
62
6
0
0
0
-6
31
-23
56
-6
-8
23
-13
-81
-3
-72
-22
142
-32
0
0
0
0
40
-75
23
-11
32
-43
-72
92
2
31
46
103
-66
0
0
0
-8
-24
-58
-59
-11
15
-9
-97
-21
-57
-36
-17
-16
-5
0
0
0
0
0
14
-7
48
24
9
-54
-87
-44
-17
-4
0
0
0
0
0
0
0
0
-1
141
-13
-93
61
-70
-34
65
10
0
0
0
0
0
0
0
15
71
-3
-63
42
0
-119
-100
-30
-72
122
-19
-70
0
0
0
3
-43
-100
-6
102
90
18
-20
-30
118
-5
-2
-14
0
-13
0
0
3
53
49
93
-32
41
2
17
9
42
17
20
23
12
0
0
0
11
22
73
189
126
60
21
0
88
-9
-45
17
-4
0
0
0
0
0
-8
-54
19
45
-61
36
-46
15
-5
-33
-8
0
5
0
0
0
0
2
9
14
35
-24
31
-11
-67
95
13
-33
-6
0
0
0
0
0
0
-9
-9
-106
-26
-18
-16
49
-44
13
-100
-11
-25
3
0
0
0
0
-5
31
-14
68
-61
-20
-18
46
26
20
43
21
-77
0
0
0
0
0
-6
20
-79
-9
-10
-16
-71
16
26
144
54
16
0
0
0
34
-50
80
-13
35
0
-1
-29
2
8
51
-2
0
0
0
0
7
-13
64
86
-64
-1
16
-36
30
78
46
-25
5
-1
0
0
0
3
48
53
17
23
-26
5
78
-14
-42
24
30
-1
0
0
0
0
11
68
73
38
56
104
84
68
58
43
18
9
0
0
0
0
0
-1
19
-14
-8
26
34
40
-17
109
-20
21
-1
-2
0
0
0
0
0
9
73
93
10
70
23
-1
22
-68
53
14
-21
25
0
0
0
0
0
8
33
-52
28
-48
-10
-68
-34
10
78
-1
0
0
0
0
0
0
51
22
35
56
6
-57
-11
-33
-24
13
-76
-13
0
0
0
0
0
0
0
37
-37
9
0
0
0
0
0
0
0
0
0
-20
-72
43
-16
-15
-27
-21
0
-23
-16
-24
0
1
0
0
0
-3
49
63
81
28
-35
-70
-39
-114
5
-54
-49
-6
0
0
0
0
-6
48
80
123
13
-14
69
-17
114
41
-10
22
32
-3
0
0
0
0
-4
5
93
49
125
-23
133
15
36
77
-17
1
-17
6
0
0
0
2
22
32
147
-12
29
52
79
-11
14
-13
0
0
0
0
0
0
0
10
22
19
46
113
115
40
-25
-96
-2
0
0
4
0
0
0
0
0
0
0
-71
-74
-13
-62
20
-1
0
0
0
0
0
0
0
0
0
5
0
3
2
-33
5
9
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
25
-1
-58
0
-2
0
0
0
0
0
0
0
0
0
-1
-5
-11
-11
23
122
28
-2
0
0
0
0
0
0
0
0
0
4
-14
103
44
11
-7
-27
-4
-2
0
0
0
0
0
0
0
0
-5
3
45
36
88
118
1
0
0
0
0
0
0
0
0
0
0
0
7
74
26
16
4
-7
3
0
1
0
0
0
0
0
0
0
0
16
2
65
8
80
13
-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
9
0
0
63
55
-64
0
-26
-50
1
0
0
0
0
0
-2
0
-10
60
12
180
-19
-51
15
-65
-44
5
20
1
0
0
0
0
-6
-10
11
39
107
-44
12
4
-37
19
10
1
0
0
0
0
0
0
0
16
50
120
109
142
89
-71
28
-3
-6
0
0
0
0
0
0
0
14
129
30
33
-23
-69
-93
50
0
0
0
0
0
0
0
0
0
3
-27
-80
-64
37
-44
95
4
-6
-1
0
0
0
0
0
0
0
0
-14
49
46
-40
-78
-10
81
-8
0
3
0
0
0
0
0
0
0
0
-23
-92
5
-62
-63
21
-5
1
0
0
0
0
0
0
0
0
0
-3
-5
-11
-172
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-5
-20
-51
0
0
0
0
0
0
0
0
0
-12
0
0
-2
94
72
60
13
-5
0
0
0
0
0
0
0
-5
27
69
19
14
58
99
63
-66
66
0
0
0
0
0
0
0
10
69
75
34
-14
-7
-14
-66
-52
10
0
0
0
0
0
0
0
0
2
5
46
2
-47
19
-5
-2
-72
0
0
0
0
0
0
0
-7
121
42
1
50
60
-8
7
7
-23
0
0
0
0
0
0
0
-4
-52
84
-44
-30
31
-81
-2
-12
11
1
0
0
0
0
0
0
0
-54
-44
-11
41
-34
-55
19
-2
1
0
0
0
0
0
0
0
0
-10
4
78
-21
-66
0
0
0
0
0
0
0
0
0
0
0
0
-46
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
-7
22
-25
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-33
-24
33
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
3
-35
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
13
20
-34
-1
3
0
0
-1
0
0
0
0
0
0
0
0
-1
-101
-14
4
-2
-5
0
-2
0
0
0
0
0
0
0
0
0
0
129
17
12
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
99
0
0
-19
5
-1
0
0
0
0
0
0
0
0
0
0
0
60
7
54
50
1
-7
4
0
0
0
0
0
0
0
0
0
0
90
192
100
10
0
-2
0
8
-1
0
0
0
0
0
0
0
3
-35
-85
-3
57
44
-5
-4
-3
-1
0
0
0
0
0
0
0
3
-31
64
18
-95
-29
2
-23
2
1
0
0
0
0
0
0
0
0
12
-57
16
128
-55
2
2
-1
4
0
0
0
0
0
0
0
0
0
1
59
65
1
0
-9
14
0
0
0
0
0
0
0
0
0
0
0
20
5
0
0
0
0
0
0
0
0
0
0
0
0
4
27
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
-1
-13
0
0
4
-3
-4
-2
0
0
0
0
0
0
0
0
0
0
-62
84
116
7
1
0
1
0
0
0
0
0
0
0
0
0
-13
-43
53
-144
71
17
0
7
0
0
0
0
0
0
0
0
0
-2
23
113
-33
53
-4
2
-3
0
0
0
0
0
0
0
0
0
0
-87
-36
28
4
6
0
6
-3
0
0
0
0
0
0
0
0
0
63
-89
106
-39
10
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-3
-50
-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
57
13
-5
0
0
0
-13
1
0
0
0
0
0
0
-6
22
61
15
5
-33
0
0
0
0
2
0
0
0
0
0
0
-5
-5
24
15
0
71
-77
85
6
1
0
3
0
0
0
0
0
0
-4
47
-5
-46
47
-14
-15
81
64
-5
-6
1
0
0
0
0
0
0
9
-6
-35
-82
23
-28
60
-2
55
-3
10
0
0
0
0
0
0
0
3
-26
-61
24
-57
64
22
3
2
6
2
0
0
0
0
0
0
-1
10
30
-37
-35
-27
-14
17
0
0
0
0
0
0
0
0
0
0
0
7
46
-41
-89
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
30
-1
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
7
57
3
0
2
0
0
0
0
0
4
6
3
41
0
0
0
48
77
36
9
0
0
0
0
-1
0
8
122
20
27
-5
55
44
1
16
4
-1
0
-1
0
0
0
0
33
-14
33
91
97
92
-28
-7
6
-8
-4
0
0
0
0
0
0
9
-29
29
-6
-56
23
-34
-14
19
-1
0
0
0
0
0
0
0
0
-38
-9
-83
-164
-4
76
-63
6
-1
-5
-6
0
0
0
0
0
0
13
53
109
43
-43
19
-14
-11
-33
1
-8
-6
0
0
0
0
0
0
3
-5
-104
39
-54
15
5
0
-2
0
0
0
0
0
0
0
0
0
-5
77
14
-19
59
7
-4
0
0
0
0
59
-102
69
-1
-86
-4
1
0
0
0
0
0
0
0
0
0
0
22
22
69
48
20
17
2
0
0
0
0
0
0
0
0
0
0
51
54
45
65
50
51
-6
-1
0
0
0
0
0
0
0
0
0
15
-61
-10
13
69
-9
-5
-2
2
0
0
-1
0
0
0
0
0
-37
4
36
-21
86
60
22
-5
-9
0
0
0
13
-3
0
0
0
0
3
8
42
-18
28
84
53
14
-29
18
-6
-3
-8
0
0
0
0
-7
105
-36
-8
-38
64
-1
14
19
-23
1
-1
5
0
0
0
0
1
3
-8
0
0
1
33
-2
10
-10
33
105
-18
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
46
0
-101
-71
72
2
111
0
0
0
20
-18
-10
19
0
0
0
26
9
15
7
53
-64
-33
0
0
29
76
-44
33
5
0
0
0
33
34
49
54
17
66
-30
3
92
242
113
60
11
-5
-2
0
0
-128
67
15
-10
61
-10
87
59
47
29
-40
5
-2
-1
-6
1
0
2
-72
18
20
64
-53
49
129
-24
-107
6
-19
5
0
0
-1
0
0
17
-54
59
32
-25
-4
-63
-58
-20
0
11
-3
1
-2
0
0
0
0
-8
-30
30
1
10
-78
-76
13
-29
-6
-2
0
-2
0
0
0
0
0
-5
2
0
-1
10
-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
-2
4
33
-10
26
5
98
0
0
64
1
-27
10
0
0
0
0
10
-27
-25
35
-1
-21
13
69
97
-58
-83
38
-2
0
0
0
0
38
33
-41
12
18
52
6
-38
29
-82
-65
-10
-17
1
0
0
0
3
52
-52
10
18
34
-9
54
-59
-102
-73
-17
9
-2
0
0
0
36
-13
23
13
-12
-35
-16
35
-104
-35
32
2
-32
2
0
0
0
0
14
-24
52
-4
23
45
-19
-72
-14
-17
19
1
0
0
0
0
0
0
-38
104
1
-13
-50
63
20
-1
-90
-33
-51
0
0
0
0
0
0
53
77
27
12
-31
8
-68
-16
14
0
0
0
0
0
0
0
0
14
33
45
-28
-2
-13
0
0
0
0
0
0
0
0
0
26
19
57
-9
-77
-19
-20
0
0
4
0
0
0
0
0
0
0
-4
21
112
23
-78
101
104
99
8
0
0
0
0
0
0
0
0
-21
-55
-32
-50
56
55
-26
-41
-11
0
0
0
0
0
0
0
0
2
29
29
86
-57
-24
105
1
25
0
0
-3
0
0
0
0
0
0
18
35
64
-69
18
-48
-60
-23
-5
0
2
0
0
0
0
0
0
2
-1
-11
-7
46
-3
-45
-52
1
0
7
0
0
0
0
0
0
0
1
0
-10
-8
-16
-36
-3
1
0
0
1
1
0
0
0
0
0
0
5
0
-14
-45
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
36
10
-13
46
-27
78
16
18
0
0
0
0
0
0
0
0
0
-53
52
28
20
25
38
0
-34
-15
1
0
0
0
1
0
0
0
88
-49
13
28
14
34
16
73
-34
-7
0
-1
0
0
0
0
0
35
-31
43
-18
44
82
5
-162
-23
-10
-9
-1
-2
0
0
0
0
6
10
-13
-21
-27
19
-52
-23
16
-5
0
6
0
0
0
0
0
-8
-14
6
32
54
51
-54
-83
0
4
-2
0
0
0
0
0
0
0
-9
45
-26
-5
-21
-53
-23
5
-14
0
0
0
0
0
0
0
14
0
1
-5
-21
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
22
82
67
-23
-102
53
102
0
0
27
-52
-3
-8
-2
0
0
0
-9
3
49
12
14
-1
137
0
169
0
-3
-6
-5
0
0
0
0
62
60
35
61
25
-5
-14
23
183
121
21
-5
-8
0
0
0
0
77
90
7
45
55
8
30
104
52
51
45
-7
2
2
0
0
0
-1
5
-44
-21
13
30
33
-78
-76
-34
55
23
1
0
-1
0
0
0
-9
13
65
49
146
32
-113
-56
73
-17
-4
0
0
0
0
0
0
0
-5
3
-14
124
6
-81
-116
-50
-1
0
0
-1
0
0
0
0
0
0
0
-22
-1
25
-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
-4
-46
-2
-55
-46
7
5
0
-5
-2
3
-1
0
0
0
0
0
-5
57
-89
-140
-48
-45
0
-20
0
0
1
1
0
0
0
0
0
-3
6
-23
-123
41
-24
-17
11
-1
0
0
0
0
0
0
0
0
-26
16
-7
5
-21
-68
-4
-4
-33
11
-6
4
0
0
0
0
0
1
28
-18
-11
-32
-88
-15
50
58
47
1
0
0
0
0
0
0
0
-3
-12
-59
1
-101
-82
-35
51
-1
0
3
0
0
0
0
0
0
0
0
26
19
-9
62
-17
19
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-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
-18
5
-11
16
-30
0
0
0
0
-3
-14
-7
0
0
0
0
13
40
-9
86
-11
88
130
-1
0
-3
5
5
0
0
0
0
0
-47
6
-5
25
-57
6
45
8
27
23
0
0
0
0
0
0
0
-1
-123
59
63
57
164
-100
-56
77
21
-8
11
0
0
0
0
0
0
21
52
137
139
32
90
-5
-33
15
5
5
0
0
0
0
0
0
6
71
-2
-20
73
-10
-25
-47
-2
33
1
0
0
0
0
0
0
5
1
11
-13
9
-5
-60
-24
38
4
0
0
0
0
0
0
0
0
-1
-1
-2
-25
-1
-10
0
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
3
44
-13
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
-48
-8
-124
16
61
-21
0
0
0
0
0
0
0
0
0
0
0
1
-13
-33
-11
0
9
37
0
0
0
0
0
0
0
0
0
0
-14
-47
17
25
52
76
0
0
0
0
0
0
0
0
0
0
2
6
111
-1
-2
-48
14
-1
0
0
0
0
0
0
0
0
0
0
-1
80
-16
-117
-3
32
0
0
0
0
0
0
0
0
0
0
0
-14
9
-47
7
-19
-7
5
0
0
0
0
0
0
0
0
0
0
0
31
-24
-52
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
10
0
0
0
0
0
0
0
0
0
0
0
-6
27
8
-90
-31
-15
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-84
47
43
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-8
17
50
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
18
-135
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
-8
111
6
0
0
0
0
0
0
0
0
0
0
0
-3
1
-96
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
76
0
0
0
0
0
0
0
0
0
0
-6
0
25
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
7
0
83
33
-112
-67
2
0
0
0
0
0
0
0
0
0
-1
0
1
20
-82
-52
27
0
0
0
0
0
0
0
0
0
0
0
8
-34
22
-70
53
52
0
0
0
0
0
0
0
0
0
0
0
0
4
98
-50
10
-20
0
0
0
0
0
0
0
0
0
0
0
-1
0
35
-63
-9
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-45
-35
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
19
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
61
2
0
0
0
0
0
0
0
0
0
0
0
-2
-25
-51
44
-42
-18
0
0
0
0
0
0
0
0
0
0
0
5
49
13
74
98
3
0
0
0
0
0
0
0
0
0
0
0
20
-52
-56
-63
-2
29
0
0
0
0
0
0
0
0
0
0
0
3
21
-16
6
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
-73
52
-27
28
1
0
0
0
0
0
0
0
0
0
0
0
0
-105
5
13
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
-15
0
0
0
0
0
0
0
0
-2
-1
0
0
0
29
14
14
-2
-7
0
0
0
0
0
0
0
-5
27
9
-63
-39
2
31
114
6
0
0
0
0
0
0
0
0
-10
39
-83
-86
63
-5
-2
-1
9
1
0
0
0
0
0
0
0
-5
0
-56
-92
15
28
5
3
14
0
0
0
0
0
0
0
-1
7
7
-56
-18
-94
22
-3
0
1
0
0
0
0
0
0
0
0
0
0
-90
-90
-55
-107
0
-11
0
0
0
0
0
0
0
0
0
0
-13
-130
-14
-23
0
0
0
0
0
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
21
-83
0
0
0
45
-6
-33
23
-2
0
0
0
0
0
-3
1
-10
-19
-27
43
115
90
29
-23
17
-37
-3
0
0
0
0
0
0
-3
-22
-42
-12
24
-93
5
23
-14
-33
-1
-4
0
0
0
0
0
-2
-32
-19
-8
69
16
-85
24
15
-27
0
6
0
0
0
0
0
-9
-22
-39
2
-91
-46
-61
74
19
-1
0
0
0
0
0
0
2
2
-49
31
45
-25
-17
-5
4
3
1
0
0
0
0
0
0
0
-1
-22
-14
100
92
-1
-9
-8
0
0
0
0
0
0
0
0
0
0
0
-4
25
-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
-27
0
0
0
62
63
32
78
87
31
53
0
0
0
0
6
-21
95
2
0
0
155
70
73
88
68
12
-34
0
0
0
0
-2
4
-39
-79
-38
12
176
169
62
35
-3
57
38
0
0
0
3
0
1
-18
35
54
58
100
42
37
69
52
46
121
0
0
0
0
0
5
-52
49
-43
133
2
3
14
-1
92
50
149
0
0
0
0
0
-7
10
-5
-38
9
-35
-8
3
6
38
106
1
0
0
0
0
0
0
4
-49
2
-25
-14
82
-42
48
32
-14
0
0
0
0
0
0
-2
-2
-5
-45
-5
37
39
-33
-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
9
-42
0
0
-72
-13
-10
-4
-3
-20
72
0
0
0
0
0
-16
-46
-73
9
-16
-55
-11
-14
-25
-25
62
41
0
0
0
0
1
3
-2
-1
-8
-14
-19
16
-27
-12
-16
56
99
0
0
0
0
-41
7
-76
15
41
-31
38
-13
-19
8
-19
-6
-14
0
0
0
1
0
2
45
-26
-50
-29
-18
1
-23
3
34
46
33
0
0
0
0
-1
9
-64
54
-30
-5
-24
-89
-26
-48
34
42
13
0
0
0
0
0
-2
-8
8
46
66
-109
-1
-27
2
-23
24
0
0
0
0
0
0
1
0
30
-63
45
-14
-53
9
-22
12
3
0
0
0
0
0
0
0
0
0
0
16
-5
4
-101
-34
27
0
0
0
0
0
0
0
0
0
0
0
0
-7
160
69
18
-20
-101
10
0
0
0
0
0
0
0
0
32
53
37
13
22
-35
-42
71
45
0
0
0
0
0
0
0
-2
-45
80
159
22
4
-108
-47
116
71
0
0
0
0
0
0
1
8
-85
-34
70
-13
30
-53
-52
30
14
0
0
0
0
0
0
0
8
5
3
-4
118
-69
47
-2
47
-11
0
0
0
0
0
0
0
0
1
-52
-110
32
-16
-19
-49
-50
0
0
0
0
0
0
0
0
0
-7
16
-107
2
-16
6
47
31
0
0
0
0
0
0
0
0
0
-1
24
6
-64
-29
-81
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
3
2
11
1
0
0
0
0
0
0
0
0
14
0
85
51
17
94
-60
16
36
-75
0
0
0
0
0
0
6
7
45
43
0
21
27
28
45
-50
70
0
0
0
0
0
0
0
5
62
70
11
109
66
31
25
-3
-3
0
0
0
0
0
0
-1
-1
-21
61
-19
20
-69
3
26
-14
-14
0
0
0
0
0
0
-3
8
60
-32
96
63
75
15
5
58
83
0
0
0
0
0
0
0
0
26
9
-90
71
14
-28
-10
109
-7
0
0
0
0
0
0
0
-46
0
-111
-62
16
88
-46
98
-12
0
0
0
0
0
0
0
0
0
2
-27
53
52
80
-1
2
5
6
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-2
0
0
0
0
0
0
0
0
68
87
0
0
78
62
88
72
-4
77
0
0
0
0
0
0
-48
23
0
-157
0
90
97
72
32
30
34
-6
0
0
-4
0
1
-16
-17
56
30
60
14
95
21
85
86
61
-54
0
0
0
0
-2
2
-2
-14
53
-66
10
80
75
66
-155
-18
214
0
0
0
-6
0
14
-5
-36
20
93
-33
-5
23
99
-26
-19
-3
0
0
0
0
1
3
-9
-77
44
14
-89
5
31
-21
51
107
0
0
0
0
0
0
-5
-14
-2
-28
-14
64
-21
-99
4
-72
0
0
0
0
0
0
0
0
3
-44
-1
5
-18
-10
-18
60
-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
44
-22
-51
-59
82
10
3
0
0
0
0
0
0
4
0
-35
0
-60
-26
-58
-6
-36
39
5
0
0
0
0
0
0
22
41
-37
-18
68
98
20
77
44
80
-1
0
0
0
0
0
1
2
9
71
25
107
-69
6
-10
-22
-3
0
0
0
0
0
-2
0
4
-3
11
-5
32
-46
100
5
63
2
2
0
0
0
0
0
0
0
4
-9
-46
-33
30
-23
33
6
1
0
0
0
0
0
0
0
0
0
0
9
0
-19
13
-5
5
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
14
70
-53
10
-133
-1
14
0
0
0
0
0
2
3
0
0
2
-153
62
51
1
-23
-36
-9
0
0
0
0
0
0
0
-53
5
24
103
64
-2
52
-40
94
16
0
0
0
0
0
0
0
8
-34
-16
29
116
4
120
31
-20
-6
0
0
0
0
0
-5
-3
-25
24
14
43
22
-50
32
60
0
0
0
0
0
0
0
0
0
24
14
-6
24
39
5
13
97
-1
-3
0
0
0
0
0
0
0
24
100
1
-53
25
-18
-42
0
-22
-2
0
0
0
0
0
0
0
1
41
0
2
-32
6
-70
38
86
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
3
0
-6
55
52
-14
-2
78
-10
-4
0
0
0
0
0
0
-1
2
-42
18
90
-35
18
23
17
60
3
0
0
0
0
0
0
0
0
0
-2
5
-79
-9
109
30
11
3
0
0
0
0
0
0
0
0
0
0
24
41
137
65
0
33
-18
0
0
0
0
0
0
0
0
0
0
0
-1
58
-3
81
54
100
0
0
0
0
0
0
0
0
0
0
-1
-23
60
-35
18
28
-9
0
0
0
0
0
0
0
0
0
0
5
-23
11
-104
19
75
0
0
0
0
0
0
0
0
0
0
0
0
0
4
27
-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
24
90
2
-14
-1
0
0
0
0
0
0
0
0
0
0
0
1
33
23
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
6
53
-21
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
119
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
3
-4
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
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-26
43
-69
4
-6
6
0
0
0
0
0
0
0
0
3
0
0
-10
-4
5
5
69
0
0
0
0
0
0
0
0
-1
0
0
-2
-4
43
-42
20
53
-13
0
0
0
0
0
0
0
0
0
0
-2
14
83
224
52
97
5
0
0
0
0
0
0
0
0
0
0
2
3
-43
41
46
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
74
-30
109
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
25
-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
-33
14
22
59
4
0
0
0
0
0
0
0
0
0
-1
2
5
-82
68
133
52
-36
0
0
0
0
0
0
0
0
0
8
0
0
21
67
14
66
77
-10
0
0
0
0
0
0
0
0
0
0
3
-14
-4
149
144
-21
0
0
0
0
0
0
0
0
0
0
0
0
21
33
29
5
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-19
78
67
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
6
0
0
0
0
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
150
53
-126
16
-21
-44
0
0
0
0
0
0
0
1
0
21
27
19
-57
-65
-71
10
-77
4
0
0
0
0
0
0
0
0
-14
-2
27
4
30
24
75
-2
-5
0
0
0
0
0
0
0
-1
-5
44
-32
43
49
-18
-8
-6
2
0
0
0
0
0
0
0
1
27
-12
-14
20
57
21
-16
-41
0
0
0
0
0
0
0
0
8
-14
8
5
-2
-29
62
-17
17
-2
0
0
0
0
0
0
0
0
8
1
5
0
-5
19
-26
0
0
0
0
0
0
0
0
0
0
0
24
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
-31
95
39
-24
43
-19
51
-2
0
0
0
0
0
0
-6
0
-10
124
-42
-4
-52
74
-36
36
6
0
0
0
0
0
0
0
-1
-24
-32
-24
-53
-19
56
-46
1
11
0
0
0
0
0
0
-1
-3
-6
46
78
5
53
137
15
-40
0
0
0
0
0
0
0
-5
-1
-4
-15
3
21
59
33
74
-89
14
0
0
0
0
0
0
0
-7
9
49
1
68
-83
0
55
-104
4
0
0
0
0
0
0
0
14
-71
19
-11
52
11
29
-1
14
14
0
0
0
0
0
0
2
1
4
-1
0
1
13
17
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
99
4
0
37
-32
12
51
-25
-42
16
-2
0
0
-8
3
57
-9
31
-14
3
13
-51
39
47
156
80
-42
-9
0
0
0
0
0
-76
49
-26
-27
25
-3
46
111
119
34
-13
-47
0
0
0
0
3
-14
-63
15
-7
-31
-65
117
74
71
112
44
-3
0
0
0
1
-3
-14
-49
130
-15
54
-33
104
51
-27
88
98
0
0
0
0
0
0
0
31
-2
15
-56
-64
-13
-15
-60
-74
0
0
0
0
0
0
0
0
-10
-8
23
-6
113
-68
-46
-5
-17
0
0
0
0
0
0
0
3
0
-8
-3
43
-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
-53
-23
-39
0
-17
-46
-11
28
109
-118
-20
0
0
0
0
-5
53
-17
-41
-10
15
-9
-17
-13
34
42
17
44
0
0
0
0
-7
-24
65
-3
12
-8
-13
-1
17
38
44
5
72
0
0
0
0
-1
37
17
-7
17
19
25
-6
24
58
75
-71
53
0
0
0
0
-24
-10
-48
5
-21
21
-58
-32
-26
32
-40
11
-54
0
0
0
-1
-5
-53
3
0
28
55
-23
19
-36
12
92
48
-4
0
0
0
0
-1
16
-11
-4
34
-2
-25
15
-24
48
73
-66
5
0
0
0
0
0
0
51
-45
40
53
-3
-36
-64
-12
75
-33
-3
0
0
0
0
0
0
0
-3
2
41
-49
37
31
-62
0
0
0
0
0
0
0
0
-5
-49
-21
17
0
71
40
17
-82
-10
-2
0
0
0
0
3
10
-2
56
8
-2
11
87
7
95
136
-41
-1
0
0
0
0
0
26
-4
6
-50
-2
53
75
8
-61
-20
142
0
0
0
0
0
-1
33
5
42
13
7
-17
22
-29
40
53
34
-6
0
0
0
0
0
8
77
-28
-19
4
-3
51
-37
67
26
-6
0
0
0
0
-1
3
-14
54
14
-17
-39
-42
-52
-43
-5
-20
-22
0
0
0
0
-1
0
23
15
17
-24
6
-32
-40
19
2
-132
0
0
0
0
0
1
19
-14
-16
62
-4
14
-5
-7
-29
-32
109
1
0
0
0
0
0
-1
36
33
-23
-17
1
9
-9
13
-2
4
0
0
0
0
0
0
0
0
4
-18
-4
17
0
-26
-13
15
-55
109
1
0
0
0
0
0
0
0
23
9
49
-1
-21
-17
-2
47
15
5
0
0
0
0
0
0
-9
5
3
37
42
29
31
28
71
32
5
0
0
0
0
0
-1
-4
-15
-30
46
22
-52
12
67
11
72
9
0
0
0
0
0
1
-5
-60
14
20
-20
17
-6
-69
31
82
9
0
0
0
0
0
0
-34
17
-52
6
-13
-3
-42
-42
-23
27
25
0
0
0
0
0
0
-26
29
5
8
14
-66
28
31
-98
-22
0
0
0
0
0
0
0
-3
-33
45
-40
100
-6
19
-18
-110
-6
0
0
0
0
0
0
0
0
0
0
0
14
5
-33
0
-3
0
0
0
0
0
0
0
0
3
-48
5
66
0
25
54
44
33
126
-100
31
1
0
0
0
0
51
-28
41
-39
42
-18
11
-11
106
19
8
67
12
0
0
0
3
-5
60
22
24
-11
18
-4
49
106
84
86
53
113
0
0
0
0
1
-25
-48
-31
33
23
-42
27
38
141
130
21
34
0
0
0
2
-2
21
122
50
93
-24
-41
62
173
97
48
-44
18
0
0
0
0
-7
17
-20
-58
-45
-51
-57
-31
35
-40
-29
-5
0
0
0
0
0
0
-5
17
4
-14
-50
-106
-65
-17
79
-32
1
0
0
0
0
0
0
0
-3
-8
0
-60
-16
-28
15
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
-43
0
-57
-31
2
-43
-19
-9
51
30
0
0
0
0
0
0
-1
-5
2
-125
-61
127
61
13
22
-82
-33
0
0
0
0
0
3
-5
-27
-85
-29
10
55
-103
-5
85
80
-44
0
0
0
0
0
0
-7
6
33
-25
53
64
130
7
113
9
0
0
0
0
0
0
0
-6
-33
-13
128
10
-24
137
46
5
3
0
0
0
0
0
0
0
22
-27
79
-51
51
34
23
9
22
0
0
0
0
0
0
0
0
-2
73
55
7
11
23
-50
10
0
0
0
0
0
0
0
0
0
1
-3
91
157
17
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
2
1
0
0
0
0
0
0
0
0
0
0
0
-34
-24
94
0
-32
-27
67
30
109
-35
-56
3
0
0
0
0
-7
-34
24
-14
-49
55
14
143
26
89
54
51
-1
0
0
0
0
-2
-14
2
33
7
-22
21
40
38
42
-4
60
1
0
0
0
0
-5
2
-42
-40
11
44
7
51
59
5
36
93
11
0
0
0
0
0
29
9
-8
-53
-32
83
24
22
143
49
-8
32
0
0
0
0
0
27
-18
-50
-38
-35
80
-11
-1
53
-45
54
3
0
0
0
0
-3
89
89
0
-41
72
-38
-12
23
92
-27
-1
0
0
0
0
0
-2
6
14
14
-6
14
49
23
0
2
0
0
0
0
0
0
0
0
3
3
14
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
0
0
0
0
0
0
0
0
0
0
-2
8
21
-70
0
0
81
0
0
0
0
0
0
0
0
0
0
0
-14
-19
-19
34
68
184
0
0
0
0
0
0
0
0
0
0
0
-1
-34
-29
-23
111
65
14
0
0
0
0
0
0
0
0
0
0
-1
6
5
-23
60
81
2
0
0
0
0
0
0
0
0
0
0
0
0
14
-81
40
-8
46
0
0
0
0
0
0
0
0
0
0
0
-1
-8
3
-93
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
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
20
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
14
6
-36
24
0
0
0
0
0
0
0
0
0
0
0
-3
1
6
22
59
-17
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
-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
25
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
4
-8
0
0
93
0
0
0
0
0
0
0
0
0
0
0
0
17
18
3
-106
34
0
0
0
0
0
0
0
0
0
0
0
-1
8
32
25
-16
120
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
1
45
76
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
53
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
-1
1
34
0
0
-46
-5
0
0
0
0
0
0
0
0
0
0
0
-1
-14
46
176
89
36
0
0
0
0
0
0
0
0
0
0
0
-3
-59
14
84
54
-60
3
0
0
0
0
0
0
0
0
0
0
0
17
2
-2
-83
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-28
-6
9
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
0
0
0
0
0
0
0
0
0
0
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
5
0
4
0
0
0
0
0
0
0
0
-9
0
0
0
56
26
-9
-7
0
0
0
0
0
0
0
0
0
0
5
17
69
42
64
36
5
0
0
0
0
0
0
0
0
0
-1
-3
-16
43
20
75
11
-20
-3
3
0
0
0
0
0
0
0
0
9
-5
65
-42
15
24
-1
4
0
0
0
0
0
0
0
0
0
7
0
-50
2
62
-1
-11
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
2
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
-2
0
0
-3
0
0
0
0
-3
3
0
0
0
0
0
0
0
1
4
-46
-2
0
0
0
34
13
5
-1
1
0
0
0
0
0
0
0
-1
24
58
95
86
85
-83
-64
0
-5
0
0
0
0
0
0
0
-2
-16
35
78
82
64
-11
64
-59
25
2
0
0
0
0
0
0
0
0
93
72
-14
-25
-16
-29
34
-5
1
0
0
0
0
0
0
0
0
-8
22
5
34
-5
-44
-7
-31
4
0
0
0
0
0
0
0
0
2
7
-24
5
-8
0
-27
11
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
31
0
0
0
14
80
47
37
42
51
87
0
0
0
0
3
-2
41
-9
0
0
-58
30
26
32
69
44
91
0
0
0
0
0
0
0
119
105
22
161
94
20
54
50
28
67
0
0
0
0
0
1
5
-98
99
41
177
113
67
9
82
94
44
0
0
0
0
3
0
7
36
-26
-67
-49
20
4
-19
-14
-56
-14
0
0
0
0
0
0
1
-18
-15
34
38
37
56
-33
40
128
23
0
0
0
0
0
0
0
0
-4
20
158
66
-60
-16
-24
5
0
0
0
0
0
0
0
0
0
-1
10
1
5
-54
50
18
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
13
0
0
31
23
-28
-10
5
-45
16
0
0
0
0
4
16
-17
-77
-18
-4
17
20
2
-8
4
17
133
0
0
0
0
0
-43
44
-122
-33
-36
-41
-6
-18
13
15
35
30
0
0
0
0
0
-2
-69
3
18
-88
-76
1
10
-4
5
-47
105
0
0
0
0
0
15
51
-42
-89
-102
-32
-25
7
-29
-7
65
93
0
0
0
0
0
-1
-15
18
24
8
-66
-26
-27
-39
-24
22
15
0
0
0
0
0
3
4
-44
29
28
6
35
23
-15
-4
32
-5
0
0
0
0
0
0
-7
-2
19
80
-72
40
14
1
-19
19
0
0
0
0
0
0
0
0
2
-5
-53
50
18
22
-49
-11
0
0
0
0
0
0
0
0
0
-6
0
0
81
-21
2
89
122
-4
93
0
0
0
0
0
0
0
3
-22
68
97
35
40
37
19
-14
-50
0
0
0
0
0
0
-3
-5
-16
-16
-7
-29
-21
-20
14
57
-23
0
0
0
0
0
0
0
0
16
86
-42
22
-24
58
-1
-29
-19
0
0
0
0
0
0
0
-19
4
0
28
72
77
44
-29
52
26
0
0
0
0
0
0
0
0
-25
49
-22
91
-7
-9
-45
49
-35
0
0
0
0
0
0
0
0
0
3
-15
48
46
-20
76
-1
4
0
0
0
0
0
0
0
0
0
0
72
-30
82
32
11
24
103
0
0
0
0
0
0
0
0
-1
-3
10
9
80
-18
10
74
52
0
0
0
0
0
-1
0
2
0
79
-1
33
80
-4
74
76
-15
0
0
0
0
0
0
-3
17
-20
-5
0
59
80
43
32
-31
31
0
0
0
0
0
0
6
-11
40
77
11
-6
3
15
39
-68
67
0
0
0
0
0
0
-2
-5
-93
35
62
17
38
1
31
-3
27
0
0
0
0
0
0
0
1
-90
12
-138
24
45
-52
11
68
2
0
0
0
0
0
0
-2
0
-6
-46
-38
-31
-17
21
22
128
67
0
0
0
0
0
0
0
0
5
16
5
61
19
20
62
25
-80
0
0
0
0
0
0
0
-1
9
0
0
8
61
26
12
42
28
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-22
0
0
0
0
0
0
0
1
2
3
0
0
139
78
108
33
10
129
-24
0
0
0
3
-2
-5
69
0
50
0
113
90
87
9
-7
40
25
0
0
0
-1
-4
-3
9
10
25
78
23
88
73
-11
46
38
-23
0
0
0
0
0
0
-5
-16
118
114
1
-25
25
32
21
60
-60
0
0
0
0
0
-1
1
-30
-6
6
38
24
52
0
-29
32
87
0
0
0
0
0
0
0
-14
-25
16
22
4
-69
-12
36
36
2
0
0
0
0
-1
0
-5
0
2
-56
55
-54
-8
43
-14
-34
81
0
0
0
0
0
0
0
0
-2
-2
2
92
-87
41
-12
20
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
59
19
-3
0
0
0
0
0
0
0
-1
-1
0
-6
49
47
-15
91
31
-1
6
0
0
0
0
0
0
-3
0
-3
0
-24
-17
32
-96
-2
-15
0
0
0
0
0
0
0
0
0
-4
-13
22
-89
27
94
76
17
0
0
0
0
0
0
0
0
-1
-7
21
-2
95
43
38
-36
46
-4
0
0
0
0
0
0
0
0
4
-2
33
-23
-23
-101
-38
-84
-3
0
0
0
0
0
0
0
0
0
-1
70
26
7
-131
-6
-50
0
0
0
0
0
0
0
0
0
0
-2
-26
-8
-55
-80
74
19
0
0
0
0
0
0
0
0
0
0
0
0
-33
-3
41
17
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
225
27
78
34
65
-5
0
0
0
0
0
-6
4
11
0
-1
39
101
-25
43
72
45
5
0
0
0
0
0
0
0
-14
3
-5
125
30
-70
38
-8
75
-2
0
0
0
0
0
-1
0
43
19
-44
-50
-18
-71
84
-38
13
-15
0
0
0
0
0
0
0
29
83
27
15
7
-16
56
-31
11
37
0
0
0
0
0
0
0
43
-1
7
73
-46
-71
-41
-50
-41
43
0
0
0
0
0
0
-1
0
0
2
43
55
-38
-46
-43
51
50
0
0
0
0
0
0
0
0
0
0
0
-10
97
24
-86
-25
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
-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
79
41
38
79
-45
6
-2
0
0
0
0
0
0
0
0
21
26
1
-13
-66
51
32
13
-65
-5
0
0
0
0
0
0
0
0
-2
-8
1
0
-15
-6
42
89
-29
0
0
0
0
0
0
0
0
-3
0
-9
-56
51
38
48
44
-22
0
0
0
0
0
0
0
0
0
9
-3
-3
-14
-59
-19
-24
-43
0
0
0
0
0
0
0
0
0
-1
-6
66
-10
10
29
12
5
0
0
0
0
0
0
0
0
0
0
0
-1
64
12
-30
-36
53
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-23
-24
-18
-42
0
0
0
0
0
0
0
0
0
0
0
0
5
-31
89
-14
39
0
0
0
0
0
0
0
0
0
3
0
0
-6
18
7
14
0
0
0
0
0
0
0
0
0
0
0
31
-9
51
55
20
7
0
0
0
0
0
0
0
0
0
0
0
1
-2
62
56
-14
21
0
0
0
0
0
0
0
0
0
0
0
0
18
36
-91
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
6
15
-71
49
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-85
-81
9
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-74
-61
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
-7
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
13
8
-27
81
-21
0
0
0
0
0
0
0
0
0
-5
0
-7
1
65
12
15
-70
0
0
0
0
0
0
0
0
0
2
-3
13
20
48
6
122
14
-24
0
0
0
0
0
0
0
0
0
0
-6
11
20
56
101
-5
-3
0
0
0
0
0
0
0
0
0
1
-11
-2
6
82
113
-23
-9
0
0
0
0
0
0
0
0
0
0
0
-2
24
0
-36
-45
3
0
0
0
0
0
0
0
0
0
0
0
0
24
-64
5
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
5
8
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
24
-49
-33
-14
-9
43
0
0
0
0
0
0
0
0
0
-1
1
49
-4
24
14
-5
100
4
0
0
0
0
0
0
0
0
-1
23
4
6
66
52
-16
-53
2
0
0
0
0
0
0
0
0
0
0
3
1
-18
45
-14
-10
1
0
0
0
0
0
0
0
0
0
0
0
-5
35
99
45
-20
0
0
0
0
0
0
0
0
0
0
0
0
5
-88
-16
31
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-123
-14
-27
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
-1
0
58
-19
-14
88
-45
-18
-11
1
0
0
0
0
0
0
0
3
-20
18
-94
-21
12
27
-11
-158
-2
0
0
0
0
0
0
0
0
-85
-30
59
37
41
4
55
-20
-76
0
0
0
0
0
0
0
0
-33
-23
129
-19
99
-42
-29
-70
-19
0
0
0
0
0
0
0
0
-11
-7
40
75
-74
-87
-63
-90
12
0
0
0
0
0
0
0
0
-5
-6
1
92
-2
-11
-23
-48
45
0
0
0
0
0
0
0
0
0
31
-34
14
3
-54
71
-25
20
0
0
0
0
0
0
0
0
0
0
-1
-3
1
-40
-14
-33
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
19
0
-30
0
0
0
0
0
0
0
1
0
6
7
59
135
83
-101
-8
-9
0
0
0
0
0
0
5
0
-13
-44
-25
-16
1
14
-23
83
57
0
0
0
0
0
0
0
-6
45
7
99
54
119
-23
-33
-7
-34
0
0
0
0
0
0
6
-23
2
-22
70
109
-14
-146
-69
46
-60
0
0
0
0
0
0
0
-18
71
7
-32
-52
-67
-40
-35
-8
110
0
0
0
0
0
0
0
1
-2
1
48
33
25
-42
-76
21
35
0
0
0
0
0
0
0
1
5
-2
-87
97
-81
52
87
-106
15
0
0
0
0
0
0
0
0
4
0
0
0
-79
-100
-39
-54
-51
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
95
-47
38
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
39
0
30
14
78
27
47
-66
2
-10
0
0
1
5
90
18
4
-8
24
5
18
4
53
111
5
-60
-7
0
0
0
-1
52
19
-20
-48
-6
-15
46
57
81
-43
-15
38
-6
0
0
0
-1
2
-41
-29
51
-13
64
99
39
-18
90
93
-104
5
0
0
0
0
-8
-13
42
42
-4
-40
14
72
50
-5
97
25
0
0
0
0
0
0
0
-25
-21
-61
55
16
56
1
-17
-4
121
3
0
0
0
0
0
0
0
-25
-20
20
-99
15
2
-48
1
21
-4
0
0
0
0
0
0
0
-2
-1
1
9
-21
44
-10
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-11
-34
-22
0
3
0
38
3
16
131
86
0
0
0
-1
0
8
60
-19
-110
-30
-24
-14
8
20
42
25
-39
0
0
0
0
0
14
-102
4
-64
-14
-34
-27
-9
38
78
37
32
0
0
0
-1
-1
2
47
-36
-19
-37
22
-15
8
28
61
-10
-32
0
0
0
-1
-2
16
1
-2
-45
39
23
-23
-20
47
21
-54
40
0
0
0
0
1
-8
-62
17
93
-53
44
-6
-13
-47
76
13
6
0
0
0
0
-1
-3
20
-16
-60
-75
21
-1
28
-1
34
21
75
0
0
0
0
0
0
-5
-21
-53
91
49
-15
1
-20
47
133
33
0
0
0
0
0
-1
0
-35
-62
-39
9
-81
32
-54
33
-21
0
0
0
-1
0
0
-1
-48
32
-41
0
52
38
-13
62
-37
-3
0
0
0
0
0
0
0
3
-10
-44
44
-29
70
31
-5
166
9
0
0
0
0
0
0
0
1
65
-33
-60
52
-40
56
32
82
30
4
0
0
0
0
0
0
0
33
-25
-4
-21
-24
148
-12
20
16
0
0
0
0
0
0
0
0
0
-34
-118
-48
-4
27
58
-32
-3
0
0
0
0
0
0
0
0
1
-77
3
38
-100
55
80
38
1
0
0
0
0
0
0
0
0
-3
-2
-21
-58
40
1
-16
3
14
0
0
0
0
0
0
-1
0
0
1
25
-31
13
50
32
10
0
0
0
0
0
0
0
0
0
0
0
-2
43
11
59
-5
-1
0
0
0
0
0
0
0
0
16
-32
-45
0
4
29
-6
-74
-35
5
0
0
0
0
0
0
2
70
32
-1
11
9
31
0
-1
-116
-15
0
0
0
0
0
0
0
24
-16
42
27
-5
-22
41
79
101
-3
0
0
0
0
0
0
0
-24
106
64
51
2
-15
93
8
17
49
0
0
0
0
0
0
0
4
83
-22
48
-20
31
6
33
12
51
0
0
0
0
0
0
5
7
-1
56
9
-4
20
27
-105
62
1
0
0
0
0
0
0
0
-58
-83
-40
42
19
7
50
18
1
-2
0
0
0
0
0
0
0
2
-4
-42
60
76
-58
-42
-18
74
2
0
0
0
0
0
0
0
0
0
4
0
-5
33
1
-10
0
-1
0
0
0
0
0
0
0
-61
19
-19
0
45
35
51
6
10
50
-26
1
0
0
0
1
-8
-82
-35
4
49
-3
23
32
101
-4
121
-13
-15
0
0
0
-1
-46
-23
59
39
22
27
2
4
73
121
73
3
-1
0
0
0
3
-1
-5
38
-5
-20
90
19
1
64
69
29
80
92
0
0
0
0
4
1
-2
17
53
6
44
26
58
19
46
2
57
0
0
0
0
0
1
-47
-20
-3
-52
6
16
-32
104
11
-100
25
0
0
0
0
0
3
2
28
9
-20
29
-52
15
52
1
5
-1
0
0
0
0
0
0
0
0
1
2
43
18
-48
-63
-25
43
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
47
0
-22
26
71
89
-17
39
-39
-2
0
0
0
0
0
0
16
43
47
87
45
74
8
-32
22
54
-10
0
0
0
0
0
0
4
49
-73
57
37
-68
60
35
5
-16
4
0
0
0
0
0
0
14
14
-20
23
-100
-125
-113
-19
70
5
4
0
0
0
0
0
0
0
-16
-94
5
-48
0
-33
-39
-32
7
2
0
0
0
0
0
0
0
-24
-20
-103
-53
-11
42
-106
19
-103
0
0
0
0
0
0
0
0
0
-3
-8
26
-48
-22
14
5
0
2
0
0
0
0
0
0
0
0
0
-14
-3
5
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
20
26
-73
0
-25
95
42
-73
4
-98
5
-3
0
0
0
0
0
-10
39
-75
46
82
-24
5
24
101
24
-42
-33
0
0
0
0
0
9
49
12
-37
-42
69
69
-55
-30
37
66
6
0
0
0
0
0
4
33
-25
-32
6
-40
43
66
83
-8
74
2
0
0
0
2
-3
14
10
11
-53
52
29
1
-14
-18
-18
35
25
0
0
0
0
-3
18
-33
29
-17
-5
-43
4
16
19
-20
128
5
0
0
0
0
0
5
-33
15
30
49
32
-10
15
-45
-39
-91
24
0
0
0
0
0
3
5
14
-51
-118
-49
31
0
32
3
3
4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
19
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-43
2
-1
-139
-53
-26
0
0
0
0
0
0
0
0
0
0
0
-13
-14
-12
-40
40
46
-1
0
0
0
0
0
0
0
0
-1
3
10
-41
111
65
81
91
-1
0
0
0
0
0
0
0
7
-2
22
36
64
-37
-111
-14
-5
-2
0
0
0
0
0
0
0
-1
0
53
36
2
-26
33
-86
6
-4
0
0
0
0
0
0
0
2
6
7
-35
113
-35
20
14
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-47
26
-35
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
95
-98
-52
0
0
0
0
0
0
0
0
0
0
0
0
5
34
-11
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
14
26
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
127
40
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-4
-64
0
0
0
0
0
0
0
0
0
0
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
61
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
21
-57
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
51
84
9
-29
-6
0
0
0
0
0
0
0
0
0
0
-4
-10
0
12
6
2
0
0
0
0
0
0
0
0
0
0
8
1
-7
-43
18
-105
-17
0
0
0
0
0
0
0
0
0
0
1
0
-2
2
55
-83
23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-5
-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
1
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
24
8
0
0
0
0
0
0
0
0
0
-2
-3
0
14
-56
-29
-27
15
0
0
0
0
0
0
0
0
0
2
0
0
-43
52
22
-14
5
0
0
0
0
0
0
0
0
0
0
-4
-39
2
-34
-78
110
13
0
0
0
0
0
0
0
0
0
0
0
2
-43
7
-32
79
-2
0
0
0
0
0
0
0
0
0
1
-1
11
23
-81
-104
21
0
0
0
0
0
0
0
0
0
0
0
1
0
34
-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
-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
-44
-9
71
4
2
3
0
1
0
0
0
0
0
0
0
0
-4
25
14
10
5
0
37
7
0
0
0
0
0
0
0
0
0
-2
-7
5
-50
17
10
-1
0
0
0
0
0
0
0
0
1
0
-5
16
35
-57
36
-13
-4
0
6
0
0
0
0
0
0
3
0
0
-6
-1
-29
-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
-63
66
111
59
-11
-3
2
32
0
0
0
0
0
-2
0
-1
5
-67
-69
3
-74
45
0
11
-14
-1
0
0
0
0
0
0
6
-16
-50
2
-95
-20
-51
-48
-2
-7
0
0
0
0
0
0
0
0
37
23
108
-8
6
-43
-39
1
7
1
0
0
0
0
2
0
0
-1
-9
100
3
-23
19
51
-1
0
0
0
0
0
0
-1
0
-3
19
-109
53
-37
1
2
0
0
0
0
0
0
0
0
0
0
-10
-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
5
0
0
0
46
55
21
33
-15
-32
22
0
0
0
0
0
6
-2
0
0
0
90
26
44
88
19
-3
-19
0
0
0
0
0
6
-11
60
159
45
-8
1
62
63
79
26
12
0
0
0
0
-1
-2
-20
119
-93
80
116
-70
-41
15
66
76
62
0
0
0
1
-5
-128
29
-25
65
44
-43
64
122
-6
63
17
46
0
0
0
0
33
-129
-45
39
114
-15
5
2
74
-13
-3
51
8
0
0
0
-4
2
-23
-27
-7
-36
28
-37
85
-2
-33
-16
199
-1
0
0
0
0
-6
-14
-1
11
3
4
-40
-7
6
-17
8
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
0
55
0
0
82
20
6
5
-31
94
23
0
0
0
0
0
-1
28
0
113
23
30
10
6
4
0
50
43
0
0
0
0
5
-76
7
-24
-41
-40
41
24
16
46
8
3
3
0
0
0
0
1
-48
-24
5
-55
57
-33
9
35
32
12
15
112
0
0
0
0
-13
8
-114
31
109
3
52
-14
7
-2
-43
6
44
0
0
0
-1
-9
-34
57
13
17
-43
-119
-65
-38
-63
25
74
19
0
0
0
1
36
19
14
95
19
-30
46
-51
-7
-4
9
27
-58
0
0
0
0
0
16
-5
31
52
25
-14
13
-18
36
-29
-1
0
0
0
0
0
0
0
1
-1
-2
14
109
28
-3
2
-30
0
0
0
0
0
0
0
0
0
0
0
0
80
-3
34
97
-5
20
55
0
0
0
0
0
0
0
0
-5
31
9
85
73
18
-36
54
82
0
0
0
0
0
0
0
11
103
41
87
-62
83
13
29
25
-52
0
0
0
0
0
2
-6
9
14
125
1
55
64
-18
18
14
23
0
0
0
0
0
-7
0
32
-5
64
24
23
-27
88
-63
-100
-2
0
0
0
0
0
1
-21
0
25
5
17
24
65
-84
8
98
0
0
0
0
0
0
4
0
-1
-10
-48
58
6
-98
28
-25
-72
0
0
0
0
0
0
0
0
0
3
-15
52
55
122
0
108
2
0
0
0
0
0
0
0
0
0
0
0
9
-24
-36
62
32
-20
0
0
0
0
0
0
0
0
-2
0
45
54
73
3
-16
64
-41
44
0
0
0
0
0
0
1
0
4
24
0
48
0
41
80
12
11
0
0
0
0
0
0
-1
39
-6
31
43
93
-54
83
127
40
58
0
0
0
0
-1
0
12
-37
-14
46
-18
-30
22
39
52
69
76
0
0
0
0
0
31
2
-33
5
-73
-88
67
36
111
83
2
81
0
0
0
0
0
0
9
7
-7
60
22
-26
-68
71
149
61
-61
0
0
0
0
0
2
0
-10
0
6
9
-17
133
79
0
16
2
0
0
0
0
0
0
-2
0
0
72
-18
9
3
39
16
18
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
4
13
9
0
0
69
84
-55
16
-8
36
5
0
0
0
0
4
2
-17
0
3
0
46
40
-53
-6
37
68
41
0
0
0
0
5
25
4
63
122
60
72
108
46
64
64
102
36
0
0
0
0
11
0
51
-15
-55
84
-76
39
-8
71
43
73
16
0
0
0
0
0
8
-100
14
-62
-23
4
85
35
26
62
107
5
0
0
0
1
48
-18
-118
39
12
-3
91
79
51
59
129
21
0
0
0
0
0
0
0
-24
-1
60
57
-60
90
-28
-44
94
10
0
0
0
0
0
1
0
-2
-23
-2
36
-8
-33
43
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
-35
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
34
-138
-57
72
17
-1
0
0
0
0
0
0
0
5
3
-3
6
19
-44
21
62
16
-2
0
0
0
0
0
0
-1
4
4
-5
-43
69
-70
77
-15
5
-5
0
0
0
0
0
0
0
0
0
-2
43
9
26
16
47
8
0
0
0
0
0
0
0
0
0
-2
-3
2
-51
-1
19
-3
0
0
0
0
0
0
0
0
0
0
1
-25
0
1
13
-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
-5
-31
25
-81
-13
43
0
0
0
0
0
0
0
0
0
-14
-100
13
37
-32
46
108
16
0
0
0
0
0
0
0
7
18
59
22
30
83
19
25
0
-5
0
0
0
0
0
0
-3
16
-34
-56
19
47
-55
54
-12
23
135
0
0
0
0
0
0
0
-57
21
14
-4
40
-74
106
-10
32
113
0
0
0
0
0
0
-7
-18
32
36
-78
14
54
-41
45
71
9
0
0
0
0
0
0
0
6
-13
43
-83
-43
-21
-34
-38
59
-3
0
0
0
0
0
0
0
0
4
-1
2
-53
-64
49
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
63
158
14
55
50
134
-56
-14
0
0
0
0
0
0
35
21
-2
140
-52
21
-18
22
22
20
0
0
0
0
0
0
0
0
3
-71
45
-62
128
28
91
130
-48
-6
0
0
0
0
0
0
9
-5
-23
19
21
5
-39
36
5
-46
-26
0
0
0
0
0
0
0
6
-1
-4
8
-23
160
5
7
33
-8
0
0
0
0
0
0
0
0
-2
-2
3
10
1
75
-33
-5
9
0
0
0
0
0
0
0
0
0
0
0
-5
80
-51
-157
45
9
0
0
0
0
0
0
0
0
0
0
0
2
-18
-31
-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
11
-11
-24
45
-43
21
0
0
0
0
0
0
0
0
0
-2
39
0
-2
-6
32
130
41
0
0
0
0
0
0
0
0
0
1
0
-1
1
19
40
-71
96
-9
0
0
0
0
0
0
0
0
0
0
0
-1
7
109
4
14
3
0
0
0
0
0
0
0
0
0
0
0
0
-27
53
42
15
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
11
-31
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-36
-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
-5
0
-8
18
27
-2
60
8
64
0
0
0
0
0
0
0
0
0
-29
62
0
-8
-29
-17
-64
-128
4
0
0
0
0
0
0
0
21
-8
-21
5
5
-45
36
133
-134
3
0
0
0
0
0
0
0
0
-3
-1
6
0
7
20
64
82
14
0
0
0
0
0
0
0
0
0
0
0
7
45
53
14
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
25
57
-10
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
1
-15
-5
126
34
-7
1
0
0
0
0
0
0
-2
0
-18
19
-19
60
-86
-55
-36
76
-3
0
0
0
0
0
0
0
1
1
0
2
10
-11
31
51
-18
0
0
0
0
0
0
0
0
0
0
0
0
-1
99
53
55
18
0
0
0
0
0
0
0
0
0
0
0
0
1
37
63
-23
-59
1
0
0
0
0
0
0
0
0
0
0
0
-6
-10
22
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-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
-23
-16
-59
-5
82
-64
14
1
0
0
0
0
0
0
0
0
71
20
98
25
37
52
82
11
4
0
0
0
0
0
0
0
5
-2
-57
114
-15
7
-62
53
-14
-1
0
0
0
0
0
0
0
9
-1
-21
82
52
60
-3
9
11
0
0
0
0
0
0
0
0
0
-14
64
3
6
-47
33
172
57
0
0
0
0
0
0
0
0
0
-2
0
0
-45
36
102
65
-22
0
0
0
0
0
0
0
0
-1
0
0
0
-17
80
-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
45
-23
49
104
-62
100
4
-3
0
0
0
0
0
0
0
0
-71
26
1
153
142
89
-46
-1
-15
0
0
0
0
0
0
0
0
31
54
-43
73
-93
31
32
86
19
0
0
0
0
0
0
0
13
1
-9
129
-5
-11
91
60
-31
-51
0
0
0
0
0
0
0
-6
19
30
-73
-14
16
13
23
33
45
0
0
0
0
0
0
0
0
39
9
-74
123
-23
-76
18
-35
-14
0
0
0
0
0
0
1
4
15
-5
11
26
34
-21
-3
8
32
0
0
0
0
0
0
0
0
0
0
-2
-5
3
38
21
-23
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
72
29
0
61
28
23
83
-20
-17
-28
10
0
0
0
0
-27
-47
8
-21
-32
28
65
-5
-14
9
25
3
24
0
0
0
0
22
6
-5
11
-30
30
22
111
116
82
68
52
-20
0
0
0
0
-2
11
-60
-24
-77
79
-80
-67
33
-4
25
15
82
0
0
0
0
7
-5
5
-32
55
10
30
56
-2
4
59
-64
-7
0
0
0
0
0
-9
75
-18
-31
-25
-60
27
-34
53
-14
-4
0
0
0
0
0
0
0
-13
-5
-80
63
101
-41
-14
5
-3
0
0
0
0
0
0
0
-1
0
6
25
4
-6
-24
18
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
-11
-46
23
-5
0
-42
-28
65
44
-78
48
-112
0
0
0
0
-9
57
-95
-55
55
7
-25
27
16
41
46
2
77
0
0
0
0
10
26
25
37
109
-24
-30
0
16
43
49
40
118
0
0
0
0
13
45
29
-20
30
-54
15
3
22
59
88
-12
-9
0
0
0
-14
-7
17
44
53
4
-20
-27
2
62
65
-22
-51
-6
0
0
0
27
53
25
21
8
24
-15
26
15
-2
49
19
22
-11
0
0
0
0
13
34
84
-32
-14
17
32
5
-51
16
-18
-55
-4
0
0
0
0
-3
-17
-14
16
24
83
50
24
18
-61
1
-33
-5
0
0
0
0
0
-1
17
9
-66
58
47
-21
99
81
-31
0
0
0
0
0
0
0
0
-14
56
43
0
11
-10
4
-43
-71
25
0
0
0
0
3
-8
-11
-5
21
0
4
32
76
-9
99
-70
26
-1
0
0
0
0
17
-9
-42
-2
7
53
5
137
28
19
-11
-2
3
0
0
0
0
2
-29
5
19
-34
-4
36
36
59
1
-13
2
1
0
0
0
0
-3
0
-18
-23
7
56
-73
-31
58
10
-4
9
0
0
0
1
0
0
-21
-85
-68
-59
-5
-46
90
-137
-17
37
0
0
0
0
-4
0
-23
-29
-23
-31
-37
-20
-49
6
8
-18
11
-19
0
0
0
0
-19
-29
-53
29
-69
-26
64
-53
-11
26
10
0
0
1
0
0
10
44
-14
8
-35
-28
38
-24
-98
53
-11
-10
0
0
0
0
0
0
0
0
2
5
127
21
0
78
51
50
-24
-25
1
0
0
0
0
0
0
-33
-93
26
0
4
26
90
-18
75
-19
-48
0
0
0
0
0
2
0
41
14
-4
77
0
47
4
5
-27
-9
0
0
0
0
0
2
5
1
-74
-35
33
5
28
-64
-81
85
-4
0
0
0
0
0
-2
0
-25
-46
-32
30
-46
39
-69
133
-41
-3
0
0
0
0
0
0
-15
-8
-43
8
-11
8
67
-52
25
19
-1
0
0
0
0
0
-13
-4
11
-28
-22
1
-110
56
35
5
1
-3
0
0
0
0
-1
0
-1
-61
-22
-25
-35
77
-55
-14
-53
2
0
0
0
0
0
0
0
0
0
0
0
-24
-4
-37
2
0
0
0
0
0
0
0
0
0
0
2
33
68
0
52
-1
32
96
37
-19
31
-34
0
0
0
0
-6
-27
48
6
42
11
140
58
43
-48
-60
-53
-34
0
0
0
0
-2
53
56
-5
8
43
7
19
71
92
8
124
-1
0
0
0
0
7
-3
55
89
-62
7
-29
152
23
-14
36
56
1
0
0
0
-2
0
5
-10
28
-24
-12
25
-100
-41
27
-113
35
26
0
0
0
0
2
16
-23
-5
91
-18
94
5
7
9
-11
-6
0
0
0
0
-3
-6
-3
43
-33
-19
-86
-68
-33
-22
-35
73
-4
0
0
0
0
0
0
0
0
-6
17
-9
-15
0
-25
-18
0
0
0
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
10
-9
-48
37
-13
-25
-36
5
0
0
0
0
0
0
-3
0
-62
34
-39
95
-5
-54
-7
59
3
0
0
0
0
0
0
0
-69
-27
37
-5
2
25
4
50
-34
26
0
0
0
0
0
0
0
-43
45
-37
0
2
-30
52
-65
-17
-27
0
0
0
0
0
0
-1
56
166
96
62
77
-61
25
0
3
0
0
0
0
0
0
-2
1
-11
-10
11
36
45
30
39
-13
-5
0
0
0
0
0
0
0
0
2
18
32
42
83
-11
0
-2
-5
0
0
0
0
0
0
0
0
0
-5
59
5
-5
-35
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
24
49
0
72
-26
133
57
8
21
27
39
0
0
0
0
0
-2
44
0
41
92
-25
62
12
22
-2
86
71
0
0
0
0
0
0
0
-74
23
14
72
20
15
11
-67
24
106
0
0
0
0
0
0
4
-78
-6
64
14
74
-57
9
12
14
-59
0
0
0
0
0
-16
-67
14
109
-5
-126
112
-28
37
-52
-86
59
0
0
0
0
0
27
83
-55
0
-42
13
72
150
-16
105
95
-14
0
0
0
0
-2
-48
52
5
-8
7
34
-3
55
-5
12
-9
-1
0
0
0
0
1
1
-22
4
15
57
-50
23
-8
-49
2
1
0
0
0
0
0
0
0
0
1
0
24
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
2
-1
-34
0
0
31
0
0
0
0
0
0
0
0
0
-3
0
1
15
-45
-25
44
16
1
0
0
0
0
0
0
0
0
0
3
0
-2
91
236
13
69
0
0
0
0
0
0
0
0
0
0
-1
0
8
14
40
-32
5
7
0
0
0
0
0
0
0
0
0
0
0
-2
24
-30
-5
38
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
83
-30
14
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
3
-45
20
233
52
0
0
0
0
0
0
0
0
0
0
0
0
0
31
65
4
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
86
44
11
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
106
33
11
9
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
120
31
0
0
0
0
0
0
0
0
0
0
0
0
0
2
15
-41
-55
18
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
9
-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
-37
3
0
0
0
0
0
0
0
0
0
1
1
-6
2
41
-52
0
-6
0
0
0
0
0
0
0
0
0
0
0
15
34
25
0
-4
0
-2
0
0
0
0
0
0
0
0
0
-1
-1
-4
9
-14
-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
25
2
-9
1
1
0
0
0
0
0
0
-3
13
-24
-2
18
-2
4
-20
14
-14
1
3
0
0
0
0
0
0
-1
-4
29
-1
80
-25
11
-14
-6
3
0
0
0
0
0
0
0
0
2
1
20
5
-71
-1
-19
-9
-7
0
0
0
0
0
0
0
0
1
6
-5
3
-55
5
6
13
13
0
0
0
0
0
0
0
0
0
0
3
5
-5
-24
-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
105
31
62
18
51
-12
0
0
0
-1
0
0
27
59
0
0
31
77
85
47
59
-48
39
0
0
0
0
0
0
-33
16
126
80
267
67
23
46
32
87
43
0
0
0
0
0
-1
0
-2
-36
134
147
132
12
54
24
91
185
0
0
0
0
0
0
-1
2
-96
36
124
-8
83
-28
-8
-2
-36
0
0
0
0
0
0
0
-5
38
-97
-9
157
-8
4
-18
58
-2
0
0
0
0
0
0
0
-2
-7
-10
-29
48
16
12
28
33
-4
0
0
0
0
0
0
0
0
0
0
0
-4
1
33
-7
29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-1
-20
0
0
-11
42
25
-21
63
62
-11
0
0
0
1
3
0
-28
-25
5
60
86
29
14
-12
-39
66
95
0
0
0
0
-1
3
25
-3
-87
84
46
-2
-14
19
-43
-61
63
0
0
0
0
2
27
-13
-38
-36
35
-22
13
0
6
22
72
45
0
0
0
0
0
33
20
116
-16
-36
-30
37
-15
-17
-17
41
26
0
0
0
0
0
3
3
48
25
72
2
-32
-22
-60
-68
-5
-2
0
0
0
0
0
2
-5
-6
-89
-23
70
-63
-37
-17
-48
-92
81
0
0
0
0
0
0
7
-1
-5
47
-22
-22
-7
52
-79
-15
25
0
0
0
0
0
0
1
0
-4
0
3
48
41
-23
72
4
0
0
0
0
0
0
-1
0
0
0
0
128
17
-59
2
105
72
-42
0
0
0
0
0
0
0
0
25
1
55
107
43
-8
-16
3
91
0
0
0
0
0
0
-1
-1
3
-18
0
100
35
-28
-4
-36
27
0
0
0
0
0
0
0
0
2
39
-62
9
62
-48
23
-68
25
0
0
0
0
0
0
1
0
-41
-11
61
-127
82
90
14
-3
-63
0
0
0
0
0
0
0
0
4
6
-27
59
96
32
70
1
120
0
0
0
0
0
0
0
-1
0
5
-26
-20
37
-14
3
-70
-3
0
0
0
0
0
0
0
0
0
3
0
109
48
-60
5
4
75
0
0
0
0
0
0
0
0
0
-1
-2
-9
-41
29
-100
27
49
0
0
0
0
0
0
0
3
0
71
21
54
-45
66
43
-46
59
0
0
0
0
0
0
0
-4
47
109
0
26
50
72
-89
47
-28
0
0
0
0
0
0
0
0
27
48
12
-7
33
53
57
-16
-6
0
0
0
0
0
0
-9
0
-23
-59
7
15
61
-77
50
6
44
0
0
0
0
0
0
0
0
32
-19
72
56
40
-9
14
0
-3
0
0
0
0
0
0
0
0
-4
-3
73
0
5
-73
38
-14
-47
0
0
0
0
0
0
0
0
-3
4
-30
47
24
-27
-28
-13
-102
0
0
0
0
0
0
0
0
0
0
11
-7
80
-71
-5
93
29
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
72
0
0
0
0
0
0
0
7
29
-9
0
0
38
46
13
84
17
5
16
0
0
0
3
-2
-8
-14
0
71
0
25
127
64
2
62
29
44
0
0
0
0
-2
4
-59
-12
56
-25
128
43
25
48
2
-34
-99
0
0
0
0
0
1
-3
15
83
171
-82
93
92
60
-54
16
-2
0
0
0
0
0
0
-2
-4
-1
6
93
-26
70
23
-11
-51
-54
0
0
0
0
0
0
1
6
-58
71
53
4
22
-15
69
46
-1
0
0
0
0
0
0
1
-2
-7
-2
-117
-59
20
-11
8
22
-13
0
0
0
0
0
0
0
0
0
0
0
-3
7
-6
44
5
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
0
0
0
5
-4
-3
1
23
-4
0
0
0
0
0
0
0
0
0
0
0
-9
45
-37
67
5
-22
0
0
0
0
0
0
0
0
0
-3
0
3
-60
30
27
-22
9
-1
0
0
0
0
0
0
0
0
0
8
-43
93
52
78
-45
4
0
0
0
0
0
0
0
0
0
0
-3
6
56
37
71
-4
14
-2
0
0
0
0
0
0
0
0
0
2
-1
9
-33
23
-22
1
0
0
0
0
0
0
0
0
0
0
0
5
1
-3
-2
15
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
122
8
119
-70
-14
54
0
0
0
0
0
0
-1
2
0
3
81
-66
130
14
-24
16
-35
0
0
0
0
0
0
0
-2
0
9
43
23
8
36
-26
-37
98
0
0
0
0
0
0
4
-2
-7
-14
133
103
-7
-36
8
6
-20
0
0
0
0
0
0
0
2
24
-10
107
43
-5
-20
-11
-65
95
0
0
0
0
0
0
0
-1
0
0
82
6
99
125
-20
-33
100
0
0
0
0
0
0
0
0
0
13
15
-71
35
102
-8
-68
-36
0
0
0
0
0
0
0
0
0
4
-2
-2
-4
-23
-12
-47
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
72
-44
33
50
-3
7
2
35
0
0
0
0
0
0
-18
4
-89
0
-6
81
-60
90
48
67
16
0
0
0
0
0
0
0
-7
-11
92
61
66
74
106
-47
24
-62
0
0
0
0
0
0
0
-14
-70
46
-86
-50
29
38
-157
100
14
0
0
0
0
0
0
0
23
53
3
-5
-47
66
56
1
14
103
0
0
0
0
0
0
0
0
1
0
-1
16
-48
47
-117
27
-27
0
0
0
0
0
0
0
0
0
-2
0
-1
-61
-11
56
-14
30
0
0
0
0
0
0
0
0
0
0
0
-5
-13
3
-13
-20
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
23
-16
0
0
0
0
0
0
0
0
0
0
0
32
20
63
-101
-5
0
0
0
0
0
0
0
0
2
5
0
-50
23
63
-54
-43
-39
4
0
0
0
0
0
0
0
0
0
-1
0
7
0
39
63
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
17
-17
-59
2
0
0
0
0
0
0
0
0
0
0
0
-2
37
-34
4
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
89
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
27
35
-65
-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
3
23
18
-32
19
-32
2
0
0
0
0
0
0
0
0
-7
5
0
-6
0
86
113
-7
20
3
0
0
0
0
0
0
0
1
-70
0
-2
-22
-40
-30
-62
115
2
0
0
0
0
0
0
0
0
-4
0
-6
10
69
81
76
8
4
0
0
0
0
0
0
0
0
0
0
0
5
58
49
56
83
3
0
0
0
0
0
0
0
0
0
0
0
-1
5
33
-9
5
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
35
-73
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
-101
0
0
0
0
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
6
80
53
61
-20
0
0
0
0
0
0
0
0
0
0
0
85
-55
41
32
52
-111
53
0
0
0
0
0
0
0
0
0
0
0
5
-20
-33
-100
42
13
0
0
0
0
0
0
0
0
0
0
2
4
90
-81
4
-50
9
0
0
0
0
0
0
0
0
0
0
0
0
-25
7
38
-9
10
0
0
0
0
0
0
0
0
0
0
0
0
15
-57
8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-4
-13
48
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
0
0
0
-6
0
0
0
0
0
0
0
-3
0
23
43
-87
30
-13
-5
25
0
0
0
0
0
0
0
-3
31
82
-53
1
41
54
5
52
30
-7
0
0
0
0
0
0
0
-63
80
-9
9
77
-24
-12
46
10
0
0
0
0
0
0
0
0
-2
-14
86
25
-36
9
24
-87
-38
2
0
0
0
0
0
0
0
0
-2
-5
-4
118
59
37
18
-18
20
0
0
0
0
0
0
0
0
0
-1
-6
-14
71
93
-55
21
3
0
0
0
0
0
0
0
0
0
0
0
0
-17
6
-11
-38
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
63
-56
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-14
0
0
0
0
0
0
0
1
0
10
-5
-48
19
14
-33
-5
33
0
0
0
0
0
0
0
0
53
5
-30
120
-36
-26
27
45
35
0
0
0
0
0
0
0
-4
10
110
-9
90
212
14
19
5
-63
0
0
0
0
0
0
0
0
1
-45
-5
139
3
31
11
17
3
0
0
0
0
0
0
0
0
4
5
-66
-10
77
28
-111
5
20
0
0
0
0
0
0
0
0
0
0
9
3
-174
37
-37
-111
161
0
0
0
0
0
0
0
0
0
0
0
-5
-23
-59
-17
-51
-7
0
0
0
0
0
0
0
0
0
0
0
8
-5
-70
-56
1
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
2
37
-14
62
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-111
-4
29
0
24
38
110
41
-24
-33
-89
48
0
0
0
2
1
6
-37
4
57
64
62
127
29
-54
23
20
-14
0
0
0
0
7
-4
-3
9
11
-2
13
44
144
29
39
-83
-1
0
0
0
0
0
3
8
0
2
25
-15
110
99
15
-3
-21
-1
0
0
0
0
0
6
-1
-1
-65
-34
70
114
-34
86
-72
-12
3
0
0
0
0
0
0
0
-3
27
-15
23
15
-67
-79
-4
-23
9
0
0
0
0
0
0
0
-2
0
34
11
7
-30
33
-79
65
-5
0
0
0
0
0
0
0
0
0
0
0
-1
5
9
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-5
-26
47
28
-40
0
-49
-28
88
17
81
-38
-53
0
0
0
0
-7
-41
0
-29
-52
14
-28
-9
-15
13
52
37
44
0
0
0
0
0
0
-41
-62
-54
-52
-1
-34
-14
60
112
-13
-37
0
0
0
0
0
13
-33
62
-82
67
16
-37
-2
47
24
75
6
0
0
0
0
0
4
3
74
44
80
-106
15
-66
14
12
26
-83
0
0
0
0
0
-1
0
15
-14
-73
-24
-119
-18
-46
67
-51
-19
0
0
0
0
0
0
5
-2
-58
-67
-86
0
-19
-8
46
55
-60
0
0
0
0
0
1
0
9
-20
4
-36
22
-32
38
-87
-38
-109
0
0
0
0
0
0
0
0
0
13
16
-73
-33
7
0
0
0
0
0
0
-1
8
18
75
-45
32
0
160
-21
23
115
-31
33
0
0
0
0
0
0
0
12
-23
-14
17
16
63
110
89
170
14
3
0
0
0
0
0
0
0
18
93
-27
-86
138
49
86
12
-33
-2
0
0
0
0
0
0
-4
0
-19
11
15
-65
-14
36
88
-46
0
0
0
0
0
0
0
0
-1
-8
-3
27
-59
-16
-77
-50
20
1
0
0
0
0
0
0
0
0
0
0
-1
-9
-4
8
-45
-1
0
0
0
0
0
0
0
0
0
0
0
13
0
1
19
-1
-62
0
0
0
0
0
0
0
0
0
0
19
1
8
-21
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
1
-15
-32
53
35
0
21
79
-52
76
25
50
0
0
0
0
0
0
1
49
-35
31
120
44
22
87
-8
-13
-44
0
0
0
0
0
0
2
-4
3
40
-11
-42
-33
19
104
5
-36
0
0
0
0
0
0
0
0
-2
-31
12
-62
5
58
56
62
45
0
0
0
0
0
0
0
0
-5
-1
26
75
4
-2
-3
43
10
0
0
0
0
0
0
0
0
0
2
-72
-80
11
-60
-46
1
-7
0
0
0
0
0
0
0
0
0
-56
0
-14
27
-85
-60
-3
1
0
0
0
0
0
0
0
0
0
1
-2
-25
0
-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
1
54
4
-18
0
41
-4
83
117
99
-39
-64
30
0
0
0
0
1
119
-23
21
25
66
47
3
-21
23
-65
-24
75
0
0
0
0
0
22
-81
2
36
29
28
21
14
57
70
-40
-49
0
0
0
0
0
1
-1
5
-48
41
35
-21
37
-18
66
-47
-72
0
0
0
0
0
0
0
-53
99
12
-22
-46
6
37
-47
-70
44
0
0
0
0
0
0
0
-3
15
68
2
5
0
-59
-54
91
-1
0
0
0
0
0
0
0
0
5
-5
-1
8
-53
-71
-40
-44
-1
0
0
0
0
0
0
0
0
0
-1
-1
-3
-1
-2
17
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
-40
0
10
-43
-31
52
-26
-20
-20
0
0
0
0
0
0
0
18
-18
-31
-9
71
-11
23
-43
-21
16
2
0
0
0
0
0
0
0
0
15
33
90
-17
118
-20
2
-51
-18
0
0
0
0
0
0
4
-16
-55
117
16
-22
-23
7
-1
-35
11
0
0
0
0
0
0
0
4
0
1
-51
-2
-3
-3
-36
81
6
0
0
0
0
0
0
0
0
2
-29
9
-24
20
-81
3
42
1
0
0
0
0
0
0
0
0
0
-1
-6
20
-32
1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
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
-4
5
0
72
8
-34
40
-45
-18
-15
57
0
0
0
0
0
0
54
-11
135
157
37
70
134
-33
126
43
24
0
0
0
0
0
0
25
-61
14
0
80
105
-63
20
-55
27
3
0
0
0
0
0
0
-1
-25
-60
28
107
147
2
22
-51
62
6
0
0
0
0
0
0
-1
96
60
96
43
-42
50
24
-4
-13
-57
0
0
0
0
0
0
0
-17
112
31
2
28
-34
-53
-2
50
114
0
0
0
0
0
0
0
5
-4
60
-98
29
36
-39
-14
-80
67
0
0
0
0
0
0
0
0
-4
0
-1
-2
-4
-33
12
-69
-2
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
54
-30
11
11
26
0
-14
0
0
0
0
0
0
0
-14
26
-95
1
9
4
6
27
-18
0
0
0
0
0
0
0
0
-25
48
-67
-20
-8
27
3
-1
0
1
0
0
0
0
0
0
0
-31
-112
24
54
-56
-23
1
0
-1
0
0
0
0
0
0
0
0
9
-91
-131
-7
82
3
-1
0
0
0
0
0
0
0
0
0
0
5
26
23
126
26
-13
2
0
0
0
0
0
0
0
0
0
0
-3
-18
-5
4
14
6
0
0
0
0
0
0
0
0
0
0
0
-5
-21
-4
-34
0
-5
0
0
0
0
0
0
0
0
0
0
0
-36
6
-23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-34
55
3
0
0
-1
0
0
0
0
0
0
0
0
0
3
-85
38
-5
29
-2
2
0
0
0
0
0
0
0
0
0
0
-14
2
10
45
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
-18
-35
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
13
10
0
0
0
0
0
0
0
0
0
0
0
0
4
14
5
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-21
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-119
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-3
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-52
-65
-25
9
0
-1
0
0
0
0
0
0
0
0
0
1
69
-83
-22
-8
-6
0
0
0
2
0
0
0
0
0
0
0
-3
46
33
13
-25
-2
0
0
0
0
0
0
0
0
0
0
0
4
5
-107
-13
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
6
23
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
14
-47
49
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
14
-60
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
-25
-18
-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
-10
-46
-33
13
0
-1
42
0
0
0
0
0
0
0
0
0
-39
7
-14
-45
33
16
0
-3
-1
0
0
0
0
0
0
0
0
2
1
16
58
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-68
21
-46
49
-1
0
0
0
0
0
0
0
0
0
0
0
1
8
-65
17
-15
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
-9
0
0
0
0
0
0
0
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
2
-4
4
-3
0
-2
0
0
0
0
0
0
0
0
0
3
-14
44
-24
31
43
46
7
2
0
0
0
0
0
0
0
0
-1
-1
-82
-16
-25
-2
62
-3
4
0
0
0
0
0
0
0
0
-11
23
-15
23
10
34
15
16
0
0
0
0
0
0
0
0
0
-11
-5
-20
-111
21
0
0
0
-4
0
0
0
0
0
0
0
0
-9
-44
32
-53
20
3
0
1
0
0
0
0
0
0
0
0
0
-15
-45
-81
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-62
-20
-9
0
0
0
0
0
0
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
-2
-32
20
20
1
-43
14
0
0
0
0
0
0
0
0
0
-32
-60
-33
-46
34
27
45
-16
6
3
0
0
0
0
0
0
0
-2
45
-19
-48
-34
19
82
49
-10
-3
0
0
0
0
0
0
0
20
-26
32
126
-21
26
-24
-7
7
3
0
0
0
0
0
0
0
-39
12
-45
25
11
-13
-49
-9
1
0
0
0
0
0
0
0
0
-37
-34
-4
-43
11
31
9
3
-9
0
0
0
0
0
0
0
0
-25
5
1
6
-24
-26
1
5
0
0
0
0
0
0
0
0
0
-11
-173
27
46
3
0
-1
0
1
0
0
0
0
0
0
0
0
-14
-56
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
80
-62
24
22
18
0
49
15
-54
0
0
0
0
0
-1
-33
-5
2
13
40
-33
7
66
171
46
-43
5
0
-1
0
0
-8
-25
5
-6
-14
20
72
-66
-61
-44
29
5
-4
0
0
0
0
4
-75
33
-30
-4
27
90
90
20
44
-3
-1
2
7
0
0
0
-1
14
58
-3
-85
-12
-25
60
71
71
17
10
-2
0
0
0
0
3
20
31
-49
41
-102
37
22
-11
-24
11
0
0
0
0
0
0
-1
1
14
16
39
-96
-77
11
0
-1
0
0
0
0
0
0
0
-2
25
-1
-23
3
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
26
-28
7
15
99
-77
28
0
-35
14
-22
-22
-4
0
0
0
0
-118
-13
56
-16
46
-45
1
68
122
106
71
57
7
0
0
0
0
-56
-62
99
6
-44
-114
-16
-37
-51
-25
19
-21
-11
0
0
0
0
-60
-27
17
106
-50
-31
-50
89
11
37
25
38
-19
0
0
0
0
-7
53
-152
30
-41
67
18
73
-3
-18
-19
41
19
0
0
0
0
20
38
-67
4
32
43
1
-10
-25
-1
21
29
11
0
0
0
0
-7
4
65
77
-17
-26
13
-11
3
27
-34
15
11
0
0
0
0
45
3
64
100
24
-43
-73
-106
27
-8
14
25
0
0
0
0
0
0
6
2
-15
51
-24
37
-40
1
25
1
-4
0
0
0
0
0
0
5
14
-57
21
-148
-53
0
-6
-50
52
0
0
0
0
0
0
3
5
-26
59
-52
69
43
48
186
-23
-3
1
0
0
0
0
0
1
-64
71
-71
-3
-55
-91
8
43
26
5
0
0
0
0
0
0
3
-6
-64
80
84
-31
-37
103
24
0
0
1
0
0
0
0
0
0
-10
-1
30
71
-33
146
70
64
19
5
0
0
0
0
0
0
0
-8
69
53
75
58
-10
0
17
0
0
0
0
0
0
0
0
0
-2
-79
18
-1
-41
-4
4
24
0
0
0
0
0
0
0
0
0
0
-7
14
-5
14
43
-7
9
1
3
0
0
0
0
0
0
0
0
0
0
-1
8
-6
0
11
0
0
0
0
0
0
0
0
0
9
-6
16
-101
-89
73
0
35
-1
-17
-1
0
0
0
0
0
0
-71
70
43
93
-58
-15
-12
77
-7
6
24
0
-1
0
0
0
0
18
39
3
29
1
28
42
1
47
16
0
0
0
0
0
0
0
48
14
25
60
1
89
31
-49
45
-2
1
0
0
0
0
0
0
1
-11
10
6
-68
19
36
67
-14
0
0
0
0
0
0
0
0
-6
42
-92
-76
-22
17
-33
49
1
2
0
0
0
0
0
0
0
-6
-25
21
-22
-23
10
-45
14
-1
0
0
0
0
0
0
0
0
0
-8
9
90
9
54
-7
0
0
0
0
0
0
0
0
0
0
-10
0
2
-1
-10
0
0
0
0
0
0
0
0
0
0
17
-65
-21
6
-104
-33
-27
28
0
46
60
9
1
0
0
0
0
8
37
32
-6
-14
-16
21
6
24
155
9
36
1
0
1
0
0
98
14
78
-3
53
60
87
59
-45
30
46
2
0
2
0
0
0
-19
-18
-14
-18
-60
31
100
3
113
-48
-30
-4
0
0
0
0
0
53
41
-79
35
28
94
89
103
61
-56
0
-1
0
0
0
0
0
-3
-74
19
32
57
10
28
21
-5
-7
2
0
0
0
0
0
0
4
-31
-8
-62
59
-36
61
25
-2
0
-4
0
0
0
0
0
0
0
-33
4
7
-35
-2
-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
-4
-4
-25
-18
14
48
0
19
-1
0
0
0
0
0
0
0
13
9
-7
-19
3
14
-29
43
35
0
0
0
0
0
0
0
0
-9
21
-2
35
71
-18
32
27
37
0
0
0
0
0
0
0
0
-7
21
-21
89
8
33
44
-39
4
0
0
0
0
0
0
0
1
3
-9
-49
107
35
-1
26
1
0
0
0
0
0
0
0
0
0
2
9
-48
2
-4
1
45
0
0
0
0
0
0
0
0
0
0
-6
-1
4
-19
-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
14
3
13
2
-36
-45
0
31
-61
5
0
0
0
0
0
4
41
7
7
3
-57
61
126
72
99
28
25
5
0
0
0
0
6
36
-5
-5
9
51
190
2
25
-65
57
4
-7
0
0
0
0
-1
7
-8
2
71
127
14
62
-49
25
-2
0
0
0
0
0
0
0
-21
-1
24
107
-5
-14
-20
21
90
-23
5
0
0
0
0
0
0
20
8
46
7
46
-104
-14
84
-25
39
-1
0
0
0
0
0
0
11
18
-3
-36
15
33
8
15
2
19
0
0
0
0
0
0
4
14
-6
-35
-18
5
-32
26
-16
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
181
0
0
72
-84
-6
4
0
0
0
0
0
0
0
0
0
0
117
195
174
-84
26
-5
4
-2
0
0
0
0
0
0
0
0
45
96
118
52
-30
12
-3
0
0
0
0
0
0
0
0
0
0
1
-47
48
-76
-63
6
0
-2
0
0
0
0
0
0
0
0
0
3
-89
41
15
-15
1
0
0
1
0
0
0
0
0
0
0
0
1
-52
61
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
69
2
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
-5
-19
-3
-4
0
0
0
0
0
0
0
0
0
0
41
-12
-17
-22
8
0
0
0
0
0
0
0
0
0
0
0
0
-23
118
49
-57
-1
1
0
0
0
0
0
0
0
0
0
0
0
-14
13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-14
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
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
-14
0
0
0
8
5
0
0
0
0
0
0
0
0
0
0
5
153
0
0
0
-68
-3
0
0
0
0
0
0
0
0
0
0
0
93
175
-4
-25
43
-1
0
0
0
0
0
0
0
0
0
0
2
-59
100
72
-1
-16
-1
0
0
0
0
0
0
0
0
0
0
-5
-18
-28
-63
-47
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
3
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
32
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
107
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
45
141
0
0
-25
-1
0
0
0
0
0
0
0
0
0
0
0
14
42
136
42
-28
9
0
0
0
0
0
0
0
0
0
0
2
107
21
5
-89
72
-3
0
0
0
0
0
0
0
0
0
0
0
39
19
45
-81
1
0
0
0
0
0
0
0
0
0
0
0
0
52
-33
-22
-37
-7
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
5
-2
-61
-20
8
0
0
0
9
2
0
0
0
0
0
0
0
9
-36
-18
-32
96
0
0
0
16
-3
0
0
0
0
0
0
0
24
-39
122
48
84
135
25
-15
-6
1
0
0
0
0
0
0
0
4
22
51
101
30
42
51
-53
-5
0
0
0
0
0
0
0
-1
-11
18
108
48
96
108
-74
-4
0
0
0
0
0
0
0
0
0
0
-11
5
80
-27
-9
-51
-13
0
0
0
0
0
0
0
0
0
0
0
21
-9
-48
-31
-17
-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
18
-10
0
0
0
0
0
0
13
17
-2
-1
-16
62
0
0
0
22
52
-34
0
0
0
0
0
-18
-5
-14
-15
60
125
18
57
-20
-80
22
-1
0
0
0
0
0
-54
-7
4
50
173
10
69
-55
-8
10
5
0
0
0
0
0
0
5
-33
-14
100
97
43
66
-10
20
4
-7
1
0
0
0
0
0
15
4
45
-31
96
-31
16
30
-57
0
0
0
0
0
0
0
-2
-5
21
-8
-23
-46
48
32
14
8
0
0
0
0
0
0
0
0
15
-5
-2
1
6
-2
-4
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
17
-9
5
-36
-15
-8
0
0
0
0
0
0
0
0
0
0
0
103
-18
5
-9
38
51
47
0
0
0
0
0
0
0
0
0
0
-65
-32
-78
-16
25
13
-16
10
0
0
0
0
0
0
0
0
0
-16
115
-64
-3
-64
39
29
22
5
0
0
0
0
0
0
0
0
29
-30
59
-9
35
133
0
-3
16
19
0
0
0
0
0
0
0
36
4
-6
-45
25
-11
-4
-52
15
0
0
0
0
0
0
0
0
0
5
-69
81
-8
2
47
22
0
0
0
0
0
0
0
0
0
0
82
-12
16
19
-3
23
7
6
0
0
0
0
0
0
0
0
2
1
-25
-27
1
-3
-3
0
0
0
0
0
0
0
0
0
0
60
95
11
72
35
30
64
0
0
0
-20
-13
0
0
0
0
0
12
61
-58
8
-38
-3
140
0
0
96
18
11
1
0
0
0
0
-54
67
36
26
-72
17
208
69
-23
-9
-43
1
0
0
0
0
0
3
39
-3
-7
84
81
76
134
35
-29
-42
0
0
0
0
0
0
90
-29
2
66
-17
-33
24
14
17
-14
3
0
-1
0
0
0
0
-24
51
138
-63
21
-37
21
-100
12
11
-9
0
0
-1
0
0
0
2
-13
-61
32
1
-53
-55
-53
-1
39
0
0
0
0
0
0
0
0
9
-15
26
-2
-3
9
-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
-49
-58
-15
-37
14
82
0
0
-96
-4
27
0
0
0
0
0
-36
50
-83
-29
45
-44
62
46
85
11
-15
5
5
0
0
0
0
-38
0
-69
-2
-4
7
-46
-15
123
-5
15
20
1
0
0
0
0
-23
-11
29
-44
-14
30
42
32
-12
-23
43
2
0
0
0
0
0
-15
-66
-61
-12
-12
24
-29
35
-54
23
1
-10
-1
0
0
0
0
65
34
14
-2
29
19
23
65
34
54
-30
8
0
0
0
0
0
3
-24
-39
-50
-38
-24
-16
25
64
5
-68
-33
-5
0
0
0
0
0
-90
31
19
81
5
-45
15
-63
2
-3
-5
0
0
0
0
0
0
0
-39
-15
20
-13
-6
14
-20
-1
0
0
0
0
0
0
0
-36
41
-43
-34
11
-8
-22
0
0
1
0
0
0
0
0
0
0
-53
14
-41
-18
-80
13
-12
32
31
0
3
0
0
0
0
0
0
-40
24
24
-9
-29
-113
42
31
-19
0
0
0
0
0
0
0
0
46
-5
-52
73
-49
5
7
-71
4
-1
-1
0
0
0
0
0
0
-91
3
79
13
5
-108
-41
46
-43
1
0
0
0
0
0
0
0
-23
12
-24
15
-16
-16
62
-29
-4
0
0
0
0
0
0
0
0
40
-16
-33
35
-80
71
-39
2
3
-1
0
0
0
0
0
0
0
51
-6
87
49
8
47
30
0
0
0
-2
0
0
0
0
0
0
61
47
33
23
2
5
7
2
0
0
0
0
0
0
0
0
0
14
156
-90
-87
47
60
87
-53
0
-3
0
0
0
0
0
0
0
-31
-10
-34
-24
18
125
0
-18
-4
5
0
0
0
0
0
0
0
67
-9
-96
-18
-14
99
38
-5
-9
22
5
0
0
0
0
0
0
8
58
-33
11
38
163
-16
29
34
3
0
0
0
0
0
0
0
-49
-29
33
70
-24
39
50
-14
-5
-2
0
0
0
0
0
0
0
-104
45
-62
13
-79
-75
53
12
14
-2
0
0
0
0
0
0
0
78
43
91
-14
-33
-20
-17
7
3
2
0
0
0
0
0
0
0
-122
-5
44
-70
-57
18
5
3
1
0
0
0
0
0
0
0
0
0
0
-51
26
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
18
22
-62
37
109
0
0
-18
-38
-8
0
0
0
0
0
14
70
30
50
88
-47
138
0
172
0
13
-12
-1
1
0
0
0
-64
23
44
31
17
162
299
151
87
78
-62
132
-7
0
0
0
0
-14
-6
24
42
82
-41
-24
128
62
66
-33
-4
-1
0
0
0
0
-2
-53
49
6
-25
70
-43
-62
58
-50
8
0
-4
0
0
0
0
14
33
51
-30
41
20
-47
58
-36
66
1
0
0
0
0
0
0
-23
21
-20
13
-1
-30
-57
-52
9
-2
0
0
0
0
0
0
0
0
-40
35
36
14
-1
-9
6
0
-6
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
14
-53
-16
-41
-5
-25
-6
0
-3
-3
0
0
0
0
0
0
4
-10
-39
-45
12
37
16
0
69
0
14
10
0
0
0
0
0
0
-22
-65
11
51
95
92
115
-57
24
-21
6
0
0
0
0
0
9
7
109
37
126
97
192
128
-30
-20
7
0
0
0
0
0
0
-15
32
39
115
95
-16
34
-33
-8
-4
0
-3
0
0
0
0
0
-6
79
80
87
61
-8
-8
1
-4
-9
-3
0
0
0
0
0
0
27
48
110
126
52
-32
6
0
-10
0
0
0
0
0
0
0
0
0
58
142
73
-47
-9
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
-17
41
-4
28
51
6
-9
0
0
0
-1
0
0
0
0
0
0
5
-1
7
-4
-6
35
-14
118
0
-50
-17
-7
0
0
0
0
0
29
10
54
-2
7
62
122
79
99
-104
1
0
0
0
0
0
0
33
-103
20
80
-34
49
17
136
-22
15
0
0
0
0
0
0
0
-88
-53
-9
-13
20
63
48
-43
-115
5
-1
0
0
0
0
0
0
61
93
-70
-29
-43
106
31
55
12
9
0
0
0
0
0
0
0
-26
-62
-34
68
33
-51
-9
18
11
0
0
0
0
0
0
0
0
46
5
-16
62
-27
-11
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-27
43
-14
-6
-19
1
1
0
0
0
0
0
0
0
0
0
-33
-33
-30
100
22
-29
98
31
-47
-14
0
0
0
0
0
0
0
-21
-69
0
-56
-25
-16
-5
-3
3
5
0
0
0
0
0
0
0
0
-44
85
44
33
-19
-1
0
0
0
0
0
0
0
0
0
0
10
-33
-66
47
39
-6
0
1
0
0
0
0
0
0
0
0
0
-5
85
-28
30
20
15
2
0
0
0
0
0
0
0
0
0
0
0
-11
-14
-46
17
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
15
-18
0
0
0
0
0
0
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
-8
-1
7
6
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
-2
43
-3
-6
0
0
0
0
0
0
0
0
0
0
5
29
32
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
-2
33
24
35
-10
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
-32
-5
0
0
0
0
0
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
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
15
-37
14
-8
3
0
0
0
0
0
0
0
0
0
0
0
-13
-62
105
37
81
-5
-23
0
0
-4
0
0
0
0
0
0
0
-8
43
66
65
51
17
1
0
0
0
0
0
0
0
0
0
0
-2
7
67
-77
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
-31
58
127
18
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
9
-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
46
18
-20
0
2
0
0
0
0
0
0
0
0
0
0
-4
33
-24
-125
21
-35
-22
5
3
1
0
0
0
0
0
0
0
1
-9
-2
76
-51
14
-2
0
0
0
0
0
0
0
0
0
0
-5
45
55
39
-20
10
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
1
17
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
16
-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
35
-2
0
-1
1
0
0
0
0
0
0
0
0
0
-7
-25
25
14
16
7
22
0
-1
0
0
0
0
0
0
0
0
4
5
-37
35
-10
24
45
-10
0
0
0
0
0
0
0
0
0
-2
-16
-41
-19
-4
47
-14
0
0
0
0
0
0
0
0
0
0
-1
10
-29
8
23
51
26
9
-1
0
0
0
0
0
0
0
0
0
7
-2
-32
-2
53
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
-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
-15
7
-23
-16
0
0
0
0
0
0
0
0
0
-15
-59
71
50
-15
-32
-30
-7
7
0
0
0
0
0
0
0
0
25
50
27
32
39
16
25
10
16
-1
0
0
0
0
0
0
0
-29
64
23
-7
-9
-7
-17
-4
-10
0
0
0
0
0
0
0
0
76
17
-1
-20
7
-17
19
-31
2
0
0
0
0
0
0
0
0
-11
6
29
-31
-17
-21
7
-13
-16
6
0
0
0
0
0
0
0
1
-1
-14
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
-24
-59
37
102
60
-25
180
0
41
11
48
6
0
0
0
0
39
26
12
33
75
31
-44
85
-11
87
-25
40
-15
1
0
0
0
15
-14
-29
36
38
7
107
44
-16
-15
79
-15
-34
-3
0
0
0
-3
47
33
77
51
97
53
-54
-7
9
-8
-7
-5
0
0
0
0
0
-44
106
78
33
115
12
111
36
-55
-5
0
0
0
0
0
0
0
18
19
-24
15
-16
31
-14
-23
-104
-1
0
0
0
0
0
0
0
0
1
17
-29
43
-51
-6
-130
-37
-3
2
0
0
0
0
0
0
0
0
0
-4
39
4
-34
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
-22
-27
78
2
-53
-24
-37
0
-51
-103
5
2
5
0
0
0
0
-29
9
-16
17
23
-60
-44
-44
-51
-94
-55
78
50
34
0
0
0
12
27
26
39
21
-5
-14
-63
-77
-91
-28
5
34
-2
0
0
0
33
19
-51
-100
-5
-5
-8
-21
-5
-77
55
33
19
-3
0
0
0
7
-20
27
31
-38
31
57
6
33
-24
62
121
-8
-1
0
0
0
45
-105
-52
2
-40
14
-3
-45
34
-26
-20
11
6
-5
0
0
0
1
-71
-53
25
58
106
9
-33
11
-17
-23
2
-15
0
0
0
0
3
1
27
35
-15
31
3
-87
114
-39
-23
1
3
2
0
0
0
0
0
2
16
-43
-29
21
-11
48
-67
-2
0
-1
0
0
0
0
0
3
-9
26
13
13
-17
0
16
-44
14
9
21
-8
-3
0
0
0
1
22
-12
1
-5
-25
-68
4
13
12
78
31
33
0
0
0
-8
3
63
24
5
-53
59
-1
-85
-5
-14
-32
-31
0
3
0
0
0
-21
45
30
34
55
42
28
14
13
27
37
-28
0
0
0
0
0
21
4
69
-23
-14
-14
40
38
-16
12
7
-9
0
8
0
0
0
1
63
25
11
10
-40
86
-10
-55
5
-68
-7
5
3
0
0
0
1
-2
-41
-36
-55
43
-22
-20
65
-11
56
-19
4
0
0
0
0
0
-6
20
-33
43
27
-78
-2
3
-14
35
-14
2
14
-6
0
0
0
0
25
-6
-21
-42
-41
1
-50
-18
1
30
3
11
0
0
0
15
66
5
114
-14
72
0
34
-75
73
5
3
0
0
0
0
0
47
-1
57
86
-86
48
-22
-47
31
-3
-28
-1
0
0
0
0
0
66
-17
53
-43
49
21
-27
65
88
69
-5
-3
0
0
0
0
0
43
135
46
-7
-12
-21
-7
108
-31
30
15
0
0
0
0
0
0
13
33
23
139
-59
46
-9
-18
-6
-29
0
-4
0
0
0
0
0
3
-20
141
-41
5
112
35
-40
-67
-55
-17
71
-23
0
0
0
0
3
-14
-47
18
-30
20
-7
-29
-5
64
-43
-13
0
0
0
0
0
0
4
4
31
48
-72
24
-4
-19
6
1
8
0
0
0
0
0
0
0
1
-5
-53
1
3
0
0
0
0
0
0
0
0
-2
43
-51
5
27
-109
-76
113
0
11
8
-9
-1
0
0
0
0
-2
79
-24
87
27
39
-15
-14
36
15
-11
32
-1
3
0
0
0
49
61
19
-44
20
56
108
-31
-59
50
33
19
0
1
0
0
0
-3
9
7
17
1
129
-36
15
-80
19
-73
0
1
0
0
0
0
1
-71
-25
18
-9
37
16
-24
-6
13
-1
0
0
0
0
0
0
-1
3
-23
75
-43
63
-40
116
11
113
-16
0
0
0
0
0
0
0
2
8
34
22
2
-73
-31
95
15
5
0
-1
0
0
0
0
0
0
0
-3
9
-13
-22
7
-9
-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
17
7
-37
-23
-102
0
10
0
0
0
0
0
0
0
3
3
-6
9
60
56
71
-17
-13
48
1
0
0
0
0
0
0
0
-8
15
47
-6
22
-61
35
82
22
0
0
0
0
0
0
0
0
7
-11
-56
43
44
47
13
-4
0
-1
0
0
0
0
0
0
0
0
5
31
-7
86
-59
35
20
7
0
0
0
0
0
0
0
0
-4
0
-35
6
-111
-51
-75
29
-53
0
0
0
0
0
0
0
0
0
0
1
-6
26
-97
-32
32
-2
0
0
0
0
0
0
0
0
0
0
-31
-4
-18
18
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
14
1
43
0
6
5
0
0
0
0
0
0
-1
5
-14
53
82
38
-43
33
48
5
-2
14
0
0
0
0
0
-3
45
-8
7
-5
9
2
28
5
-44
15
2
-2
0
0
0
0
-1
58
3
-14
29
-19
-5
-20
-41
12
-22
0
-1
0
0
0
0
-3
-44
10
10
54
-29
37
-69
-2
-17
-45
0
3
0
0
0
0
-1
-3
-1
24
32
-10
-102
33
-121
-12
-91
4
2
0
0
0
0
1
-5
0
0
27
-19
40
-59
-62
-44
-27
1
0
0
0
0
0
0
0
0
-5
2
-25
-32
-74
-76
-84
-33
1
0
0
0
0
0
0
0
0
0
0
0
-15
-77
10
-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
31
0
0
0
-34
-2
0
1
0
0
0
0
0
0
0
0
2
-22
0
0
-5
-43
-16
3
0
0
0
0
0
0
0
0
0
-47
-33
39
124
45
0
1
5
2
0
0
0
0
0
0
0
0
8
-24
14
26
-50
8
0
0
2
0
0
0
0
0
0
0
0
8
9
0
-89
-59
17
-6
1
0
0
0
0
0
0
0
0
0
1
-57
-16
-18
-70
-5
0
0
0
0
0
0
0
0
0
0
0
5
-54
13
-131
5
53
14
-1
0
0
0
0
0
0
0
0
0
4
-1
10
-13
-17
9
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-4
-52
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
26
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
10
2
-23
-28
5
1
-6
0
0
0
0
0
0
0
0
0
0
0
-33
42
10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
23
15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-45
-34
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
20
13
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
106
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
1
89
0
0
15
-21
-2
0
-1
0
0
0
0
0
0
0
0
3
-45
62
7
97
-21
-1
0
0
0
0
0
0
0
0
0
0
4
-1
52
-57
1
-19
0
-3
0
0
0
0
0
0
0
0
0
-3
-1
-5
-9
-55
1
-2
0
0
0
0
0
0
0
0
0
0
0
-10
-93
-55
33
0
0
-2
0
0
0
0
0
0
0
0
0
0
-11
-30
-20
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-30
-6
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
-39
37
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
17
86
0
0
-27
5
6
0
0
0
0
0
0
0
0
0
2
-10
-1
62
72
0
9
0
0
0
0
0
0
0
0
0
0
0
-21
-37
25
110
5
-8
0
0
0
0
0
0
0
0
0
0
0
-26
-43
-47
43
2
6
0
0
0
0
0
0
0
0
0
0
0
-33
-3
-28
-41
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
-20
14
-25
-53
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
78
7
11
-39
0
0
0
1
0
0
0
0
0
0
0
-6
51
-48
-53
-89
-70
0
0
0
17
2
0
0
0
0
0
0
-1
60
10
-23
-26
-20
-33
60
46
-10
5
-3
0
0
0
0
0
0
-21
-60
-2
-8
13
-50
-45
73
-16
2
0
0
0
0
0
0
0
15
19
-10
-75
-61
-126
-39
-19
0
3
0
7
0
0
0
0
0
0
41
0
-80
38
61
6
-29
-6
0
0
0
0
0
0
0
0
0
-5
-16
-22
22
29
-81
-39
-6
-3
0
0
0
0
0
0
0
0
0
0
5
-1
-10
-35
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-50
-15
-1
0
0
0
0
0
0
0
0
7
0
-3
1
-6
0
0
0
4
-53
-1
6
0
0
0
0
11
13
-9
-9
5
31
0
0
0
94
47
-1
3
0
0
0
0
-18
31
-5
-44
-53
19
119
91
68
48
-17
21
0
0
0
0
0
17
9
21
-24
-3
4
-4
72
43
-48
-7
0
0
0
0
0
0
2
14
-1
-21
29
26
-5
-23
-86
-21
-7
0
0
0
0
0
0
27
-1
10
-43
-36
-63
-9
-4
-9
13
0
0
0
0
0
0
0
0
0
-3
31
-14
-20
-96
54
11
-35
2
-1
0
0
0
0
0
0
0
-1
0
14
13
-28
-30
-40
-73
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-26
7
-4
-1
0
0
0
0
0
0
-5
30
-35
63
-52
1
0
0
0
0
0
0
0
0
0
0
22
-40
90
-16
78
33
-16
0
0
0
0
0
0
0
0
0
0
-55
-32
28
5
-36
-58
-75
-2
0
0
0
0
0
0
0
0
0
31
73
22
-33
5
-18
21
15
0
1
0
0
0
0
0
0
0
62
20
23
44
-46
-32
-2
49
7
1
0
0
0
0
0
0
0
13
-104
-29
54
39
23
137
22
6
17
1
0
0
0
0
0
0
41
-30
38
44
20
-33
-55
13
4
2
4
0
0
0
0
0
0
0
-9
-24
40
-45
-31
-26
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
73
-41
84
70
92
108
139
0
0
0
-3
-44
0
0
0
0
0
18
-68
2
33
-27
45
42
0
0
109
-26
63
-2
5
0
0
0
72
10
37
73
-91
63
30
-15
77
15
-6
-2
4
0
0
0
0
-41
11
-5
-4
-6
-24
-4
62
-29
35
0
2
0
0
0
0
0
63
50
70
3
-53
31
2
-104
18
-5
5
13
-3
0
0
0
0
16
-54
3
-16
33
-21
-2
-67
-19
59
1
9
0
0
0
0
0
5
-3
-24
64
-42
-109
-57
-52
-46
-26
-1
0
0
0
0
0
0
0
-2
6
-20
2
-100
-43
-26
-4
-2
0
0
0
0
0
0
0
0
0
-3
0
0
-16
0
1
0
0
0
0
0
0
0
0
0
-2
-39
-82
-75
20
-29
100
0
0
7
8
-6
0
0
0
0
0
-55
58
-57
-45
-12
33
-26
98
84
43
12
-2
5
0
0
0
0
-45
-5
-62
18
-19
-20
-65
-47
59
16
-68
23
-2
0
0
0
0
3
-67
-23
4
-30
-41
34
29
68
34
-20
16
0
0
0
0
0
37
40
-57
48
3
-45
-29
-30
30
-71
11
-60
1
0
0
0
0
-10
-67
-85
-72
-4
66
-1
-39
-57
-26
76
-17
-1
0
0
0
0
-27
-20
11
34
-14
-5
-73
-38
-81
36
43
39
0
0
0
0
0
0
10
-18
11
82
117
42
-3
-22
31
-4
0
0
0
0
0
0
0
0
49
4
-1
32
54
3
-1
0
6
0
0
0
0
0
0
-34
110
2
84
-12
5
65
0
0
-2
0
0
0
0
0
0
0
15
97
21
-52
-19
74
-26
7
48
-2
0
1
0
0
0
0
0
80
58
-16
-29
-73
-105
-9
89
7
0
0
0
0
0
0
0
0
34
53
-5
25
100
-3
69
-33
5
6
-1
0
0
0
0
0
0
33
47
52
33
-51
-44
-14
29
-6
-5
0
0
0
0
0
0
0
0
-27
24
-14
-5
-51
-41
-3
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
16
103
17
-44
7
-14
4
0
0
0
0
0
0
0
0
0
11
-7
-18
0
1
-7
7
-3
0
0
0
0
0
0
0
0
31
-83
-1
-59
24
14
-62
95
0
19
0
0
0
0
0
0
0
20
-46
-54
-31
-52
100
0
40
-54
4
-3
0
0
0
0
0
0
-9
26
-35
-19
20
40
-127
5
44
-15
0
4
0
0
0
0
0
-33
-23
-65
-28
-43
89
-100
-5
-55
0
1
0
0
0
0
0
0
-31
43
-8
74
20
-71
49
-22
45
11
3
10
0
0
0
0
0
-33
-6
-48
55
42
69
34
25
-5
0
0
0
0
0
0
0
0
46
-8
59
9
52
-32
-53
14
2
-4
0
0
0
0
0
0
0
21
43
5
5
47
-5
31
14
0
0
0
0
0
0
0
0
0
0
0
53
6
1
8
-2
0
0
0
0
0
0
0
0
0
0
-41
24
5
34
149
20
13
0
0
24
-2
-1
5
0
0
0
0
4
54
32
-30
32
-7
-30
0
126
0
128
26
-5
0
0
0
0
51
15
19
26
47
-39
40
-44
42
74
45
-1
0
0
0
0
0
-60
24
-10
49
-2
-15
71
-35
16
-81
29
-2
-8
0
0
0
0
-53
-53
-38
-6
43
-43
-51
0
-56
48
2
1
0
0
0
0
0
-2
58
110
0
4
-65
-24
-47
-33
-13
-5
0
0
0
0
0
0
-3
-3
-2
32
1
-49
37
-5
-38
-24
108
0
0
0
0
0
0
0
-1
21
-14
35
-1
0
-43
-3
-33
0
0
0
0
0
0
0
0
0
20
2
-14
0
9
0
0
0
0
0
0
0
0
0
0
0
-39
-1
-53
-8
-51
24
-10
0
-65
0
-1
0
0
0
0
0
33
-25
-24
-169
-43
-42
2
0
21
0
-11
0
0
0
0
0
0
20
-53
-109
-3
30
-44
-77
-21
43
19
0
-3
0
0
0
0
0
-10
17
3
24
13
-46
-22
23
8
10
-3
0
0
0
0
0
0
25
-5
-21
-93
-8
-32
-87
-21
-13
6
0
0
0
0
0
0
0
0
-60
-15
17
-90
10
-14
-104
-8
-24
4
0
0
0
0
0
0
0
0
2
22
43
-4
13
18
-7
-4
0
0
0
0
0
0
0
0
0
0
-2
7
-24
0
14
-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
-51
-45
150
-30
35
-9
-41
0
0
0
-1
0
0
0
0
0
0
-7
-20
23
4
11
104
67
94
0
15
46
5
0
0
0
0
0
2
95
38
-86
55
61
35
16
80
3
0
-1
0
0
0
0
0
21
-3
46
11
69
50
-29
-24
136
-68
15
0
0
0
0
0
0
8
-53
30
-19
20
-36
14
-86
-36
-38
2
3
0
0
0
0
0
-25
8
43
1
-54
-25
78
2
14
15
1
0
0
0
0
0
0
26
-35
16
-15
13
-39
-32
-12
-33
-72
0
0
0
0
0
0
0
-6
-3
5
19
1
18
-15
-51
-33
-13
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
33
57
146
-33
90
0
82
-3
0
0
0
0
0
0
17
21
-15
43
46
3
61
0
-6
27
-4
0
0
0
0
0
0
-7
43
-30
61
53
4
0
1
0
-6
0
0
0
0
0
0
0
-3
-23
30
34
-54
0
-1
0
0
-1
0
0
0
0
0
0
0
44
56
54
-5
20
45
1
-1
0
0
0
0
0
0
0
0
0
-41
-50
-23
-15
-11
6
1
0
0
0
0
0
0
0
0
0
0
-48
32
-20
-32
-13
9
0
0
0
0
0
0
0
0
0
0
0
-54
13
-9
-19
-22
0
0
0
0
0
0
0
0
0
0
0
0
-52
-15
-35
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-23
-1
0
6
0
2
0
-5
0
0
0
0
0
0
0
2
10
-66
42
14
2
0
0
0
0
0
0
0
0
0
0
0
-6
13
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-41
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
11
32
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-3
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
-48
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
54
-33
7
-2
2
5
0
6
0
0
0
0
0
0
0
0
-43
16
-13
8
0
1
0
1
7
0
0
0
0
0
0
0
1
-11
24
0
-14
0
0
0
0
3
0
0
0
0
0
0
0
6
-14
-18
-34
-46
0
1
0
0
0
0
0
0
0
0
0
0
-6
6
3
22
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
25
13
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-43
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-1
18
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
-25
-1
-16
21
-11
-4
-30
0
-26
0
0
0
0
0
0
0
-2
-24
1
14
-37
14
-6
0
5
0
0
0
0
0
0
0
0
6
-4
-77
25
-17
-4
0
-2
0
-3
0
0
0
0
0
0
0
0
-20
-45
23
20
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
45
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
-33
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-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
-10
0
2
9
2
4
2
0
0
0
0
0
0
0
0
0
0
-24
-6
-7
1
6
-2
10
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
14
1
-5
1
-7
0
-2
-5
-1
0
0
0
0
0
0
0
0
-4
5
-3
-6
-2
-10
2
0
0
0
0
0
0
0
0
0
0
-6
2
-7
-17
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
-35
25
25
1
10
-64
-84
0
0
0
0
0
0
0
0
0
-8
2
63
-5
-13
-5
-19
5
-43
25
0
0
0
0
0
0
0
-53
1
13
-24
9
1
2
0
-41
-20
0
0
0
0
0
0
0
11
-27
100
-15
7
-21
3
1
-11
-3
0
0
0
0
0
0
0
-51
46
-35
-11
7
2
21
10
-13
-4
0
0
0
0
0
0
0
15
-40
-4
61
-6
-48
11
0
0
1
0
0
0
0
0
0
0
14
16
56
-43
-27
-20
1
-3
0
0
0
0
0
0
0
0
0
16
48
-1
-5
32
-1
0
-2
0
0
0
0
0
0
0
0
0
-37
32
-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
25
58
81
74
-4
-72
12
0
15
-80
4
-33
-3
0
0
0
0
17
18
-11
78
-32
1
14
25
125
-8
-62
68
1
0
0
0
-1
26
-18
-5
-18
26
74
-60
-23
2
-3
74
1
-10
0
0
0
-1
30
98
35
7
-4
92
71
17
100
-14
5
14
5
0
0
0
0
5
23
55
1
-78
46
76
124
22
-45
7
-3
-1
0
0
0
-8
-5
-10
-29
51
-128
82
53
87
53
21
0
0
-8
0
0
0
0
0
6
-7
-9
11
-58
5
13
0
-5
2
0
0
0
0
0
0
0
1
1
-1
-81
6
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
51
26
63
50
-13
44
0
-11
-68
80
81
16
0
0
0
0
1
48
22
18
121
-92
67
82
60
-45
6
-7
-36
16
3
0
0
-36
55
6
5
27
-89
-101
-38
-22
9
37
6
-14
-11
0
0
0
-4
-19
12
97
-4
37
35
70
17
43
95
31
32
5
0
0
0
-43
-38
-29
-93
59
36
48
65
20
-54
23
30
37
0
0
0
0
-27
63
-14
20
33
29
-44
72
-14
14
-10
85
32
1
0
0
0
19
-28
10
-10
-37
-21
-1
22
49
-56
-35
-26
-13
-2
0
0
0
9
3
39
-26
-29
10
40
-34
40
93
15
0
-2
4
0
0
0
0
-9
0
156
84
26
-74
-77
24
37
63
-4
0
0
0
0
0
0
4
9
-21
33
-10
62
0
129
-10
-34
-10
0
0
0
0
0
0
1
77
52
5
-20
-54
72
86
-94
-2
-1
2
0
0
0
0
0
1
37
32
-25
9
-125
26
5
53
4
5
1
0
0
0
0
0
-19
13
47
36
-32
27
64
145
27
11
0
0
1
0
0
0
0
0
11
9
33
-62
49
60
82
36
7
0
0
-2
0
0
0
0
0
0
5
34
93
54
40
35
-8
-3
16
0
0
0
0
0
0
0
33
38
68
-5
65
-89
-67
-4
-1
0
0
0
0
0
0
0
0
0
118
6
-23
-44
17
-59
6
0
-1
0
0
0
0
0
0
0
0
-3
-1
53
-79
5
23
-4
0
0
0
0
0
0
0
0
1
86
-16
3
-7
187
0
41
-62
-32
42
-1
0
0
0
0
0
2
40
17
106
-125
0
42
10
14
-36
-39
5
0
1
0
0
0
19
-36
-22
47
-107
-61
-98
29
-50
-17
2
2
0
0
0
0
0
4
-21
103
94
90
19
50
86
32
-31
-9
0
0
0
0
0
0
-100
21
-14
94
12
6
-21
73
15
-3
3
-1
0
0
0
0
0
1
23
-139
1
25
57
-6
24
14
-1
-5
0
0
0
0
0
0
2
-19
80
26
-62
43
32
-14
-20
1
4
0
0
0
0
0
0
0
8
62
31
-73
28
60
35
-2
-1
0
0
0
0
0
0
0
0
0
0
-2
9
1
-2
0
0
0
0
0
0
0
0
-4
29
22
33
31
4
-68
5
0
18
-28
3
-1
0
0
0
0
-3
32
79
-26
18
29
-20
-25
40
84
56
2
-18
0
0
0
0
-2
-36
-4
51
39
-24
8
3
-8
40
60
-5
2
-3
0
0
0
0
48
-7
6
104
14
4
192
159
23
-18
-5
0
0
-1
0
0
0
39
-17
11
-20
9
62
-43
-12
6
9
-3
0
0
0
0
0
4
9
-9
46
-7
-19
55
23
43
5
0
0
0
0
0
0
0
1
-7
-16
-16
47
-5
-5
-6
0
18
-6
1
5
0
0
0
0
0
0
-7
33
29
27
-44
27
-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
13
39
11
-50
0
9
0
0
0
0
0
0
0
0
0
3
-1
25
-14
11
-35
-3
-19
4
0
0
0
0
0
0
0
0
0
-2
-7
0
15
26
26
2
1
0
0
0
0
0
0
0
0
-18
-4
0
39
-21
25
-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
-73
-20
10
-10
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
35
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
13
-25
15
109
0
-51
0
3
0
0
0
0
0
0
2
16
4
47
-18
-47
-11
34
154
-51
1
0
5
0
0
0
0
3
5
13
10
56
-28
36
-9
45
-27
3
0
-5
0
0
0
0
25
-19
-6
26
48
-32
62
-8
-18
-35
-4
0
0
0
0
0
0
-23
-24
8
8
138
-32
6
-58
20
14
21
-5
0
0
0
0
0
-13
2
19
-54
-37
1
5
112
-68
-18
0
-1
0
0
0
0
0
4
-39
5
-33
14
64
-83
-2
2
-1
3
0
0
0
0
0
0
1
0
3
-17
18
-5
50
-65
45
0
5
0
0
0
0
0
0
0
0
0
-3
4
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
25
-17
0
9
0
0
0
0
0
0
0
0
0
64
0
0
176
92
0
-3
0
3
0
0
0
0
0
0
0
3
48
143
93
81
50
-71
-5
-3
11
0
0
0
0
0
0
0
0
59
41
58
19
21
44
-14
-5
14
0
0
0
0
0
0
0
-2
2
107
-32
13
-9
-14
-5
-9
0
0
0
0
0
0
0
0
-4
21
-13
-55
-11
-2
-21
21
-10
0
0
0
0
0
0
0
0
2
-41
52
63
-35
53
0
6
0
0
0
0
0
0
0
0
0
1
-6
-33
-43
-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
4
0
0
2
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-18
53
26
-2
3
0
0
0
0
0
0
0
0
0
0
0
27
-15
109
-17
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
78
-63
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
2
-18
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
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
73
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
96
0
0
85
-33
20
1
-3
0
0
0
0
0
0
0
0
0
53
3
45
83
100
2
0
-6
0
0
0
0
0
0
0
0
0
85
-6
-17
89
-6
-2
0
6
0
-2
0
0
0
0
0
0
10
14
51
-43
-56
-5
2
-6
0
1
0
0
0
0
0
0
0
1
-6
-14
54
74
-3
3
0
-2
0
0
0
0
0
0
0
0
0
-8
15
-27
6
-2
0
-1
0
0
0
0
0
0
0
0
0
0
6
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
-10
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
2
10
0
0
104
65
-6
0
0
0
0
0
0
0
0
0
0
0
14
37
146
11
-27
11
0
0
0
0
0
0
0
0
0
0
-5
21
55
111
-37
-3
0
0
0
0
0
0
0
0
0
0
0
17
20
-19
-76
26
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
35
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
16
-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
21
-3
-26
0
0
0
0
5
0
0
0
0
0
0
0
-9
11
-17
14
16
0
0
0
-12
0
0
0
0
0
0
0
0
2
1
23
5
-14
22
-20
-31
2
-6
0
0
0
0
0
0
0
1
45
-5
15
71
71
79
-7
-10
0
0
0
0
0
0
0
3
-3
0
-2
41
135
-42
-30
55
3
-7
0
-2
2
0
0
0
0
0
5
6
5
-4
-28
11
3
3
0
0
6
0
0
0
0
0
0
4
0
-17
-14
41
20
-9
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
13
1
0
-3
2
0
0
0
-6
-72
100
13
-14
-1
0
0
0
4
-2
7
-34
15
34
-14
58
71
100
-10
3
-6
0
0
0
0
-8
4
0
-5
59
8
5
86
-21
8
0
0
0
0
0
0
-1
-2
-11
13
-61
-24
115
-39
60
-41
-1
-2
0
0
-1
0
0
3
13
-14
8
-77
15
-84
-133
-96
13
0
0
0
0
0
0
0
-5
6
27
-9
60
10
25
18
61
0
0
0
0
0
0
0
0
-2
0
0
3
0
-19
26
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
-1
-2
0
0
0
0
0
0
0
-14
10
5
37
-53
35
-1
0
0
0
0
0
0
0
0
0
0
18
34
34
107
-1
62
-2
0
0
0
0
0
0
0
0
0
0
-4
12
-32
44
-32
73
0
0
0
1
0
0
0
0
0
0
0
26
-64
-14
55
47
-45
17
-15
46
-1
-1
0
0
0
0
0
0
6
64
31
-104
10
23
-66
-7
3
1
2
-1
1
0
0
0
0
-11
-60
10
24
-34
-5
-44
-14
-23
-1
-42
-2
-3
0
0
0
0
33
-5
-44
-15
-17
53
23
49
57
15
-1
0
-1
-1
0
0
0
0
34
37
-102
-4
41
-50
32
-43
7
2
0
-5
0
0
0
0
0
0
4
-18
5
0
-6
0
2
-1
0
0
0
0
0
0
0
-48
-58
-60
-2
18
81
27
0
0
0
-50
1
0
0
0
0
0
38
63
-89
-29
19
-3
192
0
0
8
106
-14
-6
0
1
0
0
-14
-47
-5
108
35
139
112
166
7
-52
16
-37
0
0
0
0
0
-17
25
28
98
-126
32
117
12
31
51
-63
39
-2
0
0
0
0
-1
89
86
-20
-47
-17
33
44
3
48
9
-15
29
-4
0
0
0
-18
-80
17
-38
14
41
25
54
13
41
48
-23
-17
8
0
0
0
0
-51
-4
-64
12
39
62
-28
-64
-30
12
58
-1
2
0
0
0
0
-11
-50
10
-71
9
63
-8
62
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
-34
-41
-22
-42
-17
3
0
0
1
34
-55
-1
1
0
0
0
21
5
-25
-9
24
46
75
2
-14
90
-5
-3
0
-1
0
0
0
33
-55
5
-26
50
23
5
-62
9
-41
-23
-13
0
0
0
0
0
76
57
-54
6
3
33
51
-6
4
-34
-45
16
2
3
-1
0
0
-11
56
-5
-29
11
44
-16
42
-35
7
35
54
0
-1
0
0
0
-14
-40
-37
18
25
17
54
16
40
-47
14
84
-2
0
0
0
0
-4
-53
60
-37
-6
-16
-16
5
-56
13
-82
18
3
0
0
0
0
11
-33
-65
52
-24
43
3
-36
89
41
-45
10
-1
0
0
0
0
0
-6
27
2
-67
41
-23
-53
15
-7
-36
-15
0
0
0
0
0
37
13
0
24
17
100
33
0
0
0
0
0
0
0
0
0
0
34
3
-21
37
99
-22
66
43
7
0
0
0
0
0
0
0
0
8
-24
-4
78
-33
42
5
-6
105
0
0
0
0
0
0
0
0
-33
16
-33
85
2
13
33
30
-46
0
0
0
0
0
0
0
0
-33
-14
-2
41
-46
81
20
-66
-15
-1
0
0
0
0
0
0
0
-11
-38
21
-33
-5
-1
-58
-92
-18
3
-5
0
0
0
0
0
0
52
20
8
33
52
43
-18
-50
-14
-20
0
0
0
0
0
0
0
8
34
18
33
-82
88
-23
5
-37
14
1
2
0
0
0
0
0
-59
42
-158
37
-32
9
-5
-48
9
0
3
0
0
0
0
0
0
54
-23
16
38
41
58
-6
144
0
-4
0
0
0
0
0
0
0
-24
-16
-85
-17
-25
94
0
74
25
-18
-2
0
0
0
0
0
0
-33
-21
-2
60
52
52
25
-53
36
-22
-1
-1
0
0
0
0
0
5
23
-12
-6
-28
-79
11
103
2
6
-5
0
0
0
0
0
0
51
-78
-31
10
-3
8
-30
-23
-47
-8
3
0
1
0
0
0
0
-59
-47
-115
8
-18
3
68
-4
21
-1
-27
0
0
0
0
0
0
-38
-81
81
5
-44
-27
-5
-20
-42
-23
-1
0
0
0
0
0
0
39
-68
-76
21
-49
-89
-56
-3
64
4
0
0
0
0
0
0
0
0
0
-62
32
-24
0
0
0
0
0
0
0
0
0
0
0
0
-39
-31
64
-14
61
41
68
0
0
98
127
-34
-15
0
0
0
0
-4
6
22
49
102
-10
143
0
-9
0
25
-43
15
0
0
0
0
-10
-45
7
109
-25
80
123
59
10
107
3
-25
2
0
0
0
0
-45
70
30
-42
97
76
20
-75
-85
-39
29
-19
-1
0
0
0
0
-8
1
30
16
47
84
-40
34
-26
-5
7
43
-3
2
0
0
0
1
-22
-65
-89
4
90
107
72
19
-130
-61
-7
0
0
0
0
0
-1
-17
75
86
87
-120
-9
0
10
-5
-80
2
-2
0
0
0
0
0
3
-74
-81
16
29
19
37
16
2
15
0
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-22
-5
-47
-54
-11
8
0
27
-14
3
0
0
0
0
0
13
14
3
-53
52
23
8
0
-32
0
-5
0
3
0
0
0
0
6
6
43
-80
-9
2
8
22
-37
-47
-80
5
0
0
0
0
0
0
-40
53
13
47
58
91
118
7
-12
-19
-8
0
0
0
0
0
-1
-62
3
24
115
203
70
-14
-49
-25
0
0
0
0
0
0
0
0
20
122
100
79
71
38
-25
-6
-11
-3
0
0
0
0
0
0
0
11
49
5
99
72
-10
-19
-15
5
0
0
0
0
0
0
0
0
0
4
110
7
-17
-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
-73
88
-61
-31
21
29
45
0
0
0
1
1
2
0
0
0
0
3
-9
33
18
-17
82
107
1
0
43
21
0
-1
0
0
0
0
13
-18
-11
-74
-44
31
4
18
8
-71
-16
-1
0
3
0
0
0
9
41
101
34
-44
15
16
-4
29
-42
37
0
0
1
0
0
0
5
-89
-73
-17
36
54
26
-42
100
-14
0
0
0
0
0
0
0
11
-32
8
-4
16
-128
-97
51
-3
71
-1
0
0
0
0
0
0
14
-72
48
24
-36
28
61
-5
-7
-45
-2
0
0
0
0
0
0
-5
66
11
25
-32
55
14
1
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-35
8
-20
3
0
-10
0
0
0
0
0
0
0
0
37
-101
173
-32
-8
-2
16
57
44
0
0
0
0
0
0
0
-7
-72
-49
14
-26
34
-49
-31
-18
-5
21
0
0
0
0
0
0
0
47
-45
51
-76
-9
0
0
-4
5
0
0
0
0
0
0
0
0
16
-23
43
-21
-1
7
0
0
0
0
0
0
0
0
0
0
0
18
-68
-8
14
3
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
0
0
0
0
0
0
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
25
-10
-9
-9
2
6
2
0
0
0
0
0
0
0
0
0
19
20
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-71
8
0
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
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
6
6
0
0
0
0
0
0
0
0
0
0
0
0
20
65
-62
6
27
-28
5
21
5
0
0
0
0
0
0
0
0
81
30
-33
-22
-18
-1
-2
2
-6
0
0
0
0
0
0
0
0
-5
5
-62
13
0
0
0
2
0
0
0
0
0
0
0
0
0
0
43
43
8
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
-8
-5
0
3
2
0
0
0
0
0
0
0
0
0
0
0
-7
31
58
-21
-33
43
-32
-36
2
3
0
0
0
0
0
0
0
0
20
-14
29
45
-3
-6
-3
5
0
0
0
0
0
0
0
0
23
-4
21
180
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
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
-13
-52
-50
13
4
0
0
0
0
0
0
0
0
0
0
-16
5
18
-19
-6
0
0
1
0
0
0
0
0
0
0
0
0
-1
-6
64
32
-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
-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
1
1
-4
0
0
48
11
-13
0
0
1
0
0
0
0
0
0
4
18
23
-7
6
58
-32
19
6
0
0
0
0
0
0
0
0
3
-37
-1
71
-1
-16
-58
-37
-11
5
0
0
0
0
0
0
0
0
15
63
-14
21
-23
0
-23
-5
0
0
0
0
0
0
0
0
0
-1
13
-20
7
35
-6
-14
0
1
0
0
0
0
0
0
0
0
2
-1
-5
-23
4
4
-3
8
-23
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
32
67
-62
23
0
18
-71
69
0
0
0
0
0
-7
17
79
-26
4
22
-2
88
32
-17
-7
41
15
3
0
0
0
0
78
47
55
41
39
65
80
-17
9
29
37
17
-6
0
0
0
0
7
43
113
-57
-4
126
90
63
-21
11
-46
-16
5
-1
0
0
2
0
-16
-50
-44
104
5
175
-12
-70
-33
-11
4
0
0
0
0
0
0
-9
21
-8
-24
-14
41
-14
-17
16
7
0
0
0
0
0
0
0
-1
-6
0
5
13
18
19
-7
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
56
-20
-39
34
-68
50
0
24
58
-55
-122
1
0
0
0
0
0
5
-38
-41
-6
11
27
-5
10
-100
-6
55
71
1
0
0
0
0
-2
-29
76
19
21
68
-44
-27
-59
51
3
-28
-1
0
0
0
-2
-7
-62
-114
32
18
43
18
26
22
-43
60
10
6
0
0
0
-6
85
-26
-62
-17
-45
-35
-71
-74
-58
-46
58
99
24
0
0
0
0
-1
7
-3
-12
-8
-41
-9
-12
18
-42
94
27
3
0
0
0
-8
-21
-9
43
109
-45
20
-61
45
24
30
-23
-4
3
0
0
0
0
0
15
8
-35
70
-84
53
-24
-62
-39
1
0
0
0
0
0
0
0
0
-4
28
-9
-38
-7
-38
-47
46
-7
0
0
0
0
0
0
0
14
32
52
-28
-54
0
-2
-117
12
-133
96
-14
-17
0
0
0
2
-91
-113
13
-90
-13
140
-29
-87
48
-25
55
-18
0
-9
0
0
2
6
85
18
-9
26
-7
6
42
-32
8
53
26
21
0
0
0
10
77
5
187
73
35
-8
32
61
16
-52
22
-7
0
0
0
0
0
-5
-60
6
62
40
-33
-39
34
-15
-12
5
-5
16
0
0
0
0
2
9
-20
77
-79
45
-15
-44
67
5
-49
-4
0
0
0
0
0
0
-6
-9
-17
-51
4
-53
-39
49
-2
-43
17
3
3
0
0
0
0
-2
27
-6
-1
14
21
-22
31
-1
71
5
4
-14
0
0
0
0
0
-6
22
42
-14
12
-12
47
16
7
128
17
14
0
0
0
90
-24
14
88
80
0
-64
-27
32
52
79
-2
0
0
0
0
7
49
2
88
-3
58
17
58
-7
70
60
-47
5
-1
0
0
0
6
83
82
28
-56
71
96
42
-18
-63
71
65
0
0
0
0
0
5
91
44
77
89
21
78
-46
14
-13
4
21
0
0
0
0
0
-1
33
61
-4
-6
-13
-52
36
88
41
-32
-4
1
0
0
0
0
0
6
29
-1
75
-24
-16
71
40
-71
22
-3
-32
1
0
0
0
0
0
-14
-25
-21
-17
35
-50
-3
-78
-22
128
-24
0
0
0
0
0
0
14
15
32
-67
-39
15
-7
8
4
14
-21
-13
0
0
0
0
0
0
0
45
-45
6
0
0
0
0
0
0
0
0
0
-20
-64
27
-31
-35
-44
19
0
-53
5
-47
0
1
0
0
0
-3
7
-5
43
49
31
-71
-18
-11
42
-24
-16
-5
0
0
0
0
-5
44
21
42
106
-5
69
69
35
27
7
17
26
-3
0
0
0
0
-15
-5
78
-14
112
129
59
48
49
43
-13
1
-17
6
0
0
0
2
11
2
64
48
-6
4
23
8
-3
-9
0
0
0
0
0
0
0
10
8
16
-43
46
-49
73
-45
-56
-2
0
0
4
0
0
0
0
0
0
0
-53
-32
-27
-10
21
-1
0
0
0
0
0
0
0
0
0
5
0
3
2
-20
9
14
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
13
-16
-37
0
-2
0
0
0
0
0
0
0
0
0
-1
-5
-3
19
13
62
35
-3
0
0
0
0
0
0
0
0
0
4
-6
64
34
15
-2
-31
-4
-2
0
0
0
0
0
0
0
0
-5
3
44
34
56
64
-1
0
0
0
0
0
0
0
0
0
0
0
7
74
27
32
-10
-10
3
0
1
0
0
0
0
0
0
0
0
16
2
37
8
76
13
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
-1
-9
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
9
0
0
44
43
1
0
-58
-36
-2
0
0
0
0
0
-2
0
-10
53
52
76
-44
-47
53
-64
-30
0
18
1
0
0
0
0
-6
-10
7
16
154
33
-91
-42
-35
3
10
-8
0
0
0
0
0
0
1
10
4
-1
-1
157
5
-50
50
-3
-6
0
0
0
0
0
0
0
9
75
-4
-14
-2
-61
17
8
0
0
0
0
0
0
0
0
0
3
17
-6
-59
-138
-74
-97
-14
-27
5
0
0
0
0
0
0
0
0
14
11
78
30
68
-24
68
-32
0
3
0
0
0
0
0
0
0
0
-14
-41
14
11
-2
-18
-4
1
0
0
0
0
0
0
0
0
0
-3
-5
3
-55
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-6
9
-37
0
0
0
0
0
0
0
0
0
30
0
0
5
72
-14
47
-4
-5
0
0
0
0
0
0
0
-5
-31
-88
103
21
48
91
22
-5
5
0
0
0
0
0
0
0
10
31
60
62
24
-8
-10
-10
-2
-5
0
0
0
0
0
0
0
0
79
-16
71
47
0
34
-5
-20
-35
0
0
0
0
0
0
0
-6
-71
-18
-63
20
65
0
23
45
-27
0
0
0
0
0
0
0
-4
-41
-5
-108
26
79
-48
16
-5
-2
1
0
0
0
0
0
0
0
-14
-37
-27
42
-6
-4
17
-2
1
0
0
0
0
0
0
0
0
-10
2
42
-8
-31
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
43
0
0
0
4
-6
0
1
0
0
0
0
0
0
0
0
0
-36
37
46
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
1
-10
18
-1
-1
0
0
0
0
0
0
0
0
0
0
0
10
-23
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-16
61
-5
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
-33
-44
4
-2
-5
0
-2
0
0
0
0
0
0
0
0
0
0
36
-7
-9
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
25
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
90
0
0
-16
6
-7
0
0
0
0
0
0
0
0
0
0
0
103
95
6
36
1
5
4
0
0
0
0
0
0
0
0
0
0
34
23
-67
-11
32
-2
0
8
-1
0
0
0
0
0
0
0
3
-24
-59
53
22
24
-1
-4
-3
-1
0
0
0
0
0
0
0
3
-15
-50
6
-32
-21
0
-4
2
1
0
0
0
0
0
0
0
0
-3
20
-8
99
-45
1
2
-1
4
0
0
0
0
0
0
0
0
0
5
3
64
-2
0
-9
14
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
4
33
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
-1
-70
0
0
5
-3
-4
-2
0
0
0
0
0
0
0
0
0
0
-23
58
92
8
1
0
1
0
0
0
0
0
0
0
0
0
-10
-50
4
-87
9
16
0
7
0
0
0
0
0
0
0
0
0
-2
-35
111
-62
37
-4
2
-3
0
0
0
0
0
0
0
0
0
0
-37
5
24
5
7
0
6
-3
0
0
0
0
0
0
0
0
0
35
-57
45
-7
10
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-3
-33
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
15
11
-5
0
0
0
-13
1
0
0
0
0
0
0
-6
1
52
-7
-21
-54
0
0
0
0
2
0
0
0
0
0
0
-5
4
24
11
-20
33
-18
27
11
1
0
3
0
0
0
0
0
0
-4
-2
-5
-15
4
-34
10
72
33
-5
-6
1
0
0
0
0
0
0
9
-5
-29
-59
-19
13
94
-8
16
0
10
0
0
0
0
0
0
0
-1
-21
1
44
-10
46
5
3
2
6
2
0
0
0
0
0
0
-1
-5
20
-17
-7
53
-8
17
0
0
0
0
0
0
0
0
0
0
0
7
-5
-14
-19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
15
-1
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
7
35
7
0
2
0
0
0
0
0
2
3
3
43
0
0
0
43
56
4
7
0
0
0
0
-1
0
7
63
19
48
20
62
47
1
5
2
-1
0
-1
0
0
0
0
6
29
32
11
137
92
-97
9
4
-8
-4
0
0
0
0
0
0
-6
-14
9
30
-92
138
-61
2
31
-1
0
0
0
0
0
0
0
0
-36
7
-50
-70
70
70
-39
33
-1
-5
-1
0
0
0
0
0
0
13
45
84
-2
4
-24
-47
-2
-6
1
-8
0
0
0
0
0
0
0
3
1
27
-13
-76
-43
-15
0
-2
0
0
0
0
0
0
0
0
0
-3
63
31
19
33
7
-4
0
0
0
0
39
52
-34
-20
-78
-5
1
0
0
0
0
0
0
0
0
0
0
-6
19
-23
83
52
33
19
0
0
0
0
0
0
0
0
0
0
51
41
130
-22
30
55
5
-2
0
0
0
0
0
0
0
0
0
-13
-115
113
-40
50
28
9
-5
2
0
0
-1
0
0
0
0
0
-25
-3
5
16
80
8
70
6
-18
-33
0
0
0
-3
0
0
0
0
-9
30
5
-5
53
77
77
-21
33
32
0
-3
1
0
0
0
0
-5
63
-39
-2
-5
81
-46
-1
20
5
64
-23
0
0
0
0
0
1
3
-8
0
0
1
25
-9
-18
13
0
23
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
32
25
49
4
-23
166
0
0
0
18
-2
-9
14
0
0
0
-31
50
-35
-37
82
-60
-4
0
0
62
96
38
28
6
0
0
0
27
-49
-58
53
57
3
-26
88
32
207
80
52
11
-4
-2
0
0
-44
-63
51
-64
95
-58
-15
-62
15
-9
-23
5
-2
-1
-6
1
0
1
13
99
69
24
-33
45
72
88
-93
5
-11
6
0
0
-1
0
0
-4
-86
51
-114
-130
41
-52
-55
-5
-3
-14
-4
1
-2
0
0
0
0
-7
-9
-34
-7
-2
-64
-37
-43
-3
-6
-2
0
-2
0
0
0
0
0
-5
2
0
-1
9
-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
-2
1
1
-33
-19
112
51
0
0
50
13
-13
24
0
0
0
0
10
69
-14
44
33
-19
21
-16
45
-53
-61
10
3
0
0
0
0
23
36
34
-62
-28
-96
-15
-56
-14
-63
-52
-47
-7
1
0
0
0
-3
9
-1
17
-71
16
7
-95
5
-28
-2
-4
-14
-2
0
0
0
25
-16
-40
-23
20
20
47
-48
-46
-28
1
11
-29
2
0
0
0
0
36
-1
-2
-3
-36
-57
-54
-131
-33
80
-16
-47
0
0
0
0
0
0
-24
-12
11
-38
32
-34
1
56
-54
-16
5
0
0
0
0
0
0
5
113
-15
98
-3
-38
-59
-1
11
0
0
0
0
0
0
0
0
77
19
9
-24
-3
-10
0
0
0
0
0
0
0
0
0
-17
-41
65
43
-30
-1
14
0
0
4
0
0
0
0
0
0
0
-4
-65
53
-23
133
54
-4
32
15
0
0
0
0
0
0
0
0
-9
-16
-22
-14
14
28
-30
-33
-15
0
0
0
0
0
0
0
0
4
16
-14
75
-23
-26
30
3
23
0
0
-3
0
0
0
0
0
0
15
-8
9
-21
17
-65
-51
-17
-5
0
2
0
0
0
0
0
0
2
-1
6
-5
-21
14
-41
-50
1
0
7
0
0
0
0
0
0
0
1
0
-7
-14
-5
-25
5
1
0
0
1
1
0
0
0
0
0
0
3
0
0
-29
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
74
-37
75
108
-2
79
21
0
0
0
0
0
0
0
0
0
48
-51
2
3
44
26
0
-40
-16
1
0
-6
0
1
0
0
0
61
-30
-2
100
2
134
18
-1
-32
-15
0
-1
0
0
0
0
0
49
-46
22
71
-4
-18
-77
-64
5
-7
16
-1
-2
0
0
0
0
5
10
12
-1
-39
25
-81
-22
7
-5
0
-5
0
0
0
0
0
-3
-13
4
-44
52
92
-19
-78
0
4
-2
0
0
0
0
0
0
0
17
31
-20
15
14
-36
-26
5
-11
0
0
0
0
0
0
0
3
0
1
-4
-18
0
-3
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
10
40
6
-151
75
-13
82
0
0
64
-57
13
-13
-2
0
0
0
-11
9
73
-7
31
53
33
0
212
0
32
-10
-13
0
0
0
0
34
33
-26
-34
20
13
58
-52
258
152
-39
-1
-5
0
0
0
0
65
23
-53
-71
117
-88
39
11
57
74
33
-2
2
2
0
0
0
-1
25
-20
123
-58
-93
-52
-58
4
-50
34
11
1
0
-1
0
0
0
-10
34
43
-58
122
-43
-80
-19
25
-13
-4
0
0
0
0
0
0
0
-6
-1
5
39
-75
-31
-59
29
2
0
0
-1
0
0
0
0
0
0
0
-29
-1
20
-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
-18
5
-80
-32
7
5
0
-5
-1
3
-1
0
0
0
0
0
-18
37
1
-80
-73
-42
0
-3
0
0
1
1
0
0
0
0
0
-14
-30
-43
-49
-52
-54
-73
20
-2
0
0
0
0
0
0
0
0
-9
16
-1
-5
1
-18
-3
7
-33
10
-6
4
0
0
0
0
0
0
9
-14
-4
-5
-53
-14
43
-15
59
1
0
0
0
0
0
0
0
-3
-17
-27
-6
-59
-46
-25
16
-1
0
3
0
0
0
0
0
0
0
0
23
17
-2
55
-8
25
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-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
-19
18
-52
-17
0
0
0
0
0
0
-14
-7
0
0
0
0
6
31
9
23
62
-1
74
9
0
-3
32
5
0
0
0
0
0
-31
61
-68
45
-17
62
25
3
65
26
0
0
0
0
0
0
0
-1
-79
36
26
38
122
-81
-51
29
4
-3
11
0
0
0
0
0
0
-1
32
76
58
59
17
-1
-117
-40
5
5
0
0
0
0
0
0
-2
37
1
-11
50
-5
-29
-55
-106
26
1
0
0
0
0
0
0
5
2
2
2
0
-33
-18
-35
-47
0
0
0
0
0
0
0
0
0
-1
-1
-2
-11
-1
7
-109
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
0
0
0
0
0
0
0
0
0
0
3
9
-11
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
-80
-6
-63
53
49
22
0
0
0
0
0
0
0
0
0
0
0
1
33
-23
68
-5
32
36
0
0
0
0
0
0
0
0
0
0
-23
-46
23
23
38
96
0
0
0
0
0
0
0
0
0
0
2
5
69
20
-19
-4
-56
-1
0
0
0
0
0
0
0
0
0
0
-1
22
-46
-36
75
102
0
0
0
0
0
0
0
0
0
0
0
-16
10
-13
-27
-44
-7
5
0
0
0
0
0
0
0
0
0
0
0
-11
-33
-49
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
-18
0
0
0
0
0
0
0
0
0
0
0
-7
29
25
-81
3
-31
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-10
45
35
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
11
14
37
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
14
-80
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
7
53
4
0
0
0
0
0
0
0
0
0
0
0
-3
1
-87
0
26
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
42
0
0
0
0
0
0
0
0
0
0
-5
0
18
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
7
0
82
86
-4
-13
2
0
0
0
0
0
0
0
0
0
-1
0
-25
-41
20
-10
-6
0
0
0
0
0
0
0
0
0
0
0
8
-45
5
34
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
-3
33
2
-15
-32
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-43
-56
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-43
2
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
-4
0
0
0
80
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
27
23
-17
-10
0
0
0
0
0
0
0
0
0
0
0
5
5
-6
11
43
6
0
0
0
0
0
0
0
0
0
0
0
14
-49
-14
-35
1
16
0
0
0
0
0
0
0
0
0
0
0
3
25
-34
-11
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
-50
27
-20
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-74
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
-13
0
0
0
0
0
0
0
0
-2
-1
0
0
0
37
5
5
24
-7
0
0
0
0
0
0
0
-5
29
27
-32
-34
3
31
46
3
0
0
0
0
0
0
0
0
-10
26
0
-14
6
18
0
-1
9
1
0
0
0
0
0
0
0
-5
0
-74
-58
23
15
-3
3
14
0
0
0
0
0
0
0
-1
7
7
-32
-20
-34
10
-5
0
1
0
0
0
0
0
0
0
0
0
0
-80
-79
-56
-101
0
-11
0
0
0
0
0
0
0
0
0
0
-13
-102
-14
-23
0
0
0
0
0
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
19
-100
0
0
0
43
-7
-32
23
-2
0
0
0
0
0
-3
1
-10
-19
-60
47
55
72
20
-25
15
-37
-2
0
0
0
0
0
0
-3
-15
-32
-33
1
-71
5
34
-13
-34
-1
-4
0
0
0
0
0
-2
-33
-48
-33
62
22
-100
20
11
-29
0
6
0
0
0
0
0
-9
-20
16
47
-23
-56
-53
80
15
-1
0
0
0
0
0
0
2
2
-49
-74
-79
-16
-63
-7
4
0
1
0
0
0
0
0
0
0
-1
-26
17
118
54
-1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-4
78
-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
-26
0
0
0
88
73
64
-24
-6
-37
14
0
0
0
0
17
-15
138
3
0
0
55
136
83
41
-32
8
6
0
0
0
0
-2
14
-47
-2
81
49
85
85
-41
31
78
19
-1
0
0
0
3
0
1
-15
79
-15
101
40
15
78
-12
61
126
135
0
0
0
0
0
7
-48
14
-39
-41
-58
24
-2
54
23
76
52
0
0
0
0
0
-7
10
30
24
15
-12
-25
-128
-16
-10
50
-1
0
0
0
0
0
0
2
-36
-10
16
-23
104
-42
-19
64
-45
0
0
0
0
0
0
-2
-1
-5
-41
-6
41
39
-32
-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
-5
3
-9
0
0
106
12
1
19
43
-38
77
0
0
0
0
0
-15
-18
-86
44
-5
43
54
21
17
28
58
39
0
0
0
0
1
-45
-8
-5
-41
-14
-23
9
22
50
-26
-48
91
0
0
0
0
-9
8
-52
-61
5
-73
-23
22
-75
35
-59
40
-14
0
0
0
1
0
-3
32
-22
23
24
18
19
-13
-6
-82
19
50
0
0
0
0
-1
-21
-8
-1
-72
-39
21
-68
7
-82
1
18
10
0
0
0
0
0
-2
-4
32
12
64
-6
-43
10
-22
-117
10
0
0
0
0
0
0
1
1
23
-33
35
-41
25
-14
-18
-25
4
0
0
0
0
0
0
0
0
0
0
6
-76
34
-65
-40
42
0
0
0
0
0
0
0
0
0
0
0
0
-32
187
96
72
-67
-28
-5
0
0
0
0
0
0
0
0
8
-2
5
87
33
45
8
87
41
0
0
0
0
0
0
0
-2
-5
40
-1
-4
68
-115
-20
35
36
0
0
0
0
0
0
1
8
-59
-54
33
24
15
-105
-2
-62
5
0
0
0
0
0
0
0
8
4
18
71
44
-23
11
-40
5
-11
0
0
0
0
0
0
0
0
1
-55
19
32
8
-29
-43
-20
0
0
0
0
0
0
0
0
0
-7
14
-61
17
-4
-3
82
35
0
0
0
0
0
0
0
0
0
-1
23
8
12
-46
25
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-2
2
15
0
0
0
0
0
0
0
0
0
5
0
148
103
12
14
-64
-4
-23
-65
0
0
0
0
0
0
7
7
-33
8
0
7
51
25
-105
-9
29
0
0
0
0
0
0
0
7
33
40
-3
31
17
1
-62
23
-8
0
0
0
0
0
0
1
-4
28
7
44
7
78
13
-51
-14
-25
0
0
0
0
0
0
-3
8
18
-71
6
61
43
-59
5
71
24
0
0
0
0
0
0
0
0
9
29
-44
-44
40
25
-16
66
-23
0
0
0
0
0
0
0
-46
0
-72
4
-53
-6
-81
22
-1
0
0
0
0
0
0
0
0
0
2
-25
54
8
51
-8
2
5
13
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-2
0
0
0
0
0
0
0
0
43
66
0
0
139
103
32
86
-105
22
-2
0
0
0
0
1
-29
33
0
-87
0
47
113
-37
79
121
8
-4
0
0
-4
0
1
-4
-18
16
10
78
126
57
74
34
54
-31
-12
0
0
0
0
-2
2
20
17
37
59
20
45
47
85
73
-15
169
0
0
0
-6
0
13
-15
-11
-17
-52
36
20
63
56
4
-10
-4
0
0
0
0
1
1
-23
0
55
-58
-104
-83
-31
7
10
24
0
0
0
0
0
0
-6
-10
26
-5
-25
57
-103
21
15
-5
0
0
0
0
0
0
0
0
3
-40
-1
8
-19
-43
1
11
-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
48
3
-26
-48
36
14
3
0
0
0
0
0
0
4
0
-34
0
-14
2
-50
-30
-17
44
5
0
0
0
0
0
0
-15
25
-26
-14
46
39
21
36
137
47
-1
0
0
0
0
0
1
2
9
34
5
74
-29
5
-25
-21
4
0
0
0
0
0
-2
0
4
-3
13
2
15
-18
87
-4
22
2
2
0
0
0
0
0
0
0
4
-9
-3
-21
-33
-7
21
2
2
0
0
0
0
0
0
0
0
0
0
9
0
-16
6
-3
32
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
20
27
-57
-43
-56
-71
-16
0
0
0
0
0
2
4
0
0
2
-137
4
15
-87
53
43
-19
0
0
0
0
0
0
0
-60
5
26
33
48
-12
43
41
55
-32
0
0
0
0
0
0
-1
-5
-35
-16
7
78
1
82
13
-59
-20
0
0
0
0
0
-5
-3
26
41
10
48
52
-38
-40
-12
57
-20
0
0
0
0
0
0
0
35
13
-5
22
-27
-3
0
25
91
-6
0
0
0
0
0
0
0
15
56
1
-7
31
-14
-16
8
13
-2
0
0
0
0
0
0
0
1
43
0
2
-5
8
-55
29
37
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
5
24
15
-53
-52
54
47
-4
0
0
0
0
0
0
-1
2
13
-4
35
-9
35
-37
85
-98
3
0
0
0
0
0
0
0
0
0
-2
19
-44
-15
-4
73
-44
2
0
0
0
0
0
0
0
0
0
0
27
65
97
133
-17
66
5
0
0
0
0
0
0
0
0
0
0
-2
-18
-29
-21
7
-14
75
0
0
0
0
0
0
0
0
0
0
-1
-19
-1
-72
41
24
-3
0
0
0
0
0
0
0
0
0
0
5
-23
30
-114
80
54
0
0
0
0
0
0
0
0
0
0
0
0
0
1
36
-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
-5
-1
0
77
-5
-9
-1
0
0
0
0
0
0
0
0
0
0
0
1
33
-7
21
16
0
0
0
0
0
0
0
0
0
0
0
0
1
6
3
-4
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
80
22
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
-2
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
9
-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
-21
1
-54
14
-9
6
0
0
0
0
0
0
0
0
3
0
0
-3
-14
27
-13
31
0
0
0
0
0
0
0
0
-1
0
0
-2
-3
88
-36
-55
57
-14
0
0
0
0
0
0
0
0
0
0
-2
15
20
165
-50
53
6
0
0
0
0
0
0
0
0
0
0
2
3
-45
111
-60
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
33
10
103
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
21
-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
-29
42
54
42
-15
0
0
0
0
0
0
0
0
0
-1
1
5
-47
106
3
22
-34
0
0
0
0
0
0
0
0
0
8
0
-2
23
102
58
33
53
-10
0
0
0
0
0
0
0
0
0
0
3
9
-44
112
6
-21
0
0
0
0
0
0
0
0
0
0
0
0
23
49
46
40
-11
0
0
0
0
0
0
0
0
0
0
0
-2
0
25
78
63
0
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
0
0
6
0
0
0
0
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
41
33
-65
25
-31
-8
0
0
0
0
0
0
0
1
0
43
22
-14
-21
-29
19
-34
-42
3
0
0
0
0
0
0
0
0
-13
-15
77
2
-21
7
8
-10
-5
0
0
0
0
0
0
0
-1
-2
7
15
45
-21
71
-19
-7
2
0
0
0
0
0
0
0
1
14
-8
-18
20
78
-47
18
-33
0
0
0
0
0
0
0
0
8
-7
6
0
19
-33
35
-4
21
-2
0
0
0
0
0
0
0
0
5
3
3
7
-3
6
-25
0
0
0
0
0
0
0
0
0
0
0
24
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
-24
52
20
-2
7
-14
4
-2
0
0
0
0
0
0
-6
0
-22
69
-43
34
-46
129
23
14
13
0
0
0
0
0
0
0
-2
-25
-22
-5
-11
-1
53
-64
-9
19
0
0
0
0
0
0
-1
-2
-2
14
25
6
62
190
72
-46
0
0
0
0
0
0
0
-5
-2
-2
-35
1
-55
25
6
117
-65
10
0
0
0
0
0
0
0
5
-8
34
0
35
-52
66
18
-76
-1
0
0
0
0
0
0
0
8
-21
14
-5
39
-14
13
-37
30
4
0
0
0
0
0
0
2
1
3
-2
0
0
7
14
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-10
0
-34
20
-34
93
80
-6
-6
-2
0
0
-8
3
72
-31
-52
19
24
53
80
1
108
18
-10
57
-9
0
0
0
0
-2
-30
49
-18
-1
45
51
-2
111
131
10
-24
-68
0
0
0
0
4
-5
-18
24
-75
-87
41
62
85
119
149
44
-18
0
0
0
1
-3
-5
-1
50
42
-37
-23
95
30
13
15
67
0
0
0
0
0
0
0
33
-106
45
-90
-69
-77
91
-70
-84
2
0
0
0
0
0
0
0
-10
6
-5
-39
41
-114
-24
14
-22
0
0
0
0
0
0
0
3
0
-8
-10
33
-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
-43
119
14
0
53
-25
16
-50
50
-14
-10
0
0
0
0
-5
47
9
-20
23
19
-16
1
-38
37
35
-43
68
0
0
0
0
-7
-47
3
8
-1
6
19
-8
-53
-78
84
81
72
0
0
0
0
4
38
76
-10
19
63
-97
-86
25
18
80
-69
47
0
0
0
0
-19
-19
15
-14
-102
-52
72
25
-30
-5
-3
12
-48
0
0
0
-1
-13
-69
19
62
-37
21
11
-23
47
70
-19
8
3
0
0
0
0
-1
7
-16
16
-41
33
32
29
-35
6
68
-50
-1
0
0
0
0
0
0
10
58
52
17
9
-45
-20
-118
33
-44
0
0
0
0
0
0
0
0
-5
1
14
39
-4
17
10
0
0
0
0
0
0
0
0
-5
-55
-48
80
0
111
-80
49
-28
36
-3
0
0
0
0
0
16
6
-23
-79
-2
63
54
7
54
119
-43
-4
0
0
0
0
0
18
30
-9
-63
-49
71
70
-33
-12
-95
42
0
0
0
0
0
-1
10
29
3
0
-16
23
87
-64
52
47
22
-4
0
0
0
0
-4
8
138
12
-3
-7
-15
-62
-46
51
-21
10
0
0
0
0
1
-10
-18
55
2
40
-67
-37
14
-87
5
-52
-29
0
0
0
0
-1
0
43
76
12
-18
30
-30
-82
16
5
-105
0
0
0
0
0
1
-2
-11
-84
9
12
-26
-42
-18
-14
-5
76
1
0
0
0
0
0
-1
48
71
-22
5
-28
-27
7
-69
-1
5
0
0
0
0
0
0
0
0
4
-4
20
-30
0
16
61
63
31
81
1
0
0
0
0
0
0
-10
11
-12
-7
-44
56
91
3
-60
-21
-7
0
0
0
0
0
-18
-13
10
53
28
-2
-16
-72
-8
43
84
3
0
0
0
0
0
-1
-5
-33
-2
-9
-64
-5
-62
12
-4
86
1
0
0
0
0
0
1
-5
-38
-37
-60
-7
41
24
-29
-56
73
11
0
0
0
0
0
0
-19
-47
-6
-10
-76
-89
-20
-33
-71
-43
21
0
0
0
0
0
0
-5
27
-21
-5
-17
-73
-33
-58
-53
-17
0
0
0
0
0
0
0
-4
-33
63
-33
9
13
-10
-11
-52
-3
0
0
0
0
0
0
0
0
0
0
0
13
-9
-15
0
-3
0
0
0
0
0
0
0
0
3
-3
18
-46
0
93
76
-5
22
9
-118
93
1
0
0
0
0
55
-60
-72
-51
54
10
32
11
88
21
-33
75
33
0
0
0
3
-5
78
24
-62
2
39
23
106
17
166
-28
105
70
0
0
0
0
-2
-26
-16
-92
-10
58
21
73
-20
76
15
5
51
0
0
0
2
-2
25
111
-90
-41
37
33
-14
71
118
-26
-21
25
0
0
0
0
-7
14
8
-32
-9
-96
4
37
-62
5
-1
-3
0
0
0
0
0
0
-5
10
27
-2
-23
-30
-46
-29
24
-17
1
0
0
0
0
0
0
0
-3
-7
-2
-69
-16
-24
15
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
-29
0
-49
11
35
-26
-23
-9
48
31
0
0
0
0
0
0
-1
-5
33
-85
43
-18
-25
16
57
-53
-41
0
0
0
0
0
4
-5
-35
-12
-43
34
13
52
52
15
63
-28
0
0
0
0
0
0
-8
53
-43
-142
-56
90
167
-107
89
9
0
0
0
0
0
0
0
-6
-14
14
53
135
54
-2
56
1
3
0
0
0
0
0
0
0
13
-47
42
68
43
-11
36
-21
20
0
0
0
0
0
0
0
0
-2
51
47
-2
43
8
-59
9
0
0
0
0
0
0
0
0
0
1
-8
23
127
8
15
-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
-34
-26
32
0
44
33
16
8
80
-24
-36
3
0
0
0
0
-7
-18
91
-15
-51
65
28
128
33
38
21
19
-1
0
0
0
0
-2
-13
-33
117
74
-53
50
26
73
58
2
-28
1
0
0
0
0
-5
6
-57
34
31
3
82
-65
51
-50
23
82
13
0
0
0
0
0
52
5
-37
-20
-60
40
-18
-13
79
59
30
-19
0
0
0
0
0
8
-13
-9
-75
-141
67
23
14
29
-54
43
3
0
0
0
0
-4
5
37
-23
-21
-10
-16
17
-19
74
1
-1
0
0
0
0
0
-2
7
5
15
-77
-60
19
14
0
0
0
0
0
0
0
0
0
0
3
3
8
9
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
0
0
0
0
0
0
0
0
0
0
-2
5
16
-6
0
0
62
0
0
0
0
0
0
0
0
0
0
0
-14
-28
-61
-43
-23
132
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-40
43
121
43
8
0
0
0
0
0
0
0
0
0
0
-1
1
-40
-34
-3
49
2
0
0
0
0
0
0
0
0
0
0
0
0
1
7
42
15
-29
0
0
0
0
0
0
0
0
0
0
0
-1
-18
7
5
53
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
2
0
0
0
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
-5
-9
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
23
55
-79
40
0
0
0
0
0
0
0
0
0
0
0
-3
1
10
1
54
-13
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
-33
-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
17
0
0
0
0
0
0
0
0
0
0
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
9
-24
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
24
89
1
-108
11
0
0
0
0
0
0
0
0
0
0
0
-1
8
-4
77
3
50
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
5
60
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-17
-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
9
0
0
0
0
0
0
0
0
0
0
-1
1
36
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-24
41
125
80
27
0
0
0
0
0
0
0
0
0
0
0
-3
-48
-1
-71
35
-18
3
0
0
0
0
0
0
0
0
0
0
0
14
0
-10
-43
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
9
0
4
0
0
0
0
0
0
0
0
-9
0
0
0
76
17
25
-7
0
0
0
0
0
0
0
0
0
0
7
26
25
14
24
3
5
0
0
0
0
0
0
0
0
0
-1
-2
-22
36
18
54
-8
-16
-3
3
0
0
0
0
0
0
0
0
9
-3
41
15
21
-31
-1
4
0
0
0
0
0
0
0
0
0
7
0
-13
0
71
-1
-9
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
2
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
-2
0
1
-4
0
0
0
0
-3
3
0
0
0
0
0
0
0
1
4
-47
-5
0
0
0
31
13
3
0
0
0
0
0
0
0
0
0
-1
29
-2
67
92
87
-79
-52
0
-5
0
0
0
0
0
0
0
-2
-11
16
38
106
20
-10
27
-24
26
2
0
0
0
0
0
0
0
0
41
45
-31
-26
-18
25
34
-7
1
0
0
0
0
0
0
0
0
-1
21
-34
25
-8
-35
-14
-25
4
0
0
0
0
0
0
0
0
2
6
-17
4
-6
6
-26
14
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
26
0
0
0
24
22
59
44
-6
-28
19
0
0
0
0
3
-1
37
17
0
0
119
25
-9
-17
-7
23
59
0
0
0
0
0
0
4
85
-57
-29
170
133
-120
-36
19
60
40
0
0
0
0
0
0
-4
-95
51
16
35
29
-26
-40
34
57
-8
0
0
0
0
3
0
7
45
14
-37
31
81
65
-4
-12
22
73
0
0
0
0
0
0
1
-14
7
2
-28
-62
51
-13
37
35
24
0
0
0
0
0
0
0
0
-4
17
92
43
-1
34
15
-22
-1
0
0
0
0
0
0
0
0
-1
9
1
14
-27
45
27
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
-52
0
0
28
-22
22
24
109
-46
35
0
0
0
0
5
-27
-34
-84
3
-51
18
-14
28
-5
-97
41
85
0
0
0
0
0
-17
51
-6
-56
-15
6
-10
7
44
1
1
100
0
0
0
0
0
-3
-11
21
24
-37
-19
27
10
-42
-40
-37
74
0
0
0
0
0
19
26
-22
-100
-74
-16
-7
-41
11
1
137
57
0
0
0
0
0
-1
-14
14
-5
-91
29
26
-3
-3
-8
-35
-4
0
0
0
0
0
3
5
-18
-42
10
-40
-12
-27
-26
45
15
1
0
0
0
0
0
0
-7
-2
23
74
15
-42
42
-22
-141
31
0
0
0
0
0
0
0
0
2
-11
28
55
69
42
-64
15
0
0
0
0
0
0
0
0
0
-6
0
0
55
-18
14
-92
88
6
15
0
0
0
0
0
0
0
4
-29
49
41
-44
-6
-56
13
6
82
0
0
0
0
0
0
-3
-5
13
-62
-15
-2
55
-41
13
-73
-23
0
0
0
0
0
0
0
0
37
12
-2
-20
-58
13
-18
-46
49
0
0
0
0
0
0
0
-9
7
14
25
37
73
-33
-58
13
-17
0
0
0
0
0
0
0
0
-22
35
5
41
-61
-65
-58
-41
-36
0
0
0
0
0
0
0
0
0
6
-39
10
10
-9
63
45
1
0
0
0
0
0
0
0
0
0
0
36
28
43
17
18
7
65
0
0
0
0
0
0
0
0
-1
-3
16
3
135
46
24
-65
48
0
0
0
0
0
-1
0
2
0
80
56
-13
9
26
60
-40
-11
0
0
0
0
0
0
-3
19
1
-82
0
-34
75
-30
93
8
37
0
0
0
0
0
0
6
-26
-7
53
73
-17
100
31
80
-37
33
0
0
0
0
0
0
-1
-5
-52
106
-27
72
50
-6
34
21
-64
0
0
0
0
0
0
0
-5
-100
62
-39
36
69
-58
38
38
28
0
0
0
0
0
0
-2
0
-5
-52
24
-30
-11
89
7
-7
83
0
0
0
0
0
0
0
0
6
-5
20
27
7
43
185
-15
43
0
0
0
0
0
0
0
-1
8
0
0
-3
53
43
32
-25
90
0
0
0
0
0
0
0
0
0
0
0
0
-5
-21
-44
0
0
0
0
0
0
0
1
0
-29
0
0
92
100
18
-14
4
68
-129
0
0
0
3
-2
-2
49
0
9
0
72
82
96
-55
69
79
4
0
0
0
-1
-4
-3
42
13
56
122
137
49
47
9
6
-18
-33
0
0
0
0
0
0
13
-44
100
-13
-25
74
-52
100
1
-14
9
0
0
0
0
0
-1
1
-43
-23
-27
23
23
-36
-21
108
-14
-5
0
0
0
0
0
0
0
-10
-22
-17
15
-99
-56
72
-72
42
2
0
0
0
0
-1
0
3
0
1
-56
-25
42
-94
52
-5
-4
71
0
0
0
0
0
0
0
0
-2
-2
0
46
49
101
28
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
11
25
-3
0
0
0
0
0
0
0
-1
-1
0
-6
47
36
-47
25
92
-1
7
0
0
0
0
0
0
-3
0
-3
0
20
0
36
5
-14
7
0
0
0
0
0
0
0
0
0
-1
-26
17
-80
19
33
59
-8
0
0
0
0
0
0
0
0
-1
-7
24
-46
82
27
33
-32
53
0
0
0
0
0
0
0
0
0
4
2
32
-21
-25
-81
32
-25
-3
0
0
0
0
0
0
0
0
0
-1
46
-16
-44
-115
14
-15
0
0
0
0
0
0
0
0
0
0
-2
-43
-14
-58
-57
103
19
0
0
0
0
0
0
0
0
0
0
0
0
-34
-2
18
17
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
71
24
60
-9
-15
-4
0
0
0
0
0
-6
4
11
0
-1
41
58
23
-29
15
-55
-50
0
0
0
0
0
0
0
-7
4
-14
93
-12
16
-12
-35
-8
-32
0
0
0
0
0
-1
0
47
26
-43
-62
-43
-28
-8
-12
-56
-18
0
0
0
0
0
0
0
32
80
25
-10
61
6
60
-18
-36
-6
0
0
0
0
0
0
0
32
3
8
53
-13
13
-95
17
63
22
0
0
0
0
0
0
-1
0
6
2
29
20
-13
-77
-129
15
34
0
0
0
0
0
0
0
0
0
0
0
-17
74
44
-19
-39
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
24
63
49
-75
-14
0
0
0
0
0
0
0
0
11
2
1
-79
-24
-53
104
49
-36
-4
0
0
0
0
0
0
0
0
-2
-13
1
-9
-3
81
68
-10
-29
0
0
0
0
0
0
0
0
-3
0
-10
-83
5
-50
-2
25
1
0
0
0
0
0
0
0
0
0
9
-4
20
-124
6
17
60
-34
0
0
0
0
0
0
0
0
0
-1
-6
88
-26
-24
-38
-5
5
0
0
0
0
0
0
0
0
0
0
0
10
49
-42
-27
54
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-71
25
-34
-73
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
38
0
79
0
0
0
0
0
0
0
0
0
3
0
0
0
52
14
17
0
0
0
0
0
0
0
0
0
0
0
-44
2
34
-8
17
-17
0
0
0
0
0
0
0
0
0
0
0
1
-2
53
49
59
17
0
0
0
0
0
0
0
0
0
0
0
0
18
36
-45
-36
-19
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-114
51
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-39
-53
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-58
-63
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-5
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
0
47
-24
0
0
0
0
0
0
0
0
0
-5
0
5
-27
-4
14
-22
-22
0
0
0
0
0
0
0
0
0
2
-3
-3
-6
-4
131
-23
3
-18
0
0
0
0
0
0
0
0
0
0
-5
-23
-12
53
14
-5
-4
0
0
0
0
0
0
0
0
0
1
-11
0
14
7
37
-7
-7
0
0
0
0
0
0
0
0
0
0
0
-2
-5
20
9
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
8
-23
-54
22
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-35
2
-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
16
-9
-22
-24
-56
-3
0
0
0
0
0
0
0
0
0
-1
1
43
52
14
-4
34
30
-1
0
0
0
0
0
0
0
0
-1
5
5
6
9
-18
37
-50
11
0
0
0
0
0
0
0
0
0
0
3
0
26
-62
5
-10
1
0
0
0
0
0
0
0
0
0
0
0
-13
14
19
63
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-25
1
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-45
-19
-24
1
-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
-4
-1
0
19
-47
3
35
72
13
-11
0
0
0
0
0
0
0
0
3
5
25
-60
-7
34
46
-45
-114
-3
0
0
0
0
0
0
0
-2
23
-27
-31
43
67
17
73
-22
-69
0
0
0
0
0
0
0
0
-3
-5
3
-24
98
83
-57
10
-9
0
0
0
0
0
0
0
0
-18
-33
152
35
-53
-19
-118
-69
24
0
0
0
0
0
0
0
0
-6
-11
-8
45
-10
46
-54
5
8
0
0
0
0
0
0
0
0
0
27
-26
6
-9
-64
20
-31
13
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
-13
-6
44
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
22
1
-6
0
0
0
0
0
0
0
1
0
69
35
45
77
66
-73
-23
-8
0
0
0
0
0
0
5
1
-25
-21
-78
-43
-36
43
11
61
39
0
0
0
0
0
0
0
-5
27
4
96
87
30
44
15
55
-23
0
0
0
0
0
0
6
-3
0
-45
55
71
-3
-191
-5
-26
-11
0
0
0
0
0
0
0
-14
51
-8
-8
12
-71
-98
10
10
10
0
0
0
0
0
0
0
0
-2
24
7
2
-11
24
31
-53
35
0
0
0
0
0
0
0
1
5
-2
-55
107
-35
94
-89
-64
45
0
0
0
0
0
0
0
0
4
0
-2
2
-79
-21
5
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
45
8
-39
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-44
88
81
0
10
42
73
32
67
-76
-35
-10
0
0
1
5
11
-29
24
18
-31
-7
85
45
74
47
44
-8
-7
0
0
0
-1
36
9
33
87
-6
46
12
-94
15
14
42
43
-6
0
0
0
-1
2
-5
-45
-43
-73
-39
40
53
65
54
112
-52
-4
0
0
0
0
-3
-17
53
43
-67
-26
-5
84
15
-26
53
23
-1
0
0
0
0
0
0
-19
-4
5
18
18
-1
-9
34
2
95
3
0
0
0
0
0
0
0
-25
-9
-8
-31
43
-26
-47
-20
104
-4
0
0
0
0
0
0
0
-2
-1
2
13
-18
18
-35
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-107
-73
17
0
-34
23
-60
15
23
53
25
0
0
0
-1
0
26
14
-27
-59
23
14
-20
-23
70
60
19
-35
0
0
0
0
0
20
-61
32
-14
-20
-25
-62
-63
-7
-13
-34
5
0
0
0
-1
-1
4
49
63
-68
46
-23
-18
54
20
34
-44
-26
0
0
0
-1
-2
43
-17
10
-108
-7
-1
-14
-85
-51
-59
-33
8
0
0
0
0
0
-29
-71
-27
-63
82
-23
-22
69
18
85
7
21
0
0
0
0
-1
-3
-7
-30
-39
-46
-59
-33
-19
-19
34
30
14
0
0
0
0
0
-1
-5
-12
-43
65
39
-48
-8
0
44
78
49
0
0
0
0
0
-1
0
-47
-43
-7
-40
-81
-32
-5
17
-37
0
0
0
-1
0
0
1
-17
-44
71
0
63
-45
-21
76
-33
-4
0
0
0
0
0
0
0
1
71
100
-18
3
-21
-21
24
-3
25
0
0
0
0
0
0
0
0
67
-5
60
7
32
14
79
17
22
4
0
0
0
0
0
0
0
29
-20
-48
16
-6
77
89
22
15
0
0
0
0
0
0
0
0
0
-9
-79
-26
16
-55
21
-11
-3
0
0
0
0
0
0
0
0
1
-64
-5
19
-126
41
-34
43
1
0
0
0
0
0
0
0
0
-3
-2
-37
-7
5
57
32
1
14
0
0
0
0
0
0
-1
0
0
1
5
-53
17
18
31
5
0
0
0
0
0
0
0
0
0
0
0
-2
20
-5
27
-17
-1
0
0
0
0
0
0
0
1
27
-52
36
0
184
54
77
-28
109
-2
0
0
0
0
0
0
22
14
67
69
92
51
-62
-15
90
-33
-21
0
0
0
0
0
0
0
71
8
-26
72
15
-20
45
58
20
-14
0
0
0
0
0
0
0
-23
66
114
60
56
52
-14
-31
-46
48
0
0
0
0
0
0
0
5
11
5
44
-33
28
-13
130
-93
27
0
0
0
0
0
0
5
0
35
57
-51
-17
8
42
-39
33
1
0
0
0
0
0
0
0
-32
-80
-19
66
-53
16
59
27
9
-2
0
0
0
0
0
0
0
2
-11
-16
74
82
-31
-15
5
53
2
0
0
0
0
0
0
0
0
0
4
0
-5
33
1
-10
0
-1
0
0
0
0
0
0
0
-76
-42
12
0
33
45
44
-4
85
-8
-24
-8
0
0
0
1
-1
-65
-64
34
-3
41
44
22
76
42
15
-100
-22
0
0
0
-1
4
-100
53
-20
13
81
118
38
37
150
53
107
8
0
0
0
3
-1
31
80
26
-58
-37
113
2
119
105
-57
117
118
0
0
0
0
4
2
-32
-43
128
-50
-26
24
61
-5
-14
-42
14
0
0
0
0
0
1
-31
-8
-68
13
87
7
-85
-10
0
-63
23
0
0
0
0
0
3
2
26
-21
25
-57
30
-12
-40
-8
19
-1
0
0
0
0
0
0
0
0
0
5
35
65
0
-52
-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
13
0
-53
28
32
45
-11
37
-19
-2
0
0
0
0
0
0
7
-48
-13
49
-6
52
32
-59
6
53
-11
0
0
0
0
0
0
0
-5
24
60
14
-62
110
3
-16
-16
3
0
0
0
0
0
0
13
47
-39
47
-63
-7
-35
31
75
4
4
0
0
0
0
0
0
0
-14
-30
35
-128
-31
23
-13
-23
-14
0
0
0
0
0
0
0
0
-16
-9
-71
2
33
52
-98
19
-80
0
0
0
0
0
0
0
0
0
-43
-19
17
-54
38
15
5
0
2
0
0
0
0
0
0
0
0
0
-45
-3
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
18
31
9
0
3
44
60
-14
1
-46
-41
-4
0
0
0
0
0
-33
92
43
3
-50
38
58
12
65
43
16
-34
0
0
0
0
0
2
23
10
33
14
51
63
-9
-19
17
-4
5
0
0
0
0
0
3
100
23
-68
-1
-24
55
-8
62
-41
17
4
0
0
0
2
-3
21
25
70
33
6
30
59
55
33
-60
21
26
0
0
0
0
-3
24
3
20
18
-30
-50
19
-43
-4
1
20
5
0
0
0
0
0
5
-31
12
-38
25
-5
9
-64
-33
-6
-93
10
0
0
0
0
0
3
6
8
-51
18
-30
3
-5
-12
5
-14
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
0
0
0
0
0
0
0
0
0
0
-8
2
-36
23
-32
-100
0
0
0
0
0
0
0
0
0
0
0
0
-93
36
-2
26
81
-5
0
0
0
0
0
0
0
0
-1
0
-61
-52
18
86
25
48
0
0
0
0
0
0
0
0
3
-2
-6
17
43
1
15
-25
41
-2
0
0
0
0
0
0
0
-1
12
22
5
-58
25
5
29
55
-1
0
0
0
0
0
0
0
2
3
0
-49
32
1
25
78
5
-2
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-30
-17
-52
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
58
-61
-9
0
0
0
0
0
0
0
0
0
0
0
0
4
30
-9
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
76
31
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-22
-37
0
0
0
0
0
0
0
0
0
0
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
52
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
45
-80
-32
0
0
0
0
0
0
0
0
0
0
0
0
26
21
47
113
25
-6
0
0
0
0
0
0
0
0
0
0
-4
-9
-24
1
34
25
0
0
0
0
0
0
0
0
0
0
1
1
0
4
-51
-119
-10
0
0
0
0
0
0
0
0
0
0
1
0
-3
-7
-24
-11
-43
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
31
8
0
0
0
0
0
0
0
0
0
-2
-3
0
26
-53
9
-9
14
0
0
0
0
0
0
0
0
0
2
0
0
-48
19
70
14
14
0
0
0
0
0
0
0
0
0
0
1
-35
6
-38
-14
78
13
0
0
0
0
0
0
0
0
0
0
0
17
-49
44
9
76
-3
0
0
0
0
0
0
0
0
0
1
-1
8
-20
-8
-1
10
0
0
0
0
0
0
0
0
0
0
0
1
0
27
-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
-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
-45
-5
77
4
2
2
0
1
0
0
0
0
0
0
0
0
-2
26
7
2
0
0
35
7
0
0
0
0
0
0
0
0
0
-2
-7
17
-2
5
9
-1
0
0
0
0
0
0
0
0
1
0
-5
13
-4
-46
43
-13
-4
0
6
0
0
0
0
0
0
3
0
0
-7
4
-27
-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
7
0
0
0
-1
3
2
2
0
0
0
0
0
0
0
0
0
-7
-16
8
99
61
-14
1
1
26
0
0
0
0
0
-2
0
-1
2
-62
-49
6
-33
45
0
6
-9
0
0
0
0
0
0
0
6
-26
-23
-2
-3
-4
-50
-50
-1
-6
3
0
0
0
0
0
0
1
45
-15
71
-8
2
-47
-26
1
7
1
0
0
0
0
2
0
0
-5
66
118
-8
-14
23
51
-1
0
0
0
0
0
0
-1
0
-3
15
-69
23
-5
3
1
0
0
0
0
0
0
0
0
0
0
-10
-8
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
6
0
0
0
75
71
6
77
-99
1
91
0
0
0
0
0
9
-34
0
0
0
136
18
10
65
49
-18
57
0
0
0
0
0
6
-11
145
206
24
16
35
-17
14
-14
-20
20
0
0
0
0
-1
-4
-31
19
-74
55
20
-52
31
101
116
132
11
0
0
0
1
-2
-90
5
-4
101
-15
35
3
9
16
37
71
52
0
0
0
0
18
-70
4
44
47
-24
-11
14
52
-58
72
79
8
0
0
0
0
5
-20
-69
-55
11
-29
-84
70
-10
45
2
146
-1
0
0
0
0
-6
-14
-1
11
-2
5
-26
-11
18
-3
15
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
56
0
0
22
79
58
59
24
7
14
0
0
0
0
0
-8
11
0
122
73
36
-29
18
20
-22
-76
52
0
0
0
0
10
-51
20
43
-24
85
63
-7
19
9
-36
-39
-5
0
0
0
0
1
-23
16
117
-102
-14
-1
-45
-60
-44
-11
54
156
0
0
0
0
-4
-14
-27
77
2
-100
23
48
-22
42
21
-31
16
0
0
0
-1
-4
-10
2
-80
96
42
-7
11
30
22
91
93
26
0
0
0
1
17
96
53
48
-24
111
-66
65
-60
-52
-32
31
-21
0
0
0
0
0
10
-5
49
58
26
114
126
16
-61
-48
-15
0
0
0
0
0
0
0
1
-1
-1
18
64
-28
31
83
24
0
0
0
0
0
0
0
0
0
0
0
0
29
30
-3
54
5
66
-4
0
0
0
0
0
0
0
0
14
1
11
70
61
-11
43
-23
102
0
0
0
0
0
0
0
20
60
17
11
38
-73
6
-3
7
5
0
0
0
0
0
2
-5
-2
14
112
-41
69
119
43
-41
2
27
0
0
0
0
0
-5
0
14
-5
49
86
9
-57
5
29
-43
-10
0
0
0
0
0
1
-21
0
-52
-29
11
3
-40
-13
14
30
0
0
0
0
0
0
4
0
3
-11
-52
56
-31
-20
22
-14
-43
0
0
0
0
0
0
0
0
0
3
-25
3
4
85
53
10
-1
0
0
0
0
0
0
0
0
0
0
0
11
-26
-34
57
-10
-22
0
0
0
0
0
0
0
0
-6
0
-43
27
65
42
26
7
38
20
0
0
0
0
0
0
1
0
-13
53
0
107
27
-78
50
-48
-34
0
0
0
0
0
0
-1
72
-32
-42
-5
-24
-14
15
33
-12
26
0
0
0
0
-1
0
10
-41
-53
20
47
0
6
43
14
3
61
0
0
0
0
0
-5
-9
-12
53
-62
7
-47
59
45
107
18
56
0
0
0
0
0
0
-3
6
-8
-11
-50
169
4
-98
41
25
-26
0
0
0
0
0
2
0
-8
0
33
-80
-57
122
61
-4
56
0
0
0
0
0
0
0
-2
0
0
44
-14
-27
23
-53
19
7
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
4
11
15
0
0
71
44
-78
27
-14
-11
5
0
0
0
0
4
2
-41
0
-44
0
114
4
-5
-11
57
34
31
0
0
0
0
5
5
4
-12
54
77
18
119
59
30
8
51
32
0
0
0
0
11
0
36
-18
-29
-52
18
108
5
9
64
5
-6
0
0
0
0
0
25
-18
27
-42
-29
0
35
-56
-4
52
52
5
0
0
0
1
18
5
-56
-14
2
37
-33
1
-58
10
51
33
0
0
0
0
0
-1
-4
-31
7
32
100
8
-2
31
31
30
6
0
0
0
0
0
1
0
-2
-3
4
18
-22
-20
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
-35
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
33
-26
-11
51
19
-1
0
0
0
0
0
0
0
5
3
3
6
10
-33
-4
7
10
-2
0
0
0
0
0
0
-1
4
4
0
-5
69
-24
73
-10
-1
-5
0
0
0
0
0
0
0
0
0
-3
37
7
20
5
46
8
0
0
0
0
0
0
0
0
0
-2
-3
2
-43
0
24
-3
0
0
0
0
0
0
0
0
0
0
1
-25
0
1
13
-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
-8
-66
-30
-91
10
40
0
0
0
0
0
0
0
0
0
-11
-46
86
-4
-6
-82
14
-28
0
0
0
0
0
0
0
5
19
62
16
62
37
30
-4
58
-26
0
0
0
0
0
0
-3
2
-10
-61
-19
-14
-77
67
-3
23
73
0
0
0
0
0
0
0
-45
47
31
-2
-50
-18
73
11
51
59
0
0
0
0
0
0
-7
-15
-5
-5
-120
-22
-45
-34
-3
-47
3
0
0
0
0
0
0
0
6
35
43
-14
-54
-50
-56
48
35
3
0
0
0
0
0
0
0
0
4
-1
2
-18
-52
97
-49
7
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
14
0
45
91
78
194
-15
14
-28
1
0
0
0
0
0
0
9
0
0
69
12
23
75
87
-17
71
1
0
0
0
0
0
0
0
18
-22
51
56
140
115
36
-58
-6
-1
0
0
0
0
0
0
9
-2
-1
43
21
18
-70
79
18
-27
-31
0
0
0
0
0
0
0
6
-1
-4
8
-27
37
-27
-65
-80
-32
0
0
0
0
0
0
0
0
-2
-2
3
2
-14
-33
33
13
7
0
0
0
0
0
0
0
0
0
0
0
-5
-3
35
-100
11
9
0
0
0
0
0
0
0
0
0
0
0
2
-11
-18
30
21
0
0
0
0
0
0
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
95
-8
14
0
0
0
0
0
0
0
0
0
-2
-2
0
-1
8
51
4
25
0
0
0
0
0
0
0
0
0
1
0
-1
1
17
8
-51
50
-9
0
0
0
0
0
0
0
0
0
0
0
-1
8
50
15
10
2
0
0
0
0
0
0
0
0
0
0
0
0
-33
29
39
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
11
-49
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
-4
12
68
-8
16
2
49
0
0
0
0
0
0
0
0
0
-20
25
-8
15
-25
33
-6
-43
4
0
0
0
0
0
0
0
36
-13
9
20
-2
-24
25
21
-58
3
0
0
0
0
0
0
0
0
-3
-1
1
2
-7
14
52
25
14
0
0
0
0
0
0
0
0
0
0
0
7
24
94
18
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
31
78
1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-20
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
-15
-3
79
65
-7
1
0
0
0
0
0
0
-2
0
-42
22
-21
85
-87
30
-23
91
-3
0
0
0
0
0
0
0
0
1
0
1
-11
29
28
-48
-18
0
0
0
0
0
0
0
0
0
0
0
0
-1
68
25
15
18
0
0
0
0
0
0
0
0
0
0
0
0
1
1
30
20
-57
1
0
0
0
0
0
0
0
0
0
0
0
-6
-14
19
-31
0
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
0
0
0
0
0
0
0
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
-24
-1
58
-37
-3
1
0
0
0
0
0
0
0
0
36
47
17
-24
-5
14
108
18
4
0
0
0
0
0
0
0
1
16
-16
45
29
-22
-52
37
13
-1
0
0
0
0
0
0
0
3
-1
18
5
-5
14
30
27
0
0
0
0
0
0
0
0
0
0
-3
21
16
-5
32
48
81
8
0
0
0
0
0
0
0
0
0
-5
0
-2
-6
43
2
0
-15
0
0
0
0
0
0
0
0
-1
0
0
0
-22
92
-1
14
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
5
4
-9
118
-31
7
-61
-4
0
0
0
0
0
0
0
0
-32
74
2
99
100
8
-35
23
-36
0
0
0
0
0
0
0
-1
14
15
-11
98
-53
29
42
68
3
0
0
0
0
0
0
0
2
1
11
55
-26
-31
88
12
-61
-36
0
0
0
0
0
0
0
-6
19
24
-39
-22
-24
11
-37
-8
-9
0
0
0
0
0
0
0
0
15
18
-74
64
-35
-15
-24
-7
-71
0
0
0
0
0
0
1
4
18
-4
7
44
16
-16
71
19
22
0
0
0
0
0
0
0
0
0
0
-2
-2
1
44
-1
-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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
8
18
-79
109
18
6
-45
14
0
0
0
0
6
-34
-50
-5
186
87
41
47
68
29
0
46
29
0
0
0
0
-5
-15
-3
-46
104
46
90
-21
71
62
-14
75
-26
0
0
0
0
-2
11
-41
-41
67
106
55
-32
-3
-29
-1
80
24
0
0
0
0
7
-5
-45
33
-21
-40
-26
30
42
0
14
-32
-7
0
0
0
0
0
-10
44
-23
5
5
-33
82
-2
-17
4
-5
0
0
0
0
0
0
0
-10
-2
-53
30
56
43
-19
9
-1
0
0
0
0
0
0
0
-1
0
1
19
4
-5
-13
25
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
1
20
2
50
0
82
-6
70
-7
-9
104
-58
0
0
0
0
1
18
-65
-5
37
78
-59
14
43
-10
36
22
28
0
0
0
0
-5
48
-53
43
-18
-35
-30
-19
65
7
-20
6
68
0
0
0
0
1
-8
-14
-40
15
22
-3
-58
-1
-40
-62
96
-36
0
0
0
-14
-5
-11
16
72
-68
-12
-15
27
-14
11
-42
17
22
0
0
0
14
8
14
-51
79
-16
33
-54
38
-20
-4
-53
23
-9
0
0
0
0
-48
13
64
57
39
31
-5
1
-59
-43
-6
5
5
0
0
0
0
-3
0
-17
-68
65
-10
-11
-14
34
15
-13
-43
-6
0
0
0
0
0
-13
6
18
-81
102
100
72
37
59
-10
0
0
0
0
0
0
0
0
-11
37
60
0
37
2
21
55
-44
33
0
0
0
0
3
-29
14
-4
28
0
-64
-104
147
-25
-52
-31
14
-1
0
0
0
0
5
-24
-95
1
14
68
50
38
134
-18
-36
-6
3
0
0
0
0
-24
-49
-2
-88
57
53
45
62
31
37
-23
2
1
0
0
0
0
-2
0
0
-1
-16
-45
-34
-26
-14
22
-2
9
0
0
0
1
15
0
26
-44
-20
-65
-67
-49
90
-107
-60
37
0
0
0
0
-4
0
-59
-80
-31
21
-34
-11
1
3
20
-33
11
-20
0
0
0
0
-3
-20
-78
16
22
51
23
14
118
-73
5
0
0
1
0
0
34
14
19
-20
-5
-51
44
45
31
15
3
-6
0
0
0
0
0
0
0
0
2
18
97
-62
0
70
112
-14
11
-14
1
0
0
0
0
0
0
-17
-39
32
0
-26
63
66
67
101
-90
-43
0
0
0
0
0
2
0
8
10
-1
-16
-90
119
-32
70
12
-2
0
0
0
0
0
2
1
1
2
-5
42
35
-1
110
-4
1
-4
0
0
0
0
0
-2
0
-12
-30
-46
14
22
-53
-13
-32
-4
-3
0
0
0
0
0
0
30
-23
-37
38
-18
-6
-16
-113
41
-4
-1
0
0
0
0
0
9
-4
-41
-4
-10
22
-6
73
-9
12
-2
-3
0
0
0
0
-1
0
-6
-45
-24
-63
26
120
-50
3
-5
3
0
0
0
0
0
0
0
0
0
0
0
-33
-1
-37
2
0
0
0
0
0
0
0
0
0
0
0
56
39
0
-70
60
-65
104
-11
-12
-7
-31
0
0
0
0
-6
27
104
0
88
177
38
115
-94
53
66
-52
-26
0
0
0
0
-2
13
23
0
62
3
-20
53
80
94
46
53
-24
0
0
0
0
0
2
85
102
-45
23
-11
-58
5
49
61
12
22
0
0
0
-2
0
-25
-18
48
-77
-24
28
-58
-23
104
-54
5
2
0
0
0
0
2
11
-8
30
85
-48
-61
43
63
22
5
11
0
0
0
0
-3
-6
-3
20
-42
-49
-62
-26
-21
47
-29
34
-4
0
0
0
0
0
0
0
0
-5
4
-19
-13
10
-23
-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
-5
34
-34
56
-6
-25
-18
5
0
0
0
0
0
0
-3
0
-45
-56
-14
95
7
-11
-1
51
2
0
0
0
0
0
0
0
-6
-14
-11
65
45
-85
-12
39
-72
29
0
0
0
0
0
0
0
-33
23
5
125
-54
-12
47
-58
-24
-32
0
0
0
0
0
0
-1
4
48
71
7
69
-91
41
7
9
0
0
0
0
0
0
-2
1
-24
-2
2
45
132
54
53
-8
-5
0
0
0
0
0
0
0
0
-14
60
1
14
36
-31
2
-2
-5
0
0
0
0
0
0
0
0
0
-4
40
6
-6
-31
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
16
30
0
50
10
97
0
-21
11
16
37
0
0
0
0
0
-2
5
0
55
109
-80
-3
14
14
-57
14
38
0
0
0
0
0
0
0
-97
47
-9
53
-24
22
54
-29
13
63
0
0
0
0
0
0
7
-84
41
38
14
52
-53
47
-3
1
-44
0
0
0
0
0
-17
-43
-17
-5
-69
-61
3
-6
53
-102
76
15
0
0
0
0
0
26
39
-82
58
33
43
0
83
-4
104
57
-11
0
0
0
0
-2
-19
22
1
-30
-36
53
-45
82
-8
11
-17
-1
0
0
0
0
1
1
-70
30
129
21
-50
32
-4
-10
1
1
0
0
0
0
0
0
0
0
-3
-4
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
2
2
-34
0
0
35
0
0
0
0
0
0
0
0
0
-3
0
1
14
-39
1
71
48
1
0
0
0
0
0
0
0
0
0
3
0
1
47
77
-59
126
0
0
0
0
0
0
0
0
0
0
-1
0
8
36
7
-18
-13
8
0
0
0
0
0
0
0
0
0
0
0
-2
24
-16
-21
31
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
87
-22
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
3
-30
-17
189
33
0
0
0
0
0
0
0
0
0
0
0
0
0
17
36
115
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
51
30
11
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
-2
-3
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
19
-8
0
0
0
0
0
0
0
0
0
0
0
-4
-8
69
32
11
10
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
27
31
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-39
10
21
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
-33
3
0
0
0
0
0
0
0
0
0
1
1
-6
0
34
-15
0
-6
0
0
0
0
0
0
0
0
0
0
0
15
34
25
-3
-3
0
-2
0
0
0
0
0
0
0
0
0
-1
-1
-5
9
-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
34
1
-9
1
1
0
0
0
0
0
0
-3
13
-34
5
31
-3
0
-23
14
-19
1
3
0
0
0
0
0
0
-1
5
11
-5
65
-29
23
-15
-8
3
0
0
0
0
0
0
0
0
5
1
25
1
-29
-1
4
-5
-3
0
0
0
0
0
0
0
0
1
6
-5
3
-49
3
4
13
11
0
0
0
0
0
0
0
0
0
0
3
5
-5
-20
-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
-6
0
0
0
4
52
-47
6
51
66
34
0
0
0
-1
0
0
7
39
0
0
53
-10
37
31
47
-94
81
0
0
0
0
0
-3
-14
-50
0
65
211
102
-47
34
4
43
15
0
0
0
0
0
-1
0
46
84
79
196
107
-38
-36
-1
18
70
0
0
0
0
0
0
-1
1
-73
-20
50
-1
-27
83
-21
-33
-1
0
0
0
0
0
0
0
-5
-2
-35
0
73
-37
27
-44
71
-9
0
0
0
0
0
0
0
-2
-6
-6
53
28
-135
-20
1
66
-5
0
0
0
0
0
0
0
0
0
0
0
-4
1
31
-9
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
8
-29
0
0
-49
-2
-91
8
104
22
-14
0
0
0
1
3
0
-43
-38
19
44
-69
7
1
-22
36
58
74
0
0
0
0
-1
4
27
31
-5
13
-15
15
-1
-23
-33
88
60
0
0
0
0
2
-11
32
-30
-119
-50
-18
-38
21
9
36
7
83
0
0
0
0
0
-5
19
75
-62
-16
16
-62
-26
-32
-42
-29
44
0
0
0
0
0
3
-16
14
-36
63
-5
-119
59
-19
31
-23
-1
0
0
0
0
0
-8
10
-17
-21
46
-2
53
-18
0
48
-35
50
0
0
0
0
0
0
7
-5
-1
30
-14
-45
-3
-14
-127
-14
25
0
0
0
0
0
0
1
0
-4
0
1
18
18
28
47
5
0
0
0
0
0
0
-1
0
0
0
0
121
32
-30
-25
28
56
-6
0
0
0
0
0
0
0
0
23
-17
41
-63
71
-24
30
-7
34
0
0
0
0
0
0
-1
-1
4
-34
-11
-54
117
-51
59
-6
105
0
0
0
0
0
0
0
0
1
39
51
18
-14
14
103
-6
33
0
0
0
0
0
0
1
0
-29
-10
50
-88
-16
39
-14
-77
-16
0
0
0
0
0
0
0
0
2
4
-25
53
66
-13
76
14
66
0
0
0
0
0
0
0
-1
0
5
-24
-17
54
19
15
-50
-40
0
0
0
0
0
0
0
0
0
4
0
46
88
62
11
43
39
0
0
0
0
0
0
0
0
0
5
16
43
-36
-27
-57
17
24
0
0
0
0
0
0
0
3
0
104
130
99
36
68
76
5
21
0
0
0
0
0
0
0
5
29
148
0
54
-27
38
-14
53
-26
0
0
0
0
0
0
0
-2
68
60
-17
2
-16
24
-15
41
46
0
0
0
0
0
0
-11
0
58
-3
31
109
35
25
30
11
15
0
0
0
0
0
0
0
0
32
24
5
-3
81
-33
-70
2
-33
0
0
0
0
0
0
0
0
-7
-17
5
-1
-7
-75
3
55
32
0
0
0
0
0
0
0
0
-3
4
-9
-42
75
86
-49
-30
-25
0
0
0
0
0
0
0
0
0
0
9
19
25
-24
75
6
66
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
46
0
0
0
0
0
0
0
5
36
-9
0
0
-6
87
-16
49
-60
-32
-7
0
0
0
3
-2
-7
-11
0
95
0
-3
-1
78
38
60
95
47
0
0
0
0
-2
4
-72
-62
90
-83
8
90
55
110
-48
-18
-7
0
0
0
0
0
1
0
1
49
95
33
97
63
64
53
-14
-18
0
0
0
0
0
0
-2
-4
16
14
61
-67
5
104
-28
-80
-11
0
0
0
0
0
0
1
7
-63
56
19
81
14
175
53
22
-6
0
0
0
0
0
0
1
0
-7
-2
-55
-12
-5
-55
-31
-9
-14
0
0
0
0
0
0
0
0
0
0
0
-3
-7
3
37
1
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
5
-4
-10
0
17
-4
0
0
0
0
0
0
0
0
0
0
0
-11
32
5
47
2
-21
0
0
0
0
0
0
0
0
0
-3
0
4
29
-5
22
-14
8
-1
0
0
0
0
0
0
0
0
0
8
-36
82
17
16
-11
5
0
0
0
0
0
0
0
0
0
0
-3
5
46
39
31
1
9
-2
0
0
0
0
0
0
0
0
0
2
-1
5
-33
49
-15
1
0
0
0
0
0
0
0
0
0
0
0
5
1
-3
-2
10
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
-11
55
43
12
4
84
39
0
0
0
0
0
0
-1
2
0
3
18
5
93
-27
-24
-1
25
0
0
0
0
0
0
0
-2
0
10
35
5
-34
23
-24
-83
56
0
0
0
0
0
0
4
-2
-7
-21
99
44
-56
-24
15
51
10
0
0
0
0
0
0
0
5
25
-10
90
-7
53
-29
-62
97
50
0
0
0
0
0
0
0
-1
0
0
44
3
49
10
-53
-93
32
0
0
0
0
0
0
0
0
0
13
8
-32
33
107
-25
-79
-26
0
0
0
0
0
0
0
0
0
4
-2
-2
-5
-20
17
-34
27
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
-23
0
55
-17
9
54
-94
45
48
20
0
0
0
0
0
0
-4
10
-19
2
-32
53
-24
-112
130
-33
4
0
0
0
0
0
0
0
13
1
45
46
30
66
52
-12
46
-59
0
0
0
0
0
0
0
-3
0
47
-49
-18
57
-41
-101
-22
90
0
0
0
0
0
0
0
0
4
1
7
-47
43
93
13
14
79
0
0
0
0
0
0
0
0
1
0
-1
5
-27
-19
-52
59
-28
0
0
0
0
0
0
0
0
0
-2
0
-4
-7
-71
-76
-23
45
0
0
0
0
0
0
0
0
0
0
0
-5
-9
5
20
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
33
15
0
0
0
0
0
0
0
0
0
0
0
16
-2
71
-73
-4
0
0
0
0
0
0
0
0
-2
-5
0
-33
20
39
8
-25
-14
4
0
0
0
0
0
0
0
0
0
-1
0
2
11
48
51
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
6
50
-39
0
0
0
0
0
0
0
0
0
0
0
0
-2
57
-5
18
10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-31
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
48
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
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
2
0
-6
42
32
32
-5
-19
2
0
0
0
0
0
0
0
0
-4
14
0
23
15
32
42
-83
-41
3
0
0
0
0
0
0
0
1
-2
1
-1
-27
-14
-43
-1
74
2
0
0
0
0
0
0
0
0
-4
0
-6
0
100
16
25
-19
4
0
0
0
0
0
0
0
0
0
0
0
6
63
50
77
47
3
0
0
0
0
0
0
0
0
0
0
0
-1
8
-33
-22
19
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-33
40
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-66
0
0
0
0
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
4
68
9
57
-16
0
0
0
0
0
0
0
0
0
0
0
49
-38
-26
29
51
-69
45
0
0
0
0
0
0
0
0
0
0
0
19
-11
-38
-45
34
10
0
0
0
0
0
0
0
0
0
0
2
4
62
-58
10
-61
22
0
0
0
0
0
0
0
0
0
0
0
0
-18
59
106
132
9
0
0
0
0
0
0
0
0
0
0
0
0
7
-62
11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-5
-14
19
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
-6
0
0
0
0
0
0
0
-3
0
68
44
-50
24
-11
-3
27
0
0
0
0
0
0
0
-3
31
62
0
-32
47
44
-9
54
48
-7
0
0
0
0
0
0
0
-1
27
-26
-48
1
-45
26
4
-3
3
0
0
0
0
0
0
0
-2
2
78
31
13
1
25
-73
-27
2
0
0
0
0
0
0
0
0
-2
-2
-3
102
46
33
58
9
21
0
0
0
0
0
0
0
0
0
-1
-6
-14
49
48
-36
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
-20
15
51
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
14
-74
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
1
0
5
-5
-16
36
11
-51
3
32
0
0
0
0
0
0
0
0
50
1
-3
90
73
-20
-31
-57
36
0
0
0
0
0
0
0
-4
6
20
71
66
82
6
-52
-50
-61
0
0
0
0
0
0
0
0
2
-19
27
55
-5
-33
43
34
31
0
0
0
0
0
0
0
0
4
-13
-41
-8
42
17
-48
91
82
0
0
0
0
0
0
0
0
0
0
-1
9
-21
33
12
91
58
0
0
0
0
0
0
0
0
0
0
0
-4
-31
9
58
-13
-34
0
0
0
0
0
0
0
0
0
0
0
8
-2
57
-25
-47
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
4
45
-62
32
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
-5
-71
-79
5
0
39
52
78
23
-32
51
-82
53
0
0
0
2
2
-17
-64
-47
37
100
45
145
-39
-72
27
28
-13
0
0
0
0
7
3
-52
-62
106
16
-1
102
118
-31
-2
-130
0
0
0
0
0
0
3
-50
-48
2
12
-1
-36
-28
-25
47
-86
5
0
0
0
0
0
6
-3
9
-8
23
-28
32
32
92
8
57
8
0
0
0
0
0
0
0
17
17
-56
-32
-52
-23
-26
13
-22
5
0
0
0
0
0
0
0
-2
0
13
7
2
-35
24
-81
17
-6
0
0
0
0
0
0
0
0
0
0
0
-1
5
8
-1
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
6
-13
-35
-137
-11
0
33
25
29
2
-43
-55
-18
0
0
0
0
-7
9
15
-41
-64
-69
-8
-27
29
30
11
-50
29
0
0
0
0
0
0
-50
5
1
-6
-85
-41
-24
-79
45
-6
-78
0
0
0
0
0
11
-54
53
23
-97
-95
-5
25
-14
25
20
53
0
0
0
0
0
5
3
48
32
97
-99
24
-1
-3
-106
56
-99
0
0
0
0
0
-1
0
14
-23
-38
55
-54
-53
-30
61
-28
-17
0
0
0
0
0
0
15
-2
-34
-60
-100
-83
-24
-25
5
5
5
0
0
0
0
0
1
0
0
-35
7
-83
14
-6
9
-22
-37
-82
0
0
0
0
0
0
0
0
0
45
14
-14
-20
-36
0
0
0
0
0
0
-1
34
29
35
53
61
0
34
34
8
83
-27
31
0
0
0
0
0
0
0
5
31
-98
71
7
-36
38
-24
124
-3
3
0
0
0
0
0
0
0
23
16
45
14
14
-32
19
-20
-43
-2
0
0
0
0
0
0
-4
0
83
71
-2
-27
61
63
-15
-24
0
0
0
0
0
0
0
0
-1
-9
-6
7
-22
-32
-100
-37
24
1
0
0
0
0
0
0
0
0
0
0
1
-13
8
-17
-36
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
-4
-1
-58
0
0
0
0
0
0
0
0
0
0
11
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
-10
33
-55
0
-44
-32
72
-5
0
33
0
0
0
0
0
0
1
25
-12
-7
29
24
20
36
62
34
-44
0
0
0
0
0
0
2
-4
43
89
10
-35
-3
38
-34
73
-19
0
0
0
0
0
0
0
0
-5
-25
64
4
-48
14
28
58
46
0
0
0
0
0
0
0
0
-5
10
-5
-20
-62
-1
34
2
8
0
0
0
0
0
0
0
0
1
-5
-21
-65
-34
-36
-86
-54
-7
0
0
0
0
0
0
0
0
0
-32
-22
-21
-3
25
-19
-3
1
0
0
0
0
0
0
0
0
0
3
-2
-8
0
-31
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
11
-14
-53
0
67
27
24
-32
-5
-58
-96
37
0
0
0
0
0
107
15
87
149
60
90
93
-15
23
43
46
53
0
0
0
0
0
10
-11
-54
-11
90
82
55
-68
-27
-53
36
-52
0
0
0
0
0
0
0
34
-37
-16
-86
26
-27
-79
22
-75
-46
0
0
0
0
0
0
0
-43
80
17
17
-41
3
43
-54
-50
74
0
0
0
0
0
0
0
-1
-25
53
6
-77
-6
-75
-9
78
-4
0
0
0
0
0
0
0
0
5
-5
6
-19
-11
-47
-26
-21
-1
0
0
0
0
0
0
0
0
0
-1
-1
-3
-1
-2
14
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
-33
0
17
-24
-33
19
-26
-27
-20
0
0
0
0
0
0
0
0
1
-41
-28
-10
20
43
11
-17
45
4
0
0
0
0
0
0
-5
6
76
10
46
17
141
-17
29
-50
-24
0
0
0
0
0
0
4
-13
-43
120
32
-47
23
-1
6
-34
13
0
0
0
0
0
0
0
4
0
-7
13
-43
14
5
-6
34
-5
0
0
0
0
0
0
0
0
2
-21
7
9
19
-57
41
-5
0
0
0
0
0
0
0
0
0
0
-1
-5
11
-6
-3
16
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
32
0
16
-32
-39
20
-21
-43
32
57
0
0
0
0
0
0
44
9
33
47
5
94
48
5
90
-7
20
0
0
0
0
0
0
26
-8
23
26
89
125
-53
5
-87
-10
7
0
0
0
0
0
0
-1
-32
-34
109
66
122
-18
58
5
23
-24
0
0
0
0
0
0
-1
20
-5
43
66
-27
14
-19
-11
-2
-14
0
0
0
0
0
0
0
-14
57
20
48
19
-62
-7
25
-63
79
0
0
0
0
0
0
0
2
13
33
11
-4
31
-33
-83
1
35
0
0
0
0
0
0
0
0
-4
0
0
-2
-5
14
-26
-48
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
9
10
2
7
2
-1
0
0
0
0
0
0
0
0
0
0
8
9
-19
-6
-4
0
0
2
0
0
0
0
0
0
0
0
1
24
-50
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
21
6
-7
-2
0
0
0
0
0
0
0
0
0
0
0
2
-23
-53
39
3
1
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
2
5
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-21
-37
-8
-4
1
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
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
-9
9
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
11
-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
-11
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
9
-15
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
-13
-2
4
0
-2
9
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
11
1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-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
15
-10
-27
-26
66
0
10
10
-2
0
0
0
0
0
0
-3
-36
-29
-20
-25
9
53
104
138
14
0
0
0
1
0
0
0
3
-1
-25
0
-55
14
-39
-119
19
10
6
0
0
0
0
0
0
21
-2
11
10
-3
30
-6
-27
-16
3
1
0
0
0
0
0
-1
2
0
-17
-7
-7
14
-6
-5
10
0
0
0
0
0
0
0
0
2
-20
-32
-2
-18
24
11
-2
1
0
0
0
0
0
0
0
0
-1
1
2
-7
-26
-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
-24
7
43
-10
-14
0
27
-3
2
0
0
0
0
0
0
-2
-27
23
-3
-75
65
-114
44
-57
46
62
18
2
0
0
0
0
-6
-7
-27
-43
-81
-59
5
90
71
21
17
-3
-1
0
0
0
0
-14
1
58
104
-26
54
-7
27
-29
23
5
2
0
0
0
0
0
2
-5
-3
-81
-13
67
23
12
1
14
-15
-1
0
0
0
0
0
0
17
-14
140
72
46
18
-42
-1
10
17
0
0
0
0
0
0
0
13
27
-83
12
-96
-7
15
17
14
-2
0
0
0
0
0
0
0
-3
5
98
34
-26
-43
-6
5
-3
0
0
0
0
0
0
0
0
0
-1
-1
-10
10
-19
-14
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-7
-21
0
-4
-29
-5
0
0
0
0
0
0
0
-1
0
11
-25
8
-31
-14
13
0
-3
0
0
0
0
0
0
0
0
7
-10
13
-21
5
18
5
0
-1
1
0
0
0
0
0
0
1
0
3
5
5
-4
-1
-18
0
0
0
0
0
0
0
0
0
0
-1
1
0
-8
6
9
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
-14
-11
-24
0
49
13
17
-1
0
0
0
0
0
0
-1
4
-31
6
-27
34
72
50
-46
6
-2
0
0
0
0
0
0
1
7
47
-10
-19
-53
5
-14
0
1
0
0
0
0
0
0
0
4
-7
-2
24
-55
-10
-14
2
2
0
0
0
0
0
0
0
0
-7
1
-43
8
9
14
5
3
0
0
0
0
0
0
0
0
0
0
-1
27
-34
-20
1
3
7
0
1
0
0
0
0
0
0
0
0
0
13
0
1
9
4
0
0
0
0
0
0
0
0
0
0
0
0
1
45
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
-13
-20
-21
-2
-9
51
0
50
-2
0
0
0
0
0
0
0
6
1
18
1
-3
-45
-14
42
74
-4
0
0
0
0
0
0
8
2
17
-11
14
5
19
31
-5
-41
41
1
0
0
0
0
0
-5
-8
24
-7
-25
-11
-18
0
-32
-1
-2
0
0
0
0
0
0
0
3
-4
9
43
9
9
-6
7
3
0
0
0
0
0
0
0
0
0
7
-3
-7
5
8
25
0
4
1
0
0
0
0
0
0
3
-1
3
1
-15
11
-2
13
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
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
10
0
10
-3
21
-14
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
15
-23
27
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
-4
-1
7
19
-1
4
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-11
-10
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
17
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
11
40
-16
22
-4
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-44
19
14
7
0
0
0
0
0
0
0
0
0
0
0
0
2
32
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-18
-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
20
10
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
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
18
-24
-2
2
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
11
5
-9
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
-11
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
5
-4
-9
7
-26
-2
0
0
0
0
0
0
0
0
0
0
0
1
1
-26
-15
-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
44
-5
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
35
1
5
-4
-1
0
0
0
0
0
0
0
0
0
0
4
7
45
30
-26
-1
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
-21
1
0
0
0
0
0
0
0
1
1
0
0
9
17
4
-47
2
4
0
0
0
0
0
0
0
0
0
0
0
9
20
8
-24
0
0
0
0
0
0
0
0
0
0
0
-1
4
-10
21
-8
14
0
0
0
0
0
0
0
0
0
0
0
-2
24
-3
23
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
21
5
-15
0
0
0
0
0
0
0
0
0
0
0
-5
-6
27
-27
36
39
21
0
0
0
0
0
0
0
0
0
0
-18
-24
21
-3
-33
-10
-2
6
0
0
0
0
0
0
0
0
0
26
9
-20
17
7
-1
-33
24
1
0
0
0
0
0
0
0
0
45
-16
-22
13
15
-19
6
15
1
-1
0
0
0
0
0
0
0
23
-16
18
6
-16
-8
13
2
2
0
0
0
0
0
0
0
0
7
0
39
9
0
16
-3
2
0
0
0
0
0
0
0
0
0
-1
7
-33
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
20
13
34
-17
0
45
0
0
0
-4
2
0
0
0
0
0
-4
1
-54
107
37
-7
-9
0
0
72
11
3
0
0
0
0
0
15
39
21
28
-15
23
13
23
19
6
-10
-1
0
0
0
0
0
-7
-33
-44
-8
-10
9
-4
-22
76
0
9
0
0
0
0
0
0
3
-37
-5
-4
23
1
-9
4
-13
-7
0
0
0
0
0
0
0
1
17
-5
-36
-6
25
-4
9
7
-2
0
0
0
0
0
0
0
0
10
-9
8
45
23
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
-14
33
-71
32
32
-6
0
0
-32
-5
2
0
0
0
0
0
-2
-2
-47
-70
-3
8
54
-21
36
19
22
-1
0
0
0
0
0
7
-14
-50
-5
49
-5
-55
-53
-30
23
9
-1
0
0
0
0
0
-5
-15
17
3
33
-15
-24
5
-19
43
21
0
0
0
0
0
0
-4
-15
69
-79
-8
91
3
3
5
3
4
0
0
0
0
0
0
4
9
4
-65
-29
4
41
14
1
5
1
0
0
0
0
0
0
9
-16
-48
-12
13
61
-38
18
-39
8
0
0
0
0
0
0
0
0
-23
38
17
-29
31
48
15
4
1
0
0
0
0
0
0
0
0
0
-64
-43
18
14
-3
-3
1
0
0
0
0
0
0
0
0
16
4
4
-26
8
-7
-5
0
0
-1
0
0
0
0
0
0
0
9
23
-18
-23
-32
8
23
8
-1
0
0
0
0
0
0
0
0
-3
2
-14
-21
21
14
-4
-5
0
0
0
0
0
0
0
0
0
31
31
-39
13
6
5
-15
-11
7
0
0
0
0
0
0
0
0
18
10
0
3
14
-22
-13
4
-7
-1
0
0
0
0
0
0
0
-48
31
-38
11
-14
-6
1
-3
5
0
0
0
0
0
0
0
0
-13
20
-6
-15
-40
27
0
1
0
0
0
0
0
0
0
0
0
31
-31
18
43
-18
23
-1
0
0
0
0
0
0
0
0
0
0
-28
42
19
31
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
-29
-34
35
29
-2
47
-74
0
0
0
0
0
0
0
0
0
-7
3
-43
-5
59
-14
0
19
-2
5
0
0
0
0
0
0
0
7
-7
-12
-15
-18
14
62
13
-13
1
0
0
0
0
0
0
0
0
7
14
-4
-13
46
25
-24
-8
0
0
0
0
0
0
0
0
-17
-10
5
41
-2
-8
20
-9
0
0
0
0
0
0
0
0
0
-5
-13
-45
17
3
0
8
0
-1
0
0
0
0
0
0
0
0
31
5
54
-3
-14
-5
13
2
-1
0
0
0
0
0
0
0
0
41
-13
5
1
15
4
-1
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
3
-12
4
-14
-5
6
0
0
-3
-7
0
0
0
0
0
0
8
27
-14
-22
-18
-53
22
0
4
0
11
3
0
0
0
0
0
-4
-30
5
60
-44
-7
20
36
43
-28
-15
23
-1
0
0
0
0
-11
-45
-4
-23
-8
-52
-29
32
32
-13
25
0
0
0
0
0
0
-3
-21
-13
1
-9
-8
-10
18
32
-3
6
0
0
0
0
0
0
3
8
33
22
57
2
1
1
0
0
0
1
0
0
0
0
0
0
-4
-17
0
-8
2
13
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
-9
0
0
0
0
0
0
0
0
0
0
-2
-11
5
9
0
-24
0
1
2
0
0
0
0
0
0
0
-1
-1
2
-3
-1
5
8
-36
-2
0
0
0
0
0
0
0
0
0
1
15
-11
73
18
-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
15
11
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
27
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
-21
-92
14
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
36
-1
5
11
11
6
0
34
3
0
0
0
0
0
0
0
-4
-17
6
-14
0
-2
11
0
-9
-1
0
0
0
0
0
0
0
3
1
21
18
0
1
4
1
20
0
0
0
0
0
0
0
0
-24
2
9
16
3
-1
-14
-34
-3
0
0
0
0
0
0
0
0
9
-14
-2
-7
-1
5
-9
15
0
0
0
0
0
0
0
0
0
-25
-21
19
3
-10
5
0
15
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
1
0
-1
0
0
0
0
0
0
0
0
0
1
-10
10
9
4
7
10
0
-1
0
0
0
0
0
0
0
0
-1
-14
10
18
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-36
8
10
-5
1
0
0
0
0
0
0
0
0
0
0
0
-5
47
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-25
-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
-21
-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
21
0
8
0
1
1
0
0
0
0
0
0
0
0
0
-2
0
33
-3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
20
-10
5
1
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
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
15
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
17
25
4
-25
113
0
-31
-23
8
0
0
0
0
0
-1
-24
-5
-39
27
4
35
66
9
19
-30
1
-8
0
0
0
0
-1
0
4
-7
5
14
65
-7
-35
-53
36
3
3
-2
0
0
0
3
3
-6
11
14
26
-4
-17
-3
-18
-13
-1
-1
0
0
0
0
0
0
1
-3
-11
1
-9
-14
5
-25
-1
0
0
0
0
0
0
0
0
0
-15
-2
0
2
-16
0
-13
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-3
-20
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
-32
-18
97
63
0
-12
-33
-10
0
0
0
0
0
0
0
-27
80
-20
-14
24
-14
76
-19
-14
-54
15
-1
0
0
0
0
-1
7
-43
-43
30
68
-25
25
-48
-10
3
0
-2
0
0
0
0
17
-23
-62
2
-77
8
-49
22
14
16
18
2
-6
0
0
0
0
0
-3
14
-23
22
-49
-2
45
11
3
-15
5
4
0
0
0
0
0
0
-23
-7
16
-14
-7
-25
23
5
11
5
-2
0
0
0
0
0
7
-8
14
-44
14
-46
8
-25
14
3
-1
2
0
0
0
0
0
0
0
33
-21
31
-21
11
43
-5
7
0
0
0
0
0
0
0
0
0
8
-26
14
-3
59
-5
-4
0
0
0
0
0
0
0
0
-1
0
-3
6
20
-29
0
34
-27
10
0
0
0
0
0
0
0
0
3
15
-7
13
-43
43
12
20
-5
1
0
0
0
0
0
0
0
2
2
14
-13
-23
23
1
-4
-30
5
-4
0
0
0
0
0
0
4
0
11
0
-8
-23
20
-6
3
-12
-2
0
0
0
0
0
0
0
-2
2
-5
2
-18
27
-9
7
2
-1
0
-1
0
0
0
0
0
0
-1
4
-4
51
-17
15
-27
-15
0
0
0
0
0
0
0
0
-2
-2
1
5
-5
29
3
-30
16
-5
1
0
0
0
0
0
0
0
-23
-1
-11
43
40
-2
10
4
0
-1
0
0
0
0
0
0
0
0
2
-9
-33
-4
-2
10
-2
0
0
0
0
0
0
1
-2
-2
13
-5
-13
0
-9
5
-4
0
0
0
0
0
0
0
2
8
11
-10
-17
-5
-31
-1
90
-3
6
0
0
0
0
0
0
0
-2
20
-3
-15
-8
-37
18
-4
21
1
0
0
0
0
0
0
-1
5
30
6
-15
-5
7
21
-6
6
3
0
1
0
0
0
0
0
0
26
6
-8
-31
25
36
8
0
0
0
0
0
0
0
0
0
5
14
-27
-22
25
-1
-13
-11
-3
0
0
0
0
0
0
0
0
3
-3
-8
11
0
0
-26
7
5
-1
0
0
0
0
0
0
0
0
2
0
2
-13
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
15
-2
7
-32
-33
0
-19
-10
-1
0
0
0
0
0
-3
37
17
25
11
-3
-94
25
33
13
-11
24
0
0
0
0
0
7
7
-6
-35
1
36
4
-53
-7
-25
3
4
1
-1
0
0
0
0
0
1
1
0
26
-14
-14
-27
6
-14
0
2
0
0
0
0
0
-1
-3
-6
-2
-15
-34
-2
19
-5
7
-1
0
-2
0
0
0
0
-1
3
2
0
-4
-17
35
-11
0
-8
0
0
0
0
0
0
0
0
0
-1
0
-6
-13
-7
25
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
-14
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
17
0
3
8
5
0
0
0
0
0
0
2
0
3
-3
1
9
4
5
-13
0
1
0
0
0
0
0
0
1
0
0
1
2
6
-2
20
-11
0
0
0
0
0
0
0
0
0
-2
0
0
-4
6
-24
-7
-13
4
0
0
0
0
0
0
0
0
-1
0
0
-6
2
-17
2
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
10
-19
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
8
-18
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
19
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
11
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
-14
11
2
-1
0
0
0
0
0
0
0
0
0
0
-16
3
34
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-5
49
-13
4
0
0
0
0
0
0
0
0
0
0
0
1
-4
-16
-29
7
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-21
-39
-18
-1
-1
0
0
0
0
0
0
0
0
0
0
0
7
9
0
-25
2
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
-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
10
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
-13
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
20
3
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-32
-39
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
26
0
-1
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
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
81
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
23
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-14
6
-11
-3
0
0
0
0
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
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
9
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
-8
-22
32
-2
0
1
0
0
0
0
0
0
0
0
0
4
-2
-1
-7
-19
15
-2
0
0
0
0
0
0
0
0
0
1
0
-1
1
-4
-17
-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
16
7
5
0
5
1
-1
0
0
0
0
0
0
0
-1
0
-13
7
-18
-13
-3
0
0
0
0
0
0
0
0
0
0
1
0
-7
-4
30
-41
-3
-1
0
0
0
0
0
0
0
0
0
0
0
3
-9
5
-2
7
2
0
0
0
0
0
0
0
0
0
0
0
-4
-1
33
8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
5
1
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
0
0
0
0
0
0
0
-5
-6
-49
21
-13
-14
1
0
0
0
0
0
0
0
0
0
0
-7
-59
3
15
9
-33
15
0
0
0
0
0
0
0
0
0
0
-6
15
-1
3
-8
-8
-9
-3
0
0
0
0
0
0
0
0
0
19
-9
-8
-20
32
-2
20
1
0
1
0
0
0
0
0
0
0
8
14
3
9
10
-9
6
7
0
1
0
0
0
0
0
0
0
1
-23
13
-14
2
0
18
-2
0
0
0
0
0
0
0
0
0
0
-17
-4
25
-9
3
-4
-1
1
0
0
0
0
0
0
0
0
0
2
-4
9
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
11
-8
-53
-7
5
17
0
0
0
-10
2
0
0
0
0
0
-1
3
-14
-32
6
23
-1
0
0
35
7
5
-1
1
0
0
0
-5
-8
16
5
-33
-43
16
19
25
31
0
0
2
0
0
0
0
10
-51
-48
0
-32
-16
-9
47
-9
6
9
0
0
0
0
0
0
-3
-39
-4
-5
-24
6
-1
0
-25
5
-1
0
0
0
0
0
0
0
-13
-8
9
23
-9
0
-3
-4
1
4
3
0
0
0
0
0
0
5
1
5
1
9
9
-13
-9
0
0
0
0
0
0
0
0
0
0
0
25
-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
-73
14
-22
-32
59
0
0
-27
1
0
0
0
0
0
0
-21
5
18
70
-51
13
33
58
-6
0
10
2
0
0
0
0
0
2
-11
-46
-7
-43
91
114
46
13
16
-5
3
-1
0
0
0
0
-6
-53
7
-19
-48
-15
-64
-7
10
33
19
0
0
0
0
0
0
-1
-3
37
8
-28
-11
52
6
51
-37
2
3
0
0
0
0
0
0
-9
3
-32
-19
-23
45
-45
5
-11
5
1
-1
0
0
0
0
0
0
-14
-46
-81
12
24
-5
2
21
10
0
0
0
0
0
0
0
0
-11
28
11
-23
0
15
2
7
0
0
0
0
0
0
0
0
0
-9
16
-5
-48
1
1
1
0
0
0
0
0
0
0
0
-29
26
14
-5
15
-1
15
0
0
0
0
0
0
0
0
0
0
-1
-18
30
15
-27
25
27
-5
3
-1
0
0
0
0
0
0
0
17
1
-2
-5
25
-44
4
4
-1
0
0
0
0
0
0
0
0
0
-18
-4
8
11
4
-5
-2
1
0
0
0
0
0
0
0
0
0
0
14
2
-6
6
3
0
-1
0
0
0
0
0
0
0
0
0
0
5
-3
-9
-4
0
0
1
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
-11
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
37
13
-3
5
-50
17
25
0
2
0
0
0
0
0
0
0
44
-55
-49
-23
-52
6
0
14
6
0
-2
0
0
0
0
0
0
15
0
29
-30
7
33
37
17
10
4
0
0
0
0
0
0
0
6
-23
-31
-7
10
14
-16
14
0
1
1
0
0
0
0
0
0
-20
-9
-9
0
-23
6
4
-19
-1
1
0
0
0
0
0
0
0
0
-4
-22
26
-3
5
-10
8
0
0
0
0
0
0
0
0
0
-1
-15
-9
5
14
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
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
-14
6
30
-35
-28
53
0
0
2
1
10
0
0
0
0
0
10
-30
40
-30
17
-30
43
0
42
0
-6
9
-1
0
0
0
0
20
-46
-59
-12
-1
76
-4
17
-5
-20
1
0
0
0
0
0
0
-11
-49
20
8
18
-42
32
-31
25
-34
-15
0
-2
0
0
0
0
3
-24
39
15
-50
-3
4
-52
4
9
3
2
0
0
0
0
0
0
-5
-7
-24
5
-56
5
-4
-9
-7
-1
0
0
0
0
0
0
0
0
27
6
19
-9
21
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
-17
-11
10
-6
0
2
0
-6
0
0
0
0
0
0
0
-2
0
-9
10
1
-17
-4
8
-5
0
-4
0
0
0
0
0
0
-2
-2
4
-7
-23
2
5
3
-1
0
0
0
0
0
0
0
0
0
2
-2
23
-10
-35
2
1
-1
0
0
0
0
0
0
0
0
0
2
4
-2
20
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
9
2
0
0
0
0
0
0
0
0
0
0
0
15
-6
2
11
6
7
44
0
0
6
0
0
0
0
0
0
0
-8
9
-3
-11
-5
3
11
10
11
0
0
0
0
0
0
0
0
10
-4
-6
14
-6
-9
0
11
-3
-1
0
0
0
0
0
0
1
-5
23
0
1
2
1
1
8
10
-1
1
0
0
0
0
0
0
-6
1
-6
-3
7
0
-18
-17
4
0
0
0
0
0
0
0
0
0
1
-4
-5
-2
-3
0
-34
-15
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
-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
-1
-8
6
2
-8
-2
-1
0
-1
0
0
0
0
0
0
0
0
9
7
5
0
10
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
29
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
48
1
1
0
0
0
0
0
0
0
0
0
0
0
1
2
-25
-27
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
8
13
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
-10
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
-15
-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
-24
30
-22
-46
0
9
-14
3
0
0
0
0
0
0
7
10
5
4
33
18
15
19
53
8
8
0
0
0
0
0
0
16
6
-2
10
-5
26
-52
7
-12
26
-3
0
0
0
0
0
0
3
-4
2
10
11
6
-17
-45
-23
-24
-5
1
0
0
0
0
0
0
-2
8
-2
-5
25
34
20
-14
-5
0
0
0
0
0
0
0
0
0
-2
5
1
-7
35
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
14
-17
42
-61
75
0
33
8
17
10
1
0
0
0
0
0
2
9
-27
90
-44
19
10
38
-5
18
-6
0
0
0
0
0
0
-3
-18
15
-43
53
-35
5
-66
-14
6
5
-4
0
0
0
0
0
5
35
12
-24
74
66
8
34
46
46
-2
-1
0
0
0
0
0
-10
-43
5
-55
33
-33
-32
22
-22
6
3
0
0
0
0
0
0
0
-36
-57
-53
31
20
14
22
-13
1
0
-1
0
0
0
0
0
0
43
-19
-9
9
27
53
8
1
-5
0
0
0
0
0
0
0
10
8
-42
6
22
109
-23
-3
11
0
1
0
0
0
0
0
0
0
0
4
49
33
5
-33
14
-1
0
0
0
0
0
0
0
0
0
-2
-2
9
-15
-4
0
53
-21
-27
0
0
0
0
0
0
0
0
-2
32
-7
-7
-52
8
47
2
0
0
0
0
0
0
0
0
0
3
-14
-13
6
-26
-22
-5
3
-1
0
0
0
0
0
0
0
-6
0
29
8
0
-5
-13
26
-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
18
5
-9
-3
16
4
0
0
1
0
0
0
0
0
0
0
0
9
7
8
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
-26
-3
-26
-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
14
23
45
4
0
23
-33
56
5
0
0
0
0
0
0
0
15
-22
-4
-33
-24
39
-30
6
-15
-3
1
0
0
0
0
0
0
-45
11
8
-32
7
-6
-9
-8
1
0
0
0
0
0
0
0
0
2
13
0
33
43
-5
-3
0
1
0
0
0
0
0
0
0
-4
7
8
-6
-9
37
-21
-10
0
0
0
0
0
0
0
0
0
0
1
-3
39
10
-34
-20
-2
0
0
0
0
0
0
0
0
0
0
2
15
20
5
-8
8
-2
0
0
0
0
0
0
0
0
0
0
-2
5
11
0
-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
0
-1
-4
3
-58
-9
28
0
-16
16
-3
0
0
0
0
0
-4
0
-15
9
-8
7
24
23
99
50
-7
-5
-1
0
0
0
0
0
-2
-6
-6
20
8
20
31
48
-22
1
0
-1
0
0
0
0
0
0
22
-7
1
-14
17
-29
10
11
0
0
0
0
0
0
0
0
0
-4
3
-14
7
-3
19
-2
0
0
-1
0
0
0
0
0
0
7
0
1
35
11
-5
9
6
0
0
0
0
0
0
0
0
0
0
0
9
0
-26
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
13
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
18
0
7
-5
-1
0
0
0
0
0
0
0
0
-1
0
-25
-1
-5
19
72
-7
0
0
0
0
0
0
0
1
0
0
2
1
0
5
29
18
8
0
0
0
0
0
0
0
0
0
0
-3
0
-14
14
10
-2
-10
0
0
0
0
0
0
0
0
0
0
0
-4
-17
-1
-15
-24
0
0
0
0
0
0
0
0
0
0
0
-11
-4
-5
-6
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
1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-2
14
0
-1
0
0
0
0
0
0
0
0
0
0
18
41
4
13
-8
7
0
0
0
0
0
0
0
0
0
0
0
-3
47
18
-13
5
-1
0
0
0
0
0
0
0
0
0
0
0
-4
33
-20
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
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
22
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-10
7
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
22
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
30
41
1
6
0
0
0
0
0
0
0
0
0
0
0
-7
33
-9
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
-9
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
14
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
29
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-3
-8
0
1
0
0
0
0
0
0
0
0
0
-3
16
11
10
-19
-2
0
0
0
0
0
0
0
0
0
4
1
0
0
21
29
0
0
0
0
0
0
0
0
0
0
0
1
8
0
-1
-39
-13
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
-4
29
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
36
8
-32
-5
-1
0
0
0
0
0
0
0
0
0
0
-13
10
-39
21
3
17
-4
0
0
0
0
0
0
0
0
0
0
-2
-4
-23
62
1
7
0
0
0
0
0
0
0
0
0
0
0
4
2
-9
14
-7
-1
10
-1
11
-1
0
0
0
0
0
0
0
0
43
-4
-17
-1
-22
9
0
2
0
0
0
0
0
0
0
0
-1
-24
-10
-4
19
21
-30
-9
0
0
-1
0
0
0
0
0
0
0
23
-6
-21
6
-8
6
-3
1
1
0
0
0
0
0
0
0
0
0
5
20
-9
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
-18
3
-25
-6
10
16
0
0
0
7
-2
0
0
0
0
0
1
-9
-22
9
25
-4
17
0
0
46
27
3
-2
0
0
0
0
2
34
-2
27
29
18
33
6
-14
-27
-4
-7
0
0
0
0
0
2
-13
5
-2
22
8
-4
-46
9
-3
3
0
0
0
0
0
0
0
14
37
-7
11
-14
-22
-21
-29
13
1
1
0
0
0
0
0
0
-27
0
22
6
-16
29
2
-9
8
-13
0
0
0
0
0
0
0
3
1
20
-19
25
-26
-1
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-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
-1
-1
-52
25
10
-13
0
0
0
26
7
1
0
0
0
0
0
0
4
-5
-18
-1
0
11
8
-15
18
6
2
0
0
0
0
0
0
-16
-14
1
56
-22
-31
21
-49
8
-1
0
0
0
0
0
0
0
0
-36
33
-7
-14
-42
-36
64
-31
-5
0
0
0
0
0
0
0
-8
16
31
-31
-64
-3
55
42
0
4
1
0
0
0
0
0
-1
-5
-14
4
130
-108
-60
39
22
5
-5
0
0
0
0
0
0
0
-17
-17
-22
39
-58
17
9
-9
0
-9
-2
0
0
0
0
0
0
0
-4
75
37
1
-14
-25
-6
-4
0
0
0
0
0
0
0
0
0
53
11
-61
0
22
-31
4
0
0
0
0
0
0
0
0
-16
-14
-4
-31
21
29
26
0
0
0
0
0
0
0
0
0
0
-26
-65
-2
16
18
27
0
0
4
0
0
0
0
0
0
0
0
27
-15
34
33
-35
26
0
0
10
0
0
0
0
0
0
0
0
-2
-14
-19
11
13
2
26
2
-3
0
0
0
0
0
0
0
0
-6
-24
-11
-15
0
5
-7
-1
-6
0
0
0
0
0
0
0
0
5
25
21
0
-1
-20
-6
1
0
0
0
0
0
0
0
0
0
10
-33
-10
2
-5
25
-1
0
0
0
0
0
0
0
0
0
0
22
20
55
6
-64
14
1
7
0
4
0
0
0
0
0
0
0
1
-8
-23
-33
-13
13
1
0
0
0
0
0
0
0
0
0
0
4
13
25
0
47
-14
-7
4
0
-1
0
0
0
0
0
0
0
-16
-6
4
-14
20
-6
0
5
5
6
-1
0
0
0
0
0
0
2
13
-1
-7
-2
-31
-10
-3
1
1
0
0
0
0
0
0
0
5
-13
-35
0
23
-1
-3
4
-15
-2
0
0
0
0
0
0
0
-1
-14
25
-4
6
29
-8
25
1
0
0
0
0
0
0
0
0
-9
-23
-3
43
-6
-17
2
-6
-1
0
0
0
0
0
0
0
0
2
3
36
61
-14
6
-4
-9
-1
0
0
0
0
0
0
0
0
25
0
-14
-4
-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
14
-33
1
-4
3
0
0
6
15
-7
0
0
0
0
0
-1
11
-11
0
52
6
47
0
23
0
44
-5
0
0
0
0
0
1
-2
-7
74
-4
-33
-9
14
11
-1
-24
3
0
0
0
0
0
-1
-3
21
2
-5
-17
2
-3
-9
15
-20
0
0
0
0
0
0
0
-6
3
8
17
8
1
-11
-33
0
0
4
0
0
0
0
0
0
8
-8
-8
21
74
17
-10
-1
-1
0
0
0
0
0
0
0
0
-3
5
30
47
-8
24
-3
0
1
0
0
0
0
0
0
0
0
0
0
-9
27
-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
-9
0
1
0
2
-4
0
0
0
0
0
0
0
0
0
0
1
9
1
0
0
0
-3
-2
0
0
0
0
0
0
-1
2
-15
1
-1
0
5
-3
22
-4
-1
0
0
0
0
0
0
0
2
-1
-15
7
11
7
3
-17
-1
0
0
0
0
0
0
0
-3
0
3
20
55
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
5
4
19
9
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
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
-1
15
-6
1
-5
1
0
0
0
1
1
0
0
0
0
0
0
-5
15
-7
-8
2
0
0
0
-8
-13
1
-1
0
0
0
0
0
-14
9
8
5
-3
0
1
-3
-22
-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
10
0
0
3
18
3
3
0
0
0
0
0
0
0
0
4
3
0
15
-15
5
20
-19
-13
0
0
0
0
0
0
0
0
2
3
-2
-4
0
8
-2
17
2
0
0
0
0
0
0
0
0
0
-2
17
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
27
-13
-4
20
4
0
1
0
0
0
0
0
0
0
-2
-3
-8
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-10
-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
-18
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
9
-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
2
71
0
32
-27
21
0
0
0
0
0
-2
1
-7
5
-8
9
-5
90
6
11
-1
4
-3
0
0
0
0
0
8
-3
19
-2
-5
33
15
-43
-15
18
7
4
0
0
0
0
0
-3
10
0
-17
-13
5
-45
-17
-18
5
0
-1
0
0
0
0
0
0
0
8
-1
14
3
-8
-17
4
-1
3
0
0
0
0
0
0
0
0
4
0
0
2
-13
-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
-11
-26
65
62
-65
0
5
5
3
-8
-1
0
0
0
0
0
2
18
-6
-78
-3
67
-7
55
-11
33
37
4
-2
0
0
0
0
3
0
-33
37
113
129
55
2
-24
7
-4
7
0
0
0
0
0
-1
-25
-53
-12
0
23
-9
50
-23
-6
-10
4
0
0
0
0
0
-9
-10
-57
24
-34
-5
-23
47
28
2
1
7
2
0
0
0
0
0
0
-18
-34
-17
14
-14
14
-31
-27
-4
-1
0
0
0
0
0
0
-2
13
-4
-4
-32
6
8
5
14
-1
-1
0
0
0
0
0
0
0
-5
-18
13
-8
30
-5
-4
-2
0
0
0
0
0
0
0
0
0
0
-8
26
48
2
-10
0
0
0
0
0
0
0
0
0
0
2
1
3
0
8
0
-8
36
17
-23
0
-1
0
0
0
0
-2
0
5
-5
6
-22
-24
-15
19
23
5
1
0
0
0
0
0
0
-6
-10
-3
-25
2
33
-1
0
10
-4
0
0
0
0
0
0
1
-2
-5
-1
16
-24
5
52
-14
-1
-5
-30
0
0
0
0
0
0
-2
3
2
1
-2
-24
-23
26
-1
-6
-9
0
0
0
0
0
0
0
0
1
-2
-3
22
-48
35
-31
6
1
14
0
0
0
0
0
0
0
0
0
-5
-14
14
-25
8
-10
15
0
-1
0
0
0
0
0
0
0
1
2
16
24
5
-7
17
7
0
0
-1
0
0
0
0
0
0
1
24
-11
30
-20
14
2
0
1
-1
0
0
0
0
5
-2
-24
18
51
0
14
-15
21
8
3
0
0
0
0
0
0
-13
5
-45
70
-13
71
6
15
8
-8
-6
1
0
0
0
0
0
25
-1
44
-18
-25
22
3
-4
-34
14
7
0
0
0
0
0
0
11
-1
34
1
-26
-33
-54
-17
0
0
1
0
0
0
0
0
0
1
13
-8
-5
-19
-59
24
-4
5
0
0
1
0
0
0
0
0
4
-1
-1
-1
-13
-2
15
26
8
19
0
0
0
0
0
0
0
0
0
-4
53
0
-25
-11
-22
-27
-2
6
0
0
0
0
0
0
0
0
0
0
-4
-6
14
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
-14
0
13
3
-3
0
0
0
0
0
0
-9
2
-10
-11
31
50
-42
0
23
-3
0
-9
0
0
0
0
0
7
-1
2
-4
-17
16
73
-42
3
-6
1
-1
-1
0
0
0
0
0
-25
0
15
34
5
-17
5
-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
-18
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
-22
0
-14
1
-3
0
0
0
0
0
0
0
0
0
0
-2
-11
20
34
11
10
-1
-2
0
0
0
0
0
0
0
0
0
-3
-9
5
14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-18
5
-4
0
1
0
0
0
0
0
0
0
0
1
-1
5
-11
-17
20
3
1
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
-25
-13
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-1
11
4
0
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
0
0
0
0
0
0
0
0
0
0
-27
0
0
-1
5
-4
0
0
0
0
0
0
0
0
0
0
0
14
-14
39
-1
0
-3
2
0
0
0
0
0
0
0
0
0
0
13
2
-36
27
6
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
-14
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
5
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-45
14
-6
1
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
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
3
0
0
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
26
15
-6
-3
-1
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
-1
6
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
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
-22
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
15
-27
10
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
-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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
3
-2
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-16
11
11
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
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-2
11
14
0
1
0
0
0
0
0
0
0
0
0
0
0
4
25
17
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
11
-15
-5
2
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-11
2
-5
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
27
6
20
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-6
1
0
0
0
0
0
0
-23
77
15
34
36
-3
1
0
0
0
0
0
0
0
0
0
0
1
-8
50
-19
-2
1
3
0
0
0
0
0
0
0
0
0
0
-1
-7
-10
-15
4
4
-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
23
-14
23
0
1
14
0
0
0
-1
-2
1
0
0
0
0
-4
-19
6
-5
27
4
81
0
0
4
-3
7
-1
0
0
0
0
-1
-1
-6
-23
4
-27
17
-69
-16
0
5
-4
-1
0
0
0
0
2
-5
-9
-24
26
-35
18
-13
4
-8
-8
1
0
0
0
0
0
0
1
-1
5
-23
2
-7
5
4
-7
4
0
1
0
0
0
0
0
0
-4
1
-11
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
-25
34
9
43
17
0
0
3
-2
-1
0
0
0
0
0
0
-3
-85
24
18
-16
66
75
-5
-3
-3
1
0
0
0
0
0
0
-11
41
11
-69
-21
-33
-90
-3
-6
2
0
-1
0
0
0
0
0
3
-16
-43
50
-34
12
-61
-8
-8
3
1
-1
0
0
0
0
0
2
-16
35
45
-22
45
18
4
-3
17
-3
0
0
0
0
0
0
0
-1
-31
-23
34
-19
13
0
-8
6
-1
0
0
0
0
0
0
0
-8
-22
79
14
32
-8
-3
13
-1
0
0
0
0
0
0
0
0
-3
43
1
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
21
1
-3
-6
13
3
1
0
0
0
0
0
0
0
0
0
0
0
-11
0
21
6
-37
-25
-22
0
0
0
0
0
0
0
0
0
6
-2
4
1
10
5
-20
2
0
0
0
0
0
0
0
0
0
0
-1
1
10
-2
2
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
5
-18
9
9
0
0
0
0
0
0
0
0
0
22
-45
-25
-54
-49
54
0
37
3
2
0
0
0
0
0
0
0
0
0
11
-23
-11
-37
22
-20
-5
1
0
0
0
0
0
0
0
0
0
0
3
-20
46
-1
-6
1
-3
0
0
0
0
0
0
0
0
0
5
2
-20
-23
20
1
-2
0
0
0
0
0
0
0
0
0
0
0
-9
-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
-16
-24
27
3
-19
0
0
11
-14
3
-4
0
0
0
0
0
23
14
1
-15
46
-49
0
17
0
-1
16
-6
0
0
0
0
0
-10
37
21
50
30
9
-9
33
20
17
-4
0
0
0
0
0
0
1
18
14
26
-34
-5
-17
19
26
9
0
0
0
0
0
0
0
0
-14
5
-8
-27
-25
1
-14
-6
-4
-2
2
0
0
0
0
0
0
1
-19
1
-9
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
-9
-9
0
-4
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
-17
-8
10
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
-11
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-1
6
-4
-17
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
-17
2
2
-1
0
0
0
0
0
0
0
0
-1
0
2
0
3
-3
2
-1
0
0
0
0
0
0
0
0
1
1
0
0
2
2
27
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-39
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
-2
-10
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
-2
17
-20
24
7
0
0
0
0
0
0
0
0
0
0
0
0
5
10
47
-34
41
0
0
0
0
0
0
0
0
0
0
0
-2
3
-10
44
-14
8
0
0
0
0
0
0
0
0
0
0
0
3
3
15
-25
-14
-10
0
0
0
0
0
0
0
0
0
0
0
0
-26
-7
7
35
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
30
-13
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
10
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-5
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-25
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
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-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
-41
-8
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-25
-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
-11
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
13
-14
-11
-13
-20
-5
2
0
0
0
0
0
-2
17
1
0
0
-9
-14
-3
-45
-10
50
20
0
0
0
0
0
0
0
-19
-5
-19
-49
14
-1
-2
49
-5
-69
0
0
0
0
0
0
-3
18
-27
45
-24
-13
-47
33
-55
-43
6
0
0
0
0
0
-2
0
0
1
-9
0
14
14
15
-36
11
0
0
0
0
0
0
0
0
5
-11
6
13
-13
-21
-11
-43
11
0
0
0
0
0
0
0
0
0
1
-3
-6
8
13
29
-8
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-11
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
1
2
2
0
0
73
2
-85
-88
-33
-5
3
0
0
0
0
0
0
-4
-11
11
-27
-53
28
19
44
18
2
2
0
0
0
0
0
-1
-1
-13
-23
-57
71
27
22
7
-26
25
2
0
0
0
0
0
0
10
-46
-27
-53
-17
129
10
-24
27
-7
1
0
0
0
0
0
5
-4
-13
-10
87
8
72
25
35
18
-25
0
0
0
0
0
0
0
3
-1
-14
5
-5
27
139
-5
10
2
0
0
0
0
0
0
0
-3
3
-21
36
6
-31
-10
-6
-7
0
0
0
0
0
0
0
0
0
5
9
-2
-17
23
-58
56
-23
0
0
0
0
0
0
0
0
0
0
0
-4
-19
8
9
-24
29
0
0
0
0
0
0
0
0
0
0
0
0
3
25
3
30
15
-25
6
0
0
0
0
0
0
0
0
8
8
22
-5
-19
21
14
8
1
0
0
0
0
0
0
0
0
5
2
-34
-37
8
-37
-15
-6
0
0
0
0
0
0
0
-1
0
-8
2
-3
44
5
-29
-2
-14
-3
0
0
0
0
0
0
0
0
2
4
31
-1
5
-9
7
-4
0
0
0
0
0
0
0
0
0
1
-1
14
-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
27
-20
30
13
71
-31
13
-1
0
0
0
0
0
0
2
1
-2
1
0
45
46
-11
-29
9
-24
0
0
0
0
0
0
0
6
8
-11
54
5
7
10
36
8
0
0
0
0
0
0
0
0
0
1
-5
30
-9
-6
-26
-2
-4
1
0
0
0
0
0
0
0
0
-2
2
-7
30
-2
-26
-17
-1
0
0
0
0
0
0
0
0
0
0
1
2
-11
16
2
-6
5
0
0
0
0
0
0
0
0
-1
0
1
-7
-24
-29
-35
-9
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
-11
1
5
-18
15
32
0
0
0
0
0
-1
2
15
0
16
0
26
-36
-13
0
46
-20
-1
0
0
0
0
0
4
4
-7
37
28
48
-13
1
9
-50
-26
0
0
0
0
0
-1
1
-2
-26
1
10
17
53
-23
-32
65
-14
0
0
0
0
0
0
1
-1
3
2
-15
-22
-4
2
-53
-39
1
0
0
0
0
0
0
1
-3
0
5
-1
-36
1
-7
2
-14
1
0
0
0
0
0
0
0
-2
-2
11
1
-7
-2
36
-19
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
-10
-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
-11
8
1
0
0
0
0
0
0
0
0
0
0
-1
-7
-10
-13
10
1
0
0
0
0
0
0
0
0
0
0
0
-3
-24
35
19
-16
9
0
0
0
0
0
0
0
0
-1
-3
-3
-2
-4
10
39
-2
0
0
0
0
0
0
0
0
-1
0
0
1
0
-10
-7
3
0
15
0
0
0
0
0
0
0
0
1
1
-2
0
0
1
13
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
-10
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
4
4
4
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
-30
35
0
-1
0
0
0
0
0
0
0
0
0
0
0
14
-5
-5
-18
24
2
0
0
0
0
0
0
0
0
0
0
0
-5
20
-20
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
3
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
-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
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
45
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
2
-14
-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
16
-11
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
17
-13
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-11
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
6
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
-1
0
2
1
0
0
0
0
0
0
0
0
0
0
-1
4
2
-13
-11
-9
-33
-4
0
0
0
0
0
0
0
0
0
0
0
2
9
-6
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
34
7
3
0
0
0
0
0
0
0
0
0
0
0
0
11
41
17
29
-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
-11
3
-4
-1
0
0
0
0
0
0
0
0
-1
-2
-5
0
4
-11
-22
-4
-8
0
0
0
0
0
0
0
0
0
1
1
4
-18
4
-27
-8
-2
0
0
0
0
0
0
0
0
0
2
0
-2
6
15
-20
-4
1
0
0
0
0
0
0
0
0
0
-6
0
3
6
7
35
3
0
0
0
0
0
0
0
0
0
-1
0
3
10
0
9
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
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
1
0
-7
8
0
-42
4
14
15
18
-15
0
-3
0
0
0
2
-4
7
-14
15
-23
58
33
-8
6
15
14
-2
2
0
0
0
0
1
0
17
15
14
17
-2
15
-22
14
23
20
-9
0
0
0
0
0
0
6
-26
0
-43
6
7
23
14
109
18
-1
0
0
0
0
0
2
-14
7
6
-22
-25
17
46
-5
17
7
0
0
0
0
0
0
0
-2
4
9
-25
8
-5
4
-34
-14
0
0
0
0
0
0
0
0
0
0
-5
2
-20
-14
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
27
67
0
-32
12
65
-6
31
3
0
0
0
0
0
-2
-4
2
23
-4
97
9
5
31
-13
29
7
4
0
0
0
0
-1
-2
-8
6
-4
33
-15
9
6
-41
16
5
1
0
0
0
0
-1
-1
6
-5
-23
-28
-23
-5
21
25
-22
-2
4
0
0
0
0
0
0
11
-26
-58
-101
23
57
-70
45
-1
2
0
0
0
0
0
0
-7
-3
-34
-9
13
-3
-98
1
-15
-10
-2
0
0
0
0
0
0
0
-2
30
16
9
0
2
35
-18
-18
-4
0
0
0
0
0
0
0
0
13
11
19
39
-53
43
-5
6
0
0
0
0
0
0
0
0
0
-9
10
-54
28
29
-4
-10
0
0
0
0
0
0
0
0
-1
-3
0
-14
0
-15
-26
-1
15
7
-1
0
0
0
0
0
1
-3
-20
-5
0
62
-15
0
-11
9
0
0
0
0
0
0
0
0
15
-1
41
-7
54
16
-9
4
-9
0
0
0
0
0
0
0
14
17
-10
14
-6
-6
5
-7
2
4
6
-2
0
0
0
0
0
-11
11
3
22
-16
-18
-2
-6
1
4
0
0
0
0
0
0
1
-1
2
-15
-1
27
37
1
-13
0
-1
0
0
0
0
0
0
0
33
14
-2
12
-4
33
-18
-5
0
0
0
0
0
0
0
0
0
-8
-17
6
-12
-24
16
-18
0
2
0
0
0
0
0
0
0
0
0
-3
21
20
16
3
7
-1
0
0
0
0
0
0
0
0
0
0
0
17
1
-37
0
13
-11
21
33
0
0
0
0
0
0
0
0
-2
-2
14
-20
-30
39
-18
63
11
-25
0
0
0
0
0
0
0
0
-13
2
-65
-53
-18
-47
19
4
25
0
0
0
0
0
0
-1
-1
-2
2
1
-5
33
-46
-27
11
9
0
0
0
0
0
0
0
0
8
-2
-4
25
1
-36
-19
32
23
-2
0
0
0
0
0
0
-1
-2
-9
-8
-26
3
-13
9
-21
2
0
0
0
0
0
0
0
-1
25
2
21
3
-32
-21
9
-1
0
0
0
0
0
0
0
0
0
-2
21
-3
17
-15
-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
-2
2
0
17
6
13
32
3
20
13
0
0
0
0
0
0
-14
-53
-2
-38
-29
22
32
55
5
-39
27
5
0
0
0
0
0
1
-1
-43
-3
33
43
-18
-43
-9
-43
4
0
0
0
0
0
-2
0
15
-50
14
0
18
-32
6
43
41
-17
1
0
0
0
0
-1
-2
-6
-27
6
-15
-3
7
-33
4
13
-5
0
0
0
0
0
-1
1
0
0
20
24
-2
27
-9
1
13
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
-23
3
0
6
0
0
0
0
0
0
0
0
1
1
-4
10
-6
3
1
-11
3
0
0
0
0
0
0
0
0
2
2
-4
0
14
15
-14
2
1
0
0
0
0
0
0
0
0
0
7
2
7
8
11
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
1
13
-15
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
-18
-2
0
0
0
0
0
0
2
0
-18
-16
-27
-6
13
-8
4
14
2
0
0
0
0
0
0
1
2
9
6
-6
26
10
-4
-2
3
-3
1
0
0
0
0
0
-1
-9
27
-8
5
0
15
1
0
18
7
0
0
0
0
0
0
5
1
-35
2
0
11
5
0
-2
6
0
0
0
0
0
0
1
0
10
-22
-68
-3
-15
5
0
0
0
0
0
0
0
0
0
0
0
4
-7
-39
18
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
-8
-24
2
-63
16
0
0
0
0
0
0
0
0
0
0
0
0
-6
-16
16
24
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-11
-4
53
1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
10
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
4
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
13
4
21
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-24
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
11
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
-10
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
18
17
5
20
-13
-14
3
0
0
0
0
2
-2
4
-33
0
0
34
50
30
80
2
23
2
0
0
0
0
0
0
0
-25
-75
30
7
45
-14
-21
10
-27
9
0
0
0
0
0
0
0
-7
47
-53
-31
4
-43
-45
3
-4
-2
0
0
0
0
0
0
0
-1
6
-13
9
2
6
5
-39
35
2
0
0
0
0
0
0
0
-1
0
-3
-1
4
19
24
62
4
1
0
0
0
0
0
0
0
0
0
2
0
-1
-10
30
-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
5
-34
-14
2
66
-4
1
0
0
0
0
0
0
-5
39
49
17
14
-9
0
-73
2
5
0
0
0
0
0
0
0
8
3
25
-49
-13
-53
80
-43
8
-4
14
0
0
0
0
0
1
0
-41
17
-51
22
5
-33
37
3
9
3
0
0
0
0
0
3
1
-2
30
-7
-58
-2
52
-28
-6
46
1
0
0
0
0
0
0
0
2
-3
-34
-14
60
2
-15
-6
-25
0
0
0
0
0
0
0
0
-1
-2
16
-6
-9
14
48
-4
-5
0
0
0
0
0
0
0
0
0
-2
-7
-4
-10
61
2
-18
-1
0
0
0
0
0
0
0
0
0
0
1
-14
12
-11
-7
-23
0
0
0
0
0
0
0
0
0
0
0
0
11
-11
33
-37
-14
15
0
0
0
0
0
0
0
0
0
-4
8
2
-5
19
-18
-36
36
-23
0
0
0
0
0
0
0
0
-5
-45
5
-5
-9
-45
2
14
-7
0
0
0
0
0
0
0
0
0
2
-17
-6
1
-1
-8
-30
20
0
0
0
0
0
0
0
0
-3
1
14
1
-5
-8
-1
-22
17
0
0
0
0
0
0
0
0
-3
5
-7
10
7
-16
20
29
-33
0
0
0
0
0
0
0
0
0
0
-3
14
15
-4
9
18
9
0
0
0
0
0
0
0
0
0
3
-2
-25
-22
-14
55
52
18
0
0
0
0
0
0
0
0
0
0
1
1
11
-2
33
-43
45
0
0
0
0
0
0
0
-1
0
-3
14
5
-39
-52
4
17
2
0
0
0
0
0
0
-2
5
15
-9
0
-7
-36
-16
21
-22
52
0
0
0
0
0
0
5
-7
0
25
-7
5
-8
45
-21
5
0
0
0
0
0
0
0
2
1
3
-3
-15
17
32
-9
4
-19
2
0
0
0
0
0
0
0
0
2
3
-10
25
10
47
3
14
-17
0
0
0
0
0
0
0
0
0
3
14
-4
-4
22
-20
-1
29
0
0
0
0
0
0
0
0
0
-1
-3
5
-7
0
-35
9
18
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
35
-18
30
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
0
0
2
10
-7
0
0
18
-5
-32
25
-30
-4
-9
0
0
0
0
0
0
0
0
-20
0
23
10
21
15
15
56
-8
0
0
0
-1
0
0
15
1
33
43
63
-39
-2
-27
51
-51
-1
0
0
0
0
0
0
4
2
-4
3
-5
0
-14
22
17
-2
0
0
0
0
0
0
0
0
0
-7
-18
-20
-25
-10
14
23
-4
0
0
0
0
0
0
0
0
0
-1
7
1
-2
13
25
27
-17
0
0
0
0
0
0
0
0
0
0
0
-6
1
-27
17
-23
-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
9
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
25
-1
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-32
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-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
20
6
0
0
0
0
0
0
0
0
0
3
0
0
7
-5
17
4
4
-39
6
0
0
0
0
0
0
0
0
0
2
5
-20
-6
-15
-23
-20
-2
0
0
0
0
0
0
0
0
2
0
-3
-7
0
-6
20
7
2
0
0
0
0
0
0
0
1
0
0
-1
2
-7
5
-14
4
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
13
-5
-1
0
0
0
0
0
0
0
0
0
0
2
-1
0
-9
-6
7
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
7
5
3
0
0
0
0
0
0
0
0
0
0
0
1
-14
-17
5
-15
-6
0
0
0
0
0
0
0
0
0
-1
0
1
-9
-18
13
33
1
-7
0
0
0
0
0
0
0
0
0
0
-1
-2
22
-34
9
36
1
0
0
0
0
0
0
0
0
0
0
0
7
-1
10
4
6
0
0
0
0
0
0
0
0
0
0
0
-3
2
-9
-1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
4
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-13
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
-18
-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
27
4
-1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
-25
-26
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
20
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-8
-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
-14
3
0
0
0
0
0
0
0
0
0
4
1
2
2
1
35
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-1
-13
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
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
9
-14
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
2
-7
2
3
13
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
1
19
-1
-3
2
0
0
0
0
0
0
0
0
0
0
2
10
7
-1
16
-1
0
0
0
0
0
0
0
0
0
0
2
1
0
-9
2
0
5
0
0
0
0
0
0
0
0
0
0
0
6
-7
-15
-13
-14
10
4
0
0
0
0
0
0
0
0
0
0
-1
13
-5
-10
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
-19
-2
25
24
23
1
0
0
0
0
0
0
0
0
0
-1
3
5
-15
1
-10
5
1
0
0
0
0
0
0
0
0
0
1
0
0
-23
-34
9
-21
2
0
0
0
0
0
0
0
0
0
0
0
5
3
18
-9
15
-10
0
0
0
0
0
0
0
0
0
0
0
2
2
1
-25
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
13
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
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
4
31
27
0
-58
29
3
18
6
-5
-6
-1
0
0
0
1
7
-37
-5
8
2
44
23
15
2
30
15
-11
2
0
0
0
-1
1
-1
-8
42
-33
-20
24
20
-10
-4
11
5
0
0
0
0
0
1
0
2
-8
8
-18
-15
-48
46
-2
13
-1
-1
0
0
0
0
-2
-1
3
-7
-14
-3
-23
4
-18
-9
4
2
0
0
0
0
0
0
0
-1
13
-4
-14
8
5
45
-14
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-14
2
11
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
-26
-16
0
34
48
-2
53
5
0
-1
0
0
0
0
0
2
6
6
-2
-5
-26
99
-37
14
14
3
-5
0
0
0
0
0
0
-5
-10
-14
36
-13
-17
-8
36
6
4
-3
0
0
0
-1
0
0
-4
46
-27
-18
22
-23
-34
6
-63
-8
0
0
0
0
0
0
-3
8
31
-78
-11
77
41
-71
-16
0
1
7
0
0
0
0
1
1
-11
-14
-4
5
20
-14
-8
27
-27
5
-6
0
0
0
0
0
0
0
10
-17
-7
14
5
-30
6
24
8
1
0
0
0
0
0
0
0
-4
-5
-7
39
-11
5
14
6
1
0
0
0
0
0
0
0
0
0
4
1
-54
29
-27
5
0
0
0
0
0
0
0
0
5
-11
-20
-23
0
-8
-21
4
1
2
0
0
0
0
0
0
0
0
0
7
-6
32
4
-10
-1
5
-3
1
0
0
0
0
0
0
0
0
-1
-13
1
7
-14
8
7
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-4
-17
10
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
5
-11
1
9
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
10
0
-1
0
0
0
0
0
0
0
0
1
14
-25
78
0
73
8
34
8
7
1
0
0
0
0
0
0
-2
-15
-14
23
25
32
16
23
50
10
2
0
0
0
0
0
0
-1
5
-1
16
18
-33
6
24
27
-33
0
0
0
0
0
0
0
0
-6
-7
-20
-10
13
19
-6
11
-11
0
0
0
0
0
0
0
0
0
-1
-6
6
-5
5
-21
-2
5
0
0
0
0
0
0
0
0
0
18
20
-14
-15
-19
14
-3
0
0
0
0
0
0
0
0
0
0
1
-22
-11
35
20
-4
5
0
0
0
0
0
0
0
0
0
0
-2
-2
6
-6
-2
16
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
-16
-5
-2
-25
50
-33
11
2
0
0
0
-2
-2
2
-9
53
-29
4
16
-11
-55
-6
-32
-34
7
0
0
0
0
2
0
3
14
-9
86
39
-8
-10
-27
14
45
2
0
0
0
0
0
3
-6
-5
-13
-72
25
-26
2
-5
7
36
8
0
0
0
0
0
0
-6
3
5
-2
35
21
27
7
-24
-11
-2
0
0
0
0
0
0
0
-2
-17
-1
-10
-39
-19
3
31
-4
0
0
0
0
0
0
0
1
0
1
-10
-4
13
-6
-11
-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
-9
3
-1
2
0
0
0
-1
0
0
0
0
0
0
1
-3
9
-2
-3
-11
14
-4
-1
2
-1
0
0
0
0
0
0
0
-11
0
18
-15
-1
21
11
0
0
1
0
0
0
0
0
0
0
0
4
-24
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
-11
-7
-2
13
0
-13
0
0
0
0
0
0
0
0
1
6
-25
11
5
-11
-5
0
9
-4
0
0
0
0
0
0
-2
8
1
2
6
17
21
1
20
-7
-1
1
0
0
0
0
0
0
4
-3
-20
-29
-7
13
-2
9
-1
9
0
0
0
0
0
0
1
0
0
13
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
-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
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
-9
-5
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
39
29
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
17
-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
-16
-14
11
15
0
0
0
0
0
0
0
0
0
0
0
-1
-1
39
-4
14
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
13
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
-14
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
-9
9
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
13
-17
-14
-26
-15
13
0
0
0
0
0
1
-8
0
0
0
58
36
4
-21
-25
1
9
0
0
0
0
0
0
0
9
23
28
25
-1
-45
-34
-4
-24
-24
0
0
0
0
0
0
0
-9
-2
10
-18
16
54
17
-18
9
8
0
0
0
0
0
-1
0
0
15
-10
41
-22
0
-5
-64
0
1
0
0
0
0
0
0
1
4
5
-1
-41
-9
-36
5
9
8
0
0
0
0
0
0
0
0
0
-4
20
6
-7
25
-6
32
5
0
0
0
0
0
0
0
0
0
-1
0
0
-4
2
-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
-2
0
0
4
75
45
93
-15
7
0
0
0
0
0
0
0
2
-1
23
-19
-24
42
88
-54
-10
-4
1
0
0
0
0
0
2
0
16
20
61
22
106
2
15
-33
0
-1
0
0
0
0
0
0
23
7
-19
-42
55
2
-18
-24
-5
14
5
0
0
0
0
0
0
-15
-10
22
41
-28
34
18
27
60
5
0
0
0
0
0
0
0
-7
-8
10
18
-27
72
-20
48
-65
-1
2
0
0
0
0
0
0
1
-6
11
46
-27
28
-33
3
-12
3
0
0
0
0
0
0
0
0
-4
2
-17
5
37
6
71
-27
0
0
0
0
0
0
0
0
0
0
0
-7
4
49
34
23
4
0
0
0
0
0
0
0
0
0
0
0
0
-20
-3
0
-46
-1
-16
-9
0
0
0
0
0
0
0
0
-5
4
21
-1
43
-9
-31
-5
10
0
0
0
0
0
0
0
-1
-3
2
6
30
-9
-17
-41
-9
0
0
0
0
0
0
0
0
0
-1
10
5
5
18
-6
-11
-1
0
0
0
0
0
0
0
0
0
0
0
32
-3
-27
31
14
4
0
0
0
0
0
0
0
0
0
0
-4
-9
-2
0
8
1
0
0
0
0
0
0
0
0
0
0
7
0
14
-11
-2
-7
-16
0
0
0
0
0
0
0
0
0
0
0
-2
0
-39
13
9
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
-14
-19
25
11
-30
5
-36
9
0
0
0
0
0
0
0
0
-5
-5
0
0
60
26
-4
43
-2
0
0
0
0
0
0
0
-8
-13
-14
-26
-7
74
53
-29
-6
5
0
0
0
0
0
0
0
0
-17
17
2
-19
-1
15
-10
0
-6
0
0
0
0
0
0
0
-1
18
-7
-14
-20
27
-1
33
-5
0
0
0
0
0
0
0
0
0
0
1
-1
9
15
-3
9
3
0
0
0
0
0
0
0
0
0
0
13
5
6
13
32
-6
-2
0
0
0
0
0
0
0
0
0
0
-2
-3
-16
8
-14
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
-15
7
51
-3
7
0
0
0
0
0
1
0
-1
0
10
0
37
21
-39
-15
-15
36
9
0
0
0
0
1
0
0
-60
31
11
-1
3
-23
14
26
24
3
0
0
0
0
0
0
1
-8
33
-22
18
-13
36
-20
17
-10
0
0
0
0
0
0
-1
2
8
-10
-11
1
-45
6
25
9
18
0
0
0
0
0
0
0
4
0
-3
7
-8
-5
5
-39
-7
1
0
0
0
0
0
0
0
-2
0
1
5
5
14
11
29
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
-11
8
0
0
0
0
0
0
0
0
0
0
-2
4
6
-9
14
14
-2
0
0
0
0
0
0
0
0
1
0
10
1
-43
-1
15
19
0
0
0
0
0
0
0
0
1
-4
-3
1
2
-26
-14
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
-17
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
9
17
0
-26
0
0
0
0
0
0
0
0
0
0
1
5
2
5
-5
17
23
-26
-1
0
0
0
0
0
0
0
0
0
-2
2
3
11
21
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
20
-36
6
1
0
0
0
0
0
0
0
0
0
0
1
4
-16
11
-20
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
25
1
-13
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
-9
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
9
-8
4
0
0
0
0
0
0
0
0
0
3
1
1
8
-3
20
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-39
18
-5
-4
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
-8
14
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
9
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-21
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-16
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
11
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
-25
10
0
0
0
0
0
0
0
0
0
0
0
1
4
-8
-29
1
14
-1
0
0
0
0
0
0
0
0
0
0
0
2
-4
-2
-29
7
0
0
0
0
0
0
0
0
0
0
3
1
-1
20
6
-1
11
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
-9
1
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
20
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
-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
-1
0
-13
0
4
-32
1
2
-3
-10
-5
1
0
0
0
0
0
-6
1
0
23
18
-5
-5
34
-10
20
10
2
0
0
0
0
0
0
0
16
34
8
14
-9
16
7
-34
36
-1
0
0
0
0
0
0
-10
-1
-16
3
33
14
5
-46
-5
18
-2
0
0
0
0
0
0
0
20
-15
-19
-24
-6
-7
-3
-17
-8
0
0
0
0
0
0
0
0
0
5
19
-5
-19
0
-5
-1
0
0
0
0
0
0
0
0
0
0
-9
3
14
-13
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
44
0
53
-25
0
-6
-6
20
-1
0
0
0
0
0
3
-8
-9
0
14
-84
-53
9
-34
-18
-10
-6
0
0
0
0
0
-1
10
0
21
29
-51
100
66
33
-26
15
18
0
0
0
0
0
2
0
-45
-11
5
-14
73
-51
-32
-26
10
-1
0
0
0
0
0
1
-16
-6
14
-46
36
71
85
-36
-41
7
0
0
0
0
0
0
-5
14
-11
-37
28
34
-23
-27
33
37
4
0
0
0
0
0
0
-2
10
11
47
-76
30
20
26
-31
18
2
0
0
0
0
0
0
0
2
-5
35
17
76
-14
-80
23
2
0
0
0
0
0
0
0
0
2
-1
-26
-18
1
-76
-9
0
1
0
0
0
0
0
0
0
0
-1
4
-55
0
-11
-11
24
8
0
0
0
0
0
0
0
1
-18
-4
-55
0
-15
-16
0
13
-6
-3
0
0
0
0
0
0
0
-3
10
0
3
-33
-3
-7
26
5
14
-1
0
0
0
0
0
0
-5
0
-1
80
30
3
-5
-17
10
-6
0
0
0
0
0
0
-1
0
1
-13
24
3
14
0
-14
-1
0
0
0
0
0
0
0
0
1
22
-15
-6
0
-9
6
3
1
4
0
0
0
0
0
0
2
-27
-17
11
-51
23
-8
2
4
0
0
0
0
0
0
0
0
-3
-4
17
9
9
-30
-8
6
-1
0
0
0
0
0
0
0
0
0
1
-2
13
23
13
23
-3
0
0
0
0
0
0
0
0
0
0
0
-3
3
-36
0
-2
1
-43
-15
1
0
0
0
0
0
0
0
0
-18
5
0
19
0
68
53
-35
-7
0
0
0
0
0
0
0
0
7
0
19
-25
-25
59
1
1
14
0
0
0
0
0
0
0
0
0
8
-8
18
33
-41
-8
1
-14
0
0
0
0
0
0
0
0
4
-6
17
7
-24
-4
17
-13
11
0
0
0
0
0
0
0
0
1
-18
5
18
-15
46
-20
-18
0
0
0
0
0
0
0
0
-1
-23
-24
27
34
5
-14
-1
-4
0
0
0
0
0
0
0
0
1
0
-9
-6
25
31
-16
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
-10
0
0
0
0
0
0
0
0
0
0
0
1
0
-11
0
-7
77
-14
-7
-4
-11
-3
-1
0
0
0
0
0
1
-1
-2
39
45
-5
-11
-27
50
43
-20
-1
0
0
0
0
0
0
0
0
56
15
-50
14
11
-11
-3
4
20
0
0
0
0
0
0
2
5
6
9
-34
25
-21
-4
21
5
0
0
0
0
0
0
0
-1
-5
15
-1
14
-24
7
33
-18
-10
0
0
0
0
0
0
1
1
-3
10
-15
20
-1
24
-8
4
4
0
0
0
0
0
0
0
1
2
9
-6
4
0
44
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
15
6
-6
6
-1
-2
0
0
0
0
0
0
0
-2
-11
5
-6
18
-4
-3
10
-18
9
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
-15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
52
13
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
9
0
4
-7
-17
-5
-20
-2
0
0
0
0
0
0
0
-8
6
0
24
18
10
25
0
-13
4
0
0
0
0
0
0
0
-2
-6
0
-6
5
-4
-3
29
-2
4
0
0
0
0
0
-1
4
-2
-2
-4
-20
6
-4
13
-1
0
0
0
0
0
0
0
0
10
2
-17
7
9
-4
-4
4
3
0
0
0
0
0
0
0
0
4
-1
16
-7
-8
-1
0
1
0
0
0
0
0
0
0
0
0
-1
33
31
19
-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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-19
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
-18
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
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
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
4
-5
71
37
-9
0
0
0
0
0
-1
-5
-6
0
0
29
10
-23
38
26
-30
-5
0
0
0
0
0
0
2
-18
-14
-27
29
1
30
35
24
54
-4
0
0
0
0
0
0
-1
14
25
43
7
-25
56
51
-59
-1
-8
0
0
0
0
0
0
0
4
0
-5
44
3
-20
7
45
8
3
0
0
0
0
0
0
0
-2
-1
-8
-10
-1
21
5
15
-15
5
0
0
0
0
0
0
0
0
0
0
5
5
-18
-18
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
25
0
0
-44
-51
-27
-102
-15
8
-2
0
0
0
0
0
0
-5
3
44
-21
17
12
5
78
38
26
3
0
0
0
0
0
1
2
3
-60
-3
-98
-19
-44
30
52
-4
9
0
0
0
0
0
0
1
-21
6
29
-37
-5
97
-34
18
9
-14
0
0
0
0
0
0
0
0
9
-2
-53
-33
59
52
-31
0
23
0
0
0
0
0
0
0
-1
-14
5
-4
-43
50
5
-17
-5
6
0
0
0
0
0
0
0
0
5
27
-20
47
5
63
3
33
-1
0
0
0
0
0
0
0
0
0
10
-8
0
-25
10
14
6
0
0
0
0
0
0
0
0
0
0
0
0
7
-14
30
-21
0
0
0
0
0
0
0
0
0
0
0
0
13
10
10
4
39
14
-6
0
0
0
0
0
0
0
0
2
0
-31
41
39
16
-20
-16
-53
0
0
0
0
0
0
0
0
0
-1
-31
-25
22
-23
5
-52
98
0
0
0
0
0
0
0
0
0
0
-1
8
-11
16
-9
62
18
0
0
0
0
0
0
0
0
0
0
0
-24
10
-11
-46
23
11
0
0
0
0
0
0
0
0
0
0
-3
13
8
24
19
8
11
0
0
0
0
0
0
0
0
0
1
0
-5
5
4
11
-5
-32
0
0
0
0
0
0
0
0
0
0
-1
6
-18
-34
-63
17
-47
0
0
0
0
0
0
0
0
0
0
-2
-2
-27
-3
45
20
9
0
0
0
0
0
0
0
2
0
7
-15
22
49
-17
9
-12
9
0
0
0
0
0
0
0
0
2
43
0
-58
-7
18
42
9
-3
0
0
0
0
0
0
0
0
6
7
6
-43
-16
-15
-30
25
8
0
0
0
0
0
0
-2
0
17
-26
14
16
11
39
20
-17
-16
0
0
0
0
0
0
0
0
0
5
-5
0
14
-5
-17
-56
1
0
0
0
0
0
0
0
0
0
-1
-2
0
-1
-22
16
39
-6
0
0
0
0
0
0
0
0
0
0
0
6
11
10
24
22
1
0
0
0
0
0
0
0
0
0
0
0
1
2
4
17
1
-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
27
23
-33
-35
-46
-4
7
0
0
0
0
0
0
0
0
6
0
-12
-15
8
-2
-25
-2
5
0
0
0
0
0
1
1
9
3
-25
8
68
3
25
8
9
2
0
0
0
0
0
0
0
-2
0
-1
5
14
15
39
6
18
-3
0
0
0
0
0
0
0
0
0
-1
-27
11
-23
0
-14
-18
0
0
0
0
0
0
0
0
0
-2
17
-2
7
21
-18
5
-18
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-25
-15
-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
10
-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
-29
-17
1
23
0
0
0
0
0
0
0
0
0
0
0
-21
17
0
36
-29
0
9
0
0
0
0
0
0
0
0
0
3
1
5
-19
9
10
-20
-6
0
0
0
0
0
0
0
0
0
0
7
-1
-4
-6
14
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
14
4
3
0
0
0
0
0
0
0
0
0
3
0
2
0
5
2
-10
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
15
-23
8
-6
0
0
0
0
0
0
0
0
0
0
0
-9
-18
-7
4
-24
-4
-6
0
0
0
0
0
0
0
0
0
3
2
11
8
-41
20
35
-1
0
0
0
0
0
0
0
0
0
0
0
-2
4
8
14
0
36
0
0
0
0
0
0
0
0
0
0
0
13
13
10
-11
-21
5
0
0
0
0
0
0
0
0
0
0
0
5
-10
-24
-26
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
-18
6
-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
-14
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
13
1
2
1
0
0
0
0
0
0
0
0
0
0
0
2
-5
4
6
15
1
0
0
0
0
0
0
0
0
0
0
-1
0
2
3
5
13
3
-1
0
0
0
0
0
0
0
0
0
0
1
0
-5
7
-8
-10
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
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
10
13
-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
-17
5
19
-1
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
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
25
-8
-3
2
-2
0
0
0
0
0
0
0
0
0
0
-9
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
9
8
29
2
-4
15
0
0
0
0
0
0
0
0
0
0
0
13
3
23
-18
3
-33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-6
-8
1
0
0
0
0
0
0
0
0
0
0
1
3
-1
23
18
1
4
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
16
35
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
-9
8
34
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
-5
-25
3
-15
2
-5
-2
0
0
0
0
0
13
-24
21
0
116
10
81
-8
-13
9
9
0
0
0
0
0
0
0
-7
-2
-10
-21
2
-5
-8
5
56
-37
-1
0
0
0
0
0
-1
-17
0
-35
-8
3
-1
-25
6
-2
-17
1
0
0
0
0
0
0
0
0
0
0
-13
-7
-16
-37
13
-4
-1
0
0
0
0
0
0
0
0
0
-2
-4
-1
3
-16
47
-10
-2
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-15
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
-2
3
0
48
71
36
-11
8
-5
0
0
0
0
0
0
-3
1
14
-64
2
20
-26
23
-5
7
-19
5
0
0
0
0
0
0
0
-3
23
20
33
-86
-42
54
-3
0
-14
0
0
0
0
0
-1
6
-7
-4
-18
-16
39
9
-19
-50
8
3
0
0
0
0
0
-1
1
3
-4
-5
-8
-44
7
-16
-14
14
2
0
0
0
0
0
0
0
0
14
9
27
10
-6
-4
-5
-25
0
0
0
0
0
0
0
0
0
-1
-4
18
-14
10
5
20
-15
0
0
0
0
0
0
0
0
0
1
-23
-8
25
26
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
45
57
0
17
-5
-4
-6
-2
0
0
0
0
0
0
0
0
-1
1
-24
-14
8
16
2
-9
-6
-4
0
0
0
0
0
0
0
0
0
14
23
-2
0
-2
-7
3
0
0
0
0
0
0
0
0
0
0
2
8
1
1
3
9
-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
-31
0
6
-2
5
-7
6
-3
0
0
0
0
0
0
0
0
-1
18
-39
-55
1
-8
55
33
0
0
0
0
0
0
0
0
-1
9
-7
44
-6
16
-7
-13
3
3
0
0
0
0
0
0
0
0
0
0
-3
11
1
-27
-17
4
0
0
0
0
0
0
0
0
0
0
0
4
2
-15
2
-20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-6
7
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
-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
-14
0
22
30
3
-41
1
-3
-8
0
0
0
0
0
0
0
6
0
73
46
49
-3
-5
25
36
8
1
0
0
0
0
0
3
4
-11
107
5
116
57
6
-15
2
10
-32
0
0
0
0
0
0
0
-13
6
-26
-3
-7
-33
-56
-24
15
6
0
0
0
0
0
0
0
-1
0
-5
27
7
-7
7
-25
-44
-3
0
0
0
0
0
0
0
0
0
-5
0
-13
7
-14
15
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
-18
-3
-5
1
5
-1
1
0
0
0
0
0
0
0
0
0
3
2
-18
1
13
-1
9
-2
1
0
0
0
0
0
0
0
0
-3
5
0
-26
-8
-4
15
-1
0
0
0
0
0
0
0
0
0
0
-1
2
-1
18
-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
-9
0
-18
0
4
-1
0
0
0
0
0
0
0
4
2
-2
6
-1
-4
-3
-20
-2
4
0
0
0
0
0
0
0
0
1
3
0
0
-3
0
-13
-15
3
0
0
0
0
0
0
0
0
0
-1
-1
24
6
7
24
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
20
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
-8
0
0
0
0
4
-3
31
1
0
13
0
0
0
0
0
0
-1
0
0
-11
0
0
0
0
0
0
0
0
0
17
0
0
-11
0
-84
-143
-43
-25
-6
12
0
0
3
14
0
-209
-24
49
-20
1
0
7
43
-9
-2
0
-70
-125
-24
36
0
0
-8
53
20
-65
0
-72
-13
23
0
20
-20
30
21
-10
-29
0
-121
35
0
-13
41
117
25
1
-51
-13
0
-5
0
8
-2
10
7
17
69
-3
-15
-8
0
0
-1
0
1
15
-19
-2
1
53
0
0
0
32
0
-2
-25
0
0
-17
0
12
185
0
-42
-116
-44
-48
-25
-38
0
123
128
-1
0
-112
-45
-76
-13
-30
0
-91
78
39
-35
0
-52
-35
-35
-21
0
-61
-6
-2
-66
-105
0
26
-49
-4
0
-82
4
50
6
2
-16
0
-86
8
0
36
15
32
7
-10
-61
-54
0
10
0
17
15
24
-18
15
21
-17
-20
-2
0
0
23
51
-37
11
14
-11
-21
87
0
0
0
0
-1
46
-4
6
0
-14
0
-23
7
0
-74
-32
-18
-30
0
-5
0
-13
-11
33
0
-27
-35
-19
-10
1
0
-36
-59
35
-15
0
-4
-44
-127
-31
0
16
6
-9
-39
-63
0
-79
-17
-2
0
34
10
42
4
-7
-2
0
-13
2
0
-82
-6
19
9
-9
-35
-35
0
40
0
-39
43
83
53
64
4
36
0
-1
0
0
20
20
3
12
-31
-9
-26
32
0
0
0
-1
11
37
14
6
9
8
0
-92
12
0
-21
-52
69
62
-21
15
0
-80
32
61
0
-31
-7
-108
-4
5
0
91
-58
35
12
0
25
15
-15
-10
0
-67
-73
78
-57
-27
0
-45
49
-1
0
-21
-100
47
-13
-22
-8
0
-19
-8
0
-44
-88
-34
-39
-36
-64
-52
0
55
0
-25
53
60
32
100
64
18
41
-17
0
0
-20
70
-113
-4
22
77
43
5
0
4
0
-2
7
-40
114
9
16
45
0
41
105
0
-5
57
-8
73
2
5
0
53
1
48
0
6
-30
17
-8
25
0
61
0
52
13
0
18
-21
-46
9
0
-9
-57
-17
-52
-68
0
-13
-42
8
0
-87
-37
12
-5
-14
-5
0
-17
-5
0
-5
-51
3
-17
-49
-65
-142
0
60
0
-3
18
-20
-2
3
-42
49
96
92
0
0
-7
-19
48
-21
101
-60
32
26
0
0
0
3
4
-11
-7
-7
0
50
0
111
42
0
1
39
-8
-5
79
19
0
77
-21
-22
0
-40
16
-46
50
12
0
1
-31
58
8
0
30
-40
-9
9
0
17
26
0
-39
-45
0
69
-36
18
0
-61
34
28
-5
-24
-16
0
-62
9
0
-111
51
14
-14
-53
-19
-66
0
45
0
71
-34
-52
19
-14
31
1
-53
59
0
0
-18
-32
43
27
-17
33
14
20
0
11
0
-3
-1
-33
20
-6
-1
49
0
37
-87
0
47
88
-9
6
-10
9
0
-106
-110
-22
0
-15
13
70
-43
-10
0
-83
0
20
-2
0
11
-88
-71
1
0
-14
40
-42
-80
-77
0
81
-14
-11
0
-63
-21
11
-2
-44
-17
0
8
18
0
35
-77
3
-23
-24
-2
71
0
23
0
0
-1
-15
15
43
116
-5
35
-41
0
0
11
-41
27
14
35
6
-3
2
0
0
0
0
5
1
-20
-7
0
59
0
-43
-101
0
-6
11
-22
-11
0
-24
0
-26
-5
-31
0
34
-68
-5
0
-23
0
-4
-63
-10
-1
0
75
-12
11
45
0
10
11
-15
-9
9
0
-9
0
-28
0
18
53
5
7
-9
-14
0
-6
-12
0
-22
-5
-72
5
12
5
5
0
26
0
0
0
0
-10
0
11
0
0
11
0
0
0
0
-1
16
57
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-20
5
-2
0
-45
0
0
0
5
0
5
-48
4
0
-41
0
5
0
-24
47
0
2
0
0
-19
0
0
0
-5
45
-50
0
0
0
-2
0
0
0
29
-23
8
-11
0
0
41
0
0
0
-2
-19
57
-36
0
0
35
0
0
0
0
36
23
12
15
2
18
0
0
0
0
0
10
1
0
0
33
0
0
0
0
0
-17
36
2
0
-57
0
0
0
0
-3
-15
26
0
0
71
0
0
0
7
0
-76
-15
-1
0
49
0
0
0
-5
-22
0
70
0
0
-82
0
0
0
-2
5
-66
0
0
0
-25
0
0
0
6
51
35
-13
0
0
83
0
0
0
3
5
0
19
0
0
16
0
0
-3
29
44
-37
2
6
1
-43
0
0
0
10
4
5
3
0
0
-24
0
6
0
-15
-13
-30
-13
5
0
64
0
0
18
0
-15
-45
47
4
-24
31
0
3
4
-22
0
23
15
3
-6
125
0
-5
8
-62
49
0
-25
3
2
117
0
0
-3
41
32
43
0
4
0
24
0
2
-8
33
27
-53
45
0
0
38
0
0
3
65
5
-5
-75
-6
0
8
0
-10
19
60
-9
-66
35
43
4
-11
0
0
2
21
44
-9
21
-7
11
95
0
-24
0
19
-78
-9
-50
31
3
14
0
-7
46
0
-66
40
-68
14
-21
-53
0
-1
14
42
0
-21
51
27
-6
6
0
5
18
-7
29
0
17
-4
-16
83
0
0
-14
17
-45
19
0
-14
-4
6
0
5
-12
36
71
100
-37
0
-7
29
0
-1
6
-21
42
-29
7
-18
0
-21
0
-24
97
73
-35
-83
-44
-27
-25
44
0
0
0
124
53
38
-13
-6
27
52
0
-10
0
5
26
79
33
-39
35
37
0
13
-3
0
-14
-56
-21
-27
74
30
0
25
-36
-63
0
78
-5
9
44
32
0
8
-15
64
-27
0
-67
14
87
-8
0
0
-43
-17
19
-34
0
1
6
-1
0
-24
19
2
-9
-10
-38
0
21
4
0
-7
-2
-30
55
36
3
-2
0
38
0
21
107
-6
66
-44
44
-28
-6
46
0
0
-5
40
57
31
9
79
78
22
0
-87
0
-5
-1
38
75
-5
17
95
0
14
-6
0
32
17
39
33
21
7
0
-5
16
-67
0
64
26
5
148
61
0
47
-15
-29
53
0
35
43
5
-30
0
18
92
-10
-31
-47
0
-30
9
0
0
14
-8
-25
-75
-37
-12
0
-26
42
0
4
-4
-6
-28
-21
-11
11
0
46
0
67
-67
-101
19
28
56
40
63
37
0
0
2
-86
-40
4
45
65
-67
50
0
-5
0
-37
-16
99
63
71
11
76
0
21
-34
0
14
-10
-42
-5
-47
67
0
11
36
7
0
24
-20
4
-30
27
0
15
15
-5
-40
0
44
24
-28
42
0
1
5
-33
-56
2
0
-25
-56
-7
0
-3
37
21
-49
20
21
0
9
18
0
5
15
25
-60
-79
19
-1
0
24
0
-23
-103
-42
-80
59
42
-18
22
-14
0
0
17
-4
-43
70
39
-61
-47
32
0
-22
0
30
70
-68
-69
-49
-24
38
0
14
23
0
-52
-117
40
-15
55
98
0
-1
-8
61
0
-86
-37
22
-16
24
0
-5
5
71
-1
0
53
-33
-13
25
0
-49
-24
1
5
100
0
16
114
82
0
30
-14
2
-31
-6
37
0
-1
-6
0
0
0
-5
22
77
6
0
0
20
0
-13
-62
-70
-27
76
28
7
3
44
0
0
21
-69
-19
36
43
-50
-7
9
0
78
0
6
-8
17
14
9
-21
-29
0
0
0
0
72
64
42
-7
-1
-14
0
0
0
-2
0
49
75
-21
0
41
0
0
-5
1
35
0
5
-51
0
8
0
3
0
1
21
14
0
7
2
27
0
0
0
0
9
31
-43
0
0
18
0
0
1
0
1
17
54
0
0
28
0
0
0
-3
27
-2
-33
3
0
45
0
0
0
-3
21
5
62
0
0
-84
0
0
0
0
-13
-21
-19
0
0
2
0
0
0
0
2
34
0
0
0
-6
0
0
0
0
0
-4
-31
0
0
22
0
0
0
0
0
0
-7
0
0
19
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
-2
11
0
0
7
0
0
0
0
0
0
3
0
0
69
0
-1
0
-3
-14
35
-23
-32
-3
27
0
0
0
7
-31
22
37
-2
0
3
0
0
0
0
2
-32
7
0
0
21
0
-3
15
0
49
-11
5
-23
0
0
0
7
-5
54
0
11
41
-6
0
-15
0
6
59
119
17
0
-9
18
0
-34
0
20
15
-68
-81
-87
0
1
0
38
0
23
82
-8
1
7
-70
0
0
-15
0
69
19
61
-56
-33
-20
0
0
-15
0
-3
43
25
53
102
55
-64
63
99
0
0
11
-20
-10
-35
8
14
-22
-22
0
0
0
1
5
-5
-6
-4
7
0
0
-25
-166
0
3
-43
2
-14
-3
-3
0
-11
50
5
0
-41
32
4
-44
18
0
0
65
97
24
0
-2
-109
-43
2
0
56
71
23
-38
-75
0
-23
21
26
0
39
-16
35
0
-11
-7
0
-15
2
0
18
-5
-10
2
-32
-40
19
0
152
0
21
23
-23
-14
23
5
1
-62
23
0
0
-10
33
5
14
-17
-33
4
34
0
0
0
13
15
13
2
-1
-19
9
0
-57
23
0
-21
4
-8
-14
5
-22
0
43
55
-58
0
-61
-26
-47
-11
8
0
40
15
29
5
0
0
-44
-23
-36
0
23
21
-48
4
-44
0
-145
-36
27
0
-29
-6
34
-19
-37
-39
0
-110
7
0
-20
-48
12
-23
-59
-45
-71
0
62
0
3
12
-14
71
27
21
-51
22
-14
0
0
-9
71
31
34
8
15
27
59
0
4
0
-1
-3
17
50
11
9
30
0
14
2
0
-85
-39
-79
13
-50
14
0
-10
-24
7
0
-15
-13
30
40
9
0
-71
-98
6
-6
0
-28
-30
-30
-4
0
-89
-18
-5
14
-93
0
-108
-59
18
0
-34
20
0
4
-11
-20
0
-65
18
0
-60
-3
14
4
5
-53
5
0
52
0
-19
110
83
-11
11
-16
6
47
-9
0
0
26
4
-63
52
-7
-37
18
-37
0
0
0
2
27
7
-20
8
15
2
0
-33
-34
0
-69
18
-57
33
-3
-11
0
-53
-47
-2
0
-1
-73
-100
-27
3
0
-56
-32
14
14
0
-70
-73
-92
-10
0
-88
-118
13
4
-19
0
0
12
-8
0
-142
-44
5
-1
-6
-15
0
-57
-5
0
-167
-62
1
-20
-11
-45
-16
0
-15
0
57
4
26
82
33
30
96
5
116
0
0
-25
39
-14
-34
162
-28
12
91
0
2
0
-2
3
4
-52
6
-6
-3
0
102
4
0
-32
-29
-60
23
-16
-9
0
-23
-98
19
0
-119
-98
28
-32
-12
0
10
34
-8
-1
0
-35
23
4
-14
0
48
-46
-11
-28
-38
0
-57
-41
-8
0
-35
6
-4
1
-5
11
0
-12
-13
0
-18
-20
-19
-4
-17
-16
-63
0
20
0
2
-6
1
7
-27
91
98
28
-59
0
0
31
4
56
2
45
53
-2
37
0
0
0
-2
-9
-31
66
-6
0
-8
0
21
73
0
-58
-90
27
8
29
-40
0
7
-3
9
0
-101
-84
6
38
13
0
-33
-29
18
18
0
-15
-61
-14
-27
0
56
-111
50
-10
-25
0
69
-15
-4
0
-33
-5
40
-4
-3
15
0
-61
-2
0
-82
-5
-29
-1
-4
-23
10
0
-17
0
0
-10
5
-64
-11
-5
11
-2
77
0
0
-2
-59
-18
12
78
21
-2
54
0
0
0
0
11
19
23
0
0
-9
0
-12
165
0
-7
-74
-32
-45
1
-10
0
27
100
66
0
-49
-52
4
0
25
0
37
-50
-6
8
0
-27
-2
-11
-13
0
-46
71
5
-45
-37
0
127
3
-8
0
37
8
16
-9
22
33
0
23
-14
0
-74
-15
-4
14
13
-8
-32
0
92
0
0
0
0
-4
-37
9
0
0
26
0
0
0
0
0
33
-10
0
0
-1
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
1
2
0
0
67
0
0
5
0
0
-4
-15
0
0
45
0
3
9
0
12
0
40
0
0
113
0
0
-1
-25
-77
11
0
0
0
60
0
0
-59
15
-18
36
40
0
0
-36
0
4
-4
-3
-34
-8
18
0
0
55
0
0
-9
18
56
3
-10
33
0
-29
0
0
0
34
-72
72
38
11
-7
100
0
-2
0
5
91
123
-6
0
1
-46
0
0
0
0
-21
-78
-55
-2
0
-102
0
-1
1
47
0
-58
-25
13
0
42
0
-1
2
19
14
0
4
5
0
-96
0
0
0
-10
-25
49
0
0
1
-47
0
0
0
0
11
44
-4
0
0
-21
0
0
0
2
8
11
-1
0
0
94
0
16
61
5
37
43
-4
-15
55
44
0
0
0
17
-6
24
71
10
-5
40
0
-2
0
20
-1
71
31
19
-5
49
0
5
25
0
-19
56
-10
3
7
65
0
-3
-36
22
0
-35
-5
-27
-61
41
0
-3
-51
-93
111
0
67
-19
-18
-6
0
-3
-4
17
-77
48
0
7
-25
-90
0
1
-4
57
4
-51
6
0
6
43
0
0
14
46
-57
-5
-9
0
0
7
0
1
-5
-33
-22
-12
48
11
40
65
0
0
7
-4
-23
69
26
14
-29
16
0
-19
0
4
118
75
4
47
43
5
0
14
-5
0
6
-163
20
5
-5
68
0
4
-22
-12
0
5
-5
-1
-10
24
0
10
5
9
-58
0
16
-53
25
71
0
4
-7
-13
24
-29
0
-21
27
94
0
-3
7
31
-82
73
50
0
-15
-23
0
-1
8
3
19
24
45
-20
0
-6
0
-11
57
-101
6
17
-2
43
14
91
0
0
16
16
51
12
53
18
-1
-33
0
-43
0
10
20
-34
-21
-3
-3
54
0
17
-32
0
-78
-52
-14
-16
-62
80
0
-2
-43
-17
0
42
34
90
14
35
0
-6
45
7
0
0
43
2
50
101
0
-8
7
61
-16
-12
0
5
-80
-23
0
-8
66
26
58
-85
-78
0
16
50
0
15
-3
-25
67
-24
-10
3
0
35
0
-4
23
53
-4
7
109
10
-1
36
0
0
-14
-61
-16
27
107
13
59
53
0
-27
0
-44
15
61
-2
-9
25
23
0
-5
43
0
12
-16
74
37
46
51
0
6
9
-19
0
4
-29
25
-5
-12
0
-4
-4
-10
8
0
19
22
90
66
0
-4
26
-64
74
-57
0
-27
-1
68
0
3
7
3
68
-32
47
0
-30
30
0
6
5
17
10
-4
-33
7
0
19
0
-25
-141
57
44
19
14
-15
-18
-47
0
0
24
-5
-12
-5
-70
17
53
53
0
-22
0
22
-49
-105
77
-3
0
92
0
25
20
0
75
15
2
0
6
35
0
16
43
-45
0
33
-35
-44
74
108
0
26
20
16
33
0
-16
14
-123
8
0
17
-2
47
73
4
0
14
71
40
0
85
8
-43
14
43
-18
0
-5
8
0
18
-27
-36
-37
19
-5
7
0
66
0
33
64
-90
-81
58
43
71
-34
10
0
0
17
-35
169
-50
-43
14
-34
6
0
115
0
-21
-80
5
50
-5
-15
-14
0
-4
-21
0
29
-11
15
0
37
53
0
6
4
44
0
35
54
8
-5
39
0
8
-1
-3
-19
0
40
-10
35
28
0
-43
0
-1
-19
27
0
-4
47
141
0
3
-5
-24
-30
52
-37
0
0
53
0
-4
5
-10
9
0
14
0
0
71
0
-24
-57
61
-18
-23
22
-62
33
130
0
0
-2
32
-52
14
100
-56
-27
64
0
43
0
-4
-108
-2
-23
-3
-5
62
0
9
-2
0
-3
29
76
-6
7
-15
0
0
-2
14
0
-4
-18
-10
0
66
0
0
0
13
-13
0
44
-3
0
9
0
0
0
0
-1
22
0
0
0
22
0
8
-1
-2
-23
-39
15
0
0
42
0
0
0
0
-1
-2
30
0
0
-12
0
0
0
-21
-41
55
54
0
0
130
0
0
0
-5
11
28
-31
0
0
-11
0
0
0
0
-17
-37
48
0
0
83
0
0
0
0
0
55
-28
0
0
18
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
-9
0
0
6
0
0
0
0
0
-1
0
0
0
54
0
0
0
0
0
0
-9
0
0
19
0
0
0
0
0
-3
0
0
0
109
0
0
0
0
-7
22
56
-23
2
-7
0
0
5
0
0
-2
6
-3
0
-1
0
0
0
-2
2
6
-5
0
0
-102
0
0
75
0
-66
-64
81
-2
-10
-17
0
0
48
100
0
-49
-14
-8
-6
7
0
5
112
135
-26
0
0
10
-8
41
0
1
5
101
44
-26
0
-18
-9
10
0
19
13
76
2
-47
-11
0
-44
4
0
-4
-47
47
7
-28
-70
87
0
12
0
41
96
70
166
41
107
70
28
42
0
0
-3
30
72
60
-107
12
33
64
0
-1
0
62
5
20
26
0
-18
-41
0
-51
203
0
-111
-26
-48
-98
31
-8
0
56
43
123
0
-63
-7
29
27
7
0
55
-39
151
16
0
-24
-47
23
15
0
-62
46
46
-7
-39
0
-59
-114
-8
0
-13
102
66
10
-46
-44
0
-52
-2
0
-40
39
60
17
-31
-29
-95
0
50
0
-33
39
30
-108
40
67
-4
-43
7
0
0
15
77
-23
-35
32
7
-19
177
0
0
0
40
8
93
64
30
10
9
0
-54
-18
0
-115
-44
-44
99
-22
7
0
-35
7
16
0
-119
48
-60
71
-5
0
31
49
30
-42
0
-6
-19
-41
44
0
27
-3
62
-58
-27
0
-57
10
-7
0
89
9
3
-7
-22
-8
0
-23
-24
0
-24
33
16
-47
-21
-60
-36
0
40
0
34
38
72
33
-4
86
46
-16
43
0
0
74
-30
-12
6
79
-76
-62
71
0
1
0
-5
8
106
56
74
8
68
0
22
-7
0
90
83
5
-31
15
2
0
-26
-8
-6
0
3
1
66
-65
-12
0
53
-57
13
-28
0
28
62
48
-1
0
2
80
-55
-2
12
0
-44
50
-17
0
-40
-16
17
-44
-41
-33
0
-4
-10
0
-13
14
-39
-58
12
4
-49
0
46
0
-46
31
96
72
37
32
74
13
16
0
0
-36
8
-104
-18
13
103
8
-71
0
21
0
-15
18
-53
70
-56
20
33
0
19
-23
0
67
92
78
123
-42
-7
0
51
-55
-2
0
-27
-7
-68
-50
-14
0
-131
-57
-51
-13
0
62
42
-28
-2
0
36
4
-44
-51
-47
0
45
-21
-3
0
-48
-66
-14
-49
2
20
0
47
5
0
17
-39
-95
-31
30
48
45
0
15
0
39
-82
-43
22
22
16
-25
17
29
0
0
-91
-35
14
41
39
1
9
-90
0
0
0
17
-7
-121
-105
-49
-6
52
0
35
-44
0
13
-43
-1
-68
48
-2
0
-25
-109
0
0
44
-109
25
-23
15
0
-65
33
-39
37
0
69
-99
9
16
0
-4
-18
-91
3
80
0
-93
71
-30
0
-86
-70
-93
-27
63
17
0
0
13
0
-30
-76
-99
-50
26
49
-63
0
-24
0
14
-58
-129
24
-8
5
18
11
20
0
0
7
-69
-29
49
24
38
26
-93
0
5
0
-2
-8
-43
-61
9
6
27
0
-13
-56
0
-13
-40
18
-27
16
26
0
-83
33
-74
0
-18
41
-55
52
43
0
-59
-109
-47
23
0
3
-60
-33
10
0
-11
-139
-42
-7
82
0
111
41
-9
0
-111
-133
-97
-27
22
-7
0
-19
-41
0
-34
43
16
-5
5
-9
-9
0
-6
0
-1
-4
-43
-116
25
-145
25
98
38
0
0
59
-20
-11
-17
5
46
9
-51
0
0
0
0
-2
-76
-78
-5
0
46
0
-29
-48
0
14
-22
-21
0
0
69
0
-5
-17
-27
0
22
13
-8
0
42
0
-22
-14
-67
66
0
78
39
7
-123
0
-44
-26
-80
-13
24
0
24
0
-74
0
-45
-95
-131
-8
49
39
0
-29
13
0
16
-15
-11
40
28
-9
-108
0
-46
0
0
0
0
-6
-1
-20
0
0
3
0
0
0
0
15
11
38
-2
0
-4
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
-29
2
-6
0
-57
0
0
0
-11
0
4
-15
5
0
4
0
2
0
-23
90
0
-47
0
0
-43
0
0
0
-5
89
15
0
0
0
-41
0
0
0
-44
-25
34
3
0
0
146
0
0
0
-1
14
-30
-33
0
0
2
0
3
14
1
51
35
33
67
28
69
0
0
6
-6
3
64
39
81
0
-43
0
0
0
-8
-5
21
0
0
-6
-71
0
0
0
0
-4
53
-57
46
-4
195
0
1
0
55
0
63
40
-4
0
163
0
0
0
57
1
0
31
0
-5
-4
0
0
0
-53
-33
46
0
3
0
78
0
0
0
31
0
-44
-4
0
0
66
0
0
0
17
-8
-34
10
0
0
2
0
-9
-9
99
15
-45
72
-1
118
13
0
0
0
31
58
110
23
-9
-27
-13
0
-5
0
45
-63
-77
-114
-53
-43
56
0
-1
61
0
-35
-51
89
8
-7
58
0
-2
43
62
0
-86
26
40
-6
73
0
-2
51
101
24
0
6
18
-24
79
0
0
3
35
47
-48
0
15
20
7
0
0
46
27
22
23
-28
0
-2
13
0
-1
14
15
-41
62
56
-14
0
11
0
-38
-29
12
-61
-2
-50
40
-50
57
0
0
24
22
14
5
31
-41
-27
46
0
56
0
52
-85
35
-4
-37
-43
54
0
-31
20
0
-50
9
20
-44
-18
57
0
3
43
-48
0
50
8
65
5
52
0
22
-18
96
-23
0
26
85
-16
-63
0
10
24
56
42
66
0
6
19
43
0
5
3
-32
-52
12
15
0
81
90
0
44
1
4
8
26
-118
10
0
29
0
-61
100
-28
-36
-4
17
57
-14
35
0
0
-43
86
-3
-47
13
82
-62
49
0
-1
0
-22
-47
58
76
25
110
56
0
6
17
0
-32
-54
-8
77
55
79
0
40
-112
24
0
30
38
40
94
27
0
68
7
-21
67
0
69
2
85
46
0
6
13
-29
50
-7
0
-64
21
100
0
-20
-1
38
-88
6
35
0
-21
108
0
-20
-15
32
-78
-133
-48
-23
0
56
0
-22
-37
37
2
22
18
40
-26
24
0
0
-41
-15
61
53
33
-6
49
18
0
-41
0
-36
38
48
12
0
49
114
0
66
-2
0
37
14
37
-52
17
46
0
-74
45
65
0
-4
34
-19
9
41
0
5
10
-26
10
0
-44
0
122
34
0
-30
52
-53
4
6
0
71
10
34
0
13
-33
-25
-52
-53
28
0
-59
-5
0
74
4
-58
-31
-26
-9
-10
0
28
0
38
36
-14
3
29
15
-53
40
11
0
0
-61
52
38
28
0
-56
76
28
0
-2
0
-94
0
6
-9
17
73
52
0
-90
-29
0
-85
46
13
-49
-84
29
0
18
19
-32
0
81
62
-33
-46
-6
0
-5
6
-62
-55
0
30
-4
-19
-5
0
7
1
39
-97
18
0
-87
-105
33
0
-2
2
45
154
55
-50
0
43
42
0
-14
14
6
19
43
54
-1
0
-11
0
53
-98
-4
58
-7
15
-89
-122
21
0
0
-12
-59
13
-2
31
-63
5
-38
0
-30
0
-15
-18
-18
-34
23
1
24
0
-14
49
0
-33
-37
10
-56
1
-17
0
-14
-19
-3
0
-88
51
23
46
13
0
0
1
-46
86
0
0
20
-21
-40
0
-36
-5
5
-51
21
0
8
-23
46
0
-11
-2
-38
60
42
54
0
1
91
0
-2
8
-19
89
42
5
0
0
-27
0
-12
-157
48
15
17
11
-90
-33
-14
0
0
25
-135
-33
73
33
-44
49
-11
0
4
0
-6
-59
51
-13
8
-22
-57
0
0
-1
0
101
26
33
27
2
-39
0
0
1
-58
0
-78
-81
-30
-8
17
0
0
-3
0
28
0
-15
-62
-4
23
0
3
0
-1
24
-19
0
4
10
22
0
0
0
-1
-45
95
-33
0
0
-53
0
0
-2
-2
5
-15
33
0
0
-10
0
0
0
-132
38
36
15
11
0
-77
0
0
0
-16
-45
-8
25
1
0
-105
0
0
0
0
14
-85
-14
0
0
-24
0
0
0
0
22
14
2
3
0
-40
0
0
0
0
0
-16
-117
-1
0
18
0
0
0
0
-1
0
-8
0
0
67
0
0
0
0
0
-3
0
0
0
20
0
0
0
0
0
-13
19
0
0
-21
0
0
0
0
0
2
-5
0
0
84
0
-5
-54
-125
19
67
20
26
6
45
0
0
15
43
96
82
6
-11
-9
-38
0
0
0
-1
103
-14
3
-13
0
2
0
-1
83
0
-55
132
-12
-6
4
76
0
-1
-64
-2
0
21
21
-21
-2
-30
0
93
14
-16
45
0
0
25
0
-106
0
56
9
-92
-24
-50
0
1
0
4
0
53
20
-6
34
12
30
0
1
-40
0
25
-27
41
-9
13
-50
0
0
93
0
0
-24
29
35
-1
94
47
46
33
0
0
47
22
-52
87
57
80
-45
-66
0
1
0
30
92
-31
8
-42
-3
-2
0
4
27
0
-35
-54
-12
13
0
39
0
-5
21
128
0
-19
44
-37
-50
43
0
-31
98
23
89
0
-23
-24
-68
-65
0
39
46
1
-60
-69
0
-74
76
-9
0
-76
50
-25
19
-15
-22
0
-36
-11
0
9
-49
-10
-21
-40
-16
72
0
23
0
-60
53
61
-32
88
40
33
29
51
0
0
29
-23
-47
19
-6
-44
-1
-48
0
0
0
63
4
-37
-48
-76
-24
10
0
106
-40
0
70
-94
35
-45
72
-29
0
91
32
-14
0
-70
-26
-5
-64
36
0
30
73
50
22
0
57
-35
32
-10
0
-93
-113
54
-39
0
0
-62
-32
0
0
-95
-58
-6
-31
6
0
0
-52
-2
0
-11
-10
0
-1
-16
-35
-63
0
-6
0
33
137
-18
52
3
51
22
49
47
0
0
-62
57
62
10
-23
99
3
48
0
18
0
-61
-15
-32
44
44
45
-20
0
-2
70
0
-73
15
-14
16
-56
-4
0
-77
27
-21
0
14
13
87
-5
17
0
6
-150
-29
43
0
68
36
-12
45
0
-45
4
57
53
69
0
-2
-90
-26
0
-43
4
-5
-50
-40
7
0
13
4
0
-14
29
-19
-2
15
14
-20
0
16
0
79
93
56
-48
4
-23
-29
127
-14
0
0
-78
6
-92
-26
74
-77
63
13
0
13
0
54
8
12
-32
50
33
13
0
76
5
0
38
-57
121
16
-63
5
0
5
-28
-1
0
-53
-13
37
18
-6
0
-43
18
0
5
0
18
60
43
22
0
-88
-9
32
22
19
0
-97
36
-13
0
-48
-1
-14
-17
-24
12
0
12
-1
0
-54
-44
20
28
6
-63
-8
0
17
0
28
-67
5
140
-19
11
58
-42
49
0
0
-33
23
43
-12
33
-76
97
33
0
-5
0
4
-62
-80
-33
20
-2
16
0
-52
-20
0
-13
-30
96
-15
23
17
0
17
-68
-19
0
-25
-44
-56
28
8
0
-87
26
14
18
0
-2
-36
1
21
0
24
-14
31
54
33
0
39
-28
-7
0
-48
4
37
-2
-20
-4
0
35
15
0
-51
-48
38
8
7
39
-70
0
55
0
3
-26
62
98
28
-11
11
9
36
0
0
72
-61
-47
-36
16
34
7
10
0
-3
0
-8
-27
-36
65
9
1
-10
0
-104
-42
0
15
13
-3
-56
3
-6
0
-57
-34
38
0
-22
-79
-41
17
5
0
-95
-41
17
-26
0
-14
-10
32
28
0
-35
-11
10
-50
-11
0
54
62
-4
0
-37
-7
25
-16
-11
-15
0
-46
12
0
-90
22
62
-35
24
9
-65
0
28
0
0
-7
-19
-29
8
8
-23
14
23
0
0
5
-33
-81
42
5
99
-3
19
0
0
0
0
32
104
-52
8
0
32
0
-64
64
0
-29
-3
-82
4
0
-27
0
42
50
-34
0
-92
-14
-10
0
-25
0
-36
-21
47
16
0
3
-44
-25
-7
0
9
9
-62
-51
-41
0
69
10
-7
0
110
-46
12
-20
-49
38
0
-37
2
0
-11
-32
-27
12
12
24
-25
0
-7
0
0
0
0
-6
18
-1
1
0
-53
0
0
-1
0
46
-73
47
0
0
57
0
0
0
0
0
0
-6
0
0
4
0
-1
0
0
0
10
7
0
0
-31
0
0
0
-10
0
8
-21
0
0
35
0
2
0
-55
-27
0
14
0
0
-15
0
0
-1
-36
1
38
0
0
0
40
0
0
-74
104
-40
-12
35
0
0
37
0
6
3
2
22
-57
54
0
0
72
0
6
-51
83
34
22
15
12
-15
4
0
0
-23
34
-5
65
96
81
-81
15
0
-5
0
-15
54
65
7
-6
-4
36
0
0
-7
0
51
0
28
66
8
51
0
-25
39
62
0
51
10
125
-3
-27
0
-1
-7
4
86
0
8
34
6
-95
0
2
-1
-4
-80
1
0
8
5
-57
0
0
0
22
37
-26
-15
0
0
28
0
0
2
5
7
-8
-2
0
0
18
0
7
33
0
39
-3
16
-55
61
13
0
0
14
-16
51
70
53
-53
5
45
0
16
0
-21
56
19
59
-52
2
39
0
65
55
0
15
33
11
11
17
49
0
16
-48
50
0
9
16
-18
75
25
0
5
-9
13
88
0
42
-13
40
35
0
-33
7
-38
-55
47
0
-115
-24
5
0
-2
8
12
71
43
16
0
-5
55
0
-1
-3
54
16
74
-4
39
0
42
0
9
-74
29
19
27
14
43
20
42
0
0
53
0
37
80
14
3
-8
54
0
-80
0
19
-13
22
4
135
27
27
0
-25
98
0
-91
-16
22
56
-19
97
0
-16
-56
82
0
6
-6
-56
-10
110
0
7
-52
48
-4
0
93
-66
10
25
0
23
4
13
17
-36
0
-23
-16
59
0
15
-23
43
5
52
112
0
3
15
0
19
8
10
-71
-74
-24
-9
0
-1
0
-60
-10
2
3
41
43
74
-9
28
0
0
-43
-42
85
41
80
45
44
23
0
23
0
-26
-104
62
24
-47
29
-33
0
13
38
0
-32
-37
18
37
-63
84
0
23
-74
31
0
10
54
100
-95
41
0
9
10
106
46
0
112
-37
74
30
0
-7
0
9
121
-1
0
36
-79
13
0
0
5
-68
0
-12
3
0
23
35
0
50
22
-58
83
59
-58
-8
0
26
0
-74
15
9
14
13
8
2
-18
40
0
0
-84
52
5
20
17
21
16
48
0
-61
0
-46
2
3
0
-36
31
49
0
-17
-31
0
-16
5
-39
-77
6
62
0
-1
50
-4
0
-31
40
-84
15
91
0
-24
23
-34
13
0
73
161
63
64
0
-1
65
103
77
-37
0
3
5
32
0
-3
14
-60
-21
-15
23
0
13
-15
0
53
-4
-33
35
-11
21
-33
0
3
0
3
-24
-53
-9
6
-18
56
-17
22
0
0
7
-15
0
-17
28
-54
7
2
0
71
0
-53
-25
1
8
45
67
5
0
-32
-53
0
26
-20
-24
-12
44
35
0
-29
45
-51
0
-14
-49
-39
-43
4
0
16
74
21
35
0
-91
-5
-72
66
0
7
5
-5
-27
13
0
0
111
108
0
26
7
50
62
-20
-90
0
27
22
0
-1
7
-80
9
24
41
33
0
6
0
72
-7
-82
16
34
6
16
-61
55
0
0
33
-80
31
74
26
97
62
32
0
-8
0
36
-59
26
-7
36
-17
3
0
-9
-27
0
-2
-49
-44
-14
14
39
0
22
13
-18
0
-40
-50
-63
141
68
0
0
-3
-12
-48
0
-11
-44
-32
76
0
-14
0
-20
-83
42
0
30
-24
46
0
-8
18
1
4
-68
1
0
2
24
0
-13
-14
71
-33
-8
2
-1
0
-17
0
-63
16
2
28
-5
3
-35
92
12
0
0
-2
7
17
-16
-34
-16
-27
36
0
14
0
9
9
-3
14
-32
-4
74
0
-5
-4
0
-6
43
27
9
-17
72
0
0
-7
-56
0
-8
-64
-5
-3
-53
0
0
0
-8
-22
0
-49
-6
0
-8
0
0
0
-2
6
15
0
-9
0
96
0
-1
-3
-34
-35
22
12
0
-8
90
0
0
0
-3
-1
-4
17
0
0
29
0
0
0
18
-16
10
11
-3
0
22
0
0
0
-25
49
-12
-22
0
0
15
0
0
0
0
-43
19
-61
0
0
81
0
0
0
0
-2
-6
16
0
0
-49
0
0
0
0
0
3
-11
0
0
-2
0
0
0
0
0
0
-29
0
0
89
0
0
0
0
0
-11
0
0
0
6
0
0
0
0
0
0
18
0
0
11
0
0
0
0
0
-7
16
0
0
35
0
0
0
0
5
27
54
10
-12
1
0
0
5
0
0
-2
75
-3
0
83
0
0
0
-2
2
5
-6
0
0
40
0
0
33
0
-73
83
-90
0
-10
4
0
0
16
66
0
-20
29
-4
-3
84
0
2
29
41
-53
0
30
-4
-9
49
0
1
22
28
-19
-38
0
33
0
-15
0
24
-31
96
-21
-36
38
0
-35
39
0
-5
0
138
-44
-33
-2
-34
0
33
0
41
95
62
53
39
27
52
64
8
0
0
-34
15
138
59
-70
-5
39
6
0
-1
0
14
6
69
36
-1
-14
7
0
-46
74
0
11
-109
59
-28
22
29
0
9
81
10
0
-12
4
33
-18
63
0
56
61
97
-69
0
-4
18
-33
29
0
-47
43
76
-72
-40
0
-35
-90
-11
0
-20
12
137
-60
69
72
0
40
26
0
-27
34
77
-42
59
-45
-5
0
22
0
-35
81
31
43
133
9
24
-43
17
0
0
31
134
-28
68
-50
-8
-39
-22
0
0
0
137
63
107
87
13
31
5
0
-14
-30
0
-33
95
29
80
10
33
0
-6
-79
-27
0
12
-6
-20
22
43
0
9
-45
78
8
0
34
-65
70
55
0
1
-37
-75
-27
51
0
-32
-37
19
0
-10
18
34
25
43
34
0
24
13
0
-50
11
-30
-21
-6
-1
19
0
67
0
0
-21
14
41
34
59
40
57
43
0
0
84
-35
27
-13
-5
-52
38
-36
0
1
0
-15
2
25
40
85
5
60
0
36
-29
0
138
-46
108
-74
-17
-27
0
-26
-70
-1
0
7
-5
68
-18
50
0
22
-53
-112
-25
0
59
37
5
42
0
18
0
-62
-18
-100
0
-11
5
2
0
9
14
7
40
19
11
0
19
-32
0
59
-5
-20
7
30
30
-2
0
49
0
17
-8
80
-11
4
-6
18
9
28
0
0
-55
8
-80
-38
28
20
53
-26
0
20
0
-13
10
-36
-33
-50
-6
-47
0
31
-43
0
-6
-68
70
53
-30
-55
0
-6
23
-74
0
-12
26
-110
-8
-63
0
-62
-23
-33
99
0
-59
1
-50
21
0
52
33
-35
-35
-44
0
-34
72
-3
0
5
11
-57
29
62
-31
0
-63
-36
0
-14
-45
-100
54
16
33
-10
0
-2
0
11
-102
-61
-2
-74
46
37
-33
21
0
0
-71
-85
-92
-44
15
71
25
-24
0
0
0
14
-3
-122
-28
-39
-5
-29
0
35
-37
0
-21
39
-53
-68
31
-14
0
-31
-29
54
0
-40
-83
33
-21
11
0
-24
43
-6
52
0
14
2
4
-49
0
11
-34
5
8
67
0
-86
-13
27
0
-56
-20
-83
-37
49
13
0
-5
-11
0
-57
-30
-79
29
-2
100
-6
0
-84
0
-6
-71
-105
-14
-5
-6
-37
28
2
0
0
20
-48
-38
32
53
-45
-71
39
0
3
0
-2
-20
-35
-87
5
6
15
0
-43
-21
0
-17
-22
-27
-1
-19
-1
0
-15
36
-55
0
-29
33
-25
45
-35
0
-45
-49
-79
-100
0
-56
-9
-32
-62
0
-7
-43
30
67
104
0
44
46
-82
0
42
-8
-96
-48
32
-3
0
7
-25
0
30
11
-94
28
-23
-22
-9
0
-43
0
-1
-4
-29
-58
-63
-139
-9
41
32
0
0
11
16
23
-65
-1
90
-6
14
0
0
0
0
-2
-53
-45
-7
0
-1
0
-21
-20
0
13
28
-112
-1
0
22
0
-5
-4
18
0
-2
37
-8
0
-33
0
-26
-18
-77
71
0
60
-11
7
-51
0
-7
-49
-38
23
48
0
21
0
-35
0
-39
-72
-124
11
45
-1
0
-1
-20
0
9
-20
-37
-24
109
14
-47
0
-57
0
0
0
0
-7
5
-63
0
0
45
0
0
0
0
21
-9
-17
-2
0
-4
0
0
0
0
0
-2
0
0
0
-14
0
0
0
0
0
-20
13
-6
0
-43
0
0
0
-5
0
2
-25
5
0
-14
0
2
0
2
9
0
-33
0
0
-23
0
0
0
-5
57
38
0
0
0
11
0
0
0
-18
0
-26
33
0
0
100
0
0
0
-1
35
-23
-89
0
0
24
0
1
15
-19
56
-57
3
29
53
64
0
0
5
-7
3
32
54
56
5
56
0
0
0
-7
19
23
-38
-3
-21
17
0
0
0
0
14
-56
-57
30
-7
90
0
1
0
32
0
148
33
-6
0
151
0
0
0
39
-15
0
79
0
-5
92
0
0
0
-46
-16
13
0
3
0
73
0
0
0
4
10
-45
-20
0
0
64
0
0
0
10
14
6
-5
0
0
8
0
-11
32
-12
19
85
82
-35
26
18
0
0
0
14
99
5
5
4
-21
11
0
-25
0
82
0
-12
41
-5
-45
62
0
0
35
0
-13
117
157
24
-23
103
0
-2
35
40
0
-14
22
8
50
107
0
-1
51
60
59
0
23
5
-23
56
0
0
-5
57
-30
-93
0
23
20
51
0
-1
45
47
-21
13
-32
0
-4
5
0
-1
16
34
-10
-28
40
-2
0
8
0
-18
-21
19
-8
-37
30
-33
-74
33
0
0
74
-39
66
15
82
13
-77
46
0
54
0
55
62
75
5
-54
-3
39
0
-14
20
0
-43
38
37
34
52
115
0
2
10
-58
0
19
96
33
-37
-18
0
-5
-39
75
-5
0
6
104
-14
9
0
9
0
59
50
38
0
5
19
-52
0
-1
10
-19
-80
152
-6
0
27
26
0
25
1
-4
-8
55
-108
-27
0
35
0
-18
9
-3
19
20
34
-42
41
0
0
0
2
38
-20
42
46
43
35
18
0
22
0
-7
100
39
84
115
43
104
0
4
-3
0
-55
16
-84
-48
30
-23
0
32
-71
60
0
6
-18
-14
33
85
0
87
31
-19
6
0
-29
39
36
1
0
5
2
-38
27
66
0
-49
47
58
0
-11
-19
33
-39
7
87
0
-8
-4
0
-1
-7
-6
-28
-41
21
-18
0
27
0
15
-128
30
77
4
9
2
-6
25
0
0
-33
79
-39
-3
50
-51
70
54
0
0
0
-65
-56
35
23
7
7
64
0
21
13
0
26
-34
16
-75
26
-42
0
-49
8
-5
0
-34
-21
76
9
52
0
-23
5
-47
-26
0
24
-18
59
47
0
-31
33
-10
-65
87
0
43
10
95
0
14
-22
-49
9
-29
5
0
19
-40
0
-2
-10
-10
8
-45
-16
-1
0
-6
0
-5
31
-28
47
-17
33
4
52
-30
0
0
-71
56
-17
-37
17
-72
-7
-34
0
49
0
-80
-51
-25
0
-9
-21
36
0
-64
-10
0
-8
-21
13
-3
-48
22
0
19
11
-44
0
-4
25
1
-53
19
0
-5
-13
2
-57
0
4
-15
-16
87
0
9
7
23
-35
24
0
-61
-24
75
0
-2
2
19
7
14
-47
0
37
51
0
-9
1
11
48
7
-16
-1
0
46
0
43
-39
-14
27
62
3
32
-50
4
0
0
-62
-81
-113
85
-117
-54
0
-3
0
-91
0
-29
-101
-7
-70
-38
81
32
0
41
0
0
49
-65
2
31
-60
44
0
17
6
-24
0
23
44
15
15
-60
0
0
1
-90
83
0
-17
-36
17
-108
0
-14
1
-3
-22
-50
0
-3
-17
-9
0
10
-2
-11
60
-32
43
0
0
114
0
-2
8
-26
15
27
16
0
0
-43
0
-6
-71
155
-8
-29
-17
21
-51
-23
0
0
23
-86
144
-47
32
50
55
-68
0
-44
0
49
-39
24
-34
5
-11
-92
0
0
-1
0
33
-33
53
-23
2
-86
0
0
0
-46
0
-59
-16
-33
-2
-24
0
0
-3
0
-5
0
-36
-25
-3
-40
0
3
0
0
17
-6
0
-2
10
-25
0
0
0
0
-31
56
4
0
0
9
0
0
-2
-2
5
15
14
0
0
20
0
0
0
-121
-44
31
-19
18
0
-16
0
0
0
-16
-52
-35
-42
3
0
-43
0
0
0
0
76
-80
-33
0
0
-13
0
0
0
0
15
-62
0
3
0
-49
0
0
0
0
0
-9
-84
-1
0
24
0
0
0
0
-1
0
11
0
0
40
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
-13
21
0
0
-5
0
0
0
0
0
2
-3
0
0
78
0
-3
-56
-26
48
66
15
15
-59
49
0
0
-5
-3
12
-52
40
25
-17
51
0
0
0
-4
141
-20
21
-14
0
39
0
-1
24
0
-26
1
69
0
4
-14
0
0
-65
90
0
-29
24
-11
-2
141
0
59
-23
20
-3
0
45
-8
0
5
0
43
-31
-43
19
-53
0
1
0
54
0
6
-10
5
-13
16
-35
0
1
-26
0
-5
46
-70
-7
-59
-44
0
0
32
0
-2
12
12
-46
22
48
43
49
48
0
0
-18
78
-23
13
11
10
76
83
0
1
0
36
54
9
74
-33
7
-4
0
-35
-5
0
-35
-36
-50
4
13
1
0
6
62
99
0
-63
-23
-161
-19
60
0
-43
48
86
5
0
-50
49
17
-6
0
-51
-31
-57
-32
28
0
-8
105
-7
0
-58
27
53
-80
0
50
0
42
11
0
98
-54
12
26
-10
41
-52
0
25
0
-45
27
-7
-5
-11
19
65
63
-24
0
0
72
-36
75
76
-27
-2
23
-16
0
0
0
6
-14
-22
-61
-58
-26
-51
0
148
-29
0
-25
100
29
-14
20
32
0
31
-3
38
0
50
23
53
-30
48
0
-21
-5
39
-12
0
29
-24
4
40
0
1
-72
15
86
-47
0
-26
-32
-8
0
-31
23
-9
-37
19
25
0
-8
-8
0
-23
-113
-3
-7
48
111
-14
0
62
0
-2
1
92
51
15
-18
-16
8
35
0
0
20
47
-20
12
-14
-13
-62
8
0
17
0
-7
-5
-56
-33
57
45
11
0
-21
14
0
-26
-46
63
13
-58
48
0
-102
-20
-66
0
-59
55
73
-8
-47
0
-14
80
-42
59
0
5
0
-3
-5
0
-4
5
21
-42
126
0
-29
-35
15
0
69
-21
53
63
46
15
0
21
-62
0
-5
-53
42
1
27
62
38
0
19
0
53
34
-8
25
74
0
-25
25
0
0
0
-92
-7
0
40
-61
-104
29
8
0
10
0
42
-25
29
-53
9
32
30
0
48
-12
0
50
-24
27
-53
11
-43
0
-17
21
-21
0
-28
-16
-4
-27
-17
0
60
-49
-51
-18
0
91
0
57
25
0
-16
-56
13
33
10
0
-62
-65
5
0
61
-47
-21
34
-14
-9
0
-41
51
0
-28
-14
-2
-42
-28
-75
37
0
17
0
44
-36
-44
-10
-41
55
-60
-18
18
0
0
-62
31
-29
-11
57
-10
37
-14
0
0
0
5
-63
-81
73
19
1
45
0
-51
27
0
-24
72
70
-36
5
21
0
14
10
-2
0
18
-30
-15
56
18
0
-48
-13
9
48
0
79
-30
-24
45
0
51
2
67
-68
26
0
68
-17
-5
0
-64
3
-23
-39
-14
68
0
-5
42
0
23
-3
-58
-15
23
8
3
0
20
0
1
-25
15
9
11
5
49
12
53
0
0
56
-26
-24
50
5
53
-40
61
0
-2
0
-8
-26
9
68
8
1
-1
0
-59
-6
0
118
-30
-84
-39
-37
19
0
-34
-9
-204
0
62
26
-25
6
-46
0
-83
-39
-55
-62
0
-109
44
-7
-6
0
-57
55
71
-49
-29
0
62
57
-21
0
20
58
2
-16
-31
43
0
25
23
0
-98
70
-62
7
24
-25
-46
0
17
0
0
-8
-33
-40
-26
-32
-24
23
7
0
0
2
-26
-103
-49
8
62
-3
-22
0
0
0
0
29
50
-51
8
0
12
0
-30
-5
0
-21
-11
-67
2
0
-10
0
45
-1
81
0
-50
-46
4
0
63
0
-29
-15
-29
24
0
-57
-15
-20
-69
0
25
33
-142
2
5
0
-19
5
-60
0
-56
-52
-8
-20
-18
72
0
-75
3
0
-14
0
34
57
-15
-5
-21
0
-82
0
0
0
0
-6
50
-7
1
0
-26
0
0
-1
0
46
-44
44
0
0
14
0
0
0
0
0
0
-4
0
0
22
0
-1
0
0
0
15
4
0
0
-63
0
0
0
-3
0
-5
-19
0
0
-5
0
2
0
-97
-7
0
24
0
0
-1
0
0
-1
-15
-33
-31
0
0
0
40
0
0
-56
21
1
16
2
0
0
24
0
6
0
10
-10
10
-61
0
0
33
0
7
-65
-48
64
-9
11
-15
-43
72
0
0
-22
24
103
50
81
68
-75
-40
0
-11
0
0
24
5
-22
33
0
14
0
0
-13
0
106
-45
-13
143
10
91
0
23
46
29
0
42
4
77
-3
70
0
-4
6
39
18
0
14
49
14
-29
0
2
-1
4
-19
-62
0
8
5
-30
0
0
0
7
5
-34
-6
0
0
33
0
0
2
5
27
-24
2
0
0
65
0
-7
-62
-1
6
17
4
-31
1
61
0
0
-20
68
24
26
-7
-17
13
29
0
-11
0
-81
-29
48
7
-7
-29
35
0
54
93
0
-53
-34
51
-19
-53
70
0
-1
-54
22
0
22
99
32
111
187
0
14
14
69
3
0
15
-15
12
51
0
-17
18
-26
-47
-2
0
-49
22
2
0
-6
11
39
51
14
-2
0
-6
63
0
0
2
18
58
-43
4
23
0
44
0
17
43
-6
43
49
68
97
-35
21
0
0
104
-14
30
85
27
-18
-14
27
0
-107
0
-2
74
-27
65
131
-14
47
0
-20
63
0
42
42
72
-59
13
63
0
-6
-31
-10
0
-15
-49
-38
-4
80
0
0
-22
-8
6
0
62
3
37
89
0
18
-2
-45
43
30
0
2
0
63
0
15
-5
5
24
26
-52
0
22
-27
0
16
7
53
5
-9
-34
-20
0
52
0
-79
-43
6
18
52
51
-60
62
14
0
0
5
13
29
25
-44
-110
45
62
0
80
0
-36
-81
32
36
-30
19
71
0
-5
-17
0
-39
60
86
26
-19
24
0
11
-46
11
0
-56
6
127
-1
69
0
-3
-3
30
22
0
137
-46
-64
37
0
-8
-10
-2
109
31
0
30
5
115
0
0
-4
-90
-3
52
9
0
16
89
0
29
3
-32
5
7
-63
6
0
4
0
-10
-3
-34
7
104
-5
-23
55
62
0
0
-3
-9
-7
60
27
50
55
29
0
2
0
21
-59
67
60
2
73
80
0
-3
-37
0
50
-64
-64
-62
90
63
0
2
29
-5
0
5
-9
-126
-71
-8
0
-9
18
-16
-62
0
26
62
10
159
0
0
32
83
-49
-13
0
-53
-21
40
0
-2
-14
2
-30
40
15
0
39
-5
0
37
3
-27
55
43
-8
-27
0
-3
0
53
42
-31
-18
-91
34
-17
-24
8
0
0
-21
-54
-39
61
18
61
101
8
0
-2
0
-27
-34
111
-6
-17
18
-14
0
-26
-18
0
10
21
-28
17
-4
76
0
-16
39
-49
0
12
32
-46
-77
4
0
7
22
-7
25
0
-61
-25
10
86
0
5
8
-10
-43
19
0
10
25
-30
0
-3
5
-2
19
-14
-34
0
-10
30
0
-5
-9
-17
-1
36
8
26
0
-15
0
52
-23
52
27
33
-19
67
-49
8
0
0
-9
-34
40
9
-1
44
-52
29
0
-9
0
93
76
51
77
9
-5
68
0
4
-18
0
-7
-62
-57
-5
-4
-34
0
20
10
27
0
-53
-90
-45
79
35
0
0
-4
-44
-5
0
-48
32
-19
-56
0
-8
0
3
-49
14
0
-2
-13
-4
0
-5
5
39
9
-59
53
0
3
-42
0
-8
-2
20
-17
-9
8
0
0
-9
0
-77
10
44
-32
-42
-23
43
76
16
0
0
-2
-34
-11
-18
44
2
-27
32
0
-12
0
17
109
-50
11
-24
-2
82
0
5
-7
0
-8
-108
28
10
-19
15
0
0
-7
-34
0
37
24
-2
0
-21
0
0
0
-4
-23
0
2
-6
0
-59
0
0
0
-1
6
32
0
-9
0
32
0
2
-3
-7
-23
7
-8
0
-8
85
0
0
0
-3
-1
1
-6
0
0
3
0
0
0
24
31
34
-19
-3
0
-5
0
0
0
-26
16
-11
37
0
0
-14
0
0
0
0
-27
29
-59
0
0
53
0
0
0
0
-2
86
23
0
0
-50
0
0
0
0
0
4
-14
0
0
-58
0
0
0
0
0
0
-27
0
0
36
0
0
0
0
0
-9
0
0
0
53
0
0
0
0
0
0
21
0
0
20
0
0
0
0
0
-7
8
0
0
5
0
0
0
0
0
13
5
2
-2
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
-1
0
0
6
0
0
-1
0
0
3
-14
1
0
14
0
0
0
-21
0
-2
34
5
0
16
0
0
-1
-18
54
0
13
0
0
26
0
1
0
-24
41
12
0
24
-5
-4
0
-2
3
-14
-23
-23
-36
0
-23
64
0
0
3
50
-26
14
1
-17
0
-66
0
1
1
4
30
55
6
-19
34
-23
0
0
4
-1
10
-7
-31
1
-1
-13
0
0
0
-5
0
8
22
4
-1
101
0
-1
9
0
-8
-3
-6
5
-5
9
0
2
7
-22
0
2
6
-9
9
20
0
-11
2
61
-50
0
-53
17
-6
-18
0
0
-13
-5
5
36
0
-2
-5
51
0
11
-44
18
-52
-49
50
0
2
-18
0
-41
-3
1
15
-2
5
5
0
-4
0
0
9
7
3
14
-26
-13
4
54
0
0
-6
50
22
53
43
3
-9
-23
0
0
0
27
10
14
3
-5
2
-24
0
3
-7
0
-10
9
-1
-8
4
37
0
3
-5
5
0
-9
-33
-6
-1
30
0
-4
-11
-13
2
0
14
20
7
-14
0
3
-4
-5
-49
-13
0
-3
-8
5
0
23
52
-61
43
66
36
0
26
25
0
4
0
-20
-23
41
4
23
0
15
0
1
-2
-6
43
-10
26
-4
10
-33
0
0
-18
-1
59
46
33
1
16
-11
0
0
0
0
-5
-54
15
2
-1
-32
0
0
15
0
13
-23
17
-23
-3
19
0
-1
0
27
0
14
11
8
-6
17
0
0
-9
-43
-14
0
63
-20
-2
-9
0
-1
-1
-11
4
26
0
2
4
47
0
-3
-20
58
45
11
-34
0
8
45
0
1
6
7
21
-6
-29
-23
0
-5
0
17
-9
-1
-47
53
13
2
-16
44
0
0
9
-1
-22
14
36
-36
18
55
0
1
0
0
4
-1
-35
10
-4
20
0
0
-1
0
-2
-16
-25
2
1
-20
0
0
-2
-4
0
-26
-14
-8
0
23
0
0
-4
-1
44
0
-21
0
0
14
0
2
-1
9
-10
10
0
-6
-3
-33
0
0
1
7
40
16
2
0
-23
3
0
-15
0
4
50
-33
-62
3
0
22
0
-1
-1
-9
-33
-109
21
43
-18
-22
0
0
0
4
-50
-33
-34
-7
17
5
0
0
0
0
-1
13
0
-4
0
8
0
-5
1
0
-4
18
0
0
-2
5
0
0
-3
16
0
5
-18
0
-4
-24
0
0
-2
8
52
0
3
-5
-1
-84
0
0
1
25
-23
-6
0
4
1
44
0
4
2
6
24
-75
-4
0
7
15
0
3
0
-5
-4
8
-11
-1
0
12
0
-1
0
3
-3
-16
-54
5
-27
-12
0
0
0
-6
-2
-32
-65
2
-25
32
0
0
0
-1
0
0
23
-1
0
-17
0
-3
-8
0
0
1
0
9
1
-40
0
1
0
3
0
5
3
4
0
37
0
0
0
-16
-90
0
30
0
0
-4
0
0
-3
17
-18
-43
0
0
0
17
0
0
27
-20
29
84
53
0
0
-25
0
0
-17
-4
-21
30
26
0
0
-1
0
0
0
0
10
-5
-4
1
4
25
0
0
-1
0
-8
-14
4
4
0
-31
0
0
0
0
0
0
6
0
0
-11
0
2
0
0
2
3
-7
0
0
31
0
0
-1
1
0
0
11
0
0
-1
0
0
3
-2
-6
0
-8
0
0
54
0
0
0
0
0
-8
0
0
0
33
0
2
-2
1
-61
-12
11
0
0
-57
0
1
0
2
46
-16
9
1
0
-2
0
0
0
0
0
-13
-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
-20
0
0
1
0
0
0
0
7
-13
0
0
0
-7
0
0
0
0
0
-16
-59
0
0
-1
0
0
0
0
0
-6
0
0
0
60
0
0
3
2
-8
15
14
0
-10
-8
0
0
0
-1
0
-2
-15
5
-2
24
0
0
0
2
-5
13
73
-1
-3
25
0
0
0
0
3
4
19
0
-1
-21
0
0
0
0
0
21
-23
0
0
37
0
0
0
0
-8
0
9
0
0
9
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
2
0
0
19
0
0
14
-24
24
36
-24
19
1
106
0
0
2
-8
-5
-12
10
-11
2
50
0
0
0
6
-3
14
64
-8
-9
48
0
0
-7
0
25
6
-7
-15
-5
55
0
-2
0
3
0
21
-5
7
1
62
0
0
0
-4
13
0
-5
-2
-1
24
0
0
1
3
-1
1
0
0
0
-43
0
0
0
0
7
1
0
0
0
35
0
0
0
2
1
1
2
0
0
-4
0
2
29
33
-110
37
44
-32
1
-15
0
0
-1
-33
54
-15
54
-4
33
45
0
11
0
16
17
-19
-14
9
5
25
0
-1
-9
0
-14
6
43
19
18
47
0
0
0
-1
0
-44
14
5
-7
18
0
0
-2
14
18
0
25
0
9
12
0
0
2
-1
-4
-6
0
3
-2
-9
0
-1
0
-1
3
17
0
0
0
-15
0
-1
0
-1
-1
3
-3
0
0
-4
0
2
-18
-20
-86
-3
19
20
-9
35
0
0
20
18
-53
29
58
39
-16
1
0
20
0
5
11
-74
-31
10
13
-48
0
-1
11
0
-3
41
33
20
2
-9
0
0
0
16
0
26
-31
-4
1
27
0
-1
0
-3
8
0
-32
16
1
9
0
0
0
0
7
0
0
-1
0
-24
0
0
0
0
0
3
6
0
-2
18
0
0
0
0
-1
6
-2
0
0
15
0
6
-9
7
100
29
-82
33
45
-59
0
0
1
51
-34
-47
13
22
-30
-15
0
3
0
-7
28
32
-98
-6
-13
23
0
0
0
0
25
-3
-60
-10
-10
18
0
0
0
3
0
-15
14
-9
0
8
0
0
0
1
3
0
5
-23
0
9
0
0
0
0
-5
15
0
-6
1
46
0
0
0
0
-1
1
0
0
0
-43
0
0
0
0
-1
-1
-1
0
0
-41
0
4
-35
-20
71
-14
-69
6
-3
-20
0
0
0
36
-9
5
-34
-19
-11
-7
0
-4
0
13
-17
65
-5
-21
-3
1
0
0
0
0
9
-21
-11
0
-2
-5
0
0
0
7
0
7
-29
5
-4
-24
0
0
0
-6
-1
0
-5
-6
3
2
0
0
0
0
-1
-6
0
0
-2
2
0
0
0
0
0
6
-6
0
0
-14
0
0
0
0
-1
1
2
0
0
18
0
7
15
-47
61
-52
25
-5
-7
-2
0
0
0
-15
-35
47
-24
-1
14
-24
0
-21
0
-2
-43
45
25
6
0
5
0
0
0
0
-13
-23
-37
-1
-1
5
0
0
0
0
0
-20
0
0
1
-23
0
0
0
0
-5
0
-3
-2
-2
-27
0
1
-1
0
0
-5
0
2
0
20
0
0
0
0
0
-13
4
0
0
-10
0
0
0
0
0
0
0
0
0
-60
0
0
1
10
17
23
5
23
-23
-9
0
0
0
-1
59
-6
-44
7
14
-43
0
1
0
0
-10
-43
52
4
0
-16
0
0
0
0
2
-9
4
0
0
3
0
0
0
0
0
0
21
0
0
-9
0
0
0
0
0
0
-9
0
0
5
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
-1
-1
0
0
25
0
0
0
0
0
0
1
0
0
4
0
0
0
-2
1
-24
5
-2
0
-24
0
0
0
0
0
46
0
0
0
20
0
0
0
0
0
-32
-54
0
0
0
0
0
0
0
0
-9
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
-31
0
0
-2
-3
33
21
56
3
0
-42
0
0
-6
14
-30
26
56
17
-2
5
0
0
0
10
5
-4
26
-3
0
-9
0
0
-4
0
5
-36
0
0
1
15
0
0
0
-5
0
15
-2
0
0
57
0
0
-1
-1
11
0
4
-1
0
-30
0
1
0
6
0
-2
0
0
0
-32
0
0
9
-33
-52
38
-16
0
0
82
0
0
1
-1
27
3
-4
0
0
-8
0
3
-5
31
-33
17
21
22
-20
-3
0
0
-8
20
4
-31
9
-41
18
32
0
0
0
-8
5
-4
15
3
0
46
0
0
-5
0
-6
43
2
-5
-4
31
0
2
-2
3
0
1
-35
-15
0
-6
0
3
10
5
-12
0
2
0
33
-17
0
-7
2
7
5
-10
0
14
8
-5
0
-11
-29
-13
52
1
-39
0
16
-54
0
4
9
-25
17
36
77
1
0
112
0
0
2
-32
-28
18
-10
17
9
32
0
0
1
16
52
16
-33
-2
-7
-18
0
0
0
-4
2
0
-23
11
3
34
0
0
2
0
0
-23
-4
10
-1
53
0
0
-1
-26
0
-1
6
4
4
14
0
-1
-5
6
-17
0
91
0
-10
58
0
2
1
10
-9
13
0
4
-23
-23
0
5
0
-15
22
-27
8
0
13
7
0
-23
-9
23
-60
33
-19
-27
0
86
0
-2
2
31
39
-33
-6
0
27
25
0
0
17
-1
-15
-27
-20
-10
-2
7
0
0
0
-2
10
4
-31
6
-2
-11
0
2
14
0
3
-13
-2
-3
7
53
0
0
-7
-3
0
-16
6
2
-6
12
0
-6
23
-5
10
0
-26
18
-5
2
0
-1
-10
-4
33
35
0
5
0
101
0
10
33
5
53
-4
20
0
-5
-18
0
-6
-6
7
33
47
-43
19
0
-23
0
-7
-1
-9
-55
2
-53
-35
2
37
0
0
-7
3
32
57
-22
-13
8
39
0
1
0
4
-14
-5
23
-6
0
71
0
0
5
0
2
-13
-24
-9
0
-74
0
0
5
34
0
-16
30
5
-5
-29
0
4
-18
8
40
0
14
-3
0
-1
0
-1
-13
-14
-36
46
0
0
-1
18
0
6
33
47
17
53
-42
0
-5
-12
0
-5
25
-5
5
-53
-15
-3
0
-29
0
21
-1
-8
20
16
51
-7
-13
-24
0
0
2
11
-1
-15
-55
5
1
15
0
0
0
1
-7
-9
30
0
1
10
0
0
-4
0
-8
14
8
0
0
-39
0
0
5
1
0
1
2
-5
0
25
0
-10
-3
27
-44
0
5
2
-1
46
0
9
1
22
-69
-11
0
7
0
31
0
-14
21
-33
-33
-52
60
0
1
12
0
17
-2
-5
14
-25
-8
-4
0
-110
0
0
0
-1
17
-51
-28
21
-13
21
0
0
-3
-21
-14
4
-6
7
0
-14
0
0
0
-2
0
2
1
0
0
-25
0
0
1
0
11
-9
-9
6
0
-5
0
0
4
-9
0
25
-5
2
0
40
0
-2
-2
-25
-6
0
-10
2
0
6
0
0
-5
0
16
18
0
2
0
-1
0
34
17
14
33
35
-16
0
-6
43
0
-3
-34
-5
-2
-17
-19
-1
0
-15
0
0
0
0
-1
-9
-46
0
1
-23
0
0
0
2
-8
-5
18
0
-1
-33
0
0
0
0
0
2
0
0
0
6
0
1
0
0
0
1
0
0
0
47
0
0
-1
15
0
3
-1
3
0
5
0
0
-9
-26
38
0
-33
0
0
-91
0
0
4
-33
19
-16
0
0
0
27
0
1
-49
16
-70
-47
103
0
-2
-14
0
0
1
17
-2
24
-21
1
0
-9
0
0
0
0
0
2
2
0
0
-8
0
0
0
0
0
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
17
0
0
0
14
0
0
0
-2
0
0
0
0
0
-9
0
0
0
0
-4
0
-11
0
0
-8
0
0
0
0
2
-43
0
0
0
22
0
0
0
-2
10
15
-44
0
0
-8
0
0
0
0
9
-16
2
0
0
50
0
-4
4
-15
29
3
19
-20
-2
1
0
0
-2
3
21
9
29
16
1
51
0
0
0
0
50
7
-23
-7
-4
-25
0
0
0
0
14
-55
-11
13
0
56
0
1
0
5
0
47
-53
0
-1
8
0
0
0
0
0
0
2
2
0
-55
0
0
0
1
0
-6
0
0
0
22
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
45
0
6
-47
-11
-10
100
-88
22
3
129
0
0
1
3
70
-6
30
-11
31
5
0
-2
0
-17
-23
-60
-9
14
-10
58
0
0
3
0
3
33
26
-10
-24
30
0
0
0
4
0
14
-19
-10
7
22
0
1
0
2
-2
0
2
-14
-6
31
0
0
1
-2
-1
-5
0
13
-3
-16
0
0
0
-1
0
-2
4
0
1
32
0
0
0
0
-2
1
-6
0
0
27
0
5
10
22
-91
-16
-38
7
-14
34
0
0
29
-45
-12
75
52
25
-14
-10
0
-17
0
0
-10
34
17
16
-2
31
0
0
-1
0
26
-3
46
15
13
11
0
0
0
14
0
15
-18
10
-2
18
0
-2
0
0
-1
0
-13
-7
1
-8
0
0
0
1
-1
0
0
-2
-3
-35
0
0
0
0
7
14
-5
0
0
24
0
0
0
1
0
17
2
0
0
-16
0
-2
2
-17
23
-53
37
12
25
47
0
0
6
62
-36
28
-66
-20
24
17
0
9
0
-3
25
19
26
-16
0
-59
0
-5
4
0
-8
36
-20
18
13
70
0
0
0
-7
0
-48
17
5
2
12
0
0
0
-14
11
0
5
-2
-1
61
0
0
0
0
0
1
0
1
0
17
0
0
0
-3
1
1
1
0
0
-4
0
0
0
1
1
4
0
0
0
3
0
-5
23
14
89
10
-6
59
5
-16
0
0
14
-4
15
23
-18
24
-23
56
0
6
0
0
-31
-20
40
-10
9
27
0
-1
-3
0
-5
-33
-6
-34
-7
55
0
-1
0
18
0
7
-8
-6
-5
24
0
0
-1
3
-3
0
-2
-2
0
21
0
0
-1
0
0
-3
0
-6
0
43
0
0
0
0
0
0
0
0
0
-18
0
0
0
-2
1
2
-1
0
0
-13
0
18
-30
6
33
-12
73
-47
-4
-33
0
0
-3
-15
-74
-17
-64
16
13
5
0
-3
0
45
10
104
-15
-4
-9
17
0
-1
4
0
-34
6
-33
17
-3
-42
0
0
0
-7
0
-17
1
-6
0
9
0
0
0
1
6
0
2
-1
2
28
0
0
0
0
0
0
0
1
0
-16
0
0
0
0
0
4
0
0
0
-35
0
0
0
0
-3
-2
0
0
0
-23
0
8
19
-5
46
-53
-16
14
-10
24
0
0
-4
13
0
-42
7
3
-24
33
0
-5
0
21
-5
1
-3
3
1
72
0
1
1
0
20
-2
3
-6
0
-6
0
0
0
0
0
-13
26
1
0
-12
0
0
0
-2
0
0
-9
0
0
-53
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
-1
0
0
0
-34
0
-3
3
-45
-12
22
14
22
0
-12
0
0
0
1
20
-11
43
-3
0
-6
0
8
0
-1
-29
-46
9
0
0
-35
0
0
0
0
0
26
-45
0
0
-44
0
0
0
0
0
0
9
0
0
5
0
0
0
0
0
0
2
0
0
31
0
0
0
0
0
0
0
1
0
-28
0
0
0
0
3
1
0
0
0
20
0
0
0
0
0
0
-1
0
0
-41
0
0
0
-6
-25
58
3
0
0
-15
0
0
0
2
-10
-16
15
0
0
-24
0
0
0
0
-2
-8
-15
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
43
1
1
4
20
0
29
0
0
0
0
0
0
0
0
0
0
0
10
2
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
155
0
0
0
0
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
52
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
109
0
-10
0
3
1
96
0
0
0
0
0
0
0
0
0
0
0
23
-3
0
0
0
3
1
0
0
0
0
0
15
-57
-22
10
-5
83
-2
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
-60
-1
0
8
0
-4
0
-1
-5
15
3
-58
-1
-1
0
13
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
-88
0
0
0
0
24
8
-32
138
93
23
55
97
103
136
-37
0
0
0
0
0
0
0
0
0
0
3
4
10
0
0
0
152
-4
-14
-3
-6
40
34
105
23
0
0
53
56
109
24
-23
0
-84
11
-15
33
25
-45
0
83
0
-82
-2
-25
-34
75
0
-15
0
0
0
0
16
0
32
221
66
-23
-12
166
129
11
15
0
0
0
3
0
17
-2
3
-3
0
-20
-40
-43
-21
26
0
84
0
0
0
0
133
25
161
181
34
191
154
194
157
108
39
0
-11
0
0
-34
16
21
0
-36
0
-17
19
62
-49
8
0
71
0
0
0
0
21
3
44
-3
3
54
-29
120
195
0
44
0
0
0
7
3
32
58
0
13
0
4
93
-8
183
43
0
-4
0
0
0
0
0
1
-52
5
18
63
54
34
23
2
73
0
0
0
0
0
1
18
0
0
0
0
25
46
-2
-3
0
52
0
0
0
0
0
0
-52
37
90
44
-16
127
98
-7
-66
0
0
0
0
0
0
0
0
0
0
2
2
9
-8
0
0
-32
-27
-32
-88
9
26
136
28
14
0
86
8
9
39
18
-19
0
-34
5
4
-20
-19
1
-19
-18
0
-168
-28
-34
-20
-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
-29
0
0
0
0
0
0
0
4
-35
38
-2
14
0
-10
-45
0
-3
0
0
-3
66
26
-4
11
0
0
0
3
9
-4
0
-34
0
0
0
0
0
0
0
-1
-1
0
1
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
59
3
1
0
-4
2
1
-12
0
-20
0
0
-1
19
0
0
-2
0
0
0
0
8
0
0
-2
0
0
0
0
0
0
0
41
-103
0
56
-9
2
0
17
0
43
0
18
2
-13
2
1
0
0
0
1
-1
-3
0
0
31
0
0
0
0
-2
-32
0
-65
31
54
13
-101
70
15
8
0
69
0
-23
46
-33
-22
10
-31
0
-23
24
22
2
9
0
-9
0
0
0
0
-1
0
0
25
-9
3
-82
104
25
16
-45
0
-2
0
-1
0
0
0
0
3
0
90
0
-5
-9
0
0
1
0
0
0
0
0
0
0
0
0
0
-44
0
2
0
-46
0
12
0
-2
-4
45
6
0
-26
0
40
-49
-54
-17
24
0
-19
-26
-9
-19
15
65
21
0
177
-69
123
-14
111
118
75
-30
0
5
0
0
-81
2
5
8
-9
0
20
-77
-10
-45
-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
-1
38
10
0
130
-43
103
31
229
157
147
-21
0
1
0
-1
1
-117
-30
-21
-60
0
28
35
-36
26
-65
0
0
2
6
0
64
61
124
-19
4
-26
144
-31
65
-27
-20
-12
0
21
0
1
50
-62
-8
-23
-47
0
-90
-15
7
-100
-89
0
-36
-6
14
1
0
-3
1
0
189
3
333
2
-34
137
183
2
0
71
-1
99
-25
-1
39
1
-21
0
20
-17
0
1
-20
0
28
-3
0
0
3
11
90
73
-65
-9
90
4
-117
-5
41
4
0
52
-4
-17
49
-9
-6
-5
-33
0
-30
-111
-16
26
-22
0
-45
-16
0
0
0
-41
1
0
-81
-77
85
10
-143
14
1
-37
0
79
0
0
-5
-39
0
0
56
0
51
-59
56
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
21
-7
1
0
-132
-46
64
31
35
3
1
71
-18
-2
14
0
0
0
0
0
0
0
0
1
0
-1
-37
5
-1
0
0
0
0
0
0
0
-2
1
0
0
1
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
-4
0
3
4
28
0
-7
1
10
0
14
0
0
0
0
0
0
0
0
1
0
3
13
-7
0
0
0
0
-1
0
0
0
-4
0
4
0
63
0
-58
0
2
4
45
0
0
0
0
0
0
0
0
0
0
0
-9
-19
0
0
0
0
0
0
-1
0
0
0
126
119
76
2
55
61
-16
9
-33
0
0
0
0
0
0
0
0
0
0
-4
-29
71
5
0
0
-47
-5
0
6
1
2
0
71
-5
58
1
-48
48
-14
0
85
0
0
0
0
0
0
0
0
0
0
0
2
-52
-18
0
0
0
0
0
0
0
0
0
0
0
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
3
0
13
120
29
121
131
38
68
118
100
65
169
-31
0
3
-9
0
0
-2
0
0
6
0
6
-43
18
-5
0
0
54
0
3
-8
10
24
138
123
68
0
81
5
31
65
12
-16
0
-12
1
-21
167
4
63
-24
-62
0
1
-35
-23
4
-15
0
3
0
0
5
0
69
-3
44
155
6
-10
24
113
99
82
21
0
6
0
3
2
88
-14
-7
-22
0
-33
-62
-74
-57
-55
0
30
0
0
0
0
144
48
132
169
-2
188
-1
135
121
116
-27
0
12
0
-3
-81
-66
-59
1
43
0
-35
-24
-97
-29
-41
0
47
0
0
1
0
161
-9
169
125
-4
5
13
170
164
15
17
0
-20
0
7
-5
-48
25
0
-79
0
-26
100
18
-52
-30
0
36
-2
0
0
0
1
5
176
56
82
71
22
53
33
38
-5
0
-1
0
0
-2
3
1
0
0
0
-1
88
-53
-1
-7
0
19
0
0
0
0
10
-1
86
105
36
117
75
94
53
-4
25
0
0
0
-2
0
0
0
0
0
0
1
4
48
-37
0
0
-64
-18
-104
-50
-19
46
80
26
3
0
28
-12
6
9
23
-6
0
-12
-4
22
-20
-11
-2
12
-31
0
-63
-3
6
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
-64
0
0
0
0
0
0
0
-27
-30
178
-37
-7
0
-5
-42
0
-8
0
-4
-2
11
-12
-44
46
0
0
0
3
34
41
0
-25
0
0
0
0
0
0
0
0
-1
7
7
11
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
24
-27
-1
0
-11
0
0
-22
0
-12
0
0
7
58
-23
-14
-3
0
0
7
1
0
-4
0
35
0
0
0
0
0
0
0
-12
-59
0
42
25
9
-2
32
0
53
0
-21
1
-2
-1
51
0
0
0
-2
-17
-7
0
0
-14
0
0
0
0
-7
-39
0
-67
-63
159
32
37
-91
14
-1
0
-10
-18
81
70
81
-1
100
57
0
-5
-57
-37
-14
14
0
-23
0
0
0
0
-10
0
0
68
-55
106
-32
-6
-45
-32
7
0
-4
1
13
0
-5
0
-3
-85
0
55
79
68
-109
4
0
3
0
0
0
0
0
0
0
0
0
0
-7
0
-5
0
-14
0
-17
-3
-38
-7
22
9
0
-8
0
-8
-2
26
-5
49
0
-33
29
5
-33
-36
105
25
0
76
-13
332
-31
137
-103
-65
-18
0
27
6
1
-71
-38
19
75
-11
0
-28
12
11
23
-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
41
9
4
-7
15
53
0
65
4
168
-1
113
27
72
-10
0
-33
0
-1
3
-177
6
-9
8
0
73
-82
-83
43
15
0
0
-8
-5
4
19
26
78
-114
19
13
210
25
36
-38
57
-3
0
14
68
-2
-31
-59
38
-45
-81
0
4
6
-47
16
-108
0
-11
24
-15
7
-2
26
100
0
36
26
215
-17
124
-5
89
2
0
-39
34
-31
40
-78
-6
-21
-25
0
54
31
-22
1
18
0
-3
-15
0
21
3
158
121
8
52
-48
373
9
47
50
89
12
0
15
-24
-10
-58
65
24
-9
-88
0
-14
-23
-33
27
-27
0
7
-47
0
-4
0
-51
4
0
-50
-15
155
-30
-37
-29
4
4
0
71
1
-5
-2
-102
-2
-11
35
0
-23
-37
10
71
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-157
-30
31
25
42
3
0
72
-21
7
19
0
0
0
0
0
0
0
0
1
0
-1
-45
-8
-1
0
0
0
0
0
0
0
-2
1
0
0
-9
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
-2
0
3
4
3
0
-7
0
10
1
-88
0
0
0
0
0
0
0
0
1
0
3
18
-5
0
0
0
0
-1
0
0
0
-8
0
4
0
-19
0
-66
0
2
4
15
0
0
0
0
0
0
0
0
0
0
0
-8
-22
0
0
0
0
0
0
-1
0
0
0
147
105
-7
4
-3
-18
-13
15
-56
0
0
0
0
0
0
0
0
0
0
-4
-20
67
5
0
0
17
-5
0
6
1
2
0
92
19
-28
1
15
60
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
2
-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
-62
-2
3
0
13
45
23
145
68
-1
35
-26
-66
-48
70
-62
0
3
-9
0
0
-2
0
0
6
0
6
-62
32
-5
0
0
32
-2
3
-8
11
17
88
20
-54
0
-28
-13
2
-18
84
25
0
56
27
43
125
23
8
-50
15
0
52
22
33
14
55
0
-17
0
0
5
0
46
-2
98
4
-4
-33
16
-43
36
26
7
0
6
0
3
2
-4
5
-9
15
0
-27
-69
25
-44
-52
0
-64
0
0
0
0
66
35
86
-63
-47
17
-29
-43
11
-16
-47
0
14
0
-3
-53
37
-48
0
93
0
-26
-25
-65
-43
-22
0
-35
0
0
1
0
85
-6
264
42
-36
24
0
77
-1
45
-69
0
-21
0
6
-10
-116
50
-1
-75
0
-29
-14
-144
-90
-7
0
-79
-2
0
0
0
1
5
122
49
-76
57
19
53
32
-9
-42
0
-1
0
0
-2
3
-3
0
0
0
-1
-13
-61
-1
-7
0
20
0
0
0
0
10
-1
171
68
23
128
48
5
-4
-4
8
0
0
0
-2
0
0
0
0
0
0
1
0
4
-17
0
0
-29
-37
-60
-65
13
45
55
29
9
0
18
-7
18
10
16
6
0
-20
-23
16
-17
6
-2
-22
6
0
-27
6
1
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
-70
0
0
0
0
0
0
0
3
-37
78
-29
16
0
-5
-10
0
0
0
-23
-2
7
4
-14
9
0
0
0
22
34
-5
0
-15
0
0
0
0
0
0
0
0
9
7
7
11
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
-58
-1
1
0
-4
0
0
-41
0
13
0
0
5
46
-23
5
-3
0
0
7
0
-1
-2
0
-3
0
0
0
0
0
0
0
-10
23
0
-13
32
8
-2
18
0
29
0
-18
1
1
-2
5
0
0
0
-2
-17
-6
0
0
-45
0
0
0
0
-7
-35
0
-106
17
57
14
69
-5
2
3
0
-62
13
-19
10
51
48
35
-14
0
-14
33
54
-6
21
0
4
0
0
0
0
-10
0
0
66
33
105
-42
19
-2
-15
14
0
-4
1
4
0
5
0
-3
-80
0
29
126
24
-100
4
0
5
0
0
0
0
0
0
0
0
0
0
14
0
54
0
-2
0
35
-29
5
78
14
-23
0
2
0
33
-6
20
40
32
0
13
-10
47
-17
-69
86
-13
0
-12
21
176
-56
98
-186
14
-13
0
-16
0
-24
-23
-58
-16
45
5
0
-80
-11
-26
25
-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
36
6
1
-5
14
45
0
71
14
51
-21
-8
59
-88
-34
0
-26
0
0
6
6
-3
72
31
0
44
-9
-93
-4
5
0
0
-22
-6
10
-45
-43
-49
-217
12
58
98
-73
-24
8
3
1
0
-89
41
-56
-27
7
13
76
-58
0
-12
-53
-16
63
-8
0
4
49
-14
7
-1
77
131
0
-37
54
13
-23
-81
-52
98
0
0
-102
-29
-82
4
-22
46
32
-75
0
22
-3
23
10
63
0
-32
-15
0
20
2
43
54
-39
-62
106
174
-16
-72
30
80
10
0
-20
-24
53
-77
-27
6
15
-36
0
-26
7
24
28
-31
0
2
-15
0
-4
0
-29
4
0
5
-5
64
-18
60
-108
0
52
0
80
1
3
-5
-71
-1
-14
-94
0
-29
78
-89
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
-1
5
0
0
11
0
0
0
5
0
-28
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
-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
-3
0
-1
0
0
0
-33
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
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-45
0
3
-1
0
-1
-47
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
-79
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
-99
-1
0
0
0
0
0
-13
-7
-33
7
-28
19
16
-7
-71
0
0
-3
0
0
0
0
0
0
0
0
3
6
0
0
0
6
0
0
0
0
18
2
-2
-48
0
-51
5
-75
-70
4
39
0
6
0
32
10
40
37
-13
32
0
-26
52
-23
-6
19
0
-26
0
0
0
0
0
0
-5
44
7
-2
-4
-8
3
2
19
0
-1
0
-1
0
-4
11
-1
5
0
0
-10
0
-11
-1
0
-81
0
0
0
0
4
0
53
-130
15
4
-27
-11
-11
-39
-12
0
-1
0
0
5
8
-2
0
36
0
9
4
-26
1
1
0
-13
2
0
0
0
0
-1
9
-55
31
-5
-49
-21
-33
0
-12
0
0
0
0
0
1
-1
1
-25
0
9
-10
-33
-21
-7
0
-23
0
0
0
0
0
0
6
3
-43
2
9
-3
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
-11
-11
0
0
0
-39
0
0
0
0
0
0
8
-9
-4
0
8
4
0
0
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-34
61
8
-18
21
4
4
51
0
-23
4
34
169
17
18
0
-33
41
24
-51
4
-14
33
-20
0
-27
-5
15
-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
-5
0
0
0
0
0
0
0
6
-11
-3
0
0
0
0
14
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
-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
3
0
0
1
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
-2
0
4
0
0
0
-53
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
45
0
-12
5
5
0
-32
0
-8
1
4
0
9
7
2
-5
0
-2
-3
2
2
-1
0
11
0
0
0
0
0
0
0
1
4
0
-5
6
-1
0
31
0
0
0
0
0
2
0
0
-2
0
-2
18
0
7
4
0
1
0
0
0
0
0
0
0
0
0
0
-29
0
23
0
24
0
20
0
9
8
-25
-9
0
32
0
13
-13
-48
10
7
0
-13
-33
17
0
2
-5
1
0
-37
38
18
-64
1
-30
8
15
0
5
0
7
-10
-1
-6
22
-37
0
14
33
14
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
23
-2
-21
-43
-33
-3
-19
57
0
-1
0
0
0
13
-15
24
16
0
13
35
9
-6
5
0
0
1
0
0
-5
68
-21
-11
-23
-11
6
-67
-14
7
12
12
0
-18
2
-11
9
-4
-6
36
4
0
6
-33
-26
63
29
0
-10
2
-2
0
0
-3
1
0
-43
-18
22
77
-71
14
-2
41
0
-1
4
-14
0
-19
26
-30
2
0
-49
-32
10
-43
-6
0
-9
0
0
0
0
-11
-10
-15
53
44
10
-20
17
11
23
0
0
1
-4
1
9
-6
-20
-4
5
0
-18
-24
16
-25
-8
0
16
1
0
0
0
0
0
0
1
4
0
-7
11
-4
0
6
0
7
0
-2
-1
-3
0
0
-16
0
1
14
9
3
0
-20
-55
-4
-51
17
-14
-75
-28
20
-80
-85
-66
-55
-41
-51
-7
-16
15
-80
-30
-55
-69
-35
-21
-7
-19
-75
14
39
50
17
63
-70
-12
-15
-18
0
0
0
0
0
2
27
0
0
0
33
33
-31
-31
5
19
1
0
0
0
0
0
2
71
0
0
-39
-35
51
98
5
11
4
-2
0
0
0
0
5
91
34
74
-27
53
36
-17
41
-14
-3
-2
0
0
0
0
0
39
-33
45
23
-18
-55
-47
-3
-5
-14
55
23
0
0
0
0
0
-29
-5
8
-31
37
6
-51
5
-10
8
-19
6
0
0
0
0
0
-11
-20
-3
-2
-65
15
33
32
15
17
-21
2
0
0
0
0
0
6
-106
-52
-41
34
12
24
-49
14
3
5
0
0
0
0
0
0
0
-90
-102
26
8
-24
5
63
-3
0
-2
0
0
0
0
0
0
0
0
-8
-8
57
-19
-5
15
-2
3
0
0
0
0
0
0
0
0
2
17
0
0
0
71
11
57
5
3
0
0
0
0
0
0
0
5
-61
0
0
27
103
18
0
24
0
2
0
0
0
0
0
-1
18
-47
61
65
73
-61
19
6
15
-1
0
0
0
0
0
0
0
17
14
81
58
-16
-70
-62
-6
-6
0
0
0
0
0
0
0
0
15
65
11
-51
-11
-64
2
2
1
-1
0
0
0
0
0
0
0
-29
-81
8
-42
-14
-11
-1
1
-6
0
1
0
0
0
0
0
0
-9
-9
-8
-55
2
-12
34
3
1
-1
0
0
0
0
0
0
0
-5
-48
-21
14
61
-13
-11
0
-5
0
1
0
0
0
0
0
0
0
32
-2
54
19
-1
-4
0
0
0
0
0
0
0
0
0
0
-53
-95
0
0
0
4
0
20
-14
2
2
0
0
0
0
0
1
16
75
0
0
14
69
-6
9
-16
5
6
0
0
0
0
0
-5
-34
-17
55
14
47
-3
13
1
-29
31
0
0
0
0
0
0
1
-17
-78
71
55
10
27
16
-13
-2
0
7
0
0
0
0
0
-3
49
1
103
68
-27
27
14
-3
5
-1
0
0
0
0
0
0
0
-33
60
55
-16
-1
-48
22
19
-3
0
0
0
0
0
0
0
0
-7
-111
25
-96
11
10
18
8
0
-1
14
0
0
0
0
0
0
0
-33
79
5
43
-23
3
0
1
0
0
0
0
0
0
0
0
9
-68
-19
-45
-18
8
10
-3
1
0
6
0
0
0
0
0
0
68
22
0
0
0
26
3
4
0
-2
0
0
0
0
0
0
10
-18
-39
0
0
-11
40
-28
27
25
0
0
0
0
0
0
0
44
115
5
27
62
75
-33
44
20
3
-2
0
0
0
0
0
0
35
-99
-74
40
32
22
-38
14
2
-1
2
0
0
0
0
0
0
-52
-34
15
-8
-81
-19
-21
-5
-3
-3
8
0
0
0
0
0
0
22
72
-60
-17
-14
-17
-19
15
6
1
0
0
0
0
0
0
0
0
40
-23
7
-55
-29
8
-36
-2
2
0
0
0
0
0
0
0
0
36
53
-27
-66
-55
-11
14
9
-2
0
0
0
0
0
0
0
0
0
0
10
-35
44
-36
9
-2
0
0
0
0
7
-10
25
95
55
4
68
0
0
0
-23
23
14
45
15
-1
0
5
-49
37
24
31
-17
4
0
0
0
-69
48
-27
20
15
-6
-1
-58
53
98
-35
33
-14
21
12
-5
2
-28
50
16
-25
28
-1
1
16
-27
-19
17
-31
-30
-5
-26
58
-21
24
93
36
14
-22
4
-1
-22
-9
62
41
-2
-14
-21
-44
-33
38
-11
55
-7
-13
18
8
0
-16
-106
0
31
9
-15
17
-31
-20
-14
-3
-36
-21
34
14
0
-1
45
2
6
44
17
-52
-18
50
1
10
29
60
-14
-5
-1
0
0
5
41
5
20
-72
106
-58
54
-58
-20
42
18
-8
-13
15
5
3
-3
75
-29
-23
16
-23
35
34
3
23
-1
-17
4
9
0
-1
0
-14
71
28
-32
2
19
29
0
0
0
-7
5
-24
-14
5
5
-11
16
69
32
53
32
-51
-34
0
0
0
30
-17
-8
11
6
-14
-8
16
-7
46
63
7
8
5
-39
96
-3
60
17
-45
-37
38
28
0
-56
32
23
12
2
-24
2
32
39
-1
-29
3
-28
-38
63
29
6
-60
2
92
44
-9
36
-66
-63
5
-29
12
21
-5
-5
-4
24
0
-5
3
135
15
7
63
-39
12
2
1
15
8
3
-2
44
1
3
-54
-21
7
31
-30
27
78
-50
-13
32
-44
17
-13
-5
-5
1
-1
8
19
-1
-65
55
7
87
-23
16
1
30
-33
53
24
16
-26
1
16
11
26
-7
31
23
-14
16
90
24
-48
17
10
33
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
-15
11
9
7
-1
-104
0
0
0
5
-24
18
14
14
-4
0
-13
-14
-8
16
26
-56
-12
0
0
-34
-25
6
5
-16
1
-2
0
0
-4
7
6
23
-13
8
4
-11
-57
-16
9
-34
0
9
0
0
-5
-1
-4
7
-9
5
35
10
-2
106
5
-6
-2
-11
0
-1
0
-16
4
-6
-2
2
-14
-69
16
19
-31
-23
-11
-1
19
4
0
0
8
1
-9
-41
6
3
85
-14
13
36
19
37
-14
-2
5
-2
0
33
-2
16
-72
9
-17
-28
2
-88
-5
-23
-1
-3
1
-3
0
0
-23
14
-36
0
22
-36
-18
-106
-64
15
31
36
-6
11
31
1
0
0
-6
-15
8
-24
-24
-4
-10
-17
-45
2
-2
0
0
0
0
1
-74
14
-5
-4
3
10
79
0
0
-71
-18
-58
-14
-14
-2
0
0
-23
-29
-7
-7
5
2
30
47
-19
-19
36
-20
-65
-23
5
-1
0
6
-3
-9
-2
-3
-11
57
66
67
21
-74
41
14
6
-4
0
0
-69
-34
-4
-6
-4
-2
-21
-67
-113
-68
-47
43
-5
-9
0
0
0
50
-20
-7
0
-12
-18
10
-51
-73
-123
22
-4
38
31
-1
0
0
-39
30
8
4
-8
-20
5
-67
-43
-100
62
-4
6
-7
0
0
0
-35
12
9
1
-12
-28
-25
0
-27
-65
-1
-7
43
0
0
0
0
33
-1
22
-14
-16
-60
-75
-93
-98
-18
82
-45
7
-1
0
0
0
30
-105
58
4
-70
-88
-74
-26
10
-38
12
7
2
0
0
0
0
0
-11
57
-66
15
-149
-22
0
0
-3
10
11
0
1
0
0
0
10
3
-4
20
-64
-38
-72
-122
-83
-2
5
-1
-2
0
0
0
0
-10
2
-1
44
-3
-14
-99
30
-61
-21
6
-3
-3
0
0
0
0
-1
-4
34
36
-31
24
32
-100
-48
34
0
2
6
0
0
0
0
4
18
5
-31
-5
-46
-19
-77
-66
-17
0
-1
1
0
0
0
0
5
1
-18
14
47
-31
-39
-77
-25
-2
10
-4
0
3
0
0
0
3
-1
16
-36
-8
36
32
20
-89
-15
-9
1
15
0
0
0
0
6
0
5
-22
2
17
16
69
50
-4
8
-1
0
6
0
0
0
-4
-3
-18
9
0
77
-4
18
82
2
0
-2
9
0
0
0
0
14
-19
-1
3
13
0
-61
-40
0
-7
0
0
0
0
0
0
0
-28
-18
4
-13
-2
-12
0
-82
9
-2
-4
-11
-9
11
0
0
0
-3
-9
20
15
33
-26
25
-9
87
-18
-7
-18
0
0
0
0
0
-3
-8
-57
-11
26
22
46
-46
-23
-17
0
0
-3
0
0
0
0
-2
-2
16
-14
52
-12
-33
-74
-29
-7
-18
0
6
0
0
0
0
-4
-4
-10
-12
-19
41
-36
-98
-37
2
-1
-6
0
0
0
0
0
-30
-10
-14
-22
20
1
-42
-70
-15
-5
-2
4
0
0
0
0
0
-20
-10
-12
18
-39
-52
-59
-33
-68
-11
4
11
5
0
0
0
0
-13
-7
47
-36
-44
-29
8
-2
13
3
-2
0
0
0
0
0
0
-11
1
-6
-10
9
23
-34
0
0
-56
23
8
-8
2
-3
-1
0
-14
-1
-16
0
29
-16
-17
0
41
0
5
20
7
5
-1
24
0
-21
-14
-4
-7
-8
-18
22
20
80
98
25
27
-27
-1
13
-1
0
-57
-1
-8
-13
-5
5
56
111
-17
-10
-63
15
-16
1
0
0
0
-25
-29
-9
-11
-18
7
-13
47
-21
-64
2
-31
5
-18
0
0
0
-33
-15
-9
-27
-11
-3
12
4
-22
14
-34
-5
-31
11
0
0
1
-7
2
-6
-32
-31
-25
38
82
-43
-34
-27
-3
0
-10
0
0
0
0
-76
-7
10
-34
36
-2
-14
-86
-32
26
-31
-14
-7
0
0
0
0
-2
-33
68
-17
-5
-14
-32
3
-5
1
0
-4
-2
0
0
0
48
-17
12
-61
3
-39
-1
-63
0
35
-60
-25
0
0
0
0
0
-13
-5
-24
17
-2
-20
30
0
-116
0
-68
41
1
-1
0
1
0
-7
-16
2
0
16
0
25
-59
3
-24
-50
4
-6
9
0
2
0
-2
-14
-13
0
7
-18
38
-16
7
-7
20
-17
-1
1
0
0
0
3
-15
-14
30
-33
-34
50
48
-39
-79
21
-14
-17
1
0
0
0
-68
-23
-4
0
-37
-28
-62
30
44
-46
42
8
-5
-3
0
0
0
48
-10
-5
3
-19
26
18
56
-18
52
-42
13
2
-1
0
0
0
-74
0
-14
19
-27
-18
-4
40
94
72
-13
4
0
1
0
0
0
-9
-74
-42
-9
19
-149
-14
68
113
-1
0
0
0
0
0
0
0
-9
-4
-1
-15
14
30
73
0
0
0
-4
-11
8
-2
1
0
0
0
-5
-1
0
19
23
25
-76
0
17
11
11
29
1
26
-1
0
-12
-1
-4
0
18
2
15
-59
-5
0
52
-3
0
4
0
2
0
-2
-3
2
3
26
3
3
-70
-51
2
51
18
15
0
-1
0
0
29
-7
-10
5
8
18
-2
17
68
-10
-33
-14
0
0
-2
0
0
-10
-5
0
1
5
-4
-17
26
1
26
-9
-1
0
1
0
0
0
-6
13
0
18
9
30
19
86
16
60
54
13
1
0
0
4
0
3
13
19
-11
90
85
-4
0
11
49
-18
-9
2
-1
0
0
0
-49
5
101
-21
11
42
-31
35
-70
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-2
89
9
2
7
118
-34
0
0
0
0
0
0
-2
0
0
0
-52
-49
-2
-2
68
-118
-61
0
0
0
0
0
0
-2
35
-30
14
-13
107
44
-20
57
-78
-15
0
0
0
0
0
0
0
-23
-14
34
50
-34
45
60
11
-14
-53
0
0
0
0
0
0
0
-3
11
-9
-4
79
38
66
-1
-72
-1
0
0
0
0
0
0
0
22
18
17
48
-10
36
-5
-7
70
-32
0
0
0
0
0
0
0
-1
-8
5
18
-100
-61
30
23
9
39
0
0
0
0
0
0
0
0
1
3
6
-13
-11
37
51
10
11
0
0
0
0
0
0
0
0
0
-2
2
-1
25
-22
97
-29
21
0
0
0
0
0
0
0
0
0
0
-4
37
29
-49
-120
-65
70
0
0
0
0
0
0
1
0
0
0
-31
-26
100
75
-47
100
3
0
0
0
0
0
0
0
3
-2
-17
-7
38
6
28
-17
-106
-36
0
0
0
0
0
0
0
0
0
3
0
49
-41
2
4
30
-40
0
0
0
0
0
0
0
1
0
1
0
45
24
49
103
104
57
0
0
0
0
0
0
0
0
0
1
1
32
66
34
-33
-34
4
0
0
0
0
0
0
0
0
0
0
-2
0
-8
82
33
8
72
0
0
0
0
0
0
0
0
1
2
0
-3
-44
50
27
63
53
0
0
0
0
0
0
0
0
0
3
0
0
-3
-14
17
48
11
0
0
0
0
0
0
1
0
0
0
35
81
-4
56
0
52
-56
0
0
0
0
0
0
0
0
0
0
19
79
-18
-48
18
-39
32
0
0
0
0
0
0
-2
16
6
10
-32
46
44
-15
4
-21
-23
0
0
0
0
0
0
1
9
5
-5
25
1
-23
27
-15
-10
-86
0
0
0
0
0
0
0
0
-1
-1
-5
33
53
84
-2
22
-81
0
0
0
0
0
0
0
0
0
0
-2
17
-32
6
30
43
5
0
0
0
0
0
0
0
0
-2
2
7
0
65
43
30
4
25
0
0
0
0
0
0
0
0
0
0
0
-1
85
32
45
30
-32
0
0
0
0
0
0
0
0
0
0
0
1
-1
-55
-92
-6
-4
0
0
0
0
0
0
0
0
0
0
19
116
28
67
27
13
-24
0
0
0
0
0
0
-1
0
0
0
6
105
53
-35
4
-10
65
0
0
0
0
0
0
-2
1
-3
-25
1
48
-6
17
47
-42
-29
0
0
0
0
0
0
0
-1
2
0
-8
50
57
3
25
65
14
0
0
0
0
0
0
-3
5
0
0
50
33
-24
-14
-69
5
7
0
0
0
0
0
0
0
0
2
0
-1
57
10
16
-29
42
69
0
0
0
0
0
0
0
0
2
0
-1
-25
5
7
40
51
42
0
0
0
0
0
0
0
0
0
0
0
0
33
-39
-11
-62
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-43
-58
0
0
0
0
0
11
9
0
0
0
-11
-23
-17
46
-6
-39
61
0
0
0
2
3
-31
34
0
0
0
-51
21
-9
12
28
-28
73
0
0
0
0
-1
30
-55
-23
63
14
53
58
14
-38
-9
56
36
0
0
0
0
0
-3
55
15
49
-2
4
8
37
25
-38
-5
-40
0
0
0
0
0
14
6
31
17
-29
1
-17
-12
-16
0
15
17
0
0
0
0
0
-17
-22
-22
-24
50
44
-32
12
-11
27
-46
44
0
0
0
0
1
-1
19
111
86
29
6
-26
131
7
36
-22
-36
0
0
0
0
0
1
21
-20
-43
1
9
-34
1
-9
-6
9
19
0
0
0
0
0
0
0
7
17
2
14
14
-48
33
37
79
10
0
0
0
0
1
5
22
0
0
0
139
-2
58
2
3
62
-23
0
2
0
3
0
-20
21
0
0
0
-19
56
23
-6
30
19
50
0
0
0
1
1
13
-7
15
5
123
7
35
-109
-2
100
-18
4
0
0
3
0
1
2
-10
50
30
16
10
7
-4
75
-7
7
12
0
0
0
0
0
5
7
-43
-3
-1
57
69
-43
7
21
-53
-65
0
0
0
0
0
18
6
62
-12
-5
-37
-63
5
-27
-24
-7
-3
0
0
0
0
0
-1
24
-16
-22
14
41
39
63
34
15
-8
-1
0
0
0
0
0
-1
0
-13
-30
-3
109
81
44
40
29
44
-27
0
0
0
0
0
0
0
-10
39
76
-4
21
-58
26
3
49
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
-29
-16
-62
33
-24
0
0
0
19
-26
-40
33
19
-54
-18
0
11
14
-13
-26
-31
9
0
0
0
-3
-23
16
-31
-69
-13
-84
0
2
50
-12
-8
23
5
-5
0
-2
3
-14
2
-38
-61
8
66
1
-1
-23
36
-16
31
13
-5
-14
8
6
0
-8
-18
-76
0
24
0
-13
-3
-10
-4
-44
-20
-10
6
-9
17
9
16
11
-49
-8
-53
4
-7
0
0
0
14
-36
-4
-3
-14
1
-31
60
-21
51
-42
1
0
0
0
-1
0
10
-5
-115
-42
4
-81
-92
-86
28
-109
-45
-39
0
0
0
0
0
-4
-8
-55
-57
93
-101
62
35
-71
-2
29
5
0
0
0
0
0
0
7
-1
-5
-3
0
-11
-13
3
-9
-37
6
0
-3
-36
33
10
0
-15
0
0
0
1
-5
-16
-43
-7
-93
0
-3
-2
-47
-24
61
-18
22
0
0
0
-1
-8
-14
-37
-80
-42
0
1
-25
-64
11
-22
93
17
-36
-10
-3
7
-6
-12
-12
-38
-69
0
0
33
-25
-52
-4
-108
21
-39
-18
7
-2
-10
-4
-64
-23
-74
0
0
-1
12
-63
-45
-118
-74
-51
-11
0
0
6
-7
-25
-33
-74
0
1
-33
-24
-33
41
-12
14
-121
-3
4
7
10
-6
-10
21
-23
0
0
-9
16
-16
45
35
7
-109
-13
10
4
12
12
-15
-99
4
0
0
0
52
37
44
22
-25
-33
55
40
-4
25
0
-28
40
-33
0
0
0
2
14
-45
13
-8
-29
1
40
41
50
44
25
-193
-33
0
-9
-19
90
-26
-11
82
-3
0
0
0
12
9
90
-60
18
-35
0
1
0
-33
5
35
24
1
0
0
0
-5
2
-65
6
-106
-53
0
-4
-7
10
-14
25
2
4
3
0
-52
-56
-46
83
17
-81
-64
0
0
-5
-15
-1
20
1
7
0
-3
-54
-116
-47
-62
-21
-20
6
0
3
6
-7
6
6
-67
4
-4
-2
-39
-39
8
-9
5
-11
14
0
-3
10
3
-8
-14
-25
11
0
0
-25
2
-60
5
30
-53
-18
0
-7
2
-4
36
-26
-1
-1
-1
-1
40
-53
-32
8
-14
-73
-33
0
8
7
9
-18
-11
-24
0
-1
-9
-21
-26
5
2
-25
-56
-5
0
6
33
-9
-15
-10
7
-4
2
-13
-21
-48
-20
-27
-70
-25
-2
0
0
-10
-24
-23
53
-112
1
0
0
0
-31
6
-33
-11
-96
0
0
-3
-18
34
-18
-9
-14
-5
0
0
0
-24
-15
28
-74
-61
0
0
0
-3
-14
41
-24
-35
6
2
4
15
6
-35
7
-27
-122
0
0
0
-4
-3
1
-14
-51
6
-3
-12
-23
-10
-6
-15
42
-96
0
0
0
6
9
-7
-26
-9
3
-22
-23
-2
-6
-5
14
-110
-97
0
0
-2
10
10
-5
-6
-7
4
-12
-10
-14
-5
14
-7
-113
-9
0
0
-35
14
-11
11
25
-10
-8
-11
-22
29
8
-18
-33
-89
-95
0
0
6
-22
7
-1
-10
-28
33
-18
-4
-5
70
76
19
-65
-60
0
0
0
0
0
0
-1
-1
-1
-2
-18
-14
-8
-53
-48
-90
-74
0
0
0
1
0
-25
3
-42
-57
0
0
0
-1
-10
3
17
5
-133
-87
0
0
-27
-8
-19
-5
-10
0
0
0
10
-7
-16
-23
-7
-108
-120
0
9
-14
-16
-4
-74
-18
-14
-7
-8
14
15
21
-25
-80
-15
-71
0
0
-8
0
-49
-13
100
-20
0
2
-13
5
-9
-2
-40
-45
31
0
0
7
-14
15
5
-46
-25
-12
-8
-25
-12
3
70
-1
70
-4
0
0
2
-4
-17
-14
-20
-61
-33
11
-20
-1
-20
-35
23
-10
-97
0
0
6
0
17
-9
-35
-109
-4
-32
0
3
18
-23
15
-59
-25
0
0
-1
-14
7
0
14
-25
-118
-71
73
-46
-68
-135
-105
75
22
0
0
0
0
0
0
0
-2
-16
-4
-16
7
-55
-71
-45
-1
0
0
1
0
0
0
76
-7
0
0
0
-4
-2
11
-7
7
7
-37
0
0
0
0
-15
-90
34
0
0
0
-6
-9
25
34
2
-35
-6
0
0
0
0
0
0
80
-51
-10
-8
18
45
30
14
-11
-21
-44
0
0
-5
0
6
-15
25
-10
0
-6
2
1
-21
36
-7
3
-6
0
0
3
-23
-17
-8
-34
8
3
-14
-10
-16
13
0
13
-24
16
1
0
0
0
2
-5
3
-3
-16
-3
31
2
7
43
-13
-48
-105
0
0
0
0
0
-43
41
-29
-17
-74
-16
26
24
68
2
-8
-54
0
0
0
0
0
-1
-9
23
-23
-15
-75
27
5
65
24
35
54
0
0
0
0
0
0
9
-15
-69
-4
23
13
-50
17
35
-7
1
0
0
-1
-6
-16
-62
21
0
0
0
20
-41
-30
2
64
1
-29
0
-1
0
-5
-6
22
-13
0
0
0
-3
-40
-32
-42
8
45
72
0
0
-7
4
-37
-39
34
1
1
-6
-13
13
-11
-12
-48
-5
10
0
-1
0
-5
-15
-49
53
3
-14
-3
-4
-1
-18
3
78
14
41
0
0
0
4
-3
-77
10
-4
-9
0
6
12
16
-41
4
6
118
0
0
2
-8
-5
23
8
-8
-3
1
4
14
-4
19
4
31
-44
0
-2
0
31
12
10
31
-4
5
5
11
10
5
7
41
48
4
0
0
-3
18
-2
-16
-20
16
4
1
14
-3
-31
-21
-77
-29
-5
0
0
0
0
0
-7
-15
-27
-36
63
52
7
-107
-12
15
-35
-26
0
0
0
0
0
71
133
0
0
0
14
-14
8
-19
-45
31
14
0
0
0
0
0
-33
48
0
0
20
19
27
14
84
70
56
95
0
0
0
0
56
33
58
71
26
64
24
-8
-13
49
-75
-49
-6
0
0
0
0
43
-6
24
40
8
12
-37
-12
-128
29
73
107
8
0
0
0
0
-54
-39
13
-3
-28
-28
10
-13
11
91
-107
17
0
0
0
0
0
-50
-67
-56
-10
-24
30
-67
-36
61
-54
-37
-21
1
0
0
0
0
15
-62
-62
-50
-45
33
30
3
-36
50
-46
-76
0
0
0
0
0
0
-99
-22
-29
-17
15
37
6
43
-52
36
17
0
0
0
0
0
0
-16
-61
-110
-93
76
3
-42
3
41
15
0
0
0
0
0
0
0
16
50
0
0
0
-4
-61
3
-18
-3
-3
0
0
0
0
0
5
33
28
0
0
20
35
55
42
38
0
107
0
0
0
0
0
3
32
54
59
40
15
2
11
11
1
17
8
0
0
0
0
0
0
15
30
87
-16
1
-44
27
-23
-27
-14
-21
0
0
0
0
0
0
-57
-5
-50
12
30
-23
-10
-7
-43
-11
38
0
0
0
0
0
0
-59
-30
-24
1
-72
-112
-80
27
-27
-4
3
0
0
0
0
0
0
37
2
-61
-15
-19
58
64
53
-4
3
-46
0
0
0
0
0
0
-6
37
-6
-8
37
2
-27
-49
73
-15
33
0
0
0
0
0
0
0
8
-29
36
21
1
-23
17
-26
29
2
0
0
0
0
0
0
-5
-32
0
0
0
4
29
-19
24
-137
30
0
0
0
0
0
2
33
48
0
0
-28
30
84
73
-83
34
-7
1
0
0
0
0
-4
-81
32
69
18
45
44
39
-5
-46
18
-44
1
0
0
0
0
4
43
-10
49
3
30
31
37
-25
51
-59
-8
-1
0
0
0
0
-13
46
-1
-19
-5
-25
4
-14
14
37
18
-5
-2
0
0
0
0
0
-4
-42
-56
9
-89
-49
34
53
0
-26
5
0
0
0
0
0
0
-56
21
-62
-17
-13
27
-14
60
45
49
66
-1
0
0
0
0
0
2
-38
44
-21
-15
-12
-13
-25
-20
-1
-1
-1
0
0
0
0
0
6
-148
-54
-16
36
-64
33
0
5
-3
3
0
0
0
0
0
1
-3
41
0
0
0
-33
-34
-3
-15
5
0
0
0
0
0
0
53
37
6
0
0
-8
38
21
52
-23
0
0
0
0
0
0
0
53
-59
17
51
-6
30
50
62
-7
27
-13
-4
0
0
0
0
0
29
20
14
-11
29
-72
-7
66
33
11
50
-9
0
0
0
0
0
-82
4
50
11
1
-22
-51
-9
1
12
36
0
0
0
0
0
0
16
-2
3
-45
13
69
-51
-11
8
-63
-3
-1
0
0
0
0
0
0
-3
-22
-18
-12
9
-17
-8
-16
27
-13
-5
0
0
0
0
0
0
14
-31
-72
-69
1
41
15
11
-43
-24
0
0
0
0
0
0
0
-11
-17
-10
-17
106
-52
-47
-4
0
0
0
0
-26
-16
29
-71
-4
1
-60
0
0
0
-44
8
43
14
76
1
-5
14
-77
5
12
18
-52
-9
0
0
0
33
45
-23
61
-3
-23
-16
-1
-28
-14
-38
-26
15
-4
-7
19
3
12
23
34
-5
98
14
10
-66
-5
6
10
-55
-8
23
58
60
39
26
-1
11
47
17
6
-3
-25
59
-39
26
24
15
40
33
-16
-22
48
61
6
-3
64
25
46
-1
-16
77
82
73
43
64
30
28
33
17
0
50
-80
140
47
-44
-39
-50
-132
24
33
-4
17
-13
-15
25
51
-39
-78
6
29
3
7
-10
30
53
-3
-53
2
21
-5
28
-14
17
16
-54
-35
51
28
21
7
3
-53
-68
2
-80
62
-87
9
-24
31
-61
-64
59
-6
-23
3
30
64
16
138
-35
-15
-20
0
0
0
-3
-30
6
-6
24
79
8
49
26
45
80
65
-96
-55
0
0
0
19
-54
35
40
46
-33
10
-19
-50
44
43
40
-30
-3
-66
8
-5
15
33
-18
71
111
61
-48
-32
5
-95
36
-38
-4
-23
-8
-53
-12
15
-61
30
-120
62
72
-33
-65
39
17
30
11
9
33
14
34
4
-37
24
-87
-69
3
9
-49
6
66
-39
-10
19
-26
44
21
-1
15
-14
-24
-35
53
83
-32
-6
-31
29
-50
-3
62
-4
-13
18
29
22
9
9
-65
7
23
-43
7
67
-7
-49
-55
-65
101
24
33
44
7
23
63
-5
71
77
-3
33
4
25
21
-5
-67
-43
1
47
-6
50
-72
34
33
5
53
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-32
46
28
22
0
0
0
9
5
92
-2
93
-15
0
-35
-32
-14
-25
-4
27
16
0
0
-62
-9
79
-13
53
-8
-10
0
-31
-37
-22
-25
-1
9
-32
53
28
38
-56
-63
-110
5
-13
-16
-5
-27
-20
-27
-23
-17
22
56
29
59
-35
-32
-68
-29
-21
-43
-59
17
-34
-40
-21
-19
-12
-11
41
41
-7
24
-21
-86
-2
155
110
7
2
-33
-42
-22
-28
-3
-24
-71
-46
-28
-86
-28
43
26
-40
-9
39
0
145
-24
-14
43
-6
-34
-53
-72
-90
-22
11
53
-58
-43
16
-6
1
-53
-18
-36
20
26
-32
-43
-70
3
80
-20
37
-30
25
95
26
0
-22
-51
-61
-61
-58
-95
-86
-3
-93
15
13
-58
-8
-8
4
0
1
-134
-98
8
-1
13
30
85
0
0
-23
74
-31
27
-109
-21
0
0
-145
-96
4
-5
3
9
90
55
41
47
-4
-112
-123
-90
20
-4
0
-102
-42
-10
-8
1
2
37
51
78
46
-45
19
9
13
4
-3
0
-48
-37
-10
-5
-13
0
-10
-1
-20
-68
-45
2
12
-107
-48
2
0
-59
-35
-14
2
-8
-7
-25
10
-12
-18
-74
-64
101
82
-20
0
0
-72
-94
-31
-15
7
-21
-20
-33
-22
-35
-145
-48
-68
-122
-46
0
0
-109
-60
-13
-1
-1
-12
-39
9
-30
-17
18
-94
-32
33
1
0
0
-48
32
-27
9
15
5
-26
-53
-97
24
57
-17
-47
-20
0
0
0
-15
78
9
2
19
24
6
15
99
19
-19
93
-4
0
0
0
0
25
22
35
4
-24
-82
-10
0
0
67
62
-16
7
33
0
0
0
-7
4
5
-25
-13
-17
-38
-27
-68
20
34
-97
-13
-29
0
0
0
-7
-9
-4
1
-49
-21
-12
16
17
14
28
-6
-27
-1
0
0
0
-14
-23
2
-10
-26
27
5
-15
-129
69
-57
39
-63
17
0
0
0
-15
-19
-9
5
44
38
-30
-11
-28
-18
4
-48
17
7
0
0
0
-4
-4
1
-21
23
44
31
0
39
-23
-43
-58
-17
29
0
0
0
-17
-1
3
35
2
40
-8
7
-9
-29
-53
55
105
-6
0
0
0
-14
-3
6
14
34
32
16
8
59
71
33
-32
-31
27
0
0
0
-30
-11
17
24
33
39
63
26
119
-9
-7
26
109
-3
0
0
0
-43
-26
12
47
20
-2
38
3
0
-6
30
-102
8
-5
1
0
0
-19
-31
-5
31
27
43
0
-24
14
-84
65
-29
-83
-8
0
0
0
-22
-1
-17
-1
17
27
56
86
43
-9
-82
-66
-36
-48
0
0
0
-43
-17
4
4
15
0
52
27
-32
-4
56
-21
-34
2
0
0
0
-28
-24
-15
33
-20
28
-70
-29
5
3
-10
-109
-14
35
0
0
0
-27
-7
-8
21
-52
-5
-11
41
-19
14
32
-6
-103
-3
0
0
0
-78
-22
-18
14
-24
-8
-56
-115
-53
-75
-26
-4
1
-16
0
0
0
-61
-19
-29
17
24
-23
36
-28
-65
-79
9
30
0
0
0
0
0
-43
-35
-48
-25
-73
-29
-52
-32
11
-10
-1
0
0
1
0
0
0
12
-38
-23
-41
3
15
42
0
0
15
82
-93
4
-105
8
8
4
-3
-54
-40
-24
-6
39
81
0
-24
0
-47
6
14
77
29
88
0
14
-38
-36
-32
8
11
30
42
43
43
-13
-60
9
-101
39
-15
1
-11
-39
-48
-22
-30
-2
45
49
13
16
-7
-25
-90
-16
-6
-44
3
-35
-28
-51
-24
-2
-11
28
-27
-24
-68
21
-137
22
-74
5
16
0
-71
-41
-17
-19
-39
-27
-29
3
-60
-48
-24
-76
-90
-85
-33
-1
6
-81
-17
-38
17
-27
37
-23
-59
37
-116
-87
-74
-123
2
-5
21
0
16
41
57
-42
-66
-57
-14
-44
-22
-57
108
-16
-28
0
-3
0
0
4
-132
-54
-74
-65
24
-105
-90
-60
-94
-8
-33
-30
-7
0
0
0
-76
5
9
-8
9
-2
-29
-82
0
36
-12
47
-20
21
-4
0
0
-84
19
4
23
-3
-28
-37
0
-101
0
-19
-12
-68
-7
53
2
0
-14
27
15
-16
-15
-11
-2
27
17
16
-8
52
-53
-9
32
1
0
-16
-6
-4
-8
-6
-33
-18
27
49
-7
-16
-2
-9
-46
11
-4
0
-34
-48
-46
-3
-42
9
5
7
22
15
-28
71
17
-35
28
11
-1
-12
-30
27
-7
-19
7
35
7
79
14
-31
44
3
-33
3
13
0
-32
-41
-18
20
-5
3
-7
29
24
-60
-109
-1
-8
-53
-20
0
0
-22
-55
27
9
-6
-18
4
2
-82
-24
-19
-15
2
-8
0
0
0
6
-12
-15
26
11
-43
-9
62
11
-48
14
0
0
0
0
0
0
31
4
7
10
-16
-10
26
0
0
0
-58
-72
41
-10
37
17
19
5
16
12
-7
-26
-72
-59
-51
0
-18
54
95
143
-22
23
34
-50
33
4
-6
-18
21
-9
-22
-3
27
24
136
42
-16
-57
-53
7
-4
11
-5
-19
2
-36
9
-16
-80
-29
15
28
6
8
22
11
6
-11
-18
0
-33
-6
12
22
13
33
-42
-2
-44
-7
-5
-5
-4
-1
0
-41
-35
-23
-45
-77
-34
-24
-1
-4
-9
-21
-1
-25
16
-1
0
6
-18
-31
-22
1
8
-28
26
6
19
33
-26
17
30
0
-3
46
0
32
-35
-7
-12
-49
7
2
3
36
106
-49
-4
30
-5
0
0
0
57
-118
28
21
38
-46
-14
-20
10
-34
-8
0
0
-1
-1
0
0
0
0
0
0
0
2
-3
0
0
0
71
69
33
13
22
80
-44
0
0
0
0
0
7
-25
0
0
0
42
72
-2
11
-9
33
18
0
0
0
0
0
3
27
107
-11
10
-56
106
-49
6
-37
-1
70
0
0
0
0
0
0
-94
-31
81
-53
49
28
36
11
0
8
-3
0
0
0
0
0
0
-24
99
4
-28
53
-64
6
3
33
29
8
0
0
0
0
0
0
-38
137
20
5
-73
24
-17
-9
2
-7
-21
0
0
0
0
0
0
-4
-71
18
65
-43
-77
-74
-39
-6
6
35
0
0
0
0
0
0
5
35
-20
-110
-4
16
16
-57
-41
18
-6
0
0
0
0
0
0
0
1
2
2
4
-49
37
-73
-15
-18
30
0
0
0
0
0
0
-21
0
0
0
12
0
-27
-47
103
2
42
0
0
0
0
0
0
9
0
0
0
-49
29
41
3
53
9
-26
0
0
0
0
0
0
24
13
-33
-54
-43
-22
43
-21
-2
6
-11
0
0
0
0
0
0
-1
18
-27
77
13
-59
-51
41
1
-47
-7
0
0
0
0
0
0
0
7
42
64
-44
34
-50
-4
-42
17
-3
0
0
0
0
0
0
0
-3
-4
46
27
2
59
107
-23
33
47
0
0
0
0
0
0
0
0
14
33
-17
-42
-4
26
38
-18
44
0
0
0
0
0
0
0
0
1
29
8
-37
1
-72
72
25
21
0
0
0
0
0
0
0
0
-2
-3
0
-15
0
-71
-25
16
0
0
0
0
0
0
0
3
0
0
0
128
89
5
-1
6
-29
-31
0
0
0
0
0
0
-4
0
0
0
-54
-3
58
73
-16
17
24
0
0
0
0
0
0
33
24
-37
-51
7
1
24
32
55
57
-27
0
0
0
0
0
0
-19
-75
72
-52
14
-111
-21
-38
55
-43
-94
0
0
0
0
0
0
-31
-35
5
-35
-5
22
59
-26
-3
-26
-55
0
0
0
0
0
0
1
-58
9
-17
77
41
49
-51
55
2
32
0
0
0
0
0
0
3
21
-31
32
29
-38
-86
17
-27
42
75
0
0
0
0
0
0
0
0
3
-3
-18
-6
41
71
71
-16
-16
0
0
0
0
0
0
0
0
0
0
7
-11
16
-53
-61
-14
55
0
0
0
0
0
-2
46
0
0
0
-31
85
4
-6
-10
1
64
0
0
0
0
0
3
-41
0
0
0
78
-3
16
16
74
-1
-44
0
0
0
0
0
0
-30
24
-107
24
-35
-6
36
-43
12
-7
26
0
0
0
0
0
1
9
53
13
12
-54
-13
44
14
-14
14
45
0
0
0
0
0
0
-55
-1
16
-63
80
-26
8
80
-67
6
76
0
0
0
0
0
0
2
5
-7
21
30
9
21
36
18
-16
40
0
0
0
0
0
0
1
0
2
-10
-4
-67
51
12
21
35
0
0
0
0
0
0
0
0
2
-7
-3
7
-23
5
13
30
55
53
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
-59
29
53
0
0
1
6
-8
46
28
0
0
0
12
-9
43
13
43
14
10
0
0
0
3
2
42
6
0
0
0
12
-7
33
10
8
6
-33
0
0
0
-6
-40
18
-23
89
-9
63
-41
-1
0
41
-1
20
9
0
0
-1
11
-34
-78
22
7
-48
-27
-31
-17
47
44
37
6
22
0
0
8
32
-4
-2
11
45
20
-30
-2
-24
14
26
0
-16
5
0
0
2
4
0
36
-62
-21
20
-3
13
49
96
1
41
26
2
0
0
0
3
2
-15
58
126
-21
-69
13
3
-27
36
-17
-15
60
0
0
0
0
0
-7
25
-29
21
16
-51
-36
-13
-25
51
-34
71
0
0
0
0
0
-23
11
45
14
-5
-39
-21
-69
45
35
-40
43
0
3
4
-5
91
-96
-7
0
0
0
-4
-27
13
23
29
-8
-56
0
24
-31
-23
-43
22
11
0
0
0
45
-15
-51
19
21
14
-17
0
-3
11
22
63
-55
16
66
-5
-50
22
-7
-26
-4
-9
7
-13
0
-1
23
7
-11
9
35
73
19
-17
-43
29
9
-13
2
3
28
0
0
0
-58
-29
-18
23
101
63
20
10
9
-51
18
7
8
-51
0
0
0
-1
25
-6
32
72
-40
-10
21
-26
17
25
28
23
-3
0
0
0
23
20
-11
35
25
0
26
-34
-9
-2
48
27
12
-6
0
0
0
-2
-5
-13
35
6
1
9
20
4
-27
-62
30
19
50
0
0
0
0
3
-4
85
-1
2
56
7
3
6
31
16
77
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
28
-36
53
-107
-58
-18
0
0
0
-9
-17
72
-54
33
-31
-89
-4
34
-31
-97
-57
-16
23
0
0
0
-4
-20
0
4
-7
-2
-18
0
-97
30
-74
-38
37
-14
31
6
-17
-18
-22
-24
-3
-58
33
89
-21
-100
-71
-54
41
-47
13
-10
1
-11
-19
-6
-4
49
-34
29
-24
-7
-64
0
-68
-94
-36
-38
-15
-19
-27
-33
-24
-37
-22
21
-23
-33
126
-52
-27
-16
-27
-59
-83
-14
-8
3
-45
-17
18
8
-34
-47
-32
-6
20
-18
-6
-7
-92
21
-38
21
-92
10
24
33
93
7
-7
18
0
0
6
-8
-15
-73
-99
-87
-74
-31
-66
-175
-45
-69
-54
-23
-71
0
0
0
-2
-2
0
22
-43
-44
-7
1
-55
-49
51
-39
-8
-57
4
1
-69
15
25
-17
23
0
0
0
17
-12
-6
-27
9
-38
0
-71
-136
-23
-45
7
-11
-43
0
0
0
33
-14
-9
-6
-3
-24
0
-25
-77
-44
-43
-9
-17
55
10
23
24
27
-5
-5
15
-3
7
0
-1
-60
-106
-27
24
5
-27
-15
12
-3
-11
-7
-5
41
4
51
0
-1
-36
-36
-23
-4
-110
-25
-11
-12
-21
-6
-18
-16
6
-42
-12
0
5
-21
-18
35
8
-38
0
-33
-48
-4
-4
-10
-16
27
-15
-28
0
0
7
23
40
65
13
-24
0
-32
-10
-8
-17
-21
-4
6
61
0
0
15
74
49
150
16
55
3
1
5
11
9
-11
7
-17
24
0
0
0
104
122
-103
41
6
0
46
20
29
17
38
25
25
-98
0
14
4
5
-32
-18
18
4
0
0
0
40
-21
5
-8
-62
-16
0
-21
-1
9
-25
15
16
0
0
0
0
21
-57
8
7
-38
-36
0
-9
-54
29
-15
2
15
-5
-1
1
23
23
16
-5
-78
-108
-71
0
-10
-2
15
-15
-4
-6
-5
-5
-7
51
14
-26
-50
-72
-71
-29
0
116
-24
-21
-52
-41
-2
-3
-9
-10
-55
-71
-3
-66
35
-105
-5
0
25
62
-32
-24
-37
-41
-12
-16
-7
-78
3
-49
32
-12
-85
-6
0
-16
-48
34
-27
-12
-23
-13
-4
-6
-2
-29
46
-1
2
-87
-37
0
30
26
24
-52
-20
-10
-7
3
-22
11
-13
43
-34
-64
-53
-20
0
3
78
-35
1
-16
-10
1
5
-2
-10
-35
47
-5
21
-45
-18
0
59
0
-47
-18
55
-1
2
0
0
0
-16
13
20
31
-50
0
0
-18
48
42
33
53
51
11
0
0
0
17
10
12
17
-16
0
0
-11
-60
-33
16
7
50
7
2
-15
-45
-9
24
7
27
-114
0
0
-31
-4
-11
21
-22
-10
10
-24
-29
-34
11
6
10
27
-20
0
0
-18
-11
50
-64
-128
-59
4
-12
-41
-11
-4
6
6
-13
-31
0
0
25
-31
0
5
-21
-5
-18
-29
-30
4
49
5
-2
-99
1
0
0
-20
-9
-46
-10
-64
-31
-22
-23
-33
-27
17
-25
6
-46
-60
0
0
10
-37
-37
20
12
-5
-15
-46
-5
15
14
-62
42
-122
-50
0
0
0
0
0
4
-7
-14
2
-96
-59
-1
-14
-66
-5
-78
-17
0
0
0
-9
56
-85
-41
-47
51
0
0
0
7
-12
7
47
2
8
9
0
-23
-50
5
21
4
-2
0
0
0
6
-8
-11
19
-3
7
-113
-2
93
-52
-53
39
-59
-9
19
-33
15
-14
-20
-16
13
-29
5
-19
0
-39
-45
0
-98
-25
14
-38
-19
-9
-31
-36
33
14
28
-23
5
0
-21
-39
-100
-44
-17
-2
-8
-10
-17
1
-11
8
11
42
-49
-100
0
0
3
-78
-96
-123
109
-23
-10
-35
-35
56
25
-77
3
-43
-99
0
-27
-51
5
31
-14
13
-58
-66
-37
43
-30
-19
-25
42
-24
10
0
-5
25
-4
7
-56
-19
-109
-72
-15
33
17
-100
-30
-73
29
36
0
1
10
0
-6
-4
-14
-16
-9
-35
-84
44
19
-79
-80
-131
-57
0
3
0
4
-3
-20
0
0
0
0
-41
-25
-14
-16
-43
19
14
-1
-2
0
-76
-30
-67
40
0
0
0
-36
19
-20
-11
-3
7
2
1
0
-4
-1
-103
25
0
15
3
-29
17
-36
0
41
31
-7
-4
0
-1
5
37
45
16
-20
6
-17
18
4
-34
-14
-19
-50
-7
-34
-1
-3
3
13
13
-28
36
-42
-9
-10
-15
-15
-4
-10
42
-19
-36
6
-3
6
-14
20
33
-14
-37
-40
-39
1
-2
48
-76
-7
2
-29
0
-1
-6
18
-9
-62
65
25
-29
-29
4
1
33
6
-34
-80
57
0
0
1
0
16
-46
29
-82
-46
13
-8
-1
-26
-81
-25
-123
-10
0
0
0
0
0
-4
-29
-53
-14
5
112
-11
55
35
57
-1
-72
-1
-3
-8
-36
30
-23
0
0
0
0
-82
-15
8
-25
6
51
0
-1
34
3
-39
-53
-22
17
0
0
0
-97
-14
-10
-15
35
-26
2
-10
81
-44
-34
-81
-64
-13
-8
-43
-54
-32
-7
-46
29
72
31
40
-9
12
4
-12
6
-10
6
-18
-7
12
-36
-20
52
-47
57
-2
41
0
-5
-11
-29
-45
-48
8
-22
4
7
-15
21
-35
-27
-1
18
-27
0
-34
43
-40
10
-2
38
3
9
12
-1
4
24
5
-23
-21
-7
0
-35
-70
-75
-22
24
-4
15
7
-13
40
1
-5
-2
12
-21
-8
0
-11
-19
-5
57
-32
-28
10
-12
-11
-16
24
18
-4
8
-18
2
0
0
-1
-9
33
-42
17
17
-13
37
-13
-30
-42
56
22
-62
-18
0
0
0
0
0
31
132
0
0
0
-4
-6
-7
28
-92
15
41
0
0
0
0
0
27
9
0
0
23
69
0
-40
5
-16
78
-9
0
0
0
0
27
26
32
46
56
25
-13
5
51
39
61
-21
-1
0
0
0
0
43
8
-37
-10
59
17
-28
-18
28
-9
-16
54
-1
0
0
0
0
-53
-37
-70
-15
38
-26
12
-60
64
7
-14
55
-1
0
0
0
0
-52
81
-27
-10
3
-10
26
-36
-6
-13
40
35
-1
0
0
0
0
10
-127
-54
10
-4
11
-3
4
51
15
-67
14
0
0
0
0
0
0
-5
-27
16
-7
-61
-41
51
33
-32
16
11
0
0
0
0
0
0
-16
-4
-39
-31
-47
-16
-44
27
-9
-10
0
0
0
0
0
0
0
13
-1
0
0
0
0
3
44
-22
23
-3
0
0
0
0
0
5
14
17
0
0
16
-33
73
36
-5
-24
17
0
0
0
0
0
3
6
-23
35
1
-18
19
-11
-14
-18
4
-6
0
0
0
0
0
0
4
-3
49
13
28
63
-40
25
27
-27
-17
0
0
0
0
0
0
-105
-63
-44
128
31
-34
15
-3
-29
43
-26
0
0
0
0
0
0
-5
-46
8
-19
-21
-14
-6
-8
5
5
-6
0
0
0
0
0
0
2
-50
27
23
-28
70
-31
-15
-50
11
-18
0
0
0
0
0
0
-6
-45
16
4
43
-20
-65
-52
30
-5
18
0
0
0
0
0
0
0
-41
-61
2
46
15
-14
-3
-8
-5
2
0
0
0
0
0
0
5
11
0
0
0
94
41
20
-39
-53
24
0
0
0
0
0
2
-15
-5
0
0
-3
-28
-1
71
-25
49
48
1
0
0
0
0
-4
57
37
32
-3
22
29
49
65
-10
31
3
1
0
0
0
0
4
-40
-42
41
30
-82
52
19
7
24
-4
-4
-1
0
0
0
0
-13
59
-41
-4
-4
64
-3
20
52
22
-9
-5
-2
0
0
0
0
0
-5
-6
-22
-28
-33
-60
7
59
-4
-17
-2
0
0
0
0
0
0
-26
17
-106
-18
-62
53
-15
-3
-5
6
15
-1
0
0
0
0
0
2
-33
-33
-53
-67
-82
0
-18
38
3
-1
-1
0
0
0
0
0
6
-71
-59
-30
43
-25
39
2
4
-3
3
0
0
0
0
0
0
134
37
0
0
0
-1
26
17
-38
30
0
0
0
0
0
0
36
67
3
0
0
-20
20
54
-13
-33
-16
0
0
0
0
0
0
68
99
37
77
57
58
-45
7
88
-20
-5
-4
0
0
0
0
0
-19
23
27
-3
84
36
5
48
13
35
-2
-1
0
0
0
0
0
-66
-31
13
49
-14
45
-56
59
24
18
15
0
0
0
0
0
0
-1
-29
-24
-24
-52
42
-57
-7
-8
-34
-24
-1
0
0
0
0
0
0
7
-15
-41
-14
-43
-2
81
-48
18
-16
-5
0
0
0
0
0
0
-3
-76
70
17
53
14
-16
-15
13
-9
0
0
0
0
0
0
0
-13
-14
-13
5
21
14
-2
-7
0
0
0
0
2
45
79
0
11
-12
-30
0
0
0
38
33
54
54
59
5
-7
-104
45
52
-42
-19
-37
-50
0
0
0
3
34
-61
43
36
37
2
33
-1
45
24
110
-55
-28
-16
10
-41
-25
-11
25
-44
14
44
15
-64
-64
30
4
-30
0
-30
-35
-3
17
18
-58
-58
38
30
33
-3
18
33
-52
-65
1
-9
-3
18
39
-8
-17
53
-41
83
-33
-22
-14
15
-30
-33
40
53
0
-33
42
6
26
-15
-18
57
-17
131
35
-14
0
-81
-80
29
-27
-8
61
4
-45
-31
33
-1
-35
-29
-10
-31
-2
5
14
-22
-44
49
43
-36
16
27
-38
-3
-4
-64
-10
6
41
31
-16
-15
-36
-48
-48
-180
0
-14
5
-33
3
-58
-99
13
7
-37
3
74
45
74
54
-155
-53
3
0
0
0
-38
15
44
5
53
89
29
-11
-79
65
5
62
-33
-50
0
0
0
-5
12
43
76
14
-14
58
-44
14
-6
-62
26
-19
-39
-70
-34
-10
13
15
-23
107
46
33
15
-56
-61
-16
22
25
80
-7
-8
-82
20
-22
40
37
-49
-41
31
-8
-41
31
-19
-6
13
20
45
-2
-31
0
-45
-21
-15
-38
20
-1
-35
76
49
-3
36
-70
-5
56
-8
0
24
-31
8
-21
100
30
-6
-19
-26
-21
-54
15
-26
-102
-1
58
19
18
-1
0
-16
89
12
-25
30
49
-27
-49
-8
-101
31
75
-10
15
78
58
15
-32
-23
81
37
14
-2
10
3
22
-64
-42
-42
35
-9
13
-15
-3
-1
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-11
-1
86
0
0
0
47
-41
-5
44
82
-14
0
-53
-23
-16
-11
49
22
-3
0
0
-61
14
3
-28
23
-18
3
0
-68
-15
-22
41
3
38
28
95
48
7
5
-33
-14
34
41
15
-3
-72
2
37
-3
67
35
57
27
36
37
-16
-60
-71
-29
-26
-17
19
-73
55
-14
35
7
40
23
41
-10
-69
1
-16
-50
72
19
18
2
-94
0
-37
27
-10
-4
46
-99
-66
-59
-29
17
-30
-100
-33
23
0
-4
-2
-39
7
3
-7
54
103
41
-29
-55
31
1
5
-11
-15
1
-35
-47
2
-5
-14
31
32
-3
-77
10
-52
-41
2
13
70
-2
0
-22
-57
-82
-50
1
-29
-80
-10
-72
4
-3
-43
-33
-6
-5
0
1
-89
1
-10
-14
20
4
65
0
0
26
100
24
24
-39
-32
0
0
-49
-49
-11
15
10
-9
73
43
52
57
25
-9
-60
-45
19
-11
0
-80
-32
16
-12
5
-1
20
28
48
32
7
-91
49
-77
-3
7
0
-63
-17
-15
-19
-2
-18
-14
6
2
18
-21
23
13
-113
-31
2
0
-79
-53
-2
-5
-4
-20
-18
-1
17
-2
61
-37
-50
37
7
0
0
-77
16
-28
-32
-19
-8
-6
-17
-17
22
4
-53
-9
-84
-41
0
0
-21
-3
-16
-17
-20
-24
13
-36
-38
-51
-13
-32
-15
11
6
0
0
-15
-15
-9
-9
3
-2
-4
25
16
0
-66
105
-70
-47
0
0
0
-77
-38
49
9
-27
-17
39
10
25
-29
34
60
7
0
0
0
0
-14
11
17
-16
-28
-39
-20
0
0
50
-23
-18
6
-16
0
0
0
-2
2
4
20
-12
-18
30
-19
-55
8
67
-43
-1
-6
0
0
0
-19
-13
5
-11
-14
-31
67
27
24
3
75
-8
-11
-1
0
0
0
-15
-11
1
-3
-1
7
92
17
-35
-38
23
28
-13
20
0
0
0
-24
-14
-14
7
12
-21
1
43
-34
35
-1
-69
-3
8
0
0
0
14
2
-20
24
32
29
-21
54
35
13
-78
-25
-13
29
0
0
0
-2
-8
6
-12
6
45
27
-98
56
-4
-32
23
-23
-6
0
0
0
-7
-4
-2
12
17
-14
14
4
-10
34
43
35
4
19
0
0
0
25
-2
9
-5
7
7
52
-1
-19
20
-70
0
118
-3
0
0
0
26
-12
17
-20
38
41
39
-32
0
-24
5
-63
-11
-27
1
0
0
-8
-10
-17
-2
40
58
0
0
11
7
64
33
-91
11
0
0
0
-14
-16
-15
46
8
44
38
39
42
40
-36
-6
-1
-30
0
0
0
-21
-7
31
45
3
15
11
1
7
42
12
-13
-16
-24
0
0
0
-22
-23
14
1
65
6
39
-7
-53
-18
-25
-68
1
36
0
0
0
-7
2
-25
46
27
25
-11
45
-75
-37
9
1
-96
-31
0
0
0
-19
3
33
-36
48
-16
-10
-7
-38
-68
-20
11
2
-36
0
0
0
-78
-13
7
72
3
68
76
-4
-24
-56
3
-20
-19
0
0
0
0
-43
-43
-23
7
-20
-85
-39
-33
18
-6
1
0
0
1
0
0
0
-18
-12
-16
32
53
58
56
0
0
-8
30
-46
-22
-176
-20
13
5
53
15
17
0
27
12
17
0
-103
0
38
-20
36
15
45
63
1
-56
-2
-21
-53
8
26
23
51
41
85
34
-9
24
-53
13
-35
2
-18
5
6
-2
70
-26
-30
-14
-9
-35
-21
5
-118
9
25
-30
3
-15
28
-17
-6
5
47
-11
0
-54
14
-43
-97
-13
-16
56
13
0
46
0
43
-32
5
-42
-8
-61
7
-59
-95
-83
-43
-70
-2
1
6
-98
-62
-71
-20
-8
-2
34
-17
-66
-49
-101
-34
-79
-9
-3
6
0
51
33
70
-20
60
59
-76
-20
-7
27
39
-20
-54
3
-3
0
0
4
-48
39
-79
-30
23
-54
-71
-23
-71
-35
-45
-14
-7
0
0
0
-36
52
-17
-11
32
-24
-16
-57
0
31
24
-1
35
-4
-4
0
0
47
-12
3
-24
57
-2
-74
0
-19
0
38
-6
-106
-23
35
2
0
-36
20
52
61
-2
10
-49
-3
2
15
-14
103
-22
4
14
-1
0
11
33
-80
61
15
-8
9
-8
-23
49
-17
-45
-72
-18
32
-3
0
12
79
7
24
30
-29
20
12
-53
93
-46
87
30
-21
-12
-5
-1
-77
35
-10
-59
34
-69
-10
33
-19
34
-5
-3
-36
-6
-4
16
0
6
-7
-6
6
-39
-14
-77
-22
61
-53
-98
-41
-29
-22
-2
0
0
-1
8
0
-29
-2
-36
15
-12
-48
-14
-19
-15
2
-8
0
0
0
23
-53
-22
22
-57
-21
-35
13
19
-54
14
0
0
0
0
0
0
-24
36
35
27
32
-62
-87
0
0
0
5
52
11
-17
43
-5
-10
14
4
15
7
-8
-63
-94
-122
0
-80
11
89
54
0
-33
-5
-5
-21
9
-30
-3
29
19
-41
0
14
38
38
28
-16
-72
0
34
-10
-13
12
-14
4
-40
51
60
19
-46
8
67
-16
71
-2
-13
17
-8
46
0
24
-5
-32
-81
5
55
45
33
-54
15
40
-5
-4
-1
0
7
-26
-6
-9
30
-25
12
31
14
-48
43
-45
53
31
-1
0
6
-78
6
-11
2
37
79
60
8
28
-3
-5
-11
-13
0
-3
24
0
-20
-38
14
-54
-4
-32
-119
4
29
72
-27
15
5
-3
0
0
0
-6
-111
54
-15
3
-74
-2
-74
-29
-28
-20
0
0
-1
-1
0
0
0
0
0
0
0
2
-12
0
0
0
71
28
-12
-4
44
57
23
0
0
0
0
0
6
-6
0
0
0
131
9
76
-5
45
-33
-4
0
0
0
0
0
3
-71
30
14
9
-42
-5
47
-24
9
-15
-4
0
0
0
0
0
0
-21
15
49
-58
54
1
-2
65
46
47
-58
0
0
0
0
0
0
8
80
10
-17
77
-4
67
52
27
5
31
0
0
0
0
0
0
-75
53
52
-44
-11
-18
-34
6
27
69
-5
0
0
0
0
0
0
10
-27
60
28
-29
19
-22
-36
9
-28
-5
0
0
0
0
0
0
5
-5
-32
-7
-65
63
-14
-61
63
-2
14
0
0
0
0
0
0
0
1
5
2
8
-111
-24
-55
26
44
5
0
0
0
0
0
0
0
0
0
0
22
76
-13
-1
55
-62
-24
0
0
0
0
0
0
0
0
0
0
-1
35
-1
2
23
20
110
0
0
0
0
0
0
5
-11
-17
-18
12
-73
-9
-77
33
9
-6
0
0
0
0
0
0
-1
2
-6
27
-7
-15
66
-10
20
57
81
0
0
0
0
0
0
0
0
1
74
-63
-9
-13
-13
-39
-100
62
0
0
0
0
0
0
0
-9
-7
14
14
-17
-32
67
51
-32
12
0
0
0
0
0
0
0
0
13
53
-5
-23
-32
12
64
62
-40
0
0
0
0
0
0
0
0
-2
6
5
-43
20
-96
3
4
16
0
0
0
0
0
0
0
0
-2
-3
0
-15
-14
-64
-10
-15
1
0
0
0
0
0
0
-17
0
0
0
81
-24
39
7
14
41
-26
0
0
0
0
0
0
4
0
0
0
17
-9
37
27
44
7
9
0
0
0
0
0
0
-36
13
-31
-20
-148
-22
5
35
-16
57
-6
0
0
0
0
0
0
-5
-7
-2
-92
58
-72
-38
9
63
10
-69
0
0
0
0
0
0
-20
-2
33
-65
-1
-14
11
56
47
-4
-25
0
0
0
0
0
0
1
-26
6
5
72
59
109
-21
-8
36
59
0
0
0
0
0
0
3
-8
-45
-2
23
-61
-8
-17
-33
11
48
0
0
0
0
0
0
0
0
13
16
-32
0
-23
4
110
107
-2
0
0
0
0
0
0
0
0
0
0
7
-16
31
-42
6
-73
12
0
0
0
0
0
-2
-11
0
0
0
96
-6
102
28
-25
-12
4
0
0
0
0
0
3
-15
0
0
0
147
-57
30
-9
2
38
12
0
0
0
0
0
0
7
2
-74
-14
98
38
68
7
-3
-18
159
0
0
0
0
0
1
7
47
0
16
-106
-38
-3
26
3
-31
59
0
0
0
0
0
0
-14
-8
37
-55
13
-88
-85
56
53
-30
68
0
0
0
0
0
0
0
5
-9
22
16
-1
71
-48
33
-86
61
0
0
0
0
0
0
1
0
2
-6
-29
53
73
20
67
-19
-52
0
0
0
0
0
0
0
2
-7
-3
-2
-15
-14
-30
69
87
33
0
0
0
0
0
0
0
0
0
0
0
0
-8
10
24
-64
80
0
0
1
6
-19
23
4
0
0
0
16
58
42
-16
15
-55
30
0
0
0
3
4
23
-57
0
0
0
-4
-2
-14
39
-9
-14
-33
0
0
0
-6
-21
-24
93
21
-31
17
36
1
-1
-13
30
-14
-53
0
0
-1
0
3
-131
18
-26
74
1
25
23
-4
-6
10
-2
22
0
0
-2
-14
4
-21
-34
13
56
-79
-67
-67
-1
-18
45
-72
-18
0
0
2
4
24
45
-16
15
-47
2
-12
50
53
3
30
70
-24
0
0
0
4
2
-23
2
-61
24
-87
65
24
8
32
-27
29
43
0
0
0
0
0
-6
-22
41
-24
-18
-13
-61
-46
-13
11
-82
93
0
0
0
0
0
-23
8
46
-5
-10
-46
23
-47
21
-11
-6
29
0
3
4
-8
51
-79
-5
0
0
0
14
-24
-15
61
33
-19
-18
0
31
-5
20
47
6
-18
0
0
0
-32
-52
7
-47
44
22
-26
0
-3
-9
-2
23
39
33
-32
42
-9
8
-7
-40
22
-14
-16
-25
0
-2
-1
5
31
48
10
13
-14
24
-1
-23
-66
-5
-12
13
-24
0
0
1
-20
-14
-4
44
112
-4
73
-38
-39
2
30
12
-8
8
0
0
0
3
3
7
-40
84
12
-68
51
27
-5
20
-13
29
48
0
0
0
0
22
31
-4
9
-13
27
67
-70
-19
-27
2
10
23
0
0
0
-2
-3
14
13
-34
-35
131
80
-42
23
-24
9
-15
98
0
0
0
0
3
-4
48
23
-31
45
19
-7
32
-24
11
30
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
15
34
6
-19
-32
36
0
0
0
0
44
-57
-42
7
18
-74
-2
73
-31
-78
-74
18
-6
0
0
0
-11
22
16
-19
11
1
7
1
-69
-74
0
-44
-7
-3
9
-11
-6
42
-53
52
16
47
25
50
-4
-104
-46
-35
56
-100
-27
-39
51
-23
-32
-27
-16
50
14
44
-49
-7
-56
27
-86
-65
10
-101
-60
42
30
-18
-8
-15
19
78
-6
43
30
-29
-58
-8
-25
-13
-63
2
5
-16
-28
60
-22
34
6
83
-25
-6
18
-8
-17
32
-48
-14
-18
44
-92
-56
-37
42
-49
-12
-34
-7
0
0
6
-8
-15
-113
-93
-52
-43
-73
-38
-27
-23
30
43
-19
-36
0
0
0
-2
-2
0
18
-39
-32
14
-1
-43
-19
43
-46
-35
-101
2
-42
-57
43
-1
-47
11
0
0
0
12
-1
-22
3
-32
41
0
-21
-73
-61
17
-28
19
19
0
0
0
20
1
17
-40
-7
-14
0
-6
-49
-14
51
30
33
10
26
9
15
6
-16
10
8
28
-58
0
1
-14
-99
47
-138
-48
-6
-12
-9
-3
0
-8
14
16
23
-24
0
-1
-43
-38
50
-16
6
-10
3
1
-11
-10
0
-8
7
26
-38
0
4
91
-51
59
-35
-36
-8
-10
-8
6
-5
-4
-5
-35
54
33
0
0
14
98
39
-48
-12
-54
-13
-12
3
16
-12
8
14
-67
32
0
0
15
-2
-10
75
6
-11
-19
27
20
-18
-5
21
-1
-32
24
0
0
0
23
96
6
55
24
-10
25
10
17
29
-33
14
-62
-16
0
14
-6
36
-44
-2
19
3
0
0
0
-28
39
22
-49
-58
-10
0
20
-25
-13
-20
3
21
-2
0
0
0
43
-21
-20
48
48
-11
0
-28
-59
23
-14
-9
15
3
-5
-1
77
52
37
14
3
23
9
0
18
16
-27
-22
-7
13
-12
0
-5
29
27
62
1
24
-115
-26
0
45
17
-42
-38
-36
-13
-11
13
-22
-51
-19
68
-25
26
-126
-7
0
-5
46
-36
10
-25
-24
-18
6
-13
19
44
-8
55
-76
-62
-21
0
47
15
-6
-49
-24
-4
-11
-1
3
-69
-3
1
-92
13
-54
-37
0
23
-52
36
-24
-7
-9
-4
1
-21
-39
-15
10
-79
6
-66
-19
0
24
0
-81
-26
-22
-11
-11
0
-2
-45
57
2
-23
-15
-16
-17
0
28
-34
-32
15
4
33
4
0
0
0
47
11
2
-6
53
0
0
-11
26
-10
0
24
40
11
0
0
0
19
9
23
-9
-2
0
0
-4
5
-23
9
-6
52
21
27
-16
-21
-12
41
30
29
-52
0
0
-42
11
24
43
-34
-4
3
-22
-3
0
26
11
-22
-55
-6
0
0
6
-19
-5
-56
-20
-6
-7
18
-9
15
0
-4
-46
-42
38
0
0
12
-69
48
-39
-30
-30
-16
12
-7
18
25
-19
41
6
-34
0
0
16
5
-51
-32
-53
-1
-24
-5
-2
-10
-2
-36
-41
53
-30
0
0
-20
-14
-24
-59
-17
-1
-5
-11
-46
-39
0
91
-39
-27
-43
0
0
0
0
0
3
-5
-2
24
-25
-12
-18
63
10
28
-31
7
0
0
0
-9
40
-62
-49
-55
-51
0
0
0
14
23
24
34
38
-56
20
0
-42
17
38
26
-28
14
0
0
0
40
19
10
9
51
41
38
0
-9
-34
-4
14
-1
15
18
-16
15
30
61
32
32
66
-10
27
0
-45
-66
21
-24
16
-91
-20
34
-29
32
45
-38
61
49
21
20
0
-20
4
-109
-19
-26
9
-60
-18
43
22
2
-17
-21
68
25
-12
0
0
-36
-31
-88
-138
15
-14
42
52
-5
4
-32
47
-18
21
-54
0
-29
-53
-36
60
-51
-4
14
-1
29
-17
4
-49
2
42
-29
14
0
-3
21
44
5
-26
-10
-14
-66
-60
-7
-126
-112
16
-68
-132
-57
0
1
10
0
-6
-5
-8
-13
-5
-25
-59
14
39
-71
9
-102
-49
0
3
0
-11
-39
-24
48
0
0
0
9
1
-74
0
59
-98
-53
-1
-1
0
-61
4
-13
58
0
0
0
43
-9
60
-42
-4
-5
46
1
0
-4
-34
-32
63
45
-52
1
-30
48
61
-41
-14
15
-23
50
0
-1
-11
45
20
-41
12
5
-21
26
70
-15
8
-53
32
10
6
-1
-3
0
42
32
-36
53
-89
-31
66
10
42
-15
-44
43
-125
-17
6
-3
5
1
-16
34
67
-13
-38
63
-73
43
8
-60
33
38
-86
0
-1
-8
28
-3
-78
-23
-40
-11
-22
-49
71
34
-43
-24
-32
-8
0
0
1
-1
19
-47
6
-27
13
-52
48
7
-23
-82
-33
-43
-32
0
0
0
0
0
-1
-59
-60
-25
46
33
-5
54
29
0
17
-31
-1
-7
-13
-55
52
-38
-14
0
0
0
29
-40
51
15
14
-24
-39
7
59
-23
-51
-16
18
33
0
0
0
-52
14
52
14
-24
9
39
-3
46
-47
-60
-45
12
-50
-26
-76
-29
10
27
15
10
18
14
-29
7
12
-34
-48
-67
60
-6
19
-14
30
-15
-38
56
-23
4
6
18
21
-28
-16
-54
21
-63
-4
-8
23
11
-37
63
-5
-23
6
-19
6
0
-31
31
44
21
-109
18
7
-2
27
-14
-39
-70
49
-43
9
32
0
-7
-27
-15
-43
12
22
29
29
24
21
-64
53
-21
-10
14
3
0
-2
6
22
-8
-13
-17
19
44
-6
50
5
14
-24
90
21
-79
0
0
-1
3
-1
12
37
-27
-62
-44
35
86
19
16
-1
45
-61
0
0
0
0
0
-10
57
0
0
0
28
-17
7
8
10
1
0
0
0
0
0
0
-14
-73
0
0
-86
-30
12
17
-13
2
14
0
0
0
0
0
0
-7
-12
-62
49
5
12
30
46
9
5
6
0
0
0
0
0
0
0
-46
-33
20
-48
9
13
47
-15
-44
0
0
0
0
0
0
-1
11
-25
33
54
82
31
-13
-21
-20
7
-1
0
0
0
0
0
-2
-5
-3
-21
100
33
-30
11
33
-5
0
0
0
0
0
0
0
0
-24
50
33
11
45
-10
-7
-18
-17
1
0
0
0
0
0
0
0
0
2
7
3
-12
-8
0
-30
0
1
0
0
0
0
0
0
0
0
-3
18
-46
-58
1
5
-1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
4
9
-5
1
0
-2
0
0
0
0
0
0
0
-16
0
0
18
-30
43
-5
2
-1
0
0
0
0
0
0
0
4
-25
-77
44
-59
-1
25
14
-1
1
0
0
0
0
0
0
0
2
-1
-17
10
14
37
9
13
1
0
-1
0
0
0
0
0
0
-1
8
1
65
15
-23
27
0
-2
0
0
0
0
0
0
0
0
-2
5
0
-53
6
15
47
2
2
-3
-1
0
0
0
0
0
0
1
-25
14
-14
-33
-25
-3
3
-2
1
0
0
0
0
0
0
0
0
14
-43
-68
-48
21
-7
-10
0
5
3
0
0
0
0
0
0
0
1
-5
3
20
0
2
0
0
0
0
0
0
0
0
0
0
2
43
0
0
0
17
10
48
-17
-3
0
0
0
0
0
0
0
0
32
0
0
-75
33
5
19
35
13
-1
0
0
0
0
0
0
-23
11
-12
-62
48
30
55
-1
-2
11
2
0
0
0
0
0
0
-6
-51
12
19
48
39
44
13
-5
0
0
0
0
0
0
0
0
3
-25
-20
45
28
27
-4
14
4
0
0
0
0
0
0
0
0
0
-45
-8
1
7
-15
4
-5
4
0
0
0
0
0
0
0
0
0
-16
-14
-28
11
-16
14
-4
0
0
0
0
0
0
0
0
0
0
-1
-6
-33
-7
-18
5
1
0
0
0
0
0
0
0
0
0
0
-1
10
-44
-5
-13
-1
-1
0
0
0
0
0
0
0
0
0
22
17
0
0
0
64
13
5
-6
2
0
0
0
0
0
0
0
20
4
0
0
-4
-2
-11
-10
7
-3
0
0
0
0
0
0
0
-4
73
88
57
11
-5
-8
5
-20
0
0
0
0
0
0
0
0
-18
42
-48
30
51
-5
-15
8
4
0
0
0
0
0
0
0
0
-32
8
-36
-7
-2
-26
34
21
-2
-1
0
0
0
0
0
0
0
4
-47
48
-24
46
-16
-6
-5
5
0
0
0
0
0
0
0
0
1
-23
0
-24
-27
16
7
-1
2
0
0
0
0
0
0
0
0
1
-7
35
5
-43
1
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-1
5
-5
-3
0
-2
0
0
0
0
0
9
9
4
16
-9
6
0
0
0
17
-26
-5
-2
-1
0
0
-5
9
-5
-51
105
-18
3
0
0
0
-61
-32
5
7
-6
0
0
5
19
-19
10
58
-66
4
-51
2
-15
9
43
16
9
-15
0
0
16
-7
9
-15
-34
-14
-31
-62
2
-2
25
35
16
10
4
-1
0
-5
-1
24
-21
11
25
-32
58
98
35
24
-16
2
-2
3
0
0
0
-9
-15
8
16
-24
0
-106
1
9
15
8
27
-20
-4
8
0
0
4
41
-14
11
-34
-5
15
-4
-14
-66
-11
12
-5
0
-2
0
0
-3
-17
-25
9
0
-64
-26
18
3
30
13
-2
-2
0
1
-1
2
1
4
2
0
-16
-1
7
12
4
18
15
6
1
0
0
0
-10
-7
10
-10
-8
2
40
0
0
0
-60
43
-5
15
14
5
1
11
3
27
-2
27
43
12
0
0
0
2
59
-20
42
-26
-5
3
-25
-29
-44
7
10
43
44
-33
34
12
18
-25
48
-12
-10
6
1
-6
5
-14
32
23
15
47
-13
-44
-9
5
43
-43
-10
-13
0
0
0
-43
16
-14
-33
20
-28
-43
31
-44
18
42
45
-10
-2
-4
0
3
-1
-17
-22
-11
-16
71
36
-73
50
-81
-11
31
-6
-1
0
0
-7
-8
-33
5
34
-26
-37
33
-28
-4
-52
8
11
2
1
1
1
2
19
-9
-2
-8
2
5
-16
12
24
-24
-14
7
1
2
0
0
0
-2
0
0
1
7
-29
15
35
29
-3
-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
14
-68
5
-65
5
2
80
0
0
0
15
31
-39
2
1
-15
0
-15
19
38
20
-9
-4
94
0
0
4
-47
53
-9
14
0
9
0
-35
-18
35
-14
5
28
35
77
-25
-68
-27
44
50
4
1
-1
0
-16
-9
-69
85
24
-43
-1
-16
-45
102
-30
-7
19
1
-2
-3
0
-12
17
31
29
-62
-33
-46
29
39
36
-43
6
-15
-15
7
0
0
-26
22
23
32
17
-27
1
34
-35
-27
25
27
-3
-16
1
4
0
-43
-11
63
-14
8
-81
-21
5
31
-9
11
3
-10
0
0
0
0
-11
-6
-19
-13
-3
25
0
-25
-41
-13
-14
16
-4
5
0
0
0
0
-5
5
-10
2
7
-31
-4
-6
13
4
-6
-3
0
0
0
0
-5
16
-40
-54
-15
79
25
0
0
-9
-8
-27
18
36
-1
0
0
-19
-84
-73
-33
-1
4
81
-39
46
84
53
40
-56
-11
0
0
0
42
-62
-73
-28
-44
-10
53
14
81
-3
-11
-10
10
-5
0
0
0
-18
-56
-57
17
25
-21
16
33
3
-25
4
-4
7
-7
0
0
0
-23
10
80
3
1
-45
-9
24
-9
44
5
18
-23
2
0
0
0
29
-119
-42
6
21
-42
-35
9
66
35
-34
13
4
1
0
0
0
-5
57
-20
-71
-21
14
54
19
30
-33
-50
17
-19
-3
0
0
0
1
54
-21
23
19
-19
44
10
125
37
-51
33
-8
0
0
0
0
-22
-14
57
-4
-43
-141
-37
14
-16
-13
5
1
0
0
0
0
0
-36
1
27
42
100
13
-24
0
0
-8
3
-4
0
1
0
0
0
53
2
-5
24
40
-15
10
-30
36
-7
18
-11
-1
0
0
0
0
-34
0
25
9
10
-8
34
-42
-3
-21
23
-2
0
0
0
0
0
21
-4
8
-9
10
15
-12
-27
31
2
7
1
1
1
0
0
0
3
0
0
-1
10
-4
-8
61
-6
2
6
-1
-1
0
0
0
0
9
5
3
10
9
32
6
-9
25
-7
-5
1
1
0
0
0
0
-14
-23
-4
-15
14
-26
20
-53
-1
-7
-5
-2
-1
0
0
0
0
-11
1
-43
-28
28
36
44
-34
-3
-3
0
-1
0
0
0
0
0
-13
-7
4
-43
2
-8
-62
18
-27
2
0
0
2
0
0
0
0
-48
-15
-46
33
-26
45
-1
-43
0
61
14
-8
4
0
0
0
0
-4
36
32
-22
64
52
0
20
-2
-2
-8
23
7
-4
0
0
0
-2
-56
5
10
30
21
-69
3
18
18
36
10
-1
0
0
0
0
10
50
26
52
-76
12
70
-23
2
-8
-22
1
1
-2
0
0
0
8
5
27
23
15
29
-3
53
9
-15
-8
-6
-1
1
0
0
0
-5
-32
-14
23
-29
42
22
-36
-5
10
-5
-3
-6
0
0
0
0
24
-68
37
11
-9
-10
48
-16
-47
-1
0
-3
0
0
0
0
0
-44
68
-11
77
16
23
-21
-26
11
-7
0
0
0
0
0
0
0
0
0
-34
5
-5
10
-10
-1
1
0
0
0
0
0
0
0
0
-4
4
-72
41
62
98
81
0
0
-59
12
2
25
-52
-2
4
0
10
25
68
77
80
72
-7
0
-100
0
46
-8
-11
2
-14
-7
3
-22
-11
-35
59
-53
11
-31
4
-80
55
0
17
1
10
-19
-26
-1
17
-62
62
26
-16
33
-69
22
-27
-19
-18
-54
-24
14
-26
-1
0
0
1
2
44
-16
-42
-67
5
-30
5
2
4
2
4
2
0
0
-14
7
-48
-58
33
-23
53
27
-25
-41
-23
-13
14
2
0
0
0
-2
-31
-118
-19
-56
-37
-41
40
8
63
-14
26
-19
3
-1
0
0
11
-4
44
36
-11
-5
-14
-75
10
-5
-18
0
-7
6
0
0
0
2
-11
14
-20
5
3
21
-14
0
-4
1
-9
2
0
0
0
0
4
-6
16
-16
22
77
-26
-18
0
0
-41
8
25
0
1
0
0
-9
-12
-23
-45
62
11
23
0
22
0
31
22
-40
-9
0
0
0
14
-36
-13
-1
-17
-16
21
57
35
-15
34
46
-17
19
3
0
0
4
2
22
53
-44
-53
27
-37
-88
-21
5
-22
-20
-14
3
0
0
-13
43
4
15
52
16
-11
-10
-29
-49
21
47
-7
-13
1
0
0
-14
7
50
8
3
-78
-64
16
-8
-43
-18
-4
-2
-3
0
1
0
4
2
-1
57
23
-6
-10
-21
-14
-34
-10
-1
0
0
0
0
0
7
3
14
43
-45
15
-34
24
-21
-1
3
0
0
0
0
0
0
-1
1
10
5
-6
-1
1
0
1
-7
7
0
0
0
0
0
0
-14
49
120
48
-19
-14
-81
0
0
0
28
53
5
-10
1
0
0
-39
25
-15
-21
3
-43
5
-32
0
18
5
-11
15
30
-6
-1
1
-15
-54
12
-15
60
-22
-16
21
-65
29
17
15
-16
-3
2
0
0
-36
52
10
-2
86
38
65
15
-43
63
23
2
9
-2
0
0
0
3
20
23
24
3
-39
-48
43
4
6
28
26
1
0
0
0
0
32
-2
22
-2
-21
62
2
-43
33
-47
2
-4
17
3
0
0
0
3
-15
57
-7
3
1
5
37
-31
-19
20
-20
1
0
-5
0
0
-17
43
-3
-10
6
27
26
-14
8
1
-25
14
-2
0
0
0
0
2
-21
-6
-2
2
1
-1
-3
-14
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
23
74
22
4
41
12
37
0
0
0
0
0
0
-2
0
0
0
43
-4
15
33
7
-53
23
0
0
0
0
0
0
0
-14
-11
43
-8
44
11
-20
-60
16
-47
0
0
0
0
0
0
0
-10
11
0
-20
-4
36
-19
-42
23
5
0
0
0
0
0
0
0
0
-7
19
18
-11
4
-44
-37
-9
33
0
0
0
0
0
0
0
1
3
-34
10
-23
0
-14
36
-13
17
0
0
0
0
0
0
0
0
2
-5
-10
0
0
-19
13
-43
16
0
0
0
0
0
0
0
0
0
0
-14
1
-38
-15
14
78
-2
0
0
0
0
0
0
0
0
0
-1
0
-19
-6
9
8
-19
-37
0
0
0
0
0
0
0
0
0
0
-7
-13
-5
-4
23
-6
-37
0
0
0
0
0
0
0
0
0
0
23
7
48
-33
-16
-23
20
0
0
0
0
0
0
0
0
-1
-4
15
-49
-5
-23
-24
37
-9
0
0
0
0
0
0
0
0
1
2
20
-15
17
18
18
-53
69
0
0
0
0
0
0
0
0
1
-1
5
-19
5
-30
-62
19
-3
0
0
0
0
0
0
0
-1
0
-3
-8
22
-5
83
42
-47
-16
0
0
0
0
0
0
0
0
0
0
-8
-6
0
-63
-11
11
26
0
0
0
0
0
0
0
0
0
0
0
-5
-8
18
-34
21
-9
0
0
0
0
0
0
0
0
0
0
0
-4
6
-4
13
37
-35
0
0
0
0
0
0
1
0
0
0
-14
-22
-22
-19
54
18
18
0
0
0
0
0
0
0
0
0
0
-47
-14
-31
4
88
-33
46
0
0
0
0
0
0
0
1
-2
5
-44
-37
8
42
-37
37
10
0
0
0
0
0
0
0
0
-1
10
-4
7
23
49
19
22
-7
0
0
0
0
0
0
0
0
3
1
4
5
67
-73
-4
-37
30
0
0
0
0
0
0
0
0
0
2
16
29
6
-32
78
70
3
0
0
0
0
0
0
0
0
1
0
0
-4
-20
-26
-5
5
-16
0
0
0
0
0
0
0
0
-1
1
0
-8
-3
-6
27
15
-10
0
0
0
0
0
0
0
0
0
0
1
-3
-4
-6
-20
-8
-1
0
0
0
0
0
0
0
0
0
0
33
-27
47
-1
-51
6
-14
0
0
0
0
0
0
2
0
0
0
-14
68
-20
-49
16
65
16
0
0
0
0
0
0
0
18
-20
-3
4
22
-9
159
18
53
50
0
0
0
0
0
0
0
0
2
5
-35
-17
43
-33
12
-71
-4
0
0
0
0
0
0
0
0
-1
-4
-3
-54
10
51
9
3
45
0
0
0
0
0
0
0
0
1
1
11
-28
-26
-1
-29
-26
5
0
0
0
0
0
0
0
0
0
-2
-16
45
-8
50
17
-10
-14
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-1
8
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
5
0
0
0
0
-2
2
0
0
0
0
63
-43
47
25
21
-14
-14
0
0
0
-1
-14
9
12
0
0
0
-38
53
50
3
-52
108
5
0
0
0
0
1
-8
14
17
-44
27
45
-32
-32
-26
-12
-26
-31
0
0
0
0
1
-2
14
-14
-12
-41
30
45
-12
-22
-60
-13
45
0
0
1
1
0
-21
27
-38
14
39
-18
-14
-3
-4
47
-27
6
0
0
0
1
0
16
34
19
27
12
97
-67
-37
-19
52
66
7
0
0
0
2
0
0
8
-18
-35
-12
39
-55
-31
11
14
16
-4
0
0
0
0
0
0
1
35
1
-4
-12
12
-44
-16
33
-23
24
0
0
0
0
0
0
0
0
0
0
-2
13
-15
17
-4
7
-9
0
0
0
0
0
-2
10
0
0
0
1
-7
56
59
7
17
2
0
0
0
-1
1
-1
-1
0
0
0
-2
12
59
2
-6
45
-16
0
0
0
0
14
2
0
17
-5
12
-18
18
11
83
-23
-2
-7
0
0
0
0
-1
-4
23
5
31
4
-28
0
-48
4
-16
-1
32
0
0
0
-1
3
2
-25
-27
21
-5
57
-60
4
-53
-2
-35
44
0
0
0
3
-6
-21
-25
15
-30
8
37
-51
8
43
0
6
-45
0
0
0
0
0
5
-10
23
-47
-23
44
35
-4
2
-30
-2
23
0
0
0
0
-2
-1
4
-16
-20
-3
5
2
-3
75
-14
9
-8
0
0
0
0
3
-2
1
-1
-2
9
1
11
19
6
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
1
-5
-2
0
0
0
-25
35
59
62
-14
63
-15
0
7
-20
-55
-9
39
-21
0
0
0
-51
-12
10
-81
-102
-18
31
0
-2
-35
-10
17
-35
8
-51
-9
59
7
-20
81
43
32
-37
-18
0
-6
22
40
16
-34
-36
-50
73
23
20
-28
-45
-14
25
-52
6
0
3
10
-2
1
-10
-31
-60
-8
-64
-26
-20
-26
54
24
23
-14
1
-2
0
-5
-11
-11
-56
1
12
-29
92
53
-62
72
-14
0
-8
0
0
0
-5
-2
-47
-22
3
53
10
-32
-13
-3
23
-9
-15
14
0
0
1
-2
0
0
8
-10
7
21
10
35
7
8
-5
18
-14
0
0
0
0
0
0
-2
3
1
2
0
-17
-9
-5
-13
-4
0
0
-4
26
-3
50
5
-6
0
0
0
12
-43
-31
-7
-45
4
0
0
-5
-69
-14
-12
-51
23
0
0
0
-13
12
-66
0
15
87
0
1
-1
11
31
38
-22
-3
-21
-44
26
19
6
5
35
4
-14
0
1
-1
-5
0
8
-17
5
-22
-40
4
-47
15
10
25
-57
-73
0
0
-3
-30
29
-34
65
-54
45
31
-4
-54
45
-15
-72
-36
-9
0
0
6
-5
-44
4
-20
65
-18
-23
-43
-31
53
-16
-47
17
-2
0
0
1
7
-47
-16
-4
-21
-27
-22
8
-18
-29
6
9
4
-51
0
0
5
-2
-39
21
51
-3
-13
25
27
6
49
-12
-17
-17
10
0
0
0
0
-1
-23
33
-46
-3
82
-23
25
12
-11
-7
-2
3
0
-4
-42
15
-27
5
11
5
0
0
0
51
15
-39
-1
4
1
0
3
1
13
-8
27
7
-5
0
0
0
22
88
19
20
8
14
0
13
-17
-31
8
0
-7
-1
-12
-5
-21
45
-44
28
88
-44
5
0
6
33
-11
-24
-22
-9
-16
10
24
30
-54
-14
102
-32
-3
0
0
-9
-4
10
-8
-6
-5
11
-43
-38
-43
93
20
60
-30
-18
0
0
4
13
-19
16
4
-2
0
-9
7
44
-56
19
-98
-11
-11
0
0
19
65
-26
-14
12
31
-2
5
-4
32
32
-8
-35
29
-8
0
0
-2
-10
-15
40
23
-5
-3
23
-27
-38
7
33
-100
-4
-2
0
0
9
-29
-23
14
-14
-33
-5
-25
27
1
-7
-50
-3
0
4
0
0
-1
13
0
11
30
13
-2
0
0
0
5
37
-10
-17
-4
0
0
2
-17
-14
-52
31
22
2
0
0
0
44
11
14
16
23
0
0
8
5
10
-15
21
-2
7
-6
-4
8
-1
-82
64
27
89
0
0
-5
3
-7
10
29
5
53
-39
-5
-27
-16
29
-27
14
14
0
0
-2
0
41
36
12
-23
5
-51
7
-62
-11
-87
-21
-13
21
0
0
8
11
45
-50
3
-23
6
-65
48
-54
71
-1
-112
-1
19
0
0
0
2
-4
16
-34
38
20
-57
29
14
-22
0
-31
21
-5
0
0
1
-16
24
-74
6
-29
-5
-24
52
16
-3
-22
-36
7
0
0
0
0
0
0
1
0
0
-1
-4
31
14
32
45
8
5
-1
0
0
0
0
-1
-32
-36
-42
-14
0
0
0
14
-14
77
6
21
-6
-47
0
-2
-5
-3
55
-5
45
0
0
0
70
51
56
-5
22
-1
19
0
-5
7
-23
14
-26
-29
36
48
2
-2
47
-5
14
-58
-67
-84
0
0
-15
8
-14
33
26
-91
62
-60
110
24
48
-32
16
18
-18
0
0
5
2
-42
24
2
37
-56
-3
17
-5
22
-22
-16
3
-75
0
0
-4
-7
0
-20
-5
54
-17
-1
93
-16
-3
-39
-84
20
20
1
0
3
-5
-11
3
-24
18
-53
70
4
-14
-20
-11
-53
5
-25
0
0
4
10
-8
1
-9
-15
-1
-40
-20
-41
-14
-8
-32
9
-4
0
0
0
0
0
-1
0
-3
-6
-9
-8
-18
-11
-2
-5
-13
-1
0
0
0
-1
-19
-14
29
0
0
0
-18
-12
20
-28
59
-9
-27
0
0
0
-7
4
-20
78
0
0
0
84
-14
-34
-42
-3
-71
31
1
0
-1
-3
-1
42
-7
21
11
-41
73
32
-41
-73
-9
-10
8
0
0
0
5
21
43
2
-5
-43
-2
39
8
30
7
38
-40
2
0
0
0
7
2
-21
-30
-24
44
-38
43
-37
48
-13
14
-64
-27
0
0
0
1
3
-5
-43
14
23
8
0
17
33
-18
-8
-46
5
0
0
0
-7
-5
0
-18
-1
66
-57
10
23
-31
-16
48
-2
-20
0
0
0
-1
0
-5
-2
15
-7
-17
20
-31
-4
-37
-11
25
-5
0
0
0
0
0
0
-7
-7
-10
17
-4
-9
11
4
0
3
0
0
0
1
5
-2
32
-23
0
0
0
1
53
34
-5
35
1
45
0
1
-20
-18
8
40
51
0
0
0
-26
31
-12
21
9
91
61
0
0
1
2
-27
-34
-27
36
15
59
14
-45
93
42
-8
63
-52
0
-1
-3
-23
-30
-43
45
55
15
18
-43
-7
55
-5
9
-53
15
0
1
-4
-35
-1
4
-19
3
75
-35
23
5
13
5
-4
-59
-45
0
0
-3
44
-5
2
0
-2
28
-14
26
-43
-5
34
-90
24
46
0
0
7
-23
-9
-18
-40
0
31
89
100
-98
-16
-39
-9
11
-31
0
0
0
8
13
-24
-5
-60
72
-50
11
1
9
17
5
-32
-27
0
0
0
0
-1
13
33
-14
-52
-3
-1
48
17
1
-2
14
0
0
0
73
-4
11
-100
-106
-120
0
8
0
-31
-6
0
-16
-107
0
0
57
42
38
52
-147
-201
0
15
0
49
-11
-11
-14
-136
0
0
-31
-7
-5
-58
-199
-200
0
-93
0
-66
-71
-108
-144
-133
0
0
43
-89
-62
-195
-385
-298
0
-109
0
-25
13
-71
-252
-227
0
0
42
-26
36
11
-190
-219
0
-26
0
-33
-11
-8
-106
-228
0
0
79
105
110
79
-150
-393
0
-17
0
40
1
-2
-63
-188
0
0
56
-43
-22
-60
-224
-284
0
-105
0
-17
-36
-116
-214
-253
0
0
63
-58
4
-88
-458
-556
0
-88
0
-6
-6
-29
-269
-345
0
0
3
-16
24
-8
-68
-176
0
-14
0
-18
-4
-5
-40
-88
0
0
65
89
123
43
-150
-244
0
-5
0
55
30
14
-28
-92
0
0
15
28
37
-18
-77
-123
0
-33
0
-7
6
-38
-73
-85
0
0
7
2
29
-56
-176
-216
0
18
0
2
11
41
-14
-72
0
0
-23
-56
-64
-1
58
77
0
22
0
23
18
11
90
175
0
0
-27
3
106
-45
11
26
0
-51
0
81
48
41
-15
-40
0
0
23
1
-48
28
138
97
0
58
0
-34
14
71
166
236
0
0
-3
27
23
-61
-11
-30
0
20
0
30
64
20
43
109
0
0
0
0
0
0
0
0
24
-14
15
49
96
24
-1
4
0
0
51
-11
18
11
25
-14
53
-8
0
0
0
-37
-7
8
0
0
0
0
0
0
0
-4
111
12
-17
-33
29
71
-3
9
0
0
-107
15
12
-18
-11
16
0
51
27
0
0
19
0
2
0
0
0
0
0
0
-1
16
-61
47
125
62
13
-51
-8
19
0
0
64
13
-15
-14
-35
22
0
71
9
-4
-5
-16
0
2
0
0
0
0
0
0
9
1
-23
22
-13
14
100
71
14
-5
0
0
-1
0
0
21
-29
-7
0
-31
58
-17
-23
33
-3
0
0
0
-2
0
0
0
7
-43
-8
-20
-9
56
20
-5
-3
0
0
0
0
0
0
0
-4
1
0
-24
53
-27
35
5
3
0
0
0
22
0
-1
6
-15
-35
13
45
-31
5
102
6
-5
0
0
0
0
0
0
0
0
1
0
5
118
1
-4
-21
-2
0
0
0
23
-24
-98
-23
51
-24
-2
4
-4
5
13
36
7
-3
0
0
0
0
0
0
0
0
0
7
22
46
-14
-11
-2
-1
0
0
-63
-4
-81
3
68
-10
-7
30
32
1
0
25
0
-10
0
0
0
0
0
0
0
1
0
1
23
7
1
-7
0
-10
0
0
69
29
-41
1
24
1
0
3
0
0
0
29
2
15
0
0
0
0
0
0
0
0
0
-22
-44
-1
-68
-3
0
0
0
0
0
0
0
0
0
-1
60
-8
27
66
-11
23
13
24
0
0
-15
-6
3
-19
24
9
0
-9
0
0
0
-48
13
14
0
0
0
0
0
0
1
1
53
55
47
60
53
39
-6
-10
0
0
20
20
0
18
3
14
38
-21
15
-3
0
-7
9
8
0
0
0
0
0
0
9
-10
-20
6
106
-17
80
86
7
-4
0
0
-36
24
40
-31
80
33
0
49
52
-6
-31
-25
-14
0
0
0
1
0
0
0
14
-1
-9
-44
49
-15
11
6
45
-2
0
0
-11
0
14
38
-9
-13
0
27
84
-5
5
148
13
2
0
0
11
0
0
0
-66
7
-9
-54
35
-26
15
-60
-5
5
0
0
0
0
0
0
-12
-8
0
35
128
-35
19
-23
-3
2
0
0
24
-1
11
-33
-17
-41
-6
4
-28
43
46
-30
20
-1
0
0
0
0
0
0
-1
0
0
9
30
-37
0
-17
-9
1
0
0
-24
49
27
29
-14
-15
-3
42
52
-9
-46
43
-5
1
0
0
0
0
0
0
0
2
0
34
2
-24
-60
-16
2
-2
0
0
6
-44
61
31
28
33
0
36
48
17
0
31
-5
1
0
0
0
0
0
0
0
-1
0
-56
-43
15
-43
-38
-6
5
0
0
7
-37
-26
6
-45
59
7
48
0
0
0
31
6
17
0
0
0
0
0
0
0
5
0
-48
-51
15
3
-5
-2
-4
0
0
0
0
0
0
1
-2
14
78
33
11
29
1
-3
-16
0
0
13
30
34
-8
57
18
0
-7
0
0
0
-10
-13
-24
0
0
0
0
0
0
-3
0
39
-20
19
7
39
72
-3
23
0
0
-10
8
0
-14
-53
-21
0
7
13
18
0
-47
-1
14
0
0
0
0
0
0
0
-6
-8
-64
57
42
70
21
3
-9
0
0
-2
-32
17
32
20
5
20
-24
14
14
23
61
11
0
0
0
0
0
0
0
-18
-1
24
-21
28
42
0
42
23
2
0
0
26
-2
-9
5
20
47
0
-5
106
14
-26
-4
-17
-2
0
0
0
0
0
0
5
23
-28
53
14
18
26
30
16
22
0
0
0
0
0
0
11
-13
0
33
8
21
11
33
-21
-2
0
0
-5
0
6
-21
36
-40
4
3
13
76
51
51
-23
7
0
0
0
0
0
0
-4
-3
0
47
53
-36
-57
8
-1
14
0
0
-1
-26
16
20
-10
15
0
-15
4
11
13
5
-14
2
0
0
0
0
0
0
-5
2
0
43
11
-39
-6
-46
-2
0
0
0
72
5
36
4
17
15
3
4
14
4
0
66
-5
7
0
0
0
0
0
0
1
1
0
-14
-11
-54
-17
13
-24
-7
0
0
70
13
33
4
-10
7
2
30
0
0
0
14
20
16
0
0
0
0
0
0
0
-1
0
-27
-11
4
-1
-9
6
7
0
0
0
0
0
0
1
11
-3
47
12
13
43
27
-8
-23
0
0
18
-9
4
-4
61
18
0
13
0
0
0
-34
-6
27
0
0
0
0
0
0
3
-8
49
-3
72
7
13
39
55
25
0
0
70
45
21
-2
-9
-68
0
18
18
-11
0
-46
23
23
0
0
0
0
0
0
-2
-6
-48
12
51
21
39
-62
-60
14
0
0
78
-36
77
13
16
28
0
-41
3
-13
-14
-33
33
-3
0
0
0
0
0
0
-5
16
5
75
34
44
39
9
-8
-11
0
0
-13
0
-12
-5
-60
65
6
16
131
-20
29
0
25
-2
0
0
4
0
0
0
26
-5
5
-18
47
42
-7
55
-3
-9
0
0
2
0
0
0
20
1
0
48
9
13
-3
-21
-32
-10
0
0
-26
1
31
-23
6
-1
0
15
-19
-33
1
-28
14
-5
0
0
0
0
0
0
-2
-11
0
26
5
-30
-16
-6
13
23
0
0
19
56
-21
27
-13
-17
-4
-17
-45
4
10
18
-14
3
0
0
0
0
0
0
13
0
0
-55
-15
-14
-78
-71
2
-13
0
0
-8
-35
61
2
13
5
6
1
47
5
0
29
-4
-13
0
0
0
0
0
0
4
1
0
-18
-33
13
-39
32
-41
-35
0
0
15
3
-9
-3
-18
22
-13
-17
0
0
0
18
-6
14
0
0
0
0
0
0
0
0
0
-21
-18
-14
-49
10
-37
-7
0
0
0
0
0
0
-5
-10
-20
-56
24
-12
20
28
14
7
0
0
-28
16
-10
9
74
23
0
16
0
0
0
-18
25
10
0
0
0
0
0
0
8
3
24
28
-84
94
13
-12
42
58
0
0
-25
4
102
17
13
-3
0
8
14
-2
0
-13
-23
11
0
0
0
0
0
0
-2
-2
-14
61
22
-2
-46
58
25
61
0
0
5
-24
-13
77
44
0
0
17
78
-11
46
19
36
11
0
0
0
0
0
0
-8
18
-4
26
30
32
44
15
23
-6
0
0
-25
-1
-33
-31
25
16
0
26
10
23
17
-2
-2
-2
0
0
0
0
0
0
-3
43
0
-24
-6
16
22
6
-6
11
0
0
1
0
0
0
-32
5
2
14
53
-22
3
33
4
13
0
0
31
1
-17
2
77
-27
-5
-3
-10
11
6
-43
-18
-6
0
0
0
0
0
0
28
-2
0
40
5
15
-14
-14
31
-14
0
0
-23
32
4
61
58
-4
28
-52
-6
2
3
23
2
6
0
0
0
0
0
0
-3
-9
0
16
13
-29
27
1
8
33
0
0
63
5
-17
22
-31
33
9
14
-34
8
0
27
15
-23
0
0
0
0
0
0
-13
-8
0
-25
-53
2
21
18
-65
36
0
0
11
5
16
-2
-88
-8
8
15
0
0
0
-72
9
-29
0
0
0
0
0
0
2
0
0
-7
-1
36
-14
-6
-53
-55
0
0
0
0
0
0
41
18
-24
-51
-25
-9
7
-68
2
-1
0
0
-12
-100
-37
5
51
0
0
-28
0
0
0
-51
-21
22
0
0
0
0
0
0
-30
-48
15
6
17
69
-33
-29
-21
14
0
0
5
6
14
37
70
-16
0
43
20
-47
0
86
33
-14
0
0
0
0
0
0
-10
-29
-7
32
-2
75
53
6
36
-46
0
0
78
56
45
-43
-9
-5
0
-9
-18
-43
-29
-3
31
-43
0
0
0
0
0
0
57
66
0
54
37
-13
32
95
95
-18
0
0
5
-41
24
0
-71
8
0
-18
28
21
-47
9
-22
-36
0
0
-1
0
0
-7
-5
-29
4
-24
46
25
1
15
35
3
0
0
25
0
0
4
-24
-1
0
-18
20
66
69
81
-100
-3
0
0
60
5
26
42
-2
-14
-5
-7
-44
1
-64
-34
9
4
0
0
0
0
0
0
-24
-5
5
56
13
-6
20
42
-19
41
0
0
25
29
25
-24
-6
45
-24
32
-33
43
54
-27
-7
31
0
0
0
0
0
0
-16
-41
0
7
20
-24
-14
-22
-15
0
0
0
-14
62
-21
21
-5
16
9
33
-59
20
0
29
-76
-6
0
0
0
0
0
0
18
67
0
-1
-19
-24
-28
-68
15
-3
0
0
51
58
-78
-46
-17
-14
23
-22
0
0
0
-16
8
14
0
0
0
0
0
0
-7
13
0
26
-60
0
-7
-99
-28
-7
0
0
0
0
0
0
-14
33
-7
2
51
-6
-6
-10
25
6
0
0
-72
-61
5
12
-12
18
0
43
0
0
0
-1
20
42
0
0
0
0
0
0
31
32
-1
1
-10
29
42
2
-13
27
0
0
38
1
-34
65
14
12
0
-57
-55
-53
0
19
32
-14
0
0
0
0
0
0
-29
91
0
15
-8
15
4
0
6
10
0
0
51
9
28
99
13
-30
0
29
52
-24
27
71
79
-36
0
0
0
0
0
0
14
-9
4
-13
-10
-22
52
20
22
-11
0
0
4
101
119
7
12
-20
0
7
35
23
17
9
-11
2
0
0
20
0
15
19
49
35
17
-16
19
-18
11
7
37
46
0
0
-12
14
1
-16
15
24
0
-30
-5
47
-34
4
-5
-14
0
0
-77
-30
-46
38
41
-17
48
-33
-34
-6
4
-12
62
20
0
0
-6
0
0
0
22
-38
0
11
-3
-13
8
6
-23
10
0
0
-24
-13
-25
0
19
-17
8
58
-62
25
72
-76
-14
-35
0
0
0
0
0
0
20
-15
0
-1
-10
-53
-13
-6
-38
-5
0
0
38
62
25
-70
-46
12
22
-21
-8
44
0
-20
-54
82
0
0
0
0
0
0
-2
-45
0
-4
-36
-57
26
-20
-7
-6
0
0
15
34
4
69
11
-16
61
10
0
0
0
10
-3
-49
0
0
0
0
0
0
57
-42
0
-13
-67
1
-5
-31
-8
-4
0
0
0
0
0
0
38
-2
0
1
27
1
0
8
18
15
0
0
-56
-19
-32
-24
-24
-15
0
-40
0
0
0
-3
-12
1
0
0
0
0
0
0
48
47
0
-1
10
17
32
2
2
0
0
0
-21
-54
-81
-40
-17
-16
0
-40
10
-34
0
-14
-21
-11
0
0
0
0
0
0
53
-3
2
1
1
10
-1
0
5
11
0
0
8
-8
-30
-24
-22
-7
0
-48
5
-51
-77
-17
-10
42
0
0
-34
0
0
-45
14
-20
-13
-6
2
5
-11
-4
6
6
0
0
63
29
-50
27
-15
-39
0
-41
37
7
-15
-1
-8
-13
0
0
-1
132
22
-32
15
4
-22
-26
2
27
-3
-4
12
17
0
0
-35
45
77
9
-6
-28
0
55
1
20
12
30
11
-13
0
0
-83
109
-75
4
0
63
-48
14
-17
7
30
7
33
9
0
0
-10
5
21
-11
3
-8
0
23
0
28
62
4
-1
0
0
0
-35
-20
13
2
9
25
-33
-17
-12
5
66
12
-13
78
0
0
14
0
0
0
-9
-30
0
0
0
5
1
0
-2
14
0
0
-3
11
-7
-16
9
11
-53
-54
9
18
0
6
13
12
0
0
0
0
0
0
5
-18
0
0
28
-5
19
-2
-4
-2
0
0
47
50
56
58
24
19
-111
57
0
0
0
36
-13
-7
0
0
0
0
0
0
-65
-30
0
-2
43
0
1
-10
-12
1
0
0
0
0
0
0
46
32
0
6
-27
0
-1
12
18
7
0
0
-35
-32
-51
-53
-16
-30
0
-70
0
0
0
-14
49
6
0
0
0
0
0
0
41
-18
0
0
-47
4
-9
5
5
3
0
0
-2
-18
27
-41
10
27
0
-35
49
-25
0
-14
63
16
0
0
0
0
0
0
-11
31
9
-4
-1
-15
-4
-2
2
-23
0
0
1
-19
-2
-51
-19
-8
0
69
56
3
-141
29
35
14
0
0
2
0
0
-11
-29
32
26
-18
0
-18
-56
-6
-11
-19
0
0
33
-45
5
10
33
-2
0
20
28
14
27
6
-24
2
0
0
-101
-23
-91
-40
-10
33
22
-43
-12
-33
-8
-52
-14
-3
0
0
27
-13
4
65
-5
28
0
-9
0
-22
-3
12
-6
-3
0
0
-24
-48
-9
-16
10
49
3
-11
-70
3
-8
0
-14
3
0
0
0
0
0
19
12
51
0
3
-2
-66
-41
5
-3
3
0
0
-4
21
20
-5
16
-6
-14
42
-19
13
33
19
-44
-73
0
0
0
0
0
0
3
62
0
-1
-2
-10
0
1
-4
-2
0
0
7
-9
32
56
-7
-35
-60
37
-7
41
0
12
-14
-5
0
0
0
0
0
0
-7
-12
0
0
-13
-16
7
-1
-2
1
0
0
23
71
147
75
35
-3
-24
73
0
0
0
80
28
-39
0
0
0
0
0
0
28
-5
0
-1
-32
-1
0
-8
-10
-9
0
0
0
0
0
0
24
83
81
-36
42
17
73
-8
-36
-4
0
0
112
-18
43
-55
-23
-27
25
24
0
0
0
16
-12
105
0
0
0
0
0
0
63
-50
111
9
19
1
33
-67
2
88
0
0
42
70
-2
85
48
17
0
112
14
-6
0
55
44
-19
0
0
0
0
0
0
124
104
-15
-59
56
108
30
2
-43
24
0
0
43
30
21
95
14
15
0
18
112
50
-47
50
91
17
0
0
0
0
0
0
6
-41
-32
-41
29
103
80
20
-85
-32
0
0
12
0
58
-10
-28
-16
0
5
180
66
-84
46
29
6
0
0
-3
0
0
0
40
11
-41
12
24
68
74
44
17
56
0
0
0
0
0
0
-66
7
0
-33
126
-11
75
-35
50
38
0
0
107
0
5
-59
-23
-78
-32
-24
26
30
158
36
61
-20
0
0
0
0
0
0
-38
-15
0
11
21
-1
10
-29
-63
21
0
0
29
-53
-45
27
40
-44
13
49
119
41
176
132
-6
-55
0
0
0
0
0
0
87
99
0
11
-3
56
-59
12
-49
-17
0
0
46
5
-68
24
81
11
-11
76
21
16
0
47
19
38
0
0
0
0
0
0
-1
-32
0
-73
-120
19
-18
-138
-97
-108
0
0
63
-14
18
33
58
18
0
157
0
0
0
124
93
10
0
0
0
0
0
0
0
16
0
-9
-121
-42
-87
-110
-33
-57
0
0
0
0
0
0
25
8
80
-13
49
93
-14
105
62
17
0
0
-14
7
85
-55
61
56
0
-32
0
0
0
-23
110
71
0
0
0
0
0
0
17
-20
84
-20
44
111
-7
8
-25
-60
0
0
28
39
5
63
18
46
11
41
65
9
0
10
50
42
0
0
0
0
0
0
204
-106
8
28
41
1
24
-3
56
-2
0
0
58
-12
56
15
81
11
0
37
112
25
-54
23
-89
6
0
0
0
0
0
0
41
45
-55
-14
27
-18
31
-10
12
-29
0
0
62
24
19
17
13
4
0
64
102
24
87
87
-24
-1
0
0
33
0
-1
-3
-55
-42
-5
-29
0
18
106
8
-24
30
0
0
15
0
0
-1
-27
-43
0
56
69
-6
16
46
-34
-18
0
0
11
-4
2
-92
-42
9
10
-54
23
64
129
9
62
56
0
0
0
0
0
0
-34
8
0
15
27
-25
49
15
-80
18
0
0
31
-23
39
22
86
-13
-24
82
141
-33
24
33
-3
73
0
0
0
0
0
0
-56
1
0
-23
-9
3
-52
-1
-19
-70
0
0
98
7
118
21
4
72
0
26
76
56
0
139
-77
45
0
0
0
0
0
0
-5
26
0
-19
-68
-41
-8
-45
-16
-32
0
0
103
-46
27
46
-34
6
11
66
0
0
0
35
47
-2
0
0
0
0
0
0
-16
-38
0
-170
-93
-39
-71
-97
-30
14
0
0
0
0
0
0
51
-45
11
26
-16
11
21
11
-5
-46
0
0
19
17
-50
-32
44
31
0
6
0
0
0
-14
91
22
0
0
0
0
0
0
-21
-3
39
8
46
3
43
11
-38
-24
0
0
58
33
-5
12
6
2
0
4
62
46
0
37
-2
43
0
0
0
0
0
0
21
-70
-7
-32
50
16
47
-24
6
-14
0
0
28
-54
11
59
1
32
16
-8
3
-37
56
58
-13
37
0
0
-8
0
0
0
-9
-84
-73
28
34
45
-35
-19
66
21
0
0
-21
3
-12
42
28
-14
0
-23
60
10
-23
17
39
-26
0
0
-65
0
2
1
66
-44
-70
-17
1
13
56
24
-22
-3
0
0
11
0
0
0
6
-27
0
93
61
12
10
-9
-33
-14
0
0
-14
12
45
-37
-13
12
8
22
75
7
82
44
-43
34
0
0
0
0
0
0
-25
54
0
63
44
-31
-46
-6
-103
19
0
0
20
-38
22
34
19
-13
0
5
83
60
43
63
-5
14
0
0
0
0
0
0
46
38
0
-6
-9
-91
-20
-13
-12
-149
0
0
86
14
24
-22
-17
56
24
70
27
21
0
72
12
43
0
0
0
0
0
0
-5
5
0
-49
-73
15
9
-71
-61
-25
0
0
22
-22
-18
2
-16
26
-14
89
0
0
0
102
41
70
0
0
0
0
0
0
13
-67
0
-91
-38
-6
-52
-78
-13
-23
0
0
0
0
0
0
-52
-65
-21
-17
-12
15
6
5
-30
-70
0
0
21
23
-2
-43
42
66
0
22
0
0
0
-45
-46
110
0
0
0
0
0
0
-38
21
25
-2
64
59
19
17
124
-35
0
0
58
51
24
26
31
18
0
27
62
-76
0
13
60
19
0
0
0
0
0
0
-22
-125
6
14
48
-13
19
9
-63
-4
0
0
14
45
7
-13
-32
75
0
51
-1
48
45
37
109
-33
0
0
0
0
0
0
-23
14
-7
19
11
40
67
-30
-7
-14
0
0
49
8
-5
14
-59
-12
9
-17
47
-50
-2
22
24
-65
0
0
11
0
-5
-9
16
-21
-9
-7
7
21
31
4
19
70
0
0
-9
0
0
-3
-33
-21
0
20
5
11
-20
-2
-38
36
0
0
-12
-57
51
-31
33
-9
0
-10
33
4
46
7
126
56
0
0
0
0
0
0
-41
-57
0
39
16
-1
-19
16
-29
32
0
0
12
39
15
80
-25
3
-8
1
-8
52
93
120
-70
54
0
0
0
0
0
0
-2
-89
0
-30
-5
-45
-16
-48
-25
-39
0
0
36
19
77
52
-33
-33
-10
127
18
54
0
28
-17
-8
0
0
0
0
0
0
-31
1
0
-39
-70
-10
50
-44
-63
-33
0
0
13
1
43
3
-6
-3
32
57
0
0
0
97
28
29
0
0
0
0
0
0
32
12
0
-100
-52
-19
-22
-61
-59
-15
0
0
0
0
0
0
-7
-41
5
-5
-14
-18
0
38
24
-4
0
0
11
41
-23
28
108
53
0
5
0
0
0
15
-15
16
0
0
0
0
0
0
95
-2
-1
-21
-55
142
9
-44
35
62
0
0
23
-18
77
46
2
-15
0
0
-13
-6
0
49
-34
-51
0
0
0
0
0
0
50
92
-25
-23
16
51
-4
-23
17
51
0
0
22
-18
7
-20
26
-25
0
58
74
14
38
44
-30
-59
0
0
0
0
0
0
-38
76
-16
52
23
24
37
-23
3
4
0
0
-23
-75
38
-24
2
-8
0
-9
20
-6
-32
-15
-6
7
0
0
-24
0
53
-4
4
-12
0
67
20
-20
39
43
37
58
0
0
-63
0
-1
25
-11
-41
6
19
20
-57
-10
40
4
43
0
0
-53
-18
-88
50
-64
-5
9
6
20
47
84
54
-24
33
0
0
0
0
0
0
-57
63
0
20
10
4
-22
-3
5
-5
0
0
14
30
29
52
10
-1
70
9
30
59
94
20
-50
5
0
0
0
0
0
0
2
-5
0
-4
-3
25
-14
-23
22
-23
0
0
24
34
-4
64
32
3
5
37
8
89
0
19
-15
-56
0
0
0
0
0
0
-92
-14
0
-8
-40
0
12
-57
-57
-15
0
0
53
50
42
33
14
4
41
21
0
0
0
25
-23
-34
0
0
0
0
0
0
-32
4
0
15
-96
-11
-37
-46
4
-31
0
0
0
0
0
0
24
-1
-2
5
13
4
-7
7
9
-16
0
0
-20
-93
47
-24
-38
-12
0
-4
0
0
0
-30
4
10
0
0
0
0
0
0
-48
28
-5
9
5
34
-16
-14
14
4
0
0
-35
19
20
47
4
-2
0
12
-21
-84
0
4
0
15
0
0
0
0
0
0
-13
55
7
13
-6
51
23
33
8
12
0
0
36
14
2
4
-29
4
0
36
14
-25
-73
27
-3
-22
0
0
0
0
0
0
39
19
0
-9
26
18
38
-11
4
2
0
0
47
15
55
12
-24
-28
0
71
8
9
-35
-29
-27
-9
0
0
20
1
22
17
-26
54
16
33
12
31
14
32
49
-34
0
0
11
-2
-23
-8
22
-82
0
14
28
-6
10
-2
-16
-16
0
0
-10
0
-2
12
-2
-14
7
56
39
23
26
11
12
-18
0
0
4
0
0
0
-35
-45
5
6
11
-10
-3
13
-3
-23
0
0
33
61
50
8
-4
29
73
42
93
62
77
-7
-30
-32
0
0
0
0
0
0
9
-54
0
-23
-3
-1
-26
-18
-18
0
0
0
7
60
-23
0
13
14
55
46
71
166
0
-20
-42
43
0
0
0
0
0
0
34
-3
0
-11
-36
-33
30
-19
-2
-18
0
0
45
61
4
7
-9
8
32
63
0
0
0
32
-7
22
0
0
0
0
0
0
-21
-5
0
-33
-46
-5
-24
-29
24
6
0
0
0
0
0
0
76
82
-4
8
27
-5
-4
2
23
5
0
0
-35
-39
-93
1
-25
-13
0
27
0
0
0
-20
7
-2
0
0
0
0
0
0
29
85
-2
-7
6
15
-3
-3
51
12
0
0
-2
5
-18
-22
-19
-2
0
2
-18
-74
0
-6
-4
-18
0
0
0
0
0
0
38
62
0
8
-15
13
-7
0
52
39
0
0
6
15
10
3
-12
-15
0
-9
-18
-24
-44
-11
56
-75
0
0
4
0
0
0
-2
55
-6
7
-6
-18
6
12
20
0
0
0
-2
47
-13
23
10
-8
0
15
6
-38
-15
-4
-9
26
0
0
17
18
-27
57
43
19
25
4
11
-9
1
7
-2
24
0
0
33
16
34
24
-20
-8
0
-3
-2
25
-11
8
-27
-29
0
0
-6
-3
6
26
16
14
-6
21
-5
15
19
35
34
1
0
0
29
0
0
-3
1
-54
0
-14
-4
-4
7
-2
-13
-15
0
0
5
25
4
17
1
-7
7
3
13
120
71
6
35
-6
0
0
0
0
0
0
-54
36
-1
-16
-8
-16
-12
-18
-5
-13
0
0
28
7
9
5
-19
20
-7
8
17
-7
0
37
-22
-1
0
0
0
0
0
0
-32
-40
0
-16
-37
-18
-3
-22
-13
-8
0
0
7
17
16
-44
-5
-2
15
-2
0
0
0
-13
-29
-15
0
0
0
0
0
0
-19
39
0
-16
-53
-5
-14
-34
-9
-4
0
0
0
0
0
0
72
57
0
-3
-2
-1
2
9
36
24
0
0
-44
7
-47
5
-24
0
0
-71
0
0
0
-20
8
13
0
0
0
0
0
0
72
7
0
-2
5
-1
35
1
29
8
0
0
-31
-44
-20
-43
-31
-23
0
-83
-18
-4
0
-48
-38
-15
0
0
0
0
0
0
16
63
4
1
1
4
5
2
29
17
0
0
-11
0
-9
-12
-17
-22
0
-43
8
-30
-28
-35
-7
-8
0
0
23
0
14
-48
26
41
6
12
2
4
-12
4
14
20
0
0
-71
-22
-26
-22
-20
-23
0
-57
15
16
3
-23
-10
-10
0
0
12
7
50
-18
25
53
1
3
3
3
-20
6
21
25
0
0
-55
20
-71
-55
2
-10
0
1
-7
32
14
-2
6
-21
0
0
-9
46
17
-2
23
30
-25
13
-14
-3
-16
0
25
39
0
0
-21
3
1
-18
16
-14
0
-6
-1
15
23
-1
5
-6
0
0
-14
2
-10
-6
19
-7
-39
-7
-6
-26
18
-2
16
21
0
0
15
0
0
0
-29
-36
0
1
1
4
-5
-1
-7
-9
0
0
-9
1
-13
14
37
16
-83
-6
3
-27
0
-4
51
-13
0
0
0
0
0
0
-12
-29
0
2
23
-7
17
-2
-8
-4
0
0
25
13
11
25
25
2
-109
-26
0
0
0
6
10
-16
0
0
0
0
0
0
-6
25
0
1
46
-2
1
3
-18
-11
0
0
0
0
0
0
30
58
0
4
-28
-1
1
24
46
25
0
0
-48
-38
-37
6
-38
-9
0
-35
0
0
0
-31
0
8
0
0
0
0
0
0
15
3
0
-5
-27
-12
34
12
14
6
0
0
-39
-27
-17
-28
-15
13
0
-63
-6
-108
0
-32
6
43
0
0
0
0
0
0
6
58
8
7
-1
-12
18
0
4
11
0
0
-34
2
-25
-27
-30
-20
0
-33
30
-54
-33
-17
-4
56
0
0
47
0
0
-39
-1
17
2
11
-1
-19
-50
5
-5
21
0
0
-1
-6
14
37
27
31
0
-24
-5
-6
16
-25
-10
-44
0
0
53
-14
-64
-26
7
87
-5
-34
-6
-5
5
-27
-13
31
0
0
17
8
-20
54
29
17
0
-65
-14
-11
15
-28
-24
-32
0
0
1
15
31
3
30
72
21
-15
-50
-43
-43
6
-15
3
0
0
52
0
0
82
35
-10
0
-49
-5
-6
-9
-19
-21
-34
0
0
-45
-23
-24
-23
35
47
-11
-8
-30
-49
1
-27
12
106
0
0
0
0
0
0
-10
-13
0
-20
1
-32
-10
-4
-22
-23
0
0
-21
16
18
-37
15
-22
-81
-55
-4
8
0
7
36
-12
0
0
0
0
0
0
-19
-39
0
2
-3
-10
-8
-3
-39
-8
0
0
24
10
8
33
29
-28
-81
14
0
0
0
22
-19
-24
0
0
0
0
0
0
36
-5
0
-2
8
0
-1
-12
-24
-46
0
0
0
0
0
0
-26
7
48
-96
108
-10
41
-75
12
-45
0
0
87
-29
-55
-5
38
4
18
143
0
0
0
57
51
64
0
0
0
0
0
0
24
-52
26
-9
26
-41
-1
-63
33
-22
0
0
18
42
48
24
68
29
0
75
30
46
0
-26
19
17
0
0
0
0
0
0
-57
38
42
-70
-8
53
-9
-36
-54
-55
0
0
58
75
16
-22
55
26
0
-49
131
-12
-20
48
92
4
0
0
0
0
0
0
-5
-94
-46
-38
-14
95
5
21
-40
24
0
0
29
0
19
34
-32
-47
0
128
227
128
17
31
14
16
0
0
9
0
0
0
33
-83
-37
-64
50
-33
68
149
-2
2
0
0
0
0
0
0
-43
1
0
-9
55
48
3
60
5
19
0
0
15
0
-13
-38
-21
-8
-13
-53
-4
62
133
81
-34
36
0
0
0
0
0
0
-49
67
0
24
4
6
39
64
-64
32
0
0
35
-13
47
-25
-54
-7
-8
129
145
33
122
125
-47
5
0
0
0
0
0
0
29
13
0
53
36
-72
-22
-58
17
-55
0
0
140
53
-8
48
17
45
0
51
113
14
0
-2
-4
48
0
0
0
0
0
0
-1
-15
0
-119
-81
-14
-25
-8
-69
-53
0
0
120
-14
16
51
79
56
0
79
0
0
0
43
-4
2
0
0
0
0
0
0
0
-5
0
5
-139
-59
-91
-111
14
-38
0
0
0
0
0
0
17
-78
47
8
51
45
-7
70
-4
-14
0
0
44
23
38
13
84
59
0
81
0
0
0
20
51
44
0
0
0
0
0
0
-73
62
45
1
44
71
42
-39
44
-114
0
0
63
32
82
-46
-8
-10
7
-4
35
27
0
29
84
-27
0
0
0
0
0
0
17
-90
16
-39
10
-30
22
-21
-2
47
0
0
50
14
15
16
52
-11
0
12
90
-27
89
102
-57
5
0
0
-60
0
0
0
3
74
8
43
19
41
-5
-58
26
49
0
0
12
23
-19
56
16
18
0
89
86
-82
25
72
-27
-4
0
0
59
0
-3
-3
-30
-53
-9
38
28
-22
13
-20
101
-4
0
0
8
0
0
-1
77
113
0
54
-15
40
16
110
-72
4
0
0
9
-12
41
-37
61
-2
-12
-41
46
-14
30
21
52
6
0
0
0
0
0
0
-16
-13
0
75
26
13
-30
-14
-16
53
0
0
55
61
-42
52
-18
-23
0
33
84
-11
32
81
-84
14
0
0
0
0
0
0
-18
-53
0
3
10
43
24
-32
14
-26
0
0
75
53
0
66
11
25
0
15
58
29
0
105
-111
24
0
0
0
0
0
0
10
29
0
-32
-71
-89
-5
-4
-40
-49
0
0
-13
5
75
35
11
41
0
30
0
0
0
14
64
-20
0
0
0
0
0
0
7
-1
0
-90
-9
-33
-68
-86
-39
30
0
0
0
0
0
0
63
-39
10
-11
-22
-10
-2
-45
-11
-120
0
0
4
-7
-59
24
6
15
0
46
0
0
0
-61
56
46
0
0
0
0
0
0
-25
33
16
14
24
27
29
-8
-77
-8
0
0
67
41
16
-10
15
25
0
64
63
9
0
89
52
-25
0
0
0
0
0
0
-26
-66
-9
3
21
29
6
-12
17
42
0
0
57
-32
11
17
-7
-5
8
-9
-4
1
-16
-20
-56
51
0
0
-29
0
0
0
-12
-72
-10
-4
26
-53
17
12
48
-27
0
0
-9
-3
-51
5
72
-46
0
5
61
-24
-43
-18
-7
-2
0
0
-35
0
-8
2
41
11
-5
19
23
-14
42
14
-34
-21
0
0
-7
0
0
0
-51
-6
0
63
30
-49
2
54
13
-6
0
0
15
6
71
-41
-12
4
5
36
36
-103
150
80
51
103
0
0
0
0
0
0
-29
11
0
37
19
33
37
26
-23
-49
0
0
17
8
-5
21
-46
-30
0
25
85
53
49
-5
-58
-46
0
0
0
0
0
0
6
16
0
-44
-17
-33
15
26
-58
-149
0
0
17
-33
29
-76
3
11
0
5
90
12
0
2
41
-23
0
0
0
0
0
0
33
-22
0
-49
-29
-2
-19
-42
-5
-32
0
0
11
-1
-35
-1
42
37
8
39
0
0
0
76
67
31
0
0
0
0
0
0
13
-2
0
-78
-37
-18
-11
-71
-27
-6
0
0
0
0
0
0
-15
-95
-2
-47
-15
19
-9
-5
-23
-89
0
0
31
18
20
-75
47
41
0
23
0
0
0
0
30
37
0
0
0
0
0
0
-90
-34
-10
1
32
-12
40
-18
-4
10
0
0
4
9
17
66
33
-18
0
41
58
-3
0
4
-15
-31
0
0
0
0
0
0
-84
-5
27
7
21
-12
21
44
-2
-14
0
0
31
30
-34
36
-23
58
0
21
32
61
66
-23
3
49
0
0
0
0
0
0
-38
-51
12
-12
5
25
12
-16
21
-18
0
0
19
-19
38
44
6
23
7
-3
52
16
-47
-41
-33
-43
0
0
-14
0
-36
-7
1
-29
-10
4
25
6
19
-15
33
55
0
0
1
0
0
-3
-71
-32
0
35
19
-45
12
9
-60
-71
0
0
-66
-21
-42
32
-25
-12
0
19
20
48
43
-40
94
82
0
0
0
0
0
0
-17
-70
0
8
20
3
22
1
-42
-32
0
0
5
7
32
28
0
30
-5
27
32
80
88
59
-85
-26
0
0
0
0
0
0
-50
-70
0
-7
-9
21
1
-18
-7
-23
0
0
35
28
47
25
-37
5
12
-16
72
34
0
8
-21
57
0
0
0
0
0
0
12
12
0
-14
5
-22
-4
-5
20
-37
0
0
3
5
24
69
32
10
13
80
0
0
0
89
59
38
0
0
0
0
0
0
27
3
0
-101
-79
-25
-27
-54
5
-1
0
0
0
0
0
0
-28
-110
4
-4
0
11
-3
66
-21
-13
0
0
-19
2
-59
42
32
44
0
-26
0
0
0
62
7
48
0
0
0
0
0
0
-6
59
-6
-7
4
5
5
-35
17
-17
0
0
24
10
23
45
63
9
0
87
-17
11
0
1
26
-21
0
0
0
0
0
0
-11
71
-8
-1
2
27
42
-14
-4
-62
0
0
13
29
26
-18
37
-58
0
43
5
-53
-32
1
-1
-43
0
0
0
0
0
0
-66
-36
6
21
14
7
-18
-18
25
45
0
0
0
-34
33
14
-11
-26
0
-22
8
-42
14
-5
-7
49
0
0
59
0
61
-17
2
16
0
-7
9
10
22
7
12
-4
0
0
17
0
-1
13
-10
11
2
45
7
-10
-17
43
-33
-5
0
0
-43
66
25
52
-28
-14
10
30
21
18
65
81
42
33
0
0
0
0
0
0
-42
76
0
4
18
-6
2
-2
-20
3
0
0
12
6
42
32
-32
8
5
67
24
94
63
7
50
-21
0
0
0
0
0
0
-53
-21
0
-6
-11
-4
-12
-33
-28
-36
0
0
33
70
22
59
16
31
9
49
98
91
0
26
-29
-33
0
0
0
0
0
0
-42
18
0
-21
-12
-34
22
-45
-14
-4
0
0
38
43
-6
28
18
28
37
64
0
0
0
39
-17
-21
0
0
0
0
0
0
-35
38
0
-34
-35
-17
-16
-49
11
-3
0
0
0
0
0
0
0
-21
-4
-1
28
6
-21
18
-8
-20
0
0
-25
23
-57
-28
-37
-10
0
-78
0
0
0
-6
20
-18
0
0
0
0
0
0
-53
-20
7
12
5
48
14
0
19
9
0
0
-30
-20
-20
-74
-9
6
0
2
-29
-99
0
-8
60
31
0
0
0
0
0
0
23
-26
5
13
-3
32
34
8
24
-32
0
0
6
8
-2
44
-16
-18
0
-10
22
-10
-7
3
-49
-19
0
0
0
0
0
0
-31
19
0
1
17
26
10
-19
-5
-5
0
0
-53
-9
84
-62
-24
14
0
7
1
6
-5
24
16
-43
0
0
-1
1
3
0
7
23
-6
22
25
20
17
2
39
-13
0
0
-31
-3
5
-13
-8
-53
0
38
15
-22
-7
4
-17
13
0
0
-48
-73
-12
-32
23
7
-12
34
26
0
64
20
7
-15
0
0
4
0
0
0
-14
-87
5
-10
20
-6
9
3
-8
-81
0
0
14
14
-6
52
13
22
10
33
36
22
72
70
11
-33
0
0
0
0
0
0
-34
-18
0
-26
-1
-42
3
-20
-32
-63
0
0
19
36
46
11
20
27
-8
20
38
91
0
-17
-13
70
0
0
0
0
0
0
19
-97
0
-27
2
-36
-17
-23
-5
-18
0
0
6
-32
-10
76
-3
12
46
50
0
0
0
58
3
19
0
0
0
0
0
0
-27
-36
0
-19
-32
5
-22
3
22
21
0
0
0
0
0
0
65
115
1
13
13
-4
3
23
43
13
0
0
-35
-32
-53
-45
-10
1
0
-19
0
0
0
-44
-2
-4
0
0
0
0
0
0
38
-3
-6
1
4
11
2
4
39
1
0
0
0
-6
7
5
-49
-12
0
-35
-29
-92
0
-16
-25
5
0
0
0
0
0
0
22
31
0
4
-17
11
1
3
25
38
0
0
-27
-5
-7
-10
7
-16
0
-34
5
-28
-58
1
-4
13
0
0
1
0
0
0
38
23
-5
13
-10
5
10
23
32
12
0
0
57
-25
-30
-25
4
12
0
-22
15
-5
-10
9
2
-37
0
0
-7
-6
-55
0
-24
35
8
-14
2
10
-10
1
43
12
0
0
2
34
37
11
35
-13
0
-8
-7
12
-29
-1
6
-19
0
0
38
-22
-8
33
3
11
-26
13
-7
14
21
5
29
-32
0
0
-8
0
0
0
-4
-29
0
-12
-6
8
-12
-19
-17
-11
0
0
24
-8
-1
3
13
-7
9
28
22
77
20
5
-14
-72
0
0
0
0
0
0
27
8
-2
-14
-4
-25
-30
-15
4
-13
0
0
23
16
43
44
3
17
-15
17
5
53
0
59
-2
12
0
0
0
0
0
0
-11
2
0
-17
-20
3
6
-15
-8
-23
0
0
18
28
18
-27
8
7
-42
-11
0
0
0
20
-29
2
0
0
0
0
0
0
-52
2
0
-25
-26
-2
-9
-25
-30
-11
0
0
0
0
0
0
68
130
1
10
9
2
3
21
52
35
0
0
-43
-29
-35
-34
-25
-17
0
-43
0
0
0
-13
-10
-8
0
0
0
0
0
0
100
44
0
6
24
12
9
12
38
9
0
0
-44
-54
-36
-48
-38
-26
0
-51
-28
-146
0
-47
-59
-20
0
0
0
0
0
0
26
28
7
11
3
36
6
11
30
28
0
0
-25
-6
-8
-35
-31
-4
0
-38
-4
-38
-68
-16
3
-1
0
0
43
0
14
-5
48
28
-6
21
0
-1
15
12
32
14
0
0
-47
-5
-26
-11
-21
-14
0
-56
0
15
-4
-34
4
-28
0
0
15
-4
25
-14
21
14
6
21
2
-2
-17
26
-12
28
0
0
32
23
-62
-36
21
-13
0
-21
4
2
4
-15
8
-2
0
0
39
46
-24
8
18
20
10
29
0
15
12
13
15
32
0
0
67
3
4
-35
2
-3
0
-16
2
3
-2
-7
-2
-1
0
0
14
14
9
-1
26
19
-16
0
4
10
39
16
13
48
0
0
15
0
0
0
0
-56
0
-3
1
-18
-9
1
9
-10
0
0
5
-2
3
-15
40
8
-44
35
17
21
0
9
33
-2
0
0
0
0
0
0
-50
-38
0
2
9
-9
16
-5
-11
9
0
0
34
12
17
11
19
-1
-23
48
0
0
0
-29
-1
5
0
0
0
0
0
0
20
-36
0
1
24
1
2
-22
-15
-7
0
0
0
0
0
0
-12
68
0
13
-14
-1
-1
23
-15
22
0
0
-45
-41
-1
-33
-40
-9
0
-85
0
0
0
-17
-12
-2
0
0
0
0
0
0
60
70
-1
2
10
-4
35
23
7
21
0
0
-42
-30
-32
2
-24
8
0
-65
-42
-49
0
-38
-7
15
0
0
0
0
0
0
78
23
1
8
-2
19
27
-9
34
38
0
0
-24
5
12
-10
-9
-23
0
-8
-7
-7
-60
-1
25
-36
0
0
4
0
0
9
24
73
4
17
-1
-38
-23
5
-2
-2
0
0
-2
40
-25
2
14
-2
0
-30
-5
6
10
-53
-13
4
0
0
29
-13
-18
59
31
77
-4
3
-4
-5
26
-16
7
27
0
0
-62
-6
-36
50
-9
-23
0
-67
-13
6
7
-49
-46
-22
0
0
15
15
41
-4
23
48
2
-4
-16
-29
-80
-9
-47
-30
0
0
16
0
0
6
64
8
0
-65
-2
-40
-24
-28
-10
-14
0
0
-32
-25
-19
-23
22
30
-10
-26
-50
-62
5
-37
50
143
0
0
0
0
0
0
2
59
0
-19
4
3
-22
-20
-20
38
0
0
-10
0
8
0
38
-19
-48
-47
-42
5
0
-30
75
-13
0
0
0
0
0
0
11
-1
0
4
-47
-13
22
-8
-18
-4
0
0
14
27
71
82
-2
-31
-48
0
0
0
0
-20
-6
-31
0
0
0
0
0
0
20
-11
0
-13
-23
1
-5
-4
8
-45
0
0
0
0
0
0
0
-1
-30
-17
4
6
19
0
-1
-5
0
0
14
-1
5
4
41
3
18
41
0
0
0
-7
14
-5
0
0
0
0
0
0
-1
-5
-6
-29
24
-34
-1
-51
-1
18
0
0
49
2
15
36
-3
-14
0
-3
20
0
0
31
2
-2
0
0
0
0
0
0
-90
-27
9
13
43
-3
-6
-55
-47
-1
0
0
48
1
-5
-23
5
1
0
10
15
-1
17
10
0
0
0
0
0
0
0
0
-1
9
42
-6
0
-12
5
18
23
9
0
0
1
0
0
0
0
-1
0
25
37
-6
27
13
11
0
0
0
0
0
0
0
-14
-20
0
2
42
0
-14
-23
13
0
0
0
0
0
0
0
-4
2
0
33
25
-15
-19
39
-2
0
0
0
0
0
1
1
11
4
0
5
26
1
7
17
-4
1
0
0
0
0
0
0
2
-1
0
14
-26
-3
-4
-7
-5
-2
0
0
-46
0
-13
5
13
-4
1
-11
8
0
0
23
1
1
0
0
0
0
0
0
0
0
0
0
16
-15
12
-25
0
-1
0
0
-14
4
8
0
1
18
0
10
7
0
0
11
0
0
0
0
0
0
0
0
0
0
0
-52
-11
-17
-1
-13
0
7
0
0
18
3
4
1
21
15
0
-4
0
0
0
11
1
0
0
0
0
0
0
0
0
0
0
5
-4
6
21
0
0
0
0
0
0
0
0
0
-1
-5
-6
17
-6
-9
-2
-19
-6
-25
0
0
61
4
-13
19
33
18
0
17
0
0
0
-4
5
4
0
0
0
0
0
0
-11
-6
5
-14
-2
-15
-2
-3
-14
-5
0
0
5
17
21
11
7
16
5
31
-20
3
0
7
0
-5
0
0
0
0
0
0
-23
-31
5
5
-8
-10
-40
16
-13
6
0
0
63
33
9
25
-16
-10
0
1
27
0
10
48
17
0
0
0
0
0
0
0
-14
-23
-2
-21
-1
-8
5
2
-21
13
0
0
-2
0
0
2
9
-8
0
2
25
5
-11
20
-26
0
0
0
0
0
0
0
-12
26
-14
15
-6
-9
-46
-42
36
-20
0
0
0
0
0
0
3
6
0
4
22
19
-9
-14
5
4
0
0
2
0
-1
-8
20
3
-3
-3
-3
-7
10
-7
7
-11
0
0
0
0
0
0
2
0
0
-1
17
-4
-32
-44
10
-11
0
0
29
10
10
5
-21
8
1
5
0
-2
10
6
-1
1
0
0
0
0
0
0
0
0
0
0
10
-2
-19
-54
4
0
0
0
-12
9
0
20
5
34
0
-32
33
0
0
14
5
0
0
0
0
0
0
0
1
0
0
-54
-32
-36
16
-33
-4
-5
0
0
-12
-20
8
-7
20
21
0
6
0
0
0
14
3
5
0
0
0
0
0
0
0
0
0
-25
-22
38
27
-1
-1
5
0
0
0
0
0
0
0
-3
-25
-33
48
-10
-10
-34
-10
-1
0
0
35
15
-8
31
8
-6
0
-21
0
0
0
-18
25
-5
0
0
0
0
0
0
2
0
-41
-22
18
15
11
28
-39
-70
0
0
10
13
65
-3
42
9
0
-17
-42
0
0
-11
5
38
0
0
0
0
0
0
1
-14
81
45
-29
1
23
-23
-8
23
0
0
51
30
7
0
-2
23
4
-7
-2
0
-12
3
1
6
0
0
0
0
0
0
-14
-14
4
16
-13
-31
-44
-13
4
7
0
0
-7
0
0
-5
1
-5
0
43
7
-7
-5
-6
-25
7
0
0
-1
0
0
0
-11
-21
10
15
51
-11
-28
18
-9
-14
0
0
-1
0
0
0
47
2
0
9
8
-4
-29
-11
-36
1
0
0
21
1
-11
2
-1
29
-7
18
-19
-9
23
22
38
18
0
0
0
0
0
0
-15
-2
0
2
-14
5
7
-5
-2
-5
0
0
-24
14
-18
4
-53
36
0
-23
14
1
-1
43
-49
-29
0
0
0
0
0
0
7
0
0
-51
5
9
-4
9
-1
-26
0
0
23
-10
-13
-30
-32
-18
-1
3
21
0
0
-50
-2
-14
0
0
0
0
0
0
2
0
0
30
32
-12
-46
13
-17
-4
0
0
14
-14
-18
-14
11
-14
-1
-12
0
0
0
80
13
52
0
0
0
0
0
0
0
0
0
-9
16
-15
3
4
-4
3
0
0
0
0
0
0
3
-14
-4
-88
4
-3
-13
-71
-6
-64
0
0
14
-25
44
14
24
-27
0
46
0
0
0
21
-4
-4
0
0
0
0
0
0
-10
3
-25
-14
61
-42
42
-8
0
5
0
0
-38
-1
-4
-14
53
14
0
20
2
4
0
67
24
10
0
0
0
0
0
0
-13
20
17
4
9
53
23
11
-41
-75
0
0
-1
-20
17
23
-21
-45
0
-7
55
6
-23
4
-11
7
0
0
0
0
0
0
-8
-53
71
-77
29
-22
14
22
10
1
0
0
-6
0
-23
-13
-23
-5
1
102
15
16
-7
-64
-41
39
0
0
0
0
0
0
-60
-12
-23
17
42
-14
60
-23
-4
6
0
0
0
0
0
-2
-33
-23
0
19
39
53
23
41
-23
-8
0
0
-4
-2
12
-43
-24
6
0
-23
-46
5
12
5
14
25
0
0
0
0
0
0
26
-20
0
32
-16
49
24
57
-32
-17
0
0
-5
36
-25
10
28
-44
7
-14
4
11
24
13
-62
-23
0
0
0
0
0
0
-13
-5
0
26
17
6
-4
-50
37
14
0
0
7
-33
-53
-39
5
-8
3
-40
36
5
0
1
14
35
0
0
0
0
0
0
1
-3
0
-38
-5
-25
-13
0
-23
3
0
0
-40
18
-1
2
47
14
0
24
0
0
0
-7
10
7
0
0
0
0
0
0
0
-3
0
20
-65
-12
-18
-53
11
-14
0
0
0
0
0
0
-5
-10
22
-27
19
4
14
12
19
22
0
0
-39
-20
-76
-21
5
7
0
-12
0
0
0
-5
37
21
0
0
0
0
0
0
-5
-33
-23
-7
-27
23
51
12
13
-12
0
0
12
31
0
9
-19
-14
0
0
-40
1
0
35
51
-1
0
0
0
0
0
0
25
-16
21
2
-17
33
35
-30
21
1
0
0
18
28
14
-2
68
45
0
-16
3
-19
-23
-51
-7
6
0
0
0
0
0
0
-35
-32
39
-19
20
34
12
9
42
-32
0
0
3
-3
-3
-53
2
2
0
31
-2
33
-11
26
-14
17
0
0
0
0
0
0
-42
-41
0
9
21
-20
5
-45
-33
24
0
0
0
0
0
1
-10
-15
1
-22
-13
-46
-14
6
11
11
0
0
-11
9
29
0
-18
14
23
-39
5
6
5
54
-4
33
0
0
0
0
0
0
-7
9
0
53
0
-30
15
-4
5
1
0
0
-22
-32
27
47
3
50
-10
19
-50
15
51
-16
-71
-33
0
0
0
0
0
0
-19
5
0
-14
13
2
-27
12
-55
-49
0
0
-4
-12
-15
44
-25
54
14
56
-34
13
0
23
-42
42
0
0
0
0
0
0
1
-5
0
-35
1
-15
28
-5
-1
11
0
0
-4
15
23
14
20
-19
0
36
0
0
0
-13
60
31
0
0
0
0
0
0
-8
-10
0
7
14
8
18
-27
-20
-12
0
0
0
0
0
0
0
10
19
57
-8
13
6
25
-26
-7
0
0
11
39
-37
-20
-20
29
0
18
0
0
0
-12
17
-14
0
0
0
0
0
0
21
-33
6
4
36
13
-35
10
-22
20
0
0
-44
-41
-9
-5
-28
-42
0
38
-43
2
0
-32
-14
22
0
0
0
0
0
0
10
19
28
2
4
-7
22
-4
-22
18
0
0
-6
14
44
-11
-1
-5
0
22
-13
5
-24
0
-23
21
0
0
0
0
0
0
-38
-30
0
-24
20
-75
-14
-38
-16
-39
0
0
-24
2
-25
-10
-3
-4
0
-58
2
-31
-20
-21
25
-43
0
0
4
0
0
-13
-7
-45
-39
-7
-8
14
29
8
42
24
0
0
1
0
0
6
-23
-43
0
18
10
0
17
-14
-51
7
0
0
-11
-7
-13
11
-8
13
-71
46
-11
-11
11
-47
-2
8
0
0
0
0
0
0
-17
-23
4
-17
7
-33
10
-5
14
-47
0
0
3
6
-11
50
-13
14
-4
7
46
14
8
82
41
-19
0
0
0
0
0
0
-4
-35
0
-28
12
-23
-11
-2
-8
22
0
0
-5
33
16
-21
34
39
2
7
-17
10
0
21
-51
-7
0
0
0
0
0
0
-3
-11
0
-16
-7
-83
-22
-5
-15
-13
0
0
15
-20
-11
10
-3
4
-41
5
0
0
0
-26
-42
-13
0
0
0
0
0
0
14
-17
0
-21
-46
11
24
59
-8
-6
0
0
0
0
0
0
18
50
-5
32
19
-2
-17
17
-20
21
0
0
-21
-71
58
22
-10
-12
0
-56
0
0
0
40
-17
-9
0
0
0
0
0
0
33
11
4
14
30
14
10
15
2
-2
0
0
1
-3
-22
-5
-19
-30
0
24
18
-46
0
-47
-22
-1
0
0
0
0
0
0
33
30
0
-9
-25
-22
-22
21
31
28
0
0
10
4
-30
-20
-3
-1
0
-23
-63
-22
-34
-24
10
-14
0
0
0
0
0
0
27
42
-29
49
-13
68
-25
32
2
20
0
0
8
-5
-30
9
4
11
0
-57
6
19
-3
-42
9
-14
0
0
-1
0
-2
5
7
50
-22
-1
-1
6
31
-16
32
42
0
0
5
0
0
1
26
65
0
-25
-20
-51
-12
0
-2
-5
0
0
-7
21
62
7
71
62
-15
-5
-15
-9
5
-8
-8
12
0
0
1
0
0
0
-16
-17
0
-14
-13
7
-2
-47
-16
58
0
0
-43
-24
-2
9
-8
-10
-80
47
16
1
-11
3
32
10
0
0
0
0
0
0
21
18
-3
-36
4
16
-15
25
24
-62
0
0
1
65
37
12
2
20
-6
13
17
31
0
15
17
-19
0
0
0
0
0
0
20
9
0
4
-33
-1
-19
-24
54
-42
0
0
30
53
13
-4
-25
9
-9
33
0
0
0
26
-6
15
0
0
0
0
0
0
26
10
0
-46
-18
-15
-5
-54
-13
18
0
0
0
0
0
0
-16
-19
3
35
-54
6
5
33
5
17
0
0
-70
-30
-58
-13
-7
-4
0
-70
0
0
0
-43
-29
2
0
0
0
0
0
0
52
-19
0
10
-44
16
25
22
37
4
0
0
-39
-76
-77
-66
-16
-31
0
-93
-32
-93
0
-71
-4
-12
0
0
0
0
0
0
0
-47
-2
-11
10
-5
-9
22
41
-9
0
0
3
-31
0
-33
-31
-26
0
12
-36
63
-58
-7
54
-1
0
0
0
0
0
0
14
44
-6
42
7
-80
56
-43
28
15
0
0
25
-2
-20
-36
-50
11
0
-60
-23
-53
-5
10
42
-1
0
0
-14
-1
2
-2
44
46
22
-37
-14
2
-31
11
-78
28
0
0
33
0
-41
14
43
-33
0
-14
14
-16
-36
8
-34
-20
0
0
14
1
5
35
15
2
26
-8
14
84
-14
5
11
-29
0
0
2
0
0
0
-23
-2
0
-3
11
55
14
6
-59
-39
0
0
-11
-16
40
5
-11
-26
41
43
27
-4
30
-12
-19
17
0
0
0
0
0
0
40
-14
0
9
-3
-55
-10
-42
-8
-55
0
0
-2
32
-3
1
42
-1
-5
65
24
48
0
30
23
-5
0
0
0
0
0
0
-43
47
2
5
18
5
21
-10
-62
5
0
0
42
9
-23
18
22
-7
6
36
0
0
0
6
-44
10
0
0
0
0
0
0
0
25
0
-21
-6
-4
-21
-23
-1
27
0
0
0
0
0
0
-4
66
0
43
21
12
17
39
29
18
0
0
-52
-31
29
-35
-66
-16
0
-91
0
0
0
-37
7
-7
0
0
0
0
0
0
-24
100
-3
16
-34
22
6
8
14
44
0
0
-15
-3
-33
9
30
7
0
-28
-63
-5
0
-2
-21
-49
0
0
0
0
0
0
-24
2
6
29
-6
2
34
-1
26
101
0
0
-29
-48
-47
-23
-20
-8
0
6
53
-71
-52
-33
51
10
0
0
0
0
0
0
26
75
-20
-22
-15
27
32
56
-58
14
0
0
6
-13
25
69
34
-50
0
-80
-31
0
36
-11
-49
-71
0
0
-11
1
2
-10
3
23
-19
74
-7
33
26
-6
38
-51
0
0
-6
-1
-1
1
16
24
0
-51
-24
18
-5
-5
65
9
0
0
18
5
4
33
-9
-75
4
45
-2
-39
-50
0
0
-21
0
0
0
0
0
0
38
43
0
25
-18
-24
-73
15
47
32
0
0
30
-9
-41
-31
80
-2
25
-42
-66
8
55
-11
-5
98
0
0
0
0
0
0
46
62
0
-30
-14
-16
-30
4
-39
77
0
0
36
-13
28
-7
-45
-34
6
-74
-30
10
0
-25
29
-14
0
0
0
0
0
0
2
-14
0
-35
-17
-15
-7
-18
63
-12
0
0
8
-1
72
5
-14
-10
30
3
0
0
0
-35
28
-40
0
0
0
0
0
0
-49
-38
-4
-17
-22
-2
-5
3
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
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
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
0
0
0
0
0
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
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
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
-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
-29
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-99
-55
-2
-14
24
-31
-83
53
-188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-59
0
19
74
59
0
24
19
0
1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-127
-7
5
0
-24
1
0
1
184
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
-34
2
1
0
3
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
-3
-8
-14
5
71
0
-10
-1
59
0
0
0
0
0
0
2
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
-10
8
-1
10
-11
5
0
0
90
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-15
-158
-16
-23
-100
6
-13
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
127
-77
-160
-113
16
-63
-142
-2
160
-37
0
-19
52
29
75
36
-56
0
26
0
0
0
53
90
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
1
0
0
-10
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
4
0
0
0
0
0
0
0
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
-1
0
0
11
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
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
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
3
0
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
-2
50
2
0
0
-39
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
51
-2
-13
0
1
-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
45
-14
85
-42
0
0
48
-23
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
46
0
0
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
-37
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
-6
31
3
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
-2
0
0
0
-6
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
60
42
-11
-20
-34
-57
21
-36
36
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
18
13
-46
-32
0
-151
81
-47
71
56
120
0
-41
10
-45
14
-11
-58
0
8
0
0
0
43
18
9
0
0
0
0
0
0
0
0
101
47
77
1
0
26
1
3
70
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
156
97
67
139
8
-22
172
64
235
0
0
0
0
-23
-13
3
0
0
0
0
0
-1
5
-1
0
0
0
0
0
0
-15
0
33
-68
-26
86
-1
51
0
1
-34
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-19
-73
-32
-21
0
-3
0
-184
-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
55
10
11
0
68
20
0
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
176
28
-1
-88
9
2
30
90
57
88
0
68
61
67
85
59
67
-5
23
0
-35
0
-4
103
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
6
50
19
-1
10
0
0
-135
0
11
0
0
-1
33
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
22
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
-1
2
0
-6
0
-2
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
-1
0
-21
0
0
10
0
6
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-21
3
-17
6
0
-15
-14
0
7
0
0
0
1
-1
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
0
0
1
2
-23
0
0
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
28
-53
23
-10
-5
52
11
-67
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
33
138
14
-2
102
1
-96
-100
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
1
50
14
5
79
4
-28
-23
-56
-121
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
0
0
11
-19
51
0
-39
139
33
-26
0
-14
0
-7
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
43
111
1
0
1
-29
0
-13
-46
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-80
0
-20
18
0
1
-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
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
145
67
11
143
201
57
-1
36
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
129
26
131
92
0
-112
67
75
100
-46
25
0
-65
-5
33
-45
-107
-33
0
-3
0
-11
-72
-39
100
-5
0
0
0
0
0
0
6
0
2
133
80
0
-5
64
1
-2
-69
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
9
0
6
199
137
7
16
221
2
3
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
15
24
-25
-53
24
29
16
0
36
0
0
0
6
0
-1
0
0
-3
0
0
0
-9
-2
0
0
0
0
0
0
0
0
0
2
74
-8
0
67
-6
0
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
-2
84
-37
0
62
-61
-5
0
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
-51
-3
63
-8
56
56
49
81
85
19
0
-72
-17
26
44
-55
-1
52
21
0
-156
-75
46
-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
0
-4
0
0
0
0
0
-14
0
0
0
0
0
2
0
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
-2
0
0
0
0
0
-25
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
39
8
-1
0
7
0
4
0
9
1
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
0
-54
15
-1
0
-3
0
40
0
-12
2
0
4
0
0
0
0
2
-10
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
55
0
-1
0
-1
0
1
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
-1
0
0
50
-91
0
-20
41
33
3
-69
0
-21
0
4
-1
15
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
-11
-4
0
33
-136
-15
-59
189
55
11
-49
0
0
0
0
0
1
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-34
0
-31
48
28
31
53
3
-53
-46
-39
0
24
0
-2
-19
49
0
0
2
0
0
-2
21
0
0
0
0
0
0
0
0
-4
1
0
186
-118
-15
76
81
76
-20
-33
0
-7
0
9
10
31
14
-1
-26
0
-1
-17
-64
43
3
0
0
0
0
0
0
0
-2
5
-82
-141
57
28
-39
9
41
23
0
22
-1
-17
60
0
4
0
20
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
5
-54
-4
-5
-34
-26
0
-18
0
80
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
-11
0
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
-5
2
0
-131
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
1
-1
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
1
0
3
-2
-11
-2
-2
20
59
34
-33
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-70
-53
43
-10
0
89
-94
38
7
-26
-73
0
-2
-1
8
64
25
28
1
32
0
-58
-65
91
-82
-78
0
0
0
0
0
0
-2
0
0
21
116
-26
10
76
4
-1
-88
0
0
0
0
0
27
0
0
0
0
0
6
-7
1
0
0
0
0
0
0
0
-22
0
-1
19
71
-21
68
12
-39
-2
-55
0
0
0
0
4
17
1
0
-1
0
-14
-3
61
-71
-1
0
0
0
0
0
0
6
1
-1
83
54
-2
-74
-27
91
-13
-22
0
0
0
0
2
-1
2
0
0
0
-1
-2
-16
34
0
0
0
0
0
0
0
0
0
0
-21
116
-1
5
-18
1
74
-25
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
53
0
-1
48
-18
0
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
8
24
-89
-21
44
0
104
43
64
26
1
-1
0
-49
-45
-50
-49
-12
-41
-37
-71
0
18
-48
-13
13
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
1
19
28
-10
34
2
26
0
-1
0
0
0
0
-14
0
-39
0
3
33
14
-1
0
0
0
0
0
0
0
0
0
0
1
22
-4
-4
7
29
0
-16
0
0
0
0
0
0
0
0
-1
0
0
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
2
0
1
0
0
0
8
0
0
-7
0
0
-1
13
0
0
0
0
0
0
0
0
18
0
0
-18
20
10
43
-63
-45
78
-17
0
1
0
0
3
2
0
3
-15
0
55
37
-23
-30
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-104
-5
40
-17
56
22
-124
0
0
0
0
0
-35
0
0
46
0
4
62
-14
29
5
0
0
0
0
0
0
62
5
-6
64
-47
-13
-2
49
-7
-85
-4
0
-20
-1
-5
54
-62
-32
-2
85
0
-66
54
56
-23
-42
0
0
0
0
0
0
-104
-10
0
47
-34
39
7
-73
-4
53
-27
0
26
0
6
-6
74
20
25
138
0
60
-34
32
2
74
0
0
0
0
0
0
89
-44
-4
-131
-90
-36
64
31
-38
-18
-9
0
6
0
-5
-29
42
49
-1
77
0
-3
13
-9
36
-8
0
0
0
0
0
0
0
0
0
2
-38
13
86
-120
18
0
-54
0
-2
0
0
0
-5
0
0
-4
0
-2
-21
51
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
4
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-24
0
0
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
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
0
0
1
-18
2
-23
-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
-23
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
-9
0
-18
0
71
-85
-28
90
85
-42
0
0
0
0
0
106
27
0
28
0
27
222
13
-40
193
0
0
0
0
0
0
-4
0
0
-1
152
0
23
-5
9
1
-58
0
0
0
0
0
-8
0
0
-1
0
-3
8
8
-25
0
0
0
0
0
0
0
1
1
0
-6
-11
18
-23
43
-8
17
-83
0
0
0
0
0
0
0
0
0
0
0
15
1
-3
-2
0
0
0
0
0
0
0
0
0
8
140
1
5
-25
72
4
82
0
0
0
0
0
0
0
0
0
0
0
95
14
2
0
0
0
0
0
0
0
0
0
0
0
159
0
-33
0
0
0
283
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
63
0
-43
5
-11
0
-135
0
0
0
0
0
0
0
0
0
0
1
2
2
-1
0
0
0
-73
-4
17
68
-36
-37
-5
1
8
23
-64
16
-6
5
-10
0
-12
0
-33
-46
9
13
7
-42
0
-64
-21
-19
-12
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
93
53
109
-71
25
-1
-6
0
0
0
0
0
-3
0
0
24
0
-5
-44
64
0
3
0
0
0
0
0
0
-1
0
0
9
-4
0
-59
8
-31
0
8
0
0
0
0
0
2
0
0
-2
0
4
21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
3
0
5
0
0
0
0
0
18
-8
0
11
0
26
-28
-4
11
5
0
0
0
0
0
0
8
-4
0
7
-40
85
8
19
117
-75
4
0
0
0
0
0
94
-17
0
-31
0
-54
-19
42
51
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
118
-70
50
87
-58
1
109
7
0
0
0
0
0
-18
-22
-3
-66
0
59
18
-26
-91
-57
0
0
0
0
0
0
32
71
21
-99
-124
126
-104
-88
-68
8
-14
0
0
0
0
0
-12
-11
0
-7
0
-9
-38
37
-44
-29
0
0
0
0
0
0
-16
-20
0
9
34
75
-4
-30
-27
67
1
0
8
0
0
0
-25
24
-25
-47
0
-173
-24
19
-16
-24
0
0
0
0
0
0
-90
13
0
-91
22
5
-42
-129
-10
13
9
0
0
0
0
0
-45
-12
1
81
0
5
-41
-3
78
20
0
0
0
0
0
0
-14
0
0
-62
53
64
-18
48
27
-5
-19
0
0
0
0
0
-7
0
0
17
0
82
15
-35
-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
-1
0
0
0
-46
1
0
2
13
-10
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
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
2
0
0
4
2
0
60
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
25
0
7
6
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
4
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-43
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
2
0
-18
-140
0
0
0
0
0
0
0
0
3
0
-35
-16
-58
-1
5
0
0
0
0
0
0
0
0
0
0
-137
0
0
0
0
0
291
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
5
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-2
0
0
144
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
47
-76
-27
-91
-97
0
-102
103
7
-89
-27
-114
-85
-143
0
0
0
0
0
12
-67
-54
-18
0
-31
-81
-63
-60
-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
0
0
0
0
0
-37
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
-41
0
0
0
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
-41
0
0
0
0
0
-1
0
0
-5
0
-3
7
14
-3
0
0
0
0
0
0
0
0
0
0
25
31
10
3
10
2
31
-158
0
0
0
0
0
-33
24
-11
-1
0
1
-50
-67
-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
0
0
0
0
-2
2
0
-4
-71
0
-1
17
1
41
-44
0
0
0
0
0
-4
0
0
-32
0
-2
0
26
18
0
0
0
0
0
0
26
-18
13
0
-5
-54
-85
34
104
24
119
-15
0
0
0
0
0
-21
17
0
-114
0
-3
8
-52
-34
4
0
0
0
0
0
0
2
2
0
2
35
0
14
-5
-26
7
-98
0
0
0
0
0
-6
-3
-13
-16
0
71
56
-23
-14
-4
0
0
0
0
0
0
3
3
0
-2
37
9
23
19
0
2
-31
0
0
0
0
0
0
0
0
-53
0
-4
0
-63
-1
3
0
0
0
0
0
0
0
0
0
0
-10
0
4
1
0
0
-53
0
0
0
0
0
0
0
0
40
0
3
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
-3
0
0
1
5
0
0
46
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
13
0
0
0
0
0
0
0
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
2
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
11
0
0
0
0
0
1
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
8
0
0
0
0
0
3
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-76
0
0
0
0
0
0
0
0
1
0
0
0
-29
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
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
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-18
-77
-140
-73
-66
-8
-87
139
-14
34
4
-137
-83
-145
0
0
0
0
0
-7
65
-33
-87
0
-1
-89
-135
-89
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-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
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
1
0
-32
0
14
-18
-33
-3
0
0
0
-23
-9
-14
8
-2
0
0
-7
4
-59
-25
74
0
0
-46
0
0
0
0
0
-29
20
-6
66
0
11
-59
-22
-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
-2
-3
0
0
-2
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
39
0
-7
-5
-21
-3
0
0
0
1
0
0
0
1
0
0
-4
34
0
-1
4
0
0
-48
0
0
0
0
0
0
0
0
-7
0
0
0
-45
10
2
0
0
-4
4
0
0
0
2
0
-2
14
0
-1
0
0
0
-75
0
0
0
0
0
-4
-2
-6
-65
0
44
5
24
33
-2
0
0
-3
0
0
1
3
51
0
0
1
0
0
-7
0
0
-46
0
0
0
0
0
0
0
0
-72
0
0
-14
9
0
0
0
0
-16
0
0
0
0
1
0
0
17
-3
0
-1
0
0
-37
0
0
0
0
0
0
0
0
-6
0
-1
23
-7
-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
-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
-23
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
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
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
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
19
0
0
0
0
0
0
0
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
-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
-25
0
0
0
0
0
0
0
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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
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
15
0
57
-65
-44
89
20
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
55
54
0
48
-29
39
-7
10
9
0
4
0
0
0
1
23
0
1
0
0
0
-35
1
0
0
0
0
0
0
0
0
0
-81
-7
38
0
55
-14
0
2
99
0
0
0
0
0
0
-18
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
-5
-30
2
37
-3
3
1
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-93
33
-7
-8
0
-10
-1
43
0
0
0
0
0
0
7
0
-4
0
0
0
1
4
-3
0
0
0
0
0
0
0
0
-37
-3
0
3
-36
11
0
0
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
-46
-13
11
83
8
-5
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-32
-36
-136
-92
-83
9
-112
106
55
-53
0
-73
11
41
-11
12
-23
-6
-30
0
0
0
6
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
0
0
0
0
0
-1
-50
60
17
0
0
-4
-86
0
0
0
0
0
-3
-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
-9
0
0
0
0
0
0
0
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
-5
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
0
0
-33
1
0
0
-28
0
0
0
0
0
0
3
0
9
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-23
-18
19
47
0
46
38
0
-1
0
0
0
-21
22
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
50
50
-10
-18
0
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
65
-4
4
-57
20
-2
123
-107
0
0
0
0
0
7
-2
0
-16
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
44
-9
-1
0
62
0
0
20
-51
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
63
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
37
79
3
0
0
17
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
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
88
6
69
5
36
97
26
-52
124
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
51
11
85
48
0
-97
151
111
140
62
-21
0
-79
5
-72
56
-111
-73
0
5
0
0
0
-35
3
-53
0
0
0
0
0
0
0
0
177
25
72
10
0
-27
8
-11
165
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
-2
90
36
-8
60
45
99
85
-33
77
0
7
0
0
-43
-15
-31
0
11
0
0
0
-34
0
-17
0
0
0
0
0
0
0
0
71
-4
10
9
11
114
-1
-40
110
0
1
0
3
-6
-4
-11
0
1
0
0
0
15
0
6
0
0
0
0
0
0
0
0
113
-35
53
-48
0
-43
0
7
4
0
-1
0
0
-1
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
35
36
-16
18
0
47
5
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
58
66
-4
-57
-22
16
17
183
67
6
0
26
42
33
5
142
48
40
36
0
-76
0
52
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
-5
62
46
-16
-3
0
0
-100
0
43
0
-10
-2
5
-4
-62
30
0
0
0
14
3
6
0
0
0
0
0
0
0
0
0
0
14
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
5
-43
-1
0
0
1
0
-9
0
16
0
0
6
4
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-34
35
-2
-15
-23
0
0
-102
0
39
0
-3
0
0
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
31
-8
3
17
51
0
17
-103
0
-20
0
-35
2
3
43
1
-14
0
0
0
-34
0
-3
0
0
0
0
0
0
0
0
0
26
-5
5
0
0
5
-6
-23
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
-25
0
-29
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
-82
-25
113
-33
-58
62
-63
-20
0
32
0
9
-2
-58
-1
-5
-2
0
2
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
-15
33
81
-14
12
5
-29
-81
0
-1
0
0
0
0
0
0
-4
0
0
0
-11
-14
0
0
0
0
0
0
0
0
2
58
-7
-15
72
2
-78
-51
-6
-108
0
-1
0
0
-5
17
11
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
-8
-3
0
83
62
45
-2
127
99
-22
-10
0
-14
0
-36
-5
-17
-2
13
-43
0
0
0
3
-11
10
0
0
0
0
0
0
0
0
37
11
9
0
2
-15
0
33
-53
0
-5
0
0
-9
0
0
0
-1
0
0
0
25
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
11
18
39
0
29
-14
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
-1
81
0
8
14
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
-3
-17
164
34
14
84
75
53
67
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
201
71
103
126
0
22
51
114
19
35
-15
0
23
13
47
-32
-15
-71
-10
-96
0
21
-72
33
-11
-23
0
0
0
0
0
0
5
0
-17
74
83
0
86
132
4
10
30
0
-2
0
0
2
5
-1
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
8
0
16
193
86
14
-95
54
-2
1
-36
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
25
1
63
171
75
11
96
68
102
44
19
0
0
0
2
-1
7
1
0
1
0
13
-2
-29
-9
-1
0
0
0
0
0
0
0
0
60
152
-30
1
12
52
0
5
20
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
53
33
4
11
46
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
49
-47
86
-19
-12
35
51
54
32
-7
0
16
-43
-15
-35
-6
32
-18
13
0
-215
-103
-8
82
-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
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
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
1
0
0
0
0
0
16
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
-48
0
90
8
0
0
104
0
0
0
-5
1
-2
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
24
0
-2
-71
-8
0
12
0
2
1
118
-31
3
4
-1
-6
0
0
10
34
0
0
0
0
0
0
0
0
0
0
0
0
13
0
13
-10
-4
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
-6
0
0
0
25
0
-12
5
-16
23
-18
0
0
-5
0
-5
-1
-33
1
0
0
0
0
0
0
0
-1
-7
0
69
-88
0
34
-3
-39
-1
-6
0
-21
1
-40
-29
17
-4
32
37
0
1
4
54
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
85
2
-33
-85
139
55
27
-6
0
-1
0
-2
0
-3
2
0
3
0
0
2
-23
-4
0
0
0
0
0
0
0
13
-3
-66
43
-61
-23
55
-30
-63
0
-9
0
24
5
-32
28
-5
17
4
-28
0
9
-20
-37
31
0
0
0
0
0
0
0
-10
3
0
32
-17
-5
-5
23
43
-17
-21
0
-20
-2
45
35
45
9
-6
-33
0
8
12
-14
-14
14
0
0
0
0
0
0
0
0
36
-71
-68
44
32
-22
16
13
-11
0
-6
-1
-29
44
83
25
0
-9
0
0
-4
-42
9
0
0
0
0
0
0
0
0
0
0
-34
30
-3
-85
20
35
0
-80
0
45
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
16
3
1
-21
0
-2
-31
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
-5
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
21
-2
-32
-7
-43
7
19
8
-28
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
-90
-14
-49
-24
0
-29
-102
-67
-48
-148
30
0
17
-1
5
5
85
126
-9
-13
0
22
-42
37
73
33
0
0
0
0
0
0
25
0
37
-37
6
3
-12
75
21
0
-50
0
-1
0
0
0
14
0
-5
7
0
16
70
-14
-15
0
0
0
0
0
0
0
-1
0
49
171
-4
116
21
-14
57
93
-34
0
7
0
0
-4
-52
-1
0
-10
0
5
-50
10
-36
9
0
0
0
0
0
0
19
-3
84
-27
-21
8
-90
14
76
-32
-123
0
0
0
0
2
-3
2
0
-9
0
-5
10
-44
-53
-1
0
0
0
0
0
0
0
0
0
-6
50
4
13
18
3
38
21
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
-17
9
0
-98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
17
-66
-61
49
0
48
41
31
24
11
-3
0
-34
-19
10
52
-5
30
-20
-18
0
-29
29
16
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-4
0
-75
-6
55
70
71
-57
0
35
0
-4
0
0
-3
38
-6
-18
-14
0
33
-60
33
23
-4
0
0
0
0
0
0
0
0
0
-3
6
20
-29
17
-17
0
-6
0
0
0
0
0
2
0
0
-9
0
0
5
36
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
17
0
-13
0
-13
0
-1
-13
39
27
0
8
0
30
-10
29
4
-1
0
0
0
0
0
0
64
0
0
-90
49
19
-72
-17
-22
-10
-54
0
27
0
-2
25
-59
-34
6
-4
0
20
-18
9
-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
47
0
0
17
10
-11
103
5
41
-14
-61
0
0
0
0
4
-14
3
-2
78
0
27
11
-95
34
5
0
0
0
0
0
0
4
62
-5
-16
18
37
47
30
21
-7
8
0
-5
-3
-5
-29
26
-16
-5
22
0
-43
3
-37
-8
-128
0
0
0
0
0
0
-93
-22
0
-11
61
82
-46
4
23
-65
-21
0
77
0
-8
-14
-53
51
45
84
0
-46
-14
10
33
62
0
0
0
0
0
0
9
-69
-53
-30
-17
87
16
26
75
-30
14
0
40
-4
-9
1
52
48
22
-23
0
-15
12
-17
99
-11
0
0
0
0
0
0
0
0
0
14
-24
-5
-8
48
21
0
-17
0
-1
0
0
-1
-5
0
0
-4
0
-1
-68
76
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
5
-1
0
0
3
0
3
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
1
0
49
0
5
0
0
-1
-5
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
-20
2
-65
-8
0
-2
79
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
-77
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
96
1
-37
13
-5
-3
-8
0
0
0
0
0
0
0
0
0
0
0
14
24
0
0
0
0
0
0
0
0
-32
-66
-134
-105
0
92
7
-163
17
21
-5
0
0
0
0
0
62
109
-7
43
0
15
118
-56
40
52
0
0
0
0
0
0
-4
-2
4
-3
2
-36
-58
1
-23
1
-63
0
0
0
0
0
-10
0
-2
-37
0
-14
6
17
-16
-13
0
0
0
0
0
0
1
2
-3
-33
77
31
-74
56
19
15
-18
0
0
0
0
0
5
3
0
36
0
1
33
-30
7
1
0
0
0
0
0
0
0
0
-20
-4
34
-10
13
13
15
6
-17
0
0
0
0
0
0
0
0
8
0
-32
54
37
8
-14
0
0
0
0
0
0
0
0
0
5
79
-1
31
-16
1
0
12
0
0
0
0
0
0
0
0
0
0
0
55
-21
0
0
0
0
0
0
0
0
0
0
0
2
-25
0
-32
-14
-3
0
-36
0
0
0
0
0
0
0
0
0
0
0
-1
7
-2
0
0
0
-7
-21
-91
-48
-16
-38
-44
74
19
52
-13
34
-15
21
11
0
-18
15
-62
-7
23
15
7
-25
0
19
7
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
-33
-2
-63
18
-31
-1
29
0
0
0
0
0
-9
-16
0
24
0
-4
52
75
22
-7
0
0
0
0
0
0
-2
0
0
4
-79
16
-30
3
-7
0
29
0
0
0
0
0
0
0
0
-1
0
-4
54
-59
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-28
0
2
0
0
0
0
0
1
-17
0
-12
0
-40
-5
-25
28
13
0
0
0
0
0
0
128
14
0
55
-5
148
30
-44
-23
-124
-17
0
0
0
0
0
67
9
43
-61
0
-81
-45
-42
-111
-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
13
-14
0
77
-65
36
21
-35
-44
158
19
0
0
0
0
0
-63
48
73
-78
0
51
-31
80
-106
1
0
0
0
0
0
0
-61
-56
-5
27
-69
166
-25
-35
-94
11
14
0
0
0
0
3
-121
-56
-8
38
0
0
-32
82
75
-21
0
0
0
0
0
0
19
-15
0
56
-39
148
11
2
-1
-19
2
0
2
0
0
0
15
-22
-36
-38
0
33
1
-24
6
-28
0
0
0
0
0
0
20
59
-62
76
63
73
-42
49
-42
-29
24
0
0
0
0
0
-1
-35
3
-12
0
61
23
-3
0
-34
0
0
0
0
0
0
-14
0
0
34
-19
125
118
-54
-62
1
-2
0
0
0
0
0
-2
-1
0
-37
0
69
-35
8
-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
-44
0
2
2
-57
2
5
25
-25
-9
33
0
0
0
0
0
0
0
0
1
0
0
-9
0
0
0
0
0
0
0
0
0
-1
0
0
0
-14
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
-5
0
0
-2
46
0
-7
-2
2
-1
33
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
-35
0
0
-3
3
6
-67
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
10
0
-2
-1
0
-1
-37
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
-130
0
0
0
0
0
0
0
0
7
0
0
0
14
2
0
0
0
0
0
0
1
-3
0
-4
-18
0
-9
-3
-104
-1
51
-22
0
0
0
0
0
14
0
0
-9
0
-34
-31
25
-9
6
0
0
0
0
0
0
0
0
0
0
-26
0
-14
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
32
0
0
-1
0
-1
-61
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
-44
0
0
-10
0
0
4
0
0
0
0
0
0
0
0
0
0
-9
2
-13
0
1
0
0
0
0
0
0
0
0
0
0
-9
-1
-6
0
0
0
-10
0
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
-1
104
98
18
-86
-98
34
-32
69
-22
-77
1
-69
-34
-41
0
0
0
0
0
-26
-27
31
-39
0
49
-44
-51
10
-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
-3
-9
0
-1
0
0
-51
0
0
0
0
0
0
0
0
14
0
0
-7
-33
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
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
11
0
0
0
0
0
-12
-1
0
13
0
10
27
8
-18
30
0
0
0
0
0
0
-7
0
0
100
-52
6
-7
105
-25
31
-18
0
0
0
0
0
20
47
25
-28
0
-7
13
-48
-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
-8
2
0
-14
-69
0
2
5
-1
-7
0
0
0
0
0
0
0
0
0
-13
0
-10
0
60
51
0
0
0
-1
-1
0
23
48
52
-2
-120
29
-80
-5
-14
-66
28
3
0
0
0
0
0
-18
13
-9
20
0
14
34
40
-25
54
0
0
0
0
0
0
17
9
0
-11
-7
3
-9
-10
-35
47
-45
0
0
0
0
0
32
14
-50
90
0
14
77
36
69
-34
0
0
0
0
0
0
23
45
0
20
-49
8
15
14
0
49
-52
0
0
0
0
0
0
-4
-2
-56
0
3
8
-38
2
4
0
0
0
0
0
0
0
0
0
0
16
0
-1
0
0
0
-10
0
0
0
0
0
0
0
0
24
0
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
9
-8
1
0
1
-34
-1
0
53
0
1
0
4
0
-34
0
0
0
0
0
0
0
0
0
0
0
-32
-14
0
0
0
0
0
0
0
0
0
1
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
7
0
0
0
0
0
0
-18
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
47
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
-62
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
50
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
11
6
0
0
0
23
0
0
0
0
0
-130
0
0
0
0
0
0
0
0
-1
0
0
1
4
0
0
0
0
1
0
-2
0
-18
2
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
0
3
0
-1
-2
-12
0
3
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
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
-14
0
0
0
0
0
0
0
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
-74
-46
-25
-125
-145
-101
-36
-135
108
-18
-34
-120
-126
-167
-39
0
0
0
0
0
-83
-1
2
-43
0
-47
-2
-6
-84
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
8
0
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
-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
-18
0
0
0
-51
0
0
0
0
0
0
5
0
4
0
-10
-46
9
-17
0
0
0
28
11
-15
-20
-24
-10
0
22
-16
-86
12
54
9
0
11
0
0
0
0
0
86
-32
-23
33
0
63
57
13
72
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
29
1
0
-2
-10
-2
0
-3
-34
0
0
-4
0
0
-11
0
0
0
0
0
0
0
-5
10
0
13
-17
-90
-10
0
0
0
5
0
5
2
-4
-18
0
-8
30
-4
1
-14
0
0
71
0
0
0
0
0
3
0
-1
-54
0
0
23
-62
-6
5
0
0
29
-15
16
-1
2
-8
0
-45
-32
5
17
-1
4
0
-7
0
0
0
0
0
-5
0
26
34
0
64
-29
11
19
1
0
0
-15
0
0
0
9
10
0
-13
0
0
0
-4
0
0
43
0
0
0
0
0
0
0
1
10
0
0
-33
66
0
0
0
0
-44
0
-4
0
0
5
0
0
15
-3
-32
0
0
0
-7
0
0
0
0
0
0
0
2
44
0
-2
73
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-17
0
0
0
0
0
0
0
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
-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
-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
20
0
0
0
0
0
0
0
0
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
-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
-15
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
3
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
43
-61
50
10
-5
-125
-11
42
113
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-25
73
0
23
36
-14
0
9
-5
0
4
0
0
0
0
22
0
1
0
0
0
-37
1
0
0
0
0
0
0
0
0
0
-15
-8
41
0
29
-14
0
2
60
0
0
0
0
0
0
-14
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
-5
16
3
31
-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
8
-91
38
-13
-4
0
-7
-1
69
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
-14
11
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
22
-31
14
37
2
7
-5
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-16
39
-125
-30
-162
5
-53
23
-35
-55
0
-76
-61
-14
-71
-3
-45
21
-31
0
0
0
-24
-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
-1
-8
10
20
0
0
-4
16
0
0
0
0
0
0
-15
0
0
0
0
0
0
25
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
-82
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
17
0
0
0
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
1
0
0
19
0
0
0
0
0
0
3
0
9
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
17
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-32
-4
11
28
0
29
8
0
-1
0
0
0
-25
39
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
-17
29
43
-2
-18
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
0
0
0
0
0
0
0
0
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
-26
-35
-5
17
-2
45
10
0
0
0
0
0
7
-2
0
-16
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
39
-7
-1
0
1
0
0
4
-49
0
0
0
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
11
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
25
46
3
0
0
17
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
6
7
0
0
4
-5
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
81
52
-3
5
105
1
13
116
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
55
11
154
12
0
-124
108
-19
-16
48
-18
0
-93
-14
-17
35
-44
-10
0
-71
0
0
0
-43
26
-14
0
0
0
0
0
0
0
0
62
51
25
9
0
-61
8
-21
67
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
-4
41
-18
-16
-90
37
40
43
-79
20
0
6
0
0
-33
-1
-29
0
13
0
0
0
-24
0
-18
0
0
0
0
0
0
2
0
49
84
46
13
9
91
-8
-43
130
0
1
0
3
-6
-4
-3
0
1
0
0
0
15
0
5
0
0
0
0
0
0
0
0
71
32
-1
-33
0
-15
0
8
-43
0
-1
0
0
-1
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
14
33
-16
18
0
26
3
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-9
40
-2
-17
-10
11
-12
26
-31
-6
0
7
9
24
-5
13
19
-13
38
0
-60
0
-10
-69
-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
16
-1
41
-16
20
0
0
-53
0
28
0
-13
-2
29
-17
-11
5
0
0
0
20
9
1
0
0
0
0
0
0
0
0
0
0
15
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
-51
-6
0
0
2
1
0
35
0
2
0
0
6
4
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-23
26
-2
-15
1
0
0
-57
0
13
0
-3
0
-1
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-33
-5
3
17
53
0
23
-23
0
11
0
-23
2
3
17
1
-17
0
0
0
-32
0
-3
0
0
0
0
0
0
0
0
0
24
-5
5
0
0
2
-4
-34
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
-14
0
-14
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
-58
-11
109
-15
-10
-23
-45
-40
0
15
0
14
-2
-33
-5
-5
-2
0
2
0
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
0
0
0
0
0
0
0
0
59
-45
55
-3
-16
9
-17
-48
0
-1
0
0
0
0
0
0
4
0
0
0
-11
-9
0
0
0
0
0
0
0
0
2
-30
108
-53
63
-6
8
-32
-13
-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
-70
46
57
7
-12
-4
-66
-12
0
-14
0
-21
-5
-18
3
13
-16
0
0
0
10
-14
14
0
0
0
0
0
0
0
0
53
-36
7
0
2
-20
0
20
-58
0
-4
0
0
-9
0
0
0
-1
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
0
59
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
0
11
-18
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
1
-1
33
0
8
15
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
82
-80
15
21
-48
18
48
-156
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
9
59
6
-80
0
-6
-81
3
45
43
-14
0
118
22
51
44
-2
-32
-17
-72
0
42
-5
38
13
-19
0
0
0
0
0
0
5
0
19
5
-54
0
27
50
4
10
-13
0
-2
0
0
2
14
-5
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
8
0
43
47
-49
10
-4
-102
0
1
58
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
26
1
67
39
-73
-5
63
3
71
63
-44
0
0
0
2
-1
-11
1
0
1
0
14
-2
-26
-9
-1
0
0
0
0
0
0
0
0
44
30
-43
1
4
73
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
14
9
-8
5
34
-4
-6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-93
-15
24
-13
39
32
-3
38
-89
6
0
-8
-12
14
37
10
50
-22
-21
0
-112
2
-32
-72
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
-31
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
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
6
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
0
20
9
0
0
67
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
-68
-47
0
0
-1
0
8
1
25
3
6
4
-1
-7
0
0
19
18
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-10
-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
-21
0
0
0
-21
0
17
-3
-16
15
23
-30
0
1
0
-5
-1
5
1
0
0
0
0
0
0
0
-1
-7
0
69
-11
0
-5
36
-14
2
-27
0
-33
1
-32
-30
18
-4
-6
34
0
-1
5
23
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
-21
1
0
74
-67
-32
-51
14
13
-18
64
0
-1
0
-2
0
-1
2
0
10
0
0
2
-11
-2
0
0
0
0
0
0
0
5
1
-53
6
10
-37
-8
-64
-65
-7
8
0
-44
5
-48
47
-29
45
4
-36
0
5
-29
-43
25
0
0
0
0
0
0
0
-6
3
0
74
12
-8
-63
-31
69
62
-31
0
-37
-1
-4
47
19
-2
-9
29
0
15
9
71
-3
11
0
0
0
0
0
0
0
0
73
-68
15
24
46
-46
23
30
-14
0
-53
-1
-18
13
-37
26
0
-23
0
0
-4
-1
7
0
0
0
0
0
0
0
0
0
0
-26
23
-3
-23
44
18
0
-10
0
29
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
-30
3
1
-8
0
-2
-56
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
-17
0
0
0
1
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-7
-51
-14
-19
6
-69
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
49
19
-49
-27
0
80
74
39
-15
34
17
0
10
-1
8
-26
51
34
13
107
0
-46
24
85
-1
95
0
0
0
0
0
0
25
0
68
-33
10
2
6
24
13
7
18
0
1
0
0
0
-6
0
-7
5
0
25
77
-14
-13
0
0
0
0
0
0
0
33
0
17
5
-31
51
-32
34
-45
59
-13
0
3
0
0
-4
-1
-2
0
-7
0
9
-26
-20
-47
9
0
0
0
0
0
0
9
-3
104
-45
-56
8
-113
11
-1
0
-119
0
0
0
0
2
-10
2
0
-10
0
-5
16
-45
-46
0
0
0
0
0
0
0
0
0
-14
9
-34
4
6
-14
3
17
21
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
-10
0
3
-16
9
0
-103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-63
5
-32
35
0
16
-30
1
39
108
8
0
43
68
-15
46
24
38
-17
10
0
68
-37
19
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
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
-15
0
0
0
0
0
0
0
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
-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
-4
0
-44
37
52
25
59
-26
0
-29
0
-4
0
0
-3
3
-1
-19
11
0
68
27
47
18
-4
0
0
0
0
0
0
0
0
0
-1
17
20
4
17
-21
0
-3
0
0
0
0
0
2
0
0
-9
0
0
15
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
39
0
-7
0
-4
0
-2
62
8
-1
0
-11
0
33
20
69
-17
-1
0
0
0
0
0
0
11
0
0
-35
56
6
0
-33
8
1
-38
0
25
0
-1
31
13
-33
0
-11
0
19
2
-134
-36
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
58
1
0
13
4
3
47
-20
37
-58
-25
0
0
0
0
4
21
3
0
33
0
-7
55
-71
30
3
0
0
0
0
0
0
-83
2
-3
-27
44
-2
-1
19
-41
85
-6
0
-8
-3
-23
-23
42
-4
30
11
0
-33
-25
106
47
-43
0
0
0
0
0
0
-33
-15
0
5
95
4
-12
-23
-8
-30
1
0
-4
0
-21
-18
-41
24
45
-99
0
-56
-21
61
89
0
0
0
0
0
0
0
-37
11
-80
-38
62
68
15
-28
-26
-46
9
0
36
-4
-14
-15
14
16
26
15
0
-30
73
-43
47
-25
0
0
0
0
0
0
0
0
0
6
19
-2
20
43
-71
0
22
0
-1
0
0
-1
-2
0
0
-5
0
-1
-41
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
5
-1
0
0
3
0
3
-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
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
-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
1
0
27
0
4
0
0
-1
-60
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
-62
-8
0
-2
6
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
-14
0
-1
0
-5
0
-57
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
22
1
-13
14
-4
-3
-90
0
0
0
0
0
0
0
0
0
0
0
13
32
0
0
0
0
0
0
0
0
-30
-65
-107
-23
0
3
-62
24
-50
-12
71
0
0
0
0
0
27
13
-33
16
0
44
51
6
55
23
0
0
0
0
0
0
0
-2
4
-1
71
-32
-55
-40
-14
-2
-36
0
0
0
0
0
-18
0
-2
-35
0
2
-43
73
-9
-13
0
0
0
0
0
0
3
2
17
-46
2
97
-118
-67
39
-7
-17
0
0
0
0
0
5
3
0
43
0
-5
8
14
3
1
0
0
0
0
0
0
0
0
1
5
7
-9
52
16
10
2
-58
0
0
0
0
0
0
0
0
8
0
-24
-23
2
-2
-14
0
0
0
0
0
0
0
0
0
5
-5
-1
17
-10
1
0
10
0
0
0
0
0
0
0
0
0
0
0
-3
-25
0
0
0
0
0
0
0
0
0
0
0
2
-19
0
-16
-9
-3
0
-44
0
0
0
0
0
0
0
0
0
0
0
-1
7
-2
0
0
0
19
-14
-47
-40
27
-9
-31
1
13
92
-27
33
57
47
10
0
-53
-2
-17
-14
49
16
-7
-46
0
22
35
9
35
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-33
-10
42
5
25
-1
27
0
0
0
0
0
-9
0
0
3
0
-34
-17
49
17
-8
0
0
0
0
0
0
-2
0
0
4
-30
16
-5
1
-13
0
14
0
0
0
0
0
0
0
0
-1
0
7
63
-39
3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-6
0
4
0
0
0
0
0
-29
17
0
-30
0
4
-7
-21
-2
26
0
0
0
0
0
0
59
11
0
18
100
33
-51
8
-53
-34
-36
0
0
0
0
0
-2
-20
51
-27
0
-34
-56
-22
-21
-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
43
-6
0
-32
71
-45
1
23
-5
37
-44
0
0
0
0
0
-27
25
72
-1
0
36
1
57
-25
10
0
0
0
0
0
0
-10
-70
-85
-51
68
71
-163
-15
42
-83
16
0
0
0
0
3
-27
-44
10
52
0
-31
-12
28
5
19
0
0
0
0
0
0
52
-15
0
79
107
54
19
44
24
-33
-22
0
2
0
0
0
-21
27
-81
-70
0
-16
-10
-154
-54
26
0
0
0
0
0
0
41
15
-119
70
72
58
-8
5
-16
5
-4
0
0
0
0
0
33
-24
24
-62
0
36
-50
-17
-9
-13
0
0
0
0
0
0
-6
0
0
36
22
58
20
-15
-36
1
-8
0
0
0
0
0
-11
-1
0
-81
0
48
44
-99
-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
-47
0
-4
2
3
2
5
24
-25
-1
-9
0
0
0
0
0
0
0
0
1
0
0
-9
1
0
0
0
0
0
0
0
0
-1
0
0
0
-15
0
0
0
0
0
-6
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
7
0
-7
-2
2
0
-62
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
-25
0
0
-3
3
6
-80
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
-2
-1
0
-1
-115
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
-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
0
0
0
0
0
0
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
12
0
0
-3
0
0
25
0
0
0
0
0
0
0
0
7
0
0
0
16
2
0
0
0
0
0
0
1
-3
0
-4
-11
0
-26
-3
-104
-1
3
27
0
0
0
0
0
11
0
0
-3
0
21
-33
94
-16
6
0
0
0
0
0
0
0
0
0
0
54
0
-13
0
0
0
-65
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
62
0
0
-1
0
-1
-26
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
-30
0
0
-10
0
0
-82
0
0
0
0
0
0
0
0
0
0
-9
2
-11
0
1
0
0
0
0
0
0
0
0
0
0
-7
-1
-6
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
1
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
40
-11
54
22
-61
11
36
25
17
22
-66
-72
1
-39
0
0
0
0
0
4
-1
9
-40
0
-33
10
36
-15
-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
-3
-9
0
-1
0
0
68
0
0
0
0
0
0
0
0
15
0
0
-7
-7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-23
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
-6
0
1
0
7
0
0
0
0
0
-18
4
0
10
0
14
-25
-27
31
2
0
0
0
0
0
0
-2
0
0
51
-34
-23
-32
37
-23
16
8
0
0
0
0
0
3
53
-58
10
0
-50
-15
49
32
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
4
9
-1
-23
-21
0
0
0
0
0
0
0
0
3
0
-8
0
4
44
0
0
0
-1
-1
0
-2
-2
39
-17
-73
36
8
112
-34
22
-20
14
0
0
0
0
0
-3
-17
16
48
0
14
-2
-73
-3
11
0
0
0
0
0
0
10
10
0
-16
-41
5
-5
-14
-34
34
-16
0
0
0
0
0
24
-2
-33
28
0
-4
74
10
14
-4
0
0
0
0
0
0
14
43
0
5
5
9
-53
7
0
53
71
0
0
0
0
0
0
-4
-2
-20
0
3
5
-17
2
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
44
0
0
0
0
0
0
0
0
-1
0
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
14
-8
1
0
1
-14
-1
0
12
0
1
0
4
0
-61
0
0
0
0
0
0
0
0
0
0
0
-33
-20
0
0
0
0
0
0
0
0
0
1
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
7
0
0
0
0
0
0
-52
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
96
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
-1
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
30
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
11
6
0
0
0
32
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
-1
0
0
1
5
0
0
0
0
1
0
-2
0
-18
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
3
0
-1
-2
-44
0
3
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
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
-150
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
-10
0
0
0
0
0
0
0
0
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
9
12
10
-25
-86
-64
38
-6
48
-32
-71
-50
0
-148
-64
0
0
0
0
0
-52
-72
12
4
0
-30
14
-48
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
8
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
-20
0
0
0
0
0
0
0
0
0
0
5
0
27
0
0
14
-33
-6
0
0
0
-8
46
-6
-41
-3
-13
0
-71
-47
-55
79
-13
8
0
63
0
0
0
0
0
69
7
44
-20
0
27
20
59
-28
14
0
0
0
0
0
0
0
0
0
0
0
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
-10
-2
0
-3
-36
0
0
-4
0
0
-28
0
0
0
0
0
0
0
-5
-26
0
-1
-19
-49
-7
0
0
0
7
0
7
-6
-1
-20
0
3
-16
-4
1
-21
0
0
68
0
0
0
0
0
3
0
-1
-73
0
0
21
22
-8
5
0
0
48
-14
14
-1
2
-6
0
-64
-35
0
26
-24
4
0
16
0
0
0
0
0
-5
7
26
119
0
45
-75
-24
57
2
0
0
-15
0
0
0
5
7
0
-13
0
0
0
-5
0
0
-53
0
0
0
0
0
0
0
1
52
0
0
-33
60
0
0
0
0
-15
0
-4
0
0
5
0
0
-11
-3
-26
0
0
0
-19
0
0
0
0
0
0
0
2
-5
0
-3
88
41
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
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
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
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
-14
3
0
3
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
-4
0
-5
0
1
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
-3
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
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
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
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
-55
0
-50
-18
-16
-36
-62
62
0
-44
-25
-13
-8
-8
-4
0
7
0
0
0
4
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
-1
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
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
1
-7
1
0
0
4
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
-29
-10
-2
20
-2
0
-1
56
0
0
0
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
-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
7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
5
1
8
4
-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
20
-70
0
-58
-25
-61
-6
-1
-9
0
-10
0
11
0
24
39
0
-20
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-10
0
0
0
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
22
-58
17
20
-1
-34
0
-6
-71
0
0
0
0
3
0
-1
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-60
6
11
0
0
1
-9
0
40
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
4
-35
45
-82
-6
12
-3
-57
29
0
-24
71
-41
-26
-9
0
-6
-9
0
-5
0
15
-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
-9
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
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
2
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
-2
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
1
0
0
-42
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
2
0
-9
-6
3
-29
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
21
6
3
0
9
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
-35
14
6
0
-1
0
-6
-49
0
0
0
0
-1
-1
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-10
5
24
0
-19
25
2
-23
0
0
0
-4
0
0
1
0
5
0
0
0
1
1
1
0
0
0
0
0
0
0
0
24
14
0
0
2
2
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
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
17
0
0
0
0
0
0
0
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
0
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
-29
0
-33
4
0
0
-116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-17
-33
0
-18
-17
-51
-21
-4
43
0
44
-1
12
-12
30
0
-5
-5
0
7
-2
-36
-10
-1
0
0
0
0
0
0
0
0
0
18
1
-1
-5
-2
0
0
-18
0
-1
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
20
-2
-30
0
-2
-8
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
20
-62
-40
0
-15
-15
8
0
-48
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
-17
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
1
-1
3
0
5
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
-9
-2
14
9
-20
-11
44
49
79
-10
-35
0
2
-8
98
33
12
-8
7
19
0
-7
-4
-51
-43
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
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
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
-4
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
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
-2
0
0
0
14
0
15
0
1
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-5
5
-7
0
-80
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
-5
-43
-3
-13
-10
0
0
80
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
15
2
-28
0
9
36
32
2
-46
0
-14
1
-4
13
5
-6
0
-1
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
-8
-29
-1
12
-10
7
0
-15
0
3
0
-2
1
0
-1
0
1
0
1
1
22
2
0
0
0
0
0
0
0
0
0
15
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
4
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-18
19
0
21
33
6
-14
1
-31
0
-3
0
2
-3
-22
0
2
75
0
-58
49
17
15
26
0
0
0
0
0
0
0
0
7
1
-2
2
-4
-11
1
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
-13
-15
43
-23
-2
23
-19
-21
0
0
0
0
0
0
-4
2
0
0
0
6
-2
-14
-2
0
0
0
0
0
0
0
0
0
44
-6
1
0
-6
4
-11
0
-53
0
0
0
0
0
0
0
0
-1
0
-5
4
-22
-2
0
0
0
0
0
0
0
0
0
0
2
-9
0
0
-1
0
0
-18
0
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
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
14
5
5
0
21
17
-44
71
17
-4
0
11
2
-17
-43
5
47
-9
-62
0
37
-6
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
-29
0
0
0
5
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
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
19
0
-6
0
0
0
0
4
2
0
0
1
0
-2
-5
-2
-1
0
0
0
0
0
0
0
-1
0
0
-4
19
0
-7
-14
0
0
1
0
-1
0
0
-2
1
0
-5
0
0
-6
6
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
4
0
-9
-11
0
-2
-26
0
0
0
0
1
1
0
-2
20
0
3
-1
0
-3
1
0
0
0
0
0
0
5
0
-11
-3
-40
-13
8
-17
-14
43
-51
0
0
0
0
-3
-17
-8
0
21
0
1
9
15
30
-2
0
0
0
0
0
0
0
0
0
7
3
0
12
-6
-9
-4
15
0
-1
0
0
0
5
-1
1
-1
0
-11
-25
36
7
-1
0
0
0
0
0
0
0
0
-22
24
9
0
3
14
-4
9
36
0
1
0
0
2
-5
-4
0
-8
0
-3
-26
-4
0
-3
0
0
0
0
0
0
0
0
0
0
-7
0
-5
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
3
0
22
0
2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
2
0
19
13
0
0
-11
48
-8
0
86
0
0
0
0
0
-4
-3
-1
-15
0
11
13
3
-6
0
0
0
0
0
0
0
0
0
1
0
48
-3
9
0
0
0
82
0
0
0
0
0
1
0
-1
-4
0
-1
-4
16
-6
-2
0
0
0
0
0
0
0
0
4
-20
31
3
-18
1
13
0
59
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
31
0
-13
0
-1
1
19
0
0
0
0
0
-1
0
0
0
0
2
-17
0
-6
0
0
0
0
0
0
0
0
0
0
-1
1
-1
8
0
0
0
-67
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
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-6
37
-35
9
24
18
-47
12
89
103
31
0
-9
0
0
-2
16
-8
35
-32
0
-18
-10
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
11
0
0
0
-15
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
-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
6
0
-15
0
16
0
0
0
0
0
-5
-6
0
14
0
8
-19
-45
-2
8
0
0
0
0
0
0
-3
1
0
-1
29
-1
-46
1
1
0
50
0
0
0
0
0
2
-2
22
24
0
23
-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
3
0
-8
0
2
-3
-5
8
0
0
0
0
0
1
-4
4
-17
0
13
24
-10
0
0
0
0
0
0
0
0
41
-2
-17
24
32
11
-49
-16
-8
-11
-71
0
0
0
0
0
7
8
8
-1
0
10
-17
-10
9
10
0
0
0
0
0
0
-1
0
0
24
43
4
-8
18
-9
0
47
0
0
0
0
0
-20
3
-18
-23
0
-24
2
-47
-15
0
0
0
0
0
0
0
-2
0
-34
3
18
3
44
-6
18
6
-42
0
0
0
0
0
1
0
0
7
0
-1
12
0
-6
3
0
0
0
0
0
0
0
0
0
0
-3
0
-11
0
-4
0
29
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
-1
0
1
0
9
0
0
0
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
-1
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
-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
12
0
0
0
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
-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
3
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
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
-13
0
0
0
0
0
0
0
0
10
0
0
0
-3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
3
-17
-1
3
21
28
-39
5
7
12
-32
5
-43
0
0
0
0
0
2
-41
-7
18
0
-15
-22
26
-43
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
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
-2
0
0
0
0
0
-1
0
0
2
0
-4
-3
12
10
0
0
0
0
0
0
0
2
0
0
0
26
0
-13
-1
0
0
23
0
0
0
0
0
0
-2
-14
6
0
-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
11
0
0
0
0
0
9
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
-1
-15
-15
-5
-11
-18
-2
24
90
0
0
0
0
0
1
0
1
-9
0
0
-7
-6
3
0
0
0
0
0
0
0
0
0
0
-14
-10
-1
10
-1
-1
1
-23
0
0
0
0
0
0
0
0
4
0
-7
1
16
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-15
0
0
4
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
31
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-44
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
-7
0
0
0
0
0
0
0
0
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
-2
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
-14
30
1
5
-21
-32
5
18
5
6
-8
14
2
-15
-92
0
0
0
0
0
18
-21
-26
11
0
-1
-1
-6
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
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
6
-11
6
0
0
0
-33
16
0
1
0
0
0
-1
-10
0
13
-6
0
0
45
0
0
0
0
0
-1
1
22
-52
0
21
3
-14
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
-9
0
0
0
0
0
0
0
0
0
0
-1
4
10
0
0
0
0
1
0
0
-1
0
0
0
2
3
0
0
0
0
0
43
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
-16
0
0
0
0
0
0
0
-1
29
0
-1
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-20
-44
-8
17
30
-4
2
14
15
-8
3
7
4
7
19
-5
5
-6
-16
-3
-8
-10
-9
-2
2
7
-2
-2
-8
7
32
3
-6
7
10
-14
-7
-18
-20
10
-3
11
7
18
59
12
-38
-35
-45
40
-41
-17
2
0
15
-10
-12
-21
-7
4
-1
-2
-10
-7
-16
-25
-9
-9
0
3
-2
-3
4
15
-39
11
5
15
16
5
2
3
0
5
6
23
5
8
9
-42
-2
-27
10
20
-11
-11
5
1
2
-2
-14
5
-1
-1
-2
-20
-7
-1
-6
-3
7
-2
0
7
-8
4
-2
5
-4
-7
10
1
7
3
10
2
1
3
0
17
15
7
20
40
33
-29
-11
-11
2
11
-34
-24
-32
0
14
-26
-8
-6
-7
7
-26
-2
-10
-3
-9
-11
-2
-1
-4
3
6
2
-2
11
-17
10
3
7
6
3
9
2
3
3
6
25
10
20
2
-18
6
-24
7
19
13
-9
0
6
6
1
3
-3
1
11
3
-7
-1
-4
1
-4
18
3
0
-20
-4
-1
-1
3
-9
0
13
-1
2
5
10
12
-4
4
6
13
15
3
27
15
1
-16
-9
14
-3
-6
-29
-27
-27
5
11
-26
-5
1
-1
15
-7
-3
-12
-6
-14
-7
1
0
12
5
4
3
3
0
3
6
4
0
20
1
4
3
3
4
-7
9
16
7
-2
-19
-12
-7
8
55
-1
-13
1
4
-35
-6
22
-19
11
26
1
7
-20
11
-5
26
2
-10
17
-1
-16
-37
-2
-1
-5
18
-1
8
-5
-21
11
10
-7
23
17
9
22
3
-35
0
5
-54
16
-41
12
38
-42
23
-1
-17
32
-65
-22
19
42
6
27
23
-8
-36
0
11
-19
6
25
31
-13
-4
-12
4
-9
23
7
-7
-1
11
-5
-10
-3
36
3
11
21
15
-19
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
4
0
-36
15
1
11
-29
5
0
24
-25
-23
2
-10
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
51
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
-42
0
0
0
1
0
6
0
0
4
19
7
18
27
79
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
4
0
0
-4
-21
0
2
2
0
0
0
-10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
4
2
0
0
7
-3
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
-48
7
-24
1
-43
6
6
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
24
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
-6
0
0
0
0
0
0
0
0
30
55
-36
22
74
0
-2
0
18
1
-21
5
29
-31
0
0
-18
27
13
1
-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
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
-13
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
1
0
0
0
0
0
24
0
2
0
0
0
0
0
0
-47
-10
3
0
-109
0
1
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
23
-2
0
-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
-73
0
0
0
0
0
0
0
0
57
-3
8
29
34
0
-1
0
0
0
0
0
76
-10
0
-2
-22
34
6
20
-17
-24
0
-16
0
0
0
0
0
0
0
0
-93
1
34
-9
-7
0
-8
0
-1
0
0
0
-47
-6
0
8
-22
32
21
16
11
-23
0
-11
0
0
0
0
0
0
0
0
1
0
0
10
1
0
-7
0
0
0
0
0
-8
-5
0
12
-32
-22
-20
17
-7
9
0
20
0
0
0
0
0
0
0
0
-30
-2
0
21
-20
0
0
0
0
0
0
0
23
51
0
-4
-10
-11
-50
16
10
17
0
-2
0
0
0
0
0
0
0
0
64
25
0
6
1
0
1
0
0
0
0
0
-16
-3
0
-6
-32
-29
55
1
6
-26
0
-34
0
0
0
0
0
0
0
0
69
-2
0
33
0
0
-1
0
0
0
0
0
0
0
0
-7
-83
-23
-37
-1
-26
-28
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-25
-25
14
-67
-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
17
0
-15
-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
35
0
0
0
0
0
-7
0
0
153
-44
71
-58
-11
-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
-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
2
-10
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
-1
0
0
0
0
0
0
0
0
10
8
14
-30
45
0
-3
0
23
0
23
17
75
63
0
-1
-46
-6
-4
1
14
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
2
0
0
0
0
0
-30
0
3
0
0
0
0
0
0
6
12
-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
-11
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
-20
0
0
0
0
0
0
0
0
-15
45
21
19
23
-3
14
0
37
0
0
0
0
0
0
0
0
-7
0
0
-2
0
0
-37
0
-1
0
0
0
-1
0
0
1
6
-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
1
0
0
0
0
0
0
0
0
29
0
0
6
-3
0
-4
0
0
0
0
0
-15
0
0
9
-26
15
9
-7
32
11
0
-30
0
0
0
0
0
0
0
0
-3
1
0
49
-62
0
-1
0
0
0
0
0
-31
-4
0
-3
0
13
1
1
2
-43
0
6
0
0
0
0
0
0
0
0
-3
0
0
-11
0
0
4
0
0
0
0
0
0
0
0
81
40
5
62
7
-13
47
0
-20
0
0
0
0
0
0
0
0
0
0
0
-14
18
0
8
0
0
0
0
0
-1
0
0
-1
-49
-37
9
17
1
-72
0
3
0
0
0
0
0
0
0
0
-7
2
1
48
-2
0
5
0
0
0
0
0
-21
-20
0
1
-54
-57
12
-30
-5
-42
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
0
0
-11
0
0
0
0
0
0
0
0
-38
-17
-27
-4
3
1
-47
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-16
24
-1
14
-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
4
6
39
-8
2
0
0
0
-21
45
-4
1
0
0
-7
6
0
26
-5
3
0
16
2
0
17
-43
-64
6
-71
-13
-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
36
-2
-4
0
-1
0
0
0
6
-1
0
1
0
0
0
5
0
1
0
0
0
0
-5
0
36
-61
-3
-8
46
-56
-7
0
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
14
7
-20
-56
-4
3
-1
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-47
11
176
37
33
-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
0
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
34
0
0
0
0
0
0
0
0
50
-1
-1
-5
0
0
2
0
0
-17
-61
51
0
0
0
0
-53
16
9
-3
0
0
-53
-3
0
2
6
17
-16
-30
-25
0
-9
-10
-1
-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
22
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-17
0
1
0
0
0
0
0
0
4
16
0
2
-7
0
0
0
5
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
1
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
1
0
0
0
0
0
0
-15
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
25
-5
0
0
0
0
0
0
1
7
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
30
-20
-4
3
0
43
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-2
0
0
0
0
0
0
-48
13
-54
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
-8
58
-15
4
0
0
0
-3
11
0
0
0
0
-6
8
0
0
0
0
0
0
0
0
-86
-70
-10
4
4
-47
25
0
0
-56
22
-3
-53
0
0
0
15
-30
3
1
0
0
-43
0
0
0
0
0
0
18
28
0
-7
-56
8
3
-2
8
13
0
23
3
0
0
1
0
0
0
4
2
0
0
0
0
0
5
0
0
0
0
0
0
0
0
18
-15
18
2
-24
-1
-69
0
-23
-28
-21
-15
0
0
0
0
39
7
0
0
0
0
24
-9
0
0
0
0
0
2
0
0
40
-24
1
-44
-18
-39
-7
0
0
63
-22
5
0
0
0
0
-1
7
0
0
0
0
-17
-3
0
0
0
0
0
-8
-24
0
-7
-74
1
0
13
-45
-3
0
0
-5
-5
-5
0
0
0
0
0
14
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
-70
-35
-2
-33
-14
0
32
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
-36
29
-14
16
29
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
2
-70
53
-27
-4
0
-12
0
21
18
-43
-9
-15
10
0
13
21
3
3
23
-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
-11
0
0
0
0
0
0
0
0
22
6
20
-67
-15
0
-27
0
-22
0
2
-3
-8
0
0
73
-19
-87
-92
-14
39
18
0
139
0
0
0
0
0
0
0
0
-16
0
-1
0
0
0
11
0
-4
0
0
0
2
0
0
26
-46
-3
-13
42
-1
2
0
16
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
-27
0
0
0
0
0
0
0
0
34
3
-3
10
-37
9
1
0
-6
0
0
0
0
0
0
0
0
-14
0
-5
-1
0
0
-5
0
0
0
0
0
-14
0
0
6
63
-27
-20
95
-51
-18
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
13
-11
-15
48
-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
-19
0
0
0
0
0
0
0
0
-7
42
5
-32
63
0
-1
0
-16
-19
12
-7
-92
-60
0
0
12
1
-13
18
-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
57
0
0
0
0
0
0
0
0
72
0
0
-3
0
0
-26
0
1
-1
-5
9
30
0
0
2
-17
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
55
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
52
0
61
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
-49
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
29
4
-1
0
0
0
68
0
13
0
0
0
0
0
0
14
-1
-13
14
-73
0
2
0
-3
0
0
0
0
0
0
0
0
48
0
-2
0
0
0
53
0
0
0
0
0
0
0
0
0
-29
2
-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
26
0
0
0
0
0
0
0
0
104
-85
5
5
23
0
4
0
1
0
0
1
-4
-14
0
-1
45
15
19
25
14
36
0
-27
0
0
0
0
0
0
0
0
-17
73
-4
-39
56
0
-2
0
2
0
1
0
2
-99
0
39
7
23
18
19
-8
105
0
69
0
0
0
0
0
0
0
0
23
4
5
-20
-54
0
-5
0
0
0
0
0
65
-15
0
21
-4
7
-5
51
72
52
0
-8
0
0
0
0
0
0
0
0
-69
-6
21
-37
24
0
2
0
0
0
0
0
5
12
0
27
6
18
-4
-2
-51
-28
0
7
0
0
0
0
0
0
0
0
-31
85
-18
64
22
0
-2
0
-5
0
0
0
-22
23
0
28
24
33
18
16
-3
77
0
91
0
0
0
0
0
0
0
0
-26
-4
4
41
0
0
-28
0
0
0
0
0
11
0
0
3
49
80
71
24
-14
-1
0
-64
0
0
0
0
0
0
0
0
2
0
0
-47
0
0
18
0
0
0
0
0
0
0
0
27
10
8
14
-34
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
0
0
-5
0
22
17
3
-14
31
5
0
19
3
-8
0
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-3
-56
11
0
11
0
0
0
0
0
-10
-7
0
17
-7
5
-12
-1
-90
-7
0
0
0
0
0
0
0
0
0
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
92
0
0
0
0
0
0
0
0
-50
-5
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-3
60
38
-58
66
0
-5
0
36
20
-6
39
-37
28
0
-3
-14
3
-9
10
-55
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
45
0
0
0
0
0
0
13
-17
0
44
-56
53
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
32
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
1
0
0
2
0
0
43
0
-2
0
0
0
0
0
0
-39
-38
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-2
0
0
-25
0
0
0
0
0
0
0
0
-19
-7
10
0
-5
-2
0
0
23
0
0
0
0
0
0
0
0
60
0
-6
-24
0
0
-2
0
-11
0
0
0
0
0
0
46
22
48
5
89
-5
-67
0
-27
0
0
0
0
0
0
0
0
-53
0
0
-8
0
0
-50
0
-10
0
2
0
-3
0
0
20
9
5
41
152
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
72
0
2
-64
-33
0
12
0
0
0
0
0
-60
0
0
9
-8
-48
19
17
32
60
0
9
0
0
0
0
0
0
0
0
23
-6
6
-36
-124
0
-6
0
0
0
0
0
65
-30
0
36
0
-12
7
11
5
-30
0
-1
0
0
0
0
0
0
0
0
12
0
0
-17
-92
0
21
0
0
0
0
0
4
0
0
18
-8
16
-15
28
59
62
0
2
0
0
0
0
0
0
0
0
10
-1
0
-56
39
0
15
0
0
0
0
0
-10
0
0
10
-2
-11
37
9
25
-62
0
11
0
0
0
0
0
0
0
0
-6
5
-8
103
33
0
8
0
0
0
0
0
187
101
0
58
26
-43
10
8
25
13
0
6
0
0
0
0
0
0
0
0
16
0
1
42
-2
0
-22
0
0
0
0
0
0
0
0
23
-5
-24
-7
-27
21
17
0
15
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
12
0
0
0
0
0
0
0
0
-5
49
-36
-21
-67
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
-34
38
-32
43
0
0
0
-54
0
101
22
0
0
-49
0
0
18
16
29
65
-26
-57
0
11
-28
5
11
29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
13
17
-10
11
0
0
0
-69
80
3
17
0
0
-45
-4
0
1
0
0
0
28
-23
0
-30
-37
-45
15
-36
-5
-93
0
-27
-4
0
0
0
0
0
0
4
32
-1
2
0
0
-1
8
0
-20
0
0
0
0
4
0
-45
8
-55
-164
-8
9
46
0
-19
-4
-3
3
-5
0
0
0
6
73
0
-2
0
0
29
1
0
-2
0
0
0
7
0
0
-47
8
44
33
-20
-215
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
-7
0
0
0
0
0
0
0
5
-17
0
3
0
0
0
-32
0
6
0
0
0
0
0
0
29
0
5
-5
-52
-9
3
0
-4
39
52
65
19
0
0
0
14
8
8
-59
0
0
-9
0
0
22
18
32
19
-68
-44
0
6
4
-3
-1
-4
17
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
-5
7
0
0
-2
32
0
-4
0
1
0
0
-8
0
8
-54
-23
-32
25
0
7
0
36
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
-37
0
0
-4
0
0
0
9
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
23
1
-2
-11
0
0
0
-3
0
0
0
0
0
0
0
-8
-2
0
1
0
0
0
-15
0
0
0
0
0
0
0
0
-1
-42
3
0
0
1
0
0
-21
-8
0
0
0
0
0
0
-3
5
0
10
0
0
0
16
0
-9
0
0
0
0
0
0
100
-7
-8
-4
58
0
-23
0
-12
2
0
0
0
0
0
0
-2
5
0
1
0
0
0
6
0
-6
0
0
0
0
0
0
-51
59
32
-45
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
4
28
50
-23
-13
0
0
0
39
14
0
6
0
0
-43
-10
0
0
0
0
0
-1
-16
0
28
15
7
2
-21
-1
20
0
12
-67
-75
-73
-20
0
0
0
-35
20
-16
-39
0
0
23
-2
0
0
0
0
0
4
57
0
11
4
11
11
7
-25
0
0
11
-76
-27
-6
-1
0
0
0
-76
-3
0
0
0
0
1
12
0
0
0
0
0
8
0
0
33
-20
13
9
-3
63
5
0
36
-96
-15
-66
-6
0
0
0
-29
50
2
0
0
0
-52
2
0
0
0
0
0
14
17
0
-8
-33
9
14
-27
-38
26
0
-7
-50
-96
-13
-54
0
0
0
21
-54
0
1
0
0
-82
3
0
0
0
0
0
-47
12
0
12
19
9
6
-21
44
-7
0
-3
-18
-3
-10
0
0
0
0
-4
146
0
3
0
0
0
-3
0
0
0
0
0
0
2
0
4
4
4
62
28
2
35
0
-20
-2
0
2
0
0
0
0
-6
-22
0
-1
0
0
0
-47
0
0
0
0
0
0
0
0
-40
75
-38
9
17
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
-9
-57
33
-26
-14
0
-7
0
-6
15
53
16
-15
-19
0
12
21
63
19
22
63
-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
-40
0
0
0
0
0
0
0
0
24
5
13
-77
-22
0
-7
0
26
0
1
-5
-33
3
0
-2
9
-40
-37
8
14
-18
0
68
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-30
0
-4
0
0
0
3
0
0
99
-45
-3
-11
91
-1
2
0
104
0
0
0
0
0
0
0
0
15
0
-1
0
0
0
-41
0
0
0
0
0
1
0
0
-4
-9
-3
5
-13
10
1
0
18
0
0
0
0
0
0
0
0
-29
0
-9
-1
0
0
-1
0
0
0
0
0
-24
0
0
-57
63
26
-60
64
-11
3
0
-23
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
12
-25
-10
20
-54
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-34
-10
-1
-6
0
0
0
-33
2
-39
-34
-1
83
0
-1
6
13
5
-6
-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
33
0
0
0
0
0
0
0
0
58
0
0
-3
0
0
2
0
18
-1
-3
-14
-1
0
0
-3
17
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
16
0
0
0
0
0
20
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
-98
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
48
4
-1
0
0
0
-17
0
8
0
0
0
0
0
0
36
17
-10
9
-36
0
2
0
7
0
0
0
0
0
0
0
0
27
0
-2
0
0
0
23
0
0
0
0
0
0
0
0
-13
6
0
-20
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
-41
0
0
0
0
0
0
0
0
69
-38
-14
-3
5
0
2
0
1
0
0
1
-35
-9
0
9
107
-49
18
52
8
17
0
11
0
0
0
0
0
0
0
0
45
49
6
42
34
0
11
0
-3
0
1
4
17
-119
0
56
11
-13
-9
26
2
23
0
87
0
0
0
0
0
0
0
0
-25
4
5
-17
-94
0
6
0
0
0
0
0
75
-19
0
43
34
17
8
77
12
14
0
-13
0
0
0
0
0
0
0
0
-48
-6
15
-89
4
0
-5
0
0
0
0
0
-1
11
0
20
19
2
34
-7
-3
40
0
-15
0
0
0
0
0
0
0
0
28
36
-3
28
30
0
-12
0
0
0
0
0
-10
16
0
30
48
-4
10
90
-42
-5
0
-7
0
0
0
0
0
0
0
0
-69
-4
4
-37
0
0
2
0
0
0
0
0
7
0
0
107
-25
-29
5
74
-21
41
0
50
0
0
0
0
0
0
0
0
2
0
0
-49
0
0
-34
0
0
0
0
0
0
0
0
-11
70
-23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
4
0
-43
0
0
-19
0
32
-35
15
48
-24
-39
0
61
5
1
0
45
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
5
-28
11
0
-11
0
0
0
0
0
-6
-7
0
6
14
18
-8
22
-160
8
0
0
0
0
0
0
0
0
0
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
3
0
4
0
0
0
10
0
0
0
0
0
0
0
0
-39
54
-8
-36
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
-10
0
0
0
0
0
0
0
0
-14
-72
-14
17
30
0
1
0
-5
13
18
-32
-22
-14
0
-6
-2
15
-18
8
-36
-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
41
0
0
3
-2
0
5
0
14
0
0
0
-21
0
0
64
35
0
-9
-75
32
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
63
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
2
0
0
34
0
-2
0
0
0
0
0
0
-35
5
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-2
0
0
-16
0
0
0
0
0
0
0
0
-6
78
10
0
-5
-2
0
0
15
0
0
0
0
0
0
0
0
61
0
-9
-31
0
0
37
0
-3
0
0
0
0
0
0
43
14
43
-28
-8
-6
-32
0
-55
0
0
0
0
0
0
0
0
-9
0
0
-8
0
0
-47
0
18
0
2
0
-3
0
0
50
-23
-13
46
149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-62
-71
0
-4
0
0
0
0
0
-4
0
0
-27
2
13
26
10
54
-2
0
11
0
0
0
0
0
0
0
0
56
9
6
-32
-59
0
-6
0
0
0
0
0
89
-13
0
23
0
-8
3
37
1
-5
0
2
0
0
0
0
0
0
0
0
50
0
0
26
-64
0
-36
0
0
0
0
0
4
0
0
59
33
-1
52
30
48
59
0
31
0
0
0
0
0
0
0
0
22
-1
0
-20
-12
0
4
0
0
0
0
0
-6
0
0
37
-6
-8
-6
14
5
-6
0
-5
0
0
0
0
0
0
0
0
46
5
0
-14
80
0
0
0
0
0
0
0
99
53
0
62
20
-5
15
-20
51
32
0
-1
0
0
0
0
0
0
0
0
19
0
2
14
-2
0
-7
0
0
0
0
0
0
0
0
31
40
3
13
17
21
-19
0
5
0
0
0
0
0
0
0
0
-3
0
0
5
0
0
-9
0
0
0
0
0
0
0
0
-17
32
-26
-5
9
-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
2
-90
17
-76
-27
0
0
0
-18
7
97
-17
0
0
-4
-2
0
15
48
-21
48
-101
-8
0
42
25
48
5
5
20
-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
-33
-20
35
-33
47
0
0
0
-10
85
2
3
0
0
-6
-19
0
1
0
0
0
9
-4
0
-31
-22
-15
-29
8
-92
-63
0
-62
-4
0
0
0
0
0
0
3
58
-1
10
0
0
-1
-24
0
-10
0
0
0
0
4
0
-52
15
-33
48
-66
6
18
0
33
-9
-3
3
-5
0
0
0
9
-26
0
-3
0
0
36
-9
0
-2
0
0
0
10
0
0
5
-21
96
-16
-31
-170
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
-36
0
0
0
0
0
0
0
5
0
0
3
0
0
0
-47
0
6
0
0
0
0
0
0
-19
24
13
37
-93
-9
3
0
-1
-10
36
43
-12
0
0
0
34
26
22
17
0
0
-14
0
0
32
6
-6
6
-1
-79
0
16
-7
3
7
11
43
-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
19
0
0
0
0
0
0
0
6
65
-25
34
0
0
-2
27
0
1
0
1
0
1
-2
0
6
25
-34
-10
-21
0
7
0
70
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-23
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
-60
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
41
1
-2
-6
0
0
0
14
0
0
0
0
0
0
0
-8
-22
0
1
0
0
0
57
0
0
0
0
0
0
0
0
-1
12
3
0
0
1
0
0
-83
-8
0
0
0
0
0
0
-3
-15
0
17
0
0
0
13
0
-9
0
0
0
0
0
0
96
20
-30
16
41
0
-8
0
30
2
0
0
0
0
0
0
-2
47
0
1
0
0
0
13
0
5
0
0
0
0
0
0
-36
121
-22
-36
64
0
8
0
0
0
0
0
0
0
0
0
0
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
22
-24
-8
0
0
0
-4
-3
1
6
0
0
-31
-10
0
0
0
0
0
-1
-8
0
14
-32
6
28
14
27
-8
0
11
-35
-85
6
-11
0
0
0
-15
-35
-26
-64
0
0
32
-3
0
0
0
0
0
51
-11
0
20
4
-8
11
18
-41
11
0
-6
-54
-27
0
-2
0
0
0
-122
47
0
0
0
0
2
17
0
0
0
0
0
8
0
0
18
14
-18
-12
59
1
-33
0
-2
-5
-15
-66
-14
0
0
0
-82
69
2
0
0
0
-1
-7
0
0
0
0
0
7
24
0
-26
-15
8
38
-32
-28
40
0
-2
-2
-77
-52
-51
0
0
0
15
-16
0
2
0
0
-79
5
0
0
0
0
0
-29
22
0
-7
22
8
-66
57
52
5
0
-8
-26
-3
-10
0
0
0
0
-8
134
0
3
0
0
0
4
0
0
0
0
0
0
2
0
22
-2
-5
71
43
2
-46
0
2
0
2
1
0
0
0
0
-16
-24
0
-1
0
0
0
12
0
0
0
0
0
0
0
0
8
33
-26
1
2
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
-49
15
-5
15
15
0
3
0
21
2
3
3
-30
-7
0
1
-7
-66
51
-53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-33
-2
7
-13
-5
0
-4
0
5
0
1
0
-18
0
0
49
-1
12
20
2
13
2
0
-21
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
5
-11
0
-13
-5
1
0
0
7
0
0
0
0
0
0
0
0
27
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-3
-51
-1
-2
-5
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
6
0
0
0
-33
0
0
0
0
0
-2
0
0
-30
-18
8
10
-28
6
-5
0
-14
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
10
-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
-14
0
0
0
0
0
0
0
0
-5
17
-47
-14
-5
0
11
0
-4
1
10
10
43
58
0
5
-16
-45
-27
17
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
1
0
0
0
0
0
0
0
0
-2
0
-1
-1
0
0
31
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-22
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
20
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
58
0
0
0
0
0
0
0
0
28
-2
-2
-26
-9
0
29
0
0
0
0
0
1
0
0
13
-42
33
-13
-50
-25
-15
0
36
0
0
0
0
0
0
0
0
-15
-14
13
-20
19
0
62
0
0
0
0
0
-11
0
0
58
0
43
33
37
5
-18
0
32
0
0
0
0
0
0
0
0
14
0
0
-1
-5
0
1
0
0
0
0
0
-6
0
0
32
-26
-29
-16
29
17
-6
0
-52
0
0
0
0
0
0
0
0
12
0
0
2
-32
0
-12
0
0
0
0
0
0
-1
0
28
76
23
27
-11
-33
-4
0
35
0
0
0
0
0
0
0
0
35
14
-2
8
4
0
-5
0
0
0
0
0
13
0
0
47
16
-64
14
15
-16
-7
0
14
0
0
0
0
0
0
0
0
-2
0
1
-2
0
0
-69
0
0
0
0
0
0
0
0
48
-12
-17
-6
33
0
1
0
49
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-33
0
0
0
0
0
0
0
0
-7
-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
0
0
-6
0
0
-5
0
0
-5
0
3
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
28
1
-5
4
3
0
-7
0
0
0
0
0
1
0
0
33
-29
15
4
40
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-16
23
1
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
-2
0
0
0
0
0
0
0
0
-44
-17
-39
54
-10
0
-4
0
13
5
5
2
-14
1
0
58
24
7
7
3
-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
-5
0
0
0
0
0
-11
0
1
0
0
0
0
0
0
9
20
0
1
-6
0
0
0
0
0
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
6
0
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
0
0
10
0
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
0
15
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
35
-25
15
6
11
0
0
0
14
0
0
0
0
0
0
0
0
11
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-9
0
-18
-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
26
0
0
0
0
0
0
0
0
0
0
0
-24
-8
0
12
0
0
0
0
0
1
0
0
11
32
6
-6
24
7
0
0
-25
0
0
0
0
0
0
0
0
-10
-1
-6
-43
23
0
7
0
0
0
0
0
-5
1
0
-26
0
-5
-25
47
10
11
0
-4
0
0
0
0
0
0
0
0
2
0
0
18
1
0
-19
0
0
0
0
0
0
0
0
16
13
1
-14
-10
5
-1
0
34
0
0
0
0
0
0
0
0
10
-1
0
-8
-7
0
-21
0
0
0
0
0
1
0
0
-13
-13
-59
9
43
-14
7
0
-33
0
0
0
0
0
0
0
0
40
0
-4
-31
7
0
66
0
0
0
0
0
0
0
0
-42
-48
-1
65
-39
-3
2
0
4
0
0
0
0
0
0
0
0
0
0
1
11
0
0
-29
0
0
0
0
0
0
0
0
8
10
-20
-7
31
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
33
7
0
-9
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
3
-18
-9
-36
-43
0
0
0
-31
8
10
-21
0
0
32
21
0
29
1
-3
0
20
1
0
-8
26
15
-1
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
25
-13
22
0
0
0
23
-30
5
2
0
0
-16
15
0
-1
0
0
0
-4
0
0
-16
11
3
-65
47
3
21
0
0
-2
0
0
0
0
0
0
8
11
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-9
6
-17
60
-19
0
-4
0
4
-6
0
1
0
0
0
0
3
-33
0
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
-6
53
-31
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
1
0
0
0
0
0
0
0
0
2
0
2
0
0
0
-25
0
0
0
0
0
0
0
0
-20
-2
-4
11
-6
-1
0
0
-7
4
-6
-9
4
0
0
0
3
-58
1
-29
0
0
-42
14
0
21
0
-2
-1
-35
-4
0
62
-6
-19
26
44
16
-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
18
0
0
0
0
0
0
0
1
-2
0
-3
0
0
0
4
0
0
0
0
0
0
0
0
-1
26
0
-1
-7
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-14
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
2
0
0
0
0
0
0
0
0
0
-9
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
-19
0
0
0
0
0
0
0
-8
-1
0
1
0
0
0
4
0
0
0
0
0
0
0
0
-2
-15
14
1
-7
0
0
0
-42
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
46
0
0
0
0
0
0
0
0
2
21
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
24
-34
0
-3
0
0
0
0
9
13
0
-1
0
0
10
1
0
0
0
0
0
0
0
0
4
-52
-14
0
-14
3
10
0
13
14
-33
76
10
0
0
0
19
33
-9
-23
0
0
-13
-16
0
0
0
0
0
17
2
0
-13
-16
28
-10
-26
17
21
0
-27
11
0
0
-2
0
0
0
-11
-2
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
-24
12
8
30
5
-4
0
33
26
8
-10
0
0
0
0
1
0
0
0
0
0
-24
5
0
0
0
0
0
0
0
0
7
2
-10
45
-9
2
8
0
8
15
-4
5
-4
0
0
0
2
64
0
-1
0
0
-2
14
0
0
0
0
0
0
0
0
45
-12
5
-21
3
6
3
0
43
0
0
0
0
0
0
0
-6
0
0
2
0
0
0
23
0
0
0
0
0
0
0
0
-7
-10
8
0
4
0
-7
0
-37
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
11
20
26
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
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
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
-5
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
37
0
0
0
0
0
0
0
0
0
-7
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
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
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
6
10
2
-19
7
0
11
0
-4
0
3
0
5
-7
0
-74
30
4
-48
-47
-35
-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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
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
0
0
0
0
51
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
-54
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
-37
0
0
0
0
0
0
0
0
25
0
0
2
-1
0
-4
0
0
0
0
0
0
0
0
43
0
19
-48
-19
-3
5
0
6
0
0
0
0
0
0
0
0
-2
0
0
-7
0
0
-17
0
0
0
0
0
0
0
0
11
-2
-11
-8
0
1
29
0
-62
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
-44
13
0
-2
0
0
-53
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
5
2
2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
-14
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
4
6
39
-8
2
0
0
0
-14
45
0
4
0
0
-7
7
0
39
-9
-1
11
3
10
0
23
-43
-64
6
-64
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
3
2
2
-5
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
-3
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
18
0
0
0
0
0
0
0
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
-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
-117
25
0
37
-5
0
-16
0
-1
-6
0
0
-6
27
0
-16
-14
5
-54
51
-64
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
-74
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
-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
-22
-14
1
-39
36
0
5
0
0
0
0
0
-9
1
0
-37
-24
0
102
41
-21
29
0
0
0
0
0
0
0
0
0
0
-37
-30
-9
0
0
0
-76
0
0
0
0
0
0
0
0
7
-10
-5
-23
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-34
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
3
0
0
1
0
0
20
0
0
0
0
0
0
0
0
-3
22
-27
-1
-29
-10
-1
0
0
0
0
0
0
0
0
0
0
-3
32
1
-29
-3
0
1
0
0
0
0
0
3
-1
0
-22
14
7
-57
-46
-18
-34
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
5
-46
24
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
-81
3
-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
9
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
-7
0
0
0
0
0
-2
0
0
-2
-8
0
-59
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
8
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
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
-5
0
0
0
0
0
0
0
0
-38
1
2
3
17
0
25
0
0
0
0
1
-5
12
0
-21
-60
-71
-4
-19
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
-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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
2
21
0
-7
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
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
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
9
0
0
-1
0
0
20
0
0
0
0
0
0
0
0
46
-3
3
-15
26
33
82
0
-36
0
0
0
0
0
0
0
0
-43
0
0
43
-51
0
-31
0
0
0
0
0
12
0
0
-110
0
-54
1
-34
-1
-25
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
5
35
0
97
-3
0
1
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
21
-11
5
-32
44
11
2
0
11
0
0
0
0
0
0
0
0
3
2
0
4
1
0
23
0
0
0
0
0
-18
0
0
42
-21
-19
4
-61
-6
-98
0
-43
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
-3
-8
0
-5
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
-2
0
-1
0
0
0
0
34
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
-62
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-46
-77
-19
-33
8
-30
36
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
10
9
-16
-29
-14
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
-26
25
181
0
-56
-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
2
0
0
0
0
0
0
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
-21
-30
-49
1
-15
0
0
0
-105
-48
4
3
0
0
-106
6
0
-50
0
21
0
-15
-17
0
-14
-16
-1
-100
-26
13
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
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
14
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
-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
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
-20
0
0
0
0
0
0
0
0
47
17
-19
1
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
-2
0
0
0
0
0
0
-1
33
-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
3
-33
29
1
0
0
0
0
0
10
0
0
0
0
1
15
0
0
0
0
0
0
2
0
-29
-18
-2
-41
16
-4
-2
0
19
-53
76
4
1
0
0
0
8
-3
2
0
0
0
-9
1
0
0
0
0
0
-72
34
0
17
-65
8
11
24
4
42
0
10
1
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-43
-31
5
-50
-71
-27
-24
0
22
-9
-7
-11
0
0
0
0
3
0
0
0
0
0
19
-19
0
0
0
0
0
1
0
0
43
-46
1
-51
-44
-47
-33
0
-21
9
12
-5
0
0
0
0
-5
7
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-6
-24
0
-3
-60
4
27
0
1
-1
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-24
6
-1
2
-10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-2
-4
-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
51
0
0
0
0
0
0
0
0
-11
-61
0
0
29
32
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
4
11
0
0
0
0
0
0
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
4
0
19
5
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
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-25
-41
34
0
0
0
14
0
0
0
47
-29
0
51
17
3
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
33
0
23
-13
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
4
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
-2
6
0
-31
-16
0
-1
0
0
0
0
0
63
5
0
-99
-15
124
3
-12
-11
-36
0
0
0
0
0
0
0
0
0
0
20
0
-6
9
0
0
-54
0
0
0
0
0
0
0
0
14
4
34
-63
7
-50
23
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-112
0
0
0
0
0
0
0
0
-7
1
-3
21
13
-20
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
15
0
0
0
0
0
0
0
0
11
-15
-1
-14
16
-52
10
0
0
0
0
0
0
0
0
0
0
-26
-1
0
-5
8
0
21
0
0
0
0
0
-27
0
0
24
-12
60
21
7
1
11
0
0
0
0
0
0
0
0
0
0
43
0
0
-7
0
0
15
0
0
0
0
0
0
0
0
56
-28
-22
-5
21
-2
-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
-23
45
13
-8
61
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
43
-23
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
-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
-16
0
0
0
0
0
0
0
0
5
0
0
-29
-21
0
1
0
16
0
1
0
42
52
0
-14
13
-52
9
2
-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
15
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
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
14
0
0
0
0
0
0
0
0
-35
13
0
25
17
0
0
0
15
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
-10
0
0
0
0
0
0
0
0
15
-14
11
70
-11
-6
-17
0
-53
0
0
0
0
0
0
0
0
-33
0
0
-11
4
0
-2
0
0
0
0
0
-1
4
0
-17
0
-25
-76
4
-26
-14
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
34
2
0
-13
-2
0
-1
0
74
0
0
0
0
0
0
0
0
0
0
0
-23
9
0
8
0
0
0
0
0
-1
0
0
-6
-8
-18
-12
2
17
-31
0
2
0
0
0
0
0
0
0
0
-1
0
0
36
5
0
0
0
0
0
0
0
0
-1
0
-71
0
-13
6
17
-7
100
0
-41
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-8
0
0
0
0
0
0
0
0
-28
-4
0
14
3
0
9
0
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-11
0
0
0
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
5
0
0
0
0
0
11
0
0
0
0
0
0
0
0
13
-17
14
9
66
-5
-51
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
10
-2
0
-3
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
-39
-3
0
34
15
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-7
-3
0
0
2
0
0
0
-1
17
5
17
20
0
0
0
15
12
5
0
0
0
26
1
0
63
0
0
-3
-2
30
0
8
-9
-23
-3
30
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
0
0
-2
0
0
0
0
0
9
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
100
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-8
5
0
4
0
0
-5
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
-3
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
2
5
3
-6
5
0
0
0
-5
-1
0
0
0
0
-4
25
0
0
0
0
0
0
-4
0
-12
-16
2
4
35
-37
15
0
-16
-60
-43
-6
-26
0
0
0
48
22
-1
0
0
0
14
-13
0
0
0
0
0
10
-31
0
6
-22
-14
1
-35
31
-27
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
57
-13
5
27
-14
26
-14
0
0
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
45
0
0
0
0
0
0
0
0
76
11
-2
53
-2
-1
3
0
1
46
-14
5
0
0
0
0
-9
4
0
0
0
0
-4
16
0
0
0
0
0
0
0
0
-31
-59
-10
0
51
-39
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-24
-19
-1
-10
-10
0
48
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-25
0
8
26
2
-6
0
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
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
38
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
-47
-4
7
57
43
0
0
0
0
0
0
0
-30
17
0
-5
-39
-11
12
-2
-3
-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
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
47
-2
0
5
-3
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
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
71
0
0
21
2
0
-2
0
0
0
0
0
-8
1
0
3
-33
8
69
5
-66
9
0
0
0
0
0
0
0
0
0
0
16
0
3
-1
0
0
-4
0
0
0
0
0
1
0
0
-16
-132
2
42
-61
-22
2
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
-79
0
0
0
18
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
0
0
0
0
0
0
0
0
-17
8
-2
-3
-20
1
2
0
0
0
0
0
0
0
0
0
0
-33
0
-1
3
0
0
-50
0
0
0
0
0
9
-1
0
-26
13
1
53
-14
-74
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-50
13
-1
14
-42
-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
-26
0
0
-20
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
19
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
-14
0
0
0
0
0
0
15
0
0
-32
-6
-8
-10
-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
-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
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
14
1
0
0
-4
-4
-1
0
-29
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
-21
0
0
0
0
0
0
0
0
1
0
0
-1
-1
0
15
0
0
0
0
0
-3
0
0
8
-20
0
1
-6
1
-29
0
46
0
0
0
0
0
0
0
0
1
0
0
-4
14
0
-1
0
0
0
0
0
-5
0
0
0
0
-17
-21
-84
-14
13
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-26
3
0
0
6
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-33
3
0
0
-2
-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
5
11
-1
-29
-25
-25
-21
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
63
0
0
0
0
0
0
0
0
29
-2
0
-1
15
0
-10
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-9
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
100
0
0
0
0
0
0
0
0
5
5
5
-22
19
2
28
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
0
0
0
0
0
0
0
0
20
3
0
0
-15
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
7
-1
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
6
0
0
-4
0
0
3
0
-5
-30
-9
14
-17
0
0
0
26
61
0
-2
0
0
6
-1
0
0
0
0
0
9
-10
0
-45
4
-72
-44
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
-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
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
11
0
-1
-1
25
0
0
0
-7
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
1
0
0
1
0
0
0
0
0
-9
0
0
0
0
1
-22
0
0
0
0
0
0
0
0
3
-26
-15
-42
-35
24
27
0
38
3
-1
-1
-11
0
0
0
-27
-78
0
0
0
0
-24
4
0
0
0
0
0
-1
-6
0
-32
-25
-154
14
-4
-77
31
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
25
15
0
-5
48
0
0
0
-53
-7
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-64
17
-23
-39
21
7
25
0
-28
6
0
1
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-14
27
72
0
9
13
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
52
-7
6
-14
0
0
5
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
59
21
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
-30
0
0
0
0
0
0
0
0
-24
6
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
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
-17
0
0
0
0
0
0
0
0
26
-2
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
47
0
6
0
0
0
0
0
41
-7
0
-6
42
9
-8
2
30
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
-34
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
11
22
29
-119
9
29
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
63
0
0
0
0
0
0
0
0
17
-24
3
-1
39
5
-8
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
37
4
0
0
18
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
-19
-6
0
0
-10
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
1
-29
-3
19
13
-31
-61
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
5
-21
0
0
25
0
0
0
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
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
65
0
0
0
0
0
0
0
0
56
-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
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
10
0
0
0
0
0
-2
-1
0
-34
-33
-51
10
11
-51
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
0
0
0
0
-3
-1
0
0
-2
0
0
0
10
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
-1
0
0
-51
0
0
0
0
0
0
0
0
41
8
1
25
-3
9
5
0
30
0
0
0
0
0
0
0
0
7
0
0
4
6
0
-2
0
0
0
0
0
-2
0
0
-25
0
-22
38
-152
8
-32
0
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-11
-3
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
28
-16
0
75
11
22
14
0
-15
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
-1
41
0
-5
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
37
25
0
8
-4
0
1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
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
33
0
0
0
0
0
0
0
0
13
-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
13
-11
-1
0
0
0
21
16
0
0
0
0
0
0
-8
0
-25
-6
-26
-21
-76
-53
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
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
55
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
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-39
-7
-25
-18
-18
13
0
0
23
28
0
-1
0
0
0
0
-5
2
0
0
0
0
-6
28
0
0
0
0
0
0
0
0
-40
5
-50
-17
-131
-83
-41
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
-10
0
0
0
2
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
-7
-3
0
-1
6
0
0
0
-3
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-23
1
32
-43
-4
-7
-20
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-44
0
0
-1
2
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
17
0
-15
-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
41
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
70
0
10
1
2
0
-23
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
47
0
-17
-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
15
0
23
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
51
0
8
-3
19
4
0
-3
0
15
3
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
-21
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-16
0
0
0
0
0
0
0
0
3
0
0
0
0
0
26
0
9
12
16
-9
15
-1
0
3
-33
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
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
24
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-15
-17
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
25
0
0
0
0
0
0
0
-1
13
2
-2
0
0
0
12
0
-15
0
0
0
-2
-1
0
1
14
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
-19
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
-1
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
69
0
5
0
0
0
2
0
0
-3
14
-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
27
0
0
0
0
0
0
0
0
-2
55
-5
4
21
-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
17
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
19
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-3
1
0
0
0
-2
0
0
0
0
0
2
1
0
1
-22
4
10
-28
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
-29
0
0
0
0
0
5
1
0
-6
-5
-1
-20
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
83
0
0
0
0
0
0
0
0
-4
32
0
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
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
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
-11
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
2
3
1
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
-14
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
-13
0
0
0
0
0
0
0
0
-1
0
0
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
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
-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
2
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
23
40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
53
0
0
0
0
0
0
0
0
4
-15
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
-14
0
0
0
0
0
0
0
2
-9
-6
-3
0
0
0
33
0
0
0
0
0
0
-1
0
-12
38
10
-11
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
-29
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
45
0
0
0
0
0
0
0
0
0
-20
0
0
6
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
17
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
-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
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
-30
1
-4
0
0
0
-2
0
0
0
0
0
0
0
0
12
-11
26
-6
-33
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
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
3
-9
0
-1
30
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
-9
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
-1
0
0
-2
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-5
13
-15
6
0
0
24
0
0
0
0
0
14
10
0
20
-46
-8
14
-8
-77
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
0
0
0
0
0
0
0
0
-3
-23
0
0
-53
-2
0
0
-38
0
0
0
0
0
0
0
0
-24
0
2
-6
0
0
-4
0
0
0
0
0
1
0
0
3
27
18
17
1
-9
20
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
1
-11
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
15
0
0
-1
3
0
0
27
0
0
0
0
0
0
0
0
-21
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
-6
3
1
3
-7
-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
-14
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
-20
0
0
0
0
0
0
0
0
-9
-23
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
-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
0
0
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
-1
1
0
-20
0
0
0
0
0
0
1
0
-20
5
5
33
26
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
0
0
0
0
0
0
0
-9
0
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
-17
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
11
0
3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
1
0
0
24
0
0
0
0
0
0
0
0
19
0
-10
-75
-43
-6
-2
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
26
0
-1
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
16
-28
0
-26
-6
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
17
-4
0
26
9
-27
-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
5
11
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
17
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-47
-48
5
24
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
-17
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
43
34
4
-14
22
9
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
-16
-3
0
0
0
-18
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
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-5
-18
-1
6
0
0
0
9
4
1
1
0
0
0
11
0
0
0
0
0
-8
-1
0
29
18
-47
-12
71
-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
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-20
33
4
32
-3
0
-3
0
37
-4
-2
-3
0
0
0
0
-2
-14
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
10
-11
-25
-42
-34
-9
9
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
2
10
0
-11
-11
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
28
16
6
0
6
0
0
0
5
-1
0
0
0
0
0
0
-1
1
0
0
0
0
0
77
0
0
0
0
0
0
0
0
-25
13
-3
14
8
-2
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
9
0
1
0
0
0
0
-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
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
-5
0
0
-1
0
0
-16
0
0
0
0
0
0
0
0
22
-15
-19
43
15
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
17
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
46
23
0
6
10
11
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
14
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
16
0
0
0
0
0
0
0
0
-24
-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
9
0
0
0
0
0
0
0
0
-8
3
-20
4
-3
0
-2
0
0
0
0
0
-54
0
0
-16
31
-2
4
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
20
4
33
-3
-6
3
0
10
0
0
0
0
0
0
0
0
-43
0
10
0
0
0
-6
0
0
0
0
0
-14
0
0
3
-9
-13
20
0
53
2
0
26
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-92
0
0
0
0
0
0
0
0
-10
-2
0
0
-58
13
0
0
8
0
0
0
0
0
0
0
0
3
-2
0
-2
0
0
21
0
0
0
0
0
3
0
0
-13
25
-26
-20
64
46
-9
0
-75
0
0
0
0
0
0
0
0
28
0
0
0
0
0
6
0
0
0
0
0
-3
0
0
38
13
-8
-22
6
-50
-1
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
3
0
0
0
0
0
0
0
0
16
-17
0
13
38
0
1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
10
-6
3
0
-19
-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
14
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
-25
1
0
-3
0
0
0
0
0
4
4
0
0
-41
8
-15
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-1
0
0
26
-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
18
0
0
0
0
0
-11
0
0
0
0
0
-3
0
0
54
-5
13
-29
-11
85
32
0
0
0
0
0
0
0
0
0
0
14
-1
0
10
-8
0
-1
0
0
0
0
0
38
0
0
14
0
-49
-3
3
-5
-26
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
65
-3
-1
4
11
9
-1
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
-47
7
1
4
33
32
-2
0
0
0
0
0
0
0
0
0
0
-13
2
0
2
0
0
5
0
0
0
0
0
3
-1
0
59
14
-3
1
20
47
-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
-35
-3
0
0
-4
0
-9
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
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
49
-6
-29
-44
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-27
-22
-5
30
-3
-29
-2
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-19
3
2
0
5
0
-1
0
-23
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-31
10
-22
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
53
0
0
0
1
0
2
0
-1
40
0
25
-9
0
0
0
-12
-18
8
0
0
0
3
-6
0
0
0
0
0
10
3
0
9
-9
28
29
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
0
0
0
0
0
0
0
0
31
0
-6
0
-8
0
0
0
16
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
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
-38
-2
0
1
0
0
0
0
0
6
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
12
15
-24
-41
-28
-24
22
0
2
-53
8
-31
-2
0
0
0
24
-30
-2
0
0
0
-5
-3
0
0
0
0
0
-6
21
0
10
-25
30
-44
1
-30
-16
0
15
0
0
0
0
0
0
0
1
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
7
2
3
-7
-13
-5
-2
0
-43
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
33
0
0
0
0
0
0
0
0
71
-2
4
1
4
0
8
0
-5
19
4
5
0
0
0
0
7
-11
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-25
-1
32
65
-23
-17
-26
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
3
0
0
0
0
0
0
0
0
15
-21
1
-8
-22
1
-10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
46
-1
-3
0
81
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-1
0
3
0
0
0
0
0
35
-3
0
8
-57
-16
61
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-35
-56
1
3
-13
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
-17
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
2
-3
0
-25
-6
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
42
25
0
-13
18
0
-2
0
0
0
0
0
65
-8
0
1
-82
11
10
1
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
0
0
3
0
4
0
-65
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
15
-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
22
0
0
0
0
0
0
0
0
25
-18
0
22
14
0
7
0
0
0
0
0
67
0
0
3
22
39
-10
20
53
-3
0
-29
0
0
0
0
0
0
0
0
-9
-3
0
1
0
0
-95
0
0
0
0
0
-15
0
0
-30
-92
24
-57
5
-18
-52
0
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-1
0
0
0
0
0
1
-1
0
8
20
-15
19
23
41
-30
0
13
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
71
-19
-4
0
-46
0
0
0
110
0
0
0
0
0
0
0
0
44
24
0
11
-2
0
0
0
0
0
0
0
10
-2
0
-20
-28
-67
22
3
26
10
0
8
0
0
0
0
0
0
0
0
31
0
0
18
0
0
0
0
0
0
0
0
0
0
0
-10
-5
-31
-53
-2
-3
20
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
5
-22
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
152
-1
18
-53
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
61
51
0
-2
-55
-2
-5
0
-16
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
47
0
0
0
0
0
0
0
0
-47
0
14
29
-6
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
-1
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
0
0
0
0
0
-6
1
0
4
0
0
0
0
0
0
0
0
7
-32
-1
7
1
-19
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-34
0
0
0
0
0
0
0
-56
-1
0
-3
0
14
1
1
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-15
0
0
0
0
0
0
0
0
-5
14
8
72
8
-10
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
13
0
9
0
0
0
0
0
-1
0
0
25
-18
-59
13
4
-1
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-2
0
7
0
0
0
0
0
-13
0
0
1
-33
-63
11
-46
-4
-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
-20
-3
-36
10
3
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-19
0
0
19
-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
9
39
-16
1
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-30
-8
-14
6
-74
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
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
-14
-34
-4
-29
6
-24
-5
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
153
0
0
0
0
0
0
0
0
26
0
-36
-15
-3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
0
0
-19
-1
195
33
17
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-16
-62
27
6
0
0
0
-44
0
0
0
0
0
-52
-3
0
0
0
0
0
-64
8
0
-42
-72
-1
-7
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
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
2
-1
-13
6
16
0
41
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
-6
0
-54
-9
0
0
0
0
0
0
0
0
0
0
0
0
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
5
52
-16
5
0
0
0
-4
0
0
0
0
0
-6
18
0
0
0
0
0
0
4
0
-81
-67
-9
4
9
-8
24
0
-15
8
6
31
-44
0
0
0
-14
0
0
0
0
0
-33
0
0
0
0
0
0
27
9
0
-12
-23
9
3
0
12
33
0
33
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-43
-11
44
13
17
-65
0
-22
-21
-15
-15
0
0
0
0
25
0
0
0
0
0
23
-7
0
0
0
0
0
1
-1
0
-28
-18
-1
-43
-21
-17
-5
0
10
43
-39
-1
1
0
0
0
-16
0
0
0
0
0
-13
-4
0
0
0
0
0
-2
-6
0
24
-73
1
-3
3
15
-2
0
23
-4
-5
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-34
10
-1
-19
18
0
35
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-44
8
-6
16
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
11
-11
-1
-49
-53
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
5
0
-9
-8
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
34
46
0
0
0
0
0
0
0
20
3
0
0
-118
37
-10
-40
-16
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
-77
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
-4
0
0
0
0
0
0
0
0
-2
-62
48
5
-52
-73
-48
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-115
0
0
0
0
0
0
0
0
20
4
56
7
-33
3
1
0
14
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
1
0
0
0
0
0
0
0
0
-1
-23
-12
-44
42
-23
35
0
19
0
0
0
0
0
0
0
0
0
0
0
30
-24
0
0
0
0
0
0
0
31
15
0
-7
-54
32
-16
-40
-10
19
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
34
-50
65
-5
-35
-6
11
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
-33
-31
22
21
-6
0
-49
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
-15
0
43
-59
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
-1
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
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
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
-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
-3
0
0
3
0
-54
5
0
0
3
0
0
-14
43
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
87
-27
-9
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
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
-31
0
0
0
0
0
0
0
0
-18
112
21
-42
-42
0
-10
0
44
52
-4
53
11
16
0
-70
-15
3
34
21
-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
3
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
-21
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
5
6
46
-7
0
0
0
0
17
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
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
116
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
37
0
0
0
0
0
0
0
0
0
-128
-34
-2
2
3
0
0
69
0
0
0
0
0
0
0
0
33
0
-8
14
-20
0
0
0
0
0
0
0
-1
1
0
55
0
-17
38
41
-14
14
0
-1
0
0
0
0
0
0
0
0
-3
0
0
-16
-27
0
4
0
0
0
0
0
0
0
0
56
-44
-53
-33
-22
4
53
0
78
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
3
0
0
0
0
0
0
0
0
3
-16
-19
8
0
-4
0
0
-26
0
0
0
0
0
0
0
0
-5
0
0
-3
-1
0
-24
0
0
0
0
0
0
0
0
-18
5
47
-36
-18
-5
33
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-2
2
28
1
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
-37
38
-32
43
0
0
0
-18
-34
57
13
0
0
-57
-4
0
19
-37
-5
31
-30
-25
0
34
-28
1
11
30
-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
-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
-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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
-42
0
1
0
0
0
0
0
0
0
-83
-123
-9
11
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
1
0
0
2
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
2
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-60
-4
0
20
7
-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
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
38
17
-13
4
1
0
-3
0
10
-1
8
-4
-48
-33
0
-92
10
-8
-38
-100
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
-19
-14
0
0
0
0
-8
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
66
0
-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
-3
0
0
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
88
0
0
0
0
0
0
0
0
0
1
-21
0
9
3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
-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
3
5
10
-21
10
0
5
0
0
0
0
0
7
7
0
-67
-10
-5
-19
-10
36
-32
0
0
0
0
0
0
0
0
0
0
22
6
-38
7
2
0
4
0
0
0
0
0
-14
-3
0
35
19
6
4
-36
-14
6
0
0
0
0
0
0
0
0
0
0
56
0
0
9
0
0
18
0
0
0
0
0
0
0
0
1
-88
34
5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
3
5
3
32
8
0
-4
0
0
0
0
0
0
0
0
9
15
3
-6
22
-14
-7
0
0
0
0
0
0
0
0
0
0
-77
-54
-33
4
-11
0
5
0
0
0
0
0
-11
0
0
53
40
1
-27
-8
-91
-82
0
0
0
0
0
0
0
0
0
0
37
0
0
2
0
0
-18
0
0
0
0
0
0
0
0
-2
21
38
31
31
0
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
55
14
-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
5
0
60
-18
6
-1
9
4
0
-14
-33
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
23
0
0
1
1
0
11
0
0
0
0
0
-4
0
0
-2
-45
-2
6
81
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-13
8
0
-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
-27
0
0
0
0
0
0
0
0
41
-11
-35
20
52
0
20
0
14
-30
23
-33
31
12
0
44
-7
6
-11
76
-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
1
0
0
0
0
0
126
0
0
0
0
0
0
0
0
-1
-32
0
-6
-9
0
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
-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
-12
0
0
0
0
0
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
-5
46
1
43
-33
0
-2
0
59
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-32
0
-3
0
0
0
0
0
0
0
-5
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
-18
0
0
0
0
0
0
0
0
-11
0
0
-20
0
0
34
0
0
0
0
0
0
0
0
-8
-4
-2
19
55
-37
9
0
-17
0
0
0
0
0
0
0
0
-43
-8
2
40
-113
0
-26
0
0
0
0
0
3
1
0
-7
0
-16
6
39
71
-71
0
32
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-23
59
2
22
-9
14
14
0
36
0
0
0
0
0
0
0
0
1
0
0
2
-7
0
-14
0
0
0
0
0
0
0
0
67
18
6
-35
65
-6
-9
0
-9
0
0
0
0
0
0
0
0
-48
5
0
48
-15
0
-2
0
0
0
0
0
8
0
0
-26
-11
-22
5
-36
23
-16
0
69
0
0
0
0
0
0
0
0
3
0
0
1
0
0
18
0
0
0
0
0
0
0
0
33
-65
-3
81
-44
0
26
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
17
33
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
1
0
0
0
0
0
28
0
-9
25
17
5
3
1
0
-3
-7
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
-5
20
-11
-33
4
0
0
0
-50
-4
3
47
0
0
-18
-14
0
0
0
0
0
2
0
0
-47
-15
-97
-9
-13
-70
-12
0
-14
-3
0
0
0
0
0
0
1
2
-1
4
0
0
0
-44
0
-9
0
0
0
0
0
0
-50
-27
-39
-51
-68
2
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-103
17
26
-22
-37
-100
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
4
33
8
1
1
0
0
0
-19
5
6
9
-34
0
0
0
-45
-7
-1
-35
0
0
-7
-2
0
52
-38
0
-3
-43
52
0
8
9
-3
35
6
-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
0
0
48
0
0
0
0
0
12
0
0
0
0
0
0
0
0
3
-37
-2
1
55
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
5
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
-2
0
0
0
0
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
127
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
32
0
0
0
0
0
0
0
0
104
19
-22
11
26
0
0
0
34
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
34
0
-15
0
0
0
0
0
0
-1
100
34
-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
5
-12
48
-8
0
0
0
0
2
25
0
0
0
0
6
32
0
0
0
0
0
0
2
0
14
34
11
84
-5
-13
76
0
-33
-9
53
19
18
0
0
0
-105
-48
-3
-10
0
0
15
-4
0
0
0
0
0
19
26
0
25
0
3
9
8
-18
23
0
-3
-11
-5
-1
-2
0
0
0
-5
-10
0
0
0
0
5
26
0
0
0
0
0
5
0
0
33
-60
23
-18
-14
1
43
0
28
-103
-17
-15
0
0
0
0
-89
0
0
0
0
0
62
13
0
0
0
0
0
1
1
0
-45
-9
6
-25
56
8
40
0
-6
26
-70
-22
1
0
0
0
-48
5
0
0
0
0
-48
-5
0
0
0
0
0
-4
-1
0
54
21
8
0
16
94
16
0
-14
-1
5
-7
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
17
50
19
-7
-6
0
-20
0
34
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-90
0
0
0
0
0
0
0
0
-3
-35
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
11
5
0
0
-24
0
1
0
0
0
-2
0
0
-24
-76
-5
2
48
-10
4
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
24
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
-1
0
-71
0
0
0
0
0
0
0
0
1
4
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
-17
0
0
0
0
0
0
0
0
47
73
0
-36
93
46
-5
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
-13
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
39
18
32
5
-12
0
-2
0
-5
-1
14
-39
-67
-11
0
-13
-13
-7
-3
-5
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
7
0
0
0
0
0
-53
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
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
16
0
0
0
0
0
0
0
0
4
28
0
2
44
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
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
60
-77
6
-18
-58
0
1
0
0
0
0
0
43
-16
0
-6
10
-61
20
54
5
57
0
0
0
0
0
0
0
0
0
0
44
-3
-25
10
7
0
34
0
0
0
0
0
-1
-3
0
6
2
80
5
-1
-5
-86
0
0
0
0
0
0
0
0
0
0
-7
0
1
-7
0
0
22
0
0
0
0
0
0
0
0
14
-25
-6
-31
130
42
-8
0
0
0
0
0
0
0
0
0
0
-13
0
4
-2
0
0
-1
0
0
0
0
0
0
0
0
8
103
-2
17
-25
-10
46
0
0
0
0
0
0
0
0
0
0
32
31
-9
72
19
0
-12
0
0
0
0
0
-32
4
0
-29
5
1
37
-7
5
5
0
0
0
0
0
0
0
0
0
0
25
0
0
-44
0
0
-24
0
0
0
0
0
0
0
0
-114
-80
25
-47
-16
-7
-14
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
-38
0
0
0
0
0
0
0
0
-3
-4
8
-10
73
-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
-1
0
0
-37
0
18
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
-3
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
-5
-78
-1
2
-42
-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
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
14
0
0
0
0
0
0
0
0
17
14
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-85
-11
24
-70
29
0
3
0
7
0
-7
7
-69
-68
0
8
24
-12
20
-10
18
-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
1
0
0
4
0
0
-8
0
0
0
0
0
0
0
0
-1
28
0
2
-63
0
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
34
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
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
17
0
0
1
0
0
0
15
0
0
0
0
0
0
0
0
-3
0
0
-19
0
0
70
0
0
0
0
0
0
0
0
-28
-13
-2
3
56
0
-4
0
-21
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
64
0
0
0
0
0
0
0
0
-24
-6
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
1
0
0
0
0
0
0
0
0
32
0
0
-20
24
0
26
0
0
0
0
0
0
0
0
-29
30
-5
14
69
-43
4
0
-2
0
0
0
0
0
0
0
0
-8
0
-3
-49
-53
0
-15
0
0
0
0
0
26
-2
0
23
0
45
42
-25
-47
22
0
9
0
0
0
0
0
0
0
0
0
0
0
2
0
0
43
0
0
0
0
0
0
0
0
47
-18
-2
1
24
1
-1
0
-40
0
0
0
0
0
0
0
0
2
0
0
-74
-5
0
15
0
0
0
0
0
-5
0
0
-68
-27
-17
9
15
16
21
0
5
0
0
0
0
0
0
0
0
37
0
0
55
68
0
16
0
0
0
0
0
21
0
0
48
12
-11
84
-7
32
-10
0
-12
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
0
0
0
0
0
0
90
15
-1
-112
-30
-2
-50
0
52
0
0
0
0
0
0
0
0
0
0
0
4
0
0
37
0
0
0
0
0
0
0
0
-27
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
-3
2
0
-1
0
0
0
7
0
13
1
0
-2
0
0
0
10
-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
1
-5
-6
1
-13
0
0
0
-56
21
-7
-6
0
0
47
-19
0
-1
0
0
0
0
-2
0
-40
-36
48
1
21
-19
-19
0
46
0
0
0
0
0
0
0
0
4
0
0
0
0
0
40
0
0
0
0
0
0
0
0
14
7
-1
-66
21
2
8
0
0
0
-2
0
-4
0
0
0
0
-8
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
36
-19
5
67
19
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
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
14
-1
20
-43
-7
0
0
-3
67
101
-3
-3
0
0
0
16
-5
-22
18
0
0
3
2
0
40
50
-2
0
43
-32
0
-7
-5
-8
-1
-2
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
0
0
0
1
-48
0
3
0
0
0
-15
0
0
0
0
0
0
0
0
-7
29
0
-24
-32
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
15
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
-1
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-71
-7
0
0
0
0
0
0
3
6
0
4
0
0
0
30
0
0
0
0
0
0
0
0
68
-43
0
30
16
0
-8
0
28
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-29
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
34
-5
-51
-56
4
0
0
0
-49
3
0
1
0
0
-66
-12
0
0
0
0
0
0
-10
0
17
2
-27
1
-15
-12
-34
0
-23
-56
12
-46
12
0
0
0
31
71
-2
-10
0
0
25
6
0
0
0
0
0
4
-16
0
14
38
-3
6
41
-9
25
0
-38
3
0
0
1
0
0
0
-19
3
0
0
0
0
0
10
0
0
0
0
0
0
0
0
1
-64
2
15
7
10
11
0
7
13
5
0
1
0
0
0
5
17
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-6
-41
5
18
-101
-9
-40
0
-7
-116
-32
18
-20
0
0
0
-2
50
0
0
0
0
-11
3
0
0
0
0
0
0
0
0
-12
-36
80
3
-15
68
3
0
-24
-5
0
0
0
0
0
0
-3
58
0
2
0
0
0
-15
0
0
0
0
0
0
0
0
73
-14
-1
30
42
0
48
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
-34
5
0
-19
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
43
0
14
8
0
0
-27
0
-2
0
0
0
-1
0
0
10
-68
0
-7
-17
-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
0
1
-1
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
86
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
13
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
9
50
0
-30
-5
1
-2
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
-53
-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
-41
-6
11
15
150
0
-2
0
-12
0
20
19
0
11
0
1
-10
-108
6
-25
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
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
-37
10
0
8
-11
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
-1
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
57
-5
0
-23
43
0
2
0
0
0
0
0
33
4
0
16
28
90
8
-12
28
90
0
0
0
0
0
0
0
0
0
0
31
-1
1
-45
14
0
12
0
0
0
0
0
8
-5
0
-30
18
68
31
-24
39
24
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-7
0
0
11
0
0
0
0
0
0
0
0
29
17
0
27
3
-44
1
0
0
0
0
0
0
0
0
0
0
-52
-1
0
-2
0
0
-16
0
0
0
0
0
0
0
0
8
-49
-5
37
23
39
33
0
0
0
0
0
0
0
0
0
0
-35
2
20
-50
18
0
8
0
0
0
0
0
-11
0
0
-4
-48
27
29
23
22
-24
0
0
0
0
0
0
0
0
0
0
2
0
0
6
0
0
-81
0
0
0
0
0
0
0
0
51
54
27
-20
54
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
0
0
10
0
0
0
0
0
0
0
0
7
73
1
-45
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
0
0
1
0
0
-12
-8
2
-23
11
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
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
-14
-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
-4
-18
37
63
57
0
-9
0
-11
0
0
0
-22
31
0
-12
-9
35
-12
-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
1
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
14
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
2
0
0
0
0
0
15
0
0
0
0
0
0
0
0
66
32
0
0
53
1
-1
0
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
36
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
37
0
0
0
0
0
0
0
0
5
0
-1
-2
-40
0
-27
0
0
0
0
0
-1
0
0
-6
-19
-22
33
-68
-4
39
0
13
0
0
0
0
0
0
0
0
43
0
0
-18
9
0
3
0
0
0
0
0
5
1
0
16
0
10
45
20
-15
-23
0
-90
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-30
0
0
0
0
0
0
0
0
-19
5
0
0
9
0
0
0
13
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
-14
0
0
0
0
0
0
0
0
22
-86
0
5
-12
39
5
0
-2
0
0
0
0
0
0
0
0
27
0
0
-18
-1
0
16
0
0
0
0
0
7
0
0
-31
16
-19
125
47
-12
11
0
-30
0
0
0
0
0
0
0
0
-4
0
0
-6
0
0
25
0
0
0
0
0
0
0
0
-61
24
0
-11
36
5
5
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
49
-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
-13
0
21
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
108
-3
0
2
10
0
0
0
6
20
0
-10
0
0
-1
-3
0
0
0
0
0
1
0
0
3
99
53
-39
18
88
-49
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
36
-14
0
-25
23
0
9
0
0
-1
0
0
0
0
0
0
0
11
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
20
49
-1
-5
-7
-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
94
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
6
-5
0
-4
2
0
3
0
-2
-46
-7
22
77
0
0
0
88
-15
24
-36
0
0
-71
4
0
-43
0
21
3
-59
19
0
-10
-49
-29
4
26
49
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
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
1
0
0
0
0
0
0
0
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
4
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
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-4
-9
1
-10
4
0
0
0
33
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
33
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
-1
-21
2
15
-6
0
0
0
3
-17
0
0
0
0
-16
29
0
0
0
0
0
0
10
0
-2
-9
62
44
19
60
-43
0
9
32
-31
-11
-32
0
0
0
-11
17
7
3
0
0
-13
4
0
0
0
0
0
-29
-2
0
16
-7
-13
10
-5
54
-7
0
100
2
0
0
0
0
0
0
2
-2
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
24
55
-3
-6
31
-2
-4
0
27
-24
0
-18
0
0
0
0
35
-6
0
0
0
0
-52
0
0
0
0
0
0
0
-3
0
-2
-1
56
-4
-21
9
35
0
-9
52
6
1
-4
0
0
0
-32
-91
0
-1
0
0
5
5
0
0
0
0
0
0
0
0
32
-14
93
33
10
-150
-5
0
32
0
0
0
0
0
0
0
5
9
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-88
21
9
29
-5
1
-26
0
-2
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
29
88
4
-4
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
21
0
0
-6
0
0
71
0
0
0
0
0
0
0
0
-36
15
0
2
24
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
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
-1
23
0
0
1
3
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
74
-20
1
0
-25
0
-8
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
37
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
10
-4
0
-6
0
7
0
0
0
71
14
0
-1
-17
28
26
-9
-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
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
2
-9
21
0
2
0
0
0
0
0
13
0
0
-14
-66
-56
46
18
46
-38
0
0
0
0
0
0
0
0
0
0
97
0
18
-37
-17
0
12
0
0
0
0
0
14
0
0
-35
-5
5
-1
71
-14
14
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
58
42
0
-1
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
-27
2
0
-22
1
0
0
0
0
0
0
0
0
0
0
0
29
3
-2
-16
0
0
8
0
0
0
0
0
0
0
0
58
78
14
-53
-3
-53
25
0
0
0
0
0
0
0
0
0
0
-17
0
0
-2
0
0
40
0
0
0
0
0
0
0
0
-25
-19
3
-3
16
0
10
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
-2
-32
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
-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
1
0
0
100
0
0
0
0
0
0
0
0
57
-58
0
-5
-14
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
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
-4
0
0
0
0
0
0
0
0
105
0
-2
-71
-39
0
-4
0
0
0
0
0
0
0
0
61
-12
-9
-35
-26
-28
-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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-22
-37
0
0
-2
0
0
0
-26
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
0
0
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
-26
0
0
5
0
0
0
0
0
0
0
0
87
78
33
-2
-32
47
29
0
-17
0
0
0
0
0
0
0
0
32
0
0
-59
8
0
6
0
0
0
0
0
-2
0
0
-23
0
6
5
69
4
8
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
-4
-7
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
1
0
0
43
0
0
0
0
0
0
0
0
9
53
0
1
15
0
-2
0
24
0
0
0
0
0
0
0
0
4
0
0
-7
0
0
-2
0
0
0
0
0
0
0
0
17
1
-32
-22
27
-23
-13
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-2
-7
0
22
7
3
7
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
1
0
0
0
0
6
35
0
-2
0
0
-1
8
0
0
0
0
0
0
0
0
90
-39
-2
23
14
5
14
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
-14
7
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
21
-49
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
-111
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
-3
0
0
0
-6
-67
-51
19
-20
0
0
0
38
34
8
8
0
0
17
-1
0
-12
0
0
0
7
-48
0
-24
-11
-5
31
-86
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
2
0
0
0
0
0
72
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-29
16
0
0
1
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
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
45
9
0
-4
0
0
0
0
0
0
0
1
0
0
-3
-20
0
0
0
0
0
0
0
0
-7
27
-69
-41
31
5
15
0
-22
-65
-103
-10
-5
0
0
0
28
-13
-1
0
0
0
-50
15
0
0
0
0
0
0
33
0
-23
-55
71
31
3
-71
-36
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
-10
37
0
0
7
3
0
0
-34
-1
0
0
0
0
0
0
1
-2
0
0
0
0
0
78
0
0
0
0
0
0
0
0
7
-31
4
0
32
1
0
0
9
-36
0
1
0
0
0
0
74
3
0
0
0
0
13
18
0
0
0
0
0
0
0
0
16
1
22
1
-9
-5
-24
0
-11
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-5
-24
5
5
-5
1
16
0
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
0
0
0
0
0
0
0
0
-14
11
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
4
0
0
0
19
0
34
0
0
0
31
5
0
-16
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-24
0
0
0
0
0
0
0
0
-27
-17
18
-1
0
0
25
0
8
0
0
1
-1
-28
0
-7
0
0
0
-16
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
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
0
0
-5
0
22
17
3
-14
31
5
0
19
3
-8
0
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-52
16
-6
0
0
0
16
3
0
5
-4
13
29
-11
-19
0
31
50
1
0
50
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
14
0
-8
-28
-26
-67
-26
22
0
22
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
12
13
2
4
0
0
-5
0
52
0
-11
23
-23
0
0
4
-36
-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
6
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
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
6
0
0
0
0
0
0
0
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
-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
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
-24
-55
-1
0
0
0
34
19
13
12
-26
11
0
48
-70
27
-13
-83
-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
-19
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
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
-30
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
70
0
1
0
0
0
12
0
-10
24
-18
8
17
15
0
-2
-13
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
155
0
2
0
0
0
0
0
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
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-89
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
5
19
6
-31
0
0
2
8
0
23
12
9
18
-46
-24
0
53
-15
0
5
-31
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
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
39
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
0
0
0
0
0
0
0
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
-41
0
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
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-5
0
17
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-9
0
3
8
-5
-3
34
-13
0
28
3
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
1
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
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
-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
-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
60
0
0
0
0
0
0
0
0
22
1
0
-10
1
0
14
0
8
0
-2
3
-57
1
0
4
11
15
1
-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
-1
0
0
0
0
0
0
0
0
53
0
0
-3
0
0
-6
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
15
0
0
0
0
0
0
0
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
-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
-11
0
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
-1
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
-4
-8
0
-6
0
4
0
0
11
33
2
0
-55
-25
22
0
-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
-5
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-11
-29
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
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
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-5
0
1
0
0
2
10
1
0
22
81
-14
-12
-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
46
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
1
17
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
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
11
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
21
34
20
0
0
0
19
0
36
0
-23
13
-43
9
0
-40
-1
-29
10
69
-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
10
0
0
0
0
0
0
0
0
22
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-4
-9
0
0
4
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
0
0
0
0
0
0
0
0
4
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
-3
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
-6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
62
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
19
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
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
1
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
0
0
0
0
0
0
0
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
-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
75
0
-3
0
0
0
-27
0
-5
0
0
-2
-35
1
0
3
6
22
-26
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
-10
0
0
0
0
0
0
0
0
-14
0
1
0
-1
0
-4
0
-6
0
0
-1
1
0
0
-34
89
0
0
17
-5
0
0
0
0
0
0
0
0
0
0
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
48
0
0
0
0
0
-47
0
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
-17
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-15
-14
-97
34
0
3
0
14
0
9
5
5
11
0
18
-20
14
41
14
-66
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
6
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
29
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
-2
0
1
-4
0
0
62
0
0
0
0
0
0
0
0
-8
-26
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
3
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
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
-54
1
0
0
0
0
18
0
0
0
0
0
0
0
0
3
22
0
0
-6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-57
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
5
19
0
-15
0
0
0
0
0
-14
-1
0
35
25
1
67
-42
-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
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
-30
-12
0
-11
-38
16
0
0
0
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
51
0
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
-2
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
24
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
17
-18
0
-1
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
51
0
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
34
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
52
0
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
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
3
0
0
0
0
0
78
0
0
0
0
0
0
0
0
-2
-33
0
0
-2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
-1
0
20
13
3
9
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-6
47
1
2
0
0
-5
2
0
0
0
0
0
2
-1
0
-3
41
4
-7
5
3
0
0
-2
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-11
0
0
0
0
0
0
0
0
0
-8
0
2
0
0
0
0
23
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
-67
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
0
0
0
0
0
0
71
2
-37
18
0
0
-11
-3
0
0
0
0
0
-10
-54
0
-39
24
5
-37
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
0
0
0
0
0
0
11
0
0
0
0
0
0
0
4
-39
0
-3
0
0
0
11
0
0
0
0
0
1
0
0
-12
-18
-1
21
14
0
6
0
53
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-22
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
32
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
-46
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-55
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
-43
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
-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
19
0
0
0
0
0
0
0
0
15
0
3
0
0
0
-19
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
30
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
1
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
24
0
0
0
0
0
0
0
0
2
0
0
0
0
0
5
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
-2
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
16
0
0
0
0
0
0
0
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
41
3
13
-5
0
0
-12
0
0
0
0
0
28
-5
0
-21
7
-47
-21
35
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
1
-14
-9
0
0
14
0
0
0
0
0
0
0
0
5
-11
26
10
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-42
0
0
0
0
0
0
0
0
0
-37
0
0
-7
0
0
0
13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
41
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-5
-10
-40
57
0
-6
0
0
0
0
0
14
28
0
-31
17
-30
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
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
13
1
0
0
0
0
17
0
0
0
0
0
0
0
0
0
57
0
3
-2
-3
0
0
75
0
0
0
0
0
0
0
0
58
-3
18
-64
0
0
-14
0
0
0
0
0
-10
0
0
48
30
33
-9
-109
-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
-21
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
20
0
0
0
0
0
0
0
0
1
52
2
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-5
0
0
-2
-3
0
37
0
0
0
0
0
1
0
0
21
34
5
4
6
0
0
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
-8
0
0
0
0
0
0
0
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
19
0
0
0
0
0
1
0
0
80
-1
0
-3
-43
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-20
56
11
0
-17
0
0
0
0
0
34
15
0
27
-13
53
13
64
71
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
-3
0
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
51
0
0
0
0
0
0
0
0
-4
39
0
0
3
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-3
0
8
9
0
0
0
0
0
0
0
0
0
0
0
17
0
-34
6
0
0
28
0
0
0
0
0
0
0
0
-118
0
52
56
22
2
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
30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-1
-10
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
0
0
71
0
0
0
0
0
0
0
0
7
29
2
-21
-48
-4
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
-10
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
3
3
-6
0
0
0
-11
0
0
0
0
0
0
0
0
37
-18
30
35
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-25
28
1
27
0
0
-25
24
0
0
0
0
0
2
0
0
61
-17
-4
10
8
20
-9
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-29
-1
1
3
0
0
0
12
0
0
0
0
0
0
0
0
19
0
0
0
0
0
51
0
0
0
0
0
0
0
0
5
-15
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
-35
0
1
0
0
0
0
-34
-51
3
13
4
0
0
0
16
-50
-39
-50
0
0
8
0
0
0
0
0
0
0
-3
0
34
17
7
25
-5
77
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
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
1
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
36
0
0
0
0
0
0
0
0
-1
-27
0
0
0
0
0
0
2
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
-1
0
0
0
-17
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
1
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-1
0
0
0
-35
0
0
0
0
0
0
0
0
0
-20
0
1
15
0
0
0
51
0
0
0
0
0
0
0
18
55
0
-5
0
0
0
-20
0
0
0
0
0
0
0
0
-8
-45
-29
-30
135
0
18
0
106
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
2
-9
0
0
-1
0
0
0
-19
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-23
0
0
1
0
0
0
13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
34
0
0
0
0
0
0
0
0
28
-20
0
-2
1
0
0
0
11
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-55
0
0
0
0
0
0
0
0
-3
-7
0
0
-3
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
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
-78
-25
-40
-42
0
0
13
0
0
0
0
0
-1
9
0
92
-21
9
-90
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
19
-6
0
0
-1
0
0
0
0
0
0
0
0
53
-14
5
-25
5
0
3
0
20
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
33
0
0
0
0
0
0
0
0
2
-5
0
1
-14
0
0
0
-2
0
0
0
0
0
0
0
0
-10
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
6
-10
-5
2
10
5
0
0
-2
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-11
0
0
0
0
0
0
0
0
-15
-33
-2
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-43
16
-17
69
26
0
2
0
0
0
0
0
15
-47
0
17
9
-32
-32
14
-93
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-87
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
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
5
0
0
0
0
0
0
0
0
-47
2
0
1
0
0
17
0
0
0
0
0
0
0
0
-33
5
-3
-1
-34
-28
0
0
0
0
0
0
0
0
0
0
0
20
47
-36
-23
-17
0
-6
0
0
0
0
0
43
0
0
-29
1
2
-27
18
20
-42
0
-65
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
19
0
0
0
0
0
0
0
0
27
0
0
0
29
2
0
0
-3
0
0
0
0
0
0
0
0
15
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-56
0
0
2
3
0
0
-5
0
0
0
0
0
0
0
0
-53
17
-9
-5
0
0
47
0
0
0
0
0
10
0
0
-20
-35
-19
-7
0
-3
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
4
0
0
10
0
0
0
0
0
0
0
0
5
13
0
0
10
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-20
0
9
-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
-5
0
0
-3
0
0
14
0
0
0
0
0
0
0
0
-49
-8
5
28
-34
-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
32
0
0
0
0
0
0
0
0
-2
-28
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
58
-36
7
-58
7
0
2
0
0
0
0
0
-4
-15
0
-4
2
-62
30
35
-35
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-51
1
0
-18
-43
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
-34
-12
0
72
1
23
2
0
0
0
0
0
0
0
0
0
0
22
-2
0
-29
3
0
10
0
0
0
0
0
1
1
0
7
0
33
39
-2
10
-58
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
49
0
0
0
0
0
0
0
0
-4
-40
0
-47
-1
1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
-17
0
0
0
0
0
0
0
0
-23
-5
5
24
-21
0
1
0
0
0
0
0
0
0
0
0
0
33
0
2
0
0
0
-38
0
0
0
0
0
0
0
0
15
-25
-7
23
-10
84
10
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
31
28
-1
-53
7
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
-1
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
-26
2
-8
0
0
0
0
30
57
2
4
0
0
2
-11
0
0
0
0
0
0
-3
0
-13
-26
100
75
-32
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
21
2
0
0
0
-17
15
0
-5
0
0
0
22
0
0
0
0
0
-2
-1
0
102
36
66
58
60
-25
-14
0
61
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
14
-11
0
16
4
-1
0
0
-45
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-119
-69
-9
-8
-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
-52
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
-6
4
0
-6
-4
0
0
0
-7
7
13
-99
3
0
0
0
-41
30
18
10
0
0
-69
1
0
0
0
0
0
-71
-10
0
-25
-11
-47
22
7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
41
-8
0
-14
-1
0
0
0
-63
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
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
9
3
0
-1
0
0
0
0
5
1
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
-16
16
-3
31
-94
0
-9
0
0
19
-72
30
-5
0
0
0
-50
-53
-2
2
0
0
-11
22
0
0
0
0
0
-5
0
0
63
-29
-20
5
-82
-1
27
0
27
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-77
-5
0
-20
43
-2
0
0
-3
18
4
-5
0
0
0
0
11
-22
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-77
1
14
0
-36
-6
0
0
33
8
3
-8
0
0
0
0
33
11
0
0
0
0
-7
-21
0
0
0
0
0
0
0
0
-39
-35
13
89
-12
-24
1
0
-39
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-99
0
0
0
0
0
0
0
0
-20
54
1
32
7
0
-3
0
19
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
-9
-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
-17
47
5
-32
-2
0
-5
0
0
0
0
0
23
18
0
5
-9
-44
10
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
1
0
0
0
-36
0
0
0
0
0
0
0
0
-29
23
2
-5
-80
18
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
2
7
0
2
10
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
10
0
0
0
0
0
0
0
0
3
-33
0
1
-24
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-41
25
1
9
79
4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
0
0
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
19
23
-6
-4
0
-1
0
0
0
0
0
7
-11
0
0
-9
34
-13
19
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-2
71
0
0
14
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
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
43
0
0
0
0
0
0
0
0
39
8
-1
80
-18
0
51
0
0
0
0
0
0
0
0
23
21
-32
67
4
53
16
0
-14
0
0
0
0
0
0
0
0
-21
2
53
-34
27
0
-4
0
0
0
0
0
-4
-46
0
15
-3
7
-8
13
-41
58
0
25
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
31
0
0
0
0
0
6
0
0
64
-25
-5
14
9
-3
0
0
39
0
0
0
0
0
0
0
0
0
-5
4
10
-1
0
-3
0
0
0
0
0
-1
0
0
27
-19
76
41
13
4
9
0
11
0
0
0
0
0
0
0
0
-10
-1
0
-10
-2
0
25
0
0
0
0
0
0
0
0
-2
-2
32
27
-43
19
52
0
50
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
-13
0
0
0
0
0
0
0
0
-13
-9
6
1
5
0
2
0
-17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
-10
30
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
-5
-2
0
-33
8
-9
-49
-14
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
-45
0
0
0
0
0
0
0
0
-12
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
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
13
45
0
-6
0
0
0
0
0
-9
6
0
2
11
-9
-42
-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
-1
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
-12
10
5
32
3
-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
-2
-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
33
0
0
18
0
0
11
0
0
0
0
0
-1
0
0
12
13
0
-36
26
-40
58
0
0
0
0
0
0
0
0
0
0
-20
-7
0
81
-31
0
0
0
0
0
0
0
19
0
0
13
0
35
76
9
-11
34
0
0
0
0
0
0
0
0
0
0
-23
0
0
9
0
0
23
0
0
0
0
0
0
0
0
10
10
0
48
23
45
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
-37
0
0
0
0
0
0
0
0
62
27
5
16
66
10
-25
0
0
0
0
0
0
0
0
0
0
-65
4
0
63
-1
0
-4
0
0
0
0
0
24
5
0
10
8
53
75
6
39
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
-41
0
0
0
0
0
0
0
0
-34
-18
-9
30
8
15
39
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
0
47
0
0
0
0
0
0
0
0
-28
30
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
40
15
-20
-40
0
0
0
19
-71
-14
0
0
0
-16
-1
0
0
0
0
0
-17
-1
0
-20
46
-86
8
9
40
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
-28
3
5
-13
2
0
0
0
22
-7
0
0
0
0
3
-15
0
0
0
0
0
0
0
0
-63
-8
-52
14
-71
-29
-40
0
81
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
24
0
-11
-17
1
26
0
-17
-1
0
0
0
0
0
0
0
2
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-21
25
-21
10
4
-45
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
54
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
-3
0
-39
-7
3
0
0
48
26
53
32
0
0
0
30
-52
33
0
0
0
13
-5
0
0
0
0
0
61
39
0
-2
-16
40
-25
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
3
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-3
-2
19
0
14
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-16
0
1
8
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
0
0
-3
-19
2
36
-7
0
0
0
10
25
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
51
50
27
51
21
28
28
0
-12
-42
39
-62
57
0
0
0
59
8
-5
0
0
0
33
-1
0
0
0
0
0
22
-22
0
-4
39
-3
11
-7
29
-50
0
-18
0
0
1
0
0
0
0
2
7
0
0
0
0
-1
-9
0
0
0
0
0
5
0
0
39
50
-7
-24
-18
23
-18
0
-42
1
0
0
1
0
0
0
-1
4
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
32
-9
-4
10
15
-1
33
0
-1
-6
23
90
2
0
0
0
-27
22
0
0
0
0
19
11
0
0
0
0
0
0
1
0
21
-3
-8
-18
13
15
8
0
-11
0
0
-3
0
0
0
0
2
69
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
29
25
9
34
37
1
39
0
-2
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
14
3
6
4
51
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
-72
-80
0
49
-27
0
-8
0
0
0
0
0
0
-65
0
15
65
32
9
-3
-43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-5
-84
-73
-31
2
7
6
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
-27
1
-1
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
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-2
0
0
90
43
7
-3
-25
-48
3
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
0
0
0
0
0
0
0
0
5
-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
-5
0
0
0
0
0
0
0
0
2
34
0
70
16
0
-4
0
0
0
0
0
-7
6
0
3
19
16
-4
15
42
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
0
0
0
0
0
0
0
0
27
2
-5
0
-45
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
53
11
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
-1
0
0
0
0
0
0
0
0
-3
-33
0
-19
58
0
4
0
0
0
0
0
7
6
0
15
55
18
19
23
-28
4
0
73
0
0
0
0
0
0
0
0
-29
-5
0
92
0
0
12
0
0
0
0
0
-21
0
0
5
16
4
24
69
-7
3
0
70
0
0
0
0
0
0
0
0
6
0
0
35
0
0
16
0
0
0
0
0
5
-1
0
7
135
39
-50
-26
-49
-10
0
-33
0
0
0
0
0
0
0
0
-15
0
0
3
0
0
-30
0
0
0
0
0
0
0
0
-48
34
-37
-9
-82
-14
0
0
-44
0
0
0
0
0
0
0
0
17
-14
0
91
-14
0
0
0
0
0
0
0
-2
4
0
-1
46
55
23
-1
-11
-31
0
17
0
0
0
0
0
0
0
0
8
0
0
23
0
0
-14
0
0
0
0
0
0
0
0
4
20
32
38
-9
-3
-45
0
39
0
0
0
0
0
0
0
0
4
0
0
-9
0
0
24
0
0
0
0
0
0
0
0
-59
8
-52
9
-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
2
0
0
-1
0
0
0
0
0
0
0
0
50
-18
16
-1
70
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-7
-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
-4
3
0
1
0
0
0
0
0
-6
-24
0
-3
-51
4
-14
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
9
0
22
27
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-6
0
0
0
0
0
0
0
0
10
5
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
-100
-4
0
6
0
0
0
0
0
0
0
0
7
4
24
22
-29
-25
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
-50
0
-7
0
0
0
0
0
32
-6
0
29
0
-12
6
24
-37
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-56
0
-17
0
0
0
0
0
0
0
0
-11
-10
28
-14
38
5
47
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
39
0
6
0
0
0
0
0
-2
0
0
-31
-46
-8
-3
-7
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
23
15
0
6
0
0
0
0
0
70
9
0
-1
9
-80
4
105
-35
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
7
0
0
0
0
0
0
0
0
7
-17
51
27
-70
-1
-40
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
5
0
1
-4
-25
-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
40
16
7
67
0
0
0
-115
0
0
0
0
0
-25
-14
0
0
0
0
0
-11
2
0
-34
-101
-52
11
92
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
-53
-3
-24
0
0
0
0
0
-2
0
0
0
0
0
4
-60
0
0
0
0
0
0
0
0
-97
-49
-38
-82
-67
-7
-42
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
-53
0
-60
-104
-26
0
0
0
17
2
0
1
0
0
0
0
0
0
0
0
0
0
9
26
0
0
0
0
0
0
0
0
69
19
73
14
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
9
0
1
5
0
0
0
0
-8
24
11
47
-14
0
0
0
-65
0
0
0
0
0
49
1
0
0
0
0
0
25
7
0
-4
-39
-1
0
-25
-28
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-27
-8
-23
-6
18
0
-15
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
3
-2
8
-73
4
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-35
0
0
0
0
20
0
0
0
0
0
-28
11
0
0
0
0
0
0
1
0
8
-18
9
-6
-14
-40
49
0
10
-7
-34
-28
-45
0
0
0
-108
0
0
0
0
0
-15
-2
0
0
0
0
0
-4
54
0
6
-6
15
14
11
-15
-5
0
-47
-33
-19
0
1
0
0
0
-36
0
0
0
0
0
4
5
0
0
0
0
0
0
0
0
43
-17
45
40
17
22
45
0
54
-93
-20
-43
0
0
0
0
-34
0
0
0
0
0
-22
5
0
0
0
0
0
5
23
0
53
12
7
-14
-5
36
13
0
-1
-28
-84
-61
-34
0
0
0
-28
0
0
0
0
0
-51
-13
0
0
0
0
0
-10
1
0
-25
59
7
2
-18
-4
-23
0
-143
-13
-2
-8
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
61
-33
12
-58
-42
0
-49
0
8
1
0
0
0
0
0
0
13
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-29
10
-18
-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
0
0
0
0
0
0
0
0
26
-1
0
-38
0
0
0
0
0
3
0
0
6
38
30
-3
39
53
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
30
0
-12
-37
15
3
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
-1
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
-12
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
-2
0
0
0
0
0
-53
45
0
-7
-12
-20
-8
26
-36
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
13
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
-8
0
0
0
0
0
0
0
0
6
-87
88
14
29
45
12
0
-62
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
39
0
0
0
0
0
0
0
0
39
23
-21
43
56
22
40
0
35
0
0
0
0
0
0
0
0
0
0
0
-43
-34
0
-17
0
0
0
0
0
6
0
0
29
-26
-11
37
22
41
23
0
-6
0
0
0
0
0
0
0
0
0
0
0
-3
32
0
1
0
0
0
0
0
-6
3
0
3
50
-43
11
67
23
-10
0
20
0
0
0
0
0
0
0
0
0
0
0
-16
-6
0
-17
0
0
0
0
0
0
0
0
-9
23
45
-29
6
-14
33
0
18
0
0
0
0
0
0
0
0
0
0
0
5
0
0
19
0
0
0
0
0
0
0
0
0
4
0
29
31
0
24
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
127
-2
19
-57
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
12
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
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
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-23
0
17
2
0
0
-2
0
0
8
-33
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-2
0
0
0
0
0
0
0
0
-3
53
7
1
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
16
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
-18
0
0
0
0
0
0
0
0
52
32
-13
-42
-67
0
-27
0
3
35
0
-27
31
27
0
-8
-16
2
-14
-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
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
22
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
5
6
30
-7
0
0
0
0
5
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
1
-6
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
-79
34
-2
2
3
0
0
33
0
0
0
0
0
0
0
0
71
0
-9
35
-2
0
2
0
0
0
0
0
-1
1
0
63
0
-34
22
81
39
23
0
2
0
0
0
0
0
0
0
0
11
0
0
-35
-20
0
0
0
0
0
0
0
0
0
0
33
13
-43
14
-5
20
8
0
47
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
39
0
0
0
0
0
0
0
0
3
-21
6
0
0
-3
0
0
32
0
0
0
0
0
0
0
0
2
0
0
-4
-1
0
-16
0
0
0
0
0
0
0
0
-19
-19
-29
17
-10
-4
20
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
-2
0
8
1
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
-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
2
-91
17
-76
-27
0
0
0
14
-27
71
-24
0
0
-13
-4
0
26
-11
-39
15
-109
14
0
29
16
42
5
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
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
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
7
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
-74
0
1
0
0
0
0
0
0
0
-128
-98
-9
20
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
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
1
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-45
-1
0
0
0
0
7
0
0
0
0
0
0
0
0
0
18
46
0
20
4
-9
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
14
-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
9
-18
-18
45
-1
0
-2
0
24
4
-2
-5
-14
6
0
-16
-11
-35
-37
51
-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
29
4
0
0
0
0
-40
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
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
-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
-1
0
0
0
0
0
-24
0
0
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
24
0
0
0
0
0
0
0
0
0
13
14
0
13
3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
53
0
0
0
0
0
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
-58
47
13
-58
5
0
-4
0
0
0
0
0
5
7
0
-34
35
-23
-44
-18
46
-5
0
0
0
0
0
0
0
0
0
0
23
27
-53
-3
-2
0
29
0
0
0
0
0
-14
-3
0
71
62
-38
60
-29
25
0
0
0
0
0
0
0
0
0
0
0
53
0
0
9
0
0
56
0
0
0
0
0
0
0
0
-4
-55
14
5
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-21
5
3
23
7
0
3
0
0
0
0
0
0
0
0
7
13
-14
4
23
-28
-7
0
0
0
0
0
0
0
0
0
0
-15
-27
-57
1
-14
0
-2
0
0
0
0
0
9
0
0
3
21
-7
48
-45
-56
-18
0
0
0
0
0
0
0
0
0
0
53
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
-2
-34
-2
9
-5
0
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
27
-20
-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
16
0
-8
-15
3
-1
1
-1
0
32
-4
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
0
0
0
0
0
0
0
0
0
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
1
1
0
-4
0
0
0
0
0
-4
0
0
13
-5
-2
52
86
-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
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-13
16
0
-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
-14
0
0
0
0
0
0
0
0
-25
-9
-41
60
60
0
7
0
-1
-14
3
5
21
12
0
-19
5
59
-14
58
55
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-15
0
-2
-17
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
62
0
0
0
0
0
0
0
0
3
23
1
-7
-107
0
-2
0
43
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-36
0
-3
0
0
0
0
0
0
0
32
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
35
0
0
0
0
0
0
0
0
-13
0
0
-51
0
0
13
0
0
0
0
0
0
0
0
10
53
-2
30
-10
-30
-4
0
39
0
0
0
0
0
0
0
0
-48
-5
2
-52
-36
0
-18
0
0
0
0
0
-14
1
0
-53
0
75
1
30
-54
-28
0
-15
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
-56
0
0
0
0
0
0
0
0
-13
58
2
-7
11
14
17
0
68
0
0
0
0
0
0
0
0
4
0
0
3
-7
0
-76
0
0
0
0
0
0
0
0
35
-13
5
-39
18
-18
-3
0
-36
0
0
0
0
0
0
0
0
9
5
0
82
-14
0
-6
0
0
0
0
0
10
0
0
14
43
-10
20
23
-9
3
0
67
0
0
0
0
0
0
0
0
2
0
0
1
0
0
55
0
0
0
0
0
0
0
0
22
-55
-3
23
-43
0
21
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
-5
29
0
5
-10
-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
-27
3
0
0
0
0
22
8
0
-26
6
31
-9
-5
1
0
-11
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
33
15
-8
-33
5
0
0
0
-56
14
4
33
0
0
-30
-12
0
0
0
0
0
-22
-1
0
-94
40
-36
10
-69
-100
-75
0
-16
-3
0
0
0
0
0
0
2
41
-1
4
0
0
0
-19
0
-3
0
0
0
0
0
0
-77
-32
-20
11
-105
2
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
41
0
0
0
0
0
0
0
0
5
39
76
-9
-3
-98
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
-16
34
9
1
1
0
0
0
-7
-72
12
29
-73
0
0
0
22
45
2
-24
0
0
-38
5
0
38
-24
-5
10
-74
45
0
-3
-7
-2
30
24
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
0
0
75
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-14
-2
1
30
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
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
0
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
0
0
0
19
0
0
0
0
0
0
57
0
0
0
0
0
0
0
-8
-10
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
82
21
-23
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
68
0
-1
0
0
0
0
0
0
-1
52
-43
-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
8
9
5
-8
0
0
0
0
2
9
0
0
0
0
6
6
0
0
0
0
0
0
2
0
11
33
10
75
20
-7
47
0
-20
-55
37
44
24
0
0
0
-72
18
-7
-11
0
0
20
-6
0
0
0
0
0
10
20
0
21
-7
-7
-2
45
-31
45
0
-8
-20
-5
2
-2
0
0
0
-8
10
0
0
0
0
5
32
0
0
0
0
0
5
0
0
19
-9
26
12
11
-23
12
0
48
-35
-32
2
0
0
0
0
-108
0
0
0
0
0
56
-11
0
0
0
0
0
1
0
0
-117
-6
9
0
10
17
61
0
-6
62
-90
29
1
0
0
0
-53
-6
0
0
0
0
-56
-4
0
0
0
0
0
-4
-1
0
-17
-30
9
-52
17
71
-40
0
23
-1
5
-4
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
29
72
7
-3
-4
0
-17
0
17
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-15
-36
-7
0
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
30
2
1
0
-19
0
1
0
0
0
-2
0
0
-15
20
-5
-4
61
-18
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
12
-3
0
0
-1
0
-27
0
0
0
0
0
0
0
0
1
-4
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
0
0
0
-46
0
0
0
0
0
0
0
0
27
71
0
-93
63
36
-6
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
-36
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
76
0
47
13
-26
0
2
0
0
0
24
-19
-30
12
0
3
-2
-35
-4
-50
10
-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
6
0
0
0
0
0
-8
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
-13
0
0
0
0
0
0
0
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
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
-4
0
-2
-2
0
0
17
0
0
0
0
0
0
0
0
9
-5
0
1
26
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
-51
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
3
-78
0
-18
0
0
0
0
0
50
-27
0
97
-8
-53
21
14
87
-12
0
0
0
0
0
0
0
0
0
0
4
7
-5
53
10
0
47
0
0
0
0
0
6
-4
0
9
23
120
52
128
-2
34
0
0
0
0
0
0
0
0
0
0
-12
0
1
-7
0
0
34
0
0
0
0
0
0
0
0
-15
-15
-7
22
68
15
-9
0
0
0
0
0
0
0
0
0
0
-3
0
5
-2
0
0
-31
0
0
0
0
0
0
0
0
-29
3
-3
45
-100
30
33
0
0
0
0
0
0
0
0
0
0
11
33
-36
68
20
0
-27
0
0
0
0
0
-32
4
0
7
12
32
-4
63
9
-85
0
0
0
0
0
0
0
0
0
0
-2
0
0
-39
0
0
-16
0
0
0
0
0
0
0
0
-77
6
-9
33
59
-7
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
-25
0
0
0
0
0
0
0
0
-39
-33
11
51
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
-1
0
0
3
0
6
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
-14
0
2
0
0
0
15
0
0
0
0
0
0
0
0
14
9
-1
-56
-19
-23
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
7
15
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
-17
0
0
0
0
0
0
0
0
-37
-15
0
76
-21
0
4
0
5
0
11
23
-34
-62
0
1
-28
20
-12
10
-36
-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
1
0
0
4
0
0
73
0
0
0
0
0
0
0
0
21
10
0
-10
-47
0
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
10
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
2
-2
0
0
1
0
0
0
-57
0
0
0
0
0
0
0
0
-3
0
0
-22
0
0
78
0
0
0
0
0
0
0
0
-28
-25
-2
8
75
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
80
0
0
0
0
0
0
0
0
-13
-18
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-1
0
0
21
-16
0
38
0
0
0
0
0
0
0
0
-43
17
-4
-23
53
57
-3
0
78
0
0
0
0
0
0
0
0
-5
0
-4
-1
-55
0
0
0
0
0
0
0
21
-3
0
23
0
62
5
-18
-24
-51
0
36
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-24
0
0
0
0
0
0
0
0
50
-32
-2
43
4
1
-1
0
-79
0
0
0
0
0
0
0
0
2
0
0
-19
-37
0
10
0
0
0
0
0
-5
0
0
27
4
-9
-14
35
-14
-15
0
-13
0
0
0
0
0
0
0
0
-17
0
0
-79
86
0
6
0
0
0
0
0
6
0
0
48
-110
21
-16
-43
47
33
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
15
62
0
-44
33
-2
-33
0
38
0
0
0
0
0
0
0
0
0
0
0
4
0
0
32
0
0
0
0
0
0
0
0
5
1
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
4
5
0
-1
0
0
0
30
0
-5
1
0
4
0
0
0
-6
-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
-6
-9
-6
4
-8
0
0
0
14
4
-7
1
0
0
62
-7
0
-1
0
0
0
0
-2
0
5
-60
47
-59
25
-31
-4
0
23
0
0
0
0
0
0
0
0
3
0
0
0
0
0
76
0
0
0
0
0
0
0
0
8
21
-1
-13
40
2
8
0
0
0
-2
0
-4
0
0
0
0
-32
0
1
0
0
0
2
0
0
0
0
0
0
0
0
49
-66
44
-33
7
-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
0
0
0
0
0
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
0
0
0
-27
0
0
0
0
0
0
0
0
-9
21
-1
41
-33
-7
0
0
-8
52
78
-23
43
0
0
0
30
-9
-12
19
0
0
-52
3
0
9
33
-2
15
45
-24
0
-11
-2
5
15
38
-28
-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
-16
0
3
0
0
0
-25
0
0
0
0
0
0
0
0
0
-1
0
-16
-39
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
-10
0
0
0
0
0
0
0
0
0
15
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-44
-7
0
0
0
0
0
0
3
0
0
4
0
0
0
48
0
0
0
0
0
0
0
0
18
-6
0
3
-12
0
-9
0
47
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
18
14
0
-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
28
-73
-25
-49
5
0
0
0
-107
-1
0
1
0
0
-50
-10
0
0
0
0
0
0
-10
0
-35
-1
-12
21
-25
22
-11
0
8
13
-9
-7
1
0
0
0
-75
-42
-1
-13
0
0
78
2
0
0
0
0
0
11
-24
0
21
-10
28
16
8
-11
41
0
31
4
0
0
1
0
0
0
-27
1
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-22
-53
-1
17
-16
25
21
0
-74
22
5
0
1
0
0
0
16
27
0
0
0
0
1
-21
0
0
0
0
0
0
0
0
21
-92
8
-48
-84
-10
-16
0
-20
-85
-19
-15
-23
0
0
0
47
44
0
0
0
0
-4
-1
0
0
0
0
0
0
1
0
-2
-7
-9
-12
16
56
62
0
-9
-6
0
0
0
0
0
0
-3
60
0
2
0
0
0
58
0
0
0
0
0
0
0
0
57
2
-1
23
68
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
3
-13
0
-24
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
-44
0
-7
9
0
0
40
0
-2
0
0
0
0
0
0
-25
-92
0
27
-29
-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
-12
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-28
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
18
0
0
0
0
0
15
0
-1
0
0
0
0
0
0
-54
47
0
-8
-3
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
0
0
0
0
0
0
0
0
-41
-13
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
2
16
0
-26
93
0
-1
0
-54
0
-7
11
-48
11
0
26
-21
-102
1
-13
90
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-3
-41
0
6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-1
42
30
0
8
0
0
0
0
0
1
4
0
-31
-30
76
-7
30
38
95
0
0
0
0
0
0
0
0
0
0
64
-1
5
-30
15
0
24
0
0
0
0
0
26
-4
0
3
-24
48
-32
-72
-55
33
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-7
0
0
43
0
0
0
0
0
0
0
0
78
46
0
32
-85
-21
1
0
0
0
0
0
0
0
0
0
0
-49
-1
0
-4
0
0
37
0
0
0
0
0
0
0
0
27
5
-5
25
52
3
31
0
0
0
0
0
0
0
0
0
0
-27
0
29
-71
19
0
36
0
0
0
0
0
-11
0
0
60
37
68
-1
41
59
-19
0
0
0
0
0
0
0
0
0
0
-9
0
0
6
0
0
-75
0
0
0
0
0
0
0
0
45
-1
27
-30
52
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-7
0
0
-4
0
0
0
0
0
0
0
0
23
35
1
-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
11
0
-5
0
0
0
0
0
0
0
20
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
1
0
0
10
-99
2
-13
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
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
5
5
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
58
-25
38
0
9
0
4
0
0
0
-40
-4
0
-4
-2
-11
-25
13
-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
0
1
0
0
0
0
0
-53
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
12
0
0
0
0
0
0
0
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
-1
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
3
0
0
0
0
0
13
0
0
0
0
0
0
0
0
24
52
0
0
18
1
-1
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
32
-35
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
6
0
-1
-32
-35
0
-13
0
0
0
0
0
-1
0
0
35
-72
-18
17
-10
-56
-4
0
-22
0
0
0
0
0
0
0
0
13
0
3
24
-4
0
-6
0
0
0
0
0
44
0
0
-21
0
-21
24
34
17
59
0
20
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-75
0
0
0
0
0
0
0
0
7
73
0
0
8
0
0
0
-9
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
28
0
0
0
0
0
0
0
0
10
-28
0
3
26
37
4
0
11
0
0
0
0
0
0
0
0
25
0
0
-5
-5
0
3
0
0
0
0
0
7
0
0
-74
38
-7
46
17
2
8
0
-56
0
0
0
0
0
0
0
0
-4
0
0
-5
0
0
-33
0
0
0
0
0
0
0
0
-28
19
0
-10
32
5
-3
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
28
-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
37
0
0
0
0
0
0
3
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
99
-21
1
-9
13
0
0
0
43
42
0
-15
0
0
-4
-6
0
0
0
0
0
1
0
0
67
-26
44
-27
29
37
25
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
42
-24
0
10
-1
0
9
0
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
1
-28
0
0
0
0
0
0
0
0
-31
-5
-1
-3
-26
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
61
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-5
0
-4
1
0
3
0
-6
34
-52
1
69
0
0
0
11
-3
25
1
0
0
-25
6
0
-26
0
-12
-14
10
-46
0
49
4
-34
22
-19
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
1
-5
0
0
0
0
0
62
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
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
-1
0
0
0
0
0
34
0
0
0
0
0
0
0
0
4
3
1
-10
59
0
0
0
23
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-4
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
5
-13
2
19
-6
0
0
0
5
-10
0
0
0
0
-19
6
0
0
0
0
0
0
10
0
5
-17
73
41
-11
33
-39
0
15
-27
-53
7
-67
0
0
0
36
-8
6
3
0
0
-12
1
0
0
0
0
0
-21
-22
0
10
-3
-20
-27
-46
45
-53
0
18
2
0
0
0
0
0
0
2
-2
0
0
0
0
0
15
0
0
0
0
0
0
0
0
2
18
-3
-31
15
-2
-4
0
3
-7
0
-22
0
0
0
0
21
-5
0
0
0
0
-53
14
0
0
0
0
0
0
-3
0
27
-30
26
71
-6
-10
10
0
10
41
6
-23
-4
0
0
0
-86
-46
0
-1
0
0
7
-33
0
0
0
0
0
0
0
0
-11
43
62
16
-24
-59
-8
0
-46
0
0
0
0
0
0
0
5
9
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-45
-50
8
23
-14
1
-21
0
-5
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
31
71
0
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
35
0
0
-6
0
0
38
0
0
0
0
0
0
0
0
1
43
0
3
63
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
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
-1
23
0
0
1
3
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
48
-39
1
0
-16
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
29
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
8
0
-24
61
-102
0
-7
0
20
0
0
0
25
39
0
-15
-11
67
-5
16
-145
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
2
-51
21
0
20
0
0
0
0
0
0
0
0
17
-60
-44
32
31
15
-18
0
0
0
0
0
0
0
0
0
0
98
0
16
-36
-18
0
-5
0
0
0
0
0
15
0
0
82
-33
-10
-21
24
-5
-9
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
13
32
0
-1
-34
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-103
0
0
0
0
0
0
0
0
13
-4
0
0
43
1
0
0
0
0
0
0
0
0
0
0
0
6
3
-2
-27
0
0
8
0
0
0
0
0
0
0
0
24
8
28
-72
45
-73
33
0
0
0
0
0
0
0
0
0
0
-17
0
0
-2
0
0
33
0
0
0
0
0
0
0
0
4
-5
3
-5
14
0
9
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
-25
-15
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
-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
1
0
0
1
0
0
55
0
0
0
0
0
0
0
0
-36
-17
0
-5
-38
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
-20
0
0
0
0
0
0
0
0
23
0
-14
-54
-53
0
10
0
-2
0
0
0
-12
0
0
17
-10
8
-7
-20
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
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
-11
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-17
-45
0
0
-2
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
-15
0
0
0
0
0
0
0
0
-29
48
17
-34
-32
8
29
0
-33
0
0
0
0
0
0
0
0
43
0
0
-39
9
0
11
0
0
0
0
0
3
0
0
34
0
41
-32
41
-10
18
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
10
-27
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-66
0
0
0
0
0
0
0
0
9
27
0
1
10
0
-2
0
5
0
0
0
0
0
0
0
0
4
0
0
-9
0
0
12
0
0
0
0
0
0
0
0
-3
36
5
-17
4
1
-16
0
33
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
18
5
0
19
10
3
4
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
1
0
0
0
0
1
36
0
-3
0
0
-1
3
0
0
0
0
0
0
0
0
-13
-37
-3
-4
79
0
-1
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
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
31
0
0
0
0
0
0
0
0
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-1
-2
0
0
-3
0
0
0
-12
-41
-41
94
-33
0
0
0
-41
-40
6
-5
0
0
22
9
0
18
0
0
0
-8
-32
0
-15
-21
-28
14
-51
56
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
12
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-26
33
0
0
1
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
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
10
10
0
-4
0
0
0
0
-4
0
0
1
0
0
4
-5
0
0
0
0
0
0
0
0
-9
-12
-30
-46
27
-3
1
0
-38
-29
-71
-27
1
0
0
0
51
-7
-1
0
0
0
-92
15
0
0
0
0
0
0
36
0
26
-12
33
-36
22
-43
-10
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
6
48
0
0
5
3
0
0
-20
-1
0
0
0
0
0
0
1
-2
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
4
35
5
0
50
1
0
0
23
-25
0
-5
0
0
0
0
68
1
0
0
0
0
13
16
0
0
0
0
0
0
0
0
42
-5
7
-43
57
-16
-21
0
-109
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
-18
-16
5
4
-5
1
18
0
117
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-9
11
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
4
0
0
0
-48
0
-14
0
0
0
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-3
-1
0
0
-40
0
-26
0
0
1
-2
-15
0
18
0
0
0
33
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
0
-19
0
32
-35
15
48
-24
-39
0
61
5
1
0
45
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-39
15
-4
0
0
0
0
-30
0
4
21
4
0
9
-2
0
43
110
18
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-23
0
54
-21
12
-29
-8
6
0
-15
-5
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
13
2
-16
0
0
-17
0
1
24
66
-37
-33
26
0
35
-18
-1
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
6
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
-25
-76
-1
0
-20
0
37
10
32
-9
-27
2
0
1
-48
-5
41
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
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
13
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
-64
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-4
0
2
13
-16
13
9
-1
0
61
3
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
65
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-28
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
11
10
5
-9
0
0
9
9
0
28
2
-6
28
-63
-57
0
-16
40
0
47
39
-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
13
0
0
0
0
0
50
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
-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
-24
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
0
0
0
0
0
0
0
0
-5
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
13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
1
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
-9
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
-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
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-11
0
-8
31
30
-20
44
-7
0
5
-5
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
9
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
-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
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
2
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
32
0
0
0
0
0
0
0
0
12
1
-56
-59
-29
0
5
0
10
6
-60
47
-3
-5
0
-19
29
11
1
-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
-1
0
0
0
0
0
0
0
0
68
0
0
-3
0
0
13
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
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
-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
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
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
42
1
-10
0
-13
0
-34
0
0
-8
23
2
0
11
-14
27
8
-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
-1
0
0
0
0
0
19
0
0
0
0
0
0
0
0
13
-14
0
4
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
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
-2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-7
0
2
0
0
2
-5
1
0
48
88
-17
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
-89
0
0
0
0
0
0
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
42
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
42
36
18
0
0
-24
-5
0
19
0
-4
1
1
-8
0
-10
-82
-1
-15
30
-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
20
0
0
0
0
0
0
0
0
42
0
0
0
0
0
65
0
0
0
0
0
0
0
0
-4
-17
0
0
0
0
0
0
-2
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-23
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-29
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
14
0
0
-11
0
-6
0
0
15
-34
2
0
25
-68
-27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-16
-1
0
3
0
5
0
0
-1
2
0
0
-22
65
0
0
-21
-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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
42
0
0
0
0
0
-28
0
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
-6
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
-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
5
0
0
0
0
0
0
0
0
-26
-22
-34
-50
47
0
2
0
-14
0
-21
-25
-23
5
0
35
-13
71
30
90
-92
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
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
-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
-20
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
26
0
0
0
0
0
0
0
0
-7
39
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
5
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-56
1
0
0
0
0
-24
0
0
0
0
0
0
0
0
3
11
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
-21
-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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
12
-5
0
-19
0
0
0
0
0
36
-14
0
-1
-21
-23
56
-18
-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
4
0
0
4
0
0
-12
0
0
0
0
0
0
0
0
-18
17
0
-8
-29
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
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
-11
0
0
0
0
0
0
0
0
-3
15
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
22
23
0
-1
0
0
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
-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
-5
0
0
0
0
0
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
33
0
0
0
0
0
70
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
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
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
-7
0
0
0
0
0
-5
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
0
0
0
0
-66
0
0
0
0
0
0
0
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
-49
0
5
0
0
0
28
0
0
0
0
0
0
-1
0
50
20
-34
-19
-33
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
5
17
1
-1
0
0
1
-4
0
0
0
0
0
2
-1
0
-23
13
-18
2
14
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
-14
0
2
0
0
0
0
32
0
0
0
0
0
0
0
0
-39
0
-1
0
0
0
-56
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
-2
0
0
0
0
0
0
36
10
13
-43
0
0
-25
1
0
0
0
0
0
-15
-19
0
-71
7
38
25
-9
-34
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
5
0
3
0
0
0
-12
0
0
0
0
0
1
0
0
-10
49
-1
11
-7
0
6
0
-8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
39
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
-6
0
2
0
0
0
57
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
2
0
0
0
-42
0
0
0
0
0
0
0
0
1
31
0
6
-4
0
0
0
-18
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
16
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
30
0
0
0
0
0
0
0
0
6
0
3
0
0
0
-28
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
44
0
0
0
0
0
0
0
-3
8
0
-7
0
0
0
11
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
14
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
9
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
27
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
-1
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-2
0
0
33
0
0
0
0
0
23
-5
0
-4
-18
-3
-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
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
29
1
4
-19
0
0
-14
0
0
0
0
0
-1
0
0
5
23
37
33
-41
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-27
0
0
0
0
0
0
0
0
0
-43
0
0
-7
0
0
0
30
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
1
1
0
1
-4
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
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-20
5
-25
126
0
-19
0
0
0
0
0
32
55
0
-49
27
19
41
-7
-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
0
-6
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
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
1
0
0
0
0
0
0
0
0
20
1
0
0
0
0
24
0
0
0
0
0
0
0
0
0
20
0
3
-2
-3
0
0
79
0
0
0
0
0
0
0
0
28
26
-1
-59
0
0
23
0
0
0
0
0
-10
0
0
-18
-60
48
-36
-25
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
-31
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
43
0
0
0
0
0
0
0
0
1
7
2
0
0
0
0
0
25
0
0
0
0
0
0
0
0
9
0
0
-2
-3
0
9
0
0
0
0
0
1
0
0
25
69
5
5
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
17
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
84
26
0
-3
-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
84
0
0
0
0
0
0
0
0
0
39
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-26
51
5
0
0
0
0
0
0
0
-8
9
0
-11
-7
29
12
26
71
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
18
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
-4
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-2
8
0
0
-14
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-3
0
10
9
0
0
0
0
0
0
0
0
0
0
0
21
0
-33
1
0
0
9
0
0
0
0
0
0
0
0
-110
0
-8
48
86
-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
33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
-2
20
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
10
69
2
-23
-45
-4
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
-10
-17
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
17
5
-5
0
0
0
4
0
0
0
0
0
0
0
0
-1
-6
40
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
1
34
1
24
0
0
-53
28
0
0
0
0
0
2
0
0
51
-41
-33
6
6
22
-6
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
-36
-1
1
3
0
0
0
37
0
0
0
0
0
0
0
0
20
0
0
0
0
0
58
0
0
0
0
0
0
0
0
5
-80
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
-39
0
1
0
0
0
0
-22
-14
3
45
8
0
0
0
29
-58
-61
-7
0
0
-4
7
0
0
0
0
0
42
-11
0
-44
1
39
17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
24
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
4
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
0
43
0
0
0
0
0
0
0
0
-1
-16
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
-16
0
0
3
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
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
5
0
-1
0
0
0
-85
0
0
0
0
0
0
0
0
-1
62
0
1
-4
0
0
0
54
0
0
0
0
0
0
0
41
47
0
-14
0
0
0
-7
0
0
0
0
0
0
0
0
2
-5
-53
-33
46
0
14
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
2
32
0
0
-1
0
0
0
-9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
-20
0
0
6
0
0
0
40
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
16
-22
0
-2
21
0
0
0
14
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-53
0
0
0
0
0
0
0
0
-3
-39
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
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
-51
-5
-73
-71
0
0
2
0
0
0
0
0
-1
7
0
-11
-12
-26
-68
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
15
-5
0
0
-46
0
0
0
0
0
0
0
0
5
-26
9
-26
21
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
16
0
1
-14
0
0
0
5
0
0
0
0
0
0
0
0
-15
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
5
80
-5
2
20
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
29
0
0
0
0
0
0
0
0
-9
-50
-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
-9
0
0
0
0
0
0
0
0
29
-31
19
40
8
0
-1
0
0
0
0
0
35
-63
0
14
-1
-68
-52
16
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
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-25
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
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
15
0
0
0
0
0
0
0
0
-38
2
-1
2
0
0
1
0
0
0
0
0
0
0
0
-41
-2
-7
-1
32
-32
0
0
-29
0
0
0
0
0
0
0
0
0
35
-62
13
-9
0
-3
0
0
0
0
0
-20
-9
0
49
8
-9
-16
23
13
-51
0
-25
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
14
27
0
0
-14
2
0
0
-23
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
-138
0
0
-2
3
0
0
34
0
0
0
0
0
0
0
0
-3
15
-9
-16
0
0
38
0
0
0
0
0
10
0
0
-47
-35
-26
-32
-14
-8
0
0
-18
0
0
0
0
0
0
0
0
-7
0
0
4
0
0
-10
0
0
0
0
0
0
0
0
5
0
0
0
26
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
-3
7
5
-20
10
-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
1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
-6
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
59
-39
10
-35
0
0
-1
0
0
0
0
0
-9
-18
0
-19
4
-90
-18
-25
-63
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-29
0
-8
-43
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-84
0
0
0
0
0
0
0
0
-42
-30
0
24
16
26
2
0
0
0
0
0
0
0
0
0
0
18
1
0
-26
-1
0
-4
0
0
0
0
0
14
1
0
-21
0
68
24
6
18
-24
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
-59
0
0
0
0
0
0
0
0
-5
4
0
3
-1
1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
-14
0
0
0
0
0
0
0
0
-3
-7
5
31
-81
2
1
0
0
0
0
0
0
0
0
0
0
37
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
-25
-21
1
21
23
46
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
9
-2
-1
-30
6
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
-1
26
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
13
0
0
0
26
2
2
4
0
0
2
-5
0
0
0
0
0
0
-3
0
-43
-11
5
90
19
-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
138
-11
3
-4
2
0
0
0
-23
14
0
-5
0
0
0
34
0
0
0
0
0
-4
-1
0
32
24
44
5
71
-58
17
0
-30
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
25
0
37
6
-1
0
0
-34
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-82
-22
-7
4
-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
-51
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-113
0
0
0
0
0
0
0
0
-6
9
0
-6
-4
0
0
0
9
17
-52
-42
-17
0
0
0
-37
-5
0
65
0
0
-79
4
0
0
0
0
0
-52
1
0
19
-15
-25
-41
-14
94
-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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
33
-4
0
-5
-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
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
-51
3
0
-1
0
0
0
0
8
6
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-3
-32
-5
-4
-33
0
-9
0
-16
-23
-18
44
-6
0
0
0
-33
-118
-3
3
0
0
-15
15
0
0
0
0
0
0
0
0
-5
-51
8
44
-35
-2
-5
0
28
1
0
0
-2
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-41
-51
0
-53
53
-2
0
0
-11
19
4
-5
0
0
0
0
4
-20
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-74
-28
13
10
-14
-7
0
0
-74
-3
3
-7
0
0
0
0
37
18
0
0
0
0
-7
-23
0
0
0
0
0
0
0
0
18
-51
14
38
-53
-33
1
0
-33
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-21
18
1
25
6
0
-3
0
31
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
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
0
0
0
0
0
0
0
0
0
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
4
-51
-3
0
-11
0
0
0
0
0
9
3
0
-11
4
5
-23
29
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
34
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
32
0
0
0
0
0
0
0
0
-74
22
2
-9
-32
22
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
9
0
2
10
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
28
0
0
0
0
0
0
0
0
3
-57
0
1
-22
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
-36
22
1
14
70
4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
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
0
0
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
13
29
59
-50
0
8
0
0
0
0
0
45
0
0
-4
-5
46
24
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-2
43
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
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
3
0
0
0
0
0
0
0
0
11
6
-1
53
-16
0
35
0
0
0
0
0
0
0
0
61
38
-44
33
53
31
19
0
-10
0
0
0
0
0
0
0
0
14
1
77
-27
5
0
-6
0
0
0
0
0
40
-40
0
1
-3
-4
0
-3
-2
8
0
49
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
59
0
0
0
0
0
6
0
0
53
-25
7
19
5
-15
0
0
-44
0
0
0
0
0
0
0
0
-20
-5
4
-28
-1
0
-31
0
0
0
0
0
-2
0
0
2
-34
43
43
58
-24
14
0
15
0
0
0
0
0
0
0
0
33
0
1
-14
-2
0
28
0
0
0
0
0
0
0
0
24
-14
35
-1
18
24
21
0
56
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
41
0
0
0
0
0
0
0
0
-10
-53
0
-14
56
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
76
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
16
0
0
0
0
0
20
0
0
0
0
0
-5
-2
0
-21
-6
-8
-45
-12
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
-50
0
0
0
0
0
0
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
13
0
22
39
0
-2
0
0
0
0
0
-88
8
0
-3
7
-36
34
-2
22
-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
-1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-6
-18
17
1
-33
3
-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
16
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
13
0
0
59
0
0
-18
0
0
0
0
0
-1
0
0
-20
10
-11
27
33
-42
10
0
0
0
0
0
0
0
0
0
0
-27
-11
0
58
-50
0
0
0
0
0
0
0
-5
-3
0
0
0
29
3
11
-14
51
0
0
0
0
0
0
0
0
0
0
-14
0
0
15
0
0
-2
0
0
0
0
0
0
0
0
4
14
-2
32
17
-2
1
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
124
-25
0
5
41
18
-4
0
0
0
0
0
0
0
0
0
0
-17
4
0
50
-1
0
10
0
0
0
0
0
4
5
0
15
-27
15
93
28
33
5
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
-3
31
-7
-16
-9
14
11
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
0
-36
0
0
0
0
0
0
0
0
-4
2
0
0
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
11
52
-12
-86
0
0
0
60
-15
-14
0
0
0
19
-4
0
0
0
0
0
-38
0
0
-34
61
-7
-2
11
43
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
5
0
6
24
10
0
0
0
38
5
0
0
0
0
3
-34
0
0
0
0
0
0
0
0
-24
26
54
-48
-68
-68
-3
0
90
0
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
8
36
-1
-8
-83
1
10
0
-20
-1
0
0
0
0
0
0
0
2
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
-41
15
19
9
39
-49
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-4
1
-3
0
-43
-7
3
0
-8
-26
32
37
68
0
0
0
-17
-12
33
0
0
0
43
-4
0
0
0
0
0
48
27
0
3
6
4
23
4
18
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
-48
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-13
-2
-5
0
6
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-27
0
1
8
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
0
0
0
0
0
0
0
15
-8
2
48
-6
0
0
0
-5
-10
0
0
0
0
4
8
0
0
0
0
0
0
0
0
-4
5
-11
82
11
33
65
0
-6
-11
30
-40
14
0
0
0
-54
4
-4
0
0
0
-2
-2
0
0
0
0
0
-49
-2
0
6
17
-2
1
14
-15
-62
0
-25
3
0
2
0
0
0
0
-4
5
0
0
0
0
-1
-14
0
0
0
0
0
5
0
0
-18
29
-9
14
37
3
-17
0
59
1
0
0
1
0
0
0
0
5
0
0
0
0
0
-84
0
0
0
0
0
0
0
0
-2
4
54
0
32
-2
5
0
34
49
8
77
2
0
0
0
17
6
0
0
0
0
-23
5
0
0
0
0
0
0
1
0
-7
-4
-22
-56
21
49
5
0
-25
2
0
-3
0
0
0
0
0
65
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
14
25
14
33
34
1
16
0
-58
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
4
5
4
11
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
-89
0
72
-35
0
-7
0
0
0
0
0
-38
-33
0
48
62
5
61
-21
29
-147
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
0
0
0
0
0
0
0
0
46
12
-92
-19
43
14
4
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
26
1
-1
2
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
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-2
0
0
8
45
29
-3
-56
-13
4
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
21
-7
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
19
22
0
56
-42
0
-1
0
0
0
0
0
-19
45
0
-3
40
-9
-10
-3
56
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
23
2
-5
0
-20
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
25
11
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
3
0
0
0
0
0
0
0
0
4
-36
0
-44
24
0
-5
0
0
0
0
0
4
5
0
5
29
24
-25
5
-28
20
0
14
0
0
0
0
0
0
0
0
-3
-5
0
99
0
0
51
0
0
0
0
0
-15
0
0
67
70
-61
-1
83
-46
0
0
26
0
0
0
0
0
0
0
0
-31
0
0
21
0
0
16
0
0
0
0
0
3
-1
0
19
14
38
-51
30
-37
4
0
18
0
0
0
0
0
0
0
0
-15
0
0
3
0
0
-14
0
0
0
0
0
0
0
0
-72
60
3
-10
32
-11
0
0
-99
0
0
0
0
0
0
0
0
-9
-14
0
84
-10
0
-5
0
0
0
0
0
15
1
0
23
-3
58
-12
13
6
-27
0
-53
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
80
55
-43
43
-28
-4
3
0
49
0
0
0
0
0
0
0
0
4
0
0
-9
0
0
-33
0
0
0
0
0
0
0
0
-32
5
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-64
-20
16
37
90
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-5
-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
51
-12
0
3
0
0
0
0
0
39
-35
0
-3
0
29
-18
24
-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
15
0
0
0
0
0
0
0
0
17
0
-24
-35
45
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-29
0
0
0
0
0
0
0
0
8
5
0
43
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
25
0
0
0
0
0
0
0
0
16
27
50
18
-52
6
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
10
0
-4
0
0
0
0
0
66
-7
0
32
0
-13
2
1
-48
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-49
0
-26
0
0
0
0
0
0
0
0
36
0
0
-5
34
25
50
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-11
0
-6
0
0
0
0
0
-2
0
0
-64
14
10
-31
34
-14
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
52
0
2
0
0
0
0
0
44
-2
0
17
-33
-5
14
1
-8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-26
0
0
0
0
0
0
0
0
16
-6
33
35
-43
-1
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
47
0
0
0
0
0
0
0
0
-45
0
1
0
-3
-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
42
-40
-13
18
0
0
0
-123
0
0
0
0
0
54
-23
0
0
0
0
0
-14
2
0
-5
-88
-4
6
56
50
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-24
0
0
0
0
0
-4
0
0
0
0
0
3
-42
0
0
0
0
0
0
0
0
-105
-80
-21
-60
-52
-2
-96
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-49
0
-15
-64
-31
0
1
0
29
2
0
1
0
0
0
0
0
0
0
0
0
0
9
36
0
0
0
0
0
0
0
0
79
4
105
-103
43
-73
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
0
0
0
0
0
0
0
0
18
0
0
10
0
0
0
0
-8
43
0
-14
-29
0
0
0
48
0
0
0
0
0
48
1
0
0
0
0
0
-19
1
0
-13
13
0
17
24
-26
-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
-14
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-5
-9
-29
-16
37
0
-6
0
74
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
-42
-71
4
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-23
0
0
0
0
-16
0
0
0
0
0
-24
-2
0
0
0
0
0
0
1
0
33
2
16
11
-16
-33
-38
0
23
-1
-78
2
-7
0
0
0
14
0
0
0
0
0
28
-3
0
0
0
0
0
57
-6
0
16
22
-3
8
-38
-20
53
0
-36
-32
-21
0
1
0
0
0
-46
0
0
0
0
0
4
18
0
0
0
0
0
0
0
0
64
35
36
30
-15
4
-6
0
-51
-12
-37
-39
0
0
0
0
-72
0
0
0
0
0
5
9
0
0
0
0
0
5
22
0
50
21
8
-5
-30
40
25
0
-31
-40
-84
-81
-39
0
0
0
-80
0
0
0
0
0
-5
-25
0
0
0
0
0
-7
4
0
-99
-3
8
-2
26
23
-48
0
-25
-11
-3
-6
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
77
-8
4
-5
-26
0
-39
0
6
2
0
0
0
0
0
0
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-14
-4
-13
-35
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
1
0
0
-3
86
36
15
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
43
0
2
-52
18
3
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
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
-60
0
0
0
0
0
0
0
0
0
0
0
32
3
0
-5
0
0
0
0
0
-47
15
0
12
-34
5
-28
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-1
1
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
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
49
0
0
0
0
0
0
0
0
0
0
0
-50
-1
0
-16
0
0
0
0
0
0
0
0
33
-41
-1
13
-22
26
-43
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-52
0
0
0
0
0
0
0
0
87
10
6
9
36
10
33
0
-17
0
0
0
0
0
0
0
0
0
0
0
-30
-43
0
-15
0
0
0
0
0
4
0
0
35
77
14
22
-1
33
8
0
-9
0
0
0
0
0
0
0
0
0
0
0
-66
-7
0
-7
0
0
0
0
0
7
3
0
48
76
-32
37
-18
82
52
0
18
0
0
0
0
0
0
0
0
0
0
0
-16
-5
0
-13
0
0
0
0
0
0
0
0
-9
74
33
29
86
-21
5
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
39
0
0
0
0
0
0
0
0
45
25
18
8
38
0
17
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
48
-2
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-5
-14
18
-4
0
-6
0
0
0
0
0
0
0
0
-2
27
12
-43
-48
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-36
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-1
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-23
0
-6
-7
0
0
32
0
0
0
0
0
0
0
0
-9
0
-4
0
14
-13
4
0
-3
0
0
0
0
0
0
0
0
4
0
0
5
0
0
-31
0
0
0
0
0
0
0
0
2
13
1
3
3
0
-2
0
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
29
0
0
0
0
0
0
0
0
1
-17
-31
3
0
0
0
0
60
0
0
0
0
0
0
0
0
9
0
0
1
0
0
24
0
0
0
0
0
0
0
0
-4
-22
-16
-6
1
0
0
0
9
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
-32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-36
-43
0
0
0
-23
2
13
-23
0
0
24
5
0
6
1
0
-1
10
-8
0
-7
43
19
-1
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
-26
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
17
0
0
0
0
0
0
0
0
0
-62
14
0
-2
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
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
-1
0
0
0
0
0
-14
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
-28
0
0
0
0
0
0
0
0
0
-10
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
-81
-20
12
10
4
0
26
0
4
0
-1
0
-8
-13
0
2
-8
-42
-18
53
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
-1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-4
0
4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
0
0
0
0
3
-8
27
11
-2
-23
0
0
0
0
0
0
0
0
0
0
0
0
-10
-19
3
0
0
5
0
0
0
0
0
0
0
0
14
11
-3
15
-5
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
31
0
0
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
4
0
0
22
0
0
0
0
0
0
0
0
0
56
9
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
23
-2
-8
3
0
0
-36
0
0
0
0
0
2
0
0
4
76
-21
3
-5
15
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
33
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
38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
0
0
0
0
0
0
0
0
-10
-6
0
19
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
-26
0
3
17
5
0
-13
0
0
0
-1
-2
4
1
0
-38
13
-1
16
-62
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-8
0
7
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
10
32
0
-5
15
0
10
0
1
0
0
0
0
0
0
0
0
23
0
0
-17
33
0
-21
0
0
0
0
0
-1
1
0
70
0
5
-27
-39
7
21
0
-24
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-21
0
0
0
0
0
0
0
0
-2
-6
0
-8
0
0
0
0
-8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-10
8
0
15
3
-2
0
0
8
0
0
0
0
0
0
0
0
27
0
0
11
-4
0
36
0
0
0
0
0
0
0
0
-3
6
0
62
34
-2
15
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
3
-7
0
-7
1
0
0
0
-44
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
-5
1
5
0
0
-2
-19
0
0
0
0
0
0
0
0
-2
47
-2
-10
28
-2
4
0
7
-2
0
0
0
0
0
0
2
-3
0
1
0
0
0
-42
0
0
0
0
0
0
0
0
-10
11
-14
20
-13
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
26
6
53
-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
22
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
-5
-15
19
32
-23
0
0
0
32
32
7
28
0
0
4
11
0
0
0
1
0
-21
6
0
-15
14
-17
-1
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
-10
11
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
-5
-2
-2
0
0
0
0
0
0
4
0
0
0
0
0
10
0
0
0
0
0
0
0
0
11
-1
-21
4
3
0
5
0
-34
4
-26
72
9
0
0
0
18
5
-3
-5
0
0
17
-29
0
0
0
0
0
19
-1
0
23
-53
45
-100
-7
36
15
0
-22
1
0
0
-2
0
0
0
-5
0
0
0
0
0
1
-26
0
0
0
0
0
0
0
0
26
-17
21
29
17
3
-4
0
6
4
5
0
0
0
0
0
-17
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
-36
41
-11
1
-1
3
9
0
22
-15
0
8
0
0
0
0
1
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
9
-57
11
0
-2
0
3
0
25
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
13
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
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
3
-3
9
1
0
0
25
0
0
0
0
0
0
0
0
-2
66
0
2
-7
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
-26
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
-2
0
3
0
0
0
-5
0
0
0
0
0
0
0
0
5
2
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
-6
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
-48
10
-2
-46
-5
0
11
0
0
0
-1
1
-3
2
0
46
-53
2
-24
43
-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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-15
-3
0
94
0
0
0
0
0
0
0
0
21
64
20
13
-4
25
-1
0
0
0
0
0
0
0
0
0
0
28
3
5
-7
4
0
19
0
0
0
0
0
0
2
0
-22
-6
23
45
36
-15
-1
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
2
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
-30
0
0
0
0
0
0
0
0
-7
-1
0
11
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-3
2
3
3
0
0
9
0
0
0
0
0
0
0
0
14
-39
10
23
14
6
-14
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
0
0
14
0
0
0
0
0
0
0
0
-1
14
0
-18
-10
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
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
-4
0
0
0
0
0
0
0
0
51
-5
0
-18
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
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
1
0
0
0
0
0
0
0
0
38
0
-11
51
44
0
23
0
1
0
0
-2
-1
0
0
-20
-14
-2
-25
78
-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
-2
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
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
44
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
20
0
0
0
0
0
0
0
0
3
0
0
-9
-4
0
-24
0
0
0
0
0
0
0
0
29
10
-1
-9
2
6
0
0
9
0
0
0
0
0
0
0
0
23
0
-2
-9
0
0
-9
0
0
0
0
0
-1
0
0
17
0
-17
-17
14
22
-10
0
-14
0
0
0
0
0
0
0
0
0
0
0
1
0
0
22
0
0
0
0
0
0
0
0
6
-1
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
-16
-10
0
-24
0
0
0
0
0
0
0
0
6
5
-4
-1
53
-20
0
0
-17
0
0
0
0
0
0
0
0
-6
0
0
-21
-2
0
-9
0
0
0
0
0
0
0
0
-3
-73
7
-10
-18
6
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
14
0
-10
9
0
0
0
16
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
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
-33
-5
4
2
0
0
0
0
19
-9
1
-6
0
0
10
1
0
0
0
0
0
0
0
0
-33
-33
0
-45
-51
0
4
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
-3
-5
0
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-24
-5
0
-35
-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
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
15
-1
3
-1
0
0
0
-8
-18
-16
-23
33
0
0
0
-5
-62
0
-45
0
0
-15
30
0
0
0
-1
0
-11
0
0
23
-23
5
-5
10
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
-1
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
-1
0
0
0
0
0
0
0
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
0
0
0
0
0
11
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
-18
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
39
0
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
23
-17
-3
0
0
0
0
0
-3
1
0
0
0
0
5
22
0
0
0
0
0
0
0
0
33
-11
-3
-5
0
8
9
0
33
13
-6
-14
-3
0
0
0
5
30
0
-2
0
0
-21
-13
0
0
0
0
0
0
1
0
-7
14
-10
51
-14
-11
-3
0
32
0
0
0
0
0
0
0
3
1
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-3
-5
0
-14
0
1
0
0
-57
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
46
0
0
0
0
0
0
0
0
13
-41
1
34
0
0
0
0
-15
25
-4
-3
-1
0
0
0
-7
4
0
0
0
0
-3
-52
0
0
0
0
0
0
0
0
31
18
-11
-12
18
-1
7
0
31
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
27
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
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
65
0
-1
0
0
0
-1
0
0
31
-51
0
35
7
0
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
-16
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-23
2
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
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
42
0
-18
77
1
0
-23
0
-3
0
1
1
0
0
0
40
-23
14
-12
-1
-41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-8
0
0
0
0
0
1
0
0
-15
-12
6
-7
24
14
1
0
0
0
0
0
0
0
0
0
0
-18
0
-10
-4
8
0
53
0
0
0
0
0
4
0
0
-14
-11
8
-7
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
17
0
0
0
0
0
0
0
0
-5
14
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
0
0
46
0
0
0
0
0
0
0
0
2
-3
0
7
14
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
3
-1
0
0
-10
0
0
0
0
0
1
0
0
-34
1
5
4
19
14
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
-16
0
-5
-3
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
-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
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
0
0
0
0
0
0
0
0
8
-34
1
-9
34
-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
11
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
-9
0
0
0
0
0
0
0
0
-27
0
9
-45
-24
0
-8
0
-1
0
0
0
-9
0
0
102
11
-20
4
45
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
-10
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
77
0
0
0
0
0
0
0
0
-3
0
0
5
-2
0
-18
0
0
0
0
0
0
0
0
-23
6
1
0
7
-2
3
0
-19
0
0
0
0
0
0
0
0
-17
0
6
13
1
0
-5
0
0
0
0
0
1
0
0
-33
0
5
-24
14
13
-13
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
-3
-9
0
0
-4
0
0
0
-31
0
0
0
0
0
0
0
0
14
0
0
3
0
0
-25
0
0
0
0
0
0
0
0
-10
10
0
5
-37
-1
-5
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
19
0
0
3
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-6
-1
-3
7
0
0
0
5
6
0
-1
0
0
-1
2
0
0
0
0
0
0
0
0
6
-50
21
5
56
-5
10
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
3
-10
0
2
-2
0
2
0
0
-1
0
0
0
0
0
0
0
-9
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-21
-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
-2
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
29
53
-7
-14
10
0
0
0
-27
-24
6
-4
0
0
4
-8
0
1
0
0
-1
2
2
0
35
21
22
-33
-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
0
0
0
0
0
0
0
0
45
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
-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
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
-1
0
0
0
0
0
20
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
-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
0
0
0
0
0
0
0
0
0
0
16
-2
0
-3
0
0
0
0
4
3
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
1
-29
5
8
-2
0
0
0
-4
-18
-1
33
1
0
0
0
-5
-5
-3
0
0
0
4
34
0
0
0
0
0
0
0
0
1
14
-14
4
-7
4
5
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-11
-2
0
0
16
0
0
0
-5
3
1
-1
0
0
0
0
-1
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
34
-16
-4
4
-14
-3
-2
0
-45
6
1
3
0
0
0
0
0
41
0
0
0
0
2
3
0
0
0
0
0
0
0
0
3
13
6
8
-7
1
-10
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
6
0
4
-4
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
13
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-1
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
-5
0
-2
-12
-3
0
19
0
0
0
0
1
8
10
0
-13
11
55
-43
-26
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
0
0
0
0
0
0
0
0
5
-7
2
-5
16
4
1
0
0
0
0
0
0
0
0
0
0
27
0
-7
-13
-1
0
47
0
0
0
0
0
0
0
0
16
3
7
-8
14
0
0
0
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
0
0
3
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
5
20
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
19
0
0
0
0
0
0
0
0
-2
-24
-4
1
-16
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
-3
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-23
11
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-11
11
-19
0
-13
0
0
0
0
0
-1
0
0
9
-26
-3
31
-47
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-10
0
0
39
0
0
0
0
0
0
0
0
-1
-11
0
0
-8
1
1
0
4
0
0
0
0
0
0
0
0
1
0
0
-11
0
0
12
0
0
0
0
0
0
0
0
-43
0
15
-3
21
-16
2
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
8
0
5
-5
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
4
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
5
0
-1
0
0
1
30
0
0
0
0
0
0
0
0
19
30
-1
-10
13
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
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
1
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
-17
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
-12
-8
-11
6
-9
0
0
0
10
-10
1
-4
0
0
-9
7
0
1
0
0
0
1
-1
0
31
-19
-36
-1
51
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
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
13
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-31
0
0
0
0
0
0
0
0
-10
-9
-1
2
-4
0
1
0
-23
3
-3
-6
4
0
0
0
-2
0
0
0
0
0
-5
-33
0
0
0
0
0
0
1
0
-9
30
-10
-7
-6
-2
8
0
7
0
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
16
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
4
17
0
0
5
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
43
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
-1
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
48
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
-5
0
3
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
3
0
0
0
0
0
0
0
3
3
-1
0
0
0
0
-1
0
11
1
-4
0
0
0
0
10
-2
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
17
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-1
0
-5
0
14
4
0
-2
0
0
0
2
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
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
1
-14
0
0
0
-6
0
22
0
0
0
0
0
0
15
-7
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
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-5
0
0
0
0
0
0
0
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
4
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-8
1
1
0
-2
0
14
0
2
1
2
2
0
-15
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
-1
0
0
0
4
-1
9
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
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
15
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
20
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
11
-20
10
-19
0
0
1
7
0
0
0
0
-1
0
0
0
25
-45
1
13
-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
1
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
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
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
1
0
0
0
-21
-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
-16
-4
0
0
-2
0
5
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
1
0
0
0
0
0
0
0
0
7
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
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-33
5
22
0
5
0
0
0
0
2
0
2
0
11
36
4
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
-18
1
0
-2
0
0
-26
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-41
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
9
0
-1
0
0
0
-20
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
-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
-11
-6
2
33
3
0
-24
0
0
0
0
0
-1
0
0
-14
14
6
21
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
-42
0
0
0
0
0
0
0
0
0
15
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
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
-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
21
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
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
-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
4
0
0
0
0
0
31
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
-62
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-21
0
1
0
0
0
11
0
0
0
0
0
0
0
0
1
-45
1
10
11
2
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
-1
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
7
6
-1
11
0
0
-13
-2
0
0
0
0
0
-1
0
0
-4
7
-3
33
-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
15
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
-2
5
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
-2
0
0
0
0
0
0
0
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
-3
0
0
0
0
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
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
-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
-13
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
-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
-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
-4
0
6
-20
-1
0
10
0
0
0
0
0
-1
0
0
6
-2
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
-2
0
0
2
-36
0
16
-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
-9
0
0
0
0
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
0
0
0
0
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
19
0
0
0
0
0
0
0
0
14
1
9
-1
20
0
-12
0
0
0
0
0
13
0
0
-23
3
-14
-3
-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
-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
-3
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
1
-11
0
0
81
0
0
0
0
0
0
0
0
3
-47
3
1
-5
1
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
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
18
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
1
0
-1
0
-46
0
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
5
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-65
0
0
0
0
0
0
0
0
13
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
23
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
-39
4
-5
-9
5
0
15
0
0
0
0
0
-1
0
0
5
-6
-23
5
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
0
0
0
8
0
0
0
0
0
0
0
0
-8
0
-11
-4
6
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-32
0
0
0
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
10
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
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-11
13
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
-27
0
0
0
1
0
0
0
-6
23
0
6
0
0
-1
15
0
0
0
0
0
0
0
0
14
28
-6
8
-9
9
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
-9
0
0
-1
0
0
0
-20
0
0
0
0
0
0
0
0
3
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
11
-1
0
2
3
0
0
0
10
-6
-4
-30
0
0
5
-4
0
0
0
0
0
-2
1
0
0
3
14
-20
7
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
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
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
-12
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
-6
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
0
0
0
0
0
0
0
0
0
32
0
0
-1
0
0
0
11
0
0
0
0
0
0
0
2
-4
0
-9
0
0
0
-10
0
0
0
0
0
0
0
0
0
-15
6
-1
-9
0
0
0
-2
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
-2
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
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
2
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
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
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
-4
6
0
-3
0
0
-21
0
0
0
0
0
-1
1
0
-31
-8
-13
-5
23
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
-4
0
0
0
0
0
0
0
0
-5
0
3
-1
0
0
-74
0
0
0
0
0
0
0
0
1
9
0
0
-9
-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
5
0
0
0
0
0
0
0
0
-1
-25
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
0
8
-28
10
0
-2
0
0
0
0
0
1
-6
0
-4
-36
-13
-21
30
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
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
8
0
0
0
0
0
0
0
0
14
0
-1
0
0
0
23
0
0
0
0
0
0
0
0
-1
-15
1
0
-14
0
0
0
-7
0
0
0
0
0
0
0
0
-14
4
-20
48
-2
0
-5
0
0
0
0
0
-1
0
0
14
8
-4
-1
17
7
-6
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-17
0
0
-14
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
-5
0
0
0
1
0
0
14
0
0
0
0
0
0
0
0
18
2
-2
-2
0
0
7
0
0
0
0
0
0
0
0
14
37
-3
0
-5
-1
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
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
10
0
0
0
0
0
0
0
0
-9
6
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
0
0
0
0
29
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
14
0
-5
-4
-4
0
-24
0
0
0
0
0
-5
0
0
-12
16
-30
2
-33
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
14
0
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
-1
0
0
-1
0
0
0
0
0
2
0
0
-25
0
2
-52
1
-14
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
8
0
4
-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
-15
-19
0
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
26
0
0
0
0
0
0
0
0
7
-45
-1
0
2
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
-2
0
1
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-2
0
0
0
0
5
1
0
0
0
0
4
0
0
0
0
0
0
1
0
-24
40
-9
-49
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
2
0
0
0
3
5
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
-1
2
3
-25
43
-9
0
0
-10
-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
19
-3
0
0
0
18
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-7
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
-3
0
0
0
19
-10
-15
-13
0
0
0
0
-10
-7
-3
23
0
0
-34
9
0
0
0
0
0
-6
-1
0
19
-5
1
-65
-20
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
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
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
2
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
2
-27
-2
0
0
0
0
0
-18
-7
-10
4
0
0
0
0
7
-1
-1
0
0
0
-1
-14
0
0
0
0
0
-1
0
0
-14
-20
16
-21
-14
9
4
0
-8
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
-5
0
-2
6
0
0
0
-34
2
2
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
9
-18
0
-9
4
3
0
0
-1
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
-14
1
15
0
0
0
0
-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
-5
1
-5
0
0
0
0
-8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
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
-31
15
0
1
0
0
13
0
0
0
0
0
0
0
0
23
2
-8
-15
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
6
20
0
4
14
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
17
0
0
0
0
0
0
0
0
-1
-3
0
0
-1
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
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
-14
0
0
0
0
0
0
0
0
43
0
-23
5
-15
0
2
0
0
0
0
0
41
2
0
-5
-26
45
27
-36
-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
-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
-24
0
0
0
0
0
0
0
0
1
1
0
9
0
0
-3
0
0
0
0
0
0
0
0
8
8
-5
-7
-4
-1
0
0
34
0
0
0
0
0
0
0
0
21
-3
19
-43
0
0
-21
0
0
0
0
0
-2
0
0
35
34
7
12
2
14
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
-13
0
0
0
0
0
0
0
0
10
0
0
4
-1
0
-11
0
0
0
0
0
0
0
0
14
14
-2
15
-11
-14
0
0
37
0
0
0
0
0
0
0
0
2
0
0
-1
-1
0
31
0
0
0
0
0
0
0
0
5
-10
-13
14
-8
-1
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
1
-10
0
10
9
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
35
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
18
13
0
0
0
0
0
0
0
1
0
0
27
-2
-5
2
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
16
-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
-55
0
0
0
0
0
0
0
0
13
2
0
-7
-5
-5
2
0
0
0
0
0
0
0
0
0
0
2
-1
0
-20
-5
0
-5
0
0
0
0
0
-18
0
0
19
0
32
-29
-3
23
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
5
-4
0
0
6
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
2
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
1
-1
0
41
0
0
0
0
0
0
0
0
-1
12
11
0
-7
-2
-11
0
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
10
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
19
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
6
30
0
0
0
0
29
-7
0
0
0
0
0
3
0
0
27
-33
33
17
3
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
-42
0
-1
0
7
0
0
0
9
4
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-16
21
8
-17
-14
0
23
0
32
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-4
2
-1
0
-14
0
2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-7
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
20
0
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
-10
-4
-21
7
18
0
0
0
-59
-16
2
0
0
0
10
10
0
0
0
0
0
10
-2
0
8
-2
-6
36
-14
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
-18
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
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
13
0
0
-3
0
0
0
0
1
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
20
-20
4
6
3
11
2
0
-7
3
0
56
13
0
0
0
-1
30
-3
0
0
0
5
-6
0
0
0
0
0
0
1
0
40
-48
35
-27
-4
-14
-3
0
-15
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
-14
-3
-2
0
9
0
-1
0
71
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
8
13
16
0
17
0
0
0
9
6
0
4
0
0
0
0
7
7
0
0
0
0
0
31
0
0
0
0
0
0
0
0
14
-13
-5
-21
1
-1
-6
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
29
-3
0
-11
0
0
0
0
0
-1
0
0
-35
-33
-35
24
-68
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
6
-1
5
1
16
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
0
0
0
0
0
0
0
0
-6
0
3
0
-13
5
-3
0
-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
7
0
0
0
0
0
0
0
0
-8
8
0
19
-14
0
6
0
0
0
0
0
-7
5
0
14
-20
-66
-15
3
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
-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
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
42
0
0
0
0
0
0
0
0
13
1
0
-26
1
0
-14
0
0
0
0
0
0
0
0
-24
-29
35
-6
-42
-11
-13
0
-15
0
0
0
0
0
0
0
0
5
0
0
4
0
0
21
0
0
0
0
0
0
0
0
8
-11
8
13
11
-18
-1
0
-3
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
18
0
0
0
0
0
0
0
0
32
-21
-5
-6
22
7
5
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
-3
17
6
0
13
0
0
0
-9
0
0
0
0
0
0
0
0
2
0
0
16
1
0
28
0
0
0
0
0
3
0
0
-5
-31
-5
0
33
3
-5
0
-20
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-36
0
0
0
0
0
0
0
0
33
-6
-1
-4
0
0
-1
0
21
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
25
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
-71
0
0
0
0
0
0
0
0
-23
-1
20
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
-20
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
-7
0
3
0
0
0
0
0
3
0
0
-7
-2
18
-3
8
-9
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
-5
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
-34
-6
0
43
0
0
0
0
0
0
0
0
7
0
2
-9
14
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
29
0
4
0
0
0
0
0
0
0
0
-20
0
-5
-17
19
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-13
0
0
0
0
0
0
0
0
14
0
0
-10
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
0
22
0
0
0
0
0
0
0
0
-5
6
-53
14
31
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-3
0
25
0
0
0
0
0
0
0
0
-45
-11
-16
43
-35
5
18
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
4
6
-30
-29
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
-11
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-14
9
0
0
0
-40
0
0
0
0
0
14
-4
0
0
0
0
0
1
2
0
-45
18
-12
14
-10
-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
-22
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
0
-3
-9
1
-34
11
-9
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
-13
21
-1
0
0
0
9
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
53
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-25
24
32
-5
-19
0
0
0
28
0
0
0
0
0
7
-7
0
0
0
0
0
-11
3
0
-23
53
-14
21
72
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
-8
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
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-1
0
0
0
0
0
10
28
0
0
0
0
0
0
0
0
10
9
-17
-1
-4
0
2
0
25
31
-16
18
7
0
0
0
25
0
0
0
0
0
-8
17
0
0
0
0
0
13
0
0
-42
42
11
24
-19
17
14
0
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
18
-9
21
5
0
3
-1
0
-14
8
0
-2
0
0
0
0
-10
0
0
0
0
0
-10
-32
0
0
0
0
0
0
0
0
-3
-16
-20
46
-27
-2
1
0
-1
5
2
1
-1
0
0
0
-27
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
15
3
12
-20
-3
0
3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-4
4
6
7
-1
0
-2
0
-35
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
6
-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
0
0
0
0
0
0
0
7
0
0
-3
0
0
0
0
0
-3
0
0
-18
-2
5
64
25
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
-13
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
14
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
-10
0
0
0
0
0
0
17
0
20
2
-9
-15
67
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-5
0
-4
0
0
0
0
0
0
0
0
33
-9
-22
7
4
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
0
0
0
-4
13
19
19
1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
9
3
0
11
0
0
0
0
0
0
0
0
-1
32
-15
8
13
18
-15
0
-43
0
0
0
0
0
0
0
0
0
0
0
-11
-29
0
-5
0
0
0
0
0
0
0
0
5
38
4
15
-5
-6
-2
0
-25
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-10
0
0
0
0
0
0
0
0
7
-10
-17
17
3
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
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
-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
4
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
1
0
-9
8
5
0
0
-23
9
8
0
3
9
-36
-30
-16
5
-5
20
73
18
19
-45
-30
-18
3
-19
-10
-67
-45
-3
23
0
0
0
0
0
-6
14
-1
0
0
5
3
-17
-2
0
-2
-5
-10
0
0
18
-18
14
4
0
-10
21
-71
-15
-14
46
4
29
53
58
25
-30
-65
-22
-19
-94
-47
6
-25
-59
1
-5
-1
0
0
-3
-9
5
0
0
0
12
6
1
0
10
-5
1
0
0
3
15
-8
-20
0
3
-15
7
24
-30
7
12
-64
15
47
-25
-40
-17
-31
-29
-9
2
6
3
-2
-1
-3
0
0
0
-3
-2
-2
0
0
3
-2
1
0
0
18
-2
9
1
0
-8
4
-27
3
-2
4
48
14
50
2
-38
-58
6
-14
48
-10
1
12
3
14
0
0
0
0
0
-20
-18
2
0
0
-2
16
5
0
0
-3
14
5
0
0
-15
23
-9
2
0
-1
-11
2
30
0
-37
-28
-27
-31
3
55
4
3
5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
10
-8
-1
0
-3
-5
-5
-5
0
-10
15
2
3
9
-85
-4
-21
-51
16
-11
107
31
-63
52
25
-61
-43
23
-105
-80
20
-75
-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
-5
-1
0
0
0
19
3
8
0
0
-23
-27
5
0
0
31
-16
0
1
0
-16
0
21
24
-2
-31
-3
-41
3
-10
-5
1
8
-22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-26
26
0
0
32
9
14
0
0
-14
5
-6
-6
-2
-43
15
-32
-42
-10
12
51
34
62
-14
-38
19
-46
1
-17
13
-6
-48
-76
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-24
-17
1
0
0
-6
-7
1
0
0
5
-10
-5
0
0
-8
59
-3
4
-2
-8
22
-14
5
-3
2
-3
-3
5
-12
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
43
-5
-2
0
0
4
23
-6
0
0
-38
54
-14
5
0
-20
0
29
-43
0
12
-10
-1
-7
0
64
-46
-149
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-53
50
0
0
0
7
6
0
0
0
0
21
-5
0
0
3
-3
24
-1
0
1
-7
-4
-12
0
-43
-2
13
-5
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
-22
-3
0
0
37
-56
-5
0
0
-11
-8
-77
0
0
-28
22
16
0
0
36
-9
0
0
0
0
0
0
0
0
-10
0
0
0
0
-15
0
0
0
0
2
-3
0
0
0
4
-27
1
0
0
5
1
14
0
0
-49
16
34
0
0
1
10
7
0
0
-42
-30
-47
0
0
0
0
0
0
0
-5
0
0
0
0
5
0
0
0
0
-40
6
0
0
0
21
10
3
0
0
-1
-10
-58
0
0
-13
-16
104
0
0
-4
1
-26
0
0
-37
-1
-1
0
0
1
0
0
0
0
-5
0
0
0
0
5
1
0
0
0
-9
-1
0
0
0
-5
11
2
0
0
-40
-72
-31
0
0
-4
-1
-16
0
0
16
6
1
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
41
0
0
0
0
-7
1
0
0
0
6
-2
3
0
0
40
63
-36
0
0
-2
-38
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
34
2
0
10
16
24
1
0
17
-32
9
0
-2
-6
2
41
8
-5
7
-2
15
15
17
-73
-2
-1
3
32
-12
-1
3
5
-17
0
0
0
0
0
54
10
-26
0
0
13
29
-15
1
0
-9
4
19
-1
0
-22
-5
-24
-6
-3
-93
-16
53
-6
-10
21
3
10
10
6
-14
-3
1
1
-13
-8
14
1
2
-4
-3
64
5
0
0
16
28
5
0
0
5
-24
6
0
0
3
-19
-37
1
0
0
-4
52
6
11
-29
-32
8
-58
24
-3
0
-8
-13
-4
-28
-6
-8
-5
-22
-10
-32
1
11
-7
-14
18
2
0
0
6
-25
-1
0
0
-32
36
-2
1
0
21
-22
-4
0
0
-16
-15
31
-15
-1
-28
-48
32
-13
-3
-42
-16
10
33
-30
-4
-1
5
-2
3
0
0
0
0
0
11
18
0
0
0
-14
26
-3
0
0
-21
-18
-2
0
0
-16
-51
37
-2
0
1
24
-14
-1
5
53
-52
-30
20
9
10
-7
2
11
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
28
0
0
87
-23
15
0
0
9
19
-16
5
-10
-29
-24
-4
-62
-6
53
-7
24
8
-19
-31
2
-3
-2
-7
-18
-8
-36
-4
-4
0
0
0
0
0
10
-1
8
2
0
7
7
7
2
0
2
5
7
0
0
30
12
-13
2
0
18
2
34
-23
-8
-55
-11
88
-11
29
-26
-6
-29
-21
25
-39
19
-17
1
-41
1
27
-1
0
0
-5
2
-3
0
0
0
0
0
-4
0
-17
-9
9
0
0
6
19
-21
6
5
2
5
-42
12
6
-36
-52
-14
52
39
-15
-29
-57
4
4
-26
24
0
-5
0
-1
0
-1
0
0
15
1
1
0
0
9
-5
-5
3
0
-40
10
7
3
0
4
16
7
-1
2
-10
-7
-47
-20
-13
16
-45
-45
-7
9
-3
-21
-6
2
24
0
0
0
0
0
26
-29
0
0
0
-2
22
26
0
0
-5
23
5
1
0
-2
-32
-7
4
0
26
23
-45
-5
9
-60
22
41
-63
51
8
4
-18
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
3
2
3
0
-8
12
-53
-1
0
-1
23
19
-1
15
13
-33
3
-63
18
-52
6
0
-1
17
20
3
3
-5
-5
-10
-47
-32
-14
-12
0
0
0
0
0
23
-9
13
0
0
-3
10
-2
-1
0
-22
24
-4
-1
0
-22
-12
18
7
3
13
-8
-10
8
-25
0
-7
24
-23
-32
1
7
-49
13
-39
-36
-19
-10
-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
1
1
-1
0
0
14
-1
-2
0
0
3
-14
-3
-1
0
-7
-53
-7
0
0
-9
20
-20
16
0
0
34
-43
-18
4
-5
6
-15
20
-27
8
-2
0
0
6
0
0
0
0
0
11
21
0
0
0
-16
-8
-4
0
0
-24
-16
-5
1
0
12
-37
-3
-1
0
66
-39
13
2
-4
-32
25
8
-10
6
5
-4
0
-9
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-20
-3
0
0
-32
1
15
0
0
-15
53
-17
-4
0
48
18
19
-50
0
11
-5
-40
19
0
2
1
1
8
0
18
5
-22
6
0
0
0
0
0
0
3
-5
0
0
0
0
17
0
0
0
13
-4
-1
0
0
-64
-9
9
-1
0
-15
-16
10
-9
0
77
13
-6
4
0
-9
-7
14
5
0
-33
-3
-6
17
0
-3
0
-2
0
0
18
-2
0
0
0
8
-27
0
0
0
9
35
-3
0
0
-33
-11
-17
-1
0
-17
-9
-34
-19
0
51
-4
33
4
0
5
2
-10
11
0
-79
-9
1
4
0
-3
0
0
0
0
-9
2
0
0
0
-10
6
0
0
0
-28
43
3
0
0
23
25
6
2
0
12
57
4
-25
0
-4
-7
-9
-100
0
-9
3
-2
3
0
0
0
0
0
0
60
0
0
0
0
18
10
0
0
0
22
-6
-6
0
0
-46
5
9
0
0
55
30
25
4
0
14
-5
-14
-16
0
-87
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
-23
-13
0
0
0
-15
-1
0
0
0
-42
0
-1
0
0
0
4
-31
0
0
-13
10
24
0
0
5
-2
17
0
0
-4
-10
-17
0
0
0
0
0
0
0
21
0
0
0
0
5
-2
0
0
0
37
6
0
0
0
24
4
-13
0
0
7
9
-10
0
0
-3
5
7
0
0
-15
-3
8
0
0
3
-2
-16
0
0
-6
1
0
0
0
-16
0
0
0
0
-24
2
0
0
0
4
1
0
0
0
12
10
2
0
0
19
6
1
0
0
28
20
48
0
0
2
2
-5
0
0
-70
2
1
0
0
-2
0
0
0
0
-2
0
0
0
0
-46
2
0
0
0
-14
-1
0
0
0
27
53
1
0
0
50
25
-29
0
0
3
-9
7
0
0
-33
-17
9
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
37
0
0
0
0
23
-6
0
0
0
5
21
-7
0
0
-4
-44
-10
0
0
-33
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
14
-19
0
0
-10
-21
-10
0
0
40
7
8
0
0
-18
-14
-17
15
-4
5
-13
14
11
60
1
8
11
0
9
-2
-58
6
26
-6
0
0
0
0
0
-11
-16
9
0
0
-6
3
7
0
0
21
-43
14
0
0
48
23
14
8
-1
-12
33
-49
-18
-20
15
20
6
-3
-18
1
2
13
10
-27
1
7
-1
1
11
-2
-5
-1
0
0
-25
-33
18
0
0
5
29
-7
0
0
-56
-32
50
0
0
50
-22
-3
7
-3
-78
16
48
-14
-27
17
-11
23
19
-18
-12
1
0
3
-11
11
-94
-1
19
1
48
0
0
0
0
-5
0
19
0
0
27
-35
-15
0
0
44
7
-21
-1
0
71
-8
22
-13
0
-49
-14
-1
-7
25
-57
9
1
-4
-53
1
-7
2
2
7
0
0
0
0
0
13
-19
0
0
0
26
-14
-16
0
0
3
5
-24
0
0
-12
13
-7
0
0
-34
-5
-15
0
2
-2
15
2
-38
14
3
-15
1
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-5
-14
0
0
18
-3
15
7
0
14
-41
17
18
0
17
-34
-51
11
-4
0
-32
-4
-21
24
-26
22
9
1
12
39
16
2
2
4
0
0
0
0
0
-55
-30
17
-5
0
22
-7
18
10
0
-4
-26
-18
-7
0
-12
-5
5
1
11
-32
15
-58
36
28
1
16
0
11
-3
24
-2
4
-1
-7
-3
-58
0
0
-1
69
-20
-4
0
0
55
30
9
-13
0
-14
8
-7
3
0
-3
15
-23
1
0
-34
-27
15
46
-11
-8
12
32
-21
-17
-21
2
1
16
-16
4
-6
0
-2
8
11
4
-9
-1
-1
13
4
0
0
0
2
13
-14
0
0
27
-5
5
7
0
23
-14
9
2
0
-76
53
-43
-1
9
8
-43
-10
40
36
-14
-2
7
-3
-3
-13
0
4
0
4
0
0
0
0
0
-15
31
0
0
0
-44
-13
-24
0
0
44
21
-8
0
0
-14
16
-4
0
0
-2
-85
17
-7
0
-27
-38
16
-5
-8
-14
1
-19
20
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
-16
-1
0
-26
-24
24
3
0
-5
40
-31
-2
0
13
8
62
-37
-11
-4
7
-8
-17
14
-52
-10
16
2
-5
-1
21
-4
3
0
0
0
0
0
0
4
50
7
-12
0
26
4
-7
-5
0
14
-19
17
1
0
14
-1
9
9
9
9
-41
28
-13
-2
-25
5
11
-8
35
-8
8
-2
-4
15
14
-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
5
14
-5
0
0
-37
-7
-12
0
0
-3
6
5
-1
0
16
25
-23
8
-1
13
-2
14
3
4
16
-15
-11
-26
27
5
-9
0
3
-17
-5
3
-1
-1
1
0
0
0
0
0
-5
-5
0
0
0
44
-31
21
0
0
-5
2
-10
0
0
-4
-5
5
6
0
-25
2
12
17
1
19
35
-20
-14
14
6
-49
0
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
-6
0
0
-47
15
-16
0
0
24
9
3
0
0
23
-69
-7
39
0
-46
49
58
31
0
3
-3
-18
5
0
9
27
2
4
0
0
0
0
0
0
25
47
-31
0
0
12
-12
3
0
0
-33
16
14
0
0
6
9
14
7
0
-8
17
28
-21
0
-5
16
43
-21
0
2
31
-2
6
0
4
1
14
1
0
13
-6
0
0
0
-13
-16
-8
0
0
13
19
-5
0
0
-23
43
11
1
0
0
-38
21
5
0
23
2
-28
-37
0
1
17
-20
9
0
0
-1
1
3
0
-28
6
1
-4
0
28
-3
-1
0
0
-9
1
-2
0
0
-3
20
5
0
0
10
-13
0
0
0
21
-4
58
-3
0
7
13
-32
-15
0
-5
6
-5
10
0
30
5
2
-15
0
0
0
0
0
0
-19
-1
0
0
0
18
7
0
0
0
-4
15
-2
0
0
18
3
2
0
0
26
7
-4
-2
0
-33
37
-12
27
0
29
18
-10
-37
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
9
13
-1
0
0
-32
48
14
0
0
-27
90
-4
0
0
-16
0
8
0
0
2
-6
4
0
0
0
0
0
0
0
-15
0
0
0
0
1
1
0
0
0
-31
-2
0
0
0
-23
2
-1
0
0
-33
20
-4
0
0
47
0
34
0
0
0
7
12
0
0
18
-4
3
0
0
0
0
0
0
0
31
0
0
0
0
-5
0
0
0
0
23
0
0
0
0
-6
-14
0
0
0
-84
-24
7
0
0
3
57
-33
0
0
6
1
-9
0
0
-50
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
10
0
0
0
0
4
0
0
0
0
-26
0
0
0
0
-19
-13
-12
0
0
8
18
-28
0
0
-4
-16
2
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
-13
-10
-17
0
0
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
-2
13
1
0
-13
26
17
-17
-10
7
-15
50
-5
17
32
24
-24
-15
-51
12
-81
-63
64
-16
1
0
-105
-62
105
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
-1
8
1
0
0
-7
26
5
0
4
22
-25
6
-18
18
20
-14
28
-9
6
-109
-19
-30
-1
-31
0
-47
-3
17
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
17
18
-4
-8
-1
5
-3
-25
-41
-20
-29
-15
51
-29
-105
-5
59
36
0
0
0
0
0
-1
0
-4
0
0
3
7
-1
0
0
0
7
-1
1
0
-2
-11
-4
6
0
5
-9
20
-8
0
-16
39
-39
13
19
4
-80
-8
-7
61
0
0
0
0
0
0
2
-1
0
0
0
1
0
0
0
7
7
9
0
0
11
10
6
1
0
-6
41
2
-7
3
-18
15
5
25
-10
35
-5
-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
-21
-3
-5
2
-21
-27
-35
7
10
-19
63
21
-31
6
29
23
0
17
-27
-1
-11
-26
-21
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
-2
0
0
0
0
0
2
0
0
0
1
-9
0
0
0
-3
-5
0
0
0
-2
5
1
-1
0
-25
8
-7
37
-13
-4
-32
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
-16
-34
5
-4
1
15
-47
73
-44
-10
-27
56
-222
24
28
0
2
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
-13
-5
2
10
-5
3
18
3
-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
10
-4
15
-3
0
5
-21
20
-53
0
5
36
48
-5
0
-28
24
-78
-43
0
-56
16
-23
-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
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
-9
-4
0
0
0
-23
-41
8
1
0
-13
25
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
-5
0
0
0
0
9
3
2
0
0
-14
-14
4
0
0
11
11
-14
0
0
-84
-11
-19
0
0
-29
-38
24
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
19
3
-8
0
0
-6
-16
31
0
0
12
-86
-81
0
0
-71
25
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
-1
-2
-8
0
0
53
5
1
0
0
-57
-74
15
0
0
0
2
9
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
-20
-2
0
0
-19
14
2
0
0
-14
-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
-5
0
0
0
-5
23
-15
0
0
-43
13
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-4
-6
0
0
7
19
-33
-2
-1
1
-8
-9
46
0
-32
-29
25
-1
-29
13
2
9
34
6
-21
-26
-33
-10
-18
19
2
-30
-49
60
0
0
0
0
0
-3
0
6
0
0
2
6
-2
0
0
-5
-1
-3
-6
0
-18
-5
-16
-14
0
-43
-7
-14
6
-13
23
-11
57
32
-2
-28
-17
-33
-37
-14
-5
20
-25
-29
4
-1
0
0
0
0
-1
3
-2
0
0
6
5
-2
0
0
-5
4
9
-2
0
-5
13
-6
-4
5
0
18
-1
45
-8
10
-14
-5
14
-8
-62
-51
-62
-19
23
-9
1
-10
25
51
-1
1
-2
0
0
-3
-5
23
1
0
-23
17
8
0
0
2
11
-1
1
0
16
29
-8
-4
5
11
-45
-1
-17
-23
11
44
7
63
-44
-87
-28
-17
-28
18
0
0
0
0
0
-3
3
-1
0
0
42
-7
-25
0
0
2
-26
5
-3
0
-14
27
34
3
0
-1
3
17
11
1
-34
6
-8
34
-13
18
21
25
3
-20
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
-9
-1
0
-4
-4
15
-19
-5
11
-35
34
-8
-4
-1
12
-4
-33
-21
-84
-27
-40
33
35
-66
-54
-60
9
-63
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
13
-2
-5
-1
-13
-8
-4
1
0
-14
-26
-9
-33
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
-14
-6
-4
-15
-46
1
-18
36
0
0
-16
45
-52
0
0
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
7
-2
-1
-3
-18
-23
13
-5
-9
-28
-54
-36
-19
0
0
0
0
0
1
1
0
1
0
-14
-2
20
0
0
-20
35
2
-1
0
-8
7
-6
6
0
4
11
-5
-25
-7
31
-15
12
-20
-2
-10
-14
-11
-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
-5
0
-5
0
0
0
-29
8
11
11
32
-16
25
-35
-4
-14
-6
26
-31
14
-20
18
-79
18
-66
-69
-5
20
-120
-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
0
0
7
-24
7
3
5
45
0
3
6
-6
11
-47
-21
-44
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-25
0
4
0
0
5
0
-10
0
0
0
0
0
0
-3
-2
0
0
0
-16
9
14
0
0
6
-16
7
0
0
1
-19
-15
1
0
-5
10
26
-5
1
-19
-23
27
-8
-9
-13
16
-10
29
26
0
0
0
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
14
-1
26
5
0
-34
-7
16
11
0
42
9
-41
25
0
-14
15
-7
-12
0
11
-93
-25
18
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
-15
-6
9
2
0
-3
0
13
7
0
-32
-66
-49
43
0
0
51
-4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-10
-33
4
0
0
-18
16
-24
1
0
-48
50
-71
-20
0
3
40
36
-13
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
30
-32
-14
17
0
5
47
64
-19
0
0
0
0
0
0
1
0
0
0
0
4
-14
0
0
0
-15
-1
0
0
0
29
-1
-1
0
0
22
14
-1
2
0
-30
-5
-5
-18
0
-29
-3
-43
16
0
0
0
0
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
-33
3
0
0
3
25
-3
0
0
4
2
13
0
0
22
15
-5
0
0
-80
-137
67
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
5
1
0
0
0
23
10
0
0
0
6
19
-1
0
0
-60
33
16
0
0
-26
-41
-28
0
0
-34
20
-55
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
6
0
0
0
0
13
-1
0
0
0
-38
-31
3
0
0
6
-12
-17
0
0
3
38
-80
0
0
-90
-4
9
0
0
0
0
0
0
0
7
0
0
0
0
5
1
0
0
0
13
-4
0
0
0
9
4
1
0
0
-7
-27
27
0
0
-2
-8
11
0
0
-57
90
-16
0
0
0
0
0
0
0
1
0
0
0
0
-29
0
0
0
0
27
0
0
0
0
0
3
0
0
0
-6
5
7
0
0
6
-50
-2
0
0
43
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
10
15
0
0
37
-22
-5
0
0
-5
42
-23
-2
0
-24
-13
6
-45
-26
-20
2
8
30
-1
-18
-12
-12
7
-6
-82
-10
-6
19
-28
0
0
0
0
0
-5
9
-5
0
0
-20
31
0
0
0
0
29
-9
0
0
19
-1
17
-2
-2
38
-61
7
-1
22
52
-27
12
14
-34
-69
-9
-6
-38
-18
-16
5
-23
-25
23
-2
-2
0
0
0
0
-2
0
0
0
-17
6
5
0
0
-6
-7
4
3
0
4
23
-4
-8
1
-2
-88
38
-78
-3
51
20
-29
-9
14
-35
9
-39
33
21
16
22
10
79
-64
-7
-5
0
0
0
21
23
-39
0
0
-13
19
13
0
0
2
-11
0
1
0
-14
-3
0
27
1
-33
16
-63
22
22
56
-51
20
31
65
8
20
8
-22
-48
0
0
0
0
0
12
0
-1
0
0
-2
-9
21
0
0
-8
26
4
-1
0
51
-12
-5
-2
0
14
-35
12
9
-9
11
13
-79
-34
-8
10
-22
0
-31
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-15
4
0
0
-25
16
-13
-2
0
-17
-4
9
-10
-3
33
-68
18
9
-4
16
7
5
29
7
-31
-26
-15
-6
-7
-97
-37
-27
10
-17
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-1
9
-2
0
-4
-20
24
0
6
4
40
30
25
-41
50
-82
47
-15
-33
-47
-33
-56
-39
44
-71
-10
-35
-3
-7
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
-80
-3
18
-10
-25
31
36
6
4
-3
-29
4
2
-71
63
47
0
40
14
-1
0
0
0
0
0
-1
-1
0
0
0
1
0
-1
0
-2
5
3
0
0
1
-23
-3
3
0
-22
-5
31
-52
7
24
14
23
39
-14
80
-39
-47
50
9
0
0
0
0
0
-12
-5
0
0
0
3
-15
2
0
0
4
-15
15
0
0
2
43
-9
0
0
-10
-8
16
8
-2
23
-42
-15
-7
-14
-14
27
41
6
12
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
-37
-32
-6
-1
4
-22
17
14
18
-23
-46
18
1
-30
2
15
1
-7
-14
-9
-68
-14
-23
19
-1
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
32
-94
8
-24
23
72
1
-35
-53
0
-48
-49
-16
-49
14
-124
-37
-59
136
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
8
-1
0
0
0
3
-2
-1
0
0
0
7
5
0
0
-4
5
8
2
3
-17
-13
-32
1
-15
14
13
24
45
33
56
-13
-10
-11
6
0
0
0
0
0
7
-5
1
0
0
2
-14
-7
0
0
7
-3
-7
1
0
-3
11
6
7
0
6
44
5
-25
3
-46
-5
-11
11
5
51
8
-13
17
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
-11
-10
0
0
-14
1
-2
9
0
-2
-2
30
23
0
-1
0
-7
-2
0
-42
-9
-35
-7
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
-4
2
0
0
0
-42
-3
3
3
0
8
-22
-6
-36
0
1
60
-17
-11
0
-49
-3
-38
-16
0
-1
-16
49
9
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
13
-13
0
0
0
-8
8
9
0
0
-33
6
30
-7
0
0
-13
0
25
0
-26
2
28
7
0
-59
20
-53
2
0
1
0
0
0
0
1
1
0
0
0
-11
0
0
0
0
24
5
0
0
0
-25
9
-14
-4
0
-23
-14
-8
33
0
23
-13
20
-12
0
-69
-7
14
-6
0
0
0
0
0
0
-14
0
0
0
0
-3
1
0
0
0
-3
3
0
0
0
-5
5
-3
0
0
-7
1
-6
0
0
-13
-35
85
1
0
34
14
10
-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
19
0
0
0
0
-1
33
1
0
0
-3
25
25
0
0
7
17
20
0
0
5
-4
4
0
0
-24
-4
-9
0
0
0
0
0
0
0
-1
0
0
0
0
5
0
0
0
0
4
0
0
0
0
-21
-3
0
0
0
8
-26
-7
0
0
30
6
-66
0
0
-61
0
-6
0
0
16
-24
22
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
-11
-1
0
0
0
17
15
-9
0
0
34
10
17
0
0
23
1
31
0
0
-1
25
29
0
0
-37
14
-66
0
0
0
0
0
0
0
-4
0
0
0
0
-7
0
0
0
0
12
5
-1
0
0
-21
-21
4
0
0
18
-2
-12
0
0
-2
11
54
0
0
-9
-16
8
0
0
0
0
0
0
0
-1
0
0
0
0
32
0
0
0
0
-2
0
0
0
0
-27
-2
0
0
0
32
-11
2
0
0
-43
-30
56
0
0
14
59
-17
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
-60
-5
7
0
0
0
36
6
0
0
-62
33
8
-8
6
33
8
-1
45
35
-43
4
10
2
27
-11
-12
3
24
-15
0
0
0
0
0
5
0
2
0
0
-16
-2
0
0
0
-7
-9
0
0
0
6
-59
-13
-1
0
-64
21
-11
4
18
-21
10
-3
40
-18
-32
8
-6
1
-13
75
34
39
-16
20
-3
-5
0
0
0
35
1
1
0
0
2
11
2
0
0
27
-29
2
0
0
-21
5
14
3
0
41
13
-64
-21
-7
13
6
30
33
19
75
22
-7
3
1
-26
-28
42
1
-36
6
0
0
0
0
-22
-7
21
0
0
0
-16
1
0
0
-11
2
5
0
0
4
-5
-1
0
0
-3
9
52
-35
2
9
-20
-19
-31
14
-1
93
9
82
10
0
0
0
0
0
7
-1
1
0
0
-43
0
0
0
0
3
-6
-7
0
0
0
18
0
0
0
-8
20
4
3
0
-27
-1
-24
3
-5
-16
57
30
-11
-15
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
-17
-2
6
0
0
53
-17
-7
8
0
13
-53
12
-29
-11
-12
-13
25
10
50
19
16
6
-3
-5
-44
-31
9
3
11
0
0
0
0
0
7
0
-3
0
0
-17
4
3
2
0
1
7
0
1
0
-21
-8
13
-5
-4
47
63
-22
-76
-2
47
-17
69
10
12
-41
-42
-68
-49
8
-110
-27
27
6
9
1
0
0
0
0
-3
-1
-5
0
0
7
-10
0
1
0
-21
0
3
7
0
19
31
-17
9
1
13
-3
6
31
2
51
-39
-20
-4
-35
38
24
70
4
53
-78
18
-37
20
18
4
-2
0
0
0
-8
1
2
0
0
-15
18
1
0
0
5
-11
-4
-3
0
0
6
-9
-5
2
14
-27
22
29
-1
33
11
7
42
23
-118
17
4
-5
11
0
0
0
0
0
-2
2
0
0
0
14
-10
-5
0
0
0
-6
0
-1
0
11
-5
3
0
0
-1
7
20
8
0
-24
46
-45
26
-3
8
7
20
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
5
-9
5
0
0
6
19
6
2
-1
32
-53
-52
15
0
24
24
-1
25
43
23
-3
1
10
9
-54
-27
8
53
6
0
0
0
0
0
3
1
1
0
0
4
-1
-3
0
0
4
-1
-10
0
0
4
-23
3
19
-2
-90
6
-12
-13
-19
18
13
-7
7
-29
-29
-35
1
57
-23
-87
32
3
-9
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
2
0
0
0
0
-6
0
7
0
0
-10
1
4
0
0
-11
-6
24
0
0
2
17
18
1
0
0
-22
-11
15
-36
10
65
-1
15
-32
9
9
-14
-2
14
0
0
0
0
0
0
4
0
0
0
-1
-2
0
0
0
8
-1
0
0
0
-2
-13
1
1
0
-2
6
-4
6
0
6
-29
-29
32
17
-3
62
14
-16
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
7
9
0
0
0
-2
19
-5
-1
0
27
51
-7
0
0
-25
-4
16
65
0
5
-3
0
0
0
1
3
8
16
0
0
0
0
0
0
1
2
0
0
0
2
1
0
0
0
-11
-32
0
0
0
49
-5
-5
-10
0
-31
-1
-4
28
0
29
-19
-52
13
0
-10
-3
-17
-63
0
-78
-10
35
44
0
0
0
0
0
0
14
-3
0
0
0
-11
6
0
0
0
9
-5
0
0
0
1
-2
-11
0
0
-5
-13
-46
5
0
-21
46
50
59
0
12
10
-28
20
0
-89
-77
25
-10
0
-6
0
0
0
0
22
-13
0
0
0
-3
7
1
0
0
-23
5
-1
0
0
-21
-14
5
4
0
-84
-5
3
-36
0
31
22
40
45
0
59
-69
-16
51
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
13
4
-26
21
0
-1
18
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
2
0
0
0
0
2
-2
0
0
0
-9
-43
-2
0
0
31
15
-8
0
0
11
0
8
0
0
-5
35
16
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
-7
-10
-28
0
0
-20
-27
3
0
0
6
-6
43
0
0
17
-49
11
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
5
21
33
0
0
39
-37
-22
0
0
0
5
8
0
0
0
26
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-1
0
0
0
-38
-6
15
0
0
35
77
4
0
0
-79
-27
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
-1
1
0
0
0
14
11
-1
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
2
-2
0
0
0
1
0
0
0
0
3
32
-5
-5
0
-16
50
-9
22
-18
-65
17
19
11
23
-3
5
23
48
-4
0
0
0
0
0
-1
0
0
0
0
-2
-2
0
0
0
0
0
1
0
0
0
21
0
0
0
0
-26
-12
-5
5
33
32
56
-13
0
-2
34
-1
53
13
-45
-69
34
-9
10
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
10
-4
-1
0
-1
14
18
-10
0
14
29
61
14
2
-5
9
31
25
21
-25
-1
-5
0
24
0
2
0
0
0
-3
0
0
0
0
11
0
0
0
0
-3
0
-2
0
0
0
-4
-4
-2
0
12
-71
-10
2
1
-1
-53
46
2
16
45
284
-38
14
-85
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
29
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
2
0
0
-3
-29
2
0
0
-5
22
-14
-18
0
76
-51
61
22
10
-48
57
6
-12
-6
4
-24
43
-1
26
0
0
0
0
0
1
-1
0
0
0
3
-3
1
0
0
-9
15
-19
0
0
-8
19
-25
2
-1
-85
-17
12
16
-22
-7
62
-17
10
24
56
-4
22
-26
101
-13
15
-10
51
-24
-1
0
0
0
0
-2
4
0
0
0
6
-2
1
0
0
6
7
0
0
0
-4
-37
18
-2
-3
-34
18
48
-5
-9
7
-2
0
14
7
-6
5
-11
0
5
10
-23
83
-1
-55
6
1
0
0
0
0
7
0
0
0
-21
-8
0
0
0
16
9
0
0
0
2
9
36
0
0
-35
24
-3
6
-5
-8
28
1
-9
-1
47
-13
16
-2
17
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
1
-3
-6
0
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
-1
0
0
0
0
0
0
4
0
0
0
-2
8
-9
0
14
-19
88
3
29
-27
-1
-2
-3
59
15
94
0
41
-26
0
0
0
0
0
0
1
0
0
0
-2
5
-1
0
0
2
11
6
0
0
0
13
20
0
-1
-11
-37
-20
39
4
-5
49
-21
29
20
-56
41
-3
39
-38
-4
-103
52
-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
2
1
0
0
0
1
0
4
0
0
0
-5
2
0
0
0
-5
-24
0
0
1
-2
18
0
0
-13
8
14
5
-1
2
-42
35
48
51
0
45
-67
10
-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
1
0
0
0
1
-13
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
14
-24
-35
11
0
41
19
-36
-12
0
-9
4
11
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-1
0
0
1
9
4
0
0
12
17
6
13
0
25
13
-34
54
0
-12
29
8
-8
0
81
-35
16
-10
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
45
13
7
0
0
-7
28
7
0
0
-45
-13
67
-81
0
258
-27
54
-23
0
0
13
-56
72
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
35
-43
47
7
0
-8
19
44
-23
0
0
-1
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
2
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
19
0
1
0
0
4
-55
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
-10
1
0
0
-13
-32
-49
0
0
-4
-19
25
0
0
0
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
0
-1
0
0
0
-15
-15
-3
0
0
0
26
-25
0
0
0
0
3
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-9
3
0
0
11
-4
-4
0
0
-4
20
-41
-6
-18
-1
-2
-1
-42
-1
-1
-20
1
-14
-6
-135
45
-13
8
0
0
0
0
0
0
0
5
0
0
0
5
-6
4
0
0
-16
4
-2
0
0
-21
14
10
-1
0
19
-19
9
14
-2
-11
-5
-53
-55
-39
-14
6
-6
0
-97
-1
-34
0
1
-2
-1
-1
0
0
0
3
0
1
0
0
-3
2
0
0
0
28
-10
13
0
0
7
-66
5
-7
-5
0
32
-17
-28
49
77
5
0
-14
5
-43
-6
-17
-6
-4
-47
44
-5
-4
-21
-7
-1
0
0
0
25
-4
0
0
0
25
-18
0
0
0
-31
14
3
0
0
5
-26
2
-7
7
-16
-18
-30
-41
3
-3
28
-6
-1
-7
-58
-7
4
-3
0
0
0
0
0
0
14
3
0
0
0
29
2
-1
0
0
5
-23
0
0
0
22
-25
5
0
0
27
-31
10
-11
-1
-66
-29
30
30
-5
14
-5
-6
19
-11
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
15
54
-13
3
0
-38
33
5
55
5
46
23
-9
-25
-13
-21
-13
-36
-1
-50
-7
-62
-5
-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
1
0
0
0
-6
3
0
0
0
-21
-1
0
0
0
-3
0
29
0
0
4
9
8
20
0
40
-19
-64
-18
-7
-4
-10
3
4
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-5
-3
0
0
3
-9
0
0
0
28
-33
-5
4
0
-7
32
28
-34
8
-18
-34
-31
-30
39
-31
14
7
-14
-35
13
-37
-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
-43
26
0
0
0
4
0
2
0
0
11
-19
2
10
0
8
-63
10
-3
-1
10
-31
14
31
2
-21
4
-3
-15
-24
-14
2
-3
-6
14
-11
-2
-13
-1
-15
7
-8
-25
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-2
0
0
0
-2
27
-2
-2
0
7
29
7
-1
0
21
-17
-4
-1
-2
-36
0
10
17
-31
5
0
23
5
-5
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
-7
-4
0
0
0
-24
1
1
0
0
-14
10
-10
-6
0
28
-21
24
37
0
21
11
4
-12
0
-137
-19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-12
-2
0
0
-22
-17
-17
23
0
-1
4
4
-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
0
1
0
0
0
0
13
-5
0
0
0
7
19
19
0
0
115
-4
17
0
0
12
4
-12
0
0
-114
-7
-30
0
0
0
0
0
0
0
9
0
0
0
0
-1
0
0
0
0
10
0
0
0
0
0
5
8
0
0
12
-46
16
0
0
43
29
-4
0
0
-56
5
-24
0
0
-58
-4
-9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
13
21
1
0
0
22
-20
-15
0
0
39
4
26
0
0
10
-6
8
0
0
1
5
32
0
0
0
0
0
0
0
6
0
0
0
0
6
0
0
0
0
14
0
0
0
0
-2
-7
-2
0
0
-46
55
-26
0
0
8
14
17
0
0
4
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-10
0
0
0
0
-20
0
0
0
0
2
13
-7
0
0
-5
5
-5
0
0
4
7
61
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
-21
-4
0
0
22
2
1
0
0
71
-66
-56
0
-3
47
9
-4
3
-4
-13
6
9
12
-2
3
16
5
-6
3
0
0
0
0
0
-24
10
0
0
0
2
7
-3
0
0
2
1
4
0
0
5
-14
-5
5
0
-20
-89
13
-52
2
-7
16
-3
-2
13
6
3
1
0
-2
8
-11
3
-1
0
8
0
0
0
0
-4
26
-2
0
0
17
-21
-3
0
0
14
17
-37
0
0
-15
-7
-25
3
0
46
13
-14
22
-4
6
13
-10
4
36
12
-7
5
0
-8
22
25
-4
15
-16
-14
17
0
0
0
34
48
1
0
0
-20
-30
-2
0
0
-2
6
-9
0
0
-33
7
36
14
-5
-20
-48
18
-74
34
0
3
-4
-31
0
-11
9
-15
4
5
0
0
0
0
0
-15
5
0
0
0
-4
16
0
0
0
46
-49
2
0
0
-23
27
-6
0
0
40
14
4
10
-4
30
-33
-21
5
14
1
12
25
-18
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-6
-1
0
0
-11
-20
7
0
0
10
40
-16
-14
0
6
-35
-35
26
-10
-96
15
-35
51
0
9
7
3
1
15
13
-48
4
3
3
0
0
0
0
0
64
-4
5
0
0
-13
-2
2
0
0
1
2
36
0
0
14
-22
27
-4
-1
-11
-57
36
-10
-22
53
5
-36
22
4
-5
-30
-2
1
15
-2
15
-62
-2
-1
5
-3
0
0
0
-10
-1
-1
0
0
26
4
1
0
0
3
3
-4
0
0
2
8
9
5
-1
31
-5
-27
3
3
-6
-48
18
14
-8
18
3
1
-17
1
-2
-29
-20
-29
0
3
-2
2
0
0
0
-15
0
0
0
1
-15
-3
-1
0
0
6
-10
0
0
18
-22
45
-6
-1
-60
-3
62
-24
-6
4
7
-33
23
-44
-3
-11
7
-44
6
0
0
0
0
0
7
-2
0
0
0
23
19
-11
0
0
-17
-1
-19
0
0
33
-16
25
0
0
1
-9
15
6
4
53
11
14
24
-34
-21
-5
-6
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
23
1
1
0
-7
-18
-20
0
0
0
-29
23
5
0
14
14
6
-17
-23
9
-5
5
15
23
13
18
5
6
8
-15
13
-1
2
0
0
0
0
0
0
-14
0
-1
0
0
-2
1
3
0
0
-7
-6
-10
0
0
7
25
25
-8
3
24
-3
17
10
-3
-4
1
-18
-27
15
-24
-4
0
1
-18
5
14
2
40
-14
68
-8
-2
-1
0
23
16
-14
-1
0
-30
31
56
-25
0
13
39
1
4
0
-1
17
-17
7
-4
19
-4
15
20
8
19
5
-13
-4
12
-4
-1
-1
-2
2
-1
0
-3
10
-4
25
-1
0
0
0
-16
33
-1
0
0
-14
8
3
2
0
8
11
-6
5
0
3
-34
2
16
1
-34
25
-35
6
3
17
-5
-6
-11
55
6
0
5
-1
-5
0
0
0
0
0
3
22
-1
0
0
-9
19
-32
0
0
45
31
12
4
0
-8
46
-6
-2
0
4
24
-21
9
10
-14
-54
24
-4
-16
-25
1
6
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
0
0
0
18
9
2
0
0
15
-5
-1
0
0
-16
-14
-2
4
0
15
9
37
-5
0
2
7
2
6
0
13
3
6
-5
0
0
0
0
0
0
6
-2
0
0
0
1
-1
0
0
0
8
36
-1
0
0
-23
3
-10
-4
0
-22
-15
-4
10
0
15
6
8
5
0
21
1
-14
-21
0
-64
-38
2
33
0
8
0
0
0
0
0
4
0
0
0
-14
-18
0
0
0
-18
-14
0
0
0
12
38
11
-10
0
-12
-15
-16
-24
0
35
4
43
15
0
-5
14
-1
33
0
11
0
-2
-1
0
1
0
0
0
0
-3
-1
0
0
0
3
-1
0
0
0
1
7
0
0
0
-32
-6
15
8
0
-22
-33
24
22
0
-4
20
-14
42
0
0
3
-25
-5
0
0
0
0
0
0
-1
-2
0
0
0
-4
-10
0
0
0
3
-5
0
0
0
-69
-62
0
0
0
47
30
-14
-1
0
4
29
-14
2
0
7
13
-50
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
19
7
0
0
0
-9
-35
-6
0
0
-15
-25
-7
0
0
1
27
11
0
0
-4
1
-3
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
1
-41
13
0
0
7
-8
-2
0
0
-36
1
-2
0
0
0
0
0
0
0
4
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
-5
-11
-1
0
0
-12
42
-15
0
0
16
-17
20
0
0
38
-2
-16
0
0
-3
11
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
6
-19
-6
0
0
23
-11
23
0
0
30
43
33
0
0
-3
-7
-13
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
-43
18
7
0
0
-6
9
19
0
0
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
-2
0
0
-32
-7
0
0
0
-72
-7
3
0
-1
17
-5
-12
-39
-3
9
7
7
7
-52
6
-13
-2
-2
5
0
0
0
0
0
0
-3
0
0
0
16
-11
0
0
0
27
1
-5
0
0
-11
-1
0
0
0
13
-63
-34
-1
0
-1
-1
-4
7
49
-18
1
7
1
12
17
-3
-7
2
10
10
0
0
0
0
4
1
0
0
0
-20
-14
-2
0
0
-4
46
-1
0
0
-19
-1
-7
1
0
-98
42
-18
-5
2
-14
-6
5
-36
-42
28
-2
7
-1
-3
15
-46
-8
17
-4
-4
-2
0
0
0
-14
-7
0
0
0
-27
-5
0
0
0
-5
8
1
0
0
12
8
-14
-1
-2
45
87
-127
12
-13
23
0
-3
-37
-23
11
14
13
5
-8
0
0
0
0
0
-12
-8
0
0
0
-1
-1
0
0
0
-5
-5
0
0
0
-6
-14
-7
0
0
-14
20
5
-11
0
-41
1
-1
-36
2
-18
20
-13
4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-25
9
0
0
0
-15
-16
-4
0
0
-5
21
21
-13
1
-62
9
11
21
-4
-3
3
9
1
-9
10
13
4
-1
1
0
0
0
0
0
-43
15
-1
0
0
-11
23
-14
1
0
-19
2
2
0
0
12
28
-7
6
-4
-52
-9
19
-17
23
-2
2
-4
-5
44
6
1
3
1
9
7
15
1
0
-6
-16
8
0
0
0
-3
-34
0
0
0
-17
1
3
0
0
14
0
0
5
-1
62
9
-31
-3
6
-66
21
44
5
19
12
-4
-2
-2
45
10
3
3
2
0
23
-9
9
7
1
20
18
-5
0
0
-4
-8
-7
0
0
-30
14
4
0
0
-28
-16
7
0
0
75
-59
5
24
-4
-55
42
6
-51
-5
-90
10
-1
28
16
20
-3
-23
-43
32
0
0
0
0
0
0
-52
0
0
0
-24
-6
0
0
0
4
5
0
0
0
-17
-22
-16
0
0
36
91
4
-1
-3
-23
0
-21
37
11
53
7
53
-17
10
0
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
16
29
0
0
4
-12
-8
1
0
-2
-33
36
55
8
32
92
9
32
-34
53
3
12
5
59
12
19
4
-2
0
0
0
0
0
0
8
-16
-9
0
0
5
-5
9
0
0
-16
0
-5
-3
0
-1
23
-14
17
0
0
-7
-19
25
-4
-14
4
-12
27
5
9
-2
1
0
3
13
-7
1
-4
3
0
0
-7
0
0
-18
-14
39
-8
0
47
0
-11
13
0
-19
16
7
2
1
-10
2
14
-17
8
-12
-28
-5
-4
10
2
-22
3
2
-9
9
1
-1
0
31
-27
48
6
40
-2
-27
21
0
0
0
33
-5
-1
0
0
-18
3
-4
0
0
1
2
43
-5
0
-15
36
6
-7
1
-28
24
32
21
-40
20
-1
15
2
37
-4
0
-1
3
-29
0
0
0
0
0
1
-31
0
0
0
-3
6
-1
0
0
1
-1
3
0
0
4
-2
-13
0
0
-11
-2
48
1
-1
20
-1
14
2
17
-16
11
17
24
-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
-5
0
0
0
7
5
2
0
0
11
10
-5
0
0
14
0
-3
-51
0
-6
36
-20
-7
0
51
-3
-1
-7
0
0
0
0
0
0
-1
-1
0
0
0
-4
1
0
0
0
-5
-11
-2
0
0
11
-23
-9
2
0
3
13
-34
-18
0
-3
-19
-39
12
0
-3
-9
1
-12
0
19
1
7
-4
0
-5
0
0
0
0
6
5
0
0
0
5
18
-2
0
0
5
-17
2
0
0
-13
4
2
15
0
-9
30
61
33
0
1
5
-18
3
0
25
-4
1
4
0
6
4
-8
2
0
-8
0
0
0
0
31
-5
0
0
0
33
-2
0
0
0
12
-2
3
0
0
15
9
2
-3
0
-5
9
-53
24
0
-1
-16
27
-19
0
-17
-7
0
18
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
1
0
0
0
0
60
-15
0
0
0
-26
-17
5
0
0
-23
33
9
13
0
-30
-17
-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
1
0
0
0
-67
41
5
0
0
-34
22
-2
0
0
3
-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
1
0
0
0
13
17
3
0
0
20
7
-6
0
0
3
2
8
0
0
63
2
21
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
8
18
-14
0
0
-5
23
6
0
0
-44
-13
16
0
0
-54
-122
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
15
9
0
0
0
18
16
-9
0
0
36
-6
14
0
0
-42
-22
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
0
-4
0
0
0
0
15
-7
3
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
-1
0
0
0
0
15
-3
0
0
7
41
30
11
5
-42
-62
24
69
34
-4
1
-119
-102
-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
-5
0
0
1
-5
-5
20
-6
1
-18
4
-13
-14
-18
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
1
0
0
1
-3
4
1
-1
0
6
-6
9
3
-2
-47
-33
-18
0
0
0
-35
-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
-5
2
0
0
0
-2
5
0
0
0
-2
21
-8
-14
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
-11
-1
0
0
2
-9
-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
2
-1
0
0
-51
-17
11
-2
-71
-19
-68
-12
17
-7
0
-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
1
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
-1
0
0
0
-10
-33
-38
-19
-5
-25
-26
12
-2
5
-1
-17
3
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-3
0
0
-61
17
-6
-1
0
-14
19
39
-39
0
-9
-37
-25
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
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
-20
-9
-3
0
0
-19
-95
10
0
0
55
-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
-4
0
0
0
-15
14
1
0
0
-33
-16
24
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
-7
0
0
0
5
13
3
0
0
0
-4
0
0
0
1
-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
3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-8
-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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-27
-6
4
-6
6
-43
-8
11
23
-14
-25
-24
-11
5
-14
5
-30
-27
-86
-55
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
-50
45
-25
-16
0
20
13
-38
72
5
-30
-69
57
-38
9
81
-41
-109
-111
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
14
17
1
0
0
-18
-18
-7
29
3
-10
25
19
28
-10
-9
7
5
-146
-10
10
-57
-46
16
-64
-1
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
45
-10
-16
0
0
0
-5
2
-4
0
32
-20
27
10
7
-52
-27
-14
41
0
20
-47
-32
-82
-9
0
0
0
0
0
0
-1
0
0
0
3
-1
0
0
0
1
-14
0
0
0
-21
6
-8
0
0
-1
-9
0
-6
0
-2
2
3
4
-14
-5
-9
-27
-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
2
-1
0
0
-14
-45
-9
-5
-29
-22
20
-53
10
33
-48
-49
4
-25
28
-13
-4
-5
-6
-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
-2
3
-11
6
0
-14
-47
-20
23
25
-27
-39
66
-48
-35
17
24
-53
-27
-33
0
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
-16
0
14
25
-7
-17
-9
-3
0
-21
-31
-25
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
-33
-33
-3
-2
-5
53
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
-14
14
14
1
0
-6
-9
-17
-15
0
6
-43
-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
0
0
0
0
0
0
0
0
0
-5
4
0
0
-29
-56
-39
39
-2
-24
2
-10
-28
5
-86
-21
2
-53
-41
-8
1
-82
-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
-4
10
-23
0
0
29
-43
23
-68
5
-14
-50
9
30
37
5
2
14
-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
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
10
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
-20
5
0
0
-7
8
-23
17
-11
19
-26
26
-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
11
1
0
-3
0
62
-71
-32
-5
0
-67
12
-14
-3
0
-55
-112
-36
-21
0
0
0
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
-11
3
-33
-3
0
-40
-76
-6
-10
0
0
-15
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
-1
1
0
0
1
5
3
-2
0
0
-66
-39
4
0
0
49
-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
3
8
-2
0
0
0
8
-3
1
0
-1
-57
-14
-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
13
-9
-1
0
3
-27
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
-2
0
0
0
0
0
0
0
0
0
4
-23
-4
0
0
64
5
-4
0
0
-2
26
-1
0
0
25
-95
2
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
-11
31
5
0
0
-62
21
17
0
0
-38
-64
-82
0
0
60
-24
-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
0
-5
-14
-6
0
0
-7
-23
-42
0
0
-30
-94
-91
0
0
6
8
19
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
-11
-25
-1
0
0
-1
-19
-33
0
0
11
-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
19
1
0
0
0
-2
10
3
0
0
25
-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
2
-1
0
0
0
-29
9
1
2
0
23
-34
-33
-7
1
44
-7
88
33
-11
2
2
-1
3
16
-20
-30
33
6
15
0
0
0
0
0
2
0
0
0
0
3
0
0
0
0
-24
10
-5
0
0
5
21
-7
2
0
-17
-33
32
30
0
57
4
12
-28
-11
-53
13
-1
0
20
9
38
26
6
38
1
0
0
0
0
2
-1
0
0
0
-4
-2
0
0
0
-1
20
1
0
0
4
24
8
7
0
37
50
-11
-4
-19
-5
14
16
-24
-47
-141
-38
-6
-32
39
10
-87
17
-20
-22
-1
-4
0
0
0
-15
0
-1
0
0
8
0
0
0
0
-33
6
25
0
0
13
40
-1
-1
0
6
-13
-30
6
-71
-15
1
74
24
38
-40
11
-74
7
7
0
0
0
0
0
8
0
0
0
0
-2
3
0
0
0
-9
36
0
0
0
21
-51
-4
0
0
-20
19
-1
-14
0
22
-42
13
1
2
6
-18
-12
30
15
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
30
4
0
0
7
62
-26
37
0
3
-64
-1
6
14
-94
3
2
-35
0
63
-92
-24
-20
-36
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
-3
3
0
0
-2
3
-10
-3
0
-31
2
-35
14
9
-20
21
-34
-5
-54
21
-9
-11
-3
4
60
5
88
-98
7
0
2
0
0
0
1
0
0
0
0
0
-1
0
0
0
-9
-9
-5
0
0
-19
-7
0
-4
2
-5
9
-39
-5
1
-32
-21
5
19
-31
4
32
32
-3
-150
15
-90
-60
-74
31
0
0
0
0
0
0
2
0
0
0
1
-3
1
0
0
15
-4
-10
0
0
-10
-3
-5
-14
0
-4
14
-11
-6
-7
-5
12
5
30
-47
-20
-23
-6
21
20
0
0
0
0
0
-8
-2
0
0
0
2
-2
-6
0
0
0
-3
1
0
0
-4
9
-4
0
0
8
-48
-3
-6
-1
-34
-5
10
-7
-10
57
-2
-14
14
24
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
11
-20
0
0
1
-31
7
1
10
20
18
40
1
-42
-15
6
-4
5
7
-14
-21
-90
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
-10
-15
-2
-1
-64
0
-26
0
-5
-18
-6
56
35
-22
87
25
-82
-2
-15
91
72
-1
-53
-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
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
-14
-76
29
-23
6
-10
49
15
-39
-50
8
1
-129
12
32
0
0
0
0
0
1
-3
0
0
0
1
10
5
0
0
-4
-4
7
0
0
10
-13
-5
1
0
1
-22
-5
2
2
-4
3
-66
-43
-8
35
21
26
18
-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
-3
0
0
0
-4
-1
-9
0
0
2
-61
-11
10
0
23
33
8
8
0
-1
1
-10
7
0
-19
6
-37
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
11
16
0
0
0
12
-52
-30
-46
0
-29
-34
105
-13
0
-86
9
-48
45
0
31
24
-13
-23
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
-4
-1
0
0
14
-10
4
0
0
3
-16
-26
7
0
-49
-27
-3
8
0
-85
37
-31
-70
0
74
-33
4
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
-1
2
-35
3
0
11
-16
-21
-18
0
-1
-6
42
-16
0
2
-9
-45
-19
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
-7
10
0
0
0
15
-8
-1
0
0
13
-10
-28
-18
0
0
-36
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
-3
0
0
0
0
-5
18
13
0
0
-37
-4
-40
0
0
16
29
6
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
-3
0
0
0
-61
24
-17
0
0
38
-20
-16
0
0
-15
9
23
0
0
26
2
-13
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
-13
0
0
-15
52
-3
0
0
44
-9
-83
0
0
-5
-29
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
3
-9
0
0
0
-4
-5
-10
0
0
21
9
-43
0
0
-33
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-13
-3
-1
0
0
-11
-3
-3
0
0
54
-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
-1
-3
0
0
0
1
-14
-2
0
0
-6
38
-54
38
21
54
14
21
5
78
-23
85
34
76
6
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
-2
0
0
0
0
10
0
0
0
-39
24
26
-7
0
-25
10
-2
-7
-13
55
20
13
24
6
-4
23
131
-46
25
0
0
0
0
0
1
0
0
0
0
6
3
0
0
0
0
-1
0
0
0
-7
15
1
0
0
-25
14
15
5
0
33
19
14
32
-2
130
-18
-10
8
4
-51
65
-13
-14
30
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
-10
4
-4
-37
1
19
34
-24
0
14
-13
-18
-19
89
-43
0
0
0
0
0
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
-1
-1
0
0
17
22
-1
-1
-6
3
0
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
1
-5
0
0
0
-5
-1
1
39
1
4
-29
-16
96
-8
-33
15
2
-42
-13
71
73
45
-14
9
0
0
0
0
0
0
1
0
0
0
-1
-1
0
0
0
10
5
3
0
0
-4
29
3
2
0
45
12
-7
8
5
29
-3
27
49
-1
-5
-13
17
-2
7
19
-51
-33
4
2
0
0
0
0
0
-1
1
0
0
0
-5
-2
0
0
0
8
-5
21
0
0
8
4
19
-7
1
22
-44
-65
-25
2
-35
34
32
-16
8
-12
-17
-3
25
-39
29
45
30
-10
-14
0
0
0
0
0
25
2
-1
0
0
5
2
0
0
0
-4
14
3
0
0
-2
4
7
1
0
31
-118
-13
37
13
-1
7
18
-11
20
-16
60
16
-3
-66
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
22
0
0
0
-1
-15
5
-15
5
3
25
-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
2
1
-1
0
0
-5
19
-5
15
1
23
8
1
94
-22
50
2
17
-9
37
6
-10
6
-21
29
0
0
0
0
0
3
0
0
0
0
-4
-1
0
0
0
1
-8
-6
0
0
-4
1
-8
11
1
5
77
45
-64
15
-65
46
35
34
12
4
2
-14
17
10
64
26
26
-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
2
-3
0
0
0
4
-5
5
0
0
0
-3
0
-1
0
2
7
-30
0
0
3
-1
-14
-8
0
-17
-4
5
7
-10
-18
40
-11
3
-16
-52
-45
21
30
11
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
-14
-3
2
21
1
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
2
0
0
0
0
0
0
0
0
-7
5
-10
-4
0
-17
113
71
-14
0
-14
-25
61
-19
0
66
-6
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
-10
4
0
0
-32
-23
-43
-5
0
8
-9
4
-56
0
-16
15
-1
21
0
2
15
10
12
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
17
69
11
-27
0
8
-7
-20
12
0
139
16
-24
19
0
17
-67
-25
-91
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-4
0
0
0
0
21
0
1
0
0
14
-14
74
0
0
72
-15
-18
14
0
-31
8
-9
-40
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
-17
0
-1
0
0
4
-2
1
-1
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
-1
0
0
1
-10
1
0
0
69
33
48
0
0
10
-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
-5
7
5
0
0
45
25
8
0
0
16
0
21
0
0
-62
-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
-1
0
0
0
2
-7
0
0
0
-1
-23
-14
0
0
2
6
-24
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
-4
-5
0
0
0
-3
-8
26
0
0
1
95
-14
0
0
0
0
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
-31
60
-43
43
0
9
18
70
-3
-9
16
49
78
-71
14
0
0
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
-3
0
0
-36
-5
62
51
5
20
-19
18
2
-2
8
7
-8
-56
-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
-10
3
2
0
-50
3
52
2
33
-51
7
-59
21
0
4
-3
14
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
-74
1
1
0
0
-1
-13
2
-3
0
16
59
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-21
0
4
19
-11
7
14
33
34
58
29
16
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
54
-49
25
25
-8
-96
27
32
-21
0
-32
17
-10
35
10
25
-32
-18
-4
-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
-16
-51
-6
-4
58
11
18
-31
-7
-66
4
24
-4
44
4
-79
4
2
22
3
-1
0
0
0
3
16
0
0
0
0
1
-1
0
0
2
0
0
0
0
0
7
4
1
1
21
-22
-13
5
1
17
-69
52
-23
17
-5
15
-35
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
27
-5
-5
-18
47
25
-8
26
15
-4
-27
43
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
33
8
7
7
-5
5
28
5
-31
1
16
31
-6
45
3
3
-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
-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
-26
21
-4
17
1
33
2
3
1
0
1
-104
15
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
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
53
-41
-56
6
0
2
55
4
-60
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
-20
-43
14
5
0
-62
25
49
8
0
9
-5
1
8
0
5
35
-55
-40
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
32
14
-5
3
0
22
-4
6
13
0
-1
56
-51
-11
0
0
-10
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
-8
2
-10
-3
0
0
0
24
-10
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
-5
-5
37
0
0
15
-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
-3
0
0
0
3
0
34
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
9
1
-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
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
15
-3
-7
1
-15
64
29
44
5
-20
9
-9
-34
-19
-5
-34
23
-1
-11
15
6
-2
18
5
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
-4
-7
0
0
-9
0
-3
10
-3
16
2
-12
-29
9
-42
43
-27
14
91
26
7
6
-13
0
13
-25
4
4
-140
-2
-1
0
0
0
0
0
-1
0
0
0
4
0
0
0
1
-6
40
0
0
0
-27
-5
0
0
9
-52
15
18
9
-1
62
32
-24
-6
45
13
-48
82
14
-62
28
-14
12
-30
0
-1
0
0
0
0
0
0
0
0
-6
0
0
1
0
-2
8
1
0
0
4
11
-3
-4
0
-16
21
-6
17
11
36
-67
32
49
-4
-45
-12
-29
-14
-50
0
0
0
0
0
0
1
0
0
0
-10
2
2
0
0
-8
23
0
0
0
10
7
-2
0
0
-1
10
9
-10
0
15
-31
14
-17
14
-35
-15
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
-3
1
0
0
-18
0
3
0
1
22
-5
33
19
-44
60
-96
-8
-46
-7
-10
-29
-70
-8
44
-108
37
-8
73
-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
-1
0
0
0
0
0
2
0
0
0
5
9
1
0
0
-5
8
2
0
0
-8
11
1
1
0
5
-4
13
-6
-7
-4
5
-3
57
-18
0
0
0
0
0
0
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
-24
36
-14
20
26
-44
-55
44
37
2
7
-8
-32
-9
-46
-2
-45
21
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
1
-5
0
0
0
-21
7
3
0
0
10
-18
1
1
0
-13
-60
9
-24
1
-22
18
-49
24
-24
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
22
23
-15
-2
0
58
45
91
2
0
-28
-21
4
8
0
5
-23
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
17
-2
2
0
7
-51
8
-9
0
5
53
-62
-17
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
0
0
0
0
-6
-4
-1
0
0
-62
-31
-5
0
0
13
40
75
0
0
-42
54
-32
0
0
-53
-103
-21
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
-15
-43
23
0
0
27
50
-40
0
0
-87
-7
-100
0
0
-40
-79
90
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
-10
-1
0
0
0
8
3
-4
0
0
8
-27
15
0
0
22
2
-18
0
0
-109
16
-22
0
0
-55
-29
53
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
-9
-7
-18
0
0
4
-24
-30
0
0
-22
31
-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
-25
25
-5
0
0
-18
-33
22
0
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
-10
1
-11
0
0
50
1
-43
-37
-17
-52
37
21
41
5
14
-11
21
6
46
-19
33
31
-22
-23
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
3
-3
0
0
-4
-1
9
-3
5
16
19
-45
14
-4
-40
-26
145
-33
13
-6
5
40
-11
-31
88
8
-105
94
-54
0
0
0
0
0
1
1
0
0
0
2
2
0
0
0
5
18
5
0
0
1
2
-14
0
0
-4
-30
-9
2
8
-55
-45
-9
55
4
-7
79
31
13
21
-12
27
8
15
-80
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
-9
-59
0
-5
-1
14
-44
26
-16
15
-61
192
82
72
-73
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
-20
-14
-2
4
1
-11
34
32
33
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
16
9
3
0
14
5
25
-3
2
-31
-13
-7
116
47
55
-33
-42
-89
17
-46
2
54
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
0
13
7
-18
1
13
-4
17
-4
3
52
19
3
-43
-6
-5
-58
-30
15
22
-8
2
0
117
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
9
0
1
-2
1
2
-13
-15
0
2
5
0
-2
-3
-1
-3
64
-22
52
5
0
-1
53
-20
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
10
-1
10
-1
1
24
23
-6
-47
7
-1
-21
21
43
-20
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
25
3
-25
0
53
-49
27
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
-2
0
0
0
2
3
0
0
-69
-13
-6
30
-16
59
26
0
-15
19
-41
1
14
-18
57
-88
-10
42
-5
-12
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
-6
-4
-24
-5
-3
5
10
-17
59
-13
-25
19
4
-6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
-1
4
0
0
0
-1
4
0
0
0
4
-18
17
-2
-2
2
56
-17
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
-9
7
1
-20
31
-11
-25
15
0
0
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
0
-1
1
0
-3
61
5
1
0
60
40
-24
-50
0
29
-1
25
-60
0
5
-16
62
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-7
17
-3
0
0
-33
27
11
-13
0
-16
5
19
12
0
73
-18
-25
3
0
-26
-23
43
1
0
0
0
0
0
0
-1
0
0
0
0
2
1
0
0
0
-2
-1
0
0
0
-9
1
1
0
0
25
-8
-6
0
0
33
-9
-26
-7
0
-30
-44
5
19
0
-53
114
10
41
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
-13
9
-1
-1
0
-33
31
18
0
0
-24
5
-44
43
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
-33
-6
0
0
25
17
26
-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
3
0
0
0
0
-11
8
0
0
0
45
-1
1
0
0
34
-16
-13
0
0
48
28
8
0
0
-73
20
61
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
-14
-23
-2
0
0
-60
94
7
0
0
-13
-82
94
0
0
78
112
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
24
0
0
0
0
17
-3
-1
0
0
-36
11
4
0
0
36
5
2
0
0
106
34
-9
0
0
-86
65
89
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
10
-3
0
0
18
-8
15
0
0
-13
29
-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
-33
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
-1
0
0
0
0
0
9
0
0
0
-14
8
18
1
0
29
7
55
64
10
-19
35
-5
-32
-1
44
-50
40
42
109
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
-28
-4
-3
0
-25
39
-33
52
-1
62
97
80
-18
-5
109
11
156
92
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
25
-7
2
0
4
-35
-62
-2
11
-34
99
77
51
0
16
0
13
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
71
-13
-2
0
4
-5
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
14
-7
6
0
59
18
-7
51
2
-46
-22
93
-82
-24
35
13
30
101
29
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
20
-14
-6
-2
0
-11
-8
-85
-5
4
47
-44
-47
-1
0
-60
96
30
2
-7
8
-1
275
76
0
0
0
0
0
0
1
0
0
0
0
-4
-1
1
0
0
0
-13
0
0
0
-13
15
6
-3
0
-8
-10
36
19
-18
14
14
-7
-53
11
28
10
72
142
-72
0
0
-41
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
-11
-7
0
1
-25
54
36
-30
5
27
-4
6
-7
14
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
21
9
7
0
-5
14
29
14
5
-29
33
69
-20
13
22
3
44
77
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
-11
-7
-5
0
16
22
-16
1
-2
15
14
81
4
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
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
54
0
26
-10
0
-7
-25
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
-10
-20
9
0
0
22
-17
-4
6
0
187
151
18
13
0
-25
-62
126
-29
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
22
7
0
0
0
27
8
-2
0
0
28
5
16
-1
0
20
46
1
14
0
-37
139
71
4
0
13
-81
85
6
0
3
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-10
0
0
0
0
-9
-4
-6
0
0
-5
-12
-2
1
0
-1
80
29
0
0
28
-59
60
53
0
0
3
16
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
11
11
4
7
0
-43
-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
-9
10
-8
0
0
41
156
24
0
0
-15
-11
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
-3
1
-1
0
0
16
23
-8
0
0
-23
42
25
0
0
-13
-43
-15
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
-33
13
4
0
0
26
23
33
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
-10
-1
-10
0
-10
-1
58
4
2
25
7
11
-24
9
50
-48
-32
3
-10
0
5
-13
-11
-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
-24
5
0
0
2
1
-21
-8
-1
0
-19
-14
11
25
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
-1
0
0
0
-2
0
2
0
0
-1
2
-10
-1
0
-10
-1
-17
23
0
3
-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
-1
0
0
0
10
-2
0
0
-7
-2
-9
7
1
10
-21
-20
-8
-9
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
18
8
0
0
-10
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
-31
-45
15
4
10
19
17
39
15
-6
-35
-2
-100
-1
-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
11
0
0
0
0
0
0
0
0
0
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
0
0
0
2
11
-3
-14
51
-48
-50
-14
7
-34
-5
38
14
10
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
-18
10
1
-3
0
-18
-14
5
4
0
31
-53
-14
7
0
15
62
44
-14
0
0
-3
-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
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
-7
-44
6
0
0
44
24
-11
0
0
-9
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
-1
0
0
14
-2
0
0
0
15
-15
-2
0
0
-51
-2
-25
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
-20
0
0
0
-9
32
-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
-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
-1
-1
3
0
0
-4
-51
33
-5
-1
3
-8
-4
-77
12
12
-43
23
-16
62
-32
-1
21
27
-88
-15
-4
36
21
73
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
-1
49
-4
-33
-11
14
-91
25
-30
45
-26
30
-29
42
-15
-14
9
14
50
-49
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
-3
-26
1
0
0
2
-1
4
0
-21
4
9
-29
-5
-4
29
47
21
9
-7
-76
-17
28
1
19
19
-50
-66
21
0
1
0
0
0
0
1
-2
0
0
2
5
3
-1
0
-6
1
11
0
0
-4
1
-4
-2
0
-9
21
3
21
3
22
-21
5
-2
23
-90
26
2
13
-12
0
0
0
0
0
-2
0
0
0
0
-1
-3
-9
0
0
6
3
-1
0
0
-29
17
-9
1
0
-2
-13
3
4
0
-8
0
7
-5
-7
10
-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
19
5
7
2
-55
68
32
-79
-19
5
-5
7
-21
44
-73
-59
-32
44
-44
-61
17
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
-1
0
-1
-2
-29
-15
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
-15
-33
9
2
6
18
-52
6
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
2
-4
-6
-10
9
-10
-22
-8
-8
98
-93
-76
16
5
-81
-12
60
-40
-52
-11
21
-3
-17
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-1
0
0
8
-31
-3
3
-3
-11
25
-12
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
-6
-45
-1
-1
0
1
-57
-26
14
0
16
8
-18
62
0
-21
-18
-5
-6
0
-92
-1
111
-74
0
0
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
48
18
0
0
-1
-15
-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
-14
30
11
1
0
-29
11
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
23
20
0
0
0
31
-42
-20
0
0
1
1
53
0
0
-42
14
-13
0
0
-31
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-13
6
0
0
0
-4
16
10
0
0
6
14
11
0
0
-5
-23
-63
0
0
-95
35
34
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
-14
0
0
0
16
25
-3
0
0
-32
-71
-11
0
0
-91
35
19
0
0
7
12
-28
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
-65
11
-10
0
0
8
54
1
0
0
-29
-5
41
0
0
0
0
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
-35
-37
1
0
0
-52
42
-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
16
6
-6
3
0
-40
27
-45
57
13
-24
3
0
27
-44
30
-7
29
-43
6
-60
-51
11
-94
42
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
1
2
3
0
0
2
13
-5
-5
1
9
-40
27
-11
-5
-10
-5
-9
-78
-22
-20
-17
3
-34
-14
-4
39
64
53
-11
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-8
0
0
-1
-4
9
-1
0
-3
-78
-1
-24
-5
25
37
-12
49
-7
-23
74
-9
-26
26
-25
-53
2
-2
-11
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
18
-6
-18
-10
-2
0
-10
21
1
6
-93
46
-33
5
-11
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
-14
-2
8
0
-41
4
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
0
0
0
-1
-1
4
0
-2
-2
-22
-6
-26
-2
-81
-31
-30
32
-33
-33
0
-56
-51
14
-41
-49
46
144
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-14
15
-1
-54
-14
-13
-16
23
-1
41
-22
10
3
11
-5
104
6
7
0
0
18
-3
1
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
4
-2
-1
-6
3
-2
-5
9
3
-1
5
17
14
5
2
0
-6
-7
8
-41
0
0
0
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
13
0
-26
37
14
-22
5
-9
-31
5
24
-29
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
-23
1
20
0
17
-37
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
-3
0
0
-5
0
13
0
-2
-3
-7
-52
15
-9
31
6
13
6
9
-62
-59
20
-66
-46
-5
-27
7
46
74
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
19
0
-3
-4
6
-12
-3
33
17
-9
3
6
-2
-1
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
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
-79
21
4
4
-1
-33
-38
10
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
-17
22
7
-1
2
-33
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
19
1
0
0
0
-48
32
-11
-8
0
-2
-11
80
-44
0
46
-3
-6
-4
0
-75
-34
-33
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
14
2
0
0
0
63
24
-4
7
0
-18
13
56
23
0
-47
-147
-2
-17
0
-9
-39
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
8
-1
0
0
23
-10
-16
0
0
1
23
-9
2
0
-102
-78
-12
5
0
17
26
22
17
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
-16
5
5
0
44
-32
20
-3
0
-53
41
-65
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
20
8
-5
0
19
-13
-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
0
0
0
0
0
0
0
0
4
-6
0
0
0
27
33
-37
0
0
15
-3
2
0
0
-17
-1
10
0
0
-27
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
5
0
0
0
0
-27
-24
13
0
0
43
-23
28
0
0
-37
14
3
0
0
-102
73
-98
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
60
-55
0
0
0
-65
53
14
0
0
-177
-50
19
0
0
64
-43
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
30
-17
10
0
0
-13
-3
17
0
0
-98
62
-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
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
1
0
0
0
0
26
6
-44
-3
0
25
3
-32
15
-10
-84
14
109
-19
-23
85
5
12
18
45
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
11
0
0
0
26
14
-3
-1
0
-1
13
-23
1
10
-15
-31
123
30
-73
-18
-1
-43
63
29
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
-15
-6
14
-11
1
-15
-116
38
14
-2
-27
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
-11
57
-24
1
-1
3
15
-33
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
-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
41
-41
1
0
-19
6
24
60
-6
34
14
-17
-30
-33
-47
-54
27
-5
20
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
-10
-29
-1
-24
-9
-14
-51
27
42
1
18
70
17
23
-10
0
2
55
20
-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
-43
-4
0
-14
-2
14
-4
-24
14
14
10
-71
5
5
-23
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
36
4
0
3
-71
-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
-15
-4
15
44
-11
9
1
41
-66
74
-22
24
-81
-7
-35
60
-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
2
14
1
6
-1
-4
-46
44
14
-1
15
-36
-34
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
-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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
19
-55
1
0
60
18
35
-69
0
28
-45
66
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
26
-1
1
0
0
14
-7
-7
6
0
-23
56
23
-14
0
-71
-90
17
5
0
-6
9
-94
23
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
57
-1
-10
-3
0
52
-28
24
-3
0
-166
124
30
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
-18
-29
1
2
0
1
8
-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
-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
100
-2
1
0
0
67
-18
47
0
0
-103
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
-5
2
-1
0
0
13
14
1
0
0
-75
-43
69
0
0
-5
33
-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
2
0
0
0
-4
3
0
0
0
-1
51
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
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
76
45
-15
0
11
-60
72
-42
-4
61
2
19
-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
-1
0
0
33
23
0
0
-50
8
38
-9
33
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
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
-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
-13
7
9
0
0
92
-48
-47
-5
-18
-9
33
25
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
-14
-1
6
45
-16
-14
9
-34
-66
69
56
13
-1
2
71
-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
4
1
4
-1
0
-6
-7
-5
1
1
-1
-19
33
-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
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
-55
59
-7
-15
-18
0
-27
87
-5
0
0
0
0
0
0
0
0
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
-3
1
0
-24
-17
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
-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
20
9
-7
1
0
2
-26
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
11
-7
0
0
0
5
26
-25
-1
0
-58
1
73
-3
0
-2
-21
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
1
-2
0
0
0
-2
2
21
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
-6
-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
4
0
0
0
94
-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
10
-18
61
33
-23
68
-5
9
1
71
-33
-25
56
-22
-67
-35
20
-10
23
-13
2
19
-14
23
-29
0
2
-2
2
-104
-56
-6
2
-10
0
0
0
0
0
19
72
-9
13
-11
-24
42
-56
-4
-22
-35
72
11
-57
7
53
28
22
18
26
-13
-5
-41
-13
-17
26
-24
-6
19
5
31
-30
-19
-4
-3
-79
-61
5
-5
13
5
37
5
2
0
-9
-52
2
14
6
-57
35
3
-9
-14
-5
-4
-42
-9
46
1
-12
15
-24
99
19
14
-47
-22
-4
50
-30
-1
29
12
-89
-95
-25
-10
1
-6
24
5
-8
-17
-48
-30
5
1
2
4
-53
-42
24
32
48
-7
-8
50
-11
34
-15
-6
53
-32
24
-23
51
-20
50
-76
23
20
52
13
-27
-10
-1
12
12
27
4
-4
-3
-11
0
0
0
0
0
15
-48
-6
0
1
-44
43
-63
36
42
-21
-10
-5
17
-8
-45
-1
-20
34
13
-77
2
-3
-3
39
-59
-27
16
-53
11
24
1
-3
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-31
-20
37
43
48
-12
34
-9
-19
-87
15
70
-74
-3
-58
43
-25
64
-6
-5
-2
16
-8
-12
-50
-44
-44
4
14
-74
-12
-59
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
24
2
36
-13
-4
12
1
45
-68
46
-60
30
22
5
-27
-52
-21
4
-26
23
-62
-34
0
-24
13
16
-40
-6
6
-3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
8
-4
30
-6
7
25
44
0
-9
-58
69
-12
-10
-26
-71
-32
28
-44
50
-51
-9
-10
42
-2
10
0
-20
19
32
45
-75
-27
-102
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
-16
3
3
24
-40
22
5
12
-19
-12
5
-1
5
2
12
10
-21
18
-27
13
-43
7
-23
12
-12
-16
-7
0
-6
-6
6
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-5
10
23
0
-3
4
11
27
0
32
82
-32
56
0
-76
-28
-38
38
0
-8
-2
-5
-38
0
4
23
14
30
0
32
10
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
6
-16
1
-1
0
-30
1
-44
6
0
12
57
-43
-9
0
12
17
-15
4
0
16
-17
-11
57
0
-25
22
18
7
0
-17
-16
6
10
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
0
0
36
-29
23
0
0
-44
24
25
0
0
49
5
13
0
0
-9
-3
23
0
0
13
15
8
0
0
27
7
-20
0
0
0
0
0
0
0
-51
-80
16
0
0
26
2
-4
0
0
30
18
-12
0
0
-41
-29
28
0
0
10
-5
53
0
0
28
-7
-5
0
0
22
-7
-8
0
0
-12
-1
-11
0
0
0
24
-8
0
0
-15
23
-13
0
0
-32
53
-1
0
0
-27
-15
-5
0
0
-13
23
45
0
0
-45
22
-27
0
0
37
7
-4
0
0
-6
3
-21
0
0
19
-10
4
0
0
-28
7
-1
0
0
-42
-6
3
0
0
-21
-31
5
0
0
-31
0
16
0
0
-67
79
9
0
0
-47
-41
-15
0
0
-18
-7
-11
0
0
20
-1
12
0
0
0
0
0
0
0
-11
-31
0
0
0
49
-71
-6
0
0
6
5
22
0
0
-31
2
19
0
0
-60
40
42
0
0
24
-5
-9
0
0
2
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
-28
19
-18
-37
2
-17
37
16
2
19
26
0
2
8
9
-27
-35
10
21
-1
-1
0
-46
9
13
14
2
19
-69
14
5
-2
-6
0
0
0
0
0
-33
2
5
-87
50
7
-19
42
19
47
-46
-24
-40
21
-6
-82
-43
-19
36
74
-100
-2
-23
-15
-7
14
6
-8
-4
35
-18
3
-1
2
12
22
-3
12
-16
-32
19
44
3
0
-1
-3
12
5
-18
10
-34
5
7
-19
10
12
19
-63
20
-24
-44
-26
29
62
-11
-109
-4
23
4
12
21
4
27
-6
21
-5
-14
1
-4
-3
16
3
-1
-5
3
29
7
-27
-9
-2
-14
-39
23
15
-27
-28
-13
30
25
14
14
15
-8
-10
-40
4
-38
51
-16
-40
60
-36
-24
12
2
-12
18
3
12
-19
23
22
-1
15
16
0
0
0
0
0
-15
-1
22
-7
0
-16
67
7
12
-13
36
-29
9
-13
-14
18
-21
-17
34
13
-24
-10
10
-15
31
-43
-6
-14
-31
-15
16
14
4
-1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
18
27
50
-48
-38
3
-23
14
-1
34
5
1
75
-14
13
-47
-2
-58
-1
26
-10
-1
-25
20
17
7
-6
9
15
-1
32
7
5
-9
0
0
0
0
0
23
-18
32
18
11
-5
-4
-76
49
1
1
5
3
-30
-3
41
-18
11
-23
-53
-33
25
-31
-27
4
23
17
-26
5
49
-24
-100
-18
1
-14
-35
2
-20
-6
-49
-23
53
-53
-38
1
-19
-40
2
-17
-27
-35
28
6
-8
33
84
14
5
-26
-16
57
17
39
-57
33
44
12
16
-7
15
-3
45
-20
0
25
-16
-27
-11
-12
-12
-25
-5
-2
1
-11
-46
-20
-69
-1
0
-31
7
62
30
7
74
68
-19
32
-24
-37
18
46
-20
6
34
-21
-38
3
-9
-5
-17
-1
-23
-17
-13
3
-14
13
18
-15
-6
-4
-7
-7
0
0
0
0
0
47
5
19
-25
0
17
-32
47
80
9
-2
16
-49
26
-20
-15
18
10
14
-5
74
70
-7
37
45
55
-17
-32
-34
-2
-18
13
4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-21
-8
-5
20
0
-1
-2
-38
22
-50
56
15
74
35
-22
-16
-5
-16
-15
7
10
1
-5
15
26
7
4
13
-15
16
5
-34
-8
13
0
0
0
0
0
-27
-14
41
-4
-5
16
26
-22
19
16
-21
26
1
-18
-9
-15
13
-15
24
5
25
3
-40
5
-29
-6
-13
8
4
-1
-1
-3
3
2
13
22
14
-37
-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
0
0
0
0
0
-89
33
-16
-1
-3
-7
-52
-20
52
10
23
14
-19
-42
5
4
32
-28
3
-15
11
20
27
82
22
-7
-9
-43
-17
5
-12
8
-21
-36
-14
4
-2
6
4
5
0
0
0
0
0
-57
24
74
19
0
2
-9
-46
13
7
22
-3
-5
-2
-6
8
6
-44
5
9
30
-3
12
-31
-14
-53
3
14
-3
-4
55
-9
6
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-8
21
-19
0
-1
-49
23
2
0
-1
17
-56
-5
0
35
7
2
-62
0
-26
0
-1
-1
0
1
5
11
13
0
21
17
26
15
0
0
0
0
0
0
4
11
-2
-19
0
-21
70
28
-8
0
-32
-25
80
0
0
32
-53
61
31
0
29
18
42
7
0
3
37
-12
14
0
-17
8
-3
-10
0
-15
3
13
11
0
-5
-11
5
0
0
-61
26
13
11
0
-61
-21
-16
-5
0
-72
-30
-14
33
0
-31
4
-19
20
0
-4
35
12
1
0
7
-15
4
24
0
-11
3
-2
-21
0
42
-25
-20
-4
0
-30
53
16
-2
0
-73
-52
20
-4
0
-91
-14
-35
5
0
20
-24
-7
-5
0
-8
18
36
95
0
-12
-9
-23
8
0
-7
1
-6
-41
0
-2
-5
-2
9
0
0
0
0
0
0
-33
-2
-10
0
0
-6
-35
33
-3
0
24
5
-13
4
0
7
-36
6
6
0
12
57
-64
14
0
8
-2
7
10
0
48
2
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-23
21
0
0
7
11
-27
0
0
14
15
57
0
0
-24
44
-44
0
0
28
25
51
0
0
2
3
8
0
0
-2
40
-18
0
0
0
0
0
0
0
22
38
-27
0
0
-5
-33
25
0
0
35
-62
-2
0
0
38
47
-16
0
0
16
-1
-44
0
0
-5
3
-3
0
0
3
9
13
0
0
0
8
-5
0
0
-16
6
3
0
0
5
22
33
0
0
-3
5
1
0
0
-33
-19
2
0
0
-31
4
-2
0
0
2
8
7
0
0
-7
12
35
0
0
3
16
15
0
0
9
10
9
0
0
33
24
0
0
0
-2
6
-22
0
0
2
31
0
0
0
48
3
-14
0
0
-13
4
5
0
0
-1
14
-19
0
0
-4
-3
9
0
0
4
11
16
0
0
0
0
0
0
0
15
14
0
0
0
-22
23
-2
0
0
48
-8
-5
0
0
-42
1
-4
0
0
29
-13
-67
0
0
1
-10
13
0
0
-1
-16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-49
-17
-26
3
3
-33
-25
-5
-14
-43
10
8
10
27
-14
-24
11
25
-38
-14
9
-2
9
18
14
18
28
-6
15
21
21
-3
10
-11
0
0
0
0
0
45
-72
-46
31
14
9
-27
3
21
-6
5
-26
47
-4
5
-12
-33
-21
-14
34
43
-33
-33
23
14
20
6
4
-4
-32
-5
25
12
14
6
64
13
1
-6
-28
-7
-51
56
-4
0
-20
-86
-13
-38
17
10
2
-29
25
1
-13
-24
-48
-9
31
42
-98
-1
-47
48
-16
-6
-21
9
-67
8
40
-4
4
10
15
5
13
14
-23
47
-50
4
27
-15
42
-22
-24
-1
0
-32
84
-33
57
-3
83
21
-25
-17
0
-4
-42
6
14
14
94
-6
51
-98
-32
14
-53
6
34
-11
17
2
-7
-11
-4
15
46
7
33
5
0
0
0
0
0
-11
-44
-17
0
0
52
-8
-1
0
0
43
36
-7
7
0
-16
-49
-23
-30
-1
63
21
-33
-70
34
-14
13
18
-11
-20
17
-18
3
50
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
14
-16
-33
3
25
-30
30
38
18
20
24
-34
95
25
5
12
-44
-88
20
-3
38
22
6
-25
11
20
25
17
9
69
17
19
7
3
0
0
0
0
0
15
38
14
-18
-37
4
-10
26
-22
-36
4
-13
-7
-24
55
-5
12
14
-23
20
-3
10
-33
22
31
5
17
13
18
-2
42
3
13
-3
6
-1
16
5
13
3
39
30
-11
11
10
50
0
-19
5
30
-8
-34
40
12
-19
-23
37
-14
16
7
-1
-39
-26
31
-26
-25
1
23
7
-6
15
-5
8
15
7
10
-6
-3
1
10
8
0
9
0
2
19
6
-43
-11
-9
33
13
-81
-44
21
1
-3
11
75
10
23
-52
29
5
10
-41
31
-9
20
38
5
3
16
9
17
0
13
0
7
-21
-5
0
12
7
28
0
0
0
0
0
6
51
-9
8
0
27
-49
-87
-31
21
-33
4
34
66
0
45
-40
-13
-74
10
0
-7
10
-28
-17
37
25
-2
25
1
-50
2
3
18
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
20
22
7
-26
32
18
-2
11
67
22
75
-18
6
-7
39
42
-42
-49
41
16
22
5
-6
4
-4
10
15
11
48
26
1
23
-8
0
0
0
0
0
17
-13
-3
-8
1
26
-7
-11
6
1
-8
9
-3
63
4
22
-2
24
7
71
-2
6
73
0
22
6
13
23
7
6
-1
14
-2
10
4
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-16
-25
29
6
-5
9
17
-1
36
-22
-18
47
8
-15
-11
3
-14
8
23
27
15
9
-49
-30
24
8
1
-18
15
-3
-1
0
0
-16
1
-2
3
14
10
0
0
0
0
0
61
48
-29
1
0
-6
-61
13
6
-6
-3
10
-63
47
2
16
-17
72
-28
1
-7
49
35
33
-64
-43
-2
62
8
11
57
6
-8
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
76
-16
2
0
-7
19
-51
3
0
28
68
15
48
0
22
62
-3
-5
0
25
7
21
63
0
-19
5
30
21
0
64
35
-2
-5
0
0
0
0
0
0
22
23
-15
5
0
32
18
30
-27
0
4
-7
31
-14
0
-1
25
21
38
0
-2
3
3
-14
0
-20
6
34
-11
0
2
44
8
26
0
-1
2
13
-2
0
61
4
-26
-7
0
-3
-25
-35
-5
0
39
-8
-1
20
0
4
45
6
-28
0
-7
-52
13
94
0
-10
-11
27
-3
0
-9
7
10
7
0
0
23
-1
11
0
-1
-21
4
0
0
49
12
16
1
0
18
51
-10
0
0
-9
26
6
41
0
-31
8
68
-7
0
-7
9
62
-21
0
11
9
0
16
0
-2
2
0
10
0
20
15
7
8
0
0
0
0
0
0
1
-9
-5
0
0
26
7
-12
0
0
-5
25
-4
0
0
-42
0
17
-9
0
18
86
64
8
0
-42
-63
-42
23
0
21
-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
24
0
2
0
0
18
56
18
0
0
83
-1
-12
0
0
-78
52
37
0
0
22
34
-7
0
0
-4
-13
5
0
0
-1
1
-6
0
0
0
0
0
0
0
35
17
14
0
0
17
57
2
0
0
-19
12
14
0
0
74
-17
34
0
0
-32
-21
60
0
0
-3
7
13
0
0
9
30
-18
0
0
25
0
16
0
0
-5
-7
0
0
0
99
-20
-1
0
0
-51
26
0
0
0
121
35
1
0
0
13
-19
55
0
0
31
30
-54
0
0
2
-25
-27
0
0
-2
-4
25
0
0
11
79
-5
0
0
-23
-5
0
0
0
14
-30
0
0
0
57
-17
-2
0
0
-46
0
14
0
0
-1
27
-1
0
0
17
47
21
0
0
2
3
-8
0
0
5
79
-5
0
0
0
0
0
0
0
3
-2
0
0
0
-13
-34
0
0
0
-31
23
1
0
0
47
18
-2
0
0
35
43
-25
0
0
-1
-27
-17
0
0
3
15
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
-3
-26
0
-58
-76
68
-11
-17
-49
40
12
-13
-31
38
-36
-37
-27
16
11
28
-35
6
-40
-41
3
68
5
-21
-72
-25
-22
24
72
0
0
0
0
0
-4
0
-6
-5
0
-5
-2
10
-32
1
31
-36
35
-16
0
-14
5
79
4
6
14
-5
-23
3
-41
44
-12
-24
44
-23
-69
-56
0
8
2
-172
-60
69
3
14
-2
0
-1
0
0
2
-26
-4
80
0
-18
-8
46
47
-2
-18
40
27
31
-23
13
122
-7
25
-46
30
2
15
-57
-19
-1
-20
10
-49
77
-104
-51
-45
-8
10
-72
2
17
52
-6
-43
27
1
39
-2
-1
-39
2
103
-3
22
-44
19
-23
-6
11
69
87
48
-20
-17
5
-28
67
86
0
88
-39
-12
-43
1
13
-6
6
53
-40
-46
19
-47
17
0
0
0
0
0
-9
39
-61
3
0
-9
17
0
-2
13
-13
-30
18
74
0
-5
-23
-23
-20
2
38
-48
41
17
-7
-55
-7
43
38
-53
14
7
16
-35
-31
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
-26
-24
-38
-40
27
-36
-68
-14
29
2
41
-73
8
-4
-11
0
13
3
-7
10
-44
-52
22
49
-26
-109
-24
-72
-15
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
-9
0
1
2
-6
9
9
0
0
1
3
0
0
0
-5
-14
0
0
-1
0
-4
-25
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
11
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
-14
5
-1
1
-45
-9
60
-10
-8
7
-5
-17
-2
1
0
0
0
0
0
-70
52
-21
-2
-2
23
-2
51
21
-3
25
-75
11
-40
-3
-89
16
-10
38
9
1
53
69
-30
17
19
35
-13
-10
-62
-20
-74
-8
7
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
1
-23
-9
-16
-10
-10
-59
-4
39
45
3
-33
-23
1
-7
30
90
1
-5
-12
-15
-53
-78
14
63
20
-78
-3
-15
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
0
0
-4
2
-34
0
0
-17
-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
46
-14
-1
-1
1
33
5
-30
16
0
15
-49
-7
0
-5
-30
19
20
-36
5
-35
40
2
-14
15
-24
-57
2
15
24
5
97
-12
-32
-29
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
-43
10
-4
-3
0
55
5
-16
1
0
-98
-7
16
29
0
-1
-5
29
-33
0
-28
-98
11
16
0
-43
5
12
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-13
-1
0
0
0
3
1
0
0
-4
0
2
0
-1
0
1
-4
0
0
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
0
1
0
0
2
1
0
0
0
1
0
0
0
0
0
-3
0
0
0
-20
17
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
-27
-48
76
38
0
21
36
5
-1
0
19
-63
30
5
0
-78
-49
-63
33
0
27
45
-23
-16
0
55
72
-20
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
-2
0
0
-70
-6
0
0
0
-7
27
-29
0
0
-46
-3
24
0
0
-32
-13
23
0
0
55
-21
-29
0
0
-23
34
50
0
0
0
0
0
0
0
0
-1
-2
0
0
-65
-25
-4
0
0
-74
-82
-10
0
0
-55
11
11
0
0
-27
1
-74
0
0
-3
-12
-28
0
0
22
19
60
0
0
-9
31
14
0
0
0
0
0
0
0
5
-2
0
0
0
-21
-19
0
0
0
-23
4
2
0
0
-30
35
38
0
0
-3
-62
6
0
0
15
54
0
0
0
-7
30
-14
0
0
24
-3
-52
0
0
-3
5
-1
0
0
-7
6
36
0
0
10
16
-8
0
0
-46
-35
15
0
0
-11
46
-28
0
0
-62
26
-48
0
0
12
-41
21
0
0
29
-25
-6
0
0
0
0
0
0
0
1
0
0
0
0
-11
30
-1
0
0
-25
-28
-2
0
0
44
-28
-4
0
0
-34
-54
14
0
0
-32
32
-4
0
0
31
-2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
15
-1
16
-9
-45
11
-7
-23
-76
-20
3
69
-9
-23
-75
-12
3
26
-7
-34
-14
0
18
1
-27
7
18
40
11
-17
19
-9
-28
-25
0
0
0
0
0
-72
19
36
7
-16
30
10
2
-33
0
42
-19
-17
44
-45
-43
-1
-14
7
5
8
-8
-6
44
7
9
7
-2
18
-32
-55
-31
-35
-18
17
-101
-54
-21
-19
-7
-31
6
-23
59
-4
-70
21
52
32
9
-56
76
-24
4
-5
1
45
0
18
19
-1
-18
-5
-11
22
-71
-10
22
-53
-8
-5
-29
7
-4
7
-74
-72
-54
20
-20
-24
13
20
-8
15
-53
-12
34
5
-1
25
67
-40
-26
-1
-59
90
26
-25
-32
21
4
-8
-33
5
-13
100
-31
40
29
8
-84
4
10
28
2
-24
9
23
-25
-36
-5
-2
2
12
0
0
0
0
0
-52
11
18
-6
-3
131
0
25
30
-68
-9
38
-40
-23
41
-23
44
16
-25
34
-36
49
-18
65
-14
-16
-2
-11
22
18
31
-18
14
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-35
-50
-28
6
-32
-17
-58
20
-63
-15
-23
-6
-36
-5
-27
-33
-13
-34
0
-41
9
-5
-4
-2
-51
-80
8
3
-13
-145
-41
-42
16
-44
0
0
0
0
0
0
0
0
0
0
4
2
-3
-3
0
-7
-14
-21
-54
11
-63
-45
-15
49
-21
-37
-42
61
19
-14
1
74
-6
21
8
-105
-102
-105
-41
16
21
-51
-25
-38
-10
0
-2
0
0
0
-1
0
0
0
-2
1
14
1
23
0
4
-7
20
25
-11
22
42
-30
-13
35
30
5
-1
-88
-16
-65
13
-9
5
-63
-123
-86
21
-59
-30
-78
-8
-64
31
-1
6
0
0
-3
0
3
-2
-6
-5
0
-14
6
-30
2
0
27
44
-39
-4
-2
50
66
33
-55
3
-75
6
15
37
-13
-44
-16
-59
22
-6
-101
-148
-23
-78
-14
0
0
0
0
0
-70
14
-22
23
-2
83
-8
51
-5
23
21
38
-107
68
26
89
-35
54
11
-24
-20
-13
22
15
45
-77
11
27
4
43
13
-19
4
-14
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-50
27
-32
16
-74
-79
37
-53
-17
-7
-140
-22
-6
33
-19
2
-13
-8
-45
15
0
10
41
19
-27
23
-41
21
9
-113
40
12
-130
10
0
0
0
0
0
0
0
0
0
0
0
-2
2
9
-1
-45
-18
-6
-14
9
-35
-78
-14
9
-10
-14
44
-57
11
-25
58
4
75
-74
39
77
-93
-95
-21
-40
-15
-4
-19
-35
-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
-3
0
0
0
-1
0
2
0
0
-2
7
-4
-2
0
0
11
-13
-15
0
5
-22
2
19
-4
18
6
-22
-38
-4
-5
5
-4
-1
-4
-7
-35
-30
-43
33
0
0
0
0
0
78
26
-15
-21
-7
-26
13
6
36
28
-39
19
38
4
4
20
-7
-8
1
-22
6
10
5
48
16
-23
-30
-9
-44
-1
-9
28
4
6
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-33
-5
9
0
51
-14
-17
-44
0
-62
4
88
-25
0
-32
-25
-9
-26
0
4
-9
-2
2
0
-6
22
-2
31
0
4
-69
-45
-38
0
0
0
0
0
0
0
0
0
0
0
-4
1
-20
-4
0
-13
-2
4
3
0
-29
37
16
-6
0
-6
-36
-27
-62
0
-7
-64
4
-36
0
-59
-91
53
26
0
50
21
-88
-2
0
0
0
-3
0
0
-4
2
0
-1
0
2
1
8
8
0
-87
25
-5
5
0
-8
-5
-31
-5
0
14
-82
-25
14
0
28
59
-11
19
0
10
61
-48
-38
0
11
-18
45
-60
0
-4
0
3
1
0
-1
-7
6
8
0
6
7
-9
-3
0
-43
11
-5
-3
0
-74
-15
-45
20
0
-47
-17
-14
-34
0
9
-34
44
-23
0
75
32
34
-5
0
0
0
0
0
0
59
-20
5
-2
0
-19
53
85
-57
0
3
-56
1
32
0
-33
81
-33
-23
0
14
-5
2
62
0
-20
-25
40
-8
0
-21
1
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
24
39
0
0
42
6
27
0
0
-5
-52
-66
0
0
-4
-47
-8
0
0
-10
13
-22
0
0
-20
-5
0
0
0
19
23
-22
0
0
0
0
0
0
0
1
20
-14
0
0
-18
-59
16
0
0
8
41
6
0
0
10
-30
-52
0
0
-22
1
35
0
0
-24
17
4
0
0
-18
-12
-1
0
0
5
-9
-7
0
0
-1
1
-2
0
0
-34
6
-11
0
0
35
21
-21
0
0
23
-7
24
0
0
40
-13
-33
0
0
-57
-4
11
0
0
67
-6
46
0
0
-1
-15
-9
0
0
-24
1
-22
0
0
-2
21
0
0
0
1
69
-23
0
0
-12
5
-31
0
0
-59
6
-45
0
0
18
-30
66
0
0
62
10
25
0
0
-1
15
6
0
0
-26
-21
-6
0
0
0
0
0
0
0
-15
71
-6
0
0
-33
56
2
0
0
24
53
16
0
0
-48
-15
8
0
0
50
17
64
0
0
31
-37
-15
0
0
-8
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-3
39
-9
-2
50
-16
21
-15
15
-37
27
-32
-4
-2
-16
-19
13
-3
-83
-9
5
5
-3
-2
-15
10
2
5
1
-47
-19
4
-35
-9
0
0
0
0
0
30
-28
83
-14
12
-15
86
-52
5
11
-28
36
54
-43
-11
-38
-8
-14
0
4
5
-24
-3
-6
-12
48
4
26
22
-20
-18
-7
-14
24
-11
-31
-1
-6
3
1
-4
100
-28
20
-1
-7
62
149
-89
-11
61
0
28
-14
3
40
4
-14
-24
-16
3
2
-10
-35
23
15
-32
39
2
-82
-4
-1
-2
2
13
-5
-12
-5
-17
22
-40
14
1
32
-1
-38
-53
9
6
2
26
41
-65
-11
24
-9
24
52
27
-13
-25
-85
10
6
34
-29
-4
-2
49
-14
-47
-35
3
0
31
0
-10
13
-3
37
1
9
-4
3
-6
0
0
0
0
0
10
-38
-30
-7
-1
26
-61
-12
-10
-26
65
53
-41
-32
-13
10
-5
67
65
-10
17
40
15
15
-27
10
-8
-22
1
-4
-21
6
-5
-10
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-14
-19
-23
-3
-17
-42
-56
-20
-76
-44
57
18
111
-23
43
-53
-10
-31
-33
25
1
-10
-10
36
-41
-1
-7
20
-17
-86
-54
-19
-10
-13
0
0
0
0
0
-22
73
25
23
-9
-82
13
18
-10
-7
-42
16
72
35
-24
14
3
31
7
11
-58
46
-3
-6
15
17
-12
-7
-10
-28
-17
-155
-79
-13
-3
-28
-127
-49
-17
-11
-3
-77
15
4
-5
-32
9
4
5
-1
-83
93
-63
13
-11
-4
19
-17
11
-5
-86
83
8
-22
-17
22
-43
-25
-6
34
-58
-67
11
5
17
-46
-70
-22
12
12
8
78
4
27
16
-80
16
-13
-22
1
-19
-102
-10
46
10
-30
0
-25
-62
-3
-10
54
18
-26
-23
14
0
20
-29
-13
-46
24
-5
18
18
1
-6
-43
20
25
-11
-22
4
3
19
0
0
0
0
0
29
-16
28
-10
0
-27
58
-23
14
-3
95
-4
13
-23
14
38
22
19
40
-17
-6
-62
15
39
-2
-34
45
-9
-5
-43
24
-20
13
-10
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
142
-43
-24
8
-17
8
-24
48
0
12
-139
-7
-29
49
-5
-11
-6
-14
-11
21
0
6
24
17
31
10
-17
-19
9
-133
-55
-33
-39
-22
0
0
0
0
0
-19
21
25
-33
4
-60
-4
-17
5
-3
-28
44
-87
-57
-18
-49
-28
-24
27
-22
54
-61
-35
-15
-4
-49
23
1
-13
-16
24
-48
-63
-35
-20
-60
-56
-7
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
0
0
0
0
0
0
38
-7
-15
-11
-3
84
19
-45
5
0
-53
43
25
4
9
98
14
-51
31
-10
-79
40
-3
63
-19
-69
-103
-31
71
-7
-13
-14
-1
-13
49
-7
-7
-11
-23
-11
0
0
0
0
0
23
38
14
-1
0
-10
17
55
-5
16
9
45
-26
-5
-10
-6
-51
35
-12
-26
-2
10
38
28
40
36
13
-18
7
-4
12
-14
-3
14
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
74
-7
-6
0
-16
-9
-15
6
0
-31
-3
-67
-25
0
-45
-18
66
-34
0
-1
-5
-15
8
0
-5
6
-3
1
0
1
3
20
0
0
0
0
0
0
0
-26
-56
1
-2
0
3
-6
-51
-6
0
-42
-19
-87
28
0
-15
-53
-5
-57
0
-26
-32
-16
-64
0
-13
11
-56
3
0
-70
-23
14
40
0
14
5
5
2
0
34
10
1
1
0
22
5
30
-14
0
42
-2
-36
-31
0
-21
-14
-27
-9
0
13
50
-12
-9
0
-42
1
-20
5
0
33
-20
-5
-2
0
-27
0
11
-1
0
-5
16
18
-38
0
50
-19
-14
5
0
-36
-9
25
-13
0
-6
-37
32
-17
0
103
-2
-33
-31
0
-33
11
-23
-2
0
-48
-6
-27
24
0
-21
4
-3
38
0
-23
7
12
-9
0
0
0
0
0
0
-18
37
-1
-1
0
72
-56
19
-13
0
-24
-13
16
-44
0
-17
-47
25
-58
0
30
31
-6
-14
0
-30
2
57
44
0
36
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
-4
-5
4
0
0
43
0
-15
0
0
17
47
-7
0
0
-5
-7
-23
0
0
-5
-19
0
0
0
3
6
24
0
0
15
-27
-5
0
0
0
0
0
0
0
12
0
16
0
0
-53
85
5
0
0
-9
9
-24
0
0
26
14
-7
0
0
5
-1
14
0
0
6
-11
-34
0
0
-4
-25
-14
0
0
-7
3
2
0
0
-1
0
0
0
0
-14
-15
7
0
0
-8
5
-9
0
0
39
-30
-44
0
0
-17
-4
0
0
0
-17
1
68
0
0
9
-20
43
0
0
49
0
-15
0
0
34
84
-8
0
0
-4
67
0
0
0
5
8
4
0
0
-2
-14
-3
0
0
14
49
-34
0
0
47
-9
-4
0
0
-51
-5
14
0
0
-9
12
4
0
0
-11
-7
2
0
0
0
0
0
0
0
72
20
1
0
0
95
-7
-1
0
0
-3
57
22
0
0
-15
-34
-60
0
0
18
15
-14
0
0
-28
4
77
0
0
62
9
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
-1
0
-120
-18
15
67
5
-70
-10
5
-9
-5
-24
29
3
-25
-10
46
-7
-7
29
9
78
7
-1
12
7
13
42
42
-23
-22
0
0
0
0
0
-6
57
71
-7
0
4
19
75
3
0
69
13
14
-53
-11
-25
-38
9
0
21
-34
-3
-5
-44
5
-11
1
16
-6
-3
11
11
-10
41
-10
23
5
-2
4
72
13
-41
0
0
0
165
-25
-58
-5
4
7
94
-62
-8
0
110
-101
36
7
11
-43
-18
94
-40
-47
53
-18
-18
-41
14
-16
34
-7
41
-70
-9
8
7
14
77
23
-70
32
82
41
18
-28
-24
-16
0
-26
-93
82
-5
-3
-59
33
153
-10
1
-42
-57
10
-23
-17
44
-1
-32
72
23
22
7
-45
34
40
18
3
16
18
28
-2
41
-19
-35
24
0
0
0
0
0
98
18
-17
0
0
-79
17
7
0
0
57
-35
-44
-24
-1
-19
78
-38
31
1
71
24
72
0
-51
-49
-21
9
0
9
-4
33
21
12
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-123
68
23
-14
1
-54
70
2
-5
30
79
-7
-39
36
32
37
-40
-9
-38
4
52
-39
-27
21
-8
-2
25
20
26
-10
30
16
16
-3
-25
0
0
0
0
0
7
-74
-23
-14
3
-10
23
-35
10
41
-52
25
8
-25
4
-38
6
1
23
15
-14
-12
-18
12
-67
14
19
4
-24
-28
-51
-69
-8
-9
-14
16
-2
-20
-16
-33
34
35
38
4
1
14
-38
-23
22
0
65
-66
61
-34
13
-29
42
12
-34
-15
-28
3
36
2
24
-44
-50
6
-14
59
25
-21
1
-7
10
8
2
-14
7
-13
-134
14
12
4
-1
49
-40
9
19
-4
71
1
-35
38
-8
-39
15
69
-48
-33
-24
-35
-42
13
24
-6
-3
-26
-22
22
-32
9
-12
-4
19
31
-2
-8
-29
33
23
4
7
-4
-14
0
0
0
0
0
54
-14
-15
-1
0
4
-3
36
-23
-2
53
-74
-21
-60
-1
7
-88
-61
-18
10
-40
49
49
4
16
-155
79
-60
15
43
25
57
15
51
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
34
-14
3
0
42
-129
-7
12
26
-26
47
-14
6
-20
102
-4
-38
4
-57
1
-8
7
-2
29
82
8
-26
20
13
18
-16
12
26
-31
0
0
0
0
0
31
-9
-31
0
1
-5
-26
52
-67
-2
14
-42
17
-31
-2
-31
-71
-29
48
31
-23
-43
-40
-13
-31
-68
-20
-4
13
-65
-8
-54
9
-12
5
-117
15
-17
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
-29
65
17
-3
1
-41
22
70
26
-1
-25
55
-63
14
1
-61
-33
-4
-12
-29
-28
1
36
15
-14
-14
-84
21
-21
14
40
-17
-31
13
12
-97
23
13
17
-5
0
0
0
0
0
-23
-12
44
0
1
-1
13
28
-14
0
-4
19
16
-23
0
-41
18
-9
-18
9
53
8
-33
46
-1
3
-11
-47
-4
17
-6
67
18
59
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-14
0
0
0
8
3
23
0
0
3
-28
5
-27
0
8
14
-51
25
0
-3
-19
-4
24
0
2
3
-8
-22
0
64
29
-2
17
0
0
0
0
0
0
25
-6
31
8
0
32
-51
-48
15
0
-91
-48
65
64
0
32
-14
-31
-8
0
-13
-20
-19
10
0
10
8
-11
-34
0
-11
6
-16
-5
0
-11
20
2
7
0
-32
-7
-28
0
0
28
-1
-42
-23
0
-43
45
-15
7
0
32
-67
98
-51
0
3
5
-1
-19
0
-8
12
-50
-6
0
-8
-12
15
40
0
-6
3
-4
21
0
-44
-32
29
17
0
4
-17
23
0
0
36
-12
-18
-38
0
21
-2
1
-5
0
-4
-41
8
-3
0
-40
2
-38
12
0
-19
-14
-43
10
0
-15
12
25
8
0
-24
19
-10
-29
0
0
0
0
0
0
8
-23
-5
0
0
5
17
14
-3
0
30
-5
-5
-1
0
-23
14
23
-5
0
-12
-23
59
-24
0
0
7
-24
25
0
-13
-28
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
-4
0
0
-7
-14
-1
0
0
76
32
18
0
0
-35
-27
-22
0
0
8
-58
-16
0
0
-33
16
-19
0
0
11
46
42
0
0
0
0
0
0
0
-22
2
0
0
0
36
2
-3
0
0
23
-5
10
0
0
7
-16
-6
0
0
4
-86
-77
0
0
35
-12
1
0
0
15
-38
1
0
0
-69
27
14
0
0
0
0
0
0
0
38
-2
0
0
0
-26
-21
2
0
0
-74
-18
-5
0
0
43
53
-23
0
0
-50
30
31
0
0
22
29
49
0
0
-74
1
49
0
0
0
18
-17
0
0
14
-5
0
0
0
2
1
0
0
0
-15
-19
0
0
0
42
50
9
0
0
0
13
-29
0
0
-70
-42
-23
0
0
72
14
41
0
0
-43
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
0
0
0
-10
11
-2
0
0
-22
-1
-41
0
0
-10
74
25
0
0
1
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
14
19
-2
-1
0
122
-2
-36
1
0
29
-34
-15
-31
-2
26
20
17
50
-6
125
-2
32
13
20
20
99
7
-42
10
0
0
0
0
0
-6
0
0
0
0
5
-16
0
0
0
0
-110
33
0
-1
-29
12
9
5
1
47
-4
8
-59
12
14
5
-5
81
14
-5
46
25
-22
-26
137
54
11
-37
84
0
0
0
0
0
35
-6
0
0
0
44
-58
0
0
0
5
-43
-1
0
0
-29
104
-66
34
0
-27
47
-17
-13
0
14
100
21
-33
1
54
16
59
-31
-64
80
-31
-24
2
4
-2
50
0
0
0
-23
-1
-1
0
0
9
-21
0
0
0
34
18
-79
0
-1
0
-47
6
-6
0
14
-77
22
-31
65
-13
-3
63
-1
-13
-96
107
1
6
-74
0
0
0
0
0
33
-1
0
0
0
53
0
0
0
0
0
2
0
0
0
0
1
-2
0
0
14
-16
10
1
2
-6
27
55
18
0
8
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
1
-1
-21
0
0
3
-55
59
-7
5
-15
-17
74
-79
-32
-15
49
-2
52
-17
-51
38
11
23
13
123
55
67
-10
39
0
0
0
0
0
-44
24
-5
0
0
-4
-9
-2
-1
-2
-14
97
-61
16
-25
-24
12
-51
50
-3
7
-27
26
-46
-62
-4
-42
-45
-26
-14
49
5
32
13
16
3
26
10
-14
22
-33
-51
0
0
0
52
34
20
-5
-3
86
-51
-35
15
-2
-4
-13
-40
25
4
-3
-50
108
28
48
-51
35
-4
-16
48
22
9
23
27
-3
32
25
-9
-16
2
57
-8
57
39
-3
46
64
6
-5
0
24
80
21
-42
0
-63
-54
32
-2
-1
14
-61
23
-14
-14
-3
3
-24
67
-60
19
5
-74
-22
-5
47
63
24
0
7
93
4
1
-1
23
0
0
0
0
0
33
-22
0
0
0
29
0
0
0
0
0
10
0
1
0
0
0
9
1
0
0
-12
-6
-8
0
4
6
37
17
-21
-2
38
-15
-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
5
-19
7
-1
0
1
7
43
27
24
6
5
34
-67
7
4
2
61
1
-35
-62
-12
8
6
-10
84
24
7
45
13
0
0
0
0
0
0
12
2
0
0
35
38
-75
6
2
95
-34
67
-5
-9
7
46
28
-28
-33
-41
-39
-30
44
40
-21
-23
-38
-27
58
-53
-10
15
10
0
-47
6
-11
-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
58
-39
14
-5
0
30
-9
5
-25
-1
1
-28
12
2
0
-16
-32
-5
14
36
-46
-67
31
-7
51
-69
62
-9
45
2
-23
-28
91
38
-9
0
97
-89
1
-52
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
7
38
0
0
0
-2
-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
-1
-3
-2
0
0
0
-4
27
1
0
-4
-10
14
-2
0
43
-80
67
-15
0
6
32
16
-14
0
-21
110
9
12
0
0
0
0
0
0
0
0
-3
0
0
-5
-13
-2
5
0
34
-12
-40
-52
0
-1
25
11
10
0
-25
1
14
-26
0
36
-17
-11
47
0
27
14
13
-14
0
64
10
-1
-4
0
0
4
0
0
0
-37
2
2
10
0
-6
20
26
0
0
19
16
16
9
0
17
6
20
-24
0
-62
-44
3
-5
0
18
-12
5
-30
0
56
-49
0
-30
0
0
43
-54
57
0
-48
9
12
0
0
-46
67
-84
-2
0
48
-1
-32
0
0
-5
37
-56
19
0
10
-23
-31
-26
0
18
-65
37
-55
0
-3
-57
61
-24
0
0
1
26
46
0
0
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
0
32
0
0
-4
0
-4
-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
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
30
23
-43
0
0
34
39
0
0
0
5
9
38
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
-23
0
-18
0
0
-23
-27
6
0
0
55
14
-27
0
0
-43
46
20
0
0
0
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
10
-1
0
0
47
8
-48
0
0
0
-6
43
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
3
0
0
0
53
0
-3
0
0
0
56
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
-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
3
5
-6
5
-1
83
-18
45
10
5
70
-64
-49
26
24
37
-31
71
-82
-41
-20
6
7
-5
-22
-32
4
0
-22
14
42
-39
-16
12
-35
0
0
0
0
0
-67
-74
52
8
-3
107
-21
-20
-3
-3
60
-13
-42
-41
6
-48
112
-3
3
-5
-12
-47
-24
13
-40
4
4
5
27
-36
-65
-14
0
-8
67
-7
43
10
22
-6
49
-56
-5
0
0
23
30
16
-1
0
73
-73
-20
18
0
26
22
-31
-39
-20
-75
39
-33
-12
-54
14
-1
-29
9
14
-43
2
-17
-13
20
6
-14
7
1
13
25
-10
26
55
29
-31
-11
7
0
1
60
69
-70
-21
-4
41
-53
-21
-5
1
2
-58
-62
33
-22
54
4
-22
3
6
-16
-1
45
-25
-31
18
8
7
-13
-5
21
3
27
14
52
0
0
0
0
0
62
27
-9
0
0
88
35
-25
0
-1
35
-15
11
-12
0
-47
-53
84
-9
-40
-39
13
12
15
31
-11
-1
-5
28
-52
12
-13
24
-13
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
5
3
-92
8
38
25
90
19
21
43
18
-11
-27
-12
-46
-25
-28
81
29
-11
-9
25
-1
25
24
-9
-10
1
7
-39
-21
-8
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
-28
29
-29
0
0
-24
107
-14
3
1
-60
-9
69
0
2
-30
1
67
-47
1
8
29
-7
-32
-29
2
-36
10
-35
-9
20
23
7
21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
-1
49
-9
63
-67
-21
-6
-16
-26
53
-13
-10
-3
30
40
8
-37
34
12
-6
4
14
10
-6
6
10
-21
8
-86
15
-54
-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
46
50
-43
21
-24
7
-32
-32
5
46
-6
14
18
-29
-9
-5
-14
8
-32
22
35
-10
-17
42
18
-35
19
5
-15
-4
-5
-7
-43
-14
-4
-10
-1
-4
9
2
-1
-10
8
-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
16
19
-32
6
0
-25
49
-47
-8
-3
-43
2
36
28
-4
69
49
-60
7
-13
29
-27
-15
26
-18
46
-2
-5
-1
-30
-1
6
55
-10
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
57
12
5
0
-17
2
-61
21
0
-30
77
-52
24
0
9
-16
0
-24
0
19
1
7
2
0
4
-12
7
3
0
-9
-24
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-44
18
-12
-5
0
-21
4
10
1
0
2
27
7
-41
0
-10
-5
-11
-1
0
3
-1
-23
41
0
-7
3
11
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
32
-2
0
0
-53
-7
-3
0
0
56
40
-5
0
0
71
-13
-53
0
0
-11
7
27
0
0
-1
27
-14
0
0
-1
-17
31
0
0
0
0
0
0
0
44
3
0
0
0
-5
-45
1
0
0
27
46
-3
0
0
12
25
13
0
0
9
-26
53
0
0
-23
27
-14
0
0
-3
-10
3
0
0
-12
-3
42
0
0
13
0
0
0
0
44
4
0
0
0
29
-7
0
0
0
1
-23
33
0
0
82
26
-13
0
0
27
-50
-12
0
0
1
0
16
0
0
27
-13
-15
0
0
-1
-3
-2
0
0
-24
3
0
0
0
-2
0
0
0
0
3
-11
-1
0
0
75
20
-7
0
0
-39
40
-18
0
0
45
6
-61
0
0
21
-2
17
0
0
4
2
52
0
0
0
0
0
0
0
-1
0
0
0
0
21
-21
0
0
0
-6
25
0
0
0
-9
9
4
0
0
-76
21
-44
0
0
0
13
22
0
0
-2
-3
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-33
-6
5
0
-24
-2
-84
10
-1
13
50
-29
18
-43
62
-6
-77
-34
-20
23
-5
-17
17
-2
14
5
19
-1
0
14
40
15
36
25
0
0
0
0
0
89
77
-79
7
0
32
9
-10
0
3
-16
61
-95
16
13
22
30
3
27
-32
41
-6
8
-7
53
6
8
7
-7
21
14
6
14
-8
-10
32
28
1
42
21
32
-15
-25
1
0
39
45
-25
-6
0
50
10
-56
6
0
-74
17
16
-21
8
67
0
-27
20
-41
-15
-5
-52
8
58
10
-4
6
7
-39
32
21
33
4
-24
31
1
-1
43
24
-21
25
59
0
-1
27
-77
11
0
0
-13
23
-6
3
0
7
-1
50
-24
15
-6
-7
10
8
-12
-51
20
-15
-34
-5
33
0
6
24
-5
-23
13
23
23
-22
0
0
0
0
0
-54
4
1
0
0
37
-24
-7
-1
0
-31
7
-2
35
-1
-13
-24
-73
-18
15
50
52
-19
37
-22
41
-9
-4
12
55
15
-16
-3
33
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-14
-29
14
0
34
-50
29
19
23
78
93
18
-39
24
-17
-12
-32
-30
-54
-24
-12
28
1
16
14
16
20
2
18
43
25
16
40
12
0
0
0
0
0
24
-128
7
-33
13
-32
-6
90
8
0
37
15
45
-3
18
-21
3
83
10
14
14
41
44
20
-8
24
8
10
4
1
-12
-45
-18
8
-31
-13
-9
28
42
14
7
-16
-50
14
1
-53
98
-14
30
0
67
-17
60
-5
-13
18
-19
-12
-1
21
15
-28
-13
54
48
12
21
16
-48
-51
4
-17
-21
6
39
-6
-9
6
4
3
3
-9
-6
24
-10
8
-23
20
4
0
-31
14
80
6
0
-13
-1
-14
-3
-1
-4
-83
84
4
-27
23
-9
77
-14
-90
29
-10
-49
-38
25
38
-5
-12
-8
-2
-18
41
-5
43
29
0
0
0
0
0
4
11
10
0
0
55
-6
-2
-9
1
17
-7
30
-91
0
-58
2
-22
30
-1
-12
-36
22
26
68
-24
42
23
-17
-55
2
-28
8
31
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
18
3
0
109
-26
18
27
-3
14
3
44
32
24
40
6
-30
-14
-7
54
11
25
-5
9
7
13
10
0
9
0
22
3
-1
4
0
0
0
0
0
45
-20
9
-2
0
-2
92
-7
-29
0
35
13
-30
-9
-42
27
26
-32
-5
7
35
6
13
3
33
17
4
6
1
-31
22
-25
-46
9
34
-3
0
7
-4
-24
54
-54
34
-49
-3
13
40
-4
-76
20
-12
28
20
-10
-4
9
16
-43
33
-29
-40
39
-7
-6
-5
15
-4
-20
6
6
-17
2
-1
-7
4
6
1
4
16
13
-1
1
-6
8
-12
63
-18
-2
-3
1
53
41
-48
-20
0
-48
-17
-2
51
1
51
-26
2
-5
9
-8
-4
17
57
33
23
43
-44
17
-47
19
-5
-7
27
5
-6
1
44
-4
49
0
0
0
0
0
-45
26
11
17
0
109
-55
-5
-30
7
111
-5
2
20
-1
26
21
-3
-30
-10
17
21
25
-42
39
14
20
18
-13
-18
-8
12
-7
11
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-30
3
-2
0
3
36
70
1
0
-55
-76
129
28
0
127
12
-19
23
0
12
14
10
-3
0
6
3
-15
11
0
30
20
24
25
0
0
0
0
0
0
21
-25
4
19
0
10
32
-32
2
0
12
34
-24
-20
0
27
-80
-18
4
0
-30
-24
-7
2
0
16
-5
-2
37
0
32
3
2
5
0
-44
-33
-2
12
0
42
26
8
-1
0
34
6
29
-9
0
16
0
33
8
0
1
-8
-14
10
0
-46
71
22
-48
0
-17
-7
-6
-25
0
52
4
15
6
0
19
-27
4
9
0
-5
3
21
-2
0
45
-3
0
0
0
-75
-10
0
2
0
68
-5
15
0
0
60
60
-22
10
0
-23
23
-39
-25
0
64
-5
34
13
0
-24
-15
-10
-14
0
1
7
41
1
0
0
0
0
0
0
-52
-25
5
0
0
-17
-7
0
1
0
-11
23
89
1
0
35
-13
-28
8
0
30
-51
-1
-36
0
-48
-14
-50
15
0
7
3
4
31
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
19
9
0
0
0
25
10
21
0
0
-32
1
-30
0
0
13
15
12
0
0
5
30
-19
0
0
-14
5
29
0
0
0
0
0
0
0
-29
-2
0
0
0
15
19
0
0
0
35
4
-8
0
0
26
-1
-41
0
0
5
6
-85
0
0
7
-16
45
0
0
-13
-14
32
0
0
5
19
11
0
0
19
0
0
0
0
-42
6
0
0
0
64
14
0
0
0
-24
24
-5
0
0
-28
65
-22
0
0
0
-33
11
0
0
0
-5
10
0
0
6
-30
12
0
0
-29
30
13
0
0
2
0
0
0
0
8
-14
0
0
0
27
6
-1
0
0
-57
-32
8
0
0
71
-44
-58
0
0
10
-8
8
0
0
18
-9
7
0
0
-9
13
1
0
0
0
0
0
0
0
-14
-7
0
0
0
-15
6
0
0
0
-29
-23
0
0
0
34
26
5
0
0
-3
1
38
0
0
-34
-22
-99
0
0
3
5
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-14
0
1
0
55
2
-38
-1
0
17
-87
30
14
2
-62
31
-44
13
-18
28
-45
32
-3
49
-3
3
31
-36
25
50
61
2
19
-2
0
0
0
0
0
-41
42
-3
0
0
17
-82
9
0
0
17
43
-51
1
-1
83
-25
-26
-1
2
-46
-66
-10
60
18
10
-12
-45
-7
24
37
12
19
9
4
26
23
14
58
14
7
-6
0
0
0
-10
-58
-30
0
0
22
-1
-33
0
0
-43
39
-3
1
0
50
-23
-5
-37
13
-53
-9
33
14
44
52
-7
-10
-3
-29
24
28
4
-2
23
-5
84
-42
47
42
-5
14
4
0
0
33
53
0
0
0
-12
-20
0
0
0
-49
-72
-69
11
2
-53
3
-38
6
46
5
-22
-25
-72
-39
48
6
18
-33
25
-44
29
15
23
-33
0
0
0
0
0
13
-36
0
0
0
-6
-52
0
0
0
0
-21
-3
0
0
26
-44
17
0
0
-4
-9
22
1
-1
-22
43
-72
-62
15
-36
60
-22
26
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-43
1
-2
0
55
12
-4
-7
1
-14
-23
-64
-26
8
10
45
-31
22
63
-44
13
-45
0
10
57
11
12
8
7
60
25
25
29
-9
0
0
0
0
0
-7
15
-60
-10
-1
44
54
-15
12
0
-23
0
0
-5
42
30
-63
30
-53
23
-54
28
-15
-25
7
1
0
-2
2
-39
19
6
17
2
9
12
14
29
25
10
-15
-34
24
13
1
19
2
-3
-16
7
36
25
-25
-29
5
36
-21
-12
36
-2
32
-48
-44
-24
-73
-32
0
-10
2
23
5
6
-4
-17
11
9
8
32
12
24
6
35
12
21
2
15
54
4
42
0
54
5
-35
10
7
27
1
36
-71
1
9
3
-7
-41
35
-41
2
8
31
95
-16
17
9
-17
-70
18
-2
0
-4
32
-17
14
14
38
-27
0
0
0
0
0
-12
-19
-1
0
0
-37
-35
7
0
0
-4
7
35
2
0
-11
-59
13
23
-1
84
21
20
41
-14
5
-19
0
-25
13
35
21
18
37
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-42
-1
-1
0
-23
22
43
5
0
47
41
-35
70
11
-43
8
-13
57
-10
-8
40
62
-27
-2
-5
15
7
5
10
24
25
21
17
23
0
0
0
0
0
-40
-22
45
-14
-1
-50
-15
68
17
1
-107
12
22
51
83
-50
7
16
22
12
-33
17
35
-21
-24
18
7
-10
-8
14
5
1
10
7
-8
-15
12
4
37
39
-26
-3
-24
12
1
8
17
6
44
-27
5
9
-6
26
11
-25
14
34
-7
21
-30
-19
14
-6
19
59
-14
27
1
20
5
-16
3
12
4
-3
6
-1
4
18
54
-16
8
-5
-36
-15
20
-6
-7
-1
33
-52
42
-32
-47
65
-43
63
-8
0
-3
-6
49
28
-16
23
7
-6
16
21
54
-9
19
-18
11
-50
-30
14
15
21
-4
10
-5
-13
-19
0
0
0
0
0
99
-24
-13
0
0
8
56
13
11
0
17
-21
19
-13
0
-23
27
20
-6
-3
-69
26
48
33
-21
-12
-6
6
23
-1
41
18
-5
-35
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
23
-37
-5
1
0
54
23
62
4
0
-25
2
-25
1
0
44
-18
9
-1
0
0
7
29
-30
0
-10
20
6
34
0
0
0
0
0
0
-57
7
33
8
0
-94
-14
16
0
0
-14
40
-19
26
0
-57
26
17
39
0
25
-32
11
-24
0
8
14
-13
-20
0
-2
9
-1
8
0
-23
-51
-4
44
0
-17
-6
29
0
0
33
3
29
-5
0
1
56
17
0
0
-4
-51
11
44
0
34
48
-6
3
0
18
-20
19
-1
0
2
19
26
-10
0
4
-7
-3
36
0
18
7
0
9
0
-43
-36
-3
0
0
21
34
-43
0
0
-14
-32
10
2
0
20
45
-34
37
0
7
-26
43
-5
0
-7
8
-21
1
0
24
4
32
-31
0
-26
-9
12
28
0
0
0
0
0
0
20
31
8
0
0
8
-8
0
0
0
42
-10
-34
0
0
58
-46
-5
3
0
-8
-10
48
-17
0
-44
-33
-62
-13
0
-49
-9
-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
2
0
0
0
0
0
-1
-1
0
0
0
-5
10
0
0
32
53
-13
0
0
-13
42
-48
0
0
3
-29
-9
0
0
0
0
0
0
0
0
0
0
0
0
20
3
0
0
0
-5
0
0
0
0
1
1
2
0
0
43
3
16
0
0
17
61
27
0
0
3
9
-2
0
0
1
-27
-31
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
6
27
0
0
0
47
20
-56
0
0
8
-13
-24
0
0
30
-64
36
0
0
2
-27
59
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
36
10
0
0
0
18
72
-28
0
0
-5
-3
-22
0
0
18
-6
6
0
0
-94
-37
9
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
5
-19
-14
0
0
44
17
1
0
0
-37
-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
-1
2
0
-29
39
24
-29
3
29
8
12
8
6
16
-89
-11
16
-34
-22
10
-55
9
14
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
32
-26
45
-18
9
42
53
23
14
-14
-35
-95
-82
-45
-40
-204
-29
-27
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
5
-45
46
-7
-1
13
-2
53
-39
-22
-127
-99
-18
94
55
-56
-109
-54
9
4
-44
31
-63
-65
-51
0
0
0
0
0
0
0
0
0
0
-5
-3
0
-2
0
-1
0
-7
0
0
-7
-5
46
9
-3
43
-59
51
-58
-16
24
34
-7
-3
2
-77
7
-61
41
-13
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-6
10
0
-1
0
-39
-13
13
-2
2
5
-43
-18
41
1
23
10
-44
1
11
23
12
-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
-14
-80
4
22
1
29
-28
10
-78
-63
-5
17
-16
-145
-48
-61
66
5
0
0
0
0
0
0
0
0
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
-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
-14
24
10
20
-24
1
-33
14
3
8
20
48
-14
-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
4
-3
-1
0
0
-33
-58
-19
-15
25
-28
-31
46
-8
-18
-24
-15
58
-46
-6
-72
-48
-71
30
-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
-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
21
-11
0
-5
-35
-25
0
0
2
14
-6
8
0
3
-24
-29
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
-10
-36
17
-5
0
-43
39
-5
-46
0
-12
-91
-27
41
0
-31
-52
21
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
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
6
-2
7
0
-4
-3
24
-2
0
21
-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
-25
18
-17
0
0
-35
43
-13
0
0
-29
-48
15
0
0
-20
-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
-1
0
0
14
-24
-8
0
0
-21
-26
-4
0
0
-26
58
43
0
0
44
-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
3
1
0
0
-1
-44
11
0
0
-1
78
44
0
0
0
-1
-47
0
0
6
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
0
0
0
-25
9
13
0
0
6
-43
2
0
0
13
5
-2
0
0
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
2
2
0
0
1
-41
3
0
0
1
19
0
0
0
14
-10
7
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
31
-30
-44
-9
3
33
-19
33
-33
23
76
15
-3
-5
5
-31
-8
13
5
2
-107
-27
-15
15
62
0
0
0
0
0
0
0
0
0
0
-4
17
2
0
-1
-10
-17
-39
-1
-1
54
-13
43
43
-50
-99
84
-18
-60
-11
-1
7
30
40
33
-154
-38
-19
3
18
-22
-46
-30
6
-48
6
-1
0
0
0
6
4
1
1
0
-7
-6
-3
-3
0
-57
-45
70
7
-1
-1
54
13
5
16
45
41
-33
-19
46
-90
-71
31
53
-15
-72
-22
-100
-53
5
17
-10
-26
-66
-40
-2
3
0
0
0
2
-9
5
0
0
6
-1
2
-7
0
-4
27
56
-10
-5
72
69
-81
-5
-18
-59
-2
-8
8
0
-43
-2
20
-1
20
-70
-84
-67
-26
8
0
0
0
0
0
23
-8
0
0
0
-90
-15
30
10
0
-17
-25
10
27
0
47
-28
-23
5
-5
-47
-5
50
-105
-48
-3
17
-57
17
0
-47
-58
7
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
-4
0
29
-4
1
74
-5
-4
-1
-1
-24
-3
-47
-33
-47
14
-33
-14
-64
-6
28
-16
-51
-10
21
-63
-18
-13
48
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
-2
16
-2
-2
0
-71
-130
-27
-30
-9
-47
-64
14
8
25
-45
-6
-20
31
-98
70
0
-110
-95
-53
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
0
-1
1
-1
0
0
-45
43
-3
23
0
-19
-51
-43
15
18
-34
3
29
32
27
27
-48
-103
-157
-125
24
17
-84
-135
-117
1
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
-4
3
-19
4
0
-29
4
10
9
0
-124
-81
18
-2
14
-43
-92
-58
-11
-34
9
-37
3
-81
-10
0
0
0
0
0
29
-19
0
1
0
-45
-2
47
-1
0
-17
22
-24
-7
0
-60
-14
-49
-15
0
31
63
34
39
53
14
-39
-10
-31
5
23
-34
-10
-59
-22
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
-18
13
-3
2
-2
-13
-63
25
5
-7
10
-63
-103
-21
34
-40
7
15
11
-38
-15
-11
-3
0
-13
-23
-5
-18
-66
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
-3
1
-32
-7
0
-63
48
-55
8
-14
48
-97
23
-17
52
-28
-37
-14
-61
-81
59
-64
-50
-90
-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
1
1
-3
0
0
-1
6
4
0
0
-1
0
1
0
1
-5
22
-24
5
3
-31
-47
16
26
-60
-43
-19
-59
-56
6
46
-62
-1
-117
-1
0
0
0
0
0
-4
-45
-2
0
0
-29
-5
24
1
-1
2
-20
-25
-14
4
3
-49
-4
47
13
33
-32
24
30
-28
-45
-8
-86
-34
25
31
-38
11
-30
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
27
-16
6
0
85
23
-74
-60
0
1
35
-15
-48
0
-62
15
-5
18
0
68
-45
-15
-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
18
5
-41
57
0
28
15
9
-5
0
-122
-79
-73
-151
0
0
-16
-48
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
-11
2
0
-44
6
-1
7
0
-37
-5
-14
-10
0
4
-35
-54
-78
0
0
11
-114
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
-2
0
-1
1
35
1
0
-36
24
-42
-15
0
-2
20
27
2
0
39
-54
-129
-4
0
0
0
0
0
0
-4
0
0
0
0
-4
-1
-1
-2
0
-41
-15
47
0
0
20
48
17
6
0
-60
-1
-47
34
0
-1
35
-11
-13
0
38
-5
-5
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
0
0
-1
0
0
0
0
-8
2
-3
0
0
-120
-20
-22
0
0
17
0
31
0
0
39
14
9
0
0
12
17
17
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-14
-3
1
0
0
8
-6
6
0
0
42
-22
-55
0
0
10
-12
51
0
0
-10
-13
5
0
0
53
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
18
-9
-18
0
0
-17
25
20
0
0
-9
-41
-74
0
0
23
-36
8
0
0
-66
74
5
0
0
-3
20
75
0
0
0
0
0
0
0
0
2
0
0
0
-3
-7
3
0
0
40
-8
-3
0
0
59
-5
21
0
0
-39
-33
-53
0
0
-16
0
61
0
0
-5
17
-70
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
25
2
0
0
0
62
-30
-17
0
0
37
-2
11
0
0
-92
6
15
0
0
14
-9
-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
19
-22
-34
0
3
-17
-2
31
-23
3
-20
-15
-62
-2
-52
41
26
21
53
52
36
7
7
-9
5
-14
-49
-7
8
-18
0
0
0
0
0
21
-4
-1
0
0
-7
-9
-5
0
0
9
-55
6
9
0
148
-23
27
-22
-20
73
22
-28
-13
-68
-20
20
23
9
45
-34
4
-10
19
25
54
40
-30
24
14
3
-8
0
0
0
-18
8
6
-1
0
-10
44
43
-3
0
24
10
81
6
-2
5
7
61
45
-4
37
-7
-83
-38
-20
7
12
32
16
20
22
2
-13
31
55
-9
1
28
91
56
79
-18
1
0
0
53
64
-9
-3
-1
17
8
-23
0
0
-122
33
2
7
30
-3
42
67
14
-33
-15
23
-42
33
-49
15
-3
30
6
85
3
-26
26
0
21
0
0
0
0
0
59
8
-3
0
0
35
-6
53
-2
0
-14
30
-19
-3
0
98
-68
20
-32
3
-43
110
8
-2
28
14
-65
55
-15
25
-45
-27
12
74
13
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
24
-34
-7
1
10
4
16
3
-43
45
-86
51
-38
109
-122
25
21
2
-19
2
-11
15
10
-3
24
64
9
0
-6
-1
0
0
0
0
0
53
-1
-1
1
0
0
58
-26
-29
1
-33
-75
2
29
-7
5
-25
5
50
44
-25
1
-13
9
-7
39
9
-6
34
-21
-66
-103
-6
-2
-22
34
8
-48
-58
-30
-9
34
-1
0
0
127
-22
72
0
0
-90
17
20
1
1
-35
25
32
-39
4
-7
28
44
-64
-1
-7
-43
-13
39
14
-8
-33
-10
43
-17
60
-19
-31
-35
-63
20
-64
-16
8
70
-62
-31
-2
0
0
0
14
0
-13
-1
40
-74
23
30
-1
73
-20
-116
5
6
-46
-68
89
-16
-2
1
-23
79
32
-31
-44
-3
1
-7
5
26
25
-80
-52
-24
0
0
0
0
0
61
-12
0
6
0
20
1
7
5
0
-59
41
-8
44
-1
-10
41
-6
-11
3
37
-52
54
-61
-49
3
-29
-9
18
21
-10
-16
-14
8
24
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
12
43
4
26
0
39
3
5
32
42
15
13
-67
-58
59
-8
44
-23
-26
62
-45
-11
26
-19
32
-16
47
-20
42
-2
0
0
0
0
0
14
-10
0
0
0
17
-11
13
3
-3
-67
-31
28
-20
-7
-59
-50
-27
100
5
-62
25
-24
24
-21
-12
3
4
26
44
7
-8
-37
17
4
82
28
10
-8
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
2
-53
-9
3
0
-49
17
53
-18
1
34
31
-34
14
0
5
21
32
8
-6
6
-9
-26
-30
61
-28
-14
14
-17
-47
4
27
-26
-50
-15
30
10
-41
-14
13
0
0
0
0
0
-53
96
6
5
0
-4
20
-33
5
-1
-29
11
82
-12
2
-4
-7
-45
54
5
50
-42
-18
81
-5
41
62
21
-52
-23
-41
-27
-18
11
-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
43
24
-10
1
0
28
-33
-45
-1
0
-66
-31
61
33
0
-10
15
-19
28
0
5
14
-19
6
0
-16
14
20
6
0
0
0
0
0
0
-10
5
-1
-1
0
-14
-1
-7
0
0
92
40
14
-25
0
63
-48
34
-32
0
33
41
-55
-55
0
-15
-31
22
84
0
-83
-23
-49
-30
0
24
-15
-7
-20
0
-19
0
0
0
0
-9
-19
-17
-4
0
99
-44
-34
1
0
-12
22
20
-32
0
95
-88
13
-24
0
-53
-21
-3
-21
0
-17
-6
-52
-6
0
-1
15
8
-69
0
-26
-2
10
-11
0
-1
0
-1
0
0
9
11
4
-1
0
52
-5
-44
1
0
-25
-16
13
-4
0
84
-26
-39
6
0
-53
-82
60
0
0
75
-12
-26
48
0
9
-9
76
-118
0
0
0
0
0
0
1
33
1
0
0
-5
30
-2
0
0
31
31
-62
1
0
-64
23
46
10
0
36
-15
5
12
0
33
-1
6
-56
0
-19
-11
54
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
-1
0
0
-5
29
-9
0
0
11
18
54
0
0
-40
-13
-2
0
0
41
17
-10
0
0
31
12
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
3
1
0
0
11
43
0
0
0
-2
53
-16
0
0
9
1
-33
0
0
-4
13
15
0
0
51
-5
49
0
0
0
0
0
0
0
-3
0
0
0
0
-3
-20
0
0
0
-58
-18
-3
0
0
23
22
-17
0
0
14
8
33
0
0
-56
16
44
0
0
90
35
3
0
0
69
17
5
0
0
0
0
0
0
0
39
0
0
0
0
3
16
-1
0
0
51
5
0
0
0
3
-41
23
0
0
2
12
-42
0
0
40
0
19
0
0
-62
-33
14
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
0
0
0
-43
4
0
0
0
53
-30
-2
0
0
-32
5
17
0
0
-43
26
-21
0
0
31
41
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
-2
0
2
0
0
13
-5
-3
1
0
-24
12
-15
-18
0
-111
29
7
3
17
43
2
-7
7
-52
73
16
12
27
37
0
0
0
0
0
17
0
0
0
0
45
-18
0
0
0
4
-3
8
0
1
-1
24
-5
0
0
-59
-11
3
-36
-8
22
34
-37
-28
44
-14
22
9
12
-1
76
11
48
41
14
0
0
0
0
0
14
0
0
0
0
11
-33
0
0
0
-14
-14
0
-1
0
4
63
17
-19
0
-49
25
-80
-36
1
16
50
-41
-55
31
70
36
43
-13
-5
1
-89
63
92
-56
57
-16
0
0
0
75
-31
7
0
0
5
37
0
0
0
6
-37
-13
-2
0
-54
-2
3
22
-1
-53
41
-12
-43
-17
23
0
6
9
50
16
2
18
33
-28
0
0
0
0
0
-7
-9
0
0
0
40
0
0
0
0
-36
9
1
0
0
-26
-14
17
0
0
48
-46
2
-15
3
24
11
-15
45
-4
31
22
-6
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
-14
51
2
-2
0
43
47
10
-10
1
-23
-75
19
31
1
33
5
17
45
18
-29
20
-11
9
32
110
72
-4
0
2
0
0
0
0
0
1
4
0
0
0
-62
-39
4
-3
0
-19
18
60
53
-11
-1
54
-42
13
-5
100
1
42
-24
31
-19
19
1
7
0
41
-22
28
-17
18
39
-19
-2
15
-24
18
-5
1
0
0
-16
1
-33
0
0
38
24
13
30
-2
-32
-43
64
30
0
13
25
9
-30
31
-7
-52
20
-46
-5
-10
32
-17
-20
24
29
20
28
28
18
-6
-35
10
22
26
-49
92
14
0
0
41
-6
20
-5
1
6
-55
-21
0
0
-19
30
-5
15
-35
9
30
-37
-13
53
8
-35
-62
5
-50
73
-7
-3
88
22
-46
25
22
2
-6
0
0
0
0
0
-14
24
0
0
0
0
0
4
0
0
5
34
-6
-1
0
5
64
8
-10
-1
-9
5
-32
53
0
40
-73
-8
-43
24
-10
-15
24
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
-2
27
3
-4
0
22
25
-41
17
-3
-21
24
-81
59
9
-63
50
51
33
5
-44
1
37
-19
33
72
28
23
27
-9
0
0
0
0
0
11
24
0
0
0
10
54
33
-10
1
100
-44
5
-35
-15
14
54
-24
25
0
-42
-20
-2
-19
19
-3
33
16
41
66
-27
14
26
31
17
29
72
1
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
23
-22
15
-11
0
-39
14
56
19
3
-23
-34
-11
-61
0
-44
-10
-32
-22
1
0
-45
28
22
-3
-10
23
-64
29
-36
67
38
21
-9
34
-18
-4
13
-6
8
0
0
0
0
0
0
-15
-1
0
0
0
4
-13
0
0
-2
0
9
-3
0
0
37
-7
-6
0
1
33
15
-69
-3
4
17
31
-20
19
6
-22
-3
110
9
0
0
0
0
0
0
0
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
3
1
1
0
21
-14
11
-66
0
-23
16
-1
-11
0
13
-4
-81
65
0
39
20
32
60
0
0
0
0
0
0
-1
0
0
0
0
-1
3
0
-1
0
44
-63
-16
-14
0
-113
34
15
-14
0
-32
-43
-31
3
0
-11
20
46
29
0
-11
25
9
5
0
160
-10
-14
0
0
1
0
0
0
0
7
-27
-3
18
0
-26
-21
-5
0
0
-4
-50
-35
20
0
-24
9
-18
44
0
6
78
-42
-66
0
29
20
44
31
0
-42
68
17
-33
0
11
-76
10
87
0
1
-23
0
0
0
-9
-62
8
0
0
-16
29
57
-3
0
-20
-44
43
-5
0
109
83
-63
-48
0
44
16
58
4
0
6
24
-26
56
0
-82
-130
-32
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-18
-1
-1
0
0
-72
61
87
0
0
53
-11
-24
-14
0
-4
69
71
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
95
29
-32
0
0
-69
29
-17
0
0
7
21
25
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
28
50
10
0
0
-16
19
77
0
0
-7
30
7
0
0
-68
43
13
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
9
-14
5
0
0
-22
21
-12
0
0
0
-15
43
0
0
0
50
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
32
11
0
0
0
-13
-7
-54
0
0
-6
18
43
0
0
3
-81
-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
23
0
-21
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
-31
5
14
0
-15
4
32
-30
-3
66
73
13
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
4
0
0
0
-1
-43
15
13
0
8
24
18
34
3
68
21
-8
-5
-31
71
7
-4
-32
16
0
0
0
0
0
11
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
3
0
0
23
-1
-20
-3
21
59
38
85
19
0
29
-4
3
0
0
9
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
6
3
0
0
-39
37
0
0
4
5
21
7
-7
0
49
-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
8
-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
-3
-4
0
0
0
2
2
0
0
-4
43
16
-40
-15
8
-3
18
-77
54
133
-7
-44
108
-3
0
0
0
0
0
0
0
0
0
0
24
16
0
0
0
59
-54
-22
-2
0
36
5
51
-5
-2
13
-54
30
12
-52
-24
31
54
50
6
43
39
10
33
21
13
-23
21
24
33
-25
-1
0
0
0
-43
-63
30
0
0
-5
19
0
0
0
-38
33
-11
5
-8
15
-30
-62
-3
7
-10
6
-55
24
-11
-14
-1
100
32
21
28
26
2
18
-31
118
33
22
-7
73
86
-68
0
0
0
3
-5
-26
0
0
-4
14
4
0
0
-61
-4
-4
-6
0
23
15
48
-8
3
-97
37
5
37
11
23
61
54
33
36
-15
80
-74
1
-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
45
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
3
74
-36
6
0
-33
-6
17
-38
70
91
49
27
72
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
10
-7
-7
-2
0
0
3
38
-2
0
35
17
49
-41
-65
3
11
1
70
9
-29
-6
27
54
48
88
27
44
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
15
9
0
0
3
-19
-48
0
0
0
16
0
0
0
0
-6
-13
2
0
7
16
34
1
-1
-50
-90
9
-57
53
71
80
-22
31
-24
0
-10
-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
1
0
-3
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
-1
0
0
-6
-2
-33
27
0
56
-85
-60
64
0
19
73
78
-32
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
-67
-4
25
-3
0
-42
26
77
54
0
35
31
17
-51
0
-16
29
91
92
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
1
0
0
0
-1
64
-3
9
0
-27
-42
5
-8
0
-7
-20
33
-6
0
12
-14
70
24
0
0
-31
16
38
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
4
4
1
0
5
-14
4
1
0
-40
23
-36
-1
0
3
22
64
-55
0
0
-6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
7
71
0
0
0
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
0
0
0
0
0
-1
-5
0
0
0
15
-50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-13
0
0
0
-24
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
29
-14
-4
34
12
-20
3
1
5
-27
53
-48
2
5
-6
40
-24
29
6
8
37
21
3
-60
-43
-38
29
32
-53
-34
-16
-31
15
0
0
0
0
0
-43
-9
11
-8
-1
-53
47
-65
23
-1
-65
-69
-6
64
39
-11
60
39
14
-23
-30
19
-61
-17
-32
46
-24
-16
36
61
-63
-106
0
-8
22
-91
42
-40
8
-61
-9
-33
13
-13
0
41
0
-3
-4
1
-4
16
-14
17
3
37
-18
-20
20
-20
-37
79
31
28
19
-32
18
17
51
-50
45
-28
43
36
61
-100
-144
-26
-33
21
-99
6
-23
21
-21
31
5
-18
1
-1
7
0
-24
4
1
-24
61
-57
-5
14
39
39
-33
10
-8
32
42
20
-17
-35
-73
-8
-2
-16
56
15
18
17
71
41
-152
-58
14
-6
-36
0
0
0
0
0
6
-20
-4
0
1
-4
-2
4
10
43
-46
-16
50
-2
-1
-21
21
-15
8
21
125
-18
5
40
-17
-88
-32
29
-51
18
-29
-6
-32
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-2
0
25
-13
-99
-20
-10
62
3
21
-29
38
-24
5
-60
67
15
-6
53
58
37
27
53
4
-46
-39
-50
-44
-20
-50
-23
-119
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
45
0
-67
-19
-7
-7
5
14
2
0
2
-13
11
3
18
-60
-64
2
47
18
-8
31
-49
-59
32
-16
-58
-26
16
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
-36
-53
-9
-44
30
-13
-5
2
-75
16
-34
51
-8
-79
-12
-21
19
-5
-14
-35
-21
7
55
-15
-19
1
-12
30
-34
-73
-98
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-1
39
26
4
-4
-4
12
-20
-21
11
0
-129
7
79
32
-14
98
-15
-17
-77
33
-112
-53
57
-23
3
-12
5
-18
18
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-79
-54
2
0
10
-26
6
26
0
63
66
-4
-46
0
15
49
-32
24
0
17
52
32
10
0
-62
4
15
14
0
35
-41
-72
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
43
3
16
2
0
5
-21
5
10
0
-10
67
-42
-36
0
47
95
14
-1
0
-23
-53
-16
-4
0
-57
8
30
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
26
3
0
0
-55
-4
6
0
0
-55
-42
0
0
0
7
-15
6
0
0
13
12
1
0
0
-4
-1
33
0
0
-8
6
-36
0
0
0
0
0
0
0
18
0
-5
0
0
80
0
5
0
0
-16
34
-17
0
0
17
20
-75
0
0
42
10
48
0
0
-1
46
8
0
0
-11
-4
-32
0
0
-77
23
6
0
0
-5
8
0
0
0
-32
1
-6
0
0
28
-13
0
0
0
22
3
-23
0
0
-61
-11
-19
0
0
-33
8
6
0
0
-1
-43
37
0
0
19
13
21
0
0
-63
26
5
0
0
6
-3
-2
0
0
-6
-8
3
0
0
-5
-16
16
0
0
24
-66
5
0
0
35
-6
51
0
0
-48
4
28
0
0
-18
-24
12
0
0
-18
35
-5
0
0
0
0
0
0
0
-31
27
-3
0
0
-13
34
-20
0
0
54
17
2
0
0
-10
8
10
0
0
3
-33
-30
0
0
67
24
0
0
0
-7
-35
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
26
-6
-9
1
16
11
35
5
0
-31
12
-23
32
10
80
-27
-46
-2
8
-13
36
70
-13
10
14
-17
-20
10
26
-83
149
35
3
57
0
0
0
0
0
33
5
3
-2
0
-42
34
1
0
1
49
-55
23
-64
8
-7
-3
15
2
5
-34
-8
-42
16
35
-41
-3
26
33
33
-70
-24
-47
-62
-15
30
78
33
58
33
-14
-39
-2
0
0
22
-14
16
2
0
-13
32
97
-9
-3
40
20
-16
5
2
33
36
-25
37
-1
-17
29
29
10
4
-80
-16
41
7
70
78
-29
-62
29
-46
-23
-30
21
-6
41
21
8
0
0
0
47
9
-1
0
0
-7
12
-48
-9
0
47
33
30
-35
-1
-80
1
-16
31
8
-4
14
16
46
-24
28
-44
69
-52
-14
-74
11
-30
-58
-100
0
0
0
0
0
2
54
0
0
0
3
40
49
4
0
44
-61
21
-8
0
-1
-4
2
1
0
-24
-53
-13
-27
-6
2
-56
-46
-1
-4
32
48
2
34
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
59
-4
-1
2
1
-18
34
-36
-16
6
8
61
16
-61
-62
13
10
62
13
38
10
60
12
38
-118
-17
-91
-50
-27
-52
23
-71
-1
-15
0
0
0
0
0
-6
1
-4
0
0
3
-26
0
1
1
-46
80
-2
22
-23
15
63
-6
-33
18
-9
-32
74
-18
-3
33
-65
0
-12
77
-34
-90
-118
19
-46
-59
45
14
56
-37
4
0
0
0
0
0
4
5
0
0
-16
26
15
10
0
4
-48
-3
52
11
0
43
45
-10
7
-3
-42
-44
-5
23
-32
14
41
9
-25
11
13
-34
71
-9
13
23
52
-73
-61
0
0
2
0
0
-7
0
-5
-2
0
-5
13
-15
-7
-1
-3
1
38
25
5
6
111
45
-17
-9
29
-31
-4
14
-12
33
-29
-32
43
-8
26
-127
-12
-40
-69
0
0
0
0
0
27
7
-1
0
0
-41
48
-11
5
1
10
22
32
0
0
39
-73
-28
0
1
-18
-28
-5
14
-6
-57
22
15
-83
0
70
-84
-11
36
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-2
0
11
-3
14
-20
-55
-5
0
71
-45
50
-45
21
-42
-20
56
89
-57
-7
-25
33
27
-34
-43
-2
12
-14
-37
-67
23
-39
-47
53
0
0
0
0
0
0
1
-1
0
0
-2
0
0
0
0
-20
-17
-15
1
-5
-43
49
42
-33
4
22
-24
-71
-1
38
7
52
-8
77
-6
-51
-78
53
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
47
-3
0
0
0
-38
-10
-1
8
0
17
27
-5
-33
-11
-3
8
34
-10
0
48
4
-4
-29
9
-50
24
-26
9
2
-53
-2
27
42
36
-45
38
31
-40
-4
0
0
0
0
0
26
5
-3
0
0
-11
-2
34
-1
0
-30
-13
-2
1
0
-11
-15
44
-1
1
19
-39
40
-3
8
10
-13
-82
3
-11
5
-2
-50
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
11
15
2
0
53
43
25
-6
0
41
-29
8
37
0
15
-22
-27
16
0
42
59
3
-25
0
11
-64
15
-51
0
-93
-58
32
80
0
0
0
0
0
0
0
4
5
0
0
-1
-21
1
0
0
-99
33
2
-7
0
-1
64
-30
-6
0
-61
23
15
-6
0
-6
3
-13
60
0
-38
-27
15
14
0
-12
9
86
-13
0
-5
1
-3
0
0
-1
0
0
0
0
-38
-11
13
0
0
54
4
5
-8
0
72
-59
76
-5
0
-25
-82
65
30
0
71
58
26
-33
0
-25
-36
-66
-26
0
-81
86
-79
22
0
0
-2
0
0
0
-3
25
1
0
0
-1
49
5
0
0
-36
-10
17
3
0
-5
-30
-50
5
0
-36
12
11
-13
0
10
17
60
13
0
-4
-32
-72
11
0
0
0
0
0
0
-6
0
1
0
0
-22
34
0
0
0
30
-29
14
0
0
-20
-7
9
1
0
32
-45
-23
0
0
-12
-26
23
20
0
3
16
45
-22
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
-19
-21
-6
0
0
24
-3
8
0
0
69
70
-18
0
0
36
-4
4
0
0
6
-42
48
0
0
-82
-19
51
0
0
0
0
0
0
0
-55
5
1
0
0
-10
9
0
0
0
-16
33
0
0
0
5
7
43
0
0
35
-4
-7
0
0
42
50
33
0
0
-81
40
-38
0
0
72
-95
-47
0
0
9
-4
0
0
0
3
0
0
0
0
-41
-16
0
0
0
2
-5
25
0
0
101
-27
-11
0
0
-84
-61
35
0
0
92
-38
16
0
0
-31
-21
-33
0
0
-20
123
15
0
0
0
0
0
0
0
-24
14
0
0
0
24
0
0
0
0
-57
-2
-6
0
0
20
-20
13
0
0
-72
-44
-4
0
0
21
83
23
0
0
28
-47
-45
0
0
0
0
0
0
0
14
-1
0
0
0
17
-1
0
0
0
5
-5
2
0
0
6
4
-3
0
0
1
-2
9
0
0
25
27
-48
0
0
-42
-11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
0
0
0
-12
2
2
0
0
5
-6
19
-5
0
-8
66
10
1
-11
82
60
51
14
-35
12
-50
35
-57
31
-23
18
9
46
77
0
0
0
0
0
56
0
0
0
0
20
4
0
-4
0
-20
18
6
1
0
-21
-4
-9
-2
-10
-10
12
47
-39
-7
-33
-25
41
63
22
78
-6
9
159
-12
141
35
-45
-46
27
1
5
0
0
0
5
0
0
0
0
-19
-21
2
0
0
-20
-15
45
1
0
3
31
2
3
2
4
44
-116
-33
-2
-100
-47
52
15
-5
21
45
25
60
4
88
34
-71
-1
6
0
4
0
0
0
4
-39
0
0
0
26
0
0
0
0
25
-23
1
-1
0
-5
-2
0
1
0
-38
14
0
5
-2
-5
53
6
-36
-3
33
-14
23
-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
-63
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
-25
15
4
-20
81
-2
-14
6
14
28
21
-1
74
23
-61
47
-2
-58
-5
-14
62
96
-45
44
0
0
0
0
0
60
56
1
2
1
5
-39
20
-3
0
33
40
6
6
-2
24
25
-100
52
-19
39
8
-44
20
15
-18
-14
-33
-37
22
-17
-24
-6
33
-16
-43
6
152
55
61
16
-12
0
0
0
5
0
4
0
0
-11
8
12
-8
0
19
33
-3
-64
-1
13
51
34
-10
43
-3
-53
-78
33
-13
77
16
-2
9
23
-74
1
72
41
-71
1
19
-38
43
-11
1
3
2
0
0
-26
4
41
-2
0
-2
-10
1
28
0
-5
6
-9
-8
-5
14
-14
-90
7
0
-7
-39
-45
22
-1
-6
71
109
-71
31
51
-137
47
-1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
10
0
-3
0
0
0
7
-4
0
0
0
0
-14
3
0
0
-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
2
0
1
0
-7
-10
27
-1
0
43
-22
18
0
2
45
-24
-3
13
-55
40
38
-12
14
23
-32
48
-22
-38
63
-54
-50
81
43
81
0
0
0
0
0
0
1
-2
0
0
2
0
0
0
0
-23
0
2
0
0
-5
-17
35
6
0
6
-65
-23
-43
-25
14
3
-91
93
32
18
43
72
-86
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
4
0
0
0
24
26
0
-5
0
-23
2
-1
9
3
-40
23
-9
16
1
-15
39
5
-5
-1
-40
-30
-5
6
-4
54
-18
38
96
-6
5
-37
-60
-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
-11
0
2
-2
0
0
6
9
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
33
0
0
0
0
-3
-7
0
0
0
8
-4
0
0
0
-57
-28
-9
32
0
-25
90
20
23
0
98
-17
48
-66
0
22
-30
-11
13
0
0
0
0
0
0
-27
-22
0
0
0
12
7
8
0
0
38
17
-6
0
0
22
43
9
-10
0
12
-15
42
3
0
46
15
-14
41
0
-36
45
-80
-35
0
4
-35
63
0
0
17
0
0
0
0
-10
8
0
0
0
26
1
0
0
0
-15
9
35
-3
0
2
-21
1
-24
0
-20
48
-22
-20
0
2
66
7
-5
0
23
-57
14
130
0
-5
-3
39
-11
0
-2
0
0
0
0
4
-13
-1
0
0
43
-35
1
0
0
-21
17
-10
-2
0
7
-2
53
-14
0
-52
33
-17
-14
0
109
25
-23
53
0
-31
-51
-34
14
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
-32
0
0
0
0
-2
-24
-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
-24
9
0
0
0
15
-24
0
0
0
-14
71
-33
0
0
49
12
51
0
0
18
10
-18
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
42
-2
0
0
0
4
18
9
0
0
0
-19
-43
0
0
74
37
1
0
0
-57
46
8
0
0
-5
-21
23
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
-13
9
0
0
0
1
41
24
0
0
53
-91
38
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
-50
11
0
0
0
0
0
0
0
0
0
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
19
-18
-53
14
-59
-27
-42
57
12
-24
-7
-10
-42
33
46
20
-21
38
91
-60
-99
-55
36
-111
-36
36
76
-52
-1
0
0
0
0
0
0
0
0
-1
0
1
2
11
55
0
16
-27
43
-15
7
95
-71
-29
9
37
-37
25
14
-1
2
0
34
-1
-33
2
-100
-49
41
-19
-25
-157
1
62
55
-35
0
0
0
0
0
0
0
-5
18
0
-1
2
-16
-11
7
-7
-1
-33
16
1
11
-5
-10
24
-1
25
-51
34
-23
-10
9
127
22
-56
-16
-67
-37
68
-54
7
-51
-89
-33
58
8
0
0
-3
0
0
5
2
-14
-34
4
0
52
9
4
4
5
-23
97
-34
0
51
44
-15
-10
0
-71
-48
-15
-23
-20
-25
52
-69
43
-8
-14
-82
-10
-26
-7
0
0
0
0
0
0
5
-11
-11
0
-53
-14
17
-7
-2
19
31
5
-1
2
31
-14
0
1
0
-7
-43
34
74
0
-72
5
30
33
-2
-32
-7
-47
-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
1
25
-3
-29
-4
1
45
-44
35
-13
-117
-4
11
32
41
39
27
26
60
20
-57
-78
9
-83
-69
-33
-75
-60
-20
66
0
0
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
-9
16
-1
0
-1
43
0
0
0
0
13
-23
0
0
5
43
-30
-2
1
35
-79
-24
6
3
-27
-9
46
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
1
13
-36
0
32
52
-54
33
-37
-24
-29
31
31
-14
52
-11
-9
7
46
-100
-79
55
-5
-33
0
-54
-137
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
22
8
-4
0
-38
44
16
3
8
7
-35
-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
0
0
2
-8
1
0
35
-15
46
-12
0
-10
24
74
-34
0
-5
29
7
7
0
54
-37
-28
-59
0
35
-66
-28
55
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
-14
1
-2
0
0
0
-4
2
0
-1
1
16
-9
0
4
33
-1
3
0
-10
-6
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
-5
3
-5
0
0
-6
-11
27
0
0
3
96
7
0
0
-65
-31
-11
0
0
46
52
43
0
0
-37
-22
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-79
4
12
0
0
-31
-4
1
0
0
-64
-76
-27
0
0
74
-2
43
0
0
-25
5
-35
0
0
5
77
-8
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
35
0
0
14
4
-16
0
0
-9
-1
5
0
0
5
1
1
0
0
57
-27
-11
0
0
-46
65
-53
0
0
0
-24
7
0
0
0
0
3
0
0
31
0
-5
0
0
2
0
1
0
0
-11
20
-3
0
0
-1
0
2
0
0
34
-5
6
0
0
13
17
20
0
0
-75
48
-19
0
0
0
0
0
0
0
4
1
-1
0
0
-4
1
-3
0
0
1
-1
-1
0
0
0
0
0
0
0
-4
2
0
0
0
-27
-37
-6
0
0
11
29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
18
36
5
2
-80
-20
88
37
3
67
87
50
18
-47
6
-22
5
4
-22
0
4
-13
15
52
-58
-45
-31
-24
29
-145
-107
42
-28
40
0
0
0
0
0
-14
-9
-25
2
0
13
22
57
-37
5
-43
29
17
34
-91
54
-12
10
51
-17
98
2
-86
14
-4
-34
20
-33
-42
52
-104
-91
-2
-30
-10
-191
0
-18
33
-4
9
7
9
-1
0
-17
5
-24
-4
0
-44
-11
14
-54
-35
1
-2
29
-40
20
109
16
-4
19
19
-12
-28
-1
29
-29
-8
0
20
0
-5
-84
-78
-1
-70
-21
-123
30
-37
48
33
14
-30
-21
-3
-1
-65
-37
48
-4
-7
57
-36
63
12
14
34
58
32
-13
10
-31
8
41
29
-71
84
-38
15
67
-19
-56
6
-23
30
-25
-89
-45
-75
15
60
0
0
0
0
0
-62
-23
54
50
-2
-53
-8
-4
65
7
-8
42
-25
-20
0
-22
32
-7
-9
-33
-10
-23
8
-5
46
-40
46
57
-28
-16
-56
-97
-37
6
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
-11
-4
0
7
-81
19
-36
11
23
-15
-27
-33
5
-70
32
70
-2
24
62
8
0
53
19
-103
-82
-104
27
13
-215
-6
-58
-19
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-41
8
0
2
-14
52
33
0
8
35
-37
-34
7
-24
-54
-5
22
-6
-41
-63
5
-19
3
0
2
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
5
9
6
0
0
-5
-41
11
0
1
7
-8
0
0
14
-13
-10
41
-1
-109
-39
33
-8
6
0
-9
15
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
-20
18
14
0
1
13
17
-11
0
-14
-43
-26
-1
0
0
0
0
0
0
27
22
-9
-2
0
23
-34
26
-14
1
-4
30
12
19
4
-21
34
31
-44
17
10
30
-16
12
-50
-54
-32
-18
67
34
13
-80
-26
-23
-60
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
-48
-3
-52
3
14
53
54
-34
-28
-125
-52
-38
-16
-4
0
72
-42
12
-45
-1
-55
-61
3
21
74
-88
27
-63
-62
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
0
1
45
-21
-7
-4
-39
14
-15
21
18
-3
-1
37
19
-9
-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
-9
2
0
0
0
-20
0
0
0
0
0
0
0
-34
20
0
3
0
23
6
19
-33
-5
-18
39
-2
-8
0
-1
-53
1
20
-11
-38
-36
-81
29
29
-49
-28
28
-6
-25
22
7
-15
-1
91
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
-64
2
-46
-12
0
62
-35
20
-17
0
-5
22
2
7
0
37
7
1
4
0
-48
-15
-10
11
0
-75
4
25
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-11
-15
21
0
31
-21
12
-9
0
9
-4
-5
-7
0
23
-33
92
4
0
-1
9
14
5
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
32
0
-1
0
0
3
10
-2
0
0
-4
0
2
8
0
-2
-2
2
1
0
4
54
-7
-2
0
0
-3
18
-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
-23
0
0
2
5
1
0
0
0
0
0
0
0
10
0
4
0
0
28
0
-65
-21
0
9
-20
13
-5
0
50
-123
5
14
0
-19
-44
-15
12
0
-58
32
25
-49
0
-64
74
47
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-48
0
0
0
-77
-28
-21
0
0
-32
-7
-33
0
0
3
-20
14
0
0
-10
32
5
0
0
-19
8
28
0
0
-29
28
14
0
0
0
0
0
0
0
-14
4
-1
0
0
-16
-35
1
0
0
-20
-34
-20
0
0
-21
50
18
0
0
-11
-37
26
0
0
-9
-32
26
0
0
49
9
17
0
0
-30
90
-33
0
0
8
2
0
0
0
14
4
76
0
0
17
8
5
0
0
-38
-19
25
0
0
-70
-12
-13
0
0
-8
7
-21
0
0
-57
6
-95
0
0
33
-15
65
0
0
-14
-24
-49
0
0
11
-1
-3
0
0
-31
1
52
0
0
-19
-5
25
0
0
-63
-19
4
0
0
-47
-40
13
0
0
-2
-14
-19
0
0
-34
17
56
0
0
42
58
-35
0
0
0
0
0
0
0
43
-37
1
0
0
-33
-14
44
0
0
9
-24
-7
0
0
50
5
5
0
0
-41
81
34
0
0
-135
-13
-49
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
-38
7
2
-1
0
-2
-3
51
32
-20
21
-5
83
-29
33
-3
41
-17
49
-59
33
28
-4
-43
16
-33
-42
-32
-34
27
-68
-75
6
49
49
0
0
0
0
0
16
-31
19
0
0
-28
43
29
22
0
-47
71
-61
33
-19
-38
166
-36
-42
7
-30
45
-18
3
-20
32
-34
1
-26
24
8
-95
-11
9
32
-8
-65
-11
31
23
-2
69
2
0
0
-37
6
5
4
0
-20
25
7
-7
0
-1
-61
10
25
-26
-6
19
8
-5
-4
-17
-51
18
-55
-69
35
-96
-82
63
2
-66
-16
25
-5
7
11
7
-32
6
6
-45
-4
0
-1
0
32
15
5
-10
2
-43
-15
14
-14
1
-36
25
8
-18
0
35
-80
32
26
5
81
-19
-74
-128
-15
-13
37
13
0
9
-137
0
13
91
14
0
0
0
0
0
-48
20
18
7
0
53
24
58
-5
-3
-3
-18
14
-11
0
50
-72
-49
-17
-3
-20
75
-15
6
-25
-43
12
-45
33
63
-77
-29
-1
18
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
0
-4
0
-26
-5
-5
22
-14
-68
-39
69
-8
18
23
-51
-21
27
-70
-41
13
2
50
2
6
-33
-40
-43
3
-83
-17
-25
-15
81
0
0
0
0
0
0
0
-2
0
0
1
0
-1
1
0
-27
-46
33
-10
6
28
69
-7
-4
-1
15
7
2
38
-17
3
-21
-82
-42
35
-156
-121
79
-12
13
-69
7
-20
14
-21
16
0
0
0
0
-2
1
-4
0
0
-2
14
-15
25
1
7
10
43
-2
4
-5
62
-15
74
-52
35
-74
5
-2
-12
-32
25
-31
56
11
-100
-37
48
-82
-28
-4
5
-66
-78
31
0
0
0
0
0
0
-9
27
5
-2
-2
62
36
3
3
-64
17
24
-5
2
83
-63
2
36
-3
60
-40
-45
7
11
-33
49
-55
-24
21
-57
-97
-22
-8
-63
0
0
0
0
0
34
-3
-1
0
0
-23
39
-2
0
2
19
-5
22
7
2
43
-16
-59
2
-1
18
15
6
18
-3
-3
24
-2
4
-96
-36
-92
-11
-26
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-9
-3
3
0
-25
-5
-76
21
12
-5
42
20
-40
-18
7
-35
-43
25
-62
16
4
-8
-8
-31
-76
-41
57
-8
-13
-90
-69
-115
-69
61
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
43
-1
30
1
1
47
-13
20
-54
-23
27
-3
1
-6
-34
-24
6
-71
53
15
-3
4
3
-5
-16
-5
63
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
-1
1
-2
0
0
-5
19
-11
-4
0
7
13
14
5
-2
31
23
12
-6
1
-1
48
9
14
-15
-13
-33
52
47
-62
7
-66
6
-10
45
-74
-107
-33
39
-17
0
0
0
0
0
5
22
-1
0
0
14
0
2
-3
0
24
-18
0
-4
1
1
-3
-74
-17
-1
-25
93
-19
35
18
5
-70
15
22
-3
-35
-71
1
53
-18
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
11
4
-18
7
0
0
22
57
-20
0
46
-52
-11
31
0
17
44
11
90
0
-64
-4
27
-94
0
-92
-81
-4
6
0
0
0
0
0
0
0
-3
0
0
0
0
1
2
-2
0
80
-18
-20
23
0
18
67
-33
44
0
-30
26
2
-5
0
-8
-12
-1
-18
0
-20
-28
42
-26
0
-5
-18
28
33
0
-13
-1
0
0
0
0
4
-4
0
0
-5
5
-16
-2
0
5
1
-24
-18
0
9
60
0
-10
0
25
-14
-80
-4
0
-5
5
11
-5
0
-70
-60
14
47
0
45
55
70
12
0
-19
-1
-2
-2
0
63
-16
1
3
0
7
4
-9
-2
0
-43
2
27
-5
0
17
-32
15
18
0
-92
-28
-14
5
0
-48
14
43
19
0
30
99
-74
-5
0
0
0
0
0
0
-10
1
0
0
0
29
-24
0
0
0
-44
4
4
-5
0
1
5
5
7
0
5
14
-41
0
0
2
-48
-18
-20
0
81
15
31
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
2
0
0
-19
-9
-24
0
0
-4
22
5
0
0
1
-6
-74
0
0
43
-23
22
0
0
-64
18
92
0
0
34
6
-11
0
0
0
0
0
0
0
-4
5
0
0
0
2
3
6
0
0
-22
-17
16
0
0
41
-59
17
0
0
-30
-58
-55
0
0
0
27
-37
0
0
5
-10
-16
0
0
24
9
-10
0
0
0
0
0
0
0
-3
-3
2
0
0
-5
-23
0
0
0
-5
24
5
0
0
-37
35
11
0
0
25
-108
7
0
0
-13
31
32
0
0
-48
-32
-14
0
0
32
7
17
0
0
-1
0
1
0
0
-25
0
0
0
0
57
-2
1
0
0
54
-43
7
0
0
-22
-5
-3
0
0
-25
18
55
0
0
-4
42
11
0
0
-134
4
-36
0
0
0
0
0
0
0
3
0
0
0
0
10
5
-3
0
0
0
0
1
0
0
6
2
0
0
0
5
-45
3
0
0
-9
-48
2
0
0
45
-5
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
9
-2
2
-3
0
53
102
30
-1
-1
19
-5
-7
-6
15
115
-43
3
96
-4
-41
3
-29
-29
-36
-123
36
83
16
-2
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
14
27
-23
-4
1
-65
42
-38
0
0
45
-3
16
-101
0
-27
-7
-25
-16
-10
-6
-36
41
-8
-70
-2
0
-16
137
109
0
0
0
0
0
-1
3
0
0
0
-4
1
0
0
0
-9
15
-12
-6
0
39
-5
-4
16
0
-52
-48
15
-6
0
21
-53
-25
63
-4
-43
68
42
-1
-37
2
1
0
0
0
4
-5
0
0
0
-9
4
0
0
0
2
-1
3
-1
0
-8
-1
-1
-2
0
3
-19
1
2
0
-15
29
-66
9
-7
23
22
-17
-5
1
43
-55
51
0
-10
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
10
-74
6
0
0
-10
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
0
0
1
-2
1
-1
-39
1
0
14
-2
-3
-22
-19
-1
-74
1
51
29
-21
6
31
-44
-49
37
26
9
-32
32
-7
77
0
0
0
0
0
0
0
0
0
0
9
0
3
-1
0
27
4
17
2
-3
7
-26
-5
90
-25
-86
5
-45
33
-6
4
2
5
-53
41
3
-70
31
61
-53
-104
22
21
16
92
-1
1
0
0
0
2
0
-2
0
0
-3
-14
4
-4
0
37
-43
-53
-16
-5
33
-14
-11
24
-25
-94
-37
-32
-12
-46
-21
57
-4
-6
3
4
75
-2
34
-23
0
-61
0
-21
10
0
0
-4
0
0
3
1
33
0
0
-1
15
0
2
0
-1
32
-24
2
1
-56
-18
-28
15
-6
36
30
5
-56
1
-60
23
73
-15
14
47
-208
-74
35
-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
-3
-1
3
-2
-2
9
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
2
-2
0
-1
0
-2
-2
-10
-5
4
-8
-41
50
-18
-8
96
0
107
-43
-7
-43
-28
39
12
0
-111
72
-51
57
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
0
14
33
6
3
-8
3
-34
3
3
29
-15
-55
-17
43
-26
37
-31
-91
-4
81
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
-16
5
-11
0
0
-9
27
-7
-4
-1
5
-14
9
14
8
-13
-24
71
0
0
14
9
-14
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
-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
2
0
-3
0
29
-22
16
5
0
28
25
-32
17
0
52
17
55
11
0
26
6
-61
-116
0
-46
-5
-10
67
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
45
-10
-9
-9
0
47
-36
-5
5
0
41
17
-28
34
0
-18
-32
-13
44
0
-142
25
85
15
0
-24
11
-67
-15
0
-1
0
0
0
0
0
-6
0
0
0
22
-3
-2
0
0
43
0
-4
-1
0
18
-5
14
13
0
-24
73
-34
32
0
22
5
0
14
0
-140
-87
-14
-57
0
-5
-1
8
3
0
0
0
0
0
0
-32
1
0
1
0
-14
0
0
0
0
22
-7
-8
9
0
0
-3
39
0
0
11
-106
-4
-27
0
-5
28
-4
2
0
4
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
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
-16
7
1
0
0
-16
16
4
0
0
43
-48
27
0
0
5
41
-33
0
0
54
11
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
34
0
0
0
0
17
5
0
0
0
-45
5
32
0
0
3
3
14
0
0
-24
25
-57
0
0
-18
-3
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
-9
-14
0
0
0
9
24
11
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
-2
0
2
0
0
1
0
0
0
0
0
-4
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
38
78
-60
3
51
21
-15
-30
-5
-63
1
-72
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
-9
4
-4
0
-31
-11
11
-4
0
-85
25
-80
-9
19
26
-19
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
33
-1
8
0
0
7
11
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
1
0
0
0
2
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
-2
-1
1
0
7
-21
17
-9
-3
-5
55
-61
-13
-26
-24
55
1
-68
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
16
-19
27
-25
0
13
31
-39
-58
18
25
57
-30
-47
-15
62
-56
19
64
55
-51
-12
20
42
25
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
2
0
0
-1
-1
17
-7
-5
17
-11
-25
-14
1
74
-56
-17
8
-5
29
13
11
-10
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
-63
11
-1
0
24
17
8
-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
31
-26
32
0
-18
62
-46
-55
-167
-2
-37
118
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-16
-6
0
-8
-2
-23
4
-18
-26
-4
14
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
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
-16
0
2
-3
0
58
-1
4
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
22
-9
0
-1
0
18
-12
-16
-16
0
101
8
-13
-8
0
-140
23
32
21
0
-19
-3
53
61
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
36
-21
4
-1
0
-5
28
11
4
0
-1
-8
9
-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
53
0
0
0
0
1
0
0
0
-29
-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
2
0
0
0
77
-8
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
12
-2
14
34
-44
23
-65
-15
-58
-61
45
27
-24
-1
17
8
60
-15
-20
26
2
-26
-14
0
8
6
33
-69
104
-24
-6
-4
0
0
0
0
0
-20
35
0
-31
6
1
57
-10
38
-36
6
28
-15
-57
34
18
-9
-51
5
10
-23
-34
5
-3
64
-6
-32
0
31
-3
-18
18
0
-22
-4
-134
61
16
-2
7
40
-4
39
-70
-7
-68
-76
-53
33
-2
-14
10
-23
53
-29
-2
19
-60
13
-12
-8
14
32
60
60
8
-6
-24
-34
24
58
-8
18
11
24
-98
-37
-8
-35
14
-8
-1
-9
-4
-21
-29
-11
-5
1
1
-9
-105
19
35
7
61
-14
-6
16
-7
16
18
9
57
-37
14
-33
78
4
50
-15
-2
-40
17
13
32
-14
5
8
9
-10
9
6
-5
-33
0
0
0
0
0
66
-29
-14
35
0
37
-49
-10
-10
42
-41
-10
-47
24
-11
10
-77
13
-26
40
-17
-15
-27
-5
-3
-55
-23
25
-43
-3
12
4
0
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-51
-22
-9
56
1
-26
-74
41
-6
-20
30
15
-62
-11
22
5
24
-8
-36
5
-12
8
-7
-19
-1
-19
42
2
35
6
13
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
27
5
2
37
-63
-20
-20
4
22
45
32
1
51
23
-43
26
-24
-8
108
-44
1
-39
24
-28
-27
-14
-6
-40
-7
1
4
11
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
51
-27
-16
-55
-20
-14
7
-4
-47
-37
16
-11
-23
7
-53
-14
-17
-12
66
-50
-5
24
25
17
37
-5
-15
-17
18
12
-52
-30
53
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
-2
-39
5
11
3
35
-33
48
-90
33
4
-29
-44
14
16
-7
10
53
-41
11
66
-9
-38
-5
3
50
24
-40
-42
22
-18
-12
-3
18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
-52
14
0
-27
5
20
-21
0
-23
14
-7
82
0
-24
-14
-13
25
0
-6
-6
-4
-11
0
-12
-26
2
26
0
29
63
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-36
-11
-1
0
-58
27
-68
53
0
14
-73
-33
-25
0
29
42
-4
7
0
13
32
-52
45
0
-7
-4
-10
57
0
19
-20
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-25
-19
0
0
-1
12
-31
0
0
-80
61
15
0
0
71
-33
60
0
0
18
10
24
0
0
1
-9
26
0
0
-1
10
16
0
0
0
0
0
0
0
-53
-24
18
0
0
-8
-73
10
0
0
84
-13
-43
0
0
-74
-21
-5
0
0
-24
-11
26
0
0
10
26
8
0
0
-19
3
-22
0
0
21
-32
2
0
0
6
21
-16
0
0
11
102
18
0
0
-40
21
2
0
0
12
-33
-21
0
0
0
-15
76
0
0
-39
-8
15
0
0
25
24
-6
0
0
29
-2
-9
0
0
-16
-5
26
0
0
-33
7
-1
0
0
-10
13
45
0
0
-3
-20
4
0
0
0
-23
12
0
0
-111
24
37
0
0
6
15
15
0
0
5
4
-10
0
0
15
-8
-8
0
0
0
0
0
0
0
-41
-25
0
0
0
22
-10
-8
0
0
14
31
34
0
0
-38
1
70
0
0
-44
23
19
0
0
23
-17
6
0
0
2
-12
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
5
-69
14
-13
-13
8
14
35
62
-1
7
-73
31
14
1
-15
-31
-9
-38
20
9
2
9
-17
-13
19
21
3
23
-23
63
27
-5
-2
0
0
0
0
0
79
1
-17
-62
32
11
-27
-26
12
-3
-12
5
-2
55
-14
-57
-16
9
77
36
29
-4
37
4
-1
-6
-4
3
7
24
-35
10
5
16
-16
40
18
-21
-16
17
10
28
-34
25
12
-23
-47
9
-33
52
25
33
-1
-60
-17
29
-9
-41
-11
22
-17
7
-4
23
-75
-38
-27
18
-19
-7
19
39
12
-10
-7
2
5
14
18
32
61
14
20
5
-5
-19
10
-41
-17
20
51
-10
20
15
-43
55
-29
22
22
10
-5
-4
-69
14
-42
-63
3
12
-22
18
20
-34
-1
7
-4
-5
22
5
33
-24
23
7
27
2
22
0
0
0
0
0
-38
-37
-4
-35
0
-61
60
32
-4
-24
69
-30
59
-3
-16
-28
-5
5
22
4
-48
34
3
-7
21
-12
-6
-11
17
-38
18
-15
3
-6
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
64
13
46
-68
-43
14
18
-32
47
52
-19
-19
58
-18
3
31
-26
-7
42
11
6
0
5
25
-5
6
7
16
-11
64
33
-12
20
0
0
0
0
0
0
25
12
17
-46
19
23
-56
-91
26
-14
-3
6
-1
-41
-16
5
11
16
-16
-26
-45
2
-23
20
34
63
18
16
22
-28
-11
-62
-13
-24
35
-67
-40
30
14
23
-32
21
-43
-83
-6
-81
-9
-23
-6
-2
10
24
-14
-19
11
59
15
-4
-52
26
3
-16
28
8
49
52
17
11
25
45
-7
0
26
23
15
-45
-42
-35
8
-58
-58
-31
-6
-7
2
-33
-42
-44
-8
0
13
-62
35
14
-23
51
15
-35
56
-24
4
-5
6
-24
-5
54
30
-9
-8
12
-6
-22
13
51
-7
-20
-42
-4
13
-9
-25
-18
7
2
-1
0
0
0
0
0
58
31
-25
6
0
50
-70
34
33
6
29
-2
-43
-24
0
-19
-10
36
-12
-63
23
3
21
30
50
-60
9
-32
1
19
-11
9
9
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-50
-2
-35
86
1
11
37
-15
13
-69
27
8
50
46
38
6
39
3
-32
1
-14
-9
32
-1
5
19
9
-3
8
11
11
-1
11
-36
0
0
0
0
0
-107
43
3
-16
-17
41
-18
-45
2
20
-59
-2
-38
-6
5
14
18
-25
-4
-6
-45
-33
-21
9
46
-8
7
20
-5
21
19
-12
8
15
-33
24
32
-27
-47
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-35
-3
-5
-21
27
25
29
3
-2
5
-12
-16
19
-30
4
-7
42
-23
-14
38
-5
63
6
-17
-2
3
-12
-15
-4
-8
8
-16
-4
1
0
-4
18
21
0
0
0
0
0
-5
2
73
-22
0
-56
42
-43
17
3
27
5
-22
14
-23
-39
-11
17
24
28
7
35
13
-35
-14
-20
-12
6
2
27
34
-14
0
-7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-5
6
-1
0
9
-28
-24
77
0
39
15
-10
22
0
14
3
-22
-30
0
-25
-5
-11
-1
0
3
27
26
-1
0
39
17
15
-1
0
0
0
0
0
0
8
5
-15
-22
0
-12
36
6
3
0
-41
12
53
-26
0
-14
-2
-16
61
0
-8
11
52
-7
0
30
22
22
31
0
-5
8
-51
9
0
15
-22
7
16
0
-4
1
41
9
0
-36
37
36
-5
0
-34
63
7
4
0
-31
-7
26
5
0
-4
24
-61
-24
0
-5
7
47
11
0
-6
6
-11
35
0
2
1
-1
-2
0
3
-10
-17
-12
0
-22
23
21
-2
0
-8
-2
-19
7
0
-46
39
33
-13
0
15
-79
-62
24
0
12
-4
36
53
0
-14
-1
44
19
0
22
1
-13
-7
0
17
-1
5
4
0
0
0
0
0
0
-7
-1
-9
0
0
-43
-27
8
48
0
43
12
29
-29
0
-10
28
-15
44
0
5
-20
-29
-33
0
10
23
-23
-24
0
36
-7
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
56
61
0
0
6
-14
-16
0
0
53
-26
117
0
0
-19
47
-6
0
0
40
-1
31
0
0
4
11
-2
0
0
16
-13
-15
0
0
0
0
0
0
0
29
14
-34
0
0
13
-45
46
0
0
-22
-68
14
0
0
-53
41
29
0
0
19
-19
-61
0
0
5
31
29
0
0
17
10
24
0
0
2
30
-13
0
0
8
-19
-18
0
0
11
-9
25
0
0
5
-15
30
0
0
-28
3
17
0
0
22
-8
-71
0
0
-3
9
-21
0
0
16
15
11
0
0
0
34
23
0
0
-12
-32
15
0
0
40
-21
6
0
0
-10
28
33
0
0
24
8
-4
0
0
54
67
-40
0
0
-13
4
36
0
0
25
-23
-3
0
0
-4
-9
11
0
0
32
25
25
0
0
0
0
0
0
0
19
35
0
0
0
18
-14
-6
0
0
4
-25
-35
0
0
-53
16
5
0
0
28
-5
-71
0
0
-3
54
24
0
0
31
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
5
-25
-16
3
8
-69
12
36
-7
31
-14
36
6
27
-6
42
12
61
24
-2
41
36
-25
33
42
0
14
17
-14
8
32
-17
-6
-6
0
0
0
0
0
41
54
-46
-19
6
42
-43
-31
7
17
0
-34
-14
8
14
-73
-8
7
-18
91
27
-54
-16
-24
-21
32
16
-10
7
-58
22
16
19
33
14
59
36
-13
26
3
-26
-89
12
5
0
43
-23
12
33
-11
16
34
-57
37
1
14
-15
-66
-18
61
-16
-26
-26
-43
58
-13
-14
8
22
-79
-1
14
0
14
41
15
2
10
-4
62
32
5
7
54
-11
40
17
11
3
0
17
110
-14
0
10
2
5
33
-44
0
5
-56
22
9
2
-3
13
-63
-6
-5
-8
-19
6
-7
22
32
7
-14
27
32
10
39
-7
35
38
0
0
0
0
0
-12
-69
-5
0
0
-13
70
32
-4
0
39
-21
-21
10
0
-53
-24
-40
-15
-1
21
-20
61
-60
30
33
5
6
39
-7
24
-18
-4
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-14
-5
-15
7
35
-50
34
23
-14
-22
21
-101
98
13
-21
-21
46
-8
34
15
61
8
-14
65
33
34
5
51
-8
99
13
13
1
19
0
0
0
0
0
40
22
1
0
-26
36
27
35
-34
-49
-8
-17
-35
-56
23
-23
11
-9
-13
64
18
-4
-13
-15
3
14
44
8
25
25
6
1
31
21
-4
59
44
14
18
-4
66
50
-25
-14
21
58
23
-7
-33
4
6
-43
21
-9
-1
-21
1
0
39
25
-32
-5
-64
23
10
-6
-1
49
17
28
39
4
20
3
29
-4
15
9
20
37
27
2
9
0
-32
-37
-46
-57
20
-6
-19
9
-21
4
5
22
-8
1
24
-23
61
-44
35
1
14
22
-1
2
4
-5
28
-16
13
-36
35
-3
5
4
5
4
14
7
6
14
14
0
0
0
0
0
92
-33
-29
-4
0
62
32
-60
11
9
-85
31
14
9
0
48
24
2
13
6
-44
90
-63
-51
-2
-3
-18
-11
-8
7
-14
-11
23
31
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
20
32
16
-32
8
29
23
-2
-7
92
84
92
-49
-110
-57
26
7
17
21
-2
46
38
5
-19
-22
-12
-17
13
44
63
89
-12
9
-34
0
0
0
0
0
59
-15
6
11
-26
42
-13
16
12
14
23
-5
-20
30
-25
4
-17
25
-8
30
34
18
31
-9
28
-9
23
27
4
21
22
19
2
16
10
39
2
8
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
33
-5
-42
42
5
8
-22
12
-54
45
-32
-12
65
67
-25
-13
-6
1
-1
30
-1
-1
12
-8
3
14
1
-16
0
11
-2
1
0
14
6
42
-10
9
-12
4
0
0
0
0
0
13
83
-29
1
0
22
-63
-11
62
-17
-74
-23
-62
33
2
14
7
28
-48
32
-29
73
35
8
-97
-1
-47
43
23
15
63
-7
-5
-17
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
76
-18
-5
0
24
41
40
30
0
21
17
24
10
0
28
64
-18
-88
0
-73
20
-16
43
0
-5
4
33
-10
0
60
39
18
20
0
0
0
0
0
0
-27
41
-7
18
0
-1
43
32
-41
0
15
-14
15
-5
0
70
-8
34
7
0
7
-15
12
-8
0
-26
9
3
29
0
13
51
23
19
0
-4
4
13
5
0
-42
15
-16
-31
0
27
-11
22
17
0
29
-52
22
10
0
-27
1
-34
-72
0
31
-54
46
62
0
-18
-2
-13
13
0
-4
10
6
51
0
0
25
35
15
0
68
6
0
-4
0
17
59
57
-6
0
26
13
-14
33
0
-31
-12
-18
48
0
-25
63
100
-35
0
-15
26
16
-30
0
14
-2
20
-8
0
0
-13
9
38
0
21
-1
15
23
0
0
0
0
0
0
-2
-3
-3
0
0
19
7
35
-4
0
-44
51
5
0
0
-17
-21
-22
-2
0
25
50
6
39
0
8
-8
45
3
0
-20
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
-12
31
2
0
0
72
85
-1
0
0
27
-4
11
0
0
49
-103
-39
0
0
4
-11
-31
0
0
-32
15
2
0
0
4
19
34
0
0
0
0
0
0
0
50
13
-21
0
0
14
58
2
0
0
84
52
3
0
0
-4
6
26
0
0
-32
-25
44
0
0
-19
2
-14
0
0
14
34
42
0
0
13
24
-69
0
0
5
-7
0
0
0
75
-25
-6
0
0
-30
31
0
0
0
20
10
-7
0
0
-51
17
44
0
0
61
6
-80
0
0
12
13
43
0
0
-3
0
60
0
0
32
73
-8
0
0
-14
-11
0
0
0
21
1
0
0
0
27
-10
-2
0
0
-56
-32
19
0
0
43
14
-7
0
0
-22
55
14
0
0
22
29
53
0
0
24
16
15
0
0
0
0
0
0
0
3
5
0
0
0
-31
-12
0
0
0
-8
14
1
0
0
87
-7
-2
0
0
11
-12
-48
0
0
-4
-45
12
0
0
-4
15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
4
-89
3
-84
-44
2
-29
-53
-46
42
4
-19
-6
-102
-43
-31
0
-12
-11
20
-19
37
26
3
46
-73
24
-6
-9
-80
43
-8
43
0
0
0
0
0
-4
0
-19
17
0
19
-14
-4
8
16
15
-40
34
-5
-14
-48
-52
53
4
26
10
4
-34
-14
7
-18
34
-14
7
11
-76
-22
-27
46
9
-113
-42
-15
-27
-31
-2
0
-1
0
0
5
-53
24
23
0
18
7
37
4
7
-44
75
56
68
-35
-22
100
-33
24
-74
-4
-52
35
-26
23
-5
24
21
16
19
-37
-57
-41
-19
-14
-101
-17
61
-22
-15
-24
-31
30
-8
-2
-56
-1
-2
68
23
78
-23
28
-8
-9
-8
-40
37
17
-40
34
41
48
6
50
-23
-31
-27
3
19
-52
-13
14
-21
66
7
2
-33
-20
-14
0
0
0
0
0
11
30
-72
13
-5
-15
10
19
-51
5
-34
-54
-20
58
-16
-19
16
25
22
-1
74
-33
-26
74
-27
-92
-20
-7
-25
-62
-25
-22
22
-20
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
6
-6
0
-26
-21
12
-40
11
-7
-123
-80
50
46
-50
26
6
25
-87
1
0
-51
11
2
35
-80
-7
12
-7
-111
28
-3
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
-9
1
-14
3
1
2
-7
24
10
0
0
1
3
0
0
0
-5
-13
0
1
-1
2
-3
-21
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
-24
18
14
-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
-19
5
3
1
-39
-9
78
-19
-9
7
0
-33
-5
1
0
0
0
0
0
-19
-33
1
-4
-2
40
-7
-3
20
7
-6
-29
-11
-51
-9
27
-20
-40
49
-14
10
62
36
3
-3
-8
7
-76
-2
-79
-5
-23
14
5
86
0
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
-3
-14
-42
-21
-62
-59
62
38
-22
-4
-18
-15
7
10
60
37
-20
5
-27
-50
-81
0
52
25
-62
10
-64
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-1
0
0
-5
2
-16
0
0
-15
-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
4
-26
-1
-2
1
19
-5
-11
18
0
19
-47
5
11
-19
-24
-83
42
-58
13
-59
-64
33
37
-10
24
-18
-19
-50
9
-23
72
11
4
-11
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
-74
4
-9
-39
0
4
6
-8
5
0
-75
13
-21
65
0
3
23
-5
-26
0
44
-39
-34
30
0
3
-113
116
-39
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
33
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
-16
17
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
-14
-16
0
0
-43
-28
71
-17
0
24
30
-1
-17
0
15
25
17
30
0
-6
-67
-47
39
0
44
3
-8
24
0
-27
28
-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
-5
-5
0
0
-8
-48
49
0
0
8
28
-20
0
0
27
42
16
0
0
-83
31
-15
0
0
18
-28
14
0
0
16
9
-46
0
0
0
0
0
0
0
0
-1
7
0
0
-66
-41
-4
0
0
-59
-89
-10
0
0
15
16
-32
0
0
-53
9
20
0
0
59
-52
33
0
0
-16
22
-13
0
0
16
69
46
0
0
0
0
0
0
0
-5
0
0
0
0
-27
-27
-27
0
0
-46
-13
-23
0
0
2
-18
27
0
0
-9
5
19
0
0
25
14
-23
0
0
-38
-17
20
0
0
18
-2
18
0
0
1
-13
-9
0
0
-48
28
21
0
0
-51
39
-24
0
0
-29
-64
56
0
0
-5
40
-74
0
0
19
10
-22
0
0
24
-12
22
0
0
5
-12
8
0
0
0
0
0
0
0
-5
19
-5
0
0
9
54
-23
0
0
5
7
-21
0
0
4
-71
-19
0
0
-33
-12
32
0
0
6
-13
28
0
0
50
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-12
-8
77
5
-43
-34
-23
-21
-28
-70
-49
55
-33
-45
-17
11
-27
-38
-12
5
-17
-16
-6
3
10
6
10
18
-11
-67
-34
-16
-10
14
0
0
0
0
0
-90
48
56
-11
10
-47
12
42
-16
-5
61
56
4
54
-126
58
6
15
-56
-35
-33
6
7
-2
35
-1
-2
-5
4
15
-20
-14
-8
2
15
-77
-8
-4
13
-31
-69
-3
4
40
-27
-14
-1
3
65
2
-39
54
-40
-7
20
19
-32
0
19
54
-11
6
-22
-47
43
-20
21
-33
-46
-2
4
-6
35
-19
53
-53
-46
-6
-4
-20
-17
4
12
3
1
26
6
38
-35
-2
12
53
-51
-13
2
-10
82
5
4
-39
99
-16
-24
3
-12
-23
-5
-5
22
9
40
-40
13
17
-26
-50
12
16
-2
16
-5
-1
-35
12
22
0
0
0
0
0
-46
-33
55
4
-40
18
-16
8
59
-52
69
26
-24
-60
20
6
18
23
42
40
-45
49
22
-18
14
-10
-5
5
15
6
-5
-13
9
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-30
-79
-5
-3
-63
-23
-4
11
-61
-7
-47
40
20
25
-67
-16
4
14
-28
-39
-16
-17
3
-28
-7
12
-4
-3
0
-119
-6
-16
3
29
0
0
0
0
0
0
0
0
0
0
4
5
-20
15
-1
-64
8
-23
-21
-19
-71
-31
-36
-18
-26
-6
46
70
-38
-49
17
33
26
32
-6
-73
-75
-71
27
-62
69
-152
-100
-60
21
0
-2
0
0
0
-1
0
0
0
-2
1
2
0
23
0
16
-31
15
55
-19
20
32
-35
-30
44
-15
-57
19
-15
-106
-25
-34
-72
-5
-11
-97
-62
9
-28
-23
-84
57
13
-54
24
6
0
0
-2
0
-17
-3
-7
-6
0
-36
20
-18
4
-1
23
53
-14
1
-20
43
45
9
-87
-23
-95
-13
9
38
-14
7
-69
10
28
40
-74
-45
-26
0
-18
0
0
0
0
0
-71
29
3
29
-6
-8
-7
26
79
15
53
17
-89
54
36
78
16
19
-9
-39
1
-14
28
-31
4
-34
-16
-5
15
16
23
-6
3
-15
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-17
20
-12
3
-77
-81
71
-13
-56
-92
-57
-21
48
35
-39
18
-40
22
41
73
-36
-14
1
-14
54
9
-10
6
7
-42
5
-26
-43
-42
0
0
0
0
0
0
0
0
0
0
0
4
1
6
-1
-59
-33
-18
-10
14
-48
-27
9
32
-27
-72
53
-80
18
-14
48
-38
27
-48
71
71
-151
-91
-26
-19
-31
-31
-16
-63
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-13
-43
0
5
-7
21
28
-9
18
7
-42
-90
2
-32
-5
18
16
40
-14
-13
-51
-14
-3
0
0
0
0
0
-1
6
-35
-30
3
11
-4
62
-52
18
-62
-3
144
3
6
57
-3
-46
37
-59
-29
-6
-31
81
-12
-31
7
1
19
-6
37
17
10
-27
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-33
13
-2
0
-30
-28
-35
-4
0
-48
45
44
-31
0
-22
-40
-3
-18
0
-14
5
-5
6
0
-24
-25
3
7
0
-17
-4
1
-21
0
0
0
0
0
0
0
0
0
0
0
1
4
-27
-8
0
-29
10
35
-26
0
-3
32
66
-17
0
-47
14
-88
-3
0
-13
-6
14
-44
0
34
-55
-13
-86
0
38
-28
-74
22
0
0
0
-3
0
0
-27
2
0
-2
0
-5
1
-30
-17
0
-121
48
-7
-5
0
-34
13
-43
-4
0
61
-97
24
41
0
119
67
-33
-10
0
-20
-40
-57
7
0
11
-73
59
-17
0
-4
0
3
1
0
0
-4
-39
5
0
40
9
-49
-26
0
-23
24
-12
-20
0
-80
-25
-19
1
0
-147
-4
-34
-21
0
-20
-63
19
19
0
182
6
2
-52
0
0
0
0
0
0
38
-20
1
-5
0
-9
-6
9
-49
0
-25
-26
4
66
0
-9
26
10
-52
0
-30
-13
35
10
0
5
4
-13
-34
0
35
16
19
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
11
28
0
0
32
-24
45
0
0
-28
10
-35
0
0
-14
3
-3
0
0
-15
-7
2
0
0
11
0
-1
0
0
27
38
-37
0
0
0
0
0
0
0
-7
4
-40
0
0
-14
30
10
0
0
-42
7
-64
0
0
26
-32
31
0
0
-25
-20
25
0
0
27
37
-35
0
0
-84
-19
12
0
0
-1
7
6
0
0
-17
0
18
0
0
-11
-2
-17
0
0
-31
26
-42
0
0
18
-3
28
0
0
14
4
-2
0
0
2
34
-24
0
0
-50
-15
-3
0
0
8
-19
-40
0
0
61
-12
-14
0
0
-5
16
-7
0
0
-21
75
-24
0
0
-11
5
-21
0
0
52
4
-33
0
0
-4
-11
-24
0
0
-65
-7
50
0
0
14
-7
-2
0
0
37
-28
-7
0
0
0
0
0
0
0
18
71
-1
0
0
17
-14
-5
0
0
-15
28
-4
0
0
-34
-22
4
0
0
19
-40
39
0
0
12
-23
10
0
0
18
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-3
13
42
-1
-44
-32
54
-90
0
48
-53
47
-21
-26
53
3
29
10
-78
0
-13
-5
-8
9
6
27
-11
11
14
-19
-9
23
-1
40
0
0
0
0
0
69
-31
83
16
-30
-5
16
-23
9
6
-81
-78
68
-43
34
14
21
-46
13
4
10
10
15
-3
-58
13
19
21
14
-27
-29
1
-4
2
35
29
14
-21
0
8
11
62
-72
18
3
42
-27
75
-63
-46
-1
-27
35
11
-47
65
1
-43
1
10
29
4
15
-24
46
-14
0
-40
28
-16
-7
25
-2
0
-20
20
-9
-3
10
-12
39
38
30
-20
52
31
-66
20
43
0
-34
-33
-4
-17
21
-1
76
6
5
-7
-16
-63
63
-28
31
-7
-5
-12
30
30
-29
-7
49
-55
4
-13
-6
-16
15
-24
-11
8
-42
13
2
0
0
0
0
0
36
-2
20
19
-16
16
-39
-35
53
18
19
-5
-18
-7
-14
-98
-39
18
34
-24
5
23
42
-33
-14
-29
-7
22
-11
25
22
32
-24
-8
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-61
-18
30
-11
-21
-72
2
13
-53
-7
-20
59
35
-30
8
35
6
-44
-29
-6
3
-4
1
23
9
-12
18
-10
10
5
-13
-17
22
-5
0
0
0
0
0
-50
-4
35
52
-19
-92
-16
20
58
18
-69
11
87
-26
27
37
-34
-32
78
-24
-12
-14
25
2
-16
-42
3
-8
-6
7
-77
-88
-4
-15
-27
-11
-19
-57
-29
7
-33
-71
34
-23
-5
-35
-39
30
14
-15
-120
31
-68
31
3
-31
-1
35
-45
-13
-7
52
19
-14
-15
43
-26
-33
-26
3
-39
17
-21
18
19
-1
-15
-14
-30
-6
-44
-12
8
4
12
-140
52
-2
-57
-9
-82
-108
5
42
16
-6
-3
35
-83
5
-2
52
-63
11
-17
32
-5
38
-32
-47
-15
-16
-20
5
-19
-7
7
-15
6
-1
-60
-20
-8
-7
25
0
0
0
0
0
8
-18
36
-52
-14
-5
-25
14
-5
-15
57
36
25
-42
7
31
-64
-10
44
-4
11
-6
-9
-42
21
14
-6
4
25
-15
-15
23
-1
-1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
42
13
6
5
-43
-17
-16
7
51
17
-110
20
-1
41
10
1
-31
-15
-50
13
15
-10
27
-14
-1
4
14
2
-25
10
-35
19
-12
31
0
0
0
0
0
-54
-23
5
-47
0
-52
-33
5
-42
-18
-31
-33
-41
-46
6
18
-31
-45
-3
13
15
9
-10
-19
-95
-20
-34
-25
36
-28
3
-37
-17
-17
-19
-80
8
-21
-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
19
15
-18
-24
-4
58
-17
-29
-6
-5
-52
15
-18
6
-20
55
-33
-11
-29
-7
20
-17
-14
25
-31
-85
-24
-2
38
-26
-9
2
11
14
16
-38
-12
-9
4
-26
0
0
0
0
0
-16
10
42
-19
3
29
3
-16
-14
-20
24
34
-43
4
-49
-2
-41
-24
-5
-33
32
-7
48
25
43
-1
20
-15
5
-42
81
5
4
-6
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
15
46
-9
0
5
-60
42
48
0
-19
30
-15
-27
0
-37
-26
1
-19
0
15
-3
-4
-19
0
-3
13
7
-8
0
-35
27
-3
26
0
0
0
0
0
0
-33
-52
8
14
0
4
-17
-66
-12
0
-80
-20
-75
74
0
-14
3
-19
-23
0
-25
-30
-6
-40
0
62
0
20
-29
0
-43
-54
-2
5
0
-62
16
-11
-45
0
-23
-3
18
1
0
10
25
10
-32
0
7
-62
21
-30
0
13
-32
30
18
0
49
17
0
5
0
-31
12
-87
41
0
-57
-2
26
-41
0
-16
-10
-32
-10
0
47
-31
20
5
0
87
-30
-24
9
0
-64
3
23
-28
0
-4
-19
52
2
0
46
-26
-23
-53
0
-69
8
-13
-26
0
0
-43
-6
-13
0
-25
15
-2
-5
0
-21
9
-22
4
0
0
0
0
0
0
34
62
-6
6
0
8
-4
44
-23
0
-11
-8
13
-40
0
6
-54
41
-15
0
23
14
-24
12
0
-5
-15
8
36
0
-60
35
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
-14
-22
0
0
19
14
6
0
0
34
43
-25
0
0
-4
-22
-51
0
0
0
15
2
0
0
-5
-32
21
0
0
1
0
-35
0
0
0
0
0
0
0
14
17
20
0
0
7
50
-10
0
0
34
-20
18
0
0
30
74
-39
0
0
-10
15
-12
0
0
1
-10
-5
0
0
2
-26
-31
0
0
-13
22
29
0
0
-1
7
2
0
0
0
-15
-5
0
0
21
24
-8
0
0
61
-30
-51
0
0
13
-50
-5
0
0
-8
13
-7
0
0
20
45
-9
0
0
35
-3
40
0
0
-109
31
-43
0
0
-24
50
0
0
0
31
24
5
0
0
-36
-81
-1
0
0
-16
3
-81
0
0
55
-31
7
0
0
-28
0
-20
0
0
0
-4
54
0
0
24
-33
17
0
0
0
0
0
0
0
9
-4
6
0
0
65
11
0
0
0
14
61
43
0
0
53
-18
-53
0
0
0
82
-26
0
0
-30
6
19
0
0
-35
-30
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
45
0
-1
0
-60
-28
-4
53
6
-75
-101
66
3
-21
2
5
13
-31
-22
47
47
-27
37
25
14
13
58
-56
32
35
72
-14
-11
-38
0
0
0
0
0
-33
-20
10
11
0
-17
20
38
-27
0
2
-33
-10
-66
-33
-44
21
-48
33
46
8
-83
2
24
56
20
38
-16
-29
31
0
4
28
-77
-13
95
-15
1
57
-8
-26
1
0
0
0
16
1
5
-10
7
53
35
-16
9
0
64
-89
3
-22
-1
8
-24
42
-61
-73
-109
-78
-6
31
7
-19
-15
21
20
-24
45
31
-6
6
-17
34
32
-10
35
46
53
-15
-7
-13
0
-38
-51
16
25
-3
-125
-12
57
35
1
-104
-7
9
-49
-6
-52
8
9
-34
23
35
-17
-90
67
44
40
21
-12
-5
-11
123
-11
49
-53
-45
0
0
0
0
0
18
80
-5
0
0
3
1
5
0
0
18
-8
-50
-17
-1
7
71
-41
2
1
-25
50
115
-2
-25
28
-36
-52
39
-36
-10
-68
40
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-110
57
11
-8
1
-55
28
-13
-23
-6
-63
6
-18
18
33
5
12
-38
23
-7
33
-56
-13
27
49
48
45
-33
-29
-9
107
11
82
-19
-6
0
0
0
0
0
-50
-21
-40
-35
3
-3
-16
16
9
18
-47
-39
37
21
-51
-57
25
-36
12
-10
-39
0
-28
-2
-45
2
-23
1
4
-19
-36
-25
6
3
29
28
12
-7
3
-14
-39
9
48
5
2
10
-29
46
22
26
38
-51
44
-70
-20
-52
20
17
-24
-47
51
-24
20
-25
-22
-33
14
-6
14
20
-17
54
-7
-13
-7
15
17
-2
-23
-3
-16
-18
7
-3
7
63
23
31
5
-31
124
1
-17
50
-4
-34
23
7
-11
-18
-48
-31
4
78
20
-74
-24
6
-30
62
-12
-1
-18
4
2
20
30
-11
-3
23
20
4
-14
-11
-6
0
0
0
0
0
-11
3
-15
30
0
7
-44
69
-16
8
69
-33
-4
-16
-1
-33
-74
-70
-31
43
-27
58
-19
28
8
-42
6
-9
-7
17
11
62
51
27
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
-18
1
0
24
-62
-38
38
32
90
-30
-14
22
5
71
-19
-29
-26
-54
-11
30
16
16
19
-5
13
-49
-24
31
63
52
34
-12
-17
0
0
0
0
0
-11
41
-40
-12
1
-72
-3
3
14
-8
-33
5
25
-59
43
-24
-64
-25
31
25
-27
-9
9
0
-71
-21
45
-2
2
-38
-30
-58
17
-1
20
-3
30
-16
-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
-4
-15
50
-33
5
-21
-26
45
13
18
3
10
-72
9
-5
-52
-13
21
-36
-91
7
18
-17
-2
-38
25
2
-7
15
-22
-1
-9
-2
9
36
-33
-24
24
-6
-15
0
0
0
0
0
-3
9
-6
1
1
34
5
21
-10
0
5
0
29
-28
0
-31
9
26
-44
-9
19
9
-21
-2
-23
3
-46
-53
17
16
-6
93
28
19
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
-1
0
0
4
53
30
-8
0
15
72
-51
-48
0
53
-20
62
-28
0
-21
48
-39
37
0
19
-2
5
-3
0
3
15
25
-52
0
0
0
0
0
0
17
-6
63
8
0
27
-73
-10
3
0
-82
-45
30
30
0
-21
32
-61
-50
0
-9
-25
-4
-26
0
10
10
-29
-51
0
0
21
-3
14
0
-4
-21
17
8
0
27
-4
-77
-32
0
87
12
-52
-52
0
-48
-10
24
-8
0
6
-3
50
-15
0
-14
-11
33
16
0
1
25
-34
-48
0
-38
-31
26
-14
0
2
-20
-17
27
0
-26
62
12
14
0
-32
-26
-17
5
0
32
-42
-27
5
0
53
-21
-26
-4
0
-14
-34
-24
-19
0
16
6
-24
14
0
-27
38
3
27
0
4
2
23
-10
0
-49
55
2
-10
0
0
0
0
0
0
2
7
7
0
0
5
17
-8
-5
0
25
4
24
-1
0
-5
6
52
-14
0
3
-13
7
1
0
-29
-16
-4
19
0
-13
-40
-21
-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
-4
0
0
-28
-24
-1
0
0
148
-8
20
0
0
-1
-4
-19
0
0
-9
-7
-8
0
0
-67
7
35
0
0
27
-32
-5
0
0
0
0
0
0
0
1
2
0
0
0
55
-23
-3
0
0
43
-24
33
0
0
-5
-28
-33
0
0
-18
-3
-44
0
0
16
-40
20
0
0
28
-9
27
0
0
-45
3
9
0
0
0
0
0
0
0
5
-1
0
0
0
14
20
2
0
0
-49
-2
-5
0
0
-28
4
-22
0
0
-21
-30
-5
0
0
57
-30
-2
0
0
-47
18
11
0
0
0
13
6
0
0
2
-3
0
0
0
3
1
0
0
0
16
-14
0
0
0
-11
1
5
0
0
64
45
-26
0
0
13
-4
-40
0
0
-98
-13
26
0
0
-2
-4
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
5
0
0
0
-14
11
-1
0
0
1
-15
-17
0
0
9
58
-32
0
0
1
37
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
1
6
-2
-1
0
71
20
-43
1
0
50
-51
5
-49
-2
-25
45
53
17
9
64
13
-98
17
4
19
-18
12
2
-64
0
0
0
0
0
0
0
0
0
0
-6
-9
0
0
0
8
-65
6
0
-1
-7
2
4
5
1
-21
69
-56
-25
-17
89
39
31
6
11
26
36
14
-31
-26
90
16
61
-61
81
0
0
0
0
0
28
1
0
0
0
30
-9
0
0
0
-4
10
-1
0
0
-33
49
-92
44
0
-25
-3
6
-52
0
54
62
-3
-44
19
-4
27
24
-34
-43
73
-5
-34
2
-1
5
14
0
0
0
22
-1
-1
0
0
8
14
0
0
0
17
33
-26
0
-1
0
5
15
16
0
39
-28
-19
-30
27
61
-17
39
-26
5
-95
52
17
0
-60
0
0
0
0
0
22
-1
0
0
0
5
0
0
0
0
0
2
0
0
0
0
1
-2
0
0
21
-18
4
1
1
-4
-5
41
21
0
2
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
-22
-5
-2
0
0
13
-5
35
-23
5
23
15
-26
-71
-23
-43
-45
-4
7
-14
89
27
15
-3
17
123
18
61
125
-30
0
0
0
0
0
-29
16
17
0
0
-43
-39
5
18
-15
-39
24
19
16
-24
2
-26
5
29
-10
-21
-48
-49
-17
25
35
-23
-80
7
12
42
19
2
-12
-43
21
77
5
-6
32
-12
-23
0
0
0
98
-13
-13
4
-15
33
2
-28
5
-2
34
-23
-69
25
-4
-2
-51
109
23
22
-81
33
-3
15
23
-2
-7
-4
7
25
122
30
15
-45
0
25
-40
56
-22
12
52
30
8
15
20
17
78
-31
9
17
-24
-51
13
26
-3
-45
-114
-28
-44
-20
-47
-19
-48
60
-32
59
30
-12
-19
12
39
68
0
14
-17
28
16
71
-42
-1
0
0
0
0
0
-10
29
0
0
0
14
0
0
0
0
0
3
0
1
0
0
0
4
1
0
0
-11
-6
-8
0
4
-16
4
24
-22
-2
-2
-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
0
0
0
5
0
-3
-13
0
5
-4
17
15
48
5
-32
12
-47
7
-21
11
-2
63
-22
-62
-10
23
-17
-56
134
22
4
-9
58
0
0
0
0
0
0
1
2
0
0
5
-5
-66
3
2
119
-49
-38
33
-41
-14
26
50
3
-73
17
29
0
-50
33
13
8
-61
-49
67
-1
16
21
-24
25
-71
-49
54
52
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
1
0
12
33
-16
20
-1
1
-3
6
-30
0
-25
7
-25
-25
58
-43
-28
16
-34
62
8
-23
10
32
-18
35
-21
45
31
-70
0
108
-49
-6
-48
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
0
1
0
4
-5
4
35
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
-8
24
1
0
28
2
121
39
0
-21
-33
-64
-10
0
77
81
-23
13
0
0
0
0
0
0
0
0
-3
0
0
-6
-20
33
-4
0
-4
49
-2
-54
0
-18
30
31
4
0
-65
-11
12
32
0
-2
6
24
-41
0
46
-63
-11
-62
0
73
-1
18
-17
0
0
4
0
0
0
-46
-11
-14
10
0
7
30
-1
9
0
3
8
30
8
0
-63
-26
-73
-51
0
-91
-47
-60
-21
0
10
16
24
-11
0
18
-28
9
-48
0
0
52
-45
93
0
6
20
-16
0
0
-43
52
0
-2
0
45
2
-18
0
0
-36
58
-30
4
0
46
-65
56
-21
0
40
-88
-14
-10
0
-87
-32
59
-26
0
0
7
-21
-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
-23
0
28
0
0
-4
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
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
-14
-23
0
0
-27
71
-14
0
0
65
60
8
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
-18
8
-13
0
0
-18
-30
10
0
0
16
11
-50
0
0
-14
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
1
0
0
0
1
-5
-1
0
0
2
10
-4
0
0
0
44
15
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-34
0
-25
0
0
5
35
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
-3
0
0
0
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
14
0
-1
72
-4
-23
30
5
97
33
-21
58
-14
-50
-9
37
11
-17
41
17
-13
-8
4
-35
24
-2
10
-1
-37
-43
23
14
43
0
0
0
0
0
-68
-88
37
62
5
118
-24
4
1
-3
62
33
-49
-52
0
3
-15
63
-18
-40
-26
-77
-70
-18
15
-1
-16
7
29
-15
-9
-7
-14
22
40
-29
110
61
60
15
1
-5
-31
5
0
42
53
15
-6
-2
16
-58
-8
23
0
18
32
-65
3
-42
-87
41
2
-5
-24
-3
-56
28
7
-5
34
16
-33
3
3
-21
28
3
25
3
76
-8
14
-23
41
2
-53
-2
0
1
30
59
-16
14
-4
19
-71
-37
0
0
7
-7
-55
-20
-20
4
6
-15
-23
71
-15
3
6
34
-32
64
8
12
-6
-21
-16
19
-9
25
45
0
0
0
0
0
-9
3
3
0
0
38
1
-9
-3
0
25
-45
15
-6
4
7
-69
25
-26
-51
26
-95
5
14
-1
-13
-11
-32
3
12
58
17
32
-23
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-32
-34
-84
8
-7
43
14
24
10
45
-8
7
25
3
-46
-9
40
33
33
-44
-15
19
47
-5
-13
3
-5
14
4
28
31
1
53
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
-18
22
-15
0
0
15
97
-12
-6
1
20
26
20
23
-5
-30
6
7
-33
47
-1
46
33
35
-60
-21
-13
-15
-43
19
25
40
20
10
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
2
74
31
-14
86
-9
-15
-3
-46
-8
34
6
-17
-25
-12
-15
-8
8
4
28
-15
-14
-2
48
-4
8
5
-3
-10
18
-14
7
3
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
78
-7
-50
10
-48
8
-70
12
12
-7
1
-1
1
-8
-5
-29
-6
13
13
25
-16
13
-4
25
-15
-1
-7
1
-6
-17
-27
-6
-36
3
1
29
-1
-19
-20
1
4
-4
9
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
15
14
-35
54
0
-24
41
3
43
-5
-11
27
-5
14
-5
53
72
-33
-7
10
-40
-18
13
-6
14
-56
3
21
-36
0
11
-5
23
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
92
42
26
0
-11
-22
-53
55
0
-15
0
-47
14
0
0
16
3
-62
0
43
3
30
-21
0
9
9
27
-15
0
14
-17
-39
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
19
6
2
0
0
-5
1
-10
-7
0
-17
34
-34
1
0
63
-12
13
-54
0
-5
-23
-10
-36
0
-2
6
4
-16
0
-9
-2
-9
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
11
-2
0
0
-13
-14
16
0
0
17
14
-29
0
0
-8
20
-86
0
0
-56
14
47
0
0
45
-6
1
0
0
21
11
34
0
0
0
0
0
0
0
72
-10
19
0
0
-14
-22
1
0
0
17
45
-3
0
0
35
29
-36
0
0
83
-1
8
0
0
1
20
2
0
0
-19
-21
-19
0
0
-33
5
55
0
0
-6
-7
0
0
0
14
5
0
0
0
-18
8
0
0
0
18
-25
85
0
0
-16
-14
2
0
0
3
8
-3
0
0
1
-4
-10
0
0
-32
-21
-47
0
0
0
5
45
0
0
7
24
0
0
0
-6
0
0
0
0
-45
45
3
0
0
-4
15
-21
0
0
48
6
-52
0
0
26
18
-51
0
0
-26
-14
6
0
0
3
5
43
0
0
0
0
0
0
0
-1
0
0
0
0
7
11
1
0
0
8
-8
0
0
0
55
5
4
0
0
-16
7
41
0
0
16
-67
-31
0
0
-1
10
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-6
14
-26
0
-24
22
-24
16
-1
15
38
37
25
-4
6
-6
-32
-59
-33
11
13
19
15
-3
4
9
0
12
-11
35
-29
20
30
42
0
0
0
0
0
60
139
0
-18
0
24
33
-20
-1
3
-52
25
-26
10
17
18
74
-17
59
-26
-26
60
-33
34
44
-3
-35
3
14
-1
-29
8
-2
-6
-1
79
39
38
13
9
-33
2
5
1
0
59
34
-43
-25
-2
40
32
-12
-18
0
-19
19
40
-47
5
83
37
38
31
-57
-33
-16
-4
4
39
17
-24
-5
-14
-36
28
31
-12
8
-5
53
0
20
17
-43
-6
12
15
0
-1
40
-44
9
0
0
21
8
5
-7
0
-22
-10
44
-36
70
13
-25
-36
8
-39
-129
-18
32
-14
51
19
-1
13
48
-34
45
34
-5
-16
-70
0
0
0
0
0
44
5
-10
0
0
-38
8
15
-1
0
-5
27
-34
24
-1
23
-52
29
-33
35
61
-18
-53
23
8
19
61
-15
-45
-23
-52
-15
-30
65
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
25
20
17
0
55
-24
-14
56
19
91
-43
61
-135
-11
-42
-26
72
-5
-5
37
8
-10
22
57
-15
9
-9
-19
-20
32
40
26
60
-6
0
0
0
0
0
7
-28
4
-32
12
11
-2
52
60
-1
50
-5
48
-16
29
4
22
89
35
-44
-5
38
-24
41
-26
-36
7
18
2
9
26
-34
-34
-20
39
15
-26
43
30
46
-46
-24
-21
53
1
21
26
-14
-10
0
-9
-38
60
4
-65
-39
-19
-6
10
13
-3
-19
-17
53
-6
21
-6
-20
-16
-16
-10
-20
10
14
7
-18
13
25
-2
40
45
47
16
11
21
19
-6
5
-1
0
91
35
16
-45
14
-20
23
3
-8
-1
-35
-48
80
-15
-53
11
12
-13
-4
-75
-73
-53
14
0
24
15
12
-16
15
49
-5
41
36
19
4
0
0
0
0
0
39
39
26
1
0
47
23
10
-13
1
16
-38
30
-76
-5
-24
5
-25
-9
17
-26
-1
-43
23
35
91
17
-3
7
27
22
7
31
-16
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-33
-24
23
0
31
59
14
-23
-10
2
80
40
16
5
60
69
-47
10
-5
12
19
1
-44
44
12
12
6
13
14
5
17
7
10
1
0
0
0
0
0
17
-56
57
3
0
25
20
-12
-5
-20
38
21
-34
-56
-24
-15
-40
-3
25
-7
0
30
12
-7
43
3
-7
6
-6
-40
-47
-17
3
6
4
29
50
-9
-21
29
-48
40
116
-62
-6
-36
67
-13
5
1
0
35
-54
66
-52
44
-3
10
-52
-55
2
17
5
-15
-1
-2
2
-17
-4
12
-2
2
-1
-1
-1
5
6
17
18
13
0
8
-5
-9
-4
-32
30
15
-27
1
14
22
-53
19
0
-28
-18
-38
46
0
38
34
-6
-16
14
56
-60
13
44
17
30
12
12
-29
21
-5
30
8
21
-11
1
4
32
-8
-5
0
0
0
0
0
20
-14
3
0
0
-53
-25
-7
-1
26
46
38
-14
29
-2
-3
1
28
-5
21
-35
21
20
-36
27
26
12
29
-9
-57
5
22
0
14
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-38
11
-2
0
-7
25
16
-16
0
45
-29
90
53
0
18
24
-50
-24
0
37
19
37
-7
0
5
8
-17
-5
0
1
-3
0
20
0
0
0
0
0
0
56
-21
-11
-50
0
-8
34
-14
18
0
-28
17
-33
-16
0
26
-28
-25
-31
0
18
-33
-7
18
0
5
6
11
-15
0
-31
5
-6
14
0
-30
0
-7
38
0
-6
9
-18
-2
0
-38
-23
17
21
0
34
0
31
42
0
100
24
-7
5
0
20
-13
-12
-84
0
-22
16
8
-9
0
-2
4
10
22
0
1
-22
1
-20
0
-16
1
55
20
0
-26
-3
0
0
0
-16
-12
3
24
0
27
-43
21
-3
0
77
-30
-30
2
0
37
18
-28
11
0
54
-10
-30
-64
0
18
-9
-22
-6
0
-1
6
55
-8
0
0
0
0
0
0
-35
-36
5
0
0
17
-4
0
-20
0
-53
-19
78
1
0
-54
3
-34
24
0
-8
2
0
-4
0
-84
-57
2
1
0
15
-5
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
10
0
0
0
50
7
0
0
0
-9
26
33
0
0
39
23
-49
0
0
7
-33
21
0
0
5
14
-48
0
0
8
-1
9
0
0
0
0
0
0
0
-31
-5
-2
0
0
-1
59
0
0
0
46
29
-10
0
0
5
21
-83
0
0
1
11
-16
0
0
17
13
26
0
0
1
-1
26
0
0
-10
-43
22
0
0
45
0
0
0
0
4
6
0
0
0
18
-5
0
0
0
7
57
-7
0
0
-44
79
-29
0
0
32
-48
-2
0
0
20
10
12
0
0
-83
-9
15
0
0
-5
8
50
0
0
0
0
0
0
0
8
-5
0
0
0
3
14
-1
0
0
4
-15
6
0
0
33
17
-98
0
0
9
32
12
0
0
11
-9
-28
0
0
-16
30
-4
0
0
0
0
0
0
0
-3
-7
0
0
0
-3
17
0
0
0
-5
-15
0
0
0
-1
14
18
0
0
-6
10
-4
0
0
-63
-8
-38
0
0
5
21
43
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
40
34
-82
-1
0
-55
-11
15
11
2
27
22
-9
-5
-20
40
13
49
30
22
-14
-23
-15
-19
13
41
4
14
43
-20
0
0
0
0
0
-32
-10
-3
0
0
3
-14
5
0
0
-26
1
-23
1
-1
40
43
-33
-4
2
9
-87
-27
32
24
-15
38
5
-4
48
19
-4
35
30
-22
110
63
16
22
46
63
3
0
0
0
-27
-23
-9
0
0
40
11
8
0
0
-18
-1
-14
1
0
40
-81
94
-47
-18
-12
-45
-81
24
2
11
-20
10
38
-35
58
27
-10
-28
32
-4
39
-36
-8
51
43
-19
0
0
0
47
5
13
0
0
15
-19
0
0
0
-16
-29
-40
10
2
-42
-7
22
2
13
-26
-13
-12
-7
-29
34
-56
-18
-62
25
-39
38
14
71
-5
0
0
0
0
0
37
-51
0
0
0
45
-1
0
0
0
-15
4
2
0
0
-32
1
-29
-14
0
32
31
-18
8
-7
16
11
-30
-55
2
-21
-11
36
23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
1
-2
0
173
-7
13
-5
1
13
45
-74
-3
22
-31
-29
1
55
56
-25
68
39
-3
-4
21
3
-26
13
-20
26
46
-3
23
16
0
0
0
0
0
-3
-29
-4
4
-1
35
17
-51
16
0
-12
-102
-30
-39
94
-69
-118
-3
-46
24
-28
-52
11
-75
40
25
-10
-14
-30
-10
25
4
26
21
1
52
45
25
43
-25
50
-26
18
12
1
-21
127
-47
-3
5
36
39
-19
8
14
54
-32
41
-19
-4
7
-36
31
-13
-64
-13
-20
-49
-10
36
33
8
-12
-14
13
21
8
27
12
-13
16
12
27
29
56
62
40
-4
23
0
85
24
-18
-17
3
26
-13
41
-60
1
-10
-6
21
-44
67
-43
12
-17
-10
60
51
-27
-9
9
0
42
7
-2
-16
-18
-18
60
18
43
-58
0
0
0
0
0
18
-6
0
0
0
-1
5
-1
0
0
-4
-13
-16
5
0
-4
-37
58
31
-6
47
15
43
29
-26
20
4
17
-52
2
-41
-3
-49
24
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
-1
-1
0
44
11
-15
-2
0
16
51
21
-33
3
-52
-49
97
-72
-3
121
12
13
1
33
4
14
-5
-1
-18
10
8
21
27
14
0
0
0
0
0
-34
-2
43
5
-1
-56
-8
43
11
10
-82
-15
24
63
31
31
27
-4
17
30
68
-49
46
-21
-54
19
19
7
-22
-10
17
4
-12
3
4
5
45
23
32
45
15
-53
-53
52
7
11
14
18
-8
30
10
-8
18
8
27
-30
24
-51
65
48
23
-2
-7
-3
8
-34
15
14
22
14
9
-15
6
4
3
-35
10
31
6
4
117
-26
-8
10
-61
15
-28
-4
34
-17
-19
10
98
44
15
10
-32
44
-4
0
0
-23
34
51
-8
-1
7
17
-39
5
20
-20
4
-24
48
23
36
4
-2
-34
-42
16
7
12
9
0
0
0
0
0
49
5
7
0
0
11
-10
16
6
0
-23
14
-14
24
0
-25
6
51
-19
-3
9
-24
64
-10
-34
-60
2
-5
16
-1
44
72
-62
-86
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
45
-19
-47
1
0
24
6
23
29
0
-3
20
-82
-6
0
55
3
23
25
0
6
-41
-16
-26
0
-33
55
16
72
0
0
0
0
0
0
-38
26
30
8
0
-26
17
-20
8
0
6
-3
14
50
0
-28
34
53
-10
0
86
-10
-14
-17
0
2
-5
20
16
0
-14
17
-9
20
0
-7
-3
-37
-22
0
0
0
14
0
0
36
-32
20
-33
0
16
18
59
0
0
-6
-34
19
44
0
-14
75
-32
-43
0
16
20
20
7
0
4
2
19
-5
0
-11
-40
9
58
0
17
41
-99
-23
0
5
-13
-10
0
0
-24
27
39
0
0
24
-4
16
2
0
-76
73
-78
-5
0
2
-29
76
43
0
-20
-5
-32
38
0
14
-7
12
-13
0
8
5
-21
-15
0
0
0
0
0
0
3
6
8
0
0
8
-5
0
0
0
18
-6
-4
0
0
23
-74
6
5
0
-12
2
31
-31
0
-59
-20
-43
1
0
-22
76
-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
2
0
0
0
0
0
-1
-1
0
0
0
-5
15
0
0
56
-26
-28
0
0
37
28
17
0
0
-9
9
22
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
-5
0
0
0
0
2
1
2
0
0
30
-13
49
0
0
19
20
28
0
0
-25
43
-22
0
0
-5
-80
-82
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
18
15
0
0
0
5
-13
-4
0
0
3
-50
-3
0
0
-36
-97
-62
0
0
-3
38
34
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
-12
41
-14
0
0
-7
-14
-62
0
0
59
5
5
0
0
-78
-24
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-24
1
0
0
0
-39
5
9
0
0
14
26
-1
0
0
-18
-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
-2
-2
2
0
-39
-10
50
32
1
-12
44
33
-29
9
0
-18
-14
-2
3
-12
43
-27
-29
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-2
0
0
0
11
-2
0
23
-6
-13
-23
15
33
35
3
26
-23
-79
-53
-8
33
32
-97
-22
-2
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
20
-33
-13
-35
-1
4
27
74
-42
-23
-93
-27
-30
90
43
-19
-66
-36
-24
-6
-102
-3
-29
-43
-46
0
0
0
0
0
0
0
0
0
0
-5
-3
0
-2
0
4
-7
-6
3
0
-12
-64
53
65
-3
28
49
4
-7
-19
-25
14
-21
-38
24
-76
-13
-23
-33
36
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-6
7
0
-1
0
-23
14
5
-2
-11
-2
-52
-13
61
1
16
27
-66
4
10
-27
34
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
-2
-2
-2
-1
10
-25
-8
-100
3
-1
49
-50
9
8
-14
-46
28
5
-13
-134
-43
34
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
-10
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
23
7
14
-4
-49
27
29
43
-23
-1
-41
20
4
8
16
33
-6
-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
3
-3
-1
0
0
-32
-100
-5
-15
30
18
-3
29
-11
-33
3
20
-6
7
-19
-72
10
-64
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
-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
-20
25
-19
0
-3
-24
9
3
0
2
-5
-23
20
0
45
21
-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
-1
0
-3
-1
0
-25
-35
45
-5
0
10
65
8
-54
0
27
-119
7
53
0
-33
60
-71
-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
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
-33
2
10
0
-7
2
23
-3
0
18
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
-3
0
0
0
0
-21
-5
-17
0
0
8
-21
-30
0
0
-40
-24
-6
0
0
-11
94
6
0
0
0
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
-38
-17
0
0
-2
-14
-14
0
0
-53
-25
58
0
0
44
28
-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
-1
-22
15
0
0
-4
3
45
0
0
0
-3
-21
0
0
6
70
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
0
0
0
-29
13
15
0
0
13
-46
2
0
0
22
3
-22
0
0
28
-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
2
2
0
0
2
-43
5
0
0
1
29
0
0
0
3
-62
18
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
-17
-3
4
0
64
4
-16
10
3
-42
5
38
-23
-22
64
25
-16
11
23
-7
1
18
-34
40
-50
-82
24
25
101
0
0
0
0
0
0
0
0
0
0
-4
18
2
0
-1
-4
6
-6
-2
-1
57
-18
58
30
-61
38
17
-58
-72
18
-30
23
32
10
12
18
-13
-19
-25
13
-80
-26
-1
91
25
6
-1
0
0
0
-3
4
1
1
0
-30
-4
-3
-3
0
-55
-3
34
20
-5
43
5
-17
32
43
70
62
-41
-21
-7
-12
28
-6
-9
-83
-14
-47
-3
-12
19
-75
-3
65
66
59
-22
3
0
0
0
45
15
5
0
0
-12
19
2
-3
0
-67
16
15
-33
-14
21
14
-44
19
-2
-28
-14
14
-31
12
34
-8
26
-4
10
-107
-77
-8
96
26
0
0
0
0
0
-30
-18
0
0
0
-2
-5
-8
12
0
-38
15
-5
-4
0
79
-12
-62
-25
-22
-108
24
51
-18
-40
16
-9
-17
27
-14
19
-8
24
-35
-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
-30
-11
37
-56
0
49
11
-5
15
-3
29
-27
-24
-34
6
53
-24
1
-30
-51
8
2
27
49
-2
-40
-6
-23
48
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
-10
14
-1
-1
0
-109
-57
3
-78
6
-43
-68
12
11
12
-75
-118
-29
68
-78
23
-37
-80
-42
-21
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
0
-1
1
-1
0
0
-21
59
-27
43
0
-3
-54
-53
-27
33
-70
-65
24
70
12
7
-93
-37
-146
-23
-21
1
-81
-24
-179
1
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
0
12
-26
4
0
-18
-4
-73
65
0
-153
5
14
2
13
-5
-85
-13
-7
-43
22
-78
-16
-59
-14
0
0
0
0
0
2
-14
0
1
0
-31
-30
26
6
0
-31
-7
-10
-49
1
-38
35
-28
-47
12
-34
4
63
13
85
18
4
23
45
-44
15
10
1
-42
-13
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
9
-26
2
-2
-21
-100
10
-18
-4
-32
-42
-71
2
26
-37
98
0
52
-22
-2
6
2
24
-38
-72
-14
-63
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
-1
15
-29
-9
0
-146
53
-80
16
-3
49
-44
-35
10
73
17
-128
7
-36
-125
-49
-75
-25
-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
1
1
-3
0
0
-1
6
4
0
0
-1
0
1
0
1
-5
21
-45
15
3
-29
1
33
44
-56
-71
-110
22
-58
22
52
-49
14
-115
-11
0
0
0
0
0
-16
1
-2
0
0
-6
-5
2
3
-1
3
-11
-14
-18
21
-37
-21
-2
71
-14
23
33
-30
39
-54
-54
-37
-43
13
41
4
-9
40
-3
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
6
-2
4
0
5
-2
-71
14
0
32
6
-40
-30
0
-5
-4
-12
-12
0
-53
7
-26
-41
0
-21
5
34
33
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
14
19
-3
75
0
20
28
13
22
0
-35
-73
-35
-62
0
-2
-73
-29
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
10
-5
2
0
-52
-5
-5
5
0
-34
-42
20
4
0
4
-21
-90
-60
0
0
7
-44
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
-2
2
65
0
0
-33
-46
-52
-1
0
-1
16
45
7
0
39
-69
-111
18
0
0
0
0
0
0
-4
0
0
0
0
-4
0
-1
-2
0
-16
-26
70
0
0
63
-45
-14
4
0
-8
51
-65
14
0
23
-28
-5
-27
0
12
20
37
30
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
-6
0
0
-36
0
-17
0
0
-20
-27
55
0
0
62
-12
6
0
0
-49
30
36
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-43
-4
1
0
0
12
-20
-2
0
0
25
24
-17
0
0
-45
-18
-4
0
0
-23
-36
20
0
0
88
-18
59
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
17
-29
-30
0
0
-52
44
22
0
0
13
-17
-111
0
0
2
16
54
0
0
-35
-24
30
0
0
21
-3
52
0
0
0
0
0
0
0
0
2
0
0
0
-5
-21
3
0
0
13
-12
14
0
0
35
4
14
0
0
18
-26
-48
0
0
2
35
28
0
0
8
-7
-78
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
33
-49
0
0
0
31
-27
-71
0
0
29
42
39
0
0
-83
24
-3
0
0
2
-1
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
46
-27
-41
-4
3
-60
28
43
-9
4
-63
90
-76
17
-36
55
18
-7
-23
37
-2
-10
6
27
-47
25
-29
-1
-48
43
0
0
0
0
0
-33
-4
-1
0
0
-11
-14
-5
0
0
54
41
5
-8
0
125
-82
41
-5
-30
0
2
49
-112
-82
-25
12
-1
-17
10
9
-5
-2
41
49
-3
-20
65
119
-5
39
-8
0
0
0
33
1
-10
-1
0
-32
33
13
-5
0
-69
-5
95
-5
-5
-12
4
-39
-12
24
0
12
-7
-96
-13
47
-29
-33
39
32
4
0
50
-10
-20
-4
66
34
129
41
-42
4
1
0
0
16
12
-25
-3
-1
-35
14
-17
-1
0
-53
-47
2
51
19
56
50
47
8
-67
2
-6
-17
-8
-60
26
29
24
-15
13
14
-17
36
-19
79
0
0
0
0
0
27
30
-2
0
0
77
29
6
-2
0
-27
9
2
23
0
56
-3
-64
45
2
-32
93
-25
-21
28
-24
-5
54
33
-49
2
-71
20
11
35
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
-4
13
-21
3
11
-91
32
-15
-10
33
-2
-95
-77
31
-64
40
43
13
23
-23
-17
17
32
-6
6
24
-27
-13
6
4
0
0
0
0
0
44
2
-1
1
0
-15
76
-78
-34
1
-85
-73
-1
63
-21
28
18
60
-30
81
17
-56
31
56
57
25
14
-24
34
68
-2
-106
7
18
-55
-41
-23
-83
-39
-14
3
39
4
0
0
163
-30
5
-2
0
5
26
23
-2
1
-30
53
3
-45
10
-36
39
80
-81
11
-14
13
-5
65
-35
19
-28
-20
-4
28
-67
-71
-106
-6
2
-25
-34
17
-15
8
-34
-3
-2
7
0
-51
-5
53
-24
20
61
-48
12
11
0
-3
14
-9
15
-6
-29
6
105
34
28
0
11
-55
-1
48
-32
-14
-14
0
-32
31
-48
-53
12
-63
0
0
0
0
0
32
12
8
-19
0
-19
25
-1
21
0
-21
-50
-14
20
-16
-81
22
24
13
5
-7
41
8
-23
20
0
-52
28
35
2
45
10
-14
-19
-6
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
-31
35
18
44
0
47
-77
44
91
61
58
-52
-50
-23
10
18
-33
18
-27
21
-32
36
-8
3
-50
-1
31
-9
3
-24
0
0
0
0
0
20
-14
2
0
0
22
31
-25
4
-5
-30
-38
41
-7
35
-49
-11
-71
86
22
-30
6
-4
54
-12
-1
-5
15
34
80
-38
-19
-13
35
10
38
-18
1
-19
-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
-17
-46
-35
-1
0
-81
16
53
-42
1
-8
39
-47
15
2
57
-62
2
7
-39
28
48
-28
10
73
-20
-6
51
-16
-50
37
-84
-31
5
70
13
10
-21
-67
-52
0
0
0
0
0
-4
53
14
17
0
-16
33
-45
-15
1
3
5
50
-29
2
-36
7
-28
40
26
33
-67
11
24
73
51
14
0
-13
-14
-43
-52
51
35
-37
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
40
8
-9
-11
0
27
29
-43
-26
0
-76
4
62
1
0
-40
29
-42
-11
0
6
6
9
20
0
98
-19
43
63
0
0
0
0
0
0
-7
5
-1
-1
0
-11
1
-8
0
0
123
74
11
-37
0
91
-89
-26
-25
0
-3
-34
-29
-46
0
-39
-8
10
36
0
-200
-15
-72
8
0
55
-19
32
-8
0
15
0
0
0
0
0
-14
-17
-2
0
35
-75
-78
-8
0
-5
-50
37
-46
0
20
-30
28
23
0
15
-4
-11
-70
0
-41
2
-53
1
0
53
13
2
19
0
-9
14
42
31
0
10
0
3
0
0
36
-2
-9
-1
0
9
14
-37
-11
0
-5
-106
5
-13
0
-1
-7
-22
-12
0
2
12
53
51
0
11
23
39
2
0
-3
-11
-3
-2
0
0
0
0
0
0
-19
2
1
0
0
1
-12
-2
0
0
-6
41
-32
1
0
-80
-16
58
-11
0
42
2
39
37
0
23
-58
-5
-22
0
-10
20
-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
-1
0
0
-6
36
-14
0
0
-5
-29
13
0
0
33
14
-20
0
0
-18
18
-11
0
0
2
16
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
1
0
0
13
73
10
0
0
2
20
5
0
0
-24
36
4
0
0
5
-10
-14
0
0
25
18
82
0
0
0
0
0
0
0
-3
0
0
0
0
-3
-16
0
0
0
-52
-22
-23
0
0
86
33
-37
0
0
-16
-3
-3
0
0
-32
22
-20
0
0
82
-12
126
0
0
-72
22
-53
0
0
0
0
0
0
0
2
0
0
0
0
13
53
-1
0
0
83
2
0
0
0
-23
-67
14
0
0
-55
-21
20
0
0
-11
5
20
0
0
-36
-16
38
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
0
0
0
-48
4
0
0
0
32
-35
0
0
0
61
19
5
0
0
-75
40
20
0
0
-22
18
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
-2
0
2
0
0
39
-4
-32
1
0
-36
-42
-9
-29
0
-31
-13
73
48
1
-1
-22
12
53
23
70
27
-1
-24
-2
0
0
0
0
0
5
0
0
0
0
4
-10
0
0
0
27
5
14
0
1
-15
-23
-5
0
0
-35
-11
-33
-30
-9
5
-34
-7
80
57
-6
39
35
-34
-28
71
35
-14
28
-53
0
0
0
0
0
-44
0
0
0
0
-7
-11
0
0
0
3
7
0
-1
0
-13
-14
17
-23
0
-5
1
-43
-25
0
-8
80
-7
24
40
4
12
-41
4
23
44
-84
33
57
-25
-10
-10
0
0
0
-6
0
3
0
0
-10
-10
0
0
0
9
20
-17
-2
0
-53
7
-8
8
-1
46
-38
53
-76
18
18
9
-9
33
5
-13
59
19
48
-63
0
0
0
0
0
-35
-9
0
0
0
-16
0
0
0
0
-10
4
1
0
0
-21
7
35
-3
0
21
-20
-31
-15
-3
-1
13
-16
45
-1
42
40
30
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
46
1
-2
0
45
17
-3
-17
1
31
-53
-16
-6
-2
16
35
13
33
59
45
8
-31
-81
57
-19
39
43
115
-53
0
0
0
0
0
-16
-11
-1
0
0
-55
-26
2
-8
0
-14
51
43
27
-36
87
50
-25
23
-37
-9
71
20
-25
91
37
26
10
23
30
21
-15
13
8
-13
37
54
30
52
44
-42
-12
1
0
0
-26
-60
21
0
0
3
5
-6
45
5
-49
23
6
42
-9
32
-29
14
-11
4
7
25
16
-18
-17
-12
-27
2
12
4
103
14
-33
10
11
37
59
25
29
6
-28
30
13
1
0
55
25
1
17
1
-27
-42
17
-28
0
-30
-25
56
23
-21
55
57
-12
-19
85
35
48
-14
-19
-99
90
21
-6
15
2
-10
15
-30
33
32
0
0
0
0
0
-2
15
0
0
0
-4
-1
4
0
0
5
-8
0
-1
0
-16
22
41
-14
-1
-23
-72
-47
56
0
36
-5
-73
-76
14
-21
13
30
57
-17
0
0
0
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
19
8
15
-6
4
-24
-33
-74
73
4
-55
46
90
-7
22
-26
16
20
41
7
32
51
4
-49
10
0
0
0
0
0
5
7
0
0
0
33
34
-21
-41
1
94
-29
29
-15
-53
-42
176
-46
22
26
55
-56
-19
80
-11
-3
47
-14
13
54
-45
36
57
4
-17
-1
23
10
3
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
29
5
35
-9
0
9
47
1
-3
-20
58
-34
28
-69
0
-39
-49
14
16
20
25
-48
11
30
0
1
-3
-46
46
14
-33
20
10
-19
15
-49
-25
-35
53
-13
0
0
0
0
0
0
-2
5
0
0
0
8
22
0
0
-2
0
-4
-3
0
0
1
-8
-2
0
-2
14
15
-47
-3
4
-8
40
-40
5
6
40
-70
74
14
0
0
0
0
0
0
0
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
3
-4
1
0
0
-48
36
-80
0
65
-18
-69
3
0
-29
-53
81
41
0
-54
35
12
80
0
0
0
0
0
0
-1
0
0
0
0
-1
3
0
-1
0
39
-19
-26
21
0
-62
22
13
-60
0
-14
16
-24
-55
0
-74
-20
21
39
0
-7
81
32
-38
0
107
14
-33
39
0
1
0
-1
0
0
-14
5
30
36
0
-34
56
5
0
0
-28
-53
-19
23
0
22
23
-49
37
0
-13
2
30
-44
0
33
24
64
-36
0
-14
31
1
-8
0
-30
-55
-15
20
0
0
-13
1
0
0
21
-20
-25
0
0
-18
26
58
-3
0
-9
-45
89
-4
0
53
-19
-130
-53
0
-43
-58
-44
32
0
94
69
-17
51
0
-9
-52
-36
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-18
-1
-1
0
0
-29
45
72
0
0
47
-14
-5
-18
0
-2
48
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
9
2
-7
0
0
80
-10
-17
0
0
-13
9
-44
0
0
-17
-4
58
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
22
54
13
0
0
26
1
31
0
0
41
-8
-4
0
0
-32
53
-24
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
11
-23
5
0
0
-40
44
0
0
0
0
-35
-6
0
0
0
46
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-15
7
0
0
0
6
-6
-97
0
0
-7
18
37
0
0
3
-73
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
-5
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
16
-16
26
-1
0
14
-42
-19
-10
-5
73
94
-51
31
44
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
1
-52
19
10
0
-1
39
-46
33
2
8
52
48
34
-90
85
-34
-4
-18
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
1
-9
2
0
0
56
-30
-37
3
-13
19
42
52
13
0
62
-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
-11
24
0
0
5
2
-31
5
-5
0
23
-23
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
20
18
26
2
-5
1
37
-18
-13
-20
76
11
37
11
51
0
0
0
0
0
0
0
0
0
0
8
9
0
0
0
45
-41
-36
16
0
52
31
27
-8
-2
-116
67
-74
13
-55
17
60
45
32
9
39
36
71
-1
-25
91
55
44
65
22
0
-1
0
0
0
-7
-38
29
0
0
-3
68
0
0
0
-4
-40
26
-27
-8
-23
-14
-33
-38
-13
14
-54
26
-5
-36
-53
-8
58
82
29
33
54
71
12
7
-14
97
-128
44
46
33
-28
0
0
0
42
-28
-9
0
0
-12
43
-5
0
0
12
-23
-51
-5
0
-35
-23
30
-5
1
-71
26
61
57
-1
-17
50
37
-4
22
-23
92
-67
-3
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
-9
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
4
22
-48
0
-3
-37
23
52
-41
46
65
47
-31
23
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
-5
-14
15
0
0
4
5
-37
0
52
14
-23
-53
-30
4
14
-8
81
71
15
34
34
-10
37
26
-62
104
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
17
13
0
0
3
0
-3
0
0
0
-2
0
0
0
0
-3
-3
-1
0
7
3
33
17
-3
-118
-1
10
-41
34
15
66
-7
17
-13
0
-3
23
-20
-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
1
0
-3
0
0
0
0
0
17
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
6
-14
-7
0
20
17
19
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
1
0
0
-6
-4
0
0
-39
3
56
-68
0
-71
3
-19
-44
0
37
74
31
12
0
-10
-49
40
114
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
1
-1
0
0
1
50
92
15
0
-22
-1
-105
-5
0
16
-68
40
14
0
35
29
-100
-16
0
0
-16
24
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
4
1
0
6
-16
5
2
0
-36
-43
-31
-9
0
2
-8
60
-11
0
0
0
-56
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
5
2
0
0
0
-33
1
32
0
0
-29
-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
-1
-5
0
0
0
43
29
-35
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
26
1
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
-28
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
62
-34
-7
-42
-33
40
17
20
6
28
54
-17
-6
27
19
-66
-38
14
-18
4
26
54
59
-35
-10
-6
13
14
13
11
-43
15
-28
0
0
0
0
0
-76
7
-6
-8
-4
-11
2
-80
34
-3
-48
-43
0
28
38
6
21
23
41
17
-92
37
-5
57
3
44
11
-24
36
7
-132
-40
21
-39
-17
-42
5
-14
0
5
-14
-10
25
7
0
14
11
31
-49
1
-40
-4
-19
43
2
-32
25
-12
62
-21
-1
33
36
-2
-1
-40
13
2
8
33
20
-27
2
31
-25
-58
-56
-14
-75
20
-2
32
-32
21
11
78
5
7
-5
-1
-19
16
-16
-27
1
23
45
-46
-7
4
-18
27
-4
8
-10
34
-9
17
-20
-48
-25
15
-20
46
6
18
38
16
-7
65
-90
-52
53
11
-34
0
0
0
0
0
-14
-27
10
-5
1
33
-33
-19
-31
23
-55
65
-30
42
1
-5
-29
51
-14
13
12
55
-12
86
-15
-13
-71
14
-36
-3
-21
9
-24
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
14
37
7
-9
-62
10
-4
36
-7
-55
27
62
-2
-64
40
7
10
-44
54
60
-6
70
9
48
-51
-29
-42
-3
-6
-104
-30
-51
-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
45
-2
0
-1
0
92
-5
-30
-7
-4
-73
-14
29
29
-1
14
-7
57
13
-5
-41
-118
-20
54
14
-46
-3
13
-29
56
-27
-38
-21
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-23
-43
-43
-15
-98
3
-40
14
16
-63
6
-19
15
9
7
-25
14
76
-63
-13
20
-28
33
24
-50
-34
26
-36
-18
-36
-37
-78
-80
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
3
-4
1
5
-1
4
33
4
-24
-1
-4
24
14
21
1
-49
-2
-12
90
-41
57
5
-45
-78
13
-54
-19
47
-2
-54
-18
-25
-15
4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-61
-59
-5
0
-21
-37
-1
33
0
20
-4
-18
-45
0
-1
20
2
79
0
32
29
33
5
0
-81
53
-19
-27
0
-48
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-14
-2
0
44
-43
10
2
0
31
-32
-1
21
0
4
43
-99
-60
0
67
0
62
-25
0
-87
-69
6
4
0
-29
28
-15
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
31
-2
0
0
-61
-34
28
0
0
-27
-81
11
0
0
56
-24
40
0
0
-1
32
-11
0
0
9
13
1
0
0
42
42
-44
0
0
0
0
0
0
0
12
25
-3
0
0
54
-30
-1
0
0
-44
69
10
0
0
22
-13
-4
0
0
52
9
6
0
0
32
-10
-30
0
0
-32
-6
25
0
0
-38
-20
-16
0
0
-13
14
0
0
0
-33
7
5
0
0
24
-25
-1
0
0
54
5
-10
0
0
-63
23
2
0
0
-60
5
7
0
0
-15
-24
42
0
0
31
8
9
0
0
-1
4
-45
0
0
6
-7
-1
0
0
23
-23
3
0
0
35
2
18
0
0
9
-38
11
0
0
36
4
60
0
0
-90
-15
11
0
0
-17
43
21
0
0
3
17
-16
0
0
0
0
0
0
0
-10
22
-3
0
0
5
-2
23
0
0
58
1
-23
0
0
-35
49
28
0
0
-46
-71
-50
0
0
52
-5
10
0
0
-18
-17
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
1
4
-9
1
34
-2
6
10
0
-21
1
-24
39
17
69
-32
-62
-25
10
-36
31
50
42
-50
-41
4
-33
-5
-43
-72
14
58
24
36
0
0
0
0
0
40
7
3
-2
0
5
-5
6
0
1
16
-27
25
-88
14
-18
84
17
23
-21
-23
-23
-35
-39
14
-2
12
60
5
46
-53
-27
-72
84
-57
68
-77
9
49
-9
8
4
-2
0
0
-41
-36
34
2
0
20
4
32
-4
-3
20
-80
78
-58
-8
-19
63
-29
0
-5
-13
58
-77
50
-36
73
-4
3
-11
87
3
-5
32
-23
-78
-67
-21
49
65
-2
-51
7
0
0
0
60
-4
0
0
0
-5
1
-53
-10
0
44
-5
29
-25
-1
-33
17
-35
9
-2
32
-74
1
49
-40
32
13
7
-48
33
-90
-3
-49
18
-23
0
0
0
0
0
2
11
0
0
0
-29
1
5
11
0
6
-55
5
-13
0
-21
25
36
1
0
-32
-5
-12
-4
-5
48
-24
-70
-5
-8
48
-5
24
29
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
24
-7
-1
2
-1
-31
41
-20
-16
37
47
77
-22
-72
-61
50
5
3
52
92
69
35
-8
23
-67
-68
-52
-65
31
-32
2
-71
69
-28
0
0
0
0
0
-21
-4
30
0
0
3
8
0
0
1
-60
92
44
14
-21
14
-38
-30
-33
46
-29
-36
-19
-21
-101
46
-55
-54
23
75
-7
-60
-84
13
32
-94
32
11
-2
-45
-7
-2
0
0
0
0
4
5
0
0
3
25
9
30
-10
14
-43
38
133
30
-26
10
35
-41
12
32
-57
-5
-20
-6
-53
15
-8
-2
-50
24
27
-53
-84
-25
14
17
16
-47
-47
0
0
2
0
0
-14
0
-33
-6
0
-23
31
-48
19
-1
0
-41
53
9
29
-40
42
57
-11
-3
49
-26
-22
14
-24
18
-26
58
71
16
-11
-87
-44
-95
-58
0
0
0
0
0
-29
7
-1
0
0
-51
35
-5
-12
1
-19
-6
9
0
0
8
-31
-23
3
1
-7
-18
75
32
-9
-51
53
-11
-52
-44
74
-72
-29
-18
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-6
-23
43
-3
-12
14
-5
-25
-2
58
-23
-1
-16
18
-71
25
-23
-6
-7
-1
55
31
-24
-11
4
-60
0
28
25
-114
60
33
-7
15
0
0
0
0
0
0
-15
-1
0
0
-2
0
0
0
0
-8
23
6
-5
-5
-7
-6
22
-29
34
30
-12
-14
14
27
26
73
-20
25
-34
-44
-113
56
-15
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
31
-2
0
0
0
49
-43
4
23
0
28
2
19
-39
-24
-36
-1
30
22
3
7
-4
8
-19
2
8
14
-37
28
-1
-47
53
-26
43
47
-33
-8
-20
-38
-10
0
0
0
0
0
-22
-10
-3
0
0
-41
0
13
14
0
5
-17
-1
-14
0
-7
4
23
-2
1
-17
16
31
-23
7
9
-72
-31
14
-13
26
-33
-16
56
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
6
30
2
0
53
4
96
-7
0
23
-11
-32
21
0
-24
-15
22
25
0
3
60
19
33
0
18
-99
-43
5
0
8
-40
-16
14
0
0
0
0
0
0
54
-1
-5
0
0
16
-20
-16
0
0
-69
26
-7
-22
0
1
87
-24
-7
0
34
46
50
9
0
3
-16
-8
-14
0
-78
-22
14
32
0
22
2
91
-1
0
4
3
-3
0
0
-7
0
0
0
0
-4
-6
-17
0
0
-31
-6
47
-52
0
30
-58
36
40
0
-53
-11
31
-5
0
33
109
100
-41
0
91
1
-41
-3
0
-49
-28
-44
28
0
0
-2
0
0
0
-7
37
1
0
0
18
37
9
0
0
0
-11
-1
17
0
47
-48
-51
-16
0
-20
-2
60
-6
0
0
27
-14
6
0
-18
-40
-35
20
0
0
0
0
0
0
-18
0
1
0
0
-23
5
0
0
0
53
-24
13
0
0
-27
21
0
-2
0
27
4
-20
1
0
-8
-23
33
20
0
-5
69
43
-25
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
-55
8
-6
0
0
33
-12
5
0
0
17
55
2
0
0
18
36
1
0
0
14
-6
24
0
0
-11
29
-22
0
0
0
0
0
0
0
-22
10
1
0
0
-20
15
0
0
0
40
28
0
0
0
13
8
20
0
0
43
-17
-19
0
0
5
36
30
0
0
47
35
-65
0
0
-32
-18
44
0
0
-2
-9
0
0
0
21
0
0
0
0
-20
-6
0
0
0
-67
0
47
0
0
92
-13
11
0
0
-41
-85
41
0
0
16
5
9
0
0
43
5
-45
0
0
37
74
-54
0
0
0
0
0
0
0
-6
-22
0
0
0
8
-2
0
0
0
-29
23
-13
0
0
11
-14
43
0
0
-32
-8
-23
0
0
43
94
43
0
0
-13
-30
-44
0
0
0
0
0
0
0
1
-1
0
0
0
-19
-1
0
0
0
5
-8
2
0
0
-9
3
-3
0
0
2
7
11
0
0
-25
-14
-24
0
0
26
11
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
-2
2
5
0
0
33
-56
45
-3
0
-40
-2
35
5
-26
78
-4
23
5
-23
-33
92
-43
-5
26
-33
14
28
51
22
0
0
0
0
0
16
0
0
0
0
-1
4
0
-4
0
-45
32
8
1
0
-3
34
24
-9
-5
-5
-39
62
10
11
31
-6
23
32
16
-10
-33
65
17
20
118
3
-40
3
-2
1
5
0
0
0
-2
0
0
0
0
-11
-14
0
0
0
2
-10
15
2
0
5
-4
-7
7
2
10
23
-41
-19
-2
-61
-15
89
21
10
57
-14
-5
-6
5
97
31
-76
-1
6
0
4
0
0
0
4
-22
0
0
0
0
0
0
0
0
25
2
1
-1
0
-3
0
0
1
0
-42
10
10
4
-1
-8
-5
-4
-31
-1
99
4
17
-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
-55
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
-13
0
-1
-20
-30
56
3
-25
67
20
-38
1
10
15
105
29
68
-2
1
-59
37
21
46
8
84
-26
-66
14
0
0
0
0
0
57
14
1
2
1
-28
-63
16
-7
0
23
-16
-4
-4
0
16
53
-57
28
-12
33
47
-80
-5
14
30
7
16
-16
-51
20
-27
9
40
14
-59
-11
134
9
0
5
-36
0
0
0
4
0
4
0
0
-8
1
-29
-20
0
-6
-12
23
-58
28
-6
6
25
-6
47
-57
-42
-43
-4
23
32
45
6
38
59
-6
35
66
12
-49
1
17
-71
45
-16
1
3
2
0
0
-20
14
31
-2
0
-5
-14
-5
89
0
14
43
-55
-39
-5
23
44
-61
23
0
-16
-6
-23
-1
-5
6
0
34
-1
20
36
-129
98
-26
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
10
0
-3
0
0
0
7
-4
0
0
0
5
10
3
0
0
-17
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
-14
29
1
0
43
-25
5
-9
2
26
-23
42
-11
-51
65
30
-62
54
29
-34
24
-82
-58
44
-133
-11
119
74
14
0
0
0
0
0
0
1
-2
0
0
2
0
0
0
0
-89
0
22
0
0
-7
-5
67
-20
0
58
-67
33
-28
-29
25
-10
-54
53
29
-14
71
37
-46
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
4
0
0
0
17
20
0
-20
0
6
4
-14
-5
3
-16
14
1
17
1
-14
48
-4
-35
0
-13
-30
32
-19
-11
41
-11
27
78
0
4
-39
12
-25
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
-18
0
2
-2
0
0
6
9
-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
-16
0
0
0
0
-3
-6
0
0
0
-23
-5
3
0
0
-15
-32
-1
42
0
-3
17
5
-4
0
9
-3
95
-41
0
94
0
53
-23
0
0
0
0
0
0
-13
-21
0
0
0
20
-5
11
0
0
-25
3
-28
5
0
-11
71
44
53
0
14
15
-1
-14
0
86
37
21
14
0
-20
-57
-11
-52
0
3
-29
96
-10
0
10
0
0
0
0
19
12
0
0
0
14
0
7
0
0
-20
41
21
-6
0
-24
43
-6
-7
0
39
16
34
-17
0
31
-5
6
8
0
-23
-72
-26
93
0
-5
-9
32
-11
0
-2
0
0
0
0
-17
7
-1
0
0
18
-53
1
0
0
-10
45
-7
-2
0
-47
22
1
-19
0
-5
9
-21
-17
0
47
-3
-6
11
0
12
-23
-1
22
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
-30
0
0
0
0
-2
-24
-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
15
-5
0
0
0
-17
-21
-1
0
0
-3
60
-7
0
0
-56
-50
62
0
0
34
50
-37
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
18
-2
0
0
0
10
15
9
0
0
8
-19
-44
0
0
82
-14
1
0
0
-9
-20
12
0
0
6
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
-34
-5
1
0
0
5
-30
0
0
0
-14
31
21
0
0
47
-37
2
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
-49
11
0
0
0
0
0
0
0
0
0
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
46
-12
-44
21
-24
-12
-67
12
26
23
-26
46
-28
14
-41
19
12
42
73
-39
-23
-48
-54
-42
-90
-30
8
50
6
0
0
0
0
0
0
0
0
-1
0
-5
9
6
7
0
-2
-100
2
-24
22
50
-31
-28
14
57
26
20
-14
22
9
53
-18
20
-56
-17
-94
-14
5
5
-47
-216
3
-14
34
10
0
0
0
0
0
0
0
-5
19
0
-15
-11
-12
-22
15
24
-32
-82
-31
1
6
-51
8
0
-1
80
-35
9
-52
-10
-33
52
4
3
-18
-126
73
-5
45
-13
-102
-19
-17
61
5
0
0
-3
-5
0
-20
-5
-5
-28
2
5
40
-18
26
7
-8
-61
30
-13
0
76
23
-23
-19
0
-19
-71
-25
-35
-33
-48
141
9
64
1
-71
-38
54
-31
5
0
0
0
0
0
34
-17
7
-5
0
-14
8
-4
-11
-2
-5
28
7
-42
2
6
-34
-27
0
0
33
-85
18
-5
0
-57
-16
2
51
36
14
30
10
-6
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
9
44
-52
-54
-4
32
84
-26
30
-29
-51
-20
2
6
5
32
-28
24
32
33
-111
-142
16
2
-14
-51
-115
-66
-45
65
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
-13
-2
0
0
4
-2
22
3
0
-1
16
0
0
0
0
-6
1
0
0
7
35
-58
-1
1
29
-20
-15
-10
-1
7
-50
27
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
14
-10
-52
0
114
44
-42
32
-50
-32
-52
83
-8
-56
-28
3
13
34
21
-144
-23
13
-10
-15
-4
-92
-93
-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
-1
0
0
20
0
-2
0
-1
0
-1
0
-2
-3
0
0
2
11
6
7
-2
0
-17
42
19
4
8
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
-1
0
0
0
0
0
-5
-25
-3
0
52
-99
49
4
0
-31
23
11
-53
0
33
89
-31
14
0
25
19
-60
4
0
35
1
-16
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
1
0
8
8
0
-2
0
0
0
-5
2
0
-1
-2
18
-10
0
1
43
-16
3
0
-14
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
-13
52
11
0
0
7
-32
30
0
0
-4
-8
-63
0
0
-30
-19
14
0
0
17
72
65
0
0
59
16
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-16
0
0
-61
-10
51
0
0
-14
-46
-3
0
0
-20
-100
-41
0
0
46
59
71
0
0
51
15
-37
0
0
-6
38
-2
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
49
0
0
26
-1
2
0
0
-10
-1
13
0
0
5
-2
1
0
0
30
-44
3
0
0
-39
44
-86
0
0
0
-44
7
0
0
0
0
3
0
0
26
0
-3
0
0
-8
-23
-19
0
0
-16
78
-5
0
0
-2
-2
1
0
0
36
-21
21
0
0
-51
-22
-12
0
0
-77
9
-23
0
0
0
0
0
0
0
-5
1
-7
0
0
-6
1
-3
0
0
1
-8
-1
0
0
0
0
0
0
0
-4
3
7
0
0
-5
-34
-13
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
-7
8
36
36
1
-103
43
8
84
13
88
23
-10
34
-68
-23
-36
16
-20
-21
-6
-36
-15
-43
37
-84
-3
40
-40
-31
-120
13
-36
54
75
0
0
0
0
0
30
4
-5
-5
0
18
-19
65
-10
22
-58
61
-8
3
-38
29
-13
13
15
-75
-36
3
-85
-14
-24
31
21
-10
-56
62
-95
-49
-51
-44
2
-198
-93
27
36
59
31
-22
5
-20
0
-19
27
7
-26
6
-40
-22
4
-21
-32
15
4
19
-22
43
128
67
17
15
34
23
-10
-46
10
-80
-37
-47
-28
-3
39
-93
-73
-47
-30
-44
-84
-15
78
14
22
-3
-19
5
4
0
-81
-31
45
-44
10
5
-37
-9
3
27
45
71
13
-48
22
1
62
-14
52
-27
7
-24
5
-36
4
-48
-15
0
23
-52
-80
-79
37
52
40
0
0
0
0
0
2
-5
-11
15
-2
-84
36
43
39
1
-48
15
20
3
33
16
-74
-4
-32
-20
-16
-52
-20
76
71
18
13
1
-19
-46
-6
11
-16
-30
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-5
-16
-14
0
7
-48
86
-28
44
11
-34
-90
-62
-7
-19
-43
12
90
-5
14
13
24
-3
55
-73
-64
-25
50
-33
-240
3
-40
-119
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-52
-72
18
-5
68
-6
33
44
0
-31
58
-16
-90
8
-44
-52
48
1
-7
-68
-45
-11
-3
3
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
7
9
-5
16
0
0
18
-39
14
0
1
16
-5
-4
1
27
-17
-8
30
-1
-80
-76
38
-15
6
0
-6
21
0
0
0
0
0
0
0
0
1
2
0
0
0
3
0
10
0
4
-2
-18
1
0
0
-14
-4
0
0
0
-37
23
11
0
46
5
-5
-17
0
-13
-45
-23
-1
0
0
0
0
0
0
-36
30
-1
-4
1
-10
-3
18
-14
-1
-21
47
-17
19
6
1
33
3
-79
9
45
15
27
8
-75
0
-6
22
56
57
-3
-61
-50
21
-38
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
-66
-14
-42
-12
16
3
89
-24
-18
-109
-65
15
24
-28
-43
-9
-3
66
40
26
-3
-101
19
-33
51
-51
-88
-143
-33
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
14
0
0
1
39
-25
-1
0
-24
-6
-23
-8
4
-2
2
7
2
-10
-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
-11
2
0
0
0
-19
0
0
0
0
0
0
0
-1
-6
-10
6
0
22
-8
-4
37
-39
16
22
-29
-16
-1
-32
14
-53
5
-5
4
8
-72
-49
51
-38
-33
38
-32
-58
-21
-31
13
47
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
8
-1
0
-65
-3
-89
-60
0
55
-25
16
38
0
-4
-5
7
-23
0
12
-9
18
-23
0
-120
-17
4
-4
0
-73
12
-63
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-50
-40
31
0
7
-44
29
0
0
-13
14
4
4
0
4
28
56
-10
0
-1
10
14
5
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
21
-17
1
0
0
-1
9
-2
2
0
-4
0
-4
8
0
-2
-2
1
1
0
4
54
5
-2
0
0
-3
20
-3
0
0
0
0
0
0
17
0
0
-1
0
-21
0
0
0
0
-1
3
-2
0
0
0
-1
0
0
0
3
-2
-6
0
0
-5
8
-34
0
0
2
5
1
0
0
0
0
0
0
0
-25
-8
-3
10
0
23
28
-43
2
0
40
-53
18
-43
0
50
-73
-29
14
0
-36
-53
-17
25
0
-117
89
-8
-78
0
-8
30
-15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-77
-19
0
0
-62
-51
-61
0
0
-23
-30
-4
0
0
-10
91
22
0
0
30
28
25
0
0
-53
-21
8
0
0
-2
23
-8
0
0
0
0
0
0
0
-20
-1
-1
0
0
-13
-43
-20
0
0
-16
-14
-54
0
0
11
-53
10
0
0
-69
44
40
0
0
-17
-5
-44
0
0
-3
4
50
0
0
13
0
-33
0
0
-9
-18
0
0
0
3
33
22
0
0
14
30
-13
0
0
-34
-65
3
0
0
40
-26
-54
0
0
-58
7
17
0
0
23
-36
14
0
0
76
0
13
0
0
-121
78
-23
0
0
29
46
-5
0
0
-13
-5
-22
0
0
17
-34
14
0
0
-95
-72
18
0
0
-72
-1
5
0
0
52
-30
3
0
0
-9
-17
6
0
0
9
68
-91
0
0
0
0
0
0
0
50
-26
5
0
0
-33
-23
11
0
0
4
-2
11
0
0
55
-6
-21
0
0
-33
89
-24
0
0
-13
-44
-36
0
0
31
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-10
-8
0
19
-12
33
-43
-17
-8
69
-68
5
-3
43
-52
20
0
-5
10
17
-5
46
18
-81
-15
-3
26
7
-78
15
6
-54
40
0
0
0
0
0
5
-16
2
-7
0
-15
37
21
44
-7
-42
66
-61
47
-34
34
48
-29
-63
42
-29
12
-43
0
-22
32
-17
36
-45
53
-28
-69
26
31
-43
12
44
-60
-20
4
23
9
2
0
0
-13
20
-11
48
0
16
-34
-27
20
10
5
-28
-14
-12
-53
-50
-18
-3
53
33
-63
74
-1
-28
-42
6
-33
13
-21
-14
-48
-31
-37
-43
-47
-12
8
-32
65
19
-11
5
-1
-2
0
51
-8
0
29
2
-13
-51
17
-5
-5
-13
-1
-10
14
-5
8
-63
68
27
14
29
5
-43
-49
-30
-3
26
-35
-1
34
-59
47
31
31
-19
0
0
0
0
0
1
-5
32
21
0
54
-5
28
-25
-3
60
-5
21
-14
0
43
5
-85
-17
-3
26
31
-3
37
-57
-97
-47
-27
-42
74
-27
-9
18
-33
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
9
0
-4
0
-36
-30
-50
25
-26
10
24
18
-12
42
23
-4
-37
42
-39
18
4
14
-21
30
-130
-29
6
32
24
19
-22
-40
-27
-55
0
0
0
0
0
0
0
-2
11
0
1
0
-1
4
0
-22
7
-2
-13
55
3
18
-3
21
20
42
-41
6
75
-112
13
-56
55
-43
-12
-126
23
-51
-29
10
-71
0
-44
-23
-14
8
0
0
0
0
-7
-7
-31
0
0
-12
-5
-11
16
5
54
14
-28
-22
5
-11
67
2
88
-34
48
-83
51
11
-12
-39
-6
27
33
11
-72
-39
38
-53
-28
32
66
-73
-59
33
0
0
0
2
0
-1
-22
41
5
-2
-44
65
0
-3
7
-50
19
-7
-34
3
100
-42
33
27
-31
5
-33
-106
16
-37
29
-2
34
27
16
-64
-96
-53
7
24
0
0
0
0
0
-15
-26
-1
0
0
-14
10
-43
-24
2
34
24
43
14
2
37
-53
-84
6
-1
39
2
3
13
-1
-51
2
54
-14
-74
-55
-66
-1
-1
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
-3
3
0
-3
-18
-78
37
21
-82
62
11
-25
15
42
-14
9
18
-80
22
-74
11
52
1
-59
-25
-51
12
88
-135
3
-38
-27
-16
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
43
19
21
2
1
63
-34
86
-44
-14
2
-16
-12
-12
5
-51
-1
-10
75
-41
11
-4
-75
14
-27
-5
30
-35
-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
4
2
-2
0
0
-11
17
-18
9
0
48
-6
61
24
5
19
5
-65
-12
-6
-9
37
29
-35
-11
-6
-10
14
61
-62
-9
-11
-6
-14
52
-80
-60
10
20
-17
0
0
0
0
0
5
18
-1
0
0
23
0
-4
-3
0
5
-2
0
-4
1
3
-4
-53
-25
-1
-34
51
-31
35
25
-5
-39
63
-5
14
-45
-9
-2
43
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
-2
0
4
29
-35
24
0
-5
24
14
-49
0
-2
19
-18
31
0
47
60
-1
72
0
-67
-67
-33
-69
0
-76
-70
44
-2
0
0
0
0
0
0
10
-7
0
0
0
-3
0
-5
-2
0
45
-27
9
26
0
2
-2
-2
5
0
13
-25
18
-8
0
-30
-14
-53
21
0
-103
2
-59
-12
0
-13
28
28
35
0
11
-1
0
0
0
0
4
-4
0
0
-10
9
-70
-16
0
-11
-47
-34
-11
0
-6
-29
-11
9
0
-3
13
4
-40
0
-10
31
61
-19
0
2
-1
-13
51
0
-37
14
-5
-25
0
15
-1
25
-2
0
26
-2
25
-28
0
-14
-5
-23
-3
0
-7
25
2
6
0
-41
-23
44
36
0
-59
22
-41
18
0
-36
-50
10
-5
0
71
63
-8
-31
0
0
0
0
0
0
-14
1
2
0
0
41
3
0
0
0
-82
5
5
-5
0
1
19
5
8
0
17
-4
-5
0
0
43
-43
2
-3
0
44
-3
29
11
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
-8
-21
-40
0
0
23
22
-24
0
0
-54
-22
-1
0
0
34
-1
-21
0
0
-46
-63
-5
0
0
-33
8
44
0
0
0
0
0
0
0
-4
41
0
0
0
-2
-4
6
0
0
10
-44
10
0
0
-26
-55
36
0
0
53
25
-58
0
0
-62
6
-3
0
0
-9
1
-30
0
0
31
33
19
0
0
0
0
0
0
0
0
-3
2
0
0
-10
-54
6
0
0
91
-1
-23
0
0
-59
21
14
0
0
-37
-52
4
0
0
-35
61
51
0
0
45
-23
21
0
0
-13
61
-13
0
0
-1
0
1
0
0
-42
-33
0
0
0
58
5
-4
0
0
43
-29
5
0
0
1
-11
-4
0
0
-23
-24
34
0
0
-19
33
15
0
0
-75
15
-52
0
0
0
0
0
0
0
-15
-2
0
0
0
-4
5
-3
0
0
0
0
1
0
0
4
2
0
0
0
-7
-32
3
0
0
47
25
-10
0
0
-5
-71
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
6
-7
2
-3
0
18
109
-14
-8
-4
-19
-15
15
-55
14
116
1
29
73
-25
-18
-52
-30
8
-69
-139
71
54
-12
14
0
0
0
0
0
-3
0
0
0
0
9
0
0
0
0
15
7
-32
-3
1
-38
5
-16
0
0
22
-27
10
-92
7
53
-28
-33
-10
-33
-13
-9
27
-28
-27
-37
36
1
115
85
0
0
0
0
0
-1
3
0
0
0
8
1
0
0
0
-14
16
-5
-5
0
41
-14
-2
18
0
-41
-30
-33
-1
0
29
-10
-38
69
9
31
14
99
-47
-33
31
3
-3
0
0
-1
-5
0
0
0
-9
4
0
0
0
2
-1
3
-1
0
-8
-1
-1
-2
0
1
-17
-3
4
0
-54
46
-32
7
-11
23
14
33
-2
1
43
-60
34
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
10
-53
5
0
0
-10
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
-29
1
-1
-50
54
-9
26
-1
-1
-6
61
-12
-85
-9
-21
19
9
13
54
-36
-16
19
23
-14
-5
-14
-9
19
0
0
0
0
0
-5
0
0
0
0
-10
0
-4
0
0
76
25
18
23
-30
-61
2
65
57
-21
-10
-36
32
29
9
54
-1
-25
-92
14
-84
-10
-100
29
-15
-153
28
14
37
100
0
1
0
0
0
2
0
-2
0
0
-5
-43
25
-13
0
14
-24
-39
-22
1
22
-24
-42
38
-34
-71
-13
-6
-41
-26
-14
58
-27
-10
19
-80
107
35
62
15
0
-71
18
-16
10
0
0
-4
0
0
3
1
25
0
0
-1
-1
-4
-5
0
-1
14
-69
4
1
-63
26
-22
17
-7
23
32
37
-58
-1
-53
14
53
-15
44
33
-97
-68
33
-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
0
-1
3
-2
-2
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
2
-2
0
-1
0
-2
-3
-43
-2
6
-5
-78
32
20
-17
52
-8
24
-110
49
-70
-9
40
35
-5
-86
116
-108
42
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
-5
4
0
5
-1
14
-7
-7
-22
-26
-5
-25
22
80
-17
4
24
-13
3
-36
-48
-57
46
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
23
0
0
1
0
0
0
1
0
0
38
7
14
-14
0
-1
7
13
13
-4
-1
5
-15
-1
-8
6
2
-31
24
1
0
14
-5
-22
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
-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
2
0
-3
0
7
-33
39
2
0
14
41
-2
20
0
32
7
114
16
0
-54
-14
-41
-59
0
-44
62
-10
33
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
9
-48
24
-30
0
12
-94
-27
6
0
14
24
-64
45
0
-21
-37
-53
88
0
-41
34
67
-41
0
-6
51
1
-53
0
-1
0
0
0
0
0
-6
0
0
0
52
-1
-6
0
0
58
5
-26
-10
0
22
-42
18
33
0
-60
27
13
51
0
11
-22
-13
16
0
-78
-71
-16
-82
0
-5
-1
17
3
0
0
0
0
0
0
-14
1
0
1
0
3
0
-1
0
0
21
-8
-14
15
0
-5
-2
41
1
0
47
-95
-12
-39
0
-21
49
16
35
0
4
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
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
-17
8
1
0
0
-26
18
4
0
0
-3
-46
21
0
0
54
87
-62
0
0
-10
24
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
0
0
0
0
17
5
0
0
0
-32
12
26
0
0
16
-6
15
0
0
-10
-32
-21
0
0
-5
14
19
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
-9
-5
0
0
0
23
20
11
0
0
6
-27
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-18
86
-64
3
62
-28
-43
-24
-5
-45
9
-49
2
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
4
-4
0
-25
2
11
-4
0
-27
-25
-76
-7
-7
33
-9
14
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
33
0
9
0
0
7
4
27
-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
-37
6
-25
-4
-8
-9
20
31
-24
-11
100
-33
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
6
-54
46
-32
0
14
53
-6
-26
14
18
46
-36
-41
-27
8
-80
-65
31
22
-54
3
-6
69
23
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
2
0
0
-11
0
-8
-4
-5
-5
-9
6
-16
1
101
14
-32
5
-3
14
-39
37
-3
31
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
-22
4
0
0
17
19
-31
-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
39
-20
37
0
54
31
-41
-53
-89
-2
-4
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
4
0
0
0
0
-8
-6
0
-16
-41
16
4
-18
-3
19
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
0
0
0
0
0
0
0
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
36
-1
3
4
0
4
4
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-22
0
0
20
-9
-1
-1
0
17
-6
-18
-8
0
91
-23
-5
-8
0
6
7
60
8
0
-14
-5
43
46
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
65
-18
6
-1
0
5
21
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-8
-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
2
0
0
0
16
-8
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
22
-2
-21
-26
15
-6
-30
-3
-13
-13
-8
-4
0
3
44
20
19
54
90
1
-13
-2
-14
-37
-17
33
-81
48
27
19
-65
0
0
0
0
0
-23
7
-19
7
4
-3
0
22
-2
1
0
-23
7
-45
24
-3
-17
-25
-4
25
-5
-33
2
-5
-47
-34
-11
-10
41
4
14
13
-43
4
22
60
-1
27
-8
-33
0
4
-2
-2
6
0
-1
5
3
2
-21
-5
9
-10
-1
-10
22
-55
-21
9
-6
28
5
51
40
-12
-32
25
19
17
12
-45
4
-33
5
-49
-19
-21
-43
-18
51
30
6
-18
-21
0
1
5
1
0
0
-1
4
1
0
17
5
-13
1
-3
-35
-26
5
17
-10
-6
14
13
-27
6
5
-35
13
-22
-26
33
-71
-30
6
21
-33
18
18
-23
-44
0
0
0
0
0
1
0
-1
-1
0
-6
13
10
-7
-1
2
4
-6
1
-2
1
-7
7
-43
4
-10
52
-20
-13
-9
-22
-51
-18
17
5
16
7
6
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
-5
-33
27
-25
7
31
19
-6
33
4
6
-40
-2
18
8
5
21
23
-8
4
54
13
31
-18
44
14
-20
-38
-4
-9
-10
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
3
0
0
-1
-19
3
4
2
-1
0
-1
9
8
10
-16
-15
-4
-11
-4
-19
-23
20
9
-23
22
-14
19
2
34
-4
-54
15
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
25
19
-33
-8
-4
-7
0
-7
-9
-2
-44
33
-1
25
-33
10
-1
16
-20
26
-19
56
23
40
-33
28
-6
-25
-26
-5
21
54
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
18
0
0
-1
0
-30
1
10
-33
0
6
-14
6
32
0
8
-12
0
-54
3
-3
-15
-1
1
10
-30
20
20
-26
6
19
-5
5
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-2
0
27
-21
8
-30
0
-14
-11
62
26
0
9
-10
12
3
0
-25
5
21
-2
0
-25
19
-65
-20
0
5
36
16
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
13
3
3
0
6
-27
1
-13
0
-29
-7
33
-11
0
-27
41
-8
10
0
31
-30
-59
25
0
12
6
-7
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-5
-11
0
0
-1
20
-5
0
0
26
40
0
0
0
-56
2
13
0
0
28
-13
-2
0
0
22
-42
-3
0
0
-53
64
-21
0
0
0
0
0
0
0
8
-14
15
0
0
-17
-14
-5
0
0
30
14
-1
0
0
9
27
-5
0
0
10
-7
-5
0
0
41
5
24
0
0
-23
13
-5
0
0
22
-12
11
0
0
-2
-5
-13
0
0
-7
13
19
0
0
-5
3
4
0
0
-5
23
-8
0
0
-11
-13
3
0
0
31
-22
13
0
0
22
17
-5
0
0
0
-2
21
0
0
-5
43
36
0
0
-2
-6
0
0
0
-2
11
0
0
0
8
-23
-1
0
0
8
35
-14
0
0
5
11
10
0
0
-4
-26
14
0
0
34
14
22
0
0
-14
-5
2
0
0
0
0
0
0
0
0
-4
0
0
0
-3
3
2
0
0
-17
6
26
0
0
-16
4
10
0
0
69
17
-19
0
0
23
-5
-8
0
0
-12
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
6
-17
-51
4
22
24
20
32
10
-6
1
-28
43
14
-49
12
23
36
-44
36
30
-38
17
23
-65
5
81
-45
-27
47
8
32
23
-21
0
0
0
0
0
25
4
0
-28
-5
11
-4
-5
-33
8
-5
-20
3
-14
0
-24
5
6
-3
-17
20
-5
17
2
30
-10
14
-34
45
-1
-31
48
52
39
-17
11
-6
57
24
7
-3
4
1
5
-1
10
-14
-7
-5
0
13
5
-14
-16
-3
21
-16
36
-19
-1
7
27
23
-30
-8
-17
22
23
-33
-27
6
-33
-10
12
2
-74
24
10
20
8
-8
8
-5
-1
62
2
4
-2
0
0
1
-2
-7
-1
3
0
-5
27
0
1
25
6
-29
-26
-19
37
-27
-19
6
20
-6
12
-17
-22
53
-15
-20
11
26
-7
8
10
18
28
-69
0
0
0
0
0
0
-1
0
0
-1
14
2
3
-5
1
24
23
-6
-4
-4
-3
-17
28
37
-17
-24
-46
-3
-42
8
-11
-5
-18
-12
-15
24
12
65
-33
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
17
14
-43
-23
5
-17
18
32
-15
2
6
-48
8
11
-20
11
-23
4
-19
7
30
45
10
-4
-24
-33
3
14
-17
17
47
-6
-39
31
0
0
0
0
0
-14
0
-9
-6
6
-6
-6
3
-14
15
-37
5
-6
-23
17
7
-26
8
11
-15
41
-17
33
35
2
5
64
14
-6
-3
-30
6
-31
-54
2
-30
-48
-43
63
-52
0
-4
-7
-7
1
7
-13
-7
-4
1
-14
18
-5
30
14
-6
16
-1
-10
14
-21
3
37
4
20
7
9
18
-14
-43
-54
43
-10
23
-17
12
-14
-23
-45
-42
-14
-46
7
-3
9
2
-6
0
0
0
2
-5
8
1
-4
-10
5
2
11
-13
-2
15
-24
-24
-14
54
12
-14
-14
9
-22
42
-16
26
19
14
-1
9
-13
-38
0
-56
-1
-13
-18
0
0
0
0
0
0
0
0
1
0
-33
-16
10
-2
1
1
-14
-25
-4
7
-11
33
-21
6
-14
33
-19
-23
12
0
-43
33
-20
-10
-9
15
28
49
-27
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
0
-58
46
-23
-5
10
32
6
-10
8
16
10
27
4
3
15
-24
-22
2
-2
-20
15
21
5
-3
-9
-8
48
-27
-24
14
58
-16
0
0
0
0
0
-25
13
-9
-10
-9
-20
18
4
-34
20
-45
30
-12
-4
11
39
-33
-14
21
0
-52
-30
-5
1
23
-14
32
27
1
33
-23
-31
27
44
-52
101
3
-33
-59
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
-7
20
5
-3
-10
-21
-8
14
-10
-20
-33
-24
-5
-19
-1
-25
32
-10
-10
-23
-5
-6
1
1
-6
-20
23
11
-3
23
8
-15
-5
-2
0
0
0
0
0
0
-3
1
-7
1
7
1
-7
24
1
1
7
-12
-14
8
-20
-70
13
1
-2
12
48
-16
-15
-6
8
-26
11
13
4
5
0
14
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
-23
13
0
0
9
-11
52
0
24
4
33
30
0
-16
-2
-52
27
0
3
-49
30
5
0
17
30
9
-41
0
7
66
-18
5
0
0
0
0
0
0
-17
6
-5
7
0
9
30
-2
-5
0
-8
28
8
-9
0
1
8
9
8
0
-43
-20
-4
-19
0
57
5
42
22
0
11
-33
-5
14
0
32
-21
-13
-10
0
-15
4
5
2
0
-13
15
17
3
0
-19
9
-8
-8
0
-26
-17
54
23
0
33
-15
3
-6
0
9
32
3
23
0
-34
16
-25
27
0
26
-6
0
4
0
-14
1
-30
-23
0
-8
0
-3
-1
0
-33
14
-4
0
0
-11
13
21
-5
0
-17
22
11
19
0
-21
59
-34
-5
0
-69
-22
46
-5
0
26
2
28
15
0
46
-1
-22
10
0
0
0
0
0
0
0
0
0
0
0
-9
2
-1
2
0
23
-1
-17
-1
0
-38
13
-5
-5
0
-23
12
27
11
0
7
5
-22
-14
0
18
-29
22
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
12
19
0
0
-1
22
-11
0
0
-15
14
11
0
0
21
-1
13
0
0
-3
-53
27
0
0
2
2
-23
0
0
-9
14
-26
0
0
0
0
0
0
0
-5
-1
4
0
0
-6
14
5
0
0
-16
-14
8
0
0
-2
29
0
0
0
5
-19
8
0
0
14
17
-13
0
0
30
17
-10
0
0
-17
-39
8
0
0
-1
0
0
0
0
26
20
-1
0
0
10
-1
0
0
0
2
-11
0
0
0
-5
2
-17
0
0
23
-43
-8
0
0
18
51
60
0
0
-6
22
8
0
0
12
33
-5
0
0
2
1
0
0
0
-3
-4
1
0
0
-2
-13
-2
0
0
-13
13
1
0
0
-4
-14
15
0
0
11
4
-23
0
0
5
35
-23
0
0
-9
-17
34
0
0
0
0
0
0
0
-2
-1
0
0
0
-1
-6
0
0
0
-1
4
-8
0
0
-9
34
-5
0
0
22
23
5
0
0
17
-12
6
0
0
-3
-32
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-7
-1
3
-1
17
-22
25
19
3
-6
17
9
-1
0
7
-20
-4
14
5
-5
78
-1
-18
25
2
-71
1
51
-41
112
68
-3
-5
10
0
0
0
0
0
4
-1
0
0
0
4
3
-2
2
-1
-7
15
0
5
5
-10
6
24
-11
3
-50
-15
57
23
-7
7
39
1
-30
-31
-1
-28
-14
47
-3
72
19
52
-7
44
-1
0
0
0
0
0
3
1
-1
0
3
18
-3
0
0
10
8
7
0
-2
1
2
9
-16
18
-2
-13
-1
45
-3
-20
-36
8
24
6
19
0
-3
-6
-24
5
-27
44
5
10
-2
1
0
0
0
0
1
-1
0
0
2
2
0
4
0
-1
-4
3
3
-2
6
33
-13
2
-5
-48
-14
-3
46
-38
-23
13
13
3
-13
21
-76
23
-47
74
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
-1
2
0
-2
-2
22
-20
21
-1
-11
-37
1
-4
-21
17
31
-18
4
-9
20
-19
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
2
39
-3
11
-4
-2
23
-4
-22
19
-45
-2
-6
-24
-6
60
17
10
12
55
28
-21
0
57
11
-11
41
2
56
38
6
-28
-1
0
0
0
0
0
36
-16
12
-12
-8
55
24
0
-4
4
-20
-1
-1
6
5
-43
-23
4
5
46
5
-6
-9
-10
11
10
38
43
13
-7
-10
-36
19
-42
2
54
0
5
-21
-14
4
5
-6
8
-3
-6
22
-7
-2
-5
10
-8
-4
-9
13
0
-20
2
8
28
57
-45
17
-34
27
-14
-17
-41
-19
1
62
-31
24
-13
10
-26
43
56
41
26
33
11
-33
28
-44
-1
7
5
9
0
2
5
0
-23
0
28
14
4
-3
17
42
2
7
-3
22
19
14
-28
-57
-1
39
-9
36
-6
-32
-81
-20
-4
39
31
-34
10
-19
10
4
0
0
0
0
0
-2
1
1
0
0
0
-1
0
0
0
0
5
1
6
0
-17
0
-2
14
-13
36
-1
-18
-23
9
-52
22
-6
-31
-31
-11
14
14
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-13
-4
-4
0
11
-5
35
17
-5
43
43
-21
4
19
-9
-5
-5
9
13
-43
14
22
-5
-14
-33
47
-32
-2
-9
57
21
-5
-6
11
0
0
0
0
0
38
-26
21
20
-7
20
4
17
-19
19
24
-29
7
33
-19
-26
7
18
-15
53
35
-16
-5
75
-28
7
25
-10
5
-4
22
28
-13
-15
-19
-48
-5
-8
9
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
5
-4
-2
5
-7
-7
0
-2
-19
20
-1
14
-8
-5
10
-3
1
28
11
-20
21
26
18
-33
29
23
-35
-41
19
26
0
2
6
6
-45
-28
-19
2
-1
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-1
-7
-3
0
0
-8
26
-5
5
3
-27
8
23
-22
-14
14
-21
-22
-20
-3
15
11
1
27
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
16
0
0
1
5
9
10
0
46
39
-10
-5
0
-10
3
7
-52
0
3
-44
28
-21
0
-17
2
-13
23
0
20
45
33
-5
0
0
0
0
0
0
0
21
23
5
0
-10
17
0
-1
0
-5
5
21
-9
0
21
-17
14
44
0
-35
24
0
-9
0
1
-5
-11
13
0
5
61
7
-22
0
9
35
0
3
0
-6
16
-2
-3
0
2
12
-4
10
0
-6
-11
-2
6
0
-17
30
-5
-28
0
38
4
33
-43
0
-14
-53
-3
-17
0
26
6
-33
14
0
-6
16
23
29
0
13
61
-11
18
0
10
10
11
-1
0
13
2
2
20
0
5
-5
-31
2
0
-23
-3
3
2
0
4
-28
11
5
0
5
-10
-11
5
0
15
22
42
-31
0
-91
62
-23
-49
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
7
-5
0
49
-9
-1
1
0
14
-1
5
-13
0
-11
-6
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
3
0
0
3
-5
-7
0
0
-13
13
-10
0
0
6
-55
-18
0
0
9
-18
-21
0
0
-33
14
10
0
0
31
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
4
21
0
0
0
-2
-9
4
0
0
-17
1
20
0
0
-21
-35
-4
0
0
43
-4
-2
0
0
-16
25
57
0
0
-44
-3
14
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
-1
0
0
-7
-7
0
0
0
-23
3
4
0
0
-40
-14
-9
0
0
32
8
-1
0
0
40
44
-14
0
0
0
19
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-11
-6
2
0
0
-19
43
-3
0
0
3
-6
-13
0
0
5
21
1
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
19
-4
-1
0
0
23
4
-1
0
0
8
1
-4
0
0
0
7
20
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
12
-24
35
-39
-19
14
0
-29
9
-10
-45
-2
-18
16
-25
3
36
-21
39
31
-8
29
-19
-29
-15
-12
-26
57
-25
6
0
0
0
0
0
-2
0
-1
0
0
-2
-14
5
6
2
-26
-5
5
3
22
4
21
10
-10
18
-1
-5
-7
19
11
2
15
5
13
5
-25
43
-35
-63
-17
-51
-7
25
-5
33
0
0
0
0
0
0
-6
0
-29
0
2
-7
7
-22
2
14
5
-48
17
-8
-7
7
-10
5
-8
8
-32
-32
-10
27
0
-5
33
85
-34
3
-50
-15
24
2
-9
31
-5
-15
9
-3
0
-1
-1
-2
-6
2
16
-20
0
15
0
15
5
-3
-20
-20
-1
-23
-4
-9
-30
19
17
5
-35
1
-19
-20
6
-19
19
-1
-1
-35
-12
-62
15
72
17
0
0
0
0
0
-4
-1
0
0
5
4
-4
1
-4
2
-2
-5
-21
37
1
-12
38
-23
13
13
52
-41
25
27
-23
-62
-8
18
-24
-14
-19
-23
17
17
1
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
-31
14
-14
-23
0
16
-71
-37
13
-7
4
27
14
-14
-16
-23
27
-43
22
-1
-17
-3
23
-30
-18
-20
29
14
23
18
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
2
7
-1
0
10
-14
8
-8
-2
3
-3
0
-1
1
0
0
0
0
0
2
-1
1
0
-1
1
-2
-11
-4
-1
15
5
-14
-14
-1
0
3
-4
5
21
14
-9
29
-14
5
3
-23
5
8
-27
-21
11
-31
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
1
-18
-4
-15
-6
-74
-61
-18
4
2
-16
28
-5
-17
-14
29
42
21
-5
27
-30
52
-28
0
-5
5
-39
16
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
-5
0
0
0
-20
-4
16
-3
-2
-26
31
5
4
-17
-30
11
-15
13
-6
44
7
-33
-14
-11
10
-55
23
39
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
-30
-30
5
-5
0
-3
7
-14
-3
0
-33
-33
-67
15
0
14
47
12
16
0
34
-1
29
-11
0
-3
-33
-4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-13
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-4
0
0
-1
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
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
-11
-4
-4
0
0
8
0
-21
1
0
-7
5
-1
1
0
-9
-23
11
16
0
16
14
-30
-14
0
4
6
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
-1
0
0
-20
-18
-9
0
0
9
-27
-42
0
0
14
23
33
0
0
-28
-21
-18
0
0
-23
-35
8
0
0
23
-62
43
0
0
0
0
0
0
0
0
-1
-1
0
0
0
9
0
0
0
-23
-26
-10
0
0
-9
5
10
0
0
15
-12
8
0
0
8
17
5
0
0
-5
-2
17
0
0
14
-32
-26
0
0
0
0
0
0
0
1
3
0
0
0
-1
-10
5
0
0
-2
-5
-4
0
0
-5
-16
-8
0
0
0
10
9
0
0
6
-3
15
0
0
-15
0
-14
0
0
-2
5
17
0
0
0
0
-3
0
0
1
4
-5
0
0
-5
24
-2
0
0
-18
-6
34
0
0
-7
-5
5
0
0
5
45
-6
0
0
-24
-4
35
0
0
-1
-16
-32
0
0
0
0
0
0
0
0
1
-7
0
0
2
-2
-1
0
0
1
5
-4
0
0
-15
-45
-10
0
0
10
-2
13
0
0
9
-19
-9
0
0
-7
48
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-8
16
2
-31
-28
-32
-14
-39
28
-3
50
-5
-2
-53
-23
5
-8
-17
-10
-13
10
57
-15
-29
30
-32
-18
47
15
27
-33
-39
49
0
0
0
0
0
3
8
19
-26
4
-14
-3
-27
21
2
42
45
-9
16
-63
-5
10
17
-32
-21
-65
-34
-26
4
-5
-68
40
46
29
27
-8
-6
-28
-55
-17
30
1
6
-4
19
0
-9
-14
-5
1
-1
18
-35
14
2
-6
-3
-29
25
-5
-6
-53
14
-7
-9
2
46
-32
-59
-23
3
-32
-38
5
-23
-17
37
24
2
29
16
14
-6
2
-20
25
-8
-16
6
34
17
-9
7
-3
2
-7
12
7
-5
-21
-3
23
-8
10
5
11
-1
1
44
17
-51
33
-38
6
0
13
-39
-4
14
14
16
9
29
6
26
11
-8
-45
-17
-23
0
0
0
0
0
6
9
9
15
-10
-24
-7
-10
10
-4
8
31
6
-15
13
-57
-5
21
-13
-17
-2
37
-12
-48
10
3
-23
27
-62
-7
10
-1
11
9
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-34
-14
7
-2
-26
5
16
-51
-3
-16
-41
20
14
-3
-15
-30
30
15
-62
36
-17
-36
7
15
-33
24
10
-45
-5
27
108
-37
11
35
0
0
0
0
0
0
0
0
0
0
2
-7
-27
-1
-1
-8
-45
-7
-14
-2
-7
-21
5
-2
-18
-26
-16
-7
9
-33
-2
14
25
-57
-3
23
67
6
23
-25
-8
-58
-86
-21
19
0
0
0
0
0
0
0
0
0
-1
3
-5
-2
5
0
11
-2
-17
19
-10
29
21
23
5
3
-14
-33
-15
19
-22
-41
-4
4
-15
-5
-32
25
-81
49
5
-15
-22
7
-47
36
0
0
0
0
0
0
-2
0
0
0
0
-6
-7
2
0
7
-23
-5
-8
1
-15
-16
-12
-3
-2
-40
23
-4
23
-31
-25
-13
4
55
42
14
14
11
-29
34
0
0
0
0
0
-6
1
6
9
0
-20
5
9
-6
-4
-9
-17
-9
38
14
-3
-24
3
-27
-24
-91
49
-5
5
14
-33
-1
0
-11
14
48
21
-25
13
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-14
-9
6
-5
-6
-17
3
-18
-5
7
48
-5
17
-11
-27
2
18
-33
-6
67
-36
-7
14
-43
28
-30
10
-17
32
-54
23
-45
114
-44
0
0
0
0
0
0
0
0
0
0
0
1
5
-2
0
-16
-6
-13
-30
13
0
-12
-11
3
-13
-31
-18
17
6
-15
-14
-20
9
30
-3
-15
-10
16
-35
6
-17
8
-13
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
-1
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
6
3
-33
0
2
-11
-4
7
1
4
-6
-8
-21
-5
-64
-5
44
21
0
-2
-2
-11
-23
2
0
0
0
0
0
-2
14
-1
-5
-5
6
-15
6
-22
0
-25
-16
5
-33
6
-7
23
-24
-6
4
26
-53
-23
43
-5
3
-57
-56
31
6
-3
45
23
13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-16
15
0
-7
-9
0
-2
0
-2
24
2
-2
0
-13
-32
15
0
0
-20
1
-1
12
0
-15
41
17
-28
0
6
-16
-52
-35
0
0
0
0
0
0
0
0
0
0
0
-2
1
-10
-2
0
-12
21
-28
-3
0
-5
-2
24
-9
0
-43
23
-11
34
0
-7
15
-17
-13
0
41
-20
20
-67
0
-15
-52
35
23
0
0
0
-2
0
0
-3
1
-2
-1
0
-1
0
-32
-3
0
-7
-14
10
8
0
-10
37
2
-15
0
14
13
3
-2
0
-6
23
26
0
0
30
-46
7
-3
0
0
-5
16
-29
0
0
0
1
0
0
-2
1
-24
0
0
2
0
-5
-3
0
-1
29
-6
-7
0
-17
27
6
-9
0
-62
7
13
8
0
-1
-18
33
4
0
14
-30
-34
-34
0
0
0
0
0
0
11
2
-9
-3
0
16
2
5
-2
0
-18
-19
28
2
0
-3
2
9
-16
0
-37
-9
-19
-7
0
-44
-38
30
-41
0
33
39
-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
-10
3
0
0
29
0
12
0
0
-14
28
-3
0
0
-31
24
-22
0
0
-17
-5
-27
0
0
-11
-14
54
0
0
-15
-10
-5
0
0
0
0
0
0
0
0
-17
-11
0
0
19
-8
-2
0
0
-59
-10
5
0
0
3
-7
14
0
0
-15
-23
4
0
0
-3
47
-14
0
0
38
27
-20
0
0
23
-7
31
0
0
0
0
5
0
0
-14
-30
-4
0
0
1
28
-5
0
0
48
-21
14
0
0
-28
29
14
0
0
-19
100
2
0
0
-33
1
-43
0
0
-27
-14
-31
0
0
8
-6
34
0
0
8
8
3
0
0
-27
22
-5
0
0
-23
-14
-15
0
0
7
-1
8
0
0
-30
-2
-27
0
0
-10
0
9
0
0
30
14
0
0
0
-43
14
11
0
0
0
0
0
0
0
-1
2
0
0
0
34
0
-2
0
0
-28
-14
7
0
0
14
0
-20
0
0
-1
17
-15
0
0
-14
-4
13
0
0
23
46
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
7
57
0
-34
-36
-23
-12
-4
24
21
-26
-1
1
23
6
26
-109
-2
-14
5
-20
9
51
-29
-17
19
17
-35
100
0
27
-2
-24
0
0
0
0
0
-10
0
4
-9
1
8
21
-14
-2
1
-34
-26
-15
6
20
12
-45
3
15
26
12
43
-11
23
-22
28
-40
14
-40
-7
-23
23
4
6
-23
6
41
2
20
-7
0
-1
-1
-4
0
15
-1
-7
17
-2
6
-11
-6
22
-2
14
45
-16
9
0
43
-1
-33
6
9
24
43
-62
-37
-15
17
62
45
36
27
23
0
52
-50
-14
-11
18
-3
14
-7
-1
-5
3
8
0
3
-18
-6
-9
2
15
-41
-4
18
-5
-30
-2
30
-44
7
-17
-29
8
-3
23
-20
-15
20
-1
-45
46
97
-9
-29
-36
77
22
-43
32
3
0
0
0
0
0
-3
-2
2
0
0
4
11
0
4
5
-14
-4
28
-5
13
4
-59
15
0
-1
-3
15
-14
-33
43
-20
-7
-20
21
0
4
-33
22
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
-8
-19
-3
-9
-48
32
-11
-18
-41
-6
-31
0
6
14
11
-2
-24
-66
-18
-29
16
-21
18
-22
-19
43
-10
50
-21
72
0
51
21
0
0
0
0
0
-20
7
-1
8
4
-37
-7
31
-11
-14
-38
7
-13
1
1
-2
5
-12
13
-19
-24
-53
11
-46
-10
-1
-33
6
11
-2
-33
-16
55
-29
4
-5
14
25
22
34
1
-5
-2
-9
-4
-19
-18
9
-5
2
-30
2
-5
6
-4
-12
-19
8
-15
5
21
9
-33
-17
-20
29
10
-43
-12
-17
26
6
-9
-22
-9
15
-36
21
6
31
-11
-38
-12
40
-39
-3
2
-21
-11
-4
-42
7
10
23
15
-10
-8
51
-5
-4
-50
49
-28
38
13
8
-9
30
-6
35
19
-23
-5
0
13
-14
25
26
-56
8
-1
-46
15
7
-23
0
0
0
0
0
0
-13
1
-5
0
-6
-13
-5
9
2
24
19
20
-4
1
-4
-35
-28
-18
16
23
4
-4
-50
-20
11
-33
4
49
-11
-42
37
-6
30
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
1
22
2
-7
3
32
-8
1
55
-49
24
-34
2
14
73
-31
-8
5
-14
44
-25
-4
13
-52
-24
-16
7
-53
23
-16
105
-53
39
0
0
0
0
0
-8
-13
-11
-14
2
-2
-24
-18
-29
-7
33
-44
34
-15
23
-4
-15
-5
9
-17
23
49
-14
-78
-51
82
-41
-1
22
6
-29
-14
17
-19
-14
-97
-16
27
14
-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
-3
11
-3
-10
-7
-9
-5
-19
9
2
-3
-6
3
14
-5
1
7
-43
-5
5
23
-25
9
-26
-15
-23
4
-44
25
-5
-5
11
-23
-29
48
17
11
-28
11
-9
0
0
0
0
0
0
-8
-2
2
0
-8
4
5
-6
-1
-2
11
3
-10
-5
8
7
-20
-3
-6
-3
33
-32
-3
19
-17
7
-70
13
-7
23
5
36
10
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-6
-4
0
3
21
5
-26
0
-36
-6
-11
0
0
-35
-7
10
-43
0
80
30
6
-36
0
-19
-19
9
52
0
-55
2
13
-5
0
0
0
0
0
0
0
-13
-14
1
0
-10
-8
-22
-3
0
-6
-24
7
52
0
-36
33
-29
-25
0
-20
12
5
0
0
13
11
14
-14
0
24
-53
-27
12
0
-24
4
2
-8
0
0
0
4
0
0
-4
-23
11
-15
0
-9
-21
-4
1
0
29
5
13
-26
0
-46
-12
11
28
0
-14
-6
-65
14
0
-3
34
1
-4
0
35
-14
-22
-29
0
24
16
35
31
0
5
-6
-15
5
0
6
-34
14
-32
0
1
-1
7
-3
0
29
-45
-14
-19
0
-54
-32
4
21
0
1
-27
-47
-10
0
-6
6
-6
-10
0
-36
-41
22
6
0
0
0
0
0
0
1
0
1
0
0
1
1
-13
-1
0
-4
5
-6
-14
0
48
-33
-12
-12
0
-28
-17
-20
26
0
-15
-4
38
-2
0
13
19
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
-25
-4
0
0
-7
14
6
0
0
5
-27
24
0
0
9
-8
-5
0
0
-4
45
14
0
0
23
-14
-36
0
0
17
58
-2
0
0
0
0
0
0
0
0
7
0
0
0
-11
-9
-5
0
0
14
-3
-3
0
0
14
17
8
0
0
-3
-77
3
0
0
-2
18
-4
0
0
5
15
-26
0
0
15
25
35
0
0
0
0
5
0
0
0
5
0
0
0
-7
-8
-7
0
0
-19
28
-43
0
0
20
-27
7
0
0
4
14
-40
0
0
-26
-31
-9
0
0
-14
-14
-4
0
0
-9
-18
-9
0
0
-1
3
0
0
0
2
31
-1
0
0
6
-5
-2
0
0
3
-14
-51
0
0
-27
5
18
0
0
-5
-14
-20
0
0
-23
-34
1
0
0
-4
13
16
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
-4
7
-2
0
0
4
-10
7
0
0
-16
-10
21
0
0
-14
-1
-20
0
0
1
13
-19
0
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
-46
10
0
-17
-43
3
2
1
-1
23
-3
-3
-2
36
-48
-34
20
-5
-15
-38
52
-12
-33
20
41
-11
0
43
0
0
0
0
0
-2
1
0
0
0
-3
2
13
-9
0
-19
-15
19
-23
-3
-9
16
3
5
5
40
3
-15
0
1
57
31
-41
-2
7
40
-9
43
-71
-8
14
85
-32
-13
14
0
0
0
0
0
-7
-3
0
-2
0
-2
4
-2
0
0
6
-20
-10
3
0
-24
-35
-1
8
5
-36
-53
-14
10
19
49
11
14
29
-14
96
9
-6
-8
-1
60
0
11
-19
-7
1
0
0
0
0
-2
0
0
-3
0
-2
0
3
-4
1
17
-37
-7
-16
1
-21
11
5
-13
1
-7
14
-58
-2
-7
35
-4
2
23
5
23
-33
48
7
-15
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-2
1
-2
-1
0
0
1
4
-2
-5
0
-12
18
-5
19
0
23
-3
2
-2
-3
9
26
-8
3
16
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
-9
4
-9
-7
-4
16
15
16
9
-35
31
-6
-4
24
21
-51
-11
17
10
-6
87
-70
6
-19
33
-50
23
14
10
0
0
0
0
0
-3
13
-1
-3
2
10
-5
14
-43
0
17
-33
14
-3
-28
85
-9
34
-14
32
9
73
-47
14
-3
-16
-71
26
24
33
-4
-26
-58
-28
18
-19
3
13
35
-56
-1
1
0
0
1
13
7
3
18
0
-5
18
-1
-42
-1
5
-24
-23
-36
-21
-20
-6
-12
-16
-5
-29
-83
-26
-46
5
-12
24
-8
24
9
29
43
62
-70
-31
-23
23
-50
43
-10
-3
-10
31
-8
-7
25
-10
-2
-12
-4
4
-29
-42
-4
1
-21
-3
-3
22
-28
14
0
-4
-9
11
-18
-12
17
-50
-3
35
7
17
51
-23
-23
-7
38
22
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
3
1
-14
0
0
0
27
-2
-7
-33
9
-14
32
21
13
-11
-12
4
-19
-16
-14
48
16
-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
-32
2
2
6
21
-31
33
-27
-3
-69
-5
-42
-5
-2
33
10
11
34
-8
16
33
-25
14
16
31
27
-2
-46
0
0
0
0
0
0
3
-1
0
0
2
-11
-2
24
8
-12
7
28
5
-23
-4
-3
22
-11
-15
-33
-5
-10
-14
-8
-22
6
10
-5
1
17
0
3
6
-15
-3
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
-5
3
-2
2
1
-5
-10
8
0
13
8
-10
-7
-6
-9
-24
1
4
-3
-17
5
-36
59
10
-9
-24
2
18
10
14
50
-36
-1
-20
-15
-13
46
-75
17
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
-3
0
-5
8
-3
-23
2
19
-7
-27
13
-14
15
-13
1
28
-36
-1
-6
-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
2
0
0
10
-7
31
-8
0
-3
-4
8
-3
0
24
1
-14
-11
0
7
33
-12
-17
0
-1
16
-37
-31
0
-9
5
33
-28
0
0
0
0
0
0
0
0
4
1
0
3
-16
-2
17
0
-5
13
-1
8
0
-3
-38
-23
-34
0
26
-7
-43
-34
0
-23
-5
-1
45
0
-27
-3
50
-9
0
5
31
24
13
0
0
0
0
0
0
17
7
-24
-5
0
5
4
17
19
0
-11
34
-14
-33
0
11
-10
-14
44
0
5
5
44
-3
0
16
-17
4
3
0
3
25
-33
-10
0
-9
10
18
44
0
-16
-3
-5
5
0
-2
5
-3
-3
0
1
-9
6
10
0
15
-14
-27
-19
0
6
11
16
-15
0
21
34
27
15
0
-29
25
-41
5
0
-25
-48
22
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
-4
0
0
0
10
-33
-1
-16
0
0
-1
-8
-8
0
0
-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
-2
0
0
-3
0
2
0
0
4
6
5
0
0
0
18
5
0
0
45
33
21
0
0
6
-8
-1
0
0
2
17
-12
0
0
0
0
0
0
0
0
0
0
0
0
1
15
-1
0
0
1
-3
1
0
0
-13
-5
-2
0
0
-41
10
-24
0
0
-13
-8
-6
0
0
62
-24
7
0
0
1
47
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-15
21
-4
0
0
-4
1
-29
0
0
3
2
4
0
0
14
-46
-5
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
8
8
0
0
10
23
-2
0
0
9
14
4
0
0
-5
-14
0
0
0
-1
14
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
-1
-4
-9
0
0
-2
-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
-1
4
1
0
0
-8
3
-7
0
-19
22
44
-7
9
10
22
-18
-5
0
17
-13
-17
25
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
10
-13
18
-6
-5
2
-20
0
-5
0
55
42
-55
-10
-6
22
22
2
-21
-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
5
6
9
1
10
-33
6
-10
9
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
45
0
-7
0
-10
15
-5
-5
10
0
-3
-13
-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
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
2
2
-1
-3
1
-4
-13
-33
0
0
19
25
-9
-27
-8
9
10
-20
-11
5
2
15
55
22
-9
0
0
0
0
0
1
0
0
0
0
-6
-4
-3
9
-1
-1
10
36
-1
-4
30
24
3
9
3
-18
-57
24
22
-6
27
14
-97
0
9
-36
54
-45
-35
-39
33
14
58
-25
33
0
-2
0
0
0
6
0
0
0
-2
-7
-4
-6
8
0
4
-15
11
-15
-8
-34
19
11
1
5
-61
9
32
43
-19
-10
43
-31
-3
16
38
12
-35
-26
5
8
18
52
14
0
0
0
-1
1
0
5
-2
0
0
0
0
-2
0
1
0
14
-21
-1
3
-7
-43
-25
3
41
14
14
-19
-12
5
-11
27
33
33
6
-15
-2
61
34
-33
-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
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
-10
5
-1
6
-2
1
-3
-4
11
-3
23
0
7
0
10
24
-6
17
-15
25
-1
-7
0
0
0
0
0
0
0
0
0
0
0
-2
-1
5
3
6
-17
1
5
-2
-4
17
-2
14
-6
-1
-50
33
-27
-18
6
6
-32
23
-17
3
32
22
-45
51
4
86
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
0
0
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
2
0
0
-1
2
-1
-18
-15
7
-1
22
17
8
4
13
6
-4
40
-9
-10
-14
11
0
9
-4
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
-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
29
4
0
13
45
-25
-11
0
7
-9
-54
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
8
1
0
2
6
-3
-24
0
6
5
3
6
0
-9
-23
-16
11
0
15
-10
-3
-14
0
8
-7
-3
-1
0
-17
5
12
-49
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
0
-5
7
0
-3
11
-36
2
0
-8
1
-8
-5
0
2
-6
53
1
0
-19
-26
-39
20
0
0
0
-45
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
-4
19
5
10
0
16
-1
0
1
0
-19
3
7
-24
0
-33
14
5
-5
0
0
0
-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
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
-17
0
0
0
14
0
7
0
0
0
0
0
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
-15
4
0
0
-13
1
-25
0
0
0
0
3
0
0
0
0
0
0
0
0
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
11
17
2
-3
-1
-9
33
5
11
-3
-6
7
-15
21
-8
-2
-34
-65
33
-23
-2
5
57
-27
21
5
-32
-4
-7
-36
-3
54
-16
22
-21
0
0
0
0
0
0
2
0
11
1
0
3
-5
-6
-2
23
5
-12
-13
1
-16
-19
14
23
0
-7
1
-26
2
-8
33
-42
-13
-50
1
-36
8
-29
18
-14
23
16
-5
33
18
0
0
1
0
0
1
1
0
0
0
-10
-11
-4
-1
0
-37
-8
2
18
-5
-52
-26
-4
41
9
20
-43
-9
-2
8
25
-7
13
33
6
10
89
4
-26
-16
-32
10
-6
-37
-24
0
1
0
0
0
1
0
0
-2
-3
0
5
-2
-6
0
6
2
0
-5
-34
-8
-9
-5
5
39
-52
18
-14
29
-15
-4
-17
51
7
47
-11
-12
-21
-32
3
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
-5
-18
9
-7
0
9
4
-29
-22
9
2
-12
2
51
-3
-3
11
5
-13
5
-15
8
-11
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
4
-4
-8
3
-18
-2
-27
16
10
-17
16
24
21
9
-31
17
10
-46
-15
21
39
-8
57
6
0
14
-23
-51
-5
15
-8
35
47
-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
-2
0
0
0
4
2
0
-4
0
2
-4
-7
8
1
21
9
10
-4
5
-1
15
-23
17
11
4
-15
-5
-14
3
4
-14
-18
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-4
18
22
-2
37
-14
24
-8
-30
-10
7
25
29
6
47
-80
-25
-1
-31
20
47
-19
-51
23
-14
-15
32
-14
3
12
-4
-1
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
5
-26
-5
1
-14
-52
-20
-5
5
-11
-29
-5
-17
-14
10
-12
-30
-29
-5
22
-31
2
14
9
-12
33
-2
-18
-15
-3
-15
-5
-5
-5
14
39
-6
-21
-20
-2
31
21
-7
22
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
5
-2
-13
-7
26
-19
-33
-22
13
-16
15
31
7
-2
19
-3
-7
7
-13
4
-18
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-4
1
0
6
-30
19
5
0
9
-2
-34
-49
0
17
-20
-22
23
0
-14
32
21
3
0
-14
-1
-18
-65
0
4
14
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-4
-1
5
1
0
41
-14
-13
-33
0
2
45
-8
-20
0
-47
7
13
-36
0
-10
3
-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
-1
-1
0
0
-1
0
0
0
0
-2
-3
-2
0
0
3
39
-4
0
0
7
23
9
0
0
61
-4
38
0
0
-44
-44
0
0
0
0
0
0
0
0
10
1
0
0
0
2
-2
1
0
0
9
-5
-3
0
0
3
0
-37
0
0
22
-1
-5
0
0
64
-22
24
0
0
7
-14
10
0
0
-46
45
-17
0
0
2
0
0
0
0
0
0
0
0
0
1
3
0
0
0
-10
-5
36
0
0
7
23
11
0
0
29
-21
-17
0
0
-4
-14
-28
0
0
-15
51
-29
0
0
10
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
-7
21
-2
0
0
25
-7
18
0
0
5
-20
-17
0
0
-45
-6
-3
0
0
-7
-20
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
11
0
0
0
14
-13
6
0
0
-25
-13
17
0
0
-15
2
-6
0
0
-2
-20
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
9
-5
-13
-2
0
-8
5
53
-7
5
-43
25
15
-3
5
45
-47
-17
-55
-19
-41
14
-38
8
9
112
-79
14
2
9
0
0
0
0
0
0
-1
-1
3
0
6
7
0
0
1
-2
-11
-13
29
1
14
21
-8
16
7
-10
-6
-2
-28
14
-8
-9
33
36
8
26
-15
-43
-70
-52
-6
9
10
14
-8
0
0
0
0
0
0
0
-1
1
0
3
-2
3
1
0
27
9
15
6
3
7
-12
5
2
8
-80
33
9
0
-10
-2
83
-48
-34
19
22
70
-14
-6
28
19
-6
-14
-13
-10
0
0
-1
0
0
-1
-1
0
0
0
1
6
1
1
0
4
11
2
5
39
1
-46
3
12
-17
54
-5
9
-53
0
-22
13
-15
7
6
55
20
-38
-20
5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
-3
-1
-14
10
-9
7
2
29
2
-11
4
16
-5
14
16
1
-26
30
-17
1
4
-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
10
14
15
2
-2
-34
39
-33
-3
5
4
-14
-29
14
12
-22
-40
2
-1
14
-20
11
16
-9
19
13
1
38
-22
0
0
0
0
0
-4
-2
0
0
-1
0
-1
-4
10
-3
-5
-43
-6
2
-2
36
27
14
-34
-14
-14
13
-48
0
-11
-7
-4
23
-13
-33
-13
8
-33
36
-15
68
-6
23
-9
47
0
0
-1
0
0
5
0
1
-5
0
20
5
0
-27
-8
-8
-24
8
-13
-15
4
-34
-43
5
-5
34
3
20
23
19
-9
21
19
-28
-5
35
11
2
33
-28
7
28
18
22
53
0
1
0
1
0
-1
0
0
1
0
1
1
4
5
0
4
-3
-4
-4
0
7
14
15
-1
-11
-33
-58
-23
17
14
72
10
7
-4
16
30
28
52
-4
-17
0
0
0
0
0
0
1
0
0
0
2
2
0
0
0
-1
2
4
0
-2
-7
-19
24
18
-8
-33
24
5
-8
14
43
-33
-53
30
9
18
-20
6
-21
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-4
0
10
0
14
15
-35
5
2
-9
38
12
-3
6
-5
2
7
17
-7
39
5
5
0
1
-5
10
-26
2
-27
-43
24
6
-53
47
0
0
0
0
0
-16
-1
2
-1
1
-1
-3
-8
3
0
53
5
-1
-26
-36
57
33
-4
36
13
-18
-13
-1
-3
0
-21
48
-11
5
-52
-55
6
-25
-28
32
75
-5
-58
1
-1
-5
29
16
-30
8
30
19
-10
-23
24
39
34
-2
-5
-31
5
28
32
-18
-33
-34
4
-26
27
20
-14
17
19
-21
-7
12
-6
7
-1
-14
28
-22
4
22
-35
-23
-52
26
-46
34
-2
1
1
0
0
0
17
5
2
0
-1
0
-3
6
1
-7
7
7
12
33
34
-9
-9
-21
30
-33
-7
4
-35
4
29
17
-3
-7
47
-25
5
9
14
-24
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
2
-5
0
-14
0
-1
-25
-4
6
0
-15
33
30
-13
-12
-5
8
-33
29
-13
1
15
24
1
-26
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
-17
-1
0
19
-17
15
16
0
-5
-24
-26
0
0
42
13
14
34
0
12
35
29
6
0
-14
-54
10
-23
0
0
0
0
0
0
0
-3
-1
0
0
2
0
5
1
0
2
6
-13
-2
0
5
16
13
-5
0
6
-2
-5
-29
0
21
29
31
-32
0
-9
-32
-2
5
0
9
24
-44
23
0
0
0
1
0
0
-1
0
4
0
0
0
-4
-3
0
0
33
-20
2
10
0
20
22
-5
-3
0
6
-2
-9
-52
0
15
-12
-18
-14
0
-44
45
32
-13
0
-10
-10
19
32
0
0
0
0
0
0
0
0
2
1
0
1
-7
0
0
0
-6
-15
14
-1
0
62
34
14
-1
0
-14
2
-32
-39
0
41
8
-26
0
0
-6
-15
47
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-5
0
0
-47
2
-14
13
0
4
2
19
-29
0
9
-7
10
7
0
0
-4
39
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
2
-6
0
0
0
-6
1
5
0
0
-1
-3
-14
0
0
42
-7
18
0
0
-1
17
-7
0
0
29
30
9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
3
8
-1
0
0
2
-2
-6
0
0
-52
9
-4
0
0
6
-22
-3
0
0
30
23
-31
0
0
5
38
-10
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
-5
-3
0
0
9
-4
3
0
0
-2
4
18
0
0
5
16
-3
0
0
-30
-14
-5
0
0
52
-32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-19
0
0
0
24
19
-16
0
0
0
-1
-11
0
0
-10
25
6
0
0
-5
33
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
5
-5
0
0
-39
26
5
0
0
-21
1
-14
0
0
25
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
2
0
1
0
-5
-6
2
1
0
8
-10
-6
-5
1
0
-18
18
22
-5
102
25
-62
14
26
-56
-2
-3
18
22
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
3
0
1
0
0
0
11
-1
0
0
9
-22
-20
8
1
16
41
56
14
-13
-26
24
0
17
39
-19
3
-8
21
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
-26
13
-13
3
5
-54
-5
5
4
-15
2
47
8
-2
16
20
6
-3
3
26
-17
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
0
4
0
4
-21
-7
11
2
-11
-8
-16
16
10
-2
-23
2
48
10
-43
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
1
7
2
-1
10
-14
3
9
1
-1
14
-19
-8
0
-3
-32
-9
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
11
4
-9
4
10
18
3
6
50
-11
14
-22
-26
0
-6
22
24
3
39
46
-15
-16
0
0
0
0
0
0
0
0
0
0
4
-9
0
21
0
19
5
5
7
33
-5
-14
-9
14
8
-39
9
36
5
-25
-5
-18
-54
-8
0
19
-3
16
29
-6
22
42
71
-4
14
0
0
-1
0
0
0
-1
0
0
0
31
-8
5
9
1
7
-18
10
9
-16
-19
49
3
-7
5
16
8
-56
-14
10
17
12
-35
38
-22
-20
-4
34
8
19
74
6
12
0
1
0
-2
0
0
0
-1
0
-1
0
2
0
-13
-1
-2
0
14
-14
19
0
5
9
7
-16
-22
10
-12
-12
-20
-14
-21
55
-13
7
7
0
-8
99
-34
6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-3
14
2
-1
-7
7
1
-6
2
3
32
-1
-16
2
-2
-19
-11
-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
-13
0
0
9
13
11
-13
-2
-6
2
8
-33
9
19
14
-5
19
5
20
-71
24
31
15
28
5
-5
6
-20
0
0
0
0
0
2
1
0
0
0
-1
9
-1
31
0
-24
-5
-20
5
14
27
-3
-3
0
-19
8
-23
-1
37
-24
-4
23
-14
-5
10
26
4
-47
8
15
5
10
61
10
-21
0
-4
1
17
-6
5
8
24
7
0
-2
-5
-8
14
19
5
-9
4
41
5
68
-16
-7
-32
21
17
-39
-51
33
-1
-17
19
19
20
-19
-131
67
83
-22
18
4
-6
-7
11
-26
0
-1
0
0
0
1
-1
0
-1
-1
0
-2
0
-14
1
-1
-25
28
-4
-1
4
-44
5
0
4
-33
53
-14
61
-24
36
41
45
-44
-2
-20
-5
11
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-5
0
25
-15
-11
22
3
-6
-9
5
-7
3
14
32
-13
-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
-13
-13
0
-18
-5
-5
8
0
11
-38
20
51
0
-11
27
-28
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-15
-7
19
5
0
-5
-5
-3
-6
0
-24
-6
-8
-43
0
16
-17
-5
1
0
-40
3
-43
33
0
-15
45
-19
8
0
0
0
0
0
0
0
0
2
0
0
3
-1
1
0
0
-9
0
-13
8
0
-32
2
-22
9
0
-6
-4
-66
14
0
-2
3
-1
-20
0
-11
26
-19
-30
0
24
1
43
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-13
24
-19
-1
0
5
-43
48
10
0
-18
-9
-36
-24
0
-14
3
18
-14
0
-3
17
-14
-9
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
-4
0
14
0
0
-9
-4
-10
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
3
-2
3
0
0
-31
2
-5
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
2
5
11
0
0
-16
-43
4
0
0
-37
13
-25
0
0
-17
17
-5
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
-14
-11
18
0
0
23
-11
-11
0
0
-13
8
-2
0
0
-1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-6
3
0
0
0
3
-11
5
0
0
-18
-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
-14
-20
17
-2
0
17
16
1
-17
-2
-8
2
4
3
23
9
-44
21
22
-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
-14
6
8
-33
0
-15
32
2
-4
-14
-1
-12
22
-22
14
-26
-1
37
16
-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
-18
20
-7
-5
-43
-21
7
23
0
-5
17
-17
24
6
-52
3
-9
23
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
0
0
-30
11
0
1
5
61
-7
22
-2
4
4
3
7
11
-30
-45
19
-7
29
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
1
-14
10
0
9
-2
1
21
2
-9
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
-1
5
4
5
-11
0
-26
1
7
-5
4
9
-33
17
-1
-5
6
-18
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
-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
-11
5
-5
3
-8
3
2
4
21
-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
-1
0
0
0
3
1
-2
4
4
-11
21
-3
-7
-2
14
-1
9
5
-7
-1
23
-11
-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
-1
0
0
-3
1
0
0
0
5
0
6
1
0
7
3
-4
2
4
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
0
-1
1
-5
-1
0
2
-13
0
-1
0
9
-24
5
-6
0
6
-6
-31
37
0
5
-31
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
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
15
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
-4
-2
0
0
-2
2
-3
0
0
-1
10
10
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
-6
25
-9
0
0
-8
5
6
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
-5
-5
0
0
0
2
1
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
-1
0
0
0
0
-5
3
6
0
0
4
-48
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
-10
0
0
0
0
0
0
0
0
15
-5
-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
9
6
16
-6
2
-15
12
11
-25
-6
-6
39
-17
54
-13
-15
-29
-39
35
-12
31
-27
-24
9
37
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
8
1
1
13
-11
22
0
-15
32
-26
-2
3
-9
-51
18
5
-2
25
-20
13
23
1
-10
41
7
8
5
-2
0
0
0
0
0
0
-2
1
0
0
2
-2
0
-1
0
-11
3
-2
-2
-1
-1
-1
4
-16
-16
-10
27
-9
-5
12
73
11
2
-14
-10
-14
0
10
20
-6
-37
5
60
53
19
0
0
0
0
0
0
-1
0
0
0
1
0
1
-5
0
-22
27
5
-11
1
-22
29
-13
-9
-4
1
-7
0
-35
2
19
26
0
14
-23
37
-8
-43
10
14
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
10
-2
-6
-9
1
62
-12
-18
-8
18
-30
-18
11
18
-14
5
-16
10
-4
10
24
44
1
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
-2
1
1
1
-1
-2
-7
19
15
0
25
-28
-27
-36
24
38
34
21
-1
-28
-33
-3
-45
5
29
36
-67
-29
-38
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-21
6
0
0
0
-16
8
16
-34
0
-35
-2
0
19
3
-18
-100
5
24
14
-71
-69
-13
36
10
0
0
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
11
-1
6
0
-14
5
-5
-2
-6
-29
-5
8
34
-2
-72
-137
-4
13
21
-91
25
45
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
1
-1
-9
2
-1
-34
-5
2
-23
3
-10
8
14
-8
2
-14
-12
36
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
-2
4
0
2
-5
-4
6
-3
-37
-14
-11
-25
22
15
43
29
-22
-15
10
53
12
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
-1
-1
0
-1
-18
-6
-1
-26
4
-49
-12
-5
-36
22
16
-6
8
46
-7
-10
39
-13
-4
-53
3
3
12
31
27
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
-47
-18
5
14
3
-15
10
-18
-3
11
-3
-90
35
-1
19
-27
-46
2
-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
0
0
0
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
-14
10
1
-14
-8
-21
5
14
0
18
-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
-6
28
4
19
5
17
20
-11
-36
-3
18
-23
7
-4
14
-16
-3
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
13
-2
2
0
-7
-3
-17
2
0
-28
5
14
-22
0
-9
-13
38
-8
0
-49
11
-10
37
0
80
19
2
15
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
13
0
11
-5
-5
2
0
-1
43
4
-3
0
0
-37
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
-1
2
0
-31
-2
26
-1
0
0
6
2
15
0
0
6
-22
-5
0
0
25
-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
-14
6
14
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
19
-1
0
-5
7
-1
15
0
29
5
-1
8
0
15
12
-21
5
0
-8
-36
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
-4
0
0
0
21
-5
7
0
0
-27
0
14
0
0
13
-10
-1
0
0
14
11
6
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
-7
-16
13
0
0
27
20
20
0
0
8
-57
-24
0
0
33
49
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-13
0
0
0
-2
1
0
0
-5
5
-48
0
0
-38
-10
7
0
0
2
-47
22
0
0
1
-55
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
2
0
0
21
8
-19
0
0
10
4
-19
0
0
3
12
8
0
0
7
-41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
-2
0
0
-9
-22
-17
0
0
-11
8
-2
0
0
-5
-19
-4
0
0
-22
13
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
22
43
17
-3
0
-17
-29
-33
16
-7
9
-31
-14
-15
2
-24
-1
33
-14
11
50
-4
67
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
11
11
0
0
11
5
3
-33
-3
9
-36
5
-24
-4
23
0
-4
-4
3
19
24
25
-30
34
44
-13
50
5
-22
0
0
0
0
0
0
0
-1
0
0
1
-1
0
-2
0
-6
6
5
2
-1
16
0
9
7
-6
-2
-47
26
-23
-4
29
30
-49
20
-5
3
18
30
-24
1
19
32
7
37
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
6
-19
23
-6
4
-4
14
-9
-8
-22
-23
15
19
5
10
-4
21
-10
15
40
58
5
-14
-16
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
2
-1
0
-10
5
-23
22
-3
3
5
31
6
4
-13
3
32
-5
-25
1
18
-1
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
3
-7
-9
-4
5
7
-1
8
3
10
-17
-75
3
9
13
27
54
10
27
-15
1
-23
14
14
8
0
10
15
-7
25
0
0
0
0
0
-1
0
0
0
0
-2
15
-3
-7
1
6
-18
-5
14
-4
-7
-5
-2
1
0
-15
-39
27
-11
39
68
51
30
24
-7
-49
-68
53
-13
-2
-109
3
-93
1
-22
0
0
1
0
0
8
-2
-3
2
0
-9
-13
-1
-1
0
41
4
18
-4
-5
12
-14
14
40
-5
-5
2
-14
0
25
-3
-6
11
-30
84
-90
-15
-10
41
6
-29
-61
28
-33
-33
0
0
0
0
0
2
-3
1
-1
0
1
5
-5
-5
-1
22
-34
50
9
-5
18
-4
25
55
17
-37
-21
-47
-17
-6
-39
45
-33
-5
2
14
-14
-11
11
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-4
0
-3
-1
-3
7
-5
-9
0
23
19
17
12
2
-16
-62
15
3
-20
31
18
13
-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
4
0
4
0
25
9
22
45
-3
33
19
-53
11
-8
51
25
5
-34
-6
-30
-33
4
-1
1
-23
-21
10
-17
14
0
0
0
0
0
0
0
0
1
0
3
4
1
-3
-4
-46
-7
-27
-5
31
-44
-10
0
-18
14
-55
35
-11
42
-6
28
-42
21
12
18
-54
5
30
13
-4
21
12
14
-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
0
0
0
0
0
0
0
0
1
0
-2
-2
0
-4
0
1
4
-1
9
0
3
-30
-21
7
4
-35
52
-21
45
1
4
-6
6
-30
-43
16
-37
1
34
-14
0
11
-34
-28
17
0
0
0
0
0
0
0
1
0
0
1
0
0
-2
0
0
1
0
0
-1
1
4
-4
-4
5
14
-35
29
-4
11
6
-19
-8
-18
2
-52
-27
16
-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
0
-2
1
0
1
-6
15
-6
0
-17
34
16
-8
0
-14
42
-33
10
0
40
-45
-23
-30
0
-18
2
49
67
0
0
0
0
0
0
0
0
-1
-1
0
-2
0
-2
1
0
11
46
1
-18
0
-15
22
-17
-1
0
26
-55
-14
-2
0
-41
28
-7
15
0
-45
46
-21
25
0
8
23
97
-10
0
0
0
0
0
0
0
0
-1
-1
0
1
-5
-8
0
0
-3
-19
5
-41
0
16
-50
-48
9
0
17
-24
-49
-23
0
-72
48
60
46
0
65
-23
-16
-5
0
25
10
-5
53
0
0
0
-3
0
0
0
0
1
0
0
0
1
-5
1
0
-6
-15
-9
2
0
-6
-5
-49
1
0
15
-9
43
18
0
9
5
26
-16
0
-10
41
-20
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
0
0
6
23
18
4
0
19
-4
-15
8
0
-19
-44
-11
6
0
-16
14
-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
1
-1
0
0
0
2
-9
0
0
33
-3
-11
0
0
3
29
5
0
0
-49
-5
-49
0
0
5
-14
44
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
34
-13
6
0
0
-47
15
9
0
0
-60
-18
-11
0
0
27
-21
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
-6
20
0
0
0
5
-9
6
0
0
-12
5
1
0
0
-6
-26
-6
0
0
-8
-24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
-1
0
0
-11
13
-4
0
0
-17
-29
10
0
0
13
6
-20
0
0
14
-62
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-12
0
-2
0
0
12
-20
13
0
0
-17
-3
9
0
0
-9
-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
2
0
0
1
0
-1
15
6
-2
0
-24
18
29
-1
0
30
46
-54
-8
-1
29
1
46
7
-2
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
-16
8
-17
0
31
-11
3
8
2
21
43
-23
3
-32
9
-5
-32
1
9
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
22
9
1
-7
0
-45
7
17
1
25
8
-19
-8
-7
0
5
32
-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
-30
-5
6
-3
4
-7
-24
6
8
0
-2
51
11
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
21
-4
-1
-3
0
0
-4
-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
-17
-9
4
0
-6
-19
-6
2
4
27
71
32
-29
-18
-14
-6
-17
71
-37
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
-16
-1
15
7
-2
-5
10
-20
16
-5
-12
-14
-32
-36
-30
-1
-21
9
11
23
-20
-18
-44
76
-14
76
51
73
-20
-6
0
0
0
0
0
6
-2
0
0
0
6
11
0
7
-1
-5
1
-5
0
1
-5
-33
-5
0
6
-22
-46
-7
11
-10
64
-11
40
19
-14
22
10
-34
-18
-11
43
74
51
-10
-6
0
0
1
0
0
-2
0
0
0
-1
1
2
6
0
0
-20
2
7
0
-8
-43
25
-2
24
-2
75
1
5
-4
8
5
-18
23
17
-6
3
38
-33
-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
-18
2
-3
0
-1
-11
0
-1
-1
-2
13
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
-11
1
0
0
-9
0
6
0
1
-17
4
-3
11
-9
34
-46
20
-8
55
52
-14
-21
-11
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
-5
0
-19
-6
-33
17
-22
-41
-14
58
-7
15
-47
-20
19
1
9
22
15
7
45
13
1
-7
-42
-20
-36
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
2
0
1
-1
0
0
0
-1
2
7
-7
7
5
-4
-16
8
1
20
-15
48
-31
26
-43
-13
16
31
-39
-3
-3
-9
29
-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
-5
-1
5
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
13
-3
0
22
19
-1
1
0
-22
-62
-3
6
0
13
14
31
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
-36
-10
-3
0
-10
-13
11
-10
0
54
26
16
18
0
-1
2
13
-19
0
-5
-5
16
-9
0
-38
-18
-48
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
16
6
0
-20
-2
26
19
0
6
-5
52
5
0
7
-16
-4
-24
0
13
7
-24
-1
0
17
-42
-18
-27
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
-7
-13
8
0
0
-7
-1
-47
-9
0
-17
-56
-47
26
0
23
-14
-5
5
0
-6
41
-8
-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
-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
16
-17
0
0
0
25
-2
13
0
0
-63
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
-1
0
0
-6
3
0
0
0
-9
13
-2
0
0
-8
-35
16
0
0
-3
-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
2
0
0
0
4
1
0
0
0
6
3
-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
2
0
0
0
0
3
-1
-13
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
-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
1
-4
0
0
0
3
-35
3
0
0
0
-24
-19
0
3
0
0
0
0
0
0
0
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
-13
5
33
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
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
1
18
4
0
-10
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
-32
7
5
0
-14
21
0
-6
-1
49
41
49
21
-10
100
14
-8
-15
-3
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
1
-1
-1
-1
-7
0
16
10
0
8
18
21
-10
3
28
18
20
30
9
39
33
-36
-20
-8
2
-39
3
3
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
-1
-3
0
0
-20
5
2
0
-14
37
9
-3
2
3
1
11
4
3
-18
16
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
13
1
5
0
-26
-5
-5
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
9
-7
-25
-25
7
-20
7
-17
17
-14
2
33
9
-17
-5
17
-8
46
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
0
0
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
-21
-6
-46
-19
-1
-4
20
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
-17
-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
-9
0
-2
-13
-1
8
0
-2
10
-53
-53
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
7
20
-3
0
14
6
-14
-3
0
10
-23
-3
0
0
2
-1
-21
-17
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
3
-4
-11
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
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
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
-11
16
2
-5
-4
-4
-23
-2
1
-11
-5
-10
4
3
-10
-16
33
-19
-17
22
-9
-20
1
30
-24
-21
-8
33
-18
25
2
-5
-39
-43
60
0
0
0
0
0
4
5
0
-5
0
4
-9
-17
3
-1
-14
7
-16
-1
-3
36
31
-15
16
-15
-29
-50
7
27
22
34
80
46
1
9
-19
1
-14
-21
-16
-52
-61
-25
-4
44
2
-2
0
0
0
-1
5
2
-2
1
-1
11
-1
4
2
5
0
-6
36
29
21
-33
-5
5
-3
0
-40
-47
-33
-17
-22
71
24
-50
17
-10
15
22
-16
-46
7
-28
-5
69
-11
-1
0
2
0
-2
-2
5
-1
-1
0
-21
1
-6
1
14
-8
-6
-6
-16
-13
33
11
4
1
-13
33
18
-79
-28
-18
-40
32
25
49
9
-71
-9
72
-30
5
0
0
0
0
0
0
-3
0
1
0
17
2
-1
-5
0
4
-5
-3
6
0
3
-36
-3
-5
-5
-27
40
-11
5
11
-17
-14
-7
-42
23
6
-7
32
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
19
5
-5
6
-15
-4
-6
-9
-15
16
8
3
-6
-17
-8
-62
-26
34
32
11
3
8
9
24
-47
40
-14
-14
-15
-2
1
-5
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
4
0
-1
-1
0
2
-5
-1
3
1
-19
-4
4
7
0
8
8
-1
19
-7
26
-55
14
25
20
1
17
-16
-14
6
-27
18
11
28
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-27
-13
-5
-29
29
-26
14
8
-47
-42
-23
27
-2
32
15
-27
23
12
-5
-5
43
-3
-21
-5
17
-23
-64
16
-71
11
20
34
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-1
4
8
2
-6
0
4
-4
-41
66
-6
-1
-2
5
-21
13
5
20
26
-25
-32
-60
-5
-28
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
4
2
-2
0
-18
-35
5
13
0
-26
17
10
-15
0
-43
8
5
23
0
18
-17
-3
8
0
-47
-2
-2
-9
0
21
-21
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
-2
1
0
-1
0
-4
-4
10
0
0
5
-16
3
2
0
-14
-19
-16
-6
0
-17
-25
-3
-5
0
-3
6
-25
5
0
21
31
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
51
2
0
0
-5
0
31
0
0
-4
-3
17
0
0
-5
-26
-7
0
0
-22
60
-7
0
0
-5
-9
-35
0
0
18
17
67
0
0
0
0
0
0
0
-4
4
0
0
0
0
-21
5
0
0
20
39
-1
0
0
-27
-15
19
0
0
-28
60
-23
0
0
-43
12
-10
0
0
-35
5
-18
0
0
100
5
7
0
0
7
0
0
0
0
-1
-3
0
0
0
-3
33
-1
0
0
3
-8
15
0
0
15
-10
-1
0
0
-26
-8
38
0
0
4
-27
-8
0
0
42
-7
34
0
0
-9
54
-31
0
0
0
0
0
0
0
15
-17
1
0
0
4
18
8
0
0
7
-22
8
0
0
5
8
-23
0
0
-36
44
23
0
0
32
10
-9
0
0
36
-20
-36
0
0
0
0
0
0
0
0
-7
-1
0
0
-1
-1
13
0
0
4
13
0
0
0
-14
33
0
0
0
-37
-33
6
0
0
-22
4
23
0
0
24
-32
-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
-18
-15
2
7
30
-23
-7
1
-2
-14
7
-7
-4
31
-4
15
5
17
5
-14
-35
21
-11
34
-26
0
0
0
0
0
0
-2
1
0
0
0
2
0
2
1
10
3
-10
-5
4
11
24
4
-2
10
11
8
-11
-24
-3
-34
-32
-4
-1
0
-27
40
-14
23
-4
52
48
5
2
-45
0
0
-1
0
0
-1
-1
0
2
0
2
1
0
-5
0
-4
-33
32
-20
3
-25
15
21
4
-1
-16
31
-16
25
-8
41
-14
-15
35
2
22
-10
-52
-2
-1
61
-37
23
-27
-27
0
-2
0
0
0
0
0
0
0
0
0
0
-4
-1
0
1
1
-7
-2
-1
-13
5
-20
1
3
-15
-46
20
14
1
36
60
-14
-6
-18
11
39
-23
10
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
-11
-1
7
-1
-25
4
3
18
-20
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
-11
20
20
4
-29
3
-14
23
-13
5
11
16
23
74
18
-13
58
-71
-7
-2
17
-64
-20
8
-20
0
0
0
0
0
0
-2
-1
0
0
1
-1
1
2
0
-22
15
38
-1
-21
-8
22
-16
9
7
-49
5
-11
-6
-8
37
-8
-10
32
27
52
-16
20
-45
-4
8
8
6
8
-5
1
0
0
0
0
0
1
0
0
0
-6
-2
2
-1
-3
0
-1
-18
40
14
-10
19
24
-3
-6
0
-37
25
-33
4
5
-8
6
7
0
-16
30
7
-31
-9
0
13
-1
18
3
0
0
0
0
0
-2
0
-3
0
0
0
2
-6
9
0
-1
-6
5
2
5
4
17
-1
-19
3
9
-15
10
0
-10
-19
-31
15
14
11
16
0
-3
-20
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
-13
-3
6
-1
11
1
-1
-2
-7
-8
26
-21
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
-25
9
0
-3
18
22
-9
0
-21
-45
14
-14
-19
21
-52
48
15
20
-13
51
-100
43
-18
6
15
24
-14
22
-25
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
12
0
-2
-9
-14
-8
18
0
-51
3
35
-13
2
64
28
-3
-10
4
8
-17
-11
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
1
-1
0
0
0
3
3
1
0
0
-2
15
-1
-10
-3
-23
-22
8
15
-9
8
-14
11
-11
0
5
0
6
-3
-21
-7
20
-9
16
6
-2
14
-10
-19
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
-14
-8
7
-1
46
-5
18
-5
-9
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
6
2
-1
-1
0
2
14
0
25
0
-16
4
-5
15
0
-14
8
0
-4
0
51
-31
8
8
0
32
19
-24
-21
0
0
0
0
0
0
14
-1
1
0
0
-2
-3
0
0
0
15
-24
-2
-6
0
12
-16
30
-7
0
60
-13
-9
1
0
5
21
2
-5
0
-30
23
-4
6
0
3
-29
-4
0
0
5
1
-2
0
0
0
1
0
0
0
3
-3
15
0
0
-15
-19
-12
-10
0
-25
39
-17
3
0
-18
-33
29
1
0
3
38
-4
-5
0
39
-15
0
9
0
-6
-7
-20
0
0
0
0
0
0
0
-1
-1
1
0
0
5
-3
6
1
0
2
-14
-2
1
0
-7
-12
22
0
0
5
21
14
1
0
1
5
6
27
0
12
-29
0
-2
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
9
-2
1
0
10
5
15
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
-4
-4
0
0
0
-3
-2
-4
0
0
15
-9
4
0
0
-26
-16
2
0
0
-7
23
-3
0
0
2
20
13
0
0
18
7
-22
0
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
0
4
10
-1
0
0
-21
-10
2
0
0
20
7
1
0
0
-5
-1
18
0
0
-5
-47
-8
0
0
9
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
0
0
0
-10
-1
1
0
0
-5
4
-5
0
0
14
-14
0
0
0
-10
8
21
0
0
45
11
7
0
0
-5
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
8
-5
-2
0
0
-3
-11
7
0
0
-8
7
-5
0
0
-5
5
6
0
0
-8
25
-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
-9
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
13
-17
4
-3
0
18
-35
-4
-18
0
-1
-9
16
1
-4
-2
61
-3
2
10
-51
5
32
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
1
0
-1
0
-2
-4
0
-10
-11
2
18
-6
26
3
8
0
2
-10
47
7
1
-13
57
-10
8
19
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
-9
-1
-2
-11
0
0
2
3
37
8
0
0
20
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
-10
21
-3
0
0
-2
-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
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
-20
1
-2
-5
-2
-23
11
23
7
-7
14
-1
24
-27
-1
8
6
-5
33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-17
22
-1
-8
22
-9
12
3
31
1
10
13
-22
-42
39
10
-6
-13
1
19
24
4
26
-32
8
25
19
-5
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
-8
6
14
-6
-3
-8
-5
16
-11
7
-22
-5
-7
8
0
31
-16
33
29
11
29
46
21
-6
-6
0
0
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
-3
-7
0
-1
-1
14
-16
9
0
-13
21
-5
-11
0
-4
-8
8
-8
-1
-3
8
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
-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
-18
7
-4
5
-14
-4
6
-5
13
-12
4
-10
21
14
0
-19
23
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
6
8
-46
-5
1
-13
33
31
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
9
-3
0
-6
-8
-5
-1
-1
-3
7
5
9
4
4
10
0
0
0
0
0
5
0
0
0
0
0
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
14
-19
26
-2
0
-35
-4
-4
17
0
26
4
20
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
-2
-20
-27
0
0
14
20
1
45
0
20
-4
-5
-4
0
-23
-20
22
0
0
14
-5
-9
-7
0
2
4
9
5
0
0
1
0
0
0
-1
0
0
0
0
2
1
-1
0
0
-14
38
5
-3
0
-18
-14
14
-19
0
3
11
11
-9
0
0
-17
-11
6
0
6
34
21
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
9
2
-1
4
0
3
1
2
2
0
9
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
-14
-23
1
0
0
7
-11
-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
-14
0
0
0
2
0
-1
0
0
39
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
-18
8
-11
-8
14
9
-55
-14
5
25
21
23
22
-16
10
-41
5
7
2
20
3
6
-9
-21
-10
-46
-52
12
52
-3
0
0
0
0
0
-1
0
0
0
0
-1
-10
-2
-14
0
-14
-34
-2
-1
-2
4
1
-20
30
-4
15
29
-8
-10
5
23
-11
5
4
6
14
4
-20
23
-14
-62
-12
-23
17
39
0
0
0
0
0
0
0
0
1
0
0
-1
0
5
3
7
-5
-16
-33
1
-13
-16
8
16
-1
7
16
0
2
-1
-18
-11
-24
-1
-1
-27
24
-5
33
4
-73
-33
-3
-8
2
0
0
0
0
0
0
1
-1
0
9
1
1
1
-3
2
-1
-4
-17
15
0
13
6
0
3
0
-7
-5
18
-3
4
53
-5
8
-4
-3
-71
8
43
-7
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
11
-24
-2
3
0
-7
10
-4
5
13
24
13
17
-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
15
-14
-4
-3
11
-6
-5
19
1
-35
-20
-16
-8
-6
9
-20
51
-9
0
14
-10
-24
10
-6
-30
-18
5
9
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
2
-2
-9
-2
1
10
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
6
5
-20
0
51
-13
-28
-10
-7
-9
-33
8
17
-4
-27
-20
13
5
-3
-24
5
-35
-6
-14
11
-11
-3
-33
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
-11
13
2
-2
0
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
-1
0
0
0
0
0
0
-31
-3
0
-7
-43
-13
-18
0
-33
46
-25
-13
0
2
7
-5
-5
0
13
-25
4
3
0
-6
-11
26
24
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
-4
-7
14
0
0
-23
-23
5
0
0
-6
-19
-20
0
0
4
-1
33
0
0
3
29
0
0
0
6
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
-35
-17
-9
0
0
-32
11
-9
0
0
9
15
5
0
0
3
-45
3
0
0
6
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
-8
2
10
0
0
0
0
8
0
0
1
-2
1
0
0
3
6
6
0
0
1
-19
-1
0
0
0
3
0
0
0
0
0
2
0
0
0
0
-2
0
0
7
-4
0
0
0
0
13
-1
0
0
0
1
1
0
0
2
-13
-4
0
0
-4
-5
-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
-9
-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
-15
3
29
0
-14
42
11
-2
8
-14
7
3
2
-27
43
-33
-35
-7
14
-24
-9
13
-18
4
-31
14
9
-14
-75
-14
-1
-17
41
4
0
0
0
0
0
7
0
0
-9
0
14
1
8
-28
-1
-23
21
-16
2
-33
-16
-42
-34
26
-2
-57
74
-23
-22
-4
15
-14
28
8
-7
-42
-68
-3
5
36
-81
-31
-13
36
7
1
-1
-1
0
0
-15
-2
1
-14
-5
9
1
-3
-1
-35
-64
-17
35
4
22
6
14
0
-3
10
14
0
-1
-33
-5
-15
-13
2
11
-8
-34
-8
-27
-5
45
-38
2
22
62
43
-1
-1
0
2
1
-3
17
-4
14
-3
-32
12
-18
-25
15
23
-5
18
-5
23
4
14
20
5
-13
-15
-38
22
-33
-2
-9
-12
41
9
5
-72
-9
-68
20
-25
0
0
0
0
0
1
-3
0
0
0
-15
-3
5
6
0
-29
3
3
0
0
-6
-24
22
-21
6
-5
4
14
5
-2
-8
-45
-3
13
-7
-20
61
-27
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-2
0
0
1
3
-5
7
18
4
-20
10
5
37
-58
2
22
-2
-59
-21
34
-2
3
24
54
10
5
-33
-9
-40
-8
-25
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-23
2
0
-7
-32
-9
2
0
11
0
-9
-3
0
-3
-10
14
-8
0
-11
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
-3
-1
-9
1
0
0
-10
13
0
0
17
-5
0
4
0
-15
29
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
5
0
1
0
1
-5
3
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
6
0
1
5
-4
-9
1
0
-21
-13
-9
0
42
21
8
19
-29
-14
-53
-24
-12
-14
12
-5
-5
23
5
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
-50
-22
-11
-18
-5
-53
42
-2
8
-12
13
22
4
-1
-4
-33
-15
-24
19
0
15
-43
-4
23
-21
50
-33
-85
-12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-16
0
0
-2
21
-3
13
0
-3
-48
-19
10
5
0
-15
26
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
5
-14
-2
-1
-7
14
11
-1
-1
-1
5
20
0
-6
1
-7
33
5
-19
-51
0
-25
5
2
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
-22
6
-44
7
0
-42
16
14
5
0
51
17
7
-17
0
-1
35
29
13
0
11
5
-17
-37
0
-24
14
-14
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-43
7
1
0
9
-4
9
-4
0
-8
1
-3
22
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
-3
0
-1
0
0
-5
14
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
26
0
-11
0
0
-8
13
19
-3
0
1
1
-29
-4
0
-13
-1
-16
-31
0
-8
24
6
11
0
-20
-1
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-10
-1
0
0
-8
-14
-9
0
0
-26
28
24
0
0
-5
-44
-11
0
0
-1
38
1
0
0
-33
-6
-32
0
0
-3
-10
14
0
0
0
0
0
0
0
-17
8
-1
0
0
-1
-23
5
0
0
-24
0
-5
0
0
25
22
-17
0
0
-4
19
9
0
0
-24
1
3
0
0
2
0
-8
0
0
17
23
39
0
0
0
1
0
0
0
-3
6
-3
0
0
-14
-24
21
0
0
-10
-3
-1
0
0
-5
-1
-37
0
0
-36
19
-23
0
0
34
47
29
0
0
-11
-24
-7
0
0
-27
-14
10
0
0
0
0
-2
0
0
4
-10
-2
0
0
-5
3
23
0
0
14
-43
-12
0
0
-2
10
16
0
0
14
-51
3
0
0
14
6
-23
0
0
-8
23
-10
0
0
0
0
0
0
0
4
17
-6
0
0
-16
-5
-1
0
0
4
9
-1
0
0
5
-16
9
0
0
-8
17
-5
0
0
5
4
-3
0
0
13
-27
-8
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
16
-6
5
19
-9
-17
8
2
-8
18
22
-29
-24
-33
-22
38
-28
8
29
-1
-57
48
10
22
18
-71
64
-15
-15
15
0
0
0
0
0
0
-1
-2
0
0
-2
-1
0
25
0
24
-5
7
3
-7
-28
-42
18
17
3
-30
-2
-27
0
-7
-6
7
43
16
-3
-34
3
59
23
4
84
-19
-53
-31
-33
0
0
0
0
0
0
0
0
3
0
1
1
1
-8
1
14
-12
-6
1
-2
9
9
-9
13
1
5
2
16
-5
2
5
-23
-7
3
6
-27
-27
-24
21
-3
-5
14
4
-8
4
0
0
-1
-1
0
0
-2
0
0
0
1
0
4
16
-1
-14
7
7
4
-1
2
23
-10
16
-1
-5
-52
-27
-3
9
-14
20
-9
-18
6
-83
80
16
-1
10
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
-9
-21
-10
-10
-8
17
18
-14
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
-9
-18
1
-18
43
10
-3
-1
27
28
18
-54
-10
-9
65
5
-35
5
-10
-98
6
6
-8
34
-27
15
1
-40
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
20
13
-5
33
2
0
-27
-3
-13
-13
4
-19
-4
-15
15
5
24
11
-8
-11
25
-32
-14
-6
2
13
-17
-25
8
0
0
0
0
0
-2
0
-3
0
0
10
-6
1
18
0
-7
15
-11
-2
15
-16
10
-46
17
-10
4
16
17
11
1
-53
15
-4
11
6
6
-30
6
-4
-9
-3
27
2
-62
20
0
0
0
0
0
0
-1
4
0
-1
-4
8
4
-25
0
-2
15
11
-22
4
-2
10
-2
4
-9
-3
-12
-22
33
-14
15
-14
14
2
8
-64
-4
-41
13
14
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
-8
8
-11
1
-14
22
5
-11
-15
-41
3
-15
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
-23
13
3
-32
11
26
-14
5
-11
-8
1
17
-46
3
7
22
37
-14
-34
-44
-7
5
4
-74
-21
4
23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
4
3
1
-9
-12
-9
2
4
64
-7
-43
-7
16
-27
19
23
5
-2
0
2
-19
-25
-1
0
-18
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
14
-17
-4
-1
-1
3
8
-30
-7
0
5
-5
-4
-14
2
30
-30
15
13
-1
-2
9
-18
-26
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
2
1
0
0
2
-11
0
0
0
-5
6
-1
3
-10
14
4
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
-1
-1
0
29
-12
7
10
0
-10
-9
25
1
0
21
14
-13
15
0
-60
-22
-8
-7
0
10
-26
7
-37
0
0
0
0
0
0
-3
-1
0
0
0
-1
0
2
-1
0
-3
-3
3
-6
0
-1
-33
50
30
0
-38
-9
-25
-23
0
-32
58
-3
0
0
19
19
-32
-5
0
16
-15
5
-1
0
9
0
0
0
0
0
0
-2
0
0
-12
-5
12
-2
0
-6
-29
3
23
0
4
-14
-5
-11
0
-60
-5
2
-3
0
-19
34
32
-17
0
17
-31
5
7
0
0
-19
24
-4
0
0
0
0
-4
0
0
-2
1
0
0
0
0
-11
-1
0
1
0
-19
0
0
-22
-26
47
7
0
7
14
-54
-4
0
2
-34
30
19
0
14
7
1
-14
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
-11
2
0
1
-11
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
1
0
0
0
2
-1
-29
0
0
8
16
1
0
0
11
17
21
0
0
7
5
9
0
0
-31
-20
-25
0
0
23
14
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
3
0
0
15
-28
14
0
0
0
-32
13
0
0
4
30
-11
0
0
-9
29
-5
0
0
-43
-1
-25
0
0
-27
16
-1
0
0
0
0
0
0
0
0
-1
2
0
0
2
-15
0
0
0
-5
14
3
0
0
-17
-21
10
0
0
-24
-26
5
0
0
-1
3
-9
0
0
8
0
2
0
0
-2
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-3
0
0
-8
-5
4
0
0
26
-16
-4
0
0
-8
0
0
0
0
-9
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
26
-6
4
0
-3
-39
1
0
0
25
45
7
-13
-2
-27
22
15
-9
0
-32
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
-11
-10
-1
0
4
4
6
2
0
23
13
1
-20
0
-55
-16
11
24
20
-14
-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
-33
33
2
-3
24
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
-9
0
0
0
0
0
0
0
0
0
0
0
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
-17
9
-2
3
0
0
0
29
-15
-5
-7
20
1
19
4
-25
-14
-24
7
-5
1
-17
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
10
0
-44
1
0
9
14
7
10
13
10
-43
1
-3
13
3
5
23
-10
6
5
33
-51
-30
-2
-9
-1
14
15
-7
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-3
0
-2
-6
-1
17
-3
-4
-5
-6
11
-6
5
-9
13
-18
-1
5
7
17
21
6
10
-27
-19
21
-5
0
0
-18
-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
13
2
-3
-8
-5
33
23
-35
2
-5
1
9
-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
-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
13
-27
7
-5
1
16
39
0
-27
8
8
-11
-8
9
1
2
8
0
14
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-2
0
18
0
-9
3
7
-9
7
-2
-8
3
8
-5
-3
-10
-15
-11
-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
11
0
-3
1
13
-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
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
29
16
6
-1
0
21
6
-3
-2
0
6
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
6
15
-5
0
-23
5
-10
4
0
23
-31
0
-15
0
20
-13
-29
7
0
-41
5
1
-2
0
-2
11
-32
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-14
0
0
5
10
-5
-4
0
13
0
26
0
0
-23
-4
-5
-1
0
14
-2
5
7
0
-2
-11
-15
-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
-19
-1
0
0
3
17
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
-10
2
1
0
0
9
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
10
-1
0
2
0
1
-1
1
0
0
-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
-2
0
-1
0
0
0
0
0
0
-18
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
10
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
33
8
8
0
8
-20
-2
2
0
-4
-14
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
22
0
3
-1
6
20
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
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
-29
-2
0
0
0
-13
-3
0
0
0
21
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
-102
-128
-172
-120
76
-40
8
-18
30
-94
-13
-38
-45
-9
-4
0
88
11
53
19
-63
6
12
1
-2
-30
9
-7
34
-2
0
0
-1
-38
-134
-62
22
-2
11
-36
-55
-44
-31
-67
-78
1
-10
0
54
33
6
4
3
-31
-3
-29
-8
72
-33
-34
2
-17
0
0
-58
2
0
-33
-47
-31
-5
-70
-5
-7
-13
-86
-3
68
0
0
-2
-29
2
30
-23
80
-4
-31
-1
-24
6
-43
132
1
0
0
-3
27
-25
22
-71
4
15
53
71
11
73
-46
-3
69
-21
0
-6
-59
-7
46
16
-3
32
-56
5
-79
18
-18
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-7
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-172
-25
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
7
-17
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
8
-27
-11
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-26
58
0
0
0
0
0
0
0
0
0
0
0
0
0
24
43
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-38
-17
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-23
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-56
20
47
0
0
0
0
0
0
0
0
0
0
0
0
0
29
4
-105
-13
-4
3
-2
0
0
0
0
0
0
0
0
0
-1
-4
75
-62
43
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
-1
5
-20
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
10
-76
14
0
2
0
0
0
0
0
0
0
0
0
0
0
-19
17
-3
-23
-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
26
1
51
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-29
-9
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
27
-23
-20
1
1
0
0
0
0
0
0
0
0
0
0
-2
-16
-11
-7
-56
-21
0
0
0
0
0
0
0
0
0
-1
0
7
4
15
-12
-8
-21
0
0
0
0
0
0
0
0
0
0
-1
0
0
-7
-34
-45
9
1
0
0
0
0
0
0
0
0
0
0
-5
-1
45
-14
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-44
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
-9
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
6
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-10
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
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
9
0
0
0
0
0
0
0
0
0
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
-80
24
-15
-26
0
0
0
0
0
0
0
0
0
0
0
-6
-102
-49
-76
8
12
0
0
0
0
0
0
0
0
0
0
0
-5
-25
10
4
6
-82
8
20
0
0
0
0
0
0
0
0
1
16
12
1
57
-33
13
-46
-5
0
0
0
0
0
0
0
0
0
0
135
42
-38
63
-24
-71
0
0
0
0
0
0
0
0
0
0
-4
30
13
97
-20
-122
-33
0
0
0
0
0
0
0
0
0
0
0
-10
98
-2
215
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
-60
-40
-37
-55
27
0
0
0
0
0
0
0
0
0
0
0
-1
-163
-46
4
68
-80
0
0
0
0
0
0
0
0
0
0
0
0
-75
-68
26
-35
-64
-1
1
1
0
0
0
0
0
0
0
0
-1
14
-40
91
-17
73
-25
13
0
0
0
0
0
0
0
0
0
0
-16
46
-53
-125
-104
91
13
-1
0
0
0
0
0
0
0
0
0
45
-50
64
-46
-61
63
-24
0
0
0
0
0
0
0
0
0
0
2
-131
-8
-71
-8
136
0
0
0
0
0
0
0
0
0
0
0
-53
-5
-81
20
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
2
33
17
0
-39
0
0
0
0
0
0
0
0
0
0
0
-8
4
22
19
-28
19
0
0
0
0
0
0
0
0
0
0
0
6
-1
-16
51
-10
-60
-10
0
0
0
0
0
0
0
0
0
0
4
-8
21
-14
-61
-8
-3
1
0
0
0
0
0
0
0
0
-1
0
0
32
8
-17
-9
-9
0
0
0
0
0
0
0
0
0
0
0
5
-3
-32
-8
-4
0
0
0
0
0
0
0
0
0
0
-2
0
1
23
19
9
-1
-2
0
0
0
0
0
0
0
0
0
0
-3
-1
3
9
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
81
-25
-124
-30
-28
-24
0
0
0
0
0
0
0
0
0
0
64
86
-21
-5
3
-65
0
0
0
0
0
0
0
0
0
0
0
134
96
-18
-35
63
26
77
-58
-4
0
0
0
0
0
0
0
0
65
63
3
7
46
37
89
-17
-3
0
0
0
0
0
0
0
0
33
39
16
-60
-31
48
31
-20
0
0
0
0
0
0
0
0
0
38
106
50
9
8
2
-14
1
0
0
0
0
0
0
0
0
0
-63
81
54
56
118
63
-9
3
0
0
0
0
0
0
0
0
0
37
2
0
-31
-23
-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
1
10
-46
14
-96
54
0
0
0
0
0
0
0
0
0
0
0
-1
20
-85
-36
-1
139
0
0
0
0
0
0
0
0
0
0
0
6
21
9
37
137
133
-36
29
5
0
0
0
0
0
0
0
0
0
10
-59
27
52
-41
-185
48
0
0
0
0
0
0
0
0
0
0
7
-69
-49
120
-92
-274
0
0
0
0
0
0
0
0
0
0
0
21
45
-36
64
-133
-37
-76
0
0
0
0
0
0
0
0
0
0
-1
17
-2
-5
27
-275
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-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
-35
33
35
88
71
0
0
0
0
0
0
0
0
0
0
0
-4
-29
-19
-47
-128
22
0
0
0
0
0
0
0
0
0
0
0
5
17
25
-52
27
59
0
0
0
0
0
0
0
0
0
0
0
0
17
-50
-27
6
38
0
0
0
0
0
0
0
0
0
0
0
1
13
-31
73
-30
85
-5
-1
0
0
0
0
0
0
0
0
0
8
1
-72
-85
43
43
-7
0
0
0
0
0
0
0
0
0
0
0
5
-23
2
33
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-11
0
0
0
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
-1
-68
-5
-17
63
0
0
0
0
0
0
0
0
0
0
16
20
-17
44
-42
3
25
0
0
0
0
0
0
0
0
0
0
-1
-4
131
52
-14
-18
-54
-2
-1
0
0
0
0
0
0
0
0
0
79
16
19
73
28
124
2
-53
0
0
0
0
0
0
0
0
0
22
-16
5
-14
43
10
-24
-8
0
0
0
0
0
0
0
0
10
7
-7
-34
-56
-61
6
11
-15
1
0
0
0
0
0
0
0
9
-2
-59
-18
-43
-1
-7
-96
29
0
0
0
0
0
0
0
0
-5
1
19
-15
36
-44
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
58
-36
-15
-23
-28
-22
-80
0
0
0
-9
0
0
0
1
0
0
48
29
7
0
-11
-9
-2
0
0
0
-4
13
0
0
0
0
0
40
55
-5
-4
16
-16
-21
-98
-96
28
-3
2
0
0
0
0
0
-46
41
16
4
7
-19
-36
-48
-33
56
-7
0
-9
0
0
-1
0
11
1
-4
12
4
17
-32
-15
-72
-15
-4
-13
-4
1
0
0
0
40
38
12
-29
-9
-8
-16
-14
4
-61
1
3
-2
0
0
1
0
41
112
65
-19
19
-10
-8
-29
30
7
11
0
0
0
0
0
0
11
20
47
93
7
61
-54
-85
79
24
-1
0
0
0
0
0
0
-5
-6
5
24
59
-118
23
6
-23
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
-21
41
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
71
21
17
-2
0
0
0
0
0
0
0
0
0
0
0
2
1
-9
66
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
4
71
-20
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-21
55
-28
60
0
0
0
0
0
0
0
0
0
0
0
0
2
-26
-36
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-15
-53
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
66
-32
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
31
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
7
23
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
11
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
-17
24
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
-60
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
33
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-28
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
21
-7
-4
28
20
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-3
-15
10
7
-2
0
0
0
0
0
0
0
0
0
3
0
0
4
13
5
39
0
3
0
0
0
0
0
0
0
0
0
-1
2
-43
14
-60
-1
0
0
0
0
0
0
0
0
0
0
0
25
6
-7
-14
1
-6
0
-9
0
0
0
0
0
0
0
0
0
-6
-14
-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
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
16
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
-16
-10
-4
0
0
0
0
0
0
0
0
0
0
6
29
0
6
7
-2
-4
0
0
0
0
0
0
0
0
0
0
-35
-6
36
-5
-19
3
-1
0
0
0
0
0
0
0
0
0
0
0
32
24
27
-3
19
-6
-1
0
0
0
0
0
0
0
0
0
24
-21
-27
2
-4
0
-9
0
0
0
0
0
0
0
0
0
0
3
-5
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-39
0
0
0
-1
0
0
0
0
0
0
0
1
16
23
46
71
45
0
0
0
9
3
0
0
0
0
0
0
0
-13
4
-43
-58
-3
-15
-4
32
-3
0
0
0
0
0
0
0
0
-6
33
19
-8
-9
-126
16
9
0
0
0
0
0
0
0
0
1
-3
-25
26
-20
1
7
-13
-15
-5
0
0
0
0
0
0
0
0
-1
2
-7
-50
53
14
1
-20
0
0
0
0
0
0
0
0
0
0
4
0
1
-1
40
-36
-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
-106
-59
11
-21
0
0
0
11
0
0
0
0
0
0
0
-1
-2
28
-18
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
-22
-37
36
0
-18
9
13
8
0
0
0
0
0
0
0
0
0
-16
-21
2
32
8
-1
-141
8
0
0
0
0
0
0
0
0
1
139
-65
-58
16
-8
6
-49
-13
4
0
0
0
0
0
0
0
7
-84
-6
-19
6
-5
14
-34
13
0
-2
0
0
0
0
0
0
0
-3
2
-28
-12
21
20
16
4
1
0
0
0
0
0
0
0
0
86
-20
-4
11
21
-36
18
8
0
0
0
0
0
0
0
0
0
0
19
-43
10
-42
-44
-37
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
7
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
41
43
-10
-15
0
0
0
0
0
0
0
0
0
0
0
0
1
12
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
11
13
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
-7
-5
23
0
0
0
0
0
0
0
0
0
0
0
5
-1
-5
-4
46
5
0
0
0
0
0
0
0
0
0
0
0
0
53
-3
63
-64
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-63
5
0
0
0
0
0
0
0
0
0
0
0
3
82
-138
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
50
11
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
-129
-41
66
-21
0
0
0
0
0
0
0
0
0
0
0
10
-22
63
-22
33
46
0
0
0
0
0
0
0
0
0
0
0
21
-24
-91
14
6
6
0
0
0
0
0
0
0
0
0
0
0
0
-12
58
-14
25
0
0
0
0
0
0
0
0
0
0
0
0
13
-24
29
-2
-23
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-2
-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
-1
-10
7
3
0
35
0
0
0
0
0
0
0
0
0
0
0
-2
1
52
64
-10
2
0
0
0
3
0
0
0
0
0
0
0
2
2
-7
-10
21
-4
-39
-52
6
0
0
0
0
0
0
0
0
0
-3
-19
6
-13
16
-47
-3
7
0
0
0
0
0
0
0
0
-5
0
-43
-89
4
46
18
23
3
0
0
0
0
0
0
0
0
0
-6
1
71
-75
15
-18
-32
-1
0
0
0
0
0
0
0
0
0
-4
30
0
-38
83
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
69
10
48
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
10
75
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
-9
-29
14
0
0
0
0
0
0
0
0
0
0
0
4
-8
-33
24
-5
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
39
-29
24
-1
9
0
0
0
0
0
0
0
0
0
0
-1
0
-20
16
2
-3
6
0
0
0
0
0
0
0
0
0
0
0
5
0
17
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
81
-30
-8
0
0
0
0
0
0
0
0
0
0
0
3
0
15
-77
-1
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
11
-49
6
-4
10
2
0
0
0
0
0
0
0
0
4
11
4
-35
56
-71
42
28
-30
0
0
0
0
0
0
0
0
4
0
1
52
43
-11
-89
-101
-7
0
0
0
0
0
0
0
0
-4
0
1
62
-22
8
-21
-42
36
3
0
0
0
0
0
0
0
-11
0
-1
-1
39
21
34
2
-7
0
0
0
0
0
0
0
0
0
-11
0
1
-1
104
-41
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-44
42
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-62
-27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-22
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
59
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-5
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
0
0
0
-10
-34
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-69
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-44
18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
4
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
8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-35
57
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-84
-50
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
67
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
-1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-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
17
41
-34
0
0
0
0
0
0
0
0
0
0
0
0
-4
25
-82
58
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-31
23
-97
-111
45
-6
0
0
0
0
0
0
0
0
0
-1
15
31
-44
3
36
-47
-4
-3
0
0
0
0
0
0
0
0
0
-1
8
-48
58
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
43
8
-34
17
-2
2
0
0
0
0
0
0
0
0
0
0
0
-10
5
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
0
0
0
0
0
0
0
0
4
5
-26
-5
0
0
0
-5
0
0
0
0
0
0
0
0
0
9
-14
49
26
0
0
0
1
0
0
0
0
0
0
0
0
0
8
-10
-7
50
36
16
-82
1
0
0
0
0
0
0
0
0
0
-8
8
14
-13
-2
-103
15
2
0
0
0
0
0
0
0
-1
0
18
-18
77
-11
7
-43
2
0
0
0
0
0
0
0
0
0
1
0
38
13
44
31
3
1
0
0
0
0
0
0
0
0
0
0
-1
1
-11
-23
-53
-13
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
-10
4
-23
-6
-26
13
0
0
0
0
0
0
0
0
0
0
-23
-87
-13
-24
-52
-2
9
0
0
0
0
0
0
0
0
0
0
7
36
-8
-9
45
5
-2
0
0
0
0
0
0
0
0
0
0
0
-32
41
-29
31
-29
2
2
0
0
0
0
0
0
0
0
0
0
34
51
-3
-30
-16
-1
2
0
0
0
0
0
0
0
0
0
0
16
-1
7
10
4
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-19
57
8
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
33
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
18
-43
-41
-28
-35
-109
0
0
0
-2
0
0
0
0
0
0
-1
-18
43
12
-3
-1
1
0
0
0
0
-9
0
0
0
0
0
-2
11
-73
-37
-10
-40
53
79
115
-2
0
0
0
0
0
0
0
-6
25
-8
53
2
12
-28
-15
-14
-2
0
0
0
0
0
0
0
0
-15
39
-12
77
23
44
15
3
0
0
0
0
0
0
0
0
0
-5
5
-20
-10
-57
2
-29
0
0
0
0
0
0
0
0
0
0
0
-4
55
9
55
-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
-13
5
-17
-71
-157
0
0
0
-4
-4
0
0
0
0
0
0
-2
-105
63
-48
-82
-216
0
0
0
0
0
0
0
0
0
0
0
0
-96
-23
6
-39
73
53
9
1
0
0
0
0
0
0
0
0
-14
76
-72
25
53
23
8
20
0
0
0
0
0
0
0
0
0
-1
55
-139
-38
175
100
13
-19
-3
0
0
0
0
0
0
0
0
0
40
-18
19
9
61
-22
3
0
0
0
0
0
0
0
0
0
0
13
-120
-81
104
5
-32
0
0
0
0
0
0
0
0
0
0
0
-11
2
-72
14
21
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
17
1
0
0
0
0
0
0
0
0
0
0
-1
-4
-8
8
-24
-69
-61
0
0
0
0
0
0
0
0
0
0
0
-1
5
59
3
30
85
0
0
0
0
0
0
0
0
0
0
-1
-7
-3
32
0
-34
-129
-33
0
0
0
0
0
0
0
0
0
0
-1
-2
45
23
-53
-58
2
0
0
0
0
0
0
0
0
0
-2
0
-1
27
25
15
33
-14
0
0
0
0
0
0
0
0
0
0
0
2
1
-8
-14
20
0
0
0
0
0
0
0
0
0
0
-1
0
1
7
2
-10
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-61
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
104
-31
72
-8
-62
90
0
0
0
0
0
0
0
0
0
0
25
5
-9
17
10
28
0
0
0
0
0
0
0
0
0
0
0
-71
60
51
15
15
21
26
-51
-48
0
0
0
0
0
0
0
0
118
52
42
-7
34
-93
24
28
-5
0
0
0
0
0
0
0
0
63
-41
134
50
-27
-42
139
-55
5
-5
0
0
0
0
0
0
0
43
-47
-14
40
39
-43
114
-30
0
0
0
0
0
0
0
0
0
30
46
61
35
55
-23
19
41
0
0
0
0
0
0
0
0
0
8
-22
-5
-7
-19
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
4
5
-17
32
-12
-10
0
0
0
5
0
0
0
0
0
0
0
1
-62
-29
-64
-73
-45
0
0
0
-6
0
0
0
0
0
0
0
5
64
-27
-23
-36
-12
12
50
-16
0
0
0
0
0
0
0
0
-1
22
-100
70
-100
-41
-123
-10
-5
0
0
0
0
0
0
0
0
0
15
85
44
198
23
-124
0
0
0
0
0
0
0
0
0
0
0
23
4
7
-10
42
8
-46
0
0
0
0
0
0
0
0
0
0
1
-55
30
8
7
-79
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-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
-37
-59
80
-95
-23
0
0
0
0
0
0
0
0
0
0
0
-6
-6
-1
-24
-2
28
0
0
0
0
0
0
0
0
0
0
5
1
29
9
-74
-46
-14
-1
-3
0
0
0
0
0
0
0
0
0
0
0
27
64
-12
81
6
0
0
0
0
0
0
0
0
0
0
0
1
43
1
-37
-24
-1
0
0
0
0
0
0
0
0
0
0
9
0
35
0
-21
36
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
37
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
-8
20
33
-5
47
-31
13
0
0
0
0
0
0
0
0
0
0
5
-47
-57
-3
-67
66
-55
0
0
0
-1
0
0
0
0
0
0
-4
-72
-23
-40
37
82
38
2
-6
-2
0
0
0
0
0
0
0
0
106
36
9
96
-2
-4
3
-53
11
0
0
0
0
0
0
0
0
-66
1
-63
69
23
17
-30
-37
0
0
0
0
0
0
0
0
3
-45
-60
25
56
54
38
18
-41
0
0
0
0
0
0
0
0
1
2
-3
68
63
10
46
-55
33
0
0
0
0
0
0
0
0
-1
0
5
-6
109
-10
-26
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
55
47
97
9
-7
-22
-135
0
0
0
-53
-19
6
0
3
0
0
-45
22
23
29
14
-26
-33
0
0
0
-80
8
-31
-1
-3
-1
0
-15
20
28
10
3
-4
-33
-72
5
29
-80
-23
-14
-21
0
1
0
44
3
-4
-12
13
25
-7
37
11
51
15
-43
-41
-2
0
0
0
-7
34
4
-14
-6
-2
0
18
-15
-11
-36
-54
36
0
-2
-1
0
22
83
48
-51
13
4
40
10
-1
-38
3
36
-87
17
-3
6
0
33
49
62
18
2
22
16
-38
-44
6
-64
47
-22
-5
3
0
0
19
28
32
50
32
69
-58
-53
-2
81
-14
4
-10
0
0
0
0
8
31
-25
-24
-12
25
-49
-22
5
-49
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
19
14
-4
-17
-31
14
0
0
0
0
0
0
0
0
0
0
0
37
-17
14
10
2
27
0
0
0
0
0
0
0
0
0
0
0
-6
69
42
25
-7
0
0
1
0
0
0
0
0
0
0
0
4
2
-23
-30
76
5
0
0
0
0
0
0
0
0
0
0
0
-9
-4
60
-44
131
62
0
0
0
0
0
0
0
0
0
0
0
8
11
19
5
93
0
1
0
0
0
0
0
0
0
0
0
0
-1
-77
-59
-97
9
-3
0
0
0
0
0
0
0
0
0
0
0
-3
99
-39
-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
8
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
11
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-9
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
1
0
17
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
8
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
70
-30
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
6
36
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
40
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
62
-22
64
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
44
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
-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
-3
43
-56
-1
10
7
0
0
0
0
0
0
0
0
0
0
4
-5
-66
-17
-33
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
8
53
-44
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
72
61
31
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
-72
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
25
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
16
11
-34
43
-17
17
0
0
0
0
0
0
0
0
0
0
-1
-4
28
15
34
77
109
0
0
0
0
0
0
0
0
0
0
-5
-1
45
-55
-50
-28
5
8
0
0
0
0
0
0
0
0
0
13
0
8
-97
5
9
-21
8
0
0
0
0
0
0
0
0
0
-2
3
-42
55
47
45
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-16
14
-5
0
-2
0
0
0
0
0
0
0
0
0
7
-4
9
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
6
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
1
0
-3
3
-1
-3
11
0
0
0
0
0
0
0
0
0
0
0
-1
46
-26
57
-47
57
0
0
0
0
0
0
0
0
0
0
0
-19
2
-10
-18
-5
-5
20
0
0
0
0
0
0
0
0
0
-1
-11
41
5
-1
33
19
-8
0
0
0
0
0
0
0
0
0
0
15
-22
44
-5
-4
-4
-21
1
0
0
0
0
0
0
0
0
48
5
53
14
-5
-19
43
4
1
0
0
0
0
0
0
0
0
0
7
5
19
-9
-7
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
8
-57
0
0
0
6
-2
-1
0
0
0
0
0
18
65
-14
80
16
-31
0
0
0
-5
8
0
0
0
0
0
6
15
-24
46
-50
8
-30
26
-30
-65
11
1
0
0
0
0
0
0
-9
-25
61
69
-67
27
21
65
-14
5
0
0
0
0
0
0
0
7
-34
-29
-11
-190
34
16
49
-14
-2
3
0
0
0
0
0
0
-3
39
77
34
-62
32
50
33
65
4
0
0
0
0
0
0
0
0
0
-67
9
13
-5
-19
10
-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
30
60
9
47
16
0
0
0
77
4
0
0
0
0
0
0
0
31
25
58
58
0
0
0
0
-22
-48
0
0
0
0
0
0
-2
6
38
112
25
5
14
-63
-46
10
25
0
0
0
0
0
0
-1
-10
-16
43
55
11
42
32
22
-6
16
0
1
0
0
0
0
1
4
-42
41
10
19
27
-30
7
-19
-3
0
0
0
0
0
0
11
-151
-12
2
32
44
30
-124
64
41
36
0
0
0
0
0
0
0
-1
20
-9
2
24
-20
-24
19
66
-4
9
0
0
0
0
0
0
-29
25
21
-9
-61
-27
14
4
0
-1
0
0
0
0
0
0
0
0
17
-43
-45
-62
9
-26
7
4
0
0
0
0
0
0
0
0
0
0
-3
68
90
0
0
0
4
0
0
0
0
0
0
0
0
0
-4
-26
-87
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
-5
41
-25
30
17
19
0
0
0
0
0
0
0
0
0
0
1
-8
23
-4
-4
-1
-5
0
0
0
0
0
0
0
0
0
0
0
-1
23
-8
27
28
0
0
0
0
0
0
0
0
0
0
0
-3
17
6
-17
7
-3
0
0
0
0
0
0
0
0
0
0
0
-8
5
-6
-33
8
1
0
0
0
0
0
0
0
0
0
0
0
8
-38
21
-3
-16
-15
15
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-62
23
0
0
0
0
0
0
0
0
0
0
0
15
129
80
53
0
0
0
1
0
0
0
0
0
0
0
0
-2
-62
-123
63
-48
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
103
28
-19
10
-75
17
-3
0
0
0
0
0
0
0
0
2
0
42
-145
68
6
33
2
0
0
0
0
0
0
0
0
0
0
5
-14
75
-14
-17
0
1
0
0
0
0
0
0
0
0
0
0
16
60
-29
-32
-103
2
0
0
0
0
0
0
0
0
0
0
0
22
-16
86
-11
-81
7
0
0
0
0
0
0
0
0
0
0
0
0
63
-5
14
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
-4
-15
-16
29
31
71
-2
0
0
0
17
0
0
0
0
0
0
6
-4
-31
112
-10
-8
24
0
0
0
28
0
0
0
0
0
0
9
23
49
-24
77
41
26
32
9
54
-1
0
0
0
0
0
0
0
4
-44
35
-16
6
-42
14
33
29
0
0
0
0
0
0
0
0
0
-13
-64
-31
-7
-47
-13
86
18
1
0
0
0
0
0
0
0
14
-14
30
48
15
7
101
72
3
0
0
0
0
0
0
0
0
0
-9
17
20
56
-59
69
14
0
0
0
0
0
0
0
0
0
0
2
0
4
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
-10
29
-9
-5
0
0
0
0
0
0
0
0
0
0
1
0
-17
-34
-36
117
41
0
0
0
0
0
0
0
0
0
0
0
-10
1
23
35
-36
44
44
5
4
0
0
0
0
0
0
0
0
0
21
-10
-36
54
58
7
-3
0
0
0
0
0
0
0
0
0
0
10
-8
44
40
-80
0
-11
0
0
0
0
0
0
0
0
0
0
9
-2
-63
9
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
45
115
-24
0
0
0
0
0
0
0
0
0
0
1
10
-2
33
24
8
-70
0
0
0
-2
0
0
0
0
0
0
0
-3
-2
-13
59
0
19
8
26
0
0
0
0
0
0
0
0
-4
25
18
71
-21
-6
-47
-55
35
36
0
0
0
0
0
0
0
0
9
4
1
2
17
-63
26
0
-1
-5
0
0
0
0
0
0
0
-6
-4
0
-67
-11
7
-48
-17
-3
3
0
0
0
0
0
0
0
-1
0
-9
-2
-12
29
15
22
4
0
0
0
0
0
0
0
0
0
-3
0
10
-20
62
71
-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
-62
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
-31
50
29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-14
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-41
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
74
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-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
-10
-16
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
-43
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
-33
-45
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-21
17
8
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
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
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-14
5
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-6
-54
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
58
-36
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
-43
43
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
23
-20
-80
39
-6
0
0
0
0
0
0
0
0
0
-1
16
31
-68
-19
87
-47
-3
-3
0
0
0
0
0
0
0
0
0
-1
1
26
-15
-21
2
0
0
0
0
0
0
0
0
0
0
0
0
45
8
-8
8
-2
2
0
0
0
0
0
0
0
0
0
0
0
-5
5
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
4
4
-34
20
0
0
0
-5
0
0
0
0
0
0
0
0
0
5
-18
11
9
0
0
0
4
0
0
0
0
0
0
0
0
0
7
-17
-18
5
43
0
-61
4
0
0
0
0
0
0
0
0
0
-10
-7
-11
-24
8
-1
21
4
0
0
0
0
0
0
0
-1
0
19
4
29
0
-7
-45
1
0
0
0
0
0
0
0
0
0
1
0
20
6
27
19
-16
1
0
0
0
0
0
0
0
0
0
0
-1
1
-5
-11
-18
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
-43
25
9
-14
-43
14
0
0
0
0
0
0
0
0
0
0
-15
-21
6
-84
-25
19
39
0
0
0
0
0
0
0
0
0
0
3
52
-17
-22
38
7
-3
0
0
0
0
0
0
0
0
0
0
0
-32
20
33
25
-34
5
2
0
0
0
0
0
0
0
0
0
0
43
62
27
-51
-16
-1
2
0
0
0
0
0
0
0
0
0
0
19
23
-32
20
3
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-14
43
7
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-1
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
15
-31
-15
3
54
-39
0
0
0
-2
0
0
0
0
0
0
-1
-27
36
-32
-26
49
-33
0
0
0
0
-9
0
0
0
0
0
-2
17
21
-51
-47
-72
75
54
83
0
0
0
0
0
0
0
0
-6
29
16
77
-9
-16
27
14
-48
3
0
0
0
0
0
0
0
0
-10
37
2
33
-3
18
1
3
0
0
0
0
0
0
0
0
0
-5
33
-61
-92
-34
25
-20
0
0
0
0
0
0
0
0
0
0
0
-3
1
6
41
-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
-47
-19
-76
-63
-104
0
0
0
-4
-4
0
0
0
0
0
0
-2
-73
83
22
-32
-198
0
0
0
0
0
0
0
0
0
0
0
0
-39
-51
5
-59
12
35
9
1
0
0
0
0
0
0
0
0
-14
50
8
28
15
35
53
21
0
0
0
0
0
0
0
0
0
-1
27
-61
32
-23
33
-10
-13
-3
0
0
0
0
0
0
0
0
0
9
37
18
2
35
-45
3
0
0
0
0
0
0
0
0
0
0
9
-55
-69
74
17
-34
0
0
0
0
0
0
0
0
0
0
0
-8
14
32
21
14
2
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
-4
-8
26
-24
-8
-28
0
0
0
0
0
0
0
0
0
0
0
-2
2
13
-21
37
63
0
0
0
0
0
0
0
0
0
0
-1
-4
-3
43
32
11
-73
-29
0
0
0
0
0
0
0
0
0
0
-1
-3
46
2
-26
-22
2
0
0
0
0
0
0
0
0
0
-2
0
-1
26
23
-1
26
-15
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
-13
15
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
2
-9
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
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
116
10
71
38
9
32
0
0
0
0
0
0
0
0
0
0
31
78
-5
82
15
-15
0
0
0
0
0
0
0
0
0
0
0
-39
-43
49
93
-23
31
44
-58
-48
0
0
0
0
0
0
0
0
-35
-41
17
-54
36
-84
4
57
-14
0
0
0
0
0
0
0
0
15
-90
3
27
-23
-17
96
-20
5
-5
0
0
0
0
0
0
0
28
12
-34
-42
64
20
60
-22
0
0
0
0
0
0
0
0
0
25
108
-11
7
75
10
5
17
0
0
0
0
0
0
0
0
0
32
-11
0
-1
-39
-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
10
4
-21
30
-93
0
0
0
15
0
0
0
0
0
0
0
1
-45
21
5
-19
-34
0
0
0
-13
0
0
0
0
0
0
0
5
60
8
-47
-44
-79
-11
47
-25
-3
0
0
0
0
0
0
0
-1
36
-56
6
-82
-5
-20
-80
-5
0
0
0
0
0
0
0
0
0
0
46
48
77
7
-71
1
0
0
0
0
0
0
0
0
0
0
24
17
-31
-7
52
17
-41
0
0
0
0
0
0
0
0
0
0
1
-72
9
-27
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
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
-29
-17
53
-80
-5
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-4
21
3
32
0
0
0
0
0
0
0
0
0
0
5
1
24
72
20
-5
3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
83
16
-87
25
6
0
0
0
0
0
0
0
0
0
0
0
1
-21
14
8
-35
-1
0
0
0
0
0
0
0
0
0
0
9
0
14
-46
-32
23
-6
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
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
25
-14
13
-81
28
88
0
0
0
0
0
0
0
0
0
0
6
-61
-21
37
-10
41
-62
0
0
0
-1
0
0
0
0
0
0
-3
-48
-16
-73
54
68
30
-25
-5
-2
0
0
0
0
0
0
0
0
45
21
-23
111
27
26
23
-27
15
0
0
0
0
0
0
0
0
-2
-4
-18
52
30
2
5
-31
0
0
0
0
0
0
0
0
3
0
-33
18
-13
47
-47
-32
-30
0
0
0
0
0
0
0
0
1
2
-3
21
21
-45
32
-5
30
0
0
0
0
0
0
0
0
-1
0
4
-6
8
1
-29
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
-4
14
-15
34
23
24
24
0
0
0
-26
-47
6
0
3
0
0
-75
-61
12
-15
9
-14
51
0
0
0
-2
40
-33
-1
-4
-1
0
-11
32
39
-15
57
-42
67
74
48
34
10
-38
-57
6
0
1
0
29
-54
48
55
36
44
74
76
88
37
2
-2
6
-1
0
0
0
43
14
-19
29
23
23
-30
-23
-16
66
-41
-39
34
0
-2
-1
0
-29
2
-57
6
13
22
-9
27
25
-68
-39
22
-35
34
-3
6
0
-39
27
89
56
-83
7
-31
-19
-54
-6
-53
71
5
-5
3
0
0
1
-15
-103
27
83
40
-12
-65
34
12
-14
-14
-8
0
0
0
0
15
0
-6
4
0
64
-15
-24
11
-63
55
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
51
-21
17
0
0
0
0
0
0
0
0
0
0
0
32
-31
43
12
47
31
0
0
0
0
0
0
0
0
0
0
0
19
128
-86
23
-8
4
0
1
0
0
0
0
0
0
0
0
4
-8
21
-55
34
-6
0
0
0
0
0
0
0
0
0
0
0
-9
-34
47
-4
50
48
0
0
0
0
0
0
0
0
0
0
0
8
-1
12
29
73
0
1
0
0
0
0
0
0
0
0
0
0
-1
-52
-75
-101
14
-3
0
0
0
0
0
0
0
0
0
0
0
-3
75
-50
-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
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-9
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
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
4
2
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
43
29
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-41
39
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-26
8
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
87
-10
53
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
47
31
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-11
-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
-21
-11
-18
2
7
0
0
0
0
0
0
0
0
0
0
4
-5
-66
-18
19
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
22
46
-30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-23
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-70
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
23
26
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
31
6
19
0
0
0
0
0
0
0
0
0
0
-1
3
31
-41
7
14
30
0
0
0
0
0
0
0
0
0
0
-5
-1
39
25
-49
-46
6
15
0
0
0
0
0
0
0
0
0
9
0
18
-110
-36
-8
-29
2
0
0
0
0
0
0
0
0
0
-2
1
0
25
23
54
-8
0
0
0
0
0
0
0
0
0
0
0
1
2
13
-17
14
-6
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
-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
1
0
-3
2
-2
18
15
0
0
0
0
0
0
0
0
0
0
0
0
51
-31
90
-50
20
0
0
0
0
0
0
0
0
0
0
0
-20
7
10
-38
-2
-7
20
0
0
0
0
0
0
0
0
0
-1
14
-17
5
-2
33
6
-8
0
0
0
0
0
0
0
0
0
0
39
24
-3
-2
51
13
-24
0
0
0
0
0
0
0
0
0
35
1
24
-5
-59
-24
24
-1
1
0
0
0
0
0
0
0
0
0
4
7
5
-17
4
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-24
-29
0
0
0
2
-2
-1
0
0
0
0
0
14
53
-27
-8
30
-45
0
0
0
-35
10
0
0
0
0
0
6
3
-14
2
-18
8
14
-15
91
-26
20
1
0
0
0
0
0
0
-10
3
-4
7
-14
23
15
80
-22
3
0
0
0
0
0
0
0
7
-20
52
-43
-1
4
-79
-5
-35
0
3
0
0
0
0
0
0
-2
9
71
-20
-45
63
23
76
31
4
0
0
0
0
0
0
0
0
0
-65
18
23
-1
20
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
45
-9
33
-55
18
0
0
0
65
4
0
0
0
0
0
0
0
-8
-26
17
36
10
0
0
0
-16
-45
0
0
0
0
0
0
-2
12
-15
-81
26
3
25
-58
-76
-1
30
0
0
0
0
0
0
-1
-5
-29
-10
-12
50
42
58
-99
-9
64
0
1
0
0
0
0
1
-20
-111
56
1
43
30
32
-8
27
-2
0
0
0
0
0
0
11
-46
56
-64
5
89
61
19
6
39
14
0
0
0
0
0
0
0
2
98
101
9
-43
-81
-116
63
89
-4
10
0
0
0
0
0
0
-10
16
36
67
-66
-19
23
5
0
-1
0
0
0
0
0
0
0
0
29
-21
-5
-47
-6
-72
7
4
0
0
0
0
0
0
0
0
0
0
-3
45
96
0
0
0
4
0
0
0
0
0
0
0
0
0
-4
-29
-79
10
0
0
0
-1
0
0
0
0
0
0
0
0
0
-7
2
23
-43
45
31
23
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
11
-8
34
18
0
0
0
0
0
0
0
0
0
0
0
-3
16
4
-18
5
-1
0
0
0
0
0
0
0
0
0
0
0
-8
9
-4
-21
5
-2
0
0
0
0
0
0
0
0
0
0
0
8
-6
22
-26
-23
-32
17
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
23
0
0
0
0
0
0
0
0
0
0
0
14
72
37
-10
0
0
0
1
0
0
0
0
0
0
0
0
-2
-45
69
72
-20
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
51
74
5
42
-87
17
-3
0
0
0
0
0
0
0
0
2
14
10
-33
18
6
19
0
0
0
0
0
0
0
0
0
0
0
2
-74
37
-3
-5
0
1
0
0
0
0
0
0
0
0
0
0
6
43
-5
-37
-48
2
0
0
0
0
0
0
0
0
0
0
0
20
-8
76
-15
-35
7
0
0
0
0
0
0
0
0
0
0
0
0
-11
-13
14
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
-4
-16
-43
62
8
17
49
0
0
0
5
0
0
0
0
0
0
6
-2
1
9
-29
53
34
0
0
0
33
0
0
0
0
0
0
9
11
44
3
68
-22
19
18
-32
49
-1
0
0
0
0
0
0
0
4
-37
31
-97
5
55
-76
30
31
0
0
0
0
0
0
0
0
11
-14
33
32
-22
-14
13
-16
2
1
0
0
0
0
0
0
0
20
-6
53
-37
18
9
38
29
5
0
0
0
0
0
0
0
0
0
-9
3
19
-11
-58
49
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
-10
10
18
-3
0
0
0
0
0
0
0
0
0
0
1
0
-17
-20
-33
66
4
0
0
0
0
0
0
0
0
0
0
0
-10
1
32
19
10
7
35
6
4
0
0
0
0
0
0
0
0
0
11
-24
-33
94
30
13
-2
0
0
0
0
0
0
0
0
0
0
6
-14
15
-6
-49
-3
0
0
0
0
0
0
0
0
0
0
0
9
0
-52
23
17
-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
43
97
-16
0
0
0
0
0
0
0
0
0
0
1
8
-2
43
8
5
-8
0
0
0
-2
0
0
0
0
0
0
0
-3
-2
-7
37
60
7
15
21
0
0
0
0
0
0
0
0
-2
15
11
51
0
3
-5
-53
47
11
0
0
0
0
0
0
0
0
9
-2
1
-21
45
-80
80
-5
-1
-2
0
0
0
0
0
0
0
-6
-4
0
-59
-9
6
-39
2
-21
3
0
0
0
0
0
0
0
-1
0
-9
-1
-1
7
1
43
0
0
0
0
0
0
0
0
0
0
-3
0
5
-20
-10
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
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
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
11
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
9
-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
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
7
-8
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
21
-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
10
-21
-8
2
0
0
0
0
0
0
0
0
0
0
1
-5
-20
0
-2
4
18
0
0
0
0
0
0
0
0
0
0
-1
-1
15
3
8
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
1
-14
-6
0
2
0
0
0
0
0
0
0
0
0
0
1
18
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
13
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
15
15
0
0
0
0
0
0
0
0
0
0
-1
0
1
3
22
-6
-53
0
0
0
0
0
0
0
0
0
0
0
0
13
-8
-8
-3
6
1
-4
0
0
0
0
0
0
0
0
0
0
-2
33
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
-11
3
10
0
0
0
0
0
0
0
0
0
0
0
0
2
14
15
-24
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
0
9
-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
11
3
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
1
0
0
0
0
0
0
0
0
0
0
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
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
-31
-16
-13
26
8
-2
0
0
0
0
0
0
0
0
0
0
11
33
0
18
59
-35
0
0
0
0
0
0
0
0
0
0
0
0
1
20
18
-41
0
-56
18
-1
0
0
0
0
0
0
0
0
-1
2
-2
2
14
17
25
6
0
0
0
0
0
0
0
0
0
-10
0
-26
-14
-5
2
0
5
0
0
0
0
0
0
0
0
0
0
-3
-2
19
16
16
-1
-3
0
0
0
0
0
0
0
0
0
0
11
0
11
21
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-1
-9
-37
21
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
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
14
0
0
0
0
0
0
0
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
44
-1
-8
29
40
46
0
0
0
-13
-27
1
0
0
0
0
20
-33
-8
82
-26
-25
33
0
0
0
10
-2
-1
0
0
0
0
5
54
-13
-39
88
26
87
62
-20
9
14
-1
0
-1
0
1
0
-27
34
32
5
-24
18
-53
4
-16
-5
18
9
-4
0
0
0
0
-39
-49
5
8
-33
7
-32
-20
-23
-31
16
-5
1
0
0
0
0
-29
0
-23
31
-9
53
12
5
-43
-39
-21
0
1
0
0
0
0
-8
17
-1
12
-32
-3
-26
41
10
-46
-1
2
-3
0
0
0
0
0
-44
-5
3
12
-3
11
-25
35
-5
-6
-1
-1
0
0
0
0
1
0
3
8
-17
-7
7
-41
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-8
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
63
27
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
15
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
11
0
0
10
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
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
1
-1
-2
-2
-8
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
-10
6
20
0
0
0
0
0
0
0
0
0
0
0
-1
3
25
11
-15
-1
0
-2
-25
0
0
0
0
0
0
0
0
-1
5
-5
-13
2
4
-14
6
-2
-1
0
0
0
0
0
0
0
0
-1
15
10
-8
7
-5
0
2
0
0
0
0
0
0
0
0
0
0
5
-13
-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
-14
-22
0
0
0
4
0
0
0
0
0
0
0
0
-6
-13
-9
-46
18
0
0
0
2
0
0
0
0
0
0
0
0
7
5
-16
-35
10
-3
9
-3
5
5
0
0
0
0
0
0
0
-6
26
3
5
-2
18
-4
-52
5
-2
0
0
0
0
0
0
0
0
-20
-51
57
33
27
48
17
-6
0
0
0
0
0
0
0
0
-3
-2
14
-25
-37
7
13
10
7
1
0
0
0
0
0
0
0
0
10
9
44
-24
-19
1
11
5
0
0
0
0
0
0
0
0
0
-1
-18
1
12
51
-17
-2
1
0
0
0
0
0
0
0
0
0
0
0
-4
-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
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
20
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
-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
14
13
-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
9
1
-15
-31
0
0
0
0
0
0
0
0
0
0
0
2
-5
-13
1
-15
-13
0
0
0
0
0
0
0
0
0
0
2
0
0
6
-3
-7
-18
15
-14
16
0
0
0
0
0
0
0
0
1
1
0
-3
6
-14
-2
4
1
0
0
0
0
0
0
0
0
0
3
13
15
7
5
-1
-1
0
1
0
0
0
0
0
0
0
0
0
13
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
15
32
91
21
8
-56
74
0
0
115
32
-18
-33
-34
-36
83
0
0
63
31
1
-29
-43
-10
14
0
0
8
34
5
-33
-26
-15
-73
0
0
67
-7
-3
-36
-115
-63
-52
0
0
-24
-19
0
2
-8
-41
-15
0
0
-24
26
7
5
6
0
13
0
0
26
-5
52
9
27
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
6
-1
8
-54
-74
-93
0
-63
-6
-5
35
-45
-147
85
0
0
0
0
0
0
-43
0
0
0
0
0
0
-4
5
-2
0
0
-103
0
6
11
-55
69
0
17
-16
0
0
-178
13
69
0
0
-13
0
0
0
-40
0
0
-1
-72
-3
-1
-32
65
-14
0
0
-6
-3
0
0
-18
-5
-33
82
-38
-15
17
21
40
-101
0
0
0
0
0
0
2
0
0
-18
-13
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
6
68
91
-23
-3
-57
14
91
66
75
5
0
0
-113
-93
-61
-60
-24
-45
-3
-10
0
-68
31
19
46
54
0
0
-5
5
3
2
-74
-33
-3
-25
-139
-58
95
-18
-190
185
0
0
-19
-2
-2
-38
95
109
-12
37
-82
-68
-1
131
140
79
0
0
5
6
13
-18
44
69
23
53
-60
-44
92
56
95
77
0
0
140
0
-32
-75
126
33
13
27
-36
-27
20
92
57
36
0
0
0
0
0
0
12
0
5
79
164
-4
-72
71
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
-68
-7
-54
-95
61
53
2
37
8
-37
-20
5
10
-45
0
0
1
0
0
0
-26
1
0
-25
0
0
0
-14
1
-2
0
0
-11
-15
1
25
13
74
-1
37
13
0
0
-108
-132
3
0
0
-5
0
-2
9
-91
-24
-13
-1
-62
-17
6
4
-42
-99
0
0
-25
-2
-2
0
-90
-29
-44
-14
-6
-18
7
45
55
-74
0
0
0
0
0
0
0
0
-2
-5
33
0
1
-1
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-2
14
100
19
-29
101
-24
-23
-4
113
82
93
0
0
-63
24
-19
-83
-51
-75
2
-13
0
-105
-77
-70
-53
-11
0
0
-10
7
1
2
-62
-4
148
-77
-78
-3
-56
17
-52
-159
0
0
-25
-3
-8
-133
72
89
-26
-49
-67
-151
-39
45
15
31
0
0
36
-7
48
79
64
5
8
49
-59
16
-37
72
7
62
0
0
131
0
-29
2
78
131
43
117
-30
-52
58
134
37
62
0
0
0
0
0
0
71
0
86
75
90
4
35
115
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
-17
-3
10
-74
45
104
5
105
24
-82
-58
-16
9
-74
0
0
3
0
0
0
-20
1
0
-24
0
0
2
-10
1
-2
0
0
33
-15
1
34
12
51
-1
18
8
0
0
-31
-92
5
0
0
-11
0
-2
7
-92
-19
-14
15
13
-13
6
14
4
-36
0
0
-17
-2
-2
0
-55
-26
-44
-5
17
-18
50
16
43
-4
0
0
0
0
0
0
0
0
-2
-5
19
0
1
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-2
31
61
47
-16
116
-1
65
105
-35
30
22
0
0
-8
-14
-55
-157
8
-81
-2
-15
0
98
14
-32
-38
-18
0
0
-10
7
1
2
31
0
76
-99
36
6
-108
-6
-9
-129
0
0
3
-3
-8
-77
-47
-28
-16
12
-45
-86
-33
-66
-88
6
0
0
55
-7
45
52
-26
16
118
26
-55
36
35
54
68
52
0
0
80
0
-9
-1
52
73
34
43
12
-18
26
18
5
7
0
0
0
0
0
0
51
0
79
53
52
4
45
61
-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
4
0
2
-1
-1
17
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
23
-77
-14
2
-3
-14
-30
-4
0
0
6
0
3
-7
79
43
-29
-26
0
85
21
-53
18
65
0
0
0
0
0
0
1
0
9
-15
39
0
3
-4
3
0
0
0
0
0
0
0
29
5
36
33
33
-6
-9
-6
-25
11
0
0
9
0
2
0
2
-1
66
-37
-48
-5
46
5
-5
-9
0
0
1
0
0
0
6
3
26
6
-16
2
10
-41
1
-9
0
0
0
0
0
0
1
0
11
-2
0
0
0
2
0
0
9
3
2
2
-4
-1
-4
-13
-1
4
-3
-2
-3
0
5
6
14
14
15
9
1
-3
1
-6
-5
-6
0
0
4
2
5
1
3
1
-1
-10
10
8
2
-3
-3
-2
-7
-2
-15
0
3
-2
1
-3
2
6
7
0
11
-1
-13
-20
13
-15
7
9
43
4
-23
-28
-8
16
20
6
42
23
22
20
10
12
-18
42
22
14
19
20
22
7
5
10
8
18
9
3
1
2
9
7
6
2
8
-3
-8
-10
-1
-30
-22
-2
2
3
-4
-1
-6
-1
11
19
-1
-8
5
-19
-32
1
67
42
-2
-29
20
16
17
13
8
5
3
-2
-3
8
-6
0
-4
-19
11
4
4
8
4
16
14
-5
-9
4
-1
6
6
2
4
-19
19
9
7
8
13
14
-15
4
-11
9
10
10
-10
5
36
24
17
0
-5
16
5
19
10
2
5
7
4
8
1
20
-4
-2
8
21
39
-15
2
6
6
18
-5
0
5
5
-10
-5
-1
2
-7
9
0
3
15
8
0
2
13
11
-2
-10
6
8
15
9
-2
20
-5
-7
10
13
6
5
4
3
10
0
4
8
11
11
2
7
7
12
0
7
7
7
11
-1
0
4
-3
-2
4
-10
6
-3
13
11
12
-13
1
8
7
-9
4
-8
4
8
7
-2
5
14
3
3
5
7
0
9
4
6
2
5
5
14
-1
4
0
10
-4
1
4
-3
-14
-14
1
5
2
-9
-15
19
14
4
-2
6
-15
5
13
6
11
2
6
-2
1
-3
1
6
-7
21
0
0
3
-4
13
0
5
13
8
2
7
4
10
-3
6
1
2
4
7
-1
-5
6
0
-8
-9
0
13
-20
2
26
-13
13
-14
46
-3
-35
28
9
9
-23
-3
10
-1
29
0
5
-3
8
2
5
-14
9
-3
20
-17
-24
8
0
-4
-17
7
33
3
-31
-8
1
3
5
10
-14
43
15
-53
23
-13
-24
-6
-62
24
24
-21
23
-5
-6
-4
-33
-15
7
9
0
-8
6
17
-40
10
7
-10
42
-16
22
-11
-13
5
-19
-28
38
0
12
9
-3
15
-14
6
17
5
23
23
19
-7
-7
-19
-33
-15
-15
-24
-4
-6
19
7
-10
-36
15
24
27
-7
5
7
-2
-37
-7
4
23
-50
6
8
6
2
-54
9
4
-2
-18
-15
7
2
8
-46
-7
-5
28
-14
-20
2
-1
4
-25
-4
4
-27
28
-30
17
-1
4
-55
-50
20
-4
-17
-74
-19
0
-4
-6
5
14
0
-1
-33
-22
-3
12
-22
10
-1
11
-8
-43
-25
-24
30
26
14
22
37
44
-13
-9
11
-1
35
62
4
1
38
-8
-12
-4
-3
-53
71
21
38
19
-20
-13
2
-4
-1
24
31
-4
38
-1
-2
5
4
19
53
27
12
17
45
14
3
3
32
4
14
26
9
8
8
4
6
69
47
21
-3
-5
-3
15
2
9
-23
26
21
31
-17
-5
-2
3
-5
15
-7
53
7
18
-34
20
1
-65
-7
-1
-9
-14
8
2
9
9
9
3
6
30
19
27
-3
-1
5
4
3
36
-5
26
9
6
-4
1
9
-5
26
-5
6
-12
-10
5
-1
1
-51
-53
-10
-26
-31
-6
-5
2
1
-23
-26
15
23
-13
-4
1
-1
2
-34
-7
-4
27
-1
-28
-8
0
11
6
-27
-4
-36
19
-21
1
6
-4
-11
7
-25
-5
-18
-27
-15
13
6
5
5
7
-3
-10
-16
-7
-3
-3
-10
35
-1
9
-12
-5
-11
-3
4
0
32
3
5
0
9
-5
2
1
21
20
-1
3
-4
2
2
2
6
87
6
5
4
11
-4
4
3
1
6
19
37
31
6
-11
2
0
4
16
30
-11
22
20
3
4
2
-2
30
32
7
24
-8
-30
-6
3
19
-17
29
-25
-1
-25
-7
-8
-19
-10
-14
4
-26
-7
7
3
1
5
1
7
-12
7
-1
2
8
-4
-1
-2
5
15
-27
-15
6
7
3
-1
7
35
31
20
-14
-12
3
3
0
5
-37
-25
-23
-21
-25
-3
-2
2
5
-41
-34
61
3
5
0
8
2
4
-16
31
-37
-6
15
1
-2
3
16
52
-12
28
-12
-21
-52
2
-2
-7
7
26
-69
2
-42
-8
-20
32
-2
-10
15
-5
8
-18
-5
-6
-1
-4
51
-22
11
-30
-13
12
-11
4
3
33
21
3
-11
-4
3
-9
4
4
17
17
15
2
6
11
-1
-3
1
29
-14
-6
-27
4
1
-5
4
-2
-22
39
34
5
16
5
-8
3
4
-8
27
-13
8
4
-2
8
5
21
53
14
5
14
-5
-11
-1
-3
-6
-19
-23
-24
0
41
9
-4
5
9
-26
18
-3
19
10
-5
-10
14
-8
0
-49
14
-5
1
8
-3
5
20
-31
-26
42
7
23
19
-17
-19
22
-28
-6
-2
-6
43
-6
3
-23
-3
4
9
-17
5
-27
26
21
-14
19
-14
27
33
6
16
11
-20
-2
27
-2
-4
-32
12
19
-20
18
-3
-9
41
-3
-11
49
21
4
-2
-13
20
-7
1
-20
31
14
14
40
14
-5
9
-5
-33
-2
6
-17
-3
-6
22
59
3
-2
4
-19
-6
-12
4
-38
18
-27
12
4
-18
2
-3
15
-34
-5
-9
11
-6
16
-4
-7
4
-30
14
-5
-4
-6
3
-1
-7
1
10
5
-24
-41
-4
16
6
19
-8
-10
-4
6
-43
6
1
17
-9
33
-31
-9
7
53
-25
30
3
9
24
-16
-10
18
10
12
26
-33
-6
-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
-1
71
19
34
0
0
0
0
0
0
1
-8
30
0
0
0
0
0
0
2
-14
-30
0
0
0
0
0
0
-84
54
-128
0
0
-2
-5
121
-82
12
1
19
0
0
4
-16
37
-82
-10
26
-8
0
0
-184
5
11
-2
-7
0
1
0
0
-159
-25
25
53
101
32
12
0
0
53
38
87
-122
104
-53
41
0
0
-53
-132
4
-74
135
-17
-187
0
0
-33
-41
80
20
35
43
0
0
0
-42
15
-15
-39
21
15
58
0
0
-86
-44
34
21
0
-9
-37
0
0
-11
20
54
-51
-4
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
-1
6
-10
9
0
0
0
0
0
0
-5
-60
-33
0
0
0
0
0
0
-3
-75
13
0
0
0
0
0
-1
-49
-16
-28
0
0
4
-90
-6
86
-5
-16
38
0
0
25
-4
87
-18
-62
27
5
0
0
-6
33
14
2
-10
-1
-10
0
0
-138
-6
1
89
29
-3
26
0
0
-3
34
59
17
-46
-182
5
0
0
-74
-101
-14
42
-17
94
-86
0
0
17
28
-27
-9
-2
26
0
0
0
-92
-26
-46
52
-8
25
2
0
0
-54
21
-26
24
-21
3
3
0
0
-10
51
31
-37
-46
15
33
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
-62
-56
0
0
0
0
0
0
-5
-9
14
0
0
0
0
0
0
1
-137
99
0
0
0
0
0
-1
19
-54
38
0
0
0
-46
-21
35
-5
61
14
0
0
25
-13
3
14
-27
32
-17
0
0
21
-4
-7
5
-8
-27
-64
0
0
31
8
15
77
12
-14
42
0
0
-29
-34
14
73
-36
-69
-30
0
0
53
-101
-1
129
5
109
-52
0
0
9
40
-6
23
3
31
0
0
0
-54
22
6
-14
-53
43
57
0
0
73
-5
-26
69
20
32
-30
0
0
-100
-39
0
91
-6
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
1
-29
-47
0
0
0
0
0
0
0
14
-15
0
0
0
0
0
0
0
-33
-20
0
0
0
0
0
0
34
-20
-62
0
0
0
36
1
50
-13
7
-53
0
0
4
-5
8
-15
20
-5
-57
0
0
54
-8
-3
2
9
5
-21
0
0
-36
80
-5
30
-63
-2
12
0
0
-11
-16
28
22
71
17
53
0
0
-4
11
-17
59
45
26
23
0
0
8
25
38
42
-55
0
0
0
0
-65
85
34
8
-3
-2
47
0
0
26
4
-39
1
-30
-5
10
0
0
-15
-7
45
-4
55
0
8
9
-45
4
37
-3
0
5
-38
9
-20
-3
-24
-44
-42
-24
8
-18
-12
-25
2
10
0
0
0
0
-13
0
0
0
0
-52
0
0
0
0
-13
1
1
0
0
4
3
-7
15
0
-19
-49
3
-39
-4
16
52
-37
35
32
-4
-45
10
35
-61
7
-6
-16
7
-1
21
-21
3
-4
3
30
-1
0
0
-1
31
-38
-6
-15
-15
-17
3
-7
-32
-15
-19
-18
5
19
-11
3
20
-69
-32
-78
-30
-14
6
19
-19
-8
25
20
7
-4
13
-27
-4
-3
14
-24
3
-7
-13
-8
16
-1
0
0
-1
-17
-71
17
-26
-10
-19
34
15
-45
7
-6
-33
-4
-64
23
-11
27
-19
-20
-7
-25
-70
8
-40
-31
-4
-9
17
24
-3
15
0
-31
4
-2
-4
2
0
0
-4
-14
0
0
0
-1
-17
-16
-2
2
-20
30
-5
-13
26
-11
-49
22
-22
21
15
8
-44
0
-42
-18
23
-51
-31
-53
12
-4
33
-12
7
19
4
9
54
-41
27
0
-2
65
38
3
2
0
0
0
0
0
0
0
0
0
0
0
-5
43
-72
81
-52
-22
0
0
0
0
0
0
0
0
0
0
0
-15
-31
-52
-4
56
4
-6
0
-124
0
0
0
0
0
0
0
0
-4
60
-16
81
94
89
6
1
-7
0
0
0
0
0
0
0
0
2
6
-22
-6
-14
4
23
0
15
0
0
0
0
0
0
0
0
-55
15
45
0
-4
-62
-1
-8
7
0
0
0
0
0
0
0
0
0
7
72
4
32
4
-6
2
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
22
0
67
48
-2
24
-28
0
0
0
0
0
0
0
0
0
0
29
46
5
14
50
13
-55
0
3
0
0
0
0
0
0
0
0
-28
22
28
64
3
77
-36
-16
-5
42
0
0
0
0
0
0
0
69
3
2
16
33
-40
-62
-65
111
79
0
0
0
0
0
0
0
18
53
26
0
61
34
-25
14
-133
63
0
0
0
0
0
0
0
-10
59
-5
-6
1
-15
-13
-3
-117
24
0
0
0
0
0
0
0
5
-20
9
-13
-17
23
14
-5
6
17
0
0
0
0
0
0
0
0
-169
33
-23
-33
-19
0
0
-20
-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
54
0
83
-3
56
-95
-4
0
0
1
0
0
0
0
0
0
23
75
18
15
16
21
-69
0
-3
0
7
0
0
0
0
0
0
3
-15
4
3
5
26
-52
-11
51
15
-27
0
0
0
0
0
0
-14
8
4
19
-5
-21
83
-44
-36
48
4
0
0
0
0
0
0
-35
28
9
-4
-6
32
20
-69
-53
-37
-2
0
0
0
0
0
0
-7
27
6
-1
-4
-3
13
-94
-70
70
13
0
0
0
0
0
0
0
-36
11
29
0
-5
23
-23
-34
100
0
0
0
0
0
0
0
0
-8
-57
43
91
40
-1
-7
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
14
-20
25
0
81
-54
-76
5
0
0
1
0
0
0
0
0
0
18
-3
85
35
37
-21
9
0
3
0
0
0
0
0
0
0
0
26
-32
11
32
56
-11
-71
-17
-22
-11
59
0
0
0
0
0
0
33
-14
-2
26
15
-42
57
34
-34
-73
-3
0
0
0
0
0
0
94
56
5
57
66
-25
-7
-30
44
38
1
0
0
0
0
0
0
1
11
66
16
-7
82
-21
40
-14
-37
-69
0
0
0
0
0
0
0
-41
39
40
10
-51
-56
9
-46
0
0
0
0
0
0
0
0
0
0
1
-16
-9
25
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
-14
-39
29
0
13
-84
-2
0
1
0
0
0
0
0
0
0
15
74
37
51
68
105
47
0
0
0
0
0
0
0
0
0
0
-14
18
29
16
66
34
5
-14
5
71
1
0
0
0
0
0
0
43
-38
-16
3
16
24
-40
43
-55
122
3
0
0
0
0
0
0
-8
-7
3
31
-52
48
80
10
-68
90
0
0
0
0
0
0
0
0
22
-13
41
32
-45
-16
-7
-28
40
0
0
0
0
0
0
0
0
-16
7
-12
-14
43
24
-58
13
3
0
0
0
0
0
0
0
0
14
13
-29
-9
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
-64
72
5
0
1
-11
0
0
0
0
0
0
0
0
0
0
12
19
-61
5
-11
24
0
0
0
0
0
0
0
0
0
0
0
-6
-9
-37
-84
7
-21
-5
1
-5
-2
0
0
0
0
0
0
0
89
26
-60
23
17
-13
6
-5
27
1
0
0
0
0
0
0
-31
-31
-65
-71
5
22
51
5
13
60
3
0
0
0
0
0
0
0
22
-9
-25
20
37
-48
0
1
5
0
0
0
0
0
0
0
0
1
-2
20
-30
0
-3
-14
-7
0
0
0
0
0
0
0
0
0
0
5
-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
9
-13
-78
3
1
0
0
0
0
0
0
0
0
0
0
0
0
9
9
-22
-64
6
-3
0
0
0
0
0
0
0
0
0
0
0
-20
-24
-12
80
-49
-1
0
-3
-20
1
0
0
0
0
0
0
0
-7
16
-1
57
-27
-8
-1
0
0
0
0
0
0
0
0
0
0
0
61
14
-48
-1
11
19
0
-11
0
0
0
0
0
0
0
0
-25
11
30
97
-19
0
0
0
5
0
0
0
0
0
0
0
0
-1
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
100
-26
-10
-28
-8
0
0
0
0
0
0
0
0
0
0
0
130
65
-10
-12
127
-71
-7
0
-17
0
0
0
0
0
0
0
0
41
-4
25
45
21
108
11
1
-99
0
0
0
0
0
0
0
0
55
13
44
8
78
-10
-76
54
130
0
0
0
0
0
0
0
0
-29
24
49
6
43
1
-105
-20
94
0
0
0
0
0
0
0
0
14
70
-4
62
35
82
2
-6
14
0
0
0
0
0
0
0
0
-38
21
-2
-20
-50
0
-4
1
24
0
0
0
0
0
0
0
0
0
-41
-1
30
0
-37
9
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
42
-6
4
-22
16
-3
5
0
0
0
0
0
0
0
0
0
0
-8
4
31
0
13
-45
-21
0
7
0
0
0
0
0
0
0
0
-13
14
12
17
17
27
-23
42
20
60
0
0
0
0
0
0
0
-7
-3
17
-28
39
-74
-22
11
-80
42
0
0
0
0
0
0
0
9
40
25
1
39
6
-41
-57
30
-70
0
0
0
0
0
0
0
28
14
19
79
14
38
26
12
34
17
0
0
0
0
0
0
0
16
-31
17
-8
-50
82
144
-43
-17
-25
0
0
0
0
0
0
0
0
19
23
-29
-31
-2
24
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
16
32
26
17
49
43
34
-2
0
5
4
0
0
0
0
0
0
27
2
-8
48
5
16
-11
0
3
0
8
0
0
0
0
0
0
35
35
6
5
-18
49
31
-28
-7
48
24
0
0
0
0
0
0
32
1
4
19
-13
15
50
-120
-8
33
0
0
0
0
0
0
0
-9
29
-4
19
-44
128
32
-95
7
29
1
0
0
0
0
0
0
0
23
12
2
5
-21
-5
-26
-67
166
0
0
0
0
0
0
0
-10
-57
-5
-8
50
97
-15
-68
10
-37
0
0
0
0
0
0
0
0
3
24
-1
42
-18
23
36
1
-4
0
0
0
0
0
0
0
0
0
0
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
24
112
18
44
3
25
-66
3
0
0
-2
0
0
0
0
0
0
7
-20
22
87
118
-23
39
0
36
0
0
0
0
0
0
0
0
-114
6
20
-14
-14
53
-27
38
72
-20
13
-2
0
0
0
0
0
-5
-32
23
29
14
105
-9
-25
4
-104
14
0
0
0
0
0
0
8
18
-23
28
-25
14
-11
78
45
30
-9
0
0
0
0
0
0
0
-4
31
2
62
49
-2
-53
-121
33
-3
0
0
0
0
0
0
-13
-84
-14
71
10
103
-14
-68
-61
37
0
0
0
0
0
0
0
0
-24
-33
19
0
10
27
-1
1
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
-15
45
31
-11
-6
64
5
3
0
0
0
0
0
0
0
0
0
98
-14
20
12
31
8
65
0
0
0
-2
-1
0
0
0
0
0
-14
-12
-23
-42
51
13
-53
15
-11
-50
1
0
0
0
0
0
0
-62
5
30
-5
13
-97
26
71
-61
69
6
0
0
0
0
0
0
31
3
-14
-21
2
-5
-28
-28
-65
14
0
0
0
0
0
0
0
2
6
13
-19
0
103
19
-23
-148
36
-2
0
0
0
0
0
0
0
37
-30
136
22
38
9
-10
8
5
0
0
0
0
0
0
0
0
0
-48
90
-7
-9
2
0
-2
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
2
23
3
3
53
-17
18
-2
0
0
0
0
0
0
0
0
0
80
-40
59
51
116
-53
35
0
-29
0
-11
0
0
0
0
0
0
8
-19
56
44
46
26
-6
-4
26
-5
1
0
0
0
0
0
0
60
25
61
42
-56
-26
-20
71
-80
-32
-9
0
0
0
0
0
0
-9
49
29
-57
-13
16
-50
50
-132
-14
5
0
0
0
0
0
0
0
70
-2
11
-3
-4
-21
-20
3
0
0
0
0
0
0
0
0
0
-19
-21
0
72
-3
7
5
2
2
0
0
0
0
0
0
0
0
0
6
-1
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
3
-31
-52
122
25
17
1
0
0
1
0
0
0
0
0
0
0
-6
-11
27
-5
-49
-8
0
0
0
2
0
0
0
0
0
0
0
2
-84
43
-11
111
-80
0
-1
-14
8
0
0
0
0
0
0
0
-16
30
47
100
-114
0
1
26
7
-1
0
0
0
0
0
0
0
11
17
2
63
57
18
6
0
-6
-3
0
0
0
0
0
0
0
67
-106
-53
-32
-23
0
-1
2
8
0
0
0
0
0
0
0
0
0
3
50
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
14
-21
-46
24
43
60
0
0
0
0
0
0
0
0
0
0
0
-22
19
22
45
-44
-59
9
0
6
0
0
0
0
0
0
0
0
37
21
50
34
-11
76
4
7
25
0
0
0
0
0
0
0
0
43
30
50
66
18
4
-46
46
-34
0
0
0
0
0
0
0
0
18
37
65
10
-74
24
9
-22
53
0
0
0
0
0
0
0
0
-14
60
49
-46
72
-91
45
2
20
0
0
0
0
0
0
0
0
-10
52
-20
-1
-17
0
0
0
-11
0
0
0
0
0
0
0
0
0
-34
0
6
0
1
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
-8
-1
1
3
0
68
121
7
0
1
0
0
0
0
0
0
0
-15
-4
13
8
22
4
-169
0
17
0
0
0
0
0
0
0
0
10
6
17
40
37
45
24
-15
61
67
0
0
0
0
0
0
0
-6
6
15
38
-38
-12
-35
-119
103
-39
0
0
0
0
0
0
0
-14
17
5
-24
3
4
-24
4
-5
26
0
0
0
0
0
0
0
-30
20
12
1
41
21
62
-15
13
-64
0
0
0
0
0
0
0
3
-16
-4
1
-59
21
48
57
5
24
0
0
0
0
0
0
0
0
-31
-62
-51
-30
-18
-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
2
-15
-2
-16
-17
55
47
-5
0
2
0
0
0
0
0
0
0
6
-5
13
1
-6
30
-1
0
-1
0
0
0
0
0
0
0
0
-13
-10
19
66
27
71
-29
36
60
-41
4
0
0
0
0
0
0
-18
14
-16
34
14
48
0
-80
-52
-59
2
0
0
0
0
0
0
-44
33
15
16
-65
31
3
-11
-51
-42
-1
0
0
0
0
0
0
0
1
28
-60
52
112
116
-38
50
104
0
0
0
0
0
0
0
0
25
-21
24
-33
29
91
-65
-4
-2
0
0
0
0
0
0
0
0
22
17
33
16
100
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
-37
139
38
59
8
-61
-34
4
0
0
0
0
0
0
0
0
0
-35
23
58
36
9
9
-64
0
-11
0
-6
0
0
0
0
0
0
-19
34
46
40
50
103
-77
15
-23
31
1
0
0
0
0
0
0
0
11
-3
32
78
17
-13
-8
38
43
-16
-1
0
0
0
0
0
23
7
-1
17
-68
45
57
30
-19
-102
25
0
0
0
0
0
0
-7
-12
6
-15
142
45
-91
21
-84
-26
5
0
0
0
0
0
0
-4
22
0
111
6
3
9
-17
-2
0
0
0
0
0
0
0
0
0
0
-8
-10
22
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
-10
2
14
17
54
22
-29
3
0
0
0
0
0
0
0
0
0
-7
8
25
25
23
-26
-131
0
1
0
0
0
0
0
0
0
0
43
62
22
23
7
63
10
98
-17
-44
1
0
0
0
0
0
0
38
37
4
16
44
-39
12
-1
-34
66
0
2
0
0
0
0
0
37
34
-12
-2
-76
-5
-69
11
-33
-8
0
0
0
0
0
0
0
1
83
34
18
-34
15
-66
-62
-36
-68
0
0
0
0
0
0
0
0
14
22
14
-10
130
-17
82
2
17
0
0
0
0
0
0
0
0
18
5
50
18
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
77
-14
71
57
53
1
0
0
-1
0
0
0
0
0
0
0
62
-8
0
46
-53
122
21
0
0
0
0
0
0
0
0
0
0
4
-10
-55
62
71
24
71
-10
-128
72
-6
0
0
0
0
0
0
-18
-25
17
34
-25
-4
-8
-4
-55
51
5
0
0
0
0
0
0
46
17
-25
-14
21
6
44
-5
-44
-68
0
0
0
0
0
0
0
0
5
42
-58
35
20
19
6
-2
8
-1
0
0
0
0
0
0
0
1
-43
77
24
6
1
-1
-5
11
0
0
0
0
0
0
0
0
3
3
-16
-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
-45
-30
-41
-54
40
0
0
0
0
0
0
0
0
0
0
0
0
53
18
-56
-23
7
-2
0
0
0
-1
0
0
0
0
0
0
0
83
18
10
1
68
1
-23
-1
-8
-8
4
0
0
0
0
0
0
2
39
48
-5
5
74
-35
0
-17
0
0
0
0
0
0
0
0
-21
7
-30
-36
109
33
-1
-57
4
0
0
0
0
0
0
0
0
0
63
29
-11
-18
-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
-20
-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
-17
6
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-13
11
14
4
8
-1
0
0
0
0
0
0
0
0
0
0
-6
3
11
2
1
21
-3
0
0
0
0
0
0
0
0
0
0
0
9
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
29
43
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
33
7
0
23
0
0
0
0
0
0
0
0
0
0
0
-8
56
-2
15
-3
-4
-1
-6
0
0
0
0
0
0
0
0
0
0
10
7
5
-15
5
0
0
0
0
0
0
0
0
0
0
0
1
54
20
-44
-2
1
0
-2
1
0
0
0
0
0
0
0
0
-5
0
-11
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
79
15
30
29
25
0
0
0
0
0
0
0
0
0
0
0
13
-35
-8
25
-13
-34
0
0
-11
0
0
0
0
0
0
0
0
-33
38
19
46
68
15
0
0
8
0
0
0
0
0
0
0
0
14
77
-45
30
47
43
-14
22
-10
0
0
0
0
0
0
0
0
62
-63
12
36
-33
-9
4
-14
49
0
0
0
0
0
0
0
0
7
56
48
4
-4
-16
15
-8
44
0
0
0
0
0
0
0
0
0
-5
21
-7
14
-2
8
0
6
0
0
0
0
0
0
0
0
0
-7
-6
-71
0
3
-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
-12
69
-17
17
37
5
-6
0
0
0
0
0
0
0
0
0
0
6
-20
-10
-8
14
31
-9
0
63
0
0
0
0
0
0
0
0
-4
-2
16
32
0
16
-3
-37
174
-45
0
0
0
0
0
0
0
2
10
28
-22
-34
15
-43
-22
-13
29
0
0
0
0
0
0
0
83
33
7
-5
-20
-43
12
-9
74
14
0
0
0
0
0
0
0
54
22
10
0
39
12
20
5
-88
67
0
0
0
0
0
0
0
11
23
14
62
43
78
60
-19
-36
5
0
0
0
0
0
0
0
0
15
99
-28
11
56
-2
-9
-1
-3
0
0
0
0
0
0
0
0
-21
-113
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
1
0
11
-14
14
-16
97
1
0
3
0
0
0
0
0
0
0
3
26
-25
-5
15
47
55
0
3
0
-1
0
0
0
0
0
0
34
-17
-5
5
17
44
-72
26
36
31
0
0
0
0
0
0
0
46
15
-2
16
26
-58
-21
-89
20
33
-3
0
0
0
0
0
0
-20
100
17
-2
27
100
49
-35
25
23
0
0
0
0
0
0
0
0
-7
1
5
48
23
64
-64
-114
-25
-3
0
0
0
0
0
0
-33
14
16
69
-30
73
16
-132
-27
-1
0
0
0
0
0
0
0
0
-10
-14
-46
23
-23
15
-10
1
0
0
0
0
0
0
0
0
0
0
-4
-11
-1
1
0
0
0
0
0
0
0
0
0
0
0
33
-7
12
20
5
-32
0
2
0
0
0
0
0
0
0
0
0
-36
-10
8
54
48
-63
52
0
2
0
7
0
0
0
0
0
0
-14
43
6
18
81
-11
-43
23
14
49
-34
0
0
0
0
0
0
-30
15
56
29
-31
47
23
-73
-28
33
-3
2
0
0
0
0
0
49
36
24
-9
65
-51
-89
44
49
-14
-10
0
0
0
0
0
0
2
117
23
-25
60
-48
21
-14
-1
-11
0
0
0
0
0
0
0
1
-41
62
9
59
64
23
-4
-33
1
0
0
0
0
0
0
0
0
-7
-10
29
47
5
-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
-10
-19
-19
-20
-68
-87
-30
0
0
-1
0
0
0
0
0
0
0
-8
35
72
-31
3
22
-14
0
0
0
0
0
0
0
0
0
0
-32
12
27
32
7
20
-37
4
25
20
-1
0
0
0
0
0
0
-30
8
-2
35
25
-18
-15
-73
-105
-56
7
0
0
0
0
0
0
-5
6
21
-5
38
-6
21
-23
-125
-44
-1
0
0
0
0
0
0
0
67
-4
26
32
-1
-64
-61
55
-34
0
0
0
0
0
0
0
0
14
-12
-10
32
-38
2
-21
-17
8
0
0
0
0
0
0
0
0
-11
13
45
-50
7
0
-1
1
-5
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
34
81
-23
58
9
5
0
0
0
0
0
0
0
0
0
0
5
-18
-65
55
-11
32
-20
0
-8
0
0
0
0
0
0
0
0
15
-50
43
32
84
54
-44
26
25
-1
-1
0
0
0
0
0
0
-5
14
17
85
-30
-11
39
-76
-135
-15
0
0
0
0
0
0
0
-7
13
3
6
55
61
-56
-41
2
27
-3
0
0
0
0
0
0
0
43
-18
23
72
8
-14
-60
-16
4
-9
0
0
0
0
0
0
0
-2
30
17
107
74
2
0
8
0
0
0
0
0
0
0
0
0
0
1
98
-14
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
-2
-100
37
24
3
0
0
0
0
0
0
0
0
0
0
0
45
-105
-68
31
157
13
0
0
0
0
0
0
0
0
0
0
0
-98
17
-29
-37
103
42
3
0
6
3
0
0
0
0
0
0
0
5
-8
160
22
-8
2
-4
0
-26
0
0
0
0
0
0
0
0
-4
16
-17
116
82
-77
2
-3
-10
0
0
0
0
0
0
0
0
24
117
55
-11
6
-1
-3
0
0
1
0
0
0
0
0
0
0
0
25
19
21
20
-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
-53
-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
10
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-5
-18
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
32
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
37
-8
-9
2
-1
0
0
0
0
0
0
0
0
0
0
7
3
26
-15
-31
-36
-18
0
0
0
0
0
0
0
0
0
0
-1
35
0
4
-75
6
7
-18
1
-8
0
0
0
0
0
0
0
-8
53
1
65
-21
90
6
0
0
0
0
0
0
0
0
0
0
15
-11
11
-8
-29
11
3
3
-15
0
0
0
0
0
0
0
0
0
-6
-43
-59
-7
7
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
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
25
25
1
-5
-9
-3
0
0
2
0
0
0
0
0
0
0
0
22
21
-91
-52
25
-2
0
1
0
0
0
0
0
0
0
0
0
13
-36
81
36
41
-77
2
0
-43
0
0
0
0
0
0
0
0
25
-6
26
-39
14
85
-7
-9
0
0
0
0
0
0
0
0
0
-7
91
-48
-6
-10
-3
4
4
0
0
0
0
0
0
0
0
0
5
24
20
24
-14
-43
1
0
0
0
0
0
0
0
0
0
0
5
-14
-18
-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
-44
34
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
-25
110
-62
25
25
-11
0
0
-9
0
0
0
0
0
0
0
0
30
23
-19
58
33
6
2
-1
-15
0
0
0
0
0
0
0
0
-8
-27
-20
21
23
-23
1
3
-23
0
0
0
0
0
0
0
0
0
-6
-16
-44
54
5
21
-3
5
0
0
0
0
0
0
0
0
-29
-29
65
64
-15
-2
30
-11
2
0
0
0
0
0
0
0
0
0
-9
32
1
14
0
0
-2
-7
0
0
0
0
0
0
0
0
0
61
2
47
0
-5
-2
-5
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
89
27
-12
-37
8
7
119
0
0
0
0
0
0
0
0
0
0
-4
17
-36
5
39
85
-25
0
1
0
0
0
0
0
0
0
0
-18
-32
-18
38
23
51
17
3
23
13
0
0
0
0
0
0
0
7
-20
16
-42
35
14
-35
-32
-6
5
0
0
0
0
0
0
0
8
0
-5
4
58
17
-81
-30
25
99
0
0
0
0
0
0
0
-17
77
11
-5
56
40
28
-54
29
-52
0
0
0
0
0
0
0
23
-5
26
15
-2
-5
37
-109
-66
-23
0
0
0
0
0
0
0
0
67
16
44
17
39
-3
-4
-1
8
0
0
0
0
0
0
0
0
3
-78
-5
25
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
-15
32
-15
-67
79
0
0
-2
0
0
0
0
0
0
0
9
2
22
-1
7
64
28
0
0
0
-6
0
0
0
0
0
0
11
-25
9
26
-7
48
-54
17
42
93
1
0
0
0
0
0
0
25
41
-30
62
-11
3
-3
-70
5
88
1
0
0
0
0
0
0
-103
-28
0
-2
0
-4
2
24
13
4
-4
0
0
0
0
0
0
0
31
38
-1
11
-5
53
-32
27
46
5
0
0
0
0
0
0
0
-24
28
15
-20
-104
-21
-59
-17
-17
0
0
0
0
0
0
0
0
15
-8
72
23
59
24
-21
-1
-4
0
0
0
0
0
0
0
0
0
8
23
0
-23
0
0
0
0
0
0
0
0
0
0
0
1
-9
45
48
2
-6
15
0
0
0
0
0
0
0
0
0
0
-6
13
53
63
-32
-63
21
0
0
0
2
0
0
0
0
0
0
-36
-7
-23
-18
85
-75
42
-13
-65
12
4
0
0
0
0
0
0
72
4
-2
30
-54
19
-33
26
-40
14
1
0
0
0
0
0
0
31
7
90
0
74
29
0
-33
-4
-15
1
0
0
0
0
0
0
0
1
72
23
4
-36
5
-76
80
-6
-4
0
0
0
0
0
0
7
39
-20
12
15
19
12
32
-15
-7
0
0
0
0
0
0
0
0
35
11
70
7
-14
77
-1
0
0
0
0
0
0
0
0
0
2
-9
-6
0
-16
0
2
0
0
0
0
0
0
0
0
0
0
0
-56
35
-32
-11
16
65
1
0
-2
0
0
0
0
0
0
0
3
-13
17
36
5
-63
-35
0
0
0
0
0
0
0
0
0
0
3
-21
22
-37
75
-88
-42
33
2
-34
2
0
0
0
0
0
0
15
2
12
9
45
137
-133
3
-45
94
-1
0
0
0
0
0
0
-82
0
-12
59
3
-17
-19
-75
-14
37
0
0
0
0
0
0
0
0
141
30
-20
27
-67
-125
-42
20
8
0
0
0
0
0
0
0
0
5
-5
5
80
-79
-99
-21
-4
4
0
0
0
0
0
0
0
0
14
5
11
20
21
0
13
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
8
26
-36
11
-4
-4
0
0
0
0
0
0
0
0
0
-3
-48
-27
-15
18
-3
-14
0
0
0
1
0
0
0
0
0
0
16
-46
20
-33
-41
19
18
-3
14
2
0
0
0
0
0
0
0
-5
25
-41
-5
-24
102
63
9
6
10
0
0
0
0
0
0
0
32
-49
-46
75
65
-1
-53
0
-20
18
0
0
0
0
0
0
0
0
23
13
-4
-5
-9
-4
-6
-24
-33
0
0
0
0
0
0
0
0
11
103
-58
-72
10
25
2
10
2
0
0
0
0
0
0
0
0
5
6
14
54
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
14
-52
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
5
86
49
52
49
9
0
0
0
0
0
0
0
0
0
0
0
-5
34
111
73
-7
16
0
-7
4
0
0
0
0
0
0
0
0
25
-40
44
48
-6
-13
-2
-1
-48
0
0
0
0
0
0
0
0
53
44
115
-94
-41
0
4
-29
-7
0
0
0
0
0
0
0
0
-21
19
-67
58
14
-7
-4
0
-3
0
0
0
0
0
0
0
0
0
33
26
-5
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-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
-23
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
31
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
15
13
7
-4
-1
-3
0
0
0
0
0
0
0
0
0
6
8
15
-6
-4
2
0
0
-2
0
0
0
0
0
0
0
0
5
-41
-18
-43
5
34
-5
0
0
-1
0
0
0
0
0
0
0
0
2
-10
-7
-19
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
-103
7
-21
0
0
0
0
0
0
0
0
0
0
0
14
-34
36
11
37
-6
1
0
0
0
0
0
0
0
0
0
0
-16
-27
-104
-14
31
-5
-2
0
8
-29
0
0
0
0
0
0
0
-7
-8
3
11
-14
-14
-8
4
-5
-1
0
0
0
0
0
0
0
29
8
32
72
48
66
31
-5
0
-11
0
0
0
0
0
0
0
0
-24
50
43
-35
-15
4
1
0
4
0
0
0
0
0
0
0
-3
1
16
15
-15
-1
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
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
1
37
-19
-26
-14
6
0
0
3
0
0
0
0
0
0
0
0
-62
45
-10
51
1
-17
0
0
0
0
0
0
0
0
0
0
0
18
-16
60
-5
-15
-21
0
-8
-32
0
0
0
0
0
0
0
0
2
48
-53
-70
2
-8
0
-4
-7
0
0
0
0
0
0
0
0
-13
-39
51
4
29
12
27
-5
0
0
0
0
0
0
0
0
0
-15
77
-24
-2
54
24
8
0
24
0
0
0
0
0
0
0
0
-2
35
36
9
19
33
-8
47
0
0
0
0
0
0
0
0
0
-4
-11
5
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
14
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
39
-1
-18
-5
19
4
0
0
0
0
0
0
0
0
0
0
32
-19
-4
-17
-78
4
0
-6
3
0
0
0
0
0
0
0
0
-4
13
2
32
5
27
5
0
-79
0
0
0
0
0
0
0
0
-35
-14
82
-16
-67
0
1
13
4
0
0
0
0
0
0
0
0
0
72
7
45
-18
-21
0
34
-71
0
0
0
0
0
0
0
0
9
-20
27
-17
21
6
19
-2
3
0
0
0
0
0
0
0
0
0
26
-2
34
0
23
-5
3
0
0
0
0
0
0
0
0
0
0
0
69
0
3
0
0
0
6
0
0
0
0
0
0
0
0
22
4
-6
-38
68
74
48
2
0
0
0
0
0
0
0
0
0
-21
13
16
5
43
132
23
0
0
0
0
0
0
0
0
0
0
10
29
-5
11
27
20
52
-9
9
-4
0
0
0
0
0
0
0
2
32
-12
48
-5
45
-80
20
154
37
0
0
0
0
0
0
0
-30
76
20
87
37
118
0
19
-10
-22
0
0
0
0
0
0
0
-36
0
37
28
104
13
7
6
14
1
0
0
0
0
0
0
0
18
-5
14
31
6
1
-10
-7
-24
4
0
0
0
0
0
0
0
0
53
75
-3
-6
-25
20
48
5
0
0
0
0
0
0
0
0
8
7
-5
-3
46
2
0
0
0
0
0
0
0
0
0
0
0
-49
6
18
-14
26
-6
-14
17
0
0
0
0
0
0
0
0
0
0
13
5
-2
33
91
-6
0
1
0
0
0
0
0
0
0
0
-41
-9
18
10
12
-35
-9
26
11
-35
3
0
0
0
0
0
0
1
-5
-22
68
-24
0
-38
-74
-5
18
0
0
0
0
0
0
0
-3
19
-12
-13
-15
28
-13
8
32
67
-8
0
0
0
0
0
0
-5
90
0
-7
4
57
-43
59
73
-26
0
0
0
0
0
0
0
-7
17
62
33
-2
18
0
-60
-8
53
0
0
0
0
0
0
0
0
-63
23
-42
52
129
-13
0
0
-3
0
0
0
0
0
0
0
0
0
4
-4
14
-16
0
0
0
0
0
0
0
0
0
0
0
-34
13
36
28
31
37
0
1
0
0
0
0
0
0
0
0
0
0
16
40
-11
77
8
78
0
0
0
2
0
0
0
0
0
0
-45
-6
-2
15
-26
45
-25
-9
0
-37
2
0
0
0
0
0
0
27
40
-15
71
-45
-15
18
-4
47
5
-1
0
0
0
0
0
0
26
13
3
-5
29
-19
-50
-137
-14
-109
3
0
0
0
0
0
0
43
-9
89
0
-7
48
-3
-81
23
-5
1
0
0
0
0
0
0
1
-19
11
62
1
-33
12
-78
22
-3
0
0
0
0
0
0
0
0
10
-18
-37
71
2
1
-7
0
3
0
0
0
0
0
0
0
0
0
16
0
9
0
0
0
0
0
0
0
0
0
0
0
0
14
2
5
-12
57
4
-2
0
0
0
0
0
0
0
0
0
0
0
81
1
-2
-1
9
111
0
0
0
0
0
0
0
0
0
0
13
22
-34
-7
2
47
55
1
-8
14
0
0
0
0
0
0
0
0
-3
-38
-16
89
10
105
45
-14
-54
0
0
0
0
0
0
0
53
-22
5
14
-19
27
100
-48
-55
-37
0
0
0
0
0
0
0
0
20
36
16
0
83
-1
-9
-66
-9
0
0
0
0
0
0
0
0
30
6
-39
23
28
-18
-16
68
30
0
0
0
0
0
0
0
0
40
14
-41
-53
53
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
-57
9
-68
-25
23
-10
0
0
0
0
0
0
0
0
0
0
0
130
20
20
-71
-10
-19
0
0
0
3
0
0
0
0
0
0
10
-100
25
-31
-49
-60
14
0
0
6
-1
0
0
0
0
0
0
-3
5
-66
39
-30
12
33
-2
5
1
1
0
0
0
0
0
0
-7
17
-37
-3
35
20
20
17
-4
39
-1
0
0
0
0
0
0
0
33
-68
69
71
0
62
-32
3
-36
0
0
0
0
0
0
0
-8
1
6
8
68
-3
9
44
-25
-7
0
0
0
0
0
0
0
0
9
-6
-66
18
-49
-14
0
-2
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
57
46
-19
-34
-20
-3
0
0
0
0
0
0
0
0
0
0
0
73
40
-76
86
-28
3
0
0
0
0
0
0
0
0
0
0
0
33
-3
0
-89
-21
35
0
0
0
0
0
0
0
0
0
0
0
-6
-73
60
74
35
7
3
0
-23
0
0
0
0
0
0
0
0
5
-4
14
23
10
-14
3
-6
-11
0
0
0
0
0
0
0
0
5
-25
15
12
-28
0
6
0
-50
0
0
0
0
0
0
0
0
0
66
-99
-18
-11
-47
0
-15
0
0
0
0
0
0
0
0
0
1
17
63
1
-31
0
0
0
-2
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-10
-55
-11
2
0
0
0
0
0
0
0
0
0
0
0
2
3
-37
6
0
7
1
0
0
0
0
0
0
0
0
0
0
0
1
-24
-2
-17
-6
3
-2
0
0
0
0
0
0
0
0
0
-2
1
5
-24
-2
-29
2
0
-27
0
0
0
0
0
0
0
0
0
-3
6
-4
11
-20
8
0
-4
0
0
0
0
0
0
0
0
0
0
-1
9
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
-81
16
13
20
2
0
0
0
0
0
0
0
0
0
0
0
-14
16
44
-33
-8
11
0
0
0
0
0
0
0
0
0
0
-7
23
-70
-8
-18
18
7
0
4
-20
0
0
0
0
0
0
0
0
-89
-19
62
-20
36
-33
-20
-6
11
0
0
0
0
0
0
0
-2
-45
-42
-64
-62
-17
-33
16
0
8
0
0
0
0
0
0
0
-2
-4
18
-5
45
79
25
-1
0
-6
0
0
0
0
0
0
0
0
-11
11
15
23
-17
-5
16
3
0
0
0
0
0
0
0
0
0
-5
3
-1
-24
-43
-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
30
4
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
68
-76
-9
-89
13
-2
0
0
0
0
0
0
0
0
0
0
0
4
-91
-28
14
-3
4
2
0
17
0
0
0
0
0
0
0
0
-11
3
24
8
-31
3
-18
0
1
0
0
0
0
0
0
0
0
-33
7
-15
-49
34
-9
3
13
-9
0
0
0
0
0
0
0
0
43
-5
-45
131
84
62
-2
6
0
0
0
0
0
0
0
0
0
0
-23
18
-61
2
-71
0
7
0
0
0
0
0
0
0
0
0
-1
15
-9
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
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
-9
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
-35
1
125
5
0
0
0
0
0
0
0
0
0
0
0
0
15
-16
-9
5
2
2
0
0
0
0
0
0
0
0
0
0
0
4
-32
26
32
-4
17
0
0
3
0
0
0
0
0
0
0
0
77
23
52
75
61
3
0
-5
1
0
0
0
0
0
0
0
0
0
-40
-53
19
21
4
-4
1
2
0
0
0
0
0
0
0
0
0
0
43
0
9
-10
0
0
-1
0
0
0
0
0
0
0
0
0
44
-2
33
0
-5
1
-3
0
0
0
0
0
0
0
0
0
0
0
-14
2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-116
54
23
18
19
56
0
0
0
0
0
0
0
0
0
0
22
30
8
31
-44
21
26
0
0
0
0
0
0
0
0
0
0
28
94
22
5
3
50
21
-1
0
65
0
0
0
0
0
0
0
-3
6
37
17
-5
49
-5
19
24
-41
0
0
0
0
0
0
0
3
-18
30
-11
33
-49
-2
-69
-63
18
0
0
0
0
0
0
0
-16
15
31
10
-45
36
-81
63
-57
13
0
0
0
0
0
0
0
5
0
6
23
-40
6
69
-3
40
16
0
0
0
0
0
0
0
0
94
-11
31
-24
80
11
-7
56
4
0
0
0
0
0
0
0
0
-3
20
5
68
0
0
0
0
0
0
0
0
0
0
0
0
0
45
12
-34
35
30
-71
-3
0
0
0
0
0
0
0
0
0
0
44
3
-12
34
25
35
0
1
0
0
0
0
0
0
0
0
-2
14
25
53
17
-20
52
-11
2
54
-13
0
0
0
0
0
0
0
6
14
10
29
-3
13
6
-40
68
0
0
0
0
0
0
0
-1
24
-9
96
30
71
9
8
-38
36
0
0
0
0
0
0
0
0
2
69
11
39
11
-2
17
27
63
0
0
0
0
0
0
0
-33
45
0
-35
-11
-53
0
55
49
0
0
0
0
0
0
0
0
0
-46
1
29
60
-114
6
-4
5
-16
0
0
0
0
0
0
0
0
0
-6
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
48
14
25
29
-8
1
0
0
0
0
0
0
0
0
0
0
-10
-29
-38
6
70
-30
0
2
0
3
0
0
0
0
0
0
48
23
24
61
-20
16
-5
-3
-3
-13
-7
0
0
0
0
0
0
-3
-15
33
21
36
-65
-7
53
-1
-7
2
0
0
0
0
0
0
7
11
32
-37
-57
23
35
-107
19
-48
11
0
0
0
0
0
0
-4
23
6
-61
19
1
27
-24
-45
49
31
0
0
0
0
0
0
-16
51
1
0
-72
-26
-44
4
-24
13
0
0
0
0
0
0
0
-1
51
-14
-50
-2
71
14
1
-1
0
0
0
0
0
0
0
0
0
0
-26
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
14
16
-43
-13
5
15
0
0
0
0
0
0
0
0
0
0
-3
26
-71
2
-22
2
0
0
0
0
0
0
0
0
0
0
0
-24
-39
0
52
2
57
-45
0
-3
-30
0
0
0
0
0
0
0
0
28
-34
14
9
14
-34
-10
7
51
0
0
0
0
0
0
0
27
17
-21
57
4
33
-28
11
-23
24
0
0
0
0
0
0
0
0
-2
7
14
-18
-25
15
33
-67
-16
0
0
0
0
0
0
0
4
46
-11
50
0
23
-4
54
23
-3
0
0
0
0
0
0
0
0
43
101
-17
74
-40
16
0
-31
-87
0
0
0
0
0
0
0
0
0
-21
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-26
11
13
19
0
0
0
0
0
0
0
0
0
0
4
-48
-123
-10
23
3
10
0
0
0
0
0
0
0
0
0
0
-31
16
-50
27
-57
-45
-20
0
0
4
0
0
0
0
0
0
0
-6
20
-25
-60
-44
-40
11
6
-9
-35
0
0
0
0
0
0
0
9
-14
-58
20
5
20
104
-26
0
-25
2
0
0
0
0
0
0
1
42
2
-142
6
-6
29
-24
-7
-18
-1
0
0
0
0
0
0
0
2
21
72
-53
0
100
11
-37
-27
0
0
0
0
0
0
0
0
35
-2
6
2
-43
-10
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
1
-36
-6
-4
0
0
0
0
0
0
0
0
0
0
0
10
72
-26
72
97
0
0
0
0
0
0
0
0
0
0
0
0
10
9
43
1
7
45
0
0
-6
0
0
0
0
0
0
0
0
-84
11
-23
56
43
3
0
0
1
0
0
0
0
0
0
0
0
4
-99
3
-49
-4
43
-19
0
0
0
0
0
0
0
0
0
0
-33
19
31
27
-95
16
23
2
-45
0
0
0
0
0
0
0
0
-1
9
-7
-80
4
0
2
-132
-43
0
0
0
0
0
0
0
0
0
21
-139
-54
-3
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
-2
-45
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
10
35
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
10
4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
35
1
-27
7
4
1
0
0
0
0
0
0
0
0
0
0
0
0
14
3
13
-17
3
0
-4
0
0
0
0
0
0
0
0
0
3
-5
14
-8
-35
0
0
-1
-3
0
0
0
0
0
0
0
0
0
-23
0
23
0
-1
0
-14
0
0
0
0
0
0
0
0
0
1
0
-27
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
-10
4
-20
-8
0
0
0
0
0
0
0
0
0
0
0
0
-42
1
-6
-9
-20
0
0
0
0
0
0
0
0
0
0
0
-6
-15
-70
-23
-70
0
7
2
1
-39
0
0
0
0
0
0
0
0
-128
-24
-80
-78
-33
-25
2
6
-1
0
0
0
0
0
0
0
-3
-4
-19
24
30
2
-36
1
2
-2
0
0
0
0
0
0
0
0
-30
0
21
-15
-68
-5
1
-7
14
0
0
0
0
0
0
0
0
1
16
9
-85
8
-137
0
0
0
0
0
0
0
0
0
0
0
37
-11
19
-18
-27
0
0
0
0
0
0
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
4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-3
6
-22
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-26
38
-19
4
0
0
2
0
0
0
0
0
0
0
0
-3
8
-5
17
-17
0
-2
0
0
0
0
0
0
0
0
0
0
0
24
6
0
-7
-47
-6
0
-26
0
0
0
0
0
0
0
0
0
-11
9
-10
-9
-68
0
-7
-4
0
0
0
0
0
0
0
0
1
-62
14
41
-7
86
-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
-42
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
36
1
1
0
0
0
0
0
0
0
0
0
0
0
9
0
-8
3
-4
11
0
0
0
0
0
0
0
0
0
0
0
-6
49
2
0
-1
23
0
0
-7
0
0
0
0
0
0
0
0
-63
18
-4
-16
-2
-43
-8
0
5
0
0
0
0
0
0
0
0
2
30
11
34
1
-16
-29
-9
15
0
0
0
0
0
0
0
0
15
4
5
-36
13
0
-13
-17
34
0
0
0
0
0
0
0
0
0
1
1
-21
-8
36
0
9
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
23
13
21
-1
0
0
0
0
0
0
0
0
0
0
0
1
12
39
40
4
-51
0
0
0
0
0
0
0
0
0
0
0
71
2
-22
-25
60
14
-2
2
-2
0
0
0
0
0
0
0
0
6
48
-19
10
-88
11
24
1
62
-6
0
0
0
0
0
0
0
18
-9
51
23
102
5
-42
43
87
-2
0
0
0
0
0
0
0
2
13
14
17
25
27
-9
14
102
-17
0
0
0
0
0
0
0
-43
45
20
43
68
-33
45
41
-3
0
0
0
0
0
0
0
0
2
0
5
55
14
43
-7
33
-17
-7
0
0
0
0
0
0
0
0
-51
27
-17
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-3
-13
-26
0
0
0
0
0
0
0
0
0
0
0
0
31
-35
24
-80
14
5
0
0
0
0
0
0
0
0
0
0
35
7
72
-69
5
26
17
0
0
-17
0
0
0
0
0
0
0
0
38
-51
20
-35
62
56
15
0
-2
0
0
0
0
0
0
0
50
23
35
40
19
-49
-34
27
6
0
0
0
0
0
0
0
0
0
55
-6
81
3
99
-83
-9
-19
19
0
0
0
0
0
0
0
-13
-5
42
30
29
25
56
-7
-29
18
0
0
0
0
0
0
0
0
-43
0
23
46
31
-74
-25
7
3
0
0
0
0
0
0
0
0
-4
2
4
18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
48
0
-24
0
0
0
0
0
0
0
0
0
0
0
2
-1
-23
-4
43
0
0
0
0
0
0
0
0
0
0
0
-4
-10
-25
-18
-17
8
0
2
0
0
0
0
0
0
0
0
0
0
-30
38
-10
60
-7
0
0
4
0
0
0
0
0
0
0
0
60
-17
-47
6
-44
1
51
-4
4
0
0
0
0
0
0
0
0
0
31
3
14
53
22
21
3
10
0
0
0
0
0
0
0
0
23
-1
-3
-5
33
1
-7
-43
-3
0
0
0
0
0
0
0
0
0
-20
-9
0
-45
-1
-20
7
0
2
0
0
0
0
0
0
0
0
0
-31
10
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
28
0
-21
-11
-5
0
0
0
0
0
0
0
0
0
0
0
51
-10
14
9
-3
0
0
0
0
0
0
0
0
0
0
0
5
-8
17
-109
-19
-5
3
0
0
0
0
0
0
0
0
0
0
0
14
-107
-12
-13
-13
10
2
0
0
0
0
0
0
0
0
0
43
-4
-3
54
-2
31
-59
18
7
-7
0
0
0
0
0
0
0
0
-3
26
-10
65
15
-6
-2
4
-3
0
0
0
0
0
0
0
-4
-11
19
9
-37
-7
14
-11
-1
-23
0
0
0
0
0
0
0
0
15
13
24
0
-9
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
10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
76
-8
-19
14
4
0
0
0
0
0
0
0
0
0
0
0
-76
0
-41
-17
6
-15
0
0
0
0
0
0
0
0
0
0
0
0
79
-2
43
7
17
-7
0
0
0
0
0
0
0
0
0
0
-8
0
-43
-45
-37
5
24
-5
-1
2
0
0
0
0
0
0
0
0
-10
2
-36
2
13
10
-1
4
0
0
0
0
0
0
0
0
3
0
-14
7
-17
0
1
0
-5
0
0
0
0
0
0
0
0
0
-2
-4
-10
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-4
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-26
4
3
0
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
0
5
3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
3
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
-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
-8
0
23
0
-16
0
0
0
0
0
0
0
0
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
29
0
-3
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
8
-2
15
3
1
0
0
0
0
0
0
0
0
0
0
0
3
10
-28
0
-43
-21
3
0
-6
0
0
0
0
0
0
0
0
0
9
6
31
4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-14
9
0
0
0
1
0
0
0
0
0
0
0
0
3
0
-5
-1
-5
-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
0
0
0
0
0
9
0
-1
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
7
-5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
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
7
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
-3
0
-5
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
30
0
165
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
47
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-3
44
-6
-18
1
0
-2
0
0
0
0
0
0
0
0
62
0
23
0
2
3
-4
0
0
0
0
0
0
0
0
0
0
0
35
0
51
1
11
8
0
0
0
0
0
0
0
0
0
0
0
0
102
0
-27
0
1
0
-15
0
0
0
0
0
0
0
0
0
7
0
-25
0
-2
0
-23
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-1
-23
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
0
0
0
0
0
0
3
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
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
47
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
77
9
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
4
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-9
0
-29
0
0
-1
0
0
0
0
0
0
0
0
2
0
-66
0
-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
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
31
3
1
31
7
0
0
0
0
0
0
0
0
0
1
61
-92
59
7
16
-73
43
44
0
0
0
0
0
0
0
0
1
-22
2
-28
17
13
41
-27
-8
0
0
0
0
0
0
0
0
-3
0
5
-1
54
21
-8
-5
72
0
0
0
0
0
0
0
0
1
2
-1
50
-23
-33
13
-21
77
0
0
0
0
0
0
0
0
0
0
0
-15
-4
91
-50
34
-1
0
0
0
0
0
0
0
0
0
-3
-6
-35
9
-46
-22
30
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-19
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
-74
0
-29
-15
-42
-102
-18
-24
0
-1
0
0
0
0
0
0
0
31
11
47
26
-60
-26
-14
-4
17
-136
0
0
0
0
0
0
0
-39
1
55
86
-4
-53
14
-24
-12
-37
0
0
0
0
0
0
0
-31
-43
81
-60
41
-7
17
4
-21
45
0
0
0
0
0
0
0
-23
-16
-91
2
12
-89
-9
40
-4
-31
0
0
0
0
0
0
0
0
-9
45
47
25
2
48
-16
35
2
0
0
0
0
0
0
0
0
39
49
58
2
53
52
-17
14
-20
0
0
0
0
0
0
0
0
26
0
-14
14
-88
-32
-15
55
-65
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
16
0
33
-28
-110
-101
-70
0
-19
8
0
0
0
0
0
0
-19
42
-60
139
-43
-80
-2
-54
-31
5
1
0
0
0
0
0
0
6
-12
14
-29
146
-121
-65
-23
-2
-60
1
0
0
0
0
0
0
0
-19
-45
91
-118
-13
-10
0
15
-17
-32
0
0
0
0
0
0
0
74
0
-5
35
-52
28
12
-3
20
0
0
0
0
0
0
0
0
-18
10
-24
65
32
17
52
25
-6
-48
0
0
0
0
0
0
0
-27
8
18
-35
82
16
-24
44
42
0
0
0
0
0
0
0
0
-45
-19
-59
-8
-42
-58
-25
24
104
0
0
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
-58
-13
-24
62
0
-45
2
0
0
0
0
0
0
26
-32
150
-30
110
-10
-6
-43
3
1
20
0
0
0
0
0
0
4
44
-23
3
-27
42
14
82
25
28
-7
0
0
0
0
0
0
-41
43
31
-24
5
14
93
19
-3
-45
10
0
0
0
0
0
0
-23
66
-51
-1
81
21
-14
103
-40
15
1
0
0
0
0
0
0
0
-3
0
-2
4
-37
-5
-9
-24
31
-1
-2
0
0
0
0
0
0
2
-1
0
29
-19
27
-4
10
60
-1
0
0
0
0
0
0
0
0
2
0
5
-53
-43
25
-34
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
-6
0
-12
-5
-21
0
-20
-2
-1
0
0
0
0
0
-4
-59
-81
130
4
25
-21
-35
-45
-48
14
0
0
0
0
0
0
-2
13
49
47
-21
39
-16
-54
9
-92
-20
1
0
0
0
0
0
0
-55
60
58
-64
-27
-24
53
-30
25
2
0
0
0
0
0
0
0
80
-26
-15
23
-23
-35
-15
71
-44
-1
0
0
0
0
0
0
0
5
-24
6
-5
-17
-53
28
-62
-10
-7
0
0
0
0
0
0
0
-7
25
1
25
33
0
-82
-62
-14
0
0
0
0
0
0
0
0
0
3
0
1
18
-71
-42
32
-25
0
0
0
0
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
52
-78
0
-25
10
0
0
0
0
0
0
0
-7
-69
62
53
106
2
38
-20
31
-23
0
0
0
0
0
0
0
-2
-46
14
-96
11
-5
91
-21
-46
-2
0
0
0
0
0
0
4
4
49
-5
-3
-57
-34
33
-42
18
48
0
0
0
0
0
0
1
32
-9
1
-57
55
28
-75
43
60
-15
0
0
0
0
0
0
0
-4
0
-9
6
94
51
31
33
-65
6
0
0
0
0
0
0
0
0
3
-1
19
-53
-6
77
-14
-2
0
0
0
0
0
0
0
0
0
0
0
4
-39
-2
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
21
0
-5
0
0
0
0
0
0
0
0
107
29
7
0
0
-24
-1
-64
-35
1
0
0
0
0
0
0
0
39
0
51
0
-29
49
73
-100
-11
3
0
0
0
0
0
0
0
0
6
0
19
71
-143
70
-79
-13
0
0
0
0
0
0
0
0
8
-1
0
-2
1
-15
-10
23
-73
2
0
0
0
0
0
0
0
10
1
-1
0
-9
-96
-14
-7
25
3
0
0
0
0
0
0
0
0
14
0
3
-13
10
-154
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-27
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-127
127
-117
53
-60
-21
-35
49
0
0
0
0
0
0
0
0
0
-1
-100
-60
66
-75
-14
-70
10
41
0
0
0
0
0
0
0
0
-14
-8
32
52
86
26
-4
-23
36
0
0
0
0
0
0
0
0
-21
-14
1
31
104
-32
-51
39
33
0
0
0
0
0
0
0
0
-8
-3
17
-13
65
8
-46
1
43
0
0
0
0
0
0
0
0
-1
66
2
11
-17
6
46
-33
-3
0
0
0
0
0
0
0
0
-11
-26
6
-9
-62
19
63
-7
-38
0
0
0
0
0
0
0
0
0
9
0
1
0
3
43
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
13
0
0
0
0
0
0
0
0
0
0
-47
216
-46
-30
-44
-13
-28
0
-9
0
0
0
0
0
0
0
-44
9
-19
-81
50
-40
-29
5
-6
-77
0
0
0
0
0
0
0
-39
1
92
-111
-42
-7
1
-35
21
-50
0
0
0
0
0
0
0
32
44
-92
-44
-7
27
-7
8
-10
-15
0
0
0
0
0
0
0
-43
48
-55
14
20
-41
10
25
26
45
0
0
0
0
0
0
0
-18
34
-21
11
31
6
16
3
-66
18
0
0
0
0
0
0
0
47
-8
36
-79
-62
11
32
22
23
-15
0
0
0
0
0
0
0
-1
2
0
-53
17
-27
-5
42
56
110
0
0
0
0
0
0
0
0
0
-2
0
30
0
-43
2
6
0
0
0
0
0
0
0
0
23
57
30
147
-40
30
-18
-46
0
-1
11
0
0
0
0
0
0
77
-62
-6
-100
-111
-46
-36
-6
-7
-34
49
0
0
0
0
0
0
18
-100
-45
58
-53
-6
-67
-17
1
-18
5
0
0
0
0
0
0
1
-83
63
-152
-34
-47
10
-1
-20
-3
-10
0
0
0
0
0
0
-2
10
-17
36
-74
-20
-15
-1
-16
-50
-15
0
0
0
0
0
0
0
42
21
118
-31
-57
14
-21
7
-5
1
0
0
0
0
0
0
0
3
7
-2
-15
-60
18
-29
-1
67
-2
0
0
0
0
0
0
0
5
0
-1
9
37
-58
-44
43
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-3
1
0
0
0
0
0
0
0
4
-155
103
13
-2
-30
8
11
0
-47
-38
0
0
0
0
0
0
-54
163
-34
34
13
40
-22
24
-15
-65
-23
0
0
0
0
0
0
148
-39
37
-68
8
-22
9
-13
46
-38
37
-3
0
0
0
0
0
23
4
-83
-11
-85
-36
5
38
-1
-14
33
0
0
0
0
0
0
53
-92
71
-43
41
-84
20
-22
40
-22
25
-5
0
0
0
0
0
2
0
-15
-17
-66
27
-12
-11
15
94
25
0
0
0
0
0
0
-1
5
-10
-1
24
0
17
0
-116
-44
5
0
0
0
0
0
0
3
-1
4
-8
-25
-103
-76
-20
-51
-8
0
0
0
0
0
0
0
0
0
0
0
0
-4
-46
-24
0
0
0
0
0
0
0
0
0
57
-104
-65
68
-33
64
-34
-37
0
15
-4
0
0
0
0
0
0
30
40
43
-11
-140
59
-32
-3
4
-109
20
-2
0
0
0
0
0
15
-18
-66
93
-97
26
-53
9
32
-30
17
0
0
0
0
0
0
11
-18
53
-6
-19
69
-1
59
37
-46
14
-3
0
0
0
0
0
21
18
0
13
-5
72
-8
-17
-26
6
1
14
0
0
0
0
0
-3
10
46
85
6
-33
-40
4
-48
-8
-6
0
0
0
0
0
0
0
-4
-5
1
-50
-4
-57
-46
-16
29
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
3
-15
18
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-3
0
0
0
0
0
0
0
0
17
13
6
22
10
32
-11
-19
0
-43
-17
0
0
0
0
0
0
-2
-1
37
-5
19
46
-58
19
-7
56
21
0
0
0
0
0
0
4
-13
35
47
-84
1
-35
-8
26
53
6
-1
0
0
0
0
0
17
-27
-32
92
-43
21
70
26
24
22
10
-1
0
0
0
0
0
3
-25
63
35
-2
7
-7
-24
16
29
9
4
-1
0
0
0
0
0
45
54
6
-36
-87
0
-70
23
-20
14
1
0
0
0
0
0
-4
0
0
2
8
-37
36
-21
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-17
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-4
24
-4
21
-3
0
-24
-4
0
0
0
0
0
0
0
-2
-11
-5
19
-52
23
-30
45
13
14
0
0
0
0
0
0
0
76
-1
-36
-39
23
50
89
-28
75
-27
0
0
0
0
0
0
0
2
0
-10
9
-38
-57
-4
-14
14
1
0
0
0
0
0
0
0
3
0
-1
10
13
5
21
-15
-49
-4
-2
0
0
0
0
0
0
0
-8
0
-2
37
-42
-77
-50
-33
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-44
55
20
-27
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-15
-21
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
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
29
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-14
-3
-13
-10
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
16
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
85
-1
0
17
39
31
21
0
0
0
0
0
0
0
0
0
10
-98
-67
0
-11
26
-53
28
55
0
0
0
0
0
0
0
0
7
-24
15
-53
130
-50
12
6
-56
0
0
0
0
0
0
0
0
-4
14
5
-77
5
-59
-29
61
-3
0
0
0
0
0
0
0
0
6
-7
10
78
37
27
-14
-42
22
0
0
0
0
0
0
0
0
-3
9
6
-63
-35
30
-32
-8
0
0
0
0
0
0
0
0
0
0
-17
0
0
2
71
15
22
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
0
0
0
0
0
0
0
0
0
0
11
0
53
62
21
-30
31
7
0
90
0
0
0
0
0
0
0
3
-30
91
44
-1
10
7
21
34
-18
0
0
0
0
0
0
0
-98
-20
12
91
18
31
29
15
7
-23
0
0
0
0
0
0
0
30
122
109
4
0
-22
21
18
5
-45
0
0
0
0
0
0
0
-5
-22
51
-11
12
51
-17
48
18
-43
0
0
0
0
0
0
0
39
77
-106
-31
-38
34
22
4
43
20
0
0
0
0
0
0
0
20
0
-79
-7
52
51
25
24
18
-13
0
0
0
0
0
0
0
0
0
-5
10
-74
28
18
14
-39
0
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
10
3
-12
-11
-43
-26
5
0
6
-3
0
0
0
0
0
0
-73
32
12
98
19
26
-7
9
15
4
-19
0
0
0
0
0
0
-3
-5
6
-48
-9
-48
6
-20
-8
-19
-1
0
0
0
0
0
0
-25
24
29
62
12
22
-3
7
-17
-23
0
0
0
0
0
0
0
-1
-32
104
-12
60
-65
1
-11
17
18
5
0
0
0
0
0
0
0
-15
-59
-22
89
-97
-3
18
0
-43
2
0
0
0
0
0
0
0
-46
-8
37
-68
-87
88
5
-21
-25
0
0
0
0
0
0
0
0
-1
-4
0
14
-58
-80
107
44
18
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
2
0
0
0
0
0
0
0
0
0
-58
37
54
-5
-57
94
5
17
0
-24
5
0
0
0
0
0
0
0
-33
105
63
-14
-36
5
6
43
-62
-2
1
0
0
0
0
0
18
-19
20
49
-15
-6
17
12
10
-47
-22
0
0
0
0
0
0
29
-55
110
-76
3
-96
-24
-4
-13
-7
-46
0
0
0
0
0
0
-51
62
9
5
-66
30
-8
7
-54
73
-16
1
0
0
0
0
0
0
52
3
7
-26
-30
-78
-11
6
52
-13
0
0
0
0
0
0
0
-10
21
1
-42
37
-11
5
11
23
-2
0
0
0
0
0
0
0
0
0
0
5
-96
-14
-53
2
25
0
0
0
0
0
0
0
0
0
0
0
6
-4
1
0
0
0
0
0
0
0
0
0
0
-6
-116
3
172
-17
26
0
5
0
-6
18
19
0
0
0
0
0
-13
-100
40
8
-16
47
-9
-27
25
-104
-31
-8
0
0
0
0
0
2
34
1
-80
-2
-23
-34
-22
13
-63
6
0
0
0
0
0
0
9
-70
31
107
8
-5
-24
-4
-41
-77
-10
4
0
0
0
0
0
14
-98
57
-69
-47
-34
-28
-39
-42
-19
-21
0
0
0
0
0
0
1
-42
66
64
-5
-12
-75
66
-52
-22
3
0
0
0
0
0
0
0
0
4
45
0
-13
-48
-34
54
37
2
0
0
0
0
0
0
0
0
0
0
0
-5
2
-10
5
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
-17
41
37
23
-58
28
-34
0
-85
22
0
0
0
0
0
0
25
58
24
-5
-53
8
89
33
54
-47
-26
0
0
0
0
0
0
-2
11
20
14
-36
82
67
20
31
3
-7
0
0
0
0
0
0
-8
139
75
52
109
81
66
31
-10
7
-2
0
0
0
0
0
0
-27
-6
35
37
24
29
-25
-54
-5
-15
-8
0
0
0
0
0
0
0
-1
8
3
29
-110
-5
24
3
-55
-1
0
0
0
0
0
0
0
0
1
-2
-4
-9
56
37
-20
25
-2
0
0
0
0
0
0
0
0
1
0
0
-15
0
42
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
-72
48
6
0
-3
6
2
0
0
0
0
0
0
2
0
-2
-24
84
112
14
-4
-42
18
0
0
0
0
0
0
0
3
-1
14
-24
48
74
-52
25
17
2
0
0
0
0
0
0
0
-20
45
-21
-58
47
9
-16
-74
36
-4
0
0
0
0
0
0
0
1
2
0
-5
-47
-32
-13
-51
34
4
0
0
0
0
0
0
0
0
4
0
13
-10
23
21
-75
0
-2
0
0
0
0
0
0
0
0
-4
3
0
0
-36
36
8
13
-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
18
2
15
15
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
9
-11
0
0
0
0
0
0
0
0
0
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
1
0
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
-7
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
-1
11
-33
33
-6
-52
0
0
0
0
0
0
0
0
0
-1
2
0
-1
44
6
-40
-5
0
0
0
0
0
0
0
0
0
-1
-1
3
-11
9
15
-4
-23
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
-9
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
25
5
32
0
9
0
0
0
0
0
0
0
0
-1
2
-6
-3
-25
-8
4
4
83
0
0
0
0
0
0
0
0
-26
6
-8
56
-10
12
-1
59
-9
0
0
0
0
0
0
0
0
-6
3
-5
-1
-27
0
-48
-21
10
0
0
0
0
0
0
0
0
4
-3
-1
-10
8
-1
-1
20
13
0
0
0
0
0
0
0
0
-3
4
9
0
-5
0
35
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-24
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
24
0
-4
-7
-81
-31
-9
0
0
0
0
0
0
0
0
0
1
-8
23
-53
71
8
-79
13
-14
0
0
0
0
0
0
0
0
-1
26
-1
90
-14
-63
-26
68
-38
0
0
0
0
0
0
0
0
0
0
3
8
-8
76
-82
1
-21
0
0
0
0
0
0
0
0
0
5
-1
-18
14
71
27
80
-2
0
0
0
0
0
0
0
0
0
-3
9
-7
25
-7
13
61
-2
0
0
0
0
0
0
0
0
0
0
4
86
17
135
-31
-9
5
0
0
0
0
0
0
0
0
0
0
0
11
0
-51
-3
-15
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
-23
-5
9
-99
-14
24
6
9
0
47
0
0
0
0
0
0
0
-45
66
25
14
-56
3
23
38
27
-42
0
0
0
0
0
0
0
78
136
84
-6
-1
-49
7
-13
10
-2
0
0
0
0
0
0
0
5
14
49
35
-74
10
-24
11
-12
67
0
0
0
0
0
0
0
19
75
-16
-69
-53
45
12
5
85
-28
0
0
0
0
0
0
0
-22
3
34
14
-37
25
-79
17
27
13
0
0
0
0
0
0
0
22
25
104
46
28
-66
41
-18
-11
5
0
0
0
0
0
0
0
0
2
-11
0
-13
38
48
54
-19
-4
0
0
0
0
0
0
0
0
0
0
-6
9
-1
0
6
0
0
0
0
0
0
0
0
0
0
-130
29
121
-26
5
9
8
0
-44
9
0
0
0
0
0
0
43
-41
32
16
-2
-18
22
10
17
-44
13
0
0
0
0
0
0
-15
89
36
-19
-115
48
21
10
-11
-29
-1
0
0
0
0
0
0
0
96
3
-10
-125
-138
-38
-33
-5
-15
-5
0
0
0
0
0
0
61
7
-13
-109
33
22
-24
-14
-33
70
0
0
0
0
0
0
0
-4
117
80
4
89
-9
18
-9
-49
37
-4
0
0
0
0
0
0
0
-43
36
72
-60
12
78
-17
-1
37
-2
0
0
0
0
0
0
0
-22
0
-5
1
-1
15
-43
87
80
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
10
4
0
0
0
0
0
0
0
0
33
7
3
33
-44
13
106
85
0
-4
14
0
0
0
0
0
0
-47
-5
-60
20
-68
43
-5
44
37
-10
1
0
0
0
0
0
0
-52
-19
103
-49
-79
10
18
-5
-24
-19
9
0
0
0
0
0
0
27
11
-10
-5
-114
-32
-55
3
-31
-38
-16
0
0
0
0
0
0
56
90
20
-17
-114
-48
-3
-1
-46
-29
1
0
0
0
0
0
0
2
61
109
-17
-32
51
-44
51
60
61
14
-1
0
0
0
0
0
0
17
-44
3
62
-17
139
32
22
-32
0
0
0
0
0
0
0
0
2
-5
3
11
26
-54
62
-65
10
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
17
37
7
-74
-20
-38
24
0
35
6
-4
0
0
0
0
0
21
-57
-33
-34
-31
16
30
4
51
12
5
0
0
0
0
0
0
-5
64
-45
75
15
-29
17
-2
-19
-62
0
0
0
0
0
0
0
-2
-7
-58
-23
-24
-34
-23
-52
-23
-32
-6
2
0
0
0
0
0
-5
-108
-33
-54
-87
-24
-18
22
-69
-74
0
-2
0
0
0
0
0
0
-43
96
-18
-26
12
109
39
-12
70
0
0
0
0
0
0
0
0
5
-1
-7
-23
-24
17
101
-68
0
0
0
0
0
0
0
0
0
-1
0
-2
0
57
10
-53
5
0
0
0
0
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
-72
-23
8
-47
0
33
-31
0
0
0
0
0
0
9
29
-31
31
-72
73
98
21
54
-14
77
0
0
0
0
0
0
0
-19
-30
23
50
31
41
34
33
-57
17
0
0
0
0
0
0
0
-6
0
-17
41
-11
-31
-13
-51
6
9
0
0
0
0
0
0
49
16
15
-2
-34
-6
8
10
-27
-19
10
-8
0
0
0
0
0
0
2
13
13
-68
6
-54
94
25
86
3
0
0
0
0
0
0
0
1
-9
-4
-24
-35
23
-3
-25
11
2
0
0
0
0
0
0
0
0
8
0
0
9
-11
-29
33
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
-32
-4
18
0
56
7
0
0
0
0
0
0
0
-8
0
-2
-9
18
25
39
-19
52
68
2
0
0
0
0
0
0
-9
1
-8
-53
34
-123
97
36
-42
14
0
0
0
0
0
0
0
4
0
-11
-1
-6
3
-34
17
23
5
0
0
0
0
0
0
0
-1
-4
-6
17
4
-120
79
6
-47
0
0
0
0
0
0
0
0
-11
-1
-1
-3
74
-10
71
2
-3
-2
0
0
0
0
0
0
0
0
0
0
-18
2
-28
-4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
19
4
-13
0
45
0
0
0
0
0
0
0
0
1
0
0
0
36
-33
74
-24
1
21
0
0
0
0
0
0
0
0
0
-1
10
14
1
10
6
19
0
0
0
0
0
0
0
-1
1
0
0
-1
-48
0
6
-52
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
-13
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
-9
8
1
6
-27
-6
-10
-48
0
-8
0
0
0
0
0
0
0
-5
-26
-14
18
-5
-15
0
27
-33
-14
0
0
0
0
0
0
0
0
-1
-5
1
-24
-45
104
-5
17
-1
0
0
0
0
0
0
0
-46
4
0
2
11
-84
-48
41
-3
-62
0
0
0
0
0
0
0
1
-15
-3
5
6
14
41
-5
57
0
0
0
0
0
0
0
0
0
0
-1
8
15
-36
0
-5
-1
0
0
0
0
0
0
0
0
0
5
-4
1
3
0
25
-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
18
1
0
-3
13
-52
-81
0
3
0
0
0
0
0
0
0
0
-60
-3
-10
-47
-33
-48
17
53
-6
0
0
0
0
0
0
0
0
-20
1
-21
13
-61
31
39
65
-8
0
0
0
0
0
0
0
0
10
-5
-3
-33
6
-149
60
23
0
0
0
0
0
0
0
0
0
11
0
-9
1
-34
-51
4
0
-7
0
0
0
0
0
0
0
0
-4
-8
1
7
-2
2
19
16
-3
0
0
0
0
0
0
0
0
0
10
-3
-6
1
0
9
41
5
0
0
0
0
0
0
0
0
0
1
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
-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
13
-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
43
-64
30
51
0
0
0
0
0
0
0
0
0
0
-7
5
7
-56
19
-53
37
27
0
0
0
0
0
0
0
0
0
1
0
-74
-92
-62
-26
-16
-48
0
0
0
0
0
0
0
0
0
47
0
-20
45
-31
124
-37
-18
0
0
0
0
0
0
0
0
0
0
0
-16
32
10
7
-59
-3
0
0
0
0
0
0
0
0
-1
-5
-78
18
55
58
-30
-16
-1
0
0
0
0
0
0
0
0
0
30
0
2
46
-32
4
1
54
0
0
0
0
0
0
0
0
0
-2
-1
-5
0
58
-20
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
33
2
0
0
0
0
0
0
0
0
0
-9
-17
-128
8
-10
106
-3
-23
0
33
0
0
0
0
0
0
0
33
5
-45
32
-49
20
40
29
-4
75
0
0
0
0
0
0
0
28
27
42
9
62
30
12
-29
-2
-32
0
0
0
0
0
0
0
-7
40
28
-119
-22
3
4
-24
6
40
0
0
0
0
0
0
0
-11
0
7
30
6
5
-28
42
-23
-12
0
0
0
0
0
0
0
53
-33
62
7
50
22
-21
-2
-11
59
0
0
0
0
0
0
0
-10
0
26
-19
-102
3
14
-38
-4
-1
0
0
0
0
0
0
0
0
0
1
13
19
30
-24
6
-32
-10
0
0
0
0
0
0
0
0
0
0
0
-7
0
66
-5
-15
0
0
0
0
0
0
0
0
0
-26
-19
-155
54
-16
22
-10
0
-29
0
0
0
0
0
0
0
0
-33
-7
25
-37
44
-10
7
30
-24
123
0
0
0
0
0
0
0
27
24
32
55
-2
0
-18
32
12
-2
0
0
0
0
0
0
-7
50
-16
-102
73
-5
14
5
-65
-18
-33
0
0
0
0
0
0
0
35
0
-21
-53
-51
-2
-27
-2
-40
0
0
0
0
0
0
0
11
114
-50
2
-17
55
3
-11
0
69
2
0
0
0
0
0
0
3
51
-19
7
34
-56
16
-34
-40
-69
0
0
0
0
0
0
0
0
-16
23
-18
3
100
7
1
-16
6
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-1
-4
-41
34
23
49
0
16
7
0
0
0
0
0
0
-5
-4
21
27
-44
-36
19
10
25
-74
77
0
0
0
0
0
0
-1
66
32
-29
-67
-110
24
-6
-49
46
10
0
0
0
0
0
0
23
-34
44
30
-38
82
81
14
27
28
2
0
0
0
0
0
0
-10
5
-1
0
-16
-6
17
-23
-15
-48
-3
0
0
0
0
0
0
-7
28
-56
-3
-53
-18
17
-10
-24
-33
6
0
0
0
0
0
0
-2
71
115
0
33
24
83
96
-5
-1
10
0
0
0
0
0
0
2
-5
0
14
-37
-63
18
-70
80
16
0
0
0
0
0
0
0
0
0
0
0
-9
0
-78
-1
-19
1
0
0
0
0
0
0
0
0
9
2
-7
-14
-23
-5
-7
0
-3
-2
0
0
0
0
0
0
0
52
87
-13
-75
66
26
12
9
-16
35
6
0
0
0
0
0
1
17
-34
3
-33
-54
110
-20
30
13
13
0
0
0
0
0
0
0
-91
22
-4
-70
-91
19
84
-34
-91
-2
0
0
0
0
0
0
0
21
-5
-3
0
15
-13
20
-45
-62
1
2
0
0
0
0
0
-7
-10
-20
46
-21
-19
77
6
4
-49
-24
0
0
0
0
0
0
10
40
100
-54
-11
-55
102
-26
-16
-5
0
0
0
0
0
0
0
0
-3
-6
-5
-2
53
97
82
30
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
2
0
2
2
-43
-17
-73
-46
0
14
3
0
0
0
0
0
0
0
-2
-14
14
60
-57
-81
-51
8
-51
-3
0
0
0
0
0
0
0
22
-3
31
6
-59
-15
-12
63
56
-7
0
0
0
0
0
0
-4
33
-25
27
-75
116
22
7
83
-58
-21
0
0
0
0
0
0
0
-29
8
-1
-37
0
-5
-4
-10
-33
0
0
0
0
0
0
0
5
9
-34
-66
-6
-2
7
13
23
-65
2
0
0
0
0
0
0
6
4
13
36
20
-6
104
-6
34
1
0
0
0
0
0
0
0
0
-5
0
-45
0
-57
15
74
-1
-9
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
-18
0
-2
53
-57
-122
0
33
-5
0
0
0
0
0
0
0
-6
-2
0
10
-1
39
42
25
-7
-4
0
0
0
0
0
0
0
73
5
0
11
66
-77
14
59
-92
-1
0
0
0
0
0
0
0
6
-14
-1
-64
-32
37
-5
-2
-120
-3
0
0
0
0
0
0
0
0
0
-5
-2
2
0
50
16
-17
1
-4
0
0
0
0
0
0
1
3
3
8
-7
-92
60
59
11
-2
0
0
0
0
0
0
0
0
-18
2
0
-5
43
-2
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
-29
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
5
-6
14
24
-3
0
-9
0
0
0
0
0
0
0
0
2
0
8
2
10
39
-45
-7
5
0
0
0
0
0
0
0
-2
0
-2
6
9
2
-16
55
-5
11
0
0
0
0
0
0
0
3
0
1
-34
-5
-25
2
-37
1
-4
0
0
0
0
0
0
0
1
0
0
1
7
-7
5
0
-21
-5
0
0
0
0
0
0
0
-1
2
-1
-5
1
-10
2
-51
1
0
8
0
0
0
0
0
0
0
0
7
0
33
1
-9
7
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-46
0
-11
0
0
0
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
14
26
13
-66
-96
-7
0
-5
0
0
0
0
0
0
0
-7
-1
-4
54
-24
56
8
6
23
-17
1
0
0
0
0
0
0
1
-14
1
-6
1
-3
29
74
-26
2
0
0
0
0
0
0
0
25
5
-5
-5
-68
-38
-89
-21
14
0
0
0
0
0
0
0
0
-6
3
2
-23
33
-79
-66
-59
0
-5
0
0
0
0
0
0
0
0
-11
-7
-3
-11
28
10
24
19
7
0
0
0
0
0
0
0
2
-3
0
0
35
-18
24
6
-6
-2
0
0
0
0
0
0
0
0
-5
-1
5
-6
5
-1
10
-11
0
0
0
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
6
-8
7
-33
10
0
-6
0
0
0
0
0
0
0
0
32
-5
-19
-52
57
104
21
23
-71
0
0
0
0
0
0
0
0
-17
9
-20
71
33
156
13
-75
-5
0
0
0
0
0
0
0
0
11
13
-19
17
27
124
57
-2
-50
0
0
0
0
0
0
0
0
4
0
47
-25
33
21
63
59
0
0
0
0
0
0
0
0
0
-43
11
1
-80
34
18
-148
0
-28
0
0
0
0
0
0
0
0
8
18
-5
13
6
-55
0
43
1
0
0
0
0
0
0
0
0
0
0
0
0
-49
-11
17
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
-49
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
23
0
-43
0
0
0
0
0
0
0
0
-3
-1
0
0
1
-4
0
13
2
0
0
0
0
0
0
0
0
0
0
0
-1
10
-13
-15
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
10
0
-2
-5
-29
33
31
0
0
0
0
0
0
0
0
0
0
3
-1
-4
13
18
26
-4
-5
0
0
0
0
0
0
0
0
0
-5
0
-1
50
-8
9
-63
-30
0
0
0
0
0
0
0
0
0
-2
-2
-18
-10
-12
-27
-24
2
0
0
0
0
0
0
0
0
0
-10
-23
26
-5
16
28
20
27
0
0
0
0
0
0
0
0
0
9
4
7
-15
-57
-23
-1
0
0
0
0
0
0
0
0
0
0
17
13
-6
-53
-15
1
0
20
0
0
0
0
0
0
0
0
0
-47
-3
10
0
-10
-4
22
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-16
-10
-1
0
0
0
0
0
0
0
0
1
0
29
96
59
29
49
-34
0
-27
0
0
0
0
0
0
0
-36
31
-47
-58
-82
12
-39
-5
2
16
0
0
0
0
0
0
0
-14
5
-5
-13
67
-15
8
25
-35
14
0
0
0
0
0
0
0
-14
-3
-60
106
-6
-49
11
7
21
36
0
0
0
0
0
0
0
80
126
-21
-10
23
-18
-2
30
4
61
0
0
0
0
0
0
0
0
0
-17
5
-71
-13
-42
-9
-10
-12
0
0
0
0
0
0
0
-1
-3
-51
-41
-23
37
16
-112
50
-4
0
0
0
0
0
0
0
-2
9
37
-92
7
-12
-30
-19
-1
14
0
0
0
0
0
0
0
0
0
0
0
74
-1
-38
-3
0
0
0
0
0
0
0
0
0
0
9
4
-2
-16
-34
20
49
0
-40
-6
0
0
0
0
0
0
0
-53
33
-9
-71
14
31
22
49
-14
-23
0
0
0
0
0
0
0
19
11
2
-44
82
22
1
-1
-6
-6
0
0
0
0
0
0
2
49
-2
-1
90
-40
0
23
16
-29
14
0
0
0
0
0
0
36
16
-31
28
-49
-49
-11
3
-75
0
-1
0
0
0
0
0
0
0
-6
0
17
83
-67
0
-6
-6
-128
0
0
0
0
0
0
0
-1
119
1
20
-35
-34
-2
2
-25
-5
0
0
0
0
0
0
0
0
2
0
-68
-17
-22
56
-27
-64
30
0
0
0
0
0
0
0
0
0
0
0
5
0
-32
20
0
0
0
0
0
0
0
0
0
0
-6
0
-34
-16
-101
-10
46
0
16
-3
0
0
0
0
0
0
0
-5
3
43
-61
27
27
-1
36
22
37
0
0
0
0
0
0
4
4
9
-1
-37
-10
16
-3
-11
26
33
0
0
0
0
0
0
-25
8
34
-53
43
33
20
23
35
0
20
0
0
0
0
0
0
-10
-53
26
42
-62
-1
56
78
-17
55
-2
0
0
0
0
0
0
-4
1
21
0
-54
-109
-99
25
-17
-14
6
0
0
0
0
0
0
0
15
86
-11
-127
-78
13
-37
20
-37
0
0
0
0
0
0
0
0
-3
5
17
11
23
-71
26
-31
-10
0
0
0
0
0
0
0
0
0
0
0
8
-25
19
-5
0
0
0
0
0
0
0
0
0
1
-3
10
-26
44
30
-31
39
0
27
8
0
0
0
0
0
0
0
13
-20
11
10
40
47
-4
23
25
29
0
0
0
0
0
0
0
-61
2
16
-76
-131
33
80
42
39
0
0
0
0
0
0
0
13
31
57
-107
-5
-8
1
-5
28
-35
0
0
0
0
0
0
0
-5
-68
25
-16
38
-92
41
34
-38
-20
0
0
0
0
0
0
0
0
-14
52
0
0
-17
-27
-20
-25
-120
5
0
0
0
0
0
0
0
0
-60
-18
-31
98
23
20
-19
-46
0
0
0
0
0
0
0
0
-8
35
-7
0
-47
27
11
-98
-29
0
0
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
-27
1
-64
39
0
16
0
0
0
0
0
0
0
0
45
-1
-25
3
-29
-123
5
-42
55
56
0
0
0
0
0
0
2
5
20
-3
-8
12
34
-16
-5
12
14
0
0
0
0
0
0
-2
-1
1
6
42
54
26
62
-65
-8
48
0
0
0
0
0
0
4
-83
-6
-3
-46
-11
6
37
9
24
2
0
0
0
0
0
0
0
0
6
0
1
0
1
-24
18
43
-5
0
0
0
0
0
0
0
1
18
26
-16
-9
-14
-38
14
20
0
0
0
0
0
0
0
0
0
-3
0
2
-32
24
14
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-6
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-33
-50
-48
0
48
-4
0
0
0
0
0
0
0
-5
-1
-1
17
4
-53
-15
-123
48
1
0
0
0
0
0
0
0
-8
-1
0
4
-44
73
-12
37
14
2
0
0
0
0
0
0
0
-56
2
0
-27
69
-39
16
27
-55
-4
0
0
0
0
0
0
0
-29
-1
5
3
-1
17
-29
-53
-73
0
0
0
0
0
0
0
0
2
0
-7
-24
-27
0
-28
-5
44
1
0
0
0
0
0
0
0
0
45
21
-5
-3
71
3
20
-14
0
0
0
0
0
0
0
0
0
0
1
0
1
-11
-31
-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
1
0
0
1
2
-2
-25
5
0
-7
0
0
0
0
0
0
0
0
-5
0
0
0
-1
21
-10
18
-10
-51
0
0
0
0
0
0
0
-1
0
0
0
8
-1
-17
-74
-9
0
0
0
0
0
0
0
0
0
0
0
13
1
11
50
-49
0
0
0
0
0
0
0
0
0
0
6
0
-11
1
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-2
-2
0
23
7
-3
0
0
0
0
0
0
0
0
0
1
-3
26
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
-14
0
27
-36
-1
-55
0
-3
-1
0
0
0
0
0
0
2
-20
-8
1
36
13
-6
-15
-47
-65
2
0
0
0
0
0
0
-2
17
-1
7
-14
3
-14
-218
-99
-24
0
0
0
0
0
0
0
25
-43
2
10
-4
-17
99
-128
-52
-100
0
0
0
0
0
0
0
-13
36
-24
-20
31
-3
6
1
39
0
0
0
0
0
0
0
0
15
-35
-39
-51
-25
-66
14
-15
0
-11
0
0
0
0
0
0
0
4
-8
-8
14
26
-2
-47
5
-3
0
0
0
0
0
0
0
0
0
5
-1
-9
21
-9
1
8
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
-27
14
0
34
-5
0
0
0
0
0
0
0
-6
14
9
-37
7
-15
-30
-2
2
-3
0
0
0
0
0
0
0
-44
1
-10
-80
-2
47
-43
5
36
0
0
0
0
0
0
0
0
20
-2
-51
-3
-46
-69
24
42
-63
0
0
0
0
0
0
0
0
-20
-2
81
-9
-18
16
53
2
-21
0
0
0
0
0
0
0
0
-25
-7
-3
-14
-72
-71
-13
30
0
1
0
0
0
0
0
0
0
0
18
5
-45
-6
25
-51
2
-1
0
0
0
0
0
0
0
0
3
0
0
1
-3
5
45
-10
0
0
0
0
0
0
0
0
0
0
0
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
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
-10
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-76
-17
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
39
-13
-2
0
0
0
0
0
0
0
0
6
0
0
1
7
25
9
59
-4
0
0
0
0
0
0
0
0
0
0
1
0
1
-20
-7
-4
-6
0
0
0
0
0
0
0
0
0
5
-69
-3
-14
43
-15
41
0
0
0
0
0
0
0
0
0
0
9
0
0
-9
-18
81
-22
-10
0
0
0
0
0
0
0
0
0
0
48
-22
3
63
10
-9
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
-1
-55
-2
-59
-38
18
62
0
22
0
0
0
0
0
0
0
-2
0
-9
-45
24
28
8
-12
38
35
0
0
0
0
0
0
0
7
1
13
10
-15
-47
28
-35
12
-36
0
0
0
0
0
0
0
-10
0
-6
104
-27
24
15
11
-34
16
0
0
0
0
0
0
0
-10
-2
-62
-11
-23
0
-27
16
11
58
0
0
0
0
0
0
0
-8
-24
4
10
14
6
-2
0
1
-54
0
0
0
0
0
0
0
1
0
-3
138
-91
-61
5
5
-7
10
0
0
0
0
0
0
0
-5
0
-25
-69
-2
80
-64
12
-81
-24
0
0
0
0
0
0
0
0
0
0
0
11
0
32
1
-3
0
0
0
0
0
0
0
0
0
4
25
0
10
-73
75
14
0
42
0
0
0
0
0
0
0
0
14
-6
10
-100
44
-68
58
50
-11
36
0
0
0
0
0
0
0
51
-3
79
71
-76
35
13
3
-32
0
0
0
0
0
0
0
0
-1
5
124
-70
-15
-19
-6
-5
9
34
0
0
0
0
0
0
-7
-28
6
84
57
47
0
-11
-7
-12
0
0
0
0
0
0
0
0
3
-8
73
-58
-13
17
23
-40
-11
-6
0
0
0
0
0
0
0
5
0
-103
7
28
-27
-7
16
-43
0
0
0
0
0
0
0
0
128
-7
2
-72
-13
-53
6
0
20
0
0
0
0
0
0
0
0
0
0
0
2
3
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-4
-81
-46
35
-5
0
4
0
0
0
0
0
0
0
0
0
0
-41
-32
-18
35
30
55
-19
-44
0
0
0
0
0
0
4
29
13
7
-40
-111
-31
83
-6
-63
0
0
0
0
0
0
0
-4
4
3
-25
-84
22
-16
-22
-70
35
31
0
0
0
0
0
0
3
77
-28
-1
12
-134
31
-20
-16
-24
-1
0
0
0
0
0
0
-31
-41
55
-64
-53
24
75
60
14
-23
-86
0
0
0
0
0
0
6
7
-1
0
-42
-22
4
26
-67
-6
-6
0
0
0
0
0
0
1
2
-15
6
1
-110
13
-68
-14
9
0
0
0
0
0
0
0
0
0
2
0
-52
0
-8
5
17
0
0
0
0
0
0
0
0
0
0
-21
-5
4
-21
74
14
0
-23
0
0
0
0
0
0
0
1
-9
6
-1
-83
-12
-46
18
-6
62
113
0
0
0
0
0
0
0
-23
9
-3
6
-47
19
-29
107
-107
-2
0
0
0
0
0
0
7
27
33
60
-5
-10
-30
106
-80
17
-15
0
0
0
0
0
0
0
-33
140
-9
-48
-39
84
-38
-9
-71
0
0
0
0
0
0
0
0
-5
-51
-57
5
34
-41
24
-44
40
-5
0
0
0
0
0
0
0
0
-3
1
0
-23
-49
-117
-27
15
0
0
0
0
0
0
0
0
-9
33
-2
0
46
-33
-53
-91
26
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
-1
0
-14
1
-118
-36
0
-10
0
0
0
0
0
0
0
0
0
0
-8
-5
-53
-111
94
-17
-28
29
0
0
0
0
0
0
0
10
0
-7
-3
-6
-3
-54
-32
26
4
0
0
0
0
0
0
-1
0
-4
-9
53
1
-32
49
59
34
21
0
0
0
0
0
0
0
-16
11
5
58
-14
9
23
25
5
0
0
0
0
0
0
0
0
5
-54
-28
-13
-20
-2
72
-41
-119
10
0
0
0
0
0
0
0
0
-3
8
-6
0
55
-122
87
0
-2
0
0
0
0
0
0
17
0
5
20
0
77
3
58
-4
-10
0
0
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
-81
6
0
-3
0
0
0
0
0
0
0
0
-2
0
0
-77
10
8
-77
-4
-15
14
0
0
0
0
0
0
0
5
0
0
73
4
43
2
-13
6
0
0
0
0
0
0
0
0
14
0
6
23
62
-48
-96
59
69
1
0
0
0
0
0
0
0
-16
33
-26
30
-9
-35
-86
111
0
0
0
0
0
0
0
0
0
-15
13
13
-48
-27
6
14
33
17
0
0
0
0
0
0
0
0
0
11
-1
-6
-1
0
39
48
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
11
6
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
1
-1
0
-3
0
1
0
0
0
0
0
0
0
0
0
-11
-1
0
-8
-1
-43
2
7
6
0
0
0
0
0
0
-2
0
0
0
-13
-2
40
-5
-50
0
0
0
0
0
0
0
0
5
0
0
4
-2
-45
9
-43
-10
-16
0
0
0
0
0
0
0
1
0
2
5
21
-6
24
-51
15
0
0
0
0
0
0
0
0
0
0
0
-1
-2
44
0
9
0
-1
0
0
0
0
0
0
0
0
0
1
0
-73
-1
11
0
-85
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-53
-33
0
-43
0
0
0
0
0
0
0
0
-7
5
1
19
18
108
-8
-159
-10
0
0
0
0
0
0
0
0
-15
-10
-1
1
20
-54
-69
53
-2
0
0
0
0
0
0
0
-3
-9
-5
-14
2
7
22
-138
-81
-88
0
0
0
0
0
0
0
-6
3
11
14
-33
-29
53
-40
-118
-7
0
0
0
0
0
0
0
-4
14
14
5
91
38
117
-5
-30
0
0
0
0
0
0
0
0
-7
-26
1
21
-67
-45
-38
-17
0
27
0
0
0
0
0
0
0
0
-9
0
-18
-8
20
33
0
14
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
-10
-4
0
23
0
6
0
0
0
0
0
0
0
0
3
-7
0
0
21
-2
68
-54
-14
-11
0
0
0
0
0
0
0
14
0
14
-20
-2
-18
2
53
-2
0
0
0
0
0
0
0
0
-29
0
9
15
8
-3
-75
-20
64
0
0
0
0
0
0
0
0
-1
0
-26
-45
-10
-53
2
-17
-13
0
0
0
0
0
0
0
0
10
0
0
0
46
-45
-9
0
2
0
0
0
0
0
0
0
0
0
-1
-1
1
-4
-89
7
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-90
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-11
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
56
-5
-2
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
-79
5
-48
0
0
0
0
0
0
0
0
0
0
0
-3
4
-14
1
29
-1
0
0
0
0
0
0
0
0
-2
-11
2
-2
-65
11
-1
2
66
0
0
0
0
0
0
0
0
0
-27
3
29
-3
-4
-3
-13
-1
0
0
0
0
0
0
0
0
0
13
6
-32
-62
-7
43
1
23
0
0
0
0
0
0
0
0
0
-8
0
29
-1
14
-1
45
-1
0
0
0
0
0
0
0
0
0
7
0
0
-9
8
10
17
0
0
0
0
0
0
0
0
0
0
0
-10
0
-17
-6
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-34
88
0
31
-5
-14
0
0
0
0
0
0
0
-13
0
-3
-17
6
-68
17
21
-21
-1
0
0
0
0
0
0
0
18
0
0
55
-29
36
-18
-27
12
-25
0
0
0
0
0
0
0
-44
6
103
-15
44
-9
-44
-33
20
8
0
0
0
0
0
0
0
-3
0
103
18
6
-5
-56
43
20
0
0
0
0
0
0
0
0
-20
-1
-32
36
-8
-33
30
32
-28
0
0
0
0
0
0
0
0
0
0
0
-48
-11
3
4
10
-6
0
0
0
0
0
0
0
0
24
0
0
0
-85
-33
57
37
33
0
0
0
0
0
0
0
0
0
0
0
4
-5
-4
41
20
0
-2
0
0
0
0
0
0
0
0
-1
6
0
-46
64
14
100
90
78
0
0
0
0
0
0
0
0
48
0
0
-7
-13
48
6
70
-37
0
0
0
0
0
0
0
9
0
0
14
8
-64
43
21
-28
42
0
0
0
0
0
0
0
1
-18
0
16
-25
41
-72
-52
57
-29
0
0
0
0
0
0
0
-4
-205
0
-38
-11
-29
6
18
11
111
0
0
0
0
0
0
0
-15
56
4
-2
-33
-67
75
-21
69
-5
0
0
0
0
0
0
0
0
3
0
-29
34
5
-1
-51
-16
-17
0
0
0
0
0
0
0
0
0
0
0
0
15
-10
33
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-22
8
0
-43
0
0
0
0
0
0
0
0
0
0
-16
0
-14
-37
-32
-35
11
11
0
0
0
0
0
0
0
0
0
0
-11
-1
1
-69
72
-9
-5
0
0
0
0
0
0
32
0
-18
-15
-3
-49
29
107
-46
23
0
0
0
0
0
0
0
11
45
-6
-2
-14
14
124
-19
23
4
17
0
0
0
0
0
0
-17
-2
54
15
33
66
90
26
14
54
4
0
0
0
0
0
0
34
6
-24
0
-90
-43
14
-1
-9
-2
4
0
0
0
0
0
0
0
-2
0
0
-15
39
0
-65
4
-31
0
0
0
0
0
0
0
0
0
0
0
-25
-5
-78
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-2
0
0
-13
0
0
0
0
0
0
0
0
0
-3
0
-9
-14
-4
11
14
0
0
0
0
0
0
0
0
5
0
0
1
3
-17
-23
39
-5
0
-1
0
0
0
0
0
0
-1
2
51
-11
81
14
-3
-10
54
0
0
0
0
0
0
0
0
5
-4
15
4
20
-6
-5
-19
46
-2
0
0
0
0
0
0
0
1
66
6
-1
3
11
-5
5
-99
0
0
0
0
0
0
0
0
1
1
-39
-4
18
-6
-45
4
-10
0
0
0
0
0
0
0
0
0
0
-10
0
16
-2
49
-7
0
1
0
0
0
0
0
0
0
1
0
0
0
0
-8
-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
8
1
8
2
0
0
0
0
0
0
0
0
0
0
37
0
-38
-1
5
0
0
0
0
0
0
0
0
-25
0
0
-3
0
36
0
36
1
16
0
0
0
0
0
0
0
0
-13
4
0
18
-16
-64
-9
-9
-1
1
0
0
0
0
0
0
0
-3
2
-19
0
2
1
0
5
5
0
0
0
0
0
0
0
7
-14
0
18
-11
-5
18
6
-29
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
-51
-35
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
-21
-2
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-5
25
0
0
0
0
0
0
0
0
0
-3
0
0
4
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
62
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
2
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
17
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
4
5
10
0
-35
-1
-1
0
0
0
0
0
0
0
0
2
0
0
-1
0
-70
52
-37
0
0
0
0
0
0
0
0
0
0
0
2
0
5
10
-118
1
-23
0
0
0
0
0
0
0
0
-16
3
0
15
-3
71
0
-14
1
0
0
0
0
0
0
0
0
1
-2
-10
5
17
0
49
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
6
2
-18
-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
-9
0
0
0
0
-2
-8
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
5
-46
-44
1
2
0
0
0
0
0
0
0
0
0
-1
0
0
6
33
-26
0
0
0
0
0
0
0
0
0
-2
0
0
5
-1
0
-1
-24
0
0
0
0
0
0
0
0
0
-9
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
23
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
0
0
0
0
0
0
0
1
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
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
9
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
17
0
-62
0
18
0
0
0
0
0
0
0
0
0
11
0
-1
0
-30
0
-6
0
118
0
0
0
0
0
0
0
0
-5
0
6
-60
0
-16
0
5
0
0
0
0
0
0
0
0
0
-25
0
0
-2
-47
0
82
0
9
0
0
0
0
0
0
0
0
5
0
2
10
0
16
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
44
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
18
-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
-9
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
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
0
-1
0
0
84
10
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-31
0
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-33
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
25
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
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-18
-6
3
1
0
0
0
0
0
0
0
0
0
0
0
9
8
0
14
18
-4
0
0
23
0
0
0
0
0
0
0
0
-1
-10
-6
0
-13
0
-1
0
9
0
0
0
0
0
0
0
0
0
14
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
30
25
55
-17
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-22
33
19
1
0
0
0
0
0
0
0
0
0
0
0
-37
-8
2
63
9
-1
0
0
-16
0
0
0
0
0
0
0
0
48
4
19
3
-20
-3
-11
17
43
0
0
0
0
0
0
0
-1
0
121
-3
-34
-4
-44
-5
11
18
0
0
0
0
0
0
0
0
10
2
20
-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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
34
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
25
10
3
-10
2
9
3
3
0
0
0
0
0
0
0
0
-1
22
18
-43
19
0
0
0
-4
0
0
0
0
0
0
0
0
5
0
-13
-2
-5
1
-1
-5
19
0
0
0
0
0
0
0
0
1
10
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
-5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
117
-1
14
-7
23
0
0
0
0
0
0
0
0
0
0
0
27
-1
2
-44
5
3
-1
0
0
0
2
0
0
0
0
0
0
0
82
-11
16
3
-2
0
-1
0
0
0
0
0
0
0
0
0
-8
-50
13
5
-3
34
0
0
0
0
0
0
0
0
0
0
0
0
36
20
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
-46
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
-11
7
-20
0
0
0
0
0
0
0
0
0
0
0
0
-33
-42
14
19
-1
58
0
0
-3
0
0
-1
0
0
0
0
0
-9
38
96
81
106
-1
22
-1
-4
-6
0
0
0
0
0
0
0
0
-68
36
17
-21
20
-10
45
0
4
0
0
0
0
0
0
0
0
-4
16
-6
9
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
19
7
2
-2
-42
0
0
0
0
0
0
0
0
0
0
0
0
49
20
-25
-16
-32
36
-4
0
0
0
0
0
0
0
0
0
0
15
65
-19
-56
3
-14
2
18
3
-23
0
0
0
0
0
0
0
-24
-80
21
-17
66
65
-30
-15
53
-2
0
0
0
0
0
0
0
-13
-29
27
51
76
7
-4
3
24
-1
0
0
0
0
0
0
0
0
54
-60
4
35
18
-17
-45
2
2
0
0
0
0
0
0
0
0
-1
30
27
0
-11
-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
52
9
63
-41
-22
0
0
0
0
0
0
0
0
0
0
0
7
46
7
-43
22
-28
-8
0
0
0
0
0
0
0
0
0
0
-1
15
-34
-34
-96
3
54
21
-20
41
-1
0
0
0
0
0
0
1
-77
-34
-7
-87
24
5
21
65
53
0
0
0
0
0
0
0
0
-100
-17
15
-26
104
50
-9
30
-44
0
0
0
0
0
0
0
0
-30
1
-38
-46
60
-17
-30
1
8
0
0
0
0
0
0
0
0
0
-50
-21
-48
10
6
0
-19
-5
0
0
0
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
35
9
38
62
-2
-6
2
0
0
0
0
0
0
0
0
0
0
-7
64
-7
-23
9
-75
-27
0
2
0
0
0
0
0
0
0
0
4
-109
-5
35
29
-91
23
0
54
4
2
0
0
0
0
0
0
-74
1
-21
-26
-39
-25
45
23
22
0
0
0
0
0
0
0
0
5
-96
16
-34
57
8
-57
-9
39
-4
0
0
0
0
0
0
0
0
-18
13
15
9
1
-1
-1
-2
-2
0
0
0
0
0
0
0
0
0
-27
-17
-9
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
-16
-6
-5
1
0
0
0
-1
0
0
0
0
0
0
0
71
-36
-33
-12
-4
7
0
0
0
5
0
0
0
0
0
0
0
4
-34
-84
44
-72
-8
-10
4
0
1
0
0
0
0
0
0
0
-12
-65
-36
-81
33
48
17
8
-2
21
0
0
0
0
0
0
0
0
-74
-17
-2
98
-39
-5
11
0
1
0
0
0
0
0
0
0
-15
-41
52
-23
14
44
1
-2
0
0
0
0
0
0
0
0
0
-11
9
-24
-25
0
46
18
-33
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
-1
-2
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
13
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-53
3
-1
3
0
-1
7
0
3
0
0
0
0
0
0
0
-2
2
14
27
11
-5
-1
-14
0
-1
0
0
0
0
0
0
0
1
21
-10
20
4
-7
-5
-8
0
0
0
0
0
0
0
0
0
2
0
-49
-4
16
-2
-5
-2
0
0
0
0
0
0
0
0
0
0
1
-3
-49
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
-22
20
-1
0
0
0
0
0
0
0
0
0
0
0
-6
35
23
20
-21
-23
-1
0
0
0
0
0
0
0
0
0
0
6
33
12
-18
-22
-17
2
1
-27
0
0
0
0
0
0
0
0
-4
8
27
37
-18
5
-21
-2
-16
0
0
0
0
0
0
0
0
3
-15
-28
0
1
-7
-4
1
-19
0
0
0
0
0
0
0
0
0
5
0
1
2
-14
-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
37
49
27
4
0
0
0
0
0
0
0
0
0
0
0
-3
34
88
48
-43
-13
0
-2
0
0
0
0
0
0
0
0
0
-40
-6
6
14
-23
7
8
-1
-8
0
0
0
0
0
0
0
-5
58
79
-50
-40
0
-17
25
-13
17
0
0
0
0
0
0
0
8
39
-53
-33
25
18
-7
-11
8
18
0
0
0
0
0
0
0
0
3
29
27
48
-14
-1
3
0
9
0
0
0
0
0
0
0
0
0
-17
-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
-18
3
2
-2
0
0
0
0
0
0
0
0
0
0
25
-4
-36
10
-21
0
0
0
0
1
0
0
0
0
0
0
0
-8
9
5
75
19
-17
0
1
1
6
0
0
0
0
0
0
0
0
-63
7
5
7
-3
4
-4
-7
3
0
0
0
0
0
0
0
7
44
5
-44
-17
9
0
13
6
1
0
0
0
0
0
0
0
21
-16
-24
-32
0
3
6
7
-1
-4
0
0
0
0
0
0
0
0
-9
0
0
2
-1
10
17
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
-14
-3
-17
-1
0
1
0
0
0
0
0
0
0
0
0
0
-22
-35
-129
-60
5
2
-2
0
0
0
0
0
0
0
0
0
0
0
58
-23
-23
20
19
-4
0
0
0
0
0
0
0
0
0
0
-6
-4
18
-28
-9
-9
2
1
5
0
0
0
0
0
0
0
0
-10
82
-31
21
2
25
17
-6
0
0
1
0
0
0
0
0
0
0
25
14
9
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
5
-28
-37
-13
4
0
0
0
0
0
0
0
0
0
0
-7
49
48
19
2
-27
5
0
-2
0
0
0
0
0
0
0
0
-14
81
-3
-24
-1
35
-5
1
10
6
0
0
0
0
0
0
0
16
6
-19
5
-5
56
75
33
6
2
0
0
0
0
0
0
0
-21
2
81
-2
-50
17
-25
-51
-37
-7
0
0
0
0
0
0
0
0
18
-9
-43
37
3
-21
-24
0
5
0
0
0
0
0
0
0
2
0
-14
27
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
-41
-9
-51
-47
12
-4
0
0
0
0
0
0
0
0
0
0
0
24
10
17
-24
65
54
15
0
2
0
0
0
0
0
0
0
0
5
5
-39
42
-24
68
-21
-29
-47
4
0
0
0
0
0
0
0
-55
-48
38
-116
70
0
15
17
26
-6
0
0
0
0
0
0
0
35
-1
20
53
42
62
-114
-5
4
4
0
0
0
0
0
0
0
0
3
0
32
17
3
9
14
9
-2
0
0
0
0
0
0
0
-1
0
64
29
39
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
9
43
7
90
22
11
-7
0
0
0
0
0
0
0
0
0
0
-1
44
27
8
3
16
0
0
1
0
-1
0
0
0
0
0
0
33
2
22
-62
23
-34
104
-4
61
-9
5
0
0
0
0
0
0
-24
7
-73
15
-34
118
10
111
-45
-49
0
0
0
0
0
0
0
13
28
44
-17
14
7
-16
-53
-18
19
0
0
0
0
0
0
0
0
23
-8
0
67
-2
29
-11
-49
-13
0
0
0
0
0
0
0
0
0
81
-49
26
-43
14
15
-2
20
0
0
0
0
0
0
0
0
0
-1
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
9
114
-3
29
-7
53
72
0
0
0
0
0
0
0
0
0
0
56
15
15
14
53
31
43
0
0
0
-4
0
0
0
0
0
0
-20
34
12
-14
24
96
62
-14
-9
-32
2
0
0
0
0
0
0
52
16
44
21
73
-31
-22
-181
148
1
0
0
0
0
0
0
0
16
11
29
-45
-81
43
89
-14
45
19
0
0
0
0
0
0
0
1
78
26
50
84
-4
93
27
83
-10
-1
0
0
0
0
0
0
-3
6
-85
11
33
4
2
1
39
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
-8
29
10
-37
-59
-20
-100
0
0
0
1
0
0
0
0
0
0
-54
-8
-1
22
-42
128
23
0
0
0
-1
0
0
0
0
0
0
-44
16
9
-99
-11
97
24
-23
18
58
4
0
0
0
0
0
0
79
-56
8
-37
21
97
19
-109
8
-175
-6
0
0
0
0
0
0
5
-37
5
38
5
-120
30
83
-59
71
-3
0
0
0
0
0
0
0
-42
23
-68
22
26
68
53
10
-94
0
0
0
0
0
0
0
2
-2
-77
34
-81
-53
-74
-1
-43
5
0
0
0
0
0
0
0
0
0
6
-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
38
-27
9
-72
5
-6
2
0
-2
-1
0
0
0
0
0
0
0
-51
11
-12
-33
10
35
0
4
0
34
0
0
0
0
0
0
0
14
15
34
-6
30
-4
71
-10
-32
-29
0
0
0
0
0
0
0
-44
-50
-78
19
-49
-41
-117
-23
60
2
0
0
0
0
0
0
0
-59
-57
5
10
-22
26
-5
42
-11
-2
0
0
0
0
0
0
0
45
29
-70
17
-14
-4
53
59
-50
2
0
0
0
0
0
0
0
-6
-176
35
96
-4
21
30
-33
0
0
0
0
0
0
0
0
0
0
17
-16
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
4
-14
56
-10
-2
-1
0
0
0
0
0
0
0
0
0
0
0
4
31
47
-66
3
0
0
0
0
-2
0
0
0
0
0
0
0
30
59
-36
37
-29
1
6
6
0
-1
0
0
0
0
0
0
0
-48
6
32
6
-26
-1
-7
-21
0
0
0
0
0
0
0
0
0
-4
-18
-4
43
28
-16
3
25
0
0
0
0
0
0
0
0
0
-1
14
-10
7
2
-21
0
4
0
0
0
0
0
0
0
0
0
-1
15
-15
-61
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
13
0
3
-25
-18
2
3
0
0
0
0
0
0
0
0
0
0
0
-37
-27
29
-5
9
0
0
4
0
0
0
0
0
0
0
0
14
13
-22
-43
26
-9
-1
0
-3
0
0
0
0
0
0
0
0
-1
27
-2
-1
-8
-2
0
-2
1
0
0
0
0
0
0
0
0
0
3
-1
-1
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
0
0
0
0
0
0
0
0
0
0
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
-1
-26
-2
-9
0
0
0
0
0
0
0
0
0
0
0
-6
14
-52
-45
43
-1
0
0
0
0
0
0
0
0
0
0
0
-32
-141
-19
48
-1
-15
2
1
16
0
0
0
0
0
0
0
-27
-15
22
76
-25
79
2
-2
6
10
0
0
0
0
0
0
0
4
-5
33
-13
-7
-4
14
15
39
25
0
0
0
0
0
0
0
0
2
50
6
71
0
-29
6
-3
2
0
0
0
0
0
0
0
0
0
-21
-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
11
-17
2
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-78
4
-46
-7
-21
0
-1
0
0
0
0
0
0
0
0
0
18
-1
9
-48
18
-9
3
1
20
2
0
0
0
0
0
0
1
1
32
3
-54
14
7
-11
-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
-13
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
17
75
-24
0
1
0
0
0
0
0
0
0
0
0
0
-1
45
6
25
-51
-32
11
0
0
0
0
0
0
0
0
0
0
-6
78
23
34
29
32
0
0
6
0
-6
0
0
0
0
0
0
16
36
23
53
-34
11
79
-33
-5
0
0
0
0
0
0
0
0
-5
19
-26
0
17
4
-3
-20
15
0
0
0
0
0
0
0
0
0
-11
8
5
7
8
0
7
5
0
0
0
0
0
0
0
0
0
0
-26
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
94
107
-5
6
23
15
0
0
0
0
0
0
0
0
0
0
0
-26
-21
-14
-22
-32
-37
7
0
-1
0
0
0
0
0
0
0
0
-46
87
-1
-28
-110
-23
13
0
-3
19
0
0
0
0
0
0
0
5
43
41
-8
4
-11
-2
10
18
1
0
0
0
0
0
0
0
-32
47
-52
47
89
81
37
-1
-17
6
0
0
0
0
0
0
0
0
-3
-53
5
11
-49
-1
-11
-5
2
0
0
0
0
0
0
0
0
13
61
11
18
-8
2
5
18
0
0
0
0
0
0
0
0
0
-14
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
87
5
-43
14
39
74
25
0
0
0
0
0
0
0
0
0
0
-6
24
-18
-10
-12
97
-11
0
4
0
0
0
0
0
0
0
0
22
-67
18
18
71
33
10
0
-96
6
0
0
0
0
0
0
0
-107
32
45
89
-20
70
-46
110
-34
-51
0
0
0
0
0
0
0
3
-50
12
-45
49
-10
-21
14
22
21
0
0
0
0
0
0
0
0
59
-23
9
-19
53
21
-83
4
14
0
0
0
0
0
0
0
-23
0
56
4
-23
0
-6
4
-30
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
-23
53
9
15
-84
80
20
0
0
0
0
0
0
0
0
0
0
33
-17
54
-43
35
32
11
0
0
0
-5
0
0
0
0
0
0
-14
26
-44
22
7
68
-22
26
10
114
0
0
0
0
0
0
0
2
5
46
21
74
75
27
-42
5
-108
0
0
0
0
0
0
0
-32
34
-17
53
-73
107
-33
47
-105
31
0
0
0
0
0
0
0
0
32
17
-129
-72
3
55
7
-45
-14
0
0
0
0
0
0
0
0
-8
32
-6
88
13
14
-6
2
-31
0
0
0
0
0
0
0
0
17
6
-63
-13
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
10
55
3
2
24
14
-15
1
0
0
0
0
0
0
0
0
0
0
14
-6
-8
14
21
-82
0
-3
0
-3
0
0
0
0
0
0
23
-24
11
-24
84
40
-4
-33
29
4
0
0
0
0
0
0
0
25
25
15
60
63
-87
-20
-30
-18
-53
0
0
0
0
0
0
0
30
-33
16
34
-31
13
-22
49
-34
-44
-1
0
0
0
0
0
0
33
5
39
42
-44
-48
-44
3
-51
-61
0
0
0
0
0
0
0
55
44
-32
-11
1
-49
-44
1
53
2
0
0
0
0
0
0
0
0
60
-4
12
6
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-1
0
0
0
4
0
0
0
0
0
0
0
0
8
52
-39
14
28
47
8
-1
0
0
0
0
0
0
0
0
0
27
-9
13
-5
29
-18
-52
0
-2
0
1
0
0
0
0
0
0
-36
1
15
17
-15
72
74
15
20
-62
0
0
0
0
0
0
0
42
3
5
-48
42
14
4
-20
-41
-31
0
0
0
0
0
0
0
-70
-2
-25
-8
-20
-64
-52
14
-33
-136
3
0
0
0
0
0
0
2
-34
19
-36
22
-24
2
-46
102
-48
0
0
0
0
0
0
0
0
54
-118
-43
-3
46
-26
0
1
62
0
0
0
0
0
0
0
0
1
27
29
-62
108
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
56
-13
-5
22
-5
154
-3
0
0
7
0
0
0
0
0
0
0
24
-8
3
54
-35
84
0
0
0
-3
0
0
0
0
0
0
0
55
-8
-32
-18
-29
23
81
-13
-8
19
0
0
0
0
0
0
0
-1
34
-13
-29
15
88
21
-126
-71
-20
0
0
0
0
0
0
0
74
-9
22
-41
-53
48
-49
90
-8
-33
0
0
0
0
0
0
0
-20
30
-14
-11
27
5
68
150
43
-19
0
0
0
0
0
0
0
-50
-30
16
-40
-12
32
37
128
0
0
0
0
0
0
0
0
0
0
80
-1
-23
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
-53
33
0
-4
0
0
0
0
0
0
0
0
0
0
0
6
5
24
-3
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
45
21
51
-17
-27
0
2
0
-3
0
0
0
0
0
0
0
15
-22
-64
0
25
-33
1
-27
0
-1
0
0
0
0
0
0
0
-2
37
-19
129
-5
-47
2
-7
0
0
0
0
0
0
0
0
0
0
24
-22
-8
1
10
2
0
0
1
0
0
0
0
0
0
0
0
59
6
1
-6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
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
53
4
7
0
0
0
0
0
0
0
0
0
0
0
0
5
43
-11
122
0
3
0
0
1
0
0
0
0
0
0
0
0
-8
3
-33
23
-21
0
0
0
11
0
0
0
0
0
0
0
0
0
-97
0
21
1
-3
-1
-2
33
0
0
0
0
0
0
0
0
-4
0
-45
5
18
2
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-26
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
4
0
-7
0
0
0
0
0
0
0
0
0
0
0
-1
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
32
40
-34
30
44
-5
0
0
0
0
0
0
0
0
0
0
0
-14
-71
5
-117
30
-22
0
2
0
0
0
0
0
0
0
0
2
66
6
-54
-21
23
32
-2
24
1
0
0
0
0
0
0
0
0
15
-47
32
13
48
64
21
-6
2
0
0
0
0
0
0
0
0
23
3
20
23
27
66
55
10
80
0
0
0
0
0
0
0
0
-16
-80
-23
4
-24
-62
-7
14
8
0
0
0
0
0
0
0
0
0
-51
-57
-3
51
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
20
4
-1
-5
0
0
0
0
0
0
0
0
0
0
0
3
-14
89
-16
-26
1
0
0
0
-1
0
0
0
0
0
0
0
0
-22
-1
-8
2
-6
2
-2
0
-8
0
0
0
0
0
0
0
27
1
-33
37
-4
-15
-1
-6
25
0
0
0
0
0
0
0
0
0
30
0
30
-23
7
-7
2
0
0
0
0
0
0
0
0
0
0
46
-18
-3
-13
1
3
-1
2
0
0
0
0
0
0
0
0
0
5
-3
27
0
0
0
0
-11
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
9
60
-94
45
2
0
-1
0
0
0
0
0
0
0
0
0
17
34
-45
-64
133
16
-2
0
0
0
0
0
0
0
0
0
0
-20
87
1
-115
-71
-15
2
-3
4
0
0
0
0
0
0
0
0
-63
-23
-77
4
17
27
13
-5
24
0
0
0
0
0
0
0
0
26
-49
8
19
46
-3
33
11
-31
0
0
0
0
0
0
0
0
0
14
5
6
22
0
8
3
0
0
0
0
0
0
0
0
0
0
0
23
0
-4
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
-3
-24
1
17
17
0
0
0
0
0
0
0
0
0
0
23
30
17
-42
-4
98
-25
0
2
0
0
0
0
0
0
0
0
-17
-7
24
10
76
-32
-14
8
20
8
0
0
0
0
0
0
0
-6
53
-61
-17
9
72
17
-33
-17
25
0
0
0
0
0
0
0
32
-26
-23
-25
-2
-20
-53
-27
43
15
0
0
0
0
0
0
0
-11
6
-5
90
8
-51
0
-25
7
2
0
0
0
0
0
0
0
2
0
7
13
-20
1
19
-1
-6
-1
0
0
0
0
0
0
0
0
-5
1
-19
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
40
6
-4
38
33
21
0
0
0
0
0
0
0
0
0
0
38
-1
46
-24
53
31
54
0
9
0
0
0
0
0
0
0
0
-90
23
20
-19
58
33
-66
27
24
-51
1
0
0
0
0
0
0
91
-6
15
-23
61
15
-4
-28
54
27
0
0
0
0
0
0
0
113
71
-7
15
0
111
66
12
-117
3
0
0
0
0
0
0
0
0
-1
55
-108
16
-38
-33
-1
7
6
0
0
0
0
0
0
0
-14
43
-60
7
-90
32
-23
-37
-30
0
0
0
0
0
0
0
0
0
5
-72
-20
-4
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
107
17
20
-70
-3
100
10
0
0
-1
0
0
0
0
0
0
0
8
14
0
7
71
113
66
0
-3
0
-8
0
0
0
0
0
0
86
-57
24
38
30
133
42
-54
86
98
15
0
0
0
0
0
0
25
14
36
64
6
13
-5
42
-61
134
0
0
0
0
0
0
0
23
7
15
24
8
45
11
-49
-10
-43
0
0
0
0
0
0
0
3
37
-44
-70
-88
45
-18
-79
-70
64
0
0
0
0
0
0
0
3
-24
-48
-64
61
3
36
-10
-14
3
0
0
0
0
0
0
0
0
-18
-4
-2
-3
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
-43
60
-12
13
-3
42
-78
6
0
0
1
0
0
0
0
0
0
79
-4
45
1
34
-5
8
0
36
0
0
0
0
0
0
0
0
-3
20
-12
54
14
63
-10
-110
-55
113
1
1
0
0
0
0
0
4
9
54
23
103
70
-74
26
5
8
0
0
0
0
0
0
0
23
10
-14
55
-32
-2
78
25
-92
31
0
0
0
0
0
0
0
49
-18
56
-24
132
40
251
-79
59
0
0
0
0
0
0
0
0
5
33
-16
44
-45
35
48
1
-27
-14
0
0
0
0
0
0
0
0
-52
3
-62
4
-125
56
-1
-15
6
0
0
0
0
0
0
0
0
-26
-11
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
62
2
-14
12
-18
34
1
0
0
0
0
0
0
0
0
0
-14
7
2
8
15
68
-41
0
-3
0
0
0
0
0
0
0
0
-3
-7
24
5
4
62
6
-29
-83
-4
0
-2
0
0
0
0
0
53
42
11
40
3
54
0
-32
-2
51
0
0
0
0
0
0
0
-37
20
22
20
65
13
50
39
11
-49
1
0
0
0
0
0
0
-1
10
26
-22
-10
-32
71
91
2
-48
0
0
0
0
0
0
0
21
7
-49
39
-22
67
37
-108
-23
43
0
0
0
0
0
0
0
0
38
-7
-89
-101
0
17
11
0
-8
0
0
0
0
0
0
0
0
0
-47
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-28
-48
-54
29
56
24
0
0
0
0
0
0
0
0
0
0
33
16
-25
21
-30
81
0
-7
0
0
0
0
0
0
0
0
0
50
27
63
17
90
23
10
17
-10
-5
0
0
0
0
0
0
0
14
68
6
81
42
42
1
22
4
16
0
0
0
0
0
0
0
-49
6
38
9
7
-62
13
-90
-59
-5
0
0
0
0
0
0
0
32
-40
-35
-10
28
-82
21
30
-28
-71
0
0
0
0
0
0
0
98
-67
23
30
-32
66
-56
71
-53
0
0
0
0
0
0
0
0
0
-114
-89
-5
69
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
2
15
-13
0
-6
0
0
0
0
0
0
0
0
0
0
0
45
30
-45
44
50
0
0
0
0
-1
0
0
0
0
0
0
0
1
28
-7
52
1
-2
0
3
-1
3
0
0
0
0
0
0
0
46
14
-49
-29
-13
10
0
4
0
0
0
0
0
0
0
0
0
-1
16
-1
-37
72
9
4
-4
-2
0
0
0
0
0
0
0
0
-14
5
25
14
19
-22
1
-1
2
0
0
0
0
0
0
0
0
0
2
0
-5
-1
-1
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
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
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
35
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-3
-35
1
0
0
0
0
0
0
0
0
0
0
0
0
5
7
4
17
-21
8
0
0
0
0
0
0
0
0
0
0
0
-14
-3
-10
-8
-16
-2
0
0
-6
0
0
0
0
0
0
0
0
0
15
3
-22
5
14
-1
2
-4
0
0
0
0
0
0
0
0
0
0
16
0
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
-8
-15
5
2
0
0
0
0
0
0
0
0
0
0
0
-2
63
39
60
30
0
41
0
0
0
0
0
0
0
0
0
0
3
38
15
-2
-23
99
4
0
1
52
0
0
0
0
0
0
0
0
9
-3
-15
-105
-11
5
72
6
41
0
0
0
0
0
0
0
0
0
-49
-62
12
-15
25
-55
-22
22
0
0
0
0
0
0
0
0
-19
7
4
-6
53
-13
5
-19
-33
0
0
0
0
0
0
0
0
0
-53
-14
52
7
-70
21
-1
-15
0
0
0
0
0
0
0
0
0
-46
-2
8
-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
2
0
-46
4
6
0
0
0
0
0
0
0
0
0
0
0
0
14
67
53
-3
45
-1
0
0
0
0
0
0
0
0
0
0
0
24
-92
27
-21
-11
10
0
4
15
-3
0
0
0
0
0
0
0
-1
23
2
-99
-21
13
0
0
0
0
0
0
0
0
0
0
0
1
0
-36
-13
83
27
15
0
-2
-1
0
0
0
0
0
0
0
0
27
0
-1
-33
5
0
0
2
0
0
0
0
0
0
0
0
0
-19
58
0
10
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
-6
6
26
-7
-17
5
0
0
0
0
0
0
0
0
0
0
0
-45
110
-62
80
85
10
-10
0
-1
0
-2
0
0
0
0
0
0
51
-8
-4
-15
33
-41
-3
-6
-31
0
0
0
0
0
0
0
0
-1
-11
-56
-32
-5
-25
0
-10
-26
0
0
0
0
0
0
0
0
18
34
-7
0
-35
0
6
-10
-6
0
0
0
0
0
0
0
0
0
77
-25
-5
-3
-9
6
-4
7
0
0
0
0
0
0
0
0
-2
0
13
1
-45
0
3
0
0
0
0
0
0
0
0
0
0
0
34
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
-14
87
25
9
3
-3
-17
0
0
0
0
0
0
0
0
0
0
-59
20
44
-25
75
100
5
0
1
0
0
0
0
0
0
0
0
97
22
35
13
0
14
-4
2
48
8
0
0
0
0
0
0
0
76
-6
64
10
48
113
-21
49
-14
20
0
0
0
0
0
0
0
16
35
-15
57
0
80
10
-45
1
-4
0
0
0
0
0
0
0
-5
30
-2
-74
24
-29
-12
-62
-96
2
0
0
0
0
0
0
0
4
23
-9
-31
37
-19
-7
-3
33
1
0
0
0
0
0
0
0
0
0
10
-8
-11
62
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
-96
-4
16
0
138
22
0
0
0
0
0
0
0
0
0
0
-61
34
-42
21
-34
42
33
0
-21
0
0
0
0
0
0
0
0
12
-48
49
20
14
34
-95
-57
118
-76
9
0
0
0
0
0
0
-35
12
-14
31
152
-56
106
74
82
0
0
0
0
0
0
0
0
34
4
-14
38
10
0
63
-54
3
0
0
0
0
0
0
0
0
6
51
24
-72
-88
171
-127
-86
-72
5
0
0
0
0
0
0
0
-39
10
9
-72
-5
-38
53
-279
-86
-5
0
0
0
0
0
0
0
0
-50
0
-20
15
-14
-2
17
0
0
0
0
0
0
0
0
0
-1
0
-25
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
18
-54
18
16
89
-52
0
0
0
0
0
0
0
0
0
0
-47
-27
25
-25
67
-2
-45
0
-1
0
0
0
0
0
0
0
0
56
-19
-16
25
-85
70
58
4
41
20
0
0
0
0
0
0
0
6
-28
24
24
38
34
17
-76
45
188
0
0
0
0
0
0
0
14
1
-7
52
63
24
0
-16
15
87
0
0
0
0
0
0
0
-16
-3
36
-45
91
74
-50
-35
-48
59
0
0
0
0
0
0
0
-2
35
-8
16
-71
68
-144
38
-92
8
0
0
0
0
0
0
0
0
0
-21
-141
37
2
0
0
-9
-6
0
0
0
0
0
0
0
0
0
4
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
12
-25
39
5
15
3
0
0
0
0
0
0
0
0
0
-20
26
-13
24
18
85
5
0
24
0
-3
0
0
0
0
0
0
61
-11
39
-2
57
-18
49
-18
79
-64
8
0
0
0
0
0
0
4
21
0
41
24
-35
4
-1
44
-28
-11
0
0
0
0
0
0
17
28
30
52
57
44
-19
0
66
-3
0
0
0
0
0
0
0
-15
22
30
13
-25
61
-109
27
-24
-37
0
0
0
0
0
0
0
-68
-75
32
14
58
-49
94
5
-27
-3
0
0
0
0
0
0
0
0
27
19
33
-10
122
3
0
-14
-5
0
0
0
0
0
0
0
0
0
19
-2
-90
0
0
0
0
0
0
0
0
0
0
0
0
-53
45
-15
5
-18
42
65
-10
0
1
0
0
0
0
0
0
0
15
-27
19
-9
38
-35
64
0
0
0
0
0
0
0
0
0
0
-20
29
-18
49
-8
-61
-24
-6
-31
72
-1
0
0
0
0
0
0
80
-16
22
-2
59
-4
5
-109
-39
-74
0
0
0
0
0
0
0
46
14
6
53
57
-11
47
49
0
-91
0
0
0
0
0
0
0
-1
12
18
1
11
-46
52
17
30
-18
0
0
0
0
0
0
0
9
55
-53
28
26
-16
64
71
-63
-7
0
0
0
0
0
0
0
0
16
54
-39
26
42
23
-6
-1
-17
0
0
0
0
0
0
0
0
1
-2
52
-6
25
0
0
0
0
0
0
0
0
0
0
0
0
2
26
-64
24
63
38
1
0
0
2
0
0
0
0
0
0
0
23
-15
9
-26
37
108
0
0
0
45
0
0
0
0
0
0
0
-2
16
-3
-24
8
21
-30
97
-73
25
0
0
0
0
0
0
0
78
56
3
106
23
5
139
43
52
14
0
0
0
0
0
0
0
-61
-10
19
-35
46
-45
-100
-16
0
9
0
0
0
0
0
0
0
5
37
9
61
-16
82
87
151
78
3
0
0
0
0
0
0
0
2
-85
23
21
73
-23
-22
110
4
0
0
0
0
0
0
0
0
-7
72
4
-13
-23
-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
16
-29
-3
1
0
0
0
0
0
0
0
0
0
0
0
-43
33
129
-15
16
0
0
0
-2
2
0
0
0
0
0
0
0
1
-51
-6
46
-11
24
1
0
0
-1
0
0
0
0
0
0
0
53
3
49
-33
-1
10
1
5
0
0
0
0
0
0
0
0
0
-1
-59
-10
106
0
3
0
0
0
0
0
0
0
0
0
0
0
6
0
19
-6
-9
-7
5
0
0
0
0
0
0
0
0
0
0
0
10
15
0
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
27
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
58
2
-2
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
-18
5
-32
0
1
3
0
0
0
0
0
0
0
0
0
0
0
-4
-67
-3
-10
35
5
0
0
-20
0
0
0
0
0
0
0
0
35
0
24
-56
11
-3
-9
0
-8
0
0
0
0
0
0
0
0
0
28
-40
52
9
-3
0
0
-3
0
0
0
0
0
0
0
0
3
0
50
27
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
34
0
6
-1
-9
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
45
5
54
-4
0
0
0
0
0
0
0
0
0
0
0
0
172
5
17
157
-23
-4
0
0
0
0
0
0
0
0
0
0
0
-15
23
-1
-53
-32
25
-3
0
3
0
0
0
0
0
0
0
0
51
64
-21
29
79
-6
31
-5
1
0
0
0
0
0
0
0
0
-10
3
-17
19
50
26
14
31
5
0
0
0
0
0
0
0
0
0
-20
80
67
57
21
1
4
-17
0
0
0
0
0
0
0
0
-2
1
8
53
5
-2
1
-10
-5
0
0
0
0
0
0
0
0
0
-3
-20
-16
-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
-33
39
26
-25
-1
0
0
0
0
0
0
0
0
0
0
0
41
127
16
57
4
6
0
0
0
0
0
0
0
0
0
0
0
54
42
52
27
-43
20
0
0
-13
0
0
0
0
0
0
0
0
49
23
15
-36
-21
-74
-9
-3
1
-2
0
0
0
0
0
0
0
1
-21
0
-14
66
9
-1
-31
5
0
0
0
0
0
0
0
0
0
0
45
14
65
47
-2
1
34
0
0
0
0
0
0
0
0
-6
-7
0
26
15
-2
1
1
41
0
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
14
-5
-42
37
-11
0
0
0
0
0
-2
0
0
0
0
0
0
1
13
-3
2
4
-14
1
0
0
0
0
0
0
0
0
0
0
26
-1
-43
30
17
21
3
4
6
0
2
0
0
0
0
0
0
22
-19
22
147
44
-63
-11
1
-102
0
0
0
0
0
0
0
0
4
-92
3
51
-2
47
-7
17
-53
0
0
0
0
0
0
0
0
0
-20
-131
0
-63
2
10
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
0
-11
50
32
26
0
4
1
0
0
0
0
0
0
0
0
0
0
91
10
-4
24
47
-30
0
0
0
0
0
0
0
0
0
0
36
-70
-20
3
103
23
0
23
-27
-51
0
0
0
0
0
0
0
13
3
-41
-4
36
-17
71
-10
-25
89
0
0
0
0
0
0
0
66
21
67
-59
47
58
123
-8
43
-23
0
0
0
0
0
0
0
0
-25
-21
115
0
15
-2
2
-7
0
0
0
0
0
0
0
0
1
119
-1
-20
-138
9
26
-39
-20
-1
0
0
0
0
0
0
0
0
-47
0
-48
0
1
0
9
0
0
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
80
-3
-35
-10
-5
-23
-1
0
0
0
0
0
0
0
0
0
78
11
68
29
-31
79
3
0
32
0
0
0
0
0
0
0
0
8
-106
32
-5
39
187
76
59
-36
-5
0
0
0
0
0
0
0
77
-28
-55
48
67
-33
44
-63
-42
51
0
0
0
0
0
0
0
-4
45
34
36
114
76
105
-45
145
39
0
0
0
0
0
0
0
3
50
-23
106
10
0
10
4
3
0
0
0
0
0
0
0
0
39
99
36
34
-36
-28
-11
36
-90
0
0
0
0
0
0
0
0
0
-101
50
-72
22
-33
-8
-10
0
0
0
0
0
0
0
0
0
0
11
-3
1
7
0
0
0
0
0
0
0
0
0
0
0
0
14
-64
52
-1
-4
-13
100
-3
0
0
0
0
0
0
0
0
0
13
3
-16
31
61
89
-19
0
3
0
0
0
0
0
0
0
0
-8
-12
-7
7
35
100
1
-27
35
-28
0
0
0
0
0
0
0
9
11
34
-27
-10
-18
68
78
-107
33
0
0
0
0
0
0
0
-21
4
11
-8
1
127
-71
3
-68
218
0
0
0
0
0
0
0
0
-9
28
59
49
141
0
16
-119
-43
0
0
0
0
0
0
0
34
-6
-23
0
8
31
-96
-119
-119
36
0
0
0
0
0
0
0
0
-4
75
52
-41
69
-10
-36
-31
-1
0
0
0
0
0
0
0
0
0
93
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
13
92
-34
50
4
22
-46
1
0
0
0
0
0
0
0
0
0
97
5
81
-18
62
6
-71
0
10
0
16
0
0
0
0
0
0
-25
45
-7
77
28
39
47
28
-11
53
16
0
0
0
0
0
0
14
-5
44
13
54
-82
-58
-13
71
-68
5
0
0
0
0
0
0
4
15
9
25
29
-11
-11
9
40
62
6
0
0
0
0
0
0
9
31
53
39
80
59
10
0
-46
0
0
0
0
0
0
0
0
17
35
8
95
20
-61
-16
-23
-33
7
0
0
0
0
0
0
0
-13
-4
14
42
79
68
107
13
-11
-4
0
0
0
0
0
0
0
0
0
-31
-15
-19
0
0
0
0
0
0
0
0
0
0
0
0
80
15
25
-37
37
-74
14
0
0
9
0
0
0
0
0
0
0
10
-3
-2
21
-15
56
-50
0
-89
0
-4
0
0
0
0
0
0
9
-43
10
-13
31
-14
26
-48
9
212
-1
0
0
0
0
0
0
5
4
11
44
26
12
-62
9
-2
15
-1
0
0
0
0
0
0
62
-14
9
2
40
-2
9
-30
73
75
0
0
0
0
0
0
0
-21
42
24
26
65
129
1
-35
0
3
0
0
0
0
0
0
0
31
-61
8
22
19
11
76
35
24
-199
0
0
0
0
0
0
0
0
1
44
10
46
50
-15
11
0
39
0
0
0
0
0
0
0
0
9
-25
-5
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-33
10
-155
102
100
-6
0
0
1
0
0
0
0
0
0
0
-11
3
-5
-7
-81
53
0
-4
0
-36
0
0
0
0
0
0
0
-18
-38
16
-14
-5
-68
-15
-33
43
-29
0
0
0
0
0
0
0
-40
-8
11
2
-42
11
-29
62
-11
17
0
0
0
0
0
0
0
28
-5
-46
-76
-3
-26
73
-44
118
-14
0
0
0
0
0
0
0
-70
-48
2
4
68
9
-9
-30
0
3
0
0
0
0
0
0
0
28
-4
35
41
28
-88
142
23
4
0
0
0
0
0
0
0
0
0
10
-37
47
-53
5
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
-31
-1
-2
-3
0
2
1
0
0
0
0
0
0
0
0
-6
4
21
-22
-21
0
-1
0
-1
-23
0
0
0
0
0
0
0
-8
71
-33
81
7
-7
6
0
-5
7
0
0
0
0
0
0
0
18
-1
-3
-11
-30
-2
0
-18
0
-6
0
0
0
0
0
0
0
-4
38
75
39
-5
11
0
2
-3
1
0
0
0
0
0
0
0
-50
2
-34
44
-61
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
-4
56
7
5
-3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-21
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
39
1
3
0
2
0
0
11
0
0
0
0
0
0
0
0
31
0
0
3
-5
-4
0
8
8
0
0
0
0
0
0
0
0
-2
0
-34
7
2
-9
5
0
3
0
0
0
0
0
0
0
0
0
0
-54
0
-9
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
-13
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
-20
2
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
-5
34
25
-3
0
0
0
0
0
0
0
0
0
0
-5
-4
51
-13
-51
0
10
0
0
10
0
0
0
0
0
0
0
0
-27
41
36
-4
-100
6
23
-7
9
0
0
0
0
0
0
0
5
3
106
1
7
-14
-3
36
-3
26
0
0
0
0
0
0
0
0
0
0
-39
2
-26
9
0
-8
-14
0
0
0
0
0
0
0
1
0
53
5
80
5
-29
6
8
0
0
0
0
0
0
0
0
0
0
0
64
5
0
0
0
0
0
0
0
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
80
0
-2
0
0
0
0
0
0
0
0
0
0
0
84
53
15
25
13
0
0
0
0
0
0
0
0
0
0
0
0
-5
-27
53
118
9
-1
0
0
2
0
0
0
0
0
0
0
0
37
-33
91
-2
8
-2
-1
-1
-1
0
0
0
0
0
0
0
0
-6
14
21
-36
11
53
11
0
1
0
0
0
0
0
0
0
0
0
23
0
-33
1
-56
0
-1
-2
0
0
0
0
0
0
0
0
14
0
23
120
10
-10
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
-21
74
1
-8
-1
2
3
0
0
0
0
0
0
0
0
0
0
-31
1
-53
-6
-7
-4
-1
0
0
0
0
0
0
0
0
0
0
0
71
4
8
0
11
-4
0
-4
0
0
0
0
0
0
0
0
8
0
-43
-23
-81
-1
-3
-6
34
0
0
0
0
0
0
0
0
-1
110
0
21
0
-51
0
5
-1
3
0
0
0
0
0
0
0
6
33
5
0
6
0
-3
-1
1
0
0
0
0
0
0
0
0
0
27
0
10
0
-3
0
0
-17
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
2
29
16
6
2
-1
0
0
0
0
0
0
0
0
0
0
0
116
10
29
3
45
-3
0
0
0
0
0
0
0
0
0
0
0
-23
2
-18
45
-35
14
0
-8
-10
0
0
0
0
0
0
0
0
8
40
60
43
31
26
-8
1
-25
0
0
0
0
0
0
0
-56
-4
7
90
54
17
-99
-13
33
-57
0
0
0
0
0
0
0
0
-5
-84
-34
59
-14
33
-31
-28
21
0
0
0
0
0
0
0
-27
6
2
-79
0
-1
4
-3
-2
0
0
0
0
0
0
0
0
0
116
23
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
7
5
91
-5
34
13
4
0
0
0
0
0
0
0
0
0
0
-5
20
41
73
19
47
22
0
0
0
0
0
0
0
0
0
0
-6
67
17
50
71
25
-11
1
-3
17
4
0
0
0
0
0
0
-102
0
5
45
27
97
-7
7
-98
24
0
0
0
0
0
0
0
27
2
33
-35
22
113
-2
-54
-22
23
0
0
0
0
0
0
0
-23
35
44
89
-25
-70
29
34
26
-6
-6
0
0
0
0
0
0
69
22
46
88
100
0
-1
-4
-4
0
0
0
0
0
0
0
0
0
113
79
-92
19
7
0
4
-1
-1
0
0
0
0
0
0
0
-4
0
-12
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
43
36
-14
30
35
-38
0
0
0
0
0
0
0
0
0
0
-2
-32
81
25
23
40
14
0
1
0
0
0
0
0
0
0
0
8
-51
4
39
26
18
-9
-6
4
-7
0
0
0
0
0
0
0
5
27
1
-30
76
-31
82
-54
0
-46
0
0
0
0
0
0
0
4
-32
19
-2
-2
65
28
23
-195
26
0
0
0
0
0
0
0
-3
-44
8
-4
62
142
62
210
83
4
1
0
0
0
0
0
0
0
44
59
98
28
-36
0
1
4
0
0
0
0
0
0
0
0
0
46
136
39
92
-90
1
-2
27
-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
-21
-2
32
-11
9
44
-35
-1
0
0
0
0
0
0
0
0
0
-43
22
18
36
30
7
-52
0
-1
0
1
0
0
0
0
0
0
-25
-62
14
-84
33
122
71
2
43
-78
5
0
0
0
0
0
0
-37
25
42
-13
-52
134
-14
-1
-46
-35
0
0
0
0
0
0
0
15
34
12
36
80
30
69
3
-21
-66
14
0
0
0
0
0
0
78
7
54
18
-4
-72
-11
6
-47
-15
0
0
0
0
0
0
0
16
56
-12
123
164
93
177
0
-60
-3
0
0
0
0
0
0
0
0
-44
25
48
34
60
47
-8
0
16
0
0
0
0
0
0
0
0
2
28
17
72
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-24
34
-10
-35
68
3
0
1
-1
0
0
0
0
0
0
44
-12
-5
-24
59
44
111
0
0
0
2
0
0
0
0
0
0
99
17
13
-8
-10
98
-35
-31
-7
61
0
-2
0
0
0
0
0
-63
-4
-12
-3
69
-32
-7
-98
139
141
-4
0
0
0
0
0
0
-36
5
4
13
10
-22
6
34
-35
39
0
0
0
0
0
0
0
14
28
22
11
31
-1
19
-93
-23
23
4
0
0
0
0
0
0
10
72
19
50
74
89
71
38
0
14
0
0
0
0
0
0
0
0
-91
18
20
63
14
71
-77
4
-166
0
0
0
0
0
0
0
0
0
-20
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
21
44
20
9
105
6
0
0
-1
0
0
0
0
0
0
0
4
47
-9
-48
-4
-11
0
0
0
36
0
0
0
0
0
0
0
-32
21
-45
-13
42
-1
5
14
14
25
0
0
0
0
0
0
0
-42
-44
37
-53
15
60
105
-38
-11
16
0
0
0
0
0
0
0
-46
-16
-4
-43
-32
-16
-75
-4
25
50
0
0
0
0
0
0
0
29
36
-15
17
77
-26
30
37
83
-29
0
0
0
0
0
0
0
18
18
31
90
56
26
-5
17
0
0
0
0
0
0
0
0
0
1
-60
5
38
52
80
-23
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
-15
0
30
0
-6
0
0
1
0
0
0
0
0
0
0
0
7
1
-19
-45
4
0
0
0
3
-2
0
0
0
0
0
0
0
0
24
-11
18
5
7
0
0
0
5
0
0
0
0
0
0
0
-6
26
24
-10
41
2
0
3
6
0
0
0
0
0
0
0
0
0
-128
-129
71
33
9
-2
0
0
25
0
0
0
0
0
0
0
9
-2
1
24
48
-11
3
-9
0
-7
0
0
0
0
0
0
0
-2
-2
5
106
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
-18
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
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-7
0
13
0
-1
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
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
-2
0
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
2
0
1
-20
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-1
64
-19
3
-5
0
1
0
0
0
0
0
0
0
0
14
0
18
7
-10
-7
-3
1
0
0
0
0
0
0
0
0
0
0
11
-2
0
1
11
2
0
-6
0
0
0
0
0
0
0
0
0
0
13
-6
43
0
1
6
0
-3
0
0
0
0
0
0
0
0
0
2
-14
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
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
82
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-20
36
16
-2
0
0
0
2
0
0
0
0
0
0
0
0
-2
-1
5
-1
32
2
0
0
2
0
0
0
0
0
0
0
0
0
8
-14
-37
6
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-53
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
9
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
-7
0
-4
-1
4
21
0
0
0
0
0
0
0
0
0
0
0
0
27
4
-37
1
-72
0
0
19
0
0
0
0
0
0
0
0
14
14
-92
-1
-45
1
1
0
10
0
0
0
0
0
0
0
0
0
-33
0
-72
0
-10
-2
-11
-21
0
0
0
0
0
0
0
0
-3
-10
3
0
-3
0
0
0
-36
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-47
-1
-40
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
-16
-12
1
-2
0
0
3
0
0
0
0
0
0
0
0
-51
-1
34
-2
21
-1
0
-7
-14
0
0
0
0
0
0
0
-21
0
-36
1
-53
-100
-35
0
0
0
0
0
0
0
0
0
0
-2
-47
3
14
-5
19
23
0
0
0
0
0
0
0
0
0
0
-8
-20
23
-4
22
5
49
-8
1
0
0
0
0
0
0
0
0
0
9
-55
1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
8
11
6
-7
0
0
0
0
0
0
0
0
0
0
0
87
3
0
10
45
-6
0
0
0
0
0
0
0
0
0
0
45
0
23
2
-8
41
2
0
0
-11
0
0
0
0
0
0
0
-13
14
-4
0
-1
37
1
4
-25
-3
0
0
0
0
0
0
0
2
-61
-46
-3
-1
-37
-18
-34
-26
0
0
0
0
0
0
0
0
0
51
12
-31
5
-42
11
-85
6
0
0
0
0
0
0
0
0
87
31
-5
-84
92
3
46
20
5
0
0
0
0
0
0
0
0
0
75
27
28
-18
0
0
-8
0
0
0
0
0
0
0
0
0
-5
0
75
-26
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
14
-76
0
8
0
0
0
0
0
0
0
0
0
0
0
23
-6
5
-2
7
0
0
0
0
0
0
0
0
0
0
0
17
-2
4
-7
34
7
2
0
0
-23
0
0
0
0
0
0
0
0
50
-43
9
14
-17
20
-8
-10
-56
0
0
0
0
0
0
0
-36
45
-49
-45
-109
-32
54
-19
16
3
0
0
0
0
0
0
0
0
-75
0
42
58
4
1
90
-92
-16
0
0
0
0
0
0
0
0
5
-58
50
20
9
2
34
-19
-5
0
0
0
0
0
0
0
0
-7
42
76
25
109
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-7
46
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-3
13
-145
9
10
0
0
0
0
0
0
0
0
0
0
29
-46
131
-21
56
50
-2
0
0
0
0
0
0
0
0
0
0
-10
40
-71
79
30
62
-4
2
15
4
0
0
0
0
0
0
0
-24
31
47
-53
-30
92
-32
0
87
1
0
0
0
0
0
0
0
-20
-33
6
-15
42
-14
-94
1
154
-25
1
0
0
0
0
0
0
-44
17
21
13
-58
-5
3
0
45
-54
0
0
0
0
0
0
0
12
13
11
-1
41
13
69
0
104
5
0
0
0
0
0
0
0
2
32
5
75
96
-28
-15
0
0
0
0
0
0
0
0
0
0
10
21
86
23
-3
6
0
0
-20
0
0
0
0
0
0
0
0
0
3
10
22
4
13
-8
-7
0
0
0
0
0
0
0
0
0
0
12
-12
40
-24
41
-8
0
0
0
0
0
0
0
0
0
0
-26
-25
-14
-77
58
59
5
5
2
-44
0
0
0
0
0
0
0
-1
-20
-93
-6
-18
70
4
-6
-4
14
0
0
0
0
0
0
0
-9
11
11
-78
-25
-2
89
-51
14
-139
0
0
0
0
0
0
0
1
4
-30
-40
41
-125
33
58
0
55
0
0
0
0
0
0
0
-6
-65
-48
15
-13
41
-99
-83
10
-3
0
0
0
0
0
0
0
0
7
8
147
16
5
2
2
0
4
0
0
0
0
0
0
0
0
7
13
10
76
26
0
-18
0
0
0
0
0
0
0
0
0
0
0
-18
-10
5
-21
17
0
0
0
0
0
0
0
0
0
0
0
-86
-25
-51
72
-24
17
0
0
0
1
0
0
0
0
0
0
0
-34
-15
21
-61
150
-7
-5
0
1
-11
0
0
0
0
0
0
0
-8
40
-8
22
2
-16
0
6
0
-14
0
0
0
0
0
0
0
20
2
-49
-20
29
-29
42
-34
-5
25
0
0
0
0
0
0
0
-6
-4
23
-57
67
-54
-29
-70
-2
-20
0
0
0
0
0
0
0
5
-73
21
-10
44
-50
97
21
0
1
0
0
0
0
0
0
0
0
9
-83
-53
-41
-23
-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
10
-19
-7
10
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-11
-4
4
-1
8
-2
0
0
0
0
0
0
0
0
0
0
0
3
19
-14
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
-7
0
-6
11
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
26
2
-2
0
0
0
0
0
0
0
0
0
0
0
-7
0
-9
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
31
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
2
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
-4
6
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-1
9
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
53
0
-172
0
2
0
0
0
0
0
0
0
0
0
0
0
-13
0
40
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
84
0
-6
1
0
0
0
0
0
0
0
0
0
0
-62
0
23
0
81
-15
13
0
0
0
0
0
0
0
0
0
0
0
-47
0
-22
3
50
-18
0
-44
0
0
0
0
0
0
0
0
1
0
-19
0
-6
41
0
0
3
0
0
0
0
0
0
0
0
0
-45
0
6
0
-7
-18
0
-9
0
0
0
0
0
0
0
0
0
0
41
0
-9
0
0
0
0
0
0
0
0
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
-2
0
3
0
0
0
0
0
0
0
0
0
0
-6
-1
-5
57
0
6
0
0
0
0
0
0
0
0
0
0
0
0
10
-5
-16
18
-1
3
0
0
3
0
0
0
0
0
0
0
0
21
23
8
-2
70
-4
0
0
0
0
0
0
0
0
0
0
0
53
-110
2
-24
3
20
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-75
-27
-5
1
0
0
-43
0
0
0
0
0
0
0
0
-25
45
6
15
-7
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
9
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
-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
9
-5
-25
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-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
-10
-5
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
4
0
-31
37
-54
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
17
-14
33
-1
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
-25
-1
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
27
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
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
14
0
-1
0
0
0
0
0
0
0
0
2
0
0
11
0
-7
-3
10
-1
0
0
0
0
0
0
0
0
0
0
3
0
1
9
4
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
6
-9
-5
-3
-1
0
0
0
0
0
0
0
-2
0
0
0
0
-26
-14
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
18
-7
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
7
-18
-40
1
3
0
0
0
0
0
0
0
0
0
0
21
0
7
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
46
1
31
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
-3
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
2
14
0
0
0
99
45
0
0
-20
0
0
0
0
0
0
0
0
0
0
9
-15
-26
57
-36
44
6
-1
0
0
0
0
0
0
0
0
-3
5
-3
57
27
116
-7
3
0
0
0
0
0
0
0
0
0
0
1
0
33
8
14
-81
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
30
-5
-33
-2
0
0
0
0
0
0
0
0
0
0
0
5
-6
2
-33
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
21
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
-3
2
0
27
42
0
-53
-29
0
17
0
0
0
0
0
0
0
-8
3
1
48
-7
3
-32
-49
-39
25
0
0
0
0
0
0
0
9
79
-18
31
-43
-82
79
64
-56
-30
0
0
0
0
0
0
0
-15
13
1
-4
-29
-28
-26
13
72
-84
0
0
0
0
0
0
0
3
0
4
1
-5
10
25
9
54
61
0
0
0
0
0
0
0
0
0
0
1
-2
47
20
20
-40
0
0
0
0
0
0
0
0
0
0
7
0
-5
0
31
-13
-30
5
0
0
0
0
0
0
0
0
0
0
0
0
27
-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
2
0
11
69
-34
0
-10
0
34
0
0
0
0
0
0
0
9
15
-3
0
25
16
-29
5
9
25
0
0
0
0
0
0
0
-1
109
3
3
2
33
-38
18
-107
-43
0
0
0
0
0
0
0
0
-6
47
-20
80
24
3
6
-28
33
0
0
0
0
0
0
0
0
-2
-4
-6
14
3
60
12
-33
12
-2
0
0
0
0
0
0
0
-13
6
0
-1
-10
49
-41
-15
-17
0
0
0
0
0
0
0
0
-21
0
0
0
-3
13
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
14
24
0
0
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
34
-20
-61
-56
0
0
5
0
0
0
0
0
0
0
7
-2
25
-11
-36
20
40
-24
-100
0
0
0
0
0
0
0
0
63
-3
11
-67
49
-24
13
-69
-39
14
0
0
0
0
0
0
0
20
-23
43
-3
-35
14
-74
-6
-45
-6
0
0
0
0
0
0
0
2
4
0
-15
-43
-15
45
22
37
0
-1
0
0
0
0
0
0
0
-2
0
0
-1
61
-14
-57
6
-2
5
0
0
0
0
0
0
0
0
0
-4
-3
0
-10
6
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
20
-5
-47
0
0
8
0
0
0
0
0
0
0
13
-9
0
-1
7
15
11
10
71
3
0
0
0
0
0
0
0
-6
13
0
-9
-7
-53
-53
-20
3
1
0
0
0
0
0
0
0
55
-2
0
22
23
-78
-58
-109
-75
8
0
0
0
0
0
0
0
43
8
7
16
22
-17
-45
-53
1
0
0
0
0
0
0
0
0
14
2
-5
-21
4
-3
-53
-10
10
0
0
0
0
0
0
0
0
-3
0
0
-5
11
-45
-2
-45
34
1
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
0
0
0
0
0
0
0
0
0
8
0
0
3
-17
-42
0
-35
0
-1
0
0
0
0
0
0
0
0
1
0
13
18
-5
-23
-9
24
0
0
0
0
0
0
0
0
3
0
0
0
-2
7
5
-22
-1
0
0
0
0
0
0
0
0
1
0
0
4
-4
-6
-24
-5
-7
0
0
0
0
0
0
0
0
5
0
0
10
6
-1
-34
-30
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-10
-1
-8
0
0
0
0
0
0
0
0
0
-1
0
0
-11
-1
-41
0
44
-13
0
0
0
0
0
0
0
0
1
0
0
-17
3
-9
-6
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
0
-10
-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
-13
20
-8
0
6
0
0
0
0
0
0
0
3
0
2
1
24
5
-13
-17
-27
-11
0
0
0
0
0
0
0
0
-1
-1
-4
16
36
68
-2
33
-8
0
0
0
0
0
0
0
1
-2
0
4
-3
25
-21
53
-41
-9
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
14
-3
3
0
0
0
0
0
0
0
0
1
0
0
0
-7
-9
10
4
0
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
0
-4
-3
-3
7
0
-3
0
0
0
0
0
0
0
0
2
0
0
10
37
2
19
11
-5
0
0
0
0
0
0
0
0
4
0
-3
-8
24
3
-46
29
-11
0
0
0
0
0
0
0
0
-2
0
0
-3
2
-24
-2
15
-5
0
0
0
0
0
0
0
0
4
0
0
-2
-1
16
13
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
32
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
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
-34
-5
-26
0
2
0
0
0
0
0
0
0
-18
0
0
-9
7
34
-23
71
-14
2
-1
0
0
0
0
0
0
0
0
0
-14
-1
43
32
-3
9
10
0
0
0
0
0
0
0
0
0
0
0
1
47
43
86
-7
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
-15
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
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
-21
5
55
13
0
-6
0
0
0
0
0
0
0
14
0
-1
34
-5
-10
42
-28
-16
8
2
0
0
0
0
0
0
-2
0
1
5
8
0
-4
46
27
18
0
0
0
0
0
0
0
0
0
10
3
-8
56
12
-11
-47
-14
0
0
0
0
0
0
0
-1
-17
0
-3
-21
11
51
-40
20
0
0
0
0
0
0
0
0
0
0
-1
-14
-2
-20
-1
37
-33
-15
0
0
0
0
0
0
0
0
0
0
3
-2
3
14
17
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
-1
8
-47
42
52
-9
-1
0
-15
0
0
0
0
0
0
0
13
55
14
17
58
-40
-8
-19
-3
4
0
0
0
0
0
0
0
35
-15
16
-57
-43
-36
30
20
-11
-89
0
0
0
0
0
0
0
3
-10
-7
-28
33
-18
67
10
33
-10
0
0
0
0
0
0
0
9
1
8
-14
100
42
19
-63
15
-15
0
0
0
0
0
0
0
-2
-15
0
6
3
-23
32
-31
19
-20
0
0
0
0
0
0
0
0
-4
0
-5
-11
13
5
-32
-94
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
85
0
5
0
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
-3
3
13
160
32
-8
0
-88
-2
0
0
0
0
0
0
17
10
5
69
25
70
12
30
-42
-33
-2
0
0
0
0
0
0
18
100
-15
36
85
34
-46
-16
16
-24
0
0
0
0
0
0
0
4
71
-66
127
19
-27
22
4
35
-49
0
0
0
0
0
0
0
0
-24
23
48
-12
5
-15
-71
20
-11
-1
0
0
0
0
0
0
0
-2
0
10
1
52
-2
12
-54
20
0
0
0
0
0
0
0
0
-1
0
5
-43
1
22
-3
-16
1
0
0
0
0
0
0
0
0
2
0
0
0
93
17
74
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
-14
-25
71
60
27
-22
-4
20
0
30
2
0
0
0
0
0
0
15
-15
-72
47
-74
-23
-9
-29
-4
11
9
0
0
0
0
0
0
-94
4
1
63
29
-20
9
14
18
19
1
0
0
0
0
0
0
113
0
54
-33
-42
-5
-6
-18
51
-1
-3
0
0
0
0
0
0
-39
7
-8
47
-32
-48
-36
-85
-2
43
0
0
0
0
0
0
0
0
-6
7
-9
-55
-3
10
30
21
113
8
0
0
0
0
0
0
0
0
0
0
-47
22
-46
-5
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
-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
-25
54
7
33
-5
-36
-21
-14
0
23
4
-1
0
0
0
0
0
35
4
-43
33
7
8
-63
-3
-6
-3
6
0
0
0
0
0
0
-3
-37
-82
-16
-27
-28
-53
-2
-29
-96
-2
0
0
0
0
0
0
-2
27
33
-61
-13
55
-67
-3
-15
6
2
0
0
0
0
0
0
1
24
26
9
-28
47
-33
-15
9
21
0
0
0
0
0
0
0
0
19
43
46
-11
-3
-74
-24
21
30
1
0
0
0
0
0
0
11
-1
4
-9
6
-5
-10
53
-11
-9
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
30
16
121
-32
-51
38
0
-18
2
0
0
0
0
0
0
0
-6
-49
59
-54
-39
-25
-40
-47
-9
-14
0
0
0
0
0
0
0
59
29
-74
-40
-12
-53
-6
-62
-55
9
0
0
0
0
0
0
0
4
76
-32
75
-19
-20
-26
17
-100
-9
0
0
0
0
0
0
0
-71
29
-53
-14
8
-75
-25
-2
5
-3
0
0
0
0
0
0
0
-19
44
9
-124
10
-7
28
22
22
2
0
0
0
0
0
0
0
34
13
-8
-41
33
-5
-30
-148
5
0
0
0
0
0
0
0
0
0
0
-9
2
-71
1
-89
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
-9
2
0
6
-10
-53
0
11
-3
-1
0
0
0
0
0
0
0
0
-3
0
3
-17
-3
-18
-18
24
-1
0
0
0
0
0
0
0
0
6
1
2
17
-32
-5
-26
11
0
0
0
0
0
0
0
0
32
0
-2
11
-2
-15
-61
-22
43
0
0
0
0
0
0
0
0
-6
9
-1
-4
-1
33
85
72
1
0
0
0
0
0
0
0
0
-1
1
-9
25
0
17
13
16
-14
-2
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
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
-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
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
-10
0
0
0
0
0
0
0
0
0
8
3
0
13
29
13
11
29
13
0
0
0
0
0
0
0
0
0
0
-2
2
0
-3
4
6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
-16
-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
-11
0
-8
0
-1
0
0
0
0
0
0
0
0
20
0
1
-13
1
6
1
-7
0
0
0
0
0
0
0
0
0
0
0
2
-26
6
29
-20
-50
6
0
0
0
0
0
0
0
0
2
-1
3
2
25
17
-46
-10
-6
0
0
0
0
0
0
0
0
-5
0
0
3
10
-11
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
10
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
14
0
0
2
0
0
0
0
0
0
0
0
0
2
0
-16
5
13
-27
-5
-2
0
0
0
0
0
0
0
14
0
0
5
-9
21
9
-14
0
2
0
0
0
0
0
0
0
-1
0
1
-2
2
-17
-25
-15
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
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
0
0
0
0
0
0
0
0
0
0
0
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
-16
-7
33
0
-7
0
0
0
0
0
0
0
0
0
1
-5
118
9
10
-57
27
0
3
0
0
0
0
0
0
0
-2
0
2
10
-22
-7
41
-26
0
2
0
0
0
0
0
0
-24
0
-9
-26
5
-24
83
43
0
2
0
0
0
0
0
0
0
0
0
0
0
-41
6
64
-1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-25
0
-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
0
0
0
0
0
6
0
0
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
-7
0
0
-5
-24
-31
-27
0
-28
0
0
0
0
0
0
0
-1
5
-3
3
39
84
-2
63
10
18
0
0
0
0
0
0
0
0
-7
15
36
53
-19
-34
94
-51
14
0
0
0
0
0
0
0
-3
23
0
1
-18
-37
-5
-21
-1
5
0
0
0
0
0
0
0
0
4
1
4
0
134
40
66
-25
0
0
0
0
0
0
0
0
0
-3
0
3
0
53
-3
-42
4
5
0
0
0
0
0
0
0
0
0
-7
0
-8
0
9
53
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
21
-3
-6
-5
28
-31
90
43
0
-8
0
0
0
0
0
0
0
10
36
33
108
23
-92
51
-54
-52
36
0
0
0
0
0
0
0
13
60
3
-32
30
-18
37
10
-32
-33
0
0
0
0
0
0
0
33
-93
-53
-7
71
-94
-127
-3
60
-14
0
0
0
0
0
0
0
-68
-1
-23
39
-49
-45
100
-26
9
-5
0
0
0
0
0
0
0
-1
17
20
-8
-4
-2
61
6
41
23
0
0
0
0
0
0
0
3
0
3
0
-14
-36
-10
-40
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-1
75
-14
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
3
-20
-14
1
14
56
-45
5
0
-63
0
0
0
0
0
0
0
18
-42
-2
57
23
-22
-3
-8
-19
-48
0
0
0
0
0
0
0
0
-71
-2
1
-69
-76
51
-20
24
9
0
0
0
0
0
0
0
0
-34
-33
97
-93
-93
-65
-39
-6
2
0
0
0
0
0
0
0
-1
-17
-5
-86
-37
70
-76
5
10
-22
-1
0
0
0
0
0
0
0
-43
-22
27
34
-39
-6
7
30
14
0
0
0
0
0
0
0
0
0
46
14
14
-25
-112
-31
10
2
0
0
0
0
0
0
0
0
0
0
0
0
-14
-11
-59
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
38
32
14
-1
-113
5
32
6
0
18
-7
0
0
0
0
0
0
-71
86
36
63
-4
3
5
12
32
-41
1
0
0
0
0
0
0
-33
19
66
-34
-26
-19
-5
-26
39
33
9
0
0
0
0
0
0
-9
23
-11
-59
6
29
12
4
-92
50
2
0
0
0
0
0
0
-15
-1
21
-44
66
22
34
-57
-23
-43
-10
0
0
0
0
0
0
-6
43
76
19
-23
8
-20
19
56
55
0
0
0
0
0
0
0
27
21
-4
-2
4
21
3
64
35
0
0
0
0
0
0
0
0
0
-8
-1
-23
-1
19
10
-49
7
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
16
0
3
0
0
0
0
0
0
0
0
-33
-28
104
-40
-27
53
2
28
0
34
0
0
0
0
0
0
0
-33
-71
-36
82
9
17
-5
10
-30
-53
47
0
0
0
0
0
0
-33
8
3
10
4
-2
-11
-4
-23
48
0
2
0
0
0
0
0
26
-92
-7
29
-58
21
-44
-6
-61
-15
0
0
0
0
0
0
0
3
9
-14
63
-43
-18
27
20
-7
10
0
0
0
0
0
0
0
-2
24
-34
38
-60
-35
41
-19
18
-33
0
0
0
0
0
0
0
3
-4
-9
-14
6
-67
-45
-75
27
33
0
0
0
0
0
0
0
0
-4
0
1
0
27
-46
-11
56
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-35
-9
5
100
-69
-6
7
0
-84
27
0
0
0
0
0
0
0
30
48
55
45
-48
18
72
-47
-43
4
0
0
0
0
0
0
0
-47
131
-74
38
-25
-42
-71
-46
1
-5
0
0
0
0
0
0
0
-63
16
-28
-24
-69
0
-11
-10
-36
-6
0
0
0
0
0
0
0
-7
-26
-7
-106
28
64
-16
4
20
43
0
0
0
0
0
0
0
65
-8
17
-5
60
-13
10
-3
-32
11
0
0
0
0
0
0
0
5
13
9
14
-67
31
3
-4
58
0
0
0
0
0
0
0
0
0
-13
0
0
-43
-19
3
-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
-2
0
0
1
-13
18
0
-79
-4
0
0
0
0
0
0
0
0
10
26
36
-6
1
14
-47
-33
-98
0
0
0
0
0
0
0
0
-10
0
0
-1
0
-19
-5
6
0
0
0
0
0
0
0
0
0
-1
-2
0
0
4
29
-2
-2
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
-22
59
26
2
3
0
0
0
0
0
0
0
-1
-4
9
20
-9
11
5
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
43
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
0
0
0
0
0
0
0
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
-23
-7
1
0
0
0
0
0
0
0
0
0
0
0
2
-8
5
-1
-9
-6
0
0
0
0
0
0
0
0
0
0
0
2
-5
25
6
-57
-7
0
0
0
0
0
0
0
0
0
0
0
0
26
4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-9
-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
21
51
-3
0
43
0
0
0
0
0
0
0
0
8
0
-3
61
-2
55
7
-86
-17
0
0
0
0
0
0
0
2
1
1
-2
-20
-44
8
-6
40
41
0
0
0
0
0
0
0
0
0
4
-23
-99
-9
86
-27
-35
-11
0
0
0
0
0
0
0
0
1
7
0
-2
46
20
29
66
2
0
0
0
0
0
0
0
0
-5
0
0
-17
-14
0
1
-14
-4
0
0
0
0
0
0
0
0
-1
-1
1
-7
0
-24
17
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
-21
0
0
-9
-2
0
0
0
0
0
0
0
1
0
0
4
-27
-2
1
22
-33
1
0
0
0
0
0
0
0
0
0
2
-1
-2
24
46
-17
2
0
0
0
0
0
0
0
0
0
0
23
-1
-18
5
-17
-6
-37
0
0
0
0
0
0
0
0
0
1
-1
0
0
33
3
-6
-1
0
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
-2
0
4
0
-4
-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
10
-18
-27
-3
-47
0
0
0
0
0
0
0
0
0
6
0
1
-6
132
-13
4
19
-12
0
0
0
0
0
0
0
0
1
0
0
13
-48
-131
36
64
62
0
-3
0
0
0
0
0
0
-2
-1
0
0
-25
-90
-68
11
-16
-1
0
0
0
0
0
0
0
2
5
2
1
37
13
-63
-15
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
4
-3
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
-4
33
-23
20
0
0
14
0
0
0
0
0
0
0
78
2
6
5
-70
-6
66
-62
-50
15
0
0
0
0
0
0
0
-5
2
5
16
-71
-3
-38
30
-18
-17
0
0
0
0
0
0
0
-2
-18
-17
55
3
53
-72
-34
-45
-19
0
0
0
0
0
0
0
3
4
0
-10
-20
-62
-24
-39
41
0
0
0
0
0
0
0
0
3
2
62
20
41
-54
14
-38
47
-9
0
0
0
0
0
0
0
-4
0
0
0
-26
-3
-29
0
-29
0
0
0
0
0
0
0
0
0
-1
0
-1
0
45
24
-10
0
0
0
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
0
-94
22
-55
0
-55
0
0
0
0
0
0
0
-5
-13
-95
62
-3
-24
-9
-75
-24
-2
-14
0
0
0
0
0
0
-19
2
33
17
-2
-43
11
-15
2
82
0
0
0
0
0
0
0
-64
19
-4
72
26
16
13
5
-21
-17
0
0
0
0
0
0
0
-6
-46
27
19
-42
32
47
35
13
16
0
0
0
0
0
0
0
2
-15
-13
34
20
53
-2
-11
-23
-14
3
0
0
0
0
0
0
-1
-9
-10
-7
11
15
-43
24
-51
-1
0
0
0
0
0
0
0
0
0
0
1
-7
36
53
16
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
-1
0
2
-1
73
-45
17
45
0
24
0
0
0
0
0
0
0
-8
-48
-3
5
-31
-14
-38
-42
68
-5
0
0
0
0
0
0
0
1
-23
-16
65
76
9
-55
-36
-22
11
0
0
0
0
0
0
0
-8
19
93
86
-35
-65
-38
-33
-1
-4
0
0
0
0
0
0
0
-7
-13
98
2
51
-53
11
-50
-2
-39
0
0
0
0
0
0
0
1
74
87
13
2
29
-11
14
6
2
-1
0
0
0
0
0
0
5
-21
0
-14
10
61
-23
-5
18
-3
0
0
0
0
0
0
0
0
-2
0
-1
4
4
-15
31
45
-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
15
8
48
-24
11
-24
11
28
0
26
0
0
0
0
0
0
0
-72
-61
52
35
-76
7
-7
-11
9
-60
-20
0
0
0
0
0
0
0
-4
-18
67
31
-17
-12
14
-1
0
0
0
0
0
0
0
0
-79
-13
14
42
-48
-38
-23
-2
-11
-17
-4
0
0
0
0
0
0
-21
-61
-60
-46
-1
-40
7
-34
-24
29
3
0
0
0
0
0
0
-24
131
22
-58
-32
48
22
30
43
-51
-5
0
0
0
0
0
0
73
11
64
-5
31
67
-1
14
8
4
0
0
0
0
0
0
0
0
5
7
21
0
-18
27
-9
44
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
5
0
0
0
0
0
0
0
0
-135
-33
-22
-17
57
12
7
10
0
-17
-1
0
0
0
0
0
0
19
-83
-8
-14
-26
-10
12
-6
7
-14
-31
1
0
0
0
0
0
-28
59
-1
18
-41
-27
3
11
-9
55
4
3
0
0
0
0
0
-10
-11
-11
-3
7
34
1
-16
-6
-22
0
0
0
0
0
0
0
-16
73
66
11
-42
-47
-4
19
4
-100
0
0
0
0
0
0
0
-6
-14
2
-89
-44
18
38
23
5
16
0
0
0
0
0
0
0
-51
-19
34
30
-45
-44
20
42
18
4
0
0
0
0
0
0
0
0
-3
-23
18
-6
-20
2
25
20
-11
0
0
0
0
0
0
0
0
0
0
0
0
11
14
0
0
0
0
0
0
0
0
0
0
0
-12
6
-46
-80
-120
81
4
0
28
5
0
0
0
0
0
0
0
57
131
19
-29
-32
-53
-1
11
5
42
0
0
0
0
0
0
0
57
141
59
34
-29
71
-24
16
-4
-8
0
0
0
0
0
0
0
-54
-42
22
-18
-70
-12
-52
-19
1
-10
0
0
0
0
0
0
0
-67
2
-82
14
-40
-29
48
21
-32
-5
0
0
0
0
0
0
0
-23
-51
-47
-62
-50
34
39
58
-14
-4
0
0
0
0
0
0
0
-17
44
18
-23
-90
46
-22
10
22
0
0
0
0
0
0
0
0
-2
3
2
0
-56
-6
3
-80
13
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
53
0
13
23
-4
0
0
0
0
0
0
0
4
3
-2
0
16
17
-51
26
2
2
0
0
0
0
0
0
0
-19
0
1
8
3
41
-2
-8
-8
-1
0
0
0
0
0
0
0
-3
-1
9
2
32
-33
17
-26
3
0
0
0
0
0
0
0
0
55
0
6
1
-1
-18
50
100
-9
0
0
0
0
0
0
0
0
0
0
-3
3
0
-21
-24
17
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
-1
-33
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
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
-1
-1
-23
0
0
0
0
0
0
0
0
0
0
0
-5
0
-29
-7
20
2
0
0
0
0
0
0
0
0
0
0
0
11
16
1
-2
19
1
0
0
0
0
0
0
0
0
0
0
0
1
7
-20
-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
15
-14
81
-27
0
-39
0
0
0
0
0
0
0
0
1
0
4
35
-19
55
-78
-31
50
0
0
0
0
0
0
0
0
13
3
13
43
-21
10
1
-23
7
0
0
0
0
0
0
0
0
8
-7
15
-7
110
31
8
-11
9
0
0
0
0
0
0
0
3
0
5
-11
-71
43
70
-17
52
14
0
0
0
0
0
0
0
0
0
-8
0
1
-20
41
8
-27
4
0
0
0
0
0
0
0
0
0
-7
3
39
-3
54
-5
9
9
0
0
0
0
0
0
0
0
0
0
-1
0
-41
13
-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
21
14
9
0
36
6
0
0
0
0
0
0
0
0
0
0
0
-9
-30
-1
26
-3
76
0
0
0
0
0
0
0
-5
1
0
6
-7
-13
23
-1
14
5
0
0
0
0
0
0
0
0
0
-1
-2
27
17
-13
-8
-20
2
0
0
0
0
0
0
0
3
0
1
-7
-29
-14
-3
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
10
-15
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
21
-9
14
-1
6
-17
-101
-66
0
13
-1
0
0
0
0
0
0
-7
0
10
-5
-15
4
15
-17
64
-29
0
0
0
0
0
0
0
4
0
0
-16
-73
-22
20
7
5
0
-3
0
0
0
0
0
0
8
0
0
22
-23
-123
-32
-33
3
-1
0
0
0
0
0
0
0
15
0
0
0
1
-18
0
0
-51
0
0
0
0
0
0
0
0
0
-2
0
5
3
5
-4
32
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
1
116
1
0
0
0
0
0
0
0
0
0
0
0
0
2
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
10
-3
0
-19
52
-5
35
41
0
0
0
0
0
0
0
0
0
-10
0
53
-4
36
33
9
18
-19
-64
0
0
0
0
0
0
0
14
-13
47
20
-24
-8
-11
-3
-15
20
0
0
0
0
0
0
0
0
-5
0
67
-7
-14
-9
5
-67
17
0
0
0
0
0
0
0
-4
93
13
29
0
33
-62
61
-19
6
0
0
0
0
0
0
0
0
26
-4
1
35
-21
22
-10
8
106
0
0
0
0
0
0
0
2
9
0
-1
-35
33
3
-5
80
0
0
0
0
0
0
0
0
0
-6
0
-1
0
-49
-1
-5
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
-92
-9
-28
-23
-7
-15
1
19
0
-5
0
0
0
0
0
0
0
-10
51
-54
54
-107
-53
4
4
14
66
1
0
0
0
0
0
0
-32
83
63
-33
-9
11
-8
13
-2
-13
3
0
0
0
0
0
0
29
-16
32
58
-16
19
-2
-8
-2
17
0
0
0
0
0
0
0
16
47
-3
16
-111
0
-48
-87
-14
2
-3
0
0
0
0
0
0
36
-27
53
85
-43
-1
16
13
68
-15
0
0
0
0
0
0
0
5
-7
7
-1
10
68
15
3
20
0
0
0
0
0
0
0
0
0
0
-9
-26
0
-20
15
-4
-1
6
0
0
0
0
0
0
0
0
0
0
0
4
0
9
9
-2
0
0
0
0
0
0
0
0
-29
5
-65
-60
-63
-80
14
-21
0
-36
0
0
0
0
0
0
0
58
-66
-85
-52
-82
-35
-29
10
8
-45
-4
0
0
0
0
0
0
-7
-64
-25
10
56
-21
-62
-42
-15
-42
0
0
0
0
0
0
0
-6
67
93
-9
7
13
-38
14
-50
18
0
0
0
0
0
0
0
-33
134
5
157
117
-67
0
-15
-16
-14
0
0
0
0
0
0
0
0
-43
-33
59
43
-33
-39
-15
9
-74
0
0
0
0
0
0
0
2
14
-19
-8
-52
-66
41
13
-6
16
0
0
0
0
0
0
0
0
0
-2
0
0
-24
15
-54
10
14
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
17
0
0
0
0
0
0
0
0
0
-45
-63
59
-42
-8
-28
11
3
0
51
-5
0
0
0
0
0
0
-76
9
25
30
-9
33
-10
16
15
-20
-34
0
0
0
0
0
0
12
-67
5
101
24
2
0
9
-24
-3
24
0
0
0
0
0
0
81
2
-32
24
12
10
2
-22
-49
46
11
0
0
0
0
0
0
35
36
53
13
32
-20
-15
0
66
55
2
0
0
0
0
0
0
5
15
-49
-53
44
76
40
33
-19
67
1
0
0
0
0
0
0
-25
50
19
-48
-11
16
41
94
-6
3
1
0
0
0
0
0
0
0
-4
-6
27
2
8
-21
41
-38
33
0
0
0
0
0
0
0
0
0
0
0
-12
0
-5
-4
-21
0
0
0
0
0
0
0
0
6
47
15
23
-1
-49
15
-31
0
-29
1
0
0
0
0
0
0
35
-64
58
-21
-105
-34
-14
6
25
-18
17
0
0
0
0
0
0
19
-31
-2
94
-12
-19
9
-3
-1
57
0
-1
0
0
0
0
0
18
-99
43
-3
-7
-18
-24
3
25
-71
1
0
0
0
0
0
0
2
68
41
-17
-37
-18
-29
-3
0
-16
0
0
0
0
0
0
0
18
-91
6
3
-57
32
1
10
23
-47
-3
0
0
0
0
0
0
85
110
49
72
-53
1
55
57
24
-65
0
0
0
0
0
0
0
0
18
34
-77
0
14
25
8
6
39
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-28
37
-4
0
0
0
0
0
0
0
0
0
-3
-45
-30
-72
-39
32
4
0
-14
14
0
0
0
0
0
0
0
39
86
18
-75
14
32
57
-27
-1
-51
0
0
0
0
0
0
0
-5
-14
-36
27
15
-6
-37
0
2
7
0
0
0
0
0
0
0
48
-20
36
-43
-115
-5
32
-70
41
-35
0
0
0
0
0
0
0
51
60
40
56
-101
-28
-67
26
0
20
0
0
0
0
0
0
0
40
75
-65
23
-11
1
-7
4
-54
3
0
0
0
0
0
0
0
-9
-33
5
-113
-36
35
1
-19
-51
0
0
0
0
0
0
0
0
3
4
0
0
-12
38
26
0
47
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
20
0
90
0
-74
22
15
0
0
0
0
0
0
0
-3
-4
5
33
-17
-6
-36
-34
3
-5
0
0
0
0
0
0
0
1
-6
3
-6
-4
9
-35
-41
-7
0
0
0
0
0
0
0
0
-5
2
0
2
-4
-20
6
55
-78
2
0
0
0
0
0
0
0
0
0
-1
4
1
3
29
-25
0
0
0
0
0
0
0
0
0
0
-5
0
0
-9
-1
34
19
7
0
0
0
0
0
0
0
0
0
0
0
2
0
14
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
-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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
54
4
5
0
0
0
0
0
0
0
0
-4
0
0
-9
0
1
0
58
0
0
0
0
0
0
0
0
0
0
0
0
-6
25
3
39
1
7
0
0
0
0
0
0
0
0
0
0
2
0
-2
-33
0
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
17
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
-19
0
7
0
0
0
0
0
0
0
0
-16
0
0
-11
32
-43
70
-47
-5
0
0
0
0
0
0
0
0
0
1
2
4
0
-46
41
-7
0
0
0
0
0
0
0
0
1
-14
0
6
-16
35
-45
52
24
72
0
0
0
0
0
0
0
0
20
0
-8
63
-10
4
53
61
7
0
0
0
0
0
0
0
0
0
-5
25
-74
39
-33
21
27
-20
0
0
0
0
0
0
0
0
-4
-1
-1
33
-5
-7
-1
-43
0
0
0
0
0
0
0
0
0
0
0
0
1
-45
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
27
21
-11
0
44
0
0
0
0
0
0
0
0
0
0
0
-3
-1
25
20
41
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-6
34
53
48
-2
0
0
0
0
0
0
0
0
3
0
5
15
-1
9
-71
1
33
0
0
0
0
0
0
0
0
2
-3
-17
10
-25
-7
66
29
0
0
0
0
0
0
0
0
0
3
0
-1
23
17
-5
-50
5
0
0
0
0
0
0
0
0
0
-4
0
-6
-21
45
5
-1
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
6
0
-13
-55
0
5
1
0
0
0
0
0
0
26
0
-11
-53
-2
-136
-75
22
-45
4
4
0
0
0
0
0
0
1
0
0
3
-3
18
19
-74
-43
14
0
0
0
0
0
0
0
-3
0
0
-23
2
-47
-8
-68
0
0
0
0
0
0
0
0
0
0
0
7
2
-6
43
32
20
-33
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
57
-1
-3
0
0
0
0
0
0
0
-2
-4
0
3
1
1
75
5
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-14
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
33
2
2
0
-58
-24
7
-19
0
-38
0
0
0
0
0
0
0
6
22
-1
29
-62
45
-66
-48
-27
-5
0
0
0
0
0
0
0
0
-11
0
-8
47
-62
-35
-60
-14
-55
0
0
0
0
0
0
0
-5
109
4
-14
-14
-61
-31
-20
31
-31
0
0
0
0
0
0
0
1
8
-2
-25
7
43
-66
-60
1
14
0
0
0
0
0
0
0
1
23
33
-19
0
55
56
-48
-29
-58
0
0
0
0
0
0
0
4
45
19
0
45
1
-101
43
-14
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
9
-7
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
-43
35
-64
-45
-14
-28
-3
26
0
8
0
0
0
0
0
0
0
81
-8
62
-60
-7
-21
8
-16
32
-6
-15
0
0
0
0
0
0
0
0
0
20
-62
15
-14
-1
-47
11
0
0
0
0
0
0
0
54
-32
0
-32
16
11
-44
-15
10
-31
0
0
0
0
0
0
0
25
-9
0
62
-47
-63
23
-31
-14
-8
0
0
0
0
0
0
0
1
17
53
24
33
0
-52
15
-4
-72
0
0
0
0
0
0
0
0
35
-1
-5
-14
7
26
4
53
-1
0
0
0
0
0
0
0
0
7
0
-6
0
74
1
-16
-8
-10
0
0
0
0
0
0
0
0
0
0
0
5
0
12
0
0
0
0
0
0
0
0
0
0
-19
35
-40
37
-39
6
-83
-7
0
22
22
0
0
0
0
0
0
-22
-63
109
-15
-34
8
-7
-5
-10
-33
53
0
0
0
0
0
0
1
-60
-11
2
-10
-32
10
-2
-9
-89
0
0
0
0
0
0
0
29
17
63
-78
45
30
9
7
-28
8
0
0
0
0
0
0
0
6
63
-16
80
47
-56
-34
-8
-23
64
0
0
0
0
0
0
0
7
46
133
31
1
-108
0
-27
-53
-17
0
0
0
0
0
0
0
-5
117
95
-2
-13
42
24
-5
-2
-53
0
0
0
0
0
0
0
0
-3
0
-9
2
5
-33
19
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
35
1
0
0
0
0
0
0
0
0
0
-118
31
110
45
-30
-10
-7
-18
0
40
36
0
0
0
0
0
0
-127
67
16
11
-34
-4
3
5
10
-49
78
0
0
0
0
0
0
-61
-29
48
-5
-39
1
3
-39
-7
-69
6
0
0
0
0
0
0
-55
-23
22
94
26
15
-35
-32
-55
0
-35
0
0
0
0
0
0
5
-14
50
-1
2
-17
2
-8
-53
-62
0
0
0
0
0
0
0
-76
-16
9
55
-118
18
-31
0
-33
44
39
0
0
0
0
0
0
-45
-27
-24
114
8
2
11
-48
21
-6
0
0
0
0
0
0
0
0
5
-8
22
64
15
23
4
44
-2
0
0
0
0
0
0
0
0
0
0
0
-25
0
-13
11
-7
0
0
0
0
0
0
0
0
-2
-25
12
123
-32
-3
1
-2
0
9
-4
0
0
0
0
0
0
-82
22
42
-40
-7
-24
-4
24
10
27
59
0
0
0
0
0
0
-9
-74
49
102
52
1
8
-12
20
9
22
0
0
0
0
0
0
44
-52
138
15
32
21
8
19
-54
3
0
0
0
0
0
0
0
58
-11
60
62
7
44
15
3
12
-56
-5
-3
0
0
0
0
0
27
-69
23
120
32
5
-14
5
0
-15
-1
0
0
0
0
0
0
54
28
37
105
-56
20
52
-30
3
-4
0
0
0
0
0
0
0
0
1
-3
-80
5
23
16
-15
-2
-29
0
0
0
0
0
0
0
0
0
0
0
-21
0
22
-1
0
0
0
0
0
0
0
0
0
0
-27
49
36
18
-16
45
32
0
7
34
0
0
0
0
0
0
0
-2
17
5
-106
6
-24
-22
3
30
-13
0
0
0
0
0
0
0
62
-78
-5
-31
-37
-111
-73
1
10
-9
0
0
0
0
0
0
0
-100
-40
41
-23
-24
64
22
-39
-7
13
0
0
0
0
0
0
0
-77
42
-22
25
11
-54
-23
24
-43
9
0
0
0
0
0
0
0
-53
37
-109
-42
15
-27
-53
-86
0
21
0
0
0
0
0
0
0
-5
-2
51
-84
-7
23
1
-9
-31
0
0
0
0
0
0
0
0
0
-1
-4
0
36
32
-25
73
38
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
-64
-7
0
0
0
0
0
0
0
0
14
7
18
9
-4
48
-43
5
45
-2
0
0
0
0
0
0
0
-1
0
0
-6
6
23
63
61
-5
-11
0
0
0
0
0
0
0
-2
0
5
0
27
-20
-34
-5
5
0
0
0
0
0
0
0
0
0
0
-6
9
-7
19
-52
-17
-6
10
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
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-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
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
114
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
-21
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
-45
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
51
-21
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
-54
0
41
-6
0
0
0
0
0
0
0
0
3
0
0
1
0
-14
-3
77
29
0
0
0
0
0
0
0
0
8
0
-1
0
-5
-11
69
-14
-36
0
0
0
0
0
0
0
0
0
0
3
-17
6
23
-5
-43
0
0
0
0
0
0
0
0
0
0
9
9
-7
-26
8
42
8
0
0
0
0
0
0
0
0
0
0
-11
-13
-39
-35
-16
-2
45
0
0
0
0
0
0
0
0
0
-2
0
3
-11
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
0
0
0
0
0
-7
0
7
-4
0
11
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
3
-36
-10
-3
0
0
0
0
0
0
0
5
0
0
2
0
22
5
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
16
-9
-59
-2
-19
0
0
0
0
0
0
0
0
-1
-1
0
-6
-10
-59
-1
-10
8
0
0
0
0
0
0
0
0
5
0
0
-1
2
20
-6
-6
1
0
0
0
0
0
0
0
0
-1
0
0
119
-2
-28
-3
-56
1
0
0
0
0
0
0
0
0
0
0
0
0
60
25
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
-1
-26
-23
-5
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
58
0
-9
27
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
25
54
10
1
0
0
0
0
0
0
0
0
0
0
0
11
-19
-25
-7
-3
-1
0
0
0
0
0
0
0
-1
0
0
0
-9
18
-15
-3
100
0
0
0
0
0
0
0
0
0
2
0
-9
0
11
51
85
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
59
-5
46
-2
0
0
0
0
0
0
0
0
0
0
34
0
-22
-9
44
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
-18
16
44
-45
0
18
0
0
0
0
0
0
0
0
-14
0
-10
1
-56
-30
-27
62
-40
0
0
0
0
0
0
0
0
-7
1
-8
-39
8
44
71
-41
12
0
0
0
0
0
0
0
-14
4
0
-3
-4
-32
-102
25
-64
3
0
0
0
0
0
0
0
2
-35
0
14
-5
-27
-27
23
19
-3
0
0
0
0
0
0
0
0
-16
23
8
-5
-55
43
6
-55
58
0
0
0
0
0
0
0
0
71
16
5
0
11
84
-21
-10
1
0
0
0
0
0
0
0
0
1
0
0
0
-14
26
-23
-4
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
5
0
-4
-1
-32
43
-25
34
0
47
0
0
0
0
0
0
0
0
19
-1
-27
-13
-72
-40
-39
11
14
6
0
0
0
0
0
0
0
8
0
0
1
54
0
-23
54
48
0
0
0
0
0
0
0
2
26
-8
19
17
60
23
5
12
-54
5
0
0
0
0
0
0
-13
-62
-4
7
-7
-10
-12
60
15
-7
0
0
0
0
0
0
0
5
14
39
-22
-10
-35
-59
-13
16
-74
0
0
0
0
0
0
0
18
27
18
22
-59
0
-15
1
24
-4
0
0
0
0
0
0
0
0
-5
0
61
0
-12
-7
28
-22
0
0
0
0
0
0
0
0
0
0
0
0
17
0
55
18
3
0
0
0
0
0
0
0
0
8
4
20
40
-5
7
2
8
0
40
5
0
0
0
0
0
0
5
-90
-17
-54
-4
-22
-38
-5
-59
-14
-43
0
0
0
0
0
0
2
-40
14
34
-44
76
-38
-3
-12
76
0
0
0
0
0
0
0
35
3
-39
-17
55
50
22
25
4
-27
0
0
0
0
0
0
0
0
-88
-31
-41
2
12
-13
13
0
61
0
0
0
0
0
0
0
2
45
65
101
16
-23
-24
1
-65
-48
0
0
0
0
0
0
0
0
5
-7
-30
77
-11
0
-53
-51
-44
0
0
0
0
0
0
0
0
21
-10
-15
-26
3
25
-8
-42
16
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-10
0
0
0
0
0
0
0
0
0
-101
-5
-33
-35
14
-37
-5
-49
0
32
4
0
0
0
0
0
0
122
85
-90
124
-34
-53
-59
13
62
-42
32
0
0
0
0
0
0
-30
27
-33
17
-8
-80
23
-10
10
27
0
0
0
0
0
0
0
-37
35
-5
30
-19
6
18
37
-14
31
17
0
0
0
0
0
0
-14
21
13
55
55
-24
-3
-46
-2
74
-3
0
0
0
0
0
0
-37
70
30
15
-22
-12
-15
-30
20
33
-14
0
0
0
0
0
0
-14
-1
-1
5
35
19
-21
0
-32
-32
1
0
0
0
0
0
0
0
-5
-25
23
-54
-14
-77
-24
54
55
0
0
0
0
0
0
0
0
0
0
0
19
0
-81
11
-5
0
0
0
0
0
0
0
0
0
32
33
-4
-83
1
-12
-1
0
0
-7
0
0
0
0
0
0
5
-22
45
70
3
-26
3
-4
-14
26
-23
0
0
0
0
0
0
-9
-21
-83
29
-7
-21
-7
-14
4
-7
1
1
0
0
0
0
0
-7
51
52
93
-116
-25
-13
-8
31
3
-9
0
0
0
0
0
0
4
49
-57
12
-4
-26
16
-4
24
-19
0
0
0
0
0
0
0
0
-11
-37
-28
106
-9
39
13
-1
-8
-2
0
0
0
0
0
0
3
-8
-35
-42
61
-40
-11
-33
0
18
0
0
0
0
0
0
0
0
-46
0
6
71
-30
-14
-47
-67
-7
0
0
0
0
0
0
0
0
-3
0
0
0
-7
11
17
-4
0
0
0
0
0
0
0
0
0
-3
-10
-53
-7
-98
-42
45
0
10
2
0
0
0
0
0
0
0
2
-31
-9
-90
-13
-46
-13
-47
-31
36
0
0
0
0
0
0
0
45
112
50
146
-131
39
-14
-16
1
-39
0
0
0
0
0
0
0
58
7
23
26
-14
47
34
8
29
45
0
0
0
0
0
0
0
-142
-77
49
-88
30
35
-1
-16
9
-6
0
0
0
0
0
0
0
39
104
79
26
-13
-44
2
0
5
-38
0
0
0
0
0
0
0
-26
104
-14
15
-23
-26
-18
-15
0
-7
0
0
0
0
0
0
0
34
-21
-7
7
12
94
-39
29
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
13
-2
9
0
-43
49
0
0
0
0
0
0
0
0
0
5
-2
2
-1
-2
-1
-2
-23
-5
0
0
0
0
0
0
0
0
2
-9
3
-3
-10
-34
21
14
0
0
0
0
0
0
0
0
0
4
4
0
-7
2
-14
18
62
-1
0
0
0
0
0
0
0
0
0
2
3
0
-14
-56
45
-15
-1
0
0
0
0
0
0
0
0
-1
0
0
-8
-17
0
25
4
1
0
0
0
0
0
0
0
0
-2
-3
3
0
-21
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
34
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
15
0
33
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
31
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
-1
0
2
0
14
0
0
0
0
0
0
0
0
0
0
-6
0
0
34
0
3
0
18
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
0
0
13
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
3
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
0
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
-23
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
3
2
-15
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
25
0
4
0
0
0
0
0
0
0
0
0
0
0
9
0
-13
-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
6
0
-1
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
-59
0
-60
4
0
0
0
0
0
0
0
0
0
0
0
0
-32
5
35
0
-67
0
0
0
0
0
0
0
0
0
0
-17
0
0
12
0
33
0
0
0
0
0
0
0
0
0
21
1
0
0
82
0
57
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
24
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
75
31
29
-32
-111
0
0
0
0
0
0
0
0
0
0
0
5
0
-20
67
59
8
0
0
0
0
0
0
0
0
0
-1
2
-2
8
7
25
-14
11
0
0
0
0
0
0
0
0
0
0
0
-17
-3
88
-5
-15
0
0
0
0
0
0
0
0
-2
-3
0
-6
0
1
0
-72
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
86
-11
-4
0
0
0
0
0
0
0
0
0
1
0
-20
0
-3
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
-1
30
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-1
-27
2
99
-2
48
0
0
0
0
0
0
0
0
2
3
0
-36
-1
10
-54
12
-17
0
0
0
0
0
0
0
-2
0
2
-68
0
-44
44
13
22
-29
0
0
0
0
0
0
0
-26
49
-2
0
63
-20
46
2
-61
-2
0
0
0
0
0
0
0
0
8
-22
66
10
-49
-21
-53
25
16
0
0
0
0
0
0
0
-29
-11
-20
6
-9
0
-5
-19
1
2
0
0
0
0
0
0
0
4
-1
5
16
1
0
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-11
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-28
4
0
0
0
0
0
0
0
0
0
0
5
-2
5
23
-73
-23
-27
-11
-32
0
0
0
0
0
0
0
0
-2
-8
-3
11
-10
-37
3
-26
-36
-2
0
0
0
0
0
0
1
-8
4
1
3
-20
26
31
-2
-5
0
0
0
0
0
0
0
0
37
-1
-19
101
4
11
-10
-10
-6
0
0
0
0
0
0
0
25
7
-6
102
0
-37
24
-12
-1
-23
0
0
0
0
0
0
0
-5
10
17
-4
7
5
46
8
-31
-2
0
0
0
0
0
0
0
0
-7
0
-23
-6
-32
0
6
26
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
49
2
0
0
0
0
0
0
0
0
0
0
-10
0
3
-44
-47
-57
-24
0
-32
0
0
0
0
0
0
0
-1
38
-17
-13
17
-12
5
4
-11
-45
14
0
0
0
0
0
0
4
-4
62
-13
-21
16
-5
43
4
-52
0
0
0
0
0
0
0
-15
0
-2
20
-66
-38
12
12
2
-60
0
0
0
0
0
0
0
35
-8
63
76
-79
-32
52
-108
7
-8
0
0
0
0
0
0
0
-8
37
-5
5
-44
21
-34
-13
-120
90
-1
0
0
0
0
0
0
-41
12
0
8
24
-10
15
17
-25
-3
0
0
0
0
0
0
0
14
39
-36
70
13
2
-2
0
-25
10
0
0
0
0
0
0
0
20
0
17
0
11
-20
-24
-9
11
0
0
0
0
0
0
0
0
0
1
-13
64
-57
0
-37
-5
0
-10
0
0
0
0
0
0
0
0
-98
-36
-2
-169
43
4
-46
15
8
2
0
0
0
0
0
0
0
23
-29
-56
-64
1
-35
-56
0
25
0
0
0
0
0
0
0
0
-92
54
-52
-60
5
-32
-11
7
27
0
0
0
0
0
0
0
-2
-35
-6
16
51
54
-7
71
-59
-11
4
0
0
0
0
0
0
52
-39
7
129
72
4
8
-9
10
-11
0
0
0
0
0
0
0
-31
-18
-11
30
46
18
-10
28
-19
26
0
0
0
0
0
0
0
0
0
25
-62
12
39
-4
-24
0
-10
0
0
0
0
0
0
0
0
-8
0
-1
8
-14
46
-1
25
0
0
0
0
0
0
0
0
0
0
4
8
39
-3
-35
-27
0
-14
0
0
0
0
0
0
0
0
-33
1
14
46
1
118
-53
14
20
13
0
0
0
0
0
0
0
57
-13
-7
50
-8
10
9
10
-33
-4
0
0
0
0
0
0
0
32
7
-3
-1
-33
-42
11
-16
-32
10
0
0
0
0
0
0
0
-5
0
0
-17
-52
53
-14
-27
-2
-2
0
0
0
0
0
0
0
-6
4
0
3
-30
34
31
-4
-15
11
0
0
0
0
0
0
0
-2
0
-5
-23
12
-15
13
-16
1
-5
0
0
0
0
0
0
0
-2
-4
0
2
-16
8
-54
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-27
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
-16
0
0
0
0
0
0
0
0
-4
0
0
-2
0
-3
0
-8
31
0
0
0
0
0
0
0
0
0
1
0
0
3
31
0
-17
15
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-8
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
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
0
0
21
0
27
-5
0
0
0
0
0
0
0
0
0
0
0
0
18
0
23
0
7
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
-26
0
-4
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
-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
26
-5
-3
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
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
-8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
48
0
16
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
0
0
-42
0
0
0
0
0
0
0
0
-2
0
4
24
-3
34
0
-14
0
0
0
0
0
0
0
0
0
-2
-9
0
9
21
0
-44
0
-5
0
0
0
0
0
0
0
0
1
-7
-3
-23
0
-55
0
24
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
-23
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
-11
-3
-25
0
0
0
0
0
0
0
0
0
0
0
1
-1
-8
-43
-36
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-7
38
5
-24
0
0
0
0
0
0
0
0
2
0
0
-7
5
-8
8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
58
0
5
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
-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
27
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
-9
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
11
0
-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
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
0
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
-9
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
-13
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
-10
-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
11
-3
0
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
18
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
18
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
11
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
-17
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
-15
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
-13
1
-6
0
4
-1
0
0
0
0
0
0
0
0
0
1
-4
-3
2
11
0
0
0
-3
0
0
0
0
0
0
0
0
0
-15
0
-2
-1
-1
0
0
0
0
0
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
0
0
0
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
14
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
15
-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
25
-9
4
0
0
0
0
0
0
0
0
0
0
0
1
-20
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
-1
-53
-1
-9
2
8
0
0
0
0
0
0
0
0
0
0
0
0
-36
-23
9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
45
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
11
14
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-9
-5
0
0
0
0
8
0
0
0
0
0
0
0
0
1
-13
6
4
1
0
0
0
-1
0
0
0
0
0
0
0
0
-3
1
0
-11
-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
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
5
25
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
1
1
-11
0
0
0
0
0
0
0
0
0
0
0
14
1
0
2
10
-2
0
0
2
0
0
0
0
0
0
0
-17
0
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
0
-15
-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
15
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
-31
-1
0
-17
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-37
-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
-15
-10
0
1
0
0
0
-10
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
-9
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
-11
13
2
34
0
-14
0
0
0
0
0
0
0
0
0
0
0
13
-1
16
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
9
22
16
3
0
-1
26
0
0
0
0
0
0
0
0
0
0
0
1
-6
-20
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
-17
1
-34
-19
0
-5
0
-6
-1
0
0
0
0
0
0
0
0
-21
-10
-39
-3
2
0
2
-1
0
0
0
0
0
0
0
0
0
2
5
4
-11
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
20
11
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
3
-25
3
43
-4
0
0
0
0
0
0
0
0
0
0
0
0
-22
-25
-7
-31
4
0
1
2
1
0
0
0
0
0
0
0
14
-6
-43
0
19
-3
2
0
-1
0
0
0
0
0
0
0
0
3
52
-1
-10
-2
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
-37
-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
-14
-4
0
0
-4
0
0
0
0
0
0
0
0
3
-20
-32
4
-10
-1
0
2
-4
2
0
0
0
0
0
0
0
0
11
-13
20
0
3
0
0
-4
0
0
0
0
0
0
0
0
1
-1
-5
-26
-3
3
0
0
-1
0
0
0
0
0
0
0
0
0
-10
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
6
-5
16
2
-1
0
0
0
0
0
0
0
0
0
0
14
-29
8
-10
-2
9
35
0
0
2
0
0
0
0
0
0
0
-21
2
-22
-64
-23
-4
2
0
17
0
0
0
0
0
0
0
0
0
25
-14
-24
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
-13
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
-27
-7
-13
-2
0
0
0
-9
0
0
0
0
0
0
0
0
-15
-36
36
4
-3
2
0
0
0
0
0
0
0
0
0
0
0
8
-31
-29
50
11
7
-3
0
10
-2
0
0
0
0
0
0
0
-15
11
37
25
-13
2
13
1
5
-3
0
0
0
0
0
0
0
-2
30
48
5
9
0
5
0
0
0
0
0
0
0
0
0
0
0
-9
-29
10
-20
15
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
-25
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
-20
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
4
2
1
10
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
13
-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
20
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
-11
2
26
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
26
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
1
8
-13
1
0
0
0
0
0
0
0
0
0
0
-2
13
0
-4
6
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-1
-35
23
0
14
0
0
0
0
0
0
0
0
-5
0
-13
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
11
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-60
13
-5
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
13
-15
-18
-9
-2
0
3
0
0
0
0
0
0
0
0
-4
11
-3
0
1
13
0
24
1
0
0
0
0
0
0
0
0
-4
11
2
2
-7
13
-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
-21
24
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-33
66
25
5
0
0
0
0
0
0
0
0
0
0
0
-7
-4
37
-43
3
-26
1
0
1
0
0
0
0
0
0
0
0
1
25
-4
1
0
17
3
0
1
4
0
0
0
0
0
0
0
0
-1
-10
2
14
0
-1
-22
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
9
0
0
0
0
0
0
0
0
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
-54
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-43
20
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
39
-39
-13
-11
-26
0
0
0
2
0
0
0
0
0
0
0
-1
-23
10
-8
25
0
2
0
4
0
0
0
0
0
0
0
0
1
2
-7
-6
-13
9
7
-1
0
0
0
0
0
0
0
0
0
0
-3
5
-10
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-10
-27
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
44
24
-107
-25
19
0
0
0
0
0
0
0
0
0
0
0
20
-2
18
-46
19
-23
7
-2
1
-2
0
0
0
0
0
0
0
1
-54
24
-5
-62
5
-1
0
3
0
0
0
0
0
0
0
0
31
-27
20
-24
-21
-1
-5
-6
1
0
0
0
0
0
0
0
0
0
-11
2
14
8
-3
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-43
-60
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
20
12
37
0
-11
0
0
0
0
-1
0
0
0
0
0
0
1
76
10
-18
55
-1
-9
0
3
-33
0
0
0
0
0
0
0
72
55
-34
-21
-58
3
13
0
-3
0
0
0
0
0
0
0
0
0
-1
-37
-17
-14
-35
7
2
0
-5
0
0
0
0
0
0
0
0
11
34
-17
7
4
-3
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-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
-6
2
17
-16
-57
8
0
0
0
0
0
0
0
0
0
0
0
4
74
-63
-75
-46
4
2
0
0
0
0
0
0
0
0
0
0
-22
30
-34
-68
-47
4
0
-3
5
-15
-2
0
0
0
0
0
0
-63
16
13
-44
-45
-3
-19
25
0
6
1
0
0
0
0
0
0
-1
8
-21
-45
49
2
51
4
-2
-4
0
0
0
0
0
0
0
0
4
-15
43
-5
-34
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-16
-31
-4
-1
-9
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
-27
-30
-6
-37
19
-2
0
0
-15
0
0
0
0
0
0
0
0
57
-23
12
-78
-33
-2
0
0
0
-3
0
0
0
0
0
0
0
7
-33
5
-25
19
-23
-7
-1
14
24
0
0
0
0
0
0
0
25
21
-23
-18
-1
-13
-24
4
1
0
0
0
0
0
0
0
0
-5
0
9
13
-46
2
-17
4
23
0
0
0
0
0
0
0
0
10
-6
15
-30
19
-33
3
0
4
0
0
0
0
0
0
0
0
7
-7
-24
17
16
-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
26
5
-2
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
15
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
43
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-128
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
20
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
14
6
0
-18
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
-22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
51
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
17
-22
-10
0
0
0
0
0
0
0
0
0
0
0
-37
0
14
-22
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
10
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
17
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
33
-3
-10
-3
6
0
0
0
0
0
0
0
0
0
0
5
0
-38
-16
-46
3
0
0
0
-1
0
0
0
0
0
0
0
1
56
4
-4
15
4
0
0
0
11
0
0
0
0
0
0
0
-6
29
-1
0
23
-15
15
-21
7
0
0
0
0
0
0
0
0
0
0
0
-11
-14
-15
3
0
1
0
0
0
0
0
0
0
0
0
0
4
6
-45
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
21
20
-51
0
0
0
0
0
0
0
0
0
0
0
0
-9
-18
-7
-25
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
79
46
16
-80
8
-7
0
-4
3
0
0
0
0
0
0
0
8
-20
63
16
-33
-8
1
0
0
0
0
0
0
0
0
0
0
-3
-10
-42
14
0
-1
-19
1
-8
0
0
0
0
0
0
0
0
0
1
-2
-53
22
-1
-46
21
-6
-1
0
0
0
0
0
0
0
0
0
-2
-24
3
0
0
21
3
-1
0
0
0
0
0
0
0
0
0
-7
-11
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
-10
1
5
1
-58
0
4
0
0
0
0
0
0
0
0
0
0
-3
5
-24
14
-22
-7
0
0
-3
0
0
0
0
0
0
0
0
-4
31
2
47
-9
-25
4
0
0
2
0
0
0
0
0
0
0
0
-18
73
-34
-30
24
5
6
-1
0
0
0
0
0
0
0
0
2
-7
-30
5
-39
0
-17
-2
0
0
0
0
0
0
0
0
0
0
-11
4
-73
-25
10
-5
0
0
0
0
0
0
0
0
0
0
0
-4
20
6
-15
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
-22
32
22
29
0
0
0
0
0
0
0
0
0
0
0
2
-7
-36
22
1
-9
-3
1
-2
-3
0
0
0
0
0
0
0
0
64
-5
-68
5
1
-10
0
-2
0
0
0
0
0
0
0
0
-9
-27
5
-73
-18
11
0
-1
15
1
0
0
0
0
0
0
0
0
-1
-5
-46
-14
14
14
0
0
5
0
0
0
0
0
0
0
0
0
-43
-16
-34
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
-7
10
-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
14
-41
-20
-76
-4
0
0
0
0
0
0
0
0
0
0
0
1
-13
-25
-55
87
-27
0
0
0
0
0
0
0
0
0
0
0
-27
9
-102
30
-22
-8
-13
0
20
7
-1
0
0
0
0
0
0
0
-88
16
6
5
7
15
17
6
-1
0
0
0
0
0
0
0
-21
-9
-48
-22
-16
16
4
0
-24
-34
0
0
0
0
0
0
0
0
-23
-31
-56
-8
-20
-1
-33
-4
-32
0
0
0
0
0
0
0
1
1
-85
-14
-29
0
6
1
1
0
0
0
0
0
0
0
0
0
0
-1
6
-10
-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
-25
28
14
35
-6
6
0
0
0
0
0
0
0
0
0
0
0
-62
25
-14
-30
-5
-3
0
0
0
1
0
0
0
0
0
0
-39
-68
-41
-93
-53
49
-7
2
-23
-7
0
0
0
0
0
0
0
23
-25
-39
-5
-24
-41
48
-5
-23
-26
-1
0
0
0
0
0
0
5
-1
5
-34
-7
-59
-29
23
0
-64
0
0
0
0
0
0
0
0
0
-82
-20
34
-71
-56
-5
7
-1
0
0
0
0
0
0
0
1
-6
-35
-5
-19
-16
13
-1
-1
0
0
0
0
0
0
0
0
0
0
6
8
-1
1
-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
-10
2
20
60
48
-4
0
0
3
0
0
0
0
0
0
0
0
-12
-1
-45
-116
-79
-21
0
0
0
2
0
0
0
0
0
0
0
34
66
14
-18
-25
0
-4
6
-43
0
0
0
0
0
0
0
0
-63
-74
-13
-43
25
31
7
-14
33
0
0
0
0
0
0
0
0
-5
-28
-78
-73
4
-23
-18
17
0
-1
0
0
0
0
0
0
0
-31
44
1
-19
-60
7
-18
-32
13
0
0
0
0
0
0
0
0
1
8
-45
-89
14
6
20
9
0
0
0
0
0
0
0
0
0
0
2
23
-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
-11
3
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
9
-54
7
0
0
0
0
-7
0
0
0
0
0
0
0
0
-3
4
-3
2
0
0
0
0
-13
0
0
0
0
0
0
0
0
8
24
5
1
17
0
0
0
-18
0
0
0
0
0
0
0
0
0
5
18
14
-4
-1
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
-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
20
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
-1
-51
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
-1
7
20
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
-11
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
-56
-4
5
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
-23
-39
-3
-1
-4
0
0
0
3
0
0
0
0
0
0
0
0
-65
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-17
-9
-41
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
-17
-1
-2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-17
0
0
0
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
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
28
8
-31
-7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
27
-2
-3
0
1
0
0
0
0
0
0
0
0
0
2
-19
-34
2
-22
0
0
-1
0
0
0
0
0
0
0
0
-8
8
5
-7
5
13
0
0
0
0
0
0
0
0
0
0
0
0
34
44
0
4
0
0
9
0
1
0
0
0
0
0
0
0
0
8
-33
16
1
-6
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-4
31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
12
-9
1
0
0
0
0
0
0
0
0
0
0
0
-5
-7
5
5
37
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
36
6
-14
0
0
-1
-43
0
0
0
0
0
0
0
-2
-33
-25
2
73
-6
-1
-6
0
2
0
0
0
0
0
0
0
0
18
8
-31
0
14
6
0
-2
0
0
0
0
0
0
0
0
0
3
-24
8
43
-7
-3
-2
-2
0
0
0
0
0
0
0
0
0
-3
1
0
-3
-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
1
-23
25
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
-34
44
-5
25
6
0
0
0
0
0
0
0
0
0
0
0
-2
-48
-28
15
-22
-7
0
0
1
-7
0
0
0
0
0
0
0
0
-15
-40
-16
41
20
-2
-2
1
0
0
0
0
0
0
0
0
-8
4
-3
71
14
21
44
-4
0
-8
0
0
0
0
0
0
0
0
-7
-66
15
-21
0
11
1
0
-6
0
0
0
0
0
0
0
-1
0
-1
41
-18
-3
0
7
0
0
0
0
0
0
0
0
0
0
0
4
0
2
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
25
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-9
10
6
0
0
0
0
0
0
0
0
0
0
0
23
-58
11
25
14
27
-6
0
-3
3
0
0
0
0
0
0
0
-18
36
-52
-77
6
46
0
-6
-10
2
0
0
0
0
0
0
0
40
-17
-56
28
35
6
-9
2
3
0
0
0
0
0
0
0
0
0
11
-6
-47
19
-8
0
0
6
-32
0
0
0
0
0
0
0
-1
-17
-75
-13
15
4
5
0
0
10
0
0
0
0
0
0
0
0
9
4
-14
-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
26
14
9
10
4
-8
1
0
0
0
0
0
0
0
0
0
0
13
34
56
-66
-50
8
0
0
0
0
0
0
0
0
0
0
-5
25
72
-9
-14
33
36
0
1
8
0
0
0
0
0
0
0
0
-53
-78
-3
-39
-20
-39
1
10
3
0
0
0
0
0
0
0
-33
-24
-82
29
-51
-27
27
14
3
15
0
0
0
0
0
0
0
-2
-31
14
25
-4
22
-54
0
24
14
0
0
0
0
0
0
0
1
-17
-35
23
-53
-2
6
1
2
-43
0
0
0
0
0
0
0
0
2
-18
13
-14
13
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
-90
31
26
-29
-7
34
0
0
0
0
0
0
0
0
0
0
-15
-47
27
-51
2
96
-1
0
0
0
0
0
0
0
0
0
0
-10
-62
-29
-108
-44
-27
15
0
44
-5
0
0
0
0
0
0
0
-26
-17
-15
13
-1
59
47
35
13
11
0
0
0
0
0
0
0
-34
51
70
9
2
-29
23
-125
-5
-5
0
0
0
0
0
0
0
1
-29
99
-14
-62
-23
-53
-6
0
18
0
0
0
0
0
0
0
0
-18
-127
26
-35
-6
-149
41
6
0
0
0
0
0
0
0
0
0
-5
-3
7
6
-78
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
46
16
18
-22
-23
0
0
8
1
0
0
0
0
0
0
0
25
74
-113
-5
10
41
0
10
0
0
0
0
0
0
0
0
0
-3
84
-5
109
30
65
-5
23
-62
-1
0
0
0
0
0
0
0
42
9
-33
-58
43
-17
-71
2
10
0
0
0
0
0
0
0
0
-16
148
8
19
9
21
43
-1
-35
0
0
0
0
0
0
0
0
5
10
5
-8
8
-2
-71
-18
0
0
0
0
0
0
0
0
0
-6
-9
-65
24
-63
-4
29
9
3
0
0
0
0
0
0
0
0
0
1
-19
-33
-4
-24
0
0
2
0
0
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
7
-5
6
0
0
0
0
-20
0
0
0
0
0
0
0
0
2
-4
-22
4
6
0
0
0
4
0
0
0
0
0
0
0
0
7
-27
6
33
3
0
0
0
7
0
0
0
0
0
0
0
0
-20
10
9
26
4
-15
2
0
0
0
0
0
0
0
0
0
0
-2
1
4
-13
1
-9
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
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
19
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
-20
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-22
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
-13
3
0
0
0
2
0
0
0
0
0
0
0
0
20
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
-17
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
-11
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
-58
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
-22
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
24
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-7
2
0
0
-3
0
0
0
0
0
0
0
0
-2
20
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
-6
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
33
2
-14
-29
2
1
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-43
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
18
-35
1
1
-2
0
0
0
0
0
0
0
0
0
-25
2
-5
0
0
2
-4
1
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
7
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
28
-2
3
-3
0
0
0
0
0
0
0
0
0
0
-2
0
-54
-20
5
2
0
0
0
0
0
0
0
0
0
0
0
0
35
26
-92
5
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
-18
-21
10
-1
-2
9
0
0
0
0
0
0
0
0
0
0
-6
-10
10
8
-27
15
0
0
0
0
0
0
0
0
0
0
0
0
-80
6
-43
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
4
4
-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
11
47
0
-25
0
3
0
0
0
0
0
0
0
0
0
0
0
80
-5
-22
-25
7
4
0
0
0
0
0
0
0
0
0
0
-17
-14
-4
58
-4
5
2
0
0
-1
0
0
0
0
0
0
0
0
76
6
-7
9
20
0
0
0
0
0
0
0
0
0
0
0
51
-2
-11
-44
5
-82
5
4
-3
5
0
0
0
0
0
0
0
0
71
31
-25
-30
-105
-46
3
2
-2
0
0
0
0
0
0
0
5
0
22
-24
-86
-10
0
0
-14
0
0
0
0
0
0
0
0
0
0
-1
15
-15
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
-46
-1
-74
-8
17
0
0
0
0
0
0
0
0
0
0
0
80
11
-59
14
-29
-2
0
0
0
0
0
0
0
0
0
0
6
-1
-48
74
68
-33
25
3
0
-39
0
0
0
0
0
0
0
1
-41
-23
-6
-6
-56
-21
0
14
3
0
0
0
0
0
0
0
-54
18
-13
-4
-6
-6
5
-48
0
32
0
0
0
0
0
0
0
-6
-6
5
-76
-62
-62
5
-1
-2
5
0
0
0
0
0
0
0
0
1
36
-44
4
-20
-23
0
-5
2
0
0
0
0
0
0
0
0
-3
4
-50
0
6
-8
0
0
-6
0
0
0
0
0
0
0
0
11
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-29
-2
110
5
-9
-1
0
0
0
0
0
0
0
0
0
0
24
33
55
2
-53
-5
0
0
0
0
0
0
0
0
0
0
44
-24
3
81
-36
59
-37
1
0
-5
0
0
0
0
0
0
0
14
32
4
-2
-6
30
24
20
-33
20
0
0
0
0
0
0
0
-57
21
-33
11
-88
-112
-85
14
-14
-3
0
0
0
0
0
0
0
-4
-160
-47
18
-5
-26
-74
3
-23
10
0
0
0
0
0
0
0
0
-14
-57
-7
19
-2
23
1
0
33
0
0
0
0
0
0
0
0
-11
31
-52
-37
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
44
-17
20
11
-43
32
0
0
5
0
0
0
0
0
0
0
0
74
-17
-17
-33
15
-22
0
0
0
0
0
0
0
0
0
0
0
58
-63
-33
-71
-17
-1
-2
2
-4
2
0
0
0
0
0
0
0
-37
37
78
15
-21
-29
25
4
-53
-5
0
0
0
0
0
0
0
66
102
29
-22
-36
48
1
-39
34
0
0
0
0
0
0
0
0
-88
-100
-7
-116
17
-109
-25
-10
7
0
0
0
0
0
0
0
0
-26
17
9
62
-74
62
-2
-6
0
0
0
0
0
0
0
0
0
0
31
53
-29
-9
-7
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
1
0
-15
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-21
26
2
2
0
0
0
14
0
0
0
0
0
0
0
0
-10
74
2
-17
3
0
0
0
7
0
0
0
0
0
0
0
0
-37
-2
45
18
-19
0
-1
0
0
0
0
0
0
0
0
0
0
-8
-33
11
13
1
-10
-2
0
4
0
0
0
0
0
0
0
0
9
-1
-4
5
-3
0
5
-4
0
0
0
0
0
0
0
0
0
1
-6
1
26
7
-2
3
0
0
0
0
0
0
0
0
0
0
-3
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
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-9
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
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
43
0
2
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
-8
1
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-1
-15
-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
-11
0
10
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
-62
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
-9
21
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
-17
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
59
0
4
0
0
0
0
0
0
0
0
0
0
0
33
0
61
-11
14
2
-3
0
0
0
0
0
0
0
0
0
0
-3
-34
0
-32
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
78
1
13
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-9
24
-4
-15
-3
0
0
0
0
0
0
0
0
0
0
-14
4
-8
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-39
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
-15
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
20
5
8
0
23
0
0
0
0
0
0
0
0
0
0
0
2
0
-51
-6
-5
-7
-14
0
0
-3
0
0
0
0
0
0
0
0
104
4
-35
-13
35
-4
-1
-4
0
0
0
0
0
0
0
0
31
-1
-6
-24
-5
-50
-53
-1
0
4
0
0
0
0
0
0
0
0
-20
0
50
14
5
17
0
0
-3
0
0
0
0
0
0
0
-3
1
-2
2
2
13
-35
4
-6
0
0
0
0
0
0
0
0
0
-9
1
8
21
-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
43
4
-5
8
0
0
0
0
0
0
0
0
0
0
0
-2
-23
-19
0
-91
-9
-5
0
-2
0
0
0
0
0
0
0
0
-12
2
-33
33
-72
-25
-1
0
-1
-15
0
0
0
0
0
0
0
0
-38
13
-25
39
15
-10
5
-29
0
0
0
0
0
0
0
0
7
-5
-38
-23
-13
-74
-85
-43
-30
0
0
0
0
0
0
0
0
1
51
53
4
32
31
22
-46
34
-48
0
0
0
0
0
0
0
-6
18
-57
11
-51
-61
-5
-2
25
0
0
0
0
0
0
0
0
0
-22
5
18
-23
-38
-9
0
0
1
0
0
0
0
0
0
0
0
1
1
2
-14
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
100
-33
68
-4
0
0
0
0
0
0
0
0
0
0
0
0
73
-2
99
-35
29
-52
0
0
0
0
0
0
0
0
0
0
0
5
-21
-35
-40
-32
-24
0
0
-8
0
0
0
0
0
0
0
0
-4
47
-49
-24
52
-4
-1
11
-32
-2
0
0
0
0
0
0
0
-5
9
-61
-97
49
35
20
-6
-33
0
0
0
0
0
0
0
0
-36
-43
75
-20
-9
30
-50
25
-52
0
0
0
0
0
0
0
0
-3
-52
24
13
-23
-56
-19
-17
5
0
0
0
0
0
0
0
0
0
5
64
-6
-44
14
-33
3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-5
-9
2
0
0
0
-23
0
0
0
0
0
0
0
0
-2
51
10
15
0
7
0
0
-2
0
0
0
0
0
0
0
0
51
-1
-45
-13
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
59
0
-52
1
2
1
2
-13
0
0
0
0
0
0
0
0
1
5
30
0
5
-24
3
0
-1
0
0
0
0
0
0
0
0
0
-4
-1
5
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
11
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-1
0
6
-9
0
0
0
0
0
0
0
0
0
0
-2
2
14
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-5
0
10
-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
-9
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
34
-5
136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-13
-71
-1
0
0
0
0
0
0
0
0
0
0
0
5
-29
32
-61
31
11
-1
0
-3
0
0
0
0
0
0
0
0
-11
-3
62
11
-9
-33
43
-2
9
0
0
0
0
0
0
0
0
0
46
-6
-40
-3
-97
-9
-2
-5
0
0
0
0
0
0
0
0
-7
0
18
-10
-36
8
-5
0
-5
0
0
0
0
0
0
0
0
0
4
-3
26
-4
51
-20
2
0
0
0
0
0
0
0
0
0
-2
0
4
-13
-53
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
-14
0
0
0
0
0
0
0
0
0
10
-4
-5
-5
-4
0
0
-1
0
0
0
0
0
0
0
0
-5
0
7
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-61
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-8
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
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
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
5
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
84
2
13
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
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
-1
0
42
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
-1
0
-19
32
0
0
0
0
0
0
0
0
0
0
0
0
9
1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
3
-9
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
-19
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
10
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
9
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
17
16
-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
-14
-53
9
10
0
0
0
0
0
0
0
0
0
0
0
1
8
6
-6
8
-16
0
0
0
0
0
0
0
0
0
0
0
7
-1
52
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
1
2
0
0
0
0
0
0
0
0
0
0
0
-4
2
6
2
-3
24
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
6
-4
59
-34
5
0
0
0
0
0
0
0
0
-1
0
2
-1
-4
-15
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-6
17
14
-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
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
43
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
6
-9
-2
-7
0
0
0
0
0
0
0
0
0
0
3
-11
-9
-2
61
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-23
-2
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-124
-4
43
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
-8
-25
-2
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
-10
41
13
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
15
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
16
0
35
-5
0
0
0
0
0
0
0
0
0
2
0
0
-9
1
-8
0
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-14
41
-14
-8
0
0
0
0
0
0
0
0
-1
0
0
-1
47
3
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
26
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
9
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
-9
23
-32
0
0
-8
0
0
0
0
0
0
0
0
1
1
-7
-2
-16
16
5
29
3
0
0
0
0
0
0
0
0
-5
0
10
1
0
0
-2
-15
3
0
0
0
0
0
0
0
0
0
0
0
5
13
18
-2
-34
0
0
0
0
0
0
0
0
0
0
2
0
-2
-5
-9
-1
-3
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
11
-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
-21
-1
0
0
0
0
0
0
0
0
0
0
0
1
5
1
32
1
4
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
29
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
-13
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-8
30
-18
9
0
0
0
0
0
0
0
0
0
0
0
-1
18
25
-53
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
3
2
13
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-13
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
-9
16
-21
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
12
-5
49
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-5
35
-18
0
0
0
0
0
0
0
0
0
0
0
-1
5
9
1
-11
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
11
1
0
13
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
-33
0
-9
0
0
0
0
0
0
0
-2
0
0
-25
2
35
61
-45
51
-1
0
0
0
0
0
0
0
0
1
0
0
8
11
14
21
-34
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
-53
49
4
0
0
0
0
0
0
0
0
0
0
-9
0
-3
2
-23
-2
-21
5
0
0
0
0
0
0
0
0
0
0
2
0
-24
0
45
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
-45
14
9
0
3
0
0
0
0
0
0
0
0
-43
3
-2
26
-26
-23
21
-63
-6
0
0
0
0
0
0
0
-3
0
-2
0
0
8
17
-44
-5
-2
0
0
0
0
0
0
0
0
0
-1
0
7
-5
-53
48
10
0
0
0
0
0
0
0
0
0
0
-3
-1
2
1
-1
-39
31
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
-11
-43
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
1
-23
29
-8
40
3
0
0
0
0
0
0
0
-1
-1
-15
2
-5
0
8
63
5
0
1
0
0
0
0
0
0
-3
0
1
0
-6
-49
11
18
-17
0
1
0
0
0
0
0
0
0
0
0
1
1
6
21
14
-14
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
-9
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
54
22
-2
0
23
0
0
0
0
0
0
0
0
-1
0
6
0
25
-75
34
-48
43
-1
0
0
0
0
0
0
0
5
0
5
-7
-29
-3
6
52
1
0
0
0
0
0
0
0
-1
0
0
-3
-4
-7
-5
-34
-22
-3
0
0
0
0
0
0
0
3
-5
0
-1
-3
-21
14
-16
8
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-20
14
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
29
25
-3
0
1
0
0
0
0
0
0
0
-1
0
0
-5
-2
3
-8
75
-82
11
0
0
0
0
0
0
0
1
0
0
0
-25
-27
10
-35
-26
-17
0
0
0
0
0
0
0
0
0
0
2
-21
52
-6
-47
13
4
0
0
0
0
0
0
0
1
0
5
2
-1
1
6
5
39
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
11
-9
81
4
-31
0
10
0
-2
0
0
0
0
0
2
13
7
5
1
-5
-7
41
128
1
-5
0
0
0
0
0
0
1
1
0
4
-9
4
51
-53
-3
-4
0
0
0
0
0
0
0
0
2
4
9
35
25
-44
-56
-34
4
0
0
0
0
0
0
0
0
0
-4
-9
-6
0
33
9
-57
-2
0
0
0
0
0
0
0
2
0
-4
-2
1
3
-5
-21
-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
46
8
13
8
0
-27
-3
0
0
0
0
0
0
0
-25
-1
-6
-17
-30
-45
-62
19
9
0
1
0
0
0
0
0
0
9
-1
-9
-7
3
-5
28
116
-6
-3
0
0
0
0
0
0
0
0
-9
-4
-5
17
-28
-9
-27
-8
0
0
0
0
0
0
0
0
-8
0
-1
7
-1
25
15
41
2
-1
0
0
0
0
0
0
0
5
1
0
2
13
0
18
33
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
25
0
15
-2
0
0
0
0
0
0
0
0
-4
-3
0
-4
-16
3
-44
44
-18
0
0
0
0
0
0
0
0
-11
0
-2
-2
-13
23
24
-14
-4
0
0
0
0
0
0
0
0
0
-1
-19
-10
-34
35
-13
-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
-18
-8
-2
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
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
-3
0
0
0
0
0
0
0
9
3
0
4
-44
-23
-10
-71
2
-2
0
0
0
0
0
0
0
0
1
0
2
-16
-4
128
15
7
4
0
0
0
0
0
0
0
0
0
0
5
-1
0
-33
-33
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
3
-19
-4
43
-46
8
0
0
0
0
0
0
0
0
0
0
0
-1
34
11
23
20
-4
0
0
0
0
0
0
0
0
0
0
0
-2
4
26
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
1
10
0
0
0
0
0
0
0
0
0
0
0
-1
-6
11
-11
9
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
2
0
0
0
0
0
0
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
-13
27
14
0
-5
0
0
0
0
0
0
0
0
7
-1
5
-30
-35
-33
169
-18
4
0
0
0
0
0
0
0
0
1
0
0
9
62
17
41
-45
-5
0
0
0
0
0
0
0
0
-1
0
0
-2
48
13
-52
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
14
-22
9
0
0
0
0
0
0
0
0
0
0
-1
0
0
-9
-5
102
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
1
-14
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
-29
-47
16
0
13
0
0
0
0
0
0
0
0
-3
-1
-46
-46
8
84
2
65
-2
0
0
0
0
0
0
0
0
-10
0
-2
1
19
-68
-8
10
2
0
0
0
0
0
0
0
0
0
-2
-1
-1
-3
-8
-6
14
0
0
0
0
0
0
0
0
1
0
-1
1
1
0
111
-8
-18
-14
0
0
0
0
0
0
0
0
0
7
0
0
-37
6
32
-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
-9
-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
27
33
-29
-6
0
0
0
0
0
0
0
0
0
2
1
-1
-1
44
-51
19
12
20
7
1
0
0
0
0
0
0
0
-25
-10
-23
-2
-16
-8
16
-77
-3
2
0
0
0
0
0
0
0
1
-7
-1
-7
0
17
0
-5
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
-7
20
-14
15
-6
0
0
0
0
0
0
0
0
0
1
3
-1
27
-8
25
5
-1
0
0
0
0
0
0
0
0
0
3
16
-4
-8
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-15
-61
-14
-8
0
14
1
0
0
0
0
0
0
0
-19
-8
-7
-14
-15
8
-4
-70
1
-2
0
0
0
0
0
0
1
-3
-1
6
3
-18
5
-19
181
11
0
0
0
0
0
0
0
1
18
1
-3
-17
-32
-108
-17
5
3
0
0
0
0
0
0
0
-1
0
0
-6
51
7
-23
-1
17
0
2
0
0
0
0
0
0
0
0
0
2
1
-3
-7
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
23
-35
-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
-10
-4
44
-3
2
0
5
1
0
0
0
0
0
0
-3
-4
-7
21
-14
-39
5
16
-89
-1
0
0
0
0
0
0
0
-2
-2
-4
-35
-5
73
-32
66
-15
-48
1
0
0
0
0
0
0
0
2
0
5
54
-14
-69
15
-56
-15
0
0
0
0
0
0
0
2
-6
0
16
-15
-9
-3
25
11
0
0
0
0
0
0
0
0
0
0
0
-1
9
3
14
75
-15
5
0
0
0
0
0
0
0
0
0
-5
-1
1
0
26
5
-19
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
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
19
-9
-5
34
-41
94
-64
50
0
34
-4
0
0
0
0
0
0
5
41
0
-17
-51
12
-54
-60
-41
-37
-7
1
0
0
0
0
0
3
19
-18
-45
47
-33
-50
-32
85
-2
0
0
0
0
0
0
0
19
8
-19
-5
-55
13
-14
53
-47
22
0
0
0
0
0
0
0
6
-3
3
-8
-17
-65
100
-14
80
0
0
0
0
0
0
0
0
0
11
-5
0
-33
40
8
4
10
-1
0
0
0
0
0
0
0
0
0
9
0
-7
0
-35
10
-25
-1
0
0
0
0
0
0
0
0
0
0
1
0
11
4
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
-7
18
-4
52
-7
-10
54
0
-17
-35
0
0
0
0
0
0
0
-11
45
19
18
-17
-20
-27
71
-4
33
0
0
0
0
0
0
0
46
-5
-9
-61
-38
26
68
-16
36
-1
0
0
0
0
0
0
0
-1
11
-4
55
-30
116
-9
-84
-2
2
0
0
0
0
0
0
0
-10
-4
7
20
-5
27
-31
-26
-23
0
0
0
0
0
0
0
0
-3
-2
0
46
-2
-22
142
37
-25
-3
0
0
0
0
0
0
0
0
0
-7
5
-13
93
22
25
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
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
-3
2
0
-18
-5
18
0
21
6
0
0
0
0
0
0
0
0
-7
0
0
-15
-5
-15
1
-10
29
0
0
0
0
0
0
0
0
-1
-2
-4
3
24
25
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
-10
33
-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
-14
-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
14
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
-32
0
-36
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-78
40
0
0
0
0
0
0
0
0
0
0
0
2
-4
-27
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
25
-1
-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
0
0
0
0
0
14
-5
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
19
-33
15
4
35
-20
0
0
0
0
0
0
0
0
0
-1
-3
2
-58
-14
-23
31
-25
0
0
0
0
0
0
0
0
0
-3
0
23
57
35
-41
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
27
0
-15
0
0
0
0
0
0
0
0
0
0
1
0
-1
-11
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
-13
-1
-19
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-14
31
17
64
4
34
0
0
0
0
0
0
0
2
-8
1
0
23
5
-15
14
4
15
0
0
0
0
0
0
0
8
0
0
0
5
-17
-5
15
-4
-1
0
0
0
0
0
0
0
0
-3
0
0
8
-3
-25
4
-11
0
0
0
0
0
0
0
0
0
-6
0
1
0
-72
72
-65
-8
0
0
0
0
0
0
0
0
0
0
0
-2
-37
2
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
2
8
1
54
30
0
-7
0
0
0
0
0
0
0
0
47
2
21
27
25
-60
24
-83
5
0
0
0
0
0
0
0
0
-3
1
-3
11
-28
-35
15
-71
0
0
0
0
0
0
0
0
0
5
5
0
4
1
-61
-33
17
25
0
0
0
0
0
0
0
0
0
-4
7
0
1
5
-32
-5
0
0
0
0
0
0
0
0
0
9
-54
0
2
0
-3
-49
0
-3
0
0
0
0
0
0
0
0
-1
-9
0
-14
-47
15
45
-11
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
16
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
32
-4
3
7
0
18
0
0
0
0
0
0
0
0
-26
0
-4
-32
0
-19
88
-8
29
-2
0
0
0
0
0
0
0
4
0
0
-7
58
-28
25
31
-1
0
0
0
0
0
0
0
24
0
-5
3
0
-39
-7
-15
-45
-21
0
0
0
0
0
0
0
0
-4
0
-1
-50
0
-6
-16
-65
-8
0
0
0
0
0
0
0
0
-16
-14
18
0
-55
0
56
-45
1
0
0
0
0
0
0
0
0
8
0
-5
-59
3
-3
1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
1
-17
31
2
-16
14
0
-31
0
0
0
0
0
0
0
-1
15
-1
-9
-8
-5
-24
-59
48
5
0
0
0
0
0
0
0
2
-7
0
1
14
-23
-56
-29
19
13
-3
0
0
0
0
0
0
3
-2
1
-20
8
0
54
7
37
9
0
0
0
0
0
0
0
0
0
-2
-2
-33
-45
0
-5
39
3
0
0
0
0
0
0
0
0
0
2
-8
6
-2
22
-4
14
0
0
0
0
0
0
0
0
0
4
2
-4
3
-33
22
-20
0
-1
0
0
0
0
0
0
0
0
-1
-4
0
1
-2
3
13
-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
95
-22
-77
44
0
-22
-1
0
0
0
0
0
0
-1
-32
-11
4
102
16
-96
-16
-64
19
-2
0
0
0
0
0
0
0
-16
8
6
15
68
35
-153
5
-1
0
0
0
0
0
0
0
-23
-8
-14
36
3
-81
-14
-120
1
-74
0
0
0
0
0
0
0
0
1
-20
10
98
-32
-24
0
0
3
0
0
0
0
0
0
0
0
5
-7
-17
33
-138
-10
-77
0
-4
0
0
0
0
0
0
0
0
-5
21
31
62
14
-35
-74
-17
0
0
0
0
0
0
0
0
0
-1
-1
-3
23
109
-11
1
16
0
0
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
89
15
94
44
0
-71
7
0
0
0
0
0
0
43
-13
-24
43
35
54
-10
-7
-15
21
-26
0
0
0
0
0
0
-7
-6
-2
-33
26
-44
16
-33
-37
-1
0
0
0
0
0
0
0
-3
59
-20
-11
-3
-19
-46
-28
-55
1
5
0
0
0
0
0
0
-9
-8
9
39
31
-44
5
94
0
-8
0
0
0
0
0
0
0
21
17
-20
-24
-17
18
2
-2
-55
0
-1
0
0
0
0
0
0
-2
-2
8
-13
-53
-21
-24
-1
90
1
0
0
0
0
0
0
0
0
-3
1
43
-1
-11
2
14
-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
-19
-8
-3
11
27
-34
-125
0
-34
2
-1
0
0
0
0
0
0
68
14
9
95
-28
117
-76
25
-55
-2
0
0
0
0
0
0
0
-44
-8
-4
-72
47
-27
-24
-7
0
2
0
0
0
0
0
0
0
-36
1
7
-56
50
116
-173
43
-32
0
0
0
0
0
0
0
0
33
-2
-4
-75
-8
-60
65
130
0
0
0
0
0
0
0
0
0
75
-33
14
19
-20
7
97
1
45
0
0
0
0
0
0
0
0
-3
-7
11
-14
-11
-96
26
49
6
0
0
0
0
0
0
0
0
0
0
0
-1
-37
78
14
-20
0
0
0
0
0
0
0
0
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
0
5
3
-2
0
0
0
0
0
0
0
-3
0
0
21
-22
7
22
19
-22
0
0
0
0
0
0
0
0
7
3
0
8
5
-10
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
-15
0
7
0
0
0
0
0
0
0
0
0
0
0
-8
15
-7
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
3
4
25
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
-9
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
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
45
-14
14
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-45
24
19
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
8
33
0
0
0
0
0
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
-39
-19
-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
8
-36
22
-1
0
0
0
0
0
0
0
0
4
0
0
2
0
-34
30
-44
0
0
0
0
0
0
0
0
-1
0
0
1
-1
25
3
32
23
3
0
0
0
0
0
0
0
0
0
0
0
0
-20
-48
14
4
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
-17
-1
-6
-10
-22
1
0
0
0
0
0
0
0
0
0
0
5
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
2
4
-30
2
0
-1
0
0
0
0
0
0
0
7
1
0
8
2
-47
-31
17
-5
-6
0
0
0
0
0
0
0
0
-2
0
0
-15
-76
71
7
-2
1
0
0
0
0
0
0
0
2
1
-1
-1
-14
-34
-8
-67
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-14
-1
34
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
-2
0
0
0
-2
14
-25
-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
9
-9
-101
-33
0
0
1
0
0
0
0
0
0
0
0
0
-6
-65
-53
15
-59
-5
74
-11
0
0
0
0
0
0
0
34
3
3
13
-75
17
16
99
-4
1
0
0
0
0
0
0
1
2
13
6
16
-47
1
-25
-84
-2
0
0
0
0
0
0
0
1
1
7
0
-8
-10
-10
48
-35
-4
0
0
0
0
0
0
0
0
2
1
0
0
-15
39
-33
0
0
0
0
0
0
0
0
0
0
0
-1
0
-17
0
53
-10
-15
1
0
0
0
0
0
0
0
0
0
0
-8
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
1
14
-25
4
-34
0
-25
0
0
0
0
0
0
0
0
0
4
1
-23
-53
-102
-107
75
-20
0
0
0
0
0
0
0
0
11
0
0
-8
-12
52
79
-8
39
0
0
0
0
0
0
0
-2
0
-2
-2
5
-33
39
-6
-2
-9
0
0
0
0
0
0
0
0
-9
-14
14
-1
13
0
43
-17
0
0
0
0
0
0
0
0
0
1
-46
2
2
0
-1
9
-2
-4
0
0
0
0
0
0
0
0
0
3
-1
0
33
0
-43
-5
0
0
0
0
0
0
0
0
0
0
6
0
0
3
3
2
-26
0
0
0
0
0
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
-3
3
-20
0
-78
2
0
0
0
0
0
0
0
27
0
0
41
-131
14
-107
-53
22
0
0
0
0
0
0
0
5
1
-2
0
37
-45
13
-96
-5
-1
0
0
0
0
0
0
0
0
13
-18
52
-1
-100
82
-14
53
14
0
0
0
0
0
0
0
-1
-14
-17
2
-57
-2
9
0
26
0
0
0
0
0
0
0
0
-2
4
-17
1
-15
-105
0
-36
1
17
0
0
0
0
0
0
0
-1
9
1
11
-120
9
85
0
-100
-5
0
0
0
0
0
0
0
0
-5
0
-30
-6
-24
9
-27
-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
14
-8
46
-86
17
0
-78
1
0
0
0
0
0
0
7
-5
0
-1
-3
33
47
-5
55
-60
-1
0
0
0
0
0
0
4
44
-1
5
17
-48
-6
-42
-67
-16
0
0
0
0
0
0
0
-20
-25
-1
-22
25
-48
-94
31
-34
23
0
0
0
0
0
0
0
1
-9
-10
-18
-33
-58
-18
-38
2
-9
0
0
0
0
0
0
0
0
54
0
0
-13
-90
-41
0
-62
21
0
0
0
0
0
0
0
0
-3
6
-4
97
16
1
-71
0
0
0
0
0
0
0
0
0
0
-1
0
5
-3
5
17
-56
-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
11
0
-25
-4
-9
-35
-19
-27
0
-44
0
0
0
0
0
0
0
4
34
11
29
70
60
-87
109
-22
-23
8
0
0
0
0
0
0
1
-4
-33
-64
11
-15
24
-44
0
10
9
0
0
0
0
0
0
5
-36
-37
11
-45
-23
11
-138
-14
-46
0
0
0
0
0
0
0
45
-11
-7
-25
-36
44
-114
-11
31
0
0
0
0
0
0
0
0
1
11
-19
-40
-52
-84
16
63
0
20
0
0
0
0
0
0
0
-10
4
-58
8
-6
61
119
2
-35
0
0
0
0
0
0
0
0
-5
7
5
-19
4
-10
-21
-10
14
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
11
16
9
23
83
-9
-1
0
-29
3
0
0
0
0
0
0
0
2
-7
-1
61
20
86
19
-62
40
-34
0
0
0
0
0
0
0
-77
23
16
-29
-39
56
37
-2
-125
-5
0
0
0
0
0
0
0
-5
31
21
-40
-50
-44
74
4
-5
-2
0
0
0
0
0
0
0
53
14
15
-15
-31
-43
-9
-21
-4
0
0
0
0
0
0
0
0
-34
-29
48
-32
-1
99
0
40
0
1
0
0
0
0
0
0
0
-11
-14
-27
-21
-2
-146
-17
4
-9
0
0
0
0
0
0
0
0
0
-8
-16
2
-34
-98
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
1
-5
13
1
0
4
3
0
0
0
0
0
0
0
0
13
4
10
34
18
0
-13
46
5
0
0
0
0
0
0
0
0
0
-1
0
-14
-3
-14
3
80
-5
0
0
0
0
0
0
0
0
-1
0
0
-7
-1
6
-18
32
-4
0
0
0
0
0
0
0
0
-7
0
0
0
2
-56
-53
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
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
7
0
0
0
0
0
0
0
0
0
0
0
2
0
14
1
21
0
5
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
-5
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
27
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
19
18
0
0
0
0
0
0
0
0
0
0
0
0
3
1
19
-13
-5
0
0
0
0
0
0
0
0
0
0
0
-2
-5
2
2
5
18
-45
0
0
0
0
0
0
0
0
9
1
-2
0
-19
-55
-7
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
101
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
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
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
36
0
31
1
5
0
0
0
0
0
0
0
0
0
0
0
4
-7
49
-17
-33
0
0
0
0
0
0
0
0
0
0
-10
-2
4
-65
-7
-16
15
-25
0
0
0
0
0
0
0
0
0
0
0
-33
4
-69
2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-34
0
0
0
0
0
0
0
0
0
4
0
-11
0
-25
-18
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
-8
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
3
-84
1
-1
0
0
0
0
0
0
0
0
-1
0
0
3
-31
-62
1
7
1
0
0
0
0
0
0
0
2
0
0
-1
0
69
1
54
-3
-1
0
0
0
0
0
0
0
0
-2
0
-19
-2
15
58
-3
-7
-1
0
0
0
0
0
0
0
0
-21
5
0
-1
0
-13
37
-48
-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
7
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
-17
0
0
16
23
-14
-74
-2
20
0
0
0
0
0
0
0
0
2
0
1
2
-1
9
1
-20
0
0
0
0
0
0
0
0
-7
0
1
-2
1
-28
31
-1
1
-58
0
0
0
0
0
0
0
0
-5
0
4
-18
-16
-25
18
35
0
0
0
0
0
0
0
0
0
1
-1
0
0
-87
0
-35
3
-3
0
0
0
0
0
0
0
0
0
4
0
8
0
46
4
7
0
0
0
0
0
0
0
0
0
-3
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
8
2
-36
62
0
-16
0
0
0
0
0
0
0
0
15
0
-10
48
-1
27
24
-55
13
0
0
0
0
0
0
0
-1
2
0
-2
-32
-11
-92
-4
-52
-9
0
0
0
0
0
0
0
0
0
3
47
-27
-36
-93
-14
-3
1
0
0
0
0
0
0
0
0
7
0
53
-52
-19
52
0
6
0
0
0
0
0
0
0
0
-1
3
8
-45
18
1
-6
0
6
1
0
0
0
0
0
0
0
0
-17
-1
0
-6
-3
0
-15
11
0
0
0
0
0
0
0
0
0
5
3
-22
13
0
-7
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
23
-5
-2
-55
0
-5
0
0
0
0
0
0
0
-1
11
9
1
-30
68
-20
-31
-4
14
1
0
0
0
0
0
0
-3
-4
0
-6
-25
-53
-78
-37
-34
5
0
0
0
0
0
0
0
18
-3
1
9
25
56
68
-3
84
-14
0
0
0
0
0
0
0
-5
0
-47
29
-4
27
19
24
-88
0
0
0
0
0
0
0
0
0
3
19
7
-14
35
1
-43
0
10
0
0
0
0
0
0
0
0
1
-18
13
-21
0
8
0
-48
0
0
0
0
0
0
0
0
0
4
-1
-5
-7
-139
8
67
0
5
0
0
0
0
0
0
0
0
0
0
0
3
0
-15
11
0
0
0
0
0
0
0
0
0
2
0
-16
15
2
-35
-10
-25
0
10
0
0
0
0
0
0
0
-31
21
-39
-5
51
60
-21
23
-59
-42
-3
0
0
0
0
0
0
0
-14
6
-29
-16
-62
-53
53
48
-33
3
0
0
0
0
0
0
0
-43
-14
23
-8
38
10
-59
8
130
-3
0
0
0
0
0
0
18
-14
-57
66
-11
-72
177
-27
-52
-21
0
0
0
0
0
0
0
-21
-3
-57
43
-18
76
34
0
3
0
0
0
0
0
0
0
0
2
3
-8
0
-20
-10
-47
-47
0
0
0
0
0
0
0
0
0
0
7
-2
19
-2
7
-43
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-4
2
-1
0
0
0
0
0
0
0
0
0
-7
11
-11
45
-14
33
11
0
-3
-2
0
0
0
0
0
0
0
12
41
-23
54
13
-99
90
66
67
-23
0
0
0
0
0
0
0
24
9
8
-23
45
117
31
-17
13
-21
0
0
0
0
0
0
0
-79
-16
4
-1
-20
3
12
-7
-17
2
0
0
0
0
0
0
0
21
-59
-13
47
15
-19
-44
-64
-19
0
0
0
0
0
0
0
0
114
76
-3
104
-48
-19
64
0
-33
0
0
0
0
0
0
0
0
-3
16
-16
10
52
11
76
80
0
0
0
0
0
0
0
0
0
0
23
-1
0
-2
38
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
5
0
27
-2
4
0
19
-17
0
0
0
0
0
0
0
0
-1
1
1
1
10
-1
-29
9
-16
0
0
0
0
0
0
0
0
-7
0
0
-4
3
5
47
3
27
0
0
0
0
0
0
0
0
-1
0
8
-2
10
26
-2
4
-10
0
0
0
0
0
0
0
0
1
-2
6
7
23
21
0
19
1
0
0
0
0
0
0
0
0
3
1
0
6
-9
-3
-14
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
-17
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-31
0
-13
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
47
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-29
0
0
0
0
0
0
0
0
0
0
3
0
0
5
2
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
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
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
24
-81
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
-29
-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
90
1
-3
0
0
0
0
0
0
0
0
-9
0
0
3
-1
-44
-20
31
21
0
0
0
0
0
0
0
-4
0
0
-9
0
-5
3
-62
7
-2
0
0
0
0
0
0
0
0
0
4
0
8
11
53
-35
15
0
0
0
0
0
0
0
0
7
2
10
-3
-10
48
-3
5
7
0
0
0
0
0
0
0
0
0
7
1
0
32
0
-39
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-16
5
0
0
0
0
0
0
0
0
0
0
5
0
0
25
-61
6
-81
8
-9
0
0
0
0
0
0
0
2
4
0
0
-33
17
-82
24
-11
-3
0
0
0
0
0
0
0
-8
0
0
-13
3
-35
-2
-29
-1
-67
0
0
0
0
0
0
0
0
-8
4
-5
4
44
14
32
-16
0
0
0
0
0
0
0
0
0
10
-4
1
-10
36
-43
-5
-2
1
0
0
0
0
0
0
0
0
0
15
21
42
-14
0
8
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
-23
14
0
25
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
-26
2
-7
0
34
0
0
0
0
0
0
0
0
-10
-2
26
1
98
-14
4
23
-59
2
0
0
0
0
0
0
5
25
-4
6
43
-15
-58
-28
29
-23
0
0
0
0
0
0
0
20
37
-5
-35
-20
-32
99
42
48
-84
-1
0
0
0
0
0
0
4
39
34
23
31
18
20
-22
-82
-7
0
0
0
0
0
0
0
25
-2
6
-55
-8
-76
-25
-12
23
1
0
0
0
0
0
0
0
6
-10
33
-27
39
10
-48
0
-169
0
0
0
0
0
0
0
0
20
-6
-6
6
-6
10
-22
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
-9
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
-20
-65
0
0
-3
0
0
0
0
0
0
0
0
4
-18
0
11
-123
-40
9
120
-103
1
0
0
0
0
0
0
0
-54
-13
0
-24
67
-51
-104
-91
5
0
0
0
0
0
0
0
0
-77
-33
15
56
67
43
-12
-55
1
0
0
0
0
0
0
0
0
79
-16
9
-56
-87
68
-29
47
1
1
0
0
0
0
0
0
0
0
-28
-18
32
17
-50
-16
51
37
0
0
0
0
0
0
0
0
-8
-71
-47
85
-71
-39
18
-15
-9
0
0
0
0
0
0
0
0
0
-10
9
15
47
-91
-24
-21
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
-27
2
-56
0
0
0
0
0
0
0
0
-5
4
0
4
19
-2
5
19
-1
0
0
0
0
0
0
0
0
0
2
0
4
-5
6
-15
-13
-20
0
0
0
0
0
0
0
0
0
0
-1
20
-5
-7
-2
3
-1
0
0
0
0
0
0
0
0
-3
0
0
-2
10
19
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
-9
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
30
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
47
3
0
0
0
0
0
0
0
0
15
-5
7
4
17
-25
-16
0
-2
0
0
0
0
0
0
0
0
3
-2
-2
-6
0
21
0
-1
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
-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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-69
-14
-23
5
0
0
0
0
0
0
0
0
2
0
0
-3
26
0
91
-8
-5
-1
0
0
0
0
0
0
0
11
0
0
33
0
30
37
11
-39
0
0
0
0
0
0
0
0
0
14
22
6
-55
16
29
4
-14
0
0
0
0
0
0
0
0
71
-15
-1
52
26
33
11
47
0
0
0
0
0
0
0
0
0
14
0
0
7
-10
0
-11
1
0
0
0
0
0
0
0
0
0
0
-7
-4
4
8
-33
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
22
-7
0
0
0
0
0
0
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
15
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
4
-24
7
4
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
14
1
-90
5
0
0
0
0
0
0
0
0
2
0
-4
3
-1
11
-1
4
-2
0
0
0
0
0
0
0
0
0
0
-5
-1
0
2
-5
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
2
0
0
0
-15
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
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
-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
21
14
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-33
-1
20
-6
0
0
0
7
0
0
0
0
0
0
0
0
9
1
-32
2
0
6
0
0
-7
0
0
0
0
0
0
0
0
0
44
-7
-11
-1
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
2
-15
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-10
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
52
17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
56
1
10
-1
23
-3
0
-1
0
0
0
0
0
0
0
0
-4
-5
36
-10
-62
16
14
0
0
-53
0
0
0
0
0
0
0
0
-5
34
65
9
50
-1
8
4
-9
0
0
0
0
0
0
0
0
-4
-22
-1
-23
-21
27
13
-25
-24
0
0
0
0
0
0
0
0
18
2
-41
49
-33
-11
1
-1
5
0
0
0
0
0
0
0
0
0
2
-13
8
-15
-25
-1
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
5
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
43
0
-45
-3
3
0
0
0
0
0
0
0
0
0
0
0
-33
-25
7
-33
-16
-1
5
0
-1
-11
0
0
0
0
0
0
1
23
7
-15
56
-61
-9
-10
1
7
0
0
0
0
0
0
0
0
-9
46
35
44
46
2
-5
2
2
1
0
0
0
0
0
0
0
6
-39
24
-25
60
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-31
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
21
-4
0
0
0
0
0
0
0
0
0
0
0
2
-21
-21
35
-4
0
0
1
0
0
0
0
0
0
0
0
-7
-5
37
-14
-2
36
-3
1
-1
0
0
0
0
0
0
0
0
-7
5
68
-17
14
8
2
0
-2
4
0
0
0
0
0
0
0
-1
0
-21
13
-2
-4
2
13
-13
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
45
3
9
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-3
37
7
-1
0
1
-2
-9
0
0
0
0
0
0
0
3
10
-3
25
13
4
-2
0
-1
0
0
0
0
0
0
0
0
0
16
5
20
-3
1
-10
3
0
-1
0
0
0
0
0
0
0
0
-9
-4
-7
15
33
-2
5
0
-16
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-55
-1
-31
0
0
0
0
0
0
0
0
0
0
0
-9
8
10
-34
-54
-15
-3
0
0
3
0
0
0
0
0
0
0
3
-58
0
-9
-23
6
4
3
-1
6
0
0
0
0
0
0
0
0
1
-31
26
8
6
33
4
2
1
0
0
0
0
0
0
0
0
0
8
-8
-6
29
0
-16
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
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-45
27
4
0
0
-17
0
0
0
0
0
0
0
0
-18
-43
-8
-15
1
-7
0
6
-3
-2
0
0
0
0
0
0
0
2
-7
8
3
17
17
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
-11
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
-15
0
11
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-14
33
7
-3
0
0
-1
0
0
0
0
0
0
0
0
-6
57
8
20
-2
-27
-1
0
11
0
0
0
0
0
0
0
0
-2
30
25
12
-27
0
8
0
-16
0
0
0
0
0
0
0
0
-18
-45
-20
-29
25
-26
-4
0
-35
0
0
0
0
0
0
0
0
0
2
0
-33
2
-4
-8
1
0
0
0
0
0
0
0
0
0
0
6
13
-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
-15
0
0
108
-1
-3
0
0
0
0
0
0
0
0
0
0
6
4
94
-106
-41
11
15
0
0
0
0
0
0
0
0
0
0
-4
-30
32
41
-81
47
14
1
-10
-4
0
0
0
0
0
0
0
0
41
35
97
-4
-65
-14
34
27
-10
0
0
0
0
0
0
0
1
84
17
5
-68
44
-7
4
-7
-15
0
0
0
0
0
0
0
-1
-5
-18
-25
-69
-15
2
2
5
7
0
0
0
0
0
0
0
0
5
-13
32
4
-22
2
14
-27
15
0
0
0
0
0
0
0
0
-5
-2
-1
-19
-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
-47
0
41
-6
0
0
0
0
0
0
0
0
0
0
0
-3
30
-73
10
-9
-19
0
0
1
0
2
0
0
0
0
0
0
-7
9
33
0
111
-25
7
1
3
-18
3
0
0
0
0
0
0
2
54
35
-43
18
23
5
-4
-2
-10
0
0
0
0
0
0
0
1
54
16
7
44
-11
-12
-35
11
-44
-9
0
0
0
0
0
0
0
16
16
14
15
-77
-8
5
-17
19
0
0
0
0
0
0
0
0
1
-18
-5
10
-3
20
10
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
-25
0
-24
0
0
0
0
0
0
0
0
0
0
0
2
6
50
35
16
3
0
0
0
0
0
0
0
0
0
0
0
0
-15
14
-23
48
8
10
3
17
-1
6
0
0
0
0
0
0
1
-9
137
-22
8
27
11
15
-4
7
0
0
0
0
0
0
0
-3
33
-43
29
39
32
-17
2
26
2
-2
0
0
0
0
0
0
0
-23
-25
18
9
-9
-18
-1
-5
-1
0
0
0
0
0
0
0
0
0
2
-2
-3
-13
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
-42
0
-17
0
-9
1
0
0
0
0
0
0
0
0
0
-1
11
-43
103
0
19
0
0
0
0
0
0
0
0
0
0
0
9
-18
-33
-8
-11
-3
9
1
6
2
1
0
0
0
0
0
0
-2
-7
-29
16
5
13
7
4
-5
2
3
0
0
0
0
0
0
-2
-33
71
14
1
44
-33
-31
1
29
0
0
0
0
0
0
0
0
11
-5
9
-10
9
-11
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
23
35
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-4
-35
-3
-48
2
3
0
0
0
0
0
0
0
0
0
0
7
34
-18
72
4
37
1
15
10
-10
0
1
0
0
0
0
0
1
34
-50
16
23
-55
-23
-3
-4
5
1
0
0
0
0
0
0
0
30
-37
25
50
20
-3
-7
-33
-2
0
0
0
0
0
0
0
0
-10
-54
-10
-2
9
10
-3
-2
0
0
0
0
0
0
0
0
0
0
5
-4
-15
0
1
-17
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
-31
-6
8
1
0
0
0
0
0
0
0
0
0
0
0
0
45
10
-15
-2
14
15
0
0
0
0
1
0
0
0
0
0
0
3
2
24
-18
21
15
3
3
2
1
0
0
0
0
0
0
0
10
32
-10
3
53
5
1
-14
-9
0
0
0
0
0
0
0
0
-2
5
-46
-15
13
46
4
3
3
-2
0
0
0
0
0
0
0
6
4
2
-14
5
5
-6
0
-17
0
0
0
0
0
0
0
0
0
0
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
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
-24
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
14
10
2
2
0
-1
-1
6
0
0
0
0
0
0
0
0
2
-22
-14
-1
4
-2
1
-2
1
1
0
0
0
0
0
0
0
0
30
5
10
-1
27
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
-45
-26
-2
-7
2
0
0
0
0
0
0
0
0
0
0
0
17
-53
-17
-11
16
32
0
0
-1
0
0
0
0
0
0
0
0
-1
76
-16
-36
-14
-11
0
0
-6
0
0
0
0
0
0
0
0
4
43
65
8
-71
-10
24
0
13
0
0
0
0
0
0
0
0
-6
-97
9
10
6
-20
24
-1
61
0
0
0
0
0
0
0
0
0
26
14
-23
-5
-6
-13
-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
20
41
29
-44
11
26
-13
0
0
0
0
0
0
0
0
0
0
-2
29
25
36
-59
61
26
0
0
0
0
0
0
0
0
0
0
-8
-44
-20
-18
32
16
19
1
-33
5
0
0
0
0
0
0
0
0
-58
13
142
5
-43
-27
75
3
-9
0
0
0
0
0
0
0
2
21
-24
-1
-15
-52
43
17
0
-21
0
0
0
0
0
0
0
0
74
-62
-43
-60
6
-35
10
-1
9
0
0
0
0
0
0
0
0
0
8
-6
2
3
9
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
-13
-43
10
53
-1
2
0
0
0
0
0
0
0
0
0
-5
1
37
40
-34
-47
18
0
0
0
1
0
0
0
0
0
0
1
0
-3
1
-64
-23
24
-7
1
-32
-5
0
0
0
0
0
0
1
10
6
-10
15
58
10
8
-4
-5
-1
0
0
0
0
0
0
2
-5
20
26
36
-13
22
5
-6
-2
0
0
0
0
0
0
0
0
-2
29
-14
-22
-20
-8
-21
-1
-2
0
0
0
0
0
0
0
0
0
4
-5
16
-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
32
1
44
1
5
0
0
0
-1
0
0
0
0
0
0
0
74
33
90
51
-20
0
0
-2
0
0
0
0
0
0
0
0
0
-20
78
4
23
-6
5
0
1
-7
1
0
0
0
0
0
0
0
24
9
-89
43
54
-3
15
-6
2
0
0
0
0
0
0
0
0
5
11
-26
3
2
9
6
10
3
0
0
0
0
0
0
0
0
-17
-9
24
8
-9
-1
15
0
0
0
0
0
0
0
0
0
0
0
-26
-4
-10
0
-26
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
-17
-7
0
0
0
0
0
0
0
0
0
0
0
0
19
-62
-45
-8
5
6
0
0
0
0
0
0
0
0
0
0
0
4
-1
-67
5
3
10
2
-1
0
2
0
0
0
0
0
0
-1
43
45
0
19
-8
-7
8
1
0
0
0
0
0
0
0
0
4
-22
32
9
-34
-23
6
3
2
-4
0
0
0
0
0
0
0
0
0
-58
17
3
6
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
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
-16
-4
3
22
8
4
0
0
0
0
0
0
0
0
0
0
2
-26
-10
95
0
32
1
0
3
0
0
0
0
0
0
0
0
-1
0
-9
-22
28
0
23
1
8
-5
0
0
0
0
0
0
0
0
-7
-2
-30
-3
16
0
-3
-1
-20
0
0
0
0
0
0
0
0
14
21
18
-5
22
27
0
1
1
0
0
0
0
0
0
0
0
-5
14
9
14
-10
-6
1
-1
0
0
0
0
0
0
0
0
0
0
-15
-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
10
19
36
-14
0
0
0
0
0
0
0
0
0
0
0
-2
39
3
-41
21
9
-1
0
-2
0
0
0
0
0
0
0
0
0
8
-47
35
7
74
-15
0
0
13
1
0
0
0
0
0
0
0
15
-3
19
-8
0
25
-2
0
4
0
0
0
0
0
0
0
-4
14
5
3
-34
-15
-4
-2
0
1
0
0
0
0
0
0
0
0
-1
17
-5
-4
-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
46
45
7
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
33
44
-6
-17
0
0
0
0
0
0
0
0
0
0
0
-1
-3
11
5
29
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-5
-16
-6
26
16
-1
-1
0
0
1
0
0
0
0
0
0
0
-3
-22
-43
-6
-7
-1
0
-16
-1
0
0
0
0
0
0
0
0
-3
2
27
-1
16
-14
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
10
60
-2
1
0
0
0
0
0
0
0
0
0
0
0
3
17
49
39
-1
0
0
0
0
0
0
0
0
0
0
0
0
15
-7
4
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-8
-24
3
13
-6
-6
11
0
0
0
0
0
0
0
0
0
46
-7
-35
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
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
7
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
20
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
-23
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-95
-2
-5
26
30
-1
0
-5
0
0
0
0
0
0
0
0
-11
-13
59
22
-17
23
0
0
-2
0
0
0
0
0
0
0
0
3
-21
-63
-33
27
-15
5
8
27
0
0
0
0
0
0
0
0
6
-64
-193
16
-4
-56
7
0
10
0
0
0
0
0
0
0
0
-1
-7
0
33
-5
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-44
1
-29
0
0
0
2
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
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
60
11
-12
47
-20
0
0
0
0
0
0
0
0
0
0
45
-19
-65
-31
14
-64
-2
0
-2
0
0
0
0
0
0
0
0
-1
-16
33
27
3
9
12
3
-53
13
0
0
0
0
0
0
0
-1
13
-19
32
-49
53
85
-22
-21
20
0
0
0
0
0
0
0
0
45
1
-3
-105
71
-22
0
-1
7
0
0
0
0
0
0
0
0
53
-5
-33
126
16
-61
-14
17
-2
0
0
0
0
0
0
0
0
1
-34
-15
-33
39
9
1
-2
0
0
0
0
0
0
0
0
0
0
-3
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
-3
4
40
-31
14
-39
10
0
0
0
0
0
0
0
0
0
0
-5
-39
19
-1
-15
-30
1
0
0
0
3
0
0
0
0
0
0
0
-2
68
45
-61
20
23
-4
4
8
4
0
0
0
0
0
0
0
91
13
-17
93
-53
7
-2
4
2
0
0
0
0
0
0
0
0
-5
25
14
-50
33
-7
-23
-4
7
0
0
0
0
0
0
0
0
6
0
2
-8
18
62
-46
4
-1
0
0
0
0
0
0
0
0
0
4
2
-5
-32
48
-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
29
-26
36
24
21
0
0
0
-1
0
0
0
0
0
0
0
2
-25
11
39
-53
3
-8
0
0
0
0
0
0
0
0
0
0
0
-28
-1
53
21
-9
17
-8
0
20
2
0
0
0
0
0
0
2
21
-45
1
22
4
-4
2
0
-2
0
0
0
0
0
0
0
0
33
-7
22
10
-47
53
-5
2
-2
0
0
0
0
0
0
0
0
-6
-21
17
73
-1
-24
-21
1
0
0
0
0
0
0
0
0
0
0
7
-8
21
-100
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
19
43
-14
39
1
0
0
0
0
0
0
0
0
0
0
0
17
-24
53
39
8
-3
0
0
0
0
0
0
0
0
0
0
0
-16
37
-5
-16
11
-35
0
2
-4
0
0
0
0
0
0
0
0
-6
-5
-79
0
-8
-4
0
-2
0
0
0
0
0
0
0
0
0
-4
-7
0
29
1
19
0
2
5
0
0
0
0
0
0
0
0
-14
0
32
-41
1
-9
0
-3
3
0
0
0
0
0
0
0
0
0
5
-35
-17
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
10
-64
3
3
2
0
0
0
0
0
0
0
0
0
0
0
-97
11
22
20
-5
3
0
0
0
0
0
0
0
0
0
0
0
15
28
34
-14
4
-7
-1
-3
8
-4
0
0
0
0
0
0
0
11
45
-1
53
0
-21
2
0
1
0
0
0
0
0
0
0
0
3
148
18
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
0
-4
-5
11
17
0
-7
0
0
0
0
0
0
0
0
0
-1
-31
11
-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
-1
-23
9
37
6
6
0
0
0
0
0
0
0
0
0
0
0
10
4
-50
-24
-48
1
0
0
0
0
0
0
0
0
0
0
0
-6
17
-58
-87
-18
0
2
0
-4
0
0
0
0
0
0
0
0
25
39
-14
-9
13
0
-3
-1
1
0
0
0
0
0
0
0
0
1
-31
22
-10
0
6
-3
0
-1
0
0
0
0
0
0
0
0
1
-23
9
-2
46
8
0
-8
3
0
0
0
0
0
0
0
0
0
16
7
28
0
2
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
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
-47
2
-13
0
0
0
0
0
0
0
0
0
0
-4
25
56
4
-27
-29
10
0
0
0
0
0
0
0
0
0
0
0
21
-20
-14
11
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
-9
-4
-5
-3
0
0
0
0
0
0
0
0
0
0
0
-31
0
-8
14
36
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
15
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
14
15
3
9
-7
4
0
0
0
0
0
0
0
0
0
0
0
8
-19
-13
-26
1
-1
0
0
0
0
0
0
0
0
0
0
0
5
42
34
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
17
13
-14
7
4
-15
0
0
0
0
0
0
0
0
0
0
-2
2
4
-20
10
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
-11
14
-6
9
2
0
2
0
0
0
0
0
0
0
0
0
-3
0
-40
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
11
-1
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
9
13
0
0
0
0
0
0
0
0
0
0
0
-5
25
-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
-17
48
-13
5
0
0
0
0
0
0
0
0
0
0
0
-2
5
27
60
-42
45
3
0
0
0
0
0
0
0
0
0
0
40
-32
-28
-17
-21
33
1
-8
4
0
0
0
0
0
0
0
0
78
-38
27
32
-17
30
23
-3
14
0
0
0
0
0
0
0
0
0
-4
22
49
-8
-29
-2
0
-14
0
0
0
0
0
0
0
0
0
-1
-98
-65
-7
17
0
0
-16
0
0
0
0
0
0
0
0
0
-27
-15
18
4
1
1
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
0
-13
-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
44
-47
-8
-32
25
-44
0
0
0
0
0
0
0
0
0
0
3
-41
84
49
-20
62
-3
0
0
0
0
0
0
0
0
0
0
23
136
36
-17
-29
-31
-102
-16
-19
2
0
0
0
0
0
0
0
0
20
52
9
51
-14
11
0
8
-37
0
0
0
0
0
0
0
0
0
-129
-58
-2
-5
76
-3
0
-11
0
0
0
0
0
0
0
0
-46
-1
23
-5
2
-23
46
5
-13
0
0
0
0
0
0
0
0
1
-10
11
92
45
-58
-14
-4
0
0
0
0
0
0
0
0
0
1
-19
-3
-14
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
1
29
61
48
-4
-6
0
0
0
0
0
0
0
0
0
0
0
-7
47
-19
60
85
-108
-13
0
2
0
0
0
0
0
0
0
0
0
42
101
24
-33
53
3
9
17
-6
3
0
0
0
0
0
0
-26
2
-17
-57
87
-26
46
19
0
13
5
0
0
0
0
0
0
-1
-5
0
-18
17
44
17
6
-13
-46
-1
0
0
0
0
0
0
0
0
23
7
72
-18
78
-39
23
0
0
0
0
0
0
0
0
0
3
24
-3
-34
-50
-29
19
-11
-2
0
0
0
0
0
0
0
0
1
1
-22
15
-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
34
75
-1
-7
-9
10
0
0
1
0
0
0
0
0
0
0
0
43
-4
-48
2
25
-1
0
0
0
2
0
0
0
0
0
0
1
6
175
9
-29
39
7
-10
9
26
6
0
0
0
0
0
0
0
-29
6
60
6
26
2
11
8
24
0
0
0
0
0
0
0
-6
1
74
0
-44
1
-35
-1
1
0
0
0
0
0
0
0
0
0
25
0
-24
-9
98
-55
6
-17
2
0
0
0
0
0
0
0
0
0
24
33
-43
-1
-14
1
0
3
0
0
0
0
0
0
0
0
0
-1
2
-32
0
0
-13
0
0
0
0
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
78
80
-4
1
-1
0
0
0
0
0
0
0
0
0
-1
-8
8
102
-1
-43
-2
0
-1
0
0
0
0
0
0
0
0
0
0
-33
-26
-46
36
2
0
0
1
0
0
0
0
0
0
0
0
15
24
-1
103
-1
1
1
2
7
-3
0
0
0
0
0
0
0
-8
14
40
0
0
17
1
0
-16
0
0
0
0
0
0
0
0
8
-18
0
-63
-3
5
6
-1
2
0
0
0
0
0
0
0
0
-3
0
-13
-10
24
6
2
8
0
0
0
0
0
0
0
0
0
-3
1
-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
6
14
-56
34
3
-8
0
0
0
0
0
0
0
0
0
0
0
-25
-30
67
-84
-13
-4
0
0
0
0
0
0
0
0
0
0
0
-23
80
-23
-52
29
-16
0
-6
0
0
0
0
0
0
0
0
0
5
14
64
0
9
0
8
5
2
0
0
0
0
0
0
0
0
13
16
-8
-10
0
15
0
0
-5
0
0
0
0
0
0
0
0
4
10
40
0
73
2
13
-6
0
0
0
0
0
0
0
0
0
0
61
-14
10
-1
-13
0
-2
0
0
0
0
0
0
0
0
0
0
0
23
-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
-34
-35
-29
-89
45
10
0
0
0
0
0
0
0
0
0
0
0
-9
49
-26
-7
-24
18
0
0
0
0
0
0
0
0
0
0
-1
27
-15
-24
71
20
-10
1
2
-3
0
0
0
0
0
0
0
0
14
-62
-14
58
0
6
0
-7
0
0
0
0
0
0
0
0
0
-6
-16
33
-15
27
0
0
0
4
0
0
0
0
0
0
0
0
0
-11
-64
95
1
0
0
27
-10
0
0
0
0
0
0
0
0
0
10
63
0
51
1
-1
8
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-49
7
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
35
28
-33
8
1
0
0
0
0
0
0
0
0
0
0
0
43
-13
-33
-3
-15
14
1
-1
2
0
0
0
0
0
0
0
0
33
-50
18
45
49
0
-1
0
0
-9
0
0
0
0
0
0
0
1
3
-14
2
5
0
0
0
16
0
0
0
0
0
0
0
0
0
-30
68
5
4
0
0
0
5
0
0
0
0
0
0
0
0
0
-20
-4
-14
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
-5
1
-6
18
1
0
0
0
0
0
0
0
0
0
0
0
-19
23
-24
6
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-16
43
48
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
11
80
-20
2
0
0
0
0
0
0
0
0
0
0
0
-2
25
0
53
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
-17
2
0
1
-10
3
0
0
0
0
0
0
0
0
0
0
0
1
7
-10
-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
31
-29
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
33
-6
-5
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
-23
24
33
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
3
9
2
9
-2
-11
0
0
0
0
0
0
0
0
0
0
4
-2
10
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
33
0
25
-4
0
0
0
0
0
0
0
0
0
0
0
34
71
11
5
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
-71
-13
1
-44
2
9
1
1
-14
0
0
0
0
0
0
0
0
17
19
1
54
54
13
26
-6
-53
0
0
0
0
0
0
0
0
-70
-1
-33
-29
60
54
-1
-25
-46
0
0
0
0
0
0
0
0
0
32
51
-75
15
-11
11
-9
6
0
0
0
0
0
0
0
0
2
0
71
5
-13
-1
0
2
-6
0
0
0
0
0
0
0
0
0
3
0
8
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-33
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
85
128
71
-45
-14
0
0
0
0
0
0
0
0
0
0
-2
22
-9
27
8
-15
0
0
23
0
0
0
0
0
0
0
0
-10
14
-25
98
86
23
46
23
-14
55
0
0
0
0
0
0
0
18
0
-71
53
-32
54
3
-64
48
33
0
0
0
0
0
0
0
0
-55
4
116
36
-28
47
14
-33
32
0
0
0
0
0
0
0
0
0
-37
43
17
-47
-2
5
-1
-20
0
0
0
0
0
0
0
0
-7
0
5
-29
34
-27
-7
-3
5
0
0
0
0
0
0
0
0
-2
4
-17
8
-10
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
25
-6
43
17
3
1
0
0
0
0
0
0
0
0
0
0
-1
56
77
90
25
36
13
0
0
0
-1
0
0
0
0
0
0
-66
-67
43
-28
14
45
-18
6
-25
21
3
0
0
0
0
0
0
-1
-47
14
0
-71
71
-44
57
4
2
2
0
0
0
0
0
0
4
1
59
-20
129
-32
-81
-100
7
-11
1
0
0
0
0
0
0
0
-42
0
-85
-14
37
20
24
-39
-18
0
0
0
0
0
0
0
0
0
73
4
75
-82
-10
21
-31
-2
0
0
0
0
0
0
0
0
3
-74
91
-8
8
-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
11
8
-24
43
8
49
0
0
0
0
0
0
0
0
0
0
0
-52
93
17
14
43
-11
0
0
0
4
0
0
0
0
0
0
-2
86
79
26
3
21
-51
-10
8
29
-15
0
0
0
0
0
0
2
4
22
34
38
69
-15
15
-2
-36
0
0
0
0
0
0
0
-2
-16
-2
54
0
-67
78
0
44
5
0
0
0
0
0
0
0
0
20
27
0
-22
-8
30
0
21
-3
0
0
0
0
0
0
0
0
-4
0
-93
5
50
54
-1
11
1
0
0
0
0
0
0
0
0
0
-2
-21
32
-2
-6
-1
-1
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
6
-23
1
4
5
-11
0
0
0
0
0
0
0
0
0
0
0
23
108
-39
24
32
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
54
18
-8
24
0
0
-2
0
0
0
0
0
0
0
0
-26
-6
32
24
-2
3
5
0
-2
0
0
0
0
0
0
0
0
-4
-100
-2
-13
4
88
71
-18
-13
0
0
0
0
0
0
0
0
2
-62
25
0
60
18
8
4
2
0
0
0
0
0
0
0
0
4
-14
0
-26
0
9
-8
-5
0
0
0
0
0
0
0
0
0
-3
0
44
-7
14
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
30
-19
30
5
0
0
0
0
0
0
0
0
0
0
0
0
5
33
-5
-104
0
3
0
0
0
2
0
0
0
0
0
0
0
43
-15
105
0
48
-29
0
-1
3
0
0
0
0
0
0
0
0
3
-9
9
-19
31
32
0
2
-3
1
0
0
0
0
0
0
0
-3
-13
19
0
-21
-1
-3
0
16
0
0
0
0
0
0
0
0
-2
1
22
-1
0
3
0
34
0
0
0
0
0
0
0
0
0
0
57
-17
0
2
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
16
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-57
60
31
-5
0
0
0
0
0
0
0
0
0
0
0
0
9
35
-16
5
22
0
1
2
4
0
0
0
0
0
0
0
0
13
47
17
49
-56
-4
11
1
0
0
0
0
0
0
0
0
0
-17
54
-30
-77
0
-4
0
-6
0
0
0
0
0
0
0
0
0
-2
15
50
-34
18
0
0
0
0
0
0
0
0
0
0
0
0
0
12
17
-23
0
2
0
-6
5
0
0
0
0
0
0
0
0
0
9
9
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
-13
5
0
23
3
3
0
0
0
0
0
0
0
0
0
0
0
18
53
-7
-11
57
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-22
4
-14
-1
0
0
3
0
0
0
0
0
0
0
0
22
-10
18
-29
21
34
-2
0
-5
0
0
0
0
0
0
0
0
16
-19
-56
-7
-1
-5
0
0
0
0
0
0
0
0
0
0
0
22
51
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
4
-18
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
-15
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
-13
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
-14
24
30
-6
-5
-4
0
0
-1
0
0
0
0
0
0
0
0
25
74
-19
53
9
0
1
0
0
0
0
0
0
0
0
0
0
-3
-8
-17
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
53
6
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
8
3
4
11
0
0
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
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
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
-2
-4
-2
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
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
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
11
0
-19
1
0
0
0
0
0
0
0
0
0
0
0
-1
69
-29
-46
18
4
0
0
-1
0
0
0
0
0
0
0
0
15
-35
-14
5
-19
-10
1
2
-11
0
0
0
0
0
0
0
0
0
-2
-18
-45
-3
21
-13
0
13
0
0
0
0
0
0
0
0
-5
2
-1
-64
-67
-9
-8
6
-31
0
0
0
0
0
0
0
0
0
7
3
84
0
24
0
2
-26
0
0
0
0
0
0
0
0
0
-1
-33
-6
52
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-9
-32
23
43
68
0
0
0
0
0
0
0
0
0
0
0
32
51
11
7
-50
8
0
0
0
0
0
0
0
0
0
0
4
9
-49
4
71
-31
-18
-1
1
50
0
0
0
0
0
0
0
0
-3
-10
-7
-89
-37
-91
-75
-43
39
0
0
0
0
0
0
0
50
67
-33
-58
49
16
90
34
3
39
0
0
0
0
0
0
0
0
91
0
91
-5
50
-70
43
-53
-16
0
0
0
0
0
0
0
0
0
-100
24
32
-33
46
-17
37
-17
0
0
0
0
0
0
0
0
-19
1
80
3
0
0
-14
-7
2
0
0
0
0
0
0
0
0
-16
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
69
-3
-6
3
11
0
0
0
-3
0
0
0
0
0
0
-1
33
-36
-25
-32
-73
10
0
0
0
-10
0
0
0
0
0
0
0
8
9
48
-13
10
10
-4
0
-10
7
0
0
0
0
0
0
0
49
-6
89
26
5
4
-15
-20
-8
0
0
0
0
0
0
0
0
14
-7
-12
-21
-96
80
30
-4
57
-7
0
0
0
0
0
0
0
0
7
5
-43
-62
10
6
46
-19
0
0
0
0
0
0
0
-5
20
0
20
-32
45
2
-4
31
-2
0
0
0
0
0
0
0
4
0
41
0
6
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
44
52
-5
70
2
-7
0
0
0
0
0
0
0
0
0
0
0
22
15
102
65
14
-4
0
0
0
0
-2
0
0
0
0
0
0
22
-3
-44
68
-2
21
0
0
0
2
0
0
0
0
0
0
0
-46
-64
-46
-25
2
0
-2
6
26
0
0
0
0
0
0
0
0
-1
19
14
47
-21
-21
4
-10
-18
0
0
0
0
0
0
0
0
45
1
3
-3
-9
-10
-20
-15
29
0
0
0
0
0
0
0
0
0
76
0
-10
-4
3
2
2
0
0
0
0
0
0
0
0
0
0
0
-24
0
47
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
4
-1
-11
0
5
0
0
0
0
0
0
0
0
0
0
0
49
26
-23
-4
1
-6
0
0
0
0
0
0
0
0
0
0
5
2
-11
-50
24
7
-1
-2
0
-21
-1
0
0
0
0
0
0
0
15
36
105
25
-6
0
0
-5
0
0
0
0
0
0
0
0
-9
-8
-13
14
21
-33
24
-22
14
0
0
0
0
0
0
0
0
0
3
-3
-2
21
5
9
0
-10
-1
-2
0
0
0
0
0
0
0
0
0
-11
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
53
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-31
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-41
14
14
-44
0
-1
26
0
0
0
0
0
0
0
0
10
0
-53
-14
57
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-3
-20
1
4
0
0
0
0
0
0
0
0
0
0
0
15
-2
2
0
24
0
0
1
-8
0
0
0
0
0
0
0
0
0
1
0
9
0
1
0
10
0
0
0
0
0
0
0
0
0
0
5
53
0
5
0
0
0
0
0
0
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
19
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
61
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
-2
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
2
14
5
-3
0
0
0
0
0
0
0
0
0
0
1
7
-1
-18
-16
8
-4
6
0
0
0
0
0
0
0
0
0
7
40
5
-4
0
1
0
0
15
0
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
-25
8
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
66
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
46
-9
2
0
20
-1
0
2
0
0
0
0
0
0
0
0
0
2
-2
8
33
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
5
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
-2
0
1
0
0
4
0
0
0
0
0
0
0
0
0
-7
-1
-5
1
4
2
0
0
0
0
0
0
0
0
0
0
0
10
17
30
4
0
23
0
-16
0
0
0
0
0
0
0
0
-2
0
-107
-3
-10
-1
0
14
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
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
10
0
65
0
-3
0
0
-1
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
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
-13
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
18
1
0
0
0
0
0
0
0
0
0
0
0
0
1
83
-1
22
1
1
0
0
0
0
0
0
0
0
0
0
0
4
-7
42
4
-57
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
9
78
-9
48
0
-1
-13
0
0
0
0
0
0
0
0
52
0
-7
-5
-10
-29
19
8
13
0
0
0
0
0
0
0
0
2
22
0
5
-3
1
16
14
-32
0
0
0
0
0
0
0
0
4
0
-23
-17
-18
-10
6
-16
8
0
0
0
0
0
0
0
0
0
8
0
-3
0
-31
1
24
0
0
0
0
0
0
0
0
0
0
0
-33
8
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
108
-7
147
3
-10
0
0
0
0
0
0
0
0
0
0
0
64
3
2
-14
-9
-44
0
1
0
0
0
0
0
0
0
0
4
-39
3
-43
82
57
-52
1
-1
71
0
0
0
0
0
0
0
0
85
71
-7
28
-27
4
-27
20
23
0
0
0
0
0
0
0
-45
50
-76
-37
-31
21
-27
14
45
-84
0
0
0
0
0
0
0
0
6
38
-45
-23
9
-91
29
29
13
0
0
0
0
0
0
0
0
-9
6
-44
51
6
-42
74
-22
-29
0
0
0
0
0
0
0
0
0
7
31
-3
-29
0
-8
1
0
0
0
0
0
0
0
0
0
-2
0
-7
4
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
2
13
-10
5
4
0
0
0
0
0
0
0
0
0
0
0
-50
-13
-43
43
-2
5
0
0
0
-26
0
0
0
0
0
0
23
-2
80
20
49
17
-71
1
-5
-45
-13
0
0
0
0
0
0
2
6
5
-59
-40
-12
-7
-19
2
-11
2
0
0
0
0
0
0
-31
5
8
22
-25
61
-37
-13
15
-27
6
0
0
0
0
0
0
0
55
-21
124
29
-37
-57
35
-2
47
0
0
0
0
0
0
0
0
0
38
0
23
46
57
35
-16
3
0
0
0
0
0
0
0
0
49
0
25
-5
4
2
0
0
2
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
-18
1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-4
35
14
30
-8
0
0
0
0
0
0
0
0
0
0
0
41
33
5
113
-7
-29
0
0
4
0
0
0
0
0
0
0
0
24
9
12
13
30
-8
3
4
9
0
0
0
0
0
0
0
0
0
65
-29
26
-53
6
-11
-2
5
0
0
0
0
0
0
0
0
-3
-9
-80
43
-3
-5
-10
-3
0
0
0
0
0
0
0
0
0
0
0
51
0
-10
-45
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
19
1
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
-36
-11
48
0
-2
0
0
10
0
0
0
0
0
0
0
0
26
4
19
1
9
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
43
-5
-10
-8
3
0
0
0
0
0
0
0
0
0
0
-11
0
-29
2
-10
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
-23
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
25
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
49
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
-23
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
-9
0
0
0
0
0
0
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
4
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-26
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
13
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
-9
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
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
46
5
63
0
-7
0
0
0
0
0
0
0
0
0
0
0
3
-13
19
6
74
-10
0
0
-2
0
0
0
0
0
0
0
0
0
32
8
87
-66
20
2
0
-4
0
0
0
0
0
0
0
0
53
9
-35
-26
-33
-25
-13
-10
2
0
0
0
0
0
0
0
0
1
5
22
5
-50
-40
1
1
-26
0
0
0
0
0
0
0
0
0
-51
47
-13
-5
-6
-7
-4
3
0
0
0
0
0
0
0
0
0
0
-10
-45
-1
-10
0
18
0
0
0
0
0
0
0
0
0
0
1
-27
1
-21
0
0
0
0
0
0
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
10
4
0
0
0
0
0
0
0
0
0
0
0
0
22
1
103
5
-9
0
0
0
0
-4
0
0
0
0
0
0
0
0
-21
-10
-10
7
-3
-1
0
4
1
0
0
0
0
0
0
0
-9
-22
46
-8
-24
0
-29
0
-14
0
0
0
0
0
0
0
0
0
-17
-7
-86
-4
10
23
3
5
0
0
0
0
0
0
0
0
0
0
6
3
71
5
0
3
3
0
0
0
0
0
0
0
0
0
0
0
-9
2
-1
7
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
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
4
5
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-29
0
-10
-1
0
0
0
0
0
0
0
0
0
0
18
0
22
7
13
5
-14
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-19
0
-5
-8
-14
-5
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
-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
-9
-16
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
9
-18
-5
7
-8
0
-3
0
0
0
0
0
0
0
0
-17
13
-1
1
20
4
-21
-6
33
0
0
0
0
0
0
0
0
18
0
3
0
3
-53
-59
17
0
0
0
0
0
0
0
0
0
2
0
1
-13
26
-4
5
-7
31
0
0
0
0
0
0
0
0
-9
0
0
0
-4
14
2
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
-39
-2
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-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
10
2
0
11
0
0
0
0
0
0
0
0
0
3
-1
-5
0
39
-20
0
29
0
0
0
0
0
0
0
0
-4
0
1
-8
25
-19
-24
-20
5
0
0
0
0
0
0
0
0
-1
0
0
-2
21
25
26
-10
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
27
15
-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
10
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
-20
-33
-39
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-15
-26
-13
1
0
0
0
0
0
0
0
0
1
0
0
0
-5
4
1
11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-31
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
46
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
18
1
4
0
-1
0
0
0
0
0
0
0
0
0
4
3
-7
2
9
-19
-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
9
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
-11
-10
-2
0
0
0
0
0
0
0
0
0
9
-1
3
-9
-1
17
-10
3
0
0
0
0
0
0
0
0
0
0
6
0
-9
-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
-10
5
-41
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
5
11
-17
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
-9
10
0
0
0
0
0
0
0
0
0
13
0
4
-13
5
7
3
-14
39
0
0
0
0
0
0
0
0
-4
0
0
5
-20
15
-53
32
6
0
0
0
0
0
0
0
0
-2
0
0
-1
-2
-1
-5
-44
-1
0
0
0
0
0
0
0
0
-2
0
0
0
16
-1
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
17
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
0
0
2
-2
-17
33
37
1
3
0
14
0
0
0
0
0
0
0
-1
3
-1
60
10
64
-16
-64
14
16
0
0
0
0
0
0
0
0
11
-6
0
-4
79
37
58
11
4
0
0
0
0
0
0
0
0
11
-1
-9
-15
3
6
-12
-2
19
0
0
0
0
0
0
0
0
41
0
4
4
-1
-4
-7
20
-2
0
0
0
0
0
0
0
0
-6
1
0
-3
-25
5
3
-5
13
0
0
0
0
0
0
0
0
0
0
1
-4
0
-11
5
14
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
-2
2
-2
-17
17
-18
0
-13
5
0
0
0
0
0
0
2
18
0
41
29
74
60
-14
-9
24
0
0
0
0
0
0
0
0
0
-3
1
0
-33
54
76
15
-9
0
0
0
0
0
0
0
0
0
-4
-1
0
1
2
14
8
-5
-1
0
0
0
0
0
0
0
-9
0
0
0
-1
22
33
-33
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
2
-27
11
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
76
7
-1
-4
0
-17
-2
0
0
0
0
0
0
0
-1
-9
0
-6
5
53
-23
-34
1
7
0
0
0
0
0
0
0
1
0
4
-3
33
-39
14
-19
-15
-1
0
0
0
0
0
0
0
0
-4
-3
-5
-2
9
-34
-37
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
-9
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
-10
0
0
0
-4
-2
-6
0
-6
0
0
0
0
0
0
0
6
0
-4
-5
-1
14
-21
-17
13
17
-2
1
0
0
0
0
0
0
0
0
1
7
15
9
9
58
-1
0
0
0
0
0
0
0
0
-1
0
1
0
-2
1
36
-6
15
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
11
7
8
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
-8
2
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
-3
0
1
11
6
-18
0
3
-2
0
0
0
0
0
0
0
5
0
-5
9
-9
21
-16
77
9
-4
0
0
0
0
0
0
-2
-1
-18
41
-2
-13
-2
-50
6
-2
0
0
0
0
0
0
0
0
2
0
-1
0
-29
6
-24
11
8
0
0
0
0
0
0
0
0
1
1
2
0
0
11
3
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
1
6
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
2
0
0
3
-6
4
6
0
-11
0
0
0
0
0
0
0
0
0
3
-1
17
20
17
1
68
5
-1
0
0
0
0
0
0
0
1
5
-5
5
10
16
-19
-53
-2
0
0
0
0
0
0
0
0
2
0
2
0
-26
45
33
2
52
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
29
-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
-9
-8
-3
-10
0
41
1
-4
0
0
0
0
0
0
0
1
0
0
0
0
7
-45
0
1
-1
0
0
0
0
0
0
0
0
2
0
-1
-1
-1
-1
-3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-32
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
9
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
46
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
1
0
10
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
15
30
27
1
0
0
0
0
0
0
0
0
0
-2
0
-5
-18
32
-1
32
-46
-41
0
0
0
0
0
0
0
0
0
0
0
1
-5
11
57
3
-4
0
0
0
0
0
0
0
0
-3
0
2
1
0
0
-4
4
0
0
0
0
0
0
0
0
0
-1
0
0
-4
-1
-9
-17
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
13
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
61
44
-31
14
0
-21
0
0
0
0
0
0
0
-8
11
-1
-7
-46
-14
38
-32
24
7
0
0
0
0
0
0
0
0
-2
-4
31
2
-39
1
24
-17
0
0
0
0
0
0
0
0
0
24
17
4
9
9
-6
43
18
10
0
0
0
0
0
0
0
0
6
0
4
-3
-8
-27
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
-64
-13
6
4
0
0
0
0
0
0
0
0
0
0
0
-2
5
-34
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
29
39
0
-1
-1
0
0
0
0
0
0
0
-5
-1
-2
26
59
-30
31
-6
-3
-10
0
0
0
0
0
0
0
8
0
1
-20
-8
6
-24
-53
34
-3
0
0
0
0
0
0
-1
0
0
-3
-14
-57
13
-11
43
-7
-1
0
0
0
0
0
0
0
0
0
-1
0
0
6
14
5
4
0
0
0
0
0
0
0
0
0
0
1
0
21
-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
11
6
0
-9
-1
0
0
0
0
0
0
-2
0
10
4
-11
-20
-1
-5
13
-45
-2
0
0
0
0
0
0
0
0
-5
0
0
-13
-8
30
92
4
0
0
0
0
0
0
0
0
3
6
-2
17
-5
5
-8
14
-13
0
0
0
0
0
0
0
0
1
0
0
4
0
27
25
13
9
0
0
0
0
0
0
0
0
0
0
0
0
1
1
57
-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
17
0
0
0
0
0
0
0
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
31
-15
-5
-34
-4
-1
0
0
0
0
0
0
0
-1
-4
-1
0
-6
24
27
46
-2
0
0
0
0
0
0
0
0
0
-1
0
2
-11
7
8
-4
-1
-1
0
0
0
0
0
0
0
-4
0
0
0
10
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
-35
9
0
34
0
0
0
0
0
0
0
2
0
0
3
0
-9
-8
20
45
34
0
0
0
0
0
0
0
0
9
0
2
26
0
9
-26
82
-21
0
0
0
0
0
0
0
0
0
0
1
13
36
-15
10
3
-8
0
0
0
0
0
0
0
0
0
2
0
-1
-2
-13
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-16
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
0
12
33
7
0
0
0
0
0
0
0
0
0
-26
-1
0
-5
-1
23
-10
-8
0
0
0
0
0
0
0
0
16
3
0
1
-10
53
6
10
7
0
0
0
0
0
0
0
0
6
-4
0
0
-1
9
-9
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
-14
-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
17
0
1
0
0
0
0
0
0
0
0
1
0
5
-17
4
5
-14
4
1
0
0
0
0
0
0
0
0
0
0
1
-29
-1
53
0
-24
-8
0
0
0
0
0
0
0
0
0
0
24
-3
16
18
-2
17
5
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
-20
-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
26
0
26
0
0
0
0
0
0
0
0
0
0
-2
3
-9
-53
-6
13
0
0
0
0
0
0
0
0
0
0
0
0
2
0
33
58
0
0
0
0
0
0
0
0
0
0
0
0
-20
9
7
-1
-10
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
-13
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
-14
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
-9
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
47
53
-46
4
0
0
0
0
0
0
0
0
0
-1
2
-2
-2
76
51
-37
-15
-18
0
0
0
0
0
0
0
0
-2
-2
-1
-23
1
-11
22
22
-49
0
0
0
0
0
0
0
0
0
0
-13
5
2
-33
11
-47
0
0
0
0
0
0
0
0
0
-5
0
0
-7
23
-5
3
-10
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
74
7
0
-31
0
0
0
0
0
0
0
0
21
1
-19
26
26
70
84
-30
91
0
0
0
0
0
0
0
2
8
20
0
-2
-14
-14
51
38
-5
0
0
0
0
0
0
0
0
0
35
27
92
-1
37
1
-96
-5
0
0
0
0
0
0
0
-2
-27
-2
6
5
-1
46
98
16
0
0
0
0
0
0
0
0
0
-3
4
-11
0
3
11
-5
-27
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-14
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
51
-39
0
-21
0
0
0
0
0
0
0
0
16
6
0
-3
77
50
16
39
-8
3
0
0
0
0
0
0
0
3
0
5
-14
-21
14
82
57
-23
0
0
0
0
0
0
0
0
8
0
25
14
32
-13
217
-10
-6
2
0
0
0
0
0
0
0
0
-4
-4
-11
20
51
36
29
0
0
0
0
0
0
0
0
0
24
-3
-2
-1
0
-9
67
-13
0
0
0
0
0
0
0
0
0
0
0
0
10
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
9
0
-3
-59
9
0
-56
-3
0
0
0
0
0
0
0
-2
0
2
-29
33
23
71
77
-6
2
0
0
0
0
0
0
0
15
0
1
-11
-31
31
-14
-4
1
0
0
0
0
0
0
0
0
-3
9
0
3
18
24
17
26
14
1
0
0
0
0
0
0
0
0
0
0
-4
-5
68
26
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
45
-13
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-14
1
0
-5
-1
0
0
0
0
0
0
0
0
0
3
1
31
19
62
-12
5
-8
0
0
0
0
0
0
0
-4
1
-19
-3
-28
-64
29
77
35
0
0
0
0
0
0
0
0
0
-3
4
0
5
-24
-49
-8
26
0
0
0
0
0
0
0
0
-3
0
0
-8
0
0
-37
1
1
0
0
0
0
0
0
0
0
0
0
0
1
-18
1
-3
1
0
0
0
0
0
0
0
0
0
0
1
9
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
26
0
0
0
0
0
0
0
0
0
0
-2
0
0
-7
13
-1
-3
-14
4
0
0
0
0
0
0
0
0
0
0
0
-4
1
-6
1
11
-2
0
0
0
0
0
0
0
0
0
-4
0
-4
0
-1
16
3
22
0
0
0
0
0
0
0
0
0
0
6
4
-13
-4
-7
-4
1
0
0
0
0
0
0
0
0
0
0
0
1
2
9
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
17
5
-17
18
0
1
-2
0
0
0
0
0
0
0
0
0
4
-17
-4
-5
-10
39
-4
0
0
0
0
0
0
0
0
0
1
6
0
4
-40
-54
-40
10
0
0
0
0
0
0
0
0
0
-7
-1
-1
5
0
1
63
-10
0
0
0
0
0
0
0
0
0
-9
-3
2
2
-50
2
10
-2
0
0
0
0
0
0
0
0
3
6
0
0
5
-13
30
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
-11
1
4
0
15
0
0
0
0
0
0
0
0
4
-2
0
0
0
-3
36
-32
-5
0
0
0
0
0
0
0
0
-14
1
0
1
-37
-4
76
-4
-13
0
0
0
0
0
0
0
0
0
0
0
2
-37
-7
0
10
-35
0
0
0
0
0
0
0
0
0
0
2
-21
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-16
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
17
-9
-1
-1
0
0
0
0
0
0
0
0
-14
0
-2
0
0
-25
-15
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
2
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
5
-6
1
-10
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
17
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
6
0
-21
0
0
0
0
0
0
0
0
0
-3
-2
0
9
46
21
-11
24
-19
0
0
0
0
0
0
0
0
11
-1
60
-18
99
109
-5
9
13
0
0
0
0
0
0
0
0
7
0
-18
-1
-11
55
-36
-15
-1
0
0
0
0
0
0
0
0
0
-2
-3
15
14
0
-47
6
1
0
0
0
0
0
0
0
0
3
0
0
-15
11
-21
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
73
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
7
54
-63
0
1
0
0
0
0
0
0
0
2
-21
0
-5
10
79
-5
48
-20
12
0
0
0
0
0
0
0
-2
-29
-2
-33
59
-57
-2
-11
-9
-26
0
0
0
0
0
0
0
1
3
-9
14
-14
5
-21
-25
-15
89
0
0
0
0
0
0
0
4
0
6
54
-49
48
58
58
19
-21
0
0
0
0
0
0
0
0
-44
-6
16
-37
61
-15
49
4
0
0
0
0
0
0
0
0
0
1
-2
0
57
-11
54
-1
-8
0
0
0
0
0
0
0
0
0
0
-1
4
0
5
51
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
22
-42
-45
0
26
-9
0
0
0
0
0
0
0
-2
-1
-3
-4
10
100
-33
86
1
16
0
0
0
0
0
0
0
-3
11
9
14
-8
56
57
-64
-11
-15
0
0
0
0
0
0
0
4
-9
25
-53
15
-7
20
120
133
5
0
0
0
0
0
0
1
2
0
-1
44
17
101
-15
-4
10
0
0
0
0
0
0
0
0
0
14
6
3
6
-23
45
10
0
0
0
0
0
0
0
0
0
0
0
2
3
22
-8
-3
10
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
11
12
-7
0
7
3
0
0
0
0
0
0
0
1
7
4
-18
36
25
-57
-14
54
10
0
0
0
0
0
0
0
0
0
0
4
-7
14
-5
122
26
6
0
0
0
0
0
0
0
-1
0
0
-14
1
4
58
-14
-29
0
0
0
0
0
0
0
1
6
20
0
27
8
23
-5
32
2
0
0
0
0
0
0
0
0
-1
0
2
-5
-9
16
31
5
17
0
0
0
0
0
0
0
0
0
0
0
-8
1
143
0
54
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
25
-44
0
8
0
0
0
0
0
0
0
0
0
0
0
1
-14
-32
-4
-12
-20
10
0
0
0
0
0
0
0
0
0
1
-2
-25
-17
8
32
19
0
0
0
0
0
0
0
0
0
0
0
-2
7
-10
8
-21
5
0
0
0
0
0
0
0
0
0
0
-2
0
-6
20
49
14
-1
0
0
0
0
0
0
0
0
0
1
0
1
15
-4
6
-1
45
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
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
-1
0
-1
9
0
0
0
0
0
0
0
0
0
0
13
80
-5
49
3
2
-7
0
0
0
0
0
0
0
0
0
0
9
-13
14
14
-39
3
0
0
0
0
0
0
0
0
-10
0
0
-6
-18
-4
62
16
-20
0
0
0
0
0
0
0
-4
19
4
0
2
0
-4
-8
14
0
0
0
0
0
0
0
0
0
0
0
3
-1
17
-18
7
0
-8
0
0
0
0
0
0
0
0
0
0
0
6
-15
-13
-1
7
0
0
0
0
0
0
0
0
0
0
2
8
0
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
-39
33
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-14
-65
102
27
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
45
-44
-20
6
0
0
0
0
0
0
0
0
0
1
0
-1
-46
1
14
-6
15
0
0
0
0
0
0
0
0
7
0
0
4
-3
0
0
18
0
0
0
0
0
0
0
0
0
5
7
14
8
10
-2
13
25
-3
0
0
0
0
0
0
0
0
0
0
0
-2
6
15
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
4
0
0
0
0
0
0
0
0
0
0
9
-3
10
-45
-14
-60
0
0
0
0
0
0
0
0
0
0
1
0
1
18
8
39
5
0
0
0
0
0
0
0
0
0
0
0
0
9
-25
0
-6
26
35
0
0
0
0
0
0
0
0
3
0
0
0
0
34
0
-5
0
0
0
0
0
0
0
0
0
0
0
4
-4
17
-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
14
0
0
0
0
0
0
0
0
0
0
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
20
-7
27
49
57
0
0
0
0
0
0
0
0
0
0
1
0
0
-11
-13
2
5
0
0
0
0
0
0
0
0
3
0
0
20
31
21
-6
4
21
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
10
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
30
-1
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
1
-5
36
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
15
43
27
0
0
0
0
0
0
0
0
0
-27
0
0
-7
21
-62
-17
19
84
0
0
0
0
0
0
0
0
4
0
0
-4
7
-29
62
5
9
0
0
0
0
0
0
0
0
5
0
5
43
-7
6
56
76
-14
0
0
0
0
0
0
0
0
-4
0
-1
26
-29
4
-54
0
18
0
0
0
0
0
0
0
0
0
2
1
89
-32
-2
-1
66
0
0
0
0
0
0
0
0
0
-7
8
3
0
43
1
54
20
29
0
0
0
0
0
0
0
0
0
0
0
7
3
14
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
1
-1
1
-43
29
0
0
-46
0
0
0
0
0
0
0
-4
14
-5
5
-48
-37
112
25
-20
-41
0
0
0
0
0
0
0
6
80
-9
-15
36
49
11
75
12
100
0
0
0
0
0
0
0
-2
7
9
16
-29
14
14
18
-101
-3
0
0
0
0
0
0
0
2
17
44
36
45
59
34
11
2
14
0
0
0
0
0
0
0
0
0
-6
-49
53
16
42
49
-51
-21
0
0
0
0
0
0
0
1
0
5
-1
36
-4
48
4
-90
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-8
17
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
0
0
-1
0
-9
21
5
34
0
18
-6
0
0
0
0
0
0
1
-1
2
-4
-11
97
38
-24
-47
82
-50
0
0
0
0
0
0
0
-6
-2
-3
20
79
19
103
-3
-6
-3
0
0
0
0
0
0
-1
0
0
6
-21
49
-12
-24
21
6
1
0
0
0
0
0
0
0
-7
-14
24
-32
39
-51
22
61
77
0
0
0
0
0
0
0
8
-31
0
18
-43
21
55
-66
-2
86
0
0
0
0
0
0
0
0
2
-21
0
102
-43
34
49
63
-3
0
0
0
0
0
0
0
0
0
0
0
0
46
27
-13
-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
53
-35
8
0
6
0
-1
0
0
0
0
0
0
2
0
0
22
27
12
12
48
0
-49
0
0
0
0
0
0
0
5
0
-1
-29
-5
65
-62
-14
47
0
0
0
0
0
0
0
0
4
-3
3
18
26
71
39
17
-35
0
0
0
0
0
0
0
0
-14
1
-14
2
5
92
86
1
1
1
0
0
0
0
0
0
0
0
2
0
26
-19
61
-23
31
9
2
0
0
0
0
0
0
0
24
5
-4
35
-6
-23
23
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
0
0
0
0
0
0
0
-2
3
16
0
-11
-1
0
0
0
0
0
0
0
0
0
0
-3
-57
-21
-43
-15
-14
-16
0
0
0
0
0
0
0
0
0
-1
6
-32
30
26
18
-10
0
0
0
0
0
0
0
0
0
0
0
-5
17
39
-28
-5
-5
0
0
0
0
0
0
0
0
0
0
4
-4
-46
25
4
-13
0
0
0
0
0
0
0
0
0
35
34
-7
0
55
-25
136
13
0
0
0
0
0
0
0
0
-2
0
0
0
7
1
17
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-20
0
0
0
0
0
0
0
0
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
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
15
-22
-1
73
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
27
48
-15
2
0
0
0
0
0
0
0
0
0
0
9
1
5
-20
14
-5
-7
0
0
0
0
0
0
0
2
9
5
5
-1
-1
17
5
58
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
-14
-14
6
-1
0
0
0
0
0
0
0
-1
0
-6
0
0
-6
14
0
-5
3
0
0
0
0
0
0
0
0
-11
-13
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
-13
0
-9
0
0
0
0
0
0
0
0
-1
0
0
0
-8
9
25
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-45
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
72
-3
-32
0
0
0
0
0
0
0
0
-6
-1
0
-3
0
33
1
62
0
0
0
0
0
0
0
0
0
0
20
0
0
4
0
9
-2
2
0
0
0
0
0
0
0
0
0
0
-1
3
0
-6
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
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
45
48
4
0
0
0
0
0
0
0
0
0
0
0
3
32
-11
-2
-13
13
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-2
33
14
0
0
0
0
0
0
0
0
0
3
0
0
0
-18
-33
-11
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
9
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
5
-3
0
-15
-2
0
0
0
0
0
0
0
0
0
0
0
-4
31
-13
-29
-2
0
0
0
0
0
0
0
0
-1
0
0
0
6
-25
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-2
-1
-1
15
0
0
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
24
0
0
2
15
-105
8
-8
-14
0
0
0
0
0
0
0
0
1
0
0
-1
-5
1
130
-21
15
0
0
0
0
0
0
0
0
-6
0
-3
26
1
-1
2
20
15
0
0
0
0
0
0
0
0
0
-8
1
-6
-9
-9
41
0
70
0
0
0
0
0
0
0
0
10
1
-6
3
9
13
-5
38
-3
0
0
0
0
0
0
0
0
0
0
-2
2
-39
0
-62
4
-6
0
0
0
0
0
0
0
0
0
-1
1
16
4
-3
-1
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
5
2
31
51
26
0
-8
0
0
0
0
0
0
0
0
-13
-1
-2
61
-88
86
-106
-31
56
0
0
0
0
0
0
0
0
21
2
-3
21
42
70
13
-113
-9
0
0
0
0
0
0
0
-3
-10
18
-9
13
32
-38
6
47
2
0
0
0
0
0
0
0
0
5
-25
9
-152
61
-34
-10
69
1
0
0
0
0
0
0
0
6
35
-23
8
-2
8
51
50
14
74
0
0
0
0
0
0
0
-3
0
26
29
55
44
69
-51
-43
-11
0
0
0
0
0
0
0
0
0
-14
18
1
107
-47
-3
-8
3
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
4
-11
5
3
-10
118
0
13
6
0
0
0
0
0
0
-2
-3
-5
-2
-20
24
1
-80
-22
63
3
0
0
0
0
0
0
0
19
2
-1
2
-56
-18
-34
-39
49
-1
0
0
0
0
0
0
0
3
2
35
5
10
27
0
-6
-56
2
0
0
0
0
0
0
0
-3
0
21
1
56
-118
-5
4
9
0
0
0
0
0
0
0
-5
9
0
52
51
16
8
-1
41
21
-3
0
0
0
0
0
0
2
10
0
-23
2
-56
-12
-16
7
5
0
0
0
0
0
0
0
0
0
0
3
0
1
48
-41
10
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
-39
-23
0
52
0
0
0
0
0
0
0
0
2
0
-1
33
-13
24
-51
45
-4
-11
0
0
0
0
0
0
0
0
0
-2
0
-44
-20
-25
42
0
0
0
0
0
0
0
0
0
-8
0
0
11
-23
-2
104
66
-14
0
0
0
0
0
0
0
0
4
0
48
25
4
33
-15
21
20
0
0
0
0
0
0
0
0
-2
5
20
7
12
80
-11
-2
5
0
0
0
0
0
0
0
0
-3
-18
0
-31
-1
-50
2
17
-3
0
0
0
0
0
0
0
0
5
0
0
0
-7
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
0
0
0
0
0
0
0
-2
-2
1
1
0
29
-1
0
0
0
0
0
0
0
0
0
0
0
9
26
-44
43
5
-19
0
0
0
0
0
0
0
0
0
0
5
-3
36
-4
33
-25
1
0
0
0
0
0
0
0
-4
0
0
-3
3
-11
101
-14
58
1
0
0
0
0
0
0
0
0
0
0
-3
-3
20
-14
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
15
3
-24
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-33
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-10
-32
-21
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-1
-43
0
0
0
0
0
0
0
0
0
0
-2
0
0
18
4
28
9
-60
0
0
0
0
0
0
0
0
0
0
0
2
9
3
7
96
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
0
10
0
4
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
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
-7
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
41
3
19
0
0
0
0
0
0
0
0
0
0
1
0
0
39
-7
-16
0
0
0
0
0
0
0
0
0
0
0
3
0
4
-2
30
2
5
0
0
0
0
0
0
0
0
36
-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
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
7
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
-4
-6
-23
-45
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
17
-2
2
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
1
0
0
-1
0
19
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
18
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
18
-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
32
0
-4
0
0
0
0
0
0
0
0
-10
0
0
0
-2
-8
0
8
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
-3
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
-16
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
6
26
0
0
0
0
0
0
0
0
-9
0
0
0
74
8
-53
-13
-21
0
0
0
0
0
0
0
0
1
-1
-1
24
-18
-60
11
-22
-3
0
0
0
0
0
0
0
0
18
-1
0
-5
-71
35
16
-3
-33
0
0
0
0
0
0
0
0
19
7
-5
-26
-7
-2
-7
18
-6
0
0
0
0
0
0
0
0
0
7
-31
-9
84
-9
-23
3
11
0
0
0
0
0
0
0
0
0
0
0
-85
6
43
-2
18
0
0
0
0
0
0
0
0
0
-3
-1
0
0
26
0
-6
0
3
0
0
0
0
0
0
0
0
0
0
-5
5
-13
-14
-77
25
0
1
0
0
0
0
0
0
0
0
27
3
3
28
30
-29
-35
29
-33
0
0
0
0
0
0
0
0
-53
0
0
56
-10
-6
-43
-95
9
0
0
0
0
0
0
0
0
2
0
-51
-5
-5
74
-24
4
-2
0
0
0
0
0
0
0
0
34
1
-15
-56
27
15
-34
-44
-45
0
0
0
0
0
0
0
2
-23
-25
30
22
57
-7
26
6
18
0
0
0
0
0
0
0
-2
1
20
32
56
45
-71
-7
71
0
0
0
0
0
0
0
0
0
0
3
18
-10
60
-37
16
-6
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
-36
1
0
-19
0
0
0
0
0
0
0
0
0
-3
0
-4
10
37
-55
14
-5
-24
0
0
0
0
0
0
0
0
3
0
11
45
14
-17
-8
0
1
0
0
0
0
0
0
0
2
0
-1
34
-9
-25
100
70
59
-6
0
0
0
0
0
0
0
0
3
-7
19
5
-29
36
63
-5
8
0
0
0
0
0
0
0
15
29
33
45
-48
-8
-39
3
5
0
0
0
0
0
0
0
0
0
-2
0
53
-20
70
1
3
1
0
0
0
0
0
0
0
0
0
0
16
-3
33
-2
1
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
32
0
0
0
0
0
0
0
0
0
-1
0
0
36
-7
-4
-29
6
7
0
0
0
0
0
0
0
0
0
0
-1
6
-48
-13
11
39
0
0
0
0
0
0
0
0
-3
0
0
0
4
11
-114
-22
-57
0
0
0
0
0
0
0
0
-3
0
-2
5
0
0
4
2
4
0
0
0
0
0
0
0
0
0
-2
0
5
-2
35
-8
7
7
0
0
0
0
0
0
0
0
0
2
15
-27
-11
27
-2
1
0
0
0
0
0
0
0
0
0
-2
-3
0
4
22
-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
16
0
23
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
44
1
-150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
5
-1
0
0
0
0
0
0
0
0
0
1
-2
-7
17
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
2
19
6
0
0
0
0
0
0
0
0
0
-2
0
6
5
0
-10
0
-6
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
7
7
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
-2
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
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
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
-47
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-68
24
-11
0
0
0
0
0
0
0
0
6
0
0
10
0
47
-14
9
-11
0
0
0
0
0
0
0
0
2
2
2
0
9
-7
14
7
-40
0
0
0
0
0
0
0
0
25
10
-23
16
-2
21
2
57
0
0
0
0
0
0
0
0
0
-5
0
0
5
23
27
-59
-6
6
0
0
0
0
0
0
0
0
0
0
26
44
-5
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
21
18
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-45
-23
2
1
0
0
0
0
0
0
0
0
0
0
-6
1
-6
4
24
21
2
0
0
0
0
0
0
0
-2
0
-1
0
0
4
-3
0
-10
0
0
0
0
0
0
0
0
0
0
2
-27
-2
33
-17
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-25
-10
-16
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
0
-3
0
0
0
0
0
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
17
1
-7
-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
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
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
0
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-4
-4
-3
-18
-7
0
0
0
0
0
0
0
0
0
-8
0
25
8
2
0
-44
-18
0
0
0
0
0
0
0
0
0
0
0
-11
-21
-48
9
55
-1
0
0
0
0
0
0
0
0
0
0
0
0
-11
-38
-51
-35
-10
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-64
-8
-16
0
0
0
0
0
0
0
0
0
0
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
-17
-32
-5
-17
12
0
0
0
0
0
0
0
0
0
0
0
71
-32
60
-81
34
77
0
0
0
0
0
0
0
0
0
0
0
-6
-8
-80
-30
-101
62
-36
-61
26
0
0
0
0
0
0
0
0
-47
-10
-130
-59
-16
-14
21
56
-6
0
0
0
0
0
0
0
0
-20
-28
-14
88
-59
55
-55
-33
1
0
0
0
0
0
0
0
0
-1
0
-5
76
24
-3
-94
-95
-65
0
0
0
0
0
0
0
0
0
0
23
15
20
-94
-71
-10
56
0
0
0
0
0
0
0
0
0
0
5
36
-6
80
65
-109
-66
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
15
-66
45
18
0
0
0
0
0
0
0
0
0
0
0
-5
-47
-62
32
-25
-84
0
0
0
6
0
0
0
0
0
0
0
-41
10
-14
-19
93
42
-92
-6
55
7
0
0
0
0
0
0
0
-27
-27
20
-95
-47
-44
-12
-48
-51
11
0
0
0
0
0
0
0
-1
-72
-57
21
-18
23
22
-26
48
-45
0
0
0
0
0
0
0
-45
31
17
27
0
-31
-170
-51
-43
-2
0
0
0
0
0
0
0
0
-11
107
-3
31
-42
-36
71
-61
9
0
0
0
0
0
0
0
0
-3
-71
62
-7
61
-5
-58
-79
6
0
0
0
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
7
0
0
0
-1
0
0
0
0
0
0
0
0
-21
-1
34
11
-1
0
0
0
8
-1
0
0
0
0
0
0
0
-26
-2
0
-34
-4
-11
-68
53
11
0
0
0
0
0
0
0
-6
0
-72
55
53
-22
-3
4
11
-14
0
0
0
0
0
0
0
0
-1
-9
-6
-4
-33
14
-53
-16
-9
0
0
0
0
0
0
0
0
0
-15
-58
70
-28
-63
31
-43
29
0
0
0
0
0
0
0
0
0
-1
9
-29
-18
-128
2
-37
-7
0
0
0
0
0
0
0
0
0
4
15
9
-10
-80
16
-28
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
-14
0
-8
-24
0
0
0
0
0
0
0
0
0
0
0
-17
-42
23
-10
-51
2
0
0
0
-3
-2
0
0
0
0
0
0
0
-6
-13
-29
10
11
-58
25
-140
0
0
0
0
0
0
0
0
0
4
72
-44
-10
0
-63
-2
-65
0
0
0
0
0
0
0
0
0
27
0
-82
-56
27
3
-15
-113
-3
0
0
0
0
0
0
0
0
0
-4
56
-86
43
131
-52
-68
-2
0
0
0
0
0
0
0
0
5
-1
16
7
-27
-96
37
-83
-16
0
0
0
0
0
0
0
0
0
-8
-14
-4
2
-59
43
2
0
0
0
0
0
0
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
15
3
-2
10
0
0
0
3
0
0
0
0
0
0
0
0
4
1
1
0
0
15
-11
-17
1
0
0
0
0
0
0
0
0
0
0
23
-4
-18
-45
-14
54
2
0
0
0
0
0
0
0
0
0
-4
9
9
7
3
-5
-20
-3
0
0
0
0
0
0
0
0
0
1
0
5
-52
29
-6
-90
-2
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
43
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
3
1
5
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-18
9
-1
0
-1
-3
-3
0
0
0
0
0
0
0
0
0
0
-4
0
-2
10
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
-4
-9
-2
0
0
0
0
0
0
0
0
0
0
2
0
7
10
2
-11
0
0
0
0
0
0
0
0
0
0
0
-4
-11
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
87
36
14
7
2
0
0
0
0
0
0
0
0
0
0
0
2
-41
4
-25
27
6
0
0
0
0
0
0
0
0
0
0
0
0
69
-27
45
11
39
5
-89
0
0
0
0
0
0
0
0
0
2
-8
-37
-35
-92
14
-26
-71
0
0
0
0
0
0
0
0
0
0
13
-18
18
-35
-106
41
-69
0
0
0
0
0
0
0
0
0
0
0
0
33
-2
-32
-48
56
0
0
0
0
0
0
0
0
0
0
0
-5
-9
52
42
24
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-21
-9
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-57
0
0
0
0
0
0
0
0
2
26
-84
59
-32
-115
18
0
0
0
0
0
0
0
0
0
0
-13
-3
-70
-65
-2
-106
5
0
0
0
0
0
0
0
0
0
0
5
24
65
-56
100
-40
13
58
45
25
0
0
0
0
0
0
0
0
31
16
6
30
-1
34
15
22
19
0
0
0
0
0
0
0
0
-5
33
-40
-30
122
-52
-74
-15
27
0
0
0
0
0
0
0
0
-5
-28
1
-20
-92
-76
-47
-62
-99
0
0
0
0
0
0
0
0
0
14
-1
41
95
50
-4
-83
24
0
0
0
0
0
0
0
0
0
0
0
14
7
-28
24
-22
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-85
-1
0
0
0
0
0
0
0
0
0
5
15
34
-63
9
0
0
0
6
0
0
0
0
0
0
0
-7
11
-15
-94
-81
-111
0
0
0
-4
0
0
0
0
0
0
0
0
37
-19
-65
-2
11
-62
-5
-142
-4
0
0
0
0
0
0
0
1
-9
-22
35
63
-15
107
-17
21
-5
0
0
0
0
0
0
0
-6
-32
54
-80
-70
-14
-109
21
3
2
0
0
0
0
0
0
0
-5
-36
-21
-65
22
-74
-24
-28
26
-39
0
0
0
0
0
0
0
0
-13
11
85
-64
-67
-83
-31
-41
9
0
0
0
0
0
0
0
0
0
5
57
-122
31
0
6
44
2
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-4
-32
0
0
0
0
0
0
0
0
0
-3
-46
-53
3
48
0
0
0
4
0
0
0
0
0
0
0
1
-16
70
40
-57
-18
0
0
0
96
-1
0
0
0
0
0
0
-33
-45
52
-44
-33
28
51
-54
-16
-63
-2
0
0
0
0
0
0
-11
-7
-66
-3
-4
-32
-15
-78
50
-5
0
0
0
0
0
0
0
-5
16
10
-116
24
101
6
-95
-55
2
-4
0
0
0
0
0
0
0
32
-2
-7
-5
14
-56
-37
121
3
-3
0
0
0
0
0
0
0
0
5
6
-23
87
-90
-89
-71
26
0
0
0
0
0
0
0
0
0
0
1
4
2
-45
-68
-15
-9
0
0
0
0
0
0
0
0
0
0
0
-9
0
5
-14
11
1
0
0
0
0
0
0
0
0
5
8
28
14
8
0
0
0
0
0
0
0
0
0
0
0
0
4
-52
82
-1
-33
0
0
0
-7
5
0
0
0
0
0
0
5
-7
16
88
80
70
-40
1
-14
-2
-4
0
0
0
0
0
0
0
25
6
55
5
58
-84
-52
-12
-1
-1
0
0
0
0
0
0
0
20
-91
31
-12
-40
-52
28
-22
5
-1
0
0
0
0
0
0
0
0
-2
-81
2
14
-88
79
-66
3
-1
0
0
0
0
0
0
0
0
0
4
25
72
40
-151
-31
-14
-3
0
0
0
0
0
0
0
0
0
0
0
1
-10
32
15
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
0
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-6
4
-33
0
0
0
-17
0
0
0
0
0
0
0
0
-7
-25
-11
-26
1
13
-63
24
-4
0
0
0
0
0
0
0
0
1
-2
34
-10
-90
0
-22
0
14
0
0
0
0
0
0
0
0
0
2
-14
-3
6
-42
10
-128
-7
0
0
0
0
0
0
0
0
0
-8
-19
1
26
-12
37
-54
0
0
0
0
0
0
0
0
0
0
1
-2
17
2
10
6
-53
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
28
-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
14
0
-8
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
17
0
-10
-2
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
-2
6
5
0
0
0
0
0
0
0
0
0
1
-1
7
11
-19
23
14
0
0
0
0
0
0
0
0
0
0
0
5
2
9
-3
-17
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
20
2
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-54
5
-7
-4
0
0
0
0
0
0
0
0
0
0
0
-1
20
37
-27
-7
-2
0
0
0
0
0
0
0
0
0
0
0
-2
71
-145
60
-14
-9
26
-90
0
0
0
0
0
0
0
0
0
0
2
-46
32
34
36
18
-199
0
0
0
0
0
0
0
0
0
-6
2
2
-7
-15
6
34
-139
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-19
-38
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
14
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
-6
-47
-93
-19
69
52
-33
0
0
0
0
0
0
0
0
0
0
-1
-65
-36
-63
-54
-49
-56
0
0
0
0
0
0
0
0
0
0
0
0
65
81
-51
17
-69
-4
54
-16
0
0
0
0
0
0
0
-1
-6
49
9
-43
-49
-20
-45
-36
65
0
0
0
0
0
0
0
0
-33
-66
113
-7
93
-53
-99
-25
-4
0
0
0
0
0
0
0
-3
-2
-53
-1
19
55
74
-57
-26
-62
0
0
0
0
0
0
0
0
0
0
-45
-7
7
-42
8
98
68
0
0
0
0
0
0
0
0
0
0
1
-11
83
-14
-61
-77
-53
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
-14
14
36
-33
-28
14
0
0
0
-2
0
0
0
0
0
0
0
7
-50
-22
-39
3
12
0
0
0
0
0
0
0
0
0
0
0
-2
-14
31
-13
-39
25
-7
-14
-24
1
0
0
0
0
0
0
0
-7
33
8
-19
14
-1
53
-4
-89
-25
0
0
0
0
0
0
0
-1
-27
-8
-80
-50
-53
-47
41
77
-4
0
0
0
0
0
0
0
0
3
45
-24
-82
22
-80
-30
-10
-1
0
0
0
0
0
0
0
0
0
-5
-7
2
-43
-66
-121
-117
26
0
0
0
0
0
0
0
0
0
-2
14
24
20
-29
-78
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
11
0
0
0
0
0
0
0
0
0
-21
-31
-89
5
20
0
0
0
3
-1
0
0
0
0
0
0
-8
-19
-36
-54
-40
-6
0
0
0
16
-10
0
0
0
0
0
0
9
-5
-10
-14
53
23
-52
23
-53
20
0
0
0
0
0
0
0
-6
44
35
25
20
-29
9
-105
-34
8
0
0
0
0
0
0
0
1
-27
-2
22
32
18
-34
34
-23
-14
0
0
0
0
0
0
0
0
-25
-33
-19
-84
-25
-14
-87
-44
-14
0
0
0
0
0
0
0
0
0
0
-3
-5
-8
-5
-107
-2
2
0
0
0
0
0
0
0
0
0
0
0
-5
2
-15
47
31
-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
-6
-36
-27
-74
-25
0
0
0
0
4
0
0
0
0
0
0
0
5
-23
-98
31
-10
0
0
0
-1
2
0
0
0
0
0
0
2
6
-56
21
-10
6
39
-13
-20
-3
3
0
0
0
0
0
0
3
3
-36
20
33
-31
-14
21
-78
-3
0
0
0
0
0
0
0
0
1
-4
6
-40
-192
-5
18
-15
0
-1
0
0
0
0
0
0
0
0
-24
-15
-53
34
42
8
-28
0
8
0
0
0
0
0
0
0
0
-1
-7
0
8
119
-20
-32
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-48
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
3
0
1
0
0
0
3
0
0
0
0
0
0
0
0
-15
23
-1
-5
10
0
0
0
-10
1
0
0
0
0
0
0
0
0
-8
-1
9
-22
-27
-14
-50
-6
0
0
0
0
0
0
0
0
-5
-2
15
21
13
-4
-31
-14
-9
0
0
0
0
0
0
0
0
0
2
-7
-16
-75
-8
13
24
-4
0
0
0
0
0
0
0
0
0
-3
3
0
-21
-2
-7
-52
-24
1
0
0
0
0
0
0
0
0
0
0
0
-2
-29
-1
16
-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
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
9
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
13
2
1
0
-11
-14
1
1
0
0
0
0
0
0
0
3
0
0
-1
3
5
-14
-5
-1
0
0
0
0
0
0
0
0
0
0
0
4
-2
46
3
13
-1
0
0
0
0
0
0
0
0
0
0
1
-10
3
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-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
-9
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-8
11
0
0
0
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
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
9
-9
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
17
-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
24
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
2
-4
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
-17
35
-19
2
14
0
0
0
0
0
0
0
0
0
0
0
7
-3
35
21
-17
-5
0
5
0
0
0
0
0
0
0
0
0
-2
0
36
45
-7
23
-22
-27
0
0
0
0
0
0
0
0
0
0
0
2
-3
23
-25
-2
-49
0
0
0
0
0
0
0
0
0
0
0
0
-14
21
31
-24
11
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-46
-43
-42
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
14
6
-19
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
1
41
14
8
-98
69
0
0
0
0
0
0
0
0
0
0
-4
22
20
-46
-65
-16
33
0
0
0
0
0
0
0
0
0
0
0
55
24
1
43
-81
-14
22
27
-9
0
0
0
0
0
0
0
0
-18
21
-22
-40
-14
-81
67
-2
-39
0
0
0
0
0
0
0
0
-58
39
-15
-112
10
-90
-24
-23
-3
0
0
0
0
0
0
0
0
0
30
-16
52
8
3
-69
-12
-11
0
0
0
0
0
0
0
0
0
13
-2
3
7
-45
-48
36
-48
0
0
0
0
0
0
0
0
0
0
0
0
-27
-89
-6
-58
-125
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
33
0
0
0
0
0
0
0
0
0
0
-55
-44
-46
-44
-19
0
0
0
0
0
0
0
0
0
0
0
-6
10
-37
-15
-23
14
0
0
0
-11
0
0
0
0
0
0
0
-7
23
35
-84
117
-99
-23
68
124
-7
0
0
0
0
0
0
0
0
0
6
-15
-16
-32
-46
80
24
26
0
0
0
0
0
0
0
0
-11
3
12
-13
-8
-153
27
85
6
0
0
0
0
0
0
0
4
2
-14
-44
-52
-35
18
-31
14
-7
0
0
0
0
0
0
0
0
1
2
-60
-15
-48
-16
6
-25
-7
0
0
0
0
0
0
0
0
0
0
1
-28
-33
-32
80
-26
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-10
0
0
0
0
0
0
0
0
-5
3
33
-123
-68
-37
0
0
0
2
0
0
0
0
0
0
0
-23
1
119
-6
53
-36
0
0
0
21
2
0
0
0
0
0
-7
0
-36
-71
2
-39
23
-24
-89
30
3
0
0
0
0
0
0
2
13
0
0
-5
54
-1
27
-23
-70
-10
0
0
0
0
0
0
0
0
-1
3
-41
-39
-14
-75
41
18
3
-1
0
0
0
0
0
0
0
0
2
19
-32
29
-62
20
-3
-11
0
0
0
0
0
0
0
0
0
0
0
8
-4
64
94
-107
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
2
75
31
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
10
1
-63
35
13
0
0
0
0
1
0
0
0
0
0
0
0
-64
-132
61
-42
60
0
0
0
-2
1
0
0
0
0
0
0
2
-7
-17
14
35
-31
26
30
33
-3
-6
0
0
0
0
0
0
1
-5
11
-11
20
-6
38
-45
32
0
1
0
0
0
0
0
0
0
1
5
-31
51
5
16
16
2
0
0
0
0
0
0
0
0
0
6
1
10
-49
-17
18
-5
0
-4
0
0
0
0
0
0
0
0
0
-7
0
0
80
4
17
31
1
0
0
0
0
0
0
0
0
0
0
0
6
6
27
-51
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-5
-34
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-24
-69
45
11
0
0
0
-25
0
0
0
0
0
0
0
0
15
3
29
48
5
-34
14
24
0
0
0
0
0
0
0
0
0
0
-11
0
0
-130
-59
46
-56
11
0
0
0
0
0
0
0
0
-3
0
-2
-23
-51
3
-62
-73
5
0
0
0
0
0
0
0
0
0
0
0
0
-31
37
29
-4
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-7
2
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-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
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
0
1
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
-2
0
-3
9
0
-3
0
0
0
0
0
0
0
1
0
5
0
0
-14
-51
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-15
10
-13
-3
0
0
0
0
0
0
0
0
0
0
-4
-7
0
-27
-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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
-10
2
10
-11
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
-21
11
-1
1
7
0
0
0
0
0
0
0
0
0
0
1
-9
4
3
0
-101
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-17
-30
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-13
10
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
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
17
-1
-2
0
0
0
-1
0
0
0
0
0
0
0
0
1
-10
11
3
-4
1
-7
-10
0
0
0
0
0
0
0
0
0
-2
0
-31
-8
-33
-8
-24
-1
-3
0
0
0
0
0
0
0
0
3
0
5
0
-1
20
-8
93
0
0
0
0
0
0
0
0
0
0
-7
3
1
46
8
-51
46
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
-42
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
5
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
17
-2
-10
-1
0
23
0
0
0
0
0
0
0
0
0
0
0
6
18
43
-57
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
20
-30
9
-74
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-14
-18
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
6
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-20
0
0
0
0
0
0
0
0
0
0
0
21
71
20
-27
0
0
0
0
0
0
0
0
0
0
0
-21
17
-13
-31
64
-8
0
0
0
0
0
0
0
0
0
0
0
-21
-7
6
46
-69
-43
-14
14
-68
0
0
0
0
0
0
0
0
7
-13
60
-66
-81
35
-58
-89
32
0
0
0
0
0
0
0
0
0
7
-20
73
15
26
2
-96
-106
0
0
0
0
0
0
0
0
0
-4
-139
5
-29
10
-36
134
-56
0
0
0
0
0
0
0
0
0
-13
-17
-2
6
-82
-91
-73
-77
0
0
0
0
0
0
0
0
0
-7
8
-9
-36
-3
99
10
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
102
-3
0
0
0
0
0
0
0
0
6
-9
-10
-9
31
1
0
0
0
4
0
0
0
0
0
0
0
-10
16
-45
-6
80
5
0
0
0
10
0
0
0
0
0
0
0
-11
-72
32
-68
-5
-33
-9
-22
-27
2
0
0
0
0
0
0
0
0
-58
-4
27
5
-46
-72
32
46
-4
0
0
0
0
0
0
0
0
0
-100
-115
-46
48
81
-52
-51
0
0
0
0
0
0
0
0
1
44
6
14
-11
-25
-94
-119
-25
-2
0
0
0
0
0
0
0
1
0
14
-89
-5
-124
-44
19
27
21
0
0
0
0
0
0
0
0
0
0
-24
-45
-3
48
-69
-47
9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-80
-18
0
0
0
0
0
0
0
0
0
-3
3
-64
45
5
0
0
0
3
0
0
0
0
0
0
0
0
11
33
26
8
4
0
0
0
15
0
0
0
0
0
0
0
0
7
4
-24
-54
46
2
20
-17
1
0
0
0
0
0
0
0
0
16
50
2
-38
-80
-11
-32
-93
-16
0
0
0
0
0
0
0
-15
0
0
19
-119
-111
-123
-31
-37
-10
0
0
0
0
0
0
0
-1
5
-3
32
-15
-101
-14
7
2
-45
8
0
0
0
0
0
0
0
0
0
5
-135
-83
-44
-33
-47
-16
0
0
0
0
0
0
0
0
0
0
-8
14
-5
21
33
90
108
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-21
-10
-3
0
0
0
0
0
0
0
0
1
14
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
33
-12
-57
-16
0
0
0
0
0
0
0
0
0
0
0
3
15
35
-25
27
26
41
-6
-92
3
-1
0
0
0
0
0
0
0
13
8
8
-45
-62
54
-45
81
-2
0
0
0
0
0
0
0
0
0
5
0
78
-68
-129
-34
-86
2
0
0
0
0
0
0
0
0
4
0
1
-33
100
-32
-44
65
0
0
0
0
0
0
0
0
0
0
0
5
29
-65
47
26
-48
-17
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
14
11
-21
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
6
5
-3
2
0
0
0
-3
0
0
0
0
0
0
0
-10
0
31
5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
6
4
3
-4
15
-17
2
0
0
0
0
0
0
0
0
-3
4
0
-17
-7
-15
25
2
6
0
0
0
0
0
0
0
0
-13
1
0
0
43
-27
-62
29
-11
-1
0
0
0
0
0
0
0
1
0
-13
-15
15
-79
-34
-2
-13
0
0
0
0
0
0
0
0
0
-1
2
0
-36
-16
8
-97
-6
0
0
0
0
0
0
0
0
0
0
9
3
-5
17
3
-38
0
0
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
11
-9
6
-1
-3
-4
15
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
60
-14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-45
25
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-10
-16
17
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
-13
-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
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
-3
-44
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
14
1
2
1
-7
-15
0
0
0
0
0
0
0
0
0
-1
-29
-5
-1
45
-32
8
-20
0
0
0
0
0
0
0
0
0
1
-2
2
14
-34
58
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
-61
-21
39
-15
1
0
0
0
0
0
0
0
0
0
0
0
7
8
-6
-25
-25
9
0
0
0
0
0
0
0
0
0
0
-2
0
3
3
1
-20
33
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
-39
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
19
-5
-26
4
0
0
0
-2
0
0
0
0
0
0
0
0
7
-8
51
-15
-4
0
0
2
1
0
0
0
0
0
0
0
0
2
-2
-7
-43
5
-6
-35
-12
0
0
0
0
0
0
0
0
0
-6
-9
80
19
19
-29
26
0
-2
0
0
0
0
0
0
0
0
0
-1
-7
-28
-32
-59
24
-69
0
0
0
0
0
0
0
0
0
0
1
1
-15
14
-7
33
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
-3
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
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
-15
-53
-6
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
-1
2
-6
-32
20
-15
0
0
0
0
0
0
0
0
0
0
0
2
-3
-14
40
13
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-68
-60
-12
13
0
0
0
0
0
0
0
0
0
0
-1
0
0
-36
-6
10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
13
0
0
0
0
0
0
0
0
0
0
-16
17
-3
8
2
0
0
0
0
0
0
0
0
0
0
0
-10
-14
49
14
32
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-30
71
-14
10
-1
45
-66
0
0
0
0
0
0
0
0
-7
-45
-144
-72
-62
-55
-10
-36
9
0
0
0
0
0
0
0
0
0
-33
-9
-61
-29
-91
22
13
-14
0
0
0
0
0
0
0
0
0
6
-21
14
-92
31
-100
0
-64
0
0
0
0
0
0
0
0
-6
-2
-37
5
-133
21
-4
-91
30
0
0
0
0
0
0
0
0
0
-1
0
-24
-17
46
47
-24
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-20
2
0
0
0
0
0
0
0
0
0
25
-11
-27
-13
16
0
0
0
1
0
0
0
0
0
0
0
0
-5
-1
-11
-38
-14
0
0
0
-3
0
0
0
0
0
0
0
-10
-34
-17
43
-28
-85
-9
7
109
2
0
0
0
0
0
0
0
-32
-21
-27
-19
26
-65
-1
24
-142
0
0
0
0
0
0
0
0
5
10
-127
-12
-13
13
45
64
31
1
0
0
0
0
0
0
0
7
0
-22
-11
56
-45
-52
11
4
7
0
0
0
0
0
0
0
0
-11
-20
29
9
-6
43
-61
-51
-18
0
0
0
0
0
0
0
0
0
0
5
21
-3
-163
-32
22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
43
33
0
0
0
0
0
0
0
0
0
-2
8
-17
-2
-4
0
0
0
23
0
0
0
0
0
0
0
0
4
-47
3
26
2
0
0
0
-3
0
0
0
0
0
0
0
-10
-5
10
21
2
-14
8
-14
22
0
0
0
0
0
0
0
0
0
-10
5
-39
19
-78
10
-35
-9
9
0
0
0
0
0
0
0
0
5
9
-25
1
-76
71
-25
-6
15
0
0
0
0
0
0
0
-3
-1
0
1
-91
14
-50
-22
-26
-24
-2
0
0
0
0
0
0
0
0
0
2
-10
19
84
-55
-17
-45
-4
0
0
0
0
0
0
0
0
0
0
-1
9
-61
22
-32
3
4
0
0
0
0
0
0
0
0
0
0
0
-1
-13
39
1
-8
0
0
0
0
0
0
0
0
-26
13
14
43
11
0
0
0
0
0
0
0
0
0
0
0
0
51
-3
10
69
24
0
0
0
1
0
0
0
0
0
0
0
-1
0
13
-152
-1
-3
-1
33
-63
0
2
0
0
0
0
0
0
0
0
24
25
8
64
7
-15
-15
1
0
0
0
0
0
0
0
0
5
-11
26
44
-60
119
7
-71
0
1
0
0
0
0
0
0
0
4
17
0
-8
53
-23
22
-48
0
-1
0
0
0
0
0
0
0
-6
-8
-6
29
33
-153
-52
-70
0
0
0
0
0
0
0
0
0
0
0
-8
0
-22
3
51
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
4
2
49
6
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
9
6
-7
19
-1
0
8
-1
0
0
0
0
0
0
0
0
0
0
-2
-5
-1
-5
21
15
0
0
0
0
0
0
0
0
0
-1
8
9
14
-24
-18
-111
-8
0
0
0
0
0
0
0
0
0
-6
-13
-5
0
32
-35
50
-43
-6
0
0
0
0
0
0
0
0
0
-3
0
0
-6
-25
-2
-134
5
0
0
0
0
0
0
0
0
0
0
0
0
0
33
47
53
-20
0
0
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
-29
-4
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
-13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
6
0
-15
1
0
-1
0
0
0
0
0
0
0
0
0
-5
0
0
7
-10
-8
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
2
-7
-103
17
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
-6
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
-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
-10
1
-6
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-26
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
-32
2
0
11
-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
21
8
5
-3
0
0
0
0
0
0
0
0
0
0
0
-8
-32
46
5
-21
17
10
-4
1
0
0
0
0
0
0
0
0
4
0
-10
18
-39
10
-90
-11
-19
0
0
0
0
0
0
0
0
0
-9
-59
-59
0
-31
-96
51
-27
0
0
0
0
0
0
0
0
0
7
0
8
11
10
23
0
-55
0
0
0
0
0
0
0
0
0
0
-1
21
-2
-62
-23
-22
39
0
0
0
0
0
0
0
0
0
0
0
2
4
15
-20
-18
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
98
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
0
9
-7
-21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-12
-19
-10
-1
0
-1
0
0
0
0
0
0
0
0
0
8
17
-15
-7
-17
-13
-27
4
-4
0
0
0
0
0
0
0
0
0
-3
11
-1
-53
-13
-54
-29
0
0
0
0
0
0
0
0
0
0
0
-7
-6
61
-33
-5
0
9
0
0
0
0
0
0
0
0
0
0
1
0
6
-8
-29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
5
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-18
0
13
-36
-16
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-22
-40
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-17
34
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
9
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
34
0
0
0
0
0
0
0
0
0
0
0
-4
-5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
78
56
-37
5
24
0
0
0
0
0
0
0
0
0
0
0
-1
-32
47
54
-14
43
6
-18
49
0
0
0
0
0
0
0
0
6
11
0
12
-145
-21
65
129
44
0
0
0
0
0
0
0
0
0
62
36
59
1
-103
-36
-56
-175
0
0
0
0
0
0
0
0
-6
14
-5
-22
-11
-84
-71
21
47
0
0
0
0
0
0
0
0
0
9
4
-8
-57
-43
26
-24
-5
0
0
0
0
0
0
0
0
0
0
-1
0
2
-79
-6
13
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
-87
5
0
0
0
0
0
0
0
0
0
-11
-4
-37
-40
16
0
0
0
0
0
0
0
0
0
0
0
21
-15
-12
-73
58
18
0
0
0
0
0
0
0
0
0
0
0
0
12
-35
-7
-34
24
33
6
-22
1
0
0
0
0
0
0
0
3
4
36
-35
17
40
174
-55
-74
2
0
0
0
0
0
0
0
5
-34
-55
-46
-14
0
49
-76
-21
5
0
0
0
0
0
0
0
4
-84
23
-55
-78
-20
33
29
21
0
0
0
0
0
0
0
0
0
0
-44
45
-29
3
16
-48
-39
-18
0
0
0
0
0
0
0
0
3
2
-24
-1
20
40
12
34
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
0
0
0
0
0
0
0
0
0
-7
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
32
14
32
1
0
0
0
-13
0
0
0
0
0
0
0
0
0
-22
1
25
-37
0
1
6
-2
0
0
0
0
0
0
0
0
-8
37
-9
-33
-50
-9
4
-7
0
0
0
0
0
0
0
0
-5
9
8
-34
51
-102
-2
70
-43
-1
1
0
0
0
0
0
0
0
0
6
-35
-33
-41
12
-43
-84
-7
0
0
0
0
0
0
0
0
0
0
-58
-5
-78
-27
-53
36
-7
0
0
0
0
0
0
0
0
0
0
0
-23
-3
-34
-62
80
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
15
-24
0
0
0
0
0
0
0
0
0
-4
0
-22
0
15
0
0
0
-1
0
0
0
0
0
0
0
3
0
-77
-6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
77
-29
1
-6
-3
3
0
0
0
0
0
0
0
0
3
-1
-33
36
12
64
-57
-3
0
0
0
0
0
0
0
0
0
0
0
67
36
-20
-106
-45
47
-43
0
0
0
0
0
0
0
0
0
13
-23
-4
110
-84
-58
-33
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-82
99
-55
14
1
0
0
0
0
0
0
0
0
0
0
0
0
-26
6
-31
-114
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
14
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
11
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-3
-5
23
4
-16
0
0
0
0
0
0
0
0
0
-5
0
41
15
-35
-1
9
0
0
0
0
0
0
0
0
0
0
-2
-2
-9
1
-15
-48
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
-30
-46
-32
-15
0
0
0
0
0
0
0
0
0
1
-1
6
-2
2
-5
8
-9
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
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
16
20
15
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-32
-17
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
4
-5
-18
1
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-49
6
-2
8
1
0
0
0
0
0
0
0
0
0
-1
0
-24
4
-36
-2
32
34
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
24
78
0
2
0
0
0
0
0
0
0
0
0
0
0
0
7
2
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
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
-34
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
23
0
-37
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
20
-27
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
-29
36
-6
0
0
5
0
0
0
0
0
0
0
0
0
0
17
48
-27
-41
-21
-6
-17
0
0
0
0
0
0
0
0
-3
-1
-5
5
-11
1
-2
5
-13
0
0
0
0
0
0
0
0
0
0
0
27
-39
-68
-7
75
-6
0
0
0
0
0
0
0
0
0
0
-1
-5
-1
41
-64
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
17
10
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
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
-20
8
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
1
-14
9
-27
-6
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
-14
-2
-5
-7
0
0
0
0
0
0
0
0
0
0
-5
0
-2
22
26
-25
3
0
0
0
0
0
0
0
0
0
0
0
-9
4
7
32
34
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
5
2
-6
0
-1
0
0
0
0
0
0
0
0
0
0
9
-6
-2
72
-33
-23
0
0
0
0
0
0
0
0
0
0
0
0
-21
-4
39
8
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
-29
-102
14
25
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
1
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
-44
5
7
9
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
-31
6
-4
0
0
0
0
0
0
0
0
0
0
0
2
-1
-17
-81
-33
7
-26
2
-1
0
0
0
0
0
0
0
0
0
-41
-56
-49
-23
23
72
38
-1
0
0
0
0
0
0
0
0
0
0
43
20
5
-54
-15
-64
3
0
0
0
0
0
0
0
0
0
0
-9
-1
47
51
-35
-49
3
0
0
0
0
0
0
0
0
0
-16
-9
0
-88
5
9
-85
-22
0
0
0
0
0
0
0
0
0
0
0
0
2
7
13
-29
15
0
0
0
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
-16
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-59
1
11
0
0
-2
0
0
0
0
0
0
0
0
0
-24
-5
52
-33
86
-7
-7
-13
0
0
0
0
0
0
0
0
0
-18
2
27
-48
-32
-59
-52
-4
-3
0
0
0
0
0
0
0
0
-5
2
38
0
-41
-28
-24
-80
0
0
0
0
0
0
0
0
0
0
-7
-33
32
-17
14
-76
-65
-1
0
0
0
0
0
0
0
0
0
0
0
-9
16
-49
-18
48
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
-84
-6
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-5
26
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-62
-5
11
-4
0
7
2
0
0
0
0
0
0
0
0
0
0
-2
0
-11
3
-8
6
-5
0
0
0
0
0
0
0
0
0
0
0
14
16
117
87
-81
-36
0
0
0
0
0
0
0
0
0
0
6
-2
13
-133
-100
8
-37
1
0
0
0
0
0
0
0
0
0
0
-1
-5
-32
12
-100
-64
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-65
-6
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
-53
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
-9
-26
1
14
0
0
0
0
0
0
0
0
0
0
1
-2
-13
3
5
-10
-10
0
0
0
0
0
0
0
0
0
-2
3
0
-5
12
-67
-14
26
0
0
0
0
0
0
0
0
0
0
5
0
-8
-17
44
6
-37
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-4
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-7
0
0
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
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
56
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-21
10
-16
-7
0
0
0
0
0
0
0
0
0
0
7
0
11
1
-17
-49
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
5
-53
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
-1
0
4
-3
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-9
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
10
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
-21
-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
-39
-18
2
-1
0
0
0
0
0
0
0
0
0
0
0
21
-8
-17
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-14
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
2
35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-33
-25
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-34
-35
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
4
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
-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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-25
8
5
0
0
0
0
0
0
0
0
0
0
2
81
68
-115
36
2
-50
0
0
0
0
0
0
0
0
0
0
6
56
-34
16
-1
-41
4
-17
0
0
0
0
0
0
0
0
0
10
6
0
-1
-5
19
10
0
0
0
0
0
0
0
0
0
0
1
14
0
-4
0
0
6
0
0
0
0
0
0
0
0
0
0
-9
-20
-2
-2
-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
33
36
-14
-3
33
0
0
0
0
0
0
0
0
0
40
-4
67
92
86
13
-48
-6
4
0
0
0
0
0
0
0
0
37
-34
38
55
48
-9
-8
6
-31
0
0
0
0
0
0
0
0
35
16
-87
17
49
15
53
38
-50
-1
0
0
0
0
0
0
0
46
-43
-13
29
-48
26
90
1
41
0
0
0
0
0
0
0
0
-19
4
89
15
3
-11
14
-17
-25
-10
0
0
0
0
0
0
0
-26
3
-1
-91
53
-7
15
0
-38
0
0
0
0
0
0
0
0
24
43
-9
32
2
-44
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
4
-179
-116
-104
0
-7
0
0
0
0
0
0
0
55
112
-3
79
-5
1
-45
-6
33
-6
0
0
0
0
0
0
0
3
194
76
-2
-65
60
-5
-10
37
-9
0
0
0
0
0
0
0
15
27
-77
-8
20
112
87
-74
-13
-25
0
0
0
0
0
0
0
-4
-65
16
-9
-28
-90
99
-74
-45
3
0
0
0
0
0
0
0
1
6
-39
-23
-64
103
-24
-14
11
3
0
0
0
0
0
0
0
0
11
-73
54
63
-21
-25
23
5
25
0
0
0
0
0
0
0
-2
60
20
-55
4
-23
-52
-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
-17
-126
-27
0
0
0
0
0
0
0
0
0
48
-53
138
-9
-33
81
-37
-3
-8
0
0
0
0
0
0
0
0
63
18
51
36
1
-13
-61
-25
-23
0
0
0
0
0
0
0
0
47
2
64
16
21
-40
-74
31
-4
1
0
0
0
0
0
0
0
71
18
-8
2
-34
-19
66
27
15
4
0
0
0
0
0
0
0
-33
64
19
-15
-7
-53
3
5
0
-1
0
0
0
0
0
0
0
6
25
31
8
-9
-5
-71
-1
-7
0
0
0
0
0
0
0
0
-8
-87
-25
-27
-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
-80
1
0
0
56
-92
0
0
0
0
0
0
0
0
0
0
-2
21
-6
2
66
-12
-23
-17
0
0
0
0
0
0
0
0
22
84
139
12
-35
6
46
-4
14
1
0
0
0
0
0
0
0
1
-65
-24
49
22
-31
-32
-2
20
5
0
0
0
0
0
0
0
7
29
-14
-31
4
-25
5
-11
-15
11
0
0
0
0
0
0
0
9
-3
-8
23
-26
-15
-74
0
13
17
0
0
0
0
0
0
0
2
-5
5
-11
0
4
9
-14
-5
0
0
0
0
0
0
0
0
1
29
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
9
120
118
76
49
0
4
11
2
0
0
0
0
0
0
0
0
-73
80
14
5
26
62
16
-10
9
0
0
0
0
0
0
0
0
0
53
16
-69
-8
-8
-14
-15
0
0
0
0
0
0
0
0
0
-2
3
33
-7
-14
25
44
15
-2
0
0
0
0
0
0
0
0
0
7
-5
0
5
-3
-1
11
-1
-2
0
0
0
0
0
0
0
9
-16
14
4
0
2
0
18
9
0
0
0
0
0
0
0
0
0
10
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
74
24
22
16
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-1
3
5
4
20
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
-9
0
1
3
5
-3
0
13
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
17
-9
27
54
0
34
-2
0
0
0
0
0
0
0
0
0
14
4
112
170
78
41
-44
62
0
0
0
0
0
0
0
0
0
-2
80
87
-23
-80
73
-34
8
15
0
0
0
0
0
0
0
0
21
103
0
-3
-8
-6
-109
-1
0
0
0
0
0
0
0
0
0
-4
-13
-17
25
-15
-5
39
4
0
0
0
0
0
0
0
0
0
-34
-4
0
-39
-3
56
1
-1
0
0
0
0
0
0
0
0
0
-115
25
-15
1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
-32
19
47
19
-20
16
0
0
0
0
0
0
0
0
0
24
113
-33
7
-56
27
29
-32
-2
0
0
0
0
0
0
0
0
29
54
66
-90
56
-37
14
5
49
2
0
0
0
0
0
0
0
122
47
62
65
34
33
10
12
6
0
0
0
0
0
0
0
0
-6
-52
8
4
-31
-63
8
-110
-71
1
0
0
0
0
0
0
0
-38
5
-20
15
-4
62
15
60
22
0
0
0
0
0
0
0
0
27
-102
-59
53
33
36
0
-22
22
0
0
0
0
0
0
0
0
7
-79
-10
46
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
85
191
2
-1
46
1
-53
90
0
2
0
0
0
0
0
0
0
58
73
20
83
-104
-51
37
33
72
2
0
0
0
0
0
0
0
14
120
-109
-65
-99
171
-52
-38
-47
-7
0
0
0
0
0
0
0
46
95
136
5
-5
-48
50
-2
-1
-61
0
0
0
0
0
0
0
29
-14
-52
-6
45
7
-12
51
-13
-14
0
0
0
0
0
0
0
-14
-84
0
76
1
-43
30
-34
0
11
0
0
0
0
0
0
0
-53
112
1
-82
25
5
-22
-10
-36
0
0
0
0
0
0
0
0
0
16
-14
-80
53
37
-1
-52
-6
0
0
0
0
0
0
0
0
0
6
0
0
11
0
1
0
0
0
0
0
0
0
0
0
0
18
12
33
-4
99
23
18
54
0
-1
0
0
0
0
0
0
0
-6
11
130
-20
-19
34
26
67
17
0
-1
0
0
0
0
0
0
29
-79
186
-94
43
-38
52
-51
-21
-5
0
0
0
0
0
0
0
-14
-67
50
-22
-41
12
143
27
57
-2
0
0
0
0
0
0
0
16
-30
57
-21
-3
-103
-10
-56
-1
-1
0
0
0
0
0
0
0
-194
-5
57
30
-43
-9
-56
102
-11
0
0
0
0
0
0
0
0
-3
22
97
-32
9
-23
-33
10
-5
0
0
0
0
0
0
0
0
5
-35
-44
-11
-2
3
-5
-1
0
0
0
0
0
0
0
0
0
-7
0
-25
0
3
1
0
0
0
0
0
0
0
0
0
0
0
5
-18
8
-32
-4
-6
34
19
0
0
0
0
0
0
0
0
0
54
23
-5
133
83
58
27
-5
-34
0
0
0
0
0
0
0
0
43
-43
31
110
52
29
5
64
48
6
0
0
0
0
0
0
0
-35
25
-6
22
48
-39
-74
31
32
11
0
0
0
0
0
0
0
13
13
-66
6
-78
-82
-9
-44
87
-11
0
0
0
0
0
0
0
-14
100
53
7
-19
14
-33
-85
9
0
0
0
0
0
0
0
0
9
-54
35
-74
1
-6
-17
-1
6
-4
0
0
0
0
0
0
0
0
-43
13
19
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
85
-5
84
-48
-10
2
-62
33
0
2
0
0
0
0
0
0
0
18
59
58
46
54
19
59
63
-8
0
0
0
0
0
0
0
0
27
87
63
54
87
-65
40
17
17
0
0
0
0
0
0
0
0
103
28
49
-13
-71
52
-44
6
-30
0
0
0
0
0
0
0
0
119
-70
47
-21
18
5
-31
16
-5
1
0
0
0
0
0
0
0
11
23
72
34
13
26
26
-18
-1
0
0
0
0
0
0
0
0
-11
54
15
41
18
2
-10
-4
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
4
35
26
0
-3
0
-9
0
0
0
0
0
0
0
0
44
-22
77
101
14
26
-3
7
0
0
0
0
0
0
0
0
0
25
20
-2
103
17
8
2
0
0
0
0
0
0
0
0
0
0
58
15
21
15
10
3
26
-1
0
0
0
0
0
0
0
0
0
27
4
50
0
13
4
16
5
0
0
0
0
0
0
0
0
0
23
-5
-45
6
6
-6
-1
0
-2
0
0
0
0
0
0
0
0
0
15
1
1
0
0
4
0
0
0
0
0
0
0
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
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
-13
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-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
40
55
40
35
-32
0
-3
0
0
0
0
0
0
0
0
0
-3
67
63
-25
-47
68
-26
-4
5
0
0
0
0
0
0
0
0
-31
-19
33
2
7
18
16
33
-13
0
0
0
0
0
0
0
0
-19
29
70
-14
-26
19
20
1
13
0
0
0
0
0
0
0
0
-15
6
-9
74
-1
48
-1
0
0
0
0
0
0
0
0
0
0
-28
96
44
7
-4
-6
0
-2
0
0
0
0
0
0
0
0
0
-37
7
-33
-1
-1
1
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
43
41
100
97
34
43
20
0
0
0
0
0
0
0
0
0
64
37
14
43
-10
28
53
-48
55
0
0
0
0
0
0
0
0
-32
72
29
64
3
27
39
55
-73
2
0
0
0
0
0
0
0
18
-54
15
-23
93
63
71
12
-8
0
0
0
0
0
0
0
0
67
13
85
-124
3
27
-6
87
51
1
0
0
0
0
0
0
0
71
16
40
43
-68
136
57
44
5
0
0
0
0
0
0
0
0
92
-3
-60
5
-3
23
67
-45
11
0
0
0
0
0
0
0
0
19
36
-20
20
16
-1
0
0
0
0
0
0
0
0
0
0
0
-43
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
153
66
-27
-92
-75
-36
-51
0
1
0
0
0
0
0
0
0
-8
-13
35
62
-8
-53
11
-43
-7
0
0
0
0
0
0
0
0
-43
100
26
72
-10
21
-107
-99
-70
-3
0
0
0
0
0
0
0
73
26
-25
72
23
9
-102
-23
25
-3
0
0
0
0
0
0
0
15
32
58
-39
1
-51
28
-31
-13
10
0
0
0
0
0
0
0
41
79
-60
29
68
40
-66
-69
40
-11
0
0
0
0
0
0
0
2
23
-17
-1
-115
-29
-11
60
-37
0
0
0
0
0
0
0
0
1
61
80
11
-14
-2
3
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
-96
-3
43
11
14
24
35
-9
0
0
0
0
0
0
0
0
0
-61
-1
18
150
80
29
15
-36
-3
0
0
0
0
0
0
0
0
50
56
1
14
-70
18
-52
85
-4
1
0
0
0
0
0
0
0
-2
-44
-38
6
-47
105
10
70
23
-1
0
0
0
0
0
0
0
-35
48
110
33
-19
36
50
-24
8
0
0
0
0
0
0
0
0
134
-11
26
-33
-118
53
50
-30
1
0
0
0
0
0
0
0
0
71
56
59
24
-33
-39
21
0
9
0
0
0
0
0
0
0
0
45
-39
12
-4
-5
0
0
-6
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
-3
84
92
74
27
54
40
43
0
0
0
0
0
0
0
0
0
-189
-62
-54
67
31
20
-35
-66
52
-26
0
0
0
0
0
0
0
-14
-40
-19
-43
31
56
6
4
-9
1
0
0
0
0
0
0
0
-26
64
4
21
-15
-3
-50
68
3
0
0
0
0
0
0
0
0
109
32
12
-9
13
18
59
-48
0
-4
0
0
0
0
0
0
0
31
108
-10
20
5
16
-83
-23
6
0
0
0
0
0
0
0
0
-3
-53
-22
-7
-1
18
17
0
1
0
0
0
0
0
0
0
0
7
55
3
-14
0
0
11
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
-18
18
-15
46
114
168
8
0
0
0
0
0
0
0
0
0
24
-41
-81
46
69
21
119
41
-20
0
0
0
0
0
0
0
0
-87
-7
16
-6
28
-8
-2
-61
1
0
0
0
0
0
0
0
0
-19
123
60
-1
76
-8
-34
34
-4
0
0
0
0
0
0
0
0
12
-69
46
-6
-90
-4
-52
0
25
0
0
0
0
0
0
0
0
-7
-64
7
-9
6
7
24
0
0
0
0
0
0
0
0
0
0
2
54
20
2
-22
0
0
2
0
0
0
0
0
0
0
0
0
0
-80
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
11
14
-1
-26
62
3
-3
0
0
0
0
0
0
0
0
0
0
19
55
-31
-32
25
-2
-4
-1
0
0
0
0
0
0
0
0
0
-16
-6
30
5
-5
1
6
-4
0
0
0
0
0
0
0
0
0
76
11
-1
22
2
1
0
-1
0
0
0
0
0
0
0
0
0
-123
23
-5
-1
-2
25
5
0
0
0
0
0
0
0
0
0
0
-71
-30
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-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
18
-1
4
-4
-1
0
0
0
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
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
-15
6
-1
0
1
0
0
0
0
0
0
0
0
0
1
-1
3
4
0
-4
20
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
-9
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
16
-1
9
9
3
0
0
0
0
0
0
0
0
0
0
25
-3
24
11
-13
-20
9
-3
0
0
0
0
0
0
0
0
0
29
4
34
14
11
43
-24
1
0
0
0
0
0
0
0
0
0
-74
11
14
-4
-4
-17
2
-2
0
0
0
0
0
0
0
0
0
6
13
23
-2
0
-2
0
10
0
0
0
0
0
0
0
0
0
3
1
-20
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
17
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
-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
-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
-88
-5
18
-5
62
1
4
0
0
0
0
0
0
0
0
0
-8
38
-13
8
64
-38
0
9
0
0
0
0
0
0
0
0
0
18
-4
26
-21
3
-14
4
10
2
0
0
0
0
0
0
0
0
-6
2
21
5
10
22
0
-1
0
0
0
0
0
0
0
0
0
0
21
60
-19
62
-18
4
3
0
0
0
0
0
0
0
0
0
27
39
17
-15
5
3
0
0
0
0
0
0
0
0
0
0
0
2
-63
73
-6
11
-14
0
0
0
0
0
0
0
0
0
0
0
8
24
30
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
-43
-80
102
100
75
108
110
29
0
0
0
0
0
0
0
0
0
45
52
51
13
16
-14
42
47
-5
-1
0
0
0
0
0
0
0
56
-7
158
-1
-11
0
16
45
-44
-2
0
0
0
0
0
0
0
136
36
89
63
40
9
23
14
66
0
0
0
0
0
0
0
0
18
-28
81
81
19
-15
-32
57
70
0
0
0
0
0
0
0
0
51
-65
77
-11
46
-12
-4
-57
13
-4
0
0
0
0
0
0
0
-44
62
48
8
-38
-13
1
27
26
0
0
0
0
0
0
0
0
-12
-10
-49
25
-45
14
5
-5
0
0
0
0
0
0
0
0
0
25
-5
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-54
60
217
-30
-44
-14
-70
0
-1
0
0
0
0
0
0
0
-2
61
-18
-5
39
108
-14
-27
34
-3
0
0
0
0
0
0
0
12
81
19
11
-12
-38
-23
20
-31
-2
0
0
0
0
0
0
0
-7
100
-2
-16
-24
-60
-37
-9
15
0
0
0
0
0
0
0
0
-53
30
-4
46
52
-34
-31
-2
46
6
0
0
0
0
0
0
0
3
50
54
98
-52
-92
75
5
1
0
0
0
0
0
0
0
0
-5
62
99
-32
-20
-40
-6
1
25
0
0
0
0
0
0
0
0
-35
71
-72
-81
35
-2
0
1
0
0
0
0
0
0
0
0
0
-93
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
83
-19
66
50
148
20
0
0
0
0
0
0
0
0
0
-62
1
-33
43
74
118
-47
-23
-1
0
0
0
0
0
0
0
0
25
-42
37
-9
-12
-20
-6
54
-5
1
0
0
0
0
0
0
0
31
32
-4
-2
8
49
-54
45
-27
1
0
0
0
0
0
0
0
-176
-111
-115
20
-11
48
5
74
-7
-1
0
0
0
0
0
0
0
29
128
62
-15
-42
21
7
23
0
0
0
0
0
0
0
0
0
12
101
4
-7
5
1
0
0
-1
0
0
0
0
0
0
0
0
-6
71
4
6
13
3
0
0
-1
0
0
0
0
0
0
0
0
54
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
65
56
0
32
-7
-47
32
0
0
0
0
0
0
0
0
0
-13
-27
7
16
58
76
-24
62
-10
9
0
0
0
0
0
0
0
-9
42
-8
72
-19
148
35
-54
-53
-5
0
0
0
0
0
0
0
24
98
-23
-43
5
30
35
-57
-18
-29
0
0
0
0
0
0
0
16
115
13
53
25
14
73
-29
-2
2
0
0
0
0
0
0
0
6
42
5
103
-4
-38
4
29
1
0
0
0
0
0
0
0
0
16
33
20
36
-13
1
-25
0
3
0
0
0
0
0
0
0
0
-2
-20
51
-7
-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
-10
0
32
-17
53
68
6
0
0
0
0
0
0
0
0
0
-11
46
-6
-41
12
-23
-5
17
36
0
0
0
0
0
0
0
0
-3
-9
33
22
0
-6
-62
-19
21
6
0
0
0
0
0
0
0
-27
-36
-21
-31
-6
13
5
-5
-19
0
0
0
0
0
0
0
0
117
20
-48
-9
-45
9
1
14
45
0
0
0
0
0
0
0
0
-8
-8
8
25
80
1
-2
1
0
0
0
0
0
0
0
0
0
-7
-54
14
5
11
0
-4
6
0
0
0
0
0
0
0
0
0
1
-43
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
9
3
-3
5
18
-20
24
0
0
0
0
0
0
0
0
0
0
18
-9
10
43
-3
52
-15
0
0
0
0
0
0
0
0
0
0
34
-25
36
-11
13
-3
-4
0
0
0
0
0
0
0
0
0
0
-49
2
-55
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
39
59
-65
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
70
-8
44
0
0
1
0
0
0
0
0
0
0
0
0
0
0
13
24
-2
2
0
1
0
-3
0
0
0
0
0
0
0
0
0
19
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
10
-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
18
0
0
0
0
0
0
0
0
0
0
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
11
1
-17
5
0
0
0
0
0
0
0
0
0
-4
-7
-31
-36
8
11
-37
15
-9
0
0
0
0
0
0
0
0
2
20
-16
20
-13
4
1
10
0
0
0
0
0
0
0
0
0
-37
-6
5
1
7
25
5
0
0
0
0
0
0
0
0
0
0
-46
2
-41
24
13
3
0
0
0
0
0
0
0
0
0
0
0
-11
-8
9
7
-20
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
11
-1
2
-3
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
53
-15
-4
7
44
0
0
0
0
0
0
0
0
0
0
-8
32
-5
55
-21
18
-2
8
0
0
0
0
0
0
0
0
0
-3
-9
-31
-21
48
10
19
0
0
0
0
0
0
0
0
0
0
11
9
-58
24
-15
-3
46
0
0
0
0
0
0
0
0
0
0
12
-69
10
-58
-39
-6
-8
0
0
0
0
0
0
0
0
0
0
-53
63
-10
-2
1
-2
1
2
0
0
0
0
0
0
0
0
0
30
1
4
2
0
1
-1
15
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
-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
-71
0
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
82
-13
3
-43
10
1
0
0
0
0
0
0
0
0
0
-3
33
-31
6
7
6
11
-7
0
0
0
0
0
0
0
0
0
-11
24
-37
5
13
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
-14
-7
-7
0
0
0
0
0
0
0
0
0
0
-1
7
17
14
-7
0
-13
-5
0
0
0
0
0
0
0
0
0
3
44
14
-5
-13
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
21
3
17
-1
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
-52
-31
-3
53
83
5
-14
32
0
0
0
0
0
0
0
0
0
23
-18
-23
-41
45
97
-41
-71
-9
0
0
0
0
0
0
0
0
66
21
-32
99
39
33
-50
-3
-4
0
0
0
0
0
0
0
0
-11
-18
-26
-5
90
-10
30
-4
21
0
0
0
0
0
0
0
0
4
-6
0
46
16
56
16
-24
1
0
0
0
0
0
0
0
0
15
-7
0
79
28
-47
43
-47
-56
0
0
0
0
0
0
0
0
39
69
45
-14
-24
68
9
34
9
0
0
0
0
0
0
0
0
-11
-23
92
-31
-5
-52
1
-10
0
0
0
0
0
0
0
0
0
87
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
-9
30
3
-63
62
-19
0
-1
0
0
0
0
0
0
0
0
-24
-89
66
51
34
44
68
-68
0
0
0
0
0
0
0
0
0
-100
62
-54
74
-119
32
-55
-26
2
0
0
0
0
0
0
0
24
-102
5
44
-58
37
10
-62
15
-7
0
0
0
0
0
0
0
0
-5
0
-2
8
30
4
-6
-27
2
0
0
0
0
0
0
0
-25
17
-16
41
23
-81
-24
69
-5
0
0
0
0
0
0
0
0
5
46
32
-24
-14
-19
-88
-8
26
0
0
0
0
0
0
0
0
20
4
-68
18
-1
41
-6
-11
-3
0
0
0
0
0
0
0
0
18
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
7
-3
-15
-31
48
1
0
0
0
0
0
0
0
0
0
-2
40
7
-23
-11
-12
63
102
-1
0
0
0
0
0
0
0
0
26
23
-36
38
37
31
-35
49
-1
0
0
0
0
0
0
0
0
22
67
11
-9
-1
29
7
7
-5
-1
0
0
0
0
0
0
0
-13
37
1
0
6
-27
18
-11
-8
0
0
0
0
0
0
0
0
-25
106
-11
-4
64
3
43
-8
-5
0
0
0
0
0
0
0
0
82
19
106
43
49
-1
-9
0
1
0
0
0
0
0
0
0
0
22
92
102
-51
1
-5
-2
0
-2
0
0
0
0
0
0
0
0
14
-8
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-15
-17
-1
31
-66
31
0
2
0
0
0
0
0
0
0
2
-21
6
-24
-50
-46
-13
51
9
-10
0
0
0
0
0
0
0
-1
-47
-106
147
36
-45
-3
46
27
-4
0
0
0
0
0
0
0
11
-42
-21
-86
-3
6
85
48
-3
-1
0
0
0
0
0
0
0
-5
-84
18
-1
0
4
37
-8
-50
0
0
0
0
0
0
0
0
0
18
83
-98
4
5
20
-3
69
-1
0
0
0
0
0
0
0
-26
131
50
10
2
14
-5
9
2
0
0
0
0
0
0
0
0
-2
87
-23
-48
0
0
0
0
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
0
2
-2
-13
45
-11
-32
14
9
0
0
0
0
0
0
0
0
0
0
-72
-16
-41
0
-72
29
-14
-41
0
0
0
0
0
0
0
0
6
8
-6
5
16
48
-10
3
7
-2
0
0
0
0
0
0
0
14
-31
87
128
-50
0
3
18
-7
0
0
0
0
0
0
0
0
-6
-47
6
23
-2
0
0
4
3
0
0
0
0
0
0
0
0
2
-25
-33
32
42
0
0
1
2
0
0
0
0
0
0
0
0
-16
127
-22
33
29
2
-5
0
0
0
0
0
0
0
0
0
0
-11
52
-15
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-13
0
-27
2
-4
0
-1
0
0
0
0
0
0
0
0
-45
32
18
-15
-29
-63
23
-3
0
0
0
0
0
0
0
0
0
-5
3
26
3
63
71
4
7
0
0
0
0
0
0
0
0
0
-34
-20
-6
-31
-13
0
1
0
0
0
0
0
0
0
0
0
0
-13
29
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-9
42
20
-2
0
0
-1
0
0
0
0
0
0
0
0
0
73
5
-15
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
153
41
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
-17
-3
19
-1
2
0
0
0
0
0
0
0
0
0
-23
-2
10
-1
-33
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-13
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-45
21
46
0
-13
-7
7
0
0
0
0
0
0
0
0
0
-8
-3
7
15
-5
-11
-28
-2
-1
0
0
0
0
0
0
0
0
48
2
-18
45
-23
56
20
-43
-16
0
0
0
0
0
0
0
0
-16
-53
22
39
-43
14
-36
1
0
0
0
0
0
0
0
0
0
5
-15
-72
-23
-26
-2
0
0
0
0
0
0
0
0
0
0
0
-13
-48
-31
-5
-7
27
-2
0
0
0
0
0
0
0
0
0
0
-33
-64
-33
-15
10
-3
0
0
-26
0
0
0
0
0
0
0
0
-5
-19
4
-8
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
3
-2
-31
8
9
3
20
0
0
0
0
0
0
0
0
0
0
-76
0
-49
-101
15
-11
16
-31
0
0
0
0
0
0
0
0
0
5
2
18
-29
0
-14
15
15
0
0
0
0
0
0
0
0
0
25
-1
3
5
-33
-22
57
-2
0
0
0
0
0
0
0
0
0
-7
2
-16
9
-85
-97
3
0
0
0
0
0
0
0
0
0
0
-46
-35
-65
-35
54
-22
13
-2
0
0
0
0
0
0
0
0
0
-19
-105
-14
5
-4
1
0
-6
0
0
0
0
0
0
0
0
0
-69
25
17
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
-13
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
-11
-3
0
0
10
0
0
0
0
0
0
0
0
0
0
-2
-37
-5
-1
-6
20
0
5
0
0
0
0
0
0
0
0
0
2
-2
1
16
-3
0
3
0
0
0
0
0
0
0
0
0
0
-1
-2
7
-1
-21
3
0
-1
0
0
0
0
0
0
0
0
0
0
-15
73
-4
16
5
5
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
-10
118
-2
8
0
-1
0
0
0
0
0
0
0
0
0
0
18
56
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
64
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-8
-53
35
-58
95
36
0
0
0
0
0
0
0
0
0
-4
-5
-43
-61
-79
46
24
-50
-4
-4
0
0
0
0
0
0
0
55
-20
-15
61
-5
-2
105
-22
-5
0
0
0
0
0
0
0
0
51
10
86
44
26
-29
28
27
6
7
0
0
0
0
0
0
0
-16
2
-2
67
54
-69
-37
-1
-12
0
0
0
0
0
0
0
0
0
0
0
-56
-93
19
-44
-53
-53
0
0
0
0
0
0
0
0
10
-5
39
-46
-128
-17
10
-13
-5
0
0
0
0
0
0
0
0
-9
-15
-53
14
25
19
0
0
0
0
0
0
0
0
0
0
0
-16
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
58
37
14
-23
-7
11
19
0
0
0
0
0
0
0
0
0
-4
71
32
89
-32
18
59
70
-55
5
0
0
0
0
0
0
0
-6
-61
26
-15
10
18
39
-24
-3
4
0
0
0
0
0
0
0
0
-37
41
96
34
-43
6
-4
-49
-1
0
0
0
0
0
0
0
17
5
-1
-46
-16
24
53
-26
-17
-3
0
0
0
0
0
0
0
-3
4
0
-13
2
-46
-27
19
-37
0
0
0
0
0
0
0
0
5
191
-6
8
7
-13
33
11
-4
0
0
0
0
0
0
0
0
18
-41
17
33
2
-11
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
1
0
-50
-26
-3
-5
32
4
0
0
0
0
0
0
0
0
0
3
18
44
51
-4
53
-55
10
0
0
0
0
0
0
0
0
0
21
-4
11
-69
40
79
24
38
6
2
0
0
0
0
0
0
0
5
36
-5
-6
-49
1
-27
14
-5
1
0
0
0
0
0
0
0
-18
-103
-23
-1
18
-26
5
19
7
0
0
0
0
0
0
0
0
-5
9
2
0
0
-4
44
-10
0
0
0
0
0
0
0
0
0
-32
-37
50
0
7
-23
32
0
1
0
0
0
0
0
0
0
0
25
16
-42
0
6
0
-4
0
2
0
0
0
0
0
0
0
0
-11
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
3
-4
26
0
-32
-42
65
0
0
0
0
0
0
0
0
0
1
-97
16
-63
-74
-14
3
34
-4
0
0
0
0
0
0
0
0
25
17
-3
43
6
9
0
-12
21
-1
0
0
0
0
0
0
0
2
33
-19
68
-9
-54
-22
14
7
0
0
0
0
0
0
0
0
-1
71
-29
-1
-4
5
-131
-17
-5
0
0
0
0
0
0
0
0
-1
121
90
-2
0
2
14
13
-26
0
0
0
0
0
0
0
0
-43
15
36
1
10
6
-3
2
-9
0
0
0
0
0
0
0
0
17
-30
134
54
0
-1
0
6
0
0
0
0
0
0
0
0
0
-14
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-21
-13
-1
-54
-76
-15
0
0
0
0
0
0
0
0
0
5
37
44
-5
-13
-21
-117
-58
-1
0
0
0
0
0
0
0
0
0
-9
-50
-43
55
-14
18
-34
1
0
0
0
0
0
0
0
0
-7
-31
5
33
19
4
-62
-4
21
-4
0
0
0
0
0
0
0
1
68
-19
8
23
4
3
34
27
0
0
0
0
0
0
0
0
0
-50
-15
-20
4
0
0
-16
0
0
0
0
0
0
0
0
0
29
-20
3
3
7
-2
0
0
8
0
0
0
0
0
0
0
0
-19
13
-55
14
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
4
-1
2
32
-15
0
0
0
0
0
0
0
0
0
0
-21
-7
6
-50
-43
30
-14
-3
0
0
0
0
0
0
0
0
0
-4
-2
-8
39
-13
89
0
9
0
0
0
0
0
0
0
0
0
-37
-26
35
13
-23
109
-8
-4
0
0
0
0
0
0
0
0
0
-16
70
1
-39
-11
0
0
-7
0
0
0
0
0
0
0
0
0
6
9
-41
6
0
0
0
4
0
0
0
0
0
0
0
0
7
66
-33
-13
32
3
0
0
-2
0
0
0
0
0
0
0
0
2
28
-53
8
0
-1
0
-13
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
-15
0
0
0
0
0
0
0
0
0
0
1
1
3
3
0
-4
15
-7
2
0
0
0
0
0
0
0
0
-3
2
-11
-11
-20
13
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
-11
1
-5
-3
0
1
0
0
0
0
0
0
0
0
0
0
2
-1
-9
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
21
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
14
7
-1
-17
1
17
-10
0
0
0
0
0
0
0
0
0
7
13
53
-33
-25
-41
-32
-3
5
0
0
0
0
0
0
0
0
8
-35
2
49
-11
20
17
5
2
0
0
0
0
0
0
0
0
26
14
5
-43
-35
8
46
23
9
0
0
0
0
0
0
0
0
2
23
31
34
26
-14
23
0
0
0
0
0
0
0
0
0
0
-2
2
-14
-50
-60
-50
-3
0
0
0
0
0
0
0
0
0
0
19
-10
-21
-15
10
-11
0
0
0
0
0
0
0
0
0
0
0
75
-38
44
52
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
33
-25
-14
34
-9
-3
0
-2
0
0
0
0
0
0
0
0
47
-14
-3
-69
53
-39
-2
-5
0
0
0
0
0
0
0
0
0
23
15
46
-26
-24
35
1
29
1
0
0
0
0
0
0
0
0
106
-69
29
45
-32
69
-3
4
0
0
0
0
0
0
0
0
0
36
-13
7
14
34
-6
-14
0
0
0
0
0
0
0
0
0
0
-63
-50
-1
20
-5
-57
-19
0
0
0
0
0
0
0
0
0
0
-77
-76
-2
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
48
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
-13
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
9
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
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-19
-10
-13
3
0
0
0
0
0
0
0
0
0
0
0
2
41
-20
-48
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
20
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
3
-8
4
0
0
0
0
0
0
0
0
0
0
0
33
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
4
-14
-53
12
-1
62
0
0
0
0
0
0
0
0
0
0
2
-118
76
-25
-10
91
-30
5
16
0
0
0
0
0
0
0
0
-16
7
-63
-10
5
-84
11
-1
23
5
0
0
0
0
0
0
0
-6
-1
67
-47
53
14
16
69
-5
0
0
0
0
0
0
0
0
60
-15
118
61
-33
-33
55
45
48
0
0
0
0
0
0
0
0
-7
0
20
131
-6
-24
44
27
9
0
0
0
0
0
0
0
0
0
0
0
7
17
-2
77
1
0
0
0
0
0
0
0
0
0
10
0
5
-38
6
18
-4
2
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
59
-14
-19
-20
-5
25
11
0
0
0
0
0
0
0
0
0
0
37
-81
-19
-3
53
46
-2
3
0
0
0
0
0
0
0
0
0
-43
-30
50
-28
-19
29
-34
32
0
0
0
0
0
0
0
0
1
27
60
32
-2
-33
83
25
32
21
0
0
0
0
0
0
0
0
183
45
-23
32
-104
-91
38
10
10
0
0
0
0
0
0
0
2
35
4
37
-62
53
-39
22
13
5
0
0
0
0
0
0
0
0
0
0
0
3
49
3
-71
10
-1
0
0
0
0
0
0
0
19
-18
0
-43
-43
16
58
51
8
0
0
0
0
0
0
0
0
-1
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
8
-7
-5
0
21
5
0
0
0
0
0
0
0
0
0
3
3
-15
-13
-53
-39
-50
43
0
0
0
0
0
0
0
0
0
0
-7
14
0
34
10
-16
2
0
4
0
0
0
0
0
0
0
0
89
89
-65
38
5
29
-6
2
0
0
0
0
0
0
0
0
-5
20
71
1
15
-10
113
0
11
-2
0
0
0
0
0
0
0
-7
40
36
1
33
1
-43
0
8
8
0
0
0
0
0
0
0
-40
-5
5
0
-2
5
0
16
0
0
0
0
0
0
0
0
0
9
-46
43
1
0
2
0
7
0
0
0
0
0
0
0
0
0
48
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
0
-5
-19
-48
-33
-6
0
0
0
0
0
0
0
0
0
0
-38
-9
6
-81
-30
19
-6
-13
0
0
0
0
0
0
0
0
1
-15
35
-9
1
-19
-62
18
-9
-24
0
0
0
0
0
0
0
4
-52
78
44
-20
-12
44
-2
3
0
0
0
0
0
0
0
0
0
95
72
-21
-22
42
18
-44
-29
0
0
0
0
0
0
0
0
-10
4
-46
0
0
-3
-3
13
23
10
0
0
0
0
0
0
0
0
-38
-16
0
0
8
-4
1
-6
0
0
0
0
0
0
0
0
-4
35
117
11
0
2
26
9
0
0
0
0
0
0
0
0
0
6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
2
0
0
-32
2
0
0
0
0
0
0
0
0
0
0
-49
-13
14
-35
-6
-29
-3
-4
0
0
0
0
0
0
0
0
0
0
2
-6
-5
9
-42
-6
-8
0
0
0
0
0
0
0
0
-1
-5
8
17
-25
-10
-15
1
-7
0
0
0
0
0
0
0
0
0
30
-10
-73
90
-6
25
0
4
0
0
0
0
0
0
0
0
0
-92
33
41
-5
0
-3
-2
-20
0
0
0
0
0
0
0
0
8
52
17
-1
0
0
0
-11
0
0
0
0
0
0
0
0
0
-25
-72
-45
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
47
-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
91
6
0
-34
0
4
-4
0
0
0
0
0
0
0
0
0
0
-1
0
4
13
3
7
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
36
45
-9
-52
13
0
0
0
0
0
0
0
0
0
0
-10
-58
9
-43
77
-1
-2
-3
-6
0
0
0
0
0
0
0
0
16
46
11
76
-5
0
-5
15
0
0
0
0
0
0
0
0
0
9
23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
10
45
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
14
0
0
5
-8
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
-10
6
0
0
0
0
0
0
0
0
0
-2
-3
0
-9
1
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
4
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
4
35
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
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-24
27
26
1
20
1
0
0
0
0
0
0
0
0
0
-5
-27
6
48
50
24
57
19
-6
0
0
0
0
0
0
0
0
0
-29
3
33
-43
-9
53
-7
-26
0
0
0
0
0
0
0
0
0
20
29
-19
-7
-13
-1
26
5
0
0
0
0
0
0
0
0
10
4
14
5
5
46
15
80
1
0
0
0
0
0
0
0
0
-5
-23
79
-5
-55
15
-8
0
0
0
0
0
0
0
0
0
0
16
55
-49
-58
22
-14
4
0
0
0
0
0
0
0
0
0
0
-49
43
20
11
2
0
0
0
0
0
0
0
0
0
0
0
0
52
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
2
2
10
0
0
0
0
0
0
0
0
0
0
0
0
-28
8
6
-3
2
-20
10
2
0
0
0
0
0
0
0
0
0
-4
-9
-8
-2
13
44
-63
-3
-13
0
0
0
0
0
0
0
0
2
5
20
10
7
37
43
-6
0
0
0
0
0
0
0
0
0
-32
23
-19
14
-17
-7
0
3
0
0
0
0
0
0
0
0
0
33
7
1
-18
20
0
-10
0
0
0
0
0
0
0
0
0
0
-68
-6
25
-7
-1
1
0
0
0
0
0
0
0
0
0
0
0
31
72
-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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
0
14
0
0
0
0
0
0
0
0
0
0
0
7
-5
-2
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
34
-4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
27
1
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
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
-28
25
-117
20
0
0
0
0
0
0
0
0
0
0
0
0
2
36
3
41
-21
0
0
0
0
0
0
0
0
0
0
-14
-5
-3
-2
1
1
-3
-5
0
0
0
0
0
0
0
0
0
124
0
105
54
0
7
-2
2
-4
0
0
0
0
0
0
0
0
101
14
53
44
14
0
-5
-1
0
0
0
0
0
0
0
0
0
5
0
30
-70
-9
-10
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
-2
5
8
2
-8
9
7
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-44
1
-25
19
0
0
0
0
0
0
0
0
0
0
-3
0
-8
45
-26
10
4
0
0
0
0
0
0
0
0
0
0
10
-20
-22
-21
148
-16
3
4
0
0
0
0
0
0
0
0
0
-1
-20
33
24
8
-14
-2
2
0
0
0
0
0
0
0
0
-2
-7
-5
-14
15
-14
16
10
-5
0
0
0
0
0
0
0
0
50
47
10
58
53
-5
-34
-17
0
0
0
0
0
0
0
0
0
1
-10
0
0
3
2
9
1
0
0
0
0
0
0
0
0
0
111
-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
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-52
18
1
0
0
0
0
0
0
0
0
0
0
0
1
9
-2
4
-8
2
6
0
0
0
0
0
0
0
0
0
0
-20
-4
70
9
7
1
-14
0
0
0
0
0
0
0
0
0
0
-38
43
15
-71
20
17
7
1
-1
0
0
0
0
0
0
0
15
-47
-50
0
-19
6
-16
3
-7
0
0
0
0
0
0
0
0
7
9
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
24
43
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
5
17
-3
0
0
0
0
0
0
0
0
0
0
-11
3
1
-10
-14
-36
3
0
0
0
0
0
0
0
0
0
-1
0
0
24
-4
8
3
4
0
0
0
0
0
0
0
0
0
0
-10
-9
98
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
14
32
82
0
7
1
-9
6
0
0
0
0
0
0
0
0
-4
-7
-22
-2
0
1
-3
0
0
0
0
0
0
0
0
0
0
6
-112
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-23
-17
-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
-10
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
66
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
25
-7
1
6
0
-1
0
0
0
0
0
0
0
0
0
0
3
-11
9
1
6
0
0
0
0
0
0
0
0
0
0
-3
0
3
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
-134
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
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
-16
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
17
-23
27
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-5
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
-1
2
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
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
15
-7
15
3
1
0
0
0
0
0
0
0
0
-3
1
1
2
-1
-14
15
-2
0
0
0
0
0
0
0
0
0
0
0
-21
-14
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
19
6
-9
10
-3
0
5
0
0
0
0
0
0
0
0
0
0
29
-8
-3
-25
0
0
0
0
0
0
0
0
0
0
0
0
10
23
-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
17
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-14
-26
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
-24
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
-18
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
-23
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-2
1
1
-8
0
0
0
0
0
0
0
0
0
0
-4
2
0
4
9
6
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
13
8
23
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-2
-9
8
0
0
0
0
0
0
0
0
0
0
0
3
-5
-6
-2
-20
-19
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
-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
-9
-3
25
-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
9
1
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-25
0
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
26
0
-20
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
-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
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
5
11
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
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
13
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-10
0
0
-1
-3
0
-1
0
0
0
0
0
0
0
4
-4
2
-5
-26
-2
9
5
0
0
0
0
0
0
0
0
2
0
1
1
-4
-5
36
0
1
0
0
0
0
0
0
0
0
0
0
0
10
1
0
-14
-5
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
10
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
32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
15
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
0
0
-9
-5
-32
0
0
0
0
0
0
0
0
0
0
0
8
4
-27
-15
97
-33
4
1
0
0
0
0
0
0
0
-2
0
0
3
2
-43
10
55
-9
0
0
0
0
0
0
0
0
0
0
0
3
0
-38
-40
53
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
15
5
21
35
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
21
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-35
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
62
-73
9
33
32
-23
0
-3
0
0
0
0
0
0
0
-1
-5
27
42
-20
-53
8
-15
6
0
0
0
0
0
0
0
0
0
-3
6
-1
-22
8
6
54
0
1
0
0
0
0
0
0
0
0
0
-27
24
29
25
-44
-132
0
0
0
0
0
0
0
0
0
0
6
3
0
-4
14
-83
-140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
-128
1
0
0
0
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
34
-55
31
-37
0
0
0
1
0
0
0
0
0
0
0
0
-31
23
-107
-7
9
-3
3
1
0
0
0
0
0
0
0
0
0
-1
-65
-35
6
53
-2
-20
-1
-10
0
0
0
0
0
0
0
0
1
-4
-9
27
131
-30
-84
3
0
-2
0
0
0
0
0
0
0
0
0
3
2
-32
22
8
-45
0
0
0
0
0
0
0
0
0
0
0
11
0
4
-2
8
11
0
0
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
31
-79
8
6
0
0
0
20
0
0
0
0
0
0
0
0
0
-8
-13
-19
60
-45
4
14
1
0
0
0
0
0
0
0
0
0
3
53
-26
-26
15
33
-5
-2
0
0
0
0
0
0
0
0
0
0
24
10
60
31
-10
9
0
0
0
0
0
0
0
0
0
0
0
-7
-69
104
52
15
37
8
0
0
0
0
0
0
0
0
0
0
0
19
59
80
62
41
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
2
17
0
0
0
0
0
0
0
0
0
0
0
0
4
31
6
-63
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
98
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
14
24
-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
56
3
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
-4
10
-6
-3
0
0
0
0
0
0
0
0
0
0
1
1
0
-10
10
-3
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
13
-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
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
25
26
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
14
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-10
-11
-32
-18
14
0
0
0
0
0
0
0
0
0
1
0
-3
11
-11
0
-1
-5
0
0
0
0
0
0
0
0
0
-3
-1
0
45
-1
4
-43
-27
0
0
0
0
0
0
0
0
0
0
0
-1
4
-53
-7
55
2
0
0
0
0
0
0
0
0
0
0
0
9
1
0
-7
34
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
9
0
-27
9
0
0
0
0
0
0
0
0
0
-7
5
0
-15
-14
9
-8
-14
2
0
0
0
0
0
0
0
0
-2
0
-4
19
43
55
-4
10
0
0
0
0
0
0
0
0
0
0
0
1
6
22
15
-2
54
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
-15
3
-9
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
-11
6
0
-34
3
-2
0
0
0
0
0
0
0
1
0
0
3
4
-5
-1
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
128
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-26
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
-10
-1
3
-1
0
0
0
2
0
0
0
0
0
0
0
0
4
-5
1
-32
-41
-6
-39
-4
0
1
0
0
0
0
0
0
0
0
2
-10
12
24
-33
-33
63
1
0
0
0
0
0
0
0
0
-2
7
-7
57
-92
-45
-28
3
0
0
0
0
0
0
0
0
0
0
0
-1
13
10
-105
-90
26
1
0
0
0
0
0
0
0
0
0
0
0
1
7
-2
35
-82
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-36
0
0
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
-24
24
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
2
46
-15
17
45
0
0
0
0
0
0
0
0
0
0
0
-3
-5
40
-109
-2
-7
-12
-11
24
0
0
0
0
0
0
0
0
0
15
21
-26
7
14
88
15
21
1
0
0
0
0
0
0
0
-15
3
0
-8
31
62
75
5
25
-1
0
0
0
0
0
0
0
0
0
0
-9
4
12
70
112
-26
-3
0
0
0
0
0
0
0
0
0
0
0
1
-24
32
20
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
15
-23
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
-17
9
-56
43
0
0
0
0
0
0
0
0
0
0
0
0
20
55
-6
-12
-67
3
0
0
0
1
0
0
0
0
0
0
0
2
-14
-46
-9
10
-10
-34
-18
-57
0
0
0
0
0
0
0
0
-16
-4
22
-5
41
-75
-171
62
-15
-7
0
0
0
0
0
0
0
0
0
65
23
110
118
-17
-40
31
2
-2
0
0
0
0
0
0
0
0
-7
-4
4
107
30
-59
9
-1
0
0
0
0
0
0
0
0
0
0
8
-6
45
-55
19
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
43
39
0
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
-9
29
-20
-37
0
0
0
0
0
0
0
0
0
0
6
1
5
-53
-2
-29
1
0
0
0
1
-2
0
0
0
0
0
0
-9
-23
19
-7
-100
9
-36
-4
5
0
0
0
0
0
0
0
0
-3
9
-76
12
35
-37
-6
15
40
-1
0
0
0
0
0
0
0
-18
14
5
-61
72
-11
20
-39
-49
-1
-1
0
0
0
0
0
0
-5
4
2
-1
22
48
-13
57
33
7
0
0
0
0
0
0
0
0
0
0
1
-5
-63
39
26
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-72
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
-2
-48
35
74
0
0
0
5
0
0
0
0
0
0
0
0
11
-18
0
-112
-14
0
0
0
-3
-6
0
0
0
0
0
0
39
-33
-11
-18
-3
49
-10
-44
5
-1
0
0
0
0
0
0
0
11
22
-18
2
23
-56
-64
-84
30
-1
0
0
0
0
0
0
0
1
13
48
-20
8
-98
-12
3
-94
-2
-1
0
0
0
0
0
0
-3
3
-45
18
-43
-68
-60
12
-8
-3
0
0
0
0
0
0
0
0
0
0
24
-22
-8
-27
26
-12
6
0
0
0
0
0
0
0
0
0
0
2
1
0
1
15
-36
-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
-25
-24
-23
3
4
0
0
0
0
0
0
0
0
0
0
0
-3
-20
-25
-57
72
-4
0
0
0
-23
-1
0
0
0
0
0
0
-6
-45
-61
30
80
-11
-46
17
-39
-38
0
0
0
0
0
0
0
-8
39
1
-3
-59
-84
-9
-40
-28
15
0
0
0
0
0
0
0
0
-25
15
33
-32
-95
-119
112
108
-3
0
0
0
0
0
0
0
4
1
17
-47
-34
-40
-20
91
117
-5
0
0
0
0
0
0
0
-3
0
0
-24
21
65
91
10
20
-36
0
0
0
0
0
0
0
0
0
0
0
-41
-1
94
9
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
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
18
-2
0
0
0
5
-11
0
0
0
0
0
0
0
0
0
-4
-6
0
8
27
23
0
-15
0
0
0
0
0
0
0
0
0
19
2
5
3
-22
-17
20
4
0
0
0
0
0
0
0
0
0
1
-1
17
9
49
91
-23
2
0
0
0
0
0
0
0
0
0
0
-1
11
0
-14
58
13
9
0
0
0
0
0
0
0
0
0
2
0
0
-9
34
-16
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
-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
-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
-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
11
-33
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
17
-6
7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
5
11
0
-14
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
-17
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
-32
-20
8
-2
24
-2
21
0
0
0
0
0
0
0
0
0
1
0
6
33
8
-32
-19
-1
0
0
0
0
0
0
0
0
-1
-2
0
-4
-19
44
-25
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-27
9
3
0
0
0
0
0
0
0
0
0
0
0
3
-2
-3
13
13
-51
0
0
0
0
0
0
0
0
0
0
0
1
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
-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
15
15
37
-9
-4
0
0
0
0
0
0
0
0
6
0
0
-2
4
-25
-5
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-3
-27
-4
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
-2
0
0
0
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
-32
-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
15
-5
-4
-19
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-23
4
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
-7
3
53
3
1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
24
-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
-41
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
17
-4
-27
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-4
2
29
-9
-5
-24
-7
-1
0
0
0
0
0
0
0
0
11
0
1
-2
40
97
-71
2
0
0
0
0
0
0
0
0
4
0
-14
5
-21
-33
68
1
32
0
0
0
0
0
0
0
0
0
0
0
-3
-5
47
-6
-51
71
0
0
0
0
0
0
0
0
0
0
4
-1
0
-3
-18
26
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
13
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
5
-27
-35
-43
3
113
0
0
0
-1
0
0
0
0
0
0
0
-13
-1
-35
-4
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
23
-34
80
2
2
-31
65
6
0
0
0
0
0
0
0
0
2
37
43
-29
-16
-72
73
90
-26
1
0
0
0
0
0
0
0
8
-5
-4
56
-33
-3
-53
107
-22
8
0
0
0
0
0
0
0
0
-2
20
-5
10
-4
10
10
21
0
0
0
0
0
0
0
0
0
-1
-2
4
-6
-17
-18
31
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-96
38
0
0
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
19
33
-34
7
0
0
0
0
0
0
0
0
0
0
0
-2
14
19
29
29
1
0
0
0
-2
0
0
0
0
0
0
0
0
4
-56
9
50
-6
44
-37
-14
0
0
0
0
0
0
0
0
1
-23
-10
-74
-40
47
-45
-15
-30
-5
0
0
0
0
0
0
0
0
-19
25
-53
3
85
33
-28
29
0
0
0
0
0
0
0
0
1
0
8
52
1
-13
54
-17
-35
1
0
0
0
0
0
0
0
0
0
1
-16
1
-2
20
-44
-17
0
0
0
0
0
0
0
0
0
0
0
-7
0
23
55
-28
-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
-8
14
34
21
14
82
0
0
0
0
0
0
0
0
0
0
2
7
13
-32
-90
46
-63
0
0
0
0
0
0
0
0
0
0
0
2
31
45
78
-16
-6
-4
48
-5
0
0
0
0
0
0
0
0
55
7
62
-31
-48
10
50
-26
16
-17
0
0
0
0
0
0
0
0
-51
-14
-48
-2
-67
-43
-148
-55
7
-1
0
0
0
0
0
0
0
-1
-9
56
44
9
68
-123
-10
-4
2
0
0
0
0
0
0
0
0
-1
-43
14
99
16
60
-44
-8
0
0
0
0
0
0
0
0
0
-4
-7
7
-22
52
-128
-12
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
35
0
0
0
0
0
0
0
0
0
0
4
14
-13
-44
-9
0
0
0
0
0
0
0
0
0
0
0
-21
-21
0
8
79
-26
0
0
0
2
0
0
0
0
0
0
0
-3
78
-14
38
16
53
75
14
-8
0
0
0
0
0
0
0
0
13
-43
-6
34
24
11
55
-9
46
-1
-1
0
0
0
0
0
0
-3
31
53
-60
-21
-48
-93
-74
-101
-1
2
0
0
0
0
0
0
0
-25
9
13
-130
-25
-32
-33
12
-2
0
0
0
0
0
0
0
0
-7
-18
32
50
-25
-56
28
66
7
0
0
0
0
0
0
0
0
0
-1
-13
-30
-61
5
20
-60
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
5
0
0
0
0
0
0
0
0
0
-23
-53
17
-20
57
0
0
0
36
0
0
0
0
0
0
0
-7
33
-24
-65
68
29
0
0
0
-1
1
0
0
0
0
0
0
0
32
19
0
60
101
-2
28
-11
-1
0
0
0
0
0
0
0
4
49
-56
46
15
-37
-99
-8
60
-39
0
0
0
0
0
0
0
-7
-45
49
68
-16
-75
78
-5
-44
44
0
0
0
0
0
0
0
-8
-2
-8
-35
-67
-4
-10
31
-21
3
0
0
0
0
0
0
0
0
0
17
-2
-69
-35
-138
52
-10
16
0
0
0
0
0
0
0
0
0
-5
-10
0
-28
47
56
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
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
-20
7
10
2
-2
0
0
0
0
0
0
0
0
0
3
-6
25
15
-13
25
0
-1
0
0
0
0
0
0
0
0
0
4
7
-2
-10
-15
25
6
-9
0
0
0
0
0
0
0
0
0
0
-2
-2
-7
0
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-44
16
33
35
0
0
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
0
0
0
0
0
0
0
0
0
0
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
27
-11
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
27
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
-14
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
-18
-10
28
-33
24
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-29
32
-21
27
15
8
0
0
0
0
0
0
0
0
0
0
-4
13
10
-27
24
46
-33
0
0
0
0
0
0
0
0
0
1
0
25
3
78
-46
54
33
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-27
91
-8
71
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-37
-39
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
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
-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
23
-10
-3
14
0
0
0
0
0
0
0
0
0
0
0
-2
-1
14
14
13
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
18
5
33
29
1
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
1
0
1
-1
24
9
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
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
-7
-3
-15
1
10
0
0
0
-2
1
0
0
0
0
0
0
0
3
11
3
0
4
19
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
3
13
27
0
0
0
0
0
0
0
0
0
0
1
0
-2
13
35
13
1
9
0
0
0
0
0
0
0
0
0
1
-3
0
0
-1
0
-66
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
33
25
8
-5
-2
0
0
0
0
0
0
0
0
0
0
0
5
-9
-29
-24
6
17
0
0
0
0
0
0
0
0
0
0
0
0
-77
-1
0
30
21
-54
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-10
1
-21
0
0
0
0
0
0
0
0
4
31
-7
0
29
-18
34
-86
-25
0
0
0
0
0
0
0
0
0
0
36
-8
14
-60
-20
-22
5
0
0
0
0
0
0
0
0
0
3
5
11
3
25
5
9
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-26
1
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
-3
9
-89
-38
11
3
0
0
0
0
0
0
0
0
0
0
0
14
20
-71
128
3
14
0
0
0
0
0
0
0
0
0
0
0
1
-54
61
53
31
9
0
92
4
0
0
0
0
0
0
0
0
1
63
48
13
-2
43
95
-15
-7
-1
0
0
0
0
0
0
0
2
-11
42
-47
-3
-40
-99
44
-14
5
0
0
0
0
0
0
0
-1
0
-6
38
0
-18
24
-49
63
-1
0
0
0
0
0
0
0
0
0
-9
-2
-9
29
-49
-27
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
10
-99
1
0
0
0
0
0
0
0
0
0
0
0
0
7
-11
-88
1
0
0
0
0
0
0
0
0
0
7
14
-58
69
22
0
0
0
0
0
0
0
0
0
0
0
16
-44
-21
27
-23
59
0
0
0
0
0
0
0
0
0
0
0
-10
55
-49
60
14
22
-18
56
7
5
0
0
0
0
0
0
0
6
15
-34
6
-77
27
-74
85
-19
1
0
0
0
0
0
0
0
-3
77
7
-11
-41
-58
-101
-2
24
9
1
0
0
0
0
0
0
-11
2
-11
-45
-39
11
-49
-38
-52
-3
0
0
0
0
0
0
0
2
6
-8
-23
4
68
-70
-96
11
0
0
0
0
0
0
0
0
0
0
0
9
9
0
-32
-69
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
3
-4
21
-10
-45
54
-78
0
0
0
0
0
0
0
0
0
0
1
9
-68
107
-47
15
-15
0
0
0
1
0
0
0
0
0
0
-17
69
27
30
8
14
-62
-36
-28
52
0
-1
0
0
0
0
0
0
-2
-26
-30
84
114
45
39
-50
21
7
0
0
0
0
0
0
0
-3
-9
-32
66
97
86
-100
-51
-88
18
1
0
0
0
0
0
0
0
8
-6
32
-83
-83
-45
-100
-52
13
0
0
0
0
0
0
0
0
0
7
-16
32
75
85
47
-89
-15
0
0
0
0
0
0
0
0
0
0
18
27
-37
34
120
-60
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
18
147
14
-38
-61
36
0
0
0
0
0
0
0
0
0
0
0
-6
6
-83
-41
10
16
0
0
0
-6
0
0
0
0
0
0
0
6
-3
20
-21
-47
-63
-50
23
-8
0
0
0
0
0
0
0
0
-23
53
-2
-30
71
-2
-61
-5
-85
0
0
0
0
0
0
0
0
-1
25
-22
-36
37
123
-23
-73
62
0
0
0
0
0
0
0
-3
0
-7
23
61
49
-21
-111
-25
-88
-5
0
0
0
0
0
0
0
0
5
16
91
19
-84
-155
24
-57
13
0
0
0
0
0
0
0
0
3
-7
-10
6
7
122
32
59
13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-25
2
0
0
0
0
0
0
0
0
-5
-2
45
-46
70
14
0
0
0
-1
0
0
0
0
0
0
0
0
-11
21
56
32
33
0
0
0
-7
0
0
0
0
0
0
0
2
-53
-21
-29
68
-51
98
17
-19
1
1
0
0
0
0
0
0
11
-5
-21
7
-18
84
-70
-55
-66
-19
0
0
0
0
0
0
0
0
39
40
9
20
-5
-58
-64
9
19
-1
0
0
0
0
0
0
0
36
-79
87
77
61
13
-149
-65
24
0
0
0
0
0
0
0
0
2
-29
60
-65
-77
-56
-11
-57
-33
0
0
0
0
0
0
0
0
-1
0
5
-8
70
11
48
15
35
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
27
2
-1
15
-14
1
-3
0
0
0
0
0
0
0
0
0
-1
1
-13
-18
-14
0
3
0
0
0
0
0
0
0
0
0
0
-2
-3
19
17
-7
-20
-5
7
0
0
0
0
0
0
0
0
0
0
0
-1
4
11
-36
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-6
-41
-5
18
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
14
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-33
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
61
7
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
-7
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
0
0
0
-1
0
23
0
0
0
0
0
0
0
0
0
2
-1
0
25
1
-11
0
0
0
0
0
0
0
0
0
0
0
5
69
25
-33
18
1
0
0
0
0
0
0
0
0
0
0
0
0
-80
-4
-143
16
12
0
-5
-48
0
0
0
0
0
0
0
0
0
0
10
45
-68
19
-18
24
-25
0
0
0
0
0
0
0
0
0
0
-4
-21
44
59
12
35
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-14
-5
37
128
56
0
0
0
0
0
0
0
0
0
1
0
-1
1
-3
-3
77
-2
0
0
0
0
0
0
0
0
0
0
-4
1
0
2
20
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
-1
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
-11
-2
-5
0
0
0
10
0
0
0
0
0
0
0
0
0
2
-6
20
20
-2
-13
-13
1
0
0
0
0
0
0
0
0
0
0
2
-9
5
-32
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-16
15
6
0
0
0
0
0
0
0
0
0
0
0
-2
6
11
-7
21
30
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-3
-29
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
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
-1
0
4
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
-2
-1
-10
0
0
0
-1
0
0
0
0
0
0
0
0
0
-17
10
0
-5
10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-2
-14
-40
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
2
-5
-31
4
0
0
0
0
0
0
0
0
0
0
0
0
9
2
26
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-3
9
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
10
0
-5
-21
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
57
3
-53
-16
-63
0
0
0
0
0
0
0
0
0
0
0
0
9
22
-122
14
-5
-16
-28
5
0
0
0
0
0
0
0
0
2
0
-3
2
-24
-44
24
47
-63
0
0
0
0
0
0
0
0
-8
-4
0
0
0
-4
39
60
-11
0
0
0
0
0
0
0
0
-9
0
0
-6
-6
48
-20
-49
-52
0
0
0
0
0
0
0
0
0
0
8
4
-11
-27
-10
-31
-34
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-55
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
2
-15
-49
7
0
0
0
0
0
0
0
0
0
0
0
1
-26
-60
71
-86
21
0
0
0
0
0
0
0
0
0
0
0
0
14
-112
-8
-68
-142
-25
-11
-49
0
0
0
0
0
0
0
0
-7
10
5
74
-22
-87
31
-15
-16
0
0
0
0
0
0
0
0
13
45
4
-7
0
0
6
9
-14
0
0
0
0
0
0
0
0
-2
-1
5
0
0
62
-45
-79
-86
0
0
0
0
0
0
0
0
0
0
0
3
-32
-51
-36
-82
62
2
0
0
0
0
0
0
0
0
0
-6
0
0
6
23
19
67
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-52
0
0
0
0
0
0
0
0
0
-9
0
-45
-19
-14
16
0
0
0
0
0
0
0
0
0
0
0
0
-25
-38
106
-20
51
0
0
0
2
0
0
0
0
0
0
0
0
-6
7
57
4
-51
-20
24
64
-4
0
0
0
0
0
0
0
0
-10
-64
-87
3
3
121
65
-44
0
0
0
0
0
0
0
0
5
0
0
5
2
0
5
81
23
0
0
0
0
0
0
0
0
25
-55
-5
-23
-87
13
61
-75
-60
1
0
0
0
0
0
0
0
-7
-3
-11
-17
-35
-86
-58
-185
-102
-6
0
0
0
0
0
0
0
0
0
0
-21
0
-5
26
-48
-84
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-81
21
0
0
0
0
0
0
0
0
-14
-67
-23
7
-34
21
0
0
0
-2
0
0
0
0
0
0
-9
34
-4
41
14
9
5
0
0
0
0
0
0
0
0
0
0
0
15
-54
6
27
-37
-31
13
-148
17
0
-1
0
0
0
0
0
27
0
56
-6
-71
49
-27
-7
-34
124
19
0
0
0
0
0
0
0
-7
-7
-35
91
14
8
0
-10
-57
-9
0
0
0
0
0
0
0
25
14
-40
22
18
51
-20
-84
-7
5
0
0
0
0
0
0
0
0
3
-2
72
32
57
-59
-5
-114
-43
0
0
0
0
0
0
0
0
0
0
0
-45
26
51
3
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
-26
2
-76
0
0
0
0
0
0
0
0
0
-5
37
0
66
-2
-14
0
0
0
0
0
0
0
0
0
0
0
17
31
-30
17
-49
37
0
0
0
-4
0
0
0
0
0
0
0
13
-15
13
-16
105
6
-65
-15
-91
0
0
0
0
0
0
0
0
-37
-32
23
-44
14
-40
71
-6
-21
6
0
0
0
0
0
0
0
34
55
101
43
59
-90
-8
0
-1
1
0
0
0
0
0
0
0
3
62
-48
-39
32
86
-3
4
-7
4
0
0
0
0
0
0
0
0
-14
28
-74
6
46
39
-92
-148
0
0
0
0
0
0
0
0
0
0
48
34
-42
47
-39
-50
-54
4
0
0
0
0
0
0
0
0
0
0
0
2
-3
20
-74
-36
0
0
0
0
0
0
0
0
5
-32
0
-60
13
7
0
0
0
-23
0
0
0
0
0
0
0
1
45
-8
-5
75
56
0
0
0
-3
0
0
0
0
0
0
0
4
-100
34
43
57
25
-5
-82
15
-55
0
0
0
0
0
0
0
0
-55
66
-51
49
27
-75
-58
45
-9
0
0
0
0
0
0
0
0
-19
32
38
146
121
-62
0
0
-2
0
0
0
0
0
0
0
0
24
-72
37
53
-94
-80
-33
1
-2
0
0
0
0
0
0
0
0
-1
23
89
-51
18
29
-87
-67
0
0
0
0
0
0
0
0
3
0
4
6
69
25
22
-50
34
41
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
-19
2
21
0
0
0
11
4
0
0
0
0
0
0
0
0
0
0
8
-2
2
7
-15
0
-11
0
0
0
0
0
0
0
0
0
5
-7
7
-2
-36
26
5
0
0
0
0
0
0
0
0
0
0
0
-9
1
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
14
-35
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-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
0
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
-6
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
18
0
-7
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
18
-29
-8
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
-14
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
45
73
3
27
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-10
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-47
0
0
0
0
0
0
0
0
0
1
5
-4
14
-3
2
0
0
0
0
0
0
0
0
0
0
0
6
11
-36
-21
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-77
-25
8
36
1
6
0
0
0
0
0
0
0
0
0
0
-6
0
0
35
-14
-46
-26
0
0
0
0
0
0
0
0
0
0
-1
19
24
-13
43
35
-21
-53
0
0
0
0
0
0
0
0
0
0
-3
-4
-7
17
35
32
68
0
0
0
0
0
0
0
0
0
0
0
-5
-17
35
19
-62
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-10
-61
105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
8
0
0
0
0
0
0
0
0
0
0
3
14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
25
6
5
0
-5
-7
-2
0
0
0
0
0
0
0
0
0
4
-21
-4
-32
-20
-14
-17
-3
0
0
0
0
0
0
0
0
0
0
10
-32
-3
-7
-39
22
0
0
0
0
0
0
0
0
0
0
0
2
0
11
7
25
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
27
26
9
24
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
26
79
-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
-19
36
7
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
-6
-3
4
-29
35
-2
2
0
0
0
0
0
0
0
0
0
-5
3
-6
31
14
-3
1
-1
0
0
0
0
0
0
0
-14
0
0
-1
-4
-17
-23
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
9
-20
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-11
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
-23
7
9
3
32
0
0
0
0
0
0
0
0
0
0
0
-4
-14
27
33
5
6
0
0
0
0
0
0
0
0
0
0
0
0
3
11
59
-9
7
3
-86
-17
0
0
0
0
0
0
0
0
-13
0
52
-79
-98
-2
-137
9
28
0
0
0
0
0
0
0
0
10
6
5
0
-46
31
-25
-76
36
0
0
0
0
0
0
0
0
0
2
0
0
1
-21
79
23
46
0
0
0
0
0
0
0
0
0
0
0
0
-8
17
-2
-5
-85
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
-45
-25
-43
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
4
53
85
26
1
0
0
0
0
0
0
0
0
0
0
21
-1
-6
-28
42
-18
64
0
0
0
0
0
0
0
0
0
0
-5
1
2
-140
-10
47
-45
21
33
46
0
0
0
0
0
0
0
0
13
19
17
14
4
-58
-39
-5
-6
0
0
0
0
0
0
0
0
-6
-14
-20
-4
-1
-20
-40
-93
81
0
0
0
0
0
0
0
0
-2
2
-1
-1
0
0
-36
45
-2
-1
0
0
0
0
0
0
0
0
-1
-29
0
-5
31
43
-52
105
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-49
-59
23
-51
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-14
0
0
0
0
0
0
0
0
0
-3
35
-43
-28
5
-3
0
0
0
0
0
0
0
0
0
0
0
-14
-21
-15
59
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-10
0
82
58
-18
23
-22
41
-31
0
0
0
0
0
0
0
0
2
-41
52
12
-35
53
31
144
100
0
0
0
0
0
0
0
0
-15
47
-30
74
6
-1
22
9
42
4
0
0
0
0
0
0
0
0
89
-30
-54
1
0
-4
4
-9
-4
0
0
0
0
0
0
0
0
0
-26
-25
-8
2
-53
-3
56
1
0
0
0
0
0
0
0
0
0
-2
0
-33
-5
-144
-80
-140
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
0
6
-1
56
-62
13
-51
5
0
0
0
0
0
0
0
0
0
0
1
-43
-20
-68
121
0
79
0
0
0
4
0
0
0
0
0
0
6
23
58
-44
13
-55
-15
70
-47
-5
-4
-1
0
0
0
0
0
0
43
-28
45
4
35
28
-20
-137
24
0
0
0
0
0
0
0
2
33
-74
69
15
-89
-23
27
-77
-87
0
0
0
0
0
0
0
1
11
-23
55
69
38
0
0
-2
-4
0
0
0
0
0
0
0
0
0
-6
-46
-2
22
-23
2
-5
-45
0
0
0
0
0
0
0
0
0
0
0
7
8
-11
-19
-54
-166
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
7
0
0
0
0
0
0
0
0
10
-57
16
35
83
8
0
0
0
0
0
0
0
0
0
0
-7
16
58
-95
8
15
-72
0
0
0
0
0
0
0
0
0
0
0
-17
11
33
32
12
5
-60
105
-9
-2
-3
0
0
0
0
0
0
-67
-1
-109
1
14
-62
-38
2
-122
-2
0
0
0
0
0
0
0
-21
5
74
-10
-85
-59
-75
25
-68
25
0
0
0
0
0
0
0
1
58
156
32
83
0
43
0
0
-2
0
0
0
0
0
0
0
0
5
-17
-22
29
-67
12
81
-138
-8
0
0
0
0
0
0
0
0
0
26
2
16
25
-109
0
-107
0
0
0
0
0
0
0
0
0
0
0
2
-7
-7
11
46
7
0
0
0
0
0
0
0
0
0
-3
-49
-53
33
-1
0
0
0
-21
0
0
0
0
0
0
0
0
-12
-92
-66
23
-15
0
0
0
13
0
0
0
0
0
0
0
2
52
-20
-50
56
49
16
5
79
1
0
0
0
0
0
0
0
-1
7
80
54
44
-74
-84
-89
-4
-40
0
0
0
0
0
0
0
-2
89
45
6
-1
-31
-46
-51
0
-5
0
0
0
0
0
0
0
0
-5
10
70
37
105
-87
-2
0
0
0
0
0
0
0
0
0
0
0
41
58
10
-135
-25
2
20
2
0
0
0
0
0
0
0
0
0
0
-22
-90
62
13
-54
-57
-59
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-2
3
0
0
0
-17
3
0
0
0
0
0
0
0
0
0
2
-6
2
0
-9
-5
7
-11
0
0
0
0
0
0
0
0
0
-1
20
35
-3
4
-32
1
1
0
0
0
0
0
0
0
0
0
0
-2
7
3
-46
5
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
11
-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
10
-8
17
-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
9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-74
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
-10
-2
0
0
0
0
0
0
0
0
0
0
0
1
6
26
-32
7
15
4
0
10
0
0
0
0
0
0
0
0
0
0
45
-4
-6
-55
-11
-2
-9
0
0
0
0
0
0
0
0
0
-14
0
1
33
8
-8
-27
-29
0
0
0
0
0
0
0
0
0
0
0
-1
9
-7
-91
-33
-35
0
0
0
0
0
0
0
0
0
0
0
7
-5
59
-20
70
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
5
-23
38
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-52
4
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
-9
7
62
1
0
0
8
0
0
0
0
0
0
0
0
0
0
20
-1
-5
-17
-27
11
7
0
0
0
0
0
0
0
0
0
0
-39
-1
-7
-1
-13
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
41
-15
-1
15
-1
0
0
0
0
0
0
0
0
0
0
0
-10
0
-7
71
14
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
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
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
5
-15
18
-6
4
-6
-1
0
0
0
0
0
0
0
0
0
-1
-2
0
55
14
-11
0
0
0
0
0
0
0
0
0
0
0
0
2
43
-5
5
-11
-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
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
18
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
33
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-8
44
7
0
0
11
0
0
0
0
0
0
0
0
0
0
17
76
-101
-80
-6
-34
-60
0
0
0
0
0
0
0
0
0
6
10
-26
-68
-92
-11
-34
-1
0
0
0
0
0
0
0
0
0
-9
-4
0
-10
146
80
-84
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
21
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-33
-4
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
4
4
77
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
-48
31
-15
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-58
-19
-36
35
0
-6
0
0
0
0
0
0
0
0
0
5
37
-34
46
-44
37
-14
-23
0
0
0
0
0
0
0
0
6
-31
13
-41
-10
-29
-61
-14
-51
0
0
0
0
0
0
0
0
0
0
3
8
0
71
-63
-148
12
0
0
0
0
0
0
0
0
0
9
-2
2
0
-1
17
10
-8
0
0
0
0
0
0
0
0
4
1
-3
0
3
-20
-87
-14
-26
-10
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
65
2
0
0
0
0
0
0
0
0
0
-6
30
3
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
63
18
114
-45
0
0
0
0
0
0
0
0
0
0
0
0
9
32
-27
-33
50
8
7
88
0
0
0
0
0
0
0
0
-2
-6
-86
-15
-99
39
-2
-41
212
0
0
0
0
0
0
0
0
-2
-90
-59
-50
65
-57
-103
-133
21
0
0
0
0
0
0
0
0
0
17
49
36
12
1
19
-130
12
0
0
0
0
0
0
0
0
0
-2
-49
-29
-6
0
0
50
4
0
0
0
0
0
0
0
0
0
0
0
-33
-2
0
-130
-45
-14
33
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-15
0
0
0
0
0
0
0
0
0
-20
15
47
59
-3
0
0
0
8
0
0
0
0
0
0
0
0
-36
-7
-11
120
25
0
0
0
32
-1
0
0
0
0
0
-4
5
-5
0
70
-68
48
-6
-30
-81
0
0
0
0
0
0
0
-3
0
-17
-67
-26
-10
-82
103
20
-3
-6
0
0
0
0
0
0
0
-11
92
17
-14
44
-69
-73
-30
-64
-27
0
0
0
0
0
0
0
2
-45
-60
-13
35
-86
18
34
-156
36
0
0
0
0
0
0
0
0
-1
33
7
-29
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
22
-9
-24
-25
0
-16
-60
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-79
0
-1
0
0
0
0
0
0
0
1
-71
-41
5
-58
-49
0
0
0
-2
0
0
0
0
0
0
0
10
-5
49
8
-18
6
0
0
0
2
0
0
0
0
0
0
0
5
29
-16
-12
-60
-53
15
15
12
-1
-1
0
0
0
0
0
0
-40
38
-33
-26
-13
30
-89
27
-138
3
0
0
0
0
0
0
0
-7
4
-6
-5
-30
16
85
-24
85
0
0
0
0
0
0
0
0
-11
-19
1
12
-25
16
-72
-5
-18
1
0
0
0
0
0
0
0
11
8
70
53
-13
-144
13
0
0
8
0
0
0
0
0
0
0
0
-2
-33
-53
10
-116
-13
0
-25
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-23
0
0
0
0
0
0
0
0
0
-59
5
-50
3
-5
0
0
0
-8
0
0
0
0
0
0
0
0
-8
32
-11
12
-30
0
0
0
4
0
0
0
0
0
0
0
0
14
-49
-17
-6
46
6
-26
6
30
0
0
0
0
0
0
0
47
14
-60
-34
138
5
1
-18
31
4
0
0
0
0
0
0
0
-1
-35
-89
-24
-31
-65
-37
-160
-15
-28
0
0
0
0
0
0
0
0
0
77
8
-92
-78
-4
-25
0
-14
0
0
0
0
0
0
0
0
0
46
40
-19
-74
-67
2
0
0
0
0
0
0
0
0
0
0
0
-55
88
26
7
-1
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
5
0
-3
0
0
0
0
-1
-25
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
9
-60
0
0
0
0
0
0
0
0
0
0
9
-4
-5
0
2
-1
17
0
0
0
0
0
0
0
0
0
1
0
-7
9
-23
7
-2
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
-14
-66
0
-5
0
0
0
0
0
0
0
0
0
0
5
-18
10
23
7
0
-1
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-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
0
0
0
-15
0
-18
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-9
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
0
24
0
-1
-2
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
6
16
-17
26
-7
2
0
0
0
0
0
0
0
0
0
0
1
0
5
-6
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
25
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
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
-17
10
-1
1
3
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
-2
10
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
10
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
-14
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
10
5
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
11
7
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-6
4
2
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
13
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
23
-45
47
65
8
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-4
-54
41
-2
0
0
0
0
0
0
0
0
0
0
-3
0
8
-32
-20
-27
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
14
0
-44
33
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
11
-15
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-21
1
-4
0
0
0
-5
0
0
0
0
0
0
0
0
4
6
40
-22
-53
-4
-4
2
0
0
0
0
0
0
0
0
0
0
-7
1
-32
6
15
-13
-65
-15
0
0
0
0
0
0
0
0
0
0
1
-7
5
-43
-140
-80
11
0
0
0
0
0
0
0
0
0
2
5
-1
0
52
53
32
41
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-5
-37
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
44
14
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
-66
32
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-39
-9
13
-1
1
5
0
0
0
0
0
0
0
0
0
0
11
74
-35
3
-1
-6
-48
0
0
0
0
0
0
0
0
1
3
0
-72
8
54
-59
-71
5
0
0
0
0
0
0
0
0
0
0
-8
9
-43
-65
0
-6
62
0
0
0
0
0
0
0
0
0
0
-1
61
23
0
-6
-61
-46
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
-15
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
21
-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
-30
9
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-49
-55
35
49
6
14
0
0
0
0
0
0
0
0
0
7
0
-11
-53
49
5
17
9
16
1
0
0
0
0
0
0
0
-3
-31
19
-58
25
-115
44
2
-43
0
0
0
0
0
0
0
0
0
0
1
35
24
-61
2
-144
23
-5
0
0
0
0
0
0
0
0
-15
1
-57
23
13
-3
-6
-78
2
0
0
0
0
0
0
0
-6
0
-22
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-8
0
0
0
-3
0
0
-20
0
0
0
0
0
0
0
0
0
22
28
32
0
-17
0
0
0
0
0
0
0
0
0
0
0
8
-9
6
14
-4
-33
0
0
0
-3
0
0
0
0
0
0
0
-1
-27
-15
90
44
-4
-3
-1
-89
0
0
0
0
0
0
0
0
-26
-10
18
-29
-23
-29
97
-33
-43
0
0
0
0
0
0
0
0
0
2
24
49
-81
-32
-59
-14
8
0
0
0
0
0
0
0
0
0
-11
-45
-5
-118
89
-32
5
-137
-4
0
0
0
0
0
0
0
0
-5
34
-17
-26
-5
-68
-8
23
-2
0
0
0
0
0
0
0
0
2
6
14
-27
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
-17
-4
13
0
0
0
-15
0
0
0
0
0
0
0
0
-1
2
1
-27
4
7
0
2
7
0
0
0
0
0
0
0
0
0
-1
0
7
-9
8
16
0
-18
0
0
0
0
0
0
0
0
0
6
-1
1
-9
-65
-37
1
13
0
0
0
0
0
0
0
0
0
2
-30
8
-182
9
-14
-14
37
0
0
0
0
0
0
0
0
0
0
-2
-21
19
-46
-6
0
-6
0
0
0
0
0
0
0
0
0
0
-2
-18
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
-31
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
-16
-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
3
13
-14
0
0
0
0
0
0
0
0
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
0
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
-9
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
-2
4
-53
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
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-21
-3
-43
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-28
29
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-9
0
26
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
38
1
45
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
27
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
18
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
-7
-4
-25
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
1
25
-31
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
-7
5
-34
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
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
11
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-1
7
0
0
0
0
0
0
0
0
0
0
0
4
-8
45
-24
2
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
26
6
1
0
-9
0
0
0
0
0
0
0
0
4
1
0
0
0
10
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
-45
25
3
6
0
0
0
0
0
0
0
0
0
0
0
-15
-2
-3
11
-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
13
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-8
1
31
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
3
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
-11
-5
-5
8
33
0
2
0
0
0
0
0
0
0
0
0
0
5
6
43
17
-5
0
-1
1
-1
0
0
0
0
0
0
0
0
4
-11
34
-1
0
1
-29
15
0
0
0
0
0
0
0
0
0
-73
46
-2
-37
-1
1
0
0
0
0
0
0
0
0
0
0
0
-15
22
-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
18
0
-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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
52
18
45
51
31
7
0
17
0
0
0
0
0
0
0
0
0
24
20
-14
19
-46
-19
5
0
0
0
0
0
0
0
0
0
5
80
-50
45
-36
1
-9
-10
-6
0
0
0
0
0
0
0
0
-8
64
-3
14
-45
1
11
2
1
0
0
0
0
0
0
0
0
-2
-3
-5
5
-7
2
0
0
0
0
0
0
0
0
0
0
0
-3
-37
0
29
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
-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
11
13
-15
5
10
0
0
0
0
0
0
0
0
0
0
5
-45
-21
43
-21
-24
3
7
0
0
0
0
0
0
0
0
0
18
3
-24
47
54
31
15
9
20
2
0
0
0
0
0
0
0
-4
14
66
15
0
32
-26
-21
0
0
0
0
0
0
0
0
0
-6
-32
1
25
41
-14
31
-1
0
0
0
0
0
0
0
0
0
6
5
39
-1
0
-2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
5
36
-47
14
0
0
0
0
0
0
0
0
0
0
-22
8
147
-1
-1
-76
-16
-7
2
0
0
0
0
0
0
0
0
0
49
1
33
-9
36
33
4
0
0
0
0
0
0
0
0
0
50
0
-33
35
5
-25
24
2
0
0
0
0
0
0
0
0
0
17
22
14
-8
51
41
2
0
-1
0
0
0
0
0
0
0
0
46
19
121
-7
1
1
0
0
0
0
0
0
0
0
0
0
0
92
-11
-49
58
0
0
4
0
0
0
0
0
0
0
0
0
0
-48
-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
14
5
18
14
3
-4
0
-1
0
0
0
0
0
0
0
0
0
5
1
17
20
5
3
2
0
0
0
0
0
0
0
0
0
0
0
2
-33
9
-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
-9
-1
9
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
4
-6
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-21
-5
14
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
5
-41
-18
15
10
-15
-2
-1
0
0
0
0
0
0
0
0
0
0
53
20
-1
7
-6
-3
0
0
0
0
0
0
0
0
0
0
-1
33
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
15
0
4
10
4
-4
0
0
0
0
0
0
0
0
0
0
0
2
-1
5
77
-2
-2
-2
1
0
0
0
0
0
0
0
0
0
1
-14
31
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
13
14
-10
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
-9
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
-16
-10
20
0
0
0
0
0
0
0
0
0
0
-10
-17
2
44
0
20
6
-1
1
0
0
0
0
0
0
0
0
1
3
-2
5
-4
-19
6
-7
-1
0
0
0
0
0
0
0
0
25
6
6
-6
2
4
0
1
0
0
0
0
0
0
0
0
0
2
-7
-6
19
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
11
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
-13
-3
8
-36
5
33
7
7
0
0
0
0
0
0
0
0
0
53
20
21
2
-4
27
-20
0
-5
0
0
0
0
0
0
0
0
-19
100
-48
2
46
8
7
2
0
0
0
0
0
0
0
0
0
53
151
-22
3
24
19
-24
-1
0
0
0
0
0
0
0
0
0
-33
2
-25
29
-6
-8
-11
2
0
0
0
0
0
0
0
0
0
53
-33
35
31
11
-2
33
-1
0
0
0
0
0
0
0
0
0
40
-34
0
-14
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
53
-29
30
1
-19
0
0
0
0
0
0
0
0
0
0
-9
15
-30
18
-12
28
-10
18
0
0
0
0
0
0
0
0
0
-19
-24
0
-35
11
82
-27
6
-14
0
0
0
0
0
0
0
0
1
59
104
21
-31
-16
-22
41
0
0
0
0
0
0
0
0
0
1
63
70
61
36
-1
-1
-7
-3
0
0
0
0
0
0
0
0
31
15
51
14
-14
1
0
0
0
0
0
0
0
0
0
0
0
-4
-14
0
-14
-1
-7
-2
15
-2
0
0
0
0
0
0
0
0
0
53
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
97
24
38
36
-6
-4
14
-8
0
0
0
0
0
0
0
0
0
65
-43
-39
44
-17
-36
12
1
-10
0
0
0
0
0
0
0
0
2
118
4
-34
-45
-64
-53
-16
2
-1
0
0
0
0
0
0
0
23
-16
25
23
44
-8
-4
53
-8
0
0
0
0
0
0
0
0
-19
53
-5
0
5
31
-21
6
0
-3
0
0
0
0
0
0
0
66
-37
43
-8
-33
-5
1
-5
0
0
0
0
0
0
0
0
0
-51
10
41
3
2
-1
4
2
0
0
0
0
0
0
0
0
0
3
-9
-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
93
74
31
5
-58
52
24
-5
0
0
0
0
0
0
0
0
0
-22
106
21
33
83
3
68
-29
1
0
0
0
0
0
0
0
0
12
1
96
63
9
95
-87
-63
4
2
0
0
0
0
0
0
0
-14
55
32
-10
5
20
-5
39
-8
-2
0
0
0
0
0
0
0
-33
14
-75
46
-11
39
23
61
9
0
0
0
0
0
0
0
0
-26
73
-9
36
-16
33
35
10
0
0
0
0
0
0
0
0
0
14
28
35
16
-5
14
0
0
0
0
0
0
0
0
0
0
0
1
62
34
79
4
-14
0
0
0
0
0
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
16
-18
4
43
21
67
0
0
0
0
0
0
0
0
0
0
119
49
85
40
89
-27
22
-47
0
0
0
0
0
0
0
0
0
-32
18
-5
-29
78
-74
-80
-23
-7
0
0
0
0
0
0
0
0
127
10
71
6
37
-46
16
78
0
0
0
0
0
0
0
0
0
4
84
-49
-142
33
-1
27
58
0
0
0
0
0
0
0
0
0
15
-108
20
51
9
36
1
0
0
0
0
0
0
0
0
0
0
41
70
1
74
-15
0
1
0
0
0
0
0
0
0
0
0
0
-1
-5
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
-9
0
-2
-5
-23
0
3
0
0
0
0
0
0
0
0
0
20
58
128
81
-5
-31
0
-2
0
0
0
0
0
0
0
0
0
4
20
6
0
-4
16
-25
4
0
0
0
0
0
0
0
0
0
-34
23
-20
34
2
17
2
0
0
0
0
0
0
0
0
0
0
6
2
-25
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
-24
-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
13
-1
-4
1
2
3
-2
0
0
0
0
0
0
0
0
0
2
-11
11
-25
3
-4
36
1
0
0
0
0
0
0
0
0
0
3
0
-39
31
34
11
-10
-1
0
0
0
0
0
0
0
0
0
0
62
13
-2
-9
4
-7
1
5
0
0
0
0
0
0
0
0
0
-1
25
19
-3
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
14
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
36
-2
-8
1
0
0
0
0
0
0
0
0
0
0
0
-5
6
-2
0
10
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
-20
5
0
-6
1
0
0
0
0
0
0
0
0
0
0
-2
-17
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-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
39
-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
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
25
-1
2
0
0
0
0
0
0
0
0
0
7
-17
45
-20
-2
-20
10
0
0
0
0
0
0
0
0
0
0
-2
3
-8
5
-2
36
-8
0
0
0
0
0
0
0
0
0
0
-47
58
-6
-13
2
-1
-11
7
-3
0
0
0
0
0
0
0
0
-43
-3
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
14
-25
-65
-25
59
60
23
4
0
0
0
0
0
0
0
0
0
0
-36
71
-75
-26
9
14
4
-1
0
0
0
0
0
0
0
0
-117
9
63
127
14
1
-75
0
0
0
0
0
0
0
0
0
0
7
4
53
9
-46
-20
-25
-2
3
0
0
0
0
0
0
0
0
76
6
-5
-11
37
9
8
2
0
0
0
0
0
0
0
0
0
-51
64
21
-14
1
-2
0
-7
0
0
0
0
0
0
0
0
0
0
26
5
22
0
-1
13
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
-30
-33
-23
-1
-3
-133
4
0
0
0
0
0
0
0
0
0
6
36
164
38
-2
-9
-17
-18
-20
-1
0
0
0
0
0
0
0
17
25
16
-31
-43
130
6
-22
-4
0
0
0
0
0
0
0
0
4
76
-34
-32
-36
-53
-7
4
7
-2
0
0
0
0
0
0
0
-3
31
14
-7
36
32
47
-4
0
0
0
0
0
0
0
0
0
-2
18
96
23
8
27
-4
10
0
0
0
0
0
0
0
0
0
1
10
89
4
2
-2
-3
0
0
0
0
0
0
0
0
0
0
4
115
6
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
65
30
66
-14
-4
36
55
0
0
0
0
0
0
0
0
0
25
40
2
-28
-8
66
-23
25
-14
0
0
0
0
0
0
0
0
52
-7
-53
20
37
52
-14
-1
4
-1
0
0
0
0
0
0
0
50
55
32
-5
81
53
-5
-4
1
3
0
0
0
0
0
0
0
-5
-31
62
17
76
70
67
30
27
0
0
0
0
0
0
0
0
120
-15
25
29
110
27
8
-7
31
0
0
0
0
0
0
0
0
-75
-6
7
-5
-14
-3
-3
0
0
0
0
0
0
0
0
0
0
36
23
-14
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
158
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
72
-44
-17
-28
10
-14
-8
0
0
0
0
0
0
0
0
0
-36
37
128
122
-76
53
-3
14
-11
0
0
0
0
0
0
0
0
64
-27
-9
225
135
-64
2
-12
3
-3
0
0
0
0
0
0
0
-10
12
-14
58
16
-44
113
53
-51
0
0
0
0
0
0
0
0
-7
-21
-13
-34
-73
78
24
-18
51
0
0
0
0
0
0
0
0
15
-8
15
33
-16
-42
19
-14
3
5
0
0
0
0
0
0
0
-45
-9
-7
-30
-2
-15
-7
14
51
-1
0
0
0
0
0
0
0
-2
71
-33
-27
21
13
-4
8
0
0
0
0
0
0
0
0
0
44
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-22
10
-36
-29
-89
-52
0
4
0
0
0
0
0
0
0
0
96
49
41
-25
80
-58
77
20
0
2
0
0
0
0
0
0
0
42
118
57
-13
79
-73
-38
-3
-1
0
0
0
0
0
0
0
0
-48
33
94
28
-11
44
66
2
1
0
0
0
0
0
0
0
0
7
41
59
-159
-22
12
-52
61
1
0
0
0
0
0
0
0
0
-99
-42
27
-6
-4
25
44
-8
0
0
0
0
0
0
0
0
0
140
-48
-9
-5
21
10
6
0
2
0
0
0
0
0
0
0
0
-92
15
10
-1
0
14
-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
33
-3
-5
22
-10
3
0
0
0
0
0
0
0
0
0
0
0
-9
-16
-5
-1
-13
18
0
0
5
0
0
0
0
0
0
0
0
30
15
0
9
0
23
33
-3
0
0
0
0
0
0
0
0
0
-14
25
3
-20
9
-11
-10
4
0
0
0
0
0
0
0
0
0
1
56
33
8
-7
14
0
1
0
0
0
0
0
0
0
0
0
50
4
18
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
14
-43
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
10
-15
0
0
2
-4
-4
0
0
0
0
0
0
0
0
0
-3
10
6
-14
-6
-19
-59
-7
0
0
0
0
0
0
0
0
0
6
0
-7
-27
-43
-22
-26
21
0
0
0
0
0
0
0
0
0
2
0
-6
25
10
17
34
4
0
0
0
0
0
0
0
0
0
0
-46
1
51
63
-15
1
0
-3
0
0
0
0
0
0
0
0
0
43
65
10
-3
15
-1
7
-1
0
0
0
0
0
0
0
0
0
5
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-1
0
0
0
0
0
0
0
0
0
0
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
17
1
4
4
-4
-7
9
0
0
0
0
0
0
0
0
0
0
6
-3
-8
23
1
-8
0
0
0
0
0
0
0
0
0
0
0
-10
0
-3
0
0
-11
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
39
-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
11
1
2
0
0
0
0
0
0
0
0
0
1
0
0
-58
3
0
3
0
-6
0
0
0
0
0
0
0
0
29
-31
45
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
24
-1
0
1
13
-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
14
0
0
-9
-3
1
0
0
0
0
0
0
0
0
0
4
-25
7
0
20
-50
4
3
0
0
0
0
0
0
0
0
0
-8
8
-6
16
-11
-17
4
-1
0
0
0
0
0
0
0
0
0
19
54
33
24
1
-6
0
0
-1
0
0
0
0
0
0
0
0
4
22
33
-5
10
0
23
0
0
0
0
0
0
0
0
0
0
4
-16
-1
13
2
8
0
0
0
0
0
0
0
0
0
0
0
-3
-3
3
9
2
0
0
0
0
0
0
0
0
0
0
0
0
6
43
0
0
0
0
0
0
0
0
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
4
52
39
5
13
14
11
0
0
0
0
0
0
0
0
0
79
46
71
5
-16
41
-44
2
-4
0
0
0
0
0
0
0
0
7
-22
-41
37
-45
8
-35
-1
27
0
0
0
0
0
0
0
0
7
-33
-24
-18
30
0
-15
7
0
0
0
0
0
0
0
0
0
-28
-23
24
2
-11
57
29
3
11
0
0
0
0
0
0
0
0
-66
9
-14
37
43
-22
0
0
0
0
0
0
0
0
0
0
0
17
40
-9
5
-1
0
-2
0
0
0
0
0
0
0
0
0
0
1
26
-14
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
7
18
-6
-23
-69
-7
31
24
0
0
0
0
0
0
0
0
0
4
-17
5
-14
90
126
-83
52
1
0
0
0
0
0
0
0
0
11
94
34
-36
48
-41
-12
-13
-48
-8
0
0
0
0
0
0
0
9
43
-40
-64
-1
-34
2
5
-3
0
0
0
0
0
0
0
0
-16
-28
51
24
37
-20
17
24
0
0
0
0
0
0
0
0
0
5
62
54
95
42
58
-25
-1
0
0
0
0
0
0
0
0
0
41
-41
15
40
-36
9
7
0
0
0
0
0
0
0
0
0
0
17
90
106
-34
-1
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
2
106
-4
61
14
-27
46
0
0
0
0
0
0
0
0
0
131
29
-32
12
18
-14
109
-13
10
0
0
0
0
0
0
0
0
16
68
114
20
-14
-2
-33
42
-8
5
0
0
0
0
0
0
0
153
-24
120
-29
28
74
37
8
-1
0
0
0
0
0
0
0
0
-6
15
-49
96
1
-8
74
49
1
0
0
0
0
0
0
0
0
19
77
-19
79
-35
28
-25
0
-1
0
0
0
0
0
0
0
0
39
13
-70
-7
61
43
-4
0
-1
0
0
0
0
0
0
0
0
30
48
5
27
1
0
0
0
0
0
0
0
0
0
0
0
0
14
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
11
32
29
-50
82
39
16
0
0
0
0
0
0
0
0
0
0
-44
12
-23
-43
-38
16
38
-14
-6
0
0
0
0
0
0
0
-69
-21
-11
-84
78
114
-59
75
43
-2
0
0
0
0
0
0
0
-22
23
0
24
90
-52
-3
18
0
0
0
0
0
0
0
0
0
-36
-61
-14
-37
49
5
66
-33
-45
0
0
0
0
0
0
0
0
18
8
-64
43
-23
-21
97
129
-15
2
0
0
0
0
0
0
0
56
35
-6
-21
-22
76
-3
74
54
2
0
0
0
0
0
0
0
-15
-32
-37
4
-9
-5
-5
34
0
0
0
0
0
0
0
0
0
42
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
146
105
-13
79
-72
-14
0
0
0
0
0
0
0
0
0
0
-9
6
-17
91
-54
55
-38
-22
0
0
0
0
0
0
0
0
0
-23
124
32
3
-12
-36
-51
72
2
0
0
0
0
0
0
0
0
136
-15
36
0
-47
45
-14
-11
0
0
0
0
0
0
0
0
0
30
49
-22
-4
-53
131
17
40
-2
0
0
0
0
0
0
0
0
-1
7
33
0
21
19
30
0
0
0
0
0
0
0
0
0
0
16
23
67
60
10
-25
-2
-2
0
0
0
0
0
0
0
0
0
15
-32
-63
-4
6
0
-6
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
-1
0
0
10
-33
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-13
55
4
-5
-7
0
0
0
0
0
0
0
0
0
0
0
33
0
3
-16
9
43
1
-1
0
0
0
0
0
0
0
0
0
-3
0
9
-4
16
-2
-3
0
0
0
0
0
0
0
0
0
0
0
33
61
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
58
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-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
9
2
0
0
0
0
0
0
0
0
0
0
-5
3
-6
-10
10
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
-10
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
-11
-10
-26
15
63
2
20
-1
0
0
0
0
0
0
0
0
-1
17
0
-11
13
21
53
-3
-2
0
0
0
0
0
0
0
0
0
-21
0
-3
43
33
73
0
0
0
0
0
0
0
0
0
0
11
0
14
-63
-17
30
-8
-8
7
0
0
0
0
0
0
0
0
0
30
-14
9
57
58
-2
0
-1
0
0
0
0
0
0
0
0
1
19
-33
-35
-21
0
1
0
0
0
0
0
0
0
0
0
0
0
-71
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
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
10
0
3
2
2
11
-6
0
0
0
0
0
0
0
0
0
0
-4
-9
5
14
-9
-4
0
0
0
0
0
0
0
0
0
0
0
44
0
-6
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-20
43
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-13
-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
19
-2
-1
0
0
0
0
0
0
0
0
0
-1
4
-24
1
-4
5
14
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
-44
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
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
-13
-4
-15
-1
-5
1
0
0
0
0
0
0
0
0
0
23
8
-37
-29
-9
143
-3
0
0
0
0
0
0
0
0
0
0
-5
6
-15
-6
36
29
14
-43
4
0
0
0
0
0
0
0
0
-37
6
6
56
-26
-13
-16
3
0
0
0
0
0
0
0
0
0
-5
-17
9
-39
0
0
-7
0
0
0
0
0
0
0
0
0
0
-143
45
26
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-27
-10
-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
2
-16
-17
-17
-22
-20
15
-7
0
0
0
0
0
0
0
0
0
-4
-51
-8
23
51
94
48
55
-4
0
0
0
0
0
0
0
0
9
22
49
26
-50
-13
14
43
-11
0
0
0
0
0
0
0
0
71
-126
-25
8
-63
-22
-10
14
3
0
0
0
0
0
0
0
0
-25
116
85
22
-55
0
-16
0
-4
0
0
0
0
0
0
0
0
-44
75
149
-45
-17
21
6
3
-1
0
0
0
0
0
0
0
0
18
67
-63
65
4
-1
5
0
0
0
0
0
0
0
0
0
0
2
130
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
36
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
5
-33
-71
-2
-13
-14
-33
0
0
0
0
0
0
0
0
0
-18
49
-22
-11
38
53
37
25
97
0
0
0
0
0
0
0
0
10
58
-41
47
46
33
40
15
-25
2
0
0
0
0
0
0
0
-57
25
7
-14
13
43
-52
-15
5
0
0
0
0
0
0
0
0
2
35
37
72
73
14
0
-5
9
0
0
0
0
0
0
0
0
44
100
-34
49
-12
14
20
-1
-8
0
0
0
0
0
0
0
0
55
20
71
-29
32
-14
60
0
0
0
0
0
0
0
0
0
0
-3
54
-41
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
-53
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
44
-104
119
31
-41
10
100
0
0
0
0
0
0
0
0
0
-45
71
64
30
-18
31
-7
28
16
0
0
0
0
0
0
0
0
3
10
-42
-34
3
42
94
134
23
-2
0
0
0
0
0
0
0
67
-10
200
-82
65
76
76
-29
-15
0
0
0
0
0
0
0
0
-74
65
87
5
80
14
-72
0
0
0
0
0
0
0
0
0
0
-54
44
-18
71
24
80
-6
77
-5
0
0
0
0
0
0
0
0
1
36
52
55
-8
23
14
0
0
0
0
0
0
0
0
0
0
-37
-47
-87
23
4
-1
4
0
0
0
0
0
0
0
0
0
0
14
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-79
46
43
-53
59
34
-61
0
0
0
0
0
0
0
0
0
23
-18
-17
-5
9
-73
-6
-89
31
0
0
0
0
0
0
0
0
41
33
9
-30
4
54
5
-14
-40
52
0
0
0
0
0
0
0
-23
17
-82
38
29
-53
6
-46
41
-1
0
0
0
0
0
0
0
4
-1
-44
40
44
-42
57
10
0
-1
0
0
0
0
0
0
0
21
-55
-100
65
125
-49
87
-57
70
0
0
0
0
0
0
0
0
13
13
112
48
60
24
131
27
-11
0
0
0
0
0
0
0
0
-25
-100
-79
-29
-1
24
69
-3
6
0
0
0
0
0
0
0
0
-10
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
58
-32
67
113
72
-61
0
0
0
0
0
0
0
0
0
0
54
117
45
1
-22
-65
-74
34
-1
0
0
0
0
0
0
0
0
32
16
84
77
-47
-26
30
-18
-1
0
0
0
0
0
0
0
0
33
77
120
-65
81
16
38
60
0
0
0
0
0
0
0
0
0
-15
54
-26
42
69
69
-5
0
0
0
0
0
0
0
0
0
0
-6
53
12
-59
-29
66
67
-24
14
0
0
0
0
0
0
0
0
140
-84
52
51
14
44
55
39
0
0
0
0
0
0
0
0
0
4
59
-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
11
21
-2
17
18
0
0
0
0
0
0
0
0
0
0
0
0
-16
-15
25
43
-44
-5
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-1
2
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
41
-29
-13
6
-5
-5
1
1
0
0
0
0
0
0
0
0
0
-23
17
16
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
1
14
-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
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
-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
13
-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
32
23
16
0
4
2
0
0
0
0
0
0
0
0
0
0
0
29
7
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
7
0
14
-1
3
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
-4
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
1
-7
11
0
0
0
0
0
0
0
0
0
0
-4
3
0
-11
2
31
3
3
0
0
0
0
0
0
0
0
0
-5
0
0
36
17
-73
-7
0
0
0
0
0
0
0
0
0
5
-3
26
33
10
26
2
1
0
0
0
0
0
0
0
0
0
-4
25
-44
-14
-17
-5
-15
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-24
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
4
31
-3
-17
4
0
0
0
0
0
0
0
0
0
0
0
-5
19
33
-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
-15
-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
33
-13
2
-6
9
0
0
0
0
0
0
0
0
0
0
33
-8
45
8
8
5
-2
0
0
0
0
0
0
0
0
0
0
-36
0
-11
-2
-3
-3
0
0
0
0
0
0
0
0
0
0
0
11
64
-4
-27
6
-2
0
0
0
0
0
0
0
0
0
0
0
-46
0
16
-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
11
0
19
-11
-7
-2
0
0
0
0
0
0
0
0
0
1
-1
-9
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
15
-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
-11
-5
-20
-11
0
0
0
0
0
0
0
0
0
1
26
-6
-25
4
25
-43
55
19
0
0
0
0
0
0
0
0
0
0
1
43
-2
-26
47
0
0
-3
0
0
0
0
0
0
0
0
-9
-4
29
-25
33
33
-11
0
0
0
0
0
0
0
0
0
0
27
36
57
-31
-3
0
5
-1
0
0
0
0
0
0
0
0
13
-15
54
-13
0
-5
0
10
0
0
0
0
0
0
0
0
0
6
116
34
-2
-11
3
-3
0
0
0
0
0
0
0
0
0
0
8
50
-3
11
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
0
-17
92
-13
81
-14
-3
41
3
0
0
0
0
0
0
0
0
0
38
28
14
61
101
-64
33
8
-2
0
0
0
0
0
0
0
0
55
33
105
-21
-1
72
59
-3
0
0
0
0
0
0
0
0
0
60
9
-25
-3
23
-22
-8
-1
-1
0
0
0
0
0
0
0
0
-1
19
6
32
59
-7
-14
-51
2
0
0
0
0
0
0
0
0
-28
27
81
42
-25
0
-2
10
4
0
0
0
0
0
0
0
0
-17
41
5
80
7
-4
6
-1
0
0
0
0
0
0
0
0
0
-5
42
-33
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
32
6
-76
-45
-28
-5
54
0
0
0
0
0
0
0
0
0
53
-4
-72
-23
-27
-13
65
55
29
0
0
0
0
0
0
0
0
17
63
31
-41
-54
24
-42
-56
-8
0
0
0
0
0
0
0
0
1
102
-37
-9
20
-40
-58
-21
-1
0
0
0
0
0
0
0
0
21
24
24
-54
100
-26
-1
78
34
0
0
0
0
0
0
0
0
2
-35
101
-90
-27
52
0
13
-2
0
0
0
0
0
0
0
0
16
-36
50
44
21
-14
-9
1
0
0
0
0
0
0
0
0
0
-2
-9
8
-53
-11
-3
10
-4
0
0
0
0
0
0
0
0
0
-34
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-61
18
-2
-5
86
-2
-43
0
0
0
0
0
0
0
0
0
32
22
21
31
96
45
-5
49
-5
0
0
0
0
0
0
0
0
-69
19
-54
47
21
4
1
19
89
0
0
0
0
0
0
0
0
100
2
34
17
11
59
14
100
63
0
0
0
0
0
0
0
0
-2
5
-34
115
49
120
27
-17
-10
0
0
0
0
0
0
0
0
23
143
-74
87
13
-29
7
0
20
0
0
0
0
0
0
0
0
-43
31
37
81
-57
-54
33
-3
0
0
0
0
0
0
0
0
0
23
-33
45
22
-9
-1
0
0
0
0
0
0
0
0
0
0
0
24
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
-43
22
15
117
62
-1
23
0
0
0
0
0
0
0
0
0
61
-80
43
89
42
-32
23
-38
50
-1
0
0
0
0
0
0
0
22
26
87
-43
25
124
6
70
46
53
0
0
0
0
0
0
0
-26
-79
68
-32
18
42
7
55
-45
-6
0
0
0
0
0
0
0
4
-4
51
43
85
30
-74
79
53
-1
0
0
0
0
0
0
0
-17
-38
5
-3
59
60
10
19
0
8
0
0
0
0
0
0
0
25
11
-53
25
-20
-80
15
56
-39
0
0
0
0
0
0
0
0
-27
-61
90
30
22
95
21
2
0
0
0
0
0
0
0
0
0
-71
-14
10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
14
16
60
67
-48
1
-58
0
0
0
0
0
0
0
0
0
0
35
-46
34
69
-27
34
-106
7
-2
0
0
0
0
0
0
0
0
-15
-48
92
104
-5
-41
4
81
-1
0
0
0
0
0
0
0
0
24
-45
120
4
16
69
49
17
72
0
0
0
0
0
0
0
0
-41
-34
174
43
-26
94
-27
28
-19
0
0
0
0
0
0
0
0
139
-11
-15
34
28
-53
43
0
0
0
0
0
0
0
0
0
0
1
-5
73
20
17
-4
52
2
0
0
0
0
0
0
0
0
0
-30
-65
-1
27
-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
23
-8
17
0
0
0
0
0
0
0
0
0
0
0
-9
0
23
14
-41
-13
0
0
0
0
0
0
0
0
0
0
0
2
-45
8
-6
0
-13
-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
10
0
0
0
0
0
0
0
0
0
0
3
-6
-3
0
6
-23
0
0
0
0
0
0
0
0
0
0
0
-2
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-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
11
4
-1
1
0
6
3
9
0
0
0
0
0
0
0
0
0
-1
-1
0
0
7
18
16
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
22
6
-2
1
0
0
0
0
0
0
0
0
-1
0
-2
3
10
-9
2
0
0
0
0
0
0
0
0
0
0
-7
8
-4
19
6
16
2
0
0
0
0
0
0
0
0
0
0
7
0
-44
-7
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
42
11
34
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
21
-1
1
4
0
0
0
0
0
0
0
0
0
1
4
-15
39
2
-25
-2
0
0
0
0
0
0
0
0
0
0
-1
74
44
-6
2
-1
0
0
0
0
0
0
0
0
0
0
0
-6
26
73
-2
-1
-5
0
0
0
0
0
0
0
0
0
0
0
17
0
0
15
-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
-14
0
8
0
0
0
0
0
0
0
0
0
0
0
1
-1
-13
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
30
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-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
-2
0
1
1
9
-15
0
0
0
0
0
0
0
0
0
0
-2
-28
-7
-45
3
-29
-4
-6
-8
0
0
0
0
0
0
0
0
0
0
5
1
-4
-14
55
0
0
0
0
0
0
0
0
0
0
0
-9
0
-4
0
-5
7
13
0
0
0
0
0
0
0
0
0
0
0
4
-13
2
-2
-8
1
6
0
0
0
0
0
0
0
0
0
14
18
-17
-13
0
13
-1
-1
0
0
0
0
0
0
0
0
0
-9
60
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-32
-6
0
0
-1
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
-14
23
-21
-1
14
0
0
0
0
0
0
0
0
0
0
-15
33
-17
-18
4
3
-25
56
-1
0
0
0
0
0
0
0
0
7
-23
0
-7
-49
-4
11
-47
-4
0
0
0
0
0
0
0
0
0
14
10
20
-7
0
6
-2
3
0
0
0
0
0
0
0
0
2
23
61
-5
14
-4
-9
9
-6
0
0
0
0
0
0
0
0
0
80
64
6
-14
11
-1
-13
0
0
0
0
0
0
0
0
0
10
-53
5
71
6
0
0
0
2
0
0
0
0
0
0
0
0
44
110
-3
-23
0
0
0
6
0
0
0
0
0
0
0
0
0
112
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
48
-20
48
-60
10
50
0
0
0
0
0
0
0
0
0
-2
19
-25
-12
79
19
37
73
-26
0
0
0
0
0
0
0
0
9
127
29
-43
-64
58
-19
-2
2
8
0
0
0
0
0
0
0
0
62
14
99
14
-40
91
13
1
0
0
0
0
0
0
0
0
0
-33
27
79
-5
-40
-17
-32
36
0
0
0
0
0
0
0
0
7
119
14
71
14
0
5
-39
-1
18
0
0
0
0
0
0
0
13
77
-13
80
-4
-24
0
-20
-8
0
0
0
0
0
0
0
0
8
38
-24
28
-4
3
0
0
0
0
0
0
0
0
0
0
0
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
71
23
-39
29
-1
-2
0
0
0
0
0
0
0
0
0
-11
10
19
-27
-91
24
51
8
-19
0
0
0
0
0
0
0
0
8
45
34
15
9
32
90
93
-1
2
0
0
0
0
0
0
0
3
72
-23
-59
88
-60
43
47
-4
0
0
0
0
0
0
0
0
39
78
88
-73
4
-5
-10
14
72
0
0
0
0
0
0
0
0
-25
-1
-48
-43
-23
10
43
7
9
0
0
0
0
0
0
0
0
53
39
97
-71
33
14
9
0
0
0
0
0
0
0
0
0
0
12
25
4
125
7
5
0
1
0
0
0
0
0
0
0
0
0
97
15
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
34
15
100
68
-94
-10
-14
0
0
0
0
0
0
0
0
0
0
31
-49
-7
24
1
-7
57
32
59
0
0
0
0
0
0
0
5
11
9
22
-26
42
75
-18
74
-3
0
0
0
0
0
0
0
5
-48
1
-4
-31
-43
-12
5
41
-23
0
0
0
0
0
0
0
-2
97
53
0
98
-4
0
-25
-34
1
0
0
0
0
0
0
0
6
5
-46
65
9
-1
67
42
63
1
0
0
0
0
0
0
0
-18
27
-15
-26
15
127
23
-13
0
0
0
0
0
0
0
0
0
45
-60
14
5
-30
-33
-76
-16
5
0
0
0
0
0
0
0
0
-13
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
133
111
-75
-115
42
26
0
0
0
0
0
0
0
0
0
0
-11
49
63
-26
34
16
9
-23
-3
0
0
0
0
0
0
0
0
-51
-51
18
26
-15
-63
13
-8
-3
0
0
0
0
0
0
0
0
-45
7
-30
-82
67
-42
-49
-56
-11
0
0
0
0
0
0
0
0
65
-13
8
-63
-25
3
37
-14
6
0
0
0
0
0
0
0
0
31
-103
-2
53
73
10
-33
90
-5
0
0
0
0
0
0
0
0
19
-50
10
74
54
25
68
3
0
0
0
0
0
0
0
0
0
28
81
91
11
6
-3
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
-25
2
22
-32
-2
0
0
0
0
0
0
0
0
0
0
0
-3
32
-22
-18
-63
3
-1
0
0
0
0
0
0
0
0
0
0
-2
-4
-1
27
7
0
3
1
0
0
0
0
0
0
0
0
0
-1
-5
7
-7
0
-10
-7
6
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
-2
-2
6
-2
-3
1
-4
0
0
0
0
0
0
0
0
0
-14
-8
-7
6
26
2
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
0
0
0
0
0
0
0
0
0
0
0
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
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-2
-7
9
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
-10
-14
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
13
0
-3
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-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
-27
-3
3
0
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
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
3
6
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
-4
1
-3
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-20
-2
45
0
6
0
0
0
0
0
0
0
0
0
0
-4
5
-2
8
-10
-11
-1
0
0
0
0
0
0
0
0
0
2
0
0
11
-6
4
0
6
1
0
0
0
0
0
0
0
0
0
0
1
45
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-6
6
0
-1
0
0
0
0
0
0
0
0
0
0
36
19
27
-2
-8
-4
0
2
0
0
0
0
0
0
0
0
0
-83
43
20
30
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
6
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
46
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
41
3
-2
-10
-2
20
4
-5
0
0
0
0
0
0
0
0
0
11
11
-9
-5
-10
30
16
3
0
0
0
0
0
0
0
0
0
-14
0
6
10
25
26
11
1
0
0
0
0
0
0
0
0
0
3
-14
13
-51
-19
0
0
0
0
0
0
0
0
0
0
0
0
-19
22
45
23
-3
-7
3
0
0
0
0
0
0
0
0
0
0
28
35
-10
-1
-6
0
3
0
0
0
0
0
0
0
0
0
23
-13
28
45
1
-1
0
0
0
0
0
0
0
0
0
0
0
46
64
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
-34
18
16
9
-8
-2
-3
5
0
0
0
0
0
0
0
0
0
31
86
58
6
93
-11
65
2
0
0
0
0
0
0
0
0
0
-5
-32
21
-6
-48
34
-24
0
3
0
0
0
0
0
0
0
0
-26
-49
6
-20
-33
58
16
48
-1
0
0
0
0
0
0
0
0
43
6
17
5
24
72
-50
-3
-1
0
0
0
0
0
0
0
0
13
-1
60
74
-15
-13
2
-2
0
0
0
0
0
0
0
0
0
-8
21
-95
31
73
25
-7
0
0
0
0
0
0
0
0
0
0
7
42
15
-12
2
9
0
0
0
0
0
0
0
0
0
0
0
0
8
-22
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
120
84
-25
13
-2
-51
-3
0
0
0
0
0
0
0
0
0
0
15
21
55
-19
-6
-56
-43
0
-2
0
0
0
0
0
0
0
0
97
13
12
-100
-31
-63
-2
-33
-4
0
0
0
0
0
0
0
-1
-101
10
-11
-42
123
-14
-76
2
-1
0
0
0
0
0
0
0
-2
97
52
79
20
13
14
53
26
0
0
0
0
0
0
0
0
-5
60
82
-5
78
19
70
133
-7
-1
0
0
0
0
0
0
0
7
17
36
5
27
-6
-51
13
-6
0
0
0
0
0
0
0
0
-8
156
-25
20
-44
63
-4
0
0
0
0
0
0
0
0
0
0
-14
28
18
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
73
6
23
33
-11
-8
1
0
0
0
0
0
0
0
0
0
0
5
58
5
17
38
15
-9
0
0
0
0
0
0
0
0
0
0
-15
40
6
29
18
14
-15
2
4
0
0
0
0
0
0
0
0
0
19
6
14
-41
2
-8
0
0
0
0
0
0
0
0
0
0
23
33
-10
6
26
-30
3
0
0
0
0
0
0
0
0
0
0
6
-25
-5
8
5
-1
-3
1
0
0
0
0
0
0
0
0
0
23
-2
35
-6
-5
8
-3
1
0
0
0
0
0
0
0
0
0
24
-32
-20
-6
-1
0
1
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
-1
0
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
39
-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
9
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
-1
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
0
3
10
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
-20
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
-2
32
-4
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
0
0
3
-14
-5
5
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
41
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
9
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
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
-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
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
-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
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
-15
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
-14
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
-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
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
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
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
18
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
10
5
3
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
-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
20
-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
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
2
0
-11
0
0
0
0
0
0
0
0
1
0
0
0
5
10
-4
-24
-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
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
0
9
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-20
13
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
13
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
8
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
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
-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
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
-10
-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
-9
0
0
0
0
0
0
0
0
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
-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
-26
39
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-10
0
0
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
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-1
2
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
-16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
9
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-1
-6
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
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
14
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-1
0
9
-4
-1
0
0
0
0
0
0
0
0
0
3
0
0
-6
3
0
-20
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
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
-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
10
0
-21
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
-25
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
3
-4
3
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
-14
7
45
-4
-14
-1
0
0
0
0
0
0
0
0
0
0
0
-10
16
1
-11
4
1
-5
11
-3
-1
0
0
0
0
0
0
0
0
7
11
15
-1
-5
10
2
0
0
0
0
0
0
0
0
0
0
4
-11
5
2
7
2
-23
21
1
0
0
0
0
0
0
0
0
0
0
9
3
-3
-14
3
1
0
3
0
0
0
0
0
0
0
0
1
4
0
-23
3
43
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-11
-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
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
-13
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
11
0
-13
-3
3
9
-27
0
0
0
0
0
0
0
0
0
-1
-4
6
-8
1
-17
-37
-4
-1
2
0
0
0
0
0
0
0
-5
2
5
-13
48
26
4
-1
1
0
0
0
0
0
0
0
0
0
-1
-1
-17
-13
-10
11
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
19
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-25
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
15
-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
-9
4
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
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
-15
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
21
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-33
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-14
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
8
-27
-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
45
-25
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-11
-25
19
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
-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
13
0
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
11
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
7
-4
6
1
26
-13
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-4
-10
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-36
-14
-43
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
-5
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-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
-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
-14
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-7
24
20
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-2
-22
14
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-73
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-4
10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-14
8
0
0
0
0
0
0
0
0
0
0
7
-1
0
-9
0
2
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
3
-18
-19
0
0
0
0
0
0
0
0
0
0
1
-5
0
-1
5
3
-24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-11
0
0
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
28
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
3
22
-5
3
1
-3
-8
-2
0
0
0
0
0
0
0
0
0
2
10
32
17
-3
-27
8
9
0
0
0
0
0
0
0
0
0
-4
0
-3
2
26
0
-13
4
0
0
0
0
0
0
0
0
0
0
-1
3
11
25
53
-3
14
0
0
0
0
0
0
0
0
0
0
0
2
0
4
35
-22
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
27
-12
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
-25
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
69
46
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-15
-53
-23
24
-8
4
17
0
0
0
0
0
0
0
0
0
17
33
-1
0
-29
-45
11
-14
0
0
0
0
0
0
0
0
0
-18
14
-36
46
14
46
-3
34
0
0
0
0
0
0
0
0
0
0
14
-2
-2
-10
-20
23
11
-1
0
0
0
0
0
0
0
0
0
0
2
4
19
-34
2
25
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-53
10
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-17
0
0
0
0
0
0
0
0
0
0
7
-1
53
9
-2
0
0
0
0
0
0
0
0
0
0
0
-10
22
71
-28
37
-4
0
0
0
0
0
0
0
0
0
0
0
-2
2
9
-7
-1
39
-6
-9
-37
0
0
0
0
0
0
0
0
0
2
36
-24
15
-4
14
34
15
0
0
0
0
0
0
0
0
-1
9
-16
-8
12
-52
14
-7
10
1
0
0
0
0
0
0
0
0
0
0
-9
-45
37
-1
3
-55
-2
0
0
0
0
0
0
0
0
0
0
-23
1
13
35
-25
7
14
0
0
0
0
0
0
0
0
0
0
2
-3
1
-66
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
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
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
17
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-14
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
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
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
-36
5
2
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
0
0
7
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
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
16
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
17
34
-14
31
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
43
-14
-61
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
15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-47
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-8
0
26
0
0
2
0
1
0
0
0
0
0
0
0
0
0
-4
18
0
-2
-9
49
-9
-1
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
0
0
0
-5
0
1
-35
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
54
0
0
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
10
1
57
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
23
15
1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
5
-37
0
45
10
10
0
1
-1
0
0
0
0
0
0
0
0
1
-46
-29
1
-7
3
-5
0
0
0
0
0
0
0
0
0
0
1
10
-19
-8
0
-48
-14
-13
0
0
0
0
0
0
0
0
2
0
0
6
3
6
0
7
40
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-33
3
-11
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
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
46
8
9
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
1
-10
7
4
0
0
-1
0
0
0
0
0
0
0
0
1
-2
6
1
-16
-20
-10
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
30
25
25
-8
49
0
0
0
0
0
0
0
0
0
-1
-13
-6
-1
-37
0
-24
14
0
0
0
0
0
0
0
0
0
0
5
0
-18
-7
-20
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
5
-50
-18
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
-8
-36
-5
5
4
-7
0
0
0
0
0
0
0
0
0
0
1
-36
-16
-25
-1
3
-5
0
0
0
4
0
0
0
0
0
0
0
1
-14
-69
-4
-2
13
-10
0
31
0
0
0
0
0
0
0
0
-2
-13
31
28
51
6
-62
-14
10
0
0
0
0
0
0
0
0
2
-19
20
-66
-31
8
18
-2
-23
0
0
0
0
0
0
0
0
0
6
0
-5
62
-56
24
0
-44
0
0
0
0
0
0
0
0
0
0
11
5
-5
51
-17
-50
19
1
0
0
0
0
0
0
0
0
0
0
4
19
-1
22
4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
-66
0
0
0
0
0
0
0
0
0
0
-2
8
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
35
-10
27
3
0
0
0
2
-1
0
0
0
0
0
0
0
3
-20
-69
18
-1
2
1
3
2
0
0
0
0
0
0
0
1
-8
-8
29
-23
-28
-15
37
-100
2
0
0
0
0
0
0
0
0
0
5
5
51
41
16
0
28
0
0
0
0
0
0
0
0
0
-1
-1
-13
-1
52
62
3
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-6
-5
-74
-1
-87
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
-61
6
-37
-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
-11
8
0
-8
0
0
0
0
0
0
0
0
0
0
-9
0
0
-1
11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-5
14
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
18
-14
-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
-26
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
24
-25
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
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
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
-10
-4
-15
-2
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
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
-9
0
-19
-20
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-18
43
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-20
-25
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-33
124
0
0
0
0
0
0
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
2
-17
7
1
0
0
2
0
0
0
0
0
0
0
0
0
0
3
-4
18
-2
1
-6
-7
0
0
0
0
0
0
0
0
0
1
-5
0
1
-10
18
1
-23
0
0
0
0
0
0
0
0
0
0
0
1
-5
7
-21
10
-6
0
0
0
0
0
0
0
0
0
0
0
1
3
0
5
-47
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
20
-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
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-64
11
-1
0
0
0
0
0
0
0
0
0
0
0
1
8
22
-21
7
-5
3
0
0
0
0
0
0
0
0
0
0
-1
2
-55
-24
7
5
26
-13
-11
0
0
0
0
0
0
0
0
0
-1
14
23
-2
-15
-21
-66
-8
0
0
0
0
0
0
0
0
0
0
0
-2
25
48
-33
-5
24
0
0
0
0
0
0
0
0
0
0
1
-18
-25
15
0
80
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
-23
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
17
13
-16
0
0
0
0
0
0
0
0
0
0
11
-1
-19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
7
3
-25
2
7
0
0
0
0
0
0
0
0
0
0
0
1
8
-61
-32
-5
0
8
4
3
0
0
0
0
0
0
0
0
9
-16
-5
49
-21
20
-46
-33
-11
0
0
0
0
0
0
0
0
2
-39
-24
53
15
-5
6
-26
26
0
0
0
0
0
0
0
0
0
-1
20
-33
27
9
-63
-49
16
0
0
0
0
0
0
0
0
0
0
1
-3
-22
-63
-33
0
13
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
-21
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-33
0
0
0
0
0
0
0
0
0
0
41
-5
-58
1
-14
0
0
0
0
0
0
0
0
0
0
0
1
-37
-69
-16
93
-7
0
0
0
-5
0
0
0
0
0
0
0
3
83
58
-62
5
-10
-2
-2
11
0
0
0
0
0
0
0
0
0
29
-66
-14
55
22
-13
-38
68
0
0
0
0
0
0
0
0
1
-60
-5
0
46
-84
87
-40
-92
0
0
0
0
0
0
0
0
2
-7
9
7
-3
19
-46
-39
71
-2
0
0
0
0
0
0
0
0
0
-2
27
-3
11
96
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
-5
28
15
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
2
-14
-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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-10
-15
-45
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
6
-13
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
25
9
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
-22
0
0
0
0
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
25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-21
2
-6
-9
0
0
5
0
0
0
0
0
0
0
0
0
0
-10
2
-5
21
-11
23
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
2
-34
9
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-31
-21
-1
-14
-44
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
0
43
19
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
-15
0
-44
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-24
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
43
-27
43
11
0
0
-1
-8
0
0
0
0
0
0
0
0
3
-5
-87
-9
11
0
5
-6
-17
0
0
0
0
0
0
0
0
0
-53
1
14
-75
3
7
-80
-6
0
0
0
0
0
0
0
0
0
0
18
43
-9
36
-4
-33
-20
0
0
0
0
0
0
0
0
0
0
2
17
2
41
10
43
-18
0
0
0
0
0
0
0
0
0
0
2
0
-31
-2
8
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
2
46
0
0
0
0
0
0
0
0
0
0
0
-1
64
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
11
21
-15
35
3
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-31
18
-27
1
1
11
0
0
0
0
0
0
0
0
0
0
24
58
-92
7
-18
-46
45
0
0
0
0
0
0
0
0
0
-1
-31
62
-79
20
79
-95
3
0
0
0
0
0
0
0
0
0
13
6
-7
-16
-106
-63
28
-53
0
0
0
0
0
0
0
0
0
3
-2
-43
20
-72
-50
55
-6
0
0
0
0
0
0
0
0
0
0
-2
-21
5
0
-7
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
0
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
10
-18
-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
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
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
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
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
49
21
7
0
0
9
0
0
0
0
0
0
0
0
0
0
1
-14
5
-19
25
2
-15
0
0
0
0
0
0
0
0
0
0
0
-18
-11
-3
1
91
-23
0
0
0
0
0
0
0
0
0
0
0
0
24
31
-37
-50
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
22
-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
-14
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
-3
-8
1
7
0
1
0
0
0
0
0
0
0
0
0
-14
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
-11
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
15
-1
-1
-1
-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
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
-1
1
0
0
0
0
0
0
0
0
0
0
-10
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
11
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
18
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
10
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
17
2
20
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
17
6
-14
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
33
-2
-8
-6
0
0
0
0
0
0
0
0
0
0
0
-3
-8
53
-33
-9
-9
0
0
0
0
0
0
0
0
0
0
0
-18
-9
-6
2
0
-29
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
-14
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
10
-5
-5
0
-2
0
0
0
0
0
0
0
0
0
0
6
-6
11
14
9
-8
-2
0
0
0
0
0
0
0
0
0
0
2
-8
-1
20
-8
-16
-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
11
5
-9
9
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
-34
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-9
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
-31
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
-11
-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
11
-15
0
2
14
-53
0
0
0
0
0
0
0
0
0
0
0
-7
3
-3
-1
-2
8
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
10
0
-1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-14
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
6
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
7
9
-13
-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
-18
10
3
0
-2
6
0
0
0
0
0
0
0
0
0
0
-4
14
0
3
0
-10
11
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
-32
0
0
0
0
0
0
0
0
0
0
-5
10
-1
-11
14
1
-17
-8
-1
0
0
0
0
0
0
0
0
-2
-6
-4
17
-3
1
3
-29
0
0
0
0
0
0
0
0
0
0
5
-27
-1
1
0
-6
-1
4
0
0
0
0
0
0
0
0
1
-14
4
4
-6
0
1
-1
0
0
0
0
0
0
0
0
0
0
3
25
2
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
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
-14
-6
-1
-52
8
5
0
0
0
0
0
0
0
0
0
4
36
43
-18
33
3
-34
0
1
0
0
0
0
0
0
0
0
0
-2
-15
-9
-6
3
0
0
0
0
0
0
0
0
0
0
0
3
-7
6
20
-15
0
0
0
1
0
0
0
0
0
0
0
0
0
26
-5
-14
-1
6
10
0
0
0
0
0
0
0
0
0
0
17
-2
27
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
31
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
-1
0
-15
9
-4
-41
-8
2
0
0
0
0
0
0
0
0
0
0
9
14
3
-7
2
-3
0
0
0
0
0
0
0
0
0
0
-15
63
11
0
13
0
0
2
-1
0
0
0
0
0
0
0
0
-9
-1
-11
3
3
0
-10
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
-9
-1
19
-20
0
0
0
0
0
0
0
0
0
-6
6
-60
-37
9
5
-56
-3
-10
0
0
0
0
0
0
0
0
-27
-16
4
7
17
3
37
5
0
0
0
0
0
0
0
0
0
41
1
11
-11
1
-9
-5
-1
0
0
0
0
0
0
0
0
0
-2
26
-17
3
-5
10
0
0
0
0
0
0
0
0
0
0
0
1
-8
-20
1
-2
3
0
2
0
0
0
0
0
0
0
0
0
1
0
13
-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
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-13
-25
18
17
-2
0
0
0
0
0
0
0
0
0
0
-20
34
-19
-15
19
11
17
-6
6
0
0
0
0
0
0
0
0
3
-46
-9
18
7
1
-16
-7
0
0
0
0
0
0
0
0
0
-8
17
-7
-6
-2
-10
-9
0
0
0
0
0
0
0
0
0
0
-37
-16
-10
-2
-1
43
15
0
0
0
0
0
0
0
0
0
0
32
3
-9
-36
19
0
-8
1
0
0
0
0
0
0
0
0
0
8
6
-25
3
-1
0
0
10
0
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
-2
2
4
-26
6
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
17
-15
-2
-1
-7
3
-1
0
0
0
0
0
0
0
0
7
7
3
6
6
25
13
0
0
0
0
0
0
0
0
0
0
-1
1
10
-5
15
-4
1
0
0
0
0
0
0
0
0
0
0
-2
-17
-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
9
-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
-18
11
-2
0
0
2
0
0
0
0
0
0
0
0
0
2
-2
11
8
-6
-5
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-1
-8
10
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
-10
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
-19
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
18
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-53
17
0
0
0
0
0
0
0
0
0
3
0
0
11
0
-4
0
7
1
0
0
0
0
0
0
0
0
9
3
-1
0
25
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
3
2
15
-6
-2
4
-1
0
0
0
0
0
0
0
0
0
-5
-4
-3
10
2
-11
-3
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
2
1
-5
-1
32
0
0
0
0
0
0
0
0
0
0
0
0
5
-33
8
-61
0
109
-2
-3
0
0
0
0
0
0
0
0
-7
9
0
2
-4
-1
-19
23
0
0
0
0
0
0
0
0
0
-14
-10
3
0
2
-1
0
0
4
0
0
0
0
0
0
0
0
-8
-100
1
0
3
-2
4
-15
0
0
0
0
0
0
0
0
0
2
3
-2
3
18
0
0
1
0
0
0
0
0
0
0
0
0
0
-62
-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
-10
-5
-3
9
-18
0
0
0
0
0
0
0
0
0
0
-1
-1
34
5
-31
5
1
-5
1
0
0
0
0
0
0
0
0
2
-18
-6
-1
0
2
-17
36
0
0
0
0
0
0
0
0
0
-4
17
-11
2
0
-7
-14
11
1
0
0
0
0
0
0
0
0
-4
54
-19
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-17
-6
-2
6
-3
0
0
-1
6
0
0
0
0
0
0
0
0
-5
1
8
26
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
10
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
10
2
-7
0
-2
1
0
0
0
0
0
0
0
0
0
-4
16
6
-37
-5
-13
4
2
-3
0
0
0
0
0
0
0
0
-13
4
11
-2
0
0
0
14
4
0
0
0
0
0
0
0
0
3
9
62
10
5
0
1
-17
-7
0
0
0
0
0
0
0
0
-3
-64
-19
-13
0
0
4
-5
0
0
0
0
0
0
0
0
0
-31
-47
-1
1
-2
-2
4
0
0
0
0
0
0
0
0
0
0
2
16
0
4
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
17
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
-53
3
0
19
-8
7
0
0
0
0
0
0
0
0
0
-7
80
2
31
32
-1
-14
29
1
0
0
0
0
0
0
0
0
46
31
6
-34
1
-4
-1
-5
8
0
0
0
0
0
0
0
0
44
-13
-2
-45
-14
0
1
0
-2
0
0
0
0
0
0
0
0
-8
7
21
-15
16
0
0
0
0
0
0
0
0
0
0
0
0
6
62
-20
-6
-1
-1
1
0
0
0
0
0
0
0
0
0
0
-1
18
18
1
1
2
0
0
-1
0
0
0
0
0
0
0
0
2
18
3
2
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
0
-3
-2
-19
-3
14
9
-7
17
0
-3
0
0
0
0
0
0
0
-1
-6
-22
46
-13
-25
17
-43
-1
0
0
0
0
0
0
0
0
-1
4
13
-20
-46
-40
1
2
0
8
0
0
0
0
0
0
0
-25
-4
-11
3
2
6
0
0
-1
0
0
0
0
0
0
0
0
16
43
6
21
14
5
-1
0
0
0
0
0
0
0
0
0
0
-7
4
-9
41
2
3
1
7
-1
0
0
0
0
0
0
0
0
-4
-30
43
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-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
63
-14
45
-16
21
1
-15
0
4
0
0
0
0
0
0
0
-8
-14
50
57
-2
-22
-12
-15
15
0
0
0
0
0
0
0
0
-35
-17
18
23
18
-31
-7
-53
0
0
0
0
0
0
0
0
0
47
56
-7
-29
3
14
35
0
2
0
0
0
0
0
0
0
0
-28
-21
-31
-14
-44
5
27
0
0
0
0
0
0
0
0
0
0
26
35
5
15
3
-4
-4
-1
1
0
0
0
0
0
0
0
0
-19
-3
49
11
-2
0
0
0
2
0
0
0
0
0
0
0
0
18
36
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
33
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-25
5
-35
69
54
-31
0
17
0
0
0
0
0
0
0
0
-125
1
7
29
-19
156
9
-35
-8
0
0
0
0
0
0
0
0
1
-25
87
5
-26
50
8
2
0
0
0
0
0
0
0
0
0
-61
-10
-56
26
-53
-12
14
-25
0
0
0
0
0
0
0
0
0
-22
-80
-46
-2
-33
-33
43
0
0
0
0
0
0
0
0
0
0
-10
-2
-1
24
31
-4
3
8
0
0
0
0
0
0
0
0
0
-5
-31
43
2
-9
1
0
8
0
0
0
0
0
0
0
0
0
-61
5
-18
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
20
0
0
-1
0
0
0
0
0
0
0
0
5
0
7
-25
3
-1
0
6
3
0
0
0
0
0
0
0
0
-4
14
-10
-7
-1
-6
-9
4
0
0
0
0
0
0
0
0
0
13
4
3
-1
-2
1
2
0
0
0
0
0
0
0
0
0
0
46
-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
-14
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
-17
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
39
5
4
8
-2
-11
0
0
0
0
0
0
0
0
-11
-4
42
0
0
-9
0
-3
0
0
0
0
0
0
0
0
0
4
31
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
24
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
9
-19
16
0
-11
0
-4
0
0
0
0
0
0
0
0
0
5
6
11
-2
-1
11
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
37
-3
4
1
0
0
0
0
0
0
0
0
0
0
21
-3
0
0
-1
0
6
-6
0
0
0
0
0
0
0
0
3
-3
-5
-5
2
0
0
13
0
0
0
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
13
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-35
-23
10
-9
21
3
0
0
0
0
0
0
0
0
0
14
2
27
-15
-31
-11
29
-19
2
0
0
0
0
0
0
0
0
-22
0
0
0
0
-5
20
18
1
0
0
0
0
0
0
0
0
-2
-25
0
0
0
-4
0
0
15
0
0
0
0
0
0
0
0
-4
-31
0
0
1
-41
-3
7
0
0
0
0
0
0
0
0
0
6
17
-51
9
4
0
-15
-4
0
0
0
0
0
0
0
0
0
1
-22
-8
6
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
0
0
0
3
-4
-4
1
4
8
5
0
0
0
0
0
0
0
0
0
0
14
-17
5
11
29
53
0
0
0
0
0
0
0
0
0
0
-1
3
-13
5
-8
10
-8
-19
1
0
0
0
0
0
0
0
0
3
-1
5
0
3
-1
-6
-11
13
0
0
0
0
0
0
0
0
0
-22
-49
0
0
1
4
0
6
0
0
0
0
0
0
0
0
-7
11
76
0
0
0
5
-3
7
0
0
0
0
0
0
0
0
-2
3
-5
54
-5
-2
0
-6
0
0
0
0
0
0
0
0
0
0
3
27
-17
0
0
0
0
0
0
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
-9
9
-26
-15
-3
8
0
0
0
0
0
0
0
0
0
-1
-3
-33
-13
-49
6
-17
-5
1
0
0
0
0
0
0
0
0
6
33
-5
-23
18
58
37
-2
49
-1
0
0
0
0
0
0
0
0
5
33
-55
0
0
-1
-6
16
0
0
0
0
0
0
0
0
-8
-29
41
-13
0
0
0
-2
-4
0
0
0
0
0
0
0
0
17
7
-48
-35
1
0
0
-13
2
-17
0
0
0
0
0
0
0
3
35
113
-5
2
19
0
0
0
0
0
0
0
0
0
0
0
-9
124
-7
-15
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
10
-3
-4
11
-1
-21
2
-8
0
0
0
0
0
0
0
0
0
0
-27
11
-5
2
-14
-18
-4
13
0
0
0
0
0
0
0
0
7
-1
11
35
-5
-8
-13
56
-1
0
0
0
0
0
0
0
0
-6
-23
-3
-46
12
1
0
0
1
-1
0
0
0
0
0
0
0
15
17
17
-5
14
2
0
0
-9
0
0
0
0
0
0
0
0
2
33
90
43
-19
6
0
0
7
2
0
0
0
0
0
0
0
29
40
1
-15
-2
3
-2
-5
0
0
0
0
0
0
0
0
0
5
-10
14
0
-5
-6
-10
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
36
-45
6
-14
-21
27
0
0
0
0
0
0
0
0
0
10
9
-53
-25
-16
14
44
51
9
0
0
0
0
0
0
0
0
-17
19
22
29
-74
74
64
61
-3
-1
0
0
0
0
0
0
0
-6
-11
32
4
63
33
-4
-2
0
-2
0
0
0
0
0
0
0
-21
27
-15
49
4
-5
0
0
0
0
0
0
0
0
0
0
0
16
-27
-80
-30
-46
-32
3
0
0
-4
0
0
0
0
0
0
0
5
103
-5
11
14
16
0
11
-4
0
0
0
0
0
0
0
0
32
44
2
89
3
0
0
5
0
0
0
0
0
0
0
0
0
11
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-22
58
-14
43
-17
20
39
0
0
0
0
0
0
0
0
0
58
14
-52
66
-34
-26
-34
44
-32
-1
-1
0
0
0
0
0
0
45
-57
-10
-53
7
-10
47
43
0
1
0
0
0
0
0
0
0
5
28
14
-7
-63
27
41
-1
0
0
0
0
0
0
0
0
0
-62
37
-20
15
-5
-20
-9
0
0
0
0
0
0
0
0
0
0
39
-6
29
2
5
-21
-9
0
0
0
0
0
0
0
0
0
0
41
0
12
6
3
35
8
33
5
0
0
0
0
0
0
0
0
-15
-4
16
-102
-3
-3
3
0
0
0
0
0
0
0
0
0
0
71
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-45
-6
-54
-26
45
-1
0
-5
-5
0
0
0
0
0
0
0
73
-31
15
-29
44
53
6
16
2
0
0
0
0
0
0
0
0
-5
-22
26
-23
13
35
46
-25
-9
0
0
0
0
0
0
0
0
50
-45
23
-72
-49
-69
-19
-14
-1
0
0
0
0
0
0
0
0
-80
38
-26
-22
71
89
-25
0
0
0
0
0
0
0
0
0
0
-11
58
-68
24
20
44
2
0
0
0
0
0
0
0
0
0
0
4
10
-53
50
-21
60
-13
-14
0
0
0
0
0
0
0
0
0
84
-52
7
-11
-20
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
18
0
1
-3
0
0
0
0
0
0
0
0
0
-6
41
-33
-3
-5
-3
0
-1
0
0
0
0
0
0
0
0
4
10
5
25
1
49
10
2
0
0
0
0
0
0
0
0
0
-3
15
0
-14
0
2
8
0
0
0
0
0
0
0
0
0
0
-26
-3
-7
1
-17
4
0
0
0
0
0
0
0
0
0
0
0
17
0
-20
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
-16
-16
-2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
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
-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
-14
17
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-39
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
10
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
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
-1
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
8
23
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-1
1
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-34
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
5
-6
-2
-9
0
0
0
0
0
0
0
0
0
-1
24
-7
6
0
2
-10
-9
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
6
1
0
0
10
-20
0
0
0
0
0
0
0
0
0
0
3
-14
0
-16
3
2
0
0
2
0
0
0
0
0
0
0
0
-3
-1
-1
10
-4
0
-1
-43
0
0
0
0
0
0
0
0
0
2
0
2
-5
-29
0
-11
0
1
0
0
0
0
0
0
0
0
0
7
0
-8
0
5
-45
2
2
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
13
-5
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
-17
1
3
3
2
0
0
0
0
0
0
0
0
0
0
-9
-13
8
-46
-32
-15
11
0
0
0
0
0
0
0
0
0
7
-2
11
29
0
22
-34
5
0
0
0
0
0
0
0
0
0
3
-18
2
39
-24
11
1
31
4
0
0
0
0
0
0
0
0
0
-29
-34
0
0
6
-127
1
-6
0
0
0
0
0
0
0
0
1
25
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
-14
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
16
23
0
6
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
-32
1
4
-4
19
-23
-15
0
0
0
0
0
0
0
0
0
0
-18
45
-31
27
-6
26
7
-1
0
0
0
0
0
0
0
0
1
20
-3
14
-32
4
12
-30
-2
0
0
0
0
0
0
0
0
0
-2
-31
2
53
-33
-28
-5
13
0
0
0
0
0
0
0
0
0
28
-14
-45
-2
0
0
9
-10
0
0
0
0
0
0
0
0
21
-27
-9
45
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-27
117
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-3
-1
-1
0
4
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
2
19
-10
11
5
27
29
1
0
0
0
0
0
0
0
0
0
-2
-59
-7
5
-16
-18
-27
32
5
0
0
0
0
0
0
0
0
-5
-29
-33
-2
15
-11
-15
25
-33
0
0
0
0
0
0
0
0
43
23
-3
-39
24
29
-26
10
0
0
0
0
0
0
0
0
0
-1
-13
-16
28
-45
0
0
0
3
0
0
0
0
0
0
0
0
35
4
-19
46
-39
-1
0
0
1
0
0
0
0
0
0
0
0
34
8
-41
-9
-24
0
0
0
2
0
0
0
0
0
0
0
0
-9
6
-3
14
-8
-4
0
-1
0
0
0
0
0
0
0
0
0
-32
4
3
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-21
18
13
17
34
48
13
0
0
0
0
0
0
0
0
0
2
-66
33
-27
-26
-48
18
-11
-53
0
0
0
0
0
0
0
0
17
33
10
25
-1
-34
73
67
-1
0
0
0
0
0
0
0
0
-19
7
-11
53
-21
-51
-4
24
-63
0
0
0
0
0
0
0
0
-1
-24
2
23
14
61
10
-5
-1
0
0
0
0
0
0
0
0
10
142
-15
68
66
19
0
0
0
0
0
0
0
0
0
0
0
-44
-15
-24
-16
21
21
-3
0
0
0
0
0
0
0
0
0
0
-11
-9
-21
-41
-5
0
-3
1
0
0
0
0
0
0
0
0
0
15
-32
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-44
-51
-13
37
14
49
-46
0
-11
0
0
0
0
0
0
0
-35
0
33
13
-50
75
-41
45
-19
5
0
0
0
0
0
0
0
19
50
4
53
44
43
62
-96
-36
-14
0
0
0
0
0
0
0
30
24
-21
14
23
11
-39
-25
-43
-1
0
0
0
0
0
0
0
-64
46
80
40
28
-24
6
-10
0
0
0
0
0
0
0
0
0
88
-38
-129
-111
70
-15
-96
0
0
0
0
0
0
0
0
0
0
26
-8
-6
-33
4
-22
-9
-1
0
0
0
0
0
0
0
0
0
-5
21
-14
-5
35
-8
0
3
4
0
0
0
0
0
0
0
0
-6
1
3
4
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
30
-14
-7
21
-43
-7
30
0
-1
0
0
0
0
0
0
0
0
12
4
-22
86
43
96
-8
71
1
0
0
0
0
0
0
0
0
-96
98
5
13
-71
57
58
17
-14
0
0
0
0
0
0
0
0
-33
-27
23
-8
2
-24
87
-62
10
0
0
0
0
0
0
0
0
-58
-150
46
-90
-39
159
75
3
0
0
0
0
0
0
0
0
0
-16
-28
-38
-61
-46
-51
-4
4
0
0
0
0
0
0
0
0
0
-42
-5
-38
45
-3
70
4
0
0
0
0
0
0
0
0
0
0
-100
-6
7
-14
2
13
0
0
0
0
0
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
3
7
6
4
-8
0
3
0
0
0
0
0
0
0
0
0
1
9
17
5
16
-5
22
4
-3
0
0
0
0
0
0
0
0
-2
0
10
-5
16
6
7
-4
0
0
0
0
0
0
0
0
0
22
-8
20
0
-4
-16
4
-1
0
0
0
0
0
0
0
0
0
5
-10
-9
16
-1
4
1
0
0
0
0
0
0
0
0
0
0
-5
0
35
-5
5
0
-2
0
0
0
0
0
0
0
0
0
0
-53
1
-8
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
-10
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-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
-1
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
-4
-1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
11
11
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
37
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
71
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
29
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
45
8
-1
3
14
-6
0
2
0
0
0
0
0
0
0
0
0
-9
0
-6
0
9
21
-6
0
0
0
0
0
0
0
0
0
0
0
7
-6
-14
-3
9
7
-2
0
0
0
0
0
0
0
0
0
45
0
1
-14
6
-5
7
-10
0
0
0
0
0
0
0
0
0
-24
-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
14
-28
5
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
-90
8
-75
75
15
-57
0
0
0
0
0
0
0
0
0
0
16
0
0
1
-45
-8
-8
-3
-9
0
0
0
0
0
0
0
0
0
13
0
16
58
-31
-13
-41
7
-1
0
0
0
0
0
0
0
0
-14
5
-17
25
-8
-13
-3
9
0
0
0
0
0
0
0
0
1
-53
106
10
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-21
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-68
-9
30
0
0
0
-3
0
0
0
0
0
0
0
0
0
-13
10
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
5
-1
14
8
-25
0
0
0
0
0
0
0
0
0
0
47
29
-4
-52
-1
45
33
-9
0
0
0
0
0
0
0
0
1
-17
0
0
17
-29
-30
14
-8
0
0
0
0
0
0
0
0
-3
7
-7
-17
46
120
9
8
-13
0
0
0
0
0
0
0
0
0
45
6
10
-25
24
14
-95
-14
0
0
0
0
0
0
0
0
-3
68
-31
45
34
0
0
0
0
0
0
0
0
0
0
0
0
-30
5
-75
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
14
33
34
1
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-21
43
3
43
8
0
10
0
0
0
0
0
0
0
1
40
22
-18
-1
53
-24
6
15
0
0
0
0
0
0
0
0
-1
13
-7
31
0
14
45
-28
-11
-4
0
0
0
0
0
0
0
3
29
20
1
53
-7
14
-26
-3
0
0
0
0
0
0
0
0
0
74
90
-20
-10
-7
75
59
33
0
0
0
0
0
0
0
0
33
-76
35
86
5
-35
0
0
0
-1
0
0
0
0
0
0
0
13
-17
-7
-51
-9
-9
0
0
0
0
0
0
0
0
0
0
0
6
-23
45
45
1
6
0
0
0
0
0
0
0
0
0
0
0
-10
-4
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-5
25
-57
-6
65
50
14
0
15
0
0
0
0
0
0
0
8
15
8
21
-33
-22
42
-35
9
0
0
0
0
0
0
0
0
-3
-60
-11
37
-28
16
26
0
-59
-2
0
0
0
0
0
0
0
-7
-21
3
23
49
22
52
-74
14
3
0
0
0
0
0
0
0
7
50
-57
-53
-10
-38
-52
79
-7
9
0
0
0
0
0
0
0
-74
-49
45
-43
27
-12
-64
0
-1
0
0
0
0
0
0
0
0
35
-1
-19
-96
10
52
8
0
0
0
0
0
0
0
0
0
0
-141
-8
-6
13
-9
66
3
0
0
0
0
0
0
0
0
0
0
-49
2
9
-6
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-13
26
-1
1
-32
-16
19
0
-1
0
0
0
0
0
0
0
0
17
12
53
19
-34
14
6
-52
-45
2
0
0
0
0
0
0
0
-21
20
-25
16
-73
114
78
88
-41
0
0
0
0
0
0
0
0
6
3
-45
66
34
33
14
-44
-2
0
0
0
0
0
0
0
0
-36
63
92
53
-5
-25
-7
-66
3
0
0
0
0
0
0
0
0
2
-34
4
11
5
-26
-24
1
0
0
0
0
0
0
0
0
0
-48
53
-2
-42
18
54
-6
0
0
0
0
0
0
0
0
0
0
-64
-64
-53
-9
-13
-28
-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
9
-1
2
0
-2
0
0
0
0
0
0
0
0
0
5
-8
17
11
9
0
-16
0
0
0
0
0
0
0
0
0
0
8
6
1
6
-7
14
8
-27
0
0
0
0
0
0
0
0
0
1
0
-14
-18
18
1
4
1
0
0
0
0
0
0
0
0
0
9
-4
-22
10
0
-10
1
-3
0
0
0
0
0
0
0
0
0
17
7
19
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-19
3
3
9
0
4
0
0
0
0
0
0
0
0
0
0
0
-33
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
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-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
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
14
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
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
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
11
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
19
1
0
0
6
0
0
0
0
0
0
0
0
0
0
-3
-24
0
8
0
-2
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
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
20
8
-2
15
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
17
-29
-13
1
0
0
0
0
0
0
0
0
0
2
-3
1
-3
59
-22
20
6
0
0
0
0
0
0
0
0
1
-2
8
1
-11
5
-21
1
0
0
0
0
0
0
0
0
0
0
-50
-46
35
5
3
-2
0
0
0
0
0
0
0
0
0
0
3
0
-14
-52
0
0
0
0
2
0
0
0
0
0
0
0
0
2
-4
19
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
1
9
-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
-10
-1
9
47
33
-26
11
2
0
0
0
0
0
0
0
0
-1
0
0
-6
-13
-5
-58
20
-34
-2
0
0
0
0
0
0
0
2
3
-4
6
7
-17
24
43
2
0
0
0
0
0
0
0
0
21
-5
-6
-25
-3
-15
76
-73
-3
0
0
0
0
0
0
0
0
2
-34
-7
-142
8
-3
6
0
10
0
0
0
0
0
0
0
0
3
-22
-8
-122
9
2
0
0
0
0
0
0
0
0
0
0
0
5
53
-33
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-6
25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
2
-6
-11
-9
0
-55
-5
0
0
0
0
0
0
0
0
0
-1
-1
-62
-25
78
-6
-12
-47
17
3
0
0
0
0
0
0
0
-3
-23
-25
14
76
33
-5
-42
55
-1
0
0
0
0
0
0
0
1
-31
-27
-20
30
62
82
27
46
-7
0
0
0
0
0
0
0
-7
96
-58
72
19
-58
43
-6
8
0
0
0
0
0
0
0
0
-45
22
-68
56
125
-27
31
30
1
1
0
0
0
0
0
0
0
-19
-3
-66
11
-39
64
2
0
0
0
0
0
0
0
0
0
0
108
-61
-3
38
22
0
-4
0
0
0
0
0
0
0
0
0
0
-20
-35
-9
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
51
23
37
17
4
-34
0
0
0
0
0
0
0
0
0
0
-26
-28
55
130
16
34
0
54
-3
-2
0
0
0
0
0
0
0
-16
-4
-18
-5
-114
43
-24
14
9
0
0
0
0
0
0
0
0
42
14
26
-29
27
-9
-27
-33
-3
0
0
0
0
0
0
0
0
-56
-16
50
6
-2
-25
26
-50
0
0
0
0
0
0
0
0
0
71
12
-107
12
66
68
-14
16
0
0
0
0
0
0
0
0
0
76
2
-148
49
51
45
9
0
0
0
0
0
0
0
0
0
0
-13
28
51
-19
33
9
-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
13
-1
-7
-1
-6
0
0
-4
0
0
0
0
0
0
0
0
0
-6
10
-6
11
25
0
-11
-2
0
0
0
0
0
0
0
0
0
8
0
-1
-7
-20
-13
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
-10
15
4
1
3
-2
0
0
0
0
0
0
0
0
0
1
-3
14
-3
-4
10
0
0
0
0
0
0
0
0
0
0
0
-45
0
-16
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-5
9
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-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
-9
0
-2
0
0
0
0
0
0
0
0
0
0
8
14
-20
33
8
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
-44
0
0
0
-7
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
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
-37
6
11
0
0
0
0
0
0
0
0
0
-2
0
0
-29
-14
-6
-72
-2
4
0
0
0
0
0
0
0
0
-10
17
-2
17
27
97
58
-7
8
0
0
0
0
0
0
0
0
25
16
-40
-2
63
24
-6
1
0
0
0
0
0
0
0
0
0
-43
-5
-11
-40
-5
-5
0
2
0
0
0
0
0
0
0
0
0
-5
-34
-43
-5
-20
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
-7
-13
-5
-3
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-60
-3
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
0
0
0
0
0
0
4
0
0
3
10
-2
0
0
0
0
0
0
0
0
0
0
15
-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
10
-1
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-24
-7
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
-43
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
20
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
18
15
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-7
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-1
-11
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
9
-5
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-4
-34
24
-1
33
39
0
0
0
0
0
0
0
0
4
-6
2
9
-3
-20
-20
-5
-29
0
0
0
0
0
0
0
0
4
-6
0
21
18
-7
-43
29
18
0
0
0
0
0
0
0
0
0
0
1
-18
-32
4
2
41
-32
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
18
-57
-6
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
9
-14
-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
100
1
3
0
0
0
-4
0
0
0
0
0
0
0
1
1
-8
-5
29
1
2
-2
-11
0
0
0
0
0
0
0
0
1
2
5
14
-6
23
-21
-15
5
1
0
0
0
0
0
0
0
0
0
11
-15
0
-8
-99
-46
33
0
0
0
0
0
0
0
0
0
0
-2
1
13
-16
-13
-51
14
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
-1
-7
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-22
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
9
4
0
0
0
-2
5
0
0
0
0
0
0
0
6
-2
1
0
-1
1
-11
-1
0
-3
0
0
0
0
0
0
0
0
-8
1
2
-4
0
15
-16
0
0
0
0
0
0
0
0
0
0
0
0
18
-6
0
-32
1
-6
0
0
0
0
0
0
0
0
0
0
4
16
-7
12
-57
10
-1
0
0
0
0
0
0
0
0
0
0
-1
-11
2
-6
11
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
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
14
0
7
0
-2
0
0
0
0
0
0
0
0
0
0
6
10
4
-7
-25
-8
8
0
0
0
0
0
0
0
0
0
0
0
-4
-1
8
-14
5
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
39
-7
8
-3
3
1
0
0
0
0
0
0
0
0
0
0
-18
-2
-9
-11
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
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
1
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
0
0
0
0
0
0
8
6
-16
0
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
1
9
15
-7
14
3
11
0
0
0
0
0
0
0
0
0
-1
0
0
5
4
-26
3
3
0
0
0
0
0
0
0
0
0
0
-1
1
-89
-27
-6
-41
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
-9
-6
0
2
-2
0
0
0
0
0
0
0
0
0
-1
0
-1
26
-13
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
20
-2
24
-1
4
2
0
0
0
0
0
0
0
0
0
0
-2
-1
-33
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
-9
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
21
1
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-9
-11
16
2
7
9
0
0
0
0
0
0
0
0
0
2
2
-10
-11
21
-53
9
19
0
0
0
0
0
0
0
0
0
-3
-1
0
-10
20
18
18
9
0
0
0
0
0
0
0
0
0
0
0
0
-11
-5
-34
7
4
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-17
-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
11
-14
47
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-7
100
30
-39
15
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
16
-4
-1
43
13
0
0
0
0
0
0
0
0
11
7
-32
-58
19
18
36
-6
24
0
0
0
0
0
0
0
0
1
-23
7
21
34
22
6
23
-9
0
0
0
0
0
0
0
0
0
-14
-23
45
-13
-18
-23
93
52
0
0
0
0
0
0
0
0
0
0
0
14
-16
-8
34
-46
54
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
31
-50
-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
-2
-19
-39
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-8
14
-25
14
-5
0
0
0
-4
0
0
0
0
0
0
0
0
-25
-27
-31
-29
-21
4
-4
8
2
0
0
0
0
0
0
0
0
14
109
-3
-18
19
-15
-20
-5
8
0
0
0
0
0
0
0
0
20
-6
1
-74
16
-66
63
52
-1
0
0
0
0
0
0
0
0
0
0
5
-44
-11
-51
4
17
-5
0
0
0
0
0
0
0
0
0
0
-3
-14
-7
11
57
0
5
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-16
5
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
-1
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
20
-4
1
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
37
-54
1
-11
-9
15
3
0
0
0
0
0
0
0
0
0
35
-49
-15
-34
-31
-33
-25
18
0
0
0
0
0
0
0
0
0
-11
27
3
24
-5
-25
-27
-3
0
0
0
0
0
0
0
0
0
-1
0
-21
-5
-7
-127
-71
23
2
0
0
0
0
0
0
0
0
0
0
5
-14
13
25
-34
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-45
-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
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-4
-2
0
0
0
1
-1
0
0
0
0
0
0
0
-3
0
-18
2
-2
7
-80
18
0
0
0
0
0
0
0
0
0
0
23
20
3
6
-23
14
-18
-4
0
-1
0
0
0
0
0
0
0
0
-9
-11
-20
39
1
17
4
0
0
0
0
0
0
0
0
0
0
-5
20
10
-48
65
29
7
0
0
0
0
0
0
0
0
0
0
0
1
0
-20
2
18
-32
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
-11
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-18
11
3
-8
0
0
0
6
1
0
0
0
0
0
0
0
0
-52
6
-2
-9
8
-6
-4
1
-15
0
0
0
0
0
0
0
0
5
0
-34
-23
19
2
14
11
0
0
0
0
0
0
0
0
0
1
33
-2
22
-7
-4
36
15
3
-2
-2
0
0
0
0
0
0
4
1
-1
12
-14
-66
-7
-26
9
0
0
0
0
0
0
0
0
0
3
13
20
53
-36
-20
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-17
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
46
-4
2
0
0
0
0
2
0
1
-1
0
0
0
0
0
0
21
14
0
4
-16
13
-7
2
5
-1
0
0
0
0
0
0
0
-3
-26
-3
-14
-41
-36
15
-1
0
0
0
0
0
0
0
0
0
1
3
-57
21
-5
-81
21
9
8
-1
3
0
0
0
0
0
0
0
0
6
-9
-13
14
4
2
-1
0
1
0
0
0
0
0
0
0
0
0
-5
-14
13
-19
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-11
-22
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
9
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
-15
0
-2
0
0
0
-9
-3
2
0
0
0
0
0
0
0
0
0
4
1
-5
5
-2
5
29
0
-1
2
2
0
0
0
0
0
0
-3
-4
43
0
-19
1
-7
2
2
0
1
0
0
0
0
0
0
0
-6
-3
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
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
-10
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
22
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
23
-14
17
7
0
0
0
0
0
0
0
0
0
0
0
-7
32
-3
-10
7
-20
31
-25
0
0
0
0
0
0
0
0
0
0
6
-13
0
10
-17
25
55
0
0
0
0
0
0
0
0
0
0
0
6
-11
7
3
29
-8
0
0
0
0
0
0
0
0
0
0
0
0
25
-7
-32
-4
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-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
1
0
0
0
0
0
0
0
0
0
0
-14
19
-2
49
-7
-8
0
0
0
0
0
0
0
0
0
0
0
-21
-4
-52
-6
10
14
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-30
-45
-36
-8
-22
22
0
0
0
0
0
0
0
0
0
7
26
-21
-5
-19
-24
30
83
0
0
0
0
0
0
0
0
0
44
15
-96
32
-3
14
-16
1
0
0
0
0
0
0
0
0
1
-1
7
-36
-1
7
-45
13
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
29
26
100
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
-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
24
5
-4
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
37
1
25
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-26
17
0
11
-13
5
3
0
0
0
0
0
0
0
0
0
0
14
18
45
-3
-55
-39
-4
0
0
0
0
0
0
0
0
0
0
-4
-36
-23
16
36
-68
-4
0
0
0
0
0
0
0
0
0
0
3
4
-14
-21
-43
-9
9
0
0
0
0
0
0
0
0
0
0
0
5
-8
-3
8
-2
1
0
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
0
0
0
0
0
0
0
0
0
0
0
5
-21
17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
11
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-20
0
1
26
-18
0
1
0
0
0
0
0
0
0
0
0
2
4
6
-14
-41
-20
3
0
0
0
0
0
0
0
0
-3
0
10
-19
-10
-40
-6
3
-3
1
0
0
0
0
0
0
0
0
0
1
-14
25
-11
-9
46
-1
-1
0
0
0
0
0
0
0
0
0
0
3
2
2
17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
20
14
0
0
0
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
11
-10
-20
7
0
0
0
0
0
0
0
0
0
-3
0
0
-4
29
3
15
-19
1
0
1
0
0
0
0
0
0
0
0
-5
-5
-11
-35
20
-1
0
-3
0
0
0
0
0
0
0
0
0
16
2
10
29
-1
54
5
1
0
0
0
0
0
0
0
0
0
0
2
-5
-18
-5
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
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
2
40
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-10
21
11
8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
27
14
-1
1
-24
24
-2
0
0
0
0
0
0
0
0
0
33
0
-4
-1
-2
-7
-31
-4
-2
1
0
0
0
0
0
0
-39
11
0
9
-49
7
15
6
5
0
0
0
0
0
0
0
0
0
0
0
-10
14
-4
-15
-65
2
0
0
0
0
0
0
0
0
0
0
0
1
3
-80
-17
-32
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-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
0
5
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
1
-2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
23
-2
0
0
0
0
0
0
0
0
5
-11
21
0
1
-3
-84
33
-2
0
-1
0
0
0
0
0
0
0
0
-3
29
5
3
6
49
1
0
0
0
0
0
0
0
0
0
0
1
4
-3
13
19
-37
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
2
-5
-45
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
3
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
11
9
-1
1
0
0
0
10
0
-11
1
0
0
0
0
0
0
0
6
0
0
6
0
-31
0
2
2
0
0
0
0
0
0
0
6
0
-5
3
2
5
29
13
0
0
0
0
0
0
0
0
0
-1
7
0
-24
-9
-9
5
-8
-1
0
0
0
0
0
0
0
0
0
0
7
3
25
14
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
36
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
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
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-12
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
-9
0
-2
3
0
0
0
0
0
0
0
0
0
18
8
11
-14
-35
19
0
-4
0
2
0
0
0
0
0
0
0
0
0
5
-13
5
-2
3
0
0
0
0
0
0
0
0
0
0
0
-4
4
-14
-3
-17
-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
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
16
-4
13
0
0
0
0
0
0
0
0
0
0
0
23
11
-40
-33
-26
27
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
7
-13
-8
24
-37
0
0
0
0
0
0
0
0
0
0
1
-35
-18
2
5
-64
-44
0
0
0
0
0
0
0
0
0
0
8
14
34
10
4
-6
26
0
0
0
0
0
0
0
0
0
0
0
5
10
-2
-10
2
58
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
0
6
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
19
16
-13
-16
0
0
0
0
0
0
0
0
0
0
0
24
-16
-62
46
-50
39
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-25
-5
-31
1
19
7
0
0
0
0
0
0
0
0
0
2
11
14
9
-5
-43
79
45
0
0
0
0
0
0
0
0
0
0
-4
43
9
-34
21
-16
18
0
0
0
0
0
0
0
0
0
-7
-1
6
-34
-36
31
46
60
0
0
0
0
0
0
0
0
0
0
1
0
6
39
-3
-24
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-46
80
0
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
-13
2
-25
-6
3
0
0
0
0
0
0
0
0
0
0
0
2
-16
-9
27
2
17
0
0
0
4
0
0
0
0
0
0
0
0
-7
-10
-14
-47
-19
-7
-27
-11
-1
0
0
0
0
0
0
0
0
0
0
-5
-17
17
-1
33
-11
-23
0
0
0
0
0
0
0
0
0
-1
-9
0
33
-18
-42
-24
0
0
0
0
0
0
0
0
0
0
5
0
-6
-33
-23
-86
-35
6
0
0
0
0
0
0
0
0
0
0
2
1
17
-13
16
-23
-2
0
0
0
0
0
0
0
0
0
0
1
-1
4
6
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
-1
-11
2
29
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-85
-5
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-25
-3
-20
7
0
0
0
0
0
0
0
0
0
0
0
11
-6
-18
4
20
-39
10
0
0
0
0
0
0
0
0
0
0
4
9
-15
-24
-2
8
4
2
0
0
0
0
0
0
0
1
0
1
0
-16
-22
-20
-46
3
0
0
0
0
0
0
0
0
0
0
3
-1
-18
-24
-20
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
6
-5
6
1
0
0
0
0
0
0
0
0
0
0
0
0
1
71
14
15
-6
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-13
3
1
4
50
-23
1
0
0
0
0
0
0
0
0
10
0
0
0
25
1
-64
33
0
0
0
0
0
0
0
0
-3
-4
0
-3
2
-29
43
-20
13
2
0
0
0
0
0
0
0
0
0
0
0
9
-3
-31
-7
-1
3
0
0
0
0
0
0
0
0
0
0
7
1
8
14
-14
-44
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-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
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
16
8
35
0
0
0
0
0
0
0
0
0
5
0
13
0
0
14
1
2
-20
0
0
0
0
0
0
0
-2
-1
0
1
1
0
32
50
-16
2
0
0
0
0
0
0
0
0
0
0
0
8
0
-4
-21
-46
0
0
0
0
0
0
0
0
0
0
-7
1
0
-34
31
1
-52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
-16
0
0
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
-11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-25
2
0
0
14
-10
0
0
0
0
0
0
0
0
0
0
4
2
-1
0
-5
43
9
-1
0
0
0
0
0
0
0
0
0
0
0
-6
1
-2
-26
-21
0
0
0
0
0
0
0
0
0
0
0
-1
-37
0
-44
11
2
-1
0
0
0
0
0
0
0
0
0
0
0
7
7
57
-1
25
0
1
0
0
0
0
0
0
0
0
0
0
0
0
18
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
13
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
24
5
0
1
0
0
0
2
0
0
0
0
0
0
0
0
2
10
-37
10
0
0
8
-5
-1
0
0
0
0
0
0
0
0
-11
0
-4
2
1
0
0
-1
2
0
0
0
0
0
0
0
0
0
3
6
13
-1
-1
3
-5
1
-1
0
0
0
0
0
0
0
0
1
10
1
5
25
5
-24
0
-2
0
0
0
0
0
0
0
0
0
0
-5
3
4
-16
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
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
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
53
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
-20
-1
-1
0
0
-2
0
0
0
0
0
0
0
5
6
4
-7
41
2
-3
7
4
0
0
0
0
0
0
0
0
0
-6
-14
9
8
-56
-39
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-2
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
9
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
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
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
-18
-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
-9
-6
13
3
0
0
0
0
0
0
0
0
0
0
0
43
-16
21
-10
43
-6
0
0
0
0
0
0
0
0
0
0
0
2
17
10
1
-8
-7
0
-21
0
0
0
0
0
0
0
0
0
3
-2
4
23
-6
-17
-51
99
0
0
0
0
0
0
0
0
0
0
0
10
14
15
25
-31
21
0
0
0
0
0
0
0
0
0
0
0
8
-18
19
83
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-16
23
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
-71
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
10
-18
7
3
0
0
0
0
0
0
0
0
0
0
0
-8
17
25
-124
27
4
0
0
0
0
0
0
0
0
0
0
0
4
-20
-31
-86
70
-63
-11
-33
-8
0
0
0
0
0
0
0
0
0
0
68
-6
-93
39
-68
49
-33
0
0
0
0
0
0
0
0
0
0
-16
65
31
53
26
34
5
0
0
0
0
0
0
0
0
0
0
16
-52
70
3
-6
65
70
0
0
0
0
0
0
0
0
-6
1
4
-15
-20
-59
-29
-33
3
0
0
0
0
0
0
0
0
0
0
1
-6
21
-10
-26
10
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-2
0
0
0
0
0
0
0
0
1
5
-57
-17
-8
-2
0
0
0
3
0
0
0
0
0
0
0
-2
5
11
-46
-9
-35
0
0
0
-17
0
0
0
0
0
0
0
11
5
-11
-9
-79
-80
-10
-30
2
4
0
0
0
0
0
0
0
0
0
-1
-51
11
34
13
-55
-21
2
0
0
0
0
0
0
0
0
0
0
45
-6
-46
-3
10
56
2
0
0
0
0
0
0
0
0
0
0
-5
78
-66
-14
35
65
5
0
0
0
0
0
0
0
5
-2
1
-7
-26
23
22
33
-69
-6
0
0
0
0
0
0
0
0
0
0
-4
-1
-6
33
9
57
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
1
0
0
0
0
0
0
0
1
4
4
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
-32
-20
26
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-6
19
-18
8
71
10
-65
3
-3
0
0
0
0
0
0
0
3
0
0
1
49
-13
0
-14
1
0
0
0
0
0
0
0
0
-2
0
0
0
13
-15
-2
-7
-56
0
0
0
0
0
0
0
0
0
0
0
0
-30
3
-39
-40
29
5
0
0
0
0
0
0
0
0
0
-1
0
0
9
37
-52
4
-4
0
0
0
0
0
0
0
0
0
0
2
0
-10
-15
21
-23
1
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
-25
3
10
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-32
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
58
-5
-3
-32
9
10
1
0
0
0
0
0
0
0
0
6
0
0
2
-15
41
-10
10
-4
0
0
0
0
0
0
0
7
0
0
0
-1
43
73
29
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-15
0
8
-7
0
0
0
0
0
0
0
0
0
-4
-3
0
-2
50
-9
-36
5
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-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
-5
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-11
6
8
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-40
-2
-3
-9
-14
1
0
0
0
0
0
0
0
0
0
0
81
-7
0
0
-17
24
8
0
0
0
0
0
0
0
0
0
0
13
-4
0
0
12
39
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
79
40
15
0
0
0
0
0
0
0
0
0
0
0
0
-13
-33
0
-69
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
-14
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
4
6
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
5
0
-36
5
-24
15
-26
0
0
0
0
0
0
0
0
0
0
-17
-31
0
0
0
16
-3
0
0
0
0
0
0
0
0
0
0
-6
-2
5
0
-1
-6
-2
0
0
0
0
0
0
0
0
0
0
3
-1
0
-4
0
78
-27
3
0
0
0
0
0
0
0
0
0
7
0
18
-3
-35
25
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-46
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
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-11
-3
-11
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-36
25
0
-1
-14
53
0
0
0
0
0
0
0
0
0
0
0
40
20
-2
0
0
-5
9
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
13
0
-3
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-2
10
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-20
11
0
0
0
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
16
-2
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
0
2
4
-8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
41
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-7
-5
-11
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
-27
-4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-26
13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
2
0
-26
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
-19
-3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-47
5
-35
3
19
-9
0
0
0
0
0
0
0
0
0
0
0
-9
2
-33
-5
-13
-5
-11
-31
0
0
0
0
0
0
0
0
0
-7
-5
-21
-52
2
-4
8
24
0
0
0
0
0
0
0
0
0
0
-18
-48
85
6
-28
9
14
0
0
0
0
0
0
0
0
0
0
0
-3
-8
19
29
2
-17
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
40
-3
8
0
0
0
0
0
0
0
0
0
0
0
-14
0
2
2
19
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
13
33
0
0
0
0
0
0
0
0
0
-1
24
51
13
-3
-9
0
0
0
0
0
0
0
0
0
0
0
71
70
-125
-23
42
3
0
0
0
0
0
0
0
0
0
0
0
13
-2
3
-56
74
-12
14
-63
-14
0
0
0
0
0
0
0
0
1
32
-16
-18
-18
-22
14
31
-33
0
0
0
0
0
0
0
0
0
0
-77
7
-33
-4
-46
49
14
0
0
0
0
0
0
0
0
0
0
-3
44
-26
-56
49
17
10
0
0
0
0
0
0
0
0
0
0
-4
-18
30
3
-3
-30
9
0
0
0
0
0
0
0
0
0
0
0
-1
-21
7
43
-12
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
36
-13
0
0
0
0
0
0
0
0
1
-11
-23
-2
-32
24
0
0
0
0
0
0
0
0
0
0
0
8
19
43
-10
2
-7
0
0
0
-4
0
0
0
0
0
0
0
-1
48
51
-60
9
2
27
5
-8
-13
0
0
0
0
0
0
0
-11
-11
-79
-7
5
-16
28
7
-1
0
0
0
0
0
0
0
0
0
1
0
-26
-18
-25
67
12
-43
-1
0
0
0
0
0
0
0
0
0
0
4
-6
71
15
31
-72
-4
0
0
0
0
0
0
0
0
0
0
8
-2
-15
79
16
-18
-29
0
0
0
0
0
0
0
0
0
1
0
-7
13
39
-3
105
5
0
0
0
0
0
0
0
0
0
0
0
0
-33
-11
-7
-8
3
0
0
0
0
0
0
0
0
-9
-13
-50
1
1
0
0
0
1
0
0
0
0
0
0
0
4
32
-32
-14
6
45
0
0
0
1
0
0
0
0
0
0
0
0
-5
-35
-64
0
-3
-3
-34
-10
2
0
0
0
0
0
0
0
0
0
-52
-9
-26
47
-55
11
-33
0
1
0
0
0
0
0
0
-1
0
3
0
-30
-43
55
-26
-56
0
0
0
0
0
0
0
0
0
0
0
0
-14
8
-23
22
-24
-1
0
0
0
0
0
0
0
0
0
0
1
0
6
3
10
92
-15
1
0
0
0
0
0
0
0
0
0
-2
1
2
-8
1
-44
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-46
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
10
5
-1
17
0
0
0
0
0
0
0
0
0
0
0
0
1
31
-15
38
4
-19
0
-7
16
0
0
0
0
0
0
0
0
0
5
50
-44
56
3
-36
-7
9
0
0
0
0
0
0
0
0
-13
0
0
0
2
44
-58
-3
-33
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-19
-51
24
-1
0
0
0
0
0
0
0
0
2
0
0
0
79
-65
12
-32
2
0
0
0
0
0
0
0
0
0
0
-1
0
5
-30
11
-16
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
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
-15
0
-20
-10
26
0
-1
-11
0
0
0
0
0
0
0
0
-2
-9
-2
-5
25
0
3
-3
-14
0
1
0
0
0
0
0
0
6
6
-20
0
0
0
33
-95
-23
-1
1
0
0
0
0
0
0
0
0
0
0
0
2
-10
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
-55
0
1
0
0
0
0
0
0
0
0
0
4
0
0
-3
23
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
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-5
-9
0
4
0
0
0
0
0
0
0
0
0
0
0
-13
7
-6
0
-24
2
8
0
0
0
0
0
0
0
0
0
0
-8
26
0
0
-9
-21
-1
0
0
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
-37
-34
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
-21
-3
-17
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
-11
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-1
0
-8
1
6
0
0
0
0
0
0
0
0
0
0
0
1
10
1
-2
-8
-7
1
0
0
0
0
0
0
0
0
0
-2
-6
6
21
0
0
0
-64
0
0
0
0
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
43
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-27
0
0
0
0
0
0
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
-11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
0
-7
5
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
52
-2
33
2
-9
0
0
0
0
0
0
0
0
0
0
1
-20
25
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
10
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-61
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
-9
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
-11
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
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
-23
62
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-23
-19
9
20
-1
1
-8
0
0
0
0
0
0
0
0
0
3
-27
0
5
-8
30
-18
8
0
0
0
0
0
0
0
0
0
1
3
21
5
4
37
-63
17
0
0
0
0
0
0
0
0
0
0
0
27
22
49
44
-2
91
0
0
0
0
0
0
0
0
0
0
4
0
-13
35
-46
-33
-52
0
0
0
0
0
0
0
0
0
0
-1
-6
-1
3
-31
-8
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
90
0
0
0
0
0
0
0
0
0
0
-16
-14
-46
-4
-7
0
0
0
0
0
0
0
0
0
0
0
10
-41
50
-12
-30
6
0
0
0
0
0
0
0
0
0
0
0
17
-60
-31
-153
-3
-68
60
-43
5
0
0
0
0
0
0
0
0
0
46
8
-48
-61
47
62
-31
-2
0
0
0
0
0
0
0
0
-1
66
-53
139
-92
47
91
-22
-24
0
0
0
0
0
0
0
0
0
0
-52
-62
39
46
-54
80
-23
0
0
0
0
0
0
0
0
0
0
18
-44
-43
129
48
-43
-26
0
0
0
0
0
0
0
0
0
0
0
25
36
-16
92
-38
109
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
19
-2
0
0
0
0
0
0
0
0
0
-30
14
43
10
-14
0
0
0
0
0
0
0
0
0
0
0
15
-18
47
4
64
-2
0
0
0
-23
0
0
0
0
0
0
0
0
-14
63
-82
42
23
-1
15
14
5
0
0
0
0
0
0
0
-1
-11
-10
-15
5
-14
-56
-21
-72
0
0
0
0
0
0
0
0
-9
-49
28
99
19
-14
8
-33
96
1
0
0
0
0
0
0
0
0
0
-2
16
-17
-9
-10
24
44
-8
0
0
0
0
0
0
0
0
0
0
10
7
60
52
-60
-27
-23
0
0
0
0
0
0
0
0
0
0
-4
3
-21
-44
-24
55
-34
0
0
0
0
0
0
0
0
0
0
0
0
2
5
1
1
0
0
0
0
0
0
0
0
0
-1
-9
-31
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-9
-6
-35
32
0
0
0
-4
-1
0
0
0
0
0
0
-2
1
-17
-1
16
9
-3
0
-14
1
-4
0
0
0
0
0
0
-1
-4
32
-18
6
46
-8
17
-25
-1
0
0
0
0
0
0
0
11
-31
-24
-74
37
23
81
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
-96
42
-21
59
41
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
9
-26
-83
1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-43
11
-86
46
0
0
0
0
0
0
0
0
0
0
0
0
14
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
13
37
27
7
-15
0
0
0
3
0
0
0
0
0
0
0
0
-3
-36
-4
7
5
0
0
-5
0
0
0
0
0
0
0
0
0
-5
4
0
6
-20
-1
4
8
0
0
0
0
0
0
0
0
-10
0
36
1
-18
-2
4
18
-3
0
0
0
0
0
0
0
0
9
1
0
0
0
-19
30
-9
-39
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-29
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
9
-50
-2
-12
19
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
-22
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
21
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
41
-14
0
19
-27
0
-3
0
0
0
0
0
0
0
0
0
0
0
22
23
-78
3
45
-10
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
10
-51
44
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
63
41
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
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
14
17
0
0
0
0
0
0
0
0
0
0
0
15
8
11
2
22
-15
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-18
0
0
0
0
0
0
0
0
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
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
14
-9
-5
0
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
13
-14
-47
5
4
7
2
0
0
0
0
0
0
0
0
0
9
-2
6
0
5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
13
23
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
-23
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-7
-7
27
0
-2
0
0
0
0
0
0
0
0
0
0
0
-17
-93
-9
-43
1
-6
18
0
0
0
0
0
0
0
0
0
3
-37
4
-22
28
0
-16
-22
0
0
0
0
0
0
0
0
0
-7
2
-10
-8
-60
-31
1
4
0
0
0
0
0
0
0
0
0
0
0
16
-19
-21
3
25
71
0
0
0
0
0
0
0
0
0
0
0
-8
7
19
-10
27
-54
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
43
21
133
0
0
0
0
0
0
0
0
0
0
27
-43
80
6
8
0
0
0
0
0
0
0
0
0
0
0
-10
-78
3
-45
71
13
0
0
0
0
0
0
0
0
0
0
0
-2
69
33
-40
9
-50
4
-3
9
0
0
0
0
0
0
0
0
-6
33
71
-50
14
17
43
8
4
0
0
0
0
0
0
0
0
0
31
1
-83
70
22
73
4
45
0
0
0
0
0
0
0
0
9
-21
-4
-4
30
13
-23
16
5
0
0
0
0
0
0
0
0
0
0
1
-11
19
-8
106
39
6
0
0
0
0
0
0
0
0
0
0
1
-31
-1
8
35
-8
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
9
14
-9
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
-13
0
71
-5
5
4
0
0
0
-2
0
0
0
0
0
0
0
0
-6
3
53
-34
0
0
1
-16
-2
0
0
0
0
0
0
0
0
-7
-14
-63
37
2
-39
17
5
0
0
0
0
0
0
0
0
-3
7
19
-17
-41
-17
-60
-21
-21
0
0
0
0
0
0
0
0
0
6
-5
-2
-23
3
23
22
-19
8
0
0
0
0
0
0
0
0
0
0
11
-32
-1
63
75
-29
-2
0
0
0
0
0
0
0
0
0
0
1
11
-15
7
23
114
-69
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
-21
-2
-21
39
0
2
0
0
0
0
-1
0
0
0
0
0
0
-5
-8
24
-28
20
5
2
0
18
0
0
0
0
0
0
0
0
1
-3
-2
-23
9
-34
-19
5
-4
0
0
0
0
0
0
0
0
0
1
7
-49
15
11
27
-26
5
0
0
0
0
0
0
0
0
0
-13
-4
-37
53
-15
23
11
23
0
0
0
0
0
0
0
0
0
0
0
0
17
14
68
-15
16
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-25
5
39
-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
9
-16
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
18
0
1
1
0
0
0
0
0
0
0
0
0
0
-2
-3
14
-50
0
-6
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
-18
80
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
5
-2
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
54
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
4
0
0
0
0
0
0
0
0
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
11
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
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
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
10
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
-11
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
-14
3
-23
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-37
26
-19
-10
0
0
7
0
0
0
0
0
0
0
0
-4
14
-57
-25
63
-13
-11
-15
39
0
0
0
0
0
0
0
0
2
-5
19
23
-60
-3
5
10
-60
0
0
0
0
0
0
0
0
0
-2
9
6
-108
-71
4
15
22
0
0
0
0
0
0
0
0
0
0
0
1
18
21
79
-25
-38
0
0
0
0
0
0
0
0
0
0
0
3
-5
16
35
23
-52
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-56
-47
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
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
-6
-2
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
8
5
0
1
-9
0
0
0
0
0
0
0
0
0
8
-50
-34
-21
23
-7
-1
-2
0
0
0
0
0
0
0
0
0
-6
1
8
11
33
46
-21
0
0
0
0
0
0
0
0
0
0
0
-15
1
-4
-23
66
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
5
8
0
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
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
-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
14
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
-2
-24
6
-1
-1
-1
0
0
0
0
0
0
0
0
0
4
0
-5
5
-23
13
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
14
-4
-4
0
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
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-5
0
-1
0
0
0
0
0
0
0
0
0
2
-8
2
26
-46
-5
4
0
0
0
0
0
0
0
0
0
0
2
-3
39
1
-13
11
1
6
0
0
0
0
0
0
0
0
0
0
13
-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
-11
8
20
-17
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
-10
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
-14
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
9
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
11
4
-2
-2
1
0
0
0
0
0
0
0
0
2
-1
4
-3
-10
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
-24
4
0
4
0
-1
0
0
0
0
0
0
0
0
0
2
-6
0
0
-11
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
16
-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
-11
0
-6
-9
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
27
17
17
-15
2
-7
-4
0
0
0
0
0
0
0
0
0
4
-11
39
15
34
6
11
5
2
0
0
0
0
0
0
0
0
-3
-3
-20
-5
8
32
-15
11
-1
0
0
0
0
0
0
0
0
-1
-9
0
25
2
-24
19
7
-9
0
0
0
0
0
0
0
0
0
3
0
-3
0
1
9
0
2
-1
0
0
0
0
0
0
0
0
0
1
14
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
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
2
2
20
-33
47
-13
21
-1
0
0
0
0
0
0
0
0
0
0
24
2
-30
-8
-35
4
0
-3
0
0
0
0
0
0
0
0
5
-1
-23
-8
-22
53
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
-14
34
0
6
0
0
0
0
0
0
0
0
0
0
4
7
20
-5
-5
21
0
-1
0
0
0
0
0
0
0
0
0
-13
0
2
15
14
-4
0
-2
0
0
0
0
0
0
0
0
2
-1
0
-4
-11
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
-17
4
29
0
13
-2
-6
2
0
0
0
0
0
0
0
0
0
-1
62
-1
1
0
2
-6
-2
-1
0
0
0
0
0
0
0
0
-1
3
0
3
15
-2
-7
1
-7
0
0
0
0
0
0
0
0
0
-1
0
1
0
-15
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
17
22
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
-23
-6
7
-9
-5
-27
17
4
0
0
0
0
0
0
0
0
5
14
1
17
4
-14
3
6
0
0
0
0
0
0
0
0
0
3
5
-3
0
-4
0
10
-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
33
-6
-17
2
0
-1
0
0
0
0
0
0
0
0
10
9
-7
29
-5
-3
-2
-5
0
0
0
0
0
0
0
0
0
-3
-27
-4
8
0
-6
-3
1
-5
0
0
0
0
0
0
0
0
-2
3
-5
0
0
-14
-1
-2
0
0
0
0
0
0
0
0
0
1
10
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
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
-1
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
9
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
-9
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
-13
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
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
20
24
-1
-4
10
-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
11
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
-11
6
-11
11
14
2
0
0
0
0
0
0
0
0
0
-3
43
57
9
26
11
-20
-8
-5
0
0
0
0
0
0
0
0
2
0
-5
0
-6
-20
21
4
3
0
0
0
0
0
0
0
0
0
20
0
-3
2
15
-26
4
-5
0
0
0
0
0
0
0
0
0
-6
0
-13
-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
-23
-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
11
51
-6
0
0
0
0
0
0
0
0
0
0
0
-5
-29
45
-34
5
14
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
-11
20
0
-2
0
-1
3
0
0
0
0
0
0
0
0
0
0
15
2
-2
0
-1
0
-1
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
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
10
0
0
0
0
0
0
0
0
0
0
0
5
-5
2
-9
-36
-3
-2
0
0
0
0
0
0
0
0
0
0
14
-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
-25
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
18
-5
-9
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
18
0
0
0
0
0
0
0
0
0
0
0
10
2
4
14
3
26
-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
-11
17
-11
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
-13
53
18
-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
-13
0
8
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
-13
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-5
0
17
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
18
-3
-3
-2
13
-9
19
0
0
0
0
0
0
0
0
0
0
-13
-24
0
8
6
5
0
0
0
0
0
0
0
0
0
0
1
-3
33
18
2
-8
0
0
0
0
0
0
0
0
0
0
0
20
1
-34
-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
15
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-5
16
0
0
0
0
0
0
0
0
0
0
3
-10
-13
41
-1
-21
-21
3
0
0
0
0
0
0
0
0
2
0
23
-22
-19
-24
87
-37
0
0
0
0
0
0
0
0
0
-2
1
18
3
-27
6
-55
6
-2
0
0
0
0
0
0
0
0
0
-6
-2
-54
-4
4
9
-6
14
0
0
0
0
0
0
0
0
1
-16
-1
-9
-21
1
-2
0
1
0
0
0
0
0
0
0
0
0
-13
-2
46
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
24
-13
-26
0
0
0
0
0
0
0
0
0
2
-4
24
5
-3
-24
39
0
-2
0
0
0
0
0
0
0
0
1
6
27
3
-9
13
0
-8
6
0
0
0
0
0
0
0
0
-2
29
0
-17
-11
9
26
3
2
0
0
0
0
0
0
0
0
0
-16
-3
-16
21
0
3
0
0
0
0
0
0
0
0
0
0
0
7
-5
-48
3
2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
17
-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
-25
0
7
1
0
0
0
0
0
0
0
0
0
0
0
1
3
3
-13
-8
2
0
0
0
0
0
0
0
0
0
0
-14
-23
0
-1
-4
7
0
-4
0
0
0
0
0
0
0
0
0
1
1
-33
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
-14
-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
10
-39
0
0
0
0
0
0
0
0
0
0
-6
-5
-1
23
2
-5
-1
-9
0
0
0
0
0
0
0
0
0
0
-5
-1
0
8
-20
-4
0
0
0
0
0
0
0
0
0
0
1
24
-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
14
2
11
0
0
0
0
0
0
0
0
0
-2
0
15
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
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
0
0
0
0
0
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
-1
0
0
-1
-6
-6
39
-3
0
0
0
0
0
0
0
0
0
-1
-1
25
-1
3
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
13
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
-13
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-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
-16
27
3
0
0
0
0
0
0
0
0
0
0
-2
-1
0
25
2
-7
11
0
0
0
0
0
0
0
0
0
0
0
14
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
27
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
-9
0
-3
1
-10
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
-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
0
0
-1
0
10
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
-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
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
1
-3
18
-6
-13
-13
0
0
0
0
0
0
0
0
0
4
-2
6
-5
3
-13
-4
0
0
0
0
0
0
0
0
0
0
-6
0
-24
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
-3
2
-24
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
24
-2
9
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
-18
8
26
0
0
0
0
0
0
0
0
0
0
45
0
0
-4
-35
-15
6
-3
4
0
0
0
0
0
0
0
0
50
-6
11
-23
44
-26
-5
-17
0
0
0
0
0
0
0
0
-5
4
0
-43
4
-26
-31
61
-3
0
0
0
0
0
0
0
0
-4
1
30
9
30
-7
-21
2
5
1
0
0
0
0
0
0
0
-2
54
7
55
-17
10
14
0
3
0
0
0
0
0
0
0
0
3
10
37
32
0
-1
6
0
0
0
0
0
0
0
0
0
0
2
-124
-15
62
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
18
-27
0
1
0
0
0
0
0
0
0
0
1
0
0
8
-1
7
17
0
0
0
0
0
0
0
0
0
0
6
6
-5
-31
-20
-15
-14
0
1
0
0
0
0
0
0
0
0
-1
13
-5
30
51
-22
-4
6
0
0
0
0
0
0
0
0
0
-25
0
-41
-5
9
-1
0
-1
0
0
0
0
0
0
0
0
1
1
2
3
11
5
0
0
0
0
0
0
0
0
0
0
0
1
-55
-16
53
2
2
0
0
0
0
0
0
0
0
0
0
0
0
33
-18
14
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
-11
-3
0
0
0
0
0
0
0
0
0
0
-1
-15
6
17
7
-41
6
0
0
0
0
0
0
0
0
-2
-2
5
-5
1
-7
-14
-1
-1
0
0
0
0
0
0
0
0
0
-23
-6
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
1
14
0
0
0
0
0
0
0
0
0
0
0
-2
1
68
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
-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
2
0
-6
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
21
-14
-4
0
0
0
0
0
0
0
0
0
0
-1
4
-7
14
-4
-5
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
-5
-1
26
0
0
0
0
0
0
0
0
0
0
3
2
36
0
43
6
-8
1
0
0
0
0
0
0
0
0
0
-2
-15
1
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
-43
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
23
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
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
14
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
43
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
9
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
1
0
0
0
0
0
0
0
0
0
0
1
-1
0
19
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-7
-5
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
1
0
3
0
2
0
0
0
0
0
0
0
0
0
1
0
0
-3
10
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
27
43
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
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
26
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
-4
0
0
0
0
0
0
0
0
0
0
-2
0
-5
6
1
14
4
-3
0
0
0
0
0
0
0
0
0
-19
-7
-1
0
-2
1
1
0
0
0
0
0
0
0
0
0
0
11
-6
-17
-16
5
-4
1
0
0
0
0
0
0
0
0
0
0
0
2
-3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
11
-2
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
36
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-9
-72
-16
-34
0
0
0
0
0
0
0
0
0
0
10
-2
-14
46
24
-121
14
1
0
0
0
0
0
0
0
0
-1
26
29
13
-4
-92
19
57
-6
0
0
0
0
0
0
0
0
-1
64
9
-24
52
-23
68
36
19
-2
0
0
0
0
0
0
0
-3
-65
64
6
5
19
-14
1
-7
0
0
0
0
0
0
0
0
-3
0
-13
15
64
-7
-18
5
-9
0
0
0
0
0
0
0
0
0
92
-2
-2
10
33
-2
0
0
0
0
0
0
0
0
0
0
9
-34
-35
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-34
3
0
-1
0
0
0
0
0
0
0
1
-24
2
4
13
10
-21
-25
-2
0
0
0
0
0
0
0
0
0
-17
9
24
-13
-22
0
17
18
0
0
0
0
0
0
0
0
0
-10
-24
30
41
37
19
-26
-1
0
0
0
0
0
0
0
0
0
33
19
-46
-50
6
-8
-3
-8
0
0
0
0
0
0
0
0
0
2
0
30
-5
48
46
0
1
0
0
0
0
0
0
0
0
-9
14
23
37
-63
10
-3
-6
0
0
0
0
0
0
0
0
0
0
-76
19
-29
17
-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
-29
67
0
-6
0
0
0
0
0
0
0
0
0
0
1
-4
-14
-11
-9
-6
0
0
0
0
0
0
0
0
0
4
0
-17
-10
-6
39
-32
0
0
0
0
0
0
0
0
0
-2
1
-7
-3
-25
0
-19
4
-1
0
0
0
0
0
0
0
0
0
-31
-8
30
0
-2
-6
-1
0
0
0
0
0
0
0
0
0
0
-30
-99
0
33
-1
-2
0
0
0
0
0
0
0
0
0
0
-7
-55
0
-6
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
16
0
0
0
0
0
0
0
0
0
0
0
0
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
19
31
6
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-6
7
27
-9
0
0
0
0
0
0
0
0
0
3
0
-3
-5
-9
0
7
1
0
0
0
0
0
0
0
0
0
13
-3
-18
0
-2
4
0
-9
0
0
0
0
0
0
0
0
0
0
50
-14
0
1
-2
0
0
0
0
0
0
0
0
0
0
1
-5
14
-7
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
-4
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
2
-26
6
-4
0
0
0
0
0
0
0
0
0
0
1
0
-27
0
-2
4
-9
0
0
0
0
0
0
0
0
0
2
0
-20
25
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
-64
35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
19
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
-9
4
2
0
0
0
0
0
0
0
0
0
1
2
9
-1
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
-11
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
21
1
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
48
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
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
14
6
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-4
7
45
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
-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
26
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
-9
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
-53
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
3
1
0
0
0
0
0
0
0
0
0
8
0
1
-2
1
-6
-27
6
0
0
0
0
0
0
0
0
0
7
0
0
0
-9
25
-2
0
0
0
0
0
0
0
0
0
0
-4
6
24
19
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-23
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-10
7
46
46
0
0
0
0
0
0
0
0
0
0
1
19
-9
-9
-53
-55
-56
25
0
0
0
0
0
0
0
0
0
-6
-3
-2
29
49
151
-58
-18
5
0
0
0
0
0
0
0
0
-1
-23
-45
-34
66
29
15
-13
0
0
0
0
0
0
0
0
0
93
-9
82
-9
-10
-23
-2
0
0
0
0
0
0
0
0
0
0
-12
-29
9
-9
-7
23
-15
-3
0
0
0
0
0
0
0
0
-3
0
40
-62
-77
-26
-4
2
0
0
0
0
0
0
0
0
0
1
40
21
-6
-15
1
0
2
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
-1
1
-2
1
-35
0
0
0
0
0
0
0
0
0
0
-6
4
2
14
-5
19
17
-22
0
0
0
0
0
0
0
0
-1
-1
-5
-7
-7
35
-14
65
16
0
0
0
0
0
0
0
0
0
-21
0
-3
-13
-5
-18
41
-11
0
0
0
0
0
0
0
0
0
-13
35
71
43
47
-50
-10
21
0
0
0
0
0
0
0
0
0
14
23
-17
33
-23
0
0
0
0
0
0
0
0
0
0
0
0
65
0
18
4
-2
-10
5
0
0
0
0
0
0
0
0
0
0
-5
15
37
19
-3
-4
-6
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
1
-13
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
-6
-33
-18
-2
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
-3
9
1
0
0
0
0
0
0
0
0
0
18
10
54
-24
2
-3
-1
10
0
0
0
0
0
0
0
0
0
0
11
47
10
-2
20
-1
0
0
0
0
0
0
0
0
0
0
-10
18
7
-39
11
6
0
0
0
0
0
0
0
0
0
0
0
-51
-2
0
14
-5
0
1
0
0
0
0
0
0
0
0
0
0
95
0
-11
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
-13
-24
0
1
0
0
0
0
0
0
0
0
1
17
0
-1
-13
20
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
13
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
26
-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
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
0
0
0
0
0
10
-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
0
0
0
3
13
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
-29
-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
-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
-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
10
0
0
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
27
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
3
43
11
-1
0
0
0
0
0
0
0
0
7
0
0
0
2
66
5
-5
0
0
0
0
0
0
0
0
0
17
1
17
6
16
-8
-1
0
0
0
0
0
0
0
0
0
0
-3
3
-7
-1
0
9
-1
0
0
0
0
0
0
0
0
0
0
-3
4
5
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-1
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
9
-14
3
0
0
0
0
0
0
0
0
0
0
2
5
-11
46
8
17
6
4
5
0
0
0
0
0
0
0
0
9
-3
-9
-2
-75
14
-32
-45
0
0
0
0
0
0
0
0
0
-56
-4
-7
4
75
-13
15
36
0
0
0
0
0
0
0
0
-1
-15
-23
-21
13
3
68
58
-4
-1
0
0
0
0
0
0
0
0
47
94
-41
70
5
9
-3
-6
0
0
0
0
0
0
0
0
1
-1
16
-77
-7
33
8
-1
0
0
0
0
0
0
0
0
0
3
0
-2
80
14
-6
13
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
1
18
0
0
0
0
0
0
0
0
0
0
5
3
0
-1
15
-45
0
5
5
0
0
0
0
0
0
0
0
0
-1
-2
2
48
6
-22
-10
0
0
0
0
0
0
0
0
0
0
11
17
30
6
41
0
0
0
0
0
0
0
0
0
0
0
-1
15
-34
-25
-10
2
0
0
0
0
0
0
0
0
0
0
0
-14
-4
44
-74
24
-5
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-45
-29
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
0
0
0
20
-17
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
16
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-7
-20
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
20
8
-11
-3
0
0
0
0
0
0
0
0
0
0
0
-5
16
6
4
1
4
0
0
0
0
0
0
0
0
0
0
0
8
-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
-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
27
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
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-4
-8
-1
0
0
0
0
0
0
0
0
1
0
0
4
-1
11
5
-2
0
0
0
0
0
0
0
0
0
1
-2
-25
7
2
4
-9
0
0
0
0
0
0
0
0
0
0
-1
24
-6
5
2
-6
0
0
0
0
0
0
0
0
0
0
0
9
-5
-12
16
19
-1
0
0
0
0
0
0
0
0
0
0
0
4
45
54
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
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
18
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-18
1
-3
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
34
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
4
-73
-47
-5
0
0
0
0
0
0
0
0
0
0
0
-52
14
-7
-26
2
7
-8
0
-2
0
0
0
0
0
0
0
0
44
47
-19
-44
31
33
-1
-2
-109
0
0
0
0
0
0
0
0
3
12
49
53
37
-32
29
18
-6
0
0
0
0
0
0
0
0
-3
40
-51
-29
13
33
6
3
3
0
0
0
0
0
0
0
0
-35
35
-88
57
5
-10
82
0
0
0
0
0
0
0
0
0
0
0
53
-81
-11
41
4
0
0
7
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-25
0
37
6
4
-71
-89
-4
0
0
0
0
0
0
0
0
0
-17
56
6
1
-4
-36
-32
0
19
0
0
0
0
0
0
0
0
61
60
19
-3
-16
-41
-6
-50
-118
57
0
0
0
0
0
0
0
-6
14
-31
8
13
34
-90
-70
-131
-73
0
0
0
0
0
0
0
-105
5
-9
-58
-11
-9
22
35
-52
-52
0
0
0
0
0
0
0
3
-9
73
99
8
-52
34
-7
105
-177
0
0
0
0
0
0
0
-13
6
-59
-16
49
-24
-5
6
6
-2
0
0
0
0
0
0
0
0
-5
-43
-27
26
42
0
0
-32
-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
-1
14
0
4
30
-48
-126
-13
0
0
-2
0
0
0
0
0
0
4
-59
14
-51
-77
-122
-40
0
-35
0
-8
0
0
0
0
0
0
2
1
19
-62
-52
14
5
-50
-32
-44
-16
0
0
0
0
0
0
-13
-55
9
-13
32
23
-39
-113
-38
-34
1
0
0
0
0
0
0
-1
-42
-5
-33
17
-54
-17
52
-14
-34
14
0
0
0
0
0
0
-3
-46
83
-12
54
-17
79
-102
47
-11
25
0
0
0
0
0
0
0
-151
97
26
7
-14
-54
-70
-20
45
0
0
0
0
0
0
0
0
-53
33
44
35
16
-24
-2
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
71
11
22
0
-22
-75
-81
16
0
0
-2
0
0
0
0
0
0
33
28
22
-41
-24
20
54
0
8
0
29
0
0
0
0
0
0
-16
-1
-75
-58
-23
-53
-62
-7
-140
-33
41
0
0
0
0
0
0
46
40
-28
-45
-20
-21
28
33
34
-116
73
0
0
0
0
0
0
11
-62
-5
59
29
-12
-41
33
37
-88
4
0
0
0
0
0
0
1
35
23
-43
-48
1
4
33
4
31
26
0
0
0
0
0
0
0
37
61
53
-5
59
-89
41
-16
2
0
0
0
0
0
0
0
0
0
14
10
-2
-20
33
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-81
-24
0
-91
-138
0
0
-7
0
0
0
0
0
0
0
2
34
5
5
-54
52
34
0
-8
0
-8
-1
0
0
0
0
0
0
23
8
-12
-59
-73
35
-31
-52
-63
33
-9
0
0
0
0
0
66
54
-3
53
-72
-53
-73
-58
-119
14
6
0
0
0
0
0
0
-27
93
-34
71
-123
24
-10
57
39
-32
-24
-1
0
0
0
0
0
-4
-4
5
2
-164
-26
-66
-33
35
24
0
-4
0
0
0
0
0
0
7
10
48
-71
5
2
34
-74
3
0
0
0
0
0
0
0
0
7
15
-60
14
29
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
4
-109
81
23
0
-88
-53
0
0
0
0
0
0
0
0
0
-2
-14
36
94
48
-8
2
0
0
0
6
0
0
0
0
0
0
0
68
-118
61
9
-40
-51
8
27
-83
14
0
0
0
0
0
0
0
43
-8
78
-21
-65
-14
1
4
-36
0
0
0
0
0
0
0
-34
34
31
49
-67
64
35
-19
5
60
6
0
0
0
0
0
0
0
-79
-125
13
-80
52
-41
1
2
-7
0
0
0
0
0
0
0
0
0
58
58
-16
-43
9
-31
-5
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
1
-21
0
-13
1
0
-66
0
-8
2
0
0
0
0
0
0
0
8
-53
54
-59
74
5
0
0
0
5
-1
0
0
0
0
0
0
-14
79
-33
-6
-132
-6
0
-2
3
32
0
0
0
0
0
0
0
4
9
18
91
2
-79
8
0
-18
0
0
0
0
0
0
0
0
0
54
-18
-71
60
7
5
0
5
0
0
0
0
0
0
0
0
-18
14
68
-26
25
-14
0
-4
-22
0
0
0
0
0
0
0
0
0
-5
-3
17
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
14
7
15
0
1
1
0
-21
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
-13
-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
21
55
66
-15
-63
7
0
0
0
0
0
0
0
0
0
0
0
27
-43
43
69
73
10
3
0
20
0
0
0
0
0
0
0
0
26
15
79
-21
-85
5
-4
8
-40
0
0
0
0
0
0
0
0
77
81
7
-3
44
9
3
17
-12
0
0
0
0
0
0
0
0
-6
10
-48
17
23
58
15
-5
-70
0
0
0
0
0
0
0
0
32
-5
2
-16
21
-26
49
3
-28
0
0
0
0
0
0
0
0
-44
-13
-32
59
80
0
16
22
-26
0
0
0
0
0
0
0
0
0
1
2
22
0
5
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
-33
93
-38
-68
-50
88
111
-5
0
-8
0
0
0
0
0
0
0
14
8
53
-40
-42
-11
-13
0
-37
0
0
0
0
0
0
0
0
-4
67
-7
52
-56
-50
32
2
1
72
0
0
0
0
0
0
0
17
-14
59
29
-61
18
8
-127
-28
-1
0
0
0
0
0
0
0
-3
-11
-9
13
53
69
-6
66
128
-79
0
0
0
0
0
0
0
43
22
-20
-37
-27
28
-22
62
11
22
0
0
0
0
0
0
0
-27
23
-3
-30
52
26
-3
-6
-14
5
0
0
0
0
0
0
0
0
-9
-15
-4
-5
-45
28
-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
-30
39
33
-90
16
-131
-5
0
43
33
0
0
0
0
0
0
43
1
64
-11
-28
-79
-25
0
7
0
46
0
0
0
0
0
0
-64
-28
-26
29
-56
-55
-3
-44
5
8
30
0
0
0
0
0
0
92
-25
-3
-15
40
-21
63
-88
3
22
-43
0
0
0
0
0
0
44
-62
34
-2
-43
-48
-17
-54
56
-112
5
0
0
0
0
0
0
0
5
-68
24
39
1
-10
-24
-134
1
-2
0
0
0
0
0
0
-15
18
-48
21
-28
-24
-52
-14
76
-25
0
0
0
0
0
0
0
0
-32
-14
24
73
71
-5
-50
5
-10
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-60
-24
62
30
51
20
-166
-29
0
0
24
0
0
0
0
0
0
-105
-23
41
-49
-40
-76
-13
0
-26
0
18
0
0
0
0
0
0
-12
9
-3
-5
-54
-39
-43
-54
127
-84
67
5
0
0
0
0
0
7
-56
22
-33
25
16
19
-64
69
-76
8
2
0
0
0
0
0
36
20
-15
66
-43
-14
57
-6
-2
20
-48
0
0
0
0
0
0
-1
-34
-13
-15
83
96
73
5
43
77
-8
0
0
0
0
0
0
-10
-13
35
16
69
45
-57
25
-49
-14
5
-1
0
0
0
0
0
0
-2
9
27
0
41
-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
26
28
-27
-30
-70
4
-65
-21
0
2
8
0
0
0
0
0
0
27
-166
-2
50
9
-61
2
0
-28
0
-77
9
0
0
0
0
0
-6
5
-6
73
-95
62
-43
-69
5
-31
86
13
0
0
0
0
0
16
-3
-12
14
-30
-59
-30
-13
-43
-68
-2
-35
0
0
0
0
0
-23
41
-49
-53
-48
-36
-31
70
24
-20
4
0
0
0
0
0
0
0
130
-34
-90
-11
-35
-25
24
7
131
-20
-6
0
0
0
0
0
0
-33
53
56
13
29
-27
-4
4
31
0
6
0
0
0
0
0
0
-3
20
49
2
-24
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
46
7
-26
86
-12
1
2
0
6
1
0
0
0
0
0
0
1
4
-155
-13
8
-5
-17
0
-109
0
-105
0
0
0
0
0
0
32
14
26
98
35
-69
-62
53
121
-61
-4
1
0
0
0
0
0
21
8
42
-20
65
38
89
5
-50
-5
14
0
2
0
0
0
0
-19
-10
9
-22
-39
71
-20
-7
-43
39
39
-2
0
0
0
0
0
0
29
20
74
-1
-24
12
-21
27
37
0
0
0
0
0
0
0
0
-20
-46
46
-91
-18
-2
0
0
1
0
0
0
0
0
0
0
0
0
11
-29
-6
-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
11
5
7
54
34
44
1
0
0
14
8
0
0
0
0
0
0
18
-50
21
9
-254
-63
0
-1
0
4
17
0
0
0
0
0
0
11
-9
17
-2
71
-141
-2
-43
-96
10
19
0
0
0
0
0
0
33
-39
94
14
-75
-12
3
29
-12
4
0
0
0
0
0
0
0
-36
-102
-8
-24
-8
-28
-3
-7
-46
-3
0
0
0
0
0
0
0
-16
-9
-11
109
-33
18
-8
-5
18
-9
0
0
0
0
0
0
0
0
-24
53
46
3
7
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-34
-4
-22
-4
0
0
0
0
0
0
0
0
0
0
0
-3
14
5
46
-1
0
-2
0
0
-6
0
0
0
0
0
0
0
15
-52
-17
41
-77
1
-26
3
0
0
0
0
0
0
0
0
-14
8
14
18
-45
0
-3
7
-6
-2
0
0
0
0
0
0
0
0
9
20
5
0
-14
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
-48
27
9
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
6
-4
16
0
-10
0
0
0
0
0
0
0
0
0
4
-2
1
-14
1
0
3
0
3
-1
0
0
0
0
0
0
0
-3
-1
2
2
-17
2
-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
19
11
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
7
14
-36
0
-1
0
-1
1
0
0
0
0
0
0
0
1
8
-56
-47
-49
-19
-2
2
-32
11
0
0
0
0
0
0
0
-1
-14
4
-14
10
-33
10
0
1
0
0
0
0
0
0
0
0
1
-25
-2
3
-29
34
0
0
-1
3
0
0
0
0
0
0
0
0
1
-4
-25
-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
9
0
0
0
0
0
0
0
0
0
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
-13
-11
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
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
1
24
14
-70
25
36
0
0
0
0
0
0
0
0
0
0
0
19
-6
75
25
89
-7
-37
0
-25
0
0
0
0
0
0
0
0
-65
-24
74
44
-40
-26
35
-4
22
0
0
0
0
0
0
0
0
28
47
-3
72
98
38
-156
76
46
0
0
0
0
0
0
0
0
53
-36
16
-12
-23
109
18
-24
62
0
0
0
0
0
0
0
0
-11
168
28
26
85
-58
7
0
-17
0
0
0
0
0
0
0
0
0
-9
20
2
21
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
-35
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
48
-4
-16
-34
-43
5
-101
17
0
-2
0
0
0
0
0
0
0
-45
-23
14
21
33
-10
-84
0
107
0
0
0
0
0
0
0
0
9
55
76
-51
-77
14
-109
-80
154
-116
0
0
0
0
0
0
0
14
77
46
-52
-2
-77
41
24
-1
-27
0
0
0
0
0
0
0
53
-46
-41
-12
-53
-19
-50
-97
-4
-128
0
0
0
0
0
0
0
1
-35
-44
-60
19
-5
30
-34
102
-28
0
0
0
0
0
0
0
0
58
-44
-3
-136
-97
-14
-4
-49
-3
0
0
0
0
0
0
0
0
10
-64
16
-47
-9
5
3
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
5
1
-65
14
17
-66
-79
-48
0
61
1
0
0
0
0
0
0
-67
36
60
-28
-2
-12
-85
0
19
0
65
0
0
0
0
0
0
-42
76
78
2
-42
29
-4
55
32
-94
37
0
0
0
0
0
0
-34
51
-8
16
38
-30
-34
-80
-23
30
-3
0
0
0
0
0
0
-57
17
7
-5
35
14
-80
-112
-71
1
-6
0
0
0
0
0
0
0
-5
18
-28
60
-69
24
-46
8
-87
2
0
0
0
0
0
0
0
-91
6
61
88
23
-49
-133
38
-8
0
0
0
0
0
0
0
0
13
41
-28
28
72
-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
30
-9
11
-7
-16
36
-4
-5
0
-5
-11
0
0
0
0
0
0
27
-47
120
-45
42
42
-89
0
-8
0
23
1
0
0
0
0
0
-60
6
-5
30
-57
-7
77
30
71
39
-58
-3
0
0
0
0
0
-55
-8
-5
-24
-7
35
25
12
-22
-88
-75
-1
0
0
0
0
0
-12
-52
-5
-14
22
33
111
35
19
51
-31
0
0
0
0
0
0
-3
-109
-48
5
34
141
-46
-5
-36
54
0
0
0
0
0
0
0
0
36
64
-19
-44
85
24
-88
5
0
0
0
0
0
0
0
0
0
0
-17
21
-6
9
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
2
87
-102
-1
-23
8
-1
-3
0
4
-1
0
0
0
0
0
0
86
-8
-53
-36
-16
-94
-46
0
-11
0
14
-13
0
0
0
0
0
25
7
-50
-21
-17
16
-7
75
-90
-2
5
-35
0
0
0
0
0
-82
16
-24
-44
32
12
-59
45
61
39
0
-6
0
0
0
0
0
3
-90
24
-7
-59
-3
-62
-18
33
19
-8
-3
0
0
0
0
0
3
59
-119
11
-36
-17
-134
-14
-55
-77
0
0
0
0
0
0
0
0
17
-4
-13
16
4
-12
20
6
-2
0
0
0
0
0
0
0
0
0
-5
-45
9
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
1
54
-146
-87
-29
-79
15
-15
0
-3
18
0
0
0
0
0
0
5
-27
-41
58
-38
9
68
0
1
0
14
0
0
0
0
0
0
-68
78
-53
-77
-115
54
15
-25
55
56
6
1
0
0
0
0
0
126
82
23
26
-61
-82
-12
33
-80
30
10
1
0
0
0
0
0
-17
162
-68
44
-34
-10
-69
-64
-11
-28
2
2
-2
0
0
0
0
0
-16
45
25
-65
64
2
22
-2
14
-3
0
0
0
0
0
0
0
5
44
-58
1
2
-8
1
-4
14
0
0
0
0
0
0
0
0
3
0
36
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
-18
-113
-30
-53
0
-33
11
0
-1
-10
0
0
0
0
0
0
0
-39
16
-87
-1
-69
-53
0
7
0
-6
6
0
0
0
0
0
0
30
59
108
8
-44
7
-53
-22
8
-36
1
0
0
0
0
0
0
2
68
-49
32
43
94
33
34
-18
-3
0
-1
0
0
0
0
0
-27
-5
-102
-73
7
97
6
-53
8
0
1
0
0
0
0
0
0
-5
32
-50
23
-23
-22
25
0
-1
0
0
0
0
0
0
0
0
0
-5
27
-11
-11
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
33
0
-1
0
1
-4
0
0
0
0
0
0
0
0
14
22
-12
-51
-5
0
2
0
2
0
0
0
0
0
0
1
2
44
15
20
-76
-43
2
-20
-7
-36
0
0
0
0
0
0
-11
1
-24
-69
-30
8
-77
17
16
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
-14
-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
-10
10
39
7
-6
-1
9
0
0
0
1
0
0
0
0
0
0
-18
23
-1
5
131
-10
-11
0
-5
0
-1
0
0
0
0
0
0
1
-44
54
79
-18
-11
-6
-31
3
-23
3
0
0
0
0
0
0
43
26
13
-82
32
-7
36
-24
31
-7
-2
3
0
0
0
0
0
0
-33
0
20
34
3
4
-17
-5
-3
0
0
0
0
0
0
0
0
-10
1
-3
19
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
-62
38
3
-48
-37
8
0
-102
3
0
0
0
0
0
0
0
63
-101
32
-33
20
-45
0
-1
0
1
0
2
0
0
0
0
0
-64
-7
7
1
38
80
34
-53
-31
13
0
3
0
0
0
0
0
-16
-90
-24
10
-74
-5
-43
9
6
-25
-2
0
0
0
0
0
0
-23
47
-14
-33
-53
-33
49
-25
25
0
0
0
0
0
0
0
0
-8
-18
0
54
-80
-1
1
4
-8
3
0
0
0
0
0
0
0
0
26
1
-64
4
11
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
10
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
-18
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
10
111
-31
-70
13
0
0
0
0
0
0
0
0
0
0
0
22
100
-66
84
15
-101
14
0
-45
0
0
0
0
0
0
0
0
21
-5
-64
-62
-44
5
0
21
50
0
0
0
0
0
0
0
0
-53
90
-33
57
92
3
21
-6
8
0
0
0
0
0
0
0
0
7
-40
22
50
72
-58
14
-23
-24
0
0
0
0
0
0
0
0
5
-34
19
34
32
-71
48
0
1
0
0
0
0
0
0
0
0
-10
21
15
-9
-33
0
0
0
8
0
0
0
0
0
0
0
0
0
-30
9
21
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
58
16
1
-52
-22
-20
143
-6
0
-3
0
0
0
0
0
0
0
54
-81
87
35
-24
-82
-19
0
57
0
0
0
0
0
0
0
0
-107
67
42
22
-65
30
27
-24
101
76
0
0
0
0
0
0
0
84
76
63
25
-22
-22
-42
-90
-13
-43
0
0
0
0
0
0
0
-28
15
-35
26
-67
29
-51
-42
43
-63
0
0
0
0
0
0
0
48
-65
-65
-106
-40
-65
-29
22
-147
-8
0
0
0
0
0
0
0
0
22
-13
-23
-24
-22
-63
-30
-1
-7
0
0
0
0
0
0
0
0
44
-67
-155
-31
-1
-4
-5
-2
0
0
0
0
0
0
0
0
0
36
8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
66
32
-92
-29
83
2
0
5
-2
0
0
0
0
0
0
8
-107
73
68
-34
-113
8
0
-1
0
45
0
0
0
0
0
0
-18
14
-42
47
3
6
-101
-24
90
-7
30
0
0
0
0
0
0
-51
-18
1
-63
-48
135
18
-35
-91
96
1
0
0
0
0
0
0
-73
-47
14
41
20
-70
-13
-15
-98
24
-1
0
0
0
0
0
0
0
-78
-16
-96
-48
5
79
-44
-66
-13
1
0
0
0
0
0
0
-22
-53
27
-130
-90
-155
80
-2
7
-16
-1
0
0
0
0
0
0
0
-10
-109
-54
7
-24
3
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
7
-45
-15
80
83
88
-117
5
0
1
6
1
0
0
0
0
0
-49
-53
-31
7
46
42
153
0
4
0
-45
0
0
0
0
0
0
-11
-49
24
15
47
47
-8
-106
37
47
-31
2
0
0
0
0
0
34
-35
89
83
-6
-61
-46
105
14
13
23
7
0
0
0
0
0
14
16
9
-12
71
-32
18
-65
51
-74
6
0
0
0
0
0
0
5
-1
-38
-73
-86
-55
15
-48
-80
-36
3
0
0
0
0
0
0
0
-8
-135
51
-3
62
-32
-16
3
0
-1
0
0
0
0
0
0
0
0
-7
-3
2
5
-11
-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
-25
1
25
0
14
-36
7
0
-2
6
0
0
0
0
0
0
-4
6
-61
33
-39
-28
-3
0
29
0
24
0
0
0
0
0
0
-32
-19
-5
41
17
-23
12
79
-3
55
-2
-24
0
0
0
0
0
-8
-104
-69
60
-80
63
-17
-24
71
-108
25
0
0
0
0
0
0
-3
-99
18
-20
-90
20
-26
-101
-6
-23
-1
0
0
0
0
0
0
0
-40
-38
68
-28
13
-34
-77
-39
-29
-1
0
0
0
0
0
0
0
2
-106
-47
-188
5
-9
-33
31
1
0
0
0
0
0
0
0
0
-15
-31
-60
30
-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
4
76
74
47
-15
38
19
1
0
0
3
0
0
0
0
0
0
0
7
3
-89
68
-64
-47
0
6
0
-18
0
0
0
0
0
0
10
-3
53
-42
37
8
-27
77
20
-5
-25
0
0
0
0
0
0
-44
151
-8
23
-122
-3
32
-33
-104
16
3
-3
0
0
0
0
0
-2
56
-50
17
-63
-59
-40
-48
13
-35
-3
1
0
0
0
0
0
0
-37
-2
-65
10
14
91
-31
-45
-2
-7
0
0
0
0
0
0
0
6
-47
-12
-41
58
-14
45
1
0
7
0
0
0
0
0
0
0
-4
-19
48
-26
22
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
-23
-32
-17
-5
11
0
0
0
0
0
0
0
0
0
0
0
5
24
-5
-14
11
36
0
0
0
3
-1
0
0
0
0
0
0
-24
-32
-25
82
74
17
-26
17
-90
4
-7
0
0
0
0
0
0
-43
-77
21
64
-3
-1
-26
-5
-24
-2
0
0
0
0
0
0
0
0
64
-14
-2
55
22
-39
-1
-35
0
3
0
0
0
0
0
0
53
0
-16
-35
58
14
-4
1
3
4
0
0
0
0
0
0
0
0
4
-18
7
-18
-11
9
0
0
0
0
0
0
0
0
0
0
0
-4
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
-3
-43
-8
2
0
-5
0
0
0
0
0
0
0
0
0
0
1
16
-7
-22
-29
9
46
0
0
0
-7
0
0
0
0
0
0
-14
-6
-78
4
-21
-32
-11
3
-14
11
0
0
1
0
0
0
0
0
-21
-20
-24
9
1
34
0
-15
0
1
-3
0
0
0
0
0
0
-6
-2
-47
0
-46
-7
7
2
0
-3
0
0
0
0
0
0
0
0
-4
0
27
-9
7
-5
0
0
0
0
0
0
0
0
0
0
3
0
-1
-9
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
-23
14
71
-59
29
-8
-20
0
0
0
2
0
0
0
0
0
0
16
-56
-48
66
-5
-105
-4
0
4
0
2
0
0
0
0
0
0
-46
-5
-31
12
-116
53
-21
-53
46
-43
-6
0
0
0
0
0
0
11
-27
-16
69
99
-11
24
4
2
-1
2
0
0
0
0
0
0
-40
24
20
19
-86
3
41
-8
-49
0
2
0
0
0
0
0
0
0
28
-111
-100
-5
-39
8
7
-4
0
0
0
0
0
0
0
0
0
-14
30
8
37
0
7
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-80
-107
-10
36
13
-14
0
23
0
0
0
0
0
0
0
0
-8
-4
-2
27
-5
-50
0
1
0
0
-1
0
0
0
0
0
0
33
11
5
15
-11
9
-1
27
-49
-22
0
0
0
0
0
0
0
9
-29
31
-27
53
7
-106
-20
1
1
0
0
0
0
0
0
0
-5
74
-46
27
-9
-71
-3
1
59
0
0
0
0
0
0
0
0
30
-7
12
53
-59
-77
22
0
1
0
0
0
0
0
0
0
0
1
21
-33
-58
6
-92
-10
0
2
0
0
0
0
0
0
0
0
0
21
-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
-7
0
4
-2
0
3
0
0
13
0
0
0
0
0
0
0
0
0
2
-6
1
-10
0
0
0
13
-1
0
0
0
0
0
0
0
0
-1
-4
-14
-1
-1
0
0
11
0
0
0
0
0
0
0
0
0
15
-2
13
-1
3
0
0
0
-5
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
-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
-3
31
-15
1
0
0
0
0
0
0
0
0
0
0
0
-10
31
-71
5
4
-45
-5
0
-10
0
0
0
0
0
0
0
0
-18
-23
97
33
25
19
2
1
1
0
0
0
0
0
0
0
0
-11
85
6
19
1
-54
6
3
19
0
0
0
0
0
0
0
0
0
1
7
15
-3
0
8
-1
-129
0
0
0
0
0
0
0
0
-10
1
-19
-44
-2
14
-55
-61
-18
0
0
0
0
0
0
0
0
2
-6
70
18
-71
0
0
-25
1
0
0
0
0
0
0
0
0
0
-68
-3
21
0
7
-11
-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
24
61
14
-64
-69
44
57
0
0
-1
0
0
0
0
0
0
0
64
47
56
-9
-12
-38
38
0
-6
0
0
0
0
0
0
0
0
-59
26
-6
18
33
-41
97
28
71
-81
0
0
0
0
0
0
0
-33
-39
89
-11
-17
-164
-89
-9
14
-1
0
0
0
0
0
0
0
5
0
1
-56
-24
-49
-17
-32
5
-64
0
0
0
0
0
0
0
-17
-45
4
-50
129
10
37
48
-22
-32
0
0
0
0
0
0
0
5
-112
27
45
43
43
124
-48
-11
-36
0
0
0
0
0
0
0
0
14
60
-71
6
-19
-1
0
-2
2
0
0
0
0
0
0
0
0
1
-31
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-16
-26
45
-27
57
-14
31
-2
0
-15
0
0
0
0
0
0
0
0
-90
115
19
-29
-2
-37
0
21
0
-24
0
0
0
0
0
0
18
38
55
-26
37
-48
-3
48
-39
65
-16
0
0
0
0
0
0
14
-61
62
53
11
-26
-73
43
-47
-60
13
0
0
0
0
0
0
-17
-4
0
59
-86
-23
-17
-126
113
-59
2
0
0
0
0
0
0
0
-79
84
18
-14
-69
-137
-70
14
-9
9
0
0
0
0
0
0
0
-88
-81
-19
-46
51
49
9
-32
-6
0
0
0
0
0
0
0
0
-33
-13
45
-54
-9
10
-10
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
50
-78
13
-14
-81
53
-5
0
0
3
0
0
0
0
0
0
9
41
24
-66
24
20
86
0
-2
0
5
4
0
0
0
0
0
56
-14
-26
71
135
-5
52
-26
-24
50
-43
-3
0
0
0
0
0
3
-29
-65
100
5
75
-51
-15
16
52
8
-2
0
0
0
0
0
-87
-81
0
0
30
16
50
24
66
-96
-8
0
0
0
0
0
0
1
83
-51
35
89
86
43
10
-27
-60
3
0
0
0
0
0
0
0
-6
-93
-2
-14
63
44
-29
5
0
0
0
0
0
0
0
0
0
-10
9
-25
-79
21
2
-4
0
0
0
0
0
0
0
0
0
0
-14
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-24
122
8
-19
74
-7
0
-2
0
1
0
0
0
0
0
-4
-54
-129
-14
18
75
58
0
5
0
-7
2
0
0
0
0
0
1
-4
6
10
-31
110
19
16
-54
-14
21
-32
0
0
0
0
0
2
28
-107
1
16
-24
118
119
-44
14
-4
-1
0
0
0
0
0
6
-28
64
-33
1
66
-45
65
-18
42
0
0
0
0
0
0
0
0
-59
37
-18
-45
54
-5
40
5
-7
-4
1
0
0
0
0
0
0
-15
46
-8
-49
-16
12
-69
3
-4
0
0
0
0
0
0
0
0
1
0
-50
-30
14
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
9
0
0
0
0
0
0
0
0
0
-1
14
7
24
33
16
20
-1
0
0
0
0
0
0
0
0
0
2
-18
-29
11
64
56
-4
0
-1
0
10
-5
0
0
0
0
0
7
-112
79
-5
11
10
-56
-5
-2
-5
23
0
0
0
0
0
0
-15
83
120
-14
28
90
33
17
9
10
-3
0
0
0
0
0
0
-11
-48
-50
98
56
0
-24
2
-43
-43
34
0
0
0
0
0
0
0
-11
-117
33
-32
-15
7
-7
-5
-1
-1
0
0
0
0
0
0
0
9
-38
-143
18
-30
43
4
9
0
0
0
0
0
0
0
0
0
3
2
-24
18
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
23
89
8
-35
-33
-2
3
0
0
0
0
0
0
0
0
0
0
-15
-89
29
32
55
43
0
1
0
-14
-1
0
0
0
0
0
0
34
85
-67
-56
78
-5
3
-5
-8
0
-1
0
0
0
0
0
0
22
-23
-22
12
-54
49
15
-14
-54
1
2
0
0
0
0
0
0
3
29
23
-36
87
0
16
-1
52
0
-3
0
0
0
0
0
0
-11
-19
-43
-54
-5
-18
-7
0
-8
0
0
0
0
0
0
0
0
0
-60
9
-71
5
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-34
13
-2
1
-13
0
0
0
0
0
0
0
0
0
0
1
-60
-21
101
-1
-75
-4
0
-3
0
5
0
0
0
0
0
0
-37
-26
-23
1
10
27
-10
-35
8
2
4
0
0
0
0
0
0
3
17
-10
130
-66
34
-8
1
-5
-7
-3
0
0
0
0
0
0
20
57
-2
1
14
50
5
0
-1
8
0
0
0
0
0
0
0
0
4
0
-49
-73
-58
-32
2
0
2
0
0
0
0
0
0
0
-2
0
-19
4
3
13
1
1
-6
0
0
0
0
0
0
0
0
0
0
0
-3
0
10
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
1
-90
-5
4
-16
-4
0
0
0
0
0
0
0
0
0
0
47
35
-43
-47
60
-60
32
0
1
0
0
1
0
0
0
0
0
-28
-68
-68
-156
15
-38
-2
5
-58
-129
0
0
0
0
0
0
0
-16
33
-86
80
-47
-12
-65
30
-7
-7
0
0
0
0
0
0
0
108
-18
-57
51
8
-14
28
4
0
-17
0
0
0
0
0
0
0
-8
-13
-128
-24
-49
-25
-28
46
-26
9
0
0
0
0
0
0
0
-5
9
97
71
5
-23
-64
2
0
-5
0
0
0
0
0
0
0
0
0
-11
1
5
21
-1
11
0
0
0
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
-27
20
60
-31
24
-3
0
-14
-3
0
0
0
0
0
0
0
-81
48
-36
21
-42
-74
0
7
0
1
0
0
0
0
0
0
0
4
-71
2
-72
-65
33
5
-21
-24
1
0
0
0
0
0
0
0
3
49
-78
23
45
-7
13
-15
-73
-2
0
0
0
0
0
0
0
-18
34
-5
68
-31
-88
-63
-32
0
-6
0
0
0
0
0
0
0
46
53
-30
-52
-67
-54
33
-21
65
0
0
0
0
0
0
0
0
23
1
23
-45
-14
19
5
2
0
0
0
0
0
0
0
0
0
-2
4
-33
-21
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
27
0
-4
0
0
0
-24
0
0
0
0
0
0
0
0
0
-14
-7
4
0
3
0
-1
1
0
0
0
0
0
0
0
0
2
0
0
-9
-10
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
10
13
-14
-1
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
1
-3
-2
3
0
0
0
0
0
0
0
0
0
0
2
-18
-69
-8
38
10
0
-24
-6
0
0
0
0
0
0
0
0
0
9
1
42
-1
-17
-10
0
-92
0
0
0
0
0
0
0
0
50
10
-51
44
128
-13
15
4
-5
0
0
0
0
0
0
0
0
0
-5
-4
3
-3
8
4
39
-14
0
0
0
0
0
0
0
0
1
40
-98
14
3
2
0
0
10
0
0
0
0
0
0
0
0
0
-67
0
4
0
2
-10
4
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
31
-61
15
52
53
27
-1
0
-6
0
0
0
0
0
0
0
-23
-12
-10
38
61
-62
-50
0
-6
0
0
0
0
0
0
0
0
-14
-48
-14
6
105
12
1
-34
-35
-15
0
0
0
0
0
0
0
-66
-62
27
80
-28
49
53
14
74
-58
0
0
0
0
0
0
0
-44
54
9
52
-23
74
-100
87
14
-31
0
0
0
0
0
0
0
-1
0
-12
-72
-27
3
1
-67
1
8
0
0
0
0
0
0
0
-8
-13
-37
17
60
26
-52
53
-63
3
0
0
0
0
0
0
0
0
-91
4
57
62
-5
2
5
4
0
0
0
0
0
0
0
0
0
-2
19
3
5
0
0
0
0
0
0
0
0
0
0
0
0
62
-12
109
34
66
4
-33
51
0
0
1
0
0
0
0
0
0
-1
122
-58
106
28
90
10
0
0
0
21
0
0
0
0
0
0
-14
5
94
9
-11
77
51
78
-17
12
14
0
0
0
0
0
0
0
14
-1
76
2
-25
88
64
34
-109
6
0
0
0
0
0
0
26
14
177
-29
37
51
12
-3
-54
-70
-15
0
0
0
0
0
0
1
-69
0
11
10
-46
3
60
-55
-23
3
0
0
0
0
0
0
0
5
-23
-6
18
-8
87
-137
31
-1
0
0
0
0
0
0
0
0
-92
71
36
-73
-7
5
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
-30
-62
14
14
20
-32
17
-1
0
0
5
0
0
0
0
0
0
0
-10
27
-16
21
83
33
0
0
0
-1
0
0
0
0
0
0
-33
-16
52
127
98
146
42
-39
36
18
-45
-4
0
0
0
0
0
-53
37
-66
-105
17
80
3
-4
49
1
3
0
0
0
0
0
0
-17
5
24
32
-10
47
71
3
-7
-80
48
0
0
0
0
0
0
-33
37
-54
0
-15
-25
-17
-84
-35
14
-1
0
0
0
0
0
0
-15
-73
-17
18
-41
28
43
34
-56
0
0
0
0
0
0
0
0
0
-2
28
-41
6
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
-7
18
-14
83
75
26
8
-14
0
0
3
0
0
0
0
0
0
0
3
-18
-15
27
50
53
0
8
0
-4
2
0
0
0
0
0
-4
21
29
-20
39
-81
38
7
-33
80
0
0
0
0
0
0
0
0
-70
73
13
-119
28
10
44
13
-103
5
0
0
0
0
0
0
-47
-52
-33
-14
-6
9
-52
31
7
74
2
-3
0
0
0
0
0
0
-31
-23
-66
0
15
44
-30
3
-36
0
0
0
0
0
0
0
0
-52
38
-32
53
74
3
-5
-56
-10
0
0
0
0
0
0
0
0
-16
13
-17
-24
11
-6
1
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
-6
-62
7
-37
14
-27
-4
0
0
1
0
0
0
0
0
0
0
84
92
-14
12
17
11
0
-2
0
6
0
0
0
0
0
0
-1
-6
46
8
21
23
-1
9
-25
-5
-5
0
0
0
0
0
0
0
43
24
-24
-79
132
88
3
5
-5
5
0
0
0
0
0
0
-3
30
-186
28
-40
14
6
40
-5
-35
1
0
0
0
0
0
0
1
-53
54
-14
-17
0
84
-25
-50
-5
0
0
0
0
0
0
0
1
-1
25
-33
11
30
5
10
24
-1
0
0
0
0
0
0
0
0
1
-3
23
24
-5
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
21
-3
40
-5
14
48
-1
0
0
1
0
0
0
0
0
0
0
55
-43
41
-21
-82
25
0
0
0
0
0
0
0
0
0
0
0
16
-54
-64
43
-21
142
6
1
-10
0
0
0
0
0
0
0
0
49
18
-60
-27
-10
-3
17
-1
-6
0
0
0
0
0
0
0
0
20
24
-23
-98
47
-16
18
-5
-4
0
0
0
0
0
0
0
0
87
-43
33
-14
86
0
0
1
-36
0
0
0
0
0
0
0
0
1
10
-47
-99
-20
-39
0
-4
0
0
0
0
0
0
0
0
0
0
2
-25
-11
-71
0
0
0
-1
0
0
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
-10
2
0
1
0
0
-1
0
0
0
0
0
0
0
-22
2
-26
11
-7
-7
0
1
0
0
0
0
0
0
0
0
10
-3
-67
-49
-4
-31
9
-3
-5
0
-7
0
0
0
0
0
0
-1
18
1
-47
3
-41
6
-19
0
0
0
0
0
0
0
0
0
13
3
43
-9
26
19
18
0
-82
0
0
0
0
0
0
0
0
0
17
4
-9
17
-2
-23
0
0
0
0
0
0
0
0
0
0
-4
0
0
6
13
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
-118
-62
-25
19
19
0
0
0
0
0
0
0
0
0
0
-1
54
39
-18
53
-8
-5
0
1
0
0
0
0
0
0
0
0
14
-27
39
-21
-34
-2
-19
-26
-79
-1
0
0
0
0
0
0
0
-14
96
10
-33
16
-21
-73
-107
30
22
0
0
0
0
0
0
0
-30
-205
-53
27
-71
-4
28
-18
-26
-40
0
0
0
0
0
0
0
-25
62
14
-56
5
22
33
5
0
2
0
0
0
0
0
0
0
6
27
-43
-69
-52
34
-13
11
9
0
0
0
0
0
0
0
0
0
8
23
-72
-55
-34
6
3
3
0
0
0
0
0
0
0
0
0
-14
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
17
-9
24
-15
0
-2
0
10
0
0
0
0
0
0
0
0
63
-58
-82
-75
14
-7
0
-2
0
0
0
0
0
0
0
0
0
-58
9
-63
-95
2
73
-1
2
-52
1
0
0
0
0
0
0
0
76
-22
-35
195
25
35
-51
-6
-1
-2
0
0
0
0
0
0
0
0
-5
33
-102
114
-138
21
-25
-45
0
0
0
0
0
0
0
0
95
-4
-109
22
-6
47
-1
8
0
0
0
0
0
0
0
0
0
0
10
-28
-48
-50
-101
-7
3
-1
0
0
0
0
0
0
0
0
-5
23
-7
9
18
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
-17
0
0
0
0
0
0
0
0
-11
-6
0
6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
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
-9
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
10
7
11
27
1
0
0
-1
0
0
0
0
0
0
0
0
-23
0
49
6
6
4
0
1
0
0
0
0
0
0
0
0
0
1
-27
-23
21
24
45
0
0
16
0
0
0
0
0
0
0
0
23
3
38
9
-53
8
-3
0
3
0
0
0
0
0
0
0
0
0
5
-32
-89
-11
-11
5
-1
3
0
0
0
0
0
0
0
0
0
0
45
0
18
2
0
0
-3
0
0
0
0
0
0
0
0
0
20
0
10
0
-1
1
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
-27
-26
19
-58
32
65
0
0
0
0
0
0
0
0
0
0
3
143
25
-59
61
79
-1
0
-1
0
0
0
0
0
0
0
0
75
-16
49
21
88
71
-146
0
-6
50
0
0
0
0
0
0
0
29
-13
46
79
-70
-104
-25
-44
41
-85
0
0
0
0
0
0
0
-72
6
36
55
-23
71
-90
-64
-35
-44
0
0
0
0
0
0
0
-15
94
58
-53
31
-35
27
44
-19
-132
0
0
0
0
0
0
0
22
0
-3
36
-8
5
-46
-43
43
-128
0
0
0
0
0
0
0
0
80
24
27
-10
-13
2
4
-2
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
79
55
54
-87
83
34
-2
0
5
0
0
0
0
0
0
0
0
-73
-7
23
-11
-10
44
0
2
0
3
0
0
0
0
0
0
-26
5
29
9
-11
-42
-51
-5
13
27
-3
0
0
0
0
0
0
0
31
-57
-71
10
-55
54
-29
-111
89
-8
0
0
0
0
0
0
-7
23
-20
12
-4
-77
23
-27
-118
-26
30
0
0
0
0
0
0
0
-33
3
-66
-56
-76
-121
-85
71
-7
0
0
0
0
0
0
0
-17
-9
0
-27
24
14
-35
-85
-12
9
0
0
0
0
0
0
0
0
1
-52
19
50
-1
10
2
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
-18
19
-68
51
-17
20
2
0
0
-1
0
0
0
0
0
0
0
14
100
-9
-21
-28
-34
0
6
0
-8
0
0
0
0
0
0
-25
-19
31
51
-91
5
-18
-21
-2
2
-27
0
0
0
0
0
0
0
80
-3
134
75
-72
0
33
11
1
19
3
0
0
0
0
0
50
-4
-27
-2
39
117
24
-62
-14
26
1
0
0
0
0
0
0
9
30
29
-30
19
90
30
-4
45
18
-9
0
0
0
0
0
0
-14
-31
-46
0
59
24
38
17
-21
23
0
0
0
0
0
0
0
0
2
3
18
-4
-87
-10
2
0
0
0
0
0
0
0
0
0
0
0
47
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-53
35
-45
74
-6
5
0
0
0
0
0
0
0
0
0
-6
-67
-47
-31
-113
1
3
0
0
0
0
0
0
0
0
0
0
2
-53
-34
10
71
16
5
0
11
23
0
0
0
0
0
0
0
0
-33
-52
31
67
-69
38
11
-2
25
-8
0
0
0
0
0
0
-28
34
64
44
-21
22
28
-40
7
46
0
0
0
0
0
0
0
0
-93
-38
54
24
97
9
-62
-34
-109
3
-1
0
0
0
0
0
0
5
-61
22
0
-14
18
-10
53
-5
0
0
0
0
0
0
0
0
18
3
-87
-1
-9
17
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
-77
40
40
-6
45
4
0
0
0
0
0
0
0
0
0
1
-73
82
-54
66
-14
34
0
-2
0
0
0
0
0
0
0
0
-4
17
63
84
61
23
-73
0
1
33
-2
0
0
0
0
0
0
-2
3
29
-13
-109
2
-4
33
-16
-36
0
0
0
0
0
0
0
16
-3
-10
-22
-90
-14
6
-2
0
10
-19
0
0
0
0
0
0
1
-21
-9
12
-31
3
-7
54
3
-72
-1
0
0
0
0
0
0
0
2
15
14
-95
0
-29
8
43
-14
0
0
0
0
0
0
0
0
-4
0
48
25
53
-2
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
1
2
-20
-7
-7
1
0
0
0
0
0
0
0
0
0
0
-13
55
-46
45
1
2
0
0
0
0
0
0
0
0
0
0
0
25
-30
27
-4
25
6
-1
0
-6
-1
0
0
0
0
0
0
0
-21
0
-69
5
20
31
27
0
0
0
0
0
0
0
0
0
0
2
-36
-28
69
53
15
3
6
-9
0
0
0
0
0
0
0
0
-66
8
60
-41
-12
-14
-19
1
7
0
0
0
0
0
0
0
0
0
22
-4
-72
-20
0
-43
-63
-14
0
0
0
0
0
0
0
0
0
3
-69
-53
27
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
-6
-20
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-24
20
0
7
0
0
0
2
0
0
0
0
0
0
-18
0
-53
-19
-31
6
0
0
-1
-1
0
0
0
0
0
0
0
0
26
-7
-15
-4
-21
3
-3
-13
0
0
0
0
0
0
0
0
0
-14
27
-17
30
17
15
-1
-3
0
0
0
0
0
0
0
0
0
-51
-7
-77
11
16
-1
-4
-1
-6
0
0
0
0
0
0
0
0
0
-13
2
-9
0
-15
0
-5
0
0
0
0
0
0
0
0
0
9
0
-75
-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
-43
-104
10
-67
-7
25
-2
0
0
0
0
0
0
0
0
0
0
-52
31
2
-4
-23
7
0
0
0
0
0
0
0
0
0
0
-3
-64
-28
-81
-159
5
-2
25
-3
31
0
0
0
0
0
0
0
0
-10
-48
0
4
-73
-55
-21
11
43
0
0
0
0
0
0
0
29
-13
-116
-20
44
83
2
14
5
-57
0
0
0
0
0
0
0
0
-84
56
-98
-32
7
-5
5
3
53
0
0
0
0
0
0
0
0
3
5
22
2
2
-46
0
0
-19
0
0
0
0
0
0
0
0
-131
-33
137
-69
-14
-1
-21
-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
-60
-17
-1
14
1
0
0
0
-7
0
0
0
0
0
0
0
-82
-21
12
-12
32
4
0
0
0
0
0
0
0
0
0
0
0
0
-33
-43
4
-19
-5
3
0
76
0
0
0
0
0
0
0
0
1
25
-27
19
-19
36
17
0
11
0
0
0
0
0
0
0
0
2
-67
54
5
1
-108
5
9
-25
0
0
0
0
0
0
0
0
3
-5
-62
44
18
-98
14
-1
-7
0
0
0
0
0
0
0
0
-43
-59
43
35
-41
115
-20
-8
0
-1
0
0
0
0
0
0
0
0
-10
0
17
-20
2
25
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
-12
0
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
-8
3
53
0
-7
2
0
0
5
0
0
0
0
0
0
0
0
1
59
0
58
-1
0
0
0
-22
0
0
0
0
0
0
0
0
23
0
-7
-15
-66
-13
0
5
-1
0
0
0
0
0
0
0
0
0
93
4
94
0
47
-50
-10
1
0
0
0
0
0
0
0
0
0
2
-25
0
-32
2
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
-10
0
-10
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
-29
26
48
-1
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
31
15
2
-7
0
0
0
0
0
0
0
0
0
0
28
0
-19
-9
-119
9
0
6
56
4
0
0
0
0
0
0
0
-5
-40
13
39
-72
120
93
-9
75
-25
0
0
0
0
0
0
0
-19
2
114
87
-33
8
6
9
-1
13
0
0
0
0
0
0
0
0
19
-17
16
-8
-122
21
26
18
-10
0
0
0
0
0
0
0
-21
2
-4
46
-51
4
0
31
-78
0
0
0
0
0
0
0
0
0
0
1
-2
11
19
-25
-6
-1
-4
0
0
0
0
0
0
0
0
-25
15
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-5
24
-1
7
0
0
0
0
0
0
0
0
0
0
0
-101
-4
25
-12
30
13
0
0
0
0
0
0
0
0
0
0
43
-11
-31
-2
5
89
53
-3
2
-66
0
0
0
0
0
0
0
0
-64
33
48
23
-55
149
-43
-2
-18
0
0
0
0
0
0
0
3
-52
18
29
-48
41
80
-15
6
2
-1
0
0
0
0
0
0
0
-7
-71
-57
-92
-7
-46
11
-22
132
0
0
0
0
0
0
0
2
-1
14
-28
-70
-34
14
-43
-71
14
0
0
0
0
0
0
0
0
24
0
-18
29
16
-29
-19
0
-2
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
-58
-2
-62
0
-20
0
0
0
3
0
0
0
0
0
0
0
-24
-1
52
-4
15
0
0
0
0
-1
0
0
0
0
0
0
28
7
73
30
31
21
3
-3
9
-15
0
0
0
0
0
0
0
0
80
7
-122
21
56
-45
-14
0
0
3
0
0
0
0
0
0
-16
1
76
14
-14
34
14
18
-1
3
0
0
0
0
0
0
0
0
14
28
-38
6
10
-25
-1
-6
0
0
0
0
0
0
0
0
1
0
-106
23
-23
14
-59
-8
-53
0
0
0
0
0
0
0
0
0
-33
-6
0
-25
21
-14
-27
0
-14
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
42
0
-18
-53
5
0
0
0
0
0
0
0
0
0
0
0
0
-17
44
-5
-4
5
0
0
0
7
0
0
0
0
0
0
2
0
122
18
-112
-1
52
2
4
-4
0
0
0
0
0
0
0
0
8
59
-11
3
24
36
6
0
0
0
0
0
0
0
0
0
1
1
4
72
-19
-1
52
18
10
3
0
0
0
0
0
0
0
0
8
7
-17
50
46
-4
-6
1
-10
0
0
0
0
0
0
0
-1
-1
-19
0
35
-15
-13
8
-19
-11
0
0
0
0
0
0
0
0
-2
4
-37
0
-17
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
26
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
-45
-7
11
-7
18
0
0
0
0
0
0
0
0
0
0
0
-52
0
108
-19
6
-19
0
0
1
0
0
0
0
0
0
0
0
0
48
-1
27
-5
25
-5
-1
1
3
0
0
0
0
0
0
0
2
1
-35
-15
4
5
33
-5
1
2
0
0
0
0
0
0
0
0
7
3
-24
3
-7
5
-6
3
-3
0
0
0
0
0
0
0
-5
0
-72
0
6
-3
5
1
7
0
0
0
0
0
0
0
0
0
2
-5
-22
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
5
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
-14
1
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
-1
-4
-26
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
26
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
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
13
0
0
1
0
0
0
0
0
0
0
0
-3
0
-2
3
14
15
4
0
0
0
0
0
0
0
0
0
0
-24
0
0
-30
-23
-50
0
0
0
0
0
0
0
0
0
0
0
0
2
-61
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
19
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
8
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-36
2
-127
-1
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
28
-1
14
-8
-7
-4
0
-89
0
0
0
0
0
0
0
0
30
-41
43
13
7
-29
-1
-26
-4
0
0
0
0
0
0
0
5
16
-45
1
-71
-166
-9
52
-6
-8
0
0
0
0
0
0
0
0
0
4
52
-9
22
-37
0
0
0
0
0
0
0
0
0
0
0
0
-80
8
-14
1
8
0
0
-5
0
0
0
0
0
0
0
0
10
0
43
4
-33
-5
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
18
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-23
3
0
-2
0
0
11
0
0
0
0
0
0
0
0
0
0
-2
14
10
-4
-2
0
0
1
0
0
0
0
0
0
0
0
4
34
-21
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
-9
-25
13
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-6
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
31
4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-1
-31
1
-14
2
0
-6
0
0
0
0
0
0
0
0
-53
1
9
0
19
-15
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-45
4
65
1
0
0
0
0
0
0
0
0
0
0
0
0
-24
-3
16
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
-32
0
11
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-1
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-25
0
-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
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
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
17
0
-26
0
-3
0
0
-7
0
0
0
0
0
0
0
0
0
0
-22
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
-11
0
14
46
21
24
30
0
0
0
0
0
0
0
0
0
2
26
-62
-13
37
18
82
14
4
0
0
0
0
0
0
0
0
5
5
6
22
54
26
63
1
1
0
0
0
0
0
0
0
0
2
0
23
-9
11
-95
-35
24
-33
0
0
0
0
0
0
0
0
1
-1
-4
98
66
70
-43
-11
-54
0
0
0
0
0
0
0
0
0
5
0
-1
-33
57
38
18
-1
0
0
0
0
0
0
0
0
0
-8
-3
26
-12
-96
46
17
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-34
-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
-20
0
19
65
54
21
16
-56
0
-61
0
0
0
0
0
0
0
85
-16
15
-28
40
35
6
7
15
-44
0
0
0
0
0
0
0
-59
-7
103
98
15
7
-37
27
24
-27
0
0
0
0
0
0
0
23
-16
37
21
0
3
-35
23
-8
43
0
0
0
0
0
0
0
7
29
-36
-35
-22
113
-12
-8
-32
17
0
0
0
0
0
0
0
-8
-44
111
-33
-53
-12
12
-1
-53
-21
0
0
0
0
0
0
0
23
27
46
24
-59
-9
-25
-56
31
-5
0
0
0
0
0
0
0
0
11
-8
2
5
-62
-49
-35
51
61
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
-58
0
26
-27
16
14
-112
0
2
26
0
0
0
0
0
0
4
85
32
98
-1
17
-55
-32
43
-96
101
0
0
0
0
0
0
19
34
3
-13
-48
79
14
-38
-11
64
19
0
0
0
0
0
0
-3
121
78
47
71
23
56
3
7
57
33
0
0
0
0
0
0
0
-41
65
75
-18
22
27
-32
32
-60
0
0
0
0
0
0
0
0
60
0
-30
18
-76
-56
18
-69
-4
2
0
0
0
0
0
0
0
-45
14
-1
-32
19
-26
141
124
22
0
0
0
0
0
0
0
0
-96
-33
-81
-23
-15
-33
22
11
31
0
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
-9
89
-80
-32
0
-1
-27
0
0
0
0
0
0
22
-138
66
-60
0
89
-15
-9
-14
-65
-44
1
0
0
0
0
0
5
5
115
16
20
152
51
79
-37
-14
-1
0
0
0
0
0
0
2
5
15
-63
29
7
86
17
14
84
109
0
0
0
0
0
0
79
69
-125
13
-113
20
-31
59
9
-25
21
0
0
0
0
0
0
0
-6
-6
-26
-7
-34
-23
38
-40
46
9
-2
0
0
0
0
0
0
1
-2
5
-31
33
-40
53
82
71
-1
0
0
0
0
0
0
0
-1
-2
-1
-14
45
-13
-57
-4
-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
23
-50
33
0
-19
-5
-3
0
0
0
0
0
7
5
-14
6
22
67
-56
12
21
-44
93
3
0
0
0
0
0
-3
25
68
20
69
-63
102
75
-24
59
-28
22
0
0
0
0
0
0
73
-87
34
-40
-106
-30
43
49
2
28
0
0
0
0
0
0
-1
-27
-3
10
62
-33
-35
-14
47
-54
3
0
0
0
0
0
0
0
27
-29
7
-7
-137
-5
-23
-4
46
-6
0
0
0
0
0
0
0
-8
52
5
-44
15
-50
-77
-33
-53
0
0
0
0
0
0
0
0
-2
-4
6
-22
49
-4
-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
31
-28
0
-64
3
0
0
0
0
0
0
-3
46
-20
38
185
-42
-39
15
39
-11
-20
-2
0
0
0
0
0
-3
-14
-51
0
22
-69
-86
20
64
61
-3
0
0
0
0
0
0
15
7
35
-3
84
-36
-33
-36
78
102
1
0
0
0
0
0
0
11
-30
-33
0
-14
-76
-59
-3
9
5
-18
0
0
0
0
0
0
0
-6
1
-15
19
48
-71
-80
-48
-12
46
0
0
0
0
0
0
0
0
-2
-2
-3
26
90
26
2
-10
0
0
0
0
0
0
0
0
-3
0
0
10
-8
-6
47
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
1
0
0
0
0
0
-44
0
20
1
0
0
0
0
0
0
0
136
86
73
-26
0
69
0
6
33
5
0
0
0
0
0
0
0
69
-3
39
6
48
-28
33
35
-43
5
0
0
0
0
0
0
0
-9
0
-3
117
34
-146
-29
45
2
-21
0
0
0
0
0
0
0
-4
4
26
1
-24
59
-45
67
-24
2
0
0
0
0
0
0
0
14
0
0
0
-18
-35
-84
-7
20
3
0
0
0
0
0
0
0
0
3
-7
3
-8
29
-49
-52
4
0
0
0
0
0
0
0
0
0
0
-14
0
-4
15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
0
61
0
0
0
0
0
0
0
0
0
0
0
-6
-43
-4
14
-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
-17
-9
0
-5
2
3
0
0
0
0
0
0
0
0
3
1
0
1
3
-15
-24
-13
-4
0
0
0
0
0
0
0
0
0
-9
-2
0
0
6
4
-11
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
-14
-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
-58
99
18
-35
20
-40
84
41
0
0
0
0
0
0
0
0
0
-6
-62
7
25
-78
24
33
-26
5
0
0
0
0
0
0
0
0
-20
48
-47
11
49
-18
-33
-65
32
0
0
0
0
0
0
0
0
11
83
-25
-25
87
86
-6
-22
2
0
0
0
0
0
0
0
0
14
23
28
89
-76
-42
-15
-45
22
0
0
0
0
0
0
0
0
32
43
11
-2
19
28
-3
-90
13
0
0
0
0
0
0
0
0
-3
-39
5
-18
-34
-36
5
24
45
0
0
0
0
0
0
0
0
0
1
0
-2
-2
10
52
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
85
-1
0
0
0
0
0
0
0
0
0
62
54
76
23
12
-41
29
55
0
-15
0
0
0
0
0
0
0
-16
-6
-28
97
20
39
-22
2
49
9
0
0
0
0
0
0
0
12
33
-17
-2
58
20
33
1
-28
-24
0
0
0
0
0
0
0
89
90
138
-23
7
39
26
23
60
-103
0
0
0
0
0
0
0
-166
76
-89
81
64
47
7
54
29
-6
0
0
0
0
0
0
0
35
21
-90
51
5
14
-44
53
-80
74
0
0
0
0
0
0
0
-90
10
-6
33
63
-68
-44
-15
75
20
0
0
0
0
0
0
0
3
0
0
-92
45
25
-70
3
-58
2
0
0
0
0
0
0
0
0
0
-2
0
48
0
50
-11
0
0
0
0
0
0
0
0
0
-53
62
18
62
77
31
-53
-73
0
-43
-11
0
0
0
0
0
0
56
-35
0
23
-17
-40
-5
36
-9
1
2
0
0
0
0
0
0
79
70
-57
-71
-7
-29
-19
-18
9
-79
21
0
0
0
0
0
0
71
-17
69
4
44
-57
-19
100
-41
-8
49
0
0
0
0
0
0
-20
-65
32
-22
18
62
-17
9
11
-27
-43
0
0
0
0
0
0
1
-24
49
-33
-29
-56
-23
25
4
-18
2
0
0
0
0
0
0
0
-3
93
-26
0
-46
-21
-49
38
22
-4
0
0
0
0
0
0
0
27
0
-13
14
101
-56
62
47
-62
0
0
0
0
0
0
0
0
0
0
1
0
-4
5
0
37
-1
0
0
0
0
0
0
0
-13
-56
110
26
-5
56
16
-117
0
54
-32
6
0
0
0
0
0
37
33
46
32
-17
54
-4
77
-2
-31
112
0
0
0
0
0
0
114
-101
67
-100
-58
35
15
-41
-13
-1
34
-19
0
0
0
0
0
44
65
24
-101
2
63
-75
-10
-49
-21
-54
0
0
0
0
0
0
33
110
57
-13
-80
10
35
-31
-2
38
29
1
0
0
0
0
0
1
-45
-7
39
-53
10
6
3
27
73
53
0
0
0
0
0
0
0
7
-14
-9
-64
54
-108
-4
10
14
26
0
0
0
0
0
0
1
-2
14
-3
9
-5
-1
74
-33
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
2
0
4
0
0
0
0
0
0
0
-5
-90
-27
17
-29
-12
55
57
0
-74
-29
-7
0
0
0
0
0
10
-6
118
46
39
-31
96
-7
-61
-68
-114
-22
0
0
0
0
0
21
-9
-4
26
-36
43
-81
31
-61
-30
81
-2
0
0
0
0
0
62
-22
13
96
-19
20
-30
21
45
-36
-26
37
0
0
0
0
0
6
-7
-32
-24
23
-85
27
-22
-14
67
1
40
2
0
0
0
0
-4
-8
65
81
33
-53
-16
5
-52
-19
-11
-2
0
0
0
0
0
0
-13
-5
4
-3
-72
-71
-22
53
35
-5
5
0
0
0
0
0
0
0
0
-7
0
22
41
-34
-41
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-6
0
0
0
0
0
0
0
0
-55
-33
-1
-42
-19
-25
7
21
0
25
-72
3
0
0
0
0
0
-52
-28
11
14
-96
81
-8
46
35
8
83
-2
0
0
0
0
0
15
52
52
-15
61
18
-10
63
-30
104
-46
0
0
0
0
0
0
-73
71
-53
195
-96
32
8
-6
42
28
-14
-5
0
0
0
0
0
1
-19
78
14
-44
62
50
50
11
-43
31
-1
-3
0
0
0
0
3
4
44
-23
3
-140
53
22
72
-112
80
2
0
0
0
0
0
-5
7
-1
9
7
-71
12
15
41
62
2
5
0
0
0
0
0
0
3
0
0
0
-7
20
-90
36
-21
-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
27
-14
-4
-43
-154
-81
13
0
-93
49
0
-1
0
0
0
0
0
-8
-62
-81
-53
-67
-9
-18
44
-44
23
-24
-1
0
0
0
0
0
11
54
9
47
-71
31
1
-72
140
-14
0
0
0
0
0
0
0
5
-39
-9
90
-56
16
-33
76
72
-5
-4
0
0
0
0
0
0
-26
24
-3
-23
43
-2
-37
-19
-37
-16
-3
0
0
0
0
0
0
6
-9
-20
5
77
34
-87
115
-46
1
0
0
0
0
0
0
0
0
0
-4
-19
4
20
-39
-12
-3
0
0
0
0
0
0
0
0
5
0
0
0
-10
-6
-36
9
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
9
0
0
0
-1
16
1
27
0
22
0
2
0
0
0
0
0
0
0
-2
8
0
2
-5
-8
1
-24
3
-2
0
0
0
0
0
-4
0
-11
53
-24
-5
-35
5
-45
0
-2
1
0
0
0
0
0
0
4
1
0
3
0
8
-11
6
8
14
-1
0
0
0
0
0
-5
0
-3
0
-4
0
-22
-4
-18
-2
1
0
1
0
0
0
0
0
0
0
0
3
-11
0
-13
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
2
-52
0
-8
0
0
0
0
0
0
0
0
-4
-7
-13
9
14
11
-5
49
0
-2
0
-1
0
0
0
0
0
11
10
-7
-14
-19
-16
58
-5
-14
0
0
0
0
0
0
0
0
-2
0
-3
15
39
-5
-3
-9
5
1
0
0
0
0
0
0
0
0
-4
4
2
-5
-13
11
13
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
-43
34
0
2
-8
0
0
0
0
0
0
0
0
11
-1
21
-14
0
53
4
10
-1
1
0
0
0
0
0
0
0
-15
-25
27
2
-43
-2
80
36
-4
0
0
0
0
0
0
0
0
-9
0
0
5
-24
16
6
0
7
0
0
0
0
0
0
0
0
10
0
5
8
-20
8
-20
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
9
-13
5
0
-5
0
-1
0
0
0
0
0
0
0
0
10
0
1
5
-17
-5
-4
-4
0
0
0
0
0
0
0
0
0
-3
-1
4
14
-11
-24
-25
0
2
0
0
0
0
0
0
0
0
0
-2
0
3
-22
22
2
0
2
0
0
0
0
0
0
0
0
2
0
0
0
-10
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
-9
9
43
53
-58
-63
-7
0
0
0
0
0
0
0
0
0
-12
-14
6
57
59
-14
-5
39
55
0
0
0
0
0
0
0
0
32
10
14
10
-4
55
-11
-11
-32
0
0
0
0
0
0
0
0
-9
13
-11
37
9
83
54
2
4
0
0
0
0
0
0
0
0
5
-15
73
5
-32
130
-25
-7
-18
0
0
0
0
0
0
0
0
-2
-49
32
-76
-1
57
-60
-60
0
0
0
0
0
0
0
0
0
0
-1
0
0
36
86
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
28
14
31
46
-44
-23
0
-71
0
0
0
0
0
0
0
31
-15
47
-17
14
28
13
69
10
-100
0
0
0
0
0
0
0
-86
16
-26
29
-12
81
8
25
-8
4
0
0
0
0
0
0
0
-15
-53
48
-1
37
-36
32
-43
22
53
0
0
0
0
0
0
0
59
20
-20
-82
50
-17
5
-34
22
32
0
0
0
0
0
0
0
-67
129
10
-114
-103
26
-28
-44
-11
-1
0
0
0
0
0
0
0
23
0
-11
27
-25
-8
-26
95
-72
-22
0
0
0
0
0
0
0
0
0
-1
40
45
-41
0
-56
11
0
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
35
-2
56
27
66
15
41
0
29
-43
0
0
0
0
0
0
-153
-58
-65
18
-44
69
-44
-9
-34
-23
-60
0
0
0
0
0
0
-6
-22
-20
-10
54
-96
5
38
0
-7
11
0
0
0
0
0
0
-14
52
0
22
16
0
-62
32
23
30
6
0
0
0
0
0
0
17
-22
-31
-5
100
41
11
-29
-63
90
-7
0
0
0
0
0
0
0
-8
44
5
15
-5
-68
-14
-14
53
11
0
0
0
0
0
0
0
-9
5
23
75
12
-32
9
4
-46
0
0
0
0
0
0
0
0
6
-1
0
14
-17
-5
100
-9
-6
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
5
0
0
0
0
0
0
0
0
0
-23
89
70
-99
17
27
-62
58
0
7
13
0
0
0
0
0
0
62
2
49
101
-74
65
14
30
-15
-46
-24
0
0
0
0
0
0
13
-46
-16
10
-38
-44
-15
-13
-54
-37
40
0
0
0
0
0
0
-95
-20
34
71
-89
4
59
14
24
52
-42
0
0
0
0
0
0
-17
30
52
-38
53
1
-92
10
82
42
17
1
0
0
0
0
0
1
59
-24
22
107
4
55
-20
-8
-61
-8
3
0
0
0
0
0
0
33
47
4
10
-49
21
-61
91
27
31
0
0
0
0
0
0
0
-5
-1
-1
11
-103
-14
-5
44
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
-2
0
0
0
0
0
0
0
-6
-107
45
62
39
7
16
5
0
79
12
10
0
0
0
0
0
-23
-41
72
-39
-85
2
21
28
38
-26
-44
-43
0
0
0
0
0
8
54
-7
-38
-42
12
-9
71
15
2
83
0
0
0
0
0
0
-4
-48
50
1
-46
-109
5
86
3
32
37
24
0
0
0
0
0
39
-14
59
-15
-90
53
4
21
27
38
57
0
0
0
0
0
0
0
37
73
-12
-47
64
-22
-30
-97
7
-5
0
0
0
0
0
0
0
32
-5
104
11
-64
54
18
62
-4
9
0
0
0
0
0
0
0
-2
0
1
0
-26
-5
-19
11
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
20
-2
62
22
-5
-3
-41
14
0
-7
-18
-2
0
0
0
0
0
30
-14
21
-17
-79
-1
-65
-89
-15
-35
-40
-13
0
0
0
0
0
-5
-52
-38
80
56
54
-61
-33
-39
10
11
-4
0
0
0
0
0
2
-94
-53
25
138
5
-31
82
-20
5
5
0
0
0
0
0
0
-5
-50
25
82
14
-33
-38
27
-8
-8
-16
2
0
0
0
0
0
1
-3
8
8
-80
-45
69
-80
-93
2
0
1
0
0
0
0
0
0
0
1
0
-4
10
-9
61
11
26
-8
-2
0
0
0
0
0
0
0
-15
5
0
-20
1
-128
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
17
-3
13
-22
-43
-19
-55
0
47
41
6
0
0
0
0
0
-5
-33
8
29
32
-44
42
-5
-56
75
4
-14
-1
0
0
0
0
0
-47
74
27
-16
80
19
-28
63
-43
62
-3
0
0
0
0
0
0
-11
-30
-29
3
58
56
90
-95
-6
18
-14
-2
0
0
0
0
0
5
29
-2
9
-104
27
-9
-62
-47
9
10
0
0
0
0
0
0
7
6
2
53
-69
5
54
-56
2
0
0
0
0
0
0
0
0
0
3
-1
4
-1
1
7
-16
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
35
-25
66
-17
0
25
-14
-1
0
0
0
0
0
21
-2
-5
14
10
7
-17
70
-80
5
-33
1
0
0
0
0
0
5
-10
-11
-17
-33
-17
-17
-5
71
93
11
-3
0
0
0
0
0
0
0
0
7
-83
-52
4
-57
0
5
14
0
0
0
0
0
0
1
20
0
0
50
1
-65
-21
-25
5
9
2
0
0
0
0
0
0
0
0
-13
-1
17
3
3
-8
9
-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
-46
-34
23
-14
-84
87
4
31
0
-18
0
0
0
0
0
0
0
-18
60
33
-53
121
-69
23
-43
-3
-2
-1
1
0
0
0
0
0
14
48
24
-90
14
-1
22
-72
24
-5
0
1
0
0
0
0
0
18
-15
-5
-34
-33
-20
12
-113
17
-22
0
0
0
0
0
0
0
3
0
1
-50
-24
-26
27
19
-45
-1
0
0
0
0
0
0
0
0
0
-1
4
-5
7
-21
-27
-39
0
0
0
0
0
0
0
0
4
0
3
0
-1
-7
14
-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
17
16
-5
-6
13
-30
0
0
-49
3
0
0
0
0
0
0
0
5
6
-14
-102
-28
5
60
14
24
29
0
0
0
0
0
0
0
-25
-7
13
58
9
-28
-3
81
-10
-27
-4
0
0
0
0
0
0
-30
54
-2
-8
23
66
5
-76
-3
0
6
0
0
0
0
0
0
-39
4
-25
-6
-20
15
-7
8
14
1
0
0
0
0
0
0
0
-26
37
-6
-25
-65
-13
9
-27
-53
2
1
0
0
0
0
0
0
1
1
4
-19
-1
40
61
-66
-1
0
0
0
0
0
0
0
0
0
-7
0
0
0
-36
-36
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
11
2
0
-4
6
0
0
0
0
0
0
0
0
3
1
1
15
-5
14
-49
-4
39
-2
0
0
0
0
0
0
0
0
0
0
7
4
-46
17
-5
0
0
0
0
0
0
0
0
0
-7
0
0
0
-1
1
1
-3
4
0
0
0
0
0
0
0
0
0
0
2
15
21
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
-11
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
54
7
19
-26
49
26
-54
0
0
0
0
0
0
0
0
0
3
-3
-16
15
-16
116
-19
-35
-23
0
0
0
0
0
0
0
0
10
76
41
-169
8
54
84
26
22
0
0
0
0
0
0
0
0
0
0
11
-30
69
-51
-43
-29
76
0
0
0
0
0
0
0
0
0
6
-53
-14
31
24
84
-11
-21
0
0
0
0
0
0
0
0
0
-2
3
-56
19
9
3
32
-1
0
0
0
0
0
0
0
0
0
-1
0
2
68
26
19
-24
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
-46
-4
-39
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
40
14
-95
31
-129
22
19
-30
0
-31
0
0
0
0
0
0
0
14
50
8
-14
4
43
16
36
-1
51
0
0
0
0
0
0
0
26
68
-19
5
-9
9
11
50
-13
-3
0
0
0
0
0
0
0
116
-2
12
-102
-27
-32
-22
-4
-41
-60
0
0
0
0
0
0
0
86
-5
54
-34
-19
8
-31
-20
-62
-49
0
0
0
0
0
0
0
-42
3
-64
-11
35
-55
-29
-72
30
-114
0
0
0
0
0
0
0
-43
-5
-28
53
-83
19
20
75
-26
32
0
0
0
0
0
0
0
1
-1
-5
10
-9
-6
-31
1
7
8
0
0
0
0
0
0
0
0
0
0
-3
19
-2
1
8
0
0
0
0
0
0
0
0
0
9
-44
-8
76
-45
4
17
1
0
16
5
0
0
0
0
0
0
32
-24
-24
103
-13
5
15
17
2
-57
25
0
0
0
0
0
0
-33
48
37
-24
18
18
-86
32
-9
-25
-1
0
0
0
0
0
0
0
38
-6
-17
-11
87
-40
-16
-81
-51
30
0
0
0
0
0
0
131
27
43
-10
-26
-67
12
32
56
1
0
0
0
0
0
0
0
-8
40
2
-62
16
4
-52
28
134
-8
-8
0
0
0
0
0
0
0
-20
-7
-11
75
22
-61
-16
-7
15
-9
0
0
0
0
0
0
0
-6
0
-11
-3
-3
-97
52
23
33
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-27
-8
0
0
0
0
0
0
0
0
2
16
-8
59
57
58
47
-79
0
52
21
0
0
0
0
0
0
-41
-73
14
95
0
-11
68
34
-7
14
-5
0
0
0
0
0
0
-5
-77
27
36
-97
-38
74
9
37
-36
62
2
0
0
0
0
0
-17
25
76
-3
15
-107
-54
27
-23
62
16
0
0
0
0
0
0
-85
33
43
-74
34
62
-1
-9
29
-22
5
0
0
0
0
0
0
4
33
106
-74
-37
-28
79
5
-113
36
-15
1
0
0
0
0
0
0
26
-10
8
38
10
-60
25
25
-36
-8
0
0
0
0
0
0
0
2
-1
0
2
-32
-10
28
5
26
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
0
11
7
0
0
0
0
0
0
0
0
27
-57
5
-16
-32
13
-55
0
162
37
-3
0
0
0
0
0
33
5
-91
-1
-22
-3
90
62
-45
-80
-59
-49
0
0
0
0
0
-11
-61
15
-77
34
-35
26
-96
-62
13
-17
1
0
0
0
0
0
-9
4
-69
-15
-21
45
-16
-61
23
51
-5
3
0
0
0
0
0
-6
36
4
-71
36
12
-5
23
-12
-26
1
-2
0
0
0
0
0
3
-76
33
-42
-37
-25
-38
3
-25
-73
4
0
0
0
0
0
0
0
-4
29
-33
24
-33
-74
43
171
-14
-1
0
0
0
0
0
0
0
-5
0
-2
0
80
32
-63
5
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
3
5
-5
-56
93
12
142
21
0
77
-51
-2
0
0
0
0
0
17
45
-53
-34
12
-10
4
33
-37
-100
125
1
0
0
0
0
0
-1
-34
45
-83
4
62
68
67
17
35
24
-14
0
0
0
0
0
-3
6
-59
47
17
-50
13
112
16
5
35
-1
0
0
0
0
0
33
24
5
32
-57
-33
84
-31
80
3
45
-5
0
0
0
0
0
0
-5
6
5
-80
6
10
19
32
-18
-4
0
0
0
0
0
0
0
0
-3
33
44
19
-53
-36
-19
44
3
0
0
0
0
0
0
0
0
11
0
0
0
-6
23
25
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
1
14
-93
-62
0
-23
33
0
0
0
0
0
0
-5
-24
15
-41
-98
51
-46
-62
-103
-16
54
10
2
0
0
0
0
0
-21
16
-11
-62
32
-25
-104
29
-7
6
1
0
0
0
0
0
0
71
5
8
16
-33
15
-29
-80
5
3
0
0
0
0
0
0
0
-4
-14
-3
-35
6
-64
10
77
-37
1
0
0
0
0
0
0
0
-19
-2
-2
-2
62
19
37
1
-24
-4
0
0
0
0
0
0
0
0
0
-5
-59
-2
43
-8
-56
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
11
-13
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
32
47
0
63
2
0
0
0
0
0
0
-11
7
-8
19
22
33
-61
53
-128
4
69
0
-5
0
0
0
0
10
0
5
11
-12
10
-37
-3
-5
20
-9
0
0
0
0
0
0
4
-18
-2
-33
52
-62
32
26
-28
-46
-6
0
0
0
0
0
0
0
0
0
-2
5
5
0
17
-16
-2
0
-1
0
0
0
0
0
0
17
-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
-73
53
16
45
-19
-10
8
15
0
-34
-3
0
0
0
0
0
0
15
11
-26
-28
-56
78
117
31
-15
-95
0
0
0
0
0
0
0
-43
91
-18
-48
-34
-65
-17
-71
47
-6
2
0
0
0
0
0
0
-100
11
37
34
13
-45
37
-65
-34
6
-3
0
0
0
0
0
0
-14
-90
-60
-49
-58
-18
116
-5
34
0
0
1
0
0
0
0
0
0
-2
10
82
1
-45
-18
-40
-5
0
0
0
0
0
0
0
0
0
-5
-7
7
26
7
12
-22
71
-8
0
0
0
0
0
0
0
0
8
-5
-5
0
-4
-6
-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
-33
14
9
84
14
14
44
0
-5
1
0
0
0
0
0
0
0
-44
2
-8
4
-79
-49
3
85
-48
14
0
0
0
0
0
0
0
-24
5
-35
-43
-63
-46
-2
29
21
-5
0
0
0
0
0
0
0
-24
-16
60
40
8
-30
-77
-131
2
13
0
0
0
0
0
0
0
36
-5
-5
-31
-62
-158
-8
-5
0
0
0
0
0
0
0
0
0
-72
-14
35
21
-82
-88
81
-26
5
2
0
0
0
0
0
0
0
-6
5
-2
-13
14
23
-43
40
-28
0
0
0
0
0
0
0
0
2
2
-3
0
-1
2
49
-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
1
0
-4
13
0
1
-3
0
0
0
0
0
0
0
0
3
0
-11
-16
1
-11
-17
66
-90
0
0
0
0
0
0
0
0
20
-1
-1
2
-2
-20
20
-1
3
0
0
0
0
0
0
0
0
5
0
-1
-2
9
53
10
-13
0
3
0
0
0
0
0
0
0
1
-7
0
-11
-3
-19
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
19
0
10
99
-65
43
-17
0
0
0
0
0
0
0
0
0
-2
-1
75
-4
53
39
80
39
-5
0
0
0
0
0
0
0
0
-1
-21
-14
-16
2
-79
-21
-20
5
0
0
0
0
0
0
0
0
0
53
0
60
14
-37
33
43
24
0
0
0
0
0
0
0
0
0
0
0
20
114
-25
-37
-17
19
0
0
0
0
0
0
0
0
0
9
-106
43
49
-36
2
-23
0
0
0
0
0
0
0
0
0
0
8
-1
-7
-15
-20
31
0
-3
0
0
0
0
0
0
0
0
0
0
0
-9
0
81
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
8
0
0
0
0
0
0
0
0
0
-11
-7
-101
12
-48
76
102
-79
0
49
0
0
0
0
0
0
0
-17
-1
-40
-109
4
75
14
65
-62
-13
0
0
0
0
0
0
0
-57
-3
62
-8
58
4
-29
55
-66
61
0
0
0
0
0
0
0
0
-45
-55
-65
-6
50
-83
-34
-12
53
0
0
0
0
0
0
0
-7
0
-112
-10
-58
-32
83
-93
5
50
0
0
0
0
0
0
0
80
-48
-51
20
25
3
32
-5
-55
29
0
0
0
0
0
0
0
59
0
-44
104
49
15
-86
91
43
0
0
0
0
0
0
0
0
0
0
-3
72
-1
96
-10
-23
73
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
17
4
0
0
0
0
0
0
0
0
0
0
11
-74
-1
-67
14
-55
0
-71
-3
0
0
0
0
0
0
6
-7
16
20
-154
4
99
73
4
42
-18
0
0
0
0
0
0
0
-46
73
15
22
-68
-100
-30
-85
-34
3
0
0
0
0
0
0
-14
16
-8
-21
56
-5
41
-3
15
-3
-2
0
0
0
0
0
0
0
100
0
2
-32
-49
-23
-77
-13
43
3
0
0
0
0
0
0
7
9
-48
18
168
46
15
-24
-17
128
-13
0
0
0
0
0
0
5
177
-2
108
39
-77
12
-112
42
27
0
0
0
0
0
0
0
0
-5
29
5
-9
41
-134
3
-53
-36
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
-5
0
0
0
0
0
0
0
0
-8
0
-16
-2
59
-23
11
91
0
90
21
0
0
0
0
0
0
6
-12
28
-28
3
-23
-3
-138
46
3
14
0
0
0
0
0
0
9
60
-1
-72
32
-32
-1
-78
43
58
53
0
0
0
0
0
0
23
-88
58
67
72
22
33
10
73
14
56
0
0
0
0
0
0
0
13
-30
0
-69
15
-23
57
-113
35
-14
0
0
0
0
0
0
-1
45
21
-43
-47
-24
62
-28
33
1
1
0
0
0
0
0
0
-5
35
19
1
-52
-58
14
-8
26
23
-11
0
0
0
0
0
0
1
-13
1
-5
-13
-62
11
79
128
20
0
0
0
0
0
0
0
0
0
0
0
-7
0
-32
5
0
4
0
0
0
0
0
0
0
0
-11
27
10
-82
-120
-62
-20
0
-71
2
-1
0
0
0
0
0
9
8
82
-19
-52
-2
-89
71
0
16
26
-25
0
0
0
0
0
8
17
-53
-68
-7
30
71
-52
-15
-49
-4
0
0
0
0
0
0
0
-16
50
-26
-22
43
-4
79
18
-36
16
-4
0
0
0
0
0
0
86
-10
-10
0
32
-7
-50
-33
51
-35
3
0
0
0
0
0
-7
-7
-37
-12
6
7
13
14
28
-77
-11
-1
0
0
0
0
0
10
-19
87
-21
-17
-29
-4
4
104
-1
0
0
0
0
0
0
0
0
2
-5
-4
0
-34
-55
-109
4
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
15
2
68
-45
0
49
5
0
0
0
0
0
0
2
-8
20
-53
-26
-16
62
-14
-43
-69
-54
0
0
0
0
0
0
3
43
-18
72
25
-7
-24
-20
-36
34
-29
0
0
0
0
0
0
-2
46
32
14
-64
27
58
7
18
34
-14
0
0
0
0
0
0
0
-6
14
-6
-9
0
-10
-19
-109
-34
6
2
0
0
0
0
0
2
39
-95
15
24
78
29
72
-26
5
5
-2
0
0
0
0
0
4
1
14
-2
7
0
10
73
8
0
0
0
0
0
0
0
0
0
-2
0
-46
0
17
24
-75
-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
-14
-1
-17
13
-44
-53
0
25
-15
0
0
0
0
0
0
0
-48
8
-14
-51
-65
30
9
-44
49
30
0
0
0
0
0
0
0
22
1
-4
60
75
26
22
48
17
0
0
0
0
0
0
0
0
36
6
14
-12
-35
22
25
-35
-44
-14
0
0
0
0
0
0
0
0
1
0
-17
31
0
43
-92
11
2
-9
0
0
0
0
0
0
4
-3
6
-11
-8
1
17
-16
2
-2
0
0
0
0
0
0
0
0
0
14
0
-17
46
-27
0
18
-4
0
0
0
0
0
0
0
0
0
0
0
3
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
1
-20
-1
-5
25
10
2
0
6
1
0
0
0
0
0
0
-9
-6
-11
18
43
53
80
-19
-71
13
-3
0
0
0
0
0
0
-39
3
-43
45
27
26
31
-33
-22
8
-7
0
0
0
0
0
0
-2
0
-5
22
42
-50
11
-62
-3
-21
-6
0
0
0
0
0
0
-7
-2
1
10
27
-39
-85
0
-24
0
-1
0
0
0
0
0
0
-7
-2
-6
-5
45
-26
-6
-126
2
-6
5
0
0
0
0
0
0
-8
0
7
0
5
27
-34
9
11
0
1
0
0
0
0
0
0
0
0
0
0
0
-69
-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
5
-92
5
16
8
28
-54
-65
0
-7
2
0
0
0
0
0
0
8
-138
-53
161
-99
19
32
59
-118
-36
-7
0
0
0
0
0
0
-7
-73
-30
79
-106
-63
119
-6
-74
8
0
0
0
0
0
0
0
54
41
29
72
-151
79
-53
-36
4
0
0
0
0
0
0
0
0
-43
-18
28
-8
45
-102
-62
43
0
-33
9
0
0
0
0
0
0
1
-27
83
0
-74
-16
-33
6
5
3
0
0
0
0
0
0
0
9
10
-3
3
141
-24
49
5
19
-3
0
0
0
0
0
0
0
1
-6
-8
27
3
8
34
3
-20
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-3
0
0
0
0
0
0
0
0
0
-25
22
-79
35
11
56
-17
0
118
0
0
0
0
0
0
0
0
77
-19
-111
-27
-83
62
23
9
37
-31
0
0
0
0
0
0
0
-25
-16
-25
95
72
-1
24
-12
18
0
0
0
0
0
0
0
0
27
45
-53
0
13
-73
-40
-16
-77
0
0
0
0
0
0
0
0
25
35
53
55
-13
-125
-25
-44
0
0
0
0
0
0
0
0
0
-143
7
-96
-162
-16
23
-98
0
49
0
0
0
0
0
0
0
0
1
69
-41
39
17
-46
7
77
2
0
0
0
0
0
0
0
0
0
1
0
3
-74
19
-61
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
-9
0
0
2
0
0
0
-34
-6
0
0
0
0
0
0
0
0
-1
0
6
0
-10
0
29
9
-133
0
0
0
0
0
0
0
0
-1
-2
-2
-15
-10
-28
0
7
2
0
0
0
0
0
0
0
0
3
0
1
4
-5
-20
32
-2
-19
0
0
0
0
0
0
0
0
-9
0
5
32
5
-7
-16
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
17
11
2
-34
14
0
0
0
0
0
0
0
0
0
0
-2
-6
-29
-6
51
-18
-55
-1
0
0
0
0
0
0
0
0
-4
-50
-2
10
-62
1
-49
7
-23
0
0
0
0
0
0
0
0
0
4
-2
-28
18
53
-15
-23
0
0
0
0
0
0
0
0
0
5
-1
11
-18
27
31
-29
3
20
0
0
0
0
0
0
0
0
0
3
-5
18
-30
-14
48
8
1
0
0
0
0
0
0
0
0
-4
-2
2
-8
-6
14
-43
0
17
0
0
0
0
0
0
0
0
0
-13
0
-2
0
-49
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
4
0
0
0
0
0
0
0
0
0
4
-13
-15
63
-153
18
151
9
0
51
0
0
0
0
0
0
0
-42
1
-45
-74
-15
125
112
71
-2
-90
0
0
0
0
0
0
0
-51
18
73
24
-22
85
14
19
-56
-87
0
0
0
0
0
0
0
-2
-4
-48
-39
-61
-25
7
14
10
-6
0
0
0
0
0
0
0
85
-26
82
-51
13
-12
81
-43
71
9
0
0
0
0
0
0
0
-14
0
-53
94
-59
-54
50
22
-90
-6
0
0
0
0
0
0
0
17
-2
-45
-25
-30
-33
21
62
-30
4
0
0
0
0
0
0
0
-1
0
8
0
4
130
-57
-54
0
-28
0
0
0
0
0
0
0
0
0
0
0
51
0
-15
-1
0
0
0
0
0
0
0
0
0
0
15
7
-7
-14
3
82
34
0
81
-6
0
0
0
0
0
0
4
-81
1
23
41
-100
102
5
86
74
-23
0
0
0
0
0
0
0
12
0
2
29
26
29
-3
-5
-14
-5
0
0
0
0
0
0
-4
-104
-13
-47
-81
85
-29
-73
0
-76
3
0
0
0
0
0
0
21
-27
-31
-27
31
70
23
74
13
-2
13
0
0
0
0
0
0
0
-66
0
-72
-15
-105
-5
105
38
-37
0
0
0
0
0
0
0
0
45
-4
66
90
164
-99
-45
23
-10
4
0
0
0
0
0
0
0
1
0
-45
0
33
64
94
-4
21
0
0
0
0
0
0
0
0
0
0
0
4
0
-22
7
6
0
0
0
0
0
0
0
0
3
-13
-10
-58
-11
-8
60
-16
0
82
-3
2
0
0
0
0
0
44
17
42
175
91
53
-49
187
26
19
6
0
0
0
0
0
0
8
31
-8
-40
7
-36
33
116
1
-19
36
0
0
0
0
0
0
-10
27
32
-17
-70
52
-19
-38
33
10
1
0
0
0
0
0
0
-22
2
-61
53
26
45
40
-26
20
49
-3
1
0
0
0
0
0
7
1
16
0
15
87
-35
9
19
-16
8
0
0
0
0
0
0
0
57
-21
14
-25
-58
20
-57
3
-14
0
0
0
0
0
0
0
0
-1
1
-1
0
34
15
73
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-6
0
0
0
0
0
0
0
0
0
0
-15
25
-11
41
43
13
67
0
4
-42
0
0
0
0
0
0
0
-25
-7
23
73
-46
15
-12
29
-21
-42
0
0
0
0
0
0
-1
-7
-35
22
-59
-70
25
-8
62
-25
0
5
0
0
0
0
0
14
33
-15
1
-9
-47
-32
35
-27
78
0
0
0
0
0
0
0
-2
5
-25
-5
-77
-27
43
24
-126
10
1
-3
0
0
0
0
0
0
-1
8
-2
0
37
14
-36
44
10
21
0
0
0
0
0
0
0
0
-14
14
3
34
-43
25
-107
-29
7
0
0
0
0
0
0
0
0
8
0
0
37
32
-135
-12
-10
0
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
13
4
-61
24
43
74
0
-139
1
-4
0
0
0
0
0
0
61
1
-61
3
35
-191
13
13
-66
61
0
0
0
0
0
0
0
-16
24
19
53
-77
-95
67
-6
98
3
0
0
0
0
0
0
-1
3
21
2
118
15
60
17
13
7
14
0
0
0
0
0
0
37
-8
-7
92
-34
18
-55
26
-89
-14
-21
0
0
0
0
0
0
0
6
-8
0
14
0
68
-120
5
18
3
0
0
0
0
0
0
0
2
-1
-36
-4
16
35
15
-20
-2
1
0
0
0
0
0
0
0
0
14
0
14
17
-21
-15
-15
14
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
33
-11
24
-27
0
-19
-21
0
0
0
0
0
0
0
13
0
-4
-28
-2
-53
-5
25
-10
-15
0
0
0
0
0
0
0
-10
-2
2
-43
18
12
-129
0
57
-23
0
0
0
0
0
0
0
14
0
-27
15
-12
58
8
5
43
0
1
0
0
0
0
0
0
-25
2
-30
-11
-43
-72
-5
109
-15
0
-3
0
0
0
0
0
0
2
0
36
-5
-56
0
40
-61
24
1
0
0
0
0
0
0
0
0
17
-15
28
-1
-5
19
-69
-16
1
0
0
0
0
0
0
0
0
0
-1
0
-2
-25
6
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
37
-25
-4
5
0
-32
1
0
0
0
0
0
0
0
-2
-3
8
3
-37
-7
1
-21
5
-53
0
0
0
0
0
0
0
-5
0
20
0
-26
112
29
-47
49
8
0
0
0
0
0
0
39
0
8
-5
60
14
14
-20
7
0
0
0
0
0
0
0
0
-2
4
2
-14
21
18
0
-5
-1
0
-2
0
0
0
0
0
0
0
-1
-10
-17
25
1
-4
0
25
1
-2
0
0
0
0
0
0
0
8
0
10
-25
16
0
11
-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
47
-44
-13
2
1
-15
-82
-54
0
-69
-1
0
0
0
0
0
0
1
-23
-15
-21
100
-90
54
-148
-78
-80
-10
0
0
0
0
0
0
24
-52
7
-7
-60
72
-56
-32
-116
22
0
0
0
0
0
0
0
-6
-102
-34
-219
47
30
80
-18
-53
28
0
0
0
0
0
0
0
-6
-66
-27
-24
73
-29
-38
-5
33
-2
0
0
0
0
0
0
0
-33
-213
-66
-3
-107
-111
-60
30
0
-36
0
0
0
0
0
0
0
-47
-1
-16
-1
35
-79
67
-6
16
0
0
0
0
0
0
0
0
0
1
-7
-28
5
-27
2
-56
0
0
0
0
0
0
0
0
0
0
2
0
0
-14
0
22
-7
0
0
0
0
0
0
0
0
0
0
34
-14
5
-1
5
67
81
0
53
-17
0
0
0
0
0
0
0
-48
31
7
-89
-45
107
34
-66
2
0
0
0
0
0
0
0
0
27
-3
-79
-159
-3
65
21
-16
-20
-5
0
0
0
0
0
0
0
14
33
-29
13
43
-23
128
9
-27
-1
0
0
0
0
0
0
0
-109
-43
160
-37
-74
95
-14
-8
-11
0
0
0
0
0
0
0
0
12
-9
-16
-42
-82
-38
-5
-14
0
-1
0
0
0
0
0
0
0
9
3
4
-27
-8
30
-100
0
0
0
0
0
0
0
0
0
0
14
2
0
-2
-21
-54
10
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
-2
0
0
0
8
3
0
0
0
0
0
0
0
0
1
-4
0
-1
2
25
8
7
-44
0
0
0
0
0
0
0
0
0
-1
0
9
-2
0
-2
43
1
0
0
0
0
0
0
0
0
-1
0
7
3
-3
-11
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
-15
11
-56
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
10
-1
-1
-10
64
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
53
10
-18
-22
1
0
0
0
0
0
0
0
0
-2
0
0
43
-17
-23
33
41
1
0
0
0
0
0
0
0
0
0
0
-4
1
-1
33
35
32
5
0
0
0
0
0
0
0
0
-1
4
5
87
16
11
-1
54
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
0
20
3
-29
0
0
0
0
0
0
0
0
0
-2
26
-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
-60
-2
-44
50
53
93
0
9
0
0
0
0
0
0
0
5
-10
-6
-1
5
11
53
90
-72
-59
0
0
0
0
0
0
0
11
1
-35
-85
17
85
18
18
-53
2
0
0
0
0
0
0
0
24
3
-44
17
-71
-79
31
48
-66
121
0
0
0
0
0
0
0
8
-5
149
-17
121
-29
-8
34
-9
8
0
0
0
0
0
0
0
7
-2
90
-36
73
-63
28
-18
5
9
0
0
0
0
0
0
0
19
0
2
-5
-29
-52
36
-63
43
5
0
0
0
0
0
0
0
1
0
1
-59
8
-4
-32
-53
-13
6
0
0
0
0
0
0
0
0
0
0
0
1
0
-11
-8
-4
0
0
0
0
0
0
0
0
0
-41
53
38
-14
-1
15
42
0
11
5
0
0
0
0
0
0
8
-10
-3
32
-136
152
-67
17
-10
-57
-4
0
0
0
0
0
0
0
-74
-10
-46
-26
30
65
35
-40
39
0
0
0
0
0
0
0
-1
-135
0
-49
30
-14
-17
-55
-2
-8
-1
0
0
0
0
0
0
-46
4
2
23
-37
-53
59
48
0
-99
0
0
0
0
0
0
0
-1
53
-19
17
-80
-53
29
62
1
-37
8
0
0
0
0
0
0
0
0
0
-7
14
19
-29
26
23
30
0
0
0
0
0
0
0
0
-5
-1
1
-2
48
-69
13
79
-71
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
14
0
0
0
0
0
0
0
0
0
0
0
4
-3
57
-14
13
14
0
124
0
0
0
0
0
0
0
0
20
3
2
-19
29
43
13
78
-38
-32
0
0
0
0
0
0
33
-29
3
5
-29
-78
81
47
-9
-3
-39
0
0
0
0
0
0
-16
45
57
-19
135
117
7
49
-53
-100
-22
0
0
0
0
0
0
2
99
65
-1
-75
62
39
-27
-5
45
-44
0
0
0
0
0
0
-5
24
-89
-27
-23
-56
47
12
-42
1
5
0
0
0
0
0
0
0
2
-4
0
54
42
-18
-50
64
26
-1
0
0
0
0
0
0
-3
-15
-18
-2
0
24
-44
6
-53
18
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
-25
-9
25
-45
59
-1
0
-85
-2
0
0
0
0
0
0
3
0
-17
-3
-60
46
-23
-75
-35
174
61
0
0
0
0
0
0
0
-42
23
0
8
-53
-21
-62
46
-48
5
0
0
0
0
0
0
8
10
61
11
-21
28
-31
-47
-6
-28
-36
0
0
0
0
0
0
0
-47
7
77
-30
-43
-24
72
48
-20
2
0
0
0
0
0
0
2
-76
26
1
-43
-37
-28
74
52
-57
32
6
0
0
0
0
0
0
0
-1
0
0
66
49
-48
-12
1
3
0
0
0
0
0
0
0
0
-3
-7
0
10
28
-28
-52
25
0
0
0
0
0
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
-88
-36
0
-2
3
0
0
0
0
0
0
0
-2
0
-8
7
-6
-43
-50
-45
-36
22
0
0
0
0
0
0
0
17
0
-6
126
-1
-17
38
73
21
0
-3
0
0
0
0
0
-11
0
-1
-17
34
40
6
-211
3
-40
-17
0
0
0
0
0
0
0
-5
5
0
96
-21
-68
-18
-31
109
0
0
0
0
0
0
0
4
3
53
33
-7
46
20
28
23
-8
14
0
0
0
0
0
0
0
-1
-2
7
3
0
20
8
-72
5
-3
0
0
0
0
0
0
2
0
0
22
0
32
-1
-19
4
-15
0
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
-2
4
2
-1
-20
24
0
3
6
0
0
0
0
0
0
0
-7
25
-2
-29
55
10
96
-11
-5
-32
0
0
0
0
0
0
0
-53
3
0
59
-5
-69
-20
5
2
0
0
0
0
0
0
0
0
21
0
10
75
79
-38
21
22
1
-2
0
0
0
0
0
0
0
101
24
23
99
-5
105
-38
13
23
6
0
0
0
0
0
0
0
68
13
31
-7
-42
-21
65
-47
128
0
-7
0
0
0
0
0
0
0
11
0
0
0
0
60
-17
1
0
0
0
0
0
0
0
0
0
0
0
-15
4
21
5
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
4
0
1
0
1
-1
3
7
0
-1
0
0
0
0
0
0
0
0
0
-7
-6
-1
-28
-17
-6
5
4
1
0
0
0
0
0
0
-44
0
-1
0
-33
-8
-114
-21
-197
0
0
0
0
0
0
0
0
9
0
0
-3
-10
-40
45
-9
6
-30
0
0
0
0
0
0
0
14
1
24
19
33
-14
28
-14
44
0
0
0
0
0
0
0
0
0
0
-6
5
2
117
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
1
-108
-2
64
0
-45
-1
0
0
0
0
0
0
0
0
0
0
-3
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
6
0
9
21
25
34
3
-21
0
-20
0
0
0
0
0
0
0
0
34
0
1
10
48
24
-77
-63
-14
1
0
0
0
0
0
0
0
-54
0
-25
9
57
92
-17
66
39
-13
0
0
0
0
0
0
0
-97
54
-105
6
-4
4
-4
-62
-71
0
0
0
0
0
0
0
-4
-40
53
21
-4
-17
71
-5
-54
-5
0
0
0
0
0
0
0
6
-7
-7
16
35
71
90
-3
-26
0
0
0
0
0
0
0
0
-3
-52
29
16
-118
-26
4
-90
0
26
0
0
0
0
0
0
0
0
-16
0
-31
-34
81
76
1
-14
10
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
-54
-5
-3
10
0
-17
0
0
0
0
0
0
0
0
8
20
0
9
34
9
-1
78
5
24
0
0
0
0
0
0
0
22
15
10
33
-3
139
57
24
-52
0
0
0
0
0
0
0
0
-59
1
-29
-71
15
-8
6
10
50
0
0
0
0
0
0
0
0
40
-10
-39
-75
-5
90
18
24
-30
0
0
0
0
0
0
0
0
18
2
22
-46
66
-5
53
0
-8
0
0
0
0
0
0
0
0
0
11
0
75
4
5
26
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-82
-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
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
-13
1
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-7
-3
7
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-13
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
14
10
-3
-4
0
0
0
0
0
0
0
0
0
-1
-1
-1
5
0
20
-9
0
-7
0
0
0
0
0
0
0
0
-7
-2
0
2
1
4
15
-5
5
0
0
0
0
0
0
0
0
0
0
0
-18
2
44
2
20
0
0
0
0
0
0
0
0
0
-23
-21
2
-8
-5
-15
-24
-1
-26
0
0
0
0
0
0
0
0
0
0
-5
-29
2
50
-1
-15
0
0
0
0
0
0
0
0
0
0
-10
8
17
15
-10
-98
3
3
0
0
0
0
0
0
0
0
0
-2
0
0
4
-8
0
1
-1
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
9
1
0
0
0
0
0
0
0
0
0
13
0
1
0
-7
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
-15
-3
-43
-45
19
-5
0
0
0
0
0
0
0
-138
0
3
-9
32
-16
70
26
28
0
0
0
0
0
0
0
0
26
-5
47
-53
5
93
1
17
-35
11
0
0
0
0
0
0
0
-14
3
81
-27
114
0
168
2
-53
-7
0
0
0
0
0
0
0
166
0
-93
-83
64
-28
-23
-73
-5
0
0
0
0
0
0
0
0
83
0
6
-26
-31
-7
-69
27
69
-1
0
0
0
0
0
0
0
0
0
0
3
-4
-111
5
22
-2
0
0
0
0
0
0
0
0
6
0
0
0
-15
-4
-70
1
34
0
0
0
0
0
0
0
0
0
0
6
9
-9
-1
9
10
0
-8
0
0
0
0
0
0
0
0
3
-2
-6
0
137
-23
-32
5
-5
0
0
0
0
0
0
0
-6
77
7
0
3
-2
-15
-23
38
10
0
0
0
0
0
0
0
-5
20
-2
23
35
-33
-14
-15
34
49
0
0
0
0
0
0
0
4
-35
0
2
-22
1
59
20
-51
-42
-10
0
0
0
0
0
0
3
31
1
-96
92
82
-38
51
51
73
0
0
0
0
0
0
0
-79
26
0
-25
-44
-9
-4
-79
-23
22
0
0
0
0
0
0
0
0
1
0
1
0
-8
-90
-19
-26
3
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
-6
-25
4
6
0
21
0
0
0
0
0
0
0
0
0
-9
-2
15
-47
-21
-55
-18
7
-1
0
0
0
0
0
0
0
0
0
1
-64
6
-71
-23
-7
-29
-6
0
0
0
0
0
0
-43
-7
18
1
-32
112
17
43
88
7
2
0
0
0
0
0
0
21
8
-3
1
23
45
-11
-17
33
13
12
0
0
0
0
0
0
-13
-17
-10
-32
39
68
41
106
-3
19
14
0
0
0
0
0
0
14
-7
-39
0
-80
3
30
-1
-24
-4
-1
0
0
0
0
0
0
0
-1
0
0
-6
70
3
45
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
2
14
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
-4
14
0
0
-8
0
0
0
0
0
0
0
0
0
-1
5
15
-21
-27
-4
-5
0
0
0
0
0
0
0
5
3
0
2
-7
7
-29
33
63
1
0
0
0
0
0
0
0
0
14
-4
17
-14
13
11
-12
48
-53
0
0
0
0
0
0
0
0
33
0
18
8
7
-8
-9
72
1
-1
0
0
0
0
0
0
-4
-7
51
12
-11
-17
41
10
-9
-10
0
8
0
0
0
0
0
0
1
0
-4
0
25
33
11
-2
-8
0
1
0
0
0
0
0
0
0
0
-5
0
120
51
15
-24
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
122
5
11
1
5
-7
0
0
0
0
0
0
0
0
0
0
35
0
14
3
81
0
0
0
0
0
0
0
0
-9
0
0
-5
3
73
-1
26
10
-1
-2
0
0
0
0
0
0
0
-14
1
0
-32
-4
2
-7
-16
0
-4
0
0
0
0
0
0
0
-1
3
-5
-19
-62
18
-1
-3
-2
0
0
0
0
0
0
0
41
1
0
32
-30
-3
8
-1
17
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-11
-43
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
-25
-20
-3
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
-10
0
0
6
-21
13
-18
0
0
0
0
0
0
0
0
0
-1
0
4
0
-6
-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
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-43
-2
2
0
0
0
0
0
0
0
0
0
-7
0
8
0
-33
-6
27
0
-11
0
0
0
0
0
0
0
0
0
8
0
-1
0
-5
-4
21
1
3
0
0
0
0
0
0
0
-4
0
-14
0
-6
-3
13
0
0
0
0
0
0
0
0
0
0
1
0
36
7
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
-34
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-18
0
0
0
0
0
0
0
0
0
0
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
-18
0
35
7
-8
-5
-19
-8
0
0
0
0
0
0
0
0
2
1
0
0
3
0
-32
-27
-60
-4
0
0
0
0
0
0
0
-1
0
0
22
8
-9
36
-10
13
-17
0
0
0
0
0
0
0
0
-51
4
-24
51
7
37
-6
-22
14
0
0
0
0
0
0
0
0
6
-4
-35
4
71
-2
68
-5
5
0
0
0
0
0
0
0
-2
-7
0
-28
4
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
-14
9
0
3
0
-3
-33
-4
-23
0
0
0
0
0
0
0
0
-6
0
0
0
0
26
-46
30
1
24
0
0
0
0
0
0
0
-34
3
-4
32
19
-25
39
-51
-4
0
0
0
0
0
0
0
0
-6
0
6
27
-10
1
-7
7
3
0
0
0
0
0
0
0
0
-10
-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
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
46
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
23
0
-1
0
0
0
0
0
0
0
0
11
0
0
35
0
19
0
-24
0
0
0
0
0
0
0
0
0
-6
0
5
7
-14
1
20
0
-19
0
0
0
0
0
0
0
0
-2
0
36
-14
0
-61
0
-13
0
0
0
0
0
0
0
0
0
-4
0
0
0
-63
0
103
0
0
0
0
0
0
0
0
0
0
4
0
0
5
-1
-34
0
26
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
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
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-8
35
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
4
0
-5
0
0
0
0
0
0
0
0
0
0
1
41
-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
1
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
2
7
8
5
0
0
0
0
0
0
0
0
0
0
0
0
6
7
14
0
-1
0
0
0
0
0
0
0
0
0
0
35
0
-2
1
-9
-3
0
3
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
-15
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
-6
-5
-10
-6
0
0
0
0
0
0
0
0
0
0
9
0
19
19
63
-5
8
0
2
0
0
0
0
0
0
0
0
53
54
0
68
58
-9
-14
-9
34
0
0
0
0
0
0
0
0
8
23
-80
2
46
-15
-1
0
-4
0
0
0
0
0
0
0
0
0
38
8
32
0
-11
10
0
19
0
0
0
0
0
0
0
0
-6
2
2
-9
0
2
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
-11
0
29
6
44
-8
-9
0
0
0
0
0
0
0
0
0
0
0
-74
0
42
83
28
18
0
1
0
0
0
0
0
0
0
0
0
-4
-93
4
75
-10
-28
-20
-5
-25
0
0
0
0
0
0
0
-1
99
17
16
8
-38
-32
-20
46
73
0
0
0
0
0
0
0
-7
-4
4
-28
23
-33
-6
7
41
5
0
0
0
0
0
0
0
0
19
-7
16
-18
-24
0
-5
0
-5
0
0
0
0
0
0
0
0
0
-25
4
24
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
61
-54
10
3
0
-3
0
0
0
0
0
0
0
0
0
-46
0
110
1
63
0
0
0
-20
0
0
0
0
0
0
0
-3
-43
-5
5
-10
-45
-41
-18
67
34
0
0
0
0
0
0
0
27
19
47
-34
-62
-5
80
-1
-15
-10
0
0
0
0
0
0
1
-15
24
52
-139
5
-61
32
5
1
0
0
0
0
0
0
0
0
15
17
-25
44
60
21
0
0
60
0
0
0
0
0
0
0
0
4
1
-4
77
-1
-1
0
4
0
0
0
0
0
0
0
0
0
0
8
-33
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
29
-2
-50
-4
60
20
0
-3
0
5
0
0
0
0
0
0
-5
0
44
-33
78
0
2
5
-33
-4
45
5
0
0
0
0
0
0
20
21
46
32
18
1
7
-1
23
-14
-2
0
0
0
0
0
-1
-5
26
16
8
160
20
-2
3
0
0
0
0
0
0
0
0
0
-23
50
-2
-22
0
-2
14
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
-29
-113
0
2
-1
0
0
0
0
0
0
0
0
0
0
4
25
19
-3
76
-2
-29
0
-1
0
0
2
0
0
0
0
0
55
-96
-13
-2
-16
38
2
2
-21
-16
4
2
0
0
0
0
0
4
-6
41
5
71
29
1
-5
-46
-2
0
2
0
0
0
0
0
-3
-1
19
-15
-33
20
-35
8
0
10
0
0
0
0
0
0
0
0
-6
18
24
25
-4
-7
1
0
-14
-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
74
10
-56
0
5
0
0
0
0
0
0
0
0
0
0
0
68
12
-17
15
-6
5
0
2
0
-1
0
0
0
0
0
0
38
72
-15
53
-67
-33
-108
-47
29
-77
-2
1
0
0
0
0
0
-23
-45
-62
-16
-1
14
16
-10
-22
2
0
0
1
0
0
0
0
33
-2
15
5
81
3
3
6
-2
-25
0
0
0
0
0
0
0
0
7
-91
144
49
-16
-5
-31
3
0
0
0
0
0
0
0
0
0
0
-10
49
-7
-41
0
0
10
-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
45
58
90
-81
49
0
1
0
4
0
0
0
0
0
0
0
5
48
16
-28
-37
-54
-36
0
3
0
0
0
0
0
0
0
0
1
-45
-7
-49
-33
-44
7
75
-47
33
-4
0
0
0
0
0
0
10
21
40
3
23
-70
4
-47
7
-5
3
0
-1
0
0
0
0
14
-4
-23
-74
-67
19
-43
-34
-5
-6
0
0
0
0
0
0
0
0
-51
-33
13
-141
98
32
14
5
33
0
0
0
0
0
0
0
0
0
-1
71
-3
-1
4
0
-29
-3
0
0
0
0
0
0
0
0
0
0
16
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
3
-19
33
17
-6
-33
-11
0
0
0
4
0
0
0
0
0
0
32
56
-5
5
3
-75
5
0
0
0
3
0
0
0
0
0
0
60
-48
-18
-101
-81
-97
-14
18
8
8
19
0
0
0
0
0
0
-8
-177
-5
-47
-37
-9
62
51
-5
0
-1
0
0
0
0
0
0
-3
-20
-16
17
-33
-82
2
1
17
26
-1
0
0
0
0
0
0
-4
-144
24
10
53
7
-3
1
0
1
0
0
0
0
0
0
0
0
0
-32
-44
13
4
-6
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-9
11
0
0
0
0
-1
0
0
0
0
0
0
0
-8
-72
48
-54
49
32
0
-7
0
-33
0
0
0
0
0
0
0
65
-24
-56
27
19
-13
-9
28
-2
27
-2
0
0
0
0
0
0
-20
-23
-32
-31
-52
-34
-45
-2
-2
104
0
0
0
0
0
0
0
1
45
23
79
-5
7
61
47
3
-14
0
0
0
0
0
0
0
10
31
25
49
-5
49
-85
-25
16
1
0
0
0
0
0
0
0
-17
-21
14
-17
6
45
15
-46
0
0
0
0
0
0
0
0
0
0
5
-84
2
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
-1
-4
24
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
33
7
-39
0
-6
0
2
11
0
0
0
0
0
0
0
-1
71
7
-68
11
-14
5
13
-4
5
0
0
0
0
0
0
0
0
0
-59
59
34
8
1
-32
8
-2
0
0
0
0
0
0
0
4
-7
-3
-31
16
-6
-5
18
3
-1
0
0
0
0
0
0
0
2
14
41
41
53
-13
-25
3
0
0
0
0
0
0
0
0
0
0
0
22
-92
2
11
0
-1
0
0
0
0
0
0
0
0
0
0
-5
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
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-13
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
4
24
-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
14
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
13
-16
51
-2
0
1
0
0
0
0
0
0
0
0
0
-2
101
-12
-4
27
-70
78
0
-5
0
0
0
0
0
0
0
0
18
-41
65
-6
-7
-53
9
8
-47
0
0
0
0
0
0
0
0
-11
95
-61
-54
-77
53
-27
-8
16
0
0
0
0
0
0
0
0
4
16
-60
-9
-8
-1
-5
1
9
0
0
0
0
0
0
0
0
0
103
-4
55
0
21
-2
-6
2
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
76
-1
10
30
102
23
0
0
-4
0
0
0
0
0
0
0
-3
-55
39
-81
56
-106
-95
0
-20
0
0
0
0
0
0
0
0
20
-4
16
-59
-4
-18
14
42
6
13
0
0
0
0
0
0
0
-7
18
104
-15
76
61
33
-33
-69
25
0
0
0
0
0
0
0
9
23
-28
31
36
5
-13
14
80
66
0
0
0
0
0
0
0
0
-4
89
-2
-4
-29
45
11
5
26
0
0
0
0
0
0
0
0
0
-1
5
4
24
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
-77
-2
-45
-18
34
-8
0
-1
2
0
0
0
0
0
0
0
64
-13
-39
-15
100
7
0
-5
0
21
0
0
0
0
0
0
0
-41
22
-3
34
96
46
5
-29
-98
12
0
0
0
0
0
0
0
7
-64
-17
21
-68
-77
55
-25
0
30
0
0
0
0
0
0
0
63
-38
72
-15
-27
-15
2
86
50
8
0
0
0
0
0
0
0
82
-58
46
5
1
18
47
10
-13
5
0
0
0
0
0
0
0
1
10
-5
-5
10
-4
5
22
-4
-2
0
0
0
0
0
0
0
0
-4
18
4
-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
-3
-4
-85
5
56
-27
-1
0
0
0
0
0
0
0
0
0
11
-37
-31
-81
56
33
-45
0
0
0
11
0
0
0
0
0
0
-10
-75
-52
18
109
26
-53
21
39
-3
-43
-1
0
0
0
0
0
10
2
15
-49
33
-65
2
-7
84
-6
-3
-2
0
0
0
0
0
9
-102
5
32
-24
45
16
31
-2
-14
13
0
0
0
0
0
0
0
17
69
45
45
71
-31
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
1
-63
33
-23
-48
1
17
-3
0
2
-4
1
0
0
0
0
0
21
60
11
73
14
65
14
0
6
0
-5
27
0
0
0
0
0
45
-82
-43
16
9
28
54
-21
-8
81
-2
0
3
0
0
0
0
-27
24
74
54
48
88
-79
50
-49
31
0
-2
0
0
0
0
0
-23
3
54
81
79
79
81
72
-43
33
1
-3
0
0
0
0
0
0
69
-80
-20
214
-55
-13
-21
1
-9
0
3
0
0
0
0
0
0
35
46
47
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
-14
-73
-16
21
-1
3
2
0
0
0
0
0
0
0
0
0
-52
67
23
-12
33
-72
80
0
49
0
0
0
0
0
0
0
0
-2
56
65
19
51
27
-38
-10
37
-2
23
0
0
0
0
0
0
6
81
-1
-123
140
-12
-30
83
63
13
-3
0
0
0
0
0
0
-4
60
-134
35
32
8
24
-82
47
1
0
0
0
0
0
0
0
0
23
6
-25
-1
74
-14
-22
3
4
0
0
0
0
0
0
0
-3
11
10
146
76
15
19
8
-6
0
0
0
0
0
0
0
0
0
23
4
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
40
-7
-53
-66
63
1
0
0
7
0
0
0
0
0
0
0
16
-58
-62
-101
-54
-44
14
0
0
0
6
-1
0
0
0
0
0
9
100
24
68
-2
9
27
-21
25
-69
33
10
0
0
0
0
0
-27
23
9
73
-38
31
-4
-20
-81
-14
6
0
-1
0
0
0
0
17
-19
71
3
67
48
-12
-134
-66
-19
8
0
0
0
0
0
0
0
-48
74
-80
-1
5
-19
2
18
-6
0
0
0
0
0
0
0
1
3
-83
83
14
-48
-20
54
35
26
-3
0
0
0
0
0
0
0
0
2
65
18
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
36
-51
62
36
21
30
8
0
-1
0
0
0
0
0
0
0
126
78
63
8
37
-33
-7
0
-76
0
22
0
0
0
0
0
0
10
95
-35
17
-34
88
68
12
84
-5
43
0
0
0
0
0
0
6
-39
-48
81
61
3
-19
-38
84
14
3
-5
0
0
0
0
0
-30
-2
-37
33
-89
-33
53
-7
11
-73
1
1
0
0
0
0
0
3
-9
-43
-21
-59
-10
27
20
28
-35
-3
0
0
0
0
0
0
-4
18
-42
78
-23
-1
44
-4
37
0
0
0
0
0
0
0
0
0
-2
0
-21
-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
9
66
-134
7
-31
-97
-71
-1
0
0
0
0
0
0
0
0
0
-1
-4
56
-55
4
62
13
0
0
0
-18
0
0
0
0
0
0
-14
-6
-57
-50
0
50
11
27
40
47
-21
3
0
0
0
0
0
4
41
-80
57
3
-157
-59
-81
-23
-157
-23
2
0
0
0
0
0
0
20
-35
-23
3
-2
-25
4
-19
-29
-33
0
0
0
0
0
0
0
45
-30
-90
-3
15
31
0
27
-86
0
0
0
0
0
0
0
5
-10
-75
-1
-43
-4
-65
2
-40
2
0
0
0
0
0
0
0
0
5
14
17
-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
27
74
-30
-31
40
85
-17
0
0
5
1
0
0
0
0
0
0
-35
79
-32
37
43
71
0
-49
0
64
0
0
0
0
0
0
0
91
16
37
58
3
37
42
-38
8
-100
3
0
0
0
0
0
0
-14
46
-11
-9
-60
-42
2
-111
-90
-34
0
0
0
0
0
0
0
-52
-6
68
-77
28
-76
57
75
-31
31
0
0
0
0
0
0
0
-78
-12
-27
-80
-121
8
104
-43
-4
4
0
0
0
0
0
0
0
-14
-31
3
11
-71
-106
44
-17
-1
2
0
0
0
0
0
0
0
1
16
-48
-1
-23
0
0
14
0
0
0
0
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
59
-17
-10
22
0
0
0
-1
0
0
0
0
0
0
0
-15
14
16
-94
62
0
0
0
-5
-3
0
0
0
0
0
0
0
58
109
17
78
-44
47
5
-31
4
-10
0
0
0
0
0
0
0
-35
24
-42
29
13
19
-86
-138
-10
5
0
0
0
0
0
0
0
-17
15
10
26
-14
-17
-27
-10
5
8
0
0
0
0
0
0
0
-3
29
33
19
2
-11
-1
2
0
0
0
0
0
0
0
0
0
0
33
-43
-51
24
-13
0
0
0
-1
0
0
0
0
0
0
0
0
0
-10
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
27
0
0
-7
0
0
0
0
0
0
0
0
0
0
-9
-5
17
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-21
1
-2
0
-16
-18
-2
6
0
0
0
0
0
0
0
2
34
-9
-8
2
-5
0
-34
3
1
0
0
0
0
0
0
0
0
1
4
-18
-16
-6
1
2
0
0
0
0
0
0
0
0
0
0
-3
8
-14
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
-13
-4
2
0
0
0
0
0
0
0
0
0
0
0
32
-6
44
43
-24
34
-2
0
-9
0
0
0
0
0
0
0
0
0
33
21
-7
24
-27
3
-36
104
0
0
0
0
0
0
0
0
10
77
-33
-19
65
-67
-14
-10
-14
0
0
0
0
0
0
0
0
10
110
3
32
1
-64
0
0
5
0
0
0
0
0
0
0
0
0
20
31
4
-19
8
2
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
41
-26
71
2
0
-5
0
0
0
0
0
0
0
0
27
-72
6
-31
-10
-3
0
1
0
0
0
0
0
0
0
0
-10
-105
-99
-21
-49
64
3
22
-30
0
0
0
0
0
0
0
0
-49
20
5
-24
-47
34
-85
-43
25
60
0
0
0
0
0
0
0
2
-32
15
-81
3
6
-8
43
-10
93
0
0
0
0
0
0
0
0
34
115
-6
-2
-53
-19
10
1
-1
0
0
0
0
0
0
0
0
0
47
-17
-25
4
8
1
1
-5
0
0
0
0
0
0
0
0
-2
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
130
2
-8
53
-23
4
0
7
5
0
0
0
0
0
0
0
10
-17
15
-57
50
-53
0
-5
0
2
0
0
0
0
0
0
0
10
5
-66
119
20
-44
-77
1
33
-17
0
0
0
0
0
0
0
5
61
-20
-23
-9
65
-29
-6
-33
-14
0
0
0
0
0
0
0
2
26
-79
-100
23
7
-5
7
6
0
0
0
0
0
0
0
0
16
23
-43
-24
-83
62
13
0
-5
0
0
0
0
0
0
0
0
0
27
45
2
-7
0
0
-10
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
33
1
95
49
68
-4
25
2
0
-1
-2
-1
0
0
0
0
0
1
-14
23
81
-7
106
13
0
3
0
-11
-1
0
0
0
0
0
-29
62
15
62
-14
35
-1
-11
-30
-18
-4
1
0
0
0
0
0
-8
22
31
5
40
-39
110
37
15
-2
5
1
0
0
0
0
0
50
-60
9
26
91
-7
6
-10
19
0
1
0
0
0
0
0
0
0
14
-17
33
7
5
0
-5
-16
0
0
0
0
0
0
0
0
0
0
-1
6
-3
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
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
-5
65
-55
53
26
88
-18
5
0
-1
0
1
0
0
0
0
0
-17
117
88
-20
18
-43
-53
0
22
0
4
0
0
0
0
0
0
71
51
-5
-1
33
66
53
-7
-36
24
6
-2
0
0
0
0
0
106
-19
-33
63
22
31
-11
19
-69
-2
0
-9
0
0
0
0
0
-5
-52
6
-18
56
-12
-6
-39
-44
8
0
0
0
0
0
0
0
0
-71
-91
10
23
-14
-62
5
-2
3
5
0
0
0
0
0
0
0
2
-56
23
-32
-15
-20
1
10
0
0
0
0
0
0
0
0
0
-2
0
-4
-11
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
123
3
-23
-59
53
45
-31
0
0
0
4
0
0
0
0
0
0
58
35
43
-55
-16
-28
69
0
0
0
4
1
0
0
0
0
0
-2
-33
55
57
-72
6
-5
-26
-3
98
29
-2
-1
0
0
0
0
-76
32
-20
62
-73
12
20
69
-49
-6
1
1
0
0
0
0
0
-3
-12
3
-8
90
1
13
-71
18
5
0
-7
0
0
0
0
0
0
-94
-90
-43
39
-5
-16
48
-4
-8
-4
0
0
0
0
0
0
-19
5
144
-29
14
6
-48
6
-29
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
3
32
11
69
-33
-24
80
0
0
-10
-2
0
0
0
0
0
0
-23
7
35
33
42
-14
-85
0
4
0
-5
-2
0
0
0
0
0
-1
142
19
1
9
9
32
48
55
21
0
11
0
0
0
0
0
24
31
77
18
-32
-60
98
-50
-20
27
1
0
0
0
0
0
0
-21
33
60
-18
-84
-105
-23
-2
-70
31
3
0
0
0
0
0
0
0
66
36
6
21
-40
67
-19
-43
-6
5
0
0
0
0
0
0
0
-50
-2
88
94
47
16
-1
13
-48
0
0
0
0
0
0
0
0
2
15
82
-16
0
-11
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
-33
17
27
-47
-50
-5
-80
0
0
0
18
0
0
0
0
0
0
-31
23
-6
8
49
15
-5
0
-25
0
-32
0
0
0
0
0
0
-78
-40
-16
-51
5
14
-44
7
-11
22
-53
0
0
0
0
0
0
-80
34
37
-19
-41
-46
-35
67
-49
-47
-8
0
0
0
0
0
0
-6
64
67
5
-54
20
23
43
-17
-49
1
0
0
0
0
0
0
28
-12
43
-42
110
15
11
18
12
-38
0
0
0
0
0
0
0
-3
6
-79
63
-27
11
65
1
34
-26
0
0
0
0
0
0
0
0
14
-8
10
-2
57
-1
0
-1
0
0
0
0
0
0
0
0
0
25
7
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-40
79
26
122
-71
-122
157
5
0
58
0
-4
0
0
0
0
0
21
32
44
-67
-37
73
-30
0
-33
0
1
0
0
0
0
0
0
100
61
-25
-43
-73
-4
82
44
21
32
-32
-5
0
0
0
0
0
-65
49
13
54
-24
-24
76
-21
-29
-74
1
0
0
0
0
0
0
92
71
26
57
3
10
-78
19
46
-25
-1
0
0
0
0
0
0
2
-97
55
-6
44
-37
-111
-17
55
-54
2
0
0
0
0
0
0
1
9
15
-31
-89
34
-20
-71
-28
4
0
0
0
0
0
0
0
0
-110
48
-74
91
-12
2
6
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
9
-6
19
16
-16
-40
5
0
1
33
0
0
0
0
0
0
0
50
-15
23
-126
45
81
0
26
0
-81
-8
0
0
0
0
0
0
110
-8
47
-41
-33
79
-159
31
-147
33
0
0
0
0
0
0
0
-61
-44
30
-38
-48
-111
-45
-103
-84
-7
-1
0
0
0
0
0
0
58
-133
7
28
-3
27
62
21
43
26
0
0
0
0
0
0
0
-7
-51
55
-78
-45
42
61
-40
-42
-25
0
0
0
0
0
0
0
44
-20
36
41
-28
54
-14
-16
-6
0
0
0
0
0
0
0
0
0
-19
24
24
19
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
19
98
-117
-53
7
8
0
2
0
4
0
0
0
0
0
0
0
50
20
78
-16
-29
0
-3
0
-4
-15
0
0
0
0
0
0
0
37
36
-16
-13
-5
48
-5
37
0
-13
0
0
0
0
0
0
0
-9
48
2
-50
80
-53
-1
-73
-2
25
0
0
0
0
0
0
0
18
35
66
21
66
-37
0
-17
0
-4
0
0
0
0
0
0
0
3
168
55
-31
22
-33
3
0
0
4
0
0
0
0
0
0
0
0
-8
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
-11
10
0
0
6
0
0
0
0
0
0
0
0
0
-1
35
4
32
0
2
0
-29
0
0
0
0
0
0
0
0
0
0
8
9
-24
9
5
-11
0
-1
0
0
0
0
0
0
0
0
0
8
-2
-5
37
9
-3
0
0
-1
0
0
0
0
0
0
0
0
8
11
-5
-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
-13
56
0
37
-1
0
0
0
0
0
0
0
0
0
0
0
19
79
-3
79
2
3
-1
0
2
0
0
0
0
0
0
0
0
-28
0
0
5
45
-54
14
3
-47
0
0
0
0
0
0
0
0
0
-32
-18
81
35
4
3
-2
52
0
0
0
0
0
0
0
0
-3
-1
-53
-7
77
9
-1
0
37
0
0
0
0
0
0
0
0
-2
11
5
-2
27
25
1
0
1
0
0
0
0
0
0
0
0
0
0
35
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
7
0
-14
0
0
0
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
-24
-54
-17
77
-73
2
0
1
0
0
0
0
0
0
0
-3
54
15
-55
-16
14
-18
0
5
0
0
0
0
0
0
0
0
-1
25
-13
-39
-7
-28
33
-8
121
-88
0
0
0
0
0
0
0
0
19
-83
53
8
86
-68
4
-54
38
0
0
0
0
0
0
0
0
-36
21
-47
-79
64
109
54
-10
163
0
0
0
0
0
0
0
0
-65
-74
-2
-65
-25
-202
-27
8
23
0
0
0
0
0
0
0
0
3
9
54
-25
90
-1
14
14
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
53
44
-8
75
16
1
1
0
-2
0
0
0
0
0
0
0
0
67
45
104
-133
28
-51
0
0
0
-13
0
0
0
0
0
0
0
13
4
9
17
-2
-116
-33
-58
45
-17
0
0
0
0
0
0
0
31
21
-64
10
-26
-2
-20
-25
33
0
0
0
0
0
0
0
0
0
-5
3
53
-86
37
25
19
-5
2
0
0
0
0
0
0
0
-1
3
-3
-53
-65
-21
3
-1
14
-1
0
0
0
0
0
0
0
7
-11
-16
134
-1
2
0
0
-6
0
0
0
0
0
0
0
0
0
4
-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
0
0
0
0
0
-30
91
-188
-37
4
3
0
0
0
0
0
0
0
0
0
0
2
-5
8
44
-12
-56
-11
0
4
0
-22
-7
0
0
0
0
0
34
85
-70
-51
36
-20
18
17
-5
15
-13
1
0
0
0
0
0
-37
-1
10
29
27
64
44
8
35
-17
0
1
0
0
0
0
0
1
112
6
21
80
-11
59
63
-21
2
-2
0
0
0
0
0
0
0
8
-11
-34
67
-3
51
10
1
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
-2
-11
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
-6
-19
98
30
74
62
60
-3
0
0
0
0
0
0
0
0
0
8
89
46
-22
-124
55
-92
0
17
0
0
0
0
0
0
0
0
15
-19
-16
-7
-121
50
-12
-13
24
32
-2
-7
0
0
0
0
0
-6
1
43
30
55
-73
-52
-82
6
-15
0
-2
0
0
0
0
0
11
-82
-33
-53
-33
-42
12
60
57
31
0
-1
0
0
0
0
0
2
-82
-7
-35
-15
-12
1
45
55
29
0
0
0
0
0
0
0
3
0
-2
-7
-77
0
66
-1
-1
-6
0
0
0
0
0
0
0
0
-1
3
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
64
-53
4
-69
53
-5
-7
0
-2
0
0
0
0
0
0
0
53
11
-80
-36
98
27
-37
0
24
0
-8
-4
0
0
0
0
0
22
1
-23
82
62
-33
-27
-59
12
-63
-2
0
0
0
0
0
0
120
83
44
-5
51
29
32
-19
7
4
-1
0
0
0
0
0
0
96
34
-28
177
-5
35
-30
-96
10
73
0
0
0
0
0
0
0
3
-64
-23
6
-5
71
126
-16
-29
-31
0
0
0
0
0
0
0
2
-5
49
60
37
5
23
-5
5
0
0
0
0
0
0
0
0
0
1
-43
-6
-8
14
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
25
-24
31
30
-40
14
47
5
0
-4
1
0
0
0
0
0
0
7
46
8
-6
-30
-118
86
0
-65
0
-22
0
0
0
0
0
0
51
9
30
16
70
89
-61
81
15
43
14
8
0
0
0
0
0
5
-79
39
-41
5
36
-63
33
-33
148
0
0
0
0
0
0
0
1
32
-34
16
-21
25
121
17
-30
20
0
0
0
0
0
0
0
4
89
-97
89
23
112
-33
-143
30
-11
0
0
0
0
0
0
0
0
-3
-28
53
50
-68
-25
-32
-109
-3
0
0
0
0
0
0
0
0
-10
3
-36
2
44
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
75
35
62
70
-87
95
47
17
0
-1
8
0
0
0
0
0
0
-29
55
130
-55
-23
-6
12
0
104
0
-14
0
0
0
0
0
0
12
72
50
-9
13
64
21
42
83
89
59
-4
0
0
0
0
0
-7
23
-35
-2
0
142
-14
-42
-55
4
0
0
0
0
0
0
0
56
-40
47
33
-50
63
81
2
-73
53
2
0
0
0
0
0
0
-33
24
84
-7
36
-7
-29
-3
-73
-10
0
0
0
0
0
0
0
7
62
-61
33
24
32
31
6
-54
-14
0
0
0
0
0
0
0
0
-50
5
24
115
-50
7
-1
-25
-10
0
0
0
0
0
0
0
0
-18
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
39
18
14
-56
94
14
-35
17
0
0
1
0
0
0
0
0
0
16
-13
75
1
41
19
-15
0
14
0
-13
0
0
0
0
0
0
-72
32
4
12
32
-66
-13
-24
-69
-106
27
-3
0
0
0
0
0
20
-24
9
24
-17
5
26
17
-39
43
0
0
0
0
0
0
0
-7
-31
-44
-9
4
28
-59
45
14
-13
6
0
0
0
0
0
0
-1
63
1
11
-25
7
-109
-14
14
-44
0
0
0
0
0
0
0
1
10
-90
-9
39
4
-15
-22
-23
62
0
0
0
0
0
0
0
0
-25
16
-22
-57
20
25
4
0
0
0
0
0
0
0
0
0
0
0
-7
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-42
11
-21
-121
127
110
0
-5
16
0
0
0
0
0
0
0
21
-6
75
-50
50
-28
0
2
0
37
0
0
0
0
0
0
0
-19
6
24
43
-43
58
-33
-3
17
38
-4
0
0
0
0
0
0
-13
41
-54
-30
-37
80
-28
67
-5
53
0
0
0
0
0
0
0
52
38
2
-54
6
14
166
-37
-51
5
0
0
0
0
0
0
0
82
-64
-4
56
44
135
12
65
-23
-24
0
0
0
0
0
0
0
14
-2
-48
-25
-9
-95
72
32
-14
0
0
0
0
0
0
0
0
3
-117
1
71
20
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
-6
22
93
53
29
0
4
2
2
0
0
0
0
0
0
0
44
57
16
114
21
0
0
0
13
-19
0
0
0
0
0
0
0
-20
7
11
-19
-56
-23
-3
9
-4
-22
0
0
0
0
0
0
0
17
26
-5
5
77
36
-2
14
0
-7
0
0
0
0
0
0
0
5
17
25
-21
119
62
-6
25
1
-1
0
0
0
0
0
0
0
-23
-14
-9
-91
-26
65
1
2
4
0
0
0
0
0
0
0
0
0
1
-9
-32
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
4
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
-8
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
3
25
0
-5
0
0
3
-5
0
0
0
0
0
0
0
0
-9
16
-14
-13
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
-45
-2
-13
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
22
75
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
7
-19
-116
-46
6
-14
0
0
0
0
0
0
0
0
0
0
17
12
-17
57
16
-1
-1
-4
0
0
0
0
0
0
0
0
0
26
-3
5
42
-48
-1
5
0
-17
0
0
0
0
0
0
0
0
0
55
41
-43
-99
26
2
1
-10
0
0
0
0
0
0
0
0
-1
0
-49
56
3
14
-1
0
0
0
0
0
0
0
0
0
0
0
2
3
17
9
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-82
35
-50
32
36
0
0
26
0
0
0
0
0
0
0
-2
142
73
66
7
12
-1
0
4
0
0
0
0
0
0
0
0
0
-56
-48
26
-16
72
40
11
18
138
0
0
0
0
0
0
0
1
-3
3
-32
-55
-4
-116
105
-17
22
0
0
0
0
0
0
0
1
0
27
-91
-2
24
-84
-44
-56
26
0
0
0
0
0
0
0
0
-14
41
53
-70
-70
-46
43
-21
32
0
0
0
0
0
0
0
0
-3
-97
-47
63
-18
-16
18
11
-9
0
0
0
0
0
0
0
0
1
-42
142
5
23
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
13
109
47
-54
37
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
59
44
57
10
0
-1
0
-9
0
0
0
0
0
0
0
11
-53
36
-26
-57
-26
-2
39
81
-4
0
0
0
0
0
0
0
-2
93
-20
-40
-8
4
-46
-2
7
0
0
0
0
0
0
0
0
17
0
-15
-61
91
45
124
5
-4
-1
0
0
0
0
0
0
0
0
-38
6
0
40
5
1
-11
24
2
0
0
0
0
0
0
0
0
-23
93
1
37
-1
17
9
-10
0
0
0
0
0
0
0
0
6
1
53
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
51
18
-23
28
92
69
3
0
0
0
-2
0
0
0
0
0
0
-48
-14
0
-21
-96
3
-6
0
0
0
-11
0
0
0
0
0
0
23
44
-45
25
70
-100
21
11
-53
-7
1
-1
0
0
0
0
0
-12
-52
15
71
31
-22
1
-34
-87
-6
0
0
0
0
0
0
0
0
91
40
0
82
49
22
-5
14
0
0
0
0
0
0
0
0
0
94
1
42
4
-2
3
35
6
-1
0
0
0
0
0
0
0
-1
0
-13
0
-15
0
3
0
0
0
0
0
0
0
0
0
0
0
21
0
0
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
-8
65
26
29
70
-10
5
-2
0
0
-1
0
0
0
0
0
0
75
17
44
-36
50
-31
16
0
5
0
5
-1
0
0
0
0
0
-1
39
-3
12
14
50
-44
-6
66
55
0
-3
0
0
0
0
0
0
2
70
-22
75
91
-61
47
24
44
0
0
0
0
0
0
0
69
1
56
20
0
38
-4
-49
20
-33
0
0
0
0
0
0
0
-2
12
-45
-154
-5
-14
-22
22
-48
23
0
0
0
0
0
0
0
7
15
-24
16
-50
-55
-6
-8
7
1
0
0
0
0
0
0
0
0
0
0
39
10
11
0
0
0
-1
0
0
0
0
0
0
0
0
2
9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
77
83
66
102
10
27
82
0
0
0
0
0
0
0
0
0
0
20
114
94
-16
106
9
-101
0
-71
0
-4
0
0
0
0
0
0
3
55
-55
2
81
-55
-43
-104
54
-138
5
0
0
0
0
0
0
120
19
0
80
-22
24
140
-21
88
-10
0
0
0
0
0
0
0
-30
23
47
6
37
0
105
-14
14
0
2
0
0
0
0
0
0
-5
50
1
32
-105
88
-63
44
49
0
0
0
0
0
0
0
0
-3
-3
-13
-14
1
57
-19
-48
18
0
0
0
0
0
0
0
0
0
-123
0
26
2
-1
0
4
0
0
0
0
0
0
0
0
0
-2
0
-13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-59
-32
-28
-114
59
-57
-5
0
-5
1
0
0
0
0
0
0
70
31
80
-29
-26
-4
4
0
6
0
2
0
0
0
0
0
0
68
63
49
23
-3
-5
-53
0
37
-3
-1
0
0
0
0
0
0
24
7
29
-42
61
97
-69
41
79
-23
6
0
0
0
0
0
0
69
85
23
21
-28
81
0
16
9
8
0
0
0
0
0
0
0
-17
15
23
-2
21
28
-42
32
-49
66
0
0
0
0
0
0
0
-2
-2
15
-58
5
7
-33
-114
-90
1
0
0
0
0
0
0
0
0
-16
-36
1
5
-9
0
0
-7
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
60
-73
53
73
90
-13
84
1
0
0
-10
0
0
0
0
0
0
-21
72
69
46
-2
53
96
0
103
0
-5
0
0
0
0
0
0
1
24
50
8
-72
19
167
-44
21
-74
-33
-2
0
0
0
0
0
19
-17
35
13
53
72
192
-75
84
24
-36
-2
0
0
0
0
0
53
0
109
15
96
-53
34
0
-117
-3
0
0
0
0
0
0
0
-59
26
61
-10
-13
-75
13
10
-3
-22
0
0
0
0
0
0
0
-41
-18
-42
3
12
-24
-79
0
-73
-3
0
0
0
0
0
0
0
0
-70
-14
-6
-6
11
0
0
2
-6
0
0
0
0
0
0
0
0
0
17
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
-17
97
4
-40
-73
-44
-71
30
0
-2
-4
0
0
0
0
0
0
65
-13
53
8
-30
17
23
0
-2
0
46
-6
0
0
0
0
0
-11
35
10
-7
-27
17
131
88
-90
-25
-1
-3
0
0
0
0
0
-44
-56
9
6
-25
27
-29
-41
-45
52
14
5
0
0
0
0
0
71
67
-12
90
31
103
79
79
0
81
-4
0
0
0
0
0
0
5
-18
-34
-103
4
-36
55
4
-40
-45
0
0
0
0
0
0
0
3
-48
71
-170
-26
53
57
-7
-1
-11
0
0
0
0
0
0
0
0
21
43
-80
1
21
10
-5
-1
13
0
0
0
0
0
0
0
0
0
-25
0
4
12
0
0
0
0
0
0
0
0
0
0
0
0
-91
-24
6
-74
-67
1
0
0
0
41
4
0
0
0
0
0
0
-17
-10
57
-24
-21
-22
0
32
0
106
5
0
0
0
0
0
0
42
23
42
14
-30
89
-12
105
-45
-1
-1
0
0
0
0
0
0
-30
51
1
5
-33
-10
-2
49
117
9
-9
0
0
0
0
0
0
29
-3
92
-43
57
7
-12
108
0
15
0
0
0
0
0
0
0
24
-80
-96
20
1
80
-89
21
29
-6
0
0
0
0
0
0
0
71
-5
4
-25
21
25
-58
116
1
2
0
0
0
0
0
0
0
0
-6
-10
16
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
15
43
25
-21
7
0
1
3
-7
0
0
0
0
0
0
0
-37
-33
39
14
-11
0
3
0
-14
0
0
0
0
0
0
0
0
3
18
87
89
-30
52
47
8
0
-22
0
0
0
0
0
0
0
-24
33
115
29
26
-6
-56
17
-29
-1
0
0
0
0
0
0
0
0
60
-11
-36
-14
2
0
-1
0
-3
0
0
0
0
0
0
0
-14
14
74
-7
32
-1
9
2
0
0
0
0
0
0
0
0
0
0
-8
12
-26
0
-7
7
0
0
0
0
0
0
0
0
0
0
0
8
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
-6
0
-26
2
0
0
-5
0
0
0
0
0
0
0
0
0
-2
-26
-3
-9
0
0
0
-9
1
1
0
0
0
0
0
0
0
0
3
13
-9
-8
-2
1
0
1
-2
0
0
0
0
0
0
0
0
-10
-21
7
-9
-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
9
35
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
87
-3
-17
0
-3
0
0
5
0
0
0
0
0
0
0
0
-9
-5
-77
13
-26
21
-1
0
1
0
0
0
0
0
0
0
0
-5
-54
-9
-35
53
-72
2
0
-25
0
0
0
0
0
0
0
0
58
0
-39
-44
6
-11
1
0
-5
0
0
0
0
0
0
0
0
0
118
2
-4
23
-98
-11
4
-4
0
0
0
0
0
0
0
0
0
0
139
34
4
-4
0
0
8
0
0
0
0
0
0
0
0
0
1
0
32
6
-22
0
-2
-1
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
29
77
-14
34
0
0
-9
0
0
0
0
0
0
0
0
0
2
-8
-14
-43
72
-21
-35
0
-1
0
0
0
0
0
0
0
0
0
54
-134
-81
20
-54
14
-11
-13
-3
0
0
0
0
0
0
0
0
56
30
-11
-166
58
56
-59
-13
-1
0
0
0
0
0
0
0
0
15
5
-149
1
24
34
16
-21
-18
0
0
0
0
0
0
0
-6
0
72
-15
35
-49
103
4
1
-30
0
0
0
0
0
0
0
0
-5
8
-17
159
80
-27
-9
2
0
0
0
0
0
0
0
0
0
-1
3
37
20
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
23
-84
5
-77
-1
0
0
0
0
0
0
0
0
0
0
0
81
-22
12
131
-30
-39
0
0
0
15
0
0
0
0
0
0
0
53
89
-6
-26
1
19
7
80
30
43
0
0
0
0
0
0
0
-5
-11
-45
-34
5
-148
-43
-4
-65
-23
0
0
0
0
0
0
0
1
-12
0
32
-15
66
50
-39
39
0
0
0
0
0
0
0
0
-2
0
98
51
31
23
-2
2
34
-4
0
0
0
0
0
0
0
-1
49
0
63
53
-3
-17
0
22
0
0
0
0
0
0
0
0
0
0
35
0
-68
4
0
0
0
0
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
-33
-23
-1
4
2
0
-2
-6
0
0
0
0
0
0
4
-158
-14
23
72
-94
27
0
5
0
-43
0
0
0
0
0
0
-1
68
16
-34
61
5
2
20
53
24
-29
1
0
0
0
0
0
4
15
88
37
29
-77
-75
41
26
-1
2
0
0
0
0
0
0
43
-47
-7
-26
49
181
26
-21
-63
-4
0
0
0
0
0
0
0
0
-14
-19
0
24
18
13
1
0
0
0
6
0
0
0
0
0
-1
14
0
-3
0
-2
-22
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
72
-82
-44
-24
43
93
2
0
0
0
0
0
0
0
0
0
-2
2
30
46
20
30
-83
0
-2
0
0
-1
0
0
0
0
0
-19
-46
-48
26
41
9
50
77
-25
1
0
-1
0
0
0
0
0
8
23
-101
9
37
-26
-65
-118
20
-12
0
2
0
0
0
0
0
60
-4
-6
-16
95
63
-83
-1
5
-127
-3
0
0
0
0
0
0
0
13
32
-50
0
-101
17
0
0
-2
0
0
0
0
0
0
0
1
106
53
-3
-70
1
-6
-39
11
1
0
0
0
0
0
0
0
0
4
0
8
2
-17
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
-31
-64
27
-36
39
25
-53
-15
0
-2
0
0
0
0
0
0
0
22
-2
29
26
36
15
32
0
23
0
1
0
0
0
0
0
0
106
65
-123
81
56
70
-60
11
3
-64
3
0
0
0
0
0
0
51
44
11
-46
19
-12
-7
13
40
-1
-4
0
0
0
0
0
0
52
55
-6
56
82
51
-21
-79
36
-109
16
0
0
0
0
0
0
1
46
39
-19
2
0
5
3
2
5
3
0
0
0
0
0
0
22
93
59
86
-49
-6
-5
-1
-1
-2
0
0
0
0
0
0
0
0
-77
21
-29
-5
14
-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
10
47
71
-62
-27
-18
-13
-21
0
0
3
0
0
0
0
0
0
31
27
19
24
-40
96
100
0
5
0
0
0
0
0
0
0
0
14
62
24
-62
-11
-53
7
-79
96
-79
0
3
0
0
0
0
0
-17
95
69
35
28
-33
-48
9
-13
8
1
3
0
0
0
0
0
62
12
-51
-15
-30
86
-47
-7
47
-86
0
0
0
0
0
0
0
0
-30
52
-86
-12
90
0
-2
27
-3
2
0
0
0
0
0
0
2
-19
-62
-3
46
0
43
-83
99
-16
0
0
0
0
0
0
0
0
-17
29
80
-2
54
-2
-5
-1
10
0
0
0
0
0
0
0
0
0
15
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-34
-43
94
-21
48
-14
15
-17
0
-13
1
0
0
0
0
0
0
128
70
41
-30
0
7
-38
0
49
0
6
-2
0
0
0
0
0
27
2
34
2
7
23
7
122
58
103
57
-2
0
0
0
0
0
-27
22
25
-3
75
26
50
8
37
-157
9
0
0
0
0
0
0
-30
80
72
9
33
71
143
97
14
77
34
0
0
0
0
0
0
21
35
55
62
-52
112
-46
0
-13
1
0
0
0
0
0
0
0
-34
-5
11
30
-20
35
51
8
-44
-9
0
0
0
0
0
0
0
0
-102
43
-61
25
-18
-22
2
-3
-4
0
0
0
0
0
0
0
0
0
44
55
0
0
0
0
0
0
0
0
0
0
0
0
0
76
71
-24
-38
16
-38
71
11
0
27
8
0
0
0
0
0
0
-8
-29
-77
22
14
-43
-24
0
-73
0
-14
-1
0
0
0
0
0
38
15
20
-62
-19
0
20
-24
124
15
-1
4
0
0
0
0
0
-46
39
38
-70
9
17
-104
1
41
-63
-15
0
0
0
0
0
0
40
0
27
52
-11
51
-23
31
92
39
-11
0
0
0
0
0
0
-17
-36
12
91
45
139
55
-32
0
-57
0
0
0
0
0
0
0
-10
20
59
-62
-4
74
-37
-52
2
-4
0
0
0
0
0
0
0
0
54
-29
-59
-87
-11
21
1
0
-46
0
0
0
0
0
0
0
0
31
-8
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-61
-13
17
24
12
30
0
1
88
0
0
0
0
0
0
0
16
46
3
74
11
-18
0
3
0
39
0
0
0
0
0
0
0
45
9
-44
59
148
-4
-33
-4
131
6
-1
0
0
0
0
0
0
14
5
-26
-31
49
-25
76
22
-15
25
0
0
0
0
0
0
0
-3
31
-7
-59
128
-23
-47
-89
95
26
0
0
0
0
0
0
0
-28
99
-38
-18
41
60
28
9
0
-7
0
0
0
0
0
0
0
-11
100
-32
-42
33
24
14
-26
-2
0
0
0
0
0
0
0
0
0
-17
-4
48
50
-4
0
-41
0
0
0
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
-14
-55
43
-26
-16
0
5
14
0
0
0
0
0
0
0
0
-6
44
2
-2
27
0
5
0
-8
-31
0
0
0
0
0
0
0
-40
65
-41
30
20
-32
-25
-2
9
-31
0
0
0
0
0
0
0
16
-35
-22
2
-126
29
29
-51
1
-36
0
0
0
0
0
0
0
5
115
10
32
63
4
40
1
-4
-15
0
0
0
0
0
0
0
-32
5
112
30
-46
-15
0
2
0
1
0
0
0
0
0
0
0
0
-10
1
67
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
14
-10
14
0
-1
0
27
3
0
0
0
0
0
0
0
0
0
0
13
14
-6
49
-14
-6
-15
-4
0
0
0
0
0
0
0
0
-14
-13
-7
13
2
-6
1
0
0
0
0
0
0
0
0
0
0
0
2
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
9
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-35
17
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
3
7
2
0
-9
16
0
0
0
0
0
0
0
0
-4
-2
0
-33
-59
24
2
4
5
0
0
0
0
0
0
0
0
13
0
-54
-3
-3
-28
-14
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
45
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
-5
2
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
4
-16
2
-6
8
-8
0
0
0
0
0
0
0
0
0
0
4
1
-11
78
35
140
3
0
0
0
0
0
0
0
0
0
0
0
21
19
5
-151
7
9
0
-11
62
0
0
0
0
0
0
0
0
-7
18
-3
0
-62
119
-19
-5
15
0
0
0
0
0
0
0
5
21
3
-4
40
-44
74
80
3
29
0
0
0
0
0
0
0
0
-20
0
-39
56
-16
93
0
-5
-14
0
0
0
0
0
0
0
7
0
32
5
26
1
32
3
3
0
0
0
0
0
0
0
0
0
9
0
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
92
-32
127
1
-8
0
0
0
0
0
0
0
0
0
0
0
-50
56
44
95
105
4
0
2
0
-1
0
0
0
0
0
0
0
-29
127
79
-71
25
14
0
10
14
25
0
0
0
0
0
0
0
-35
-56
66
-61
-17
-83
14
-1
-1
-4
0
0
0
0
0
0
0
-3
37
55
-87
5
26
61
0
11
1
0
0
0
0
0
0
0
0
105
0
-66
11
-47
49
0
9
0
0
0
0
0
0
0
0
24
0
5
34
11
86
-7
4
0
0
0
0
0
0
0
0
0
0
11
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
16
7
-15
-4
1
-1
0
0
0
0
0
0
0
0
0
-13
36
3
54
-5
21
11
0
0
0
-8
0
0
0
0
0
0
-5
-1
109
2
-36
-4
-2
1
-5
0
7
0
0
0
0
0
0
0
-1
-15
27
3
11
-30
-4
-13
-1
0
0
0
0
0
0
0
-2
0
49
-21
-15
5
-21
33
-7
8
0
0
0
0
0
0
0
-2
20
0
0
0
-110
14
33
-5
1
0
0
0
0
0
0
0
2
9
42
0
-11
3
-26
-1
0
0
0
0
0
0
0
0
0
0
14
1
1
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
78
3
7
1
1
0
0
0
0
0
0
0
0
0
0
0
-7
3
121
-94
16
-14
0
4
0
0
0
0
0
0
0
0
0
4
-6
28
-5
-27
85
0
-43
66
0
0
0
0
0
0
0
2
86
-33
-91
8
-102
0
-5
-23
10
0
0
0
0
0
0
0
-32
-56
36
14
-71
-33
-52
-59
83
-34
0
0
0
0
0
0
0
-3
29
-38
-20
14
53
-8
-5
-58
-104
0
0
0
0
0
0
0
0
18
-4
14
0
-5
-1
-7
-3
-3
0
0
0
0
0
0
0
0
-2
-7
-4
1
-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
9
3
-74
-22
48
21
9
4
0
0
0
0
0
0
0
0
0
11
37
-44
-103
11
14
2
0
0
0
0
0
0
0
0
0
0
40
32
-32
90
89
2
35
16
-41
-42
-5
0
0
0
0
0
0
-32
-16
-23
-29
-82
87
-14
5
-104
-18
0
0
0
0
0
0
0
17
5
-10
-98
-90
49
-24
-60
-51
64
-1
0
0
0
0
0
0
-18
-72
29
-87
-18
-24
38
5
46
-63
-9
0
0
0
0
0
0
-34
0
-64
55
-36
0
0
-2
0
0
0
0
0
0
0
0
0
0
31
35
-129
0
4
10
1
0
-5
0
0
0
0
0
0
0
-1
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-40
-74
64
-27
23
-39
13
0
0
0
0
0
0
0
0
0
-2
-25
80
14
75
33
96
0
-19
0
0
2
0
0
0
0
0
-6
-44
-26
42
17
10
-36
-92
19
-48
0
6
0
0
0
0
0
22
-33
-35
116
-5
-10
-15
-43
118
-59
0
0
0
0
0
0
0
-64
-31
-9
30
51
-7
111
0
-36
8
0
0
0
0
0
0
0
5
47
59
-41
-83
-1
84
42
49
-15
-2
0
0
0
0
0
0
0
22
21
60
-14
67
0
0
2
0
0
0
0
0
0
0
0
0
-7
58
-31
-53
-21
1
-3
4
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
-2
44
63
24
31
8
30
5
0
0
1
0
0
0
0
0
0
51
-43
-35
-39
119
-51
-23
0
21
0
7
0
0
0
0
0
0
23
64
22
66
17
44
-8
-47
71
-105
41
-1
0
0
0
0
0
27
11
26
-43
90
30
63
27
33
5
-6
0
0
0
0
0
0
-65
-9
18
25
-88
35
91
-31
7
-44
26
0
0
0
0
0
0
-10
-7
-14
37
-48
104
53
5
-12
61
0
0
0
0
0
0
0
5
22
-33
14
69
31
-13
0
-31
0
0
0
0
0
0
0
0
0
23
54
-2
17
31
10
0
0
-5
0
0
0
0
0
0
0
0
5
14
3
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
-79
59
85
-66
89
-31
4
0
1
-3
0
0
0
0
0
0
-2
-74
30
-39
-72
-32
37
0
-44
0
25
0
0
0
0
0
0
47
-21
5
69
2
-4
62
11
0
-8
-15
-1
0
0
0
0
0
-5
101
124
3
-17
-32
-68
74
-36
-14
-2
-1
0
0
0
0
0
-31
9
-11
6
16
-49
12
17
16
-16
31
0
0
0
0
0
0
9
-16
78
28
-9
-15
-8
-106
6
-2
1
0
0
0
0
0
0
0
-5
-114
29
-44
67
23
37
0
0
0
0
0
0
0
0
0
0
-21
-25
21
-1
-55
19
22
2
-73
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-52
98
-31
-17
150
-3
0
1
-15
-1
0
0
0
0
0
0
43
88
-1
-22
-9
13
0
25
0
77
3
0
0
0
0
0
0
-19
15
75
76
-25
18
67
43
82
31
0
0
0
0
0
0
0
75
38
-52
58
42
27
33
125
49
32
-1
0
0
0
0
0
0
-54
66
5
-61
-49
-17
-29
-12
1
5
0
0
0
0
0
0
0
28
65
41
58
38
-42
-10
2
89
-119
0
0
0
0
0
0
0
-10
56
4
53
-65
-3
31
63
0
-4
0
0
0
0
0
0
0
0
35
-34
-14
141
37
-11
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
27
0
-19
0
-5
0
-3
-20
-3
0
0
0
0
0
0
0
4
10
-7
-79
-6
0
-6
0
6
-8
0
0
0
0
0
0
0
0
45
-11
11
-32
15
-6
-4
0
63
0
0
0
0
0
0
0
-5
74
-35
20
30
39
-8
5
7
43
0
0
0
0
0
0
0
0
34
-90
-4
43
16
-10
52
0
16
0
0
0
0
0
0
0
5
-14
-13
26
3
-17
-18
6
0
-8
0
0
0
0
0
0
0
-11
-14
-12
40
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
37
18
-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
-10
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
33
10
20
7
2
3
3
0
0
0
0
0
0
0
0
0
-1
-20
-20
30
-7
-3
7
0
0
0
0
0
0
0
0
0
0
0
1
-14
-9
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
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-3
-1
0
0
-3
0
0
0
0
0
0
0
0
0
-26
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-3
0
-56
-7
25
-3
-1
0
-2
0
0
0
0
0
0
0
0
-3
14
0
-24
0
29
-8
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
11
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
24
5
2
0
0
0
0
0
0
0
0
0
0
0
9
0
86
-14
4
0
-1
0
0
-16
0
0
0
0
0
0
0
0
82
-13
10
-34
-4
-20
0
-6
-1
0
0
0
0
0
0
0
-14
0
26
79
-27
-22
1
-29
0
0
0
0
0
0
0
0
0
0
11
-7
0
-45
7
10
3
-9
0
0
0
0
0
0
0
0
0
0
9
-6
23
-3
13
-5
0
0
0
0
0
0
0
0
0
0
0
3
-30
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
82
2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
110
13
14
-6
0
3
0
0
0
0
0
0
0
0
-1
0
-14
35
43
-11
9
0
0
19
0
0
0
0
0
0
0
0
0
-1
37
-2
35
7
0
0
6
0
0
0
0
0
0
0
0
0
-5
-31
19
29
29
0
3
-25
0
0
0
0
0
0
0
0
0
0
-37
3
18
1
0
0
9
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
14
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
2
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
-16
-6
-42
13
0
1
0
0
0
0
0
0
0
0
0
0
-79
6
-7
0
-78
0
0
-7
0
0
0
0
0
0
0
0
5
-17
15
-3
-47
-6
1
-15
-3
0
0
0
0
0
0
0
0
0
14
-6
-124
0
-10
-2
-20
-14
0
-3
0
0
0
0
0
0
0
0
2
-1
11
0
0
0
-22
0
0
0
0
0
0
0
0
0
58
-7
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
-7
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-2
109
-1
-22
0
0
0
0
0
0
0
0
0
0
0
0
2
15
37
32
4
-4
0
0
4
0
0
0
0
0
0
0
0
45
-9
9
-48
42
5
0
-45
-8
0
0
0
0
0
0
0
-29
-1
46
-44
-52
-38
-61
-2
0
-1
0
0
0
0
0
0
0
0
26
0
33
45
-90
33
0
-4
-14
0
0
0
0
0
0
0
-4
-1
-35
0
14
1
4
5
0
0
0
0
0
0
0
0
0
0
2
-19
18
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
-15
37
-53
19
-5
-1
0
0
0
0
0
0
0
0
0
0
71
0
36
34
37
-33
0
0
0
0
0
0
0
0
0
0
-18
0
86
9
64
-5
4
0
11
-63
2
0
0
0
0
0
0
-1
-12
-11
32
24
-67
-19
-3
-13
-7
-13
0
0
0
0
0
0
20
-52
37
56
-55
-64
-66
-174
-100
-2
0
0
0
0
0
0
0
0
-2
-70
72
6
24
23
-7
-1
4
0
0
0
0
0
0
0
-13
4
4
0
24
2
3
9
21
0
0
0
0
0
0
0
0
0
-57
-5
-30
-21
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-46
48
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
44
5
2
33
-3
0
0
0
0
0
0
0
0
0
0
25
-15
130
-3
-4
14
0
0
0
0
0
0
0
0
0
0
0
0
74
0
-16
5
10
0
5
-54
-2
0
0
0
0
0
0
1
14
5
11
-65
109
26
10
55
-157
-9
0
0
0
0
0
0
18
30
4
137
21
-46
3
71
75
-33
0
0
0
0
0
0
0
0
-43
49
-47
16
-148
7
14
-90
-8
0
0
0
0
0
0
0
-1
16
52
-115
27
-21
2
53
36
-26
0
0
0
0
0
0
0
0
-1
-84
110
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
15
0
0
0
0
0
0
0
0
0
0
0
0
0
71
47
32
77
19
39
4
0
0
0
0
0
0
0
0
0
3
-10
23
65
25
-32
14
0
0
0
0
0
0
0
0
0
0
3
-5
48
51
-38
40
23
1
48
-9
-4
0
0
0
0
0
0
-2
-85
26
-30
59
-62
-38
-31
16
-9
1
0
0
0
0
0
0
-17
60
125
-13
107
35
27
0
-49
-33
-20
0
0
0
0
0
0
28
-38
73
-54
-14
41
-13
0
-126
6
-1
0
0
0
0
0
0
-1
-16
15
35
-62
14
52
-14
51
14
0
0
0
0
0
0
0
0
23
-17
120
54
32
-2
0
0
0
0
0
0
0
0
0
0
16
-11
22
-9
34
53
0
0
-7
0
0
0
0
0
0
0
0
0
-16
-46
90
-59
1
94
-19
0
-1
0
0
0
0
0
0
0
0
-26
39
38
72
-150
-56
0
0
0
1
0
0
0
0
0
0
12
-8
-15
62
-6
-11
57
54
-1
-6
-3
0
0
0
0
0
0
0
-13
-29
28
-2
63
-50
13
5
-13
-3
0
0
0
0
0
0
-32
20
-9
60
-57
103
17
-44
2
35
0
0
0
0
0
0
0
0
31
18
16
20
-19
48
-83
1
5
0
0
0
0
0
0
0
0
-84
-84
24
-40
114
15
-8
3
14
1
0
0
0
0
0
0
0
36
-45
33
-9
-5
1
1
0
-1
0
0
0
0
0
0
0
0
2
34
33
58
-3
0
-9
0
0
0
0
0
0
0
0
0
0
0
-16
18
44
-27
52
-18
0
0
4
0
0
0
0
0
0
0
0
-51
13
33
18
88
0
0
0
27
0
0
0
0
0
0
0
-23
84
74
37
63
50
0
-26
14
-80
0
0
0
0
0
0
0
-15
76
-76
59
-10
26
39
27
-2
-60
0
0
0
0
0
0
0
23
-8
34
47
-16
21
90
-58
33
14
0
0
0
0
0
0
0
49
-24
40
-3
44
-6
-21
-76
-2
-12
0
0
0
0
0
0
0
-13
-60
-22
-23
70
-5
15
17
1
1
0
0
0
0
0
0
0
0
37
-18
7
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-51
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
-11
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
33
7
0
0
0
0
-3
0
0
0
0
0
0
0
-3
1
35
25
-30
45
2
10
-6
-3
0
0
0
0
0
0
0
-2
-19
5
-59
29
-50
2
-6
-2
-4
0
0
0
0
0
0
0
8
10
-23
-31
-5
-8
-14
5
0
11
0
0
0
0
0
0
0
-5
50
71
33
-5
6
-10
-1
-2
0
0
0
0
0
0
0
0
0
-9
48
-8
11
-5
0
0
-1
2
0
0
0
0
0
0
0
0
0
33
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
-18
22
-3
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
-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
-13
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
-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
6
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
0
0
0
0
0
2
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-33
5
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
-14
-5
48
-3
-3
-5
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
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
-5
1
4
2
0
0
2
-1
0
0
0
0
0
0
0
0
-11
0
-15
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
7
2
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
-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
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-59
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
65
0
-54
33
0
-7
0
0
0
0
0
0
0
0
16
0
60
0
105
-12
-68
0
0
0
0
0
0
0
0
0
0
0
7
-1
-4
-9
35
-87
0
-51
0
0
0
0
0
0
0
0
1
-3
-47
3
-44
31
0
0
-49
0
0
0
0
0
0
0
0
0
27
0
-19
0
-9
45
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-27
0
19
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
0
18
0
0
0
-28
0
0
0
0
0
0
0
0
0
2
9
76
-4
-48
-2
0
-13
0
0
0
0
0
0
0
0
21
-5
-62
-6
23
8
-5
0
-4
0
0
0
0
0
0
0
0
0
-18
-1
76
-1
152
0
0
0
0
0
0
0
0
0
0
0
-9
-2
12
-19
-17
-34
0
0
-18
0
0
0
0
0
0
0
0
-8
13
3
66
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
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
0
0
-4
0
1
0
-8
0
0
0
0
0
0
0
0
0
14
0
-1
0
-3
0
1
-31
0
0
0
0
0
0
0
0
-1
0
-4
-1
-16
2
0
0
0
0
0
0
0
0
0
0
0
-14
43
5
5
6
32
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
1
7
0
31
6
42
-44
10
0
0
0
0
0
0
0
0
-4
0
0
2
48
52
3
-1
0
0
0
0
0
0
0
0
0
26
0
0
-3
-3
0
-1
0
8
0
0
0
0
0
0
0
0
-3
0
0
4
-1
11
3
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
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
-15
-13
-29
-35
0
5
0
0
0
0
0
0
0
0
-1
14
-43
48
-37
-126
60
-71
-1
0
0
0
0
0
0
0
-2
-6
-5
-46
62
-4
18
-17
32
17
0
0
0
0
0
0
0
0
-20
-4
-3
-5
-5
4
-3
1
7
0
0
0
0
0
0
0
0
-2
0
7
-16
-10
57
18
16
0
0
0
0
0
0
0
0
0
-5
0
-2
0
37
10
29
46
-5
0
0
0
0
0
0
0
0
0
-1
0
-7
-5
103
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
32
8
90
0
7
-2
0
0
0
0
0
0
0
0
17
-1
-9
-13
-26
5
-12
-10
0
0
0
0
0
0
0
0
-2
-3
4
-1
10
39
5
91
-18
0
0
0
0
0
0
0
0
-1
-3
-4
25
33
7
23
8
9
-4
0
0
0
0
0
0
0
-31
0
0
7
0
-60
-81
1
2
0
0
0
0
0
0
0
0
0
0
0
-3
-13
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
-15
0
1
0
-6
49
0
0
0
0
0
0
0
0
0
15
0
0
0
0
39
-14
67
18
-15
-7
0
0
0
0
0
0
0
0
5
3
18
50
62
-96
-46
43
0
0
0
0
0
0
0
0
0
0
11
-1
26
5
30
1
7
0
0
0
0
0
0
0
0
0
0
0
-10
19
2
10
-8
0
0
0
0
0
0
0
0
0
0
-1
0
0
18
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
28
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
4
1
0
0
0
42
24
14
0
2
2
0
0
0
0
0
0
0
3
0
5
6
39
57
16
-1
5
-3
0
0
0
0
0
0
0
1
1
35
14
-10
-58
91
22
2
0
-1
0
0
0
0
0
0
0
-4
8
11
109
-33
-31
6
-5
0
0
0
0
0
0
0
0
-3
0
0
2
-6
62
13
17
-2
0
0
0
0
0
0
0
0
0
0
2
6
24
-25
-23
35
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-8
15
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
-11
21
16
0
3
4
0
19
0
0
0
0
0
0
0
-10
0
6
82
-51
-94
73
102
6
2
3
0
0
0
0
0
0
-5
100
0
36
-10
-50
-67
47
18
8
0
0
0
0
0
0
0
-7
23
5
1
-18
24
14
27
-21
10
-1
0
0
0
0
0
0
8
0
-3
0
25
-37
-18
4
115
31
0
0
0
0
0
0
0
0
1
1
-5
14
62
-3
-52
31
-1
0
0
0
0
0
0
0
7
0
5
0
15
13
-9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-18
0
11
0
0
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
-5
80
-17
0
-16
0
-17
0
0
0
0
0
0
0
3
65
-3
68
-62
-24
33
0
109
-88
0
0
0
0
0
0
0
15
-10
-14
10
5
25
45
93
14
3
5
0
0
0
0
0
0
0
-2
8
-4
39
63
128
23
61
57
0
0
0
0
0
0
0
0
11
16
0
86
71
17
-43
97
35
-3
0
0
0
0
0
0
0
4
10
11
-1
150
-16
-16
-52
2
0
0
0
0
0
0
0
0
0
0
-14
-23
-1
-5
-23
62
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-50
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
26
0
29
-56
-15
-75
16
0
0
3
4
0
0
0
0
0
0
-54
54
39
70
-79
83
1
12
-15
8
-2
-4
0
0
0
0
0
22
11
19
-44
22
43
72
54
6
5
-1
0
0
0
0
0
0
-51
-5
14
-36
-19
46
-75
-91
-40
21
-2
0
0
0
0
0
0
2
15
-2
-37
26
-25
100
-9
-25
0
-4
0
0
0
0
0
0
0
20
5
-1
41
84
-19
-49
18
-2
-1
0
0
0
0
0
0
0
0
0
-6
0
7
-14
9
-5
0
0
0
0
0
0
0
0
0
0
0
-7
-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
22
53
14
-7
36
-28
17
0
0
27
0
0
0
0
0
0
0
74
21
-4
31
-13
-16
52
-62
4
16
0
0
0
0
0
0
0
-7
11
-1
-18
-52
7
42
5
-17
10
0
0
0
0
0
0
0
13
-19
-32
43
33
-109
14
-71
1
0
1
0
0
0
0
0
0
15
-4
9
51
27
-81
-22
15
-19
0
0
0
0
0
0
0
0
74
0
-18
5
-21
-1
15
31
10
0
0
0
0
0
0
0
0
0
0
0
-34
51
-17
-16
-9
-1
-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
6
0
0
18
14
-10
0
20
0
-1
0
0
0
0
0
0
0
-9
17
-7
40
50
-77
-31
-14
1
0
0
0
0
0
0
0
0
19
9
-3
4
-5
-39
10
-22
0
0
0
0
0
0
0
0
0
26
-2
10
6
-39
-10
49
-1
6
0
0
0
0
0
0
0
0
0
0
0
36
0
-1
-18
-11
5
-3
0
0
0
0
0
0
0
-4
0
-3
-4
-4
14
-26
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-10
-5
47
-2
1
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
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
-2
-9
0
11
0
0
0
0
0
0
0
0
0
3
1
0
0
3
23
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
19
-9
-53
23
-14
-31
0
0
0
0
0
0
0
0
0
7
1
-2
-51
-62
21
6
58
-21
0
0
0
0
0
0
0
0
-19
0
0
-2
39
4
-2
-35
-5
0
0
0
0
0
0
0
0
-5
-10
0
-15
4
-25
78
-4
-3
0
0
0
0
0
0
0
0
-5
0
0
6
1
-4
-1
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-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
-14
-27
-32
-11
5
-18
-79
0
-21
0
0
0
0
0
0
0
21
3
9
-43
4
63
4
28
53
-27
0
0
0
0
0
0
0
1
-14
14
44
50
44
36
102
31
-42
0
0
0
0
0
0
0
7
-2
-1
1
4
24
-27
64
-49
5
0
0
0
0
0
0
0
0
78
0
0
-6
80
22
84
-10
16
0
0
0
0
0
0
0
0
18
0
9
2
18
69
34
26
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
33
-7
-2
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
15
-8
0
8
1
5
-8
0
-29
-2
0
0
0
0
0
0
-1
-7
-11
-2
-40
54
75
38
-3
43
2
0
0
0
0
0
0
0
8
0
-25
10
84
62
-96
11
40
-1
0
0
0
0
0
0
0
-34
-6
33
-60
63
24
54
54
7
-1
0
0
0
0
0
0
0
-20
-2
11
52
-11
11
-13
12
29
3
0
0
0
0
0
0
0
-2
0
0
0
5
41
102
-9
32
0
0
0
0
0
0
0
0
0
0
0
-2
-2
32
8
59
-24
0
0
0
0
0
0
0
0
1
-2
0
0
0
25
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
-3
0
20
-11
33
-53
-36
-37
0
29
-7
0
0
0
0
0
0
-33
2
2
-10
84
12
141
55
-57
24
-13
-3
0
0
0
0
0
-1
3
6
-27
-10
59
-16
12
-3
3
-1
0
0
0
0
0
0
0
0
0
10
-54
100
59
-64
-3
-1
0
0
0
0
0
0
0
0
3
1
3
-13
-4
13
-9
36
-7
7
0
0
0
0
0
0
0
0
0
-3
-1
-49
-19
17
5
2
23
0
0
0
0
0
0
0
0
0
0
-1
-3
10
-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
-26
14
4
29
-26
1
-46
-42
0
20
1
5
0
0
0
0
0
11
-15
-3
61
38
58
-63
5
-34
-14
5
0
0
0
0
0
0
15
14
-5
-51
9
39
0
27
-71
-31
0
0
0
0
0
0
0
-1
-5
11
44
-39
48
12
81
34
-3
0
0
0
0
0
0
0
0
-11
-5
-32
-72
22
37
-23
-60
-5
2
5
0
0
0
0
0
0
0
0
23
5
81
-14
13
66
-5
2
-4
0
0
0
0
0
0
0
0
3
-1
3
-141
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
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
-69
-9
32
-39
35
14
50
26
0
6
0
1
0
0
0
0
0
23
56
-22
49
36
-17
0
-61
26
-32
-15
0
0
0
0
0
0
74
-54
-10
55
-2
46
-15
30
-16
-49
-1
0
0
0
0
0
0
58
-53
-1
-57
-35
-12
49
95
78
-10
0
0
0
0
0
0
0
1
60
11
-58
15
43
125
73
73
-6
1
0
0
0
0
0
0
0
-4
2
35
-22
-18
8
4
-8
-14
0
0
0
0
0
0
0
0
-4
0
0
-33
4
-4
-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
0
0
0
0
0
0
0
0
0
0
0
46
-31
-10
76
-25
83
-42
-58
0
-22
-3
-3
0
0
0
0
0
0
6
37
26
90
25
-19
46
-9
-1
-3
0
0
0
0
0
0
45
-5
-4
66
-26
37
65
-10
14
-52
0
0
0
0
0
0
0
-17
-46
-32
53
-10
-60
-42
6
94
-44
0
0
0
0
0
0
0
-20
16
52
4
-72
-55
24
81
27
13
-8
0
0
0
0
0
0
2
-6
3
18
4
134
23
32
-33
-65
0
0
0
0
0
0
0
0
-1
-1
4
5
14
20
-36
33
-6
0
0
0
0
0
0
0
0
-1
0
0
0
-3
3
-53
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
53
-53
43
53
80
45
-41
85
0
16
1
-2
0
0
0
0
0
-23
85
23
57
96
46
95
57
6
13
-2
0
0
0
0
0
0
-32
73
-3
93
-4
-16
70
25
-108
59
1
0
0
0
0
0
0
8
53
86
-72
21
75
-42
-81
55
-19
-27
0
0
0
0
0
0
64
3
-2
33
62
29
-19
8
12
-4
-7
0
0
0
0
0
0
-3
1
-5
95
37
-4
67
-51
62
40
-13
0
0
0
0
0
0
-16
-7
0
4
-115
4
24
2
-31
8
0
0
0
0
0
0
0
0
0
0
1
0
10
-6
5
-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
21
10
16
-18
94
56
-40
0
-22
2
-5
0
0
0
0
0
118
21
10
-20
-61
22
-26
2
-67
-86
-3
0
0
0
0
0
0
24
25
-40
-42
8
-41
-6
-51
10
17
19
0
0
0
0
0
0
7
-19
-61
81
72
25
80
100
34
-18
9
0
0
0
0
0
0
1
-23
97
0
-60
19
35
-20
85
12
-1
0
0
0
0
0
0
22
-11
45
-20
0
-58
-140
54
-50
-34
1
0
0
0
0
0
0
-32
2
5
15
5
14
-54
-20
-48
31
0
0
0
0
0
0
0
0
-13
-18
0
-1
24
-31
102
-8
0
0
0
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
-1
98
-70
-13
28
0
99
3
0
0
0
0
0
0
0
49
-10
-10
45
49
-10
8
29
-1
120
2
0
0
0
0
0
0
-18
9
-80
-11
15
-27
-10
-36
62
-14
0
0
0
0
0
0
0
14
-23
-23
-57
-55
-37
-13
85
46
6
0
0
0
0
0
0
0
64
-40
13
-18
83
106
-4
1
-50
19
0
0
0
0
0
0
0
18
8
-43
-3
26
54
9
-38
-6
24
0
0
0
0
0
0
0
28
60
-29
-112
1
31
-10
16
33
0
0
0
0
0
0
0
0
0
0
-15
0
-36
-10
59
-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
2
10
-3
24
10
-52
0
-14
-1
-1
0
0
0
0
0
0
0
-6
29
14
23
-64
16
35
13
44
2
0
0
0
0
0
0
0
-14
-5
25
6
84
33
-24
-46
7
5
0
0
0
0
0
0
0
44
15
-6
100
53
18
23
71
26
0
0
0
0
0
0
0
0
5
5
3
-15
15
66
21
105
17
0
0
0
0
0
0
0
0
-4
3
-35
-18
-2
32
6
58
-15
-8
0
0
0
0
0
0
0
0
2
2
0
-24
3
-1
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-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
4
0
-6
-1
0
-5
-1
0
0
0
0
0
0
0
0
0
-6
5
-1
-16
0
-3
-60
-59
0
0
0
0
0
0
0
0
0
2
-3
-3
-3
7
21
5
-3
10
0
0
0
0
0
0
0
0
-11
-1
0
-6
0
0
15
-17
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-18
41
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-10
0
33
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
23
1
-19
0
0
0
0
0
0
0
0
0
1
7
-4
47
-12
-15
-35
26
11
0
0
0
0
0
0
0
0
4
1
-3
60
-2
-3
22
-2
-5
0
0
0
0
0
0
0
0
0
4
2
-20
-14
-17
-19
5
3
0
0
0
0
0
0
0
0
0
5
0
-5
16
14
-17
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
76
0
5
72
-26
-135
-24
0
7
0
0
0
0
0
0
0
47
65
0
13
74
-30
99
135
23
-65
0
0
0
0
0
0
0
11
-9
-2
-20
-16
-31
58
1
96
44
0
0
0
0
0
0
0
-1
7
7
-24
-52
38
-64
33
-74
48
0
0
0
0
0
0
0
0
-25
18
0
-4
97
25
19
-8
2
0
0
0
0
0
0
0
0
-18
0
-3
-1
-78
-18
8
17
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
27
-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
0
0
0
0
0
0
0
0
0
0
0
21
-4
4
-4
-82
-30
0
15
13
0
0
0
0
0
0
0
-3
-1
74
-35
-22
36
-12
32
-51
3
0
0
0
0
0
0
-7
-7
-3
22
-26
63
0
-85
2
49
-7
0
0
0
0
0
0
0
2
-1
-4
-5
61
-50
9
-4
19
0
0
0
0
0
0
0
0
-27
29
-2
7
-21
33
-14
60
5
0
0
0
0
0
0
0
0
0
6
2
10
26
-14
16
-14
20
1
0
0
0
0
0
0
0
0
0
0
0
0
13
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
45
-19
-35
-59
0
-26
-1
0
0
0
0
0
0
-2
1
21
-18
-17
63
5
5
-36
-13
55
7
0
0
0
0
0
0
0
-2
-3
21
-50
15
-56
-51
1
6
5
0
0
0
0
0
-3
1
-2
-33
25
77
-5
-11
-4
-5
0
0
0
0
0
0
0
0
0
-15
9
39
-19
-21
-8
43
0
-10
0
0
0
0
0
0
0
-4
-18
0
-5
-3
10
-2
-1
5
1
0
0
0
0
0
0
0
0
0
0
1
0
94
-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
10
-7
1
3
75
103
-110
-68
0
-55
0
0
0
0
0
0
0
-20
44
-8
14
41
-56
-29
-21
84
23
2
0
0
0
0
0
0
-1
-33
9
68
-14
-18
9
90
62
6
-1
0
0
0
0
0
0
9
37
-1
2
-52
60
-47
49
32
48
2
0
0
0
0
0
0
1
5
10
-17
-17
43
6
-18
98
0
3
-1
0
0
0
0
0
-2
-5
-1
13
20
92
73
-26
28
20
0
0
0
0
0
0
0
-2
-1
-9
0
-1
0
78
22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
11
-33
13
3
-26
53
51
-6
0
-33
0
0
0
0
0
0
0
113
28
25
39
39
6
21
74
80
23
7
0
0
0
0
0
0
26
72
21
21
55
75
-17
-3
12
-41
-1
0
0
0
0
0
0
-15
-33
-27
-28
26
59
7
34
123
29
0
0
0
0
0
0
0
-4
-33
-9
23
33
18
-16
-22
-28
-8
0
0
0
0
0
0
0
-26
25
-9
5
-32
10
-55
53
-23
30
0
0
0
0
0
0
0
4
3
5
0
-35
-24
-34
-5
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-8
21
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
-13
-44
-13
93
33
-9
-38
7
0
-85
-1
0
0
0
0
0
0
53
-53
-18
23
10
-21
51
34
-20
52
6
0
0
0
0
0
0
-4
77
44
-41
103
37
104
-18
57
35
0
0
0
0
0
0
0
-18
-79
1
-32
54
30
14
-12
-21
61
0
0
0
0
0
0
0
-11
2
-35
20
-13
14
67
36
74
-27
0
0
0
0
0
0
0
-1
-59
-16
83
13
-26
37
41
-15
25
0
0
0
0
0
0
0
1
0
44
4
16
-3
35
45
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-57
3
35
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
25
-20
81
30
117
29
-15
44
0
-4
-7
-10
0
0
0
0
0
56
61
47
37
35
-24
57
38
-9
-27
14
0
0
0
0
0
0
12
63
-15
-78
8
56
38
25
4
-26
24
0
0
0
0
0
0
-6
-25
13
49
12
2
55
24
52
-11
2
0
0
0
0
0
0
-33
-66
61
79
-4
-90
1
36
-26
-20
-22
0
0
0
0
0
0
-21
39
127
11
-13
-68
-77
71
-25
133
1
0
0
0
0
0
0
17
19
0
-10
5
7
20
30
67
-2
0
0
0
0
0
0
0
0
1
0
-33
6
71
44
168
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
18
20
5
-34
73
-14
-21
50
0
-64
5
0
0
0
0
0
0
42
-75
-2
-66
-46
22
33
21
72
-15
104
0
0
0
0
0
0
-92
68
12
6
44
17
17
-56
-98
-41
-2
4
0
0
0
0
0
80
-71
65
35
-34
-12
56
-52
6
-84
-1
0
0
0
0
0
0
1
-10
67
-28
59
87
63
9
-107
26
1
0
0
0
0
0
0
1
18
-43
111
90
63
-29
-37
-15
8
0
0
0
0
0
0
0
-1
9
22
3
55
53
13
-2
-1
55
0
0
0
0
0
0
0
0
9
0
5
-1
-92
-47
-6
-84
50
0
0
0
0
0
0
0
0
0
0
0
13
0
-3
0
0
0
0
0
0
0
0
0
0
0
176
-75
-25
0
29
33
-111
0
-54
94
17
0
0
0
0
0
0
38
10
8
-44
-22
-113
-48
-42
-13
-47
-1
0
0
0
0
0
0
23
-26
-66
-26
-4
8
35
-21
-22
8
0
0
0
0
0
0
0
53
50
41
40
-20
14
36
-41
97
22
0
0
0
0
0
0
0
-52
80
-78
3
2
-32
13
-36
35
64
-1
0
0
0
0
0
0
25
52
-24
25
17
93
14
24
-17
80
0
0
0
0
0
0
0
17
0
7
-44
82
24
18
22
85
0
0
0
0
0
0
0
0
0
-5
-1
0
-30
-35
-59
26
-15
0
0
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
2
-11
10
-23
-26
0
8
-11
0
0
0
0
0
0
0
0
-37
-48
93
-55
-71
-54
37
-36
-6
5
0
0
0
0
0
0
0
-5
-1
-5
14
49
38
14
-31
2
-1
0
0
0
0
0
0
0
0
8
-21
-3
-15
7
-32
82
-38
0
0
0
0
0
0
0
0
5
6
-5
22
-1
-21
7
17
1
3
0
0
0
0
0
0
0
-1
-10
4
17
-5
9
83
44
-5
-1
0
0
0
0
0
0
0
0
0
0
2
13
-10
18
17
-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
14
-7
3
3
-27
14
0
0
0
0
0
0
0
0
4
0
-7
15
19
-41
-18
-5
0
0
0
0
0
0
0
0
0
-11
-1
0
-1
0
-10
4
10
-4
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
-11
-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
14
19
3
0
0
0
0
0
0
0
0
0
-36
0
0
-2
-5
-2
-47
-38
5
0
0
0
0
0
0
0
0
21
5
0
11
-7
60
-33
36
6
0
0
0
0
0
0
0
0
0
7
0
-33
11
51
-7
-6
-17
0
0
0
0
0
0
0
0
-5
0
0
0
47
8
0
5
0
0
0
0
0
0
0
0
0
0
0
6
59
-2
-16
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
6
0
24
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
-11
0
6
1
1
120
-56
0
-23
0
0
0
0
0
0
0
0
16
0
9
66
-44
44
74
-20
2
0
0
0
0
0
0
0
9
-47
71
28
-5
26
28
-55
-28
-45
0
0
0
0
0
0
0
0
0
43
8
-51
43
-38
-20
-71
-23
0
0
0
0
0
0
0
0
-25
34
-1
-36
108
14
85
166
32
0
0
0
0
0
0
0
0
7
0
-2
-11
-15
12
-127
-11
-14
0
0
0
0
0
0
0
0
4
1
2
58
-1
-47
16
22
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-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
-2
-51
11
0
-74
-6
0
0
0
0
0
0
0
13
6
0
-49
5
73
-2
-9
55
21
0
0
0
0
0
0
0
18
0
0
-7
28
-14
148
-43
43
1
0
0
0
0
0
0
0
1
-1
9
-11
38
32
7
1
-20
-2
0
0
0
0
0
0
0
0
-3
-26
22
-16
-14
-23
-23
-5
-2
0
0
0
0
0
0
0
-1
-16
0
8
-3
3
11
-19
43
0
0
0
0
0
0
0
0
0
0
0
-4
0
-34
-1
11
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
-11
-107
-45
-93
0
3
5
0
0
0
0
0
0
0
1
1
-33
5
31
-37
-57
79
11
-2
1
0
0
0
0
0
0
0
-2
-7
90
-42
24
6
50
-20
-36
0
0
0
0
0
0
2
8
-11
3
106
-36
-17
-60
-5
-2
-1
0
0
0
0
0
0
5
-3
0
0
-35
-6
36
-61
-7
0
0
0
0
0
0
0
0
0
0
-2
2
-6
85
-3
91
-5
7
0
0
0
0
0
0
0
0
-3
-1
6
-1
-4
-1
0
16
-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
21
0
0
-19
57
-20
-150
11
0
7
0
0
0
0
0
0
0
75
-19
61
-74
19
-29
21
-11
43
49
0
0
0
0
0
0
0
11
-6
3
85
-98
-148
-32
-44
42
-29
6
0
0
0
0
0
0
-4
6
2
24
3
31
18
6
9
-22
0
0
0
0
0
0
0
0
-17
-1
14
14
11
55
-24
80
0
0
0
0
0
0
0
0
3
0
65
31
31
10
33
28
2
-1
0
0
0
0
0
0
0
-7
0
0
0
-13
0
-1
3
-33
0
0
0
0
0
0
0
0
0
-2
0
-9
0
33
9
-53
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
-1
52
-32
12
91
21
52
53
0
-12
0
0
0
0
0
0
0
-109
-9
-94
35
45
37
-20
41
49
-46
-3
0
0
0
0
0
0
-14
-21
100
1
-14
58
-31
-18
43
30
0
2
0
0
0
0
0
51
9
33
19
-11
-26
2
39
45
-43
-2
0
0
0
0
0
0
-7
-33
47
-5
-53
-4
1
24
-43
11
0
0
0
0
0
0
0
6
-19
-16
24
-3
-38
-43
23
43
-20
9
0
0
0
0
0
0
-5
-10
-5
-3
4
-43
90
24
122
-5
5
0
0
0
0
0
0
0
0
0
0
2
21
60
16
-21
-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
-15
64
27
22
-2
-7
27
0
16
-2
2
0
0
0
0
0
-1
12
-77
37
28
-79
96
112
68
-20
5
0
0
0
0
0
0
-1
-31
21
-34
5
-70
-18
-4
30
41
3
0
0
0
0
0
0
-7
-33
-70
-90
0
1
4
128
-30
16
1
0
0
0
0
0
0
68
-80
68
-46
11
14
-66
4
-48
80
-10
0
0
0
0
0
0
26
10
58
115
11
-68
-9
114
26
6
2
0
0
0
0
0
0
10
2
-24
-14
28
94
110
-1
49
-1
0
0
0
0
0
0
0
0
1
1
-7
2
-19
-53
5
30
-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
66
114
-35
106
111
109
-63
34
0
134
0
-1
0
0
0
0
0
-4
-38
84
-100
25
-37
-25
99
-15
-44
55
0
0
0
0
0
0
93
-8
-54
101
-8
-24
46
-48
58
11
-5
0
0
0
0
0
0
71
13
95
-6
16
71
85
31
-66
-26
10
0
0
0
0
0
0
-4
-12
-114
90
85
43
59
-17
157
83
3
0
0
0
0
0
0
16
15
33
94
-54
29
101
31
92
1
-3
-2
0
0
0
0
0
71
9
24
73
-32
52
42
77
128
19
4
0
0
0
0
0
0
0
9
1
6
0
42
80
-8
16
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
10
0
4
0
0
0
0
0
0
0
0
2
-58
10
24
18
71
17
-44
0
-53
1
0
0
0
0
0
0
81
1
55
100
-80
23
45
11
29
78
-21
3
0
0
0
0
0
-61
24
1
-18
24
21
9
-53
-11
11
-21
0
0
0
0
0
0
-15
-8
-60
-11
43
29
-99
-41
-32
7
2
0
0
0
0
0
0
-36
-33
14
20
49
45
46
9
-13
-18
1
1
0
0
0
0
0
24
0
-21
-57
32
29
-13
-11
71
-103
-3
0
0
0
0
0
0
-8
-3
-26
-33
-35
23
18
31
-27
60
0
0
0
0
0
0
0
0
-10
5
-8
-6
-21
-37
-17
-34
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
2
2
0
0
0
0
0
0
0
0
0
-4
-39
-8
-93
-15
-3
52
0
4
-2
0
0
0
0
0
0
0
-71
-17
6
35
14
24
-51
2
25
-13
0
0
0
0
0
0
0
15
77
47
-31
-44
50
48
66
22
61
0
0
0
0
0
0
0
104
16
26
98
62
-27
99
-46
-3
46
0
0
0
0
0
0
0
-25
-3
-24
102
5
-46
26
-22
-33
-9
0
0
0
0
0
0
0
126
-34
5
9
89
13
45
10
-27
9
0
0
0
0
0
0
0
-1
21
0
24
-83
53
123
53
4
0
0
0
0
0
0
0
0
0
2
1
16
42
20
-23
7
-42
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
36
5
-1
-33
43
54
0
37
4
-6
0
0
0
0
0
0
0
-5
20
0
-23
48
-3
37
-12
5
7
0
0
0
0
0
0
0
-10
6
-3
2
14
34
-1
11
-19
-1
0
0
0
0
0
0
0
4
9
22
-15
91
5
103
-22
41
0
0
0
0
0
0
0
0
32
0
-1
24
8
-40
-18
14
4
0
0
0
0
0
0
0
0
0
0
1
5
-5
49
39
30
-11
4
0
0
0
0
0
0
0
0
0
0
-1
0
15
-30
-7
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
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
1
-19
0
0
0
0
0
0
0
0
-3
0
-2
3
0
0
16
-5
2
0
0
0
0
0
0
0
0
6
4
0
0
-1
-3
1
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
-20
5
-14
0
0
0
0
0
0
0
0
0
0
3
4
0
-5
-11
73
65
-10
0
0
0
0
0
0
0
0
-8
0
0
-13
9
-51
25
27
3
0
0
0
0
0
0
0
0
-5
0
0
35
51
45
9
5
2
0
0
0
0
0
0
0
0
0
0
0
-11
16
21
5
3
10
0
0
0
0
0
0
0
0
4
0
5
16
-5
107
34
-2
0
0
0
0
0
0
0
0
0
0
0
9
-1
-20
0
-1
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
-2
-7
-2
21
63
-100
-44
0
6
0
0
0
0
0
0
0
0
-29
-1
-14
72
-84
-33
45
23
43
0
0
0
0
0
0
0
0
-47
0
46
34
-1
43
79
26
-25
0
0
0
0
0
0
0
0
19
-17
55
64
77
-20
-5
5
-60
0
0
0
0
0
0
0
13
0
7
45
-22
112
18
113
8
-13
0
0
0
0
0
0
0
0
-9
7
46
-5
2
92
24
-60
5
0
0
0
0
0
0
0
0
-1
0
1
-77
-18
103
-7
-32
-5
0
0
0
0
0
0
0
0
0
0
0
0
-17
80
18
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
32
21
21
0
29
11
0
0
0
0
0
0
0
11
11
4
6
18
0
34
21
-8
131
0
0
0
0
0
0
0
19
15
0
7
-3
-27
25
-50
55
7
0
0
0
0
0
0
0
-6
2
-4
-45
71
21
-37
21
-43
25
0
0
0
0
0
0
0
4
0
13
39
-52
104
-33
-20
2
0
0
0
0
0
0
0
0
0
-2
45
13
48
-27
66
25
25
0
0
0
0
0
0
0
0
0
0
0
-9
2
-3
57
-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
11
-5
39
99
-61
-2
0
49
-8
0
0
0
0
0
0
-5
1
16
63
-21
-95
-83
-12
-71
-23
-14
0
0
0
0
0
0
3
13
46
-8
-71
16
8
30
-33
-14
-6
-2
0
0
0
0
0
1
0
-1
10
23
-61
-101
-61
85
7
0
0
0
0
0
0
0
29
-3
9
0
-1
22
-77
-1
-33
4
0
0
0
0
0
0
0
-1
2
0
-10
48
-60
17
-28
3
-7
0
0
0
0
0
0
0
-2
0
0
4
-1
3
98
6
9
0
0
0
0
0
0
0
0
0
0
0
8
0
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
24
-2
-1
-1
-8
-47
-62
-35
0
24
0
0
0
0
0
0
0
23
25
43
43
-19
61
-15
28
56
-37
0
0
0
0
0
0
0
7
-9
0
-45
57
-39
102
54
-30
-60
0
0
0
0
0
0
0
0
-8
0
-4
21
-27
71
53
-1
-14
4
0
0
0
0
0
0
-2
131
17
57
0
-30
-33
-89
-14
29
-5
0
0
0
0
0
0
0
-9
-36
0
-10
-55
98
34
-54
46
0
0
0
0
0
0
0
4
2
-1
0
19
25
-51
51
-20
0
0
0
0
0
0
0
0
0
-2
0
-4
0
9
-3
16
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
-2
-5
-27
16
-17
60
51
-75
0
34
2
0
0
0
0
0
0
-34
-64
-76
71
-37
-101
-24
61
116
16
1
0
0
0
0
0
0
-65
4
0
-20
65
122
19
34
-19
69
1
0
0
0
0
0
0
6
3
31
45
-9
14
6
43
-112
-23
0
0
0
0
0
0
0
35
5
-14
45
1
0
-16
-70
14
-16
-4
0
0
0
0
0
0
17
25
74
86
-5
73
-52
-41
104
75
0
0
0
0
0
0
0
1
2
-6
25
79
67
3
4
127
0
8
0
0
0
0
0
0
0
0
-1
5
0
15
39
-13
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
47
14
0
0
0
0
0
0
0
0
0
-7
10
-68
-57
-35
-12
-4
100
0
89
-3
0
0
0
0
0
0
-58
-35
64
54
91
45
60
-17
53
-43
-5
0
0
0
0
0
0
22
59
-14
-57
-101
86
157
34
55
-130
-4
0
0
0
0
0
0
-37
31
63
-29
44
-53
41
32
22
2
11
0
0
0
0
0
0
-23
-3
37
83
119
-21
0
-29
35
-43
0
0
0
0
0
0
0
0
-21
107
4
112
78
15
56
-8
38
0
0
0
0
0
0
0
0
30
-4
102
2
23
80
-29
86
10
-2
0
0
0
0
0
0
0
0
-2
0
0
81
-19
56
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
68
0
10
0
0
0
0
0
0
0
33
-3
8
129
6
-66
-36
8
0
-15
-11
0
0
0
0
0
0
21
-14
0
-33
118
50
25
-31
46
-8
75
0
0
0
0
0
0
33
-15
-79
-12
15
26
82
17
14
-16
1
0
0
0
0
0
0
-97
-41
-19
29
-49
70
-2
-77
-6
96
-7
4
0
0
0
0
0
-24
31
39
-31
19
70
-19
0
4
-19
33
0
0
0
0
0
0
-14
-50
-37
-6
61
15
0
-62
-17
31
-2
0
0
0
0
0
0
-9
41
-10
-36
45
-4
-33
53
62
5
1
0
0
0
0
0
0
0
0
33
-7
0
-73
-31
-9
77
27
0
0
0
0
0
0
0
0
0
0
0
10
0
17
-2
-14
0
0
0
0
0
0
0
0
-23
-37
-17
-148
122
13
18
-12
0
0
1
0
0
0
0
0
0
25
108
51
-111
3
47
-3
-126
-60
-5
43
-5
0
0
0
0
0
45
9
-103
25
56
-1
-13
-7
-23
85
0
-6
0
0
0
0
0
81
-3
-23
45
71
136
38
3
-65
96
43
0
0
0
0
0
0
-4
-60
-33
47
48
-49
104
-32
0
38
0
0
0
0
0
0
0
10
-81
44
-14
68
14
1
96
-26
11
-8
0
0
0
0
0
0
48
-7
15
43
72
-15
-37
-14
-27
-14
3
0
0
0
0
0
0
0
-1
43
-3
11
-18
61
4
-46
75
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
16
2
0
0
0
0
0
0
0
0
0
53
-59
-49
47
49
-29
26
0
46
-4
0
0
0
0
0
0
0
-9
-16
4
12
-16
-38
-36
-1
-30
12
1
0
0
0
0
0
0
10
6
77
80
6
-55
13
-56
43
12
0
0
0
0
0
0
0
-23
8
-22
25
4
-58
-27
21
-129
3
1
0
0
0
0
0
0
119
17
102
37
80
17
69
-5
0
8
0
0
0
0
0
0
0
6
25
14
25
18
117
148
98
60
2
0
0
0
0
0
0
0
32
-13
5
-12
-19
71
61
35
8
-3
0
0
0
0
0
0
0
-2
1
0
0
53
-68
7
23
49
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
25
-4
0
26
-24
-11
0
-5
18
2
0
0
0
0
0
0
0
-1
-14
-7
124
13
51
-51
-63
-23
-16
0
0
0
0
0
0
0
37
0
47
15
57
-20
-29
39
-45
-1
0
0
0
0
0
0
0
-21
3
0
25
-33
-79
15
25
-24
2
0
0
0
0
0
0
0
0
24
0
19
50
92
-9
-33
0
-7
0
0
0
0
0
0
0
-1
-4
2
0
-15
70
-8
5
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-25
-1
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
59
0
0
0
0
0
0
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
0
-14
-6
0
0
0
0
0
0
0
0
3
5
0
-14
-7
10
1
6
-4
0
0
0
0
0
0
0
0
2
0
6
-1
-6
7
34
15
19
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
7
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
-9
-5
0
0
0
0
0
0
0
0
0
0
-1
0
25
4
0
0
15
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
5
-3
9
-1
0
0
0
0
0
0
0
0
0
-3
0
0
13
1
26
0
43
-14
0
0
0
0
0
0
0
0
-5
0
-1
1
-4
-3
4
11
0
0
0
0
0
0
0
0
0
8
-9
6
-25
-3
104
3
58
-1
0
0
0
0
0
0
0
0
7
0
-2
8
5
0
95
2
-19
0
0
0
0
0
0
0
0
0
0
59
35
23
-43
0
-6
19
0
0
0
0
0
0
0
0
0
6
0
3
155
10
8
10
1
0
0
0
0
0
0
0
0
0
0
0
111
0
21
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
-6
3
-1
0
-1
0
0
0
0
0
0
0
0
28
0
1
-26
-12
-10
-5
-68
-37
0
0
0
0
0
0
0
0
0
6
13
1
-29
81
26
-102
49
0
0
0
0
0
0
0
3
-5
0
59
34
47
24
-3
16
-95
0
0
0
0
0
0
0
0
75
5
-30
153
25
116
45
73
7
0
0
0
0
0
0
0
-2
0
-6
-21
-30
-37
-149
-19
-5
8
0
0
0
0
0
0
0
0
-8
0
-17
152
-14
-64
-45
-33
0
0
0
0
0
0
0
0
0
-3
0
3
0
-30
-15
-4
1
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
-1
14
-3
160
2
22
0
44
1
0
0
0
0
0
0
0
-2
-1
1
-80
5
90
50
-15
-18
-25
0
0
0
0
0
0
0
4
-2
3
32
-47
12
103
27
-29
-8
0
0
0
0
0
0
0
24
-1
18
-23
-63
-51
-56
29
-59
-6
0
0
0
0
0
0
0
5
6
0
0
-66
-12
7
14
-2
0
0
0
0
0
0
0
0
-3
0
0
-28
100
-3
-5
-63
9
0
0
0
0
0
0
0
0
-6
0
0
-30
9
45
-8
86
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
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
4
10
-7
5
84
0
9
0
0
0
0
0
0
0
31
-2
-2
-43
19
-9
-26
-55
58
10
24
0
0
0
0
0
0
0
0
0
9
-43
-9
-41
-55
19
18
9
0
0
0
0
0
0
3
0
-2
10
53
76
-78
-49
13
-3
0
0
0
0
0
0
0
-1
0
7
-57
89
53
-7
2
-8
0
0
0
0
0
0
0
0
2
0
1
0
7
132
19
-8
2
2
0
0
0
0
0
0
0
-2
-2
0
4
1
9
-14
20
-9
0
0
0
0
0
0
0
0
0
0
0
4
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
33
-6
51
1
33
103
9
-14
0
-53
0
0
0
0
0
0
0
-7
-24
-9
13
-93
14
-16
-14
-22
-25
1
0
0
0
0
0
0
0
-46
-2
-19
-165
-38
-23
31
100
-14
0
0
0
0
0
0
0
-1
7
-13
-47
-104
5
29
52
5
-85
0
0
0
0
0
0
0
6
8
-71
-10
4
11
89
-32
-32
41
0
0
0
0
0
0
0
8
23
6
-32
0
-68
61
28
-79
-21
2
0
0
0
0
0
0
3
14
2
0
-45
31
-14
43
42
0
0
0
0
0
0
0
0
0
0
0
-5
0
-30
1
41
11
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
-2
-10
-40
-46
-5
7
12
50
0
69
0
0
0
0
0
0
0
45
-17
15
48
17
82
0
9
60
-47
24
0
0
0
0
0
0
19
-29
14
-30
18
1
63
40
6
-53
0
0
0
0
0
0
0
6
-5
0
9
-35
60
-7
59
-16
34
0
0
0
0
0
0
0
10
-62
10
2
-8
43
88
47
35
31
0
0
0
0
0
0
0
0
42
1
-21
20
0
-8
-9
69
83
-5
0
0
0
0
0
0
7
34
-4
-14
-33
-57
-15
-6
118
0
0
0
0
0
0
0
0
0
0
0
-6
0
-72
-16
-30
23
-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
-3
-64
-1
-14
-80
30
-75
-4
0
-62
9
0
0
0
0
0
0
-25
-54
-10
28
-94
7
-44
41
49
-9
14
-1
0
0
0
0
0
16
-13
42
-44
-28
159
71
65
21
-42
0
0
0
0
0
0
0
-33
20
19
1
-38
14
111
28
-28
-47
0
0
0
0
0
0
0
17
-83
-20
24
85
-81
98
110
12
55
-3
0
0
0
0
0
0
36
55
4
40
119
109
0
90
47
82
0
0
0
0
0
0
0
-2
6
92
-43
11
-35
-51
28
-11
-11
0
0
0
0
0
0
0
0
-1
7
0
-8
-30
-3
47
57
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
0
0
0
0
0
0
0
0
0
-14
12
43
-105
53
5
15
61
0
14
21
0
0
0
0
0
0
5
18
65
119
-2
57
-31
1
6
5
-14
0
0
0
0
0
0
100
35
10
100
53
32
51
28
63
1
-8
0
0
0
0
0
0
35
-98
23
22
20
38
62
46
91
-55
23
0
0
0
0
0
0
37
-3
37
0
36
101
78
-47
34
-42
0
0
0
0
0
0
0
-68
-9
99
-53
-16
32
42
0
5
85
-4
0
0
0
0
0
0
16
-31
62
-15
37
-10
44
-2
-8
-20
-1
0
0
0
0
0
0
0
-5
-2
11
26
-18
-39
22
-53
0
0
0
0
0
0
0
0
0
0
0
3
20
0
-30
0
5
0
0
0
0
0
0
0
0
33
113
-11
17
61
65
34
-56
0
-69
-46
0
0
0
0
0
0
-15
11
52
-58
-76
4
1
-13
3
-4
-44
0
0
0
0
0
0
-14
20
129
41
3
40
4
22
-8
-25
35
0
0
0
0
0
0
-17
20
3
64
62
4
42
-22
-50
38
3
2
0
0
0
0
0
21
26
15
50
-34
-26
25
-8
47
8
-4
1
0
0
0
0
0
25
-66
18
-70
90
-5
59
18
0
37
3
0
0
0
0
0
0
90
56
31
136
39
-17
-35
-33
-6
1
4
0
0
0
0
0
0
0
-5
15
22
-6
21
4
120
-10
18
0
0
0
0
0
0
0
0
0
0
0
3
0
-10
-4
3
1
0
0
0
0
0
0
0
0
-46
-13
-46
-23
-55
-50
2
0
-31
-62
-2
0
0
0
0
0
0
-27
59
-13
43
-29
-6
-17
4
36
-4
0
0
0
0
0
0
0
36
14
1
32
90
50
33
-60
-43
-4
0
0
0
0
0
0
0
-5
9
92
7
34
71
-38
18
-34
-63
0
0
0
0
0
0
0
-1
78
-5
69
7
113
65
-33
-30
7
0
0
0
0
0
0
0
-11
-33
-44
-3
85
27
78
-22
0
-3
0
0
0
0
0
0
0
-14
-14
-102
-38
21
1
51
10
-55
0
0
0
0
0
0
0
0
0
-1
-6
0
-13
-13
72
75
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
21
17
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
27
37
0
-30
64
43
0
0
0
0
0
0
0
23
28
-13
34
-56
52
-30
-72
13
-5
0
0
0
0
0
0
0
8
14
1
16
-15
45
93
-3
-9
-47
0
0
0
0
0
0
0
-4
2
14
-9
74
39
-40
-16
-15
-6
0
0
0
0
0
0
0
-1
-5
-7
43
23
34
22
59
-3
3
0
0
0
0
0
0
0
-1
6
0
0
-5
-49
-12
-20
0
3
0
0
0
0
0
0
0
0
0
0
2
4
6
-22
-53
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
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
-13
0
1
-1
0
0
0
0
0
0
0
0
0
0
3
-1
0
-1
-8
1
-21
33
0
0
0
0
0
0
0
0
-3
0
0
0
3
-1
5
36
-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
15
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
9
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
10
0
60
0
-3
0
0
0
0
0
0
0
0
1
0
0
7
-1
19
0
144
0
0
0
0
0
0
0
0
0
0
4
0
1
-39
-5
-18
4
0
0
0
0
0
0
0
0
0
0
0
-6
-34
0
80
0
2
0
0
0
0
0
0
0
0
0
0
10
0
0
-71
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
14
0
0
-2
-4
-4
0
7
0
0
0
0
0
0
0
0
-14
0
0
0
49
-55
35
-8
-18
0
0
0
0
0
0
0
0
29
0
0
24
-25
-13
5
-8
25
0
0
0
0
0
0
0
0
9
0
-36
14
54
-16
76
-65
56
0
0
0
0
0
0
0
-7
-4
-27
-23
-57
-3
7
-7
2
1
0
0
0
0
0
0
0
1
0
7
-14
9
-71
55
39
7
0
0
0
0
0
0
0
0
0
0
-2
6
4
-6
42
21
5
0
0
0
0
0
0
0
0
0
-11
0
3
-4
2
22
69
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
-15
-2
-32
-6
0
11
0
0
0
0
0
0
0
0
1
1
0
-8
-1
1
4
-81
26
-7
0
0
0
0
0
0
0
3
-3
-4
-1
-20
3
5
22
-6
3
0
0
0
0
0
0
0
-5
6
0
5
45
-33
-22
-26
-8
0
0
0
0
0
0
0
0
25
8
-27
-90
-47
-56
43
-5
13
0
0
0
0
0
0
0
0
-30
0
-3
4
63
75
-38
7
0
0
0
0
0
0
0
0
0
-2
0
0
-3
14
-96
-3
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
103
48
36
-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
-13
1
-10
0
0
0
0
0
0
0
0
0
10
0
-4
0
5
39
0
51
69
-9
-1
0
0
0
0
0
0
0
0
0
0
-10
1
67
15
53
0
-2
0
0
0
0
0
0
13
0
0
2
2
-10
-25
-22
-4
-2
1
0
0
0
0
0
0
0
0
-10
-3
8
44
5
41
-39
0
0
0
0
0
0
0
0
0
4
10
2
4
22
-17
-4
1
0
0
0
0
0
0
0
0
1
0
0
0
14
11
88
10
48
-2
0
0
0
0
0
0
0
0
0
0
36
0
47
-6
-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
2
-14
-20
-69
-23
0
26
0
0
0
0
0
0
0
0
126
0
-4
-18
2
-61
-71
29
-69
0
0
0
0
0
0
0
0
53
4
35
29
30
112
-3
-21
-38
0
0
0
0
0
0
0
-2
-23
0
-5
23
24
-79
-66
-11
-140
0
0
0
0
0
0
0
3
-33
-3
11
-33
-34
-68
-53
-84
0
0
0
0
0
0
0
0
0
-18
13
14
15
-25
41
109
-6
26
0
3
0
0
0
0
0
-3
32
-3
66
0
26
-17
6
8
10
0
0
0
0
0
0
0
0
-6
0
-2
0
106
37
-36
6
-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
-8
1
22
14
40
0
-23
0
0
0
0
0
0
0
1
-12
-8
-11
-16
-47
-43
53
-25
-65
23
0
0
0
0
0
0
1
-42
0
64
73
53
-14
-26
9
20
-1
0
0
0
0
0
0
-27
46
15
9
-48
5
71
91
44
25
-1
0
0
0
0
0
0
-5
-8
-10
14
72
63
25
-24
-29
-18
0
0
0
0
0
0
0
18
5
20
-63
-5
44
7
-36
78
-5
5
0
0
0
0
0
0
1
39
8
-7
25
0
-21
6
-2
-7
0
0
0
0
0
0
0
0
-2
0
117
0
8
-3
-81
-5
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-16
4
0
0
0
0
0
0
0
0
0
4
5
-2
-8
60
-89
4
20
0
-35
3
0
0
0
0
0
0
6
-31
5
5
-33
54
0
-23
-5
26
2
0
0
0
0
0
0
14
25
-14
6
-33
-57
123
-92
-14
-36
-1
0
0
0
0
0
0
45
43
43
-40
5
-26
60
-6
27
62
1
0
0
0
0
0
0
1
168
-24
-4
-77
-3
52
103
5
9
0
0
0
0
0
0
0
0
-25
87
73
33
20
-5
17
43
-6
0
0
0
0
0
0
0
0
10
-20
53
110
19
0
-2
38
61
0
0
0
0
0
0
0
0
2
4
-14
-4
-11
73
16
-11
64
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
0
0
0
0
-109
-16
18
-48
5
-9
-21
-4
0
-81
5
0
0
0
0
0
0
-62
-46
49
65
89
-18
28
-17
-109
57
-60
0
0
0
0
0
0
-7
56
-85
11
-2
58
24
-10
6
99
2
0
0
0
0
0
0
-7
-30
1
17
29
-5
-33
-5
-104
-50
-18
0
0
0
0
0
0
-7
-76
65
47
5
-25
106
57
1
-45
6
0
0
0
0
0
0
-24
49
42
117
22
4
-49
9
26
-66
-6
0
0
0
0
0
0
20
36
33
-12
112
9
-25
0
35
-27
1
0
0
0
0
0
0
0
-3
10
-43
43
-16
23
8
68
17
0
0
0
0
0
0
0
0
0
0
0
16
0
23
-1
7
0
0
0
0
0
0
0
0
0
57
113
84
-62
-73
-21
-89
0
-69
9
0
0
0
0
0
0
-5
149
-34
-62
50
29
-46
-5
-30
-12
-78
0
0
0
0
0
0
2
42
38
72
37
-24
25
11
17
27
-2
8
0
0
0
0
0
-14
45
-32
-14
10
72
1
90
72
104
-9
0
0
0
0
0
0
45
42
-12
31
5
-95
73
-5
73
43
0
0
0
0
0
0
0
0
28
6
20
-69
-7
1
47
-73
56
-2
0
0
0
0
0
0
4
-7
-61
-39
107
101
36
-23
0
4
0
1
0
0
0
0
0
0
6
-9
-5
95
53
40
-20
45
15
0
0
0
0
0
0
0
0
-5
0
0
0
-1
-28
55
0
2
0
0
0
0
0
0
0
0
11
-21
-32
-54
-3
-9
-12
0
-2
47
0
0
0
0
0
0
0
-26
33
-53
-10
-16
-77
-97
23
-3
65
0
0
0
0
0
0
0
-21
107
-3
-44
-86
-3
58
-32
35
-73
-3
0
0
0
0
0
0
2
35
82
-22
-29
55
-46
-14
-17
30
0
0
0
0
0
0
0
56
69
-21
2
41
-6
60
-46
81
48
0
0
0
0
0
0
0
39
68
112
-17
8
22
83
-28
-60
-7
0
0
0
0
0
0
0
39
-91
43
126
-10
3
-33
-24
0
1
0
0
0
0
0
0
0
24
-3
-6
6
9
34
54
12
118
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
20
3
-10
0
14
2
-7
0
0
0
0
0
0
0
22
-90
-17
8
-63
-19
-29
-24
-16
31
0
0
0
0
0
0
0
6
11
2
36
-15
-32
-84
-35
31
-2
0
0
0
0
0
0
0
2
63
14
4
13
104
39
67
26
-2
0
0
0
0
0
0
0
-15
4
2
46
34
71
9
35
-4
2
0
0
0
0
0
0
0
0
-4
0
1
-65
9
-7
11
8
-6
0
0
0
0
0
0
0
0
-2
-3
-33
3
-21
-41
11
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-14
30
-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
-4
0
1
14
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
6
2
34
15
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
-3
-26
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
13
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-27
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
-2
0
18
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
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
10
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
-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
0
0
0
0
0
75
-2
46
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
-11
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
6
5
4
0
0
0
0
0
0
0
0
0
8
-17
0
57
1
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
17
-6
35
-4
0
7
0
0
0
0
0
0
0
0
0
0
0
4
14
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
129
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
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-11
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
24
3
-47
16
0
0
0
0
0
0
0
0
0
0
0
0
2
11
-5
5
-3
0
0
0
0
0
0
0
0
0
-3
-24
4
25
2
3
-6
2
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
20
0
4
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
2
0
-3
-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
34
2
15
45
0
0
0
0
0
0
0
0
0
0
6
0
-22
0
-113
-15
-1
2
0
0
0
0
0
0
0
0
0
2
-17
-13
23
1
-12
-5
0
0
0
0
0
0
0
0
1
0
0
0
-23
14
34
-2
30
8
0
0
0
0
0
0
0
0
0
10
0
0
41
-2
19
1
0
1
0
0
0
0
0
0
8
-1
0
0
16
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
-3
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
30
-94
37
-26
13
0
0
0
0
0
0
0
0
1
-1
0
1
14
5
36
-10
26
0
0
0
0
0
0
0
0
-4
-2
3
-9
20
74
65
-1
8
0
0
0
0
0
0
0
0
0
0
0
2
20
70
-4
-11
0
0
0
0
0
0
0
0
-2
-4
-1
-9
3
-28
8
33
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-13
-2
49
7
-18
-3
0
0
0
0
0
0
0
0
0
0
-14
0
16
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
-14
-6
-15
98
17
-56
-1
-24
3
0
0
0
0
0
0
0
3
3
3
-60
-14
25
76
33
-9
0
0
0
0
0
0
0
-6
-3
1
-2
-1
-27
24
-19
-8
13
0
0
0
0
0
0
0
-13
16
-15
-2
-69
-4
-46
-1
-41
-1
0
0
0
0
0
0
0
-1
-14
-44
-8
-3
37
3
48
18
18
0
0
0
0
0
0
0
0
0
-2
-2
-20
0
-39
25
40
1
-2
0
0
0
0
0
0
0
4
0
20
9
0
-21
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
78
-39
0
3
0
0
0
0
0
0
0
0
5
-8
-1
-8
-18
-14
-110
-25
33
0
0
0
0
0
0
0
0
-47
-6
0
72
-14
56
-5
23
8
-5
0
0
0
0
0
0
1
8
1
12
-31
-96
-30
-42
59
44
0
0
0
0
0
0
0
-3
45
-6
-15
-72
-19
109
17
-48
0
0
0
0
0
0
0
0
44
14
60
124
0
-51
4
-58
-25
-9
0
0
0
0
0
0
0
-1
10
1
0
-6
19
6
12
-25
-2
0
0
0
0
0
0
0
0
-13
-2
-19
6
16
0
85
3
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
1
-2
1
-7
57
-1
-62
14
0
8
0
0
0
0
0
0
0
-8
5
-48
-4
97
64
-62
-108
65
6
-22
0
0
0
0
0
0
-11
-5
6
16
-89
89
150
-138
54
-91
-1
0
0
0
0
0
0
30
3
-6
101
-9
35
121
17
37
6
-1
0
0
0
0
0
0
0
29
36
18
7
27
39
-29
12
-48
0
0
0
0
0
0
0
66
137
-1
51
1
-45
39
-15
17
-46
0
0
0
0
0
0
0
-10
-56
46
15
31
87
6
9
-14
0
0
0
0
0
0
0
0
1
86
23
-24
20
28
44
0
16
-11
0
0
0
0
0
0
0
0
0
0
0
20
-3
-63
23
3
0
0
0
0
0
0
0
0
0
-37
-5
58
-29
-33
-106
15
0
8
0
0
0
0
0
0
0
0
9
-98
105
-74
-75
-27
11
75
-46
3
0
0
0
0
0
0
-6
118
-4
48
-29
-48
33
14
8
-93
0
0
0
0
0
0
0
0
33
-59
-7
-62
-3
23
9
65
-36
4
0
0
0
0
0
0
22
3
5
54
9
18
30
-53
64
-1
6
0
0
0
0
0
0
-9
-23
67
-27
57
-23
-55
-14
5
-34
0
0
0
0
0
0
0
-1
1
30
52
-124
51
27
-33
-5
-74
0
0
0
0
0
0
0
2
-1
49
32
-60
-75
74
-68
0
-33
-1
0
0
0
0
0
0
0
1
-2
0
2
-2
14
14
18
0
0
0
0
0
0
0
0
0
0
13
2
5
5
-21
58
0
4
21
0
0
0
0
0
0
0
-47
25
9
99
6
19
2
23
-64
1
0
0
0
0
0
0
0
63
36
-17
51
-33
3
26
-3
15
10
0
0
0
0
0
0
0
45
0
33
-62
-62
-23
100
36
-1
36
0
0
0
0
0
0
0
21
-16
-8
3
-62
87
8
47
-23
-6
0
0
0
0
0
0
0
21
78
-2
-1
33
121
4
23
-5
43
0
0
0
0
0
0
0
-17
-20
13
-43
54
5
15
20
2
4
0
0
0
0
0
0
0
-5
-2
0
11
-32
-4
-33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-45
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-20
0
-16
-3
0
0
0
0
0
0
0
0
0
0
0
4
36
-9
-38
8
5
0
0
0
0
0
0
0
0
-4
4
0
33
3
-62
-8
-30
51
-1
0
0
0
0
0
0
0
-3
-7
-3
-17
43
1
-5
55
89
0
0
0
0
0
0
0
0
0
0
0
3
-46
14
74
-9
5
-15
0
0
0
0
0
0
0
-5
-1
0
1
-3
-14
5
0
5
-1
0
0
0
0
0
0
0
0
0
0
3
-5
-1
-3
-31
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
-3
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
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-33
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-2
5
0
15
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
-3
0
3
0
1
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
16
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
-2
0
-21
-2
48
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-49
0
16
0
0
0
0
0
0
0
0
0
0
0
81
-1
-7
0
42
2
0
0
0
0
0
0
0
0
2
0
2
-1
-5
0
40
0
1
0
-1
0
0
0
0
0
0
-1
0
-6
2
22
-45
0
4
0
0
0
0
0
0
0
0
0
-5
-4
0
11
2
0
17
-3
-20
0
0
0
0
0
0
0
0
0
0
0
5
0
48
-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
-9
0
4
0
0
0
0
0
0
0
0
0
0
5
-15
-5
-4
0
-20
0
0
0
0
0
0
0
0
0
-2
2
1
0
6
-14
-43
0
3
0
0
0
0
0
0
0
0
-1
0
-9
-10
-5
-14
-32
83
-3
0
0
0
0
0
0
0
0
0
0
7
10
5
0
58
5
-6
0
0
0
0
0
0
0
0
1
0
0
-33
-7
-11
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-13
-1
0
30
0
0
0
0
0
0
0
0
0
0
0
0
4
25
-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
-10
-15
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
-10
62
47
0
0
0
0
0
0
0
0
0
0
0
17
-8
-5
-16
-33
3
2
0
0
0
0
0
0
0
0
0
-1
-1
-1
-3
17
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
2
2
0
24
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
-10
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
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
-9
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
9
-5
0
-1
0
-3
0
0
0
0
0
0
0
35
-11
-36
-90
-1
0
-2
0
-19
7
0
0
0
0
0
0
0
-6
4
7
-34
7
7
-8
3
7
54
-1
0
0
0
0
0
0
-10
-24
58
74
3
-25
-8
0
-37
1
0
0
0
0
0
0
0
5
-44
1
-6
-14
54
-6
-1
1
-5
0
0
0
0
0
0
0
13
-6
-10
-6
-6
2
-6
-2
-6
0
0
0
0
0
0
0
0
1
15
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
-20
-24
0
0
0
0
0
0
0
0
0
-15
-5
-43
0
0
8
4
-34
0
0
0
0
0
0
0
0
0
0
7
-13
4
0
0
1
-24
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
-13
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
-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
-16
-4
23
2
0
-11
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
11
-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
-13
-2
-2
-5
1
10
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
31
-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
11
0
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-3
-2
-5
0
-2
-10
3
0
0
0
0
0
0
0
0
13
-4
4
0
-4
0
7
0
7
0
0
0
0
0
0
0
0
-19
-9
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
3
11
-23
0
0
2
0
0
0
0
0
0
0
0
0
0
-21
-6
4
-16
2
4
-14
-1
0
0
0
0
0
0
0
0
1
4
7
1
48
9
0
-1
-6
0
0
0
0
0
0
0
0
0
-9
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
-17
0
7
0
0
0
0
0
0
0
0
0
0
0
0
4
22
35
-13
0
1
0
0
0
0
0
0
0
0
0
0
0
1
22
-15
9
-2
-2
-2
-4
0
0
0
0
0
0
0
0
-1
10
-17
14
-3
-24
-59
-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
-10
2
9
7
0
5
0
0
0
0
0
0
0
0
0
0
26
43
33
-25
99
0
0
-6
0
0
0
0
0
0
0
0
14
-27
23
-32
-41
8
-9
-5
-14
-11
-3
0
0
0
0
0
0
2
-53
-1
-1
66
-5
2
0
15
0
0
0
0
0
0
0
0
-11
-24
-31
13
61
18
1
-1
-9
0
0
0
0
0
0
0
0
1
135
8
43
-14
-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
-36
-35
-22
-24
0
-22
-76
-2
3
0
0
0
0
0
0
15
-35
18
-9
1
0
-3
0
-58
7
1
0
0
0
0
0
0
-1
79
51
1
-81
-13
-54
-7
26
-24
0
0
0
0
0
0
0
-11
32
24
58
-49
-18
17
-8
22
-17
-1
1
0
0
0
0
0
-34
22
21
-4
21
-27
0
-3
1
0
0
0
0
0
0
0
0
-13
-45
28
43
-62
-19
-14
-22
2
1
0
0
0
0
0
0
0
0
-4
56
3
-1
2
0
0
-10
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
2
-6
0
0
-72
5
1
0
0
0
0
0
0
0
8
-23
-25
-18
0
0
0
-15
14
6
0
0
0
0
0
0
0
-11
-2
23
2
-23
17
7
21
45
-3
0
0
0
0
0
0
0
-9
-53
-6
51
14
4
-4
-14
22
14
2
0
0
0
0
0
0
-4
0
27
7
8
-14
15
-1
26
0
0
0
0
0
0
0
0
-2
4
-1
-10
5
19
9
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
-10
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
-9
1
0
-1
-15
0
16
0
0
0
0
0
0
0
0
1
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
-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
45
15
2
-20
1
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-5
-7
2
-9
-1
-6
1
0
0
0
0
0
0
0
0
-22
9
-1
2
9
0
-1
0
0
0
0
0
0
0
0
0
-15
0
-5
6
-5
3
3
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
5
-15
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
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
16
-14
-9
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-10
2
0
1
-4
-3
0
0
0
0
0
0
0
0
-3
-7
1
-5
10
-4
9
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
-14
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
-43
-9
11
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
-23
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
11
13
-5
-59
-15
1
2
-4
3
0
0
0
0
0
0
0
0
-1
-20
-1
6
14
-4
0
-4
-4
0
0
0
0
0
0
0
0
0
0
6
-33
16
-3
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
0
0
-11
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
14
10
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-14
6
51
23
4
-10
0
3
0
0
0
0
0
0
0
0
0
2
-11
32
3
-4
4
6
10
0
0
0
0
0
0
0
0
0
-18
-3
7
-9
14
-2
-25
2
0
0
0
0
0
0
0
0
0
3
-8
-46
-8
-69
-33
0
3
-2
0
0
0
0
0
0
0
0
0
-6
11
14
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
-14
25
1
36
-3
0
0
0
0
0
0
0
0
0
0
0
1
16
32
-74
17
15
-3
0
6
0
0
0
0
0
0
0
0
-11
-19
33
-5
-61
0
-4
2
-19
-5
0
0
0
0
0
0
0
2
18
-75
-56
-27
-26
-4
33
3
-5
-5
0
0
0
0
0
0
0
-32
23
-18
-132
4
19
0
0
0
0
0
0
0
0
0
0
0
0
3
27
14
3
-2
-2
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
-6
0
0
0
0
0
0
0
0
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
30
9
9
8
0
0
0
0
0
0
0
0
0
0
25
12
-21
103
53
-9
-14
0
-13
0
-1
0
0
0
0
0
0
-7
-23
-47
-13
-129
16
10
-2
45
-5
2
0
0
0
0
0
0
-14
-70
40
30
-67
-14
33
51
-25
-4
0
0
0
0
0
0
0
13
5
-13
-5
-103
26
0
3
-14
1
0
0
0
0
0
0
0
0
-9
61
-16
-5
-10
-10
-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
-22
-11
12
7
-1
0
0
0
1
0
0
0
0
0
0
8
109
-77
11
-63
-26
-22
0
-25
0
15
0
0
0
0
0
0
-14
-55
-27
-47
-61
17
34
2
-8
-32
-6
0
0
0
0
0
0
-27
15
-15
11
61
34
50
-14
-11
-26
-3
-5
0
0
0
0
0
37
33
4
-64
-61
-33
-16
3
-2
-2
-9
0
0
0
0
0
0
-1
-22
-6
-32
14
11
2
1
0
0
0
0
0
0
0
0
0
-3
1
18
0
48
0
20
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
64
91
-46
-25
-19
4
0
0
0
0
0
0
0
0
0
-49
-2
10
-43
64
29
49
0
-13
0
1
0
0
0
0
0
0
15
-26
-39
-34
-22
68
-8
-50
-2
24
-11
0
0
0
0
0
0
-132
100
-10
-59
-6
-17
-103
14
57
-25
5
-6
0
0
0
0
0
36
-51
2
69
-14
6
-93
20
-7
-3
-1
0
0
0
0
0
0
-1
-18
-30
-37
89
10
6
3
1
0
0
0
0
0
0
0
0
0
0
-1
-45
-14
-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
-49
-52
-89
9
15
-10
0
-102
-14
1
0
0
0
0
0
0
-53
-12
-43
-111
-19
-62
0
-8
0
-42
6
0
0
0
0
0
0
-4
-84
0
70
16
-34
-56
-13
5
-33
-18
0
0
0
0
0
0
-57
36
-69
48
10
-100
-50
18
39
-18
1
1
0
0
0
0
0
-14
-118
-5
18
-47
-79
-43
1
25
7
-6
-1
0
0
0
0
0
8
3
6
42
-19
30
-29
0
-1
-2
0
0
0
0
0
0
0
-7
8
44
-17
6
61
9
0
-7
-1
0
0
0
0
0
0
0
0
-6
34
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
0
10
22
-44
7
0
0
0
-2
7
0
0
0
0
0
0
0
24
-16
-78
-77
-37
0
-7
0
21
4
0
0
0
0
0
0
0
-21
14
-69
9
-47
22
-4
-3
32
-27
1
0
0
0
0
0
0
13
58
52
-22
-8
31
-5
-4
-9
-51
-2
0
0
0
0
0
0
-15
43
8
7
71
22
3
15
-4
4
0
0
0
0
0
0
0
-2
14
53
-34
6
2
2
1
0
1
0
0
0
0
0
0
0
0
14
3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-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
10
-7
3
0
-14
0
23
20
0
0
0
0
0
0
0
0
-1
7
-2
-17
-47
9
6
-19
6
-3
0
0
0
0
0
0
0
4
-13
-32
-4
14
10
15
0
-1
-5
-1
0
0
0
0
0
0
0
0
-8
-3
0
15
-2
4
-65
2
0
0
0
0
0
0
0
0
23
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
-13
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
15
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
14
-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
11
27
-14
5
0
0
14
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
3
-11
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
6
-8
-23
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
-15
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
6
-39
-18
-50
3
0
-5
0
0
0
0
0
0
0
0
-6
0
-26
0
-36
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
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
-12
20
34
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
-23
16
4
-33
-21
-14
0
9
13
0
0
0
0
0
0
0
-8
-23
-10
1
18
9
1
4
-1
5
0
0
0
0
0
0
0
-4
29
5
5
-25
80
-80
4
2
0
0
0
0
0
0
0
0
0
0
-2
24
-4
3
21
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
-115
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-17
-51
5
41
0
0
-1
0
0
0
0
0
0
0
0
-2
-2
62
-47
-81
-2
5
0
14
-9
0
0
0
0
0
0
0
3
-12
-79
-10
-4
-53
14
1
2
1
0
0
0
0
0
0
0
0
-7
-2
-7
4
7
-24
-13
-16
-14
0
0
0
0
0
0
0
0
-4
-1
39
-43
13
-3
-8
0
0
0
0
0
0
0
0
0
0
0
-11
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
-5
-9
-62
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-40
16
87
-104
-4
0
0
0
0
0
0
0
0
0
0
4
33
-42
-63
-43
-11
-14
0
0
8
1
0
0
0
0
0
0
-1
16
-1
-62
84
0
-28
2
10
0
0
0
0
0
0
0
0
0
2
33
24
4
23
5
-4
-1
2
0
0
0
0
0
0
0
0
-2
-9
-35
18
50
6
0
0
0
0
0
0
0
0
0
0
0
0
-20
-54
-10
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
1
-20
19
-25
-3
0
0
6
1
0
0
0
0
0
0
-33
-5
-46
14
-54
80
-9
0
0
0
0
0
0
0
0
0
0
53
5
3
-75
-31
-8
-10
1
37
-51
0
0
0
0
0
0
0
-11
-63
-14
-2
-77
17
-4
-26
3
30
0
0
0
0
0
0
0
5
30
44
-1
-31
-7
7
-16
33
0
0
0
0
0
0
0
0
0
-80
-13
-95
32
-22
3
0
0
19
0
0
0
0
0
0
0
0
0
-29
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-43
-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
-8
-67
-39
-83
-10
-56
-41
2
0
0
0
0
0
0
0
0
0
-8
95
43
88
-29
-13
-48
0
9
0
4
0
0
0
0
0
0
2
-38
53
-94
-81
15
7
-10
22
-72
4
0
0
0
0
0
0
36
12
-53
-28
-166
-26
-56
0
-25
3
7
0
0
0
0
0
0
0
44
-99
-65
49
7
-2
14
3
62
0
0
0
0
0
0
0
-3
-19
55
-5
45
-61
-7
-1
0
-5
0
0
0
0
0
0
0
0
-7
21
5
-3
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
-14
27
-18
-83
32
-1
-7
0
0
-2
0
0
0
0
0
0
62
-43
-47
46
-61
-14
-36
0
-5
0
-25
-3
0
0
0
0
0
-143
6
57
-141
-53
48
-42
-29
-22
-14
27
0
0
0
0
0
0
-86
-73
32
33
-58
9
-7
65
-24
-23
-11
0
0
0
0
0
0
-6
43
-28
31
-8
-125
48
-17
22
-13
-2
0
0
0
0
0
0
0
14
-8
8
-14
-43
8
0
8
3
0
0
0
0
0
0
0
0
0
-57
-144
-42
-1
-33
0
-1
0
0
0
0
0
0
0
0
0
24
0
-26
2
-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
-20
66
-56
22
26
3
10
0
-96
-1
0
0
0
0
0
0
0
33
39
-20
-41
-54
-18
0
0
0
-42
9
0
0
0
0
0
0
4
-38
-78
-21
-4
-115
-1
-91
-32
79
-11
0
0
0
0
0
0
32
-57
-93
58
18
-9
-22
-34
-5
-45
-3
0
0
0
0
0
0
7
-8
-62
-28
-26
-59
30
42
35
8
-2
0
0
0
0
0
0
80
-72
-128
-50
82
-26
-24
14
6
0
0
0
0
0
0
0
0
-26
57
65
68
21
-36
3
1
0
0
0
0
0
0
0
0
0
5
-9
-5
-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
-26
6
0
11
1
0
0
32
0
0
0
0
0
0
0
0
33
20
49
-84
26
0
-1
0
13
0
0
0
0
0
0
0
0
33
61
-25
18
-43
-3
13
-23
-45
0
0
0
0
0
0
0
0
-2
68
-15
62
53
10
2
0
-13
-9
1
0
0
0
0
0
0
-14
7
1
-40
7
6
-2
3
-4
0
2
0
0
0
0
0
0
0
-19
-20
0
-1
7
3
0
2
1
0
0
0
0
0
0
0
0
1
0
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-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
-16
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
-2
7
-6
1
1
16
-4
-2
0
0
0
0
0
0
0
-2
-3
1
7
-21
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
8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
-36
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
2
-16
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
14
-1
-6
2
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
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
-137
-5
31
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-65
1
29
0
0
-11
-17
2
0
0
0
0
0
0
0
2
0
0
-8
14
-20
16
0
1
0
0
0
0
0
0
0
0
0
-30
0
-33
-36
5
-2
1
0
1
0
0
0
0
0
0
0
0
-2
-8
8
20
18
2
18
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
46
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-43
45
-1
-49
-2
3
0
0
0
0
0
0
0
0
0
0
3
0
-47
1
-35
11
-1
0
1
6
-1
0
0
0
0
0
0
1
22
2
-16
16
45
2
-1
0
3
0
0
0
0
0
0
0
-13
34
-4
0
74
-24
23
23
3
19
0
0
0
0
0
0
0
0
0
-1
-5
-14
-47
13
-2
0
-6
0
0
0
0
0
0
0
-1
0
10
-5
-43
3
-10
3
1
0
0
0
0
0
0
0
0
0
0
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
-1
-3
100
-8
5
7
0
0
0
0
0
0
0
0
0
0
0
-7
-13
19
29
-5
-2
14
0
-1
0
0
0
0
0
0
0
0
2
68
10
18
27
13
-6
0
-17
7
-1
0
0
0
0
0
0
4
19
24
7
-10
-54
-4
2
0
-13
0
0
0
0
0
0
0
0
-44
-132
21
0
-14
-73
2
13
0
0
0
0
0
0
0
0
0
4
5
-26
-25
0
8
7
-5
-1
0
0
0
0
0
0
0
0
0
-10
-9
5
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
-15
-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
18
21
-74
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
-22
10
22
10
11
0
0
0
1
0
0
0
0
0
0
-2
-33
74
26
73
-73
-24
0
5
17
0
0
0
0
0
0
0
-1
36
68
-90
-42
30
3
36
-1
1
3
0
0
0
0
0
0
1
0
9
-72
-81
0
-10
0
-15
-3
0
0
0
0
0
0
0
0
-3
-4
-152
-71
31
-18
0
0
5
0
0
0
0
0
0
0
0
-1
36
4
-15
-22
1
0
2
-1
0
0
0
0
0
0
0
0
0
0
-6
0
3
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
-10
-16
81
-59
6
4
-26
0
0
0
0
0
0
0
0
0
0
-3
50
-36
47
18
-77
5
0
8
0
1
0
0
0
0
0
0
17
24
26
101
-22
60
-59
-6
-18
-29
0
-1
0
0
0
0
0
6
-45
-19
63
-36
35
-33
14
-2
0
-5
0
0
0
0
0
0
-41
-54
11
-8
-22
-49
0
-9
-16
0
0
0
0
0
0
0
0
3
62
-39
-43
-18
43
57
0
1
-5
0
0
0
0
0
0
0
5
0
-9
-55
-63
0
15
-8
0
-6
0
0
0
0
0
0
0
0
1
-25
5
8
18
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
14
-80
-118
-133
-19
-71
1
0
0
0
0
0
0
0
0
0
8
-68
22
-79
98
-129
-17
0
-4
0
0
0
0
0
0
0
0
-44
-5
-19
46
86
33
32
-5
-19
-44
-2
0
0
0
0
0
0
-3
-57
79
52
-66
19
16
10
30
-11
-1
0
0
0
0
0
0
-4
-5
-34
-12
-9
-27
-18
0
-119
4
4
4
0
0
0
0
0
1
-5
-45
-44
3
-19
31
-89
0
-109
0
0
0
0
0
0
0
2
6
-28
-54
-74
4
15
3
0
2
0
0
0
0
0
0
0
0
4
-1
-25
-62
11
-25
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
50
-25
3
69
-31
33
0
0
2
-1
0
0
0
0
0
0
-56
-33
33
34
12
-61
14
0
-14
0
17
-1
0
0
0
0
0
-102
17
-66
-8
-66
-49
-5
-116
26
-47
-18
0
0
0
0
0
0
25
-31
-83
-107
-10
-46
4
-8
-7
-72
-2
0
0
0
0
0
0
4
-21
-60
-12
-81
106
-34
-50
0
17
-1
1
0
0
0
0
0
5
-20
-27
-10
82
-44
52
48
45
0
4
0
0
0
0
0
0
2
-13
-156
-24
-109
-30
59
45
-5
0
0
0
0
0
0
0
0
0
0
17
69
-10
-2
1
1
2
-1
0
0
0
0
0
0
0
0
13
27
-1
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
-15
-50
-30
26
2
16
-4
0
17
0
0
0
0
0
0
0
0
-9
-68
23
-14
-48
-61
0
-6
0
-22
3
0
0
0
0
0
0
20
-19
153
0
19
-101
12
-80
-29
53
-1
0
0
0
0
0
0
2
22
-17
-19
-38
-17
4
-23
56
6
-5
0
0
0
0
0
0
-34
1
71
-65
-18
2
-3
47
0
9
-4
0
0
0
0
0
0
15
34
7
27
6
-3
-38
-6
-43
1
0
1
0
0
0
0
0
0
-54
2
-5
-107
77
-14
25
-2
0
0
0
0
0
0
0
0
0
11
62
-57
27
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
9
17
-26
37
-4
5
0
2
102
0
0
0
0
0
0
0
0
-17
6
-13
21
-75
0
0
0
-33
-1
0
0
0
0
0
0
0
13
41
16
1
71
21
-27
11
4
1
0
0
0
0
0
0
0
10
36
25
14
-29
23
-2
-7
4
3
0
0
0
0
0
0
0
3
18
12
71
5
-14
7
0
0
0
0
0
0
0
0
0
0
0
17
48
-44
6
4
-1
-7
-6
0
0
0
0
0
0
0
0
-3
-3
0
-13
-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
-9
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
14
1
-5
-1
-13
-2
0
0
0
0
0
0
0
0
0
-2
-44
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-25
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
-8
2
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
0
37
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-6
24
-73
6
6
0
0
0
0
0
0
0
0
0
0
0
-9
6
-21
15
0
-2
0
-3
1
0
0
0
0
0
0
0
0
-15
0
-2
6
1
1
-1
2
0
0
0
0
0
0
0
0
-2
10
1
-9
-62
-25
-14
0
0
-11
0
0
0
0
0
0
0
0
0
0
13
0
-19
0
0
-4
-5
0
0
0
0
0
0
0
0
0
36
-2
6
2
5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
2
13
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-32
-1
6
1
0
0
0
0
0
0
0
0
0
0
0
1
-8
1
21
-3
-1
0
6
4
0
0
0
0
0
0
0
0
1
-1
19
14
-51
3
0
-4
1
0
0
0
0
0
0
0
-3
10
54
-14
2
-19
2
6
1
4
0
0
0
0
0
0
0
0
5
16
0
21
0
1
6
0
1
0
0
0
0
0
0
0
0
1
-37
-4
-39
-14
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
31
4
-22
-1
8
0
0
0
0
0
0
0
0
0
0
0
31
4
32
-14
7
-3
0
0
0
0
0
0
0
0
0
0
3
6
-24
-40
40
-1
24
0
3
25
0
0
0
0
0
0
0
0
-80
3
82
5
-7
10
0
-4
-24
0
0
0
0
0
0
0
-2
-66
-46
9
-24
-24
-55
-22
-5
-8
0
0
0
0
0
0
0
0
-35
20
-63
0
30
10
-4
-2
0
0
0
0
0
0
0
0
-2
16
-13
8
-24
-1
-3
-2
0
-7
0
0
0
0
0
0
0
0
0
2
1
4
-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
-3
-12
33
-20
0
-10
0
0
0
0
0
0
0
0
0
0
0
12
74
109
32
13
1
0
0
0
0
0
0
0
0
0
0
-3
-1
-22
44
-33
48
4
0
8
-25
0
0
0
0
0
0
0
0
-14
-42
-17
-32
-3
-19
-55
10
5
0
0
0
0
0
0
0
-3
15
7
-39
16
75
25
-16
-4
3
0
0
0
0
0
0
0
0
-1
-118
-45
-71
0
2
37
0
-39
0
0
0
0
0
0
0
-2
-1
-5
45
-10
26
0
4
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-48
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
6
-16
-108
3
-10
0
0
0
0
0
0
0
0
0
0
-3
15
19
-8
-61
-43
0
0
0
0
0
0
0
0
0
0
0
-3
14
-44
63
-17
20
-5
3
22
0
0
0
0
0
0
0
0
-15
-23
-10
-82
-60
55
-13
-2
-45
31
1
0
0
0
0
0
0
17
-43
-84
29
11
62
-90
4
14
0
0
0
0
0
0
0
0
0
30
8
52
57
18
0
-1
7
-5
0
0
0
0
0
0
0
-16
-63
-33
-21
-22
-4
-11
1
2
3
0
0
0
0
0
0
0
0
5
7
-54
-2
3
5
-4
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
-19
44
53
-17
32
32
-93
15
0
0
-4
0
0
0
0
0
0
14
0
54
8
-3
51
9
0
2
0
0
0
0
0
0
0
0
-33
2
38
-98
-3
77
-67
-24
-6
-20
0
0
0
0
0
0
0
1
-55
22
-60
-76
-32
-48
0
8
33
0
-1
0
0
0
0
0
-72
10
15
-44
-28
-42
84
-31
10
79
0
0
0
0
0
0
0
-2
-63
-62
25
-104
31
23
0
22
6
0
0
0
0
0
0
0
0
-25
-54
25
-60
9
-43
-5
4
-55
0
0
0
0
0
0
0
0
14
3
19
-9
-2
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
58
-56
-2
-49
0
63
17
4
0
0
0
0
0
0
0
0
0
5
-38
-38
-14
16
-1
-10
0
-109
0
10
0
0
0
0
0
0
71
12
35
-108
13
35
11
-71
50
-103
-10
0
0
0
0
0
0
-13
54
24
5
-80
39
-44
-93
31
-85
2
0
0
0
0
0
0
-40
51
109
-6
36
-40
-104
-7
59
8
0
0
0
0
0
0
0
15
-12
96
41
-4
-124
-15
-3
0
34
0
0
0
0
0
0
0
1
6
-6
-106
-2
60
4
56
-31
-3
0
0
0
0
0
0
0
0
-3
-33
-101
83
-89
-9
1
1
0
0
0
0
0
0
0
0
0
0
0
-17
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-7
-73
61
21
-83
0
0
63
5
0
0
0
0
0
0
0
-111
51
32
-32
-14
90
0
7
0
2
1
0
0
0
0
0
0
-43
58
62
-22
33
39
-5
-16
-41
-21
1
0
0
0
0
0
0
37
36
-18
-42
-29
70
-57
37
61
-10
0
0
0
0
0
0
0
-127
-17
-51
-33
-11
-61
83
-4
-96
0
0
0
0
0
0
0
0
-16
24
40
40
-24
-84
-24
-78
0
3
0
0
0
0
0
0
0
-29
-46
-114
35
-33
-29
7
11
-1
0
0
0
0
0
0
0
0
0
-4
-9
19
57
-55
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
7
-16
9
3
-18
0
0
64
0
0
0
0
0
0
0
0
9
-52
-27
30
76
0
-1
0
28
-1
0
0
0
0
0
0
0
21
1
8
70
60
-3
3
-17
20
-2
0
0
0
0
0
0
0
-26
24
27
90
-5
-62
-49
0
21
-8
0
0
0
0
0
0
0
34
73
52
-75
9
-1
0
0
3
0
-1
0
0
0
0
0
0
0
-15
6
-15
5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
6
-13
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
1
-1
-1
0
0
-5
0
0
0
0
0
0
0
0
0
-14
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
15
-6
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
2
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
1
-3
-1
11
1
-2
-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
-23
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
-62
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
9
1
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
-29
-2
-35
0
0
-3
0
0
0
0
0
0
0
0
10
2
5
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
-25
14
-3
0
0
-13
0
0
0
0
0
0
0
0
2
-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
-14
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
-15
-1
1
0
-6
5
0
0
0
0
0
0
0
0
-49
0
-3
2
-23
0
-5
0
0
0
0
0
0
0
0
0
0
0
19
3
2
1
0
-4
0
-5
0
0
0
0
0
0
0
0
8
0
-10
7
-20
-16
1
0
-9
0
0
0
0
0
0
0
0
0
-16
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
-17
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
53
-31
4
2
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
14
3
2
0
0
-5
0
0
0
0
0
0
0
0
1
5
-59
9
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-49
45
-30
2
3
0
0
0
0
0
0
0
0
0
0
-13
8
-15
1
-23
2
0
2
0
0
0
0
0
0
0
0
0
3
5
14
0
0
10
1
-16
0
0
0
0
0
0
0
0
0
0
0
10
-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
23
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-13
-3
-2
6
-14
0
0
0
0
0
0
0
0
0
0
1
11
-2
-11
-54
5
4
0
-7
-36
0
0
0
0
0
0
0
0
26
19
-148
6
-16
0
-1
-1
-1
0
0
0
0
0
0
0
0
-1
-13
-14
-15
-3
-5
10
-4
-16
0
0
0
0
0
0
0
0
-7
-11
-57
21
-15
5
0
1
23
0
0
0
0
0
0
0
0
0
-35
4
26
0
-2
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
-39
53
13
-74
0
2
0
0
0
0
0
0
0
0
0
0
0
90
98
-95
-103
44
-4
0
0
0
0
0
0
0
0
0
0
14
-9
34
72
-33
10
10
3
0
35
1
0
0
0
0
0
0
0
22
6
-26
9
-27
-2
0
0
2
0
0
0
0
0
0
0
9
-2
-49
3
-114
-56
32
11
-48
-1
0
0
0
0
0
0
0
0
79
-70
-56
-24
-45
3
-21
-1
-2
0
0
0
0
0
0
0
17
-1
-8
-48
53
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
4
-35
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
-21
64
-54
5
24
0
0
0
0
0
0
0
0
0
0
8
7
54
10
-38
-9
8
0
0
0
0
0
0
0
0
0
0
-4
3
76
-21
68
-53
11
19
4
-6
0
0
0
0
0
0
0
0
-50
23
53
-21
23
-43
1
-2
-4
0
0
0
0
0
0
0
16
-41
5
12
45
54
-48
-11
0
-39
0
0
0
0
0
0
0
-2
-60
-32
-91
-30
23
-7
13
-6
5
0
0
0
0
0
0
0
1
-2
54
-17
44
22
-65
0
-34
-8
0
0
0
0
0
0
0
0
6
2
26
-20
-11
4
4
0
0
0
0
0
0
0
0
0
0
0
4
-13
0
0
0
0
-8
0
0
0
0
0
0
0
0
19
-33
52
-9
22
-35
-30
-6
0
0
-1
0
0
0
0
0
0
5
-44
-10
-54
42
-59
-59
0
0
0
-5
0
0
0
0
0
0
27
19
5
128
-56
65
-71
-20
29
-12
-2
0
0
0
0
0
0
58
35
44
0
-7
-42
1
18
26
-10
9
0
0
0
0
0
0
19
73
92
26
-41
-55
-114
-32
1
-58
0
0
0
0
0
0
0
4
57
-74
6
-15
75
-36
-129
-14
25
-3
0
0
0
0
0
0
1
-21
-9
3
-81
-12
24
-21
0
11
0
0
0
0
0
0
0
0
-27
-27
-39
-11
29
33
-26
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
-70
-52
14
33
-32
-52
3
0
43
-3
0
0
0
0
0
0
0
-5
75
-63
25
20
6
0
-14
0
4
1
0
0
0
0
0
0
29
-73
-3
-35
30
4
-30
-10
51
36
0
0
0
0
0
0
0
-63
22
-24
80
-66
15
-11
95
-72
-4
-1
0
0
0
0
0
0
-62
-36
72
16
45
-73
-54
25
-10
9
0
0
0
0
0
0
0
-27
-43
-9
15
-28
-5
6
-25
3
-2
0
0
0
0
0
0
0
-68
-59
91
8
57
32
1
24
0
0
0
0
0
0
0
0
0
3
-14
49
22
53
-1
-3
5
-37
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
34
0
0
0
0
0
0
0
0
0
-5
26
27
0
0
-1
0
28
-1
0
0
0
0
0
0
0
-7
86
-37
40
-58
1
-1
0
56
0
0
0
0
0
0
0
0
-31
20
152
-2
0
8
-5
3
7
0
0
0
0
0
0
0
0
-3
53
16
93
90
-49
-9
0
11
0
0
0
0
0
0
0
0
53
0
33
3
43
-35
-15
-5
2
0
0
0
0
0
0
0
0
3
-10
7
71
49
-21
3
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
-11
-3
0
0
0
2
-32
0
0
0
0
0
0
0
0
0
3
0
0
1
-11
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
-21
0
0
2
0
0
0
0
0
0
0
0
0
0
1
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
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
-10
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
-10
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
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
46
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
-1
2
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
-2
-6
-6
-3
0
0
0
0
0
0
0
0
0
0
2
0
-29
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
-86
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
-53
-3
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
-8
1
-8
-32
26
-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
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
-54
0
16
5
4
0
0
0
0
0
0
0
0
0
0
0
-10
2
24
0
8
0
0
0
0
0
0
0
0
0
0
0
19
0
8
-9
29
0
4
0
0
3
0
0
0
0
0
0
0
-4
-68
0
-85
-5
-16
0
0
0
-3
0
0
0
0
0
0
0
-1
0
24
-54
32
1
14
0
1
0
0
0
0
0
0
0
0
0
-19
-6
-43
-16
-50
-11
-16
-1
0
0
0
0
0
0
0
0
-5
7
0
0
-25
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-56
-3
17
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
22
-4
0
0
0
0
0
0
0
0
0
0
0
0
-99
-2
-7
17
45
1
0
0
0
0
0
0
0
0
0
0
5
1
25
-95
-81
-31
-4
-4
0
-13
0
0
0
0
0
0
0
-9
3
3
144
-35
-100
-8
2
-1
0
0
0
0
0
0
0
0
-3
-6
32
-72
82
-42
-37
0
0
26
0
0
0
0
0
0
0
0
-6
5
-29
36
7
9
0
1
1
0
0
0
0
0
0
0
-41
3
43
23
6
-6
-29
2
2
0
0
0
0
0
0
0
0
0
21
-5
19
47
-21
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
-7
53
22
84
-8
11
0
0
0
6
0
0
0
0
0
0
-10
5
-40
-2
-141
14
-33
0
-13
0
0
0
0
0
0
0
0
4
-40
5
49
-107
16
-14
26
-24
-161
10
0
0
0
0
0
0
3
-37
14
15
54
85
-39
-46
-116
-5
5
0
0
0
0
0
0
-12
-10
99
51
34
-8
-128
-63
-89
-48
0
0
0
0
0
0
0
-7
26
63
-27
13
-16
-3
41
35
-16
0
0
0
0
0
0
0
19
85
-51
-30
-36
-25
38
3
-48
0
0
0
0
0
0
0
0
0
101
-5
44
-20
-56
-46
5
0
1
0
0
0
0
0
0
0
0
5
48
11
-79
0
0
-15
5
0
0
0
0
0
0
0
0
0
0
26
45
3
22
-5
5
0
13
2
0
0
0
0
0
0
0
36
-32
-62
-16
76
-108
0
-1
0
4
0
0
0
0
0
0
0
16
11
-53
-29
-79
14
5
0
-47
0
0
0
0
0
0
0
0
-4
-46
51
-65
130
29
-112
6
-69
-8
0
0
0
0
0
0
0
7
-61
-30
-52
85
-18
39
-24
16
-1
0
0
0
0
0
0
0
19
73
-36
-72
-101
-7
-62
23
1
0
0
0
0
0
0
0
0
-21
-66
46
10
-34
74
-48
-27
-4
0
0
0
0
0
0
0
0
-122
59
25
18
-21
37
-110
5
0
0
0
0
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
15
-97
-1
0
0
0
3
0
0
0
0
0
0
0
0
-23
-14
6
29
-9
0
-3
0
35
0
0
0
0
0
0
0
0
-5
68
17
28
-1
39
0
0
-33
0
0
0
0
0
0
0
0
49
-9
-46
-7
29
3
1
0
-4
0
0
0
0
0
0
0
0
1
79
-32
25
-14
-14
8
5
-59
0
0
0
0
0
0
0
0
17
8
49
19
5
-12
0
-4
2
0
0
0
0
0
0
0
0
-2
6
3
-4
1
-10
0
0
2
0
0
0
0
0
0
0
0
1
1
3
15
-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
-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
-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
9
1
0
0
0
0
-10
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
-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
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-34
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
9
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-24
-8
13
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
20
0
14
-19
0
17
0
0
0
0
0
0
0
0
3
1
65
-8
22
14
6
0
0
0
0
0
0
0
0
0
0
0
-5
0
-95
8
16
9
0
-4
0
0
0
0
0
0
0
0
3
0
-7
0
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
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
-1
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-36
-20
-7
9
0
0
0
0
0
0
0
0
0
0
0
-19
-2
37
-10
-126
-37
0
4
-6
0
0
0
0
0
0
0
0
-4
-13
1
-2
27
155
-8
0
-7
0
0
0
0
0
0
0
0
-62
24
66
40
-5
-93
-18
3
-1
0
0
0
0
0
0
0
0
0
19
10
40
-112
-95
-24
24
-26
0
0
0
0
0
0
0
0
0
0
-33
-8
-46
-3
3
0
1
0
0
0
0
0
0
0
0
0
-33
0
64
-33
5
-20
1
0
0
0
0
0
0
0
0
0
-13
1
17
-16
-89
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
-25
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
4
-2
-15
0
0
0
-38
0
0
0
0
0
0
0
0
0
10
-11
3
-11
0
0
0
-7
0
0
0
0
0
0
0
0
-19
0
5
-23
-23
-1
0
3
3
0
0
0
0
0
0
0
0
0
-16
5
-47
9
-20
-2
0
0
0
0
0
0
0
0
0
0
-10
0
4
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
22
0
10
0
-45
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
-34
0
2
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-1
-2
-9
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
-10
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
-7
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
10
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
2
19
0
0
0
0
0
0
0
0
0
0
0
-15
-4
6
1
8
0
3
0
0
0
0
0
0
0
0
0
-4
0
-3
0
-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
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
-8
0
-41
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-33
53
0
0
0
0
0
0
0
0
0
0
0
0
10
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
-25
-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
9
-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
30
0
-3
0
0
0
0
0
0
0
0
0
4
6
10
0
55
0
22
0
2
0
0
0
0
0
0
-9
0
0
-2
-7
27
2
-14
0
-1
0
0
0
0
0
0
0
0
0
1
1
-4
2
-3
40
0
0
0
0
0
0
0
0
0
8
-2
0
0
2
5
-21
9
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
16
-5
-2
86
20
0
-25
0
-4
0
0
0
0
0
0
0
26
-39
10
-66
6
57
80
-2
1
0
0
0
0
0
0
0
0
7
3
-5
67
51
14
44
-23
5
-14
0
0
0
0
0
0
0
20
0
20
-10
10
14
-5
-3
6
-3
0
0
0
0
0
0
0
11
7
6
-40
-18
16
45
-5
-11
0
0
0
0
0
0
0
0
-27
0
0
25
-21
-3
-68
11
-6
2
0
0
0
0
0
0
0
2
0
1
10
10
-11
3
1
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
15
10
0
-29
86
0
0
0
0
0
0
0
0
0
17
-1
-4
-26
-34
46
40
0
-3
0
0
0
0
0
0
0
0
-3
2
-15
18
8
-26
2
4
4
0
0
0
0
0
0
0
0
-3
0
-3
-2
15
-5
5
1
-1
0
0
0
0
0
0
0
0
-4
0
-5
-23
-18
-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
-13
0
20
16
-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
10
-2
0
0
0
0
0
0
0
0
0
0
-3
0
2
2
10
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-10
-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
4
10
-1
0
0
-2
0
0
0
0
0
0
0
-3
2
0
0
18
-19
-58
-98
13
0
0
0
0
0
0
0
0
0
0
0
6
-5
35
1
11
-7
0
0
0
0
0
0
0
0
0
0
0
3
1
54
-10
-20
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
-22
-2
13
0
-4
0
0
0
0
0
0
0
0
1
0
0
1
2
6
-4
13
0
0
0
0
0
0
0
0
0
0
0
-5
43
-50
19
-13
-10
-1
0
0
0
0
0
0
0
0
0
0
3
4
-10
-1
-21
-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
-14
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
-6
1
0
0
0
0
0
0
0
0
0
0
-10
0
-6
-51
5
-15
-5
-34
4
0
0
0
0
0
0
0
0
2
0
-2
-2
-55
-4
-33
-5
-1
0
0
0
0
0
0
0
0
0
4
4
-25
9
44
-2
1
0
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
13
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
-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
-2
0
-67
1
0
0
0
0
0
0
0
0
0
0
-1
-2
7
0
12
43
-60
-75
0
1
0
0
0
0
0
0
1
0
-1
0
-1
-43
92
39
16
0
0
0
0
0
0
0
0
0
0
0
1
23
-36
-15
-22
-4
-4
0
0
0
0
0
0
0
0
-1
0
0
-8
-4
-97
-3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
25
0
4
0
0
0
0
0
0
0
0
1
0
4
39
-2
-24
-8
-32
13
0
0
0
0
0
0
0
5
8
15
-2
3
-4
-68
-85
26
-3
0
0
0
0
0
0
0
-8
-4
6
4
-9
7
29
-4
16
0
-2
0
0
0
0
0
0
-4
-2
3
-3
5
-8
24
25
-21
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-10
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
11
1
11
13
-27
0
28
-14
0
10
1
0
0
0
0
0
0
-25
-43
17
-43
36
15
-7
23
24
-5
-15
0
0
0
0
0
0
7
-2
9
5
14
-47
-61
3
-3
-1
0
0
0
0
0
0
0
7
-2
-7
46
-30
51
2
59
45
0
-4
0
0
0
0
0
0
-2
1
2
-6
-39
59
-16
24
-31
0
0
0
0
0
0
0
0
-6
0
0
3
5
-3
7
59
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
11
33
125
-58
0
-43
84
0
-1
0
0
0
0
0
0
34
-3
80
-3
-11
82
5
53
-6
3
1
0
0
0
0
0
0
-37
-24
-6
-52
38
-22
-64
13
-41
-5
0
1
0
0
0
0
0
-9
-16
62
13
-18
45
21
-39
-34
-2
0
0
0
0
0
0
0
-11
53
-25
-33
47
-40
-81
-58
24
1
0
1
0
0
0
0
0
-4
7
4
4
14
-95
-57
28
6
-6
4
0
0
0
0
0
0
8
-4
-2
49
-53
23
23
-71
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-13
-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
27
6
-23
-6
2
0
2
0
-1
0
0
0
0
0
0
0
0
7
14
11
5
23
24
4
21
2
-8
0
0
0
0
0
0
0
0
-5
-68
-57
63
32
5
-49
-5
0
0
0
0
0
0
0
0
-10
-19
-11
-37
-11
-54
-80
-34
-13
0
0
0
0
0
0
0
0
8
1
5
-11
19
-37
-10
-9
4
-1
0
0
0
0
0
0
0
14
0
-2
-21
0
9
-33
-4
-3
0
0
-1
0
0
0
0
0
-8
0
2
0
-6
36
-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
-33
19
1
0
0
0
0
0
0
0
0
0
0
-1
-1
21
3
10
-17
-4
0
0
0
0
0
0
0
0
0
-2
-1
0
-3
1
-36
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
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
-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
17
5
25
49
5
0
0
0
0
0
0
0
0
0
8
0
0
-45
-6
34
20
13
44
0
0
0
0
0
0
0
0
0
0
0
6
7
47
-21
1
-27
0
0
0
0
0
0
0
0
0
0
0
9
-56
2
-5
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-2
-27
31
14
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
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
66
11
-37
0
1
0
0
0
0
0
0
0
0
0
0
0
-59
-14
-87
-24
9
1
2
0
0
0
0
0
0
1
1
0
0
7
-24
-30
-22
2
0
0
0
0
0
0
0
0
0
0
1
-1
19
21
1
-20
5
0
0
0
0
0
0
0
0
1
-1
0
1
-31
5
5
1
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-8
3
59
-25
0
-2
0
0
0
0
0
0
0
-2
2
-3
-4
7
8
-38
5
-20
-7
0
0
0
0
0
0
0
-4
0
-1
0
37
-18
34
71
5
0
0
0
0
0
0
0
0
1
0
0
-1
1
-9
-49
33
0
0
0
0
0
0
0
0
0
0
4
-3
1
-9
7
39
-14
-7
2
0
0
0
0
0
0
0
0
-3
0
2
0
-37
-7
72
3
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
0
0
0
0
0
0
0
0
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
-81
-1
-14
0
43
0
0
0
0
0
0
0
0
-6
2
-13
-9
15
43
-8
-58
5
0
0
0
0
0
0
0
-4
0
1
0
-1
0
-64
-21
20
-25
0
0
0
0
0
0
0
-3
-5
-2
-1
6
-32
-15
15
-5
0
0
0
0
0
0
0
0
0
0
0
0
22
-4
-2
-1
77
0
0
0
0
0
0
0
0
0
0
8
0
-3
-30
0
1
-11
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
-8
-114
-66
4
0
13
0
0
0
0
0
0
0
-34
6
-2
-1
-15
-2
-30
-104
-15
6
0
0
0
0
0
0
0
-2
-2
-4
15
-6
0
-22
58
52
6
4
0
0
0
0
0
0
-2
4
-11
8
-2
-17
17
43
-10
1
-2
0
0
0
0
0
0
-3
-1
1
-7
21
4
52
5
-79
-1
1
0
0
0
0
0
0
4
0
0
1
5
-33
20
-24
0
7
0
0
0
0
0
0
0
0
0
0
0
14
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
40
-15
-16
6
1
-57
-7
92
0
47
-1
0
0
0
0
0
0
8
-1
-24
10
60
55
-40
68
70
33
-6
0
0
0
0
0
0
-8
-46
-4
-55
-95
-32
-60
52
26
31
1
0
0
0
0
0
0
23
-7
1
-52
-88
-34
-57
-53
-24
3
0
0
0
0
0
0
0
-19
-26
-4
21
-43
65
104
-5
95
0
-3
0
0
0
0
0
0
0
0
3
11
-15
52
-1
71
1
25
1
0
0
0
0
0
0
0
0
1
0
-1
-13
49
-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
-35
-77
-13
-26
-78
16
38
-62
0
-5
0
0
2
0
0
0
0
-18
-58
-4
-71
-22
87
-13
-45
8
60
-22
0
0
0
0
0
0
-37
-3
-73
-97
-19
-63
-6
-99
0
15
1
0
0
0
0
0
0
-35
6
14
67
-42
-24
-36
7
8
74
-1
0
0
0
0
0
0
16
1
75
-16
-33
118
62
19
-55
3
-2
0
0
0
0
0
0
0
-1
-4
44
-8
67
-26
-24
159
19
-7
0
0
0
0
0
0
0
0
-1
-1
-49
41
-43
-54
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
-15
-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
-11
19
-64
-32
-65
62
80
20
0
-3
1
-7
0
0
0
0
0
-45
62
-45
84
-57
68
-28
80
74
6
-71
-4
0
0
0
0
0
21
26
-56
14
47
-26
-33
-87
-109
-62
11
9
0
0
0
0
0
14
-90
-13
-51
-83
-85
-62
-99
45
24
-31
0
0
0
0
0
0
-33
14
-7
16
34
-24
53
26
-65
-11
-3
-4
1
0
0
0
0
13
-5
-25
8
32
74
-34
-63
-5
-4
2
0
0
0
0
0
0
-6
3
15
1
29
-8
9
22
-13
-2
-1
0
0
0
0
0
0
0
0
0
-1
-5
81
-22
-34
-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
11
-41
-66
113
-5
-47
138
0
25
-35
-3
0
0
0
0
0
0
-79
-34
-46
53
0
-8
-15
71
0
-46
7
0
0
0
0
0
0
-30
-32
-35
-9
-37
-28
-72
-56
-48
-49
2
0
0
0
0
0
0
-51
9
-33
-50
18
26
-3
-53
-5
0
-1
0
0
0
0
0
0
-108
-44
-63
3
-43
-21
59
12
-40
37
0
1
0
0
0
0
0
36
-4
-9
-45
-76
127
-12
-8
81
-19
0
0
0
0
0
0
0
4
-2
-5
19
-33
2
-1
36
1
0
0
-1
0
0
0
0
0
0
0
0
0
5
29
36
1
-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
40
-7
16
4
-25
66
0
53
-55
0
0
0
0
0
0
0
0
9
13
26
-56
-15
75
-25
64
10
1
1
0
0
0
0
0
0
-26
-11
-8
25
132
-5
16
3
-24
25
0
0
0
0
0
0
0
66
-5
-80
32
-45
74
25
11
-34
-3
4
0
0
0
0
0
0
-10
39
11
45
-59
42
-2
-25
2
-3
0
0
0
0
0
0
0
8
-4
15
92
-35
26
-2
-80
1
0
0
0
0
0
0
0
0
0
0
0
-5
-5
11
-55
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
20
0
-52
38
6
0
0
0
0
0
0
0
0
-2
20
10
33
23
-80
20
-45
32
0
-1
0
0
0
0
0
0
5
-3
-1
10
-88
-14
4
-33
0
1
0
0
0
0
0
0
0
-3
0
1
16
19
16
33
0
7
0
0
0
0
0
0
0
0
0
0
-1
14
3
-34
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
49
0
-5
0
0
0
0
0
0
0
0
0
0
3
2
3
-18
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
20
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
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
-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
-25
-3
2
0
0
0
0
0
0
0
0
0
0
1
6
0
7
-82
-46
-90
-14
14
0
0
0
0
0
0
0
0
0
-1
0
0
-43
-30
19
7
15
14
0
0
0
0
0
0
0
0
0
0
9
-5
0
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
2
33
-22
0
0
0
0
0
0
0
0
-1
0
0
-1
-3
13
10
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
1
0
0
0
0
0
0
0
0
0
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
5
-46
30
17
51
16
0
0
0
0
0
0
0
0
0
0
0
-45
-19
-71
18
-48
5
0
0
0
0
0
0
0
2
0
0
0
-7
2
14
1
-5
1
0
0
0
0
0
0
0
0
0
2
0
-20
24
-33
-39
-6
3
0
0
0
0
0
0
0
0
0
0
8
-23
11
-5
28
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
23
0
-10
2
28
53
93
0
-49
0
0
0
0
0
0
0
0
4
-2
2
-36
-89
10
76
4
17
-3
0
0
0
0
0
0
-4
1
0
-5
4
13
65
-19
1
-3
0
0
0
0
0
0
0
0
0
0
0
-7
13
28
-16
-7
0
0
0
0
0
0
0
0
0
0
4
-5
-1
14
33
45
-10
-3
0
0
0
0
0
0
0
0
0
-4
-2
-3
-10
-33
101
2
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
1
-32
-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
-11
9
-9
32
31
14
0
-52
2
0
0
0
0
0
0
48
-4
3
-51
-72
-3
55
-41
-81
7
2
0
0
0
0
0
0
7
-17
-13
-1
-60
15
2
53
-1
-19
3
0
0
0
0
0
0
0
-1
23
-4
-1
19
34
-58
29
0
0
0
0
0
0
0
0
15
-2
1
1
29
0
36
-23
64
5
0
0
0
0
0
0
0
0
0
10
1
-1
17
1
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-21
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
13
0
13
52
1
-10
-30
0
22
0
0
0
0
0
0
0
-55
14
2
-13
67
79
40
100
-10
-22
-31
2
0
0
0
0
0
15
-59
-33
44
1
-13
-26
97
30
-4
1
0
0
0
0
0
0
7
0
-17
-17
-57
0
-18
47
-45
4
0
0
0
0
0
0
0
-1
-33
6
-39
0
26
23
-22
11
-6
0
0
0
0
0
0
0
0
0
-8
5
-48
27
2
20
1
-1
0
0
0
0
0
0
0
0
0
1
4
-11
-10
-26
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
15
-2
6
-2
-53
-45
-61
2
0
32
2
0
0
0
0
0
0
-19
-49
-77
-15
84
97
-137
-39
-103
26
-9
0
0
0
0
0
0
-34
-29
-17
60
25
-78
-12
46
-32
43
0
0
0
0
0
0
0
4
66
6
-32
-29
-14
1
37
-33
-78
1
0
0
0
0
0
0
15
-18
21
-15
68
-3
42
1
95
-5
3
0
0
0
0
0
0
0
3
-5
10
23
-46
0
-16
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-21
4
33
0
-33
3
0
0
0
0
0
0
0
0
-9
0
17
0
7
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
-24
-19
4
-79
-11
15
4
72
0
-2
36
0
0
0
0
0
0
-95
-66
14
-21
-92
-54
-3
-18
-63
14
25
0
0
0
0
0
0
-4
-60
47
-92
20
9
-33
-1
-74
-52
-18
0
0
0
0
0
0
9
-44
-25
-43
65
-24
-43
-4
-8
2
0
0
0
0
0
0
0
9
-67
-20
7
-9
-37
15
36
-4
9
0
-5
0
0
0
0
0
0
-19
-13
29
-65
37
15
-62
-81
3
-2
0
0
0
0
0
0
0
-35
1
6
-2
-6
43
37
51
5
0
0
0
0
0
0
0
0
0
0
0
0
5
6
-34
48
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
-24
4
-23
40
-124
128
-15
14
0
52
-52
0
0
0
0
0
0
0
-41
20
-26
-141
51
153
-107
-39
-21
-44
-15
0
0
0
0
0
-16
-86
89
-6
64
0
52
3
24
-65
-31
0
0
0
0
0
0
51
34
-37
-82
19
22
-45
27
-53
-47
-3
0
0
0
0
0
0
32
9
32
-8
-1
-60
71
-14
-15
1
-5
0
0
0
0
0
0
-14
41
-3
61
26
-16
64
28
34
13
0
0
0
0
0
0
0
-2
-5
64
26
43
-15
-117
-7
-54
17
5
0
0
0
0
0
0
0
0
-1
6
-2
26
45
-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
-120
24
-20
14
6
90
35
0
-21
-26
9
0
0
0
0
0
0
8
80
-46
112
14
-94
-46
30
68
32
-14
0
0
0
0
0
0
-5
-5
-19
-24
-23
71
36
1
-54
-20
8
0
0
0
0
0
0
61
-1
-62
-51
8
-40
-4
25
-34
32
2
1
0
0
0
0
0
-27
-42
34
-9
-27
-3
82
26
-52
0
5
0
0
0
0
0
0
13
14
-56
-41
41
-29
154
31
-43
-8
-2
0
0
0
0
0
0
-7
-5
-4
109
-109
-14
-75
11
24
0
0
0
0
0
0
0
0
2
1
-2
0
-25
-55
35
10
-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
46
15
-14
0
13
0
-6
77
-4
0
0
0
0
0
0
0
20
6
-4
-95
-10
-7
28
5
52
-4
0
0
0
0
0
0
0
-6
10
-23
-56
20
-22
2
1
-38
1
-1
0
0
0
0
0
0
4
-4
-1
12
0
-23
-42
1
0
1
0
0
0
0
0
0
0
7
-4
0
11
-17
-79
56
-9
2
0
0
0
0
0
0
0
0
4
0
-9
19
21
11
21
19
-4
0
0
0
0
0
0
0
0
-1
0
0
-9
3
-24
-19
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
-9
0
0
0
0
0
0
0
0
6
-2
2
6
-5
-15
7
-20
1
1
0
0
0
0
0
0
0
8
5
0
-36
10
30
14
1
-6
0
0
0
0
0
0
0
0
1
-5
0
4
-2
2
-8
-19
0
0
0
0
0
0
0
0
0
1
1
1
2
0
32
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
0
8
0
0
0
0
0
0
0
0
0
0
-2
0
1
-4
54
50
-23
17
0
0
0
0
0
0
0
0
0
-2
0
0
2
1
-24
-24
46
0
0
0
0
0
0
0
0
0
9
0
23
-29
0
0
58
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
0
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
33
-8
1
0
0
0
0
0
0
0
0
0
0
-18
0
-3
-33
-31
41
6
67
-2
0
0
0
0
0
0
0
1
-1
-1
11
5
-22
61
10
44
-11
0
0
0
0
0
0
0
0
0
-3
0
-5
53
-16
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
29
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-46
23
0
-34
0
0
0
0
0
0
0
0
0
0
1
0
-2
-16
1
-60
3
-10
0
0
0
0
0
0
0
0
0
0
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
-2
5
2
1
27
-7
-29
-16
0
0
0
0
0
0
0
0
0
0
-25
-2
-8
-30
-46
56
34
22
54
0
0
0
0
0
0
0
0
1
0
-5
32
25
-6
35
2
-9
0
0
0
0
0
0
0
17
0
0
2
6
8
-66
33
-14
9
0
0
0
0
0
0
0
0
-7
-1
0
14
9
-27
5
20
0
0
0
0
0
0
0
0
0
-4
0
0
0
-42
80
-21
2
0
0
0
0
0
0
0
0
3
0
0
-3
-66
2
13
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-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
-5
-79
90
1
0
-22
1
0
0
0
0
0
0
1
32
5
25
11
12
26
-5
56
-2
0
0
0
0
0
0
0
0
-25
8
11
43
120
-33
20
44
-7
0
0
0
0
0
0
0
-3
-2
2
0
-14
-3
-24
-170
25
0
0
0
0
0
0
0
0
0
-13
-43
7
0
-15
8
-2
32
0
0
0
0
0
0
0
0
0
3
-2
0
14
0
-6
20
43
-6
0
0
0
0
0
0
0
0
-8
0
1
-7
-33
64
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
31
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
-1
-5
11
4
0
-2
103
-28
0
0
0
0
0
0
0
0
0
-1
18
4
10
17
4
-84
-77
-6
27
-6
0
0
0
0
0
0
5
11
-26
-9
-17
-33
-25
-47
-39
1
0
0
0
0
0
0
0
18
-9
-22
-20
0
-53
-6
34
-62
-56
0
0
0
0
0
0
0
-2
2
0
4
-20
0
52
-22
37
-29
0
0
0
0
0
0
0
0
-41
-25
-35
0
-26
0
11
-75
3
0
0
0
0
0
0
0
0
0
-1
4
-76
5
4
0
-7
8
0
0
0
0
0
0
0
0
0
0
0
4
48
-28
-95
4
0
0
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
-18
-24
110
-88
4
-82
0
-74
0
0
0
0
0
0
0
-14
52
-45
-109
-88
129
17
-10
20
27
0
-3
0
0
0
0
0
82
33
13
41
-26
11
-15
-19
36
-19
-13
0
0
0
0
0
0
33
-7
17
8
10
33
40
-14
-30
-25
0
0
0
0
0
0
0
1
-5
-3
43
-48
-14
0
22
11
3
0
0
0
0
0
0
0
0
8
-4
-6
37
0
33
-3
22
-4
0
0
0
0
0
0
0
0
7
7
-16
43
-13
-13
-85
1
0
0
0
0
0
0
0
0
0
2
-4
0
1
26
0
-13
-1
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
-7
-11
19
-2
27
37
-38
94
0
-87
-2
0
0
0
0
0
0
-52
-63
-53
14
115
44
-17
-77
-52
-19
-25
4
0
0
0
0
0
21
-18
-43
8
-42
90
9
-79
18
13
1
0
0
0
0
0
0
4
26
-59
12
50
-132
-8
55
-45
-88
0
0
0
0
0
0
0
-14
-31
-34
64
145
9
104
0
-10
14
0
0
0
0
0
0
0
-1
46
1
43
32
-90
-9
18
0
18
0
0
0
0
0
0
0
0
-6
11
80
53
-5
-33
-21
-52
0
0
0
0
0
0
0
0
0
-18
1
13
11
-3
33
-26
-1
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
-2
48
-52
88
71
69
76
-136
0
-30
0
1
0
0
0
0
0
79
-76
-31
53
24
62
43
11
12
-6
-35
8
0
0
0
0
0
-23
10
-20
-11
-67
-29
33
-63
14
-91
0
1
0
0
0
0
0
-21
18
-45
17
-7
-48
14
-107
-7
1
24
-8
0
0
0
0
0
-3
25
7
-4
-7
32
-56
19
5
-46
0
0
0
0
0
0
0
50
55
10
-53
-94
-4
43
-7
-16
0
-3
0
0
0
0
0
0
-3
6
-15
-86
-76
-2
92
-5
-35
-59
0
0
0
0
0
0
0
0
-13
0
31
-9
-34
18
-5
-43
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-67
-9
0
0
0
0
0
0
0
0
0
0
-14
27
-30
-53
-31
4
1
0
41
55
-2
0
0
0
0
0
0
37
23
2
-77
-76
-10
35
11
-82
-14
0
0
0
0
0
0
0
-45
-39
-73
34
107
-56
91
11
36
-33
3
0
0
0
0
0
0
-59
3
10
-30
33
-64
44
50
19
3
0
0
0
0
0
0
0
7
-18
-111
-136
-29
-71
-43
77
0
6
0
0
0
0
0
0
0
33
-99
18
-56
5
-10
120
2
13
0
0
0
0
0
0
0
0
-5
-74
0
-3
-19
34
73
59
50
2
0
0
0
0
0
0
0
0
3
9
2
-26
70
-162
-69
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
10
0
3
1
10
-14
0
20
4
-17
0
0
0
0
0
0
0
-5
-8
-18
31
30
-3
31
21
-45
9
9
0
0
0
0
0
0
58
20
3
134
35
4
49
-6
25
2
0
0
0
0
0
0
0
7
11
6
10
-9
45
-71
-3
1
0
0
0
0
0
0
0
0
32
2
2
-17
16
5
-36
2
0
0
0
0
0
0
0
0
0
0
0
0
33
-14
26
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
18
27
-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
-9
0
0
0
0
0
0
0
0
0
0
0
1
0
-25
2
0
19
-8
-8
0
0
0
0
0
0
0
0
-5
-1
0
20
5
-19
15
5
15
0
0
0
0
0
0
0
0
13
-4
-3
3
0
-15
-3
8
-5
0
0
0
0
0
0
0
0
5
-2
4
-4
-15
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
-10
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
-5
0
-1
14
0
0
0
0
0
0
0
0
0
2
0
0
0
0
12
-14
10
0
0
0
0
0
0
0
0
0
0
0
1
4
21
6
-18
19
0
0
0
0
0
0
0
0
0
0
0
-3
-11
-6
-4
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
-22
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-31
15
-15
-30
0
0
0
0
0
0
0
0
0
2
0
-4
-18
-3
-5
20
-80
0
0
0
0
0
0
0
0
-1
3
-2
-19
3
1
25
71
-5
1
0
0
0
0
0
0
0
0
0
-1
0
-4
-1
58
15
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
-2
0
0
0
-3
-14
-6
2
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
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
33
-2
0
-1
0
0
0
0
0
0
0
4
-11
0
6
-3
-65
-12
35
57
22
0
0
0
0
0
0
0
9
1
0
-4
-51
-67
17
111
-40
-33
0
0
0
0
0
0
0
1
6
0
3
-60
-24
1
32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
2
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
-4
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-17
-40
-6
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
14
0
44
-15
-6
13
0
-2
-6
0
0
0
0
0
0
0
-54
5
-7
-20
34
5
8
19
23
-3
0
0
0
0
0
0
0
14
16
18
15
25
25
-7
18
3
0
0
0
0
0
0
0
0
9
35
46
25
-27
33
162
-117
22
0
0
0
0
0
0
0
8
2
11
0
-28
-2
-81
31
7
-1
0
0
0
0
0
0
0
0
7
2
-6
0
44
25
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
-24
0
-44
-18
23
1
0
0
0
0
0
0
0
0
0
-1
-10
0
-9
0
30
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
-10
-19
-76
-107
-71
0
-74
0
0
0
0
0
0
0
-1
-5
15
14
-1
-8
-78
-38
21
-20
0
0
0
0
0
0
0
3
57
0
1
-44
18
-54
-3
2
50
0
0
0
0
0
0
0
-4
13
2
15
22
-90
-36
-2
-31
-10
2
0
0
0
0
0
0
0
-36
23
-33
-9
-8
0
5
-81
-3
0
0
0
0
0
0
0
0
6
-10
3
-22
0
17
5
-13
0
0
0
0
0
0
0
0
0
-2
4
-14
0
35
0
6
14
-1
0
0
0
0
0
0
0
0
0
5
0
0
22
-11
1
-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
6
1
4
7
-7
27
-61
-7
0
-48
3
0
0
0
0
0
0
0
-15
0
8
80
4
18
-44
45
-24
1
0
0
0
0
0
0
26
-6
1
-22
26
11
-70
-45
-11
0
-1
0
0
0
0
0
0
26
-26
2
24
-22
54
-23
-14
16
44
-3
0
0
0
0
0
0
-19
-25
-5
-41
-68
1
-23
0
4
0
0
0
0
0
0
0
0
-2
-43
-25
-8
-57
-148
0
46
-7
-15
0
0
0
0
0
0
0
-7
7
10
0
-113
8
68
0
-54
-2
0
0
0
0
0
0
0
0
-4
-1
-101
-7
-50
3
20
0
18
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
58
33
-6
25
87
-48
0
0
31
7
0
0
0
0
0
0
4
-89
-54
-2
145
34
98
-28
125
-47
5
0
0
0
0
0
0
3
65
-23
64
-38
-53
-54
-20
-11
37
0
0
0
0
0
0
0
14
23
25
-84
61
-12
10
12
-12
5
0
0
0
0
0
0
0
-1
25
23
3
-83
14
-45
-68
3
-18
0
0
0
0
0
0
0
0
-43
-2
43
2
27
-25
0
27
-1
0
0
0
0
0
0
0
0
-6
5
-23
-5
9
0
-146
-2
-10
0
0
0
0
0
0
0
0
-1
-14
-23
14
19
31
-16
-41
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
55
10
-55
-63
-30
-15
8
168
0
-11
-7
0
0
0
0
0
0
69
27
-52
75
56
-17
33
-34
92
-9
14
17
0
0
0
0
0
-11
17
-47
2
-29
144
100
63
-13
43
1
0
0
0
0
0
0
-97
-102
-72
-50
-50
32
-60
65
-40
-123
0
0
0
0
0
0
0
29
53
60
4
-76
0
-32
1
-21
0
0
0
0
0
0
0
0
-4
-23
-23
-71
-8
19
100
28
0
-5
0
0
0
0
0
0
0
-7
4
-79
-100
-51
-5
34
0
15
0
0
0
0
0
0
0
0
-14
2
14
-26
-8
-24
-46
49
23
-22
0
0
0
0
0
0
0
0
0
0
-13
3
-3
-45
0
-1
0
0
0
0
0
0
0
0
0
-85
0
117
-26
12
-66
11
0
47
-17
1
0
0
0
0
0
0
-20
45
64
4
-8
-51
20
-6
53
-29
-3
0
0
0
0
0
0
-41
-42
15
-145
-31
15
-97
48
-66
-28
0
0
0
0
0
0
0
-110
-71
92
-39
-29
-7
52
16
-87
5
0
0
0
0
0
0
0
74
14
67
71
47
8
-60
-21
13
0
0
0
0
0
0
0
0
13
-91
20
29
68
-13
-28
72
0
1
0
0
0
0
0
0
0
-37
-46
-48
-38
-107
-60
-10
-5
-8
0
0
0
0
0
0
0
0
2
-16
-18
20
-18
-119
15
-62
-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
24
0
23
-5
54
13
0
9
-3
0
0
0
0
0
0
0
0
15
7
55
45
-1
-4
-2
19
11
0
0
0
0
0
0
0
0
-18
-8
6
-76
-20
-15
88
4
-4
0
0
0
0
0
0
0
0
11
13
0
22
-18
11
-71
-14
-3
0
0
0
0
0
0
0
0
-4
0
4
-23
-49
-14
-81
0
-4
0
0
0
0
0
0
0
0
-1
0
0
-2
-1
-37
5
-5
0
0
0
0
0
0
0
0
0
1
0
0
21
30
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
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
-18
0
0
9
-24
-2
0
0
0
0
0
0
0
0
0
-1
0
-11
-7
-5
3
34
-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
10
-1
-7
0
0
0
0
0
0
0
0
0
0
-10
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
-9
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
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-19
0
0
0
0
0
0
0
0
0
0
0
4
1
46
1
46
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
-48
-8
29
43
-6
0
0
0
0
0
0
0
0
0
0
0
8
0
9
-33
18
0
0
0
0
0
0
0
0
-4
0
0
-3
0
7
2
49
0
62
0
0
0
0
0
0
0
0
16
1
-2
3
-14
-100
-5
18
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
20
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
-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
-5
0
-5
3
0
-1
0
0
0
0
0
0
0
0
1
2
0
0
-17
2
30
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-7
47
-33
26
6
0
0
0
0
0
0
0
0
0
-11
-6
15
-47
5
53
13
-15
0
0
0
0
0
0
0
0
-3
-1
0
-32
2
2
4
45
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
2
0
-6
0
-7
-39
25
0
0
0
0
0
0
0
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
-41
-8
0
0
0
0
0
0
0
0
0
0
-9
0
0
6
36
33
-42
-2
-2
-1
0
0
0
0
0
0
0
2
0
0
15
-13
61
8
-18
-17
0
0
0
0
0
0
0
3
1
-1
-5
0
10
-16
-14
23
0
0
0
0
0
0
0
0
-1
0
-7
-15
-33
7
48
4
1
1
0
0
0
0
0
0
0
0
0
-11
0
0
-2
4
0
17
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
13
0
0
0
0
0
0
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
-6
-14
-4
11
0
-1
0
0
0
0
0
0
0
0
-14
-1
0
29
-6
26
-4
-25
25
0
0
0
0
0
0
0
0
16
0
-1
-22
-13
17
24
-20
-3
0
0
0
0
0
0
0
-9
0
6
-1
1
-28
10
-2
1
-36
0
0
0
0
0
0
0
0
-9
-1
4
-55
37
-100
5
56
0
0
0
0
0
0
0
0
0
6
0
-5
0
-56
0
75
4
-1
0
0
0
0
0
0
0
0
0
1
0
28
0
-27
-5
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
-10
0
-15
0
0
0
0
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
16
-71
33
0
7
0
0
0
0
0
0
0
0
7
-1
-16
74
-11
-19
15
12
46
1
0
0
0
0
0
0
-2
4
8
53
-72
-7
68
-40
-17
-13
0
0
0
0
0
0
0
-1
-1
7
90
-7
4
-19
13
-15
1
0
0
0
0
0
0
0
-1
23
11
79
-21
-53
20
16
0
0
0
0
0
0
0
0
0
-10
-11
-8
31
25
1
-14
0
30
-2
0
0
0
0
0
0
0
0
-18
0
0
-12
-6
0
-14
1
0
0
0
0
0
0
0
0
0
13
0
-13
2
0
-19
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
40
-13
62
-2
0
-5
-4
0
0
0
0
0
0
-14
31
11
71
57
51
28
81
-77
34
-5
0
0
0
0
0
0
-6
-42
5
-37
-50
-81
53
30
61
6
-1
0
0
0
0
0
0
44
79
10
66
90
95
-70
-90
26
-21
0
0
0
0
0
0
0
-10
-126
-32
44
2
-23
-46
-136
70
1
-1
0
0
0
0
0
0
0
52
83
59
-64
75
0
0
-1
-4
0
0
0
0
0
0
0
0
6
-14
3
-87
-30
16
0
-61
0
0
0
0
0
0
0
0
0
4
-1
1
-20
-110
2
5
0
15
0
0
0
0
0
0
0
0
0
0
6
4
0
16
11
0
0
0
0
0
0
0
0
0
-31
14
-47
15
45
53
-34
-98
0
-27
1
0
0
0
0
0
0
-62
-34
-77
21
88
-41
118
-47
46
-76
-19
0
0
0
0
0
0
8
-71
0
-26
2
46
9
133
62
-46
2
0
0
0
0
0
0
7
-109
-9
-9
-71
10
-4
17
14
17
-3
0
0
0
0
0
0
32
-3
-12
120
98
49
154
8
-78
-17
0
0
0
0
0
0
0
-52
-27
-104
27
-22
25
-58
-6
-39
0
-1
0
0
0
0
0
0
3
22
-25
-8
22
-89
-42
33
0
-15
0
0
0
0
0
0
0
0
-3
-3
32
-5
-34
-12
-2
35
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
1
5
2
0
0
0
0
0
0
0
0
0
31
3
-47
-91
12
16
5
0
-25
-26
0
0
0
0
0
0
0
51
44
42
40
-20
33
-51
-16
68
-79
2
0
0
0
0
0
0
73
-4
-3
-1
49
7
-44
17
14
-48
0
0
0
0
0
0
0
-31
57
13
-15
-10
-12
-9
11
55
20
0
0
0
0
0
0
0
108
-31
18
45
83
-4
76
74
-55
0
0
0
0
0
0
0
0
115
59
-17
70
-36
18
22
3
-135
0
0
0
0
0
0
0
0
-3
54
-16
46
5
53
53
88
0
0
0
0
0
0
0
0
0
1
3
-2
-2
-102
-34
34
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
15
0
55
33
-23
0
112
-53
0
0
0
0
0
0
0
0
22
11
5
7
99
9
14
-6
6
0
0
0
0
0
0
0
0
12
-4
-2
84
5
54
37
58
15
0
0
0
0
0
0
0
0
18
3
59
28
49
43
65
81
25
0
0
0
0
0
0
0
0
18
-3
-5
-36
-31
7
-1
43
0
0
0
0
0
0
0
0
0
-5
-3
0
-25
59
-42
9
-1
4
0
0
0
0
0
0
0
0
0
0
3
-9
10
4
-9
-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
-11
4
-17
5
0
0
0
0
0
0
0
0
2
0
0
1
2
8
-1
-1
14
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
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
-1
0
1
0
3
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
-2
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
-10
0
-32
0
14
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
30
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-24
0
0
0
0
0
0
0
0
0
0
2
0
0
25
2
-5
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
7
18
-81
0
0
0
0
0
0
0
0
-4
0
3
0
0
-2
-4
33
8
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
-22
-11
-2
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
10
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
-17
-6
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-52
-17
-24
0
-13
0
0
0
0
0
0
0
0
-3
0
0
10
-8
-95
-10
45
45
0
0
0
0
0
0
0
-6
-7
0
-6
-1
5
2
32
0
-17
0
0
0
0
0
0
0
0
1
5
-1
-61
71
-23
-16
53
0
0
0
0
0
0
0
0
9
3
24
-1
-9
41
-7
11
15
0
0
0
0
0
0
0
0
0
5
1
0
60
0
-37
0
2
0
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
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
2
5
-71
11
0
0
0
0
0
0
0
0
0
0
33
-1
-14
-13
-8
116
-22
-42
5
0
0
0
0
0
0
0
10
33
-1
53
-95
22
-26
37
-40
-8
0
0
0
0
0
0
0
58
10
0
29
-131
-33
50
-19
-60
13
0
0
0
0
0
0
0
0
-43
-3
-37
61
9
157
36
14
0
0
0
0
0
0
0
0
3
1
15
39
-153
84
5
25
-19
0
0
0
0
0
0
0
0
17
13
15
8
108
-34
-2
6
0
0
0
0
0
0
0
0
0
0
10
0
-14
-1
-76
35
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
-23
-15
-21
-10
20
0
30
0
0
0
0
0
0
0
-1
-69
2
1
20
-16
-27
-58
86
14
7
0
0
0
0
0
0
118
14
30
-45
-58
35
63
90
44
-67
3
0
0
0
0
0
0
-28
-7
7
-62
-48
43
62
76
26
-25
-4
0
0
0
0
0
0
81
8
41
-26
-51
19
3
109
-7
-2
-5
0
0
0
0
0
0
-58
-86
51
-67
32
-56
-15
28
24
36
0
0
0
0
0
0
0
-10
-11
-44
21
10
-22
-1
0
5
0
0
0
0
0
0
0
0
15
-2
-4
44
-25
-21
-105
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
33
-5
0
0
0
0
0
0
0
0
0
0
0
1
5
62
-94
7
-26
108
0
-20
0
0
0
0
0
0
0
0
67
-16
-65
81
5
-36
71
26
53
-5
0
0
0
0
0
0
0
54
-18
-31
57
15
34
59
28
86
14
0
0
0
0
0
0
0
6
-56
80
3
45
90
29
-32
-65
-9
0
0
0
0
0
0
0
30
-14
-16
12
23
81
72
56
-4
1
0
0
0
0
0
0
0
-44
-100
-16
31
6
-24
41
58
26
0
0
0
0
0
0
0
0
-7
-49
-37
14
-35
-35
6
-3
-27
0
0
0
0
0
0
0
0
1
-4
6
-14
63
48
5
9
0
0
0
0
0
0
0
0
0
0
14
0
0
3
-20
6
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
-2
0
36
0
-4
0
0
0
0
0
0
0
0
0
15
-2
0
39
-14
-10
13
2
-9
0
0
0
0
0
0
0
0
18
18
0
-5
62
11
20
23
5
0
0
0
0
0
0
0
0
48
1
5
43
-11
-19
12
-23
4
0
0
0
0
0
0
0
0
-10
0
3
77
51
-23
-20
-3
-4
0
0
0
0
0
0
0
0
-13
3
-2
-11
-7
35
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-25
0
-5
-11
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
-4
11
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
-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
3
-2
1
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
0
0
0
-3
-1
11
-1
-1
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
-1
-41
-16
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
-7
14
-76
14
0
0
0
0
0
0
0
0
14
-18
-2
6
10
-33
-37
0
-5
0
0
0
0
0
0
0
0
5
-9
-3
-32
0
57
6
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
10
-3
25
1
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
24
8
2
0
0
0
0
0
0
0
0
0
0
0
0
9
5
39
-26
-16
14
0
0
0
0
0
0
0
0
55
0
0
37
53
11
30
75
26
-6
0
0
0
0
0
0
0
62
5
0
117
3
82
121
-15
-126
0
0
0
0
0
0
0
0
21
26
88
102
-53
81
17
11
79
3
0
0
0
0
0
0
0
46
-53
-44
54
-14
-8
71
29
0
2
0
0
0
0
0
0
0
-50
-33
0
39
10
1
-13
-4
0
-3
0
0
0
0
0
0
0
16
-4
-13
30
33
-55
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
58
-1
53
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
65
0
0
0
0
0
0
0
0
0
0
-10
0
0
5
0
-97
-7
1
3
0
0
0
0
0
0
0
0
0
-6
0
10
-14
5
-9
4
-4
-2
0
0
0
0
0
0
0
0
0
0
20
10
21
0
-41
3
0
0
0
0
0
0
0
0
5
-1
-1
7
-34
-16
-15
23
-2
0
0
0
0
0
0
0
0
-5
0
-2
31
-16
9
2
51
0
0
0
0
0
0
0
0
0
0
0
1
8
-27
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
1
-5
29
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
39
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-2
26
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
-15
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
106
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
16
135
24
-1
0
0
-2
0
0
0
0
0
0
0
0
-11
-45
-15
53
42
13
0
-1
30
0
0
0
0
0
0
0
0
34
-17
-51
-33
23
27
-23
3
51
0
0
0
0
0
0
0
0
0
43
-15
39
1
39
14
-2
1
0
0
0
0
0
0
0
0
0
2
-5
-5
25
1
-19
0
0
0
0
0
0
0
0
0
0
1
0
8
0
-26
0
0
0
-2
0
0
0
0
0
0
0
0
0
-21
0
-14
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
-11
17
-24
10
-25
2
0
-6
0
0
0
0
0
0
0
0
87
10
3
26
41
-29
0
-10
0
0
0
0
0
0
0
0
-17
-16
30
-80
1
-15
50
34
93
34
0
0
0
0
0
0
0
-1
18
53
-5
6
71
-63
16
32
-5
0
0
0
0
0
0
0
-1
80
-5
69
-32
-71
55
-54
-4
-13
0
0
0
0
0
0
0
0
33
-44
10
15
-86
-14
0
-5
7
0
0
0
0
0
0
0
0
0
10
5
-37
-36
32
-25
-18
2
0
0
0
0
0
0
0
0
0
9
0
27
-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
11
0
3
47
-14
-23
1
0
-1
-3
0
0
0
0
0
0
-7
0
67
7
-47
83
24
0
0
0
-6
0
0
0
0
0
0
0
5
89
29
-141
-46
-7
63
21
-50
-62
0
0
0
0
0
0
4
26
92
42
46
-11
19
6
-9
1
-73
0
0
0
0
0
0
0
130
97
23
11
-7
7
92
6
-25
0
0
0
0
0
0
0
0
24
-34
40
17
73
19
5
-20
5
0
0
0
0
0
0
0
0
0
-8
-26
60
19
10
-77
23
0
-9
0
0
0
0
0
0
0
0
2
31
-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
38
0
2
15
0
0
0
0
0
4
0
0
0
0
0
11
-56
-1
49
0
108
-24
0
0
0
-13
0
0
0
0
0
0
0
0
-61
-23
94
-27
-17
16
-6
15
-7
8
0
0
0
0
0
-3
-10
100
5
34
-16
-17
52
58
17
13
-3
0
0
0
0
0
-1
-3
-39
-19
38
-62
-40
1
75
-3
-5
-2
0
0
0
0
0
-2
0
46
79
2
-64
2
5
-47
-20
0
0
0
0
0
0
0
0
0
1
11
-60
5
8
1
1
0
-1
0
0
0
0
0
0
0
0
0
-2
17
-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
14
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
25
49
5
62
0
-23
0
2
0
-14
0
0
0
0
0
0
0
-5
-15
6
14
-7
-36
-20
7
17
-1
-2
0
0
0
0
0
-2
11
2
78
-16
66
0
7
-51
-14
-2
2
0
0
0
0
0
0
10
-5
43
9
57
-3
5
0
-15
-4
0
0
0
0
0
0
0
-7
0
-14
53
54
-17
4
2
-9
0
3
0
0
0
0
0
0
0
4
2
5
-20
2
2
0
0
0
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
6
6
0
-12
0
3
2
0
0
0
0
0
0
0
0
0
0
5
-1
-76
-2
-10
0
0
20
0
-9
0
0
0
0
0
0
-16
14
-19
-36
-156
-13
-10
-2
25
7
2
3
0
0
0
0
0
4
-89
1
4
-62
82
17
6
-3
47
14
0
0
0
0
0
0
0
1
16
24
-82
47
4
49
4
4
7
0
0
0
0
0
0
0
-2
14
-17
1
43
6
-23
0
4
0
0
0
0
0
0
0
0
0
9
0
11
0
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
3
0
3
14
0
1
0
0
1
0
0
0
0
0
0
0
1
-26
47
24
0
-2
0
-13
0
-9
1
0
0
0
0
0
0
0
8
-33
-43
17
-23
-60
39
18
2
-3
0
0
0
0
0
0
-29
-62
-33
7
7
-26
10
2
-37
5
0
0
0
0
0
0
0
-4
0
9
-16
-5
9
24
10
0
13
0
0
0
0
0
0
0
11
1
2
5
33
-4
-10
-21
1
0
0
0
0
0
0
0
0
0
0
14
-10
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
-15
6
0
0
0
0
0
0
0
-18
35
-60
-2
-8
1
11
14
2
-1
0
0
0
0
0
0
-3
-10
-24
11
-4
1
5
-5
-8
17
0
-6
0
0
0
0
0
3
3
1
-3
22
49
2
-19
-3
3
0
0
0
0
0
0
0
0
0
-1
0
-19
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
-22
0
-18
10
-9
-23
0
0
0
0
0
0
0
0
0
0
0
8
46
-5
-21
28
-22
15
0
-7
0
0
0
0
0
0
0
0
60
78
8
-53
62
-38
-15
45
17
0
0
0
0
0
0
0
0
-6
51
93
29
5
84
26
1
-50
0
0
0
0
0
0
0
0
-9
-105
73
-75
-43
-140
35
1
-25
0
0
0
0
0
0
0
0
0
61
64
8
49
39
-6
4
2
0
0
0
0
0
0
0
0
-1
33
-22
16
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
-34
-5
-25
54
23
-21
1
0
13
0
0
0
0
0
0
0
17
102
-4
57
20
22
16
0
-33
0
0
0
0
0
0
0
0
-1
42
-48
-55
-7
-98
17
-106
-13
-2
0
0
0
0
0
0
0
-23
46
-17
55
46
-78
61
18
107
19
0
0
0
0
0
0
0
26
43
65
-29
-22
10
-65
-30
-12
-66
0
0
0
0
0
0
0
-10
42
39
20
-34
82
-40
70
29
-11
0
0
0
0
0
0
0
-6
3
-44
75
-77
33
33
-1
20
14
0
0
0
0
0
0
0
0
2
8
-3
-81
-13
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
-33
5
-29
-5
-55
-19
0
1
18
0
0
0
0
0
0
-7
79
23
15
-17
81
-43
0
17
0
16
0
0
0
0
0
0
5
34
57
52
143
-14
51
99
15
26
-99
0
0
0
0
0
0
18
20
38
37
-57
24
30
121
61
16
29
0
0
0
0
0
0
16
-3
57
41
-4
34
35
2
15
-100
6
0
0
0
0
0
0
5
-42
-34
-63
-96
-52
-14
26
-15
-5
-13
0
0
0
0
0
0
-10
-14
41
-74
16
-82
43
-11
1
2
0
0
0
0
0
0
0
0
0
0
5
21
-2
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
-11
-2
52
1
-16
-55
-8
0
0
9
0
0
0
0
0
0
1
-5
92
5
35
-1
13
0
-4
0
13
4
0
0
0
0
0
0
-13
-26
-90
-57
-21
-48
95
30
-5
20
0
0
0
0
0
0
1
24
49
1
8
-20
13
-14
-19
65
-5
-10
0
0
0
0
0
-5
2
71
46
38
46
-42
33
14
-13
-14
0
0
0
0
0
0
-1
33
22
66
62
-6
-32
20
53
-2
2
0
0
0
0
0
0
0
0
3
-28
-27
-21
28
5
-10
0
3
0
0
0
0
0
0
0
0
3
-2
5
1
-17
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
81
2
19
0
-37
-4
0
-2
-1
-1
0
0
0
0
0
-41
20
-76
-25
-24
-2
54
0
1
0
33
-1
0
0
0
0
0
16
5
10
32
-34
33
34
-14
50
2
-30
-4
0
0
0
0
0
0
-14
-9
35
112
-80
-45
10
-44
72
-2
1
0
0
0
0
0
-4
-25
26
-57
33
59
41
-95
-6
46
-1
-1
0
0
0
0
0
0
2
33
42
32
46
-1
-1
2
16
-1
4
-2
0
0
0
0
0
0
-6
-15
35
-46
-8
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
29
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
-1
-83
5
20
0
5
0
2
2
0
0
0
0
0
0
0
5
-30
-33
15
34
4
0
0
0
-8
1
0
0
0
0
0
1
-53
-58
32
-14
86
-64
66
-10
-12
43
-26
2
0
0
0
0
-5
-17
26
-3
3
-109
-83
20
46
25
-17
4
2
0
0
0
0
11
-23
-51
-3
-71
-2
86
-58
5
-7
-1
0
0
0
0
0
0
0
10
-14
21
98
65
23
-7
-14
5
0
3
2
0
0
0
0
0
0
6
14
10
-3
-4
-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
10
61
-5
-30
-1
8
0
0
0
3
0
0
0
0
0
0
0
1
-49
-50
-7
20
25
0
-3
0
-8
4
0
0
0
0
0
1
5
47
77
0
90
-33
5
1
53
11
3
-4
0
0
0
0
-1
-5
68
-45
33
-5
-18
-53
-3
59
1
0
6
0
0
0
0
-5
-1
-88
-116
11
-14
44
33
-25
-25
-25
-10
0
0
0
0
0
-4
19
-5
49
49
21
14
-20
-1
-23
-1
0
2
0
0
0
0
0
0
2
7
27
-53
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
13
-4
0
2
0
-1
0
22
2
0
0
0
0
0
0
-5
6
23
20
8
8
6
-31
-15
-9
0
0
0
0
0
0
0
5
-77
-46
-2
22
40
5
-10
14
3
0
0
0
0
0
0
0
19
67
63
32
71
100
-6
2
-23
0
2
0
0
0
0
0
0
0
4
10
0
7
8
-9
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
-24
3
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
-20
21
6
-44
1
-3
-4
5
0
0
0
0
0
0
0
0
0
13
-3
-3
-9
20
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
-4
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
0
-1
0
5
0
3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-4
0
79
18
-17
0
0
0
0
0
0
0
0
0
0
0
53
-6
8
-5
31
123
2
0
10
0
0
0
0
0
0
0
0
2
-40
-73
-92
79
-5
26
26
-145
0
0
0
0
0
0
0
0
-43
-80
44
135
-69
60
-71
43
63
0
0
0
0
0
0
0
0
-46
-25
-76
-110
-33
-64
59
-3
68
0
0
0
0
0
0
0
0
3
91
52
-43
-113
49
-32
-7
1
0
0
0
0
0
0
0
0
-11
-1
14
41
9
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
32
52
-48
-62
-31
15
20
17
0
6
0
0
0
0
0
0
0
-6
27
-120
-30
-23
52
38
0
17
0
0
0
0
0
0
0
0
15
43
38
-31
54
47
-43
-3
-90
-46
0
0
0
0
0
0
0
-4
-33
-26
-47
-135
-52
75
151
71
32
0
0
0
0
0
0
0
-14
-45
-6
-74
-27
13
32
48
102
71
0
0
0
0
0
0
0
0
170
-66
20
-68
89
-109
1
13
31
0
0
0
0
0
0
0
0
7
-9
-61
37
1
120
-17
-4
-13
0
0
0
0
0
0
0
0
0
34
23
9
10
-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
57
-49
-25
19
71
-31
-25
0
5
-51
0
0
0
0
0
0
-29
26
5
148
-24
-53
48
0
18
0
44
0
0
0
0
0
0
10
-4
53
-24
28
-21
-42
71
55
-64
-37
0
0
0
0
0
0
9
11
-88
50
-33
50
10
84
34
-24
27
0
0
0
0
0
0
0
49
-2
23
64
-3
34
7
29
5
-9
0
0
0
0
0
0
0
-108
18
56
48
-11
-33
5
20
-30
1
0
0
0
0
0
0
0
0
134
-86
9
26
-6
13
-5
0
0
0
0
0
0
0
0
0
0
1
-1
1
32
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
-1
5
-4
44
8
0
0
-33
0
0
0
0
0
0
0
28
59
-12
37
-13
25
0
-6
0
9
-4
0
0
0
0
0
-3
-21
33
38
-34
-14
34
75
16
81
28
-7
0
0
0
0
0
-6
-74
-43
-50
13
-13
-19
-11
-3
-2
16
-6
0
0
0
0
0
13
-8
-71
0
14
-56
119
19
-4
11
1
0
0
0
0
0
0
0
25
-143
83
-40
-55
5
86
13
3
3
0
0
0
0
0
0
0
-2
-80
-37
-5
-14
0
33
6
0
0
0
0
0
0
0
0
0
0
-37
0
2
-9
0
0
6
0
0
0
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
-14
-42
-71
43
-1
0
-2
3
0
0
0
0
0
0
4
5
94
-33
-43
126
20
0
-1
0
-8
-1
1
0
0
0
0
0
3
-26
13
15
31
20
21
21
-19
-3
-62
0
0
0
0
0
-2
23
56
-55
-47
-52
109
7
-7
7
9
-1
0
0
0
0
0
-4
-32
-5
60
-31
-37
45
11
21
5
-11
-3
0
0
0
0
0
0
15
-70
52
-23
85
52
-7
-6
1
-8
0
0
0
0
0
0
0
1
6
1
79
-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
-22
-17
6
-16
68
0
0
3
0
2
0
0
0
0
0
-3
8
-57
-53
16
1
-53
0
6
0
-13
2
-5
0
0
0
0
-8
-1
120
33
48
5
53
20
18
-59
44
-1
-1
0
0
0
0
0
5
-33
-37
-27
-26
92
-2
11
-33
8
1
-1
0
0
0
0
0
-8
25
-80
39
49
60
-10
18
-1
0
0
0
0
0
0
0
0
4
6
16
66
53
4
4
-11
0
-2
-1
0
0
0
0
0
0
0
-33
-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
5
52
-21
-15
33
0
0
-3
0
0
0
0
0
0
0
-4
20
2
57
39
-3
-6
0
-11
0
6
-5
1
0
0
0
0
0
9
18
-3
27
79
-1
-10
-11
42
2
-2
0
0
0
0
0
0
18
-7
77
-10
-24
20
7
6
-16
6
0
2
0
0
0
0
-6
5
-42
51
0
8
-59
-14
27
-8
-1
0
0
0
0
0
0
0
-1
35
-30
19
-5
22
-29
0
1
-2
0
0
0
0
0
0
0
0
35
-37
11
-21
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
7
31
-1
14
0
0
-2
0
0
0
0
0
0
0
0
-4
47
-16
-16
45
0
0
-1
0
37
-4
0
0
0
0
0
-4
-25
17
15
18
-1
-23
0
-5
-8
-7
0
0
-4
0
0
0
0
2
-2
4
-26
29
-8
-23
2
5
-7
0
2
0
0
0
0
0
-20
-16
-120
-42
-22
-27
-2
-87
-8
5
0
0
0
0
0
0
0
0
-6
0
2
33
-24
0
-1
3
2
0
0
0
0
0
0
0
0
9
3
5
-31
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
8
-11
2
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-10
-16
32
4
0
0
0
6
0
0
0
0
0
0
0
6
45
1
14
0
-1
-2
0
-2
0
-3
0
0
0
0
0
0
1
-1
3
-9
-33
55
1
2
-13
2
0
0
0
0
0
0
0
-1
10
5
-19
-5
36
0
-46
17
0
-1
0
0
0
0
0
0
0
5
-14
-3
19
-3
2
0
-1
5
0
0
0
0
0
0
0
0
0
-17
-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
14
5
1
4
26
0
0
0
0
2
0
0
0
0
0
0
-5
4
5
43
-1
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
10
2
16
21
4
0
-2
0
0
0
0
0
0
0
0
0
-2
20
-17
-32
8
5
0
-2
1
0
0
0
0
0
0
0
0
3
0
-10
0
0
0
0
19
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
-35
-58
26
35
50
-3
1
0
0
0
0
0
0
0
0
0
49
-53
-56
-22
8
-45
-1
0
-6
0
0
0
0
0
0
0
0
-5
-41
31
-9
56
59
-6
24
48
0
0
0
0
0
0
0
0
-1
-39
-12
37
-37
13
17
-5
98
0
0
0
0
0
0
0
0
23
-13
118
73
-69
13
-26
0
29
0
0
0
0
0
0
0
0
-3
-25
21
-1
99
-105
-2
1
1
0
0
0
0
0
0
0
0
0
54
-14
-19
6
-16
0
0
5
0
0
0
0
0
0
0
0
0
-14
6
5
0
-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
0
0
34
-15
-11
-1
41
-7
-13
-2
0
-1
0
0
0
0
0
0
0
106
-64
-33
-80
-49
-21
-119
0
19
0
0
0
0
0
0
0
0
25
-2
62
-60
34
-98
-60
-63
11
-24
0
0
0
0
0
0
0
46
5
100
-3
68
26
5
-74
1
38
0
0
0
0
0
0
0
0
-17
24
-97
-44
-17
-62
-55
30
-3
0
0
0
0
0
0
0
4
20
-108
-72
39
53
-16
-18
-56
-48
0
0
0
0
0
0
0
0
5
51
29
-38
56
-5
5
-20
-5
0
0
0
0
0
0
0
0
0
-5
95
-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
-33
5
-69
5
-59
-97
94
-4
0
13
-3
0
0
0
0
0
0
0
-25
50
57
-57
17
77
0
13
0
42
0
0
0
0
0
0
48
32
-15
20
51
54
31
20
-131
35
-41
0
0
0
0
0
0
3
-1
59
-24
66
-173
96
51
20
50
-14
0
0
0
0
0
0
5
3
18
48
61
34
14
-24
5
156
-4
0
0
0
0
0
0
0
110
-15
10
-71
-22
62
-29
33
54
0
0
0
0
0
0
0
0
-8
-28
-18
76
-53
-1
-58
-5
4
0
0
0
0
0
0
0
-1
0
17
-60
3
-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
2
-23
23
-5
128
-36
1
0
-11
0
0
0
0
0
0
0
14
-25
-26
97
-17
-8
-43
0
-10
0
-7
-3
0
0
0
0
0
3
-4
9
85
66
-4
27
-54
-39
10
-14
5
0
0
0
0
0
2
3
-38
0
126
26
-77
29
-5
-31
13
0
0
0
0
0
0
0
5
-19
-29
31
-41
59
-126
29
36
23
-2
0
0
0
0
0
0
-17
-31
25
18
30
-90
15
-4
18
-3
0
0
0
0
0
0
0
15
-10
-87
51
-6
-3
3
5
0
0
0
0
0
0
0
0
0
2
4
17
7
-4
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
36
99
-6
-73
-2
0
0
5
3
7
0
0
0
0
0
0
7
-32
-52
-16
-4
95
0
-9
0
-53
2
1
0
0
0
0
0
-109
14
1
-8
25
-107
52
17
10
-73
25
0
0
0
0
0
0
80
-31
-29
1
92
-54
-33
10
35
0
-1
0
0
0
0
0
0
71
57
0
-47
4
-60
1
33
-4
-35
0
0
0
0
0
0
0
-14
1
-32
-62
-4
-54
17
-14
8
0
0
0
0
0
0
0
0
0
31
-44
-36
27
16
0
3
0
0
0
0
0
0
0
0
0
0
10
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
15
-46
86
3
16
-8
0
0
0
0
0
0
0
0
0
0
14
-18
22
-60
82
9
0
-1
0
13
-9
6
0
0
0
0
0
44
-10
-18
9
-6
-21
48
-21
-26
8
6
0
0
0
0
0
0
84
-22
8
-19
0
-4
-1
-1
14
-5
0
0
0
0
0
0
0
2
38
25
-2
65
0
16
0
-4
0
0
0
0
0
0
0
0
-34
-8
-22
-7
-18
5
13
0
-1
0
0
0
0
0
0
0
0
0
0
26
-3
-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
-13
-114
34
35
9
-10
0
0
-2
-1
0
0
0
0
0
0
0
1
-3
12
-10
-78
46
0
0
0
3
1
0
0
0
0
0
0
4
-36
-88
-1
0
26
9
-6
-5
-21
0
0
0
0
0
0
-1
18
37
-17
-4
42
0
8
1
6
-3
1
0
0
0
0
0
0
4
-112
-2
-59
2
10
-1
0
-7
0
0
0
0
0
0
0
0
2
-7
-25
-1
118
-31
0
-43
-4
-2
0
0
0
0
0
0
0
0
-16
5
-4
0
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
-74
2
0
0
0
0
0
0
0
0
0
0
0
-6
-33
6
-27
-68
14
9
0
0
0
-1
2
0
0
0
0
0
0
19
-45
27
16
-57
6
5
-3
13
1
0
0
0
0
0
0
0
-2
-6
-18
-43
17
1
0
9
-7
0
0
3
0
0
0
0
0
-2
-3
-23
15
64
0
-5
0
13
0
0
0
0
0
0
0
0
0
4
-9
-84
-2
8
5
0
-3
0
0
0
0
0
0
0
0
-8
6
100
2
-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
32
3
-50
-5
25
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-52
54
5
-2
0
0
0
-1
0
0
0
0
0
0
0
-1
-27
-80
21
6
-6
0
-2
0
0
0
0
0
0
0
0
0
0
8
14
5
6
2
-4
0
0
0
0
0
0
0
0
0
0
0
8
39
-5
-11
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-1
16
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
41
1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-21
7
5
-1
1
0
-4
1
0
0
0
0
0
0
0
0
0
-1
10
-1
2
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
-9
0
-11
-6
-3
13
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
-16
-30
23
58
13
-18
2
0
0
0
0
0
0
0
0
0
0
33
5
6
67
4
66
-5
0
-19
0
0
0
0
0
0
0
0
18
-19
20
19
5
-53
70
0
77
0
0
0
0
0
0
0
0
78
-38
77
36
-20
65
-17
-9
4
0
0
0
0
0
0
0
0
0
-94
-6
151
-43
6
-6
0
-3
0
0
0
0
0
0
0
0
-1
0
13
-154
93
43
-13
-4
-39
0
0
0
0
0
0
0
0
-2
-5
-7
21
-41
2
-1
0
1
0
0
0
0
0
0
0
0
0
25
-3
39
-8
-17
-4
0
0
0
0
0
0
0
0
0
0
0
10
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
72
-65
75
9
7
-23
0
0
0
0
0
0
0
0
0
0
0
-105
-54
10
-67
95
31
0
-53
0
0
0
0
0
0
0
0
-47
26
-64
-63
-43
-75
-61
-79
2
-55
0
0
0
0
0
0
0
0
-41
45
2
62
-15
4
-49
63
-109
0
0
0
0
0
0
0
-3
0
-117
-24
-9
-10
-8
-50
-9
70
0
0
0
0
0
0
0
0
38
34
41
30
-1
-75
77
107
36
0
0
0
0
0
0
0
0
-2
25
-51
-8
67
-101
-8
17
1
0
0
0
0
0
0
0
0
-5
-45
98
-36
-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
-13
24
-100
77
31
24
-1
-4
0
6
2
0
0
0
0
0
0
4
-29
-9
37
7
-80
-20
0
37
0
43
0
0
0
0
0
0
0
-1
41
105
38
27
35
-9
23
-1
11
0
0
0
0
0
0
-40
9
-33
2
-10
-17
53
-43
-14
-18
23
0
0
0
0
0
0
1
53
0
90
20
31
-69
47
2
-49
0
0
0
0
0
0
0
0
0
-17
7
-5
-77
92
-24
26
9
2
0
0
0
0
0
0
0
-10
-7
48
33
4
-37
70
-2
17
0
0
0
0
0
0
0
0
-1
5
19
145
8
11
13
8
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
6
92
-135
-59
45
66
2
0
2
13
0
0
0
0
0
0
0
53
65
61
-1
23
-45
0
-20
0
63
1
0
0
0
0
0
0
-14
7
34
2
79
-85
74
-33
37
-50
-5
0
0
0
0
0
0
87
5
8
61
103
40
-73
5
90
-10
-8
0
0
0
0
0
-2
-2
16
0
-115
-6
-90
-15
47
19
0
0
0
0
0
0
0
0
53
0
-72
-1
-11
-90
24
-44
13
-3
0
0
0
0
0
0
0
0
69
-12
-72
-71
94
-1
-18
15
0
0
0
0
0
0
0
0
0
8
-5
-114
-21
-3
-5
-7
0
0
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
7
33
60
3
-5
-21
0
0
-3
0
0
0
0
0
0
-5
-50
-27
22
-24
-56
-1
0
-9
0
25
-2
0
0
0
0
0
0
-13
-17
119
-4
47
-5
-31
-20
-76
0
-2
0
0
0
0
0
0
32
-25
0
-28
6
97
-16
19
14
-14
0
0
0
0
0
0
0
-5
53
-16
0
-16
43
48
27
17
0
0
0
0
0
0
0
0
22
-50
1
-13
-3
53
23
1
3
0
0
0
0
0
0
0
0
-26
-6
37
-65
19
9
-5
20
2
0
0
0
0
0
0
0
0
-3
2
-5
-53
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
-55
-71
48
7
-15
-1
0
0
0
0
0
0
0
0
0
0
-1
-9
46
35
-43
5
0
-3
0
15
-4
-3
0
0
0
0
0
20
101
-39
70
62
-10
-10
-5
-5
0
2
0
0
0
0
0
0
100
3
-24
-2
-14
5
-23
21
10
2
3
0
0
0
0
0
0
56
34
-27
87
0
32
-23
15
-3
0
0
0
0
0
0
0
0
1
29
53
0
-3
1
18
-5
5
0
0
0
0
0
0
0
0
0
24
-2
7
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-22
0
0
-6
0
0
0
0
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
14
-54
-2
22
3
0
0
1
0
0
0
0
0
0
0
-14
47
53
-14
-71
5
0
-1
0
4
0
0
0
0
0
0
-7
77
16
17
-8
-12
-9
4
46
-2
-8
2
-1
0
0
0
0
0
6
-42
2
20
0
32
0
-14
-31
-5
0
0
0
0
0
0
0
-8
-6
4
-27
-29
0
6
6
-2
0
0
0
0
0
0
0
0
0
1
-12
15
0
22
-2
25
-2
0
0
0
0
0
0
0
0
0
-3
10
-1
22
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
-15
11
2
43
1
7
0
0
0
0
0
0
0
0
0
0
0
-2
48
-18
15
14
20
0
0
0
0
0
0
0
0
0
0
0
-30
33
29
33
-74
16
1
3
23
0
2
0
0
0
0
0
4
2
26
2
-6
35
2
-1
0
-4
-1
0
0
0
0
0
0
0
3
0
8
-21
-71
-4
0
-15
27
0
0
0
0
0
0
0
0
4
4
35
-16
15
0
-2
0
-2
0
0
0
0
0
0
0
0
0
-63
-8
2
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
1
9
-3
1
2
11
0
0
0
0
0
0
0
0
0
0
0
-14
33
-19
76
20
2
0
0
0
0
0
0
0
0
0
0
0
6
11
-5
15
-24
0
-4
-5
-7
0
0
0
0
0
0
0
0
0
-17
-5
-53
31
-17
0
0
0
0
0
0
0
0
0
0
0
0
11
5
44
-6
-3
-4
0
0
0
0
0
0
0
0
0
0
0
5
-2
1
20
-10
4
0
0
1
0
0
0
0
0
0
0
0
-9
6
32
12
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
9
-56
-4
-6
-1
0
0
0
0
0
0
0
0
0
0
0
6
18
-62
-22
-9
-11
0
-4
0
0
0
0
0
0
0
0
0
0
14
-3
5
28
6
9
0
-2
0
0
0
0
0
0
0
0
0
1
-2
1
-1
0
10
4
0
0
0
0
0
0
0
0
0
0
6
34
4
-16
14
-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
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
0
0
-1
1
0
10
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
56
31
26
-3
0
0
0
0
0
0
0
0
0
0
0
35
85
-5
9
27
19
5
0
5
0
0
0
0
0
0
0
0
-68
-24
36
-88
5
16
14
-35
-96
0
0
0
0
0
0
0
0
-34
-34
51
-9
119
-49
7
-33
-91
0
0
0
0
0
0
0
0
-32
0
24
-25
-62
-32
53
24
-76
0
0
0
0
0
0
0
0
0
1
143
17
29
1
9
-31
5
0
0
0
0
0
0
0
0
1
0
-30
-55
53
0
1
30
-9
0
0
0
0
0
0
0
0
0
23
-1
44
-3
18
-4
0
0
0
0
0
0
0
0
0
0
0
-14
20
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
69
30
-23
2
9
-25
0
0
-23
0
0
0
0
0
0
0
-2
30
-37
-46
86
-31
78
0
63
0
0
0
0
0
0
0
0
-45
-33
-3
-21
-14
-132
-22
108
-10
-78
0
0
0
0
0
0
0
6
59
40
-40
17
13
77
-118
53
122
0
0
0
0
0
0
0
0
58
9
6
-14
-20
26
74
10
56
0
0
0
0
0
0
0
0
0
-24
53
-33
-39
21
29
14
-57
0
0
0
0
0
0
0
0
-8
5
-28
-44
32
-26
0
37
31
0
0
0
0
0
0
0
-4
-14
62
-45
63
16
-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
35
-11
-31
-14
5
13
-1
0
-4
14
0
0
0
0
0
0
-2
67
-18
22
-28
41
-10
0
-1
0
34
0
0
0
0
0
0
-71
-28
38
-13
33
44
-61
-19
62
-17
23
0
0
0
0
0
0
-2
-69
-55
-33
-43
31
-88
121
-12
100
14
0
0
0
0
0
0
-7
3
31
-2
96
35
-50
-98
29
16
7
0
0
0
0
0
0
0
-35
0
-9
10
-53
25
55
-14
24
-3
0
0
0
0
0
0
4
0
81
-21
-11
45
35
21
24
-5
0
0
0
0
0
0
0
0
0
-21
24
18
31
-10
0
6
0
0
0
0
0
0
0
0
0
-7
2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
52
19
39
-56
45
14
0
9
-2
-4
0
0
0
0
0
3
-40
12
49
-9
-2
-20
0
-32
0
-23
0
0
0
0
0
0
-8
22
63
3
-60
-11
-72
33
36
24
-34
3
0
0
0
0
0
6
-9
95
-11
90
81
-47
-50
5
-66
4
0
0
0
0
0
0
-5
-52
-2
1
26
38
19
38
-25
-46
-9
0
0
0
0
0
0
1
18
-23
0
-23
62
57
36
53
43
2
0
0
0
0
0
0
0
4
1
-6
3
63
51
18
4
1
0
0
0
0
0
0
0
0
0
32
-89
40
-6
-2
-8
0
0
0
0
0
0
0
0
0
0
7
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
31
70
-1
72
20
1
-9
0
0
1
0
0
0
0
0
0
0
-4
82
23
66
56
-26
0
1
0
-7
-1
0
0
0
0
0
0
-1
-96
48
9
58
21
5
35
9
-2
-29
0
0
0
0
0
1
6
5
43
32
30
-14
36
-14
25
7
0
0
0
0
0
0
0
2
-21
-1
-10
1
-1
1
-33
-71
-4
0
0
0
0
0
0
0
-18
-34
-63
0
86
6
11
5
-16
0
0
0
0
0
0
0
0
0
-50
0
9
4
87
-19
-5
1
0
0
0
0
0
0
0
0
-2
0
27
-17
4
0
21
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
-21
89
9
3
0
0
0
-3
0
0
0
0
0
0
0
36
-28
22
-39
-45
37
0
2
0
1
5
0
0
0
0
0
0
-14
20
98
-30
-18
1
13
-2
22
13
1
0
0
0
0
0
0
20
-21
24
124
86
34
19
54
-1
11
-1
0
0
0
0
0
0
-15
-23
-5
5
32
0
-21
6
4
0
0
0
0
0
0
0
0
-7
0
2
-6
0
10
0
7
0
0
0
0
0
0
0
0
0
0
9
-1
0
1
3
0
-1
3
0
0
0
0
0
0
0
0
0
-3
-1
14
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
-53
0
-66
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
24
14
4
12
-1
0
0
0
9
0
0
0
0
0
0
-3
5
16
18
-37
63
4
2
6
33
0
0
0
0
0
0
0
-1
-13
20
24
61
77
28
14
4
0
0
-7
0
0
0
0
0
0
-23
11
-69
34
0
14
0
7
0
4
0
0
0
0
0
0
0
-4
-5
27
1
6
0
-11
0
-1
0
0
0
0
0
0
0
0
0
-2
31
-18
0
4
0
-6
14
0
0
0
0
0
0
0
0
0
-13
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
17
-66
0
5
0
0
0
0
0
0
0
0
0
0
0
11
48
0
14
109
1
0
0
0
-3
0
0
0
0
0
0
0
-17
-18
8
-22
0
3
0
3
2
1
0
0
0
0
0
0
0
-5
17
-5
17
-14
36
-4
6
-2
-1
0
0
0
0
0
0
0
-7
-10
1
36
25
-3
-1
0
0
0
0
0
0
0
0
0
0
52
26
1
-2
1
0
0
4
0
0
0
0
0
0
0
0
0
1
2
-22
27
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
-20
0
10
5
0
0
0
0
1
0
0
0
0
0
0
0
-2
-6
1
7
-6
25
0
0
0
0
0
0
0
0
0
0
0
-22
64
-18
-35
37
7
10
-4
13
0
0
0
0
0
0
0
0
4
-2
-44
14
44
-1
-18
0
3
0
0
0
0
0
0
0
0
5
-7
2
-30
7
-14
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-4
0
0
0
0
0
5
0
0
0
0
0
0
0
1
1
17
4
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-2
-2
0
0
1
15
0
0
0
0
0
0
0
0
0
0
49
0
18
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
5
51
0
0
0
0
0
0
0
0
0
0
0
15
90
52
42
-2
-16
10
0
-24
0
0
0
0
0
0
0
0
5
27
-72
-45
0
43
25
0
-43
0
0
0
0
0
0
0
0
-2
-102
-8
-24
-14
70
-13
4
14
0
0
0
0
0
0
0
0
24
-1
16
-28
-40
-105
4
7
-36
0
0
0
0
0
0
0
0
1
9
35
106
-44
109
-18
-6
-27
0
0
0
0
0
0
0
0
0
-9
89
17
-5
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-4
8
0
0
0
0
0
0
0
0
0
0
0
-4
-13
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-81
-57
-32
-37
54
0
0
0
0
0
0
0
0
0
0
0
-11
-105
-60
-34
-15
-90
0
25
0
0
0
0
0
0
0
0
59
22
65
-126
31
74
-69
72
44
-18
0
0
0
0
0
0
0
-13
-20
-13
-17
49
-35
-24
-150
-49
110
0
0
0
0
0
0
0
49
23
-5
1
-70
72
-168
-150
-45
-49
0
0
0
0
0
0
0
0
90
14
35
21
-16
53
-3
-74
-72
0
0
0
0
0
0
0
1
0
-76
0
33
-12
43
78
58
-3
0
0
0
0
0
0
0
0
40
3
32
-15
18
1
-5
-4
-3
0
0
0
0
0
0
0
0
-17
-26
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-68
33
30
-5
30
-62
4
0
0
4
0
0
0
0
0
0
-14
32
14
144
128
-34
62
0
-4
0
1
0
0
0
0
0
0
-29
-48
39
79
12
-7
-103
15
-50
-33
-42
0
0
0
0
0
0
0
9
-23
53
-3
-100
52
19
42
-35
1
0
0
0
0
0
0
0
-2
82
-7
-72
3
4
19
4
71
-16
0
0
0
0
0
0
0
1
30
14
93
32
5
33
74
-26
-7
0
0
0
0
0
0
-2
25
0
52
-13
65
16
-5
25
27
0
0
0
0
0
0
0
7
0
25
1
86
-60
-18
-10
-2
0
0
0
0
0
0
0
0
0
47
-11
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
18
-31
-23
10
4
-34
-3
0
-2
14
0
0
0
0
0
0
0
-56
-46
36
-21
-54
-46
0
0
0
-50
3
0
0
0
0
0
0
-49
57
-27
76
-185
-39
8
6
14
-54
0
0
0
0
0
0
0
19
70
-81
7
-7
25
-62
53
19
-10
-3
0
0
0
0
0
0
-2
0
138
-83
26
-50
3
-82
43
18
0
0
0
0
0
0
0
62
2
19
0
12
-33
-77
-4
-43
-8
0
0
0
0
0
0
0
-2
-59
0
30
7
31
14
3
-21
0
0
0
0
0
0
0
0
-11
0
79
0
-13
34
-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
-53
17
-27
-5
-3
0
0
0
3
0
0
0
0
0
0
0
-13
103
91
16
29
-43
0
14
0
1
-2
0
0
0
0
0
0
0
-54
-45
24
33
-14
-6
-1
-34
13
-1
0
0
0
0
0
0
0
44
10
31
-35
7
10
-9
1
0
4
0
0
0
0
0
0
-3
-5
17
43
-23
-21
25
-1
8
-1
0
0
0
0
0
0
0
15
-2
1
14
10
4
-14
10
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
10
0
-2
0
7
0
0
0
0
0
0
0
0
4
0
4
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
90
2
6
0
3
0
0
0
0
0
0
0
0
0
0
0
-19
-5
-16
33
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-71
-54
34
-83
5
-18
44
3
0
0
0
0
0
0
0
27
3
49
-31
11
-33
-4
0
2
0
0
0
0
0
0
0
0
0
-7
4
-19
-14
-14
3
-1
-1
11
0
0
0
0
0
0
0
-16
0
-37
2
57
0
5
-1
-1
-1
0
0
0
0
0
0
0
0
1
0
-4
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
5
53
0
-1
0
0
0
0
0
0
0
0
0
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
-1
-3
28
-2
-4
-1
0
0
0
-2
0
0
0
0
0
0
0
0
-90
-33
26
1
0
1
0
32
0
0
0
0
0
0
0
0
-1
0
0
7
52
11
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
7
-2
3
0
0
3
0
0
0
0
0
0
5
-10
-1
5
0
14
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
18
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
36
13
-8
0
0
0
2
0
0
0
0
0
0
0
0
52
-2
-22
-20
6
0
8
21
0
0
0
0
0
0
0
0
48
-8
-2
-2
44
-4
0
-16
0
0
0
0
0
0
0
0
0
2
-39
-47
-28
1
-8
-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
4
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-2
-5
1
10
0
0
0
0
0
0
0
0
0
0
0
-2
3
25
-5
0
0
0
0
77
0
0
0
0
0
0
0
0
-15
0
-6
-22
27
-5
7
0
2
0
0
0
0
0
0
0
0
0
-5
-5
23
1
10
10
0
-10
0
0
0
0
0
0
0
0
0
-4
4
13
-37
0
0
4
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
-2
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-5
-26
-1
0
0
9
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
2
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
-32
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
1
76
-1
28
18
-6
2
0
0
0
0
0
0
0
0
0
0
22
-1
-7
16
-56
0
-5
-2
-13
0
0
0
0
0
0
0
0
13
-92
3
-35
-53
-39
-80
-1
-8
0
0
0
0
0
0
0
0
125
-16
-78
-21
37
-158
-9
11
91
0
0
0
0
0
0
0
0
4
64
3
-48
-29
35
110
4
-3
0
0
0
0
0
0
0
0
1
0
6
0
19
-9
10
-23
47
0
0
0
0
0
0
0
0
0
-30
-15
-50
0
9
4
8
-18
0
0
0
0
0
0
0
0
0
0
-40
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
25
15
32
7
-117
-1
0
0
0
0
0
0
0
0
0
0
27
-84
-29
-18
-37
-43
0
-2
0
0
0
0
0
0
0
0
-14
-47
32
-127
37
-13
-55
-14
-7
29
0
0
0
0
0
0
0
-2
-49
-71
-52
-20
129
-105
-66
-47
-97
0
0
0
0
0
0
0
-19
35
49
-116
-157
46
-13
28
99
-23
0
0
0
0
0
0
0
0
-21
-126
19
4
18
-5
17
101
131
0
0
0
0
0
0
0
0
-4
-3
7
75
-38
37
157
-62
-18
0
0
0
0
0
0
0
0
0
0
24
12
-13
-1
-6
-2
2
0
0
0
0
0
0
0
0
-4
0
-10
-6
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-61
65
62
0
13
0
0
0
0
0
0
0
0
0
0
0
54
-14
-41
108
-2
7
0
0
0
-65
0
0
0
0
0
0
25
-5
-14
52
38
52
-78
7
-29
-27
-47
0
0
0
0
0
0
2
23
-1
-40
-14
42
59
58
9
-63
20
0
0
0
0
0
0
-14
-17
-26
16
36
23
-69
-48
2
21
43
0
0
0
0
0
0
0
5
32
0
52
49
-66
3
-13
129
23
0
0
0
0
0
0
0
0
-65
0
47
73
39
29
20
17
-4
0
0
0
0
0
0
0
48
0
-27
-16
-1
13
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
-53
3
28
-1
6
20
0
0
9
0
0
0
0
0
0
0
4
-11
-35
13
72
44
0
0
0
-3
0
0
0
0
0
0
0
33
-46
-72
91
-2
-24
-11
-9
36
8
0
0
0
0
0
0
0
-79
-27
-12
-8
1
25
-4
62
49
-4
-5
0
0
0
0
0
0
-2
48
22
-8
-125
24
-2
17
5
-4
0
0
0
0
0
0
0
-3
-29
-14
102
-21
-14
-62
-1
-6
0
0
0
0
0
0
0
0
0
0
9
0
8
-32
-17
1
-3
0
0
0
0
0
0
0
0
0
19
0
-4
25
0
0
0
0
0
0
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
-1
4
1
0
0
0
0
-1
0
0
0
0
0
0
0
-7
4
3
-23
1
14
0
0
0
0
0
0
0
0
0
0
-3
0
-1
19
48
8
-23
0
0
8
-4
1
0
0
0
0
0
0
26
0
34
13
2
-18
-18
-4
-1
0
0
0
0
0
0
0
0
0
5
74
63
-3
-16
0
-8
9
0
0
0
0
0
0
0
0
-7
0
-13
9
-23
1
-8
0
1
13
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
-48
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
11
-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
-33
-34
-1
0
0
-4
-5
0
0
0
0
0
0
0
0
-2
0
-19
-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
-26
-2
10
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
-11
-3
-5
0
0
-8
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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
16
53
-1
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
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
1
-3
-31
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
14
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
-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
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
37
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
102
-5
-25
-4
-7
0
0
0
0
0
0
0
0
0
0
0
-28
-55
-2
2
40
-27
0
0
-5
0
0
0
0
0
0
0
0
1
-39
8
-32
7
5
2
0
-37
0
0
0
0
0
0
0
0
-78
8
-60
83
-74
-89
-113
-1
43
0
0
0
0
0
0
0
0
3
-48
16
45
-71
26
35
2
-46
0
0
0
0
0
0
0
0
0
-71
44
-32
-46
6
-5
15
-22
0
0
0
0
0
0
0
0
0
0
-46
-21
-5
57
3
15
0
0
0
0
0
0
0
0
0
0
3
-23
3
-66
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
-3
-14
60
-2
5
0
0
0
0
0
0
0
0
0
0
72
1
15
74
6
-7
-1
0
-4
-79
0
0
0
0
0
0
0
0
148
-53
-16
-42
0
-7
-1
18
-20
0
0
0
0
0
0
0
-2
1
-29
7
-118
-13
-46
29
-9
0
0
0
0
0
0
0
0
0
-5
33
-99
-42
49
34
31
6
6
0
0
0
0
0
0
0
1
0
27
3
59
45
10
5
13
0
0
0
0
0
0
0
0
0
0
0
-32
14
5
6
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
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
91
0
8
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
31
14
0
-2
0
0
11
0
0
0
0
0
0
0
0
-23
5
27
-8
-3
4
-6
-3
-6
0
0
0
0
0
0
0
8
-8
-32
-2
52
28
-13
2
2
0
-5
0
0
0
0
0
0
0
-3
6
7
-34
-6
-17
-19
1
-8
-6
0
0
0
0
0
0
0
0
5
6
0
3
-25
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
-11
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
-16
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
-24
0
0
0
2
-1
0
-2
0
0
0
0
0
0
0
0
19
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
14
-4
2
-16
-8
0
0
0
0
0
0
0
0
0
8
-9
7
-10
1
35
-52
-56
64
0
0
0
0
0
0
0
0
1
0
0
-14
0
29
-24
46
24
0
0
0
0
0
0
0
0
-6
-3
1
-3
-4
20
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-16
-1
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
-27
-7
-2
-20
0
-37
0
0
0
0
0
0
0
-11
5
49
18
-29
165
-8
-29
33
62
0
0
0
0
0
0
0
-1
35
-5
21
-34
-20
8
46
6
21
0
0
0
0
0
0
0
4
-13
0
68
-48
87
-67
92
25
60
0
0
0
0
0
0
0
0
-51
-2
6
-35
-31
-33
-39
86
-2
0
0
0
0
0
0
0
0
-18
2
0
4
-144
5
13
24
-8
0
0
0
0
0
0
0
0
1
-2
0
3
-4
-33
-8
5
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
5
-24
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
-6
14
63
0
18
-1
0
0
0
0
0
0
-2
-14
24
-90
2
35
63
8
-17
2
-2
0
0
0
0
0
0
1
-9
1
-15
-6
78
44
-39
-89
16
5
0
0
0
0
0
0
-2
-3
0
14
-74
53
38
4
43
-2
-7
0
0
0
0
0
0
2
1
-5
11
4
-20
5
-4
11
-25
-5
0
0
0
0
0
0
0
6
-20
0
-3
-5
6
-9
33
7
0
0
0
0
0
0
0
0
0
-1
0
15
14
-7
51
5
19
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
-18
-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
9
-7
0
-5
-2
31
-14
0
-33
0
0
0
0
0
0
0
0
2
1
5
20
-68
-23
-96
-7
-26
7
-6
0
0
0
0
0
0
-3
0
-2
-24
90
24
-37
-40
1
7
0
0
0
0
0
0
0
2
-5
9
0
-27
31
51
-15
-43
2
0
0
0
0
0
0
0
0
0
31
0
-7
14
-33
33
1
0
0
0
0
0
0
0
0
0
3
0
-7
8
12
-22
-1
-5
-7
0
0
0
0
0
0
0
0
0
-3
-1
9
-33
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
13
0
-3
20
-2
0
51
0
0
0
0
0
0
0
2
6
-9
0
-9
-27
26
-49
64
4
1
0
0
0
0
0
0
0
7
17
1
14
31
43
62
-5
-7
0
0
0
0
0
0
0
0
-8
0
1
0
7
-27
47
-5
0
0
0
0
0
0
0
0
0
-1
-5
4
0
1
-33
-8
-8
-3
0
0
0
0
0
0
0
0
0
-3
0
13
2
7
-8
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
-32
6
0
10
-2
0
0
0
0
0
0
-2
21
17
0
10
23
-2
-12
-59
-8
-3
0
0
0
0
0
0
-1
-1
-20
13
10
-16
-18
1
13
3
0
0
0
0
0
0
0
0
0
0
8
0
-24
-6
48
-3
-17
-4
0
0
0
0
0
0
0
-1
0
0
-5
-9
-1
-1
-8
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-18
3
11
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
11
8
0
3
0
7
2
0
0
0
0
0
0
-5
0
0
7
53
3
24
95
-53
0
8
-2
0
0
0
0
0
0
2
0
0
-25
-20
-22
48
-10
4
0
-1
0
0
0
0
0
0
0
2
3
4
-8
-3
-49
15
8
0
4
0
0
0
0
0
0
0
0
17
-2
5
41
-2
-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
-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
14
0
0
0
0
0
0
-2
-4
-1
-3
-1
-8
-5
-17
-14
0
-8
0
0
0
0
0
0
0
0
-2
1
2
18
18
7
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
35
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
17
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
-5
-9
-35
-4
-50
-47
84
36
0
0
0
0
0
0
0
0
0
87
-1
83
-20
-19
41
26
-8
25
0
0
0
0
0
0
0
0
59
5
-15
45
47
71
26
52
14
0
0
0
0
0
0
0
0
-5
1
0
15
6
9
-35
3
13
0
0
0
0
0
0
0
0
20
0
0
7
73
-19
84
-5
47
0
0
0
0
0
0
0
0
0
0
0
0
13
17
11
48
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
-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
10
2
-62
23
30
66
26
0
-53
0
0
0
0
0
0
0
-29
31
-55
83
11
82
26
33
14
-91
0
0
0
0
0
0
0
-1
-31
-42
47
105
97
23
-43
-33
0
0
0
0
0
0
0
0
5
-16
-24
-9
5
-59
-57
1
22
-33
0
0
0
0
0
0
0
0
24
2
22
-64
-3
25
8
80
19
0
0
0
0
0
0
0
0
-75
6
0
24
14
-23
18
-5
43
0
0
0
0
0
0
0
0
-1
2
4
-46
-8
-144
-23
-27
2
0
0
0
0
0
0
0
0
-9
0
8
1
18
14
-51
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
24
14
-8
46
-54
36
17
-26
0
-27
-24
0
0
0
0
0
0
3
59
9
57
107
90
138
-23
1
-25
30
0
0
0
0
0
0
-11
-9
20
-51
44
-23
59
109
-7
5
-3
0
0
0
0
0
0
-7
-53
-24
-25
44
-19
19
12
27
8
31
0
0
0
0
0
0
-3
56
29
-8
13
-6
107
140
-3
-25
-11
0
0
0
0
0
0
0
4
10
0
-5
-14
11
2
-5
22
6
0
0
0
0
0
0
0
0
21
2
5
-14
55
-6
-14
-22
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
14
0
-14
65
5
-36
-107
0
25
31
-3
0
0
0
0
0
0
-3
0
13
-59
30
43
-19
-35
-18
20
-1
0
0
0
0
0
11
-5
-5
50
93
-2
-67
-56
-48
17
-43
2
0
0
0
0
0
4
18
-15
14
-54
-33
44
-62
-14
9
4
0
0
0
0
0
0
0
-45
-2
6
-7
-16
-114
-19
13
56
-3
1
0
0
0
0
0
0
2
17
0
0
79
7
-64
-15
1
1
0
0
0
0
0
0
0
0
0
3
11
-2
23
4
-5
-8
0
0
0
0
0
0
0
0
0
0
1
0
-2
-37
-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
-11
-13
-5
7
18
-9
14
46
0
-74
1
0
0
0
0
0
0
8
-14
16
-13
2
50
-13
33
55
73
-62
17
0
0
0
0
0
1
-20
-14
-2
31
-15
28
3
19
1
-1
0
0
0
0
0
0
0
-17
4
20
-14
7
-6
-93
32
25
2
0
0
0
0
0
0
0
0
7
0
1
-6
-53
3
64
-5
15
5
0
0
0
0
0
0
-2
-5
4
-1
3
-14
18
17
0
1
0
0
0
0
0
0
0
0
0
0
-1
54
-21
0
14
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
-21
-6
1
13
6
34
-42
0
67
-2
0
0
0
0
0
0
0
-7
5
7
59
-32
-9
69
48
54
-15
3
1
0
0
0
0
-5
44
8
37
-33
14
-66
10
-101
-47
0
0
0
0
0
0
0
1
2
0
-3
0
-35
101
-30
60
80
17
1
0
0
0
0
0
0
0
1
-3
-4
-16
10
34
50
5
0
-2
3
0
0
0
0
0
0
4
3
0
3
60
0
-14
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
10
0
0
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
-25
46
5
37
16
0
35
0
0
0
0
0
0
0
-1
-3
-2
-25
104
-9
-34
73
34
-13
-21
-5
1
0
0
0
0
0
13
6
1
-21
-5
59
-25
-22
8
17
1
0
0
0
0
0
-1
4
-2
-4
-8
-30
-19
53
-16
-62
-14
1
0
0
0
0
0
-5
-2
-6
-1
5
19
31
-9
-5
11
-3
2
0
0
0
0
0
0
-1
2
0
0
-4
-72
7
26
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
6
-6
-7
7
-3
7
0
0
0
0
0
0
0
-1
0
0
0
-9
-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
33
17
0
0
2
0
0
0
0
0
0
-2
2
9
-9
-11
-39
-7
1
25
5
-14
0
-1
0
0
0
0
-4
0
7
1
-5
29
-18
-49
4
5
-4
-3
1
0
0
0
0
0
-3
5
4
-4
14
-11
1
-11
64
0
0
0
0
0
0
0
0
0
1
7
19
13
17
-1
-34
-2
0
0
0
0
0
0
0
0
0
20
0
-4
-7
4
15
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
13
1
0
8
8
2
4
0
1
0
0
0
0
0
0
0
0
2
0
0
26
-14
5
30
3
-2
5
0
0
0
0
0
0
0
15
0
-5
4
-4
65
-21
-1
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
3
-3
23
9
1
0
0
0
0
0
0
0
0
13
0
13
4
0
36
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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-31
17
-46
-60
0
0
0
0
0
0
0
0
0
-41
14
47
-46
68
185
14
10
-102
0
0
0
0
0
0
0
0
-2
8
0
22
-15
-81
7
-28
-66
0
0
0
0
0
0
0
0
19
4
26
68
-26
76
-7
31
11
0
0
0
0
0
0
0
0
15
0
-1
-43
-4
-30
-17
9
6
0
0
0
0
0
0
0
0
0
0
0
-10
7
5
6
68
21
0
0
0
0
0
0
0
0
0
0
0
0
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
-1
-55
-32
33
62
19
37
2
0
-51
0
0
0
0
0
0
0
-5
28
52
49
-29
40
59
-88
-35
39
0
0
0
0
0
0
0
10
-16
-51
16
110
-124
-79
-29
-47
26
0
0
0
0
0
0
0
2
14
4
2
85
74
-87
7
-25
20
0
0
0
0
0
0
0
4
25
-13
20
42
-16
21
27
15
-8
0
0
0
0
0
0
0
0
0
25
0
-13
63
-36
-25
-24
-5
0
0
0
0
0
0
0
3
0
-26
0
1
-1
24
-48
-45
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-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
33
11
14
-60
55
44
56
0
41
-4
0
0
0
0
0
0
3
-51
-5
-3
-12
-14
50
32
34
37
41
0
0
0
0
0
0
-3
23
-6
-28
10
34
36
48
49
65
9
0
0
0
0
0
0
8
5
-14
-11
28
-26
58
47
-9
-41
-3
0
0
0
0
0
0
-5
0
5
24
-14
-56
-5
-3
8
57
2
0
0
0
0
0
0
0
1
0
3
-4
11
-50
43
20
-4
0
0
0
0
0
0
0
0
1
4
5
-20
-6
-17
-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
-17
3
-11
42
5
-50
0
14
24
9
0
0
0
0
0
-14
17
37
18
-113
-12
-53
10
53
-88
-28
11
0
0
0
0
0
0
-46
35
-1
-9
-39
24
3
-24
-12
-5
3
0
0
0
0
0
-1
-5
80
-5
36
38
43
18
61
33
-2
0
0
0
0
0
0
-10
7
0
-25
39
-11
84
49
59
-41
0
0
0
0
0
0
0
0
6
3
-10
-1
3
43
-81
-3
22
-3
0
0
0
0
0
0
0
0
0
-1
2
0
21
-4
19
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
80
-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
-9
4
40
-5
0
48
-9
0
0
0
0
0
0
-2
34
-24
-10
97
64
16
57
14
37
-36
0
0
0
0
0
0
0
0
3
-32
0
43
-14
-85
93
1
1
0
0
0
0
0
0
-5
3
-5
3
-1
-14
35
-91
31
14
-18
0
0
0
0
0
0
-2
-7
-8
-2
11
86
49
-80
-4
14
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
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
14
1
-37
51
0
82
4
0
0
0
0
0
0
3
-6
4
-2
-4
-44
-49
10
33
3
-6
3
0
0
0
0
0
0
-5
-1
21
-2
-1
-39
58
87
-44
0
3
0
0
0
0
0
2
31
-2
6
23
43
-3
-32
-31
-5
-6
0
0
0
0
0
0
4
0
2
0
14
-44
-57
-33
0
3
1
0
0
0
0
0
0
0
0
0
-1
0
4
8
-44
2
-4
0
0
0
0
0
0
0
0
0
1
0
0
1
33
11
-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
2
-5
-21
0
-10
7
-4
0
0
0
0
0
0
3
0
-2
-13
20
-57
100
30
-1
-1
0
0
0
0
0
0
0
0
-3
-16
4
-19
-4
14
-1
15
0
0
0
0
0
0
0
0
14
-1
-10
48
-51
33
-34
-90
5
0
0
0
0
0
0
0
0
2
-4
-4
-3
22
59
29
-2
2
0
0
0
0
0
0
0
0
0
-2
-1
1
1
-14
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-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
0
0
0
0
0
0
0
0
0
2
-2
1
0
20
-14
0
-3
0
6
0
0
0
0
0
0
7
13
-1
-77
-5
-1
-27
60
4
2
0
0
0
0
0
0
0
0
0
1
-7
1
22
0
42
16
4
0
0
0
0
0
0
0
-1
-5
33
-3
6
29
11
55
-16
0
0
0
0
0
0
0
0
1
-5
-2
2
6
-2
2
22
-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
0
1
0
32
0
0
0
0
0
0
0
0
0
2
-3
-14
-13
-36
-8
-25
0
1
0
0
0
0
0
0
0
-1
4
-1
16
18
74
52
0
0
0
0
0
0
0
0
0
0
0
3
-1
-2
15
11
-29
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
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-14
4
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
3
0
-8
-2
-15
-23
0
0
0
0
0
0
0
0
0
0
0
0
-5
-14
5
9
9
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
17
-1
11
2
14
-93
-14
-32
0
0
0
0
0
0
0
0
0
27
13
-7
-5
57
71
-43
35
-24
0
0
0
0
0
0
0
0
-18
-13
-3
-36
-26
-81
-37
58
-21
0
0
0
0
0
0
0
0
0
-1
43
61
16
31
55
2
2
0
0
0
0
0
0
0
0
-16
2
-5
11
23
-3
77
-15
7
0
0
0
0
0
0
0
0
-3
5
1
13
9
-75
-4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-11
-34
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
-9
32
41
106
-32
0
-34
0
0
0
0
0
0
0
-26
19
65
1
-31
-37
-15
118
-40
37
0
0
0
0
0
0
0
56
80
108
36
12
-22
-7
43
-23
-38
0
0
0
0
0
0
0
0
-13
33
63
89
9
-156
47
90
99
0
0
0
0
0
0
0
-13
-14
-20
-23
-27
4
-26
-33
-53
-2
0
0
0
0
0
0
0
0
-9
11
-14
-27
69
-2
53
-59
-1
0
0
0
0
0
0
0
0
-4
1
-3
-1
-27
-33
5
-71
9
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
14
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
17
2
-4
14
-30
-66
-98
0
-57
-2
0
0
0
0
0
0
1
-35
22
-5
14
85
62
-56
102
-33
-23
0
0
0
0
0
0
-2
75
-3
15
-16
-119
14
73
36
53
1
0
0
0
0
0
0
9
-31
-2
30
92
-10
-3
-32
-17
-1
10
0
0
0
0
0
0
22
-7
-5
-5
28
-9
14
-44
81
0
0
0
0
0
0
0
0
0
-23
-10
-45
19
34
16
45
-32
5
0
0
0
0
0
0
0
0
13
6
0
-45
3
-47
-43
-43
-4
0
0
0
0
0
0
0
0
0
-1
0
0
-3
9
3
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
47
44
-28
44
0
32
-15
0
0
0
0
0
0
0
-25
-25
-1
2
38
-5
30
73
49
25
-3
0
0
0
0
0
1
5
14
-2
-119
-25
51
-18
-66
-43
-7
-4
0
0
0
0
0
0
-17
85
0
36
121
31
75
-88
14
5
0
0
0
0
0
0
0
0
-2
-11
-9
48
-50
48
-40
-20
-1
0
0
0
0
0
0
0
2
0
-32
10
49
-30
-32
-24
15
0
0
0
0
0
0
0
0
3
0
0
0
-3
48
4
56
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
13
14
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
22
145
-44
0
-51
-19
0
0
0
0
0
0
0
-3
3
8
0
50
-3
-43
-67
75
-27
-3
0
0
0
0
0
0
0
4
-21
-26
5
-5
7
66
56
-2
2
0
0
0
0
0
0
0
3
33
0
7
27
-34
-46
77
-1
0
0
0
0
0
0
1
-5
0
0
-14
15
37
-7
33
-3
0
0
0
0
0
0
0
0
0
0
-15
0
-26
14
24
4
-10
-6
0
0
0
0
0
0
0
0
1
6
4
3
18
1
10
2
0
0
0
0
0
0
0
0
0
0
0
1
-3
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
-1
0
0
0
5
-53
26
0
-26
6
2
0
0
0
0
0
0
-9
0
0
-32
53
-25
6
-38
21
-4
0
0
0
0
0
0
0
0
0
-15
-16
-30
14
38
68
-13
1
0
0
0
0
0
0
0
0
-20
-1
-14
0
-43
54
-26
77
0
0
0
0
0
0
0
0
-3
-1
-48
11
45
0
41
-1
-11
0
0
0
0
0
0
0
0
0
-2
0
6
17
0
-3
5
2
1
0
0
0
0
0
0
0
0
-3
-5
1
-2
35
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
13
6
-26
49
0
-2
-2
0
0
0
0
0
0
0
-1
4
41
-3
54
-52
-24
-9
0
3
1
0
0
0
0
0
0
-1
-2
-2
-19
-20
-23
-5
41
41
0
0
0
0
0
0
0
0
0
5
-8
16
73
0
8
33
19
0
0
0
0
0
0
0
0
-2
-5
-4
-6
-4
-60
49
-10
-1
0
0
0
0
0
0
0
0
7
0
0
0
55
8
49
5
0
0
0
0
0
0
0
0
0
-5
-9
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
49
0
0
0
0
0
0
0
0
-5
3
0
1
1
-7
30
22
-4
0
0
0
0
0
0
0
0
-7
5
-3
11
-2
24
43
-17
1
0
0
0
0
0
0
0
0
0
-1
-25
17
50
-36
0
4
-13
0
0
0
0
0
0
0
0
0
1
-10
-20
-1
19
-7
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
-9
2
0
0
0
0
0
0
0
0
7
0
0
1
43
10
-18
20
0
0
0
0
0
0
0
0
0
0
0
24
-39
1
4
-4
-1
8
5
0
0
0
0
0
0
0
-15
0
0
-5
0
-44
7
1
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
2
21
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
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
15
-4
29
18
-1
0
0
0
0
0
0
0
0
5
0
0
0
-2
2
-23
3
-7
0
0
0
0
0
0
0
0
-4
1
0
-4
5
-1
0
46
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
9
0
5
-16
-24
-19
2
-54
0
0
0
0
0
0
0
0
0
25
-19
6
46
29
87
-25
-33
-66
0
0
0
0
0
0
0
0
5
-1
64
-38
-22
34
-1
23
22
0
0
0
0
0
0
0
0
7
1
28
73
-5
10
-81
27
-6
0
0
0
0
0
0
0
0
0
-3
-7
29
32
59
-105
-18
-11
0
0
0
0
0
0
0
0
3
0
3
-6
21
-64
-23
7
0
0
0
0
0
0
0
0
0
0
6
0
0
-49
6
99
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
-37
-5
1
-51
156
-11
-21
0
14
0
0
0
0
0
0
0
27
-33
2
-16
-92
100
-66
54
-21
-74
0
0
0
0
0
0
0
-19
-9
-20
10
44
-25
-80
18
0
-71
0
0
0
0
0
0
0
47
-19
-53
23
63
72
81
18
-90
51
0
0
0
0
0
0
0
18
0
23
41
-36
53
62
-39
18
10
0
0
0
0
0
0
0
0
37
-56
-36
-53
5
18
64
-23
6
0
0
0
0
0
0
0
0
10
-2
0
82
-50
25
18
-53
0
0
0
0
0
0
0
0
0
1
-7
24
0
47
67
3
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
5
0
0
0
0
0
0
0
0
-3
-6
-6
5
-37
23
-4
-16
0
105
7
0
0
0
0
0
0
-1
2
-44
-6
52
-33
44
82
-14
42
62
0
0
0
0
0
0
1
-51
50
-44
66
95
9
-76
-60
5
5
0
0
0
0
0
0
37
54
58
103
-25
37
-43
-24
70
-14
19
0
0
0
0
0
0
0
-14
0
-38
-50
-39
53
-62
-62
-25
1
0
0
0
0
0
0
0
0
-10
-18
-93
-80
-10
-18
3
0
-9
0
0
0
0
0
0
0
-1
21
-20
22
118
1
46
-1
32
0
0
0
0
0
0
0
0
0
-4
0
0
8
16
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
1
-10
0
-20
48
4
98
55
0
-1
41
0
0
0
0
0
0
0
-34
57
11
22
-7
54
54
-19
52
56
-1
0
0
0
0
0
0
5
23
16
34
-14
33
67
-24
53
79
0
0
0
0
0
0
0
-3
-3
-11
-1
56
-28
5
-39
35
-21
-1
0
0
0
0
0
2
9
2
0
41
14
-23
13
34
1
9
0
0
0
0
0
0
0
5
-1
-1
-4
-9
-13
-14
40
15
0
0
0
0
0
0
0
0
0
-1
5
25
26
37
48
19
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-3
26
57
4
2
3
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
3
0
2
-9
-26
39
0
-7
0
0
0
0
0
0
0
0
-4
-8
1
-14
-1
-23
-84
-149
-9
20
4
0
0
0
0
0
0
1
0
37
-17
-115
-16
-26
43
22
-6
0
0
0
0
0
0
0
0
2
2
-6
27
68
21
-8
43
0
1
0
0
0
0
0
1
0
2
66
0
-55
46
169
33
2
0
0
0
0
0
0
0
0
0
29
0
-11
58
-1
44
8
27
0
0
0
0
0
0
0
0
0
0
1
37
-1
-23
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
19
-9
4
0
-2
17
0
0
0
0
0
0
0
6
2
-16
16
28
33
86
8
6
-17
0
0
0
0
0
0
0
3
0
16
-53
-5
50
6
67
43
-2
4
0
0
0
0
0
0
4
0
-7
0
-44
-41
69
144
-62
-14
0
0
0
0
0
0
-6
34
6
0
24
0
0
-1
96
11
0
0
0
0
0
0
0
0
0
0
-18
-4
58
-13
41
7
-8
-6
0
0
0
0
0
0
0
0
0
0
24
12
-10
-1
19
0
-2
0
0
0
0
0
0
0
0
6
5
0
-1
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
-1
0
1
0
-43
27
0
3
0
0
0
0
0
0
0
0
-3
0
0
14
9
-74
32
5
-2
17
0
0
0
0
0
0
0
0
-7
0
-38
43
-34
-27
-19
7
0
0
0
0
0
0
0
2
0
2
0
-33
7
13
-9
2
11
0
-1
0
0
0
0
0
0
9
-2
-1
36
-1
0
0
44
0
-2
0
0
0
0
0
0
0
21
25
-18
29
0
17
7
2
-8
2
0
0
0
0
0
0
0
0
0
-3
-4
0
21
-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
4
-20
0
0
0
0
0
0
0
0
0
0
0
0
10
-15
31
-19
14
62
-1
0
0
0
0
0
0
0
0
5
1
3
36
13
-16
-79
-27
-2
-1
0
0
0
0
0
0
0
0
0
9
34
-37
-3
-2
-9
0
0
0
0
0
0
0
0
0
2
0
0
0
1
6
0
-30
0
0
0
0
0
0
0
0
0
0
0
17
2
-2
-2
-15
0
-3
0
0
0
0
0
0
0
0
0
0
0
15
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
-13
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
46
-53
61
0
0
0
0
0
0
0
0
0
0
14
0
-4
-11
-13
11
5
1
0
0
0
0
0
0
0
15
0
-6
-9
59
106
11
0
-1
0
0
0
0
0
0
0
0
2
0
-5
-13
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
5
4
25
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
3
0
0
0
0
0
0
0
0
0
0
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
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
9
-2
27
1
0
0
0
0
0
0
0
0
0
0
0
5
-1
-5
2
-8
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
-16
0
-3
31
-5
-21
12
14
0
0
0
0
0
0
0
0
0
9
-1
0
-37
36
-33
26
-24
-4
0
0
0
0
0
0
0
0
53
2
-4
-4
-50
-14
-39
-65
67
0
0
0
0
0
0
0
0
-15
10
65
31
-20
-27
31
24
-22
0
0
0
0
0
0
0
0
-10
-15
-2
78
52
-5
-62
3
18
0
0
0
0
0
0
0
0
0
71
-2
95
38
1
8
63
0
0
0
0
0
0
0
0
0
-8
8
6
15
61
-10
-32
46
18
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-4
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
-2
25
14
27
5
-55
10
-12
0
69
0
0
0
0
0
0
0
11
24
34
-14
-49
40
12
15
-56
4
0
0
0
0
0
0
0
2
47
-26
-4
52
14
-45
46
76
14
0
0
0
0
0
0
0
3
54
27
15
-1
50
-72
-22
-88
8
0
0
0
0
0
0
0
4
46
28
129
120
80
27
70
31
126
0
0
0
0
0
0
0
-1
0
-14
-62
15
72
4
-94
2
11
0
0
0
0
0
0
0
1
-9
-5
5
43
-28
66
25
-67
-1
0
0
0
0
0
0
0
0
-1
2
-14
-4
25
28
27
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
21
3
0
0
0
0
0
0
0
0
0
5
-5
-30
0
-24
-6
-26
47
0
30
-38
0
0
0
0
0
0
0
-6
47
6
-31
34
-53
3
115
24
33
0
0
0
0
0
0
-1
-9
5
-11
14
-2
41
94
59
118
36
0
0
0
0
0
0
9
65
-23
12
61
79
47
95
44
91
6
0
0
0
0
0
0
-4
-54
11
-14
72
75
3
-61
119
124
0
0
0
0
0
0
0
18
-101
0
16
-9
-81
133
-62
-31
55
0
0
0
0
0
0
0
-2
0
-37
41
-27
34
-80
41
95
1
0
0
0
0
0
0
0
0
0
-15
-3
0
34
43
53
7
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
-13
0
0
0
0
0
0
0
0
2
9
2
-1
19
56
2
31
0
48
11
1
0
0
0
0
0
2
29
-23
8
44
138
-17
28
32
-62
16
-4
0
0
0
0
0
0
0
8
1
50
22
-6
65
6
12
-29
0
0
0
0
0
0
2
82
-3
1
47
18
32
86
-36
-12
27
0
0
0
0
0
0
0
-16
1
-19
5
152
70
-32
49
24
6
0
0
0
0
0
0
0
47
9
0
62
-16
40
1
100
45
0
0
0
0
0
0
0
0
-46
1
58
-53
-14
-1
-9
-4
9
6
0
0
0
0
0
0
0
0
2
-5
0
-2
-8
-43
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
-34
36
4
0
17
10
0
0
0
0
0
0
0
2
7
-31
-6
10
-31
-6
-32
-119
-2
0
0
0
0
0
0
0
1
0
7
26
0
84
-27
-19
0
6
0
0
0
0
0
0
0
-1
0
-3
1
15
40
34
-74
44
-2
0
0
0
0
0
0
0
0
4
18
-69
0
23
16
10
-6
0
-1
0
0
0
0
0
0
6
62
-27
0
59
1
24
-3
-5
0
0
0
0
0
0
0
-1
0
2
0
8
2
47
10
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-2
20
-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
33
-38
0
-4
0
0
0
0
0
0
0
0
-1
0
-4
2
-4
55
-8
14
-2
21
0
0
0
0
0
0
0
0
-5
0
0
-1
43
-35
-6
-24
3
0
0
0
0
0
0
0
0
-1
52
20
26
11
48
-2
32
11
0
0
0
0
0
0
1
-6
4
4
-14
17
33
39
89
2
0
0
0
0
0
0
0
0
16
-4
1
1
0
-16
8
-2
0
0
0
0
0
0
0
0
-2
2
-15
2
0
-6
22
14
-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
18
-1
0
-21
0
0
0
0
0
0
0
0
-1
0
1
24
-19
100
-19
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
32
-31
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
5
-34
-4
-36
0
0
0
0
0
0
0
0
-3
-15
0
-5
0
128
11
49
4
0
0
0
0
0
0
0
0
0
5
0
-5
3
0
45
0
19
0
0
0
0
0
0
0
0
0
0
-1
0
3
15
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
-43
2
0
-1
2
0
0
0
0
0
0
-3
0
-6
0
-10
0
0
44
-22
6
0
0
0
0
0
0
0
0
0
0
0
1
22
-7
-10
-14
5
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
4
-9
-7
5
3
0
0
0
0
0
0
0
8
0
7
0
-43
20
14
3
-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
-37
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
65
2
0
14
-2
0
0
0
0
0
0
0
-1
0
0
0
25
16
-15
-4
-7
0
0
0
0
0
0
0
0
-2
0
1
0
5
-6
-5
-23
0
0
0
0
0
0
0
0
0
-1
0
4
-26
23
-3
47
-3
-21
0
0
0
0
0
0
0
0
0
0
0
-5
4
95
-5
5
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
-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
2
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
1
11
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
16
0
0
0
0
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
25
0
0
4
-45
-43
1
25
0
0
0
0
0
0
0
0
0
77
11
-6
-29
80
43
-2
56
92
0
0
0
0
0
0
0
0
-19
0
-3
10
-28
63
20
-83
65
0
0
0
0
0
0
0
0
-25
7
1
45
-56
62
14
93
33
0
0
0
0
0
0
0
0
-1
0
14
-50
16
-25
91
-2
88
0
0
0
0
0
0
0
0
21
4
-16
35
20
14
-30
-30
-2
0
0
0
0
0
0
0
0
0
0
25
4
47
68
-105
-5
2
0
0
0
0
0
0
0
0
0
0
-2
22
-8
-5
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
19
0
0
0
0
0
0
0
0
0
0
0
-12
2
6
144
88
74
96
0
-48
0
0
0
0
0
0
0
-1
-59
-33
-25
-58
13
-63
29
-5
58
0
0
0
0
0
0
0
0
12
-10
-27
17
5
3
25
-25
-5
0
0
0
0
0
0
0
8
67
27
81
19
-9
-32
24
58
-13
0
0
0
0
0
0
0
0
-33
-17
-81
-11
-25
-2
56
-3
-44
0
0
0
0
0
0
0
-2
24
-47
-58
-102
29
-100
-72
23
-36
0
0
0
0
0
0
0
14
0
8
11
-4
-59
22
-79
-45
10
0
0
0
0
0
0
0
0
1
10
-39
10
11
-35
-11
9
-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
43
-2
14
10
75
25
0
98
-12
0
0
0
0
0
0
-1
-65
-23
-13
-1
34
-23
-36
-17
57
-18
0
0
0
0
0
0
-2
53
15
-4
116
66
-44
-41
-14
5
21
0
0
0
0
0
0
0
-25
-3
36
-47
23
-1
-84
110
-2
2
0
0
0
0
0
0
2
30
-5
82
-4
102
2
31
31
-73
-1
0
0
0
0
0
0
-3
-2
21
100
14
-49
-12
9
113
68
-14
0
0
0
0
0
0
15
49
0
-3
-66
31
33
24
68
-1
0
0
0
0
0
0
0
0
0
-4
15
-14
-19
40
-63
30
-37
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
-2
-4
3
-6
-16
44
72
0
56
3
-1
0
0
0
0
0
0
-11
-5
-5
16
-44
-42
85
-97
51
-26
1
0
0
0
0
0
0
-8
1
-10
4
5
62
26
-83
45
-20
0
0
0
0
0
0
0
-7
0
-2
71
89
-35
-3
72
-54
-10
0
0
0
0
0
0
0
5
-4
0
-82
57
53
-57
52
98
-1
0
0
0
0
0
0
1
-11
0
43
-32
115
95
-49
4
5
11
0
0
0
0
0
0
0
-6
69
0
55
-56
-87
47
44
-7
0
0
0
0
0
0
0
0
15
0
-5
0
86
-9
-64
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
-9
7
22
-34
0
71
14
0
0
0
0
0
0
0
0
0
2
-1
48
62
-7
19
51
26
-1
0
0
0
0
0
0
-2
0
5
3
-7
54
-2
-11
6
-1
0
0
0
0
0
0
0
-10
0
-2
-2
8
-37
18
-4
-1
1
0
0
0
0
0
0
0
-4
0
0
1
43
5
19
-4
2
-5
0
0
0
0
0
0
0
0
-3
0
-2
-41
-23
-21
7
16
0
3
0
0
0
0
0
0
0
0
0
0
-17
33
-8
-5
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
-47
16
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-15
-16
-8
-50
-7
-2
0
0
0
0
0
0
0
0
0
13
-8
96
9
-41
-1
0
0
0
0
0
0
0
0
0
-2
0
0
11
1
112
31
-39
0
0
0
0
0
0
0
0
0
0
0
27
7
53
-5
-30
0
-5
0
0
0
0
0
0
0
0
0
0
9
-24
10
25
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-12
0
16
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
-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
22
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
19
-3
26
0
0
0
0
0
0
0
0
0
0
1
0
0
46
-6
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
32
3
50
1
-10
0
0
0
0
0
0
0
0
9
0
1
-1
17
-33
-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
-4
0
3
7
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
7
2
0
0
-1
0
0
0
0
0
0
0
20
0
1
-1
-6
-7
-25
-19
-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
11
-3
7
1
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
13
-5
-1
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
10
-6
13
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
9
2
-33
8
-9
0
0
0
0
0
0
0
0
2
0
10
-1
-9
-5
0
44
0
0
0
0
0
0
0
0
0
0
-3
0
-21
6
-1
-27
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-25
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
-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
39
-3
2
-20
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
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
-17
3
1
0
0
0
0
0
0
0
0
0
5
0
5
3
15
-19
-10
17
87
0
0
0
0
0
0
0
0
-3
0
0
48
132
7
-61
49
6
0
0
0
0
0
0
0
0
96
-2
-1
-24
-57
-133
17
-12
-6
0
0
0
0
0
0
0
0
35
-2
5
-14
-29
68
-40
-4
33
0
0
0
0
0
0
0
0
23
6
-40
-58
-44
10
10
31
-3
0
0
0
0
0
0
0
0
0
11
32
23
43
16
-34
-22
89
0
0
0
0
0
0
0
0
0
0
-2
-70
-14
1
-22
4
0
0
0
0
0
0
0
0
0
-4
-3
0
0
14
0
-30
0
0
0
0
0
0
0
0
0
0
0
14
10
25
70
-40
120
-33
0
1
0
0
0
0
0
0
0
0
3
45
-43
85
-61
-12
-79
44
-2
0
0
0
0
0
0
0
0
-6
15
1
9
-104
-42
-77
25
12
0
0
0
0
0
0
0
-2
-39
-10
-9
-40
-73
-47
26
82
-46
0
0
0
0
0
0
0
-1
35
10
33
134
83
-52
50
-88
-73
0
0
0
0
0
0
0
0
-88
-14
112
74
11
3
-89
21
-45
0
0
0
0
0
0
0
-8
0
-13
68
12
-41
-40
-110
33
5
0
0
0
0
0
0
0
0
0
-2
36
20
-80
-7
-34
-31
17
0
0
0
0
0
0
0
0
0
0
3
-1
6
3
-19
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
2
-34
20
0
32
1
0
0
0
0
0
0
0
-23
11
-1
-8
-79
-24
-114
-14
-84
62
0
0
0
0
0
0
-9
-7
11
0
14
91
73
-30
-4
-42
-73
0
0
0
0
0
0
0
21
1
-14
18
-5
91
22
47
22
10
0
0
0
0
0
0
0
-6
-8
28
4
-61
-37
47
125
-1
23
0
0
0
0
0
0
0
13
14
17
50
-117
53
-96
43
-33
-3
0
0
0
0
0
0
0
0
-1
27
-10
-74
64
-16
57
31
0
0
0
0
0
0
0
0
39
0
21
-2
56
-23
-11
-18
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
11
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
10
0
19
2
0
0
0
0
0
0
0
10
-13
8
0
37
15
-62
92
116
-36
3
0
0
0
0
0
0
-2
0
-1
59
39
-60
-4
-68
23
-6
1
0
0
0
0
0
0
-3
0
0
18
-5
-23
41
-83
96
-5
0
0
0
0
0
0
0
1
0
1
-57
-22
33
54
-54
-1
-2
0
0
0
0
0
0
0
-2
-1
-1
21
-33
73
-29
90
-4
0
0
0
0
0
0
0
0
0
20
17
-83
3
43
-23
-4
-39
16
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
34
4
0
33
-1
0
0
0
0
0
0
0
0
0
0
0
47
1
-6
-1
-2
7
0
0
0
0
0
0
0
0
0
1
1
2
11
-1
-75
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-27
0
2
-1
0
0
0
0
0
0
0
3
0
2
-1
-17
24
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-14
62
4
65
11
2
0
0
0
0
0
0
0
0
1
0
7
-15
6
-39
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
-24
8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
26
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
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
-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
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
14
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
-9
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
15
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
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
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
30
3
-49
0
0
0
0
0
0
0
0
0
29
0
0
0
3
-5
21
7
-43
0
0
0
0
0
0
0
0
-10
0
0
-16
33
23
0
-63
3
0
0
0
0
0
0
0
0
6
4
10
37
91
11
-6
9
2
0
0
0
0
0
0
0
0
8
90
-61
23
-26
94
-13
56
0
0
0
0
0
0
0
0
0
-4
0
0
-1
72
52
-8
-10
20
0
0
0
0
0
0
0
0
0
0
37
25
1
2
3
-8
0
0
0
0
0
0
0
0
0
0
-1
6
0
44
14
33
0
1
0
0
0
0
0
0
0
0
0
0
0
0
13
5
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
-7
9
24
0
0
0
0
0
0
0
0
0
4
0
0
0
0
45
-71
21
14
0
0
0
0
0
0
0
0
-10
0
-8
5
-40
3
49
17
2
0
0
0
0
0
0
0
-5
0
-1
0
27
11
-2
0
-17
1
0
0
0
0
0
0
0
0
18
14
33
-8
74
-50
0
-4
0
0
0
0
0
0
0
0
0
0
2
14
5
19
4
-17
0
0
0
0
0
0
0
0
0
0
0
0
-11
-37
15
11
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
-9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-20
10
9
4
0
0
0
0
0
0
0
0
-2
-5
0
0
-5
5
0
17
2
3
0
0
0
0
0
0
0
0
0
0
2
22
96
20
14
-21
0
0
0
0
0
0
0
0
-1
0
3
0
1
33
6
15
8
-5
0
0
0
0
0
0
0
0
0
-57
5
-2
5
-3
1
0
0
0
0
0
0
0
0
0
0
0
7
5
-37
-14
-4
19
0
1
0
0
0
0
0
0
0
0
0
16
-1
17
4
19
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
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
4
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
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
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
8
0
1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-14
14
4
-23
-24
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
-50
-26
2
-68
16
0
0
0
0
0
0
0
0
0
-4
-13
72
-13
-4
-41
-36
-45
0
0
0
0
0
0
0
0
0
0
0
-18
-24
53
23
45
38
0
0
0
0
0
0
0
0
0
0
0
0
-24
-34
-12
39
-56
0
0
0
0
0
0
0
0
0
0
0
5
-3
18
-37
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-73
0
0
0
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
3
-57
-47
113
0
0
0
0
0
0
0
0
0
0
0
58
-58
29
-32
-53
-18
0
0
0
0
0
0
0
0
0
0
0
-2
23
-1
38
-99
-62
55
-155
-138
0
0
0
0
0
0
0
0
-77
-2
-88
-97
-34
-19
-47
2
-14
0
0
0
0
0
0
0
0
-5
55
25
88
36
21
-20
63
22
0
0
0
0
0
0
0
0
-10
-5
-19
-12
-85
-34
90
43
9
0
0
0
0
0
0
0
0
0
0
65
5
71
28
-71
-3
49
0
0
0
0
0
0
0
0
0
0
-19
-53
101
20
-29
34
22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-50
0
0
0
0
0
0
0
0
0
0
0
14
41
-59
36
0
0
0
-13
0
0
0
0
0
0
0
-26
-34
52
-55
13
23
0
0
0
43
0
0
0
0
0
0
0
-7
62
-31
-66
-12
-59
-38
2
30
21
0
0
0
0
0
0
0
49
-14
5
-91
-78
-23
8
-10
-129
-45
0
0
0
0
0
0
0
-5
113
-10
15
-79
-58
-53
-93
-113
-2
0
0
0
0
0
0
0
-36
-33
-76
58
-24
9
-50
-37
-16
-35
0
0
0
0
0
0
0
0
-14
67
-41
-19
-62
-34
30
-17
43
0
0
0
0
0
0
0
0
-5
-51
-30
-75
8
-53
-35
-11
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
0
-64
22
1
0
0
0
18
0
0
0
0
0
0
0
1
-14
-38
53
-23
-38
0
0
0
27
-5
0
0
0
0
0
0
0
5
24
-10
14
-25
-76
-27
-46
122
-9
0
0
0
0
0
0
-9
-14
-24
-100
90
-60
-26
69
-22
-43
0
0
0
0
0
0
0
0
-45
-53
-32
-122
-124
42
-30
-42
40
1
0
0
0
0
0
0
0
0
6
-112
76
-104
-27
-24
-21
82
0
0
0
0
0
0
0
0
0
-5
-79
6
24
10
10
-12
-22
-2
0
0
0
0
0
0
0
0
1
5
5
22
28
-7
46
71
-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
-19
0
3
-58
0
0
0
-1
0
0
0
0
0
0
0
-25
-37
-2
-31
-105
3
0
0
0
-14
-14
0
0
0
0
0
0
0
-3
-50
-43
40
-18
-61
42
-101
-39
-3
0
0
0
0
0
0
0
5
-39
-72
14
53
-97
-73
-50
-1
0
0
0
0
0
0
0
0
12
-6
-103
32
-136
52
-88
5
16
1
0
0
0
0
0
0
0
0
-13
43
-35
-111
-3
37
74
-14
7
0
0
0
0
0
0
0
9
-2
5
-87
-56
-113
77
-65
-6
13
0
0
0
0
0
0
0
0
-2
3
-27
45
-36
100
-40
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
7
0
0
0
-54
0
0
0
0
6
0
0
0
0
0
0
0
5
-50
-2
-18
26
0
0
0
5
-2
0
0
0
0
0
0
0
1
-19
-23
-7
-29
-17
-23
-15
36
-3
0
0
0
0
0
0
0
0
-7
43
-15
-68
-53
39
78
-5
0
0
0
0
0
0
0
0
0
-3
16
-5
104
-24
-151
-33
-21
-1
0
0
0
0
0
0
0
0
1
37
20
57
27
30
38
-14
0
0
0
0
0
0
0
0
0
0
0
16
3
14
23
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
33
-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
-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
-32
2
-81
0
0
0
0
0
0
0
0
0
0
0
0
-13
35
-16
15
-48
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
59
13
-74
-5
0
0
0
0
0
0
0
0
0
0
3
-1
13
22
-13
36
3
-1
0
0
0
0
0
0
0
0
0
-4
-7
-6
2
-2
54
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
3
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
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
-13
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
-9
-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
32
69
16
-64
51
0
0
0
0
0
0
0
0
0
0
0
-7
-29
53
-68
78
78
0
0
0
0
0
0
0
0
0
0
0
-17
142
45
-42
28
-14
-38
-93
0
0
0
0
0
0
0
0
0
6
49
18
-54
28
-89
13
-39
0
0
0
0
0
0
0
0
0
-2
-15
16
13
-7
-104
-15
-20
0
0
0
0
0
0
0
0
0
0
-10
-14
43
37
27
-49
15
0
0
0
0
0
0
0
0
0
0
0
-3
-1
25
62
48
53
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
5
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
27
0
0
0
0
0
0
0
0
5
6
-20
-6
2
29
-35
0
0
0
0
0
0
0
0
0
0
5
-3
84
61
-24
-43
58
0
0
0
0
0
0
0
0
0
0
7
-75
5
-16
17
-16
-63
27
-19
-83
0
0
0
0
0
0
0
0
-15
-118
80
23
15
-86
-66
-82
-11
0
0
0
0
0
0
0
0
21
6
-38
53
-22
-1
-24
-20
25
0
0
0
0
0
0
0
-1
19
-10
47
-8
-43
-88
58
-25
-63
0
0
0
0
0
0
0
0
-1
-5
1
55
61
-15
-36
-6
-6
0
0
0
0
0
0
0
0
0
0
0
4
-58
-67
23
2
73
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-36
-6
0
0
0
0
0
0
0
0
-3
-4
-6
-68
-135
-59
0
0
0
-33
0
0
0
0
0
0
0
-14
-14
-86
-62
-58
46
0
0
0
46
0
0
0
0
0
0
0
-27
29
6
43
4
-26
-74
32
-35
30
0
0
0
0
0
0
0
-1
74
-81
-23
-85
19
-49
28
-132
-54
0
0
0
0
0
0
0
5
-89
5
5
2
-57
-39
-11
-49
-12
0
0
0
0
0
0
0
-1
-31
-3
-73
-105
-47
-54
-50
26
-70
0
0
0
0
0
0
0
5
-5
-11
107
-71
-76
-12
-69
-52
23
0
0
0
0
0
0
0
0
0
-3
64
-147
-122
-98
-96
-19
16
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
-31
20
-35
0
0
0
0
0
0
0
0
15
6
-7
-61
90
0
0
0
-16
-1
0
0
0
0
0
0
-3
57
100
-21
-17
-54
0
0
0
44
5
0
0
0
0
0
0
-14
-17
6
-69
-66
-24
-43
-40
-19
14
-3
0
0
0
0
0
0
-5
-47
109
-40
12
43
50
8
-11
-33
-2
0
0
0
0
0
0
-11
15
-54
-5
-43
57
-4
-44
-5
-48
11
0
0
0
0
0
0
0
10
22
-23
21
-128
-15
65
-7
-78
-4
0
0
0
0
0
0
0
0
15
-52
-22
36
-59
12
-61
20
19
0
0
0
0
0
0
0
0
0
-2
-43
-15
-18
-63
47
72
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
74
45
-13
0
0
0
0
0
0
0
0
17
32
49
-15
1
0
0
0
-52
3
0
0
0
0
0
-2
1
2
-12
-43
40
-128
0
0
0
6
-34
0
0
0
0
0
0
8
-17
57
45
-22
15
-78
5
-32
-98
-62
-2
0
0
0
0
0
0
9
-29
14
111
42
-70
17
-114
-33
-30
-14
0
0
0
0
0
0
11
-29
67
-47
4
-86
41
54
19
-65
-9
0
0
0
0
0
0
0
-2
-33
-6
-152
-24
-132
-109
18
1
0
0
0
0
0
0
0
0
0
2
-70
-6
-9
-28
28
-34
-6
0
0
0
0
0
0
0
0
0
-4
3
0
5
44
-59
-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
17
44
-5
2
-10
0
0
0
30
-4
0
0
0
0
0
0
0
-14
-5
-15
-19
-75
0
0
0
-7
5
0
0
0
0
0
0
0
-10
41
21
-48
-5
-39
3
20
-6
-13
-2
0
0
0
0
0
0
3
5
49
-4
13
-29
-69
-113
-9
3
0
0
0
0
0
0
0
0
-15
-16
106
41
47
30
-67
8
0
0
0
0
0
0
0
0
-1
-6
-8
14
93
-15
75
-33
23
0
-4
0
0
0
0
0
0
0
1
4
8
40
-22
-5
4
-4
2
0
0
0
0
0
0
0
0
0
23
0
2
1
4
54
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
14
-7
-18
1
0
0
0
16
-21
-3
0
0
0
0
0
0
0
2
-14
-5
-25
-43
-4
-86
6
-21
1
0
0
0
0
0
0
0
0
-14
3
-34
-9
10
103
-21
3
0
0
0
0
0
0
0
0
0
-2
3
-40
-41
23
-106
1
0
-3
0
0
0
0
0
0
0
0
6
-6
-9
-5
-14
14
9
-5
0
0
0
0
0
0
0
0
0
0
-5
0
30
6
-57
6
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
-2
0
0
0
0
0
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
-26
0
-13
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
-5
5
14
-7
1
0
0
0
0
0
0
0
0
0
-2
0
-20
-8
0
-29
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
0
-11
-4
-1
0
0
0
0
0
0
0
-3
0
7
0
-6
-6
2
13
13
0
0
0
0
0
0
0
0
0
0
0
0
-32
25
7
-1
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-5
26
-19
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
7
22
-5
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
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
-13
3
-13
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
-80
-17
-5
-71
-19
0
0
0
0
0
0
0
0
0
0
0
-1
8
-9
-57
-1
-24
0
0
0
0
0
0
0
0
0
0
0
6
32
42
61
-61
-7
128
-107
0
0
0
0
0
0
0
0
0
2
0
-47
1
10
1
40
-66
0
0
0
0
0
0
0
0
0
-3
1
18
18
-57
51
8
-14
0
0
0
0
0
0
0
0
0
0
0
1
20
-23
83
-57
-82
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-55
95
29
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
0
-66
0
0
0
0
0
0
0
0
2
-21
-7
23
31
-53
-31
0
0
0
0
0
0
0
0
0
0
0
-41
-49
-4
8
-20
-45
0
0
0
0
0
0
0
0
0
0
0
8
6
22
-33
-32
62
7
-75
-5
0
0
0
0
0
0
0
0
62
24
-6
-11
-7
-48
-87
-23
-45
0
0
0
0
0
0
0
0
-5
19
-7
-51
16
-34
-83
1
-54
0
0
0
0
0
0
0
-1
-2
-26
6
27
89
67
28
-42
-63
0
0
0
0
0
0
0
0
0
0
-8
42
14
-20
-2
-102
39
0
0
0
0
0
0
0
0
0
0
1
-9
26
-5
-43
43
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-52
-14
0
0
0
0
0
0
0
0
-3
8
-25
-60
84
54
0
0
0
-29
0
0
0
0
0
0
0
-2
-31
-21
-9
-2
-24
0
0
0
-18
0
0
0
0
0
0
0
14
33
-10
-60
18
59
45
10
-99
-36
0
0
0
0
0
0
0
-2
-33
-18
-51
-54
-38
-61
-109
-5
-6
0
0
0
0
0
0
0
1
-55
-44
61
-68
-41
-31
-5
-54
-26
0
0
0
0
0
0
0
0
-27
-32
1
-106
-39
17
-15
24
-44
0
0
0
0
0
0
0
0
0
2
-13
1
18
-88
-24
-69
2
0
0
0
0
0
0
0
0
0
6
-1
-1
-1
-100
38
-56
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
1
0
-10
-16
-61
13
-75
0
0
0
21
-2
0
0
0
0
0
0
-2
-13
-51
-81
41
-61
0
0
0
-5
-9
0
0
0
0
0
0
14
-2
-64
-24
2
72
-54
26
39
50
0
0
0
0
0
0
0
0
50
53
-48
40
-26
129
-33
-78
20
0
0
0
0
0
0
0
0
-14
-2
17
-67
90
63
-58
52
-24
11
0
0
0
0
0
0
0
0
-33
-43
100
-54
93
7
-32
8
0
0
0
0
0
0
0
0
0
0
-31
-8
29
-11
-57
-32
64
0
0
0
0
0
0
0
0
0
0
0
-14
0
-19
7
-21
-26
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
-2
39
2
-15
-20
0
0
0
-1
3
0
0
0
0
0
0
0
-3
-78
66
-57
41
0
0
0
46
-35
0
0
0
0
0
0
6
45
-14
23
1
-59
-10
-20
-73
-14
14
4
0
0
0
0
0
2
-6
-27
26
15
22
57
31
21
-1
-25
-1
0
0
0
0
0
0
0
6
2
-27
-109
-81
52
-42
-6
-23
0
0
0
0
0
0
0
7
-7
-60
-121
43
104
-139
-21
34
31
0
0
0
0
0
0
0
0
-5
-5
0
-9
22
-25
78
-2
-2
0
0
0
0
0
0
0
0
0
0
-10
0
-1
0
-50
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
-1
-2
-3
0
0
0
23
0
0
0
0
0
0
0
0
-8
-47
-57
-14
4
0
0
0
7
24
2
0
0
0
0
0
0
0
-13
-17
25
33
8
2
-46
-33
-4
3
0
0
0
0
0
2
-15
0
-1
-5
-24
53
47
-42
10
-1
0
0
0
0
0
0
0
0
5
-24
14
50
-41
53
45
6
8
0
0
0
0
0
0
0
0
2
-4
0
-56
-3
-73
4
-26
-1
0
0
0
0
0
0
0
0
0
1
-1
-43
23
-6
44
-10
-8
0
0
0
0
0
0
0
0
0
0
-1
3
1
7
-14
-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
18
0
0
0
4
0
0
0
0
0
0
0
0
-1
1
-14
-25
5
0
0
0
1
-84
0
0
0
0
0
0
0
0
0
25
7
3
-31
5
-63
21
13
-1
-2
0
0
0
0
0
3
-8
-1
-5
16
-36
50
-14
3
-1
1
0
0
0
0
0
0
0
0
0
8
15
35
21
-4
18
-29
0
0
0
0
0
0
0
0
0
0
-3
10
-8
43
0
4
-1
0
0
0
0
0
0
0
0
0
0
7
0
3
3
-28
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
-34
-1
0
0
0
0
0
0
0
0
-1
-1
0
-6
-2
-51
-1
-6
-2
0
0
0
0
0
0
0
0
0
1
-4
3
-3
13
14
-9
-1
0
0
0
0
0
0
0
0
0
0
-1
0
19
7
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
21
19
-11
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
-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
-2
-2
9
0
0
0
-1
0
0
0
0
0
0
0
-4
-8
0
17
-60
-32
0
0
0
-13
-1
0
0
0
0
0
0
1
0
14
-43
-1
-48
-93
-37
-55
0
0
0
0
0
0
0
0
0
1
-6
-9
-18
-51
26
44
-3
-1
0
0
0
0
0
0
0
0
4
1
0
2
-28
2
56
0
1
3
0
0
0
0
0
0
0
0
0
0
2
36
30
48
26
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
20
7
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
17
0
0
0
0
3
-7
1
0
0
0
0
0
0
15
1
-20
34
9
0
0
0
-17
3
0
0
0
0
0
0
0
-5
-13
-3
31
60
-54
-7
6
6
-3
0
0
0
0
0
0
0
0
-5
1
-11
-9
-16
-39
29
-23
1
0
0
0
0
0
0
0
-2
0
7
-2
-73
35
55
61
7
-5
0
0
0
0
0
0
0
0
0
1
-3
-5
53
7
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
25
18
-91
-11
0
0
0
0
0
0
0
0
0
0
-8
0
0
3
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
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
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
9
-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
23
0
0
0
0
0
0
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
23
-22
46
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-17
-23
29
0
0
0
0
0
0
0
0
0
0
0
5
-68
-5
-16
-59
-17
14
-3
0
0
0
0
0
0
0
0
0
0
1
30
-3
34
11
5
-72
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
-37
31
-80
0
0
0
0
0
0
0
0
0
0
0
0
14
-14
4
15
3
0
0
0
0
0
0
0
0
0
0
0
0
-25
-10
2
-54
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
53
-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
1
-2
43
-23
4
64
0
0
0
0
0
0
0
0
0
0
1
20
-52
36
-17
10
-7
0
0
0
0
0
0
0
0
0
0
0
10
55
11
-75
-137
98
50
-103
-85
0
0
0
0
0
0
0
0
-2
56
36
-64
-21
-30
25
-32
-19
0
0
0
0
0
0
0
0
-6
80
22
-48
-139
-71
-66
-98
-20
0
0
0
0
0
0
0
0
0
-26
22
12
-9
43
19
-84
-43
0
0
0
0
0
0
0
0
0
16
-5
21
61
-18
105
5
80
0
0
0
0
0
0
0
0
0
0
0
2
6
16
-14
50
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
26
-5
0
0
0
0
0
0
0
0
0
-78
16
118
-65
-22
0
0
0
4
0
0
0
0
0
0
0
-7
0
-72
-78
-55
15
0
0
0
-26
0
0
0
0
0
0
0
-1
-22
-130
-88
73
27
-24
-6
-42
2
0
0
0
0
0
0
0
0
-2
-55
-6
-110
-89
-1
-11
-125
45
0
0
0
0
0
0
0
0
-27
-4
-72
-81
-70
-154
52
11
28
0
0
0
0
0
0
0
2
0
-14
-84
28
-54
-110
32
7
-5
0
0
0
0
0
0
0
0
0
0
-6
-74
-22
-72
-40
-19
-2
0
0
0
0
0
0
0
0
0
-2
0
-21
14
-7
-12
9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-19
-5
0
0
0
0
0
0
0
0
0
0
22
-114
-22
36
0
0
0
23
0
0
0
0
0
0
0
-10
6
32
14
33
-62
0
0
0
-63
24
0
0
0
0
0
0
0
-8
54
82
-21
-49
-33
-89
22
26
0
0
0
0
0
0
1
17
-10
-7
24
88
-66
-36
-104
-77
-14
0
0
0
0
0
0
0
11
-12
15
-38
-59
-67
-96
22
-43
13
-1
0
0
0
0
0
0
0
0
-4
-48
17
-39
-23
50
-12
-49
0
0
0
0
0
0
0
1
0
0
0
5
13
63
34
-120
3
0
0
0
0
0
0
0
0
0
-6
0
-1
-6
1
29
-11
-22
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
35
-46
52
23
0
0
0
-8
3
0
0
0
0
0
0
0
42
-38
-5
-47
48
0
0
0
81
22
0
0
0
0
0
0
1
-11
21
-70
55
-133
6
-31
45
9
-6
2
0
0
0
0
0
-4
-5
8
-1
-34
22
-22
-90
-10
35
2
1
0
0
0
0
0
0
-11
-31
23
-16
-42
-123
-52
-27
-11
0
4
0
0
0
0
0
0
0
1
-6
43
-10
-24
11
-20
5
-2
0
0
0
0
0
0
0
0
-4
2
-1
29
-33
-6
93
17
2
0
0
0
0
0
0
0
0
0
0
6
0
20
-85
-47
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
-13
-55
1
0
0
0
0
-7
0
-6
0
0
0
0
0
-6
-3
-45
-5
18
-7
0
0
0
-71
5
-3
0
0
0
0
0
0
-6
-20
25
16
-4
-6
8
88
0
-7
1
0
0
0
0
0
0
0
-7
-7
0
12
23
2
-71
39
1
0
0
0
0
0
0
0
-3
-2
-3
11
-7
18
9
-44
-8
-4
0
0
0
0
0
0
0
0
0
0
0
-5
48
1
-56
-7
-1
1
0
0
0
0
0
0
0
0
-2
6
0
-7
-29
-9
-5
3
0
0
0
0
0
0
0
0
0
-5
0
-1
-2
1
-133
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
-14
0
0
0
-2
0
0
0
0
0
0
0
0
-1
4
0
22
2
0
0
0
5
23
0
0
0
0
0
0
0
0
0
22
0
-19
10
-66
14
-7
31
0
0
0
0
0
0
0
1
0
3
6
0
-56
-17
-25
15
3
0
0
0
0
0
0
0
0
0
7
-1
-21
-17
43
-23
3
0
-1
0
0
0
0
0
0
0
0
-5
0
5
21
0
29
11
6
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
-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
-2
0
0
0
0
0
-1
2
0
0
0
0
0
0
2
-1
33
-1
1
0
0
0
5
0
0
0
0
0
0
0
0
0
1
1
6
0
-34
-11
-10
2
-2
6
0
0
0
0
0
0
0
0
0
17
-33
0
-28
11
-5
3
0
1
0
0
0
0
0
0
0
1
4
1
-4
16
-5
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
5
-17
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
-53
29
21
-25
0
0
0
0
0
0
0
0
0
0
0
15
0
24
60
15
-51
0
0
0
0
-1
0
0
0
0
0
0
7
-4
36
-14
-19
-63
-36
-76
-104
-3
0
0
0
0
0
0
0
0
-2
-40
-2
64
46
-144
34
-47
0
0
0
0
0
0
0
0
-1
5
6
-22
-1
88
37
3
59
3
0
0
0
0
0
0
0
0
8
2
-66
-14
13
-16
-39
-5
4
1
0
0
0
0
0
0
0
0
0
-6
0
-49
-1
-25
33
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
3
-5
29
0
0
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
-1
-10
-13
8
0
0
0
0
0
0
0
0
0
0
0
1
-3
-35
-7
-5
16
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-60
-28
-34
23
-95
-102
2
0
0
0
0
0
0
0
0
-2
0
-31
-37
-20
20
-97
17
7
3
0
0
0
0
0
0
0
4
-7
10
59
-41
21
-21
104
1
1
0
0
0
0
0
0
0
0
2
15
-5
13
3
-67
87
2
0
0
0
0
0
0
0
0
0
-5
-7
0
3
-35
38
53
2
0
0
0
0
0
0
0
0
0
0
0
0
2
6
10
-61
0
0
0
0
0
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
-33
0
0
0
0
0
0
0
0
0
0
0
4
-3
4
3
23
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
-39
1
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
1
-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
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-2
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
14
15
-23
20
-35
10
0
0
0
0
0
0
0
0
0
-1
0
-14
-1
19
-56
-7
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
-40
-76
28
-23
0
0
0
0
0
0
0
0
0
0
0
0
9
-29
-23
-19
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-79
-10
-14
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
-1
0
-61
0
0
0
0
0
0
0
0
0
0
2
-24
-7
-43
-23
0
0
0
0
0
0
0
0
0
0
0
-8
-9
-41
-64
11
-23
0
0
0
0
0
0
0
0
0
0
0
0
142
-35
40
-113
104
-13
1
-25
0
0
0
0
0
0
0
0
-1
-1
-94
23
13
18
-7
-51
-36
0
0
0
0
0
0
0
0
0
-6
0
-144
-39
41
9
-2
-128
0
0
0
0
0
0
0
0
0
1
15
8
-70
-11
-112
32
25
0
0
0
0
0
0
0
0
0
-11
-2
-37
-50
-101
60
-32
44
0
0
0
0
0
0
0
0
0
0
-5
16
11
5
-63
-53
-24
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
7
-4
46
-56
55
19
0
0
0
5
0
0
0
0
0
0
0
0
19
10
25
-14
20
0
0
0
34
0
0
0
0
0
0
0
-7
-33
8
-39
-34
65
80
-45
81
-30
0
0
0
0
0
0
0
0
13
-71
80
157
-65
-36
42
-49
3
0
0
0
0
0
0
0
0
0
5
-51
-86
1
-127
-27
32
14
0
0
0
0
0
0
0
0
13
-43
-5
-63
-43
-120
-3
-11
23
0
0
0
0
0
0
0
1
0
9
31
-21
-48
-55
-29
-70
16
0
0
0
0
0
0
0
0
0
0
-13
30
4
53
-21
-18
61
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-21
0
0
0
0
0
0
0
0
0
0
-10
-1
-32
25
0
0
0
10
4
0
0
0
0
0
0
4
-6
-68
9
72
76
0
0
0
-36
6
0
0
0
0
0
0
0
5
-12
-1
-63
3
0
33
16
-3
-4
0
0
0
0
0
0
0
20
-9
37
0
44
-41
-80
-78
44
1
0
0
0
0
0
0
1
-3
0
-4
-147
-28
-17
89
56
8
6
0
0
0
0
0
0
9
5
-7
22
44
49
-35
69
-96
2
9
0
0
0
0
0
0
0
3
0
5
-71
-29
65
33
37
-59
-5
0
0
0
0
0
0
0
0
0
-6
4
-2
-10
97
30
70
3
0
0
0
0
0
0
0
0
0
0
0
0
-32
-43
-25
10
0
0
0
0
0
0
0
0
0
2
17
13
9
0
0
0
-11
0
0
0
0
0
0
0
-5
7
44
-31
-32
-10
0
0
0
-39
-18
0
0
0
0
0
0
-15
0
-50
4
-11
9
24
7
-49
-6
-19
0
0
0
0
0
0
0
-14
24
13
-29
16
-26
-6
0
-54
8
1
0
0
0
0
0
0
-2
-1
0
13
-147
-88
-53
23
7
-7
-2
0
0
0
0
0
0
-4
0
2
-89
28
11
76
-85
5
-2
0
0
0
0
0
0
0
0
0
9
16
-86
50
3
23
8
-2
0
0
0
0
0
0
0
0
0
0
1
2
-8
5
32
-27
-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
5
0
17
0
0
0
-43
-1
0
0
0
0
0
0
-5
0
19
6
41
-3
0
0
0
29
-26
-3
0
0
0
0
0
0
-3
-11
27
14
5
7
-4
-65
-1
-8
-5
0
0
0
0
0
0
0
11
3
-3
48
-45
-20
5
20
1
3
0
0
0
0
0
0
-7
3
9
0
-34
7
-33
71
-29
-2
-2
0
0
0
0
0
0
0
0
-20
23
55
-68
61
-48
-14
0
0
0
0
0
0
0
0
0
0
1
7
22
-53
14
-78
-21
-2
0
0
0
0
0
0
0
0
0
6
0
-3
3
2
-62
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
0
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
-13
-33
24
0
-4
0
0
0
0
0
0
0
0
0
18
1
1
6
-24
-23
0
-6
0
0
0
0
0
0
0
0
0
-7
0
0
55
-69
-73
5
-3
0
0
0
0
0
0
0
0
0
-5
0
2
15
-24
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
5
-5
-39
53
2
-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
0
0
0
0
0
0
0
0
0
0
-23
0
0
10
5
0
0
0
1
-1
0
0
0
0
0
0
0
-2
0
-5
5
10
0
0
0
-3
3
0
0
0
0
0
0
0
0
-13
1
2
44
14
-80
-1
0
1
0
0
0
0
0
0
0
-5
0
0
-17
-20
-27
-17
2
-2
0
0
0
0
0
0
0
0
0
0
-13
-3
81
0
-15
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
37
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
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
-17
0
5
-48
-45
5
-1
0
0
0
0
0
0
0
0
0
0
0
13
-59
11
-9
24
17
0
0
0
2
6
0
0
0
0
0
0
-6
39
-56
53
-76
21
-118
-52
-53
0
0
0
0
0
0
0
0
2
7
-8
-10
-23
-46
-105
-1
-113
-5
0
0
0
0
0
0
0
-6
9
1
29
100
-76
53
0
-46
4
0
0
0
0
0
0
0
0
0
-6
-32
65
138
114
80
3
0
-1
0
0
0
0
0
0
0
-5
0
-9
42
-27
-52
-48
-61
5
0
0
0
0
0
0
0
0
0
13
5
2
-89
8
-44
48
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
7
-6
-60
-20
-17
0
0
0
0
0
0
0
0
0
0
0
-14
-16
52
73
-16
-46
0
0
0
-6
1
1
0
0
0
0
0
0
-31
-48
-5
-71
-33
-29
-6
-23
0
0
0
0
0
0
0
0
0
10
16
83
12
-12
-104
-32
-39
-9
0
0
0
0
0
0
0
0
-4
23
-9
97
22
7
18
0
-6
0
0
0
0
0
0
0
0
5
4
-5
37
-64
-19
-10
14
0
-4
0
0
0
0
0
0
0
0
-10
0
-15
-14
90
-118
-9
6
0
0
0
0
0
0
0
0
0
0
0
-7
-5
44
-24
-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
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
24
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
26
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
13
10
11
0
-29
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
-2
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
33
-29
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
45
22
-16
-46
11
0
0
0
0
0
0
0
0
0
0
0
-37
9
-10
-58
-44
-50
0
0
0
0
0
0
0
0
0
0
0
2
1
18
106
54
11
0
0
0
0
0
0
0
0
0
0
0
0
3
-92
-13
-23
-106
0
0
0
0
0
0
0
0
0
0
-2
0
-1
25
8
5
-101
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
8
22
0
0
0
0
0
0
0
0
0
0
2
5
-88
82
63
0
0
0
0
0
0
0
0
0
0
0
-4
18
-85
-80
58
23
0
0
0
0
0
0
0
0
0
0
0
0
-88
76
44
-28
80
-10
31
-121
0
0
0
0
0
0
0
0
-4
6
-65
-57
-20
-9
-11
-114
3
0
0
0
0
0
0
0
0
0
-13
54
-57
-58
-54
-69
-122
125
0
0
0
0
0
0
0
0
0
2
27
89
-11
-22
37
-93
-163
0
0
0
0
0
0
0
0
0
-7
-4
-25
-70
24
-72
-8
-30
0
0
0
0
0
0
0
0
0
0
0
-11
-5
69
15
41
82
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
24
4
0
0
0
0
0
0
0
0
0
22
5
24
-6
-5
0
0
0
1
0
0
0
0
0
0
0
0
40
45
-76
77
-73
0
0
0
2
0
0
0
0
0
0
0
0
-34
14
-101
-55
-10
-21
-13
-48
5
0
0
0
0
0
0
0
-15
-2
-26
20
-2
-35
52
-63
68
14
0
0
0
0
0
0
0
0
-5
-34
-100
-93
-46
75
-81
-100
-5
0
0
0
0
0
0
0
4
0
-21
33
21
-13
-56
-12
-117
-23
0
0
0
0
0
0
0
0
-5
-13
18
-160
-54
22
-92
-90
-18
0
0
0
0
0
0
0
0
0
0
-1
52
-9
-65
-76
-45
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
35
0
0
0
0
0
0
0
0
0
-1
6
-22
0
-3
0
0
0
-26
0
0
0
0
0
0
-1
-1
-9
2
64
33
17
0
0
0
4
-2
0
0
0
0
0
0
-5
-22
36
-5
58
-23
31
7
22
-8
0
0
0
0
0
0
0
0
-1
17
-7
5
-77
-22
25
-20
73
0
0
0
0
0
0
0
0
0
23
-18
-104
-107
-21
-83
-72
4
0
0
0
0
0
0
0
-1
2
0
-105
6
-69
-13
-9
-3
3
-23
0
0
0
0
0
0
0
0
-8
1
87
-41
-27
31
-107
21
-8
0
0
0
0
0
0
0
0
0
0
-6
8
-59
-9
-11
55
8
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-9
9
-11
0
0
0
0
0
0
0
0
-65
-1
17
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
-27
60
-17
0
0
0
18
-1
0
0
0
0
0
0
-2
0
-8
37
-56
37
-48
88
50
1
0
0
0
0
0
0
0
0
0
59
10
44
25
21
-22
-70
-9
0
-1
0
0
0
0
0
0
0
-13
-52
81
1
-51
-22
68
-4
11
0
0
0
0
0
0
0
0
24
0
48
-37
-22
-44
-76
-5
-7
0
0
0
0
0
0
0
-4
-1
-4
14
40
-80
-92
-25
-1
-1
0
0
0
0
0
0
0
0
0
0
0
4
5
-11
-38
-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
-5
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
18
26
-7
-2
50
0
0
0
-12
0
2
0
0
0
0
0
0
0
1
18
13
10
24
13
19
-4
-5
0
0
0
0
0
0
0
0
1
-5
-55
-43
68
23
-4
-52
0
0
0
0
0
0
0
0
0
6
5
11
22
39
-82
-4
-1
1
0
0
0
0
0
0
0
-2
-3
0
0
55
-1
108
45
13
-1
-4
0
0
0
0
0
0
0
-1
0
0
-17
-24
-100
43
60
-2
0
0
0
0
0
0
0
0
0
0
0
0
46
6
77
-55
-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
10
-9
-13
-7
0
0
0
-53
16
0
0
0
0
0
0
0
0
0
13
3
-6
0
-11
37
-1
8
-6
0
0
0
0
0
0
0
1
3
13
1
44
3
-5
-9
0
0
0
0
0
0
0
0
0
-2
0
-5
17
51
52
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
43
-51
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
16
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-61
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
-75
6
-7
16
25
-32
0
0
0
0
0
0
0
0
0
0
0
2
-90
4
-29
-8
9
-18
-4
0
0
0
0
0
0
0
0
0
1
-2
-15
-43
7
77
-7
2
0
0
0
0
0
0
0
0
0
0
0
4
-13
0
37
-25
0
0
2
0
0
0
0
0
0
0
0
0
0
-16
0
-2
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
2
3
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
37
9
-27
-16
-10
0
0
0
0
0
0
0
0
0
0
0
-32
-84
-1
67
-52
58
0
0
0
0
-1
0
0
0
0
0
0
-3
-34
116
29
-19
-5
-112
-8
42
0
0
0
0
0
0
0
0
-5
5
32
65
-55
71
-132
-101
81
1
0
0
0
0
0
0
0
-4
-109
-76
-25
27
60
-159
-81
-88
0
0
0
0
0
0
0
0
4
-2
33
27
-63
-143
-12
0
-93
0
0
0
0
0
0
0
0
1
0
-11
32
-15
-68
26
-43
49
0
-2
0
0
0
0
0
0
0
0
0
-6
-100
19
26
66
15
0
0
0
0
0
0
0
0
0
0
0
0
0
8
6
27
-7
0
0
0
0
0
0
0
0
0
-86
-11
-13
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
25
-5
-51
31
53
0
0
0
0
0
0
0
0
0
0
0
0
4
65
52
-25
2
-14
-34
-20
5
0
0
0
0
0
0
0
0
7
49
-7
-30
-50
-43
-22
-67
1
0
0
0
0
0
0
0
0
0
-1
50
-34
93
-14
-28
-52
-14
0
0
0
0
0
0
0
0
1
2
1
-72
126
15
23
0
62
0
0
0
0
0
0
0
0
0
4
0
-3
-7
26
58
-71
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-71
-18
22
-9
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
-15
-5
13
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
14
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-31
-5
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-8
0
-10
-71
-60
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
51
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
35
-6
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
14
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-27
0
0
0
0
0
0
0
0
0
0
-1
2
6
24
-6
0
0
0
0
0
0
0
0
0
0
0
-3
63
-6
8
5
75
0
0
0
0
0
0
0
0
0
0
0
-3
-22
67
-107
-42
-41
-26
-29
-13
0
0
0
0
0
0
0
0
0
14
-25
27
-3
-70
10
-4
-95
0
0
0
0
0
0
0
0
0
-21
9
-12
-55
-93
-67
-3
34
0
0
0
0
0
0
0
0
0
-14
-8
5
34
54
-63
-14
17
0
0
0
0
0
0
0
0
0
1
-6
23
-37
39
-40
-32
20
0
0
0
0
0
0
0
0
0
0
-4
0
8
-59
39
-10
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-78
7
0
0
0
0
0
0
0
0
0
2
3
-16
-17
-2
0
0
0
-1
0
0
0
0
0
0
0
47
-76
-56
23
-71
71
0
0
0
-6
0
0
0
0
0
0
0
0
-19
-43
63
73
20
-14
35
-60
3
0
0
0
0
0
0
0
1
4
-11
20
-46
3
-29
3
-26
-4
0
0
0
0
0
0
0
0
-78
130
-67
-103
-16
38
4
-8
23
0
0
0
0
0
0
0
0
-25
59
22
-12
25
16
6
-181
-14
0
0
0
0
0
0
0
0
0
-14
-21
-14
-84
11
14
-10
19
0
0
0
0
0
0
0
0
-2
-5
1
-14
6
-50
4
-51
-19
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
-4
-11
2
36
-2
0
0
0
-7
-2
0
0
0
0
0
0
0
-13
-13
-37
-23
-10
0
0
0
5
2
0
0
0
0
0
0
0
0
-71
-16
60
-26
4
35
-9
-9
0
0
0
0
0
0
0
0
-4
26
83
-24
19
102
70
-1
-15
0
0
0
0
0
0
0
0
2
-4
-110
66
-26
-28
-107
-21
-7
-2
0
0
0
0
0
0
0
-1
-3
-69
-24
-175
71
-83
-26
-15
0
0
0
0
0
0
0
0
0
0
-35
-2
-136
-53
-12
-58
-33
0
0
0
0
0
0
0
0
0
0
0
-8
-2
54
100
-84
-8
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
56
0
33
-13
47
0
0
0
0
0
0
0
0
0
0
0
0
-20
-147
82
-9
3
0
0
0
17
0
0
0
0
0
0
0
0
1
-8
-36
-23
19
-74
5
-53
-3
-3
0
0
0
0
0
0
2
-3
5
-69
23
-24
-5
-14
-72
-1
2
0
0
0
0
0
0
0
1
8
51
56
-45
-24
44
-123
0
-5
0
0
0
0
0
0
0
-1
-22
-5
74
-49
-24
-35
4
0
0
0
0
0
0
0
0
0
0
0
0
16
13
41
67
-117
-47
-6
0
0
0
0
0
0
0
0
0
0
0
-5
-25
-115
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-49
2
0
0
0
0
0
0
0
0
0
3
1
16
-2
14
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
-18
-2
9
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-8
0
0
-10
-1
-13
-1
0
0
0
0
0
0
0
0
-4
-2
18
-1
19
44
5
-7
0
-6
0
0
0
0
0
0
0
-2
1
24
-10
-20
16
-1
16
-9
0
0
0
0
0
0
0
1
0
0
2
-6
-63
-17
-71
-49
17
0
0
0
0
0
0
0
0
0
0
4
0
-22
51
-23
-23
-6
5
0
0
0
0
0
0
0
0
0
0
-18
-1
17
-21
24
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
1
1
0
0
0
0
0
0
0
0
7
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
32
9
-52
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
-31
-9
47
1
0
0
14
-1
0
0
0
0
0
0
0
0
6
-15
-5
2
13
-17
0
-1
1
0
0
0
0
0
0
0
0
0
0
-2
-21
37
-16
13
18
0
0
0
0
0
0
0
0
0
-7
-5
-22
17
-66
15
5
31
0
5
0
0
0
0
0
0
0
0
0
-11
14
0
19
-49
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
23
44
-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
-13
-7
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
1
5
0
-4
-1
-9
0
-4
0
0
0
0
0
0
0
0
2
-2
4
-7
-8
14
11
0
0
1
0
0
0
0
0
0
0
-1
0
-14
0
-18
-9
14
1
0
0
0
0
0
0
0
0
0
0
1
0
2
-70
-41
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
0
42
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
16
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
15
0
0
0
0
0
0
0
0
0
0
-16
3
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
8
32
1
-2
-5
-32
0
0
0
0
0
0
0
0
0
0
0
3
-23
7
-1
-6
-21
-105
11
32
0
0
0
0
0
0
0
0
0
0
33
25
3
-123
-13
-64
-41
0
0
0
0
0
0
0
0
-13
7
14
12
57
-48
1
-106
-155
-10
0
0
0
0
0
0
0
0
0
8
22
80
-112
24
-102
60
0
0
0
0
0
0
0
0
0
0
-4
7
-18
73
-66
0
-56
-3
0
0
0
0
0
0
0
0
0
13
0
-14
-17
-57
48
65
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-87
19
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
-25
33
-5
-16
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
-36
-8
10
-18
43
1
0
0
0
0
0
0
0
0
4
-26
9
-45
5
-50
-23
-33
35
0
0
0
0
0
0
0
0
0
-3
-64
14
-176
14
55
-48
-2
0
0
0
0
0
0
0
0
0
4
-17
-5
-8
-34
-23
-28
5
0
0
0
0
0
0
0
0
0
0
-3
8
44
30
42
0
-5
0
0
0
0
0
0
0
0
0
0
3
0
-6
-78
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
0
0
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
15
-11
0
0
0
0
0
0
0
0
0
0
0
37
3
1
-27
0
5
0
0
0
0
0
0
0
0
0
0
1
0
-1
3
-1
-33
1
0
0
0
0
0
0
0
0
0
0
0
-7
-3
10
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-18
-66
-3
43
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-13
-33
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-77
-2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-22
-42
-24
-41
-85
-10
0
0
0
0
0
0
0
0
0
-3
-14
22
-122
23
-58
15
1
0
0
0
0
0
0
0
0
0
-14
0
-33
-21
17
-15
16
-33
0
0
0
0
0
0
0
0
0
0
-5
52
-52
-5
50
-18
-53
0
0
0
0
0
0
0
0
0
0
2
-46
10
-42
46
-22
24
0
0
0
0
0
0
0
0
0
1
-1
0
-26
34
35
-29
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-50
56
23
0
0
0
0
0
0
0
0
0
-3
0
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-53
-29
2
15
0
0
0
0
0
0
0
0
0
0
0
0
-2
85
-46
-9
42
-27
20
-48
0
0
0
0
0
0
0
0
0
-1
-2
66
-104
59
-48
-79
-32
0
0
0
0
0
0
0
0
0
-5
5
26
-53
35
-33
21
1
-15
0
0
0
0
0
0
0
1
-1
-2
31
-157
-11
-38
-70
-18
4
0
0
0
0
0
0
0
0
0
0
-7
50
-120
-62
-117
-45
-4
0
0
0
0
0
0
0
0
0
0
0
-24
-23
62
4
-44
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-12
25
-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
-45
1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-100
11
71
0
27
14
-36
-1
0
0
0
0
0
0
0
0
5
-64
-71
9
-2
-11
14
-14
2
0
0
0
0
0
0
0
0
0
-2
0
62
21
10
-37
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-90
3
6
-6
-37
5
0
0
0
0
0
0
0
0
0
3
15
5
-47
-56
-41
-56
-3
0
0
0
0
0
0
0
0
0
0
10
11
5
56
-71
18
37
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
37
-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
3
-4
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
5
32
0
0
0
17
0
-1
0
0
0
0
0
0
0
0
11
-39
1
-18
0
17
12
2
0
0
0
0
0
0
0
0
0
0
0
14
-34
-48
-41
-31
6
0
0
0
0
0
0
0
0
-2
0
0
1
-66
-20
-45
-14
0
0
0
0
0
0
0
0
0
0
2
0
-5
14
-35
-110
-69
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-1
5
5
32
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-35
-19
6
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
-33
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
5
-7
41
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-7
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
3
5
35
4
4
0
0
1
0
0
0
0
0
0
0
0
0
-1
-64
-10
-10
-8
-34
5
0
0
0
0
0
0
0
0
0
0
8
0
-16
-11
-33
-80
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-1
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
9
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-7
3
-25
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
-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
-1
-10
23
0
2
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-59
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
1
-24
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-8
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
26
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
-5
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
8
-5
-18
3
-7
-17
0
0
0
0
0
0
0
0
0
0
1
12
-44
41
-99
-33
-29
0
0
0
0
0
0
0
0
0
0
0
-10
-49
4
59
-19
-37
0
0
0
0
0
0
0
0
0
0
0
15
-16
-34
-10
20
-14
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
58
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
5
8
-2
-2
-2
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
-23
-9
-17
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-48
-9
1
0
-1
0
0
0
0
0
0
0
0
0
-31
0
0
10
-55
-21
-6
0
0
0
0
0
0
0
0
0
0
0
0
5
14
-24
26
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
9
-2
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
1
0
16
-6
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-52
-67
-34
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
-48
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
-10
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
-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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
5
185
-59
-35
8
0
0
0
0
0
0
0
0
0
0
2
58
-23
63
18
80
-44
0
0
0
0
0
0
0
0
0
0
53
80
24
65
24
-54
-25
1
0
0
0
0
0
0
0
0
0
5
44
18
46
56
-14
0
0
0
0
0
0
0
0
0
0
0
3
10
27
32
-7
-1
1
1
0
0
0
0
0
0
0
0
0
-5
-43
28
-48
-1
4
-3
0
0
0
0
0
0
0
0
0
0
-36
-20
36
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
-5
-34
-17
-106
57
0
0
0
0
0
0
0
0
0
61
-41
32
-1
-6
-28
-74
-32
-16
0
0
0
0
0
0
0
0
30
-2
-17
1
36
5
-94
-17
-15
0
0
0
0
0
0
0
0
148
-134
24
42
-91
11
-34
43
-22
0
0
0
0
0
0
0
0
90
64
51
76
0
-63
-36
-35
51
0
0
0
0
0
0
0
0
-106
32
89
-59
-96
18
-27
6
-40
-3
0
0
0
0
0
0
0
-63
71
-9
2
33
-5
22
-1
-18
0
0
0
0
0
0
0
0
26
-76
-22
-38
5
76
0
-30
0
0
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
-2
43
-55
-42
-28
0
-9
0
0
0
0
0
0
0
-14
25
-31
37
29
12
-91
-51
-51
-13
0
0
0
0
0
0
0
2
-28
-33
64
-45
34
1
4
40
-5
0
0
0
0
0
0
0
105
-12
1
19
72
-53
88
-24
4
-10
0
0
0
0
0
0
0
-1
-84
22
-36
-30
0
79
-73
24
-23
0
0
0
0
0
0
0
5
-60
43
42
-75
124
-5
20
-10
-6
0
0
0
0
0
0
0
-11
-13
-43
-48
-76
77
-101
68
13
14
0
0
0
0
0
0
0
-2
11
50
-45
42
-8
-60
1
-36
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
-3
-11
0
0
-5
-29
-15
-39
0
6
0
0
0
0
0
0
0
-33
-59
-4
37
47
6
-33
28
-11
2
0
0
0
0
0
0
0
17
66
62
-48
15
58
25
-55
-7
4
0
0
0
0
0
0
0
36
-40
71
-53
9
96
62
34
14
14
0
0
0
0
0
0
0
110
0
53
-67
-7
-89
19
23
109
34
0
0
0
0
0
0
0
5
50
-5
-6
49
-34
2
-26
5
-5
0
0
0
0
0
0
0
14
-9
39
-1
-50
5
-7
3
-18
0
0
0
0
0
0
0
0
-10
-118
6
-24
-43
-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
4
-63
-85
1
0
-1
76
53
0
0
0
0
0
0
0
0
0
-20
-55
66
-55
22
-10
-57
-57
39
0
0
0
0
0
0
0
0
10
-52
62
22
-33
14
54
57
-30
1
0
0
0
0
0
0
0
-60
22
-19
81
34
-70
-23
-16
-6
-1
0
0
0
0
0
0
0
-2
65
-99
-53
-3
-36
-42
48
-10
43
0
0
0
0
0
0
0
15
-66
28
-32
-54
-27
-102
3
4
15
0
0
0
0
0
0
0
-1
-113
-62
45
-25
22
-32
-21
-10
0
0
0
0
0
0
0
0
1
15
43
24
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
27
0
0
0
14
0
0
0
0
0
0
0
0
0
23
107
105
-29
26
0
-5
63
17
0
0
0
0
0
0
0
0
6
105
-15
32
135
35
37
7
19
-1
0
0
0
0
0
0
0
-1
43
86
-62
6
-33
13
-20
5
0
0
0
0
0
0
0
0
-10
43
-5
17
-9
56
-6
-2
-5
0
0
0
0
0
0
0
0
1
29
52
2
35
-19
0
-7
-2
-6
0
0
0
0
0
0
0
-7
-43
1
1
-3
2
0
2
1
0
0
0
0
0
0
0
0
0
20
-10
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
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
25
59
5
0
-4
0
-5
0
0
0
0
0
0
0
0
0
-2
43
-49
33
40
0
4
0
0
0
0
0
0
0
0
0
0
-3
13
-25
4
-4
-55
0
-2
0
0
0
0
0
0
0
0
0
-14
0
5
-5
1
-8
0
9
-4
0
0
0
0
0
0
0
0
-3
2
-5
44
-2
-2
0
-4
0
0
0
0
0
0
0
0
0
-16
-5
4
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
10
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
5
1
-57
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
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
-9
-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
-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
78
5
-33
-50
62
-11
-8
0
0
0
0
0
0
0
0
0
33
12
20
-1
64
101
-13
-45
0
0
0
0
0
0
0
0
0
-109
41
49
53
-44
138
-8
1
-5
0
0
0
0
0
0
0
0
32
23
-15
37
52
65
-57
3
0
0
0
0
0
0
0
0
0
-7
74
21
-11
35
58
6
9
0
0
0
0
0
0
0
0
0
20
50
104
-22
-46
82
1
-11
0
0
0
0
0
0
0
0
0
22
26
10
31
-4
0
0
-6
0
0
0
0
0
0
0
0
0
5
0
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-18
33
89
58
14
-3
-4
0
0
0
0
0
0
0
0
0
57
-6
97
-15
-65
10
-36
28
2
0
0
0
0
0
0
0
0
101
85
31
32
-18
-29
-17
-30
57
10
0
0
0
0
0
0
0
144
-20
5
-35
42
75
33
-26
-5
0
0
0
0
0
0
0
0
73
-29
17
-5
-13
24
-24
-20
-30
4
0
0
0
0
0
0
0
-74
37
139
2
6
-20
-26
14
2
0
0
0
0
0
0
0
0
30
64
7
-54
-86
-85
-1
7
-59
0
0
0
0
0
0
0
0
33
21
7
54
-15
-5
0
3
-2
0
0
0
0
0
0
0
0
4
4
-50
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
66
-6
9
-25
-77
-68
-66
0
2
0
0
0
0
0
0
0
55
43
9
64
76
5
-55
35
-58
-1
0
0
0
0
0
0
0
60
-71
-18
-56
-17
161
15
14
-60
-20
0
0
0
0
0
0
0
20
32
31
-10
75
-35
19
-55
-2
11
-1
0
0
0
0
0
0
41
-5
-15
75
-33
-50
-1
-123
-19
-30
0
0
0
0
0
0
0
-14
36
-107
-140
57
-84
60
11
79
30
0
0
0
0
0
0
0
41
-70
-42
90
88
73
32
-33
-10
0
0
0
0
0
0
0
0
0
-14
-38
19
14
91
-9
24
1
0
0
0
0
0
0
0
0
0
-25
-9
-9
1
0
5
0
0
0
0
0
0
0
0
0
0
4
-44
113
-7
108
-46
80
-11
0
-4
0
0
0
0
0
0
0
-5
33
106
-3
17
131
73
-48
-26
2
-3
0
0
0
0
0
0
-60
-34
10
-44
24
-44
10
-21
-44
5
0
0
0
0
0
0
0
-1
-4
77
56
121
112
119
53
115
-2
0
0
0
0
0
0
0
40
-43
24
-6
-10
-40
76
3
53
3
0
0
0
0
0
0
0
-34
20
10
38
-28
54
-47
66
-6
2
0
0
0
0
0
0
0
49
9
-117
-73
43
76
-8
33
-2
0
0
0
0
0
0
0
0
-3
-13
-74
15
-10
5
5
-1
0
0
0
0
0
0
0
0
0
2
-8
-6
0
13
7
0
0
0
0
0
0
0
0
0
0
0
-6
24
123
120
0
-72
5
-81
0
0
0
0
0
0
0
0
0
1
5
-25
150
-38
-80
-26
-19
9
0
0
0
0
0
0
0
0
-9
10
-26
93
-23
-3
53
-157
52
-5
0
0
0
0
0
0
0
-23
-47
19
30
-69
74
-24
-3
14
60
0
0
0
0
0
0
0
-9
-74
-31
-2
-4
-24
-27
-4
-51
-18
4
0
0
0
0
0
0
-15
-31
23
-14
-21
-29
28
-65
-51
-5
0
0
0
0
0
0
0
-10
13
29
-66
-44
-34
17
2
64
-7
0
0
0
0
0
0
0
-3
-94
-17
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
48
61
118
-106
-33
4
-129
-30
0
1
0
0
0
0
0
0
0
6
-16
24
2
177
-18
21
52
-33
-1
-1
0
0
0
0
0
0
-39
71
94
30
14
33
-4
12
35
-3
0
0
0
0
0
0
0
-36
-62
138
74
-13
40
-21
5
-10
0
0
0
0
0
0
0
0
69
85
45
-3
19
64
-60
46
1
17
0
0
0
0
0
0
0
24
73
133
71
53
27
5
-37
-3
0
0
0
0
0
0
0
0
33
-15
98
111
56
31
-77
-18
-6
0
0
0
0
0
0
0
0
0
-80
3
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
-29
102
61
35
-45
-4
1
0
-1
0
0
0
0
0
0
0
0
-26
73
51
-10
-80
-17
14
9
0
0
0
0
0
0
0
0
0
40
-24
44
53
32
45
7
-6
-3
0
0
0
0
0
0
0
0
26
96
133
71
14
24
6
2
-14
0
0
0
0
0
0
0
0
92
-3
-3
-11
-3
15
15
-4
2
0
0
0
0
0
0
0
0
38
-4
-82
-55
29
-17
7
-5
-5
0
0
0
0
0
0
0
0
4
53
-17
3
1
-6
7
2
0
0
0
0
0
0
0
0
0
71
14
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
-23
-35
-41
-2
-1
0
1
0
0
0
0
0
0
0
0
0
-3
26
-9
1
-14
-10
1
0
-1
0
0
0
0
0
0
0
0
5
5
1
0
-3
3
0
-9
0
0
0
0
0
0
0
0
-4
0
18
10
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
-17
0
-6
0
-2
11
0
0
0
0
0
0
0
0
0
0
29
18
-29
5
-14
43
0
-2
0
0
0
0
0
0
0
0
0
-1
-13
-5
-4
43
-18
4
1
0
0
0
0
0
0
0
0
0
-9
44
-3
21
-1
-2
1
0
0
0
0
0
0
0
0
0
0
15
1
-41
-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
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
11
-7
20
58
52
-32
0
-2
0
0
0
0
0
0
0
0
0
31
5
-15
120
142
8
28
-1
0
0
0
0
0
0
0
0
0
43
-17
89
-17
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
-5
6
-7
5
10
0
1
1
0
0
0
0
0
0
0
0
0
3
9
35
18
27
0
-6
0
0
0
0
0
0
0
0
0
0
1
2
-6
10
-8
-5
0
0
0
0
0
0
0
0
0
0
0
1
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
-95
-33
-1
0
0
0
0
0
0
0
0
0
0
0
5
20
9
-35
-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
-14
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
114
33
-18
45
-2
2
0
0
0
0
0
0
0
0
0
19
69
23
-57
-100
-7
-23
14
0
0
0
0
0
0
0
0
0
-19
56
6
11
-21
0
14
8
-11
0
0
0
0
0
0
0
0
-5
109
-30
23
37
70
-14
23
0
0
0
0
0
0
0
0
0
-23
-6
-22
128
-6
25
5
0
2
0
0
0
0
0
0
0
0
34
13
55
55
2
-23
0
-2
0
0
0
0
0
0
0
0
0
-13
-4
-71
-14
-9
-2
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-1
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
28
51
79
-42
-3
48
-97
-33
0
0
0
0
0
0
0
0
0
91
2
42
-8
0
-71
63
20
-19
0
0
0
0
0
0
0
0
-21
76
69
52
-24
18
24
-53
58
22
0
0
0
0
0
0
0
-17
-35
-34
-27
-30
-60
-23
38
-19
0
0
0
0
0
0
0
0
-4
19
-93
-5
158
6
40
46
59
13
0
0
0
0
0
0
0
-52
-88
-35
-62
-24
-59
86
-88
-71
1
0
0
0
0
0
0
0
104
3
-63
7
62
62
-21
-71
-2
0
0
0
0
0
0
0
0
53
-56
41
-9
5
-10
0
-4
-2
0
0
0
0
0
0
0
0
-56
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-13
33
74
27
-36
-124
58
0
-13
0
0
0
0
0
0
0
-50
13
91
54
-77
15
-79
6
-78
0
-4
0
0
0
0
0
0
70
5
2
25
-8
-29
-14
-26
-76
-10
0
0
0
0
0
0
0
3
108
-81
53
16
32
-120
-32
74
21
0
0
0
0
0
0
0
47
32
-81
22
-1
-3
-58
125
9
8
0
0
0
0
0
0
0
-53
23
-2
89
42
20
33
-24
-15
-8
0
0
0
0
0
0
0
69
106
58
-64
27
-52
-11
-6
15
-3
0
0
0
0
0
0
0
0
82
29
-27
-47
-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
-33
-1
43
6
21
6
25
81
0
0
0
0
0
0
0
0
0
22
95
66
-25
-61
57
-19
-9
20
0
0
0
0
0
0
0
0
36
52
68
25
-44
92
50
85
49
2
0
0
0
0
0
0
0
20
-56
16
-53
-28
-45
54
115
22
-1
0
0
0
0
0
0
0
-8
-24
68
7
-25
28
48
-11
65
2
0
0
0
0
0
0
0
20
-89
-1
5
22
-5
3
9
4
0
0
0
0
0
0
0
0
-5
36
20
47
-18
-32
5
-5
11
0
0
0
0
0
0
0
0
24
-10
68
-5
-2
10
0
1
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
11
24
94
-2
47
2
32
-31
0
0
0
0
0
0
0
0
0
-57
-26
42
-46
-45
27
-55
-22
-50
-7
2
0
0
0
0
0
0
14
11
57
-34
39
14
-13
-26
-45
33
0
0
0
0
0
0
0
120
-53
-27
-18
-28
67
69
49
62
-15
0
0
0
0
0
0
0
31
-112
27
-26
62
13
48
-77
15
-7
0
0
0
0
0
0
0
-11
11
76
66
11
-34
-97
-32
-2
-4
0
0
0
0
0
0
0
-6
-1
-45
-76
-21
26
19
0
0
0
0
0
0
0
0
0
0
23
-59
-31
-16
0
0
3
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
-15
-70
-8
-49
121
79
13
-43
0
-2
0
0
0
0
0
0
0
23
-117
109
-80
9
5
22
95
-6
0
0
0
0
0
0
0
0
-40
14
52
12
33
-15
-72
4
-13
2
0
0
0
0
0
0
0
-66
-82
75
-194
46
-45
-57
66
-17
6
0
0
0
0
0
0
0
34
-55
5
21
-2
25
19
7
-26
-1
0
0
0
0
0
0
0
-44
-20
129
-3
12
26
43
-5
0
0
0
0
0
0
0
0
0
24
5
5
-19
-1
-2
-4
2
7
0
0
0
0
0
0
0
0
0
-36
-9
33
0
0
0
5
0
0
0
0
0
0
0
0
0
9
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
-31
8
-51
-1
17
0
-14
0
0
0
0
0
0
0
-5
-1
61
12
-39
-52
-1
-62
45
0
4
0
0
0
0
0
0
0
-36
7
-16
44
-43
21
1
3
-1
0
0
0
0
0
0
0
0
85
-59
-28
-107
-61
4
5
7
6
0
0
0
0
0
0
0
0
-60
23
-31
13
-7
-27
8
4
0
0
0
0
0
0
0
0
3
-60
-17
-24
15
-5
3
4
0
0
0
0
0
0
0
0
0
0
53
-13
57
-18
-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
-36
-18
19
5
-44
19
0
-1
0
0
0
0
0
0
0
-3
-33
28
18
46
-11
-23
-9
0
0
0
0
0
0
0
0
0
-18
25
-53
17
-32
-3
2
6
0
0
0
0
0
0
0
0
0
-49
-2
-35
33
24
-18
-4
-3
3
0
0
0
0
0
0
0
0
1
-5
1
6
-13
9
13
0
0
0
0
0
0
0
0
0
0
2
-4
-16
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-7
4
-17
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
-18
27
74
-52
-29
61
14
-5
0
0
0
0
0
0
0
0
0
-27
0
30
29
-59
5
130
-14
3
0
0
0
0
0
0
0
0
-47
25
92
-49
-4
5
22
0
0
0
0
0
0
0
0
0
0
-61
-32
-4
12
84
-53
0
0
0
0
0
0
0
0
0
0
0
1
11
14
-7
-3
-5
0
0
-2
0
0
0
0
0
0
0
0
-57
18
0
5
-18
5
0
1
0
0
0
0
0
0
0
0
0
0
13
-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
16
-27
-15
-107
30
72
64
0
-2
0
0
0
0
0
0
0
0
-49
-78
38
-46
-15
1
20
27
0
0
0
0
0
0
0
0
0
30
0
65
82
34
-14
-32
3
0
0
0
0
0
0
0
0
0
-23
-34
-29
4
-30
12
36
-4
0
0
0
0
0
0
0
0
0
23
-43
13
-39
-17
-7
-1
4
0
0
0
0
0
0
0
0
0
128
25
-28
-8
-16
2
11
0
0
0
0
0
0
0
0
0
0
36
-14
-43
7
0
0
1
-1
0
0
0
0
0
0
0
0
0
52
-7
-19
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-17
2
2
0
-1
0
0
0
0
0
0
0
0
0
-25
3
-10
45
47
2
2
0
0
0
0
0
0
0
0
0
0
61
-9
-10
-31
36
2
13
0
0
0
0
0
0
0
0
0
0
4
-4
5
-10
-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
-18
0
0
0
0
0
0
0
0
0
0
2
1
18
-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
89
-54
23
-9
54
-6
0
0
0
0
0
0
0
0
0
0
-9
8
5
5
-5
-34
41
41
0
0
0
0
0
0
0
0
0
11
-59
43
4
-48
-14
-4
20
6
0
0
0
0
0
0
0
0
10
7
8
8
18
27
0
-1
2
0
0
0
0
0
0
0
0
0
73
65
-40
-7
-18
-7
0
0
0
0
0
0
0
0
0
0
-14
99
-17
-53
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-31
137
-21
13
-2
0
0
0
0
0
0
0
0
0
0
0
18
48
47
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
-42
6
-61
47
-15
-98
-53
-70
0
0
0
0
0
0
0
0
0
33
-32
-23
-23
39
69
6
-43
-16
-3
0
0
0
0
0
0
0
71
-19
-36
-39
1
-10
67
-81
-45
-10
0
0
0
0
0
0
0
59
7
17
-27
25
44
-62
-3
18
0
0
0
0
0
0
0
0
-82
5
-4
-94
-23
128
44
5
1
0
0
0
0
0
0
0
0
78
-44
23
25
52
22
5
1
-65
-5
0
0
0
0
0
0
0
-37
-51
1
-67
-52
18
-80
-34
4
0
0
0
0
0
0
0
0
-21
97
11
21
-17
26
4
-3
0
0
0
0
0
0
0
0
0
-73
-17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-29
57
-55
-60
68
42
-57
0
-2
0
0
0
0
0
0
0
18
90
41
-3
0
-8
-4
23
81
4
4
0
0
0
0
0
0
38
35
-60
-43
57
-19
133
0
49
0
0
0
0
0
0
0
0
-28
46
-42
-6
11
-62
32
-6
158
-1
0
0
0
0
0
0
0
39
-14
-58
-6
-34
-76
-57
-31
-68
5
0
0
0
0
0
0
0
11
35
43
42
109
-30
98
14
-33
0
0
0
0
0
0
0
0
62
-138
-3
-7
-11
-55
-45
10
5
0
0
0
0
0
0
0
0
-79
-8
-104
-8
48
26
1
-1
0
0
0
0
0
0
0
0
0
-76
-45
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
16
-18
7
29
89
22
0
4
0
0
0
0
0
0
0
53
-12
97
39
60
68
23
-67
5
-1
-2
0
0
0
0
0
0
-50
-62
50
-6
14
23
17
-14
-21
36
0
0
0
0
0
0
0
101
107
27
-5
19
1
18
-3
60
6
0
0
0
0
0
0
0
23
-24
-7
-20
-5
27
13
20
17
0
0
0
0
0
0
0
0
48
41
57
-50
-65
-45
30
13
2
-5
0
0
0
0
0
0
0
-23
-39
29
-55
65
4
-1
0
-2
0
0
0
0
0
0
0
0
-22
9
20
18
6
3
0
0
-3
0
0
0
0
0
0
0
0
23
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
83
81
13
80
-52
-29
25
0
0
0
0
0
0
0
0
0
29
-105
-48
56
63
130
-7
-1
-36
7
0
0
0
0
0
0
0
-21
-65
-14
-20
2
7
13
33
-4
-1
0
0
0
0
0
0
0
16
43
-25
32
32
-18
85
0
-113
-5
0
0
0
0
0
0
0
4
-2
-57
-10
3
3
-57
50
-3
17
0
0
0
0
0
0
0
26
38
-33
53
-74
35
18
-37
-18
2
0
0
0
0
0
0
0
58
11
12
32
22
4
-18
0
3
0
0
0
0
0
0
0
0
-2
-24
72
-98
0
-1
0
0
2
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
16
-30
31
-15
18
16
27
66
0
0
0
0
0
0
0
0
0
-6
78
-75
-67
102
-34
-53
23
19
1
0
0
0
0
0
0
0
18
-82
-9
-19
-39
-18
-5
105
15
8
0
0
0
0
0
0
0
49
-30
-27
-24
-35
2
-1
8
-3
0
0
0
0
0
0
0
0
31
45
67
-59
-43
4
2
-9
-3
0
0
0
0
0
0
0
0
-4
-106
13
61
100
0
-25
5
3
0
0
0
0
0
0
0
0
-2
-20
86
37
33
3
-9
4
0
0
0
0
0
0
0
0
0
16
-50
-19
-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
33
0
-18
108
-53
0
9
0
0
0
0
0
0
0
0
0
0
2
2
5
86
29
92
21
10
0
0
0
0
0
0
0
0
0
28
-68
1
36
11
5
14
6
0
0
0
0
0
0
0
0
0
-43
-73
-10
-33
-4
2
0
-3
0
0
0
0
0
0
0
0
0
68
26
-98
18
-25
0
-1
-7
-1
0
0
0
0
0
0
0
0
57
-5
25
6
-20
5
3
0
0
0
0
0
0
0
0
0
0
-71
32
-1
4
1
5
0
-9
0
0
0
0
0
0
0
0
0
5
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
-9
-1
-3
2
39
-19
-10
0
0
0
0
0
0
0
0
0
-25
20
3
49
-43
51
-17
26
-33
0
0
0
0
0
0
0
0
-5
-5
44
-53
15
-59
-33
0
-4
2
0
0
0
0
0
0
0
-34
2
-7
-41
-4
-8
-1
0
0
0
0
0
0
0
0
0
0
-23
-14
-4
-56
-3
20
-32
0
-4
0
0
0
0
0
0
0
0
14
0
-15
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
15
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
20
-51
-86
-43
33
-4
34
17
0
0
0
0
0
0
0
0
0
-5
-1
-98
10
35
111
-97
51
-6
2
0
0
0
0
0
0
0
39
23
-5
-102
-101
70
-26
23
2
0
0
0
0
0
0
0
0
-5
-95
-14
-62
-12
19
60
-1
0
0
0
0
0
0
0
0
0
-46
19
-24
-35
74
45
44
-3
0
0
0
0
0
0
0
0
0
-58
-58
10
-21
-25
-1
-4
-3
1
-1
0
0
0
0
0
0
0
-23
36
35
21
23
-18
0
0
1
0
0
0
0
0
0
0
0
5
-33
-6
14
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
-74
-71
26
-102
61
130
92
0
0
0
0
0
0
0
0
0
0
14
12
-13
-37
-11
-2
-23
54
0
0
0
0
0
0
0
0
0
72
-64
-62
83
11
55
35
-16
0
0
0
0
0
0
0
0
0
-59
-51
-162
87
-6
-61
-12
0
0
0
0
0
0
0
0
0
0
-9
-110
-14
-121
-76
-48
-5
0
0
0
0
0
0
0
0
0
0
-98
36
4
68
35
-3
8
7
0
0
0
0
0
0
0
0
0
-110
7
95
-5
4
-2
-7
4
-5
0
0
0
0
0
0
0
0
-126
-10
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
-3
0
0
0
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
8
3
20
17
14
3
-1
-3
0
0
0
0
0
0
0
0
0
4
1
-55
-4
-43
5
0
0
0
0
0
0
0
0
0
0
0
2
-6
-16
-34
-2
-9
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
2
-8
53
-34
45
1
0
0
0
0
0
0
0
0
0
5
28
33
31
45
2
-65
-11
0
0
0
0
0
0
0
0
0
-9
9
-147
43
7
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-24
-1
-3
-3
0
0
0
0
0
0
0
0
0
-2
75
-63
48
-9
1
-4
-1
0
0
0
0
0
0
0
0
0
19
9
29
-63
-7
0
0
0
0
0
0
0
0
0
0
0
0
-28
18
-22
4
9
2
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
50
32
-43
-25
-5
28
-101
20
0
0
0
0
0
0
0
0
0
-71
55
-34
65
4
82
100
86
-4
0
0
0
0
0
0
0
0
-16
-24
-7
-63
-61
15
-17
10
2
0
0
0
0
0
0
0
0
-15
-19
54
-89
62
-50
29
21
24
0
0
0
0
0
0
0
0
-2
0
-2
98
-8
-90
17
-17
5
0
0
0
0
0
0
0
0
37
5
15
-132
-84
-33
-3
50
-11
0
0
0
0
0
0
0
0
-7
52
28
60
-7
75
-32
4
-6
0
0
0
0
0
0
0
0
63
-27
17
-24
4
-36
1
-5
0
0
0
0
0
0
0
0
0
-89
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-21
-71
-42
-150
-41
-3
42
0
0
0
0
0
0
0
0
0
5
-58
1
24
-5
101
-143
-11
-32
2
2
0
0
0
0
0
0
13
-18
-56
-21
29
29
86
-14
34
1
0
0
0
0
0
0
0
37
63
-33
27
-15
-23
-8
20
-42
0
0
0
0
0
0
0
0
0
14
0
-39
-52
-71
-20
-4
15
0
0
0
0
0
0
0
0
22
29
-8
6
-97
65
37
9
20
-2
0
0
0
0
0
0
0
5
35
21
24
-69
22
5
-31
-2
-7
0
0
0
0
0
0
0
77
20
15
-39
37
6
-2
-5
-4
0
0
0
0
0
0
0
0
27
-14
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-10
93
54
70
-42
32
47
0
0
0
0
0
0
0
0
0
14
14
7
1
28
10
12
72
-1
0
0
0
0
0
0
0
0
-26
41
-62
96
47
24
-9
-29
20
-2
0
0
0
0
0
0
0
39
-140
21
-9
-1
45
-49
0
40
2
0
0
0
0
0
0
0
-20
59
0
0
1
-19
60
16
-13
0
0
0
0
0
0
0
0
-59
-55
44
1
78
-57
59
-8
3
0
0
0
0
0
0
0
0
-3
8
41
2
57
-4
58
0
1
0
0
0
0
0
0
0
0
2
12
-31
6
-3
-2
0
0
2
0
0
0
0
0
0
0
0
62
-3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-52
-44
-7
64
-32
-3
0
3
0
0
0
0
0
0
0
5
30
73
-5
-91
-46
-49
-19
16
-4
0
0
0
0
0
0
0
25
-159
-75
-17
24
-42
35
27
59
-6
0
0
0
0
0
0
0
8
-26
30
-4
-3
-56
-4
1
5
-1
0
0
0
0
0
0
0
-1
44
-12
-2
0
5
4
-52
11
1
0
0
0
0
0
0
0
-13
116
79
17
3
0
-53
6
56
2
0
0
0
0
0
0
0
0
7
-6
110
1
-2
-1
-9
0
0
0
0
0
0
0
0
0
-2
60
-18
-15
0
3
0
0
0
0
0
0
0
0
0
0
0
5
23
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
5
32
-24
-20
-8
-19
0
0
0
0
0
0
0
0
0
-4
42
15
51
-2
5
115
-23
-21
1
0
0
0
0
0
0
0
19
59
-51
-13
100
-3
-13
17
2
-4
0
0
0
0
0
0
0
39
-81
-44
15
29
-2
6
4
-3
-3
0
0
0
0
0
0
0
-6
-71
-34
-32
0
0
0
9
3
0
0
0
0
0
0
0
0
5
175
-53
-41
60
0
0
0
3
0
0
0
0
0
0
0
0
-23
92
49
23
16
2
-2
0
-1
0
0
0
0
0
0
0
0
-4
5
-9
29
-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
44
-22
-43
-11
-18
0
-3
0
0
0
0
0
0
0
0
-52
32
0
55
-36
-44
52
4
0
0
0
0
0
0
0
0
0
42
-58
69
-14
27
89
1
-2
-2
0
0
0
0
0
0
0
0
-59
55
-24
-14
18
0
2
0
4
0
0
0
0
0
0
0
0
-5
11
2
19
0
0
0
6
0
0
0
0
0
0
0
0
0
-54
20
120
14
6
0
0
0
0
0
0
0
0
0
0
0
0
24
-22
17
4
5
0
0
0
2
0
0
0
0
0
0
0
-10
44
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
7
0
45
0
-56
16
23
4
0
0
0
0
0
0
0
0
0
35
-45
-32
-42
-40
-9
11
6
-14
0
0
0
0
0
0
0
0
54
19
27
52
66
-48
-18
-9
10
-4
0
0
0
0
0
0
0
-24
-29
49
-56
-4
-17
0
1
-3
0
0
0
0
0
0
0
0
0
37
9
4
-27
3
0
0
0
0
0
0
0
0
0
0
0
31
1
5
61
-53
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-5
-16
0
0
0
0
0
0
0
0
0
0
0
0
-32
-11
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-17
31
7
9
74
17
43
0
-1
0
0
0
0
0
0
0
-101
-78
-47
-39
-11
-34
-13
90
-46
-11
0
0
0
0
0
0
0
37
-19
-32
36
-18
106
53
-164
-50
4
0
0
0
0
0
0
0
-33
23
-12
-77
-80
-10
-40
-20
1
5
0
0
0
0
0
0
0
59
28
-28
-7
97
-100
-14
0
0
0
0
0
0
0
0
0
0
-24
24
79
82
-28
49
-20
0
0
0
0
0
0
0
0
0
0
-33
-129
-83
-19
32
-24
7
0
-9
0
0
0
0
0
0
0
0
-3
25
-29
0
0
0
0
0
20
0
0
0
0
0
0
0
0
60
7
-10
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
-93
-42
68
6
34
69
0
0
0
0
0
0
0
0
0
0
-139
-35
-7
-29
43
18
55
-5
-5
0
0
0
0
0
0
0
0
27
-58
58
-42
-109
44
106
63
1
0
0
0
0
0
0
0
0
-5
-13
-49
46
-93
-24
163
-10
0
0
0
0
0
0
0
0
0
-63
-5
-73
6
-188
-34
30
0
0
0
0
0
0
0
0
0
0
-10
-33
29
41
29
104
52
1
0
0
0
0
0
0
0
0
0
36
-48
-14
-64
-51
6
1
-3
-2
0
0
0
0
0
0
0
0
33
66
-65
-6
23
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
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
25
7
0
10
2
2
0
0
0
0
0
0
0
0
0
-18
4
14
8
0
-43
0
0
0
0
0
0
0
0
0
0
0
4
0
13
-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
-9
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
-3
-21
-1
0
0
18
0
0
0
0
0
0
0
0
0
0
-9
6
34
-36
-5
-20
2
11
0
0
0
0
0
0
0
0
0
-25
-16
47
-9
-2
0
7
0
0
0
0
0
0
0
0
0
0
-2
-8
27
3
-2
17
-1
0
0
0
0
0
0
0
0
0
0
0
-20
85
-29
36
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-11
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
20
8
0
-1
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
68
-27
14
-4
-2
84
10
0
0
0
0
0
0
0
0
0
-127
-153
5
102
48
-123
-6
-25
-2
-4
0
0
0
0
0
0
0
-3
56
-46
61
46
-23
-17
-73
13
0
0
0
0
0
0
0
0
33
-29
-38
-51
-89
-59
-30
47
-11
0
0
0
0
0
0
0
0
17
0
-20
20
5
-59
-27
-34
-79
0
0
0
0
0
0
0
0
0
0
-1
42
-33
187
45
0
23
0
0
0
0
0
0
0
0
5
0
50
-92
-12
-82
45
-3
-6
0
0
0
0
0
0
0
0
10
-11
-5
-1
-100
16
0
0
0
0
0
0
0
0
0
0
0
-19
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
18
10
-23
14
14
0
1
0
0
0
0
0
0
0
0
0
-4
66
-39
18
-12
-13
97
11
-25
18
0
0
0
0
0
0
0
33
-12
24
-28
-11
-24
-35
-16
-4
0
0
0
0
0
0
0
0
-1
-12
86
-13
-71
30
37
-14
1
-1
0
0
0
0
0
0
0
0
37
0
23
17
-70
0
14
28
0
0
0
0
0
0
0
0
-14
18
0
5
50
48
9
39
-18
-2
0
0
0
0
0
0
0
-17
23
-4
2
-52
8
53
-5
-1
0
0
0
0
0
0
0
0
9
-7
5
-50
14
-11
0
3
0
0
0
0
0
0
0
0
0
22
-33
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
-7
-36
91
5
52
-8
0
0
0
0
0
0
0
0
0
27
95
12
53
31
-25
-51
4
-1
0
-4
0
0
0
0
0
0
24
29
25
57
11
6
-14
-39
3
0
0
0
0
0
0
0
0
6
70
43
-48
49
93
-39
56
2
-3
0
0
0
0
0
0
0
27
80
-62
-1
29
52
-50
-4
-3
0
0
0
0
0
0
0
0
-2
47
0
0
-5
-3
109
-10
-14
0
0
0
0
0
0
0
0
-49
-95
128
0
6
-5
4
0
1
0
0
0
0
0
0
0
0
-37
-58
33
2
3
0
0
0
1
0
0
0
0
0
0
0
0
-22
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-49
86
2
-58
-46
3
12
0
0
0
0
0
0
0
0
0
0
-12
-33
-46
9
97
12
40
-1
0
0
0
0
0
0
0
0
52
61
1
-32
131
-29
-13
-43
25
-3
0
0
0
0
0
0
0
1
153
28
8
-4
-38
-6
18
0
-1
0
0
0
0
0
0
0
-1
20
-89
-27
-9
26
-82
-28
32
0
0
0
0
0
0
0
0
-15
-31
61
-1
0
25
0
3
-10
0
0
0
0
0
0
0
0
-26
4
-60
30
1
-4
-19
-7
-14
0
0
0
0
0
0
0
0
26
83
77
-13
0
-2
0
-4
0
0
0
0
0
0
0
0
0
-74
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-77
14
7
4
-62
-21
0
0
0
0
0
0
0
0
0
3
126
-10
-128
-3
-5
-15
-71
-5
0
5
0
0
0
0
0
0
17
-93
-15
51
64
-17
-71
-73
19
0
0
0
0
0
0
0
0
3
-53
19
28
33
4
79
1
45
-9
0
0
0
0
0
0
0
0
-82
91
56
-4
6
0
-4
2
-2
0
0
0
0
0
0
0
0
-72
29
1
1
0
0
5
0
0
0
0
0
0
0
0
0
51
-100
71
69
-21
-3
-1
5
0
0
0
0
0
0
0
0
0
2
44
-28
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-48
23
-10
-9
23
-13
0
0
0
0
0
0
0
0
0
0
-100
1
-17
-18
-64
-56
74
1
0
0
0
0
0
0
0
0
0
-11
46
-18
-24
10
24
-25
-25
0
0
0
0
0
0
0
0
0
1
-17
70
-44
35
78
-14
-1
0
0
0
0
0
0
0
0
0
-63
6
50
-86
31
0
4
-9
0
0
0
0
0
0
0
0
0
-4
24
-69
4
0
0
0
0
5
0
0
0
0
0
0
0
8
53
-57
33
-18
-15
1
0
5
0
0
0
0
0
0
0
0
1
-12
-37
-10
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
-25
2
-1
-52
-1
0
0
0
0
0
0
0
0
0
-4
-6
-22
-7
25
43
29
-51
13
0
0
0
0
0
0
0
0
22
29
-40
-87
-37
75
-1
-5
67
1
0
0
0
0
0
0
0
-21
-3
-5
-26
46
20
52
-5
-2
0
0
0
0
0
0
0
0
-9
-33
-20
32
19
-2
-11
0
0
0
0
0
0
0
0
0
0
-5
-9
-14
-13
15
5
0
0
0
0
0
0
0
0
0
0
0
5
20
-18
4
4
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
23
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
-34
-57
-28
66
19
85
53
-60
0
-1
0
0
0
0
0
0
0
37
14
34
-43
-18
43
43
-60
-32
-2
0
0
0
0
0
0
0
-5
2
-14
73
-25
92
74
-36
-58
-6
0
0
0
0
0
0
0
33
-11
12
-32
-64
-39
71
-26
60
0
0
0
0
0
0
0
0
-43
72
109
44
3
45
39
0
0
0
0
0
0
0
0
0
0
2
25
-31
-83
-6
-62
-16
0
0
0
0
0
0
0
0
0
0
29
-65
-12
-75
-59
-41
3
-1
0
0
0
0
0
0
0
0
0
31
-33
-83
2
5
4
0
0
9
0
0
0
0
0
0
0
0
-42
-21
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
63
42
-21
-7
-31
-32
0
0
0
0
0
0
0
0
0
0
3
-51
-81
-49
81
-6
29
55
3
-2
0
0
0
0
0
0
0
-46
27
33
-56
103
83
60
22
0
0
0
0
0
0
0
0
0
73
-13
-69
-20
-38
72
-3
-43
0
0
0
0
0
0
0
0
0
76
44
-62
-69
64
-25
27
0
0
0
0
0
0
0
0
0
0
-90
-123
-1
8
-71
-172
-2
0
0
0
0
0
0
0
0
0
0
-7
26
-1
-14
-18
5
1
0
0
0
0
0
0
0
0
0
0
-27
53
-30
-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
-14
18
-15
0
-5
-1
0
2
0
0
0
0
0
0
0
0
0
-3
-7
9
5
-5
-2
0
-4
0
0
0
0
0
0
0
0
0
2
-2
30
-5
-5
-15
0
0
0
0
0
0
0
0
0
0
0
6
0
-11
71
11
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
-9
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
23
5
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-5
1
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
1
-18
-23
-55
-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
-6
-68
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
22
20
-54
-33
-40
-20
9
-9
0
0
0
0
0
0
0
0
0
-5
-113
-3
-62
-2
-8
71
5
-3
0
0
0
0
0
0
0
0
-43
-68
-91
-63
9
-85
-46
-33
-13
-1
0
0
0
0
0
0
0
-6
-17
-12
-63
6
9
-44
14
-3
0
0
0
0
0
0
0
0
44
-1
25
25
-29
0
29
-5
23
0
0
0
0
0
0
0
0
34
0
92
32
-1
-77
114
25
3
0
0
0
0
0
0
0
0
0
0
0
-2
-1
16
-7
0
0
0
0
0
0
0
0
0
0
10
0
0
130
1
-45
15
1
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
0
1
-72
0
-27
-73
126
-29
-6
0
0
0
0
0
0
0
0
0
0
-69
11
66
40
14
-54
33
16
0
0
0
0
0
0
0
0
-1
-6
-62
33
24
-99
-6
77
-2
0
0
0
0
0
0
0
0
-3
1
-9
-8
44
-17
76
-52
-11
-9
0
0
0
0
0
0
0
-2
52
-5
5
-61
-75
-80
-50
27
0
0
0
0
0
0
0
0
0
3
-1
44
-14
-14
-34
-74
15
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-18
7
26
-1
-3
0
0
0
0
0
0
0
39
4
0
-5
-13
13
15
-3
3
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
1
-11
-9
-2
0
-33
-58
26
0
0
0
0
0
0
0
0
0
13
-14
-58
-33
24
-31
-43
54
-1
0
0
0
0
0
0
0
0
14
31
-15
17
-150
33
15
-17
5
0
0
0
0
0
0
0
0
0
96
214
5
39
12
38
61
3
0
0
0
0
0
0
0
0
-3
12
106
-1
-49
-6
-36
-3
-6
1
0
0
0
0
0
0
0
7
43
-48
0
81
-18
-40
-5
35
0
0
0
0
0
0
0
0
-33
3
3
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
19
40
5
0
0
1
-3
6
0
0
0
0
0
0
0
0
0
-71
15
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-46
8
-60
43
-24
-3
0
0
0
0
0
0
0
0
0
0
27
-62
-25
-34
-66
-21
-62
-14
0
0
0
0
0
0
0
0
3
-62
-83
43
0
-174
42
-47
-1
-11
0
0
0
0
0
0
0
10
-108
-21
-43
-62
66
3
12
0
0
0
0
0
0
0
0
0
0
147
84
51
-37
2
-60
0
-3
0
0
0
0
0
0
0
0
0
5
11
-42
0
74
14
-1
22
2
0
0
0
0
0
0
0
2
-33
2
0
0
5
2
4
-4
0
0
0
0
0
0
0
0
-5
-3
-1
-10
0
-1
8
0
0
0
0
0
0
0
0
0
0
33
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
14
11
0
1
2
-37
6
0
0
0
0
0
0
0
0
0
-8
-77
-23
64
-6
-53
67
45
-5
0
0
0
0
0
0
0
0
0
0
36
-25
12
-14
-74
-32
-23
0
0
0
0
0
0
0
0
0
-20
-14
35
-22
6
21
-11
-6
0
0
0
0
0
0
0
0
2
-15
45
-3
39
-7
-5
-3
14
0
0
0
0
0
0
0
0
0
-5
-17
-26
10
0
1
-4
4
0
0
0
0
0
0
0
0
4
35
24
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-51
-10
-61
1
0
0
1
-2
0
0
0
0
0
0
0
0
49
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
2
-1
-6
8
-4
0
0
0
0
0
0
0
0
0
0
-8
-63
-3
-71
-14
9
14
0
0
0
0
0
0
0
0
0
0
30
4
18
57
-35
-57
13
0
0
0
0
0
0
0
0
0
0
71
-7
90
82
5
-8
-33
1
0
0
0
0
0
0
0
0
0
42
-18
-28
-62
-3
6
-10
0
-20
0
0
0
0
0
0
0
-23
-14
-28
14
43
1
0
-4
2
0
0
0
0
0
0
0
0
0
25
29
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
3
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-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
13
5
3
16
-10
0
-20
-34
0
0
0
0
0
0
0
0
14
20
-8
15
3
69
16
11
-5
3
0
0
0
0
0
0
0
-5
8
5
-17
11
52
-7
0
0
0
0
0
0
0
0
0
0
-3
-2
5
4
32
5
0
0
1
0
0
0
0
0
0
0
0
0
14
16
4
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
14
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
9
-2
-6
0
0
8
0
0
0
0
0
0
0
0
0
0
-77
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-36
-3
66
23
-48
-34
7
0
0
0
0
0
0
0
0
0
-51
-15
8
-3
60
78
52
-17
-100
0
0
0
0
0
0
0
0
9
-38
28
-48
-99
65
5
47
1
1
0
0
0
0
0
0
0
-2
-33
111
-29
107
-24
45
16
7
1
0
0
0
0
0
0
0
21
49
-38
41
18
139
17
16
3
0
0
0
0
0
0
0
0
-5
-114
-32
-13
-147
35
1
0
0
0
0
0
0
0
0
0
0
-5
-3
-7
68
2
-45
1
0
0
0
0
0
0
0
0
0
0
-27
-78
39
83
4
-1
-2
0
0
0
0
0
0
0
0
0
0
23
11
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
98
13
8
13
53
-47
0
2
0
0
0
0
0
0
0
0
-26
-47
-43
-18
-25
15
5
-1
0
0
0
0
0
0
0
0
0
1
12
-16
-34
96
4
-159
1
-6
0
0
0
0
0
0
0
0
-68
-16
51
-50
17
-14
32
6
0
0
0
0
0
0
0
0
0
-45
22
4
-54
-46
5
2
14
0
0
0
0
0
0
0
0
0
-2
52
49
19
31
20
-98
0
0
0
0
0
0
0
0
0
0
-136
-26
48
14
27
-3
2
0
0
0
0
0
0
0
0
0
0
-78
71
-36
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
-29
4
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
2
9
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
20
0
-3
11
0
0
0
0
0
0
0
0
0
0
21
10
-5
2
-22
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
0
10
0
1
0
0
0
0
0
0
0
0
0
0
0
14
-30
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
78
14
-7
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
34
-21
14
-2
9
-14
0
0
0
0
0
0
0
0
0
0
0
-24
-2
-2
-2
21
-23
43
0
0
0
0
0
0
0
0
0
0
4
0
-5
5
-36
20
0
0
0
0
0
0
0
0
0
0
0
-76
-5
1
123
-3
6
-2
2
0
0
0
0
0
0
0
0
0
-31
-5
32
66
-14
14
3
-14
0
0
0
0
0
0
0
0
0
39
0
-1
-112
20
0
5
-1
0
0
0
0
0
0
0
0
0
-9
0
4
61
0
-25
14
0
0
0
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
5
17
-16
10
42
0
0
0
0
0
0
0
0
0
0
-3
-56
30
22
-96
-96
-35
23
4
0
0
0
0
0
0
0
0
0
-84
-8
-57
36
22
34
10
0
0
0
0
0
0
0
0
0
4
70
13
31
-25
98
-15
1
0
0
0
0
0
0
0
0
0
0
-108
-34
-35
-16
58
-15
-1
6
0
0
0
0
0
0
0
0
0
-53
5
-16
-20
-4
55
21
0
0
0
0
0
0
0
0
0
10
10
3
-5
33
-15
-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
48
-13
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
35
-15
0
7
4
0
0
0
0
0
0
0
0
0
0
0
-11
-33
-1
-7
-3
-2
1
0
0
0
0
0
0
0
0
0
0
6
-9
-58
-28
10
-1
0
5
0
0
0
0
0
0
0
0
-2
-75
20
3
49
146
7
1
0
0
0
0
0
0
0
0
0
2
-79
30
6
-11
-8
14
31
0
0
0
0
0
0
0
0
0
-8
24
100
15
22
16
14
3
-2
-4
0
0
0
0
0
0
0
0
-63
8
0
-13
14
-6
-5
-3
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
56
-6
-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
-19
0
-32
3
2
14
-15
0
0
0
0
0
0
0
0
0
0
-59
2
23
-40
-22
-7
1
0
0
0
0
0
0
0
0
0
2
-7
-13
28
15
-2
-1
1
0
0
0
0
0
0
0
0
0
0
-33
-5
128
-2
-3
-6
-1
0
0
0
0
0
0
0
0
0
0
32
23
-6
0
-2
1
-6
0
0
0
0
0
0
0
0
0
-3
-66
-66
-16
0
-4
3
0
0
0
0
0
0
0
0
0
0
5
3
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-10
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
11
1
-2
0
0
0
0
0
0
0
0
0
0
0
6
-5
2
-1
42
0
0
0
0
0
0
0
0
0
0
-13
-2
11
-7
-9
-4
1
8
0
0
0
0
0
0
0
0
0
-2
2
-25
33
5
-4
-8
0
-2
0
0
0
0
0
0
0
0
0
2
33
-3
32
-5
17
0
0
0
0
0
0
0
0
0
0
2
0
-22
16
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
9
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
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
6
0
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
6
-18
0
11
-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
-10
-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
0
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
-34
-2
0
1
14
25
0
1
0
0
0
0
0
0
0
0
0
7
-7
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-34
58
-19
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-32
6
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
26
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
-65
-9
-22
-18
2
1
-3
-2
0
0
0
0
0
0
0
0
2
2
4
-4
15
-103
42
8
14
2
0
0
0
0
0
0
0
-5
-44
-6
-36
-19
21
0
-11
-3
-16
0
0
0
0
0
0
0
-2
-32
-62
1
30
12
-21
1
0
0
0
0
0
0
0
0
0
0
47
5
50
16
11
0
-3
0
0
0
0
0
0
0
0
0
0
30
-20
-8
16
-1
0
0
0
0
0
0
0
0
0
0
0
6
-2
6
-19
2
-1
0
0
0
0
0
0
0
0
0
0
0
-9
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-19
-2
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-5
2
-36
-22
0
11
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
-9
-46
0
-7
3
17
-2
0
0
0
0
0
0
0
0
0
0
-19
62
-14
-6
5
5
0
0
0
0
0
0
0
0
0
0
0
-7
-14
-11
-3
1
0
2
0
0
0
0
0
0
0
0
0
0
-13
5
-18
25
-1
0
2
0
0
0
0
0
0
0
0
0
0
-47
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
23
-1
-29
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
102
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-32
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
18
6
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
29
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
39
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
0
0
0
0
0
0
0
0
0
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
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
-9
-23
-3
5
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
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
14
5
-29
31
0
0
0
0
0
0
0
0
0
0
0
3
-1
9
-9
7
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
45
-8
11
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
31
16
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-17
40
21
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
104
-28
18
-28
-74
0
0
0
0
0
0
0
0
0
0
-16
-6
-53
43
86
5
39
0
0
0
0
0
0
0
0
0
0
1
-11
23
-2
17
98
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
24
-34
34
39
0
0
0
0
0
0
0
0
0
0
0
4
5
-7
-2
-62
-47
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
-2
3
-9
0
0
0
-4
0
0
0
0
0
0
0
0
0
-6
-7
-39
35
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
2
18
-14
-51
-87
146
4
0
0
0
0
0
0
0
0
-4
-9
5
2
5
-21
46
74
6
0
0
0
0
0
0
0
0
0
0
0
-6
30
62
24
43
25
0
0
0
0
0
0
0
0
0
0
2
-7
-54
-53
44
-55
5
0
0
0
0
0
0
0
0
0
0
11
-13
-30
-2
52
29
-15
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
1
-4
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
-12
19
0
0
0
-9
19
0
0
0
0
0
0
0
0
-2
-6
-1
32
8
-11
25
-13
-3
0
0
0
0
0
0
0
0
4
-5
4
1
-19
-26
-10
47
-1
0
0
0
0
0
0
0
0
-2
-4
-2
-27
8
106
97
-4
-4
0
0
0
0
0
0
0
0
0
0
6
-24
15
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-131
4
-10
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
5
5
0
-1
-29
0
0
0
-58
2
5
0
0
0
0
0
0
0
4
1
-17
-2
-19
-7
27
-10
-10
0
0
0
0
0
0
0
-3
-8
5
-11
-68
8
60
-2
5
-11
-1
0
0
0
0
0
1
0
0
5
-10
-17
5
-14
46
7
0
0
0
0
0
0
0
0
0
0
13
0
-20
30
-7
8
4
2
0
0
0
0
0
0
0
0
0
-1
0
-19
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
22
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-6
77
-10
0
33
0
0
0
1
0
-2
0
0
0
0
0
0
-6
3
32
5
78
33
33
-17
9
1
6
0
0
0
0
0
0
0
1
8
37
94
52
-98
31
23
0
-4
0
0
0
0
0
-2
1
0
1
5
16
4
-40
-5
-1
1
0
0
0
0
0
0
0
0
0
-3
-13
34
-123
75
5
4
-1
0
0
0
0
0
0
0
0
0
0
3
15
13
-13
80
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
18
-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
18
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-8
23
42
102
-5
0
0
0
-4
-2
0
2
0
0
0
0
0
-8
5
-16
-134
21
-32
44
-100
0
1
0
0
0
0
0
0
0
-2
-11
-12
36
-14
-6
-35
-82
5
0
0
0
0
0
0
0
0
-1
2
41
-35
-52
148
43
-5
-7
2
0
0
0
0
0
0
0
0
0
5
-19
44
18
47
-1
-1
0
0
0
0
0
0
0
0
0
2
2
0
3
10
32
-45
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-43
-108
4
0
0
0
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
-16
39
0
0
0
-2
1
0
0
0
0
0
0
6
62
-10
-6
57
97
0
0
0
-54
0
0
0
0
0
0
0
0
-15
-6
17
-3
94
-8
75
-37
-10
-2
1
0
0
0
0
0
0
-5
0
-60
0
-93
-23
-49
-46
-37
0
0
0
0
0
0
0
0
0
17
65
22
180
-46
28
34
0
-6
-4
0
0
0
0
0
0
0
-1
-5
10
-53
76
108
19
-32
2
0
0
0
0
0
0
0
0
0
-2
4
11
-9
2
60
10
0
0
0
0
0
0
0
0
0
0
0
14
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-9
0
0
0
-3
0
0
0
0
0
0
0
0
-37
3
-72
54
-3
0
0
0
40
2
0
0
0
0
0
0
0
0
25
-71
12
12
-29
109
-23
-5
0
0
0
0
0
0
0
0
-1
-4
-35
-72
-106
19
-33
-3
78
-4
0
0
0
0
0
0
0
0
-1
-23
-14
14
-80
0
15
4
0
0
0
0
0
0
0
0
0
-4
3
-44
-5
-53
58
85
11
0
0
0
0
0
0
0
0
0
0
7
16
55
-12
-14
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
3
58
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
5
9
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
-44
-3
0
0
0
3
11
0
0
0
0
0
0
0
0
0
0
-15
4
-27
53
-12
0
-19
0
0
0
0
0
0
0
0
0
-1
3
90
-48
-99
60
50
0
0
0
0
0
0
0
0
0
0
0
2
9
14
67
-48
2
6
0
0
0
0
0
0
0
0
0
0
0
-9
26
75
74
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
19
5
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
-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
-15
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-47
54
-2
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
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
-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
14
4
39
49
0
0
0
0
0
0
0
0
0
0
0
0
15
38
-65
-32
48
0
0
0
0
0
0
0
0
0
0
0
2
0
2
8
99
14
-34
12
0
0
0
0
0
0
0
0
0
0
3
-2
2
14
-52
11
-89
0
0
0
0
0
0
0
0
0
0
-2
0
14
-14
-14
18
26
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
22
51
128
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
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
-17
-57
0
0
0
0
0
0
0
0
0
0
0
0
-33
-76
70
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-2
-61
23
22
26
16
0
0
0
0
0
0
0
0
-2
9
-39
43
4
5
-29
-4
-9
0
0
0
0
0
0
0
0
5
-1
0
22
3
14
-17
-56
-1
0
0
0
0
0
0
0
0
0
0
0
-5
81
-88
84
54
-48
0
0
0
0
0
0
0
0
0
0
0
13
-1
33
-46
-14
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
2
-8
20
-22
0
0
0
11
0
0
0
0
0
0
0
0
7
0
-7
33
-24
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
33
19
82
-36
-41
-23
8
0
0
0
0
0
0
0
0
-11
-5
-7
26
-7
25
91
-17
-10
0
0
0
0
0
0
0
0
-21
-16
78
80
24
6
-26
12
3
0
0
0
0
0
0
0
0
8
-2
15
-35
135
5
-99
-11
-27
0
0
0
0
0
0
0
0
0
-11
-9
0
13
-4
51
17
-19
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-23
-147
0
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
5
43
0
0
0
9
0
0
0
0
0
0
0
-14
0
-3
-35
-26
-10
0
0
0
28
0
0
0
0
0
0
0
0
0
10
-5
3
-4
-1
-9
-43
-8
-36
0
0
0
0
0
0
0
0
23
9
-24
-39
-65
-20
0
-83
2
0
0
0
0
0
0
2
0
0
22
8
-57
77
-23
23
-29
-14
0
0
0
0
0
0
0
0
0
0
-3
73
61
44
-26
-1
1
0
0
0
0
0
0
0
0
0
0
-7
4
4
-17
56
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
-9
0
-8
-5
0
0
0
-24
4
-4
0
0
0
0
0
-2
5
-32
-5
-2
-16
0
0
0
56
-14
-4
0
0
0
0
0
0
20
-10
20
5
16
-33
-75
-10
0
8
0
0
0
0
0
0
0
0
10
-57
-3
96
-29
-78
23
-15
-1
-1
0
0
0
0
0
0
-6
1
-14
57
-43
-24
-51
29
6
1
-2
0
0
0
0
0
0
0
0
32
20
56
-19
-38
21
9
7
0
0
0
0
0
0
0
0
0
0
0
17
15
-17
-64
-4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-33
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
-7
-33
6
0
-43
0
0
0
-2
2
0
0
0
0
0
0
-1
53
-79
20
17
31
0
0
0
0
6
2
-1
0
0
0
0
-10
-10
81
61
-13
-19
-14
56
-74
0
5
-7
-1
0
0
0
0
1
-32
15
-25
43
-11
15
-15
-35
-35
5
0
0
0
0
0
0
-24
16
8
15
50
32
20
-6
-44
-13
3
0
-1
0
0
0
0
0
0
0
3
8
5
-86
67
-33
-10
0
-2
0
0
0
0
0
0
0
-2
0
-8
-26
89
-13
-57
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-36
5
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
-10
36
-3
13
3
0
0
0
-14
-2
0
0
0
0
0
0
22
-33
-23
-1
-40
-5
0
0
0
4
3
0
0
0
0
0
0
39
-73
-60
-53
70
-36
42
-24
98
25
0
0
0
0
0
0
0
-6
0
7
40
34
-62
37
-6
3
-11
-2
7
0
0
0
0
0
-1
-13
40
-17
17
4
-59
39
22
2
-4
0
0
0
0
0
0
0
2
61
-1
3
10
103
16
4
-1
6
0
0
0
0
0
0
0
0
0
-22
-23
-71
-41
1
14
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-68
-98
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
44
54
64
54
-3
111
0
0
0
2
-2
0
0
0
0
0
6
1
71
-23
26
-39
89
0
0
0
6
7
0
0
0
0
0
0
-5
-6
4
6
29
-31
18
90
100
19
-6
-1
0
0
0
0
0
-8
-6
-65
-30
-26
-14
43
-18
-49
-74
-6
-1
0
0
0
0
0
10
15
38
-14
141
60
75
-18
-112
-6
-3
0
0
0
0
0
0
-2
14
-3
-11
31
93
-47
-67
5
41
-4
2
0
0
0
0
0
0
0
1
21
-79
49
90
60
30
-2
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-4
-69
1
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
15
47
-14
-37
108
0
0
0
80
0
0
0
0
0
0
0
0
24
2
-11
-80
41
0
0
0
-27
34
0
0
0
0
0
0
16
68
-71
12
-69
74
-23
5
83
7
2
0
0
0
0
0
0
-15
2
-75
-28
42
72
-93
-2
-62
-31
0
1
0
0
0
0
0
0
-33
1
-72
-151
-43
8
-74
-150
-5
0
0
0
0
0
0
0
-18
6
-89
-15
22
9
-64
-1
2
-5
0
0
0
0
0
0
0
0
1
5
78
68
-17
-37
7
-17
16
0
0
0
0
0
0
0
0
0
-2
16
0
0
-1
31
-48
-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
-20
6
-37
76
5
0
0
0
43
-9
0
0
0
0
0
0
5
-16
32
-71
-14
-16
0
0
0
-37
-3
0
0
0
0
0
0
-6
119
-31
-54
-48
-10
9
2
-34
8
-1
0
0
0
0
0
0
-6
64
-34
-43
-36
-22
7
53
-3
-45
5
0
0
0
0
0
0
0
-10
34
5
5
-47
-25
30
49
35
1
0
-7
0
0
0
0
9
17
-29
-22
22
-6
-31
-19
45
15
0
0
0
0
0
0
0
-4
-3
1
-82
-15
12
52
-62
-53
-20
1
0
0
0
0
0
0
0
0
0
0
-58
-4
-7
-77
-24
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
15
-5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-24
74
-20
0
0
0
1
-43
0
0
0
0
0
0
0
0
-1
18
41
11
62
74
18
0
-31
1
0
0
0
0
0
0
0
-2
9
-2
18
11
33
28
-5
-5
0
0
0
0
0
0
0
0
-6
3
6
100
2
50
35
-34
17
-2
0
0
0
0
0
0
0
0
0
-1
14
-21
-33
36
34
3
0
0
0
0
0
0
0
0
0
5
-10
14
-4
33
-14
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-7
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
3
1
4
-26
4
2
0
0
0
0
0
0
0
0
0
0
0
8
-1
50
-74
12
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-6
-17
-34
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-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
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
-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
23
-1
2
86
-12
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
2
-3
97
-100
0
0
0
0
0
0
0
0
0
0
-3
4
-6
24
8
60
169
0
0
0
0
0
0
0
0
0
-1
0
0
-2
79
-26
7
5
0
0
0
0
0
0
0
0
0
0
0
0
11
43
3
4
-43
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
2
0
0
0
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
-2
-36
-5
25
0
0
0
0
0
0
0
0
0
0
0
0
25
-57
-99
-5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
33
31
-50
-54
36
-1
0
0
0
0
0
0
0
0
1
7
20
149
65
-127
9
72
-131
0
0
0
0
0
0
0
0
3
-14
0
-37
0
-44
23
-14
-16
0
0
0
0
0
0
0
0
0
0
-7
0
-26
-74
-70
-42
111
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-20
28
0
-97
0
0
0
0
0
0
0
0
0
0
0
4
2
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
5
-6
-9
-13
0
0
0
8
0
0
0
0
0
0
0
0
1
9
2
52
-23
0
0
0
-34
0
0
0
0
0
0
0
0
0
-5
9
-11
-37
23
8
-33
19
0
0
0
0
0
0
0
0
0
13
21
61
29
41
68
-54
-2
0
0
0
0
0
0
0
0
14
6
0
-29
43
63
-92
70
14
0
0
0
0
0
0
0
0
4
0
-5
0
-5
-44
-10
-9
-39
0
0
0
0
0
0
0
0
0
0
0
2
-2
-11
43
0
-2
0
0
0
0
0
0
0
0
0
0
1
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
1
15
15
1
-59
0
0
0
-1
-5
0
0
0
0
0
0
0
0
-13
-12
-3
-43
0
0
0
55
-1
0
0
0
0
0
0
0
0
-1
5
-18
-16
23
9
-84
23
-19
0
0
0
0
0
0
-2
1
0
11
137
-11
-42
-11
-4
19
-2
0
0
0
0
0
0
0
0
0
-2
-6
14
21
79
-47
6
-8
0
0
0
0
0
0
0
0
3
0
-2
-18
-52
80
16
2
0
0
0
0
0
0
0
0
0
0
6
-3
-6
-10
-8
1
-5
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
44
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
-3
0
-21
-5
11
3
0
0
0
-1
4
0
0
0
0
0
0
18
-5
-26
3
-50
-54
0
0
0
44
0
0
0
0
0
0
0
5
1
0
3
0
-34
-14
-80
-16
-10
10
0
0
0
0
0
0
0
6
0
9
-61
19
116
-4
-51
3
0
-3
0
0
0
0
0
2
0
-15
25
-74
-41
30
-49
3
0
0
0
0
0
0
0
0
0
0
0
-15
0
-11
3
-37
63
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-26
3
35
-69
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
-4
-19
-31
34
40
0
0
0
-3
0
0
0
0
0
0
0
-3
-7
-116
12
5
0
0
0
0
16
-1
0
0
0
0
0
0
8
-5
-55
0
2
-70
46
-24
-28
-1
2
0
0
0
0
0
0
0
4
-33
-89
11
-24
58
50
29
8
-1
5
0
0
0
0
0
3
2
-4
75
13
-12
-15
78
64
6
0
0
-1
0
0
0
0
0
0
16
74
-9
-57
-59
5
56
-2
0
0
0
0
0
0
0
0
3
-4
5
-14
19
19
12
-13
1
1
0
0
0
0
0
0
0
0
-3
0
0
4
4
-44
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
68
0
0
0
0
0
0
0
0
0
0
-7
-20
-12
-18
11
0
0
0
5
-4
0
0
0
0
0
0
-1
77
-76
-44
15
13
0
0
0
38
0
0
0
0
0
0
0
0
10
23
-30
45
17
-47
-4
-28
-2
-7
0
0
0
0
0
0
2
-30
9
-15
-36
6
-31
6
120
-23
5
0
0
0
0
0
0
0
37
-52
-78
82
-1
24
-93
-56
0
2
0
0
0
0
0
0
1
2
3
25
-28
-9
28
-6
11
2
-6
0
0
0
0
0
0
0
0
0
19
9
-18
35
9
55
-1
4
0
0
0
0
0
0
0
0
0
-3
0
3
44
-47
-38
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
-6
7
-63
9
60
1
0
0
0
20
0
0
0
0
0
0
-2
7
68
39
49
13
-23
0
0
0
41
0
0
0
0
0
0
0
10
-25
68
1
-3
6
-1
-42
-14
-5
0
0
0
0
0
0
0
46
33
99
33
-43
7
73
82
58
-82
0
0
1
0
0
0
0
0
-5
5
-143
53
42
-114
15
-80
-13
-2
0
0
0
0
0
0
0
-6
-31
73
87
-22
-68
-148
-92
4
9
0
0
0
0
0
0
-3
-3
-8
24
17
-5
45
-9
-55
-30
0
0
0
0
0
0
0
0
0
-6
-5
-6
-35
43
73
-70
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
140
0
0
0
0
0
0
0
0
0
0
-14
1
-38
-79
27
0
0
0
5
-1
0
0
0
0
0
0
-10
80
-58
-77
-44
45
0
0
0
43
-8
0
0
0
0
0
0
-20
9
45
-14
52
38
57
2
-1
11
0
0
0
0
0
0
0
41
48
-87
14
61
-100
78
-10
-7
25
-3
0
0
0
0
0
0
0
34
15
-43
87
-7
-22
-42
18
-6
9
0
0
0
0
0
0
0
-2
4
32
14
69
10
-58
-67
22
0
0
0
0
0
0
0
0
4
-2
23
-16
36
-3
106
-145
1
-3
0
0
0
0
0
0
0
0
0
-8
-21
-5
-37
53
-7
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
-1
-2
-1
0
0
0
0
0
0
0
0
0
-1
-46
-36
5
1
0
0
0
19
1
0
0
0
0
0
0
-5
43
50
-2
3
58
0
0
0
13
2
0
0
0
0
0
0
2
14
-29
19
75
63
71
-22
-14
-1
8
0
0
0
0
0
0
3
61
-14
73
-109
-14
-29
77
32
9
0
0
0
0
0
0
0
-3
26
98
-93
-3
24
65
-83
21
-20
3
2
-1
0
0
0
0
-3
-7
-39
56
-57
15
-83
-121
1
86
0
0
0
0
0
0
0
0
0
6
-23
-42
60
5
-43
-88
-44
0
0
0
0
0
0
0
0
0
3
5
33
-19
39
11
-21
56
0
0
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
1
16
0
0
0
5
-29
0
0
0
0
0
0
0
0
0
-9
-97
-12
0
0
0
5
35
-4
0
0
0
0
0
0
0
-1
6
-1
34
-13
2
43
1
6
-1
0
0
0
0
0
0
0
4
5
-14
33
35
34
98
7
-54
-1
0
0
0
0
0
0
0
0
2
21
0
-43
14
84
-8
-15
0
0
0
0
0
0
0
0
0
0
14
-3
-18
0
52
39
-21
0
0
0
0
0
0
0
0
0
0
0
0
-23
8
46
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
-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
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
-5
-3
4
0
0
0
0
0
0
0
0
0
0
0
-2
14
-25
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
-19
-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
-9
-14
-9
0
0
0
0
0
0
0
0
0
0
0
-23
-7
12
-9
-23
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
50
5
80
4
30
0
0
0
0
0
0
0
0
0
0
5
33
-44
-18
36
5
-56
0
0
0
0
0
0
0
0
0
0
3
6
-60
20
17
20
60
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
23
-9
-14
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-32
14
43
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
-8
0
0
0
0
0
0
0
0
0
0
9
33
-32
14
41
0
0
0
0
0
0
0
0
0
0
0
5
-53
34
70
-30
18
0
0
0
0
0
0
0
0
0
0
0
0
-14
-128
-75
-12
-45
120
-43
49
0
0
0
0
0
0
0
0
0
0
-26
15
-18
-100
53
64
55
0
0
0
0
0
0
0
0
0
10
39
68
-63
11
-25
93
48
0
0
0
0
0
0
0
0
0
3
0
-58
-6
29
61
35
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-36
-56
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
129
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
-3
-2
4
4
5
0
0
0
31
0
0
0
0
0
0
0
17
-2
4
19
-62
-60
0
0
0
-93
0
0
0
0
0
0
0
0
15
5
23
3
-8
-1
-34
49
5
0
0
0
0
0
0
0
0
0
0
-7
31
34
-42
-6
-16
56
0
0
0
0
0
0
0
0
0
0
5
22
-53
-31
65
-31
45
0
0
0
0
0
0
0
0
0
0
2
-9
57
-49
32
5
47
0
0
0
0
0
0
0
0
0
0
0
17
-3
6
3
-11
37
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-11
100
-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
4
-1
13
-7
0
0
0
-2
2
0
0
0
0
0
0
-1
-25
71
49
14
55
0
0
0
3
-2
0
0
0
0
0
0
0
2
9
5
-3
-30
35
-10
33
-4
5
0
0
0
0
0
0
1
0
0
0
2
-41
28
76
-5
45
8
0
0
0
0
0
0
0
1
-4
-5
68
83
52
14
-30
-2
5
0
0
0
0
0
0
0
0
4
-9
-5
1
-59
43
2
5
0
0
0
0
0
0
0
0
0
0
6
0
-1
-4
-31
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
-25
-19
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
6
71
2
17
0
0
0
0
2
0
0
0
0
0
0
3
-6
23
24
-106
-75
0
0
0
4
0
0
0
0
0
0
0
0
-8
9
6
14
-17
-62
51
4
11
-1
0
0
0
0
0
0
0
1
0
1
0
81
17
62
-54
-8
1
0
0
0
0
0
0
2
20
-4
0
-6
22
21
-14
-186
3
3
0
0
0
0
0
0
0
0
41
1
5
-69
33
33
2
0
0
0
0
0
0
0
0
0
8
3
10
-13
-59
17
-54
53
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
26
-117
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-48
0
0
0
0
0
0
0
0
0
0
11
5
83
-20
5
0
0
0
0
0
0
0
0
0
0
0
16
65
-11
-43
23
2
0
0
0
-23
0
0
0
0
0
0
0
2
2
-55
-19
90
97
99
-96
-5
0
2
0
0
0
0
0
0
1
24
-46
-2
-7
73
35
28
46
-6
0
0
0
0
0
0
0
15
-18
-24
5
-1
1
-91
-114
54
-6
0
0
0
0
0
0
0
0
-4
-2
11
14
-141
40
69
-31
0
0
0
0
0
0
0
0
0
0
-10
17
47
14
-67
-138
-126
1
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-1
74
-27
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
-12
18
-118
78
18
0
0
0
-14
0
0
0
0
0
0
0
2
-10
5
0
67
14
0
0
0
-22
-3
0
0
0
0
0
0
-5
30
-41
7
-13
11
21
42
20
17
-1
0
0
0
0
0
0
3
-20
13
6
-51
1
-47
-44
9
5
2
0
0
0
0
0
0
0
-28
1
-44
-65
-111
-10
-4
11
61
3
0
0
0
0
0
0
0
-9
-50
-1
7
45
-35
-57
-74
-9
0
0
0
0
0
0
0
-2
3
-1
-51
-36
-7
-21
-24
37
-5
0
0
0
0
0
0
0
0
0
0
21
45
3
56
-54
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
0
0
0
0
0
0
0
0
0
4
-58
24
6
14
-5
0
0
0
4
0
0
0
0
0
0
-13
-6
-21
57
33
6
-6
0
0
0
-4
1
0
0
0
0
0
0
29
49
28
-38
-5
-36
-1
55
67
13
-6
0
0
0
0
0
0
0
26
-36
-25
-33
39
54
-12
78
22
1
-1
0
0
0
0
0
9
-69
-26
67
-19
60
6
19
10
64
0
0
0
0
0
0
0
0
-15
4
11
-53
131
11
-20
-78
24
0
0
0
0
0
0
0
1
3
72
1
-98
-2
109
80
-56
-14
10
0
0
0
0
0
0
0
0
0
-55
33
30
-8
-100
38
27
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
44
7
0
0
0
0
0
0
0
0
25
27
-40
-35
-31
82
0
0
0
-16
1
0
0
0
0
0
0
-43
-13
9
-66
87
-40
0
0
0
22
0
0
0
0
0
0
0
5
95
8
75
9
14
108
0
22
-1
-8
0
0
0
0
0
-3
6
-3
7
67
15
104
-28
43
38
-2
0
0
0
0
0
0
0
27
33
-32
-27
-11
81
-35
-41
-37
35
-5
0
0
0
0
0
-1
0
-19
4
52
-106
-1
-66
-55
-112
-6
0
0
0
0
0
0
0
0
5
-60
55
28
30
-38
8
-65
11
0
0
0
0
0
0
0
-3
0
-6
-39
12
-4
-53
10
38
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
0
11
-5
-4
0
0
0
0
0
0
0
0
42
-17
5
23
134
0
0
0
-64
0
0
0
0
0
0
0
-4
-37
-13
-41
-41
-59
0
0
0
-26
3
0
0
0
0
0
0
3
-38
43
87
31
-128
52
-16
-99
-5
-45
0
0
0
0
0
0
11
-18
41
118
62
-12
-154
-83
-50
7
-1
0
0
0
0
0
0
0
-31
32
-34
37
45
-31
44
-6
38
-7
0
0
0
0
0
0
0
-17
-19
-80
-9
41
14
-104
4
27
0
0
0
0
0
0
0
0
5
13
-18
-23
-16
-2
-44
-52
-62
0
0
0
0
0
0
0
0
-1
0
3
-14
9
-57
-26
-31
71
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
2
0
0
0
1
-13
0
0
0
0
0
0
0
0
-6
8
-41
13
0
0
0
-57
-47
0
0
0
0
0
0
0
0
0
-5
7
-21
18
46
-38
6
-14
-1
0
0
0
0
0
0
0
0
-1
-1
-19
13
-21
-13
6
0
0
0
0
0
0
0
0
0
0
0
3
37
45
-11
-77
-7
14
0
0
0
0
0
0
0
0
0
0
-1
3
48
-21
-65
2
-18
0
0
0
0
0
0
0
0
0
-1
0
1
-2
-14
2
46
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
43
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
9
0
0
0
0
0
0
0
0
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
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
1
-1
10
0
0
0
0
0
0
0
0
0
0
0
6
0
-31
27
46
4
-5
-2
0
0
0
0
0
0
0
0
0
0
-8
-18
14
5
0
15
-24
0
0
0
0
0
0
0
0
0
0
0
0
-21
107
-26
44
14
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
121
10
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-28
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
1
0
10
-4
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
89
0
0
0
0
0
0
0
0
0
1
-21
2
-5
2
-15
0
0
0
0
0
0
0
0
0
0
0
20
36
-47
-29
-33
40
0
0
0
0
0
0
0
0
0
0
0
10
-52
-53
-80
91
44
16
-59
9
0
0
0
0
0
0
0
0
0
1
-20
-104
14
-85
14
96
36
0
0
0
0
0
0
0
0
0
0
-5
-58
-28
-32
-24
16
-47
0
0
0
0
0
0
0
0
0
0
-13
-45
41
-23
16
52
62
0
0
0
0
0
0
0
0
0
10
2
-8
-16
30
25
-23
69
0
0
0
0
0
0
0
0
0
0
0
0
-16
31
-82
66
28
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
-4
31
5
-3
0
0
0
7
0
0
0
0
0
0
0
-2
22
-33
-102
57
17
0
0
0
46
0
0
0
0
0
0
0
0
3
-6
-18
62
-12
-4
-13
-53
2
0
0
0
0
0
0
0
0
0
0
-5
-23
43
-43
74
-43
-9
0
0
0
0
0
0
0
0
0
0
2
118
-72
33
75
-14
0
0
0
0
0
0
0
0
0
0
0
0
-29
55
-39
6
-17
0
0
0
0
0
0
0
0
0
0
1
-2
0
-22
-30
53
60
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-33
32
27
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
-3
0
8
-30
8
-1
0
0
0
23
1
0
0
0
0
0
0
0
27
3
11
1
-3
0
0
0
-64
9
0
0
0
0
0
0
0
4
-17
-23
-22
-53
47
1
0
3
0
0
0
0
0
0
0
0
0
0
-1
102
9
1
51
14
3
0
0
0
0
0
0
0
2
0
0
0
-7
-88
-58
-27
10
2
0
0
0
0
0
0
0
0
0
0
-10
3
-29
-3
-53
16
-18
1
0
0
0
0
0
0
0
0
0
0
-5
9
0
31
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
3
1
0
0
0
0
0
0
0
0
15
-2
-18
-45
0
45
0
0
0
19
0
0
0
0
0
0
0
-10
52
20
-5
-26
-43
0
0
0
-10
-3
0
0
0
0
0
0
0
-1
6
-140
3
-7
24
27
32
0
0
0
0
0
0
0
0
3
-8
-4
0
53
12
-73
28
2
24
0
0
0
0
0
0
0
-17
2
0
0
0
27
26
45
-71
0
0
0
0
0
0
0
0
0
0
0
-4
-4
8
-86
15
-29
0
0
0
0
0
0
0
0
0
0
-4
20
-8
-15
-71
66
29
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-43
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
-2
-45
29
-43
-30
0
0
0
0
1
0
0
0
0
0
0
-1
-8
89
23
81
-109
0
0
0
-4
0
0
0
0
0
0
0
11
30
30
-53
-47
-110
-14
34
-21
0
6
0
0
0
0
0
0
-18
38
-48
55
-86
86
-29
3
-83
-2
0
0
0
0
0
0
0
7
25
-6
5
0
0
58
125
13
-2
0
0
0
0
0
0
0
0
0
19
1
-3
15
-7
-24
-28
-2
0
0
0
0
0
0
0
0
0
0
-7
-19
-74
-43
56
73
2
0
0
0
0
0
0
0
0
0
-4
0
-6
-23
80
28
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-73
-2
0
0
0
0
0
0
0
0
-4
-2
-33
60
33
21
0
0
0
0
0
0
0
0
0
0
0
0
-45
-63
19
5
19
0
0
0
29
0
0
0
0
0
0
0
5
14
24
-30
-11
-151
81
123
-11
-3
1
0
0
0
0
0
0
0
-10
30
76
40
54
81
-80
-38
-6
-1
0
0
0
0
0
0
0
10
-1
8
0
0
5
-55
90
0
0
0
0
0
0
0
0
5
1
0
93
-41
3
6
11
-39
5
0
0
0
0
0
0
0
-2
-5
-16
-19
4
-158
5
-23
176
-11
0
0
0
0
0
0
0
0
0
0
5
-2
2
-27
-21
-29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
40
0
0
0
0
0
0
0
3
0
-46
-67
-41
-23
38
0
0
0
-13
0
0
0
0
0
0
0
87
-43
-28
-45
-8
-90
0
0
0
-18
0
0
0
0
0
0
0
-49
106
-72
23
-5
34
56
-5
0
-3
1
0
0
0
0
0
1
14
99
-1
124
44
65
76
37
90
18
0
0
0
0
0
0
0
-79
-13
-14
-1
-5
-12
0
-55
119
-16
0
0
0
0
0
0
0
0
33
-25
-44
-22
78
-31
-84
-18
25
0
0
0
0
0
0
0
0
1
-1
41
42
-93
-79
-10
-47
-11
0
0
0
0
0
0
0
0
0
-5
0
-30
-9
106
-73
41
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-1
0
0
0
0
0
0
0
0
0
-11
14
-8
38
61
54
0
0
0
-6
0
0
0
0
0
0
0
-4
-11
13
44
34
-29
0
0
0
27
-6
0
0
0
0
0
0
29
-51
33
5
-12
8
-33
-43
-45
14
-1
0
0
0
0
0
0
-17
106
122
-25
61
-40
64
40
-44
-37
0
4
0
0
0
0
0
6
4
50
-1
4
24
3
0
0
-2
3
0
0
0
0
0
0
14
-9
-22
55
-19
-61
63
13
-155
-10
0
-4
0
0
0
0
0
0
16
-43
175
-17
69
-31
14
35
0
0
0
0
0
0
0
0
0
0
15
53
52
-4
38
40
43
14
0
0
0
0
0
0
0
0
0
0
0
-1
-5
9
-28
33
0
0
0
0
0
0
0
0
8
-26
8
21
48
14
0
0
0
52
-1
0
0
0
0
0
0
-5
-5
79
-11
-5
-9
0
0
0
14
3
0
0
0
0
0
0
4
53
27
-56
67
13
-35
-22
33
-105
2
0
0
0
0
0
0
0
-21
14
-14
-32
-21
1
-27
-55
23
-5
0
0
0
0
0
0
0
15
64
53
-71
15
37
-1
0
-20
0
0
0
0
0
0
0
0
15
35
-25
-62
-33
75
-62
0
-1
0
0
0
0
0
0
0
0
-3
-4
122
-90
-43
7
-129
-14
-21
0
0
0
0
0
0
0
18
0
6
1
98
0
6
112
-81
71
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
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
34
0
0
0
46
-10
0
0
0
0
0
0
0
0
0
3
75
-13
13
35
-28
6
-41
0
0
0
0
0
0
0
0
0
1
-5
20
-30
-73
-1
-11
2
-2
0
0
0
0
0
0
0
0
6
-30
1
1
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
28
33
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
-3
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
7
0
0
0
0
15
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
-11
-8
6
0
0
0
0
0
0
0
0
0
0
-8
1
4
14
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
5
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-19
1
0
5
-6
0
0
0
0
0
0
0
0
0
0
0
15
-8
-36
-16
-1
32
0
0
0
0
0
0
0
0
0
0
0
9
59
-32
-67
-45
51
0
0
0
0
0
0
0
0
0
0
0
-1
20
6
-18
85
52
0
0
0
0
0
0
0
0
0
0
0
0
26
63
28
0
60
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
-1
58
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
-1
14
-17
-2
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
69
-36
-5
-48
-42
0
0
0
0
0
0
0
0
0
0
0
0
-35
-24
-18
117
69
1
5
41
0
0
0
0
0
0
0
0
-3
17
7
34
115
-62
-67
-56
1
0
0
0
0
0
0
0
0
0
0
10
44
-38
41
15
-73
-28
0
0
0
0
0
0
0
0
0
0
-2
32
62
114
73
13
33
0
0
0
0
0
0
0
0
0
0
7
-48
14
14
-101
70
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
34
10
-44
107
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
28
-7
0
0
0
0
0
0
0
0
-7
0
13
18
-13
2
0
0
0
15
0
0
0
0
0
0
0
0
-6
-22
-55
15
-20
0
0
0
21
0
0
0
0
0
0
0
-18
-9
-1
55
-5
-1
-2
35
-87
-11
0
0
0
0
0
0
0
0
5
59
-30
-5
-4
-82
-50
-64
-3
0
0
0
0
0
0
0
0
0
0
36
-33
-61
-24
-60
23
-2
0
0
0
0
0
0
0
0
0
0
3
4
8
52
-3
-46
2
0
0
0
0
0
0
0
0
0
0
0
0
48
19
-31
15
16
0
0
0
0
0
0
0
0
0
0
0
0
3
43
43
85
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
129
80
2
-33
0
0
0
-68
0
0
0
0
0
0
0
0
4
14
-15
3
-27
-2
-72
5
-4
0
0
0
0
0
0
0
0
-3
-3
2
2
69
4
31
2
-1
1
0
0
0
0
0
0
-2
0
0
0
-21
-17
-37
-98
-19
0
-3
0
0
0
0
0
0
0
0
0
0
7
-46
-3
22
6
-1
0
0
0
0
0
0
0
0
0
0
2
8
2
2
-23
0
27
0
0
0
0
0
0
0
0
0
0
0
-2
-2
29
-11
6
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
-20
-58
2
14
0
0
0
0
0
0
0
0
0
0
0
6
-15
-9
-66
59
36
0
0
0
9
-4
0
0
0
0
0
0
3
4
5
15
18
23
13
95
-18
0
0
0
0
0
0
0
0
-10
1
5
-90
-47
-104
-69
-55
-22
3
0
0
0
0
0
0
0
4
-16
-1
0
-68
-9
44
14
42
0
0
0
0
0
0
0
0
-4
-5
-1
0
0
-22
127
13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
59
2
-53
14
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-33
-32
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
0
0
0
0
0
0
0
0
0
4
-16
120
48
97
-5
0
0
0
0
0
0
0
0
0
0
5
6
-21
-59
-23
8
124
0
0
0
-7
0
0
0
0
0
0
0
-2
-7
77
53
-51
16
-101
-33
40
0
0
0
0
0
0
0
0
0
16
35
10
-19
11
-17
1
11
-1
0
0
0
0
0
0
0
-3
-1
11
27
3
56
-29
-28
14
0
0
0
0
0
0
0
0
-1
1
-5
-1
0
0
37
39
66
0
0
0
0
0
0
0
0
0
0
-27
0
2
11
-3
-14
13
2
0
0
0
0
0
0
0
0
0
0
0
-1
-34
-18
-68
-37
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-1
0
0
0
0
0
0
0
0
2
43
47
110
-58
94
0
0
0
-1
0
0
0
0
0
0
0
-17
-45
-31
-51
63
-88
0
0
0
6
0
0
0
0
0
0
0
15
5
-34
37
43
5
-16
32
-85
6
0
0
0
0
0
0
0
-7
-15
36
-43
41
107
-77
47
-41
2
0
0
0
0
0
0
0
-6
-71
-33
23
117
0
6
-155
6
4
0
0
0
0
0
0
0
0
9
-51
-49
0
0
-1
-64
-32
-2
0
0
0
0
0
0
0
0
0
2
34
1
2
-72
57
-29
6
0
0
0
0
0
0
0
0
0
-1
0
10
0
5
17
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
7
-4
8
33
34
14
-3
0
0
0
-15
0
0
0
0
0
0
-1
5
52
-104
-24
25
45
0
0
0
15
0
0
0
0
0
0
0
-59
-28
47
-33
-2
3
34
22
-13
-5
-1
0
0
0
0
0
0
31
78
5
-27
-50
-3
-13
-15
-43
-24
1
0
0
0
0
0
0
-25
6
-5
33
2
-63
17
-91
20
-7
0
0
0
0
0
0
3
5
3
-1
62
-27
3
0
0
-3
-2
0
0
0
0
0
0
0
0
-6
79
19
-42
5
5
6
-33
-21
0
0
0
0
0
0
0
0
0
0
4
9
-26
-35
80
29
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
-3
0
0
0
0
0
0
0
0
1
-42
-12
78
-5
-5
0
0
0
1
0
0
0
0
0
0
-1
52
5
33
73
141
-58
0
0
0
-35
0
0
0
0
0
0
0
-10
6
57
39
82
184
-32
-14
62
-25
-3
0
0
0
0
0
0
31
-8
15
-54
38
-61
-63
6
-108
3
0
0
0
0
0
0
0
-14
-94
-42
-67
-100
-52
-42
-7
-79
5
0
0
0
0
0
0
0
0
14
-35
55
8
-105
5
0
0
-1
0
0
0
0
0
0
0
0
9
-28
-79
-20
62
19
3
4
-3
-2
0
0
0
0
0
0
0
0
21
1
-6
-8
79
-3
26
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
110
27
0
0
0
0
0
0
0
0
0
0
53
-43
-65
44
0
0
0
-23
0
0
0
0
0
0
0
0
32
53
53
-26
-57
0
0
0
-80
-10
0
0
0
0
0
0
0
0
-6
-47
83
61
2
41
-28
-52
-2
0
0
0
0
0
0
0
-17
12
13
64
-54
-22
-21
-31
-22
-2
0
0
0
0
0
0
0
33
5
37
63
42
-44
-53
0
50
0
0
0
0
0
0
0
0
-23
-17
-34
-46
121
-176
-7
0
0
0
0
0
0
0
0
0
0
0
3
43
54
48
59
-44
4
0
0
0
0
0
0
0
0
0
0
-1
-26
-85
119
49
-101
-77
-50
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
-6
0
0
0
27
5
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
4
-44
0
0
0
0
0
0
0
0
0
1
34
19
-2
-91
-76
44
10
0
0
0
0
0
0
0
0
0
-1
23
38
-22
5
-84
1
3
0
0
0
0
0
0
0
0
0
0
-4
51
25
17
5
0
10
0
0
0
0
0
0
0
0
0
0
-9
1
37
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
23
0
51
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-16
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
-41
9
2
0
0
0
0
0
0
0
0
0
0
0
0
7
9
-1
-3
14
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
-27
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
-11
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
3
-4
-3
0
0
0
0
0
0
0
0
0
0
0
-2
3
-6
4
3
-1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-23
17
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-45
-11
44
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
23
2
9
0
0
0
0
0
0
0
0
0
0
0
0
30
2
-2
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-43
0
0
0
0
0
0
0
0
0
0
9
-7
-34
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
-2
16
-7
-31
-8
0
0
0
0
0
0
0
0
0
0
0
3
50
46
-114
-25
49
-5
58
33
0
0
0
0
0
0
0
0
0
0
7
-6
-5
-135
4
32
-24
0
0
0
0
0
0
0
0
0
-7
0
-85
-10
32
-89
-52
-72
0
0
0
0
0
0
0
0
0
0
0
-6
-33
-106
-75
1
-58
0
0
0
0
0
0
0
0
0
0
-7
33
-19
82
14
-36
-97
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
57
65
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
-6
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
2
1
35
21
6
0
0
0
0
-15
0
0
0
0
0
0
0
0
15
-69
48
-43
0
5
-19
82
-5
0
0
0
0
0
0
0
0
0
41
-55
-19
-72
-44
-28
31
0
0
0
0
0
0
0
0
0
5
-37
-9
-16
-3
-15
20
30
0
0
0
0
0
0
0
0
0
0
0
-3
-68
9
-6
54
24
-1
0
0
0
0
0
0
0
0
0
0
0
8
13
-8
150
25
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-44
43
16
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
-3
-2
-29
-5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
-2
-21
-1
-7
-4
1
0
0
0
0
0
0
0
0
0
0
7
-43
25
-2
-23
-10
-1
0
0
0
0
0
0
0
0
0
-2
-9
-13
-70
6
26
0
0
0
0
0
0
0
0
0
0
0
0
-7
34
-25
37
-52
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
8
7
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
37
2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
24
0
0
0
0
0
0
0
0
0
0
2
-4
10
-5
-7
0
0
0
0
4
0
0
0
0
0
0
0
0
-32
5
-29
-30
0
0
0
-13
5
0
0
0
0
0
0
0
-4
2
-11
93
-16
43
-17
-32
0
-1
0
0
0
0
0
0
0
0
5
37
-89
-50
-57
1
-54
0
0
0
0
0
0
0
0
0
4
-14
-46
-67
14
-55
-223
42
0
0
0
0
0
0
0
0
0
2
-2
0
23
49
-165
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
-18
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
33
0
0
0
0
0
0
0
0
0
8
18
82
-3
-7
0
0
0
3
0
0
0
0
0
0
0
0
-7
-13
70
-51
73
0
0
0
-19
0
0
0
0
0
0
0
0
3
43
-132
-9
-38
100
3
-74
0
0
0
0
0
0
0
0
0
5
64
-32
-91
-72
-72
-33
9
0
0
0
0
0
0
0
0
4
14
-4
-37
28
-45
-72
-53
-48
0
0
0
0
0
0
0
0
0
0
8
5
0
99
-35
-166
136
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
36
66
-37
0
0
0
0
0
0
0
0
2
2
3
0
2
0
-71
18
129
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
11
1
0
0
0
0
0
0
0
0
0
2
16
-19
-33
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-37
54
-109
21
0
0
0
3
-1
0
0
0
0
0
0
0
5
108
-27
90
-48
60
67
-56
0
0
0
0
0
0
0
0
0
19
-68
-8
19
-9
-21
32
-13
0
0
0
0
0
0
0
0
-1
-42
-93
-10
87
96
-71
14
33
0
0
0
0
0
0
0
0
0
5
41
15
-6
6
10
60
12
0
0
0
0
0
0
0
0
0
-3
-19
-3
-1
0
-1
-3
-13
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
6
80
107
14
0
0
0
0
0
0
0
0
0
0
0
0
0
14
8
-30
0
0
0
0
0
0
0
0
-2
45
-2
18
26
106
0
0
0
46
0
0
0
0
0
0
0
0
21
19
17
68
53
0
0
0
69
-1
0
0
0
0
0
-4
-2
11
-37
87
-9
27
-50
15
-46
3
-5
0
0
0
0
0
8
21
73
40
-75
-55
-48
80
12
34
7
0
0
0
0
0
0
0
-5
58
51
125
62
-28
-23
-28
4
-45
0
0
0
0
0
0
0
1
-33
-95
-2
34
-94
31
2
53
56
0
0
0
0
0
0
0
0
2
10
-9
-5
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
2
-22
-47
-26
0
60
-25
101
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-25
0
-2
0
0
0
0
0
0
0
4
-36
-138
70
76
63
0
0
0
-13
2
0
0
0
0
0
0
-1
-84
-61
28
-130
147
0
0
0
-39
-1
0
0
0
0
0
0
2
-21
-5
-85
-63
-15
36
-4
-89
-4
-7
0
0
0
0
0
0
17
36
37
31
-95
-27
-70
-92
-3
10
3
0
0
0
0
0
0
21
-80
-6
88
-37
-26
-111
18
-82
6
-2
0
0
0
0
0
0
3
-6
-67
2
60
45
-16
-2
-143
4
0
0
0
0
0
0
0
5
43
-56
37
35
-100
6
0
1
1
0
0
0
0
0
0
0
0
-1
47
-40
-34
-17
39
0
55
96
-1
0
0
0
0
0
0
0
0
0
1
0
0
4
5
34
0
0
0
0
0
0
0
0
0
0
-1
-99
-37
-9
0
0
0
-11
-3
0
0
0
0
0
0
-3
7
69
49
-83
-27
0
0
0
49
-2
-1
0
0
0
0
0
0
15
93
114
13
53
63
10
59
81
3
0
0
0
0
0
0
0
-6
-32
-15
-61
2
23
29
177
56
-1
0
0
0
0
0
0
0
-19
-156
-13
-77
-54
-17
-119
23
36
1
0
0
0
0
0
0
0
-2
74
3
-14
-52
-61
-88
0
-39
0
0
0
0
0
0
0
0
-3
21
57
70
7
-24
1
0
0
0
0
0
0
0
0
0
0
-1
-90
-61
-10
65
-35
44
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
-5
-63
0
0
0
0
0
0
0
0
0
-9
0
-10
0
0
0
-53
-122
0
0
0
0
0
0
0
0
0
0
30
-13
-21
76
32
1
-31
0
0
0
0
0
0
0
0
0
2
0
-19
-2
-2
-15
46
0
2
0
0
0
0
0
0
0
2
0
4
53
-39
-21
-48
-1
2
0
0
0
0
0
0
0
0
0
0
4
6
-34
28
-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
-46
2
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-36
2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-14
50
2
-21
0
0
0
0
0
0
0
0
0
0
0
0
2
-50
-13
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
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
7
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
-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
7
45
0
0
0
0
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
7
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
-3
1
17
2
0
0
0
0
0
0
0
0
0
0
4
7
-10
40
14
65
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-12
-27
0
1
0
0
0
0
0
0
0
0
0
0
0
11
4
-52
11
-17
3
0
0
0
0
0
0
0
0
0
0
-4
1
3
2
5
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
53
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
4
-7
7
50
2
7
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
26
37
33
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
-30
31
9
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
48
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
11
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
4
0
0
0
0
0
0
0
0
-2
-3
-2
0
0
26
3
4
-4
0
0
0
0
0
0
0
0
0
-2
0
-33
-2
2
-8
0
5
0
0
0
0
0
0
0
0
0
9
45
-1
-27
9
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
90
16
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-73
-1
-17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
10
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
-9
0
-27
-7
-13
5
10
3
0
0
0
0
0
0
0
0
0
-9
0
18
-76
-15
117
15
0
0
0
0
0
0
0
0
0
0
-2
0
5
5
-83
57
-3
0
0
0
0
0
0
0
0
0
0
0
0
39
-57
27
-34
14
1
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
4
0
-20
17
0
0
0
0
0
0
0
0
0
2
0
-3
0
6
0
0
0
11
0
0
0
0
0
0
0
0
1
13
7
-4
44
0
0
0
2
0
0
0
0
0
0
0
0
-5
-14
-10
-1
-14
1
-43
15
0
0
0
0
0
0
0
0
2
2
32
32
-61
92
-4
26
-3
0
0
0
0
0
0
0
0
0
0
0
-78
68
-71
-42
-14
-25
2
0
0
0
0
0
0
0
0
0
10
6
31
-47
52
-4
23
-3
0
0
0
0
0
0
0
0
1
-4
-2
0
-37
-9
53
55
1
0
0
0
0
0
0
0
0
0
9
0
0
0
-5
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
18
5
3
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
-80
2
-8
24
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
-45
48
-10
14
-34
18
0
0
0
0
0
0
0
0
0
0
3
19
108
21
54
-51
-146
5
0
0
0
0
0
0
0
5
1
2
-53
23
50
-76
-7
49
0
0
0
0
0
0
0
0
0
-1
-3
14
-5
-82
11
-2
17
0
0
0
0
0
0
0
0
0
0
5
42
35
0
20
33
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
-34
0
0
0
0
0
0
0
0
0
1
13
10
0
71
0
0
0
2
0
0
0
0
0
0
0
0
-1
4
6
-72
6
0
0
0
17
0
0
0
0
0
0
0
0
0
-6
37
44
47
-15
13
62
0
0
0
0
0
0
0
0
0
-5
1
-1
-4
-7
129
-45
1
0
0
0
0
0
0
0
0
-2
0
-1
1
-47
54
23
-53
-61
3
0
0
0
0
0
0
0
0
0
3
126
73
-34
71
-9
-8
-8
0
0
0
0
0
0
0
0
8
3
-98
-40
26
0
-31
-149
7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-9
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
5
24
-102
-32
-45
0
0
0
-24
5
0
0
0
0
0
0
9
-11
86
80
-8
-41
0
0
0
1
0
0
0
0
0
0
0
4
-10
1
21
41
-5
-34
-1
-70
7
0
0
0
0
0
0
0
-6
-9
-13
-112
-23
-35
53
-43
-28
1
-2
0
0
0
0
0
0
0
11
-15
-84
59
-32
24
-13
-32
7
0
0
0
0
0
0
0
0
13
-76
-109
-32
34
22
9
-63
-3
0
0
0
0
0
0
0
0
10
-29
-82
36
-52
-19
-1
16
6
0
0
0
0
0
0
0
0
0
1
17
-1
-15
0
0
8
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
-2
4
2
0
0
0
-51
-10
0
0
0
0
0
0
0
4
0
-1
-5
-14
0
0
0
-31
-1
0
0
0
0
0
0
0
-5
5
2
-74
-39
109
18
-33
-80
3
0
0
0
0
0
0
0
0
-14
-14
36
4
98
85
31
5
-1
0
0
0
0
0
0
0
0
39
-16
-13
-5
5
1
10
74
0
0
0
0
0
0
0
0
0
9
-31
35
23
-102
-56
-7
34
0
0
0
0
0
0
0
0
0
-3
-1
20
42
89
110
0
-6
0
0
0
0
0
0
0
0
0
0
-1
-50
2
-21
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
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-62
1
0
0
0
0
0
0
0
0
0
-2
-1
-2
-2
26
3
13
0
0
0
0
0
0
0
0
0
0
0
-14
-11
-5
12
2
1
0
0
0
0
0
0
0
0
0
0
0
8
9
-5
-1
-2
-90
0
0
0
0
0
0
0
0
0
0
9
4
4
-15
-54
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
5
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
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
10
0
-1
0
13
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-7
2
0
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
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
6
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-13
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
-16
8
0
-1
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-52
-5
-61
46
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
-118
39
11
-22
0
0
0
0
0
0
0
0
0
0
0
0
7
28
-62
0
11
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
16
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-17
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
15
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-11
22
0
66
0
0
0
0
0
0
0
0
0
0
0
2
2
3
-4
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
71
34
-24
0
-30
0
0
0
0
0
0
0
0
0
0
0
16
0
7
-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
4
0
0
0
21
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
27
8
3
5
0
0
0
0
0
0
0
0
0
0
0
0
-10
-31
-17
5
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-3
-60
0
-15
0
0
0
0
0
0
0
0
0
0
0
-6
0
-29
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-20
0
3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
64
-2
50
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-32
13
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-1
-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
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
0
0
23
-3
2
26
7
0
0
0
0
0
0
0
0
0
0
0
-80
-36
20
-110
-33
-21
1
0
0
0
0
0
0
0
0
0
-3
11
68
9
-14
-14
9
-1
-9
0
0
0
0
0
0
0
0
20
-40
39
5
4
5
0
0
-5
0
0
0
0
0
0
0
0
0
-6
2
-1
0
-6
21
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
27
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
5
0
-15
-7
-2
3
2
0
0
0
0
0
0
0
0
0
0
-19
82
32
12
76
39
-2
-6
0
0
0
0
0
0
0
0
1
-34
84
-42
49
-5
4
31
0
0
0
0
0
0
0
0
0
0
-50
57
0
71
-2
33
2
0
-17
0
0
0
0
0
0
0
0
2
0
55
6
-5
2
-3
0
0
0
0
0
0
0
0
0
0
5
-5
0
-11
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
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
26
5
-2
-16
48
54
-4
0
3
0
0
0
0
0
0
0
0
-5
4
-2
2
-21
-24
1
3
9
0
0
0
0
0
0
0
0
9
-2
18
-22
-21
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
35
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
79
-19
-4
-57
16
82
-1
3
0
0
0
0
0
0
0
0
5
0
3
-2
8
-1
-2
34
0
0
0
0
0
0
0
0
0
-31
0
-3
3
15
-14
-2
0
-6
0
0
0
0
0
0
0
0
23
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
-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
5
3
-14
-19
5
0
60
3
0
0
0
0
0
0
0
0
0
9
-35
54
37
-10
-18
8
-1
0
0
0
0
0
0
0
0
0
-3
58
97
-21
2
35
-44
26
0
0
0
0
0
0
0
0
0
-20
20
-7
10
-1
3
0
9
-2
1
0
0
0
0
0
0
0
-24
-42
-16
11
-6
-6
2
0
0
0
0
0
0
0
0
0
0
16
-46
2
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
26
20
-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
5
68
22
-5
0
1
0
0
0
0
0
0
0
0
0
0
-31
-14
-51
41
5
0
0
7
0
0
0
0
0
0
0
0
-2
28
-22
40
67
-45
-31
-16
-2
0
0
0
0
0
0
0
0
24
20
-8
38
-59
28
10
14
-5
0
0
0
0
0
0
0
0
-7
-7
91
31
3
5
11
0
2
0
0
0
0
0
0
0
0
-3
-49
-37
6
3
55
0
0
0
0
0
0
0
0
0
0
0
-1
-17
9
29
13
-1
0
-5
0
0
0
0
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
44
-21
118
45
-38
35
-16
0
0
0
0
0
0
0
0
0
0
58
-6
65
-6
80
-40
-19
-1
1
0
0
0
0
0
0
0
0
1
58
51
82
-17
51
34
-6
14
8
0
0
0
0
0
0
0
-13
-62
10
86
24
-52
-13
7
0
4
0
0
0
0
0
0
0
41
166
-52
134
4
44
12
6
0
0
0
0
0
0
0
0
0
39
117
63
-5
-1
-7
0
0
0
0
0
0
0
0
0
0
0
-14
25
-10
-2
0
-5
6
0
-1
0
0
0
0
0
0
0
0
1
-41
-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
70
66
-65
-23
-73
5
-67
0
0
0
0
0
0
0
0
0
0
5
-10
125
3
-4
19
-51
-26
5
0
0
0
0
0
0
0
0
5
81
3
-79
-9
-1
-31
4
0
0
0
0
0
0
0
0
0
21
13
-53
5
9
-30
13
20
0
-2
0
0
0
0
0
0
0
-48
9
9
-6
7
124
3
0
-6
0
0
0
0
0
0
0
0
5
-14
-124
-53
33
8
0
0
0
0
0
0
0
0
0
0
0
52
72
-40
13
13
-3
15
0
0
0
0
0
0
0
0
0
0
7
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
12
94
-20
-22
19
2
0
0
0
0
0
0
0
0
0
0
0
-14
22
71
5
-12
-26
2
-2
0
0
0
0
0
0
0
0
0
43
-37
-29
51
10
15
-1
2
0
0
0
0
0
0
0
0
0
-6
-18
24
6
23
3
2
0
0
0
0
0
0
0
0
0
0
-2
-18
49
-1
-14
-8
0
0
0
0
0
0
0
0
0
0
0
24
0
-25
-10
0
7
0
0
0
0
0
0
0
0
0
0
0
14
-15
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
15
-9
-25
31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-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
50
-3
-37
13
-1
0
7
-1
0
0
0
0
0
0
0
0
0
-9
-4
22
-16
17
-27
0
0
0
0
0
0
0
0
0
0
0
62
6
77
-8
-10
-7
0
0
0
0
0
0
0
0
0
0
0
-3
-6
6
9
-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
-13
-21
-37
-80
-7
0
1
0
0
0
0
0
0
0
0
0
33
-99
-12
48
-80
-48
-32
-7
0
0
0
0
0
0
0
0
0
5
103
64
-8
79
43
-19
2
5
1
0
0
0
0
0
0
0
0
-4
-36
-20
17
-4
98
-1
0
0
0
0
0
0
0
0
0
0
37
-37
-37
44
-3
27
1
0
0
0
0
0
0
0
0
0
21
-5
-3
-1
2
2
0
-4
1
0
0
0
0
0
0
0
0
-2
-50
-1
-2
0
0
0
0
15
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
9
-18
47
-12
9
24
7
-20
0
0
0
0
0
0
0
0
0
2
-9
39
4
60
-20
-32
11
7
0
0
0
0
0
0
0
0
0
-3
-9
79
-55
1
-8
-25
14
-10
0
0
0
0
0
0
0
-3
59
25
-50
-23
64
3
-8
0
-3
0
0
0
0
0
0
0
0
8
53
18
53
-7
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
21
-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
-9
33
-27
-9
0
8
0
0
0
0
0
0
0
0
0
-4
5
60
5
-26
5
-34
-32
0
0
0
0
0
0
0
0
0
-3
8
6
-13
1
-19
2
-4
-2
0
0
0
0
0
0
0
0
-2
-4
-53
16
-63
31
48
0
6
0
0
0
0
0
0
0
0
-1
-2
29
14
0
-2
0
0
-1
0
0
0
0
0
0
0
0
4
3
0
3
-13
-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
23
48
5
-9
42
135
14
0
0
0
0
0
0
0
0
0
-13
17
-48
-5
11
-20
150
-3
8
0
0
0
0
0
0
0
0
9
25
-53
92
8
-9
14
-35
5
0
0
0
0
0
0
0
0
70
-14
10
26
3
19
-2
2
0
0
0
0
0
0
0
0
0
1
-22
2
23
4
-8
1
0
-1
-2
0
0
0
0
0
0
0
-60
-3
-43
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
1
54
95
7
26
0
22
-22
0
0
0
0
0
0
0
0
0
118
5
79
-31
-48
31
17
0
-97
0
0
0
0
0
0
0
0
20
157
-14
43
44
-6
-2
-1
0
0
0
0
0
0
0
0
0
53
117
34
9
12
44
13
-2
0
0
0
0
0
0
0
0
0
10
-31
1
64
-16
-5
7
3
0
0
0
0
0
0
0
0
0
-23
18
38
21
-3
-1
-1
1
-3
0
0
0
0
0
0
0
0
-30
-79
24
-8
-8
1
0
0
0
0
0
0
0
0
0
0
0
-5
-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
32
7
136
33
43
73
10
10
0
0
0
0
0
0
0
0
0
-37
33
68
22
48
87
17
-5
-1
10
0
0
0
0
0
0
0
-62
-92
24
-15
-60
66
-80
10
-69
-1
0
0
0
0
0
0
0
16
74
2
-23
-7
-48
-20
-24
0
0
0
0
0
0
0
0
0
9
-2
-15
49
-10
79
0
3
18
0
0
0
0
0
0
0
0
43
-11
-5
-31
-17
27
-3
32
0
0
0
0
0
0
0
0
0
-4
-61
40
-27
-4
0
-1
4
-1
0
0
0
0
0
0
0
0
0
65
-17
-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
164
-21
100
20
1
-34
8
-9
0
0
0
0
0
0
0
0
0
27
11
48
163
4
-29
43
-3
31
0
0
0
0
0
0
0
0
120
90
5
58
23
20
-5
18
29
1
0
0
0
0
0
0
0
24
-72
11
54
47
25
-3
8
-52
-7
0
0
0
0
0
0
0
-25
84
59
32
35
10
96
3
0
-6
0
0
0
0
0
0
0
-98
-80
9
-28
24
14
4
-5
2
0
0
0
0
0
0
0
0
53
28
-11
17
-16
-7
0
8
-1
0
0
0
0
0
0
0
0
3
3
-4
-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
4
87
92
92
-19
122
51
87
0
0
0
0
0
0
0
0
0
-63
-58
-59
31
61
13
-49
59
1
1
0
0
0
0
0
0
0
-14
-88
-45
-48
44
1
55
-15
61
26
0
0
0
0
0
0
0
36
8
17
-123
55
1
0
100
-5
8
0
0
0
0
0
0
0
-17
-14
-62
-80
-49
132
23
23
9
0
0
0
0
0
0
0
0
31
-62
42
31
56
25
8
0
4
-2
0
0
0
0
0
0
0
75
55
-24
-49
-33
3
-14
6
5
0
0
0
0
0
0
0
0
3
-114
77
105
6
-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
-34
26
-47
58
44
24
135
0
0
0
0
0
0
0
0
0
0
46
97
74
16
-58
41
-101
-22
0
0
0
0
0
0
0
0
0
-13
72
28
33
15
-72
68
92
6
0
0
0
0
0
0
0
0
-67
-42
-30
-6
16
0
-40
16
-1
0
0
0
0
0
0
0
0
46
56
-20
64
56
83
-43
71
1
0
0
0
0
0
0
0
0
50
7
-5
-43
76
52
-3
-1
0
0
0
0
0
0
0
0
0
-71
-1
4
6
-24
10
-2
-2
0
0
0
0
0
0
0
0
0
112
-7
-5
-53
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
-21
-53
45
-12
17
-43
0
5
0
0
0
0
0
0
0
0
0
51
43
10
96
-38
-55
-3
-2
0
0
0
0
0
0
0
0
0
48
26
-29
-16
-23
-17
37
5
0
0
0
0
0
0
0
0
0
6
90
-56
90
40
14
9
-1
0
0
0
0
0
0
0
0
0
30
-50
77
-14
4
1
-2
3
0
0
0
0
0
0
0
0
0
-5
64
6
-30
-48
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
19
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
13
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
81
29
17
-66
10
0
0
0
0
0
0
0
0
0
0
0
0
-21
-8
-9
17
0
-7
0
0
0
0
0
0
0
0
0
0
0
-25
-1
-7
11
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
0
8
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-12
36
0
0
25
3
-3
0
0
0
0
0
0
0
0
0
0
25
-5
1
10
11
0
-1
0
0
0
0
0
0
0
0
0
-19
81
0
-7
11
-3
3
-3
0
0
0
0
0
0
0
0
0
-7
2
-3
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-24
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
8
30
-37
2
30
34
14
-8
0
0
0
0
0
0
0
0
0
7
39
111
-38
-10
-33
56
58
-3
0
0
0
0
0
0
0
0
-37
14
-43
74
25
-6
-46
-9
1
0
0
0
0
0
0
0
0
-2
-62
8
-39
-1
-8
-24
-24
0
0
0
0
0
0
0
0
0
5
-43
46
41
-15
18
-16
1
2
0
0
0
0
0
0
0
0
0
-53
87
90
4
-13
-1
-1
1
0
0
0
0
0
0
0
0
0
93
6
3
-5
0
0
2
6
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
3
-43
16
-25
33
0
0
0
0
0
0
0
0
0
0
0
-16
-46
25
-5
28
-6
37
0
0
0
0
0
0
0
0
0
0
32
0
38
-6
3
8
51
5
-1
0
0
0
0
0
0
0
0
-24
58
-27
-85
36
-21
1
10
-1
0
0
0
0
0
0
0
0
-49
6
-20
4
1
1
-5
-5
0
0
0
0
0
0
0
0
0
-24
104
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
23
-6
0
0
0
-3
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
-1
3
26
9
18
1
4
-1
0
0
0
0
0
0
0
0
0
25
2
13
-16
-22
-11
69
-3
10
0
-1
0
0
0
0
0
0
29
-2
-16
1
-6
13
13
0
-1
-1
0
0
0
0
0
0
0
7
-8
5
-11
32
22
6
4
0
0
0
0
0
0
0
0
0
8
-15
7
-14
8
-15
-2
0
0
-2
0
0
0
0
0
0
0
-3
-6
-2
18
-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
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
21
-27
2
22
21
51
-1
5
0
0
0
0
0
0
0
0
0
48
-53
46
-10
33
-46
-45
-8
0
0
0
0
0
0
0
0
0
-6
5
30
-13
-4
27
-32
-1
5
0
0
0
0
0
0
0
0
-22
61
-5
-8
-22
-3
-26
7
-3
-2
0
0
0
0
0
0
0
-45
22
-5
16
-9
4
0
0
0
0
0
0
0
0
0
0
0
-10
8
-7
18
-1
-4
2
-2
4
0
0
0
0
0
0
0
0
-35
13
13
33
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
-2
-7
4
-61
51
-24
43
64
0
0
0
0
0
0
0
0
0
11
15
82
-16
-68
44
78
103
2
0
0
0
0
0
0
0
0
-53
53
51
18
-11
2
30
11
0
0
0
0
0
0
0
0
0
82
-64
2
126
-22
-43
-6
18
2
0
0
0
0
0
0
0
0
41
-57
-23
-98
14
25
16
0
0
0
0
0
0
0
0
0
0
-70
42
53
-8
17
-5
0
-9
0
0
0
0
0
0
0
0
0
72
17
20
21
1
-1
1
0
0
0
0
0
0
0
0
0
0
8
-9
-3
-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
-42
14
-29
26
-32
-73
22
0
0
0
0
0
0
0
0
0
-29
-67
89
20
-50
16
-55
-43
-2
-1
0
0
0
0
0
0
0
-73
-35
58
-15
2
-39
2
56
-7
0
0
0
0
0
0
0
0
2
10
52
118
-34
-32
35
34
10
2
0
0
0
0
0
0
0
-10
-13
48
19
16
-75
80
8
1
1
0
0
0
0
0
0
0
15
9
20
-14
22
57
-14
-3
0
0
0
0
0
0
0
0
0
-27
14
92
-9
11
-7
3
0
0
0
0
0
0
0
0
0
0
-14
120
17
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
-57
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
32
-6
31
-23
107
119
-32
0
0
0
0
0
0
0
0
0
-47
46
148
52
-14
-64
165
114
8
-10
0
0
0
0
0
0
0
66
-20
-24
74
153
26
-15
-1
-3
0
0
0
0
0
0
0
0
102
-6
90
91
44
18
-23
-34
-4
-1
0
0
0
0
0
0
0
107
-71
-26
-99
-30
5
-66
23
14
0
0
0
0
0
0
0
0
4
-37
53
48
37
-77
82
-2
-7
1
0
0
0
0
0
0
0
-37
7
42
54
-5
-14
-8
1
0
0
0
0
0
0
0
0
0
0
-34
24
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
110
24
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-17
76
12
-47
-40
-88
-28
0
0
0
0
0
0
0
0
0
93
-35
27
5
-6
96
34
39
-39
8
0
0
0
0
0
0
0
110
-31
35
-78
72
142
21
106
0
-4
0
0
0
0
0
0
0
4
44
31
-8
-21
57
30
-16
35
0
0
0
0
0
0
0
0
29
-8
-45
-6
33
115
-42
-10
5
-10
0
0
0
0
0
0
0
77
-21
83
2
-4
-42
-21
-21
2
1
0
0
0
0
0
0
0
-59
69
165
-55
-43
-6
-29
-11
-45
3
0
0
0
0
0
0
0
11
22
23
-24
-40
-8
-3
1
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
-70
-34
30
-28
59
54
-60
0
7
0
0
0
0
0
0
0
0
105
53
-97
-53
157
-129
43
13
1
1
0
0
0
0
0
0
0
-15
-1
97
-35
23
-28
7
-19
-1
0
0
0
0
0
0
0
0
-24
-35
14
48
-1
78
-47
30
1
0
0
0
0
0
0
0
0
0
90
-14
137
-63
12
-58
32
16
0
0
0
0
0
0
0
0
-19
-32
-4
-5
21
101
46
3
-4
0
0
0
0
0
0
0
0
-89
-83
-15
106
-13
22
1
-1
3
0
0
0
0
0
0
0
0
14
14
23
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
144
-3
-31
52
-22
3
0
0
0
0
0
0
0
0
0
0
0
42
26
94
-3
53
88
5
0
2
0
0
0
0
0
0
0
0
100
63
16
57
30
71
11
-2
0
0
0
0
0
0
0
0
0
15
39
79
-55
33
-29
-4
5
0
0
0
0
0
0
0
0
0
-9
55
2
9
-25
1
0
0
0
0
0
0
0
0
0
0
0
-10
1
-53
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
43
5
0
3
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
-7
9
1
0
0
0
0
0
0
0
0
0
0
0
-3
14
-43
-1
17
-2
-1
0
0
0
0
0
0
0
0
0
0
4
0
39
-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
8
4
5
-3
-2
-6
11
-27
0
0
0
0
0
0
0
0
0
16
30
-10
-6
45
-26
-3
2
0
0
0
0
0
0
0
0
0
0
9
16
-2
-4
-7
0
-3
0
0
0
0
0
0
0
0
0
-95
-24
6
-1
0
-3
-9
0
0
0
0
0
0
0
0
0
0
5
17
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
13
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
18
-59
-3
-16
17
-45
-18
0
0
0
0
0
0
0
0
0
-4
-66
26
38
-28
-47
23
18
1
0
0
0
0
0
0
0
0
80
-23
-40
-9
-40
24
-102
115
0
0
0
0
0
0
0
0
0
3
-7
86
56
-71
-7
-4
43
-2
0
0
0
0
0
0
0
0
0
-137
-69
133
95
-53
1
-1
-8
-9
0
0
0
0
0
0
0
1
90
105
-8
72
50
0
-2
-1
0
0
0
0
0
0
0
0
2
92
11
-23
0
3
25
0
0
0
0
0
0
0
0
0
0
0
31
0
-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
0
0
0
0
0
-1
-1
5
-21
25
-4
-10
-2
0
0
0
0
0
0
0
0
0
0
-37
-6
10
69
21
-52
17
-7
0
0
0
0
0
0
0
0
0
8
-59
-19
-7
-35
-17
10
-3
0
0
0
0
0
0
0
0
0
-89
-1
-34
79
6
-37
-1
0
-5
0
0
0
0
0
0
0
0
-6
-12
45
40
-23
-14
0
-5
0
0
0
0
0
0
0
0
0
45
-20
-1
19
46
2
-6
0
0
0
0
0
0
0
0
0
0
66
44
4
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
2
63
10
14
-2
13
-2
0
0
0
0
0
0
0
0
0
-2
0
-14
-1
49
39
50
4
0
0
0
0
0
0
0
0
0
15
-2
-3
51
5
26
44
-9
-2
0
0
0
0
0
0
0
0
65
-34
7
0
14
-19
77
-1
-3
0
0
0
0
0
0
0
0
33
-6
-8
7
8
-5
2
-8
-1
0
0
0
0
0
0
0
0
1
1
-16
-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
-1
1
1
-5
0
9
-5
-1
0
0
0
0
0
0
0
0
0
6
-90
88
-23
1
-32
32
10
-2
0
0
0
0
0
0
0
0
5
-33
-18
33
-20
-13
-25
-4
0
0
0
0
0
0
0
0
0
5
98
61
-62
5
25
-6
1
0
0
0
0
0
0
0
0
0
-47
129
-6
-42
18
0
0
0
0
4
0
0
0
0
0
0
0
2
34
-1
-20
7
14
0
0
0
0
0
0
0
0
0
0
0
-5
-24
-4
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
4
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
39
-3
53
-31
-80
-91
72
5
0
0
0
0
0
0
0
0
0
88
37
121
-51
42
33
2
-14
-22
0
0
0
0
0
0
0
0
-29
-16
42
-23
-62
71
-91
-11
1
0
0
0
0
0
0
0
0
22
16
18
-62
28
0
-8
11
10
0
0
0
0
0
0
0
0
4
-39
-45
5
108
26
27
5
25
-1
0
0
0
0
0
0
0
113
-14
-4
55
22
-19
0
0
0
0
0
0
0
0
0
0
0
-35
24
-22
-16
3
0
0
-4
0
0
0
0
0
0
0
0
0
29
88
-9
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
53
43
-81
-37
7
-9
-21
0
0
0
0
0
0
0
0
0
-22
20
-95
4
45
45
-22
-23
0
0
0
0
0
0
0
0
0
-4
70
139
40
-53
-29
53
-95
65
-1
0
0
0
0
0
0
0
80
90
-23
54
81
-16
2
-1
-5
0
0
0
0
0
0
0
0
33
9
35
-28
62
39
35
30
8
0
0
0
0
0
0
0
0
-9
5
23
-4
87
89
-52
-5
0
0
0
0
0
0
0
0
0
18
-1
-62
29
-17
21
4
-3
5
0
0
0
0
0
0
0
0
50
-7
103
10
0
-3
0
0
0
0
0
0
0
0
0
0
0
-10
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
58
76
39
12
57
14
23
0
0
0
0
0
0
0
0
0
53
70
36
-12
-3
35
-53
13
45
0
0
0
0
0
0
0
0
2
76
53
-5
34
49
-31
91
5
3
0
0
0
0
0
0
0
37
90
33
86
20
69
-29
4
0
0
0
0
0
0
0
0
0
59
46
38
35
-58
-89
70
1
-6
0
0
0
0
0
0
0
0
-40
141
44
-16
-15
46
52
0
0
0
0
0
0
0
0
0
0
-6
-39
7
21
-1
30
-2
0
-9
0
0
0
0
0
0
0
0
46
-5
28
22
1
0
0
0
0
0
0
0
0
0
0
0
0
95
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-147
20
84
-33
26
57
-23
-32
0
0
0
0
0
0
0
0
0
30
18
5
70
6
43
32
86
-60
-4
0
0
0
0
0
0
0
1
30
75
-51
-32
22
33
-60
-21
-2
0
0
0
0
0
0
0
-20
-160
18
80
-16
50
36
-84
0
-1
0
0
0
0
0
0
0
-87
21
-80
41
20
-23
0
0
3
0
0
0
0
0
0
0
0
51
41
68
12
-14
53
-6
18
-5
0
0
0
0
0
0
0
0
53
17
48
53
-69
-47
5
-2
-10
1
0
0
0
0
0
0
0
6
-7
-1
-93
13
0
-5
3
2
0
0
0
0
0
0
0
0
17
-52
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
58
37
-47
54
-122
11
0
0
0
0
0
0
0
0
0
0
-18
73
74
51
-3
90
-11
0
0
0
0
0
0
0
0
0
0
26
99
14
17
-45
99
61
35
-1
0
0
0
0
0
0
0
0
54
76
28
19
20
30
13
15
0
0
0
0
0
0
0
0
0
-93
-19
-1
24
127
29
-53
-60
-9
0
0
0
0
0
0
0
0
11
-21
28
-67
82
62
3
-10
0
0
0
0
0
0
0
0
0
-71
111
6
-5
-61
-17
8
0
0
0
0
0
0
0
0
0
0
-18
-33
-62
-21
-3
-1
0
6
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
27
-53
-7
-24
-11
0
0
0
0
0
0
0
0
0
0
0
22
90
144
-6
28
-16
0
0
-2
0
0
0
0
0
0
0
0
-23
26
-18
-16
3
27
5
-1
0
0
0
0
0
0
0
0
0
-11
29
25
33
20
-5
-6
0
0
0
0
0
0
0
0
0
0
-15
5
127
-37
-32
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
31
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-2
3
0
18
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
-10
-11
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
-10
-9
0
0
0
0
0
0
0
0
0
0
8
13
-18
-6
-2
16
4
0
0
0
0
0
0
0
0
0
0
-11
19
20
-8
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
41
-19
-8
-2
0
-4
-1
0
0
0
0
0
0
0
0
0
-1
-5
-17
105
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
8
-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
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
5
14
-39
45
62
0
0
0
0
0
0
0
0
0
-7
-4
-97
-90
72
91
-26
9
0
0
0
0
0
0
0
0
0
-3
-10
79
-81
-5
-22
-43
76
53
0
0
0
0
0
0
0
0
-1
113
8
20
54
26
140
10
-3
0
0
0
0
0
0
0
0
-1
0
-71
-22
-34
-30
108
-8
13
0
0
0
0
0
0
0
0
0
11
-50
-58
108
93
1
0
0
0
0
0
0
0
0
0
0
6
-41
-45
-15
53
-2
2
1
-1
0
0
0
0
0
0
0
0
0
-86
41
-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
-16
-7
10
-29
-4
-14
0
0
0
0
0
0
0
0
0
4
-13
13
-10
-6
-31
54
-23
-2
0
0
0
0
0
0
0
0
0
5
-33
19
1
30
-23
-4
0
0
0
0
0
0
0
0
0
0
-46
-11
-4
21
-6
-16
-3
0
0
0
0
0
0
0
0
0
0
-26
0
-1
137
-14
5
-2
0
0
0
0
0
0
0
0
0
0
-3
96
35
-22
11
0
0
7
0
0
0
0
0
0
0
0
0
-32
-19
-21
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-20
44
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
19
-11
-49
95
-14
47
53
5
0
0
0
0
0
0
0
0
0
6
6
16
0
-28
6
13
-3
0
0
0
0
0
0
0
0
0
-7
10
16
-16
-44
-22
-3
-9
2
0
0
0
0
0
0
0
0
-7
-6
18
0
-1
-14
14
1
0
0
0
0
0
0
0
0
0
-3
0
1
9
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
4
-18
-34
-8
11
11
0
0
0
0
0
0
0
0
0
0
21
2
-41
-64
6
82
-51
2
-3
0
0
0
0
0
0
0
0
3
24
-47
53
122
6
13
-7
13
0
0
0
0
0
0
0
0
-97
-9
31
105
-26
-4
-7
9
0
0
0
0
0
0
0
0
0
5
-16
19
-33
0
5
4
-2
0
0
0
0
0
0
0
0
0
-45
77
44
-56
22
0
-3
-1
-3
0
0
0
0
0
0
0
0
6
-56
-20
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
20
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
15
32
-46
58
90
23
-1
6
0
0
0
0
0
0
0
0
0
85
62
101
114
8
12
-90
19
0
0
0
0
0
0
0
0
0
102
33
-56
43
-48
11
-26
-1
5
0
0
0
0
0
0
0
0
66
-5
67
-16
37
-22
-15
29
2
0
0
0
0
0
0
0
0
-71
106
33
53
-100
0
-5
0
1
0
0
0
0
0
0
0
0
-45
14
117
-86
-5
7
11
-7
0
0
0
0
0
0
0
0
0
37
68
-2
53
-2
1
-46
1
0
0
0
0
0
0
0
0
0
-1
151
-1
-13
-3
0
0
-2
0
0
0
0
0
0
0
0
0
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
4
-56
-1
26
-78
36
0
0
0
0
0
0
0
0
0
53
-4
-86
39
94
89
-27
14
39
0
0
0
0
0
0
0
0
38
-19
16
-25
57
37
16
-68
21
0
0
0
0
0
0
0
0
-49
22
128
28
49
-33
14
-5
2
0
0
0
0
0
0
0
0
-5
-15
6
118
92
107
0
25
1
0
0
0
0
0
0
0
0
46
53
39
-65
15
20
-5
-2
-14
0
0
0
0
0
0
0
0
-3
-46
-55
80
-5
-13
34
2
0
0
0
0
0
0
0
0
0
-23
8
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
20
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
151
8
-23
51
73
77
-41
61
0
4
0
0
0
0
0
0
0
157
55
99
68
31
-35
52
-97
-14
0
0
0
0
0
0
0
0
-3
-28
146
-1
70
-9
17
144
62
-4
0
0
0
0
0
0
0
-18
19
70
120
-39
77
12
-17
-14
0
0
0
0
0
0
0
0
33
49
33
6
137
-23
43
0
0
0
0
0
0
0
0
0
0
108
71
88
24
-44
28
-6
5
0
-3
0
0
0
0
0
0
0
-21
32
54
-71
-57
25
7
0
0
0
0
0
0
0
0
0
0
-17
31
12
69
9
-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
4
35
20
1
16
75
0
-14
0
0
0
0
0
0
0
0
0
24
4
-11
-56
42
3
-82
26
28
0
0
0
0
0
0
0
0
27
-15
51
-43
14
-30
-42
-25
-5
24
0
0
0
0
0
0
0
-28
1
33
86
-34
28
-27
136
11
0
0
0
0
0
0
0
0
5
62
-12
145
51
101
-93
-56
0
1
0
0
0
0
0
0
0
100
40
-9
-18
32
-8
-21
47
35
0
0
0
0
0
0
0
0
17
55
43
-3
4
-6
-29
5
-3
0
0
0
0
0
0
0
0
7
85
-104
-104
4
9
33
0
7
0
0
0
0
0
0
0
0
46
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-5
15
-28
29
26
-20
0
0
0
0
0
0
0
0
0
0
-31
93
21
15
-56
51
15
-42
-1
1
0
0
0
0
0
0
0
-42
43
83
62
20
21
-7
-6
1
0
0
0
0
0
0
0
0
-23
18
35
134
82
52
82
-33
11
0
0
0
0
0
0
0
0
-164
60
27
81
53
19
-4
-3
0
0
0
0
0
0
0
0
0
59
-61
70
48
-78
16
108
16
13
0
0
0
0
0
0
0
0
9
-69
121
9
12
32
34
-7
0
0
0
0
0
0
0
0
0
15
-8
52
13
-3
0
7
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
20
-10
14
-90
17
-1
0
0
0
0
0
0
0
0
0
0
0
10
37
15
23
-21
-21
-3
0
0
0
0
0
0
0
0
0
0
18
10
7
8
4
0
-27
0
0
0
0
0
0
0
0
0
0
66
15
-3
-7
-4
20
5
3
0
0
0
0
0
0
0
0
0
-64
38
44
1
10
-14
1
-5
0
0
0
0
0
0
0
0
0
-6
42
43
-8
0
0
-4
-1
0
0
0
0
0
0
0
0
0
6
7
-11
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
33
-46
-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
14
7
-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
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
-10
0
-1
0
0
3
4
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
20
2
-5
0
0
0
0
0
0
0
0
0
7
9
2
1
15
-33
24
-19
2
0
0
0
0
0
0
0
0
45
-4
-16
-1
3
-10
-3
-2
0
0
0
0
0
0
0
0
0
0
68
82
19
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
42
24
42
6
-1
0
0
0
0
0
0
0
0
0
0
0
21
-2
7
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
-29
33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-9
17
10
64
36
0
0
0
0
0
0
0
0
0
0
-69
16
-11
7
10
25
20
3
0
0
0
0
0
0
0
0
-8
-37
-1
68
85
-14
9
-36
-3
0
0
0
0
0
0
0
0
45
15
97
69
-3
47
-23
-9
8
0
0
0
0
0
0
0
0
-4
33
-44
16
-15
-23
-27
-2
-2
0
0
0
0
0
0
0
0
-8
0
-83
-103
-1
36
4
0
4
0
0
0
0
0
0
0
0
-1
-1
60
-42
-27
1
0
0
-2
0
0
0
0
0
0
0
0
-5
-94
111
10
-4
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
17
9
-1
0
0
-7
-4
0
0
0
0
0
0
0
0
0
0
-1
15
-2
-2
-11
-17
17
27
0
0
0
0
0
0
0
0
0
-31
-11
4
20
16
-3
29
7
1
0
0
0
0
0
0
0
13
-7
-13
120
-33
91
-81
75
-7
0
0
0
0
0
0
0
0
0
87
64
108
14
-9
5
1
0
0
0
0
0
0
0
0
0
0
38
0
86
-5
-4
10
0
0
0
0
0
0
0
0
0
0
0
-15
1
6
5
43
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
82
-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
-15
4
0
4
14
0
0
0
0
0
0
0
0
0
-19
0
55
10
95
-21
-3
-10
0
0
1
0
0
0
0
0
0
1
-10
-27
1
5
-6
-4
-3
3
-1
0
0
0
0
0
0
0
1
0
20
-1
-19
-35
43
-4
0
0
0
0
0
0
0
0
0
0
19
-3
-14
22
-9
7
4
0
0
0
0
0
0
0
0
0
0
-5
16
0
11
-7
-2
0
0
0
0
0
0
0
0
0
0
-33
-7
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
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
-17
31
1
61
18
-14
0
0
0
0
0
0
0
0
0
0
16
18
-31
61
74
-20
-7
0
0
0
0
0
0
0
0
0
34
-36
-16
51
46
-59
-16
-14
0
-6
0
0
0
0
0
0
0
3
41
4
36
14
-53
-22
-32
2
-1
0
0
0
0
0
0
0
0
16
-33
89
98
-11
18
-2
3
0
0
0
0
0
0
0
0
11
-29
83
3
0
-23
-3
6
0
0
0
0
0
0
0
0
0
13
-38
29
0
11
1
7
0
0
0
0
0
0
0
0
0
0
6
8
0
-3
-3
1
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
-53
50
99
-20
-1
81
11
0
0
0
0
0
0
0
0
0
-30
83
6
77
23
53
-13
-40
-4
0
0
0
0
0
0
0
0
87
20
26
-41
80
93
-2
1
5
0
0
0
0
0
0
0
0
32
-62
-2
-40
4
-5
40
0
-7
0
0
0
0
0
0
0
0
-2
41
72
39
-48
5
21
-11
-2
0
0
0
0
0
0
0
0
-25
32
88
76
40
0
2
-2
4
0
0
0
0
0
0
0
0
-42
-84
5
57
5
-3
-1
-2
0
0
0
0
0
0
0
0
0
-10
-96
19
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
77
15
-5
36
-98
-10
39
0
0
0
0
0
0
0
0
0
34
-16
49
73
-34
43
27
89
0
0
0
0
0
0
0
0
0
92
12
65
-49
6
-42
-45
20
-5
0
0
0
0
0
0
0
0
5
85
30
91
-77
13
-7
-37
0
7
0
0
0
0
0
0
0
24
54
74
31
-34
-25
-25
34
13
0
0
0
0
0
0
0
0
5
100
53
-47
-4
44
0
0
8
0
0
0
0
0
0
0
0
-10
23
78
33
46
11
-30
1
5
0
0
0
0
0
0
0
0
-3
12
-3
-21
13
17
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
15
113
-35
95
67
-12
90
-19
0
0
0
0
0
0
0
0
0
7
13
142
-16
-38
109
-3
19
-3
0
0
0
0
0
0
0
0
59
37
54
-5
46
-63
11
45
-45
0
0
0
0
0
0
0
0
83
71
76
34
65
79
21
34
13
0
0
0
0
0
0
0
0
125
154
6
45
191
-61
-86
-11
-1
0
0
0
0
0
0
0
0
36
106
38
51
65
58
0
0
-7
0
0
0
0
0
0
0
0
2
27
67
61
74
-1
-29
1
0
1
0
0
0
0
0
0
0
22
-71
60
24
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
7
67
18
83
62
-43
-115
0
0
0
0
0
0
0
0
0
125
18
66
82
22
61
-73
-58
-14
0
0
0
0
0
0
0
0
2
-4
77
60
-9
110
-47
-5
-29
-3
0
0
0
0
0
0
0
13
-24
122
204
16
21
24
23
-29
-5
0
0
0
0
0
0
0
-19
6
97
97
-88
43
-14
-27
7
26
0
0
0
0
0
0
0
19
44
-34
45
98
6
-11
-4
0
10
0
0
0
0
0
0
0
53
18
96
-81
-24
-74
109
18
20
0
0
0
0
0
0
0
0
-43
59
-56
40
-6
19
15
-1
0
0
0
0
0
0
0
0
0
17
-4
10
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
43
38
-22
47
-34
35
0
0
0
0
0
0
0
0
0
0
65
129
44
57
54
-41
15
31
-2
0
0
0
0
0
0
0
0
-17
7
80
-26
15
25
55
77
40
0
0
0
0
0
0
0
0
7
40
11
55
-14
69
104
20
32
-1
0
0
0
0
0
0
0
34
-46
23
44
23
-12
-77
-7
5
-1
0
0
0
0
0
0
0
-24
20
33
8
-67
0
32
11
0
0
0
0
0
0
0
0
0
23
49
122
48
-5
-1
-5
-21
0
0
0
0
0
0
0
0
0
58
-13
64
4
4
1
-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
-1
-10
123
29
54
0
0
0
0
0
0
0
0
0
0
0
-26
-1
-36
52
-92
-56
1
0
0
0
0
0
0
0
0
0
0
-20
63
59
48
39
48
10
-7
0
0
0
0
0
0
0
0
0
-30
-37
-2
27
21
-6
-6
0
0
0
0
0
0
0
0
0
0
31
39
34
14
18
1
2
0
0
0
0
0
0
0
0
0
0
18
29
-18
-6
11
-14
-3
0
0
0
0
0
0
0
0
0
0
-6
19
-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
-35
55
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
-27
53
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
6
20
26
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
-9
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
13
0
0
0
13
4
0
0
0
0
0
0
0
0
0
0
0
15
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
63
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
41
-4
5
-8
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
7
-9
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
9
49
5
11
-1
-19
-59
14
0
0
0
0
0
0
0
0
1
-24
16
3
39
17
48
-1
0
0
0
0
0
0
0
0
0
9
86
-9
46
54
-33
-3
22
-4
0
0
0
0
0
0
0
0
-4
-5
-5
-22
23
49
-12
5
0
0
0
0
0
0
0
0
0
-11
61
-32
-29
57
25
5
-1
0
0
0
0
0
0
0
0
0
8
0
-25
33
5
-10
-6
0
0
0
0
0
0
0
0
0
0
0
51
15
52
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
15
-2
0
0
0
0
0
0
0
0
0
0
10
30
1
3
0
-42
18
7
0
0
0
0
0
0
0
0
0
35
-1
11
5
-2
87
14
7
0
0
0
0
0
0
0
0
0
36
-43
-56
94
-31
-15
-14
0
0
0
0
0
0
0
0
0
0
36
94
-15
29
-4
45
-5
-3
0
0
0
0
0
0
0
0
0
-15
23
43
-68
-14
0
1
0
0
0
0
0
0
0
0
0
0
-37
0
84
43
99
0
0
1
-1
0
0
0
0
0
0
0
0
-2
20
32
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
-1
4
-26
5
0
0
24
0
0
0
0
0
0
0
0
0
0
8
0
9
0
2
0
4
1
0
0
0
0
0
0
0
0
0
0
10
-4
2
1
5
-2
6
0
0
0
0
0
0
0
0
0
0
0
3
-36
-45
-2
10
-1
0
0
0
0
0
0
0
0
0
0
-22
2
2
1
7
-10
2
0
0
0
0
0
0
0
0
0
1
77
32
0
24
5
4
0
0
0
0
0
0
0
0
0
0
2
13
0
-14
4
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
0
0
-1
-5
0
-19
9
10
16
0
0
0
0
0
0
0
0
0
0
-1
73
90
-31
3
-63
-20
-4
0
0
0
0
0
0
0
0
0
0
-1
23
-7
-4
-33
22
-1
1
-1
0
0
0
0
0
0
0
0
-6
0
-27
7
-1
-13
2
0
0
0
0
0
0
0
0
0
0
3
31
-1
-5
5
-2
3
2
0
0
0
0
0
0
0
0
0
41
-34
-7
-9
17
3
-5
1
0
0
0
0
0
0
0
0
-2
30
14
-55
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-23
-24
-1
3
0
0
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
-1
-9
32
53
26
39
11
8
0
0
0
0
0
0
0
0
0
-65
-7
24
42
-42
-5
-71
52
0
0
0
0
0
0
0
0
0
33
-45
-30
31
-84
5
-7
2
-1
0
0
0
0
0
0
0
0
-11
-18
-57
4
-18
2
-5
15
0
0
0
0
0
0
0
0
0
3
57
17
-20
4
58
31
8
-6
0
0
0
0
0
0
0
0
9
14
20
38
14
35
3
-7
0
0
0
0
0
0
0
0
0
-31
-11
24
26
-15
0
0
0
2
0
0
0
0
0
0
0
0
109
-40
61
-26
-2
0
0
15
0
0
0
0
0
0
0
0
0
29
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
41
-23
36
-5
10
22
-2
0
0
0
0
0
0
0
0
0
-22
-41
6
28
77
-50
40
96
9
0
0
0
0
0
0
0
0
20
54
-42
-83
11
-8
119
-33
35
2
0
0
0
0
0
0
0
20
61
-24
7
-49
13
46
6
6
0
0
0
0
0
0
0
0
0
-86
-2
83
155
23
-37
29
7
0
0
0
0
0
0
0
0
5
-110
-17
-6
-34
45
14
-28
-18
29
0
0
0
0
0
0
0
7
39
32
61
3
-29
0
-14
-1
0
0
0
0
0
0
0
0
33
-113
-7
94
-1
-23
-1
0
-1
0
0
0
0
0
0
0
0
-8
5
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
37
78
15
53
70
-26
-9
-2
0
0
0
0
0
0
0
0
0
14
33
50
119
54
-104
72
53
-20
0
0
0
0
0
0
0
0
44
18
18
47
61
27
53
101
8
1
0
0
0
0
0
0
0
98
89
58
-45
57
-28
55
19
-2
0
0
0
0
0
0
0
0
4
52
119
51
45
115
-30
1
2
0
0
0
0
0
0
0
0
-22
-29
85
-6
-15
-28
-58
7
-4
0
0
0
0
0
0
0
0
-71
-2
47
77
64
11
38
0
0
0
0
0
0
0
0
0
0
16
5
11
29
24
2
1
-1
0
0
0
0
0
0
0
0
0
-11
25
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-4
4
52
-48
65
33
-23
0
0
0
0
0
0
0
0
0
13
-17
-12
-42
25
-24
14
142
-4
41
0
0
0
0
0
0
0
31
8
8
82
-25
11
-25
56
2
5
0
0
0
0
0
0
0
-3
-39
88
-5
139
53
0
34
64
-7
0
0
0
0
0
0
0
-3
-21
27
8
23
82
43
-106
-6
5
0
0
0
0
0
0
0
2
7
-32
204
32
-81
22
-11
-84
5
0
0
0
0
0
0
0
-10
36
61
57
-46
83
-5
-30
0
0
0
0
0
0
0
0
0
99
-30
-26
-5
4
-4
-52
-23
-3
0
0
0
0
0
0
0
0
-23
50
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
126
15
-5
10
31
35
0
0
0
0
0
0
0
0
0
0
64
5
23
98
-53
3
33
8
4
3
0
0
0
0
0
0
0
-83
-15
7
110
48
-32
15
-3
0
0
0
0
0
0
0
0
0
5
38
71
27
48
-5
-14
-97
-1
-1
0
0
0
0
0
0
0
38
-30
125
59
10
74
58
62
1
0
0
0
0
0
0
0
0
24
68
23
-49
56
-5
35
11
-6
0
0
0
0
0
0
0
0
57
57
20
6
-57
-27
28
5
0
0
0
0
0
0
0
0
0
-49
-5
-23
-5
-11
11
6
2
0
0
0
0
0
0
0
0
0
-15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-24
-93
-33
-14
0
0
0
0
0
0
0
0
0
0
0
-5
-17
59
14
-108
-10
0
0
0
0
0
0
0
0
0
0
0
-14
-46
-4
52
21
14
9
1
0
0
0
0
0
0
0
0
0
-13
-7
57
22
-8
5
1
15
0
0
0
0
0
0
0
0
0
-1
33
43
-32
13
-4
-9
-7
0
0
0
0
0
0
0
0
0
1
-3
-43
0
-7
3
4
1
0
0
0
0
0
0
0
0
0
-11
1
-1
7
21
1
0
0
0
0
0
0
0
0
0
0
0
-8
-44
14
-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
-1
26
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-4
16
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-9
-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
7
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
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-2
0
8
0
0
0
0
0
0
0
0
0
3
2
-3
0
5
0
-17
0
0
0
0
0
0
0
0
0
0
8
7
78
-5
-1
2
0
33
0
0
0
0
0
0
0
0
0
1
3
-11
-7
6
0
6
0
0
0
0
0
0
0
0
0
0
10
0
-1
10
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
11
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
33
0
1
-1
0
0
0
0
0
0
0
0
0
0
4
0
43
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
5
-5
3
0
0
0
0
0
0
0
0
0
0
0
4
-9
-1
25
5
-3
0
0
0
0
0
0
0
0
0
0
0
21
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
20
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
-17
-17
13
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
-32
18
-9
0
2
0
3
0
0
0
0
0
0
0
0
-31
0
-15
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-55
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
-9
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
-8
0
0
0
0
0
0
0
0
0
0
0
1
1
0
33
-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
-24
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
-7
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
-17
6
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
14
6
-5
5
90
-1
14
3
0
0
0
0
0
0
0
0
-1
17
-92
-30
-4
-55
-50
-3
0
0
0
0
0
0
0
0
0
2
2
47
13
14
5
0
5
4
0
0
0
0
0
0
0
0
0
-52
73
77
8
0
0
0
0
0
0
0
0
0
0
0
0
-9
-7
77
-11
0
0
-3
0
0
0
0
0
0
0
0
0
0
37
36
55
62
-2
-3
0
4
0
0
0
0
0
0
0
0
0
-17
-28
54
9
21
0
0
0
0
0
0
0
0
0
0
0
0
-53
5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-2
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-3
103
19
-49
-10
0
-34
3
0
0
0
0
0
0
0
0
0
0
-14
43
-12
5
14
-3
-3
9
0
0
0
0
0
0
0
0
-3
-33
9
37
-2
-14
14
9
0
0
0
0
0
0
0
0
0
-1
-11
-5
-14
-56
-50
-3
0
0
0
0
0
0
0
0
0
0
0
48
1
105
36
-14
-5
0
0
0
0
0
0
0
0
0
0
1
15
64
-42
-4
-9
0
0
0
0
0
0
0
0
0
0
0
1
-23
50
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
48
5
1
4
8
0
0
0
0
0
0
0
0
0
0
0
0
112
-33
62
37
-9
-48
30
-4
0
0
0
0
0
0
0
0
0
62
111
19
62
35
12
-12
-27
0
0
0
0
0
0
0
0
0
25
47
-6
-5
29
-73
-56
-2
-2
0
0
0
0
0
0
0
0
3
20
-30
-19
4
50
-20
6
0
0
0
0
0
0
0
0
0
-19
-4
22
58
-42
37
1
-2
1
0
0
0
0
0
0
0
0
9
99
69
9
-48
101
17
-2
9
0
0
0
0
0
0
0
0
61
143
25
-62
46
114
-5
0
0
0
0
0
0
0
0
0
0
-12
-6
-44
64
-31
9
2
0
-1
0
0
0
0
0
0
0
0
-72
72
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
31
-14
-20
56
-60
-68
6
0
0
0
0
0
0
0
0
0
11
72
7
103
126
-56
-46
3
-5
1
0
0
0
0
0
0
0
2
27
-27
-17
75
74
39
6
-26
-4
0
0
0
0
0
0
0
-3
-17
-3
-23
-17
108
-55
-5
-109
-2
0
0
0
0
0
0
0
-2
61
91
-28
-75
-19
-90
140
-32
0
0
0
0
0
0
0
0
-11
43
-28
-56
89
-92
137
96
-3
-1
0
0
0
0
0
0
0
-9
93
-12
42
28
7
-1
5
-5
-4
0
0
0
0
0
0
0
-11
-54
-80
-8
-33
-19
4
-3
0
0
0
0
0
0
0
0
0
21
-20
12
-10
0
0
6
0
0
0
0
0
0
0
0
0
0
0
15
-5
124
76
11
-3
1
0
0
0
0
0
0
0
0
0
0
12
57
123
90
102
-83
-27
0
-1
0
0
0
0
0
0
0
0
23
130
59
35
-13
61
-43
-3
5
0
0
0
0
0
0
0
0
-58
87
-14
29
-37
2
35
-21
0
0
0
0
0
0
0
0
0
46
58
70
-25
-16
47
21
2
0
0
0
0
0
0
0
0
0
3
-34
31
79
17
25
-3
14
1
0
0
0
0
0
0
0
0
36
-57
-21
6
-55
45
-5
11
-4
0
0
0
0
0
0
0
0
45
64
5
1
-8
-3
0
0
0
0
0
0
0
0
0
0
0
7
-15
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
10
-32
1
33
-15
1
0
0
0
0
0
0
0
0
0
0
0
-7
70
39
-87
-63
1
-1
0
0
0
0
0
0
0
0
0
0
0
-17
46
-5
-33
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
92
-7
2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
1
-53
6
-21
34
-10
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
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
11
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
-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
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
8
-8
-3
-8
0
5
0
0
0
0
0
0
0
0
0
0
2
-6
14
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
10
10
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
16
33
16
82
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-27
44
0
0
9
0
0
0
0
0
0
0
0
0
0
-30
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
96
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
14
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
14
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
37
5
53
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
22
0
9
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
-24
-17
-1
22
-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
-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
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
-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
-9
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
-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
-31
0
-3
0
0
0
0
0
0
0
0
-3
5
1
14
-3
-19
-1
-16
0
0
0
0
0
0
0
0
0
0
-5
18
-1
14
5
-84
-3
-1
0
0
0
0
0
0
0
0
0
0
-1
24
6
53
2
0
1
0
0
0
0
0
0
0
0
0
1
2
25
-23
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
5
11
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
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
4
-10
11
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
-25
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
11
-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
-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
-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
-14
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
6
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
9
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
21
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
10
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
-10
-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
-14
-18
-25
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
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
5
-20
-4
-14
0
-5
0
0
0
0
0
0
0
0
-1
0
-3
10
0
-5
7
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-43
-11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
16
-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
14
-32
-25
21
0
0
0
18
-9
0
1
0
0
0
0
0
0
-2
-4
-16
0
-46
-44
7
-53
-5
10
0
0
0
0
0
0
0
1
6
9
23
10
-17
-2
16
5
-2
0
0
0
0
0
0
0
0
14
16
31
-41
37
34
13
1
0
0
0
0
0
0
0
0
0
1
0
29
-5
48
-14
16
9
3
0
0
0
0
0
0
0
0
4
-1
-1
6
-8
-5
32
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
3
0
0
0
0
-48
-6
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-43
-18
2
0
0
0
0
0
0
0
0
0
0
-2
4
8
30
32
-18
-31
1
0
0
0
0
0
0
0
0
-1
0
0
4
36
-5
-83
29
1
2
0
0
0
0
0
0
0
0
5
0
-17
5
6
26
-2
-1
0
0
0
0
0
0
0
0
0
0
-16
5
-55
4
10
3
3
0
0
0
0
0
0
0
0
0
2
0
0
-4
1
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
-1
1
1
0
0
0
0
0
0
0
0
0
0
5
-5
-32
-23
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
27
-11
-2
2
0
0
0
0
0
0
0
0
-2
0
0
-2
41
-15
18
-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
15
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
22
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
4
-4
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
3
2
-2
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
0
-2
-11
-49
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
-14
4
3
0
0
0
0
0
0
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
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-11
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-1
-5
0
2
1
4
-9
0
0
0
0
0
0
0
0
0
0
0
-13
0
9
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
30
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
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
46
1
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
-3
0
1
-68
-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
-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
13
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
20
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
-9
-4
-61
-8
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
-9
0
0
0
0
0
0
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
-10
9
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
10
0
2
-6
-33
-6
-63
5
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
2
-1
3
-14
-2
3
0
0
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
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
-9
14
14
-2
-10
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
19
5
33
10
2
0
0
0
0
0
0
0
0
0
0
0
-2
-5
5
4
13
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-8
3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
0
0
0
0
0
0
0
2
0
1
-43
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
1
-3
-65
-18
-14
0
0
0
-6
0
0
0
0
0
0
0
0
0
5
2
17
-2
5
-64
-39
0
0
0
0
0
0
0
0
1
0
3
11
1
-41
-62
22
5
-1
0
0
0
0
0
0
0
0
0
-7
1
-5
-55
14
29
-4
1
0
0
0
0
0
0
0
0
0
-3
0
-1
-52
26
62
21
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
-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
-4
-23
-23
29
-7
0
0
0
0
0
0
0
0
0
0
0
-10
2
-93
-72
-46
-61
0
0
0
37
-5
0
0
0
0
0
0
2
18
11
6
16
-30
-27
15
-82
-1
-1
0
0
0
0
0
0
4
-1
13
5
40
40
-47
-6
1
-9
0
0
0
0
0
0
0
5
-5
0
-13
37
2
-41
68
-48
0
0
0
0
0
0
0
0
0
0
-3
0
-59
-92
-18
-3
63
-23
-1
0
0
0
0
0
0
0
0
2
1
-6
11
16
-31
21
7
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
-5
0
-5
6
0
0
0
0
0
0
0
0
0
2
-22
9
-8
1
0
0
0
-2
0
0
0
0
0
0
0
1
9
-24
-147
53
-13
0
0
0
-16
-5
0
0
0
0
0
0
0
4
-14
34
-6
-29
-38
-23
-26
-8
-1
0
0
0
0
0
0
0
-3
6
-17
7
6
-42
-25
108
2
-27
0
2
0
0
0
0
0
0
-3
-41
39
6
-28
-45
-43
-46
0
0
0
0
0
0
0
0
0
0
9
-50
-36
33
55
71
19
-2
0
0
0
0
0
0
0
0
2
2
2
2
41
25
11
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
-6
0
0
0
0
0
0
45
-5
0
0
0
0
0
0
0
0
5
-26
-8
3
0
0
0
-24
-35
0
0
0
0
0
0
0
0
0
-4
8
-6
9
22
-23
0
5
-2
0
0
0
0
0
0
0
0
-1
0
4
63
-22
14
38
-7
0
-1
0
0
0
0
0
0
0
-1
3
1
8
-17
-6
47
-50
0
0
0
0
0
0
0
0
0
0
0
1
-35
-22
21
16
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-7
-1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-14
-1
0
0
0
0
0
0
0
0
0
3
1
0
0
0
-3
-10
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
2
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-21
-2
-2
2
11
0
0
0
0
0
0
0
0
0
-1
0
1
-27
6
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
20
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
13
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-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
-9
0
-4
-3
2
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
3
0
-7
0
-3
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
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
1
5
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-16
10
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
15
-55
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
11
-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
-6
0
0
0
0
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
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-5
14
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
4
-10
-44
63
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
5
-14
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
13
-9
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
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
2
-3
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-1
13
39
46
-1
0
0
0
0
0
0
0
0
0
4
0
1
0
0
-6
-1
6
0
0
0
0
0
0
0
0
0
-1
1
-8
-18
34
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-14
33
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-14
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-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
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
3
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
9
-1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
-15
-35
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-63
-60
27
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-4
-14
-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
9
0
0
0
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
-1
-2
-13
5
0
0
0
-4
0
0
0
0
0
0
0
0
8
-18
59
0
1
3
-10
-23
0
0
0
0
0
0
0
0
0
0
4
3
-6
5
33
-53
-17
0
0
0
0
0
0
0
0
0
0
0
-4
-33
48
0
-30
11
0
0
0
0
0
0
0
0
0
0
0
-6
1
8
-60
-8
23
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-11
-79
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-39
1
-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
14
-13
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
23
5
-62
-4
0
0
0
3
-7
0
0
0
0
0
0
-1
-9
-49
1
9
14
7
-63
-20
-13
0
0
0
0
0
0
0
0
-5
-9
9
-1
26
1
-43
-119
16
0
0
0
0
0
0
0
0
0
1
-1
-39
-43
13
45
105
3
0
0
0
0
0
0
0
0
0
-6
11
-19
-34
80
72
-30
1
0
0
0
0
0
0
0
0
0
0
0
2
0
49
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
17
-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
1
-8
53
-39
29
-100
0
0
0
1
0
0
0
0
0
0
0
35
26
62
25
-96
21
0
0
0
-5
5
0
0
0
0
0
0
-8
-34
18
37
48
25
-30
-107
1
-79
0
0
0
0
0
0
-1
-2
20
43
9
3
-51
-21
26
102
-1
7
0
0
0
0
0
0
0
4
-30
30
11
84
-32
82
-30
-59
10
0
0
0
0
0
0
0
35
16
-1
-9
36
0
-11
53
0
2
0
0
0
0
0
0
0
0
4
-16
0
61
-14
27
22
-14
0
0
0
0
0
0
0
0
0
2
-1
-1
7
-19
-14
-51
14
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
-1
16
34
33
26
10
0
0
0
0
0
0
0
0
0
0
0
-4
1
14
23
31
-68
0
0
0
-16
0
0
0
0
0
0
0
-9
-4
60
-65
17
-43
9
-74
-57
-11
-2
0
0
0
0
0
0
0
1
14
1
-46
-40
-84
-71
-27
-81
1
-5
0
0
0
0
0
9
14
2
13
-42
-18
17
33
69
-1
4
0
0
0
0
0
0
0
0
-20
-2
-16
19
6
6
80
53
0
0
0
0
0
0
0
0
0
-6
-16
3
9
31
-5
29
13
4
0
0
0
0
0
0
0
0
0
0
0
0
-33
-5
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
23
-2
0
0
0
-18
-4
-1
0
0
0
0
0
0
0
0
0
10
-15
15
6
74
21
10
0
0
0
0
0
0
0
3
0
0
-2
-8
-6
31
40
-23
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
-16
77
-31
-32
0
-1
0
0
0
0
0
0
0
0
0
0
0
-16
24
-14
-15
-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
34
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-25
-1
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-14
1
5
-3
1
0
0
0
0
0
0
0
0
0
-1
-3
9
4
1
-24
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
-10
-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
-9
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-21
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
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
10
-11
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
2
-5
8
7
0
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
1
65
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
-5
-6
-13
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-9
-7
-13
0
9
-3
-6
-9
0
0
0
0
0
0
0
0
0
0
0
6
3
2
-36
-4
14
-9
0
0
0
0
0
0
0
0
0
0
0
-2
8
15
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
-16
-15
-27
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-101
-76
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
24
-27
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
15
1
-3
-1
0
0
0
-1
0
0
0
0
0
0
0
1
-9
0
2
2
-4
2
-31
-11
1
0
0
0
0
0
0
0
0
0
2
1
-9
27
60
-27
-5
2
0
0
0
0
0
0
0
0
0
-4
0
2
-27
-80
-14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
27
14
-32
20
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-3
6
-52
53
-1
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-52
-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
-10
-8
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-1
-5
0
14
-6
31
-11
0
0
0
0
0
0
0
0
0
0
-16
-2
-2
-1
16
-47
14
0
0
0
0
0
0
0
0
0
0
-6
-6
0
30
5
19
-57
5
0
0
0
0
0
0
0
0
0
0
0
-6
11
22
-20
-9
0
0
0
0
0
0
0
0
0
0
0
-15
-5
37
3
-20
61
5
0
0
0
0
0
0
0
0
0
0
0
1
-17
-46
-4
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
-1
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-51
1
1
-6
0
0
0
5
1
0
0
0
0
0
0
5
-14
0
-22
63
3
-5
3
34
-1
0
0
0
0
0
0
0
0
0
20
-6
0
-14
8
9
0
6
0
0
0
0
0
0
0
0
7
1
16
-48
0
-8
-7
-31
-9
0
0
0
0
0
0
0
0
0
1
2
-8
-31
-1
-88
-29
-5
0
0
0
0
0
0
0
0
0
2
-1
2
-5
-5
15
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-24
-3
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
16
-3
-8
0
0
0
0
0
0
0
0
0
0
0
13
10
67
-45
-41
-13
0
0
0
22
4
0
0
0
0
0
0
0
-61
-23
97
64
102
10
-47
-54
0
0
0
0
0
0
0
0
0
-18
33
-6
-55
2
-54
-9
-6
3
-7
0
0
0
0
0
0
0
-7
0
-33
100
5
0
-3
40
-4
0
0
0
0
0
0
0
0
1
6
66
94
-70
-10
8
37
0
0
0
0
0
0
0
0
0
0
0
-24
-3
14
-24
-81
22
-2
0
0
0
0
0
0
0
0
0
0
0
5
13
-12
44
38
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-42
0
0
0
0
0
0
0
0
0
2
-27
14
-43
-2
10
0
0
0
10
0
0
0
0
0
0
1
2
23
34
28
23
-41
0
0
0
-2
0
0
0
0
0
0
0
11
13
21
-94
14
19
-42
-41
-36
0
0
0
0
0
0
0
0
-3
-14
-21
18
51
-158
-28
-107
-4
5
-14
0
0
0
0
0
0
0
-18
59
-124
26
0
-17
3
6
-7
0
0
0
0
0
0
0
2
18
-26
-19
-15
-13
14
122
-22
-5
5
0
0
0
0
0
0
0
-3
-1
9
-73
-26
117
13
-26
1
0
0
0
0
0
0
0
0
0
0
0
-2
25
-61
-56
-109
-19
0
0
0
0
0
0
0
0
0
0
0
0
-24
-13
6
-13
-2
0
0
0
0
0
0
0
0
-92
5
29
2
-47
0
0
0
3
0
0
0
0
0
0
0
-35
-25
90
-55
74
-92
0
0
0
-29
-2
0
0
0
0
0
0
-4
15
-72
-54
67
73
-57
-64
-33
6
-5
-4
0
0
0
0
0
0
39
3
-78
-61
-53
59
97
80
-16
-2
0
0
0
0
0
0
-10
9
10
4
-77
-133
18
12
44
-2
-5
0
0
0
0
0
0
0
-14
-13
-61
-93
8
47
50
51
0
0
0
0
0
0
0
0
-5
0
-1
-90
-64
58
-19
16
45
4
0
0
0
0
0
0
0
0
0
0
10
-31
3
-69
-29
29
32
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
-8
22
-5
0
0
0
-23
14
0
0
0
0
0
0
0
2
-2
0
-2
-4
22
46
8
66
2
0
0
0
0
0
0
0
0
1
0
-9
0
1
68
16
2
11
1
0
0
0
0
0
0
0
0
-2
-2
-2
4
-8
16
-11
0
0
0
0
0
0
0
0
0
0
0
-4
-10
-6
-14
15
23
0
0
0
0
0
0
0
0
0
0
0
9
0
0
2
-5
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
48
-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
-27
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
-24
11
-41
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
-10
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
-10
-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
-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
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
-6
-5
17
0
0
0
0
0
0
0
0
0
0
1
-3
-1
5
35
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-23
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
3
-74
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
-2
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-8
0
26
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
-17
-9
-1
1
0
0
0
0
0
0
0
0
0
0
-3
-32
21
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
7
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
0
11
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
-2
3
51
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-37
-50
7
3
6
2
-5
0
0
0
0
0
0
0
0
0
0
-8
-52
5
0
53
7
-97
1
0
0
0
0
0
0
0
0
0
0
0
41
28
-151
-36
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-5
25
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
-38
-22
-43
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-80
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
-4
-14
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
-68
0
2
-11
-5
13
-2
0
0
0
0
0
0
0
0
-9
0
32
0
25
25
-14
-4
0
0
0
0
0
0
0
0
0
-3
14
0
-17
27
-29
14
-49
0
0
0
0
0
0
0
0
0
0
2
0
0
-16
-58
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-19
-77
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-2
0
0
0
0
0
0
0
0
9
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
-5
-7
6
4
0
0
0
0
1
0
0
0
0
0
0
0
-1
7
23
-14
9
-5
11
-22
21
2
0
0
0
0
0
0
0
0
0
-74
6
1
9
40
11
0
-3
0
0
0
0
0
0
0
0
1
-55
-26
-9
-84
1
-13
-16
0
0
0
0
0
0
0
0
0
1
5
-35
6
0
-41
-100
-53
0
0
0
0
0
0
0
0
3
0
0
3
0
1
-3
0
16
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
-53
2
-57
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
12
-19
-17
0
0
0
0
0
0
0
0
0
0
0
-4
21
-20
50
0
39
0
0
0
2
0
0
0
0
0
0
0
3
-44
9
41
-90
20
-13
3
-25
0
0
0
0
0
0
0
0
5
0
14
19
31
-76
-29
11
14
-3
-1
0
0
0
0
0
0
0
-1
-4
-37
21
85
-66
-45
2
0
0
0
0
0
0
0
0
0
0
3
24
44
-60
0
6
17
0
0
0
0
0
0
0
0
0
0
3
-1
-24
-17
14
71
71
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
-2
-95
-109
-4
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-52
2
0
0
0
0
0
0
0
0
-25
-23
-6
-59
20
-5
0
0
0
-1
0
0
0
0
0
0
0
-141
7
-10
42
-35
-44
0
0
0
-26
0
0
0
0
0
0
0
-26
-86
7
-22
21
-93
-15
5
-17
-5
1
0
0
0
0
0
0
-5
11
108
43
-2
8
-166
39
6
-1
0
0
0
0
0
0
0
0
-2
86
-2
10
-65
-53
-7
10
-1
0
0
0
0
0
0
0
-5
30
-1
16
21
-75
55
0
-3
0
0
0
0
0
0
0
0
1
1
-7
-70
28
15
-14
109
58
9
0
0
0
0
0
0
0
0
0
0
-60
7
-29
29
53
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
10
-55
0
-16
0
0
0
0
0
0
0
6
1
33
-43
11
2
0
0
0
4
0
0
0
0
0
0
0
-15
-8
-22
-25
44
-22
0
0
0
13
-4
0
0
0
0
0
0
1
-1
-11
-115
-56
-104
50
-39
-103
4
1
0
0
0
0
0
0
3
19
-52
14
-15
44
-47
26
-68
2
0
0
0
0
0
0
0
2
0
63
17
-16
20
1
19
32
3
9
0
0
0
0
0
0
0
-5
-13
36
-109
64
38
23
0
5
1
0
0
0
0
0
0
0
3
-1
-41
-54
-14
-33
-63
20
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-43
100
26
19
-5
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
-10
4
0
0
0
0
0
0
0
0
0
-1
6
-5
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
14
8
-36
-20
8
19
6
0
0
0
0
0
0
0
0
0
-1
3
4
-74
-16
34
-14
4
0
0
0
0
0
0
0
0
0
-11
0
1
-3
40
54
-11
0
0
0
0
0
0
0
0
0
0
0
2
0
-24
-5
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-5
-29
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
11
-3
-3
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
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
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
-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
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
8
-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
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
-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
-26
3
6
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
-13
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
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
11
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
18
-22
-14
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
-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
4
0
0
9
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
9
5
-5
-5
1
1
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
6
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-62
-62
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
2
6
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-11
0
-49
-2
4
0
0
0
0
0
0
0
0
0
0
-11
-41
18
-15
-103
40
37
0
0
0
0
0
0
0
0
0
0
0
-3
3
-19
15
-33
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
11
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
26
-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
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
52
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-3
2
-27
4
4
-9
6
0
0
0
0
0
0
0
0
0
0
7
6
82
-58
-43
-1
-29
5
0
0
0
0
0
0
0
0
-6
2
-1
-2
-13
-69
1
-16
0
0
0
0
0
0
0
0
0
2
0
-21
-30
7
10
30
14
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
6
-67
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-22
-56
-4
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
5
-5
3
1
0
0
0
0
0
0
0
0
0
0
0
-5
-2
24
-113
22
-64
0
0
0
0
0
0
0
0
0
0
0
5
-3
49
-90
65
-27
8
-14
-64
0
0
0
0
0
0
0
0
-9
2
-154
-28
107
-14
107
-87
-2
1
0
0
0
0
0
0
0
0
-24
39
-69
-100
114
102
-50
-25
5
0
0
0
0
0
0
0
1
0
9
26
56
69
-13
31
23
0
0
0
0
0
0
0
0
0
0
-4
-23
-72
-23
0
51
7
0
0
0
0
0
0
0
0
0
0
0
0
20
-49
-14
-60
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-10
33
0
0
0
0
0
0
0
0
0
0
11
11
-43
4
14
0
0
0
0
0
0
0
0
0
0
0
4
18
-12
-39
14
5
0
0
0
0
0
0
0
0
0
0
0
1
-38
-57
-127
-23
-16
68
-99
50
0
0
0
0
0
0
0
0
20
-85
-17
-30
20
-11
-82
-56
-93
6
0
0
0
0
0
0
0
-1
-50
-49
-43
56
35
14
-80
84
0
0
0
0
0
0
0
0
0
6
22
54
18
-30
26
-44
9
0
0
0
0
0
0
0
0
0
0
7
49
35
-35
-4
0
21
2
0
0
0
0
0
0
0
0
0
0
2
-9
-76
-33
21
-8
5
1
0
0
0
0
0
0
0
0
0
0
2
40
5
14
0
0
0
0
0
0
0
0
0
0
95
-81
-35
19
15
0
0
0
0
0
0
0
0
0
0
0
-29
-33
-69
-81
-22
50
0
0
0
23
1
0
0
0
0
0
0
8
78
3
15
86
-107
-89
-11
31
5
4
0
0
0
0
0
0
-9
24
26
-9
-113
-30
-32
-3
9
-3
0
0
0
0
0
0
0
5
-24
-25
-35
114
14
-42
33
-52
9
0
0
0
0
0
0
0
8
1
24
-117
-31
-52
-45
-1
-76
-15
1
0
0
0
0
0
0
0
0
-26
18
-22
-13
66
-32
0
-2
0
0
0
0
0
0
0
0
0
0
1
33
-21
3
-11
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
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
9
0
1
0
0
0
40
-1
0
0
0
0
0
0
0
0
0
2
9
1
2
-4
-23
0
0
0
0
0
0
0
0
0
0
0
0
-30
43
29
-7
-6
5
0
0
0
0
0
0
0
0
0
0
-2
26
25
32
5
-4
-2
0
0
0
0
0
0
0
0
0
-3
2
3
3
-14
18
-17
1
0
0
0
0
0
0
0
0
0
0
0
4
-11
-8
25
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
-4
-2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
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
-4
0
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
0
0
0
1
1
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
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
-4
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-8
-54
-34
-1
-2
5
0
0
0
0
0
0
0
0
0
0
0
-6
-31
0
-37
-4
0
0
0
0
0
0
0
0
0
0
0
-16
0
1
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-72
-4
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
15
-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
0
98
9
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
29
-25
17
5
7
-4
0
4
0
0
0
0
0
0
0
0
0
6
-65
-3
-25
-4
5
-8
-8
0
0
0
0
0
0
0
0
0
10
-17
14
17
53
-41
-7
0
0
0
0
0
0
0
0
0
0
0
2
4
31
46
-32
29
-45
0
0
0
0
0
0
0
0
0
0
-4
-5
-2
-6
-9
62
-39
0
0
0
0
0
0
0
0
0
0
1
0
-4
-16
0
45
-73
2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
9
-1
0
0
0
0
0
0
0
0
-29
1
-1
-8
6
0
0
0
0
0
0
0
0
0
0
0
-16
-3
-4
-85
-61
-6
0
0
0
0
0
0
0
0
0
0
0
-15
30
-24
23
-3
-19
-5
35
-17
0
0
0
0
0
0
0
0
14
42
30
-18
-36
14
4
80
28
0
0
0
0
0
0
0
0
0
-17
73
-34
-100
-28
15
-34
5
-1
0
0
0
0
0
0
0
-3
1
43
2
40
23
35
21
-59
-1
0
0
0
0
0
0
0
0
5
-8
-17
-101
-20
-31
-65
-14
3
0
0
0
0
0
0
0
0
0
14
-1
63
19
33
0
-17
2
0
0
0
0
0
0
0
0
-1
0
0
-4
21
-2
-25
0
1
0
0
0
0
0
0
0
0
3
-5
25
-5
-5
0
0
0
0
0
0
0
0
0
0
0
-14
91
33
-43
68
-80
0
0
0
0
0
0
0
0
0
0
0
6
12
26
9
78
-30
-23
26
29
0
0
0
0
0
0
0
0
0
-3
82
-36
-59
-124
-51
-79
-122
0
0
0
0
0
0
0
0
0
8
-45
56
54
23
-46
-95
-128
-6
0
0
0
0
0
0
0
0
25
-22
-9
-87
-2
-71
93
-157
0
0
0
0
0
0
0
0
0
-5
13
-6
26
-3
-81
68
-29
0
0
0
0
0
0
0
0
0
0
0
-54
-31
18
45
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-144
0
0
0
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
26
-4
0
0
0
0
0
0
0
0
0
2
11
0
-2
3
27
5
-11
0
0
0
0
0
0
0
0
0
0
0
2
2
10
48
-5
-24
0
0
0
0
0
0
0
0
0
0
0
7
0
-6
40
-25
2
0
0
0
0
0
0
0
0
0
0
2
0
-1
17
-5
-10
1
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
6
0
-14
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
-9
49
0
-15
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
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-33
18
14
-14
-1
7
104
0
0
0
0
0
0
0
0
0
-20
-37
-5
20
20
43
-45
-5
0
0
0
0
0
0
0
0
0
0
19
-36
-93
65
21
25
-85
-2
0
0
0
0
0
0
0
0
0
-4
-21
-27
-42
43
14
-46
-1
0
0
0
0
0
0
0
0
0
6
0
29
96
37
-43
-6
1
0
0
0
0
0
0
0
0
0
0
1
-1
-44
-41
29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
4
0
-18
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-6
0
24
15
0
0
0
0
0
0
0
0
0
0
0
0
6
7
19
-46
8
3
0
0
0
0
0
0
0
0
0
0
-20
0
-16
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
-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
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
-3
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
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
-3
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
10
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
-11
0
0
0
0
0
0
0
0
0
-1
-21
13
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
-34
-8
0
8
1
-1
0
0
0
0
0
0
0
0
0
-3
14
7
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
-7
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
-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
-21
-2
10
55
60
-23
0
-72
0
0
0
0
0
0
0
0
0
-52
4
30
19
-32
122
81
-1
0
0
0
0
0
0
0
0
0
14
39
61
23
14
33
-2
-7
0
0
0
0
0
0
0
0
0
62
23
-12
-35
-36
7
14
-20
3
0
0
0
0
0
0
0
0
5
-14
0
52
30
10
1
-1
0
0
0
0
0
0
0
0
0
-6
-56
25
-16
-17
-6
0
0
0
0
0
0
0
0
0
0
0
68
16
-15
-4
2
1
-1
0
0
0
0
0
0
0
0
0
0
-37
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
13
-31
16
1
0
11
1
0
0
0
0
0
0
0
0
0
-25
-22
-3
36
13
-5
-27
0
0
0
0
0
0
0
0
0
0
46
13
-30
22
-100
24
-1
-11
0
0
0
0
0
0
0
0
0
0
-10
-25
26
16
0
-4
0
0
0
0
0
0
0
0
0
0
-14
3
46
5
-1
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
-24
-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
-10
-33
-2
0
-24
0
0
0
0
0
0
0
0
0
0
0
-4
43
-60
-16
1
5
-1
0
0
0
0
0
0
0
0
0
0
8
14
-2
27
-19
-23
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
-35
-3
0
0
0
0
0
0
0
0
0
0
0
5
-1
-39
56
7
2
4
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
-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
-8
10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
15
1
-6
1
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
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
15
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
-15
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
6
-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
-13
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
5
-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
24
-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
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-45
-7
18
0
3
-32
0
0
0
0
0
0
0
0
0
0
-1
-15
-18
0
0
1
14
-5
0
0
0
0
0
0
0
0
0
0
-2
14
14
4
8
0
-2
0
0
0
0
0
0
0
0
0
-6
1
43
25
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
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
7
-1
-43
-7
0
0
-2
-8
0
0
0
0
0
0
0
0
0
-15
-18
37
29
1
-7
-1
0
0
0
0
0
0
0
0
0
0
4
-4
16
13
0
0
-3
9
1
0
0
0
0
0
0
0
0
19
5
-33
45
7
0
-4
0
3
0
0
0
0
0
0
0
0
0
43
2
-7
-2
3
1
0
0
0
0
0
0
0
0
0
0
-5
13
1
14
6
0
0
2
0
0
0
0
0
0
0
0
0
0
5
9
-21
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
-11
1
101
-10
-5
0
-1
0
0
0
0
0
0
0
0
0
0
-14
-43
82
-110
16
9
5
13
0
0
0
0
0
0
0
0
0
65
14
-5
19
-26
-20
-2
-6
49
0
0
0
0
0
0
0
0
118
15
39
-47
1
22
-13
-37
0
0
0
0
0
0
0
0
0
72
-22
14
-43
-29
-8
-14
-1
-15
0
0
0
0
0
0
0
0
-15
-61
-15
15
14
15
-2
0
0
0
0
0
0
0
0
0
0
5
-13
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
80
-9
69
69
0
0
0
0
0
0
0
0
0
0
0
28
-8
131
-152
79
23
-8
-45
-6
0
0
0
0
0
0
0
0
3
14
-54
-62
4
-5
-56
-32
-2
0
0
0
0
0
0
0
0
50
-15
8
-9
-10
55
-8
-57
-5
0
0
0
0
0
0
0
0
36
4
68
41
-33
0
10
-1
-8
0
0
0
0
0
0
0
0
90
20
-92
-9
-6
9
7
-7
0
0
0
0
0
0
0
0
0
52
33
-5
-10
-8
27
15
0
0
0
0
0
0
0
0
0
0
23
-4
14
0
0
1
2
0
0
0
0
0
0
0
0
0
0
-51
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-37
-35
65
32
0
-41
0
0
0
0
0
0
0
0
0
0
5
-18
-118
-7
9
81
-33
-1
0
0
0
0
0
0
0
0
0
-32
-66
26
-34
-58
-87
-47
-1
0
0
0
0
0
0
0
0
0
-74
5
-14
-64
68
-13
-27
-5
3
0
0
0
0
0
0
0
0
5
-53
7
-48
-7
26
-6
-4
-20
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
-26
-4
8
-2
-4
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
0
0
0
0
0
0
0
0
-7
1
-4
-22
0
12
-1
0
0
0
0
0
0
0
0
0
0
26
-35
15
52
135
30
2
0
0
0
0
0
0
0
0
0
0
4
-57
-20
-20
-46
-22
-19
-3
0
0
0
0
0
0
0
0
0
-11
3
2
-29
-5
-1
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
-14
-1
0
6
8
0
0
0
0
0
0
0
0
0
0
0
-4
70
40
-62
-10
-15
3
-1
0
0
0
0
0
0
0
0
0
8
5
2
4
-46
-14
-51
0
0
0
0
0
0
0
0
0
0
0
-4
1
23
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
5
23
51
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
-10
8
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
-6
3
33
1
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
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
19
9
-9
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
-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
-9
0
14
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
-24
16
4
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
-16
-50
14
0
1
0
0
0
0
0
0
0
0
0
23
0
45
14
0
-2
0
0
0
0
0
0
0
0
0
0
8
4
0
-21
-6
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
0
0
0
0
0
0
0
0
0
0
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
-29
1
17
5
41
-3
0
0
0
0
0
0
0
0
0
0
-17
-14
-4
53
43
-49
3
0
0
0
0
0
0
0
0
0
1
-16
-17
-3
-13
-6
0
0
0
0
0
0
0
0
0
0
0
-5
-10
4
1
10
9
0
-7
0
0
0
0
0
0
0
0
0
14
-1
11
-3
-13
0
2
0
0
0
0
0
0
0
0
0
0
0
-14
-8
-2
2
0
2
0
0
0
0
0
0
0
0
0
0
8
37
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-2
-7
0
7
0
0
0
0
0
0
0
0
0
10
45
-50
-24
-14
-2
17
-5
0
0
0
0
0
0
0
0
0
3
55
0
23
7
1
9
5
0
0
0
0
0
0
0
0
0
-2
19
24
-1
-2
-9
20
0
-2
0
0
0
0
0
0
0
0
8
40
-1
75
-3
-15
2
0
0
0
0
0
0
0
0
0
0
18
0
5
33
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
49
-3
13
-2
-30
10
0
0
0
0
0
0
0
0
0
0
-14
45
62
17
4
31
-17
-49
-13
0
0
0
0
0
0
0
0
14
43
-41
55
-2
0
-25
-5
-1
0
0
0
0
0
0
0
0
-3
-1
9
76
0
0
-2
-10
4
0
0
0
0
0
0
0
0
10
48
50
69
-5
5
8
-2
0
0
0
0
0
0
0
0
0
-16
-19
15
15
-30
5
0
1
0
0
0
0
0
0
0
0
0
-2
5
72
34
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
-5
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
-1
-23
-45
-13
-37
-45
55
47
0
0
0
0
0
0
0
0
0
91
105
23
-5
19
0
42
1
-3
0
0
0
0
0
0
0
0
0
143
24
-58
-8
14
2
-3
0
0
0
0
0
0
0
0
0
20
-50
52
5
60
11
13
0
-11
0
0
0
0
0
0
0
0
17
-3
32
38
-3
46
24
0
0
0
0
0
0
0
0
0
0
-43
-51
-16
-4
-5
0
1
-9
1
0
0
0
0
0
0
0
0
69
84
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
-36
-52
-49
-101
-35
-16
-42
-71
0
0
0
0
0
0
0
0
0
3
-94
-14
-92
-29
-61
-29
-62
11
3
0
0
0
0
0
0
0
-26
5
-98
-34
60
42
-5
-6
-6
14
0
0
0
0
0
0
0
57
43
17
-56
37
12
-7
-5
-11
-1
0
0
0
0
0
0
0
-152
-67
-128
-67
26
6
44
19
0
0
0
0
0
0
0
0
0
108
72
99
40
7
-37
2
5
-4
0
0
0
0
0
0
0
0
75
43
-1
-14
-14
0
-4
-1
0
0
0
0
0
0
0
0
0
8
21
7
31
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
55
-89
22
-40
0
-36
-31
0
-7
0
0
0
0
0
0
0
-30
5
6
66
54
-53
119
16
-35
2
0
0
0
0
0
0
0
-127
-33
71
-43
25
14
12
55
-9
0
0
0
0
0
0
0
0
16
-89
-42
-70
15
-13
-2
-10
-2
0
0
0
0
0
0
0
0
-9
-2
12
59
-29
1
-19
-26
-9
3
0
0
0
0
0
0
0
74
-60
-8
62
-36
5
6
-21
-6
0
0
0
0
0
0
0
0
50
96
74
-9
0
-11
-3
18
3
0
0
0
0
0
0
0
0
20
3
11
-1
4
0
4
2
0
0
0
0
0
0
0
0
0
60
17
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
6
-38
80
87
59
0
27
0
0
0
0
0
0
0
0
-5
88
-6
-56
-9
116
30
-33
-5
2
2
0
0
0
0
0
0
-113
-23
47
62
-2
-37
-141
-54
-3
0
0
0
0
0
0
0
0
-9
47
-118
90
-39
-57
5
0
0
0
0
0
0
0
0
0
0
18
49
-130
87
-76
177
55
18
-1
0
0
0
0
0
0
0
0
132
-15
7
-4
22
-19
6
30
0
0
0
0
0
0
0
0
0
-51
101
-73
-5
-18
-1
14
16
0
0
0
0
0
0
0
0
0
71
51
29
0
-3
1
-17
0
0
0
0
0
0
0
0
0
0
15
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
10
29
28
5
67
0
26
-1
0
0
0
0
0
0
0
0
-82
77
28
-10
43
72
27
2
-1
0
0
0
0
0
0
0
0
41
-13
-21
-67
-24
88
-28
-13
0
0
0
0
0
0
0
0
0
-49
84
6
-7
-15
59
36
6
0
0
0
0
0
0
0
0
0
-20
-80
12
-43
-54
-2
7
-11
0
0
0
0
0
0
0
0
0
-1
13
3
54
-35
-10
1
5
-4
0
0
0
0
0
0
0
0
33
-47
-5
-6
-4
-5
1
1
0
0
0
0
0
0
0
0
0
26
10
11
-3
0
5
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
-15
-14
-89
39
62
0
-2
7
-1
0
0
0
0
0
0
0
0
-45
-49
59
14
-72
-82
-5
2
5
0
0
0
0
0
0
0
0
3
59
-54
18
-114
69
-18
0
0
0
0
0
0
0
0
0
0
-40
25
-35
-35
-19
32
-17
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
-33
-1
-4
0
0
0
2
0
1
0
0
0
0
0
0
0
0
26
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
-65
116
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-22
6
-5
-12
27
11
0
0
0
0
0
0
0
0
0
0
-1
15
6
14
-20
-116
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
83
0
-35
2
0
0
0
0
0
0
0
0
0
0
0
-2
-47
25
7
-14
4
0
0
0
0
0
0
0
0
0
0
0
4
-1
-4
53
-28
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
1
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-3
0
0
0
0
0
0
0
0
0
9
0
0
-17
2
-43
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
-31
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
5
0
5
-11
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
-11
-11
0
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
82
-13
-67
29
61
60
-32
0
0
0
0
0
0
0
0
0
-11
0
1
0
9
-4
-75
-2
0
0
0
0
0
0
0
0
0
8
-11
0
2
0
-33
0
4
-3
0
0
0
0
0
0
0
0
5
7
-3
0
-7
-4
-33
0
-4
0
0
0
0
0
0
0
0
0
-2
8
90
-5
-4
10
3
0
0
0
0
0
0
0
0
0
0
-5
-2
46
-1
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
1
-8
-24
0
-13
0
1
0
0
0
0
0
0
0
0
0
3
13
-53
56
-33
0
52
8
-2
0
0
0
0
0
0
0
0
-20
49
0
2
-3
-5
18
39
0
0
0
0
0
0
0
0
0
-15
-17
8
0
0
-6
0
0
2
0
0
0
0
0
0
0
0
-8
-77
-4
0
5
43
10
-9
0
0
0
0
0
0
0
0
0
-1
2
33
0
53
0
1
0
-1
0
0
0
0
0
0
0
0
0
-4
-22
-14
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
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
5
4
0
0
14
0
0
0
0
0
0
0
0
0
0
0
-10
5
-33
10
-45
-10
14
-2
0
0
0
0
0
0
0
0
0
-103
-77
3
0
2
-37
59
1
0
0
0
0
0
0
0
0
28
-33
-10
5
0
-2
-8
1
-1
0
0
0
0
0
0
0
0
-22
-9
-83
-8
0
2
4
-9
0
0
0
0
0
0
0
0
0
-17
-19
-7
-10
5
-18
0
-1
-1
0
0
0
0
0
0
0
0
-5
27
66
-25
-3
-13
0
0
0
0
0
0
0
0
0
0
0
3
51
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-43
33
-8
-48
-48
-39
17
0
-1
0
0
0
0
0
0
0
-20
33
21
-26
61
105
118
-31
-1
0
0
0
0
0
0
0
0
15
-71
19
-44
4
-27
-5
13
13
0
0
0
0
0
0
0
0
-53
99
86
29
8
0
-1
-14
2
0
0
0
0
0
0
0
0
-26
-53
-52
-49
0
0
4
14
0
0
0
0
0
0
0
0
0
-64
-62
14
3
71
-3
6
0
0
1
0
0
0
0
0
0
0
1
-74
9
-32
-6
0
0
-1
0
0
0
0
0
0
0
0
0
-1
4
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
-2
-41
-54
1
12
43
45
27
0
0
0
0
0
0
0
0
0
69
-6
0
8
11
11
63
26
0
0
0
0
0
0
0
0
0
52
81
8
62
-135
-47
21
5
-11
0
0
0
0
0
0
0
0
11
-95
-100
-51
14
-2
-1
0
-3
0
0
0
0
0
0
0
0
3
25
102
-35
2
0
-2
0
1
0
0
0
0
0
0
0
0
59
-23
32
39
10
6
0
5
0
0
0
0
0
0
0
0
0
-15
15
35
2
19
7
0
1
-14
0
0
0
0
0
0
0
0
14
-37
31
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-43
-125
1
32
14
-29
42
0
-3
0
0
0
0
0
0
0
94
5
-16
-89
-35
-100
-84
2
29
0
3
0
0
0
0
0
0
-97
-120
112
-3
-10
107
65
14
0
13
0
0
0
0
0
0
0
-3
8
9
29
-60
-5
-2
0
-1
2
0
0
0
0
0
0
0
0
2
-32
-57
29
34
-5
0
0
13
0
0
0
0
0
0
0
-27
19
-77
68
3
-22
24
15
-10
0
0
0
0
0
0
0
0
14
1
70
0
-5
18
-8
-3
1
0
0
0
0
0
0
0
0
1
27
43
-14
1
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
0
0
-17
80
30
-2
-42
19
-63
78
0
4
0
0
0
0
0
0
0
27
-9
38
-34
61
13
-19
15
25
1
-4
0
0
0
0
0
0
-154
-60
57
-32
-81
-32
59
-156
-29
-1
0
0
0
0
0
0
0
-100
-4
91
3
-68
63
3
-37
2
0
0
0
0
0
0
0
0
98
-79
-48
-25
18
66
-21
0
-1
0
0
0
0
0
0
0
0
16
1
-98
12
50
-79
-1
-29
9
3
0
0
0
0
0
0
0
-43
-38
34
-29
-15
5
7
-10
5
0
0
0
0
0
0
0
0
39
130
68
58
7
3
0
0
7
0
0
0
0
0
0
0
0
-10
-7
77
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-45
7
-15
87
52
-40
0
-8
-1
0
0
0
0
0
0
0
11
-3
-32
36
50
-11
71
-100
76
-1
0
0
0
0
0
0
0
-6
24
6
14
-40
3
7
-3
8
0
0
0
0
0
0
0
0
46
-20
-5
36
31
14
28
-36
5
0
0
0
0
0
0
0
0
93
-112
80
-24
-7
-12
40
-2
0
0
0
0
0
0
0
0
0
34
-14
3
19
-24
-28
-1
57
5
0
0
0
0
0
0
0
0
-66
73
25
66
-46
7
1
39
-13
0
0
0
0
0
0
0
0
-53
-82
-92
-18
0
-2
4
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
0
0
56
-18
6
-31
7
15
0
20
-1
0
0
0
0
0
0
0
0
20
-6
-29
-36
145
-60
25
-42
-2
0
0
0
0
0
0
0
0
-3
-22
6
-23
21
13
16
3
0
0
0
0
0
0
0
0
0
72
-12
34
-2
-12
26
37
1
0
0
0
0
0
0
0
0
0
47
18
16
48
-18
-8
-1
0
0
0
0
0
0
0
0
0
0
-11
-4
53
6
49
32
0
2
0
0
0
0
0
0
0
0
0
-14
43
-20
3
0
0
2
0
0
0
0
0
0
0
0
0
0
11
-18
-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
-32
3
-24
-7
-68
0
2
2
-4
0
0
0
0
0
0
0
0
5
-39
37
3
0
-38
2
3
0
0
0
0
0
0
0
0
0
26
51
60
-79
29
-103
-23
0
0
0
0
0
0
0
0
0
0
-20
-33
-29
1
14
-11
-2
0
0
0
0
0
0
0
0
0
0
4
1
1
2
-19
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
57
11
2
-18
2
0
0
0
0
0
0
0
0
0
0
0
-8
0
-11
13
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
-22
0
-17
6
-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
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
-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
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
-22
-13
18
-3
-7
5
-2
5
0
0
0
0
0
0
0
0
0
0
20
-27
-3
-31
12
-2
0
0
0
0
0
0
0
0
0
0
5
0
-1
-19
-9
-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
103
-33
8
0
-2
-1
0
0
0
0
0
0
0
0
-1
3
7
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
5
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
47
-2
-24
0
0
0
9
0
0
0
0
0
0
0
0
0
0
10
1
-74
30
0
-22
0
-9
0
0
0
0
0
0
0
0
0
0
-20
57
-4
8
33
-18
0
0
0
0
0
0
0
0
0
-5
0
0
0
-19
5
9
-1
-21
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
17
-14
6
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
-8
0
1
-5
0
0
0
0
0
0
0
0
5
14
-4
-3
0
0
2
10
0
0
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
-22
-18
5
-9
20
0
0
0
0
0
0
0
0
0
0
0
0
-47
14
-60
-3
15
17
16
0
0
0
0
0
0
0
0
0
14
1
-19
-32
25
3
-10
-32
11
0
0
0
0
0
0
0
0
-45
39
0
-6
0
-18
27
3
2
0
0
0
0
0
0
0
0
-11
-7
0
0
0
-1
-5
0
11
0
0
0
0
0
0
0
0
-33
-32
0
0
1
-1
8
9
0
0
0
0
0
0
0
0
0
59
1
-43
5
20
0
-25
-1
0
0
0
0
0
0
0
0
0
-4
-101
39
9
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
46
-1
10
13
15
0
-10
0
0
0
0
0
0
0
0
0
0
9
-59
24
26
16
15
-18
0
0
0
0
0
0
0
0
0
4
53
-43
80
-75
30
-3
53
1
0
0
0
0
0
0
0
0
-3
-44
-20
2
6
-3
-6
0
22
0
0
0
0
0
0
0
0
0
-60
-37
1
0
0
3
0
8
0
0
0
0
0
0
0
0
-6
11
-18
0
0
0
55
-2
0
0
0
0
0
0
0
0
0
21
3
-5
54
-19
-4
0
-1
0
0
0
0
0
0
0
0
0
-17
-8
-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
-53
41
20
-27
33
89
34
0
0
0
0
0
0
0
0
0
0
-51
-120
29
-112
14
22
-20
7
0
0
0
0
0
0
0
0
5
22
-15
-18
24
143
46
-24
56
0
0
0
0
0
0
0
0
21
-49
72
-102
5
-4
-4
14
2
0
0
0
0
0
0
0
0
-14
-11
72
1
0
0
0
-9
-1
0
0
0
0
0
0
0
0
2
-6
142
13
2
0
0
19
0
-10
0
0
0
0
0
0
0
43
-71
86
-10
-11
17
0
0
0
0
0
0
0
0
0
0
0
-6
-73
-2
38
2
0
0
1
0
0
0
0
0
0
0
0
0
-34
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
44
6
-14
-4
40
26
-20
0
0
0
0
0
0
0
0
0
-5
3
79
58
34
73
-41
-14
29
0
0
0
0
0
0
0
0
-14
-24
72
17
48
95
-51
-11
-1
0
0
0
0
0
0
0
0
-10
-54
-12
-187
9
-4
0
0
0
-2
0
0
0
0
0
0
0
-27
-10
-14
59
35
1
0
0
-5
0
0
0
0
0
0
0
0
-30
-8
135
81
-68
1
0
0
-18
-2
0
0
0
0
0
0
0
27
-44
43
-42
-1
3
0
-25
0
0
0
0
0
0
0
0
0
-22
-178
41
0
-4
-4
-1
0
-1
0
0
0
0
0
0
0
0
-24
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-33
6
-12
21
-7
70
56
0
-2
0
0
0
0
0
0
0
32
32
29
18
35
138
-22
88
18
0
0
0
0
0
0
0
0
-51
-66
46
-23
42
168
-11
-39
48
-8
0
0
0
0
0
0
0
-85
24
59
-30
85
-57
4
1
0
-4
0
0
0
0
0
0
0
-14
-4
6
36
-8
71
0
0
0
0
0
0
0
0
0
0
0
37
-96
-27
-19
-130
-22
4
0
0
-2
0
0
0
0
0
0
0
-54
10
-141
-33
-57
78
-9
24
-7
0
0
0
0
0
0
0
0
34
-35
66
37
26
-26
0
18
0
0
0
0
0
0
0
0
0
111
3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-32
-18
-14
76
53
-62
71
0
-1
0
0
0
0
0
0
0
9
15
-27
5
-39
74
99
67
-29
22
-3
0
0
0
0
0
0
11
-36
32
-11
14
50
42
-28
-99
21
0
0
0
0
0
0
0
-45
-56
-25
-35
33
62
107
-46
-2
0
0
0
0
0
0
0
0
-40
8
-88
-110
40
-70
18
-1
0
0
0
0
0
0
0
0
0
62
-35
-63
-18
-98
149
-6
-1
0
0
0
0
0
0
0
0
0
38
14
-45
-8
-6
65
27
49
0
0
0
0
0
0
0
0
0
9
-45
-125
-50
8
-2
5
0
-4
5
0
0
0
0
0
0
0
-1
-17
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
21
40
12
39
-41
0
5
-10
0
0
0
0
0
0
0
-73
11
-17
-23
33
83
109
55
-5
2
0
0
0
0
0
0
0
7
-70
55
-30
1
8
-2
-119
-49
1
0
0
0
0
0
0
0
82
-48
5
59
13
-31
-24
-22
-1
0
0
0
0
0
0
0
0
-25
42
-132
62
51
-158
5
2
0
0
0
0
0
0
0
0
0
43
8
52
93
109
-38
-11
0
0
0
0
0
0
0
0
0
0
-17
-138
-2
15
-105
109
-25
51
2
0
0
0
0
0
0
0
0
-24
-60
18
-50
-13
1
1
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
-19
-33
-15
-29
10
131
0
-4
-9
-9
0
0
0
0
0
0
0
45
-35
31
-21
30
-43
-31
1
1
0
0
0
0
0
0
0
0
35
91
-44
69
7
42
-3
8
-3
1
0
0
0
0
0
0
0
-54
50
36
23
10
6
1
0
0
0
0
0
0
0
0
0
0
-7
7
-33
25
-6
54
-7
0
0
0
0
0
0
0
0
0
0
69
-4
-117
-53
4
4
0
0
0
0
0
0
0
0
0
0
0
-49
-49
-3
-9
-2
-4
0
18
0
0
0
0
0
0
0
0
0
51
8
14
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
-16
4
18
0
-2
5
0
0
0
0
0
0
0
0
0
1
5
-59
4
-14
3
-1
0
0
0
0
0
0
0
0
0
0
-1
-5
5
-9
10
-39
1
0
0
0
0
0
0
0
0
0
0
0
2
7
-1
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
1
-1
3
0
0
0
0
0
0
0
0
0
0
14
-5
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
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-5
-64
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-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
-7
1
0
0
8
0
0
0
0
0
0
0
0
0
3
2
0
6
0
-5
3
-19
0
0
0
0
0
0
0
0
0
-1
-3
2
0
-102
33
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-39
-11
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
13
-1
14
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
-1
-4
5
0
6
22
1
0
0
0
0
0
0
0
0
0
39
-3
3
-1
-50
8
-2
5
0
0
0
0
0
0
0
0
0
2
1
0
-18
21
-45
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
8
-6
-3
-1
0
0
0
0
0
0
0
0
0
-1
-23
-3
18
0
1
-10
-9
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
-10
19
4
0
7
-7
0
0
0
0
0
0
0
0
0
0
5
3
49
-76
49
18
6
0
4
0
0
0
0
0
0
0
0
-1
-11
-32
5
55
-3
-20
71
0
0
0
0
0
0
0
0
0
7
0
20
5
-24
0
16
1
1
0
0
0
0
0
0
0
0
0
18
0
-5
0
78
-14
6
2
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
22
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
41
0
-17
-21
3
-53
0
0
0
0
0
0
0
0
0
0
0
-2
-3
15
-33
-99
26
4
0
0
0
0
0
0
0
0
0
-44
20
107
-6
-19
-53
-34
5
0
0
0
0
0
0
0
0
0
3
-93
-30
40
-2
77
6
-17
0
0
0
0
0
0
0
0
0
-3
-28
95
-5
0
2
-61
-2
-4
0
0
0
0
0
0
0
0
3
-5
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
15
0
3
0
-9
0
0
0
0
0
0
0
0
0
0
71
-43
0
-16
0
1
0
3
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
-49
-4
-16
2
14
-37
-58
0
0
0
0
0
0
0
0
0
0
-51
-50
-43
-51
15
119
15
-8
0
0
0
0
0
0
0
0
5
143
-5
53
-45
12
13
-22
3
0
0
0
0
0
0
0
0
2
-73
-78
-7
99
79
-30
-8
-6
0
0
0
0
0
0
0
0
4
154
9
-110
-17
0
0
78
4
0
0
0
0
0
0
0
0
43
-33
36
61
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
-19
82
30
0
0
0
-4
0
0
0
0
0
0
0
0
0
4
7
-17
-7
2
0
10
0
0
0
0
0
0
0
0
0
0
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
1
3
66
0
35
6
-64
0
0
0
0
0
0
0
0
0
44
-54
63
24
6
-64
18
76
51
0
0
0
0
0
0
0
0
5
70
4
-62
100
-14
90
-25
14
0
0
0
0
0
0
0
0
59
-68
-7
-4
47
14
44
91
0
0
0
0
0
0
0
0
0
35
51
14
12
47
1
0
0
0
0
0
0
0
0
0
0
0
18
28
25
72
-90
0
0
0
4
0
0
0
0
0
0
0
0
-16
1
88
91
-26
0
0
0
4
-2
0
0
0
0
0
0
0
38
-38
-42
5
-10
-6
-2
-9
0
0
0
0
0
0
0
0
0
5
5
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-23
70
14
63
85
21
-7
0
0
0
0
0
0
0
0
0
-13
-129
-53
-19
-40
15
65
71
-53
1
0
0
0
0
0
0
0
10
15
-33
17
-48
-45
63
138
-52
14
0
0
0
0
0
0
0
-50
166
54
-14
31
-65
58
24
-90
0
0
0
0
0
0
0
0
19
-62
43
43
43
-5
9
-7
-1
-2
0
0
0
0
0
0
0
97
-8
-106
-56
30
53
0
0
0
0
0
0
0
0
0
0
0
-66
34
-62
-12
6
14
-5
0
0
0
0
0
0
0
0
0
0
-41
-39
-5
-18
0
6
-2
0
0
0
0
0
0
0
0
0
0
29
-48
20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-143
-109
-19
50
91
34
42
0
-4
0
0
0
0
0
0
0
21
-90
69
91
-36
64
44
4
12
30
0
0
0
0
0
0
0
-10
-10
-32
74
36
68
2
-19
-30
-21
5
0
0
0
0
0
0
45
-44
38
74
14
-83
-43
105
-24
-14
0
0
0
0
0
0
0
-30
1
66
-6
131
-30
-40
4
-1
0
0
0
0
0
0
0
0
-62
-14
-39
18
49
-12
-130
0
0
0
0
0
0
0
0
0
0
111
-38
-39
-3
-62
10
3
0
0
0
0
0
0
0
0
0
0
34
-57
-30
-32
-5
-65
-1
-8
3
0
0
0
0
0
0
0
0
2
-11
-77
17
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
-16
5
-22
-42
-85
80
0
-9
-2
0
0
0
0
0
0
0
35
-7
-17
71
75
108
53
33
-8
1
0
0
0
0
0
0
0
38
59
-23
-9
-26
-48
39
7
22
-2
0
0
0
0
0
0
0
-27
13
29
-24
56
-80
64
-23
-4
0
0
0
0
0
0
0
0
-40
-112
-19
-23
-8
-27
-77
0
0
0
0
0
0
0
0
0
0
-69
15
-98
-45
-74
-108
14
2
0
0
0
0
0
0
0
0
0
-47
-81
-75
3
-10
99
53
1
0
0
0
0
0
0
0
0
0
-20
-27
-44
21
0
-8
4
-4
0
0
0
0
0
0
0
0
0
22
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
32
28
8
-11
37
0
10
0
0
0
0
0
0
0
0
0
7
-7
41
-14
56
1
-24
3
-1
0
0
0
0
0
0
0
0
45
90
-22
-1
45
149
-1
-40
0
0
0
0
0
0
0
0
0
-3
22
12
19
14
9
-6
5
-1
0
0
0
0
0
0
0
0
52
101
-33
-63
-34
33
4
0
0
0
0
0
0
0
0
0
0
18
2
14
15
5
-1
-6
0
0
0
0
0
0
0
0
0
0
-58
-19
-5
-14
5
1
0
0
0
0
0
0
0
0
0
0
0
54
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
-21
4
-62
0
0
0
0
0
0
0
0
0
0
0
0
-44
-14
-10
31
1
-2
0
6
0
0
0
0
0
0
0
0
0
10
-8
-1
-19
-16
0
2
0
0
0
0
0
0
0
0
0
0
0
1
-9
-2
2
14
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
5
-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
11
0
1
-35
1
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
4
0
-9
0
0
0
0
0
0
0
0
0
0
0
-5
0
16
1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
2
-5
-2
0
-5
0
0
0
0
0
0
0
0
0
0
-29
1
-49
-18
6
4
0
0
0
0
0
0
0
0
0
0
0
-5
1
3
16
0
-2
0
1
0
0
0
0
0
0
0
0
0
2
0
8
0
-27
-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
-45
24
7
7
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
0
-7
3
0
0
0
0
0
0
0
0
0
0
-1
-7
2
-11
-13
0
-5
-2
-1
0
0
0
0
0
0
0
0
-6
1
9
46
-3
2
3
4
-5
0
0
0
0
0
0
0
0
0
91
0
0
0
-7
0
-4
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
3
1
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
-11
-5
5
8
0
0
0
0
0
0
0
0
0
0
0
63
49
-6
6
-6
1
8
5
0
0
0
0
0
0
0
0
0
-5
17
-5
-16
24
-2
-9
0
0
0
0
0
0
0
0
0
-2
9
5
-26
-16
5
-18
2
0
0
0
0
0
0
0
0
0
0
-16
19
-16
77
33
-14
0
-9
0
0
0
0
0
0
0
0
0
-46
-2
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
11
12
1
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
0
0
0
0
0
0
5
83
-8
6
9
-6
-11
13
0
0
0
0
0
0
0
0
0
-3
-43
30
-51
53
-32
-8
-1
1
0
0
0
0
0
0
0
0
2
0
33
6
-51
-13
46
-16
-11
0
0
0
0
0
0
0
0
0
0
0
64
109
-8
-14
-36
3
1
0
0
0
0
0
0
0
0
-5
-6
5
100
11
-38
1
1
0
0
0
0
0
0
0
0
1
-100
-20
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
53
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-72
9
75
0
0
0
-4
0
0
0
0
0
0
0
0
0
-11
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
-14
21
0
-11
-14
-30
0
0
0
0
0
0
0
0
0
-1
83
35
-71
-63
20
32
-31
-2
0
0
0
0
0
0
0
0
-16
-93
-58
-120
1
-7
-24
-73
-15
0
0
0
0
0
0
0
0
-8
-23
26
34
57
97
-53
-67
-43
-5
0
0
0
0
0
0
0
10
166
76
-33
53
34
19
-14
1
0
0
0
0
0
0
0
0
10
-1
62
-5
24
0
0
4
-3
0
0
0
0
0
0
0
0
-27
5
-53
-151
-6
0
0
0
0
0
0
0
0
0
0
0
0
31
2
-44
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-71
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
33
8
59
-66
40
105
40
40
0
5
0
0
0
0
0
0
0
41
-12
11
-23
-42
53
-53
-41
6
0
0
0
0
0
0
0
0
-43
1
0
2
-63
-63
11
104
15
-2
0
0
0
0
0
0
0
60
94
38
-2
93
128
48
-42
-33
0
0
0
0
0
0
0
0
-5
-33
68
-26
87
-14
92
82
-1
0
0
0
0
0
0
0
0
33
-33
42
60
-99
-14
1
0
0
-1
0
0
0
0
0
0
0
-30
-24
-80
-41
-61
-14
0
0
0
0
0
0
0
0
0
0
0
24
-21
4
15
24
18
0
0
0
0
0
0
0
0
0
0
0
3
-8
-28
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
122
-4
5
-86
-82
51
-17
45
0
7
0
0
0
0
0
0
0
-55
155
64
-8
-18
66
-55
-2
24
0
0
0
0
0
0
0
0
45
-70
27
5
42
87
189
20
41
-31
0
0
0
0
0
0
0
-25
-3
26
68
39
71
5
-25
38
-5
0
0
0
0
0
0
0
34
-34
96
-8
6
1
43
235
15
56
0
0
0
0
0
0
0
-50
70
56
21
10
18
-52
0
-1
0
0
0
0
0
0
0
0
43
-31
-5
-55
57
79
-1
0
0
0
0
0
0
0
0
0
0
-130
-77
-24
-24
32
53
3
0
0
0
0
0
0
0
0
0
0
-109
-17
81
-18
0
-11
0
2
0
0
0
0
0
0
0
0
0
0
32
95
39
37
-62
-25
-9
0
-6
6
0
0
0
0
0
0
0
4
-65
-16
-40
37
64
84
29
-85
2
0
0
0
0
0
0
0
48
-32
132
14
-129
12
66
109
18
4
0
0
0
0
0
0
0
-56
37
10
76
13
-45
94
32
-27
0
0
0
0
0
0
0
0
51
-23
-12
89
-74
56
-4
41
4
0
0
0
0
0
0
0
0
15
-131
-46
-5
-50
36
9
2
0
0
0
0
0
0
0
0
0
-45
-31
-14
52
23
56
-25
0
0
0
0
0
0
0
0
0
0
-56
-54
-2
48
-11
-15
8
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
33
10
33
4
5
8
0
-8
0
0
0
0
0
0
0
0
0
-59
-70
20
76
4
31
7
0
0
0
0
0
0
0
0
0
0
95
53
-33
-17
-31
26
15
-38
0
0
0
0
0
0
0
0
0
21
20
28
-11
30
-45
8
59
1
0
0
0
0
0
0
0
0
1
-24
-55
30
57
-13
1
5
0
0
0
0
0
0
0
0
0
71
16
21
-43
-11
1
-5
0
0
0
0
0
0
0
0
0
0
-7
-45
9
7
-1
11
-1
0
0
0
0
0
0
0
0
0
0
77
33
-45
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
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
19
0
24
-32
1
10
-20
0
0
0
0
0
0
0
0
0
0
-62
15
-4
5
83
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
-15
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
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
9
1
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
65
-3
5
-3
1
0
0
0
0
0
0
0
0
0
0
11
1
0
-1
-10
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
-9
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
23
6
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
3
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
-23
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
-5
0
0
0
0
0
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
0
6
-5
-6
11
2
1
0
0
0
0
0
0
0
0
0
0
0
2
-4
-46
-5
-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
14
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
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
44
35
0
14
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-34
-1
-1
7
1
-1
0
0
0
0
0
0
0
0
0
-3
0
5
-2
-7
1
4
0
0
0
0
0
0
0
0
0
0
0
-3
1
53
2
-5
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
1
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
-4
3
0
4
0
0
0
0
0
0
0
0
0
0
1
15
14
-4
25
18
5
-14
0
0
0
0
0
0
0
0
0
0
-1
22
47
61
20
-27
-4
13
0
0
0
0
0
0
0
0
-1
-10
-22
-23
32
90
-18
7
9
0
0
0
0
0
0
0
0
4
-5
-17
5
22
17
5
-2
1
0
0
0
0
0
0
0
0
0
-54
-7
-17
43
52
5
0
0
0
0
0
0
0
0
0
0
8
-6
-19
-28
32
0
0
0
5
0
0
0
0
0
0
0
0
-3
32
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-9
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-8
0
27
-2
-9
3
0
0
0
0
0
0
0
0
0
6
-4
33
26
21
10
-10
-62
5
0
0
0
0
0
0
0
0
-6
-9
-1
-21
1
5
-117
31
-27
-10
0
0
0
0
0
0
0
14
138
-45
-23
-33
-40
83
32
1
1
0
0
0
0
0
0
0
58
-67
39
-36
5
67
58
-10
-30
0
0
0
0
0
0
0
0
7
11
-129
-94
-62
11
-21
7
6
0
0
0
0
0
0
0
0
-1
-129
22
-32
7
14
0
0
0
0
0
0
0
0
0
0
0
16
-64
-24
-47
-1
0
0
0
0
0
0
0
0
0
0
0
0
99
-72
73
2
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-43
-36
1
-14
46
-12
-10
0
0
0
0
0
0
0
0
0
-34
-74
73
-17
30
32
-7
-80
-6
5
0
0
0
0
0
0
0
-43
-70
-12
88
116
83
-31
3
-21
23
0
0
0
0
0
0
0
-8
-63
18
0
62
72
7
14
27
-9
0
0
0
0
0
0
0
17
57
-25
19
26
65
-60
-50
14
0
0
0
0
0
0
0
0
-87
-34
-66
25
17
28
66
20
1
1
0
0
0
0
0
0
0
-25
-54
-56
77
12
19
-3
0
0
0
0
0
0
0
0
0
0
-70
-60
-13
72
69
-11
-3
0
0
0
0
0
0
0
0
0
0
100
-49
-53
51
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
29
133
-75
-10
97
77
-31
0
0
0
0
0
0
0
0
0
0
36
66
38
53
28
79
58
101
21
-1
0
0
0
0
0
0
0
-49
60
-57
-57
-7
55
115
31
75
0
0
0
0
0
0
0
0
27
-33
27
-36
97
56
42
24
4
0
0
0
0
0
0
0
0
66
52
-13
139
-15
-14
-32
102
0
0
0
0
0
0
0
0
0
-38
6
-21
-43
84
136
5
-9
0
0
0
0
0
0
0
0
0
-3
-125
-3
42
-4
-14
54
0
0
0
0
0
0
0
0
0
0
39
6
9
-40
13
-4
-8
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
0
0
4
-11
-1
-5
-8
-52
0
-3
0
0
0
0
0
0
0
0
0
35
24
88
-19
-17
11
-26
-14
-1
0
0
0
0
0
0
0
0
-1
8
44
4
33
51
47
6
1
0
0
0
0
0
0
0
0
41
27
36
33
44
31
-1
1
0
0
0
0
0
0
0
0
0
10
51
-45
29
36
4
-2
0
0
0
0
0
0
0
0
0
0
1
13
21
47
5
22
0
0
0
0
0
0
0
0
0
0
0
-53
3
53
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
4
53
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-60
4
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-23
-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
21
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-7
-10
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
-15
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
-13
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
-8
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
-17
5
5
2
-1
0
0
0
0
0
0
0
0
-1
0
5
-2
-1
26
0
0
0
0
0
0
0
0
0
0
0
-36
-34
-31
-7
-5
8
-7
0
0
0
0
0
0
0
0
0
0
7
74
-41
56
25
-19
0
0
0
0
0
0
0
0
0
0
0
-5
0
70
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-5
0
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
71
2
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
11
-1
-36
-13
-1
-35
5
31
1
0
0
0
0
0
0
0
0
61
5
35
-73
-22
86
16
62
10
0
0
0
0
0
0
0
0
-9
-2
80
38
101
112
34
102
4
0
0
0
0
0
0
0
0
117
101
25
-5
-33
66
-20
22
0
0
0
0
0
0
0
0
0
11
-31
8
-37
72
-49
20
14
0
0
0
0
0
0
0
0
0
-62
-92
16
-24
6
4
0
0
0
0
0
0
0
0
0
0
0
-92
71
-100
-1
-18
-6
0
0
0
0
0
0
0
0
0
0
0
-77
-15
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
6
0
-3
1
9
-1
0
0
0
0
0
0
0
0
0
0
33
-2
1
1
4
0
-4
-3
0
0
0
0
0
0
0
0
0
-15
-5
2
45
-33
-26
-5
9
-6
0
0
0
0
0
0
0
0
-43
14
5
43
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-27
-49
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
25
3
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
59
-5
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
27
2
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
0
2
10
-4
9
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
14
8
14
-3
0
0
0
0
0
0
0
0
0
0
-2
1
-5
-9
-1
-45
0
2
0
0
0
0
0
0
0
0
0
2
-1
12
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
3
-9
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
9
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
53
18
-17
0
0
0
0
0
0
0
0
0
0
0
-6
2
20
-5
24
-53
13
-29
0
0
0
0
0
0
0
0
0
0
-7
-7
-11
101
29
46
-32
0
0
0
0
0
0
0
0
0
-3
-4
-49
-6
0
58
-43
9
0
0
0
0
0
0
0
0
0
0
0
0
34
-29
-25
-20
-32
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
-1
-7
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-37
0
0
0
0
0
0
0
0
0
0
-2
-1
-11
-11
46
0
0
0
0
0
0
0
0
0
0
0
0
5
35
-163
-82
-52
0
0
0
0
0
0
0
0
0
0
0
-1
-110
-8
27
-62
-7
62
86
16
0
0
0
0
0
0
0
0
4
-14
-57
-7
68
-24
27
-43
0
0
0
0
0
0
0
0
0
4
-56
-1
-52
-33
-104
-43
66
-29
0
0
0
0
0
0
0
0
-2
3
26
17
-33
-6
-69
28
-29
0
0
0
0
0
0
0
0
0
-3
4
9
-16
-14
90
-163
-98
0
0
0
0
0
0
0
0
0
0
0
-11
1
1
48
-62
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
9
0
0
0
0
0
0
0
0
0
0
3
-7
-10
-11
0
0
0
15
0
0
0
0
0
0
0
0
0
1
60
50
-45
0
0
0
56
0
0
0
0
0
0
0
-3
0
-20
20
-36
14
-19
28
48
50
0
0
0
0
0
0
0
-6
33
26
-37
-53
60
-14
-49
46
-6
0
0
0
0
0
0
0
0
-1
87
39
-21
-78
-32
-61
67
0
0
0
0
0
0
0
0
0
-3
-2
-10
52
83
-34
23
-15
90
0
0
0
0
0
0
0
0
0
1
0
22
60
77
-25
67
13
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-17
-121
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
-71
-32
0
0
0
0
0
0
-6
0
6
6
-17
-65
0
0
0
-18
26
0
0
0
0
0
0
0
6
-21
5
7
45
3
14
-71
-25
-17
0
0
0
0
0
0
0
-1
-26
-13
58
54
79
12
-23
16
11
0
0
0
0
0
0
0
0
0
0
-37
23
14
-27
-14
-17
-11
0
0
0
0
0
0
0
0
1
17
45
-28
116
-140
-36
-14
-2
0
0
0
0
0
0
0
0
0
-2
-109
32
-25
54
-128
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
26
6
9
0
0
0
0
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
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
5
0
5
0
0
0
-30
-8
0
0
0
0
0
0
0
0
-2
-5
-17
0
81
47
-45
-1
9
0
0
0
0
0
0
0
0
52
14
33
-94
-71
-51
66
35
-2
0
0
0
0
0
0
1
3
11
-14
-31
49
-11
-7
108
36
-3
-15
0
0
0
0
0
0
-1
2
0
11
92
56
-5
-5
-5
-2
3
0
0
0
0
0
0
0
0
0
-21
-18
-5
-37
9
0
-16
0
0
0
0
0
0
0
0
0
2
0
0
-33
-2
-16
-16
17
0
0
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
-55
-4
6
0
0
0
0
14
0
0
0
0
0
0
0
1
-1
5
-32
-19
-45
2
-69
-95
10
1
5
0
0
0
0
0
0
0
9
10
6
16
-8
-26
-3
7
5
-3
0
0
0
0
0
0
-7
-4
8
8
31
-10
-28
33
-19
23
-2
0
0
0
0
0
0
0
0
-1
5
-67
-63
-1
9
35
8
0
0
0
0
0
0
0
0
0
-2
3
8
-22
-39
-33
-24
9
4
0
0
0
0
0
0
0
0
0
0
-1
7
63
-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
5
8
0
0
0
0
0
0
0
0
10
-26
1
0
0
0
0
-8
29
-9
5
0
0
0
0
0
0
-1
-16
-24
-21
-74
-1
61
28
-16
6
-4
0
0
0
0
0
0
0
-15
-1
-11
126
-10
-15
54
3
-5
-3
0
0
0
0
0
0
-3
0
5
51
19
-33
-30
11
38
3
0
0
0
0
0
0
0
0
-1
-49
-1
-96
33
-35
17
7
-1
0
0
0
0
0
0
0
0
-2
0
0
-1
10
-21
19
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-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
2
3
0
0
0
0
0
0
0
0
6
0
2
3
0
0
0
-55
34
1
-2
0
0
0
0
0
0
0
0
-2
-3
0
-53
32
-51
-33
0
2
0
0
0
0
0
0
0
2
0
12
39
76
50
-51
5
2
0
3
0
0
0
0
0
0
0
1
23
-23
-53
48
23
24
3
-5
-1
0
0
0
0
0
0
0
0
-5
5
18
-11
10
0
2
0
0
0
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
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
36
-10
18
0
0
0
0
0
0
0
0
0
0
0
-25
-18
27
44
11
-78
0
0
0
0
0
0
0
0
0
0
0
3
66
-18
5
41
15
38
5
0
0
0
0
0
0
0
0
0
9
9
27
25
61
88
-17
43
0
0
0
0
0
0
0
0
0
7
3
-11
-9
45
111
44
82
0
0
0
0
0
0
0
0
0
-1
7
-15
52
-28
-93
-30
-5
0
0
0
0
0
0
0
0
0
0
0
-16
0
29
-26
-15
-47
0
0
0
0
0
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
43
0
0
0
0
0
0
0
0
0
2
0
-90
-69
70
-59
0
0
0
0
0
0
0
0
0
0
0
-2
-97
45
-31
-39
-64
0
0
0
0
0
0
0
0
0
0
0
-17
-30
-11
52
-18
28
76
141
-11
0
0
0
0
0
0
0
0
31
4
-63
-122
17
-24
-32
-25
-20
0
0
0
0
0
0
0
0
-7
-38
2
52
-36
-19
4
99
17
0
0
0
0
0
0
0
0
1
8
38
-81
-27
12
-24
15
-69
0
0
0
0
0
0
0
0
0
0
5
-90
-40
-50
-19
-91
21
0
0
0
0
0
0
0
0
0
0
0
74
-18
4
22
-156
-10
0
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
-1
21
-5
57
0
0
0
50
0
0
0
0
0
0
0
-1
-18
-12
-130
40
11
0
0
0
52
0
0
0
0
0
0
0
0
-22
-25
-62
-89
-83
27
24
-55
27
0
0
0
0
0
0
0
8
78
33
51
33
138
85
-17
-19
-4
0
0
0
0
0
0
0
-1
-7
-1
26
13
73
-11
43
42
-22
0
0
0
0
0
0
0
-8
0
11
61
-93
24
-70
1
17
-23
0
0
0
0
0
0
0
0
0
0
-14
-15
32
-83
152
-99
46
0
0
0
0
0
0
0
0
0
0
1
35
36
-26
-2
25
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
-48
3
0
0
0
16
-36
0
0
0
0
0
0
0
9
49
-99
33
-53
0
0
0
-3
15
0
0
0
0
0
0
-2
41
2
43
-54
-7
-10
-29
-3
68
-17
0
0
0
0
0
0
0
-29
3
-85
-93
-123
114
-5
-38
-32
-6
0
0
0
0
0
0
0
-2
-33
73
24
13
-110
-141
-10
42
-13
0
0
0
0
0
0
0
7
-2
8
-44
25
3
-50
-84
95
-1
0
0
0
0
0
0
0
0
0
14
8
44
-51
-6
80
-116
5
0
0
0
0
0
0
0
0
0
5
-1
0
10
8
-51
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-9
5
4
0
0
0
0
0
0
1
1
0
0
0
40
0
0
0
51
-14
2
0
0
0
0
0
0
-2
-4
5
-32
50
0
0
0
2
39
-1
0
0
0
0
0
-1
-2
0
-43
15
-22
-80
-21
-6
7
-5
5
0
0
0
0
0
0
5
-1
-31
100
-30
8
-25
-58
-24
6
-1
0
0
0
0
0
0
-5
8
-31
-43
33
85
-30
43
1
-26
5
0
0
0
0
0
0
0
1
-22
-20
52
34
73
-109
-30
2
0
0
0
0
0
0
0
0
0
8
6
-41
-58
71
95
-19
10
0
0
0
0
0
0
0
0
0
-2
-1
-1
-2
47
-96
5
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-6
65
0
0
-5
0
0
0
30
2
-13
-1
0
0
0
0
0
-13
-58
9
-5
-55
0
0
0
-60
-7
-39
2
0
0
0
0
0
-11
-55
34
-36
6
-117
60
-71
52
22
0
0
0
0
0
0
0
1
55
49
-151
-26
50
57
26
-5
39
6
-3
0
0
0
0
0
0
5
-33
65
-3
15
-82
-21
52
9
-11
-6
0
0
0
0
0
0
4
33
23
-4
-27
-62
-12
-105
24
-3
0
0
0
0
0
0
0
0
5
-10
32
80
-109
-53
32
32
3
0
0
0
0
0
0
0
0
0
-1
0
-2
-16
23
-14
13
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
-41
-47
0
0
0
0
0
54
-14
0
2
0
0
0
0
0
-7
22
-14
-51
15
0
0
0
51
-3
0
-6
0
0
0
0
0
0
34
97
2
24
66
29
11
4
58
-2
1
0
0
0
0
0
0
-15
-20
40
-17
-14
-67
65
62
-22
-11
1
0
0
0
0
0
0
1
-4
-5
-3
-44
17
5
-43
54
5
-8
0
0
0
0
0
0
0
6
33
80
-58
42
20
-43
-52
24
0
0
0
0
0
0
0
0
0
23
-15
-33
8
-86
-52
3
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
10
0
7
0
0
0
0
-3
16
-5
-7
0
0
0
0
0
-3
0
-6
7
26
0
0
0
12
-83
0
11
-2
0
0
0
0
0
-6
5
-23
0
-6
13
-84
31
-25
19
3
0
0
0
0
0
0
0
-14
-8
-33
-27
-78
5
93
10
-30
3
0
0
0
0
0
0
0
-2
-5
57
6
-41
-1
-6
-34
7
-11
4
0
0
0
0
0
0
-5
-9
2
0
35
15
-3
3
-5
1
0
0
0
0
0
0
0
0
0
-2
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
-1
0
6
0
0
0
2
-23
3
0
0
0
0
0
0
0
2
1
14
0
0
-7
-14
4
62
1
1
0
0
0
0
0
0
0
2
1
46
15
-32
-32
-5
-2
10
5
0
0
0
0
0
0
0
-2
-8
-5
-25
-14
8
-11
-16
-3
-1
-1
0
0
0
0
0
0
0
-2
1
-7
-5
22
-2
-1
-5
-3
1
0
0
0
0
0
0
0
0
0
0
-2
1
-10
1
-9
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
-1
-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
-13
16
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
15
-26
0
14
0
-3
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
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
14
26
71
105
-5
0
0
0
0
0
0
0
0
0
0
0
79
-55
-10
62
-1
44
0
0
0
0
0
0
0
0
0
0
0
23
45
62
28
-4
-136
21
-18
0
0
0
0
0
0
0
0
0
3
-1
-101
-77
21
-36
143
55
0
0
0
0
0
0
0
0
0
-8
10
-6
-38
21
33
44
91
0
0
0
0
0
0
0
0
0
0
0
20
29
-47
19
23
21
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
-14
19
59
0
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
-10
32
0
0
0
0
0
0
0
0
0
-7
-55
39
-48
-22
-23
0
0
0
0
0
0
0
0
0
0
0
-16
-8
-54
-32
8
-44
0
0
0
0
0
0
0
0
0
0
0
0
62
-7
-34
-113
-37
-77
-49
49
0
0
0
0
0
0
0
0
0
17
98
-66
-30
1
-99
76
2
0
0
0
0
0
0
0
0
0
38
-45
-17
95
11
4
-12
25
0
0
0
0
0
0
0
0
6
-2
62
-31
-2
-33
-35
70
11
0
0
0
0
0
0
0
0
0
0
0
10
34
115
8
-22
59
0
0
0
0
0
0
0
0
0
-1
5
-7
-7
0
35
-71
28
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
5
59
-6
5
28
-11
0
0
0
-2
0
0
0
0
0
0
0
-8
-11
-37
22
-93
78
0
0
0
-24
0
0
0
0
0
0
0
0
5
-23
-44
57
8
-4
-79
-76
14
0
0
0
0
0
0
0
0
4
-3
53
62
102
6
-82
-76
14
0
0
0
0
0
0
0
2
-14
-14
27
-28
-2
-11
30
-47
-75
0
0
0
0
0
0
0
0
10
10
13
-37
51
-57
-47
-28
55
0
0
0
0
0
0
0
0
0
0
9
26
43
-1
40
56
16
0
0
0
0
0
0
0
0
0
-1
-8
0
27
-6
43
-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
6
-45
90
-2
51
0
0
0
8
4
0
0
0
0
0
0
1
-10
2
46
-28
-97
0
0
0
51
-49
0
0
0
0
0
0
0
-2
1
-15
-50
-3
14
-29
-84
-11
7
0
0
0
0
0
0
0
0
2
-3
65
-52
46
-71
-88
-51
3
0
0
0
0
0
0
0
-77
5
20
-80
-5
-56
53
-61
-2
37
0
0
0
0
0
0
0
5
1
37
62
19
-63
72
3
78
-7
0
0
0
0
0
0
0
0
0
-15
-5
5
5
-5
-67
-41
2
0
0
0
0
0
0
0
0
0
2
-7
10
13
5
26
-7
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
-13
-9
-48
-4
0
0
0
-8
0
-1
0
0
0
0
0
0
53
18
-11
-24
-117
0
0
0
0
36
1
0
0
0
0
0
0
6
0
0
-20
51
-11
21
14
10
127
7
0
0
0
0
0
0
3
0
0
0
78
59
61
-83
-31
43
24
0
0
0
0
0
0
0
0
-13
-53
-74
-54
44
-34
34
0
0
0
0
0
0
0
0
0
1
8
-3
68
120
36
61
3
0
4
0
0
0
0
0
0
0
0
0
0
-1
-5
2
-5
53
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-27
-36
11
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
25
1
-14
0
0
0
-19
1
0
0
0
0
0
0
0
-5
22
3
24
27
0
0
0
-62
-5
3
1
0
0
0
0
4
0
1
27
58
-8
-71
-49
-3
-40
10
-4
0
0
0
0
0
0
1
13
0
-14
33
5
5
54
44
-36
-6
0
0
0
0
0
0
-14
2
-5
-15
-39
2
-5
-34
-19
-17
0
0
0
0
0
0
0
0
0
-6
0
9
-106
-36
-42
25
0
-3
0
0
0
0
0
0
0
0
0
-2
43
-79
-60
-15
-2
-7
0
0
0
0
0
0
0
0
0
0
0
-3
11
-5
-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
10
0
-4
1
0
0
0
13
-1
1
0
0
0
0
0
0
6
-10
39
-14
-2
0
0
0
16
5
0
0
0
0
0
0
4
0
2
10
3
-1
0
15
-4
75
14
2
-2
0
0
0
0
0
6
-31
-5
13
1
41
5
0
36
3
-5
6
-1
0
0
0
0
1
0
-26
90
28
-28
50
17
13
5
-16
-2
0
0
0
0
0
2
0
5
-3
7
61
-90
34
26
0
11
0
0
0
0
0
0
0
0
0
1
4
-30
5
31
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
7
-14
2
2
0
0
0
-19
-1
9
0
0
0
0
0
0
0
-53
-11
-5
6
0
0
0
33
14
-78
-1
10
0
0
0
0
0
3
17
0
0
-3
-35
-100
-43
-10
3
0
1
0
0
0
0
-3
13
5
-5
1
1
14
52
75
-14
-55
0
-2
0
0
0
0
0
-3
-5
-7
-80
3
-11
25
26
2
0
-20
0
0
0
0
0
0
0
0
82
30
71
77
-53
2
2
-4
-3
0
0
0
0
0
0
0
0
1
-2
-8
41
29
-1
-2
-2
10
0
0
0
0
0
0
0
0
1
-3
-7
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
-14
2
-2
0
0
0
0
0
-2
-2
0
0
0
0
0
0
8
-1
-50
1
-1
0
0
0
4
0
-3
1
7
0
0
0
0
-8
2
-5
2
3
3
0
-7
-4
-1
0
0
0
0
0
0
0
0
0
8
-22
22
-14
-15
3
-48
3
-11
1
-2
0
0
0
0
0
0
18
-9
64
-47
17
20
0
-33
0
5
1
0
0
0
0
0
0
0
-1
5
29
32
-104
1
0
-3
0
0
0
0
0
0
0
0
0
-3
6
-19
-13
-73
1
1
0
0
0
0
0
0
0
0
0
0
0
0
6
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
-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
15
5
4
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
0
-2
-26
0
-3
0
3
0
0
0
0
0
0
0
0
0
1
-6
9
6
-21
-6
0
-3
3
0
0
0
0
0
0
0
0
0
0
-6
-1
9
-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
-10
30
-39
2
-20
41
0
0
0
0
0
0
0
0
0
0
0
8
78
11
-62
10
147
0
0
0
0
0
0
0
0
0
0
0
-6
2
-24
-129
-19
3
16
-37
0
0
0
0
0
0
0
0
0
1
45
2
-48
-14
-97
-81
-11
0
0
0
0
0
0
0
0
0
0
7
9
9
33
30
29
54
0
0
0
0
0
0
0
0
0
0
0
-14
46
-30
8
30
-14
0
0
0
0
0
0
0
0
0
0
0
0
20
-3
19
-9
14
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
34
0
0
0
0
0
0
0
0
0
50
-12
71
-3
-82
-20
0
0
0
0
0
0
0
0
0
0
0
73
56
-80
-15
-78
-5
0
0
0
0
0
0
0
0
0
0
0
1
73
-55
-53
14
8
-24
12
78
0
0
0
0
0
0
0
0
0
21
61
-60
80
10
-6
44
95
0
0
0
0
0
0
0
0
0
0
-65
9
77
6
38
10
79
0
0
0
0
0
0
0
0
0
-17
-14
-59
-78
17
35
15
3
0
0
0
0
0
0
0
0
6
-9
3
6
33
63
84
63
-29
0
0
0
0
0
0
0
0
0
0
0
4
0
-23
-24
14
108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
13
0
0
0
0
0
0
0
0
-5
-28
16
-90
-44
22
0
0
0
-7
0
0
0
0
0
0
0
10
89
62
-4
-8
-15
0
0
0
-14
0
0
0
0
0
0
0
0
-13
7
-67
-86
-59
-9
-9
-43
-54
0
0
0
0
0
0
0
0
0
1
-37
-108
14
40
94
-15
-61
0
0
0
0
0
0
0
0
0
-2
-19
32
32
-42
8
-15
-6
0
0
0
0
0
0
0
0
-1
-50
-1
-10
67
-17
33
66
22
0
0
0
0
0
0
0
3
0
3
14
27
46
3
17
-9
-21
0
0
0
0
0
0
0
0
0
-15
14
-10
5
-33
-46
-74
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
11
-1
-1
-53
-7
-7
0
0
0
-39
4
0
0
0
0
0
0
0
-48
-60
-45
24
-14
0
0
0
-81
2
0
0
0
0
0
0
0
-1
7
4
-22
8
-12
-57
1
-11
-1
0
0
0
0
0
0
0
0
0
2
-9
13
35
54
14
47
0
0
0
0
0
0
0
1
0
0
17
191
-27
-95
28
-40
-33
-2
0
0
0
0
0
0
0
2
-10
25
2
-1
-106
1
-89
14
5
0
0
0
0
0
0
0
0
0
27
-18
18
-68
-52
-80
16
4
0
0
0
0
0
0
0
0
0
-4
0
-3
43
-81
119
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
-19
17
22
-25
0
0
0
-19
0
0
0
0
0
0
0
0
-2
53
-43
-15
-31
0
0
0
1
5
0
0
0
0
0
0
0
-55
0
-24
8
-1
30
66
-13
14
-3
-3
0
0
0
0
0
0
8
1
0
-3
33
-1
-58
19
21
5
0
0
0
0
0
0
5
3
0
-7
18
4
-46
81
48
27
9
0
0
0
0
0
0
0
0
5
0
8
4
55
62
-7
-9
0
0
0
0
0
0
0
0
0
0
6
-67
-13
-10
43
-146
-35
3
0
0
0
0
0
0
0
0
0
1
0
-11
-22
-20
-36
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
36
8
1
31
0
0
0
-16
6
-1
0
0
0
0
0
0
-2
-3
-26
7
-27
0
0
0
-50
43
0
0
0
0
0
0
0
0
-28
7
-2
0
-11
63
59
-1
-11
0
0
0
0
0
0
0
0
3
9
0
-35
-12
47
-4
-91
0
-3
0
0
0
0
0
0
-5
0
3
0
-1
33
-63
14
41
-16
0
0
0
0
0
0
0
0
0
-10
0
64
-7
-57
-33
17
2
0
0
0
0
0
0
0
0
-6
0
1
3
90
0
28
5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
27
2
-2
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
4
0
66
6
5
0
0
0
0
0
0
0
0
0
0
0
0
3
40
-1
18
11
0
0
0
-7
-3
6
-1
0
0
0
0
0
5
16
1
0
-3
-2
77
16
10
26
-1
-1
0
0
0
0
0
0
14
0
1
0
-7
28
-31
0
-5
-2
1
0
0
0
0
0
0
0
36
-3
2
-10
31
-45
73
-43
-1
-2
0
0
0
0
0
0
0
-3
-91
0
-8
16
79
8
0
0
0
0
0
0
0
0
0
0
0
3
8
43
-18
6
4
2
0
0
0
0
0
0
0
0
0
0
0
0
19
3
-52
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
27
0
0
7
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-12
-9
3
-16
0
0
0
79
2
-3
-4
0
0
0
0
-1
2
-17
-19
14
0
4
-1
67
-3
69
1
-2
0
0
0
0
0
-14
-1
0
0
31
1
2
-24
76
1
4
-8
4
0
0
0
0
0
1
5
-32
-2
0
4
0
6
12
-5
-2
-3
0
0
0
0
-3
0
18
0
-8
-5
-36
-13
2
0
-3
0
0
0
0
0
0
0
0
0
-11
-3
-10
-17
-43
5
1
0
0
0
0
0
0
0
0
0
0
0
0
13
-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
-5
0
1
0
0
0
2
0
0
0
0
0
0
0
0
5
41
-1
-1
-4
0
0
0
1
4
0
0
0
0
0
0
0
1
-9
31
-3
0
0
0
0
0
-4
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
-4
-34
-3
-2
0
-2
-1
0
4
2
0
0
0
0
2
-1
-4
-13
-23
6
-2
3
3
-9
0
0
0
0
0
0
0
0
5
-10
-1
15
-43
-23
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
0
6
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
-6
16
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
0
-3
25
-65
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
15
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-20
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-14
-100
-19
34
59
0
0
0
0
0
0
0
0
0
0
-2
61
66
32
-31
-11
-9
0
0
0
0
0
0
0
0
0
0
0
71
7
-26
-70
-17
67
41
-62
0
0
0
0
0
0
0
0
0
2
-105
15
60
-85
-24
38
87
0
0
0
0
0
0
0
0
0
0
-20
54
14
34
226
62
-40
0
0
0
0
0
0
0
0
0
0
0
-56
-69
46
80
-54
-7
0
0
0
0
0
0
0
0
0
0
0
1
17
-5
-14
52
148
0
0
0
0
0
0
0
0
0
0
-2
0
-1
16
5
-6
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
40
0
0
0
0
0
0
0
0
0
-15
74
8
-64
-28
-88
0
0
0
0
0
0
0
0
0
0
0
-51
32
-20
-47
-23
22
0
0
0
0
0
0
0
0
0
0
0
9
-111
-62
50
82
-34
-132
-36
-3
0
0
0
0
0
0
0
0
0
0
85
-1
-33
-149
42
-35
-23
0
0
0
0
0
0
0
0
0
8
-37
-49
30
-27
-53
32
24
0
0
0
0
0
0
0
0
0
-4
33
-22
46
1
-89
104
66
0
0
0
0
0
0
0
0
-6
9
2
-19
-69
7
-56
-12
-27
0
0
0
0
0
0
0
0
0
-1
-23
-25
62
-33
5
43
17
0
0
0
0
0
0
0
0
0
0
-1
0
0
-16
4
60
-19
0
0
0
0
0
0
0
0
6
4
-1
-39
99
36
0
0
0
-5
0
0
0
0
0
0
0
-21
-3
-27
24
-51
-44
0
0
0
-80
0
0
0
0
0
0
0
-2
33
48
59
-67
-165
68
-89
9
-7
0
0
0
0
0
0
0
0
0
-13
-78
26
-1
117
25
14
9
0
0
0
0
0
0
0
0
0
0
43
53
-22
60
4
-47
-32
0
0
0
0
0
0
0
0
0
0
-3
30
5
35
-30
44
-16
0
0
0
0
0
0
0
17
-6
3
-7
-48
-11
60
131
37
7
0
0
0
0
0
0
0
0
0
0
-4
45
-33
5
48
15
45
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
-12
-8
0
0
0
0
0
0
0
0
1
-5
-16
6
-62
49
0
0
0
-14
0
0
0
0
0
0
0
-2
-53
48
-27
22
-95
0
0
0
-53
-3
0
0
0
0
0
0
-1
-46
40
-74
54
-22
-57
112
-122
-82
-1
0
0
0
0
0
0
3
0
0
-1
-23
16
-7
5
-15
53
0
0
0
0
0
0
0
-4
0
0
0
5
14
-54
-46
26
-14
0
0
0
0
0
0
0
0
0
0
-3
-71
-71
-43
34
25
14
0
0
0
0
0
0
0
0
5
0
-5
11
-60
60
-25
18
-10
-1
0
0
0
0
0
0
0
0
0
5
-2
-5
-46
23
29
-5
-9
0
0
0
0
0
0
0
0
0
0
0
6
-1
-51
1
3
0
0
0
0
0
0
0
0
-5
-34
-45
22
49
0
0
0
-7
-5
0
0
0
0
0
0
0
-5
35
65
-19
9
0
0
0
-41
-10
-1
0
0
0
0
0
0
0
16
11
-40
-43
-71
16
65
3
13
0
0
0
0
0
0
0
8
0
-3
15
49
58
48
33
4
0
-4
0
0
0
0
0
2
0
0
0
-1
-6
22
-8
-25
15
-1
2
0
0
0
0
0
0
1
0
0
0
-26
-41
58
-21
33
-1
0
0
0
0
0
0
0
0
-3
-1
-17
-13
118
94
51
9
-1
0
0
0
0
0
0
0
0
0
0
11
-6
-1
-39
33
-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
23
-53
1
-3
0
0
0
5
2
0
0
0
0
0
0
0
2
31
86
8
-6
0
0
0
-15
9
0
0
0
0
0
0
4
-9
-23
-68
-19
-52
-65
11
-81
-10
8
0
0
0
0
0
0
3
-3
7
0
1
0
40
49
66
-7
0
3
-1
0
0
0
0
0
0
3
-2
0
1
-13
-12
34
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
68
-63
11
-4
1
0
0
0
0
0
0
0
0
0
-10
-27
-9
1
-51
5
6
1
0
0
0
0
0
0
0
0
0
0
0
5
-41
0
100
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
-1
19
-18
0
0
0
0
2
0
0
0
0
0
0
0
0
2
-5
22
2
43
0
0
0
-36
0
0
-10
0
0
0
0
0
-1
-69
-2
-3
10
-7
-17
-28
-1
-4
0
0
0
0
0
0
0
-2
45
-3
0
0
0
39
3
-6
0
1
0
0
0
0
0
0
0
-6
-5
11
0
-10
29
18
0
-4
1
0
0
0
0
0
0
0
2
-20
0
-2
0
13
-68
2
-3
0
0
0
0
0
0
0
0
2
0
29
0
-3
-2
5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-5
10
8
30
-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
-6
0
0
0
0
-1
0
0
0
0
0
0
1
-9
-49
0
-4
25
0
0
0
-3
0
0
1
-1
0
0
0
0
-3
-91
59
4
5
-29
71
-3
-1
1
1
0
0
0
0
0
0
0
37
0
-71
0
0
-16
23
-8
11
0
-1
-1
0
0
0
0
0
0
10
-2
0
0
0
-14
1
-4
-2
0
0
0
0
0
0
0
-2
-5
-50
0
-2
-2
-36
-3
9
9
0
0
0
0
0
0
0
0
0
0
-11
-13
6
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-4
-10
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
19
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
-1
19
-7
1
4
-15
-8
78
2
-1
0
0
0
0
0
0
0
0
-2
104
7
21
0
0
0
2
0
1
0
0
0
0
0
0
0
0
-17
-11
-1
-4
0
0
4
6
0
-1
0
0
0
0
0
0
0
-4
20
22
0
-1
0
1
3
0
0
0
0
0
0
0
0
3
0
-5
3
-45
-4
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
2
44
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
-10
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-19
-4
0
2
-1
18
0
0
0
0
0
0
0
0
0
-10
9
4
-1
-8
46
-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
30
6
0
0
0
-1
-1
0
0
0
0
0
0
0
0
3
11
0
0
-8
14
0
0
0
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
29
21
-21
0
0
0
0
0
0
0
0
0
0
2
-57
-41
53
9
26
13
0
0
0
0
0
0
0
0
0
0
0
17
-23
-65
-120
-44
39
-54
7
0
0
0
0
0
0
0
0
0
44
-34
10
24
-31
13
66
41
0
0
0
0
0
0
0
0
0
0
3
-75
11
-21
7
22
6
0
0
0
0
0
0
0
0
0
0
2
18
-8
32
74
27
16
0
0
0
0
0
0
0
0
0
0
0
10
-53
49
100
-20
-25
0
0
0
0
0
0
0
0
0
0
0
-11
8
-25
22
104
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
57
-23
0
0
0
0
0
0
0
0
0
6
-57
-54
-50
55
-77
0
0
0
0
0
0
0
0
0
0
0
113
-78
-154
-16
-66
77
0
0
0
0
0
0
0
0
0
0
0
29
-97
25
-67
-15
-12
-13
-113
34
0
0
0
0
0
0
0
0
4
-20
15
-23
-23
-75
41
-42
-83
0
0
0
0
0
0
0
0
0
0
-41
97
32
23
-37
48
-106
0
0
0
0
0
0
0
0
0
0
22
73
-23
-87
99
-29
4
0
0
0
0
0
0
0
0
0
0
-14
-53
69
56
23
17
-43
0
0
0
0
0
0
0
0
0
1
-1
9
-107
36
-30
-13
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
39
-56
-46
0
0
0
0
0
0
0
0
-13
-17
-64
-186
15
-31
0
0
0
-20
0
0
0
0
0
0
0
-19
-32
6
98
-28
35
0
0
0
83
0
0
0
0
0
0
0
-9
60
11
28
-40
36
1
-14
126
24
0
0
0
0
0
0
0
-4
30
-59
-23
-42
37
44
65
40
21
0
0
0
0
0
0
0
0
2
3
46
29
27
-59
-41
-118
43
0
0
0
0
0
0
0
0
0
0
21
-53
93
5
-8
2
-36
0
0
0
0
0
0
0
0
0
0
-9
-73
-20
-82
-32
-62
-29
0
0
0
0
0
0
0
0
1
9
7
-39
100
26
-6
-20
31
0
0
0
0
0
0
0
0
0
0
-4
0
11
-43
43
-9
-2
0
0
0
0
0
0
0
0
3
-37
13
-13
1
0
0
0
21
-24
0
0
0
0
0
0
2
15
-119
-36
-43
100
0
0
0
34
2
0
0
0
0
0
0
-23
-43
-7
-91
-87
-27
-119
-56
2
-15
-33
0
0
0
0
0
0
0
-7
-117
26
22
-87
-23
6
-6
-19
-6
0
0
0
0
0
0
-1
0
-3
0
31
44
14
-65
-71
5
-5
0
0
0
0
0
0
0
0
0
0
53
126
20
-40
84
24
1
0
0
0
0
0
0
0
0
0
2
19
86
-56
102
52
-19
1
0
0
0
0
0
0
0
0
1
-5
2
81
-19
19
71
-56
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
10
9
0
0
0
0
0
0
0
0
-3
4
1
5
-2
0
0
0
3
0
0
0
0
0
0
0
0
53
33
-18
24
44
0
0
0
-2
-24
0
0
0
0
0
0
2
34
13
-55
109
-75
7
-36
-25
24
-1
-6
0
0
0
0
0
2
4
-18
-34
4
-31
-90
-6
-54
6
1
0
0
0
0
0
0
0
16
0
0
2
-53
36
-27
-27
-18
-6
0
0
0
0
0
0
0
0
0
0
-1
51
-7
-84
34
-15
0
0
0
0
0
0
0
0
0
0
0
2
68
15
-141
20
8
-5
0
0
0
0
0
0
0
0
0
-1
0
10
-107
-44
134
-19
-4
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
11
14
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-4
-53
39
20
16
0
0
0
-16
-3
0
0
0
0
0
0
0
-8
8
-10
-65
49
-1
-4
-61
0
-2
-1
0
0
0
0
0
0
-1
-2
42
3
5
13
-8
-32
2
9
-3
-1
0
0
0
0
2
0
-29
0
0
2
109
-15
-34
16
3
0
0
0
0
0
0
0
0
0
0
0
3
-87
-29
38
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-29
-64
-1
4
0
0
0
0
0
0
0
0
0
2
0
0
3
0
-49
-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
19
-25
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
16
-34
-14
5
0
0
0
-3
-1
0
0
0
0
0
0
0
0
-8
0
-49
-2
18
-20
-3
0
0
0
0
0
0
0
0
0
0
-5
1
52
48
-69
1
27
3
-1
0
0
0
0
0
0
3
-1
-8
20
0
0
-3
5
-10
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-20
-8
-2
3
0
0
0
0
0
0
0
0
9
0
0
0
-24
-17
-6
0
0
0
0
0
0
0
0
0
3
0
0
0
-29
-1
6
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
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
-13
13
1
0
0
0
2
0
0
0
0
0
0
0
0
0
-15
0
-1
-5
6
31
6
0
0
0
0
0
0
0
0
0
0
1
71
6
-68
-11
-54
0
1
0
-3
0
0
0
0
0
2
0
4
5
-27
0
4
0
-2
3
0
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
6
11
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
-9
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
2
2
-6
-8
0
0
0
2
0
0
0
0
0
0
0
0
8
4
-5
0
-23
15
8
-6
0
0
0
0
0
0
0
0
0
0
0
-48
50
5
79
9
-2
0
0
0
0
0
0
0
0
0
0
-2
-65
29
26
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-6
0
0
0
0
0
0
0
0
0
0
1
0
-5
-3
2
-22
0
-2
0
0
0
0
0
0
0
0
0
3
0
-13
-19
-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
-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
-6
7
-19
-5
-27
-9
0
0
0
0
0
0
0
0
0
0
-4
-42
-23
-46
58
30
10
0
0
0
0
0
0
0
0
0
0
0
17
-59
-38
24
23
19
60
10
0
0
0
0
0
0
0
0
0
-6
-86
-20
-26
-154
-3
52
30
0
0
0
0
0
0
0
0
0
2
0
35
31
116
13
-99
-25
0
0
0
0
0
0
0
0
0
0
5
50
-83
22
53
-28
4
0
0
0
0
0
0
0
0
0
0
4
1
-36
22
-26
-76
55
0
0
0
0
0
0
0
0
0
0
0
-13
0
21
-61
-11
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-34
0
0
0
0
0
0
0
0
0
-2
12
-85
25
23
-28
0
0
0
0
0
0
0
0
0
0
0
-5
-45
-80
-135
-64
100
0
0
0
0
0
0
0
0
0
0
0
-15
-103
-19
-109
-86
-34
41
-35
68
0
0
0
0
0
0
0
0
0
58
-1
38
-72
-4
79
4
15
0
0
0
0
0
0
0
0
0
1
-31
55
47
-8
-19
-64
45
0
0
0
0
0
0
0
0
0
0
99
-5
15
-22
-19
-8
29
0
0
0
0
0
0
0
0
0
0
32
-78
-192
14
-67
-24
-30
0
0
0
0
0
0
0
0
0
0
5
5
97
-65
-25
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-10
18
-13
0
0
0
0
0
0
0
0
-2
-31
-2
54
-21
-19
0
0
0
57
0
0
0
0
0
0
0
52
38
29
41
53
-27
0
0
0
3
0
0
0
0
0
0
0
-10
-57
74
-104
12
-80
-34
-43
8
16
0
0
0
0
0
0
0
-7
58
-27
-69
-14
38
-54
-7
-45
-4
0
0
0
0
0
0
0
-18
-14
-59
90
-81
0
-86
62
-22
11
0
0
0
0
0
0
0
0
0
-5
-8
50
-4
-22
-4
52
8
0
0
0
0
0
0
0
0
0
0
1
-13
90
45
-17
5
-21
0
0
0
0
0
0
0
0
0
0
-31
-49
-50
-88
175
35
-52
0
0
0
0
0
0
0
0
0
3
-3
0
39
17
-59
69
3
0
0
0
0
0
0
0
0
-1
-18
-59
13
-41
0
0
0
-11
-51
0
0
0
0
0
0
-4
-2
-96
2
-34
101
0
0
0
-54
-37
0
0
0
0
0
0
-3
2
-8
0
-25
-25
2
-23
6
16
-8
0
0
0
0
0
0
-1
-3
14
13
-34
22
2
0
-117
5
-2
0
0
0
0
0
0
4
-27
12
-71
7
31
-91
56
-24
29
0
0
0
0
0
0
0
0
0
2
0
-35
21
-30
-52
75
3
0
0
0
0
0
0
0
0
0
0
0
10
-59
-29
33
-108
24
16
0
0
0
0
0
0
0
0
0
0
-2
29
-24
61
-54
8
-7
0
0
0
0
0
0
0
0
0
0
0
2
26
-17
39
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
48
46
-26
-51
0
0
0
-18
27
0
0
0
0
0
0
0
-1
0
-9
44
15
19
17
-11
13
0
0
0
0
0
0
0
0
-5
30
52
-27
-15
-21
29
-51
0
0
0
0
0
0
0
0
1
-1
9
-1
-43
-8
-20
-31
-84
-3
0
0
0
0
0
0
0
0
0
0
0
0
82
43
-2
-33
-18
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
9
40
27
0
0
0
0
0
0
0
0
0
0
0
0
55
-8
14
-30
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-5
0
0
0
0
0
0
0
0
1
0
-6
-2
-2
0
0
0
-1
0
0
0
0
0
0
0
3
0
-17
4
-11
0
0
0
0
31
1
0
0
0
0
0
0
0
0
-3
-25
-21
43
-27
6
-13
-2
-1
-1
0
0
0
0
0
0
-1
43
47
29
-60
-136
11
-26
9
-1
0
0
0
0
0
0
0
-10
0
-13
-42
-170
-17
28
-33
-15
-9
0
0
0
0
0
0
0
0
0
0
0
0
59
12
90
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
124
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
2
28
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
0
14
-1
-16
0
7
0
0
0
0
0
0
0
0
0
0
6
-7
-22
22
47
3
-6
-1
0
0
0
0
0
0
0
0
9
11
5
-24
13
-21
9
8
0
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
62
-19
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
17
0
4
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
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
-18
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
2
3
0
2
23
2
0
0
3
0
0
0
0
0
0
0
8
-4
-21
14
18
14
-6
6
1
2
0
0
0
0
0
0
5
-5
-1
-2
21
-14
-49
0
10
0
0
0
0
0
0
0
0
0
0
0
65
0
5
0
0
1
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
10
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
0
0
0
0
0
1
0
0
0
0
0
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
-11
4
0
0
0
0
0
0
0
0
0
0
0
-6
1
5
19
5
-13
1
0
0
0
0
0
0
0
0
0
0
8
40
-3
4
-21
-33
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
6
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-13
43
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
-7
-14
-45
-19
16
-31
0
0
0
0
0
0
0
0
0
0
-1
3
-104
-73
68
-25
-37
-29
88
0
0
0
0
0
0
0
0
0
-14
-41
-50
-31
29
-45
1
92
0
0
0
0
0
0
0
0
0
13
-53
41
-38
71
47
-72
28
0
0
0
0
0
0
0
0
0
-6
3
-31
41
30
-112
34
33
0
0
0
0
0
0
0
0
0
0
-7
27
5
7
0
20
68
0
0
0
0
0
0
0
0
0
0
2
-5
1
15
-28
63
-31
0
0
0
0
0
0
0
0
0
0
-10
0
0
2
33
34
66
0
0
0
0
0
0
0
0
0
0
-64
-84
49
1
74
0
0
0
0
0
0
0
0
0
0
0
-20
-109
-126
19
14
-67
0
0
0
0
0
0
0
0
0
0
0
-11
-133
-103
67
-18
49
4
-91
41
0
0
0
0
0
0
0
0
-9
-37
-43
-14
41
-20
7
6
-16
0
0
0
0
0
0
0
0
0
-109
-3
2
4
81
-3
-69
-46
0
0
0
0
0
0
0
0
1
-22
-31
0
-24
7
29
24
-19
0
0
0
0
0
0
0
0
0
0
3
5
80
39
-38
28
-14
0
0
0
0
0
0
0
0
0
0
1
-33
29
53
1
-33
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
9
-16
-52
0
0
0
0
0
0
0
0
0
0
1
16
-1
5
0
0
0
-5
0
0
0
0
0
0
0
-14
-2
27
-32
-11
33
0
0
0
1
0
0
0
0
0
0
0
-1
11
3
99
-14
43
-25
30
-92
-1
0
0
0
0
0
0
0
0
-11
-8
-80
-67
75
-47
42
45
21
0
0
0
0
0
0
0
-4
-11
-34
51
-86
17
45
-15
3
-7
0
0
0
0
0
0
0
1
3
-59
-35
9
-40
-91
69
20
-2
0
0
0
0
0
0
0
0
0
0
15
57
1
11
2
-57
71
0
0
0
0
0
0
0
0
0
0
0
43
-1
-3
70
-11
29
0
0
0
0
0
0
0
0
0
0
0
0
-23
7
99
25
-6
0
0
0
0
0
0
0
0
2
0
-9
0
0
0
0
0
1
-5
0
0
0
0
0
0
-3
-2
14
54
-5
13
0
0
0
-7
-35
0
0
0
0
0
0
-1
0
71
32
-25
65
25
-51
31
-21
-6
0
0
0
0
0
0
1
-4
2
24
-50
-14
-114
72
-8
5
3
0
0
0
0
0
0
0
0
44
-42
-126
-56
7
-51
17
20
0
0
0
0
0
0
0
0
-2
-1
-35
34
35
-25
57
15
-10
0
0
0
0
0
0
0
0
0
0
0
35
-64
-77
1
-42
1
0
0
0
0
0
0
0
0
0
0
0
0
22
46
42
59
-57
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
43
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
10
0
-1
0
0
0
0
-8
-2
0
0
0
0
0
0
0
2
4
-13
22
-5
-2
-6
14
3
0
0
0
0
0
0
0
0
-1
22
-16
-10
-10
-17
15
25
1
0
0
0
0
0
0
0
0
0
3
-4
-81
-7
10
36
34
-7
0
0
0
0
0
0
0
0
0
0
0
5
-72
56
44
-90
5
0
0
0
0
0
0
0
0
0
0
0
0
-44
-1
-43
0
4
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
1
-54
27
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
8
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
-17
27
8
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
8
20
10
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
29
2
-4
-83
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
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
3
0
0
0
0
0
0
0
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
0
0
-1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
-2
0
-14
-1
7
11
2
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
1
-1
1
0
9
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-2
7
0
0
0
-2
9
0
0
0
0
0
0
0
0
0
-45
-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
11
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
-9
-1
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
0
0
0
0
0
14
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
-13
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-9
-8
-25
-14
-2
29
0
0
0
0
0
0
0
0
0
0
0
2
-37
21
12
13
-1
7
26
0
0
0
0
0
0
0
0
2
30
-141
-99
-49
-114
99
-5
154
0
0
0
0
0
0
0
0
5
-1
33
19
-19
-14
16
-43
15
0
0
0
0
0
0
0
0
0
-5
16
36
-170
13
-42
-3
-33
0
0
0
0
0
0
0
0
0
0
0
14
47
44
-60
-28
12
0
0
0
0
0
0
0
0
0
0
0
14
1
28
56
42
36
0
0
0
0
0
0
0
0
0
0
4
0
0
0
62
23
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
-1
17
-13
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-22
13
-33
-9
18
-8
16
-58
0
0
0
0
0
0
0
0
-3
-5
-55
-65
15
-22
8
-9
-71
0
0
0
0
0
0
0
0
-4
21
-9
1
-26
85
-108
-17
-4
0
0
0
0
0
0
0
0
0
-4
-2
-68
16
-63
120
-33
5
0
0
0
0
0
0
0
0
0
0
-13
11
26
-59
55
16
0
0
0
0
0
0
0
0
0
0
0
0
6
37
9
-1
-5
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-3
-26
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
-20
-6
-6
0
-14
20
-3
-2
0
0
0
0
0
0
0
0
-3
-3
-5
11
62
-7
-3
-25
16
0
0
0
0
0
0
0
0
0
7
-5
9
10
-33
1
-79
0
0
0
0
0
0
0
0
0
1
0
-22
6
11
50
-50
1
0
0
0
0
0
0
0
0
0
0
1
0
-3
10
-4
44
8
4
0
0
0
0
0
0
0
0
0
0
0
-5
9
0
13
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
14
-1
34
0
0
0
0
0
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
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
14
0
14
-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
-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
3
-8
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
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
10
0
3
0
0
0
0
0
0
0
0
0
27
-1
-43
-1
26
14
-5
0
0
0
0
0
0
0
0
0
0
6
-13
22
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
23
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
17
0
0
0
0
0
0
0
0
0
0
0
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
-11
-5
-43
-10
-2
0
0
0
0
0
0
0
0
0
26
-8
14
54
-55
-31
-17
0
-3
0
0
0
0
0
0
0
0
1
-24
-26
-41
-58
32
9
4
0
0
0
0
0
0
0
0
0
0
2
-4
29
6
-5
-9
-22
5
0
0
0
0
0
0
0
0
0
23
-3
27
0
-2
-10
0
0
1
0
0
0
0
0
0
0
0
-18
-18
0
-11
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-7
-4
-22
0
0
-1
14
0
0
0
0
0
0
0
0
0
0
30
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
21
15
8
3
0
0
0
0
0
0
0
0
0
5
-14
-60
49
68
-43
-17
4
0
1
0
0
0
0
0
0
0
1
-2
-2
-80
178
23
-21
-5
0
0
0
0
0
0
0
0
0
1
7
0
-14
28
-7
24
-1
0
0
0
0
0
0
0
0
0
0
-2
-3
47
-2
-16
-6
1
-2
0
0
0
0
0
0
0
0
0
-3
1
-5
4
-10
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
73
7
0
-37
36
22
-2
0
0
0
0
0
0
0
0
0
0
-16
47
6
-33
-74
99
10
1
0
0
0
0
0
0
0
0
-3
-1
3
1
44
-33
2
-7
0
0
0
0
0
0
0
0
0
0
9
8
16
-41
-6
4
1
0
0
0
0
0
0
0
0
0
0
2
25
5
-2
-29
17
-1
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
-2
20
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
1
0
0
0
0
0
0
0
0
0
-13
4
-5
23
-17
90
53
4
1
0
0
0
0
0
0
0
0
0
-16
0
-5
2
-6
32
18
0
0
0
0
0
0
0
0
0
-5
0
-16
20
17
-1
4
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
9
7
0
78
0
0
-46
-25
0
-1
0
0
0
0
0
0
0
-17
18
-10
78
16
35
43
67
72
0
0
0
0
0
0
0
0
0
-18
32
-5
-5
-27
75
-17
2
1
0
0
0
0
0
0
0
0
0
1
-3
-3
17
0
9
-5
0
0
0
0
0
0
0
0
0
1
1
-7
9
-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
-9
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
-41
0
0
0
0
0
0
0
0
0
2
-39
10
10
78
5
66
-6
27
4
0
0
0
0
0
0
0
4
-2
-45
4
0
8
44
28
-10
9
0
0
0
0
0
0
0
0
8
-9
-1
-20
5
-27
27
0
10
0
0
0
0
0
0
0
0
-2
0
11
-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
-34
-35
-23
-1
3
0
30
-4
0
0
0
0
0
0
0
0
0
19
-10
6
5
32
14
45
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
-52
22
21
1
8
-2
-2
0
0
0
0
0
0
0
0
0
0
-9
50
-12
15
-65
1
-11
0
0
0
0
0
0
0
0
0
0
-55
-25
-34
9
0
6
-1
0
0
0
0
0
0
0
0
0
0
-49
-20
24
2
-2
-5
-5
0
0
0
0
0
0
0
0
0
0
2
3
-4
13
-10
-2
0
0
0
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
-45
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
24
24
-14
8
-82
-1
5
0
0
0
0
0
0
0
0
0
64
-19
23
-1
28
48
15
53
-2
2
0
0
0
0
0
0
0
4
35
-13
-42
-33
-29
-46
3
-5
0
0
0
0
0
0
0
0
-6
-66
-21
129
-15
60
23
-13
-41
0
0
0
0
0
0
0
0
10
88
-59
70
32
-30
-15
7
11
-8
0
0
0
0
0
0
0
0
-29
45
45
1
-45
-1
-8
-6
0
0
0
0
0
0
0
0
0
-3
25
56
-27
-1
-2
9
0
0
0
0
0
0
0
0
0
0
-43
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
10
77
-87
103
-171
24
14
0
0
0
0
0
0
0
0
0
-2
78
26
-118
116
-2
10
-4
-2
0
0
0
0
0
0
0
0
-50
-37
-41
-26
-61
153
43
13
57
-1
0
0
0
0
0
0
0
2
-86
25
19
-32
31
7
-21
22
-4
0
0
0
0
0
0
0
0
45
33
137
8
-3
48
17
-1
0
0
0
0
0
0
0
0
1
-9
16
14
-8
-19
-9
0
-5
0
0
0
0
0
0
0
0
0
0
36
-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
53
-24
33
30
75
-21
-71
0
1
0
0
0
0
0
0
0
0
46
32
21
52
4
29
-34
-4
0
1
0
0
0
0
0
0
-10
-24
37
82
42
-3
21
10
-14
0
0
0
0
0
0
0
0
23
-26
-5
-68
-59
-16
-5
-8
-6
4
0
0
0
0
0
0
0
0
-23
-49
43
23
45
15
0
-1
0
0
0
0
0
0
0
0
-7
-18
0
-5
-5
0
2
-3
-2
0
0
0
0
0
0
0
0
0
0
2
-17
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
-18
6
74
19
17
-89
32
86
0
1
0
0
0
0
0
0
0
-7
81
59
-34
0
33
13
10
65
0
0
0
0
0
0
0
0
23
-3
-14
1
112
-33
-53
0
-45
-1
0
0
0
0
0
0
0
-6
-4
34
20
-22
-14
45
0
-1
-1
0
0
0
0
0
0
0
24
14
-13
24
4
-7
-24
0
0
0
0
0
0
0
0
0
0
0
-14
-18
18
3
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
7
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
0
0
0
-3
16
191
-16
61
32
-21
19
0
0
0
0
0
0
0
0
0
3
14
-47
58
29
-8
-31
81
-18
-2
0
0
0
0
0
0
0
-2
23
-13
-33
7
20
2
-67
-7
0
0
0
0
0
0
0
0
14
10
2
10
-43
-44
25
-5
-1
-2
0
0
0
0
0
0
0
3
19
5
27
-2
16
-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
-23
18
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
45
17
53
-7
-62
16
0
1
0
0
0
0
0
0
0
0
-11
80
54
154
-23
43
-6
-16
-4
3
0
0
0
0
0
0
5
-6
93
14
42
-8
6
-11
-33
-2
0
-1
0
0
0
0
0
-3
-14
25
-25
-1
-16
-47
-33
-4
-1
2
0
0
0
0
0
0
-1
-26
33
-10
-21
-25
-19
-1
1
0
1
-1
0
0
0
0
0
0
1
0
13
-11
24
-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
45
-14
0
9
0
-2
-2
0
0
0
0
0
0
-2
-1
1
13
47
-14
39
-2
25
-15
0
0
0
0
0
0
0
5
-8
-36
9
-45
21
-6
-34
55
28
0
0
0
0
0
0
0
2
0
14
25
18
-1
5
0
0
-2
0
0
0
0
0
0
0
0
-10
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
14
-5
0
0
0
0
0
0
0
0
0
0
10
-3
-10
3
-6
1
-4
1
21
0
0
0
0
0
0
0
0
0
-6
3
4
14
0
18
-2
3
0
0
0
0
0
0
0
-1
0
0
1
5
15
-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
15
-1
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
-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
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
-4
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
3
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
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
44
15
-92
-15
0
27
0
0
0
0
0
0
0
0
0
0
0
-44
63
105
-6
-51
80
-43
-5
0
0
0
0
0
0
0
0
0
-2
-9
-7
6
0
-3
6
0
0
0
0
0
0
0
0
0
0
-32
1
14
-2
37
-8
-1
0
0
0
0
0
0
0
0
0
0
11
11
-5
1
2
-1
9
0
0
0
0
0
0
0
0
0
0
17
-8
16
13
-2
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
-45
67
-29
-71
11
53
-9
4
0
0
0
0
0
0
0
0
0
7
75
58
-71
-119
31
-77
-8
-58
0
0
0
0
0
0
0
0
5
24
148
-37
-6
10
-76
-19
63
0
0
0
0
0
0
0
0
-10
-29
-20
-53
7
30
-39
5
-6
0
0
0
0
0
0
0
0
-36
-62
-54
-32
-51
79
-1
-26
-1
2
0
0
0
0
0
0
0
19
10
-64
-21
39
-33
0
-9
0
0
0
0
0
0
0
0
0
-3
-53
-22
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
-5
-48
36
151
-80
-36
0
0
0
0
0
0
0
0
0
7
104
-128
-44
-46
131
-16
-7
-17
13
0
0
0
0
0
0
0
6
-4
13
-17
69
15
21
19
0
-1
0
0
0
0
0
0
0
13
60
24
-76
32
-2
-15
-10
5
-3
0
0
0
0
0
0
0
0
32
-33
10
4
46
-2
0
-8
0
0
0
0
0
0
0
0
-11
-26
23
29
5
-2
-2
10
-3
1
0
0
0
0
0
0
0
0
25
39
-14
14
0
1
0
-3
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-13
-15
51
-3
36
0
0
0
0
0
0
0
0
0
4
-79
-32
-21
-68
46
90
6
0
0
0
0
0
0
0
0
0
0
75
-55
-2
28
-1
7
6
7
2
0
0
0
0
0
0
0
0
57
1
-31
9
22
-16
-5
0
0
0
0
0
0
0
0
0
0
21
32
-22
-53
5
0
0
21
-2
0
0
0
0
0
0
0
0
25
-24
-14
10
33
1
0
0
0
0
0
0
0
0
0
0
-4
-6
-10
-3
-2
0
18
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
-24
29
21
122
90
0
0
0
0
0
0
0
0
0
-3
-21
90
-13
-40
-5
-58
27
6
0
0
0
0
0
0
0
0
0
33
34
-21
0
80
9
43
-1
0
0
0
0
0
0
0
0
1
4
2
2
-24
-13
10
0
19
0
0
0
0
0
0
0
0
6
16
2
-34
-6
-10
0
2
1
0
0
0
0
0
0
0
0
0
0
27
0
1
1
7
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
-1
1
-11
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
-55
-72
102
60
0
0
0
0
0
0
0
0
0
0
14
41
104
-39
-6
-44
64
6
0
0
0
0
0
0
0
0
2
0
-7
3
34
0
14
14
5
2
0
0
0
0
0
0
0
-1
-14
59
79
8
28
2
1
0
7
0
0
0
0
0
0
0
0
34
-5
-1
-13
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
17
18
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
45
-5
14
7
90
17
0
0
0
0
0
0
0
0
0
0
53
-18
86
107
-26
-7
-5
2
-1
0
0
0
0
0
0
0
4
13
-15
3
5
3
0
-2
7
-2
0
0
0
0
0
0
0
0
-5
81
-45
-18
3
4
0
3
0
0
0
0
0
0
0
0
1
51
-13
25
1
14
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
20
0
37
3
35
80
0
-3
0
0
0
0
0
0
0
8
14
1
-45
21
13
43
-3
41
8
-5
0
0
0
0
0
0
5
5
9
0
11
20
-3
1
-17
9
0
0
0
0
0
0
0
0
0
11
-7
-13
-13
2
3
0
0
0
0
0
0
0
0
0
1
-5
4
21
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
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-1
0
-7
-6
0
0
0
0
0
0
0
0
0
0
0
2
-39
1
19
-33
13
1
0
2
0
0
0
0
0
0
0
0
-4
-1
15
0
6
0
3
0
-3
0
0
0
0
0
0
0
0
11
5
-48
8
9
1
-1
2
0
0
0
0
0
0
0
0
0
-1
0
-5
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
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
64
0
-7
15
34
4
3
0
0
0
0
0
0
0
0
0
0
15
-9
-33
11
-11
-78
-10
23
0
0
0
0
0
0
0
0
0
-7
-2
-27
-10
22
-15
-5
0
0
0
0
0
0
0
0
0
0
4
-27
80
21
-4
-11
-2
-5
0
0
0
0
0
0
0
0
0
5
47
-52
5
-8
7
-2
0
0
0
0
0
0
0
0
0
0
43
-41
-10
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
61
-1
-41
1
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
-6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-50
-69
0
-4
59
-79
162
0
0
0
0
0
0
0
0
0
3
50
-33
-46
169
-5
-53
-126
-50
0
0
0
0
0
0
0
0
4
50
52
-59
-83
-39
78
-29
22
1
0
0
0
0
0
0
0
0
-3
76
-85
-38
36
-85
21
18
0
0
0
0
0
0
0
0
6
-74
-31
-119
-52
-22
1
-11
21
0
0
0
0
0
0
0
0
-20
-120
-27
-22
-53
-46
-7
0
4
0
0
0
0
0
0
0
0
0
17
47
14
-10
6
-1
0
0
0
0
0
0
0
0
0
0
0
39
-2
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
17
3
-5
-13
2
33
58
-88
0
3
0
0
0
0
0
0
0
2
24
91
-73
-16
-56
96
146
-26
-9
0
0
0
0
0
0
0
0
83
2
-44
-41
-11
-13
37
-41
4
0
0
0
0
0
0
0
3
7
0
48
-12
109
33
55
11
0
0
0
0
0
0
0
0
3
-12
-33
-87
20
-59
50
25
4
0
0
0
0
0
0
0
0
-1
-29
30
-99
18
8
0
-13
0
0
0
0
0
0
0
0
0
-4
-43
60
18
35
6
0
0
0
0
0
0
0
0
0
0
0
0
9
15
-66
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
14
14
-35
14
-33
0
3
0
0
0
0
0
0
0
0
64
-18
-33
-29
-20
37
1
3
0
0
0
0
0
0
0
0
0
16
-4
43
30
-50
105
-45
-5
-1
0
0
0
0
0
0
0
0
80
-56
-3
24
29
-27
14
-7
4
0
0
0
0
0
0
0
0
58
5
25
6
-2
-39
3
0
0
0
0
0
0
0
0
0
0
14
5
45
-25
39
2
0
0
0
0
0
0
0
0
0
0
0
-44
6
7
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
2
29
0
-7
17
0
19
0
1
-1
0
0
0
0
0
0
0
3
2
-10
-8
19
82
-66
18
0
0
0
0
0
0
0
0
-4
10
30
-23
0
11
73
24
-7
0
0
0
0
0
0
0
0
0
-7
-19
-25
0
4
-10
-11
0
0
0
0
0
0
0
0
0
0
18
60
3
4
-9
10
9
4
0
0
0
0
0
0
0
0
0
0
-3
14
-10
39
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
11
0
0
0
0
0
0
0
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
25
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
15
15
-13
3
5
0
0
0
0
0
0
0
0
2
1
-3
-29
11
5
17
7
0
0
0
0
0
0
0
0
0
6
0
3
-4
-2
0
9
1
20
0
0
0
0
0
0
0
0
0
-5
20
25
31
14
0
0
0
0
0
0
0
0
0
0
0
0
-16
-4
3
7
0
0
0
8
0
0
0
0
0
0
0
0
0
-11
-1
60
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
4
-8
19
49
3
85
-2
-1
0
0
0
0
0
0
0
0
10
-7
35
4
82
4
-2
0
0
0
0
0
0
0
0
0
0
8
-10
18
7
-35
0
0
-1
0
0
0
0
0
0
0
0
0
-10
-4
28
33
1
0
0
-1
0
0
0
0
0
0
0
0
0
15
-25
17
8
-2
0
0
0
0
0
0
0
0
0
0
0
3
-5
-2
-1
0
0
-5
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
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
3
-5
20
-12
65
-2
-1
0
0
0
0
0
0
0
0
0
-21
-7
15
13
-24
15
14
-2
3
0
0
0
0
0
0
0
0
-4
14
8
3
-11
-6
0
0
0
0
0
0
0
0
0
0
0
10
29
29
-7
-1
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
-5
21
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
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
-9
-5
-6
-8
1
0
0
0
0
0
0
0
0
0
0
-5
-3
-6
-21
-10
-2
-2
0
0
0
0
0
0
0
0
0
0
5
-6
19
-4
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
0
0
0
0
0
-1
-8
4
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
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
3
4
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-1
-4
1
-2
-2
17
0
0
0
0
0
0
0
0
0
0
0
0
8
4
5
-23
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
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
-15
-2
25
9
-45
-3
1
-3
0
0
0
0
0
0
0
0
0
44
19
16
74
30
31
-32
3
-2
0
0
0
0
0
0
0
0
50
8
-8
-63
-13
-23
4
0
0
0
0
0
0
0
0
0
0
12
33
3
-30
2
0
20
-7
0
0
0
0
0
0
0
0
0
-9
43
40
4
-3
-4
0
2
0
0
0
0
0
0
0
0
0
-9
-3
79
35
7
0
0
0
0
0
0
0
0
0
0
0
0
15
17
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-16
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
-43
-1
-17
-32
96
-12
14
0
0
0
0
0
0
0
0
0
-9
62
-6
-53
-92
-54
-17
-51
16
5
0
0
0
0
0
0
0
8
10
-15
7
40
44
26
32
11
-6
0
0
0
0
0
0
0
7
30
73
-10
19
60
59
97
-9
0
0
0
0
0
0
0
0
-14
11
53
42
81
-15
-58
-23
4
2
0
0
0
0
0
0
0
0
51
62
52
-69
-5
33
1
1
0
0
0
0
0
0
0
0
26
-87
-57
-36
69
5
33
1
0
0
0
0
0
0
0
0
0
3
-3
-23
25
0
-21
0
17
0
0
0
0
0
0
0
0
0
29
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
15
-11
-14
25
-43
-90
0
0
0
0
0
0
0
0
0
4
-29
126
17
76
-90
-110
76
52
0
0
0
0
0
0
0
0
0
33
5
-70
-75
21
56
118
27
1
0
0
0
0
0
0
0
77
20
-5
-16
83
129
-47
-36
27
0
0
0
0
0
0
0
0
10
-14
0
-46
51
-13
26
-6
0
0
0
0
0
0
0
0
0
-15
24
88
-49
12
80
21
-3
0
5
0
0
0
0
0
0
0
0
56
69
61
-4
13
22
0
1
0
0
0
0
0
0
0
0
2
-17
48
19
-3
0
0
-10
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
-16
-2
-43
-3
0
0
0
0
0
0
0
0
0
0
24
1
-38
-21
-34
-23
-46
-9
-4
0
0
0
0
0
0
0
-2
2
14
-11
-43
55
-14
-28
57
-2
0
0
0
0
0
0
0
6
10
10
35
-13
-36
18
-14
1
0
0
0
0
0
0
0
0
0
1
-46
0
-48
-14
-23
-3
-2
0
0
0
0
0
0
0
0
0
-7
-65
-59
31
75
2
-7
0
0
0
0
0
0
0
0
0
-4
33
79
-8
103
0
4
5
0
0
0
0
0
0
0
0
0
0
7
10
-15
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
4
80
-16
-30
0
-1
0
0
0
0
0
0
0
0
3
17
14
-13
4
25
-29
-32
0
3
0
0
0
0
0
0
4
2
-36
-49
-16
8
11
-71
2
-6
0
0
0
0
0
0
0
0
-1
-4
8
-6
9
5
-6
0
0
0
0
0
0
0
0
0
0
5
37
72
0
86
0
-2
0
3
0
0
0
0
0
0
0
0
-4
-34
6
-2
23
-2
1
5
-1
0
0
0
0
0
0
0
0
8
9
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
45
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
1
-21
0
-6
0
-3
0
0
0
0
0
0
0
0
1
-4
2
-20
-34
74
-1
-10
0
0
0
0
0
0
0
0
-2
2
-23
13
29
-7
-63
-7
5
0
0
0
0
0
0
0
0
0
48
5
0
-2
1
17
-9
21
0
0
0
0
0
0
0
0
0
21
-1
-3
29
0
14
0
0
0
0
0
0
0
0
0
0
0
-10
27
-19
-4
0
-3
-1
0
0
0
0
0
0
0
0
0
0
-40
3
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
3
18
0
10
0
0
0
0
0
0
0
0
0
0
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
3
0
2
0
0
0
0
0
0
0
0
0
2
0
10
4
-20
13
0
-5
0
0
0
0
0
0
0
10
7
0
4
14
43
-24
-9
-1
0
0
0
0
0
0
0
0
0
22
1
-1
23
-18
-3
0
16
0
0
0
0
0
0
0
0
0
-4
33
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-17
-17
0
-1
0
0
0
0
0
0
0
0
0
0
2
-21
-11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-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
-2
4
4
21
3
6
0
0
0
0
0
0
0
0
0
3
0
-6
-20
13
24
-1
0
0
0
0
0
0
0
0
0
0
0
14
6
-36
-21
5
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
37
-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
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
4
-2
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
5
0
-2
0
23
1
0
-2
0
0
0
0
0
0
0
0
4
1
-9
-2
-5
0
1
0
0
0
0
0
0
0
0
0
0
-2
-7
-13
-2
0
-3
16
0
0
0
0
0
0
0
0
0
0
4
0
2
17
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-3
-32
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
34
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
15
-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
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-8
4
-5
19
1
0
0
0
0
0
0
0
0
0
-11
29
-5
22
-9
80
-57
-34
0
0
0
0
0
0
0
0
0
58
-10
-31
63
0
33
-22
5
0
0
0
0
0
0
0
0
0
-16
-5
5
45
8
7
23
0
0
0
0
0
0
0
0
0
0
14
16
-33
34
3
9
-1
9
0
0
0
0
0
0
0
0
0
0
-73
17
9
-5
-3
-2
-1
0
0
0
0
0
0
0
0
0
-82
14
27
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
33
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
60
-7
-6
-13
-89
17
-60
0
0
0
0
0
0
0
0
0
6
91
-10
-124
49
18
-93
53
-18
0
0
0
0
0
0
0
0
4
47
-53
-16
31
-80
3
24
-18
-2
0
0
0
0
0
0
0
-4
117
-55
-18
53
-102
14
-8
59
-2
0
0
0
0
0
0
0
-1
-25
-19
-70
24
42
-53
-29
-19
0
0
0
0
0
0
0
0
6
0
-10
3
34
-73
5
9
-5
0
0
0
0
0
0
0
0
-1
-36
-15
-101
-3
64
0
0
-1
0
0
0
0
0
0
0
0
6
-21
-26
-3
1
4
0
0
0
0
0
0
0
0
0
0
0
-25
-9
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
-1
-52
-5
0
89
0
-1
0
0
0
0
0
0
0
1
-76
53
14
-17
-33
16
34
-22
0
0
0
0
0
0
0
0
-11
-7
-24
30
-53
-23
32
24
36
0
0
0
0
0
0
0
0
0
13
-93
69
28
44
-11
-56
20
0
0
0
0
0
0
0
0
-6
-5
36
2
-39
-4
53
30
-3
-3
0
0
0
0
0
0
0
1
65
0
11
65
42
106
1
0
2
0
0
0
0
0
0
0
-44
-76
-71
-44
-91
11
-5
-3
0
0
0
0
0
0
0
0
0
-2
-84
24
-17
59
-2
0
0
0
0
0
0
0
0
0
0
0
1
13
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
50
-21
7
32
0
-8
0
0
0
0
0
0
0
0
25
34
5
-30
-33
-8
29
-5
0
-1
0
0
0
0
0
0
8
2
-22
-71
-60
7
36
59
0
0
0
0
0
0
0
0
0
-4
1
-29
27
10
-17
11
5
21
0
0
0
0
0
0
0
0
0
-23
-27
14
49
50
-43
5
2
0
0
0
0
0
0
0
0
0
-5
-32
0
19
-27
-3
0
0
-9
0
0
0
0
0
0
0
-13
32
-15
24
6
-7
-1
-3
0
0
0
0
0
0
0
0
0
0
-6
-33
-25
2
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
5
0
2
0
-4
-2
0
0
0
0
0
0
0
0
0
0
52
99
-3
-9
17
58
14
31
0
-1
0
0
0
0
0
0
-16
0
0
-13
97
1
58
29
5
0
0
0
0
0
0
0
0
-1
7
1
-16
48
34
-4
53
1
0
0
0
0
0
0
0
0
-3
66
-17
-10
37
-3
-5
-1
-2
0
0
0
0
0
0
0
0
0
-3
34
37
0
7
-5
0
2
0
0
0
0
0
0
0
0
0
-9
51
-11
15
1
0
0
0
0
0
0
0
0
0
0
0
-14
-21
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
10
-72
-10
0
0
0
0
0
0
0
0
0
6
-1
0
5
6
-27
127
-51
-9
0
0
0
0
0
0
0
0
0
1
5
-4
-10
2
33
6
-8
0
0
0
0
0
0
0
0
0
0
0
-5
98
-3
0
-1
0
-1
0
0
0
0
0
0
0
0
0
-6
15
-26
0
0
2
0
0
0
0
0
0
0
0
0
0
60
33
46
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-55
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
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
-16
-8
0
2
0
0
0
0
0
0
0
0
2
-1
0
-4
-5
18
-14
1
0
0
0
0
0
0
0
0
5
-4
0
16
4
3
0
66
15
0
0
0
0
0
0
0
0
0
2
22
8
8
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
14
-11
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
17
3
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
18
41
-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
7
0
0
0
0
0
0
0
0
0
0
-2
-9
0
0
-2
50
-4
1
0
0
0
0
0
0
0
0
3
0
0
5
0
5
17
11
1
-1
0
0
0
0
0
0
0
1
0
0
11
0
-2
-6
-1
0
0
0
0
0
0
0
0
0
0
-6
5
26
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
-2
-1
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
5
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
-10
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
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
-23
-14
11
-1
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
-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
11
0
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-17
11
-8
0
50
26
10
0
0
0
0
0
0
0
0
0
53
32
22
6
18
-32
-46
26
3
0
0
0
0
0
0
0
0
8
31
7
15
-33
14
-10
0
0
0
0
0
0
0
0
0
0
59
8
2
15
-25
13
0
0
0
0
0
0
0
0
0
0
0
0
-44
43
-24
-38
-4
0
-4
0
0
0
0
0
0
0
0
0
0
-1
10
-53
10
-1
0
0
0
0
0
0
0
0
0
0
0
-71
32
-9
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-20
-14
20
45
-78
87
0
0
0
0
0
0
0
0
0
-7
14
40
5
-99
-31
-33
4
68
-5
0
0
0
0
0
0
0
-1
54
-79
9
-13
-28
-14
42
-43
13
0
0
0
0
0
0
0
0
-22
-116
2
11
-113
85
-80
0
0
0
0
0
0
0
0
0
6
-48
-12
-3
-70
-14
33
11
14
1
0
0
0
0
0
0
0
0
27
43
-60
40
-9
13
-36
6
0
0
0
0
0
0
0
0
-26
0
83
-29
-57
-2
22
0
-7
0
0
0
0
0
0
0
0
-3
-1
59
19
88
8
-1
0
0
0
0
0
0
0
0
0
0
67
33
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
2
-7
32
-9
4
51
0
2
0
0
0
0
0
0
0
0
-75
-4
11
72
-22
-29
-71
-9
-5
0
0
0
0
0
0
0
0
-7
-89
-27
-34
86
3
37
90
4
0
0
0
0
0
0
0
0
25
-69
1
-77
-42
27
75
-50
0
0
0
0
0
0
0
0
0
28
100
73
45
-3
-31
-2
14
8
0
0
0
0
0
0
0
0
38
-58
-29
102
-44
48
-2
2
0
0
0
0
0
0
0
0
-3
-32
0
-3
-67
-42
-8
-1
0
0
0
0
0
0
0
0
0
1
-33
-3
-14
112
-2
1
5
0
0
0
0
0
0
0
0
0
-1
-30
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
1
0
0
36
-26
-2
0
-1
0
0
0
0
0
0
0
1
-24
1
32
-27
25
-90
-41
-37
1
0
0
0
0
0
0
0
0
10
10
4
-29
-25
64
-5
4
2
0
0
0
0
0
0
0
0
-43
-15
100
-10
31
-75
33
0
0
0
0
0
0
0
0
0
0
-4
59
-11
-32
-8
93
48
0
0
0
0
0
0
0
0
0
0
-35
-5
33
55
41
-31
10
21
0
0
0
0
0
0
0
0
0
-59
-26
0
14
0
0
-3
-3
0
0
0
0
0
0
0
0
2
35
3
17
-1
-2
0
-3
-5
0
0
0
0
0
0
0
0
3
0
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
9
18
0
0
0
0
0
0
0
0
0
0
3
-1
11
-5
-15
-6
1
-2
1
0
0
0
0
0
0
0
0
-7
-6
0
-15
5
-20
43
0
4
0
0
0
0
0
0
0
0
3
11
-7
0
-20
32
-1
-4
0
0
0
0
0
0
0
0
0
0
24
2
13
-16
29
-4
0
0
0
0
0
0
0
0
0
0
1
-4
7
-9
-23
25
1
1
0
0
0
0
0
0
0
0
0
15
-3
0
0
13
1
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
6
5
-2
0
0
0
0
0
0
0
0
0
0
-3
4
4
-9
-1
-52
0
4
0
0
0
0
0
0
0
0
0
0
0
3
0
75
21
-8
5
0
0
0
0
0
0
0
0
0
10
-1
10
-4
-26
25
-13
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
14
56
1
0
0
0
0
0
0
0
0
0
0
0
1
-4
-18
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
72
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
-3
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
-15
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
-5
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-9
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
5
-13
-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
17
6
0
-3
4
-2
1
0
0
0
0
0
0
0
0
0
0
-7
0
-3
-14
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
32
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
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
11
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
5
-5
11
-4
0
0
0
0
0
0
0
0
0
-5
2
0
-1
-13
21
3
6
-7
0
0
0
0
0
0
0
0
-34
5
1
9
16
118
-1
3
0
0
0
0
0
0
0
0
0
38
9
-2
48
69
-3
-2
0
9
0
0
0
0
0
0
0
0
-20
-36
-77
-32
-21
7
8
0
0
0
0
0
0
0
0
0
0
0
-18
52
-17
-10
0
2
0
0
0
0
0
0
0
0
0
0
0
13
-2
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
69
2
-101
4
0
4
0
0
0
0
0
0
0
0
0
0
0
1
-10
22
34
-33
22
-45
-9
0
0
0
0
0
0
0
0
0
0
-89
-16
-42
101
43
47
-53
-18
52
0
0
0
0
0
0
0
-5
-60
34
32
49
-6
-44
-152
-57
10
0
0
0
0
0
0
0
-2
18
-5
60
-58
33
38
-4
90
0
0
0
0
0
0
0
0
-1
1
5
-26
10
24
24
1
-13
-1
0
0
0
0
0
0
0
0
7
-20
-6
-40
54
4
-5
0
-4
0
0
0
0
0
0
0
3
55
54
-117
16
0
-18
0
0
0
0
0
0
0
0
0
0
16
0
-6
27
-23
-11
-9
11
0
0
0
0
0
0
0
0
0
1
-19
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
0
3
0
-7
7
0
0
0
0
0
0
0
0
0
0
-16
2
53
39
-1
3
27
-2
0
0
0
0
0
0
0
0
0
18
17
25
13
-19
12
4
-4
1
0
0
0
0
0
0
0
0
13
62
-15
-112
41
48
-5
2
0
0
0
0
0
0
0
0
-2
-4
-59
84
102
7
107
-19
0
3
0
0
0
0
0
0
0
0
-51
11
50
-24
-27
-10
-1
-7
0
0
0
0
0
0
0
0
0
16
-5
84
30
39
2
-1
-5
0
0
0
0
0
0
0
0
3
43
0
-34
-14
16
0
-2
0
0
0
0
0
0
0
0
0
25
0
81
-15
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
10
-10
27
10
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-17
10
-19
-3
-5
0
0
0
0
0
0
0
0
17
0
-43
71
37
-33
-16
-2
0
0
0
0
0
0
0
0
0
1
25
2
-22
22
-5
8
9
0
0
0
0
0
0
0
0
0
7
1
-3
-33
-3
-34
-7
0
0
0
0
0
0
0
0
0
0
-13
13
43
4
53
15
1
0
0
0
0
0
0
0
0
0
0
-53
-5
0
17
13
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
-18
2
4
2
-5
0
0
0
0
0
0
0
0
0
0
0
-4
-1
3
-2
-13
0
0
0
0
0
0
0
0
0
0
0
1
-3
14
45
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
24
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
13
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
13
-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
37
0
25
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-9
14
-4
13
0
0
0
0
0
0
0
0
94
2
-5
2
-1
21
7
33
0
0
0
0
0
0
0
0
0
14
9
-21
45
7
14
-10
0
0
0
0
0
0
0
0
0
0
1
93
49
8
-8
11
0
0
0
0
0
0
0
0
0
0
0
32
-20
-44
-71
-46
-1
0
0
0
0
0
0
0
0
0
0
0
0
24
81
-7
7
9
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
-1
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
0
0
0
0
0
2
1
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
-9
-1
1
0
31
-5
0
-1
0
0
0
0
0
0
0
0
13
1
-10
9
6
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
46
-33
-23
-3
0
0
0
0
0
0
0
0
0
0
0
4
0
16
34
44
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
5
0
0
0
0
0
0
0
0
0
0
0
4
0
2
-11
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
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-1
4
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
1
27
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
55
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
-11
-1
-73
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-17
-23
10
20
-20
-9
0
-2
0
0
0
0
0
0
0
0
8
-19
11
18
-5
18
-3
0
15
0
0
0
0
0
0
0
0
11
2
-13
-9
14
-48
46
19
1
0
0
0
0
0
0
0
0
-7
64
-49
-24
33
22
4
4
-12
0
0
0
0
0
0
0
0
-14
-15
-32
25
-13
-2
90
0
0
0
0
0
0
0
0
0
0
0
24
-69
-23
11
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
-21
0
63
-9
53
-47
-31
-8
0
0
0
0
0
0
0
0
0
1
-28
36
-43
-8
-42
11
0
14
0
0
0
0
0
0
0
0
46
-24
78
-34
31
-21
-66
-25
-46
29
0
0
0
0
0
0
0
-44
53
56
56
-83
-2
-50
-6
-47
-62
0
0
0
0
0
0
0
-29
8
-45
29
54
-61
-21
-15
-31
-69
0
0
0
0
0
0
0
-5
-74
77
51
58
37
40
47
51
-135
0
0
0
0
0
0
0
-6
-18
-68
1
5
-16
-50
25
27
1
0
0
0
0
0
0
0
0
-7
-25
30
9
26
0
0
-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
-1
-6
0
0
-29
-38
-66
-18
0
0
-1
0
0
0
0
0
0
23
-86
7
-96
-19
-36
-48
0
-32
0
-18
0
0
0
0
0
0
2
30
91
-33
-10
-67
80
-48
-81
24
-30
0
0
0
0
0
0
-8
95
54
-11
78
13
13
-17
62
-14
3
0
0
0
0
0
0
9
5
64
-51
137
-96
-12
60
-11
-103
5
0
0
0
0
0
0
-3
-9
33
-5
-28
-40
0
-33
57
-83
26
0
0
0
0
0
0
0
-21
13
31
-11
11
-44
0
2
25
0
0
0
0
0
0
0
0
-18
2
74
6
6
-27
-1
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
32
7
-2
0
8
-15
-82
29
0
0
-1
0
0
0
0
0
0
29
71
-1
5
26
5
43
0
8
0
6
0
0
0
0
0
0
-13
14
-23
-52
13
-1
-72
-58
-88
-48
-20
0
0
0
0
0
0
33
63
2
-45
100
-7
-18
12
71
-44
48
0
0
0
0
0
0
-5
-3
31
23
5
-19
-32
3
6
-52
14
0
0
0
0
0
0
1
30
22
75
-55
-15
7
18
-43
37
2
0
0
0
0
0
0
0
24
25
-5
0
33
-44
11
-16
2
0
0
0
0
0
0
0
0
0
9
1
2
-15
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
10
-34
5
0
-46
-125
0
0
-5
0
0
0
0
0
0
0
2
5
16
0
8
-4
30
0
-9
0
-9
-1
0
0
0
0
0
0
33
33
-45
-29
-64
76
-3
-25
-107
44
-8
0
0
0
0
0
29
57
37
41
-68
-5
-2
-85
-127
-58
3
0
0
0
0
0
0
-26
14
55
40
13
17
-61
50
32
-101
-20
-1
0
0
0
0
0
-4
8
51
-5
-81
2
-33
-45
-6
7
0
-4
0
0
0
0
0
0
7
43
41
9
-5
-24
34
-51
3
0
0
0
0
0
0
0
0
20
13
-32
-11
29
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
-80
33
25
0
-63
-45
0
0
0
0
0
0
0
0
0
-2
17
8
67
13
-35
18
0
0
0
7
0
0
0
0
0
0
1
15
-19
50
-3
-37
-37
7
33
-55
2
0
0
0
0
0
0
0
-6
0
72
-15
-63
5
-19
9
-46
0
0
0
0
0
0
0
-26
24
8
35
-69
44
46
11
3
15
6
0
0
0
0
0
0
0
-89
-14
53
33
41
1
1
2
0
0
0
0
0
0
0
0
0
0
20
5
-16
-25
2
-27
-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
-20
2
-10
1
0
-60
0
-8
2
0
0
0
0
0
0
0
7
-7
50
-11
54
5
0
0
0
6
-1
0
0
0
0
0
0
-13
77
-49
-39
-62
23
0
-2
1
33
0
0
0
0
0
0
0
0
-3
19
55
3
-65
13
0
-15
0
0
0
0
0
0
0
0
0
11
-26
-34
21
14
6
0
9
0
0
0
0
0
0
0
0
-17
48
32
-25
32
-6
0
-4
-27
0
0
0
0
0
0
0
0
0
-3
14
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
14
7
15
0
1
1
0
-5
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
-13
-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
27
14
59
51
-33
25
0
0
0
0
0
0
0
0
0
0
0
6
-39
8
-39
-22
8
4
0
20
0
0
0
0
0
0
0
0
24
-9
58
51
-19
39
-5
51
33
0
0
0
0
0
0
0
0
56
14
-33
50
80
82
13
4
-76
0
0
0
0
0
0
0
0
54
69
1
21
23
62
55
-26
-171
0
0
0
0
0
0
0
0
27
-7
20
-85
53
-2
1
2
-6
0
0
0
0
0
0
0
0
-52
-7
1
34
37
0
8
17
-6
0
0
0
0
0
0
0
0
0
-1
0
18
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
55
17
-42
36
63
59
-4
0
-7
0
0
0
0
0
0
0
12
-30
7
0
-8
-9
-41
0
-6
0
0
0
0
0
0
0
0
-31
116
35
33
-44
39
59
-20
-43
63
0
0
0
0
0
0
0
19
31
71
27
10
76
3
-5
23
-61
0
0
0
0
0
0
0
-39
-16
81
32
-28
-3
-48
42
-21
-44
0
0
0
0
0
0
0
-1
-32
-101
51
-18
35
-26
-5
-21
76
0
0
0
0
0
0
0
-20
7
39
-21
47
7
0
4
-9
4
0
0
0
0
0
0
0
0
-2
-9
-9
20
-53
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
15
-20
46
22
-77
-158
2
0
30
22
0
0
0
0
0
0
43
44
90
49
52
-33
8
0
30
0
44
0
0
0
0
0
0
-32
-24
-9
-29
-13
-33
-13
-46
89
15
14
0
0
0
0
0
0
51
-39
43
38
-55
33
27
-26
-33
69
-41
0
0
0
0
0
0
46
-14
80
54
-47
-27
-56
32
25
-17
18
0
0
0
0
0
0
0
-35
2
11
11
-20
8
90
-39
-65
-2
0
0
0
0
0
0
-10
15
99
19
57
-24
-121
-5
43
4
0
0
0
0
0
0
0
0
-14
-20
-37
50
35
10
-8
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
-22
-22
-34
-21
2
-2
-103
-10
0
0
29
0
0
0
0
0
0
-20
89
16
-3
-8
-11
10
0
13
0
-31
0
0
0
0
0
0
-10
43
35
63
37
54
29
-14
67
-14
64
-2
0
0
0
0
0
-16
8
34
4
4
-33
28
-2
51
80
25
2
0
0
0
0
0
8
-35
5
-16
57
-11
-35
63
32
2
-62
0
0
0
0
0
0
-1
-62
-44
-14
22
120
115
-16
31
15
-2
0
0
0
0
0
0
-9
0
17
18
72
55
-33
33
-27
0
4
-1
0
0
0
0
0
0
-2
4
2
0
9
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
24
7
-49
-7
-33
10
-19
-20
0
3
7
0
0
0
0
0
0
0
9
-51
15
-54
15
18
0
-18
0
-89
13
0
0
0
0
0
-13
23
-19
35
0
9
-100
-9
-18
28
80
2
0
0
0
0
0
9
-28
57
57
-3
7
-74
10
-17
-56
-1
-40
0
0
0
0
0
-5
-43
-47
-46
-43
-34
-15
7
2
-45
4
0
0
0
0
0
0
0
78
18
35
15
-91
-11
33
-1
45
-17
-6
0
0
0
0
0
0
-24
67
-34
22
5
7
10
-1
27
0
6
0
0
0
0
0
0
-3
16
47
2
-19
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
53
14
3
74
-4
34
-1
0
0
1
0
0
0
0
0
0
-18
22
-57
38
20
-15
-21
0
-63
0
-71
0
0
0
0
0
0
25
29
22
22
-47
-85
-64
52
45
-11
-43
1
0
0
0
0
0
-9
-21
-23
6
98
31
48
-26
26
26
10
0
2
0
0
0
0
-14
-8
12
29
4
-29
53
14
-21
-15
36
-2
0
0
0
0
0
0
-56
-8
-1
-11
-25
71
-18
26
27
0
0
0
0
0
0
0
0
-13
3
-30
-21
3
-1
0
0
1
0
0
0
0
0
0
0
0
0
8
-18
-13
-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
-69
38
16
33
2
0
0
17
8
0
0
0
0
0
0
-15
5
33
-64
-152
-72
0
-6
0
-17
10
0
0
0
0
0
0
0
5
8
-5
46
-129
14
-51
2
40
15
0
0
0
0
0
0
34
-37
37
-13
-62
-39
-22
15
-19
2
0
0
0
0
0
0
0
-4
-48
-8
17
-44
-33
-14
-8
-35
-3
0
0
0
0
0
0
0
-23
8
5
111
-35
-11
-14
-5
11
-9
0
0
0
0
0
0
0
0
-23
-9
26
3
5
5
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-32
-6
-19
-4
0
0
0
0
0
0
0
0
0
0
0
-3
17
5
5
0
0
-4
0
0
-6
0
0
0
0
0
0
0
14
-55
-3
47
-78
3
-46
3
0
0
0
0
0
0
0
0
-14
7
10
17
-37
0
-7
7
-11
-1
0
0
0
0
0
0
0
0
10
20
5
0
-14
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
-10
0
0
0
0
3
2
0
0
0
0
0
0
0
3
7
-8
-79
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
-3
17
0
-14
2
1
0
0
0
0
0
0
0
4
-5
1
-29
-2
0
0
0
3
-1
0
0
0
0
0
0
0
-3
-2
2
5
-18
22
-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
22
9
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
1
18
-39
0
-1
0
-1
1
0
0
0
0
0
0
0
1
7
-63
-64
-45
-20
-3
0
-48
16
0
0
0
0
0
0
0
-1
-14
4
-11
17
-48
10
0
2
0
0
0
0
0
0
0
0
1
-31
-3
3
-31
47
0
0
-1
3
0
0
0
0
0
0
0
0
1
-5
-33
-6
-10
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
9
0
0
0
0
0
0
0
0
0
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
-13
-11
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
10
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
2
25
-13
16
0
0
0
0
0
0
0
0
0
0
0
-19
-29
82
33
28
-1
7
0
-29
0
0
0
0
0
0
0
0
-25
-58
-30
49
-2
-59
39
3
43
0
0
0
0
0
0
0
0
6
52
-30
52
23
46
-84
44
33
0
0
0
0
0
0
0
0
-26
-50
18
-77
41
74
20
-10
1
0
0
0
0
0
0
0
0
-5
56
35
-5
10
-27
4
0
-17
0
0
0
0
0
0
0
0
0
5
13
2
9
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
-31
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
49
40
45
-56
17
-36
-62
17
0
-2
0
0
0
0
0
0
0
-60
-42
-26
-19
-36
-62
-54
0
131
0
0
0
0
0
0
0
0
35
45
-21
5
9
-29
-39
28
13
-121
0
0
0
0
0
0
0
-24
14
17
-61
-30
-15
20
15
26
-97
0
0
0
0
0
0
0
93
5
14
-21
49
49
37
-71
-71
-33
0
0
0
0
0
0
0
-10
99
34
-1
5
19
20
-25
48
-24
0
0
0
0
0
0
0
0
18
53
1
-71
-49
-22
-9
-3
-1
0
0
0
0
0
0
0
0
-2
-16
25
-31
-10
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
18
48
-31
24
-25
-25
-31
0
48
1
0
0
0
0
0
0
-52
-10
-4
22
-75
-53
-37
0
-2
0
44
0
0
0
0
0
0
-14
90
49
-22
-25
-36
23
57
-62
-71
15
0
0
0
0
0
0
-11
36
-17
11
7
-55
-41
-122
-29
62
-7
0
0
0
0
0
0
-37
41
38
-21
-37
58
-69
13
98
-42
-7
0
0
0
0
0
0
0
31
-53
-3
75
5
-1
37
21
14
2
0
0
0
0
0
0
0
-60
33
-5
41
7
7
-95
14
-10
0
0
0
0
0
0
0
0
7
4
-2
7
46
-15
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
27
3
67
30
70
-1
19
-6
0
-1
7
0
0
0
0
0
0
51
-48
150
-27
57
-72
-40
0
-35
0
87
-2
0
0
0
0
0
-31
-35
-62
53
31
7
16
40
-19
-21
-32
-10
0
0
0
0
0
-13
-35
61
26
-32
-34
51
33
5
-99
-21
-1
0
0
0
0
0
-5
35
-15
18
17
41
45
47
2
31
-74
0
0
0
0
0
0
0
-27
2
-9
45
89
-60
14
-23
27
0
0
0
0
0
0
0
0
35
-2
5
-53
46
-3
-35
4
0
0
0
0
0
0
0
0
0
0
-9
25
-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
68
17
-44
63
-1
33
-4
0
4
-2
0
0
0
0
0
0
-5
-10
-25
-3
-57
-3
20
0
3
0
17
-14
0
0
0
0
0
24
-4
-19
48
54
45
-11
-3
-52
0
6
-8
0
0
0
0
0
-91
33
11
-35
-3
-14
-7
71
-43
7
-17
0
0
0
0
0
0
4
-42
24
-43
-17
23
-11
-32
-29
26
-8
-3
0
0
0
0
0
2
74
-36
-53
-2
-36
-74
10
1
-33
0
0
0
0
0
0
0
0
16
-4
4
39
0
26
15
2
-2
0
0
0
0
0
0
0
0
0
1
-60
-6
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
-3
-45
-53
14
-15
-14
-15
0
-5
18
0
0
0
0
0
0
24
1
23
34
6
16
55
0
1
0
11
0
0
0
0
0
0
-29
53
-9
0
-81
0
-9
81
23
81
9
1
0
0
0
0
0
96
95
-50
-32
-72
-76
-81
17
-31
1
8
1
0
0
0
0
0
14
37
-25
-50
25
43
-33
-6
-8
-25
2
2
-2
0
0
0
0
0
14
16
-45
-61
-26
15
6
-1
10
-3
0
0
0
0
0
0
0
5
33
16
17
2
-8
1
-4
14
0
0
0
0
0
0
0
0
3
0
32
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
-33
16
-1
6
-25
10
0
-2
-11
0
0
0
0
0
0
0
-20
23
-38
71
-107
-30
0
7
0
-5
6
0
0
0
0
0
0
37
36
11
13
-36
5
-33
-5
-8
-39
1
0
0
0
0
0
0
2
54
-24
-4
-32
30
65
14
-4
-9
0
-1
0
0
0
0
0
-1
-14
-1
7
-6
17
10
-35
8
0
1
0
0
0
0
0
0
-2
16
-44
-8
-5
-15
25
0
3
0
0
0
0
0
0
0
0
0
-4
39
-11
-10
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
-4
14
-2
34
1
-5
0
1
-4
0
0
0
0
0
0
0
0
14
16
-9
-53
-3
0
2
0
2
0
0
0
0
0
0
1
2
45
5
2
-71
-47
2
-25
-6
-69
0
0
0
0
0
0
-11
1
-17
-73
-21
7
-99
13
18
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
-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
-2
0
0
0
0
0
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
43
13
15
-1
9
0
0
0
1
0
0
0
0
0
0
-18
-16
36
24
77
-24
-14
0
-5
0
-1
0
0
0
0
0
0
1
-19
57
103
-55
7
-14
-39
4
-19
2
0
0
0
0
0
0
35
29
4
-57
35
5
45
-33
35
-8
-2
3
0
0
0
0
0
0
-3
20
30
53
24
4
-17
-5
-2
0
0
0
0
0
0
0
0
-7
1
-1
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
-58
15
-42
-21
-43
9
0
-87
3
0
0
0
0
0
0
0
58
-15
-55
-33
62
-43
0
-1
0
1
0
2
0
0
0
0
0
-46
-25
2
-26
44
141
50
-46
-32
14
0
3
0
0
0
0
0
-10
-49
-148
46
-72
-50
-62
-18
16
-30
-2
0
0
0
0
0
0
-19
-17
-39
-53
-49
-23
61
-26
22
0
0
0
0
0
0
0
0
-16
-11
6
34
-75
8
1
4
-11
3
0
0
0
0
0
0
0
0
22
1
-40
4
10
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
15
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
-18
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
52
2
-29
11
0
0
0
0
0
0
0
0
0
0
0
6
50
-43
35
-1
-43
14
0
-39
0
0
0
0
0
0
0
0
26
16
1
-47
11
-27
-5
21
-57
0
0
0
0
0
0
0
0
-3
43
6
62
33
-7
33
-1
14
0
0
0
0
0
0
0
0
-2
-33
-4
-27
26
-46
4
-31
-45
0
0
0
0
0
0
0
0
-2
8
23
5
46
-3
48
0
1
0
0
0
0
0
0
0
0
2
17
15
-14
-23
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
11
32
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
50
-4
18
14
-17
-30
89
-6
0
-3
0
0
0
0
0
0
0
-13
-27
15
24
-75
-77
-42
0
29
0
0
0
0
0
0
0
0
-64
-1
53
-35
15
-64
3
-63
-27
45
0
0
0
0
0
0
0
80
4
-62
-25
10
-4
53
-24
-71
-78
0
0
0
0
0
0
0
11
-13
-30
12
-60
-23
-93
10
-44
-58
0
0
0
0
0
0
0
19
22
-5
-76
-44
-8
33
6
-27
-47
0
0
0
0
0
0
0
0
6
-43
61
-56
32
-45
-13
11
-8
0
0
0
0
0
0
0
0
-1
-45
-69
-23
20
-4
-4
-2
0
0
0
0
0
0
0
0
0
33
9
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
37
66
-1
3
-19
3
0
5
-2
0
0
0
0
0
0
8
-58
158
27
14
6
71
0
0
0
35
0
0
0
0
0
0
-1
-5
-43
71
23
34
-3
-64
33
-61
18
0
0
0
0
0
0
-39
-15
-46
-5
26
8
13
-6
-21
46
1
0
0
0
0
0
0
-71
4
-26
4
6
-68
-17
-11
-31
5
-1
0
0
0
0
0
0
0
26
-14
9
44
-68
-14
-18
-57
22
1
0
0
0
0
0
0
-14
-27
54
-82
-17
-107
62
-23
25
-3
-1
0
0
0
0
0
0
0
-21
-43
-31
1
-9
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
53
43
14
17
-66
-5
0
1
6
1
0
0
0
0
0
-41
-76
-11
50
103
22
67
0
10
0
-59
0
0
0
0
0
0
-31
-68
31
26
12
11
32
-52
22
39
18
2
0
0
0
0
0
80
1
16
45
59
-24
5
80
-9
47
25
7
0
0
0
0
0
-20
-9
-82
32
23
-26
75
-13
20
3
1
0
0
0
0
0
0
4
-13
-14
-56
-75
-44
-15
-8
-25
-45
3
0
0
0
0
0
0
0
-6
-45
104
-6
32
-15
-14
5
0
-1
0
0
0
0
0
0
0
0
0
8
4
4
-11
-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
18
-31
69
-10
35
-1
7
0
-3
7
0
0
0
0
0
0
0
-50
-22
42
-49
-9
0
0
39
0
24
0
0
0
0
0
0
-46
-21
27
-16
-33
-23
-34
-46
55
7
-14
-22
0
0
0
0
0
-16
-72
34
42
0
67
72
26
78
5
25
0
0
0
0
0
0
-3
-41
-56
-4
49
12
-44
-68
7
-52
-1
0
0
0
0
0
0
0
-100
-48
7
32
8
0
-45
-36
-7
-1
0
0
0
0
0
0
0
-1
-55
-53
-43
18
11
-9
41
1
0
0
0
0
0
0
0
0
-18
-27
-61
32
-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
44
83
19
22
54
19
1
0
0
3
0
0
0
0
0
0
1
32
2
-21
96
-21
-47
0
9
0
-14
0
0
0
0
0
0
26
-5
-14
-19
-14
-87
-8
21
7
30
-19
-4
0
0
0
0
0
-16
100
-13
-11
-100
-39
31
-14
-48
-49
-4
-3
0
0
0
0
0
-2
10
-41
-90
-53
-34
-32
-5
43
-47
-3
1
0
0
0
0
0
0
-27
-11
-49
5
57
43
-25
-24
0
-7
0
0
0
0
0
0
0
-7
-27
6
-31
39
-6
43
0
0
7
0
0
0
0
0
0
0
-4
-20
7
-14
24
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
14
-1
-5
-21
10
0
0
0
0
0
0
0
0
0
0
0
21
10
70
18
23
21
0
0
0
2
0
0
0
0
0
0
0
-21
-9
1
43
48
1
-21
19
-73
4
-7
0
0
0
0
0
0
-27
2
-14
32
-16
0
2
-3
-5
-1
0
0
0
0
0
0
0
0
3
46
-20
20
59
-23
0
-7
0
3
0
0
0
0
0
0
37
-9
-5
-19
50
9
-4
1
7
4
0
0
0
0
0
0
0
0
2
-20
7
-8
-13
9
0
0
0
0
0
0
0
0
0
0
0
-4
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
-3
-32
-7
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
16
-21
-33
-20
9
46
0
0
0
-11
0
0
0
0
0
0
-14
-1
-87
0
-19
8
-13
1
-9
11
1
0
1
0
0
0
0
0
-15
-24
-15
14
9
36
0
-17
0
1
-3
0
0
0
0
0
0
-6
-3
-26
-2
-36
-7
7
2
0
-3
0
0
0
0
0
0
0
0
-6
0
25
-8
7
-5
0
0
0
0
0
0
0
0
0
0
3
0
-1
-9
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
-26
11
29
-32
27
-13
-21
0
0
0
2
0
0
0
0
0
0
10
13
16
8
74
23
-19
0
5
0
1
0
0
0
0
0
0
-14
4
-40
18
-38
30
-59
-91
42
3
-6
0
0
0
0
0
0
23
-36
7
-27
19
-89
-22
13
2
10
2
0
0
0
0
0
0
-43
54
-35
-62
-33
-41
30
-14
-83
0
2
0
0
0
0
0
0
0
11
-61
34
16
-12
9
7
-5
0
0
0
0
0
0
0
0
0
-7
17
6
27
0
6
0
5
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
0
0
0
0
0
71
-50
-80
-5
14
24
-13
0
21
0
0
0
0
0
0
0
0
-30
54
45
-3
-49
2
0
1
0
0
-1
0
0
0
0
0
0
43
112
-44
-37
7
1
-26
19
-17
1
0
0
0
0
0
0
0
8
48
57
-7
69
-42
-82
1
1
2
0
0
0
0
0
0
0
-1
-20
-30
11
12
-62
-6
9
81
0
0
0
0
0
0
0
0
-4
-14
-2
43
-51
-19
25
0
1
0
0
0
0
0
0
0
0
0
14
1
-18
6
-80
-14
0
2
0
0
0
0
0
0
0
0
0
14
-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
-7
0
4
-2
0
3
0
0
1
0
0
0
0
0
0
0
0
0
-4
-4
1
-10
0
0
0
5
-1
0
0
0
0
0
0
0
0
1
-3
-21
-1
-1
2
0
11
0
0
0
0
0
0
0
0
0
15
-1
24
-2
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
-23
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
-15
7
-9
1
0
0
0
0
0
0
0
0
0
0
0
-17
14
-5
34
9
-20
-5
0
-9
0
0
0
0
0
0
0
0
-15
-7
25
-7
-33
13
2
1
-5
0
0
0
0
0
0
0
0
-4
75
-1
14
-14
-25
5
2
-24
0
0
0
0
0
0
0
0
0
0
3
25
22
5
4
0
-45
0
0
0
0
0
0
0
0
-11
-20
1
-16
-2
7
-39
-4
-10
0
0
0
0
0
0
0
0
2
-5
40
7
-14
0
0
-9
1
0
0
0
0
0
0
0
0
0
-32
-3
54
0
3
-11
-5
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
50
47
19
16
24
30
1
0
0
-1
0
0
0
0
0
0
0
64
78
2
-8
63
-5
-40
0
-5
0
0
0
0
0
0
0
0
24
81
6
-13
-33
-37
22
8
27
-50
0
0
0
0
0
0
0
2
-71
79
45
-32
-92
83
45
-14
33
0
0
0
0
0
0
0
9
0
-22
-67
16
44
-19
-39
53
-58
0
0
0
0
0
0
0
-20
-17
12
-49
-9
23
1
6
-31
23
0
0
0
0
0
0
0
4
-27
-14
-29
-4
-3
52
-46
-6
-36
0
0
0
0
0
0
0
0
19
36
-60
17
23
-1
0
-2
2
0
0
0
0
0
0
0
0
1
-27
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
124
-11
59
10
52
-2
0
-14
0
0
0
0
0
0
0
0
-37
-4
19
5
-27
56
0
25
0
-36
0
0
0
0
0
0
18
24
-1
23
-3
-95
-23
36
-34
-18
-17
0
0
0
0
0
0
14
-28
20
-26
36
12
-9
65
-33
-82
10
0
0
0
0
0
0
-1
-1
0
14
13
19
-17
-125
85
6
2
0
0
0
0
0
0
0
-54
43
26
21
53
-58
-57
-3
-87
8
0
0
0
0
0
0
0
-48
-49
46
-33
-16
32
1
-10
-5
0
0
0
0
0
0
0
0
-27
3
21
-53
-48
8
-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
-3
47
-26
-6
-1
-19
-44
-5
0
0
4
0
0
0
0
0
0
9
24
26
23
2
44
50
0
-3
0
14
4
0
0
0
0
0
32
1
16
0
60
55
-15
-10
-30
74
-9
-3
0
0
0
0
0
16
75
-7
9
33
57
-39
-84
3
17
4
-2
0
0
0
0
0
-64
-45
-8
0
84
12
46
22
19
-7
-6
0
0
0
0
0
0
1
78
-48
52
39
27
34
-3
-31
-24
3
0
0
0
0
0
0
0
-1
-49
-25
-14
5
31
-7
0
0
0
0
0
0
0
0
0
0
0
5
-2
-33
16
2
-4
0
0
0
0
0
0
0
0
0
0
-14
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
46
4
-8
4
-14
0
-2
0
1
0
0
0
0
0
-4
11
-53
-3
87
-35
13
0
3
0
-9
2
0
0
0
0
0
1
14
7
41
-5
97
-17
-10
-4
5
10
-11
0
0
0
0
0
5
9
-55
-10
10
13
57
73
10
-20
-4
-1
0
0
0
0
0
2
-35
14
-5
1
-1
-80
58
-20
-7
0
0
0
0
0
0
0
0
-6
25
31
16
47
64
-22
10
-57
-4
1
0
0
0
0
0
0
-13
-9
20
-41
-33
14
-44
7
-1
0
0
0
0
0
0
0
0
1
-2
-22
-23
20
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
9
0
0
0
0
0
0
0
0
0
-2
8
-7
-15
32
15
14
-1
0
0
0
0
0
0
0
0
0
2
68
-4
6
51
71
2
0
-2
0
11
-5
0
0
0
0
0
8
-35
43
-19
1
-10
-47
-14
20
-3
13
0
0
0
0
0
0
-11
16
55
9
52
18
5
20
18
8
-3
0
0
0
0
0
0
-9
-20
0
60
54
0
102
1
-5
-53
36
0
0
0
0
0
0
0
-8
-80
50
-10
-14
5
1
0
-24
-1
0
0
0
0
0
0
0
9
-46
-56
5
-33
31
4
9
0
0
0
0
0
0
0
0
0
3
2
14
14
-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
9
57
13
27
6
-2
3
0
0
0
0
0
0
0
0
0
0
0
-23
49
-17
53
33
0
1
0
-17
-1
0
0
0
0
0
0
-6
87
-19
-49
15
-7
3
-5
-11
0
-1
0
0
0
0
0
0
13
-2
-5
-37
5
9
-5
-13
-46
1
2
0
0
0
0
0
0
-3
23
4
-19
54
0
17
36
48
0
-3
0
0
0
0
0
0
-9
-16
4
-37
-4
0
-7
0
-7
0
0
0
0
0
0
0
0
0
7
11
-46
8
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-1
18
-1
1
-13
0
0
0
0
0
0
0
0
0
0
0
-10
-7
82
4
-74
-4
0
-3
0
5
0
0
0
0
0
0
-29
-26
15
7
4
35
-11
-34
8
2
4
0
0
0
0
0
0
6
7
-9
100
-61
-7
-16
1
-25
-7
-3
0
0
0
0
0
0
24
36
-3
8
8
32
8
0
-1
8
0
0
0
0
0
0
0
0
4
2
-27
-43
-37
-19
2
0
2
0
0
0
0
0
0
0
-2
0
-17
4
3
21
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
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
-18
-53
24
-13
-5
-3
0
0
0
0
0
0
0
0
0
0
41
47
-104
-19
81
-18
51
0
0
0
-1
1
0
0
0
0
0
-14
-87
-26
33
-35
-23
-38
4
-67
-161
0
0
0
0
0
0
0
-45
52
-118
16
-40
43
-78
24
-10
-1
0
0
0
0
0
0
0
99
45
-3
49
-93
-90
-31
4
0
-13
0
0
0
0
0
0
0
-13
13
-68
-25
-73
-51
-23
26
-31
9
0
0
0
0
0
0
0
-1
9
53
80
-26
-20
-29
2
0
-3
0
0
0
0
0
0
0
0
0
-11
1
8
66
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-53
45
71
-16
23
-3
0
9
-3
0
0
0
0
0
0
0
35
9
54
38
23
-31
0
7
0
1
0
0
0
0
0
0
0
-18
-16
-4
-67
-42
30
5
-2
-53
1
0
0
0
0
0
0
0
-1
39
5
46
81
-9
-2
-17
-61
-2
0
0
0
0
0
0
0
-33
-28
-43
27
-56
-97
14
-27
0
-8
0
0
0
0
0
0
0
0
-47
37
-27
-66
41
18
-5
32
0
0
0
0
0
0
0
0
25
52
3
-74
-36
10
6
2
0
0
0
0
0
0
0
0
0
-2
0
-31
-17
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
16
0
0
0
0
0
0
0
0
-8
-3
16
0
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
-14
-7
3
0
3
0
-1
1
0
0
0
0
0
0
0
0
1
0
0
-9
0
0
-1
-4
3
0
0
0
0
0
0
0
0
0
2
-1
-1
7
10
-1
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-13
-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
9
-3
-17
-1
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
11
5
18
-2
-10
3
0
0
0
0
0
0
0
0
0
0
7
-10
-46
-17
50
19
0
-24
-6
0
0
0
0
0
0
0
0
0
19
10
32
-2
6
-10
1
-37
0
0
0
0
0
0
0
0
18
-33
-36
24
77
-18
19
4
14
0
0
0
0
0
0
0
0
0
0
1
-22
-3
-24
4
35
-18
0
0
0
0
0
0
0
0
1
25
20
6
-4
2
0
0
7
0
0
0
0
0
0
0
0
0
11
0
2
0
0
-10
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
43
35
-3
-11
16
20
23
-1
0
-6
0
0
0
0
0
0
0
-17
-24
31
60
55
-89
-31
0
-6
0
0
0
0
0
0
0
0
-13
-15
14
5
87
-78
-31
-31
-23
4
0
0
0
0
0
0
0
-35
-5
-23
-11
78
-53
2
31
3
-15
0
0
0
0
0
0
0
-49
31
-19
47
-23
-44
-89
53
9
24
0
0
0
0
0
0
0
-1
0
-35
-72
-44
66
17
-17
-1
21
0
0
0
0
0
0
0
0
-11
5
5
92
-13
-11
5
-14
3
0
0
0
0
0
0
0
0
-73
6
58
47
-14
2
9
4
0
0
0
0
0
0
0
0
0
0
15
4
2
0
0
0
0
0
0
0
0
0
0
0
0
13
-33
34
-15
-13
50
-7
36
0
0
1
0
0
0
0
0
0
0
97
19
63
-3
-46
-14
0
0
0
20
0
0
0
0
0
0
-13
7
68
30
6
-33
100
13
-10
44
5
0
0
0
0
0
0
0
64
-14
23
3
-40
49
64
19
-74
8
0
0
0
0
0
0
25
17
130
1
-74
-18
28
9
-20
-9
-15
0
0
0
0
0
0
1
-18
0
16
-17
6
34
23
14
-5
3
0
0
0
0
0
0
0
3
-18
-16
45
11
41
-36
32
3
0
0
0
0
0
0
0
0
-34
45
-2
-80
-34
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
-14
-92
0
39
32
2
8
0
0
0
1
0
0
0
0
0
0
6
-39
-14
23
25
54
13
0
0
0
-11
0
0
0
0
0
0
-21
-11
25
65
16
99
17
-8
43
16
-57
-4
0
0
0
0
0
-44
26
-60
-97
-51
43
53
20
58
24
2
0
0
0
0
0
0
-17
5
3
33
12
45
-32
36
16
-14
45
0
0
0
0
0
0
-36
-47
23
0
7
44
7
-13
-10
15
-1
0
0
0
0
0
0
-13
-23
-20
11
-43
65
45
35
-45
0
0
0
0
0
0
0
0
0
-3
8
-1
3
0
-23
0
0
0
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
9
-103
23
63
16
31
30
0
0
3
0
0
0
0
0
0
0
3
1
10
7
81
44
0
3
0
-4
4
0
0
0
0
0
-3
4
-55
-31
51
-34
0
6
-36
48
0
0
0
0
0
0
0
0
-6
25
16
-87
-53
22
20
0
-51
5
0
0
0
0
0
0
-36
-2
5
19
51
1
77
43
-23
71
2
-3
0
0
0
0
0
0
-24
-32
-46
0
53
22
-19
-14
-3
0
0
0
0
0
0
0
0
-15
25
-49
57
63
48
5
-45
0
0
0
0
0
0
0
0
0
-7
46
-2
1
-10
-6
1
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
-11
-1
-21
-37
14
-6
-5
0
0
1
0
0
0
0
0
0
0
68
30
62
25
3
-31
0
-2
0
0
0
0
0
0
0
0
-1
25
66
21
46
-9
-6
9
-25
-2
-4
0
0
0
0
0
0
0
29
10
-78
-12
131
90
-5
5
-3
6
0
0
0
0
0
0
5
24
-54
-1
25
20
33
-2
-5
-46
1
0
0
0
0
0
0
1
-54
25
-21
-22
0
22
8
-21
-2
0
0
0
0
0
0
0
1
-1
-27
3
-7
17
2
-7
14
-1
0
0
0
0
0
0
0
0
0
-2
2
-9
4
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
29
-35
21
13
14
14
0
0
0
1
0
0
0
0
0
0
0
33
-39
38
-52
-24
16
0
0
0
0
0
0
0
0
0
0
0
4
-22
-25
49
1
142
-1
1
-6
0
0
0
0
0
0
0
0
25
21
-66
-11
-23
9
14
-1
-5
0
0
0
0
0
0
0
0
21
14
6
-35
9
-10
21
0
0
0
0
0
0
0
0
0
0
69
-13
33
7
75
0
0
1
-5
0
0
0
0
0
0
0
0
1
-44
-5
-60
-7
-14
0
-3
0
0
0
0
0
0
0
0
0
0
2
-15
-9
-33
0
0
0
-1
0
0
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
-8
-9
2
0
1
0
0
-1
0
0
0
0
0
0
0
-9
2
75
-2
-7
-7
0
1
0
0
0
0
0
0
0
0
-4
-2
-43
-24
-23
-54
9
-3
-5
0
-7
0
0
0
0
0
0
1
8
-18
-33
-4
-5
6
-18
0
0
0
0
0
0
0
0
0
14
3
22
-17
61
-36
14
0
-20
0
0
0
0
0
0
0
0
0
17
-11
19
10
-4
-21
0
6
0
0
0
0
0
0
0
0
-4
0
2
4
13
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
-23
-2
-23
-1
15
-1
0
0
0
0
0
0
0
0
0
0
-1
101
1
-80
51
17
5
0
1
0
0
0
0
0
0
0
0
-3
29
54
8
27
-10
-23
-34
-77
-44
0
0
0
0
0
0
0
-9
58
-8
15
20
-29
-39
-128
-8
30
0
0
0
0
0
0
0
-7
-100
-41
29
0
10
-53
-10
-18
43
0
0
0
0
0
0
0
-25
28
40
-75
-51
-6
46
-1
0
9
0
0
0
0
0
0
0
6
-4
33
-23
-9
48
16
-16
9
0
0
0
0
0
0
0
0
0
10
25
-7
-24
13
6
3
3
-1
0
0
0
0
0
0
0
0
-17
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
37
-24
43
-6
0
-2
0
11
0
0
0
0
0
0
0
0
19
-38
15
12
-16
0
0
-2
0
0
0
0
0
0
0
0
0
-18
7
73
-14
-13
39
-3
2
-72
-3
0
0
0
0
0
0
0
58
39
18
142
16
15
-36
-7
-16
-2
0
0
0
0
0
0
0
-8
25
48
26
46
-52
-17
-46
-27
0
0
0
0
0
0
0
0
78
7
35
-86
-41
61
-3
8
0
0
0
0
0
0
0
0
0
0
13
-45
-38
-71
-10
-3
1
1
0
0
0
0
0
0
0
0
-2
16
-3
10
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
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
-15
0
0
0
0
0
0
0
0
-9
-20
0
6
6
1
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
0
-7
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-9
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
13
-23
24
1
0
0
-1
0
0
0
0
0
0
0
0
-20
0
18
-2
6
1
0
1
0
0
0
0
0
0
0
0
0
1
0
-11
-5
44
33
0
0
14
0
0
0
0
0
0
0
0
14
5
19
9
-45
8
-1
0
3
0
0
0
0
0
0
0
0
0
0
-10
-78
-10
-9
5
-1
9
0
0
0
0
0
0
0
0
0
0
25
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
15
-3
25
45
0
0
0
0
0
0
0
0
0
0
-1
93
55
33
15
84
-27
0
-1
0
0
0
0
0
0
0
0
34
45
98
8
23
34
-118
0
-4
-15
0
0
0
0
0
0
0
11
2
22
56
26
-53
-37
-47
21
-26
0
0
0
0
0
0
0
27
3
-2
-6
-59
88
-22
18
-37
-14
0
0
0
0
0
0
0
-6
56
81
35
-8
-20
-5
18
0
-6
0
0
0
0
0
0
0
9
0
-1
23
26
-2
-47
5
13
-37
0
0
0
0
0
0
0
0
79
29
19
17
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
29
-4
49
-37
44
55
-2
0
5
0
0
0
0
0
0
0
0
15
14
-53
3
30
30
0
2
0
3
0
0
0
0
0
0
-13
-31
-84
22
-53
15
10
1
13
31
-3
0
0
0
0
0
0
0
32
-9
14
-4
-14
-24
59
-43
34
-8
0
0
0
0
0
0
-7
24
4
66
-51
-29
80
11
-71
-15
14
0
0
0
0
0
0
0
-5
9
14
-3
64
-62
-71
37
-19
0
0
0
0
0
0
0
-6
-5
0
17
31
13
-72
-47
-36
-1
0
0
0
0
0
0
0
0
1
9
2
19
-15
3
3
0
-9
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-11
-37
-18
-35
15
2
0
0
-1
0
0
0
0
0
0
0
-5
37
22
-46
-14
-68
0
6
0
-4
0
0
0
0
0
0
-26
-3
2
-22
-25
50
-64
-25
-5
16
-62
0
0
0
0
0
0
0
35
-14
75
35
-45
26
-6
3
4
24
3
0
0
0
0
0
2
-3
-47
-6
62
8
104
16
1
13
0
0
0
0
0
0
0
7
21
31
-70
62
64
-4
-16
46
27
-7
0
0
0
0
0
0
6
-9
-58
0
25
25
25
25
0
24
0
0
0
0
0
0
0
0
1
5
-6
-5
-73
-7
2
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
0
2
-30
17
-74
43
33
4
0
0
0
0
0
0
0
0
0
-6
-20
17
-53
-37
25
21
0
0
0
-1
0
0
0
0
0
0
-7
5
76
47
-7
5
-75
0
16
21
0
0
0
0
0
0
0
0
-45
-25
-5
23
-74
49
-9
-2
8
-8
0
0
0
0
0
0
-17
37
23
16
-12
-69
-19
0
15
47
0
0
0
0
0
0
0
0
6
1
7
8
29
2
-29
-35
-47
3
-1
0
0
0
0
0
0
4
-8
43
0
-9
29
-26
8
3
0
0
0
0
0
0
0
0
11
2
-33
26
7
8
0
-18
-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
-53
14
53
-6
37
4
0
0
0
0
0
0
0
0
0
1
-26
41
-33
34
-2
20
0
-2
0
0
0
0
0
0
0
0
4
7
15
48
24
50
-56
0
1
33
-2
0
0
0
0
0
0
-2
0
8
35
-33
5
-6
26
-14
-35
0
0
0
0
0
0
0
6
0
-30
-7
-47
3
4
2
0
15
-24
0
0
0
0
0
0
1
-2
-14
-6
-18
-15
-22
52
4
2
-1
0
0
0
0
0
0
0
2
51
-14
-45
0
-3
8
35
-13
0
0
0
0
0
0
0
0
-4
2
9
17
25
-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
-53
-7
-3
1
0
0
0
0
0
0
0
0
0
0
9
48
-37
26
-18
2
0
0
0
0
0
0
0
0
0
0
0
9
6
21
-78
25
13
-1
0
-5
-1
0
0
0
0
0
0
0
-2
3
-37
-23
-10
31
29
0
0
0
0
0
0
0
0
0
0
2
-9
-27
19
5
-17
-11
6
-11
0
0
0
0
0
0
0
0
-13
-4
36
-31
7
4
-14
0
21
0
0
0
0
0
0
0
0
0
13
-3
-51
-21
0
-29
-23
-3
0
0
0
0
0
0
0
0
0
2
-16
-14
18
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
-17
-2
1
4
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-5
13
0
9
0
0
0
2
0
0
0
0
0
0
-20
0
-52
1
-26
7
0
0
-1
-1
0
0
0
0
0
0
0
0
19
-2
-9
-4
-18
3
-3
-10
0
0
0
0
0
0
0
0
0
-8
18
-10
27
7
15
-1
-3
0
0
0
0
0
0
0
0
0
-20
-13
-77
14
9
-2
-4
-1
-6
0
0
0
0
0
0
0
0
0
-27
2
-15
0
-13
0
-5
0
0
0
0
0
0
0
0
0
9
0
-53
-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
-48
-8
10
-34
-11
25
-2
0
0
0
0
0
0
0
0
0
0
-5
25
-36
-19
-30
5
0
0
0
0
0
0
0
0
0
0
-4
-31
-33
-39
-68
11
-5
25
0
0
0
0
0
0
0
0
0
0
0
-26
-3
58
-14
26
1
11
33
0
0
0
0
0
0
0
31
-5
-48
-54
-24
51
-33
30
7
-30
0
0
0
0
0
0
0
0
-17
41
-54
9
8
14
15
3
4
0
0
0
0
0
0
0
0
5
43
-1
-53
9
-14
0
0
-19
0
0
0
0
0
0
0
0
-105
-29
74
8
25
-1
-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
-79
-9
-28
11
1
0
0
1
-7
0
0
0
0
0
0
0
-53
-25
61
-41
6
4
0
0
0
0
0
0
0
0
0
0
0
0
4
-25
47
8
-14
3
0
-5
0
0
0
0
0
0
0
0
3
23
-49
3
29
32
25
0
10
0
0
0
0
0
0
0
0
2
-9
45
-4
-5
-41
19
9
-27
0
0
0
0
0
0
0
0
2
-1
-8
32
24
-109
11
1
-7
0
0
0
0
0
0
0
0
-43
-24
33
14
9
80
-20
-8
0
-1
0
0
0
0
0
0
0
0
-10
0
14
-17
2
23
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
11
1
4
0
0
0
0
0
0
0
0
0
0
0
-10
3
63
0
1
2
0
0
5
0
0
0
0
0
0
0
0
1
46
0
17
-1
9
0
0
-15
0
0
0
0
0
0
0
0
24
0
1
-15
-24
-11
0
5
0
0
0
0
0
0
0
0
0
0
100
4
48
0
45
-32
-10
1
0
0
0
0
0
0
0
0
0
2
-26
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
-53
9
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
45
0
65
1
-1
-7
0
0
0
0
0
0
0
0
0
0
15
0
49
2
1
4
0
6
53
-16
0
0
0
0
0
0
0
-5
15
7
-10
-25
97
77
-9
74
-25
0
0
0
0
0
0
0
-16
0
62
85
-135
28
-51
8
26
13
0
0
0
0
0
0
0
0
46
-4
39
16
9
-14
14
-8
-9
0
0
0
0
0
0
0
-25
2
67
27
-23
2
-1
3
-31
0
0
0
0
0
0
0
0
0
0
1
-43
7
11
-23
-7
-1
-4
0
0
0
0
0
0
0
0
-26
8
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-6
71
1
5
0
0
0
0
0
0
0
0
0
0
0
-80
1
4
-31
25
10
0
0
0
0
0
0
0
0
0
0
-3
1
11
-32
19
78
21
-3
2
-24
0
0
0
0
0
0
0
0
-43
25
33
50
59
57
-47
-4
-25
0
0
0
0
0
0
0
-4
13
23
43
-32
-2
21
1
6
6
-1
0
0
0
0
0
0
0
-24
-41
-28
-100
27
-31
14
-9
52
0
0
0
0
0
0
0
2
1
31
37
-40
-37
-19
-17
-11
14
0
0
0
0
0
0
0
0
9
0
7
10
24
-10
-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
-34
0
-20
0
0
0
3
0
0
0
0
0
0
0
-17
-1
23
-4
2
-2
0
0
0
-1
0
0
0
0
0
0
27
7
73
15
43
13
5
-3
9
-19
0
0
0
0
0
0
0
0
47
2
0
-14
22
-43
-14
0
0
3
0
0
0
0
0
0
-15
1
71
9
-9
-5
53
13
-1
3
0
0
0
0
0
0
0
0
-9
4
-18
7
0
-21
0
-4
0
0
0
0
0
0
0
0
-1
0
-2
21
-105
-1
-27
-11
-45
0
0
0
0
0
0
0
0
0
-7
-7
0
1
-3
0
-21
0
-10
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
58
0
0
-34
4
0
0
0
0
0
0
0
0
0
0
0
35
-19
39
-4
-7
3
0
0
0
7
0
0
0
0
0
0
2
0
-2
29
-6
5
46
2
4
-4
0
0
0
0
0
0
0
0
39
46
0
-2
-11
30
6
0
0
0
0
0
0
0
0
0
0
1
-4
41
3
27
43
17
10
3
0
0
0
0
0
0
0
0
-21
7
-29
36
39
-1
-6
5
-29
0
0
0
0
0
0
0
-1
2
-36
-15
2
-7
0
7
-7
-11
0
0
0
0
0
0
0
0
-6
0
16
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
22
-14
9
0
0
0
0
0
0
0
0
0
0
0
-52
0
29
-15
-18
-17
0
0
1
0
0
0
0
0
0
0
0
0
11
-1
6
-1
24
-5
-1
1
3
0
0
0
0
0
0
0
0
0
-32
-10
-10
4
-4
-5
0
2
0
0
0
0
0
0
0
0
0
3
-4
4
-15
4
-6
3
-1
0
0
0
0
0
0
0
-4
0
7
0
9
-3
1
1
7
0
0
0
0
0
0
0
0
0
2
-5
-11
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
-11
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
-21
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
23
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
43
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
1
0
-5
0
10
0
0
1
0
0
0
0
0
0
0
0
-6
0
-2
3
-17
14
4
0
0
0
0
0
0
0
0
0
0
-24
0
0
-31
-18
-36
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
-25
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
13
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
-35
2
5
-1
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
51
-8
-7
-4
0
-111
0
0
0
0
0
0
0
0
23
-21
46
10
-2
-29
-1
-32
-5
0
0
0
0
0
0
0
3
1
6
0
-45
-99
-14
51
-6
-7
0
0
0
0
0
0
0
0
-2
-5
28
-14
21
-37
0
0
-3
0
0
0
0
0
0
0
0
0
-29
10
-25
0
-3
0
0
-6
0
0
0
0
0
0
0
0
9
0
8
13
-10
-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
17
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
32
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-23
4
0
-2
0
0
24
0
0
0
0
0
0
0
0
0
0
3
16
9
-2
-2
0
0
1
0
0
0
0
0
0
0
0
4
26
-11
5
-8
0
0
-5
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
-9
-25
13
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
62
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
-24
1
-10
2
0
-6
0
0
0
0
0
0
0
0
-44
1
13
0
32
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-5
54
-1
0
0
0
0
0
0
0
0
0
0
0
0
-37
-3
29
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
-19
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
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
-17
0
-1
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-25
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
-25
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
17
0
-14
0
-3
0
0
-7
0
0
0
0
0
0
0
0
0
0
-13
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
14
15
-31
44
0
0
0
0
0
0
0
0
0
-3
-13
-3
2
-14
36
74
-41
-42
0
0
0
0
0
0
0
0
5
-30
5
29
97
-7
23
24
-6
0
0
0
0
0
0
0
0
3
0
22
-11
-14
-48
-21
15
-34
0
0
0
0
0
0
0
0
1
-8
-4
45
-1
10
7
-6
-34
0
0
0
0
0
0
0
0
0
5
0
-9
3
45
20
24
-2
0
0
0
0
0
0
0
0
0
-8
-3
29
1
-13
36
10
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-27
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
-10
0
20
62
-3
2
18
25
0
-25
0
0
0
0
0
0
0
-51
6
10
11
3
34
80
-17
13
43
0
0
0
0
0
0
0
27
-16
12
-8
87
-34
106
-3
0
-9
0
0
0
0
0
0
0
-71
-37
0
28
-7
-9
-48
44
-50
-7
0
0
0
0
0
0
0
3
47
74
-66
-55
105
11
-21
10
-1
0
0
0
0
0
0
0
-8
3
66
6
-23
-40
20
-96
-26
7
0
0
0
0
0
0
0
23
20
-35
17
-89
-16
7
19
-7
-4
0
0
0
0
0
0
0
0
1
-7
1
9
-68
-51
2
61
14
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
-44
0
-14
-25
75
-13
-14
0
-17
18
0
0
0
0
0
0
-33
8
-8
76
-21
52
-48
-7
-85
11
-7
0
0
0
0
0
0
14
31
4
-33
-13
76
52
32
-74
0
11
0
0
0
0
0
0
-5
48
58
46
63
4
-11
55
15
45
26
0
0
0
0
0
0
0
58
58
57
-155
68
-105
-42
-68
-56
0
0
0
0
0
0
0
0
-1
2
-7
-20
83
-100
53
14
-31
-33
0
0
0
0
0
0
0
7
-26
4
-6
-29
-22
82
29
6
0
0
0
0
0
0
0
0
-24
-15
-20
-39
38
-54
36
-18
-5
0
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
0
63
3
-6
0
-17
-15
0
0
0
0
0
0
15
-57
10
-18
8
52
-23
75
-20
-63
-6
1
0
0
0
0
0
7
-22
4
5
52
71
31
21
1
17
7
0
0
0
0
0
0
-5
-6
33
-74
-27
-6
61
4
46
7
68
0
0
0
0
0
0
92
18
-82
10
19
-7
-110
58
-34
5
6
0
0
0
0
0
0
0
-6
-7
-18
11
-59
-52
9
-47
19
20
-2
0
0
0
0
0
0
2
0
4
8
37
-18
46
47
34
-1
0
0
0
0
0
0
0
-1
-4
-1
-16
18
-6
-19
-13
-23
0
0
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
-128
-12
82
0
1
-6
-3
0
0
0
0
0
0
-43
15
5
-13
33
-68
7
-41
-54
58
-2
0
0
0
0
0
1
0
60
7
36
-91
7
-6
-85
43
0
22
0
0
0
0
0
0
76
-67
73
-36
22
-40
18
50
0
8
0
0
0
0
0
0
-1
-89
29
60
10
-83
32
43
29
8
2
0
0
0
0
0
0
0
-4
-19
5
16
-96
-33
-103
-1
25
-4
0
0
0
0
0
0
0
-9
34
5
-27
4
-17
-14
-61
-39
0
0
0
0
0
0
0
0
-2
-1
6
-21
26
9
29
-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
2
-2
0
0
-6
0
54
14
0
-27
-3
0
0
0
0
0
0
-3
72
2
1
98
27
-43
60
-44
-27
2
-2
0
0
0
0
0
-3
-29
-27
48
44
-66
-51
-39
-49
56
-1
0
0
0
0
0
0
11
12
7
-14
68
-22
-19
-21
80
33
6
0
0
0
0
0
0
11
-25
-29
-1
-33
-34
14
43
-18
2
-17
0
0
0
0
0
0
0
-7
1
-15
17
20
-52
2
-31
-11
43
0
0
0
0
0
0
0
0
-2
-1
-2
0
23
-10
11
-17
0
0
0
0
0
0
0
0
-3
0
0
8
-21
-6
25
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
1
0
0
0
0
0
44
0
14
1
0
0
0
0
0
0
0
39
57
64
-29
0
43
0
52
34
3
0
0
0
0
0
0
0
45
-3
37
6
53
-33
-50
53
-6
5
0
0
0
0
0
0
0
-11
0
-3
103
-3
-37
14
-16
3
-20
0
0
0
0
0
0
0
-2
4
25
0
-25
-17
13
74
-26
2
0
0
0
0
0
0
0
11
0
0
0
6
-20
-86
-8
4
3
0
0
0
0
0
0
0
0
3
-7
3
-8
73
-16
-36
4
0
0
0
0
0
0
0
0
0
0
-14
0
-4
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
39
0
0
0
0
0
0
0
0
0
0
0
-6
-37
-4
14
32
-1
0
0
0
0
0
0
0
0
0
5
0
1
0
-3
-2
4
2
-1
0
0
0
0
0
0
0
0
0
0
4
-18
-9
0
-7
2
3
0
0
0
0
0
0
0
0
3
1
0
1
3
-15
-26
-11
-4
0
0
0
0
0
0
0
0
0
-9
-2
0
0
6
4
-11
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
-14
-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
10
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
-31
17
132
6
6
9
11
-16
0
0
0
0
0
0
0
0
0
-2
-13
4
75
-43
79
20
-31
-17
0
0
0
0
0
0
0
0
-34
31
-31
-53
26
54
-23
52
5
0
0
0
0
0
0
0
0
-1
68
-18
-53
49
-55
54
-15
2
0
0
0
0
0
0
0
0
14
48
35
51
18
-54
14
-35
-43
0
0
0
0
0
0
0
0
21
17
7
11
41
-2
10
-4
5
0
0
0
0
0
0
0
0
-3
-25
6
-19
-23
-10
33
-11
23
0
0
0
0
0
0
0
0
0
1
0
8
0
-36
37
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
32
-1
0
0
0
0
0
0
0
0
0
72
83
-52
21
-15
28
80
-40
0
6
0
0
0
0
0
0
0
28
-6
-60
63
-43
76
5
39
16
10
0
0
0
0
0
0
0
103
34
-23
66
29
-53
-32
47
-27
-26
0
0
0
0
0
0
0
52
59
38
-9
-5
21
-1
10
43
-48
0
0
0
0
0
0
0
-128
61
5
43
-43
-23
112
33
-16
-47
0
0
0
0
0
0
0
-5
9
-14
90
-34
-5
26
26
-23
-14
0
0
0
0
0
0
0
-94
19
-19
-29
86
-62
-8
-82
-1
14
0
0
0
0
0
0
0
3
0
0
-45
36
9
-30
-10
-51
3
0
0
0
0
0
0
0
0
0
-2
0
10
0
25
0
0
0
0
0
0
0
0
0
0
13
70
20
-57
44
-12
-1
46
0
74
7
0
0
0
0
0
0
14
-82
1
24
-72
3
-21
98
-8
77
-6
0
0
0
0
0
0
0
-49
-19
7
57
18
54
13
-50
-40
-14
0
0
0
0
0
0
19
-6
89
-26
38
24
-105
-30
78
-47
16
0
0
0
0
0
0
-11
-1
-7
15
-5
28
27
-36
33
-8
-24
0
0
0
0
0
0
1
-16
-11
-14
-12
2
-39
72
-20
23
2
0
0
0
0
0
0
0
24
43
-13
61
32
-47
9
10
49
-4
0
0
0
0
0
0
0
-6
0
-8
25
49
-76
-68
-14
-26
0
0
0
0
0
0
0
0
0
0
1
0
-5
3
-1
10
-3
0
0
0
0
0
0
0
27
11
23
-2
-59
10
-29
-57
0
24
5
0
0
0
0
0
0
73
-34
60
33
41
-5
54
49
15
-47
10
0
0
0
0
0
0
22
11
85
-24
-45
-26
19
46
-29
-2
47
-17
0
0
0
0
0
-47
74
29
-46
-18
17
-42
29
17
-48
-9
0
0
0
0
0
0
3
71
22
-33
-51
31
30
-31
-48
16
11
2
0
0
0
0
0
-5
-43
-31
49
-49
68
-56
58
14
5
33
0
0
0
0
0
0
1
5
3
-4
-45
14
-60
3
24
18
25
0
0
0
0
0
0
1
-2
14
-3
13
18
4
14
-52
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
2
1
4
0
0
0
0
0
0
0
-7
-20
-58
22
-2
-7
-62
-89
0
-53
-92
-7
0
0
0
0
0
44
-49
43
13
-15
20
43
7
-58
-60
-75
-11
0
0
0
0
0
43
-8
-34
-28
15
32
-30
-32
-19
-7
4
-7
0
0
0
0
0
58
-5
43
65
-103
47
17
8
-26
-66
-56
5
0
0
0
0
0
5
50
7
32
105
-34
9
44
-21
15
0
25
2
0
0
0
0
-4
3
52
1
25
-68
43
-47
-14
-40
-9
-2
0
0
0
0
0
0
0
0
5
20
-58
-39
-3
7
-24
2
3
0
0
0
0
0
0
0
0
-7
0
36
13
-27
-15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-6
0
0
0
0
0
0
0
0
-64
9
-15
-49
-29
-2
31
29
0
-57
-66
3
0
0
0
0
0
-32
-23
18
-1
-10
3
41
28
18
1
14
-4
0
0
0
0
0
33
18
10
-16
68
61
4
13
-63
66
-13
-8
0
0
0
0
0
-63
28
-20
75
35
-4
32
2
-17
70
-10
-5
0
0
0
0
0
0
-4
36
10
-31
19
145
37
32
-54
25
0
-3
0
0
0
0
3
0
24
-43
2
-16
70
33
-4
-46
52
2
0
0
0
0
0
-5
7
-1
9
-5
-48
-44
10
23
11
2
5
0
0
0
0
0
0
3
0
0
0
10
27
-68
14
-23
-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
43
-21
-4
-32
-102
-53
3
0
-74
15
0
-1
0
0
0
0
0
-25
-57
-32
0
-19
51
33
-36
-53
-21
-21
-1
0
0
0
0
0
-18
41
50
89
3
8
-32
-39
15
25
0
0
0
0
0
0
0
-7
-27
1
46
-43
-4
-38
37
36
-5
-4
0
0
0
0
0
0
1
26
-4
-3
6
-28
-83
45
-27
-9
-4
0
0
0
0
0
0
9
-9
-20
-3
-4
-46
19
16
-13
1
0
0
0
0
0
0
0
0
0
-4
-19
-11
48
10
1
-4
0
0
0
0
0
0
0
0
5
0
0
0
-10
-8
-48
21
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
9
0
0
0
0
9
1
-17
0
21
-1
2
0
0
0
0
0
0
0
-2
11
-1
0
-33
-9
4
-24
4
-2
0
0
0
0
0
-4
0
-13
60
-23
-4
-37
1
-46
-15
-2
1
0
0
0
0
0
0
4
1
0
4
0
13
-5
23
5
14
-1
0
0
0
0
0
-5
0
-3
0
-4
9
-22
-5
-27
-2
1
0
1
0
0
0
0
0
0
0
0
3
-9
0
-18
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
-14
-1
-53
0
-23
0
0
0
0
0
0
0
0
-7
-9
-14
8
8
9
-3
11
-2
-5
0
-1
0
0
0
0
0
11
11
-6
-9
-2
-34
32
-5
-9
0
0
0
0
0
0
0
0
3
0
-3
14
55
13
-3
-11
5
1
0
0
0
0
0
0
0
0
-4
4
2
0
-11
15
4
1
0
0
0
0
0
0
0
0
6
0
0
6
1
0
0
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
-19
44
0
2
-7
0
0
0
0
0
0
0
0
11
-1
36
-5
-46
45
11
-38
-1
1
0
0
0
0
0
0
0
-17
-27
27
-2
-58
-4
83
23
-16
0
0
0
0
0
0
0
0
1
0
0
-1
-43
-33
5
-20
7
0
0
0
0
0
0
0
0
10
0
4
8
-16
0
-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
9
-11
5
0
-14
0
-1
0
0
0
0
0
0
0
0
10
0
2
5
-19
-11
-4
-3
0
0
0
0
0
0
0
0
0
-3
-1
3
15
-9
-27
-23
0
2
0
0
0
0
0
0
0
0
0
-2
0
3
-20
24
2
0
2
0
0
0
0
0
0
0
0
2
0
0
0
-10
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
23
5
-16
-87
70
0
0
0
0
0
0
0
0
0
0
17
19
4
50
52
41
-15
86
0
0
0
0
0
0
0
0
33
34
23
-19
8
-5
-19
-16
43
0
0
0
0
0
0
0
0
-7
0
-24
70
71
68
46
-51
1
0
0
0
0
0
0
0
0
4
-14
51
-51
-32
49
52
-23
-32
0
0
0
0
0
0
0
0
-2
-39
34
-49
-23
-30
-9
-20
0
0
0
0
0
0
0
0
0
0
-3
0
0
14
41
-7
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
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
-56
-26
-24
62
-49
-45
0
-55
0
0
0
0
0
0
0
-23
39
-52
-44
80
5
17
-24
62
-57
0
0
0
0
0
0
0
19
25
-37
-35
43
63
-23
76
59
-14
0
0
0
0
0
0
0
13
-11
-54
-37
2
82
-49
-31
-14
9
0
0
0
0
0
0
0
4
3
-89
37
93
-39
77
14
11
24
0
0
0
0
0
0
0
-43
73
11
-49
-73
14
40
-27
-27
20
0
0
0
0
0
0
0
13
0
-8
8
-19
-18
-36
35
-41
-14
0
0
0
0
0
0
0
0
0
-1
29
19
-3
0
-13
-16
0
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
11
-4
42
13
65
-25
-19
0
1
-37
0
0
0
0
0
0
-44
5
-53
-19
45
45
-13
45
-91
61
-41
0
0
0
0
0
0
1
21
-17
30
-92
-3
5
-15
43
-38
7
0
0
0
0
0
0
-18
40
-37
-65
3
-66
-23
53
-25
-19
8
0
0
0
0
0
0
17
-8
-26
-63
-28
-22
-17
-33
-1
50
-4
0
0
0
0
0
0
0
-16
33
1
56
33
-62
32
-50
36
11
0
0
0
0
0
0
0
-5
-3
52
82
31
19
11
58
-10
0
0
0
0
0
0
0
0
0
-1
0
8
-8
2
81
-33
-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
-5
52
-7
-29
126
-27
12
8
0
-62
14
0
0
0
0
0
0
-5
-9
9
2
7
44
84
24
12
-54
-31
0
0
0
0
0
0
-35
-5
57
7
-32
13
43
-33
-42
35
18
0
0
0
0
0
0
-56
-25
0
92
-87
13
20
53
16
32
8
0
0
0
0
0
0
-1
-53
74
-23
73
-20
-30
32
70
-18
-22
1
0
0
0
0
0
1
5
-11
5
8
54
63
1
-74
-25
-3
3
0
0
0
0
0
0
21
33
4
-17
-25
13
-26
23
-2
19
0
0
0
0
0
0
0
-5
-1
0
14
-23
-14
-34
8
-11
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
-50
56
29
48
25
51
-10
0
-24
15
1
0
0
0
0
0
-31
12
-45
-82
-111
-39
-23
-27
7
26
-12
-37
0
0
0
0
0
10
59
-8
-51
-33
46
-43
13
54
-4
37
0
0
0
0
0
0
0
-15
-10
5
-20
2
-4
56
21
43
-24
21
0
0
0
0
0
27
45
66
28
-45
6
2
55
26
2
20
0
0
0
0
0
0
0
11
43
-2
-1
-16
21
63
-44
24
-6
0
0
0
0
0
0
0
11
-7
72
4
-33
74
22
26
-3
6
0
0
0
0
0
0
0
-2
0
0
0
-10
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
16
2
15
32
-25
-18
21
8
0
13
7
-2
0
0
0
0
0
19
-10
53
14
-9
26
-16
16
54
-17
-21
-13
0
0
0
0
0
-5
-23
-16
43
52
37
8
15
41
-6
-4
-4
0
0
0
0
0
9
-41
-35
-31
57
0
30
62
-40
-8
1
0
0
0
0
0
0
-5
-45
32
46
1
-19
23
25
0
-13
-1
2
0
0
0
0
0
1
-3
5
1
-61
19
45
-79
-35
8
1
1
0
0
0
0
0
0
0
1
8
-4
9
-36
0
4
29
-6
-2
0
0
0
0
0
0
0
-14
5
0
-18
1
-48
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
13
-3
11
-23
-36
-31
-45
0
-7
18
6
0
0
0
0
0
-5
-31
-16
21
31
-45
-33
-22
-63
73
4
-13
-1
0
0
0
0
0
-31
74
37
-35
30
-23
-25
63
33
49
-3
0
0
0
0
0
0
-8
-15
-26
-4
21
6
92
-29
-4
26
-6
-2
0
0
0
0
0
4
25
-2
10
-79
32
23
-45
-34
8
10
0
0
0
0
0
0
7
6
2
45
-62
0
29
-17
1
-5
0
0
0
0
0
0
0
0
3
-1
2
-1
18
-4
-24
-16
-3
0
0
0
0
0
0
0
0
0
3
0
0
-3
30
-26
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
43
-19
18
-14
0
25
-15
-1
0
0
0
0
0
14
-2
-5
5
8
13
-9
74
-98
-27
3
3
0
0
0
0
0
5
-10
-13
-22
-31
16
-20
-7
49
64
14
-3
0
0
0
0
0
0
0
0
15
-89
-56
4
-62
0
15
14
0
0
0
0
0
0
1
21
0
0
50
1
-68
-16
-29
5
9
2
0
0
0
0
0
0
0
0
-11
-1
18
3
-36
-10
14
-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
-48
-15
24
-13
-98
62
-4
15
0
-23
0
0
0
0
0
0
0
-4
76
14
-14
4
-47
-38
-33
-3
-2
-1
1
0
0
0
0
0
6
53
34
-108
5
-64
8
-40
25
0
0
1
0
0
0
0
0
13
-18
-5
-26
-31
-49
71
-48
6
-24
0
0
0
0
0
0
0
4
-3
1
-48
-21
-90
-5
33
14
-1
0
0
0
0
0
0
0
0
0
-1
6
5
0
-21
-34
-33
0
0
0
0
0
0
0
0
4
0
4
0
-1
-7
9
-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
26
15
10
-1
47
25
9
0
-53
3
0
0
0
0
0
0
0
-23
-29
-62
-18
-23
-84
11
21
-9
33
0
0
0
0
0
0
0
62
-60
-14
-96
69
71
18
-39
5
-41
-4
0
0
0
0
0
0
15
37
-32
36
41
61
5
-66
43
0
6
0
0
0
0
0
0
-39
0
-25
-33
76
61
-13
-5
14
1
0
0
0
0
0
0
0
-26
41
-8
-34
-69
-14
12
-8
-89
3
1
0
0
0
0
0
0
1
1
5
-25
-1
56
66
-68
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
-39
-62
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
10
6
0
-2
5
0
0
0
0
0
0
0
0
4
1
1
15
-5
16
-34
1
37
-2
0
0
0
0
0
0
0
0
0
0
5
3
-25
17
15
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
15
23
-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
-11
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
25
5
27
-11
14
-37
-31
0
0
0
0
0
0
0
0
0
1
16
-14
-49
-31
39
34
5
-14
0
0
0
0
0
0
0
0
10
49
5
-168
17
17
51
5
53
0
0
0
0
0
0
0
0
0
0
11
-6
45
1
-21
43
77
0
0
0
0
0
0
0
0
0
5
-65
-5
5
45
15
-7
-3
0
0
0
0
0
0
0
0
0
-2
1
-26
18
43
-2
9
-1
0
0
0
0
0
0
0
0
0
-1
0
-7
46
-1
34
-10
-2
0
0
0
0
0
0
0
0
0
0
0
19
-1
1
-4
-13
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
-57
11
-57
35
3
-37
-18
-33
0
-43
0
0
0
0
0
0
0
60
14
39
-32
57
-61
28
-7
-77
19
0
0
0
0
0
0
0
1
-6
-97
-5
-10
53
-53
72
-99
6
0
0
0
0
0
0
0
51
13
-33
7
-84
-54
53
22
52
-16
0
0
0
0
0
0
0
46
-25
0
16
-52
-14
12
3
-127
20
0
0
0
0
0
0
0
5
-13
-56
16
-9
-12
-50
7
27
-71
0
0
0
0
0
0
0
-33
-3
-4
-8
-12
56
10
80
14
25
0
0
0
0
0
0
0
1
-1
-6
-20
-15
-5
-24
-13
14
-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
9
-11
-14
10
2
1
28
-34
0
-13
2
0
0
0
0
0
0
16
-62
-41
49
-57
14
-17
80
-43
9
25
0
0
0
0
0
0
-29
10
-24
-19
4
-30
-40
39
1
36
-1
0
0
0
0
0
0
0
33
-2
25
30
30
-6
-41
32
36
19
0
0
0
0
0
0
85
52
1
34
-39
-57
43
-45
81
-3
0
0
0
0
0
0
0
-7
14
2
-31
16
-16
-43
-16
87
24
-6
0
0
0
0
0
0
0
-5
-9
15
14
18
-21
-45
47
3
-9
0
0
0
0
0
0
0
-7
0
-13
-3
-53
-59
-32
-22
-26
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-19
-5
0
0
0
0
0
0
0
0
24
29
23
26
29
81
3
-60
0
42
3
0
0
0
0
0
0
-34
-17
9
76
17
-57
50
40
7
13
-4
0
0
0
0
0
0
11
-51
6
59
-109
-10
71
3
32
-24
63
2
0
0
0
0
0
-5
25
95
-3
18
-2
-78
18
-58
43
26
0
0
0
0
0
0
-57
-19
47
-56
59
31
-19
-32
-14
-43
2
0
0
0
0
0
0
18
17
58
-45
-47
-2
16
5
-43
-9
-13
1
0
0
0
0
0
0
26
-10
2
4
34
-44
53
71
-19
-8
0
0
0
0
0
0
0
1
-1
0
2
-34
10
7
-1
11
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
-9
0
1
58
-70
-56
0
85
10
-3
0
0
0
0
0
32
25
3
48
52
53
21
-39
14
11
14
5
0
0
0
0
0
-11
-53
71
-71
-24
5
28
-16
-9
33
-3
1
0
0
0
0
0
-9
-17
-21
13
-11
79
8
-101
28
14
-6
3
0
0
0
0
0
-2
55
-26
-56
5
33
-38
65
56
-20
0
-2
0
0
0
0
0
3
-46
17
0
-17
-19
0
-28
-14
-41
4
0
0
0
0
0
0
0
1
16
-39
53
-34
2
14
71
-8
-1
0
0
0
0
0
0
0
-5
0
-1
0
19
21
-58
6
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
4
5
-14
-46
69
-4
52
10
0
48
-25
-1
0
0
0
0
0
11
43
-47
-25
33
-67
11
47
-28
-56
11
0
0
0
0
0
0
0
-1
49
-13
0
-8
5
106
109
-5
20
-14
0
0
0
0
0
0
11
-43
33
87
-23
34
68
-1
72
4
-1
0
0
0
0
0
27
24
3
-15
-19
7
73
14
-3
-3
22
-5
0
0
0
0
0
0
-5
25
7
-52
-1
-41
25
-16
8
-3
0
0
0
0
0
0
0
0
-3
26
25
33
-20
6
-35
29
3
0
0
0
0
0
0
0
0
11
0
0
5
-3
20
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
-14
8
-20
-44
0
-25
25
0
0
0
0
0
0
-5
-19
10
-31
-71
77
-4
-79
27
-72
44
8
2
0
0
0
0
0
5
10
-10
3
19
43
-104
-18
-14
15
1
0
0
0
0
0
0
65
2
9
15
5
13
-71
-98
-25
3
0
0
0
0
0
0
0
-3
-14
2
-50
4
-52
-15
83
-45
0
0
0
0
0
0
0
0
-18
-2
-2
-2
39
4
23
1
-5
-4
0
0
0
0
0
0
0
0
0
-5
-53
-2
49
-6
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-9
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
42
23
31
0
45
2
0
0
0
0
0
0
-11
7
11
18
29
14
-56
49
-43
4
25
0
-5
0
0
0
0
10
0
1
-3
0
44
-34
-8
-3
29
-15
0
0
0
0
0
0
4
-20
-2
-36
45
-5
17
0
-5
-46
-6
0
0
0
0
0
0
0
0
0
-6
6
11
0
18
-15
-2
0
-1
0
0
0
0
0
0
19
-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
-45
33
11
33
-33
20
-44
33
0
-31
-3
0
0
0
0
0
0
-33
-11
-22
0
-17
149
38
60
-7
-152
0
0
0
0
0
0
0
-54
63
33
-5
-22
-46
-64
-77
-60
-5
2
0
0
0
0
0
0
-63
72
-6
95
13
0
-5
-22
-29
50
-3
0
0
0
0
0
0
-9
-16
-57
-59
-23
-27
29
2
14
0
0
1
0
0
0
0
0
0
3
19
5
-31
71
-17
-58
-5
0
0
0
0
0
0
0
0
0
-2
-7
4
3
7
10
-17
10
-8
0
0
0
0
0
0
0
0
9
-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
-34
14
45
68
7
58
-38
0
-2
3
0
0
0
0
0
0
0
7
25
7
-13
49
-34
-34
-20
-32
17
0
0
0
0
0
0
0
-64
45
30
-20
-51
-97
-14
-18
7
-5
0
0
0
0
0
0
0
-29
-8
14
-23
-29
-32
-97
-9
2
16
0
0
0
0
0
0
0
55
-16
-5
-22
-44
4
-35
14
21
0
0
0
0
0
0
0
0
-45
-13
45
27
-35
10
79
-17
4
2
0
0
0
0
0
0
0
-6
10
-2
-27
15
27
-27
-14
-19
0
0
0
0
0
0
0
0
2
2
-3
0
-1
2
43
-26
0
0
0
0
0
0
0
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
9
0
3
-15
0
0
0
0
0
0
0
0
5
0
-11
-14
13
-7
-16
32
-22
0
0
0
0
0
0
0
0
21
-1
-1
3
-1
-46
14
-1
4
0
0
0
0
0
0
0
0
5
0
0
-2
11
18
11
-13
0
3
0
0
0
0
0
0
0
1
-7
0
-13
-5
-24
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
-5
10
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
18
0
10
61
-51
6
-13
0
0
0
0
0
0
0
0
0
-2
-1
53
-16
36
83
23
-1
0
0
0
0
0
0
0
0
0
-1
-21
-9
-6
-15
-48
-5
1
2
0
0
0
0
0
0
0
0
0
33
0
7
3
2
4
19
11
0
0
0
0
0
0
0
0
0
0
0
9
27
-1
-36
-14
17
0
0
0
0
0
0
0
0
0
2
-33
27
-2
-52
3
-5
0
0
0
0
0
0
0
0
0
0
-3
-1
-7
27
15
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
48
-15
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
-76
-27
11
40
16
-80
0
-32
0
0
0
0
0
0
0
-47
-8
6
11
24
55
-34
63
-30
3
0
0
0
0
0
0
0
-43
0
4
-68
23
49
-42
-7
14
27
0
0
0
0
0
0
0
78
-16
-47
-20
32
-21
-79
95
1
109
0
0
0
0
0
0
0
-1
0
-19
3
-44
-15
1
-33
5
23
0
0
0
0
0
0
0
46
-44
-73
21
-3
-66
17
97
-49
4
0
0
0
0
0
0
0
51
0
17
75
14
10
-6
22
8
0
0
0
0
0
0
0
0
0
0
-2
26
3
24
-19
-5
46
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
17
4
0
0
0
0
0
0
0
0
0
9
1
-63
-43
-43
33
-25
0
-13
-2
0
0
0
0
0
0
6
77
32
19
-94
17
1
32
-4
-58
-21
0
0
0
0
0
0
0
-48
63
-14
0
-20
-9
-3
36
-14
2
0
0
0
0
0
0
1
-24
3
-14
53
1
21
23
44
-50
-1
0
0
0
0
0
0
0
65
0
-4
-8
-39
-25
-23
15
11
3
0
0
0
0
0
0
4
0
-8
10
14
79
-47
35
18
71
-7
0
0
0
0
0
0
5
44
-2
86
61
-69
42
-61
91
-9
0
0
0
0
0
0
0
0
-3
23
10
-10
5
-6
-14
-48
-32
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
-3
0
0
0
0
0
0
0
0
-9
0
-23
-2
5
-20
-8
10
0
54
15
0
0
0
0
0
0
9
-34
43
-37
-17
81
21
-2
-4
45
-24
0
0
0
0
0
0
9
22
18
-44
29
51
-5
44
58
-5
16
0
0
0
0
0
0
33
-2
-66
34
31
13
44
-21
21
30
-4
0
0
0
0
0
0
0
14
-10
0
-25
-2
-52
-29
-43
18
-8
0
0
0
0
0
0
-3
31
-4
-13
9
-34
55
-5
-1
80
-5
0
0
0
0
0
0
-5
7
-2
1
-21
-10
-8
-13
22
0
1
0
0
0
0
0
0
1
-11
0
0
-5
-10
0
-24
66
11
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
0
25
5
-49
-49
-46
50
0
-45
8
-1
0
0
0
0
0
9
10
55
27
-59
32
33
5
33
-7
-3
-2
0
0
0
0
0
8
2
-5
35
13
-19
64
-50
10
-21
-7
0
0
0
0
0
0
0
-19
34
-41
-15
29
0
-11
1
-14
2
-5
0
0
0
0
0
0
87
-10
2
0
35
-35
-32
19
35
-26
3
0
0
0
0
0
-7
21
53
20
7
13
13
66
34
-62
-10
-1
0
0
0
0
0
8
-43
44
39
1
-33
-2
-13
26
-1
0
0
0
0
0
0
0
0
2
-5
-2
0
-1
-44
-49
-29
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
-5
33
33
0
43
9
0
0
0
0
0
0
2
-13
16
-49
-30
13
32
-10
-42
20
-53
0
0
0
0
0
0
3
25
-27
57
-4
4
25
-18
1
-7
-23
0
0
0
0
0
0
-2
44
2
-21
-34
14
41
0
-46
-7
3
0
0
0
0
0
0
0
-6
13
-6
-8
0
6
-13
-59
6
0
2
0
0
0
0
0
2
41
-74
5
21
11
20
3
9
6
3
-2
0
0
0
0
0
4
1
16
-2
-19
0
-16
27
-24
0
0
0
0
0
0
0
0
0
-2
0
-25
0
-2
24
-45
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-4
0
0
0
0
0
0
0
0
0
0
-1
-13
-1
-7
-20
33
1
0
5
-15
0
0
0
0
0
0
0
-51
8
-11
14
-9
22
33
-40
15
-5
0
0
0
0
0
0
0
13
3
0
55
-8
-5
-20
14
-1
0
0
0
0
0
0
0
0
32
6
-1
0
-32
23
14
-7
-32
-7
0
0
0
0
0
0
0
0
1
0
-13
27
0
46
-8
17
1
-9
0
0
0
0
0
0
1
-33
6
2
-7
-7
25
7
41
-2
0
0
0
0
0
0
0
0
0
11
0
-24
45
1
0
11
-4
0
0
0
0
0
0
0
0
0
0
0
2
4
-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
1
-20
-1
-9
55
-27
-19
0
5
1
0
0
0
0
0
0
-13
-5
-10
17
54
45
33
-9
-78
11
-3
0
0
0
0
0
0
-68
3
-43
60
7
20
51
-52
-12
7
-8
0
0
0
0
0
0
-3
0
-5
49
45
-74
10
-50
-3
-21
-7
0
0
0
0
0
0
-7
-2
1
20
26
-43
-64
0
3
3
0
0
0
0
0
0
0
-7
-3
-4
-7
35
-60
-6
-47
2
-6
5
0
0
0
0
0
0
-8
0
7
0
-18
29
-4
6
11
0
1
0
0
0
0
0
0
0
0
0
0
0
-64
-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
-9
-2
7
-5
10
13
-59
-127
0
-23
2
0
0
0
0
0
0
5
-134
-85
46
18
41
-104
-22
-23
-58
-4
0
0
0
0
0
0
16
-32
-37
17
-71
-120
87
-33
-24
1
0
0
0
0
0
0
0
36
17
34
-5
62
97
47
-18
1
0
0
0
0
0
0
0
0
-61
35
29
20
44
-27
-24
33
0
-21
9
0
0
0
0
0
0
1
-26
36
53
-47
64
-32
13
-11
3
0
0
0
0
0
0
0
7
5
-3
0
43
-5
74
-18
6
-3
0
0
0
0
0
0
0
1
-6
-9
26
-5
8
87
17
-20
-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
-3
22
-75
8
4
6
41
0
78
0
0
0
0
0
0
0
0
51
-5
-69
-9
-15
35
4
3
18
-43
0
0
0
0
0
0
0
29
-36
-16
-63
18
-57
-7
-53
56
0
0
0
0
0
0
0
0
-33
33
6
20
24
-61
65
-8
-45
0
0
0
0
0
0
0
0
-12
59
-11
35
-15
-25
-5
-33
0
0
0
0
0
0
0
0
0
-63
4
-59
-45
-74
34
20
0
16
0
0
0
0
0
0
0
0
0
72
-6
-58
20
71
7
43
2
0
0
0
0
0
0
0
0
1
0
0
3
-22
9
16
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
-9
0
0
1
0
0
0
-17
-7
0
0
0
0
0
0
0
0
-1
0
6
0
-9
0
19
9
-52
0
0
0
0
0
0
0
0
-1
-2
-2
-49
-13
-43
2
27
-1
0
0
0
0
0
0
0
0
3
0
1
0
-4
2
44
-2
-17
0
0
0
0
0
0
0
0
-9
0
5
25
5
-16
-13
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
5
-2
-17
5
0
0
0
0
0
0
0
0
0
0
-2
-6
-5
-11
60
-29
-43
-1
0
0
0
0
0
0
0
0
-4
-53
-2
10
-30
2
-13
1
1
0
0
0
0
0
0
0
0
0
4
-2
-20
15
47
-10
2
0
0
0
0
0
0
0
0
0
5
-1
0
-13
26
31
16
5
10
0
0
0
0
0
0
0
0
0
3
-7
-5
-35
14
23
-17
1
0
0
0
0
0
0
0
0
-4
-2
2
-6
21
3
29
0
15
0
0
0
0
0
0
0
0
0
-9
0
-19
0
9
1
1
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
4
-10
-11
11
-108
-7
103
9
0
8
0
0
0
0
0
0
0
-24
-5
-2
-46
53
15
43
52
42
-57
0
0
0
0
0
0
0
-35
23
-43
-9
-14
13
-54
-14
4
-36
0
0
0
0
0
0
0
-17
-4
-24
-35
7
41
-35
-63
0
-8
0
0
0
0
0
0
0
91
-14
71
-44
-61
-36
10
-56
67
18
0
0
0
0
0
0
0
-11
0
-5
65
-31
96
58
20
-43
-4
0
0
0
0
0
0
0
24
-2
-9
11
6
-30
-4
-13
-23
4
0
0
0
0
0
0
0
-1
0
5
17
4
34
-9
24
0
-14
0
0
0
0
0
0
0
0
0
0
0
53
0
-10
-5
0
0
0
0
0
0
0
0
0
0
19
17
-5
15
-25
-2
9
0
57
-6
0
0
0
0
0
0
4
-36
-1
55
8
-6
41
16
75
80
-17
0
0
0
0
0
0
0
14
0
-1
60
-33
99
-31
-7
-39
-5
0
0
0
0
0
0
-3
-96
-15
-48
8
21
-33
24
-9
-10
3
0
0
0
0
0
0
-34
-36
-10
19
-9
15
5
-13
45
-14
11
0
0
0
0
0
0
0
-3
0
-45
-13
-24
-16
98
34
27
0
0
0
0
0
0
0
0
24
0
45
51
109
-53
-39
-5
-5
2
0
0
0
0
0
0
0
1
0
-20
-3
0
-13
-8
8
25
0
0
0
0
0
0
0
0
0
0
0
4
0
-21
9
6
0
0
0
0
0
0
0
0
3
-9
-11
-43
-20
75
-6
9
0
66
-3
2
0
0
0
0
0
51
11
43
102
29
34
3
85
71
5
6
0
0
0
0
0
0
3
23
-18
-21
52
-8
42
20
71
8
35
0
0
0
0
0
0
-25
21
10
-11
-62
71
23
11
43
-7
-2
0
0
0
0
0
0
-20
-8
-50
17
7
57
14
-14
17
23
-23
1
0
0
0
0
0
7
1
8
0
18
43
-13
-3
16
-7
8
0
0
0
0
0
0
0
13
-27
1
-1
-41
-31
-58
3
-26
0
0
0
0
0
0
0
0
-3
1
-1
0
24
7
39
-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
-13
21
-11
-7
3
-17
46
0
-15
-11
0
0
0
0
0
0
0
-33
3
9
53
6
-25
12
83
0
1
0
0
0
0
0
0
-3
33
-43
26
4
-29
33
-11
53
51
0
5
0
0
0
0
0
8
50
-45
36
21
-9
-37
63
25
69
0
0
0
0
0
0
0
-2
36
-6
-9
-45
-5
-7
20
-60
35
-1
4
0
0
0
0
0
0
-1
6
-2
0
-36
45
-20
30
4
8
0
0
0
0
0
0
0
0
1
11
-20
33
-53
9
-39
21
7
0
0
0
0
0
0
0
0
8
0
0
54
32
33
-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
13
7
-41
18
33
11
0
-72
1
-4
0
0
0
0
0
0
34
0
-59
6
26
-44
-33
-5
-13
37
0
0
0
0
0
0
0
-19
14
23
15
-53
-45
15
11
-8
21
0
0
0
0
0
0
-1
2
10
4
53
-46
39
33
31
-14
1
0
0
0
0
0
0
25
-19
-7
11
-53
21
-33
18
-23
-20
-7
0
0
0
0
0
0
0
6
-8
0
11
0
33
-69
-14
-25
0
0
0
0
0
0
0
0
2
0
22
-4
14
47
-8
-10
-24
1
0
0
0
0
0
0
0
0
14
0
4
0
-14
-15
-14
11
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
18
-5
-2
-34
0
54
-4
0
0
0
0
0
0
0
22
0
-2
-6
-8
-20
-8
71
-20
-15
0
0
0
0
0
0
0
13
-2
0
13
39
20
-24
-85
15
-26
0
0
0
0
0
0
0
37
0
-23
3
-9
33
-11
16
27
0
1
0
0
0
0
0
0
-3
2
-4
49
-46
-46
-3
119
-6
0
-3
0
0
0
0
0
0
2
0
41
-4
8
0
-55
-14
-3
2
0
0
0
0
0
0
0
0
9
-10
-19
-1
-21
21
-3
-13
1
0
0
0
0
0
0
0
0
0
-1
0
0
-31
36
1
-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
4
0
-2
0
45
-19
1
11
0
-45
1
0
0
0
0
0
0
1
-2
-3
4
3
24
-9
73
-71
-3
-8
0
0
0
0
0
0
0
-5
0
31
0
48
24
39
9
31
8
0
0
0
0
0
0
37
0
10
-14
51
9
21
-40
-8
0
0
0
0
0
0
0
0
-4
7
2
-5
16
13
0
-7
-1
0
-2
0
0
0
0
0
0
0
-1
-10
-17
25
8
-4
0
-18
1
-2
0
0
0
0
0
0
0
9
0
4
-14
15
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
39
-25
-25
2
-18
10
-64
34
0
-36
-1
0
0
0
0
0
0
-1
-2
1
-14
64
-147
24
-10
-53
-46
-15
0
0
0
0
0
0
10
-78
-11
-54
-46
64
-8
97
-2
15
0
0
0
0
0
0
0
62
-51
-27
-82
76
22
23
27
-23
50
0
0
0
0
0
0
0
-6
-29
7
-5
-25
51
-53
-3
-71
-2
0
0
0
0
0
0
0
-44
-45
-35
-35
-89
-23
-106
-4
0
-17
0
0
0
0
0
0
0
-45
-1
-23
1
-5
-27
20
-3
9
0
0
0
0
0
0
0
0
0
-1
-4
-13
6
-15
2
-49
0
0
0
0
0
0
0
0
0
0
2
0
0
-11
0
16
-7
0
0
0
0
0
0
0
0
0
0
18
-14
2
-1
21
5
3
0
51
-11
0
0
0
0
0
0
0
-19
32
14
-93
-33
52
33
29
10
2
0
0
0
0
0
0
0
26
-1
-106
8
65
10
-5
20
-20
-5
0
0
0
0
0
0
0
-33
55
5
-13
71
-34
58
51
2
-1
0
0
0
0
0
0
0
-103
-31
8
-14
1
44
19
-6
-8
0
0
0
0
0
0
0
0
13
-16
-9
-7
17
19
-15
-13
0
-1
0
0
0
0
0
0
0
9
2
4
-46
25
-68
-37
0
0
0
0
0
0
0
0
0
0
14
4
0
-2
-8
5
6
62
0
0
0
0
0
0
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
26
8
6
-34
0
0
0
0
0
0
0
0
0
-1
0
9
-2
-7
-2
-16
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
-10
11
-34
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-1
-1
-9
36
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
46
10
-13
0
1
0
0
0
0
0
0
0
0
-2
0
0
37
-7
-22
35
6
1
0
0
0
0
0
0
0
0
0
0
-4
1
4
16
2
29
4
0
0
0
0
0
0
0
0
-1
4
-8
56
18
-15
-1
20
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
0
10
0
-6
0
0
0
0
0
0
0
0
0
-2
5
-3
1
10
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
-15
-15
14
15
36
32
0
0
0
0
0
0
0
0
0
31
-14
-21
32
9
92
36
94
-35
-58
0
0
0
0
0
0
0
18
1
-3
-53
-15
26
14
63
-33
5
0
0
0
0
0
0
0
43
3
-7
-8
-34
-43
26
14
-76
79
0
0
0
0
0
0
0
-9
-7
65
-24
54
-18
9
1
-36
17
0
0
0
0
0
0
0
7
-2
9
22
58
-101
14
-97
-16
49
0
0
0
0
0
0
0
5
0
2
-2
-17
8
72
-21
-46
11
0
0
0
0
0
0
0
1
0
1
-34
7
75
-44
-6
7
2
0
0
0
0
0
0
0
0
0
0
0
1
0
-15
-8
-4
0
0
0
0
0
0
0
0
0
-2
51
41
37
-20
-41
5
0
-4
5
0
0
0
0
0
0
8
10
-7
-45
-93
73
-45
48
93
34
-3
0
0
0
0
0
0
0
-80
-13
-81
-30
107
50
-38
-42
35
0
0
0
0
0
0
0
-2
-6
0
-22
33
34
-14
-12
-9
-19
8
0
0
0
0
0
0
-39
-12
2
-26
-24
-37
10
53
57
-85
0
0
0
0
0
0
0
-2
33
-15
-11
-90
-16
64
9
-27
11
9
0
0
0
0
0
0
0
0
0
-4
4
16
15
8
33
19
0
0
0
0
0
0
0
0
-5
-1
1
-4
-13
-13
18
76
-34
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
14
0
0
0
0
0
0
0
0
0
0
0
4
-4
46
-11
44
-14
0
43
0
0
0
0
0
0
0
0
36
5
-14
-20
-92
14
7
64
5
-46
0
0
0
0
0
0
31
-34
10
5
-9
-35
18
2
43
25
-50
0
0
0
0
0
0
-4
54
24
-29
7
10
-10
-75
27
19
-22
0
0
0
0
0
0
2
71
-18
-1
5
66
14
-2
-35
32
-43
0
0
0
0
0
0
-5
69
-53
-14
-7
-81
2
-108
-69
40
14
0
0
0
0
0
0
0
2
-4
0
13
10
-21
-20
5
27
0
0
0
0
0
0
0
-3
-10
-17
-1
0
43
-13
17
-18
9
0
0
0
0
0
0
0
0
0
0
0
11
0
5
1
1
0
0
0
0
0
0
0
0
0
0
-17
-9
23
-20
-26
20
0
-69
-2
0
0
0
0
0
0
3
-4
-18
-3
-11
87
14
-78
-33
80
58
0
0
0
0
0
0
0
-18
24
0
-39
-5
-21
-45
80
-8
7
0
0
0
0
0
0
8
25
35
3
-18
2
30
-91
-16
-82
1
0
0
0
0
0
0
0
1
-32
51
-18
9
-51
4
79
-14
2
0
0
0
0
0
0
2
11
24
-9
-18
-11
-22
31
21
-54
20
6
0
0
0
0
0
0
0
-1
0
0
25
88
-6
1
-13
3
0
0
0
0
0
0
0
0
3
-7
0
9
29
-69
-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
-2
0
3
-27
-13
-19
0
-24
2
0
0
0
0
0
0
0
-2
0
-7
-1
3
-22
13
2
-23
25
0
0
0
0
0
0
0
21
0
-5
64
9
-6
21
71
10
0
-3
0
0
0
0
0
-5
0
-1
-4
24
6
-23
-93
-6
-54
-14
0
0
0
0
0
0
0
-10
6
0
15
-7
-30
3
-21
80
0
0
0
0
0
0
0
2
3
62
-18
0
17
10
-21
32
1
6
0
0
0
0
0
0
0
-1
-2
5
3
0
-33
14
-78
7
-2
0
0
0
0
0
0
2
0
0
19
0
29
-1
-7
0
-16
0
0
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
-2
-1
-17
20
0
2
6
0
0
0
0
0
0
0
-7
25
-2
-26
30
-5
74
5
-4
-13
0
0
0
0
0
0
0
-63
3
0
62
-3
-77
-24
-12
-10
0
0
0
0
0
0
0
0
24
0
7
11
-6
-20
13
23
53
-2
0
0
0
0
0
0
0
60
5
-9
51
0
65
-17
-24
24
6
0
0
0
0
0
0
0
46
13
27
-14
-33
-7
52
-19
54
0
-7
0
0
0
0
0
0
0
11
0
0
0
0
51
-2
1
0
0
0
0
0
0
0
0
0
0
0
-17
4
10
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
3
34
0
0
0
0
0
0
0
0
0
0
0
-7
-6
-1
-33
-15
8
0
-6
1
0
0
0
0
0
0
-45
0
-1
0
-33
-5
-98
-7
-118
0
0
0
0
0
0
0
0
8
0
0
-3
-10
-85
43
-28
4
0
0
0
0
0
0
0
0
14
1
21
9
-6
-14
7
-9
5
0
0
0
0
0
0
0
0
0
0
-6
2
3
48
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
1
-50
-2
21
0
0
-1
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
-23
0
0
0
0
0
0
0
0
0
0
6
0
-5
23
20
34
84
-21
0
4
0
0
0
0
0
0
0
0
88
0
1
13
5
-28
-110
-22
-49
1
0
0
0
0
0
0
0
43
18
-33
1
87
-42
-12
43
45
-13
0
0
0
0
0
0
3
-33
55
-29
-42
-32
9
153
19
-37
0
0
0
0
0
0
0
-4
-66
30
45
-4
-61
49
11
-18
-6
0
0
0
0
0
0
0
6
-11
-14
-22
24
61
66
-1
-13
0
0
0
0
0
0
0
0
-1
-49
35
20
-100
-19
4
-61
0
23
0
0
0
0
0
0
0
0
-9
0
7
-32
43
10
2
1
10
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-5
19
7
0
-26
0
0
0
0
0
0
0
0
10
20
2
8
-11
23
46
78
-6
14
0
0
0
0
0
0
0
-24
15
11
-26
-5
33
26
16
-49
0
0
0
0
0
0
0
0
-23
1
-36
-36
0
-5
14
45
25
0
0
0
0
0
0
0
0
14
-10
-9
37
5
139
17
43
-17
0
0
0
0
0
0
0
0
1
2
23
-6
14
-4
5
0
-7
0
0
0
0
0
0
0
0
0
10
1
30
5
-50
26
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-45
-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
-3
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
-15
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
-13
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
10
-3
-4
0
0
0
0
0
0
0
0
0
-1
-1
-1
11
0
27
-9
0
-7
0
0
0
0
0
0
0
0
-7
-2
0
2
-6
4
-7
1
18
0
0
0
0
0
0
0
0
0
0
0
-32
2
5
2
46
0
0
0
0
0
0
0
0
0
-23
-21
2
-8
-10
-9
-7
-1
-6
0
0
0
0
0
0
0
0
0
0
-4
-23
2
1
-1
-5
0
0
0
0
0
0
0
0
0
0
-10
0
7
-18
-9
-25
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
13
0
1
0
0
-9
13
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-15
10
-32
-23
8
2
0
0
0
0
0
0
0
-119
0
3
1
5
-43
-10
5
43
0
0
0
0
0
0
0
0
-37
-5
18
-59
-5
61
2
59
-9
1
0
0
0
0
0
0
0
-16
3
22
-39
47
-18
106
8
-44
-7
0
0
0
0
0
0
0
55
0
-71
-44
27
-21
25
-41
-3
0
0
0
0
0
0
0
0
35
0
5
-6
-60
14
1
6
31
-1
0
0
0
0
0
0
0
0
0
0
5
-4
-31
-2
-35
4
0
0
0
0
0
0
0
0
6
0
0
0
26
2
-3
1
36
0
0
0
0
0
0
0
0
0
0
6
9
17
-1
39
5
0
-8
0
0
0
0
0
0
0
0
15
-2
-3
14
47
-43
14
-5
-43
0
0
0
0
0
0
0
-6
29
7
0
16
-13
-23
-8
43
-9
0
0
0
0
0
0
0
-11
11
-2
53
-11
63
-1
-16
17
30
0
0
0
0
0
0
0
4
-17
0
30
9
6
17
17
-14
-20
-10
0
0
0
0
0
0
3
-22
1
-61
54
42
15
38
31
26
0
0
0
0
0
0
0
-46
10
0
-25
-4
-11
-15
6
47
3
0
0
0
0
0
0
0
0
1
0
4
0
-5
-41
-4
-1
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
-21
14
9
0
4
0
0
0
0
0
0
0
0
0
-9
-2
14
-4
-21
-29
-6
-2
-1
0
0
0
0
0
0
0
0
0
0
-37
-3
-25
-26
-4
-23
-10
0
0
0
0
0
0
-29
-7
45
2
-14
62
-6
43
69
14
2
0
0
0
0
0
0
16
14
-3
-3
-3
84
6
-41
-13
9
19
0
0
0
0
0
0
-13
-20
4
-8
18
11
-2
32
-9
27
10
0
0
0
0
0
0
1
-2
-43
0
-41
2
4
-18
14
-2
0
0
0
0
0
0
0
0
-1
0
0
-6
27
3
47
-3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
10
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-4
13
0
0
-8
0
0
0
0
0
0
0
0
0
-2
0
4
-21
-2
0
0
0
0
0
0
0
0
0
5
1
0
2
-16
7
-33
8
46
1
0
0
0
0
0
0
0
0
14
-3
0
-11
5
19
-2
26
4
0
0
0
0
0
0
0
0
31
0
11
17
0
-28
-15
20
9
-1
0
0
0
0
0
0
0
-7
23
3
-13
-26
34
-8
-3
-5
0
8
0
0
0
0
0
0
-1
0
-4
0
25
11
3
1
21
0
1
0
0
0
0
0
0
0
0
-5
0
10
25
16
-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
-10
52
5
1
1
3
-6
0
0
0
0
0
0
0
0
0
0
26
0
-27
1
20
0
0
0
0
0
0
0
0
-13
0
0
-6
1
52
-1
17
4
-1
-2
0
0
0
0
0
0
0
-14
0
0
-29
-3
-19
-7
-2
0
-4
0
0
0
0
0
0
0
-1
3
-8
-16
-21
14
5
7
-2
0
0
0
0
0
0
0
36
1
0
26
-27
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
-14
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
-24
-25
-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
-10
0
0
3
-21
11
-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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
37
-2
3
0
0
0
0
0
0
0
0
0
-7
0
8
0
-18
-6
1
0
-13
0
0
0
0
0
0
0
0
0
8
0
-1
0
-5
-4
14
1
3
0
0
0
0
0
0
0
-4
0
-14
0
-6
-3
13
0
0
0
0
0
0
0
0
0
0
1
0
21
5
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-33
2
0
0
0
0
0
0
0
0
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
-6
0
10
0
0
0
0
0
0
0
0
0
0
0
-17
0
27
7
-55
0
-25
-4
0
0
0
0
0
0
0
0
2
-5
0
0
1
2
49
-33
-30
-4
0
0
0
0
0
0
0
-1
0
0
50
8
-23
34
-51
13
-18
0
0
0
0
0
0
0
0
-50
3
-16
41
8
-8
-7
-10
10
0
0
0
0
0
0
0
0
8
-4
-8
4
33
-2
10
-5
5
0
0
0
0
0
0
0
0
-7
0
-35
-1
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
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
-15
9
0
3
0
1
-39
0
-21
0
0
0
0
0
0
0
0
-5
0
0
0
0
25
-35
61
1
24
0
0
0
0
0
0
0
-34
3
-4
33
17
-26
33
-27
-4
0
0
0
0
0
0
0
0
-6
0
-36
13
-10
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
-21
0
-1
0
0
0
0
0
0
0
0
11
0
0
11
0
-5
0
20
0
0
0
0
0
0
0
0
0
-6
0
3
3
53
1
15
0
-11
0
0
0
0
0
0
0
0
-4
0
29
-11
0
-50
0
-4
0
0
0
0
0
0
0
0
0
-4
0
0
0
-55
0
15
0
0
0
0
0
0
0
0
0
0
4
0
0
7
-1
-20
0
13
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
33
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
4
3
-2
0
0
0
0
0
0
0
0
0
0
1
43
-27
-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
23
0
-2
2
-9
-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
-15
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
-11
-6
0
0
0
0
0
0
0
0
0
0
7
0
-3
13
43
22
8
0
2
0
0
0
0
0
0
0
0
48
46
0
55
49
-4
-19
-9
15
0
0
0
0
0
0
0
0
8
-1
-54
1
39
-13
0
0
5
0
0
0
0
0
0
0
0
0
43
2
21
0
-7
9
0
8
0
0
0
0
0
0
0
0
-6
-7
2
-9
0
2
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
-11
0
-23
8
1
-8
-9
0
0
0
0
0
0
0
0
0
0
0
-47
0
9
-10
-5
12
0
1
0
0
0
0
0
0
0
0
0
1
-90
1
-32
-41
8
-24
-23
7
0
0
0
0
0
0
0
-1
22
37
107
6
-48
-25
-17
46
71
0
0
0
0
0
0
0
-4
4
-33
-9
50
-15
55
9
46
43
0
0
0
0
0
0
0
0
48
6
10
-8
-17
0
-4
0
3
0
0
0
0
0
0
0
0
0
-2
4
21
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
-37
8
3
0
-3
0
0
0
0
0
0
0
0
0
-15
0
76
58
30
0
0
0
-21
0
0
0
0
0
0
0
-3
-74
-10
3
4
-25
-33
-19
23
30
0
0
0
0
0
0
0
25
31
15
0
-100
-33
91
10
5
-13
0
0
0
0
0
0
1
-15
10
23
-58
-35
-52
19
5
-76
0
0
0
0
0
0
0
0
16
24
-16
-8
19
23
0
0
36
0
0
0
0
0
0
0
0
4
1
-4
25
-1
-1
0
4
0
0
0
0
0
0
0
0
0
0
5
-32
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
15
0
-9
0
0
0
0
0
-7
0
0
0
0
0
0
-5
1
-2
-26
-4
46
10
0
-3
0
4
0
0
0
0
0
0
-3
0
39
-35
56
0
11
8
-37
-5
32
6
0
0
0
0
0
0
-7
32
28
33
19
6
5
1
24
-16
-2
0
0
0
0
0
-1
-32
14
-17
5
108
36
-2
4
0
0
0
0
0
0
0
0
0
-27
46
2
-26
1
-2
16
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
27
-35
0
2
-1
0
0
0
0
0
0
0
0
0
0
4
18
-14
-2
21
-2
-21
0
-1
0
0
2
0
0
0
0
0
13
-51
-19
21
7
21
2
2
-21
-20
3
5
0
0
0
0
0
4
-5
3
-7
44
-13
14
-5
-34
-2
-1
2
0
0
0
0
0
-3
4
25
0
-1
4
-21
5
0
10
0
0
0
0
0
0
0
0
-5
16
26
24
1
-2
1
0
-11
-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
11
9
63
3
24
0
5
0
0
0
0
0
0
0
0
0
0
1
24
51
45
3
-25
4
0
5
0
-1
0
0
0
0
0
0
23
44
-26
46
22
-33
-77
-49
15
-34
-2
1
0
0
0
0
0
-18
-6
-53
-25
30
-14
61
-3
-12
2
0
0
1
0
0
0
0
15
20
-1
16
50
15
-2
15
-8
-25
0
0
0
0
0
0
0
0
-5
-79
34
35
-10
-6
-29
3
0
0
0
0
0
0
0
0
0
0
2
43
-7
-7
0
0
10
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
23
14
27
5
37
0
1
0
4
0
0
0
0
0
0
0
4
22
25
-9
-19
33
-32
0
3
0
0
0
0
0
0
0
0
1
-37
21
-3
-8
-36
-39
19
-31
13
-4
0
0
0
0
0
0
9
34
1
8
3
-45
16
-73
-22
8
1
0
-1
0
0
0
0
14
15
15
-55
-30
-6
-11
20
9
-6
0
0
0
0
0
0
0
0
-46
-14
-10
-80
63
43
11
3
26
0
0
0
0
0
0
0
0
0
-2
18
-15
-1
4
0
-23
-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
-16
35
13
33
-25
-10
0
0
0
4
0
0
0
0
0
0
10
4
-2
1
80
-26
79
0
-8
0
4
0
0
0
0
0
0
45
-9
-46
-74
-71
-85
-21
15
85
0
21
0
0
0
0
0
0
-8
-128
-50
-29
12
-44
-12
46
-71
0
-1
0
0
0
0
0
0
-2
-25
5
14
26
-14
56
1
-35
35
-1
0
0
0
0
0
0
-4
-71
9
-9
9
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-25
-1
13
4
-6
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
2
-2
0
0
0
-1
0
0
0
0
0
0
0
19
-47
32
-77
51
33
0
-6
0
-22
0
0
0
0
0
0
0
26
33
-21
-18
5
-35
-4
25
-2
-6
-2
0
0
0
0
0
0
-14
-9
19
-44
-5
-75
-69
-19
-1
71
0
0
0
0
0
0
0
1
11
32
23
-17
52
27
-8
3
-9
0
0
0
0
0
0
0
4
39
-7
41
34
45
-46
-25
19
1
0
0
0
0
0
0
0
-14
6
18
-8
8
20
9
-45
0
0
0
0
0
0
0
0
0
0
1
-80
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
15
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
10
0
-26
0
-6
0
4
5
0
0
0
0
0
0
0
-1
58
0
-71
10
-18
-2
-11
-4
1
0
0
0
0
0
0
0
0
1
-11
22
46
-5
1
-26
8
-2
0
0
0
0
0
0
0
4
-13
-2
-22
5
24
-3
26
3
-1
0
0
0
0
0
0
0
2
10
29
39
-5
-1
-25
3
0
0
0
0
0
0
0
0
0
0
0
39
-51
2
10
0
-1
0
0
0
0
0
0
0
0
0
0
-6
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
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
24
-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
17
-7
4
-1
0
1
0
0
0
0
0
0
0
0
0
6
61
22
-33
22
-49
78
0
-3
0
0
0
0
0
0
0
0
15
7
59
2
-26
-62
44
9
-19
0
0
0
0
0
0
0
0
-23
75
-47
-67
-78
33
4
-8
19
0
0
0
0
0
0
0
0
4
14
-110
-4
15
-1
-3
1
7
0
0
0
0
0
0
0
0
0
77
-2
45
-3
18
-2
-6
2
0
0
0
0
0
0
0
0
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
55
-1
-15
14
47
23
0
0
-4
0
0
0
0
0
0
0
-3
-34
15
-61
-18
-2
-19
0
-19
0
0
0
0
0
0
0
0
17
-5
-49
31
-23
-3
23
39
-68
-55
0
0
0
0
0
0
0
-6
9
101
4
90
-20
33
-64
-54
-11
0
0
0
0
0
0
0
9
2
-48
48
11
-3
30
-52
76
38
0
0
0
0
0
0
0
0
29
43
60
-39
-35
29
8
5
2
0
0
0
0
0
0
0
0
0
11
30
4
24
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
-56
-2
0
-22
-8
-8
0
-1
1
0
0
0
0
0
0
0
87
-9
-6
-11
75
55
0
-4
0
6
0
0
0
0
0
0
0
-32
-22
29
-34
71
22
-33
-54
-79
40
0
0
0
0
0
0
0
3
-74
8
-48
-65
-60
30
-26
-7
17
0
0
0
0
0
0
0
60
13
42
-64
-21
17
2
69
34
7
0
0
0
0
0
0
0
36
-36
-6
28
6
19
71
9
-10
5
0
0
0
0
0
0
0
1
44
-7
18
3
29
5
25
-4
-2
0
0
0
0
0
0
0
0
-3
18
1
-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
-4
-33
5
43
-26
0
0
0
3
0
0
0
0
0
0
8
-31
10
-53
-19
49
-27
0
0
0
33
0
0
0
0
0
0
-10
-64
-43
-5
109
-36
-52
-2
65
-2
-7
5
0
0
0
0
0
5
-33
-6
-35
26
6
3
-30
99
-8
-2
-2
0
0
0
0
0
9
2
26
45
-10
24
5
36
-1
-13
14
0
0
0
0
0
0
0
1
39
27
31
74
-36
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
-52
-17
-31
-15
1
23
-5
0
2
-5
1
0
0
0
0
0
26
31
10
14
33
34
13
0
5
0
-5
30
0
0
0
0
0
45
-74
-25
25
43
-5
56
-57
-45
-6
-2
-1
3
0
0
0
0
-32
10
25
7
-3
55
-96
-26
-43
41
0
-7
0
0
0
0
0
-24
19
64
45
54
54
41
60
-7
35
1
-3
0
0
0
0
0
0
64
-75
6
90
-10
-4
-19
1
-5
0
3
0
0
0
0
0
0
32
52
-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
-41
-25
23
6
-51
-3
2
9
0
0
0
0
0
0
0
0
0
-21
65
-7
4
-5
-8
50
0
49
0
0
0
0
0
0
0
0
8
-22
46
-6
44
-71
-61
-19
33
93
22
0
0
0
0
0
0
11
34
48
-99
82
-20
-1
77
52
14
-5
0
0
0
0
0
0
-15
46
-19
-2
76
43
-7
-15
32
-5
0
0
0
0
0
0
0
0
1
-15
-22
-10
48
-37
-21
9
0
0
0
0
0
0
0
0
-3
11
22
78
45
9
9
8
-3
0
0
0
0
0
0
0
0
0
24
1
5
0
-4
0
0
0
0
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
26
13
-33
-52
59
-2
0
0
7
0
0
0
0
0
0
0
14
-32
-8
19
48
13
23
0
4
0
26
-1
0
0
0
0
0
2
37
100
-12
45
-32
44
-18
-23
-54
34
10
0
0
0
0
0
-1
15
-44
-29
8
-4
54
34
2
53
6
0
-1
0
0
0
0
11
-87
72
7
60
-4
1
-19
-53
-14
8
0
0
0
0
0
0
0
39
22
-7
30
-15
-55
53
-3
-25
0
0
0
0
0
0
0
1
1
-53
89
1
-26
-31
47
31
21
-3
0
0
0
0
0
0
0
0
2
73
14
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
37
46
18
132
62
36
26
8
0
-1
0
0
0
0
0
0
0
74
26
10
-21
38
-24
-80
0
-43
0
15
0
0
0
0
0
0
-26
124
-62
57
25
111
-23
-15
62
0
23
0
0
0
0
0
0
5
18
-23
94
35
-29
1
18
-3
-73
-1
-5
0
0
0
0
0
-14
-17
-34
28
-32
18
38
14
-19
-57
7
1
0
0
0
0
0
3
53
-53
-42
-53
30
15
17
-21
5
-2
0
0
0
0
0
0
-2
15
6
43
25
5
17
-6
47
0
0
0
0
0
0
0
0
0
-2
0
-25
-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
6
43
-9
99
50
-46
-15
-1
0
0
-4
0
0
0
0
0
0
-6
-60
-29
-90
-52
-37
-36
0
0
0
-18
0
0
0
0
0
0
7
30
-21
-79
-131
21
69
76
35
-10
-43
3
0
0
0
0
0
-13
59
-90
23
-8
-71
-63
-31
23
-34
-21
2
0
0
0
0
0
1
20
4
-53
80
109
31
-27
-10
100
-32
0
0
0
0
0
0
0
53
2
16
-4
47
27
0
21
-78
0
0
0
0
0
0
0
5
-5
-4
4
23
-19
-34
2
-35
2
0
0
0
0
0
0
0
0
0
13
26
-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
-94
43
-39
29
-19
59
-25
0
0
5
1
0
0
0
0
0
0
-15
68
-3
-23
33
-5
0
-51
0
43
0
0
0
0
0
0
0
43
13
39
-14
-90
-5
-2
33
-15
-44
3
0
0
0
0
0
0
23
26
61
-73
-31
45
71
-66
-90
-53
0
0
0
0
0
0
0
5
-14
22
22
92
-60
95
17
-19
17
0
0
0
0
0
0
0
5
20
18
21
-80
0
48
-17
-1
4
0
0
0
0
0
0
0
-7
60
-38
-23
-56
-52
31
9
-1
2
0
0
0
0
0
0
0
0
8
-46
-1
-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
-3
47
45
-33
3
5
0
0
0
-1
0
0
0
0
0
0
0
-18
-25
-36
5
41
0
-2
0
-5
-2
0
0
0
0
0
0
0
26
18
3
26
-112
15
-68
4
6
-6
0
0
0
0
0
0
0
4
-2
-59
48
18
-6
-80
-102
-10
13
0
0
0
0
0
0
0
-17
30
8
-4
41
14
-34
-4
5
7
0
0
0
0
0
0
0
-6
26
14
41
6
-5
0
2
0
0
0
0
0
0
0
0
0
0
17
-31
2
22
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-10
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
25
0
0
-7
0
0
0
0
0
0
0
0
0
0
-7
-5
9
0
1
0
2
0
0
0
0
0
0
0
0
0
0
-1
-5
3
4
-6
-18
-20
-3
6
0
0
0
0
0
0
0
2
23
-5
-9
0
-10
0
-21
3
1
0
0
0
0
0
0
0
0
1
-3
-19
-14
-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
-15
-4
2
0
0
0
0
0
0
0
0
0
0
0
52
-5
59
44
-32
29
-20
0
-22
0
0
0
0
0
0
0
0
0
8
-9
-24
29
-45
3
-33
81
0
0
0
0
0
0
0
0
14
45
8
-8
48
-53
-20
-13
-21
0
0
0
0
0
0
0
0
15
43
3
33
30
-66
0
0
2
0
0
0
0
0
0
0
0
0
11
37
2
-14
8
8
0
-1
0
0
0
0
0
0
0
0
0
0
-18
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
6
-16
56
2
0
-6
0
0
0
0
0
0
0
0
-26
23
-17
-19
-1
21
0
3
0
0
0
0
0
0
0
0
-8
-10
-57
49
9
109
19
1
-100
-4
0
0
0
0
0
0
0
-45
-3
44
-108
-18
73
-77
-47
32
56
0
0
0
0
0
0
0
2
-50
-54
-96
-9
-28
60
14
-24
71
0
0
0
0
0
0
0
0
17
92
-15
46
-119
5
18
-5
3
0
0
0
0
0
0
0
0
0
40
0
-15
4
8
1
1
-5
0
0
0
0
0
0
0
0
-2
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
57
55
2
89
-31
4
0
8
5
0
0
0
0
0
0
0
10
13
5
44
-14
-57
0
-7
0
-17
0
0
0
0
0
0
0
30
-1
-57
110
26
-43
-93
-10
-16
-42
0
0
0
0
0
0
0
3
69
20
53
-25
-11
-46
-5
-61
-9
0
0
0
0
0
0
0
2
24
-56
-65
-33
-1
-10
14
11
0
0
0
0
0
0
0
0
16
73
-46
-25
-85
59
11
0
-5
0
0
0
0
0
0
0
0
0
26
11
2
-14
0
0
-10
0
0
0
0
0
0
0
0
0
0
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
25
1
6
49
79
-4
24
1
0
-1
14
-1
0
0
0
0
0
0
-7
18
92
-35
56
-31
0
3
0
5
-1
0
0
0
0
0
-26
44
17
10
18
25
-31
-8
-45
-36
-11
1
0
0
0
0
0
-11
16
19
-27
32
10
70
43
14
-2
5
1
0
0
0
0
0
17
-36
17
10
39
-14
28
-14
6
0
1
0
0
0
0
0
0
0
27
-19
8
7
10
-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
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
7
32
-36
22
40
44
-18
5
0
-1
0
1
0
0
0
0
0
-14
64
83
-53
37
-51
-17
0
21
0
5
0
0
0
0
0
0
25
64
55
31
89
66
25
-14
1
4
8
-2
0
0
0
0
0
76
-43
-30
19
58
20
14
14
-68
1
0
-9
0
0
0
0
0
2
-45
-7
-34
4
12
18
-77
-35
6
0
0
0
0
0
0
0
0
-45
-74
-45
3
9
-31
5
-2
3
5
0
0
0
0
0
0
0
1
-58
21
1
-15
-19
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
75
-4
65
20
-5
-10
-45
0
0
0
5
0
0
0
0
0
0
41
-6
33
34
24
8
31
0
-7
0
5
1
0
0
0
0
0
54
-60
76
-33
-8
-51
-14
-58
29
78
29
-2
-1
0
0
0
0
-53
-33
-36
-20
-8
-4
2
59
-71
4
0
1
0
0
0
0
0
36
-10
-21
15
17
9
58
-4
13
10
0
-7
0
0
0
0
0
0
-45
-17
-19
39
14
-47
7
-7
-7
-4
0
0
0
0
0
0
-13
5
68
-1
43
6
-54
6
-17
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
19
17
43
-9
9
36
0
0
-13
-4
0
0
0
0
0
0
-5
-60
39
15
24
21
-54
0
-8
0
0
-2
0
0
0
0
0
-5
65
-9
56
57
-18
27
-5
44
35
0
11
0
0
0
0
0
-11
10
61
2
39
-60
46
1
-45
-7
1
0
0
0
0
0
0
-24
-20
2
-26
-121
28
32
-49
-61
-14
3
0
0
0
0
0
0
0
53
55
-1
68
46
31
5
16
-4
5
0
0
0
0
0
0
0
-20
-22
52
-14
26
10
-2
11
-24
0
0
0
0
0
0
0
0
0
13
17
-10
0
-11
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
-14
43
41
-39
-29
42
-13
0
0
0
22
0
0
0
0
0
0
1
78
14
-48
-26
-2
36
0
-18
0
1
0
0
0
0
0
0
2
-35
17
32
51
6
-6
21
10
37
-20
0
0
0
0
0
0
-99
28
-4
20
31
-29
-5
33
14
-36
-6
0
0
0
0
0
0
-14
-1
23
-77
-27
-43
29
22
-31
-10
1
0
0
0
0
0
0
13
49
-18
-63
71
-27
22
11
-15
7
0
0
0
0
0
0
0
-31
36
-34
3
71
-8
72
1
44
-14
0
0
0
0
0
0
0
0
16
-3
30
-2
32
-1
0
-1
0
0
0
0
0
0
0
0
0
18
6
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-20
60
79
38
-53
-110
89
24
0
69
0
-4
0
0
0
0
0
53
19
-5
8
-26
-38
13
0
-32
0
-3
0
0
0
0
0
0
37
15
27
-19
-24
-84
-35
28
5
13
-33
-5
0
0
0
0
0
-27
-11
35
-11
-53
18
12
21
-5
-13
1
0
0
0
0
0
0
61
33
-2
10
-5
159
-84
21
77
-11
-1
0
0
0
0
0
0
2
-80
9
-46
-28
-36
-1
67
22
-43
2
0
0
0
0
0
0
1
-7
2
44
-72
36
-13
-28
23
18
0
0
0
0
0
0
0
0
-103
21
-5
89
-20
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
6
-9
8
-18
32
-45
15
0
1
42
0
0
0
0
0
0
0
90
-26
-48
33
-32
-36
0
22
0
-113
-8
0
0
0
0
0
0
39
-13
43
59
-59
113
-117
14
-108
9
-1
0
0
0
0
0
0
-76
12
61
-89
40
76
-73
-72
-62
-3
-1
0
0
0
0
0
0
95
-59
9
18
27
14
51
-18
36
6
0
0
0
0
0
0
0
-14
-69
6
-80
-65
82
68
-32
-14
-24
0
0
0
0
0
0
0
46
-113
5
21
-16
-5
-9
0
-6
0
0
0
0
0
0
0
0
0
-6
31
8
9
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
14
15
-78
-10
0
-2
0
2
0
4
0
0
0
0
0
0
0
2
42
45
-4
-18
0
2
0
4
-35
0
0
0
0
0
0
0
34
-33
-14
13
27
24
-2
-21
0
-14
0
0
0
0
0
0
0
-5
32
-3
-23
119
-22
1
-55
-2
-5
0
0
0
0
0
0
0
-6
22
21
13
26
-24
-1
-16
0
-13
0
0
0
0
0
0
0
3
65
25
2
19
-39
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
-10
10
0
0
8
0
0
0
0
0
0
0
0
0
0
43
-4
34
0
2
0
-27
0
0
0
0
0
0
0
0
0
0
8
9
0
5
10
-11
0
-1
0
0
0
0
0
0
0
0
0
7
-2
-6
44
6
-3
-1
0
-1
0
0
0
0
0
0
0
0
8
5
2
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
-20
46
0
24
-1
0
0
0
0
0
0
0
0
0
0
0
24
55
-3
42
2
-4
-1
0
2
0
0
0
0
0
0
0
0
-21
0
9
-23
59
-41
14
3
-32
0
0
0
0
0
0
0
0
0
27
-10
42
31
-36
1
-2
47
0
0
0
0
0
0
0
0
4
-1
-52
-18
50
20
-1
0
37
0
0
0
0
0
0
0
0
-2
-6
5
2
25
8
1
0
1
0
0
0
0
0
0
0
0
0
0
27
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
7
0
-14
0
0
0
0
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
0
18
49
-79
2
0
0
0
0
0
0
0
0
0
-4
48
23
-57
-18
-62
-17
0
3
0
0
0
0
0
0
0
0
-1
-21
-29
13
-46
-39
-36
2
58
-81
0
0
0
0
0
0
0
0
-7
-51
67
10
-29
0
-28
-45
38
0
0
0
0
0
0
0
0
-45
27
-31
-102
2
1
43
-9
69
0
0
0
0
0
0
0
0
-62
-45
13
-21
-70
-5
-25
9
48
0
0
0
0
0
0
0
0
3
9
72
-16
35
10
7
4
4
0
0
0
0
0
0
0
0
0
4
2
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
15
5
57
17
1
1
0
-2
0
0
0
0
0
0
0
0
74
-53
53
-54
20
-62
0
0
0
3
0
0
0
0
0
0
0
15
21
13
22
8
-18
-44
-73
-15
2
0
0
0
0
0
0
0
16
-9
-42
-10
-24
-11
6
-43
-40
1
0
0
0
0
0
0
0
0
7
3
-21
-19
41
7
20
-3
2
0
0
0
0
0
0
0
-1
-6
47
-47
-107
11
3
-1
11
-1
0
0
0
0
0
0
0
7
-32
0
71
-1
1
0
0
-6
0
0
0
0
0
0
0
0
0
4
-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
-29
60
-33
-17
6
3
0
0
0
0
0
0
0
0
0
0
8
-15
-14
16
-4
-43
-15
0
4
0
-14
-7
0
0
0
0
0
39
34
-55
106
43
-29
34
7
-54
14
-25
1
0
0
0
0
0
-27
39
73
21
-43
49
42
-6
33
-16
0
1
0
0
0
0
0
-4
9
2
10
65
-31
91
46
-21
2
-2
0
0
0
0
0
0
0
13
53
-29
35
-3
43
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
-11
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
-17
57
-7
-14
53
5
-3
0
0
0
0
0
0
0
0
0
-27
91
27
23
-58
20
-71
0
18
0
0
0
0
0
0
0
0
-9
-49
-12
-45
-30
86
-61
-30
7
6
-2
-8
0
0
0
0
0
17
14
32
-64
35
-39
-29
-76
25
-14
0
-2
0
0
0
0
0
14
-58
-5
-34
14
5
42
5
-3
25
0
-1
0
0
0
0
0
2
49
-13
-47
-23
-7
0
43
46
23
0
0
0
0
0
0
0
2
0
11
3
-64
0
22
-1
-1
-6
0
0
0
0
0
0
0
0
0
1
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
33
65
-15
-63
-105
50
5
-6
0
-2
0
0
0
0
0
0
0
-17
-59
24
27
42
25
-32
0
21
0
-8
-4
0
0
0
0
0
16
-17
82
-27
44
-42
6
-24
26
-24
-2
0
0
0
0
0
0
43
6
99
-11
81
4
52
-8
-3
3
-1
0
0
0
0
0
0
60
15
23
100
-95
17
-33
-33
-8
48
0
0
0
0
0
0
0
0
-5
-6
17
-40
51
48
-17
-46
-25
0
0
0
0
0
0
0
2
0
50
20
-24
-1
10
7
-2
0
0
0
0
0
0
0
0
0
1
-27
43
-8
10
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
6
27
43
23
-6
14
13
0
-4
1
0
0
0
0
0
0
-4
33
21
22
-18
-62
-3
0
-53
0
-20
0
0
0
0
0
0
19
49
-45
83
-47
4
-47
128
-54
34
8
8
0
0
0
0
0
3
53
-20
-28
24
25
-31
16
-25
43
0
0
0
0
0
0
0
18
43
-23
-15
33
-15
18
66
-27
25
0
0
0
0
0
0
0
4
-69
-21
63
7
49
-10
-27
48
-21
0
0
0
0
0
0
0
0
0
16
-7
-21
-33
3
-21
-14
-2
0
0
0
0
0
0
0
0
-5
2
-32
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
80
47
174
51
-85
58
41
13
0
-1
6
0
0
0
0
0
0
-5
128
24
-7
49
-27
26
0
72
0
-16
0
0
0
0
0
0
45
-17
53
-1
-40
-12
-14
71
90
67
33
-6
0
0
0
0
0
21
74
-16
76
65
29
28
-76
19
3
0
0
0
0
0
0
0
33
22
37
14
-21
66
23
-11
69
53
3
0
0
0
0
0
0
-5
53
15
-15
7
-44
-47
-4
-80
-4
0
0
0
0
0
0
0
10
35
2
-5
-6
14
-4
7
-20
-13
0
0
0
0
0
0
0
0
-7
0
29
54
-37
-4
-1
-25
-5
0
0
0
0
0
0
0
0
-15
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
33
45
59
-100
44
-9
11
24
0
-2
0
0
0
0
0
0
0
31
-98
16
95
-10
-34
0
0
-5
0
-16
0
0
0
0
0
0
-8
16
-6
63
-46
-38
-157
-8
-106
29
19
-4
0
0
0
0
0
17
-10
40
-97
136
-19
32
71
-66
-26
-1
0
0
0
0
0
0
23
-31
-91
-31
-29
14
30
73
14
43
7
0
0
0
0
0
0
-1
-66
-3
-21
65
-13
-66
28
9
-44
0
0
0
0
0
0
0
-9
8
-43
-53
41
-1
5
25
-13
53
0
0
0
0
0
0
0
0
-26
2
-5
-31
37
25
4
0
-5
0
0
0
0
0
0
0
0
0
-7
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-50
-9
-4
29
5
49
0
-5
17
0
0
0
0
0
0
0
10
75
53
27
83
-12
0
19
0
104
0
0
0
0
0
0
0
-41
32
16
-39
-84
-18
14
-33
44
5
-5
0
0
0
0
0
0
-1
39
-42
-46
-12
-57
8
25
-6
20
0
0
0
0
0
0
0
63
75
26
-5
-39
-7
11
9
11
2
0
0
0
0
0
0
0
-5
-26
-46
-12
-10
68
-9
72
-8
-27
0
0
0
0
0
0
0
0
43
-42
-18
-6
-51
7
20
11
0
0
0
0
0
0
0
0
0
-52
24
45
14
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
16
43
-10
32
0
4
1
2
0
0
0
0
0
0
0
46
35
14
51
-7
0
0
0
13
-17
0
0
0
0
0
0
0
-14
-1
52
-5
-68
-33
-30
30
-4
-11
0
0
0
0
0
0
0
3
21
15
23
41
22
-3
10
0
-7
0
0
0
0
0
0
0
5
-10
-2
17
81
51
-9
23
1
-1
0
0
0
0
0
0
0
-7
-9
-5
-66
-6
5
1
2
4
0
0
0
0
0
0
0
0
0
10
-9
-34
-3
4
0
1
0
0
0
0
0
0
0
0
0
0
4
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
-6
-3
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
3
33
0
-3
0
0
3
-5
0
0
0
0
0
0
0
0
33
14
-15
-19
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
-45
-2
-14
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
16
-2
57
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
17
-8
-73
-17
6
-17
0
0
0
0
0
0
0
0
0
0
-13
5
-21
-5
43
-18
-1
-4
0
0
0
0
0
0
0
0
0
24
-3
25
43
-45
-21
2
0
-17
0
0
0
0
0
0
0
0
0
16
15
-45
-13
-4
2
1
-2
0
0
0
0
0
0
0
0
-1
0
-43
-3
2
31
-2
0
0
0
0
0
0
0
0
0
0
0
2
3
18
9
-14
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
-22
-53
16
-18
26
27
-1
0
26
0
0
0
0
0
0
0
-2
132
48
10
21
-40
-43
0
4
0
0
0
0
0
0
0
0
1
-53
-68
13
-27
31
33
13
36
62
0
0
0
0
0
0
0
1
3
-1
-57
-79
3
-44
57
34
-39
0
0
0
0
0
0
0
1
0
37
-36
-62
28
24
32
-33
32
0
0
0
0
0
0
0
0
-13
32
44
-14
-45
-21
21
-22
8
0
0
0
0
0
0
0
0
-3
-31
-39
33
-44
7
9
14
-9
0
0
0
0
0
0
0
0
1
0
90
7
68
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
43
7
66
-10
44
0
0
0
0
0
0
0
0
0
0
0
0
33
13
47
70
29
-7
0
-1
0
-8
0
0
0
0
0
0
0
15
17
6
3
13
-50
9
46
84
34
0
0
0
0
0
0
0
-2
41
-20
-18
-26
-45
-58
-3
5
0
0
0
0
0
0
0
0
16
0
-8
-36
-19
4
74
4
-2
-2
0
0
0
0
0
0
0
0
-39
6
-23
20
29
0
-13
25
2
0
0
0
0
0
0
0
0
-11
29
-1
31
-1
17
10
-7
0
0
0
0
0
0
0
0
6
1
18
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
46
10
-18
7
92
52
3
0
0
0
-2
0
0
0
0
0
0
-39
17
26
-77
-77
-6
-7
0
0
0
-14
0
0
0
0
0
0
19
-3
47
58
-10
-58
7
-8
-22
-6
16
-2
0
0
0
0
0
0
-45
16
14
-15
-12
5
-31
-107
-7
0
0
0
0
0
0
0
0
89
51
0
41
43
-15
-11
13
0
0
0
0
0
0
0
0
0
102
-1
-6
4
1
1
37
4
0
0
0
0
0
0
0
0
-1
0
-13
0
-13
0
-7
0
0
0
0
0
0
0
0
0
0
0
21
0
0
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
-8
63
-30
-19
-14
-39
-16
-2
0
0
-1
0
0
0
0
0
0
6
34
43
43
51
8
11
0
5
0
5
-1
0
0
0
0
0
-8
-5
-6
72
14
18
-43
25
11
-6
0
-3
0
0
0
0
0
24
-1
63
-25
70
75
-33
6
36
29
0
0
0
0
0
0
0
24
-4
10
20
0
-10
-5
-46
16
-33
0
0
0
0
0
0
0
-2
-33
-78
-145
-8
-20
-33
17
8
23
0
0
0
0
0
0
0
6
3
-19
35
8
-17
-6
-5
7
2
0
0
0
0
0
0
0
0
0
0
39
5
13
0
0
0
-1
0
0
0
0
0
0
0
0
2
9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
36
45
-26
0
-46
-43
72
0
0
0
0
0
0
0
0
0
0
10
-14
33
-41
82
27
-68
0
-64
0
-4
0
0
0
0
0
0
45
26
-2
0
21
-73
-26
-3
-2
-38
5
0
0
0
0
0
0
1
27
-20
-5
-23
-69
91
80
60
-10
0
0
0
0
0
0
0
-31
-13
-9
-17
29
0
78
-8
11
0
2
0
0
0
0
0
0
-3
8
23
22
-89
7
-14
-32
10
-2
0
0
0
0
0
0
0
0
-4
-66
-17
-33
24
-7
-3
5
0
0
0
0
0
0
0
0
0
-80
0
-33
1
-15
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
-74
14
39
-22
16
-14
-5
0
-5
1
0
0
0
0
0
0
-18
16
28
27
-82
-5
-20
0
7
0
2
0
0
0
0
0
0
52
116
22
-31
54
18
-20
99
14
-52
-1
0
0
0
0
0
0
35
80
27
5
-4
30
-14
76
58
-31
6
0
0
0
0
0
0
-8
39
-22
1
-10
-1
0
-1
3
-5
0
0
0
0
0
0
0
-10
13
17
81
-8
2
-24
-45
-1
25
0
0
0
0
0
0
0
-2
-6
22
-45
-31
-2
-15
-55
-16
1
0
0
0
0
0
0
0
0
-9
3
3
-18
4
0
0
-6
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
20
-15
1
12
21
42
62
3
0
0
-10
0
0
0
0
0
0
28
8
-15
-5
-2
14
53
0
84
0
-6
0
0
0
0
0
0
9
-6
-30
87
35
61
111
30
75
-22
-36
-2
0
0
0
0
0
-5
5
46
18
15
-19
127
-43
105
16
1
-2
0
0
0
0
0
-5
2
37
32
-39
11
-11
0
-53
-3
0
0
0
0
0
0
0
-9
-5
24
8
16
64
15
14
34
-18
0
0
0
0
0
0
0
-27
11
-46
-29
-22
6
-41
0
-26
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
-23
-8
33
24
75
-46
33
10
0
-5
-4
0
0
0
0
0
0
36
115
57
0
-4
27
-6
0
19
0
45
-6
0
0
0
0
0
-19
7
38
97
-23
40
14
91
52
-14
-1
-6
0
0
0
0
0
-53
-20
4
13
17
-109
29
-2
1
-41
14
5
0
0
0
0
0
-7
48
36
92
6
172
41
34
0
-33
-4
0
0
0
0
0
0
4
-23
32
56
63
-67
120
-9
-6
-60
0
0
0
0
0
0
0
0
-32
11
-45
-59
-4
-2
-77
-1
-9
0
0
0
0
0
0
0
0
-14
11
4
25
46
-6
-5
-1
18
0
0
0
0
0
0
0
0
0
-11
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
-25
-25
-8
-17
-31
25
5
0
0
33
4
0
0
0
0
0
0
52
33
-7
4
-15
-48
0
29
0
94
7
0
0
0
0
0
0
-30
-2
-55
52
36
-11
-5
24
-5
-11
-1
0
0
0
0
0
0
-51
-40
-5
-1
-59
-23
7
57
81
-42
-9
0
0
0
0
0
0
37
-54
4
-48
7
7
22
39
0
15
0
0
0
0
0
0
0
3
-23
-35
-45
35
16
-48
53
5
-6
0
0
0
0
0
0
0
69
-5
34
23
18
45
-29
15
1
2
0
0
0
0
0
0
0
0
-14
24
-17
54
0
-1
1
0
0
0
0
0
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
58
-14
26
0
1
2
-6
0
0
0
0
0
0
0
-4
-47
-4
0
-50
0
3
0
-8
-2
0
0
0
0
0
0
0
3
52
23
24
-6
37
14
20
0
-3
0
0
0
0
0
0
0
-13
-19
68
67
-51
5
-75
20
-29
-10
0
0
0
0
0
0
0
0
5
-8
-22
1
1
0
-1
0
-3
0
0
0
0
0
0
0
-10
16
36
-27
14
0
9
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
-27
2
0
0
-5
0
0
0
0
0
0
0
0
0
-2
-26
1
-9
0
0
0
-7
1
1
0
0
0
0
0
0
0
0
-9
6
-10
-23
-10
1
0
1
-2
0
0
0
0
0
0
0
0
0
-22
2
-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
9
58
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-19
0
-3
0
0
5
0
0
0
0
0
0
0
0
-21
-3
-22
10
8
17
-1
0
1
0
0
0
0
0
0
0
0
-1
-45
-9
-3
45
-61
2
0
-25
0
0
0
0
0
0
0
0
43
0
10
-15
-5
-9
-14
0
-4
0
0
0
0
0
0
0
0
0
36
-7
-43
25
-3
-7
4
1
0
0
0
0
0
0
0
0
0
0
36
17
31
-4
0
0
2
0
0
0
0
0
0
0
0
0
-7
0
-7
7
-15
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
1
-14
60
2
0
-9
0
0
0
0
0
0
0
0
0
2
-33
-4
7
8
-43
-36
0
0
0
0
0
0
0
0
0
0
0
29
-80
-16
25
8
-8
-13
-14
99
0
0
0
0
0
0
0
0
3
5
-19
-80
44
4
-18
-14
-24
0
0
0
0
0
0
0
0
26
5
-104
-7
-43
-14
-9
-2
-1
0
0
0
0
0
0
0
-6
0
63
-7
61
-53
25
4
3
-4
0
0
0
0
0
0
0
0
-4
8
24
71
53
-35
-8
-2
0
0
0
0
0
0
0
0
0
-1
9
37
-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
62
-62
37
-74
-1
0
0
0
0
0
0
0
0
0
0
0
48
16
-46
106
-5
-35
0
0
0
16
0
0
0
0
0
0
0
20
1
-9
-11
-1
-22
7
91
25
49
0
0
0
0
0
0
0
29
-33
-19
21
-9
-121
-59
-3
-60
-23
0
0
0
0
0
0
0
1
6
0
0
23
24
30
-35
3
0
0
0
0
0
0
0
0
-8
0
59
46
-30
43
25
1
11
-4
0
0
0
0
0
0
0
-1
16
0
71
53
5
-16
0
21
0
0
0
0
0
0
0
0
0
0
20
0
-58
4
0
0
0
0
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
-37
-24
-1
4
3
0
-2
-6
0
0
0
0
0
0
3
-89
-1
135
45
-61
33
0
5
0
-43
0
0
0
0
0
0
-1
14
-5
-22
-47
14
3
17
33
25
-34
1
0
0
0
0
0
8
-3
76
29
0
-54
-48
48
11
-1
5
0
0
0
0
0
0
43
-29
-6
-33
45
89
16
-27
-32
-4
0
0
0
0
0
0
0
0
14
24
0
36
16
13
1
0
0
0
6
0
0
0
0
0
-1
1
0
-10
0
-5
-18
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
44
-10
8
13
-3
50
2
0
0
0
0
0
0
0
0
0
-1
20
49
29
-43
118
-32
0
-2
0
0
-1
0
0
0
0
0
-26
-19
-19
-6
4
18
39
58
-14
33
0
-1
0
0
0
0
0
4
-43
-46
-18
56
46
-63
-36
4
-46
0
2
0
0
0
0
0
27
-11
-2
-7
-10
71
-55
31
-43
-62
-3
0
0
0
0
0
0
0
2
10
-29
0
-80
3
0
0
0
0
0
0
0
0
0
0
1
57
-15
-8
-32
-2
14
-41
15
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
37
7
9
21
5
18
-45
-15
0
-2
0
0
0
0
0
0
0
8
-5
57
3
33
-28
68
0
25
0
1
0
0
0
0
0
0
46
75
19
23
27
-33
-71
-10
-4
-91
-1
0
0
0
0
0
0
17
87
33
-6
-22
79
43
-14
23
-31
-1
0
0
0
0
0
0
22
5
-57
15
47
74
-1
-52
-6
-80
17
0
0
0
0
0
0
1
-8
35
62
61
0
-5
3
2
5
3
0
0
0
0
0
0
17
54
63
91
2
0
-5
-3
5
-2
0
0
0
0
0
0
0
0
-48
16
-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
-15
73
17
-7
37
14
4
-20
0
0
3
0
0
0
0
0
0
23
33
-29
8
-4
22
39
0
1
0
0
0
0
0
0
0
0
6
-1
21
5
14
-45
32
-33
68
-33
0
3
0
0
0
0
0
-13
33
-69
27
50
35
-27
-44
11
26
1
3
0
0
0
0
0
45
2
50
35
50
71
-23
43
31
-108
0
0
0
0
0
0
0
0
-21
-4
34
-11
-8
0
-3
18
0
2
0
0
0
0
0
0
2
-20
-3
45
-24
13
17
-29
80
-11
0
0
0
0
0
0
0
0
17
24
5
-7
-5
-2
-4
-1
9
0
0
0
0
0
0
0
0
0
9
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-60
-60
26
68
-30
78
33
-18
0
-14
0
0
0
0
0
0
0
50
38
-9
60
-45
0
-25
0
10
0
5
-2
0
0
0
0
0
68
35
-33
24
32
-64
23
128
41
23
52
-2
0
0
0
0
0
8
33
28
83
22
-24
-97
2
64
-82
-3
0
0
0
0
0
0
41
19
-5
-24
-54
58
66
57
56
74
54
0
0
0
0
0
0
-3
32
73
154
-17
139
5
0
-7
1
0
0
0
0
0
0
0
-20
18
25
5
14
-11
4
2
-2
-9
0
0
0
0
0
0
0
0
-46
31
-26
43
-1
-7
2
-2
-2
0
0
0
0
0
0
0
0
0
8
47
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
-14
1
-45
-19
47
11
0
24
13
0
0
0
0
0
0
-5
0
8
-25
-16
-39
59
0
-13
0
-14
-2
0
0
0
0
0
22
114
30
-3
42
-54
81
-3
104
-1
10
3
0
0
0
0
0
-19
-35
29
-55
4
75
-60
25
48
-17
-8
0
0
0
0
0
0
-6
-4
-27
120
-2
17
75
56
31
-43
-23
0
0
0
0
0
0
-23
-3
-2
-55
-80
62
60
-36
0
-23
0
0
0
0
0
0
0
-1
24
37
-49
61
18
-15
1
0
-32
0
0
0
0
0
0
0
0
13
8
7
-33
-32
25
2
0
-25
0
0
0
0
0
0
0
0
31
-8
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
47
12
7
31
18
15
3
0
1
90
0
0
0
0
0
0
0
-20
39
-7
32
55
14
0
-14
0
53
0
0
0
0
0
0
0
3
-69
-24
79
46
-34
-39
-15
55
-33
-1
0
0
0
0
0
0
27
57
11
4
16
43
69
21
-15
44
0
0
0
0
0
0
0
3
36
-17
1
24
9
-46
-85
55
2
0
0
0
0
0
0
0
-13
35
13
-8
-21
20
23
3
0
-7
0
0
0
0
0
0
0
-2
11
17
-8
27
6
6
14
-2
0
0
0
0
0
0
0
0
0
3
-53
52
25
-4
0
-36
0
0
0
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
-44
52
-27
-6
0
5
1
0
0
0
0
0
0
0
0
-5
14
-37
5
46
0
6
0
0
-53
0
0
0
0
0
0
0
-44
56
-17
5
23
-47
-35
-6
11
-48
0
0
0
0
0
0
0
9
-10
-8
14
-47
23
18
-25
1
6
0
0
0
0
0
0
0
0
23
55
53
110
4
41
1
-4
-14
0
0
0
0
0
0
0
-5
2
47
22
-36
-17
0
2
0
1
0
0
0
0
0
0
0
0
-10
0
20
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
13
-16
2
0
-1
0
21
3
0
0
0
0
0
0
0
0
0
1
1
14
4
45
-16
-6
-15
-4
0
0
0
0
0
0
0
0
-5
-13
1
13
2
-6
4
0
0
0
0
0
0
0
0
0
0
0
-1
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
9
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-9
17
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-37
1
3
4
1
0
-9
14
0
0
0
0
0
0
0
0
-11
-2
0
-25
-51
24
2
4
5
0
0
0
0
0
0
0
0
10
0
4
-33
-2
-24
-10
0
1
0
0
0
0
0
0
0
0
0
0
-36
0
23
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
32
0
0
8
-8
0
0
0
0
0
0
0
0
0
0
4
-9
-6
-11
-28
100
3
0
0
0
0
0
0
0
0
0
0
-1
21
99
-5
-69
7
3
0
-14
48
0
0
0
0
0
0
0
0
29
21
-13
-1
-47
116
-22
1
6
0
0
0
0
0
0
0
2
17
-29
-4
23
-6
9
47
-23
27
0
0
0
0
0
0
0
0
-20
0
12
25
5
60
0
-1
-11
0
0
0
0
0
0
0
7
0
-4
9
46
3
51
3
3
0
0
0
0
0
0
0
0
0
9
0
51
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
-4
-5
51
0
-2
0
0
0
0
0
0
0
0
0
0
0
-12
19
63
27
43
4
0
2
0
3
0
0
0
0
0
0
0
-21
36
53
4
13
10
0
15
14
26
0
0
0
0
0
0
0
-24
-47
11
-7
11
-58
21
-4
-4
-5
0
0
0
0
0
0
0
6
7
24
-45
50
-68
61
-5
1
1
0
0
0
0
0
0
0
0
62
0
-56
-85
13
33
0
14
0
0
0
0
0
0
0
0
14
0
30
25
9
44
-9
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
-17
-4
1
-1
0
0
0
0
0
0
0
0
0
-5
96
0
17
-8
20
11
0
0
0
-8
0
0
0
0
0
0
-3
-1
21
3
-37
-9
0
1
-1
0
7
0
0
0
0
0
0
0
17
-13
-11
9
22
-18
-4
7
-1
0
0
0
0
0
0
0
-2
0
26
-4
15
5
-25
57
-13
5
0
0
0
0
0
0
0
-2
14
0
14
0
-45
4
25
-6
1
0
0
0
0
0
0
0
2
8
35
0
-7
3
-19
-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
71
-3
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
70
-91
5
-14
0
4
0
0
0
0
0
0
0
0
0
2
8
-3
-28
-27
55
0
-49
35
0
0
0
0
0
0
0
2
39
-55
-4
34
-56
8
2
-8
-8
0
0
0
0
0
0
0
-24
-26
-14
14
26
-19
16
-11
43
13
0
0
0
0
0
0
0
-3
34
-44
-8
29
43
17
7
-37
-97
0
0
0
0
0
0
0
0
16
43
-32
0
-4
-1
-5
-3
-3
0
0
0
0
0
0
0
0
-4
11
-1
-5
-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
3
-62
40
61
16
9
4
0
0
0
0
0
0
0
0
0
6
-2
14
-23
-23
5
5
0
0
0
0
0
0
0
0
0
0
1
5
10
18
37
-10
50
18
-60
-85
-5
0
0
0
0
0
0
2
26
-3
-61
-33
98
21
5
-29
-15
0
0
0
0
0
0
0
-3
29
-14
-36
-59
5
-5
-36
1
80
-1
0
0
0
0
0
0
-21
-63
-21
-8
0
4
21
6
5
-55
-9
0
0
0
0
0
0
-16
-11
15
11
18
0
0
-2
0
0
0
0
0
0
0
0
0
0
29
19
-46
0
-5
10
1
0
-5
0
0
0
0
0
0
0
-1
0
9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-27
53
34
-14
-26
14
0
0
0
0
0
0
0
0
0
-2
-27
60
-30
-3
-41
5
0
-23
0
0
2
0
0
0
0
0
0
-11
-21
17
-14
48
-14
-103
37
-29
1
6
0
0
0
0
0
-1
0
26
-18
-2
37
-1
7
21
-22
0
0
0
0
0
0
0
-36
-17
14
5
44
29
90
-21
-5
30
0
0
0
0
0
0
0
3
-35
78
-60
-21
39
26
15
39
15
-2
0
0
0
0
0
0
0
13
-41
13
16
92
0
0
2
0
0
0
0
0
0
0
0
0
-6
18
-17
-21
-23
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
23
18
4
17
19
-13
5
0
0
1
0
0
0
0
0
0
15
-8
-22
1
44
-29
67
0
52
0
2
0
0
0
0
0
0
47
48
-39
8
-30
117
43
-32
55
-55
31
-1
0
0
0
0
0
11
16
33
108
83
-84
10
5
5
62
-7
0
0
0
0
0
0
-5
-23
-7
-39
36
6
86
-23
-12
18
26
0
0
0
0
0
0
-66
62
-23
73
-17
62
37
6
1
108
0
0
0
0
0
0
0
2
20
11
33
18
20
-7
0
-25
0
0
0
0
0
0
0
0
0
37
54
45
-5
4
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
-16
71
18
-16
83
-80
5
0
3
-3
0
0
0
0
0
0
2
-24
29
54
-1
35
-97
0
-59
0
23
0
0
0
0
0
0
8
48
-35
70
-43
-9
84
-4
16
-40
-19
-1
0
0
0
0
0
-14
74
28
2
-35
69
36
-53
-24
-52
-9
-1
0
0
0
0
0
-3
53
-5
141
-47
-41
-57
28
15
-115
24
0
0
0
0
0
0
10
9
6
-2
-42
19
39
-4
9
-7
1
0
0
0
0
0
0
0
32
-71
36
-46
27
-35
44
0
3
0
0
0
0
0
0
0
0
-2
-18
14
-44
-25
6
19
2
-61
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-64
16
-5
-8
99
0
0
1
-20
-1
0
0
0
0
0
0
18
32
71
43
-36
-24
0
21
0
39
3
0
0
0
0
0
0
-1
17
100
97
63
8
51
17
73
71
0
0
0
0
0
0
0
-18
51
26
53
5
2
49
75
56
1
-1
0
0
0
0
0
0
-26
-77
28
-71
2
4
18
-50
1
-14
0
0
0
0
0
0
0
-2
10
-8
-43
15
11
-8
3
52
-46
0
0
0
0
0
0
0
-24
45
-16
50
-73
4
6
32
0
-4
0
0
0
0
0
0
0
0
31
6
-9
61
27
-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
32
0
-43
0
6
0
-3
-20
-3
0
0
0
0
0
0
0
4
2
-21
-21
12
0
-6
0
9
9
0
0
0
0
0
0
0
0
25
-36
35
-41
-9
-5
-11
0
42
0
0
0
0
0
0
0
-8
47
-7
16
18
34
6
5
7
53
0
0
0
0
0
0
0
0
15
-43
-7
-35
-9
-2
49
0
41
0
0
0
0
0
0
0
5
-4
-22
22
14
-33
-20
5
0
-9
0
0
0
0
0
0
0
-10
-11
-36
-16
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
11
-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
-10
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
29
11
21
7
2
17
3
0
0
0
0
0
0
0
0
0
-1
-6
-55
10
-14
-3
7
0
0
0
0
0
0
0
0
0
0
0
1
-9
-10
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
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-13
-7
-4
-1
-1
0
-2
0
0
0
0
0
0
0
0
-3
10
0
-46
0
33
-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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
-74
5
2
0
0
0
0
0
0
0
0
0
0
0
11
0
42
-11
0
0
-1
0
0
-11
0
0
0
0
0
0
0
0
40
-9
10
-18
1
-20
0
-6
-1
0
0
0
0
0
0
0
-24
0
-4
72
-2
-25
2
14
0
0
0
0
0
0
0
0
0
0
9
0
0
-32
4
-5
3
-9
0
0
0
0
0
0
0
0
0
0
9
-6
15
-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
77
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
41
13
9
-6
0
3
0
0
0
0
0
0
0
0
-1
1
1
22
57
-10
9
0
0
5
0
0
0
0
0
0
0
0
0
1
19
-4
9
7
0
0
6
0
0
0
0
0
0
0
0
0
1
-26
22
20
14
0
1
-31
0
0
0
0
0
0
0
0
0
0
1
3
22
1
0
0
9
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
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
2
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
-33
-6
-44
13
0
1
0
0
0
0
0
0
0
0
0
0
-7
6
25
0
-32
0
0
-7
0
0
0
0
0
0
0
0
0
-17
27
-2
-16
-6
1
-15
-8
0
0
0
0
0
0
0
0
0
5
-5
-55
0
-9
-2
-18
-1
0
-3
0
0
0
0
0
0
0
0
2
-1
11
0
0
0
-23
0
0
0
0
0
0
0
0
0
23
-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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
47
-1
-11
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
21
82
3
-4
0
0
4
0
0
0
0
0
0
0
0
20
-10
-4
-10
-1
1
0
-31
-4
0
0
0
0
0
0
0
-15
0
50
-34
-11
5
-25
-2
0
-1
0
0
0
0
0
0
0
0
8
-2
10
23
-43
8
0
-2
-14
0
0
0
0
0
0
0
-4
-1
-45
0
-1
1
3
5
0
0
0
0
0
0
0
0
0
0
2
-13
14
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
10
-7
18
-5
-1
0
0
0
0
0
0
0
0
0
0
53
0
-3
22
63
-32
0
0
0
0
0
0
0
0
0
0
-15
0
33
7
-3
-3
4
0
11
-33
2
0
0
0
0
0
0
0
21
-8
4
5
-27
-15
2
5
-8
-13
0
0
0
0
0
0
-9
10
56
10
-17
-24
-14
-66
-87
0
0
0
0
0
0
0
0
0
0
-35
33
6
34
7
18
-6
4
0
0
0
0
0
0
0
-16
17
1
4
13
2
3
5
10
0
0
0
0
0
0
0
0
0
-71
-2
-25
-26
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-37
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
33
-13
2
14
-3
0
0
0
0
0
0
0
0
0
0
22
-13
105
-4
3
13
0
0
0
0
0
0
0
0
0
0
0
0
46
14
-30
5
14
0
5
-74
-2
0
0
0
0
0
0
1
-7
8
9
-46
1
-10
11
55
-69
-9
0
0
0
0
0
0
1
9
99
76
15
19
-63
64
27
-36
0
0
0
0
0
0
0
0
-61
81
53
29
-63
11
1
-24
4
0
0
0
0
0
0
0
-1
9
40
-55
10
-21
2
41
24
-25
0
0
0
0
0
0
0
0
-1
-15
51
24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-9
30
30
14
39
4
0
0
0
0
0
0
0
0
0
3
5
-4
13
37
-47
13
0
0
0
0
0
0
0
0
0
0
-6
1
-9
0
53
-6
9
1
7
-59
-2
0
0
0
0
0
0
-2
-7
8
58
24
51
-46
-33
14
-14
1
0
0
0
0
0
0
5
28
28
20
43
-20
-5
0
-44
-21
-18
0
0
0
0
0
0
17
58
33
-13
-18
-33
18
0
-52
21
-1
0
0
0
0
0
0
11
-8
1
43
-16
14
44
-5
-26
3
0
0
0
0
0
0
0
0
39
-23
75
4
-8
-1
0
0
0
0
0
0
0
0
0
0
3
-10
25
-8
15
51
0
0
-7
0
0
0
0
0
0
0
0
0
-10
-27
19
-58
6
27
-13
0
-1
0
0
0
0
0
0
0
0
-40
52
54
46
-95
-74
0
0
0
1
0
0
0
0
0
0
11
-5
-47
96
2
-60
117
40
-4
-5
-5
0
0
0
0
0
0
0
-27
-55
-32
-14
14
128
-5
-3
-102
-3
0
0
0
0
0
0
-10
22
7
52
35
77
-7
-43
2
52
0
0
0
0
0
0
0
0
-19
53
33
33
-22
-9
-23
1
72
0
0
0
0
0
0
0
0
-75
-28
-63
-86
106
-18
36
3
-3
1
0
0
0
0
0
0
0
5
-30
-64
-22
-1
1
1
0
-1
0
0
0
0
0
0
0
0
2
10
25
35
3
0
-9
0
0
0
0
0
0
0
0
0
0
0
-15
-21
14
26
33
-17
0
0
4
0
0
0
0
0
0
0
-4
-15
61
-54
35
71
0
0
0
15
0
0
0
0
0
0
0
-19
39
53
20
2
7
-18
-27
6
-83
0
0
0
0
0
0
0
-11
62
16
39
-14
-18
61
-25
-2
-37
0
0
0
0
0
0
0
-4
-8
58
5
3
38
48
-78
32
13
0
0
0
0
0
0
0
36
-75
14
88
-25
-21
6
-21
-2
14
0
0
0
0
0
0
0
-9
-32
-32
-4
99
9
-10
17
1
2
0
0
0
0
0
0
0
0
39
-9
14
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-55
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-10
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
23
6
0
0
0
0
-3
0
0
0
0
0
0
0
-3
1
41
23
-27
36
4
15
-6
-3
0
0
0
0
0
0
0
0
-15
5
-16
25
-30
2
-8
-2
-4
0
0
0
0
0
0
0
11
4
-33
-36
22
-9
10
4
0
-3
0
0
0
0
0
0
0
-5
63
56
24
3
11
-8
-1
-2
0
0
0
0
0
0
0
0
0
13
46
14
14
-6
0
0
-1
2
0
0
0
0
0
0
0
0
0
11
-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
-22
21
-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
-13
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
-20
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
-10
4
1
13
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
-11
1
4
2
0
0
2
-1
0
0
0
0
0
0
0
0
-11
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
16
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
25
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-58
0
-26
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-53
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
47
0
-37
34
0
-6
0
0
0
0
0
0
0
0
14
0
26
0
32
-9
-47
0
0
0
0
0
0
0
0
0
0
0
8
-1
1
-14
39
-37
0
-24
0
0
0
0
0
0
0
0
1
-1
-33
5
-25
34
0
0
-43
0
0
0
0
0
0
0
0
0
20
0
3
0
0
44
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
26
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
11
0
0
0
-20
0
0
0
0
0
0
0
0
0
2
7
47
-6
-46
-3
0
-13
0
0
0
0
0
0
0
0
17
-5
-44
14
5
14
-2
0
-4
0
0
0
0
0
0
0
0
0
-13
-19
37
-2
148
0
0
0
0
0
0
0
0
0
0
0
-7
-2
8
-4
-25
-26
0
0
-18
0
0
0
0
0
0
0
0
-8
-2
0
58
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
-14
0
0
0
0
0
0
0
0
0
11
0
20
-6
-5
0
1
-26
0
0
0
0
0
0
0
0
0
0
-1
-1
-14
2
0
0
0
0
0
0
0
0
0
0
0
-9
14
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
1
8
0
23
9
8
-71
19
0
0
0
0
0
0
0
0
-5
0
0
4
29
41
3
6
0
0
0
0
0
0
0
0
0
35
0
0
-3
-3
0
-1
0
6
0
0
0
0
0
0
0
0
-3
0
0
4
-1
13
4
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
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
-20
-13
63
-20
0
5
0
0
0
0
0
0
0
1
-1
15
-31
30
-60
-40
-2
-3
-1
0
0
0
0
0
0
0
-2
-5
-5
-45
3
9
35
-6
50
15
0
0
0
0
0
0
0
0
-20
-4
-2
-6
-8
7
-5
1
3
0
0
0
0
0
0
0
0
0
0
7
-17
-11
43
21
17
0
0
0
0
0
0
0
0
0
-5
0
-2
0
10
8
30
46
-5
0
0
0
0
0
0
0
0
0
-1
0
-7
0
56
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
11
34
10
90
0
2
-2
0
0
0
0
0
0
0
2
16
0
-17
3
-33
9
-2
-21
1
0
0
0
0
0
0
0
-2
-3
4
13
8
22
-24
129
-20
0
0
0
0
0
0
0
0
-1
-3
-4
21
29
9
18
9
7
-4
0
0
0
0
0
0
0
-32
0
0
13
0
-17
-61
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
0
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
4
-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
-6
10
-15
0
1
0
-8
36
0
0
0
0
0
0
0
0
0
15
0
0
0
0
33
-3
89
23
-16
-7
0
0
0
0
0
0
0
0
5
2
10
33
37
-77
43
47
0
0
0
0
0
0
0
0
0
0
11
-1
13
3
15
0
10
0
0
0
0
0
0
0
0
0
0
0
-7
20
-2
10
-10
0
0
0
0
0
0
0
0
0
0
-1
0
0
21
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
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
4
1
0
0
0
43
39
8
0
0
2
0
0
0
0
0
0
0
3
0
0
-6
17
2
-14
-26
5
-3
0
0
0
0
0
0
0
1
1
25
0
33
-29
73
24
2
0
-1
0
0
0
0
0
0
0
-4
8
7
73
0
-4
7
-5
0
0
0
0
0
0
0
0
-3
0
0
-5
-9
6
1
1
-2
0
0
0
0
0
0
0
0
0
0
2
6
6
-14
-13
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-4
22
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
-9
13
-1
0
22
-2
0
5
0
0
0
0
0
0
0
-10
0
-1
36
-18
-116
6
56
35
-2
3
0
0
0
0
0
0
-10
20
2
25
-24
-14
-41
27
-11
6
0
0
0
0
0
0
0
-7
18
3
0
-14
13
34
8
-25
7
-1
0
0
0
0
0
0
5
0
-4
0
-26
-33
-7
7
71
0
0
0
0
0
0
0
0
0
1
3
-5
10
13
0
-22
31
-1
0
0
0
0
0
0
0
7
0
5
0
24
6
-14
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-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
16
1
-4
58
11
0
23
0
-18
0
0
0
0
0
0
0
3
45
-2
59
-55
-14
26
30
-7
-4
0
0
0
0
0
0
0
15
-34
-13
10
14
36
56
5
14
-9
5
0
0
0
0
0
0
0
-3
16
6
25
66
68
27
34
15
0
0
0
0
0
0
0
0
0
3
1
53
36
52
-25
77
20
-3
0
0
0
0
0
0
0
14
10
11
0
78
16
-45
-36
0
0
0
0
0
0
0
0
0
0
0
-14
-20
-1
10
-29
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
20
1
34
-63
-24
-9
14
0
0
-19
4
0
0
0
0
0
0
-19
37
53
5
11
155
15
-32
56
8
-2
-4
0
0
0
0
0
26
15
14
-39
-49
30
27
22
19
0
-1
0
0
0
0
0
0
-19
-5
27
24
-23
22
-102
-56
-44
15
-2
0
0
0
0
0
0
-14
14
-2
17
-4
0
5
-22
-58
0
-4
0
0
0
0
0
0
0
23
5
-1
16
74
-7
-16
17
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
-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
20
56
14
19
-18
-7
-19
0
0
10
0
0
0
0
0
0
0
60
30
-5
-27
-2
1
42
-6
3
3
0
0
0
0
0
0
0
-9
8
-2
9
-33
15
27
4
1
5
0
0
0
0
0
0
0
-3
-17
-36
8
60
-14
-12
-5
20
1
1
0
0
0
0
0
0
22
3
8
59
-14
-52
-45
-6
-10
0
0
0
0
0
0
0
0
51
0
-26
3
8
-3
-6
11
5
0
0
0
0
0
0
0
0
0
0
0
-10
60
5
-11
-9
8
-1
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
5
0
0
18
18
-15
0
6
0
-1
0
0
0
0
0
0
0
-10
17
-7
44
3
-48
8
-14
0
0
0
0
0
0
0
0
0
19
9
-3
3
-3
-20
7
-15
0
0
0
0
0
0
0
0
0
21
-2
10
4
-32
-22
43
2
8
0
0
0
0
0
0
0
0
0
0
0
39
5
1
4
-6
5
-3
0
0
0
0
0
0
0
-4
0
-3
-4
-6
13
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-10
-5
9
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
-9
0
6
0
0
0
0
0
0
0
0
0
3
1
0
0
3
23
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
16
-7
-62
21
-1
-26
0
0
0
0
0
0
0
0
0
7
1
-3
8
-53
33
12
-13
5
0
0
0
0
0
0
0
0
-8
0
0
7
23
5
6
-6
0
0
0
0
0
0
0
0
0
-3
-10
0
-4
4
-44
44
-21
-3
0
0
0
0
0
0
0
0
-6
0
0
1
1
-13
-20
0
27
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
-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
-19
-29
-29
-33
6
-14
-4
0
6
0
0
0
0
0
0
0
20
3
5
-32
-26
58
-25
100
29
-25
0
0
0
0
0
0
0
2
-11
25
59
55
26
-2
115
19
-19
0
0
0
0
0
0
0
7
-2
-1
1
38
-39
-25
5
-18
-3
0
0
0
0
0
0
0
0
81
0
0
-9
66
75
80
-4
15
0
0
0
0
0
0
0
0
19
0
9
0
8
66
-2
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
-1
0
0
0
0
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
0
0
-13
27
64
0
-27
-1
0
0
0
0
0
0
-1
-23
-11
-3
-4
37
98
79
0
88
0
0
0
0
0
0
0
0
-42
4
-23
2
81
63
25
-26
76
-1
0
0
0
0
0
0
0
-27
-3
34
-32
69
33
-20
5
-19
-1
0
0
0
0
0
0
0
-6
-2
14
62
-17
2
-35
-9
32
3
0
0
0
0
0
0
0
-2
0
0
0
15
43
43
-7
32
0
0
0
0
0
0
0
0
0
0
0
-1
-1
20
6
51
-24
0
0
0
0
0
0
0
0
1
-2
0
0
0
37
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
-3
0
21
-11
43
53
-17
23
0
25
-6
0
0
0
0
0
0
-33
2
2
-10
80
-4
11
31
-50
15
-11
-3
0
0
0
0
0
-1
4
-4
-33
-25
9
-30
-43
-21
7
-1
0
0
0
0
0
0
0
0
0
2
-51
80
52
-48
-2
-1
0
0
0
0
0
0
0
0
3
0
0
-15
-5
17
0
36
-6
7
0
0
0
0
0
0
0
0
0
-3
-1
-33
-21
1
5
2
23
0
0
0
0
0
0
0
0
0
0
-1
-3
10
-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
-26
10
4
29
-10
-23
-48
10
0
31
1
5
0
0
0
0
0
3
-25
-5
-8
15
-3
-49
15
-51
1
5
0
0
0
0
0
0
5
9
-5
-68
5
4
55
-19
-58
-44
0
0
0
0
0
0
0
2
-4
11
43
8
26
23
24
16
0
0
0
0
0
0
0
0
0
-11
-5
-32
-34
-13
-24
-26
-61
-4
2
5
0
0
0
0
0
0
0
0
22
7
69
-6
39
19
-5
2
-4
0
0
0
0
0
0
0
0
3
-1
3
-134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-9
35
-3
14
5
-13
21
0
-9
0
1
0
0
0
0
0
80
43
-14
33
43
-53
-64
-25
-7
11
-13
0
0
0
0
0
0
52
14
-7
60
29
-32
88
72
-44
-18
-1
0
0
0
0
0
0
46
-25
-1
-7
-23
20
-29
33
48
-2
0
0
0
0
0
0
0
-3
43
24
-73
-37
48
6
41
45
-3
1
0
0
0
0
0
0
-1
-4
2
31
4
-32
-26
23
-16
7
0
0
0
0
0
0
0
0
-4
0
0
-32
4
-8
-25
37
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
25
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
43
-16
-6
68
47
-9
19
-15
0
-4
-3
-3
0
0
0
0
0
5
-12
51
54
132
-11
-20
-17
23
-11
-5
0
0
0
0
0
0
71
2
-5
49
-48
52
75
13
4
-34
0
0
0
0
0
0
0
-7
-41
-34
25
-48
43
-55
40
24
-61
0
0
0
0
0
0
0
-9
13
54
-37
-38
9
-6
80
-13
2
-8
0
0
0
0
0
0
2
-7
4
11
16
43
-2
20
-41
-46
0
0
0
0
0
0
0
0
-1
-1
5
6
0
-42
-21
-9
-8
0
0
0
0
0
0
0
0
-1
0
0
0
-13
3
-43
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
65
-53
4
7
30
8
-36
109
0
61
1
-2
0
0
0
0
0
45
97
-32
-87
51
-21
72
39
55
2
-4
0
0
0
0
0
0
10
122
-17
14
9
55
-4
56
11
53
3
0
0
0
0
0
0
-81
102
68
-2
64
20
-49
-70
39
2
-19
0
0
0
0
0
0
50
3
5
16
5
28
42
78
36
-13
-6
0
0
0
0
0
0
-3
-19
-5
76
78
-5
31
-31
53
-10
-9
0
0
0
0
0
0
-16
-7
0
4
-44
2
22
30
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
9
-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
-14
7
-5
-5
-46
46
-45
18
0
-81
0
-5
0
0
0
0
0
64
23
24
-1
8
28
60
27
-5
-46
3
0
0
0
0
0
0
41
83
-27
-86
1
39
23
-47
10
31
15
0
0
0
0
0
0
6
54
-21
56
43
24
90
22
-5
-11
8
0
0
0
0
0
0
2
1
91
48
-10
19
23
-41
-15
6
-1
0
0
0
0
0
0
19
14
48
-29
-65
-46
-38
19
-28
-1
1
0
0
0
0
0
0
21
2
8
15
7
-2
-62
-30
-41
26
0
0
0
0
0
0
0
0
-13
-18
0
-2
8
-36
65
-8
0
0
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
20
1
31
-25
16
9
0
91
2
0
0
0
0
0
0
0
62
-1
27
142
55
-105
7
-30
7
62
2
0
0
0
0
0
0
46
-9
-90
-74
85
-52
-4
74
-15
-14
0
0
0
0
0
0
0
-75
-59
-43
1
21
-45
18
46
55
-5
0
0
0
0
0
0
0
46
-44
7
56
53
-2
-34
-6
17
15
0
0
0
0
0
0
0
18
15
-27
20
26
72
-1
-74
14
25
0
0
0
0
0
0
0
21
23
-23
-43
-5
-25
5
-16
33
0
0
0
0
0
0
0
0
0
0
-15
0
-2
-13
1
-24
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
-3
27
9
-20
0
20
-2
-1
0
0
0
0
0
0
0
-1
25
2
14
-44
2
-12
-1
26
1
0
0
0
0
0
0
0
1
-3
34
30
59
66
7
-90
-14
6
0
0
0
0
0
0
0
29
14
-2
54
53
21
54
18
-30
0
0
0
0
0
0
0
0
19
6
-5
-14
5
32
3
45
-2
0
0
0
0
0
0
0
0
-3
3
-31
-23
-1
9
-7
15
-3
-8
0
0
0
0
0
0
0
0
2
2
0
-24
3
-1
-19
-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
-9
5
0
-16
0
4
-10
-30
0
0
0
0
0
0
0
0
0
3
-3
-3
-5
7
22
6
-3
11
0
0
0
0
0
0
0
0
-11
-1
0
-6
0
0
13
-27
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-18
43
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-10
0
29
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
23
-7
-4
0
0
0
0
0
0
0
0
0
1
7
-4
43
21
-33
-62
14
-30
0
0
0
0
0
0
0
0
4
1
-3
30
7
-18
20
-13
-5
0
0
0
0
0
0
0
0
0
4
2
-16
-14
-15
-9
0
3
0
0
0
0
0
0
0
0
0
5
0
-1
17
14
-17
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
83
0
5
74
-44
-90
21
0
14
0
0
0
0
0
0
0
36
44
0
18
13
-31
-8
44
117
-29
0
0
0
0
0
0
0
14
-10
-2
-18
-61
-24
-15
16
107
35
0
0
0
0
0
0
0
-1
6
8
-5
13
-12
-16
-31
-23
0
0
0
0
0
0
0
0
0
-30
18
0
-9
41
-21
1
-22
1
0
0
0
0
0
0
0
0
-11
0
-3
-1
-44
-10
-30
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
20
-3
3
0
-16
-5
0
43
21
0
0
0
0
0
0
0
-4
-1
75
-35
5
29
-33
71
-33
8
0
0
0
0
0
0
-7
0
-3
21
-25
52
-29
-14
-21
21
-5
0
0
0
0
0
0
0
2
-1
-2
7
44
-47
15
9
33
-1
0
0
0
0
0
0
0
-27
29
-2
7
-24
33
-4
29
8
0
0
0
0
0
0
0
0
0
6
2
10
33
-14
-5
-13
14
1
0
0
0
0
0
0
0
0
0
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
23
-23
-46
0
-26
-1
0
0
0
0
0
0
-1
1
20
-9
-11
60
53
-11
-39
-13
59
7
0
0
0
0
0
0
0
-2
-3
14
-23
8
-49
-79
1
6
5
0
0
0
0
0
13
1
-1
-9
24
39
4
-47
8
5
0
0
0
0
0
0
0
0
0
-15
9
35
-25
-14
-13
25
0
-9
0
0
0
0
0
0
0
-4
-18
0
-4
1
10
-4
-1
5
1
0
0
0
0
0
0
0
0
0
0
1
0
58
-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
58
75
-57
-47
0
-27
0
0
0
0
0
0
0
-20
52
-8
43
52
-44
-43
-43
71
6
2
0
0
0
0
0
0
-2
-34
9
60
-19
61
5
77
30
0
-1
0
0
0
0
0
0
-2
27
-1
-2
-13
82
3
27
5
50
2
0
0
0
0
0
0
3
2
10
-18
19
10
11
0
62
0
3
-1
0
0
0
0
0
-2
-5
-1
14
13
44
33
-19
13
17
0
0
0
0
0
0
0
-2
-1
-9
0
-1
0
27
18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
10
-26
13
-21
-35
45
11
51
0
-24
0
0
0
0
0
0
0
53
33
11
37
-21
99
45
17
76
11
7
0
0
0
0
0
0
-10
-3
33
104
51
-7
51
61
-59
-29
-2
0
0
0
0
0
0
-2
16
-23
-28
20
15
-37
44
43
45
0
0
0
0
0
0
0
21
-33
-9
-6
60
-3
10
45
33
3
0
0
0
0
0
0
0
-21
26
-8
5
-48
4
33
27
-21
14
0
0
0
0
0
0
0
4
3
5
0
-13
-25
18
-31
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
-27
21
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
-20
-32
-17
45
29
70
16
-53
0
-53
-1
0
0
0
0
0
0
44
14
-20
21
16
-54
53
64
50
62
0
0
0
0
0
0
0
-4
27
74
14
-25
52
44
-62
-6
24
0
0
0
0
0
0
0
-6
-20
34
-61
4
29
2
49
14
56
0
0
0
0
0
0
0
-15
8
-26
-19
-20
-6
40
5
51
-37
0
0
0
0
0
0
0
-1
-56
-17
37
-15
43
-1
6
15
18
0
0
0
0
0
0
0
1
0
26
2
5
-20
-4
14
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-35
3
26
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
60
-26
29
60
33
62
-14
25
0
2
-8
-10
0
0
0
0
0
43
16
-15
61
-32
-5
-39
-32
50
-9
8
0
0
0
0
0
0
74
14
-19
15
21
93
62
-1
96
-21
7
0
0
0
0
0
0
39
-25
19
53
69
9
1
0
25
-11
2
0
0
0
0
0
0
-39
-73
3
43
62
-68
78
81
14
-41
-17
0
0
0
0
0
0
-10
18
21
5
17
20
-31
36
-39
29
1
0
0
0
0
0
0
6
15
-1
-6
45
29
-5
-30
43
-2
0
0
0
0
0
0
0
0
0
0
-17
6
17
17
79
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
45
24
-7
67
2
-10
-23
0
-43
4
0
0
0
0
0
0
43
11
6
-28
-85
26
32
-22
46
59
73
0
0
0
0
0
0
-55
53
-4
23
2
87
0
-50
-71
-7
-2
4
0
0
0
0
0
45
32
-26
28
-64
-76
0
-30
12
-9
-1
0
0
0
0
0
0
8
58
1
-4
28
73
37
-56
-48
22
1
0
0
0
0
0
0
1
-27
-25
45
87
150
-36
-42
-17
10
0
0
0
0
0
0
0
-1
6
2
8
35
9
-1
6
35
64
0
0
0
0
0
0
0
0
21
0
5
-1
4
-19
-34
-31
23
0
0
0
0
0
0
0
0
0
0
0
13
0
-3
0
0
0
0
0
0
0
0
0
0
0
118
-58
-22
-72
0
43
-80
0
-29
47
17
0
0
0
0
0
0
49
55
-5
-8
10
-40
27
55
-29
-34
-1
0
0
0
0
0
0
17
-32
8
-30
-55
10
43
-17
-31
1
0
0
0
0
0
0
0
1
4
33
-11
-2
31
52
8
33
8
0
0
0
0
0
0
0
24
81
-82
1
-5
-23
10
-64
57
41
-1
0
0
0
0
0
0
20
44
-17
-22
-11
23
22
51
-50
46
0
0
0
0
0
0
0
15
0
3
6
26
20
101
59
24
0
0
0
0
0
0
0
0
0
-5
-1
0
-10
-31
-39
2
-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
-22
2
-13
5
-20
-9
0
25
-26
0
0
0
0
0
0
0
0
-51
-41
64
-2
-50
-34
0
-35
-3
3
0
0
0
0
0
0
0
-22
7
-3
-14
33
12
5
-9
1
-1
0
0
0
0
0
0
0
3
11
-15
14
-19
7
-52
33
-35
0
0
0
0
0
0
0
0
3
6
-4
29
-3
-27
16
24
25
3
0
0
0
0
0
0
0
-1
-18
4
5
-6
7
45
16
-5
-1
0
0
0
0
0
0
0
0
0
0
2
11
3
3
15
-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
14
-7
3
0
-26
17
0
0
0
0
0
0
0
0
4
0
-7
15
22
-80
-18
6
0
0
0
0
0
0
0
0
0
-11
-1
0
-1
0
-21
-2
4
-4
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
-9
-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
11
-3
5
0
0
0
0
0
0
0
0
0
-45
0
0
-3
0
25
-44
-5
9
0
0
0
0
0
0
0
0
27
5
0
11
-7
33
41
31
33
0
0
0
0
0
0
0
0
0
7
0
32
31
14
-7
15
-13
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
66
-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
-5
-43
124
-67
0
-43
0
0
0
0
0
0
0
0
4
0
7
71
-14
-35
-33
-10
63
0
0
0
0
0
0
0
25
-59
83
27
-19
19
42
-12
-43
-4
0
0
0
0
0
0
0
0
0
33
-1
23
74
0
-65
-71
-12
0
0
0
0
0
0
0
0
-27
14
0
-43
19
-2
80
62
46
0
0
0
0
0
0
0
0
11
0
-2
-11
-2
-23
-49
-10
-14
0
0
0
0
0
0
0
0
4
2
2
-14
-1
-32
16
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
4
-45
-15
0
-60
-6
0
0
0
0
0
0
0
9
4
0
-36
-12
-14
4
35
51
29
0
0
0
0
0
0
0
16
0
-5
2
45
-5
121
-31
30
1
0
0
0
0
0
0
0
-2
-1
-14
17
58
23
0
-2
-4
-1
0
0
0
0
0
0
0
0
-3
-26
26
-27
36
-36
-25
-5
-2
0
0
0
0
0
0
0
-1
-16
0
10
-3
7
1
-17
33
0
0
0
0
0
0
0
0
0
0
0
-4
0
-22
-1
44
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
-95
5
-33
0
3
5
0
0
0
0
0
0
-3
1
1
-17
-39
-61
-33
-68
9
9
-2
1
0
0
0
0
0
0
0
-5
61
53
33
42
58
4
-18
-35
0
0
0
0
0
0
3
8
-14
3
45
-8
-3
-58
-5
-2
-1
0
0
0
0
0
0
3
-3
0
0
-51
-4
34
-72
-8
0
0
0
0
0
0
0
0
0
0
-2
2
-6
45
-3
62
-2
7
0
0
0
0
0
0
0
0
-3
-1
6
-1
-4
2
0
13
-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
10
0
0
-13
21
-6
-89
-2
0
5
0
0
0
0
0
0
0
62
-25
61
-48
20
40
-53
71
23
33
0
0
0
0
0
0
0
10
-8
3
1
-55
-59
-48
33
20
-24
6
0
0
0
0
0
0
-4
-4
-2
31
3
17
-19
27
17
1
0
0
0
0
0
0
0
1
-10
-1
16
9
15
-26
15
98
0
0
0
0
0
0
0
0
3
0
62
32
22
32
13
-16
9
-1
0
0
0
0
0
0
0
-7
0
0
0
-13
-1
24
3
14
0
0
0
0
0
0
0
0
0
-2
0
-9
0
-3
9
-23
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
47
-22
6
35
95
5
11
0
23
0
0
0
0
0
0
0
-68
-6
-57
53
85
14
-90
15
45
-26
-4
0
0
0
0
0
0
-25
-53
41
-24
-23
21
91
-28
52
10
0
2
0
0
0
0
0
36
41
37
-6
-54
-18
5
14
-1
-11
-2
0
0
0
0
0
0
1
-4
34
22
-23
-10
12
25
-35
0
0
0
0
0
0
0
0
4
-17
-15
3
9
30
-1
-26
33
-20
9
0
0
0
0
0
0
-5
-10
-5
-3
-9
-20
87
23
43
-5
5
0
0
0
0
0
0
0
0
0
0
2
20
36
4
-19
-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
7
19
33
45
-24
-60
-56
0
0
-2
2
0
0
0
0
0
1
62
-36
-15
34
-15
89
55
-75
59
5
0
0
0
0
0
0
-19
-47
65
-30
36
15
48
29
56
23
3
0
0
0
0
0
0
-10
-6
-34
-53
15
-5
-15
47
-29
-29
1
0
0
0
0
0
0
7
-63
27
-23
11
-45
-11
27
-4
44
-10
0
0
0
0
0
0
26
20
15
126
10
-46
30
30
0
11
2
0
0
0
0
0
0
7
1
-9
-15
7
31
26
-29
46
-1
0
0
0
0
0
0
0
0
1
1
-4
2
-5
-26
-27
15
-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
29
33
-24
80
128
-16
-45
-18
0
54
0
-1
0
0
0
0
0
-80
45
14
-45
36
-31
12
14
-33
-9
14
0
0
0
0
0
0
30
-21
-63
47
53
47
57
-40
44
18
-5
0
0
0
0
0
0
14
-113
63
79
48
76
26
-14
-35
-24
6
0
0
0
0
0
0
37
9
-24
6
-9
125
7
-19
43
34
1
0
0
0
0
0
0
7
18
-11
16
4
21
53
49
37
1
-3
-2
0
0
0
0
0
7
11
16
48
47
15
61
34
45
8
4
0
0
0
0
0
0
0
7
1
5
0
45
32
-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
34
-32
-8
13
-14
43
-31
-35
0
-24
1
0
0
0
0
0
0
53
80
-1
104
61
43
-26
-15
-50
43
-13
3
0
0
0
0
0
-86
33
5
-18
-12
53
24
-86
-43
-35
-23
0
0
0
0
0
0
-33
-9
-9
10
-41
17
-9
-4
-16
1
2
0
0
0
0
0
0
-11
-57
-14
44
49
80
14
17
65
3
1
1
0
0
0
0
0
23
5
-11
-2
52
-23
-36
-34
61
-24
-3
0
0
0
0
0
0
11
-5
-35
-8
-17
33
-4
-34
-68
56
0
0
0
0
0
0
0
0
-7
10
-8
-6
0
-13
47
-18
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
2
1
0
0
0
0
0
0
0
0
0
-26
-43
-3
4
10
39
41
0
-28
6
0
0
0
0
0
0
0
13
27
-6
18
3
79
-13
2
-56
-43
0
0
0
0
0
0
0
4
34
-16
-8
-2
13
75
69
16
21
0
0
0
0
0
0
0
43
46
-52
17
14
16
50
-28
-5
23
0
0
0
0
0
0
0
22
21
-1
14
-7
-62
-8
31
-34
-5
0
0
0
0
0
0
0
49
3
-17
3
44
41
52
-71
4
-3
0
0
0
0
0
0
0
-3
34
25
47
-59
9
36
24
17
0
0
0
0
0
0
0
0
0
1
1
15
18
33
-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
38
4
-1
-44
25
19
0
18
-2
-6
0
0
0
0
0
0
0
14
8
0
-33
45
-14
2
-19
-21
2
0
0
0
0
0
0
0
-6
4
-1
13
22
4
16
2
-14
-1
0
0
0
0
0
0
0
5
10
25
-10
33
78
71
5
41
0
0
0
0
0
0
0
0
32
0
-1
22
6
-43
15
33
5
0
0
0
0
0
0
0
0
0
0
1
5
-7
32
74
31
-13
4
0
0
0
0
0
0
0
0
0
0
-1
0
9
-32
19
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
-4
-16
0
0
0
0
0
0
0
0
-3
0
-2
3
0
0
10
0
3
0
0
0
0
0
0
0
0
5
4
0
-2
-2
-3
1
24
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
-9
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
19
83
61
-22
0
0
0
0
0
0
0
0
-13
0
0
-13
4
-39
18
45
-7
0
0
0
0
0
0
0
0
-6
0
0
33
26
43
17
10
2
0
0
0
0
0
0
0
0
0
0
0
-19
30
10
6
2
8
0
0
0
0
0
0
0
0
4
0
5
2
-5
34
24
-2
0
0
0
0
0
0
0
0
0
0
0
9
-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
9
43
-25
-63
0
29
0
0
0
0
0
0
0
0
-56
-1
-17
20
-25
-31
-22
105
29
0
0
0
0
0
0
0
0
-41
-1
26
-14
-14
35
23
-30
-5
0
0
0
0
0
0
0
0
15
-2
62
-20
-10
-22
-14
-25
-37
0
0
0
0
0
0
0
13
0
7
-13
-32
10
76
18
-15
-22
0
0
0
0
0
0
0
0
-2
47
10
68
-67
16
49
-58
0
0
0
0
0
0
0
0
0
-2
0
2
-83
-31
23
-7
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
-13
33
4
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
18
-18
11
0
-51
11
0
0
0
0
0
0
0
11
10
5
5
13
34
19
-22
10
27
0
0
0
0
0
0
0
14
14
0
-25
-22
-23
-17
-25
53
2
0
0
0
0
0
0
0
-5
1
-4
-37
58
17
-18
36
-37
26
0
0
0
0
0
0
0
2
0
2
41
-21
67
-5
-3
1
0
0
0
0
0
0
0
0
0
-2
41
9
24
-20
58
23
23
0
0
0
0
0
0
0
0
0
0
0
-9
2
-3
63
-4
5
0
0
0
0
0
0
0
0
0
0
0
-2
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
-1
-4
13
-4
24
91
-56
35
0
29
-6
0
0
0
0
0
0
-4
1
13
16
-24
-55
-75
1
-10
-39
-13
0
0
0
0
0
0
3
13
60
8
-32
-9
-5
-1
5
-15
-6
-2
0
0
0
0
0
0
0
-1
23
-3
46
-64
34
58
5
0
0
0
0
0
0
0
24
-3
7
0
-1
26
-19
-4
-10
4
0
0
0
0
0
0
0
0
2
0
-10
34
-18
18
33
3
-7
0
0
0
0
0
0
0
-2
0
0
4
-1
3
27
8
9
0
0
0
0
0
0
0
0
0
0
0
8
0
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
23
-3
-1
-10
-36
-66
-19
-8
0
43
0
0
0
0
0
0
0
21
24
18
34
-74
11
-5
1
5
-7
0
0
0
0
0
0
0
3
-4
-20
-5
62
5
78
14
-18
-57
0
0
0
0
0
0
0
0
-8
0
14
59
20
-31
20
19
3
4
0
0
0
0
0
0
-2
35
11
51
0
-45
-31
-43
11
41
-5
0
0
0
0
0
0
0
-6
-29
0
-29
-41
53
-13
-45
33
0
0
0
0
0
0
0
4
2
-2
0
-7
25
10
36
-21
0
0
0
0
0
0
0
0
0
-2
0
-4
0
10
-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
11
0
-33
6
-17
39
-2
-30
0
45
2
0
0
0
0
0
0
-3
-37
4
51
-41
22
-62
12
11
-2
1
0
0
0
0
0
0
-23
-6
-5
7
65
64
43
62
81
63
1
0
0
0
0
0
0
0
-7
9
35
-19
-76
11
37
-101
-36
0
0
0
0
0
0
0
44
-26
-7
37
-8
0
37
-37
-7
-11
-4
0
0
0
0
0
0
15
-15
39
63
-2
-19
-24
-52
95
8
0
0
0
0
0
0
0
1
2
-7
21
65
18
0
31
14
0
8
0
0
0
0
0
0
0
0
-1
6
0
-8
43
27
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
21
13
0
0
0
0
0
0
0
0
0
-6
21
-21
-25
33
-1
45
72
0
20
-3
0
0
0
0
0
0
1
-50
59
36
57
-53
59
-13
30
3
3
0
0
0
0
0
0
6
45
-4
-20
-104
43
2
36
47
-15
-4
0
0
0
0
0
0
-21
-11
10
6
-5
-66
9
23
-14
20
11
0
0
0
0
0
0
-10
-59
29
15
17
19
0
-31
73
-2
0
0
0
0
0
0
0
0
-16
51
6
26
2
-5
48
35
10
0
0
0
0
0
0
0
0
20
-4
80
5
-26
0
-11
50
8
-2
0
0
0
0
0
0
0
0
-2
0
0
39
-23
3
15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
46
0
10
0
0
0
0
0
0
0
48
5
14
70
34
38
-7
5
0
33
-6
0
0
0
0
0
0
-39
-43
-33
-36
65
-36
24
-8
3
5
19
0
0
0
0
0
0
54
-39
-82
-33
20
57
82
52
-30
-5
9
0
0
0
0
0
0
-133
37
-51
94
-15
28
-27
14
-1
48
1
4
0
0
0
0
0
-33
-14
-11
-13
32
-1
18
0
33
-45
27
0
0
0
0
0
0
-1
-43
-1
36
-20
-32
-27
-101
24
4
-3
0
0
0
0
0
0
-9
5
-15
-26
45
-6
-1
33
-1
2
1
0
0
0
0
0
0
0
0
26
-2
0
-26
-13
-2
6
15
0
0
0
0
0
0
0
0
0
0
0
9
0
7
-2
-4
0
0
0
0
0
0
0
0
4
53
-34
-107
-26
-29
-33
39
0
5
1
0
0
0
0
0
0
44
38
-2
9
-8
42
27
-40
-138
-14
-10
-5
0
0
0
0
0
-3
49
-63
-84
101
16
5
68
-18
21
0
-6
0
0
0
0
0
35
-13
-7
87
-24
-78
31
34
-38
123
33
0
0
0
0
0
0
-1
13
-30
36
-16
-25
-58
23
0
-1
0
0
0
0
0
0
0
6
66
16
-19
25
-48
-22
5
-1
45
-3
0
0
0
0
0
0
47
0
20
7
23
4
75
5
-12
-10
3
0
0
0
0
0
0
0
-1
35
11
13
17
54
22
-35
24
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
42
19
-16
9
8
-3
4
0
-10
-4
0
0
0
0
0
0
0
-17
-28
14
19
-47
-12
26
-29
-47
-1
1
0
0
0
0
0
0
-12
44
66
29
-30
-55
17
-73
-4
-1
0
0
0
0
0
0
0
-14
28
2
37
85
62
-8
46
-84
5
1
0
0
0
0
0
0
53
8
22
-43
76
-9
37
-6
0
-2
0
0
0
0
0
0
0
14
20
21
49
29
73
55
39
10
2
0
0
0
0
0
0
0
33
-24
2
-11
23
-23
80
-19
-4
-2
0
0
0
0
0
0
0
-2
-1
0
0
10
-39
-39
-11
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
17
-3
0
13
-11
-10
0
10
1
4
0
0
0
0
0
0
0
0
-11
-5
54
3
27
-88
-22
-5
5
0
0
0
0
0
0
0
41
10
39
24
60
-17
-69
8
-43
-4
0
0
0
0
0
0
0
-7
4
0
15
-45
-49
5
37
-16
1
0
0
0
0
0
0
0
0
19
0
27
35
36
-15
11
0
-5
0
0
0
0
0
0
0
-1
-4
2
0
-14
18
-15
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-23
-20
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
41
0
0
0
0
0
0
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
-14
-6
0
0
0
0
0
0
0
0
3
4
0
-6
-10
2
1
7
-11
0
0
0
0
0
0
0
0
2
0
7
-1
-5
5
41
3
22
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
-9
-5
0
0
0
0
0
0
0
0
0
0
-1
0
25
4
0
5
15
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
6
1
3
0
5
-10
0
0
0
0
0
0
0
0
-6
0
-1
1
-4
-3
36
5
-3
0
0
0
0
0
0
0
0
17
-9
6
-25
-3
24
2
-18
-1
0
0
0
0
0
0
0
0
7
0
-2
-7
53
1
73
2
-2
0
0
0
0
0
0
0
0
0
0
56
-4
9
-14
0
-2
13
0
0
0
0
0
0
0
0
0
6
0
1
125
8
4
9
1
0
0
0
0
0
0
0
0
0
0
0
79
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
2
-7
1
0
-1
-23
-2
0
0
0
0
0
0
0
0
0
0
24
0
1
6
-6
2
-75
5
-13
0
0
0
0
0
0
0
0
1
6
13
-14
-47
-1
10
2
13
0
0
0
0
0
0
0
3
-5
-1
60
8
58
79
-53
-33
-69
0
0
0
0
0
0
0
0
79
-6
-2
74
30
82
9
-23
7
0
0
0
0
0
0
0
-2
0
-6
3
-4
-17
-61
-53
-1
0
0
0
0
0
0
0
0
0
-8
0
-17
63
-6
-33
-44
-32
0
0
0
0
0
0
0
0
0
-3
0
0
0
-14
-14
-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
14
-3
118
-30
-13
0
41
1
0
0
0
0
0
0
0
-2
-1
1
-81
31
-12
35
-23
-33
-21
0
0
0
0
0
0
0
23
1
3
32
-39
-49
22
-44
6
-8
0
0
0
0
0
0
0
20
-1
21
5
-63
-65
-4
44
-46
-6
0
0
0
0
0
0
0
-2
7
0
32
-57
34
-31
25
-2
0
0
0
0
0
0
0
0
-3
0
0
-45
27
-1
6
-49
6
0
0
0
0
0
0
0
0
-6
0
0
-10
16
14
-6
39
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
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
-2
0
5
4
-5
85
24
0
8
0
0
0
0
0
0
0
19
-2
-2
-21
16
36
-43
3
5
14
33
0
0
0
0
0
0
0
0
-1
11
-27
22
-4
-35
10
14
6
0
0
0
0
0
0
2
0
-2
9
52
36
-19
-19
3
-3
0
0
0
0
0
0
0
-1
0
6
-55
23
12
-2
27
-17
0
0
0
0
0
0
0
0
2
0
1
0
6
21
8
0
2
4
0
0
0
0
0
0
0
-2
-2
0
4
0
6
-34
19
-9
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
26
-6
50
0
53
43
62
-12
0
-35
0
0
0
0
0
0
0
-7
-17
-8
26
-56
12
101
61
-3
-14
1
0
0
0
0
0
0
-3
-43
-2
-14
-132
-9
10
23
83
9
0
0
0
0
0
0
0
0
4
-13
-32
-53
45
8
46
-5
-53
0
0
0
0
0
0
0
6
-16
-52
-10
-3
-2
44
-33
-5
3
0
0
0
0
0
0
0
14
15
6
-7
0
-45
23
-5
-16
10
2
0
0
0
0
0
0
3
-1
1
0
-3
26
-8
25
57
0
0
0
0
0
0
0
0
0
0
0
-4
0
-25
1
63
13
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
-47
-18
3
-3
-24
52
0
44
0
0
0
0
0
0
0
10
-44
-49
86
31
-51
36
1
42
0
18
0
0
0
0
0
0
5
21
11
-39
73
-25
-19
11
-64
13
0
0
0
0
0
0
0
25
-25
0
4
-23
10
-15
36
-43
-17
0
0
0
0
0
0
0
10
-24
9
-15
-10
47
14
3
-43
26
0
0
0
0
0
0
0
16
17
3
-7
-36
0
-19
1
11
54
-5
0
0
0
0
0
0
1
43
-4
-13
-25
-45
9
9
104
0
0
0
0
0
0
0
0
0
0
0
-4
0
-10
-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
1
31
-34
-22
17
32
18
0
-35
6
0
0
0
0
0
0
-3
-58
-14
27
-33
16
-21
20
-71
-3
15
-1
0
0
0
0
0
9
2
33
-41
-91
12
51
-5
12
-9
0
0
0
0
0
0
0
-8
34
23
-33
-39
-30
36
23
5
2
0
0
0
0
0
0
0
15
-75
55
39
-4
-11
21
23
-33
-24
-3
0
0
0
0
0
0
26
43
1
45
80
-2
0
71
0
-6
0
0
0
0
0
0
0
-2
4
60
-44
30
-8
-30
44
47
-7
0
0
0
0
0
0
0
0
-1
7
0
-9
-43
-4
42
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
0
0
0
0
0
0
0
0
0
23
3
-27
-51
49
-33
2
0
0
29
-4
0
0
0
0
0
0
84
-53
-11
77
29
-5
57
-8
-49
13
-46
0
0
0
0
0
0
90
60
-39
-13
91
76
80
14
34
-4
2
0
0
0
0
0
0
4
-24
21
-47
8
-16
53
-26
-8
-5
0
0
0
0
0
0
0
31
47
21
-77
35
38
-35
-3
-28
-5
0
0
0
0
0
0
0
-64
-25
69
-5
13
2
36
0
-5
26
7
0
0
0
0
0
0
34
-10
48
-6
33
-18
27
-53
-5
-26
-1
0
0
0
0
0
0
0
-2
-2
10
10
0
-11
-5
6
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
17
12
-15
-6
64
17
-26
-107
0
-46
6
0
0
0
0
0
0
35
-62
104
33
-121
-28
-82
-135
-19
-47
-57
0
0
0
0
0
0
-8
9
56
34
44
-24
-19
29
30
-16
31
0
0
0
0
0
0
28
86
-35
27
-52
43
69
46
26
-31
0
2
0
0
0
0
0
10
80
-43
29
-31
-3
17
24
34
49
-4
1
0
0
0
0
0
26
-53
13
-65
58
51
-10
-37
0
29
3
0
0
0
0
0
0
61
36
26
128
67
-14
-18
-43
-14
1
4
0
0
0
0
0
0
0
-5
19
-1
-6
48
-13
56
-19
33
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
-64
-11
-3
-15
-31
-23
-10
0
1
14
-2
0
0
0
0
0
0
-55
19
9
20
0
17
18
-73
-19
-15
0
0
0
0
0
0
0
-30
15
0
18
57
104
96
-112
12
13
0
0
0
0
0
0
0
1
-5
47
30
56
31
-52
24
13
-48
0
0
0
0
0
0
0
-29
70
-7
46
-4
56
51
13
-36
20
0
0
0
0
0
0
0
25
-2
-16
-8
25
36
98
-1
0
-23
0
0
0
0
0
0
0
-5
-17
-76
9
11
-50
-5
18
-2
0
0
0
0
0
0
0
0
0
-1
-6
0
-20
-20
5
27
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
14
-1
0
0
0
0
0
0
0
0
0
0
0
1
-4
33
36
0
-18
60
33
0
0
0
0
0
0
0
25
13
-10
44
-14
40
-36
-43
4
-5
0
0
0
0
0
0
0
15
7
-1
17
-21
19
26
2
-2
-49
0
0
0
0
0
0
0
-2
2
11
-10
68
5
-17
-8
33
-5
0
0
0
0
0
0
0
-1
-5
-9
31
24
0
-32
33
-3
3
0
0
0
0
0
0
0
-1
6
0
-7
-5
-26
-4
-11
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
-22
-45
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
-14
0
1
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-1
-2
-11
31
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
5
39
-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
15
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
50
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
55
0
-3
0
0
0
0
0
0
0
0
1
0
0
8
-1
33
0
11
0
0
0
0
0
0
0
0
0
0
4
0
1
-41
-6
-13
4
0
0
0
0
0
0
0
0
0
0
0
-4
-33
0
55
0
2
0
0
0
0
0
0
0
0
0
0
10
0
0
-39
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
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
14
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
73
-16
-21
41
-23
0
0
0
0
0
0
0
0
31
0
0
33
-14
-30
16
24
15
0
0
0
0
0
0
0
0
9
0
-36
17
41
-16
26
-59
-14
0
0
0
0
0
0
0
-7
-4
-29
-23
-30
-5
14
-3
-4
-1
0
0
0
0
0
0
0
1
0
7
0
-34
-46
46
6
3
0
0
0
0
0
0
0
0
0
0
-2
8
18
-8
14
5
8
0
0
0
0
0
0
0
0
0
-11
0
5
-4
6
34
43
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
-15
-2
-39
-6
0
-4
0
0
0
0
0
0
0
0
1
1
0
-5
-1
29
32
-26
29
-7
0
0
0
0
0
0
0
4
-3
-4
-1
-15
-50
11
-1
-8
3
0
0
0
0
0
0
0
-5
6
0
15
71
-26
27
-13
-13
0
0
0
0
0
0
0
0
25
13
-5
-33
-72
29
25
-37
13
0
0
0
0
0
0
0
0
-4
0
0
53
46
47
-52
3
0
0
0
0
0
0
0
0
0
-2
0
0
5
14
-31
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
45
34
36
-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
-11
1
-10
0
0
0
0
0
0
0
0
0
10
0
-4
0
5
11
-1
-15
78
-11
-1
0
0
0
0
0
0
0
0
0
0
-2
2
36
11
16
-1
-2
0
0
0
0
0
0
13
0
0
2
7
-8
1
14
-4
-2
1
0
0
0
0
0
0
0
0
-9
-3
10
34
15
34
-18
0
0
0
0
0
0
0
0
0
4
4
2
-1
17
-10
-26
2
0
0
0
0
0
0
0
0
1
0
0
0
10
11
26
10
34
-2
0
0
0
0
0
0
0
0
0
0
15
0
9
-6
6
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
-15
-13
-68
-25
0
17
0
0
0
0
0
0
0
0
52
0
21
-18
-49
-20
-43
20
-22
0
0
0
0
0
0
0
0
45
4
43
-11
37
50
-33
24
-17
0
0
0
0
0
0
0
-2
-26
0
-4
17
-15
-29
-95
-31
-57
0
0
0
0
0
0
0
1
0
-3
18
7
-18
-21
-11
-73
0
0
0
0
0
0
0
0
0
-16
4
29
13
-32
18
11
-5
39
0
3
0
0
0
0
0
-3
18
-2
15
0
18
8
13
4
9
0
0
0
0
0
0
0
0
-5
0
-2
0
32
31
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
-14
7
7
35
0
0
-43
0
0
0
0
0
0
0
1
0
-8
-2
-13
23
-5
44
-1
3
1
0
0
0
0
0
0
1
-32
0
39
2
19
-29
39
41
-14
-2
0
0
0
0
0
0
-25
33
16
-9
-22
50
27
33
6
-5
-1
0
0
0
0
0
0
6
-8
-10
2
35
19
-5
-2
23
-9
0
0
0
0
0
0
0
18
-5
17
-29
0
19
30
-43
24
2
5
0
0
0
0
0
0
1
33
-9
0
-10
0
5
-5
14
-3
0
0
0
0
0
0
0
0
-2
0
95
0
45
-2
-27
-8
0
0
0
0
0
0
0
0
0
0
0
0
17
0
6
4
0
0
0
0
0
0
0
0
0
2
0
11
-13
-13
-1
-8
33
0
-33
3
0
0
0
0
0
0
6
-21
2
21
-57
-6
-41
-41
-25
-10
10
0
0
0
0
0
0
18
2
-6
-9
9
27
-13
-34
5
-15
-1
0
0
0
0
0
0
32
33
16
-26
14
29
16
5
-22
46
1
0
0
0
0
0
0
1
140
-13
14
-5
114
53
41
6
-16
0
0
0
0
0
0
0
0
11
22
24
32
22
0
-26
-14
36
0
0
0
0
0
0
0
0
7
-6
13
31
-43
0
19
43
9
0
0
0
0
0
0
0
0
3
-2
-14
-5
-4
33
7
15
-9
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
-3
14
-11
-36
-14
43
55
0
-15
2
0
0
0
0
0
0
-133
-64
30
22
6
-11
31
13
-52
46
-35
0
0
0
0
0
0
23
0
-18
-24
-44
37
70
10
10
46
2
0
0
0
0
0
0
47
-43
61
-8
-14
-5
5
44
-21
18
-17
0
0
0
0
0
0
16
-48
14
5
11
14
-43
34
23
-27
5
0
0
0
0
0
0
-27
5
59
60
-18
-96
-6
-44
-30
-33
-5
0
0
0
0
0
0
18
27
26
-6
7
-30
-82
0
19
8
3
0
0
0
0
0
0
0
-3
-14
-34
9
5
20
9
5
-7
0
0
0
0
0
0
0
0
0
0
0
3
0
9
-1
10
0
0
0
0
0
0
0
0
0
32
33
16
22
-68
-3
12
0
-22
7
0
0
0
0
0
0
-7
68
-20
-40
24
93
-116
-48
-99
-15
10
0
0
0
0
0
0
5
-15
3
31
27
-169
50
59
-70
-3
2
8
0
0
0
0
0
-5
51
-14
15
49
106
39
-69
147
19
-9
0
0
0
0
0
0
41
-52
4
64
-12
-33
-5
-73
47
9
0
0
0
0
0
0
0
0
-60
-32
43
-55
5
-54
-10
-51
-17
-1
0
0
0
0
0
0
4
14
-34
-3
14
19
43
-76
0
33
0
1
0
0
0
0
0
0
15
7
-13
50
22
37
-18
23
8
0
0
0
0
0
0
0
0
-5
0
0
0
-1
-3
45
0
2
0
0
0
0
0
0
0
0
15
-24
-45
14
-5
-21
-34
0
-14
20
0
0
0
0
0
0
0
41
86
-3
54
-38
77
-14
30
27
87
0
0
0
0
0
0
0
14
9
-43
-23
-77
-4
-13
40
-14
-8
-3
0
0
0
0
0
0
27
30
16
-59
46
-17
-7
4
-7
9
0
0
0
0
0
0
0
29
52
-46
4
2
-63
-55
11
14
7
0
0
0
0
0
0
0
6
6
41
54
68
-5
101
53
-2
1
0
0
0
0
0
0
0
5
-51
24
63
46
29
20
-11
0
-1
0
0
0
0
0
0
0
18
-3
-4
5
-2
7
62
8
35
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
11
1
-44
0
-1
-32
-6
0
0
0
0
0
0
0
-10
-77
-17
-7
-30
-27
-9
-15
-18
35
0
0
0
0
0
0
0
3
8
2
0
-18
-3
-60
-16
32
-2
0
0
0
0
0
0
0
1
49
17
4
-10
56
-10
-14
-36
0
0
0
0
0
0
0
0
-15
3
2
78
32
21
-24
33
-28
1
0
0
0
0
0
0
0
0
-4
0
1
-58
22
-69
-6
6
-7
0
0
0
0
0
0
0
0
-2
-3
-23
3
-19
-58
23
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-5
3
-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
33
18
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
-1
-5
-19
0
0
0
0
0
0
0
0
1
-1
0
1
0
-16
-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
-9
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
-10
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
17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
10
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
-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
0
0
0
0
0
71
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-31
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
6
-17
4
0
0
0
0
0
0
0
0
0
8
-17
0
3
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
10
-6
32
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
4
17
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
14
0
0
4
0
0
0
0
0
0
0
0
0
0
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
-24
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
16
3
-45
16
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
-24
1
21
2
3
-6
2
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
20
0
4
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
2
0
-3
-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
9
2
25
20
0
0
0
0
0
0
0
0
0
0
6
0
-8
0
-23
-14
-1
2
0
0
0
0
0
0
0
0
0
2
-13
-13
29
1
-9
-5
0
0
0
0
0
0
0
0
1
0
0
0
-33
14
4
-2
5
8
0
0
0
0
0
0
0
0
0
10
0
0
24
-2
6
1
0
1
0
0
0
0
0
0
7
-1
0
0
9
0
-34
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
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
14
-22
29
-7
6
0
0
0
0
0
0
0
0
1
-1
0
1
13
4
13
-18
11
0
0
0
0
0
0
0
0
-4
-2
3
-9
18
41
34
-5
-2
0
0
0
0
0
0
0
0
0
0
0
1
7
24
-1
2
0
0
0
0
0
0
0
0
-2
-4
-1
-8
3
-33
7
-9
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-24
0
14
-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
-14
-6
-17
29
6
-46
0
9
3
0
0
0
0
0
0
0
3
3
3
-41
-14
-54
61
5
-7
0
0
0
0
0
0
0
-6
-3
1
-9
-1
-34
-15
-17
-8
5
0
0
0
0
0
0
0
-11
19
-17
-3
-34
-3
9
14
-39
-1
0
0
0
0
0
0
0
-1
-14
-25
5
-4
13
-2
-1
15
17
0
0
0
0
0
0
0
0
2
-2
-2
-4
0
15
19
9
1
-2
0
0
0
0
0
0
0
-4
0
-7
9
0
-20
20
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
53
-35
0
3
0
0
0
0
0
0
0
0
4
-6
-1
0
5
23
-48
-22
34
0
0
0
0
0
0
0
0
-19
-6
-1
-3
-8
-60
7
45
0
-5
0
0
0
0
0
0
1
7
1
8
-15
-43
23
-11
16
36
0
0
0
0
0
0
0
-3
24
-6
-6
-31
-18
15
31
-7
0
0
0
0
0
0
0
0
44
7
35
55
0
-19
9
26
-17
-6
0
0
0
0
0
0
0
-1
10
1
1
-9
9
-4
-15
-29
-2
0
0
0
0
0
0
0
0
-11
-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
76
-10
-7
14
0
-6
0
0
0
0
0
0
0
-9
-3
-41
-2
24
30
-15
8
7
2
-13
0
0
0
0
0
0
-15
7
29
72
-41
48
75
-43
-9
-52
-1
0
0
0
0
0
0
21
2
-1
25
5
42
68
43
0
8
-1
0
0
0
0
0
0
5
7
9
-5
62
-3
-7
-18
99
-36
0
0
0
0
0
0
0
3
77
2
45
1
-107
53
-41
14
-11
0
0
0
0
0
0
0
-1
-44
34
10
39
71
-7
-17
5
0
0
0
0
0
0
0
0
1
48
24
-6
25
21
46
0
-10
-8
0
0
0
0
0
0
0
0
1
0
0
-16
0
-11
-5
4
0
0
0
0
0
0
0
0
0
-39
-4
27
19
-6
-109
20
0
3
0
0
0
0
0
0
0
0
-35
-53
-18
-87
-7
-27
-4
35
-15
3
0
0
0
0
0
0
-6
26
34
32
74
-24
53
27
-55
-54
0
0
0
0
0
0
0
0
93
-22
10
-41
-78
44
-57
-19
44
4
0
0
0
0
0
0
18
-8
9
9
-44
-12
-24
3
33
-43
5
0
0
0
0
0
0
-24
-27
54
-2
28
-49
-61
28
7
8
0
0
0
0
0
0
0
-1
-3
18
3
-8
20
-46
-32
60
-41
0
0
0
0
0
0
0
2
0
25
45
14
-54
19
-43
0
-14
-1
0
0
0
0
0
0
0
1
-2
0
2
6
-15
8
-13
0
0
0
0
0
0
0
0
0
0
13
2
5
-6
-7
54
0
1
5
0
0
0
0
0
0
0
-22
27
7
100
9
4
27
-17
-45
-4
0
0
0
0
0
0
0
17
31
-11
19
-53
-45
-59
11
53
10
0
0
0
0
0
0
0
-32
5
15
-64
-80
6
0
0
3
41
0
0
0
0
0
0
0
21
-16
-8
-10
-18
90
-3
27
-27
-14
0
0
0
0
0
0
0
19
61
-1
-1
-46
11
-16
-33
-14
44
0
0
0
0
0
0
0
-16
-20
7
-24
45
2
8
58
3
-6
0
0
0
0
0
0
0
-5
-2
0
11
-18
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-33
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-21
0
-16
-3
0
0
0
0
0
0
0
0
0
0
0
2
11
2
-50
-1
15
0
0
0
0
0
0
0
0
-4
2
0
33
1
-58
8
-13
45
-1
0
0
0
0
0
0
0
-3
-7
-3
-14
21
13
-3
17
43
0
0
0
0
0
0
0
0
0
0
0
0
-60
8
52
-17
5
2
0
0
0
0
0
0
0
-3
-1
0
1
-4
5
21
-26
7
-1
0
0
0
0
0
0
0
0
0
0
3
-5
-6
-17
-34
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
-16
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
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-44
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-2
5
0
17
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
17
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
14
0
37
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
69
-1
-2
0
-11
2
0
0
0
0
0
0
0
0
2
0
2
-1
-17
0
10
0
0
0
-1
0
0
0
0
0
0
-1
0
-6
-1
20
-52
0
3
0
0
0
0
0
0
0
0
0
-5
-4
0
7
-19
0
29
-3
-23
0
0
0
0
0
0
0
0
0
-1
0
4
0
-11
-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
-13
-4
-17
0
-5
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
-10
-14
-5
-7
-17
55
-1
0
0
0
0
0
0
0
0
0
0
7
10
6
0
33
0
9
0
0
0
0
0
0
0
0
1
0
0
-21
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
4
25
-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
-9
-15
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
-9
45
6
0
0
0
0
0
0
0
0
0
0
0
17
-8
-5
-15
-13
3
2
0
0
0
0
0
0
0
0
0
-1
-1
-1
-3
22
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
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
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
-10
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
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
-14
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
15
-5
0
-1
0
-3
0
0
0
0
0
0
0
34
39
-5
-83
9
0
-2
0
14
7
0
0
0
0
0
0
0
-5
5
-18
-46
-19
11
-10
4
-3
52
-1
0
0
0
0
0
0
-6
-14
53
61
4
-17
-8
0
-43
0
0
0
0
0
0
0
0
6
16
6
1
-14
83
-6
-1
1
-5
0
0
0
0
0
0
0
13
-6
-8
-5
-10
2
-6
-2
-6
0
0
0
0
0
0
0
0
1
11
2
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-4
2
-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
-1
0
2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
10
-39
0
0
0
0
0
0
0
0
0
-13
-1
-35
-2
0
8
2
-32
0
0
0
0
0
0
0
0
0
0
5
-11
5
0
0
1
-61
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
-13
5
0
0
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-5
23
2
0
-11
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
11
-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
-11
-2
-2
-5
0
10
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
31
-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
-9
6
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-3
-1
-3
0
-2
-10
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
-19
-9
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
5
3
10
-17
0
0
2
0
0
0
0
0
0
0
0
0
0
-13
-6
4
-16
2
4
-9
-1
0
0
0
0
0
0
0
0
2
4
6
1
43
9
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
-9
0
5
0
0
0
0
0
0
0
0
0
0
0
0
4
23
37
7
0
1
0
0
0
0
0
0
0
0
0
0
0
1
25
-19
9
-2
-5
-2
-4
0
0
0
0
0
0
0
0
-1
8
-16
17
-2
-32
-62
-1
-2
8
0
0
0
0
0
0
0
0
-5
-5
-1
17
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
-11
6
4
7
0
5
0
0
0
0
0
0
0
0
0
0
9
44
28
-11
86
0
0
-14
0
0
0
0
0
0
0
0
14
-17
41
-33
-34
-1
-16
-5
-19
-11
-3
0
0
0
0
0
0
1
-7
0
-17
63
54
2
0
15
0
0
0
0
0
0
0
0
-14
-1
-50
2
55
20
1
-2
-5
0
0
0
0
0
0
0
0
1
48
8
32
-14
-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
21
5
-28
-53
-50
-45
0
-4
-62
-2
3
0
0
0
0
0
0
18
12
10
-25
-25
0
-1
0
-84
17
1
0
0
0
0
0
0
-33
125
48
21
-62
-36
-51
-29
19
-34
0
0
0
0
0
0
0
-13
90
1
52
-39
-53
8
7
0
20
-1
1
0
0
0
0
0
-63
-27
-2
-35
54
-86
-3
-3
1
0
0
0
0
0
0
0
0
-19
-43
37
23
-78
-33
-13
-19
2
1
0
0
0
0
0
0
0
0
-4
59
1
2
2
0
0
-11
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
4
-10
0
0
-63
4
1
0
0
0
0
0
0
0
8
-22
-22
-17
0
-29
0
-12
14
-1
0
0
0
0
0
0
0
-9
-3
20
-17
13
9
9
8
8
-4
0
0
0
0
0
0
0
-7
-32
-14
53
45
24
-6
-30
-10
27
2
0
0
0
0
0
0
-5
0
18
9
8
-16
16
-1
21
0
0
0
0
0
0
0
0
-2
-1
-2
-9
7
20
9
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
-1
-1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
0
27
-5
0
0
0
0
0
0
0
0
0
2
-4
-1
3
4
-3
0
18
0
0
0
0
0
0
0
0
0
2
4
0
-4
2
-6
0
3
22
1
0
0
0
0
0
0
0
1
0
-9
1
0
-1
-15
0
-2
0
0
0
0
0
0
0
0
1
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
-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
37
25
0
-17
1
0
0
0
0
0
0
0
0
0
0
0
2
-19
0
-6
2
-9
-1
-6
1
0
0
0
0
0
0
0
0
17
8
0
3
13
0
-1
0
0
0
0
0
0
0
0
0
-15
0
-1
0
-5
3
3
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
5
-15
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
15
-14
-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
9
-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
-45
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
-17
-18
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
10
11
-5
-61
-14
1
2
-4
3
0
0
0
0
0
0
0
0
-1
-19
-1
6
9
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
6
-26
16
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-11
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
11
7
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-11
15
39
21
3
-10
0
3
0
0
0
0
0
0
0
0
0
-1
-5
9
3
-7
5
6
11
0
0
0
0
0
0
0
0
0
-20
-5
7
3
14
-2
-25
2
0
0
0
0
0
0
0
0
0
3
-8
-26
-13
-56
9
0
0
-2
0
0
0
0
0
0
0
0
0
-4
11
16
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
-14
24
1
24
-3
0
0
0
0
0
0
0
0
0
0
0
1
5
25
-24
7
13
-3
0
6
0
-1
0
0
0
0
0
0
-9
-24
-1
0
-20
0
10
2
-13
-5
0
0
0
0
0
0
0
2
-8
-63
-33
-33
-46
-4
35
3
-5
-5
0
0
0
0
0
0
0
-18
33
-14
-59
5
21
0
0
0
0
0
0
0
0
0
0
0
0
2
25
6
3
-2
-1
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
-6
0
0
0
0
0
0
0
0
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
10
4
9
8
0
0
0
0
0
0
0
0
0
0
26
-9
-20
58
63
-15
-15
0
-13
0
-1
0
0
0
0
0
0
-7
-55
-3
-23
-103
18
10
-16
45
-1
4
0
0
0
0
0
0
9
-50
-2
64
-60
-18
36
45
-23
-6
0
0
0
0
0
0
0
11
-5
-6
-23
-71
37
14
5
-14
1
0
0
0
0
0
0
0
0
-9
36
-10
-5
-9
-15
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-17
3
-6
8
-1
0
0
0
1
0
0
0
0
0
0
14
83
-106
-76
-102
-53
-85
0
-12
0
16
0
0
0
0
0
0
-16
-47
-5
-52
-55
-25
-3
2
-27
-28
-11
0
0
0
0
0
0
-32
4
-79
62
59
-10
14
-18
-10
-46
-3
-5
0
0
0
0
0
23
33
-5
-43
-5
-50
-55
5
-2
-2
-9
0
0
0
0
0
0
-1
-2
-14
4
13
-3
5
1
0
1
0
0
0
0
0
0
0
-3
1
17
0
48
0
20
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
23
103
88
-17
-54
-18
4
0
0
0
0
0
0
0
0
0
-39
8
39
-33
-31
50
38
0
-44
0
3
0
0
0
0
0
0
4
30
-69
-55
53
9
-6
-40
15
25
3
0
0
0
0
0
0
-91
47
-38
-11
-33
95
-113
15
26
-24
5
-6
0
0
0
0
0
32
-47
-1
44
23
47
-38
15
-7
-3
-1
0
0
0
0
0
0
-1
-11
-5
23
45
-4
22
2
1
0
0
0
0
0
0
0
0
0
0
0
-53
-15
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
2
6
-13
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
-16
-62
-43
-36
18
2
-14
0
-92
-32
1
0
0
0
0
0
0
-47
-42
-49
-52
2
-35
0
7
0
4
6
0
0
0
0
0
0
19
0
-4
63
49
-48
-3
-52
5
6
-17
0
0
0
0
0
0
-17
-55
15
-23
45
-60
-49
-9
35
-3
-5
1
0
0
0
0
0
-10
-58
-43
34
-85
-83
-113
-9
31
7
-7
-1
0
0
0
0
0
2
34
74
33
-168
2
-27
0
-5
-2
0
0
0
0
0
0
0
-5
15
29
53
32
77
9
0
-7
-1
0
0
0
0
0
0
0
0
-7
35
3
-14
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
23
-21
19
0
0
0
-10
7
0
0
0
0
0
0
0
8
-10
-23
-41
-17
0
-8
0
14
17
0
0
0
0
0
0
0
-17
2
-47
78
31
46
-5
14
21
-42
1
0
0
0
0
0
0
14
78
47
-5
42
51
23
-5
-41
-66
-3
0
0
0
0
0
0
-4
79
-38
22
53
11
3
17
-4
0
0
0
0
0
0
0
0
-2
16
48
-22
13
-5
2
1
0
1
0
0
0
0
0
0
0
0
17
3
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-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
11
-8
0
0
-15
0
35
5
0
0
0
0
0
0
0
0
-6
7
-4
-13
-48
2
4
-43
7
-15
0
0
0
0
0
0
0
4
-10
-39
-10
11
10
24
-3
3
-5
-1
0
0
0
0
0
0
0
-3
-8
-4
-3
15
-2
4
-63
2
0
0
0
0
0
0
0
0
25
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
-13
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
14
-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
20
-5
2
0
0
14
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
-26
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
6
-11
5
8
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
4
-32
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
6
-25
-16
-46
2
0
-5
0
0
0
0
0
0
0
0
-6
0
-18
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
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
17
26
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
14
6
-21
-16
-14
0
7
13
0
0
0
0
0
0
0
-8
-10
-6
1
21
17
1
4
-1
5
0
0
0
0
0
0
0
-4
23
4
3
-23
68
-76
0
4
0
0
0
0
0
0
0
0
0
0
-2
27
-2
4
20
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
-29
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-52
30
23
0
0
-1
0
0
0
0
0
0
0
0
-2
-5
46
-16
-32
5
5
0
14
-5
0
0
0
0
0
0
0
3
-14
-82
-19
-4
-81
23
1
5
1
0
0
0
0
0
0
0
0
-6
-5
-19
8
7
-33
-8
-16
-13
0
0
0
0
0
0
0
0
-4
-1
39
-36
3
-3
-5
0
0
0
0
0
0
0
0
0
0
0
-10
0
11
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
-50
7
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
34
-32
34
-55
-4
0
0
0
0
0
0
0
0
0
0
4
25
12
-48
-41
-21
-31
0
0
5
0
0
0
0
0
0
0
-1
9
-10
1
10
0
-4
2
10
0
0
0
0
0
0
0
0
0
-1
43
35
10
14
9
-1
-1
2
0
0
0
0
0
0
0
0
-1
-15
-43
16
50
-4
0
0
0
0
0
0
0
0
0
0
0
0
-21
-33
-10
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
10
-9
-10
5
-15
-3
0
0
6
1
0
0
0
0
0
0
-32
-20
-17
29
21
71
-9
0
0
0
0
0
0
0
0
0
0
45
31
39
-11
-22
-22
0
2
39
-53
-1
0
0
0
0
0
0
-3
-4
20
-7
-53
2
-4
-43
3
29
0
0
0
0
0
0
0
5
-7
15
5
-12
-9
16
-14
35
0
0
0
0
0
0
0
0
0
-45
-7
-74
46
-27
5
0
0
19
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
0
-10
-40
-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
-14
-40
4
-4
-18
-45
-44
2
0
0
0
0
0
0
0
0
0
-8
6
53
-19
-22
-43
-50
0
11
0
4
0
0
0
0
0
0
5
-48
36
-17
-93
-16
13
-26
3
-10
2
0
0
0
0
0
0
52
-49
-5
-27
-53
3
-22
0
-18
-6
8
0
0
0
0
0
0
0
72
-46
-44
-28
-34
38
1
0
46
0
0
0
0
0
0
0
-3
-31
26
-53
22
-63
-5
-1
0
-5
0
0
0
0
0
0
0
0
-6
24
14
-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
-31
-8
38
-14
20
3
-7
0
0
-2
0
0
0
0
0
0
23
-55
-5
29
-32
-21
-105
0
-23
0
-36
-3
0
0
0
0
0
-121
-90
74
-21
-27
15
-9
-25
-41
-49
16
0
0
0
0
0
0
-14
-73
60
23
9
36
1
27
-27
26
-15
0
0
0
0
0
0
-6
42
-42
10
100
-100
-28
-7
11
-10
-5
0
0
0
0
0
0
0
-34
19
-19
19
23
18
1
9
-5
0
0
0
0
0
0
0
0
0
-104
-101
-2
0
-98
0
-1
0
0
0
0
0
0
0
0
0
20
0
-75
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
-6
46
-12
-18
-1
-20
11
0
-83
0
0
0
0
0
0
0
0
1
15
8
-40
-8
-15
0
-1
0
-65
11
0
0
0
0
0
0
-30
12
-13
0
14
-50
-7
-152
-41
39
-8
0
0
0
0
0
0
34
-75
15
24
41
-64
17
-44
-14
-14
-4
0
0
0
0
0
0
13
-23
-20
-2
-33
-27
19
34
31
7
-3
0
0
0
0
0
0
54
-47
-32
-49
29
4
-43
9
5
0
0
0
0
0
0
0
0
-35
-23
30
62
68
-20
1
1
0
0
0
0
0
0
0
0
0
5
-9
-9
11
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
-19
9
-5
15
0
0
0
33
0
0
0
0
0
0
0
0
29
43
14
-87
47
0
-1
0
34
1
0
0
0
0
0
0
0
30
-1
-58
26
-26
-5
19
-34
-60
-7
0
0
0
0
0
0
0
3
48
-22
71
42
19
4
0
-13
-20
0
0
0
0
0
0
0
-11
24
-7
-59
8
-7
-2
3
-4
0
2
0
0
0
0
0
0
0
-24
-27
0
4
6
3
0
2
1
0
0
0
0
0
0
0
0
1
-1
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-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
-11
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
5
-5
6
-8
1
1
16
-5
-2
0
0
0
0
0
0
0
-2
-3
1
5
-20
4
1
1
0
-7
0
0
0
0
0
0
0
1
5
-6
0
-3
-9
-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
-18
1
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-14
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
9
-1
-6
2
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
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
-61
-8
46
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
1
29
0
0
-11
-17
2
0
0
0
0
0
0
0
2
0
0
7
19
36
9
0
1
0
0
0
0
0
0
0
0
0
-24
0
0
-32
1
4
1
0
1
0
0
0
0
0
0
0
0
-2
0
8
15
17
2
17
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
24
4
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
-27
27
9
-45
-1
3
0
0
0
0
0
0
0
0
0
0
3
0
-49
2
-9
10
4
0
1
6
-1
0
0
0
0
0
0
1
9
3
-9
1
-2
2
-1
0
3
0
0
0
0
0
0
0
-8
21
-14
0
59
-9
21
18
6
13
0
0
0
0
0
0
0
0
0
-1
1
-17
-36
13
2
0
-6
0
0
0
0
0
0
0
-1
0
8
-7
-36
3
-7
3
1
0
0
0
0
0
0
0
0
0
0
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
-1
-3
37
-19
5
6
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-21
13
24
-2
8
0
-1
0
0
0
0
0
0
0
0
2
41
5
26
29
10
-6
0
-16
6
-1
0
0
0
0
0
0
4
-3
0
5
-21
-53
-13
2
0
-5
0
0
0
0
0
0
0
-3
-37
-102
5
0
4
-79
2
10
0
0
0
0
0
0
0
0
0
4
4
-15
-60
0
-4
-6
-4
1
0
0
0
0
0
0
0
0
0
-11
-10
4
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
-15
-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
-5
3
-29
0
-1
0
0
0
0
0
0
0
0
0
0
-5
5
-3
31
18
4
9
0
0
0
1
0
0
0
0
0
0
-2
-26
13
-5
-3
-36
-19
0
5
17
0
0
0
0
0
0
0
-1
15
44
-53
-21
26
-6
33
-1
4
3
0
0
0
0
0
0
1
1
7
-31
-46
0
-31
0
8
-3
0
0
0
0
0
0
0
0
-4
-5
-11
-59
-19
-18
0
0
-1
0
0
0
0
0
0
0
0
-1
6
-4
-2
-25
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
-9
-44
72
-74
10
2
-26
0
0
0
0
0
0
0
0
0
0
-4
24
-30
19
9
-82
5
0
8
0
1
0
0
0
0
0
0
11
19
-47
80
-13
5
-43
-3
-16
-19
0
-1
0
0
0
0
0
6
-30
-7
29
-53
9
-61
18
-5
1
-5
0
0
0
0
0
0
-37
-22
-7
30
-50
-54
0
-11
-30
0
0
0
0
0
0
0
0
3
24
-39
-66
23
29
47
0
1
-3
0
0
0
0
0
0
0
4
0
8
-49
-46
1
8
-6
0
-13
0
0
0
0
0
0
0
0
1
-17
6
8
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
-11
7
-52
-25
-15
-16
-74
1
0
0
0
0
0
0
0
0
0
9
-50
29
27
23
-165
-32
0
-4
0
0
0
0
0
0
0
0
-33
13
-43
-8
50
-5
33
-11
-54
-40
-2
0
0
0
0
0
0
-3
0
80
27
-128
-4
16
-7
33
20
-3
0
0
0
0
0
0
19
5
-17
5
-23
8
-67
0
-22
8
4
4
0
0
0
0
0
2
-30
-33
-53
-26
57
20
-61
0
-41
0
0
0
0
0
0
0
2
4
13
-15
25
4
14
10
-3
2
0
0
0
0
0
0
0
0
4
-1
-5
-29
6
-15
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
68
47
-47
43
33
0
0
2
-2
0
0
0
0
0
0
-26
-34
-9
37
52
-95
24
0
-17
0
3
-1
0
0
0
0
0
-39
1
-17
-73
-47
-55
36
-80
3
-81
-43
0
0
0
0
0
0
20
43
6
37
75
-1
-95
-5
-4
-52
-8
0
0
0
0
0
0
-23
7
-36
-31
-32
86
49
28
0
14
-1
1
0
0
0
0
0
5
-26
-14
-18
-100
-35
31
14
41
0
4
0
0
0
0
0
0
2
-11
-120
-26
-30
-8
53
35
-4
0
0
0
0
0
0
0
0
0
0
-4
61
-17
-2
0
1
2
0
0
0
0
0
0
0
0
0
11
29
-1
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
-54
-33
-105
-4
-33
7
-4
0
16
0
0
0
0
0
0
0
0
-43
28
21
79
30
37
0
-6
0
-40
3
0
0
0
0
0
0
-16
-81
53
54
115
-46
-68
-63
9
39
-1
0
0
0
0
0
0
43
11
-57
-95
-116
1
-5
-47
-16
11
-5
0
0
0
0
0
0
-7
54
74
-21
5
-9
-10
-6
0
9
-4
0
0
0
0
0
0
27
-25
51
83
22
53
-18
20
11
1
0
1
0
0
0
0
0
0
7
4
-6
-124
60
-3
21
-3
0
0
0
0
0
0
0
0
0
10
66
-31
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
7
17
-25
24
-4
6
0
2
108
0
0
0
0
0
0
0
0
-15
23
-4
13
-102
0
0
0
-19
1
0
0
0
0
0
0
0
8
20
-7
-36
49
19
-30
24
4
1
0
0
0
0
0
0
0
0
22
17
-7
-50
31
-2
-15
25
3
0
0
0
0
0
0
0
2
-1
-19
74
-5
-23
7
0
0
-5
0
0
0
0
0
0
0
0
17
35
-44
2
4
-1
-8
-6
0
0
0
0
0
0
0
0
-3
-3
0
-13
-7
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
-9
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
14
5
-5
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
-43
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-8
2
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
15
0
29
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
18
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-9
32
-57
6
6
0
0
0
0
0
0
0
0
0
0
0
-8
3
-17
9
0
-2
0
-3
1
0
0
0
0
0
0
0
0
-16
0
-2
3
0
1
-1
2
0
0
0
0
0
0
0
0
0
11
0
-8
-7
-26
1
0
0
-11
0
0
0
0
0
0
0
0
0
0
8
0
-11
0
0
-4
-5
0
0
0
0
0
0
0
0
0
23
0
9
2
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
2
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
25
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
21
14
-33
3
0
-4
1
0
0
0
0
0
0
0
-3
14
18
-19
4
-39
-2
6
0
4
0
0
0
0
0
0
0
0
8
6
0
16
0
1
6
0
1
0
0
0
0
0
0
0
0
1
-27
14
-41
-14
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
4
-15
-1
8
0
0
0
0
0
0
0
0
0
0
0
25
17
66
1
7
-1
0
0
0
0
0
0
0
0
0
0
5
6
14
2
-5
0
21
0
7
20
0
0
0
0
0
0
0
0
-81
5
74
4
21
7
0
-1
-23
0
0
0
0
0
0
0
-2
-56
5
16
-73
-17
-22
-20
-1
-5
0
0
0
0
0
0
0
0
-24
9
-31
0
26
5
-3
-2
0
0
0
0
0
0
0
0
-2
16
-32
8
43
-1
-3
-1
-1
-2
0
0
0
0
0
0
0
0
1
2
1
4
-23
0
0
0
0
0
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
-44
26
-15
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
27
74
39
6
1
0
0
0
0
0
0
0
0
0
0
-3
24
-3
1
27
32
4
0
9
-21
0
0
0
0
0
0
0
0
-14
-29
-10
-15
7
-17
-53
9
5
0
0
0
0
0
0
0
-3
18
14
-54
-6
26
6
-17
-5
6
0
0
0
0
0
0
0
0
-2
-103
-22
-54
0
-9
41
0
-16
0
0
0
0
0
0
0
-2
-1
-3
41
-8
25
0
-7
0
0
0
0
0
0
0
0
0
0
1
3
0
0
-41
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
-49
2
-46
2
-10
0
0
0
0
0
0
0
0
0
0
-3
1
9
37
-77
-49
0
0
0
0
0
0
0
0
0
0
0
-23
27
-54
57
-17
24
1
2
25
-11
0
0
0
0
0
0
0
-10
-3
-26
22
-18
44
-5
-2
2
29
1
0
0
0
0
0
0
39
-18
-23
48
-33
35
-27
5
11
0
0
0
0
0
0
0
0
0
23
2
12
63
56
0
-1
6
-4
0
0
0
0
0
0
0
-7
-54
-43
-30
-27
7
-11
1
2
3
0
0
0
0
0
0
0
0
41
7
0
-2
3
5
-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
-21
-1
59
3
-9
35
-83
15
0
0
-4
0
0
0
0
0
0
10
5
-7
76
-26
6
9
0
2
0
0
0
0
0
0
0
0
0
-37
62
-52
8
41
-96
-22
23
-31
0
0
0
0
0
0
0
1
-8
46
1
-45
53
-39
1
-20
10
0
-1
0
0
0
0
0
22
17
22
11
-26
25
23
-20
9
45
0
0
0
0
0
0
0
-2
-9
-69
5
-40
10
16
0
-1
3
0
0
0
0
0
0
0
0
-20
22
45
-32
10
-1
-5
4
-56
0
0
0
0
0
0
0
0
9
9
18
-9
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
53
-2
-5
-53
32
1
10
5
0
0
0
0
0
0
0
0
0
-4
-62
-73
-7
23
-64
-2
0
-133
0
11
0
0
0
0
0
0
53
-21
-44
-21
20
43
7
-71
-3
-37
-4
0
0
0
0
0
0
53
54
-5
-30
-51
30
-36
-145
20
-26
2
0
0
0
0
0
0
-7
-35
38
21
-103
-24
-45
22
48
-23
0
0
0
0
0
0
0
17
33
-4
53
-54
-62
-22
-8
0
4
0
0
0
0
0
0
0
1
18
32
-45
-13
36
-14
-3
-24
-3
0
0
0
0
0
0
0
0
-3
-21
-24
31
-6
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
-15
11
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
-99
53
34
-28
0
0
59
16
0
0
0
0
0
0
0
1
73
-69
-104
32
39
0
7
0
5
1
0
0
0
0
0
0
-59
70
103
58
-43
66
-21
-43
-1
-21
1
0
0
0
0
0
0
-5
-9
-31
-43
39
113
20
21
61
-6
0
0
0
0
0
0
0
-116
-62
5
-38
6
-69
-2
-1
-7
-1
0
0
0
0
0
0
0
-27
14
42
99
-129
13
-52
-75
0
5
0
0
0
0
0
0
0
-19
-48
-43
-46
-33
-40
-5
15
-3
0
0
0
0
0
0
0
0
0
-3
-9
-1
58
-49
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
13
-27
4
3
-19
0
0
62
0
0
0
0
0
0
0
0
5
-37
-19
38
52
0
-1
0
4
-1
0
0
0
0
0
0
0
15
48
-1
46
35
-3
4
-18
9
-2
0
0
0
0
0
0
0
-11
20
0
64
-15
-49
-39
0
25
-8
0
0
0
0
0
0
0
32
45
76
-71
-35
5
0
0
3
0
-1
0
0
0
0
0
0
0
-15
-4
17
14
-9
-1
0
0
0
0
0
0
0
0
0
0
0
6
-35
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
1
-1
-1
0
0
-5
0
0
0
0
0
0
0
0
0
-14
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
15
-6
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-1
-17
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
-27
0
0
0
0
0
0
0
0
0
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
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
-23
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
-20
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
9
0
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
1
-23
-2
-35
0
0
-3
0
0
0
0
0
0
0
0
10
2
2
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
-14
0
0
0
0
-13
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
-20
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
-13
0
-2
2
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
15
2
0
1
0
-4
0
-5
0
0
0
0
0
0
0
0
9
0
-9
7
-11
-14
-2
0
-9
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
-20
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
32
-25
6
2
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-3
3
2
0
0
-5
0
0
0
0
0
0
0
0
1
4
-11
9
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-35
39
-18
-2
3
0
0
0
0
0
0
0
0
0
0
-6
8
-15
3
-23
2
1
2
0
0
0
0
0
0
0
0
0
3
-11
8
0
0
10
1
-14
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
31
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
2
-2
4
-14
0
0
0
0
0
0
0
0
0
0
1
6
-29
-7
-11
6
4
0
-7
-35
0
0
0
0
0
0
0
0
23
15
-68
5
-10
0
2
-1
-1
0
0
0
0
0
0
0
0
0
11
-14
31
3
-8
0
-5
-14
0
0
0
0
0
0
0
0
-5
-7
-59
25
4
3
0
1
23
0
0
0
0
0
0
0
0
0
-31
4
27
0
-3
0
3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
27
5
-15
0
2
0
0
0
0
0
0
0
0
0
0
0
66
62
-87
-69
33
-5
0
0
0
0
0
0
0
0
0
0
37
-6
2
37
5
10
9
3
0
33
1
0
0
0
0
0
0
0
-8
0
-37
5
-9
-2
0
0
2
0
0
0
0
0
0
0
-6
-1
-15
0
-30
-15
31
11
-45
-1
0
0
0
0
0
0
0
0
74
-57
35
15
-27
6
-23
-1
-2
0
0
0
0
0
0
0
14
-1
-4
-18
45
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
1
-32
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
22
43
-21
24
15
0
0
0
0
0
0
0
0
0
0
8
-1
56
32
-31
33
9
0
0
0
0
0
0
0
0
0
0
-3
8
5
-9
84
-33
-21
19
5
-5
0
0
0
0
0
0
0
0
-19
27
60
-4
17
-30
1
-3
-1
0
0
0
0
0
0
0
-27
14
-6
13
35
43
-59
-7
7
-47
0
0
0
0
0
0
0
-2
-29
-23
-80
7
15
-9
2
-5
1
0
0
0
0
0
0
0
1
-2
-8
7
27
43
-50
0
-10
-8
0
0
0
0
0
0
0
0
-1
1
51
-14
0
10
4
0
0
0
0
0
0
0
0
0
0
0
4
-13
0
0
0
0
-8
0
0
0
0
0
0
0
0
6
-24
95
-4
-48
-27
-44
-4
0
0
-1
0
0
0
0
0
0
6
-22
70
54
37
-80
-33
0
2
0
-5
0
0
0
0
0
0
69
30
50
-17
25
40
-21
-25
-19
-14
-1
0
0
0
0
0
0
53
23
74
106
-73
-69
28
18
15
-92
9
0
0
0
0
0
0
12
52
57
6
-59
4
-102
-49
31
6
0
0
0
0
0
0
0
2
90
-27
-7
-55
52
18
-24
-11
11
-3
0
0
0
0
0
0
1
-9
53
-2
-60
25
45
-18
0
11
0
0
0
0
0
0
0
0
-25
10
-31
-33
-1
43
-25
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
-51
62
44
-14
-32
-22
3
0
66
-3
0
0
0
0
0
0
0
57
61
-80
33
81
-6
0
-10
0
4
1
0
0
0
0
0
0
-9
44
-18
-54
81
4
-43
-10
-40
33
0
0
0
0
0
0
0
-6
-50
7
17
3
33
-59
89
-11
-4
-1
0
0
0
0
0
0
-7
23
-21
5
34
-59
-35
4
-33
8
0
0
0
0
0
0
0
100
-27
-60
-23
-5
6
-41
-11
18
-2
0
0
0
0
0
0
0
-65
-68
39
-6
-18
19
-1
9
0
0
0
0
0
0
0
0
0
3
31
21
-8
5
-2
-5
5
-14
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
3
-14
0
1
0
0
16
0
0
0
0
0
0
0
0
0
2
37
-1
-1
0
-1
0
15
-1
0
0
0
0
0
0
0
-3
53
-37
-15
-52
1
9
0
33
0
0
0
0
0
0
0
0
-11
8
81
-59
5
7
-3
3
10
0
0
0
0
0
0
0
0
-1
43
14
-3
99
-30
-9
0
11
0
0
0
0
0
0
0
0
45
-1
5
-26
13
-35
8
-4
2
0
0
0
0
0
0
0
0
3
-7
-23
43
44
-2
4
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
13
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-11
-3
0
0
0
2
-47
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
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
-21
0
0
2
0
0
0
0
0
0
0
0
0
0
1
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
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
-10
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
-10
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
32
0
3
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
-1
2
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-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
-82
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
-53
-3
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
-8
1
-8
-21
26
-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
15
5
4
0
0
0
0
0
0
0
0
0
0
0
11
2
-17
0
8
0
0
0
0
0
0
0
0
0
0
0
18
0
8
-10
8
1
4
0
0
3
0
0
0
0
0
0
0
-4
-26
0
-37
-5
-11
0
0
0
-3
0
0
0
0
0
0
0
-1
0
-13
-44
-4
-3
15
0
1
0
0
0
0
0
0
0
0
0
-19
-5
-14
-15
5
-6
-13
-1
0
0
0
0
0
0
0
0
-5
7
2
0
-10
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-19
-3
16
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
-16
-2
14
-4
0
0
0
0
0
0
0
0
0
0
0
0
-80
4
-20
14
37
1
0
0
0
0
0
0
0
0
0
0
5
1
-22
-96
-90
-25
-5
-5
0
29
0
0
0
0
0
0
0
-9
-37
-2
54
-21
-17
1
2
-2
0
0
0
0
0
0
0
0
-19
-8
-5
-24
98
-45
24
0
0
26
0
0
0
0
0
0
0
0
-19
5
-109
-27
3
-5
0
1
0
0
0
0
0
0
0
0
-39
3
47
10
6
-22
-23
2
0
0
0
0
0
0
0
0
0
0
17
-4
5
46
-17
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
56
51
43
0
11
0
0
0
6
0
0
0
0
0
0
-5
5
-7
-24
-61
19
-26
0
-7
0
0
0
0
0
0
0
0
-36
-29
39
23
49
1
-36
33
-49
-81
10
0
0
0
0
0
0
0
-15
-21
50
21
-12
-69
-56
-52
-5
5
0
0
0
0
0
0
44
3
69
-48
-16
-15
13
-54
-26
-16
0
0
0
0
0
0
0
3
52
7
-77
-100
23
-66
33
53
-7
0
0
0
0
0
0
0
37
57
51
-26
-71
14
22
-1
-9
0
0
0
0
0
0
0
0
0
43
-13
36
9
-53
-35
5
0
1
0
0
0
0
0
0
0
0
1
36
4
-74
0
0
-15
5
0
0
0
0
0
0
0
0
0
0
59
-5
-45
41
-3
2
0
11
2
0
0
0
0
0
0
0
23
-16
-65
69
43
-27
0
-1
0
5
0
0
0
0
0
0
0
-30
-53
10
-1
-25
-28
5
0
-30
0
0
0
0
0
0
0
0
65
-51
57
-35
55
58
-62
-4
-29
-9
0
0
0
0
0
0
0
8
9
12
-75
96
-36
88
-33
1
-1
0
0
0
0
0
0
0
36
25
-64
-5
-84
-37
-48
25
7
0
0
0
0
0
0
0
0
-5
-60
72
14
-43
106
43
-16
0
0
0
0
0
0
0
0
0
-63
62
-2
-23
-5
15
-104
3
0
0
0
0
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
14
-81
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
-2
11
-9
-8
0
-3
0
32
0
0
0
0
0
0
0
0
-6
-6
22
23
-1
37
0
0
20
0
0
0
0
0
0
0
0
-4
-13
-27
-15
33
3
1
0
-4
0
0
0
0
0
0
0
0
1
31
-22
-16
-8
-14
4
6
-45
0
0
0
0
0
0
0
0
24
9
36
21
-14
4
0
-4
2
0
0
0
0
0
0
0
0
-2
6
5
-22
-6
-2
0
0
2
0
0
0
0
0
0
0
0
1
1
3
17
-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
-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
-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
9
1
0
0
0
0
-10
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
-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
7
0
-1
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
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
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-55
-8
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
-18
0
32
0
14
-19
0
17
0
0
0
0
0
0
0
0
3
1
29
-8
23
0
6
0
0
0
0
0
0
0
0
0
0
0
-5
0
-80
8
8
6
0
-3
0
0
0
0
0
0
0
0
3
0
-8
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
-14
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
-27
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-39
-34
-6
9
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-21
6
-60
-46
0
4
-6
0
0
0
0
0
0
0
0
-9
-20
-14
43
24
32
-10
0
-17
0
0
0
0
0
0
0
0
-32
29
44
45
23
-100
0
3
1
0
0
0
0
0
0
0
0
0
-30
11
-30
-118
-45
-50
22
-21
0
0
0
0
0
0
0
0
0
0
-65
-64
21
-1
2
0
4
0
0
0
0
0
0
0
0
0
-32
0
47
-9
-5
4
2
0
0
0
0
0
0
0
0
0
-13
1
22
-8
2
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
-25
1
44
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-6
-2
-14
0
0
0
-30
0
0
0
0
0
0
0
0
0
46
-11
0
-8
-1
0
0
-6
0
0
0
0
0
0
0
0
-9
0
17
-10
-13
-1
0
3
3
0
0
0
0
0
0
0
0
0
-10
14
31
6
-34
-2
0
0
0
0
0
0
0
0
0
0
-10
0
21
0
-33
3
0
0
0
0
0
0
0
0
0
0
0
0
21
0
1
0
-21
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
-33
0
1
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-1
-2
-9
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
-10
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
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
-17
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
2
13
0
0
0
0
0
0
0
0
0
0
0
-15
-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
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
-8
0
-39
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
1
-44
46
0
0
0
0
0
0
0
0
0
0
0
0
10
3
-4
0
-2
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
8
0
0
0
-1
1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
9
-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
42
0
-3
0
0
0
0
0
0
0
0
0
4
6
5
0
60
0
13
0
2
0
0
0
0
0
0
-9
0
0
-3
-7
26
2
-14
0
-1
0
0
0
0
0
0
0
0
0
1
1
-4
2
-3
37
0
0
0
0
0
0
0
0
0
8
-2
0
0
2
5
-20
9
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
14
-3
44
112
6
0
-2
0
-5
0
0
0
0
0
0
0
43
-50
10
-38
-8
71
32
-2
-43
0
0
0
0
0
0
0
0
23
-2
0
5
75
1
11
17
6
-15
0
0
0
0
0
0
0
5
1
3
17
-17
-5
-7
65
14
-3
0
0
0
0
0
0
0
11
6
6
-67
-52
-14
-20
-5
-14
0
0
0
0
0
0
0
0
-33
0
2
25
-20
-9
-78
14
-6
2
0
0
0
0
0
0
0
2
0
1
10
9
-8
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-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
17
14
0
-5
34
0
0
0
0
0
0
0
0
0
18
-1
-1
-26
-30
8
35
0
-3
0
0
0
0
0
0
0
0
-3
2
-16
-14
14
-36
1
2
4
0
0
0
0
0
0
0
0
-4
0
-3
-2
25
0
18
2
-1
0
0
0
0
0
0
0
0
-5
0
-5
-25
-23
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
-13
0
21
16
-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
-16
0
5
-2
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
6
-1
17
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-14
-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
-47
-30
8
0
0
0
0
0
0
0
0
0
0
0
6
-4
21
2
13
-6
0
0
0
0
0
0
0
0
0
0
0
3
-2
44
-7
-11
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
-10
-5
11
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
4
10
-4
-2
0
0
0
0
0
0
0
0
0
0
0
-5
41
-46
13
-9
-14
-1
0
0
0
0
0
0
0
0
0
0
3
4
-5
-2
-16
-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
-11
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
21
0
0
0
0
0
0
0
0
0
0
-10
0
-6
-37
0
0
24
-8
4
0
0
0
0
0
0
0
0
2
0
-2
-2
-31
-4
-17
-3
0
0
0
0
0
0
0
0
0
0
4
0
-21
14
44
-1
1
0
0
0
0
0
0
0
0
0
-2
0
0
11
0
0
13
3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-1
-2
10
0
-1
20
9
-50
0
1
0
0
0
0
0
0
1
0
-1
0
0
-25
18
23
16
0
0
0
0
0
0
0
0
0
0
0
1
17
-9
-15
-8
-10
-5
0
0
0
0
0
0
0
0
-1
0
0
-7
-3
-46
-3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
20
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
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
8
0
5
0
0
0
0
0
0
0
0
1
0
4
18
-4
-42
-8
-5
14
0
0
0
0
0
0
0
5
8
15
3
3
-9
-36
-17
24
-3
0
0
0
0
0
0
0
-8
-4
6
5
-24
2
7
-9
11
0
-2
0
0
0
0
0
0
-4
-2
3
-1
5
-3
4
16
-17
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
0
0
0
-7
-10
-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
9
0
13
13
7
0
-70
-14
0
5
1
0
0
0
0
0
0
-6
-33
5
-22
33
84
-14
-28
43
-7
-8
0
0
0
0
0
0
-2
8
10
14
16
-34
-67
21
-4
-1
0
0
0
0
0
0
0
5
-2
-14
51
-25
-58
16
22
49
1
-4
0
0
0
0
0
0
-2
1
2
-6
-46
14
-6
21
-29
0
0
0
0
0
0
0
0
-5
0
0
4
11
-72
-2
36
10
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
29
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
15
11
14
23
0
-43
55
0
-1
0
0
0
0
0
0
53
-26
130
23
-36
67
-15
40
-14
-25
1
0
0
0
0
0
0
-57
-36
-25
-13
80
14
14
4
-52
-5
0
1
0
0
0
0
0
-24
3
96
4
-55
19
-25
-5
-60
-8
0
0
0
0
0
0
0
-9
50
-22
22
-37
-4
-126
-81
27
1
0
1
0
0
0
0
0
-29
8
16
34
17
-99
-97
-43
8
-5
5
0
0
0
0
0
0
8
-4
-2
51
-60
-27
31
-72
-7
0
0
0
0
0
0
0
0
0
-2
0
0
-3
7
-13
-11
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
27
9
-26
-13
5
0
11
0
-2
0
0
0
0
0
0
0
0
6
14
10
-52
-25
-8
10
-28
2
-9
0
0
0
0
0
0
0
17
-5
-76
-3
67
70
34
-52
-9
0
0
0
0
0
0
0
0
-13
-34
20
-56
-26
-100
-42
-30
-13
0
0
0
0
0
0
0
0
5
-2
5
-25
18
-41
6
-8
9
-1
0
0
0
0
0
0
0
14
0
-2
-25
0
-18
-14
0
1
0
0
-1
0
0
0
0
0
-8
0
2
0
-6
63
9
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
-23
22
1
0
0
0
0
0
0
0
0
0
0
-1
-1
-18
-17
13
-14
-5
0
0
0
0
0
0
0
0
0
-2
-1
0
-3
-2
-48
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
14
-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
17
5
2
23
4
0
0
0
0
0
0
0
0
0
8
0
0
-17
-52
37
8
-45
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
13
33
-19
0
0
0
0
0
0
0
0
0
0
0
5
-61
56
-10
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-2
-6
25
17
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
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
64
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
31
-25
-20
3
1
2
0
0
0
0
0
0
1
1
0
0
7
-17
-19
-17
3
0
0
0
0
0
0
0
0
0
0
1
-1
16
-7
3
-11
5
0
0
0
0
0
0
0
0
1
-1
0
1
-31
-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
-9
0
3
81
-5
0
-2
0
0
0
0
0
0
0
-2
2
-3
-4
8
-31
-43
14
-9
-7
0
0
0
0
0
0
0
-4
0
-1
0
25
-11
-4
53
16
0
0
0
0
0
0
0
0
1
0
0
-1
1
-9
-24
36
1
0
0
0
0
0
0
0
0
0
4
-3
2
-6
6
41
-11
-3
2
0
0
0
0
0
0
0
0
-3
0
2
0
-41
-7
52
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
-10
-5
-23
0
25
0
0
0
0
0
0
0
0
-4
2
-13
-19
25
-28
35
-43
3
0
0
0
0
0
0
0
-4
0
1
0
0
-14
-53
-20
-13
-14
0
0
0
0
0
0
0
-3
-5
-2
-2
6
-19
-27
15
11
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
13
-5
53
0
0
0
0
0
0
0
0
0
0
8
0
-3
-18
-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
-98
3
5
0
16
0
0
0
0
0
0
0
-33
6
1
-3
-14
-15
-52
-125
-35
7
0
0
0
0
0
0
0
-2
-2
-4
16
-13
0
-55
23
-8
4
4
0
0
0
0
0
0
0
4
-11
6
2
-17
7
2
1
0
-2
0
0
0
0
0
0
-3
-1
1
-7
11
-15
29
1
-43
-1
1
0
0
0
0
0
0
4
0
0
-2
6
-25
25
-19
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
14
-15
-16
-3
2
-42
45
92
0
29
-1
0
0
0
0
0
0
14
3
4
6
32
-30
34
146
20
36
-6
0
0
0
0
0
0
-6
-48
-2
-76
23
48
-39
8
-30
31
1
0
0
0
0
0
0
21
-5
1
-53
-10
8
-29
-15
-23
5
0
0
0
0
0
0
0
-19
-35
-4
-8
-43
93
89
15
93
0
-3
0
0
0
0
0
0
0
0
3
11
-1
30
-4
80
0
17
1
0
0
0
0
0
0
0
0
1
0
-4
-31
55
-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
-39
-82
-9
-48
-42
18
-81
-66
0
-5
3
0
2
0
0
0
0
-36
-22
27
-52
-52
37
4
-109
71
40
-21
0
0
0
0
0
0
-42
10
-86
-87
-11
-28
-97
-96
22
-18
1
0
0
0
0
0
0
31
7
29
57
90
-42
-5
-5
8
50
-1
0
0
0
0
0
0
16
-4
104
5
-71
132
25
-18
-8
3
-2
0
0
0
0
0
0
0
10
-8
58
-6
99
36
-53
132
19
-7
0
0
0
0
0
0
0
0
-1
-1
-61
41
-79
-58
3
-4
0
0
0
0
0
0
0
0
0
0
-1
0
-18
-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
-13
20
-81
-33
-103
20
124
-35
0
10
3
-7
0
0
0
0
0
-89
87
-62
-21
-27
15
-68
136
8
-20
-53
-4
0
0
0
0
0
23
14
-40
62
-2
-8
-1
-87
-117
-90
16
14
0
0
0
0
0
8
-108
-18
-12
-21
-23
36
-41
103
46
-26
0
0
0
0
0
0
-33
13
-33
-23
-28
-35
72
48
-40
-35
-4
-4
1
0
0
0
0
10
-31
-35
7
9
19
-20
-14
20
-1
2
0
0
0
0
0
0
-7
3
11
1
29
-4
-30
23
1
-2
-1
0
0
0
0
0
0
0
0
0
-1
-4
128
-27
-45
-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
50
-60
-66
114
-38
12
64
0
37
-55
-3
0
0
0
0
0
0
-53
-19
-38
23
13
-30
20
38
9
-67
34
0
0
0
0
0
0
-49
-48
81
77
-4
-9
-29
8
-59
-28
2
0
0
0
0
0
0
-47
18
-49
-19
-22
-88
50
-71
-8
5
-33
0
0
0
0
0
0
-83
-72
-70
1
-127
-22
70
-39
-48
43
0
1
0
0
0
0
0
53
6
-20
-72
8
28
37
78
74
-19
0
0
0
0
0
0
0
11
-14
-7
55
-44
-14
-40
29
1
0
0
-1
0
0
0
0
0
0
0
0
0
-5
35
53
2
-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
66
-7
24
2
0
71
0
29
-57
0
0
0
0
0
0
0
0
-4
-8
52
-72
14
-8
51
80
58
-1
1
0
0
0
0
0
0
56
-21
-7
54
100
-49
24
15
-21
61
0
0
0
0
0
0
0
77
-3
-85
33
16
47
10
-1
-24
-3
5
0
0
0
0
0
0
-16
53
-2
32
24
79
35
1
6
-3
0
0
0
0
0
0
0
14
-3
15
94
-45
48
-14
-77
1
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-1
-43
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
-6
41
0
-34
48
6
0
0
0
0
0
0
0
0
1
20
3
43
23
-34
-6
-36
14
0
-1
0
0
0
0
0
0
5
-3
3
16
-24
-35
14
-44
0
1
0
0
0
0
0
0
0
-2
0
1
31
21
14
21
0
7
0
0
0
0
0
0
0
0
0
0
-1
30
3
-45
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
36
0
-1
0
0
0
0
0
0
0
0
0
0
3
2
3
-1
14
19
0
0
0
0
0
0
0
0
0
0
0
0
0
20
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
-14
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
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
-15
0
2
-13
0
0
0
0
0
0
0
0
0
1
6
0
7
-61
-18
-41
-15
9
0
0
0
0
0
0
0
0
0
-1
0
0
-43
-1
-7
-18
15
14
0
0
0
0
0
0
0
0
0
0
9
-5
0
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
2
25
-21
0
0
0
0
0
0
0
0
-1
0
0
-1
-3
7
6
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
1
0
0
0
0
0
0
0
0
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
46
-39
27
6
0
0
0
0
0
0
0
0
0
0
0
-25
-3
-46
17
-56
-2
0
0
0
0
0
0
0
2
0
0
0
-6
2
10
3
-1
2
0
0
0
0
0
0
0
0
0
2
0
-16
16
-7
-6
-6
0
0
0
0
0
0
0
0
0
0
0
8
-23
10
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
23
0
-10
10
-8
59
50
0
-33
0
0
0
0
0
0
0
1
4
-4
2
-13
-13
50
25
16
15
-3
0
0
0
0
0
0
-3
1
0
-5
6
8
15
-4
13
2
0
0
0
0
0
0
0
0
1
0
0
-10
5
10
-4
-1
0
0
0
0
0
0
0
0
0
0
4
-5
-1
24
33
44
0
-2
0
0
0
0
0
0
0
0
0
-4
2
-2
-7
-32
53
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
1
-29
-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
-11
3
-4
47
90
27
0
-45
2
0
0
0
0
0
0
46
-2
3
-35
-46
-6
31
-33
-53
9
2
0
0
0
0
0
0
5
-13
-11
-1
-31
10
-22
9
-50
5
3
0
0
0
0
0
0
0
-1
18
-5
-1
-5
18
-44
27
0
0
0
0
0
0
0
0
15
-2
1
1
29
0
-6
-6
46
5
0
0
0
0
0
0
0
0
0
10
0
1
10
1
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-33
1
-37
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
13
36
-16
10
-42
0
31
0
0
0
0
0
0
0
-60
27
-1
-9
38
63
57
82
52
-23
-26
2
0
0
0
0
0
15
-64
-31
33
-1
0
-5
34
44
-1
1
0
0
0
0
0
0
7
0
-17
-8
-53
0
-34
13
-43
3
0
0
0
0
0
0
0
-1
-39
6
-31
0
5
14
7
9
-7
0
0
0
0
0
0
0
0
0
5
3
-35
22
3
15
-11
-1
0
0
0
0
0
0
0
0
0
1
4
-9
-14
-22
-10
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
14
-2
6
0
-39
35
24
13
0
29
5
0
0
0
0
0
0
-18
-48
-65
-11
31
50
-72
-26
-58
-2
-6
0
0
0
0
0
0
-57
-25
-18
85
-5
-5
50
14
-24
11
0
0
0
0
0
0
0
5
66
4
-22
1
-9
-11
13
-20
-59
1
0
0
0
0
0
0
14
-19
21
4
39
-2
0
0
68
0
3
0
0
0
0
0
0
0
3
-7
7
18
5
-9
-17
0
-1
0
0
0
0
0
0
0
0
-3
-1
0
-14
7
19
0
-33
3
0
0
0
0
0
0
0
0
-9
0
18
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
-33
-35
-3
-79
-18
19
53
15
0
-20
36
0
0
0
0
0
0
-73
-9
11
-29
-44
27
-133
-45
-58
14
34
0
0
0
0
0
0
62
-13
61
-53
-39
-84
38
-43
-57
-1
-16
0
0
0
0
0
0
18
-8
-16
-59
-16
-74
-8
-9
-5
25
0
0
0
0
0
0
0
8
-22
-13
-20
-46
-20
-14
-27
1
11
0
-5
0
0
0
0
0
0
-19
-14
34
-48
41
45
-78
-71
3
-2
0
0
0
0
0
0
0
-36
2
9
-1
-20
57
22
29
5
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-13
44
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
-18
27
-36
55
-146
-13
54
-32
0
-34
-45
0
0
0
0
0
0
42
-62
49
19
-101
74
102
-3
-92
-7
-45
-16
0
0
0
0
0
-48
-54
44
-33
-24
45
-9
-103
55
-17
-32
0
0
0
0
0
0
48
-32
62
-44
-55
32
-39
6
-22
24
-3
0
0
0
0
0
0
22
44
14
7
-2
-14
-76
-6
-33
2
-9
0
0
0
0
0
0
-11
35
6
35
13
-44
47
23
9
22
0
0
0
0
0
0
0
-2
-5
62
44
52
-13
-33
37
1
2
5
0
0
0
0
0
0
0
0
-1
7
-2
22
46
-49
-7
2
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
-80
4
-24
-12
-24
24
-26
0
-71
5
4
0
0
0
0
0
0
90
11
0
-17
11
74
16
-22
9
34
-15
0
0
0
0
0
0
-22
-22
9
-66
-2
-5
79
43
-52
-26
7
0
0
0
0
0
0
69
-13
-62
-49
-3
-98
47
-31
21
29
9
1
0
0
0
0
0
29
-35
48
17
-25
100
86
10
-76
0
6
0
0
0
0
0
0
19
20
-46
20
-22
-112
28
-17
-53
-9
-2
0
0
0
0
0
0
-8
-5
-4
13
-77
-7
-51
1
22
0
0
0
0
0
0
0
0
1
1
-1
0
-25
-62
-23
4
-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
49
17
-24
12
58
0
-24
62
-2
0
0
0
0
0
0
0
-4
7
1
-66
75
57
-7
20
32
-5
0
0
0
0
0
0
0
-27
15
-27
-47
16
-11
-75
3
-32
1
-1
0
0
0
0
0
0
4
-3
-2
36
7
5
-57
-26
0
1
0
0
0
0
0
0
0
8
-4
3
32
-29
-67
82
-4
1
0
0
0
0
0
0
0
0
4
0
-9
13
20
19
24
23
-4
0
0
0
0
0
0
0
0
-1
0
0
-9
3
-21
-15
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
-9
-14
-7
0
0
0
0
0
0
0
0
7
-2
2
6
4
-33
6
14
3
1
0
0
0
0
0
0
0
9
5
0
-43
11
20
8
3
-5
0
0
0
0
0
0
0
0
2
-5
0
1
0
1
-10
-22
0
0
0
0
0
0
0
0
0
1
1
1
2
0
33
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
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
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
35
44
-41
8
0
0
0
0
0
0
0
0
0
-2
0
0
2
-4
0
-26
8
0
0
0
0
0
0
0
0
0
9
0
23
-25
-4
0
43
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
23
-8
1
0
0
0
0
0
0
0
0
0
0
-17
0
-3
-25
-5
13
0
29
-1
0
0
0
0
0
0
0
1
-2
-1
17
5
-24
48
0
29
-5
0
0
0
0
0
0
0
0
0
-3
0
-9
24
-18
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
32
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
-24
46
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
-2
-14
0
-27
5
-8
0
0
0
0
0
0
0
0
0
0
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
-2
6
2
1
22
-2
-21
-15
0
0
0
0
0
0
0
0
0
0
-24
-2
-7
-39
-10
20
-26
27
39
0
0
0
0
0
0
0
0
2
0
-2
10
16
17
15
-26
-1
0
0
0
0
0
0
0
17
0
0
2
6
3
-55
37
-11
11
0
0
0
0
0
0
0
0
-7
-1
0
15
9
-15
-3
26
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-32
75
7
0
0
0
0
0
0
0
0
0
3
0
0
-3
-26
2
11
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
0
0
-5
-30
24
5
0
-19
1
0
0
0
0
0
0
1
23
7
26
20
-61
18
-33
49
3
0
0
0
0
0
0
0
0
-14
8
9
14
17
-13
30
53
-4
0
0
0
0
0
0
0
-3
-1
3
0
0
-3
-14
-77
8
0
0
0
0
0
0
0
0
0
2
-41
7
0
3
6
6
26
0
0
0
0
0
0
0
0
0
3
-3
0
11
0
34
9
37
-5
0
0
0
0
0
0
0
0
-7
0
0
-5
-25
27
7
15
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
14
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
-1
-5
11
2
-13
-1
5
-33
0
0
0
0
0
0
0
0
0
-1
53
3
18
7
8
39
-77
35
0
-5
0
0
0
0
0
0
5
3
-31
-9
6
31
-47
-13
10
33
0
0
0
0
0
0
0
14
-3
-11
-25
0
29
-6
68
-36
-37
0
0
0
0
0
0
0
-2
1
0
4
-16
0
9
-6
54
-23
0
0
0
0
0
0
0
0
-35
-18
-16
0
-19
0
2
-46
3
0
0
0
0
0
0
0
0
0
0
4
-21
0
41
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
4
46
5
-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
-43
7
-18
-17
53
-69
46
-30
0
-43
0
0
0
0
0
0
0
-11
53
-17
-86
3
42
28
-67
43
19
0
-3
0
0
0
0
0
47
36
11
33
47
27
39
-76
34
-33
-13
0
0
0
0
0
0
35
-6
4
32
-30
9
6
-11
-34
-21
0
0
0
0
0
0
0
3
-4
-2
11
-32
-6
0
1
5
3
0
0
0
0
0
0
0
0
7
0
2
37
0
14
-3
32
-2
0
0
0
0
0
0
0
-5
2
36
-15
44
-7
-65
-53
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
9
0
0
0
-2
0
0
0
0
0
0
0
0
-5
-18
29
7
-15
24
-29
-49
0
-53
-2
0
0
0
0
0
0
-21
-75
-64
-5
17
44
18
-73
39
26
-27
4
0
0
0
0
0
7
50
-53
24
-42
15
-44
-67
-13
14
1
0
0
0
0
0
0
19
-24
-62
21
57
-16
-10
4
-43
-23
0
0
0
0
0
0
0
-14
-48
-22
80
60
46
45
0
8
3
0
0
0
0
0
0
0
-1
53
0
-49
-22
-56
-9
-11
0
8
0
0
0
0
0
0
0
0
-6
6
93
65
-4
-39
-5
-43
0
0
0
0
0
0
0
0
0
-16
0
27
11
-26
21
-49
-17
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
54
-63
79
10
23
82
-53
0
-1
0
1
0
0
0
0
0
33
-52
-32
-18
-19
65
66
12
86
-25
33
8
0
0
0
0
0
-57
-23
36
34
-73
29
57
-22
-42
-30
0
1
0
0
0
0
0
-26
21
-5
27
5
28
19
-74
-46
2
19
-8
0
0
0
0
0
-5
15
21
-59
-39
-14
-16
-28
3
-45
0
0
0
0
0
0
0
43
47
-3
-38
33
-85
-45
-7
-5
0
-3
0
0
0
0
0
0
-3
3
-9
-51
-36
-60
54
-33
-39
-45
0
0
0
0
0
0
0
0
-13
0
31
-7
-35
-10
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
-64
-9
0
0
0
0
0
0
0
0
0
0
-61
32
-9
-6
24
-4
100
0
8
13
-2
0
0
0
0
0
0
-86
74
14
-86
-11
-63
51
2
-123
36
0
0
0
0
0
0
0
-1
-4
-91
77
-7
-19
37
29
14
-24
3
0
0
0
0
0
0
-22
-43
19
-83
22
-24
97
-35
-37
3
0
0
0
0
0
0
0
3
-24
-77
-108
-23
82
8
-23
0
6
0
0
0
0
0
0
0
-13
-2
27
-54
35
-32
61
2
1
0
0
0
0
0
0
0
0
2
-71
0
39
-3
124
27
16
21
2
0
0
0
0
0
0
0
0
3
26
2
14
-6
-49
-23
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
20
0
7
18
8
14
0
25
15
-17
0
0
0
0
0
0
0
1
-14
-18
15
58
-12
23
56
-72
8
9
0
0
0
0
0
0
43
34
-1
100
39
-2
41
-36
3
2
0
0
0
0
0
0
0
5
7
5
14
-10
94
-109
-4
3
0
0
0
0
0
0
0
0
25
2
2
-6
13
-7
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
45
-24
24
-24
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
14
16
-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
-9
0
0
0
0
0
0
0
0
0
0
0
1
0
-24
2
0
16
-5
-4
0
0
0
0
0
0
0
0
-5
-1
0
15
5
-21
19
5
15
0
0
0
0
0
0
0
0
5
-4
-3
3
0
-14
-3
8
-6
0
0
0
0
0
0
0
0
5
-2
4
-4
-11
-1
7
-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
-10
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
-13
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
2
0
0
0
0
-8
-10
18
0
0
0
0
0
0
0
0
0
0
0
1
1
10
1
-1
18
0
0
0
0
0
0
0
0
0
0
0
-3
10
-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
-20
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
-5
16
4
-25
0
0
0
0
0
0
0
0
0
4
0
-4
-18
-3
20
14
-9
0
0
0
0
0
0
0
0
-1
3
-2
-21
3
-6
23
15
-2
1
0
0
0
0
0
0
0
0
0
-1
0
-5
0
33
11
9
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
-10
-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
-8
0
0
-1
0
0
0
0
0
0
0
4
-8
0
6
-2
-43
-15
0
63
21
0
0
0
0
0
0
0
9
1
0
-4
-26
-47
3
81
-65
4
0
0
0
0
0
0
0
1
6
0
1
-33
-27
-7
46
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-6
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
-3
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-6
-15
-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
14
0
35
-13
31
24
0
-1
-6
0
0
0
0
0
0
0
-50
5
-7
-17
71
-4
43
4
20
-3
0
0
0
0
0
0
0
18
14
17
8
2
-19
-18
16
-1
0
0
0
0
0
0
0
0
10
33
37
18
-80
46
156
-53
18
0
0
0
0
0
0
0
8
1
7
0
-26
-2
-16
17
-5
0
0
0
0
0
0
0
0
0
5
1
-6
0
26
13
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
-15
0
-22
-18
10
1
0
0
0
0
0
0
0
0
0
-1
-1
0
-8
0
-13
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
7
-7
-24
24
-45
0
-62
0
0
0
0
0
0
0
0
-5
13
10
-24
16
-9
-2
-1
-17
0
0
0
0
0
0
0
3
53
0
1
-16
71
-14
-22
24
15
0
0
0
0
0
0
0
-4
15
6
17
18
-53
-53
-8
-27
41
2
0
0
0
0
0
0
0
-9
25
-31
-9
-26
0
-39
-61
-3
0
0
0
0
0
0
0
0
3
-10
1
-24
0
10
2
-6
0
0
0
0
0
0
0
0
0
0
5
-9
0
20
0
25
9
0
0
0
0
0
0
0
0
0
0
5
0
0
21
-9
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
-46
22
-21
-56
0
-36
3
0
0
0
0
0
0
0
-1
0
5
60
-49
5
-18
92
-51
2
0
0
0
0
0
0
29
-3
0
-29
39
39
-37
15
13
0
-1
0
0
0
0
0
0
29
-29
10
59
-22
37
-56
26
13
9
-2
0
0
0
0
0
0
-18
-21
-8
-55
-14
1
-35
0
-33
0
0
0
0
0
0
0
0
-2
-41
-25
-4
-35
-32
0
24
-7
-5
0
0
0
0
0
0
0
-7
7
8
-4
18
8
7
0
-65
-2
0
0
0
0
0
0
0
0
-4
0
-41
-7
-39
3
17
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
1
75
15
-9
33
33
38
-15
0
-1
7
0
0
0
0
0
0
-43
-43
-52
-5
72
-12
-43
-15
118
-22
36
0
0
0
0
0
0
1
-2
-18
51
-24
-5
-28
-25
-5
41
0
0
0
0
0
0
0
44
-31
-16
-58
19
-3
8
-37
43
5
0
0
0
0
0
0
0
3
-45
-29
-76
10
-11
-33
-10
3
-31
0
0
0
0
0
0
0
0
-21
6
25
-49
32
-25
0
23
3
0
0
0
0
0
0
0
0
-3
2
-19
-61
-18
0
-39
-2
-1
0
0
0
0
0
0
0
0
-1
-11
-29
14
18
0
-1
-26
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
37
1
-18
-80
-46
-43
-24
30
0
-16
-4
0
0
0
0
0
0
26
20
-31
33
25
-14
23
36
50
54
-5
17
0
0
0
0
0
-17
-22
23
86
14
104
50
-58
-23
-47
-5
0
0
0
0
0
0
-85
-100
12
-67
67
-78
18
33
-56
-79
0
0
0
0
0
0
0
-22
15
19
23
1
19
23
1
-37
0
0
0
0
0
0
0
0
-1
-7
64
-30
-5
-21
-25
14
0
-14
0
0
0
0
0
0
0
-7
5
-39
-86
-5
26
26
1
-6
0
0
0
0
0
0
0
0
-18
2
14
-55
-17
-1
-26
3
5
-20
0
0
0
0
0
0
0
0
0
0
-13
3
-3
-24
1
-1
0
0
0
0
0
0
0
0
0
-27
-9
66
37
-32
2
3
0
14
-33
1
0
0
0
0
0
0
-35
-13
-12
-28
-25
-23
-1
53
36
-16
-3
0
0
0
0
0
0
-41
-32
14
11
-8
15
-12
50
-66
-11
0
0
0
0
0
0
0
-59
-27
55
-133
-16
19
20
58
-39
-1
0
0
0
0
0
0
0
23
-4
33
-75
37
7
38
-20
16
0
0
0
0
0
0
0
0
56
-39
-11
-11
57
70
8
69
0
1
0
0
0
0
0
0
0
-32
-32
-33
0
-123
6
47
-5
-18
0
0
0
0
0
0
0
0
-5
-14
-17
33
-32
20
15
-54
-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
24
0
22
-8
51
17
0
17
-7
0
0
0
0
0
0
0
0
-20
8
49
2
14
5
-4
-32
28
0
0
0
0
0
0
0
0
-1
-8
5
-45
20
20
100
-3
-3
0
0
0
0
0
0
0
0
7
13
0
24
-42
43
-14
-54
0
0
0
0
0
0
0
0
0
-5
0
4
-19
-30
10
-66
0
-4
0
0
0
0
0
0
0
0
-2
0
0
-1
-1
-50
6
-1
0
0
0
0
0
0
0
0
0
1
0
0
16
23
-6
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
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
-2
0
0
6
-14
-2
0
0
0
0
0
0
0
0
0
-1
0
-14
-7
-5
3
29
-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
15
-1
-7
0
0
0
0
0
0
0
0
0
0
-10
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
-9
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
-19
0
0
0
0
0
0
0
0
0
0
0
4
1
44
1
46
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
-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
-2
0
0
0
0
0
0
0
0
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
-17
0
27
23
-6
0
0
0
0
0
0
0
0
0
0
0
3
0
37
-25
13
0
0
0
0
0
0
0
0
-4
0
0
-3
-9
14
2
31
1
10
0
0
0
0
0
0
0
0
17
1
-2
3
-8
-14
-5
17
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
-15
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
51
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-7
16
-31
6
6
0
0
0
0
0
0
0
0
0
-11
-6
13
-20
5
35
14
-13
0
0
0
0
0
0
0
0
-2
-1
0
-10
2
2
1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-27
0
0
0
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
-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
-4
0
9
-37
-6
0
0
0
0
0
0
0
0
0
0
-9
0
0
6
19
35
-44
-1
-2
-1
0
0
0
0
0
0
0
2
0
0
14
-3
-46
6
11
-13
0
0
0
0
0
0
0
3
1
-1
-5
0
3
-18
-11
14
0
0
0
0
0
0
0
0
-1
-1
-7
-14
-31
7
-10
4
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
-2
3
0
9
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
9
0
0
0
0
0
0
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
-6
-14
-1
15
0
-1
0
0
0
0
0
0
0
0
-18
-1
0
29
8
32
-24
-49
25
0
0
0
0
0
0
0
0
9
0
-1
-18
-11
36
20
-7
-3
0
0
0
0
0
0
0
-9
0
7
-1
2
-14
27
24
1
-13
0
0
0
0
0
0
0
0
-8
-2
0
9
5
-17
5
32
0
0
0
0
0
0
0
0
0
6
0
-26
0
10
0
53
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
-11
0
-11
0
0
0
0
0
0
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
-45
32
0
4
0
0
0
0
0
0
0
0
4
-1
-18
52
-102
-14
33
46
46
1
0
0
0
0
0
0
-1
11
8
59
-56
14
81
-56
-19
-43
0
0
0
0
0
0
0
-1
-2
6
80
1
27
10
9
15
1
0
0
0
0
0
0
0
0
14
-4
0
-26
-25
13
5
0
0
0
0
0
0
0
0
0
-9
6
-8
11
18
1
6
0
9
-2
0
0
0
0
0
0
0
0
-18
0
0
-1
-4
0
-11
1
0
0
0
0
0
0
0
0
0
13
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
61
-17
-5
-19
0
-23
-4
0
0
0
0
0
0
-5
69
9
33
13
-1
8
80
-61
-4
-1
0
0
0
0
0
0
4
-23
5
-33
-14
-42
-14
19
82
10
-1
0
0
0
0
0
0
46
55
10
-21
33
42
-14
-62
9
-10
0
0
0
0
0
0
0
-10
-53
-7
-4
103
30
81
-85
13
1
-1
0
0
0
0
0
0
0
18
34
-6
-37
48
0
33
-1
-1
0
0
0
0
0
0
0
0
6
-17
4
-46
-29
-35
0
-27
0
0
0
0
0
0
0
0
0
4
-1
1
-25
-53
2
5
0
15
0
0
0
0
0
0
0
0
0
0
6
0
0
23
11
0
0
0
0
0
0
0
0
0
-32
14
-46
4
16
-69
9
-58
0
-19
1
0
0
0
0
0
0
-22
-69
2
-22
-62
82
53
66
33
-37
-21
0
0
0
0
0
0
30
-4
-58
-6
-26
16
39
71
53
12
6
0
0
0
0
0
0
51
-9
-46
3
-5
5
44
65
56
27
1
0
0
0
0
0
0
33
20
7
52
7
-13
68
18
-16
2
0
0
0
0
0
0
0
-37
-21
-55
-22
-3
-3
-17
-6
-49
0
-1
0
0
0
0
0
0
3
15
-5
-9
55
-39
32
21
0
-6
0
0
0
0
0
0
0
0
-2
-3
15
4
-62
18
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
1
5
2
0
0
0
0
0
0
0
0
0
79
33
33
-44
59
-33
-61
0
39
-35
0
0
0
0
0
0
0
10
14
71
-12
-53
68
-31
45
72
-44
2
0
0
0
0
0
0
18
1
-23
-47
40
15
36
70
23
-3
0
0
0
0
0
0
0
14
8
-90
-5
-19
6
56
28
52
15
0
0
0
0
0
0
0
-39
-31
-9
13
90
-33
9
59
-19
0
0
0
0
0
0
0
0
3
-10
2
-10
37
31
4
3
-74
0
0
0
0
0
0
0
0
-3
33
-15
-23
24
96
-16
14
0
0
0
0
0
0
0
0
0
-2
2
-2
14
-23
36
2
2
27
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
15
0
6
19
-24
0
100
-14
0
0
0
0
0
0
0
0
43
6
2
14
53
-3
-59
20
43
0
0
0
0
0
0
0
0
20
-4
-2
27
11
7
6
19
16
0
0
0
0
0
0
0
0
9
3
56
-6
44
18
74
65
20
0
0
0
0
0
0
0
0
27
-3
1
-57
-35
-33
-1
27
0
0
0
0
0
0
0
0
0
-6
-2
0
-9
45
-33
45
-1
4
0
0
0
0
0
0
0
0
0
0
3
-7
10
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
6
-2
5
0
0
0
0
0
0
0
0
2
0
0
1
2
20
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
-10
0
-25
0
14
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
31
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-24
0
0
0
0
0
0
0
0
0
0
2
0
0
14
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-37
0
0
0
0
0
0
0
0
-4
0
3
0
0
-2
-4
11
9
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
-18
-35
-2
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
10
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
-21
-4
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-31
-17
-11
0
-13
0
0
0
0
0
0
0
0
-3
0
0
7
-6
-17
-10
34
36
0
0
0
0
0
0
0
-6
-6
0
-6
-1
-24
1
22
1
-16
0
0
0
0
0
0
0
0
1
5
0
-11
24
-47
-15
54
0
0
0
0
0
0
0
0
6
3
23
-1
-8
8
-6
17
15
0
0
0
0
0
0
0
0
0
5
1
0
15
0
1
0
2
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
13
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
9
-50
7
0
0
0
0
0
0
0
0
0
0
21
-1
-16
-14
4
64
-35
-58
-1
0
0
0
0
0
0
0
10
27
-1
53
-73
21
33
13
-124
8
0
0
0
0
0
0
0
61
9
0
24
-59
5
33
-1
-33
-7
0
0
0
0
0
0
0
-1
-19
-3
-32
5
-5
74
29
-5
0
0
0
0
0
0
0
0
-3
-5
-11
32
-114
55
2
16
-18
0
0
0
0
0
0
0
0
11
11
15
7
75
-46
-2
5
0
0
0
0
0
0
0
0
0
0
10
0
1
-1
-71
24
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
-26
-18
-56
-76
45
0
13
0
0
0
0
0
0
0
-1
-19
6
11
-16
-4
-14
-58
28
10
7
0
0
0
0
0
0
102
12
33
25
-99
6
24
66
-15
-56
1
0
0
0
0
0
0
-21
-10
5
4
-10
31
-48
82
6
-6
-3
0
0
0
0
0
0
62
-43
28
19
15
50
-8
60
0
-1
-5
0
0
0
0
0
0
-46
11
60
-15
-70
-17
-1
73
24
27
0
0
0
0
0
0
0
-14
3
-41
50
-54
0
95
0
26
0
0
0
0
0
0
0
0
10
-2
-4
-31
-21
-42
-74
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
24
-5
0
0
0
0
0
0
0
0
0
0
0
3
-2
34
25
8
61
73
0
-15
0
0
0
0
0
0
0
0
15
-13
-55
-2
82
-3
38
-97
-2
-6
0
0
0
0
0
0
0
55
-14
-2
15
-46
60
7
80
53
18
0
0
0
0
0
0
0
69
-44
21
-64
19
23
-53
-44
-71
-8
0
0
0
0
0
0
0
-23
10
60
69
71
29
24
74
0
1
0
0
0
0
0
0
0
-62
-49
-7
-23
11
-7
45
52
-17
0
0
0
0
0
0
0
0
-7
-26
-10
-88
-9
36
4
-3
-14
0
0
0
0
0
0
0
0
1
-4
6
-14
49
58
51
27
0
0
0
0
0
0
0
0
0
0
14
0
0
3
-23
6
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
-2
0
19
0
-7
0
0
0
0
0
0
0
0
0
16
-2
0
31
6
1
55
-27
-31
0
0
0
0
0
0
0
0
23
18
0
-4
53
23
33
11
3
0
0
0
0
0
0
0
0
60
1
7
41
-11
-4
1
-24
14
0
0
0
0
0
0
0
0
-4
0
5
8
60
9
-35
-2
-5
0
0
0
0
0
0
0
0
-13
3
-2
-15
36
30
0
-1
0
0
0
0
0
0
0
0
0
0
-11
0
-24
1
-6
-23
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
-4
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
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
-9
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
-46
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
-14
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
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
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
-9
5
-2
-25
-9
-2
0
0
0
0
0
0
0
0
-14
0
0
0
-3
9
16
-43
14
0
0
0
0
0
0
0
0
18
-18
-2
8
7
8
-23
0
-5
0
0
0
0
0
0
0
0
5
-7
0
-18
0
5
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-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
3
34
7
2
0
0
0
0
0
0
0
0
0
0
0
0
9
5
11
-32
-46
8
0
0
0
0
0
0
0
0
65
0
0
44
-13
15
48
57
49
-3
0
0
0
0
0
0
0
80
5
0
87
14
64
77
35
-105
0
0
0
0
0
0
0
0
-4
36
24
18
-59
0
1
0
20
3
0
0
0
0
0
0
0
15
-43
31
26
-5
-34
85
4
0
2
0
0
0
0
0
0
0
-32
-26
0
55
-21
-2
-6
5
0
-3
0
0
0
0
0
0
0
14
-4
-10
71
29
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
52
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
74
0
0
0
0
0
0
0
0
0
0
-10
0
0
5
0
-59
-5
25
3
0
0
0
0
0
0
0
0
0
-6
0
10
-10
1
-6
3
-3
-2
0
0
0
0
0
0
0
-1
0
0
20
11
6
-2
-36
3
0
0
0
0
0
0
0
0
5
-1
-5
10
-37
-22
-3
16
-2
0
0
0
0
0
0
0
0
0
0
-3
17
-16
11
0
14
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
1
-5
43
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
33
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-10
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
-17
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
89
-1
-2
0
0
0
0
0
0
0
0
0
0
0
5
-1
-10
83
-4
-8
0
0
-2
0
0
0
0
0
0
0
0
-11
-21
-13
23
11
18
0
-1
44
0
0
0
0
0
0
0
0
33
-10
1
9
43
19
-25
4
59
0
0
0
0
0
0
0
0
-1
32
-10
27
-2
8
3
-2
1
0
0
0
0
0
0
0
0
0
2
-9
-20
24
3
-16
0
0
0
0
0
0
0
0
0
0
1
0
10
7
-23
0
0
0
-2
0
0
0
0
0
0
0
0
0
-26
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
48
-21
-20
7
-20
2
0
-6
0
0
0
0
0
0
0
0
118
10
5
-53
-29
-76
0
-13
0
0
0
0
0
0
0
0
-17
10
-24
-71
32
9
98
35
108
51
0
0
0
0
0
0
0
-1
2
38
22
-6
-45
-38
-23
34
-52
0
0
0
0
0
0
0
-1
58
14
73
65
3
48
-19
-19
28
0
0
0
0
0
0
0
0
15
2
12
-45
4
6
-9
-2
-2
0
0
0
0
0
0
0
0
0
5
0
-38
-33
23
-26
-15
2
0
0
0
0
0
0
0
0
0
9
0
26
-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
17
0
40
21
0
-23
1
0
-1
-3
0
0
0
0
0
0
-7
0
38
7
15
132
-8
0
0
0
-8
0
0
0
0
0
0
0
24
90
14
-28
81
-18
156
29
-37
-77
0
0
0
0
0
0
4
-11
52
55
-24
39
18
-6
8
-7
-92
0
0
0
0
0
0
0
79
52
38
33
-16
14
73
5
-22
-1
0
0
0
0
0
0
0
32
-14
-10
3
15
8
8
-23
14
0
0
0
0
0
0
0
0
0
-14
-21
45
22
10
-72
26
0
-9
0
0
0
0
0
0
0
0
2
43
-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
48
0
-6
10
0
0
0
0
0
4
0
0
0
0
0
11
-54
-1
71
0
43
-27
0
0
0
-15
0
0
0
0
0
0
0
0
-72
-54
83
-25
-17
14
-1
20
-36
10
0
0
0
0
0
-3
-11
53
85
5
53
15
85
47
15
16
1
0
0
0
0
0
0
-11
-44
20
100
-34
-24
0
58
-5
-3
-2
0
0
0
0
0
-2
0
46
52
35
-11
2
2
-39
-20
0
0
0
0
0
0
0
0
0
1
26
-45
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
11
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
15
48
5
75
0
-18
0
1
0
-16
0
0
0
0
0
0
0
0
-4
5
37
-8
-37
-22
11
27
-3
-2
0
0
0
0
0
-2
9
14
49
-6
81
23
9
-51
-16
-2
2
0
0
0
0
0
0
26
13
39
30
98
-3
5
0
-11
-4
0
0
0
0
0
0
0
-7
2
15
41
14
-13
6
2
-9
0
3
0
0
0
0
0
0
0
4
2
7
-18
2
2
0
0
0
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
6
0
0
-16
0
3
3
0
0
0
0
0
0
0
0
0
0
4
10
-27
-2
-20
0
0
20
0
-16
0
0
0
0
0
0
-16
5
-25
-25
-75
-8
-16
-2
33
-29
8
3
0
0
0
0
0
4
-36
1
-16
-77
86
-27
5
-2
16
5
0
0
0
0
0
0
0
2
21
21
-33
56
4
16
4
4
6
0
0
0
0
0
0
0
0
24
-7
1
-4
6
-23
0
4
0
0
0
0
0
0
0
0
0
0
0
9
0
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
3
0
7
10
0
1
0
0
2
0
0
0
0
0
0
0
1
-14
43
22
0
0
0
-13
0
-11
1
0
0
0
0
0
0
0
2
-50
-14
4
-29
-63
46
10
2
-2
0
0
0
0
0
0
-26
-44
-27
5
1
-10
20
2
-36
-1
0
0
0
0
0
0
0
2
13
4
-11
-6
11
21
10
0
13
0
0
0
0
0
0
0
4
0
2
6
13
-14
-6
-19
2
0
0
0
0
0
0
0
0
0
0
14
-10
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
-22
6
0
0
0
0
0
0
0
-19
26
-71
-2
-14
2
2
5
-3
-1
0
0
0
0
0
0
-3
-10
-21
14
1
1
5
-4
-7
11
0
-6
0
0
0
0
0
3
2
3
-3
25
53
2
-13
-2
3
0
0
0
0
0
0
0
0
0
-1
0
-25
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
-20
0
-3
19
9
-5
0
0
0
0
0
0
0
0
0
0
0
11
5
13
-6
35
-15
10
0
0
0
0
0
0
0
0
0
0
15
58
76
-16
33
23
19
75
-21
0
0
0
0
0
0
0
0
0
-48
76
13
9
19
-42
1
-78
0
0
0
0
0
0
0
0
-35
-26
71
-81
-67
-21
34
1
26
0
0
0
0
0
0
0
0
0
18
77
18
32
6
-10
4
2
0
0
0
0
0
0
0
0
-1
15
-20
14
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
-30
-4
-55
-53
-25
23
1
0
16
0
0
0
0
0
0
0
17
58
-25
43
53
-14
-1
0
-23
0
0
0
0
0
0
0
0
-2
52
-27
-74
59
-121
2
-87
-4
-22
0
0
0
0
0
0
0
-21
33
-54
28
-28
7
23
96
94
-15
0
0
0
0
0
0
0
35
12
51
-36
45
66
6
-79
1
5
0
0
0
0
0
0
0
-7
138
-18
-19
-26
96
-29
47
21
43
0
0
0
0
0
0
0
-6
2
1
57
-68
46
43
18
43
13
0
0
0
0
0
0
0
0
1
13
-15
-71
-13
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
12
5
-71
71
-59
-30
0
3
36
0
0
0
0
0
0
-6
5
61
-52
-17
70
-31
0
19
0
2
0
0
0
0
0
0
-3
19
26
125
17
6
47
85
45
66
-67
0
0
0
0
0
0
18
56
45
-33
-6
11
-11
144
66
56
9
0
0
0
0
0
0
0
-89
6
-89
-66
21
-12
-11
10
-35
15
0
0
0
0
0
0
5
21
-18
-32
-27
16
-5
56
-9
-11
-10
0
0
0
0
0
0
-10
-11
75
-73
12
-97
17
-16
2
3
0
0
0
0
0
0
0
0
0
0
6
29
-2
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
14
-2
22
1
44
-82
0
0
0
13
0
0
0
0
0
0
1
-5
24
26
49
31
18
0
-2
0
30
4
0
0
0
0
0
0
33
-41
-75
-17
-98
-72
14
-42
-23
10
7
0
0
0
0
0
1
43
-16
-102
19
-11
-41
-5
33
107
-4
16
0
0
0
0
0
-5
-25
53
3
-28
-35
-112
-22
7
-47
-10
-3
0
0
0
0
0
-1
-2
23
31
90
-98
-16
80
42
55
2
0
0
0
0
0
0
0
0
-1
-30
-18
-1
22
8
-9
0
2
0
0
0
0
0
0
0
0
0
-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
0
51
2
21
0
-31
-21
0
-2
5
7
0
0
0
0
0
-34
13
-20
-29
1
-14
45
0
1
0
65
-2
0
0
0
0
0
16
2
12
10
-85
58
5
-3
19
93
-86
-4
0
0
0
0
0
-1
-1
-21
9
97
-28
14
-22
-54
63
-4
1
-6
0
0
0
0
-1
16
-25
-46
-6
47
-6
-62
-10
32
-1
-1
0
0
0
0
0
0
11
-4
-32
34
55
-5
-2
-1
11
-4
4
-2
0
0
0
0
0
0
-5
-16
-7
-48
-7
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
29
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
-55
5
20
0
5
0
1
2
0
0
0
0
0
0
0
7
-4
-21
43
92
5
0
-5
0
-20
2
0
0
0
0
0
1
-43
-53
7
2
65
-64
44
-2
21
66
-33
2
0
0
0
0
-5
9
3
-18
84
-45
-31
-36
81
2
-18
4
2
0
0
0
0
11
6
-34
-33
-27
-5
66
-43
6
-21
0
0
0
0
0
0
0
0
4
1
7
57
43
-8
-11
-11
5
7
3
2
0
0
0
0
0
0
8
11
3
0
-4
-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
9
43
-29
-9
-1
6
0
0
0
18
0
0
0
0
0
0
0
4
-14
-32
-17
48
23
0
-3
0
-48
4
0
0
0
0
0
1
7
22
10
-1
97
-47
10
25
23
17
-11
-4
0
0
0
0
-1
-5
44
-17
33
20
-35
-15
23
57
9
0
6
0
0
0
0
-5
10
-81
-46
54
42
39
32
-14
-24
-26
-9
0
0
0
0
0
-4
45
1
42
58
19
14
-21
-1
-24
-1
0
2
0
0
0
0
0
0
0
23
26
-14
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
27
3
0
0
0
0
0
0
-5
1
19
21
0
7
7
-32
-24
-3
0
0
0
0
0
0
0
1
-47
-36
2
19
32
4
-10
13
3
0
0
0
0
0
0
0
18
51
33
33
-11
100
-6
3
-20
-2
2
0
0
0
0
0
0
-1
4
14
0
13
8
3
1
-2
0
0
0
0
0
0
0
0
0
2
0
-4
10
-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
-14
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
-14
22
6
-29
1
-6
-4
7
0
0
0
0
0
0
0
0
0
15
-3
-5
-5
22
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
16
0
0
-1
0
5
0
3
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
-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
-16
88
29
-30
0
0
0
0
0
0
0
0
0
0
0
10
21
-53
56
-4
20
-10
0
15
0
0
0
0
0
0
0
0
8
-23
-19
-19
72
23
39
39
-112
0
0
0
0
0
0
0
0
-31
-39
32
48
-42
82
-21
43
39
0
0
0
0
0
0
0
0
0
18
-36
-81
-19
-81
60
-4
45
0
0
0
0
0
0
0
0
3
93
33
7
-83
22
-34
-7
1
0
0
0
0
0
0
0
0
-11
-2
18
33
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
29
29
5
-101
-109
18
5
18
0
6
0
0
0
0
0
0
0
-4
-6
-24
-25
37
-4
-68
0
36
0
0
0
0
0
0
0
0
6
89
73
29
-22
23
-72
24
29
-111
0
0
0
0
0
0
0
-2
35
-72
-18
-1
-42
4
18
23
-50
0
0
0
0
0
0
0
-26
15
-1
-71
-56
76
9
48
122
73
0
0
0
0
0
0
0
0
48
21
7
-90
-68
23
29
11
35
0
0
0
0
0
0
0
0
5
41
-74
6
-2
90
-23
-1
-7
0
0
0
0
0
0
0
0
0
26
32
19
14
-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
33
-39
-14
0
25
-5
3
0
5
-74
0
0
0
0
0
0
-26
22
4
54
18
56
22
0
31
0
47
0
0
0
0
0
0
11
-2
111
33
-9
17
-61
106
53
-33
-103
0
0
0
0
0
0
14
-5
-38
20
57
-39
23
106
41
-15
23
0
0
0
0
0
0
0
72
28
-5
29
14
-33
14
24
28
-9
0
0
0
0
0
0
0
-47
-22
-3
124
-17
-2
-3
25
-29
1
0
0
0
0
0
0
0
-1
109
15
-27
49
-5
14
-3
0
0
0
0
0
0
0
0
0
0
1
-1
1
43
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
42
39
69
-5
34
9
0
0
-36
0
0
0
0
0
0
0
33
10
-22
24
60
88
0
-10
0
-10
-4
0
0
0
0
0
-4
4
-57
18
54
19
-23
45
14
53
27
-4
0
0
0
0
0
-6
-15
-8
23
16
-33
-31
2
0
5
13
-5
0
0
0
0
0
11
0
14
40
39
-94
10
-8
18
5
1
0
0
0
0
0
0
0
1
-81
33
44
-49
5
100
11
6
3
0
0
0
0
0
0
0
-2
-3
-43
10
5
-4
27
6
0
0
0
0
0
0
0
0
0
0
-39
0
5
-9
0
0
6
0
0
0
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
1
-36
45
-1
0
-2
2
0
0
0
0
0
0
4
-3
53
-5
-8
93
5
0
-1
0
-6
-14
1
0
0
0
0
0
9
28
-4
13
-47
-1
-3
3
-22
16
-60
0
0
0
0
0
-2
-3
26
-46
-4
-47
74
-14
-1
7
13
-1
0
0
0
0
0
-4
-1
0
70
-3
8
33
15
19
2
-11
-6
0
0
0
0
0
0
16
26
71
5
10
4
-7
-5
0
-8
0
0
0
0
0
0
0
1
7
0
58
-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
2
-17
-47
-11
77
0
0
3
0
2
0
0
0
0
0
-3
10
-31
4
-4
6
-35
0
6
0
-46
3
-5
0
0
0
0
-8
-1
60
-3
6
5
24
23
18
-64
46
-2
-1
0
0
0
0
0
-15
-18
-7
-30
-22
91
-19
6
-17
11
1
-1
0
0
0
0
0
-39
22
-87
23
5
-20
-2
17
-1
0
0
0
0
0
0
0
0
-7
9
-13
16
20
-1
4
-16
0
-2
-1
0
0
0
0
0
0
0
-26
-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
-19
32
-26
-11
39
0
0
-3
0
0
0
0
0
0
0
-4
-6
-19
50
66
0
-3
0
-11
0
4
-5
1
0
0
0
0
0
0
2
-29
18
54
-1
-18
-13
18
2
-2
0
0
0
0
0
0
14
-37
35
-1
-10
-10
8
6
-17
8
0
2
0
0
0
0
-6
5
-20
36
-17
-14
-43
-14
34
-4
-1
0
0
0
0
0
0
0
-1
37
2
26
-27
23
-25
0
1
-2
0
0
0
0
0
0
0
0
29
-23
11
-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
-7
10
26
-1
14
0
0
-2
0
0
0
0
0
0
0
0
8
-10
-1
18
-27
0
0
-1
0
43
-4
0
0
0
0
0
-4
-24
16
1
-10
4
-14
0
-5
-5
-2
0
0
-4
0
0
0
0
2
-4
3
-18
2
-6
-27
3
5
-8
0
2
0
0
0
0
0
-18
-9
-118
-5
-26
-22
-2
-60
-6
5
0
0
0
0
0
0
0
0
-4
13
3
35
-13
0
-1
3
2
0
0
0
0
0
0
0
0
8
2
8
-26
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
-14
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
-24
-15
-7
33
7
0
0
0
5
0
0
0
0
0
0
0
6
33
-6
8
7
-1
-2
0
-2
0
-3
0
0
0
0
0
0
0
3
1
-3
-15
22
1
2
-13
2
0
0
0
0
0
0
0
-2
9
8
15
2
37
2
-33
14
0
-1
0
0
0
0
0
0
0
8
-10
10
16
-3
0
0
-1
5
0
0
0
0
0
0
0
0
0
-17
-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
25
0
0
0
0
2
0
0
0
0
0
0
-5
3
5
34
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
26
2
7
31
4
0
-2
0
0
0
0
0
0
0
0
0
-3
11
-11
-27
8
5
0
-2
1
0
0
0
0
0
0
0
0
3
0
-10
0
0
0
0
19
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
-19
-31
36
4
36
-3
1
0
0
0
0
0
0
0
0
0
42
-13
-76
8
48
14
-2
0
-15
0
0
0
0
0
0
0
0
31
-14
-20
48
5
91
-23
22
19
0
0
0
0
0
0
0
0
-1
52
11
0
-54
19
-5
-16
41
0
0
0
0
0
0
0
0
8
29
60
41
-49
43
-74
2
1
0
0
0
0
0
0
0
0
-3
-25
5
-5
46
-103
-5
1
1
0
0
0
0
0
0
0
0
0
37
-49
-17
-20
-15
0
0
5
0
0
0
0
0
0
0
0
0
-14
1
11
0
-2
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
29
11
-85
-19
-15
-19
-53
-2
0
0
0
0
0
0
0
0
0
55
5
50
-22
39
-14
-38
0
-16
0
0
0
0
0
0
0
0
32
56
-14
-49
-46
60
-36
-21
71
7
0
0
0
0
0
0
0
46
13
82
14
25
-53
-98
-147
2
35
0
0
0
0
0
0
0
0
-21
31
-36
-109
51
-23
26
-17
14
0
0
0
0
0
0
0
4
10
-10
22
-88
44
-1
4
-49
-35
0
0
0
0
0
0
0
0
5
-44
-26
1
-11
49
5
-7
-6
0
0
0
0
0
0
0
0
0
-3
55
-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
-32
5
-71
-20
67
-52
69
-14
0
21
-3
0
0
0
0
0
0
0
54
-2
-36
53
-66
40
0
10
0
-12
0
0
0
0
0
0
35
22
-25
8
39
84
-14
48
-81
-48
-43
0
0
0
0
0
0
3
-61
43
-18
56
-40
6
4
8
64
-3
0
0
0
0
0
0
11
2
33
39
63
49
47
-33
6
90
-4
0
0
0
0
0
0
0
81
38
66
-48
-37
-16
14
33
50
0
0
0
0
0
0
0
0
-14
-10
-45
2
-42
-17
-64
-5
3
0
0
0
0
0
0
0
-1
0
14
-46
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
10
-30
24
59
124
-35
1
0
-11
3
0
0
0
0
0
0
8
-24
93
-24
26
-96
-4
0
-10
0
-18
-5
0
0
0
0
0
3
22
27
-23
35
32
-34
-78
-83
19
-14
6
0
0
0
0
0
1
-10
21
0
100
14
-4
37
-16
-30
-18
1
0
0
0
0
0
0
13
-23
-69
17
-7
-33
-4
23
23
25
-2
0
0
0
0
0
0
-17
-37
31
-36
54
35
36
-5
16
-5
0
0
0
0
0
0
0
13
26
-19
-33
-22
-3
5
0
0
0
0
0
0
0
0
0
0
0
5
18
10
-4
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
10
75
-47
-65
-4
0
0
5
4
7
0
0
0
0
0
3
29
-10
-7
4
-33
82
0
-10
0
-56
2
1
0
0
0
0
0
-50
-40
-7
-61
10
21
77
36
19
-102
20
0
0
0
0
0
0
19
14
48
0
36
-17
3
10
46
-6
-1
0
0
0
0
0
0
29
16
0
-56
3
-59
35
32
-4
-35
0
0
0
0
0
0
0
-13
1
0
-20
-24
-52
13
-14
9
0
0
0
0
0
0
0
0
0
23
-47
-37
35
27
0
3
0
0
0
0
0
0
0
0
0
0
13
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
1
60
-5
23
-6
0
0
-1
0
0
0
0
0
0
0
5
-11
-7
18
8
-36
0
3
0
13
-14
6
0
0
0
0
0
-2
-7
5
-3
13
-8
56
-50
26
7
9
0
0
0
0
0
0
53
-34
14
0
0
-15
1
-1
9
-8
0
0
0
0
0
0
0
3
34
19
-3
22
0
7
0
-6
0
0
0
0
0
0
0
0
8
18
-21
9
17
-16
9
0
-1
0
0
0
0
0
0
0
0
0
0
41
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
-11
-95
35
1
2
-10
0
0
-2
-1
0
0
0
0
0
0
0
26
3
-7
5
-46
50
0
0
0
5
1
0
0
0
0
0
0
4
8
-51
36
-6
15
7
-15
-11
-13
0
0
0
0
0
0
-1
0
18
1
11
47
0
9
1
6
-3
1
0
0
0
0
0
0
3
-45
6
-78
2
9
-1
2
-6
0
0
0
0
0
0
0
0
2
-18
-22
-1
71
-3
0
-36
1
-2
0
0
0
0
0
0
0
0
-17
2
16
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
-49
2
0
0
0
0
0
0
0
0
0
0
0
-6
-46
21
11
-33
-6
-4
0
0
0
-1
2
0
0
0
0
0
0
18
-39
10
21
-31
6
5
-3
17
1
0
0
0
0
0
0
0
-2
-16
-10
-20
11
1
0
8
-9
0
0
3
0
0
0
0
0
0
4
-23
10
43
0
-3
0
29
0
0
0
0
0
0
0
0
0
3
-8
-92
2
7
1
0
-3
0
0
0
0
0
0
0
0
-7
6
51
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
9
21
2
-36
-5
25
0
0
0
0
0
0
0
0
0
0
0
4
-5
-11
33
5
-3
0
0
0
-1
0
0
0
0
0
0
0
0
-11
-34
-3
5
-1
0
-2
0
0
0
0
0
0
0
0
0
0
5
10
8
7
2
-4
0
0
0
0
0
0
0
0
0
0
0
8
32
0
-9
19
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
4
33
2
3
0
2
0
0
0
0
0
0
0
0
0
-1
-1
-10
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
22
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-1
1
0
-4
1
0
0
0
0
0
0
0
0
0
0
9
-4
2
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
-9
0
-6
2
13
13
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
-15
-60
68
14
40
-26
2
0
0
0
0
0
0
0
0
0
0
21
6
23
14
12
8
-14
0
-16
0
0
0
0
0
0
0
0
29
7
-5
15
43
-52
16
9
46
0
0
0
0
0
0
0
0
32
20
42
21
-42
24
-45
-7
-1
0
0
0
0
0
0
0
0
0
-14
-13
62
-58
15
-6
0
3
0
0
0
0
0
0
0
0
-1
0
53
-26
15
-33
-14
-4
-32
0
0
0
0
0
0
0
0
-2
-4
-5
43
3
1
-1
0
1
0
0
0
0
0
0
0
0
0
23
-2
39
-8
-5
-4
0
0
0
0
0
0
0
0
0
0
0
10
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
73
6
30
114
21
5
0
0
1
0
0
0
0
0
0
0
3
-11
-17
17
-40
79
5
0
-63
0
0
0
0
0
0
0
0
-97
-41
47
-7
18
-26
-34
-28
-49
23
0
0
0
0
0
0
0
0
-6
63
30
-90
-115
-36
11
-43
-15
0
0
0
0
0
0
0
0
0
-57
-42
-11
21
-39
-4
8
42
0
0
0
0
0
0
0
0
73
33
-32
22
78
12
9
25
33
0
0
0
0
0
0
0
0
-1
77
-25
4
83
-90
-27
26
15
0
0
0
0
0
0
0
0
-5
2
52
-36
-25
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
-11
-88
-63
108
0
-14
-2
-6
0
6
-1
0
0
0
0
0
0
4
-23
-18
-5
-29
42
-43
0
34
0
72
0
0
0
0
0
0
0
7
-59
-7
6
45
-30
-77
-32
-5
-9
0
0
0
0
0
0
-50
9
34
35
-15
-6
33
81
-15
-28
-1
0
0
0
0
0
0
1
54
0
71
24
53
-31
-1
0
-46
0
0
0
0
0
0
0
0
0
54
6
-11
-54
-28
25
23
7
2
0
0
0
0
0
0
0
-25
-53
-48
32
-44
-14
44
-2
16
0
0
0
0
0
0
0
0
-2
11
6
43
22
9
13
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
33
58
-44
5
34
39
2
0
2
11
0
0
0
0
0
0
0
76
109
47
-21
5
11
0
-20
0
66
5
0
0
0
0
0
0
-15
-39
6
20
13
-79
68
-11
70
-55
-13
0
0
0
0
0
0
59
6
27
18
51
33
-19
-3
87
-19
-6
0
0
0
0
0
-2
-2
-34
0
-65
-33
-52
35
62
-4
0
0
0
0
0
0
0
0
-6
0
-22
-1
-48
3
85
-46
8
-3
0
0
0
0
0
0
0
0
33
-8
-7
-71
95
5
-15
15
0
0
0
0
0
0
0
0
0
7
-10
-82
-26
-3
-5
-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
-14
14
2
52
20
-3
-23
0
0
-3
0
0
0
0
0
0
-5
2
-1
-17
44
-93
-24
0
-9
0
23
-3
0
0
0
0
0
0
1
25
160
-6
-5
-19
-78
-19
-34
29
-3
0
0
0
0
0
0
39
14
0
20
2
165
-5
25
17
-15
0
0
0
0
0
0
0
-7
52
-26
0
-4
21
25
26
45
0
0
0
0
0
0
0
0
-8
9
1
43
-3
1
11
1
3
0
0
0
0
0
0
0
0
-23
-1
30
-71
-4
9
0
25
3
0
0
0
0
0
0
0
0
-3
0
-4
-46
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
-30
14
11
-14
-1
0
0
0
0
0
0
0
0
0
0
7
-25
33
32
-41
0
0
-3
0
19
-4
-3
0
0
0
0
0
6
14
-25
52
-19
-10
-16
3
-37
0
1
0
0
0
0
0
0
46
10
1
-2
5
4
-16
18
-6
2
3
0
0
0
0
0
0
24
15
-20
90
0
-20
-21
17
0
0
0
0
0
0
0
0
0
-1
-14
33
0
37
1
1
-7
5
0
0
0
0
0
0
0
0
0
25
-2
9
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-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
16
-51
-14
-25
-9
20
3
0
0
1
0
0
0
0
0
0
0
3
-4
20
-7
-73
4
0
-1
0
3
0
0
0
0
0
0
-8
10
15
-1
-24
33
-5
5
49
8
-4
2
-1
0
0
0
0
0
-6
-10
3
-20
0
27
0
-32
-32
-6
0
0
0
0
0
0
0
-1
-5
-3
-11
-27
0
5
6
-1
0
0
0
0
0
0
0
0
0
-4
41
-33
0
18
-2
26
-2
0
0
0
0
0
0
0
0
0
-1
53
0
16
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
-14
-3
5
20
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
25
29
4
-14
8
0
0
0
0
0
0
0
0
0
0
0
2
39
14
25
-48
18
1
3
31
0
2
0
0
0
0
0
0
11
18
-1
6
23
2
-1
0
-4
-1
0
0
0
0
0
0
0
0
0
20
-2
-25
-4
0
-13
25
0
0
0
0
0
0
0
0
4
-17
18
-32
35
0
-2
0
-2
0
0
0
0
0
0
0
0
0
-41
-8
-1
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-15
0
0
0
5
0
0
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
-3
4
11
0
0
0
0
0
0
0
0
0
0
0
-15
25
17
22
19
2
0
0
0
0
0
0
0
0
0
0
0
5
6
-1
-1
-9
0
-5
-5
-5
0
0
0
0
0
0
0
0
0
-5
-4
-1
14
-11
0
0
0
0
0
0
0
0
0
0
0
0
11
7
9
-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
33
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
10
-21
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
6
14
-37
-6
-14
-4
0
-4
0
0
0
0
0
0
0
0
0
0
9
-4
3
31
2
9
0
-2
0
0
0
0
0
0
0
0
0
1
-4
2
-1
0
10
4
0
0
0
0
0
0
0
0
0
0
2
31
4
-15
10
-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
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
0
0
-1
1
0
10
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
-14
21
-13
40
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-57
74
-13
-23
2
0
32
0
0
0
0
0
0
0
0
-1
-19
-39
-48
54
48
16
-33
-82
0
0
0
0
0
0
0
0
-30
-2
75
-6
131
-21
10
-36
-42
0
0
0
0
0
0
0
0
-20
0
54
5
-11
-13
20
11
-73
0
0
0
0
0
0
0
0
0
-3
33
-12
29
53
13
-25
5
0
0
0
0
0
0
0
0
1
0
-33
-58
25
0
1
27
-6
0
0
0
0
0
0
0
0
0
33
-1
22
-2
11
-4
0
0
0
0
0
0
0
0
0
0
0
-13
17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
18
14
-7
-4
-3
0
0
-30
0
0
0
0
0
0
0
-3
105
33
-34
-43
71
8
0
71
0
0
0
0
0
0
0
0
8
-5
-47
-107
-52
-151
-44
53
-6
-84
0
0
0
0
0
0
0
4
49
51
1
-43
30
-15
-77
33
35
0
0
0
0
0
0
0
0
52
9
-73
-24
-37
-5
15
49
72
0
0
0
0
0
0
0
0
0
7
-44
-22
62
7
18
6
45
0
0
0
0
0
0
0
0
-3
0
14
17
51
4
-1
3
8
0
0
0
0
0
0
0
-4
-8
31
-34
-18
20
-13
19
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
13
69
44
101
43
-46
-1
0
-4
-10
0
0
0
0
0
0
-2
40
-33
27
-34
89
21
0
-8
0
23
0
0
0
0
0
0
-33
3
46
31
-6
-44
-17
-53
111
-25
4
0
0
0
0
0
0
-2
-5
-9
-12
-11
-55
-82
6
-23
14
27
0
0
0
0
0
0
-13
3
-8
2
17
34
183
-19
33
-18
7
0
0
0
0
0
0
0
2
0
3
-22
-54
56
52
-24
19
-2
0
0
0
0
0
0
4
0
10
-25
28
62
48
8
-2
-5
0
0
0
0
0
0
0
0
3
-17
-24
21
17
-4
5
4
0
0
0
0
0
0
0
0
0
-7
2
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
41
25
77
12
-53
81
16
0
9
-5
-4
0
0
0
0
0
1
1
-67
6
-63
77
-45
0
-35
0
-43
0
0
0
0
0
0
-8
-26
33
20
-9
-24
-14
33
35
8
-6
1
0
0
0
0
0
6
-7
72
-31
36
-51
38
-20
26
-17
3
0
0
0
0
0
0
-3
-41
-2
33
23
33
-7
91
-16
14
-10
0
0
0
0
0
0
1
13
-37
0
-18
36
73
26
43
-7
2
0
0
0
0
0
0
0
-2
1
-19
2
5
-29
15
0
1
0
0
0
0
0
0
0
0
0
31
5
15
-6
-1
-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
18
102
-2
-6
19
0
-10
0
0
0
0
0
0
0
0
0
0
15
69
27
37
-2
-25
0
1
0
5
-1
0
0
0
0
0
0
-1
-79
66
98
61
-29
4
33
-29
3
-39
0
0
0
0
0
1
-37
4
31
0
53
-14
55
-11
23
16
1
0
0
0
0
0
0
1
25
-1
6
1
21
-5
-13
-77
-4
0
0
0
0
0
0
0
-2
-16
-19
0
89
-5
13
5
-5
0
0
0
0
0
0
0
0
0
-26
0
-14
4
36
-18
-7
1
0
0
0
0
0
0
0
0
-1
0
-8
-18
5
0
17
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
27
-6
5
5
3
0
0
0
-3
0
0
0
0
0
0
0
20
-60
5
-3
-43
35
0
2
0
1
5
0
0
0
0
0
0
4
14
-18
-19
-26
5
-10
-2
21
13
1
0
0
0
0
0
0
8
5
13
36
62
-15
23
41
-2
11
-1
0
0
0
0
0
0
-14
-10
4
5
29
0
-20
5
4
0
0
0
0
0
0
0
0
-6
0
-2
25
0
10
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
10
0
0
0
0
0
0
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
-20
0
-11
0
0
0
0
0
0
0
0
0
0
0
-19
46
6
5
-6
-1
0
0
0
11
0
0
0
0
0
0
-3
3
25
17
-10
14
2
1
6
31
0
0
0
0
0
0
0
-1
-13
6
-21
25
50
24
11
3
0
0
-7
0
0
0
0
0
0
-20
10
-13
10
0
5
0
9
0
4
0
0
0
0
0
0
0
-4
1
11
1
-11
0
-11
0
-1
0
0
0
0
0
0
0
0
0
-3
25
-20
0
4
0
-5
11
0
0
0
0
0
0
0
0
0
-10
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
15
-25
0
5
0
0
0
0
0
0
0
0
0
0
0
9
49
-5
6
44
2
0
0
0
-3
0
0
0
0
0
0
0
-13
-13
23
-9
6
2
0
3
2
1
0
0
0
0
0
0
0
-10
2
-9
39
-18
30
-4
5
-2
-1
0
0
0
0
0
0
0
0
-6
24
21
23
-3
-1
0
0
0
0
0
0
0
0
0
0
31
-3
1
-2
1
0
0
4
0
0
0
0
0
0
0
0
0
1
2
-11
20
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
-11
0
9
5
0
0
0
0
1
0
0
0
0
0
0
0
-6
-17
2
0
0
26
0
0
0
0
0
0
0
0
0
0
0
-9
27
-18
-8
32
3
10
-4
0
0
0
0
0
0
0
0
0
6
3
-39
-74
54
-1
-11
0
3
0
0
0
0
0
0
0
0
9
-4
-7
-7
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
-4
0
0
0
0
0
5
0
0
0
0
0
0
0
1
1
16
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
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
-2
-2
0
0
1
15
0
0
0
0
0
0
0
0
0
0
8
0
15
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
5
-8
44
0
0
0
0
0
0
0
0
0
0
0
19
16
36
27
6
-9
7
0
-27
0
0
0
0
0
0
0
0
-15
50
-61
-38
14
35
14
0
-33
0
0
0
0
0
0
0
0
-1
-63
8
22
-37
-4
-21
4
44
0
0
0
0
0
0
0
0
26
0
23
15
-30
-5
6
7
-14
0
0
0
0
0
0
0
0
1
9
-8
26
-71
49
-19
-15
-13
0
0
0
0
0
0
0
0
0
10
48
-5
9
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-3
4
0
0
0
0
0
0
0
0
0
0
0
-4
-13
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
90
30
32
-23
-19
79
0
0
0
0
0
0
0
0
0
0
0
-14
-95
-17
-50
39
-69
0
23
0
0
0
0
0
0
0
0
45
-10
52
-81
-54
93
32
29
95
47
0
0
0
0
0
0
0
-14
9
1
-67
19
-8
-122
28
-7
101
0
0
0
0
0
0
0
18
17
-14
-61
-13
19
-72
-52
-7
-57
0
0
0
0
0
0
0
0
29
10
-70
-10
-7
83
-29
10
-66
0
0
0
0
0
0
0
1
0
-43
45
36
2
70
36
0
2
0
0
0
0
0
0
0
0
45
2
-6
-1
2
1
-3
-3
-1
0
0
0
0
0
0
0
0
-15
-27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-36
50
57
-90
15
-7
-2
0
0
4
0
0
0
0
0
0
-8
43
53
44
76
47
19
0
-4
0
22
0
0
0
0
0
0
-4
-41
36
63
8
76
-62
14
-82
-48
-31
0
0
0
0
0
0
0
44
13
-38
20
-50
38
-16
-33
23
1
0
0
0
0
0
0
0
2
25
-16
-53
59
-14
72
-15
39
-31
0
0
0
0
0
0
0
1
45
16
96
-44
48
17
19
-13
-7
0
0
0
0
0
0
-2
9
0
13
9
-1
-2
-8
23
32
0
0
0
0
0
0
0
7
0
16
1
63
-37
-11
-9
-2
0
0
0
0
0
0
0
0
0
45
-11
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-25
-7
-3
-33
-4
0
-2
-20
0
0
0
0
0
0
0
27
10
-11
60
-22
-50
0
0
0
-52
3
0
0
0
0
0
0
-16
-28
30
2
-49
26
9
11
-3
-72
1
0
0
0
0
0
0
62
-5
-14
78
5
34
-32
46
-11
-14
-2
0
0
0
0
0
0
-2
19
109
-99
37
-96
39
-15
67
18
0
0
0
0
0
0
0
48
2
-30
0
52
11
-49
6
-39
-8
0
0
0
0
0
0
0
-2
-85
0
16
14
4
14
3
-21
0
0
0
0
0
0
0
0
-9
0
24
0
-30
20
-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
-26
17
-13
-5
-3
0
0
0
4
0
0
0
0
0
0
0
-33
75
21
36
34
-46
0
14
0
1
-2
0
0
0
0
0
0
0
-43
-34
3
32
-17
0
-1
-24
14
-1
0
0
0
0
0
0
0
-2
-2
43
-50
-33
14
-9
3
0
4
0
0
0
0
0
0
-3
-5
36
6
-7
-31
-5
0
8
-1
0
0
0
0
0
0
0
20
-2
1
-7
10
13
2
9
-1
2
0
0
0
0
0
0
0
0
0
-5
0
-3
10
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
60
2
2
0
3
0
0
0
0
0
0
0
0
0
0
0
-18
-4
-17
32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-10
-33
26
-55
5
-25
33
3
0
0
0
0
0
0
0
24
3
11
-23
23
-32
-3
0
2
0
0
0
0
0
0
0
0
-1
-11
3
-1
-14
-2
3
-1
-1
11
0
0
0
0
0
0
0
-25
0
-27
2
33
0
4
6
-4
-1
0
0
0
0
0
0
0
0
1
0
-13
0
0
0
11
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
17
-3
4
-1
0
0
0
-2
0
0
0
0
0
0
0
0
-87
-8
23
2
0
1
0
19
0
0
0
0
0
0
0
0
-1
0
0
-33
43
10
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
9
-2
3
0
0
3
0
0
0
0
0
0
2
-13
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
15
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
11
32
13
-8
0
0
0
2
0
0
0
0
0
0
0
0
24
-2
-18
-17
6
0
8
18
0
0
0
0
0
0
0
0
10
-8
-1
-1
29
-4
0
-16
0
0
0
0
0
0
0
0
0
2
-7
-26
-55
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
10
0
0
0
0
0
0
0
0
0
0
0
-2
2
23
-5
0
0
0
0
79
0
0
0
0
0
0
0
0
-13
-3
-3
-9
23
-7
7
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-2
1
13
10
0
-10
0
0
0
0
0
0
0
0
0
-4
1
6
-25
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
-33
-1
0
0
9
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
-33
-35
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-7
9
32
-5
2
0
0
0
0
0
0
0
0
0
0
23
26
38
-13
45
-2
-5
-2
-14
0
0
0
0
0
0
0
0
17
-81
18
-33
-26
26
-92
-1
-48
0
0
0
0
0
0
0
0
64
-39
-105
11
-32
-86
-35
11
89
0
0
0
0
0
0
0
0
4
35
3
-64
-7
59
62
-3
34
0
0
0
0
0
0
0
0
1
0
-59
3
90
-5
10
-20
58
0
0
0
0
0
0
0
0
0
-60
-14
3
0
4
5
9
-23
0
0
0
0
0
0
0
0
0
0
-10
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-57
-7
-21
5
-51
-1
0
0
0
0
0
0
0
0
0
0
-36
30
-82
-51
14
-10
0
-2
0
0
0
0
0
0
0
0
-15
-23
-132
-49
-4
-25
-95
-10
-20
-65
0
0
0
0
0
0
0
-2
-42
-55
-33
-60
17
-51
-1
-20
-85
0
0
0
0
0
0
0
-13
51
-21
2
-15
-17
-4
-1
104
76
0
0
0
0
0
0
0
0
-5
-63
65
6
-23
42
-50
11
40
0
0
0
0
0
0
0
0
-1
-3
11
23
12
34
65
-24
1
0
0
0
0
0
0
0
0
0
-17
-31
43
-5
-1
-8
0
2
0
0
0
0
0
0
0
0
-4
0
-10
-4
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-3
18
18
7
7
0
0
0
0
0
0
0
0
0
0
0
52
-5
-5
28
-8
1
0
0
0
-17
0
0
0
0
0
0
26
-6
35
-27
41
46
-33
11
-47
5
17
0
0
0
0
0
0
1
24
6
-25
-80
39
53
-44
4
-73
20
0
0
0
0
0
0
-9
-10
33
73
44
-30
-5
-22
2
-8
25
0
0
0
0
0
0
0
-37
17
-57
15
18
-51
-33
-31
119
29
0
0
0
0
0
0
0
0
-45
0
31
36
-24
34
24
14
-4
0
0
0
0
0
0
0
29
0
8
-13
-11
2
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
-14
4
-22
-1
5
21
0
0
9
0
0
0
0
0
0
0
-5
-10
-20
15
44
43
0
0
0
-2
0
0
0
0
0
0
0
18
46
-15
31
24
-6
-11
-8
45
10
0
0
0
0
0
0
0
-48
-2
-27
0
-25
17
-2
62
56
-5
-4
0
0
0
0
0
0
-2
-7
8
-44
-37
-5
16
-24
4
-4
0
0
0
0
0
0
0
-3
-31
8
78
-33
-3
-25
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-7
-37
-11
1
-3
0
0
0
0
0
0
0
0
0
-2
0
5
24
0
0
0
0
0
0
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
-10
4
-1
-33
1
14
0
0
0
0
0
0
0
0
0
0
-3
0
2
1
29
8
-16
0
0
0
-4
1
0
0
0
0
0
0
26
1
-17
17
-1
-20
-18
-3
-1
0
0
0
0
0
0
0
0
0
-5
47
27
16
-23
0
-6
13
0
0
0
0
0
0
0
0
-7
0
-7
8
-23
1
-7
0
0
13
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-18
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
-39
-37
-1
-1
0
-4
-5
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
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
-23
-2
10
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
0
-6
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
26
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
15
53
-1
0
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
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
2
1
-3
-27
8
0
0
0
0
0
0
0
0
0
0
0
0
24
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
-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
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
110
-1
2
-4
-7
0
0
0
0
0
0
0
0
0
0
0
-18
-53
-4
0
-18
-22
0
0
-5
0
0
0
0
0
0
0
0
1
-11
6
-11
2
-45
2
0
-5
0
0
0
0
0
0
0
0
2
17
-17
-6
-22
-24
-25
-1
23
0
0
0
0
0
0
0
0
3
-62
10
-41
35
58
26
2
-37
0
0
0
0
0
0
0
0
0
-55
27
-24
28
-5
-5
9
-2
0
0
0
0
0
0
0
0
0
0
-48
-16
-5
61
4
17
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
-29
-17
45
-2
5
0
0
0
0
0
0
0
0
0
0
27
1
-23
34
3
-7
-1
0
-3
-86
0
0
0
0
0
0
0
0
63
-32
5
-74
2
-3
-1
20
-6
0
0
0
0
0
0
0
4
6
-27
6
-65
-3
-41
32
-9
0
0
0
0
0
0
0
0
0
-13
41
-33
4
56
-7
20
5
6
0
0
0
0
0
0
0
1
0
-6
3
3
26
10
5
8
0
0
0
0
0
0
0
0
0
0
0
-46
16
6
6
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
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
1
18
36
-13
0
-2
0
0
13
0
0
0
0
0
0
0
0
-24
2
-5
-7
-9
17
-3
-3
-6
0
0
0
0
0
0
0
7
-5
-25
-2
47
21
-15
2
2
0
-5
0
0
0
0
0
0
0
-1
6
5
-15
-6
-16
-16
-5
-8
-6
0
0
0
0
0
0
0
0
5
6
0
-1
-9
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
-11
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
-17
2
0
0
0
-4
-10
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
-21
0
0
0
2
-1
0
-2
0
0
0
0
0
0
0
0
19
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
14
-2
2
-16
-11
0
0
0
0
0
0
0
0
0
6
-8
8
-10
-3
17
-33
-40
-22
0
0
0
0
0
0
0
0
1
0
0
-11
0
17
-23
30
25
0
0
0
0
0
0
0
0
-7
-3
1
-4
-4
10
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-14
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-5
21
0
-39
0
0
0
0
0
0
0
-20
13
8
36
-35
103
50
98
50
43
0
0
0
0
0
0
0
-2
18
-5
32
25
8
104
62
79
25
0
0
0
0
0
0
0
4
-2
0
77
-57
38
9
89
-18
20
0
0
0
0
0
0
0
0
-39
-2
6
-33
-50
-45
-35
39
-2
0
0
0
0
0
0
0
0
-21
1
0
3
-128
-1
48
25
-8
0
0
0
0
0
0
0
0
1
-2
0
13
-4
-5
-9
11
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
9
-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
-22
0
-3
-6
-32
-27
15
0
21
-1
0
0
0
0
0
0
-2
2
25
-81
1
-23
35
19
19
-10
2
0
0
0
0
0
0
1
2
-6
0
-2
74
86
-46
-80
65
5
0
0
0
0
0
0
-2
-3
0
10
-43
-3
1
5
23
9
-6
0
0
0
0
0
0
2
0
-5
14
5
-18
-16
3
-1
-25
-5
0
0
0
0
0
0
0
6
14
0
-3
1
8
-14
31
7
0
0
0
0
0
0
0
0
0
1
0
21
25
-1
52
5
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-16
-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
-2
47
-9
0
-43
0
0
0
0
0
0
0
0
6
5
2
14
-38
4
-85
-21
9
6
-6
0
0
0
0
0
0
-4
0
-3
-29
30
5
17
19
-3
7
0
0
0
0
0
0
0
2
-5
11
0
-57
21
50
-18
-21
2
0
0
0
0
0
0
0
0
0
32
0
0
4
-30
21
1
0
0
0
0
0
0
0
0
0
3
0
-7
6
69
-46
-1
-3
-7
0
0
0
0
0
0
0
0
0
-3
-1
5
-34
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
14
0
-2
8
-8
0
31
0
0
0
0
0
0
0
2
6
-9
0
-7
-25
70
-43
-32
5
11
0
0
0
0
0
0
0
7
14
3
8
12
7
78
-4
-1
0
0
0
0
0
0
0
0
-8
0
1
0
3
-20
14
-3
0
0
0
0
0
0
0
0
0
-1
-5
4
0
1
-27
-10
-8
-3
0
0
0
0
0
0
0
0
0
-3
0
13
2
7
-6
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
20
22
0
11
-2
0
0
0
0
0
0
-2
16
15
2
9
18
27
-3
-59
-10
-3
0
0
0
0
0
0
-1
-1
-15
10
10
-24
-25
-8
51
2
0
0
0
0
0
0
0
0
0
0
8
0
-23
-6
19
3
-17
-4
0
0
0
0
0
0
0
-1
0
0
-5
-9
1
-2
-8
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-16
3
16
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
9
-2
0
17
0
7
1
0
0
0
0
0
0
-5
0
0
6
46
0
-2
101
-33
0
4
-2
0
0
0
0
0
0
3
0
0
-24
-16
-26
46
-6
4
0
-1
0
0
0
0
0
0
0
2
3
0
-3
2
-43
14
-1
0
4
0
0
0
0
0
0
0
0
17
-2
5
15
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
13
0
0
0
0
0
0
-2
-4
-1
-3
-2
-5
1
-5
-9
0
-10
0
0
0
0
0
0
0
0
-2
1
2
15
18
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
27
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
17
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
-4
-11
-36
-4
-43
-60
58
17
0
0
0
0
0
0
0
0
0
104
-1
75
-7
-39
25
4
-62
21
0
0
0
0
0
0
0
0
44
11
-13
26
12
29
29
60
-6
0
0
0
0
0
0
0
0
-11
1
0
9
8
14
-25
4
11
0
0
0
0
0
0
0
0
32
0
0
8
72
-14
39
-5
20
0
0
0
0
0
0
0
0
0
0
0
2
14
16
11
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-3
-17
-2
66
33
-18
0
-44
0
0
0
0
0
0
0
-31
44
-64
-3
-14
-28
69
10
-69
-101
0
0
0
0
0
0
0
4
-43
-3
97
56
5
-5
-56
-97
-1
0
0
0
0
0
0
0
4
-20
-24
-22
42
-83
-40
99
-23
-29
0
0
0
0
0
0
0
0
22
2
16
-95
-33
98
45
31
21
0
0
0
0
0
0
0
0
-87
6
0
57
25
-29
9
-13
33
0
0
0
0
0
0
0
0
-2
2
4
-43
-4
-42
-43
-29
2
0
0
0
0
0
0
0
0
-9
0
8
1
14
19
-24
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
23
33
-9
50
-65
3
23
14
0
-17
-21
0
0
0
0
0
0
3
27
9
63
146
34
-46
-9
16
-52
37
0
0
0
0
0
0
-10
15
2
-51
43
58
-1
20
40
-29
-4
0
0
0
0
0
0
-8
-49
-23
-25
36
-80
67
-26
21
-58
29
0
0
0
0
0
0
-3
34
29
-4
16
3
30
77
0
-33
-14
0
0
0
0
0
0
0
4
14
0
-5
-21
-6
-25
-15
18
6
0
0
0
0
0
0
0
0
26
3
16
-18
64
0
-14
-19
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
15
0
-6
39
-14
-19
-52
0
34
20
-3
0
0
0
0
0
0
5
1
16
-33
83
57
50
-13
-18
-20
-1
0
0
0
0
0
9
-2
0
48
121
14
-69
13
-9
-12
-46
2
0
0
0
0
0
4
14
-16
17
-43
1
17
-40
-26
4
0
0
0
0
0
0
0
0
-36
-8
9
-9
-19
-73
-14
-33
37
-3
1
0
0
0
0
0
0
2
17
0
0
43
5
-25
20
1
1
0
0
0
0
0
0
0
0
0
9
11
-2
18
1
-6
-8
0
0
0
0
0
0
0
0
0
0
1
0
-2
-33
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
-11
-13
-11
7
16
0
18
23
0
-68
1
1
0
0
0
0
0
8
-14
24
1
2
38
-31
2
0
56
4
16
0
0
0
0
0
1
-19
-10
-2
18
-35
-5
-8
-21
26
-2
-1
0
0
0
0
0
0
-16
3
20
-15
46
-7
-66
22
34
2
0
0
0
0
0
0
0
0
7
0
1
1
-49
20
34
-5
14
5
0
0
0
0
0
0
-2
-5
4
-1
-3
-9
14
25
0
1
0
0
0
0
0
0
0
0
0
0
-1
64
-11
0
11
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
-20
-6
2
16
2
1
11
0
25
2
0
0
0
0
0
0
0
-5
5
2
34
3
-11
16
45
54
-19
3
1
0
0
0
0
-5
48
8
26
-27
47
-36
41
-21
-44
-2
0
0
0
0
0
0
1
1
0
-3
2
-34
45
8
-5
23
14
1
0
0
0
0
0
0
0
1
-3
0
-10
14
10
16
1
0
-2
3
0
0
0
0
0
0
4
3
0
0
46
-11
-13
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
-22
50
11
51
2
0
31
2
0
0
0
0
0
0
-1
4
-6
-24
66
4
-1
53
-14
8
-5
-5
1
0
0
0
0
0
8
5
-9
-27
33
45
9
29
-5
17
1
0
0
0
0
0
-1
4
-3
-4
-8
-29
-21
29
-20
-4
-18
1
0
0
0
0
0
-5
5
-6
-3
0
10
19
-7
-7
6
-3
2
0
0
0
0
0
0
-4
2
0
0
0
-3
33
52
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
9
-5
-6
7
-3
7
0
0
0
0
0
0
0
-1
0
0
0
-9
-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
11
32
17
0
-4
1
0
0
0
0
0
0
-2
2
9
-9
-14
-35
-6
1
12
6
-42
0
-1
0
0
0
0
-4
1
7
1
-5
2
-20
1
7
7
-4
-3
1
0
0
0
0
0
-3
5
5
-5
18
-7
0
-9
5
0
0
0
0
0
0
0
0
0
1
7
-1
5
17
-1
-34
-2
0
0
0
0
0
0
0
0
0
20
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
13
1
0
8
1
2
4
0
-1
0
0
0
0
0
0
0
0
2
0
0
18
-10
5
1
5
-1
5
0
0
0
0
0
0
0
15
0
-4
5
-4
64
-17
-1
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
3
-3
25
4
1
0
0
0
0
0
0
0
0
13
0
13
4
0
33
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
-11
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
6
3
-61
-35
51
-72
0
0
0
0
0
0
0
0
0
61
11
47
-3
24
109
46
19
32
0
0
0
0
0
0
0
0
-2
7
0
-5
-51
-82
2
1
-45
0
0
0
0
0
0
0
0
47
6
24
85
-30
57
-32
20
6
0
0
0
0
0
0
0
0
14
0
-1
-53
31
-9
5
7
5
0
0
0
0
0
0
0
0
0
0
0
-9
7
-7
4
25
21
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
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
-65
-27
33
96
4
-15
47
0
-47
0
0
0
0
0
0
0
-5
11
68
-2
-7
-12
-50
5
-18
2
0
0
0
0
0
0
0
21
-17
-39
4
71
-84
-2
-54
-14
33
0
0
0
0
0
0
0
7
-4
5
37
-3
54
-54
51
6
18
0
0
0
0
0
0
0
4
21
-13
19
47
13
-16
72
13
-5
0
0
0
0
0
0
0
0
0
25
1
14
75
8
-42
-24
4
0
0
0
0
0
0
0
3
0
-26
0
8
-1
101
16
-50
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-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
21
-53
79
-52
31
0
7
7
0
0
0
0
0
0
6
-25
-6
-5
-24
-33
43
7
28
14
39
0
0
0
0
0
0
-3
-27
-6
-36
-5
-71
23
50
71
59
8
0
0
0
0
0
0
5
-24
-14
4
2
33
60
52
-4
-19
-3
0
0
0
0
0
0
-5
0
4
22
-20
10
16
-25
-32
53
2
0
0
0
0
0
0
0
-2
0
3
-4
-2
-19
6
23
-4
0
0
0
0
0
0
0
0
1
4
7
-22
-5
-14
-25
-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
-21
3
-13
66
-28
-56
0
4
5
9
0
0
0
0
0
-14
62
31
43
-67
-13
51
11
29
-49
18
10
0
0
0
0
0
0
-35
54
-1
33
-62
-26
4
-53
-1
-5
3
0
0
0
0
0
-1
0
74
8
43
89
31
56
43
18
0
0
0
0
0
0
0
-10
7
0
-21
41
-13
69
71
32
-56
0
0
0
0
0
0
0
0
6
2
-13
-1
29
43
29
-4
3
-2
0
0
0
0
0
0
0
0
0
-1
2
0
15
-3
20
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
63
-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
-9
3
6
-30
0
-17
-13
0
0
0
0
0
0
-2
32
-23
-15
83
25
40
66
-11
21
-37
0
0
0
0
0
0
0
0
5
-53
0
47
-45
-22
49
31
-1
0
0
0
0
0
0
-5
0
-5
4
-31
-6
43
-53
34
14
-17
0
0
0
0
0
0
-2
-7
-6
-2
6
67
15
-44
-1
19
3
0
0
0
0
0
0
0
0
-7
0
-1
17
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
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
14
1
-8
32
0
43
3
0
0
0
0
0
0
3
-1
4
-2
-2
-9
-46
51
40
17
-5
3
0
0
0
0
0
0
-4
-1
22
-7
-1
-7
60
39
-24
0
3
0
0
0
0
0
2
29
-2
4
21
36
-11
-18
-57
-6
-6
0
0
0
0
0
0
4
0
1
0
13
-20
-41
-10
2
3
1
0
0
0
0
0
0
0
0
0
-1
0
3
6
-27
2
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
16
11
-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
0
0
0
7
-4
0
0
0
0
0
0
3
0
1
-6
15
11
65
-22
5
-1
0
0
0
0
0
0
0
0
-3
-23
2
-16
-4
13
-11
14
0
0
0
0
0
0
0
0
8
-1
-10
58
-11
13
-27
-43
7
0
0
0
0
0
0
0
0
2
-4
-4
-3
21
33
10
-2
2
0
0
0
0
0
0
0
0
0
-2
0
1
1
-32
0
-3
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
17
0
0
0
0
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
11
-10
0
-2
0
6
0
0
0
0
0
0
7
13
1
-72
43
3
-9
-27
4
2
0
0
0
0
0
0
0
0
0
1
-6
1
11
0
5
14
4
0
0
0
0
0
0
0
-1
-3
8
11
-8
32
15
22
-26
0
0
0
0
0
0
0
0
1
-5
-2
3
6
0
3
21
-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
21
0
0
0
0
0
0
0
0
0
2
-3
-16
-10
-29
-7
18
0
1
0
0
0
0
0
0
0
-1
4
-1
18
14
55
46
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
15
10
-27
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
-10
5
-8
-9
0
-1
0
0
0
0
0
0
0
0
0
3
0
-7
-2
-10
-26
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
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
11
-1
13
2
15
-73
0
-53
0
0
0
0
0
0
0
0
0
22
14
-8
14
3
41
47
47
11
0
0
0
0
0
0
0
0
24
-11
-3
-48
14
10
-100
51
-31
0
0
0
0
0
0
0
0
0
-1
53
23
29
-14
46
-8
-1
0
0
0
0
0
0
0
0
-3
2
-4
21
4
-43
-8
2
6
0
0
0
0
0
0
0
0
-3
6
1
9
4
-35
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-14
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-9
0
-16
52
72
50
9
0
-45
0
0
0
0
0
0
0
-10
-23
61
-5
-47
32
-34
6
-4
20
0
0
0
0
0
0
0
45
52
55
65
46
103
25
-29
-51
-50
0
0
0
0
0
0
0
-8
-13
53
14
5
38
-185
-14
54
104
0
0
0
0
0
0
0
-13
39
-5
-5
-15
-2
-64
11
-9
-3
0
0
0
0
0
0
0
0
-6
14
-23
-65
129
-10
-14
-80
-1
0
0
0
0
0
0
0
0
-4
1
-3
0
-33
-44
1
-54
9
0
0
0
0
0
0
0
0
0
0
-5
0
-6
-14
19
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
2
-5
8
24
-55
-11
0
-10
-2
0
0
0
0
0
0
1
-29
5
-11
31
36
35
8
-37
-32
-14
0
0
0
0
0
0
-2
59
-1
-16
70
-23
64
27
80
63
1
0
0
0
0
0
0
10
-9
-3
-40
43
-29
-46
-5
-20
25
13
0
0
0
0
0
0
24
-5
-4
10
-8
-33
34
-89
19
23
0
0
0
0
0
0
0
0
-24
-10
-52
22
-9
7
11
1
6
0
0
0
0
0
0
0
0
14
6
0
39
3
-30
-45
-41
-5
0
0
0
0
0
0
0
0
0
-1
0
0
-3
9
8
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
50
53
-30
-82
0
108
-17
0
0
0
0
0
0
0
-26
-22
-14
-1
-52
-92
15
-19
83
35
-1
0
0
0
0
0
1
-16
14
-5
-108
47
48
74
-33
-53
-7
-6
0
0
0
0
0
0
-17
51
0
27
107
28
51
-116
-44
5
0
0
0
0
0
0
0
1
-2
-10
71
37
9
-8
25
-20
-1
0
0
0
0
0
0
0
2
0
-33
3
24
-15
30
-30
10
0
0
0
0
0
0
0
0
3
0
0
0
-5
49
8
53
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
11
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
33
171
-65
0
-53
-19
0
0
0
0
0
0
0
0
3
4
-4
65
-20
-62
-63
117
-23
-1
0
0
0
0
0
0
0
6
-23
1
-1
-23
10
58
18
-2
3
0
0
0
0
0
0
0
-2
31
0
5
62
-14
-53
43
-1
0
0
0
0
0
0
1
0
0
0
-9
34
6
3
27
-5
0
0
0
0
0
0
0
0
0
0
-15
0
-45
11
4
4
-11
-6
0
0
0
0
0
0
0
0
1
6
3
6
25
1
5
2
0
0
0
0
0
0
0
0
0
0
0
1
-3
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
-1
0
0
0
8
-11
17
0
-18
6
2
0
0
0
0
0
0
-9
0
0
-4
8
17
16
7
6
-5
0
0
0
0
0
0
0
0
0
-17
-10
-48
-5
-13
33
-15
2
0
0
0
0
0
0
0
0
-19
-1
-14
0
-5
8
-11
72
0
0
0
0
0
0
0
0
-3
-1
-52
10
36
-23
21
0
-10
0
0
0
0
0
0
0
0
0
-2
0
1
16
0
-2
3
2
1
0
0
0
0
0
0
0
0
-3
-5
1
-2
24
5
0
10
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
13
5
-25
35
0
0
-3
0
0
0
0
0
0
0
-1
4
36
-3
41
-11
43
1
0
3
1
0
0
0
0
0
0
-1
-2
-2
-3
-5
-15
-1
45
45
0
0
0
0
0
0
0
0
0
4
-9
20
51
0
14
20
21
0
0
0
0
0
0
0
0
-1
-5
-1
-3
0
-6
23
-6
-1
0
0
0
0
0
0
0
0
7
0
0
0
41
9
41
5
0
0
0
0
0
0
0
0
0
-5
-9
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
32
0
0
0
0
0
0
0
0
-1
3
0
3
1
-17
25
55
-5
0
0
0
0
0
0
0
0
-7
3
-3
15
5
23
50
-25
4
0
0
0
0
0
0
0
0
0
-1
-21
13
23
-33
0
-8
-9
0
0
0
0
0
0
0
0
0
1
-9
-17
-1
10
-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
-11
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
41
11
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
17
-11
-1
6
5
0
0
0
0
0
0
0
-15
0
0
0
0
-39
4
1
0
0
0
0
0
0
0
0
0
2
0
0
-3
-13
2
21
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
14
-3
21
3
-1
0
0
0
0
0
0
0
0
5
0
0
0
-1
-1
-25
1
-6
0
0
0
0
0
0
0
0
-4
1
0
-4
4
0
0
15
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
7
0
5
-17
-25
-16
9
-10
0
0
0
0
0
0
0
0
0
52
-22
6
-22
19
79
-94
-70
-39
0
0
0
0
0
0
0
0
4
-1
43
-22
-32
-25
2
5
-17
0
0
0
0
0
0
0
0
9
-6
37
64
-21
49
-43
30
-7
0
0
0
0
0
0
0
0
0
-3
-7
32
16
-23
-52
-31
-10
0
0
0
0
0
0
0
0
5
0
1
-43
26
5
-26
3
0
0
0
0
0
0
0
0
0
0
6
0
0
-32
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
-13
-5
1
-19
18
4
-10
0
25
0
0
0
0
0
0
0
8
-64
-4
-46
-50
-52
-3
-13
-61
-44
0
0
0
0
0
0
0
-17
-19
-21
26
-74
-79
15
26
35
-58
0
0
0
0
0
0
0
33
-18
-3
-23
-36
129
8
-30
-46
-15
0
0
0
0
0
0
0
14
0
58
-11
53
65
25
-17
-47
-30
0
0
0
0
0
0
0
0
34
-46
-15
31
-80
96
-5
-49
0
0
0
0
0
0
0
0
1
7
2
0
-9
-20
-23
19
-31
0
0
0
0
0
0
0
0
0
1
-7
18
0
4
-2
-6
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
5
0
0
0
0
0
0
0
0
-3
-6
-6
7
-33
20
10
-5
0
141
-3
0
0
0
0
0
0
1
-45
-24
-14
3
-61
14
62
-33
44
54
0
0
0
0
0
0
1
-1
49
58
44
59
75
-64
15
-30
13
0
0
0
0
0
0
41
74
49
74
-5
37
21
-4
58
23
19
0
0
0
0
0
0
3
74
0
34
-48
-21
111
1
15
-15
1
0
0
0
0
0
0
0
0
4
-21
-91
-10
5
-38
-33
-4
-9
0
0
0
0
0
0
0
-1
15
-8
43
44
44
33
47
31
0
0
0
0
0
0
0
0
0
-4
0
0
5
35
-76
0
0
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
-10
0
-22
52
49
46
3
0
0
48
0
0
0
0
0
0
0
-23
45
11
-2
36
65
29
-3
21
82
0
0
0
0
0
0
0
-2
45
19
82
-74
51
34
15
23
77
0
0
0
0
0
0
0
-3
2
-29
-10
1
12
-58
32
0
-1
-1
0
0
0
0
0
2
1
-7
0
-20
9
-28
-5
-9
-2
8
0
0
0
0
0
0
0
0
-1
-6
-16
29
-86
-86
-7
16
0
0
0
0
0
0
0
0
0
-1
5
17
25
-23
66
-21
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-3
27
6
2
2
3
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
3
0
2
-6
-49
-18
0
27
0
0
0
0
0
0
0
0
-3
-8
1
-15
3
-22
-86
-29
23
9
4
0
0
0
0
0
0
1
0
45
-25
-82
-27
-27
67
2
-6
0
0
0
0
0
0
0
3
2
0
-2
26
5
-45
15
24
0
1
0
0
0
0
0
1
0
2
32
0
-27
9
29
7
2
0
0
0
0
0
0
0
0
2
29
0
-6
29
3
52
15
36
0
0
0
0
0
0
0
0
0
0
1
24
-2
-17
0
-18
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
16
-14
-6
0
2
17
0
0
0
0
0
0
0
6
2
-8
15
43
34
18
45
-3
-15
0
0
0
0
0
0
0
4
0
4
-37
-14
-6
33
45
43
-2
4
0
0
0
0
0
0
0
0
-6
4
-24
-26
-25
82
-61
-14
0
0
0
0
0
0
-6
33
7
0
9
0
50
4
71
13
0
0
0
0
0
0
0
0
0
0
-15
-2
11
-14
8
8
-11
-6
0
0
0
0
0
0
0
0
0
0
7
6
-8
-1
13
0
-2
0
0
0
0
0
0
0
0
6
5
0
-1
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
-1
0
1
0
-27
37
0
6
0
0
0
0
0
0
0
0
-3
0
0
11
5
-5
45
14
-2
2
0
0
0
0
0
0
0
0
-7
0
-26
7
-23
-5
-21
7
0
0
0
0
0
0
0
2
0
2
0
-31
6
36
-5
0
13
0
-1
0
0
0
0
0
0
14
-2
-1
29
-1
0
14
32
0
-2
0
0
0
0
0
0
0
6
17
-7
14
1
13
21
2
-4
2
0
0
0
0
0
0
0
0
0
-3
-7
0
14
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
-9
0
6
0
0
0
0
0
0
0
0
0
0
10
-14
37
-16
0
-3
-1
0
0
0
0
0
0
0
0
5
1
3
24
3
-15
-63
3
-2
-1
0
0
0
0
0
0
0
0
0
9
24
-16
-5
15
-6
13
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
14
3
-10
-2
-15
0
-3
0
0
0
0
0
0
0
0
0
0
0
11
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
-10
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
23
-24
19
0
0
0
0
0
0
0
0
0
0
14
0
-2
-6
-15
10
4
1
0
0
0
0
0
0
0
15
0
-6
8
45
92
14
0
-5
0
0
0
0
0
0
0
0
0
0
-5
-13
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
-1
0
-1
6
25
3
0
0
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
3
0
0
0
0
0
0
0
0
0
0
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
9
3
-1
0
0
0
0
0
0
0
0
0
0
1
-1
8
-2
21
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
-1
0
-4
25
-3
-34
-20
-10
0
0
0
0
0
0
0
0
0
5
-1
0
-37
39
24
36
18
-47
0
0
0
0
0
0
0
0
8
2
-8
7
-1
-5
-13
-74
48
0
0
0
0
0
0
0
0
3
10
49
58
-23
-16
-5
15
-19
0
0
0
0
0
0
0
0
-7
-16
-2
45
10
-13
16
8
16
0
0
0
0
0
0
0
0
0
46
1
36
61
-23
8
37
0
0
0
0
0
0
0
0
0
-11
9
6
6
73
-8
-10
36
9
0
0
0
0
0
0
0
0
0
0
0
-30
-2
4
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
-6
5
17
29
36
-23
17
33
0
30
0
0
0
0
0
0
0
11
-27
37
-16
31
47
30
2
-74
10
0
0
0
0
0
0
0
2
42
-15
-9
13
0
-51
-6
56
-15
0
0
0
0
0
0
0
0
96
16
28
14
-46
-14
-8
-62
6
0
0
0
0
0
0
0
2
10
-8
138
-5
56
43
48
6
59
0
0
0
0
0
0
0
-1
0
-16
21
42
20
7
-5
-48
15
0
0
0
0
0
0
0
1
-39
-1
4
-5
12
83
6
-4
-1
0
0
0
0
0
0
0
0
-1
2
-15
-3
24
35
57
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
21
3
0
0
0
0
0
0
0
0
0
5
-2
-17
0
-2
-10
53
71
0
-10
-33
0
0
0
0
0
0
-2
-10
46
33
-9
-32
-24
45
47
-11
-15
0
0
0
0
0
0
-1
8
-16
-14
-27
53
134
-29
-14
100
26
0
0
0
0
0
0
9
45
-20
71
96
60
79
18
15
45
5
0
0
0
0
0
0
-4
-49
6
5
51
-52
113
-22
-1
57
0
0
0
0
0
0
0
18
-72
0
17
-64
-73
48
69
-30
53
0
0
0
0
0
0
0
-2
0
-39
27
-33
24
-48
44
93
-5
0
0
0
0
0
0
0
0
0
-15
-3
0
25
22
50
-14
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
-13
0
0
0
0
0
0
0
0
2
8
-1
2
25
7
-14
-53
0
36
10
1
0
0
0
0
0
2
51
-27
9
36
7
5
-31
-53
-14
-5
-5
0
0
0
0
0
0
-5
8
1
86
-35
-8
13
-10
-24
-26
0
0
0
0
0
0
2
100
-3
0
-11
-36
10
28
-13
49
32
0
0
0
0
0
0
0
-20
-2
-31
29
53
-4
-27
43
15
5
0
0
0
0
0
0
0
56
3
0
3
-54
49
4
45
21
0
0
0
0
0
0
0
0
-47
1
60
-26
-15
-19
-33
-14
6
6
0
0
0
0
0
0
0
0
2
-5
0
-2
-9
-21
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
-3
1
-7
-35
22
16
0
-15
9
0
0
0
0
0
0
0
2
8
-34
0
-34
8
29
-50
-57
0
0
0
0
0
0
0
0
1
0
7
23
35
75
-41
20
8
10
0
0
0
0
0
0
0
-1
0
-1
5
-2
5
31
-58
17
-2
0
0
0
0
0
0
0
0
4
14
-51
24
52
-29
18
-16
0
-1
0
0
0
0
0
0
6
56
-25
0
-11
45
29
-5
-5
0
0
0
0
0
0
0
-1
0
1
0
7
0
22
9
0
0
1
0
0
0
0
0
0
0
0
0
1
-2
-2
18
-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
35
-25
0
-5
0
0
0
0
0
0
0
0
-1
0
-4
3
-2
14
6
-5
-2
-2
0
0
0
0
0
0
0
0
-5
0
0
0
5
-17
-25
-21
3
0
0
0
0
0
0
0
0
-1
54
23
33
52
45
-8
26
11
0
0
0
0
0
0
1
-13
4
4
-19
24
18
43
71
3
0
0
0
0
0
0
0
0
11
-4
1
1
0
-15
-14
-2
0
0
0
0
0
0
0
0
-2
0
-15
8
0
-8
2
10
-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
15
0
0
-10
0
0
0
0
0
0
0
0
-1
0
1
18
-18
78
-45
16
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
10
-33
0
0
0
0
0
0
0
0
0
-2
0
0
3
13
4
-9
-2
-29
0
0
0
0
0
0
0
0
-3
-10
0
-3
5
52
8
36
4
0
0
0
0
0
0
0
0
0
5
0
0
4
0
24
0
23
0
0
0
0
0
0
0
0
0
0
-1
0
2
21
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
-32
3
0
-1
2
0
0
0
0
0
0
-3
0
-6
0
-9
0
0
20
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
18
-8
-5
-13
-6
0
0
0
0
0
0
0
0
0
0
-2
-2
-10
4
-10
-7
5
3
0
0
0
0
0
0
0
8
0
7
0
-39
18
9
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
-26
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
9
2
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
46
10
-17
-26
-7
0
0
0
0
0
0
0
0
-2
0
1
0
3
-3
-4
-14
0
0
0
0
0
0
0
0
0
-1
0
4
-27
25
-8
36
-2
-23
0
0
0
0
0
0
0
0
0
0
0
-7
5
89
-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
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
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
25
0
1
5
-37
-8
44
8
0
0
0
0
0
0
0
0
0
50
13
-7
-24
37
89
-24
39
27
0
0
0
0
0
0
0
0
-14
0
-4
30
-16
35
38
-62
-4
0
0
0
0
0
0
0
0
-21
7
-1
17
-47
84
11
23
26
0
0
0
0
0
0
0
0
-1
1
5
-64
-24
-8
29
-2
32
0
0
0
0
0
0
0
0
21
4
-16
45
6
7
-23
-6
-1
0
0
0
0
0
0
0
0
0
0
4
2
79
51
-14
-10
-2
0
0
0
0
0
0
0
0
0
0
-2
32
-10
-3
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
19
0
0
0
0
0
0
0
0
0
0
0
-30
-5
6
73
45
-15
-17
0
2
0
0
0
0
0
0
0
0
-47
-33
-27
-109
-35
-71
13
-40
2
0
0
0
0
0
0
0
0
53
-7
8
13
11
-28
15
2
-20
0
0
0
0
0
0
0
7
15
37
27
-12
71
24
30
17
-11
0
0
0
0
0
0
0
0
62
30
-4
35
34
56
108
-48
-17
0
0
0
0
0
0
0
13
-25
-4
4
-14
86
-4
-109
-17
-54
0
0
0
0
0
0
0
-4
0
1
14
-23
-33
7
-37
-2
13
0
0
0
0
0
0
0
0
1
13
-41
9
2
-33
0
5
-10
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
27
-2
10
-3
43
-65
0
23
4
0
0
0
0
0
0
-1
-39
-24
-5
13
-3
49
7
30
17
-4
0
0
0
0
0
0
-2
32
14
-4
52
25
-18
2
6
-26
3
0
0
0
0
0
0
0
-36
-4
-4
32
10
-11
-9
24
56
6
0
0
0
0
0
0
0
-11
-5
45
-14
-27
93
-9
-14
9
-1
0
0
0
0
0
0
-3
-8
4
25
13
56
-8
12
79
43
-8
0
0
0
0
0
0
15
14
0
0
-61
-1
5
0
67
-13
0
0
0
0
0
0
0
0
0
-4
6
-11
10
33
-23
11
-32
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
-15
45
94
0
17
5
-1
0
0
0
0
0
0
-7
-5
-5
-26
-48
35
26
16
7
-10
4
0
0
0
0
0
0
-5
1
-11
3
-3
50
33
-15
47
-18
0
0
0
0
0
0
0
-4
0
-2
4
33
-37
-49
13
-29
-10
0
0
0
0
0
0
0
5
-4
-3
-30
60
65
-86
-1
72
-1
0
0
0
0
0
0
1
-10
2
36
29
110
63
-90
7
-7
7
0
0
0
0
0
0
0
-1
77
0
11
-7
-66
47
-23
3
0
0
0
0
0
0
0
0
11
0
-5
0
15
-8
-32
-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
-1
5
6
-7
5
27
-25
0
73
14
0
0
0
0
0
0
0
0
0
2
-9
43
14
-9
5
24
27
-1
0
0
0
0
0
0
-1
0
5
-3
-7
69
-6
27
35
0
0
0
0
0
0
0
0
-10
0
-1
-2
13
-32
4
-7
6
1
0
0
0
0
0
0
0
-4
0
0
-7
48
11
24
-3
2
-5
0
0
0
0
0
0
0
0
-3
-1
-2
-30
-21
-23
8
18
0
3
0
0
0
0
0
0
0
0
0
0
-23
15
-10
-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
-45
18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-11
5
7
-39
-8
-2
0
0
0
0
0
0
0
0
0
11
-8
-2
9
3
-1
0
0
0
0
0
0
0
0
0
-2
0
0
11
1
26
51
-37
0
0
0
0
0
0
0
0
0
0
0
27
1
26
1
-5
0
-5
0
0
0
0
0
0
0
0
0
0
15
-14
8
25
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-5
0
24
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
9
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
7
-4
17
0
0
0
0
0
0
0
0
0
0
1
0
0
24
-6
-9
0
0
0
0
0
0
0
0
0
0
0
1
0
24
3
54
1
-10
0
0
0
0
0
0
0
0
9
0
1
-1
13
-20
-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
-1
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
20
0
1
-1
-6
-7
-32
-18
0
0
0
0
0
0
0
0
0
1
0
-1
-1
0
-9
3
5
8
0
0
0
0
0
0
0
0
0
0
0
0
10
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
10
-6
10
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
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
9
3
-19
11
-11
0
0
0
0
0
0
0
0
2
0
10
-1
-3
-5
0
37
0
0
0
0
0
0
0
0
0
0
-3
0
-21
4
-1
-29
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-10
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-11
-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
39
-2
2
-16
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
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
1
-27
-9
1
0
0
0
0
0
0
0
0
0
2
0
5
-15
1
-34
-43
16
58
0
0
0
0
0
0
0
0
-2
0
0
56
39
7
40
13
-28
0
0
0
0
0
0
0
0
55
-2
-1
-1
-45
-22
-3
-36
-8
0
0
0
0
0
0
0
0
27
0
6
-5
-22
65
-45
-8
30
0
0
0
0
0
0
0
0
27
6
-25
-100
-37
35
2
-30
-3
0
0
0
0
0
0
0
0
-1
8
34
73
81
3
-60
-19
53
0
0
0
0
0
0
0
0
0
0
-2
16
-13
4
-27
14
0
0
0
0
0
0
0
0
0
-4
-3
0
0
13
0
-20
0
0
0
0
0
0
0
0
0
0
0
14
-3
25
31
-5
43
0
0
1
0
0
0
0
0
0
0
0
45
21
-59
-7
57
93
-87
-82
-21
0
0
0
0
0
0
0
0
36
16
1
-40
-47
-76
-77
97
37
0
0
0
0
0
0
0
-2
-43
-14
-10
-16
14
-36
-61
13
85
0
0
0
0
0
0
0
0
23
14
13
76
53
19
19
-8
-54
0
0
0
0
0
0
0
0
-55
-18
97
91
-79
47
-20
-39
13
0
0
0
0
0
0
0
-8
-2
-17
5
-21
-31
14
-41
-58
5
0
0
0
0
0
0
0
0
0
-2
43
15
-23
54
-23
-6
29
0
0
0
0
0
0
0
0
0
0
3
0
6
5
-19
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
20
31
0
-17
1
0
0
0
0
0
0
0
-15
14
0
-8
14
-1
46
14
-20
22
0
0
0
0
0
0
-9
0
5
0
14
60
51
-23
18
15
-55
0
0
0
0
0
0
0
23
2
-10
14
-31
87
1
45
-31
8
0
0
0
0
0
0
0
-9
-10
18
5
-33
-12
18
-7
3
19
0
0
0
0
0
0
0
21
7
-7
43
-17
48
-51
26
-25
-3
0
0
0
0
0
0
0
0
-1
17
-33
-65
5
-6
37
26
0
0
0
0
0
0
0
0
41
0
24
-1
67
-20
-3
-16
-18
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
-1
0
0
-21
10
0
14
0
0
0
0
0
0
0
0
7
-13
8
0
3
14
-43
65
85
-33
3
0
0
0
0
0
0
-2
0
-1
37
35
-13
-6
-83
25
-5
1
0
0
0
0
0
0
-3
0
0
21
2
-5
68
-59
34
-5
0
0
0
0
0
0
0
1
0
1
-27
-25
10
48
-20
-1
-2
0
0
0
0
0
0
0
-2
-1
-1
25
-33
36
-24
108
4
0
0
0
0
0
0
0
0
0
20
11
11
32
3
-20
-3
-37
14
0
0
0
0
0
0
0
-5
-1
0
1
-7
-3
-34
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
9
4
0
31
-1
0
0
0
0
0
0
0
0
0
0
0
27
1
-20
0
2
7
0
0
0
0
0
0
0
0
0
1
1
1
33
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-19
-5
2
-1
0
0
0
0
0
0
0
3
0
2
-1
-16
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
-11
-3
4
53
13
2
0
0
0
0
0
0
0
0
1
0
7
-18
4
-31
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
-15
7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
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
14
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
-9
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
23
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
35
3
-37
0
0
0
0
0
0
0
0
0
11
0
0
0
21
-3
-24
11
-16
0
0
0
0
0
0
0
0
-8
0
0
72
14
-14
1
-28
9
0
0
0
0
0
0
0
0
2
3
9
9
-10
13
31
6
18
0
0
0
0
0
0
0
0
0
96
-35
87
-3
75
-15
58
0
0
0
0
0
0
0
0
0
-4
0
0
-11
80
25
-28
-10
17
0
0
0
0
0
0
0
0
0
0
8
57
1
43
0
-2
0
0
0
0
0
0
0
0
0
0
-1
4
0
-8
9
15
0
1
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
5
9
26
0
0
0
0
0
0
0
0
0
4
0
0
-1
2
75
-79
16
13
0
0
0
0
0
0
0
0
-10
0
-8
5
-63
2
17
-1
2
0
0
0
0
0
0
0
-5
0
-1
0
26
2
-1
0
-19
1
0
0
0
0
0
0
0
0
17
7
73
-14
51
-53
0
-3
0
0
0
0
0
0
0
0
0
0
4
13
24
46
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
-11
-18
33
-1
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
39
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-11
13
22
4
0
0
0
0
0
0
0
0
-2
-5
0
0
-5
-6
-2
27
2
2
0
0
0
0
0
0
0
0
0
0
2
20
50
-26
17
-23
0
0
0
0
0
0
0
0
-1
0
3
0
1
46
6
14
8
-5
0
0
0
0
0
0
0
0
0
-64
4
-1
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
8
5
-33
-13
-4
30
0
1
0
0
0
0
0
0
0
0
0
10
-1
14
3
19
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
18
3
3
8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
21
-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
20
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
10
0
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
14
6
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-32
10
-51
-5
0
0
0
0
0
0
0
0
0
-4
-10
64
-10
-13
-39
-13
-49
0
0
0
0
0
0
0
0
0
0
0
-17
-23
63
-7
40
11
0
0
0
0
0
0
0
0
0
0
0
0
-20
-52
-10
36
14
0
0
0
0
0
0
0
0
0
0
0
5
0
18
-51
-7
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-64
0
0
0
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
-31
26
6
48
0
0
0
0
0
0
0
0
0
0
0
54
-43
33
-104
-46
-5
0
0
0
0
0
0
0
0
0
0
0
5
11
-2
-3
-80
4
46
-82
-10
0
0
0
0
0
0
0
0
-58
22
49
-91
67
1
52
-71
1
0
0
0
0
0
0
0
0
-5
58
24
47
38
65
73
51
29
0
0
0
0
0
0
0
0
-10
-6
-19
-15
-1
-56
49
61
-71
0
0
0
0
0
0
0
0
0
0
54
36
118
-48
35
-23
32
0
0
0
0
0
0
0
0
0
0
13
-24
17
8
-3
18
54
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
54
19
-53
99
0
0
0
-14
0
0
0
0
0
0
0
-24
-27
81
-6
-51
20
0
0
0
85
0
0
0
0
0
0
0
32
23
-34
-26
55
13
-47
-104
-109
15
0
0
0
0
0
0
0
32
39
7
-54
-122
51
-77
0
-76
15
0
0
0
0
0
0
0
-6
41
22
30
78
-67
-7
-19
-6
10
0
0
0
0
0
0
0
-13
-39
-26
3
13
43
-15
-91
65
3
0
0
0
0
0
0
0
0
-5
4
-53
6
2
-23
-86
-52
32
0
0
0
0
0
0
0
0
-5
10
-32
-55
-9
-31
46
14
14
0
0
0
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
-5
-24
0
0
0
58
0
0
0
0
0
0
0
1
-18
-24
66
-13
-56
0
0
0
31
-10
0
0
0
0
0
0
0
6
20
-9
28
-6
-36
84
-154
34
-8
0
0
0
0
0
0
-9
-15
-19
-80
18
74
65
-2
-44
-64
0
0
0
0
0
0
0
0
-23
-27
15
-13
-98
8
0
6
-5
1
0
0
0
0
0
0
0
0
-14
-49
43
5
-33
43
-6
-14
0
0
0
0
0
0
0
0
0
-5
-80
-39
1
53
-8
42
-17
-2
0
0
0
0
0
0
0
0
1
5
1
14
18
-3
33
45
-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
-20
0
-9
-41
0
0
0
-2
0
0
0
0
0
0
0
-25
-21
-1
10
-69
-13
0
0
0
-13
0
0
0
0
0
0
0
0
-1
-15
-23
39
-23
-38
-6
7
-43
-2
0
0
0
0
0
0
0
2
-1
-25
30
66
-32
10
-50
-14
0
0
0
0
0
0
0
0
-13
1
-33
47
-72
-65
-25
-39
19
1
0
0
0
0
0
0
0
0
0
-3
43
-113
-82
66
-5
-14
7
0
0
0
0
0
0
0
9
-2
6
-100
-8
-23
48
3
5
13
0
0
0
0
0
0
0
0
-2
6
-25
44
9
27
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
7
0
0
0
-52
0
0
0
0
6
0
0
0
0
0
0
0
3
-13
-2
-14
20
0
0
0
2
-2
0
0
0
0
0
0
0
1
-15
-23
-4
-27
-16
48
-14
34
-3
0
0
0
0
0
0
0
0
-6
39
-5
-20
0
-30
61
-2
0
0
0
0
0
0
0
0
0
-3
17
-35
79
-30
-75
-5
-15
-1
0
0
0
0
0
0
0
0
1
32
26
43
34
14
14
-14
0
0
0
0
0
0
0
0
0
0
0
5
-1
19
18
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
36
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-2
-2
9
0
0
0
-4
-1
0
0
0
0
0
0
0
0
-2
4
2
-14
-33
1
-75
0
0
0
0
0
0
0
0
0
0
0
0
-11
25
-51
21
-62
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
53
3
-78
-5
0
0
0
0
0
0
0
0
0
0
3
-1
13
19
-5
16
0
-1
0
0
0
0
0
0
0
0
0
-4
-7
-6
2
-3
64
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
5
-18
-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
-13
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
-9
-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
5
43
15
-33
46
0
0
0
0
0
0
0
0
0
0
0
-4
-23
27
-49
31
73
0
0
0
0
0
0
0
0
0
0
0
-25
10
3
-35
-45
-18
-61
49
0
0
0
0
0
0
0
0
0
5
14
33
-10
4
-35
128
5
0
0
0
0
0
0
0
0
0
-2
-18
10
18
-72
58
32
-27
0
0
0
0
0
0
0
0
0
0
-10
5
3
-17
-9
14
-67
0
0
0
0
0
0
0
0
0
0
0
-10
-1
27
16
5
65
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-9
2
10
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
-29
-6
-96
-26
43
-72
0
0
0
0
0
0
0
0
0
0
5
-3
65
76
-6
-55
14
0
0
0
0
0
0
0
0
0
0
-2
-11
-10
-8
19
24
71
14
-106
-52
0
0
0
0
0
0
0
0
-9
-58
46
-14
-12
-71
31
37
-14
0
0
0
0
0
0
0
0
7
21
52
9
-6
5
35
-105
-45
0
0
0
0
0
0
0
-1
11
-9
39
35
0
3
102
36
-13
0
0
0
0
0
0
0
0
-1
9
-2
25
5
-42
-2
60
-6
0
0
0
0
0
0
0
0
0
0
0
4
-33
-2
-15
13
114
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-20
1
0
0
0
0
0
0
0
0
-3
15
-68
-35
-82
-109
0
0
0
-18
0
0
0
0
0
0
0
-2
-4
20
-23
-41
-25
0
0
0
48
0
0
0
0
0
0
0
-4
-5
45
-3
18
-65
-93
-64
-32
-5
0
0
0
0
0
0
0
3
35
-9
15
-65
21
-17
-2
-27
-18
0
0
0
0
0
0
0
5
-32
-7
11
-33
-27
120
34
24
6
0
0
0
0
0
0
0
-1
-61
33
16
-83
-31
-8
-30
45
-33
0
0
0
0
0
0
0
5
-4
11
56
-46
-33
-137
65
-106
0
0
0
0
0
0
0
0
0
0
6
11
-16
-113
-95
-92
-8
16
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
-20
-21
-27
0
0
0
0
0
0
0
0
3
9
4
-33
18
0
0
0
-72
-1
0
0
0
0
0
0
1
48
23
26
39
-46
0
0
0
-13
9
0
0
0
0
0
0
-14
-36
5
-71
60
-80
-58
113
41
37
5
0
0
0
0
0
0
-3
-17
31
-15
-18
85
31
45
-62
-33
-3
0
0
0
0
0
0
-9
4
-34
48
-24
-35
-59
-7
16
-37
11
0
0
0
0
0
0
0
6
16
0
57
-46
24
-45
25
-108
-4
0
0
0
0
0
0
0
0
10
-21
-4
35
-52
23
-14
33
18
0
0
0
0
0
0
0
0
0
-2
-31
-6
-25
-44
-10
-53
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
23
0
-11
0
0
0
0
0
0
0
0
11
29
11
-11
1
0
0
0
-36
4
0
0
0
0
0
-2
0
-7
-36
-14
-6
-6
0
0
0
43
-7
0
0
0
0
0
0
8
-9
44
23
-17
-39
-41
-26
-102
-33
-58
-2
0
0
0
0
0
0
6
9
4
83
2
13
53
-38
-23
-31
-14
0
0
0
0
0
0
13
-33
34
-13
-18
-33
-6
-37
9
-83
-9
0
0
0
0
0
0
0
-4
-3
-19
-64
63
-111
-82
14
7
0
0
0
0
0
0
0
0
0
0
-60
-31
-44
-27
36
-5
2
0
0
0
0
0
0
0
0
0
-4
3
1
-2
55
-53
-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
17
25
7
0
-14
0
0
0
31
-4
0
0
0
0
0
0
-1
-13
14
-65
0
27
0
0
0
22
5
0
0
0
0
0
0
0
-6
21
11
-32
32
-26
-14
-32
-12
-19
-2
0
0
0
0
0
0
1
7
7
-6
30
-15
-88
-157
5
3
0
0
0
0
0
0
0
0
-11
-5
82
8
73
-3
52
-7
-1
0
0
0
0
0
0
0
-1
-6
-4
-3
34
56
31
-7
8
0
-4
0
0
0
0
0
0
0
1
4
7
4
-20
-10
-9
-9
2
0
0
0
0
0
0
0
0
0
23
0
2
1
1
11
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
15
-5
-23
1
0
0
0
21
-19
-3
0
0
0
0
0
0
0
2
-24
-1
-20
-41
11
-95
7
-19
1
0
0
0
0
0
0
0
0
-6
8
-32
-10
-5
71
-33
3
0
0
0
0
0
0
0
0
0
-2
2
-19
4
-20
-33
2
0
-3
0
0
0
0
0
0
0
0
3
-6
-25
-7
-25
13
10
-5
0
0
0
0
0
0
0
0
0
0
-5
0
27
3
-52
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
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
-31
0
-13
1
2
-1
0
0
0
0
0
0
0
0
0
1
-2
1
1
-14
-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
-13
32
0
1
0
0
0
0
0
0
0
0
0
0
3
6
-33
7
15
-7
1
0
0
0
0
0
0
0
0
0
-2
0
-22
-8
0
-43
4
1
0
0
0
0
0
0
0
0
0
-1
-3
-5
5
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-14
-1
0
0
0
0
0
0
0
-3
0
7
0
-7
-14
-8
18
7
0
0
0
0
0
0
0
0
0
0
0
0
-48
9
5
2
-1
0
0
0
0
0
0
0
0
0
0
3
0
1
-5
33
-16
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
7
16
-5
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
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
-15
1
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-22
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-5
9
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
-52
-8
4
-36
-16
0
0
0
0
0
0
0
0
0
0
0
-1
-29
-3
-16
16
-24
0
0
0
0
0
0
0
0
0
0
0
5
26
3
76
-4
-32
32
-91
0
0
0
0
0
0
0
0
0
0
0
-8
-1
19
-83
-51
-18
0
0
0
0
0
0
0
0
0
-3
1
18
8
-11
-37
15
32
0
0
0
0
0
0
0
0
0
0
0
3
8
-24
18
-14
33
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-31
44
25
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
-24
0
0
0
0
0
0
0
0
2
-9
11
-15
-30
-71
46
0
0
0
0
0
0
0
0
0
0
0
-27
-45
83
27
-68
8
0
0
0
0
0
0
0
0
0
0
0
8
17
0
29
-33
72
8
3
0
0
0
0
0
0
0
0
0
21
-10
10
-64
1
-87
-93
-43
30
0
0
0
0
0
0
0
0
-1
10
-1
23
-53
15
-14
52
-5
0
0
0
0
0
0
0
-1
-2
-18
-3
72
0
26
-2
33
-23
0
0
0
0
0
0
0
0
0
0
2
36
7
47
-8
-33
-50
0
0
0
0
0
0
0
0
0
0
1
-2
13
6
7
74
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-11
0
0
0
0
0
0
0
0
-3
6
-4
34
33
19
0
0
0
-15
0
0
0
0
0
0
0
-4
4
-30
-22
33
-31
0
0
0
14
0
0
0
0
0
0
0
5
20
4
26
62
49
-105
-29
-52
-20
0
0
0
0
0
0
0
-2
-8
-6
17
28
0
-60
-16
25
5
0
0
0
0
0
0
0
1
-29
-51
14
-27
14
-32
12
-13
-39
0
0
0
0
0
0
0
0
-17
-13
16
-4
-87
61
1
47
-32
0
0
0
0
0
0
0
0
0
-1
-13
46
35
-6
-17
-90
0
0
0
0
0
0
0
0
0
0
3
-2
5
10
-36
65
53
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
0
0
0
0
0
0
0
1
0
-1
-18
-37
22
-81
0
0
0
15
-2
0
0
0
0
0
0
-2
-18
-16
-43
23
25
0
0
0
40
2
0
0
0
0
0
0
5
0
-53
21
-65
4
-28
-80
60
28
0
0
0
0
0
0
0
-2
45
29
-9
33
-97
30
-81
-100
-24
0
0
0
0
0
0
0
0
2
-4
-15
-33
102
19
-86
19
-2
10
0
0
0
0
0
0
0
0
-20
-9
41
-46
31
-15
12
-18
0
0
0
0
0
0
0
0
0
0
-10
-26
16
-1
-3
28
51
0
0
0
0
0
0
0
0
0
0
0
-10
0
-9
9
-14
-8
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
-2
43
14
69
-10
0
0
0
-1
4
0
0
0
0
0
0
0
-3
-44
32
4
68
0
0
0
23
-23
0
0
0
0
0
0
5
54
0
14
-9
-91
-11
3
9
-37
1
4
0
0
0
0
0
1
-9
-11
13
59
-16
-62
3
-44
-49
-27
-1
0
0
0
0
0
0
0
0
-46
1
60
-42
11
32
-4
-14
0
0
0
0
0
0
0
7
-3
-23
-60
18
39
-103
-43
25
25
0
0
0
0
0
0
0
0
-5
-5
1
-26
-1
-22
15
0
-19
0
0
0
0
0
0
0
0
0
0
-10
0
1
0
-9
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
19
0
0
0
0
0
0
0
0
-8
-18
-13
-8
-22
0
0
0
8
24
2
0
0
0
0
0
0
0
-13
-13
21
10
15
13
-69
-5
-1
3
0
0
0
0
0
2
-10
0
-2
-18
-51
7
38
-55
-2
0
0
0
0
0
0
0
0
0
4
-22
18
19
-43
65
0
-10
8
0
0
0
0
0
0
0
0
2
-4
0
-71
-14
-68
5
9
-1
0
0
0
0
0
0
0
0
0
1
-1
-33
46
29
1
-10
-8
0
0
0
0
0
0
0
0
0
0
-1
3
8
7
-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
-1
-1
1
17
0
0
0
2
0
0
0
0
0
0
0
0
-1
1
-3
-20
5
0
0
0
-4
-53
0
0
0
0
0
0
0
0
0
11
6
3
-19
35
-4
17
13
-1
-2
0
0
0
0
0
3
-8
-1
-2
20
-21
43
19
0
-1
1
0
0
0
0
0
0
0
0
0
7
15
5
13
14
19
-25
0
0
0
0
0
0
0
0
0
0
-3
8
-3
31
-17
5
-1
0
0
0
0
0
0
0
0
0
0
7
0
3
3
-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
-4
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
2
1
0
0
0
-48
-2
0
0
0
0
0
0
0
0
-1
-1
0
-6
0
-52
4
-6
-2
0
0
0
0
0
0
0
0
0
1
-4
-6
2
22
5
-8
-1
0
0
0
0
0
0
0
0
0
0
-1
0
22
8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-22
24
18
-15
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
-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
-3
-1
-2
11
0
0
0
-1
0
0
0
0
0
0
0
-4
-9
-4
16
-82
-30
0
0
0
-14
-1
0
0
0
0
0
0
1
0
15
-36
-4
-31
-48
-58
-53
0
0
0
0
0
0
0
0
0
1
-6
-15
-6
-32
36
57
-5
-1
0
0
0
0
0
0
0
0
4
1
0
0
-26
18
67
3
1
3
0
0
0
0
0
0
0
0
0
0
2
37
22
61
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
21
39
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
17
0
0
0
0
3
-7
1
0
0
0
0
0
0
15
-1
-11
34
6
0
0
0
-20
3
0
0
0
0
0
0
0
-4
-11
-4
-5
63
-9
-17
6
6
-4
0
0
0
0
0
0
0
0
-3
1
-14
-48
-51
0
-10
-23
1
0
0
0
0
0
0
0
-2
0
8
-16
-95
33
83
9
5
-5
0
0
0
0
0
0
0
0
0
1
4
-9
13
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
9
21
-13
0
0
0
0
0
0
0
0
0
0
-8
0
0
2
2
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
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
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
9
-14
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
25
0
0
0
0
0
0
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
1
43
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
25
5
-11
-5
0
0
0
0
0
0
0
0
0
0
0
5
-31
-4
-31
-43
4
-2
-24
0
0
0
0
0
0
0
0
0
0
1
52
-13
20
-21
100
-32
0
0
0
0
0
0
0
0
0
0
0
2
-1
-21
-1
16
-44
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-3
3
3
0
0
0
0
0
0
0
0
0
0
0
0
-18
-8
8
-51
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
47
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
17
25
-13
15
63
0
0
0
0
0
0
0
0
0
0
1
10
21
23
-7
5
110
0
0
0
0
0
0
0
0
0
0
0
-27
61
42
64
-7
120
5
-186
-106
0
0
0
0
0
0
0
0
-1
14
-25
-13
-20
-7
46
-37
-28
0
0
0
0
0
0
0
0
11
55
3
-55
-14
-22
19
-7
-50
0
0
0
0
0
0
0
0
0
35
15
19
26
151
36
-34
17
0
0
0
0
0
0
0
0
0
13
0
25
69
-7
17
-15
64
0
0
0
0
0
0
0
0
0
0
0
0
7
21
20
43
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
8
-2
0
0
0
0
0
0
0
0
0
-5
11
81
-95
-17
0
0
0
-14
0
0
0
0
0
0
0
-8
14
-22
-35
33
14
0
0
0
-7
0
0
0
0
0
0
0
-4
7
-100
-27
-77
84
10
-24
-84
2
0
0
0
0
0
0
0
0
-2
-43
47
-58
-26
-6
-53
-41
45
0
0
0
0
0
0
0
0
-11
-27
-57
-65
-12
-1
-15
-1
6
0
0
0
0
0
0
0
2
0
-15
-60
-11
-21
-45
44
21
-4
0
0
0
0
0
0
0
0
0
0
4
-25
-39
-39
16
-1
-3
0
0
0
0
0
0
0
0
0
-2
0
0
9
-11
-14
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
21
0
0
0
0
0
0
0
0
0
0
9
-53
-39
33
0
0
0
45
0
0
0
0
0
0
0
-9
0
46
-1
-3
-29
0
0
0
-46
6
0
0
0
0
0
0
0
-17
25
45
-31
-34
-68
-25
-42
17
0
0
0
0
0
0
1
16
-7
-7
20
33
3
-10
65
-99
22
0
0
0
0
0
0
0
9
3
2
-11
-36
53
-47
-33
-10
14
-1
0
0
0
0
0
0
0
0
0
-16
52
-54
24
60
4
-73
0
0
0
0
0
0
0
1
0
0
0
15
-14
18
-68
-45
-4
0
0
0
0
0
0
0
0
0
-6
0
3
-3
0
-29
-15
-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
15
24
-44
41
29
0
0
0
-34
3
0
0
0
0
0
0
0
63
-5
2
-23
49
0
0
0
86
41
0
0
0
0
0
0
1
-7
2
-9
43
-31
4
8
9
-10
-15
2
0
0
0
0
0
-4
-8
4
-1
8
0
1
-55
13
14
2
1
0
0
0
0
0
0
3
-18
14
-22
-5
-83
-110
11
-14
0
4
0
0
0
0
0
0
0
1
-6
74
-18
23
-20
16
6
-2
0
0
0
0
0
0
0
0
-4
3
-4
5
-23
17
53
11
3
0
0
0
0
0
0
0
0
0
0
5
5
15
-49
-66
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
-18
-29
1
0
0
0
0
-24
0
-6
0
0
0
0
0
-6
-3
0
-8
5
-13
0
0
0
-37
0
-3
0
0
0
0
0
0
-6
5
22
7
-3
21
-2
35
-14
-9
1
0
0
0
0
0
0
0
-9
-7
0
9
-43
-5
4
20
1
0
0
0
0
0
0
0
-3
-2
-1
7
-1
-41
18
-19
3
-4
0
0
0
0
0
0
0
0
0
0
0
2
36
-7
5
2
-1
1
0
0
0
0
0
0
0
0
-2
5
0
-9
-13
-6
-5
3
0
0
0
0
0
0
0
0
0
-5
0
-1
-2
-6
-90
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
-14
0
0
0
-2
0
0
0
0
0
0
0
0
-1
3
0
21
2
0
0
0
23
23
0
0
0
0
0
0
0
0
0
27
0
-15
6
-62
-20
-4
31
0
0
0
0
0
0
0
1
0
3
6
0
-9
3
-36
11
2
0
0
0
0
0
0
0
0
0
0
-1
-17
-14
21
-5
6
0
-1
0
0
0
0
0
0
0
0
-5
1
3
29
3
8
13
6
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
-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
-2
0
0
0
0
0
-1
2
0
0
0
0
0
0
2
-1
39
-1
5
0
0
0
8
0
0
0
0
0
0
0
0
0
1
1
6
0
-39
-10
-13
2
-2
6
0
0
0
0
0
0
0
0
0
18
-32
0
-14
14
-6
3
0
1
0
0
0
0
0
0
0
1
5
1
-5
32
-5
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
-17
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
-30
15
23
-20
0
0
0
1
0
0
0
0
0
0
0
13
0
-16
23
23
-17
0
0
0
0
-1
0
0
0
0
0
0
7
8
21
-26
6
-204
-61
-61
-115
-3
0
0
0
0
0
0
0
0
-1
-22
5
-8
71
-27
10
-47
0
0
0
0
0
0
0
0
-1
5
-7
-14
-44
83
54
83
39
3
0
0
0
0
0
0
0
0
8
2
-44
20
2
33
45
25
4
1
0
0
0
0
0
0
0
0
0
-6
0
-16
5
-53
24
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
4
-2
-18
0
0
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
-1
-24
-7
9
0
0
0
0
0
0
0
0
0
0
0
1
-4
-106
31
20
48
0
0
0
3
0
0
0
0
0
0
0
0
10
-5
-71
-42
-49
37
-90
-147
3
0
0
0
0
0
0
0
0
-1
1
-45
11
-10
69
-66
20
4
3
0
0
0
0
0
0
0
4
-7
9
33
-52
46
18
32
1
1
0
0
0
0
0
0
0
0
2
13
36
-111
-44
-50
62
2
0
0
0
0
0
0
0
0
0
-5
-7
0
3
-43
71
-44
2
0
0
0
0
0
0
0
0
0
0
0
0
2
6
10
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
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
1
-3
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
2
18
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
-9
0
-4
0
0
0
0
0
0
0
0
0
-1
0
-6
-44
10
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
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
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-1
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
17
9
-20
20
-26
-33
0
0
0
0
0
0
0
0
0
-1
0
8
-1
25
-26
-9
-14
0
0
0
0
0
0
0
0
0
0
0
1
10
-26
-5
53
-9
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
31
-5
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-29
-7
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
36
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
2
-17
-8
7
13
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-49
-27
27
-12
0
0
0
0
0
0
0
0
0
0
0
0
59
18
21
-50
78
26
-77
-91
0
0
0
0
0
0
0
0
-1
4
-27
-11
58
3
-52
-8
-6
0
0
0
0
0
0
0
0
0
-6
5
-102
14
-25
62
14
-69
0
0
0
0
0
0
0
0
0
1
17
36
-51
-103
-80
48
-18
0
0
0
0
0
0
0
0
0
-5
1
-35
2
-11
37
-33
-2
0
0
0
0
0
0
0
0
0
0
-4
7
11
11
-27
14
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-31
1
0
0
0
0
0
0
0
0
7
13
25
-7
32
10
0
0
0
6
0
0
0
0
0
0
0
0
20
4
37
-4
20
0
0
0
27
0
0
0
0
0
0
0
-7
-3
-4
9
-7
45
21
-36
6
-22
0
0
0
0
0
0
0
0
13
-1
9
74
-19
32
-8
-120
5
0
0
0
0
0
0
0
0
0
-2
5
-33
57
-35
52
41
10
0
0
0
0
0
0
0
0
9
-25
-10
-45
-26
-2
-31
52
1
0
0
0
0
0
0
0
1
0
-9
5
2
8
-5
-14
-31
11
0
0
0
0
0
0
0
0
0
0
-2
19
2
21
-8
14
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
-17
0
0
0
0
0
0
0
0
0
0
-7
2
-27
6
0
0
0
5
4
0
0
0
0
0
0
4
-16
-53
14
18
101
0
0
0
33
5
0
0
0
0
0
0
0
3
-4
-4
-23
-8
-14
12
14
0
-3
0
0
0
0
0
0
0
5
-26
13
9
33
10
-3
-27
-19
1
0
0
0
0
0
0
1
1
0
-27
-60
-33
63
20
-5
-8
6
0
0
0
0
0
0
9
5
-8
11
17
18
-13
6
-48
11
9
0
0
0
0
0
0
0
3
0
6
-45
-1
9
2
7
-43
-5
0
0
0
0
0
0
0
0
0
-1
2
-2
-4
48
7
45
3
0
0
0
0
0
0
0
0
0
0
0
0
-33
7
-18
6
0
0
0
0
0
0
0
0
-1
3
2
-13
5
0
0
0
0
0
0
0
0
0
0
0
-5
6
10
-53
-32
-7
0
0
0
-60
-7
0
0
0
0
0
0
-15
0
-29
14
-6
-31
-37
17
-14
-4
-7
0
0
0
0
0
0
0
-7
10
19
0
22
-76
93
-12
-59
8
1
0
0
0
0
0
0
0
0
0
-11
-75
-1
-14
16
22
-7
-2
0
0
0
0
0
0
-4
0
3
-53
46
-20
19
-106
1
-2
0
0
0
0
0
0
0
0
0
4
-2
-11
32
40
9
2
-2
0
0
0
0
0
0
0
0
0
0
1
-1
-3
-14
71
-24
-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
20
0
0
0
-55
-1
0
0
0
0
0
0
-5
0
2
0
34
-1
0
0
0
42
-27
-3
0
0
0
0
0
0
1
-17
6
11
1
15
-53
-58
-1
-8
-5
0
0
0
0
0
0
0
10
3
10
-5
6
-39
7
-5
1
3
0
0
0
0
0
0
-7
3
7
0
-21
31
-42
58
-27
-1
-2
0
0
0
0
0
0
0
0
-15
25
3
-15
6
-63
-13
0
0
0
0
0
0
0
0
0
0
1
7
7
-11
-20
-20
-22
-2
0
0
0
0
0
0
0
0
0
6
0
0
26
3
-18
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
2
0
0
0
0
0
0
-1
0
5
-1
5
-3
-6
-18
2
0
-5
0
0
0
0
0
0
0
0
0
14
1
1
-32
-11
-21
0
-3
0
0
0
0
0
0
0
0
0
-7
5
0
5
-32
-23
3
-3
0
0
0
0
0
0
0
0
0
-5
0
2
11
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-5
-24
14
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
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
10
5
0
0
0
1
-1
0
0
0
0
0
0
0
-2
0
-5
5
14
0
0
0
2
14
0
0
0
0
0
0
0
0
-11
1
2
44
13
-85
-1
0
1
0
0
0
0
0
0
0
-5
0
0
-18
-24
-20
-7
2
-2
0
0
0
0
0
0
0
0
0
0
-11
-7
99
0
-9
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
35
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-17
0
5
-23
-45
-1
-3
0
0
0
0
0
0
0
0
0
0
0
41
-62
22
37
-9
-1
0
0
0
4
7
0
0
0
0
0
0
3
25
-46
-6
-24
57
-118
-30
-52
0
0
0
0
0
0
0
0
2
-4
1
27
-10
-51
-54
-69
-72
-3
0
0
0
0
0
0
0
-6
8
6
52
52
-28
-38
0
26
4
0
0
0
0
0
0
0
0
0
-6
-5
76
71
14
52
3
0
-1
0
0
0
0
0
0
0
-5
0
-10
49
8
8
25
-34
5
0
0
0
0
0
0
0
0
0
13
5
2
-30
17
-53
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
57
0
0
0
0
0
0
0
0
0
0
1
-7
-22
-20
-19
0
0
0
0
0
0
0
0
0
0
0
-14
-20
-37
109
33
-71
0
0
0
-10
1
1
0
0
0
0
0
0
-29
-39
-71
-16
-26
-43
35
19
-1
0
0
0
0
0
0
0
0
10
6
41
18
-3
-97
4
-58
-9
0
0
0
0
0
0
0
0
-4
24
-5
69
8
19
19
0
9
0
0
0
0
0
0
0
0
5
4
-2
33
-79
-1
-23
0
0
-4
0
0
0
0
0
0
0
0
-10
13
-33
-53
63
-49
57
4
0
0
0
0
0
0
0
0
0
0
0
-7
-4
54
-23
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
24
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
13
22
7
0
-22
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
-26
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
6
-16
-45
3
0
0
0
0
0
0
0
0
0
0
0
-47
8
-16
-27
-33
-39
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
48
17
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-41
0
-9
-56
0
0
0
0
0
0
0
0
0
0
-2
0
-1
8
33
6
-26
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
0
0
0
0
1
8
10
0
0
0
0
0
0
0
0
0
0
5
-18
-17
65
-26
0
0
0
0
0
0
0
0
0
0
0
-4
24
-21
-41
39
4
0
0
0
0
0
0
0
0
0
0
0
0
-17
76
69
-3
51
71
20
-71
0
0
0
0
0
0
0
0
2
0
-13
-34
15
-11
-17
15
29
0
0
0
0
0
0
0
0
0
0
-17
47
-14
61
-47
-91
53
0
0
0
0
0
0
0
0
0
2
14
20
-34
78
22
-33
-49
0
0
0
0
0
0
0
0
0
0
-6
-4
6
34
-10
98
-92
0
0
0
0
0
0
0
0
0
0
0
-6
-10
26
-46
0
48
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
9
-9
24
0
-6
0
0
0
-3
0
0
0
0
0
0
0
0
11
48
0
31
-11
0
0
0
0
0
0
0
0
0
0
0
0
-26
20
-53
-41
-33
54
9
15
2
0
0
0
0
0
0
0
-8
-3
4
48
0
-54
42
-64
52
-1
0
0
0
0
0
0
0
0
-4
-11
-30
-37
-22
-14
-6
-14
-5
0
0
0
0
0
0
0
4
0
-9
24
2
-15
-7
-41
-21
-19
0
0
0
0
0
0
0
0
-1
-10
3
-65
1
-25
-22
41
-11
0
0
0
0
0
0
0
0
0
0
-1
46
1
-33
-19
-14
-8
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
-15
0
-7
0
0
0
-15
0
0
0
0
0
0
-1
-1
-7
45
41
8
29
0
0
0
43
-1
0
0
0
0
0
0
-5
-5
-1
39
11
-17
33
20
59
-11
0
0
0
0
0
0
0
0
0
13
3
5
-49
-68
31
-16
69
0
0
0
0
0
0
0
0
0
-1
-5
-25
-41
-64
-17
-39
20
0
0
0
0
0
0
0
-1
1
0
-31
-24
-21
17
30
31
7
-23
0
0
0
0
0
0
0
0
-8
1
32
-45
14
-18
9
20
-8
0
0
0
0
0
0
0
0
0
0
-6
1
-55
1
23
13
8
0
0
0
0
0
0
0
0
0
0
0
-1
-6
11
9
-3
0
0
0
0
0
0
0
0
-48
-1
-2
25
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
-20
39
-5
0
0
0
14
-4
0
0
0
0
0
0
-2
0
-6
34
-74
41
-43
45
35
5
0
0
0
0
0
0
0
0
0
53
0
5
-71
-17
-23
-93
-9
0
-1
0
0
0
0
0
0
0
-7
-6
56
20
-74
-48
32
-1
9
0
0
0
0
0
0
0
0
21
0
62
-30
5
22
-25
-13
-7
0
0
0
0
0
0
0
-4
-1
-5
10
20
-6
-20
-33
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-4
-78
-8
-1
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
1
-5
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
17
15
-7
-2
48
0
0
0
-14
2
2
0
0
0
0
0
0
0
0
-6
8
6
17
-6
43
3
-5
0
0
0
0
0
0
0
0
-1
-4
-45
-22
43
5
14
-43
0
0
0
0
0
0
0
0
0
5
-6
11
5
0
-29
-36
-2
1
0
0
0
0
0
0
0
-2
-3
1
0
36
7
79
17
7
-1
-4
0
0
0
0
0
0
0
-1
0
0
-19
-8
0
6
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
29
8
33
-25
-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
9
-10
-8
-2
0
0
0
-45
17
0
0
0
0
0
0
0
0
0
-6
3
-4
0
-8
36
-1
6
-6
0
0
0
0
0
0
0
0
3
10
1
16
4
-9
-9
0
0
0
0
0
0
0
0
0
-2
0
-5
11
25
24
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
82
-27
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-3
8
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-32
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
5
-66
6
-2
17
29
-26
0
0
-1
0
0
0
0
0
0
0
0
2
-78
4
5
-6
1
-21
-4
0
0
0
0
0
0
0
0
0
1
-2
11
-41
-5
71
-7
2
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
56
-23
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
0
-4
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
0
0
0
0
0
0
0
0
0
0
34
26
-17
-16
-9
0
0
0
0
0
0
0
0
0
0
0
-27
-29
-3
2
-23
39
0
0
0
0
-1
0
0
0
0
0
0
-2
-33
65
32
-9
-3
-122
56
-35
0
0
0
0
0
0
0
0
-1
5
14
99
41
9
29
-24
81
1
0
0
0
0
0
0
0
-4
-40
-24
-46
65
78
-44
-115
-74
0
0
0
0
0
0
0
0
4
6
31
-8
-5
-33
-50
0
-68
0
0
0
0
0
0
0
0
1
0
-6
26
-44
-14
17
-21
23
0
-2
0
0
0
0
0
0
0
0
0
-9
-48
21
20
77
32
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-51
0
0
0
0
0
0
0
0
0
0
-77
-7
-2
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-6
8
54
0
0
0
0
0
0
0
0
0
0
0
0
2
56
25
14
-13
-5
-77
-138
6
0
0
0
0
0
0
0
0
7
46
-5
0
-46
-5
80
-2
6
0
0
0
0
0
0
0
0
0
-1
47
-23
49
-11
56
-11
-13
0
0
0
0
0
0
0
0
1
2
-1
-13
74
3
-43
0
60
0
0
0
0
0
0
0
0
0
4
0
-1
16
10
32
-45
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-63
8
37
-8
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
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
-14
-4
13
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
11
1
1
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-5
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-8
0
6
-24
-20
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
15
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
25
-6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
6
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-43
0
0
0
0
0
0
0
0
0
0
-1
0
9
25
-6
0
0
0
0
0
0
0
0
0
0
0
-3
17
-19
9
18
70
0
0
0
0
0
0
0
0
0
0
0
-3
-34
63
26
-43
2
-61
-4
-125
0
0
0
0
0
0
0
0
0
8
-8
5
20
-45
-67
-43
-43
0
0
0
0
0
0
0
0
0
-9
4
-32
-26
-6
-53
-54
-24
0
0
0
0
0
0
0
0
0
0
2
2
27
38
-5
24
-25
0
0
0
0
0
0
0
0
0
1
-3
-14
-53
64
10
39
20
0
0
0
0
0
0
0
0
0
0
-4
0
0
-9
5
8
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
6
0
0
0
0
0
0
0
0
0
4
1
19
15
6
0
0
0
-1
0
0
0
0
0
0
0
45
-31
-10
15
-31
30
0
0
0
-4
0
0
0
0
0
0
0
0
1
-17
7
-22
30
4
12
-41
3
0
0
0
0
0
0
0
1
0
21
-24
-101
-53
-92
23
70
-4
0
0
0
0
0
0
0
0
-44
64
-74
-90
-63
72
-23
-6
17
0
0
0
0
0
0
0
0
8
51
1
10
-26
-2
0
-86
-14
0
0
0
0
0
0
0
0
0
-10
-13
11
6
68
-32
90
-3
0
0
0
0
0
0
0
0
-2
-1
5
-11
6
6
7
-51
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
5
3
0
0
0
0
0
0
0
0
-2
-10
2
37
-2
0
0
0
-8
-2
0
0
0
0
0
0
0
-5
-34
0
-14
-23
0
0
0
5
2
0
0
0
0
0
0
0
0
-35
-6
33
-1
-11
34
11
-9
0
0
0
0
0
0
0
0
-3
23
33
3
39
-8
6
4
-8
0
0
0
0
0
0
0
0
3
3
-15
9
-6
-42
-71
-47
-7
-2
0
0
0
0
0
0
0
-1
8
-44
1
-116
36
-10
-26
2
0
0
0
0
0
0
0
0
0
0
-19
5
-80
-33
-37
-8
-23
0
0
0
0
0
0
0
0
0
0
0
-7
-3
51
46
-35
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
36
-11
1
0
0
0
0
0
0
0
0
55
0
-13
-7
45
0
0
0
0
0
0
0
0
0
0
0
0
-15
-63
45
13
3
0
0
0
18
0
0
0
0
0
0
0
0
1
-2
31
-6
8
-73
-1
22
-3
-3
0
0
0
0
0
0
2
-4
3
-39
43
-24
46
-27
-37
1
2
0
0
0
0
0
0
0
1
4
11
31
82
-15
23
-64
0
-5
0
0
0
0
0
0
0
0
-19
-5
-35
-36
-52
-10
10
1
0
0
0
0
0
0
0
0
0
0
0
15
-16
5
0
-100
-32
-6
0
0
0
0
0
0
0
0
0
0
0
-7
-5
-17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-45
1
0
0
0
0
0
0
0
0
0
3
1
13
-2
14
0
0
0
0
-1
0
0
0
0
0
0
0
0
15
-13
-4
9
0
0
0
-16
0
0
0
0
0
0
0
0
0
3
-10
0
0
-11
-2
-5
-2
0
0
0
0
0
0
0
0
-4
-2
11
-1
24
11
5
5
0
-6
0
0
0
0
0
0
0
-2
0
34
-10
-31
-1
14
3
-13
0
0
0
0
0
0
0
1
0
0
2
-6
5
-30
-20
-7
3
0
0
0
0
0
0
0
0
0
0
4
0
22
45
-3
-54
-14
5
0
0
0
0
0
0
0
0
0
0
-18
-1
-7
-16
45
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
1
1
0
0
0
0
0
0
0
0
7
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
26
9
-45
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
-15
17
44
1
0
0
15
-1
0
0
0
0
0
0
0
0
6
-15
-7
2
4
1
0
-3
1
0
0
0
0
0
0
0
0
0
1
-1
-4
26
-16
-18
17
0
0
0
0
0
0
0
0
0
-7
-5
-14
19
-2
10
5
13
0
5
0
0
0
0
0
0
0
0
0
-11
15
0
6
-36
20
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
25
6
-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
-13
-7
-1
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
1
6
0
-4
-2
-9
0
-4
0
0
0
0
0
0
0
0
2
0
4
-7
-8
10
14
0
0
1
0
0
0
0
0
0
0
-1
0
-14
0
-7
-9
9
1
0
0
0
0
0
0
0
0
0
0
1
0
2
-62
-41
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
-23
0
78
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
14
0
-3
-1
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
-17
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
8
14
29
2
-25
-36
0
0
0
0
0
0
0
0
0
0
0
3
-16
13
-8
14
2
-59
-5
12
0
0
0
0
0
0
0
0
0
0
-19
-33
-10
-74
-18
-80
-83
0
0
0
0
0
0
0
0
-13
7
10
13
74
27
-46
-128
-56
-10
0
0
0
0
0
0
0
0
0
8
8
26
22
34
-81
62
0
0
0
0
0
0
0
0
0
0
-5
5
5
46
-22
0
19
-3
0
0
0
0
0
0
0
0
0
13
0
-9
-14
-43
86
29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
14
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
33
0
-17
0
0
0
2
0
0
0
0
0
0
0
0
0
-13
47
-37
-30
11
-17
37
1
0
0
0
0
0
0
0
0
4
-24
9
-8
31
-58
-34
-46
43
0
0
0
0
0
0
0
0
0
-3
-26
0
-174
40
36
-34
-2
0
0
0
0
0
0
0
0
0
4
-7
24
22
-54
0
-62
5
0
0
0
0
0
0
0
0
0
0
-8
1
31
4
-11
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
-6
-61
11
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-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
-20
0
0
0
15
-11
0
0
0
0
0
0
0
0
0
0
0
6
3
1
-25
0
5
0
0
0
0
0
0
0
0
0
0
1
0
-1
-3
5
-31
1
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-6
6
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-39
3
-4
31
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-14
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
3
-9
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
5
-23
-24
-36
-103
-19
0
0
0
0
0
0
0
0
0
-3
-15
15
-43
1
-47
14
2
0
0
0
0
0
0
0
0
0
-23
5
-18
-13
-33
-10
9
-19
0
0
0
0
0
0
0
0
0
0
-4
1
-47
-71
9
-21
-53
0
0
0
0
0
0
0
0
0
0
0
-43
23
-43
3
9
23
0
0
0
0
0
0
0
0
0
1
-1
0
1
54
3
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-6
-3
18
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
-14
-20
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
-1
46
-14
4
17
-20
43
-27
0
0
0
0
0
0
0
0
0
-1
2
71
-60
-15
-96
-77
-66
0
0
0
0
0
0
0
0
0
-5
5
26
-53
2
-14
14
-10
-15
0
0
0
0
0
0
0
1
-1
-2
33
-7
-80
-31
-20
-9
4
0
0
0
0
0
0
0
0
0
0
-4
3
-43
-31
-87
-90
-5
0
0
0
0
0
0
0
0
0
0
0
-20
-34
48
-31
-100
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
53
31
-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
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-45
15
56
0
16
58
-34
-1
0
0
0
0
0
0
0
0
5
-29
-29
10
-16
-14
-2
-18
2
0
0
0
0
0
0
0
0
0
-1
0
55
68
24
0
-6
0
0
0
0
0
0
0
0
0
0
0
-3
-49
-24
-27
-28
-35
-1
0
0
0
0
0
0
0
0
0
3
18
41
-11
-14
-36
-26
-5
0
0
0
0
0
0
0
0
0
0
10
6
-20
0
-33
19
25
0
0
0
0
0
0
0
0
0
0
0
0
0
4
16
-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
37
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
11
-31
0
-44
-9
6
20
2
0
0
0
0
0
0
0
0
0
0
-5
10
-51
-22
-48
-6
6
0
0
0
0
0
0
0
0
-2
0
0
1
5
8
-17
-8
0
0
0
0
0
0
0
0
0
0
2
0
-4
-3
-35
-74
-9
-3
0
0
0
0
0
0
0
0
0
0
0
2
-1
6
-55
53
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-17
-17
6
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
-21
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
5
-7
14
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-8
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
3
9
-9
8
4
0
0
1
0
0
0
0
0
0
0
0
0
-1
-13
-8
-29
-4
-29
5
0
0
0
0
0
0
0
0
0
0
8
0
-17
-2
-27
-43
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
44
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
9
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
3
-15
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
-15
0
0
0
0
0
0
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
46
0
2
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-54
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
1
-25
0
-3
-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
15
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-17
2
-10
8
-7
0
0
0
0
0
0
0
0
0
0
2
9
-5
4
1
-8
-30
0
0
0
0
0
0
0
0
0
0
0
7
14
33
-90
-33
-26
0
0
0
0
0
0
0
0
0
0
0
-3
-46
17
45
-10
-34
0
0
0
0
0
0
0
0
0
0
0
15
-11
6
-25
20
-16
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
17
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
-1
6
-2
-2
-2
8
0
0
0
0
0
0
0
0
0
0
0
-6
0
-18
-9
-18
1
0
0
0
0
0
0
0
0
0
0
0
18
0
-15
-9
-13
0
-1
0
0
0
0
0
0
0
0
0
-31
0
0
-14
-59
-33
-6
0
0
0
0
0
0
0
0
0
0
0
0
5
0
17
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
9
-2
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
1
0
15
-4
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
3
1
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-45
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-48
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-9
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
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
-10
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
-34
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
10
85
-45
-10
8
0
0
0
0
0
0
0
0
0
0
2
5
-131
5
-15
73
-18
0
0
0
0
0
0
0
0
0
0
55
-34
14
41
10
-75
-2
1
0
0
0
0
0
0
0
0
0
10
41
-36
53
45
23
0
0
0
0
0
0
0
0
0
0
0
3
-14
36
17
-7
-1
1
1
0
0
0
0
0
0
0
0
0
0
-14
53
-41
-1
4
-3
0
0
0
0
0
0
0
0
0
0
-35
-14
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
-18
0
-7
34
0
0
0
0
0
0
0
0
0
48
-36
89
-55
23
43
-77
-5
-15
0
0
0
0
0
0
0
0
42
23
64
-4
-11
-32
-83
-26
-14
0
0
0
0
0
0
0
0
81
-49
21
-6
-4
22
-14
46
-3
0
0
0
0
0
0
0
0
91
71
62
-52
-14
18
-30
9
8
0
0
0
0
0
0
0
0
48
3
81
-54
-32
-11
11
65
-13
-2
0
0
0
0
0
0
0
-30
22
2
-12
22
-11
-30
-1
-15
0
0
0
0
0
0
0
0
-5
-62
-50
-29
-2
36
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
48
-28
18
-25
0
-9
0
0
0
0
0
0
0
-50
73
-35
4
-73
43
-109
-11
35
-10
0
0
0
0
0
0
0
-19
-81
8
-73
-84
-16
3
-9
62
-3
0
0
0
0
0
0
0
103
90
34
20
30
-75
14
-58
-3
-11
0
0
0
0
0
0
0
2
22
69
-51
-41
22
-13
25
36
-13
0
0
0
0
0
0
0
4
-76
-31
37
37
89
-28
14
-26
-8
0
0
0
0
0
0
0
-9
-5
43
-62
-114
30
-43
0
0
13
0
0
0
0
0
0
0
-2
-80
-4
-41
43
5
-39
1
-17
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
-21
0
0
-5
-8
43
14
0
6
0
0
0
0
0
0
0
-8
-36
-37
43
51
-13
-56
-2
-11
2
0
0
0
0
0
0
0
-33
8
12
-69
-34
-43
-2
-45
-9
1
0
0
0
0
0
0
0
20
-12
24
-2
66
80
51
6
14
14
0
0
0
0
0
0
0
102
-5
90
-109
39
-107
22
-7
26
31
0
0
0
0
0
0
0
14
49
10
-44
32
-33
-1
-14
0
-5
0
0
0
0
0
0
0
14
-8
6
14
-43
11
18
2
-18
0
0
0
0
0
0
0
0
-9
-83
18
-23
-45
-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
-18
1
0
-1
35
33
0
0
0
0
0
0
0
0
0
-23
17
-29
-109
21
47
14
-52
39
0
0
0
0
0
0
0
0
23
-51
-32
45
33
72
-17
48
-8
1
0
0
0
0
0
0
0
-43
23
-1
12
32
39
26
-4
6
2
0
0
0
0
0
0
0
-2
14
-13
-64
20
42
-9
13
-8
43
0
0
0
0
0
0
0
6
-26
89
-54
5
3
-54
13
5
15
0
0
0
0
0
0
0
-1
-71
-30
24
-23
22
10
-19
-5
0
0
0
0
0
0
0
0
1
6
26
-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
-16
25
0
0
0
2
0
0
0
0
0
0
0
0
0
18
-5
41
-23
-4
0
-1
13
19
0
0
0
0
0
0
0
0
33
43
-43
18
43
-7
48
5
21
-1
0
0
0
0
0
0
0
-1
8
51
-24
16
-14
1
-15
5
0
0
0
0
0
0
0
0
-8
-5
-2
-5
20
47
-35
-3
-3
0
0
0
0
0
0
0
0
1
36
39
-11
-5
-25
0
-9
-3
-6
0
0
0
0
0
0
0
-5
-25
2
1
-5
2
0
2
1
0
0
0
0
0
0
0
0
0
19
-7
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
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
39
3
44
1
-4
0
-5
0
0
0
0
0
0
0
0
0
21
44
-6
32
60
0
4
0
0
0
0
0
0
0
0
0
0
-5
16
-25
16
2
-49
0
-2
0
0
0
0
0
0
0
0
0
-9
-1
1
-4
-1
-8
0
9
-4
0
0
0
0
0
0
0
0
2
0
-2
44
-2
-2
0
-4
0
0
0
0
0
0
0
0
0
-14
-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
24
-6
-39
-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
-10
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
117
-60
-26
-32
63
-25
-3
0
0
0
0
0
0
0
0
0
33
4
7
25
5
43
-9
-6
0
0
0
0
0
0
0
0
0
-58
-4
52
71
29
49
-29
1
0
0
0
0
0
0
0
0
0
21
-43
-41
20
49
2
-7
7
0
0
0
0
0
0
0
0
0
-6
9
-8
35
68
39
9
13
0
0
0
0
0
0
0
0
0
-4
107
45
-5
-37
11
1
-9
0
0
0
0
0
0
0
0
0
-11
1
23
13
-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
-10
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-18
45
-39
56
24
-43
-56
0
0
0
0
0
0
0
0
0
17
33
-9
-75
2
63
53
52
-10
0
0
0
0
0
0
0
0
42
35
-43
9
16
-21
50
-14
1
10
0
0
0
0
0
0
0
-7
22
23
61
78
11
16
14
18
0
0
0
0
0
0
0
0
97
-34
34
56
44
90
-13
5
-15
4
0
0
0
0
0
0
0
23
22
22
-11
-4
-9
13
2
-3
0
0
0
0
0
0
0
0
31
51
14
-48
21
-33
-2
-1
-11
0
0
0
0
0
0
0
0
25
17
5
6
0
-5
0
3
-2
0
0
0
0
0
0
0
0
8
13
-34
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
3
-5
32
-55
-22
-97
-71
0
2
0
0
0
0
0
0
0
104
-9
20
46
20
70
-64
-23
-60
-4
0
0
0
0
0
0
0
22
63
49
35
42
-41
-20
71
9
-24
0
0
0
0
0
0
0
55
14
104
42
5
-47
3
-46
9
9
-1
0
0
0
0
0
0
18
-14
-10
36
11
43
1
-24
-20
-24
0
0
0
0
0
0
0
-14
25
-86
-110
-31
0
-4
43
46
21
0
0
0
0
0
0
0
46
-85
-48
27
53
-16
-2
0
-23
0
0
0
0
0
0
0
0
0
-19
-11
34
-15
80
-9
11
-1
0
0
0
0
0
0
0
0
0
-7
-6
-8
1
0
5
0
0
0
0
0
0
0
0
0
0
-11
48
112
-7
71
-22
-10
-16
0
-4
0
0
0
0
0
0
0
-29
36
82
31
3
83
76
-32
-24
2
-3
0
0
0
0
0
0
-16
-78
-8
-34
25
-23
-28
-91
-43
10
0
0
0
0
0
0
0
-24
110
75
70
-25
101
46
48
19
-2
0
0
0
0
0
0
0
89
-50
90
-6
22
10
39
-13
41
2
0
0
0
0
0
0
0
17
55
9
19
-19
120
-48
58
0
2
0
0
0
0
0
0
0
-16
-46
-48
-49
37
7
43
-2
-2
0
0
0
0
0
0
0
0
-1
14
-53
6
-10
5
7
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
13
7
0
0
0
0
0
0
0
0
0
0
0
-27
-6
23
56
0
-55
-95
-53
0
0
0
0
0
0
0
0
0
26
-84
35
5
-73
14
5
22
5
0
0
0
0
0
0
0
0
-20
27
-27
-7
-69
-14
-20
-83
31
-5
0
0
0
0
0
0
0
39
43
-13
19
-14
145
-143
43
31
52
0
0
0
0
0
0
0
-13
77
18
67
44
2
-23
9
-54
-14
4
0
0
0
0
0
0
-4
-52
-12
-12
4
-39
16
-44
44
-6
0
0
0
0
0
0
0
-4
5
9
1
-7
-34
-5
-1
63
-7
0
0
0
0
0
0
0
-3
-42
-24
13
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
-20
47
61
-33
5
4
-98
-33
0
1
0
0
0
0
0
0
0
-2
-10
6
1
142
-14
23
27
-29
-1
-1
0
0
0
0
0
0
5
-23
60
-23
-22
51
-19
-45
27
-1
0
0
0
0
0
0
0
-14
7
53
38
53
-19
80
19
-13
0
0
0
0
0
0
0
0
44
29
25
23
-30
-9
-49
43
0
15
0
0
0
0
0
0
0
2
47
-19
19
16
-1
-11
-36
-3
0
0
0
0
0
0
0
0
33
35
32
54
44
19
-56
-15
-6
0
0
0
0
0
0
0
0
0
-46
5
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
53
35
-16
-11
-4
-2
0
-1
0
0
0
0
0
0
0
0
11
55
-23
-44
-72
11
-8
6
0
0
0
0
0
0
0
0
0
6
24
51
24
-17
45
-4
-6
-3
0
0
0
0
0
0
0
0
23
49
133
35
-1
19
11
2
-14
0
0
0
0
0
0
0
0
48
-19
-11
-19
-42
14
14
-3
2
0
0
0
0
0
0
0
0
6
22
-44
-46
23
-17
7
-5
-5
0
0
0
0
0
0
0
0
-14
50
-14
3
1
-3
7
2
0
0
0
0
0
0
0
0
0
64
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
-9
1
0
0
1
0
0
0
0
0
0
0
-2
0
-25
-52
-19
-1
-3
3
1
0
0
0
0
0
0
0
0
0
-1
18
-10
3
-13
-10
1
0
-1
0
0
0
0
0
0
0
0
5
5
1
0
-3
3
0
-9
0
0
0
0
0
0
0
0
-4
0
16
10
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
-10
-17
-5
-10
0
-1
14
0
0
0
0
0
0
0
0
0
0
18
44
-26
9
-22
34
-2
-3
0
0
0
0
0
0
0
0
0
2
-17
-27
14
50
-20
4
1
0
0
0
0
0
0
0
0
0
-15
45
-1
24
0
-2
1
0
0
0
0
0
0
0
0
0
0
16
1
-60
-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
19
-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
13
-7
16
106
53
-50
0
-2
0
0
0
0
0
0
0
0
0
36
5
-32
28
164
1
9
-1
0
0
0
0
0
0
0
0
0
32
-33
47
-48
0
1
0
0
0
0
0
0
0
0
0
0
0
-16
-11
-27
5
13
0
1
1
0
0
0
0
0
0
0
0
0
5
8
32
19
34
0
-6
0
0
0
0
0
0
0
0
0
0
9
2
-6
14
-8
-5
0
0
0
0
0
0
0
0
0
0
0
3
-6
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
1
0
7
-33
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-6
-114
-34
-1
0
0
0
0
0
0
0
0
0
0
0
5
20
15
-51
-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
-14
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
66
95
53
-5
44
-2
2
0
0
0
0
0
0
0
0
0
25
49
-58
-84
-16
-17
-8
6
0
0
0
0
0
0
0
0
0
-19
28
-18
53
10
-3
9
6
-11
0
0
0
0
0
0
0
0
-4
4
49
32
16
-9
-11
-1
0
0
0
0
0
0
0
0
0
-5
51
-53
91
4
8
15
0
2
0
0
0
0
0
0
0
0
45
59
33
43
2
-23
0
-2
0
0
0
0
0
0
0
0
0
-20
1
-14
-18
-9
-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
22
46
-37
-78
-14
13
-21
-18
0
0
0
0
0
0
0
0
0
13
26
-38
9
52
-3
-61
-2
11
0
0
0
0
0
0
0
0
-16
14
58
2
-18
21
-51
-22
89
20
0
0
0
0
0
0
0
33
0
-29
-38
40
42
75
44
-17
0
0
0
0
0
0
0
0
10
-54
114
0
80
-1
-99
-1
17
8
0
0
0
0
0
0
0
-41
5
48
6
47
-20
42
-19
-43
0
0
0
0
0
0
0
0
-14
-36
80
5
85
39
1
-13
0
0
0
0
0
0
0
0
0
31
23
5
23
5
0
0
-4
-2
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
26
73
19
48
47
-18
-4
18
0
-13
0
0
0
0
0
0
0
-7
-20
21
17
53
-2
-62
43
-19
0
-4
0
0
0
0
0
0
24
-36
5
22
-19
-128
68
6
20
-5
0
0
0
0
0
0
0
-6
24
-6
14
33
-10
-11
47
13
23
0
0
0
0
0
0
0
47
18
-81
9
17
-46
-21
124
8
6
0
0
0
0
0
0
0
-44
86
-2
138
-11
-4
18
-33
-16
-5
0
0
0
0
0
0
0
35
62
56
-62
35
-35
-20
0
-8
-3
0
0
0
0
0
0
0
2
58
29
-45
-9
-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
35
-1
42
27
-14
-4
-3
61
0
0
0
0
0
0
0
0
0
-7
28
80
-26
-46
-50
-28
-44
-8
0
0
0
0
0
0
0
0
-13
30
21
42
-53
23
31
14
4
4
0
0
0
0
0
0
0
2
15
61
-2
18
65
10
19
8
3
0
0
0
0
0
0
0
-1
-55
38
-96
-33
-14
1
0
32
1
0
0
0
0
0
0
0
-29
-20
5
-16
-3
-5
26
-24
4
0
0
0
0
0
0
0
0
-9
9
-28
32
2
-25
-4
-5
9
0
0
0
0
0
0
0
0
9
-1
34
-2
-3
9
0
1
0
0
0
0
0
0
0
0
0
-37
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
68
50
16
-37
14
3
0
0
0
0
0
0
0
0
0
-33
-17
-64
-64
29
15
-5
-36
-51
-6
2
0
0
0
0
0
0
7
30
93
-49
35
-83
-17
-9
-8
26
0
0
0
0
0
0
0
99
-69
-36
0
-32
33
7
30
43
-14
0
0
0
0
0
0
0
-9
46
-11
-32
39
15
8
-21
6
-8
0
0
0
0
0
0
0
2
-23
55
5
33
1
-58
-24
0
-2
0
0
0
0
0
0
0
-5
33
-2
-68
-17
19
1
0
1
0
0
0
0
0
0
0
0
20
-80
-15
-9
0
0
3
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
-20
-46
-29
-58
18
27
15
-19
0
-2
0
0
0
0
0
0
0
6
45
44
-2
23
-7
9
17
0
0
0
0
0
0
0
0
0
-53
-21
23
52
-14
-10
-20
7
-19
2
0
0
0
0
0
0
0
-10
-15
73
-69
37
-17
-48
25
-7
4
0
0
0
0
0
0
0
45
3
-16
5
14
34
57
5
-27
-1
0
0
0
0
0
0
0
-24
-53
63
2
-1
21
25
-4
0
0
0
0
0
0
0
0
0
18
-8
35
-16
0
-2
-4
2
7
0
0
0
0
0
0
0
0
0
-66
-15
24
0
0
0
5
0
0
0
0
0
0
0
0
0
9
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-5
-13
33
-48
14
26
0
-14
0
0
0
0
0
0
0
-5
14
43
26
7
-32
2
-43
43
0
4
0
0
0
0
0
0
0
-48
0
54
1
-39
25
1
3
-1
0
0
0
0
0
0
0
0
36
-29
-10
-65
-18
2
1
10
4
0
0
0
0
0
0
0
0
-39
-4
-20
13
-16
-37
1
4
0
0
0
0
0
0
0
0
3
-24
-13
-7
-3
-11
3
4
0
0
0
0
0
0
0
0
0
0
7
-16
45
-15
-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
-20
-19
23
5
-35
20
0
-1
0
0
0
0
0
0
0
-4
-32
61
-10
33
-52
-21
-14
0
0
0
0
0
0
0
0
0
-22
32
-50
3
-20
-2
2
6
0
0
0
0
0
0
0
0
0
-53
-5
-29
22
18
-15
-5
-3
3
0
0
0
0
0
0
0
0
0
-8
3
5
-13
9
13
0
0
0
0
0
0
0
0
0
0
4
-5
-13
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-8
5
-19
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
-22
17
98
10
-33
44
19
1
0
0
0
0
0
0
0
0
0
-21
13
10
5
0
43
70
-11
3
0
0
0
0
0
0
0
0
-44
-47
54
-37
-43
-23
21
0
0
0
0
0
0
0
0
0
0
-32
-5
-24
14
71
-69
0
0
0
0
0
0
0
0
0
0
0
-3
37
7
-14
-3
-5
0
0
-2
0
0
0
0
0
0
0
0
-50
17
-30
4
-18
5
0
1
0
0
0
0
0
0
0
0
0
-2
11
-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
62
-8
-14
-82
95
-14
80
0
-2
0
0
0
0
0
0
0
0
25
-110
-9
-82
-3
-24
-12
21
0
0
0
0
0
0
0
0
0
53
-24
49
-1
29
-104
25
2
0
0
0
0
0
0
0
0
0
-61
27
5
-61
-37
-39
11
-4
0
0
0
0
0
0
0
0
0
24
-24
-19
42
-45
-14
-1
-1
0
0
0
0
0
0
0
0
0
88
10
-37
-13
-21
2
10
0
0
0
0
0
0
0
0
0
0
-33
-2
-61
8
0
0
1
-1
0
0
0
0
0
0
0
0
0
61
-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
-4
0
-17
2
2
0
-1
0
0
0
0
0
0
0
0
0
-24
4
45
26
34
2
2
0
0
0
0
0
0
0
0
0
0
60
-11
-7
-35
43
1
11
0
0
0
0
0
0
0
0
0
0
-2
-5
15
-10
-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
0
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
-18
0
0
0
0
0
0
0
0
0
0
2
1
33
-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
-80
18
-4
-23
1
0
0
0
0
0
0
0
0
0
0
-3
49
8
20
25
-19
43
14
0
0
0
0
0
0
0
0
0
14
-15
3
3
-78
-8
1
6
6
0
0
0
0
0
0
0
0
1
4
-4
11
11
35
0
-1
2
0
0
0
0
0
0
0
0
-2
85
48
21
14
-14
-17
0
0
0
0
0
0
0
0
0
0
-7
48
-10
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
0
-21
8
-2
0
0
0
0
0
0
0
0
0
0
0
9
35
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
14
53
11
-53
-82
-21
-63
0
0
0
0
0
0
0
0
0
-46
-71
-122
34
35
32
-49
-20
18
-3
0
0
0
0
0
0
0
28
-8
-5
5
33
-33
36
-4
-13
-9
0
0
0
0
0
0
0
5
-14
58
-49
19
34
-50
5
29
0
0
0
0
0
0
0
0
-1
25
-2
13
23
52
65
-52
-43
0
0
0
0
0
0
0
0
55
-53
-4
40
-31
37
109
-3
-15
-2
0
0
0
0
0
0
0
-35
-2
-20
-22
1
14
-27
-13
2
0
0
0
0
0
0
0
0
5
43
10
6
2
18
4
-3
0
0
0
0
0
0
0
0
0
14
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
16
-51
14
100
19
-10
0
-2
0
0
0
0
0
0
0
10
69
13
-49
65
-68
55
0
54
0
4
0
0
0
0
0
0
23
-23
-43
-32
42
23
37
32
43
0
0
0
0
0
0
0
0
-35
16
-33
-29
-10
-113
-33
14
117
-1
0
0
0
0
0
0
0
18
-18
6
-1
-51
-28
-7
-45
-4
5
0
0
0
0
0
0
0
4
-11
7
22
74
30
45
-15
-25
0
0
0
0
0
0
0
0
25
-14
-23
39
-10
-33
-11
6
3
0
0
0
0
0
0
0
0
-36
-35
-61
2
43
33
1
0
0
0
0
0
0
0
0
0
0
-31
-24
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
28
-23
3
-59
-21
72
0
4
0
0
0
0
0
0
0
22
46
-19
-5
-34
30
45
-18
-3
0
-2
0
0
0
0
0
0
-3
14
-17
0
-3
-28
-13
-1
-33
25
0
0
0
0
0
0
0
80
61
73
10
-5
39
5
-2
18
6
0
0
0
0
0
0
0
34
-37
-6
-20
2
21
21
-4
3
0
0
0
0
0
0
0
0
17
53
15
-29
-18
-49
20
8
2
0
0
0
0
0
0
0
0
11
14
45
-45
-2
-17
-1
0
-2
0
0
0
0
0
0
0
0
8
57
-4
29
2
4
0
0
-3
0
0
0
0
0
0
0
0
-9
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
45
22
86
-35
26
16
0
0
0
0
0
0
0
0
0
13
15
-17
-46
54
120
-28
-30
-72
1
0
0
0
0
0
0
0
1
-34
17
2
0
-47
-14
65
-4
-1
0
0
0
0
0
0
0
14
7
-18
8
37
-5
27
-6
-60
-4
0
0
0
0
0
0
0
-11
-67
27
-50
8
-20
-17
48
-9
4
0
0
0
0
0
0
0
17
30
-11
35
-54
21
4
-23
-21
2
0
0
0
0
0
0
0
36
-17
22
-10
13
8
-27
0
2
0
0
0
0
0
0
0
0
-3
33
45
-13
0
0
0
0
2
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
10
-39
9
3
35
4
-14
28
0
0
0
0
0
0
0
0
0
5
117
10
-25
91
5
-56
32
15
1
0
0
0
0
0
0
0
17
-59
-34
59
-41
-13
5
-22
1
8
0
0
0
0
0
0
0
2
-17
-23
5
-29
3
-1
-41
1
0
0
0
0
0
0
0
0
5
-80
39
-10
-36
4
1
-33
-14
0
0
0
0
0
0
0
0
1
-41
-27
37
68
-4
-19
5
0
0
0
0
0
0
0
0
0
-2
-32
33
31
27
-2
-10
4
0
0
0
0
0
0
0
0
0
14
-23
-18
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
14
20
-13
76
-5
12
22
0
0
0
0
0
0
0
0
0
0
-19
16
-16
45
-14
58
23
11
0
0
0
0
0
0
0
0
0
13
-40
26
-6
-33
5
7
3
0
0
0
0
0
0
0
0
0
-37
-66
1
-20
-4
2
0
-3
0
0
0
0
0
0
0
0
0
24
16
-53
5
-17
0
-1
-6
-1
0
0
0
0
0
0
0
0
37
-5
-23
3
-21
5
3
0
0
0
0
0
0
0
0
0
0
-29
33
-2
4
0
1
0
-9
0
0
0
0
0
0
0
0
0
8
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
-14
-2
39
-16
-24
0
0
0
0
0
0
0
0
0
-23
14
19
49
-52
7
7
26
-32
0
0
0
0
0
0
0
0
-5
-13
43
-44
22
-45
-34
0
-4
2
0
0
0
0
0
0
0
-29
2
21
-37
10
-9
-1
0
0
0
0
0
0
0
0
0
0
-27
-15
-2
-69
1
21
-31
0
-4
0
0
0
0
0
0
0
0
14
0
-15
5
1
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
-26
-2
7
0
0
-3
-2
0
0
0
0
0
0
0
0
0
7
27
0
0
0
0
0
0
0
0
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
-36
4
-26
-24
15
23
0
0
0
0
0
0
0
0
0
-25
-36
-51
20
67
33
66
76
-32
2
0
0
0
0
0
0
0
32
8
-11
-133
-49
67
-1
-3
2
0
0
0
0
0
0
0
0
-7
17
23
-24
2
-18
23
-1
0
0
0
0
0
0
0
0
0
14
5
-54
-90
84
26
45
-3
0
0
0
0
0
0
0
0
0
-66
-93
21
13
-7
3
-4
-3
1
-1
0
0
0
0
0
0
0
15
26
40
31
23
-18
0
0
1
0
0
0
0
0
0
0
0
5
-60
-6
10
0
0
0
0
-2
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
-25
-14
-30
-123
-1
60
77
0
0
0
0
0
0
0
0
0
0
-2
48
-56
-23
97
-4
-5
22
0
0
0
0
0
0
0
0
0
92
-53
41
77
-34
74
32
-9
0
0
0
0
0
0
0
0
0
-33
14
2
14
14
-86
15
0
0
0
0
0
0
0
0
0
0
13
-22
-7
-5
3
18
-4
0
0
0
0
0
0
0
0
0
0
-86
-36
-16
56
22
-1
8
1
0
0
0
0
0
0
0
0
0
-61
17
51
-3
6
-2
-7
4
-5
0
0
0
0
0
0
0
0
-42
-14
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
13
6
30
14
15
3
-1
-3
0
0
0
0
0
0
0
0
0
-2
1
-69
-3
-31
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
-14
-36
-2
-10
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
13
32
21
-14
46
1
0
0
0
0
0
0
0
0
0
3
56
5
1
20
5
-29
-10
0
0
0
0
0
0
0
0
0
-9
9
-85
22
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-24
-2
-3
-3
0
0
0
0
0
0
0
0
0
-2
46
-30
25
-6
0
-4
-1
0
0
0
0
0
0
0
0
0
14
23
34
-11
-7
0
0
0
0
0
0
0
0
0
0
0
0
-34
24
-18
4
9
2
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
93
31
20
-8
-2
14
-20
4
0
0
0
0
0
0
0
0
0
-57
-27
-6
13
22
31
28
98
-1
0
0
0
0
0
0
0
0
-36
-49
-11
-7
-8
54
8
0
-4
0
0
0
0
0
0
0
0
15
-26
51
-52
18
-13
43
33
26
0
0
0
0
0
0
0
0
-3
0
0
61
25
-57
16
-7
15
0
0
0
0
0
0
0
0
74
5
29
-69
-52
48
5
15
1
0
0
0
0
0
0
0
0
31
46
32
26
-3
31
-19
-4
3
0
0
0
0
0
0
0
0
53
-6
-31
0
1
-44
1
-5
0
0
0
0
0
0
0
0
0
-49
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
18
-14
2
25
-6
0
0
0
0
0
0
0
0
0
5
-49
121
9
-7
-24
-75
-59
-20
0
2
0
0
0
0
0
0
9
80
-5
-94
40
4
14
22
-15
7
0
0
0
0
0
0
0
24
51
-22
-108
-77
-56
62
55
-6
0
0
0
0
0
0
0
0
0
15
0
-33
8
-33
-36
17
4
0
0
0
0
0
0
0
0
8
80
-5
0
-30
30
-32
26
19
-2
0
0
0
0
0
0
0
6
84
18
18
-35
46
-11
-23
-2
-7
0
0
0
0
0
0
0
37
5
37
-33
47
7
-2
-4
-4
0
0
0
0
0
0
0
0
10
-11
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
23
85
57
47
-4
-18
64
0
0
0
0
0
0
0
0
0
17
10
223
-57
-3
11
-33
55
-1
0
0
0
0
0
0
0
0
-52
44
72
27
13
-38
31
-25
-4
8
0
0
0
0
0
0
0
24
-39
43
-13
16
-32
11
-8
45
6
0
0
0
0
0
0
0
-36
37
0
0
1
-22
35
3
-8
0
0
0
0
0
0
0
0
7
-5
62
-1
48
-21
29
-3
0
0
0
0
0
0
0
0
0
-15
5
-17
1
13
-4
14
0
2
0
0
0
0
0
0
0
0
7
-3
-9
-9
-3
-2
0
0
2
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
30
29
69
-28
44
-23
-23
0
3
0
0
0
0
0
0
0
5
53
11
15
-85
14
-25
-11
6
-4
0
0
0
0
0
0
0
23
-36
-2
-8
33
31
-26
31
14
-5
0
0
0
0
0
0
0
13
21
-23
-15
-2
-41
-4
11
-1
0
0
0
0
0
0
0
0
0
-3
-21
-2
0
2
3
-19
6
1
0
0
0
0
0
0
0
-8
48
0
45
2
-1
-43
2
20
0
0
0
0
0
0
0
0
-1
22
9
24
1
-2
-1
-7
0
0
0
0
0
0
0
0
0
-3
43
-46
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
5
18
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
25
18
64
-40
0
-17
-5
0
0
0
0
0
0
0
0
0
-4
44
53
-46
45
-15
43
-8
-10
1
0
0
0
0
0
0
0
20
29
-14
-29
23
17
-33
-3
1
-2
0
0
0
0
0
0
0
29
-3
-43
-1
-53
-2
6
-4
-3
-3
0
0
0
0
0
0
0
0
-33
-2
14
0
0
0
9
2
0
0
0
0
0
0
0
0
4
100
-15
22
34
0
0
-2
3
0
0
0
0
0
0
0
0
-18
74
5
15
-2
2
-2
0
-1
0
0
0
0
0
0
0
0
-4
-45
-13
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
33
-24
-16
-8
-14
0
-3
0
0
0
0
0
0
0
0
-17
13
44
43
-102
-11
-5
5
0
0
0
0
0
0
0
0
0
32
-36
6
7
18
71
5
0
-1
0
0
0
0
0
0
0
0
-25
51
-53
-5
-18
0
2
0
4
0
0
0
0
0
0
0
0
-13
9
-1
15
0
0
0
6
0
0
0
0
0
0
0
0
0
-32
5
33
4
6
0
0
0
0
0
0
0
0
0
0
0
0
-51
6
14
4
5
0
0
0
2
0
0
0
0
0
0
0
-10
-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
55
0
-80
5
33
5
0
0
0
0
0
0
0
0
0
37
-30
-25
-21
-41
5
70
2
-23
0
0
0
0
0
0
0
0
-16
4
-7
45
21
-23
-24
-8
10
-4
0
0
0
0
0
0
0
-15
-51
53
-81
-4
-33
-1
1
-3
0
0
0
0
0
0
0
0
1
43
-9
-3
-25
4
0
0
0
0
0
0
0
0
0
0
0
22
1
13
62
-57
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-23
-19
0
0
0
0
0
0
0
0
0
0
0
0
-27
-10
0
14
0
0
0
0
0
0
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
30
58
-5
30
26
36
75
0
-1
0
0
0
0
0
0
0
-118
-4
-24
-9
8
3
-11
67
-33
-11
0
0
0
0
0
0
0
71
6
-26
24
43
71
51
-73
-21
3
0
0
0
0
0
0
0
-13
-32
-112
-76
-15
3
-15
-11
1
5
0
0
0
0
0
0
0
56
-43
30
22
0
-80
5
0
0
0
0
0
0
0
0
0
0
-5
31
65
47
-21
8
-10
0
0
0
0
0
0
0
0
0
0
-9
-54
3
-36
36
-13
7
0
-8
0
0
0
0
0
0
0
0
-14
19
-29
-9
0
0
0
0
20
0
0
0
0
0
0
0
0
45
6
-10
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
48
-53
-14
78
17
21
55
0
0
0
0
0
0
0
0
0
0
-53
-29
-8
15
2
90
0
26
-1
0
0
0
0
0
0
0
0
128
-57
10
-66
13
-18
53
-3
0
0
0
0
0
0
0
0
0
2
24
-48
9
59
74
90
-10
0
0
0
0
0
0
0
0
0
-4
-60
-105
-59
-68
-65
-5
0
0
0
0
0
0
0
0
0
0
23
53
-5
95
0
27
45
1
0
0
0
0
0
0
0
0
0
44
33
-31
-22
-34
13
1
-3
-2
0
0
0
0
0
0
0
0
70
35
-71
-6
25
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
-20
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
-15
0
24
5
9
10
2
2
0
0
0
0
0
0
0
0
0
-21
5
13
5
0
-31
0
0
0
0
0
0
0
0
0
0
0
4
-2
13
-9
-8
0
-2
0
0
0
0
0
0
0
0
0
0
2
3
14
5
3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
-21
-2
0
0
18
0
0
0
0
0
0
0
0
0
0
-9
6
-6
-21
-2
-5
2
11
0
0
0
0
0
0
0
0
0
-24
-18
25
-10
-2
0
3
0
0
0
0
0
0
0
0
0
0
-2
-6
26
19
-4
29
-1
0
0
0
0
0
0
0
0
0
0
0
-20
66
6
3
0
3
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
24
-2
6
0
-1
0
0
0
0
0
0
0
0
0
0
4
-18
-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
71
10
12
106
26
41
8
0
0
0
0
0
0
0
0
0
-100
-54
45
56
23
-51
-5
-1
-2
-4
0
0
0
0
0
0
0
47
14
49
5
40
-2
-43
-6
2
0
0
0
0
0
0
0
0
-34
-27
23
-78
-37
3
25
46
-6
0
0
0
0
0
0
0
0
-15
0
-16
-34
33
-5
25
-41
-21
0
0
0
0
0
0
0
0
0
0
-1
3
-6
90
31
-4
13
0
0
0
0
0
0
0
0
9
0
-2
-14
-21
-11
44
-3
-4
0
0
0
0
0
0
0
0
-2
16
-2
-4
-60
5
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
-6
34
22
45
16
17
0
25
0
0
0
0
0
0
0
0
0
0
23
0
81
54
-122
53
-29
13
18
0
0
0
0
0
0
0
14
-12
-29
-22
26
5
2
-14
-1
0
0
0
0
0
0
0
0
-1
24
14
48
-8
6
6
14
-10
0
0
0
0
0
0
0
0
0
-7
0
-53
-23
-116
-19
17
20
0
0
0
0
0
0
0
0
-13
18
0
5
36
53
10
20
-17
-2
0
0
0
0
0
0
0
-11
-6
-4
8
-45
7
14
-7
-1
0
0
0
0
0
0
0
0
5
-16
5
21
14
-16
0
3
0
0
0
0
0
0
0
0
0
29
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
41
-27
47
10
-24
22
0
0
0
0
0
0
0
0
0
4
84
-21
-31
17
-31
18
-3
-4
0
-4
0
0
0
0
0
0
1
93
34
-15
-4
60
-6
5
-6
0
0
0
0
0
0
0
0
8
30
4
-58
62
11
5
13
2
-3
0
0
0
0
0
0
0
14
63
-16
1
53
9
-14
-1
-3
0
0
0
0
0
0
0
0
-2
24
0
0
-5
-1
46
8
-9
0
0
0
0
0
0
0
0
-5
-134
51
0
3
-8
4
0
1
0
0
0
0
0
0
0
0
-14
-36
36
2
1
0
0
0
1
0
0
0
0
0
0
0
0
-9
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-44
43
33
-43
-32
45
16
0
0
0
0
0
0
0
0
0
0
4
-13
0
-73
34
-2
25
-1
0
0
0
0
0
0
0
0
50
54
54
11
45
7
-45
-1
17
-3
0
0
0
0
0
0
0
1
47
50
19
11
58
13
20
0
-1
0
0
0
0
0
0
0
-1
53
43
-71
-9
16
-29
-8
2
0
0
0
0
0
0
0
0
-10
-6
53
-1
0
27
0
1
-10
0
0
0
0
0
0
0
0
6
-4
-51
19
1
-4
11
-7
0
0
0
0
0
0
0
0
0
34
43
15
2
0
-2
0
-4
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
-6
23
-53
7
5
-22
-47
-22
0
0
0
0
0
0
0
0
0
3
-1
-36
-53
62
-20
-11
17
4
0
5
0
0
0
0
0
0
15
-49
-30
-17
-11
-3
-47
-22
-2
0
0
0
0
0
0
0
0
4
13
-48
21
32
1
34
-25
35
-9
0
0
0
0
0
0
0
1
-60
16
35
-6
6
0
-1
1
-1
0
0
0
0
0
0
0
0
-48
46
-3
1
0
0
-3
0
0
0
0
0
0
0
0
0
26
-33
96
37
-18
-3
-1
5
-2
0
0
0
0
0
0
0
0
2
36
21
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-53
17
-14
-5
43
-11
0
0
0
0
0
0
0
0
0
0
-37
-7
-22
-7
-1
-45
49
9
0
0
0
0
0
0
0
0
0
-5
13
-32
-35
-27
-30
-13
-16
0
0
0
0
0
0
0
0
0
64
2
16
-21
14
14
14
-1
0
0
0
0
0
0
0
0
0
-25
-22
43
-51
11
0
2
-9
0
0
0
0
0
0
0
0
0
-10
13
-39
6
0
0
0
0
5
0
0
0
0
0
0
0
4
14
1
26
-23
8
1
0
5
0
0
0
0
0
0
0
0
1
-4
-14
23
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
-36
1
-3
-48
0
0
0
0
0
0
0
0
0
0
-6
-6
-22
-8
5
25
53
-50
14
0
0
0
0
0
0
0
0
11
22
-25
-103
-32
63
-1
-4
17
1
0
0
0
0
0
0
0
-20
-1
-19
-29
44
18
31
-1
-2
0
0
0
0
0
0
0
0
-13
-27
-14
-4
8
-3
-10
0
0
0
0
0
0
0
0
0
0
-8
-24
-3
-9
14
5
0
0
0
0
0
0
0
0
0
0
0
10
19
-13
3
4
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
21
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
1
-18
20
52
5
43
9
-21
0
-1
0
0
0
0
0
0
0
24
-100
18
-69
-5
26
25
-3
-22
-2
0
0
0
0
0
0
0
-25
-55
-50
1
-65
72
128
-47
-9
-6
0
0
0
0
0
0
0
36
-43
-2
-33
-24
81
49
-34
32
0
0
0
0
0
0
0
0
-13
-19
51
10
-51
2
-22
0
0
0
0
0
0
0
0
0
0
17
10
-81
-82
5
-72
-13
0
0
0
0
0
0
0
0
0
0
-9
-67
-107
-60
-17
-31
4
-1
0
0
0
0
0
0
0
0
0
-46
-4
-56
-14
5
4
0
0
9
0
0
0
0
0
0
0
0
-77
-4
-7
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
47
53
12
0
-9
20
-45
0
0
0
0
0
0
0
0
0
0
-14
53
-5
-1
-19
71
33
30
3
-2
0
0
0
0
0
0
0
-71
-4
-81
3
69
98
14
25
0
0
0
0
0
0
0
0
0
-4
68
-72
-42
35
24
4
-20
0
0
0
0
0
0
0
0
0
15
24
-4
-118
60
-20
32
0
0
0
0
0
0
0
0
0
0
7
-87
-15
-29
-96
-51
-8
0
0
0
0
0
0
0
0
0
0
10
34
23
-23
-34
5
1
0
0
0
0
0
0
0
0
0
0
-28
13
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
-15
18
-20
-1
-5
-1
0
2
0
0
0
0
0
0
0
0
0
-3
-5
9
-5
-1
-2
0
-4
0
0
0
0
0
0
0
0
0
-1
-1
23
-3
-5
1
0
0
0
0
0
0
0
0
0
0
0
6
0
-11
56
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
-9
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
19
5
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-3
-18
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
1
17
-20
-47
-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
-53
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
26
10
-46
-29
-4
-1
-2
-9
0
0
0
0
0
0
0
0
0
11
54
-82
-22
10
-26
15
-17
-3
0
0
0
0
0
0
0
0
-23
-17
-34
-35
31
17
-34
-11
-11
-1
0
0
0
0
0
0
0
-9
-24
-8
41
-22
10
6
-20
0
0
0
0
0
0
0
0
0
13
0
-80
-44
-64
43
13
0
3
0
0
0
0
0
0
0
0
11
0
43
22
30
-41
36
35
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-6
3
-10
0
0
0
0
0
0
0
0
0
0
21
0
0
92
0
-43
-2
1
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
1
-26
-6
-25
2
54
14
-5
0
0
0
0
0
0
0
0
0
0
-45
43
78
68
31
-7
11
2
0
0
0
0
0
0
0
0
-1
-59
-44
30
24
12
20
25
3
0
0
0
0
0
0
0
0
-3
-92
-60
96
-15
-2
1
-17
-6
-9
0
0
0
0
0
0
0
-2
-1
-9
4
-29
-14
-43
-20
1
0
0
0
0
0
0
0
0
0
33
0
3
-46
11
-2
-11
-13
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-13
6
18
0
-3
0
0
0
0
0
0
0
27
11
0
14
-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
-10
18
0
4
-27
-23
11
0
0
0
0
0
0
0
0
0
9
17
59
-65
81
15
-16
16
-1
0
0
0
0
0
0
0
0
13
33
18
33
-55
11
13
-31
4
0
0
0
0
0
0
0
0
0
51
65
54
18
-49
21
9
3
0
0
0
0
0
0
0
0
-3
13
51
22
-86
21
-15
-2
-7
1
0
0
0
0
0
0
0
7
22
-110
0
51
62
-26
-6
43
0
0
0
0
0
0
0
0
-11
3
3
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
8
7
-4
0
0
1
-3
6
0
0
0
0
0
0
0
0
0
-29
-1
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
-41
24
-15
-6
24
-3
0
0
0
0
0
0
0
0
0
0
40
20
-12
-91
-17
-25
11
-7
0
0
0
0
0
0
0
0
3
62
23
63
-11
-64
45
-19
-4
-11
0
0
0
0
0
0
0
10
-25
9
33
-32
33
-5
-15
0
0
0
0
0
0
0
0
0
0
60
36
-23
-15
25
-27
8
0
0
0
0
0
0
0
0
0
-1
-31
-32
-18
0
46
11
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
30
3
-9
0
-1
6
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
5
3
11
2
0
0
-21
4
0
0
0
0
0
0
0
0
0
-8
-63
-14
-27
5
-20
86
10
-5
0
0
0
0
0
0
0
0
0
-1
33
-14
29
-20
2
-20
-14
0
0
0
0
0
0
0
0
0
-5
-2
27
-83
16
35
-11
-6
0
0
0
0
0
0
0
0
2
5
54
-41
0
-4
-21
-1
8
0
0
0
0
0
0
0
0
0
-15
5
-10
-14
0
0
-3
5
0
0
0
0
0
0
0
0
3
35
18
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-27
-1
-17
0
0
0
1
-2
0
0
0
0
0
0
0
0
25
-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
18
-2
1
-17
0
8
5
0
0
0
0
0
0
0
0
0
0
41
5
9
53
-14
-57
13
-1
0
0
0
0
0
0
0
0
0
51
-3
43
47
-5
-9
-16
1
0
0
0
0
0
0
0
0
0
41
-20
-14
-11
32
14
-3
0
-20
0
0
0
0
0
0
0
-23
-10
3
23
54
-2
0
-4
3
0
0
0
0
0
0
0
0
0
22
35
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-46
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
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
17
2
3
8
-7
0
-4
0
0
0
0
0
0
0
0
0
15
21
-18
16
3
80
-45
11
-5
3
0
0
0
0
0
0
0
-5
8
3
-24
18
46
-7
0
0
0
0
0
0
0
0
0
0
0
-2
3
4
22
3
0
0
1
0
0
0
0
0
0
0
0
0
6
15
-10
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
0
-6
0
0
8
0
0
0
0
0
0
0
0
0
0
-47
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-39
-4
48
9
-33
-45
7
0
0
0
0
0
0
0
0
0
-18
28
-18
0
8
92
-30
-73
-69
0
0
0
0
0
0
0
0
4
-17
-51
-33
-81
57
-1
36
14
1
0
0
0
0
0
0
0
-2
28
64
-90
70
-22
13
-6
6
0
0
0
0
0
0
0
0
4
8
-141
-8
25
79
16
5
0
0
0
0
0
0
0
0
0
2
12
-79
-4
-58
33
5
0
0
0
0
0
0
0
0
0
0
-8
-15
2
45
50
-17
1
0
0
0
0
0
0
0
0
0
0
-26
2
35
78
4
-1
-2
0
0
0
0
0
0
0
0
0
0
-9
11
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
50
13
24
22
41
-45
0
2
0
0
0
0
0
0
0
0
20
-9
-70
-2
-8
19
0
5
0
0
0
0
0
0
0
0
0
-25
-5
-15
-53
32
-50
-75
-21
-6
0
0
0
0
0
0
0
0
-26
-2
-10
-53
14
-5
-3
1
0
0
0
0
0
0
0
0
0
13
-29
59
-6
-25
-2
2
9
0
0
0
0
0
0
0
0
0
8
72
20
35
2
13
-63
0
0
0
0
0
0
0
0
0
0
-27
-23
36
26
2
-9
2
0
0
0
0
0
0
0
0
0
0
-90
23
-17
25
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
-29
4
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
2
9
-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
-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
-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
11
0
0
0
-4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
20
0
-3
11
0
0
0
0
0
0
0
0
0
0
14
11
-5
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
8
-2
31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
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
59
-13
11
-2
9
-9
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-1
5
11
-1
8
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-10
5
36
0
0
0
0
0
0
0
0
0
0
0
11
-5
0
80
-1
7
0
2
0
0
0
0
0
0
0
0
0
-32
-5
14
72
-11
8
3
-13
0
0
0
0
0
0
0
0
0
26
0
40
-60
-3
0
2
-1
0
0
0
0
0
0
0
0
0
1
0
41
58
0
-9
0
0
0
0
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
-6
3
17
-16
11
43
0
0
0
0
0
0
0
0
0
0
-3
-14
31
34
-74
-27
-31
10
4
0
0
0
0
0
0
0
0
0
-45
-13
-51
-40
25
14
7
0
0
0
0
0
0
0
0
0
4
17
-25
41
-56
5
-6
1
0
0
0
0
0
0
0
0
0
0
-59
10
-1
37
86
-2
0
6
0
0
0
0
0
0
0
0
0
30
11
44
-30
-9
3
20
0
0
0
0
0
0
0
0
0
-1
-17
3
15
-44
-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
34
-13
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
9
0
22
-8
0
7
4
0
0
0
0
0
0
0
0
0
0
0
-2
-25
0
-13
-5
-3
0
0
0
0
0
0
0
0
0
0
0
3
-15
-35
-45
9
0
0
5
0
0
0
0
0
0
0
0
-2
-31
-8
9
3
43
7
1
0
0
0
0
0
0
0
0
0
2
-82
48
-21
26
-14
27
26
0
0
0
0
0
0
0
0
0
-6
11
49
3
64
-10
10
3
-2
-4
0
0
0
0
0
0
0
2
21
15
0
-11
11
0
-1
-3
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
29
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-6
1
3
-23
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-5
3
-5
-5
-26
0
0
0
0
0
0
0
0
0
0
-46
8
20
-53
-26
-11
1
0
0
0
0
0
0
0
0
0
2
-7
14
18
16
30
20
1
0
0
0
0
0
0
0
0
0
0
-31
-2
57
-1
9
-5
-1
0
0
0
0
0
0
0
0
0
0
9
2
-5
0
2
0
-6
0
0
0
0
0
0
0
0
0
-3
-6
21
-10
0
-3
3
0
0
0
0
0
0
0
0
0
0
2
52
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-10
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
11
0
-2
0
0
0
0
0
0
0
0
0
0
0
5
-4
2
-1
33
0
0
0
0
0
0
0
0
0
0
-10
-2
9
-2
-11
5
1
1
0
0
0
0
0
0
0
0
0
-2
3
-29
26
20
-6
0
0
-2
0
0
0
0
0
0
0
0
0
2
9
-1
26
-5
14
0
0
0
0
0
0
0
0
0
0
0
0
3
26
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
-16
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
-17
0
11
-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
-9
-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
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
-39
-2
0
1
8
21
0
1
0
0
0
0
0
0
0
0
0
6
5
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-34
51
11
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
26
4
2
0
0
0
1
0
0
0
0
0
0
0
0
-13
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
-53
-5
-15
0
2
1
-3
-2
0
0
0
0
0
0
0
0
2
2
2
-3
13
-95
26
8
-15
2
0
0
0
0
0
0
0
-5
-39
-7
-41
-14
37
-1
-7
-3
-16
0
0
0
0
0
0
0
0
-25
-17
47
53
15
-2
1
0
0
0
0
0
0
0
0
0
0
53
14
43
13
11
0
-2
0
0
0
0
0
0
0
0
0
0
20
-5
-10
9
-1
0
0
0
0
0
0
0
0
0
0
0
6
8
5
-24
2
-1
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
0
-11
-19
-2
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-4
2
-4
-31
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
-6
-8
-2
3
0
0
0
0
0
0
0
0
0
0
-8
-46
3
3
3
17
0
0
0
0
0
0
0
0
0
0
0
-10
57
-23
7
5
5
0
0
0
0
0
0
0
0
0
0
0
-7
5
-10
13
1
0
2
0
0
0
0
0
0
0
0
0
0
0
6
-18
25
-1
0
2
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
-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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-1
-27
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
68
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-33
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
14
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
14
0
25
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
-9
-17
-3
5
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
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
9
-21
13
0
0
0
0
0
0
0
0
0
0
0
3
-1
14
-19
8
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
46
-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
19
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
22
-62
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
100
-33
14
-9
-65
0
0
0
0
0
0
0
0
0
0
-19
-5
-57
-4
71
43
-58
0
0
0
0
0
0
0
0
0
0
1
-11
20
-65
-24
37
19
0
0
0
0
0
0
0
0
0
0
0
0
9
1
55
33
25
0
0
0
0
0
0
0
0
0
0
0
4
2
-6
-1
-62
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
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
0
0
0
-4
0
0
0
0
0
0
0
0
0
-6
-6
-35
81
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
2
17
-31
-16
-61
60
8
0
0
0
0
0
0
0
0
-4
-8
5
2
17
34
-15
53
9
0
0
0
0
0
0
0
0
0
0
0
-4
1
21
32
45
16
0
0
0
0
0
0
0
0
0
0
2
-11
-46
-25
34
-26
5
0
0
0
0
0
0
0
0
0
0
11
-13
1
-5
33
-25
-15
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
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
3
10
0
0
0
8
31
0
0
0
0
0
0
0
0
-2
-4
-2
25
5
-43
17
-16
-3
0
0
0
0
0
0
0
0
3
-5
4
1
-9
33
-18
14
-1
0
0
0
0
0
0
0
0
-2
-3
-2
-23
6
101
104
-5
-4
0
0
0
0
0
0
0
0
0
0
6
-18
25
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
5
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-3
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
-2
8
5
0
-2
-32
0
0
0
-76
2
5
0
0
0
0
0
0
0
4
0
-18
-2
-19
18
34
-11
7
0
0
0
0
0
0
0
-3
-10
2
-8
-45
6
42
6
9
-11
-1
0
0
0
0
0
1
0
0
7
-5
-17
-35
-14
46
7
0
0
0
0
0
0
0
0
0
0
13
0
-17
-5
-11
2
4
2
0
0
0
0
0
0
0
0
0
-1
0
-13
-3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
3
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
29
-3
0
30
0
0
0
1
0
-2
0
0
0
0
0
0
-4
4
10
5
45
-2
11
-59
11
-2
6
0
0
0
0
0
0
0
4
-1
18
71
-22
-64
6
24
0
-4
0
0
0
0
0
-2
0
0
13
-3
-17
26
-92
-7
-1
1
0
0
0
0
0
0
0
0
0
-3
-9
-19
-10
64
4
4
-1
0
0
0
0
0
0
0
0
0
0
3
4
4
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
-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
14
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-7
-21
34
52
-5
0
0
0
-5
-2
0
2
0
0
0
0
0
-8
5
-3
-25
15
-88
7
-19
0
1
0
0
0
0
0
0
0
-1
-9
-26
26
-5
-13
13
-37
7
0
0
0
0
0
0
0
0
0
2
-6
-10
-11
95
-17
15
-4
2
0
0
0
0
0
0
0
0
0
3
-19
49
-59
35
13
-1
0
0
0
0
0
0
0
0
0
2
2
0
2
-3
18
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
-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
-2
-5
-17
37
0
0
0
-2
1
0
0
0
0
0
0
6
27
6
-15
-19
59
0
0
0
-76
-1
0
0
0
0
0
0
0
-14
2
-11
-56
41
-23
43
-39
-13
-2
1
0
0
0
0
0
0
-3
-2
-39
0
-55
9
-26
-43
-32
0
0
0
0
0
0
0
0
0
17
35
9
3
-41
49
25
1
-6
-4
0
0
0
0
0
0
0
-1
-3
-5
11
6
16
-5
-24
2
0
0
0
0
0
0
0
0
0
-1
2
11
-9
2
48
8
0
0
0
0
0
0
0
0
0
0
0
14
0
1
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
-14
-17
-3
0
0
0
0
-3
0
0
0
0
0
0
0
0
-10
-1
-53
86
11
0
0
0
56
2
0
0
0
0
0
0
0
1
23
-18
-30
43
14
91
25
-14
0
0
0
0
0
0
0
0
-1
-4
-25
-46
-50
-25
-62
-41
104
-4
0
0
0
0
0
0
0
0
-1
-33
-69
16
37
44
8
-3
0
0
0
0
0
0
0
0
0
-4
9
-18
-15
20
-7
32
10
0
0
0
0
0
0
0
0
0
0
7
11
-1
-27
24
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
44
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
9
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-43
-7
0
0
0
3
14
0
0
0
0
0
0
0
0
0
0
-11
6
-15
59
20
0
-7
0
0
0
0
0
0
0
0
0
-1
3
60
-41
-62
36
35
0
0
0
0
0
0
0
0
0
0
0
2
13
-20
6
9
2
4
0
0
0
0
0
0
0
0
0
0
0
-8
-4
14
44
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
15
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
-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
-16
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-32
43
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
4
23
66
0
0
0
0
0
0
0
0
0
0
0
0
14
26
-41
-53
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
2
7
40
18
-11
19
0
0
0
0
0
0
0
0
0
0
3
-2
-2
-30
-17
13
30
0
0
0
0
0
0
0
0
0
0
-2
0
7
-2
58
5
5
0
0
0
0
0
0
0
0
0
0
0
10
-1
3
33
50
97
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
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
-46
0
0
0
0
0
0
0
0
0
0
0
0
-31
-74
24
18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
10
-68
43
24
-71
-13
0
0
0
0
0
0
0
0
-3
25
-35
22
-62
-75
-41
4
15
0
0
0
0
0
0
0
0
5
-1
0
16
-5
1
-4
-27
-69
0
0
0
0
0
0
0
0
0
0
0
-2
47
-14
31
39
-30
0
0
0
0
0
0
0
0
0
0
0
13
0
29
-35
-33
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-8
37
-6
0
0
0
13
0
0
0
0
0
0
0
0
7
0
-6
86
-86
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
8
-8
100
-69
14
12
18
0
0
0
0
0
0
0
0
-11
2
-9
18
-4
62
-34
44
-22
0
0
0
0
0
0
0
0
-3
-2
43
25
77
-8
-4
49
16
0
0
0
0
0
0
0
0
8
-2
14
-23
54
53
-33
-40
-24
0
0
0
0
0
0
0
0
0
-11
-7
0
11
-16
0
-25
-24
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-23
-52
0
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
34
0
0
0
5
2
0
0
0
0
0
0
-14
0
-2
-31
-25
-26
0
0
0
23
-7
0
0
0
0
0
0
0
0
6
-5
11
-2
-7
-8
-57
-13
-33
0
0
0
0
0
0
0
0
21
8
-18
-60
-30
-27
-14
-83
2
0
0
0
0
0
0
2
0
0
11
5
-26
11
-49
32
-24
-14
0
0
0
0
0
0
0
0
0
0
-3
89
39
61
-10
40
1
0
0
0
0
0
0
0
0
0
0
-7
4
4
-21
64
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
-1
0
0
0
-5
4
-4
0
0
0
0
0
-2
3
-43
-1
-2
-2
0
0
0
111
-32
-4
0
0
0
0
0
0
20
-7
20
-4
44
52
8
-8
0
15
0
0
0
0
0
0
0
0
10
-45
53
83
-54
-113
48
-50
-1
-1
0
0
0
0
0
0
-6
1
-9
-7
11
-19
-6
-6
6
1
-2
0
0
0
0
0
0
0
0
26
25
54
20
-3
-3
9
8
0
0
0
0
0
0
0
0
0
0
0
7
39
-50
-16
-4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-23
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
9
6
0
-8
0
0
0
-2
2
0
0
0
0
0
0
-1
51
-45
53
14
-3
0
0
0
-20
8
2
-1
0
0
0
0
-10
-8
44
50
-13
12
-6
81
-147
-1
0
-7
-1
0
0
0
0
0
-8
8
-51
62
6
-47
-21
-41
-26
5
0
0
0
0
0
0
-17
9
8
37
53
22
-18
-33
-62
-22
3
0
-1
0
0
0
0
0
0
0
-21
9
36
-68
52
-9
-11
0
-2
0
0
0
0
0
0
0
-2
0
-6
-6
25
-58
-35
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-33
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
24
63
1
3
0
0
0
-14
-2
0
0
0
0
0
0
6
-10
-30
3
14
-13
0
0
0
-14
6
0
0
0
0
0
0
44
-73
17
-35
28
-1
124
-35
39
23
-6
0
0
0
0
0
0
-1
-3
-6
33
-4
-25
100
-96
68
-7
-2
7
0
0
0
0
0
-3
-11
29
-32
27
11
-8
-20
-54
6
-3
0
0
0
0
0
0
0
0
52
-4
-37
14
27
6
43
-1
6
0
0
0
0
0
0
0
0
0
-31
-20
-39
25
-15
-44
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-46
-71
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
25
45
30
42
62
113
0
0
0
-5
-3
0
0
0
0
0
4
1
41
2
5
-39
7
0
0
0
-6
9
0
0
0
0
0
0
-6
7
-22
53
14
-7
9
-57
79
30
-7
-1
0
0
0
0
0
-4
-14
-5
-49
-62
54
14
-26
-120
-36
-4
-1
0
0
0
0
0
11
13
14
9
-11
-67
-70
-63
-181
-2
-3
0
0
0
0
0
0
-2
7
2
14
-24
90
-6
1
-15
29
-4
2
0
0
0
0
0
0
0
1
16
1
-20
47
34
8
-1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-4
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
3
0
0
0
0
0
0
0
0
-2
24
-23
-53
14
0
0
0
65
0
0
0
0
0
0
0
0
31
-53
-39
-39
33
0
0
0
-23
41
0
0
0
0
0
0
2
20
-63
-22
49
49
-91
99
70
-5
2
0
0
0
0
0
0
-20
0
-60
-23
8
-16
-80
43
-139
-29
0
1
0
0
0
0
0
-2
-34
17
-66
-50
-70
15
-60
-56
-10
0
0
0
0
0
0
0
-18
5
-57
6
82
4
-7
-14
-8
-1
0
0
0
0
0
0
0
0
1
5
61
96
29
49
18
-13
15
0
0
0
0
0
0
0
0
0
-2
17
-1
0
0
20
-17
-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
-17
6
-11
30
1
0
0
0
60
-8
0
0
0
0
0
0
-3
-36
-30
-77
-48
33
0
0
0
2
-4
0
0
0
0
0
0
-3
35
0
-9
-74
-64
-70
-21
-63
74
8
0
0
0
0
0
0
-6
52
-45
4
-69
1
5
-28
7
-122
-4
0
0
0
0
0
0
0
19
16
-31
58
-100
14
16
33
1
1
0
-7
0
0
0
0
9
18
-8
-1
-78
67
5
-62
22
21
0
0
0
0
0
0
0
-4
-3
1
-80
43
-48
34
-82
-17
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
44
11
10
-45
0
0
0
0
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
-9
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-14
55
-19
0
0
0
-2
-27
0
0
0
0
0
0
0
0
1
11
5
13
-39
34
44
0
-14
1
0
0
0
0
0
0
0
-2
6
-2
-45
31
37
-6
-21
-6
0
0
0
0
0
0
0
0
-6
3
4
13
-2
54
-9
-33
13
-2
0
0
0
0
0
0
0
0
0
-1
4
31
-5
80
31
0
0
0
0
0
0
0
0
0
0
5
-10
14
-20
6
22
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-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
-7
0
0
0
0
-4
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
0
0
3
-2
-8
-15
5
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
45
-19
5
-2
1
0
0
0
0
0
0
0
0
0
0
-4
-2
-7
-38
16
5
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
-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
18
0
0
0
0
0
0
0
0
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
14
-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
-11
0
5
-8
0
0
0
0
0
0
0
0
0
0
0
4
23
-1
-4
92
-42
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-2
1
-19
91
-53
0
0
0
0
0
0
0
0
0
0
-3
4
5
9
9
43
33
0
0
0
0
0
0
0
0
0
-1
0
0
0
81
-19
7
14
0
0
0
0
0
0
0
0
0
0
0
0
10
49
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
-27
-7
-30
-14
15
0
0
0
0
0
0
0
0
0
0
0
0
24
-41
-35
23
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
29
14
17
52
86
-46
0
0
0
0
0
0
0
0
1
6
44
80
71
-67
1
24
-50
0
0
0
0
0
0
0
0
3
-1
0
-33
15
12
80
70
10
0
0
0
0
0
0
0
0
0
0
0
0
-31
-24
18
-19
56
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-14
19
-6
-18
0
0
0
0
0
0
0
0
0
0
0
4
2
0
1
-2
-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
2
-6
-9
-8
0
0
0
9
0
0
0
0
0
0
0
0
1
8
-5
62
52
0
0
0
-10
0
0
0
0
0
0
0
0
0
-5
14
0
14
-46
-23
57
20
0
0
0
0
0
0
0
0
0
13
14
33
43
-34
62
-48
-29
0
0
0
0
0
0
0
0
14
6
0
-19
-29
-10
-43
38
6
0
0
0
0
0
0
0
0
4
0
-5
0
20
33
-63
-33
-43
0
0
0
0
0
0
0
0
0
0
0
2
-2
-6
53
15
-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
9
16
1
-53
0
0
0
6
-3
0
0
0
0
0
0
0
0
-10
3
16
-55
0
0
0
40
2
0
0
0
0
0
0
0
0
-1
5
-17
-16
25
-23
-73
18
-20
0
0
0
0
0
0
-2
1
0
11
108
-43
-36
67
22
-19
-2
0
0
0
0
0
0
0
0
1
-5
-6
5
39
104
-49
7
-8
0
0
0
0
0
0
0
0
3
0
-2
-18
-19
33
14
2
0
0
0
0
0
0
0
0
0
0
6
-3
2
-10
16
0
-6
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
43
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
15
5
2
0
0
0
-1
4
0
0
0
0
0
0
15
-4
-13
-1
-22
-41
0
0
0
45
0
0
0
0
0
0
0
2
1
-3
3
-2
2
30
-63
16
-10
10
0
0
0
0
0
0
0
6
0
9
-41
-61
62
-37
-19
-2
0
-3
0
0
0
0
0
2
0
-15
25
-27
-24
80
-66
59
0
0
0
0
0
0
0
0
0
0
0
-15
-2
-9
0
5
35
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-18
3
36
-53
6
-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
0
0
0
0
0
0
0
0
7
0
-9
5
31
72
0
0
0
-3
0
0
0
0
0
0
0
-1
-10
-14
19
6
16
0
0
0
14
-1
0
0
0
0
0
0
9
21
5
47
6
-58
46
106
6
-1
2
0
0
0
0
0
0
0
-11
-5
-98
7
-37
40
-1
-57
0
-1
5
0
0
0
0
0
1
2
-3
72
-58
-46
17
-9
21
15
0
0
-1
0
0
0
0
0
0
13
25
9
-59
-1
-13
37
-4
0
0
0
0
0
0
0
0
3
-2
2
-7
16
-37
5
-20
-1
1
0
0
0
0
0
0
0
0
-3
0
0
4
4
-16
3
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
-7
24
-27
-43
9
0
0
0
5
-4
0
0
0
0
0
0
-1
66
0
-40
-43
-11
0
0
0
7
0
0
0
0
0
0
0
0
4
33
6
22
15
6
-6
-62
-2
-7
0
0
0
0
0
0
0
15
21
27
26
-16
6
35
56
-18
5
0
0
0
0
0
0
0
24
-20
-33
4
34
-44
-53
9
0
2
0
0
0
0
0
0
1
2
24
27
-18
46
65
0
50
2
-6
0
0
0
0
0
0
0
0
0
9
14
23
-16
-15
12
-1
4
0
0
0
0
0
0
0
0
0
-3
0
3
27
-59
-21
0
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
17
-14
25
33
22
0
0
0
20
0
0
0
0
0
0
-2
6
29
-10
57
80
-50
0
0
0
-19
0
0
0
0
0
0
0
10
-43
71
5
2
30
34
-1
-12
-5
0
0
0
0
0
0
0
-4
5
97
19
49
-4
95
-28
37
15
0
0
1
0
0
0
0
0
-17
-13
-48
62
21
-92
30
-14
-3
-2
0
0
0
0
0
0
0
-6
-36
33
-21
-23
22
-55
-72
0
9
0
0
0
0
0
0
-3
-3
-3
4
-21
-23
7
-43
-99
-10
0
0
0
0
0
0
0
0
0
-6
-8
-8
-10
23
54
-36
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
39
0
0
0
0
0
0
0
0
0
0
16
19
-5
-10
24
0
0
0
6
-1
0
0
0
0
0
0
-14
15
-19
-14
-40
24
0
0
0
-10
-6
0
0
0
0
0
0
-20
25
47
20
58
-4
46
-8
-48
10
-1
0
0
0
0
0
0
35
44
-76
53
16
-47
-13
19
-63
3
-3
0
0
0
0
0
0
0
8
-50
24
-35
61
100
-6
-13
-2
9
0
0
0
0
0
0
0
-5
18
4
52
-55
4
-72
49
19
0
0
0
0
0
0
0
0
3
0
25
30
-3
74
32
-95
1
-3
0
0
0
0
0
0
0
0
0
-7
-13
24
12
11
-59
-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
-24
-45
13
-49
0
0
0
-23
1
0
0
0
0
0
0
-5
9
26
15
66
-55
0
0
0
-53
4
0
0
0
0
0
0
2
-5
9
-65
45
-6
14
1
-21
-14
8
0
0
0
0
0
0
1
27
4
5
-12
-55
61
22
28
-5
0
0
0
0
0
0
0
-3
4
15
21
-10
-67
8
-33
14
-13
3
2
-1
0
0
0
0
-3
-4
-15
5
-9
9
-52
-62
20
106
0
0
0
0
0
0
0
0
0
2
11
-10
14
39
-81
-35
-28
0
0
0
0
0
0
0
0
0
3
5
21
1
3
-19
-19
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
-4
0
0
17
0
0
0
8
-19
0
0
0
0
0
0
0
0
0
-6
-55
-6
0
0
0
0
53
-4
0
0
0
0
0
0
0
-1
2
-4
32
-22
-13
55
1
3
-1
0
0
0
0
0
0
0
4
4
-3
16
18
27
93
7
-14
-1
0
0
0
0
0
0
0
0
2
13
-6
-10
17
43
2
-26
0
0
0
0
0
0
0
0
0
0
2
-1
-13
44
23
29
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
51
15
-18
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
-14
-3
4
0
0
0
0
0
0
0
0
0
0
0
-2
16
-21
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
-15
-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
-11
-14
-6
0
0
0
0
0
0
0
0
0
0
0
-6
-7
8
-11
-25
-35
0
0
0
0
0
0
0
0
0
0
0
0
-7
-21
6
22
92
13
38
0
0
0
0
0
0
0
0
0
0
4
45
-14
25
-47
7
-59
0
0
0
0
0
0
0
0
0
0
3
5
-60
21
-41
33
-48
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
17
-2
-22
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-27
8
10
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
-13
0
0
0
0
0
0
0
0
0
0
10
32
-13
9
37
0
0
0
0
0
0
0
0
0
0
0
3
-14
-4
52
4
-45
0
0
0
0
0
0
0
0
0
0
0
0
-11
-56
-40
-81
-61
86
-39
-4
0
0
0
0
0
0
0
0
0
0
-16
33
20
25
53
40
-31
0
0
0
0
0
0
0
0
0
10
31
32
-58
-69
-77
-47
-31
0
0
0
0
0
0
0
0
0
3
0
-39
17
16
-28
34
23
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-7
74
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
20
36
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
-3
-2
3
5
1
0
0
0
32
0
0
0
0
0
0
0
17
0
2
15
-76
-53
0
0
0
-80
0
0
0
0
0
0
0
0
15
2
14
-3
-37
98
-4
75
5
0
0
0
0
0
0
0
0
0
0
-7
23
85
-4
-2
17
54
0
0
0
0
0
0
0
0
0
0
5
33
-53
-16
49
-8
32
0
0
0
0
0
0
0
0
0
0
2
-9
62
-29
22
54
53
0
0
0
0
0
0
0
0
0
0
0
16
-4
6
6
0
35
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-11
96
-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
-25
57
51
21
60
0
0
0
4
-2
0
0
0
0
0
0
0
2
9
3
3
-17
23
18
74
-4
5
0
0
0
0
0
0
1
0
0
0
2
18
57
80
-14
33
8
0
0
0
0
0
0
0
1
-4
-5
47
103
33
53
-5
-1
5
0
0
0
0
0
0
0
0
4
-9
-5
6
-33
39
2
5
0
0
0
0
0
0
0
0
0
0
6
0
-1
-3
-32
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
-17
-19
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
9
53
0
19
0
0
0
-1
2
0
0
0
0
0
0
3
4
29
29
-61
-43
0
0
0
4
0
0
0
0
0
0
0
0
-8
7
5
37
-50
-118
-79
41
10
-1
0
0
0
0
0
0
0
1
0
1
0
16
17
55
-8
-7
1
0
0
0
0
0
0
2
10
-4
0
-6
14
-27
21
-39
3
3
0
0
0
0
0
0
0
0
25
-1
23
-13
32
1
52
0
0
0
0
0
0
0
0
0
8
3
7
-3
-5
34
-16
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
0
-65
-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
-47
31
3
31
0
0
0
0
0
0
0
0
0
0
0
11
14
-22
-62
-31
-7
0
0
0
-21
0
0
0
0
0
0
0
2
-5
-15
-5
65
92
-35
-5
-14
0
2
0
0
0
0
0
0
3
13
-16
0
-7
72
21
48
37
-4
0
0
0
0
0
0
0
14
8
6
1
5
29
-57
-56
125
-4
0
0
0
0
0
0
0
0
-3
-3
23
18
-54
15
4
-48
1
0
0
0
0
0
0
0
0
0
-10
15
46
54
-5
-33
-92
3
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-4
-1
-19
3
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
-10
20
7
-2
32
0
0
0
-14
0
0
0
0
0
0
0
0
11
25
-4
4
-37
0
0
0
-22
-5
0
0
0
0
0
0
-5
45
15
56
1
1
108
6
-39
17
-1
0
0
0
0
0
0
3
-11
-11
6
-17
9
16
-47
54
5
2
0
0
0
0
0
0
0
-43
6
21
-73
-72
100
63
-8
60
3
0
0
0
0
0
0
0
-4
-19
36
14
37
38
-52
20
-4
0
0
0
0
0
0
0
-2
3
-1
-20
41
11
25
-1
-2
-3
0
0
0
0
0
0
0
0
0
0
7
41
2
18
-54
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
0
0
0
0
0
0
0
0
6
-59
-11
25
64
33
0
0
0
4
0
0
0
0
0
0
-10
-2
29
19
58
3
-39
0
0
0
-54
1
0
0
0
0
0
0
20
19
53
-27
20
5
19
-61
131
11
-6
0
0
0
0
0
0
-4
25
-47
-4
-17
75
-4
51
-43
15
1
-1
0
0
0
0
0
0
1
-37
-2
61
61
33
-66
7
60
-3
0
0
0
0
0
0
0
-11
-15
-4
23
127
-39
-24
-72
17
0
0
0
0
0
0
0
1
3
46
-9
-37
-78
51
29
0
-13
10
0
0
0
0
0
0
0
0
0
-34
26
-21
-9
-16
8
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
5
0
0
0
0
0
0
0
0
25
27
-24
-36
-53
53
0
0
0
-25
1
0
0
0
0
0
0
-24
10
-3
14
57
-32
0
0
0
20
-14
0
0
0
0
0
0
4
58
0
69
26
80
142
-23
59
-3
-5
0
0
0
0
0
-3
11
-19
9
53
-55
74
-1
14
14
-2
0
0
0
0
0
0
0
27
15
11
-14
3
-5
15
-33
-4
26
-2
0
0
0
0
0
-1
0
-2
43
26
-15
-4
30
-8
-112
-6
0
0
0
0
0
0
0
0
4
-23
54
24
-10
40
22
-18
8
0
0
0
0
0
0
0
-3
0
-6
-26
-3
-18
-25
-5
61
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-14
-4
0
0
0
0
0
0
0
0
25
-23
23
5
45
0
0
0
-55
0
0
0
0
0
0
0
-1
-31
-14
8
-68
16
0
0
0
-1
-1
0
0
0
0
0
0
3
-17
23
29
-59
-33
37
-10
-10
-8
-44
0
0
0
0
0
0
9
-21
-14
58
39
15
-90
-83
-20
-4
-1
0
0
0
0
0
0
0
3
10
-25
5
91
-34
7
-40
48
-7
0
0
0
0
0
0
0
-32
-2
-36
-5
9
80
-33
23
27
0
0
0
0
0
0
0
0
2
9
19
-17
-8
12
-80
-10
-45
0
0
0
0
0
0
0
0
-1
0
6
-11
-6
-17
9
-71
40
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
-41
26
0
0
0
-45
-31
0
0
0
0
0
0
0
0
0
-3
6
-27
15
38
-45
6
-17
-1
0
0
0
0
0
0
0
0
-1
-1
-22
-8
-24
-1
5
0
0
0
0
0
0
0
0
0
0
0
-4
5
47
8
-16
-5
17
0
0
0
0
0
0
0
0
0
0
-1
0
28
-23
-9
2
-13
0
0
0
0
0
0
0
0
0
-1
0
1
-2
-17
2
15
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
11
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
19
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
9
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
6
0
-26
31
43
5
-86
22
0
0
0
0
0
0
0
0
0
0
-8
-23
18
10
18
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
-19
50
2
43
-26
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
68
11
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
1
0
11
-4
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
16
0
0
0
0
0
0
0
0
0
1
-21
2
1
2
-16
0
0
0
0
0
0
0
0
0
0
0
25
15
25
-11
-13
41
0
0
0
0
0
0
0
0
0
0
0
10
-24
-15
-7
-59
14
13
-79
19
0
0
0
0
0
0
0
0
0
1
-6
-99
56
-94
42
73
155
0
0
0
0
0
0
0
0
0
0
11
-53
-3
15
15
93
-65
0
0
0
0
0
0
0
0
0
0
-10
-24
-21
-14
-16
1
36
0
0
0
0
0
0
0
0
0
10
2
-14
16
-17
71
-30
45
0
0
0
0
0
0
0
0
0
0
0
0
-16
29
-44
-4
-19
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
0
14
5
-2
0
0
0
17
0
0
0
0
0
0
0
-2
18
-18
-71
62
47
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-13
-11
-17
31
2
37
2
0
0
0
0
0
0
0
0
0
0
-2
14
75
-66
74
-17
-14
0
0
0
0
0
0
0
0
0
0
5
114
-32
6
23
-1
-1
0
0
0
0
0
0
0
0
0
0
1
-23
45
-31
-33
-3
0
0
0
0
0
0
0
0
0
0
1
-2
0
-21
-33
74
32
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-26
25
20
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
-3
0
9
-33
9
-1
0
0
0
27
1
0
0
0
0
0
0
0
31
4
11
2
-26
0
0
0
-82
7
0
0
0
0
0
0
0
4
-20
-19
-15
-31
39
8
6
5
0
0
0
0
0
0
0
0
0
0
-1
37
-30
9
94
10
5
0
0
0
0
0
0
0
2
0
0
0
-6
-63
-32
-26
10
2
0
0
0
0
0
0
0
0
0
0
-9
2
-23
-4
-24
13
-17
1
0
0
0
0
0
0
0
0
0
0
-5
1
-3
13
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
15
-2
2
-13
3
29
0
0
0
20
0
0
0
0
0
0
0
-10
11
19
22
-36
-43
0
0
0
-6
-3
0
0
0
0
0
0
0
-2
-19
-76
-1
0
89
24
-50
0
0
0
0
0
0
0
0
3
0
-4
-1
-6
-24
-110
9
-23
25
0
0
0
0
0
0
0
-14
2
0
0
0
36
5
44
-27
0
0
0
0
0
0
0
0
0
0
0
-4
-23
-9
-73
14
-7
0
0
0
0
0
0
0
0
0
0
2
23
-18
-15
-57
53
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-44
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
-2
10
21
-14
44
0
0
0
0
1
0
0
0
0
0
0
-1
4
107
26
72
-138
0
0
0
-4
0
0
0
0
0
0
0
10
24
55
-42
6
-39
-100
-10
93
0
6
0
0
0
0
0
0
-21
1
-7
20
-8
28
-35
31
-114
-2
0
0
0
0
0
0
0
2
24
1
5
0
0
66
77
-23
-2
0
0
0
0
0
0
0
0
0
4
0
-3
23
-40
-52
5
-2
0
0
0
0
0
0
0
0
0
0
-9
-16
-33
-17
51
-34
3
0
0
0
0
0
0
0
0
0
-4
0
-6
-1
46
9
78
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-31
-2
0
0
0
0
0
0
0
0
-3
2
-17
55
-1
-34
0
0
0
0
0
0
0
0
0
0
0
0
-17
-51
37
4
-3
0
0
0
24
0
0
0
0
0
0
0
5
0
-17
-13
23
-118
24
50
-25
-3
1
0
0
0
0
0
0
0
2
32
-3
-21
26
75
-42
-10
-8
-1
0
0
0
0
0
0
-1
10
-9
26
0
0
3
-56
-5
0
0
0
0
0
0
0
0
5
23
-13
27
-11
3
43
11
13
5
0
0
0
0
0
0
0
-2
-5
-15
0
13
-63
43
-9
93
-11
0
0
0
0
0
0
0
0
0
0
-7
2
-4
-32
17
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
21
0
0
0
0
0
0
0
3
0
-15
-9
-23
-4
28
0
0
0
-16
0
0
0
0
0
0
0
29
-52
36
-35
-43
54
0
0
0
-21
0
0
0
0
0
0
0
-53
76
-32
31
9
14
-51
14
50
1
1
0
0
0
0
0
1
-1
71
11
107
66
48
59
54
105
9
0
0
0
0
0
0
0
-44
-2
0
-54
51
-6
0
-43
142
-9
0
0
0
0
0
0
0
1
24
14
14
-60
33
-25
-51
24
32
0
0
0
0
0
0
0
0
1
-1
18
-29
-18
-51
-3
5
-11
0
0
0
0
0
0
0
0
0
-5
0
-26
-31
53
-31
-5
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
11
2
-10
61
18
0
0
0
-3
0
0
0
0
0
0
0
1
15
-22
-55
53
-38
0
0
0
30
-6
0
0
0
0
0
0
11
0
36
27
-10
-43
79
-33
32
18
-1
0
0
0
0
0
0
-5
37
-13
21
50
-12
43
-44
-20
-48
0
4
0
0
0
0
0
8
0
18
-25
46
43
-19
0
-1
2
3
0
0
0
0
0
0
14
9
-34
-21
-54
2
18
13
-92
-25
0
-4
0
0
0
0
0
0
-5
-53
53
-23
37
-33
1
35
0
0
0
0
0
0
0
0
0
0
7
39
17
-51
90
45
-81
11
0
0
0
0
0
0
0
0
0
0
0
-1
3
13
-26
14
0
0
0
0
0
0
0
0
8
-24
-4
27
34
9
0
0
0
48
-1
0
0
0
0
0
0
-5
-18
32
1
-50
-46
0
0
0
-13
3
0
0
0
0
0
0
4
44
-2
-11
8
-7
-48
26
52
-34
2
0
0
0
0
0
0
0
-14
-48
-8
59
42
-14
-12
-68
31
-5
0
0
0
0
0
0
0
27
46
14
-72
13
9
-4
0
-17
0
0
0
0
0
0
0
0
24
13
-9
-20
11
53
-2
0
-1
0
0
0
0
0
0
0
0
-3
-1
46
-19
-1
-26
-87
-31
3
0
0
0
0
0
0
0
18
0
6
0
44
0
3
17
26
56
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
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
9
18
0
0
0
32
-9
0
0
0
0
0
0
0
0
0
3
54
-10
-8
33
-55
7
-49
0
0
0
0
0
0
0
0
0
1
0
15
-52
-57
16
-8
2
-2
0
0
0
0
0
0
0
0
6
-7
0
14
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
8
17
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-11
-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
0
-3
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
7
0
0
0
0
16
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
-6
5
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-24
2
-2
6
-16
0
0
0
0
0
0
0
0
0
0
0
5
-8
-7
-8
-5
41
0
0
0
0
0
0
0
0
0
0
0
0
54
25
32
-39
22
0
0
0
0
0
0
0
0
0
0
0
-1
11
32
5
100
39
0
0
0
0
0
0
0
0
0
0
0
0
5
53
61
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
-2
2
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
0
-1
15
-17
-8
-15
5
0
0
0
0
0
0
0
0
0
0
0
0
16
-30
7
-43
-17
0
0
0
0
0
0
0
0
0
0
0
0
-34
-14
3
80
5
86
33
-5
0
0
0
0
0
0
0
0
-3
13
7
99
52
-73
-46
-70
-58
0
0
0
0
0
0
0
0
0
0
13
25
45
26
-3
-51
-8
0
0
0
0
0
0
0
0
0
0
-2
25
0
57
28
-59
-17
0
0
0
0
0
0
0
0
0
0
6
-31
-6
11
-80
14
2
0
0
0
0
0
0
0
0
0
0
0
0
1
31
3
-14
71
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
24
-3
0
0
0
0
0
0
0
0
-7
0
10
24
14
2
0
0
0
19
0
0
0
0
0
0
0
0
-6
-7
-45
14
-21
0
0
0
23
0
0
0
0
0
0
0
-18
-10
-7
16
-15
0
31
29
-18
-8
0
0
0
0
0
0
0
0
4
58
-20
-1
33
-59
-19
-26
-1
0
0
0
0
0
0
0
0
0
0
23
-14
-77
-23
12
-9
-2
0
0
0
0
0
0
0
0
0
0
3
14
-6
77
-26
53
2
0
0
0
0
0
0
0
0
0
0
0
0
19
24
11
33
13
0
0
0
0
0
0
0
0
0
0
0
0
3
4
32
35
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
79
22
0
-26
0
0
0
-82
-1
0
0
0
0
0
0
0
4
0
-15
5
-31
5
-20
18
-6
0
0
0
0
0
0
0
0
-3
-3
2
5
43
-39
14
1
-1
1
0
0
0
0
0
0
-2
0
0
0
-6
-5
-35
-33
-16
0
-3
0
0
0
0
0
0
0
0
0
0
6
-46
-2
18
5
-1
0
0
0
0
0
0
0
0
0
0
2
11
1
0
-45
0
17
0
0
0
0
0
0
0
0
0
0
0
-2
-2
23
-15
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
-34
-17
0
14
0
0
0
0
0
0
0
0
0
0
0
6
-13
-24
-20
11
2
0
0
0
10
-4
0
0
0
0
0
0
3
2
-4
18
-11
79
56
93
-33
0
0
0
0
0
0
0
0
-10
1
0
-25
5
-14
40
-55
-56
3
0
0
0
0
0
0
0
4
17
-1
0
-36
-17
-10
20
-39
0
0
0
0
0
0
0
0
-4
-5
-1
0
0
-34
77
25
-5
0
0
0
0
0
0
0
0
0
0
0
0
-20
45
21
-39
31
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-17
-53
-32
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
4
-11
57
20
63
-32
0
0
0
0
0
0
0
0
0
0
5
6
-31
16
13
14
-11
0
0
0
-10
0
0
0
0
0
0
0
-2
-14
61
25
-51
20
68
-41
-43
0
0
0
0
0
0
0
0
5
14
5
-57
-27
89
-29
45
-10
-1
0
0
0
0
0
0
0
-3
-5
8
32
3
50
16
31
-12
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
43
0
41
0
0
0
0
0
0
0
0
0
0
-8
0
2
-24
-20
45
-33
0
0
0
0
0
0
0
0
0
0
0
0
-1
-34
-13
-5
-52
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
-1
0
0
0
0
0
0
0
0
2
26
16
90
-58
79
0
0
0
-1
0
0
0
0
0
0
0
-5
-15
-35
-9
75
-38
0
0
0
8
0
0
0
0
0
0
0
2
16
-19
48
-34
14
-76
0
-40
5
0
0
0
0
0
0
0
-7
2
-27
-14
-31
21
-62
-14
-23
2
0
0
0
0
0
0
0
-5
-35
-24
11
77
0
14
-25
86
6
0
0
0
0
0
0
0
0
8
-41
-35
0
0
-1
-34
-23
-2
0
0
0
0
0
0
0
0
0
2
22
1
2
-26
3
-44
4
0
0
0
0
0
0
0
0
0
-1
0
4
0
6
-33
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
0
7
-3
-8
34
-26
33
-37
0
0
0
-20
0
0
0
0
0
0
-1
-1
17
-5
-80
44
29
0
0
0
14
0
0
0
0
0
0
0
-41
1
16
-51
-16
-12
-28
59
-52
-5
-1
0
0
0
0
0
0
11
90
10
-15
-3
-50
-28
-34
-60
-13
1
0
0
0
0
0
0
-25
-4
-10
33
56
68
20
0
-33
-2
0
0
0
0
0
0
3
5
-24
-8
3
-27
2
0
0
-14
-2
0
0
0
0
0
0
0
0
-5
75
-10
-80
-16
5
25
92
-5
0
0
0
0
0
0
0
0
0
0
4
9
-11
-33
52
25
35
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
23
-10
22
-46
-53
0
0
0
1
0
0
0
0
0
0
-1
43
-26
58
103
4
63
0
0
0
-54
0
0
0
0
0
0
0
-9
2
65
14
62
153
-75
-72
11
-23
1
0
0
0
0
0
0
-8
-5
25
5
-42
33
-27
24
-59
-4
0
0
0
0
0
0
0
-5
-47
7
-37
44
108
-35
-9
-87
8
0
0
0
0
0
0
0
0
7
-13
7
-47
-53
5
0
0
-1
0
0
0
0
0
0
0
0
9
-14
27
-30
74
-58
3
-21
-1
-2
0
0
0
0
0
0
0
0
23
1
-7
8
41
-2
4
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
81
18
0
0
0
0
0
0
0
0
0
0
9
-52
-53
-54
0
0
0
-33
0
0
0
0
0
0
0
0
43
2
10
-43
-49
0
0
0
-47
-13
0
0
0
0
0
0
0
0
-1
5
74
8
3
16
-62
-96
-2
0
0
0
0
0
0
0
-23
-3
-44
50
-35
59
-8
-32
18
-2
0
0
0
0
0
0
0
5
-2
-10
-1
41
-52
-5
0
60
0
0
0
0
0
0
0
0
-15
-10
31
-73
58
-85
-7
0
0
0
0
0
0
0
0
0
0
0
4
25
89
37
-9
-26
4
-1
0
0
0
0
0
0
0
0
0
-1
-27
-33
57
5
-1
-74
-18
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
-2
5
0
0
0
0
0
0
0
0
0
0
-7
-21
0
0
0
-2
-25
0
0
0
0
0
0
0
0
0
-3
50
18
2
-106
-19
34
7
0
0
0
0
0
0
0
0
0
0
20
23
4
30
-15
-2
3
0
0
0
0
0
0
0
0
0
0
-2
19
26
25
11
0
20
0
0
0
0
0
0
0
0
0
0
-10
1
14
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
31
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
46
-1
-3
-37
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-51
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
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
-27
16
13
0
0
0
0
0
0
0
0
0
0
0
0
-2
-39
4
45
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
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
-11
0
0
0
0
0
0
0
0
0
0
9
-7
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-2
20
-2
-6
-9
0
0
0
0
0
0
0
0
0
0
0
3
44
45
-51
11
31
-3
71
-10
0
0
0
0
0
0
0
0
0
0
-7
-2
-26
-158
34
-8
-25
0
0
0
0
0
0
0
0
0
-6
0
-26
-25
-4
9
-29
-33
0
0
0
0
0
0
0
0
0
0
0
-6
-71
-72
-16
-1
-25
0
0
0
0
0
0
0
0
0
0
-7
33
-20
71
26
-96
-37
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
14
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-53
-6
0
0
0
0
0
0
0
0
0
1
0
-9
-2
0
0
0
0
2
0
0
0
0
0
0
0
2
1
18
21
-2
3
0
0
0
-8
0
0
0
0
0
0
0
0
1
-3
-1
-15
-1
11
-22
70
-5
0
0
0
0
0
0
0
0
0
29
-14
-26
-47
7
31
21
0
0
0
0
0
0
0
0
0
5
-26
-10
-23
-19
56
-4
14
0
0
0
0
0
0
0
0
0
0
0
-1
-23
10
-7
24
13
-1
0
0
0
0
0
0
0
0
0
0
0
11
15
-5
135
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-48
8
5
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
-33
-5
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
20
1
-23
-1
-7
-4
1
0
0
0
0
0
0
0
0
0
0
7
-44
15
13
-39
-10
-1
0
0
0
0
0
0
0
0
0
-2
-11
-8
13
-5
49
0
0
0
0
0
0
0
0
0
0
0
0
-2
26
-2
60
-33
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
8
11
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
31
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
6
-16
-43
0
0
0
-13
5
0
0
0
0
0
0
0
-4
2
23
69
-36
78
-14
-43
0
-1
0
0
0
0
0
0
0
0
4
32
2
-20
-57
6
7
0
0
0
0
0
0
0
0
0
4
-13
-36
-14
-10
20
-97
-13
0
0
0
0
0
0
0
0
0
1
-3
0
26
51
-107
35
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
8
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-9
-20
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
26
0
0
0
0
0
0
0
0
0
4
13
32
-3
-7
0
0
0
3
0
0
0
0
0
0
0
0
-3
3
25
10
61
0
0
0
-18
0
0
0
0
0
0
0
0
3
9
-61
-1
-46
71
-48
-72
0
0
0
0
0
0
0
0
0
5
57
36
-10
-43
-48
-42
29
0
0
0
0
0
0
0
0
4
0
-5
-33
11
-33
-52
-53
-9
0
0
0
0
0
0
0
0
0
0
9
4
0
72
-23
-83
90
-3
0
0
0
0
0
0
0
0
2
-1
0
0
0
33
0
-9
0
0
0
0
0
0
0
0
2
2
-1
0
2
6
-41
-14
61
-4
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
21
1
0
0
0
0
0
0
0
0
0
0
11
-10
-23
25
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
76
-106
19
0
0
0
3
-1
0
0
0
0
0
0
0
1
61
37
-62
-3
43
-53
-73
0
0
0
0
0
0
0
0
0
9
-45
15
60
43
-28
-101
-58
0
0
0
0
0
0
0
0
-1
-5
-23
24
-50
53
12
121
-43
0
0
0
0
0
0
0
0
0
0
-14
7
-43
6
5
58
-72
-1
0
0
0
0
0
0
0
0
-3
-17
-3
-1
0
-1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
133
135
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
-20
0
0
0
0
0
0
0
0
-2
46
-4
-19
-45
41
0
0
0
43
0
0
0
0
0
0
0
0
14
-9
9
108
80
0
0
0
54
0
0
0
0
0
0
-4
2
-5
-32
-9
50
-101
-24
-10
-92
1
-5
0
0
0
0
0
8
25
35
54
-8
-33
1
59
2
12
11
0
0
0
0
0
0
0
-8
9
6
26
41
4
10
-23
13
-5
0
0
0
0
0
0
0
2
-21
-37
-18
156
-33
20
6
-45
20
0
0
0
0
0
0
0
0
2
4
34
-6
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-4
-13
-19
-32
0
26
-4
59
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
14
0
-2
0
0
0
0
0
0
0
4
-14
-37
13
30
79
0
0
0
-21
2
0
0
0
0
0
0
9
-43
-33
-46
-97
34
0
0
0
-55
2
0
0
0
0
0
0
2
-23
31
-41
-14
-46
116
-31
3
-7
-22
0
0
0
0
0
0
15
16
-21
90
-80
-79
5
-63
-53
10
3
0
0
0
0
0
0
24
-71
-62
69
2
-33
-41
55
-39
6
-2
0
0
0
0
0
0
2
-5
-52
-24
103
-30
-52
-2
-20
-3
0
0
0
0
0
0
0
5
0
-18
33
40
-39
6
0
1
1
0
0
0
0
0
0
0
0
-1
27
11
-8
17
45
0
20
63
-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
6
0
0
0
-12
-3
0
0
0
0
0
0
-3
7
9
-36
-7
-13
0
0
0
33
-2
-1
0
0
0
0
0
0
23
34
90
2
18
25
-104
4
34
1
0
0
0
0
0
0
0
2
-8
31
-46
24
68
23
5
67
-1
0
0
0
0
0
0
0
-26
-52
64
45
29
-14
-106
-2
26
1
0
0
0
0
0
0
0
-2
26
-20
106
-48
65
-14
0
-43
0
0
0
0
0
0
0
0
-1
2
-2
20
4
-17
1
0
0
0
0
0
0
0
0
0
0
-1
-15
16
-19
5
-7
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
-4
-1
0
0
0
3
-26
0
0
0
0
0
0
0
0
0
-10
1
-15
0
0
0
-64
-124
0
0
0
0
0
0
0
0
0
0
24
-11
-53
45
-23
1
-54
0
0
0
0
0
0
0
0
0
2
0
-11
-14
78
-46
43
4
2
0
0
0
0
0
0
0
2
0
4
45
-41
-25
26
-1
1
0
0
0
0
0
0
0
0
0
0
4
2
-15
23
-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
-33
2
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-34
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
-9
31
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-30
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
-1
6
8
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
1
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
14
6
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
-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
31
0
0
0
0
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
7
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-3
1
15
2
0
0
0
0
0
0
0
0
0
0
4
6
-11
36
15
75
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
5
-36
0
2
0
0
0
0
0
0
0
0
0
0
0
11
2
5
19
-24
3
0
0
0
0
0
0
0
0
0
0
-4
1
6
8
4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
43
29
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
0
0
0
0
0
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
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
4
-7
7
53
0
9
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
29
34
43
3
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
-9
29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
49
-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
31
3
5
-4
0
0
0
0
0
0
0
0
0
-2
0
-25
-2
2
-8
0
5
0
0
0
0
0
0
0
0
0
9
27
-1
-9
5
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
61
10
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-33
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
10
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
-9
0
-36
-4
-13
5
16
3
0
0
0
0
0
0
0
0
0
-9
0
34
-43
-6
30
11
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-46
-50
35
15
0
0
0
0
0
0
0
0
0
0
0
0
29
-25
11
-34
-6
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
13
0
0
0
0
0
0
0
0
0
2
0
-3
0
6
0
0
0
11
0
0
0
0
0
0
0
0
1
7
0
-4
43
0
0
0
2
0
0
0
0
0
0
0
0
-3
-15
-20
2
-17
2
-37
46
0
0
0
0
0
0
0
0
2
2
5
15
-52
58
14
22
-1
0
0
0
0
0
0
0
0
0
0
0
-32
33
-36
-46
-9
-20
2
0
0
0
0
0
0
0
0
0
10
-6
18
1
50
1
17
-3
0
0
0
0
0
0
0
0
1
-4
-2
0
-23
10
7
26
1
0
0
0
0
0
0
0
0
0
9
0
0
0
-5
-13
-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
-21
4
-8
34
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
-21
25
-14
11
-52
-29
0
0
0
0
0
0
0
0
0
0
3
-2
53
10
73
4
-82
5
0
0
0
0
0
0
0
5
1
2
4
19
27
-38
-43
13
0
0
0
0
0
0
0
0
0
-1
-3
10
-16
-77
-71
0
9
0
0
0
0
0
0
0
0
0
0
5
17
7
0
11
29
-15
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
0
0
0
0
6
19
13
0
0
0
0
0
0
0
0
0
1
5
7
0
44
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
-71
-1
0
0
0
18
0
0
0
0
0
0
0
0
0
-7
24
-10
25
-31
-17
40
0
0
0
0
0
0
0
0
0
-3
1
5
-6
-49
85
19
-14
-3
0
0
0
0
0
0
0
-2
-2
-10
16
5
20
-40
-59
19
3
0
0
0
0
0
0
0
0
0
2
105
28
-158
27
2
-7
-8
0
0
0
0
0
0
0
0
8
3
-53
8
33
0
-33
-34
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
-17
1
0
0
0
0
0
0
0
0
8
24
-14
-14
-45
0
0
0
-21
5
0
0
0
0
0
0
9
-4
71
-15
-21
25
0
0
0
0
0
0
0
0
0
0
0
4
-21
-13
31
47
-22
-7
17
-67
10
0
0
0
0
0
0
0
-6
-4
-5
-45
-19
43
-104
23
90
-1
-2
0
0
0
0
0
0
0
9
1
-31
59
26
1
-16
-3
7
0
0
0
0
0
0
0
0
6
-32
-52
14
-57
-62
6
-17
-3
0
0
0
0
0
0
0
0
11
-21
-126
-7
14
-29
-1
106
6
0
0
0
0
0
0
0
0
0
-6
13
-1
-11
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
-36
-10
0
0
0
0
0
0
0
4
0
0
-7
-25
0
0
0
-53
-1
0
0
0
0
0
0
0
-5
5
2
-75
-29
50
1
-3
-45
3
0
0
0
0
0
0
0
0
-11
-6
25
-6
80
22
33
-26
-1
0
0
0
0
0
0
0
0
34
-1
-5
-44
39
-67
8
72
0
0
0
0
0
0
0
0
0
6
-3
-21
63
-79
-8
-6
16
0
0
0
0
0
0
0
0
0
-3
-1
17
29
73
26
0
-26
0
0
0
0
0
0
0
0
0
0
-1
-10
-2
-23
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-22
1
0
0
0
0
0
0
0
0
0
-2
-1
-2
9
18
3
9
0
0
0
0
0
0
0
0
0
0
0
-14
-11
-4
-28
2
1
0
0
0
0
0
0
0
0
0
0
0
2
8
-16
-8
-2
-73
0
0
0
0
0
0
0
0
0
0
9
1
11
-14
-31
0
-23
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
10
0
-2
0
13
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
-29
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
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
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-24
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
1
0
0
8
0
0
0
0
0
0
0
0
0
0
-4
-52
-5
-27
45
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-1
27
-66
-5
11
-19
0
0
0
0
0
0
0
0
0
0
0
0
1
11
-34
0
11
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
8
1
-26
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
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
-21
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
-8
2
84
0
80
0
0
0
0
0
0
0
0
0
0
0
2
0
-33
5
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
64
36
9
0
-18
0
0
0
0
0
0
0
0
0
0
0
16
0
1
-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
4
0
0
0
24
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
34
14
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-10
-14
-16
6
-5
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
-43
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
-24
-2
0
0
0
0
0
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
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
0
0
0
0
0
0
11
0
0
0
0
0
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
-64
56
-2
80
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-32
14
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-1
-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
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
86
25
8
5
7
0
0
0
0
0
0
0
0
0
0
0
-56
29
-16
-69
-2
-18
1
0
0
0
0
0
0
0
0
0
-2
23
57
15
-46
-13
9
-1
-9
0
0
0
0
0
0
0
0
20
-37
48
5
5
8
0
0
-5
0
0
0
0
0
0
0
0
0
-6
2
-1
0
-6
16
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
27
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
21
0
-14
-6
-2
-3
2
0
0
0
0
0
0
0
0
0
0
-16
64
49
6
71
31
-3
-6
0
0
0
0
0
0
0
0
1
-53
83
-76
5
17
4
19
0
0
0
0
0
0
0
0
0
0
-59
101
-5
85
-3
31
2
0
-17
0
0
0
0
0
0
0
0
4
-4
46
6
-10
2
-3
0
0
0
0
0
0
0
0
0
0
5
-5
0
-11
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
-17
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
25
2
0
-21
23
84
-25
0
3
0
0
0
0
0
0
0
0
-5
3
-5
4
-12
-23
0
3
9
0
0
0
0
0
0
0
0
7
-2
25
-25
-31
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
39
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
41
-16
-14
-32
10
31
-1
3
0
0
0
0
0
0
0
0
5
-1
5
-2
7
-1
-2
35
0
0
0
0
0
0
0
0
0
-17
0
-3
6
17
-11
-2
0
-6
0
0
0
0
0
0
0
0
25
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
-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
3
3
-25
-14
0
0
46
2
0
0
0
0
0
0
0
0
0
10
-45
14
29
-1
-11
8
0
0
0
0
0
0
0
0
0
0
-23
45
15
-26
4
18
-9
16
0
0
0
0
0
0
0
0
0
-17
-10
-1
6
-2
0
0
9
-2
1
0
0
0
0
0
0
0
-6
4
-52
5
2
-7
0
0
0
0
0
0
0
0
0
0
0
15
-69
6
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
24
14
-7
-1
2
-1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
45
23
-8
0
0
0
0
0
0
0
0
0
0
0
0
-57
-35
-33
-19
11
11
0
7
0
0
0
0
0
0
0
0
0
10
-33
19
53
-25
-7
-18
-2
0
0
0
0
0
0
0
0
21
89
21
-31
-46
10
4
-11
-5
0
0
0
0
0
0
0
0
-7
7
56
7
16
5
5
0
2
0
0
0
0
0
0
0
0
-3
-19
-44
1
4
53
0
0
0
0
0
0
0
0
0
0
0
2
-71
6
4
7
-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
35
-25
151
23
-32
34
-29
0
0
0
0
0
0
0
0
0
0
-10
-2
-28
-6
79
-5
-21
4
1
0
0
0
0
0
0
0
0
-4
105
10
79
3
7
6
-4
6
8
0
0
0
0
0
0
0
14
-48
-77
-15
41
4
-9
6
0
4
0
0
0
0
0
0
0
71
67
-59
83
19
6
23
6
0
0
0
0
0
0
0
0
0
-16
50
48
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
14
-10
-2
0
-5
6
0
-1
0
0
0
0
0
0
0
0
1
-34
-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
35
-57
-23
-22
10
-32
0
0
0
0
0
0
0
0
0
0
-2
-13
68
14
5
-18
-36
-9
5
0
0
0
0
0
0
0
0
-2
73
11
-68
1
-64
-11
-1
0
0
0
0
0
0
0
0
0
64
-23
-25
-64
6
-9
14
20
0
-2
0
0
0
0
0
0
0
-26
2
-66
0
-9
86
3
0
-6
0
0
0
0
0
0
0
0
-7
5
-78
-33
7
8
0
0
0
0
0
0
0
0
0
0
0
46
26
-26
-8
14
-3
15
0
0
0
0
0
0
0
0
0
0
43
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
4
48
-16
-36
7
-2
0
0
0
0
0
0
0
0
0
0
0
15
14
57
-33
-46
-10
1
-2
0
0
0
0
0
0
0
0
0
-9
-31
-2
43
8
13
-1
2
0
0
0
0
0
0
0
0
0
-6
-26
23
-2
26
-2
2
0
0
0
0
0
0
0
0
0
0
-2
-14
44
-6
-14
-7
0
0
0
0
0
0
0
0
0
0
0
19
0
-25
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
10
-17
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
-9
-21
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
-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
30
-6
-20
14
-1
0
7
-1
0
0
0
0
0
0
0
0
0
-11
-3
43
-16
21
-25
0
0
0
0
0
0
0
0
0
0
0
58
17
38
-20
-13
-7
0
0
0
0
0
0
0
0
0
0
0
-6
-8
9
10
-1
-2
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
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
90
-29
5
-81
-4
-3
-2
0
0
0
0
0
0
0
0
0
-32
-69
5
12
-96
19
20
-3
0
0
0
0
0
0
0
0
0
5
72
6
-59
52
31
-19
2
5
1
0
0
0
0
0
0
0
10
-5
-76
-28
0
-3
80
-1
0
0
0
0
0
0
0
0
0
0
60
-9
-66
46
-3
31
0
0
0
0
0
0
0
0
0
0
21
-3
-5
-1
2
1
0
-4
1
0
0
0
0
0
0
0
0
-2
-57
-1
-2
0
0
0
0
15
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
9
-5
1
-21
23
7
1
-17
0
0
0
0
0
0
0
0
0
2
23
52
-8
-6
-2
-1
6
8
0
0
0
0
0
0
0
0
0
47
-40
13
-23
-49
-8
-27
6
-10
0
0
0
0
0
0
0
-3
43
-43
-56
-13
61
2
-5
0
-3
0
0
0
0
0
0
0
0
25
45
0
59
-7
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
24
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
-13
27
-34
-5
0
7
0
0
0
0
0
0
0
0
0
-4
5
15
-8
-16
24
-18
-33
-1
0
0
0
0
0
0
0
0
-3
7
8
28
-5
25
4
-5
-2
0
0
0
0
0
0
0
0
-2
0
-53
25
-71
30
46
0
6
0
0
0
0
0
0
0
0
0
-2
32
26
1
-3
0
0
-1
0
0
0
0
0
0
0
0
4
3
0
13
-17
-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
14
53
6
-11
14
76
11
0
0
0
0
0
0
0
0
0
-14
-41
-48
-8
10
16
78
-5
7
0
0
0
0
0
0
0
0
8
22
-32
27
-43
1
14
-31
5
0
0
0
0
0
0
0
0
14
-25
-15
35
1
1
-4
2
0
0
0
0
0
0
0
0
0
-6
-14
5
2
5
-7
2
0
-1
-2
0
0
0
0
0
0
0
-44
-5
-48
6
-3
3
1
0
2
0
0
0
0
0
0
0
0
6
-19
-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
47
74
43
-32
6
18
-6
0
0
0
0
0
0
0
0
0
34
10
33
-24
21
29
-4
0
-27
0
0
0
0
0
0
0
0
9
29
86
27
58
24
-14
-8
0
0
0
0
0
0
0
0
0
32
89
10
45
2
-13
15
-2
0
0
0
0
0
0
0
0
0
22
24
9
15
-43
5
4
3
0
0
0
0
0
0
0
0
0
-6
25
13
3
0
-1
-1
1
-3
0
0
0
0
0
0
0
0
-24
-53
9
-5
-9
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
25
-31
88
62
-22
23
8
11
0
0
0
0
0
0
0
0
0
-26
43
20
52
-36
59
7
31
5
10
0
0
0
0
0
0
0
4
-1
110
-24
-23
25
-24
9
-33
-1
0
0
0
0
0
0
0
-25
21
36
21
-7
-45
29
-10
0
0
0
0
0
0
0
0
0
-10
-53
-71
56
7
29
-2
-2
15
0
0
0
0
0
0
0
0
32
34
-37
-23
-9
19
-2
26
0
0
0
0
0
0
0
0
0
-5
17
15
-14
9
-2
-1
4
-1
0
0
0
0
0
0
0
0
0
47
-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
43
-8
83
42
-13
22
-9
-14
0
0
0
0
0
0
0
0
0
38
20
22
22
117
11
-14
-3
66
0
0
0
0
0
0
0
0
185
49
64
49
118
-11
2
25
26
-2
0
0
0
0
0
0
0
-19
-64
21
61
24
27
19
19
-45
-7
0
0
0
0
0
0
0
72
50
15
-28
-21
-16
58
3
0
-6
0
0
0
0
0
0
0
-32
-32
33
-1
47
15
-6
-6
2
0
0
0
0
0
0
0
0
54
32
-34
7
-24
-5
0
8
-1
0
0
0
0
0
0
0
0
4
-43
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
14
13
8
84
-33
78
88
74
0
0
0
0
0
0
0
0
0
-33
-111
-28
33
-61
56
-13
44
1
0
0
0
0
0
0
0
0
-19
16
81
51
27
-33
20
-20
53
24
0
0
0
0
0
0
0
64
-48
23
-39
-14
-59
44
52
-1
8
0
0
0
0
0
0
0
-31
6
-27
-28
-53
38
-10
4
7
-1
0
0
0
0
0
0
0
4
-8
-13
-62
49
14
14
0
5
-2
0
0
0
0
0
0
0
8
-17
-58
-7
-53
5
-6
6
4
0
0
0
0
0
0
0
0
2
-81
62
59
6
-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
-12
-13
-46
23
23
62
81
0
0
0
0
0
0
0
0
0
0
-5
57
-28
-13
-111
5
-68
46
0
0
0
0
0
0
0
0
0
-5
21
116
39
-31
-95
83
68
6
0
0
0
0
0
0
0
0
-6
-30
-69
-20
-11
25
-22
5
-1
0
0
0
0
0
0
0
0
37
-30
-14
69
96
0
-7
7
0
0
0
0
0
0
0
0
0
-35
5
65
-22
90
46
-5
-1
0
0
0
0
0
0
0
0
0
-23
37
28
-34
-6
8
2
1
0
0
0
0
0
0
0
0
0
-19
-15
-11
-20
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
-33
-39
33
20
34
9
0
5
0
0
0
0
0
0
0
0
0
34
44
-14
65
2
-36
-2
-2
0
0
0
0
0
0
0
0
0
36
6
2
-3
-15
14
44
3
0
0
0
0
0
0
0
0
0
43
69
36
25
20
22
7
0
0
0
0
0
0
0
0
0
0
35
-25
93
5
5
1
-2
3
0
0
0
0
0
0
0
0
0
6
21
2
-31
-45
-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
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
3
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
52
31
14
-60
3
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
-16
13
0
-6
0
0
0
0
0
0
0
0
0
0
0
-21
-1
-5
10
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
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
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
9
0
3
-2
0
-2
3
-7
0
0
0
0
0
0
0
0
0
26
13
20
11
1
25
1
-3
0
0
0
0
0
0
0
0
0
0
23
-2
14
11
2
0
-1
0
0
0
0
0
0
0
0
0
-24
77
2
-7
11
-3
3
-3
0
0
0
0
0
0
0
0
0
-14
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
5
34
-21
-6
98
8
4
-8
0
0
0
0
0
0
0
0
0
8
55
84
-30
-29
-22
13
43
-1
0
0
0
0
0
0
0
0
-33
18
-36
81
48
12
-36
-9
1
0
0
0
0
0
0
0
0
-2
-31
-3
-53
81
-37
-20
-16
0
0
0
0
0
0
0
0
0
8
-27
49
-5
-10
-5
-31
1
2
0
0
0
0
0
0
0
0
1
-47
51
29
4
-1
-1
3
1
0
0
0
0
0
0
0
0
0
90
8
6
-5
0
0
2
6
0
0
0
0
0
0
0
0
0
-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
-33
-36
-85
13
-16
26
1
0
0
0
0
0
0
0
0
0
0
16
10
86
-8
30
-21
41
0
0
0
0
0
0
0
0
0
0
51
0
-8
15
-57
9
39
0
-1
0
0
0
0
0
0
0
0
-31
53
-20
-64
47
-10
1
10
-1
0
0
0
0
0
0
0
0
-45
0
-14
6
6
0
-5
-5
0
0
0
0
0
0
0
0
0
-22
5
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
18
-7
0
0
0
-3
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
-1
4
34
7
7
-11
4
-1
0
0
0
0
0
0
0
0
0
29
4
32
23
-11
-26
26
-3
10
0
-1
0
0
0
0
0
0
25
-2
-29
1
-4
0
11
0
-1
-1
0
0
0
0
0
0
0
7
-1
11
-6
5
29
15
0
0
0
0
0
0
0
0
0
0
3
-11
3
-14
7
-7
-2
0
0
-2
0
0
0
0
0
0
0
-1
-4
-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
19
-25
1
17
30
27
1
-4
0
0
0
0
0
0
0
0
0
46
-45
25
6
33
-20
-5
-8
0
0
0
0
0
0
0
0
0
-5
-10
7
67
-4
9
-29
-1
0
0
0
0
0
0
0
0
0
1
22
3
-8
-34
1
-21
7
-3
-2
0
0
0
0
0
0
0
-32
9
-1
13
-10
4
0
0
0
0
0
0
0
0
0
0
0
-30
8
-7
18
-3
-4
2
-2
4
0
0
0
0
0
0
0
0
-34
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
-4
-19
-19
-41
36
36
0
0
0
0
0
0
0
0
0
22
48
74
3
-56
52
68
65
-4
0
0
0
0
0
0
0
0
-18
37
58
63
8
2
42
4
0
0
0
0
0
0
0
0
0
78
-24
-16
42
-25
-32
-1
15
2
0
0
0
0
0
0
0
0
-2
-45
-9
-69
-3
37
7
0
0
0
0
0
0
0
0
0
0
-53
31
44
-5
5
0
0
-8
0
0
0
0
0
0
0
0
0
79
-5
29
21
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
22
-53
16
7
-31
1
0
0
0
0
0
0
0
0
0
-32
4
10
35
-24
9
-31
5
-1
-1
0
0
0
0
0
0
0
-43
20
35
-28
-24
-65
2
39
-7
0
0
0
0
0
0
0
0
16
86
42
16
24
10
11
17
7
2
0
0
0
0
0
0
0
-10
-4
48
88
-1
-8
54
6
0
1
0
0
0
0
0
0
0
-4
14
37
-3
18
29
-15
7
0
0
0
0
0
0
0
0
0
-33
13
31
-6
11
-7
2
0
0
0
0
0
0
0
0
0
0
-7
45
15
3
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
14
-14
-12
52
64
78
55
-48
0
0
0
0
0
0
0
0
0
6
26
5
-14
23
-22
86
51
9
-10
0
0
0
0
0
0
0
-27
-9
33
58
-15
-17
-5
0
-2
0
0
0
0
0
0
0
0
43
60
11
56
15
45
24
-21
2
-1
0
0
0
0
0
0
0
48
-2
-29
-44
53
-3
12
19
6
0
0
0
0
0
0
0
0
-19
-5
-5
1
66
-39
44
-2
-8
1
0
0
0
0
0
0
0
-18
-14
66
-5
-11
-5
-9
1
0
0
0
0
0
0
0
0
0
-25
-10
29
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
90
23
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
3
93
-88
-23
-1
-21
-51
0
0
0
0
0
0
0
0
0
46
50
41
-75
-26
54
-17
-2
-13
8
0
0
0
0
0
0
0
37
-19
-17
-15
-3
24
18
6
0
-9
0
0
0
0
0
0
0
13
105
-76
-58
3
-2
78
26
18
0
0
0
0
0
0
0
0
-23
-8
-1
10
-42
49
-33
-2
8
-9
0
0
0
0
0
0
0
61
-25
158
-24
43
-39
-11
-21
0
1
0
0
0
0
0
0
0
-22
31
82
-34
-58
-19
-18
-11
-4
3
0
0
0
0
0
0
0
9
47
22
27
5
-9
0
1
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
-5
12
-28
20
68
82
-71
0
6
0
0
0
0
0
0
0
0
27
10
-27
-12
48
-48
14
-2
1
1
0
0
0
0
0
0
0
-13
-81
84
-98
2
-36
-19
-14
-1
0
0
0
0
0
0
0
0
-33
35
-26
-22
34
31
-41
-6
1
0
0
0
0
0
0
0
0
9
2
21
133
-16
-1
-17
7
10
0
0
0
0
0
0
0
0
14
-9
29
-9
-46
100
13
7
-4
0
0
0
0
0
0
0
0
-5
-19
-32
30
0
9
1
-1
3
0
0
0
0
0
0
0
0
-9
26
27
-6
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
109
5
-21
41
-29
0
0
0
0
0
0
0
0
0
0
0
0
-32
3
29
-5
-2
27
3
0
2
0
0
0
0
0
0
0
0
73
84
25
65
11
13
11
-2
0
0
0
0
0
0
0
0
0
-23
49
80
-34
16
-26
-1
8
0
0
0
0
0
0
0
0
0
-22
31
-24
30
-26
1
0
0
0
0
0
0
0
0
0
0
0
-19
6
-58
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
24
5
0
3
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
13
-3
2
-19
11
1
0
0
0
0
0
0
0
0
0
0
0
-6
4
-39
-1
10
-1
-1
0
0
0
0
0
0
0
0
0
0
4
-2
43
-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
-10
0
4
-2
5
0
0
-2
0
0
0
0
0
0
0
0
0
13
10
6
0
-2
-5
7
-27
0
0
0
0
0
0
0
0
0
14
24
-9
-5
44
-7
-3
2
0
0
0
0
0
0
0
0
0
0
7
14
-3
-4
-1
0
-3
0
0
0
0
0
0
0
0
0
-81
-21
3
-2
0
-3
-9
0
0
0
0
0
0
0
0
0
0
-2
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
13
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
16
-34
-11
-25
5
-25
0
0
0
0
0
0
0
0
0
0
3
-29
1
80
14
-57
28
65
-11
0
0
0
0
0
0
0
0
103
-71
-46
-11
-59
-31
-14
53
0
0
0
0
0
0
0
0
0
-15
-7
51
56
17
-71
4
35
-2
0
0
0
0
0
0
0
0
-1
-113
-102
23
35
-43
1
0
-8
-9
0
0
0
0
0
0
0
1
-13
15
-5
75
47
-1
-2
-1
0
0
0
0
0
0
0
0
2
91
2
-24
0
3
25
0
0
0
0
0
0
0
0
0
0
0
-27
0
-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
0
0
0
0
0
-1
-5
54
-24
13
13
-14
-1
0
0
0
0
0
0
0
0
0
0
-4
-14
44
102
4
-8
9
-4
0
0
0
0
0
0
0
0
0
-7
-67
-44
-21
-14
-7
5
-3
0
0
0
0
0
0
0
0
0
-98
-1
-43
76
7
-39
-2
0
-5
0
0
0
0
0
0
0
0
-8
16
50
40
-25
-15
0
-5
0
0
0
0
0
0
0
0
0
9
-25
-3
20
47
2
-6
0
0
0
0
0
0
0
0
0
0
65
26
8
-3
0
0
0
-1
0
0
0
0
0
0
0
0
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
2
55
10
14
-2
11
-2
0
0
0
0
0
0
0
0
0
-2
0
-27
3
44
13
29
2
0
0
0
0
0
0
0
0
0
11
-3
-3
41
10
27
25
-9
-2
0
0
0
0
0
0
0
0
55
-18
10
0
8
-18
72
0
-3
0
0
0
0
0
0
0
0
34
-6
-7
3
13
-5
2
-8
-1
0
0
0
0
0
0
0
0
2
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
-6
0
-1
-7
0
5
2
-3
0
0
0
0
0
0
0
0
0
-5
-57
32
-32
20
-8
23
6
-3
0
0
0
0
0
0
0
0
-4
-27
-5
-8
-2
-14
-25
-4
0
0
0
0
0
0
0
0
0
-43
53
33
-45
5
32
-5
1
0
0
0
0
0
0
0
0
0
-17
37
-5
8
4
0
0
0
0
4
0
0
0
0
0
0
0
1
8
-3
-5
3
14
0
0
0
0
0
0
0
0
0
0
0
-3
-19
-1
-14
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
29
66
-53
-43
-58
39
5
0
0
0
0
0
0
0
0
0
69
35
37
-44
21
-2
24
-7
-21
0
0
0
0
0
0
0
0
-41
-35
7
-97
7
-11
-56
-6
1
0
0
0
0
0
0
0
0
27
56
61
-37
6
-1
-11
11
8
0
0
0
0
0
0
0
0
-21
28
-37
-45
108
24
25
7
23
-1
0
0
0
0
0
0
0
35
-58
41
15
14
-18
0
0
0
0
0
0
0
0
0
0
0
5
-7
-32
-13
-2
0
0
-4
0
0
0
0
0
0
0
0
0
26
83
-9
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
24
39
1
-2
-22
-6
-13
-17
0
0
0
0
0
0
0
0
0
-17
-3
-116
5
51
20
-11
11
0
0
0
0
0
0
0
0
0
-3
63
72
62
3
-39
15
-34
45
-1
0
0
0
0
0
0
0
53
57
26
12
33
-17
2
-6
-5
0
0
0
0
0
0
0
0
14
64
73
14
24
2
10
7
10
0
0
0
0
0
0
0
0
-15
11
15
-4
30
18
-35
-5
0
0
0
0
0
0
0
0
0
1
53
-46
14
-4
26
4
-3
5
0
0
0
0
0
0
0
0
45
7
74
25
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
29
78
4
36
-16
62
-17
3
0
0
0
0
0
0
0
0
0
-8
43
19
-34
-42
25
-63
-2
4
0
0
0
0
0
0
0
0
99
2
-5
-13
54
8
-44
21
10
3
0
0
0
0
0
0
0
26
64
-26
129
11
-18
13
1
0
0
0
0
0
0
0
0
0
54
56
72
-18
15
-18
71
-7
-6
0
0
0
0
0
0
0
0
-11
36
7
4
-2
0
29
0
0
0
0
0
0
0
0
0
0
43
4
-18
-5
-8
9
-2
0
-10
0
0
0
0
0
0
0
0
7
25
18
3
1
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
-97
41
-40
-78
10
31
-84
-14
0
0
0
0
0
0
0
0
0
29
9
-24
77
-7
-1
13
46
-34
-5
0
0
0
0
0
0
0
-13
41
-15
26
-82
72
-35
-37
-6
-2
0
0
0
0
0
0
0
44
-126
20
-39
-29
64
47
-53
0
-1
0
0
0
0
0
0
0
-29
-23
-11
41
6
-33
-14
-3
17
0
0
0
0
0
0
0
0
5
21
-14
-18
-46
37
3
13
0
0
0
0
0
0
0
0
0
52
39
8
32
-9
-36
15
6
9
1
0
0
0
0
0
0
0
-3
48
22
-52
20
0
-5
1
2
0
0
0
0
0
0
0
0
35
-19
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-13
20
-45
24
-77
6
0
0
0
0
0
0
0
0
0
0
8
63
42
45
11
82
-20
16
0
0
0
0
0
0
0
0
0
-2
-20
63
32
-10
-6
81
-10
-1
0
0
0
0
0
0
0
0
-3
78
-60
11
-17
13
21
23
0
0
0
0
0
0
0
0
0
-44
-48
-21
78
44
13
13
-77
-2
0
0
0
0
0
0
0
0
-34
-52
72
-103
46
37
6
-53
0
0
0
0
0
0
0
0
0
-58
80
-1
15
-43
-2
1
0
0
0
0
0
0
0
0
0
0
14
58
-29
-8
-18
-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
27
5
-53
5
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
85
122
17
11
-14
0
0
-2
0
0
0
0
0
0
0
0
14
46
16
-18
-5
16
4
-1
0
0
0
0
0
0
0
0
0
-26
16
28
2
6
-5
-1
0
0
0
0
0
0
0
0
0
0
-14
0
21
-20
-29
1
0
0
0
0
0
0
0
0
0
0
0
-9
2
23
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
-25
-2
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-10
-21
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
-10
2
0
5
-14
-6
0
0
0
0
0
0
0
0
0
0
8
14
-18
-5
-3
16
13
0
0
0
0
0
0
0
0
0
0
-10
19
17
-8
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
36
-18
-8
-2
0
-4
-1
0
0
0
0
0
0
0
0
0
10
-10
-19
103
4
0
0
0
0
0
0
0
0
0
0
0
0
2
9
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
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
5
10
-26
46
27
0
0
0
0
0
0
0
0
0
-7
48
-80
-36
52
8
15
20
-6
0
0
0
0
0
0
0
0
-3
43
37
-71
-5
14
-24
25
14
0
0
0
0
0
0
0
0
-1
110
27
14
20
36
67
17
-3
0
0
0
0
0
0
0
0
13
0
-24
-28
-11
-71
53
-7
13
0
0
0
0
0
0
0
0
0
-4
33
-51
61
29
-3
0
0
0
0
0
0
0
0
0
0
2
-46
-6
13
25
-2
-1
1
-1
0
0
0
0
0
0
0
0
0
48
-4
-23
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
-18
-7
10
-29
2
-5
0
0
0
0
0
0
0
0
0
4
-20
-3
-13
7
-35
0
-21
3
0
0
0
0
0
0
0
0
0
-19
-27
77
5
24
-34
-8
0
0
0
0
0
0
0
0
0
0
-53
-19
-14
16
13
-14
-4
0
0
0
0
0
0
0
0
0
0
-38
0
26
118
-8
2
-2
0
0
0
0
0
0
0
0
0
0
-3
55
-7
1
11
0
0
7
0
0
0
0
0
0
0
0
0
-13
-8
-20
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-42
19
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
-11
-66
52
-13
37
53
5
0
0
0
0
0
0
0
0
0
3
7
10
3
-45
2
9
-8
0
0
0
0
0
0
0
0
0
-7
10
9
-11
-41
-2
-3
-5
2
0
0
0
0
0
0
0
0
-6
-3
9
0
0
-14
14
1
0
0
0
0
0
0
0
0
0
-3
0
1
15
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
11
-25
-32
-7
8
11
0
0
0
0
0
0
0
0
0
0
19
7
-1
-10
25
48
-17
2
-3
0
0
0
0
0
0
0
0
14
20
-53
31
59
-5
4
-2
11
0
0
0
0
0
0
0
0
-63
-14
24
93
-15
2
-8
9
0
0
0
0
0
0
0
0
0
9
-9
24
-44
0
5
4
-2
0
0
0
0
0
0
0
0
0
-39
36
-9
-62
21
0
0
-1
-3
0
0
0
0
0
0
0
0
6
-48
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
18
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
22
23
-63
17
37
23
-3
5
0
0
0
0
0
0
0
0
0
76
66
72
44
15
-20
-34
8
0
0
0
0
0
0
0
0
0
48
-43
-11
-13
-16
15
8
-10
0
0
0
0
0
0
0
0
0
-15
78
24
-18
3
-3
-15
2
1
0
0
0
0
0
0
0
0
-85
103
41
46
-73
0
-8
0
1
0
0
0
0
0
0
0
0
5
-2
43
-61
5
6
10
-4
0
0
0
0
0
0
0
0
0
51
-3
-7
48
-4
1
-23
1
0
0
0
0
0
0
0
0
0
-1
89
-4
-6
-3
0
0
-2
0
0
0
0
0
0
0
0
0
39
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-19
-7
19
31
-2
-41
-2
0
0
0
0
0
0
0
0
0
23
23
-29
33
37
33
-14
-11
14
0
0
0
0
0
0
0
0
26
-26
-49
3
49
30
18
-26
27
0
0
0
0
0
0
0
0
-5
22
53
20
-25
-25
-4
-2
2
0
0
0
0
0
0
0
0
-7
7
3
79
82
36
0
21
4
0
0
0
0
0
0
0
0
15
13
26
-61
11
4
-8
0
-14
0
0
0
0
0
0
0
0
-8
-29
-48
74
0
-11
4
2
0
0
0
0
0
0
0
0
0
-14
-6
-8
1
-1
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
0
103
67
60
-16
79
57
-43
-5
0
4
0
0
0
0
0
0
0
148
-28
91
53
75
-8
48
5
-10
0
0
0
0
0
0
0
0
-14
-19
61
53
-24
-74
-2
50
35
-4
0
0
0
0
0
0
0
-5
-5
-37
113
-50
11
-1
11
-8
0
0
0
0
0
0
0
0
-5
3
71
-13
48
20
13
0
0
0
0
0
0
0
0
0
0
36
33
64
5
-35
-5
-14
3
0
-3
0
0
0
0
0
0
0
-4
9
26
0
-48
15
-2
0
0
0
0
0
0
0
0
0
0
-8
43
-4
36
9
-1
0
0
0
0
0
0
0
0
0
0
0
-10
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-36
-25
47
30
98
-31
2
0
0
0
0
0
0
0
0
0
29
-4
-52
100
-22
123
29
2
27
0
0
0
0
0
0
0
0
-9
85
32
-56
17
-57
-44
-43
3
24
0
0
0
0
0
0
0
-6
-36
80
49
-46
-5
-22
13
25
0
0
0
0
0
0
0
0
11
32
-23
39
7
80
-9
-4
0
1
0
0
0
0
0
0
0
-34
52
-17
-20
47
26
-8
10
31
0
0
0
0
0
0
0
0
36
10
8
-56
7
10
-25
-15
-1
0
0
0
0
0
0
0
0
1
63
-25
-59
2
-6
29
0
7
0
0
0
0
0
0
0
0
25
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-17
69
-48
38
-14
-66
0
0
0
0
0
0
0
0
0
0
74
49
53
16
-45
69
80
-45
-1
1
0
0
0
0
0
0
0
-33
68
59
-13
75
-25
-46
5
1
0
0
0
0
0
0
0
0
-17
12
45
118
14
47
35
4
9
0
0
0
0
0
0
0
0
-98
-4
62
36
-5
58
16
-3
0
0
0
0
0
0
0
0
0
-9
-27
-46
17
16
2
62
0
5
0
0
0
0
0
0
0
0
-14
0
90
13
-15
33
10
-18
0
0
0
0
0
0
0
0
0
-2
-41
32
10
-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
-15
32
-59
33
-1
0
0
0
0
0
0
0
0
0
0
0
19
23
25
-10
3
-24
-2
0
0
0
0
0
0
0
0
0
0
24
29
-45
18
-2
2
-20
0
0
0
0
0
0
0
0
0
0
34
11
-13
-13
-5
10
2
3
0
0
0
0
0
0
0
0
0
-52
58
1
-1
13
-17
1
-5
0
0
0
0
0
0
0
0
0
-2
-5
25
-9
0
0
-4
-1
0
0
0
0
0
0
0
0
0
4
8
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-17
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
36
-46
-5
-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
-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
-10
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
23
9
2
1
4
-20
21
-19
2
0
0
0
0
0
0
0
0
43
-4
-1
-3
2
2
-3
-2
0
0
0
0
0
0
0
0
0
0
19
56
4
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
18
29
-17
6
-1
0
0
0
0
0
0
0
0
0
0
0
24
-1
-13
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-9
17
7
45
-4
0
0
0
0
0
0
0
0
0
0
-22
-16
-13
51
5
21
23
-2
0
0
0
0
0
0
0
0
-4
-49
7
172
29
-56
14
-13
-3
0
0
0
0
0
0
0
0
45
2
5
-2
20
48
-32
-10
8
0
0
0
0
0
0
0
0
-4
32
-50
11
1
-39
-33
-2
-2
0
0
0
0
0
0
0
0
4
0
-52
10
33
46
2
0
4
0
0
0
0
0
0
0
0
0
-26
58
-43
-33
1
0
0
-2
0
0
0
0
0
0
0
0
-5
5
77
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
17
14
-1
0
1
-5
5
0
0
0
0
0
0
0
0
0
0
-1
1
-3
-1
-10
14
1
26
0
0
0
0
0
0
0
0
0
-17
-5
25
-18
22
-7
33
-2
1
0
0
0
0
0
0
0
13
-6
-3
0
-27
65
-75
48
-7
0
0
0
0
0
0
0
0
0
62
48
48
-11
-4
3
2
0
0
0
0
0
0
0
0
0
0
60
0
79
-35
-3
13
0
0
0
0
0
0
0
0
0
0
0
5
-18
24
26
37
1
0
0
0
0
0
0
0
0
0
0
-4
34
0
71
-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
-15
4
0
4
14
0
0
0
0
0
0
0
0
0
-27
0
54
11
77
-22
0
-11
0
0
1
0
0
0
0
0
0
1
-13
-16
1
5
-7
-4
-3
3
-1
0
0
0
0
0
0
0
1
0
27
0
-23
-25
44
-4
0
0
0
0
0
0
0
0
0
0
13
1
-14
29
-11
5
4
0
0
0
0
0
0
0
0
0
0
-6
-19
0
14
-30
-2
0
0
0
0
0
0
0
0
0
0
-24
-7
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
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
-9
1
31
8
-10
0
0
0
0
0
0
0
0
0
2
-31
-17
-33
39
29
-64
13
1
0
0
0
0
0
0
0
0
25
-47
-11
23
-24
-19
11
-8
0
-6
0
0
0
0
0
0
0
4
18
3
6
6
-30
-35
-24
2
-1
0
0
0
0
0
0
0
0
1
4
59
60
-11
16
-2
3
0
0
0
0
0
0
0
0
11
-2
45
45
0
0
-3
6
0
0
0
0
0
0
0
0
0
7
-29
22
-2
11
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
105
2
72
-8
-1
-1
31
-2
0
0
0
0
0
0
0
0
0
-34
-14
-2
-23
-3
22
-52
-29
-4
0
0
0
0
0
0
0
0
18
61
-17
-15
31
78
10
1
0
0
0
0
0
0
0
0
0
1
-41
-2
-5
23
-17
-25
0
-3
0
0
0
0
0
0
0
0
-1
-14
19
23
-20
27
11
-1
-2
0
0
0
0
0
0
0
0
-5
35
54
18
14
0
-1
-2
4
0
0
0
0
0
0
0
0
-78
3
21
45
3
-1
-1
-2
0
0
0
0
0
0
0
0
0
-7
-37
25
0
0
-3
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
21
63
-7
133
34
-53
11
-29
0
0
0
0
0
0
0
0
0
31
62
52
-12
9
61
25
27
6
0
0
0
0
0
0
0
0
80
-29
4
-2
-10
-15
-2
33
-5
0
0
0
0
0
0
0
0
23
12
65
83
-19
-44
5
-14
0
7
0
0
0
0
0
0
0
22
50
100
54
-12
0
-16
25
1
0
0
0
0
0
0
0
0
5
32
8
-18
24
41
0
0
8
0
0
0
0
0
0
0
0
7
65
-47
17
29
6
-11
1
0
0
0
0
0
0
0
0
0
-3
17
1
-29
5
9
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
45
36
-34
64
-4
-46
61
2
0
0
0
0
0
0
0
0
0
52
-14
79
58
-26
17
48
34
-4
0
0
0
0
0
0
0
0
66
-37
86
12
8
-98
53
16
-13
0
0
0
0
0
0
0
0
-47
44
72
0
37
96
49
13
-9
0
0
0
0
0
0
0
0
103
12
-14
-88
112
-23
-44
-5
-2
0
0
0
0
0
0
0
0
50
17
51
57
18
14
-8
0
3
0
0
0
0
0
0
0
0
-11
-14
55
32
102
2
-5
1
0
1
0
0
0
0
0
0
0
-4
14
37
35
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
47
17
36
-39
15
1
-4
-99
0
0
0
0
0
0
0
0
0
18
-18
97
19
53
-10
-109
-33
-20
0
0
0
0
0
0
0
0
-45
10
0
75
15
-24
36
3
1
0
0
0
0
0
0
0
0
33
104
23
41
91
-9
4
45
-11
-7
0
0
0
0
0
0
0
-8
-45
48
63
21
3
-15
20
0
34
0
0
0
0
0
0
0
10
18
22
-23
23
-15
-5
11
0
-2
0
0
0
0
0
0
0
28
12
12
-49
-1
-7
52
-16
8
0
0
0
0
0
0
0
0
-23
4
-25
-13
4
9
8
-1
0
0
0
0
0
0
0
0
0
46
7
10
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
66
33
62
2
-59
37
0
0
0
0
0
0
0
0
0
0
107
7
51
10
12
-85
4
34
-2
0
0
0
0
0
0
0
0
0
101
-75
-6
-75
35
11
66
23
0
0
0
0
0
0
0
0
123
47
-56
62
-61
26
-1
-2
5
-1
0
0
0
0
0
0
0
54
-37
21
30
58
8
-10
1
1
-1
0
0
0
0
0
0
0
22
12
59
0
-30
17
3
11
0
0
0
0
0
0
0
0
0
82
32
15
10
10
0
-15
-11
1
0
0
0
0
0
0
0
0
118
4
61
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
10
-14
-11
68
11
69
0
0
0
0
0
0
0
0
0
0
0
6
30
23
0
-13
-60
0
0
0
0
0
0
0
0
0
0
0
-24
55
30
25
30
6
0
-7
0
0
0
0
0
0
0
0
0
-26
13
-11
14
23
-6
-4
0
0
0
0
0
0
0
0
0
0
22
13
5
13
13
1
2
0
0
0
0
0
0
0
0
0
0
18
46
-6
-8
8
-14
-3
0
0
0
0
0
0
0
0
0
0
-1
8
-33
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
-44
56
8
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
54
29
6
0
0
0
0
0
0
0
0
0
0
0
0
7
14
10
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
-9
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
13
0
0
0
13
4
0
0
0
0
0
0
0
0
0
0
0
15
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
44
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
35
-4
5
-8
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
9
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
69
8
11
-1
-26
-53
10
0
0
0
0
0
0
0
0
1
-16
19
2
24
18
5
14
0
0
0
0
0
0
0
0
0
9
57
-6
47
52
9
-4
8
-4
0
0
0
0
0
0
0
0
-4
-9
2
-5
-24
51
4
5
0
0
0
0
0
0
0
0
0
-11
44
-27
-19
58
50
5
-1
0
0
0
0
0
0
0
0
0
7
0
-26
16
-3
-6
-6
0
0
0
0
0
0
0
0
0
0
0
7
9
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
-1
0
0
0
15
-2
0
0
0
0
0
0
0
0
0
0
14
6
5
-7
-1
-26
-4
5
0
0
0
0
0
0
0
0
0
49
0
11
9
25
44
-5
5
0
0
0
0
0
0
0
0
0
69
-18
-34
25
-31
-6
-11
0
0
0
0
0
0
0
0
0
0
49
77
25
-8
-17
46
-5
-3
0
0
0
0
0
0
0
0
0
-3
56
40
-46
-11
0
1
0
0
0
0
0
0
0
0
0
0
-48
0
18
15
26
0
0
1
-1
0
0
0
0
0
0
0
0
-2
24
24
0
0
0
0
0
0
0
0
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
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
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-4
2
1
9
-2
6
0
0
0
0
0
0
0
0
0
0
0
2
-39
-43
-2
6
-1
0
0
0
0
0
0
0
0
0
0
-19
3
6
1
3
-10
2
0
0
0
0
0
0
0
0
0
1
20
44
0
25
5
4
0
0
0
0
0
0
0
0
0
0
2
6
0
-13
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
-11
0
-20
5
10
16
0
0
0
0
0
0
0
0
0
0
-5
100
93
-10
3
-44
-7
-7
0
0
0
0
0
0
0
0
0
0
-1
25
-10
1
-26
8
0
1
-1
0
0
0
0
0
0
0
0
-14
-2
-15
4
1
-11
1
0
0
0
0
0
0
0
0
0
0
0
33
-2
6
1
-2
3
2
0
0
0
0
0
0
0
0
0
43
-34
6
-17
14
3
-5
1
0
0
0
0
0
0
0
0
-2
6
11
-8
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-10
-14
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-16
39
0
41
4
3
0
0
0
0
0
0
0
0
0
-46
44
10
54
-21
2
-35
27
0
0
0
0
0
0
0
0
0
46
-33
-5
49
-32
49
-20
-17
-2
0
0
0
0
0
0
0
0
-10
-10
-23
10
-7
3
-4
7
0
0
0
0
0
0
0
0
0
0
39
22
-20
-25
24
17
5
-6
0
0
0
0
0
0
0
0
8
17
2
14
1
16
2
-7
0
0
0
0
0
0
0
0
0
-29
57
-2
13
-14
0
0
0
2
0
0
0
0
0
0
0
0
83
6
59
-23
-2
0
0
15
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
66
-18
-7
-92
36
11
-4
0
0
0
0
0
0
0
0
0
-23
-60
-45
-2
43
-46
24
44
2
0
0
0
0
0
0
0
0
32
-71
-33
-9
-22
-16
6
7
-5
2
0
0
0
0
0
0
0
6
-53
-8
-10
27
4
-4
1
6
0
0
0
0
0
0
0
0
0
-34
5
19
57
53
0
23
6
0
0
0
0
0
0
0
0
5
-52
-43
4
14
20
9
39
-11
29
0
0
0
0
0
0
0
11
59
23
53
0
-52
0
-10
-1
0
0
0
0
0
0
0
0
36
-58
-17
32
-1
-8
-1
0
-2
0
0
0
0
0
0
0
0
-9
6
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-6
15
-35
80
-2
17
-2
0
0
0
0
0
0
0
0
0
24
57
-3
127
33
23
34
-14
-17
0
0
0
0
0
0
0
0
-70
22
104
5
20
49
1
1
0
1
0
0
0
0
0
0
0
-61
100
33
56
22
-15
14
9
1
0
0
0
0
0
0
0
0
2
53
48
175
5
58
-45
-1
-1
0
0
0
0
0
0
0
0
4
0
57
44
-4
-5
-26
25
-3
0
0
0
0
0
0
0
0
-46
-7
-5
33
44
-7
16
0
0
0
0
0
0
0
0
0
0
10
-34
11
36
21
2
1
-1
0
0
0
0
0
0
0
0
0
15
20
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
37
75
-14
50
-2
1
0
0
0
0
0
0
0
0
0
15
32
-20
6
50
9
-64
109
-34
31
0
0
0
0
0
0
0
34
88
75
-81
15
51
59
28
3
2
0
0
0
0
0
0
0
2
-71
91
-40
55
131
44
-1
33
7
0
0
0
0
0
0
0
-3
-10
13
66
-8
47
-52
-17
-3
4
0
0
0
0
0
0
0
3
23
36
91
-57
90
14
16
-29
5
0
0
0
0
0
0
0
-6
-62
90
101
21
5
31
-58
0
0
0
0
0
0
0
0
0
75
-58
-5
-5
15
14
-31
4
1
0
0
0
0
0
0
0
0
-2
43
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
6
-9
5
-14
-55
39
0
0
0
0
0
0
0
0
0
0
84
-3
-38
37
-5
18
55
3
4
3
0
0
0
0
0
0
0
-15
-2
25
8
8
-1
-3
-6
0
0
0
0
0
0
0
0
0
-22
27
-81
78
-6
-4
6
-53
-1
-1
0
0
0
0
0
0
0
4
19
52
-7
-73
2
27
15
1
0
0
0
0
0
0
0
0
70
27
46
85
-14
11
22
31
-11
0
0
0
0
0
0
0
0
100
-14
-4
-10
-23
-30
10
-17
0
0
0
0
0
0
0
0
0
15
-60
9
-6
-5
9
13
0
0
0
0
0
0
0
0
0
0
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
11
7
-33
-21
-17
0
0
0
0
0
0
0
0
0
0
0
8
-86
56
15
-39
-22
2
0
0
0
0
0
0
0
0
0
0
-10
-22
-3
-5
14
13
9
1
0
0
0
0
0
0
0
0
0
-16
4
36
25
-8
4
1
15
0
0
0
0
0
0
0
0
0
-1
22
17
-50
9
-4
-9
-7
0
0
0
0
0
0
0
0
0
1
-3
-34
-3
-7
3
4
1
0
0
0
0
0
0
0
0
0
-8
-5
4
7
21
1
0
0
0
0
0
0
0
0
0
0
0
-27
-4
13
-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
33
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-5
44
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
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-3
0
8
0
0
0
0
0
0
0
0
0
3
0
0
0
4
0
-17
0
0
0
0
0
0
0
0
0
0
8
7
37
-5
-1
2
0
33
0
0
0
0
0
0
0
0
0
1
3
-11
0
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
11
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
-13
25
0
1
-1
0
0
0
0
0
0
0
0
0
0
4
0
33
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
6
-3
3
0
0
0
0
0
0
0
0
0
0
0
4
-7
-1
25
5
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
29
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
20
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
-17
-17
10
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
-13
2
-7
0
2
0
3
0
0
0
0
0
0
0
0
-24
0
-14
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-35
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
-9
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
34
-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
-18
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
22
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
14
6
-5
14
32
-1
7
3
0
0
0
0
0
0
0
0
-1
9
-83
-46
-3
-36
-10
-3
0
0
0
0
0
0
0
0
0
2
2
55
34
15
0
0
3
4
0
0
0
0
0
0
0
0
0
-26
43
51
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
45
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
26
5
15
24
-2
-3
0
4
0
0
0
0
0
0
0
0
0
1
-32
10
11
9
0
0
0
0
0
0
0
0
0
0
0
0
-66
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-4
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
10
15
-50
-9
0
3
2
0
0
0
0
0
0
0
0
0
0
-19
33
-4
5
11
9
-4
9
0
0
0
0
0
0
0
0
-3
3
8
33
18
-22
4
6
0
0
0
0
0
0
0
0
0
-1
9
17
-5
-24
-32
-3
0
0
0
0
0
0
0
0
0
0
0
44
-13
71
11
-18
-1
0
0
0
0
0
0
0
0
0
0
1
7
55
-37
-7
-11
0
0
0
0
0
0
0
0
0
0
0
8
-21
35
-17
-1
0
0
0
1
0
0
0
0
0
0
0
0
10
-3
1
4
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
35
11
-1
-29
32
-5
0
0
0
0
0
0
0
0
0
55
23
17
60
-3
-32
-33
-21
0
0
0
0
0
0
0
0
0
8
16
3
-33
66
-7
-5
-4
-1
0
0
0
0
0
0
0
0
-11
58
-21
-26
55
27
-9
29
0
0
0
0
0
0
0
0
0
-32
12
9
58
-47
-5
-7
-2
2
0
0
0
0
0
0
0
0
6
92
53
4
-27
65
10
-2
9
0
0
0
0
0
0
0
0
27
71
91
-10
33
39
-2
0
0
0
0
0
0
0
0
0
0
15
44
-41
-5
-8
-7
3
0
-1
0
0
0
0
0
0
0
0
46
29
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
60
-14
66
-5
-11
-28
4
0
0
0
0
0
0
0
0
0
11
71
59
22
5
-24
-50
4
-5
1
0
0
0
0
0
0
0
2
66
17
-80
117
43
48
-5
-31
-4
0
0
0
0
0
0
0
-3
10
5
72
-32
4
-14
10
-47
0
0
0
0
0
0
0
0
-1
104
-11
-23
-19
89
-60
100
-26
0
0
0
0
0
0
0
0
-11
-2
35
28
44
-63
43
33
-3
-1
0
0
0
0
0
0
0
-8
74
-41
30
33
0
15
1
-7
-4
0
0
0
0
0
0
0
-3
-23
-33
-39
-15
-3
5
-1
0
0
0
0
0
0
0
0
0
-17
11
25
-10
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
-29
53
44
7
1
-1
0
0
0
0
0
0
0
0
0
0
4
-4
92
33
97
-60
-14
0
-1
0
0
0
0
0
0
0
0
1
92
58
50
6
56
-33
0
5
0
0
0
0
0
0
0
0
-49
16
-23
-49
34
-11
7
-21
0
0
0
0
0
0
0
0
0
33
43
52
-1
-5
22
14
1
0
0
0
0
0
0
0
0
0
3
-26
32
41
54
21
-3
14
1
0
0
0
0
0
0
0
0
-4
-34
-6
13
-56
27
-5
7
-4
0
0
0
0
0
0
0
0
-17
13
-9
-7
-15
-3
0
0
0
0
0
0
0
0
0
0
0
17
-14
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-22
-19
1
17
25
1
0
0
0
0
0
0
0
0
0
0
0
-2
20
46
-48
-15
1
-1
0
0
0
0
0
0
0
0
0
0
0
-20
26
-17
-30
0
0
-7
0
0
0
0
0
0
0
0
0
0
-8
64
-11
-14
-3
0
0
0
0
0
0
0
0
0
0
0
-4
6
-34
5
-11
14
-10
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
13
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
8
-7
-3
-11
0
4
0
0
0
0
0
0
0
0
0
0
2
-6
11
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
15
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
16
7
15
46
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
73
0
0
9
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
71
-4
1
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
-2
14
0
3
1
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
25
19
43
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
14
0
5
3
-17
0
0
0
0
0
0
0
0
0
0
0
0
-23
-18
0
14
-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
-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
0
0
0
0
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
25
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-9
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
-54
-1
-3
0
0
0
0
0
0
0
0
-3
5
0
17
-9
-69
1
-15
0
0
0
0
0
0
0
0
0
0
-5
18
-1
38
9
-60
-4
0
0
0
0
0
0
0
0
0
0
0
-2
24
2
53
4
-2
1
0
0
0
0
0
0
0
0
0
1
1
5
-13
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
11
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
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-17
-10
11
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
17
8
-29
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
6
0
17
-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
-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
-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
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
-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
6
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
9
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
21
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
10
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
-10
-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
-11
-18
-19
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
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
4
-24
-4
-13
0
-5
0
0
0
0
0
0
0
0
-1
0
-3
10
0
-5
7
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-47
-14
-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
2
-6
1
0
0
0
0
0
0
0
15
-29
-11
23
0
0
0
24
-46
0
1
0
0
0
0
0
0
-2
-4
-7
-1
-61
-68
9
-51
1
10
0
0
0
0
0
0
0
1
6
3
3
33
-35
5
38
-1
-2
0
0
0
0
0
0
0
0
14
15
24
-88
66
48
15
0
0
0
0
0
0
0
0
0
0
1
-2
18
1
57
31
30
8
3
0
0
0
0
0
0
0
0
4
-1
-2
14
0
-13
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
3
0
0
0
0
-82
4
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
-75
-15
1
0
0
0
0
0
0
0
0
0
0
-2
5
8
31
23
-23
-33
1
0
0
0
0
0
0
0
0
-1
0
0
-3
62
-28
-36
15
1
2
0
0
0
0
0
0
0
0
5
0
-3
-43
9
-5
-6
0
0
0
0
0
0
0
0
0
0
0
-16
7
-66
-24
9
3
3
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
24
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
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
-15
27
-1
1
1
0
0
0
0
0
0
0
0
0
0
6
-3
-25
-22
7
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
14
2
-2
2
0
0
0
0
0
0
0
0
-2
0
0
-2
33
-31
-8
-1
-3
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
67
8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
4
0
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
5
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
10
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
2
-13
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-1
-5
0
2
2
5
-9
0
0
0
0
0
0
0
0
0
0
0
-13
0
8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
25
-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
17
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
44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-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
9
-10
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
-9
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-33
-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
-9
0
0
0
0
0
0
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
-10
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
10
0
2
-6
-22
-4
-65
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
-14
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
-9
8
11
-2
-13
0
0
0
0
-1
0
0
0
0
0
0
-8
0
6
8
-3
-2
24
5
-1
0
0
0
0
0
0
0
0
0
3
1
3
0
18
11
68
13
2
0
0
0
0
0
0
0
0
0
0
0
-1
-6
5
3
14
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
-11
8
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
2
0
-1
-29
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
1
1
-58
-25
-19
0
0
0
-11
0
0
0
0
0
0
0
0
0
5
0
26
2
5
-81
-51
0
0
0
0
0
0
0
0
1
0
3
11
8
3
-74
30
-14
-2
0
0
0
0
0
0
0
0
0
-7
1
-4
-51
14
73
-3
1
0
0
0
0
0
0
0
0
0
-3
0
-1
-59
26
73
22
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
-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
-4
-19
-19
32
-7
0
0
0
0
0
0
0
0
0
0
0
-10
5
-85
-58
-35
-37
0
0
0
57
-5
0
0
0
0
0
0
2
16
15
36
1
-24
-84
14
-94
-3
-1
0
0
0
0
0
0
4
-1
13
5
26
48
-59
6
-17
-4
0
0
0
0
0
0
0
5
-5
0
-24
30
53
-21
64
-76
0
0
0
0
0
0
0
0
0
0
-3
0
-56
-134
-23
8
61
-26
-1
0
0
0
0
0
0
0
0
2
1
-5
23
14
-31
15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
9
0
0
0
0
0
0
0
0
0
2
-36
7
-10
5
0
0
0
-7
0
0
0
0
0
0
0
1
9
-49
-44
54
0
0
0
0
-33
-3
0
0
0
0
0
0
0
4
-33
17
-23
-33
-16
-2
-43
-6
-1
0
0
0
0
0
0
0
-5
6
-21
8
6
-56
-55
82
11
-35
0
2
0
0
0
0
0
0
-3
-25
29
74
1
-43
-50
-56
0
0
0
0
0
0
0
0
0
0
9
-58
-113
65
99
85
14
-2
0
0
0
0
0
0
0
0
2
2
1
7
37
43
25
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
22
7
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
5
-33
-14
1
0
0
0
3
-34
0
0
0
0
0
0
0
0
0
-10
1
-8
10
17
-43
1
9
-2
0
0
0
0
0
0
0
0
-1
1
4
63
-73
17
23
-6
0
-1
0
0
0
0
0
0
0
-1
3
1
6
-14
21
13
-56
0
0
0
0
0
0
0
0
0
0
1
0
-37
1
-12
17
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-7
8
1
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
0
0
0
-1
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
3
1
0
0
0
11
-26
1
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-26
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
3
18
-1
2
-4
0
0
0
0
0
0
0
0
0
-1
0
1
-33
13
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
16
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
13
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-9
0
-4
-3
2
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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
1
5
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-11
10
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-25
19
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
10
-14
-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
14
0
0
0
0
0
0
0
0
0
0
0
7
-1
1
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
-41
57
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
23
-20
-10
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
8
-17
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
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
-10
-1
-1
11
41
48
-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
-15
7
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-15
32
25
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
-14
-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
-13
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
11
-19
-32
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-47
-55
32
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-4
4
-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
9
0
0
0
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
-6
-2
-11
8
0
0
0
-4
0
0
0
0
0
0
0
0
10
-16
39
0
0
-3
-31
-36
0
0
0
0
0
0
0
0
0
0
4
3
-3
5
-2
-59
-26
0
0
0
0
0
0
0
0
0
0
0
-4
-39
48
0
2
2
0
0
0
0
0
0
0
0
0
0
0
-6
2
8
-52
-6
19
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
-29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-34
1
-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
14
-7
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-16
-57
-13
0
0
0
3
-7
0
0
0
0
0
0
-1
-11
-46
16
7
14
-11
-58
-4
-18
0
0
0
0
0
0
0
0
-6
-9
8
-14
71
1
-75
-43
23
0
0
0
0
0
0
0
0
0
1
0
-47
34
7
-6
47
3
0
0
0
0
0
0
0
0
0
-6
11
-18
7
80
1
-50
0
0
0
0
0
0
0
0
0
0
0
0
2
0
45
44
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
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
1
2
52
-26
24
-114
0
0
0
1
0
0
0
0
0
0
0
27
36
95
49
-25
20
0
0
0
-14
5
0
0
0
0
0
0
-8
-34
-5
75
0
56
-32
-91
-22
-63
0
0
0
0
0
0
-1
-3
16
71
-16
-77
-14
61
18
56
1
7
0
0
0
0
0
0
0
4
-26
0
-31
-31
-96
63
-11
-69
10
0
0
0
0
0
0
0
35
17
-7
14
44
-9
33
17
-1
2
0
0
0
0
0
0
0
0
4
-33
0
37
-4
41
-5
-20
0
0
0
0
0
0
0
0
0
2
-1
-1
7
-22
-10
-56
14
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
20
43
39
43
15
0
0
0
0
0
0
0
0
0
0
0
-4
7
-50
43
17
-94
0
0
0
-17
-1
0
0
0
0
0
0
-9
-2
60
23
-6
-33
32
3
-25
-11
-2
0
0
0
0
0
0
0
2
17
-4
-30
-18
5
-12
-53
-104
1
-5
0
0
0
0
0
9
13
2
19
-48
-71
114
2
58
-3
4
0
0
0
0
0
0
0
0
-21
-2
-15
6
26
-70
46
36
0
0
0
0
0
0
0
0
0
-6
-14
7
11
-16
-61
4
13
4
0
0
0
0
0
0
0
0
0
0
0
0
-15
-18
-17
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
-1
0
4
1
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
4
23
-3
0
0
0
3
-2
-1
0
0
0
0
0
0
0
0
0
9
-14
10
5
70
-10
10
0
0
0
0
0
0
0
3
0
0
-2
-8
-4
-13
37
-17
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
-13
81
-29
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-21
14
1
-6
-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
-11
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
4
41
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-25
-1
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-14
1
5
-3
1
0
0
0
0
0
0
0
0
0
-1
-3
9
3
1
-19
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
-10
-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
-9
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-17
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
10
-11
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
62
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-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
-1
-5
-4
-3
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-9
-7
-15
0
9
-5
-6
-9
0
0
0
0
0
0
0
0
0
0
0
5
3
2
-26
2
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
8
10
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
-10
-7
7
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-45
-48
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
2
-3
-1
0
0
0
-1
0
0
0
0
0
0
0
1
-9
0
2
1
-5
0
-27
-10
1
0
0
0
0
0
0
0
0
0
2
1
-7
19
39
-9
-1
2
0
0
0
0
0
0
0
0
0
-4
0
0
10
-39
-9
0
5
0
0
0
0
0
0
0
0
0
0
0
0
7
81
-18
11
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
-33
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-18
-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
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-15
-8
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-2
-3
-2
17
-6
23
-5
0
0
0
0
0
0
0
0
0
0
-1
0
-2
14
23
-29
15
0
0
0
0
0
0
0
0
0
0
-4
8
0
45
23
16
-29
5
0
0
0
0
0
0
0
0
0
0
0
-4
9
83
9
-13
0
0
0
0
0
0
0
0
0
0
0
-14
0
25
2
-36
1
4
0
0
0
0
0
0
0
0
0
0
0
1
-17
-60
-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
-37
1
-4
-4
0
0
0
5
1
0
0
0
0
0
0
5
-4
0
-25
56
5
-5
2
36
-1
0
0
0
0
0
0
0
0
0
24
-4
0
-17
19
-14
0
4
0
0
0
0
0
0
0
0
7
-1
25
-25
0
-6
-24
-25
-9
0
0
0
0
0
0
0
0
0
1
3
-7
-22
0
-30
-46
-5
0
0
0
0
0
0
0
0
0
2
-1
2
-1
-8
9
-85
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
-43
0
0
0
0
0
0
0
0
0
0
1
1
18
-5
-8
0
0
0
0
0
0
0
0
0
0
0
11
6
23
-57
-19
-17
0
0
0
23
4
0
0
0
0
0
0
0
-20
-16
14
79
90
17
-90
-96
0
0
0
0
0
0
0
0
0
-10
43
-13
-53
-6
-49
-3
10
5
-7
0
0
0
0
0
0
0
-7
0
-12
106
-27
0
68
29
-3
0
0
0
0
0
0
0
0
0
-1
27
76
-31
-19
14
44
0
0
0
0
0
0
0
0
0
0
0
-45
-3
-76
15
1
13
-2
0
0
0
0
0
0
0
0
0
0
0
2
10
-16
26
40
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-16
0
0
0
0
0
0
0
0
0
2
-30
-7
-30
5
18
0
0
0
14
0
0
0
0
0
0
1
2
6
-11
56
36
23
0
0
0
-7
0
0
0
0
0
0
0
11
-33
-31
8
70
-33
-18
-87
-80
0
0
0
0
0
0
0
0
-2
-10
-11
47
5
-34
-41
-46
50
4
-14
0
0
0
0
0
0
0
-13
52
-48
21
-22
-24
2
1
-7
0
0
0
0
0
0
0
2
4
-41
-52
16
-7
50
106
-54
-18
5
0
0
0
0
0
0
0
-3
-1
-43
-77
-11
26
-29
-28
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-62
23
-72
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-33
-7
-2
0
0
0
0
0
0
0
0
-81
16
-46
4
-48
0
0
0
3
0
0
0
0
0
0
0
-35
-17
-14
-17
-6
-55
0
0
0
9
-2
0
0
0
0
0
0
-4
-5
-16
-12
74
-34
-42
-78
8
7
-6
-4
0
0
0
0
0
0
18
5
0
-14
-56
-137
58
53
-6
-2
0
0
0
0
0
0
-10
-2
-3
-47
-55
-35
4
-5
32
0
-4
0
0
0
0
0
0
0
-18
-4
-23
2
-21
-53
1
101
0
0
0
0
0
0
0
0
-5
0
-1
-98
-81
48
-18
52
-33
-22
0
0
0
0
0
0
0
0
0
0
8
-18
3
25
-43
0
30
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
-9
19
-8
0
0
0
-17
15
0
0
0
0
0
0
0
2
-2
0
-1
-4
19
35
-19
53
2
0
0
0
0
0
0
0
0
1
0
-4
0
-9
54
14
33
11
1
0
0
0
0
0
0
0
0
-2
-2
-2
2
-21
15
-11
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-11
11
9
5
0
0
0
0
0
0
0
0
0
0
0
9
0
0
2
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
23
-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
-14
-39
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
-32
13
-35
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
14
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
-10
-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
-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
-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
16
0
0
0
0
0
0
0
0
0
0
1
-3
1
7
23
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-26
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
-46
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
26
0
0
0
0
0
0
0
0
0
0
0
1
-1
-21
-18
-9
-2
1
0
0
0
0
0
0
0
0
0
0
-2
-6
15
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
7
-22
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
-9
0
0
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
43
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-33
-34
7
3
7
2
-6
0
0
0
0
0
0
0
0
0
0
-6
-24
5
-2
45
5
-60
1
0
0
0
0
0
0
0
0
0
0
0
26
35
-58
-34
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
17
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
4
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-20
-25
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
-6
0
0
-14
-5
6
-2
0
0
0
0
0
0
0
0
-9
0
-2
0
26
25
-14
-5
0
0
0
0
0
0
0
0
0
-3
11
0
-20
4
-10
5
16
0
0
0
0
0
0
0
0
0
0
2
0
0
-10
-49
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-2
0
0
0
0
0
0
0
0
10
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
-6
7
3
7
0
0
0
0
1
0
0
0
0
0
0
0
-1
5
19
5
8
-6
8
-25
21
2
0
0
0
0
0
0
0
0
0
-36
5
-91
16
36
16
0
-3
0
0
0
0
0
0
0
0
1
-27
-9
-6
-82
-7
0
-25
0
0
0
0
0
0
0
0
0
1
5
-34
5
0
6
-62
-24
0
0
0
0
0
0
0
0
3
0
0
3
0
-11
-3
-26
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-25
0
0
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
3
2
-19
-15
0
0
0
0
0
0
0
0
0
0
0
-2
2
5
13
19
25
0
0
0
1
0
0
0
0
0
0
0
3
-32
-14
16
-51
35
-44
22
-25
0
0
0
0
0
0
0
0
5
0
7
-1
19
-46
5
22
14
-3
-1
0
0
0
0
0
0
0
-1
-1
-9
15
44
-45
-10
11
0
0
0
0
0
0
0
0
0
-1
-14
17
2
-23
0
-33
26
0
0
0
0
0
0
0
0
0
0
2
0
36
17
10
14
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
3
-51
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-43
0
0
0
0
0
0
0
0
0
-23
-5
-2
-53
5
-5
0
0
0
-1
0
0
0
0
0
0
0
-113
30
29
53
-21
-32
0
0
0
-22
0
0
0
0
0
0
0
-26
-47
5
53
33
-46
45
-9
68
-6
1
0
0
0
0
0
0
5
-13
15
4
0
-26
-55
-94
90
-4
0
0
0
0
0
0
0
0
0
-3
46
-8
-32
-26
-62
72
-1
0
0
0
0
0
0
0
0
-5
20
9
27
-14
14
0
16
0
0
0
0
0
0
0
0
1
0
11
17
-14
-35
16
81
-14
8
0
0
0
0
0
0
0
0
0
0
-54
5
17
24
26
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
2
38
0
-16
0
0
0
0
0
0
0
6
-3
17
-17
14
4
0
0
0
4
0
0
0
0
0
0
0
-13
-4
-51
-29
-22
-16
0
0
0
11
-4
0
0
0
0
0
0
0
4
45
-42
-97
-62
20
-81
-59
5
1
0
0
0
0
0
0
3
-2
-30
5
13
-5
-40
-87
-6
-13
0
0
0
0
0
0
0
2
0
17
4
-70
30
-139
24
19
3
9
0
0
0
0
0
0
0
-1
-6
1
-43
26
5
33
0
-3
1
0
0
0
0
0
0
0
3
-1
-34
1
5
-32
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-52
57
18
14
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-29
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-12
4
0
0
0
0
0
0
0
0
0
2
3
-5
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
14
8
-35
-29
13
8
6
0
0
0
0
0
0
0
0
0
0
3
3
-58
-11
33
33
4
0
0
0
0
0
0
0
0
0
-11
0
0
11
33
21
-32
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
-11
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-7
-30
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
13
-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
10
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-26
2
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
0
0
-13
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
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
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
13
-19
-11
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
9
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
9
5
-5
-4
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
-15
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-6
-29
-2
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
-7
1
2
6
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-6
0
-59
-2
2
0
0
0
0
0
0
0
0
0
0
-11
-24
18
-25
-64
19
29
0
0
0
0
0
0
0
0
0
0
0
-1
3
-7
5
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
2
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
-53
0
0
0
0
0
0
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
13
3
-11
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-8
0
-4
4
4
-9
6
0
0
0
0
0
0
0
0
0
0
7
3
44
-23
-43
1
-25
5
0
0
0
0
0
0
0
0
-6
4
-1
-13
0
-77
2
-20
0
0
0
0
0
0
0
0
0
2
0
-2
-37
7
8
5
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
-33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-26
32
-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
-19
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
4
-24
21
-65
0
0
0
0
0
0
0
0
0
0
0
5
-14
39
-9
53
-25
8
-33
-82
0
0
0
0
0
0
0
0
-9
4
-74
-22
41
-60
25
-113
14
1
0
0
0
0
0
0
0
0
-24
31
-18
-8
19
81
-11
-27
5
0
0
0
0
0
0
0
1
0
6
23
24
25
0
53
-3
0
0
0
0
0
0
0
0
0
0
-4
-3
-63
1
0
24
-6
0
0
0
0
0
0
0
0
0
0
0
0
27
-50
-23
-58
-3
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
6
14
5
4
14
0
0
0
0
0
0
0
0
0
0
0
-11
25
-33
-14
37
5
0
0
0
0
0
0
0
0
0
0
0
4
-50
-5
-67
-34
-5
18
-118
50
0
0
0
0
0
0
0
0
21
-60
-56
-24
59
2
-57
-15
-18
6
0
0
0
0
0
0
0
0
-26
-37
5
28
-32
-80
-102
62
0
0
0
0
0
0
0
0
0
6
-14
5
-93
-5
-4
-30
7
0
0
0
0
0
0
0
0
0
0
7
39
-19
25
-15
0
39
2
0
0
0
0
0
0
0
0
0
0
2
-8
-34
-43
30
27
5
1
0
0
0
0
0
0
0
0
0
0
2
23
5
3
1
0
0
0
0
0
0
0
0
0
35
-22
-45
24
8
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-64
14
-80
48
0
0
0
25
1
0
0
0
0
0
0
7
33
1
-4
64
-109
-128
20
-14
1
4
0
0
0
0
0
0
-9
6
29
20
-142
-40
-94
13
-63
-16
0
0
0
0
0
0
0
5
-13
-32
-21
-22
5
-73
10
-32
7
0
0
0
0
0
0
0
7
-3
1
-53
-54
35
-16
-2
-118
-15
1
0
0
0
0
0
0
0
0
-25
23
14
-34
70
30
0
-2
0
0
0
0
0
0
0
0
0
0
5
15
8
73
-6
-15
0
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
7
-2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-4
5
0
2
0
0
0
98
0
0
0
0
0
0
0
0
0
0
1
8
1
2
-7
-33
-10
0
0
0
0
0
0
0
0
0
0
0
-16
43
27
-1
-3
8
0
0
0
0
0
0
0
0
0
0
-2
20
26
23
-11
5
-3
0
0
0
0
0
0
0
0
0
-3
2
3
3
12
31
-3
1
0
0
0
0
0
0
0
0
0
0
0
4
-11
-7
-4
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
-3
-2
18
0
0
0
0
0
0
0
0
0
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
15
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
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
-18
-13
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
-6
-17
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
3
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-51
-2
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
39
-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
74
9
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
14
3
7
-1
0
4
0
0
0
0
0
0
0
0
0
6
-44
0
-25
14
5
1
-8
0
0
0
0
0
0
0
0
0
10
-19
2
8
53
-20
-4
-2
0
0
0
0
0
0
0
0
0
0
2
2
39
15
-45
35
-41
0
0
0
0
0
0
0
0
0
0
-4
2
-39
-24
-17
11
-11
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
0
-5
-43
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
9
-1
0
0
0
0
0
0
0
0
-31
3
25
-8
6
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-16
-30
-53
-8
0
0
0
0
0
0
0
0
0
0
0
-4
50
-14
-5
-18
9
-5
25
-5
0
0
0
0
0
0
0
0
6
37
-28
-27
-68
-29
-49
24
-16
0
0
0
0
0
0
0
0
0
-14
6
-14
0
-47
33
51
4
-1
0
0
0
0
0
0
0
-3
1
31
-89
-15
-10
18
39
-47
-1
0
0
0
0
0
0
0
0
5
-9
-9
-51
-2
59
-83
-16
3
0
0
0
0
0
0
0
0
0
8
1
1
-3
-10
0
-45
2
0
0
0
0
0
0
0
0
-1
0
0
-4
24
2
11
0
1
0
0
0
0
0
0
0
0
3
-8
-6
-4
-5
0
0
0
0
0
0
0
0
0
0
0
-10
53
-14
-54
-1
-62
0
0
0
0
0
0
0
0
0
0
0
6
0
10
-4
-24
-39
-21
30
8
0
0
0
0
0
0
0
0
0
-2
65
-76
26
-13
-84
-53
-100
0
0
0
0
0
0
0
0
0
6
6
66
32
13
-42
-53
-108
-8
0
0
0
0
0
0
0
0
11
-18
13
-96
-29
-109
-8
-121
0
0
0
0
0
0
0
0
0
-5
13
5
-9
-25
-51
90
0
0
0
0
0
0
0
0
0
0
0
0
-47
-10
15
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-77
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
32
-4
0
0
0
0
0
0
0
0
0
2
10
-1
-2
4
24
3
-10
0
0
0
0
0
0
0
0
0
0
0
2
2
10
33
-5
-24
0
0
0
0
0
0
0
0
0
0
0
7
-5
-8
53
-6
2
0
0
0
0
0
0
0
0
0
0
2
0
-1
11
-11
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-29
0
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
-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
-14
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
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
-15
33
0
-15
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
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-48
4
11
-13
-1
-5
140
0
0
0
0
0
0
0
0
0
1
3
-10
24
20
27
-52
-31
0
0
0
0
0
0
0
0
0
0
20
1
-52
30
-104
27
-92
-2
0
0
0
0
0
0
0
0
0
-4
-8
-6
19
-27
-18
-33
-1
0
0
0
0
0
0
0
0
0
6
0
-1
44
14
-30
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-14
-19
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-19
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-7
0
24
18
0
0
0
0
0
0
0
0
0
0
0
0
6
7
18
-14
8
3
0
0
0
0
0
0
0
0
0
0
-19
0
-6
-15
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
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
-3
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
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
10
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
-11
0
0
0
0
0
0
0
0
0
-2
-17
11
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-26
-8
0
8
1
-1
0
0
0
0
0
0
0
0
0
-3
13
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-6
50
-57
0
-71
0
0
0
0
0
0
0
0
0
-56
-34
33
-8
-13
116
43
-1
0
0
0
0
0
0
0
0
0
54
48
100
13
40
5
-2
-33
0
0
0
0
0
0
0
0
0
54
-5
12
-16
-29
-5
8
-23
3
0
0
0
0
0
0
0
0
1
-11
-24
64
37
11
2
-1
0
0
0
0
0
0
0
0
0
-27
-51
53
-1
-30
-5
0
0
0
0
0
0
0
0
0
0
0
52
24
-14
-6
2
1
-1
0
0
0
0
0
0
0
0
0
0
-53
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
-31
17
-37
-30
17
0
8
1
0
0
0
0
0
0
0
0
0
-1
45
80
26
-15
20
7
0
0
0
0
0
0
0
0
0
0
26
6
28
56
-89
-6
-1
0
0
0
0
0
0
0
0
0
0
-20
-8
-21
34
32
0
-4
0
0
0
0
0
0
0
0
0
0
-23
3
35
3
-1
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
-21
-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
11
-4
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
-6
31
-50
-1
-11
0
-1
0
0
0
0
0
0
0
0
0
0
7
25
-2
33
-4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
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
-3
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
10
-3
-11
24
7
2
4
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
-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
10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
4
-6
1
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
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
15
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
7
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
-13
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
-5
-4
24
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
24
-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
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-11
-3
23
0
0
-27
0
0
0
0
0
0
0
0
0
0
6
-7
-43
0
0
1
2
-2
0
0
0
0
0
0
0
0
0
0
1
7
7
4
5
0
-2
0
0
0
0
0
0
0
0
0
-5
1
19
22
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
9
-1
-36
-8
0
0
-2
-8
0
0
0
0
0
0
0
0
0
-14
-13
31
33
1
-7
1
0
0
0
0
0
0
0
0
0
0
-1
3
19
14
1
0
-3
0
1
0
0
0
0
0
0
0
0
15
9
-33
44
4
0
0
0
3
0
0
0
0
0
0
0
0
-1
31
3
6
-2
0
1
0
0
0
0
0
0
0
0
0
0
-5
7
0
10
6
0
0
2
0
0
0
0
0
0
0
0
0
0
2
7
-21
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
-14
0
46
-14
-2
0
-1
0
0
0
0
0
0
0
0
0
0
-11
5
62
-96
15
8
3
14
1
0
0
0
0
0
0
0
0
24
29
14
1
-50
-21
-2
-6
53
0
0
0
0
0
0
0
0
107
-17
50
-10
3
21
-16
-26
0
0
0
0
0
0
0
0
0
71
-25
-5
-47
-32
-10
-11
-1
-15
0
0
0
0
0
0
0
0
-11
-5
-11
26
10
14
-2
0
0
0
0
0
0
0
0
0
0
4
-9
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
3
43
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-24
-57
39
92
0
0
0
0
0
0
0
0
0
0
0
46
17
47
-45
15
53
11
-22
-6
0
0
0
0
0
0
0
0
-20
15
42
49
-59
-41
-30
-26
-2
0
0
0
0
0
0
0
0
18
41
35
-9
-70
27
-3
-47
-6
0
0
0
0
0
0
0
0
48
27
75
21
-24
9
37
-1
-8
0
0
0
0
0
0
0
0
47
-16
7
-5
7
4
8
-7
0
0
0
0
0
0
0
0
0
-1
2
46
-58
-9
27
14
0
0
0
0
0
0
0
0
0
0
30
-14
5
0
0
1
2
0
0
0
0
0
0
0
0
0
0
-63
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-53
-72
91
50
0
-55
0
0
0
0
0
0
0
0
0
0
-28
0
-96
5
11
47
-66
1
0
0
0
0
0
0
0
0
0
-43
23
-14
49
-48
-58
-51
-1
0
0
0
0
0
0
0
0
0
-50
-1
17
-94
48
-31
-11
18
3
0
0
0
0
0
0
0
0
47
-58
5
-76
-13
23
-6
-5
-7
0
0
0
0
0
0
0
0
8
4
5
0
0
-14
0
4
0
0
0
0
0
0
0
0
0
-44
-5
3
-2
-4
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
0
0
0
0
0
0
0
0
-7
-2
51
-9
0
15
-1
0
0
0
0
0
0
0
0
0
0
53
-37
42
14
19
36
-3
0
0
0
0
0
0
0
0
0
0
-7
-29
1
-47
-107
-59
0
-3
0
0
0
0
0
0
0
0
0
-16
-5
2
21
2
26
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
38
-43
0
0
19
0
0
0
0
0
0
0
0
0
0
0
-14
37
14
-22
-36
-7
3
-1
0
0
0
0
0
0
0
0
0
8
5
14
-30
3
0
-21
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
3
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-14
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
3
-3
1
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
1
-15
-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
25
11
-9
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
-9
0
14
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
-36
13
-4
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
-7
9
5
-3
0
0
0
0
0
0
0
0
0
3
-1
0
-2
-14
-18
-1
0
1
0
0
0
0
0
0
0
0
0
15
0
14
14
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
-14
-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
-23
-3
16
7
13
-3
0
0
0
0
0
0
0
0
0
0
-17
-18
-4
10
-2
-47
2
0
0
0
0
0
0
0
0
0
1
-13
-16
-3
-9
-1
1
0
0
0
0
0
0
0
0
0
0
9
-13
2
1
10
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
-11
-5
-2
2
0
2
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
-1
0
0
0
0
0
0
0
0
0
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
3
-3
0
0
1
0
0
0
0
0
0
0
0
0
10
14
-13
-6
-8
-3
-34
3
0
0
0
0
0
0
0
0
0
3
33
24
20
7
5
3
4
0
0
0
0
0
0
0
0
0
-1
-14
24
-1
-2
-9
21
0
-2
0
0
0
0
0
0
0
0
5
33
-1
69
-3
-6
2
0
0
0
0
0
0
0
0
0
0
29
0
0
23
-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
8
0
0
0
0
0
0
0
0
0
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
-6
19
-6
-17
14
0
0
0
0
0
0
0
0
0
0
-17
14
54
62
-4
6
5
-53
-13
0
0
0
0
0
0
0
0
14
33
-43
46
-2
0
-26
-4
0
0
0
0
0
0
0
0
0
-16
-26
7
31
0
0
-2
8
2
0
0
0
0
0
0
0
0
11
3
45
61
26
8
5
-2
0
0
0
0
0
0
0
0
0
-14
-15
14
19
-24
5
0
1
0
0
0
0
0
0
0
0
0
-2
5
47
36
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-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
0
0
0
0
0
0
1
-6
27
-57
-37
-31
21
-1
0
0
0
0
0
0
0
0
0
114
51
-49
-24
6
10
16
1
5
0
0
0
0
0
0
0
0
7
102
29
9
21
14
2
0
0
0
0
0
0
0
0
0
0
59
-56
49
-17
15
9
13
0
-17
0
0
0
0
0
0
0
0
-3
21
65
-3
-2
39
25
0
0
0
0
0
0
0
0
0
0
-28
-49
-39
-4
-2
-2
1
-9
1
0
0
0
0
0
0
0
0
66
55
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
-60
-116
-75
-100
-14
-32
-5
-63
0
0
0
0
0
0
0
0
0
-2
-129
0
-42
-11
-38
-27
-45
15
5
0
0
0
0
0
0
0
-16
50
-139
43
71
-53
-6
-7
-6
14
0
0
0
0
0
0
0
67
1
-37
-51
12
35
-7
0
-11
-1
0
0
0
0
0
0
0
-90
-59
-74
-52
42
13
28
24
0
0
0
0
0
0
0
0
0
83
52
80
-31
15
-43
0
5
-4
0
0
0
0
0
0
0
0
64
-9
14
-16
-19
0
-4
-1
0
0
0
0
0
0
0
0
0
21
21
7
26
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
61
-14
-7
12
-148
-17
62
0
-6
0
0
0
0
0
0
0
45
-33
-4
-10
51
-146
73
23
-4
2
0
0
0
0
0
0
0
-71
-111
11
-28
4
-43
-65
46
-11
0
0
0
0
0
0
0
0
-29
-135
69
-82
-20
20
23
-26
-2
0
0
0
0
0
0
0
0
6
4
107
76
-105
-58
-3
-39
-7
3
0
0
0
0
0
0
0
67
-2
33
35
-22
1
25
-21
-6
0
0
0
0
0
0
0
0
61
162
111
14
2
-13
-3
18
3
0
0
0
0
0
0
0
0
26
33
18
-1
4
0
4
2
0
0
0
0
0
0
0
0
0
4
19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
9
50
-26
62
229
24
0
19
0
0
0
0
0
0
0
0
-31
104
72
-41
20
-104
11
49
-18
2
2
0
0
0
0
0
0
-45
30
-15
-108
-13
-4
-172
-49
-2
0
0
0
0
0
0
0
0
-22
-13
-65
31
-14
-102
-111
-4
0
0
0
0
0
0
0
0
0
-49
-46
38
59
-59
66
46
31
-1
0
0
0
0
0
0
0
0
53
-96
54
53
14
-23
51
76
0
0
0
0
0
0
0
0
0
-50
35
-34
-10
-13
-1
18
15
0
0
0
0
0
0
0
0
0
30
15
53
-1
-4
1
-17
0
0
0
0
0
0
0
0
0
0
18
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
12
37
-2
-31
104
0
16
-1
0
0
0
0
0
0
0
0
82
3
-5
-53
14
72
-9
1
-1
0
0
0
0
0
0
0
0
62
-4
35
-118
-21
31
-33
-13
0
0
0
0
0
0
0
0
0
-94
34
-14
-31
50
121
19
6
0
0
0
0
0
0
0
0
0
-6
-76
-13
-30
-27
-9
7
-5
0
0
0
0
0
0
0
0
0
52
33
-32
36
-44
-8
1
-1
-4
0
0
0
0
0
0
0
0
12
-40
-14
-8
-4
-5
1
1
0
0
0
0
0
0
0
0
0
20
13
10
-3
0
5
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
0
0
-11
-27
-33
-29
63
0
-2
7
-1
0
0
0
0
0
0
0
0
-48
-86
-48
46
-71
-43
14
2
5
0
0
0
0
0
0
0
0
-53
-10
1
-5
-30
17
2
0
0
0
0
0
0
0
0
0
0
-50
23
-44
-11
-21
6
-17
0
0
0
0
0
0
0
0
0
0
-6
-4
25
-11
1
-10
0
2
0
0
0
0
0
0
0
0
0
-45
-1
-2
0
0
0
2
0
1
0
0
0
0
0
0
0
0
26
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
-61
90
0
-6
0
0
0
0
0
0
0
0
0
0
0
-4
-14
22
14
-11
-3
5
0
0
0
0
0
0
0
0
0
0
4
14
6
26
10
-78
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
-11
53
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
29
-39
5
10
-4
4
0
0
0
0
0
0
0
0
0
0
0
4
-1
-3
39
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
2
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
-16
2
-35
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
-25
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
5
-11
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
-5
-11
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
43
-11
7
44
43
56
-11
0
0
0
0
0
0
0
0
0
-11
0
2
0
10
-8
-47
4
0
0
0
0
0
0
0
0
0
8
-10
0
2
0
-8
0
4
-3
0
0
0
0
0
0
0
0
3
7
-3
0
-10
2
-5
0
-4
0
0
0
0
0
0
0
0
0
2
2
98
-4
-4
10
3
0
0
0
0
0
0
0
0
0
2
-3
-3
17
-1
0
-4
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
-8
-27
1
-6
0
0
0
0
0
0
0
0
0
0
0
3
13
-29
34
-20
3
49
-3
-2
0
0
0
0
0
0
0
0
-13
51
0
2
-5
-3
9
35
0
0
0
0
0
0
0
0
0
-14
-22
7
0
0
-6
0
0
2
0
0
0
0
0
0
0
0
-20
-26
-4
0
5
-9
5
-9
0
0
0
0
0
0
0
0
0
1
2
25
3
46
0
1
0
-1
0
0
0
0
0
0
0
0
0
21
-14
-1
-4
6
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
5
0
-4
13
0
0
0
0
0
0
0
0
0
0
0
-8
36
17
3
-7
-5
0
-2
0
0
0
0
0
0
0
0
1
-83
-80
0
-1
2
-15
60
1
0
0
0
0
0
0
0
0
14
8
4
2
0
-2
-8
1
-1
0
0
0
0
0
0
0
0
-19
7
23
-8
0
2
2
0
0
0
0
0
0
0
0
0
0
-14
-44
-6
56
3
-13
0
-1
-1
0
0
0
0
0
0
0
0
-6
29
66
-24
-3
-13
0
0
0
0
0
0
0
0
0
0
0
3
43
-1
-11
0
0
0
0
0
0
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
-14
33
-16
-33
-39
-22
15
0
-1
0
0
0
0
0
0
0
-20
49
21
10
69
51
44
-33
14
0
0
0
0
0
0
0
0
21
-61
25
-56
3
-23
-5
17
10
0
0
0
0
0
0
0
0
-24
24
71
29
8
0
-1
-14
1
0
0
0
0
0
0
0
0
-27
-16
-47
-30
0
0
4
14
0
0
0
0
0
0
0
0
0
-61
-17
14
3
7
-3
5
0
0
1
0
0
0
0
0
0
0
-3
-13
7
-31
-6
0
0
-1
0
0
0
0
0
0
0
0
0
-1
1
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
-14
-14
-56
16
14
-9
34
16
0
0
0
0
0
0
0
0
0
71
-111
28
5
15
-7
35
24
0
0
0
0
0
0
0
0
0
18
-53
36
107
-99
-46
17
9
-3
0
0
0
0
0
0
0
0
16
-1
-23
-33
24
-2
-1
0
-3
0
0
0
0
0
0
0
0
5
-15
8
-5
3
0
-2
0
1
0
0
0
0
0
0
0
0
46
-31
82
-5
10
5
2
7
0
0
0
0
0
0
0
0
0
19
45
24
2
22
7
0
1
-14
0
0
0
0
0
0
0
0
7
-36
29
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-50
-104
-5
77
20
9
64
0
-3
0
0
0
0
0
0
0
102
55
31
-63
27
-45
-54
56
23
0
3
0
0
0
0
0
0
-96
-45
-30
45
-75
59
33
21
0
13
0
0
0
0
0
0
0
5
5
-13
-1
-55
-62
1
0
-1
2
0
0
0
0
0
0
0
13
-51
17
9
-20
35
-4
0
0
10
0
0
0
0
0
0
0
1
-27
-71
6
-14
-23
23
6
-10
0
0
0
0
0
0
0
0
4
-14
-43
69
-5
15
-4
-3
1
0
0
0
0
0
0
0
0
14
-83
39
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
68
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
24
-84
-32
-2
19
-7
71
0
10
0
0
0
0
0
0
0
45
-15
2
-16
-25
-57
27
6
5
-5
-4
0
0
0
0
0
0
-26
-32
-3
-5
14
-109
55
-97
-26
-1
0
0
0
0
0
0
0
-66
-27
8
24
-47
-6
-14
-14
2
0
0
0
0
0
0
0
0
48
75
10
-90
-23
50
67
0
-1
0
0
0
0
0
0
0
0
-7
81
-24
35
-49
-53
-3
15
0
3
0
0
0
0
0
0
0
-15
-5
-14
-56
49
3
14
-10
4
0
0
0
0
0
0
0
0
21
126
95
55
7
3
0
0
7
0
0
0
0
0
0
0
0
-35
-5
95
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
17
12
-1
44
-62
3
7
0
19
-1
0
0
0
0
0
0
0
24
-95
11
-27
18
18
80
31
52
-2
0
0
0
0
0
0
0
-1
2
-22
58
-26
-131
46
7
8
0
0
0
0
0
0
0
0
4
-74
-19
-36
30
64
-6
-26
5
0
0
0
0
0
0
0
0
153
-90
44
99
38
11
8
-2
0
0
0
0
0
0
0
0
0
-26
22
24
-55
-65
-8
-1
32
5
0
0
0
0
0
0
0
0
81
9
-52
-10
6
6
1
32
-13
0
0
0
0
0
0
0
0
7
2
-7
-19
0
-2
4
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
0
0
60
-5
-6
16
38
-3
0
2
-1
0
0
0
0
0
0
0
0
4
-92
0
-18
131
-49
45
-68
-1
0
0
0
0
0
0
0
0
10
-22
35
41
45
71
7
3
0
0
0
0
0
0
0
0
0
48
13
-10
26
-49
7
45
1
0
0
0
0
0
0
0
0
0
6
35
20
32
15
3
-2
0
0
0
0
0
0
0
0
0
0
-45
-10
55
8
53
27
0
1
0
0
0
0
0
0
0
0
0
-10
43
-23
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
-14
-14
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
-34
0
-25
14
-52
0
2
2
-4
0
0
0
0
0
0
0
0
6
-30
113
6
-2
-9
2
3
0
0
0
0
0
0
0
0
0
16
48
33
-89
21
-45
-22
0
0
0
0
0
0
0
0
0
0
-15
-27
-34
1
43
-11
-2
0
0
0
0
0
0
0
0
0
0
5
1
3
2
-21
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
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
44
-1
3
-11
1
0
0
0
0
0
0
0
0
0
0
0
-9
0
-14
14
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
-9
0
-17
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
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-17
11
-3
-11
0
-2
5
0
0
0
0
0
0
0
0
0
0
17
-13
-3
-26
7
-5
0
0
0
0
0
0
0
0
0
0
5
0
8
-17
-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
64
-9
9
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
46
-2
-17
0
0
0
9
0
0
0
0
0
0
0
0
0
0
7
2
-25
8
0
-14
0
-9
0
0
0
0
0
0
0
0
0
-19
-11
62
-3
9
26
3
0
0
0
0
0
0
0
0
0
-5
0
0
0
-19
-9
0
1
-21
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
15
-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
7
-4
-3
0
0
2
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
-23
-15
6
-7
13
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
-55
-15
0
10
8
0
0
0
0
0
0
0
0
0
3
0
-7
-11
9
2
-20
-4
11
0
0
0
0
0
0
0
0
-27
53
0
-6
0
-3
4
-2
2
0
0
0
0
0
0
0
0
-4
-14
0
0
0
0
-4
0
11
0
0
0
0
0
0
0
0
-29
-26
0
0
1
-1
5
9
0
0
0
0
0
0
0
0
0
53
4
-26
4
23
0
-25
-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
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-1
11
15
-4
-1
7
0
0
0
0
0
0
0
0
0
0
3
-18
45
25
3
26
-18
0
0
0
0
0
0
0
0
0
4
43
-43
54
-43
26
-1
26
1
0
0
0
0
0
0
0
0
-5
-25
3
2
6
-3
-27
-8
-9
0
0
0
0
0
0
0
0
0
-23
-29
1
0
0
3
0
8
0
0
0
0
0
0
0
0
-6
-3
-6
0
0
0
57
-4
0
0
0
0
0
0
0
0
0
29
25
-4
31
-13
-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
-32
18
14
19
35
22
24
0
0
0
0
0
0
0
0
0
0
-14
-89
46
-56
-10
-45
-29
7
0
0
0
0
0
0
0
0
0
-33
-15
6
26
76
37
-19
14
0
0
0
0
0
0
0
0
2
-46
2
46
5
-4
-4
13
0
0
0
0
0
0
0
0
0
-14
-32
90
-3
0
0
0
-9
-1
0
0
0
0
0
0
0
0
-2
21
66
99
2
0
0
19
1
-10
0
0
0
0
0
0
0
31
-57
35
-6
-2
13
0
0
0
0
0
0
0
0
0
0
0
2
-11
-2
39
2
0
0
1
0
0
0
0
0
0
0
0
0
-46
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
51
20
92
13
5
14
-15
0
0
0
0
0
0
0
0
0
-5
-49
23
55
11
-15
24
47
1
0
0
0
0
0
0
0
0
-50
77
98
14
-1
1
-48
5
0
0
0
0
0
0
0
0
0
11
37
14
-81
18
-3
0
0
0
-2
0
0
0
0
0
0
0
-5
-12
43
14
-32
1
0
0
-5
0
0
0
0
0
0
0
0
-33
-17
36
-30
-5
1
0
0
-21
-2
0
0
0
0
0
0
0
-13
33
39
-11
-2
3
0
-15
0
0
0
0
0
0
0
0
0
-15
-21
-5
0
-2
-4
-1
0
-1
0
0
0
0
0
0
0
0
19
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
43
-9
46
-55
3
17
-14
0
-2
0
0
0
0
0
0
0
39
24
105
-18
-8
97
-19
35
14
0
0
0
0
0
0
0
0
-35
-72
-27
-17
50
25
32
-22
-1
-8
0
0
0
0
0
0
0
-15
-79
82
-3
101
-16
0
1
0
-4
0
0
0
0
0
0
0
5
66
71
-5
-57
-20
0
0
0
0
0
0
0
0
0
0
0
4
23
22
60
-63
-14
4
0
0
-2
0
0
0
0
0
0
0
-35
-65
-72
-40
-33
71
-4
24
-7
0
0
0
0
0
0
0
0
25
19
22
33
25
-21
0
18
0
0
0
0
0
0
0
0
0
23
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
9
16
44
-12
131
-26
35
0
-1
0
0
0
0
0
0
0
120
88
-32
-19
64
43
66
-108
-60
-2
-3
0
0
0
0
0
0
5
99
24
51
-56
-25
44
19
5
17
0
0
0
0
0
0
0
34
25
-38
-16
52
58
-38
-43
-2
0
0
0
0
0
0
0
0
41
-119
4
-154
54
-27
-78
-1
0
0
0
0
0
0
0
0
0
76
-22
-55
16
-47
79
43
-1
0
0
0
0
0
0
0
0
0
-16
-31
-106
-63
77
75
19
37
0
0
0
0
0
0
0
0
0
-26
-55
-85
19
-3
-2
5
0
-3
5
0
0
0
0
0
0
0
0
-14
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
37
-64
80
85
26
-19
0
9
-10
0
0
0
0
0
0
0
7
29
-111
-5
43
27
64
5
3
-1
0
0
0
0
0
0
0
-17
-30
81
6
12
-3
-90
39
-18
1
0
0
0
0
0
0
0
-2
59
13
-22
-14
54
-20
-19
-1
0
0
0
0
0
0
0
0
22
-30
8
11
3
-77
-11
2
0
0
0
0
0
0
0
0
0
82
76
-27
-11
80
-52
0
0
0
0
0
0
0
0
0
0
0
13
-86
-15
118
-92
78
-25
29
2
0
0
0
0
0
0
0
0
-80
-40
34
-45
-10
1
1
2
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
0
0
-1
-39
-35
1
42
82
0
14
-9
-9
0
0
0
0
0
0
0
28
-9
-3
26
5
-31
25
1
1
0
0
0
0
0
0
0
0
68
-5
7
48
26
59
-9
14
-1
1
0
0
0
0
0
0
0
-74
39
36
2
9
-5
-11
0
0
0
0
0
0
0
0
0
0
-33
35
-37
25
-10
33
-2
0
0
0
0
0
0
0
0
0
0
33
-19
-66
-52
17
4
4
0
0
0
0
0
0
0
0
0
0
-51
-7
-4
-5
-2
-4
0
18
0
0
0
0
0
0
0
0
0
53
13
14
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
-21
-1
-18
7
8
0
-2
5
0
0
0
0
0
0
0
0
0
1
16
-43
-20
-5
3
-1
0
0
0
0
0
0
0
0
0
0
-1
-14
14
-6
4
-16
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
-4
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-2
-5
1
-1
3
0
0
0
0
0
0
0
0
0
0
14
-5
0
-5
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-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
-19
0
0
0
0
0
0
0
0
0
-1
-3
-6
0
-53
31
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-25
-9
-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
10
-1
16
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
-5
-4
5
0
11
16
1
0
0
0
0
0
0
0
0
0
44
-2
5
0
-26
7
-2
5
0
0
0
0
0
0
0
0
0
2
1
0
-9
4
-14
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
10
0
1
-10
-9
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
-14
16
3
3
7
-7
0
0
0
0
0
0
0
0
0
0
5
13
36
-34
46
31
4
-1
4
0
0
0
0
0
0
0
0
-1
-7
-41
-2
24
-2
-4
15
0
0
0
0
0
0
0
0
0
7
0
17
5
2
0
15
0
1
0
0
0
0
0
0
0
0
0
14
0
-5
0
21
-1
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
49
21
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
9
0
-8
-26
-7
-35
0
0
0
0
0
0
0
0
0
0
0
10
-36
-45
-26
-56
-9
4
0
0
0
0
0
0
0
0
0
-15
24
61
1
5
-14
-10
2
-2
0
0
0
0
0
0
0
0
0
-61
-19
-31
-53
43
5
13
0
0
0
0
0
0
0
0
0
-1
-32
45
-4
0
2
-20
-1
-4
0
0
0
0
0
0
0
0
0
-14
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
54
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
14
33
0
-26
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
-54
3
-13
0
5
-45
-24
0
0
0
0
0
0
0
0
0
0
-35
-55
5
-33
-1
80
6
-5
0
0
0
0
0
0
0
0
5
90
-7
10
-17
43
1
-32
3
0
0
0
0
0
0
0
0
2
-59
-18
-20
43
45
-19
-6
-3
0
0
0
0
0
0
0
0
2
96
17
-30
-17
0
0
77
4
0
0
0
0
0
0
0
0
31
-4
1
33
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-20
-7
1
0
10
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
37
25
7
29
-11
20
16
-52
0
0
0
0
0
0
0
0
0
39
-72
-2
-62
-74
-14
0
61
25
0
0
0
0
0
0
0
0
-17
35
12
-35
71
-7
2
-43
-2
0
0
0
0
0
0
0
0
58
-54
-15
-9
71
25
62
6
0
0
0
0
0
0
0
0
0
21
3
34
7
71
1
0
0
0
0
0
0
0
0
0
0
0
8
49
-11
31
-16
0
0
0
4
0
0
0
0
0
0
0
0
-9
18
82
29
-22
0
0
0
6
-2
0
0
0
0
0
0
0
57
-37
-7
-17
-6
-6
-2
-9
0
0
0
0
0
0
0
0
0
34
4
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
21
-5
13
87
56
48
0
0
0
0
0
0
0
0
0
0
-53
-109
-31
-56
-114
-40
5
27
-32
3
0
0
0
0
0
0
0
-5
15
14
67
31
55
44
41
-55
15
0
0
0
0
0
0
0
40
110
50
4
-95
23
79
-43
-5
0
0
0
0
0
0
0
0
42
27
3
-4
152
-49
9
-7
-1
-2
0
0
0
0
0
0
0
68
-9
-14
-85
5
17
0
0
0
0
0
0
0
0
0
0
0
-13
-46
-5
6
2
-1
-5
0
0
0
0
0
0
0
0
0
0
9
-58
-4
5
-1
3
-2
0
0
0
0
0
0
0
0
0
0
17
-25
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
-55
61
71
33
78
-17
0
-4
0
0
0
0
0
0
0
68
49
69
42
12
35
5
-16
53
9
0
0
0
0
0
0
0
3
-17
31
3
-15
51
100
59
4
-15
5
0
0
0
0
0
0
15
-20
15
93
-28
-7
12
134
0
-6
0
0
0
0
0
0
0
-1
-11
66
-59
21
-35
-60
4
-1
0
0
0
0
0
0
0
0
-84
-25
15
-19
6
10
-32
0
0
0
0
0
0
0
0
0
0
15
-29
39
64
-74
56
31
0
0
0
0
0
0
0
0
0
0
-7
-65
24
-25
-10
-19
-3
-14
2
0
0
0
0
0
0
0
0
-51
-3
-75
17
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
44
-9
14
-35
-26
64
19
0
-2
-2
0
0
0
0
0
0
0
-25
48
72
41
-26
-54
14
19
-15
1
0
0
0
0
0
0
0
73
11
-44
-4
132
71
24
-35
-20
-2
0
0
0
0
0
0
0
-54
-51
33
51
-31
-108
43
45
-13
0
0
0
0
0
0
0
0
12
5
-41
-38
-48
-28
-25
2
0
0
0
0
0
0
0
0
0
-25
-29
44
-15
-10
-19
53
2
0
0
0
0
0
0
0
0
0
6
-68
-84
-18
33
54
8
1
0
0
0
0
0
0
0
0
0
-23
-15
-30
65
6
13
4
-3
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
0
21
4
0
20
11
41
0
4
0
0
0
0
0
0
0
0
0
16
65
30
-18
30
-1
-21
4
-1
0
0
0
0
0
0
0
0
33
59
-15
29
0
90
3
-26
0
0
0
0
0
0
0
0
0
-34
-14
17
-20
34
19
-10
7
-1
0
0
0
0
0
0
0
0
54
83
-2
-49
-25
22
8
0
0
0
0
0
0
0
0
0
0
30
2
9
45
0
0
-6
0
0
0
0
0
0
0
0
0
0
-60
-16
-10
3
5
1
0
0
0
0
0
0
0
0
0
0
0
17
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
-26
4
-59
0
0
0
0
0
0
0
0
0
0
0
0
-39
-14
-5
24
0
53
0
6
0
0
0
0
0
0
0
0
0
17
-14
-2
-21
-27
-2
2
0
0
0
0
0
0
0
0
0
0
0
1
-9
-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
-10
-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
11
0
1
-1
1
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
-9
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
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
-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
-9
1
-47
-16
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
-24
-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
-45
20
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
-11
-14
0
-3
0
-1
0
0
0
0
0
0
0
0
-6
1
11
46
-7
2
0
4
-5
0
0
0
0
0
0
0
0
0
31
0
0
0
2
0
-4
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
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
-10
-4
0
7
0
0
0
0
0
0
0
0
0
0
0
37
34
-5
11
0
2
8
5
0
0
0
0
0
0
0
0
0
-5
13
-21
-13
10
5
-8
0
0
0
0
0
0
0
0
0
-2
5
-1
-21
-15
8
-15
2
0
0
0
0
0
0
0
0
0
0
2
23
-14
53
26
-13
0
-9
0
0
0
0
0
0
0
0
0
-27
-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
11
63
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
59
0
6
10
-4
-9
13
0
0
0
0
0
0
0
0
0
-3
-25
41
4
8
4
44
2
0
0
0
0
0
0
0
0
0
2
0
25
-1
-33
-34
17
-18
-3
0
0
0
0
0
0
0
0
0
6
0
64
74
-26
0
-36
3
1
0
0
0
0
0
0
0
0
33
-24
-3
33
-1
-3
-4
1
0
0
0
0
0
0
0
0
1
-55
7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
46
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-33
1
54
0
0
0
-4
0
0
0
0
0
0
0
0
0
-15
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-23
21
-1
-5
-26
-9
0
0
0
0
0
0
0
0
0
-1
9
53
-27
-6
-35
2
-26
-2
0
0
0
0
0
0
0
0
-11
-63
-59
-66
-47
66
-31
-6
-13
0
0
0
0
0
0
0
0
0
-25
54
44
43
-33
32
-2
1
-5
0
0
0
0
0
0
0
19
99
41
-6
13
-5
3
-3
1
0
0
0
0
0
0
0
0
10
-23
62
-16
-49
0
0
4
0
0
0
0
0
0
0
0
0
-15
43
-30
-81
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
24
-60
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
33
6
62
-35
17
51
16
35
0
5
0
0
0
0
0
0
0
33
-45
-21
-95
-11
2
-4
-16
11
0
0
0
0
0
0
0
0
-51
43
18
-45
5
1
-13
53
-9
-2
0
0
0
0
0
0
0
72
75
80
-25
29
152
75
1
-20
0
0
0
0
0
0
0
0
-6
-78
-93
-6
126
-45
18
-1
-5
0
0
0
0
0
0
0
0
31
76
43
-35
-51
-52
1
0
0
-1
0
0
0
0
0
0
0
-29
37
-32
8
-9
-10
0
0
0
0
0
0
0
0
0
0
0
-3
-13
-2
5
22
9
0
0
0
0
0
0
0
0
0
0
0
25
-37
-5
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
86
14
-32
-33
-55
17
-50
-7
0
7
0
0
0
0
0
0
0
23
91
-13
19
-19
98
20
-37
-14
0
0
0
0
0
0
0
0
113
-98
-38
0
16
-6
135
32
28
-1
0
0
0
0
0
0
0
-51
119
66
-5
20
113
-26
71
28
14
0
0
0
0
0
0
0
-33
62
73
45
-39
-38
27
136
-3
36
0
0
0
0
0
0
0
-18
-54
-23
7
-11
-17
24
0
-1
0
0
0
0
0
0
0
0
-53
-15
-17
0
45
1
5
0
0
0
0
0
0
0
0
0
0
-42
37
14
-27
10
11
-7
0
0
0
0
0
0
0
0
0
0
-97
-15
98
-18
0
-11
0
2
0
0
0
0
0
0
0
0
0
0
44
70
33
4
-21
-9
5
0
-3
6
0
0
0
0
0
0
0
-33
-51
-63
-15
11
39
69
32
-68
2
0
0
0
0
0
0
0
-20
-87
1
-111
50
-6
22
60
4
4
0
0
0
0
0
0
0
-32
50
2
131
-23
36
67
5
-16
0
0
0
0
0
0
0
0
54
-59
112
47
-34
40
-23
39
1
0
0
0
0
0
0
0
0
4
39
-60
-20
-59
1
-49
2
0
0
0
0
0
0
0
0
0
-18
-77
-8
105
-13
-11
-21
0
0
0
0
0
0
0
0
0
0
-72
1
-5
17
-25
-23
8
0
0
0
0
0
0
0
0
0
0
24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
9
11
32
17
-51
0
-4
0
0
0
0
0
0
0
0
0
-16
-80
7
81
2
22
21
-2
0
0
0
0
0
0
0
0
0
85
54
12
-51
-17
22
4
-30
0
0
0
0
0
0
0
0
0
24
16
55
5
-15
-29
5
-5
1
0
0
0
0
0
0
0
0
10
-30
-47
14
49
-4
1
2
0
0
0
0
0
0
0
0
0
52
5
9
-44
-11
1
1
0
0
0
0
0
0
0
0
0
0
21
16
-5
14
-1
11
-1
0
0
0
0
0
0
0
0
0
0
95
11
-33
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
13
6
27
-52
-6
8
-17
0
0
0
0
0
0
0
0
0
0
-58
13
-3
11
11
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
2
2
0
0
0
0
0
0
0
0
0
0
0
4
-18
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
9
1
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
11
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
-9
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
-21
-2
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-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
9
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
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
50
20
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
-24
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
48
2
-5
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
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
43
14
-2
25
15
3
-17
0
0
0
0
0
0
0
0
0
0
-1
21
31
48
17
-41
-5
9
0
0
0
0
0
0
0
0
-1
-10
-23
-17
51
33
-15
5
6
0
0
0
0
0
0
0
0
11
-5
-4
-4
17
11
0
-2
1
0
0
0
0
0
0
0
0
0
-33
-3
-29
29
43
5
0
0
0
0
0
0
0
0
0
0
8
-3
-26
5
31
0
0
0
5
0
0
0
0
0
0
0
0
-1
17
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-10
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-3
0
24
3
-19
0
0
0
0
0
0
0
0
0
0
6
29
27
9
-21
4
14
-27
-2
0
0
0
0
0
0
0
0
-6
-5
-1
-37
-15
-13
-76
-3
5
-10
0
0
0
0
0
0
0
13
63
1
-16
32
-5
36
20
0
1
0
0
0
0
0
0
0
27
-32
53
-54
-26
-13
31
-10
-8
0
0
0
0
0
0
0
0
2
5
-61
-72
30
-14
-4
13
7
0
0
0
0
0
0
0
0
0
-31
0
-8
29
17
0
0
0
0
0
0
0
0
0
0
0
-1
-53
-10
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
51
-55
27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-60
-18
-46
-14
-5
-5
-10
0
0
0
0
0
0
0
0
0
-37
-58
93
14
-52
77
21
-6
-24
5
0
0
0
0
0
0
0
6
-32
-35
32
42
48
3
60
-2
18
0
0
0
0
0
0
0
38
35
5
-62
32
78
25
43
13
-7
0
0
0
0
0
0
0
-37
45
99
15
21
-6
-68
-29
11
0
0
0
0
0
0
0
0
-77
-60
-42
43
-14
-35
44
15
0
1
0
0
0
0
0
0
0
42
-1
-5
37
-58
24
-10
0
0
0
0
0
0
0
0
0
0
-64
-24
-1
45
21
-9
-3
0
0
0
0
0
0
0
0
0
0
37
-46
-20
34
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
40
-50
-73
-54
31
-18
0
0
0
0
0
0
0
0
0
0
14
66
14
-25
-3
15
-43
66
29
-1
0
0
0
0
0
0
0
-2
-4
28
14
28
-21
96
36
35
0
0
0
0
0
0
0
0
-11
55
50
11
20
50
19
44
4
0
0
0
0
0
0
0
0
103
100
-4
52
4
-45
-16
69
0
0
0
0
0
0
0
0
0
-73
-4
26
7
55
20
-10
21
0
0
0
0
0
0
0
0
0
-87
3
-21
-3
78
32
11
0
0
0
0
0
0
0
0
0
0
14
7
-24
-26
4
-3
-6
0
0
0
0
0
0
0
0
0
0
24
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-11
10
-3
-8
-39
0
-3
0
0
0
0
0
0
0
0
0
8
19
54
-1
25
6
-27
-9
-1
0
0
0
0
0
0
0
0
1
10
68
-3
72
7
37
2
1
0
0
0
0
0
0
0
0
33
23
12
28
5
0
-5
1
0
0
0
0
0
0
0
0
0
7
46
-50
10
23
3
-2
0
0
0
0
0
0
0
0
0
0
1
1
0
33
5
25
0
0
0
0
0
0
0
0
0
0
0
-61
-7
71
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-1
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-49
15
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
19
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
-10
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
-15
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
-10
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
-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
-3
3
-7
2
-1
0
0
0
0
0
0
0
0
0
-1
1
0
-1
25
0
0
0
0
0
0
0
0
0
0
0
6
3
-5
1
20
6
-2
0
0
0
0
0
0
0
0
0
0
7
60
-20
14
25
-11
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
59
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
13
-1
-49
-7
11
-33
16
15
1
0
0
0
0
0
0
0
0
61
8
30
-21
-2
54
33
-4
10
0
0
0
0
0
0
0
0
3
-15
120
1
54
54
-36
46
4
0
0
0
0
0
0
0
0
82
14
51
-71
-31
64
-10
15
0
0
0
0
0
0
0
0
0
5
-71
5
-16
80
-39
9
13
0
0
0
0
0
0
0
0
0
-58
-46
29
-2
-30
2
0
0
0
0
0
0
0
0
0
0
0
-51
46
-25
-17
-14
-6
0
0
0
0
0
0
0
0
0
0
0
69
-13
17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
6
0
-3
0
9
-4
0
0
0
0
0
0
0
0
0
0
22
-2
1
0
2
-1
-3
-1
0
0
0
0
0
0
0
0
0
-16
-8
1
46
-29
-25
-5
8
-6
0
0
0
0
0
0
0
0
-10
18
-29
37
1
6
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-30
-43
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
26
-16
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
43
-4
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-11
-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
-1
0
2
10
-4
9
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
14
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
14
4
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
13
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
14
-12
51
4
-13
0
0
0
0
0
0
0
0
0
0
0
-6
2
15
3
80
-59
36
-52
0
0
0
0
0
0
0
0
0
0
-6
-7
-21
102
31
57
-96
0
0
0
0
0
0
0
0
0
-3
-4
-46
0
-1
29
-41
63
0
0
0
0
0
0
0
0
0
0
0
0
32
-24
-29
-31
32
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
1
-7
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-10
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-25
0
0
0
0
0
0
0
0
0
0
-2
-1
15
-11
56
0
0
0
0
0
0
0
0
0
0
0
0
5
-52
-100
-51
-12
0
0
0
0
0
0
0
0
0
0
0
-1
-58
-6
11
-53
30
57
51
-29
0
0
0
0
0
0
0
0
4
-9
-9
-3
37
-14
53
11
-9
0
0
0
0
0
0
0
0
4
-9
-3
-30
-49
-87
5
77
-98
0
0
0
0
0
0
0
0
-2
5
21
60
24
29
-131
-1
-14
0
0
0
0
0
0
0
0
0
-3
-1
-4
4
-22
19
-100
-48
0
0
0
0
0
0
0
0
0
0
0
-18
-3
2
33
-69
99
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
-15
0
0
0
23
0
0
0
0
0
0
0
0
0
1
10
72
13
0
0
0
57
0
0
0
0
0
0
0
-2
-3
-25
10
-4
40
0
29
5
55
0
0
0
0
0
0
0
-6
25
14
-7
-35
26
-29
-81
4
6
0
0
0
0
0
0
0
0
2
68
53
5
3
52
-1
34
3
0
0
0
0
0
0
0
0
-3
-6
0
1
80
5
2
-118
30
0
0
0
0
0
0
0
0
0
1
-1
-11
26
80
33
69
-5
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
9
-89
-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
-72
-39
0
0
0
0
0
0
-6
0
6
6
13
-106
0
0
0
-11
-2
0
0
0
0
0
0
0
9
-18
18
3
49
-24
-47
-56
2
-8
0
0
0
0
0
0
0
-1
-23
-5
34
15
13
-35
78
9
11
0
0
0
0
0
0
0
0
0
-1
-48
16
-15
-7
-78
-36
-11
0
0
0
0
0
0
0
0
1
20
55
-29
98
-69
-41
-43
-2
0
0
0
0
0
0
0
0
0
-6
-74
14
-16
-27
-27
9
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
14
6
10
0
0
0
0
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
0
0
0
-3
-1
0
0
0
0
0
0
0
-4
0
5
0
9
0
0
0
-66
-14
0
0
0
0
0
0
0
0
-2
-5
-10
0
55
68
33
-1
9
0
0
0
0
0
0
0
0
-1
-4
45
-26
-54
-23
76
53
-2
0
0
0
0
0
0
1
3
4
-13
-26
-1
-43
8
-10
15
-9
-15
0
0
0
0
0
0
-1
2
0
5
31
63
43
0
-6
-2
3
0
0
0
0
0
0
0
0
0
-24
-20
4
16
-10
2
-15
0
0
0
0
0
0
0
0
0
2
0
0
1
-1
14
-10
17
0
0
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
-13
-4
6
0
0
0
0
15
-2
1
0
0
0
0
0
1
-1
5
-31
-18
-56
-6
-56
-137
17
8
5
0
0
0
0
0
0
0
4
13
17
5
42
34
-8
-5
5
-3
0
0
0
0
0
0
-7
-1
0
9
25
20
-26
80
-34
45
-2
0
0
0
0
0
0
0
0
-1
5
-26
-6
1
33
-20
10
0
0
0
0
0
0
0
0
0
-2
-1
6
-14
-39
-10
-31
7
4
0
0
0
0
0
0
0
0
0
0
-1
7
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
7
8
0
0
0
0
0
0
0
0
4
-27
1
0
0
0
0
-26
36
-11
5
0
0
0
0
0
0
-1
-14
-34
-23
-49
38
-66
18
-6
5
-4
0
0
0
0
0
0
0
-7
1
-13
75
46
-1
5
-2
-6
-3
0
0
0
0
0
0
-3
0
4
27
-21
-25
-5
-58
50
3
0
0
0
0
0
0
0
0
-1
-7
-1
-72
9
-53
2
-1
-1
0
0
0
0
0
0
0
0
-2
-3
0
-1
8
5
23
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
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
46
5
0
0
0
0
0
0
0
0
6
0
2
3
0
0
0
-73
1
1
-2
0
0
0
0
0
0
0
0
-2
-5
1
-83
45
6
-33
0
2
0
0
0
0
0
0
0
2
0
5
31
134
-4
-49
-5
4
0
3
0
0
0
0
0
0
0
1
22
-18
-11
64
-3
23
0
-5
-1
0
0
0
0
0
0
0
0
-5
2
19
-20
9
1
2
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
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
-7
-1
19
0
0
0
0
0
0
0
0
0
0
0
-29
-10
-9
42
53
-123
0
0
0
0
0
0
0
0
0
0
0
3
91
17
29
5
-37
45
-27
0
0
0
0
0
0
0
0
0
1
10
-2
-1
8
26
29
57
0
0
0
0
0
0
0
0
0
5
2
-11
36
30
118
12
36
0
0
0
0
0
0
0
0
0
-1
7
-26
57
-8
-76
0
43
0
0
0
0
0
0
0
0
0
0
0
-16
0
24
-27
-15
-42
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
0
0
0
41
0
0
0
0
0
0
0
0
0
2
0
-20
9
-23
-89
0
0
0
0
0
0
0
0
0
0
0
-2
-57
-16
-41
116
-84
0
0
0
0
0
0
0
0
0
0
0
-17
-15
21
44
-9
-53
32
4
-21
0
0
0
0
0
0
0
0
26
22
27
-53
46
-26
-110
-84
-103
0
0
0
0
0
0
0
0
-8
-31
33
9
11
112
5
92
-45
0
0
0
0
0
0
0
0
1
-7
-7
-79
-24
13
-69
-2
89
0
0
0
0
0
0
0
0
0
0
5
-55
14
31
2
-77
77
0
0
0
0
0
0
0
0
0
0
0
65
-27
2
-9
-51
39
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
14
-36
70
0
0
0
33
0
0
0
0
0
0
0
-1
-20
-22
-26
44
92
0
0
0
71
0
0
0
0
0
0
0
0
-34
6
23
-50
-62
-44
-54
11
14
0
0
0
0
0
0
0
7
93
-66
-15
65
112
119
29
3
-3
0
0
0
0
0
0
0
-1
-3
9
-5
-38
33
5
72
5
21
0
0
0
0
0
0
0
-8
0
13
31
1
9
-41
-25
-40
16
0
0
0
0
0
0
0
0
0
0
-27
29
2
-10
48
-20
28
0
0
0
0
0
0
0
0
0
0
1
-3
35
-25
5
49
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
-109
8
0
0
0
8
-7
0
0
0
0
0
0
0
10
56
-82
75
-94
0
0
0
31
46
0
0
0
0
0
0
-2
25
-1
32
2
-13
79
-17
-46
50
5
0
0
0
0
0
0
0
-33
-9
-45
-61
-22
20
-56
6
32
-5
0
0
0
0
0
0
0
-4
-27
44
31
-16
-5
-111
3
23
-9
0
0
0
0
0
0
0
7
10
-2
-1
35
4
14
-25
102
-84
0
0
0
0
0
0
0
0
0
-8
27
-31
-15
13
80
6
0
0
0
0
0
0
0
0
0
0
5
-1
0
9
10
-73
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-9
5
4
0
0
0
0
0
0
1
5
0
0
0
31
0
0
0
85
-27
1
0
0
0
0
0
0
-2
-25
4
-25
58
0
0
0
-31
50
2
0
0
0
0
0
-1
-2
0
-25
-2
-79
-18
-2
-93
21
-3
5
0
0
0
0
0
0
5
1
-2
26
18
5
-165
-28
-24
-14
3
0
0
0
0
0
0
-4
0
-31
-14
33
54
-32
-3
-72
-20
5
0
0
0
0
0
0
0
0
-10
1
46
80
79
-97
-15
5
0
0
0
0
0
0
0
0
0
8
7
-36
-6
53
31
25
9
0
0
0
0
0
0
0
0
0
-2
0
-1
6
29
-100
3
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-20
43
0
0
-5
0
0
0
43
2
1
-1
0
0
0
0
0
-13
-65
6
-5
-61
0
0
0
-84
-60
-37
2
0
0
0
0
0
-7
-63
22
-34
-3
-51
10
-4
45
35
1
0
0
0
0
0
0
1
15
27
-105
-49
9
-37
18
-30
-33
-7
-3
0
0
0
0
0
0
3
-3
19
17
-1
22
-22
54
-11
-11
-6
0
0
0
0
0
0
4
-2
6
-45
20
-57
-23
-96
32
-3
0
0
0
0
0
0
0
0
5
25
32
5
-43
-3
11
10
3
0
0
0
0
0
0
0
0
0
-1
0
-3
-13
0
-13
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
-43
0
0
0
0
0
8
-14
-1
2
0
0
0
0
0
-5
-3
-7
-46
16
0
0
0
109
-18
-3
-6
0
0
0
0
0
0
34
73
2
29
73
-5
47
21
60
14
1
0
0
0
0
0
0
-9
-5
25
53
45
4
-35
6
-25
-3
1
0
0
0
0
0
0
1
-6
33
6
-46
29
-14
-54
76
-7
10
0
0
0
0
0
0
0
6
8
75
-53
46
14
-43
-34
10
0
0
0
0
0
0
0
0
0
-17
-18
-19
9
-7
-61
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
1
-33
-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
10
0
7
0
0
0
0
21
8
-5
-7
0
0
0
0
0
-3
0
-5
7
25
0
0
0
-10
-28
0
11
0
0
0
0
0
0
-6
-1
-5
0
-5
13
-12
-15
-18
21
3
0
0
0
0
0
0
0
-14
-8
-21
-29
-87
8
40
21
-13
3
0
0
0
0
0
0
0
-1
3
13
8
-43
-24
16
14
6
-6
4
0
0
0
0
0
0
-5
-8
3
1
32
17
-3
3
-5
1
0
0
0
0
0
0
0
0
0
-3
0
-2
-9
-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
-12
3
0
0
0
0
0
0
0
2
0
13
0
0
-8
-14
3
17
1
1
0
0
0
0
0
0
0
2
1
35
10
-43
-37
-4
-2
6
5
0
0
0
0
0
0
0
-2
0
-3
-19
-2
-13
6
-7
-3
4
-1
0
0
0
0
0
0
0
-2
1
-14
-8
18
-2
2
-8
-3
1
0
0
0
0
0
0
0
0
0
0
-1
2
-10
1
-9
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
2
-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
-9
16
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
14
-27
63
66
17
0
0
0
0
0
0
0
0
0
0
0
46
-40
-12
83
-8
44
0
0
0
0
0
0
0
0
0
0
0
13
23
5
76
-47
-62
-50
-67
0
0
0
0
0
0
0
0
0
1
4
-53
-5
15
-15
30
3
0
0
0
0
0
0
0
0
0
-8
3
-3
1
23
89
7
62
0
0
0
0
0
0
0
0
0
0
0
29
-1
-54
22
33
120
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
9
0
0
0
0
0
0
0
0
0
-8
-33
44
52
-35
-31
0
0
0
0
0
0
0
0
0
0
0
-22
-6
-7
-14
-60
1
0
0
0
0
0
0
0
0
0
0
0
0
69
79
-43
-13
-26
-41
-22
-11
0
0
0
0
0
0
0
0
0
20
59
-29
15
10
-83
17
-15
0
0
0
0
0
0
0
0
-1
15
-4
62
23
-10
-19
46
-8
0
0
0
0
0
0
0
0
6
-3
60
2
34
-6
-13
53
96
0
0
0
0
0
0
0
0
0
0
-1
19
6
-4
19
-44
76
0
0
0
0
0
0
0
0
0
-1
5
-7
-10
0
14
-54
62
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
1
21
25
-26
33
-14
0
0
0
-3
0
0
0
0
0
0
0
-6
-16
-14
-49
-63
35
0
0
0
-65
0
0
0
0
0
0
0
0
5
-18
71
88
55
75
-66
-174
4
0
0
0
0
0
0
0
0
4
-2
-14
19
65
17
133
-45
-14
0
0
0
0
0
0
0
2
-11
-13
34
-91
24
-27
-33
80
-41
0
0
0
0
0
0
0
0
10
6
11
-16
9
-15
-36
1
24
0
0
0
0
0
0
0
0
0
0
8
14
45
-39
9
-50
59
0
0
0
0
0
0
0
0
0
-1
-8
0
21
-5
43
-75
24
0
0
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
80
-5
27
0
0
0
-3
5
0
0
0
0
0
0
1
-9
-3
29
-26
-90
0
0
0
85
-53
0
0
0
0
0
0
0
-2
3
-19
-45
15
-15
-16
-67
-5
10
0
0
0
0
0
0
0
0
2
-6
-20
9
-71
43
-13
-42
3
0
0
0
0
0
0
0
-3
-1
34
-104
-2
-82
14
-81
-1
34
0
0
0
0
0
0
0
5
6
35
90
-31
-95
31
-37
36
-2
0
0
0
0
0
0
0
0
0
-11
14
31
2
0
-39
-50
5
0
0
0
0
0
0
0
0
0
2
-7
4
4
-19
-27
-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
-47
-5
0
0
0
-14
-2
-1
0
0
0
0
0
0
18
18
-5
-19
-163
0
0
0
-1
53
1
0
0
0
0
0
0
5
0
1
-23
15
-17
40
-16
17
74
8
0
0
0
0
0
0
3
0
0
10
-4
10
42
20
-36
51
3
0
0
0
0
0
0
0
0
-23
-32
-82
35
92
-64
17
1
0
0
0
0
0
0
0
0
1
1
-1
16
96
99
41
-21
1
4
0
0
0
0
0
0
0
0
0
0
2
-24
-14
7
47
3
0
0
0
0
0
0
0
0
0
0
0
0
7
-19
-13
11
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
-11
0
0
0
4
1
0
0
0
0
0
0
0
-6
7
8
25
27
0
0
0
-58
5
3
1
0
0
0
0
4
0
1
11
53
-15
-84
-67
-13
-49
30
-4
0
0
0
0
0
0
2
2
0
-16
39
17
121
69
24
-29
25
0
0
0
0
0
0
-14
2
1
-25
-2
0
24
-41
-20
-23
0
0
0
0
0
0
0
0
0
-6
-1
22
-96
-46
33
8
0
-3
0
0
0
0
0
0
0
0
0
-1
35
-77
-32
-24
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
13
-5
-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
10
-1
1
0
0
0
0
0
0
3
-5
-9
-11
0
0
0
0
-14
10
0
0
0
0
0
0
4
0
2
16
0
-1
-5
-27
-19
44
20
2
-1
0
0
0
0
0
6
-17
-14
10
-4
32
8
8
67
3
-5
6
-1
0
0
0
0
1
0
-14
36
-6
13
32
10
14
9
1
-2
0
0
0
0
0
2
0
5
-6
5
21
-52
26
16
0
0
0
0
0
0
0
0
0
0
0
3
7
-1
-13
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
-2
2
2
0
0
0
-39
-1
9
0
0
0
0
0
0
0
-32
-4
-3
6
0
0
0
-5
20
-27
-1
0
0
0
0
0
0
2
15
0
0
-2
-2
-76
-52
10
-10
0
1
0
0
0
0
-3
8
-1
-4
0
2
14
57
43
-20
-13
0
-2
0
0
0
0
0
-3
-3
0
-60
33
-53
27
9
-25
0
0
0
0
0
0
0
0
0
0
65
14
30
0
-35
-4
-3
-4
-3
0
0
0
0
0
0
0
0
1
0
-9
33
25
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
-14
1
-2
0
0
0
0
0
-2
-2
0
0
0
0
0
0
8
-2
15
1
-3
0
0
0
2
-1
-3
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
-10
0
-10
-14
4
-41
3
0
1
-2
0
0
0
0
0
0
20
-8
58
43
43
-1
-1
-9
0
5
1
0
0
0
0
0
0
0
-1
0
3
27
-100
1
0
-3
0
0
0
0
0
0
0
0
0
-3
5
-7
-13
-45
1
1
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
-8
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
3
-4
-11
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
16
3
4
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
0
0
-23
0
-3
0
3
0
0
0
0
0
0
0
0
0
1
-6
-2
6
-9
1
0
-3
3
0
0
0
0
0
0
0
0
0
0
-6
-1
14
-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
36
-51
0
-33
45
0
0
0
0
0
0
0
0
0
0
0
-6
18
23
16
34
108
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-53
-43
-33
-60
74
33
0
0
0
0
0
0
0
0
0
1
0
32
-34
10
-111
36
96
0
0
0
0
0
0
0
0
0
0
30
-40
-14
44
10
50
49
0
0
0
0
0
0
0
0
0
0
0
-14
-53
-11
4
33
-9
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
29
-10
21
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-10
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
6
0
0
0
0
0
0
0
0
0
21
12
-18
-11
21
51
0
0
0
0
0
0
0
0
0
0
0
35
4
-38
-12
-32
2
0
0
0
0
0
0
0
0
0
0
0
1
56
-65
1
-46
58
-2
-48
-12
0
0
0
0
0
0
0
0
0
21
30
-80
21
6
-33
62
2
0
0
0
0
0
0
0
0
0
0
-57
82
53
53
-31
33
71
0
0
0
0
0
0
0
0
0
-18
-14
-11
-82
60
-43
-38
-16
0
0
0
0
0
0
0
0
6
-8
3
6
-20
54
75
89
-5
0
0
0
0
0
0
0
0
0
0
0
4
0
-24
-92
33
-32
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
4
-11
59
-40
-15
6
0
0
0
-5
0
0
0
0
0
0
0
18
94
100
33
69
-67
0
0
0
16
0
0
0
0
0
0
0
0
-9
43
-27
-53
57
26
60
58
-76
0
0
0
0
0
0
0
0
0
1
-6
-46
-14
-11
71
139
-53
0
0
0
0
0
0
0
0
0
-2
18
24
53
-32
1
61
-25
0
0
0
0
0
0
0
0
1
-48
-2
-63
52
-11
86
94
56
0
0
0
0
0
0
0
3
0
3
13
49
68
-17
-43
42
-17
0
0
0
0
0
0
0
0
0
-15
10
-13
5
16
14
-106
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
11
-13
-6
-33
-16
-3
0
0
0
-43
1
0
0
0
0
0
0
0
-11
-44
38
18
16
0
0
0
-58
-14
0
0
0
0
0
0
0
-1
7
6
19
-9
51
22
-32
-18
-3
0
0
0
0
0
0
0
0
0
-1
50
24
48
42
5
29
5
0
0
0
0
0
0
1
0
0
17
119
0
3
56
-38
-47
-7
0
0
0
0
0
0
0
2
-10
27
-11
25
-60
-19
-50
4
4
0
0
0
0
0
0
0
0
0
23
-6
5
-50
-11
0
14
5
0
0
0
0
0
0
0
0
0
-4
0
-3
41
-51
44
-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
33
-5
8
-25
0
0
0
-14
0
0
0
0
0
0
0
0
-3
-4
-14
-80
-21
0
0
0
-14
-10
0
0
0
0
0
0
0
-49
0
-16
8
-5
113
-5
-54
22
-10
-3
0
0
0
0
0
0
8
1
0
-3
50
20
-21
-5
45
1
0
0
0
0
0
0
5
-1
0
-7
17
55
-55
129
8
5
8
0
0
0
0
0
0
0
0
5
3
22
-6
79
30
-34
-27
0
0
0
0
0
0
0
0
0
0
6
14
-50
-14
90
-56
-23
4
0
0
0
0
0
0
0
0
0
1
0
-14
-5
-16
-55
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
32
11
1
41
0
0
0
-17
6
-1
0
0
0
0
0
0
-6
-2
-14
7
-29
0
0
0
-44
55
0
0
0
0
0
0
0
0
-21
6
-2
0
-34
-21
-31
0
-13
0
0
0
0
0
0
0
0
-1
9
0
-34
-7
-30
23
-98
0
-3
0
0
0
0
0
0
-5
0
3
0
-1
57
-75
-1
48
-19
0
0
0
0
0
0
0
0
0
-9
-8
52
-5
-37
21
17
2
0
0
0
0
0
0
0
0
-6
0
2
5
14
0
42
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
5
11
-18
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
18
3
5
0
0
0
0
0
0
0
0
0
0
0
0
4
31
-1
-5
9
0
0
0
-9
-2
6
-1
0
0
0
0
0
2
3
-32
0
-3
-2
53
-9
7
24
-1
-1
0
0
0
0
0
0
10
0
1
0
-5
-29
-35
5
-5
-2
1
0
0
0
0
0
0
0
25
-3
2
-7
22
-32
33
-10
-1
-2
0
0
0
0
0
0
0
-3
-65
2
-24
8
7
4
0
0
0
0
0
0
0
0
0
0
0
3
5
33
-17
-6
5
2
0
0
0
0
0
0
0
0
0
0
0
0
15
2
-10
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
19
0
0
6
0
0
0
0
-3
0
0
0
0
0
0
0
1
-4
6
3
-18
0
0
0
61
2
-3
-4
0
0
0
0
-1
2
-13
2
-5
0
3
-3
36
-2
34
0
-2
0
0
0
0
0
-14
-1
2
0
15
0
2
-26
43
1
4
-8
4
0
0
0
0
0
1
-9
2
-2
0
3
5
6
9
4
-2
-3
0
0
0
0
-3
0
18
1
-20
-13
-44
-10
2
0
-3
0
0
0
0
0
0
0
0
0
-11
11
-4
31
-9
5
1
0
0
0
0
0
0
0
0
0
0
0
0
13
-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
9
0
1
0
0
0
2
0
0
0
0
0
0
0
0
5
18
-5
-1
-7
0
0
0
14
4
0
0
0
0
0
0
0
1
-1
21
-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
-11
-45
-3
-2
0
-2
-1
0
4
2
0
0
0
0
2
-1
-4
-11
-1
-5
-2
13
3
1
0
0
0
0
0
0
0
0
5
-10
-1
9
-25
-25
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
4
0
0
0
-25
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
-33
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
10
13
-10
-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
-14
-22
14
-19
36
115
0
0
0
0
0
0
0
0
0
0
-2
33
20
19
-34
-79
-72
0
0
0
0
0
0
0
0
0
0
0
43
4
-43
-7
-28
53
32
-89
0
0
0
0
0
0
0
0
0
2
-43
-17
-36
18
14
46
-3
0
0
0
0
0
0
0
0
0
0
-14
49
19
37
119
25
-68
0
0
0
0
0
0
0
0
0
0
0
-7
-33
17
42
-45
-1
0
0
0
0
0
0
0
0
0
0
0
1
20
9
-1
21
97
0
0
0
0
0
0
0
0
0
0
-2
0
-1
2
27
-5
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
85
0
0
0
0
0
0
0
0
0
-15
15
-31
-32
-1
-97
0
0
0
0
0
0
0
0
0
0
0
-16
-8
5
-10
-21
7
0
0
0
0
0
0
0
0
0
0
0
18
-68
-57
79
19
54
-23
-20
52
0
0
0
0
0
0
0
0
0
0
18
-5
53
34
19
-202
62
0
0
0
0
0
0
0
0
0
8
-19
-64
24
-20
-102
-75
-38
0
0
0
0
0
0
0
0
0
-4
34
75
-53
-31
45
59
24
0
0
0
0
0
0
0
0
-6
7
2
-13
-100
65
-30
-95
84
0
0
0
0
0
0
0
0
0
-1
-11
-27
5
-14
76
89
14
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
6
61
-11
0
0
0
0
0
0
0
0
6
2
69
-8
33
46
0
0
0
-14
0
0
0
0
0
0
0
-9
-24
33
-21
-6
-14
0
0
0
-85
0
0
0
0
0
0
0
-3
-3
-24
2
56
-28
82
9
-71
-14
0
0
0
0
0
0
0
0
0
-7
-28
-107
-110
4
66
-3
33
0
0
0
0
0
0
0
0
0
0
17
43
22
16
48
72
-35
0
0
0
0
0
0
0
0
0
0
-32
-29
44
-57
-6
3
-41
0
0
0
0
0
0
0
17
-5
3
2
-14
7
52
74
20
22
0
0
0
0
0
0
0
0
0
0
-5
11
-13
-26
36
5
30
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
14
-61
72
0
0
0
-32
0
0
0
0
0
0
0
-2
-5
73
21
-49
-89
0
0
0
4
4
0
0
0
0
0
0
-1
-13
34
-89
65
-29
-67
90
-43
-73
-1
0
0
0
0
0
0
3
0
0
-2
18
59
-20
-1
30
76
0
0
0
0
0
0
0
-4
0
0
0
22
23
-64
2
13
-33
0
0
0
0
0
0
0
0
0
0
-3
-2
-72
-13
-4
24
13
1
0
0
0
0
0
0
0
5
0
-5
10
42
-33
69
-2
-25
-2
0
0
0
0
0
0
0
0
0
2
-3
-5
-63
33
36
-13
-9
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
-27
-39
18
48
0
0
0
-34
-23
0
0
0
0
0
0
0
-1
14
41
-61
-10
0
0
0
-73
-14
-1
0
0
0
0
0
0
0
14
-15
-7
-46
-59
62
3
1
14
0
0
0
0
0
0
0
8
0
-3
15
9
-70
-60
-5
-11
0
-4
0
0
0
0
0
2
0
0
0
-1
-53
-20
-56
15
13
0
2
0
0
0
0
0
0
1
0
0
0
-46
-18
-11
30
20
-1
0
0
0
0
0
0
0
0
-3
-1
-16
-11
24
34
14
10
-1
0
0
0
0
0
0
0
0
0
0
6
-5
-1
-53
-39
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
-15
1
-3
0
0
0
5
-19
0
0
0
0
0
0
0
2
3
11
-13
-11
0
0
0
-22
14
0
0
0
0
0
0
4
-3
-13
22
-13
-5
-31
1
-98
-11
8
0
0
0
0
0
0
3
0
14
0
1
0
0
17
-33
-14
0
3
-1
0
0
0
0
0
0
3
-2
0
1
-35
33
-2
-42
0
0
0
0
0
0
0
0
0
0
0
0
-1
56
33
24
-4
5
0
0
0
0
0
0
0
0
0
-7
-14
-10
0
-29
-5
8
1
0
0
0
0
0
0
0
0
0
0
0
5
-18
0
-1
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
-14
0
0
0
0
2
0
0
0
0
0
0
0
0
4
-5
17
0
33
0
0
0
-25
0
0
-10
0
0
0
0
0
-1
-34
0
1
10
24
-53
-6
-1
-3
0
0
0
0
0
0
0
-1
41
0
0
0
2
49
3
-6
0
1
0
0
0
0
0
0
0
-6
-5
11
0
-8
17
-2
0
-3
1
0
0
0
0
0
0
0
2
-6
0
-2
0
-32
-6
2
-3
0
0
0
0
0
0
0
0
2
0
27
-4
4
1
22
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-5
4
3
32
-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
-17
0
-3
26
0
0
0
-5
0
0
1
-1
0
0
0
0
-3
-73
27
4
0
-22
21
-3
-1
1
1
0
0
0
0
0
0
0
20
6
-54
0
0
-5
14
-8
0
0
-1
-1
0
0
0
0
0
0
11
-2
0
0
0
-26
1
0
-2
0
0
0
0
0
0
0
-2
-5
-46
0
-2
-2
-63
-1
9
11
0
0
0
0
0
0
0
0
0
0
-9
-4
5
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-4
-8
-27
0
0
0
0
0
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
13
-5
-5
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
-1
5
-7
1
4
-7
-7
62
2
-1
0
0
0
0
0
0
0
0
-1
52
2
18
0
0
0
2
0
1
0
0
0
0
0
0
0
0
-17
-10
-1
-4
0
0
4
6
0
-1
0
0
0
0
0
0
0
-4
3
22
0
-1
0
1
3
0
0
0
0
0
0
0
0
3
0
-5
2
-24
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
2
21
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
-9
-3
0
2
-1
17
0
0
0
0
0
0
0
0
0
-10
9
0
-2
-7
16
-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
10
1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
3
11
0
0
-9
-9
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
15
16
15
-14
0
0
0
0
0
0
0
0
0
0
2
-48
-3
52
-14
15
-14
0
0
0
0
0
0
0
0
0
0
0
27
16
-50
-12
-29
15
-21
12
0
0
0
0
0
0
0
0
0
-15
-17
-2
17
-53
-30
-27
79
0
0
0
0
0
0
0
0
0
0
-8
49
10
-67
-22
83
-53
0
0
0
0
0
0
0
0
0
0
0
-6
3
19
60
11
25
0
0
0
0
0
0
0
0
0
0
0
-1
-7
86
-14
6
-5
0
0
0
0
0
0
0
0
0
0
0
-11
5
-15
18
77
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
14
-48
0
0
0
0
0
0
0
0
0
6
-31
-20
-54
15
-45
0
0
0
0
0
0
0
0
0
0
0
49
-45
-28
1
-133
40
0
0
0
0
0
0
0
0
0
0
0
1
-53
-40
-25
-62
-9
-25
-95
10
0
0
0
0
0
0
0
0
4
-4
1
-13
27
-133
-53
13
-107
0
0
0
0
0
0
0
0
0
0
33
-41
90
1
72
44
-33
0
0
0
0
0
0
0
0
0
0
10
73
22
-5
-15
-58
22
0
0
0
0
0
0
0
0
0
0
-11
8
-45
-7
28
-72
-35
0
0
0
0
0
0
0
0
0
1
-1
9
-51
57
-22
33
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
-9
-45
0
0
0
0
0
0
0
0
-13
-3
-21
-45
37
-13
0
0
0
-13
0
0
0
0
0
0
0
-16
-2
51
63
-40
-30
0
0
0
108
0
0
0
0
0
0
0
10
22
-39
-36
-37
30
3
134
7
6
0
0
0
0
0
0
0
-8
0
22
36
5
-32
-16
-50
-33
25
0
0
0
0
0
0
0
0
1
3
57
-14
46
2
-60
-38
15
0
0
0
0
0
0
0
0
0
0
14
-5
29
24
82
54
-1
0
0
0
0
0
0
0
0
0
0
-1
-49
-10
-110
-83
32
-5
0
0
0
0
0
0
0
0
0
11
7
-15
44
-53
-74
-36
36
0
0
0
0
0
0
0
0
0
0
-4
0
-17
-43
-4
-9
0
0
0
0
0
0
0
0
0
-2
-10
49
-20
-14
0
0
0
22
-20
0
0
0
0
0
0
1
-6
-95
-18
43
15
0
0
0
92
-23
0
0
0
0
0
0
-1
-19
5
-18
-131
-49
-55
-67
45
-33
-27
0
0
0
0
0
0
0
-11
-39
7
43
-40
-66
47
-42
0
3
0
0
0
0
0
0
-1
0
-3
0
20
-18
-79
48
2
-10
-5
0
0
0
0
0
0
0
0
0
0
22
47
20
13
33
23
1
0
0
0
0
0
0
0
0
0
2
13
62
15
-11
-35
-3
0
0
0
0
0
0
0
0
0
1
-2
-3
49
5
-26
29
-35
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
11
9
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
16
-4
36
7
58
0
0
0
-27
-25
0
0
0
0
0
0
2
25
3
-53
55
-61
13
-116
34
24
-1
-6
0
0
0
0
0
2
4
-21
-15
5
-11
-56
-22
-13
4
1
0
0
0
0
0
0
0
2
0
0
2
-72
0
5
57
-14
-6
0
0
0
0
0
0
0
0
0
0
-1
52
47
-96
71
-7
0
0
0
0
0
0
0
0
0
0
0
2
15
58
-124
-14
-22
-5
0
0
0
0
0
0
0
0
0
-1
0
10
-3
-3
130
1
-4
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
10
15
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-4
-36
45
25
11
0
0
0
-21
-1
0
0
0
0
0
0
0
-8
2
-2
-53
43
2
-2
-56
0
-1
-1
0
0
0
0
0
0
-2
-2
47
-25
2
19
4
-30
4
9
-3
-1
0
0
0
0
2
0
-15
0
0
2
5
-1
-24
4
3
0
0
0
0
0
0
0
0
0
0
0
3
-35
-14
24
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
-45
-1
4
0
0
0
0
0
0
0
0
0
2
0
0
0
20
24
-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
15
-24
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
-25
-11
5
0
0
0
-4
-1
0
0
0
0
0
0
0
0
-8
0
-37
-1
17
-23
-2
0
0
0
0
0
0
0
0
0
0
-4
1
44
33
-1
2
14
2
-1
0
0
0
0
0
0
3
-1
-8
17
0
0
-3
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
22
-14
-2
3
0
0
0
0
0
0
0
0
2
0
0
0
15
-51
-6
0
0
0
0
0
0
0
0
0
3
0
0
0
-26
-1
9
-20
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
11
0
-1
-8
6
13
8
0
0
0
0
0
0
0
0
0
0
1
52
4
-56
-6
-30
-2
1
0
-3
0
0
0
0
0
2
0
-4
-3
-11
0
4
0
0
6
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
-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
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-6
-11
0
0
0
2
0
0
0
0
0
0
0
0
8
4
-4
0
-24
15
10
2
0
0
0
0
0
0
0
0
0
0
0
-17
46
6
37
8
-9
0
0
0
0
0
0
0
0
0
0
-2
-26
25
35
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
-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
-1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-13
-6
-29
-5
0
0
0
0
0
0
0
0
0
0
-4
-46
-6
21
46
20
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-32
5
1
25
-4
80
14
0
0
0
0
0
0
0
0
0
-13
-71
-46
-23
-31
-69
20
-5
0
0
0
0
0
0
0
0
0
0
10
37
77
25
9
-56
15
0
0
0
0
0
0
0
0
0
0
1
48
7
18
17
-43
-21
0
0
0
0
0
0
0
0
0
0
4
0
-27
13
-17
-33
13
0
0
0
0
0
0
0
0
0
0
0
-13
0
8
-26
-6
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
47
0
0
0
0
0
0
0
0
0
-1
37
-123
-43
8
4
0
0
0
0
0
0
0
0
0
0
0
-5
49
10
-137
-20
63
0
0
0
0
0
0
0
0
0
0
0
-17
-48
-50
-89
-34
55
-16
-45
14
0
0
0
0
0
0
0
0
7
-34
1
21
-82
75
-45
-25
-62
0
0
0
0
0
0
0
0
0
-14
-13
-16
-7
14
-109
-82
46
0
0
0
0
0
0
0
0
0
0
53
101
15
61
-23
-88
7
0
0
0
0
0
0
0
0
0
0
3
3
-134
-10
-17
58
23
0
0
0
0
0
0
0
0
0
0
0
-8
45
-36
1
-40
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
26
-13
0
0
0
0
0
0
0
0
-2
-11
10
49
-50
-7
0
0
0
80
0
0
0
0
0
0
0
10
47
14
-49
2
-2
0
0
0
32
0
0
0
0
0
0
0
-5
14
29
-15
80
-54
-10
21
-19
45
0
0
0
0
0
0
0
-5
41
-57
-71
31
-38
-17
91
12
-24
0
0
0
0
0
0
0
-17
33
-58
43
-46
74
-46
99
52
14
0
0
0
0
0
0
0
0
0
-5
39
50
-67
-5
-29
-25
-29
0
0
0
0
0
0
0
0
0
0
6
6
74
47
57
20
25
0
0
0
0
0
0
0
0
0
0
-9
-32
1
-22
82
-11
-45
0
0
0
0
0
0
0
0
0
3
-3
0
23
6
-25
49
3
0
0
0
0
0
0
0
0
-1
-17
-39
15
-43
0
0
0
-19
-53
0
0
0
0
0
0
-4
-2
-24
1
-5
29
0
0
0
-36
-62
0
0
0
0
0
0
-3
1
-16
34
-48
8
49
-24
-13
14
-5
0
0
0
0
0
0
-1
-2
-3
9
-18
-23
53
23
-58
1
-2
0
0
0
0
0
0
4
-13
14
-52
-7
56
-23
-5
-48
34
0
0
0
0
0
0
0
0
0
2
0
-1
30
101
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
7
-26
71
39
-150
19
16
0
0
0
0
0
0
0
0
0
0
0
19
33
8
30
9
-7
0
0
0
0
0
0
0
0
0
0
0
3
21
-15
56
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
46
18
-24
-53
0
0
0
-14
19
0
0
0
0
0
0
0
-1
-2
20
18
-5
33
20
-53
11
0
0
0
0
0
0
0
0
-4
13
37
19
-16
-1
56
-59
0
0
0
0
0
0
0
0
1
-1
7
-4
-1
3
45
-27
-44
2
0
0
0
0
0
0
0
0
0
0
0
0
23
-14
15
-5
-16
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
21
52
21
0
0
0
0
0
0
0
0
0
0
0
0
39
-5
4
-50
14
-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
-20
10
-8
-2
0
0
0
43
1
0
0
0
0
0
0
0
0
-3
-5
3
48
-26
8
-14
-2
-1
-1
0
0
0
0
0
0
-1
25
29
-13
-24
-113
7
-3
16
-1
0
0
0
0
0
0
0
-6
0
7
-35
-86
-15
26
-35
11
-9
0
0
0
0
0
0
0
0
0
0
0
0
20
-1
74
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
19
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
-20
17
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
16
-1
-16
0
7
0
0
0
0
0
0
0
0
0
0
6
-3
-13
22
26
3
-5
-1
0
0
0
0
0
0
0
0
9
15
5
-26
9
-5
8
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
5
3
-1
0
0
2
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
-16
-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
-1
0
0
0
-1
0
0
0
1
3
0
0
0
0
0
0
0
0
-1
-5
0
-15
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
2
2
0
2
22
2
0
0
3
0
0
0
0
0
0
0
7
-4
-14
14
17
29
0
6
1
2
0
0
0
0
0
0
5
-5
-1
0
16
-29
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
5
0
-10
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
-11
-8
0
0
0
0
0
0
0
0
0
0
0
-6
1
4
17
4
-18
1
0
0
0
0
0
0
0
0
0
0
8
13
-3
10
-9
-34
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
-11
33
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
-2
-9
-16
-18
10
-35
0
0
0
0
0
0
0
0
0
0
-1
-2
-52
-39
75
-20
-43
-85
61
0
0
0
0
0
0
0
0
0
-13
-29
-24
-57
11
-58
-9
5
0
0
0
0
0
0
0
0
0
6
-25
21
-62
13
-43
-16
14
0
0
0
0
0
0
0
0
0
-6
3
-1
8
14
-82
71
31
0
0
0
0
0
0
0
0
0
0
-7
1
8
-23
14
3
59
0
0
0
0
0
0
0
0
0
0
2
-5
17
8
5
69
21
0
0
0
0
0
0
0
0
0
0
-10
0
0
2
5
24
32
0
0
0
0
0
0
0
0
0
0
-83
-71
-26
-6
59
0
0
0
0
0
0
0
0
0
0
0
-25
-15
-18
24
-5
-75
0
0
0
0
0
0
0
0
0
0
0
-2
-37
-33
72
-44
-53
-66
-42
-22
0
0
0
0
0
0
0
0
-9
-43
-14
-8
-4
45
-2
19
-27
0
0
0
0
0
0
0
0
0
-59
-1
20
-33
-50
-87
2
-9
0
0
0
0
0
0
0
0
1
-7
-16
-15
28
-7
96
-33
-12
0
0
0
0
0
0
0
0
0
0
5
33
118
28
-49
-3
1
0
0
0
0
0
0
0
0
0
0
1
-26
27
6
21
-3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
10
-69
-31
0
0
0
0
0
0
0
0
0
0
0
20
0
3
0
0
0
-14
0
0
0
0
0
0
0
-14
-2
-9
10
-35
17
0
0
0
-9
0
0
0
0
0
0
0
-1
3
-1
-53
34
31
-1
59
-13
-30
0
0
0
0
0
0
0
0
-8
-6
-6
-4
68
-58
14
-18
41
0
0
0
0
0
0
0
-4
-10
-63
2
-44
-28
99
14
30
-13
0
0
0
0
0
0
0
1
3
-37
-29
14
1
16
21
63
27
0
0
0
0
0
0
0
0
0
0
24
43
28
4
1
-48
17
0
0
0
0
0
0
0
0
0
0
0
35
4
19
44
-32
34
0
0
0
0
0
0
0
0
0
0
0
0
-20
7
77
11
2
0
0
0
0
0
0
0
0
2
0
-9
0
0
0
0
0
1
-2
0
0
0
0
0
0
-3
-2
-8
25
-2
-2
0
0
0
-21
-35
0
0
0
0
0
0
-1
4
45
-16
-33
76
33
-49
24
-21
-6
0
0
0
0
0
0
1
-4
-9
11
-39
-14
-72
71
-18
4
3
0
0
0
0
0
0
0
0
44
16
-21
-21
64
-22
-25
31
0
0
0
0
0
0
0
0
-2
-1
-18
25
9
13
33
27
-5
0
0
0
0
0
0
0
0
0
0
0
17
-11
-73
-49
-76
1
0
0
0
0
0
0
0
0
0
0
0
0
23
8
61
25
-43
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
37
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
9
-8
0
-6
18
3
0
0
0
0
0
0
0
0
-1
13
-17
-8
-2
-29
15
14
2
0
0
0
0
0
0
0
0
0
-2
14
-54
5
10
3
36
-7
0
0
0
0
0
0
0
0
0
0
0
15
-41
55
-3
-71
3
0
0
0
0
0
0
0
0
0
0
0
0
-33
-4
-3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
0
2
21
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
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
-16
26
6
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
9
8
10
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
15
1
-4
-61
-6
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
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
-14
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
-14
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
9
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
7
0
0
0
-2
9
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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
-9
-1
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
0
0
0
0
0
14
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
-13
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-9
-8
-53
-11
-2
30
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
20
-14
-1
-7
34
0
0
0
0
0
0
0
0
2
-10
-71
21
-90
-103
81
20
35
0
0
0
0
0
0
0
0
5
-1
4
-33
-6
66
-4
-43
-2
0
0
0
0
0
0
0
0
0
-4
15
36
-46
79
50
-46
19
0
0
0
0
0
0
0
0
0
0
0
4
19
2
8
-1
-19
0
0
0
0
0
0
0
0
0
0
0
6
5
5
16
-37
67
0
0
0
0
0
0
0
0
0
0
4
0
0
0
29
-13
-74
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
-1
19
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
14
-3
-24
-7
25
-14
21
-66
0
0
0
0
0
0
0
0
-3
-5
0
-56
11
-25
7
-34
-56
0
0
0
0
0
0
0
0
-4
-3
8
-24
-30
52
-83
-14
-3
0
0
0
0
0
0
0
0
0
-4
4
-53
-27
-109
54
-36
18
0
0
0
0
0
0
0
0
0
0
-13
1
24
10
-18
20
14
0
0
0
0
0
0
0
0
0
0
0
3
36
6
-9
-18
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
35
-26
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
4
0
-3
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
-6
-5
1
-14
14
-1
-2
0
0
0
0
0
0
0
0
-3
-2
-11
15
57
-1
3
-29
15
0
0
0
0
0
0
0
0
0
0
10
-35
27
-63
1
-87
0
0
0
0
0
0
0
0
0
1
0
-2
4
14
-1
-15
1
0
0
0
0
0
0
0
0
0
0
1
0
-7
8
0
18
6
4
0
0
0
0
0
0
0
0
0
0
0
-3
7
0
9
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
9
-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
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
-5
-1
4
-6
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
14
-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
-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
5
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
3
10
0
3
0
0
0
0
0
0
0
0
0
22
1
-33
-1
29
11
-5
0
0
0
0
0
0
0
0
0
0
6
-11
29
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
25
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
17
0
0
0
0
0
0
0
0
0
0
0
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
-43
-7
-2
0
0
0
0
0
0
0
0
0
26
15
-26
12
-50
-36
-32
0
0
0
0
0
0
0
0
0
0
0
-9
-23
-30
-48
16
8
32
0
0
0
0
0
0
0
0
0
0
29
5
69
7
9
-4
-21
5
0
0
0
0
0
0
0
0
0
18
-3
15
-3
-1
-14
0
0
1
0
0
0
0
0
0
0
0
-53
-24
-2
-10
-3
0
0
-1
0
0
0
0
0
0
0
0
0
9
-9
-25
0
0
-1
14
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
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
-2
19
14
4
3
0
0
0
0
0
0
0
0
0
2
-6
55
-19
47
-3
-18
7
0
1
0
0
0
0
0
0
0
1
-18
-2
-43
81
41
-19
-5
0
0
0
0
0
0
0
0
0
1
5
-5
-9
34
-6
19
0
0
0
0
0
0
0
0
0
0
0
-2
-1
49
-9
-20
-18
0
-2
0
0
0
0
0
0
0
0
0
-4
-9
-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
33
7
0
-39
12
-37
-2
0
0
0
0
0
0
0
0
0
0
-15
31
-16
-26
-95
87
19
1
0
0
0
0
0
0
0
0
2
-1
13
-3
57
-29
2
-2
0
0
0
0
0
0
0
0
0
0
6
36
18
-26
-1
5
1
0
0
0
0
0
0
0
0
0
0
2
35
5
-3
-25
15
-1
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
-2
20
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
1
0
0
0
0
0
0
0
0
0
-13
5
18
18
-14
17
41
6
1
0
0
0
0
0
0
0
0
0
-16
0
-8
4
14
37
20
0
0
0
0
0
0
0
0
0
-5
0
-14
16
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
9
7
0
53
0
0
-27
-2
0
-1
0
0
0
0
0
0
0
-17
20
8
70
4
47
-17
-30
-5
0
0
0
0
0
0
0
0
0
-10
17
-6
16
-26
61
-15
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
-9
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
-43
21
50
63
1
53
-1
23
-3
0
0
0
0
0
0
0
4
-4
-24
4
0
14
25
4
-1
-1
0
0
0
0
0
0
0
0
14
-14
-1
-17
6
-26
2
0
10
0
0
0
0
0
0
0
0
-2
0
11
-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
-31
-31
-24
-1
3
2
5
-4
0
0
0
0
0
0
0
0
-1
9
-8
6
5
32
13
19
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
-48
20
19
3
8
-2
-2
0
0
0
0
0
0
0
0
0
0
0
54
-15
9
-63
13
-9
0
0
0
0
0
0
0
0
0
0
-53
-29
-39
1
0
3
-2
0
0
0
0
0
0
0
0
0
0
-71
-15
19
5
-2
-5
-5
0
0
0
0
0
0
0
0
0
0
-1
13
-4
14
-10
-2
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-39
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
-25
2
20
13
-18
-21
21
9
0
0
0
0
0
0
0
0
0
51
-63
36
45
65
70
43
92
21
2
0
0
0
0
0
0
0
4
39
25
-86
-75
-9
-19
9
-8
0
0
0
0
0
0
0
0
11
-46
-15
166
23
75
-8
-27
-32
0
0
0
0
0
0
0
0
9
118
-71
-2
98
-19
-4
8
8
-8
0
0
0
0
0
0
0
3
-33
32
72
2
-16
0
-9
-5
0
0
0
0
0
0
0
0
0
-11
39
57
-18
-1
-3
9
0
0
0
0
0
0
0
0
0
0
13
0
-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
8
5
15
-69
-14
-74
34
-9
0
0
0
0
0
0
0
0
0
-1
78
37
-20
135
62
19
-2
-4
0
0
0
0
0
0
0
0
-43
-53
-1
0
-9
11
51
-8
10
-1
0
0
0
0
0
0
0
3
-20
2
43
4
17
23
-7
20
-4
0
0
0
0
0
0
0
0
18
26
104
3
-4
52
14
-1
0
0
0
0
0
0
0
0
0
-6
16
10
-8
-16
-5
0
-2
0
0
0
0
0
0
0
0
0
1
37
-5
7
0
0
2
0
0
0
0
0
0
0
0
0
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
-3
34
-24
5
53
11
-34
-54
0
1
0
0
0
0
0
0
0
0
-4
18
25
-20
-17
-61
-43
-4
0
1
0
0
0
0
0
0
-10
16
16
106
50
-23
24
5
-9
0
0
0
0
0
0
0
0
17
-34
0
-79
-31
-15
9
-8
-6
4
0
0
0
0
0
0
0
0
-14
-35
26
22
49
11
0
-1
0
0
0
0
0
0
0
0
-7
-13
1
-7
-5
-1
2
-3
-2
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
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
-18
6
68
29
2
-18
17
71
0
1
0
0
0
0
0
0
0
-7
10
21
-15
-4
47
75
16
-3
0
0
0
0
0
0
0
0
21
2
13
21
52
-46
-37
22
-45
-1
0
0
0
0
0
0
0
-5
7
25
33
-34
16
35
0
-1
-1
0
0
0
0
0
0
0
24
14
-9
5
0
-7
-24
0
0
0
0
0
0
0
0
0
0
0
-10
-18
15
3
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
7
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
0
0
0
-3
14
74
-23
43
9
-17
55
0
0
0
0
0
0
0
0
0
3
76
-4
34
-18
-27
65
35
37
-2
0
0
0
0
0
0
0
0
25
-47
-11
25
17
19
-56
-7
0
0
0
0
0
0
0
0
10
14
-8
22
-61
-44
21
-4
0
-2
0
0
0
0
0
0
0
3
10
7
27
-3
17
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
-23
18
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
-14
-4
61
-6
-20
27
0
1
0
0
0
0
0
0
0
0
25
40
14
37
24
22
14
-8
-2
3
0
0
0
0
0
0
7
-5
33
6
48
-64
7
-3
-1
-3
0
-1
0
0
0
0
0
-3
-10
25
-26
0
-15
-39
-4
-4
-1
2
0
0
0
0
0
0
-1
-15
36
-1
-8
-41
-18
0
1
0
1
-1
0
0
0
0
0
0
1
0
9
-11
21
-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
33
-5
0
-23
0
-2
-2
0
0
0
0
0
0
-2
3
6
14
44
-8
34
-2
39
-3
0
0
0
0
0
0
0
5
-8
-39
9
-45
11
-5
-5
7
0
0
0
0
0
0
0
0
2
0
14
20
18
-1
5
0
0
-2
0
0
0
0
0
0
0
0
-10
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
17
-7
-3
-4
1
-1
0
0
0
0
0
0
0
0
0
-5
-7
-33
17
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
15
-1
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
-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
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
0
-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
29
5
-90
-14
0
10
0
0
0
0
0
0
0
0
0
0
0
-58
24
99
7
-36
59
-37
-7
0
0
0
0
0
0
0
0
0
-2
-14
-7
1
0
-5
2
0
0
0
0
0
0
0
0
0
0
-2
-1
19
-2
35
-7
2
0
0
0
0
0
0
0
0
0
0
11
22
-5
1
2
-1
9
0
0
0
0
0
0
0
0
0
0
5
-8
14
14
-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
0
0
0
0
0
0
0
0
0
0
0
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
101
-26
-60
-1
72
29
51
0
0
0
0
0
0
0
0
0
5
46
-18
-47
-84
63
-9
-48
-48
0
0
0
0
0
0
0
0
-5
43
106
-57
-18
45
-60
19
21
0
0
0
0
0
0
0
0
-10
-18
-20
-108
48
55
-16
0
-2
0
0
0
0
0
0
0
0
-31
-53
-104
-73
-49
62
-3
-25
-1
2
0
0
0
0
0
0
0
23
-10
-71
5
33
-18
0
-8
0
0
0
0
0
0
0
0
0
-3
-74
-36
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-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
21
-9
-54
39
67
-89
-25
0
0
0
0
0
0
0
0
0
9
94
-49
-15
15
78
-3
0
-17
13
0
0
0
0
0
0
0
6
18
8
-23
59
1
9
21
3
-1
0
0
0
0
0
0
0
10
-29
-31
-24
16
-20
-17
-9
7
-3
0
0
0
0
0
0
0
0
24
-69
-16
-3
53
-2
0
-8
0
0
0
0
0
0
0
0
-11
-51
30
34
19
-3
-2
5
-3
1
0
0
0
0
0
0
0
0
24
46
-15
17
0
1
0
-3
0
0
0
0
0
0
0
0
0
11
-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
7
-4
-11
57
27
24
14
0
0
0
0
0
0
0
0
0
4
-40
-33
24
-63
42
51
-2
0
0
0
0
0
0
0
0
0
0
34
-2
1
45
31
-3
5
14
2
0
0
0
0
0
0
0
0
53
-21
-4
47
5
-14
-5
1
0
0
0
0
0
0
0
0
0
35
-4
-32
-66
-1
0
0
19
-2
0
0
0
0
0
0
0
0
15
-9
-19
8
37
1
0
0
0
0
0
0
0
0
0
0
-4
6
-13
1
-2
0
18
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
-30
20
43
56
31
0
0
0
0
0
0
0
0
0
-3
-19
74
-3
-21
6
-27
11
6
0
0
0
0
0
0
0
0
0
32
31
-3
0
53
2
34
-1
0
0
0
0
0
0
0
0
1
11
1
2
5
-17
10
0
18
0
0
0
0
0
0
0
0
6
25
5
-31
-6
-11
0
2
1
0
0
0
0
0
0
0
0
0
2
26
0
1
1
7
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-1
1
-11
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
-56
-48
51
26
0
0
0
0
0
0
0
0
0
0
14
43
78
-11
-21
-7
14
5
0
0
0
0
0
0
0
0
2
0
-9
3
68
0
19
11
7
2
0
0
0
0
0
0
0
-1
-11
5
52
8
10
2
1
0
7
0
0
0
0
0
0
0
0
11
-7
-1
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
9
21
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
27
-2
7
9
85
33
0
0
0
0
0
0
0
0
0
0
25
-20
72
63
-14
-14
23
2
-1
0
0
0
0
0
0
0
4
13
-15
2
-12
3
0
-2
-2
-2
0
0
0
0
0
0
0
0
-14
87
-16
-21
5
1
0
3
0
0
0
0
0
0
0
0
1
20
-6
26
2
10
0
0
0
0
0
0
0
0
0
0
0
0
-13
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
13
0
33
9
5
73
0
-3
0
0
0
0
0
0
0
8
16
-1
-23
22
5
50
-45
-3
3
-5
0
0
0
0
0
0
5
7
1
0
3
15
-3
1
7
5
0
0
0
0
0
0
0
0
0
9
-10
-10
-13
2
3
0
0
0
0
0
0
0
0
0
1
0
5
15
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
-9
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
-39
-4
18
-24
14
1
0
2
0
0
0
0
0
0
0
0
-4
0
10
0
4
0
-3
0
-3
0
0
0
0
0
0
0
0
7
0
-44
9
2
4
-1
2
0
0
0
0
0
0
0
0
0
-1
0
-2
-10
-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
9
0
0
0
0
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
47
0
-6
13
26
39
1
0
0
0
0
0
0
0
0
0
0
17
-4
-27
22
4
-9
-9
9
0
0
0
0
0
0
0
0
0
-3
12
-9
-4
29
-11
-6
0
0
0
0
0
0
0
0
0
0
3
-63
8
27
-2
-13
-2
0
0
0
0
0
0
0
0
0
0
16
47
30
6
-10
5
-2
0
0
0
0
0
0
0
0
0
0
33
-33
-9
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
-71
1
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
-6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-46
-71
-10
-7
39
-53
99
0
0
0
0
0
0
0
0
0
4
53
43
-49
70
10
91
-47
-39
0
0
0
0
0
0
0
0
3
-58
86
-45
2
43
-28
-21
17
0
0
0
0
0
0
0
0
2
-4
30
-69
13
-57
-75
5
-9
0
0
0
0
0
0
0
0
5
-3
6
-60
-60
-72
41
-11
19
0
0
0
0
0
0
0
0
-6
-77
-3
-43
-14
-47
-5
0
4
0
0
0
0
0
0
0
0
0
76
2
9
-14
6
-1
0
0
0
0
0
0
0
0
0
0
0
46
-2
-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
17
3
-1
-16
22
21
74
-98
0
3
0
0
0
0
0
0
0
2
13
88
-28
49
-40
14
60
5
-9
0
0
0
0
0
0
0
0
10
-44
-8
37
-5
-40
10
-51
4
0
0
0
0
0
0
0
-3
-18
1
9
-16
96
15
33
10
0
0
0
0
0
0
0
0
3
-1
-23
-40
36
-11
54
20
4
0
0
0
0
0
0
0
0
-1
6
30
-34
17
5
0
-13
0
0
0
0
0
0
0
0
0
-3
-27
17
69
36
6
0
0
0
0
0
0
0
0
0
0
0
0
-17
11
-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
-10
16
30
-43
21
-68
0
3
0
0
0
0
0
0
0
0
47
-56
-17
-40
-35
4
0
3
0
0
0
0
0
0
0
0
0
-3
32
53
-5
-46
80
-23
-6
-1
0
0
0
0
0
0
0
0
116
28
-3
25
83
-17
14
-6
4
0
0
0
0
0
0
0
0
55
10
37
-14
-5
-49
2
0
0
0
0
0
0
0
0
0
0
20
0
50
-17
43
2
0
0
0
0
0
0
0
0
0
0
0
-33
15
7
36
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
2
35
0
0
21
0
-6
0
1
-1
0
0
0
0
0
0
0
6
1
17
-49
-1
31
-56
5
0
0
0
0
0
0
0
0
-4
32
29
-24
-25
1
48
23
-6
0
0
0
0
0
0
0
0
0
-7
-8
7
0
-15
-15
-9
0
0
0
0
0
0
0
0
0
0
18
44
4
4
-11
10
9
4
0
0
0
0
0
0
0
0
0
-5
-2
-11
-13
36
1
0
0
0
0
0
0
0
0
0
0
0
-3
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
2
5
-1
-1
-2
29
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
-16
-27
13
-22
10
4
0
0
0
0
0
0
0
0
2
1
-4
-11
-8
10
19
6
0
0
0
0
0
0
0
0
0
6
0
0
-2
-4
0
9
1
20
0
0
0
0
0
0
0
0
0
-14
11
22
19
14
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
3
5
0
0
0
8
0
0
0
0
0
0
0
0
0
-10
-1
49
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-14
4
-8
17
-18
10
49
-2
-1
0
0
0
0
0
0
0
0
13
-7
14
-9
33
6
0
-1
0
0
0
0
0
0
0
0
0
4
-8
14
8
-19
0
0
-1
0
0
0
0
0
0
0
0
0
-15
-10
14
22
1
0
0
-1
0
0
0
0
0
0
0
0
0
9
-19
13
8
-2
0
0
0
0
0
0
0
0
0
0
0
3
32
-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
11
4
60
-1
-1
0
0
0
0
0
0
0
0
0
-21
-7
14
26
-24
14
13
-2
3
0
0
0
0
0
0
0
0
-4
10
6
3
-7
-6
0
0
0
0
0
0
0
0
0
0
0
15
25
25
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
-4
25
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
-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
-10
-1
-2
0
0
0
0
0
0
0
0
0
0
5
-6
14
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
13
0
0
0
0
0
0
0
0
0
0
-1
-4
1
-2
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
8
0
5
-23
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
-14
-2
24
9
-29
-2
-1
-3
0
0
0
0
0
0
0
0
0
14
20
19
69
9
-37
-43
-1
-2
0
0
0
0
0
0
0
0
111
20
34
-65
-14
-33
-13
1
0
0
0
0
0
0
0
0
0
-4
48
45
-20
3
0
-3
-7
0
0
0
0
0
0
0
0
0
-6
55
6
21
-3
-8
0
2
0
0
0
0
0
0
0
0
0
-21
-1
66
24
14
0
0
0
0
0
0
0
0
0
0
0
0
17
16
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-13
3
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
-39
-6
-24
-31
90
17
50
0
0
0
0
0
0
0
0
0
-11
29
-20
-105
-27
77
6
-18
-13
6
0
0
0
0
0
0
0
6
-65
-90
-5
56
4
-29
52
7
-3
0
0
0
0
0
0
0
-7
53
91
75
69
-27
68
117
-1
0
0
0
0
0
0
0
0
3
6
73
23
43
9
-50
-11
1
2
0
0
0
0
0
0
0
0
60
24
-53
-26
-16
45
1
-4
0
0
0
0
0
0
0
0
14
6
-56
-2
39
5
39
1
0
0
0
0
0
0
0
0
0
4
37
-19
-10
0
-21
0
17
0
0
0
0
0
0
0
0
0
41
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
29
-5
-14
43
-65
-43
0
0
0
0
0
0
0
0
0
0
-39
83
94
55
-59
-20
-10
19
0
0
0
0
0
0
0
0
0
-13
20
-23
-65
57
31
78
-5
1
0
0
0
0
0
0
0
71
5
33
-26
19
102
-52
-18
5
0
0
0
0
0
0
0
0
10
-7
0
-21
46
44
29
-7
3
0
0
0
0
0
0
0
0
-10
55
84
-35
35
52
9
-3
0
5
0
0
0
0
0
0
0
0
41
100
69
-20
14
32
0
1
0
0
0
0
0
0
0
0
2
38
25
18
-3
0
0
-10
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
10
6
-2
-9
-2
-68
1
0
0
0
0
0
0
0
0
0
0
57
34
-5
-61
-19
7
-64
-9
-4
0
0
0
0
0
0
0
-2
5
7
1
-17
17
-51
-25
68
-2
0
0
0
0
0
0
0
6
35
5
24
16
-31
-11
-10
0
0
0
0
0
0
0
0
0
0
-3
-14
0
-53
-17
-15
-3
-2
0
0
0
0
0
0
0
0
0
-13
-35
14
23
64
2
-7
0
0
0
0
0
0
0
0
0
-4
27
45
-13
100
0
1
5
0
0
0
0
0
0
0
0
0
0
-6
11
-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
63
-37
-20
0
-1
0
0
0
0
0
0
0
0
3
5
13
-21
-59
48
0
-25
0
3
0
0
0
0
0
0
4
3
-37
-50
-13
17
-1
-63
2
-6
0
0
0
0
0
0
0
0
-1
-6
7
19
6
10
-8
0
0
0
0
0
0
0
0
0
0
1
33
22
0
59
-6
-2
0
3
0
0
0
0
0
0
0
0
7
-7
9
0
18
-2
1
5
-1
0
0
0
0
0
0
0
0
14
9
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
52
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
1
-11
0
-6
0
-3
0
0
0
0
0
0
0
0
1
-4
2
-5
-9
20
-3
-9
0
0
0
0
0
0
0
0
-2
2
-23
11
-48
-26
21
-7
2
0
0
0
0
0
0
0
0
0
46
2
-1
16
1
13
-6
20
0
0
0
0
0
0
0
0
0
16
-2
0
26
0
9
0
0
0
0
0
0
0
0
0
0
0
-7
26
-41
-6
0
-3
-1
0
0
0
0
0
0
0
0
0
0
-13
-10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
4
25
0
10
0
0
0
0
0
0
0
0
0
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
-2
2
0
2
0
0
0
0
0
0
0
0
0
2
0
5
5
-13
8
0
-5
0
0
0
0
0
0
0
10
8
0
1
8
33
-15
-10
-1
0
0
0
0
0
0
0
0
0
5
0
-6
4
-19
-3
0
0
0
0
0
0
0
0
0
0
0
-2
36
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-10
-13
0
-1
0
0
0
0
0
0
0
0
0
0
2
-17
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-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
-11
14
8
-1
0
0
0
0
0
0
0
0
0
0
0
5
9
-35
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
34
-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
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
4
-2
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
5
0
-2
0
18
1
0
-2
0
0
0
0
0
0
0
0
4
1
-9
-4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-4
-9
-2
0
-3
16
0
0
0
0
0
0
0
0
0
0
4
0
2
17
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-19
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
18
3
0
-4
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
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
15
-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
14
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
-22
-2
-2
-9
5
2
5
1
0
0
0
0
0
0
0
0
0
-11
33
-9
29
-5
82
-34
8
0
0
0
0
0
0
0
0
0
48
5
-33
49
-22
23
-6
3
0
0
0
0
0
0
0
0
0
-35
4
-17
16
6
54
15
0
0
0
0
0
0
0
0
0
0
6
2
2
-6
-2
0
-1
9
0
0
0
0
0
0
0
0
0
0
-18
36
0
-11
-1
-2
-1
0
0
0
0
0
0
0
0
0
-57
9
62
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
14
4
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
62
-5
17
4
-49
-2
-26
0
0
0
0
0
0
0
0
0
7
-6
-4
-132
7
28
-27
-1
5
0
0
0
0
0
0
0
0
2
108
-87
-12
37
-51
16
-19
-17
0
0
0
0
0
0
0
0
-4
-52
57
76
14
-27
29
1
9
-2
0
0
0
0
0
0
0
-1
-41
43
1
-46
51
-44
-43
-6
0
0
0
0
0
0
0
0
6
0
-5
-5
50
-34
17
7
-4
0
0
0
0
0
0
0
0
0
-85
-5
-7
-10
43
-6
0
-1
0
0
0
0
0
0
0
0
13
17
-18
16
2
4
0
0
0
0
0
0
0
0
0
0
0
-4
-11
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-28
2
-51
3
12
75
0
-1
0
0
0
0
0
0
0
1
-86
74
-17
23
5
13
34
-16
0
0
0
0
0
0
0
0
-11
-46
3
49
-20
-64
10
24
33
0
0
0
0
0
0
0
0
0
49
-46
-5
7
-27
15
-15
13
0
0
0
0
0
0
0
0
-3
-31
52
8
17
-43
85
-5
-3
-3
0
0
0
0
0
0
0
0
71
0
-14
22
4
77
1
0
2
0
0
0
0
0
0
0
-47
6
-35
-36
-22
10
-6
-3
0
0
0
0
0
0
0
0
0
0
-75
5
49
53
-2
0
0
0
0
0
0
0
0
0
0
0
6
8
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
48
-13
-31
1
0
-8
0
0
0
0
0
0
0
0
33
24
7
-15
-40
-19
24
-5
0
-1
0
0
0
0
0
0
8
7
-21
1
-27
9
-5
55
0
0
0
0
0
0
0
0
0
-4
0
-25
-50
14
-33
31
27
19
0
0
0
0
0
0
0
0
0
0
-5
6
51
-50
-26
5
2
0
0
0
0
0
0
0
0
0
1
5
0
43
-3
-3
0
0
-9
0
0
0
0
0
0
0
-8
62
-11
37
5
-5
-1
-3
0
0
0
0
0
0
0
0
0
0
-7
-7
-29
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
92
-5
-13
42
47
2
33
0
-1
0
0
0
0
0
0
-16
0
0
-11
75
22
48
-10
-2
0
0
0
0
0
0
0
0
-1
7
1
-1
10
20
-17
14
1
0
0
0
0
0
0
0
0
-3
34
-17
-14
11
-4
-4
-1
-2
0
0
0
0
0
0
0
0
0
-3
17
54
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
52
49
-10
18
1
0
0
0
0
0
0
0
0
0
0
0
-14
15
-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
-61
0
0
0
0
0
0
0
0
0
0
6
-1
0
5
6
-34
80
5
-10
0
0
0
0
0
0
0
0
0
1
11
-8
-14
1
31
3
-8
0
0
0
0
0
0
0
0
0
0
0
-13
33
-3
0
-1
0
-1
0
0
0
0
0
0
0
0
0
-5
23
-37
0
0
2
0
0
0
0
0
0
0
0
0
0
52
25
13
-3
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
0
0
0
0
-3
-10
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
-9
-11
1
0
0
0
0
0
0
0
0
5
-5
0
17
2
0
0
11
15
0
0
0
0
0
0
0
0
0
2
16
2
11
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
13
-8
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
-13
3
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
10
15
-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
-9
0
0
-3
27
-2
1
0
0
0
0
0
0
0
0
3
0
0
5
0
5
17
2
1
-1
0
0
0
0
0
0
0
1
0
0
15
0
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
-6
3
15
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
-2
-1
-5
-11
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
15
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
10
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
11
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
5
-8
5
45
20
6
0
0
0
0
0
0
0
0
0
46
33
10
11
5
-14
-41
7
3
0
0
0
0
0
0
0
0
-8
25
9
5
-24
31
-8
0
0
0
0
0
0
0
0
0
0
33
-1
15
14
-17
6
0
0
0
0
0
0
0
0
0
0
0
0
-24
60
-1
-36
-2
0
-4
0
0
0
0
0
0
0
0
0
0
-1
-10
-53
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-33
20
-9
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
25
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
-30
-9
49
20
-64
43
0
0
0
0
0
0
0
0
0
-7
-44
22
28
-58
43
43
29
-20
-4
0
0
0
0
0
0
0
-1
97
-83
0
36
-65
9
11
-4
9
0
0
0
0
0
0
0
0
-89
-101
-10
20
-39
28
-51
3
0
0
0
0
0
0
0
0
6
-30
35
17
59
-111
37
11
11
1
0
0
0
0
0
0
0
0
64
-18
-77
-10
31
20
-25
7
0
0
0
0
0
0
0
0
-31
0
16
-24
-5
-33
19
0
-1
0
0
0
0
0
0
0
0
-3
-83
60
17
30
17
-1
0
0
0
0
0
0
0
0
0
0
53
31
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
27
1
-5
35
-19
-18
48
0
2
0
0
0
0
0
0
0
0
-33
-53
-1
23
0
-22
-37
9
-5
0
0
0
0
0
0
0
0
-25
-145
-47
-2
8
-29
9
53
3
0
0
0
0
0
0
0
0
22
-73
-15
7
-20
54
54
-25
0
0
0
0
0
0
0
0
0
11
20
-33
9
-5
13
-2
13
8
0
0
0
0
0
0
0
0
9
-32
-17
-24
-51
47
-2
2
0
0
0
0
0
0
0
0
-3
-77
0
-15
-39
9
-5
-1
0
0
0
0
0
0
0
0
0
1
-14
43
43
47
-2
1
5
0
0
0
0
0
0
0
0
0
0
-16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
2
31
-25
5
0
-1
0
0
0
0
0
0
0
1
7
-11
21
-14
9
-29
-26
-23
1
0
0
0
0
0
0
0
0
8
14
0
-14
-34
22
-34
1
2
0
0
0
0
0
0
0
0
-31
-14
57
-17
-16
-91
31
0
0
0
0
0
0
0
0
0
0
-5
11
-14
11
-33
45
55
0
0
0
0
0
0
0
0
0
0
-22
5
32
50
23
-19
5
21
0
0
0
0
0
0
0
0
0
9
5
0
0
-2
0
-3
-3
0
0
0
0
0
0
0
0
2
-1
4
50
-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
11
4
-18
-13
0
-2
1
0
0
0
0
0
0
0
0
-7
-6
0
-3
-4
-17
52
0
4
0
0
0
0
0
0
0
0
3
11
-6
0
26
25
-1
-4
0
0
0
0
0
0
0
0
0
1
23
2
10
-20
23
-4
0
0
0
0
0
0
0
0
0
0
1
-4
-9
-7
-24
15
1
1
0
0
0
0
0
0
0
0
0
14
-2
0
0
25
1
0
0
0
0
0
0
0
0
0
0
0
-27
-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
-9
-4
-46
4
4
0
0
0
0
0
0
0
0
0
0
0
3
0
19
11
-4
5
0
0
0
0
0
0
0
0
0
10
-1
11
-4
5
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-19
-5
11
33
1
0
0
0
0
0
0
0
0
0
0
0
1
13
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
61
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
0
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
-15
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
-9
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
-10
-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
17
6
0
-3
4
-2
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
-14
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
32
0
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
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
11
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
5
13
11
5
0
0
0
0
0
0
0
0
0
-5
2
0
-1
-9
19
-14
1
-7
0
0
0
0
0
0
0
0
7
9
2
9
13
80
-4
3
0
0
0
0
0
0
0
0
0
33
5
-10
21
49
-2
-3
0
9
0
0
0
0
0
0
0
0
-25
-35
-47
9
-5
8
8
0
0
0
0
0
0
0
0
0
0
0
-24
-27
-78
7
0
2
0
0
0
0
0
0
0
0
0
0
0
13
-5
9
0
2
0
0
0
0
0
0
0
0
0
0
0
-24
-1
-15
4
0
4
0
0
0
0
0
0
0
0
0
0
0
1
-2
21
25
-34
15
49
3
0
0
0
0
0
0
0
0
0
0
-11
-14
-19
-3
53
-5
17
1
17
0
0
0
0
0
0
0
-5
-32
45
10
27
-33
-5
-56
6
0
0
0
0
0
0
0
0
-2
34
-14
100
-3
-53
54
7
21
0
0
0
0
0
0
0
0
-1
14
-41
-2
21
31
-76
6
0
-1
0
0
0
0
0
0
0
0
-18
-4
-39
-89
98
14
-4
-2
-4
0
0
0
0
0
0
0
3
29
58
-85
71
-37
-53
0
0
0
0
0
0
0
0
0
0
-1
0
3
14
-17
14
-1
11
0
0
0
0
0
0
0
0
0
-1
-10
-9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
0
3
0
-6
7
0
0
0
0
0
0
0
0
0
0
-17
2
30
26
4
2
-18
-2
0
0
0
0
0
0
0
0
0
18
46
26
10
3
53
4
4
1
0
0
0
0
0
0
0
0
14
55
-46
-109
-47
3
-3
-1
0
0
0
0
0
0
0
0
-2
5
-59
23
35
17
66
-18
0
3
0
0
0
0
0
0
0
0
-33
2
56
-14
13
73
-2
-7
0
0
0
0
0
0
0
0
0
13
3
48
36
43
3
-1
-5
0
0
0
0
0
0
0
0
1
34
0
-14
13
11
0
-2
0
0
0
0
0
0
0
0
0
32
0
10
-15
-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
-6
5
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-19
7
-9
-3
-5
0
0
0
0
0
0
0
0
32
-1
-5
62
7
-25
-2
3
0
0
0
0
0
0
0
0
0
1
25
1
-6
29
-1
0
9
0
0
0
0
0
0
0
0
0
4
1
-1
28
3
-33
-7
0
0
0
0
0
0
0
0
0
0
-18
-2
48
2
9
14
1
0
0
0
0
0
0
0
0
0
0
-44
-5
0
14
13
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
-18
2
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
3
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
46
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
20
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
13
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
13
-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
-1
0
25
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-9
7
-5
13
0
0
0
0
0
0
0
0
78
3
-5
5
-2
-1
7
0
0
0
0
0
0
0
0
0
0
44
29
6
13
-4
9
-13
0
0
0
0
0
0
0
0
0
0
-1
17
108
-16
-4
-6
0
0
0
0
0
0
0
0
0
0
0
7
-11
33
-17
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
15
-5
7
9
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
11
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
0
-9
-1
1
0
10
-5
0
-1
0
0
0
0
0
0
0
0
13
-3
10
9
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-26
-18
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
21
-54
14
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
-8
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
-10
0
1
37
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
53
0
-4
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
1
10
6
5
-1
4
1
0
-1
0
0
0
0
0
0
0
0
0
3
7
0
-17
1
-4
-5
8
5
0
0
0
0
0
0
0
0
0
-1
17
-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
-10
5
14
-1
21
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
43
6
10
0
0
1
0
0
0
0
0
0
0
0
0
2
2
18
5
-4
-11
13
-4
17
3
0
0
0
0
0
0
0
-3
8
-21
4
27
18
8
2
-8
-3
0
0
0
0
0
0
0
0
13
-10
14
-7
-2
-2
-3
-7
0
0
0
0
0
0
0
0
21
0
-19
17
13
7
3
0
0
0
0
0
0
0
0
0
0
3
-5
5
21
-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
-11
-10
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
0
9
5
-1
0
-5
-7
4
0
0
0
0
0
0
0
0
-2
-2
4
-2
-1
0
23
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
-13
-4
-1
10
1
-1
1
2
0
0
0
0
0
0
0
0
-1
0
-1
17
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
-10
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
3
0
-2
1
-18
0
0
0
0
0
0
0
0
0
2
-2
11
-1
11
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-6
-3
0
0
-34
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
-14
10
10
-3
2
-1
0
0
0
0
0
0
0
0
0
6
-5
-2
5
1
6
-3
0
-2
0
0
0
0
0
0
0
0
1
4
-32
-9
11
0
-6
1
-1
29
0
0
0
0
0
0
0
0
9
-9
13
14
7
-6
-1
-24
-9
0
0
0
0
0
0
0
-2
-3
-2
-7
11
-10
-10
0
8
-1
0
0
0
0
0
0
0
0
0
-5
16
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
-33
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
9
2
0
16
-14
-1
0
1
0
0
0
0
0
0
0
0
0
9
18
-1
2
2
16
16
-13
-25
-6
0
0
0
0
0
0
0
0
0
-13
1
13
-6
-6
-6
4
-5
0
0
0
0
0
0
0
3
11
-7
-8
-6
30
-2
-3
9
0
0
0
0
0
0
0
0
-15
13
0
-11
-4
-17
-8
1
14
0
0
0
0
0
0
0
0
3
4
2
27
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
-19
4
-3
0
0
0
-4
0
0
0
0
0
0
0
1
-5
4
17
-1
-1
0
0
0
-6
0
0
0
0
0
0
0
3
29
-5
-2
3
0
16
-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
-10
-8
0
3
-10
7
0
-1
2
0
0
0
0
0
0
0
-1
-2
-4
2
8
9
5
0
0
0
0
0
0
0
0
0
0
0
3
-9
-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
19
0
1
0
-6
0
0
0
0
0
0
0
-1
-3
2
1
-1
-1
-2
-26
-6
0
0
0
0
0
0
0
0
-2
1
14
-6
-7
19
-4
11
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
10
-2
9
0
-15
0
5
0
0
0
0
0
0
0
0
0
0
-7
-8
-2
-8
1
16
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
-10
-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
-13
2
5
-3
3
-7
1
0
0
0
0
0
0
0
2
9
-3
-9
-3
0
1
9
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
-11
0
0
1
0
-3
-5
0
0
0
0
0
0
0
0
0
-1
-1
-4
1
-9
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
-16
5
-3
0
0
-1
0
0
0
0
0
0
0
-1
0
2
14
6
-5
11
0
-2
0
0
0
0
0
0
0
0
0
7
3
9
-6
4
-1
-9
0
13
0
0
0
0
0
0
0
-15
0
8
8
-23
-7
8
11
15
-18
0
0
0
0
0
0
0
-7
-21
-8
-6
13
-5
2
0
13
-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
9
-11
5
-11
-2
1
0
1
3
0
0
0
0
0
0
0
0
0
8
2
-3
-18
0
0
0
0
0
0
0
0
0
0
0
5
-7
4
26
9
9
-3
-1
1
-1
0
0
0
0
0
0
0
0
9
-3
13
14
-7
-10
0
17
0
0
0
0
0
0
0
0
-8
0
-8
2
14
-9
2
0
4
0
0
0
0
0
0
0
0
0
-3
-2
2
3
-11
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
-16
2
-1
0
0
1
-6
0
0
0
0
0
0
-3
0
2
8
13
0
-7
0
0
0
2
-2
0
0
0
0
0
0
2
3
0
6
-1
10
-10
-14
15
0
-1
0
0
0
0
0
0
-6
-1
-6
0
-18
-13
8
9
-11
-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
25
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
13
0
0
0
0
0
0
0
0
1
0
-2
0
-20
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
-9
-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
16
-2
-10
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
-15
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
1
9
-2
1
0
1
2
0
0
0
0
0
0
0
2
2
-10
5
-32
-9
-5
1
0
2
0
0
0
0
0
0
0
-2
-1
-4
0
-1
10
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
-29
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
-13
14
6
-4
-5
2
0
-1
0
0
0
0
0
0
0
0
-2
0
-1
-6
-2
1
-6
-5
0
10
0
0
0
0
0
0
0
0
0
0
6
-1
-6
6
-2
-11
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
7
1
0
0
4
0
0
0
0
0
0
0
3
4
11
7
-4
-14
0
0
0
-1
0
0
0
0
0
0
0
1
4
-2
2
-13
-4
0
-13
-9
-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
-9
27
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
11
0
-8
0
0
0
0
0
0
0
0
0
2
-5
9
5
-9
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
10
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-7
-1
-6
-15
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
18
11
-2
-4
0
6
0
0
0
0
0
0
0
0
1
-1
-5
4
13
4
0
0
-25
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
-11
-15
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
-11
-8
-2
0
-4
0
-1
0
0
0
0
0
0
0
0
-5
5
-14
-2
-8
14
0
2
0
0
0
0
0
0
0
0
0
0
19
-7
0
-13
4
-1
-2
15
0
0
0
0
0
0
0
0
1
0
-1
2
-5
-11
-7
-1
0
-2
0
0
0
0
0
0
0
0
1
3
6
-15
-7
0
0
-15
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
-10
-10
5
-2
14
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
-11
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
-11
-2
-6
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
13
0
0
1
0
0
0
0
0
0
0
0
0
-1
-20
-2
9
-2
-4
5
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
18
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
10
1
-8
-1
0
2
0
0
0
0
0
0
0
0
-1
2
-13
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
-9
-1
1
-6
1
-1
-2
0
0
0
0
0
0
2
0
-1
0
0
0
9
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
13
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-18
4
6
0
4
-4
0
-1
0
0
0
0
0
0
0
0
0
-11
-18
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
9
0
1
-11
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
-9
2
3
0
0
0
0
0
0
0
0
0
0
7
0
-1
2
-14
10
-2
2
-2
-11
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
-36
-5
2
-21
6
-1
0
0
0
0
0
0
0
0
1
0
-3
-1
2
0
9
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
20
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
3
-4
1
9
3
6
-2
3
-18
0
0
0
0
0
0
0
0
1
0
-7
-2
-15
11
-3
0
-2
0
0
0
0
0
0
0
0
0
3
-1
-9
-2
7
-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
-18
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
-10
17
0
-1
4
0
0
0
0
0
0
0
0
0
0
-5
-11
2
-1
0
0
1
-1
0
0
0
0
0
0
0
-1
0
9
-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
11
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-11
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
21
1
-4
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
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
14
5
24
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
-15
0
9
-34
-2
0
0
0
0
0
0
0
5
-9
0
-4
19
-17
-1
0
0
0
0
0
0
0
0
0
0
-7
2
0
-18
14
-18
0
0
-1
0
0
0
0
0
0
0
-2
1
-9
1
-26
18
15
-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
11
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
-16
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
-10
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
14
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
9
0
0
0
0
0
0
0
0
-2
0
1
2
14
-3
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
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
11
-9
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
10
-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
-10
-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
-9
-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
-10
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
-14
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
-14
0
1
4
0
0
0
0
0
0
0
0
9
0
1
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
8
3
10
-1
0
-1
0
0
0
0
0
0
0
0
-2
0
16
-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
9
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
-15
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
-11
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
9
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
14
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
-14
-9
35
-18
18
4
-5
0
0
0
0
0
0
0
0
0
0
-2
-8
20
0
5
0
0
-2
0
0
0
0
0
0
0
0
-3
8
0
-4
-8
15
-2
0
0
0
0
0
0
0
0
0
0
1
4
-3
-5
-9
0
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
27
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
-21
0
0
0
0
0
0
0
0
7
0
0
-29
8
33
9
0
-13
0
0
0
0
0
0
0
0
-21
0
-11
-1
23
11
-18
17
-8
0
0
0
0
0
0
0
0
21
0
11
0
-20
-7
5
-1
1
-1
0
0
0
0
0
0
0
29
0
13
-48
9
-26
-2
-2
0
0
0
0
0
0
0
0
0
-6
-1
-3
0
21
-3
-7
0
1
0
0
0
0
0
0
0
0
0
-1
0
13
-3
10
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
-10
0
-11
1
0
0
0
0
0
0
0
1
10
0
0
-9
-7
11
-4
6
0
0
0
0
0
0
0
0
-25
5
1
-6
2
5
-5
3
-6
1
0
0
0
0
0
0
1
0
13
0
-6
15
0
0
1
0
7
0
0
0
0
0
0
4
-2
-4
0
24
1
-17
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
16
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
-10
-7
0
-4
0
0
0
0
0
0
0
0
4
0
2
-2
-1
2
-20
-3
0
2
2
0
0
0
0
0
-4
3
0
7
-1
-4
-4
-7
-14
1
0
1
0
0
0
0
0
0
1
0
11
3
18
-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
-14
-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
10
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
9
-3
0
0
0
0
0
0
0
0
0
0
3
2
8
4
-2
-13
13
-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
-15
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
17
-20
0
5
4
0
3
0
0
0
0
0
0
0
-6
0
-29
-6
45
-17
0
3
-23
-1
0
0
0
0
0
0
0
23
3
8
-2
-15
-17
-25
-5
-43
2
0
0
0
0
0
0
0
17
0
0
-20
10
-6
14
15
9
0
0
0
0
0
0
0
0
-2
2
1
1
-13
-10
1
0
0
0
0
0
0
0
0
0
0
-1
0
-3
5
-1
-9
0
7
1
0
0
0
0
0
0
0
0
1
0
7
0
20
-3
9
-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
18
0
-3
25
-2
13
14
0
-2
0
0
0
0
0
0
0
0
34
0
8
-6
-11
-11
43
9
15
0
0
0
0
0
0
0
-4
-13
-1
4
-23
9
22
5
9
-9
0
0
0
0
0
0
0
0
-33
0
0
1
-6
20
-7
7
-14
0
0
0
0
0
0
0
0
11
0
-4
-54
14
29
-2
-9
0
0
0
0
0
0
0
0
2
7
1
7
3
32
22
8
14
3
0
0
0
0
0
0
0
0
3
0
3
9
4
11
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
10
0
-11
-13
0
0
0
0
0
0
0
0
-3
0
20
9
20
-29
-19
6
7
0
0
0
0
0
0
-2
9
1
4
10
-24
0
2
18
0
-2
0
0
0
0
0
0
-6
11
4
0
-4
-29
7
3
-1
-1
0
0
0
0
0
0
0
-1
-3
-10
-7
-13
-23
3
6
0
-1
1
0
0
0
0
0
0
0
0
-8
0
-9
-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
-23
4
0
-1
-2
0
0
0
0
0
0
10
-5
0
-10
0
23
-16
-1
-3
-7
-8
0
0
0
0
0
0
0
0
-4
3
2
-3
0
-3
24
-6
-4
0
0
0
0
0
0
0
-8
5
26
1
4
-8
23
2
-9
-4
0
0
0
0
0
0
0
-2
-5
-13
5
7
33
18
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-1
-13
-1
-2
4
3
1
0
0
0
0
0
0
0
0
0
0
3
0
9
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
21
-14
-20
-2
1
2
0
0
0
0
0
0
0
-5
-1
0
10
11
-4
-3
3
0
0
0
0
0
0
0
-3
0
2
1
9
-3
1
-4
2
7
0
0
0
0
0
0
0
0
-1
-1
2
-1
0
10
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
15
-6
0
-3
0
0
0
0
0
0
0
-1
3
0
1
6
-14
-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
15
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
-10
-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
25
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
-10
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
-18
0
-8
-21
-7
-2
2
-33
0
0
0
0
0
0
0
0
0
15
0
-2
-45
-10
-5
26
10
3
-4
0
0
0
0
0
0
0
14
3
8
-6
-10
-8
2
13
-7
10
0
0
0
0
0
0
0
1
0
7
-8
-11
19
-25
6
0
0
0
0
0
0
0
0
0
0
0
-2
8
2
7
10
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
-13
0
3
3
-1
0
-20
0
8
0
0
0
0
0
0
0
1
-5
1
-25
14
10
-8
6
-3
0
0
0
0
0
0
0
0
1
13
0
-2
-15
-4
24
3
3
-13
0
0
0
0
0
0
0
0
2
0
-20
16
-23
-20
0
0
-3
0
0
0
0
0
0
0
0
10
0
-3
-17
-53
-2
4
0
0
0
0
0
0
0
0
0
0
5
2
0
-1
3
-17
-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
9
-1
9
0
0
7
0
0
0
0
0
0
0
2
-4
13
-1
3
-10
-6
11
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
13
-7
0
-6
5
0
0
0
0
0
0
1
-1
7
0
3
11
3
0
2
1
-4
0
0
0
0
0
0
0
0
0
0
-2
-10
-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
10
4
3
0
0
0
0
0
0
0
0
0
0
4
-2
-7
0
-14
-20
0
0
4
-2
0
0
0
0
0
0
-1
-6
0
-1
0
2
-15
0
-1
0
0
0
0
0
0
0
0
0
0
-3
1
0
14
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
25
14
0
-1
-1
0
0
0
0
0
0
0
-1
0
3
-3
-14
14
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
10
-13
-11
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
-19
0
-1
0
0
0
0
0
0
0
-2
6
0
2
-2
13
-19
0
-11
0
0
0
0
0
0
0
0
0
3
0
-2
7
8
17
-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
-16
-2
0
4
0
0
0
0
0
0
0
0
3
14
-3
-20
-25
16
10
5
-9
9
0
0
0
0
0
0
0
5
-17
3
0
17
31
-32
-11
0
-4
-2
0
0
0
0
0
0
4
3
6
10
-8
-9
-10
-1
-5
0
0
0
0
0
0
0
0
-13
2
1
-1
10
-17
-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
-11
-7
0
0
0
0
0
0
0
0
0
-3
0
4
11
-2
-2
7
0
5
-3
0
0
0
0
0
0
0
-3
0
0
-14
1
15
-7
0
-20
2
0
0
0
0
0
0
0
2
0
-2
1
-8
31
-3
5
1
-1
0
0
0
0
0
0
0
0
0
0
4
-5
1
19
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
20
-3
6
6
0
4
0
0
0
0
0
0
0
0
-6
-1
-7
9
-9
-23
-1
-16
3
0
0
0
0
0
0
0
0
1
0
4
6
-26
-15
-5
-16
2
0
0
0
0
0
0
0
0
0
1
9
0
2
-4
6
-5
0
0
0
0
0
0
0
0
0
-1
2
1
16
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
-9
0
0
1
0
0
0
0
0
0
0
0
-1
-5
4
-2
-6
7
-9
6
-1
4
0
0
0
0
0
0
0
0
13
0
-6
-9
-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
10
0
-4
1
0
0
0
0
0
0
0
4
2
-4
0
-11
0
2
6
0
0
0
0
0
0
0
0
0
2
3
7
2
1
-1
15
-18
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
-25
-3
0
0
0
0
0
0
0
0
0
2
1
0
0
-8
0
23
-8
-18
1
0
0
0
0
0
0
0
0
0
0
1
-9
-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
-13
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
-21
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
-14
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
11
0
-17
0
0
0
0
0
0
0
-10
2
-4
18
5
20
-11
0
16
0
0
0
0
0
0
0
0
-5
2
8
3
4
7
-33
-1
14
0
1
0
0
0
0
0
0
0
1
0
4
-10
6
-13
13
0
26
0
0
0
0
0
0
0
0
0
-9
0
21
-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
-13
0
21
9
4
0
0
0
0
0
0
0
-3
0
3
17
5
-25
11
0
-2
-2
0
0
0
0
0
0
0
0
0
-5
-18
13
-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
10
1
0
0
0
0
0
0
0
0
0
-10
0
4
-20
14
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
10
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
9
0
-15
-13
-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
9
0
0
0
0
0
0
0
0
0
-11
0
-3
11
-1
8
1
5
6
0
0
0
0
0
0
0
0
0
0
-7
2
11
-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
14
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
-13
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
9
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
-13
1
3
-15
-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
-10
0
0
0
0
0
0
0
0
0
0
1
-4
-4
1
-2
15
-18
8
-2
0
0
0
0
0
0
0
0
26
-3
-2
-3
3
0
2
-11
4
0
0
0
0
0
0
0
0
3
-1
-3
16
10
-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
-13
-17
-6
0
-15
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
-15
-1
-1
2
3
1
-2
-4
-11
-9
0
0
0
0
0
0
0
0
-7
0
-9
-5
-2
0
4
7
0
0
0
0
0
0
0
0
-6
0
9
5
15
4
21
0
0
0
0
0
0
0
0
0
0
1
4
-7
5
0
-25
1
-1
0
0
0
0
0
0
0
0
0
1
-3
-1
-11
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
15
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
-9
-1
-4
1
11
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
9
0
1
5
2
11
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
10
10
-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
-9
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
21
-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
10
0
-1
0
0
0
0
0
0
0
0
4
0
-1
0
10
0
23
16
0
-3
0
0
0
0
0
0
5
-1
1
0
5
-1
-32
-9
0
0
0
0
0
0
0
0
0
0
-11
-1
37
21
7
-4
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
27
2
8
0
0
0
0
0
0
0
0
0
0
0
-1
1
-14
2
21
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
24
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
-9
3
2
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
8
10
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
14
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-13
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
-11
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
-15
7
0
26
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
9
-3
-13
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
10
-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
-10
-11
-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
17
-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
10
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
11
15
-2
15
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
16
-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
-16
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
10
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
-9
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
20
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
10
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
-15
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
15
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
-10
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
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
-3
2
-11
0
2
0
0
0
0
0
0
0
0
0
2
0
1
-2
20
3
3
-5
25
0
0
0
0
0
0
0
0
0
2
2
14
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
1
-10
-1
0
0
2
0
0
0
0
0
0
0
0
0
-4
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
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
26
-2
13
3
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-1
-4
-6
-2
-15
-8
-9
-1
0
0
0
0
0
0
0
-1
1
1
0
-1
-25
1
0
-15
1
0
0
0
0
0
0
0
0
5
0
9
-14
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
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
2
0
0
0
0
1
0
0
0
0
0
0
0
0
14
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
-9
0
-2
-9
-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
10
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
-20
-1
2
2
0
0
0
-3
-1
0
0
0
0
0
0
0
4
0
5
-5
1
-4
-7
14
0
0
0
0
0
0
0
0
-1
-1
3
-1
16
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
-14
-8
0
-1
-3
2
5
3
0
0
0
0
0
0
0
0
0
2
-3
-1
-13
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
14
8
9
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
7
6
2
-2
-11
-10
0
2
0
0
0
0
0
0
2
0
0
-1
-3
3
7
-5
-18
1
0
0
0
0
0
0
0
-2
0
0
4
-11
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
10
2
-2
1
1
0
0
0
0
0
0
0
0
0
0
2
2
-2
9
-1
20
0
0
0
1
0
0
0
0
0
0
0
-4
4
-15
2
17
1
1
5
-8
7
0
0
0
0
0
0
0
0
0
8
2
-13
-19
-1
1
-4
5
0
0
0
0
0
0
2
0
-4
3
3
10
1
2
-8
6
-2
0
0
0
0
0
0
0
2
-11
-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
-11
-21
-16
-9
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
4
-2
-2
23
-3
0
3
0
0
0
0
0
0
0
0
1
-9
-6
7
-6
-11
1
-24
0
-1
0
0
0
0
0
0
0
-6
-2
11
6
13
0
1
17
0
0
0
0
0
0
0
0
1
7
-1
1
13
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
-13
0
-5
0
0
0
0
0
0
0
0
2
1
3
4
-3
2
-21
2
5
0
0
0
0
0
0
0
0
-9
2
-7
9
0
0
-11
-1
0
0
0
0
0
0
0
0
0
-2
-2
-4
-6
-14
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
-11
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
-11
-1
8
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
3
-3
-5
-1
-3
20
2
0
0
0
0
0
0
0
0
0
0
-7
1
0
-9
-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
18
0
-3
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
-18
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-13
8
-13
0
14
-10
-2
-10
0
0
0
0
0
0
0
0
1
1
-17
-8
0
-16
-6
-1
-1
0
0
0
0
0
0
0
0
0
-8
-1
-9
-14
9
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
14
0
6
0
-1
0
1
0
0
0
0
0
0
0
-1
0
-10
3
-5
4
2
-8
-11
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
-21
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
13
-1
0
0
0
2
0
0
0
0
0
0
0
0
2
-1
7
-2
-13
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
9
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
-16
0
4
-2
1
-2
-5
0
10
0
0
0
0
0
0
0
0
0
-2
11
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
-23
0
0
0
4
0
0
0
0
0
0
0
0
2
0
-3
4
0
-1
0
-9
-1
0
0
0
0
0
0
0
0
0
1
9
-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
16
-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
27
-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
17
1
-17
-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
14
4
13
16
0
0
0
-2
-1
0
0
0
0
0
0
5
11
-5
-8
6
-1
-20
0
9
-1
0
0
0
0
0
0
0
-14
-4
1
-21
1
-26
-1
-9
2
0
0
0
0
0
0
0
0
1
-4
-4
-2
37
-3
-6
0
0
0
0
0
0
0
0
0
0
0
-7
3
17
-4
0
-1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
-6
0
0
0
-4
-1
0
0
0
0
0
0
0
20
-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
-17
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
-17
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
14
-2
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
5
-2
0
10
0
7
-9
0
0
0
0
0
0
0
0
0
4
2
10
3
21
3
0
-6
0
0
0
0
0
0
0
0
0
0
-9
-6
-5
-16
0
0
0
0
0
0
0
0
0
0
0
2
0
0
14
-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
11
-3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
26
2
-6
-7
-9
-17
2
0
0
0
0
0
0
0
0
0
-1
0
-2
-23
-1
-2
1
0
0
0
0
0
0
0
0
0
5
1
17
-10
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
16
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
9
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
-11
-6
0
-15
0
-2
-2
0
0
0
0
0
0
1
6
-25
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
-11
3
-3
0
0
0
0
0
0
0
0
0
2
-1
-1
0
-3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
18
9
-4
0
0
0
-2
0
0
0
0
0
0
2
-9
-2
10
11
23
-1
0
5
0
2
-1
0
0
0
0
0
3
-6
-9
1
3
-8
0
0
21
7
-1
0
0
0
0
0
0
-1
13
-2
0
7
-4
-5
0
2
0
0
0
0
0
0
0
0
-1
14
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
-15
4
-8
-23
4
0
0
0
1
0
0
0
0
0
0
0
0
-2
-4
-4
-15
-14
1
-1
-14
-3
0
0
0
0
0
0
0
2
-5
-5
0
-18
4
0
0
-7
0
0
0
0
0
0
0
0
0
1
-6
-9
14
14
0
0
1
1
0
0
0
0
0
0
0
-3
5
-5
9
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
29
1
-36
-10
2
0
9
0
13
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
9
-4
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-1
-9
0
9
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
-18
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
-11
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
-14
0
-2
10
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
-9
-1
-15
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
25
-3
2
0
2
0
0
0
0
0
0
0
0
0
0
-4
-2
0
-8
-6
-1
10
0
3
0
0
0
0
0
0
0
0
2
0
2
-1
-17
-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
21
-6
0
-1
2
4
9
-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
9
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
19
-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
11
8
0
-3
0
0
1
-1
0
0
0
0
0
0
-6
1
-7
20
-6
-4
-7
0
0
0
-1
0
0
0
0
0
0
2
-9
3
9
14
-31
2
10
25
-2
-2
-2
0
0
0
0
0
8
10
9
-35
-3
0
7
0
13
0
-1
0
0
0
0
0
0
2
4
15
21
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-25
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
9
0
14
2
0
0
-4
0
0
0
0
0
0
0
5
4
-11
-45
3
8
0
0
0
2
-1
0
0
0
0
0
0
-4
1
-6
-26
7
-7
-6
0
5
0
-1
0
0
0
0
0
0
8
-2
27
-15
3
35
-7
0
-13
1
0
0
0
0
0
0
-1
-9
-7
-9
9
3
2
-1
0
1
0
0
0
0
0
0
0
0
-3
-2
0
17
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
9
-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
23
-16
3
3
6
-1
1
0
0
0
0
0
0
0
0
2
11
5
-1
-15
10
0
0
-11
2
0
0
0
0
0
0
0
0
0
0
15
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
10
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
14
-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
-11
0
0
0
0
0
0
0
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
-13
-10
0
1
-2
0
0
0
0
0
0
0
0
0
0
4
5
0
9
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
-13
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-15
-2
-4
2
19
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
16
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
10
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
-19
-1
-6
3
4
-11
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
9
-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
10
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
17
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
10
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
31
3
0
0
0
4
0
0
0
0
0
0
0
0
4
6
-3
-39
-7
-3
-29
-8
-1
0
0
0
0
0
0
0
11
14
15
3
24
-33
-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
14
-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
11
29
0
-2
0
-2
0
0
0
0
0
0
1
2
0
10
-1
-44
18
-22
2
-14
-1
2
0
0
0
0
0
0
0
5
-5
3
22
0
0
0
-24
0
0
0
0
0
0
0
0
1
-3
8
2
-1
2
2
-5
11
0
0
0
0
0
0
0
0
-2
-1
10
-1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
-7
9
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
-24
-29
11
-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
-13
-2
-1
-5
3
10
7
0
10
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
13
-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
9
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
-17
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
13
-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
-21
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
-9
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-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
-10
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
4
1
-14
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
-18
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
-9
0
14
0
1
0
0
0
0
0
0
0
1
0
-1
-20
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
-21
-1
-5
-3
0
2
0
0
0
0
0
0
0
0
0
-1
-23
-2
-13
20
2
-1
10
-3
0
0
0
0
0
0
0
0
5
1
19
0
14
4
-3
2
1
1
0
0
0
0
0
0
1
-9
7
-2
-24
-15
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
10
0
0
0
0
0
0
0
0
0
0
0
-13
-4
1
24
10
11
0
-16
0
0
0
0
0
0
0
0
0
4
1
14
-14
14
-3
-11
-1
-32
-1
0
0
0
0
0
0
0
-3
-3
11
-1
4
21
-35
0
0
1
0
0
0
0
0
0
0
-1
3
-1
18
-14
-10
2
0
6
0
0
0
0
0
0
0
0
3
1
-11
-3
18
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
14
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
19
-2
8
0
0
0
1
0
0
0
0
0
0
0
1
0
-3
-1
-5
-9
0
-4
0
0
0
0
0
0
0
0
0
0
4
6
-10
-3
9
6
-17
2
14
0
0
0
0
0
0
0
2
1
-2
2
4
11
-1
-5
0
-2
0
0
0
0
0
0
0
0
-27
-4
-3
-2
-3
-1
-1
0
3
0
0
0
0
0
0
0
0
3
-3
-11
-10
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
-9
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
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
0
0
0
0
0
0
0
0
0
0
0
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
21
-21
0
0
-7
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
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
-17
5
-11
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-4
-16
-7
8
1
20
0
0
0
0
0
0
0
0
-4
1
-9
-3
-2
27
-17
0
-36
0
0
0
0
0
0
0
0
-1
4
-2
-5
0
15
-8
0
-13
0
0
0
0
0
0
0
0
4
10
-13
-2
-18
-19
0
0
4
0
0
0
0
0
0
0
0
-11
3
-27
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
15
-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
-9
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
18
0
-1
-1
0
0
-2
0
0
0
0
0
0
0
0
4
-11
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
15
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
10
-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
24
5
-2
0
0
0
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
1
13
-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
9
-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
-27
0
0
14
1
2
0
0
0
0
0
0
0
-4
8
0
0
1
4
15
0
2
0
0
0
0
0
0
0
0
3
0
-1
6
15
7
1
-6
-1
0
0
0
0
0
0
0
0
4
-1
0
7
-5
9
-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
9
-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
9
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
-14
0
0
11
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
31
0
0
0
0
0
0
0
0
0
-3
6
6
-10
-4
6
24
-1
0
3
0
0
0
0
0
0
0
0
0
7
8
9
7
5
-6
-5
-2
0
0
0
0
0
0
0
-4
-2
-1
0
18
-9
-9
-3
-3
0
-1
0
0
0
0
0
0
0
2
1
-20
-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
-9
5
0
6
0
0
0
0
0
0
0
-1
5
0
6
10
-14
4
6
1
0
0
0
0
0
0
0
0
5
0
-1
4
1
45
7
-2
0
0
0
0
0
0
0
0
0
1
15
4
4
-15
-2
6
-3
0
0
0
0
0
0
0
0
0
0
-3
-3
-1
-16
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
-15
-15
0
0
0
0
0
0
0
0
0
0
3
-1
-1
41
-2
15
-9
-2
0
0
0
0
0
0
0
0
0
-1
4
-8
0
0
11
3
1
1
0
0
0
0
0
0
0
0
0
2
2
3
3
-9
2
0
18
0
0
0
0
0
0
0
0
3
0
2
0
-15
4
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-1
8
18
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
15
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
-9
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
11
0
-1
-5
6
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
-3
4
-6
14
-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
-21
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
11
-2
9
10
-3
0
0
0
0
0
0
0
0
-2
-1
0
-4
5
-6
4
15
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
-13
0
4
-1
0
0
0
0
0
0
0
-2
0
7
0
-13
-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
13
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
18
0
2
0
0
0
0
0
0
0
4
1
0
0
-2
7
-11
-5
0
0
0
0
0
0
0
0
0
5
0
0
-9
2
6
-1
2
3
-1
-5
0
0
0
0
0
0
0
0
-2
0
20
-8
4
-1
1
0
0
0
0
0
0
0
0
-2
0
-1
2
0
14
-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
-17
-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
9
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
-9
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
-21
-27
-1
-2
0
0
0
0
0
0
0
9
0
7
16
13
4
-9
6
0
0
0
0
0
0
0
0
0
-2
3
2
0
3
-9
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
9
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
-17
14
17
3
0
0
0
0
0
0
0
1
-2
0
-2
-2
-2
-1
13
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
11
-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
11
0
0
0
0
3
-5
-2
0
0
0
0
0
0
0
0
0
1
-3
-1
0
-1
10
-1
0
1
0
0
0
0
0
0
0
0
0
-3
0
-3
-3
1
10
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
-9
14
4
-3
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
14
-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
-9
0
0
4
0
1
0
0
0
0
0
0
0
0
3
0
0
-3
11
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
-9
-1
2
-1
0
1
0
0
0
0
0
0
0
-3
4
-2
-13
8
2
14
2
2
0
0
0
0
0
0
0
0
2
-1
0
-14
-14
-3
-6
-1
-10
0
-1
0
0
0
0
0
0
-3
0
3
4
2
10
1
0
-3
0
0
0
0
0
0
0
0
0
1
-1
0
0
7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
9
-13
-9
13
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
-13
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
11
-3
-2
0
0
0
0
0
0
0
0
2
0
0
1
-3
-7
-7
11
-9
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
10
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
20
0
-1
0
-2
0
0
0
0
0
0
0
5
0
0
-1
-10
3
1
0
-1
-2
0
0
0
0
0
0
0
0
0
4
-1
1
18
-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
10
0
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
2
25
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
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
0
0
0
0
-2
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
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
11
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
-14
-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
-17
-9
5
1
-20
0
0
0
0
0
0
0
0
0
14
-2
-3
-4
-31
-5
11
1
-13
0
0
0
0
0
0
0
0
-5
1
5
-25
-1
-1
17
34
2
1
0
0
0
0
0
0
0
0
-1
-2
11
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
-11
-9
2
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
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
-15
0
0
2
0
0
0
0
0
0
0
-1
-10
-1
-1
-6
-2
0
2
-10
3
0
0
0
0
0
0
0
1
-10
-1
-8
7
17
-8
-17
5
0
0
0
0
0
0
0
0
0
0
1
0
6
-15
0
-9
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
9
-3
1
2
-29
4
-15
-3
0
1
0
0
0
0
0
0
0
11
-10
-5
2
2
-16
6
-11
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
-20
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
14
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
-11
-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
-14
0
0
0
0
0
0
0
0
0
-2
2
-16
-1
3
53
7
-3
-24
1
0
0
0
0
0
0
0
-18
0
-3
0
-1
-2
4
14
8
0
0
0
0
0
0
0
0
4
-1
3
-15
17
-11
13
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
-15
-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
11
8
4
0
5
1
0
0
0
0
0
0
0
-5
-1
10
3
1
-2
9
-15
0
0
0
0
0
0
0
0
-1
-16
0
5
-5
4
13
-11
8
4
0
0
0
0
0
0
0
0
-1
0
-5
0
8
-20
-8
-1
-5
0
0
0
0
0
0
0
0
0
0
-3
5
11
-4
5
1
3
0
0
0
0
0
0
0
0
0
0
-6
15
2
17
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
18
0
0
0
0
0
0
0
0
0
0
2
4
0
7
4
6
-1
5
-10
0
0
0
0
0
0
0
0
-7
11
0
14
0
-7
10
-7
8
0
0
0
0
0
0
0
0
-1
1
2
10
2
2
-9
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
-14
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-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
17
-11
10
-1
-4
3
-2
0
0
0
0
0
0
11
0
-3
-9
11
24
17
2
-7
0
0
0
0
0
0
0
0
0
1
-1
4
-11
-23
4
6
0
0
0
0
0
0
0
0
0
3
1
-1
0
4
11
-26
1
3
0
0
0
0
0
0
0
0
-1
2
1
3
7
4
13
-3
1
0
0
0
0
0
0
0
0
0
1
0
11
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
9
-8
10
0
0
0
0
0
0
0
0
-19
2
0
6
-21
5
2
3
0
0
0
0
0
0
0
0
0
4
0
3
25
4
-1
-6
3
7
0
0
0
0
0
0
0
0
-25
4
8
3
-5
-25
-5
-1
-2
0
0
0
0
0
0
0
0
6
0
0
-2
-1
6
-46
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
-18
11
-3
-7
-1
1
-2
0
0
0
0
0
0
0
6
0
0
0
7
10
-1
5
0
0
0
0
0
0
0
0
0
-1
0
-2
-2
10
-5
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
-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
10
-5
9
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
11
-1
-1
2
-3
13
0
0
0
0
0
0
0
0
-25
1
13
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
-18
0
-11
0
-1
0
0
0
0
0
0
0
0
18
-2
-1
-10
-11
-20
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
10
-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
13
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
-13
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
-13
9
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
17
-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
-17
0
3
-51
1
0
0
0
0
0
0
0
-1
23
6
-10
-7
0
0
0
7
1
0
0
0
0
0
0
0
-9
4
39
27
-17
-4
-46
13
-23
-6
0
0
0
0
0
0
0
2
23
3
-5
-35
-43
4
0
7
0
0
0
0
0
0
0
0
-10
-17
-9
-1
-5
8
-2
-4
-1
0
0
0
0
0
0
0
0
-1
-25
-5
-1
-21
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
14
5
4
1
-3
-1
5
-1
0
0
0
0
0
0
0
0
13
0
-6
-2
-5
0
-6
3
1
3
0
0
0
0
0
0
-1
0
13
0
2
0
4
-4
3
0
0
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
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
9
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-10
-6
-17
0
-9
0
2
0
0
0
0
0
0
0
-1
16
8
-15
3
-2
-1
-10
-39
0
0
0
0
0
0
0
-4
-6
6
21
8
-48
-1
0
1
-7
-1
0
0
0
0
0
0
3
31
-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
15
-3
-1
0
0
0
0
0
0
0
0
0
0
4
7
0
20
-15
7
3
0
-1
0
2
0
0
0
0
0
0
-1
-3
-23
-14
9
-10
18
-14
4
18
-2
0
0
0
0
0
0
0
0
3
9
-14
-6
-18
1
-20
-2
0
0
0
0
0
0
0
0
1
14
4
3
-8
8
-5
0
0
0
0
0
0
0
0
0
0
3
-23
25
-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
20
14
5
-5
0
6
-3
1
0
0
0
0
0
0
-13
-18
-47
-23
18
-22
0
-2
0
11
2
0
0
0
0
0
0
8
-5
-3
-8
14
-23
-6
15
3
6
-7
0
0
0
0
0
0
5
-26
6
6
-2
-2
4
21
-9
2
0
0
0
0
0
0
0
-1
-11
-7
22
-5
-11
-35
1
1
0
0
0
0
0
0
0
0
0
6
10
-17
-33
7
0
0
0
0
0
0
0
0
0
0
0
0
20
0
14
7
-10
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
25
-3
-1
0
-1
0
3
4
0
0
0
0
0
0
0
2
1
-2
8
11
7
3
-8
1
-5
0
0
0
0
0
0
0
0
-8
1
7
7
7
0
3
-10
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
-9
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
15
-2
-1
2
-24
0
0
0
0
0
0
0
0
-7
3
0
0
-10
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
10
5
-7
1
-10
0
1
0
0
0
0
0
0
0
0
3
-2
-2
-2
6
-13
0
2
4
-2
-2
0
0
0
0
0
0
0
-6
-2
-6
-11
-17
0
0
-1
-5
0
0
0
0
0
0
0
0
8
9
-5
-25
13
1
-1
0
0
0
0
0
0
0
0
0
0
-1
6
2
-8
-25
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
15
-3
-31
0
-8
0
1
0
-1
0
0
0
0
0
0
10
0
-4
-2
16
7
-20
5
15
19
5
0
0
0
0
0
0
0
-9
5
13
24
-16
6
-20
0
7
-8
0
0
0
0
0
0
0
3
4
10
-4
-7
-14
-9
-1
0
0
0
0
0
0
0
0
0
0
17
-46
19
9
-2
0
0
-1
0
0
0
0
0
0
0
0
0
-14
-3
-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
-1
-11
10
-9
-9
4
0
14
0
0
0
0
0
0
0
0
-15
6
19
55
11
0
0
0
0
6
0
0
0
0
0
0
0
-3
-2
31
-16
0
0
3
-9
-5
-2
-1
0
0
0
0
0
0
-7
-19
1
0
-14
-19
5
-5
-2
1
0
0
0
0
0
0
0
0
3
-11
-20
-9
26
1
9
-6
-1
1
0
0
0
0
0
0
0
0
5
4
-13
14
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
-11
15
-3
0
1
-44
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
-27
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
-15
-3
0
2
0
0
0
0
0
0
0
0
0
1
1
3
9
0
-10
-16
0
0
0
0
0
0
0
0
0
0
0
0
1
3
18
0
0
4
-15
-6
0
0
0
0
0
0
0
0
5
5
-2
8
25
-9
0
-4
0
0
0
0
0
0
0
0
0
1
0
-1
9
10
-25
0
0
0
1
0
0
0
0
0
0
-2
-1
4
-9
-4
9
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
9
-54
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
24
2
0
0
0
0
3
0
0
0
0
0
0
-2
0
2
-23
-15
-9
5
-11
-6
14
1
0
0
0
0
0
0
-1
3
1
-3
11
26
-33
-15
-2
-2
1
0
0
0
0
0
0
0
0
3
21
-9
-5
26
9
0
9
0
0
0
0
0
0
0
2
-1
-1
-10
13
-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
19
4
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
-2
35
-11
17
0
-1
0
0
2
0
0
0
0
0
0
2
1
-5
2
31
-5
-15
11
-6
0
0
0
0
0
0
0
0
1
-20
22
-17
-18
-9
-8
0
-1
0
-1
0
0
0
0
0
0
-2
-13
5
2
25
-5
11
-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
-10
-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
11
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
-18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
4
9
-3
-26
-6
0
-19
0
0
0
0
0
0
0
0
4
4
-3
-18
3
-5
0
2
-5
0
0
0
0
0
0
0
-1
-1
1
4
-3
14
-6
0
-11
-1
0
0
0
0
0
0
0
0
2
0
0
-4
11
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
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
-34
-5
1
1
0
-5
0
0
0
0
0
0
0
0
0
3
5
-5
11
-1
-2
-7
0
6
0
0
0
0
0
0
0
0
1
17
6
-11
5
-14
1
0
-6
0
0
0
0
0
0
0
0
-1
-1
4
-32
-6
-15
0
0
2
0
0
0
0
0
0
0
0
6
3
-6
20
-24
-8
3
0
5
0
0
0
0
0
0
0
0
5
18
3
-32
4
-3
1
1
0
0
0
0
0
0
0
0
0
0
1
-14
-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
14
-9
-1
7
0
0
0
0
0
0
0
0
0
0
0
5
9
6
-2
-14
3
1
-5
4
0
0
0
0
0
0
0
0
2
-1
2
9
18
2
6
-1
0
0
0
0
0
0
0
0
0
0
-6
-20
0
-6
4
-10
-3
0
0
0
0
0
0
0
0
0
-2
9
4
9
-24
-7
-1
0
0
-1
0
0
0
0
0
0
0
0
-8
1
-32
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
27
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
13
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
10
18
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
2
-10
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-13
2
-8
0
0
9
-16
0
0
0
0
0
0
0
1
0
0
8
-25
2
0
5
1
-6
3
0
0
0
0
0
0
0
0
0
-2
3
32
-9
5
0
-3
0
0
0
0
0
0
0
0
11
0
11
-23
5
13
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
10
-3
8
-2
0
0
0
3
0
0
0
0
0
0
0
0
6
-4
4
7
13
5
0
1
0
0
0
0
0
0
0
0
0
0
5
0
13
4
4
0
1
-43
3
0
0
0
0
0
0
0
1
-1
-8
-14
0
4
-7
0
2
-1
0
0
0
0
0
0
0
0
0
2
-24
26
-25
-25
1
4
1
0
0
0
0
0
0
0
3
-5
-1
-3
-7
14
-7
0
0
0
0
0
0
0
0
0
0
0
3
-1
21
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
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-26
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-39
1
-3
-2
0
1
-5
-8
0
0
0
0
0
0
0
0
3
0
1
0
-11
-27
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
5
-19
6
5
0
0
0
0
0
0
0
0
0
0
0
-8
8
0
10
6
0
0
0
0
0
0
0
0
0
0
0
0
15
-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
11
0
0
0
0
0
0
0
0
0
0
0
-1
5
5
3
-7
18
2
0
11
0
0
0
0
0
0
0
0
2
0
-3
-2
-3
-20
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
20
2
2
0
0
-1
0
0
0
0
0
0
0
-2
3
-2
-9
-2
10
2
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-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
10
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
10
2
0
8
0
0
0
0
0
0
0
0
0
0
14
-1
3
-5
-18
-6
0
7
0
0
0
0
0
0
0
0
1
-3
-5
-14
-3
13
0
9
8
-1
0
0
0
0
0
0
0
1
0
0
-18
-8
2
4
0
0
0
0
0
0
0
0
0
0
1
-1
0
-10
-8
-8
17
-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
10
0
-13
0
0
0
0
0
0
0
0
0
0
-3
-2
-2
3
0
17
0
4
0
0
0
0
0
0
0
0
0
-1
0
1
0
-9
1
2
0
10
0
0
0
0
0
0
0
0
0
0
-9
6
-1
-10
0
15
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
11
0
-4
-5
0
0
0
0
0
0
0
0
26
-32
36
17
-1
2
5
-32
2
-8
2
0
0
0
0
0
0
-20
-7
-7
2
20
2
24
-2
-7
0
1
0
0
0
0
0
0
-16
2
15
7
23
13
-21
24
-8
0
0
0
0
0
0
0
0
0
-1
-4
2
-16
-5
-17
-8
6
-1
0
0
0
0
0
0
0
-9
0
0
-25
-9
-25
-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
-9
-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
10
2
-1
4
-5
0
0
0
-3
0
0
0
0
0
0
0
0
2
5
-1
3
-7
1
4
0
1
0
0
0
0
0
0
0
0
-4
-1
-4
15
-7
-11
9
-1
-1
0
0
0
0
0
0
0
0
1
-4
-2
-11
-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
25
0
36
11
-5
-1
0
0
0
0
0
0
0
2
-1
-1
-2
10
-10
10
1
-6
0
0
0
0
0
0
0
0
0
0
5
2
-18
0
10
0
0
1
0
0
0
0
0
0
0
0
1
0
0
-1
13
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
-14
-16
-7
-18
-5
0
0
1
0
0
0
0
0
0
2
2
4
5
-10
-25
-3
-43
6
3
0
0
0
0
0
0
0
-4
-1
-11
2
14
21
-43
5
-2
-3
0
0
0
0
0
0
0
26
1
-13
-18
11
-47
2
-26
1
-23
-2
0
0
0
0
0
0
0
0
6
-8
-8
21
20
1
0
0
-1
0
0
0
0
0
0
0
-2
-3
-3
0
-4
9
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-2
-6
6
2
10
-5
32
-2
0
4
-1
0
0
0
0
0
0
-36
23
6
-4
24
-16
-10
1
46
2
7
0
0
0
0
0
0
1
-2
-6
-21
16
44
39
-6
-1
-47
0
0
0
0
0
0
0
-4
-11
15
-14
-2
-11
11
0
7
-5
-2
0
0
0
0
0
0
0
0
-27
5
-10
2
26
9
-4
-3
0
0
0
0
0
0
0
-1
0
-4
-5
-6
4
4
11
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
15
-10
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
10
-15
-6
7
5
-4
-10
0
-3
-1
0
0
0
0
0
0
0
29
5
9
3
19
27
54
-24
-14
-2
-3
0
0
0
0
0
0
-5
-2
19
1
8
-11
10
-23
3
-2
0
0
0
0
0
0
0
-8
-21
-10
-7
-80
-35
16
-2
-4
0
-3
0
0
0
0
0
0
-4
0
-15
-5
-26
-77
0
15
3
9
0
1
0
0
0
0
0
9
17
-1
-4
-7
-18
5
31
5
-4
0
0
0
0
0
0
0
0
-2
-1
9
-4
-7
4
4
2
0
0
0
0
0
0
0
0
0
0
0
1
0
3
14
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
10
1
-2
-1
-4
14
0
-25
-5
0
0
0
0
0
0
0
0
-5
3
-5
2
-7
2
18
-2
-2
1
0
0
0
0
0
0
0
14
5
-1
-1
15
-5
2
3
0
5
0
0
0
0
0
0
0
2
-1
-5
3
19
11
0
0
0
-2
0
0
0
0
0
0
0
1
15
0
-11
-6
39
0
2
0
0
0
0
0
0
0
0
0
3
0
-1
19
2
-9
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
9
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
13
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
13
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
2
13
0
-8
-1
0
0
0
0
0
0
0
0
1
-1
0
3
-8
0
11
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
11
-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
-23
-1
16
-5
14
0
-1
1
0
0
0
0
0
0
5
8
-1
10
23
-5
-43
7
-2
6
2
0
0
0
0
0
0
5
14
3
-25
-5
-24
-5
0
0
14
0
0
0
0
0
0
0
20
-3
-4
-24
-25
-27
-17
0
-9
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
9
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
10
9
-4
-8
-2
0
-9
-1
0
0
0
0
0
0
-2
4
-2
-2
2
2
3
24
-18
2
-2
0
0
0
0
0
0
6
8
32
-10
4
-26
5
-11
8
1
-1
0
0
0
0
0
0
4
10
8
-25
-9
-14
-17
8
0
27
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
-14
-13
-19
-8
6
0
0
0
0
0
0
0
0
0
0
-2
0
14
21
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
-19
-10
4
-17
0
-5
7
0
0
0
0
0
0
0
34
-17
1
-20
27
-6
-39
-23
-9
8
0
0
0
0
0
0
0
14
-11
27
-19
-2
5
36
5
-8
-4
0
0
0
0
0
0
0
-2
-37
11
14
-3
-16
3
15
0
-3
1
1
0
0
0
0
0
4
2
15
7
7
27
15
-1
-2
0
0
0
0
0
0
0
0
-1
5
0
5
5
24
-43
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
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
9
0
2
8
16
8
0
-2
2
2
0
0
0
0
0
0
0
-2
7
1
1
4
-20
15
1
-4
0
0
0
0
0
0
0
0
1
-4
-2
-4
15
-15
-4
-4
0
1
0
0
0
0
0
0
0
0
0
3
2
-34
10
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
-9
3
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
-1
-2
9
0
0
0
0
0
0
0
0
0
-3
0
-9
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
-10
-35
-24
-8
2
-2
-2
0
0
0
0
0
0
-1
31
4
2
-9
3
-18
2
4
0
1
0
0
0
0
0
0
-9
10
-4
2
-5
-29
0
10
0
1
0
0
0
0
0
0
0
0
-2
-1
-8
16
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
24
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
27
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
-18
-3
3
-6
0
1
0
0
0
0
0
0
0
1
32
6
-13
4
4
0
45
5
-10
1
0
0
0
0
0
0
-2
5
3
16
0
29
-20
8
10
-13
0
0
0
0
0
0
0
4
0
10
-4
-8
-19
11
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-2
4
26
5
0
-2
0
0
0
0
0
0
0
0
3
3
-1
-1
-17
-24
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-41
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
-11
4
9
-2
11
20
0
-7
-3
0
0
0
0
0
0
0
4
16
3
24
-5
5
-11
-7
-5
17
0
0
0
0
0
0
0
-3
-4
-1
29
-9
-8
-25
20
-1
0
0
0
0
0
0
0
0
4
2
6
-11
0
-8
-11
-1
-6
1
0
0
0
0
0
0
0
-1
-5
-1
-9
3
22
-10
0
0
-2
0
0
0
0
0
0
0
0
5
0
-9
26
6
3
0
0
0
0
0
0
0
0
0
0
2
0
0
4
-2
23
0
16
0
1
0
0
0
0
0
0
0
0
0
1
0
9
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
11
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
-18
-3
-10
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
25
-6
0
4
-1
0
1
0
1
0
0
0
0
0
0
0
0
-4
1
1
10
13
2
-1
1
-5
0
0
0
0
0
0
0
-2
-4
0
-4
2
3
-14
-1
-4
-1
0
0
0
0
0
0
0
0
0
3
-1
5
0
-3
0
-9
0
0
0
0
0
0
0
0
0
-1
-3
16
-13
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
-39
-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
15
-2
-1
0
-1
0
0
0
0
0
0
0
4
-6
-4
-3
5
-35
16
41
-10
-1
0
0
0
0
0
0
0
10
4
11
18
-10
16
10
-17
6
-4
0
0
0
0
0
0
0
0
14
10
-4
-5
45
1
9
0
0
0
0
0
0
0
0
0
1
4
2
-2
0
-19
-10
0
-3
0
0
0
0
0
0
0
0
0
0
34
2
2
-11
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
-17
-14
0
4
-2
0
0
0
0
0
0
0
-20
-7
11
4
-6
-7
2
-5
4
0
0
0
0
0
0
0
0
-14
-11
-20
4
19
-17
-16
17
0
0
0
0
0
0
0
0
0
-1
0
-4
-7
1
0
10
7
0
1
0
0
0
0
0
0
0
-2
2
4
0
31
-4
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-3
18
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-11
-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
10
-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
-15
-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
-10
-7
-1
-9
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
26
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
-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
-29
4
-1
0
-3
-1
0
0
0
0
0
0
9
-6
1
4
-18
10
-4
-4
-26
0
0
0
0
0
0
0
0
0
24
0
11
2
-6
0
-5
-6
16
0
0
0
0
0
0
0
-2
-3
-7
-2
-4
-17
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
10
-9
21
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
15
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
-11
-21
1
-5
6
-5
-8
-6
1
0
0
0
0
0
0
0
0
-10
-2
1
5
17
29
26
-4
10
0
0
0
0
0
0
0
0
0
3
0
-9
4
2
41
8
4
0
0
0
0
0
0
0
0
10
2
-2
-18
20
3
-1
3
0
0
0
0
0
0
0
0
0
2
-1
1
0
27
27
-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
-10
-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
-15
-1
0
0
0
0
0
0
0
0
14
6
0
0
-4
6
-21
3
13
0
0
0
0
0
0
0
0
-4
-10
11
1
0
15
2
-5
6
1
0
0
0
0
0
0
0
0
0
-13
0
3
2
15
-3
0
0
0
0
0
0
0
0
0
0
0
-1
9
9
1
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
-7
0
-20
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
15
9
0
0
0
0
0
0
0
0
0
0
-10
7
0
-1
4
-2
-15
-24
0
-1
0
0
0
0
0
0
0
-1
0
0
0
-24
26
-9
13
0
1
0
0
0
0
0
0
0
4
1
25
1
2
-15
-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
-9
-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
-20
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
-10
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
-32
-1
-29
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
3
-7
-16
18
14
-17
0
0
0
0
0
0
0
0
7
4
2
0
25
11
5
-2
-4
0
0
0
0
0
0
0
0
-1
14
-8
3
3
31
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
13
0
0
0
0
-1
0
0
0
0
0
0
2
0
1
0
-13
20
-25
0
0
0
0
0
0
0
0
0
0
0
4
10
1
1
19
0
35
5
13
-13
0
0
0
0
0
0
0
0
-1
3
-25
13
4
-2
5
-4
1
0
0
0
0
0
0
0
8
-2
-3
-7
20
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
11
-1
0
0
0
-4
-1
0
0
0
0
0
0
0
-5
-1
0
-1
6
-2
-36
-5
-1
0
0
0
0
0
0
0
1
0
4
2
19
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
-15
0
-3
0
-3
10
27
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
-15
-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
-9
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
18
-10
-5
0
1
0
0
0
0
0
0
0
0
0
0
-3
-15
-14
27
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
13
4
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
2
14
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
80
33
8
0
-3
0
0
0
0
0
0
0
0
0
-11
-14
23
23
-27
14
-26
-5
14
0
0
0
0
0
0
0
0
-1
18
-8
3
14
-2
5
14
-16
0
0
0
0
0
0
0
4
-11
24
-14
5
13
-14
-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
18
0
14
32
-1
1
0
2
1
0
0
0
0
0
0
0
0
-3
33
3
43
-10
0
1
0
6
0
0
0
0
0
0
0
0
9
18
-18
8
-8
25
6
-14
2
0
0
0
0
0
0
0
3
2
17
11
-5
-4
26
4
0
1
0
0
0
0
0
0
0
1
-4
6
16
8
0
20
-14
-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
-19
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
24
-4
-3
0
0
-2
0
0
0
0
0
0
0
0
-2
1
13
-14
-22
0
7
0
11
2
0
0
0
0
0
0
5
2
15
0
-10
0
-3
13
-1
14
1
0
0
0
0
0
0
0
-10
-16
18
4
5
-11
1
9
-5
1
0
0
0
0
0
0
0
0
-8
3
-19
-14
-7
-2
-2
0
0
0
0
0
0
0
0
1
1
-9
13
-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
11
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
13
-8
-5
-7
24
-2
0
0
0
0
0
0
0
0
-5
-14
6
13
3
-2
-21
3
9
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
15
-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
11
-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
9
-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
21
10
-1
0
-3
0
0
0
0
0
0
0
0
1
-15
25
2
10
-5
1
1
-9
0
0
0
0
0
0
0
0
0
0
-4
-13
4
17
-1
-1
-2
0
0
0
0
0
0
0
0
0
4
-1
-1
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-15
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
14
-5
2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-24
4
0
6
4
-25
0
8
0
0
0
0
0
0
0
0
3
4
9
-7
5
-14
7
10
35
5
0
0
0
0
0
0
0
5
-1
-1
25
9
39
-5
-14
-3
-3
0
0
0
0
0
0
0
0
-1
4
-21
-11
-25
1
0
16
3
0
0
0
0
0
0
0
0
0
0
4
-4
-13
-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
-16
-16
-9
0
0
-13
0
0
0
0
0
0
0
0
21
0
-21
-6
2
0
6
0
-8
0
0
0
0
0
0
0
2
0
-19
-1
36
-6
3
9
14
-14
0
0
0
0
0
0
0
0
14
6
-2
3
43
15
5
-20
-1
0
0
0
0
0
0
0
33
13
24
-6
4
-1
-10
0
4
0
0
0
0
0
0
0
0
-2
-6
8
10
-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
-27
0
2
6
0
0
0
0
0
0
0
0
0
0
3
-5
1
3
0
31
0
-8
0
4
-1
0
0
0
0
0
0
0
-13
-1
11
7
1
-4
5
2
7
0
0
0
0
0
0
0
1
0
16
0
-16
14
27
0
-6
2
-1
0
0
0
0
0
-1
0
6
2
6
-5
-4
-17
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
-17
14
-3
8
1
-9
0
0
0
0
0
0
0
5
0
-2
0
13
3
1
0
0
0
0
0
0
0
0
0
0
0
2
11
15
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
-10
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
9
-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
-11
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
-16
32
-1
-4
-14
0
0
0
0
0
0
0
0
0
-11
4
0
-4
0
3
0
-3
0
0
0
0
0
0
0
0
0
-2
2
-2
25
-14
0
0
1
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
-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
9
-8
-3
0
0
0
0
0
0
0
0
0
2
11
-14
39
6
-17
-9
0
-1
0
0
0
0
0
0
0
0
0
16
2
0
-6
4
-32
-6
34
-43
0
0
0
0
0
0
0
0
0
23
23
-1
5
-21
-36
0
-10
0
0
0
0
0
0
0
0
-7
-2
36
43
4
41
2
-11
8
0
0
0
0
0
0
0
3
0
-14
-1
-13
5
-19
-3
-2
6
0
0
0
0
0
0
0
0
0
-14
-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
-21
7
10
-1
3
-8
0
0
2
0
0
0
0
0
0
0
23
8
-41
21
-23
13
0
-1
0
-6
0
0
0
0
0
0
-3
0
-16
-4
0
20
13
-3
-26
-44
-6
0
0
0
0
0
0
0
-9
-1
39
-8
1
-2
-2
-1
7
1
0
0
0
0
0
0
0
3
6
-1
26
20
9
-5
-9
1
-1
0
0
0
0
0
0
0
1
-3
-11
1
-8
32
1
0
-3
0
0
0
0
0
0
0
0
4
0
6
8
-2
-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
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
-10
-3
10
-15
35
0
0
0
11
0
0
0
0
0
0
0
0
-1
-1
6
0
-10
-5
11
-14
-8
-1
0
0
0
0
0
0
0
-4
0
-2
-8
-7
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
9
13
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
-9
11
0
-1
0
-8
1
4
0
0
0
0
0
0
1
0
-6
0
-8
15
-5
0
-2
-3
0
0
0
0
0
0
0
0
13
0
1
17
7
0
3
0
-1
0
0
0
0
0
0
0
1
0
-17
0
-15
-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
13
-2
2
0
0
0
6
0
0
0
0
0
0
0
0
-3
1
0
1
0
4
4
-9
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
-27
13
10
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
31
7
0
1
0
0
0
0
0
0
0
0
0
9
-2
0
-1
18
1
0
0
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
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
9
-2
2
0
0
0
0
0
0
0
0
0
0
-2
0
-25
-9
-25
1
-16
0
-1
0
0
0
0
0
0
0
0
-3
-4
11
1
0
15
24
9
-1
8
0
0
0
0
0
0
0
0
3
2
19
-1
-1
-7
-1
6
0
0
0
0
0
0
0
0
2
0
-8
-1
8
29
-3
1
2
4
0
0
0
0
0
0
0
0
-1
1
11
-18
10
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
27
6
-2
0
5
0
0
0
0
0
0
0
0
0
0
-10
-2
-18
7
9
-9
0
0
0
9
0
0
0
0
0
0
0
-1
-23
-23
-27
-22
7
-10
-14
3
0
0
0
0
0
0
0
1
0
-1
0
9
33
-3
8
-4
1
-2
0
0
0
0
0
0
0
0
0
3
11
-8
4
1
0
-2
0
0
0
0
0
0
0
0
0
10
0
-11
-13
4
5
-1
0
0
0
0
0
0
0
0
0
-2
-2
-21
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
-9
7
2
0
0
1
0
0
0
0
0
0
0
-1
-7
0
43
-16
-13
0
1
0
-3
9
0
0
0
0
0
0
0
0
-2
0
4
-27
1
-17
3
-16
0
0
0
0
0
0
0
-2
0
-11
-3
-26
-1
1
3
3
-3
0
0
0
0
0
0
0
0
1
0
1
-13
-10
3
3
-3
0
0
0
0
0
0
0
0
-8
0
4
0
13
0
23
-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
-19
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
13
1
14
4
-5
1
0
0
0
0
0
0
0
0
0
0
7
0
26
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
-17
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
9
0
6
-1
2
-1
14
0
0
0
0
0
0
0
0
2
-4
2
-7
17
1
-2
-7
2
0
0
0
0
0
0
0
0
0
0
-1
0
-17
-7
1
0
-1
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
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
-23
-3
-4
-2
1
0
0
-1
0
0
0
0
0
0
0
0
5
25
-14
10
-4
3
0
5
0
0
0
0
0
0
0
0
3
11
0
-14
-10
-18
5
2
-8
-9
0
0
0
0
0
0
0
0
-1
0
-1
-13
31
-35
-2
3
5
0
0
0
0
0
0
0
0
-5
0
-4
-6
5
-17
-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
9
8
-3
0
0
0
3
0
0
0
0
0
0
0
-6
0
-13
8
3
2
0
-6
0
0
0
0
0
0
0
0
0
0
-17
31
-33
-6
8
-5
14
-48
-5
0
0
0
0
0
0
0
-1
0
-5
6
-44
23
-15
5
-1
0
0
0
0
0
0
0
-2
0
-9
0
7
11
29
13
3
0
0
0
0
0
0
0
0
0
-11
0
-9
0
-14
-1
8
0
1
0
0
0
0
0
0
0
0
0
-9
0
33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
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
14
4
1
-11
0
0
0
0
-1
-2
0
0
0
0
0
0
-3
-15
-1
-11
14
-14
0
0
0
-3
0
0
0
0
0
0
0
0
4
2
-1
-25
6
4
1
-9
-3
0
0
0
0
0
0
0
0
0
-3
6
-14
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
10
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
-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
-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
22
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
18
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
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
37
-3
2
-4
0
3
0
0
0
0
0
0
0
0
3
0
-14
-7
-20
6
7
0
17
9
0
0
0
0
0
0
0
0
-3
-11
5
1
-35
-17
-8
1
5
0
0
0
0
0
0
0
0
0
5
-1
-8
-8
-6
5
0
-19
0
0
0
0
0
0
0
0
4
0
-7
13
-10
-9
0
-6
0
0
0
0
0
0
0
0
0
0
-7
7
-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
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
15
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
3
2
1
8
-5
-15
-7
0
0
0
0
0
0
0
-6
4
7
2
17
24
3
0
-4
1
0
0
0
0
0
0
0
0
-3
7
8
10
2
-1
1
4
-17
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
17
-5
0
1
0
0
1
0
0
0
0
0
0
0
1
-3
-14
5
24
-2
0
0
0
-1
2
0
0
0
0
0
0
0
4
3
-5
6
10
-2
4
-25
-1
-1
0
0
0
0
0
0
1
-1
-7
26
-10
-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
18
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
-10
14
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
-16
0
0
0
0
0
0
0
0
0
0
0
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
-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
-36
0
0
0
0
0
0
0
0
-3
0
-7
10
4
-8
-4
0
3
0
0
0
0
0
0
0
0
0
-5
0
-3
20
3
2
9
-2
0
0
0
0
0
0
0
0
-1
1
0
4
-14
25
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
-11
0
0
0
2
0
0
0
0
0
0
0
0
5
-1
-10
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
-20
-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
11
-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
-14
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
15
-4
-7
13
-2
2
0
0
0
0
0
0
0
0
-2
1
1
11
9
-5
3
14
10
0
0
0
0
0
0
0
0
1
0
2
-6
-10
11
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
11
17
-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
-16
18
33
-1
1
0
0
0
0
0
0
0
0
0
-6
4
9
-2
6
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
19
0
-3
1
0
14
0
0
0
0
0
0
0
1
0
0
0
-1
9
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
-9
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
-23
-14
0
0
0
0
0
0
0
0
5
-2
-2
-1
3
-25
13
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
-21
-3
-5
0
-2
0
0
0
0
0
0
0
0
-2
-2
-2
-9
-17
43
18
18
0
0
0
0
0
0
0
0
0
-2
3
4
27
-13
0
-29
-8
29
0
0
0
0
0
0
0
0
0
-3
4
-13
-13
-1
0
-3
-1
0
0
0
0
0
0
0
0
-5
0
-1
-10
-7
4
-2
1
-2
0
0
0
0
0
0
0
0
-8
0
0
4
11
-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
13
-3
-4
0
9
0
0
0
0
0
0
0
0
8
1
3
8
-6
-14
5
-13
-5
2
0
0
0
0
0
0
0
8
8
0
-14
25
-2
-13
43
6
0
0
0
0
0
0
0
0
-1
-2
-3
2
-7
-5
-11
0
11
1
0
0
0
0
0
0
0
0
0
-1
1
-3
-10
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
11
4
24
16
5
-5
-6
0
0
0
0
0
0
0
0
0
2
17
1
0
-4
9
2
0
0
0
0
0
0
0
0
-1
0
10
0
7
-5
-7
-3
5
0
0
0
0
0
0
0
0
-4
0
1
0
1
-2
11
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
15
5
4
1
-1
0
0
0
0
0
0
0
-2
0
-2
-6
2
14
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
16
5
0
0
0
0
0
0
0
0
0
6
2
6
0
2
35
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
15
0
1
0
0
0
0
0
0
0
4
5
5
4
7
-7
6
1
-7
0
0
0
0
0
0
0
0
0
-1
0
11
-2
5
-25
-6
13
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
0
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
10
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
-29
-29
0
1
0
0
0
0
0
0
0
-3
-31
10
4
-14
8
18
-15
-3
11
10
0
0
0
0
0
0
-1
-10
4
-2
14
-9
0
19
6
-6
0
0
0
0
0
0
0
0
0
1
0
53
0
-8
6
9
-4
0
0
0
0
0
0
0
-1
0
-1
-2
-7
4
14
-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
13
5
6
0
-24
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
21
-3
1
-6
-2
3
-1
0
0
0
0
0
0
0
0
1
-1
-4
26
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
9
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
-10
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
9
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
-13
4
1
0
0
0
0
0
0
0
0
0
1
2
2
0
3
-4
4
0
9
0
0
0
0
0
0
0
0
7
-1
0
-8
6
-3
-9
-5
-2
0
0
0
0
0
0
0
0
0
0
2
9
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
-11
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
11
1
0
-3
-2
-5
45
0
1
0
0
0
0
0
0
0
-2
0
-2
-1
7
0
-1
-19
6
4
0
0
0
0
0
0
0
2
-8
6
0
13
9
-11
-8
17
-8
0
0
0
0
0
0
0
0
0
0
-17
9
32
-2
-1
7
0
0
0
0
0
0
0
0
0
2
-3
0
15
-7
3
6
6
0
0
0
0
0
0
0
0
0
0
0
1
1
44
-11
-10
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
14
-16
-7
0
0
0
0
0
0
0
0
2
14
-3
21
1
19
1
9
17
-1
0
0
0
0
0
0
7
-10
0
7
10
26
1
-5
4
-9
1
0
0
0
0
0
0
0
0
0
0
1
-14
41
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
17
-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
16
6
0
3
-4
0
0
0
0
0
0
0
0
-2
-1
-11
-5
-13
11
-8
-3
6
0
0
0
0
0
0
0
0
0
-6
-10
0
-21
7
-6
8
-3
-2
0
0
0
0
0
0
-2
10
0
2
-4
-2
-5
0
-7
0
1
0
0
0
0
0
0
3
0
0
6
1
14
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
15
-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
21
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
-15
-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
14
-17
0
10
0
0
0
0
0
0
0
1
-2
0
0
-10
-11
6
16
9
1
0
0
0
0
0
0
0
5
0
0
-1
-2
-10
13
-9
20
0
0
0
0
0
0
0
0
-7
0
1
-7
2
33
-2
-1
6
-3
0
0
0
0
0
0
0
0
0
1
-4
39
-11
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
7
11
-4
7
0
0
0
0
0
0
0
0
0
-3
0
0
-16
-3
-18
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
44
17
0
9
0
0
0
0
0
0
0
0
1
-9
4
0
13
-1
7
23
0
4
0
0
0
0
0
0
0
-13
3
9
0
24
0
-15
-24
-6
-1
0
0
0
0
0
0
0
3
6
-1
-10
3
3
9
-5
0
2
0
0
0
0
0
0
-1
-4
0
3
-8
18
25
11
-3
0
1
0
0
0
0
0
0
0
0
0
-4
1
-2
-9
-3
-6
0
-4
0
0
0
0
0
0
0
0
1
-1
24
-2
-6
17
-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
-21
2
5
10
-8
-10
8
0
0
0
0
0
0
0
-1
-1
0
47
-5
11
3
13
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
-10
-44
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
-15
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
13
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
11
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-1
-1
-11
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
20
-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
11
-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
20
0
2
0
0
0
0
0
0
0
1
-13
3
5
1
5
-10
7
-35
0
0
0
0
0
0
0
0
0
-4
0
0
2
13
-2
13
-4
-3
0
0
0
0
0
0
0
0
0
0
0
26
-8
5
2
1
0
0
0
0
0
0
0
0
0
-1
1
3
10
-7
3
6
-1
2
0
0
0
0
0
0
0
0
0
0
-3
19
-25
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
-16
-4
-6
0
0
0
0
0
0
0
1
-8
6
0
-5
-13
-5
-1
-1
0
0
0
0
0
0
0
4
2
0
0
3
-14
-4
0
-1
0
0
0
0
0
0
0
0
-1
-3
1
-2
-7
1
25
-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
-13
-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
-17
0
-7
0
0
0
0
0
0
0
0
-1
-8
0
-1
-3
0
2
-14
1
1
0
0
0
0
0
0
0
0
3
0
11
2
10
-11
2
-15
0
1
0
0
0
0
0
0
0
0
0
-3
6
-1
20
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
15
0
1
0
0
0
0
0
0
0
0
0
0
3
0
2
-2
-20
-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
17
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
9
2
10
-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
-10
0
0
19
-1
-2
-9
9
-1
0
0
0
0
0
0
0
0
10
0
2
0
2
18
14
3
1
0
0
0
0
0
0
0
0
1
0
4
-8
14
5
6
3
-6
0
0
0
0
0
0
0
0
-1
3
5
-5
-4
17
3
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
1
0
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-35
-2
3
0
0
0
0
0
0
0
0
0
3
0
-1
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
3
2
-1
-1
-5
-3
0
-13
0
0
0
0
0
0
0
1
-15
-3
-1
4
2
13
13
20
-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
-9
1
-13
0
2
2
0
0
0
0
0
0
0
0
-1
0
1
-21
-15
-3
-2
0
2
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
4
11
1
0
0
0
0
0
0
0
0
0
1
0
0
-2
11
11
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
-10
14
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
14
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
20
-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
14
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
32
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
33
-1
-7
9
0
0
0
0
0
0
0
0
3
0
0
-11
-4
-1
3
3
1
0
0
0
0
0
0
0
0
0
-4
2
-9
0
-3
1
2
0
0
0
0
0
0
0
0
0
2
0
-1
10
-8
-1
-1
-2
0
0
0
0
0
0
0
0
0
1
0
14
-6
-17
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
18
-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
-27
1
0
0
1
0
0
0
0
0
0
0
0
0
-5
1
-3
15
6
6
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
0
-5
9
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
-20
-33
9
0
0
0
0
0
0
0
0
0
0
0
0
6
2
13
-17
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
17
7
-13
1
0
0
0
0
0
0
0
0
0
0
0
2
2
-6
1
-2
-11
0
0
0
0
0
0
0
0
0
0
-1
0
2
6
0
-9
-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
-20
23
36
-58
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-15
33
19
-3
0
0
0
0
0
0
0
0
0
0
0
11
-7
-36
-46
-13
1
0
0
0
0
0
0
0
0
0
0
0
6
11
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
9
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
29
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
44
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
1
-5
13
-2
0
0
0
0
0
0
0
0
0
0
4
-5
-9
0
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-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
10
1
9
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
-11
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
-15
-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
9
-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
-21
-20
19
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
26
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-3
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
0
-23
-48
7
0
0
0
0
0
0
0
0
0
0
-2
-4
2
8
24
7
0
0
0
0
0
0
0
0
0
0
0
1
-1
27
-11
25
-25
13
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
19
-21
9
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
24
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
-5
-10
5
5
-1
0
0
0
0
0
0
0
0
0
0
3
-36
4
1
-7
0
1
0
0
0
0
0
0
0
0
0
4
0
-8
0
5
14
-4
6
0
0
0
0
0
0
0
0
0
0
3
3
-6
-16
-21
-17
1
0
0
0
0
0
0
0
0
0
0
0
-23
-5
-5
-3
-34
-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
-21
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
-33
0
0
0
0
0
0
0
0
0
1
-7
-3
-1
-4
27
5
1
2
0
0
0
0
0
0
0
0
0
0
-17
44
-5
-18
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
-15
-9
-5
24
10
0
0
0
0
0
0
0
0
0
0
-2
7
0
4
0
3
-14
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
11
0
0
0
0
0
0
0
0
0
0
1
0
-1
-24
45
11
3
-3
0
0
0
0
0
0
0
0
0
-1
0
0
-11
25
0
-2
1
0
0
0
0
0
0
0
0
0
0
-3
-1
5
-2
7
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
-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
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
13
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
11
19
-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
-13
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
16
-9
2
-1
0
0
0
0
0
0
0
0
0
0
3
-3
3
1
17
-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
-17
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
-10
-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
-15
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-5
-17
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-15
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
36
23
2
0
0
0
0
0
0
0
0
0
-1
0
-4
25
25
4
-5
10
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-51
-6
0
0
0
0
0
0
0
0
0
0
0
-2
4
10
20
26
-8
3
0
0
0
0
0
0
0
0
0
0
0
10
25
-1
19
1
0
0
0
0
0
0
0
0
0
0
0
-1
-16
2
6
0
15
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
9
0
0
0
-13
2
0
0
0
0
0
0
0
0
0
0
-2
0
-23
-18
18
5
-1
0
0
0
0
0
0
0
0
0
2
1
-1
25
-8
2
0
0
0
0
0
0
0
0
0
0
0
-2
-2
5
-5
-13
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
10
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-13
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
-14
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
18
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
18
9
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
-9
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
14
2
-9
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
-41
5
-33
-2
1
0
0
0
0
0
0
0
0
0
0
-3
13
-4
17
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
3
8
4
17
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-17
-2
-14
-34
17
0
0
0
0
0
0
0
0
0
0
0
0
-3
-17
10
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-5
7
9
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
11
1
0
0
0
7
0
0
0
0
0
0
0
0
0
-1
-1
-3
1
23
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-13
-21
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
5
5
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
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
29
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-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
9
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
8
10
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
-18
22
-6
-48
-1
0
0
0
0
0
0
0
0
0
-1
0
1
-4
10
4
-15
0
0
0
0
0
0
0
0
0
-2
0
0
1
4
10
-10
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
15
0
-18
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
-13
4
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-51
-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
-17
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
-10
-15
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
-27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
9
-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
14
-7
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
-9
-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
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
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
-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
16
0
0
0
0
0
0
0
0
0
0
1
0
-1
-25
-6
-20
-7
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-2
-39
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
-25
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
-7
16
11
2
0
0
0
0
0
0
0
0
0
0
0
0
-32
-2
13
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
33
-13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-21
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
36
35
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-9
-2
-15
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
11
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
9
-18
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
10
3
-1
0
0
0
0
0
0
0
0
0
0
-1
0
4
-1
-1
-11
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
-17
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
-7
-2
0
-3
65
-11
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-23
25
6
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-5
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
-16
0
14
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
-14
-10
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
-14
33
10
-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
15
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
-33
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-44
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-6
-17
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
-13
6
-16
0
0
0
0
0
0
0
0
0
0
0
0
-4
26
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
-23
-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
17
0
0
0
0
0
0
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
11
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
25
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
16
-21
-13
0
0
0
0
0
0
0
0
0
0
0
-1
4
15
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
7
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
9
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
-15
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
2
-20
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-3
-1
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
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
24
-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
15
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
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
-1
0
14
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
15
-10
1
1
-3
0
0
0
0
0
0
0
0
0
0
7
-3
-13
-15
19
25
0
0
0
0
0
0
0
0
0
0
0
4
9
-3
-7
10
-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
17
14
-5
1
0
0
0
0
0
0
0
0
0
0
-1
-3
-17
9
32
-6
0
0
0
0
0
0
0
0
0
0
0
-2
1
17
-25
-8
-13
1
0
0
0
0
0
0
0
0
0
0
-32
-5
-4
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-33
37
7
0
0
0
0
0
0
0
0
0
0
0
0
13
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
-11
0
10
-6
-4
0
0
0
0
0
0
0
0
0
0
-3
-1
-20
-4
7
-1
1
-9
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
43
-17
-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
11
-15
1
-3
10
-2
2
0
0
0
0
0
0
0
0
1
3
0
16
-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
11
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
-10
10
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
-10
0
8
0
-11
-1
-3
1
0
0
0
0
0
0
0
0
0
2
3
-18
-36
-2
1
6
0
0
0
0
0
0
0
0
0
0
-10
1
-7
32
-21
-10
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
26
-14
-1
0
0
0
0
0
0
0
0
0
0
0
9
3
39
-10
8
-1
0
0
0
0
0
0
0
0
0
0
0
2
-1
-4
-9
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
-26
11
-8
-8
-3
0
0
0
0
0
0
0
0
0
0
9
1
3
-23
-3
11
-1
-1
0
0
0
0
0
0
0
0
1
17
-5
21
8
-33
-10
2
0
0
0
0
0
0
0
0
0
-1
-31
2
-5
-22
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
6
5
43
9
0
0
0
0
0
0
0
0
0
0
0
1
20
4
-1
-1
2
-7
0
0
0
0
0
0
0
0
0
0
1
-25
-4
2
13
1
1
0
0
0
0
0
0
0
0
0
0
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
-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
-10
-4
-2
0
0
0
0
0
0
0
0
0
26
7
23
-13
-22
3
-1
1
0
0
0
0
0
0
0
0
0
0
4
-14
-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
24
-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
11
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-25
-6
2
-1
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
25
-1
-2
9
3
-1
0
0
0
0
0
0
0
0
0
1
-5
0
3
8
27
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
-10
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
23
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
15
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
11
16
-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
16
6
0
17
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
9
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
11
-2
0
0
0
0
0
0
0
0
0
0
0
3
6
-3
-14
-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
10
0
0
0
0
0
0
0
0
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
-23
-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
-11
-14
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
14
-4
0
-3
0
1
0
0
0
0
0
0
0
0
0
13
6
17
37
-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
-11
-6
-4
9
0
0
0
0
0
0
0
0
0
0
0
14
-2
24
4
-3
-1
-4
0
0
0
0
0
0
0
0
0
0
-24
1
-10
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
36
0
-8
15
-4
0
-1
0
0
0
0
0
0
0
0
0
-3
14
0
-5
-41
-5
25
0
1
0
0
0
0
0
0
0
0
0
9
-3
-29
1
-24
0
0
0
0
0
0
0
0
0
0
0
2
4
-7
-31
6
-6
-6
1
0
0
0
0
0
0
0
0
0
0
8
-6
2
-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
-9
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
-20
-15
-1
0
6
-3
-3
0
0
0
0
0
0
0
0
0
-2
9
18
1
-9
-3
2
0
0
0
0
0
0
0
0
0
0
-1
4
4
5
7
15
-2
0
0
0
0
0
0
0
0
0
0
-1
-1
14
-1
16
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-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
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
10
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
-15
0
-18
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
32
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
-13
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
1
5
4
-5
-18
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
13
-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
16
1
-2
0
0
0
0
0
0
0
0
0
0
-1
0
3
4
3
-25
0
1
0
0
0
0
0
0
0
0
0
1
2
-20
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
36
0
-15
5
-3
-6
-2
1
0
0
0
0
0
0
0
0
0
-14
-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
-27
-8
6
0
0
0
0
0
0
0
0
0
0
0
6
4
-14
-19
22
10
2
1
0
0
0
0
0
0
0
0
0
0
-27
-21
-14
13
-7
3
0
0
0
0
0
0
0
0
0
0
2
-1
34
-13
1
-5
-1
0
0
0
0
0
0
0
0
0
0
1
2
-26
36
-17
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
-9
-7
-3
-5
-1
0
0
0
0
0
0
0
0
0
0
1
-1
-24
-11
6
2
2
0
0
0
0
0
0
0
0
0
0
-5
1
11
5
17
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
15
0
20
-7
0
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
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
-14
0
-6
0
-1
3
0
0
0
0
0
0
0
0
0
0
1
11
1
-6
4
-7
9
2
0
0
0
0
0
0
0
0
0
0
-3
4
11
-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
-26
2
9
5
0
0
0
0
0
0
0
0
0
0
15
-13
-2
-11
9
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
-11
-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
11
0
-6
0
10
0
0
-1
0
0
0
0
0
0
0
0
0
15
17
-14
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
13
0
-13
0
3
0
0
0
0
0
0
0
0
0
-3
-1
21
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
9
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
-15
3
-3
0
7
2
0
0
0
0
0
0
0
0
0
3
20
-2
5
13
-19
1
2
-3
0
0
0
0
0
0
0
0
-1
-24
0
-32
5
0
-11
0
0
0
0
0
0
0
0
0
0
6
-9
1
-9
10
0
1
0
0
0
0
0
0
0
0
0
0
-3
-3
-4
-8
-16
-1
2
0
0
0
0
0
0
0
0
0
0
0
-11
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
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
11
-5
-5
11
23
1
0
0
0
0
0
0
0
0
0
0
0
-9
18
-7
27
6
3
4
0
0
0
0
0
0
0
0
0
0
-9
-2
29
-9
11
0
1
0
0
0
0
0
0
0
0
0
0
-4
-14
-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
-21
1
-1
1
0
0
0
0
0
0
0
0
0
0
2
0
-16
7
-2
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
4
26
-26
-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
-17
-2
3
0
-5
0
0
0
0
0
0
0
0
0
0
-6
2
0
25
-19
2
0
0
0
0
0
0
0
0
0
0
0
19
2
-24
5
-11
4
1
0
0
0
0
0
0
0
0
0
0
-8
0
-15
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-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
9
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
9
8
-8
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
18
-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
15
8
-1
-1
9
-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
13
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
-14
-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
-9
-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
-15
-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
27
-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
18
-11
-18
4
-11
2
1
0
1
0
0
0
0
0
0
0
-1
2
14
-18
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
-9
2
6
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
11
-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
-9
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-18
11
-2
-7
2
0
0
0
0
0
0
0
0
0
0
0
9
17
-9
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
1
-5
-6
17
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-50
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
6
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
-19
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
14
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
-11
5
-6
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-9
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-13
-4
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
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
13
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
-13
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
-18
4
0
2
0
-4
2
0
0
0
0
0
0
0
0
0
1
-14
7
0
0
0
-1
3
-1
0
0
0
0
0
0
0
0
7
17
7
4
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-11
15
1
-3
17
9
0
0
0
0
0
0
0
0
0
0
0
2
3
11
-1
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
-6
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
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
20
5
9
-3
-1
2
0
0
0
0
0
0
0
0
0
0
-3
-3
-6
-14
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-13
1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-5
9
-3
14
0
0
0
0
0
0
0
0
0
0
0
0
9
-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
29
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-20
-1
4
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-16
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-5
-4
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
18
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
33
-6
-3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
3
14
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-13
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
15
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
14
0
1
0
4
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
-2
-1
-11
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
-13
-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
-13
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
-13
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
-11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
-3
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
-7
-21
1
-11
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
10
-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
9
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
2
-13
0
17
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
14
-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
15
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
18
-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
-9
-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
11
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
15
25
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
-3
7
0
-7
-15
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
11
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
-14
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
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
13
-13
-5
-16
0
0
0
0
0
0
0
0
0
3
0
0
-3
-14
-7
35
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
11
-17
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
1
11
-5
-33
2
-3
0
0
0
0
0
0
0
0
0
-2
0
-1
5
-11
16
13
14
-3
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
-16
-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
-11
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
2
6
3
-27
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
25
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-3
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
17
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
-36
-19
-19
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
6
-10
-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
-14
10
0
1
0
0
0
0
0
0
0
0
0
0
-1
-2
18
-25
-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
17
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
23
13
-4
-43
17
2
0
0
0
0
0
0
0
0
0
0
0
1
-5
17
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
-17
5
-1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
11
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
-47
1
-37
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
22
5
-23
0
0
0
0
0
0
0
0
0
0
0
-1
3
7
-7
2
13
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
-13
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
-23
-11
24
-29
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
5
-24
-4
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
19
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
-20
-35
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
11
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
14
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
20
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
19
15
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
-17
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
16
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
5
19
2
0
0
0
0
0
0
0
0
0
1
0
0
1
-9
-11
-10
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
-9
17
0
-2
0
0
0
0
0
0
0
0
0
0
-2
-2
11
31
-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
13
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-15
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
13
2
2
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
-18
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
14
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
14
5
-16
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
15
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
-11
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
-24
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
-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
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
-2
5
-14
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
7
7
1
-14
1
-23
0
0
0
0
0
0
0
0
0
0
-1
0
-9
-3
-7
-7
-18
1
0
0
0
0
0
0
0
0
0
0
0
3
-5
-7
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
10
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
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
-1
0
-1
-36
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
16
-10
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
-25
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
9
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
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
2
-4
1
0
0
0
0
0
0
0
0
0
0
0
1
-3
5
3
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
-21
-5
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
10
4
11
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
18
0
0
0
0
0
0
0
0
0
-1
0
1
-1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
1
0
14
-22
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
5
-7
14
7
0
0
0
0
0
0
0
0
0
0
1
0
11
-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
11
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
3
23
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
-15
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
18
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
-14
-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
9
-33
-18
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-26
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
24
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-31
-10
0
-26
21
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
32
5
10
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
-9
0
0
0
4
0
0
0
0
0
0
0
0
7
0
4
-3
-8
18
-1
10
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
15
-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
-9
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
-2
-18
-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
-10
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
10
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
13
-54
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
9
-9
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
10
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
32
-13
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
17
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
11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
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
-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
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
15
-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
20
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
13
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
22
-25
-1
11
0
4
0
0
0
0
0
0
0
3
0
1
0
-5
-2
3
11
-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
15
-11
0
0
0
-3
-1
0
0
0
0
0
0
-1
1
0
3
-8
-5
10
-18
-7
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
22
-7
13
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
-14
-1
-34
41
-11
0
0
0
0
0
0
0
0
0
0
0
1
4
-6
29
1
-4
23
-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
13
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
10
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
15
-6
1
0
0
0
0
0
0
0
0
0
0
0
1
8
16
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
17
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-3
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-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
15
-14
-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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
18
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
15
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
-21
6
-4
29
-7
0
0
0
0
0
0
0
0
0
-1
0
-5
0
11
-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
-15
0
0
0
0
0
0
0
0
0
1
-4
1
14
3
-15
5
1
0
0
0
0
0
0
0
0
0
0
3
-5
20
-15
1
-17
-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
9
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-43
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
9
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
3
-8
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
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
1
26
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
-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
26
-13
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
9
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
-9
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
11
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
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
9
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
39
0
0
0
18
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
6
2
5
0
0
0
0
0
0
0
0
0
0
-4
-1
-2
0
-26
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
-39
9
-23
4
0
0
0
0
0
0
0
0
0
0
-2
0
-9
-43
-1
5
1
0
0
0
0
0
0
0
0
0
1
-1
9
9
16
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
13
-36
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
-29
-60
4
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-5
29
-15
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
11
1
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
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
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
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
-21
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
-19
-15
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
-9
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-4
17
-5
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
4
10
31
0
0
0
0
0
0
0
0
0
0
0
-1
-3
3
4
0
7
2
0
0
0
0
0
0
0
0
0
0
1
0
-9
-18
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-5
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
7
27
-3
-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
-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
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
-43
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
10
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
-10
-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
-9
-14
0
0
11
-1
2
0
0
0
0
0
0
0
0
0
0
5
2
8
14
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
-9
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
11
5
3
-3
-2
0
0
0
0
0
0
0
0
0
0
0
1
-2
-10
-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
14
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
9
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-7
21
-9
15
3
0
0
0
0
0
0
0
0
0
0
0
-33
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
-11
2
9
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
10
-13
-2
-1
11
-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
9
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
-11
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
10
10
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
9
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
-14
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
10
13
-1
0
0
0
0
0
0
0
0
0
0
0
-7
2
19
-11
-6
1
-14
0
0
0
0
0
0
0
0
0
0
15
-8
-3
-19
14
10
1
0
0
0
0
0
0
0
0
0
0
-1
-4
-21
20
-6
2
-3
0
0
0
0
0
0
0
0
0
0
11
1
0
-11
-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
24
8
-1
-1
4
0
0
0
0
0
0
0
0
0
0
0
-10
3
-7
11
10
1
1
0
0
0
0
0
0
0
0
0
0
-1
14
-2
-3
-4
0
0
0
0
0
0
0
0
0
0
0
1
10
17
-31
13
-4
-3
0
0
0
0
0
0
0
0
0
0
-1
-16
-26
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
-17
-46
14
6
-9
0
2
0
0
0
0
0
0
0
0
0
3
-18
14
13
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-3
14
4
-2
0
0
0
0
0
0
0
0
0
0
0
1
9
6
16
4
5
0
0
0
0
0
0
0
0
0
0
0
-15
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
15
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
24
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
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
15
0
17
5
4
1
0
3
0
0
0
0
0
0
0
0
1
0
44
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-15
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
-9
0
2
13
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
-13
11
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
20
2
-4
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
-9
-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
11
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
-32
-2
2
2
0
0
0
0
0
0
0
0
0
0
-11
6
-23
39
-15
0
0
0
0
0
0
0
0
0
0
0
0
5
13
5
-14
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
23
-7
6
-2
4
0
0
0
0
0
0
0
0
0
0
-2
-5
-13
2
-3
-2
3
0
0
0
0
0
0
0
0
0
0
0
5
-1
36
-23
1
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-7
25
-15
0
1
0
0
0
0
0
0
0
0
0
0
0
9
5
17
-10
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
15
-11
-5
4
1
0
0
0
0
0
0
0
0
0
0
0
6
-13
-4
1
-9
-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
-16
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
11
2
9
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
-25
2
0
-9
-2
11
0
-1
0
0
0
0
0
0
0
0
1
18
3
2
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
-3
5
11
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
15
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
3
-6
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-7
10
2
13
1
0
-1
0
0
0
0
0
0
0
0
0
0
10
13
11
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
4
14
-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
10
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-16
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
11
-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
10
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
10
1
0
1
0
0
0
0
0
0
0
0
0
0
24
0
-33
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
20
10
-5
2
-1
1
0
0
0
0
0
0
0
0
0
0
2
1
-8
-5
-35
11
0
0
0
0
0
0
0
0
0
0
0
6
5
7
24
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
9
-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
-25
10
7
1
8
8
0
0
0
0
0
0
0
0
0
0
0
-8
2
24
3
0
-1
1
1
0
0
0
0
0
0
0
0
0
-6
14
-3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
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
16
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
20
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
10
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
15
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
15
18
-13
1
-3
0
0
0
0
0
0
0
0
0
0
0
23
-6
-7
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
-5
-7
10
5
-1
0
-2
0
0
0
0
0
0
0
0
0
0
13
-8
5
5
-2
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-9
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
11
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
-17
21
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
21
11
2
2
25
2
0
0
0
0
0
0
0
0
0
0
0
5
-25
-14
1
-9
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
-15
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
16
-4
-6
4
0
0
0
0
0
0
0
0
0
0
0
-2
7
5
-27
-6
5
2
0
0
0
0
0
0
0
0
0
0
8
18
11
-11
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
14
0
-6
0
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
-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
9
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
-23
-31
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
21
2
11
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
-15
-10
-1
0
1
0
0
0
0
0
0
0
0
0
0
-3
32
-3
17
-5
-15
0
5
0
0
0
0
0
0
0
0
0
17
10
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
13
-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
-13
-18
0
0
-4
1
0
0
0
0
0
0
0
0
0
-6
9
13
1
-18
-8
1
0
0
0
0
0
0
0
0
0
0
-1
-14
18
-36
-16
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
10
-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
14
-7
17
14
-7
6
0
3
0
0
0
0
0
0
0
0
0
-6
4
-22
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
3
3
-6
-18
-5
0
0
0
0
0
0
0
0
0
0
0
0
20
-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
11
7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
13
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
-15
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
-14
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
24
6
8
2
-1
0
0
0
0
0
0
0
0
0
0
2
32
17
13
10
-1
1
0
0
0
0
0
0
0
0
0
0
-26
9
6
25
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
0
6
18
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
-17
-3
2
0
2
-1
0
0
0
0
0
0
0
0
0
0
24
4
-7
2
34
-5
-2
0
0
0
0
0
0
0
0
0
0
0
20
-6
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
15
-4
5
-26
5
3
0
0
0
0
0
0
0
0
0
0
0
-2
-24
-18
3
5
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
14
-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
-24
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
25
1
-2
1
0
-2
0
0
0
0
0
0
0
0
0
0
17
-13
-3
4
-1
2
2
0
0
0
0
0
0
0
0
0
0
1
11
24
-17
-3
3
0
0
0
0
0
0
0
0
0
0
0
-1
14
-26
11
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
21
-21
-22
-20
-3
0
0
0
0
0
0
0
0
0
0
0
6
-1
-2
20
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
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
3
-1
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
9
-5
-1
7
2
0
0
0
0
0
0
0
0
0
0
0
9
6
-1
17
1
-2
-6
0
0
0
0
0
0
0
0
0
0
11
18
-1
-20
-24
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
2
-25
4
0
0
0
0
0
0
0
0
0
0
0
0
4
21
17
-13
-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
9
-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
-25
13
6
0
1
0
0
0
0
0
0
0
0
0
0
-1
2
8
4
-10
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
9
-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
-21
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
9
0
0
0
8
-7
0
0
0
0
0
0
0
0
0
0
0
-1
15
-25
6
-8
-3
0
0
0
0
0
0
0
0
0
0
3
0
25
-17
5
7
5
1
0
0
0
0
0
0
0
0
0
-3
11
-10
6
0
15
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
-13
-2
-8
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
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
-13
9
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
11
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
20
9
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
-24
-5
0
0
0
0
0
0
0
0
0
-2
0
0
6
3
-31
1
-11
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-4
1
11
2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
2
13
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
-14
0
0
0
-3
-2
0
0
0
0
0
0
0
1
1
0
2
6
-8
3
-26
0
0
0
0
0
0
0
0
0
0
3
-2
2
-11
-14
5
-31
-1
0
0
0
0
0
0
0
0
3
0
0
-2
7
-8
4
-14
0
0
0
0
0
0
0
0
0
0
-2
0
1
-8
-5
-13
-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
10
-4
-17
0
0
0
-4
-7
0
0
0
0
0
0
0
0
0
3
-1
-4
-35
-33
-14
2
0
0
0
0
0
0
0
0
-1
0
-5
7
-1
9
-20
3
-3
-2
0
0
0
0
0
0
0
0
-2
0
3
9
33
-23
-6
-21
0
0
0
0
0
0
0
0
0
0
1
-13
-19
8
-6
23
13
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
10
11
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
-26
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-1
9
2
2
1
0
0
0
0
0
0
0
0
0
0
1
1
2
-13
14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-14
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
20
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
-14
-19
14
1
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
2
-13
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
10
-8
1
-8
-18
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
18
-13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-47
-21
3
-5
1
0
0
0
0
0
0
0
0
0
0
0
-4
8
2
-5
-26
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
-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
3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
6
-23
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
6
3
1
5
-9
-1
0
0
0
0
0
0
0
0
0
2
2
0
7
-1
-5
31
-8
-5
0
0
0
0
0
0
0
0
0
0
-1
3
-13
-4
-5
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-17
-27
-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
18
-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
14
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-10
16
18
-43
-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
23
0
9
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
-15
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
5
5
-10
-5
0
0
0
0
0
0
0
0
0
0
0
6
9
-3
31
1
-5
0
0
0
0
0
0
0
0
0
1
2
-2
-3
-7
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
-5
-4
-10
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
-11
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-11
6
-17
1
-6
-10
1
0
0
0
0
0
0
0
0
-1
0
0
-2
2
-3
14
-25
0
-2
0
0
0
0
0
0
0
0
0
0
2
-4
20
15
0
1
-4
0
0
0
0
0
0
0
0
0
0
3
-4
-8
-21
-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
23
-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
-13
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
10
0
2
-15
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-2
1
-1
-11
16
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
6
0
-23
24
0
0
0
0
0
0
0
0
0
0
-2
6
-31
-20
-11
-2
23
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
15
0
0
0
0
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
-17
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
-7
0
3
-4
-23
1
0
0
0
0
0
0
0
0
0
0
2
-2
15
9
1
11
-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
-14
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
-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
-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
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
-25
3
-21
14
1
0
0
0
0
0
0
0
0
0
0
0
-2
4
-33
16
-20
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
-15
7
-18
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
9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
2
-1
-13
21
-43
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-43
6
6
-1
0
0
0
0
0
0
0
0
0
-1
0
-9
6
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-33
-10
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
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
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
-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
-14
3
3
0
0
0
0
0
0
0
0
0
1
0
-1
0
10
-32
24
0
0
0
0
0
0
0
0
0
0
0
0
-11
-3
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
-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
11
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-4
-5
3
0
0
0
0
0
0
0
0
0
0
0
-1
9
1
-14
-4
-6
-1
0
0
0
0
0
0
0
0
0
0
7
-15
-17
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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-15
4
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-14
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
11
-3
-4
0
-4
0
0
0
0
0
0
0
0
0
1
-2
8
1
-19
17
5
0
0
0
0
0
0
0
0
0
0
20
8
16
1
-5
-11
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
-11
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-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
-20
-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
17
0
-7
-2
3
-1
0
0
0
0
0
0
0
0
0
0
-8
1
6
3
-23
1
-1
0
2
0
0
0
0
0
0
0
0
7
-4
0
16
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
0
5
-6
-4
-3
16
0
0
0
0
0
0
0
0
0
0
0
5
0
-15
46
0
-10
8
-1
0
0
0
0
0
0
0
0
0
-19
23
-27
48
-9
-7
5
0
0
0
0
0
0
0
0
0
0
-21
8
14
-50
5
-20
-1
-11
-1
0
0
0
0
0
0
0
0
-3
2
-7
6
45
0
6
0
0
0
0
0
0
0
0
0
0
-6
6
10
8
10
1
-3
0
0
0
0
0
0
0
0
0
0
-8
-3
-1
2
-10
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
17
-10
-1
0
4
0
0
0
0
0
0
0
0
0
0
-11
-5
19
18
-2
-6
0
0
0
0
0
0
0
0
0
0
0
-13
13
-6
5
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
-14
-3
24
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
-11
-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
-23
0
-6
4
2
0
0
0
0
0
0
0
0
0
0
-1
45
14
-4
9
0
1
0
0
0
0
0
0
0
0
0
0
5
-16
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
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
-26
-23
2
-24
11
26
17
0
0
0
0
0
0
0
0
0
8
-1
-14
-3
-1
-13
6
-5
1
0
0
0
0
0
0
0
0
-6
-22
-4
-10
5
-5
1
0
0
0
0
0
0
0
0
0
0
24
-24
17
9
4
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-10
-32
-27
45
-2
-3
0
0
0
0
0
0
0
0
0
0
-4
-26
-2
19
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
-13
14
-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
-24
-16
-10
-6
0
5
0
1
0
0
0
0
0
0
0
26
-5
37
-5
6
-34
27
-14
0
0
0
0
0
0
0
0
0
3
-27
-27
-14
23
-2
-43
4
0
0
0
0
0
0
0
0
0
4
-5
-23
-25
-13
8
-4
0
0
0
0
0
0
0
0
0
0
4
0
23
-27
8
-7
0
1
0
0
0
0
0
0
0
0
0
0
-2
25
64
10
-1
1
0
0
0
0
0
0
0
0
0
0
2
-5
-7
5
13
-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
-10
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
18
-14
-15
27
29
0
6
0
0
0
0
0
0
0
0
-30
53
28
6
32
-6
-10
1
-2
0
1
0
0
0
0
0
0
-45
8
-30
-29
-17
5
2
1
0
0
0
0
0
0
0
0
0
37
3
-20
-13
18
14
-17
3
0
0
0
0
0
0
0
0
0
-3
10
23
-22
23
-6
0
0
0
0
0
0
0
0
0
0
0
14
-15
6
-26
-14
-5
8
0
0
0
0
0
0
0
0
0
0
8
-1
-11
-6
-1
0
-4
0
1
0
0
0
0
0
0
0
0
17
22
-3
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
-25
-14
3
8
-1
6
0
-1
0
1
0
0
0
0
0
0
0
14
-3
-20
0
-7
-8
10
-1
0
0
0
0
0
0
0
0
0
6
2
2
-36
9
-7
1
0
0
0
0
0
0
0
0
0
0
-6
3
-4
-13
8
1
-3
0
0
0
0
0
0
0
0
0
0
6
-5
1
-45
-3
-1
1
0
0
0
0
0
0
0
0
0
0
21
-5
-11
-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
-5
0
0
1
0
0
0
0
0
0
0
0
0
-21
16
-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
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
-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
9
-48
35
1
-5
-1
0
-1
0
0
0
0
0
0
0
0
0
-6
-10
10
-9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
-10
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
17
16
11
0
-1
0
0
0
0
0
0
0
0
0
-2
-11
39
-43
-10
18
0
2
0
0
0
0
0
0
0
0
0
1
1
-7
6
32
24
0
0
0
0
0
0
0
0
0
0
0
-5
25
4
8
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-18
11
37
-14
-33
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
17
7
0
-1
0
-1
0
0
0
0
0
0
0
0
0
4
-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
-2
-14
-7
-16
13
1
-7
4
0
0
0
0
0
0
0
0
0
6
-17
5
5
-2
25
-20
-7
-6
0
0
0
0
0
0
0
0
-1
18
-10
-36
7
-31
-34
-2
-1
0
0
0
0
0
0
0
0
-4
7
9
34
-2
10
-1
0
0
0
0
0
0
0
0
0
0
1
33
0
-7
26
33
-3
0
0
0
0
0
0
0
0
0
0
0
5
-7
21
-21
14
0
0
0
1
0
0
0
0
0
0
0
0
-4
-8
1
13
0
0
0
1
0
0
0
0
0
0
0
0
-3
23
6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
6
48
-19
1
-6
0
1
0
0
0
0
0
0
0
0
17
-4
-11
-44
10
-6
5
9
1
0
0
0
0
0
0
0
0
35
2
-5
-8
-11
3
-23
-1
0
0
0
0
0
0
0
0
0
34
-14
11
-43
6
0
-3
0
0
0
0
0
0
0
0
0
0
33
-8
5
25
1
14
23
0
0
0
0
0
0
0
0
0
0
10
-2
-36
-37
-23
-5
-1
0
0
0
0
0
0
0
0
0
0
-13
14
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-6
-21
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
-5
6
-5
1
-1
0
0
0
0
0
0
0
0
0
6
-2
4
6
3
2
6
0
0
0
0
0
0
0
0
0
0
0
3
-33
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
9
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
-11
6
-5
-7
0
2
0
0
0
0
0
0
0
0
0
-1
-1
5
17
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
13
-3
7
-1
0
0
0
0
0
0
0
0
0
0
1
25
10
7
-5
-21
0
-6
0
0
0
0
0
0
0
0
-4
-7
-14
-8
-18
-1
29
2
-3
0
0
0
0
0
0
0
0
9
-7
0
9
9
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
-24
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
15
-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
37
-4
9
-5
32
-27
2
0
0
0
0
0
0
0
0
0
3
-3
4
17
-11
10
15
-18
1
0
0
0
0
0
0
0
0
-11
30
1
11
-23
-18
1
10
-3
0
0
0
0
0
0
0
0
14
10
-32
1
29
-16
-7
0
0
0
0
0
0
0
0
0
0
0
-16
14
-26
1
6
1
0
0
0
0
0
0
0
0
0
0
1
8
-24
14
-10
24
0
0
0
0
0
0
0
0
0
0
0
-4
18
0
-9
2
2
0
0
0
0
0
0
0
0
0
0
0
9
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
9
18
-21
37
7
-20
18
0
0
0
0
0
0
0
0
0
0
14
26
8
33
-13
3
23
0
0
0
0
0
0
0
0
0
0
0
15
0
-1
6
-7
1
3
0
0
0
0
0
0
0
0
0
-15
4
-33
-32
-1
11
-5
0
0
0
0
0
0
0
0
0
0
-6
-7
33
5
-2
5
0
0
0
0
0
0
0
0
0
0
0
17
-15
2
-14
-13
3
-4
0
0
0
0
0
0
0
0
0
0
0
7
8
31
-17
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
9
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
-11
9
18
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
-10
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
9
-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
13
4
0
4
0
0
0
0
0
0
0
0
0
-9
20
14
15
-19
-2
-10
1
0
0
0
0
0
0
0
0
0
5
3
-32
15
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
14
0
3
-1
10
1
0
2
0
0
0
0
0
0
0
0
3
-1
0
5
17
-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
-15
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
10
26
5
-3
0
15
-1
0
0
0
0
0
0
0
0
0
6
5
19
-11
6
20
20
9
6
0
0
0
0
0
0
0
0
-13
21
-23
-33
7
17
17
0
-1
0
0
0
0
0
0
0
0
2
24
2
11
7
-8
1
0
0
0
0
0
0
0
0
0
0
-5
18
31
-7
-5
-4
-10
0
0
0
0
0
0
0
0
0
0
0
-9
0
4
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
-15
-10
-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
17
2
23
1
4
-3
2
0
0
0
0
0
0
0
0
0
0
8
6
19
33
21
6
0
-2
0
0
0
0
0
0
0
0
0
9
10
31
-8
20
8
2
-4
0
0
0
0
0
0
0
0
0
-11
-7
11
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-14
-35
-17
-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
13
-10
-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
-18
1
1
-1
0
0
0
0
0
0
0
0
0
0
5
2
-15
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
-11
-8
-5
0
-3
-1
0
0
0
0
0
0
0
0
0
-9
0
10
0
-5
1
0
-1
0
0
0
0
0
0
0
0
0
2
9
-1
-7
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-10
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
10
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
11
10
4
4
3
-6
0
0
0
0
0
0
0
0
3
-1
-9
-15
8
0
1
0
-1
0
0
0
0
0
0
0
0
2
27
-21
-11
-6
-4
-2
0
0
0
0
0
0
0
0
0
0
0
6
11
-15
-2
-9
0
-3
0
0
0
0
0
0
0
0
0
0
-9
17
-13
-4
1
0
0
0
0
0
0
0
0
0
0
0
-3
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
18
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
18
-2
0
-5
0
0
-2
0
0
0
0
0
0
0
0
7
-25
35
-29
5
10
-9
4
0
0
0
0
0
0
0
0
0
11
7
-39
16
1
0
-3
0
0
0
0
0
0
0
0
0
0
-8
-15
14
10
0
4
0
0
0
0
0
0
0
0
0
0
0
15
21
0
18
7
9
-2
0
0
0
0
0
0
0
0
0
0
13
4
-5
-3
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-31
-13
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
18
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
9
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
11
0
-1
1
-1
-3
0
0
0
0
0
0
0
0
-1
3
5
-7
-17
4
-5
4
0
0
0
0
0
0
0
0
0
-1
17
26
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
7
13
5
-31
-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
11
1
0
-1
0
0
0
0
0
0
0
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
-4
1
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
33
-4
0
10
-10
-4
0
1
0
0
0
0
0
0
0
0
0
-4
-8
6
-4
-5
-11
3
-4
0
0
0
0
0
0
0
0
0
-2
-14
-11
6
-4
1
6
1
0
0
0
0
0
0
0
0
0
6
6
14
4
14
-1
0
0
0
0
0
0
0
0
0
0
0
-6
25
13
1
15
0
0
0
0
0
0
0
0
0
0
0
0
8
9
-32
-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
9
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
-9
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
20
-7
36
-34
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
18
-5
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
-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
-22
0
0
0
0
0
0
0
0
0
0
0
-4
7
0
-4
-4
11
3
-7
-14
0
0
0
0
0
0
0
0
0
-1
0
1
-8
7
17
41
21
0
0
0
0
0
0
0
0
0
-2
0
0
-4
-13
19
-10
-9
0
0
0
0
0
0
0
0
0
0
0
5
11
-7
-13
-4
-16
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
-2
9
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
1
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
3
29
0
0
0
18
0
0
0
0
0
0
0
0
0
1
0
-6
-3
45
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-32
-5
15
-6
0
0
0
0
0
0
0
0
0
-2
7
-18
-4
10
5
5
-3
0
0
0
0
0
0
0
0
0
0
-1
-3
1
10
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
-11
-9
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
-2
-1
-1
1
0
0
0
0
0
0
0
0
0
0
2
0
-13
-15
32
-1
1
0
0
0
0
0
0
0
0
0
-1
-2
-8
7
5
-13
-14
-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
-35
-3
0
0
0
0
0
0
0
0
0
0
1
-1
-13
63
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
10
-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
-10
1
6
0
0
0
0
0
0
0
0
0
0
0
-2
2
14
-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
-14
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
-10
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
15
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-2
-2
-9
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
4
10
1
7
0
0
0
0
0
0
0
0
0
1
-1
0
1
1
3
-7
-11
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-32
35
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-32
19
-49
38
-9
0
0
0
0
0
0
0
0
0
3
-1
19
-24
18
-60
-2
-3
0
0
0
0
0
0
0
0
0
-2
21
-1
-6
44
-13
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-11
2
-1
13
13
0
0
0
0
0
0
0
0
0
0
0
1
5
11
-5
-8
-2
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
-7
-6
18
0
0
0
-10
0
0
0
0
0
0
0
0
-2
-11
0
-14
14
0
0
0
6
0
0
0
0
0
0
0
0
1
0
4
-25
-14
2
-40
-39
3
0
0
0
0
0
0
0
0
0
-14
0
39
-18
6
23
5
-3
0
0
0
0
0
0
0
0
0
0
0
26
-9
18
19
-2
-5
0
0
0
0
0
0
0
0
0
0
1
1
-13
24
-2
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
-9
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
-9
6
-18
0
0
0
5
-6
0
0
0
0
0
0
0
0
0
0
25
6
14
8
16
-8
3
0
0
0
0
0
0
0
-1
0
3
2
9
36
0
-4
-21
0
0
0
0
0
0
0
0
0
0
0
-5
8
14
-1
-25
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
-24
-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
14
0
0
0
20
-1
0
0
0
0
0
0
0
0
-1
0
0
-14
0
0
0
-4
-13
0
0
0
0
0
0
0
0
0
0
0
-6
-43
7
-3
8
0
1
0
0
0
0
0
0
1
0
0
3
5
0
-41
-4
15
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
1
14
-20
-1
0
0
0
0
0
0
0
0
0
0
-1
9
-2
-3
20
-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
1
-9
0
1
0
0
0
0
0
0
0
0
-2
-2
-6
9
-14
-8
2
0
0
0
0
0
0
0
1
0
0
0
0
-17
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
29
-4
-1
0
0
0
0
0
0
0
1
0
0
0
8
-25
-7
2
2
1
0
0
0
0
0
0
0
0
0
0
5
20
18
-10
-9
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-21
-14
0
0
0
0
0
0
0
0
0
0
0
1
1
0
8
-5
1
2
8
0
0
0
0
0
0
0
0
0
0
0
1
13
-19
14
14
-34
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
5
0
10
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
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
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
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-25
-16
24
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
5
2
-5
-43
4
-24
0
0
0
0
0
0
0
0
0
0
1
3
4
-23
48
-8
-25
0
0
0
0
0
0
0
0
0
0
0
9
9
-9
3
18
22
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
27
9
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
4
11
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
-11
0
0
0
14
0
0
0
0
0
0
0
0
1
2
7
10
20
18
25
-3
1
0
0
0
0
0
0
0
0
0
0
4
-7
-49
-7
9
6
-7
0
0
0
0
0
0
0
0
0
0
0
-20
7
8
10
11
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-7
1
-24
9
2
0
0
0
0
0
0
0
0
0
0
-1
3
1
-1
14
-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
-14
-14
-27
10
0
0
0
0
0
0
0
0
0
0
0
0
-6
-45
-5
9
33
-10
0
0
0
0
0
0
0
0
3
0
1
7
-14
-7
14
-14
-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
-11
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
17
0
0
0
0
0
0
0
0
0
0
0
2
-13
0
0
0
-14
-2
0
0
0
0
0
0
0
0
0
0
0
2
-8
13
-21
2
4
0
0
0
0
0
0
0
0
0
0
0
23
-5
-21
13
-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
-10
-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
-11
3
-1
0
0
0
0
0
0
0
0
0
0
1
17
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
3
6
5
9
-2
2
-1
0
0
0
0
0
0
0
2
0
4
1
-14
-3
0
-9
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
-9
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
-18
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
11
-17
4
2
-14
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
6
13
3
0
0
0
0
0
0
0
0
0
0
-1
0
11
3
-7
14
-10
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
16
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-11
5
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
2
2
32
-9
0
-35
0
0
0
0
0
0
0
0
0
0
2
-20
-7
0
1
19
5
0
0
0
0
0
0
0
0
0
0
0
-7
5
32
-51
15
-18
0
0
0
0
0
0
0
0
0
0
3
1
9
13
10
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-13
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
27
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
0
5
13
-7
2
0
0
0
1
0
0
0
0
0
0
0
0
-2
18
2
8
-25
0
0
0
3
0
0
0
0
0
0
0
0
1
0
-7
-5
25
37
8
33
-5
0
0
0
0
0
0
0
0
0
0
10
-2
4
-2
2
-5
1
0
0
0
0
0
0
0
0
0
0
-2
2
6
44
14
-14
0
0
0
0
0
0
0
0
0
0
0
-2
-15
11
-21
14
-9
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
25
-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
-19
-2
0
0
0
0
0
0
0
0
4
17
0
2
0
0
0
-17
4
0
0
0
0
0
0
0
0
0
-1
-4
21
11
-33
-43
2
0
0
0
0
0
0
0
0
0
0
0
0
11
-20
31
-37
-8
1
0
0
0
0
0
0
0
0
0
0
3
13
18
17
11
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
18
8
6
5
2
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
23
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
-5
-2
0
0
0
0
0
0
0
0
0
0
3
11
-8
-14
-22
9
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
6
-13
-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
9
1
-2
-8
-1
0
0
0
0
0
0
0
0
0
1
0
-3
0
1
-13
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
-3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
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
24
-34
-10
0
0
0
0
0
0
0
0
0
0
0
1
-13
-5
35
4
-27
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
26
27
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
-2
20
-14
-56
41
0
0
0
0
0
0
0
0
0
0
0
2
-14
-18
-33
-37
-4
0
0
0
0
0
0
0
0
0
0
1
0
-8
-17
-15
-3
5
0
0
0
0
0
0
0
0
0
0
-5
2
-26
-4
15
34
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-1
-6
-8
26
0
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
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
-21
18
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
34
11
31
8
-45
0
0
0
0
0
0
0
0
0
0
0
5
-3
3
2
13
-17
-9
0
0
0
0
0
0
0
0
0
0
-6
4
-18
17
10
-9
-1
0
0
0
0
0
0
0
0
0
0
1
-15
3
-11
9
-3
-1
0
0
0
0
0
0
0
0
0
0
3
-1
5
-8
1
-17
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
13
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
7
-6
-15
0
0
0
4
-3
0
0
0
0
0
0
0
0
4
0
-1
-6
1
35
3
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-8
-21
-18
10
0
0
0
0
0
0
0
0
0
0
0
1
16
4
26
-4
-6
0
0
0
0
0
0
0
0
0
0
0
8
6
8
14
7
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-9
-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
-31
-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
-28
-4
14
5
-1
0
0
0
0
0
0
0
0
0
0
5
0
-9
48
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
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
-25
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
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-7
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-9
-23
-14
0
0
0
0
0
0
0
0
0
0
2
0
0
15
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
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-7
-31
-23
5
7
0
0
0
0
0
0
0
0
0
0
0
27
17
25
18
9
-11
0
0
0
0
0
0
0
0
0
0
2
-1
-8
7
-15
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
-3
0
11
0
0
0
0
0
0
0
0
0
0
0
0
-15
-9
2
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-9
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
11
-9
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-2
1
1
-19
31
-44
3
0
0
0
0
0
0
0
0
0
0
0
8
-14
31
-4
19
14
0
0
0
0
0
0
0
0
0
0
7
9
11
6
-5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
7
0
10
9
-9
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
-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
4
-2
-7
0
0
0
9
0
0
0
0
0
0
0
0
2
0
-3
15
14
0
0
0
5
4
0
0
0
0
0
0
0
0
0
-3
-10
-10
19
-13
15
-1
0
0
0
0
0
0
0
0
0
0
0
1
13
-4
-23
8
7
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
26
-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
9
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
14
0
0
0
-10
0
0
0
0
0
0
0
0
0
1
0
-1
0
-1
-53
11
8
1
0
0
0
0
0
0
0
0
0
1
2
-1
5
-7
10
-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
-14
-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
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
-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
-14
0
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
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
13
7
-33
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
14
5
5
3
0
0
0
0
0
0
0
0
0
0
0
0
3
20
-74
-44
-9
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
11
5
5
-9
21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
6
16
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
-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
3
0
0
-5
0
0
0
0
15
0
0
0
0
0
0
0
0
0
-6
-1
1
-21
0
0
0
21
0
0
0
0
0
0
0
0
0
2
8
4
-1
16
23
10
-3
0
0
0
0
0
0
0
0
0
0
1
2
-15
16
4
-3
-2
0
0
0
0
0
0
0
0
0
1
0
0
13
24
0
6
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
-13
11
-5
1
0
0
0
0
0
0
0
0
0
0
1
1
24
-1
10
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
-17
-1
0
0
0
0
0
0
0
0
0
-1
1
13
2
-22
17
2
2
0
0
0
0
0
0
0
0
1
0
0
4
16
2
13
0
0
0
0
0
0
0
0
0
-4
1
-1
0
24
-23
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
6
-9
14
14
-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
-14
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
17
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-2
-14
9
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
-5
4
-11
-1
22
0
0
0
0
0
0
0
0
0
-1
0
-1
0
17
15
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
7
-14
60
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-11
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
21
9
32
53
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-7
-1
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
14
-9
-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
-9
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
15
-11
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-1
27
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
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
-10
0
0
0
0
0
0
0
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
-25
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
9
-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
18
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
23
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
-9
-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
-13
9
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
-10
-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
-19
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
11
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
23
-25
-2
-6
1
2
0
0
0
0
0
0
0
0
4
-1
33
5
-8
5
-11
6
0
0
0
0
0
0
0
0
0
9
-17
4
-1
0
-11
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
15
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
-1
0
-3
-2
-4
0
6
-2
0
0
0
0
0
0
0
0
0
0
8
5
14
-3
10
13
0
-1
0
0
0
0
0
0
0
0
-2
-1
19
0
20
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
18
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
10
13
-4
-1
0
0
0
0
0
0
0
0
0
-3
3
0
3
-11
-1
1
1
0
0
0
0
0
0
0
0
0
0
-1
2
-2
1
-10
1
1
0
0
0
0
0
0
0
0
0
0
-2
-5
20
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
9
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-1
6
20
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
13
-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
-25
0
2
0
1
0
0
0
0
0
0
0
0
0
-1
-24
11
33
-6
-1
10
-4
0
0
0
0
0
0
0
0
0
0
6
15
-11
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
2
11
10
-2
-4
7
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-8
-2
0
-1
0
0
0
0
0
0
0
0
0
1
-10
-3
10
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
-20
0
2
0
0
0
0
0
0
0
0
0
0
0
3
18
3
6
13
-7
-3
0
0
1
0
0
0
0
0
0
0
0
7
-1
-2
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-11
2
-2
0
0
0
0
0
0
0
0
0
0
0
11
-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
9
-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
-9
-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
13
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
-17
-3
1
-1
3
1
0
0
0
0
0
0
0
0
0
3
2
-5
-8
17
9
7
5
0
0
0
0
0
0
0
0
0
0
-7
0
0
8
-13
0
0
0
0
0
0
0
0
0
0
0
2
0
-14
-11
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
7
9
-3
-17
-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
-16
-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
13
6
-2
11
-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
-11
1
10
3
16
-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
16
-7
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
8
1
-3
26
1
0
0
0
0
0
0
0
0
0
0
0
10
-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
-14
0
25
0
4
0
0
0
0
0
0
0
0
0
3
-9
-14
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
14
16
9
39
-3
2
0
5
0
0
0
0
0
0
0
0
0
-1
-26
0
4
9
1
0
0
0
0
0
0
0
0
0
0
0
-1
8
-11
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
14
0
0
0
0
0
0
0
0
0
0
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
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
5
33
0
-13
-7
0
-3
0
0
0
0
0
0
0
0
0
10
1
-23
-18
15
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
15
15
0
0
0
0
0
0
0
0
0
0
0
0
1
0
15
-2
3
3
0
1
0
0
0
0
0
0
0
0
0
2
6
0
-9
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
14
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
15
17
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
10
-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
9
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
19
-6
0
0
0
0
0
0
0
0
0
-3
3
-13
20
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-11
-4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
5
-10
-13
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
11
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
-9
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-9
0
-3
3
0
1
0
0
0
0
0
0
0
0
0
0
-3
-1
2
-13
-2
-3
7
1
1
0
0
0
0
0
0
0
0
0
-10
21
-13
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
1
4
25
-20
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
-10
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
21
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
-10
0
9
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
13
2
-2
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
-2
-13
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
17
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
10
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
13
-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
-10
9
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
-13
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
9
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
-11
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-4
-15
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
-35
8
0
2
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
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
-13
37
75
13
41
-35
-20
66
0
0
8
37
9
33
0
19
-109
0
-29
104
12
10
20
9
-74
-50
0
5
-58
-22
-76
-82
39
16
37
0
-14
-25
-79
-21
11
8
-31
9
0
-32
-31
-81
17
27
-64
5
17
0
3
6
18
-15
-80
-34
6
9
0
-15
-52
-62
22
15
35
-18
50
0
1
19
51
65
-16
54
46
-1
0
-1
-11
-32
35
9
51
35
-6
0
-2
-32
1
-8
0
-28
28
45
0
-1
-8
-9
32
34
-2
-25
47
0
0
14
-7
15
33
31
37
3
0
0
4
20
-18
-39
11
31
-20
0
0
18
-23
43
23
-10
-33
7
0
-10
-57
-5
-138
-30
-81
-29
-24
-4
-44
101
-9
19
-54
-18
-34
-74
-1
-70
-33
66
77
9
21
-48
15
-2
17
-68
-42
9
50
23
35
-22
0
0
2
12
14
17
29
25
-49
0
-62
-7
43
1
-15
3
-9
6
1
-40
-37
30
-72
-11
-22
-28
18
-53
-28
8
-25
-28
4
0
-29
-3
14
81
34
-104
-31
-75
-63
10
-1
6
19
-32
27
-46
-37
-5
-33
28
-9
-66
48
-29
-22
24
-10
-10
13
1
-22
26
39
8
-42
22
126
31
0
3
-51
-4
22
47
148
54
7
0
-49
40
-68
15
77
55
6
76
0
0
58
82
3
25
25
55
34
0
21
-10
4
-53
7
34
-1
-14
0
43
5
47
19
-48
17
72
6
3
-14
22
-37
17
-7
0
52
-63
0
43
-57
-25
-24
-65
-18
-19
-43
-80
-61
-6
-35
-13
-21
-66
-21
-38
2
67
-17
-44
-58
-32
-65
-95
-79
-2
-89
31
-5
17
2
39
13
32
0
0
-35
-30
-10
-23
45
12
-59
0
-20
-26
26
-22
-2
-8
-39
12
1
16
-40
22
3
-35
4
-61
-2
-58
4
75
-13
-38
17
-52
22
28
22
44
5
-76
-25
-13
-43
5
-34
5
-4
-84
78
16
67
-5
-26
-14
-4
-19
83
-43
0
18
-20
15
-104
1
23
-17
33
-54
17
-32
43
21
0
-43
-28
33
83
44
116
72
22
0
-47
55
-15
76
44
43
15
10
0
-6
36
44
52
27
78
105
-42
0
5
-78
-37
-38
11
35
71
-53
0
7
-9
-64
39
73
37
37
4
3
32
-65
-24
-22
-31
34
66
-115
0
-31
19
-26
-9
-1
-53
-33
43
-67
60
-1
-36
-44
-46
-71
-85
-16
24
39
-39
-18
-68
-74
-108
-134
-38
0
11
6
76
39
-64
4
33
-9
0
0
-12
-23
-32
14
39
7
-46
0
1
48
-23
38
-44
-45
-42
23
0
0
-12
15
27
-70
14
-17
1
7
-9
24
-24
-11
15
-16
17
11
1
14
-6
40
-12
46
20
-13
7
0
5
-2
-2
17
27
-11
-6
-1
0
2
4
-4
7
6
-31
30
0
0
0
0
11
7
-5
-3
-5
0
0
0
0
-5
43
26
9
2
1
0
0
0
14
29
22
29
48
-1
0
0
-11
21
59
16
30
8
6
0
1
5
-23
3
-49
13
33
-14
0
22
1
-33
66
37
-43
-21
-18
1
15
36
1
-33
1
-31
-7
7
0
-19
3
29
6
-37
15
-34
-14
1
2
-3
-24
-64
-87
-16
-39
-54
18
17
33
-12
-57
-8
-30
-53
14
-1
0
-3
8
10
71
68
-1
0
0
0
0
0
0
0
0
0
0
-3
3
6
27
1
-32
3
5
0
0
0
0
0
0
0
0
0
0
7
5
17
24
57
-4
23
0
0
0
0
0
0
0
0
0
0
0
6
24
1
53
7
40
0
0
0
0
0
0
0
0
0
0
0
0
20
14
55
40
-13
-16
2
0
0
0
0
0
0
0
0
0
0
0
29
21
90
43
35
-4
-1
0
0
0
0
0
0
0
0
0
0
0
52
53
32
15
29
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
67
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
34
42
-36
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-11
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
-17
-6
1
2
40
73
17
0
0
0
0
0
0
0
0
0
0
-12
-1
14
29
20
-3
45
-44
-6
0
0
0
0
0
0
0
0
0
15
27
26
36
26
19
90
-17
2
0
0
0
0
0
0
0
0
0
30
31
49
12
31
103
63
-19
0
0
0
0
0
0
0
0
0
0
43
45
22
13
40
90
71
18
0
0
0
0
0
0
0
0
0
0
24
16
20
48
29
65
-2
3
0
0
0
0
0
0
0
0
0
0
-30
20
41
83
153
34
-3
0
0
0
0
0
0
0
0
0
0
0
9
11
40
86
50
79
-1
0
0
0
0
0
0
0
0
0
0
0
1
81
-100
32
25
3
0
0
0
0
0
0
0
0
0
0
0
0
14
5
62
59
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
69
25
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-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
-9
-25
6
20
22
20
27
-16
0
0
0
0
0
0
0
0
0
0
-7
5
15
14
19
17
12
-5
-10
0
0
0
0
0
0
0
0
0
14
16
32
26
22
-15
14
64
2
0
0
0
0
0
0
0
0
0
38
29
26
35
7
47
20
-14
0
0
0
0
0
0
0
0
0
0
56
31
19
20
67
34
-9
18
0
0
0
0
0
0
0
0
0
0
30
46
36
59
24
32
-1
3
0
0
0
0
0
0
0
0
0
0
44
36
-5
10
71
52
-9
0
0
0
0
0
0
0
0
0
0
0
-3
12
45
-8
45
133
-1
0
0
0
0
0
0
0
0
0
0
0
35
-54
-27
57
32
3
0
0
0
0
0
0
0
0
0
0
0
0
4
40
87
118
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
64
18
29
0
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
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-40
-23
40
34
-13
-3
0
0
0
0
0
0
0
0
0
0
22
-42
5
-56
16
3
5
14
-2
0
0
0
0
0
0
0
0
0
24
-4
-13
-1
23
-18
11
-3
1
0
0
0
0
0
0
0
0
0
31
20
16
15
24
38
5
1
1
0
0
0
0
0
0
0
0
0
-2
82
29
83
26
5
21
-1
0
0
0
0
0
0
0
0
0
0
67
6
45
20
48
-52
-3
1
0
0
0
0
0
0
0
0
0
0
56
44
29
-30
60
15
0
0
0
0
0
0
0
0
0
0
0
0
-8
39
33
65
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
61
0
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
88
13
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
9
12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-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
53
9
1
13
14
84
12
-3
0
30
37
53
32
49
44
-11
-11
-6
3
-68
-8
65
-65
-21
3
3
-11
0
3
10
-43
3
74
-8
-7
-10
0
-3
-1
-9
-5
34
17
15
-45
0
0
0
3
11
16
38
33
-1
0
0
0
0
0
10
2
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
-33
-10
76
16
-47
57
17
-2
0
-43
26
-76
44
17
5
-6
5
-11
5
-47
-33
-54
9
13
13
7
-50
2
-8
-32
-2
12
-46
10
-16
110
0
-1
11
-13
-21
95
-32
12
-7
0
0
0
6
10
49
-14
-53
0
0
0
0
0
1
-26
24
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
26
4
-69
-24
8
-9
-118
68
16
11
-21
34
2
14
-41
-10
-10
24
-33
-9
9
16
-6
-38
-1
-3
-18
-6
-43
-42
8
41
5
0
0
-1
0
4
-7
0
115
7
0
0
0
2
1
-20
-6
27
0
0
0
0
0
2
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
-22
-69
-27
-33
-24
27
-11
15
13
11
-41
-36
-20
5
14
-6
28
31
3
-9
-31
-20
-81
9
14
2
78
0
0
4
7
5
47
-23
87
10
0
0
1
13
-4
-8
65
-10
0
0
0
0
0
7
14
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
-26
2
3
-6
-4
5
-52
0
-15
10
-11
13
3
-5
36
48
0
0
2
1
3
6
10
90
18
0
0
-2
1
21
49
16
-18
0
0
0
0
6
-11
-14
-25
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-24
-1
38
47
0
2
-1
-2
-7
1
15
5
6
0
-1
0
0
-31
-31
4
102
0
0
0
0
6
-18
-9
41
1
0
0
0
0
0
8
7
16
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
-9
44
23
1
0
0
0
-1
-8
-16
12
-2
0
0
0
0
-3
29
44
-29
1
0
0
0
0
-2
-7
30
4
0
0
0
0
0
0
11
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
55
-6
-25
0
0
0
0
0
10
-35
14
-2
0
0
0
0
0
27
9
24
0
0
0
0
0
0
-5
19
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
11
0
0
0
0
0
0
-6
34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
24
21
48
-5
16
-27
-62
-4
-14
26
-26
-4
94
23
-18
-33
-57
-9
15
28
0
53
19
-7
12
-53
-65
73
-80
7
4
11
3
33
-3
-67
-58
-109
1
-39
30
36
101
0
0
3
15
-67
8
18
15
43
0
0
-2
-8
-34
31
36
46
-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
17
-75
-6
78
43
56
12
4
9
-61
66
-22
-9
73
86
20
0
27
-27
-70
-40
0
-37
22
-4
15
71
-42
-64
-74
-33
-126
25
9
36
89
5
6
23
-7
22
5
5
81
146
0
-2
-6
-14
0
-3
-24
124
7
0
0
0
-20
5
-41
44
4
0
0
0
0
3
0
36
-15
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
-35
15
-37
-38
53
-5
-11
7
42
-124
11
-2
77
-27
54
4
12
77
5
13
-7
-16
-74
16
-16
33
114
-21
13
-1
-34
-47
19
-6
52
81
-1
-27
6
73
-34
16
-39
27
148
0
2
-5
0
36
2
-23
120
0
0
0
-2
-23
5
100
-20
2
0
0
0
0
-2
-17
49
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
-24
13
-42
-68
35
14
-11
7
113
57
-66
-61
-29
111
18
-12
32
119
45
-10
-96
-35
-43
33
-4
77
211
-3
-33
-7
-1
-6
3
-4
77
194
0
10
-1
98
-16
10
9
49
2
0
0
-11
-7
-7
44
43
5
0
0
0
0
31
-4
-52
70
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
95
72
-94
96
33
13
-28
23
104
32
-16
-20
-6
33
-19
-7
36
185
20
25
-17
-13
-10
-9
-13
93
164
0
-31
15
-48
43
6
-4
161
11
0
1
11
8
-44
-18
13
80
0
0
0
0
47
1
-4
54
0
0
0
0
0
18
-16
-14
13
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
-119
44
102
2
-46
-10
46
188
-4
123
-8
-44
-85
-8
6
51
188
0
-28
164
-129
-47
-2
-27
102
6
0
-3
27
-4
22
-2
-41
105
0
0
0
14
39
-28
-24
-29
0
0
0
0
0
6
2
16
11
0
0
0
0
0
0
-27
-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
-17
-35
-1
-68
-28
27
72
52
-2
14
1
3
-118
51
-12
109
-2
0
-6
28
17
-16
-10
44
15
0
0
3
25
-43
2
30
27
0
0
0
0
3
-21
14
33
57
0
0
0
0
0
-1
21
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
-85
0
34
37
0
0
6
51
2
-7
-21
-22
-16
0
0
0
-4
-7
35
4
-22
1
0
0
0
-3
78
-16
19
-1
0
0
0
0
0
5
-3
44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
12
-5
1
0
0
0
-4
51
26
23
-12
0
0
0
0
0
-21
-62
6
-23
0
0
0
0
0
22
-34
5
0
0
0
0
0
0
-1
34
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
6
19
7
0
0
0
0
0
21
18
-33
2
0
0
0
0
0
29
-18
44
-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
-23
-29
0
0
0
0
0
0
5
13
15
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
9
1
0
0
0
0
0
0
1
-16
-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
-31
24
45
47
64
80
-64
-49
-106
-84
-64
-23
-45
-74
37
-9
-10
-59
-148
-79
29
1
21
64
4
9
-1
8
23
8
-28
24
-39
2
7
29
-15
-24
-15
-33
49
11
-37
9
121
0
0
-26
-29
-7
17
-8
40
71
0
0
-2
0
-22
32
27
14
-4
0
0
0
0
0
-16
-10
-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
35
-38
-9
-6
50
-27
61
-24
-11
57
-17
-53
-52
-52
98
12
-3
31
-29
-34
39
10
-16
28
12
5
35
-7
-52
9
33
-45
49
-12
14
58
5
11
-23
80
-17
10
9
26
156
0
-2
-67
-12
-43
-28
14
197
5
0
0
0
-18
-31
53
16
7
0
0
0
0
2
-11
78
-29
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
26
-85
-18
6
81
23
48
2
26
31
82
-41
33
13
11
10
-1
42
-73
-6
-13
-15
-14
-3
-5
7
73
41
25
45
-20
18
9
-16
21
114
-1
-58
69
-5
-12
27
-31
118
96
0
2
-15
-16
10
46
-6
59
0
0
0
-2
-39
-30
82
-36
2
0
0
0
0
-2
-16
79
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-35
-20
7
-19
-14
11
29
-4
46
-28
-51
-23
42
11
8
44
23
2
-80
36
37
9
-2
54
44
-3
18
53
-62
6
-1
10
94
133
0
-6
2
40
-23
26
-2
41
2
0
0
-57
53
-14
48
22
4
0
0
0
0
28
-13
-46
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
38
33
-49
44
-21
52
-25
23
74
72
48
-21
-14
-51
13
-6
54
86
8
3
56
15
-58
24
1
99
83
0
-24
4
-9
16
15
-11
99
18
0
1
21
-14
-2
-32
12
107
0
0
0
0
38
-90
30
23
0
0
0
0
0
22
-52
-10
16
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
-77
66
26
53
32
-8
-6
113
-19
40
47
20
-38
2
-25
90
196
2
-32
80
-14
16
-15
16
-5
9
0
3
65
37
-13
-9
-28
137
0
0
0
34
-62
31
12
-16
0
0
0
0
0
-38
18
-54
37
0
0
0
0
0
0
-37
-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
-25
-34
-32
2
9
-18
61
106
-2
5
-59
4
-12
15
6
29
-2
0
-5
-5
-19
-22
-6
28
-3
0
0
3
10
-4
-9
17
-8
0
0
0
0
3
11
-67
42
57
0
0
0
0
0
-3
22
6
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
-43
-19
-17
-16
64
0
0
5
55
69
-52
19
-99
-18
0
0
0
1
24
-6
-10
-19
1
0
0
0
-3
46
0
0
-17
0
0
0
0
0
18
-5
28
-3
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
0
0
0
0
0
0
0
0
0
0
0
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
-32
-50
52
1
0
0
0
-13
32
6
-7
-49
0
0
0
0
0
-53
-34
67
-33
0
0
0
0
0
25
16
12
0
0
0
0
0
0
-2
51
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
9
-14
-21
20
0
0
0
0
0
34
5
-51
2
0
0
0
0
0
73
-50
50
-5
0
0
0
0
0
2
62
6
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
8
-19
31
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
17
1
0
0
0
0
0
0
1
-9
-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
9
-1
-123
-20
2
-6
-10
-11
-2
-19
9
-15
-15
-30
-44
-3
32
23
-49
-8
40
-32
0
-3
5
-34
-5
88
-14
-90
-1
-9
-8
2
23
37
1
-24
42
0
0
4
-18
14
5
9
15
-2
0
0
-2
2
-14
19
11
-14
-1
0
0
0
0
-1
-19
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
25
-13
-23
-7
-51
-2
-34
-21
-14
32
-1
6
43
23
20
-8
-19
27
12
-21
-38
1
9
13
14
-38
9
-24
15
-42
5
0
-16
45
15
57
-12
30
-45
0
0
-9
5
-26
2
5
64
-2
0
0
0
7
24
-7
5
0
0
0
0
0
2
-5
11
-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
-5
6
-10
0
-3
7
11
0
16
9
45
-11
6
-12
-26
-63
-29
69
16
69
16
0
1
-23
-23
30
-15
5
-58
0
-8
3
-5
-33
52
16
0
-5
43
2
-15
-14
-14
36
23
0
0
2
14
15
3
-34
-1
0
0
0
-2
8
-44
19
16
0
0
0
0
0
0
-7
17
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
5
-13
14
-1
-18
14
-21
-37
30
-12
1
1
38
-11
19
-14
12
-14
-20
-25
-36
0
89
-10
-24
58
72
0
19
-2
-27
14
53
-12
-53
37
0
5
0
22
15
-14
7
6
2
0
0
-6
19
-4
12
-2
6
0
0
0
0
1
3
-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
-5
18
0
0
15
-16
3
-6
-12
-23
-5
21
-5
21
57
3
-23
3
1
-1
-25
-10
-71
-13
26
33
47
0
-9
-14
15
-13
32
29
27
3
0
0
26
-32
9
-32
-14
13
0
0
0
1
15
-14
-3
11
0
0
0
0
0
0
-12
11
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
0
-8
0
86
-43
5
24
14
3
34
8
-8
-53
-50
79
-6
0
1
6
10
-63
39
13
57
-1
0
-1
31
18
3
-7
-20
10
0
0
0
-2
8
12
36
8
0
0
0
0
0
-54
18
-11
-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
37
35
-14
-24
-3
-1
2
4
1
33
-3
33
-16
1
0
0
41
-12
-10
8
33
0
0
0
1
14
28
-30
-54
-3
0
0
0
0
1
-7
6
36
-1
0
0
0
0
0
-2
-4
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
0
13
-34
1
0
0
2
5
30
-16
-1
23
0
0
0
0
2
10
-18
43
-5
0
0
0
0
0
29
46
11
-27
0
0
0
0
0
5
-5
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
-11
-34
3
0
0
0
0
1
17
34
-43
8
0
0
0
0
0
-14
14
42
5
0
0
0
0
0
16
-13
6
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
17
33
31
-1
0
0
0
0
0
29
-17
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
9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
27
0
0
0
0
0
0
0
0
0
0
0
4
15
54
-3
-14
-50
0
0
0
0
0
0
0
0
0
0
0
3
-9
85
61
52
56
0
0
0
0
0
0
0
0
0
0
0
0
-3
45
43
-22
59
0
0
0
0
0
0
0
0
0
0
0
0
1
2
32
-20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
61
65
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-62
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
-14
0
0
-16
0
0
0
0
0
0
0
0
0
1
0
-3
16
38
57
37
8
0
0
0
0
0
0
0
0
0
4
1
0
2
43
78
15
-2
-4
0
0
0
0
0
0
0
0
-3
0
-1
-5
95
105
35
3
1
0
0
0
0
0
0
0
-1
0
2
-1
-2
-26
27
50
27
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
7
7
42
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-11
-4
-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
4
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
4
25
0
0
34
39
0
0
0
0
0
0
0
0
0
-2
6
8
57
24
43
-8
11
0
0
0
0
0
0
0
0
0
0
0
-2
2
5
4
-78
97
0
0
0
0
0
0
0
0
1
2
3
9
-9
49
40
24
-21
4
0
0
0
0
0
0
0
0
0
-1
1
2
-34
-17
-50
28
2
0
0
0
0
0
0
0
0
0
1
1
-7
-29
65
87
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-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
23
42
-15
23
-74
53
0
0
0
0
0
1
0
-18
0
0
0
12
73
-100
76
-50
35
0
0
0
0
0
3
0
-15
-42
31
33
31
30
-44
0
41
10
10
0
0
0
0
0
0
-18
85
77
167
-14
63
-3
88
116
-13
6
0
0
-2
0
-4
0
1
73
37
-39
51
-25
-90
11
13
7
0
0
0
0
1
1
-4
11
31
86
-3
0
14
-4
-61
36
-16
0
0
0
0
0
0
0
0
106
19
105
5
-71
-8
-20
-21
4
0
0
0
0
0
0
-2
-2
45
-5
-29
0
34
53
5
-39
0
0
0
0
0
0
0
0
0
0
2
-1
3
0
0
0
0
4
0
0
0
0
0
0
0
-4
0
0
0
-6
6
-13
17
1
0
0
0
0
1
1
0
3
16
0
0
0
0
-14
-1
-31
-4
-11
0
0
0
0
0
0
0
-18
18
-6
5
49
1
-10
-33
-17
58
0
0
0
0
0
0
2
6
-16
-8
16
15
48
17
155
-35
22
3
0
0
0
0
0
0
-4
23
26
23
-33
-26
-43
72
-7
87
-1
0
0
0
0
0
0
16
-3
-36
-3
-23
-15
-73
-27
-8
2
0
0
0
0
0
0
0
0
14
4
-24
45
-25
74
-54
-17
11
0
0
0
0
0
0
0
1
-4
48
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
14
-9
0
0
0
139
47
62
34
7
36
-1
0
0
0
0
19
4
-25
75
0
0
46
-93
111
51
20
-8
6
0
1
0
0
-2
-18
-2
32
-80
92
71
65
25
12
8
0
-26
0
0
-1
-1
-1
-3
-14
-17
94
117
-43
73
3
7
-29
4
-20
0
0
0
0
-4
-5
-23
0
-9
81
17
-16
-9
-35
-8
6
-32
0
0
0
0
-5
21
43
-39
92
85
64
18
89
-1
10
-64
-74
0
0
0
-1
5
20
22
3
-26
63
12
-14
0
-20
-72
-28
-10
0
0
0
0
4
1
15
22
4
-14
3
0
35
188
-10
52
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-82
78
38
-45
0
0
0
0
0
0
1
3
53
60
122
48
-51
-5
64
28
15
0
0
0
0
0
0
0
-3
125
-27
17
44
-23
40
-15
40
29
0
0
0
0
0
0
0
-7
32
-10
51
-70
-51
14
39
35
-15
0
0
1
0
0
-5
-1
14
-26
20
-29
27
-55
35
-61
56
58
0
0
0
0
0
1
-4
0
-43
77
-9
-46
64
34
70
27
100
0
0
0
0
0
3
0
0
77
33
89
48
-45
86
8
55
67
0
0
0
0
0
0
0
0
-9
8
-18
58
111
13
66
17
20
0
0
0
0
0
0
0
3
-1
3
-17
34
-28
61
24
29
-9
0
0
0
0
2
-1
1
-2
0
-26
83
16
73
15
-1
-37
-1
0
0
0
0
0
1
-5
-3
-1
51
0
49
45
10
40
-26
-12
0
0
0
0
1
-1
0
-6
-33
-72
-43
38
16
47
29
-2
42
0
0
0
0
0
0
4
6
-25
-128
11
20
32
1
21
-37
2
0
0
0
0
0
-3
2
-7
-35
-27
35
-23
-25
26
8
-29
66
0
0
0
0
0
15
8
-8
-18
23
-48
-3
36
10
24
-23
-71
0
0
0
0
0
-2
-7
-17
-2
64
-27
-2
19
77
-22
-29
4
0
0
0
0
1
0
-2
-2
3
-5
-14
41
11
74
-54
-66
16
0
0
0
0
0
0
-4
0
-1
2
-1
-1
2
71
57
-5
0
0
0
0
0
0
-3
30
42
0
0
123
80
37
22
25
-42
-24
0
0
0
2
4
-3
74
0
-43
0
178
50
9
34
21
46
91
0
0
0
0
0
-14
-12
-16
71
88
103
45
15
42
37
20
52
0
0
0
0
-1
-25
-24
0
125
31
-33
44
-3
19
28
36
37
0
0
0
0
-1
-7
-12
-7
-68
56
-30
16
11
-5
14
0
34
0
0
0
2
-5
-1
37
9
-60
23
-45
23
2
27
18
-28
16
0
0
0
1
6
-9
-14
33
-13
-94
43
-84
5
29
24
-26
51
0
0
0
0
0
0
15
41
-34
-6
-94
10
0
49
42
15
0
0
0
0
0
0
0
3
0
0
0
1
14
15
19
46
5
0
0
0
0
0
0
0
-1
5
0
81
119
21
-22
56
10
71
-66
0
0
0
0
0
1
14
0
-1
0
87
66
4
19
31
-2
-113
0
0
0
0
0
-1
-13
-14
6
47
93
94
-64
-32
28
-27
117
0
0
0
0
0
0
-39
-56
80
-10
-43
125
-14
10
31
14
-21
0
0
0
0
0
0
6
-31
-36
-53
-31
33
-74
65
19
28
-31
0
0
0
0
0
0
0
-53
-10
12
-87
-62
27
-8
7
28
-2
0
0
0
0
0
0
0
-43
18
8
4
-2
-4
61
25
-9
9
0
0
0
0
0
0
0
-4
11
-4
-4
-38
-16
65
-12
-69
0
0
0
0
0
0
0
0
0
0
0
0
3
31
-77
-22
5
0
0
0
0
0
0
0
0
0
0
0
-44
136
156
0
-50
-51
-25
0
0
0
0
0
0
0
13
0
5
63
145
62
6
-113
25
-58
0
0
0
0
0
0
0
21
22
17
105
149
72
49
-25
5
-160
0
0
0
0
0
0
2
-33
-31
5
28
48
24
-18
-71
-60
-23
0
0
0
0
0
0
-1
-30
-91
-18
-3
44
46
14
40
-24
14
0
0
0
0
0
0
3
-55
-76
-27
3
51
-57
46
-23
36
-11
0
0
0
0
0
0
0
-5
-99
-3
-7
115
23
-121
-67
-6
52
0
0
0
0
0
0
0
0
-5
1
13
36
88
54
-38
-39
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
22
-30
0
0
-97
-2
0
0
0
0
0
0
0
0
-2
0
-13
-10
-51
-17
32
-101
0
0
0
0
0
0
0
0
0
0
0
0
26
49
-81
-41
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
12
-18
47
-8
1
0
0
0
0
0
0
0
0
0
0
0
2
-10
43
-67
25
0
0
0
0
0
0
0
0
0
0
1
0
2
-51
44
41
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-10
41
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
32
4
0
0
0
0
0
0
0
0
0
0
1
0
21
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
-8
14
2
0
0
-69
2
0
0
0
0
0
0
0
0
0
1
31
-7
5
25
-5
-15
15
0
0
0
0
0
0
0
0
0
-4
-5
0
33
-70
-75
114
-33
0
0
0
0
0
0
0
0
1
0
1
9
50
-129
52
-20
-19
0
0
0
0
0
0
0
1
0
0
-5
-1
59
-67
-47
83
5
0
0
0
0
0
0
0
0
0
0
0
-1
-27
43
88
38
10
0
0
0
0
0
0
0
0
-1
0
0
-5
7
-5
-125
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
25
-22
0
0
0
0
0
0
0
0
0
0
5
-31
32
0
0
27
5
0
0
0
0
0
0
0
0
0
3
-4
1
-33
21
108
64
-30
0
0
0
0
0
0
0
0
0
7
1
4
-3
34
-36
1
-33
-1
0
0
0
0
0
0
0
0
-2
-4
-4
100
52
-94
-38
-129
8
0
0
0
0
0
0
0
0
-2
4
-7
-19
-2
49
-9
-13
-3
0
0
0
0
0
0
0
0
0
0
5
-61
75
12
-81
-24
0
0
0
0
0
0
0
0
0
0
0
1
9
48
-9
-13
15
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
-20
-55
13
-102
5
-47
-1
0
0
0
0
0
0
0
0
0
0
40
-41
18
-37
-55
-51
2
0
0
0
0
0
2
-1
-74
47
37
-23
-50
-40
-72
-15
-57
2
0
0
0
0
0
0
10
5
4
43
5
-78
1
-7
-12
-53
1
0
0
0
0
1
1
0
30
-24
47
-56
-27
-57
7
-44
-7
0
0
0
0
0
1
0
0
4
17
14
-38
-46
-71
-58
-8
-8
0
0
0
0
0
0
0
-1
49
-155
-11
-81
-70
0
-14
-25
0
0
0
0
0
0
0
1
7
-72
58
2
-18
5
10
0
-1
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
-9
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
-14
0
-1
0
-1
0
0
0
0
0
0
0
1
-2
4
-9
17
7
-2
21
-11
3
1
0
0
0
0
0
0
0
-3
-20
-43
4
-2
2
14
-13
-1
-2
0
0
0
0
0
0
0
0
-11
-15
19
-20
-8
-8
-56
-26
1
0
0
0
0
0
0
0
-1
-49
-64
25
-17
6
-11
-1
0
1
7
0
0
0
0
0
0
0
-14
3
1
1
4
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
75
-15
15
-45
-89
-8
-142
0
0
-1
0
15
8
7
-4
0
0
48
-5
-68
32
-22
-82
-44
0
0
0
0
-7
7
80
-49
56
129
5
-13
-33
-35
-11
-34
-50
0
0
0
1
5
1
71
81
24
66
-6
10
-4
-17
-62
-47
2
0
0
0
0
8
43
-13
38
48
20
47
-80
-61
-65
-32
-8
15
0
0
0
0
1
23
-9
-31
72
-60
-2
-99
-88
-121
-63
-86
-36
0
0
0
2
0
11
-3
-4
71
-21
-32
-11
-95
-163
-112
-129
-11
0
0
0
0
0
3
7
-7
2
18
-39
20
52
61
-30
50
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
-13
-31
-59
-78
-18
-67
-53
0
0
0
0
2
0
0
0
-5
39
-67
-7
-54
-60
-27
-78
-12
0
0
0
0
1
0
1
-2
38
36
18
-6
38
-36
-100
-86
-14
0
0
0
0
0
1
-8
2
-5
18
-49
13
-52
-15
-37
-9
-80
0
0
-1
0
1
0
0
0
-39
5
84
-19
27
-25
61
-5
-40
0
0
0
-1
1
-5
-6
-1
43
-27
-12
-54
-97
-85
-32
-15
8
0
0
0
0
-3
-4
0
2
-41
-1
-91
-64
52
-23
-110
-8
-32
0
0
0
0
0
0
-11
0
-18
-15
-57
27
-41
-91
-20
-34
22
0
0
0
0
0
0
0
0
0
-11
9
-43
40
-88
-50
-40
-68
0
0
0
0
0
0
2
-2
0
-56
68
-9
-15
-81
-59
-71
-47
0
0
0
2
0
-1
0
-2
-17
-19
0
0
-12
-49
-32
40
50
0
0
0
0
5
0
0
-9
14
59
-6
-23
-59
-5
-10
-37
-83
0
0
0
0
0
0
-6
2
12
-46
14
19
4
-54
-5
-33
-87
0
0
0
0
0
8
-5
-1
24
94
3
-22
32
-43
-82
-63
-45
0
0
0
0
0
-7
9
1
-46
94
95
9
-18
-67
28
-15
-102
0
0
0
0
0
-1
5
14
-4
12
-25
14
26
-31
-44
19
25
0
0
0
0
2
0
0
4
0
-31
10
5
10
23
-42
-36
-64
0
0
0
0
0
0
0
0
2
-3
4
2
19
-74
-11
-8
0
0
0
0
0
-2
3
-3
-14
0
0
-16
54
-35
-43
-14
15
16
0
0
0
-1
-6
37
33
0
-14
0
45
-15
-19
-11
-29
-42
-92
0
0
-1
0
2
34
-7
-12
-12
215
82
-31
-34
-13
8
-26
-41
0
0
0
0
0
10
92
-19
61
121
55
-4
-75
-49
-2
17
-3
0
0
0
6
3
13
27
-19
-24
57
12
1
-16
-33
-28
-42
-58
0
0
0
1
22
0
4
-80
92
34
-70
-44
-47
-17
-52
-6
23
0
0
0
3
0
20
41
-3
39
80
19
-20
6
-86
-41
13
-31
0
0
0
0
1
2
-3
-33
-11
43
24
19
-32
45
-50
5
0
0
0
0
0
0
0
-2
0
0
0
7
-8
-31
-32
53
-2
0
0
0
0
0
0
0
-1
-20
0
3
93
-62
-69
-1
-2
10
-36
0
0
0
0
0
0
-17
0
78
0
22
-1
-16
-15
6
19
-8
0
0
0
0
0
0
-39
-1
20
-31
4
77
-61
-5
10
-6
-49
0
0
0
0
0
0
-1
-119
5
117
-59
-35
-26
-14
17
-15
-79
0
0
0
0
0
0
-3
15
-39
96
-57
-21
-73
17
-21
14
7
0
0
0
0
0
0
-2
-41
-46
19
-143
-10
-50
-35
-20
8
-26
0
0
0
0
0
0
0
-13
-30
4
-59
0
-16
15
-47
-36
-11
0
0
0
0
0
0
0
-21
-23
9
-53
-82
-91
-14
-92
-66
0
0
0
0
0
0
0
0
0
0
0
0
18
-62
-31
74
15
0
0
0
0
0
0
0
-1
0
0
0
-25
1
16
-34
-199
-168
10
0
0
0
0
0
0
0
46
0
-17
-80
71
12
43
-82
-183
14
0
0
0
0
0
0
0
-48
-9
10
14
74
-18
-86
-47
-34
-74
0
0
0
0
0
0
0
-32
-46
-3
22
-27
-4
79
-38
-52
-68
0
0
0
0
0
0
0
-66
-71
23
-55
4
-1
96
5
-62
-88
0
0
0
0
0
0
0
-89
-77
47
-14
-37
2
-19
-37
-57
0
0
0
0
0
0
0
0
-18
-74
1
-108
-97
-121
-36
-167
-147
-18
0
0
0
0
0
0
0
0
-2
1
-23
-87
-64
-25
-26
-62
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-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
23
23
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
1
63
16
29
19
-5
0
0
0
0
0
0
0
0
0
0
0
0
44
6
-40
-16
0
0
0
0
0
0
0
0
0
0
0
1
0
35
18
-55
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
43
-41
28
-39
0
0
0
0
0
0
0
0
0
0
0
0
-21
-7
29
30
46
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
43
53
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-31
1
0
0
0
0
0
0
0
0
0
0
0
-7
10
0
0
15
-1
0
0
0
0
0
0
0
0
0
0
2
6
114
45
-19
19
2
0
0
0
0
0
0
0
0
0
0
0
51
-22
62
-101
-14
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
30
10
63
4
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
-4
59
22
0
0
0
0
0
0
0
0
0
0
0
-2
4
2
18
41
49
0
0
0
0
0
0
0
0
0
0
0
0
-3
94
-27
46
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-1
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
61
1
0
0
0
0
0
0
0
0
0
0
1
2
19
0
0
81
-27
0
0
0
0
0
0
0
0
0
0
-3
2
26
-18
-20
23
15
0
0
0
0
0
0
0
0
0
0
2
-1
0
-34
-28
-33
13
0
0
0
0
0
0
0
0
0
0
-1
-3
-24
51
21
-50
5
0
0
0
0
0
0
0
0
0
0
0
0
17
-25
-28
44
-14
0
0
0
0
0
0
0
0
0
0
-1
0
-21
14
24
113
-5
0
0
0
0
0
0
0
0
0
0
0
0
-26
50
29
37
0
0
0
0
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
-10
0
0
0
156
98
6
40
-15
5
0
0
0
0
1
-1
0
0
0
0
0
143
62
31
27
-11
3
0
0
0
0
0
0
5
-46
-10
-28
66
108
-44
70
11
-9
51
0
0
0
0
0
-1
8
-80
-120
6
80
-30
-55
-10
100
49
-15
0
0
0
0
-2
0
1
-10
96
-3
-143
-99
-3
-45
32
76
17
1
0
0
0
0
0
0
5
-30
65
25
-36
-42
134
14
14
-1
1
0
0
0
0
0
1
4
57
138
-3
-63
42
53
74
-25
3
0
0
0
0
0
0
1
20
13
81
65
14
71
1
-4
-1
-2
0
0
0
0
0
0
0
0
-1
27
4
18
0
0
0
0
0
0
0
0
0
0
1
-14
-30
0
0
0
-6
53
25
21
-3
-3
-1
0
0
0
1
11
11
-9
0
0
0
11
55
-47
5
19
36
1
0
0
0
0
0
4
-56
-10
-17
86
14
-17
-19
-13
32
51
-6
0
0
0
0
0
2
-33
-107
48
-61
70
24
-25
26
21
9
5
0
0
0
0
0
-1
43
24
-37
-90
1
-66
19
111
53
93
-4
0
0
0
0
0
-2
17
1
-29
1
-48
-123
-38
29
17
38
13
0
0
0
0
0
-1
-3
-34
51
60
39
3
13
8
5
62
-3
0
0
0
0
0
0
11
100
24
83
22
10
55
5
13
-22
5
0
0
0
0
0
0
3
5
-28
-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
9
0
0
0
-15
-72
-27
-27
-45
-50
-31
0
0
0
0
0
-1
-1
-55
0
0
142
68
23
-20
56
42
12
0
0
0
0
0
0
15
69
90
-29
32
4
-22
115
32
-24
2
0
0
0
0
0
-7
7
33
50
46
-120
5
14
-8
8
10
-30
0
0
0
0
0
-3
19
9
114
-88
34
7
29
46
12
21
32
0
0
0
0
0
-4
-7
5
2
53
-62
118
6
34
101
33
73
0
0
0
0
0
-1
-1
-27
-15
76
-39
-43
61
89
54
-32
-2
0
0
0
0
0
0
6
10
41
-29
-14
-49
-9
0
24
-26
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
-54
57
-121
-64
-124
-14
93
0
0
0
0
0
0
2
6
-38
-62
112
-12
-77
-133
4
37
-19
0
0
0
0
0
0
0
-5
0
53
55
-4
-31
-117
-30
-8
68
0
0
0
0
0
0
0
0
-48
-63
-81
-45
-55
-89
-75
-6
1
0
0
0
0
0
0
0
0
-25
-93
-38
42
-135
-46
-111
-23
74
0
0
0
0
0
0
-4
0
-45
-33
18
-39
-14
-59
-2
42
27
0
0
0
0
0
0
0
-1
9
-38
-63
18
-46
97
-69
28
-1
0
0
0
0
0
0
0
0
-31
4
80
40
54
-38
-57
14
4
0
0
0
0
0
0
0
0
-4
-17
-37
53
53
7
40
-21
13
0
0
0
0
0
-1
2
7
0
-50
7
-2
77
-9
-92
-8
17
0
0
0
0
-1
0
-7
0
31
20
0
32
-14
-99
-15
71
-9
0
0
0
0
0
0
-1
1
86
-121
-13
83
1
0
-89
-51
-37
0
0
0
0
0
0
0
4
-31
-114
7
-53
-44
21
-54
27
-9
0
0
0
0
0
0
0
1
26
-53
91
54
-94
65
-15
-64
-5
0
0
0
0
0
0
0
1
-17
-60
23
-21
91
65
31
44
-42
0
0
0
0
1
0
0
-2
5
-66
75
-61
-139
5
46
-49
-28
0
0
0
0
0
0
0
0
-17
-20
-90
-12
80
15
-16
-11
-16
0
0
0
0
0
0
0
0
0
-7
-15
-7
14
-3
9
0
0
0
0
0
0
0
1
26
-51
0
0
43
70
36
14
-36
-36
7
0
0
0
0
0
3
15
0
52
0
147
63
-28
-4
69
-43
-6
0
0
0
0
0
47
-36
-113
178
216
-30
6
54
22
55
-79
0
0
0
0
0
0
-4
-47
-175
-48
-20
-116
90
42
-27
18
-67
66
0
0
0
0
0
0
2
-103
21
-4
11
32
-22
-54
29
-17
85
0
0
0
0
0
0
-27
-142
-16
-83
-48
10
-10
16
-55
-3
53
0
0
0
0
0
1
2
-56
79
103
145
15
34
32
70
-68
30
0
0
0
0
0
-1
0
-64
-64
-47
64
151
-71
60
1
36
-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
27
0
-25
116
94
-53
-16
-150
-49
-64
0
0
0
0
0
5
20
0
-69
0
153
58
-54
-97
-50
-115
-14
0
0
0
0
0
8
16
71
60
-13
132
33
-60
-51
77
-23
-36
0
0
0
0
0
-6
3
-86
-109
-267
-54
0
-9
28
15
-31
-20
0
0
0
0
0
0
-43
-91
0
-201
-44
80
-43
79
15
0
57
0
0
0
0
0
0
-7
-53
-56
-87
-93
19
93
-54
64
-48
-7
0
0
0
0
0
0
0
-52
-116
-155
-15
-18
80
-15
-20
-26
-45
0
0
0
0
0
0
0
-9
22
5
-49
-84
116
37
43
12
1
0
0
0
0
0
0
0
0
0
0
0
-1
-14
3
3
4
0
0
0
0
0
0
1
0
0
0
0
96
186
22
-56
-13
-69
-4
0
0
0
0
0
9
-25
21
0
-74
109
109
99
-4
-4
4
5
0
0
0
0
0
0
4
-86
-121
19
159
120
45
-19
-13
33
-30
0
0
0
0
0
0
-1
-238
-80
-65
-32
77
69
56
3
60
-71
0
0
0
0
0
0
-1
0
-108
-118
-57
43
44
41
-44
-84
-40
0
0
0
0
0
0
-1
-147
-156
-53
-72
-75
-43
114
-10
-14
30
0
0
0
0
0
0
0
-52
-62
-24
-154
-43
54
-53
17
67
9
0
0
0
0
0
0
0
5
0
0
-16
-102
-19
69
-12
69
10
0
0
0
0
0
0
0
0
0
0
-2
0
-15
-1
45
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
7
-68
-33
-25
-60
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-36
-34
10
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-9
-18
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
-15
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-26
-43
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-35
43
48
-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
-37
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
13
15
-10
14
-4
0
0
0
0
0
0
0
0
0
0
0
3
22
-71
-44
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
-57
-33
-33
-53
-1
0
0
0
0
0
0
0
0
0
0
0
0
55
-29
19
-16
0
0
0
0
0
0
0
0
0
0
0
1
-11
-33
-33
1
-53
0
0
0
0
0
0
0
0
0
0
0
0
-2
-103
13
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-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
1
3
-45
0
0
-78
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
51
21
7
0
0
0
0
0
0
0
0
0
0
0
-2
31
9
-56
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-47
-73
12
-18
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-21
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-19
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-1
-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
0
-32
-1
-1
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
63
3
2
-3
0
0
0
0
0
0
0
0
0
0
-14
-89
-50
-31
3
-51
1
0
0
0
0
0
0
0
0
0
0
15
-100
-100
-19
-8
-6
0
-1
0
0
0
0
0
0
0
0
0
-47
11
34
36
-52
-17
-2
1
0
0
0
0
0
0
0
0
2
-15
3
-38
-59
-18
-3
-1
0
0
0
0
0
0
0
0
0
0
-46
-51
45
-36
2
4
0
0
0
0
0
0
0
0
0
0
0
-29
14
45
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
-11
-3
0
0
1
0
0
0
0
0
0
0
-1
-2
20
-23
6
-3
-8
-2
0
0
0
0
0
0
0
0
0
0
-1
-5
-6
-38
0
-10
0
0
0
0
0
0
0
0
0
0
0
-3
-57
-23
8
-7
1
-1
0
0
-1
0
0
0
0
0
0
0
0
4
-5
10
-5
0
0
1
0
-4
0
0
0
0
0
0
0
0
-5
-39
-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
-17
-34
-57
-62
-16
-11
-56
0
0
0
0
2
0
-7
14
0
0
30
-53
-64
50
-53
-43
19
0
0
0
0
0
0
6
44
7
25
-6
-27
24
-45
-35
-94
-43
0
0
0
0
0
6
5
73
13
-12
-21
-98
-149
-78
-111
-42
-43
0
0
0
0
0
0
0
-19
56
35
-54
-76
-181
-36
-89
-83
-37
0
0
0
0
-1
-1
2
7
-43
17
-27
21
-137
-86
-41
-59
-1
0
0
0
0
0
0
1
-14
31
-9
19
14
-20
-100
-57
-15
4
0
0
0
0
0
0
-3
15
-34
-33
20
-1
-34
-29
-24
-11
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
-17
-141
-74
30
-10
41
0
0
0
0
0
0
1
-14
-64
-65
55
-31
-170
-11
12
-9
-3
0
0
0
0
0
0
-1
3
-55
62
-74
-36
-209
-165
22
26
-47
0
0
0
0
0
0
0
1
-22
34
-110
-29
-82
-97
-134
-36
-95
0
0
0
0
0
0
0
-1
-4
-8
-71
-34
-48
-31
-73
17
-88
0
0
0
0
0
0
0
0
-6
6
-75
-21
-83
-72
-6
3
42
0
0
0
0
0
0
0
0
1
-8
-44
4
-2
11
-48
-41
92
0
0
0
0
0
0
0
0
-25
0
-102
-42
23
-32
-2
-29
-3
0
0
0
0
0
0
0
-1
-13
-14
7
-2
12
-104
-45
-65
-58
0
0
0
0
0
0
0
-8
0
11
-53
-18
-105
-100
-92
-44
17
0
0
0
0
0
0
2
-4
-15
-132
0
-102
-214
-94
-71
18
14
0
0
0
0
0
0
0
-1
11
22
19
-51
-47
52
-87
-5
-60
0
0
0
0
0
0
1
3
6
-45
-77
-44
-195
-53
26
-61
-62
0
0
0
0
0
0
0
0
-17
-17
-65
-53
-71
25
-54
-65
-77
0
0
0
0
0
0
-2
-3
2
-30
11
-67
-74
-93
-55
6
-18
0
0
0
0
0
0
0
-2
-7
-49
19
32
3
-49
-193
-38
-23
0
0
0
0
0
0
0
-1
-8
-13
2
26
-20
62
58
-88
-61
0
0
0
0
0
0
0
0
5
2
36
-7
-3
16
-58
0
0
0
0
0
0
0
0
-15
-3
0
0
-109
-167
-41
-72
-40
-148
-10
0
0
0
0
-1
1
-4
0
-10
0
-53
-113
-57
-64
-87
-47
1
0
0
0
0
0
-2
24
-142
40
-4
2
41
-59
-161
-90
-158
0
0
0
0
0
0
1
-25
-55
-84
-1
5
-44
-26
-177
-80
-93
-15
0
0
0
0
0
0
-3
59
92
10
-85
14
-192
-14
-85
-119
-1
0
0
0
0
-1
0
7
128
-44
-14
19
-245
-94
-52
-115
-94
13
0
0
0
0
3
0
1
-21
-15
-31
-27
4
85
-72
-6
-22
-35
0
0
0
0
0
0
0
-6
51
14
-5
-5
-86
14
-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
-54
-26
-57
-62
-23
0
-31
-61
0
0
0
0
0
0
-1
0
-19
0
-46
-24
-16
-74
-25
-62
1
0
0
0
0
0
0
-27
33
0
-9
-8
12
-55
14
-31
-19
-13
0
0
0
0
0
0
0
-66
-108
36
-14
-69
-36
-49
-23
69
-9
0
0
0
0
0
0
2
103
-53
-37
-75
-2
-106
-47
-50
-81
-57
0
0
0
0
0
0
0
-76
-53
24
-24
-41
33
-53
-68
-24
-13
0
0
0
0
0
0
0
-3
-11
-13
-13
-41
-29
-28
-39
11
5
0
0
0
0
0
0
0
0
0
0
6
27
1
-19
-17
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-18
-74
-127
-39
-158
-43
0
0
0
0
0
0
0
-3
0
2
137
-152
-4
-80
-15
-59
-4
0
0
0
0
0
0
0
-1
-7
-1
-21
10
-19
-1
-57
-167
-140
0
0
0
0
0
0
0
-4
-3
-6
-19
-29
-109
-45
-31
-23
-54
0
0
0
0
0
0
0
-15
-11
0
30
38
-99
17
-56
-72
-35
0
0
0
0
0
0
0
1
-2
-3
-73
-43
-44
-20
-36
-8
-33
0
0
0
0
0
0
0
0
-10
0
11
5
-74
-66
-56
26
-20
0
0
0
0
0
0
0
0
0
0
-1
-23
-9
-46
4
-16
-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
20
5
79
-1
2
0
0
0
3
0
0
0
0
0
0
0
-10
3
-4
-10
-4
11
-3
-5
2
-2
0
0
0
0
0
0
0
10
47
34
13
-1
-2
0
0
0
0
0
0
0
0
0
0
0
43
33
73
5
23
-1
0
-3
2
0
0
0
0
0
0
0
0
9
-14
58
9
3
-6
0
0
0
0
0
0
0
0
0
0
0
8
44
60
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
3
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
34
33
-3
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
-24
19
-27
-15
0
-3
1
0
4
0
0
0
0
0
0
0
5
48
-3
-7
63
9
8
-6
-2
0
-3
0
0
0
0
0
0
17
26
46
10
8
14
-1
5
-6
-5
0
0
0
0
0
0
0
14
52
34
-1
-33
26
0
-1
0
-2
0
0
0
0
0
0
0
0
74
7
23
-22
7
0
0
0
0
0
0
0
0
0
0
0
-2
18
55
35
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
9
7
0
0
0
0
0
0
0
0
0
0
0
15
-1
-4
-35
-6
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
48
3
-38
43
-36
43
3
0
5
1
0
0
0
0
0
0
6
11
95
-65
-88
-20
-25
-2
0
0
1
0
0
0
0
0
0
1
29
43
19
12
43
0
9
3
-3
0
0
0
0
0
0
0
5
-7
19
-33
-74
59
0
0
0
0
0
0
0
0
0
0
0
3
-10
42
-33
60
-23
0
0
0
0
0
0
0
0
0
0
0
1
10
17
-3
32
1
0
0
0
0
0
0
0
0
0
0
0
0
18
4
-4
50
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
3
-10
-56
-18
19
57
74
-23
0
-55
-3
0
0
0
0
0
0
-2
25
28
69
-59
-101
-14
-57
39
-2
-4
1
0
0
0
0
0
22
19
57
-72
-19
-24
-57
-63
-163
-18
-3
-1
0
0
0
0
0
-1
29
54
22
5
-58
-40
-76
-47
36
1
0
0
0
0
0
0
-14
-47
59
154
15
-3
12
-5
48
15
0
1
0
0
0
0
0
31
73
103
122
105
-12
82
56
-30
6
0
0
0
0
0
0
0
14
60
56
5
33
35
31
7
-10
5
0
0
0
0
0
0
0
24
28
31
-30
43
-6
5
21
26
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
-2
-18
4
8
1
-46
-64
-46
0
-4
0
0
0
0
0
0
0
21
11
-11
27
20
-52
32
-51
43
3
0
0
0
0
0
0
0
-1
9
25
-5
-33
4
-10
8
-7
14
1
0
0
0
0
0
0
-9
-28
26
-1
21
-19
40
38
-24
61
-1
0
0
0
0
0
0
-7
-8
32
-63
13
39
-29
53
-21
-4
0
0
0
0
0
0
0
-2
-43
80
-9
17
-29
3
24
-17
8
0
0
0
0
0
0
0
3
48
-16
-24
14
64
13
-9
4
0
0
0
0
0
0
0
0
3
2
27
25
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
15
44
-10
44
62
6
50
19
0
15
-17
-22
-11
-1
0
0
0
-6
-58
50
127
-2
15
-45
-36
15
13
-31
34
15
21
-6
0
0
-24
24
91
64
22
6
-26
-32
-24
-60
-89
-86
-5
1
-1
0
0
27
14
88
23
22
40
12
26
26
81
-62
-51
-8
-6
-1
0
0
41
-31
-30
103
90
-9
26
44
109
-118
-64
-3
-1
-6
-1
0
0
-16
56
-1
143
52
67
5
34
8
87
-19
-2
4
-2
0
0
0
-1
29
20
100
95
56
55
85
-5
-29
-1
0
0
0
0
0
0
0
25
-6
5
-20
-5
3
-46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
93
-25
-82
2
17
0
45
16
-20
0
0
0
0
0
0
-16
68
23
-39
25
76
68
-9
43
1
-19
3
-5
0
0
0
0
3
118
-14
48
16
7
8
82
-95
26
23
7
-1
0
0
0
0
-6
74
-18
33
170
3
1
55
28
8
-19
-6
0
0
0
0
0
-2
-14
0
24
5
53
9
82
110
48
4
0
0
3
0
0
0
2
-15
64
2
-45
9
-57
22
48
-38
-11
0
1
0
0
0
0
0
-1
41
-18
-6
-62
14
6
70
-29
-16
0
0
0
0
0
0
0
3
84
-38
114
0
35
-52
-8
34
-5
13
0
2
0
0
0
0
1
-1
112
-45
32
-13
36
26
-32
32
1
-4
0
-1
0
0
0
-10
-27
12
54
11
-4
0
14
9
-62
-15
2
0
0
0
0
0
24
2
58
40
-46
-7
-13
-5
71
-5
-53
1
3
-2
0
0
0
18
64
107
37
-36
-30
-72
-38
18
36
0
1
0
0
0
0
0
90
10
80
69
42
42
-23
-68
-43
4
15
2
0
0
0
0
0
46
-7
46
31
7
-10
-60
-17
-19
24
-17
-3
1
0
0
0
0
2
-114
47
38
14
-1
-51
42
-53
14
-6
0
0
0
0
0
0
8
20
46
39
29
-8
-2
41
7
-28
0
0
0
0
0
0
0
7
4
44
30
-4
84
48
53
-53
3
-3
0
0
0
0
0
0
-1
-1
-20
-25
23
-13
-8
3
0
0
0
0
0
0
0
-34
45
63
-53
2
6
35
-23
0
-9
-4
-14
0
1
0
0
0
21
26
100
15
-8
25
18
16
17
27
-27
-10
-7
1
5
0
0
4
47
56
-32
20
-2
5
-32
15
-86
-42
-19
-23
-2
0
0
0
69
98
74
109
35
34
-2
26
17
17
-17
-41
15
0
0
0
0
21
-14
82
94
156
61
24
20
59
41
-30
-2
0
3
0
0
0
-15
44
37
34
165
31
-12
43
4
-20
-3
8
0
0
0
0
0
35
59
60
87
108
61
-19
-90
-45
-7
11
-5
-1
0
0
0
0
0
2
-23
141
99
-7
28
-129
-41
2
-1
0
0
0
0
0
0
0
0
7
-1
15
0
2
-1
0
0
0
0
0
0
0
0
0
6
14
-46
-4
-7
5
19
-34
0
29
-4
5
0
0
0
0
0
16
-84
44
-3
-22
-33
-3
-43
18
-77
10
-8
4
0
0
0
0
51
-42
84
1
-42
-5
-4
1
-20
-27
-22
0
0
0
0
0
0
56
-111
66
73
-66
-27
8
11
33
38
-16
1
0
0
0
0
0
-33
-12
111
303
63
-72
21
-4
-2
-77
-33
-1
0
0
0
0
0
15
84
8
55
127
68
-63
34
-47
12
-1
3
-4
0
0
0
0
-7
-21
60
63
84
7
22
22
-101
-87
0
0
0
0
0
0
0
0
3
-14
62
45
81
-45
-1
-168
-26
-2
0
0
0
0
0
0
0
0
3
0
-30
14
52
30
-5
0
0
0
0
0
0
0
0
2
7
8
17
-44
65
18
-181
0
2
-1
1
0
0
0
0
0
-18
-46
-20
3
-67
1
26
-58
89
75
20
3
0
0
0
0
0
-2
5
-19
-52
89
77
29
-38
-107
6
-14
-3
0
0
0
0
0
-16
-13
25
-26
-87
39
32
-22
2
-22
-64
0
0
0
0
0
0
1
-66
-45
80
90
38
64
-5
13
-165
1
1
0
0
0
0
0
-9
-18
-37
45
34
31
17
109
-16
-33
-1
0
0
0
0
0
0
-2
-37
-5
41
20
55
-7
-14
21
41
10
2
0
0
0
0
0
0
-3
-1
26
-8
-11
-45
-11
-27
-5
6
0
0
0
0
0
0
0
0
0
0
-1
-28
2
-25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
44
-77
1
-2
0
0
0
0
0
0
0
0
0
0
-9
23
2
-22
-82
18
-13
-2
0
-6
0
0
0
0
0
0
0
15
62
50
-96
-3
10
0
5
2
1
0
0
0
0
0
0
0
50
52
48
64
-25
0
0
-1
-1
0
0
0
0
0
0
0
0
22
-111
-54
41
-6
15
-1
0
0
0
0
0
0
0
0
0
0
19
10
44
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-30
9
28
2
-2
0
0
0
0
0
0
0
0
0
0
0
-14
40
-36
-61
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
-20
96
52
48
20
-6
0
0
0
0
0
0
0
0
0
0
5
-76
26
-66
-112
6
18
-4
2
0
4
0
0
0
0
0
0
66
67
33
81
27
13
-2
-3
33
-5
-1
0
0
0
0
0
0
-6
53
29
17
-90
0
1
-1
0
1
0
0
0
0
0
0
0
-33
44
5
-39
34
-23
-1
0
0
-3
0
0
0
0
0
0
0
10
85
-12
-33
22
0
-3
-3
0
0
0
0
0
0
0
0
0
-3
-33
-8
-22
19
-11
0
0
0
0
0
0
0
0
0
0
0
-16
30
-16
9
-33
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
32
-5
-6
-5
3
-6
0
1
0
0
0
0
0
0
0
-6
-4
140
-14
-42
33
-24
0
-17
8
-1
0
0
0
0
0
0
43
6
14
-30
20
-92
-8
-7
0
9
0
0
0
0
0
0
0
-4
24
-40
-146
-26
-61
-1
0
-1
0
-2
0
0
0
0
0
0
-14
-89
-31
29
-81
57
2
1
0
4
0
0
0
0
0
0
0
-5
93
116
-28
-110
-37
0
0
0
0
0
0
0
0
0
0
0
-4
-18
47
38
-44
1
0
0
0
0
0
0
0
0
0
0
0
0
16
26
17
0
0
0
0
0
0
0
0
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
-54
-32
-115
-51
0
-5
-1
1
0
0
0
0
0
11
-7
16
-109
-89
-42
-94
-1
-5
29
-8
1
0
0
0
0
0
-8
57
17
-28
-17
-23
-57
-152
-78
-1
-1
2
0
0
0
0
0
-9
-1
17
4
7
-100
6
-15
-50
-42
0
0
0
0
0
0
0
-29
27
-30
-91
-66
17
2
-31
-14
3
0
-1
0
0
0
0
0
1
-67
-67
-53
43
40
-63
-42
24
0
0
0
0
0
0
0
0
0
41
-3
-6
-50
-25
3
-2
-6
0
0
0
0
0
0
0
0
30
-134
-6
53
0
3
3
0
-9
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
2
-10
0
1
0
-2
-5
0
0
0
0
0
0
0
0
0
1
11
-13
7
0
-1
-17
-18
-5
-1
0
0
0
0
0
0
0
-1
-57
7
-7
0
-24
-3
3
-6
-2
0
0
0
0
0
0
0
-1
-11
-8
-58
-6
17
-5
-26
23
-5
0
0
0
0
0
0
0
0
-19
25
2
-1
-1
-24
-16
-1
7
0
0
0
0
0
0
0
-1
-32
9
-25
3
1
-1
0
0
0
0
0
0
0
0
0
0
-3
1
-53
8
0
-7
1
0
0
0
0
0
0
0
0
0
0
-16
-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
45
-5
45
-61
-87
-17
0
-53
-59
-24
24
-2
0
0
0
-51
47
33
99
67
-41
-120
-83
-24
-28
-55
12
25
-14
4
0
0
-66
59
89
112
-103
-17
-90
-60
-66
-44
11
74
30
0
-3
0
0
-48
43
88
119
15
-9
-24
-30
-42
-53
15
-21
-23
3
0
0
0
-13
80
93
-15
75
-15
-16
-85
-10
-35
-30
5
0
4
0
0
0
21
-13
11
2
-75
-66
-45
4
-51
-24
-55
1
-1
-2
1
0
0
-5
-36
-4
40
42
33
-1
-110
17
31
1
3
0
0
0
0
0
0
-13
7
5
-3
28
40
1
9
-2
-9
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
51
-24
-80
-44
-16
-158
0
-73
10
9
7
-3
0
0
0
0
-8
32
2
17
-18
9
-74
-85
-96
11
-25
3
-5
0
0
0
0
1
10
-50
-31
40
-77
-88
43
-23
18
-40
-17
0
0
0
0
0
0
128
9
-24
5
-33
-16
8
31
-89
-21
-2
0
-1
0
0
0
-2
14
-43
-24
-1
0
24
-7
22
-31
-15
0
0
1
0
0
0
-44
32
-25
-10
16
15
-45
4
-25
8
3
0
0
0
0
0
0
0
64
14
-28
-87
-87
-16
-37
-34
-59
-42
2
4
0
0
0
0
-15
-54
-10
-107
-48
-71
-3
-53
-19
9
-21
0
2
-1
0
0
0
-7
1
-19
-68
-120
68
-20
-25
-57
21
19
3
2
-1
0
0
0
0
-4
50
89
-60
-81
-53
0
-21
4
4
11
-1
0
0
0
0
0
63
19
12
-13
-42
-75
-18
-15
45
-35
17
13
-6
4
0
0
0
71
30
78
-21
-38
-81
-16
-3
56
2
-18
0
0
0
0
0
0
-18
50
12
51
-13
-10
-24
-93
-53
16
0
-1
0
0
0
0
0
-28
-15
-4
-6
-25
-19
28
-51
24
9
9
1
0
0
0
0
0
5
-25
-6
-4
3
-42
-2
-6
-21
-42
2
-1
0
0
0
0
0
11
-56
-61
10
-29
41
5
-21
-71
-32
21
-1
0
0
0
0
0
22
22
25
-47
-12
92
14
-36
7
-8
-2
-1
0
0
0
0
0
1
18
14
18
10
47
-4
3
0
0
0
0
0
0
0
-24
110
111
160
-80
-29
32
-83
0
0
20
-3
-5
0
0
0
0
-5
-34
99
167
-49
-34
-44
-33
-16
-75
-99
-38
-24
9
0
0
0
27
84
71
82
-17
-59
-57
-68
9
-43
-52
24
-17
13
0
0
0
-9
3
16
131
-8
-28
-81
-8
28
-38
92
-5
26
1
0
0
0
13
-54
16
-12
79
-48
-26
-19
46
95
-21
-2
-4
0
0
0
0
53
16
-30
173
70
-23
-91
7
61
-63
-18
-18
3
-1
0
0
0
-16
-20
53
49
6
15
3
-32
-65
36
-14
0
-3
0
0
0
0
1
3
29
-24
-47
45
-62
25
18
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
-31
-62
-12
-120
-38
4
-11
-86
0
-32
-7
4
0
0
0
0
0
-76
6
69
-3
-91
-36
-5
-58
6
-131
62
-4
-2
0
0
0
0
17
-4
86
14
19
24
-65
-39
-42
-48
-60
4
0
0
0
0
0
-14
-82
71
41
-8
-40
35
-23
-2
27
-87
-3
0
0
0
0
0
-34
-106
75
85
42
-66
-34
-21
-28
-113
-26
0
0
0
0
0
0
-2
26
-33
30
30
12
-84
-31
-57
-100
13
-2
0
0
0
0
0
15
33
-67
-4
21
19
6
50
-139
50
0
0
0
0
0
0
0
0
-1
3
74
36
89
-19
12
-33
-14
0
0
0
0
0
0
0
0
0
4
0
8
8
26
13
2
-1
0
0
0
0
0
0
0
-9
11
0
1
13
-124
-87
-120
0
2
-2
1
0
0
0
0
0
-19
-16
8
43
-92
-44
-104
-198
-60
-54
14
-1
0
0
0
0
0
-17
-45
-17
-54
-36
40
-49
-234
-11
-84
-46
-5
0
0
0
0
0
-2
-33
1
12
27
31
-73
-111
63
-4
-11
-1
0
0
0
0
0
-6
-43
-18
-62
-21
7
-32
-24
14
41
-46
2
0
0
0
0
0
3
-69
-65
-15
-58
-69
-87
-6
-52
-8
-21
0
0
0
0
0
0
0
-80
-25
47
-53
-78
-17
-17
-67
-50
-13
-5
0
0
0
0
0
0
5
0
47
-58
-45
-86
-53
-5
6
2
0
0
0
0
0
0
0
0
-1
0
6
-20
39
44
14
-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
-16
-23
17
19
-10
2
-1
0
0
0
0
0
0
0
0
0
0
13
-11
43
56
-44
2
0
0
0
0
0
0
0
0
0
0
0
43
-21
56
-6
-3
1
0
0
0
0
0
0
0
0
0
0
0
-25
60
-48
53
-11
0
0
0
0
0
0
0
0
0
0
0
0
5
-18
-38
52
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-27
0
50
-18
-1
0
0
0
0
0
0
0
0
0
0
0
11
40
53
80
3
-2
0
0
0
0
0
0
0
0
0
0
0
6
100
-50
77
5
0
0
0
0
0
0
0
0
0
0
0
0
45
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-31
2
15
4
0
0
0
0
0
0
0
0
0
0
0
17
98
23
1
-9
-2
0
0
0
0
0
0
0
0
0
0
0
32
-21
20
-55
20
11
0
2
0
0
0
0
0
0
0
0
0
37
51
75
-44
-33
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
52
-11
15
0
0
0
0
0
0
0
0
0
0
0
0
3
15
50
-34
27
0
0
0
0
0
0
0
0
0
0
0
0
47
-22
5
41
10
0
0
0
0
0
0
0
0
0
0
0
0
2
111
43
77
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-31
44
-41
4
26
0
0
0
0
0
0
0
0
0
0
0
23
-1
48
-33
44
7
2
0
0
0
0
0
0
0
0
0
0
25
-24
-24
-63
-51
-25
0
0
0
0
0
0
0
0
0
0
0
33
-1
-18
47
60
5
0
0
0
0
0
0
0
0
0
0
0
0
5
15
21
55
-7
0
0
0
0
0
0
0
0
0
0
0
0
-14
64
22
-53
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
43
68
8
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
3
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
33
-33
19
-118
-118
-88
-29
0
0
0
0
-1
0
0
0
0
0
50
148
95
30
-26
37
81
0
0
0
3
0
0
0
0
0
0
34
63
72
-38
32
84
18
3
33
34
-1
0
0
0
0
0
0
36
-24
84
54
36
-48
0
43
47
-5
2
0
0
0
0
0
0
82
18
53
122
90
-35
-13
2
-61
3
0
1
0
0
0
0
0
-11
14
58
-36
-34
86
52
-13
67
0
0
0
0
0
0
0
0
50
-33
-19
48
74
45
65
52
25
-4
0
0
0
0
0
0
0
13
-60
9
40
-44
6
-21
3
-1
0
0
0
0
0
0
0
0
56
1
-7
29
2
0
0
0
1
0
0
0
0
0
0
0
0
-36
-57
38
61
21
-20
9
0
0
0
0
0
0
0
0
0
0
6
52
-12
8
-4
-8
26
0
0
0
1
0
0
0
0
0
0
-14
-66
30
58
-46
36
3
29
48
11
0
0
0
0
0
0
0
71
-50
9
0
-5
-31
-88
-11
10
27
3
0
0
0
0
0
0
49
-54
7
45
15
-31
50
23
1
20
3
0
0
0
0
0
0
-46
-14
-43
-14
-12
-34
-96
60
17
29
-1
0
0
0
0
0
0
62
-45
-31
58
-3
28
17
-15
-21
95
-2
0
0
0
0
0
0
44
69
51
-20
25
50
18
39
22
3
0
0
0
0
0
0
0
48
69
9
25
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
27
-9
-22
81
-37
-1
0
0
0
12
15
-7
-5
0
0
0
2
37
33
-12
-54
-41
42
0
0
0
54
8
0
5
-1
0
0
23
-81
62
-9
63
36
45
68
130
70
45
-37
-41
7
0
0
0
15
90
56
15
27
-40
-54
-19
-41
-9
-67
3
1
7
0
0
0
50
-55
-24
45
4
83
45
-91
-54
8
-9
0
0
-2
2
0
0
19
19
82
53
-72
11
-53
56
-3
-28
-17
0
1
2
0
0
0
-2
33
-17
29
-32
12
-42
-21
-45
-26
4
0
0
0
0
0
0
6
-14
13
-5
5
-7
31
4
-1
-11
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
37
-59
-109
-202
-31
0
0
0
-14
27
2
-39
33
-17
-1
0
-23
-57
-38
-56
-57
8
0
0
0
72
-19
5
5
-37
-7
1
0
-23
-77
106
-24
25
-82
-16
14
42
15
-21
-34
-16
-13
-4
0
0
8
-39
10
5
-112
-51
-96
6
-30
-3
-62
-14
-17
1
-1
3
0
-2
-47
14
-24
-30
-26
-128
-19
64
-3
-15
1
0
1
3
0
0
-1
-35
41
26
-7
-20
-15
59
5
44
-39
-21
2
6
0
0
0
0
-44
101
49
-16
66
-63
-28
-18
24
-20
-11
2
-1
-1
-1
0
0
18
21
-40
113
-62
-29
49
32
-1
-27
-49
4
2
1
-19
0
0
-3
-3
12
-12
170
-9
37
91
-67
12
-5
4
-4
4
-5
0
0
-26
0
-64
18
59
0
0
0
-44
-7
40
17
0
-2
0
0
0
-73
-26
29
-19
-45
0
0
0
-63
-85
-83
0
-6
3
0
0
0
-104
44
90
145
53
31
-8
9
-26
13
4
-2
1
0
0
0
0
-71
-132
121
-15
8
-63
-91
3
-1
-2
0
0
0
0
0
0
0
-178
17
11
66
-90
-77
-2
-23
3
-18
2
-1
0
0
0
0
0
-14
-63
129
-24
-76
-45
-11
11
-4
-50
1
-2
-1
0
0
0
0
-71
-14
22
61
14
72
-74
10
75
-41
5
10
-2
0
0
0
0
0
-35
71
-31
-86
-1
0
-9
-55
15
6
6
11
-1
0
0
0
-4
-25
-4
1
39
-8
-5
0
0
0
0
0
0
0
0
-59
-36
10
-101
-86
-23
175
0
0
0
5
-8
-1
-1
0
0
0
-64
-42
53
-30
-56
-14
144
0
0
0
8
-10
-6
-1
0
0
0
-86
-70
-23
16
3
14
72
204
150
-2
-7
-14
-2
-1
0
0
0
-140
-55
-29
70
-69
-14
-126
-28
-71
-36
6
-1
-14
0
2
0
0
-100
-168
-37
-90
58
-35
81
-9
-104
-5
36
2
4
3
0
0
0
-8
71
71
37
4
53
74
-52
-40
20
-1
7
-1
0
3
0
0
-63
41
-8
102
17
-54
-41
-13
96
49
11
-2
0
0
-1
0
0
13
36
79
-33
53
49
-32
66
-27
-3
-2
0
0
0
0
0
0
0
-1
-1
3
15
0
0
0
-1
0
1
0
0
0
0
0
0
-43
-121
-8
-97
-75
-40
64
0
0
0
-16
-2
0
0
0
0
0
-84
-63
-214
-11
-77
-1
125
0
0
0
-19
-9
0
0
0
0
0
-57
77
-109
-1
31
58
-110
-82
43
-20
24
1
0
0
0
0
0
-42
9
79
40
49
-84
-25
47
-42
69
-46
1
0
0
0
0
0
2
-34
-44
-34
33
-56
-17
-44
-68
-72
-29
-3
0
0
0
0
0
-33
-100
118
91
92
78
-100
-19
-30
-126
-3
-3
0
0
0
0
0
-97
14
-18
-31
-38
-26
22
49
-117
-143
10
0
0
0
0
0
0
-2
8
-36
44
55
65
16
-30
-58
4
0
0
0
0
0
0
0
0
0
0
0
53
18
-40
2
-17
0
0
0
0
0
0
0
0
-16
5
-63
-62
77
-26
48
0
0
0
29
-11
0
0
0
0
0
-18
-48
-52
53
-45
83
180
0
0
0
26
-26
-1
-2
0
0
0
33
-58
-17
200
128
21
160
147
48
101
51
10
0
5
0
0
0
-189
-143
-29
61
-23
119
55
-45
-58
-58
31
4
0
0
0
0
0
-80
-196
-7
33
58
66
7
-18
-16
-153
-23
-1
2
0
0
0
0
16
-55
-71
-9
70
-37
-23
37
5
-61
-17
-3
1
0
0
0
0
-39
-35
-45
-119
24
8
-77
13
-23
-55
-58
-19
0
0
0
0
0
0
47
-15
80
-30
-4
6
-1
-52
-105
-60
2
2
0
0
0
0
15
-2
0
0
-10
3
-2
34
-56
-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
19
6
-16
-45
-3
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
-47
-59
-46
0
0
0
0
0
0
0
0
0
0
0
0
32
-4
34
-11
4
-5
0
0
0
0
0
0
0
0
0
0
0
1
-30
-22
-59
-5
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-10
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
-30
20
31
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-16
3
15
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-23
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-27
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
43
-20
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
13
-14
-65
-41
-56
0
5
0
0
0
0
0
0
0
0
0
0
20
-44
-75
-61
2
0
0
1
0
0
0
0
0
0
0
0
0
6
-62
-17
40
-13
0
0
0
0
0
0
0
0
0
0
0
0
6
8
19
-120
-33
-5
0
0
0
0
0
0
0
0
0
0
0
20
-26
-3
20
-48
0
0
0
0
0
0
0
0
0
0
0
0
-7
55
6
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-28
31
-54
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
47
8
-21
-2
0
0
0
0
0
0
0
0
0
0
0
9
-8
29
30
-50
-2
0
0
0
0
0
0
0
0
0
0
0
-34
-24
18
-18
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-5
-76
-23
0
0
0
0
0
0
0
0
0
0
0
0
-4
-19
23
-46
-22
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-43
-31
4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-80
-53
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
3
-6
2
-51
8
-3
0
0
0
0
0
0
0
0
0
0
1
-30
18
5
-101
-46
3
0
0
0
0
0
0
0
0
0
0
-8
-53
12
13
-14
4
0
0
1
0
0
0
0
0
0
0
0
-4
-11
-29
-139
-27
-24
-8
-4
-1
0
0
0
0
0
0
0
0
-5
-14
5
12
-5
14
6
-2
1
0
0
0
0
0
0
0
0
0
8
-21
3
-53
-25
-2
-1
0
0
0
0
0
0
0
0
0
0
-62
33
-4
-17
1
2
3
0
0
0
0
0
0
0
0
0
-2
-71
-14
13
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
9
-6
-6
-7
-4
-1
0
0
0
0
0
0
0
0
0
0
1
4
-8
-11
-3
-3
-3
-1
0
0
0
0
0
0
0
0
0
2
-32
20
4
-3
-9
0
0
0
1
0
0
0
0
0
0
0
-2
-24
14
15
2
-7
1
0
-4
0
0
0
0
0
0
0
0
-6
-13
-5
14
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-26
-11
-1
1
0
1
-1
0
0
0
0
0
0
0
0
0
-5
-11
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
11
-20
-127
-155
-52
0
0
0
-5
-4
1
0
0
0
0
7
29
6
10
37
-106
-76
0
0
0
-84
4
-9
1
0
0
0
11
4
27
-9
-32
-134
-123
-79
-28
-67
-6
-9
2
-5
0
0
0
14
43
35
-44
51
-80
-37
-115
-78
-89
-25
-2
0
0
-2
0
0
6
0
-20
5
-53
-46
-68
-83
3
1
-2
0
-1
0
0
1
0
-8
-8
-20
-16
-33
-5
-89
36
-69
-14
15
0
0
-1
0
0
0
0
6
22
-8
-21
-5
-39
-58
-50
-19
2
0
0
0
0
0
0
-5
6
36
7
32
10
-2
-41
-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
4
-87
-231
-58
0
0
0
23
10
2
24
19
0
4
0
-3
-25
10
-33
-190
-27
0
0
0
-48
-58
-29
-23
10
2
0
0
-16
-3
-82
-30
-175
-105
1
-89
-211
-1
12
-18
-14
1
-2
0
0
-25
1
-23
-70
-157
-138
-102
1
-4
14
28
5
-7
-7
0
0
0
-7
-16
-67
-77
-42
-53
-19
-53
-3
-46
-8
1
-2
0
0
0
0
0
8
-42
-87
-8
-105
-28
65
-76
32
57
5
-4
0
0
0
0
-1
-43
-44
-43
-6
-7
-86
9
27
-20
-45
-10
7
-31
4
0
0
0
-29
-71
-49
62
-76
99
41
29
-10
-28
15
-13
11
1
3
0
0
0
-6
-2
25
38
62
90
61
-20
-5
-4
0
-25
0
-1
0
0
-4
-17
-36
-124
-101
0
0
0
-6
-37
-5
-10
-1
0
0
0
0
-26
-63
5
-113
-10
0
0
0
-50
-14
-3
0
1
0
0
0
0
-65
-97
6
-2
17
9
-45
24
66
-5
-9
-2
-2
0
0
0
0
3
-14
-11
-44
-235
-66
-49
-117
2
-48
-1
1
0
0
0
0
0
1
-95
-22
25
-92
-68
-153
-22
57
10
-9
2
0
0
0
0
0
-21
-84
-44
25
-57
-13
-48
42
-30
15
-1
0
-1
-4
0
0
0
-14
2
-29
25
15
-72
24
-24
21
-2
14
-15
-2
0
0
0
0
-1
-15
-75
-85
-52
27
57
-18
-4
9
7
-2
-9
1
0
0
0
-5
-43
-6
4
-7
2
0
0
0
0
0
0
0
0
0
10
-93
-39
-106
-100
-76
-111
0
0
0
-1
0
2
0
0
0
0
-27
-6
67
23
-98
-188
-212
0
0
0
-10
16
-2
1
0
0
0
12
-25
-26
13
-118
-98
-160
-146
-28
-72
0
2
-7
1
-1
0
0
-62
-44
77
40
72
-195
-100
-66
-92
-11
-19
-26
-1
0
-3
0
0
-19
30
-12
-5
54
-114
-71
-81
-121
-86
7
-2
1
-2
0
0
0
7
47
40
0
2
18
-1
-81
-57
1
-23
0
0
0
0
0
0
5
-5
74
-2
-53
-59
-151
-24
-56
-43
1
0
1
0
0
0
0
-1
-18
-26
33
14
24
-64
-35
-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
24
-9
8
-38
7
-19
-47
0
0
0
-2
0
0
0
0
0
0
-20
-157
-44
-65
1
-25
-68
0
0
0
-24
0
0
0
0
0
0
-13
38
-37
-80
-32
-43
-79
-12
-59
-45
-1
0
0
0
0
0
0
8
-56
-74
9
49
-26
-50
85
-10
-27
-18
0
0
0
0
0
0
2
-12
10
-14
-80
-85
2
9
-35
-58
1
2
0
0
0
0
0
-6
-4
6
34
-30
-44
5
19
-23
-174
-1
0
0
0
0
0
0
0
-3
-2
-16
-64
-6
-33
-86
-184
17
0
0
0
0
0
0
0
0
2
0
-14
0
54
-36
-21
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
33
9
-53
7
0
0
0
0
0
0
0
0
0
0
-1
0
-3
7
93
19
-35
0
0
0
-3
-14
0
0
0
0
0
1
-10
-2
-23
-48
1
-70
-21
-81
-37
-21
-2
0
0
0
0
0
0
-1
0
-45
-36
-112
-57
-41
-23
-110
-11
2
0
0
0
0
0
0
-11
-4
-83
-37
55
-146
-151
-101
5
8
-3
0
0
0
0
0
0
1
2
37
-7
-15
-63
-46
-57
-114
-21
0
0
0
0
0
0
0
0
0
6
-138
-24
-91
-56
41
-79
-5
-2
0
0
0
0
0
0
-2
0
-6
20
-45
-17
45
-14
-15
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
14
0
0
0
68
0
0
0
0
0
0
0
0
0
3
-32
64
13
72
0
0
66
1
0
0
0
0
0
0
0
0
-7
1
18
42
34
66
3
-103
0
0
0
0
0
0
0
0
0
0
0
67
11
28
104
64
98
1
0
0
0
0
0
0
0
0
0
0
-3
6
33
29
68
-30
0
0
0
0
0
0
0
0
0
4
-3
4
-36
84
74
3
-20
0
0
0
0
0
0
0
0
0
0
1
-4
3
-9
-5
53
61
0
0
0
0
0
0
0
0
0
0
0
1
-1
36
7
-92
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-23
2
0
0
0
0
0
0
0
0
1
1
0
45
83
0
0
0
-23
0
0
0
0
0
0
0
0
-1
1
7
5
27
72
0
0
-17
6
0
0
0
0
0
0
0
1
2
31
11
58
124
24
49
-35
-1
0
0
0
0
0
0
0
0
17
94
45
53
32
87
21
-54
-6
0
0
0
0
0
0
0
-4
2
0
56
-5
7
65
2
74
-5
0
0
0
0
0
0
0
-3
0
1
-19
27
83
48
53
36
-2
0
0
0
0
0
0
0
0
0
-2
-2
-80
83
-80
91
1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-32
-2
65
-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
47
0
0
0
10
-34
0
0
0
0
0
0
0
0
0
10
-9
7
26
0
0
18
14
0
0
0
0
0
0
0
0
0
0
31
49
135
-4
28
23
15
0
0
0
0
0
0
0
0
0
-16
17
36
62
25
-33
-58
41
-1
0
0
0
0
0
0
0
2
4
6
2
58
53
87
53
-101
2
0
0
0
0
0
0
0
3
5
-1
34
28
14
25
17
27
-4
0
0
0
0
0
0
0
-3
3
4
-15
36
-3
22
114
17
0
0
0
0
0
0
0
0
0
0
0
-3
134
4
0
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
0
49
0
0
0
133
57
-7
62
-7
-5
0
0
0
0
3
8
54
-33
0
0
0
-5
5
-9
52
-43
89
-11
0
0
0
1
-3
-26
-38
63
74
119
139
23
-113
-10
19
6
43
0
0
0
6
-7
39
-44
60
72
52
-55
-6
6
-45
68
32
1
0
0
-8
-3
-10
3
59
8
66
-6
1
-18
-65
-26
-55
26
0
0
0
0
-2
-2
-16
19
48
259
40
-4
22
68
-72
47
55
0
0
0
0
0
2
-7
-9
124
24
31
-53
5
21
-8
17
-14
0
0
0
0
0
0
-4
-18
14
53
-91
17
11
72
51
-34
0
0
0
0
0
0
0
0
0
-1
13
3
-3
0
1
14
-24
36
0
0
0
0
0
6
33
48
0
0
0
107
92
36
-15
-35
15
0
0
0
5
1
0
56
34
0
0
0
82
86
-64
15
7
65
1
0
0
0
-2
3
33
-70
38
-89
105
-39
-29
51
-189
25
-21
-4
0
0
-4
0
-1
19
6
8
-11
14
-89
58
-103
92
-29
148
5
0
0
0
-1
0
-3
-10
33
-70
-51
53
42
-12
47
13
-13
-4
0
0
0
1
0
0
37
44
11
10
-106
-42
-76
42
-46
31
0
0
0
0
0
-1
0
11
69
-70
-39
-5
-43
-44
36
1
3
0
0
0
0
0
0
-2
3
78
-7
25
19
3
-1
-10
0
0
0
0
0
0
0
0
0
4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
81
0
0
0
148
46
21
22
-44
-68
-9
0
0
1
0
70
114
127
25
0
0
61
59
28
34
-28
-64
-64
0
1
-1
2
15
8
68
81
46
151
57
150
29
21
-17
-40
-95
0
0
-2
-7
-1
-53
78
19
51
65
69
67
60
13
14
-36
7
0
0
0
6
-75
35
-5
-29
64
42
-37
52
11
10
-23
-17
-87
0
0
0
-57
1
-14
22
6
88
-9
38
70
47
7
-17
-41
-61
0
0
0
-19
25
-2
-35
30
-42
66
67
31
70
61
5
-19
-7
0
0
0
3
10
1
65
14
-109
16
149
-16
54
53
33
4
4
0
0
0
0
0
0
0
3
1
-1
1
-8
1
-2
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
-15
-23
0
0
97
5
5
-18
-55
52
69
0
0
0
0
9
-1
-3
-66
149
68
14
57
-8
14
-35
11
39
0
0
0
0
0
-2
3
24
62
49
102
68
1
8
-18
-16
18
0
0
0
0
0
-18
24
-151
11
23
47
75
-18
60
52
-35
40
0
0
0
0
-13
-5
-9
133
-19
16
-31
12
90
39
24
-29
24
0
0
0
7
0
-5
15
-10
-78
95
21
74
74
-48
6
0
49
0
0
0
-2
0
0
48
77
-50
28
49
51
112
40
38
12
38
0
0
0
0
0
0
-45
-5
-51
-175
-30
100
58
75
5
29
35
0
0
0
0
0
0
0
4
19
18
-62
107
-5
82
105
77
18
0
0
0
0
1
-44
22
4
0
57
89
-11
-57
-7
11
-5
53
0
0
0
-1
-4
58
-33
-8
-46
79
0
34
28
9
11
2
-14
0
0
0
0
-3
6
-69
53
45
60
38
23
-19
52
65
-12
17
0
0
0
0
-19
9
40
43
120
42
50
22
10
-22
20
-5
-51
0
0
0
0
31
-77
-25
31
-42
42
-1
13
79
-3
67
-4
24
0
0
0
3
20
-27
-21
-23
72
119
93
82
32
-7
69
-14
9
0
0
0
0
-3
-71
-7
13
-95
90
17
44
45
-17
33
25
-18
0
0
0
0
14
0
25
-12
46
-30
17
-19
62
50
-33
1
22
0
0
0
0
0
2
-5
5
-19
2
45
-25
99
12
-28
-7
0
0
0
0
-8
5
62
-17
75
0
0
116
65
11
-5
-20
-49
-32
0
0
0
4
14
-34
58
0
50
0
86
42
57
1
-7
-32
-38
0
0
2
-2
2
47
25
74
106
110
21
72
40
1
5
-31
11
0
0
5
1
47
28
19
-68
37
30
36
57
49
27
4
-29
-93
0
0
0
-4
-16
-59
15
61
-20
-38
27
72
18
32
-6
-17
-4
0
0
0
5
-14
-7
212
34
-52
-31
7
12
-46
3
-14
47
34
0
0
0
0
38
-61
81
4
-16
120
2
32
35
-29
3
36
28
0
0
0
0
-1
34
45
-45
38
-6
44
-29
-7
18
23
75
-1
0
0
0
0
0
0
10
1
-1
-10
17
9
0
60
113
8
0
0
0
0
0
2
14
-33
77
0
125
166
144
44
-1
106
41
27
0
0
0
0
-2
14
-24
0
1
0
77
8
101
24
9
34
-87
0
0
0
0
0
-5
84
-13
82
17
31
13
38
43
53
94
14
0
0
0
0
0
-5
-44
-16
21
44
80
-43
23
36
23
64
107
0
0
0
0
1
-3
5
36
-62
90
-25
-10
-73
-21
35
49
-44
0
0
0
1
0
0
-16
-58
-127
-5
-39
-1
-35
-50
29
67
-10
0
0
0
0
0
0
-3
13
-73
-178
32
8
-33
53
45
97
0
0
0
0
0
0
-11
0
1
3
-9
55
-50
-1
-9
76
54
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
-68
-28
3
0
0
0
0
0
0
-6
30
0
0
0
150
72
127
32
26
65
71
0
0
0
0
0
-1
77
123
0
122
90
153
83
-4
14
14
67
0
0
0
0
0
0
-8
94
77
49
-13
80
71
47
-9
16
-91
0
0
0
0
0
0
2
5
-39
-30
31
62
-3
20
48
10
-29
0
0
0
0
0
0
-6
-71
-86
-5
-54
10
4
37
47
-46
-50
0
0
0
0
0
-2
5
-34
-198
-27
-29
-17
50
72
-38
-14
-78
0
0
0
0
0
0
0
-63
-166
-26
-111
23
92
21
59
40
75
0
0
0
0
0
0
0
0
-11
3
47
111
-49
-8
6
-90
4
0
0
0
0
0
0
0
0
0
0
0
1
3
21
34
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-124
0
0
0
0
0
0
0
0
0
2
-6
-8
52
44
0
0
-61
-9
0
0
0
0
0
0
0
-1
-8
0
-32
-38
-44
20
-105
-168
2
0
0
0
0
0
0
0
0
0
-2
-14
-36
81
-24
-69
37
5
0
0
0
0
0
0
0
0
0
0
0
2
-5
-20
-41
4
0
0
0
0
0
0
0
0
3
-7
0
1
2
-38
-80
33
-44
-8
0
0
0
0
0
0
0
0
-1
0
32
16
11
82
-82
18
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
77
-97
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
32
14
0
0
0
0
0
0
0
0
-2
-2
-10
43
9
0
0
0
-129
0
0
0
0
0
0
0
0
-3
-15
24
-32
-14
89
0
0
-21
15
0
0
0
0
0
0
0
0
0
-30
-5
-5
40
1
43
-50
16
1
0
0
0
0
0
-1
1
6
-65
-5
-111
-5
-18
22
13
3
0
0
0
0
0
0
0
6
26
14
71
20
-32
7
-89
-87
-41
0
0
0
0
0
0
0
6
-1
-2
35
-6
-6
-23
-38
-60
1
0
0
0
0
0
0
0
2
13
2
3
-14
-33
32
-68
-79
14
0
0
0
0
0
0
0
0
-3
0
1
21
32
42
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
6
1
2
-2
1
0
0
0
0
0
0
0
0
0
0
5
0
91
0
0
0
5
7
0
0
0
0
0
0
0
0
0
-26
27
-46
52
0
0
-56
-1
0
0
0
0
0
0
0
0
0
5
-14
-23
-37
31
3
4
9
1
0
0
0
0
0
0
0
0
26
-32
-23
64
49
-2
-7
17
-2
0
0
0
0
0
0
0
1
1
-27
16
163
-44
-34
-7
-93
2
0
0
0
0
0
0
0
8
-10
0
-36
-62
-3
-27
-131
-116
0
0
0
0
0
0
0
0
-2
-2
5
4
-75
-9
-89
-141
-51
0
0
0
0
0
0
0
0
-1
-4
-2
-5
-69
37
-93
0
-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
-9
-63
28
32
-56
-86
-1
0
0
0
-3
16
-2
-13
0
0
0
23
-139
-79
2
2
-72
13
0
0
0
-1
-2
33
-30
-67
-55
49
-71
-175
-8
-75
-54
-54
-5
0
0
0
0
6
-10
-45
33
2
-43
-67
-100
-123
-23
-144
-147
0
0
0
0
0
-3
-2
10
118
-22
48
-58
-19
-143
-98
-123
-6
0
0
0
0
0
2
-1
-22
-130
5
-42
-157
3
-106
-167
-73
-11
0
0
0
0
0
0
5
-11
-10
-8
64
-61
-3
43
-26
-7
-9
0
0
0
0
0
0
2
0
-63
77
113
-13
-19
-8
-1
-1
0
0
0
0
0
0
0
0
0
-2
14
1
-5
0
-9
-1
0
-13
0
0
0
0
0
0
-9
-10
0
0
0
-21
2
-6
0
-3
-5
0
0
0
0
0
9
-8
48
0
0
0
32
-25
-1
-58
-15
-1
0
0
0
0
0
0
29
-99
-78
-25
-32
-57
0
23
-71
-14
4
0
0
0
0
0
0
-3
-16
23
-34
29
-47
41
18
7
-85
-1
0
0
0
0
0
0
0
2
-81
-42
-120
-60
-51
-43
-118
-30
2
0
0
0
0
0
0
0
1
-79
-30
-66
-52
-6
-13
-44
-8
-2
5
0
0
0
-2
2
0
1
33
-66
-14
9
-1
3
-11
-1
0
0
0
0
0
0
0
0
-1
45
5
15
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
-25
59
0
0
0
-5
-18
-33
-82
-53
-101
-42
0
0
-2
9
49
10
28
23
0
0
-13
-28
-46
-52
-55
-63
-30
0
0
-1
1
3
104
142
-2
156
63
-6
90
-33
-69
-72
-67
-109
0
0
-4
-2
22
74
-19
29
-9
98
70
-65
-39
-81
-63
-94
-64
0
0
0
0
125
136
36
116
48
34
35
-50
-31
-62
-76
-76
-67
0
0
0
20
49
98
-6
4
40
-4
-25
-7
0
-64
-75
-82
-125
0
0
0
71
18
31
41
-12
99
23
51
-125
-107
-56
-46
-120
-114
0
0
0
0
5
54
35
19
129
-39
3
-17
-38
-114
-83
-63
-1
0
0
0
0
0
0
0
-15
-22
-1
2
6
-2
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-110
0
0
-8
-82
-33
-106
13
-41
-57
0
0
0
1
4
0
0
-11
-22
109
-23
-31
-52
-49
-70
-67
-39
0
0
0
0
3
1
15
16
21
33
-18
-82
-5
-16
-66
-4
-62
0
0
0
0
0
-20
-71
-10
-82
12
51
-12
-25
-44
-19
-92
-16
0
0
2
0
5
6
-6
24
-51
41
83
14
-53
-113
-51
-84
-22
0
0
-4
0
2
24
55
-29
94
-117
1
-41
16
13
-85
-41
-45
0
0
0
1
-2
-27
8
5
-33
-17
14
75
24
-98
-50
-36
-27
0
0
0
-1
0
1
-17
13
-3
29
28
88
4
0
-30
-35
-112
0
0
0
0
5
0
0
0
47
-39
-18
11
-30
-48
15
-101
-85
0
0
0
0
0
0
-88
-52
0
-14
-11
-57
-124
-60
-29
-51
-80
0
0
0
3
4
-9
-71
4
-71
33
0
-28
-61
-54
-57
-49
-52
0
0
0
0
6
3
25
-45
-53
14
-34
-30
-75
-85
-64
-95
-17
0
0
0
0
-15
18
-44
-64
-2
12
-54
-40
-61
-25
-44
-67
2
0
0
0
0
-42
128
7
0
69
-52
91
-5
22
-47
-58
-36
-64
0
0
0
0
16
3
24
5
-8
14
75
31
23
-6
-22
-72
-37
0
0
0
1
5
5
27
15
-5
59
105
-25
20
-23
-32
-77
-60
0
0
0
2
-2
2
2
-1
14
-62
-29
63
5
-60
-17
-107
-20
0
0
0
0
0
2
11
5
30
-25
-3
13
-45
-1
-31
-3
0
0
0
0
5
-6
4
-23
46
0
0
3
0
-18
-60
-52
-16
-69
0
0
0
-11
12
174
63
0
36
0
58
29
-40
-55
-54
-19
-40
0
0
0
-5
-18
-59
12
-8
23
119
-31
55
-23
-48
-35
-62
-91
0
0
0
-3
-26
40
95
-22
31
42
53
8
-22
-52
-95
-71
-108
0
0
0
24
-3
81
103
-15
32
-2
0
-26
-53
-30
-73
-66
-54
0
0
0
2
90
52
91
51
-37
-47
18
7
-77
-48
-27
-36
-20
0
0
0
3
-2
99
24
79
33
23
-13
-40
-15
-6
-5
-32
-98
0
0
-1
0
2
11
-29
14
-14
-39
-75
42
-39
-94
-3
46
-5
0
0
0
0
0
0
-7
5
4
5
49
-34
-14
32
-100
-4
0
0
0
0
0
0
0
66
-21
0
38
8
0
-26
-23
-55
-27
-81
0
0
0
0
1
-26
33
0
73
0
-6
-19
48
-17
-53
-10
12
0
0
0
-1
-5
-3
-192
-38
-35
-107
-68
-46
-57
-90
39
-14
-29
0
0
0
0
0
-16
-33
-78
-90
-34
-69
-17
-114
-95
-79
52
-42
0
0
0
0
0
0
-8
-63
-93
-87
-169
-103
-157
-82
-43
-26
54
0
0
0
0
0
0
-4
-23
-38
-119
-68
-70
-35
-133
-71
-95
-37
0
0
0
1
0
0
-14
50
-69
-48
-38
-93
-66
1
-43
-30
-29
0
0
0
0
0
-5
0
-7
6
-14
-81
-34
-8
-1
-10
-137
0
0
0
0
0
0
0
0
0
0
-2
0
0
-10
-23
22
14
0
0
0
0
0
1
-1
-9
0
0
0
-29
-49
-129
-49
-102
23
-71
0
0
0
0
0
0
-21
62
0
61
-170
2
18
-50
-83
-30
-117
0
0
0
0
0
0
-6
-61
74
28
-94
-44
40
-38
19
15
-120
0
0
0
0
2
0
4
-182
-245
8
-50
32
-3
-103
-66
-4
-34
0
0
0
0
0
3
-4
-159
-97
-2
-60
-49
-137
-51
-58
-47
-105
0
0
0
0
0
0
0
-151
-210
19
-45
-25
-153
-26
4
-107
-7
0
0
0
0
0
0
0
-31
-175
-62
-24
61
26
-82
22
31
-39
0
0
0
0
0
0
0
-1
-16
3
7
-33
7
38
24
-1
-2
0
0
0
0
0
0
0
0
1
0
0
0
2
68
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
0
0
0
120
3
0
0
0
0
0
0
0
0
3
6
17
43
42
0
0
-26
0
0
0
0
0
0
0
0
0
0
1
59
26
94
-33
-36
14
-2
0
0
0
0
0
0
0
0
0
-3
7
25
15
31
79
69
1
0
0
0
0
0
0
0
0
0
2
6
19
-50
18
29
100
-5
0
0
0
0
0
0
0
0
0
0
-3
19
9
26
47
-30
0
0
0
0
0
0
0
0
0
0
0
-1
-13
29
69
83
10
0
0
0
0
0
0
0
0
0
0
0
1
2
-74
80
23
-5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-4
4
-8
0
0
0
0
0
0
0
0
0
-3
-2
17
54
0
0
0
-22
7
0
0
0
0
0
0
0
-1
1
-2
55
13
71
0
0
-73
6
0
0
0
0
0
0
0
0
1
0
43
63
91
26
16
-31
-23
0
0
0
0
0
0
0
0
0
8
16
32
66
-36
-15
4
15
0
0
0
0
0
0
0
0
3
0
-3
-18
66
25
26
26
-11
0
0
0
0
0
0
0
0
0
1
-2
-9
128
148
70
46
0
0
0
0
0
0
0
0
0
0
0
-4
5
29
55
82
120
0
0
0
0
0
0
0
0
0
0
0
0
-14
45
-5
31
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
25
-18
-25
0
0
0
0
0
0
0
0
0
-1
-5
10
-8
0
0
0
33
18
0
0
0
0
0
0
0
0
-1
1
24
51
56
0
0
-38
-70
0
0
0
0
0
0
0
0
3
-1
-2
1
27
53
-119
-19
68
0
0
0
0
0
0
0
0
0
0
6
14
87
5
-96
-76
-17
0
0
0
0
0
0
0
0
0
-1
-1
5
-3
87
-53
32
25
0
0
0
0
0
0
0
0
1
0
2
-6
99
-62
33
161
-10
0
0
0
0
0
0
0
0
0
0
0
5
52
48
72
45
8
0
0
0
0
0
0
0
0
0
0
1
0
4
55
87
46
1
0
0
0
0
0
0
0
0
0
0
0
-1
11
3
1
0
0
0
0
0
0
0
0
0
0
0
2
9
-74
0
0
0
80
-77
-21
91
-29
53
-1
0
0
0
11
-4
-1
-24
0
0
0
26
74
-36
17
25
8
0
0
0
0
2
2
67
-5
4
-51
-65
-6
14
22
32
-48
68
-3
0
0
2
0
-2
-7
-124
-65
40
-38
-42
-22
46
61
2
-51
0
0
0
3
-5
-2
21
-52
109
77
6
-11
-13
-124
10
36
21
9
0
0
0
0
-2
-4
44
191
42
37
119
3
28
14
143
1
2
0
0
0
0
0
15
18
88
96
65
104
-9
35
70
-33
8
0
0
0
0
0
-2
-2
45
72
71
127
-33
42
-46
-4
20
8
0
0
0
0
0
0
0
0
1
14
-2
50
1
0
0
2
1
0
0
0
9
1
18
-59
34
0
0
0
31
-60
15
32
7
-15
-1
0
-1
0
14
23
-28
20
0
0
0
91
-24
9
20
-14
7
9
0
0
0
3
-3
90
-52
54
52
35
-81
-73
53
1
-63
-21
2
0
0
0
7
8
33
16
-25
-92
-65
-36
-35
18
65
125
5
4
0
0
0
0
4
-2
32
30
-80
-27
-74
1
-21
58
20
137
-1
0
0
0
3
0
1
46
28
-80
83
-67
97
25
63
-3
97
3
0
0
0
3
-5
-2
50
-15
88
-12
41
17
-9
-14
56
97
-5
0
0
0
0
-3
14
-17
-60
33
21
92
6
51
9
-11
-43
5
0
0
0
0
0
8
1
13
-95
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
9
13
-10
0
0
0
47
26
-14
8
-22
5
3
0
0
0
1
3
-46
14
37
0
0
-20
-129
28
15
30
-13
26
0
0
-3
0
-9
11
83
166
135
-68
43
39
21
-12
-6
40
82
0
0
0
0
0
22
27
101
68
67
-104
80
63
32
41
-6
41
0
0
0
0
-4
-53
43
16
140
-55
42
-75
19
28
-7
12
13
0
0
0
0
-6
-8
-76
-46
92
92
-6
-65
13
-15
-23
-5
-28
0
0
0
0
0
-9
22
59
-44
51
34
19
22
32
88
23
115
0
0
0
1
0
-1
5
46
180
-90
-12
49
15
36
49
17
1
0
0
0
0
0
-4
-6
-1
-2
25
13
0
0
-2
-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
1
5
79
0
0
-51
-42
-152
-109
-79
8
35
0
0
0
0
-1
0
46
54
-30
-3
7
-40
-107
-92
-2
-5
-57
0
0
0
0
-1
-1
-1
46
-16
119
21
-39
-31
13
11
17
32
0
0
0
0
5
-1
-26
-24
-14
-82
-39
-36
-7
-18
21
3
37
0
0
0
0
0
-1
-3
26
-52
-56
-45
-34
41
3
0
48
-34
0
0
0
0
0
0
-14
15
-38
24
-29
6
29
58
1
9
-18
0
0
0
0
0
0
-1
-20
-21
-6
-43
38
26
-23
22
15
23
0
0
0
0
0
0
-1
-6
25
-11
-26
-41
45
13
70
25
36
0
0
0
0
-1
-1
-1
-1
-42
-42
50
-25
25
5
0
54
8
0
0
0
0
0
-4
13
-8
0
53
13
-63
-111
-3
29
-4
33
0
0
0
0
-31
-2
7
-83
32
8
0
-48
-9
-4
-23
19
52
0
0
0
0
18
-1
-1
-16
67
-73
-19
-118
-60
-25
2
-29
41
0
0
0
0
-2
9
-5
-43
49
-76
-47
4
41
-20
56
-8
37
0
0
0
0
0
-6
-8
-22
3
144
50
-47
-16
15
14
45
-7
0
0
0
0
-4
-1
0
-7
14
55
5
-11
-41
-6
44
31
31
0
0
0
0
1
15
2
-10
44
-58
44
45
5
15
15
-1
65
0
0
0
0
1
-1
1
0
-43
-67
-72
7
57
49
34
11
13
0
0
0
0
0
0
1
0
-14
-5
-16
9
32
105
-11
-5
0
0
0
0
-2
1
-35
-15
59
0
0
101
-31
4
76
99
-34
4
0
-1
-1
-3
-7
-26
18
0
-1
0
46
-42
-4
4
6
34
17
0
0
-2
-1
33
82
-69
118
123
145
-16
47
-18
5
13
5
6
0
0
0
3
0
23
-52
-94
-5
46
65
2
-18
38
75
-50
27
0
0
0
0
4
47
23
-46
-17
36
64
-2
-17
-16
67
0
-83
0
0
0
0
0
0
-47
-48
46
4
62
59
-23
-72
18
43
124
0
0
0
0
-3
6
-26
-177
-59
107
12
32
3
71
41
-2
-5
0
0
0
0
0
-2
-2
-19
-66
-4
98
91
-9
82
1
-15
45
0
0
0
0
0
0
0
0
0
-10
-3
-8
0
11
4
-4
0
0
0
0
0
0
1
4
40
0
9
78
106
-50
47
77
53
-56
0
0
0
0
-3
6
39
0
-64
0
105
129
-28
5
12
-19
5
0
0
0
-2
7
-5
36
56
139
189
13
70
44
-84
23
-20
-81
0
0
0
-1
-1
14
-47
-18
55
138
40
-24
-18
47
100
53
37
0
0
0
0
0
11
-54
-25
47
-6
-32
-67
-11
-19
16
-84
-81
0
0
0
-1
0
0
-11
5
128
-33
40
59
31
-121
-37
18
36
0
0
0
0
0
0
4
-51
-53
-70
134
-16
55
3
-48
-31
-100
0
0
0
0
0
0
0
2
-15
0
-11
62
92
53
82
-63
2
0
0
0
0
0
0
0
0
0
-1
0
-1
71
4
34
-4
1
0
0
0
0
-1
43
42
0
0
0
60
132
-72
-50
-110
-61
-13
0
0
0
0
0
58
77
6
0
-13
114
148
67
-71
-25
-63
-92
0
0
0
0
0
-2
33
76
197
35
91
-18
20
50
27
26
-14
0
0
0
0
0
-4
-41
-45
23
-34
70
48
11
-21
83
-26
15
0
0
0
0
0
5
-6
24
-88
-54
-71
-38
-6
107
106
63
-19
0
0
0
0
0
1
-1
-78
-121
-153
3
-33
-4
-5
74
15
25
0
0
0
0
0
0
-1
-74
-56
-100
53
39
23
-24
4
63
-35
0
0
0
0
0
0
0
-1
-51
-39
-13
107
-26
80
-22
-9
66
0
0
0
0
0
0
0
0
-1
0
-3
5
1
-6
33
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
0
0
0
0
0
0
0
0
0
1
-1
-15
-19
28
0
0
-92
0
0
0
0
0
0
0
0
0
0
-14
-25
-29
-57
-9
-74
-144
-8
0
0
0
0
0
0
0
0
0
1
-6
8
-137
5
-83
-35
6
0
0
0
0
0
0
0
0
0
0
2
2
62
57
-18
-14
0
0
0
0
0
0
0
0
0
0
0
1
-13
19
41
4
-23
0
0
0
0
0
0
0
0
0
0
0
0
21
-22
-62
-33
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-37
32
3
-23
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
-16
-2
-4
0
0
0
0
0
0
0
0
0
-4
1
20
-14
0
0
0
-130
0
0
0
0
0
0
0
0
-1
0
5
62
52
-47
0
0
-88
-4
0
0
0
0
0
0
0
0
0
1
3
61
-76
-48
-158
-5
26
0
0
0
0
0
0
0
0
0
-11
6
56
-46
-61
-17
83
31
0
0
0
0
0
0
0
0
0
0
4
-3
83
24
6
5
-19
0
0
0
0
0
0
0
0
0
0
-6
15
-47
-33
-38
-59
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-29
-80
-34
-38
-1
0
0
0
0
0
0
0
0
0
0
2
11
-98
17
-52
2
0
0
0
0
0
0
0
0
0
0
0
0
-56
23
-4
-3
-15
0
0
0
0
0
0
0
0
0
-2
0
1
-2
0
0
0
20
-18
0
0
0
0
0
0
0
0
0
1
5
46
-58
0
0
-87
-47
0
0
0
0
0
0
0
0
-2
0
0
19
31
-90
-101
-118
5
0
0
0
0
0
0
0
0
0
0
-1
-10
84
-25
-31
-83
-54
0
0
0
0
0
0
0
0
0
1
0
0
-34
43
-65
42
-30
0
0
0
0
0
0
0
0
0
0
0
-15
14
-48
-23
80
-15
0
0
0
0
0
0
0
0
0
0
3
20
12
-46
61
-39
-2
0
0
0
0
0
0
0
0
0
0
3
1
-16
-9
-67
-35
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
-22
0
0
0
-22
1
-6
-31
2
-5
0
0
0
0
0
0
-1
-34
0
0
0
-13
-16
-41
14
-9
0
0
0
0
0
0
-3
1
-34
-68
-117
-16
-81
-133
-155
-31
-33
0
0
0
0
0
0
4
-3
5
-71
-51
25
-27
52
-22
-30
-11
-1
0
0
0
0
0
0
0
-1
-47
-29
53
-4
-57
-54
-27
-5
0
0
0
0
0
0
0
0
-4
-50
53
-92
0
2
-52
0
-1
2
0
0
0
0
0
-3
0
1
-47
9
32
-52
2
2
0
0
0
0
0
0
0
0
0
-2
2
-59
40
25
-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
-110
0
0
0
54
4
-6
0
0
-2
0
0
0
0
-1
0
1
-123
0
0
0
60
-48
-9
3
2
7
0
0
0
0
0
0
-4
-22
5
-71
105
-43
-44
10
4
5
-2
0
0
0
0
0
0
2
27
-35
-54
9
-48
-38
-41
0
1
2
0
0
0
0
0
-1
8
-3
-144
-37
-57
-6
31
-59
-9
-15
-5
0
0
0
0
0
0
0
-4
1
-33
14
-41
0
0
1
-3
-3
0
0
0
0
0
0
0
-2
19
-88
-42
-14
3
-8
1
-27
2
0
0
0
0
0
0
0
1
56
-118
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
-102
-194
-40
-103
-27
-48
-53
0
0
0
1
-25
2
39
-73
0
0
-32
-35
-96
19
-90
-70
-32
0
0
4
0
-1
9
-13
18
-61
-34
-127
-46
-49
-50
-23
-43
-124
0
0
0
0
0
18
7
53
10
-14
7
-69
-63
-122
-117
-71
-68
0
0
0
0
0
-46
-24
-87
104
-19
39
-121
-193
-67
-62
24
-28
0
0
0
0
-4
-3
14
-58
-98
-21
-54
27
-34
-99
-26
-38
6
0
0
0
-1
0
1
20
-98
53
-93
-11
-34
-63
27
-71
-87
-2
0
0
0
-1
0
0
-33
18
-51
-26
5
18
-50
-81
-160
-41
-5
0
0
0
0
-1
8
0
-5
-10
-35
-56
-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
-9
-14
0
0
-165
-94
-149
-149
72
-31
-5
0
0
0
0
3
0
-20
-11
-17
-61
-91
-108
-119
-101
-89
-22
-12
0
0
0
0
0
0
-7
-30
5
14
-38
-85
-59
-39
-83
-18
-32
0
0
0
0
2
-1
-1
-10
-76
17
-47
7
-115
-62
-61
-87
-1
0
0
0
0
0
-3
0
-45
62
23
28
-88
-38
5
56
-14
13
0
0
0
0
0
0
-2
-47
12
-7
-32
74
-64
15
23
-18
24
0
0
0
0
0
3
0
0
-100
49
45
-20
0
49
-6
-37
-13
0
0
0
0
0
0
-2
11
-73
-39
-95
32
127
1
-8
4
1
0
0
0
0
0
0
0
-2
4
85
18
-53
-57
-78
-58
19
-1
0
0
0
0
0
-1
-11
23
0
-62
-77
-126
-272
-168
-45
-59
-44
0
0
0
1
3
4
25
7
-42
-48
0
-158
-80
-73
-25
47
-53
0
0
0
0
2
-1
-10
-50
45
30
-51
-78
-67
43
-56
-62
-3
0
0
0
0
4
-7
18
18
2
-55
-21
-38
-84
-29
-67
-75
7
0
0
0
0
0
0
-3
0
-5
-4
-4
-53
-33
-10
-37
-70
-53
0
0
0
0
0
0
5
-29
-20
38
17
-14
60
5
71
5
-38
0
0
0
0
0
-13
0
-11
-32
33
-46
28
-52
35
-9
-17
15
0
0
0
0
-6
0
-2
0
-50
50
20
-23
-99
-11
17
-40
10
0
0
0
0
0
0
0
0
16
-9
-14
-17
-46
-41
-95
-2
0
0
0
0
0
-2
34
16
-112
0
0
-69
-107
-37
-95
-49
-66
-37
0
0
0
0
-21
3
-101
0
-45
0
-109
-187
-41
13
-86
-207
-18
0
0
0
1
-8
-95
-23
-129
-41
31
-77
-72
-82
-5
-77
-101
-53
0
0
0
0
-1
18
-100
-103
-107
-33
-17
-130
-57
-88
-105
-20
29
0
0
0
0
-1
0
13
-8
71
22
-30
-105
-18
-132
-22
-32
-64
0
0
0
0
-5
-1
6
129
-104
16
-59
-28
29
-41
-27
-39
-90
0
0
0
0
9
-2
-18
-25
19
1
14
-81
-49
-23
-44
-97
-99
0
0
0
0
0
1
4
-13
-20
35
-36
23
-70
-45
-54
5
-25
0
0
0
0
0
0
0
0
20
-14
-50
-2
3
0
4
-1
0
0
0
0
0
0
0
7
-3
0
-100
-157
-131
-60
-53
-29
12
-52
0
0
0
0
0
9
5
0
-70
0
-12
-81
26
-130
-107
-59
-46
0
0
0
0
0
3
-108
29
1
-62
-63
-93
-27
-81
-97
-73
-46
0
0
0
0
2
0
-1
-164
-135
22
-26
-81
-47
-129
-25
-43
6
0
0
0
0
0
-1
0
-35
-65
-53
-71
-36
-19
38
-112
-83
42
0
0
0
0
0
0
1
-113
-74
52
6
-1
-10
-48
-36
39
-53
0
0
0
0
0
0
1
-3
-16
-14
109
-40
-36
6
-59
-50
-45
0
0
0
0
0
0
0
-1
0
14
9
24
8
-38
-60
-116
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
3
0
0
0
-23
-61
-97
-234
-127
-177
-76
0
0
0
0
0
0
1
-91
0
-62
26
-29
-72
-63
-95
-64
-78
0
0
0
0
0
0
0
-5
14
17
-147
-91
-107
-29
-48
-36
-165
0
0
0
0
0
0
-3
-25
-72
-3
-78
14
-38
-40
-3
-44
-116
0
0
0
0
0
0
1
-105
-99
-35
28
-74
-27
-83
-34
-33
-37
0
0
0
0
0
0
0
-14
-69
-5
-42
-53
-6
56
-98
-59
8
0
0
0
0
0
0
0
-21
-20
7
24
3
-15
-77
42
-76
-31
0
0
0
0
0
0
0
1
-8
0
0
31
-29
6
15
2
6
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-123
12
-16
-5
51
-3
8
0
-13
0
0
0
0
0
0
0
35
71
59
-23
-68
5
-13
81
-34
-30
0
0
0
0
0
0
0
43
56
73
-30
61
5
2
-65
14
25
0
0
0
0
0
0
0
94
45
16
24
15
-25
0
-21
6
0
0
0
0
0
0
0
0
40
109
-24
-14
3
-8
0
0
0
0
0
0
0
0
0
0
0
-33
74
157
28
49
1
4
0
0
0
0
0
0
0
0
0
0
-23
13
-97
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
100
111
38
31
0
0
0
0
0
0
0
0
0
0
0
0
0
5
52
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
24
25
26
40
14
-42
-27
35
0
4
0
0
0
0
0
0
0
116
89
66
29
-8
-21
12
10
-2
-52
-7
0
0
0
0
0
0
72
42
112
-29
41
-30
-1
178
30
0
0
0
0
0
0
0
0
54
83
-45
-17
-44
53
5
-3
-2
0
0
0
0
0
0
0
0
39
87
-36
34
-17
45
0
1
4
0
0
0
0
0
0
0
0
6
75
72
60
29
-4
1
0
0
0
0
0
0
0
0
0
0
-2
-33
58
62
32
4
0
0
0
0
0
0
0
0
0
0
0
19
48
-6
-63
45
0
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
5
96
51
99
49
-15
80
-22
0
41
2
0
0
0
0
0
0
29
80
93
-47
25
19
-81
-56
33
-12
43
0
0
0
0
0
0
14
89
69
76
-8
70
-43
-13
7
5
4
0
0
0
0
0
0
-14
77
74
11
-157
85
1
0
2
-2
1
0
0
0
0
0
0
3
32
98
82
47
11
2
-10
-2
0
0
0
0
0
0
0
0
6
36
75
-22
21
25
0
0
0
0
0
0
0
0
0
0
0
0
26
12
-24
33
-2
-1
0
0
0
0
0
0
0
0
0
0
0
6
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
-18
-19
95
-70
-36
-101
-88
-84
0
-53
-7
2
0
0
0
0
0
100
28
-57
21
-59
-62
-70
-94
-25
-2
-22
2
0
0
0
0
0
126
62
73
63
-85
-66
-159
-130
-26
-157
-34
-9
-1
0
0
0
0
24
71
166
3
19
0
-4
-5
17
-27
19
0
0
0
0
0
0
99
72
86
143
8
65
112
7
59
-6
0
-1
0
0
0
0
0
11
104
55
165
121
-20
81
57
-28
2
-1
0
0
0
0
0
0
22
-10
112
121
62
59
8
99
14
8
0
0
0
0
0
0
0
48
95
58
94
46
43
30
50
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
-25
52
-11
-54
-187
-18
-151
0
-45
0
0
0
0
0
0
0
82
-23
-30
41
-8
22
9
-99
-24
28
-7
0
1
0
0
0
0
29
33
13
-60
36
-81
-135
-53
10
36
2
-3
0
0
0
0
0
-116
1
42
54
44
-69
-1
118
-3
83
-3
0
0
0
0
0
0
68
-14
11
17
-46
76
-72
157
21
-13
0
0
0
0
0
0
0
20
3
67
-34
91
118
-49
72
-9
1
0
0
0
0
0
0
0
-6
143
61
75
19
71
32
45
17
0
0
0
0
0
0
0
0
15
60
20
22
-16
1
7
1
2
0
0
0
0
0
0
0
0
21
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
61
-28
171
61
-13
0
-80
-87
0
-15
-88
-20
22
0
0
0
0
123
10
75
81
24
28
-51
-66
-64
-39
1
2
79
71
-30
0
0
38
115
51
78
81
-19
-73
-18
-29
-35
30
-57
80
-9
-25
0
0
31
-7
52
211
67
6
18
36
53
9
-22
-54
-31
-51
14
0
0
8
5
121
69
42
133
77
76
104
25
108
-17
24
43
-2
0
0
7
4
69
75
54
85
30
93
118
23
102
-17
6
-21
3
0
0
0
84
125
150
59
3
55
111
74
12
8
2
-4
0
-1
0
0
0
45
-43
-57
28
71
34
20
90
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
-15
23
66
38
4
0
0
54
23
23
-2
-38
2
-3
0
0
-8
127
108
27
-7
-26
-31
14
-2
18
58
-1
-44
-62
0
0
0
33
24
78
44
27
-70
89
-40
-33
70
82
92
60
0
-2
0
0
26
61
-6
17
20
42
82
50
53
33
9
33
-3
0
-2
0
0
4
46
-29
79
-2
53
64
40
16
88
-19
-18
3
4
0
0
0
3
-13
18
-8
-43
22
133
50
-37
3
4
36
10
-4
2
0
0
0
-38
9
71
45
17
70
54
-15
6
14
-7
43
2
0
0
0
3
30
37
-36
-90
62
27
93
29
-44
101
18
-5
17
0
-6
0
0
0
-15
69
28
21
89
-25
-78
-24
90
31
-71
-2
-3
0
0
0
22
25
25
-18
26
-3
0
12
22
-6
1
-9
1
0
0
0
0
76
127
-3
17
1
15
26
10
10
14
-59
113
4
0
0
0
0
36
16
53
-11
-6
-3
-45
-35
-58
76
-2
0
0
0
0
0
0
-14
-2
14
13
-11
12
15
-15
46
-13
68
-22
5
0
0
0
0
68
47
25
13
28
43
74
-5
45
24
-16
-2
27
0
0
0
0
25
86
44
65
-42
61
45
16
-53
-27
-98
-11
8
-4
0
0
0
51
35
78
13
42
52
7
48
45
53
116
-58
5
0
0
0
0
6
-50
-25
87
-32
52
-2
4
-11
-85
42
-1
0
0
0
0
0
-1
-7
5
-57
78
-7
69
30
-1
0
0
0
0
0
0
-2
134
63
43
-11
-7
-17
-37
0
-91
6
32
-7
2
0
0
0
132
102
69
48
20
6
-11
-46
-33
-52
6
50
-37
-25
-4
0
0
88
2
108
54
0
32
-24
-24
-22
-4
6
88
66
-22
-18
0
0
23
23
58
19
34
48
39
18
16
-9
-15
47
86
37
0
0
0
56
10
123
-10
86
118
131
44
50
117
-52
57
54
75
-5
0
0
53
71
68
108
97
53
101
160
187
83
125
135
13
5
0
0
0
54
48
89
91
-11
23
108
67
127
-67
8
-18
-11
0
0
0
0
-2
14
-51
-20
72
47
24
64
66
15
-11
-2
0
0
0
0
0
0
-3
-2
16
10
15
34
-4
-1
-1
0
0
8
0
0
0
0
2
0
-9
-56
-27
-21
46
-6
0
-5
109
-5
-9
-1
0
0
0
110
48
26
-76
5
-7
-59
-74
-41
-79
-43
15
66
2
0
0
0
160
5
15
-17
45
-87
-35
-37
10
46
-21
-84
-2
-2
0
0
0
65
-81
8
-46
55
-18
-59
70
37
64
42
83
-2
0
0
0
0
95
-20
87
123
2
89
26
104
-2
-49
-78
2
0
0
0
0
0
35
87
-2
100
81
35
110
101
-26
63
-4
-34
-13
0
0
0
0
-5
19
-2
19
57
23
62
161
142
88
3
6
0
0
0
0
0
0
-24
-51
33
71
-41
3
107
-80
-43
-25
-1
0
0
0
0
0
0
0
7
-2
-14
0
46
16
-5
-3
0
0
0
0
0
0
0
18
92
-14
89
-1
46
1
-65
0
-52
11
-16
1
0
0
0
0
-29
-42
-43
-53
-6
38
-44
-46
50
95
21
16
4
-1
0
0
0
-21
-81
-4
3
42
32
-16
-29
-8
9
15
14
1
0
0
0
0
-58
69
10
59
104
80
-45
24
121
75
78
-1
0
0
0
0
0
18
-131
-62
8
136
50
-98
-62
156
-46
14
50
-2
2
0
0
0
-35
-33
-24
4
-15
101
30
34
50
42
-14
0
0
0
0
0
0
-1
9
15
7
90
83
61
-29
-5
-1
-46
14
0
0
0
0
0
-3
-18
17
-7
25
184
102
44
-46
25
79
0
1
0
0
0
0
0
-3
0
1
-3
69
91
98
39
37
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
11
7
-100
-57
21
-23
-53
0
0
14
0
0
0
0
0
0
0
-84
33
-10
33
-86
82
-81
-40
-39
17
0
0
0
0
0
0
0
-1
-39
-46
-44
-3
58
49
66
-48
-5
0
0
0
0
0
0
0
46
-2
63
-27
31
-3
0
-4
3
0
0
0
0
0
0
0
0
84
-47
-38
81
-31
7
-9
8
2
0
0
0
0
0
0
0
0
-24
-58
-38
-136
68
3
-7
0
0
0
0
0
0
0
0
0
0
7
-48
63
57
81
-3
0
0
0
0
0
0
0
0
0
0
0
-32
-45
0
-106
24
4
0
0
0
0
0
0
0
0
0
0
0
8
-9
-26
5
10
0
0
0
0
0
0
0
0
0
0
0
0
-33
-50
32
-14
23
5
-4
12
0
-74
1
0
0
0
0
0
0
84
52
-42
-80
-13
-45
15
-98
-18
71
11
0
0
0
0
0
0
40
-16
18
74
-53
-58
32
8
17
-64
2
0
0
0
0
0
0
11
-9
-31
-17
-100
94
22
-21
14
34
-2
0
0
0
0
0
0
-14
74
-7
-101
99
32
45
0
3
21
11
0
0
0
0
0
0
1
76
10
-88
3
-66
-5
0
-4
-4
0
0
0
0
0
0
0
-11
-33
73
-18
-22
-24
-3
0
0
0
0
0
0
0
0
0
0
-39
62
-85
57
-34
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-52
-61
-15
-117
-56
-74
-107
0
14
0
0
0
0
0
0
0
-7
55
19
-94
-5
-119
-5
53
-91
-40
-23
0
0
0
0
0
0
-86
117
52
-1
-2
19
-66
-26
14
-33
-4
0
0
0
0
0
0
-36
-16
-48
-23
-14
0
5
-4
-9
5
-1
0
0
0
0
0
0
-33
10
-19
35
59
76
2
21
0
1
3
0
0
0
0
0
0
-3
1
12
99
-31
-34
8
-5
6
0
2
0
0
0
0
0
0
-4
-32
110
39
2
-8
-2
0
1
0
0
0
0
0
0
0
0
0
15
-4
0
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
12
-70
-80
-77
-75
-176
-173
0
-73
4
-3
0
0
0
0
0
27
-55
20
-75
-47
-112
-62
-185
-78
-209
-90
2
-3
0
0
0
0
-147
-14
8
56
-80
-125
-120
-55
4
-10
-35
-5
0
0
0
0
0
20
-19
-51
29
-48
-199
-29
-114
-74
-56
-2
0
0
0
0
0
0
6
80
41
100
25
-30
12
1
-137
-20
0
-8
0
0
0
0
0
20
35
107
17
62
-14
-21
-154
14
3
0
1
0
0
0
0
0
-17
-24
48
14
-52
-19
-36
-8
-5
-4
-1
0
0
0
0
0
0
-6
-64
7
31
-16
14
-5
-10
-27
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-10
-78
-43
16
-25
6
-79
-102
0
-8
-2
0
0
0
0
0
0
24
-51
-26
53
-35
-125
-30
-210
-105
-111
0
0
-1
0
0
0
0
1
-101
-60
-49
-43
-105
6
-49
5
-15
0
0
0
0
0
0
0
5
-23
-10
-32
-29
11
-9
-33
90
-4
0
0
0
0
0
0
0
18
-44
46
-43
-27
-4
-45
-27
0
5
0
0
0
0
0
0
0
-24
10
-37
-102
-17
4
-9
-1
-1
2
0
0
0
0
0
0
0
-4
-30
-56
45
14
4
1
0
0
0
0
0
0
0
0
0
0
-11
29
24
15
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
57
-93
57
-57
3
-60
-183
-164
0
-62
-52
69
-49
34
0
0
0
-69
55
127
-9
-15
-3
-121
-166
-112
-87
17
-1
49
-55
72
0
0
-89
97
66
40
23
-44
-122
-73
-74
-95
-75
14
110
49
-15
1
0
-37
106
-3
7
10
16
9
23
33
50
-8
70
16
-8
33
0
0
68
-7
3
85
85
47
7
91
103
36
10
80
-20
32
0
0
0
91
-12
58
-8
31
14
106
36
31
122
-11
-10
-7
21
4
0
0
-5
-6
-23
45
29
96
102
65
71
62
-8
36
1
0
-2
0
0
4
-73
16
74
32
32
41
65
13
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
34
46
-10
-57
-73
-81
-125
0
35
-73
-57
21
-14
-12
-5
0
0
50
-14
-84
-145
-29
5
-142
-54
-21
57
13
-15
26
18
-5
0
0
-45
44
-166
-71
27
-73
-80
-27
-38
36
-48
-33
4
3
3
0
0
-11
47
57
-51
-44
-57
-58
18
21
-25
30
-65
13
-1
-2
0
0
23
90
-49
-77
-89
70
29
9
61
4
-44
9
34
4
-1
0
0
-39
49
-122
-23
-82
-42
-40
-15
-46
-18
16
-19
-10
2
4
0
0
0
99
-91
-114
-98
40
-80
15
-16
-5
-54
53
62
1
-4
0
0
-31
-34
19
-20
-49
29
10
-55
-14
-26
-13
-1
-6
-50
0
1
0
-4
3
-8
-78
-89
13
86
-67
50
-23
12
14
68
-7
-11
0
0
0
22
12
-37
-3
-21
-47
0
-23
11
-21
-55
28
4
0
0
0
0
52
14
-41
-31
-43
-58
-17
-40
-11
-69
19
82
-42
-6
0
0
0
7
21
-23
-37
-45
-38
-62
7
12
-4
-14
-48
-19
0
0
0
0
34
5
-17
-48
-35
4
25
-2
-16
-6
-82
-1
3
0
0
0
0
-16
-87
-62
-68
-38
-28
19
-31
0
-67
9
20
-1
0
0
0
0
14
3
-16
-71
-35
-16
-25
31
-77
-44
62
-13
-9
0
0
0
0
-16
-36
-36
-74
-33
-41
42
1
5
-177
-10
-19
-1
0
0
0
0
-2
112
-29
-39
-81
43
-37
-40
-28
56
14
-16
0
0
0
0
0
6
17
-35
-6
-5
47
9
-6
-1
1
0
0
0
0
0
27
34
100
49
53
-88
-96
-149
0
-77
-15
-62
-40
35
0
0
0
15
10
86
-14
-27
-31
-93
-146
-81
-59
-49
-42
-1
70
92
0
0
61
58
122
79
19
13
-74
-98
-39
-19
-43
42
-101
45
-11
0
0
72
41
41
88
-42
-7
-12
-5
15
-29
5
23
71
59
2
-2
0
20
65
71
81
-45
13
60
60
51
43
-76
-8
-44
6
-2
0
0
81
73
90
-12
127
74
40
21
66
9
-55
31
-8
-18
1
0
0
-55
99
8
109
-15
32
55
38
84
45
-35
-6
-8
-5
0
0
0
3
30
47
-33
15
-91
1
-38
-18
61
-1
0
-1
0
0
0
0
0
-5
1
-46
8
16
-41
4
-1
-6
0
0
0
0
0
0
0
-12
-69
-28
-127
-159
-112
-62
-203
0
-83
55
-24
2
0
0
0
0
19
-59
-31
-12
-41
-155
-84
-186
-119
-71
-13
-81
-94
0
-1
0
0
71
-67
27
13
-74
-87
-95
-100
-20
-128
-52
26
0
-1
0
0
0
3
-77
71
15
-105
-20
-108
14
-86
-97
-43
-54
1
0
0
0
0
-62
-102
53
-37
-45
-129
-26
29
-44
-99
-96
-19
-1
0
0
0
0
25
-19
-6
-15
-53
-27
-24
11
-13
-39
-19
17
0
0
0
0
0
-2
35
72
-21
-100
22
-50
-42
72
90
-4
-4
0
0
0
0
0
0
-18
29
-33
-55
-17
0
14
-17
35
19
0
0
0
0
0
0
0
-1
15
0
17
-9
27
52
0
-1
1
0
0
0
0
0
0
-23
-49
-32
-7
-148
-149
-109
-119
0
-80
22
-43
0
0
0
0
0
-5
-124
-47
-62
-93
-86
-93
-87
-46
46
45
-66
0
0
0
0
0
-30
-62
-35
-109
-252
8
-57
-147
14
-34
-60
-32
0
1
0
0
0
-53
-125
48
-69
-61
-51
-130
-47
53
-72
-9
-4
0
0
0
0
0
-6
-168
-42
-52
19
-5
-73
-162
-21
-65
-90
-37
3
0
0
0
0
1
-81
-43
50
31
-3
-56
-47
21
-30
22
2
1
0
0
0
0
-3
-85
-49
-51
-62
-55
-21
0
-78
-32
-26
3
0
0
0
0
0
0
8
-1
33
51
33
95
21
80
-43
14
-3
-2
0
0
0
0
0
0
-3
0
7
-5
21
-59
190
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
0
0
0
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
28
-83
-109
-18
4
0
0
0
0
0
0
0
0
0
0
50
36
78
-22
-50
-104
72
0
0
0
0
0
0
0
0
0
0
99
76
88
4
-21
-22
4
0
-1
0
0
0
0
0
0
0
0
90
80
0
45
33
0
0
1
1
0
0
0
0
0
0
0
0
-56
53
25
62
75
-2
0
0
3
0
0
0
0
0
0
0
0
21
9
47
12
-14
-8
1
0
0
0
0
0
0
0
0
0
0
-27
37
109
123
46
-1
0
0
0
0
0
0
0
0
0
0
0
2
-34
-55
68
-2
2
0
0
0
0
0
0
0
0
0
0
0
81
50
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
79
5
92
28
34
9
0
0
0
0
0
0
0
0
0
0
93
34
53
20
-9
28
-17
0
0
0
0
0
0
0
0
0
0
66
-51
24
-10
11
24
-1
2
0
1
0
0
0
0
0
0
0
107
25
4
38
-46
26
17
-1
0
0
-1
0
0
0
0
0
0
15
59
105
-32
-17
-44
5
-1
-1
0
0
0
0
0
0
0
0
49
56
33
-9
108
2
-5
1
0
0
0
0
0
0
0
0
0
45
60
133
-14
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
73
0
5
-43
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-33
-15
15
0
0
0
0
0
0
0
0
0
0
0
0
20
16
36
0
-33
-58
-13
0
0
0
0
0
0
0
0
0
0
63
22
47
101
-40
-5
-13
0
0
0
1
0
0
0
0
0
0
63
99
-39
86
25
-39
-6
2
-2
-3
2
0
0
0
0
0
0
48
46
-23
-20
4
37
8
0
0
2
0
0
0
0
0
0
0
3
28
49
-94
16
-30
2
0
0
0
0
0
0
0
0
0
0
2
43
52
9
-51
1
1
0
0
0
0
0
0
0
0
0
0
33
94
9
142
32
5
0
0
0
0
0
0
0
0
0
0
0
0
35
5
92
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
33
101
28
62
-45
-141
-79
0
0
0
13
1
0
0
0
0
0
7
-7
13
70
-53
-23
82
0
0
0
49
1
0
0
0
0
0
70
-56
145
-49
-53
-14
23
-4
102
93
-53
4
5
0
0
0
0
42
16
94
45
40
-53
36
14
-22
-17
-25
0
0
0
0
0
0
-24
1
114
90
53
67
0
28
-10
-55
-6
3
0
0
0
0
0
28
25
52
154
-58
-33
117
99
221
-36
-7
0
0
0
0
0
0
83
19
29
105
-23
160
34
204
76
-27
0
0
0
0
0
0
0
6
11
156
27
-71
-102
4
18
39
1
-1
0
0
0
0
0
0
32
18
10
44
15
9
0
0
-3
0
0
0
0
0
0
0
0
53
-34
-44
77
-81
-103
22
0
0
0
-3
10
0
0
0
0
0
97
42
81
51
-84
-12
-69
0
0
0
17
0
0
0
0
0
0
-47
32
-22
-45
-87
-8
-76
-75
28
83
6
0
0
0
0
0
0
23
14
-13
-29
88
77
-37
-30
-43
42
19
-1
0
0
0
0
0
14
-8
-62
166
81
161
51
113
23
78
13
4
0
0
0
0
0
-39
-8
-3
23
109
88
-4
41
35
23
-4
-2
0
0
0
0
0
-71
-43
50
92
185
130
75
35
-75
73
-2
1
0
0
0
0
0
34
51
-3
77
53
48
23
-99
-21
17
0
0
0
0
0
0
0
74
103
-3
26
-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
-3
-6
-107
-16
-36
-83
-112
0
0
0
1
-53
10
-32
-8
1
0
46
110
146
32
73
-82
-26
0
0
0
27
-77
-33
19
7
-1
0
145
63
73
102
63
-13
-58
1
-27
64
-55
-90
-33
130
-18
1
0
73
80
243
-27
49
69
-26
-40
-49
-31
-78
-24
49
0
-20
0
0
9
-39
129
111
77
89
74
29
4
53
82
-23
-7
-6
7
-6
0
58
91
57
122
-18
57
58
47
78
9
68
-31
15
6
0
0
0
-6
34
98
22
74
33
54
54
32
-72
-42
0
3
-2
2
0
0
8
-9
62
-47
22
-47
22
73
12
-47
14
-3
0
1
-15
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
47
56
-58
-74
26
0
0
0
44
-38
-3
-45
-14
-98
55
0
-21
-14
-3
-27
-35
-63
0
0
0
61
27
52
-116
-98
31
43
0
-1
-80
35
38
-1
-37
-10
-13
5
1
4
45
-19
-11
6
22
0
-14
-43
34
3
39
-33
7
62
60
0
10
22
-107
-53
-17
5
0
-10
-87
19
54
-52
10
137
0
-15
-38
-1
68
5
-39
-60
0
0
3
-27
142
76
70
50
1
31
6
22
64
5
48
-27
6
0
0
0
9
56
52
34
161
60
-27
41
18
-6
-33
100
-7
-67
-10
0
-1
-13
-27
77
-8
79
88
59
21
18
30
-118
-34
27
-11
-9
0
0
14
22
53
16
10
83
17
31
54
41
16
-85
-107
-21
-72
0
0
9
79
6
-58
76
0
0
0
-8
6
-33
-83
-7
-37
1
0
0
-58
45
-25
34
6
0
0
0
13
-92
-16
-17
-6
49
-20
0
0
-116
-81
71
29
-67
-2
-21
7
-54
27
46
-37
23
-15
0
0
0
7
14
3
-11
-10
-70
-3
7
-51
-10
-6
-2
6
-17
0
0
0
-52
71
-1
-2
102
-29
30
-9
-30
67
16
-32
-61
53
-4
0
0
73
13
-2
-29
-38
10
17
-8
14
41
-51
-13
33
-29
-34
0
0
-46
110
74
-70
-17
41
78
56
8
-92
-5
-61
13
-42
20
0
0
-1
-20
-18
8
-34
-1
72
42
15
70
24
58
0
82
5
0
0
14
45
-33
31
56
-24
-1
-24
-2
0
0
4
0
0
0
-150
48
57
2
-23
-92
-10
0
0
0
-17
41
-11
-44
-1
0
0
13
9
109
70
-4
-155
-33
0
0
0
-1
13
-21
32
-3
-1
0
-19
104
80
116
3
25
11
-115
61
-101
59
18
-10
-3
2
0
0
49
26
90
55
99
0
67
-79
-14
-83
15
21
-95
-55
-5
0
0
-77
80
47
-53
38
91
1
6
44
14
107
-33
-5
-46
14
-2
0
-98
119
54
17
94
28
128
90
36
98
36
-1
-4
5
7
0
0
-43
102
51
4
69
-2
73
129
90
46
2
-8
0
0
-2
-1
-1
89
69
84
30
-45
103
6
101
57
-18
2
-3
0
1
18
0
0
0
-7
1
-20
69
2
4
4
-2
-1
3
-2
0
0
0
0
0
-29
102
4
2
-4
-43
-43
0
0
0
-19
20
0
0
0
0
0
110
100
30
-16
31
-122
-16
0
0
0
-10
-131
-3
0
0
0
0
143
112
169
67
-24
-14
-79
77
11
63
-59
49
0
0
0
0
0
-22
19
100
108
11
-43
-43
51
-50
-48
22
-29
-1
0
0
0
0
-13
-43
-53
70
-49
34
-20
75
29
-135
-18
2
7
-1
0
0
0
63
-29
128
98
126
-23
25
22
-7
-76
-31
23
-3
0
0
0
0
99
21
11
58
57
74
54
22
-74
-42
23
0
0
0
0
0
0
-18
27
23
52
76
37
83
85
-21
-21
-5
0
0
0
0
0
0
1
-1
-1
-4
43
-1
75
44
-3
3
0
0
0
0
0
0
0
-23
68
-57
-26
35
-55
48
0
0
0
175
-8
-3
0
2
0
0
-62
-10
-83
-4
-45
-29
28
0
0
0
73
-17
-122
-9
0
0
0
88
15
-1
66
38
-71
-7
30
62
115
17
-56
23
6
-1
0
0
-46
20
0
47
-54
-16
-31
-99
-5
-13
25
41
3
4
0
-3
0
71
-83
24
52
95
19
-24
-76
-31
51
66
-12
7
-3
-2
0
0
81
-40
-47
53
71
127
49
33
17
37
-14
-20
-4
1
0
0
0
-31
-11
-16
20
17
122
117
27
26
22
-39
-20
3
-7
0
2
0
1
44
-9
76
36
146
107
25
-25
40
-77
1
1
1
0
0
0
10
-14
0
1
4
7
14
20
122
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-54
-32
-4
-1
0
0
0
0
0
0
0
0
0
0
24
-78
46
-89
-53
-47
-36
0
0
0
0
0
0
0
0
0
0
14
-59
-24
-42
64
7
1
0
0
0
0
0
0
0
0
0
0
7
-53
-52
-81
-30
-17
0
0
1
0
0
0
0
0
0
0
0
-17
-23
4
-30
-4
6
1
0
0
0
0
0
0
0
0
0
0
59
65
-33
-72
15
4
0
0
0
0
0
0
0
0
0
0
0
9
-57
54
14
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
46
-84
-17
-3
1
0
0
0
0
0
0
0
0
0
0
0
-45
-4
24
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
65
45
9
-24
43
-14
0
0
0
0
0
0
0
0
0
0
0
-52
30
-94
-53
-114
-11
-7
0
0
0
0
0
0
0
0
0
0
55
-18
-36
-84
-85
-21
10
1
-1
0
0
0
0
0
0
0
0
5
-5
-103
-14
67
15
-11
0
-2
-1
0
0
0
0
0
0
0
37
37
-56
-102
15
-45
-2
0
-4
0
0
0
0
0
0
0
0
54
-63
-70
-55
-38
-24
3
0
0
0
0
0
0
0
0
0
0
0
15
-13
-76
-65
-7
0
1
0
0
0
0
0
0
0
0
0
0
-85
69
-71
-14
0
6
0
0
0
0
0
0
0
0
0
0
-3
7
61
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
-11
19
5
3
-84
-130
0
0
0
0
0
0
0
0
0
0
0
106
-2
-59
12
-63
-81
-19
0
0
0
0
0
0
0
0
0
0
-33
40
72
-42
-33
-86
-2
0
1
0
4
0
0
0
0
0
0
3
25
-47
-38
-18
-3
3
0
-1
0
0
0
0
0
0
0
0
-14
17
41
-146
-66
3
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-120
-14
38
2
0
0
0
0
0
0
0
0
0
0
0
-1
58
-79
67
-20
2
0
0
0
0
0
0
0
0
0
0
0
-11
-4
-50
-34
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
-2
-3
-16
-218
27
-86
0
0
0
0
-2
0
0
0
0
0
0
21
70
58
-114
-59
-137
0
0
0
0
0
0
0
0
0
0
34
-14
33
-34
-21
-40
-141
-149
-102
-4
0
0
0
0
0
0
0
27
25
-37
-34
-78
-110
-40
-19
-6
-1
0
0
0
0
0
0
0
-21
-52
35
-62
-45
-19
-19
-21
0
-2
6
0
0
0
0
0
0
2
-16
-29
-7
-27
53
-5
0
2
-1
0
0
0
0
0
0
0
-2
-59
87
-48
-5
5
-7
7
-1
-2
0
0
0
0
0
0
0
0
-33
-80
3
-6
4
1
0
0
0
0
0
0
0
0
0
0
0
25
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-16
-34
-63
-43
-17
-33
0
0
0
0
0
0
0
0
0
0
-49
-34
-5
-24
-11
-61
-39
0
0
0
3
0
0
0
0
0
0
-11
-41
53
-61
-7
-71
-17
-27
-2
-10
0
0
0
0
0
0
0
12
-31
-22
48
-49
-33
-31
-81
7
-16
0
0
0
0
0
0
0
-54
5
59
39
-43
5
56
9
-44
3
0
0
0
0
0
0
0
-47
-1
25
35
-46
24
0
-47
-1
-4
0
0
0
0
0
0
0
3
-4
-41
-26
-14
5
1
0
0
0
0
0
0
0
0
0
0
1
51
-43
-11
2
-1
0
0
-3
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-5
-82
-204
-216
0
0
0
-128
-68
3
-2
0
-1
0
43
-20
35
-16
-15
-78
-223
0
0
0
-118
-89
-76
10
-73
-5
0
60
-22
219
28
-80
-184
-202
-159
-142
-139
-53
-57
-85
-30
2
0
0
53
90
79
48
-25
-40
-75
-122
-90
-96
-66
-51
13
-56
-2
0
0
-8
-39
-43
-50
27
-49
77
2
7
12
-13
5
-33
0
0
3
0
-76
-27
-77
-87
24
-22
9
-16
12
71
-9
43
-6
1
0
-3
0
-1
35
61
-63
11
-32
-48
-15
7
-2
50
-3
0
-1
0
0
0
-23
44
15
18
-37
-2
-15
-53
-20
10
-2
0
-7
0
0
0
0
-2
-2
2
19
3
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
-15
22
-34
-139
-226
-55
0
0
0
26
24
66
-12
15
-23
-64
0
15
-51
-118
-109
-150
-202
0
0
0
19
-13
-8
-62
37
47
-74
0
-27
-8
-13
-78
-117
-61
18
-71
-76
-14
-27
-64
-70
-81
36
-5
0
-34
-43
-23
-5
-157
-46
-91
-35
-32
-53
-15
-4
-31
9
-47
-13
0
-23
-6
-51
-90
-42
-53
-17
-13
-31
-9
-49
-41
-12
-23
66
2
0
-2
-23
-51
-21
-3
-59
4
-15
-36
-26
-7
15
-51
1
-30
-5
0
0
-69
-94
34
-26
-86
-8
-19
-18
6
-9
80
-41
-107
20
-28
0
0
-27
-39
78
-51
69
46
60
15
10
19
-31
-9
22
-16
3
0
0
-21
-29
20
13
71
-9
32
25
4
-5
37
-58
-46
-21
16
0
0
-72
-39
-79
-135
-136
0
0
0
-25
-30
13
16
-44
-3
0
0
0
-68
-21
-42
-53
-137
0
0
0
-21
-32
-48
-32
12
24
-72
0
0
-32
-61
54
-85
-63
-113
-56
2
55
14
-54
49
-79
5
-9
0
0
-112
62
-90
0
-162
-80
-18
-42
-49
-15
41
6
1
-4
0
0
0
4
-14
-71
-28
-30
-19
30
-19
48
-28
-131
-46
16
-17
-17
0
0
4
-34
-19
-54
-56
-34
-18
7
-45
52
-3
20
26
-54
11
0
0
-1
-27
-42
18
52
-7
-13
9
-25
17
19
-59
-23
0
-67
0
0
-11
-51
50
-112
-31
-42
39
-39
39
-9
43
-61
36
-17
-17
0
0
-5
-63
10
-18
-113
18
9
-2
1
-1
0
-1
0
0
0
53
-100
-20
-63
-50
-136
-174
0
0
0
-165
-15
-50
15
0
0
0
11
71
22
4
-92
-187
-250
0
0
0
-201
-52
-48
5
17
-4
0
-52
5
-33
-7
-77
1
-93
-149
-178
-204
-90
-61
-28
-67
-5
0
0
-68
-50
-61
-57
-109
-9
-30
-24
-42
-90
-50
-83
-68
13
-23
0
0
-52
-128
43
-16
-35
15
5
4
-6
-90
-100
-8
-67
-13
-14
0
0
0
94
14
87
-57
-7
128
84
36
12
-65
0
0
0
0
0
0
16
-2
-43
115
-33
-11
-68
59
75
-82
6
-46
-17
0
0
-2
0
-8
-95
-59
24
-70
-37
-17
-51
-28
-6
4
-4
-1
-5
1
0
0
0
-2
-8
26
-5
0
-2
0
0
2
0
0
0
0
0
0
0
48
-48
-35
23
-88
-95
-185
0
0
0
-13
-37
-1
0
0
0
0
-97
-163
-7
-1
-140
-59
-290
0
0
0
-52
0
3
-1
0
0
0
64
14
44
-97
-65
-62
-178
-34
-130
-91
-62
1
-4
-1
-1
0
0
-15
-19
-92
-2
-67
-15
-108
-80
20
-56
-100
2
0
0
0
0
0
-17
-62
-4
23
-104
-79
42
-32
-22
-87
-9
-15
0
0
0
0
0
-18
-14
-24
-86
-42
-3
-5
57
-22
-42
-13
2
0
0
0
0
0
-1
-1
3
46
22
17
43
-32
-43
-7
1
1
0
0
0
0
0
0
7
24
25
3
0
-74
-62
-5
7
-1
-2
0
0
0
0
0
0
0
0
-1
7
0
3
-2
2
-9
0
0
0
0
0
0
0
-4
21
-13
9
8
-89
-70
0
0
0
51
-35
2
3
0
0
0
7
-15
-64
-128
-87
-58
-134
0
0
0
-3
-66
-10
1
0
0
0
4
-142
-14
-27
-61
9
-185
-203
-175
-150
-148
-22
-21
2
3
0
0
3
-85
-23
-61
-44
-84
2
-16
-60
-83
4
13
5
-3
0
0
0
2
33
7
8
-28
-7
-110
-146
-102
-36
11
-45
7
0
0
0
0
4
-14
-7
-20
-141
23
18
-69
-111
12
-140
-7
-6
0
0
0
0
0
-10
-1
-14
-34
31
42
49
-72
-129
-44
7
0
0
0
0
0
0
-3
4
-4
43
36
-10
-15
86
-20
13
0
1
0
0
0
0
0
0
0
0
-1
0
-1
4
2
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
-1
1
18
0
0
0
54
0
0
0
0
0
0
0
0
0
5
-5
49
33
73
0
0
137
1
0
0
0
0
0
0
0
0
-7
1
9
1
-14
-20
94
-2
0
0
0
0
0
0
0
0
0
0
0
53
21
-25
93
80
49
1
0
0
0
0
0
0
0
0
0
0
-1
-17
23
23
-21
-23
0
0
0
0
0
0
0
0
0
4
-3
4
-11
-43
57
26
-1
0
0
0
0
0
0
0
0
0
0
1
5
-21
-22
20
37
-24
0
0
0
0
0
0
0
0
0
0
0
1
-1
5
8
-53
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-23
2
0
0
0
0
0
0
0
0
1
1
0
75
64
0
0
0
-13
0
0
0
0
0
0
0
0
-1
1
31
20
67
83
0
0
142
5
0
0
0
0
0
0
0
1
3
16
-7
139
20
-20
40
-38
-1
0
0
0
0
0
0
0
0
13
17
60
40
38
99
22
-15
-9
0
0
0
0
0
0
0
-4
-3
0
41
0
-25
-24
-7
-14
-2
0
0
0
0
0
0
0
-3
0
1
-6
-34
8
89
-11
28
-2
0
0
0
0
0
0
0
0
0
-2
-2
-80
11
-6
43
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-12
9
-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
1
3
47
0
0
0
42
-80
0
0
0
0
0
0
0
0
0
9
-14
9
69
0
0
43
0
0
0
0
0
0
0
0
0
0
0
4
80
52
32
-54
37
4
0
0
0
0
0
0
0
0
0
-2
16
23
37
93
54
43
-8
-1
0
0
0
0
0
0
0
2
4
4
3
36
3
71
34
-82
2
0
0
0
0
0
0
0
3
5
-1
5
7
48
113
-68
-3
-4
0
0
0
0
0
0
0
-3
3
4
-15
44
-64
70
4
10
0
0
0
0
0
0
0
0
0
0
0
-3
78
62
-1
26
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
76
0
0
0
117
79
3
15
-25
-11
0
0
0
0
3
5
41
73
0
0
0
121
-18
19
5
-90
71
-13
0
0
0
1
-3
-22
25
13
-27
109
119
71
38
-11
-33
-33
33
0
0
0
6
-7
22
-5
33
78
39
-43
45
-25
-63
-9
66
1
0
0
-8
-3
-6
14
128
71
77
171
29
99
-15
9
-62
33
0
0
0
0
-2
-3
-13
-34
7
98
55
71
32
45
-78
7
43
0
0
0
0
0
2
-7
-11
43
-71
16
2
-75
17
-10
-8
-11
0
0
0
0
0
0
-4
-19
-4
5
-26
20
-43
-1
24
-39
0
0
0
0
0
0
0
0
0
-1
8
3
-1
0
2
14
-24
36
0
0
0
0
0
6
33
36
0
0
0
127
66
49
8
-33
15
0
0
0
5
1
3
45
26
0
0
0
138
66
-65
41
27
53
1
0
0
0
-2
3
52
-45
24
-68
56
-60
100
18
-85
21
-62
-4
0
0
-4
0
-1
19
11
16
-11
-68
-20
-14
-62
24
-46
71
4
0
0
0
-1
0
-3
22
32
33
-39
-7
32
71
-44
56
-8
-4
0
0
0
1
0
0
25
-50
-56
-53
-59
-27
-5
72
-73
18
0
0
0
0
0
-1
0
11
43
-45
-21
0
-46
-44
32
6
3
0
0
0
0
0
0
-2
3
58
-45
8
17
-3
-6
-11
0
0
0
0
0
0
0
0
0
4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
98
0
0
0
21
4
-4
32
-22
-41
-42
0
0
1
0
78
92
77
35
0
0
92
94
74
25
-33
-16
-6
0
1
-1
2
11
118
71
119
119
56
69
76
14
26
-7
-25
-19
0
0
-2
-7
-1
11
39
99
17
17
79
82
62
18
14
-6
11
0
0
0
6
-44
33
18
67
4
108
126
123
53
45
-6
19
-114
0
0
0
0
-6
2
15
33
35
66
86
89
46
39
-27
-15
-1
0
0
0
-15
-6
-33
-42
145
-33
81
-38
91
43
58
-39
-23
9
0
0
0
3
11
-14
5
69
-54
82
88
-53
6
9
62
34
3
0
0
0
0
0
0
0
2
1
-1
1
-6
1
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
75
21
-32
62
49
21
25
0
0
0
0
14
-1
-1
-47
75
79
126
44
51
-12
-47
29
-4
0
0
0
0
0
-2
5
96
21
31
136
78
-51
38
7
6
33
0
0
0
0
0
-10
-19
-28
-21
18
5
108
15
27
7
32
21
0
0
0
0
-8
3
-14
41
29
14
-95
11
153
-7
67
-4
10
0
0
0
7
0
-3
20
-17
-23
81
61
78
37
-17
-8
-2
38
0
0
0
-2
0
-2
48
74
12
-34
52
32
64
115
44
137
66
0
0
0
0
0
0
-35
-18
-37
-27
-24
59
5
65
12
31
-5
0
0
0
0
0
0
0
4
52
-21
-41
93
-3
112
-21
4
14
0
0
0
0
1
-63
14
-6
0
55
-4
-21
27
-4
9
13
29
0
0
0
-1
-5
73
28
-75
-28
36
0
32
39
11
-17
-13
-34
0
0
0
0
-3
-6
-29
40
68
61
20
18
-21
74
-39
-32
-28
0
0
0
0
-21
-4
60
21
71
93
-34
-23
45
28
76
44
47
0
0
0
0
14
-16
12
38
38
86
43
47
-22
21
-1
127
23
0
0
0
3
19
15
0
-47
93
72
102
14
76
82
91
21
-11
0
0
0
0
0
-10
-34
81
-16
-20
20
80
20
-51
17
2
53
0
0
0
0
14
0
33
13
-5
41
-27
-37
22
-1
-106
36
28
0
0
0
0
0
2
-6
4
-19
0
43
-19
94
14
4
-9
0
0
0
0
-8
20
100
18
74
0
0
63
29
18
2
5
5
26
0
0
0
5
13
38
-1
0
40
0
42
64
53
6
31
-8
-17
0
0
3
-2
-20
70
87
59
83
49
9
94
-12
-20
14
20
-23
0
0
5
1
15
25
28
42
94
118
54
75
49
62
22
-7
-60
0
0
0
-4
-13
-44
-7
69
125
48
16
99
68
103
15
72
-11
0
0
0
4
-13
-1
126
-38
-53
9
12
-11
-33
-20
94
-18
74
0
0
0
0
12
-17
7
-11
18
56
24
96
56
-110
-17
34
-30
0
0
0
0
-1
33
44
-85
7
-14
119
40
121
-5
70
86
-3
0
0
0
0
0
0
10
0
-3
-7
36
-5
-27
56
43
4
0
0
0
0
0
2
19
-16
76
0
77
60
126
-1
43
22
-18
48
0
0
0
0
-2
-6
120
0
47
0
97
21
87
64
84
104
-36
0
0
0
0
0
-10
-4
82
34
30
-10
-25
-36
125
68
138
39
0
0
0
0
0
8
-15
-6
34
14
125
-94
-47
87
57
-14
41
0
0
0
0
1
-2
-7
11
-13
43
-49
-15
8
-31
88
-39
62
0
0
0
1
0
0
-13
-65
-50
-5
29
55
-10
-15
75
53
-34
0
0
0
0
0
0
-4
-14
-47
-155
99
-29
113
33
6
11
2
0
0
0
0
0
-11
0
1
1
-6
8
-25
42
7
-6
62
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-13
-13
5
0
0
0
0
0
0
-6
43
0
0
0
292
116
61
49
-38
-38
7
0
0
0
0
0
-1
89
101
0
146
87
110
128
-20
40
43
66
0
0
0
0
0
0
-7
95
108
50
60
99
39
5
45
97
33
0
0
0
0
0
0
11
2
-7
-13
29
14
14
-25
49
69
43
0
0
0
0
0
0
-6
-80
-58
-69
-49
-52
-43
35
-26
32
49
0
0
0
0
0
-2
5
35
-172
-21
39
-12
88
-19
50
67
-5
0
0
0
0
0
0
0
-48
-107
-16
-62
-41
-17
43
9
-41
86
0
0
0
0
0
0
0
0
-11
3
44
32
-59
-92
-4
-102
4
0
0
0
0
0
0
0
0
0
0
0
1
3
29
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
2
1
-5
0
0
0
-56
0
0
0
0
0
0
0
0
0
-2
-9
-37
77
48
0
0
-25
-9
0
0
0
0
0
0
0
-1
-8
0
7
-23
-75
-24
-53
-79
2
0
0
0
0
0
0
0
0
0
-16
-13
-37
84
54
-74
132
5
0
0
0
0
0
0
0
0
0
0
-3
1
-3
-3
-133
14
0
0
0
0
0
0
0
0
3
-7
0
1
-4
14
-66
-44
-82
-8
0
0
0
0
0
0
0
0
-1
0
-5
4
4
22
-21
15
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
105
-46
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
27
6
0
0
0
0
0
0
0
0
-2
-2
-10
-6
2
0
0
0
-165
0
0
0
0
0
0
0
0
-3
-14
14
-19
-62
59
0
0
-62
15
0
0
0
0
0
0
0
0
0
-2
-18
45
-26
15
-26
-88
15
1
0
0
0
0
0
-1
1
5
-22
1
-81
71
-94
39
-36
9
0
0
0
0
0
0
0
6
7
15
27
-5
-11
22
-34
-48
-33
0
0
0
0
0
0
0
6
-1
-2
-17
-11
-3
72
-109
-31
2
0
0
0
0
0
0
0
2
6
2
3
5
-23
58
-69
0
7
0
0
0
0
0
0
0
0
-3
0
1
23
44
37
28
-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
51
0
0
0
-97
32
0
0
0
0
0
0
0
0
0
-13
27
-18
47
0
0
-34
10
0
0
0
0
0
0
0
0
0
6
-25
-6
-24
-5
-1
-45
-66
1
0
0
0
0
0
0
0
0
22
-26
22
50
-105
126
9
-27
-1
0
0
0
0
0
0
0
1
0
-14
17
122
-64
11
-45
-18
1
0
0
0
0
0
0
0
1
-10
0
-27
-7
67
-85
-83
-35
0
0
0
0
0
0
0
0
-2
-2
5
-1
-5
9
-54
-42
-33
0
0
0
0
0
0
0
0
-1
-4
-2
2
-83
8
-53
9
-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
39
0
0
0
20
5
18
14
-46
-60
-1
0
0
0
-3
17
9
17
0
0
0
-124
-92
-125
41
-26
-79
7
0
0
0
-1
0
33
-11
-77
-56
-154
-3
-91
-273
-6
7
-18
-7
0
0
0
0
4
-10
-88
-17
-58
-60
-63
-41
-66
-23
-76
-59
0
0
0
0
0
-3
4
17
25
44
31
51
-41
-89
-74
-39
10
0
0
0
0
0
2
-5
-37
-114
51
-6
-62
-2
-76
-109
-41
8
0
0
0
0
0
0
5
-6
-7
52
49
-20
-50
24
-18
-2
-7
0
0
0
0
0
0
2
0
-3
14
116
5
6
-3
0
1
0
0
0
0
0
0
0
0
0
-1
17
1
0
0
-9
-1
0
-13
0
0
0
0
0
0
-9
-7
0
0
0
-19
2
-6
0
-3
-5
0
0
0
0
0
10
-18
20
0
0
0
38
-33
-5
2
-10
-1
0
0
0
0
0
0
37
-55
-74
-14
-69
-53
-4
17
-52
25
3
0
0
0
0
0
0
-3
-31
25
-43
-33
-40
16
11
-1
-66
-2
0
0
0
0
0
0
0
7
-72
-24
-117
-24
-44
-61
-101
-26
2
0
0
0
0
0
0
0
-1
-71
-6
-66
-26
-4
-23
-49
-7
-2
5
0
0
0
-2
2
0
1
48
-41
-8
7
-3
2
2
-1
0
0
0
0
0
0
0
0
-1
29
4
14
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
-52
104
0
0
0
-56
-83
-51
-82
-67
-71
-20
0
0
-2
6
32
-11
-29
-4
0
0
-85
-118
-79
-91
-41
-32
-42
0
0
-1
1
-1
35
79
-60
38
6
-19
2
-36
-22
-22
-66
-108
0
0
-4
-2
14
53
14
25
40
-31
-33
-41
-34
-16
-88
-14
-76
0
0
0
0
82
32
52
2
66
16
24
-83
43
-41
-13
-100
-70
0
0
0
5
23
53
15
52
39
20
3
19
-5
-76
-27
-132
-22
0
0
0
71
30
23
38
10
14
55
100
-54
-32
-42
-27
-105
-9
0
0
0
0
5
25
47
-4
52
19
3
-64
-77
-100
-44
-50
1
0
0
0
0
0
0
0
-13
-21
-1
2
6
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-33
-79
-77
-91
-69
-41
25
0
0
0
1
0
0
0
-5
-6
1
-96
-15
-58
-31
-21
-54
-51
0
0
0
0
3
1
17
7
-70
-94
-58
10
-128
-5
-58
-80
-40
0
0
0
0
0
1
-42
14
-10
26
8
-82
-31
-42
-66
-54
-33
0
0
2
0
4
-4
-6
31
-19
52
2
-3
-94
30
-50
-38
26
0
0
-4
0
2
37
56
-10
100
-51
-8
-13
95
-109
-80
-43
-14
0
0
0
1
-3
-21
-4
5
-82
33
-18
66
-2
13
-7
-122
-29
0
0
0
-1
0
1
1
15
54
70
45
15
-26
-20
-84
-86
-3
0
0
0
0
5
0
0
0
26
-53
-14
-36
-69
27
-48
-158
6
0
0
0
0
0
-2
-57
-5
0
4
-49
-83
-49
-21
-40
-53
25
0
0
0
3
6
-1
-27
-33
-108
6
0
-75
-31
-43
-38
-39
-23
0
0
0
0
5
2
17
-23
-40
4
-43
-98
-68
-1
-5
-68
-5
0
0
0
0
-14
24
-32
-55
-64
-48
75
-7
-26
-73
-21
-29
-27
0
0
0
0
4
56
13
-24
-14
-96
-30
35
52
5
35
-83
-51
0
0
0
0
11
-24
-53
-18
20
27
-39
-6
-12
32
23
-52
-35
0
0
0
1
5
7
20
64
76
43
12
62
-71
-84
-22
-66
-47
0
0
0
2
0
2
4
2
-25
50
-44
19
29
48
7
-25
-27
0
0
0
0
0
2
10
5
29
-24
-15
11
-72
5
-21
-1
0
0
0
0
5
-5
-44
-34
63
0
0
-114
-17
-26
-9
-53
-47
-87
0
0
0
-1
-6
98
-1
0
52
0
-75
-87
-19
15
-33
-53
-60
0
0
2
-5
35
-99
-40
9
48
0
-1
44
-32
-21
-8
-88
-70
0
0
0
-3
-6
7
10
-27
9
-46
-95
-16
-15
-1
-55
-19
-21
0
0
0
23
-3
17
33
63
55
62
-69
73
19
-68
-138
-73
-44
0
0
0
1
65
34
-9
113
26
43
35
28
11
21
79
23
-53
0
0
0
2
-23
58
50
-80
109
-27
14
-42
-35
32
-61
-25
2
0
0
-1
0
2
22
-33
1
-32
-45
17
5
-96
41
-92
-5
-11
0
0
0
0
0
0
-7
4
5
5
-7
-9
4
36
-52
-2
0
0
0
0
0
0
-1
59
-13
0
11
-4
-80
14
69
-126
-54
-71
0
0
0
0
1
-37
9
0
14
0
-20
-65
-57
-11
51
-10
-20
0
0
0
-1
-5
-9
-148
-22
-33
-106
2
-35
54
-7
-18
-91
23
0
0
0
0
0
-16
-18
-2
-89
-121
-48
-100
-17
-55
-96
55
-61
0
0
0
0
0
0
-6
-9
-75
-14
-131
-82
-15
-33
-45
53
-34
0
0
0
0
0
0
-4
-47
39
-56
-92
-141
-32
-23
-26
-66
-2
0
0
0
1
0
0
-2
43
-17
-19
31
-2
-35
44
-104
-37
-27
0
0
0
0
0
-5
0
-7
4
-11
-46
-20
-4
-2
10
-90
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
17
14
0
0
0
0
0
1
-1
-9
0
0
0
-39
-4
-3
-86
-16
-31
-53
0
0
0
0
0
0
-23
-3
0
56
-75
-44
-78
28
80
-59
-143
0
0
0
0
0
0
-7
-72
25
4
-43
-53
38
-46
-71
-39
-95
0
0
0
0
2
0
5
-137
-205
28
-31
36
-104
42
-17
-73
-34
0
0
0
0
0
3
-4
-83
-94
-54
-11
-12
-39
-34
-9
-8
-50
0
0
0
0
0
0
0
-65
-162
30
2
43
-15
-76
-31
-53
9
0
0
0
0
0
0
0
-16
-132
-75
-13
49
17
-2
54
43
-25
0
0
0
0
0
0
0
-1
-17
3
6
-4
-7
-4
74
9
-4
0
0
0
0
0
0
0
0
1
0
0
0
2
54
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
2
1
46
0
0
0
85
3
0
0
0
0
0
0
0
0
0
6
33
63
32
0
0
-25
0
0
0
0
0
0
0
0
0
0
2
43
33
33
52
19
81
-2
0
0
0
0
0
0
0
0
0
-3
5
33
-24
89
24
63
1
0
0
0
0
0
0
0
0
0
2
6
15
-18
17
65
63
-5
0
0
0
0
0
0
0
0
0
0
-3
11
20
32
5
-15
0
0
0
0
0
0
0
0
0
0
0
-1
-29
39
47
15
11
0
0
0
0
0
0
0
0
0
0
0
1
3
-33
44
6
-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
33
37
0
0
0
-41
7
0
0
0
0
0
0
0
-1
1
-12
-11
40
17
0
0
-93
5
0
0
0
0
0
0
0
0
1
0
36
-18
30
48
93
35
-22
0
0
0
0
0
0
0
0
0
15
24
43
75
-20
0
11
14
0
0
0
0
0
0
0
0
3
0
-5
6
46
-17
64
-48
-11
0
0
0
0
0
0
0
0
0
1
-2
-11
12
77
169
14
0
0
0
0
0
0
0
0
0
0
0
-4
13
-14
76
64
65
0
0
0
0
0
0
0
0
0
0
0
0
-13
14
30
47
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
22
-18
-10
0
0
0
0
0
0
0
0
0
-1
-5
8
-7
0
0
0
106
6
0
0
0
0
0
0
0
0
-1
1
34
30
28
0
0
22
-7
0
0
0
0
0
0
0
0
3
-1
-2
0
40
-10
-52
13
78
0
0
0
0
0
0
0
0
0
0
5
2
88
52
-24
-31
-44
0
0
0
0
0
0
0
0
0
-1
-1
10
-35
-14
-50
44
21
0
0
0
0
0
0
0
0
1
0
2
-1
43
-37
65
153
-7
0
0
0
0
0
0
0
0
0
0
0
5
-9
8
34
21
9
0
0
0
0
0
0
0
0
0
0
1
0
-5
5
52
44
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
3
6
0
0
0
107
-75
8
0
12
52
-1
0
0
0
11
-2
50
-66
0
0
0
-52
49
-69
-33
45
17
0
0
0
0
2
-1
99
10
64
44
88
-103
26
-15
-14
15
82
-3
0
0
2
0
-3
33
-60
-53
79
66
8
-49
-44
-28
50
-45
0
0
0
3
-5
-2
14
-13
77
6
15
132
-19
-37
-29
55
23
4
0
0
0
0
-2
-5
47
112
65
43
159
-15
1
-2
36
1
2
0
0
0
0
0
15
23
46
36
116
21
5
52
43
-26
6
0
0
0
0
0
-2
-2
34
64
55
36
-21
45
-45
-5
20
8
0
0
0
0
0
0
0
0
1
15
-2
44
1
0
0
2
1
0
0
0
9
1
36
-56
45
0
0
0
82
-136
-5
27
9
-11
-1
0
-1
0
14
46
22
104
0
0
0
48
-15
-15
-18
34
21
4
0
0
0
3
-2
116
0
34
62
-8
66
-3
-17
30
-22
-57
7
0
0
0
7
9
53
52
71
-120
-15
-44
-5
12
71
47
-25
7
0
0
0
0
4
-3
74
65
24
85
-20
43
104
-12
34
65
1
0
0
0
3
0
0
19
4
-37
76
42
47
-42
46
-35
18
0
0
0
0
3
-5
-3
47
23
27
64
-8
-20
-25
-9
36
46
-5
0
0
0
0
-3
14
-6
14
17
-2
48
4
33
6
-14
-46
4
0
0
0
0
0
8
1
7
-135
44
-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
30
-53
0
0
0
-1
98
41
137
115
-15
32
0
0
0
1
-2
-28
84
4
0
0
13
-38
46
24
52
79
-5
0
0
-3
0
-4
-3
86
47
51
24
-76
-1
21
36
40
34
-63
0
0
0
0
0
22
3
75
18
44
-9
59
14
-14
56
56
53
0
0
0
0
-2
-15
31
24
56
81
17
6
31
15
71
34
-80
0
0
0
0
-6
11
-77
39
7
110
-12
45
6
108
67
54
6
0
0
0
0
0
-13
-21
35
25
-8
49
14
-28
71
-33
-43
50
0
0
0
1
0
-1
5
21
139
-44
-11
32
4
71
52
46
1
0
0
0
0
0
-4
-2
-1
-2
26
16
0
0
-2
-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
1
14
73
0
0
-69
-75
-76
-13
22
43
-41
0
0
0
0
-1
0
-9
14
30
-1
-3
-38
-91
0
-9
14
-34
0
0
0
0
-1
-1
2
79
21
41
-1
-10
-30
7
7
41
64
0
0
0
0
5
-2
-14
-53
-16
-13
5
45
-21
12
8
31
21
0
0
0
0
0
-1
-3
31
-43
-32
-38
35
-14
49
61
44
-6
0
0
0
0
0
0
-13
27
-78
5
-86
-21
-27
57
0
18
28
0
0
0
0
0
0
-1
-21
20
-37
-38
14
56
14
27
52
48
0
0
0
0
0
0
-1
-8
36
44
-24
50
90
6
-12
9
21
0
0
0
0
-1
-1
-1
-1
-71
20
19
-54
11
9
17
45
52
0
0
0
0
0
-5
25
58
0
12
100
-73
-40
15
101
-6
73
0
0
0
0
-29
11
-13
-9
65
43
0
-87
7
3
34
72
-55
0
0
0
0
24
1
14
-13
35
-112
-64
-86
30
-31
-83
-5
40
0
0
0
0
-2
13
44
-42
67
-1
59
53
10
15
43
48
65
0
0
0
0
0
-7
-7
-7
-61
78
45
40
26
-1
63
36
113
0
0
0
0
-4
-1
-2
2
-26
33
66
29
45
0
-12
10
63
0
0
0
0
1
19
2
-5
43
-39
42
40
126
117
1
34
12
0
0
0
0
1
-1
1
0
0
-40
-84
-36
-42
102
92
24
38
0
0
0
0
0
0
1
0
-13
-5
-14
10
51
69
10
-5
0
0
0
0
-2
0
-11
31
10
0
0
108
27
21
-38
45
-32
72
0
-1
-1
-3
-30
-4
22
0
25
0
-32
-12
-14
36
49
-15
36
0
0
-2
-1
21
51
-117
-30
20
61
-43
43
22
72
81
-25
9
0
0
0
3
0
59
-10
90
135
25
44
84
72
29
72
-8
-26
0
0
0
0
4
46
73
96
32
84
111
-9
95
28
188
128
-120
0
0
0
0
0
3
-53
-14
-8
-2
56
32
-1
37
25
39
85
0
0
0
0
-3
7
-18
-93
-9
21
34
72
90
45
109
-56
13
0
0
0
0
0
-2
-2
-41
-99
24
-27
55
-27
56
1
-45
49
0
0
0
0
0
0
0
0
0
-11
-2
-14
0
7
6
-2
0
0
0
0
0
0
2
24
45
0
18
-26
88
85
165
107
96
9
0
0
0
0
-3
21
35
0
13
0
25
3
-28
67
75
47
71
0
0
0
-2
11
-29
-12
128
90
34
-46
-32
29
147
-32
-8
-63
0
0
0
-1
-1
8
-78
85
84
167
28
8
41
20
34
-6
-5
0
0
0
0
0
10
-65
-55
-3
60
43
-11
-120
27
72
46
-62
0
0
0
-1
0
0
-1
9
-11
18
30
-41
-97
-80
43
79
55
0
0
0
0
0
0
4
-32
-26
-4
0
-15
-98
-11
-90
-30
-36
0
0
0
0
0
0
0
2
-15
0
-8
57
51
4
71
13
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
46
4
25
-6
1
0
0
0
0
-1
36
33
0
0
0
108
53
121
26
-36
-23
19
0
0
0
0
0
65
136
-45
0
-51
25
175
-24
9
27
21
-25
0
0
0
0
0
-2
49
110
152
64
19
-41
-81
24
10
-29
33
0
0
0
0
0
-5
-31
-19
31
25
52
-13
67
7
64
108
-23
0
0
0
0
0
5
-6
12
-117
-55
-24
15
36
-8
44
122
-16
0
0
0
0
0
1
-1
-32
-114
-92
53
-49
16
43
-75
95
52
0
0
0
0
0
0
-1
-44
-61
-66
32
22
86
13
43
85
3
0
0
0
0
0
0
0
0
-49
-34
2
79
-18
35
-52
58
31
0
0
0
0
0
0
0
0
-1
0
-3
5
1
-6
32
-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
0
0
0
0
0
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
-32
0
0
0
0
0
0
0
0
0
1
-1
-23
-20
19
0
0
-9
0
0
0
0
0
0
0
0
0
0
-14
-32
5
49
37
-110
-173
-8
0
0
0
0
0
0
0
0
0
1
-7
2
-140
-71
-53
-42
6
0
0
0
0
0
0
0
0
0
0
4
2
7
50
40
-37
0
0
0
0
0
0
0
0
0
0
0
2
-14
18
57
71
-23
0
0
0
0
0
0
0
0
0
0
0
0
21
-30
-70
14
-4
0
0
0
0
0
0
0
0
0
0
0
-2
-43
35
16
-7
-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
18
-14
0
0
0
-77
0
0
0
0
0
0
0
0
-1
0
-15
71
47
-15
0
0
-137
-4
0
0
0
0
0
0
0
0
0
1
-9
56
-39
-29
-90
-91
27
0
0
0
0
0
0
0
0
0
-14
7
-48
-39
-87
67
0
34
0
0
0
0
0
0
0
0
0
0
4
13
26
-77
23
57
-18
0
0
0
0
0
0
0
0
0
0
-5
14
-49
-38
-38
-26
0
0
0
0
0
0
0
0
0
0
0
-4
-16
43
-15
12
-52
-1
0
0
0
0
0
0
0
0
0
0
2
14
-80
-30
-81
2
0
0
0
0
0
0
0
0
0
0
0
0
-53
23
-6
-3
-20
0
0
0
0
0
0
0
0
0
-2
0
1
-4
0
0
0
-23
-15
0
0
0
0
0
0
0
0
0
1
6
29
-36
0
0
-76
-55
0
0
0
0
0
0
0
0
-2
0
0
20
19
-116
-79
-87
-25
0
0
0
0
0
0
0
0
0
0
-2
-9
67
-33
6
-93
-30
0
0
0
0
0
0
0
0
0
1
0
0
-39
64
56
21
-50
0
0
0
0
0
0
0
0
0
0
0
-14
7
-52
-37
58
-15
0
0
0
0
0
0
0
0
0
0
3
20
71
-4
-7
-5
-2
0
0
0
0
0
0
0
0
0
0
3
2
31
-9
-11
-33
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
-60
0
0
0
7
-1
0
-20
2
-5
0
0
0
0
0
0
-2
-25
0
0
0
-68
-59
-72
32
-8
0
0
0
0
0
0
-3
1
-34
-166
-111
11
-47
-22
-56
-12
-25
0
0
0
0
0
0
4
-3
-5
-57
3
0
26
45
-48
-26
-13
-1
0
0
0
0
0
0
0
-1
-12
2
54
-8
-32
-55
-36
-6
0
0
0
0
0
0
0
0
-4
-53
62
33
70
33
-46
0
0
2
0
0
0
0
0
-3
0
1
-33
41
14
-31
13
2
0
0
0
0
0
0
0
0
0
-2
2
3
32
25
-6
0
0
0
0
-4
0
0
0
0
0
0
0
8
6
10
-6
4
0
0
0
0
0
0
0
0
0
0
0
3
-111
0
0
0
45
3
-6
0
0
-2
0
0
0
0
-1
0
2
-106
0
0
0
33
-43
-10
3
2
7
0
0
0
0
0
0
2
-15
-127
-80
116
-14
-90
9
6
5
-1
0
0
0
0
0
0
1
28
8
-65
13
-33
36
-36
1
1
2
0
0
0
0
0
-1
8
-2
-62
-1
-33
3
23
-37
-7
-15
-5
0
0
0
0
0
0
0
-4
33
-57
-26
-10
-6
3
1
-5
-3
0
0
0
0
0
0
0
-2
24
-70
-48
-8
3
-8
2
-27
2
0
0
0
0
0
0
0
1
6
-101
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
-11
-33
0
0
0
-211
-84
-71
-106
-12
-83
-13
0
0
0
1
-35
6
-67
-22
0
0
-180
48
-118
-73
-30
-23
3
0
0
4
0
1
14
36
-35
-89
-136
-104
-40
-48
-40
-20
-68
-110
0
0
0
0
0
45
39
-17
-44
-36
67
-72
-38
-112
-20
-36
-10
0
0
0
0
0
-33
25
-20
41
-20
95
-13
18
-57
-78
-112
17
0
0
0
0
-4
-4
8
-101
-85
79
53
14
-61
-23
63
-81
18
0
0
0
-1
0
1
24
-109
-13
-36
0
-120
-26
98
-80
-68
-9
0
0
0
-1
0
0
-29
14
-64
4
15
27
-24
-79
-90
-35
-6
0
0
0
0
-1
8
0
-3
-14
-43
-62
-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
-9
-24
0
0
-124
-109
-70
-40
-42
-32
-27
0
0
0
0
4
0
9
17
-78
-28
-94
-83
4
-19
-34
-27
-39
0
0
0
0
0
0
-8
-52
28
20
-30
-84
51
-14
-27
-106
-34
0
0
0
0
2
-1
2
-8
-23
-13
-73
-33
64
-16
-12
-29
8
0
0
0
0
0
-3
0
-43
23
68
-6
-61
62
-59
-26
-21
19
0
0
0
0
0
0
-2
-56
48
-13
-21
-19
8
-34
53
-47
-21
0
0
0
0
0
3
0
-1
-101
45
0
-139
50
33
10
-40
-36
0
0
0
0
0
0
-2
9
-43
-93
-44
-14
2
-28
-7
-7
-66
0
0
0
0
0
0
0
-2
-38
50
5
-10
-108
-55
-27
-9
25
0
0
0
0
0
-1
-10
-63
0
-6
-90
-191
-73
-68
-5
-27
-33
0
0
0
1
1
4
-2
16
-63
-11
0
-116
-51
-35
-8
-26
-24
0
0
0
0
2
-1
6
-19
14
-65
-63
-99
-15
-26
-23
-54
1
0
0
0
0
4
-7
6
50
18
-85
-35
-12
91
-56
-36
-6
56
0
0
0
0
0
0
-3
24
-53
-5
54
16
14
5
-41
-15
-4
0
0
0
0
0
0
7
-33
-24
22
30
-38
-86
-27
-14
-53
-96
0
0
0
0
0
-14
0
-8
23
39
13
-34
33
-13
-8
-17
-17
0
0
0
0
-6
0
-2
0
-32
29
44
16
-103
-83
-89
-27
-24
0
0
0
0
0
0
0
0
21
-8
-16
-16
-48
-41
-33
-2
0
0
0
0
0
-2
29
4
-82
0
0
-113
-60
-35
34
-28
32
-46
0
0
0
0
-25
-57
-109
0
-95
0
-181
-50
-64
-28
-92
-118
-27
0
0
0
1
-7
-107
5
-1
-84
-218
-187
-32
-58
-17
-96
-42
-8
0
0
0
0
-1
9
-134
0
38
-22
-9
1
-48
-30
-46
3
47
0
0
0
0
-1
-1
18
-13
-10
-50
-32
-24
-10
57
34
76
-57
0
0
0
0
-5
-1
18
39
-125
24
-15
-61
6
-22
-69
-52
-85
0
0
0
0
9
-2
-27
-26
11
3
31
-52
-75
-31
-125
-48
-99
0
0
0
0
0
1
4
11
14
7
-3
6
-2
-58
-27
39
-29
0
0
0
0
0
0
0
0
18
-14
-45
0
1
0
4
-1
0
0
0
0
0
0
0
7
-11
0
-69
-47
-75
14
-42
-52
6
-18
0
0
0
0
0
9
-13
0
-72
0
-25
18
-52
-150
15
-43
-65
0
0
0
0
0
3
-90
55
52
-31
-42
-89
-38
48
-67
-118
-20
0
0
0
0
2
1
-2
-84
-58
33
-20
14
-90
-75
-23
23
20
0
0
0
0
0
-1
0
-31
-30
-2
-93
-101
-30
30
-37
-46
-25
0
0
0
0
0
0
1
-72
-24
44
98
24
-4
10
-41
65
-34
0
0
0
0
0
0
1
-3
-15
-21
64
-25
-49
40
-131
-34
-45
0
0
0
0
0
0
0
-1
0
11
14
32
8
-22
-18
-50
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
-119
-114
-37
-37
-63
16
36
0
0
0
0
0
0
0
-99
0
-123
-108
-99
-73
-2
25
-44
-121
0
0
0
0
0
0
0
-7
9
46
-89
15
-34
-40
5
14
-43
0
0
0
0
0
0
-3
-9
-108
2
-60
68
-97
-27
50
21
-28
0
0
0
0
0
0
1
-118
-47
-33
55
-90
-7
-105
45
16
-7
0
0
0
0
0
0
0
-18
-68
-6
-7
-26
18
32
-120
69
62
0
0
0
0
0
0
0
-21
-25
7
22
-8
-26
-54
-13
-23
-11
0
0
0
0
0
0
0
1
-9
0
1
27
-20
20
23
62
-2
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
-50
73
42
-9
-9
0
-6
0
0
0
0
0
0
0
53
123
23
0
-52
-34
-53
37
-43
-40
0
0
0
0
0
0
0
35
13
118
5
53
-14
-5
-33
12
0
0
0
0
0
0
0
0
20
-25
-29
65
11
-23
0
-21
6
0
0
0
0
0
0
0
0
9
174
-32
-7
3
-1
0
0
0
0
0
0
0
0
0
0
0
-14
111
33
23
59
1
4
0
0
0
0
0
0
0
0
0
0
1
-58
-60
30
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
80
80
63
32
0
0
0
0
0
0
0
0
0
0
0
0
0
4
49
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
34
-1
111
33
20
5
-43
23
0
80
0
0
0
0
0
0
0
103
43
3
26
16
-11
33
-36
12
-50
-7
0
0
0
0
0
0
59
31
73
26
25
-24
8
77
-33
-7
0
0
0
0
0
0
0
31
127
42
-39
-55
105
9
-3
9
0
0
0
0
0
0
0
0
44
22
-3
-50
-11
32
1
1
4
0
0
0
0
0
0
0
0
2
-8
91
104
-1
-4
2
0
0
0
0
0
0
0
0
0
0
-1
-6
32
2
22
4
0
0
0
0
0
0
0
0
0
0
0
18
66
3
-13
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
82
67
87
21
-5
62
-52
0
13
2
0
0
0
0
0
0
34
86
21
-33
-85
33
-98
0
80
-34
9
0
0
0
0
0
0
-4
24
43
6
-35
50
-39
30
25
22
13
0
0
0
0
0
0
-11
55
149
82
-52
80
3
0
2
-2
1
0
0
0
0
0
0
1
38
62
45
63
19
2
-10
-2
0
0
0
0
0
0
0
0
6
35
-3
100
-24
27
0
0
0
0
0
0
0
0
0
0
0
0
72
33
-47
-5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
8
2
9
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
-13
8
91
-26
40
-74
-87
-95
0
54
-7
2
0
0
0
0
0
105
-5
66
29
44
-80
-59
-70
-99
-115
-5
2
0
0
0
0
0
102
-38
102
108
-70
-66
-14
-23
-28
-90
-10
-9
-1
0
0
0
0
41
75
39
113
159
-18
7
28
1
18
20
0
0
0
0
0
0
45
42
30
82
93
34
-38
-29
82
13
0
-1
0
0
0
0
0
4
16
-26
21
59
-24
6
48
-49
2
-1
0
0
0
0
0
0
21
5
81
142
80
80
10
80
11
1
0
0
0
0
0
0
0
45
65
54
91
47
26
27
51
-10
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
-19
83
-32
-24
-88
26
-121
0
-33
0
0
0
0
0
0
0
65
5
-76
-34
22
7
46
-22
-66
-1
-5
0
1
0
0
0
0
10
-14
70
-24
95
33
-45
-49
-102
22
2
-3
0
0
0
0
0
-122
-45
29
33
56
-25
18
60
-53
45
-3
0
0
0
0
0
0
47
-68
33
87
-57
57
-5
83
3
-8
0
0
0
0
0
0
0
27
14
-5
4
41
74
-41
64
-4
1
0
0
0
0
0
0
0
-9
104
75
62
35
9
26
45
15
0
0
0
0
0
0
0
0
11
55
9
47
-17
4
7
1
2
0
0
0
0
0
0
0
0
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
84
32
90
9
38
-62
0
-40
25
35
-10
-19
0
0
0
69
47
2
14
65
136
-43
-84
-109
-30
71
72
91
48
-19
0
0
21
95
121
37
98
135
30
16
-43
10
128
60
92
-21
31
0
0
3
83
29
72
31
132
36
63
118
61
153
50
-14
-38
9
0
0
22
70
77
138
54
166
62
106
100
54
75
68
67
31
-2
0
0
7
53
54
6
14
48
64
53
103
51
91
-2
6
-7
3
0
0
0
110
110
127
33
54
141
4
115
45
-18
38
-4
0
-1
0
0
0
55
-34
-33
63
57
15
19
55
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
52
15
17
59
55
0
14
-3
47
1
-7
-6
-2
0
0
-5
151
114
9
28
72
-21
-8
25
44
79
51
-38
-44
0
0
0
14
5
-37
89
116
33
47
-71
-24
8
69
84
56
0
-2
0
0
26
101
23
4
-61
-2
33
9
43
-22
13
1
-3
0
-2
0
0
0
54
-21
61
128
-71
41
92
58
55
-75
-15
30
4
0
0
0
0
23
-14
59
-8
49
45
-24
77
10
-32
34
30
-4
2
0
0
0
-33
10
74
58
-40
44
-18
42
19
-8
-27
5
2
0
0
0
3
17
34
10
-23
21
101
52
-1
-14
47
-11
43
18
0
-6
0
0
0
-15
-2
3
32
17
35
43
-32
124
30
-49
-2
-3
0
0
0
-2
139
-6
-15
61
-3
0
35
59
-43
-10
6
2
0
0
0
0
57
92
13
61
67
-23
15
11
7
25
3
93
-18
-2
0
0
0
24
-19
11
33
2
21
-23
7
34
98
2
10
0
0
0
0
0
1
62
34
-5
52
-21
125
52
67
69
64
-8
5
0
0
0
0
28
-6
13
43
76
-17
55
-18
-27
93
47
-18
13
0
0
0
0
-5
22
70
22
-22
77
50
12
-31
-23
-31
-25
11
-4
0
0
0
18
10
16
-4
76
37
89
30
-22
-21
177
-65
2
0
0
0
0
4
82
-40
-38
74
74
1
107
-7
-48
-19
5
0
0
0
0
0
-1
-8
10
-39
84
0
5
15
-1
0
0
0
0
0
0
43
143
33
67
118
-66
-6
-83
0
-40
29
54
-28
16
0
0
0
20
16
25
49
72
62
-9
-38
-62
-12
37
133
51
0
-6
0
0
38
72
86
35
-38
141
34
-18
-34
-26
23
145
15
-18
-19
0
0
28
15
59
87
2
56
119
40
77
104
77
54
34
17
0
0
0
15
48
44
-15
68
150
17
121
91
95
-1
34
99
77
-5
0
0
45
44
68
163
-1
99
90
167
78
41
156
90
13
5
0
0
0
33
53
59
102
36
6
126
69
61
-52
-8
-3
-11
0
0
0
0
-2
15
-20
-32
61
49
49
53
48
2
-6
-2
0
0
0
0
0
0
-3
3
18
9
15
21
-4
-1
-1
0
0
8
0
0
0
0
33
19
-47
-16
0
-58
8
-54
0
-19
23
28
-13
-1
0
0
0
25
14
43
-27
-24
-20
52
-65
-5
65
53
0
61
2
0
0
0
126
35
105
42
49
20
70
-14
32
65
56
-45
-2
-2
0
0
0
51
-35
23
5
4
-15
-32
33
53
23
5
59
-2
0
0
0
0
100
7
28
-25
30
15
-12
97
68
57
-9
2
0
0
0
0
0
-2
11
-46
77
-42
31
87
54
-29
25
11
-43
-13
0
0
0
0
0
43
62
48
63
32
84
62
103
16
3
6
0
0
0
0
0
0
-23
-41
98
59
109
17
117
-32
-31
-24
-1
0
0
0
0
0
0
0
5
-2
-13
2
36
11
-8
-2
0
0
0
0
0
0
0
30
68
-6
28
-9
-3
-25
-18
0
-72
49
-18
1
0
0
0
0
-14
-29
-61
8
14
94
99
-21
22
32
31
17
4
-1
0
0
0
-23
12
67
57
-27
-40
18
-114
2
29
21
22
3
0
0
0
0
-39
-27
28
14
66
60
-15
77
53
48
96
0
0
0
0
0
0
15
-83
-49
38
80
94
26
93
-6
100
35
25
-2
2
0
0
0
-33
-34
-43
-10
18
3
81
39
22
102
34
0
0
0
0
0
0
-1
91
50
-15
83
125
12
62
11
-53
-43
14
0
0
0
0
0
-3
-13
17
2
-9
46
137
7
21
-24
31
0
1
0
0
0
0
0
-3
0
1
-3
9
37
80
-16
-7
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
14
49
-22
-91
7
-35
-57
-39
0
-5
0
0
0
0
0
0
0
-36
-23
-4
11
5
45
-35
-68
6
14
0
0
0
0
0
0
0
31
-89
-50
60
19
53
-17
51
-35
3
0
0
0
0
0
0
0
45
84
41
-74
7
-6
0
-3
-5
0
0
0
0
0
0
0
0
45
14
17
71
-30
44
-15
8
2
0
0
0
0
0
0
0
0
-23
-65
30
-90
45
4
-7
0
0
0
0
0
0
0
0
0
0
7
-69
7
-7
53
-6
0
0
0
0
0
0
0
0
0
0
0
-11
-64
20
-20
18
4
0
0
0
0
0
0
0
0
0
0
0
4
-10
-15
6
7
0
0
0
0
0
0
0
0
0
0
0
0
-33
1
-15
-42
-5
37
-19
12
0
-113
1
0
0
0
0
0
0
76
-53
-66
-4
-87
-38
-31
-90
-7
-17
10
0
0
0
0
0
0
42
-24
1
-75
18
32
96
23
52
16
2
0
0
0
0
0
0
-28
16
-120
6
-23
91
-32
-3
-42
16
-2
0
0
0
0
0
0
43
20
28
31
58
35
25
1
3
0
11
0
0
0
0
0
0
0
-50
53
-2
14
-69
-13
0
-4
-4
0
0
0
0
0
0
0
-10
-11
32
25
-16
-17
-3
0
0
0
0
0
0
0
0
0
0
-37
41
-30
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-31
-54
-58
-53
-43
-69
-22
0
-15
-2
0
0
0
0
0
0
0
-32
-5
-81
71
-23
-12
69
-110
-22
-25
0
0
0
0
0
0
-39
8
-20
-12
37
26
-78
-6
-33
-14
-5
0
0
0
0
0
0
-2
59
-66
9
-30
-2
10
-5
-9
1
-1
0
0
0
0
0
0
-10
93
-77
-88
53
36
1
23
0
1
3
0
0
0
0
0
0
-2
-61
-16
71
-8
-29
7
-5
6
0
2
0
0
0
0
0
0
-4
-21
43
123
7
-9
-2
0
1
0
0
0
0
0
0
0
0
0
10
-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
17
-15
-102
-59
-31
-101
-68
-87
0
-152
5
-3
0
0
0
0
0
5
-85
0
-5
-70
-4
-71
-241
-149
-182
2
2
-3
0
0
0
0
-62
50
-3
-42
-23
20
-99
-30
43
41
-9
-5
0
0
0
0
0
32
5
-7
55
-49
-55
5
-41
-124
6
-2
0
0
0
0
0
0
45
33
-70
-33
-14
53
-26
3
-114
-19
0
-8
0
0
0
0
0
4
62
111
-29
-36
47
-26
-63
4
3
0
1
0
0
0
0
0
-23
9
79
30
20
6
-5
-17
-11
-5
-1
0
0
0
0
0
0
-3
-11
-14
29
0
13
0
-9
-9
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
-11
-114
-30
20
-27
3
-71
-97
0
-7
-2
0
0
0
0
0
0
32
-7
-24
89
-20
-77
-28
-250
-131
-123
0
0
-1
0
0
0
0
14
-49
-13
-77
-24
-75
2
-50
14
-15
0
0
0
0
0
0
0
13
-8
-28
24
-43
15
-9
-32
49
-4
0
0
0
0
0
0
0
21
-17
14
-60
-25
-3
-35
-16
0
4
0
0
0
0
0
0
0
-31
-17
-58
-74
-14
7
-9
-1
-1
2
0
0
0
0
0
0
0
0
-13
-34
10
11
4
1
0
0
0
0
0
0
0
0
0
0
-7
24
21
13
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
34
-78
-7
-63
14
-123
3
-163
0
-95
-51
-86
-13
-5
0
0
0
-83
84
93
-30
-19
-4
-14
-138
-119
-82
73
33
-115
-98
72
0
0
-19
36
-11
-63
-16
115
15
-10
-18
-15
-67
-63
-7
61
1
2
0
-4
-6
-20
54
37
-54
43
36
106
-14
-74
42
2
-44
-11
0
0
-22
1
63
-48
17
0
-13
73
10
16
54
33
-7
9
0
0
0
81
-27
55
40
-33
14
-58
45
52
96
-67
-14
-7
4
5
0
0
-6
39
1
34
-16
-17
106
68
-3
58
-6
41
1
0
-2
0
0
4
-69
2
43
55
17
-13
53
6
-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
34
-23
-41
-62
-94
-78
-132
0
-6
-41
-91
-8
-13
-1
3
0
0
68
-76
-58
-84
-134
8
-71
-78
-35
18
-33
-48
-15
36
-6
0
0
-8
-35
-90
-87
-53
-41
12
46
-32
12
-70
-12
32
0
3
0
0
-20
44
-35
-91
-94
-18
-95
-24
12
38
9
-38
31
-1
-2
0
0
19
7
-13
-22
-67
44
14
62
-12
-2
-18
-6
51
4
-1
0
0
-29
26
-98
-62
-87
-80
-57
-68
41
57
-53
11
-20
1
4
0
0
0
82
-44
-22
-102
25
35
45
76
8
-8
55
47
-1
-4
0
0
-23
-2
-26
90
-9
14
-30
-14
-45
-55
29
5
17
-14
0
1
0
-4
3
-6
-7
-27
9
49
15
-1
23
-33
3
8
-7
-1
0
0
0
-80
-3
-35
-75
51
-41
0
-41
-47
-13
-23
29
5
0
0
0
0
-2
61
6
-52
-43
-29
5
-19
-20
42
45
16
-10
4
0
0
0
26
-24
45
-18
2
1
-13
-3
-15
-58
-64
-12
-22
0
0
0
0
-13
-1
-61
7
-74
-76
62
-39
-21
43
-89
-16
3
0
0
0
0
-58
-85
-66
-43
-31
-2
6
-20
29
-51
14
-40
-9
0
0
0
0
-8
-24
-40
30
24
-32
-48
-113
103
14
31
-2
3
0
0
0
0
19
-31
-15
-45
38
-42
-58
39
2
-13
-5
17
-1
0
0
0
0
-4
22
-46
-23
-90
-53
-57
-20
4
9
15
-31
0
0
0
0
0
6
17
-41
21
-143
62
-17
3
-1
-12
0
0
0
0
0
65
100
-4
15
-16
-19
-58
-146
0
-116
-95
-113
-95
41
0
0
0
20
12
42
64
4
-56
-30
-84
-112
-66
3
5
55
1
7
0
0
134
64
-16
32
0
-44
-54
-15
5
36
46
-1
-86
36
-17
0
0
54
-1
79
-80
-64
8
35
10
25
2
60
-14
118
44
2
-2
0
11
45
138
-5
0
26
98
31
71
-28
-35
53
-58
-4
-2
0
0
26
71
49
-95
25
71
-36
27
115
-14
-58
47
4
-9
1
0
0
-45
53
-23
41
37
-50
14
3
9
69
-32
-9
-8
-3
0
0
0
4
31
43
-104
-47
1
22
-28
2
70
7
0
-1
0
0
0
0
0
-5
-1
-43
7
17
-46
0
-1
-6
0
0
0
0
0
0
0
-33
-24
22
-121
-48
12
37
-121
0
-129
-29
-18
2
0
0
0
0
65
-26
-46
6
-10
56
0
-107
-28
-124
-31
-86
-87
0
-1
0
0
-2
-112
29
-63
-130
4
-41
-11
-24
41
-47
-14
0
-1
0
0
0
-28
-6
-31
-61
-90
-43
-96
-80
30
-58
0
-17
1
0
0
0
0
7
-13
62
-56
-68
-32
-102
-34
-21
-37
-95
3
-1
0
0
0
0
31
6
23
9
-48
-45
-61
53
-12
-66
-52
20
0
0
0
0
0
0
17
-15
-50
-65
16
-67
-76
4
78
-4
-4
0
0
0
0
0
0
-17
22
5
-55
13
-4
28
-9
31
18
0
0
0
0
0
0
0
-1
10
0
11
-8
25
47
9
-1
1
0
0
0
0
0
0
-24
5
-43
-23
-47
-49
-133
-124
0
-50
39
-23
0
0
0
0
0
6
-212
-14
-7
-136
-24
-21
-172
-111
-13
14
-23
0
0
0
0
0
-30
-71
-69
-38
-137
26
-159
-16
32
-36
-14
-22
0
1
0
0
0
-44
-53
90
-70
14
50
-55
-53
-71
20
-22
3
0
0
0
0
0
-13
-65
-28
-28
24
26
-83
-111
-86
-85
-63
-49
3
0
0
0
0
0
-22
5
64
-23
-19
-9
81
-20
-4
15
2
1
0
0
0
0
-2
-57
4
-11
-23
18
-6
-36
54
-66
-23
3
0
0
0
0
0
0
8
-1
35
27
62
53
27
-110
10
8
0
-2
0
0
0
0
0
0
-3
0
6
-5
15
-52
156
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
-5
2
41
-76
-105
-33
4
0
0
0
0
0
0
0
0
0
0
73
64
3
-5
-26
-116
93
0
0
0
0
0
0
0
0
0
0
37
108
84
3
-52
-20
4
0
-1
0
0
0
0
0
0
0
0
85
-8
80
79
32
3
0
1
1
0
0
0
0
0
0
0
0
-36
77
26
52
76
-1
0
0
3
0
0
0
0
0
0
0
0
-9
43
68
-9
-23
-8
1
0
0
0
0
0
0
0
0
0
0
-4
34
101
72
33
-1
0
0
0
0
0
0
0
0
0
0
0
1
15
-45
-14
-3
2
0
0
0
0
0
0
0
0
0
0
0
74
29
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
14
50
33
33
7
72
8
0
0
0
0
0
0
0
0
0
0
65
23
21
30
-19
104
-25
0
0
0
0
0
0
0
0
0
0
36
-57
120
85
24
51
-5
3
0
2
0
0
0
0
0
0
0
100
-29
-33
25
-21
18
16
-1
0
0
-1
0
0
0
0
0
0
17
27
-43
-13
-46
-57
4
-1
-1
0
0
0
0
0
0
0
0
47
-8
41
21
35
5
-5
1
0
0
0
0
0
0
0
0
0
9
129
59
-58
34
-1
0
0
0
0
0
0
0
0
0
0
0
1
60
80
-11
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-14
16
0
0
0
0
0
0
0
0
0
0
0
0
22
37
51
114
-4
-46
-16
0
0
0
0
0
0
0
0
0
0
29
11
2
9
-43
26
-42
0
0
0
1
0
0
0
0
0
0
43
29
22
92
50
-61
-6
2
-2
-3
2
0
0
0
0
0
0
33
-12
-6
83
-18
51
9
1
0
2
0
0
0
0
0
0
0
5
7
15
-17
48
-33
2
0
0
0
0
0
0
0
0
0
0
-1
24
-18
23
-1
1
1
0
0
0
0
0
0
0
0
0
0
20
74
-2
76
43
8
0
0
0
0
0
0
0
0
0
0
0
0
6
4
86
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
61
55
66
5
-114
-105
0
0
0
14
1
0
0
0
0
0
-11
4
119
6
-16
-112
-92
0
0
0
60
1
0
0
0
0
0
47
51
44
81
103
-23
-53
58
29
80
-18
3
5
0
0
0
0
147
27
61
-80
15
-9
89
3
-5
26
-11
0
0
0
0
0
0
-55
131
23
78
43
7
-5
-44
-22
-29
-20
1
0
0
0
0
0
22
-11
-8
104
34
18
79
62
110
-13
-8
0
0
0
0
0
0
35
71
58
58
0
75
-25
118
53
-31
0
0
0
0
0
0
0
-3
10
160
-14
-22
-75
-4
20
39
0
-1
0
0
0
0
0
0
26
7
13
36
15
9
0
0
-3
0
0
0
0
0
0
0
0
-10
-12
91
-56
-35
-83
-50
0
0
0
-3
10
0
0
0
0
0
10
79
159
88
17
-56
-67
0
0
0
27
0
0
0
0
0
0
-2
71
-108
67
15
-37
-62
-112
-43
49
7
0
0
0
0
0
0
-2
-51
113
50
53
57
-63
-19
-100
-31
18
-1
0
0
0
0
0
40
104
-26
209
126
176
97
-4
52
5
8
4
0
0
0
0
0
24
-67
90
34
59
90
-23
-27
49
17
-4
-2
0
0
0
0
0
-82
82
-2
-5
125
99
47
1
-26
33
-3
1
0
0
0
0
0
-5
63
33
65
14
18
9
-41
-9
31
0
0
0
0
0
0
0
5
57
-13
14
-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
-20
45
-33
9
70
-28
-85
0
0
0
15
-48
28
-15
-10
5
0
35
106
114
45
77
-83
-70
0
0
0
-17
12
20
22
4
7
0
135
-35
125
142
40
63
-9
-62
-30
-45
41
14
-12
69
-4
-2
0
91
49
-13
14
93
70
72
130
35
18
42
46
-1
10
-25
0
0
0
-7
108
151
70
23
47
54
89
55
107
-8
-33
-2
10
-6
0
58
72
41
81
-18
53
56
8
134
15
45
-47
16
6
0
0
0
-5
39
70
40
25
43
27
25
100
-11
-16
0
4
-2
2
0
0
6
0
38
-46
47
-43
3
-3
-43
-47
14
-3
0
1
-15
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
14
22
-68
-40
87
43
0
0
0
27
-35
64
-50
6
-62
23
0
-5
36
-25
-76
85
49
0
0
0
64
44
33
-75
-26
-24
9
0
3
-11
77
-75
28
87
32
52
61
-12
-2
19
-22
-27
34
47
0
-14
-34
32
69
-16
36
16
6
65
34
-19
27
-81
-3
16
43
0
-6
-96
39
-42
-52
33
43
53
3
-3
27
18
90
-62
-77
5
0
2
-33
32
26
-21
-57
23
18
1
24
9
-25
159
-65
-34
-6
0
0
5
-27
-43
27
-28
40
14
24
11
11
-16
-32
30
-10
19
0
-1
-10
-4
53
57
-3
32
25
22
-10
13
-53
12
-14
-74
-26
0
0
2
25
-6
3
12
62
1
-5
5
32
69
-14
-71
25
-30
0
0
57
58
128
-18
51
0
0
0
25
-42
-36
-33
27
-29
1
0
0
-36
109
-33
5
63
0
0
0
24
9
-5
-13
19
32
-8
0
0
-60
105
33
18
42
-4
46
18
27
21
18
-97
13
-10
0
0
0
69
-45
5
46
-4
12
19
-8
-7
25
14
-23
43
-38
0
0
0
40
1
34
-18
48
12
32
6
-7
21
14
3
-57
33
29
0
0
86
19
-15
14
37
5
-17
5
36
-5
-11
-133
72
-27
-37
0
0
-44
41
-26
-16
2
83
-63
10
53
-28
26
-30
-50
-26
-5
0
0
-1
48
-39
7
-19
78
51
12
66
66
39
-7
-9
56
48
0
0
13
14
-33
34
72
-23
14
-14
-2
0
0
4
0
0
0
6
75
-41
14
146
-81
10
0
0
0
23
27
7
-18
0
0
0
22
90
81
-31
72
74
-86
0
0
0
-38
4
-24
49
5
-1
0
57
177
49
-69
36
158
-38
-27
-3
-51
58
2
23
15
8
0
0
94
46
88
-60
1
92
94
92
49
29
54
26
-98
-46
-5
0
0
44
100
-28
109
25
34
9
48
104
25
116
1
-5
-39
14
-2
0
-29
165
72
12
123
49
-4
59
53
102
28
33
-3
5
7
0
0
-43
67
19
-67
-28
-86
38
62
-6
43
5
0
4
0
-2
-1
-1
82
4
19
-4
-12
27
19
62
89
-31
5
-3
-1
1
18
0
0
0
-7
2
-22
59
2
5
5
-2
-1
3
-2
0
0
0
0
0
-39
109
26
46
5
-38
14
0
0
0
36
23
0
0
0
0
0
98
88
30
-103
18
-12
31
0
0
0
41
-88
-2
0
0
0
0
168
46
34
25
-29
47
-23
51
-81
84
-97
15
-2
0
0
0
0
16
111
53
2
-16
-1
-124
-37
-30
-20
44
-29
-1
0
0
0
0
-2
-5
-5
52
-93
-61
97
18
101
-38
-10
-21
10
-1
0
0
0
22
62
14
83
70
34
31
-20
-11
15
-17
24
-2
0
0
0
0
13
-10
13
22
14
-13
106
-4
85
-68
21
0
0
0
0
0
0
-17
41
23
11
30
5
109
108
56
42
-5
0
0
0
0
0
0
1
-1
-1
-4
47
0
44
35
7
3
0
0
0
0
0
0
0
-7
56
-26
-50
67
-88
0
0
0
0
58
-71
-11
0
2
0
0
-33
0
-64
18
16
-89
-32
0
0
0
69
12
-97
-9
0
0
0
78
-76
5
91
32
-39
-147
-3
27
65
42
9
23
4
-1
0
0
31
72
24
10
31
31
-30
-33
43
139
118
90
-27
4
0
-3
0
65
-30
-27
11
129
50
-59
25
-109
72
76
14
29
-3
-2
0
0
2
-37
-18
90
54
97
89
6
32
76
78
17
-1
1
0
0
0
-35
-54
35
8
-47
110
71
76
81
73
-5
52
3
-7
0
2
0
1
43
-3
24
83
105
79
16
126
7
-20
5
1
1
0
0
0
10
-14
0
1
4
7
14
-11
60
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-71
-4
-52
-70
-8
-2
0
0
0
0
0
0
0
0
0
0
-43
-136
38
-42
-71
-26
-31
0
0
0
0
0
0
0
0
0
0
10
9
-65
7
59
18
1
0
0
0
0
0
0
0
0
0
0
-15
-21
-3
-60
-25
-18
-1
0
1
0
0
0
0
0
0
0
0
2
-45
50
-11
-5
5
1
0
0
0
0
0
0
0
0
0
0
17
83
-42
10
14
-4
0
0
0
0
0
0
0
0
0
0
0
22
34
47
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-37
-71
-14
-5
1
0
0
0
0
0
0
0
0
0
0
0
-44
3
21
-5
1
0
0
1
0
0
0
0
0
0
0
0
0
-19
29
-17
-54
36
0
0
0
0
0
0
0
0
0
0
0
0
-43
-54
-87
-61
6
24
-23
0
0
0
0
0
0
0
0
0
0
40
-23
-20
82
-10
-62
-5
2
-1
0
0
0
0
0
0
0
0
25
5
-17
33
110
23
-11
0
-2
-1
0
0
0
0
0
0
0
22
22
-107
-65
14
-52
-3
0
-4
0
0
0
0
0
0
0
0
36
-38
-106
-37
-8
-19
3
0
0
0
0
0
0
0
0
0
0
2
5
5
-38
-37
-8
0
1
0
0
0
0
0
0
0
0
0
-3
-43
3
-44
-10
0
6
0
0
0
0
0
0
0
0
0
0
-3
4
53
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
-10
32
-36
40
-43
-157
-45
0
0
0
0
0
0
0
0
0
0
47
-5
-47
-22
23
-51
9
0
0
0
0
0
0
0
0
0
0
-54
0
85
-56
-20
-148
-5
0
1
0
4
0
0
0
0
0
0
-4
-6
-94
-47
-37
49
5
0
-1
0
0
0
0
0
0
0
0
-9
46
43
-106
-36
5
0
0
0
0
0
0
0
0
0
0
0
-6
-8
5
17
23
1
0
0
0
0
0
0
0
0
0
0
0
-2
48
-25
47
-5
3
0
0
0
0
0
0
0
0
0
0
0
-11
-2
-29
-44
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
44
15
-142
27
-47
0
0
0
2
-2
0
0
0
0
0
1
45
91
-45
-83
-61
-184
0
0
0
-1
0
0
0
0
0
0
-9
-14
54
40
-6
-56
-130
-137
-126
-3
0
0
0
0
0
0
0
7
13
23
10
-112
-92
-58
-11
-4
-1
0
0
0
0
0
0
0
-21
-5
59
5
-63
-11
-27
-14
-1
-2
6
0
0
0
0
0
0
2
-33
-30
-21
8
89
-14
6
1
-1
0
0
0
0
0
0
0
-2
-21
62
-32
2
6
-4
7
-1
-2
0
0
0
0
0
0
0
0
-13
-33
-3
-5
4
1
0
0
0
0
0
0
0
0
0
0
0
25
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-6
-57
-61
-37
-53
-35
0
0
0
0
0
0
0
0
0
0
-61
-26
5
-22
-24
-92
-41
0
0
0
3
0
0
0
0
0
0
-23
-71
3
-82
16
-32
-37
-16
-3
-11
0
0
0
0
0
0
0
19
-9
-24
57
-10
-19
-22
-33
-3
-24
0
0
0
0
0
0
0
-48
-23
65
55
-53
11
53
14
-31
3
0
0
0
0
0
0
0
-34
21
58
42
-31
24
-1
-46
-2
-4
0
0
0
0
0
0
0
3
-21
-39
-25
-5
5
1
0
0
0
0
0
0
0
0
0
0
1
45
-41
-9
2
-1
0
0
-3
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
-133
-99
-19
-76
-203
0
0
0
-107
-68
11
-36
-2
-1
0
19
-33
-14
-50
-72
-54
-161
0
0
0
-117
-10
-44
-31
-9
-5
0
28
-29
144
-84
17
-27
-70
-169
-207
-121
-74
-67
-100
11
-36
0
0
35
102
8
-1
1
-5
36
-86
9
-87
9
15
53
-33
-2
0
0
-14
-49
-90
-41
92
-60
21
-4
0
60
39
31
-25
-8
0
3
0
-90
-23
-35
-59
53
31
-31
-23
-17
34
-23
64
-6
1
0
-3
0
-1
-1
49
-64
-10
-16
-62
21
38
-8
69
-3
0
-1
0
0
0
-23
47
0
13
-49
-3
-23
-16
-14
-11
-2
0
-7
0
0
0
0
-2
0
1
18
4
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
-19
9
-7
-118
-53
83
0
0
0
24
17
21
12
0
-148
-4
0
17
-31
13
-45
-23
-98
0
0
0
-4
-29
-100
-53
-62
-14
-27
0
-22
-2
-30
-116
-90
-38
-68
-90
-50
-32
-97
-29
-16
-58
29
12
0
-33
-45
10
28
-90
-23
-103
-10
-12
5
-4
5
9
-19
-15
-19
0
-24
-20
-23
22
-36
-116
-45
44
-49
43
-29
-14
-66
-28
33
7
0
-2
-26
-40
-75
37
13
-40
-30
-79
-53
-9
45
-62
-9
-1
-10
0
0
-62
-54
5
0
5
-29
31
-16
-3
-36
19
-1
-57
-52
-26
0
0
-20
-14
-24
-143
30
79
-5
2
-14
9
-36
5
64
31
9
0
0
-13
-33
57
21
33
-10
31
1
22
-34
-28
-28
-36
-33
-4
0
0
-61
-39
-37
-53
-48
0
0
0
5
-7
-30
-34
-18
-7
0
0
0
-95
47
-15
-55
-72
0
0
0
4
-36
-43
-79
0
4
15
0
0
-45
2
-115
-73
-120
-93
-14
-7
2
-9
-32
7
-72
-1
1
0
0
-122
-26
-27
-6
-131
-4
-36
-64
-97
14
-5
74
7
11
-11
0
0
33
-9
-80
-9
-25
33
19
-55
-26
20
-57
-27
-9
20
-35
0
0
18
-62
56
1
-57
34
8
34
8
-44
-41
10
33
-26
11
0
0
2
-23
-46
13
2
54
-28
-4
-46
-18
-37
-133
55
11
6
0
0
-9
-5
51
-3
7
-74
19
-10
-17
-13
17
-28
-8
-3
-41
0
0
3
-60
15
6
-65
6
20
-4
1
-1
0
-1
0
0
0
1
24
-32
-55
3
-72
-177
0
0
0
-115
-45
-4
6
0
0
0
45
-18
-43
-14
23
18
-211
0
0
0
-71
-92
-58
23
14
-4
0
-26
-71
-37
19
21
-31
-103
-70
-90
-53
-70
-100
-57
-53
-7
0
0
-55
-53
-123
-1
-22
0
2
-16
-76
-14
-27
-67
-73
10
-20
0
0
-55
28
-9
-50
-100
75
-60
-19
-1
3
-166
-2
-25
-10
-13
0
0
-19
75
-43
18
-34
-28
-14
-38
-35
-14
5
16
0
0
0
0
0
16
-1
-75
-1
12
14
63
24
64
-34
19
-49
-17
0
0
-2
0
-7
-61
-47
-6
-79
-6
-16
-31
-25
5
4
-4
-1
-5
1
0
0
0
-1
-7
25
-6
0
-2
0
0
2
0
0
0
0
0
0
0
73
-18
-23
57
-23
-50
-103
0
0
0
18
-26
-1
0
0
0
0
-58
-62
-14
-42
-99
-87
-166
0
0
0
-40
-50
3
-1
0
0
0
65
-21
73
-11
42
-133
-93
-164
-50
-86
-71
-9
-5
-1
-1
0
0
-9
-1
-58
-3
-57
-20
-18
-37
-3
-66
-69
3
0
0
0
0
0
-5
-23
10
0
-31
-75
-10
-74
-16
-81
2
-13
0
0
0
0
0
-16
11
-4
-130
25
102
-33
3
80
30
-25
2
0
0
0
0
0
-2
0
2
39
51
17
59
-51
-23
1
0
1
0
0
0
0
0
0
7
22
9
5
-8
-60
-20
6
6
-2
-2
0
0
0
0
0
0
0
0
-1
7
0
3
-2
2
-9
0
0
0
0
0
0
0
-4
22
-13
2
7
-81
-43
0
0
0
64
-31
2
3
0
0
0
8
-9
-89
-76
-90
-64
-146
0
0
0
9
-39
5
1
0
0
0
4
-136
-5
-47
-57
-25
-146
-150
-118
-21
-99
-4
-29
2
3
0
0
4
-96
-15
-94
-36
-88
-59
18
-19
-51
-17
31
3
-3
0
0
0
2
39
26
-2
-19
33
-8
32
-66
-66
50
-60
7
0
0
0
0
4
-16
-7
-58
-63
34
-3
-69
50
60
-179
-5
-6
0
0
0
0
0
-9
1
10
-14
16
59
-15
-80
21
-3
9
0
0
0
0
0
0
-3
4
19
49
32
1
32
35
13
10
0
1
0
0
0
0
0
0
0
0
-1
0
-1
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-25
-13
-8
18
13
0
0
0
0
0
0
0
0
0
0
0
1
5
-15
3
-5
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
1
13
7
9
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
-2
8
0
0
25
0
0
0
0
0
0
0
0
0
0
1
1
0
-50
30
-20
-31
0
0
0
0
0
0
0
0
0
0
0
-1
27
-6
14
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-8
-18
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
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
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
39
-14
-1
-1
0
0
0
0
0
0
0
0
0
0
5
-1
-7
-33
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
7
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
0
14
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
-18
21
35
2
0
0
0
0
0
1
1
1
0
0
0
37
71
-8
-2
-18
-1
0
0
0
0
0
0
4
1
29
27
48
-19
25
-2
16
-14
3
0
0
0
0
0
0
-1
6
11
2
11
-7
-21
-6
18
-6
4
0
0
0
0
0
0
3
0
-7
-17
-7
-5
33
-17
-2
0
0
0
0
0
0
0
0
0
-2
6
-13
-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
-2
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
11
10
0
0
0
35
-4
0
-2
0
-1
0
0
0
0
0
0
0
-6
-17
-14
-6
26
11
6
0
3
1
0
0
0
0
0
0
1
9
26
6
2
-3
-1
2
0
2
2
0
0
0
0
0
0
0
3
9
5
13
3
14
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
19
0
0
0
24
-9
78
26
10
28
16
0
0
0
0
-4
5
29
16
0
0
-5
44
14
47
30
-5
0
0
0
0
1
-2
9
21
20
-43
43
29
-31
78
82
32
90
-19
0
0
0
0
1
0
-1
-7
5
-29
21
64
80
63
68
97
71
0
0
0
1
0
3
-15
-9
-13
30
28
-20
63
38
-7
-3
-17
0
0
0
0
0
0
-6
-2
-15
-11
-23
4
1
68
34
-49
6
0
0
0
0
0
0
0
0
1
0
2
83
-43
2
-28
-9
2
0
0
0
0
0
0
0
-4
-3
2
-3
-27
-36
-14
-24
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
-4
0
0
6
33
-53
26
9
-120
-58
0
0
0
0
0
0
0
-2
-4
7
4
-28
45
-10
24
0
4
0
0
0
0
0
-1
0
18
29
-18
-4
33
49
28
47
171
69
0
0
0
0
0
0
7
11
14
3
-19
-29
-14
16
64
-32
-15
0
0
0
0
0
0
-2
-8
-16
-24
-27
20
38
-12
74
-24
-33
0
0
0
0
0
0
0
-1
-7
29
16
-11
6
-36
-27
-33
14
0
0
0
0
0
0
-2
1
-7
2
13
90
19
51
3
59
-20
0
0
0
0
0
0
0
1
1
-10
20
-9
22
-4
17
-3
13
0
0
0
0
0
0
0
0
-3
-3
1
25
-6
-8
-14
-5
-1
0
0
0
0
0
0
-7
-7
0
-55
58
80
30
23
23
13
-4
0
0
0
0
0
0
-1
15
85
13
0
48
14
-3
-9
30
-9
0
0
0
0
1
0
-33
-17
-5
8
-13
7
0
10
-29
-9
50
0
0
0
0
0
1
4
-15
-5
52
9
8
19
29
18
-30
9
0
0
0
0
0
0
4
4
5
5
82
-73
-10
13
5
76
44
0
0
0
0
1
0
-6
14
-31
33
-28
25
-13
-40
61
3
-37
0
0
0
0
0
0
0
-9
10
17
-10
26
28
-2
10
45
-24
0
0
0
0
0
0
1
0
2
26
-3
-10
10
51
-5
20
-14
0
0
0
0
0
0
0
0
0
0
1
0
5
14
5
0
0
0
0
0
-3
-1
13
17
50
0
0
17
69
-32
-19
-29
82
5
0
0
0
1
5
23
-5
0
76
0
56
48
27
63
119
-56
1
0
0
0
2
-15
-18
29
-32
12
27
61
14
87
24
17
52
54
0
0
0
0
0
8
-46
-38
8
-19
-20
-43
63
19
-13
18
33
0
0
0
0
0
7
5
14
5
-10
-30
58
23
1
95
46
0
0
0
0
0
0
-3
1
4
17
-57
19
9
-76
86
-18
11
45
0
0
0
0
0
1
-2
-26
-14
30
-23
-3
-31
33
-38
7
7
0
0
0
0
0
1
3
-7
17
-3
4
4
-32
7
15
1
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
-11
3
0
0
0
0
0
0
0
4
6
14
0
-14
74
22
-40
4
5
29
11
0
0
0
0
0
0
27
0
-19
0
33
-3
38
-23
-51
-5
-3
0
0
0
0
0
4
-9
34
0
10
14
31
-17
16
-43
-2
-3
0
0
0
0
3
0
-9
-15
-14
7
51
-19
15
1
-5
27
-10
0
0
0
0
1
0
-1
-1
18
-10
-9
33
-6
81
31
25
11
0
0
0
0
0
0
0
-1
1
0
32
22
5
31
-5
3
-1
0
0
0
0
0
0
0
0
0
5
11
0
-9
16
-16
-5
0
0
0
0
0
0
0
0
0
-1
-1
0
-7
27
-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
6
0
0
0
56
-10
32
32
6
14
11
0
0
0
0
0
0
3
57
0
43
1
23
20
-19
4
16
35
0
0
0
0
0
0
1
35
-15
-8
9
43
4
27
-19
11
24
0
0
0
0
0
0
-1
27
-3
17
7
10
3
-33
37
15
2
0
0
0
0
0
0
0
1
-5
2
-3
8
27
-11
-2
-18
-5
0
0
0
0
0
0
0
0
-15
3
-6
26
-14
21
-10
46
0
0
0
0
0
0
0
0
0
3
0
-1
2
3
13
-29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-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
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-6
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
18
-11
-34
-3
17
0
0
0
0
0
0
0
0
0
0
0
-2
-6
1
16
23
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-37
-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
-18
0
0
0
0
0
0
0
0
0
0
0
-8
4
41
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
-3
-4
6
38
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
-17
31
5
-20
30
0
0
0
0
0
0
0
0
0
0
0
-1
-2
8
-14
50
-10
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
26
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-9
-10
-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
15
12
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
2
-30
16
-58
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-36
8
-3
3
0
0
0
0
0
0
0
0
0
0
0
3
8
-16
-6
-20
5
0
0
0
0
0
0
0
0
0
0
-1
1
4
1
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
11
-14
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
8
1
-7
-3
-13
0
0
0
0
0
0
-1
0
6
0
0
0
-44
-6
5
3
9
-4
0
0
0
0
0
0
4
4
-27
-54
-44
-6
8
-47
-15
26
-1
0
0
0
0
0
0
-2
-3
-6
19
7
25
-4
-25
3
-1
-9
0
0
0
0
0
0
0
1
10
15
21
18
0
-1
0
-1
-2
0
0
0
0
0
0
0
0
6
-8
0
-10
24
-7
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
-24
-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
32
1
0
0
0
0
0
0
0
0
0
0
0
2
-6
3
1
-9
0
0
3
0
0
0
0
0
0
0
0
0
0
5
23
9
-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
17
0
0
0
-28
-18
-22
-72
-71
15
1
0
0
0
0
-3
-9
-3
-3
0
0
-7
43
28
-51
-103
-19
-17
0
0
0
0
-1
-4
-5
25
1
-50
-8
-22
-38
-34
-24
-38
-106
0
0
0
0
0
0
5
14
-5
-34
-54
47
40
-22
-32
32
-80
0
0
0
0
0
9
10
31
-2
42
-11
50
16
47
-28
-44
11
0
0
0
0
1
-6
-7
4
-17
15
29
5
-14
-2
-151
-39
-8
0
0
0
0
0
0
-3
-3
-4
17
39
26
-62
2
32
-80
1
0
0
0
0
0
0
5
3
-3
-3
5
14
-17
11
-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
21
-2
-44
-27
-37
23
-14
0
0
0
0
0
0
0
21
-27
-38
-52
-44
-66
-104
144
-11
-36
0
0
0
0
0
0
1
2
4
-10
23
-43
5
8
-10
-59
-43
0
0
0
0
0
-4
-1
3
14
-8
-9
-12
14
51
-73
43
-9
0
0
0
0
0
0
0
-1
3
-21
-6
-13
31
-5
19
52
34
0
0
0
0
0
0
-1
0
6
5
-13
-33
-7
74
-6
5
-1
0
0
0
0
0
0
0
-1
3
14
-17
-13
1
-14
-44
-32
-45
0
0
0
0
0
0
0
-1
0
13
-7
3
25
-52
7
-34
-21
0
0
0
0
0
0
0
0
1
-5
-2
-1
-18
24
-32
-28
14
0
0
0
0
0
0
2
8
0
49
-46
-19
-34
5
-5
-23
20
0
0
0
0
0
1
-1
11
-79
-18
0
-53
16
-15
-50
-77
4
0
0
0
0
0
0
-1
4
-38
-107
20
-64
-10
8
-34
-46
-16
0
0
0
0
0
0
10
-15
19
2
-28
55
-47
-6
-19
-47
-20
0
0
0
0
0
0
5
-13
-7
-12
1
-23
-13
36
5
35
-71
0
0
0
0
-1
0
-8
-7
13
-5
-9
-3
22
43
15
-53
-74
0
0
0
0
1
0
2
0
16
10
-30
-15
18
-29
13
5
-71
0
0
0
0
0
0
1
0
-4
-4
-34
-7
9
1
28
-4
14
0
0
0
0
0
0
0
0
0
0
-1
-4
-29
3
-2
0
0
0
0
0
2
0
-11
-3
-5
0
0
-78
2
-44
-21
-48
-26
-41
0
0
0
0
3
-43
-8
0
-23
0
-134
-30
-21
-61
-52
-10
-13
0
0
-1
0
4
-22
19
102
-37
8
-123
10
-58
-121
-43
19
-3
0
0
0
0
0
5
12
5
-36
-51
-5
-12
-22
40
39
-33
-9
0
0
0
0
0
-1
2
11
43
46
53
33
42
24
-162
-39
19
0
0
0
0
0
0
6
5
5
12
5
51
-7
-8
29
25
-25
0
0
0
0
0
0
9
-10
-15
-14
21
42
49
44
23
-8
-2
0
0
0
0
0
0
-1
-3
-9
-1
7
33
-21
27
-3
-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
-33
0
45
-6
-36
13
-1
-51
-43
-3
0
0
0
0
0
-5
15
0
3
0
10
9
-7
-43
8
-10
18
0
0
0
1
0
-2
-3
1
5
20
-1
6
-34
-17
9
-33
9
0
0
0
0
0
-1
-2
-9
-3
-19
10
-10
-33
-81
-54
-13
-5
0
0
0
0
0
0
-2
7
-5
8
22
-20
-13
-39
-2
-5
-19
0
0
0
0
0
0
0
-2
1
-2
3
32
-9
23
-16
-2
3
0
0
0
0
0
0
0
0
0
-3
3
6
30
-36
21
-2
0
0
0
0
0
0
0
0
-1
0
0
-1
14
9
-24
-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
0
0
0
0
0
6
-2
1
-15
-20
-5
0
0
0
0
0
0
0
-1
-55
0
13
4
-26
-5
37
-25
-14
-13
0
0
0
0
0
0
0
14
8
-15
0
19
-4
-15
-1
-44
8
0
0
0
0
0
0
4
4
0
24
3
5
-11
19
-19
-24
1
0
0
0
0
0
0
0
-2
-3
-9
11
7
-7
22
19
-2
0
0
0
0
0
0
0
0
-1
-6
6
4
-8
23
-20
-33
-24
1
0
0
0
0
0
0
0
0
0
-2
-1
-3
5
-23
-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
17
0
0
0
0
0
0
0
0
0
0
0
1
-11
37
0
0
5
0
0
0
0
0
0
0
0
0
0
1
-2
15
-17
9
14
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-7
17
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
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
17
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
-13
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-7
11
7
14
0
0
32
0
0
0
0
0
0
0
0
0
0
0
-3
-26
2
14
-46
16
0
0
0
0
0
0
0
0
0
0
0
2
-23
16
4
33
4
0
0
0
0
0
0
0
0
0
0
0
-2
4
9
23
14
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-13
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
6
-9
-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
36
6
0
0
0
0
0
0
0
0
1
0
2
0
3
0
0
22
14
0
0
0
0
0
0
0
0
0
0
0
-1
0
24
-43
13
23
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
9
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
4
24
-20
-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
24
4
5
-7
0
1
0
0
0
0
1
4
20
-1
0
0
0
33
2
3
-10
3
1
0
0
0
0
0
0
3
4
-4
43
-3
84
11
-9
-10
-3
0
0
0
0
0
0
0
4
3
16
-21
24
13
26
7
-4
4
0
0
0
0
0
0
0
0
0
-3
-13
-2
34
-3
1
-15
2
0
0
0
0
0
0
0
-1
0
8
9
-7
-1
-1
-8
0
-2
0
0
0
0
0
0
0
0
0
1
13
0
-9
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
-2
0
0
0
50
-6
-1
0
0
0
0
0
0
0
0
9
4
3
0
0
0
10
-3
0
3
0
1
0
0
0
0
-1
-3
13
43
45
91
6
45
9
-10
-3
1
0
-1
0
0
0
0
0
7
8
6
-16
-34
-5
34
5
-1
0
1
0
0
0
0
0
0
0
0
-11
21
6
-13
4
5
-9
0
0
0
0
0
0
0
0
0
-6
-4
7
31
0
0
-6
0
-3
0
0
0
0
0
0
-1
0
0
0
9
26
-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
-9
0
0
0
15
8
56
58
51
69
24
0
0
0
1
-1
7
22
-11
0
0
76
-14
0
39
65
102
14
0
0
-2
0
-1
0
0
-27
-80
-5
14
14
106
34
18
74
15
0
0
0
0
0
2
-4
-7
-10
-2
26
-51
53
13
43
-8
-45
0
0
0
0
0
-3
-2
-21
-20
33
-49
-7
20
35
35
29
6
0
0
0
0
0
0
4
1
13
0
8
-10
-14
45
-8
32
8
0
0
0
0
0
0
0
-1
10
-8
-17
2
-17
21
9
6
-5
0
0
0
1
0
0
-1
0
-2
2
6
3
-18
14
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
-3
0
0
-73
-48
-75
8
-68
-54
-64
0
0
0
0
0
0
-2
-5
6
14
12
-23
-11
38
29
80
8
0
0
0
0
0
0
0
5
0
-15
37
-15
58
-1
14
-24
9
0
0
0
0
0
0
-2
0
3
-4
15
31
4
-8
14
16
4
0
0
0
0
0
0
0
7
-5
1
-17
38
-2
51
-20
24
82
0
0
0
0
0
0
0
7
0
1
-17
-3
-41
26
-41
-23
113
0
0
0
0
0
0
0
1
-7
-7
-4
-6
-15
13
39
27
12
0
0
0
0
0
0
0
0
3
3
16
37
22
31
31
42
36
0
0
0
0
0
0
0
0
-3
-4
31
-25
11
-8
10
13
13
0
0
0
0
0
0
9
39
0
-36
-7
46
-34
-5
50
-19
-15
0
0
0
0
0
0
2
-9
12
15
0
53
-51
7
-33
5
40
0
0
0
0
0
0
6
13
-18
-18
-14
11
2
26
-18
-24
45
0
0
0
0
0
0
-4
14
24
25
-58
92
-53
38
-18
53
34
0
0
0
0
0
-1
0
2
-15
-18
-11
13
-98
7
97
24
-14
0
0
0
0
0
0
0
2
-2
-1
33
5
-1
55
72
98
-5
0
0
0
0
0
0
0
0
-6
5
0
-34
74
41
34
-6
35
0
0
0
0
0
0
0
0
-1
-14
4
-6
-5
-40
2
25
-11
0
0
0
0
0
0
0
0
0
-1
-1
0
6
9
2
0
0
0
0
0
0
-1
0
43
12
0
0
19
68
48
53
-22
35
24
0
0
0
0
-5
-9
-71
0
-41
0
-4
11
63
75
72
-2
22
0
0
0
0
1
-8
-2
-30
-71
59
10
-10
33
112
6
13
4
0
0
0
0
0
0
6
-5
-11
-53
-28
-53
-10
-40
109
-17
-37
0
0
0
0
1
3
-4
2
13
24
44
32
14
76
59
7
-3
0
0
0
0
0
0
-5
43
-11
47
12
40
-40
27
67
10
-6
0
0
0
0
0
0
0
0
2
-27
1
-55
-14
3
9
-5
-2
0
0
0
0
0
0
0
-1
-9
-10
-8
-2
-8
-5
-2
4
1
0
0
0
0
0
0
0
0
2
1
14
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
-1
-16
8
22
-9
14
20
-10
0
0
0
0
0
-1
-2
0
21
0
16
43
8
-2
0
48
-8
0
0
0
1
3
1
-5
-8
4
-21
33
36
-54
14
18
20
-11
0
0
0
0
0
0
-5
14
25
-5
-21
-7
54
22
5
-11
0
0
0
0
0
0
0
-1
-2
10
17
7
-20
26
34
-10
33
-5
0
0
0
0
0
0
0
0
0
7
13
-6
-5
2
25
2
3
0
0
0
0
0
0
-1
0
0
1
2
4
8
-9
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
-32
-5
20
4
51
26
1
0
0
0
0
0
0
26
5
0
-7
25
9
-4
7
8
65
35
0
0
0
0
0
0
0
5
18
2
-2
14
-5
6
30
48
3
0
0
0
0
0
0
1
17
4
21
-5
17
61
26
0
68
-19
0
0
0
0
0
0
0
4
-29
6
13
-14
3
19
-30
53
3
0
0
0
0
0
0
0
0
0
7
9
7
10
-24
0
5
4
0
0
0
0
0
0
0
0
5
-2
17
5
8
-1
6
-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
-13
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-6
-9
0
99
-44
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
-26
-13
-14
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-9
13
2
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
16
10
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
-9
5
0
0
0
18
0
0
0
0
0
0
0
0
0
0
10
10
-5
-80
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
6
-3
-4
-2
-7
-4
0
0
0
0
0
0
0
0
0
0
-3
0
-3
7
9
-29
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-18
23
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-15
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-7
-9
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
-3
0
0
12
-3
0
0
0
0
0
0
0
0
0
0
-1
-1
35
-35
-19
-11
-10
0
0
0
0
0
0
0
0
0
0
0
2
-6
-13
9
-11
-8
0
0
0
0
0
0
0
0
0
0
1
0
-19
33
3
-5
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
-18
-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
-10
2
4
1
0
0
0
0
0
0
0
0
-1
-4
0
0
0
-39
13
-5
1
-3
0
0
0
0
0
0
0
-1
-1
7
-22
-11
-9
-5
0
1
-1
0
0
0
0
0
0
0
-2
0
1
-1
9
10
21
-2
-3
-2
0
0
0
0
0
0
0
0
1
1
-4
18
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
-10
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
-5
-19
-117
-16
11
0
-1
-1
0
0
0
0
0
0
0
0
0
1
3
0
-5
29
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
-10
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
-62
-48
-11
-36
-12
7
1
0
0
0
0
1
9
-14
5
0
0
-22
-14
25
17
-2
-80
0
0
0
1
0
-3
3
0
-18
-13
-35
26
6
-17
-53
22
-9
21
0
0
0
0
0
1
14
0
-35
3
-23
3
-5
-62
-113
37
1
0
0
0
0
0
-1
3
5
2
1
1
43
-11
41
-8
-119
22
0
0
0
0
0
0
1
-6
-3
19
17
-25
-2
9
11
29
-2
0
0
0
0
0
0
0
-16
1
-4
1
-23
-7
7
-23
-24
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
62
111
11
82
-5
0
0
0
0
0
0
0
2
29
-29
-19
-22
-22
8
-6
-97
-4
0
0
0
0
0
0
-1
-3
3
-17
10
20
-30
0
-20
-78
-7
0
0
0
0
0
0
-1
-4
0
23
-21
-30
50
-5
0
-36
-1
0
0
0
0
0
-2
0
1
1
0
-26
-44
6
17
15
-36
-20
0
0
0
0
0
0
0
-9
4
3
0
-21
24
-2
-51
-26
-103
0
0
0
0
0
0
0
-2
-4
3
-1
7
33
-15
-64
-113
27
0
0
0
0
0
0
0
-1
-4
-5
13
7
-30
2
-88
-34
26
0
0
0
0
0
0
0
2
-1
5
-7
20
-5
-4
28
-55
-14
0
0
0
0
0
0
1
10
0
-15
4
-24
-3
-2
-48
-59
23
0
0
0
1
0
0
-6
-3
-27
15
0
-45
-47
-44
-35
30
9
0
0
0
0
0
0
-4
2
7
12
-46
-2
-48
-23
13
-34
-77
0
0
0
0
1
1
2
-7
-16
-23
28
62
47
16
-53
-5
16
0
0
0
0
0
0
0
-2
10
-9
17
64
25
-6
-17
-35
2
0
0
0
0
0
0
1
0
-23
-13
-11
5
-44
-5
-81
-80
21
0
0
0
0
0
-1
0
0
-4
11
1
-32
9
-62
50
19
32
0
0
0
0
-1
0
0
0
5
10
-2
3
-12
-20
0
-2
-99
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
2
0
0
0
0
0
0
0
1
0
-86
0
0
24
-48
-15
22
-11
15
-27
0
0
0
0
-1
-18
-10
0
-36
0
21
45
-55
-90
-5
1
-29
0
0
0
1
0
-2
5
-20
-39
-119
-66
16
-35
-70
-7
46
-20
0
0
0
0
0
0
-13
-3
4
-20
-12
-10
14
-19
-7
19
-1
0
0
0
0
0
-2
9
-7
-57
-9
13
-6
-62
22
-4
7
-15
0
0
0
0
0
0
0
-8
-36
-17
11
-10
64
46
-21
1
-5
0
0
0
0
0
0
0
0
2
25
21
0
-4
-6
-23
-5
-1
0
0
0
0
0
0
0
3
1
5
-4
9
8
-2
9
14
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
-16
4
3
16
-8
10
-7
0
0
0
0
0
0
1
-7
0
-8
0
-16
-8
-49
-26
-3
-4
-1
0
0
0
0
0
-1
-2
-5
-1
-9
3
-34
-8
7
-15
-7
8
0
0
0
0
1
0
-1
4
3
8
-1
-32
-17
44
-7
1
10
0
0
0
0
0
0
-1
-1
-8
-4
10
-33
21
-15
13
4
-13
0
0
0
0
0
0
0
0
-2
1
5
3
8
16
-7
25
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
-45
-3
16
14
43
25
6
0
0
0
0
0
0
0
5
0
-18
-9
-56
14
9
-13
7
-41
0
0
0
0
0
0
0
5
5
-3
-20
33
1
-26
36
11
-5
0
0
0
0
0
0
-1
1
-3
21
-11
0
9
-14
-8
19
10
0
0
0
0
0
0
0
-15
4
-1
0
-9
4
-11
-16
-8
5
0
0
0
0
0
0
0
-2
-2
0
2
-7
-4
19
-5
25
29
0
0
0
0
0
0
0
0
-1
0
0
3
4
-13
-17
-5
0
0
0
0
0
0
0
0
0
-4
0
1
3
1
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
5
-6
4
-4
-13
-1
0
0
0
0
0
0
0
0
0
1
29
6
-29
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
-36
-7
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
34
-23
23
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
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
10
10
13
-4
-3
-2
5
0
2
0
0
0
0
0
0
0
4
-2
-1
58
7
-6
-9
-3
8
2
0
0
0
0
0
0
0
-1
-43
32
-5
-3
13
4
0
-1
1
0
0
0
0
0
0
0
-1
2
-5
-17
-13
7
0
1
0
0
0
0
0
0
0
0
0
4
18
16
-36
0
-14
-2
0
0
0
0
0
0
0
0
0
0
1
5
-9
14
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
14
-9
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
10
5
5
-3
5
-20
0
0
0
0
0
0
0
0
0
2
-1
-15
14
1
13
3
6
-7
0
0
0
0
0
0
0
0
-1
-8
-21
-14
-20
-1
0
1
0
0
0
0
0
0
0
0
0
-1
-15
19
34
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
2
10
32
4
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
23
-5
4
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
0
1
0
0
0
0
0
0
0
0
0
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
11
13
3
14
-1
0
22
0
1
0
0
0
0
0
8
1
16
5
24
18
9
21
-53
-16
0
0
0
0
0
0
0
0
-10
-5
-11
-33
19
10
-5
-8
-5
0
-1
0
0
0
0
0
9
8
-4
35
26
-1
5
13
14
3
0
0
0
0
0
0
0
0
-4
-11
19
4
-1
14
-1
0
0
0
0
0
0
0
0
0
1
-2
2
-1
-5
18
0
4
0
0
0
0
0
0
0
0
0
0
-1
-1
0
33
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
-15
0
0
0
0
0
0
0
0
0
-3
0
7
19
11
10
14
2
5
0
0
0
0
0
0
0
0
3
6
20
7
32
1
-5
0
-2
1
0
0
0
0
0
0
0
-8
14
11
4
-11
0
11
-3
2
0
0
0
0
0
0
0
0
2
-15
34
-1
-1
2
-2
-1
0
0
0
0
0
0
0
0
0
0
-3
-8
-4
9
-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
17
-14
-59
-14
26
42
8
0
0
18
5
1
0
0
0
0
27
68
26
23
91
62
0
1
-51
0
11
17
14
0
1
0
0
-16
-14
-5
-33
36
3
53
49
-87
62
54
-5
7
1
0
0
0
-15
23
-8
-23
20
55
-18
6
5
107
70
43
-1
1
0
0
0
4
-16
23
34
47
53
17
80
19
39
30
21
-1
0
0
0
0
0
-11
20
-18
13
-16
-11
41
17
-14
14
-4
0
0
0
0
0
0
32
-10
-5
-15
-20
1
-13
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
-10
35
53
23
-28
-48
0
14
-13
17
0
0
0
0
0
0
1
-3
52
-12
53
-25
50
69
-18
22
-9
14
-1
-1
0
0
0
-1
-9
1
3
12
7
5
45
5
26
-13
6
2
0
0
0
0
0
6
-36
18
-13
29
66
46
-17
-2
2
3
0
0
0
0
0
0
-1
-14
5
-48
-43
4
-21
55
-33
-6
1
0
0
0
0
0
0
6
15
10
-1
56
-17
-11
50
-2
1
7
0
-2
0
0
0
0
4
11
-26
-15
2
20
5
7
5
1
2
-1
0
0
0
0
0
0
7
10
5
-9
-1
32
7
43
-1
-5
0
1
0
0
0
0
0
0
-1
0
5
3
-3
43
-23
-1
6
0
0
0
0
0
0
-8
-7
47
87
75
19
0
82
17
32
3
0
1
0
0
0
0
7
-39
39
42
48
99
2
-16
9
-20
-1
2
0
0
0
0
0
-32
5
50
48
-14
49
-44
47
-26
-2
-20
7
0
0
0
0
0
-33
15
9
-23
73
-10
16
6
2
20
5
-3
3
0
0
0
0
-4
-19
-6
115
42
20
-2
30
27
14
23
7
0
0
0
0
0
-2
-22
-11
34
45
85
29
8
-26
10
-21
1
0
0
0
0
0
-1
-1
30
8
3
-27
20
5
-25
5
25
-1
0
0
0
0
0
0
10
32
-32
-4
13
14
-8
5
-5
-6
0
0
0
0
0
0
0
0
15
0
-24
15
-4
-1
0
0
0
0
0
0
0
8
20
-21
26
8
8
30
-30
0
-16
8
34
-3
0
0
0
0
-7
4
28
59
89
28
-39
6
0
-3
-1
24
16
-4
0
0
0
-43
54
-25
28
-37
36
53
53
-32
33
12
34
-4
-3
0
0
0
-13
81
43
-3
57
47
9
-20
54
44
9
8
1
-1
0
0
0
15
66
53
0
28
29
-9
13
-5
14
45
5
3
2
-1
0
0
13
8
-2
4
21
7
-10
27
-6
13
22
9
0
2
0
0
0
1
8
-17
2
-1
-25
4
52
1
-7
-3
1
0
0
0
0
0
0
-1
-3
-7
6
8
-18
-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
45
25
-20
9
0
-9
-1
5
-1
0
0
0
0
4
9
43
11
53
6
82
-29
34
7
2
1
6
0
0
0
0
18
22
14
-1
4
9
-77
16
29
-32
10
-1
0
0
0
0
0
-8
-10
0
-6
34
0
31
15
75
21
-2
1
0
0
0
0
0
20
1
-19
-33
29
-9
20
34
-14
14
0
1
0
0
0
0
0
0
-5
-21
35
-34
8
23
-14
-17
1
1
0
0
0
0
0
0
0
0
11
0
32
-26
-14
35
-3
-1
1
0
0
0
0
0
0
0
0
-2
2
0
24
-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
19
-21
5
5
23
-7
33
0
-16
3
0
0
0
0
0
0
8
11
-17
3
5
11
30
24
-33
47
0
1
0
0
0
0
0
-2
11
43
7
-11
4
33
-10
-27
33
2
-2
0
0
0
0
0
9
52
-9
0
-9
-7
13
48
11
14
10
0
0
0
0
0
0
0
-7
5
20
-7
-5
25
19
-6
2
-2
1
0
0
0
0
0
0
4
4
9
9
-9
2
-4
10
14
0
0
0
0
0
0
0
2
0
5
-3
6
17
18
11
3
-7
-2
0
0
0
0
0
0
0
0
0
0
-1
-6
1
5
21
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
11
-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
23
-34
3
-5
-2
-4
0
0
0
0
0
0
0
0
0
-1
-13
23
17
-5
0
4
-25
5
1
0
0
0
0
0
0
0
2
-3
-45
8
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
21
-3
19
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-26
-19
9
1
-1
0
0
0
0
0
0
0
0
0
0
0
-11
-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
-18
-6
-8
26
0
5
0
0
0
0
0
0
0
0
0
16
-16
-64
18
-1
-22
4
-14
18
-7
0
0
0
0
0
0
0
2
-32
-13
-9
15
32
17
2
1
1
0
0
0
0
0
0
0
-13
19
49
48
16
-3
0
0
0
0
0
0
0
0
0
0
0
1
5
4
62
16
-15
-5
0
0
0
0
0
0
0
0
0
0
0
-7
8
16
-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
-23
-10
-35
-18
6
-8
5
0
-1
0
0
0
0
0
0
0
0
-13
-53
-19
-5
8
4
19
10
-4
0
0
0
0
0
0
0
-1
58
16
-4
33
8
-7
0
0
0
0
0
0
0
0
0
0
0
33
-27
-7
-11
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
-13
0
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
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
-1
-3
-6
-21
7
7
-3
-47
0
-9
0
-2
0
0
0
0
0
-3
-14
-66
27
-10
0
2
-82
-39
-58
0
0
0
0
0
0
0
-9
-6
-15
-8
22
19
45
-7
4
0
0
0
0
0
0
0
0
2
19
-1
27
-5
1
-23
14
-4
-4
0
0
0
0
0
0
0
0
0
4
-2
11
11
7
-9
0
0
0
0
0
0
0
0
0
-2
-3
5
29
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
-19
9
5
-1
0
-3
-6
0
0
0
0
0
0
0
0
0
1
-3
17
21
-3
-8
2
-7
1
2
0
0
0
0
0
0
0
0
10
32
-11
-2
1
2
0
0
0
0
0
0
0
0
0
0
2
-6
0
19
3
0
1
0
-1
0
0
0
0
0
0
0
0
0
5
-7
-14
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-8
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
-20
5
27
-33
62
-205
0
-102
-20
-3
-5
6
0
0
0
-1
14
2
2
-47
-27
43
-145
-70
-47
-19
-5
-4
-5
-2
0
0
17
25
-10
-71
-23
48
-8
26
88
79
2
7
-38
9
0
0
0
14
5
-35
11
-20
-98
20
76
62
21
-58
-3
7
3
0
0
0
24
6
-18
-55
-16
-3
-43
5
-5
-1
23
-26
8
0
0
0
0
4
-11
47
27
-8
25
-29
-4
-39
18
-4
-7
0
0
0
0
0
0
-3
-14
2
-21
-5
15
-18
3
1
1
1
0
0
0
0
0
0
0
4
18
7
2
-6
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
-9
-35
-30
8
-50
82
0
-60
-44
-18
-19
1
0
0
0
0
0
14
27
-1
-74
10
-14
23
-14
-53
-48
-17
-3
0
0
0
0
0
-13
2
-9
8
-32
-53
14
2
-14
32
-14
5
0
2
0
0
0
0
2
-78
-4
-53
14
-27
13
-13
-21
0
-2
0
0
0
0
0
-1
37
-9
19
-36
-3
53
9
27
0
5
8
0
0
0
0
0
-3
0
-25
-4
-10
-15
-27
23
4
1
2
0
1
0
0
0
0
0
-10
-2
-9
-37
1
64
27
15
1
3
7
0
0
0
0
0
0
0
20
-4
16
30
-17
-11
-10
24
-6
-1
0
0
0
0
0
0
0
-1
-1
-2
7
31
-36
7
-13
-2
-1
0
0
0
0
0
-7
42
-92
-126
-16
-26
0
21
21
-23
43
0
0
0
0
0
0
13
21
107
-101
-42
-94
28
72
25
12
-20
7
0
0
0
0
0
-25
-44
-77
-10
-44
-61
60
-71
10
-33
-2
-10
0
0
0
0
0
-13
-32
-28
-17
7
43
-82
-8
-24
19
-1
9
-1
0
0
0
0
8
44
-15
-65
5
58
-53
-26
14
-7
-11
7
-2
0
0
0
0
0
-2
-14
-23
7
47
15
-15
15
14
-4
-3
0
0
0
0
0
0
-4
4
41
29
8
-14
-10
27
-21
0
-3
0
0
0
0
0
0
3
-53
13
-20
-44
-15
-15
-26
2
2
1
0
0
0
0
0
0
0
-6
1
5
5
-2
6
1
-2
0
0
0
0
0
17
32
-39
16
-22
-28
-55
-125
0
-70
-49
-22
-1
-1
0
0
0
4
28
-96
-71
-13
-38
74
-49
-33
-90
-19
-5
-14
0
0
0
0
-5
25
-14
-66
-38
23
-9
66
17
58
59
2
1
-1
-2
0
0
32
13
19
44
-86
48
6
-16
12
23
16
-41
7
0
0
0
0
-10
-56
13
10
-61
16
33
-9
35
-23
5
24
6
-4
1
0
0
-4
-32
14
33
14
27
25
-39
-6
2
-5
8
0
0
0
0
0
1
6
32
9
6
-6
-6
15
11
5
-18
-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
-9
8
-13
3
-26
-11
-32
0
9
-21
-9
1
0
0
0
0
-2
-5
2
6
21
38
-36
-19
-39
-23
-1
0
3
0
0
0
0
3
-3
31
-1
47
5
51
18
-48
-10
-32
-2
0
0
0
0
0
-3
8
-33
-10
5
-39
9
-32
-26
-5
-1
-3
0
0
0
0
0
0
-7
16
22
-17
-24
-16
-43
24
9
0
0
0
0
0
0
0
0
1
-19
-13
-14
11
-14
-9
-6
1
-6
0
0
0
0
0
0
0
0
8
-1
8
14
-6
-13
10
4
-2
0
0
0
0
0
0
0
0
0
1
-1
2
-14
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
-14
3
-5
0
0
-11
-54
0
-14
-6
0
0
0
0
0
0
-1
-31
-44
-14
-11
16
-17
-13
-45
-17
-5
-5
0
0
0
0
0
5
1
17
2
0
15
-33
19
-13
-8
-13
3
-1
0
0
0
0
5
6
19
-18
23
9
3
26
-33
27
-2
1
0
0
0
0
0
4
-9
-7
5
-2
11
7
-10
-20
21
18
-11
0
0
0
0
0
-1
-1
1
2
-20
3
5
16
13
11
6
0
0
0
0
0
0
0
0
0
0
1
4
-15
-9
17
-5
2
2
0
0
0
0
0
0
-1
0
0
-1
-2
0
6
-39
-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
-10
-5
-11
-3
0
0
0
0
0
0
0
0
0
0
0
4
14
0
21
-1
-10
5
0
0
0
0
0
0
0
0
0
0
1
43
-14
-20
0
-2
0
0
0
0
0
0
0
0
0
0
0
15
0
-11
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
-1
6
14
-6
6
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-4
18
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
11
9
9
-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
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
4
-6
-1
8
2
0
0
0
0
0
0
0
0
0
0
-2
15
14
-2
8
14
-10
0
0
0
0
0
0
0
0
0
0
-5
-2
14
69
-4
7
0
0
-3
0
0
0
0
0
0
0
0
5
-10
-25
10
-1
-6
1
0
0
0
0
0
0
0
0
0
0
1
-4
-24
24
7
-4
1
0
0
0
0
0
0
0
0
0
0
2
-1
-5
17
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
-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
11
2
-5
6
0
0
0
0
0
0
0
0
0
0
0
19
43
-5
-34
-16
-5
0
0
0
0
0
0
0
0
0
0
2
-1
11
10
8
-11
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
-17
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
3
3
-17
0
1
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
0
0
0
0
0
0
0
0
0
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
14
4
13
9
-15
0
0
0
2
3
0
0
0
0
0
-6
-8
7
5
16
5
-1
0
0
0
1
0
0
0
0
0
0
6
4
3
30
46
-17
-20
-4
6
-4
0
0
0
0
0
0
0
13
47
43
-10
2
2
0
7
-6
0
0
0
0
0
0
0
0
0
6
-25
33
-8
5
9
3
3
0
2
0
0
0
0
0
0
-2
3
-14
25
11
-2
16
-3
2
0
0
0
0
0
0
0
0
0
4
31
1
-9
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
-15
1
-11
0
-9
-3
0
0
0
0
-1
0
0
0
0
0
0
20
-13
71
4
2
19
-18
0
0
0
0
0
0
0
0
0
0
6
18
17
7
-2
-1
-2
-5
-17
10
0
0
0
0
0
0
0
4
5
7
18
-3
4
5
-11
10
0
0
0
0
0
0
0
0
20
37
46
56
18
21
5
2
0
-1
0
0
0
0
0
0
0
-10
2
32
-39
9
-3
-3
4
0
0
0
0
0
0
0
0
0
-3
9
36
46
17
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
-20
15
-33
-17
31
19
0
0
0
-6
-43
23
1
1
1
0
14
13
-1
-17
12
-36
47
0
0
0
0
49
-3
-24
3
0
0
4
-17
53
-5
-8
131
92
77
43
-35
16
36
29
6
1
0
0
29
-14
-17
-71
-26
54
16
124
26
8
-23
12
-14
4
0
0
0
0
2
11
10
-6
53
31
14
1
14
44
-6
-5
0
0
0
0
0
-1
-1
-3
-18
17
-8
44
33
30
14
0
0
0
0
0
0
0
-1
-4
-4
-7
22
-13
-13
0
-14
-19
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
3
-19
2
12
0
0
0
-17
-55
5
-1
-4
0
0
0
0
1
55
37
61
64
0
0
0
70
-5
53
36
5
-2
0
0
-1
-13
19
-5
-23
66
2
63
86
-43
-11
13
15
-2
-3
0
0
0
7
-13
8
-24
-6
40
-7
-17
71
20
15
6
-1
-3
0
0
0
-2
7
13
-23
28
-45
80
16
-21
46
2
14
-5
-3
0
0
0
0
-2
-33
11
-17
-33
-24
71
-51
16
22
14
-19
1
0
0
0
0
20
-14
10
-13
-15
82
83
19
40
-22
-6
-2
2
0
0
0
0
10
-43
25
-6
-83
14
-23
47
10
-10
43
-7
-2
3
0
0
0
7
-8
10
1
19
-115
-23
-46
2
-4
-5
0
0
0
0
0
3
-1
33
33
74
0
0
0
53
-13
-17
-22
-3
0
0
0
0
22
24
36
-9
65
0
0
0
-43
33
10
-23
7
-4
0
0
0
41
75
-46
56
71
73
34
-7
43
22
8
7
-5
0
0
0
0
13
1
-7
22
-16
19
11
30
-3
-16
10
-13
3
-2
0
0
0
25
15
-3
57
14
5
-40
37
33
-20
14
-14
-2
0
0
0
0
4
-5
-44
-11
98
-36
-35
95
23
-14
-46
-15
6
1
0
0
0
0
21
-34
37
-31
-33
24
3
13
18
2
-5
-1
0
0
0
0
0
0
24
8
-26
18
-20
26
-53
-32
-5
-31
0
1
0
0
0
-2
-4
-5
10
14
-10
4
-2
-1
0
0
0
0
0
0
9
4
-14
-15
18
33
80
0
0
0
37
9
16
0
0
0
0
1
1
-68
8
40
97
3
0
0
0
27
1
-6
9
4
0
0
53
27
20
-52
-14
35
54
47
-43
51
-5
-10
-8
5
1
0
0
-8
13
37
-64
-19
21
1
74
18
14
-5
-6
-22
0
0
0
0
11
14
19
-11
-60
68
29
61
1
52
-1
-5
-3
-2
0
0
0
0
20
3
15
-14
9
-7
-85
24
23
7
2
1
-2
0
0
0
-5
-18
11
-11
33
0
-16
-4
-20
-9
-2
0
1
0
0
0
0
0
-2
-13
-13
-17
4
13
-1
10
-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
-10
43
-4
-19
0
0
0
-6
6
0
0
0
0
0
11
-2
16
-5
5
16
9
0
0
0
37
2
-1
0
0
0
0
10
6
-19
-2
-17
34
67
4
-51
76
-33
4
-1
0
0
0
0
-1
-13
-19
-46
13
31
-56
-2
-1
23
9
-2
0
0
0
0
0
2
-4
13
45
19
6
23
10
13
1
4
2
0
0
0
0
0
-3
11
11
-2
16
19
31
23
-31
5
1
0
0
0
0
0
0
0
0
2
0
-9
11
-5
-10
18
7
0
0
0
0
0
0
0
0
0
0
1
-2
5
-4
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
3
-11
4
-17
14
11
7
0
0
0
3
17
0
0
0
0
0
-7
3
23
9
-63
35
-34
0
0
0
46
-13
1
-1
0
0
0
13
-36
-3
14
15
-24
7
35
-43
15
-3
-9
6
0
0
0
0
1
22
24
-4
-17
18
-1
12
6
98
9
5
-2
0
0
0
0
4
17
11
8
34
26
-13
56
26
50
-20
-7
1
-1
0
0
0
-1
-8
3
29
31
14
16
33
21
51
5
6
1
0
0
0
0
-1
6
19
10
-13
39
-2
19
33
-5
-2
4
0
0
0
0
0
0
0
-2
2
2
-14
7
-7
13
-4
16
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
-14
-5
-24
32
1
1
0
0
0
0
0
0
0
0
0
0
-17
22
-3
-10
9
1
0
0
0
0
0
0
0
0
0
0
0
-9
-19
-5
-3
19
-5
0
0
1
0
0
0
0
0
0
0
0
-1
0
6
-25
-2
3
0
0
1
0
0
0
0
0
0
0
0
-1
0
-17
0
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
13
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
-10
33
-21
5
-3
0
0
0
0
0
0
0
0
0
0
0
-34
-16
13
-50
-9
19
-3
0
0
0
0
0
0
0
0
0
0
-6
-26
6
43
0
-14
6
0
0
0
0
0
0
0
0
0
0
1
13
2
-18
1
5
-4
0
0
0
0
0
0
0
0
0
0
0
6
-7
-18
16
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
19
5
0
3
0
0
0
0
0
0
0
0
0
0
2
-34
11
-10
-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
18
10
-23
2
0
0
0
0
0
0
0
0
0
0
3
4
-5
-58
-3
-4
-3
0
0
0
0
0
0
0
0
0
0
-4
-6
22
11
18
-7
-2
0
0
0
0
0
0
0
0
0
0
-2
-3
-21
-5
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
10
9
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-34
-2
11
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
-20
5
-2
0
0
0
0
-2
0
0
0
0
0
0
-4
-5
-6
-31
5
-18
0
0
0
-1
0
0
0
0
0
0
-5
-14
-41
0
33
-7
-19
-18
-1
1
0
0
0
0
0
0
0
0
-23
13
24
21
-16
-4
5
-3
0
0
0
0
0
0
0
0
0
9
20
-1
7
2
-4
0
0
0
2
0
0
0
0
0
0
0
-11
1
-13
13
-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
9
-7
-3
1
-5
0
0
0
0
0
0
0
0
0
0
0
-17
-23
6
-14
-10
-16
19
0
0
0
0
0
0
0
0
0
0
3
-11
-26
4
10
-5
0
3
0
-1
0
0
0
0
0
0
0
2
-6
-39
2
-11
-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
15
-4
3
0
-11
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
22
-14
-11
-9
28
-53
0
0
0
4
-28
-10
-7
0
-1
0
8
-3
-18
13
-10
-9
-80
0
0
0
-59
-6
-19
-26
-1
-1
0
17
-5
1
-47
-4
-23
-32
-38
0
-40
-27
-23
-6
-11
0
0
0
-4
-32
-31
24
-10
5
-35
-60
-15
62
43
17
-5
-5
0
0
0
-3
-17
-25
20
7
-18
6
-23
-10
-4
47
31
-3
0
0
0
0
0
-6
3
5
-1
-2
36
2
-39
5
2
7
-2
0
0
0
0
0
11
-1
-5
18
-6
-20
14
14
-2
6
0
0
0
0
0
0
0
3
0
-6
-13
-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
-5
-1
20
9
0
0
0
8
36
28
-23
14
-1
0
0
0
2
5
-12
-19
-63
0
0
0
-55
15
-7
-9
-15
3
-1
0
-2
-10
5
-15
0
-49
-46
-104
-74
56
-41
-33
38
-10
3
1
0
0
-3
0
-22
-17
-45
-15
13
-30
0
-6
-1
-2
5
7
0
0
0
-1
-22
-8
-14
3
-32
-78
-24
-14
-3
-2
-33
20
6
2
0
0
0
-13
-24
-45
-5
31
-16
16
5
55
-14
-4
-17
5
-1
0
0
-1
-6
-19
3
-1
-19
-59
-24
32
-4
42
-16
2
0
0
0
0
0
-3
1
-2
-1
22
-56
-27
-17
29
33
10
3
-1
-1
0
0
0
0
25
-11
-10
-53
56
54
30
38
2
-11
-6
0
0
0
0
-10
-33
-46
-5
-12
0
0
0
-31
-37
-14
28
-2
0
0
0
0
-3
-47
-32
-43
21
0
0
0
34
-7
15
-33
-8
5
0
0
0
-4
-29
8
-16
-21
-3
16
33
8
15
22
-7
-25
0
0
0
0
-1
-14
-1
16
-27
-61
-2
-35
2
30
12
-3
-2
2
0
0
0
-5
-24
1
-25
-47
35
4
19
-20
-8
33
9
1
0
0
0
0
0
-11
-3
-12
-68
-4
-7
-88
27
-21
10
-10
3
0
0
0
0
0
0
-5
-52
25
19
58
-89
-19
8
2
3
1
1
0
0
0
0
1
-6
21
-19
-5
2
7
44
-3
-11
-7
-3
-2
0
0
0
0
0
5
-2
13
11
9
-1
0
0
0
0
0
0
0
-9
8
-11
6
-12
8
-53
0
0
0
1
-28
1
1
0
0
0
8
-13
-25
-34
-73
-11
-62
0
0
0
88
-51
26
1
6
0
0
5
-59
-48
-53
-5
5
22
-13
8
-43
31
-28
9
-8
0
0
0
4
-18
-11
-32
13
-40
6
-16
15
-5
6
0
-1
8
0
0
0
0
20
-33
-62
-32
-7
31
-25
-40
-23
-15
15
-5
-1
0
0
0
-2
1
6
-26
9
-41
1
-46
3
-18
5
1
-1
0
0
0
0
0
5
-15
10
-16
-21
10
21
4
-7
0
-2
0
0
0
0
0
0
0
2
4
-9
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
-23
2
-14
0
0
0
16
-1
0
0
0
0
0
1
-5
6
-23
-43
19
-26
0
0
0
11
-10
4
0
0
0
0
1
-13
5
-15
36
13
-7
-29
3
9
1
10
0
0
0
0
0
-1
-4
-1
0
-7
-7
-18
37
-5
-3
-8
4
0
0
0
0
0
0
1
0
17
3
-24
-5
-6
-18
6
2
0
0
0
0
0
0
0
1
-3
-9
34
9
-45
-25
-5
10
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
-25
0
0
0
22
-7
0
0
0
0
0
0
-4
-9
-11
-6
-4
-6
0
0
0
13
-4
-8
0
0
0
0
0
-1
1
-1
4
-10
11
0
-10
5
-17
0
-2
2
0
0
0
0
2
0
1
9
-11
-18
17
6
9
0
4
2
-2
0
0
0
0
-4
2
-2
1
19
6
6
-2
-2
3
-2
0
0
0
0
0
0
0
-2
3
-8
7
14
6
-5
-3
-25
2
0
0
0
0
0
0
0
0
-1
3
-11
5
9
26
14
-3
0
0
0
0
0
0
0
0
2
0
3
-1
0
7
-5
-24
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
-63
0
32
59
4
-22
138
79
114
28
0
0
0
0
0
0
105
-2
11
81
-7
34
-5
60
24
-10
0
0
0
0
0
0
17
-48
-14
75
-161
-25
89
39
94
142
0
0
0
0
0
0
-6
8
25
41
-197
-67
-22
-27
48
91
0
0
97
45
-68
-90
-19
54
0
33
71
-80
-72
-14
-6
72
0
0
18
-11
-19
-26
-66
-4
0
-155
87
-54
52
-2
-15
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
-93
-112
58
23
0
75
41
-115
-216
-182
-74
31
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-140
-69
-39
-20
-42
79
-42
-77
37
-135
-48
61
-33
0
0
-222
-139
-90
-9
-5
-56
-1
16
-193
-113
-33
-24
22
61
0
0
-187
-75
-72
-10
36
7
-4
15
-151
-64
-33
-15
12
67
0
0
-214
-177
-67
-218
-55
-22
87
-78
-64
-167
-16
-123
-21
40
0
0
-142
-30
-129
-39
-38
59
32
-168
-16
-8
-67
-182
-45
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
0
0
-7
0
0
0
48
33
22
81
-68
62
-9
32
62
-9
0
0
0
0
0
0
-9
11
-30
26
-13
4
-35
39
-62
11
0
0
0
0
0
0
54
-39
2
197
0
-93
-104
-23
51
67
0
0
0
0
0
0
-4
-18
32
10
-125
-93
50
104
36
91
0
0
-35
0
0
0
33
68
0
-59
-68
-102
-81
-239
-28
45
0
0
-2
0
0
0
-196
62
0
-40
-24
-23
4
-43
-18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
-74
-118
-46
73
78
-4
-18
-206
-227
-203
-48
19
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-17
-72
-183
15
31
55
14
-178
-2
-126
-44
18
86
0
0
-139
-116
-73
-26
34
-12
-26
-15
-130
32
55
-18
24
61
0
0
-129
-98
-89
-63
99
74
-29
-49
-222
-56
-129
28
-7
12
0
0
-92
-99
-157
-283
53
37
65
-82
-317
-362
-271
-147
-15
-17
0
0
-220
-4
-158
-171
-46
106
23
-209
-197
-153
-144
-184
48
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
5
0
0
0
-39
26
135
102
-27
-45
54
201
-11
4
0
0
0
0
0
0
-11
30
23
29
-64
27
-30
102
82
-33
0
0
0
0
0
0
-80
-13
10
52
11
-125
-1
108
44
64
0
0
0
0
0
0
-42
-76
19
62
23
-74
12
82
96
35
0
0
-6
-48
-54
4
86
-5
0
-60
14
-211
181
-19
177
70
0
0
-44
-14
-2
-74
63
13
0
-78
136
-37
-21
32
-47
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
121
38
-58
-78
-109
-55
-6
-29
-121
-74
-63
-141
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
84
-64
2
26
-38
-83
-35
-19
187
-243
-74
-69
-207
0
0
-79
-128
58
-35
-27
-71
4
-52
-121
-151
-10
-80
-139
-82
0
0
-8
-52
-52
-53
-56
-137
-1
-15
-57
-48
-36
-18
-58
41
0
0
20
-71
-12
-58
-77
-108
-54
-112
14
-199
12
0
82
34
0
0
-76
19
-82
-10
-49
-58
-79
-111
3
-160
-16
-45
16
-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
-1
0
0
0
-163
-16
-154
33
47
-39
-7
82
-1
-19
0
0
0
0
0
0
-94
-44
1
-5
-82
-24
24
-3
-9
-39
0
0
0
0
0
0
72
-35
6
73
-78
-59
-29
51
-37
-150
0
0
0
0
0
0
43
-33
-45
83
-53
-120
-33
29
-62
-81
0
0
-10
0
0
0
-4
-61
0
-141
-71
-42
-22
-96
-92
-67
0
0
-5
0
0
0
-24
-47
0
8
-90
-14
-5
-43
-62
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-12
10
-41
-130
-28
14
56
-26
-71
-32
-26
-195
-215
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
21
46
28
-5
-2
-161
-48
-35
-194
-129
4
-127
-58
0
0
-19
-50
21
40
-44
-116
-92
-155
-57
-62
66
-44
-187
-152
0
0
-15
-70
-49
-155
-38
-217
0
-130
16
-207
-16
201
-167
-193
0
0
-85
-5
-49
-55
4
-188
-63
-123
-76
-54
-43
15
105
-212
0
0
57
15
-7
-35
-42
-205
4
-97
-50
-180
-97
-53
-125
-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
-2
0
0
0
58
15
104
140
73
-19
-6
68
76
38
0
0
0
0
0
0
-43
-15
72
103
-14
11
-73
187
62
103
0
0
0
0
0
0
-3
-12
72
85
-78
-16
89
36
97
29
0
0
0
0
0
0
47
-42
26
58
43
-98
-64
83
40
115
0
0
5
28
-77
-151
45
45
0
-54
-35
-337
-58
-54
-48
88
0
0
-28
-58
-60
-11
75
97
0
-68
-68
-43
69
-70
-37
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
-85
-47
-40
6
11
25
-52
-165
-188
-155
-115
-5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
6
-87
11
22
6
48
-12
-104
36
-42
-27
15
43
0
0
-112
-13
-41
-81
14
18
0
-8
-118
13
-6
-19
27
49
0
0
-210
-127
-123
-117
-11
13
52
-46
-206
-124
-120
-67
9
23
0
0
-154
-53
-129
-67
-30
50
92
-105
-121
-321
-162
-103
9
25
0
0
-156
-151
-135
-133
77
101
144
-167
-80
-143
-167
-201
-42
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
-13
0
0
0
58
28
96
163
-107
-122
-64
-31
-18
37
0
0
0
0
0
0
29
87
44
69
-23
-211
-128
-47
16
-62
0
0
0
0
0
0
-48
20
89
156
-110
-170
-144
-76
-37
36
0
0
0
0
0
0
-7
68
52
56
-60
-82
-42
-79
-120
-21
0
0
-193
2
-49
22
-25
-3
0
17
-250
-296
-227
-131
16
25
0
0
-24
1
1
0
-43
-2
0
-144
-119
-57
-198
-125
-100
-181
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-168
-53
-124
-26
25
28
23
107
-345
-164
-39
25
-37
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
-123
-38
-105
18
49
21
20
-150
23
8
7
8
52
0
0
-15
-49
-108
-88
43
37
23
9
-69
21
41
-31
35
73
0
0
-131
-5
-60
-58
31
39
50
-22
-221
-99
4
60
-6
23
0
0
-223
-36
-142
-29
-19
50
99
-5
-249
-297
-129
-83
35
0
0
0
-267
-120
-113
-97
0
84
104
-235
-343
-238
-183
-124
45
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
14
0
0
0
7
15
42
8
8
31
6
12
17
-15
0
0
0
0
0
0
-2
121
42
-28
36
-118
31
67
50
71
0
0
0
0
0
0
-2
48
71
23
36
-47
43
49
-43
95
0
0
-2
0
0
0
72
38
56
45
7
-5
7
-1
-8
143
0
0
7
-54
41
51
122
-46
0
-71
-52
-268
46
-31
132
78
0
0
-12
8
-123
-79
34
48
0
-80
-28
-130
28
-59
-39
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
142
94
64
19
-47
37
-37
-14
-105
17
-2
-121
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-17
54
5
29
-11
12
-42
31
9
79
24
-19
-47
0
0
71
122
11
11
12
-14
11
37
38
-7
35
-12
-64
-66
0
0
87
134
-5
-3
-24
17
65
3
34
-103
-14
45
-79
-17
0
0
112
-62
147
51
33
-33
22
-11
39
-260
-51
18
54
-57
0
0
5
-109
-7
-80
-27
-20
7
-115
21
-97
-10
-89
-121
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
-5
0
0
2
33
23
17
-88
89
-95
-157
-107
-53
-74
0
0
0
0
0
0
-25
-4
28
-59
20
-162
-51
-91
-52
-23
0
0
0
0
0
0
-43
-122
-47
-113
-18
-130
-52
-143
-33
-95
0
0
0
0
0
0
66
-147
-58
-30
57
-113
-68
-155
-86
-63
0
0
-137
-3
-11
-1
-71
-132
0
-63
-130
-116
-92
-100
-18
-185
0
0
-100
1
-1
-1
-63
-80
0
-84
-77
-60
-84
-100
-206
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
23
77
-79
-109
-122
-73
-2
56
-16
25
40
-103
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
26
54
107
22
5
-24
27
96
51
92
33
-29
-2
0
0
27
117
30
21
-8
-20
-25
5
45
-9
-34
-3
-59
-71
0
0
66
26
37
-76
-158
-89
-106
-6
87
-65
-16
20
-98
-74
0
0
17
-79
-39
-2
-18
-139
-149
-39
-48
-167
-13
36
10
-230
0
0
-97
-1
-89
-155
-16
-156
-160
-23
-141
-62
34
-85
-124
-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
3
0
0
0
40
21
114
62
50
49
17
8
65
69
0
0
0
0
0
0
-18
77
73
72
41
7
-22
37
31
110
0
0
0
0
0
0
65
-92
83
119
17
-66
-2
26
33
77
0
0
0
0
0
0
9
41
69
-12
57
-67
54
100
1
-43
0
0
-14
3
-16
-112
161
67
0
-5
-5
-178
-25
9
31
-20
0
0
2
-52
-48
-18
-13
49
0
-8
-81
-82
32
63
17
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
5
3
51
-15
-10
35
-43
-46
-9
-11
-10
-44
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-30
-1
35
20
29
-2
44
1
40
12
8
65
0
0
50
-45
57
34
22
6
-3
7
45
55
-7
12
34
20
0
0
-11
7
-22
15
-21
-10
54
-4
-5
-1
8
34
-17
6
0
0
-5
-63
-62
-31
14
20
87
21
-9
-218
-28
87
32
-76
0
0
-72
-34
-38
-56
16
21
127
57
-166
-5
-54
-42
17
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
-13
0
0
0
41
-10
54
53
-10
-59
-88
-61
6
-13
0
0
0
0
0
0
-71
-33
48
60
-2
-147
-25
-36
-43
-25
0
0
0
0
0
0
-9
-27
59
29
-135
-60
-142
-85
-24
26
0
0
0
0
0
0
-98
7
47
17
-5
-60
-54
-109
-66
5
0
0
-105
2
-27
34
-51
-52
0
-22
-218
-151
-48
-3
-41
-26
0
0
-90
1
1
0
-72
-105
0
-71
-109
30
-58
-127
-71
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-55
-17
-25
25
17
-4
51
-76
-52
68
7
-22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-73
5
54
34
50
-5
-5
-31
3
77
39
4
49
0
0
9
12
26
22
66
53
3
0
14
67
4
35
40
50
0
0
8
-66
-4
-3
-3
20
69
-6
-45
-59
9
45
-31
2
0
0
-199
-6
-111
46
-4
30
1
6
-48
-176
-2
-33
23
-24
0
0
-45
-120
-32
-62
-20
2
25
-23
-209
-119
-47
-48
-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
14
0
0
0
-47
-1
-34
-33
49
-37
1
92
21
12
0
0
0
0
0
0
106
32
32
15
-18
-100
34
7
-21
45
0
0
0
0
0
0
28
92
17
-15
107
-51
43
32
46
54
0
0
-2
0
0
0
99
51
28
15
97
-99
22
9
139
91
0
0
36
-14
12
1
-2
-16
0
-35
39
-25
109
42
80
-9
0
0
-5
-4
-52
3
117
107
0
-10
-36
-91
-4
21
-46
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
126
135
99
48
27
34
4
49
130
-28
68
6
-31
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
91
22
69
-1
-3
43
-15
53
49
62
52
43
24
0
0
47
-25
14
-33
9
29
33
86
127
39
62
72
52
1
0
0
92
100
131
104
-38
62
33
64
108
-10
22
1
32
4
0
0
139
-5
146
156
64
22
38
16
115
-223
125
159
13
-27
0
0
61
-95
177
-20
37
-125
-45
55
6
-82
157
66
-27
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
-5
0
0
2
-7
14
76
-71
-100
-85
-59
-72
30
-10
0
0
0
0
0
0
32
-54
19
-111
-24
-63
-42
-72
-28
-4
0
0
0
0
0
0
-24
-55
-15
-96
-5
-99
25
-83
-36
-19
0
0
0
0
0
0
-23
-74
-36
-83
10
-38
-71
-121
-14
-41
0
0
-76
-3
-14
-2
-54
-53
0
-41
-30
-29
31
-51
5
-112
0
0
-90
1
-1
-1
-43
-8
0
-51
25
9
-87
-44
-104
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
19
-7
46
-26
-60
-22
-21
67
24
116
-27
-24
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
-7
37
24
20
-20
8
48
40
168
88
40
-17
0
0
110
66
80
6
10
-14
-17
-19
123
54
-54
22
-47
-18
0
0
29
77
47
-6
-18
-20
-147
8
79
-5
68
-64
-14
-44
0
0
-52
-17
-1
98
-68
-77
-110
38
-7
-83
62
22
-1
-100
0
0
93
40
-45
-18
-29
-133
-214
4
-38
-86
90
-2
-65
-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
37
-67
32
5
-14
144
58
-47
33
25
0
0
0
0
0
0
7
-33
-9
-23
45
21
3
1
-22
21
0
0
0
0
0
0
-18
-6
8
1
47
-4
46
0
-55
-28
0
0
0
0
0
0
-60
14
0
-19
14
-6
34
-4
4
-14
0
0
2
8
-4
18
21
-2
0
20
49
29
-29
37
32
-14
0
0
-4
-1
1
2
2
22
0
93
23
-21
7
-18
1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
71
9
97
-89
43
16
52
58
20
45
31
35
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-18
-18
20
24
30
-15
77
5
22
38
37
21
-16
0
0
45
61
59
18
170
-25
-55
-38
90
108
-31
18
-31
28
0
0
102
61
4
-2
47
23
103
49
210
23
13
0
14
45
0
0
113
6
-39
15
5
-1
-28
22
87
3
85
148
17
41
0
0
78
22
25
46
-23
-68
87
104
35
-5
62
95
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
-60
6
43
-62
11
-27
71
-44
1
-70
0
0
0
0
0
0
-4
-52
-6
-19
25
-17
68
-90
21
36
0
0
0
0
0
0
14
9
41
-23
10
0
9
9
18
-9
0
0
0
0
0
0
-30
34
12
-101
16
17
33
10
-18
-44
0
0
-8
0
3
1
-14
-58
0
-99
18
30
17
39
-24
10
0
0
0
1
0
0
-5
-53
0
-34
14
25
9
31
-23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
37
62
-5
-39
-83
-3
-49
136
-38
43
5
-84
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-4
-41
-2
1
-1
-23
5
27
8
90
-21
-21
47
0
0
18
26
-62
-36
-20
69
40
-53
53
-7
-73
-48
7
12
0
0
100
-56
44
60
13
71
8
-85
-11
-11
25
-9
9
-40
0
0
-3
13
-43
-13
-36
-23
27
18
32
5
23
-79
-82
-57
0
0
40
-5
-4
14
-48
-37
-53
-5
50
25
14
9
-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
-11
-42
-60
-24
10
23
44
37
71
138
0
0
0
0
0
0
5
5
37
3
-20
7
-5
-70
23
19
0
0
0
0
0
0
12
-19
14
-50
5
-34
33
16
-4
35
0
0
0
0
0
0
-14
-9
3
11
-5
3
-1
26
64
-6
0
0
26
2
-3
7
-1
-47
0
35
31
9
46
80
-13
85
0
0
29
0
-1
-1
38
23
0
15
-6
3
8
48
46
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
8
100
46
92
-73
-11
22
58
45
110
21
178
103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
46
-25
3
-29
72
-18
112
14
20
99
-10
49
81
0
0
-11
36
14
25
100
7
-16
-19
27
-20
66
46
97
174
0
0
35
33
100
49
24
-39
-40
109
96
-71
81
53
61
53
0
0
35
14
38
13
57
121
5
79
6
-14
41
39
56
-41
0
0
33
17
43
15
53
-62
-14
155
36
6
71
131
126
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
-2
-62
-17
-83
-22
8
-31
57
-5
56
0
0
0
0
0
0
-5
27
2
-63
7
-19
53
38
10
0
0
0
0
0
0
0
-20
23
-80
-47
14
6
25
21
60
1
0
0
0
0
0
0
-89
-7
-3
-15
15
-13
-7
-5
-8
14
0
0
0
-1
0
0
-1
-58
0
-8
3
46
19
-1
-2
15
0
0
1
0
0
0
-5
2
0
37
26
14
-11
-118
-42
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-29
-10
9
54
15
5
-28
-37
6
76
-62
-6
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-24
27
18
4
-3
-1
-56
-67
-67
-19
47
21
-109
0
0
7
-47
-70
36
-14
53
-9
16
-5
33
62
10
-30
-103
0
0
74
10
2
60
-80
20
-124
-31
-53
-14
-5
-45
8
-59
0
0
27
4
20
7
-72
6
-24
-33
16
-33
-5
16
18
-5
0
0
52
4
9
-5
17
2
-7
56
-14
-3
41
90
-117
-20
-1
-138
-162
-143
-67
-12
8
4
-5
-6
5
73
144
122
111
52
0
0
13
-2
-15
16
14
-11
-16
-12
30
0
-30
-69
0
0
12
2
-6
39
-10
-21
-18
-45
-7
-33
-62
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
20
-1
0
-19
-62
-1
0
0
0
0
0
0
0
-3
-16
-1
0
-11
-76
-18
-108
93
-40
23
18
6
3
0
-2
-26
0
0
0
0
0
0
0
0
0
4
-3
-31
-97
0
-12
-38
-102
16
3
22
-13
0
0
-2
0
-10
5
-13
-39
-18
-41
-7
-33
-62
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
20
-1
0
-19
-62
-1
0
0
0
0
0
0
0
-3
-16
-1
0
-11
-76
-18
-108
-66
-54
-113
-47
-26
-3
3
6
8
1
-11
-22
-43
-68
-93
-148
0
0
-1
-1
-4
-2
-1
-5
-6
-22
2
0
-2
-53
0
0
3
-4
-8
-17
5
-3
-1
2
-4
-17
-11
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-6
-14
0
-18
-20
-62
0
0
0
0
0
0
0
-10
-19
5
0
-4
-83
0
-70
13
-20
-7
-4
0
2
0
1
-20
0
0
0
0
0
0
0
0
0
1
-4
-29
-39
-2
-4
-22
-109
11
1
-23
-55
0
0
-1
-2
-18
-9
0
-34
-1
-31
-4
-17
-11
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-6
-14
0
-18
-20
-62
0
0
0
0
0
0
0
-10
-19
5
0
-4
-83
0
-70
39
7
-30
-31
-11
-17
-16
-10
8
8
4
3
-39
-36
-101
-158
0
0
1
-14
-6
-32
-8
-18
-11
-63
5
0
-4
-77
0
0
-2
-5
-9
-76
-9
-27
-10
-35
-10
-32
-24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-33
-96
0
-15
-60
-93
0
0
0
0
0
0
0
-27
-57
2
0
-9
-93
-8
-96
-1
-31
-35
-18
-2
-1
6
-6
-10
0
0
0
0
0
0
0
0
0
-4
-6
-25
-71
-7
-11
-49
-112
-3
-10
-48
-117
0
0
-5
-3
-34
-119
-8
-33
-4
-40
-10
-32
-24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-33
-96
0
-15
-60
-93
0
0
0
0
0
0
0
-27
-57
2
0
-9
-93
-8
-96
2
-3
93
4
23
-9
29
-9
14
-19
12
-24
-10
-47
-53
8
0
0
-2
-42
-7
-100
-13
30
-50
-100
37
0
-34
-80
0
0
8
-37
20
-69
-27
-58
-34
-96
-20
-17
-32
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-76
0
0
15
-15
-13
0
0
0
0
0
0
0
-21
-53
0
0
-16
-70
-41
-79
50
33
34
25
-9
2
-23
-15
3
0
0
0
0
0
0
0
0
0
-11
27
-32
-109
4
-20
-68
-48
-19
-41
-79
-35
0
0
-24
-17
-28
1
-8
-20
-28
-47
-20
-17
-32
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-76
0
0
15
-15
-13
0
0
0
0
0
0
0
-21
-53
0
0
-16
-70
-41
-79
-32
-6
-4
-3
3
0
-9
16
-29
7
-8
-27
-5
3
-43
0
-1
-3
20
-28
3
6
-2
9
2
0
11
9
-23
-11
27
34
1
-6
14
0
11
4
-22
-24
-4
-61
-9
25
12
0
11
-13
46
6
2
-25
-14
-7
-39
0
19
0
3
0
-8
-28
5
-34
-7
0
85
-6
-7
-2
8
-1
-11
12
46
7
-4
14
19
-16
14
50
32
-4
29
0
-7
-5
42
28
20
44
0
31
11
0
7
1
32
35
-1
21
20
-28
8
0
17
-10
-4
-23
9
23
-8
-25
8
0
-5
-30
-16
-28
-3
37
37
-5
84
0
17
14
18
-21
7
43
-10
13
7
0
7
-2
10
-9
4
-35
-15
-8
-47
7
-13
16
5
-7
-1
-14
-39
-25
-27
2
-29
-12
-31
-15
-2
100
67
22
13
0
38
27
51
2
26
0
71
43
110
0
-8
47
38
71
-14
22
24
2
58
0
22
-15
1
64
4
-29
3
-24
-63
0
-33
-33
-26
-30
11
24
46
1
24
0
22
9
9
-63
21
-5
-22
13
24
0
33
-14
-13
7
13
-47
-35
-5
-28
5
33
6
-22
14
-12
-16
-66
-51
-84
-4
-71
-52
-49
-43
50
10
99
55
87
0
26
-5
23
71
-46
49
104
64
91
0
-29
91
34
19
40
-3
5
-35
15
0
30
6
26
2
8
-20
-13
-13
-61
0
-34
8
-58
15
-22
24
-75
-13
-25
0
-7
5
37
5
26
-25
-19
-19
-16
0
1
-1
46
-9
14
-19
48
23
-11
13
-2
-17
24
11
-8
-35
-44
-45
-32
-16
-28
-19
-6
-44
0
0
0
0
0
3
0
0
0
0
-4
0
0
0
0
6
-4
0
0
0
31
-6
0
0
0
29
7
0
-8
0
25
-22
23
15
13
-36
24
-22
16
41
-95
13
31
-1
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-24
-5
0
0
0
-17
-14
14
-1
0
36
88
24
-11
0
20
-7
-46
42
0
-81
-48
-41
-22
0
0
0
0
0
-5
0
0
0
0
-6
0
0
0
0
-16
0
0
0
0
-3
0
-5
-1
0
-13
15
0
1
13
-55
-18
26
-14
9
17
14
24
-20
-89
-24
-34
-6
-19
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
19
-1
0
0
0
-3
-34
-2
0
0
34
-76
23
-2
0
15
37
58
-14
0
-2
-38
48
-1
0
-93
26
-33
-37
0
0
0
0
0
59
0
0
0
0
23
0
0
0
0
-19
1
0
0
0
-65
4
-2
0
0
-44
-14
-6
-5
-1
-9
31
26
49
-14
-3
18
-1
27
-56
76
-23
49
6
8
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
-1
0
-15
3
0
15
30
-112
1
0
-9
4
-25
-61
0
-32
8
4
14
54
-5
0
0
0
6
0
0
0
0
1
0
0
0
0
33
0
-3
0
0
-7
3
0
-9
0
1
1
-32
22
-14
1
-4
5
24
-12
3
-6
16
-3
12
7
68
1
4
17
0
18
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
1
0
0
0
-7
4
2
0
0
-33
-29
-43
-6
0
29
5
-28
22
0
-17
7
-2
56
0
-44
62
-17
-16
0
0
0
0
0
-27
0
0
0
0
21
-1
-1
0
0
23
0
0
0
0
-12
5
-1
-1
0
-23
-7
-6
-6
14
-25
-6
10
16
14
14
7
2
53
46
-41
-28
-12
6
9
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-3
2
0
0
0
14
-4
4
0
0
-44
16
-8
-17
0
-7
-10
55
-4
0
-59
-52
-18
-22
0
21
-17
50
6
0
0
0
0
0
4
0
0
0
0
46
0
-1
0
0
-2
0
0
0
0
26
-4
-4
-14
0
-28
-4
-55
19
14
13
19
-10
-6
6
-27
-9
-3
-29
-43
-1
-23
18
-1
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
0
0
0
5
5
-6
0
0
4
24
48
-29
0
-6
-56
40
26
0
22
6
-48
-68
0
57
7
-48
20
0
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
8
5
1
0
0
53
-1
-3
2
0
37
-29
33
37
15
18
-1
24
-17
2
-16
38
3
-11
-18
9
-12
8
-7
-2
0
0
0
0
0
-5
0
0
0
0
-9
0
0
0
0
0
-3
0
0
0
-7
18
-10
4
0
-23
-29
10
-10
11
17
49
22
-24
-4
3
-17
2
0
-80
9
-12
8
-7
-2
-5
1
0
0
0
-5
0
0
0
0
-43
0
-2
0
0
-23
0
1
0
0
-7
14
-2
5
-5
-39
-33
-48
5
14
1
70
-31
36
-20
19
-18
9
11
3
8
-6
-15
-49
1
10
-2
0
0
0
-3
0
0
0
0
-27
0
-1
0
0
-5
-1
6
-1
0
-1
11
-1
17
0
-5
-18
54
-34
33
-2
-29
10
14
-43
-33
14
-3
29
-12
8
-6
-15
-49
1
0
0
0
0
0
63
21
23
5
0
12
-1
-1
-17
-5
-23
13
-22
-17
-14
8
25
16
-41
2
-11
-86
5
-108
-54
64
18
-15
51
89
-77
-28
50
-21
27
10
45
33
27
-6
0
0
0
0
0
0
5
4
9
0
0
-11
-53
2
0
0
-25
-52
54
-2
0
13
-18
33
-3
0
-110
-39
-49
12
0
19
46
100
36
0
28
-3
-106
11
0
-17
68
20
1
0
0
0
0
0
-3
-4
1
0
-4
-22
-17
-2
-4
0
26
-62
-5
41
-13
-7
-69
-80
34
0
8
54
-2
26
2
15
5
26
80
11
-3
29
-4
17
21
-7
105
19
-18
-5
0
0
0
0
0
0
-25
15
3
0
0
43
7
10
3
0
57
10
18
0
0
22
24
-41
4
0
13
-59
62
-24
0
-2
12
3
-28
0
20
-28
-2
24
0
-60
59
16
64
0
0
0
0
0
14
0
-1
1
6
-3
-1
1
0
1
3
49
23
-7
18
22
0
15
-35
-26
-45
24
-53
-16
-1
11
9
29
64
16
-2
-14
6
19
-23
0
15
30
-1
-1
0
0
0
0
0
0
4
0
0
0
0
1
-1
1
0
0
14
33
-61
1
0
-84
-14
-25
30
0
-8
78
32
-20
0
49
-8
24
4
0
-3
1
6
-14
0
8
25
6
-23
38
-70
-15
-4
-2
62
2
0
0
0
-97
14
4
-20
1
-11
-24
-85
-38
-13
-24
81
-14
-69
-19
-5
7
-17
18
-32
25
-51
19
-37
42
1
38
-19
0
-12
12
-21
-10
41
17
0
68
20
13
-4
0
3
-3
0
0
0
-16
-19
-14
0
0
53
5
-42
-14
0
12
-17
3
-84
0
-35
-16
-26
-1
0
0
5
-87
-17
0
-6
28
4
-24
0
-48
-109
31
15
0
0
0
0
0
15
-14
-22
0
0
3
23
-14
-5
1
-32
15
24
-90
-27
-41
-3
63
23
55
-42
9
-98
13
-20
-3
59
30
-33
63
45
55
46
75
6
20
-8
-10
0
-62
0
0
0
0
0
0
-26
15
-11
-4
0
28
4
-30
1
0
-4
-10
16
0
0
42
4
21
-14
0
-53
12
-10
-48
0
-46
-8
62
-33
0
1
-48
35
24
0
59
36
-3
19
0
0
0
0
0
-5
0
0
0
3
62
67
-3
20
0
2
-47
-24
53
33
50
-19
-43
27
-43
-6
24
-76
-5
-8
19
89
-27
-15
-3
9
0
29
47
91
-48
64
-22
-4
-56
0
0
0
0
0
0
-11
-4
0
0
0
14
114
-15
-1
0
23
-29
4
5
0
26
-40
3
-23
0
69
-5
2
-5
0
-32
-5
-38
-4
0
-42
-43
49
53
0
-33
-8
-20
-8
0
0
0
0
0
-55
0
0
0
-2
29
7
13
-5
-3
2
-14
26
-5
11
33
16
-4
-5
0
21
-49
66
59
-29
-8
-34
-22
-6
-76
6
51
-52
31
61
10
21
32
-23
-20
0
0
0
0
0
-4
0
0
0
-2
53
0
-3
-2
-5
-7
-55
15
9
13
37
52
-18
38
11
-8
-2
23
-1
-1
-13
28
13
27
-10
-9
-5
-12
2
-19
10
21
32
-23
-20
-7
-7
4
-5
2
8
0
0
0
0
-18
-19
-45
5
-18
-24
-1
-40
-45
-33
-90
-40
-48
-17
-75
-14
-24
-1
9
-26
-20
13
-10
26
-4
0
-8
-10
-35
14
12
-23
-17
6
30
21
-85
48
5
1
39
8
0
0
0
-7
-54
-16
-3
-5
-25
-46
-32
-18
-60
-37
-16
66
-15
-6
3
-14
39
-66
32
-12
-10
9
-5
9
-11
-41
-39
-19
-74
12
-23
-17
6
30
0
0
0
0
0
21
54
10
17
0
103
25
23
-35
-19
14
13
-5
-7
-61
-90
12
-80
-62
2
-60
-61
-23
-33
-45
51
-17
88
7
104
-41
1
82
6
54
-14
83
30
69
-27
0
0
0
0
0
0
32
27
20
-1
0
5
-14
5
0
0
-14
-53
14
4
0
22
53
1
5
0
-104
36
-59
13
0
33
57
34
45
0
35
-18
-4
8
0
55
-1
41
5
0
0
0
0
0
26
-4
1
0
-4
15
-14
-16
-3
0
24
-20
27
45
7
-16
-39
-41
60
42
-32
-65
63
-32
11
41
-9
156
51
-5
-4
63
60
7
67
49
41
-33
-1
5
0
0
0
0
0
0
-24
7
3
0
0
40
35
2
3
0
40
60
2
1
0
35
28
-24
14
0
-51
-13
-52
-35
0
-62
-13
-1
62
0
16
17
-8
1
0
43
9
53
67
0
0
0
0
0
-28
0
-1
1
6
-38
-20
1
0
1
-3
80
0
12
36
5
2
35
-71
-48
-12
-67
-45
-15
77
28
3
108
102
-14
-12
6
-52
10
10
-2
63
21
-26
-16
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
0
0
14
-20
-101
1
0
-36
43
25
3
0
-74
-12
35
2
0
43
18
72
24
0
-21
-28
-52
2
0
32
26
12
2
82
7
-53
-74
-32
47
2
0
0
0
-72
-9
4
5
1
0
-79
-55
34
1
-25
-22
-26
-84
-86
32
7
-7
-12
-85
6
-5
-15
-19
98
-34
72
-4
42
-72
17
-46
11
14
8
0
87
55
2
-32
0
3
-3
0
0
0
-30
-76
-14
0
0
-2
-105
-68
-29
0
60
-49
-19
-118
0
-23
-4
-29
-15
0
2
-3
8
-53
0
-62
9
19
26
0
-45
-18
-6
8
0
0
0
0
0
55
-14
-5
8
-3
22
55
1
-2
6
-88
20
8
-166
-57
43
4
98
6
76
-16
8
-99
4
-15
-14
8
-46
31
2
9
20
-19
35
-30
67
-36
57
33
12
0
0
0
0
0
0
-16
5
-34
-4
0
-11
-13
-22
1
0
27
-12
11
4
0
50
61
46
1
0
-25
-18
-55
-79
0
-18
-14
7
2
0
-43
-12
14
-6
0
25
23
54
40
0
0
0
0
0
-22
0
0
0
3
8
39
-3
27
0
0
-92
0
12
17
60
22
-42
86
-43
29
5
-54
14
-57
27
31
13
-4
29
39
-22
-35
62
26
-43
48
-8
-52
54
0
0
0
0
0
0
17
-4
0
0
0
56
98
-49
-1
0
8
-17
7
19
0
-17
-89
-12
-14
0
32
-19
27
10
0
-59
-22
-13
-2
0
38
29
31
21
0
-18
12
-22
-14
0
0
0
0
0
-4
0
0
0
-2
-6
6
8
-38
9
20
-59
2
-35
22
18
17
3
-50
17
-15
-52
44
25
-31
-4
-3
-9
-29
-49
16
4
-34
34
42
40
18
-39
71
-5
0
0
0
0
0
-7
0
0
0
-2
14
-36
-7
-2
1
-5
-41
9
12
14
-21
57
-36
14
20
17
8
20
44
27
29
-1
11
-34
32
-5
56
25
-54
-48
40
18
-39
71
-5
-60
-4
10
8
5
-17
0
0
0
0
-13
-44
-27
15
-28
-18
67
-7
-23
-21
-57
-40
-71
-49
-22
-22
2
48
20
-70
-28
29
-51
-9
-4
9
-49
-37
-32
-27
15
8
-16
-35
-13
-24
-57
36
19
1
26
12
0
0
0
-18
-76
3
20
-14
-34
-47
-26
14
-82
41
-43
80
-17
24
-74
15
-15
24
7
-40
-16
-35
-16
-10
-19
-64
-111
-18
-37
15
8
-16
-35
-13
0
0
0
0
0
3
1
-2
-2
0
-6
7
-1
-10
-1
-7
8
4
1
6
-1
-1
-4
-3
8
27
-4
0
21
-1
19
23
41
18
17
14
-7
16
29
7
15
-5
29
9
17
0
0
0
0
0
0
-3
5
1
0
0
-10
0
-8
0
0
-14
-23
7
1
0
13
-20
14
5
0
31
1
-8
-3
0
-2
24
40
5
0
-6
-7
19
17
0
34
29
-35
-5
0
0
0
0
0
-4
0
0
1
0
0
0
-1
1
0
-14
7
-14
-9
9
-14
-5
9
31
19
-13
-22
6
-14
-1
-14
6
23
37
9
27
44
87
-18
71
3
33
-24
43
-14
0
0
0
0
0
0
0
1
0
0
0
-3
3
3
0
0
-11
36
5
0
0
23
34
11
-4
0
-48
-36
-14
-7
0
33
11
-6
24
0
-48
36
-4
16
0
6
-38
22
1
0
0
0
0
0
-1
0
0
0
1
-6
-3
0
-2
0
-14
13
0
-7
-3
42
-5
17
-39
-3
1
-17
-11
-4
35
49
-25
13
9
-9
-31
35
2
25
-11
14
11
-23
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
-33
0
0
-15
0
1
-9
0
-19
-29
16
4
0
43
34
-6
-8
0
-21
8
-26
-5
0
45
-22
62
24
8
14
-6
-5
-7
-1
0
0
0
0
-3
-2
1
5
0
8
-1
-3
5
-2
2
-5
1
-36
-24
-71
21
-14
-38
-37
5
12
15
20
2
-1
-39
6
5
14
19
-26
-34
0
-36
0
-15
41
-13
-14
0
0
0
0
0
0
-1
-3
-2
0
0
-5
-20
-2
-6
0
5
2
-22
-27
0
-21
20
23
24
0
19
-30
-13
-8
0
-15
-60
-20
30
0
-7
0
-12
18
0
0
0
0
0
44
-2
-1
-5
0
35
10
1
-4
0
-21
-10
-3
-50
-7
-25
-14
45
5
-17
-27
0
0
3
9
9
21
-17
-12
-5
-16
9
-47
24
-2
-31
-14
-40
39
-6
0
0
0
0
0
0
2
1
-1
-1
0
0
0
-31
0
0
-13
-11
-17
0
0
5
13
7
31
0
-16
-13
12
-9
0
0
-5
5
4
0
39
-13
36
-9
0
-27
33
2
-29
0
0
0
0
0
-19
0
0
0
0
10
5
0
4
0
-9
-19
-5
-17
-18
-11
-16
-43
33
5
59
1
3
-3
36
20
-26
59
-34
1
-19
38
-53
-26
-41
11
22
-5
14
8
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
0
19
14
-19
-1
0
-24
-17
20
4
0
-3
-1
11
-20
0
-14
-16
4
-14
0
45
20
-16
5
0
-43
14
10
5
0
0
0
0
0
-24
0
0
0
-1
-17
-4
0
-33
-3
15
-1
7
21
-2
-17
6
6
-6
22
-24
-37
9
23
-50
-18
-16
14
-2
12
25
1
4
20
2
41
-14
14
7
35
0
0
0
0
0
-26
0
0
0
-1
-5
-16
-1
-22
-4
24
-5
-4
12
-5
-53
9
-16
-10
14
40
11
-4
15
-3
9
11
12
-8
30
-11
-1
-19
-12
-32
41
-14
14
7
35
-6
2
0
2
2
8
0
0
0
0
-3
-2
-3
7
-13
17
16
-13
3
-7
21
23
-35
-4
-11
25
-7
-2
-22
-8
-14
-2
-36
-10
17
-6
-67
-23
-32
-24
-13
5
43
-43
4
-4
8
-1
0
-1
11
-1
0
0
0
-21
-8
0
32
-10
11
-15
-20
31
-23
-14
6
11
-5
-11
-28
-14
33
-61
19
27
-26
-20
28
-27
-14
11
-90
-9
-12
-13
5
43
-43
4
5
0
0
0
0
-60
-22
-62
0
1
17
-46
-11
-46
-37
-53
-41
32
-14
-46
-27
-43
-7
-47
72
-50
-26
5
-38
-39
-5
-31
-36
-45
-68
-8
-29
-26
-28
-22
5
2
-1
1
-4
49
34
38
31
23
61
30
52
43
77
19
15
64
73
53
57
-9
30
20
101
-1
-3
42
12
92
-32
87
10
-41
33
1
-16
-3
10
0
0
0
0
0
0
0
0
0
0
0
-11
-14
-12
-14
-47
2
0
0
0
0
15
12
22
22
11
28
19
6
18
33
4
-14
-16
-17
-14
-1
0
0
0
-1
25
34
35
19
47
75
53
9
5
5
12
0
-12
-7
-8
1
0
0
0
-1
-1
7
8
23
9
-63
-39
36
9
28
0
0
0
0
0
0
0
0
0
0
-1
-4
3
-28
-42
1
0
0
0
-1
36
19
15
17
6
74
-50
70
106
-18
-5
-1
1
0
0
12
51
41
38
-25
0
-1
0
0
-1
25
12
26
41
20
38
8
-2
4
3
30
23
-15
18
7
-30
-44
-41
37
1
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
0
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
5
-11
20
-24
59
-2
5
0
0
0
0
0
0
0
0
0
0
18
12
6
5
20
-24
64
0
-45
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
17
-3
-9
-11
1
28
0
0
0
0
0
0
0
0
0
0
0
-11
-12
-12
-9
-6
-9
10
14
-4
-64
-24
-17
-20
-8
6
-26
-26
-26
35
-2
84
25
-2
-3
1
-23
-46
62
46
-47
-5
23
-12
66
65
22
-11
22
43
30
-8
11
16
19
33
4
6
11
27
28
-6
0
1
-3
18
3
6
-2
-9
-6
36
35
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
28
0
6
-10
-14
2
1
0
0
-1
-31
-7
-19
21
-22
-45
-44
-27
-9
33
14
-7
10
-12
9
2
-1
0
-1
-1
-59
-16
-17
17
19
-137
-19
15
-53
71
-9
-38
6
6
-25
2
0
0
0
0
-89
14
-17
-46
59
49
-59
5
-44
33
0
0
0
0
0
0
0
0
0
0
-2
-13
-5
-13
-2
3
0
0
0
-1
-40
-6
7
15
30
27
57
-15
-6
-2
-20
0
0
-2
-10
-74
-31
32
-22
21
-8
-1
0
0
-1
-41
-1
11
-52
3
38
8
-2
4
3
30
23
-15
18
7
-30
-44
-41
37
1
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
0
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
5
-11
20
-24
59
-2
5
0
0
0
0
0
0
0
0
0
0
18
12
6
5
20
-24
64
0
-45
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
17
-3
-9
-11
1
28
0
0
0
0
0
0
0
0
0
0
0
-11
-12
-12
-9
-6
-9
10
14
-4
-64
-24
-17
-20
-8
6
-26
-26
-26
35
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-36
-23
6
8
0
-2
0
-16
-5
-31
-43
-6
47
-8
-7
-30
4
1
-91
11
-4
-73
-12
-66
-30
-23
-12
-35
-1
2
-3
2
58
12
24
18
-37
-12
26
-43
20
-13
-1
23
-41
-9
-20
-28
60
43
-12
101
5
2
-6
-8
-5
30
52
10
15
-7
-15
0
-1
-15
65
17
31
54
17
12
8
10
54
28
-1
-23
-9
46
9
31
34
15
14
-15
46
-20
-24
41
52
43
0
7
41
1
65
-40
19
62
77
0
0
-1
10
6
-8
-14
34
69
0
0
0
0
0
-29
-14
127
36
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
35
25
46
29
10
14
0
-10
5
-95
-12
-9
15
-26
-4
-3
0
0
31
-8
-41
-99
20
-7
21
13
7
0
-2
2
6
1
-43
65
-24
-22
43
15
-5
11
41
23
6
-2
1
15
-34
17
15
3
12
-5
0
0
-23
19
-17
-47
-4
32
6
31
9
0
1
8
0
-11
-86
60
30
29
29
30
-11
-6
13
31
1
-5
-11
17
57
-14
-2
5
0
0
0
0
-14
-17
36
18
3
-28
-11
-2
2
3
13
10
-8
17
-24
2
-21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
-4
16
-4
40
-40
-3
-1
51
14
-16
39
-29
-1
2
0
0
-14
6
55
-14
64
3
21
20
8
0
6
-3
0
13
2
25
19
0
-95
32
-2
48
23
-8
0
1
0
9
16
19
-6
-2
0
-6
13
64
61
23
-10
-22
31
-2
-2
0
0
-3
4
-15
21
-14
-34
-34
17
19
-15
5
38
60
79
33
19
3
-9
-9
33
41
-16
-1
69
-21
-35
-13
1
-5
-4
17
-43
-8
-24
-7
28
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
3
47
7
7
-10
-41
4
1
7
12
8
11
11
-80
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-8
-26
22
55
56
-6
-8
-10
0
-2
1
0
0
-25
28
-74
-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
10
26
-4
2
23
5
-4
-2
-42
0
-2
0
2
-1
-21
-8
-20
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
13
10
17
9
-1
-10
-18
-11
-20
-1
21
10
-19
8
-47
-55
18
25
1
-24
57
-10
-6
-21
-13
0
2
-2
-5
-19
30
-76
-42
-86
-1
41
-10
9
5
-2
-3
14
11
-23
16
28
-16
-9
-46
7
23
62
61
-36
5
-3
-5
51
-27
-1
10
-14
-24
0
-49
47
3
-12
21
18
4
-58
24
-15
19
21
20
4
32
5
37
39
24
-22
-20
11
7
5
15
29
5
18
-1
48
-9
1
-5
-1
1
-7
-23
84
-53
-6
-2
-3
0
0
0
-1
-1
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
-6
-50
-25
-15
11
-1
2
-41
29
-41
-23
-11
13
-10
0
-1
1
-4
1
-14
14
-12
-57
10
22
0
0
0
0
0
-13
13
-61
-7
-18
-37
14
35
5
9
1
3
0
-14
-8
-11
0
4
9
-3
0
0
-3
13
19
-62
-6
-56
-30
-1
-3
0
0
0
0
1
-5
-13
15
-53
67
21
27
3
7
22
3
-5
-18
-22
7
-4
-21
28
4
-4
0
0
-1
-2
1
44
-17
-42
-14
10
-22
0
0
0
0
0
4
-7
33
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
7
-24
39
6
-14
-6
0
16
-30
-11
-7
-103
8
6
-7
0
0
-2
-3
9
6
-29
-43
26
14
30
0
0
0
0
0
0
26
-32
4
-42
8
-6
-4
-24
-38
-19
-1
-3
0
0
0
-2
0
-33
-33
8
-27
3
-2
-1
-27
37
-5
-3
0
-1
0
0
-1
-3
-8
-12
-45
-3
-11
-15
5
38
60
79
33
19
3
-9
-9
33
41
-16
-1
69
-21
-35
-13
1
-5
-4
17
-43
-8
-24
-7
28
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
3
47
7
7
-10
-41
4
1
7
12
8
11
11
-80
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-8
-26
22
55
56
-6
-8
-10
0
-2
1
0
0
-25
28
-74
-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
10
26
-4
2
23
5
-4
-2
-42
0
-2
0
2
-1
-21
-8
-20
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
13
10
17
9
-1
-10
-18
-11
-20
-1
21
10
-19
8
-47
-55
18
25
1
-24
57
-10
-6
-21
-13
0
2
-2
-5
-19
30
-76
-42
-86
20
-36
0
0
0
-152
-49
5
70
-5
-78
-29
-89
56
81
-1
-4
4
-18
52
3
-7
-7
-8
-12
-4
-21
8
-5
3
1
-1
14
5
10
9
10
7
11
22
3
3
2
11
3
3
-6
-8
-11
-6
2
-7
-2
-17
-20
1
2
-21
-35
-14
48
6
-46
-26
16
4
-7
-55
-2
3
3
-16
-94
-14
-78
-42
-7
-43
4
0
0
0
0
0
0
0
0
0
0
0
-18
1
-2
-12
6
3
0
-1
1
-5
14
8
4
-10
13
15
26
-18
30
3
-1
-7
-5
-11
-18
-5
1
-1
-3
-1
3
8
6
0
7
55
31
25
-2
7
16
11
3
-4
0
2
2
1
-2
0
-22
1
4
0
8
-32
6
43
-23
9
0
0
0
0
0
0
0
0
0
0
-12
-10
-2
-1
-12
3
-1
2
-4
-3
25
3
7
13
6
26
4
-22
48
18
-24
-7
1
-6
-3
-25
12
18
26
10
-13
-2
-2
-2
-4
-30
13
3
14
18
14
-9
-7
-13
-18
56
5
-22
-36
-51
64
-20
-28
-21
-4
5
-18
-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
7
-7
1
-8
-16
30
10
1
0
-37
0
-1
0
0
0
0
0
0
0
0
3
-3
3
1
14
8
34
-12
-5
-25
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
23
-2
-15
-16
-4
75
12
-1
-6
-55
0
0
0
0
0
0
0
0
0
0
-12
-20
-15
-15
-14
0
-18
-16
14
33
-15
-20
-14
-4
2
-11
-22
8
11
19
-61
33
4
68
-33
6
10
-4
14
-13
-39
-2
-3
24
61
-15
5
8
3
12
-8
-3
9
5
20
3
-1
3
4
5
8
2
1
-3
-8
-22
5
-3
-5
-11
7
1
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
-10
0
3
-1
-13
-12
0
-3
-17
-24
-18
-11
-8
-40
-44
-101
-29
20
-70
-23
6
1
0
-3
-21
6
-6
-7
-12
-13
9
-17
-16
-34
-25
41
-1
-13
-46
-47
-11
4
4
3
-3
15
-1
-4
-12
-3
30
-18
-36
-21
-31
-21
-49
-17
-56
-44
0
0
0
0
0
0
0
0
0
0
0
2
-5
-2
-13
4
0
-5
-2
-2
-21
1
-5
-10
-33
71
37
14
-95
23
13
-3
-8
-25
-6
34
22
-51
-50
-26
-2
-3
-2
-10
1
28
2
-28
-2
-18
14
-9
-7
-13
-18
56
5
-22
-36
-51
64
-20
-28
-21
-4
5
-18
-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
7
-7
1
-8
-16
30
10
1
0
-37
0
-1
0
0
0
0
0
0
0
0
3
-3
3
1
14
8
34
-12
-5
-25
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
23
-2
-15
-16
-4
75
12
-1
-6
-55
0
0
0
0
0
0
0
0
0
0
-12
-20
-15
-15
-14
0
-18
-16
14
33
-15
-20
-14
-4
2
-11
-22
8
11
19
0
0
0
0
0
0
0
2
13
0
45
0
-20
5
-9
16
76
-9
-9
-84
-42
33
-35
24
14
39
36
30
10
-32
-83
-100
4
-38
-5
23
5
12
-11
-54
15
1
5
-1
7
19
-14
-32
17
33
-37
10
7
-7
90
42
38
-11
50
23
-5
2
4
30
42
0
53
53
13
-8
6
-6
15
30
11
12
4
-9
5
2
-2
-23
67
54
27
19
13
-3
-6
-17
38
63
52
48
-5
-27
-11
-6
4
55
9
10
-82
11
-3
-21
-21
13
-22
139
13
-62
-13
-23
-28
-19
26
-7
-119
45
39
25
-98
22
11
31
0
0
-4
14
-46
-50
-61
1
10
0
0
0
0
0
-13
-13
47
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
24
14
15
12
2
0
-1
-5
-63
12
4
0
8
5
-6
1
-1
-4
28
3
-7
-19
-19
-7
0
-12
-4
-70
62
-29
-53
11
26
11
7
43
22
-28
-15
-14
10
0
2
-1
19
-25
4
6
0
-6
-11
-1
2
36
18
-4
-22
-31
-16
-5
-2
-2
-20
89
65
50
27
-4
3
9
14
21
-9
14
4
-2
6
3
-1
-7
-36
-15
13
1
5
-2
-7
1
0
-79
32
17
-3
-22
-6
-14
-5
-7
14
56
13
35
73
-4
-49
-7
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-10
-10
4
-1
6
5
-5
-10
2
2
-5
10
-1
-1
-3
-2
-2
-81
1
5
-13
9
-6
-2
-1
-2
5
-1
15
-6
50
-14
-69
27
-28
-21
-18
10
35
26
-4
-7
-3
-3
67
53
117
-8
-18
-17
-8
1
1
-55
-27
1
-13
6
-4
-14
1
-4
-8
114
19
92
-13
-21
-4
18
16
18
44
43
40
19
10
-1
-8
-17
16
42
7
2
5
16
-22
-15
-35
-18
36
13
26
-11
-28
-59
-58
-116
0
-33
1
-5
10
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
-33
40
26
11
16
-8
-8
-13
-9
32
-15
7
7
15
39
-47
-38
-82
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
24
16
14
-3
20
-12
1
-20
5
7
13
-15
-2
-27
-11
-55
3
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
43
-11
24
-12
-8
-16
-1
-8
-20
29
-1
-18
12
-7
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
36
-24
15
-3
-5
-17
-12
-20
-46
-42
71
4
9
-18
-41
-8
-37
-14
3
8
-7
-6
-20
-18
-7
-11
-10
-16
21
63
36
-20
-63
-50
-53
-6
4
-38
76
-14
-50
51
0
-8
38
1
4
-21
42
-118
-27
-48
44
-18
32
16
14
10
-11
30
-15
3
-9
6
40
-15
0
28
-10
-2
2
-6
45
-5
5
15
11
4
1
-4
27
-2
11
-23
-2
-1
4
-1
-2
17
46
-17
27
-33
-13
-19
2
-1
-4
62
7
-25
22
-7
-7
-1
-1
0
-2
7
-17
-26
58
-39
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
0
0
0
0
-61
-21
-14
-19
-29
-1
-1
0
-3
-48
-22
-49
14
-17
-12
-20
-1
-2
-12
-40
45
-29
4
28
-34
2
-8
0
0
0
0
10
-53
-70
72
-5
-14
-37
0
-10
4
0
-9
0
3
-62
4
9
20
-17
-12
-13
0
-6
-39
44
36
-18
-34
5
-30
-1
-17
0
0
0
-33
26
-2
20
-17
46
-26
24
35
-44
9
1
-1
3
-12
36
48
14
-38
2
-12
-11
2
0
5
3
23
-1
-14
-25
-65
4
-5
0
4
0
54
34
-20
-58
-15
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-38
25
-3
-12
-4
-4
2
-9
-52
-40
-40
-30
2
-2
-6
0
-1
14
-1
73
2
-22
13
-10
-12
3
0
0
0
0
5
-5
-9
-60
59
-20
4
-53
-41
-16
-12
-14
-5
-14
-33
-57
-15
-52
-27
2
-50
5
12
-61
12
34
28
-9
-3
-14
-1
-6
9
-17
-67
-100
-41
-48
-12
17
9
18
44
43
40
19
10
-1
-8
-17
16
42
7
2
5
16
-22
-15
-35
-18
36
13
26
-11
-28
-59
-58
-116
0
-33
1
-5
10
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
-33
40
26
11
16
-8
-8
-13
-9
32
-15
7
7
15
39
-47
-38
-82
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
24
16
14
-3
20
-12
1
-20
5
7
13
-15
-2
-27
-11
-55
3
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
43
-11
24
-12
-8
-16
-1
-8
-20
29
-1
-18
12
-7
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
36
-24
15
-3
-5
-17
-12
-20
-46
-42
71
4
9
-18
-41
-8
-37
-14
3
8
-7
-6
-20
-18
-7
-11
-10
-16
21
63
36
-20
-63
-50
-53
20
-7
0
0
0
-70
15
-23
66
-43
-25
34
-24
9
29
-7
-7
39
-11
59
21
-5
10
-10
26
1
10
0
6
3
-4
9
16
8
5
17
-1
24
1
14
1
6
1
-6
7
-2
-12
-5
4
-17
2
2
-22
-13
-30
9
-24
-26
-11
-18
5
-49
-16
3
3
37
-39
-63
6
46
0
-78
-67
32
-71
-43
-21
-33
-1
0
0
0
0
0
0
0
0
0
0
0
10
-1
2
6
-20
0
1
-10
-8
2
8
-4
-10
-17
0
42
-8
-45
3
40
7
-10
1
3
3
-8
-2
-3
-7
-15
-19
-2
-20
-25
-15
-28
20
5
6
-10
25
17
15
9
14
-3
0
-2
-1
0
-26
-19
-10
-5
-14
-59
-7
-31
14
-6
0
0
0
0
0
0
0
0
0
0
28
-7
5
-2
11
2
0
-2
-1
-5
-14
-11
-15
3
-23
-28
1
7
-50
21
-26
-14
-20
-19
-19
-28
-30
-4
-7
-4
-21
-18
-10
-15
-23
-72
-29
-22
3
15
4
-8
-19
-18
-27
29
-6
-9
-15
-19
78
47
-48
-48
2
14
-5
-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
-2
-2
-8
-5
4
1
-20
3
15
22
0
-1
0
0
0
0
0
0
0
0
-20
11
-11
-9
-13
4
-13
-5
53
-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
7
-10
-21
-6
-4
44
33
-22
-28
-40
0
0
0
0
0
0
0
0
0
0
-23
-17
-16
-14
-11
-44
3
-8
3
16
-28
-23
-11
-21
-10
-8
6
-10
8
-6
78
-80
-19
69
-61
-9
-38
5
46
33
-4
-29
-2
42
3
-18
-5
-5
-5
20
0
3
4
-1
0
-4
6
6
-3
9
5
3
3
0
-6
-1
-4
-19
0
-16
6
26
15
-12
-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
-10
-7
-2
-4
-7
-1
-4
-7
-21
-23
-10
-13
9
-37
-42
19
24
-2
3
-165
6
-2
-6
-8
-6
-4
-4
-13
-22
-27
8
-7
-20
-44
-30
0
40
-23
-65
-41
14
2
-5
-18
-1
24
-2
-16
-29
-13
17
-9
-25
-63
-45
96
-75
-155
-12
-47
0
0
0
0
0
0
0
0
0
0
3
1
-2
3
0
-1
-1
1
-11
0
31
-3
-23
-16
-9
81
-8
-18
-67
4
15
-8
-12
-14
-23
32
-17
-19
-30
-36
-21
-4
-9
-18
2
-14
8
-16
-1
1
4
-8
-19
-18
-27
29
-6
-9
-15
-19
78
47
-48
-48
2
14
-5
-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
-2
-2
-8
-5
4
1
-20
3
15
22
0
-1
0
0
0
0
0
0
0
0
-20
11
-11
-9
-13
4
-13
-5
53
-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
7
-10
-21
-6
-4
44
33
-22
-28
-40
0
0
0
0
0
0
0
0
0
0
-23
-17
-16
-14
-11
-44
3
-8
3
16
-28
-23
-11
-21
-10
-8
6
-10
8
-6
0
0
0
0
0
0
0
2
13
0
-4
-6
-8
54
-8
56
73
14
68
52
11
17
-39
17
-51
3
72
1
-75
-31
-34
-123
-5
98
0
40
25
19
15
5
-17
-1
-1
14
5
-7
43
-13
-42
42
2
4
13
13
106
34
24
45
36
0
-2
11
0
68
26
10
47
33
-8
3
5
-13
87
35
46
-3
6
10
-5
-3
6
-68
-9
28
-12
0
-8
3
-6
1
-46
9
62
-25
1
0
-14
-7
-6
-84
-23
-56
-26
-6
-23
-12
-7
17
6
119
-26
-63
-41
-19
-26
-17
22
5
-34
-31
-14
-30
69
-23
-1
13
0
0
1
4
-63
-93
2
2
3
0
0
0
0
0
-13
-18
25
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
-18
-7
11
13
5
0
-1
12
60
29
23
13
1
-9
-2
-2
-18
6
-18
-3
-21
-11
-20
0
-13
-4
-26
53
-19
-12
-31
-37
-5
12
30
-11
-25
-11
-12
4
-7
4
0
12
36
18
-3
-3
3
-6
-8
-2
53
-9
0
6
-24
-11
-5
-3
-37
-27
69
54
1
-42
-5
-40
-4
-8
37
23
8
4
0
8
3
10
10
-36
0
1
10
2
-8
-12
6
-8
1
-1
20
-7
-18
-9
-15
-9
-5
47
59
48
27
10
-49
-15
-35
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
34
-32
9
26
3
2
3
6
2
-12
11
3
-17
1
0
1
-4
-33
-1
-23
11
5
-11
-8
-11
-8
-14
-1
6
-25
33
-3
-27
-31
-37
30
-74
-9
-17
-3
-10
-16
-2
-16
75
103
101
-4
-5
-21
-21
-27
-44
92
20
14
-15
0
-13
-14
-5
-13
-91
46
34
20
-47
-33
-19
-2
-24
81
8
24
0
13
4
-12
-13
-10
31
22
24
38
33
-14
-34
-18
-18
17
18
25
12
2
-57
26
-45
-137
0
-7
0
-5
10
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
14
61
20
4
3
-6
-8
-10
-23
-13
-23
-15
12
13
-25
5
-33
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
16
41
14
23
14
-13
-16
-8
3
-1
7
7
28
-9
-23
-40
-26
-71
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
8
8
-29
-16
-23
9
26
-26
12
24
-1
-13
-85
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
25
18
19
-5
-13
-7
-12
-22
-8
22
17
12
-37
-5
-16
-16
-45
9
6
14
0
-14
-23
-19
-12
-17
1
-10
-29
-4
58
-19
-52
-46
-58
-6
21
28
14
-3
-30
76
-41
-2
-13
-4
-2
-12
50
-39
-6
-5
-53
69
35
32
12
15
-25
9
-22
-35
-39
11
-28
-17
31
-10
2
3
-9
-53
7
-14
22
-46
8
2
-1
-3
-20
39
-26
-6
-24
-3
1
7
-3
70
35
-23
15
-15
-3
-15
-6
3
-34
-40
35
23
-42
7
-17
3
11
0
-2
-5
-69
100
-34
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-1
0
-1
-4
-4
11
-40
-57
-22
6
-42
-14
-14
2
-15
-1
27
-64
-68
-6
16
-11
12
-28
0
0
0
0
-3
10
-43
-1
33
-37
-19
12
10
-18
-5
-8
-7
6
-19
37
6
-17
-25
-13
-16
-5
-25
-11
5
14
34
4
4
-34
-6
-39
0
0
0
-33
109
37
-68
-1
-29
44
34
-5
-8
8
-26
2
-5
-1
112
65
5
-40
-3
-5
-35
3
-12
-12
-10
53
-19
-49
-27
-37
-3
-23
0
4
0
53
25
-33
-118
27
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-47
16
-24
-2
14
-6
4
-11
-11
-12
-33
-4
-10
-2
-7
1
-2
-9
27
67
42
-38
-36
10
-3
-10
0
0
0
0
1
-31
31
-33
62
24
19
-26
-19
-27
-10
-26
-3
-6
3
-10
-5
-23
49
-14
-4
7
-42
31
-10
-1
-18
-19
-17
-16
-1
-5
-10
5
-52
-63
-55
-24
-6
14
-23
81
8
24
0
13
4
-12
-13
-10
31
22
24
38
33
-14
-34
-18
-18
17
18
25
12
2
-57
26
-45
-137
0
-7
0
-5
10
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
14
61
20
4
3
-6
-8
-10
-23
-13
-23
-15
12
13
-25
5
-33
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
16
41
14
23
14
-13
-16
-8
3
-1
7
7
28
-9
-23
-40
-26
-71
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
8
8
-29
-16
-23
9
26
-26
12
24
-1
-13
-85
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
25
18
19
-5
-13
-7
-12
-22
-8
22
17
12
-37
-5
-16
-16
-45
9
6
14
0
-14
-23
-19
-12
-17
1
-10
-29
-4
58
-19
-52
-46
-58
1
0
0
0
0
46
-33
-6
4
1
19
56
16
5
14
71
-9
-11
-3
-2
30
20
5
-15
25
15
-15
24
-25
-5
40
-20
59
16
34
-4
-13
19
-3
-33
22
66
-33
-14
-9
-83
7
12
4
9
-28
-20
3
82
-10
-6
-1
-15
6
4
-72
18
-18
21
-4
-26
13
-11
-13
-49
5
-21
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-14
0
-7
-5
-11
23
-29
-35
11
18
-21
-2
18
-50
-4
-11
-67
2
-6
4
-28
-30
26
-8
3
-3
-2
-37
27
7
9
-65
-5
23
43
1
-23
0
-120
41
2
4
19
-18
12
7
8
-22
-15
-14
-18
-27
9
27
-63
9
-33
15
30
0
0
0
0
0
0
0
0
0
0
24
-9
-33
2
46
-11
5
-8
6
-25
-14
14
17
-17
-3
-76
20
-14
-1
-6
2
-5
-18
-10
-7
-98
-40
24
-1
-19
-17
-30
-28
25
-42
34
-14
-65
-28
-17
8
14
-33
10
-32
-9
-22
2
0
-1
2
-26
-21
-1
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
5
20
-32
-33
6
21
-38
-34
6
-14
0
0
0
0
0
0
0
0
0
0
21
-43
1
24
19
7
-33
13
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
-36
-31
38
4
-39
-14
25
-6
-27
-19
0
0
0
0
0
0
0
0
0
0
2
-31
19
1
-30
-53
5
-3
11
-8
-20
-29
-33
-14
-21
-92
8
0
-16
52
39
-13
0
14
0
-10
37
5
-35
50
-39
14
16
97
-33
9
34
-9
2
5
1
-13
5
21
45
-20
-2
12
-14
3
-24
-28
-15
-26
5
-3
19
5
-16
-62
76
-5
-60
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-4
11
20
-39
17
-5
-8
-19
-1
-1
-14
-34
-39
-43
1
-11
-11
-6
12
-3
-12
-13
-16
-42
-12
48
25
23
5
4
-29
-89
-18
35
-52
14
-22
-32
23
-7
2
-6
50
-55
-46
-18
36
-76
34
1
33
-65
26
-1
-33
1
-11
0
0
0
0
0
0
0
0
0
0
5
2
-22
14
5
-5
-10
6
-4
-15
-32
25
-56
8
5
20
17
-27
3
1
5
17
26
-14
-70
4
-4
30
-30
-19
10
11
-4
-27
-55
12
-34
14
-19
-18
8
14
-33
10
-32
-9
-22
2
0
-1
2
-26
-21
-1
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
5
20
-32
-33
6
21
-38
-34
6
-14
0
0
0
0
0
0
0
0
0
0
21
-43
1
24
19
7
-33
13
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
-36
-31
38
4
-39
-14
25
-6
-27
-19
0
0
0
0
0
0
0
0
0
0
2
-31
19
1
-30
-53
5
-3
11
-8
-20
-29
-33
-14
-21
-92
8
0
-16
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-5
14
0
0
-2
-2
32
18
-4
-36
62
0
7
27
-1
-8
9
-45
5
-14
-10
-7
-41
17
-14
1
61
-5
-23
1
-41
12
-28
-25
-2
-62
13
25
31
25
-32
86
13
-25
3
-11
22
-7
11
18
6
17
9
-20
37
-41
-25
-8
-11
-21
22
35
-1
15
-41
23
5
13
-62
-55
-27
45
-24
6
0
-11
-24
-66
57
-14
34
-55
69
-14
-14
32
28
-72
-9
-3
46
-2
0
-5
4
4
7
25
-38
-15
40
0
-1
-3
-4
1
31
-51
1
-16
0
0
0
0
0
-18
5
-15
-10
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
-13
-25
-10
25
-7
47
-20
-9
25
30
27
10
31
4
-2
3
-1
-51
-22
-11
19
-4
2
-17
-11
-5
4
-4
0
-5
-21
-43
-22
-44
52
-23
-14
43
-30
-36
33
5
-3
5
-2
0
1
31
-3
11
-1
-8
11
-22
16
-20
-49
29
-3
-2
-19
-20
7
0
-1
16
-56
5
-19
-24
-14
-45
14
27
36
-28
-12
4
-5
27
-36
21
15
-44
4
6
20
-5
4
-21
-9
-34
17
52
3
-23
-3
-45
1
-3
5
-10
-15
21
-5
-24
-31
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-20
21
2
13
1
-26
22
-7
32
32
19
-9
-1
-5
6
-6
-10
-31
-22
-61
12
-6
12
-23
28
23
0
0
0
-4
3
-17
-27
10
-40
10
11
14
-18
-11
1
-26
-18
8
-1
5
-8
-56
-30
22
46
-85
-42
24
24
19
-1
28
-42
-43
-8
4
0
-8
13
6
-42
23
-17
-12
-67
-37
22
7
-21
12
1
-24
6
4
15
8
43
28
3
-1
-16
-66
-31
0
0
1
-9
16
-43
16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
81
4
-22
-6
-24
-13
-36
1
0
-1
10
-9
-11
43
-54
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
62
37
-4
11
-18
3
-11
-57
1
-1
1
0
-22
6
-13
-23
26
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
-23
42
5
-27
-62
-54
0
0
0
-7
-1
14
-8
-47
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
29
70
-8
-21
-33
-24
-2
4
0
3
5
16
7
9
-39
-58
-22
-12
19
7
-17
-22
-19
16
-17
5
0
-1
1
-43
37
11
-32
-22
-25
0
0
1
-2
-2
3
33
-10
8
3
19
-6
1
-24
11
-32
26
30
22
7
9
-5
77
4
33
-39
-73
-14
-15
3
7
18
5
14
-19
4
18
-42
-9
-4
1
-22
-15
15
49
5
1
0
18
-54
21
-9
-16
32
-37
15
3
7
12
52
6
-17
-78
2
2
-5
-15
21
-21
4
-6
5
0
0
1
-18
18
-5
-11
71
-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
-4
45
-24
22
-43
-13
10
-16
40
33
-59
17
42
43
8
-10
-39
-18
-2
8
-19
-52
-29
-12
-57
80
-3
0
0
0
0
0
8
-1
-90
-15
-14
4
-5
-1
18
-27
-16
23
-4
18
-1
1
-3
-7
40
-22
-23
6
6
-9
14
29
-31
-5
-11
-33
-11
0
0
0
-1
10
15
-43
-4
-22
-10
34
-3
2
17
-41
-10
19
-21
46
-22
-9
87
10
7
-19
-42
-12
3
-6
23
-21
-34
22
-48
11
-34
0
0
0
9
8
-21
3
6
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-22
28
-32
6
18
-9
9
4
-6
1
-12
27
7
3
-5
-7
-3
3
3
-3
-12
12
-44
-23
34
-65
0
0
0
0
0
0
-9
8
14
36
10
-27
-33
18
-6
-8
-12
6
0
0
0
6
-8
23
-42
14
-44
4
-54
-25
-28
12
-3
-25
14
-30
0
0
3
28
-9
4
-24
-45
-24
-37
22
7
-21
12
1
-24
6
4
15
8
43
28
3
-1
-16
-66
-31
0
0
1
-9
16
-43
16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
81
4
-22
-6
-24
-13
-36
1
0
-1
10
-9
-11
43
-54
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
62
37
-4
11
-18
3
-11
-57
1
-1
1
0
-22
6
-13
-23
26
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
-23
42
5
-27
-62
-54
0
0
0
-7
-1
14
-8
-47
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
29
70
-8
-21
-33
-24
-2
4
0
3
5
16
7
9
-39
-58
-22
-12
19
7
-17
-22
-19
16
-17
5
0
-1
1
-43
37
11
-32
-22
-25
0
5
0
0
0
-43
-36
-2
-25
-2
-31
-36
-50
76
-71
11
-100
-2
36
10
-38
-23
-31
-4
0
-59
-19
-11
-13
-58
-25
-33
-30
-33
-8
-17
-27
-23
-25
-23
-2
-1
1
-1
4
36
35
32
51
56
59
39
53
65
51
24
49
64
41
59
25
10
30
33
76
7
-4
-16
38
83
21
40
-32
47
17
1
8
6
0
0
0
0
0
0
0
0
0
0
0
0
-30
-6
-10
-5
-39
-4
0
0
0
1
12
9
43
16
9
39
42
17
20
46
-16
-10
-31
-15
-9
0
0
-1
0
0
35
13
14
17
20
-104
64
62
76
87
2
-4
-3
-16
15
1
0
0
0
1
-3
2
17
9
25
-52
-43
-2
53
1
0
0
0
0
0
0
0
0
0
0
-1
3
-9
-37
-35
-2
0
0
0
1
34
-9
35
20
36
79
-3
16
38
36
-9
0
-1
0
1
35
63
62
24
50
-7
-2
-1
0
0
-4
25
22
38
72
22
8
1
11
-11
24
13
-19
-20
-24
4
-37
-23
18
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
21
6
-7
3
-5
27
62
-33
-20
-11
0
0
0
0
0
0
0
0
0
0
-4
2
11
6
10
-5
52
-35
-58
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
15
7
33
-1
-5
-3
-40
-14
54
-3
0
0
0
0
0
0
0
0
0
0
0
-7
-24
-18
-20
26
-5
-39
-50
11
-9
-13
-16
-29
-43
-21
-41
-32
-48
33
24
33
38
13
-2
-67
53
33
-4
17
-29
69
39
14
85
-34
-11
42
31
117
-19
-2
20
31
61
8
2
12
11
20
13
-4
-3
7
4
10
-4
-2
0
7
9
-7
10
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
5
-2
7
-2
3
-2
-1
-1
-1
-1
4
-3
-13
-23
-86
15
-7
-43
-115
17
8
-2
9
7
24
1
-1
-1
-2
0
30
-6
-22
-8
-8
-75
-53
73
3
-55
-45
2
-15
5
20
2
0
0
0
0
2
5
-47
-11
-57
32
62
-53
-20
-33
0
0
0
0
0
0
0
0
0
0
-21
-9
2
-16
-12
-1
0
-2
0
0
37
-8
8
-44
-25
46
10
-1
-24
4
-15
-6
-4
-1
0
17
-40
-52
4
-35
-13
-2
-2
-1
1
-2
-26
-1
7
87
22
8
1
11
-11
24
13
-19
-20
-24
4
-37
-23
18
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
21
6
-7
3
-5
27
62
-33
-20
-11
0
0
0
0
0
0
0
0
0
0
-4
2
11
6
10
-5
52
-35
-58
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
15
7
33
-1
-5
-3
-40
-14
54
-3
0
0
0
0
0
0
0
0
0
0
0
-7
-24
-18
-20
26
-5
-39
-50
11
-9
-13
-16
-29
-43
-21
-41
-32
-48
33
0
0
0
0
0
0
0
1
0
0
-2
-2
0
1
-2
1
-50
-4
0
-10
-23
-6
5
24
-43
-3
-65
4
-29
-29
0
-77
15
14
-44
-101
-22
0
-4
-95
-74
-21
24
-48
19
4
-27
-24
-16
-11
-43
-15
-32
-3
-69
-24
22
15
1
-14
-10
-9
-10
107
-5
4
53
-21
1
6
-4
-1
14
28
-51
32
-26
-7
2
-1
0
-33
53
17
5
68
7
20
8
17
28
-20
29
-24
13
88
13
47
28
25
-12
16
26
-6
-34
68
30
41
7
7
2
-4
6
25
4
36
28
0
0
0
0
0
3
5
45
73
0
0
0
0
0
-3
-23
90
62
0
0
0
0
0
0
-1
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-23
-21
28
38
-2
-14
-2
-3
2
43
-9
-29
-47
6
2
0
0
-50
-74
-21
-20
20
-22
14
15
5
-8
7
5
-19
6
-18
-11
57
16
21
47
-18
22
-16
-13
-7
-9
-1
10
-90
5
-58
15
-23
4
0
0
-70
31
-26
-11
-33
36
-5
11
11
-5
-27
-11
-20
17
4
31
36
60
14
17
-36
-19
-3
30
12
4
6
-16
-56
14
2
-2
0
1
0
0
-28
-30
11
6
-13
-31
1
8
19
-35
-1
-39
-41
-3
14
-13
32
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-64
5
16
-53
7
-2
-7
-10
30
-22
-24
-4
19
-5
2
0
0
-70
-45
-30
-53
6
23
44
8
10
0
12
-6
27
-4
-21
-34
80
38
21
12
-5
-15
26
-2
5
2
0
-14
-5
5
22
-4
-23
5
21
54
-11
-57
-25
-2
-11
-3
-1
0
0
-9
-3
-1
9
-1
2
-58
19
-33
-16
-38
14
-5
-5
-29
2
0
7
3
-4
-12
-16
-5
38
-19
1
14
4
10
-5
-15
-21
-22
0
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
-28
46
-35
13
7
-8
-5
14
22
-9
-19
5
32
16
14
-18
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-10
-11
-8
-43
-21
6
-5
5
0
-3
0
0
-15
15
15
35
-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
59
14
16
-29
-21
-39
-6
-5
10
0
4
-1
2
-3
-34
19
-75
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-9
-32
11
13
-4
-5
-13
-7
-34
-6
-14
-23
4
-37
4
-22
-3
-15
-58
-14
-24
-47
-12
7
-17
-15
-13
25
0
-4
-6
-36
-5
-24
-64
0
22
21
23
3
-4
2
-15
3
-12
1
-32
-42
14
111
-42
89
-35
-91
-48
-10
44
23
-44
19
23
25
-20
-54
-48
-28
-28
55
-15
15
28
29
15
-31
-65
-64
-7
-27
20
21
-43
-12
-4
25
-7
-36
-2
3
3
42
13
-14
-15
-21
1
8
-1
3
0
-10
0
10
43
-33
-7
-4
0
0
0
0
0
11
79
24
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
-18
-48
-44
30
-20
4
2
1
-72
-78
-33
-52
-69
-6
11
-1
-1
-5
-1
-5
5
16
-6
24
-1
-8
0
0
0
0
0
-1
-18
18
-69
27
25
-18
2
22
3
0
4
-12
-38
-58
-72
-72
-57
-3
5
0
0
-65
-23
-33
21
9
-31
-6
6
-16
0
0
0
-1
1
11
3
-13
-83
18
64
9
-15
8
39
18
-8
-19
-44
-85
8
-21
-14
-2
1
0
0
-71
10
30
33
-31
24
-16
-5
11
6
22
5
-7
17
-43
-34
61
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-59
46
1
-4
-13
3
0
-2
-112
-27
-118
-36
-31
-6
3
0
0
-1
-4
-7
-15
23
23
-10
13
10
0
0
0
0
0
1
-26
-6
65
-70
-65
-5
5
-11
-34
4
0
-1
0
1
0
2
-20
36
23
-27
16
-18
-50
-19
-5
-2
-9
-4
0
0
0
0
-6
1
-14
14
-46
-5
-22
-16
-38
14
-5
-5
-29
2
0
7
3
-4
-12
-16
-5
38
-19
1
14
4
10
-5
-15
-21
-22
0
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
-28
46
-35
13
7
-8
-5
14
22
-9
-19
5
32
16
14
-18
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-10
-11
-8
-43
-21
6
-5
5
0
-3
0
0
-15
15
15
35
-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
59
14
16
-29
-21
-39
-6
-5
10
0
4
-1
2
-3
-34
19
-75
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-9
-32
11
13
-4
-5
-13
-7
-34
-6
-14
-23
4
-37
4
-22
-3
-15
-58
-14
-24
-47
-12
7
-17
-15
-13
25
0
-4
-6
-36
-5
-24
-64
0
37
5
1
0
-141
18
-21
34
1
16
-88
-85
84
4
1
23
-14
-27
30
2
-28
-14
-30
35
13
-4
-6
-5
11
4
3
20
10
9
9
14
22
2
14
5
1
4
12
3
6
-3
-5
-5
11
8
-6
-7
2
-20
10
-19
-10
-41
21
50
-5
-27
-35
-45
-16
9
-21
-94
7
8
-12
-92
-53
-23
-24
-23
-25
-8
1
0
0
0
0
0
0
0
0
0
0
1
-4
0
-8
0
-1
-1
-1
0
-8
22
14
12
-3
7
102
-11
17
-4
-2
-1
-5
-2
-8
-2
-4
-1
0
-2
-6
15
12
11
12
17
-4
14
21
14
6
23
2
-2
7
1
-1
-2
-1
2
1
-15
-6
-2
5
7
-88
-6
8
24
59
0
0
0
0
0
0
0
0
0
0
-6
-3
-3
-2
-14
0
-1
0
-5
0
16
3
13
5
1
31
63
-2
-48
62
-20
-4
-2
-10
1
-35
14
31
40
20
-3
-5
-3
-11
-4
-20
0
5
13
28
36
-3
-11
-11
-18
50
15
-25
-38
-43
36
-5
-15
18
-63
-4
78
-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
16
9
-16
-11
-11
-18
12
13
6
33
2
-3
0
-2
0
0
0
0
0
0
20
3
-20
-14
-18
15
-6
-13
11
-32
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
4
-9
-6
-2
-7
24
-22
1
2
-18
0
0
0
0
0
0
0
0
0
0
-28
-21
-16
-3
-11
17
-18
-13
18
-20
-37
-29
-10
3
20
-30
-21
0
45
48
-45
50
21
-23
6
8
25
6
8
0
-24
-4
4
5
33
-9
0
2
9
11
-3
-2
-3
13
-5
4
-1
4
6
4
13
-5
2
6
10
45
9
1
-7
-18
30
-7
-29
-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
0
0
0
0
0
0
0
0
7
0
-1
0
-11
10
-1
-9
-16
-25
12
3
-19
-48
-42
102
-15
-62
-36
-12
3
4
1
-7
-8
53
4
-18
-29
-35
99
2
-52
-70
-76
173
18
-88
-129
-65
4
-1
7
18
6
50
2
-11
-7
-8
125
9
-46
-75
-67
192
-24
-129
-88
-111
0
0
0
0
0
0
0
0
0
0
-11
-1
-2
4
-1
-3
-2
2
-9
-6
23
7
-1
-17
-24
48
37
-46
-65
18
2
-7
-9
-9
-7
12
-17
-21
-2
-13
15
-2
-8
-16
-16
36
-15
-12
10
-15
36
-3
-11
-11
-18
50
15
-25
-38
-43
36
-5
-15
18
-63
-4
78
-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
16
9
-16
-11
-11
-18
12
13
6
33
2
-3
0
-2
0
0
0
0
0
0
20
3
-20
-14
-18
15
-6
-13
11
-32
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
4
-9
-6
-2
-7
24
-22
1
2
-18
0
0
0
0
0
0
0
0
0
0
-28
-21
-16
-3
-11
17
-18
-13
18
-20
-37
-29
-10
3
20
-30
-21
0
45
48
0
0
0
0
0
5
8
9
0
0
-11
-35
-46
23
55
15
-13
-5
-18
-13
-85
-14
-91
62
-23
65
-2
-16
-11
-18
32
1
-18
-1
13
-25
-75
-15
-30
14
-42
-24
7
10
6
-62
0
-5
14
-25
-5
15
13
-1
-74
-61
2
-9
10
15
7
10
18
-53
-71
36
-13
30
0
13
6
20
23
-40
33
63
9
4
5
-2
5
73
-2
24
93
-13
37
10
-7
3
37
37
80
12
29
12
9
-19
-4
-90
90
15
15
13
36
6
-12
-18
42
52
1
-70
38
-36
-39
-15
-9
-13
-1
12
-89
-36
-28
-50
-37
15
0
0
0
0
-2
-55
-67
4
44
0
0
0
0
0
0
-15
-51
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
58
19
21
6
-1
3
2
-6
31
-21
-4
15
-14
1
1
0
0
-2
0
-14
-48
1
-6
19
2
-4
-89
-87
-18
1
-3
38
23
10
14
-25
-26
-23
2
-31
2
5
3
0
-27
-32
23
-27
-8
-5
5
-1
1
-47
7
-1
-6
19
3
6
-3
-5
10
-35
-22
41
-17
1
0
-2
37
79
-32
-19
3
23
7
14
5
10
41
16
-10
0
-5
4
8
-1
0
-21
6
-14
0
5
-5
-1
3
11
-30
-24
10
-12
10
-45
14
12
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-15
6
-3
19
-12
5
3
7
1
-3
-13
-16
-8
-4
5
1
-3
-20
-25
-28
-23
-25
-2
-3
9
3
-49
2
-28
57
32
2
-31
30
68
28
-10
-7
-20
22
2
-2
1
-3
-50
62
52
13
-35
-51
-12
0
-4
3
-6
3
8
9
-15
-7
2
-2
-39
45
-56
24
-30
-5
7
0
8
-41
-42
-22
6
-23
-17
-9
-3
7
-40
-22
-7
-11
-29
-14
4
6
41
40
12
-5
-30
-33
-39
0
41
128
0
0
5
-1
-5
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
5
-28
-35
-20
2
7
25
-11
-51
-26
-6
69
-35
22
-6
22
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-7
-13
-15
-47
-17
-23
-5
2
25
0
22
-4
-3
-73
-74
-9
14
79
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-16
-25
-40
-10
4
23
-1
-3
19
-17
-2
-27
-26
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-3
1
-14
-14
-5
-4
-6
-13
-57
-15
-10
15
-51
4
-12
-8
-16
-14
1
8
1
1
-23
-9
-1
-14
-58
17
0
4
-2
-18
-18
-1
13
-33
57
7
17
-7
-84
-67
13
10
4
-39
-41
-33
-21
84
-25
47
83
-47
20
-3
20
12
5
-4
-4
2
-62
-31
-14
-20
33
23
17
-2
12
-53
-45
20
13
8
5
6
-3
6
-44
38
-3
-8
-28
-4
2
-1
1
37
40
-16
-35
-27
7
11
2
3
24
-62
-17
82
99
-15
14
1
7
0
0
0
0
-23
-47
28
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
7
-32
1
-14
1
1
4
-31
-30
-79
-28
-30
0
10
-1
-5
-64
-55
15
1
-20
3
6
-2
-3
0
0
0
6
65
-32
-76
-8
-53
-13
1
7
-2
12
-5
1
2
-4
16
-12
-12
1
-23
-14
5
0
-6
-47
-15
-7
-32
-39
-23
-7
-18
-1
-1
10
11
-24
124
-48
6
-17
-19
3
72
22
16
21
21
0
0
-6
-33
-27
6
-33
-14
-23
0
2
2
-79
-10
-19
13
18
-3
-5
-8
-8
61
-27
-57
-13
17
0
-33
-19
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-3
-3
-20
-2
1
2
3
12
-4
-14
-42
-18
-8
-10
2
0
4
-21
-133
-36
5
-34
-7
17
13
14
0
0
0
0
0
6
-14
36
-5
-35
-36
10
-1
15
-28
-13
-2
-1
8
26
-5
0
-34
51
-17
-17
-32
6
20
15
-4
13
-3
-6
-2
-5
-27
-40
-48
21
-71
-3
-5
4
-22
-41
-42
-22
6
-23
-17
-9
-3
7
-40
-22
-7
-11
-29
-14
4
6
41
40
12
-5
-30
-33
-39
0
41
128
0
0
5
-1
-5
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
5
-28
-35
-20
2
7
25
-11
-51
-26
-6
69
-35
22
-6
22
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-7
-13
-15
-47
-17
-23
-5
2
25
0
22
-4
-3
-73
-74
-9
14
79
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-16
-25
-40
-10
4
23
-1
-3
19
-17
-2
-27
-26
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-3
1
-14
-14
-5
-4
-6
-13
-57
-15
-10
15
-51
4
-12
-8
-16
-14
1
8
1
1
-23
-9
-1
-14
-58
17
0
4
-2
-18
-18
-1
13
0
33
5
1
0
-28
1
4
12
-44
55
-34
42
3
1
-3
-4
-13
-31
46
18
-7
6
26
-15
2
3
19
-8
17
-3
11
11
9
16
21
6
12
9
18
9
1
7
-4
-2
-7
-13
12
13
0
-19
-7
-14
-2
11
-5
-25
-9
-22
-22
-20
-13
-24
-25
-15
15
28
-1
-78
-9
-11
-39
-87
-9
-17
-28
-37
-39
-7
1
0
0
0
0
0
0
0
0
0
0
-9
-1
15
-5
7
8
-3
-5
-3
-4
14
-7
-14
-12
-29
-7
18
-4
-34
6
-13
-2
-11
-4
0
-3
-7
1
2
0
-21
-6
-6
-7
-21
-30
-13
8
5
1
30
20
14
12
20
4
0
2
1
2
-24
-13
-13
-8
-5
-70
-29
-10
9
33
0
0
0
0
0
0
0
0
0
0
2
-3
10
8
6
-6
2
-4
-2
2
23
-17
-13
-28
-1
14
2
18
-44
-4
-29
-16
-14
-9
-8
-14
-15
-17
-44
-36
-11
-15
-13
-12
-14
-45
-18
-22
-18
5
13
5
-19
-17
-9
15
3
-18
-38
8
67
29
-17
-76
5
10
13
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
6
-10
-13
-19
0
10
-23
3
-24
53
2
-3
0
-2
0
0
0
0
0
0
21
-3
-23
-6
-6
50
14
-65
-31
-8
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
38
-17
-10
-9
7
25
15
-39
-36
15
0
0
0
0
0
0
0
0
0
0
-13
-19
-18
-16
-15
-27
-7
-45
20
22
-42
-30
-5
9
-4
-48
-27
2
32
23
74
-53
5
-46
19
7
-21
12
69
-42
0
-7
-10
20
-9
-17
0
-12
22
-28
-6
-4
1
4
20
4
0
0
3
5
8
1
1
6
3
4
-1
20
-19
-5
82
-24
-38
-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
0
0
0
3
1
-8
6
-12
22
1
0
-28
-19
-1
1
-20
-35
-32
1
16
-28
-24
-77
35
7
-8
-15
-17
67
0
-33
-31
-26
111
-14
-42
-98
-25
141
-45
-112
-31
-37
30
3
-10
-10
23
94
2
-48
-33
-28
139
-23
-70
-84
-40
150
-63
-123
-90
-31
0
0
0
0
0
0
0
0
0
0
-9
7
-7
7
-15
-5
0
1
-8
8
9
7
-19
-14
-17
-19
43
-84
-71
34
19
-10
-18
-8
-54
32
-7
-6
-43
-12
23
-15
-15
-9
-16
18
-5
-23
-13
-27
13
5
-19
-17
-9
15
3
-18
-38
8
67
29
-17
-76
5
10
13
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
6
-10
-13
-19
0
10
-23
3
-24
53
2
-3
0
-2
0
0
0
0
0
0
21
-3
-23
-6
-6
50
14
-65
-31
-8
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
38
-17
-10
-9
7
25
15
-39
-36
15
0
0
0
0
0
0
0
0
0
0
-13
-19
-18
-16
-15
-27
-7
-45
20
22
-42
-30
-5
9
-4
-48
-27
2
32
23
0
0
0
0
0
5
8
7
0
0
-15
17
-6
8
90
26
17
-31
-31
3
-59
5
-4
-8
18
113
8
0
18
-3
10
-11
14
22
-11
11
27
20
-36
-21
-1
0
-37
11
34
-63
-27
-15
18
-15
-30
17
12
36
12
-56
68
-18
10
11
11
2
21
-65
-17
24
13
-3
18
25
-4
-1
-10
45
-17
44
8
13
16
-3
1
36
54
4
19
-33
7
-4
-4
-3
96
-13
60
-5
31
-20
-4
-17
-1
-44
33
24
72
6
10
-40
-6
-21
12
-36
-87
-128
8
-16
-5
-1
-6
8
14
9
-2
-51
-2
28
-125
16
0
0
0
-1
1
-60
-64
50
0
0
0
0
0
0
0
-30
-33
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
11
30
2
4
1
1
3
-7
15
-20
6
31
12
-5
-3
0
-4
27
8
-13
-27
-16
-1
1
-9
-5
-38
7
20
-27
8
1
-3
-24
-20
25
-25
-27
3
-17
-4
-3
5
-13
-77
-31
1
-15
-5
-8
0
-3
-1
-2
4
5
-8
16
-4
6
-20
-13
83
91
8
54
13
20
-10
-35
-52
-1
2
-20
7
18
9
14
11
9
39
1
0
-8
1
10
14
-6
8
-37
-27
-8
-2
2
-7
-3
-10
-6
89
41
10
29
1
-30
-29
-11
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-42
-22
-26
-24
-10
10
11
13
-41
10
3
3
9
2
4
-1
1
46
2
16
-8
-7
-13
-12
-9
-7
-24
-56
-59
33
25
-15
72
-43
59
7
-12
29
16
-34
-13
-8
-5
-8
2
63
21
-48
-32
-40
-14
-26
-22
23
27
20
-9
15
-23
-6
-10
-5
-1
10
-21
42
-35
-12
-2
-24
13
-22
-14
-22
-17
-30
-14
-15
-7
10
-66
-26
-6
6
-20
-16
-16
13
27
0
-16
28
-43
7
-13
9
-11
23
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
-82
-22
7
-21
-19
-12
-1
-4
18
30
9
-19
8
21
-8
-11
-55
-17
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-39
-51
7
-59
1
-17
-2
-2
21
0
-12
18
23
-73
-42
-25
17
63
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-9
-26
-31
-8
7
-13
19
-2
-16
-8
-10
-4
-10
5
-23
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
16
9
19
-10
-4
-8
-10
-18
-3
-17
-32
0
29
-9
0
-31
-11
0
14
-16
-6
-9
-18
-10
-10
-9
-19
11
35
-6
6
-54
-12
25
2
-33
64
6
-10
48
-35
-40
-1
-3
26
-14
-14
15
10
23
-24
13
25
33
-33
-24
11
18
14
0
0
-12
-36
-22
27
-5
-21
6
-8
8
3
-59
20
-10
4
16
7
3
-4
-13
-8
-50
-1
-9
-9
7
8
-2
8
14
-6
-7
-4
29
-22
5
-4
12
6
-6
-103
14
-1
-7
11
-9
-5
0
0
0
-13
-79
-4
-40
-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
10
13
-21
-11
-9
5
-6
-1
1
-42
-39
-26
-15
-4
0
1
-5
-13
2
32
-76
-33
16
-21
-5
-12
37
0
0
5
55
35
-33
-55
-8
-50
-5
20
10
-5
14
2
-5
-4
3
31
-57
17
0
-7
-12
-3
-7
-7
-52
-16
-30
12
-15
-39
-15
-20
-9
-26
33
-18
-61
41
-8
-66
50
-5
2
22
-2
17
-5
0
-7
0
1
-26
27
18
-17
-9
-7
-1
-14
-7
19
-100
-19
-9
8
6
-2
-28
-2
0
-40
-70
48
5
14
-10
-60
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
23
-4
-4
-9
4
7
0
-10
-11
6
3
-20
-15
-14
-3
-2
6
27
-105
-8
31
26
-40
11
7
-27
0
0
0
0
4
3
2
19
-38
-11
-23
6
-13
-10
-23
-11
-4
-7
17
3
5
1
-11
5
-11
-18
-1
23
15
21
-15
13
-4
-7
-9
-5
-13
-11
21
2
59
6
-34
-25
-19
-22
-14
-22
-17
-30
-14
-15
-7
10
-66
-26
-6
6
-20
-16
-16
13
27
0
-16
28
-43
7
-13
9
-11
23
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
-82
-22
7
-21
-19
-12
-1
-4
18
30
9
-19
8
21
-8
-11
-55
-17
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-39
-51
7
-59
1
-17
-2
-2
21
0
-12
18
23
-73
-42
-25
17
63
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-9
-26
-31
-8
7
-13
19
-2
-16
-8
-10
-4
-10
5
-23
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
16
9
19
-10
-4
-8
-10
-18
-3
-17
-32
0
29
-9
0
-31
-11
0
14
-16
-6
-9
-18
-10
-10
-9
-19
11
35
-6
6
-54
-12
25
2
0
1
0
0
0
-5
16
6
-5
1
35
12
54
13
-10
7
23
5
12
6
64
-7
12
-21
22
42
3
-54
-28
9
32
1
22
-4
22
35
-30
24
5
-20
-52
18
-20
61
10
-28
13
-34
7
60
-21
-1
-41
62
15
-82
2
90
-38
-42
-7
-2
-16
-17
6
-39
5
-23
25
-32
-43
3
-20
-6
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
61
-31
26
-16
20
-47
7
-5
38
-28
-14
28
-47
-9
-51
-27
-48
45
24
-37
23
-14
-28
15
-18
34
2
15
-10
1
-16
-16
-51
27
-28
-99
15
7
15
20
30
-1
-27
-11
-7
-5
23
18
-43
1
-3
-12
32
-60
-32
31
45
-8
0
0
0
0
0
0
0
0
0
0
0
2
28
-21
16
-10
7
10
-7
3
16
7
11
15
-15
-46
-33
-25
29
-6
-38
7
-23
-13
-23
-4
-52
1
-26
-42
-32
-8
-23
-17
-32
60
-24
-60
-61
5
27
5
-32
0
-23
-22
-5
31
11
-40
7
2
-29
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
12
21
-6
-46
-31
23
-53
-16
-17
13
0
0
0
0
0
0
0
0
0
0
23
13
1
-35
35
11
-16
-7
19
-18
-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
-56
-20
58
-12
-32
19
2
-45
-22
-2
0
0
0
0
0
0
0
0
0
0
3
-18
11
14
2
-33
-46
-14
44
12
-34
-23
-16
7
11
-70
14
-13
-6
33
16
48
-16
-15
4
15
-1
-9
46
-11
18
-15
-8
11
0
12
-25
20
11
17
-19
0
7
31
35
-63
19
23
16
2
1
-12
1
-19
-12
43
-2
-14
-18
-34
24
45
-57
-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
10
-22
11
28
-31
-17
29
6
19
-2
19
58
7
-73
-25
-53
3
-44
-8
-7
17
-20
-18
-5
6
34
-5
-59
-11
20
87
-53
-49
-48
43
-29
21
-54
4
17
73
-30
-2
-16
33
21
-5
-34
-23
-37
-26
-5
-63
16
1
2
-8
-14
25
-8
0
0
0
0
0
0
0
0
0
0
-39
29
3
-7
-23
17
-7
9
-15
5
-14
-18
-24
40
-3
-1
16
-9
-16
-1
40
44
-42
-8
-40
-3
4
-34
12
-8
57
-8
8
-48
-23
4
-22
-33
-7
38
27
5
-32
0
-23
-22
-5
31
11
-40
7
2
-29
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
12
21
-6
-46
-31
23
-53
-16
-17
13
0
0
0
0
0
0
0
0
0
0
23
13
1
-35
35
11
-16
-7
19
-18
-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
-56
-20
58
-12
-32
19
2
-45
-22
-2
0
0
0
0
0
0
0
0
0
0
3
-18
11
14
2
-33
-46
-14
44
12
-34
-23
-16
7
11
-70
14
-13
-6
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
14
0
0
1
2
-1
29
-18
15
42
23
0
-13
23
-6
-5
-11
19
-10
-6
-1
38
-37
-4
-11
10
-17
-13
85
9
-16
-17
-3
-19
7
-14
15
-43
-10
36
60
8
25
60
-32
22
-32
-9
-32
-51
48
23
-13
33
-25
47
5
14
11
16
-39
27
18
1
-7
17
36
14
4
14
14
-21
22
-47
9
-20
27
-27
6
-8
15
-33
46
-14
15
-10
-3
9
12
-53
40
31
2
-5
14
0
-43
-23
49
54
-4
0
0
-2
-11
-14
-18
68
-57
-27
0
0
0
0
-2
5
-18
25
-43
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
-5
-18
7
14
-28
-1
21
-1
7
12
43
-8
-46
-10
-6
-15
16
10
-23
0
33
13
6
24
-18
-16
-36
3
-8
-3
31
-8
-58
29
-65
-28
-14
27
-23
8
-18
-1
14
1
-27
-71
-8
-36
-2
10
-8
21
-13
24
79
-18
58
-3
-19
5
-23
1
-41
9
33
-31
-39
44
-53
-18
-17
-30
9
32
-17
-51
-3
23
5
47
1
-22
-14
44
-4
-6
-19
5
-4
26
-14
-27
-34
27
13
-3
8
-26
41
44
25
30
29
25
-7
-68
-32
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-2
-15
23
-27
20
4
22
-6
7
12
14
-5
3
-6
1
-10
9
8
-10
-12
14
10
16
-6
19
1
3
-3
-5
0
-25
-44
-9
-4
-9
-8
15
5
-37
-11
-2
-8
-18
18
28
-8
-7
-28
-8
1
-46
-40
-5
69
36
-30
-14
-3
-1
-3
-28
-6
0
5
18
-10
-36
-25
-43
-3
9
14
-13
-29
9
-14
-5
-4
17
-1
4
5
27
-7
-13
-3
-1
-27
0
0
-1
1
24
32
11
-80
-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
-31
-47
21
20
-13
5
-15
2
15
-1
-1
1
7
-14
5
-46
9
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-26
21
42
-14
-8
10
-29
82
0
1
0
0
-18
7
14
18
-45
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
43
-12
-63
11
-3
0
0
4
0
-13
-3
5
-41
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-2
59
16
1
-16
-1
-15
7
3
13
7
-33
12
-22
12
-53
21
-15
42
-14
3
17
4
-21
1
-6
4
-34
4
-26
-10
-43
19
23
8
0
2
-1
-2
-3
14
11
29
18
9
9
7
23
-6
5
-34
-7
21
-14
-25
13
31
65
21
-43
-47
29
5
-18
0
0
-41
13
3
9
-13
-15
49
-6
14
5
-3
10
-4
-36
-19
-54
18
-19
-20
-2
19
1
19
-9
45
11
-52
11
-4
-21
15
42
1
0
-7
-15
10
-30
0
7
6
0
0
0
0
-7
25
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-44
-15
10
-3
2
-7
5
-17
16
7
-11
-32
9
-5
17
-7
21
10
-25
8
8
29
-12
-55
0
0
0
-2
-14
-2
-4
-5
-45
-5
39
-25
22
5
-13
-16
6
24
-11
-20
30
35
13
24
-16
-5
-30
2
-3
-40
-13
10
47
5
-51
20
0
0
0
4
-6
-29
-23
20
-22
17
-21
16
-29
-27
15
1
5
-9
-6
53
-40
-2
29
-15
-26
-49
21
16
-39
-1
1
-38
-41
16
-29
57
-1
1
6
54
17
21
-54
-22
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
1
-14
-32
-11
-6
24
5
-18
-2
17
21
12
-8
-19
4
5
-9
14
22
3
-18
19
21
-70
-32
35
0
0
0
0
0
-1
-1
13
-26
9
11
14
-2
26
-5
-8
-9
9
8
-4
8
16
-52
72
-16
-1
-37
-33
12
-2
61
-21
-43
-18
14
-27
-3
1
3
-24
-30
15
-5
-18
-20
9
14
-13
-29
9
-14
-5
-4
17
-1
4
5
27
-7
-13
-3
-1
-27
0
0
-1
1
24
32
11
-80
-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
-31
-47
21
20
-13
5
-15
2
15
-1
-1
1
7
-14
5
-46
9
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-26
21
42
-14
-8
10
-29
82
0
1
0
0
-18
7
14
18
-45
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
43
-12
-63
11
-3
0
0
4
0
-13
-3
5
-41
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-2
59
16
1
-16
-1
-15
7
3
13
7
-33
12
-22
12
-53
21
-15
42
-14
3
17
4
-21
1
-6
4
-34
4
-26
-10
-43
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
21
4
0
0
0
0
0
0
0
0
0
0
0
-25
-76
51
112
48
10
-4
-4
0
0
0
0
0
0
0
0
0
8
-103
49
52
5
0
0
0
0
0
0
0
0
0
0
0
0
-9
-29
-51
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
-131
14
-40
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
-119
-20
33
2
0
0
0
0
0
0
0
0
0
0
0
0
-92
-3
14
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-189
-41
-26
4
0
0
0
0
0
0
0
0
0
0
0
0
-43
-105
73
18
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
14
-4
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
19
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
0
13
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-51
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-75
-2
0
0
0
0
0
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
-3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-21
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
58
34
1
0
0
0
0
0
0
0
0
0
0
0
0
2
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-26
23
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
50
47
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
14
52
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-8
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
27
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
18
10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
21
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
25
5
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
58
43
27
23
-7
0
0
0
0
0
0
0
0
0
0
-1
74
-5
70
-37
-84
-78
-7
-1
0
0
0
0
0
0
0
0
14
2
-30
51
-4
-58
-24
2
-2
0
0
0
0
0
0
0
0
0
11
-19
-15
80
105
-8
0
0
0
0
0
0
0
0
0
0
1
1
-29
-19
10
-8
-2
3
0
0
0
0
0
0
0
0
0
0
23
9
-1
4
3
-1
0
0
0
0
0
0
0
0
0
0
1
5
-10
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
32
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
20
-2
0
0
0
0
0
0
0
0
0
0
0
-10
7
18
6
16
-15
-4
0
0
0
0
0
0
0
0
0
1
-4
14
10
57
25
-27
-5
-5
0
0
0
0
0
0
0
0
0
10
13
-9
2
3
2
-10
0
0
0
0
0
0
0
0
0
0
-15
-1
-5
7
-13
-11
0
4
0
0
0
0
0
0
0
0
-3
-16
2
3
-11
-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
-9
9
178
46
19
0
0
0
0
0
0
0
0
0
0
0
-14
4
122
163
26
46
49
-48
-13
0
1
0
0
0
0
0
0
32
-6
40
131
133
70
84
100
-6
0
0
0
0
0
0
0
0
-3
3
32
40
52
56
126
1
-4
0
0
0
0
0
0
0
0
44
2
39
53
-15
137
9
75
0
0
0
0
0
0
0
0
0
6
-5
11
7
-45
-34
3
1
0
0
0
0
0
0
0
0
14
2
-24
44
-27
-5
11
0
-3
0
0
0
0
0
0
0
0
0
-36
-2
0
-9
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
21
18
4
62
26
-42
7
0
0
-3
0
0
0
0
0
0
0
-20
60
-72
-6
-6
-107
19
42
99
14
3
-1
-1
0
0
0
0
-11
-19
5
-7
11
-22
-7
-93
16
-32
17
-1
1
0
0
0
0
-5
-108
-36
-120
-47
-59
26
32
-54
10
7
-2
0
0
0
0
0
21
-63
-35
-109
-57
-15
-32
-29
-57
8
5
0
0
0
0
0
0
87
-127
-12
-126
-99
-39
-18
-95
-30
0
5
0
0
0
0
0
0
16
-91
-103
-87
-90
-15
-17
-100
3
1
-2
2
0
0
0
0
0
27
76
-46
-71
-114
-61
67
-24
-40
0
-7
0
0
0
0
0
0
46
-99
-94
-201
-80
-23
-71
1
17
2
-3
4
1
0
0
0
0
1
-13
-16
48
41
-33
-23
0
0
0
0
0
0
0
0
0
0
0
18
-32
24
15
31
-20
-119
-35
-45
2
0
0
0
0
0
0
0
8
90
53
117
81
176
-40
-47
-23
4
0
0
0
0
0
0
0
7
-24
3
3
49
69
26
-54
-10
-1
0
0
0
0
0
0
0
-36
27
9
-11
58
103
-38
-106
-3
0
0
0
0
0
0
0
1
-3
39
-86
38
5
8
76
25
-7
0
0
0
0
0
0
0
1
26
123
-107
-19
6
56
20
91
59
0
0
-1
0
0
0
0
0
17
-10
57
-45
165
-16
47
-33
-44
0
0
0
0
0
0
0
0
-15
13
-1
-5
22
-7
-87
-25
-1
0
0
0
0
0
0
0
0
36
-19
-44
101
-53
118
0
0
1
0
0
0
0
0
0
0
0
-39
63
73
-46
-69
6
13
-54
58
1
1
0
0
0
0
0
0
33
86
-20
-9
119
35
-4
-56
14
8
0
0
0
0
0
0
0
-3
34
65
42
100
75
29
97
-11
0
0
0
0
0
0
0
0
6
3
-33
76
64
119
-96
59
21
0
0
0
0
0
0
0
0
72
-21
84
-12
160
178
-36
75
11
-1
0
0
0
0
0
0
0
9
25
-8
-101
134
54
-109
7
-4
2
0
0
0
0
0
0
0
1
39
32
-65
-41
131
22
-25
0
0
0
0
0
0
0
0
0
57
-14
2
0
-15
2
2
0
0
0
0
0
0
0
0
0
0
-1
22
80
155
2
70
0
0
0
0
0
0
0
0
0
0
0
-120
80
159
58
71
-68
-132
-31
-1
0
0
0
0
0
0
0
-23
93
49
140
104
-6
-75
79
8
-2
0
0
0
0
0
0
0
23
11
60
121
194
27
37
104
-7
0
0
0
0
0
0
0
0
7
14
129
-26
41
49
-24
3
11
-3
0
0
0
0
0
0
0
25
17
-14
-36
-59
42
-43
109
0
0
0
0
0
0
0
0
0
-21
29
14
-8
8
-59
14
2
0
0
0
0
0
0
0
0
0
0
-26
47
-58
-101
-18
-44
-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
86
144
37
-71
0
0
0
0
0
0
0
0
0
0
0
5
23
9
44
42
153
-21
-5
-2
0
0
0
0
0
0
0
0
1
21
126
110
91
194
46
-13
0
0
0
0
0
0
0
0
0
-4
52
50
44
99
6
83
-37
0
0
0
0
0
0
0
0
1
0
0
15
14
-30
-83
73
0
0
0
0
0
0
0
0
0
0
1
-5
23
95
35
20
5
0
0
0
0
0
0
0
0
0
2
1
0
-4
-39
-58
-95
90
2
0
0
0
0
0
0
0
0
0
5
1
-31
-98
5
-91
27
10
0
0
0
0
0
0
0
0
0
0
0
-3
0
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
-1
26
11
0
0
0
0
0
0
0
0
0
0
0
0
13
159
82
4
52
-68
13
-11
0
0
0
0
0
0
0
0
0
-18
-16
39
47
-5
-21
2
2
0
0
0
0
0
0
0
0
0
6
55
-26
53
55
75
60
0
0
0
0
0
0
0
0
0
0
61
57
35
95
87
55
-119
-5
0
0
0
0
0
0
0
0
0
25
39
29
51
-90
-7
7
0
0
0
0
0
0
0
0
0
0
56
81
-39
-27
14
-33
-171
-1
0
0
0
0
0
0
0
0
0
1
61
78
-138
24
-184
10
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
102
0
0
3
-31
0
-3
0
0
0
0
0
0
0
0
0
0
1
24
-60
-37
-28
-16
0
0
0
0
0
0
0
0
0
0
0
-28
46
44
-38
-12
0
0
0
0
0
0
0
0
0
0
0
0
3
15
5
-4
23
-1
-1
0
0
0
0
0
0
0
0
0
-2
-3
-21
-43
71
-3
5
0
-3
0
0
0
0
0
0
0
0
-5
45
-14
-1
-17
-5
-1
-1
3
0
0
0
0
0
0
0
0
7
24
11
-33
-79
2
0
-3
0
0
0
0
0
0
0
0
0
-4
-40
19
13
-27
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
2
25
0
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
53
-7
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-14
12
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
33
23
18
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-17
-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
3
29
-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
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
46
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
24
92
-2
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
-45
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
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
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
33
6
-2
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
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
-119
-9
0
78
25
0
0
0
0
0
0
0
0
0
0
0
0
12
43
59
1
19
0
0
0
1
0
1
0
0
0
0
0
-35
66
-33
-5
79
54
9
33
-5
0
0
1
0
0
0
0
0
6
-53
10
1
-48
20
-114
-59
-21
-1
0
0
0
0
0
0
0
-16
80
-4
-72
-110
-65
-32
42
8
-8
1
4
0
0
0
0
0
0
20
-11
2
-25
44
-72
9
33
0
0
0
0
0
0
0
0
6
8
47
-7
-29
-20
-55
69
55
2
0
0
0
0
0
0
0
0
-39
71
-115
-96
-20
148
-19
35
-23
-1
0
0
0
0
0
0
-5
11
-8
44
2
-7
3
17
0
0
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
36
-10
65
31
0
0
0
-7
-2
0
0
0
0
0
0
29
-31
-3
5
123
26
-94
-33
-6
2
-5
0
0
0
0
0
0
-8
23
-46
34
-1
12
-35
30
18
9
-3
0
0
0
0
0
0
0
-17
11
45
-45
-16
18
-4
-75
2
0
0
0
0
0
0
0
0
-14
2
-34
-1
-46
-3
25
-15
1
-1
0
0
0
0
0
0
0
-25
-69
-1
-1
-1
30
18
-100
-10
0
0
0
0
0
0
0
0
17
53
-51
-37
-5
-53
18
16
0
0
0
0
0
0
0
0
4
0
0
0
0
-6
-6
0
0
0
2
0
0
0
0
0
0
9
-148
-77
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
-30
2
5
0
0
0
0
0
0
0
0
0
0
0
0
19
11
-7
26
-4
0
0
0
0
0
0
0
0
0
0
0
0
-56
29
18
5
7
0
0
0
0
0
0
0
0
0
0
0
0
79
-2
37
-3
-13
2
0
0
0
0
0
0
0
0
0
0
0
21
9
23
-25
37
-8
-9
0
0
0
0
-1
0
0
0
0
0
-52
14
-11
-26
-29
9
7
21
13
-3
-2
-1
0
0
0
0
0
1
-42
18
-31
-49
-18
20
-23
35
-13
3
-1
0
0
0
0
0
-78
39
-34
5
16
-6
10
2
-5
-1
0
0
0
0
0
0
0
-116
-11
-11
74
85
23
0
0
0
0
0
0
0
0
0
0
0
-11
-89
-37
68
129
14
0
0
-2
0
0
0
0
0
0
0
0
-83
-86
-26
22
-49
-13
40
17
3
-1
0
0
0
0
0
0
0
-47
-34
-16
-80
-89
-19
-24
37
-13
9
0
0
0
0
0
0
0
-87
-10
-2
24
-67
-52
-19
0
0
-4
-1
0
0
0
0
0
0
-76
-45
4
10
-7
-22
-11
-11
-7
0
0
0
0
0
0
0
0
-72
-22
-83
9
-56
24
-13
-4
-1
0
0
0
0
0
0
0
0
-4
-20
-38
-61
-14
15
0
-1
3
-2
0
0
0
0
0
0
0
49
3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-28
-17
16
161
166
0
0
0
0
0
0
0
0
0
0
0
-52
0
-16
22
18
74
89
3
-13
8
-1
0
0
0
0
0
0
-56
-29
7
32
55
37
17
-1
-25
-16
0
0
0
0
0
0
0
-10
-8
-5
16
32
8
9
-8
44
-21
-1
0
0
0
0
0
0
63
-1
7
15
5
-51
15
-55
-11
1
2
0
0
0
0
0
0
27
15
1
7
1
-39
-92
-130
-45
7
3
0
0
0
0
0
0
24
1
2
-9
-44
-17
-23
-49
-62
-20
-22
0
0
0
0
0
0
22
14
1
-16
-29
-62
-59
-125
-43
-46
-5
4
0
0
0
0
0
26
3
-13
-28
-59
-13
38
-10
3
21
-8
-3
0
0
0
0
0
363
323
193
302
257
74
0
0
0
0
0
0
0
0
0
0
0
213
175
196
94
211
236
11
-1
0
0
0
0
0
0
0
0
0
-26
110
53
18
105
36
8
-1
0
0
0
0
0
0
0
0
0
-36
-5
33
34
-27
-2
4
0
0
0
0
0
0
0
0
0
0
-4
-33
-22
70
53
-41
0
0
0
0
0
0
0
0
0
0
0
-39
-1
-31
-27
14
-3
-2
-1
0
0
0
0
0
0
0
0
0
-65
-57
-32
-95
-53
0
0
0
0
0
0
0
0
0
0
0
0
-1
-89
-98
-109
-34
17
-5
0
0
0
0
0
0
0
0
0
0
-18
-13
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
13
96
127
108
35
48
0
0
0
0
0
0
0
0
0
0
-33
-54
-36
63
105
0
-45
9
0
0
0
0
0
0
0
0
0
-17
-77
-65
-4
-147
67
-53
-7
0
0
0
0
0
0
0
0
0
-38
-91
-57
-32
54
-10
-5
-3
0
0
0
0
0
0
0
0
0
-11
-48
-48
5
20
-1
2
0
0
0
0
0
0
0
0
0
0
-49
13
-55
-15
24
2
0
0
0
0
0
0
0
0
0
0
0
78
-8
-46
4
-43
0
-7
14
0
-1
0
0
0
0
0
0
0
10
23
-23
46
-25
-45
-23
2
0
0
0
0
0
0
0
0
0
-5
-112
27
10
18
-3
-3
0
-1
0
0
0
0
0
0
0
0
-93
-190
-116
112
177
50
0
0
0
0
0
0
0
0
0
0
0
-77
-87
-83
53
97
155
0
-10
0
0
0
0
0
0
0
0
0
-84
-103
-42
-10
56
-18
0
-8
-2
-1
0
0
0
0
0
0
0
-100
-78
-80
24
0
70
-35
-23
1
0
0
0
0
0
0
0
0
-18
-30
2
-41
-59
-27
31
9
-1
-4
0
0
0
0
0
0
0
-45
-9
-14
-77
-44
0
3
-16
2
1
7
0
0
0
0
0
0
-6
-21
-6
-30
101
-67
0
3
0
0
0
0
0
0
0
0
0
-19
52
32
-32
-143
-22
-9
4
-6
-1
0
0
0
0
0
0
0
-7
14
53
-53
-41
-15
3
-3
2
0
0
0
0
0
0
0
0
-53
23
44
44
106
94
45
0
0
0
0
0
0
0
0
0
0
1
-10
-26
-94
-5
36
0
-13
0
-2
0
0
0
0
0
0
0
-25
-11
0
11
-11
-47
13
-75
14
0
0
0
0
0
0
0
0
17
15
-11
2
20
-44
14
3
33
0
0
0
0
0
0
0
0
61
14
6
87
-1
-101
16
-7
0
0
0
0
0
0
0
0
0
25
5
-18
-4
62
-23
63
-3
-9
0
0
0
0
0
0
0
0
56
-14
-34
-70
38
-61
-21
-10
0
0
0
0
0
0
0
0
0
-8
-87
-44
-68
62
-5
-35
-31
3
0
0
0
0
0
0
0
0
11
-6
-32
71
-1
0
3
0
0
0
0
0
0
0
0
0
0
-49
-53
37
-40
-23
-1
0
0
0
0
0
0
0
0
0
0
0
-63
-19
-3
44
62
8
20
0
-13
-1
0
0
0
0
0
0
0
-51
-92
-47
30
22
-65
-33
-18
5
0
0
0
0
0
0
0
0
-22
-20
-70
16
-5
-49
-20
10
-11
1
0
0
0
0
0
0
0
-10
-43
-27
14
9
-42
-9
-31
-14
1
0
0
0
0
0
0
0
-19
-58
-7
-2
45
-43
-1
-4
-8
0
0
0
0
0
0
0
0
-68
-52
-29
9
-6
-27
-1
-3
11
0
0
0
0
0
0
0
0
-60
-50
-102
-33
-58
-39
-1
-34
-58
0
0
0
0
0
0
0
0
-6
-78
18
-55
-50
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
-12
-68
-32
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-42
-147
-44
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-118
24
33
2
0
0
0
0
0
0
0
0
0
0
0
2
-18
35
37
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
80
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
-34
67
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
-11
-91
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
35
-8
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
16
70
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
11
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
-6
52
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-80
0
0
0
0
0
0
0
0
0
0
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
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-5
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
53
81
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
46
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-78
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-1
-9
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
-4
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
46
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
28
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
0
0
0
0
0
0
0
0
0
-15
33
72
-37
4
0
0
0
0
0
0
0
0
0
0
0
0
-29
-49
-59
-42
-13
1
0
0
0
0
0
0
0
0
-1
43
-34
-35
-64
-35
-18
-7
0
0
0
0
0
0
0
0
0
0
-1
-5
68
14
124
0
14
3
0
0
0
0
0
0
0
0
-2
25
28
27
48
77
7
-11
0
0
0
0
0
0
0
0
0
0
-2
71
65
16
-13
10
0
0
0
0
0
0
0
0
0
0
1
39
-1
35
-6
-8
6
0
0
0
0
0
0
0
0
0
0
0
-14
44
3
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
-6
-6
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-6
-15
0
-2
0
0
0
0
0
0
0
0
-1
0
-2
9
4
2
-5
-4
7
0
0
0
0
0
0
0
0
0
0
-5
23
31
15
15
3
-25
0
0
0
0
0
0
0
0
0
-1
-17
13
-10
17
8
1
-18
-13
0
0
0
0
0
0
0
0
0
-15
0
2
9
3
-2
-3
0
0
0
0
0
0
0
0
0
0
-1
0
9
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
-21
33
72
-19
5
-41
24
0
0
0
0
2
0
-1
-1
0
0
16
143
119
-38
137
-58
30
0
0
0
0
0
0
0
0
26
93
-20
16
129
126
57
14
75
0
0
0
0
0
0
0
-1
-3
37
35
67
88
202
19
12
69
0
0
0
0
0
0
-2
0
-2
9
17
18
-13
43
65
80
-9
0
0
0
0
0
0
-3
2
-16
1
10
20
15
93
-55
32
0
0
0
0
0
0
1
0
-2
-14
-45
-1
14
33
41
-26
2
0
0
0
0
0
0
0
0
0
13
54
14
6
27
-163
-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
10
4
0
0
-27
-88
-160
-18
-128
50
1
0
0
0
0
0
2
31
30
139
-17
-131
-72
-60
-34
21
85
20
0
0
0
0
3
-1
-10
-34
-32
-50
-81
-73
-85
-84
-6
119
-9
0
0
0
0
0
0
-3
5
-137
-17
25
9
-24
0
58
32
53
0
0
0
1
4
-1
1
4
-137
-3
-16
-36
-25
14
22
126
39
0
0
0
0
1
-1
1
-17
-6
-109
-1
-14
-53
-32
45
59
-37
0
0
0
0
0
0
25
8
20
-52
33
-53
-20
-68
27
-53
1
0
0
0
0
0
0
-11
-4
102
52
-63
-57
-75
-37
-71
84
-1
0
0
0
0
0
2
0
-3
15
95
66
-64
-51
-86
32
-89
0
0
0
0
0
0
0
0
0
0
0
14
105
-76
47
-5
27
-15
0
0
0
0
0
0
0
0
-7
24
162
11
115
212
-16
39
6
0
0
0
0
0
0
0
-1
-5
59
27
-27
-63
12
-32
-19
-126
0
0
0
0
0
0
0
0
1
46
-50
-24
-68
116
-23
-40
9
0
0
0
0
0
0
0
0
7
23
-36
15
-21
79
43
1
-13
0
0
0
0
0
0
0
0
-6
6
44
37
18
59
69
-84
-77
0
0
0
0
1
0
0
0
-55
3
-57
30
73
-48
111
-14
-122
0
0
0
0
0
0
0
0
24
-80
9
20
69
27
-45
9
7
0
0
0
0
0
0
0
0
0
0
-4
-1
27
97
-20
7
-105
0
0
0
0
-2
0
0
0
0
0
59
133
135
33
81
83
-50
0
0
0
0
0
0
0
0
25
67
0
46
25
290
13
7
-18
0
0
0
0
0
0
0
0
1
91
-94
-118
86
73
88
-38
-48
0
0
0
0
0
0
0
0
-1
31
10
90
45
131
20
12
-9
0
0
0
0
0
0
0
0
0
-53
33
9
-16
54
92
36
24
0
0
0
0
0
0
0
0
-2
6
-5
-2
-92
107
49
99
-65
0
0
0
1
0
0
0
0
-11
32
-58
-7
-3
36
72
-32
-3
0
0
0
0
0
0
0
-8
-1
90
90
-94
-30
67
-14
9
-9
0
0
0
0
0
0
0
0
5
2
-7
1
-1
-8
75
0
0
0
0
0
0
0
0
0
0
0
0
-97
27
-45
-80
-90
26
0
0
0
0
0
0
0
0
0
-86
0
-45
-149
35
-21
-94
-78
-7
0
0
0
0
0
0
0
-2
-18
78
67
-18
-11
-29
133
44
-2
0
0
0
0
0
0
0
6
2
0
75
153
148
113
48
71
3
0
0
0
0
0
0
-1
0
23
49
110
114
79
118
79
-51
0
0
0
0
0
0
0
0
0
-1
62
170
131
148
48
-22
31
0
0
0
0
0
0
0
0
1
21
54
52
148
154
-25
-80
5
0
0
0
0
0
0
0
0
4
43
75
-20
-117
80
-256
-5
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
-133
73
101
46
35
0
0
0
0
0
0
0
0
0
0
6
0
-35
-1
97
99
56
74
-1
0
0
0
0
0
0
0
0
1
33
-46
13
33
31
158
-16
0
0
0
0
0
0
0
0
0
-5
7
3
61
107
53
158
-11
0
0
0
0
0
0
0
0
0
1
34
89
24
17
105
-43
-6
-7
0
0
0
0
0
0
0
0
1
0
1
53
-58
16
-17
3
1
0
0
0
0
0
0
0
0
0
-10
4
-18
71
-5
-22
5
0
0
0
0
0
0
0
0
0
5
0
8
27
-11
-4
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
48
111
17
9
-44
-34
-32
0
0
0
0
0
0
0
0
0
0
90
142
51
-29
-40
-1
41
0
0
0
0
0
0
0
0
0
0
-15
49
-22
74
-46
-70
31
0
0
0
0
0
0
0
0
0
0
-15
71
100
-38
30
-70
-1
0
0
0
0
0
0
0
0
0
2
51
98
75
-80
-49
-68
-9
0
0
0
0
0
0
0
0
0
1
15
-18
5
-33
45
-29
9
0
0
0
0
0
0
0
0
0
0
25
43
1
50
-89
-2
0
0
0
0
0
0
0
0
0
0
0
2
2
11
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
18
-138
62
-3
0
0
0
0
0
0
0
0
-10
14
35
19
45
46
63
-11
29
-14
0
0
0
0
0
0
0
0
0
-3
1
-6
-67
18
100
7
5
0
0
0
0
0
0
0
0
0
0
-3
1
-1
-1
-71
-2
10
0
0
0
0
0
0
0
0
0
0
0
-3
-20
30
136
-24
-60
0
0
0
0
0
0
0
0
0
0
0
0
-15
-98
41
119
130
0
0
0
0
0
0
0
0
0
0
0
-4
-1
83
103
31
-102
0
0
0
0
0
0
0
0
0
0
0
0
-30
15
13
-27
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-83
-45
-54
-77
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
4
39
24
32
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-9
38
-36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
17
16
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
26
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
42
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
3
-35
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-14
-22
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
64
22
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
9
11
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-11
0
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
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
2
27
-3
-6
0
0
0
0
0
0
0
0
0
0
0
2
-2
19
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
18
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
-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
10
0
0
0
0
0
0
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
64
6
-50
-19
-1
2
0
0
0
0
0
0
0
19
-11
-78
18
20
33
57
43
84
-5
0
0
0
0
0
0
1
9
-25
6
-32
-44
79
-3
-44
23
18
0
0
0
0
0
0
0
10
-9
-75
23
-25
-6
-3
14
47
-5
0
0
0
0
0
0
0
0
-20
-22
-37
-19
-24
-59
-29
48
2
0
0
0
0
0
0
0
0
1
96
5
-10
-75
-4
-1
60
-8
0
0
0
0
0
0
0
0
6
2
-60
11
-58
-55
-45
-47
-4
0
0
0
0
0
0
0
0
5
71
-9
-13
12
4
65
3
0
0
0
0
0
0
0
0
0
24
-43
23
-3
0
-3
-17
-6
-7
0
0
0
0
0
0
0
0
0
0
3
-27
-5
-1
-3
-24
10
0
0
0
0
0
0
0
0
-1
-6
5
-2
-5
-19
5
-16
3
0
0
0
0
0
0
0
-2
3
-4
8
33
33
4
-37
-44
2
0
0
0
0
0
0
0
0
1
-1
-13
8
33
-23
-37
-4
21
0
0
0
0
0
0
0
0
1
-23
39
23
-6
50
-24
12
6
0
0
0
0
0
0
0
0
7
-8
36
-5
-15
33
-32
40
-14
0
0
0
0
0
0
0
-1
41
11
14
-20
-33
-22
13
-71
-24
0
0
0
0
0
0
0
-1
73
10
-56
-34
5
-49
60
-33
1
0
0
0
0
0
0
0
0
-1
-6
0
0
0
-11
-17
-27
-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
1
0
4
-1
19
0
0
-54
45
27
14
6
-2
0
0
0
0
0
0
8
-43
48
-144
-32
15
70
-19
-21
5
7
0
0
0
0
0
0
2
-2
8
-27
-12
-3
9
-83
9
4
17
0
0
0
0
0
0
0
3
-12
-12
-35
1
86
22
-4
23
0
0
0
0
0
0
0
0
0
6
-68
-78
-4
-62
-18
16
1
18
0
0
0
0
0
0
0
-1
-6
-66
-67
11
16
-6
0
-1
0
0
0
0
0
0
0
0
0
-8
-27
-25
-53
-14
1
2
-2
0
0
0
0
0
0
0
0
0
-2
-30
-46
-45
18
2
4
0
1
0
0
0
0
0
0
0
0
0
-8
-23
-7
0
0
0
0
0
0
0
0
1
-23
-3
-14
52
21
0
0
25
41
58
25
-29
3
0
0
0
0
-37
-43
19
-52
53
20
2
1
11
44
-56
7
0
0
0
0
-1
5
4
-1
-25
33
15
0
1
5
-7
49
-91
-9
0
0
0
0
1
-11
37
1
-5
-12
-1
0
4
16
28
119
-10
0
0
0
0
-3
0
13
18
-51
-18
-19
0
4
21
5
4
14
0
0
0
0
0
-3
2
-18
-29
-16
-4
-1
4
6
30
125
-43
0
0
0
0
9
-3
-2
-16
-63
6
-6
0
2
8
36
161
-14
0
0
0
-2
20
-14
-2
43
45
-13
0
-2
16
46
141
103
0
0
0
0
-1
49
-19
29
-80
5
5
-2
-10
4
41
-46
85
-4
0
0
0
0
0
0
0
-1
3
0
0
16
-9
-35
48
-1
0
0
0
0
0
0
0
0
2
45
23
7
24
-48
-23
-16
0
0
0
0
0
0
0
0
0
-5
18
2
100
-33
56
-20
7
0
0
0
0
0
0
0
0
0
0
14
64
14
-29
36
66
27
0
0
0
0
0
0
0
0
0
0
0
54
-32
53
72
-23
8
0
0
0
0
0
0
0
0
0
0
0
74
139
175
127
99
196
0
0
0
0
0
0
0
0
0
0
14
-47
-58
43
91
106
19
23
0
0
0
0
0
0
0
0
0
-9
-57
-13
-14
56
205
-2
0
0
0
0
0
0
0
0
0
0
0
0
-21
-7
5
-2
0
0
0
0
0
0
0
0
1
3
1
-32
0
0
-91
15
-41
43
1
0
0
0
0
0
0
-1
1
-3
-19
-24
-140
-21
-16
53
26
1
0
0
0
0
0
0
0
0
-1
-1
-4
-50
-30
-69
-23
-32
-13
0
0
0
0
0
0
1
0
5
-7
-14
-63
-18
96
175
53
3
0
0
0
0
0
0
0
0
0
1
34
4
22
25
-1
-8
1
0
0
0
0
0
0
0
0
3
-9
21
-83
-37
93
-15
10
0
0
0
0
0
0
0
0
2
0
-32
-13
-9
37
73
-46
8
0
0
0
0
0
0
0
1
0
-1
-34
-62
24
46
23
-33
0
0
0
0
0
0
0
0
0
1
0
16
-11
-24
-16
-1
-4
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
-66
56
-3
-18
-5
4
0
0
0
0
0
0
2
9
-63
-151
46
-4
-6
48
-30
-33
2
3
0
0
0
0
0
0
5
9
-54
11
-75
21
52
-34
-18
-1
0
0
0
0
0
0
0
14
-26
13
-63
2
74
29
11
-5
-2
0
0
0
0
0
0
0
-2
-5
-74
-90
-54
22
13
45
11
1
0
0
0
0
0
0
0
0
-19
-4
-25
-19
-22
-29
32
-3
0
-5
0
0
0
0
0
0
0
-27
-26
-74
-124
-62
42
82
-1
4
0
0
0
0
0
0
2
-1
-18
-8
-31
3
-47
14
18
-2
-17
0
0
0
0
0
0
0
0
0
-13
-34
-13
-7
5
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
-67
-4
46
-8
-14
-5
-1
0
0
0
0
0
0
-4
-33
-75
-115
-112
93
59
-29
-18
97
6
0
0
0
0
0
0
0
6
-167
29
-7
-48
91
-30
10
-27
-3
0
0
0
0
0
0
-4
3
-58
-39
-25
92
-17
-1
0
0
-1
0
0
0
0
0
0
0
-31
-40
-17
-15
-23
20
44
0
43
1
0
0
0
0
0
0
0
6
19
-1
-19
33
-41
-41
-6
-5
0
0
0
0
0
0
0
-2
89
9
1
-13
45
67
4
3
-7
-14
0
0
0
0
0
0
2
3
15
-4
39
141
5
1
-9
-4
0
0
0
0
0
0
0
0
-52
31
4
4
-10
30
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
16
-13
-6
-3
6
-3
0
0
0
0
0
0
17
53
-5
-31
-121
67
13
7
-10
-34
-18
0
0
0
0
0
0
17
-21
-43
-63
24
-29
51
-4
-21
6
-15
0
0
0
0
0
0
0
0
-53
-71
-20
-97
-57
-48
-1
1
-1
0
0
0
0
0
0
5
5
-80
-46
-89
24
-61
35
-7
-10
-27
0
0
0
0
0
0
-7
-48
-109
-40
86
-183
116
-158
0
3
7
0
0
0
0
0
-2
-71
-1
-51
-24
-93
-16
-68
23
-3
-24
0
0
0
0
0
3
10
22
-22
1
-37
13
-29
-101
-18
43
29
0
0
0
0
1
0
1
-24
-2
34
10
-15
-64
104
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
165
120
68
-10
0
0
0
0
0
0
0
0
0
0
26
-64
67
128
79
13
-53
-2
1
0
0
0
0
0
0
0
0
45
99
82
-1
40
56
-1
0
1
0
0
0
0
0
0
0
0
-52
71
23
-47
-31
-4
0
5
0
0
0
0
0
0
0
0
0
-51
0
58
-6
20
-2
0
0
0
0
0
0
0
0
0
0
0
13
-22
-26
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
-39
-18
3
-58
-34
1
0
0
0
0
0
0
0
0
0
0
0
-67
-82
-22
25
53
0
0
0
0
0
0
0
0
0
0
0
0
-34
-99
35
6
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
59
17
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-16
19
68
17
3
0
0
0
0
0
0
0
0
0
0
0
-3
-104
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
118
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-23
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
-3
30
-18
18
2
-1
0
0
0
0
0
0
0
0
0
0
59
18
34
25
2
13
0
0
0
0
0
0
0
0
0
0
0
-77
-7
38
19
5
0
1
0
0
0
0
0
0
0
0
0
0
22
60
-5
-21
8
4
0
0
0
0
0
0
0
0
0
0
0
-3
-16
54
7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-12
52
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
-13
-26
-48
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
14
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-81
55
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-8
26
22
1
36
-1
0
0
0
0
0
0
0
0
0
0
0
-61
-11
32
2
5
0
0
0
0
0
0
0
0
0
0
0
3
-79
-7
33
2
1
0
0
0
0
0
0
0
0
0
0
0
-11
-13
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-48
24
-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
71
-22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-32
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
34
74
138
161
69
67
0
0
0
0
0
0
0
0
0
0
-3
-20
-39
139
10
68
29
31
2
0
0
0
0
0
0
0
0
45
17
-21
119
78
-52
53
-26
0
0
0
0
0
0
0
0
0
-21
25
-27
8
62
-69
22
-2
0
0
0
0
0
0
0
0
0
-5
55
18
2
23
1
-1
-1
-1
0
0
0
0
0
0
0
0
0
60
24
9
-5
0
-2
0
0
0
0
0
0
0
0
0
0
2
-4
-51
1
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
18
72
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-5
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
35
9
19
29
3
17
0
0
0
0
0
0
0
0
0
0
0
-39
32
43
68
60
-5
-16
-2
-11
0
0
0
0
0
0
0
-6
-2
58
39
95
2
-9
-5
2
0
0
0
0
0
0
0
0
-1
-24
0
-3
1
20
9
-39
1
0
0
0
0
0
0
0
0
-2
-2
-10
-6
-8
-32
-6
0
5
0
0
0
0
0
0
0
0
-2
-31
0
1
-13
-11
-3
0
0
0
0
0
0
0
0
0
0
-3
-6
-13
13
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-22
-4
-13
-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
-50
-65
245
107
32
0
0
0
0
0
0
0
0
0
0
34
-147
-46
233
179
113
159
82
-8
-36
-32
8
0
0
0
0
0
-9
5
-12
128
81
123
145
106
76
20
-11
0
0
0
0
0
0
53
-37
81
80
-55
60
169
133
-103
20
6
0
-1
0
0
0
0
11
17
27
-17
9
-55
83
12
-53
5
2
0
0
0
0
0
0
4
-3
-45
4
23
-1
-3
18
4
0
0
0
0
0
0
0
0
11
-33
-3
27
-14
-13
0
0
-2
0
4
0
0
0
0
0
0
0
-89
27
36
-37
-1
-8
0
0
0
0
0
0
0
0
0
0
5
19
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-56
-48
-20
-16
-60
37
0
0
7
5
2
1
0
0
0
0
3
-12
-28
-24
-4
-82
13
91
147
119
51
0
-29
-1
0
0
0
-32
6
-33
-89
-64
-66
-32
9
27
-117
-16
50
-9
-1
0
0
0
131
-45
-12
-53
-82
-79
2
12
-18
5
41
15
54
0
0
0
0
-33
-25
50
-32
-47
-39
38
37
-77
-13
-28
58
-5
43
0
0
0
69
0
48
-92
-120
-24
-38
-22
-46
46
32
8
-23
0
0
0
0
-29
26
4
-102
-62
-14
53
41
-32
63
-99
20
0
1
0
0
0
53
63
-67
-80
-53
36
13
-58
-102
3
58
1
0
0
0
0
0
79
0
-85
-23
-61
77
-64
34
38
21
-66
-22
3
0
0
0
0
0
10
-99
52
-26
-18
45
0
0
0
0
1
0
0
0
0
0
1
-8
58
-6
13
11
71
32
44
83
-9
-6
0
0
0
0
0
-1
11
124
35
33
-34
-15
-119
-119
-29
7
0
0
0
0
0
0
-5
56
0
-32
23
-27
33
10
30
-30
-7
4
0
0
0
0
0
-6
8
22
-25
50
-38
-20
28
136
-14
-18
4
0
0
0
0
0
1
-36
-59
-23
18
31
8
45
72
10
7
-3
0
-8
0
0
0
1
77
13
66
-26
-11
-23
28
18
18
0
0
-2
0
0
0
0
0
45
-30
-12
104
7
-3
8
14
5
-4
1
0
0
0
0
0
1
-17
36
-1
-36
49
-13
24
-54
24
-5
0
0
0
0
0
0
0
51
-63
-11
80
9
16
0
0
2
6
0
0
0
0
0
0
0
-66
71
31
109
-34
168
93
-21
-1
19
-4
0
0
0
0
0
0
35
76
-32
68
35
140
127
-19
41
33
0
0
0
0
0
0
0
-18
14
14
-62
-37
-2
57
35
0
-1
17
0
0
0
0
0
0
7
4
-64
25
-38
49
0
-5
47
7
4
0
0
0
0
0
0
21
-39
106
17
-33
31
9
-52
-30
20
0
-1
0
0
0
0
0
33
58
-18
-96
-17
88
-147
-84
-29
-20
0
0
0
0
0
0
0
0
74
46
21
-89
-56
-115
-55
0
0
0
0
0
0
0
0
0
23
1
16
-21
14
6
2
0
0
2
0
0
0
0
0
0
29
22
75
-22
138
17
51
0
0
0
0
0
0
0
0
0
0
17
6
17
90
124
72
95
89
28
11
4
-3
0
0
0
0
0
-109
25
65
109
32
-14
81
-48
122
-16
0
1
0
0
0
0
0
-18
7
-7
-6
-18
-59
162
14
68
-5
5
0
-5
0
0
0
0
49
71
114
-47
29
-26
2
13
62
0
3
0
0
0
0
0
0
61
33
-20
-31
-88
-50
-45
71
-15
0
-2
0
0
0
0
0
0
46
36
16
-43
27
-49
3
4
2
0
0
0
0
0
0
0
0
1
83
20
-21
11
-62
-30
-5
4
0
0
0
0
0
0
0
0
14
4
14
0
-9
2
0
0
0
0
1
0
0
0
0
0
0
2
10
53
175
112
120
40
0
0
0
0
0
0
0
0
0
0
0
9
48
83
88
48
85
-6
-13
-60
0
0
0
0
0
0
0
1
13
31
83
48
25
57
86
8
1
0
0
0
0
0
0
0
0
8
77
-3
-6
129
32
69
-19
2
0
0
0
0
0
0
0
2
1
2
-53
18
-33
6
131
1
2
0
0
0
0
0
0
0
0
1
1
59
-2
30
-44
-5
-1
1
0
0
0
0
0
0
0
1
2
-3
0
-2
4
-40
0
2
0
0
0
0
0
0
0
0
0
4
-14
-4
72
-5
-150
7
2
0
0
0
0
0
0
0
0
0
0
1
-16
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
103
47
19
0
0
0
0
0
0
0
0
0
0
0
2
-11
81
128
103
150
-76
74
1
0
-2
0
0
0
0
0
0
0
-56
-90
13
-14
8
40
35
-8
-2
0
0
0
0
0
0
0
1
-13
-52
72
7
49
-34
14
7
6
0
0
0
0
0
0
0
0
11
64
-6
7
135
85
-16
-8
0
0
0
0
0
0
0
0
0
-10
-1
73
-15
20
5
2
0
1
0
0
0
0
0
0
0
0
-6
-26
-107
-75
-30
-40
105
-2
0
0
0
0
0
0
0
0
0
3
44
-63
-34
-8
-66
14
2
0
0
0
0
0
0
0
0
0
-1
0
-3
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
178
0
0
-46
-93
-3
-4
0
0
0
0
0
0
0
0
0
-2
44
95
-60
-89
-5
-39
1
0
0
0
0
0
0
0
0
0
4
-2
-31
-33
16
23
58
8
-1
0
0
0
0
0
0
0
0
0
9
-6
-17
23
-42
-19
-1
1
0
0
0
0
0
0
0
0
-1
-54
-19
-73
-74
-26
27
-44
-6
0
0
0
0
0
0
0
0
-5
-29
-57
-93
-8
-43
-21
4
0
0
0
0
0
0
0
0
0
3
-14
9
-24
15
-108
-15
37
1
7
0
0
0
0
0
0
0
-2
-132
-6
-80
-3
-3
0
0
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
6
147
0
0
-80
30
0
-1
0
0
0
0
0
0
0
0
0
-8
-67
-19
-34
-17
8
1
0
0
0
0
0
0
0
0
0
0
0
9
14
35
-14
-17
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
-5
5
-2
1
0
0
0
0
0
0
0
0
0
0
0
14
-17
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
-2
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-50
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
166
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-99
0
0
-23
-22
-4
0
0
0
0
0
0
0
0
0
0
-1
-71
14
-71
-56
-20
2
0
0
0
0
0
0
0
0
0
0
-11
-17
86
-42
-42
27
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-21
-58
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-77
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-27
44
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-27
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
157
0
0
5
-8
-1
0
0
0
0
0
0
0
0
0
0
0
34
43
7
17
0
0
0
0
0
0
0
0
0
0
0
0
-6
14
48
-45
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
-36
148
15
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
10
-21
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-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
6
13
-136
14
219
222
0
0
0
0
0
0
0
0
0
0
0
0
11
-33
89
122
-18
0
0
0
-49
-4
9
-5
0
0
0
0
-57
-9
0
-47
89
90
62
7
57
-8
15
1
-1
0
0
0
0
-26
-47
-33
62
-23
16
-119
-32
47
-24
-6
1
-1
0
0
0
0
39
32
-40
-70
-97
-62
-103
-67
-29
-11
-9
3
0
0
0
0
0
8
50
-8
-31
72
-22
-166
35
-90
-16
8
0
0
0
0
0
0
-21
-7
1
0
-94
-48
-32
16
3
23
-1
0
-1
0
0
0
0
0
-71
-14
-26
-26
0
61
9
0
-14
0
3
0
0
0
0
0
50
-22
11
6
2
-38
-21
29
2
0
0
0
0
0
0
0
0
0
0
-2
0
71
61
0
0
0
0
-2
3
0
0
0
0
0
-1
50
45
107
117
142
0
0
0
-37
33
4
0
0
0
0
0
-32
-60
71
-9
19
21
13
-60
-16
-5
-25
-6
0
0
0
0
0
31
-22
-61
28
-9
3
15
-33
109
44
-18
-4
0
0
0
0
0
0
16
-58
22
-100
-72
-39
94
-126
11
-10
0
0
0
0
0
0
1
13
-7
-104
-7
-100
1
-54
-37
-5
0
0
0
0
0
0
0
-6
-18
-42
-27
14
18
45
-25
-58
-44
-5
0
0
0
0
0
0
0
18
64
-24
-23
-50
-4
36
20
5
-5
0
-1
0
0
0
0
-7
1
0
0
0
-24
-12
1
2
1
3
0
0
0
0
0
0
-29
-59
-41
6
133
-29
0
0
0
0
0
0
0
0
0
0
0
11
77
22
132
122
20
0
0
0
0
0
0
0
0
0
0
0
0
6
74
65
65
78
11
0
0
0
0
0
0
0
0
0
0
-83
7
-57
-2
33
49
3
19
0
0
0
0
0
0
0
0
0
132
35
34
-10
-19
-1
46
-52
-24
0
0
0
0
0
0
0
0
12
-5
-5
-71
69
-17
-82
95
107
47
0
-2
0
0
0
0
0
-13
26
-26
-12
-10
-28
-27
144
40
-60
-17
-5
6
0
0
0
0
-5
-34
-30
-41
78
-43
-5
-8
-11
16
2
-9
0
0
0
0
0
-62
-24
-54
-40
2
-28
-74
-24
-58
-30
0
0
-1
0
0
0
0
-91
-83
-52
108
201
194
0
0
0
0
0
0
0
0
0
0
0
-55
1
-101
94
92
136
0
0
-43
-8
-20
0
0
0
0
0
0
56
-44
-61
-41
-89
35
92
-12
-22
-5
-1
0
0
0
0
0
0
-24
-13
-63
-64
-128
-49
-91
33
-74
38
-10
0
0
0
0
0
0
-61
42
-112
-92
-107
-72
-100
-3
36
-19
-2
0
0
0
0
0
0
-40
-27
-7
10
-70
71
-58
-50
-34
-2
0
0
0
0
0
0
0
-36
-22
-70
-96
-9
-1
-51
-43
-41
0
2
15
0
0
0
0
0
-8
19
0
-82
-53
8
-18
-90
-13
-8
0
0
0
0
0
0
0
1
53
19
33
-3
0
-4
5
-3
2
0
0
0
0
0
0
0
-98
-90
-121
-17
134
338
0
0
0
0
0
0
0
0
0
0
0
-4
-13
-2
2
69
166
150
-6
0
-1
34
0
0
0
0
0
0
13
6
-5
-3
12
13
-45
-87
-63
5
16
-10
0
0
0
0
0
-109
20
-14
-9
-40
-36
-35
-79
-22
-86
-21
0
0
0
0
0
0
-14
13
-16
-17
-33
-44
-50
-85
-72
-30
27
-15
0
0
0
0
0
-3
2
-10
-14
-25
-39
-51
-75
-113
42
42
-100
0
0
0
0
0
45
6
-2
2
-37
-65
-54
-76
-31
-25
-35
-8
0
0
0
0
0
7
-1
-6
-8
-27
-76
-79
-144
18
56
18
53
0
0
0
0
0
-36
13
3
-22
-38
-49
-97
-43
-20
0
34
-142
-2
0
0
0
0
131
208
216
308
331
328
0
0
0
0
0
0
0
0
0
0
0
119
123
144
205
278
154
109
-33
0
0
0
0
0
0
0
0
0
-58
-17
32
-7
22
-27
-54
-9
-6
2
0
0
0
0
0
0
0
-56
-12
-14
20
-45
-122
20
0
0
0
0
0
0
0
0
0
0
-33
-29
-62
-51
8
-37
0
-4
0
1
0
0
0
0
0
0
0
-49
-34
-57
9
1
-11
-1
0
-3
0
0
0
0
0
0
0
0
-64
-75
-14
-21
-52
13
0
0
0
0
0
0
0
0
0
0
0
-1
-168
-128
-58
-150
-52
-1
8
0
0
0
0
0
0
0
0
0
-60
-45
-26
-20
-3
-5
-4
-1
-1
0
0
0
0
0
0
0
0
-120
-67
-84
44
250
196
270
0
0
0
0
0
0
0
0
0
0
-45
-4
15
58
129
0
31
82
3
-2
0
0
0
0
0
0
0
-51
-6
-5
-13
37
13
5
-48
-9
7
-5
0
0
0
0
0
0
-89
19
-3
-62
-53
-67
-22
-24
1
0
0
0
0
0
0
0
0
-10
-18
11
-62
-43
-7
47
14
14
0
0
0
0
0
0
0
0
-9
5
75
-11
-68
-52
-33
5
4
0
0
0
0
0
0
0
0
108
-20
21
27
-74
28
68
7
-8
21
0
0
0
0
0
0
0
-29
-31
-29
-114
38
-73
-24
64
-1
7
0
0
0
0
0
0
0
-27
-17
48
-30
12
-4
-29
11
0
-1
2
0
0
0
0
0
0
-104
-78
-69
3
313
288
0
0
0
-1
-1
0
0
0
0
0
0
-5
-15
-23
22
173
227
0
-1
0
16
3
1
0
0
0
0
0
-34
-3
11
-16
17
-25
69
-73
-8
-43
16
0
0
0
0
0
0
-61
-16
-30
-14
-97
-28
29
-31
-37
23
-24
0
0
0
0
0
0
-31
46
-108
-76
-137
17
-4
60
24
-49
-11
0
0
0
0
0
0
-4
-6
16
-65
-67
-40
-66
57
-12
0
3
0
-2
0
0
0
0
31
-112
-36
24
-8
-34
-43
-14
22
-24
0
0
0
0
0
0
0
0
12
-50
-68
-52
-45
-52
-9
-63
-18
-1
0
0
0
0
0
0
-49
-64
-102
53
-95
-110
5
-16
9
1
0
0
0
0
0
0
0
-81
6
-109
56
145
236
255
0
0
1
0
0
0
0
0
0
0
6
32
40
115
83
149
0
58
0
-98
0
0
0
0
0
0
0
-70
15
23
19
34
31
-9
-97
77
-20
3
0
0
0
0
0
0
-18
31
-29
-116
-28
-84
33
-71
39
-6
4
3
0
0
0
0
0
21
36
27
-33
-52
-35
-73
-44
-5
15
-5
0
0
0
0
0
0
97
65
-17
-24
-27
-26
12
-3
-4
0
0
0
0
0
0
0
0
-49
-47
-29
6
-77
-179
-8
6
4
0
0
0
0
0
0
0
0
-33
-28
-70
-45
21
-29
79
21
17
0
0
0
0
0
0
0
0
18
2
31
-25
5
-17
22
1
0
0
0
0
0
0
0
0
0
30
-110
2
151
109
67
0
0
0
0
0
0
0
0
0
0
0
23
16
50
34
89
127
83
0
-93
-21
0
0
0
0
0
0
0
7
3
1
63
103
-8
-14
-40
-37
3
0
0
0
0
0
0
0
55
21
3
42
-15
16
-2
5
-46
-4
1
0
0
0
0
0
0
5
5
24
6
14
21
-45
-61
-110
5
0
0
0
0
0
0
0
20
-5
2
17
-117
-32
-5
-61
6
-13
0
0
0
0
0
0
0
36
28
56
-19
1
-4
-14
62
-17
0
0
0
0
0
0
0
0
8
-13
56
59
-50
-7
-8
-21
-15
-8
0
0
0
0
0
0
0
29
-13
4
-7
-39
3
16
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
89
0
0
0
0
0
0
0
0
0
0
0
16
19
-14
0
0
-10
0
0
0
0
0
0
0
0
0
0
1
3
72
53
194
32
-45
4
0
0
0
0
0
0
0
0
0
0
0
-18
-3
34
13
57
2
0
0
0
0
0
0
0
0
0
0
0
25
-27
42
-69
-86
0
0
0
0
0
0
0
0
0
0
0
0
-43
8
25
-43
32
0
0
0
0
0
0
0
0
0
-2
0
0
-36
-2
5
6
9
2
0
0
0
0
0
0
0
0
0
-1
3
19
12
-14
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
1
11
17
-9
-71
5
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
1
1
0
0
14
2
0
0
0
0
0
0
0
0
0
0
0
0
-19
29
35
53
3
0
0
0
0
0
0
0
0
0
0
0
3
-5
42
75
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
21
71
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
19
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
38
0
0
0
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
-6
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
0
0
-17
-5
0
0
0
0
0
0
0
0
0
0
1
4
53
80
67
36
-1
0
0
0
0
0
0
0
0
0
0
0
-16
-13
-35
-29
11
-8
0
0
0
0
0
0
0
0
0
0
0
2
2
7
-31
45
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-149
58
0
0
0
0
0
0
0
0
0
0
0
0
1
-35
57
13
23
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-44
13
4
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
-2
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
10
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-8
100
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
19
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
22
25
47
0
0
0
0
0
0
0
0
0
0
0
2
0
0
25
20
7
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-49
-82
4
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
-39
56
-19
-34
7
3
0
0
0
0
0
0
-1
0
0
0
0
-20
-100
-81
21
-32
-7
0
0
0
0
0
0
0
0
-26
122
65
102
-17
24
16
-25
0
0
0
0
0
0
0
0
0
1
7
15
93
-65
149
37
26
5
0
0
0
0
-3
0
-1
-2
-3
79
58
114
98
75
-11
-18
0
0
0
0
0
0
0
0
-4
3
-26
43
118
16
13
16
0
0
0
0
0
0
0
0
0
0
-1
52
4
115
10
-6
2
0
0
0
0
0
0
0
0
0
0
6
-87
66
14
-3
5
-6
0
0
0
0
0
0
0
0
0
0
-5
-76
-1
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-35
1
-2
0
0
0
0
0
0
0
1
-3
0
0
0
0
-32
14
-22
0
-11
-1
0
0
0
0
0
0
-1
-7
1
-14
2
0
48
4
-9
2
-2
0
0
0
0
0
0
-1
-2
-2
-71
57
72
27
36
-4
-31
-3
0
0
0
0
0
0
0
5
-3
-21
47
0
52
14
-9
-14
-8
0
0
0
0
0
0
0
0
0
-18
2
2
35
5
-4
-6
0
0
0
0
0
0
0
0
0
-2
3
0
15
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
10
-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
-90
121
169
41
-56
-7
128
0
0
0
-2
14
-1
4
25
0
0
19
24
99
-55
9
53
-4
0
0
1
0
0
1
-9
47
52
129
105
85
5
128
136
150
5
0
0
0
0
0
1
-9
2
-1
21
121
22
-9
114
126
16
103
0
0
0
0
2
0
-3
16
-63
-38
55
128
-14
-2
56
75
-15
0
0
0
0
0
0
-5
-2
-27
23
-8
-72
160
114
1
-23
-7
0
0
0
0
0
1
-2
5
-62
-137
-9
148
37
42
109
48
1
0
0
0
0
0
-1
6
0
-25
20
-2
-4
-33
119
16
0
0
0
0
0
0
0
-7
-2
-3
3
31
5
0
0
3
0
0
0
0
0
0
1
6
-17
97
-1
0
0
-38
-92
-4
-15
23
60
0
0
0
0
0
13
90
53
56
-37
-12
-9
-7
-17
-4
46
79
50
0
0
-1
-1
11
-74
-47
-44
-110
-89
-9
8
-14
-34
-7
103
58
0
0
0
-5
2
21
-15
-42
-14
1
16
-61
-56
-52
40
51
64
0
0
0
3
5
7
0
-43
5
-5
-5
-8
-66
-26
-13
-24
23
0
0
0
0
44
14
-10
0
-10
-14
-18
-69
-34
-5
30
42
-23
0
0
0
0
-19
17
73
-24
38
56
-10
4
-38
-34
3
32
-39
0
0
0
0
-6
16
-71
-47
62
47
7
-90
-80
-4
38
4
-2
0
0
0
0
-5
-1
67
-21
-52
-33
1
-21
-137
-74
101
-34
0
0
0
0
0
0
-1
0
2
0
0
18
94
-34
-28
86
-39
-5
0
0
0
0
-5
0
2
6
2
-17
-29
72
44
102
12
-110
-1
0
0
0
0
0
0
0
-22
7
49
17
22
-25
76
194
61
-45
0
0
0
0
0
0
0
3
39
49
-21
-34
16
21
-23
1
-23
0
0
0
0
0
0
0
-23
20
-8
20
16
-33
7
-47
10
-14
0
0
0
4
0
3
-4
2
1
-19
-7
-8
23
-40
66
42
5
0
0
0
0
2
0
0
2
-26
-17
19
98
38
1
-53
-4
-103
0
0
0
0
0
0
0
1
27
-17
-9
-8
-50
-14
-119
28
53
0
0
0
0
0
0
1
2
-6
21
-11
-48
112
56
-84
-74
32
0
0
0
0
-1
0
0
-8
0
0
156
121
165
106
103
-60
-53
0
0
0
0
0
-2
0
-34
-51
182
0
141
143
98
-19
57
31
0
0
0
0
0
-1
-4
18
-24
90
4
45
74
122
59
-53
-121
0
0
0
0
0
-3
-1
-1
-1
31
63
22
97
71
82
-6
-40
0
0
0
0
0
0
-4
-1
9
-62
16
-40
-30
51
-23
-43
135
0
0
0
-4
0
0
-3
7
-68
-107
-38
15
-7
86
29
10
-60
0
0
0
0
-2
0
3
2
-43
-68
-59
-55
-30
0
1
-86
-6
0
0
0
0
0
0
-23
-3
-46
116
53
-55
31
-1
20
-44
-10
0
0
0
0
0
-4
0
0
29
18
-9
-7
18
42
81
0
0
0
0
0
0
0
0
0
4
0
0
-61
43
-95
98
-121
-54
29
0
0
0
0
0
6
7
0
-21
0
-21
9
-143
7
49
-33
-41
0
0
0
0
0
0
1
83
98
194
101
85
-27
65
93
64
24
0
0
0
0
0
-1
15
47
64
156
49
65
71
123
92
166
39
0
0
0
0
3
0
4
-14
21
4
84
55
28
4
77
-2
-1
0
0
0
0
0
-2
4
-7
-76
52
60
62
71
9
51
5
0
0
0
0
0
0
-4
-3
36
81
-5
38
214
-37
56
55
-17
-2
0
0
0
1
0
0
-46
61
15
28
23
-88
-49
-42
44
-14
0
0
0
0
0
0
0
0
5
-8
54
-34
10
-3
-4
-60
-1
0
0
0
0
0
0
0
0
0
0
0
-175
71
26
72
-23
-8
0
0
0
0
0
0
0
0
0
53
0
23
54
22
-68
3
74
0
0
0
0
0
0
0
0
0
26
76
-16
-74
-31
39
40
100
0
0
0
0
0
0
0
0
0
2
21
62
91
26
-1
-10
29
-4
0
0
0
0
0
0
0
-3
4
92
94
111
-55
24
-5
-26
-6
0
0
0
0
0
0
0
2
1
14
60
-30
47
36
26
13
4
0
0
0
0
0
0
0
0
8
17
27
14
74
206
27
0
-3
0
0
0
0
0
0
0
-1
8
5
18
-34
49
-79
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
14
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-7
-23
-9
5
-45
31
10
0
0
0
0
0
0
0
2
0
42
-20
129
28
20
27
-24
55
0
0
0
0
0
0
0
0
-10
-4
-32
89
-88
99
-52
-9
33
0
0
0
0
0
0
0
2
0
1
62
-28
20
-12
29
78
-21
0
0
0
0
0
0
0
0
0
0
58
-53
69
7
-46
55
-37
0
0
0
0
0
0
0
0
0
1
33
28
-39
-55
25
-23
1
0
0
0
0
0
0
0
0
0
0
6
50
30
74
-17
14
0
0
0
0
0
0
0
0
0
1
0
-1
0
43
-11
-10
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
6
97
0
0
-1
-44
28
-79
-55
16
-30
0
0
0
0
0
0
2
-41
-5
45
59
-12
-24
-36
-73
-64
-2
0
0
0
0
0
0
0
-6
7
-3
-39
-36
-10
-103
-4
-62
-6
0
0
0
0
0
0
0
5
0
0
-30
5
2
1
-23
-11
58
0
0
0
0
0
0
0
0
0
0
-5
-5
-54
-44
26
-34
19
0
0
0
0
0
0
0
0
0
0
-1
-4
-26
14
-61
-56
58
0
0
0
0
0
0
0
0
0
0
-1
33
-20
0
-19
-12
-76
0
0
0
0
0
0
0
0
0
0
0
-55
5
0
-49
36
-22
0
0
0
0
0
0
0
0
0
0
0
0
7
-105
-20
75
-42
0
0
0
0
0
0
0
0
0
0
0
-1
10
-25
21
26
-1
0
0
0
0
0
0
0
0
-1
0
-40
-23
21
53
-43
2
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-67
69
2
15
0
0
0
0
0
0
0
0
0
0
0
0
9
32
55
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-8
-19
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
31
12
-53
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
15
-157
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
-3
-4
-56
65
-13
-6
0
0
0
0
0
0
0
0
2
-3
-14
-5
104
-59
-137
51
-9
0
0
0
0
0
0
0
0
0
0
2
10
0
22
-51
-56
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-46
-26
57
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-92
68
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-6
-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
35
-56
18
0
0
0
0
0
0
0
0
0
0
0
-14
-24
-4
-32
-26
3
18
0
0
0
0
0
0
0
0
0
2
0
0
0
5
73
-10
-8
-2
0
0
0
0
0
0
0
0
0
0
2
0
-39
-5
17
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-14
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
50
0
0
46
64
41
-23
-21
-36
-59
0
0
0
0
-1
2
8
32
-4
-110
51
-29
6
-8
-16
-30
18
0
0
0
0
0
5
5
80
75
0
-30
15
37
58
4
35
56
0
0
0
0
0
0
1
64
-50
30
-89
4
24
0
-21
72
8
0
0
0
0
0
0
0
10
-49
17
-10
-9
-8
25
-83
91
-5
0
0
0
0
0
0
0
0
-15
70
41
-107
-24
-38
-8
-14
-6
0
0
0
0
0
0
2
-16
-2
-9
-29
42
8
13
-24
-30
-27
0
0
0
0
0
0
0
0
-48
-161
-14
-27
-5
-69
71
-49
0
0
0
0
0
0
0
0
1
-5
-5
-2
-1
3
-5
-27
-7
54
0
0
0
0
0
0
0
0
0
0
-30
-60
8
43
-8
-129
24
0
0
0
0
0
0
1
3
0
8
-26
90
35
-6
-2
-46
-16
0
0
0
0
0
0
0
-6
17
-51
35
-35
63
19
-9
-49
43
0
0
0
0
0
0
0
0
14
20
-19
-103
109
-15
16
-80
-43
0
0
0
0
0
0
0
0
24
36
45
-22
-90
30
-126
-46
56
0
0
0
0
0
0
0
-1
-2
-63
29
6
-8
-98
-84
35
-33
0
0
0
0
0
0
0
1
62
73
16
-118
-43
3
8
-71
-12
0
0
0
0
0
0
0
-1
18
-61
-27
-24
-17
53
-46
-53
-3
0
0
0
0
0
0
0
1
-32
-4
13
-10
9
-27
-25
62
51
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
71
0
0
-4
67
184
35
50
-24
0
0
0
0
0
-23
33
6
-5
37
-1
-63
-119
-24
-89
29
43
-2
0
0
0
3
-31
-20
-6
37
-33
-45
-13
-9
5
-11
4
-33
-6
0
0
0
0
10
-6
64
98
16
-23
29
-13
16
-80
33
33
-1
0
0
0
0
-4
0
5
36
3
-103
58
-77
-155
62
-91
25
-1
0
0
0
0
0
0
-1
-62
-135
-4
-8
0
-67
-7
26
-6
0
0
0
0
0
0
-8
-17
-23
24
-23
-21
-158
-40
33
2
2
0
0
0
0
0
0
0
0
-21
-19
-20
-8
5
4
-14
16
43
0
0
0
0
0
0
0
-5
-11
-76
-65
-32
-1
-1
-2
0
0
0
0
0
20
-134
14
2
38
-17
0
0
-9
41
62
68
-142
5
0
0
0
-52
13
-46
-22
7
4
21
0
5
6
40
56
-21
-5
0
0
0
-40
25
45
-73
-75
3
4
-5
-6
10
46
31
-15
-25
0
0
0
11
-5
-13
15
-27
-60
-17
-17
-8
-18
20
69
14
-25
0
0
0
2
-35
60
-24
-115
-20
-15
-14
-13
-25
14
48
12
-53
0
0
0
-14
-70
-20
-1
-61
-24
6
-8
-15
-26
-22
18
50
-47
0
0
0
5
25
-56
6
-14
-24
-11
6
-8
-29
-15
14
49
4
0
0
0
-43
7
20
14
11
21
-3
-6
-7
-18
-17
-49
24
0
0
0
0
-19
-110
20
64
-37
-43
4
-4
-5
-6
-79
-53
47
-3
0
0
0
0
0
-1
8
-7
-93
0
0
74
40
-50
128
-1
0
0
0
0
0
0
2
2
2
-17
-41
33
90
63
-24
47
-1
0
0
0
0
0
0
0
0
-43
54
46
-4
39
0
21
-33
0
0
0
0
0
0
0
0
0
-10
32
3
60
-34
22
23
17
0
0
0
0
0
0
0
0
-2
11
5
11
-34
101
6
-41
14
0
0
0
0
0
0
0
0
0
2
-7
87
54
4
-38
25
38
0
0
0
0
0
0
2
0
-3
0
82
-14
-60
107
-90
38
-64
15
0
0
0
0
0
0
0
-8
2
0
-12
-36
1
66
8
-4
0
0
0
0
0
0
0
-6
0
-1
4
-8
54
-48
44
10
0
0
0
0
0
0
0
-10
0
57
56
-97
0
0
80
137
53
59
1
0
0
0
0
0
-4
-18
36
-86
-8
41
-2
11
61
-6
-68
6
0
0
0
0
0
0
70
5
79
35
44
69
38
7
-4
75
-29
0
0
0
0
0
0
27
13
83
-38
5
-13
-34
6
51
0
14
0
0
0
0
0
7
1
-1
-15
-38
47
47
1
-33
44
-24
-1
0
0
0
0
0
0
5
8
11
-55
-24
-49
-39
83
-57
14
0
0
0
0
0
0
-17
-11
-34
-36
-57
-33
-25
20
-44
-78
-5
-1
0
0
0
0
0
-9
18
-5
52
-100
61
-42
-13
-24
-4
-47
0
0
0
0
0
0
0
-15
-20
-36
-24
-54
-79
-64
-23
2
25
0
0
0
0
0
-3
0
-1
3
-5
19
0
0
43
33
31
40
-55
14
46
0
0
0
0
-2
45
-17
-19
30
-18
23
14
-4
-28
18
-73
-17
0
0
0
0
6
-18
78
62
-6
-49
4
-26
-14
75
33
-47
-43
0
0
0
0
1
-5
-32
-4
83
-73
31
42
131
143
-29
-114
-6
0
0
0
1
-2
0
-14
-7
-1
29
-16
15
-17
4
-1
5
0
0
0
0
0
-1
6
-9
-64
-17
-119
-51
77
14
67
3
-4
-3
0
0
0
0
0
-2
-4
3
-86
-83
5
-65
42
6
-25
-4
7
0
0
0
3
3
0
-39
-54
-45
-111
2
-3
-9
33
1
-67
0
0
0
0
0
0
2
3
-35
-59
-34
-62
-32
-59
-1
0
6
0
0
0
-1
0
0
-14
1
-32
0
0
62
36
111
-21
56
-31
19
0
0
0
0
0
0
8
-3
-31
14
80
24
-65
14
-59
128
10
0
0
0
0
0
-14
-34
-20
28
5
60
-6
-8
-5
5
-14
19
0
0
0
0
0
0
-23
28
-38
15
-11
53
43
-83
2
-31
-19
0
0
0
0
0
-1
54
-72
-16
-17
63
10
-22
200
44
75
1
0
0
0
0
1
-4
-53
6
-49
-36
-8
-15
-10
-71
3
19
0
0
0
0
0
1
14
-13
30
23
-23
-25
-7
58
13
-4
3
-25
0
0
0
0
0
0
-22
14
-12
-31
7
29
17
43
-5
-17
0
0
0
0
0
0
3
36
24
-18
2
23
-15
45
0
0
0
0
0
0
0
0
1
6
16
71
0
0
24
90
-48
-24
12
48
24
0
0
0
-1
0
16
-2
19
-56
79
-15
24
43
2
-15
-62
-22
0
0
0
0
-1
-2
90
-4
13
75
-63
43
7
-24
-3
-66
-13
0
0
0
0
0
0
-8
33
7
-114
9
-10
-21
25
-89
-79
5
0
0
0
0
1
6
25
68
3
-7
-18
20
-96
32
-46
28
-39
0
0
0
3
-13
3
-33
2
111
28
-5
-55
73
-2
4
-2
-6
0
0
0
1
4
-28
-18
24
35
5
32
31
56
11
13
0
-5
0
0
1
5
-21
47
6
23
16
-43
-10
54
-50
33
-5
-3
0
0
0
0
29
-21
14
-23
-16
-48
34
92
-42
41
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
104
159
95
-35
0
0
0
0
0
0
0
0
0
0
30
5
63
92
116
43
-24
3
1
0
0
0
0
0
0
0
0
44
-6
-47
-78
-23
44
0
0
1
0
0
0
0
0
0
0
0
-104
29
0
-14
-32
-4
0
5
0
0
0
0
0
0
0
0
0
22
-51
-19
-6
15
-2
0
0
0
0
0
0
0
0
0
0
0
62
33
-12
-64
-33
0
0
0
0
0
0
0
0
0
0
0
0
-60
-48
-32
-32
-42
2
0
0
0
0
0
0
0
0
0
0
0
-47
38
-14
15
71
0
0
0
0
0
0
0
0
0
0
0
0
6
12
-15
2
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
22
13
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-9
7
41
18
3
0
0
0
0
0
0
0
0
0
0
0
-3
-77
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
101
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-44
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
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
33
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
6
27
-1
19
2
-2
0
0
0
0
0
0
0
0
0
0
61
46
71
-53
2
25
0
0
0
0
0
0
0
0
0
0
0
-81
45
57
-3
5
0
1
0
0
0
0
0
0
0
0
0
0
24
82
-52
-45
6
4
0
0
0
0
0
0
0
0
0
0
0
-2
-4
19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-17
-2
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
-9
-26
-39
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
35
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
33
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
2
24
19
3
14
-1
0
0
0
0
0
0
0
0
0
0
0
-14
11
26
3
-16
0
0
0
0
0
0
0
0
0
0
0
4
-50
-11
23
2
1
0
0
0
0
0
0
0
0
0
0
0
-18
-10
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-46
23
-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
56
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-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
-4
14
45
95
122
155
-9
0
0
0
0
0
0
0
0
0
0
-3
-129
-22
56
139
94
80
24
2
0
0
0
0
0
0
0
0
25
4
-31
36
43
-8
52
-24
0
0
0
0
0
0
0
0
0
-18
33
-4
-45
21
-110
6
-2
0
0
0
0
0
0
0
0
0
-5
44
-5
4
20
9
-1
-1
-1
0
0
0
0
0
0
0
0
0
47
27
10
-10
0
-2
0
0
0
0
0
0
0
0
0
0
1
-7
-59
1
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
5
54
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-25
-7
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
34
11
15
32
-2
3
0
0
0
0
0
0
0
0
0
0
0
-33
22
24
49
71
-2
-15
-2
-11
0
0
0
0
0
0
0
-7
-3
54
41
51
2
-3
-8
2
0
0
0
0
0
0
0
0
-1
-24
-5
0
0
14
6
-44
1
0
0
0
0
0
0
0
0
-2
-2
-9
-7
-14
-27
-6
0
5
0
0
0
0
0
0
0
0
-2
-33
0
1
-11
-11
-3
0
0
0
0
0
0
0
0
0
0
-3
-6
-13
11
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-17
-4
-13
-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
23
-32
-21
137
130
94
0
0
0
0
0
0
0
0
0
0
30
-34
4
82
86
69
173
140
3
-5
-23
10
0
0
0
0
0
17
-14
-6
80
-36
-6
-14
36
-13
-43
-5
-6
0
0
0
0
0
52
-45
33
21
-74
16
30
15
-84
18
8
0
-1
0
0
0
0
14
5
-5
-33
19
-68
-14
14
-51
8
2
0
0
0
0
0
0
5
-6
-41
21
23
11
1
15
4
0
0
0
0
0
0
0
0
9
-33
6
4
-16
-6
1
0
-2
0
4
0
0
0
0
0
0
0
-30
41
31
-31
-2
-10
0
0
0
0
0
0
0
0
0
0
7
22
-2
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-33
-100
-99
21
-15
-63
35
0
0
9
-10
25
1
0
0
0
0
4
-71
-62
-17
-33
-21
4
27
152
34
51
-9
-6
-13
0
0
0
21
-17
-121
-35
-4
-32
-33
-99
13
30
3
91
0
-1
0
0
0
87
1
-40
-66
-45
-24
-47
3
113
-24
-49
29
33
0
0
0
0
-34
67
-8
-78
-38
34
38
8
25
4
-7
81
-18
32
0
0
0
58
-36
-1
-23
18
-56
13
-22
47
18
-8
57
11
0
0
0
0
2
27
30
-5
-1
-54
-47
-1
-101
91
-101
43
0
1
0
0
0
30
17
-40
-60
16
3
69
-16
43
15
32
1
-2
0
0
0
0
5
46
15
-63
-43
-62
-29
15
73
-24
-47
-24
3
0
0
0
0
0
14
-76
21
15
-14
33
0
0
0
0
1
0
0
0
0
0
1
-26
100
14
56
32
5
43
-78
97
-26
-15
0
0
0
0
0
-2
32
64
-37
16
-69
17
-35
-54
8
41
4
0
0
0
0
0
-2
51
23
-82
34
4
36
-3
-11
-39
-8
5
0
0
0
0
0
-5
7
-14
-2
81
25
-16
32
70
-33
-35
3
0
0
0
0
0
1
-46
-56
61
57
32
27
32
-27
25
13
-3
0
-8
0
0
0
1
72
-62
25
-22
41
6
14
56
2
0
0
-2
0
0
0
0
0
43
12
4
2
21
-9
-43
36
82
-5
1
0
0
0
0
0
1
-18
34
-5
-62
15
-2
-8
-39
-19
-2
0
0
0
0
0
0
0
53
85
-8
0
0
40
0
0
2
5
0
0
0
0
0
0
0
-53
128
-27
48
0
59
96
24
-5
-1
-5
0
0
0
0
0
0
39
61
-11
25
-103
54
-10
5
37
31
0
0
0
0
0
0
0
5
1
13
-101
-5
49
79
66
0
-1
19
0
0
0
0
0
0
2
48
-53
3
-60
-15
-54
0
16
9
-2
0
0
0
0
0
0
16
-19
5
-16
-15
-16
-41
-29
-5
-15
0
-1
0
0
0
0
0
36
73
-8
-7
21
83
-51
-43
-47
-4
0
0
0
0
0
0
0
0
22
33
57
-44
-84
-51
-54
0
0
0
0
0
0
0
0
0
24
1
9
-22
22
6
2
0
0
2
0
0
0
0
0
0
32
9
28
-75
64
84
65
0
0
0
0
0
0
0
0
0
0
17
-4
7
219
42
60
151
184
-43
-20
4
-3
0
0
0
0
0
-77
-77
-4
40
10
-46
-66
-78
30
-27
0
1
0
0
0
0
0
-27
18
9
-10
-86
-66
-42
5
-52
-4
7
0
-5
0
0
0
0
49
71
71
-9
55
-76
10
20
65
1
3
0
0
0
0
0
0
57
29
-15
33
-25
2
-29
34
-18
0
-2
0
0
0
0
0
0
43
8
16
9
-14
-44
1
4
2
0
0
0
0
0
0
0
0
1
85
43
18
11
-48
-36
-6
4
0
0
0
0
0
0
0
0
15
13
15
1
-10
2
0
0
0
0
1
0
0
0
0
0
0
1
9
44
113
56
177
94
0
0
0
0
0
0
0
0
0
0
0
11
15
72
88
93
65
-9
-15
-61
0
0
0
0
0
0
0
1
9
25
15
-2
4
-8
29
4
1
0
0
0
0
0
0
0
0
5
77
-18
-40
15
-14
29
0
2
0
0
0
0
0
0
0
2
0
1
-56
8
0
17
91
1
2
0
0
0
0
0
0
0
0
1
1
47
-4
7
26
-7
0
1
0
0
0
0
0
0
0
1
1
-2
24
-8
-3
-9
3
2
0
0
0
0
0
0
0
0
0
3
-14
-4
8
-3
8
14
2
0
0
0
0
0
0
0
0
0
0
1
-16
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
17
13
10
54
33
0
0
0
0
0
0
0
0
0
0
0
2
-1
35
59
67
24
-93
33
-7
0
-2
0
0
0
0
0
0
0
-51
-33
0
-14
34
19
33
-5
-2
0
0
0
0
0
0
0
1
-8
-54
21
-27
-38
11
26
7
6
0
0
0
0
0
0
0
0
0
49
-14
0
99
34
7
-8
0
0
0
0
0
0
0
0
0
8
47
-3
0
-18
-6
-9
0
1
0
0
0
0
0
0
0
0
3
-15
-44
-23
-17
4
16
-2
0
0
0
0
0
0
0
0
0
3
41
-5
-8
-14
-109
23
2
0
0
0
0
0
0
0
0
0
-1
0
-3
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
127
0
0
-24
-75
-6
-4
0
0
0
0
0
0
0
0
0
-2
-28
8
-33
-31
9
-32
2
0
0
0
0
0
0
0
0
0
4
65
45
54
85
66
53
9
-1
0
0
0
0
0
0
0
0
0
15
7
14
-15
-47
0
14
1
0
0
0
0
0
0
0
0
-1
-24
-12
26
-45
-25
17
-35
-6
0
0
0
0
0
0
0
0
-5
-5
-24
-90
-31
18
48
-17
39
0
0
0
0
0
0
0
0
3
56
70
52
22
-58
14
-11
1
7
0
0
0
0
0
0
0
-2
-101
-7
-102
-9
-14
0
0
0
0
0
0
0
0
0
0
0
0
140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
87
0
0
-33
9
-5
-1
0
0
0
0
0
0
0
0
0
-8
-48
0
-43
9
-4
1
0
0
0
0
0
0
0
0
0
0
0
32
21
-62
-17
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
14
19
-2
1
0
0
0
0
0
0
0
0
0
0
0
14
-17
-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
-19
-17
-35
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
152
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
38
0
0
-17
-23
-4
0
0
0
0
0
0
0
0
0
0
-1
20
15
-8
-21
-18
2
0
0
0
0
0
0
0
0
0
0
-11
-9
16
-18
-43
16
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-43
-9
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
5
-86
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
43
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
123
0
0
5
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-6
8
17
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
33
-39
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
-17
61
20
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-35
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
14
-17
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
29
-27
5
92
141
0
0
0
0
0
0
0
0
0
0
0
0
-34
33
9
207
125
0
0
0
-5
-3
9
-5
0
0
0
0
-62
5
-65
-57
-31
57
17
1
42
-10
10
1
-1
0
0
0
0
-17
57
18
36
57
-62
7
-58
-13
-26
-6
1
-1
0
0
0
0
11
46
-26
-72
-1
-50
-59
-28
-44
-1
-7
3
0
0
0
0
0
7
57
-9
-47
24
-17
-48
43
-78
-14
10
0
0
0
0
0
0
-4
13
15
26
-69
-26
-18
-74
-37
19
-1
0
-1
0
0
0
0
0
-5
33
-44
-6
-4
-10
81
8
-4
1
3
0
0
0
0
0
15
-4
1
14
2
-10
-4
20
2
2
0
0
0
0
0
0
0
0
0
0
0
36
62
0
0
0
0
-2
3
0
0
0
0
0
-1
34
44
98
83
86
0
0
0
-47
67
5
0
0
0
0
0
-104
-25
27
16
15
9
-15
-4
54
18
-60
-5
0
0
0
0
0
24
-9
-18
-18
3
10
5
9
62
-3
-8
-4
0
0
0
0
0
0
0
-6
-31
-45
-36
-78
-33
-3
-5
-26
0
0
0
0
0
0
1
6
-7
-90
-6
-79
-25
-20
-27
-7
0
0
0
0
0
0
0
-5
6
-29
-14
0
16
53
-83
-28
-37
-6
0
0
0
0
0
0
0
-9
32
-18
-8
-26
-44
-4
-86
0
11
0
-1
0
0
0
0
-3
1
0
0
0
-16
-11
-17
0
1
3
0
0
0
0
0
0
-58
-21
59
-18
128
-53
0
0
0
0
0
0
0
0
0
0
0
43
26
61
88
150
109
0
0
0
0
0
0
0
0
0
0
0
-51
45
8
27
27
67
18
2
0
0
0
0
0
0
0
0
0
48
3
74
54
30
41
45
43
1
0
0
0
0
0
0
0
0
58
4
-5
-24
-45
-61
91
-39
-33
-5
0
0
0
0
0
0
0
5
32
55
28
1
-38
-118
76
102
13
0
-2
0
0
0
0
0
13
43
88
-22
1
8
-39
46
-35
-22
-5
-5
6
0
0
0
0
-50
31
1
-74
22
-100
-56
27
-20
22
-3
-9
0
0
0
0
0
-82
-24
-73
-51
-19
27
-23
-41
-49
4
0
0
-1
0
0
0
0
-45
4
-50
75
79
287
0
0
0
0
0
0
0
0
0
0
0
25
-53
25
66
-4
167
0
0
-83
35
5
0
0
0
0
0
0
31
-31
-46
-90
39
-41
-56
72
42
9
-2
0
0
0
0
0
0
77
47
26
2
-14
-31
-181
1
-40
12
-11
0
0
0
0
0
0
-43
-49
-90
-85
-22
-37
-57
-1
43
-4
-2
0
0
0
0
0
0
-63
-38
-57
-87
-4
117
56
15
-43
-2
0
0
0
0
0
0
0
-1
-10
-46
20
-20
-14
-20
-28
-39
-1
2
15
0
0
0
0
0
-8
22
-67
-50
-8
-33
-16
-46
-27
-6
1
0
0
0
0
0
0
-7
27
0
10
2
1
5
5
6
2
0
0
0
0
0
0
0
-32
-70
-62
-69
40
310
0
0
0
-1
-3
0
0
0
0
0
0
-23
26
-19
15
28
50
56
-14
23
-12
21
4
0
0
0
0
0
55
-7
4
10
4
-31
-82
-44
-4
64
53
5
0
0
0
0
0
17
1
4
-11
-3
5
16
-25
-40
12
30
-14
0
0
0
0
0
0
1
-10
-7
-20
-33
-47
-3
-41
17
48
0
0
0
0
0
0
-10
-37
-7
5
-23
15
-62
-57
-77
-25
68
-69
0
0
0
0
0
14
-7
-2
-3
-6
-19
-26
-82
-30
-42
33
-22
0
0
0
0
0
22
-7
-4
-14
-19
-18
-20
1
-43
-10
-45
50
0
0
0
0
0
66
-3
12
-6
-41
-25
-31
-64
-14
-53
-56
-9
-2
0
0
0
0
-40
60
131
160
287
225
0
0
0
0
0
0
0
0
0
0
0
15
5
23
187
271
132
105
-36
0
0
0
0
0
0
0
0
0
-52
24
6
-28
-14
-30
-58
-35
-7
2
0
0
0
0
0
0
0
-43
-11
-44
31
13
-118
13
0
0
0
0
0
0
0
0
0
0
-31
-19
-66
-38
5
-31
0
-4
0
1
0
0
0
0
0
0
0
-48
-27
-30
-18
20
13
-1
0
-3
0
0
0
0
0
0
0
0
-62
-71
-33
2
-27
10
0
0
0
0
0
0
0
0
0
0
0
-1
-134
-100
-76
-119
-47
-3
9
0
0
0
0
0
0
0
0
0
-56
-43
-25
-20
-4
-3
-4
-1
-1
0
0
0
0
0
0
0
0
-80
-83
-78
53
72
55
326
0
0
0
0
0
0
0
0
0
0
-8
-5
-36
-58
28
0
82
73
-5
-2
0
0
0
0
0
0
0
-45
47
-18
69
107
-82
-10
-71
-5
9
-5
0
0
0
0
0
0
-4
-60
-11
-59
5
-14
-49
23
-15
-4
0
0
0
0
0
0
0
-20
54
103
-43
-6
-23
62
19
-17
1
0
0
0
0
0
0
0
-5
16
9
-33
-48
16
-40
3
3
0
0
0
0
0
0
0
0
31
-35
20
-87
-49
19
68
5
-13
21
0
0
0
0
0
0
0
-25
-20
5
-85
2
-72
-36
26
1
7
0
0
0
0
0
0
0
-32
-149
53
3
14
2
-25
9
-2
-1
2
0
0
0
0
0
0
-131
23
31
-5
29
209
0
0
0
-1
-1
0
0
0
0
0
0
17
-80
16
92
-66
252
0
33
0
85
10
1
0
0
0
0
0
-50
6
-19
-44
-16
-36
71
-5
20
-15
25
0
0
0
0
0
0
-29
97
40
-90
15
9
-9
-5
-124
-14
-55
0
0
0
0
0
0
-4
-111
-38
-109
-108
36
18
78
-27
-21
-10
0
0
0
0
0
0
11
8
9
-31
27
-111
-148
54
-4
0
3
0
-2
0
0
0
0
-54
-20
-100
-92
3
25
-24
6
10
5
0
0
0
0
0
0
0
-4
-35
-101
-23
52
4
-55
-14
-37
-10
-1
0
0
0
0
0
0
-43
-98
-43
34
-52
-78
-23
-5
10
1
0
0
0
0
0
0
0
-28
5
33
1
107
250
290
0
0
1
0
0
0
0
0
0
0
0
-27
-47
84
132
194
0
182
0
-78
0
0
0
0
0
0
0
-12
16
97
81
17
70
19
35
104
5
4
0
0
0
0
0
0
-9
21
-83
-18
-103
-13
4
-51
-3
7
4
3
0
0
0
0
0
-39
8
65
24
-72
44
-3
-39
-11
16
-5
0
0
0
0
0
0
52
0
4
-28
-101
-32
-22
-2
5
0
0
0
0
0
0
0
0
-5
-31
14
45
-41
-56
-9
-18
5
0
0
0
0
0
0
0
0
-25
-18
-24
-57
-5
1
80
13
-7
0
0
0
0
0
0
0
0
-20
30
-25
63
0
-14
36
1
0
0
0
0
0
0
0
0
0
-21
-72
-2
97
156
125
0
0
0
0
0
0
0
0
0
0
0
-1
37
88
55
42
89
76
0
-70
-21
0
0
0
0
0
0
0
-10
33
22
57
63
-61
-57
-11
-95
4
0
0
0
0
0
0
0
33
25
5
-6
49
-16
23
-14
-35
-5
1
0
0
0
0
0
0
41
20
-26
-100
16
53
-14
45
-22
4
0
0
0
0
0
0
0
27
8
-14
23
-101
23
-2
-53
-47
-10
0
0
0
0
0
0
0
-20
22
-5
28
-26
-5
-17
32
-5
0
0
0
0
0
0
0
0
-20
6
-22
114
-66
-8
-8
22
54
-8
0
0
0
0
0
0
0
37
-25
21
5
10
15
33
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
109
0
0
0
0
0
0
0
0
0
0
0
13
32
8
0
0
11
0
0
0
0
0
0
0
0
0
0
1
-16
74
79
113
14
78
4
0
0
0
0
0
0
0
0
0
0
0
-18
-14
-83
23
47
2
0
0
0
0
0
0
0
0
0
0
0
11
10
-2
-24
-22
0
0
0
0
0
0
0
0
0
0
0
0
3
53
19
-77
9
0
0
0
0
0
0
0
0
0
-2
0
0
-52
-43
6
-68
0
2
0
0
0
0
0
0
0
0
0
-1
4
18
-30
-27
-26
-61
0
0
0
0
0
0
0
0
0
0
0
0
1
14
-8
6
2
5
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
1
1
0
0
13
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
12
0
56
3
0
0
0
0
0
0
0
0
0
0
0
3
-2
24
-5
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
26
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
8
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
1
4
49
76
5
54
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-13
-53
-104
-5
-8
0
0
0
0
0
0
0
0
0
0
0
2
3
55
-23
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
-64
43
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
-18
-13
58
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
-38
88
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
30
10
45
0
0
0
0
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
-87
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
52
-19
7
0
0
0
0
0
0
0
0
0
0
0
0
3
6
39
82
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
30
-3
55
0
0
0
0
0
0
0
0
0
0
0
2
0
0
22
51
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-45
-90
1
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
-43
18
8
-39
8
3
0
0
0
0
0
0
-1
0
0
0
0
-30
-65
-25
12
-23
-7
0
0
0
0
0
0
0
0
-25
50
72
17
-20
-11
34
-10
0
0
0
0
0
0
0
0
0
1
5
70
62
3
50
49
8
5
0
0
0
0
-3
0
-1
-2
-3
57
-5
9
46
0
-6
-16
0
0
0
0
0
0
0
0
-4
3
-31
-49
60
2
10
16
0
0
0
0
0
0
0
0
0
0
-1
26
-25
79
19
-6
2
0
0
0
0
0
0
0
0
0
0
1
-28
51
15
-3
4
-6
0
0
0
0
0
0
0
0
0
0
-5
-78
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-31
1
-2
0
0
0
0
0
0
0
1
-3
0
0
0
0
-28
-31
-17
1
-10
-1
0
0
0
0
0
0
-1
-7
1
-17
-25
5
44
3
-17
2
-1
0
0
0
0
0
0
-1
-2
-2
-57
30
46
13
27
3
-23
-2
0
0
0
0
0
0
0
5
-3
-21
49
21
37
9
-10
-7
-8
0
0
0
0
0
0
0
0
0
-18
3
2
34
5
-4
-6
0
0
0
0
0
0
0
0
0
-2
3
0
15
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
10
-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
-31
102
22
11
71
0
83
0
0
0
-2
13
-1
5
25
0
0
6
-26
-17
38
6
5
-40
0
0
1
0
0
1
-9
48
-5
101
110
-66
4
30
65
61
2
0
0
0
0
0
1
-9
-11
-15
8
108
18
12
4
34
109
55
0
0
0
0
2
0
-1
25
-75
34
-1
3
-8
-80
37
77
-14
0
0
0
0
0
0
-5
22
-2
-56
21
-31
49
50
-11
-16
-7
0
0
0
0
0
1
-2
-3
-77
-48
31
25
71
32
63
48
1
0
0
0
0
0
0
7
2
-2
-30
-7
4
-49
99
-6
0
0
0
0
0
0
0
-6
-2
-4
5
31
5
0
0
3
0
0
0
0
0
0
1
43
-50
71
44
0
0
-91
-24
3
8
-31
82
0
0
0
0
0
-13
45
8
-30
-110
106
3
23
4
36
27
61
27
0
0
-1
-1
21
-73
-31
-16
-63
-49
-55
-23
5
-13
32
-6
44
0
0
0
-5
-14
22
13
21
-124
-59
-75
-12
9
-33
29
1
-51
0
0
0
3
5
29
-47
-49
17
-19
-40
-39
-2
13
24
22
43
0
0
0
0
1
45
-47
21
53
-9
21
13
-62
-69
35
-56
2
0
0
0
0
-19
5
20
17
-40
36
22
14
-8
-42
-33
62
-54
0
0
0
0
9
43
-32
-118
-22
96
-3
-38
-27
-94
86
24
-1
0
0
0
0
-5
-30
61
-12
-46
12
82
-66
4
-27
82
0
0
0
0
0
0
0
-1
0
2
0
0
66
-34
-27
24
44
-33
-23
0
0
0
0
-5
0
2
9
7
53
1
-20
7
90
-38
-18
17
0
0
0
0
0
0
0
-26
0
12
58
1
3
74
47
32
24
0
0
0
0
0
0
0
3
35
69
27
-48
-8
43
-44
15
-7
0
0
0
0
0
0
0
-21
20
-11
24
49
-15
39
12
-36
-74
0
0
0
4
0
3
-4
2
5
-17
-49
15
30
-53
48
-1
33
0
0
0
0
2
0
0
2
-20
-22
-22
43
21
-24
-37
13
-13
0
0
0
0
0
0
0
2
19
-16
-18
45
-41
-10
-72
-89
21
0
0
0
0
0
0
1
2
-5
25
4
-34
68
32
5
-59
44
0
0
0
0
-1
0
0
-10
0
0
144
110
104
106
-26
-4
-4
0
0
0
0
0
-2
0
-45
11
85
0
71
77
74
71
106
-1
0
0
0
0
0
-1
-5
25
-14
85
17
87
52
-5
-45
-6
-55
0
0
0
0
0
-4
-1
6
18
2
63
94
-7
-42
83
13
-30
0
0
0
0
0
0
-4
-1
24
-33
29
-17
8
-4
-71
-11
45
0
0
0
-4
0
0
-2
7
-74
-52
49
-12
-42
11
-14
44
-99
0
0
0
0
-2
0
3
-1
-43
49
-10
-7
-43
20
30
-137
0
0
0
0
0
0
0
-25
-5
-45
53
17
18
72
-85
18
-47
-21
0
0
0
0
0
-4
0
0
32
17
-1
-10
25
-23
35
0
0
0
0
0
0
0
0
0
5
0
0
-5
95
-6
4
-44
-65
29
0
0
0
0
0
6
11
0
31
0
-91
-13
-125
101
113
33
-27
0
0
0
0
0
-1
4
98
185
128
77
72
-107
-147
17
123
15
0
0
0
0
0
-1
17
37
82
85
2
-39
-52
-38
-52
35
43
0
0
0
0
3
0
5
-17
-32
3
-2
19
10
-65
-5
10
-1
0
0
0
0
0
-2
4
-5
-60
55
90
31
-54
1
1
0
0
0
0
0
0
0
-4
-2
31
105
-3
38
55
-22
-22
33
-17
-2
0
0
0
1
0
0
-45
59
53
53
29
-47
-8
22
0
-15
0
0
0
0
0
0
0
0
6
-5
55
-18
7
-3
-1
-15
-1
0
0
0
0
0
0
0
0
0
0
0
-68
43
44
29
-18
-6
0
0
0
0
0
0
0
0
0
56
0
-9
57
-20
-43
4
35
0
0
0
0
0
0
0
0
0
27
61
-2
-39
-1
-68
26
90
0
0
0
0
0
0
0
0
0
0
11
2
35
31
-56
26
17
-3
0
0
0
0
0
0
0
-3
1
76
90
75
-4
59
-39
-23
-6
0
0
0
0
0
0
0
2
1
9
43
-45
47
39
7
23
4
0
0
0
0
0
0
0
0
7
18
27
-5
37
165
63
0
-3
0
0
0
0
0
0
0
-1
8
5
15
-25
45
-23
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
15
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-18
-9
-72
14
-35
35
10
0
0
0
0
0
0
0
2
0
-14
5
43
71
-33
52
-52
-29
0
0
0
0
0
0
0
0
-10
2
7
19
-20
20
0
-25
33
0
0
0
0
0
0
0
2
0
1
34
-35
-6
-71
66
4
-21
0
0
0
0
0
0
0
0
0
0
48
-18
31
-1
-17
9
-32
0
0
0
0
0
0
0
0
0
1
23
0
13
-36
14
-13
1
0
0
0
0
0
0
0
0
0
0
6
45
29
69
-25
14
0
0
0
0
0
0
0
0
0
1
0
-1
0
14
-11
-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
73
0
0
-1
-42
55
105
-60
36
-23
0
0
0
0
0
0
0
3
-14
50
24
1
14
8
-34
-39
8
0
0
0
0
0
0
0
27
5
-35
-1
24
12
63
45
21
62
0
0
0
0
0
0
0
0
0
0
10
-4
-15
68
-27
1
45
0
0
0
0
0
0
0
0
0
0
-6
-6
-33
-14
-46
-14
26
0
0
0
0
0
0
0
0
0
0
-1
-4
-61
-5
75
-92
3
0
0
0
0
0
0
0
0
0
0
-1
23
-15
22
-30
23
44
0
0
0
0
0
0
0
0
0
0
0
-71
-9
-82
-10
-12
-20
0
0
0
0
0
0
0
0
0
0
0
6
1
-62
-27
15
4
0
0
0
0
0
0
0
0
0
0
0
-1
10
39
-11
2
-8
0
0
0
0
0
0
0
0
-1
0
1
-42
-27
57
-102
9
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-8
48
21
14
0
0
0
0
0
0
0
0
0
0
0
0
8
1
29
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
-16
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-20
-46
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
11
-53
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
-2
-2
43
52
-13
-6
0
0
0
0
0
0
0
0
15
-3
9
-6
15
13
-63
49
-9
0
0
0
0
0
0
0
0
0
0
2
14
-14
1
-107
-56
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-69
8
74
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-61
32
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-58
-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
24
-53
16
0
0
0
0
0
0
0
0
0
0
0
0
-30
23
9
-49
5
18
0
0
0
0
0
0
0
0
0
2
0
0
0
-47
76
-15
-8
-2
0
0
0
0
0
0
0
0
0
0
2
0
1
-5
20
-18
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
11
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
14
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
2
-6
18
0
0
23
74
2
11
-57
-15
-68
0
0
0
0
-1
2
3
33
75
14
30
30
32
104
-34
-70
-48
0
0
0
0
0
5
2
73
71
-7
-25
-10
21
59
52
18
58
0
0
0
0
0
0
1
27
-9
44
10
19
0
-4
-71
49
17
0
0
0
0
0
0
0
8
-50
40
-64
-13
12
78
-30
34
-5
0
0
0
0
0
0
0
0
-19
14
33
-89
-4
-31
29
-5
-9
0
0
0
0
0
0
2
-10
13
-21
25
-5
-8
9
-26
-1
-7
0
0
0
0
0
0
0
-2
44
-47
3
-48
-7
-77
-5
-17
0
0
0
0
0
0
0
0
0
9
5
-9
-2
5
-5
-25
-6
13
0
0
0
0
0
0
0
0
0
0
-22
-44
15
36
72
-22
49
0
0
0
0
0
0
1
-1
25
-56
32
-22
-50
31
-8
33
-39
0
0
0
0
0
0
0
-5
29
-20
30
-5
41
0
19
-34
-12
0
0
0
0
0
0
0
0
8
25
-14
-61
75
7
-61
-23
-18
0
0
0
0
0
0
0
0
33
20
8
-33
-64
-80
-40
21
50
0
0
0
0
0
0
0
0
-1
-47
34
5
1
-69
-26
-2
18
0
0
0
0
0
0
0
2
13
14
0
-43
2
26
-33
27
31
0
0
0
0
0
0
0
-1
53
-59
-5
-6
-1
-38
-123
-92
-4
0
0
0
0
0
0
0
1
-35
7
-6
-3
-2
-33
29
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-36
28
0
0
-34
-4
117
20
9
-20
0
0
0
0
1
0
36
77
102
-43
58
0
20
-49
-109
-10
18
-2
0
0
0
3
-7
35
-54
-40
50
-51
19
-78
16
55
4
-17
-7
0
0
0
0
17
-5
51
33
18
14
5
-18
-51
1
18
10
-1
0
0
0
0
-4
0
5
-14
-91
-5
41
-52
-51
53
-73
32
-1
0
0
0
0
0
0
-1
-53
-102
2
-7
19
-4
3
25
-6
0
0
0
0
0
0
0
-1
-21
22
-65
-28
-53
49
69
2
1
0
0
0
0
0
0
0
-3
-8
-24
-37
21
-5
47
-16
11
36
0
0
0
0
0
0
0
26
-9
-69
-73
-32
-1
-1
-2
0
0
0
0
0
18
-87
8
4
1
-11
0
0
-50
0
50
79
-47
-6
0
0
0
-22
-52
20
-3
-27
12
8
9
7
7
42
27
57
5
0
0
0
-23
-15
48
-46
-35
23
2
-29
-10
25
69
36
77
-43
0
0
0
23
-4
70
-14
-34
-20
-1
-1
12
-9
19
-18
-46
-25
0
0
0
15
-21
-2
-43
-7
8
-9
10
-14
-5
-46
58
33
19
0
0
0
-5
-30
5
-13
-23
17
-2
-5
-8
5
-16
-78
-27
-13
0
0
0
-23
-4
5
-30
-42
15
-2
8
-6
-24
-3
68
-98
8
0
0
0
-30
6
56
-31
6
17
-11
-1
-7
12
5
-2
-10
0
0
0
0
12
-46
11
-15
-34
-22
10
10
12
-14
-29
-8
30
-3
0
0
0
0
0
-1
6
-10
-74
0
0
123
92
15
60
-1
0
0
0
0
0
0
4
3
-19
21
-95
-76
25
-31
-71
43
-1
0
0
0
0
0
0
0
2
-53
53
-51
-76
-32
-32
39
-33
0
0
0
0
0
0
0
0
0
-13
34
-24
14
-60
39
37
16
0
0
0
0
0
0
0
0
-2
11
-14
15
-50
74
-7
-8
18
0
0
0
0
0
0
0
0
0
2
-2
10
-8
-25
-6
25
15
0
0
0
0
0
0
2
0
-3
2
79
18
-18
30
-85
56
-45
15
0
0
0
0
0
0
0
-8
2
2
26
-21
-1
93
44
-3
0
0
0
0
0
0
0
-6
0
-1
2
-25
49
-45
37
6
0
0
0
0
0
0
0
0
0
90
55
-8
0
0
8
28
78
114
1
0
0
0
0
0
1
-16
12
-124
29
-14
-7
31
-4
-7
-22
5
0
0
0
0
0
0
43
5
11
24
-6
-23
144
35
74
59
-25
0
0
0
0
0
0
-25
23
50
-34
-42
30
-65
1
-63
43
11
0
0
0
0
0
7
1
0
-17
-10
-37
-28
32
-74
8
-11
-1
0
0
0
0
0
0
14
14
-23
-105
-63
-56
-67
-35
52
1
0
0
0
0
0
0
6
-19
-26
-45
-53
-57
27
29
68
40
-16
-1
0
0
0
0
0
-14
6
12
-18
-45
32
14
-38
-71
-6
-107
0
0
0
0
0
0
0
6
16
-18
-45
-42
-45
-42
-14
18
26
0
0
0
0
0
-3
0
-1
-3
-3
-68
0
0
71
-54
49
-85
-7
-14
49
0
0
0
0
-2
-42
-74
66
66
82
68
1
9
48
41
-49
-25
0
0
0
0
21
-29
22
-44
-88
-6
53
13
-62
55
109
-57
-43
0
0
0
0
0
-5
-97
-9
-17
38
51
0
91
91
0
-116
-5
0
0
0
1
-2
3
-50
-20
-2
63
-6
-20
-22
-4
-7
-16
0
0
0
0
0
-1
8
-9
-66
-5
-16
-28
87
-50
8
16
-4
-3
0
0
0
0
0
-2
-3
6
-60
23
77
-74
22
-18
-21
3
6
0
0
0
3
4
-2
-41
-50
-13
-34
-62
-46
13
28
2
-49
0
0
0
0
0
0
2
3
-37
-60
-10
-93
-25
-37
-1
0
6
0
0
0
-1
0
0
-16
4
0
0
0
81
-33
181
-12
58
8
57
0
0
0
0
0
0
17
-32
8
-6
21
135
-57
33
-14
3
-37
0
0
0
0
0
-18
-53
-11
55
74
84
90
40
60
9
37
13
0
0
0
0
0
0
-41
-1
10
11
53
20
13
62
5
-19
-10
0
0
0
0
0
-1
58
-64
24
-20
-4
0
-36
108
45
-1
1
0
0
0
0
1
-4
-62
-36
-24
-72
43
-5
1
-30
1
18
0
0
0
0
0
1
15
0
-4
57
23
27
17
2
4
0
21
-13
0
0
0
0
0
0
-43
20
-30
-45
34
-5
14
51
-3
-10
0
0
0
0
0
0
2
45
-24
0
-90
43
-17
33
0
0
0
0
0
0
0
0
1
5
-18
-26
0
0
16
71
-68
9
48
55
27
0
0
0
-1
0
-2
16
-14
-37
46
-58
46
36
2
61
-8
-13
0
0
0
0
-1
9
126
-27
105
64
-96
32
-5
-5
-48
-44
-2
0
0
0
0
0
-1
12
5
31
-39
-50
-19
76
52
-89
-71
5
0
0
0
0
0
9
21
53
52
-9
0
-23
7
19
-43
33
-33
0
0
0
3
-17
15
-20
-2
79
25
-18
-43
19
49
7
-25
-5
0
0
0
1
-21
32
-59
14
-20
11
23
19
35
14
10
-23
-5
0
0
1
-3
5
20
-14
-25
-30
34
-12
72
-3
6
-53
8
0
0
0
0
15
-21
-76
-37
23
-8
33
-86
-13
21
-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
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
-17
4
10
13
4
0
0
0
0
0
0
0
0
0
0
0
4
-26
-9
5
-7
10
2
0
0
0
0
0
0
0
0
0
0
-15
18
-23
8
-11
0
0
0
0
0
0
0
0
0
0
0
0
-6
-26
9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-8
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-68
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
4
-20
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
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
-15
1
3
0
2
0
0
0
0
0
0
0
0
0
0
0
6
-3
-15
16
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-18
-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
-25
0
-2
10
15
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
-11
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
-14
5
45
0
0
0
0
0
0
0
0
0
0
2
10
17
0
-18
-2
20
43
-5
-9
-4
1
0
0
0
0
0
6
-2
0
-6
29
16
-68
-25
-20
4
-2
-1
0
0
0
0
0
1
1
5
-2
-7
-7
-7
-7
-9
5
1
1
-1
0
0
0
0
0
10
-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
18
-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
43
30
21
-60
-120
1
0
0
1
-1
0
0
0
0
0
0
1
-68
-16
53
-55
-33
-59
49
23
34
-5
-6
-1
0
0
0
0
31
-41
-113
2
42
28
-84
-28
61
43
21
-13
-1
0
0
0
0
7
6
5
44
-1
48
-23
51
-3
-1
8
7
0
0
0
0
0
-2
15
33
-43
88
-17
-58
54
8
5
10
5
0
0
0
0
0
-1
4
7
-8
-23
22
14
-43
49
7
-2
0
0
0
0
0
0
2
8
-16
-15
-2
-23
18
-27
-21
14
0
0
0
0
0
0
0
0
-7
27
-15
-53
-8
8
-17
43
8
4
0
0
0
0
0
0
0
-6
24
-40
-57
0
-43
15
2
-4
0
0
0
0
0
0
0
0
0
-25
-17
15
-8
36
0
0
0
0
0
0
0
0
0
0
0
1
15
12
-5
-13
49
5
-36
11
-35
-7
0
0
0
0
0
0
0
-7
6
13
-13
-13
32
-5
3
18
2
0
0
0
0
0
0
0
-3
5
5
-8
-1
0
25
-17
4
1
0
0
0
0
0
0
0
0
-4
10
5
1
-15
-13
-4
-13
0
0
0
0
0
0
0
0
-8
26
15
13
-3
5
-10
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
0
2
-6
-8
5
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
-3
32
-33
-24
13
0
0
0
0
0
0
0
0
0
0
0
-1
29
5
50
-40
2
43
46
-30
-14
-1
0
0
0
0
0
0
1
15
-20
-11
-37
-17
-21
5
1
-1
-1
0
0
0
0
0
0
0
1
20
-2
-14
24
5
-1
1
0
0
0
0
0
0
0
0
1
2
-11
11
-17
0
36
3
-1
0
0
0
0
0
0
0
0
-1
-8
-5
-1
2
6
2
8
-25
-3
0
0
0
0
0
0
0
0
14
8
13
-7
-14
-25
7
-4
0
0
0
0
0
0
0
0
-1
-14
7
4
-7
-2
9
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
43
-5
2
14
59
45
0
0
0
0
0
0
0
0
0
0
0
5
13
5
10
23
-63
16
3
14
1
-1
0
0
0
0
0
-1
-25
-23
-5
5
-32
-2
-21
14
-5
1
0
0
0
0
0
0
-1
6
8
14
-7
8
10
-7
0
0
2
0
0
0
0
0
0
0
1
0
-4
0
-3
-17
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
-15
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
9
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
25
11
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
19
-1
-33
13
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
1
3
-14
-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
-10
-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
25
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-20
14
22
10
-2
0
0
0
0
0
0
0
0
0
0
0
-3
33
11
31
-17
-3
-1
0
0
0
0
0
0
0
0
0
0
-5
14
10
-11
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
37
-16
-3
-1
1
-3
1
0
0
0
0
0
0
0
0
0
-10
26
-18
-3
1
1
-1
0
0
0
0
0
0
0
0
0
0
6
-15
-7
1
6
-1
0
0
0
0
0
0
0
0
0
0
0
1
-11
15
14
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
14
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
-26
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
27
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-5
18
5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
18
-10
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
10
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
20
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-9
-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
-23
18
16
0
0
0
-3
0
0
1
0
0
0
0
-1
-8
0
-3
0
2
-14
0
-22
-3
0
0
0
0
0
0
0
0
-1
0
5
1
-14
22
-13
-10
0
0
0
0
0
0
0
0
-1
1
2
-1
13
-18
6
11
8
1
0
0
0
0
0
0
0
0
0
0
-10
-6
5
5
2
-13
-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
-11
-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
23
0
0
0
-11
10
1
0
0
0
0
0
0
0
-1
2
-1
7
-1
-15
5
27
3
0
0
0
0
0
0
0
0
0
2
-1
8
-16
14
1
-11
6
0
0
0
0
0
0
0
0
0
-2
0
0
9
-29
53
-5
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-21
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
-22
-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
-19
14
4
15
8
-12
0
0
0
0
0
0
0
0
0
0
0
1
-54
-29
-9
2
75
0
0
0
0
0
0
0
0
0
0
0
20
60
10
-20
55
14
5
1
0
0
0
0
0
0
0
0
0
20
-4
38
10
-33
33
13
28
-2
0
0
0
0
0
0
0
0
0
-24
-7
-38
8
4
19
-4
16
0
0
0
0
0
0
0
0
21
-33
-43
30
-52
0
2
0
27
0
0
0
0
0
0
0
0
-26
19
23
-17
25
-12
-11
-7
-6
2
0
0
0
0
0
0
0
-11
12
10
-35
6
-42
-18
1
-4
0
0
0
0
0
0
0
0
0
-16
58
-10
5
4
8
1
-4
-1
0
0
0
0
0
0
0
-17
-13
13
13
-2
7
0
0
0
0
0
0
0
0
0
0
0
25
16
15
-40
-21
42
0
0
-15
2
-6
0
0
0
0
0
0
-15
9
-6
-32
9
0
-23
15
5
-5
0
0
0
0
0
0
0
-10
6
11
-9
22
-44
2
21
2
9
0
0
0
0
0
0
0
-4
-5
-1
10
7
-7
3
-9
3
0
0
0
0
0
0
0
0
5
5
7
-1
5
9
-1
-1
0
0
0
0
0
0
0
0
0
31
-25
-33
0
-5
-7
-1
0
-3
-1
0
0
0
0
0
0
0
0
-3
-9
-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
43
-14
12
-50
3
109
0
0
0
0
0
0
0
0
0
0
0
-21
-1
-52
85
-92
-47
-23
-5
30
6
1
0
0
0
0
0
0
48
-42
-2
1
37
49
-29
-12
-45
-23
20
0
0
0
0
0
0
-3
12
-23
-49
-47
-32
9
18
-6
30
-15
4
0
0
0
0
0
10
-19
23
14
58
50
-16
-11
14
-27
26
-1
0
0
0
0
0
18
14
14
-6
-27
46
6
-52
25
16
-12
-2
0
0
0
0
0
-8
3
-7
-8
54
16
-62
-4
24
16
-9
1
0
0
0
0
0
-6
-7
-9
22
-12
41
39
58
-27
31
-10
1
0
0
0
0
0
17
-32
46
12
42
-83
-5
-16
-2
13
14
0
0
0
0
0
0
-23
25
11
-35
-15
41
0
0
0
0
0
0
0
0
0
0
0
1
32
8
2
22
-8
-3
0
0
0
0
0
0
0
0
0
0
1
-8
-27
-5
13
20
-7
-3
0
0
0
0
0
0
0
0
0
0
7
-1
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
-13
-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
-11
5
-10
-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
-22
45
33
-23
2
45
0
0
0
0
0
0
0
0
0
0
0
-30
21
24
117
0
31
30
2
-2
-2
0
0
0
0
0
0
-1
-10
-52
-5
-6
-5
-3
-13
-3
0
0
0
0
0
0
0
0
0
14
-30
-15
33
8
-4
16
-1
0
0
0
0
0
0
0
0
-1
-20
-20
-1
32
-4
-13
0
0
0
0
0
0
0
0
0
0
0
9
14
-37
-6
3
1
0
-1
0
0
0
0
0
0
0
0
7
-9
-1
-62
-1
1
1
0
-1
0
0
0
0
0
0
0
0
0
-26
-71
-5
-20
-7
0
0
0
4
0
0
0
0
0
0
0
-2
-1
7
-14
-9
2
0
1
0
0
0
0
0
0
0
0
0
-8
-33
5
5
-5
66
0
0
0
0
0
0
0
0
0
0
0
-11
-32
-21
-1
-59
71
0
10
0
27
0
1
0
0
0
0
0
-3
27
16
-5
10
-22
19
17
-15
-2
6
0
0
0
0
0
0
8
-9
5
-10
-18
1
19
-20
-18
-9
0
0
0
0
0
0
0
-19
8
-11
8
-26
5
-11
4
-1
2
-1
0
0
0
0
0
0
-3
0
22
-4
9
-3
-10
13
-3
0
0
0
0
0
0
0
0
-25
-4
-15
-27
14
-7
-9
3
0
0
0
0
0
0
0
0
0
-2
-5
-18
-1
-3
-18
-5
0
-1
0
0
0
0
0
0
0
0
0
-11
-20
11
2
-6
1
0
0
0
0
0
0
0
0
0
0
-1
3
-10
-14
25
3
45
0
0
0
0
0
0
0
0
0
0
-1
1
19
5
6
7
0
53
0
4
0
0
0
0
0
0
0
6
-41
39
-3
52
-17
48
14
-4
0
0
0
0
0
0
0
0
-6
27
-29
-3
-25
-16
0
-7
-16
0
0
1
0
0
0
0
0
0
7
-3
25
-8
-3
25
-1
0
6
0
0
0
0
0
0
0
-2
-15
9
0
-6
9
-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
-12
2
2
-26
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-8
-25
0
0
-1
0
0
0
0
0
0
0
0
0
0
-22
-18
13
-14
18
10
0
0
0
0
0
0
0
0
0
0
0
1
61
32
79
-15
-11
5
0
-17
0
0
0
0
0
0
0
0
-21
23
-5
18
9
-22
13
20
-13
0
0
0
0
0
0
0
0
-11
-6
29
-14
3
6
-4
-10
0
-2
0
0
0
0
0
0
0
4
21
-26
-3
5
9
8
-6
3
0
0
0
0
0
0
0
0
9
-9
-14
4
6
-3
1
0
-6
0
0
0
0
0
0
0
0
7
-13
-18
37
2
0
0
7
2
0
0
0
0
0
0
0
0
-36
15
-5
0
-2
2
0
-9
8
0
0
0
0
0
0
0
0
-33
-27
-7
13
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
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
1
0
0
0
55
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
2
-24
17
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-36
-27
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
25
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
4
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-17
-17
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-31
-32
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-13
37
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
1
0
0
-24
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
-9
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
9
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
9
-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
-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
2
0
0
0
-16
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
10
10
-4
41
-1
-13
-1
0
0
0
-1
0
0
1
0
0
0
21
-60
-16
16
-26
14
-18
0
0
0
0
0
1
-4
5
15
22
0
-37
-13
9
7
-31
0
0
0
0
0
0
0
-1
-1
18
-7
6
-18
-47
19
25
25
-4
0
0
0
0
0
0
0
3
-16
0
-7
-13
2
5
17
-3
-2
0
0
0
0
0
0
0
2
10
-7
5
4
1
-5
9
-5
0
0
0
0
0
0
0
0
0
-4
-14
6
4
1
4
13
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
5
3
3
71
59
19
0
0
0
0
0
0
0
-8
50
-6
-69
39
-59
-7
-33
17
20
-5
0
0
0
0
0
0
-1
13
24
-51
-5
-13
-38
-15
107
0
-9
0
0
0
0
0
17
-13
5
-54
-15
-13
5
15
21
-27
-17
-33
0
0
0
0
0
-2
18
5
19
12
13
-24
-30
-30
-36
7
14
0
0
0
0
-1
0
7
-13
43
-23
-5
38
-24
-52
33
0
0
0
0
0
0
0
-1
-16
7
-14
36
-59
-60
-14
24
8
-15
0
0
0
0
0
0
3
-3
-5
5
105
-57
42
-62
14
33
-1
0
0
0
0
0
0
-1
5
10
15
65
10
-18
-5
-38
9
-3
0
0
0
0
0
0
0
0
0
0
0
27
-37
-21
-6
1
16
14
0
0
0
0
0
0
0
2
5
-19
36
34
-3
8
-21
-53
13
0
0
0
0
0
0
0
0
-8
-15
-20
10
-6
35
-34
0
1
0
0
0
0
0
0
0
0
0
-3
22
-4
-8
2
-30
5
-2
0
0
0
0
0
0
0
-1
1
1
-6
21
2
25
3
-2
4
0
0
0
0
0
0
2
0
1
-4
0
-2
4
-5
7
-34
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
-9
15
2
3
-1
4
0
0
0
0
0
0
0
0
0
0
1
2
-2
1
-3
7
-3
-10
0
0
0
0
0
0
0
-6
0
0
36
43
24
2
-24
-16
2
0
0
0
0
0
0
0
8
14
-7
0
-24
46
-10
-36
63
-16
0
0
0
0
0
0
0
0
0
-16
3
32
-5
-20
-1
29
2
0
0
0
0
0
-2
-1
0
-9
-19
20
55
-7
-25
-8
8
3
0
0
0
0
0
0
0
2
2
-10
11
-7
0
-23
-27
-10
-4
0
0
0
0
0
0
2
-4
-3
0
8
4
-18
2
1
15
-1
0
0
0
0
0
0
0
-1
-4
17
-8
9
20
-5
10
0
0
0
0
0
0
0
0
-4
0
-3
0
1
2
4
-19
-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
-9
3
14
1
53
8
1
0
0
0
0
0
0
2
0
37
0
-49
-8
-9
39
-25
3
-2
0
0
0
0
0
0
1
8
50
-22
2
-10
-39
30
2
21
1
0
0
0
0
0
0
4
-1
22
-1
-6
9
-8
-10
-20
-1
0
0
0
0
0
0
0
0
0
0
3
-14
-2
2
-15
-7
6
0
0
0
0
0
0
0
1
0
-8
23
-13
-4
4
0
-1
0
0
0
0
0
0
0
-1
0
1
-7
15
8
0
-5
4
1
0
0
0
0
0
0
0
0
-6
1
7
11
9
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
-10
0
0
0
0
0
0
0
0
0
0
6
0
-4
10
-25
-1
4
0
0
0
0
0
0
0
0
0
0
3
8
0
-8
-9
-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
9
-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
-10
1
0
0
0
0
0
0
0
0
1
0
-8
3
-7
26
4
-21
-3
0
0
0
0
0
0
0
0
0
0
0
1
-3
20
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
-16
0
13
-31
-1
-3
0
0
0
0
0
0
0
0
0
-5
26
-11
34
3
9
33
1
0
0
0
0
0
0
0
0
0
-1
3
-3
22
39
8
31
14
0
0
0
0
0
0
0
0
0
0
-1
1
6
-16
75
-20
0
0
0
0
0
0
0
0
0
0
0
-2
4
16
-6
-7
4
10
0
0
0
0
0
0
0
0
0
0
-1
-8
-26
4
33
0
2
0
0
0
0
0
0
0
0
0
0
0
9
-13
4
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
46
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-14
10
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
24
-1
-5
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
-4
0
0
0
0
0
0
0
0
0
0
0
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
-10
-17
-11
13
-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
25
-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
-15
1
2
8
0
-1
-1
0
0
0
0
0
0
-2
0
2
-5
22
20
0
33
-10
-6
1
0
0
0
0
0
-1
0
5
0
1
-17
1
0
-10
4
-6
-1
0
0
0
0
0
0
0
0
0
2
-1
2
6
-22
-5
16
-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
15
-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
13
-1
0
0
0
0
0
0
0
0
0
0
10
1
2
14
26
-7
-18
0
0
0
0
0
0
0
0
0
-1
15
7
17
-4
-20
-10
-16
0
0
0
0
0
0
0
0
0
0
-1
-3
-6
20
-5
-15
-13
0
0
0
0
0
0
0
0
0
-1
0
-7
0
-5
-13
5
13
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
10
-7
10
1
0
0
0
0
0
0
0
0
4
-7
0
-3
-5
-24
-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
-4
-48
0
0
-23
4
-17
8
-7
0
0
0
0
0
0
0
-20
32
9
14
61
31
6
-5
-1
8
-2
0
0
0
0
0
-6
8
1
16
-7
-30
33
-2
16
-14
0
8
0
0
0
0
0
0
-4
-1
20
-18
-2
-3
0
-18
-5
0
17
0
0
0
0
0
0
0
0
19
9
-5
5
-4
6
0
0
0
0
0
0
0
0
0
0
0
3
0
-13
-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
-9
4
-4
1
0
-5
0
-1
0
0
0
0
0
0
0
7
-1
-13
-17
0
0
0
0
0
0
0
0
0
1
-18
-14
-44
14
-20
0
0
-18
-48
-33
36
1
0
0
0
0
-2
6
26
-14
-51
30
-54
17
-11
-5
31
-12
-8
-3
0
0
0
5
-23
11
21
-25
18
5
-7
12
-41
53
-71
-6
-14
0
0
0
3
-3
30
-11
20
-3
14
-23
12
-1
-14
62
10
0
0
0
0
5
-14
19
-64
20
-15
-8
-25
63
-21
45
3
0
0
0
0
0
-1
16
-18
46
7
-5
32
18
-3
3
4
29
-2
0
0
0
0
-7
8
18
-47
-26
9
12
-11
63
-7
4
39
-6
0
0
0
0
-3
-14
-15
-34
-5
9
25
-36
18
4
63
4
3
0
0
0
0
1
-9
-9
-28
61
-47
-39
31
4
60
-24
-25
0
0
0
0
0
0
0
0
-3
0
0
0
0
37
24
14
0
0
0
0
0
0
0
0
1
0
0
13
50
-4
17
-10
-18
14
0
0
0
0
0
0
0
0
1
-4
3
17
-47
-35
0
2
4
0
0
0
0
0
0
0
0
2
-3
3
-14
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
-24
-2
-4
0
0
0
0
0
0
0
0
1
-14
33
-1
4
6
10
0
-2
0
0
0
0
0
0
0
0
2
-8
-5
4
43
18
44
-6
-6
0
0
0
0
0
0
0
0
1
7
0
6
-33
11
23
2
-3
0
0
0
0
0
0
0
0
-1
0
20
-19
-27
31
0
8
-1
0
0
0
0
0
0
0
0
0
-10
-19
-30
-5
41
-2
8
0
0
0
0
0
0
0
0
0
-2
-2
-30
-23
3
-6
-8
-2
0
0
0
0
0
0
0
0
1
2
-14
-2
-15
37
-21
-9
9
-1
0
0
0
0
0
0
0
1
-1
0
0
8
-36
-33
11
10
0
0
0
0
0
0
0
0
0
-4
1
-39
0
0
-25
-4
13
-3
8
1
0
0
0
0
0
-2
0
-14
43
-47
19
26
-6
13
0
27
-21
-10
0
0
0
0
0
-9
0
-30
-53
7
14
7
5
8
-10
-25
-2
0
0
0
0
-1
0
-15
-20
-18
35
21
18
-3
-6
5
-17
-2
0
0
0
0
0
0
-3
-14
39
33
-4
-3
-7
-5
-6
4
0
0
0
0
0
0
0
-2
-2
-8
-5
-4
14
-7
-3
0
1
0
0
0
0
0
0
0
1
4
0
0
10
-13
13
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
-29
-7
3
14
2
0
0
0
0
0
0
0
0
0
-3
-10
8
-10
0
-2
0
0
0
0
0
0
0
0
0
1
3
6
0
0
11
-6
8
0
14
-3
2
0
0
0
0
0
0
16
-13
26
5
13
-10
2
8
-5
7
-2
0
0
0
0
0
-1
-4
0
-6
34
7
24
-11
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
11
0
41
-25
0
-6
-2
1
-2
0
0
0
0
0
0
-4
-3
8
-2
-4
4
4
-4
0
-2
1
0
0
0
0
0
0
-4
-9
10
-8
-1
-1
9
34
1
0
0
0
0
0
0
0
0
1
-10
-1
-4
14
-24
7
3
0
0
0
0
0
0
0
0
0
1
-3
-5
-39
-14
-5
1
2
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
4
0
1
24
2
2
0
0
0
0
0
-1
-29
0
-14
-5
0
0
0
-4
4
-6
2
0
0
0
0
0
3
7
-7
10
9
0
0
-18
8
3
-2
0
0
0
0
0
0
1
-2
11
-11
17
9
4
5
9
-8
-6
1
0
0
0
0
0
4
14
-16
-15
19
-10
-1
17
-1
-1
-3
0
0
0
0
0
-2
-1
2
14
-41
15
13
-2
1
-5
1
-3
0
0
0
0
0
-4
3
-9
23
16
19
18
0
-9
0
0
-1
0
0
0
0
0
7
5
-22
-7
-22
15
-9
19
-2
0
0
0
0
0
0
0
0
0
4
-19
34
-31
-11
-43
1
-1
0
0
0
0
24
-6
-6
0
0
10
-13
33
-1
0
-13
36
12
-8
0
-6
3
1
3
-1
82
-19
5
11
14
-8
17
8
-10
26
-7
4
-18
-4
30
3
1
2
-10
9
2
-4
0
0
-2
10
5
-5
0
0
5
20
34
-2
0
17
20
4
-2
0
21
33
24
11
0
-14
-16
-9
2
-3
-53
-5
22
28
1
28
-1
0
-13
21
2
0
1
-1
25
2
-4
0
0
-2
42
-8
2
0
0
-7
24
24
-1
0
6
10
-20
-3
0
-1
5
-20
9
-1
-12
0
21
-8
-4
-13
-3
-15
18
-10
-6
-3
13
-6
-19
5
1
0
0
40
2
-4
0
0
-2
-4
9
-3
0
0
-35
-38
44
0
0
15
15
3
-2
0
23
-10
19
1
0
12
13
31
-30
-2
-24
-3
-5
-1
24
5
0
1
-1
-6
8
0
-1
2
2
2
-13
1
27
-1
34
14
-1
0
0
7
5
23
0
0
-1
12
25
-1
0
-5
-10
-23
-5
0
-14
28
18
1
11
-16
12
-15
45
20
-1
1
2
-23
14
8
4
4
1
-10
1
5
1
-11
-2
41
18
-23
-4
0
4
38
-14
-1
0
-11
25
-12
-1
0
-5
5
29
7
0
0
30
14
4
14
-10
-17
-10
0
11
0
-5
4
12
-5
-1
0
1
0
1
2
12
0
2
-2
41
18
-23
-4
0
-12
-23
-4
0
0
-3
-1
27
-1
0
-20
3
-2
2
0
1
31
-16
-7
1
-14
26
16
-17
6
-4
0
0
2
-5
15
0
2
0
1
5
8
2
-2
-2
41
18
-23
-4
0
12
2
9
0
0
6
-5
8
-1
0
2
19
17
-11
0
-10
19
-16
-2
-14
0
-20
22
-29
19
-6
-5
0
1
0
4
0
1
1
9
5
-6
4
0
-5
53
13
3
0
0
6
-11
43
1
0
24
-19
-20
1
0
32
0
-32
-3
1
-33
35
20
-18
-11
-5
-9
59
-10
5
12
-2
-4
-2
15
-11
0
-1
1
2
0
0
0
0
0
-22
8
3
0
0
-16
14
-18
0
0
21
60
9
1
0
-7
-3
3
-3
0
10
-2
0
17
14
11
6
0
35
5
0
-1
-43
5
-4
14
-1
-1
1
4
0
0
0
0
0
2
17
-3
0
0
-1
-20
69
-1
0
1
4
-4
5
0
0
-27
-9
2
1
-2
24
-13
9
-8
-10
3
-14
-53
5
-76
-4
-1
3
18
-27
2
3
1
23
0
0
0
0
0
31
-6
2
0
0
10
14
4
0
0
-13
14
-1
-5
0
10
34
-20
-2
0
2
6
6
30
-7
-8
-17
14
-10
-24
-38
-4
-7
-15
28
2
0
7
-3
-14
39
-4
12
-6
0
1
-14
-1
-1
0
1
22
19
0
0
1
8
-3
1
0
1
2
28
1
0
2
10
-26
21
-3
33
-14
44
-52
-9
34
1
1
32
-3
0
0
-3
-2
11
-20
-17
-19
3
-2
0
0
0
0
0
0
-25
41
-3
0
-6
-22
33
0
0
-29
-4
-11
-2
0
-16
-41
3
-14
-10
-24
28
7
32
33
6
31
30
-13
5
23
-6
14
6
5
9
-61
2
0
2
0
0
0
0
0
15
24
23
-5
0
50
41
-7
0
0
-31
-16
-14
0
0
18
-32
36
21
-8
-68
-16
18
52
-9
-7
-20
-41
-42
5
-1
-9
1
-4
3
-79
4
-14
6
-2
0
0
0
0
0
0
10
33
-5
0
1
12
-4
3
0
0
-32
-24
7
0
2
-1
27
25
14
3
7
-31
12
5
56
-2
-5
-11
-2
4
6
-12
3
-5
2
-3
1
-4
6
-44
14
3
0
0
-1
5
-2
0
0
5
7
15
0
0
9
-36
8
0
0
1
30
22
13
0
-3
-32
-28
37
0
-3
-17
2
6
-5
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
11
-6
2
0
0
-19
-14
24
0
0
7
-4
1
1
0
-22
0
51
1
1
26
-31
-26
-41
-3
-12
-2
5
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-53
0
0
0
1
29
0
0
0
0
33
-6
0
1
-1
5
5
0
25
-43
7
38
10
20
-21
-4
-15
-1
0
0
0
0
0
0
0
0
0
0
-9
-5
0
0
0
-11
53
3
-1
0
9
-8
-5
0
0
-25
-58
0
3
0
12
32
-29
32
13
7
6
-14
1
-7
-17
1
24
7
-50
-58
-2
4
-5
-15
1
15
-25
-32
2
0
0
-15
0
0
0
0
-11
0
0
-1
0
-7
0
0
0
0
12
2
0
0
0
5
-5
3
5
-2
-5
19
-14
-40
-14
17
7
6
-99
5
0
11
-2
-2
19
-7
3
0
0
0
0
0
0
0
0
0
0
0
31
5
-9
-6
0
-1
2
2
5
0
10
-8
11
11
5
26
10
-17
10
-9
-30
8
5
14
35
-27
-33
-5
-16
-44
-9
15
-4
-5
4
0
0
0
0
0
0
0
0
0
0
-11
-9
0
-10
0
22
6
2
0
0
-5
-2
5
-14
1
71
-50
12
-2
-36
13
-43
9
-44
22
-54
-32
-44
-28
14
-68
-5
-20
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
-8
0
0
1
-5
3
0
-2
0
-13
13
8
-39
16
-4
-42
-56
42
-14
7
15
-9
-83
-12
-22
-9
26
24
63
-6
-32
26
1
-1
0
0
0
16
4
-2
0
0
-3
1
-4
0
0
4
0
0
3
0
-2
-11
-2
1
-3
-9
-20
-3
-5
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
11
-8
2
0
0
0
-30
-2
0
0
1
6
-4
0
0
0
23
-3
-2
0
-2
44
-6
-38
-24
0
0
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
22
21
-7
26
-10
-22
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
4
-9
4
0
0
-3
-3
5
0
0
-8
22
5
1
0
9
-16
-4
4
0
-10
-81
-34
28
-2
-10
-17
-27
20
43
-36
3
-13
6
43
-71
-68
0
0
1
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
-26
9
0
1
-3
18
30
43
9
45
-5
3
0
15
18
-36
-43
13
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
-7
-5
-1
14
13
1
5
-2
0
-68
-11
-73
-11
-15
5
24
8
-22
-23
1
24
-22
-42
-21
-28
5
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
14
29
0
0
-13
9
1
1
0
43
72
-64
-25
2
22
-7
31
80
17
-93
13
-52
-34
-84
27
-51
-14
-35
3
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
-16
-18
49
0
1
-63
17
20
5
45
4
-73
-2
-8
-14
-11
43
3
-10
0
2
0
0
0
-11
-1
1
0
0
-3
0
0
0
0
0
2
0
-1
0
-16
-7
-18
13
0
0
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
-49
0
0
0
43
7
-21
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
-4
9
-16
-3
-2
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
14
-19
0
0
0
-6
6
1
0
0
-2
1
0
0
0
-23
-27
-3
-1
2
14
-7
-18
-6
7
26
15
89
54
-24
-48
-27
-3
11
-7
-58
-21
4
11
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-15
-2
-5
-3
-25
5
7
-54
-52
23
-49
15
1
15
-74
-12
16
-16
-7
-23
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
32
-17
13
-3
-24
-45
46
-46
-22
19
-9
-60
-5
6
57
-19
12
2
-6
-4
-6
-9
19
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
22
-9
10
7
-34
-29
-29
-33
9
53
77
78
-15
-6
13
60
24
-5
-25
-43
26
29
-54
-11
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
21
46
18
-6
-25
-44
11
-7
25
-53
-2
9
16
-28
61
5
15
-35
-3
1
0
0
0
0
0
0
0
0
0
1
-2
-3
0
0
-33
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
1
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-11
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
0
1
0
0
0
0
0
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
9
-7
-7
0
2
-11
28
-26
0
-7
-62
-17
36
0
-52
-8
24
2
0
21
-3
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
-5
0
-5
0
-4
-47
0
-2
10
18
-21
0
-90
4
-29
6
0
-54
6
-58
-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
24
3
46
18
0
-2
-1
46
-1
0
43
-10
20
19
0
-68
41
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
-74
-40
2
14
7
3
102
6
45
7
-14
-48
25
-33
7
8
-113
5
51
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
-27
-12
-14
14
0
8
43
-2
-5
0
24
2
43
-19
0
5
-6
5
-33
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
11
0
0
0
0
0
0
0
0
3
1
0
0
-7
-2
6
0
0
0
-11
-26
0
0
8
-15
-39
0
0
0
-11
-9
0
0
-25
1
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
-1
0
0
0
-5
-7
0
0
-6
-60
9
0
0
-49
11
5
0
0
-17
-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
49
-1
-22
0
0
-18
-24
51
0
0
27
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
17
52
135
-1
-21
-26
-52
27
-10
-12
-1
-1
38
-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
-49
88
34
0
0
-32
-17
0
0
0
-5
-2
12
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
32
0
0
0
35
-13
0
0
0
20
-18
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
10
71
0
0
0
22
14
0
0
0
28
-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
-37
-50
0
0
0
-68
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
27
-41
-43
-5
10
36
-11
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-34
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
-14
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
-2
0
0
0
0
28
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
-84
-33
-93
-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
-94
0
0
0
0
38
-57
14
54
-4
28
-17
10
-36
22
-21
42
45
-26
-25
-10
23
-12
-2
30
-21
21
-13
-30
-50
11
7
-3
14
-13
-20
-8
-9
-9
12
4
0
-8
8
7
0
-11
-1
-1
-3
48
16
27
-5
3
8
0
15
-32
-45
42
21
40
0
6
-4
22
27
-9
5
-13
-6
-13
11
44
14
14
-3
11
2
5
-8
-1
13
5
1
0
-6
3
19
0
-11
-1
-1
-3
55
42
20
-29
-2
-3
40
34
23
-10
8
25
-7
10
18
2
-3
1
42
-3
-7
12
18
22
11
4
-11
1
-16
-7
-5
-9
6
5
9
4
2
4
3
22
0
-11
-1
-1
-3
21
26
4
21
0
2
-1
32
6
-10
0
23
10
5
8
19
3
23
7
1
-6
3
15
21
-20
-7
8
-12
3
5
-4
6
-9
-10
-8
12
3
-1
13
11
4
-25
-12
-9
-5
48
2
37
30
3
-3
39
-6
-28
5
-5
27
6
2
17
0
6
6
-23
26
-10
13
-14
10
9
4
1
16
6
-15
-1
-10
1
2
-3
3
0
8
2
1
3
-4
0
-13
-5
15
15
3
6
-2
45
-12
-11
-8
13
-6
35
12
-8
36
27
24
46
45
-6
-5
11
4
2
-10
-13
17
-4
3
34
-14
-1
-2
-3
2
6
4
1
-5
0
10
7
-9
-6
-1
15
15
3
6
-2
15
15
21
-21
-14
-23
39
34
3
-5
-3
1
7
15
10
-7
18
12
23
-20
-6
35
7
0
1
0
1
-7
2
3
5
2
2
1
8
3
29
1
5
1
15
15
3
6
-2
14
-2
32
-33
33
4
17
4
3
7
-3
19
26
-57
0
-7
10
49
18
39
9
17
2
-10
17
-3
1
-6
-1
-11
3
-2
1
4
2
0
-3
-13
-1
2
26
51
82
-49
0
40
-3
56
7
2
-28
5
-4
49
-8
-17
4
-44
-20
13
23
14
-3
-18
53
24
-6
-8
-12
-5
-9
10
7
10
23
-14
0
3
2
0
0
0
0
0
0
13
16
6
0
-14
32
16
21
-53
32
20
-8
-5
-22
9
-15
3
13
52
10
-4
25
12
23
-8
14
-8
13
6
40
-1
5
-3
3
-5
-3
-3
-2
1
0
0
0
0
0
0
25
5
-24
5
2
3
-6
52
-44
-12
-18
11
11
7
33
-26
10
9
10
-17
8
7
4
-21
-38
-1
15
-12
-35
15
19
-7
-13
8
16
-16
-2
-4
1
-4
0
0
0
0
0
37
15
88
-28
2
0
-30
-24
21
-28
38
6
-11
-39
-14
-1
34
-32
-25
-18
33
25
-2
35
-10
7
1
17
30
12
10
-9
3
-6
-5
12
0
8
20
2
-57
-10
-4
-17
-1
-1
-32
5
-42
1
-18
-9
1
-1
-70
51
4
55
10
-5
1
26
-16
74
5
53
-6
-6
11
17
3
5
-2
11
17
-15
0
-5
8
25
-18
4
1
14
2
-22
-4
-9
6
-17
0
0
0
0
0
-4
-7
17
-10
21
-7
-27
19
9
-12
-53
16
-33
-62
-44
-8
-12
-23
2
-10
20
-1
-9
6
-29
8
-10
-9
-12
-4
6
1
7
30
15
42
24
7
6
-19
0
0
0
0
0
13
-13
6
-8
20
42
45
21
2
-31
2
15
31
-8
-23
53
6
32
36
0
62
7
2
15
36
-2
9
6
19
4
5
6
5
8
10
8
-9
-16
0
-4
0
0
0
0
0
13
-4
-16
0
-23
1
28
25
56
-6
113
-6
-125
-10
23
36
6
-10
72
21
-21
5
-11
30
14
2
0
12
-22
4
26
8
0
23
6
48
2
4
-6
-13
16
80
22
-38
0
-11
59
-37
-55
21
-23
24
-34
5
3
23
51
53
2
9
-13
4
53
90
21
-56
20
-43
3
31
21
-9
0
-7
-9
0
0
0
0
0
0
0
0
0
0
-84
-16
-14
-19
-4
5
18
-19
39
-48
-15
-13
62
-50
13
58
4
21
4
-6
-31
-14
47
-20
43
4
12
-26
19
-17
-13
-12
-2
-11
-8
0
0
0
0
0
0
0
0
0
0
-4
-7
-2
44
3
5
3
-29
-17
0
-1
31
7
81
-16
-3
-1
-21
-43
42
-7
14
-20
-11
-2
-17
7
10
13
-1
-13
-20
14
-9
-2
0
0
0
0
0
0
0
0
0
0
-4
-14
-48
-23
-1
69
103
-21
47
0
35
-73
85
1
5
-8
-49
-55
16
-12
39
42
-55
-2
-4
-38
4
2
26
33
-11
17
6
10
5
27
11
-4
-1
45
-10
43
-3
12
-7
-2
0
-34
5
0
-10
1
-5
60
5
22
-63
-33
-27
10
29
-39
-13
-20
-47
-27
94
-7
10
7
88
25
-32
20
9
-7
3
5
15
0
-25
6
4
16
29
-20
72
-15
-3
15
0
0
0
0
0
0
0
0
0
0
9
15
3
0
-13
-56
-31
38
14
7
-66
4
28
17
-5
9
-19
-7
22
-28
29
19
-4
11
33
-32
-10
-9
31
-29
-4
-7
-15
17
15
0
0
0
0
0
0
0
0
0
0
-21
-7
-13
5
25
39
-5
24
6
-2
-50
40
6
-45
40
0
-10
-7
-61
4
-42
-22
-1
-20
30
-42
-71
-19
-36
-48
-18
0
-9
-30
-1
0
0
0
0
0
0
0
0
0
0
-11
-45
-9
-30
-2
5
22
17
81
-1
-78
-29
-11
-61
33
-93
7
15
-21
-98
21
4
6
10
44
-27
-2
-3
-18
-3
7
8
-6
8
39
-3
-28
-4
20
0
17
8
-7
-37
-4
-37
29
9
-15
14
39
-37
2
-20
-9
29
-1
43
18
-5
-32
8
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
79
69
3
2
-53
13
-2
61
-2
-8
52
28
76
-21
-60
13
3
-17
0
-130
-43
-71
51
-18
-14
-12
0
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
15
0
0
3
-24
-23
-27
-2
4
14
-81
-19
5
2
-3
-43
0
-3
-15
-2
21
27
-17
-8
-40
-14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-5
23
47
-1
15
20
26
13
1
-39
103
-19
-14
-6
42
-12
45
-32
16
20
-2
-2
12
0
34
-16
-36
-7
-40
36
-23
12
30
22
2
1
11
-3
6
-18
13
15
4
-56
2
11
0
6
-2
-3
7
5
4
-1
2
16
-35
-6
-5
-14
-9
43
3
45
5
-53
-14
25
36
-46
-5
4
1
27
-17
33
-8
-9
-70
11
-16
2
4
74
27
5
-56
-17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
24
-41
-10
42
-8
-10
40
-8
-1
9
19
14
-52
-25
28
-33
22
20
-36
-80
-10
-15
-14
27
19
6
9
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
9
-17
-10
22
62
-28
3
-4
-7
27
-20
-62
40
13
-5
-7
-2
-43
-20
-55
-21
-34
-35
11
-32
-1
-10
4
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-30
-51
-23
-4
-8
-3
14
-14
-35
-81
-60
-87
42
3
33
-78
-60
-13
-4
81
-21
7
-5
-56
22
-5
-24
1
14
-15
22
-64
0
0
-66
-118
-4
-9
0
23
-29
21
0
8
5
18
45
-16
-43
-20
-38
-28
55
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
-25
-8
2
0
6
-86
-38
-4
2
6
-31
-11
-11
0
82
-49
-5
5
-4
74
28
13
-7
-21
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
56
1
1
0
0
-15
-2
0
-2
20
20
3
21
-20
41
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-20
-42
4
0
63
-106
-18
-2
32
-56
-19
-25
1
2
-68
8
-8
11
6
-41
-53
-19
-63
39
-23
6
-57
-120
-11
-18
15
-48
-1
-11
-7
10
14
50
-4
72
20
-2
15
-74
-1
5
0
0
0
-1
-10
0
0
41
-2
-1
0
0
-14
-11
-1
-3
-14
-43
-63
-24
-26
14
-14
-26
-18
-33
-38
-19
15
86
6
-105
28
-71
1
-1
-54
-3
-6
37
21
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
-14
24
27
-5
-54
-51
-53
7
11
-23
-11
36
-30
-22
-39
-5
28
-5
24
-9
-20
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-46
-20
21
40
-96
3
-59
-73
-8
-4
-55
12
-80
-23
0
-25
41
11
-24
18
-72
-23
16
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
19
73
-49
-29
-12
-77
-2
-8
2
12
-74
53
51
-21
14
-4
-12
-12
46
50
-53
-34
-58
4
-11
-4
26
1
0
-27
-1
0
49
0
17
30
-14
9
0
-32
-30
-8
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
-7
-2
0
0
-5
7
6
1
0
-71
-5
-8
0
0
-72
14
-88
-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
14
0
0
0
7
-5
0
2
10
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
23
-70
3
-1
0
-5
46
-1
-43
0
-11
1
-22
29
0
13
33
-7
22
0
-49
68
47
49
0
-3
-22
54
-43
0
-10
62
44
30
0
-39
4
-5
-4
0
13
25
6
4
0
0
-1
0
0
0
9
0
0
0
0
0
0
0
1
0
0
2
-2
-18
0
8
20
23
53
0
-90
-20
-19
-80
0
-3
37
33
-21
0
-45
50
-50
5
0
22
17
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
49
-28
32
70
0
1
-72
-2
-26
0
-54
-4
-23
27
0
14
-49
-21
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-94
-1
64
-45
66
10
66
29
73
23
-18
-65
-99
7
32
-10
77
62
14
0
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
-5
-16
-14
0
6
77
7
33
0
-80
-55
-58
16
0
19
-43
19
-10
0
0
3
-65
0
0
-7
5
-16
0
0
25
-49
14
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
33
-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
-3
0
0
0
-31
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
-13
53
-8
0
0
-15
0
30
0
0
0
6
41
0
0
1
53
67
0
0
51
-55
44
0
0
-53
-54
-5
0
0
32
49
25
0
0
-49
8
-1
0
0
62
10
-6
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-1
-2
0
0
-5
-2
10
0
0
-26
-68
81
0
0
23
-20
-19
0
0
16
-18
4
0
0
1
18
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
-10
16
-14
0
0
19
-24
-89
0
0
-106
-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
7
-20
13
-15
-5
19
-14
3
3
-71
-23
28
126
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
20
1
-15
0
0
1
47
14
0
0
-95
3
-7
0
0
38
-14
0
0
0
-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
6
0
0
0
24
8
-11
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-20
0
0
0
0
-47
0
0
0
-26
-31
0
0
0
-14
-50
0
0
0
72
34
0
0
0
-35
58
0
0
0
-90
9
0
0
0
71
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-18
0
0
0
-5
-14
0
0
0
64
121
0
0
0
25
4
0
0
0
35
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
-34
-18
0
0
0
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
-53
-90
-13
-8
-52
-23
7
97
50
-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
-56
-31
0
0
0
6
-41
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-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
-20
0
0
0
0
-75
0
0
0
0
1
0
0
0
0
-55
0
0
0
0
1
0
0
0
0
2
0
0
0
0
-32
0
0
0
0
-46
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
9
0
0
0
0
0
0
0
0
0
11
0
0
0
0
6
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-15
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
-20
0
0
0
0
40
-72
5
63
-19
10
60
15
-43
-26
-11
46
-10
7
-2
-24
17
-5
-26
34
-38
-5
-20
-10
24
-8
-6
-12
-7
-9
-7
0
5
-4
-2
5
0
-7
-2
13
1
-5
-6
-1
-5
42
-3
22
-5
-6
29
13
32
-12
-20
62
4
33
-2
-1
13
-7
8
55
29
11
10
-1
9
-7
1
10
6
5
5
3
-1
-11
5
5
-1
4
16
-3
-5
1
-5
-6
-1
-5
59
42
46
-15
-9
7
16
49
-7
3
3
5
-28
6
-4
-11
14
-7
16
33
-5
18
-11
-4
6
2
-5
13
5
-5
-7
-14
-3
8
25
6
4
8
7
28
1
-5
-6
-1
-5
75
26
-21
28
7
27
-18
-26
2
19
5
35
9
23
-7
1
10
16
19
4
-39
28
-4
-9
13
-3
1
8
6
2
-2
-8
-13
5
-7
4
3
10
1
12
4
-16
-7
-26
-15
27
39
16
9
-13
7
70
-32
-59
16
-1
3
27
29
13
1
29
-8
-15
33
-6
-6
-7
33
-16
3
5
0
-6
-2
-6
-6
-7
14
-7
-1
2
11
7
5
6
-1
1
8
-33
5
5
19
17
-10
43
-8
3
-14
-45
-7
36
1
40
29
41
14
13
-1
-4
-12
-12
26
-1
-19
-6
22
0
-6
26
-16
0
-7
-15
-1
7
3
5
4
10
15
24
-6
2
-21
5
5
19
17
-10
32
5
55
32
16
6
74
-2
-11
-26
-11
-3
54
5
16
-4
18
-11
5
28
15
6
10
9
16
1
-7
4
-1
-13
-4
3
-1
0
2
7
8
-2
-4
13
5
5
19
17
-10
1
48
35
-36
-13
1
45
-41
3
5
0
35
4
-1
5
3
29
4
7
27
0
43
-1
-2
-3
1
-15
-8
3
4
4
-2
1
4
1
3
-16
-10
2
6
28
60
49
-122
-2
90
-119
4
62
32
1
-6
-18
-5
3
-13
5
-11
-42
-19
4
13
-21
-20
40
-12
6
-44
1
-23
-3
-7
-13
19
11
-16
3
2
4
4
0
0
0
0
0
74
3
28
-6
-34
-15
-14
28
-5
15
-28
3
6
-22
-10
-4
5
9
-2
0
7
6
46
11
6
-5
5
-3
15
-29
0
3
26
25
26
14
-1
-2
5
7
0
0
0
0
0
23
-20
-23
-14
20
-24
21
-13
-37
-33
-7
12
41
-11
63
1
-4
-6
47
-50
52
-5
0
23
-27
-5
13
-3
5
1
-37
-8
-13
-4
55
-39
-1
-3
1
1
0
0
0
0
0
16
19
75
-22
11
-5
32
5
18
-97
6
2
8
2
-8
32
-8
-13
-44
-14
45
-7
17
52
-1
-12
-6
7
-12
27
-14
-7
19
18
16
10
3
14
35
10
-40
-14
-2
-17
-8
20
-81
28
-4
-15
-44
0
11
-11
-37
19
-2
32
16
5
-53
-20
13
5
-4
48
2
10
-24
80
-33
22
8
53
-21
5
8
-1
-2
-19
-18
2
5
28
-2
-36
10
4
12
33
0
0
0
0
0
-18
17
3
6
13
-2
-14
14
-25
-11
-114
-13
-13
71
-35
28
26
-42
-6
9
-16
-8
-13
13
-22
15
-4
12
9
18
-43
1
-6
25
-4
24
-11
-5
1
10
0
0
0
0
0
-18
-1
-2
-22
-13
6
-2
27
13
-5
-61
4
-6
-9
-9
18
4
27
-26
-14
11
24
17
-41
-19
8
28
13
7
23
16
3
16
-1
11
-6
-16
-12
9
17
0
0
0
0
0
42
-12
-14
14
-13
32
2
45
54
-28
33
-11
-20
21
75
-11
1
-10
4
-10
-7
-8
17
27
6
26
21
1
-6
15
19
11
10
26
3
-4
-3
-11
8
-35
19
6
9
-3
-4
-25
72
69
-48
-2
-42
45
-23
15
2
49
-23
24
26
50
5
25
8
76
11
-27
-81
8
20
36
-3
5
2
-1
-2
0
0
0
0
0
0
0
0
0
0
-104
32
-6
-5
10
-44
-13
2
18
-89
-5
0
15
-28
18
22
10
14
-25
-16
-21
13
5
42
41
12
-10
-44
-8
-14
-13
-20
1
-5
-3
0
0
0
0
0
0
0
0
0
0
-4
10
13
46
3
-21
5
15
4
5
-2
-26
-1
41
-54
-9
-28
1
-12
62
-35
70
-9
19
44
36
13
-19
-8
4
3
-8
21
5
-7
0
0
0
0
0
0
0
0
0
0
-4
-73
-27
-3
-9
-10
21
-10
75
-1
26
-5
-28
30
-14
3
-26
10
5
-50
-56
-38
-33
-23
-20
69
-4
-24
-44
-21
13
-6
6
-24
59
-57
-8
8
-7
25
-8
4
8
55
-14
-2
0
20
-20
4
-24
-21
21
18
14
-12
-26
-47
-15
7
22
-15
-21
35
-36
74
96
-14
-1
-28
3
-71
-1
-15
-13
44
84
5
20
12
-58
14
4
-14
1
-45
23
-10
0
8
0
0
0
0
0
0
0
0
0
0
23
8
-6
18
-22
-35
-23
25
-40
5
-27
56
-12
52
1
46
-33
5
-22
-5
42
-43
8
15
5
5
-12
-13
1
19
39
-1
-1
18
-28
0
0
0
0
0
0
0
0
0
0
14
-11
-8
18
5
8
-6
-19
-55
-16
-22
32
-56
22
54
-6
17
-10
1
-4
-28
8
-11
-19
24
-61
-43
-7
12
16
15
35
7
21
-7
0
0
0
0
0
0
0
0
0
0
-17
-21
-35
-20
-5
14
-6
17
35
-71
-133
-66
-17
-49
-36
-57
24
-12
-13
-46
2
-34
4
15
23
-31
-47
13
-25
-8
-30
9
4
22
41
-39
28
8
59
0
34
21
-15
-56
-5
29
-94
-14
-48
6
22
-43
35
-18
-15
40
0
0
4
-44
5
8
7
-16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
49
79
-3
2
-26
16
-14
-1
13
0
18
20
45
6
0
15
-24
-85
14
-129
-35
-56
51
-4
11
-5
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
-5
-6
10
3
-48
38
-18
-2
-8
24
6
-15
-2
19
-43
-32
-7
-3
-7
-34
-2
-2
-38
-21
-18
-20
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
-12
22
9
148
26
-10
-16
-8
-25
55
-24
-8
-16
-4
-35
-16
-67
55
43
37
-3
8
-12
-2
51
-41
14
15
20
-44
-1
-52
8
9
4
-51
11
-52
-64
50
4
12
-19
2
10
0
-2
-18
0
-6
17
33
1
2
17
-54
54
0
26
10
8
34
51
-5
-9
-5
10
21
13
-54
14
-20
18
-45
-5
6
-4
29
-33
-55
-65
-1
-22
-17
-16
41
-16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
38
-16
-14
41
-22
-140
77
-20
18
72
-30
5
-21
11
24
-40
11
32
11
-60
-28
-4
-5
-17
62
-6
-4
14
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
16
-13
20
18
16
-18
-34
17
-15
-80
-98
-39
-8
51
-39
-35
-5
12
28
58
-18
-36
-14
-98
4
-32
-24
34
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-42
-26
-52
6
39
22
71
6
0
-62
-33
-86
3
-17
-76
44
-23
-10
-26
13
-17
-43
11
12
22
-42
62
10
-15
19
-9
-31
0
-4
-11
-89
-7
15
1
-24
-26
52
2
-23
-41
-12
21
52
-47
-10
-1
-1
23
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-30
-24
33
0
53
-24
-10
-34
-13
3
-20
0
-17
0
9
14
-36
15
-4
65
38
-50
-35
4
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
-1
0
0
0
24
1
1
0
0
-13
-2
20
6
-6
34
13
-11
-24
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
10
-20
0
22
-81
35
-2
59
-84
-86
53
25
15
-58
47
-56
14
26
-34
-7
61
-70
20
-1
22
-16
-6
-22
25
-28
20
55
-3
4
-9
0
28
-1
-9
6
-18
-10
34
-1
5
0
0
13
-2
-34
0
0
-14
-2
1
0
0
-43
-10
-6
-3
-30
-80
-100
-83
-14
48
-2
-25
82
-39
7
6
-25
63
8
-105
41
-28
18
-81
-11
-8
0
42
65
12
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
46
-41
-13
42
-31
-6
-20
18
-12
46
30
17
48
-13
-16
3
7
27
27
49
48
-9
-52
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-54
-5
44
15
42
-18
-31
-4
4
-4
53
14
-4
-63
-173
18
2
52
54
112
44
-37
11
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
26
51
29
-7
-1
-117
1
-43
19
6
-78
28
-8
5
-51
9
-52
-50
-11
-43
-24
-1
-34
-32
23
22
-14
1
0
-24
-1
0
33
0
17
40
29
21
0
-2
24
-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
14
-11
-2
0
0
-32
-2
-17
0
0
-7
-14
-8
0
0
-53
-82
0
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
21
0
0
-3
23
-19
0
50
-19
33
-3
0
0
0
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
-43
-1
0
-99
16
-5
6
0
19
4
-5
-2
0
32
9
26
14
0
-53
-23
-1
49
0
-49
-55
4
-29
0
77
101
10
71
0
-49
-3
-60
-16
0
40
46
-4
1
0
0
-1
0
0
0
15
0
0
14
0
0
0
0
-15
0
0
2
6
-60
0
14
9
17
-12
0
-21
-34
-10
63
0
-15
-29
89
42
0
-18
32
46
-6
0
62
9
-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
-76
-2
-30
11
0
49
25
-19
-14
0
-114
-71
22
11
0
63
-6
-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
0
0
-34
-16
-31
39
-34
58
-51
-6
33
46
47
-100
-59
-91
7
26
-51
78
-59
-29
0
0
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
-7
-7
0
-32
-88
-35
5
0
-69
-30
-24
21
0
105
-25
52
-67
0
0
3
-7
0
0
-14
10
-70
0
0
30
-54
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
48
-52
61
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
-43
15
-4
0
0
5
-2
72
0
0
-10
0
7
0
0
-21
53
16
0
0
118
-24
-9
0
0
-98
-63
6
0
0
27
-37
28
0
0
-15
-3
-11
0
0
44
9
11
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-1
10
0
0
-16
-1
-6
0
0
-19
-19
-26
0
0
-13
-17
-59
0
0
-15
-4
-14
0
0
106
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
-4
-38
-9
0
0
54
-18
-39
0
0
-53
-42
-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
-67
-22
5
6
45
-19
-64
28
-27
-46
-5
-14
4
-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
-17
-45
-67
0
0
37
4
19
0
0
-48
3
-6
0
0
-37
-51
0
0
0
-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
6
0
0
0
60
4
15
-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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-45
0
0
0
0
-16
0
0
0
-31
-31
0
0
0
18
31
0
0
0
80
1
0
0
0
-41
69
0
0
0
18
-2
0
0
0
157
32
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
5
0
0
0
-11
-20
0
0
0
93
36
0
0
0
-22
-27
0
0
0
-22
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
43
-21
0
0
0
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
-76
-8
-60
-7
0
8
36
23
119
6
0
0
0
0
0
0
0
0
0
0
0
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
-91
0
0
0
-35
-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
33
-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
-27
0
0
0
0
-7
0
0
0
0
1
0
0
0
0
-9
0
0
0
0
92
0
0
0
0
-43
0
0
0
0
-62
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
9
0
0
0
0
27
0
0
0
0
75
0
0
0
0
65
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
30
67
-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
53
0
0
0
0
17
-3
-4
23
-5
-24
30
-4
16
0
-15
-3
-28
-6
8
-21
-46
29
-24
-7
19
-7
-4
18
11
-2
35
-8
8
-3
14
25
6
14
22
-22
13
-23
-21
27
3
-4
-5
-1
-2
-5
-3
5
-2
4
11
20
1
-13
-22
2
15
0
-15
6
0
13
14
43
44
-17
-11
-7
4
6
-12
9
52
-18
-20
11
20
7
25
7
-4
6
-1
-5
-47
3
-4
-5
-1
-2
15
4
5
-5
-6
2
-2
19
-1
-15
11
19
-11
-9
-8
-2
-20
-10
10
27
-42
33
-13
50
-25
12
-36
-25
-24
9
-8
20
-63
-13
16
17
1
14
21
-16
3
-4
-5
-1
-2
19
30
14
-6
-4
-7
-23
-22
-3
8
20
-4
18
0
-5
-20
5
-7
35
4
-17
-2
-44
24
12
22
1
3
13
-15
-9
5
19
1
-35
7
1
-20
7
-14
8
22
0
-3
9
-1
33
5
-2
-9
-1
19
-1
-3
2
25
34
4
0
-24
4
25
-34
-24
5
-20
-23
-3
31
-6
7
12
13
1
34
5
-36
4
31
8
2
0
1
-25
-14
7
3
7
-49
47
3
-3
20
-2
-7
-31
22
-4
0
-14
-43
-1
-27
63
27
40
-37
5
-15
-9
-14
23
-7
-14
36
7
18
-20
13
-15
2
-18
-13
4
-15
30
-8
16
2
5
33
11
-30
17
18
3
-3
20
-2
-7
2
16
5
9
0
23
21
-21
24
-25
-13
19
-20
5
-5
-2
14
-14
10
27
7
9
0
-1
18
-5
14
-5
3
-5
-11
-5
-24
6
21
13
-32
-15
5
-17
3
-3
20
-2
-7
0
6
-18
-5
-2
36
13
-17
-18
1
1
12
-37
57
-5
-3
16
-40
26
7
-2
6
-9
9
26
-7
-31
15
-7
-15
-5
-25
0
6
-12
-28
37
8
-45
34
3
7
6
-15
3
35
-32
6
-12
8
8
-12
-14
-7
9
11
3
23
-8
-5
-9
-6
-21
44
0
15
-13
10
-44
-22
20
-6
-14
1
4
20
-2
7
0
-5
0
0
0
0
0
-1
8
13
8
-7
18
-3
14
0
16
4
0
-13
18
5
1
-24
14
13
-36
1
8
50
14
7
-44
13
-13
23
24
-5
-23
0
-9
-30
19
-2
-9
6
4
0
0
0
0
0
0
-31
5
-23
1
0
9
-34
-33
-10
0
14
14
-12
11
-8
-15
-25
-30
-22
26
-14
18
14
-3
14
3
-1
81
1
-7
-15
12
-6
16
-30
1
-11
-5
-7
0
0
0
0
0
3
-18
3
9
-1
-15
6
20
-6
-31
5
-1
-19
14
19
-7
-36
2
-29
6
-26
-23
22
13
7
-4
-17
7
-36
34
-29
-8
22
-26
11
27
32
-5
-9
-6
-82
-73
-33
5
-14
1
-39
14
-7
-5
-1
-7
-6
-13
8
0
-13
-9
-3
32
-33
-5
0
7
31
14
8
6
-13
14
-17
-17
-39
-9
-20
9
38
10
32
-9
42
-1
28
5
-1
1
2
62
42
8
0
0
0
0
0
14
-17
9
-5
15
20
36
-19
-17
0
-71
0
18
57
13
1
-25
41
28
7
-12
-7
-13
-11
-5
-4
10
-4
14
11
-20
9
-18
-27
-42
-11
-54
-18
-34
15
0
0
0
0
0
-28
0
-5
-5
-6
-18
-23
-23
18
-7
-25
-1
31
-19
-17
-45
7
19
-1
-5
24
28
-9
-22
-16
5
26
11
11
-18
6
-26
28
7
-52
-48
13
-6
-1
72
0
0
0
0
0
-14
-2
18
2
2
-2
13
4
17
-14
10
13
-15
-23
18
16
-5
0
-45
-6
35
-5
13
7
-10
46
5
6
6
22
26
25
1
-25
-11
36
-4
-9
29
15
-2
1
-14
-4
-1
-14
6
14
-26
-1
-2
18
-11
0
5
33
5
-59
20
19
-52
27
19
-22
4
-23
30
24
-19
5
-24
-10
15
5
-7
0
0
0
0
0
0
0
0
0
0
5
6
-2
0
-5
-17
-8
11
11
0
24
5
20
-26
12
-4
32
-30
-7
-15
-5
6
-23
8
-1
43
5
-14
7
5
10
-12
5
-6
10
0
0
0
0
0
0
0
0
0
0
0
1
-5
5
1
0
0
19
10
1
0
-4
-4
11
-4
11
-2
38
14
-1
8
7
0
-5
42
0
24
-3
-1
-4
15
26
25
31
-19
0
0
0
0
0
0
0
0
0
0
0
-10
1
4
-2
-3
13
22
-2
0
-3
10
-35
-4
-14
17
6
-7
-22
-18
6
10
-11
-61
-11
-9
21
-15
-2
-43
-28
-14
34
57
38
12
3
35
-19
-7
51
1
1
26
-21
0
0
4
-3
0
0
1
1
15
2
0
0
-12
15
-7
9
0
22
3
0
15
-8
-12
-36
5
-5
-5
28
-41
-20
-4
28
15
-45
2
-23
-32
-7
-12
14
-35
5
45
26
33
0
0
0
0
0
0
0
0
0
0
31
-2
22
-28
-14
-18
17
-17
-34
6
33
-1
-24
59
-20
-41
7
7
-52
21
-5
-30
-7
-4
-9
-9
-28
-19
29
12
-70
-21
19
10
-6
0
0
0
0
0
0
0
0
0
0
21
10
17
-49
25
-6
20
-10
-9
-5
34
-27
3
19
0
14
-12
-14
6
13
16
-42
55
-10
28
23
79
-29
-56
14
-25
41
-16
43
5
0
0
0
0
0
0
0
0
0
0
-4
-1
-5
-4
9
-3
-5
53
2
-31
-5
-27
-13
-58
33
38
26
-28
16
4
33
22
2
28
-2
-37
-28
10
-11
16
77
-44
10
45
-21
-1
0
0
-2
0
0
-2
1
9
0
18
2
1
12
-21
-29
1
2
5
-7
-7
29
9
24
-3
19
-22
-33
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
-1
-6
-9
4
0
4
-17
-7
3
1
18
4
-16
-90
3
-9
-1
-24
10
0
-22
-19
-24
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-2
3
0
0
0
0
25
14
0
0
1
9
0
-2
-2
-11
-34
32
-18
6
3
-23
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-9
13
2
13
-14
4
2
-1
17
1
-14
-1
-5
8
-14
6
5
4
76
9
0
-9
4
-3
33
-6
13
13
-5
-31
-34
-4
-23
-27
-11
-6
1
46
-22
46
1
13
0
0
0
2
2
0
0
2
-1
-1
1
2
0
14
6
-1
-1
-17
56
7
-3
-13
-28
68
19
5
10
1
-10
-4
5
21
18
-9
17
10
4
38
-4
-30
20
-8
-8
41
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
-26
15
-7
-15
33
-10
-23
9
24
-48
2
51
-31
33
-6
7
1
-17
-71
16
-94
11
34
-25
-18
22
60
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-44
11
29
1
27
-11
1
-23
5
-14
-15
14
-3
-15
7
12
-26
48
1
14
5
4
5
1
1
-41
-11
-4
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-51
-13
-22
2
8
-17
7
45
-11
-53
-40
-14
-37
-8
-33
30
-53
6
-5
-35
34
-37
-3
-43
3
-11
-5
1
-32
0
0
0
0
-4
2
0
0
0
0
1
0
0
0
-14
0
-2
-5
27
-11
44
-20
-4
-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
1
3
-2
-2
1
-1
0
-23
0
-18
6
-1
13
-18
14
-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
-3
0
0
0
0
19
0
0
0
0
-14
0
0
-16
-26
-4
5
-49
-16
-18
-20
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
-14
-8
-20
9
-11
-6
14
32
19
20
-16
23
-25
14
-14
46
14
4
7
5
-24
0
59
-5
13
2
26
37
20
41
0
0
0
0
0
0
1
0
0
-30
0
0
0
0
-6
0
0
0
-14
-48
-8
-5
-2
2
9
-1
-14
-3
1
-15
-44
-24
-20
-34
-37
-23
-14
-7
5
11
9
-3
1
1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
-1
-30
-12
17
23
55
6
-2
26
4
16
-14
18
-36
-19
70
-62
-16
-60
52
33
-14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
19
9
-18
-54
43
8
-9
-11
29
23
29
-2
-51
6
20
-28
-26
36
-5
59
44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
12
40
17
-19
-7
6
-8
-36
-7
-14
6
6
17
19
-6
15
-46
-19
13
-3
-7
23
12
13
0
1
0
0
0
0
0
0
-8
0
0
1
29
-10
0
-17
8
-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
-1
0
0
0
0
0
1
0
0
-2
4
0
0
0
-37
-75
22
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
1
-14
0
1
-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
1
0
0
-5
-2
1
8
0
0
2
0
0
0
4
0
37
-13
0
-19
-13
13
6
0
-18
-13
-46
-5
0
49
-2
10
38
0
-36
-38
-11
-34
0
29
32
22
-33
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-11
0
4
13
3
-48
0
10
3
-33
29
0
-43
-14
4
42
0
-47
56
-6
-50
0
-10
30
-67
-18
0
0
0
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
-53
-25
0
26
5
37
75
0
-14
0
-17
-51
0
-2
28
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
-5
-19
-38
-17
-33
-4
-58
-14
-3
17
5
-61
-54
-47
-34
-3
29
44
-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
15
-3
27
-14
0
-25
-37
-20
-9
0
-16
3
-25
-6
0
7
-5
16
6
0
0
0
1
0
0
0
0
-3
0
0
-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
-4
-10
-16
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
-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
3
0
0
5
-5
-30
0
0
-21
-13
-10
0
0
4
-2
-30
0
0
-47
33
-58
0
0
22
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-6
-1
-3
0
0
-1
-10
-11
0
0
-3
-7
-11
0
0
13
16
-62
0
0
22
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
-15
18
23
0
0
-5
-43
8
0
0
22
-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
-16
-17
-43
-1
23
-5
-26
-5
35
0
5
-5
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
0
0
42
33
0
0
-7
33
-29
0
0
15
2
28
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
11
0
0
0
8
-12
0
0
0
-13
3
0
0
0
31
-40
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
24
0
0
0
-6
-23
0
0
0
5
-9
0
0
0
-17
48
0
0
0
21
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
67
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
-22
-51
5
85
19
0
-2
-10
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
32
-53
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
6
0
0
0
0
-56
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
5
0
0
0
0
0
0
0
0
0
39
0
0
0
0
-23
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-58
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
10
0
0
0
0
-32
53
15
0
0
22
15
19
-23
38
10
0
0
0
0
10
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-10
14
-6
2
0
0
-14
-24
-4
0
-14
36
-16
11
-1
0
-39
-18
-31
11
2
19
0
0
0
-37
0
0
0
0
8
0
0
0
0
8
0
0
0
0
27
0
0
0
0
37
30
15
-16
6
-1
-50
-52
-22
-22
4
4
8
-11
-4
0
12
-1
7
6
-20
-23
0
0
0
5
-3
0
0
0
26
0
0
0
0
5
4
0
0
0
36
41
1
-2
0
4
5
-24
-49
-17
-23
24
5
0
60
-26
4
14
7
3
-2
50
16
-5
-8
15
4
-1
0
0
0
12
5
0
0
28
30
0
0
0
-13
-35
-1
0
0
-9
-6
10
-2
0
-194
-38
6
-23
-2
-1
13
-15
-15
19
-11
4
7
-1
3
-33
-18
0
-6
4
-18
2
0
0
0
33
-32
-9
0
0
-75
-45
-1
0
0
-7
30
7
0
0
-11
-32
16
-13
0
56
-41
-13
30
20
-25
-4
22
31
-59
-9
-1
7
-3
1
-28
25
5
-8
2
-11
46
1
0
0
2
-1
-1
0
0
-22
45
0
0
0
-7
-41
-15
0
0
-16
41
21
26
-1
-32
9
77
77
1
46
-34
-19
1
25
-56
-3
1
1
-11
-40
-9
2
1
1
-6
-5
3
0
0
13
91
13
-1
0
24
44
0
0
0
-22
-21
36
0
0
2
-6
-5
-21
0
-9
13
30
-48
1
-16
-23
21
8
19
-3
-8
-5
-5
-3
-34
2
-4
-4
-2
14
-12
-1
0
0
7
4
-14
0
0
33
-16
-9
0
0
45
36
-36
1
0
-20
34
-31
3
-6
-32
-21
-13
28
-9
-42
-41
-8
16
86
-56
7
-10
4
-9
-53
-27
1
-2
-3
23
-19
0
0
0
-15
-48
35
0
0
20
5
-15
6
0
-26
5
-48
5
0
34
37
30
-9
-1
41
-45
-5
-49
-10
-43
29
41
-30
21
-7
-3
-21
9
-12
12
-37
-8
10
-5
1
-4
1
0
0
5
-13
-28
0
0
2
-22
-31
-4
0
23
-3
23
0
-2
7
4
1
-29
4
5
-20
-45
23
-24
35
50
28
0
-35
-14
-8
-13
-9
15
-19
14
4
-13
5
4
7
-1
0
0
-2
-5
5
0
0
-13
-18
19
4
0
-6
28
28
0
0
-29
-22
-14
33
1
14
12
-101
-16
-2
39
8
15
19
34
-53
6
-11
-5
23
52
-39
3
-1
9
-2
0
-3
0
0
2
17
11
0
0
-10
-23
1
-3
0
1
-26
8
-17
0
16
-9
3
10
5
-31
-75
-19
13
-31
-2
18
59
82
-2
-25
-65
-9
-9
-12
-22
-48
5
-20
38
0
1
0
0
0
-2
-4
3
0
0
-21
15
-11
-3
0
-5
59
25
8
0
-13
6
1
10
2
8
27
-35
9
42
39
99
50
82
-5
-6
-24
24
-24
-60
-12
-62
-76
-41
20
0
-1
0
0
0
-1
0
-6
0
0
0
-3
19
2
0
-3
-4
-34
3
0
1
14
9
4
-2
6
7
55
2
-7
-38
-2
62
55
-33
14
-42
3
-62
-26
6
-2
-61
1
50
0
-1
0
0
0
1
1
1
0
0
1
0
23
2
0
-2
-8
0
3
0
-4
2
-8
-7
-1
-2
-28
-13
-11
1
45
45
5
56
34
-18
-57
8
-42
-10
-26
-26
6
-18
4
0
1
0
0
0
0
0
0
0
0
-1
0
-3
0
0
-1
-4
-1
-3
0
2
-14
-2
2
0
0
-15
1
-5
-18
4
-3
-15
-23
-31
27
69
-72
19
-2
8
0
-4
-58
-20
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
-11
-6
6
-43
-26
-9
6
0
-53
-4
-98
4
-6
0
32
-14
-45
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
-13
0
-13
-5
1
7
-1
-31
-5
1
-36
36
75
-60
0
0
-1
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
2
0
0
-2
-2
-5
7
-2
9
5
-4
26
0
0
-20
-16
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
-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
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
-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
138
0
0
0
0
185
0
-4
-4
0
90
-8
33
0
0
49
15
136
19
46
82
4
0
0
0
-27
0
0
0
0
20
0
0
0
0
3
0
0
0
0
52
7
0
0
0
-33
93
-9
29
0
88
57
12
56
0
21
31
67
12
-43
-17
98
72
59
-28
45
-8
1
0
0
46
0
0
0
0
-5
0
0
0
0
82
2
-2
-1
0
54
-53
0
16
0
-32
109
72
-43
-1
63
77
-2
-32
-15
-29
14
48
30
76
-22
47
14
35
-25
-30
-54
53
0
0
24
27
0
0
0
-7
-5
0
0
0
-57
14
-11
0
0
6
62
7
35
0
7
43
-16
5
-46
-30
16
8
57
61
-16
12
33
13
57
-46
17
11
23
14
-26
-57
-46
5
0
15
50
27
0
0
66
43
13
0
0
38
-17
39
7
0
-55
9
63
10
76
-27
60
63
34
11
-11
24
-18
36
37
-29
8
17
17
39
-24
-2
15
13
-9
-35
49
-6
12
1
-29
-4
-86
-4
1
-17
-29
-36
-6
0
33
-32
38
25
-11
64
47
32
-50
-12
-32
24
-42
-34
23
23
1
-16
13
44
-8
-3
0
29
9
-7
-63
9
2
14
-22
-7
-4
-18
0
56
8
-10
12
-8
2
21
19
-21
0
60
21
12
4
-5
-23
79
36
32
-85
-17
-52
4
9
5
-2
5
4
7
6
37
11
-19
25
-12
-73
2
5
-5
12
-3
-11
88
-57
-3
51
29
75
24
-1
32
39
60
-14
1
43
-21
73
-15
-15
-32
6
-13
-62
-67
-14
-11
0
-58
-53
-8
-2
15
30
-46
-37
4
-14
4
-29
-28
-9
5
-10
-14
-9
57
-33
-1
0
112
3
-10
-9
-7
23
57
11
49
0
12
-27
45
47
46
21
-24
-48
-27
24
-36
0
-14
-16
-6
-35
-6
2
-1
27
-40
-7
-16
-5
5
3
36
-8
5
24
41
-85
-20
15
-6
-32
-18
-2
3
5
38
-64
-39
19
10
18
-5
5
-42
-45
8
47
31
81
-22
62
4
-22
4
66
-3
11
35
-28
2
-43
-4
-4
5
4
32
34
3
26
14
145
-74
-6
5
0
-31
3
70
22
37
105
-34
-37
-31
-43
-34
-56
-9
43
-7
75
50
0
-35
24
-22
-47
-13
5
-32
-11
-1
1
20
41
-65
-13
3
3
-10
2
-4
13
-4
14
-70
1
8
33
1
0
-124
-14
-31
-43
-28
-21
33
48
31
-30
-24
-1
62
-32
6
-22
35
91
-15
-66
-50
-7
-18
18
0
1
30
16
18
-75
-5
7
-34
17
-26
-3
4
-32
-2
5
-71
-14
0
0
43
103
-13
-7
-26
-59
-31
-15
-78
32
-30
-89
-2
0
0
-10
-35
-30
85
49
-6
-6
-41
-21
-78
-29
28
-3
7
8
-62
0
-6
-12
-15
92
40
15
17
-16
-12
81
2
-4
0
-34
-30
-14
-2
6
-69
64
4
2
-11
-69
66
-8
-67
70
1
34
3
2
3
5
-41
37
-49
71
95
22
61
-2
-49
53
-2
12
7
-50
-25
5
15
20
37
-3
3
-1
0
0
17
17
-25
-68
-82
-18
68
13
-12
-19
-38
-73
-87
-62
-52
-7
-51
9
-44
46
15
-26
34
-67
0
-23
39
11
-27
-35
59
-8
27
-24
-32
90
60
7
13
31
0
-11
1
0
0
21
-5
24
53
24
74
-92
43
-12
-3
-81
54
-21
2
-39
-118
41
-17
-23
-6
-53
-153
66
-9
-78
45
-24
0
21
-12
-91
76
0
-17
53
20
-3
-8
76
134
0
18
-1
0
0
-11
-14
15
16
14
-8
-44
24
8
0
-6
29
-27
-43
50
26
-25
-65
-24
23
9
-14
-20
-29
39
118
30
-78
-63
-53
35
8
-64
-79
-33
5
21
13
5
-13
0
0
0
0
0
-5
1
4
20
18
0
5
-47
28
-3
-2
33
-27
76
-6
39
41
28
-77
-3
-10
-92
-75
33
-13
-12
23
14
-9
20
-47
-78
-16
-42
-14
21
-30
9
-53
-43
0
0
0
0
0
0
-3
-1
3
0
2
4
3
75
-2
1
-23
-23
7
9
-6
-9
-12
-37
-30
0
-39
0
-16
-34
10
-67
46
22
18
37
-66
17
25
4
22
-27
36
43
4
0
0
0
0
0
0
0
-2
0
0
0
1
-5
-35
-1
0
-22
33
1
-4
3
-13
60
22
-15
0
-4
5
-11
-85
-11
7
32
67
-15
1
70
47
-26
18
0
6
35
-90
-34
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
1
4
-9
6
0
-8
20
-7
-3
0
10
-26
34
32
0
5
56
-3
104
2
-9
-41
-7
43
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
26
3
-1
0
-2
9
27
14
0
3
54
13
41
0
-33
-64
37
-31
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
-14
29
-1
0
0
-7
-10
-13
0
0
20
96
-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
17
0
0
0
0
2
0
0
0
-1
-1
-47
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
14
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
-18
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
187
0
-4
-4
0
40
-8
25
0
0
51
5
31
12
19
135
4
0
0
0
-22
0
0
0
0
30
0
0
0
0
-3
0
0
0
0
9
7
0
0
0
-7
90
-9
37
0
29
80
8
0
0
-19
131
61
49
-44
1
47
64
84
91
45
20
1
0
0
69
0
0
0
0
-44
0
0
0
0
46
2
-2
-1
0
20
-80
0
22
0
26
-55
37
-64
-17
32
-44
19
-14
-9
-19
30
61
78
109
-34
-10
56
37
-65
-95
8
32
2
0
-54
36
0
0
0
60
27
0
0
0
-57
-5
-14
0
0
16
33
11
44
-4
-22
142
23
35
15
14
99
-41
24
77
-33
9
27
24
-13
-17
14
54
57
5
18
-110
-37
7
0
49
-17
9
0
0
22
45
2
0
0
33
7
43
13
-4
13
57
58
17
105
-24
-22
21
37
38
6
-1
41
17
-30
22
-1
24
5
18
-50
-39
-4
-10
-12
-46
3
10
11
1
-97
-6
-8
-7
14
-37
-52
-60
-41
0
-23
-9
53
23
9
51
-10
73
-45
1
-7
9
37
-19
61
13
39
54
61
-13
-18
-7
11
-6
-16
-12
50
-5
35
48
-2
-20
-27
-10
-9
47
32
-15
-63
-23
13
49
-17
15
0
37
-12
-4
-7
-9
-37
35
-16
14
-61
0
15
2
-21
-23
0
-8
32
-14
39
60
19
6
11
-12
15
-21
-10
-16
37
47
-6
53
-78
-8
-29
62
61
30
-37
2
1
66
-59
1
54
24
6
-5
8
38
-8
12
-24
-81
-21
0
-11
-10
38
-6
29
-11
6
61
31
32
-7
-29
94
-41
44
1
49
69
4
34
6
14
10
62
-4
61
20
-12
-56
29
23
36
-17
-17
-14
61
53
14
-51
-58
-26
1
1
-90
3
7
-54
-1
56
23
-6
2
32
15
-4
1
-2
47
-52
-16
6
-22
2
-59
-47
16
23
-9
52
32
1
64
8
3
-5
-26
20
6
13
-26
26
-16
-14
-20
67
15
26
18
-16
-30
-42
-33
-25
-4
17
-9
30
5
-63
-6
-9
-25
-57
5
25
-16
23
8
63
-33
3
-31
-2
-68
-23
45
0
5
27
-48
23
22
-28
18
28
-24
72
15
-25
-10
-44
-3
-18
-52
-72
-41
-38
-41
-53
-17
17
21
22
4
0
24
-10
-1
-12
18
0
-12
-1
-83
-36
-31
15
-2
7
-66
-77
-30
16
48
42
21
36
13
-98
-64
-59
29
-65
84
8
-18
2
36
-6
-92
-18
13
33
-14
-24
-53
15
-26
16
-7
4
16
-6
6
7
43
36
76
-15
-27
20
-10
0
83
-38
8
-11
-11
36
-4
-43
-31
-24
-13
-10
-32
-61
-12
14
-32
-26
71
54
11
-1
-24
6
4
-78
-22
8
-1
4
-75
-52
-8
8
-43
38
52
5
-43
4
5
17
-17
-1
0
5
-25
43
-51
26
-65
6
2
-103
13
-33
16
-13
-82
20
-30
-47
34
-17
62
26
20
-15
50
17
0
-40
-41
-4
-49
17
-22
4
-61
5
54
-24
-61
6
4
16
2
-1
0
0
3
55
-9
-25
-32
1
-10
-58
42
-23
-27
-14
15
-75
-48
-7
14
-2
-60
31
-19
-47
7
-74
5
16
-14
-54
-9
13
-64
-2
-63
98
-46
66
6
45
26
69
0
-20
1
0
0
21
18
51
-5
-22
37
-91
-24
-7
-14
-74
6
4
27
-30
-65
52
79
-19
-12
-35
-34
1
-2
-138
35
-9
21
-23
14
-3
-6
-40
-33
-7
55
-8
23
22
20
0
23
-1
0
0
-11
-17
18
41
-23
-5
-30
85
-10
7
-10
-8
-7
-92
47
46
58
-106
-90
33
0
-7
-9
-33
16
52
-59
-30
29
1
-19
32
-17
-36
-90
-5
57
12
-24
-18
0
0
0
0
0
-5
-5
3
39
15
0
-15
-50
41
-2
0
11
-92
94
-8
46
61
0
-23
-19
-10
-92
-41
-19
18
-24
9
64
-31
28
-73
13
-42
-78
47
29
65
-22
-2
-36
0
0
0
0
0
0
-3
-1
3
0
2
3
-14
78
-1
1
-27
-2
22
34
-4
-24
24
-60
-69
0
-5
8
-2
-21
14
-43
-3
-7
7
44
-92
-38
24
33
27
-24
57
8
-14
0
0
0
0
0
0
0
-2
0
0
0
1
-4
-52
-1
0
-19
53
4
-1
3
-25
32
74
-15
0
11
18
-36
-106
-11
8
90
-18
-47
1
86
42
-18
4
0
7
55
-95
-36
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
1
6
-14
-7
0
-9
-22
23
-14
0
5
-45
15
37
0
6
103
11
131
2
-43
-3
44
10
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
41
35
-3
0
-1
-1
10
13
0
3
62
53
46
0
-41
-61
21
-45
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
-9
-1
0
0
-15
45
-1
0
0
-7
-19
-6
0
5
14
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
3
0
0
0
-1
18
0
0
0
1
4
0
0
0
-1
-1
-46
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
14
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
20
-3
-10
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
-1
-3
0
2
0
9
8
2
-1
0
-82
10
1
0
0
-8
1
-19
-10
-1
1
0
0
0
0
10
0
0
0
0
-2
0
0
0
0
0
4
-2
0
0
28
-5
0
2
0
-51
0
3
-1
-1
-17
-22
24
10
1
38
-81
-14
-29
-14
-14
-8
-7
-62
4
4
-2
1
0
0
3
0
0
0
0
-2
0
0
0
0
10
0
4
0
0
-30
-8
-7
-2
0
60
-7
11
-34
5
-4
-25
-36
-9
5
43
-31
39
57
-37
-12
-2
127
-11
11
-3
1
0
0
1
-14
0
0
0
0
1
2
0
-1
0
1
5
-2
2
0
-47
-4
0
13
5
-18
33
28
7
-5
34
-3
54
-9
-15
44
20
83
9
70
4
-4
-9
37
-14
-2
-9
-1
-1
1
-5
13
0
0
0
8
3
0
-4
0
-17
-17
-11
2
2
18
47
42
-2
-8
21
37
25
5
18
-19
33
36
7
-34
-53
37
-52
21
-1
8
-5
-47
-13
47
-4
7
0
-1
0
-14
-3
0
0
0
7
-2
1
-17
0
-5
8
40
20
-7
34
-5
-13
-5
-20
-39
-13
-56
3
-2
-14
55
-29
23
4
-46
29
5
-36
-13
-24
3
62
70
-6
0
-3
2
0
-2
9
3
1
2
-2
-9
2
-3
19
1
-8
14
-4
7
6
19
-12
42
9
-10
-23
-31
-30
-23
-9
9
61
44
-43
36
22
17
29
-19
10
20
5
-27
34
-45
1
0
0
4
-1
-18
-5
-3
3
0
-11
-14
2
21
3
17
3
-19
-11
2
-46
-9
26
21
21
10
-26
-20
17
19
83
-7
12
-17
28
-5
53
-51
-9
-11
-22
-13
10
-14
34
-1
0
14
2
-3
16
-20
-3
11
1
-5
-2
-5
-2
-2
-4
-12
23
9
-5
-10
-4
-15
34
14
31
9
33
3
3
12
14
48
89
24
-43
53
7
-13
4
30
38
29
19
21
0
-6
-2
0
1
0
14
6
-29
2
15
-7
-21
11
-7
-15
32
-8
3
-1
-31
-29
-100
43
-47
-45
-18
-8
-44
-16
36
5
73
-14
22
-5
-99
44
17
-12
33
40
19
45
56
-2
-1
-1
0
1
1
2
16
-2
-4
9
20
16
10
0
-18
-46
-43
22
-44
-15
14
26
-37
-19
-61
-23
-8
-4
8
16
3
-59
-19
-37
-25
-4
32
62
-33
-20
-1
-3
11
0
2
0
1
0
0
-1
-3
-5
-13
-2
1
-19
3
-4
-28
18
-54
-18
-23
-24
-4
11
11
8
47
27
-25
-7
16
0
30
-28
-8
-4
-4
-89
-51
21
-11
-3
-39
-33
-71
-10
31
0
0
-3
-1
0
2
10
-4
-7
1
4
7
-5
-27
2
-10
5
-1
-21
24
13
-34
-22
-14
9
7
23
-9
4
-14
-34
-7
-27
-2
-34
22
14
-48
19
-7
-5
15
-34
-5
-22
0
0
0
0
0
0
0
6
10
-2
0
-3
-9
-2
1
-18
9
0
-46
-33
2
57
-19
3
2
-10
-29
-14
13
-5
-5
-71
-4
14
16
-19
5
-15
-54
49
29
45
26
-35
0
0
0
0
0
0
0
0
3
-4
0
0
-14
-14
-11
-5
-7
-5
4
19
-9
1
8
-9
4
14
-14
-4
34
11
-15
-21
13
-29
52
10
-16
30
23
-43
-14
9
10
14
-18
-45
0
0
0
0
0
0
1
1
15
2
0
0
21
5
0
1
-6
-5
-4
14
9
16
13
-22
32
-1
1
-15
-27
-16
-29
6
45
36
25
-5
-14
-42
-29
-14
-6
-4
35
33
-36
0
0
0
0
0
0
-1
0
2
0
0
0
-5
16
0
0
-9
-6
-14
-20
4
1
7
-62
-6
-3
-22
-21
-4
14
-11
9
10
11
24
-9
-36
-21
-17
-1
1
10
4
-3
5
0
0
0
0
0
0
0
0
0
1
0
-1
1
8
0
2
4
-3
3
18
-1
-9
-4
-36
-6
0
-14
-14
-19
-23
2
22
-40
9
14
3
-72
-65
-26
-2
0
11
4
-23
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
4
4
3
2
0
26
35
-8
0
-2
5
-33
-17
0
-11
-4
-16
-17
0
15
-30
-5
-4
0
0
8
-9
-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
-10
-6
-5
1
0
-1
18
-2
25
0
-10
-14
50
9
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
14
3
0
0
0
3
2
-1
0
0
14
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
14
0
0
0
-1
-2
-3
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
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
-54
0
-29
-60
-145
-59
-48
-24
-79
54
11
0
0
-102
-10
16
25
65
55
45
40
0
6
0
-33
46
-6
29
8
43
29
0
75
39
0
-75
24
-12
-6
37
35
0
10
-4
-41
0
14
126
7
0
14
0
0
0
0
0
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
0
0
0
0
-16
0
-34
20
37
-38
-16
-58
-53
0
17
0
0
-29
23
-2
-21
64
55
-71
49
0
33
0
-85
-48
28
-14
-8
20
53
0
7
-3
0
-10
-22
87
46
-11
41
0
0
0
0
0
0
0
5
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
18
-35
-18
-29
-97
46
15
0
0
-5
28
-68
48
90
-30
-27
56
0
121
0
16
9
-33
16
159
-14
42
0
25
14
0
-26
-15
-36
18
94
82
0
0
0
7
0
12
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
3
0
-2
54
4
-51
-57
-1
32
61
36
0
0
-16
34
15
-47
56
43
25
133
0
-42
0
42
6
-48
22
2
19
76
0
132
79
0
-43
-27
-53
90
74
48
0
-3
60
23
0
-47
-20
-1
0
-10
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
31
0
31
67
-13
-21
-1
-16
37
74
37
0
0
-71
-37
-26
6
20
-4
100
38
0
-5
0
-60
2
-32
0
-14
-43
80
0
73
43
0
8
-23
-18
-43
60
-2
0
1
133
31
0
-11
7
47
-45
18
0
-5
24
36
47
0
9
-112
-25
20
0
-48
-25
12
56
66
0
-45
-124
-16
0
-3
-153
19
67
84
89
0
-58
-43
0
52
29
-31
-36
39
21
-13
0
-2
0
-9
28
4
3
-23
-14
41
29
-6
0
0
-2
11
-15
2
-19
30
-20
-1
0
-4
0
-34
1
-33
0
2
5
-16
0
58
46
0
5
-23
-26
-41
62
-22
0
30
50
24
0
8
-29
30
-21
-39
0
37
13
15
5
0
4
-60
-24
-45
0
-32
-47
12
16
26
0
-5
58
-46
0
64
1
51
4
-34
-67
0
-43
-18
0
-14
-43
7
-1
-40
-22
-12
0
49
0
1
-13
14
-2
24
-29
0
0
7
0
0
5
41
-1
-14
-14
0
3
13
0
-23
0
-3
43
26
-31
-5
0
42
0
-18
-13
0
41
2
-24
-7
-3
19
0
19
30
-44
0
29
-7
16
-6
18
0
1
-75
-13
2
0
28
-63
-33
0
0
20
41
-18
6
-1
0
-14
-45
-16
0
-73
25
-22
24
0
0
0
-196
-8
0
-50
-41
-11
-6
0
0
-30
0
-27
0
-19
90
-71
-148
-56
-82
-36
-14
-7
0
0
18
-16
-68
-54
15
-71
-29
39
0
25
0
45
2
-89
-17
5
-31
54
0
49
58
0
0
46
-26
-19
-19
46
0
-4
-38
76
0
12
-19
-127
45
18
0
9
-17
101
65
0
9
-111
-67
1
0
-90
-28
5
11
8
0
25
-55
1
0
49
-33
-1
1
4
6
0
32
-21
0
-73
-103
-35
-26
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-39
-85
121
-105
-5
-6
-122
0
-37
0
144
-126
-149
74
-76
-54
17
0
180
108
0
4
-29
-122
-15
-50
-27
0
37
110
10
0
-33
-90
52
-139
14
0
22
68
71
-11
0
-10
-50
-64
25
0
145
23
70
-69
-57
0
-1
-21
36
0
140
83
138
5
-80
-15
0
9
81
0
320
191
119
66
0
-9
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-137
0
30
0
13
-244
-151
-158
5
41
-37
0
53
64
0
20
-61
-62
-54
-78
5
0
33
102
59
0
12
-18
-103
16
-23
0
-21
39
93
-6
0
-12
-114
-18
-5
0
64
9
-2
2
7
0
-14
-29
-42
0
-23
-20
-190
-98
-108
-33
0
-11
-38
0
-64
-61
-77
-13
-31
15
22
0
-56
0
-36
53
-48
-52
-75
-94
32
-10
14
0
0
158
44
-162
-34
-31
16
-20
60
0
3
0
21
-21
5
-7
-45
-55
117
0
24
152
0
22
0
-32
72
72
104
0
-8
44
92
0
3
-20
5
66
32
0
-42
19
69
41
0
-3
-93
3
-7
0
-70
-70
-6
-5
1
0
-32
-62
-7
0
-23
-9
0
-9
-17
1
0
-31
-42
0
-57
-45
-66
-43
-55
-28
13
0
12
0
28
109
94
-13
16
8
-92
-43
81
0
0
100
99
48
39
-5
56
-44
52
0
71
0
46
-11
40
19
121
121
9
0
-3
55
0
20
-7
-26
-61
-12
-3
0
13
5
10
0
-8
-24
-64
-63
-34
0
-85
53
6
51
0
-4
-79
-1
-76
0
-6
-60
-54
-37
7
0
-21
-43
-86
0
-157
-131
-99
-16
-26
-1
0
-97
-58
0
5
-100
-60
-7
-5
-1
-57
0
26
0
-45
73
58
25
15
20
53
109
5
0
0
-10
22
-27
-12
8
17
56
90
0
4
0
-33
-23
-63
39
-30
-27
5
0
19
13
0
-40
-37
-42
-31
-20
-12
0
29
31
15
0
-25
-17
-8
-29
-11
0
25
18
-9
15
0
-6
-19
-51
-10
0
20
32
-2
-2
-1
0
-4
-73
-5
0
30
-5
-20
-15
-45
-40
0
11
-5
0
37
12
-5
-23
-44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-64
-105
-90
-78
-3
-49
-86
-95
-30
0
0
-71
-65
-45
27
4
3
-36
-2
0
-28
0
-57
-29
30
18
31
32
36
0
20
-36
0
41
41
-14
-32
-64
73
0
-58
24
22
0
-23
68
31
-35
14
0
0
0
-1
0
0
9
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
-52
0
-25
-8
-80
-63
-47
5
-19
-2
25
0
0
-3
-40
12
70
32
-90
-19
7
0
30
0
-5
22
21
-14
7
-15
43
0
34
-27
0
26
-33
158
-36
-72
5
0
0
0
0
0
-15
6
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
7
0
-47
11
-33
-35
1
17
29
-70
36
0
0
14
-75
5
-2
0
24
-23
37
0
-42
0
4
-49
36
6
21
-50
3
0
-29
52
0
27
-53
53
100
25
42
0
0
1
-4
0
-17
35
-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
-27
0
35
-25
-65
32
22
25
-63
49
29
0
0
2
-18
13
48
17
-70
-25
15
0
72
0
2
-25
21
30
45
99
54
0
79
-22
0
-35
-26
2
133
6
20
0
-3
45
-8
0
49
23
-25
-1
44
0
0
0
4
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-14
-12
-26
0
11
-22
-11
-19
-1
0
0
-2
-101
25
20
-2
7
-13
-4
0
10
0
24
-5
9
-36
-49
14
-10
0
41
51
0
7
-14
1
18
-33
13
0
4
83
17
0
7
-18
24
4
0
0
-41
-11
71
38
0
-5
-59
17
-19
0
22
-44
-17
62
18
0
-39
-68
-3
0
38
-5
90
-42
7
-5
0
18
-30
0
-15
-47
12
88
18
55
22
0
-3
0
-23
19
30
-12
-9
1
1
39
-1
0
0
-70
-5
-6
-14
-20
14
-13
4
0
11
0
-7
-10
-22
-20
-20
10
-35
0
-63
4
0
-36
21
-3
-2
16
-21
0
-28
32
14
0
-18
-10
-8
14
-36
0
33
55
42
16
0
-21
-3
-26
-33
0
2
37
11
4
-1
0
-19
-21
-25
0
-52
-15
5
41
2
-7
0
6
-32
0
21
15
22
2
-14
-24
-48
0
22
0
3
22
16
-46
11
-26
-16
5
-4
0
0
-18
42
52
-9
-5
28
35
3
0
-21
0
28
-3
-4
63
26
-14
1
0
0
13
0
14
-14
17
10
-13
-3
0
27
19
30
0
-4
-15
6
-36
-8
0
-32
41
38
20
0
-5
-20
-2
-12
0
-28
-8
4
0
1
0
-10
-52
-5
0
15
-3
19
16
3
0
0
-44
-23
0
-36
-49
16
-30
0
11
9
0
-124
0
-33
-62
14
-91
-53
-78
-77
-147
-48
0
0
-17
-108
-48
-48
4
-3
-105
-48
0
27
0
31
-80
-66
-42
49
-82
0
0
54
13
0
-6
-44
-23
-62
22
10
0
-71
-13
-15
0
8
-3
7
-15
-3
0
38
-33
20
-33
0
-7
-41
-25
-18
0
-38
-23
2
-17
-18
0
4
18
-11
0
-7
12
-6
-22
-12
-20
0
20
-31
0
9
-26
-10
-43
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-284
0
0
73
-104
-82
12
13
-15
-8
-166
0
11
0
-74
-120
-15
-1
-84
-48
-19
0
-71
-5
0
-21
-63
-37
-62
-89
-23
0
-37
58
26
0
5
-8
-14
49
-28
0
-2
-4
-23
-40
0
17
-11
5
-18
0
-18
-9
14
-87
-9
0
2
52
28
0
67
-41
33
-22
-118
-46
0
50
44
0
53
100
65
0
-8
-4
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-181
0
-13
0
25
-151
-70
-14
-41
-81
-26
0
-64
-43
0
0
-15
-31
-33
43
6
0
-47
-53
-27
0
6
12
32
-21
-36
0
-52
-100
14
-12
0
21
-33
-69
-18
0
-23
-25
-8
-9
-26
0
-5
-6
-75
0
31
-38
22
-69
-66
-42
0
-21
-19
0
-17
0
12
-19
-3
-4
-2
0
-51
0
-11
-84
-87
-63
-46
-23
-66
-175
-29
0
0
-10
-73
-41
2
-1
-44
-59
-7
0
-50
0
-8
-43
-31
-59
4
-142
-2
0
61
-33
0
12
-16
-12
-16
-82
1
0
-9
-30
-32
0
2
2
-30
-3
-25
0
-18
-43
-1
-51
0
-9
-6
-16
-36
0
-12
9
-16
-30
-17
0
20
15
-23
0
-22
-55
-11
-36
-26
-15
0
-3
-14
0
-79
-37
4
5
-5
-31
-13
0
-27
0
-3
52
-8
17
14
-4
-49
-7
13
0
0
12
-57
-19
-5
15
-68
-17
15
0
-25
0
17
13
34
22
-17
-16
-12
0
-28
-21
0
8
2
-3
24
-19
-28
0
8
-18
-12
0
4
-24
5
12
-48
0
-75
-80
-25
-20
0
6
-65
-66
-71
0
-57
-52
-68
-39
-13
0
0
-6
-89
0
-55
-43
-52
-49
-55
-10
0
23
-58
0
-99
-69
-52
-32
-22
-8
1
0
33
0
7
-22
-15
-6
14
10
15
43
6
0
0
-14
-4
-13
-3
-1
16
20
-4
0
93
0
-29
-36
-41
-43
-13
-30
-26
0
-26
45
0
-14
-15
-20
-44
12
-24
0
-20
-19
11
0
14
-26
-50
-10
-34
0
-23
-11
-33
-24
0
11
-24
13
-34
0
-47
-10
-5
-18
-18
0
-12
-6
-22
0
-18
-23
-14
-40
-62
-25
0
3
-20
0
-8
-5
-14
-29
-65
-50
-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
-55
0
-70
-72
-91
-35
-9
-24
-116
-121
-24
0
0
-42
-67
-40
-37
-14
-55
-40
-22
0
-34
0
-41
-46
-5
-15
-45
5
0
0
41
10
0
-63
10
-49
33
2
111
0
0
-16
22
0
-42
-9
24
-36
84
0
0
0
-1
0
0
13
0
-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
-9
0
-15
-76
-21
-54
74
-38
-67
-62
19
0
0
3
-24
39
-28
14
38
-19
11
0
-126
0
32
7
51
37
4
16
-15
0
19
2
0
9
-33
111
-21
-18
48
0
0
0
0
0
-15
-6
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
-32
0
-42
-75
-34
54
10
-11
-28
-70
-18
0
0
-40
-42
37
23
46
41
-13
29
0
-26
0
-83
-61
-1
18
31
74
89
0
-29
21
0
25
-55
-3
51
9
-3
0
0
1
-4
0
40
35
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
52
0
-3
-72
-92
16
13
-21
-29
-40
35
0
0
18
-45
5
-11
48
10
-7
55
0
3
0
-41
14
1
23
1
51
27
0
50
-85
0
0
13
67
14
52
103
0
-1
25
-20
0
-10
-6
-7
-1
-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
-13
0
-45
-27
-75
-40
-4
-32
14
34
-6
0
0
-2
-103
-31
13
-8
-32
33
-9
0
-9
0
48
-53
-17
-22
-31
67
18
0
-5
19
0
-32
8
16
67
-76
11
0
114
-54
50
0
13
1
-1
13
1
0
-7
-1
31
1
0
-1
-6
-17
9
0
-62
-4
-10
-22
-2
0
62
77
-14
0
-53
62
41
-29
52
-7
0
59
-20
0
-33
-11
-71
30
75
103
0
0
-8
0
4
-19
-27
-6
-17
-6
-1
4
-4
0
0
-9
-33
-7
-30
-13
28
-5
-3
0
-37
0
8
2
-22
-3
-13
-21
-13
0
-29
48
0
6
-32
-2
24
-22
-18
0
10
6
-27
0
30
9
32
-27
-21
0
-17
64
15
-6
0
-7
1
-15
-13
0
47
20
23
-77
-18
0
-23
40
-24
0
-29
-9
7
-41
2
3
0
5
0
0
-10
18
11
58
-46
-33
-51
0
28
0
5
64
53
-24
-43
-19
-22
3
-2
0
0
4
-8
31
24
25
-4
-3
3
0
52
0
16
-7
2
9
61
-6
5
0
-71
41
0
-5
-3
11
4
-51
-15
0
34
-56
24
0
21
-11
5
-5
-7
0
-15
-51
32
8
0
5
-23
-53
-12
0
20
35
29
8
-1
0
-14
-2
1
0
9
23
7
15
5
-1
0
-9
-14
0
-25
2
-43
-9
-12
16
11
0
-70
0
13
-86
-15
-99
-63
-62
-84
-69
-43
0
0
-4
-99
-22
-32
-28
38
5
-55
0
-42
0
6
-5
-35
-38
-122
-115
-8
0
-57
-81
0
1
-49
-49
16
-7
-5
0
-46
36
-64
0
-40
-11
-14
-19
-23
0
-77
-17
-27
-74
0
-15
-36
-22
-31
0
-122
-26
-28
-34
-40
0
-24
-37
-13
0
-11
-46
-40
4
-14
-44
0
-14
-33
0
-64
-52
-51
-40
0
-10
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-15
-80
-55
-89
79
-16
-5
-187
0
18
0
-38
-2
-100
-48
-7
-78
-61
0
-79
25
0
-22
-14
-14
119
-41
-21
0
-89
16
40
0
28
-43
-60
17
-39
0
-28
-74
27
-43
0
45
-71
4
-25
0
-215
-15
21
-61
18
0
-10
-1
-27
0
-56
62
1
-64
-76
2
0
-42
18
0
50
63
88
-16
-18
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
0
-48
0
-9
-23
-37
-34
-44
-111
-16
0
20
-73
0
-10
1
-32
-67
-1
-5
0
-95
0
-28
0
-4
-8
-33
-32
-33
0
-58
-121
-8
-15
0
-23
-34
-65
-8
0
54
-18
-71
11
-40
0
-1
38
-80
0
-27
-129
-38
2
-20
-18
0
-29
-29
0
-37
-42
-31
-28
-23
-2
-37
0
-73
0
4
-83
-134
-75
-8
-36
-53
14
-7
0
0
-33
-67
16
-66
-16
17
4
-41
0
42
0
-28
44
-52
-45
-69
-7
-37
0
-65
-57
0
16
-48
-4
-46
-17
-16
0
-64
-6
-33
0
-16
-17
44
12
-46
0
12
-70
-23
-63
0
-11
-36
54
-24
0
-88
-28
-8
-50
-3
0
8
-11
-28
0
-27
-11
-50
-9
-18
-11
0
37
-16
0
-12
-65
-73
25
16
3
-33
0
17
0
-32
7
39
28
12
3
28
-65
-11
0
0
-23
-43
53
15
18
37
1
35
0
-44
0
-18
-33
32
-8
48
-105
16
0
-22
-72
0
21
-14
22
-14
-23
-6
0
53
-83
17
0
-6
5
29
-88
-12
0
-36
-95
-49
-44
0
-16
-7
61
-41
0
9
37
-80
-45
-48
0
41
-22
-51
0
-77
-93
-43
2
-24
-36
0
3
-49
0
-91
-12
-53
-17
-56
-21
6
0
21
0
2
-55
6
-19
-1
-33
51
74
2
0
0
-2
40
17
-18
-14
2
9
12
0
43
0
19
-21
-36
-13
37
63
-12
0
-4
-28
0
23
14
-27
-62
-15
-20
0
-69
26
-19
0
17
-15
-48
-1
-13
0
-36
-16
-40
-43
0
-10
30
24
-27
0
34
-79
-24
-38
6
0
-16
-31
-15
0
0
-17
-12
-23
-47
-7
0
-17
-16
0
-23
-24
-20
-11
-41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-76
-19
-32
-29
-38
-6
6
0
0
15
-13
-40
6
-59
31
5
-6
0
33
0
-31
64
-42
24
-68
37
22
0
-6
-6
0
-11
-19
-6
20
1
-18
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
33
0
5
-21
13
-76
2
-83
-11
-3
-2
0
0
25
70
-49
-32
-28
5
-15
52
0
-43
0
22
0
14
0
21
-10
2
0
0
1
0
1
-22
21
-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
-98
0
-4
-15
43
19
15
33
5
19
31
0
0
8
-24
13
38
-58
22
1
74
0
-32
0
-19
70
-30
-30
71
-41
53
0
0
2
0
-7
-22
-65
-13
-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
44
0
0
-14
35
43
-51
-65
5
24
-31
0
0
34
-3
85
-14
-35
80
16
-53
0
-18
0
-50
27
15
17
21
54
32
0
-4
-24
0
-20
-23
-29
7
54
57
0
1
0
-4
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
-46
0
-2
17
36
66
34
-78
15
20
-5
0
0
17
-7
-7
70
26
-58
-11
51
0
-17
0
-41
19
-44
93
-15
-35
50
0
4
-33
0
22
-20
31
7
-11
30
0
-5
34
-11
0
8
25
26
57
97
0
-7
31
7
-12
0
26
-2
-55
12
0
1
-11
2
75
6
0
14
34
0
0
-11
16
19
9
-23
-10
0
11
44
0
0
1
-53
-3
10
32
1
0
-1
0
11
15
-64
0
4
-38
70
-22
-13
0
0
36
25
-43
5
-23
42
-13
-34
0
14
0
59
-19
-29
-3
26
-2
-23
0
5
1
0
44
-4
-43
21
-12
33
0
11
-9
54
0
-13
-34
-8
4
57
0
-1
-6
-23
10
0
-29
-39
19
21
0
4
2
2
10
-13
0
10
-5
-26
0
-6
4
-4
22
-10
18
0
1
0
0
-6
0
-1
-10
33
-16
-5
0
18
0
1
-1
9
10
-22
-5
-1
0
-8
0
0
10
-5
6
-2
-3
-8
0
-9
0
-3
0
10
-12
25
-13
0
6
-13
0
-34
15
0
14
-5
-31
23
11
8
0
27
-46
-2
0
5
32
-35
6
-6
0
5
5
32
-21
0
5
-7
7
-3
0
25
-37
29
27
-3
0
-28
-14
0
0
-48
-47
74
-3
6
-11
0
-10
10
0
-27
8
-5
14
-45
4
-25
0
21
0
-13
15
-87
-106
3
-58
-71
2
23
0
0
-35
5
-62
98
-63
-13
4
-4
0
-6
0
-51
5
-10
51
33
-28
21
0
-46
3
0
-22
29
27
-18
-74
23
0
-5
-15
-68
0
-3
-53
67
15
31
0
-21
112
-61
-62
0
78
24
-50
-38
0
33
-12
52
17
7
0
25
-29
-31
0
79
-83
-76
53
4
14
0
-6
0
0
-53
-5
-109
113
-79
-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
-65
0
0
-7
-15
-10
-10
-2
-2
0
-104
0
0
0
62
13
-12
-62
-23
13
-16
0
-20
23
0
-13
-59
-33
70
-15
35
0
-32
-6
11
0
-34
-12
-10
-21
34
0
-30
-10
-33
68
0
13
-8
-24
-74
0
-1
-13
-12
-165
89
0
26
3
-86
0
-90
24
37
-22
-32
-26
0
22
-31
0
56
66
55
15
-57
41
-54
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
-60
-5
-68
-2
-43
-26
-107
0
11
-67
0
44
5
3
-38
21
42
0
11
-30
1
0
-39
-32
42
11
-16
0
-79
28
-46
23
0
-12
-29
6
-53
0
-56
-14
9
-62
0
0
-41
19
-33
0
-8
-5
-21
-24
8
-75
0
28
48
0
-75
-39
-5
-21
13
7
-43
0
-74
0
-10
-4
-27
-38
-107
29
-22
90
-15
0
0
-8
27
-11
-51
-8
-31
71
35
0
-42
0
6
-80
-42
-4
-14
11
40
0
-72
-2
0
-31
-17
30
21
-27
60
0
-27
12
-23
0
-1
-8
-105
34
54
0
-55
-53
10
-9
0
-36
27
-5
17
0
-120
-77
71
33
0
0
-19
-18
14
0
23
14
9
-16
-8
-14
0
2
23
0
-7
-9
44
-72
-27
-32
-14
0
17
0
-9
8
5
-29
-4
75
6
-34
14
0
0
-60
-10
-13
53
56
-56
15
-2
0
17
0
105
-53
-43
25
37
18
34
0
-44
2
0
-6
6
-8
10
-22
9
0
-3
-32
0
0
44
14
-20
-43
5
0
-20
17
83
-100
0
-11
-32
45
25
0
39
-51
-73
18
-1
0
-23
41
-35
0
-15
32
-13
20
32
-87
0
-7
71
0
-5
22
5
14
-46
-59
4
0
-33
0
16
-20
-4
-23
-4
5
41
-7
5
0
0
-29
33
-1
19
6
-64
25
-4
0
-4
0
5
-31
-9
29
23
22
68
0
-4
5
0
-11
-5
-53
-32
0
14
0
-2
-44
23
0
-5
6
1
-10
38
0
-19
-30
-14
-20
0
18
13
-1
-53
0
6
-20
-9
-28
28
0
39
-13
-22
0
43
-11
-22
25
5
3
0
7
-4
0
-26
-10
16
37
23
-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
-48
-4
0
0
-5
-41
-1
0
0
-15
40
8
-5
0
3
17
-10
5
1
-19
-2
-6
-4
0
-44
-9
37
-18
-27
5
-5
-4
-2
7
8
0
-7
3
20
7
-11
0
1
2
33
-15
4
0
0
-20
-1
-1
-1
-1
-11
29
-19
-5
0
-24
49
0
10
1
-14
-18
21
4
-7
3
-6
2
-43
8
1
47
30
17
6
-9
-4
-17
-4
-79
-2
-66
-19
-18
-6
34
-25
3
-1
0
-27
36
6
-3
0
39
25
7
2
0
-5
4
0
10
0
9
-9
1
7
-17
8
-33
-10
23
1
-46
-9
20
60
8
-29
-23
-31
-3
-5
-34
-17
-24
-3
25
0
0
0
0
0
1
-1
5
0
0
-1
-24
0
-1
0
-2
1
-56
-1
0
5
11
5
-6
-2
-12
-7
19
7
27
8
12
10
9
-31
-4
0
3
0
2
36
9
5
1
3
5
6
-2
0
0
-4
-25
2
0
0
-4
-41
18
3
0
13
9
-10
3
-2
43
29
5
14
6
17
10
27
0
-36
7
0
6
23
21
10
-3
0
-6
-22
6
-17
-4
6
3
29
6
-2
0
0
19
-32
6
0
0
28
-56
-23
-4
0
-27
33
-36
2
0
-43
12
2
19
17
-36
11
21
-25
-7
7
-11
-7
5
62
-15
-1
1
-19
6
-3
-3
0
-2
24
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
29
3
15
26
-26
-31
28
1
-3
-6
23
10
-2
15
1
48
-31
-2
-4
0
-3
0
0
0
1
5
6
0
0
1
1
4
0
0
-3
-1
12
-6
0
-21
-16
10
14
3
-83
40
-19
-4
20
4
7
-3
-33
22
18
5
4
1
17
36
14
8
-9
0
0
-3
0
0
0
2
3
6
0
0
0
0
1
0
0
-14
-11
32
-8
0
38
-4
8
-8
3
20
9
1
-1
-16
-14
7
-5
9
14
15
0
7
-7
-2
20
11
3
-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
23
-11
-25
-12
0
37
47
-4
-28
0
-4
55
-33
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-4
2
0
21
21
-14
59
14
80
2
3
5
-22
45
5
16
1
-4
66
59
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
-2
56
10
11
0
-7
26
21
-3
44
15
10
1
-13
-23
13
2
-3
0
2
57
-9
-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
51
-4
-3
0
45
-5
15
-7
0
-67
4
-6
15
16
8
-60
-69
-154
0
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
-20
23
29
-11
23
-33
3
-41
-57
16
-12
-22
-33
-15
-16
-60
24
-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
-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
-23
21
-8
0
0
0
-19
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
38
9
-34
0
0
26
-42
-63
-39
-2
35
-38
2
51
-29
-6
16
-16
13
-5
21
-12
-2
-27
41
-1
1
-5
-35
-8
-1
4
-4
10
20
6
1
2
1
-3
2
-2
0
-2
-3
-74
46
24
-27
-9
-45
40
-12
-14
-49
6
7
7
-19
-41
12
-18
-25
-3
-40
2
-1
26
17
-19
26
-16
-6
-12
-2
3
-7
2
9
15
-14
-6
-3
1
9
5
-17
-7
0
-18
29
-8
41
19
-11
-13
38
-21
-3
-54
-4
-11
-11
-35
-9
22
5
4
7
-49
16
-11
-4
11
-20
3
-9
-12
2
-1
6
0
9
6
17
-30
-17
-8
6
-1
-12
-21
0
2
7
16
-19
17
0
0
4
-35
32
-17
1
-1
-44
32
-28
2
25
14
-6
-11
38
-38
-19
31
25
-17
70
3
-5
-2
3
10
2
8
-5
-17
5
1
-1
-3
4
-48
-31
-6
10
5
42
-34
8
-13
-1
-1
-85
0
-2
0
-16
21
16
19
29
2
16
19
18
17
25
16
-28
-2
-30
24
4
-18
-14
-13
6
2
-3
-6
1
15
-1
0
0
2
6
0
3
6
4
-37
18
2
-22
-1
30
-79
44
29
6
4
9
5
22
19
-45
17
-7
16
26
3
4
18
32
-6
9
16
-7
1
-14
-6
3
4
8
6
9
0
5
5
-5
21
6
9
6
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
7
-7
3
-6
1
5
40
16
-41
51
5
-14
3
2
1
39
17
4
13
2
3
20
30
4
0
-6
0
0
0
4
2
12
-19
0
46
14
25
9
0
12
91
51
-16
24
5
-17
38
68
8
-5
9
11
33
-11
-4
4
-1
-8
9
12
1
7
8
-10
20
5
1
-2
8
0
-14
1
0
0
-49
6
-40
-23
5
95
-19
35
-55
-2
15
-52
-3
-46
50
31
-4
1
-19
31
56
7
10
21
-11
-5
9
-7
-14
2
19
7
6
-2
-4
10
14
-3
-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
35
-18
0
0
72
23
-24
6
0
-55
63
44
34
0
1
39
90
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
2
-2
42
-4
18
7
45
60
15
43
43
73
41
21
-21
-24
-9
-8
5
3
0
-13
36
-14
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
57
-10
-17
1
-32
7
53
-20
24
-8
13
-12
-17
-17
13
-2
-10
-19
-10
22
6
0
-4
-12
1
-1
-14
-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
-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
3
-1
0
0
-42
32
-63
45
4
24
-12
-27
14
16
-44
3
2
-9
23
24
11
-27
-19
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
6
19
-27
125
29
-45
-69
9
-109
50
-26
13
-23
4
64
-38
-41
13
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
-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
-2
-13
0
0
-84
11
-35
22
0
0
-9
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
16
-25
-30
44
14
-8
-11
-3
40
-7
-21
10
-6
9
-41
13
10
1
-53
-36
-2
-18
5
5
25
8
-14
-16
-20
12
-13
14
-4
4
6
3
3
-2
-7
6
10
-16
-4
4
-20
-74
-33
-62
-26
21
-33
2
7
47
-129
-14
23
26
-4
-69
-2
-12
2
-21
-13
-30
3
4
-14
-21
-28
-7
-2
2
6
15
-10
10
3
20
-3
-4
-6
-7
12
0
-22
-12
-6
3
5
-28
-72
-6
29
-32
-1
-5
18
-89
-8
27
0
-10
-60
0
23
18
-29
-25
-2
23
-5
2
20
27
10
-7
1
11
-4
-12
-6
16
0
-5
-3
4
17
14
-1
-22
-4
-3
-9
2
41
21
2
0
-3
-13
7
-5
5
2
-14
42
-55
11
-20
-18
16
-21
53
14
9
27
-22
-23
6
60
10
-4
-33
36
5
3
-14
-24
-36
8
-11
18
15
25
-30
11
2
-25
24
-53
6
19
-21
-13
-10
1
3
23
17
20
51
5
-2
34
6
-10
-12
-14
11
24
13
-21
20
38
-4
3
0
-23
-4
-12
2
-7
-1
1
3
4
1
-9
10
-20
3
1
-30
-2
23
13
22
-27
-34
-2
24
25
17
4
1
38
23
22
-32
-5
6
2
1
-34
6
4
-10
-37
-36
-4
6
-9
-10
7
9
8
-9
10
3
3
4
-3
-2
24
2
1
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-11
0
0
-18
32
12
-2
1
-25
68
-38
-56
71
1
-29
19
10
26
-38
11
5
33
2
10
-15
61
42
0
-6
0
0
0
4
9
-15
2
0
24
16
-3
-15
5
5
59
71
-19
-2
28
3
15
10
-45
50
-20
-3
-2
-17
-6
10
-10
-1
-40
-2
1
-5
4
1
21
-21
-26
22
0
0
-7
1
0
0
6
7
-17
7
3
60
-31
4
-102
1
-12
-51
-15
-61
5
29
-14
6
7
8
25
-20
-8
22
-23
-4
-3
-1
-8
-3
19
5
-12
-7
-1
5
22
-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
-2
-6
0
0
1
13
31
55
0
-61
29
-14
12
0
2
27
158
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
2
-2
7
23
45
8
7
0
17
14
26
8
-34
35
20
-14
42
16
-2
35
-23
-27
128
7
8
60
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
37
7
-10
1
6
24
56
15
65
81
-39
53
-23
-45
48
-58
-9
8
-13
22
-14
-3
-7
-9
-26
27
-8
8
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
-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
3
-1
0
0
-15
25
-4
31
4
21
-28
-2
94
8
-81
4
-9
-5
18
1
19
56
14
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
43
-27
-26
96
27
-23
-32
21
46
-16
-42
4
8
14
49
-17
53
102
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
-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
0
0
-45
-13
-13
2
0
0
-9
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
9
-6
-3
15
2
3
-7
5
-2
3
11
28
-5
-5
-10
16
-1
25
-31
-17
-49
-30
20
-3
28
22
-19
5
34
-20
-24
6
-17
20
-1
-71
16
-8
3
-25
-47
-4
-21
-31
29
18
14
-15
-5
3
30
-17
10
-12
-39
-5
8
7
-33
-15
0
-34
13
19
9
6
-29
18
-5
-9
44
-18
1
-4
23
-21
-13
-11
-14
-1
-33
19
-23
-26
-30
-4
-31
-11
-28
14
9
14
-23
5
3
21
-23
7
-41
-34
9
22
23
-9
-17
33
-13
-13
-2
9
-8
7
9
-12
-8
6
-31
10
15
26
-15
-6
-14
11
-9
-8
16
-8
3
-10
12
-14
3
-5
-42
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
1
-14
-16
4
-5
-10
31
-10
-58
13
-1
-5
-11
14
0
32
29
22
-9
-2
-61
-27
47
49
18
102
6
26
10
-29
0
0
1
0
-2
0
0
0
10
5
4
0
4
-1
-2
18
23
24
-12
-8
-70
-17
16
9
34
-76
12
20
-25
-14
1
7
-2
-6
20
-23
-25
27
32
5
24
3
-9
21
5
0
1
1
0
-1
0
-1
-3
30
4
-1
-3
4
8
12
13
16
32
4
-4
-29
12
23
14
36
-24
3
-45
-16
-36
5
-1
-6
-18
41
9
-8
18
16
3
17
28
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
0
2
0
0
11
-3
-1
-3
19
9
-37
26
-5
2
-62
16
-47
1
0
14
7
23
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
3
-13
6
0
5
2
-43
-17
2
19
-32
-22
-14
-12
14
-14
16
7
-14
49
10
7
-20
-7
124
3
7
-29
17
0
0
0
0
0
0
0
0
-1
0
1
0
-2
-6
-1
-1
2
-4
8
3
3
-8
-56
16
14
11
-30
-17
2
13
43
-3
8
11
-21
12
15
11
-16
-16
93
-11
-10
-16
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
-21
3
0
0
9
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
15
0
14
-21
-6
3
-14
-20
1
10
68
33
-36
22
-14
23
7
44
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-7
14
-6
6
8
33
2
-3
-35
-20
-14
-15
-34
-9
14
-21
5
-53
26
-11
-15
17
33
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
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
-33
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
50
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
17
0
18
0
-48
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
-43
0
-52
0
12
0
-6
0
-45
0
1
0
7
0
0
0
-5
0
-13
0
17
0
0
0
0
0
0
0
0
0
0
0
-14
0
7
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
8
0
40
0
-22
0
-10
0
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
44
0
-73
0
79
0
13
0
-5
0
-24
0
1
0
0
0
37
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
5
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
-16
0
-31
0
6
0
-11
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
11
0
17
0
0
0
0
0
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
34
1
-20
0
0
0
42
0
1
0
0
0
0
0
-53
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
-6
0
-32
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
24
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
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
14
0
108
0
-71
0
-6
0
8
0
19
0
6
0
0
0
2
0
7
0
-44
0
0
0
4
0
0
0
0
0
-2
0
2
0
35
0
-16
0
0
0
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
0
9
0
58
0
0
0
2
0
-1
0
-1
0
5
0
34
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
-125
0
-79
1
-80
0
-112
0
-47
0
2
0
53
0
0
0
-24
0
13
0
-24
0
-7
0
-5
0
-2
0
3
0
0
0
1
0
-14
0
-5
0
0
0
1
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
70
0
-7
0
-1
0
-1
0
-46
0
0
0
1
0
10
0
83
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
-20
0
-10
0
110
0
22
0
-19
0
1
0
2
0
0
0
-29
0
-25
0
-7
0
53
0
16
0
0
0
0
0
0
0
-6
0
56
0
-18
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
7
4
53
0
-7
0
-32
0
2
0
13
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
13
-87
1
-74
-2
-71
0
7
0
62
0
-4
0
-19
0
0
3
-54
0
-46
-2
-49
0
1
0
19
0
0
0
0
0
0
0
20
0
3
0
7
0
0
0
-1
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
14
0
41
0
0
0
90
0
0
0
0
0
0
0
53
0
-4
0
-3
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
13
0
49
0
23
0
-23
0
2
0
1
0
-7
-1
-15
0
0
0
-3
0
9
0
24
0
0
0
-1
0
0
0
1
0
25
0
14
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
6
0
25
0
-62
0
0
0
-27
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
36
0
42
1
-17
0
-54
0
-18
0
-61
-2
-94
0
9
0
-13
0
-9
0
7
0
-53
0
29
0
0
0
-4
0
0
0
5
0
-2
0
-14
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
-21
0
-63
-1
-60
0
-34
0
-6
0
-21
0
9
0
0
0
-7
0
0
0
-28
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
30
0
33
0
68
-1
3
0
31
-1
6
0
-9
-1
-10
0
-14
0
4
0
-8
0
-5
0
-3
0
-3
0
0
0
0
0
-3
0
57
0
3
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
3
-3
64
0
11
0
-15
0
11
0
-8
0
-11
0
0
0
0
0
-23
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
-43
-18
-109
5
4
1
-26
-2
-37
-4
43
-3
16
0
0
0
-5
0
37
0
-105
0
0
0
-14
0
2
0
0
0
0
0
-62
0
-45
0
26
0
0
0
-45
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
-45
-2
-26
6
-83
2
3
1
-48
0
15
0
0
0
0
0
-9
0
16
0
35
0
0
0
-3
0
0
0
0
0
0
0
-52
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
-54
-20
41
9
38
71
69
0
22
3
72
1
49
7
42
0
3
0
156
-4
102
3
64
0
-13
0
85
0
61
0
19
0
-89
0
109
0
43
-5
60
0
-26
0
-11
0
3
0
-14
0
-2
0
17
0
-35
0
23
0
3
0
1
0
0
0
0
0
23
-23
53
-1
22
5
24
0
-5
0
78
0
10
0
1
0
-50
0
66
-1
-4
0
52
0
-3
0
23
0
-2
0
-1
0
11
0
187
0
50
0
-52
0
-2
0
-2
0
2
0
0
0
-3
0
-11
0
-6
0
11
0
0
0
0
0
0
0
0
-9
-105
84
14
-127
13
-53
-1
-24
-18
-14
-81
26
12
8
31
-9
-23
18
32
-45
40
15
-81
0
-8
0
46
-1
118
0
-3
2
-3
-1
44
8
86
9
-39
0
-36
0
-5
0
102
0
0
0
-10
0
-33
-2
2
0
-1
0
0
0
0
0
0
0
0
-5
-5
-6
31
-65
6
-27
-134
0
2
0
-48
9
37
0
-2
1
-40
0
-7
16
106
0
-15
0
-33
0
5
0
39
0
0
0
-84
-2
18
-1
-2
0
-20
0
-21
0
4
0
0
0
0
0
-33
0
4
0
1
0
0
0
0
0
0
0
0
0
0
-11
-45
52
36
107
38
30
151
20
-31
2
21
-2
92
0
-18
-10
-23
18
42
7
77
2
5
0
127
0
-90
0
71
0
2
-15
-26
2
3
-2
34
8
-26
0
-7
0
-5
0
-19
0
0
0
-87
0
-23
0
18
0
0
0
-11
0
-1
0
0
0
0
6
-21
-41
79
-14
-2
-68
57
5
-3
-1
18
2
35
0
7
0
34
1
80
0
-37
0
2
0
6
0
0
0
0
0
0
0
-27
5
80
0
-5
0
-21
0
-9
0
-5
0
0
0
0
0
15
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
-143
-24
-47
22
0
87
71
19
0
9
-2
73
-33
-62
0
-1
13
-35
-43
-107
-14
-78
0
1
-5
91
0
-25
0
0
0
0
24
-27
-37
-18
-12
-80
0
-13
0
-35
0
5
0
26
0
0
-10
34
0
-11
0
27
0
0
0
-4
0
0
0
0
0
0
52
-2
29
-50
-43
36
10
-47
3
31
0
-64
0
-1
0
0
39
82
-3
0
-3
27
0
0
4
-75
0
0
0
1
0
0
-34
-21
1
36
0
28
0
0
0
-36
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
91
0
0
0
0
0
0
0
0
0
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
-10
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
45
0
-11
0
26
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-56
0
-10
0
2
0
-1
0
-6
0
0
0
0
0
4
0
-43
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
16
0
-34
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
70
0
-4
0
1
0
0
0
-3
0
0
0
0
0
0
0
14
0
3
0
-11
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
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
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
54
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
51
0
11
0
24
-1
72
0
-5
0
28
0
-5
0
1
0
-11
0
-26
0
4
0
-14
0
-2
0
0
0
0
0
0
0
14
0
22
0
-7
0
-27
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
-28
0
25
0
-28
0
-42
0
1
0
-23
0
3
0
-13
0
11
0
5
0
-31
0
2
0
0
0
0
0
0
0
0
0
-29
0
49
0
-1
0
36
0
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
13
1
63
0
-25
0
-98
0
6
0
-2
0
0
0
43
0
-79
0
25
0
0
0
0
0
0
0
0
0
0
0
71
0
61
0
-23
0
14
0
5
0
0
0
0
0
0
0
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-12
0
70
0
33
0
-5
0
0
0
9
0
0
0
-18
0
-3
0
25
0
0
0
0
0
0
0
0
0
0
0
-63
0
11
0
-102
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-4
-48
0
84
0
22
0
-16
0
-58
0
107
0
2
0
45
0
33
0
32
0
1
0
6
0
4
0
0
0
0
0
-37
-3
-77
0
-16
0
-33
0
2
0
0
0
0
0
0
0
41
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-74
0
118
0
2
0
35
0
45
0
0
0
0
0
15
0
14
0
-8
0
0
0
0
0
0
0
0
0
0
0
-90
0
83
0
16
0
0
0
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
2
81
-5
35
0
0
0
34
0
6
0
-1
0
0
0
-110
0
14
0
-3
0
1
0
0
0
0
0
0
0
0
0
17
0
-2
0
-98
0
0
0
14
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
32
0
-21
0
2
0
-7
0
0
0
0
0
0
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
48
0
-8
0
-19
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
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
110
0
7
0
5
0
0
0
-8
0
0
0
-1
0
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
1
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
13
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
26
0
6
0
25
0
0
0
-3
0
25
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
-2
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
46
0
-2
0
82
0
-26
0
15
0
7
0
-2
0
0
0
30
0
13
0
-81
0
0
0
0
0
0
0
0
0
0
0
11
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
-59
0
1
0
2
0
0
0
-24
0
0
0
0
0
0
0
-37
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
78
0
145
-2
74
5
114
0
10
0
18
0
3
0
55
0
24
0
-43
0
50
0
37
0
-14
0
29
0
5
0
-6
0
13
0
-23
0
110
0
-10
0
0
0
0
0
-10
0
0
0
0
0
-24
0
1
0
-4
0
0
0
0
0
0
0
0
0
58
0
0
-1
2
0
-1
0
-48
0
150
0
-46
0
25
0
41
0
10
0
49
-4
-3
0
0
0
-3
0
0
0
0
0
2
0
-1
0
66
0
9
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
65
6
68
12
-15
5
-50
0
-52
0
44
0
-34
0
-16
0
17
0
28
3
-72
2
8
0
-14
0
-22
0
56
0
0
0
16
0
-43
0
-90
0
-5
0
3
0
0
0
-8
0
0
0
42
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
-30
-16
-8
0
-33
0
23
0
0
0
-33
0
3
-1
16
0
-18
0
188
0
6
0
-113
0
-1
0
-2
0
0
0
-103
0
2
0
-17
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-64
-22
-8
-6
20
29
-9
0
-40
0
-31
0
1
0
14
0
24
0
-4
0
-9
0
67
0
49
0
9
0
1
0
0
0
35
1
83
0
-31
0
7
0
0
0
-2
0
0
0
0
0
98
0
91
0
6
0
0
0
0
0
0
0
0
0
0
-1
-27
-21
16
-13
-20
0
81
0
90
0
16
0
75
0
0
4
79
0
109
-9
-4
0
-1
0
-18
0
0
0
0
0
0
0
-50
0
-11
0
-4
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
-53
-4
61
7
1
58
1
-27
-4
50
0
-22
0
21
0
3
20
21
-1
36
15
-94
0
-6
0
27
0
1
0
-5
0
0
0
-100
0
-34
0
-44
0
0
0
-1
0
0
0
0
0
0
0
-21
0
0
0
11
0
0
0
-2
0
0
0
0
0
0
-65
-75
-8
5
14
-9
0
-49
1
131
0
3
0
-21
0
0
-3
69
0
-35
11
44
0
0
0
-4
0
0
0
0
0
0
0
126
0
14
0
-43
0
0
0
3
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
136
0
75
0
5
19
-75
0
-2
0
-103
0
77
-15
-81
0
-37
0
72
0
91
3
68
0
5
0
11
0
4
0
7
0
25
0
0
0
-88
0
-78
0
6
0
0
0
2
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
10
0
60
-2
26
19
-273
0
13
0
-9
0
44
8
-1
0
-16
0
62
0
9
0
-154
0
0
0
-3
0
3
0
0
0
-1
0
-15
0
-14
0
-11
0
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
37
19
-30
-1
-40
0
-41
-4
-26
-11
10
0
0
0
-100
0
-72
0
-49
0
-109
0
55
0
14
0
7
0
3
0
-100
0
47
0
-51
0
-29
0
24
0
4
0
86
0
0
0
-65
0
3
0
-25
0
0
0
0
0
0
0
0
0
0
-2
-71
0
93
-90
-50
8
20
0
2
0
-64
-1
-45
0
25
0
101
0
-53
9
6
0
-4
0
-33
0
-2
0
33
0
0
0
-93
0
-52
0
45
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
24
-71
-11
0
-7
-43
-6
0
-94
-31
-100
0
47
-4
30
0
36
13
-44
0
-36
0
-53
0
-92
0
-78
0
14
0
0
0
-110
0
47
0
-3
0
-14
0
32
0
-8
0
0
0
0
0
-10
0
16
0
3
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-18
0
-90
56
0
-2
-46
20
-13
-1
53
0
-4
0
-27
-1
12
0
31
0
-7
0
-2
0
-9
0
0
0
0
0
-9
0
9
0
-33
0
8
0
10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-26
-116
-25
-88
-2
54
7
-19
-8
-21
-4
-37
70
3
0
-1
32
-21
53
0
-25
-27
0
3
-5
0
43
0
50
0
0
-2
-47
-1
-40
-2
30
0
16
0
18
0
-4
0
17
0
0
0
59
0
-8
0
-5
0
0
0
14
0
0
0
0
0
0
-74
13
-19
-16
43
28
-3
18
93
21
-13
105
1
55
0
-1
1
59
0
28
0
-30
0
0
0
-18
0
0
0
-10
0
0
0
-103
4
5
0
20
0
0
0
19
0
0
0
0
0
0
0
167
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-49
-156
-4
44
3
12
-57
24
0
-146
22
-11
-27
-46
-5
-52
0
-86
-32
48
-1
27
-6
12
0
0
-1
-21
0
-5
-8
96
0
-150
48
6
3
-32
-24
4
0
-147
0
-34
0
48
0
50
0
-27
-1
127
0
78
-3
53
0
-5
0
4
0
-5
0
4
-11
-142
67
28
-86
6
-43
23
0
-129
-4
21
-9
47
-24
79
-1
-115
-59
72
-22
-42
-21
71
0
-69
0
80
0
-23
0
-9
0
13
14
103
-1
74
32
88
0
-27
0
37
0
31
0
1
0
-90
0
66
0
-58
0
81
0
0
0
-4
0
0
0
0
-26
-18
72
27
-98
10
-75
1
-34
-52
-82
33
-116
-11
46
-27
-46
-38
23
96
-88
-14
41
-86
4
-104
0
33
33
41
0
5
-71
-43
-2
84
-70
-37
17
78
0
6
0
12
-10
54
0
2
-3
5
0
3
-68
-32
0
-69
0
-19
0
5
0
7
0
0
13
-40
-119
22
-159
-19
-19
-5
50
-34
-60
35
25
-11
9
-74
10
59
-5
0
-126
-31
0
-92
-1
-33
0
91
-1
147
0
0
-45
-35
-6
-26
-1
12
-4
-37
0
-112
0
-8
0
27
0
0
-2
28
0
-33
5
26
0
-2
0
-1
0
0
0
0
0
0
-16
-37
-95
0
43
14
-34
32
47
-27
-112
-66
-63
15
59
-12
-61
-45
-53
-20
64
-3
-29
90
2
-24
43
5
0
53
0
-17
-27
-104
-95
-6
-62
-42
27
-85
3
-63
-1
-20
0
-42
0
2
-1
-48
11
97
0
5
0
-12
0
-61
0
-3
0
0
0
0
13
-28
23
-14
34
13
-69
10
47
-21
-5
-11
38
90
0
32
-19
39
22
134
-67
66
-39
23
0
22
0
61
0
-2
0
2
2
28
8
-24
0
18
4
107
-4
1
0
102
0
7
0
0
0
72
1
24
0
-97
0
0
0
1
0
0
0
0
0
0
-81
-10
-100
-13
-49
28
10
-47
-62
-15
-67
-34
-43
-19
13
-36
-32
-37
-51
31
-28
-46
37
-12
-67
-27
3
-34
2
-26
0
0
-57
-26
-92
49
-13
-14
16
-24
-20
68
0
81
2
-20
0
0
5
93
-7
44
-13
-14
0
0
0
15
0
0
0
0
0
0
-82
-40
-22
0
-62
10
30
-108
-55
6
5
11
-35
22
0
0
-14
27
-9
-89
11
-23
0
-40
15
-7
0
-5
0
-25
0
0
-72
31
13
72
50
91
0
8
3
-1
0
0
0
3
0
0
0
67
-1
-49
0
90
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
15
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
34
0
-24
0
0
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
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
-26
0
-5
0
10
0
3
0
-1
0
-6
0
0
0
0
0
4
0
-36
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
11
0
45
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
33
0
-49
0
11
0
0
0
-3
0
0
0
0
0
0
0
14
0
3
0
-11
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
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
-16
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
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
52
0
90
0
-23
-1
22
0
-4
0
30
0
-2
0
-1
0
-3
0
-31
0
-39
0
3
0
-2
0
0
0
0
0
0
0
5
0
48
0
-26
0
-20
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
-53
0
-48
0
8
0
-52
0
1
0
-14
0
3
0
-13
0
14
0
6
0
-31
0
2
0
0
0
0
0
0
0
0
0
-44
0
-18
0
14
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
26
0
73
1
31
0
-29
0
-58
0
6
0
4
0
0
0
37
0
-46
0
-39
0
0
0
0
0
0
0
0
0
0
0
5
0
-19
0
108
0
9
0
5
0
0
0
0
0
0
0
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
17
0
89
0
36
0
-2
0
0
0
11
0
0
0
-11
0
-3
0
25
0
0
0
0
0
0
0
0
0
0
0
-18
0
9
0
-39
0
0
0
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
17
0
-6
0
-17
0
5
0
-30
0
124
0
2
0
-36
0
45
0
47
0
1
0
6
0
4
0
0
0
0
0
5
-3
-2
0
1
0
-53
0
2
0
0
0
0
0
0
0
44
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-43
0
32
0
15
0
33
0
46
0
0
0
0
0
16
0
30
0
-8
0
0
0
0
0
0
0
0
0
0
0
-25
0
21
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
72
2
10
-6
-31
0
-4
0
32
0
26
0
-4
0
0
0
-85
0
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
5
0
23
0
-71
0
0
0
8
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
21
0
19
0
2
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
60
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
-60
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
81
0
18
0
5
0
0
0
-9
0
0
0
-1
0
11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
5
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
53
0
7
0
26
0
0
0
-3
0
25
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
43
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
31
0
19
0
88
0
-16
0
20
0
7
0
-5
0
0
0
83
0
6
0
-90
0
0
0
0
0
0
0
0
0
0
0
11
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
-80
0
6
0
5
0
0
0
-17
0
0
0
0
0
0
0
-46
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
18
0
134
-2
72
6
51
0
-6
0
55
0
-47
0
2
0
7
0
-43
0
54
0
-70
0
10
0
35
0
5
0
-6
0
15
0
-13
0
39
0
71
0
0
0
0
0
-10
0
0
0
0
0
-13
0
0
0
-4
0
0
0
0
0
0
0
0
0
98
0
7
-1
63
0
70
0
-81
0
67
0
-46
0
1
0
8
0
38
0
-7
-4
44
0
0
0
-3
0
0
0
0
0
2
0
-4
0
24
0
17
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
7
6
27
16
4
8
-24
0
-84
0
51
0
-52
0
-19
0
6
0
-12
3
43
2
-28
0
-14
0
-19
0
73
0
0
0
-3
0
54
0
-6
0
-3
0
3
0
0
0
-8
0
0
0
46
0
-3
0
-16
0
0
0
0
0
0
0
0
0
0
0
36
0
-14
-23
37
0
-48
0
44
0
0
0
-5
0
3
-1
42
0
-32
0
92
0
6
0
10
0
-1
0
-2
0
0
0
-47
0
2
0
-1
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
1
27
-71
8
-5
54
36
55
0
14
0
50
0
28
0
16
0
62
0
13
0
100
0
9
0
17
0
21
0
0
0
0
0
36
1
71
0
-36
0
-7
0
0
0
-2
0
0
0
0
0
82
0
82
0
1
0
0
0
0
0
0
0
0
0
0
-1
-47
-46
-22
-13
-3
0
58
0
-61
0
36
0
80
0
0
4
56
0
159
-9
-2
0
0
0
11
0
0
0
0
0
0
0
-109
0
-32
0
3
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
-86
60
62
16
32
29
8
-22
-4
-14
0
-22
0
-7
0
3
9
-37
-3
73
19
-44
0
-5
0
20
0
2
0
-5
0
0
0
28
0
0
0
-48
0
0
0
6
0
0
0
0
0
0
0
-20
0
0
0
11
0
0
0
-2
0
0
0
0
0
0
-128
72
-3
-24
18
-21
0
-63
1
97
0
5
0
-8
0
0
2
-1
0
-36
11
-8
0
0
0
-24
0
0
0
0
0
0
0
67
0
36
0
-34
0
0
0
3
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
29
0
-84
-5
28
0
-15
0
9
0
69
-15
-55
0
-75
0
68
0
102
3
50
0
5
0
7
0
-22
0
3
0
23
0
32
0
-69
0
-47
0
6
0
0
0
2
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
-43
0
-13
-2
38
19
-81
0
-32
0
67
0
66
8
-10
0
-15
0
14
0
7
0
-110
0
0
0
-3
0
3
0
0
0
-2
0
-8
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
60
-1
-16
13
-59
3
4
0
57
-4
5
-11
25
0
-135
0
-52
0
-36
0
-45
0
-32
0
45
0
19
0
-46
0
3
0
-30
0
84
0
-152
0
-75
0
24
0
4
0
51
0
0
0
-86
0
3
0
-30
0
0
0
0
0
0
0
0
0
0
-2
-42
0
-23
-53
-4
8
7
0
-33
0
50
-2
-100
0
66
0
72
0
-31
9
129
0
-3
0
-42
0
-2
0
43
0
0
0
-56
0
-53
0
-16
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
-33
-51
31
0
-69
-57
-123
0
-5
-32
20
0
-16
-4
56
0
39
14
-18
0
-73
0
-41
0
-68
0
-72
0
11
0
0
0
-124
0
-40
0
34
0
-44
0
30
0
-9
0
0
0
0
0
-10
0
20
0
3
0
0
0
0
0
0
0
0
0
0
0
-20
36
-92
0
-39
17
-71
-2
-42
20
5
-1
83
0
-8
0
-59
-1
48
0
42
0
-6
0
2
0
-9
0
0
0
0
0
-3
0
-29
0
-33
0
26
0
10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
10
-89
52
-74
-19
39
-14
-43
-49
-1
-96
-37
59
3
-2
0
-71
-25
-47
0
-37
-27
-1
3
-80
0
47
0
53
0
0
-4
38
-1
-17
-2
-24
0
15
0
121
0
-4
0
17
0
0
0
67
0
-8
0
-5
0
0
0
14
0
0
0
0
0
0
-54
-48
26
-107
58
32
-8
67
61
55
-13
100
1
32
0
-1
1
16
0
55
0
-57
0
0
0
9
0
0
0
-10
0
0
0
-33
4
-9
0
-47
0
0
0
9
0
0
0
0
0
0
0
114
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-53
2
60
32
-112
19
-24
9
0
-65
29
0
-26
-5
23
15
0
-86
-44
-49
-8
27
1
0
0
-37
-1
-72
0
19
-8
-3
0
-139
45
-45
-5
2
-24
5
0
-32
0
46
0
106
0
-22
0
-36
-1
36
0
107
-3
3
0
-5
0
1
0
-5
0
4
-6
-68
15
9
-159
15
71
-42
0
-114
0
-118
-15
106
-14
-14
-1
-51
-43
41
-33
89
-46
91
0
-10
0
-62
0
-5
0
-8
0
-70
8
5
-1
-7
14
-37
0
-72
0
53
0
87
0
1
0
-53
0
77
0
19
0
35
0
0
0
-4
0
0
0
0
-138
15
-54
21
-3
-1
0
5
-79
-7
-100
9
-186
-5
38
-22
9
13
43
8
-114
-8
-24
53
6
-20
0
-7
72
-66
0
7
-43
33
-43
-32
-81
-4
-17
31
0
7
0
31
-5
78
0
2
-3
90
0
33
-11
22
0
-44
0
-17
0
5
0
7
0
0
10
-8
-94
-41
-23
-31
-55
-23
16
21
-56
5
-64
45
9
-104
-76
25
-22
46
-62
82
0
-62
-1
80
0
66
-1
160
0
0
-30
58
0
-22
-70
-5
-4
22
0
-4
0
0
0
17
0
0
-2
70
0
16
5
66
0
-2
0
-1
0
0
0
0
0
0
-10
0
-11
5
-124
-1
-27
-36
3
-23
-45
-30
-54
-3
0
-64
-19
12
-85
-14
-11
-15
-59
25
3
14
37
128
0
6
0
25
-32
-42
38
-49
-53
85
80
-32
3
-99
-1
-34
0
-52
0
2
-1
-1
6
108
0
50
0
-42
0
-60
0
-3
0
0
0
0
-20
-2
-28
-8
25
25
-7
-26
9
11
53
-86
8
20
0
74
-15
34
53
14
-81
99
-39
-5
0
52
0
58
0
-5
0
2
-6
22
-72
42
0
-43
4
-13
-4
-62
0
76
0
6
0
0
0
67
1
53
0
-36
0
0
0
1
0
0
0
0
0
0
-49
-9
-74
1
-62
-13
-1
29
-152
-10
-101
-43
32
54
9
-25
-93
-39
9
-46
-13
-9
41
17
-75
-59
9
-37
2
-27
0
0
-98
-61
-24
-33
61
-30
19
31
-23
80
0
98
2
-17
0
0
-19
89
-11
-10
-9
-58
0
0
0
0
0
0
0
0
0
0
-70
-16
-27
3
-79
-3
27
-174
-100
24
22
-46
-2
128
0
3
-15
33
-43
2
89
35
0
-24
5
54
0
-6
0
-20
0
0
-32
-44
61
-28
76
51
0
32
4
100
0
1
0
3
0
0
3
-24
-1
-24
0
50
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
-7
0
-32
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
-11
0
-5
0
-13
0
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
6
0
-16
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
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
-6
0
36
0
-5
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
-19
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
-17
0
-6
0
1
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
24
0
1
0
-19
0
0
0
0
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
0
9
0
-14
0
14
0
-1
0
1
0
0
0
-8
0
-27
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
8
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
-13
0
31
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
-15
0
0
0
0
0
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
-9
0
-5
0
0
0
11
0
3
0
6
0
0
0
-4
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
7
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
-2
16
0
2
0
11
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
13
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
-11
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
24
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
9
0
2
0
0
0
-1
0
0
0
-3
0
0
0
-13
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-39
0
-1
1
-43
0
-1
0
11
0
-10
0
-3
0
11
0
11
0
35
0
-47
0
-6
0
5
0
0
0
0
0
1
0
6
0
-4
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
10
0
57
0
68
1
15
0
-7
0
-1
0
7
0
0
0
-6
0
19
0
2
0
10
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
-15
3
12
6
-70
4
19
0
3
0
20
0
1
0
-1
0
31
0
56
1
30
0
-46
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
11
0
10
-4
-25
0
16
0
6
0
0
0
5
0
0
0
12
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
7
-3
-24
-1
-9
0
17
0
17
0
3
0
5
0
1
0
76
0
-47
0
0
0
5
0
-2
0
0
0
0
0
0
0
1
0
6
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
-16
-10
49
0
-27
0
-9
0
-25
0
17
0
1
0
0
0
-18
0
18
0
-11
0
0
0
-1
0
0
0
0
0
0
0
-32
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
122
17
76
-6
-15
1
-5
0
-20
0
-13
0
1
0
0
1
74
0
-3
0
-43
0
0
0
1
0
1
0
0
0
0
0
10
0
19
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
-14
-14
-1
3
-1
-2
0
-1
0
31
0
0
0
0
0
0
4
10
0
-7
1
-14
0
0
0
-17
0
0
0
0
0
0
0
22
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
50
0
-5
0
61
0
-26
0
7
0
69
-1
-8
0
-9
0
34
0
5
0
-9
0
1
0
6
0
1
0
-4
0
-2
0
9
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
-9
0
-14
0
-20
2
-29
0
6
0
15
0
26
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
-16
0
59
-1
7
1
-23
0
41
0
-17
1
43
0
-35
0
-5
0
-5
0
-15
0
-3
0
7
0
-1
0
0
0
8
0
2
0
6
0
-33
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
-15
1
50
0
1
0
-15
0
5
0
-10
0
9
0
46
0
-4
0
-8
0
0
0
0
0
0
0
0
0
0
0
14
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
7
-5
32
0
-22
-7
29
0
-32
-7
9
0
-22
0
-3
0
15
0
-53
0
11
0
-6
0
-1
0
-2
0
1
0
0
0
1
0
-9
0
-5
0
-9
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
-12
2
20
0
5
0
19
0
20
6
-27
0
4
0
0
0
-5
0
5
0
3
0
0
0
-2
0
0
0
0
0
0
0
13
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
126
-2
50
-15
-74
4
59
-2
23
2
-9
-2
-16
0
-7
2
4
-4
-24
0
-19
0
1
-1
5
0
-2
0
3
0
0
0
46
0
4
0
-17
0
4
0
18
0
0
0
0
0
0
0
6
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
5
29
3
5
-3
-31
0
14
-1
-7
-1
-43
0
-8
0
0
0
2
1
-26
0
-18
0
0
0
3
0
0
0
0
0
0
0
-23
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
-27
35
-54
-27
5
5
-52
0
8
-7
-51
3
26
-2
12
0
23
-9
-66
6
15
-8
-28
0
-98
0
4
0
9
0
7
0
-26
3
37
-1
-14
8
47
0
5
0
5
0
-2
0
7
0
-33
0
54
0
3
0
0
0
0
0
0
0
0
0
0
-2
40
4
24
-2
63
-66
41
0
-27
0
33
0
0
0
-5
0
-51
-1
26
1
37
4
7
0
17
0
2
0
-4
0
0
0
7
0
-30
0
24
0
-14
0
-1
0
1
0
-1
0
0
0
-4
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
29
64
-2
-18
-73
-30
15
107
-26
62
-33
1
-60
53
2
5
13
32
4
-50
-5
-40
-35
14
2
32
0
2
0
51
0
2
0
-1
23
-58
-26
35
-1
-1
0
-18
0
-5
0
-29
0
0
0
-3
0
0
0
62
0
0
0
-1
0
0
0
0
0
0
-11
-5
4
-111
68
18
-45
58
8
-7
-6
-37
-18
-45
0
-11
-10
-2
0
-7
-2
38
0
-2
0
49
0
-1
-1
16
0
0
-6
-79
0
10
-2
-9
-2
24
0
-20
0
-1
0
1
0
0
0
7
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-26
-15
-48
8
-52
19
7
-12
-14
8
0
47
5
-14
15
17
-2
-16
-16
44
14
40
13
15
0
56
8
-5
0
-7
0
0
14
-129
2
15
-3
30
1
35
0
-43
0
-16
0
2
0
2
0
36
2
11
0
-10
0
-2
0
0
0
0
0
0
0
0
2
-23
-1
-10
49
-23
22
-10
2
90
-1
-17
2
49
0
32
7
28
-5
-115
-8
-34
0
-20
0
8
0
8
0
0
0
0
-6
-40
10
-4
0
-6
1
-4
0
-20
0
-3
0
-1
0
0
1
-8
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
-62
11
2
-10
43
-8
52
65
-71
-75
-41
24
-15
71
1
4
-38
-21
55
-84
-49
-31
13
25
-6
-26
0
-5
0
6
0
0
-33
-14
-9
-64
22
22
1
-14
1
-53
0
1
2
-1
0
0
18
-24
0
25
0
-5
0
0
0
0
0
0
0
0
0
0
-22
21
-53
51
-13
-46
-19
-1
-4
-37
19
24
-17
45
0
1
15
31
-3
-38
2
51
0
3
-2
10
0
-1
0
0
0
0
3
-3
0
-23
14
60
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
161
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
216
118
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
229
131
-25
-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
142
166
-25
17
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
21
203
-5
26
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
183
136
-57
-14
-33
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
220
99
-36
12
113
50
-11
-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
170
143
79
46
31
47
0
17
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
4
98
-2
99
6
56
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
186
154
82
102
155
33
75
-5
110
101
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
194
9
12
-1
58
0
129
-3
52
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
152
6
10
59
89
-50
23
44
-27
-33
70
-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
137
0
136
0
35
0
25
0
53
0
-8
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
112
128
45
34
150
64
160
-20
16
-22
-122
-49
43
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
0
0
0
0
0
0
0
0
0
0
0
0
37
103
0
39
17
75
5
-76
-35
-5
19
-66
-6
-32
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
121
71
54
11
81
-61
-76
53
27
-70
16
-14
-80
46
-120
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
141
0
-44
6
30
0
-10
0
7
0
26
0
25
0
14
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
265
89
121
56
158
-48
-5
62
89
19
75
-49
27
-5
-27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
154
0
-25
0
123
0
27
0
32
0
33
0
56
0
-23
0
61
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
169
118
157
88
76
-43
-25
12
57
0
75
-71
1
-38
-18
-2
-21
-6
-94
-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
139
0
64
0
87
0
79
0
33
0
-6
0
-5
0
-27
0
-4
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
131
85
11
60
52
20
64
53
35
6
31
53
81
-9
1
5
74
0
57
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
26
-1
78
0
62
3
5
0
69
0
139
0
61
11
48
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
176
0
93
65
95
-30
-47
70
-28
71
61
95
64
53
83
14
59
-53
98
-20
68
-4
35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
77
0
10
0
57
0
35
0
96
0
45
0
-1
0
0
0
43
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
73
62
24
23
56
-42
-18
13
14
41
0
91
-27
54
-10
-4
-6
53
1
-16
-14
-25
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
129
0
26
0
100
0
124
0
60
0
0
0
70
0
36
0
68
0
57
0
-25
0
-20
0
50
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
79
9
11
1
45
5
108
4
-12
31
-43
-96
97
-2
26
-12
78
-23
-25
-37
-19
-6
43
16
9
-11
20
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
16
0
-71
0
26
0
14
0
10
0
2
0
46
0
-3
0
33
0
-4
0
13
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
46
106
20
88
25
13
3
44
-7
31
-10
-7
-7
12
-6
11
-5
-23
1
14
-19
-9
-2
-9
-20
54
0
25
-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
150
38
132
-63
100
9
-6
-130
81
-34
-90
-77
-10
-85
0
3
268
-46
0
-98
-1
-78
0
-14
21
-123
0
-54
0
6
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
205
132
37
24
7
-12
1
11
-11
62
-58
-43
-117
-73
13
-109
27
-1
-13
-19
-23
-26
1
-46
-116
8
125
-50
-167
3
-6
-70
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
110
171
0
57
3
94
0
-88
210
-43
1
-28
0
115
0
71
0
42
0
-33
0
83
0
-1
0
68
0
1
0
21
0
48
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
216
185
152
98
133
139
48
34
125
67
-33
-7
35
23
-54
-86
33
-36
5
18
80
12
-19
-53
-27
32
78
-53
-34
-57
-24
-5
100
82
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
37
163
-13
89
103
42
0
-20
2
118
1
24
0
-13
0
24
0
19
0
47
0
76
0
-23
0
45
0
55
0
18
0
18
2
79
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
132
247
51
214
60
97
-16
18
40
8
-133
-5
51
-37
43
112
-22
102
-20
78
14
106
-13
-10
-29
-63
32
-16
14
-37
33
-5
40
107
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
0
54
0
2
-7
58
0
-2
0
-14
0
5
0
85
0
-17
0
0
0
56
0
14
0
9
0
6
0
3
0
37
0
49
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
159
56
43
175
104
-58
93
3
53
-3
29
-49
-61
14
64
9
125
-25
109
-75
5
44
-34
-52
27
2
-44
14
5
3
-30
30
32
-23
10
39
-22
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
212
214
48
53
54
105
-1
46
91
15
0
53
-5
40
0
-16
30
-4
0
8
0
29
0
10
-1
103
0
6
0
-14
0
11
146
33
28
-42
-17
89
-20
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
125
187
80
83
55
62
24
90
67
106
23
39
-30
-35
-47
-33
100
50
-46
108
-38
39
5
53
84
103
-13
40
-16
11
-6
-34
183
157
21
-189
43
57
31
-42
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
44
0
-17
0
14
0
0
0
67
0
71
0
131
0
7
0
-14
0
-20
0
11
0
0
0
6
0
0
3
66
0
89
0
-32
0
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
76
124
3
54
19
58
46
-94
-4
103
-18
33
26
47
15
41
-58
56
-44
-4
-59
151
1
30
8
-20
9
23
8
-17
0
-36
0
61
-5
-64
-51
-49
-14
55
-6
-96
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-32
0
157
0
37
0
92
0
50
0
32
0
5
0
109
0
-3
0
89
0
19
0
99
0
-14
0
39
0
1
0
61
0
14
1
56
0
29
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
127
26
75
85
112
40
83
45
54
-82
28
36
-17
24
159
8
-36
24
55
12
60
11
-24
-38
41
21
25
-10
23
-4
-11
14
13
59
134
-4
-14
-72
82
51
18
-5
-72
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
2
0
9
0
2
0
3
0
50
0
4
0
25
0
-3
0
-1
0
4
0
16
0
-1
0
18
0
-4
0
-1
0
2
0
39
0
33
0
57
0
3
0
-44
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
-7
80
4
44
-23
51
-9
56
-4
-49
20
88
64
-21
-20
-14
24
-29
26
63
1
36
2
4
-1
2
14
4
-23
6
0
14
-34
-13
0
26
-2
40
-9
101
-16
46
1
14
-18
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
143
0
148
0
157
0
58
0
-26
0
22
0
18
0
14
0
84
0
13
0
14
0
17
0
62
0
-27
0
31
0
8
-3
-13
0
-22
0
-27
0
0
0
1
0
10
0
-7
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
125
173
-32
118
59
141
62
79
66
-5
22
95
5
41
-57
1
-44
45
-17
62
26
84
-5
62
-49
23
-6
13
17
5
0
-5
5
101
14
-23
-33
-32
-17
-12
71
10
-6
-4
-3
91
26
68
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
49
0
8
0
80
0
5
0
53
0
9
0
3
0
0
0
3
0
0
0
-9
0
1
0
15
0
1
0
24
0
0
0
24
0
3
0
109
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
36
51
25
-1
-1
27
1
48
27
49
-1
29
-19
34
33
-35
6
27
2
14
-5
-23
-6
7
5
23
0
1
-9
36
0
-11
46
86
0
-17
0
-48
0
24
11
2
1
27
0
-5
0
19
-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
86
0
-10
0
36
0
-14
0
52
0
52
0
20
0
34
0
5
0
0
0
3
0
2
0
44
0
-7
0
57
0
4
0
36
0
21
0
109
0
-13
0
-1
0
23
0
-27
0
-15
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
141
-4
53
48
138
30
13
12
101
15
-71
24
111
3
-45
40
84
11
-14
-50
-8
-1
6
-14
25
-21
45
7
36
9
25
21
80
7
-30
31
51
2
35
-82
48
15
14
11
82
13
3
-47
-110
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
15
0
-5
0
26
0
1
0
7
0
0
0
2
0
0
0
-15
0
0
0
13
0
0
0
5
0
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
-36
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
11
51
3
-18
-5
28
5
17
-26
-18
-1
30
-17
4
0
4
15
15
5
-6
4
-14
0
10
15
7
0
-1
1
2
-1
-1
13
-9
0
17
4
5
0
-11
11
15
-1
10
0
29
0
-3
13
46
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
83
0
11
0
62
0
-48
0
77
0
-8
0
-5
0
-5
0
62
0
1
0
-15
0
10
0
-2
0
0
0
13
0
5
0
-35
0
-13
0
45
0
33
0
18
0
-1
0
53
0
11
0
20
0
0
0
11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
137
9
39
3
54
-14
5
-7
69
5
-15
-15
65
19
15
31
41
-1
-21
-36
49
7
-10
19
14
0
0
11
35
0
-6
-42
2
2
21
-66
80
14
-19
-79
15
1
37
-44
82
-1
7
39
88
0
23
-25
2
1
-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
-3
0
0
0
26
0
0
0
6
0
0
0
-24
0
0
0
3
0
0
0
43
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
11
0
4
1
0
5
33
-1
25
0
4
-7
32
0
-10
1
-11
0
1
-1
1
0
17
2
-13
0
1
0
11
0
14
-1
-11
0
15
-8
-11
-5
24
0
-13
0
0
1
1
0
0
0
23
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
15
0
-17
0
-22
0
-5
0
-11
0
4
0
11
0
3
0
23
0
0
0
10
0
0
0
33
0
-1
0
6
0
-1
0
33
0
0
0
19
0
-2
0
26
0
0
0
11
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
22
-18
11
6
7
66
0
52
-3
-14
8
-8
2
35
0
17
7
56
29
3
-8
-1
0
-8
-6
15
-1
8
-6
29
0
1
0
18
-1
21
-14
-18
11
3
13
-6
2
6
-5
-5
1
-21
17
7
0
3
0
18
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-1
17
1
17
-1
7
1
11
3
-3
-1
-6
0
-1
0
17
0
-8
0
-2
0
-5
0
0
0
-6
0
0
-3
29
2
5
2
41
3
4
-1
-1
0
4
-1
-7
0
2
0
-31
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
82
154
2
-63
-5
-49
0
-82
43
28
0
-2
-13
-59
0
-87
0
14
0
-59
2
-45
0
-8
0
-9
0
-25
0
24
0
-19
299
72
0
1
-1
-26
0
-55
-5
77
0
50
0
-8
0
-8
0
-51
0
-9
0
-24
0
-2
0
22
0
-19
0
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
230
172
86
76
121
122
-122
48
129
75
-11
14
55
16
58
-193
26
26
68
81
74
8
14
-126
48
-8
-25
-34
-138
45
-11
-78
171
61
28
104
66
-46
-18
-80
-9
-66
-123
-66
-53
-5
-93
-60
-33
21
-1
-8
-75
91
15
-5
-96
-101
-10
-102
-23
-79
15
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
197
0
79
0
85
0
-7
0
18
0
27
0
7
0
-49
0
63
0
0
0
23
0
16
0
-18
0
-2
0
-10
0
-14
0
138
0
97
0
46
0
-20
0
0
0
-7
0
51
0
1
0
76
0
0
0
8
0
2
0
-10
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
98
193
20
103
-4
130
10
80
52
38
15
40
52
28
25
-11
46
-5
13
76
-23
83
-9
63
53
-36
-4
6
-7
-53
0
-24
166
102
51
-32
110
27
-29
-58
25
-32
6
6
8
-53
-5
0
-20
-26
0
-21
-66
21
0
3
-18
-76
0
2
-21
6
0
-3
72
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
1
232
1
58
0
135
15
-19
-4
-4
0
35
0
-71
0
15
0
-52
0
-60
0
-5
0
-3
0
-29
0
36
0
-11
0
-1
-1
137
0
86
0
100
0
-47
-20
3
0
-34
0
-31
0
-33
0
-170
0
51
0
-14
0
-8
0
14
0
-6
0
-33
0
-2
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
131
150
99
55
83
89
-83
36
82
68
-56
35
-4
5
39
83
62
85
23
-4
-101
13
14
10
43
52
-78
-25
25
-19
8
25
109
90
10
16
144
20
-11
-7
121
62
-57
3
-5
2
-32
-49
2
30
-5
12
43
2
1
3
-9
-44
-10
35
5
20
-1
6
89
23
-90
42
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
71
0
-23
0
68
0
-4
0
48
0
21
0
-39
0
0
0
47
0
2
0
-4
0
3
0
6
0
-1
0
0
0
0
0
2
0
1
0
111
0
-5
0
29
0
-2
0
10
0
-11
0
25
0
0
0
-6
0
0
0
-20
0
0
0
1
0
0
0
-68
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
92
166
10
75
119
24
-5
31
0
131
26
75
31
-33
54
43
5
90
-6
64
17
15
2
-50
23
-12
-3
-24
2
6
-2
-15
47
64
-60
124
45
21
5
33
7
-13
-4
10
14
10
1
-23
24
-12
-2
8
6
-11
0
-11
52
45
0
11
-7
-45
0
-24
13
29
0
25
-26
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
96
0
-2
0
16
0
47
0
37
0
37
0
-13
0
30
2
-57
0
22
0
-34
0
27
0
22
0
6
0
-9
0
5
0
94
0
8
0
-7
0
22
0
49
0
4
0
0
0
-14
0
107
0
-8
0
-22
0
-1
0
54
0
6
0
-6
0
0
0
-54
0
-4
0
26
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
148
164
1
40
1
80
-47
94
35
38
74
1
36
3
5
-21
53
93
-55
81
43
39
-21
72
-5
49
-8
11
13
-85
-19
-17
81
103
-16
135
81
51
-8
-79
-38
158
-23
-76
25
24
-3
-18
62
31
13
81
13
-42
5
-33
3
18
-6
-11
-3
20
0
20
-62
24
-26
100
-4
40
3
-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
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
-5
0
-8
0
0
0
-24
0
4
0
11
0
0
0
20
0
5
0
0
0
0
0
-20
0
0
0
33
0
1
0
2
0
-3
0
55
0
2
0
-10
0
-1
0
10
0
1
0
13
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
34
46
0
72
47
47
1
14
-18
7
2
26
7
-16
-3
-37
-15
17
1
-11
-4
9
3
2
-19
-14
0
2
-10
-51
1
2
7
77
0
14
37
62
-2
56
13
17
-3
5
-8
3
-3
-23
7
21
0
-4
-3
14
-5
-2
9
0
0
3
0
-5
0
2
2
-5
0
-5
-3
-17
-2
37
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
63
0
96
0
-1
0
-10
0
19
0
-21
0
19
0
14
0
0
0
5
0
2
0
34
0
7
0
4
0
1
0
73
0
-3
0
52
0
3
0
48
0
13
0
-1
0
-2
0
16
0
5
0
-11
0
-1
0
21
0
-1
0
7
0
0
0
5
0
3
0
24
0
-11
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
0
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
16
46
-4
-8
24
48
-3
-67
-17
25
-10
-102
10
17
-9
88
0
14
-3
9
-18
-72
-7
35
-15
7
-6
-26
1
7
0
71
-24
138
-9
-10
6
79
-53
-30
47
24
-9
-17
13
2
59
-3
16
53
2
32
6
37
9
29
0
13
-1
-27
0
-3
13
-9
0
43
15
49
-3
72
-14
54
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-1
0
14
0
-3
0
18
0
0
0
2
0
0
0
-7
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
15
0
0
0
11
0
0
0
14
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
10
0
13
0
-9
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
15
18
-1
45
25
-9
1
14
26
13
0
-1
7
5
0
13
2
-6
13
-45
10
-21
8
0
18
-14
-3
17
-4
-7
0
-8
-1
-4
-1
66
36
-35
0
8
11
21
0
2
-10
-24
0
20
-1
29
-1
23
1
5
0
-4
-25
20
0
-4
3
-1
0
0
1
33
0
-2
0
1
5
14
0
-8
0
-9
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
18
0
5
0
-19
0
41
0
-17
0
-64
0
3
0
0
0
25
0
0
0
-80
0
0
0
-37
0
-10
0
21
0
-3
0
90
0
24
0
9
0
0
0
20
0
-20
0
-17
0
0
0
0
0
0
0
26
0
0
0
-18
0
1
0
24
0
1
0
6
0
-11
0
45
0
-2
0
-21
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
157
77
31
-22
110
35
84
35
117
17
34
-22
67
-9
-31
-5
43
-4
43
-4
-47
-7
-30
-18
39
-1
-76
-20
-5
-1
32
11
74
6
-33
32
-37
0
-5
24
42
7
23
-25
5
-59
16
-21
-3
-1
-26
-20
8
1
23
-25
-43
3
7
5
3
0
-32
52
-20
4
76
4
52
2
103
29
74
1
45
-5
-9
-2
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
0
0
0
0
0
5
0
0
0
-4
0
4
0
-7
0
1
0
32
0
15
0
0
0
0
0
0
0
-1
0
-1
0
0
0
1
0
0
0
77
0
-2
0
46
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
43
1
36
1
28
13
15
-14
53
0
11
-6
43
0
-18
-1
-7
0
3
13
-24
0
-1
1
37
0
-1
-3
17
0
-3
4
73
-2
-36
2
-29
-3
-13
7
4
0
-8
-2
18
0
-21
0
3
0
14
-5
-3
0
0
0
-1
0
0
-2
-15
0
0
0
-23
0
7
1
61
0
2
11
-15
0
-14
0
11
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
18
0
8
0
-14
0
-2
0
0
0
17
0
19
0
4
0
-6
0
0
0
25
0
0
0
5
0
1
0
-2
0
0
0
37
0
-10
0
19
0
10
0
-25
0
3
0
5
0
-3
0
58
0
0
0
3
0
-1
0
4
0
0
0
-5
0
0
0
3
0
11
0
-18
0
3
0
-51
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
9
-5
21
74
43
10
26
-21
16
30
-7
2
-2
36
10
-5
18
-15
-4
11
2
-2
0
10
9
-5
-23
-2
1
5
0
8
6
21
14
21
14
27
3
6
5
6
-14
-8
-29
-56
-6
17
15
57
0
-18
3
-8
0
-27
20
-72
-3
35
0
-9
0
0
23
46
4
-8
-2
29
5
4
5
22
0
11
5
-6
0
-23
1
47
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
9
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
15
2
-6
0
1
0
15
-17
16
1
13
2
44
0
10
4
-9
0
-4
0
-13
0
0
4
3
0
-7
-1
-19
0
0
-4
18
-3
29
0
23
0
-7
10
17
0
-9
-15
5
0
21
3
23
0
-6
0
-7
0
0
-1
19
0
-1
0
1
0
0
1
25
3
4
0
8
0
-6
0
-13
0
3
0
-26
0
0
0
-13
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
-45
0
21
0
-16
0
1
0
0
0
2
0
21
0
-1
0
-1
0
8
0
-1
0
2
0
0
0
7
0
-1
0
26
0
2
0
20
0
-9
0
44
0
0
0
8
0
4
0
16
0
0
0
-6
0
1
0
2
0
0
0
-1
0
0
0
11
0
-13
0
14
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
18
43
-2
-34
5
24
4
8
17
39
2
16
6
-29
0
14
-1
-37
5
0
-1
-9
1
-15
-4
10
0
2
0
6
0
4
-5
-45
6
7
-8
-35
17
20
-5
72
0
-1
6
10
-1
17
33
19
3
17
-9
45
0
-2
-3
16
0
0
-1
-16
0
0
-1
76
-1
39
-5
64
2
5
-5
33
0
0
1
3
1
-54
2
-17
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
11
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
-43
0
2
0
8
0
0
0
11
0
0
-1
9
0
5
0
-6
0
0
1
29
0
0
-3
1
0
0
0
3
0
0
0
-9
0
-5
0
-8
0
-1
0
-11
0
-6
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
29
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
10
0
0
0
1
0
0
0
13
0
0
0
5
0
0
0
10
0
0
0
-1
0
1
0
4
0
0
0
0
0
0
0
14
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
29
-34
-1
34
1
-37
19
-14
1
-13
1
-7
-5
-7
7
4
1
5
-5
2
0
2
14
13
0
2
2
-3
0
2
13
20
2
14
-1
37
-3
-2
36
9
0
-10
2
-3
0
-7
13
5
-6
-20
-6
-35
0
2
0
-21
0
2
0
8
0
0
-3
14
-1
5
2
8
-1
11
1
-25
0
3
0
21
0
-3
-1
25
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
-11
0
6
0
-1
-3
17
0
0
2
2
0
0
0
-1
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
-4
17
-1
6
0
14
0
9
10
-1
0
0
0
3
0
0
0
-13
0
-3
0
7
0
0
0
-2
0
0
0
-1
0
0
0
6
0
-9
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
91
150
0
17
2
71
0
27
3
125
0
45
0
30
0
-9
-1
119
0
59
0
27
0
-25
0
-33
0
-49
0
4
0
3
10
31
0
-6
5
16
0
0
5
51
0
-4
0
-32
0
0
0
97
0
0
0
1
0
0
0
59
0
0
0
3
0
0
-10
-48
0
4
0
35
0
1
0
-71
0
-2
0
-14
0
1
0
39
0
-1
0
-14
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
145
113
144
257
53
70
5
62
103
7
16
56
53
93
25
47
5
103
57
63
12
98
41
9
53
75
-2
-42
43
20
15
-9
103
31
33
68
-1
43
25
31
2
21
11
79
-50
19
10
34
-7
-16
4
-5
59
56
0
-1
-19
-5
-3
-10
-3
-26
0
-3
20
7
6
18
1
6
5
-33
-87
-17
4
-79
18
-48
0
-15
-104
-103
23
9
-26
-73
0
1
6
-4
0
0
2
1
0
-5
147
0
0
0
0
0
0
0
0
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
0
-13
0
-5
0
35
0
4
0
-16
0
-2
0
34
0
0
0
14
0
-1
0
14
0
0
0
51
0
8
0
-19
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
59
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
25
0
64
13
-12
-4
71
45
-3
1
14
2
9
-2
7
-1
64
-8
-26
10
4
1
48
-4
43
2
2
31
-15
0
6
2
94
0
10
-1
5
-2
-36
-3
21
1
25
-3
22
2
2
-1
47
0
0
2
-37
0
-1
-1
27
0
-1
0
-7
0
1
-5
-5
0
85
1
-5
0
44
-1
-4
0
-1
4
-43
0
0
0
1
0
-2
2
-29
0
1
1
-5
0
0
0
-3
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
9
0
32
0
29
0
102
0
56
0
-13
0
47
0
-8
0
-19
0
-8
0
53
0
6
0
10
0
13
0
20
0
0
0
31
0
-2
0
-17
0
5
0
48
0
5
0
13
0
-1
0
11
0
4
0
1
0
0
0
10
0
1
0
2
0
0
0
-28
0
3
0
6
0
-2
0
-33
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-7
0
0
0
3
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
-5
117
46
81
-20
77
-7
54
-32
14
-9
51
44
23
9
24
9
1
27
80
69
52
8
111
15
26
-8
-5
-18
-6
1
-3
-1
-18
-32
2
54
130
4
73
-39
37
-7
30
-18
8
0
-18
4
70
-2
44
0
47
0
0
15
17
-5
24
3
-8
1
-4
1
40
14
45
-43
-18
-1
-48
-20
43
1
-73
8
-49
0
-15
6
-33
0
27
-3
-45
0
0
-7
-44
0
-10
-2
6
0
1
4
14
0
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
44
0
1
0
0
0
3
0
-9
0
-3
0
33
0
0
0
4
0
1
0
6
0
6
0
10
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
-32
1
32
4
48
1
14
-17
17
5
26
11
86
-2
46
-39
8
-1
18
21
7
1
-13
-24
-5
-1
16
15
14
0
0
0
50
-8
17
0
24
0
14
-3
0
-1
-20
-1
24
0
2
1
37
0
45
2
29
0
0
0
-32
0
7
0
0
0
0
0
51
0
-3
-3
49
0
-17
0
-3
0
0
0
-18
0
-29
0
6
0
4
0
-2
0
4
-8
8
0
0
0
0
0
0
-1
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
16
0
-3
0
30
0
32
0
45
0
-13
0
8
0
-14
0
-14
0
0
0
33
0
11
0
31
0
-1
0
-10
0
0
0
17
0
1
0
31
0
2
0
-7
0
0
0
9
0
0
0
34
0
0
0
3
0
0
0
2
0
0
0
-1
0
0
0
7
0
0
0
-27
0
1
0
0
0
0
0
-5
0
10
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
16
38
7
47
6
36
11
24
33
58
1
14
5
5
17
-25
31
-9
-3
-6
-7
53
8
41
3
-11
5
-8
33
32
21
-3
-14
43
1
33
27
59
0
43
58
14
-3
10
-6
-5
0
19
19
8
-2
10
-6
41
0
-3
0
-6
0
-2
0
-25
0
0
11
5
0
-5
29
30
-4
-3
18
10
0
17
-7
-47
0
-15
-7
5
-1
-2
1
-51
0
1
-8
0
0
0
0
-36
0
0
-6
52
0
0
1
15
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
1
0
0
0
-1
0
0
0
21
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
11
0
21
-1
9
0
-2
2
0
0
1
0
3
0
3
2
3
0
13
0
-4
0
0
0
2
0
0
0
-2
0
0
1
-3
0
34
0
0
0
0
-6
-1
0
2
0
-2
0
0
0
-9
0
3
0
7
0
0
0
0
0
0
0
25
0
3
1
7
0
-13
0
3
0
0
0
11
0
0
0
-11
0
0
0
-15
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
-19
0
-2
0
3
0
25
0
0
0
2
0
0
0
17
0
1
0
1
0
0
0
4
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
10
0
1
0
26
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
44
-2
15
-24
-24
3
-6
-1
44
0
9
1
-22
0
-9
-11
74
2
1
16
43
1
2
-16
22
-1
18
3
29
0
-5
5
83
0
15
2
39
0
-15
5
21
0
6
-3
-21
0
-1
5
13
2
3
0
-15
0
-3
-6
-15
0
-1
1
17
0
0
0
-13
1
0
-5
29
2
-4
-10
10
0
14
0
-26
0
-2
-3
5
-1
9
4
-31
0
3
0
-10
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
9
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
20
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
-14
0
0
0
0
0
0
0
-9
0
0
0
1
0
0
0
-18
0
0
0
4
0
1
-5
16
0
0
0
2
0
0
0
26
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
14
0
0
0
17
0
-1
0
17
0
3
0
36
0
7
0
21
0
0
0
46
0
0
0
23
0
0
0
0
0
0
0
22
0
0
0
-36
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
35
0
0
0
1
0
0
0
13
0
0
0
15
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
-15
-39
0
32
1
27
0
32
1
9
-6
13
3
-14
6
-32
7
13
0
11
9
-43
0
25
-19
-14
0
3
0
3
0
8
4
4
4
20
13
-4
-2
23
-19
28
-6
-3
1
0
2
0
0
-1
0
0
2
15
0
-31
-11
9
-1
0
0
0
0
0
0
-11
0
-6
0
-22
1
18
-10
-15
0
6
-2
47
0
5
3
-2
0
0
0
23
0
1
1
6
5
0
0
-1
0
0
23
29
0
4
0
-17
0
3
0
18
0
0
0
11
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-1
0
0
3
3
0
0
-3
7
0
0
1
18
0
1
0
-4
0
0
1
0
0
0
0
0
0
0
0
11
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
-52
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
9
0
0
0
-3
0
0
0
14
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
13
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
21
0
10
9
13
1
26
0
-20
1
-21
-4
3
0
-1
0
9
0
0
-1
13
0
-3
-1
-6
0
2
6
13
1
16
0
1
0
1
6
29
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
9
0
4
0
-2
-2
-15
0
-6
0
13
0
1
2
-5
0
0
0
-2
0
0
-1
-1
0
0
0
-2
0
0
0
9
0
0
0
0
0
1
0
9
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
18
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
-46
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
14
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
19
0
-4
13
9
0
-3
-2
2
-1
0
1
17
0
5
0
2
0
0
32
13
0
5
0
18
0
0
0
-2
0
0
1
3
0
0
0
-8
0
-7
0
11
0
0
0
1
0
0
0
-4
0
0
0
-10
0
0
0
10
0
0
0
0
0
0
1
18
0
0
0
8
0
-2
-1
31
0
0
0
-8
0
0
4
-9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
9
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
17
0
5
0
-1
2
-7
0
0
0
2
0
-1
-2
-3
0
0
0
-4
0
0
0
9
0
0
0
0
0
0
1
-2
0
-2
0
1
0
5
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
7
-2
0
0
2
0
0
-1
13
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
136
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-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
141
61
18
-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
37
0
37
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
142
146
39
56
72
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
53
46
5
-100
27
-45
-1
-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
104
97
-37
-52
6
29
-7
-68
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
-13
188
0
-52
2
73
0
38
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
173
163
199
-3
57
62
13
4
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
80
0
-32
11
28
0
-13
0
2
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
178
140
111
45
145
63
34
13
57
64
19
37
-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
159
0
65
0
-4
0
42
0
29
0
39
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
141
141
84
14
26
97
-4
45
-4
72
-100
-1
72
-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
-36
67
0
-30
-9
-41
4
-73
10
-59
7
-156
0
-62
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
152
108
-51
-24
56
9
-57
-41
45
-1
82
-40
-12
-30
-15
12
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
208
0
7
1
43
0
7
0
2
0
22
0
18
0
-62
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
176
190
14
19
121
96
-93
46
231
64
-124
117
-24
-39
-11
1
118
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
-1
102
0
6
0
113
0
-34
0
-17
0
41
0
24
0
-23
-7
48
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
131
80
15
184
100
50
-23
62
51
57
13
-34
6
-91
-79
67
43
32
-92
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
75
0
29
0
-9
0
19
0
8
0
-37
0
36
0
9
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
224
161
67
95
53
119
88
28
128
74
109
17
5
42
43
19
172
7
-51
49
53
-6
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
132
0
49
-2
95
0
-24
-4
-36
0
92
0
49
0
9
13
75
0
-13
-4
-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
262
161
72
0
141
67
118
35
32
60
-10
64
-15
28
37
41
-14
47
49
111
71
7
19
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
72
0
63
0
25
0
99
0
104
0
114
0
10
0
25
0
110
0
-18
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
171
181
88
56
18
38
-11
126
44
166
17
64
37
35
-17
-31
-32
71
43
70
-10
32
15
-34
-60
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
4
248
0
39
0
115
0
120
0
110
0
43
0
42
0
91
0
53
0
-37
0
54
0
-26
0
83
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
174
29
63
92
147
86
36
42
92
76
-9
89
9
22
-12
-14
36
14
9
-22
-51
47
82
-44
-35
-15
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
108
0
81
0
63
0
3
0
75
0
32
0
104
0
56
0
66
0
14
0
75
0
35
0
-5
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
49
108
-2
99
32
132
43
24
21
84
-13
65
98
50
21
-43
58
-2
53
-41
16
0
55
29
-4
13
-29
53
-78
4
-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
71
30
3
60
6
-51
2
-36
22
35
-1
-10
-2
-122
0
-92
-13
-117
0
-171
0
-38
0
-103
9
-92
0
-130
0
-55
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
125
50
-14
11
79
24
-38
-24
113
14
-55
-37
7
-14
21
-44
45
27
12
-134
-30
-11
-60
-50
-94
-89
29
-77
-91
-32
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
92
0
-1
0
154
0
24
4
-46
0
-64
0
28
0
40
0
-15
0
-12
0
-38
0
-21
0
-43
0
27
0
67
0
-14
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
98
148
11
-36
119
69
70
86
28
57
31
30
7
71
1
-15
-2
42
33
23
32
23
92
72
-53
4
81
-24
-74
-58
-47
63
-3
14
-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
-17
122
0
140
-11
58
0
-2
5
44
0
-19
0
-33
0
42
0
100
0
64
0
-18
0
-90
0
-14
0
13
0
18
0
1
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
169
125
43
-65
95
55
148
48
150
85
69
9
68
81
-31
-21
115
61
15
54
52
13
14
50
11
21
-86
-36
-18
-5
-8
100
66
30
-46
-6
-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
93
0
62
0
91
0
74
-2
148
0
-5
0
75
0
-13
0
178
0
-14
0
-20
0
99
0
3
0
-28
0
27
0
-5
0
45
0
-17
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
151
87
184
63
159
41
62
48
111
49
-19
-1
27
100
-74
103
99
91
-5
87
26
21
26
81
-10
25
62
-32
-67
-20
-31
8
59
31
-18
59
24
59
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
10
179
1
-33
-23
51
0
0
-24
-59
0
142
-1
35
0
105
14
11
0
-52
1
20
0
3
-2
108
0
40
0
53
0
34
37
76
-8
-48
-8
-79
-4
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
216
145
24
41
131
109
44
79
71
49
-7
61
-10
21
77
-7
119
102
-94
9
63
70
16
3
-67
20
-84
99
27
49
2
21
44
12
56
53
64
13
70
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
18
0
53
0
-15
0
170
0
-14
0
61
0
57
0
65
0
31
0
49
0
-3
0
43
0
21
0
65
0
-7
0
-14
0
21
0
-30
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
0
0
0
0
0
0
0
0
0
0
0
0
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
217
-8
46
115
74
84
15
77
79
-68
115
22
9
16
-3
11
69
5
-6
60
47
50
10
-18
-72
46
-21
-23
53
-59
36
121
116
-4
19
-14
-11
-25
126
-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
147
0
50
0
64
0
67
0
76
0
88
0
-27
0
31
0
119
0
-22
0
72
0
25
0
8
0
-56
0
-25
0
51
0
34
0
-4
0
78
0
52
0
-5
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
259
208
52
27
181
108
90
33
84
41
21
53
1
67
41
-5
115
114
93
66
5
50
4
82
48
-2
52
48
-11
-49
-108
42
114
130
85
-78
66
68
-93
64
-57
0
-32
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
12
0
14
0
21
0
21
0
86
0
-1
0
-30
0
5
0
-52
0
45
0
53
0
34
0
33
0
18
0
-28
0
-25
0
62
0
51
0
98
0
-5
0
-54
0
-1
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
63
157
78
47
59
56
-51
93
117
68
-4
72
-5
3
-33
122
4
-3
92
25
40
18
16
6
96
32
-34
74
-110
-89
-22
-30
-27
-24
-18
-76
-27
127
-7
70
-37
22
-2
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
0
-3
112
0
71
0
14
0
62
0
104
0
13
0
54
0
23
0
27
0
12
0
-24
0
11
0
101
0
-51
0
93
0
25
0
163
0
5
0
-49
0
-87
0
-10
0
22
0
23
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
159
167
105
35
102
52
73
24
44
110
148
90
147
61
-46
26
80
134
-1
109
67
109
-75
14
78
15
-32
-2
59
-51
22
101
258
61
99
53
-45
58
22
66
76
-56
31
81
48
58
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
78
0
-5
0
91
0
-6
0
83
0
-17
0
14
0
-1
0
125
0
-1
0
63
0
5
0
53
0
-14
0
16
0
0
0
9
0
3
0
66
0
0
0
-39
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
0
0
0
0
0
0
0
0
0
0
0
0
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
274
7
66
26
26
44
43
104
105
-15
-13
42
0
51
7
-43
26
-1
47
86
9
-5
27
1
-83
-2
2
16
19
17
-20
56
136
0
14
-3
-52
-3
-43
5
-93
4
28
23
-61
-1
47
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
78
0
6
0
101
0
51
0
148
0
28
0
94
0
135
0
-7
0
65
0
-39
0
-46
0
135
0
-8
0
156
0
-29
0
-39
0
34
0
157
0
-5
0
7
0
5
0
-8
0
-25
0
-78
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
196
-35
51
102
234
144
57
130
107
6
9
-62
15
129
-59
18
125
48
18
-88
102
44
32
3
24
-42
58
45
27
-3
39
78
124
39
25
18
64
1
89
-63
25
-41
65
-14
-72
36
28
25
-32
-46
60
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
48
0
33
0
52
0
58
0
-24
0
6
0
-22
0
21
0
-5
0
0
0
78
0
8
0
-43
0
11
0
-18
0
0
0
-8
0
0
0
-14
0
1
0
71
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
57
147
8
28
80
97
22
14
48
-7
8
36
15
51
6
2
104
47
24
41
96
52
-21
79
70
-14
-25
9
41
35
4
-3
-23
70
0
38
8
-43
0
-33
17
-74
-6
-49
3
145
0
-122
31
-48
6
1
-19
-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
180
0
86
0
72
0
-19
0
139
0
13
0
40
0
72
0
89
0
56
0
85
0
90
0
9
0
80
0
66
0
58
0
139
0
-60
0
94
0
102
0
74
0
23
0
133
0
66
0
29
0
-22
0
-14
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
86
128
28
76
15
111
118
102
116
164
5
-73
-16
18
93
114
89
97
16
-14
6
59
-13
108
44
19
-9
121
-4
9
9
32
62
178
27
-51
15
119
-27
43
-18
-1
8
-19
-38
51
63
-25
44
81
23
118
-44
42
10
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
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
45
0
-14
0
-1
0
35
0
4
0
39
0
-3
0
34
0
-23
0
22
0
0
0
31
0
-4
0
45
0
0
0
32
0
-1
0
33
0
0
0
-19
0
0
0
-16
0
2
0
-10
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
71
104
4
94
95
110
46
93
72
-10
2
100
93
-8
8
-5
20
-43
-7
81
80
51
33
59
24
28
0
21
-59
14
5
-12
-14
42
0
-6
-7
87
-16
152
45
-163
0
-7
5
-3
0
-7
11
-25
0
43
3
-99
0
-43
-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
63
0
61
0
74
0
31
0
109
0
26
0
66
0
23
0
145
0
8
0
86
0
-4
0
72
0
33
0
9
0
-36
0
67
0
23
0
9
0
33
0
45
0
9
0
40
0
1
0
92
0
7
0
13
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
77
182
109
15
-20
-17
-56
27
-33
-14
75
43
90
119
30
47
93
-30
59
89
106
52
73
22
22
1
-18
33
40
76
48
-41
73
13
-40
74
15
-134
32
14
-28
-14
-23
-14
-1
27
14
-2
-33
4
5
60
0
9
-19
39
5
-9
10
58
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
73
0
5
0
74
0
-17
0
82
0
0
0
9
0
3
0
17
0
4
0
-11
0
8
0
8
0
0
0
-48
0
2
0
3
0
0
0
-18
0
-1
0
24
0
0
0
1
0
0
0
-24
0
-1
0
-25
0
0
0
31
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
1
-50
69
5
34
18
10
5
33
7
47
-13
-85
5
-36
-1
140
49
-23
4
123
56
7
24
15
24
28
2
5
19
46
2
74
13
32
4
27
15
8
4
54
-35
43
-3
-61
41
-98
0
-39
-5
36
0
-59
-39
79
-2
-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
5
54
0
-46
-1
40
0
-2
-1
19
0
-77
-2
-41
0
-49
0
23
0
-56
0
10
0
-61
0
-29
0
-66
0
-62
0
-60
13
-45
0
-86
0
-36
0
-70
-3
-80
0
5
0
-72
0
57
0
-12
0
-65
0
-37
0
-15
0
-66
0
-81
0
28
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
125
19
-10
-19
9
-17
-22
178
28
-112
-85
34
-22
-19
-13
113
64
-24
-12
68
-64
42
-84
101
-54
-78
12
-82
-52
-32
-103
41
36
53
-22
23
59
90
-92
-21
22
-175
-34
-139
-71
-101
-98
-23
-41
6
-32
-111
-100
51
-107
-69
-62
-34
-20
-67
-159
-17
-122
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
53
0
140
0
128
0
97
0
14
0
11
0
43
0
73
0
-3
0
22
0
18
0
-110
0
-45
0
71
0
6
0
154
0
53
0
51
0
7
0
13
0
-14
0
-28
0
-17
0
50
0
-2
0
33
0
5
0
6
0
0
0
43
0
-7
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
128
177
23
172
131
137
77
137
58
175
4
6
89
101
31
21
-109
130
-2
23
89
26
-33
48
48
59
-4
-64
-88
71
4
11
134
110
30
48
69
8
14
-131
-39
39
9
-74
11
-21
-6
-43
17
-1
0
38
-89
25
-2
-10
-33
-140
3
-12
14
-33
1
70
172
62
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
36
14
-26
0
24
0
32
0
18
0
-42
0
64
0
-22
0
0
0
75
0
26
0
-53
0
-6
0
-16
0
77
0
70
-2
185
0
-6
-6
13
0
-81
0
34
0
54
0
-76
0
-55
0
-33
0
-39
0
92
0
-44
0
-33
0
-20
0
62
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
137
175
72
24
141
89
-20
52
138
114
57
23
114
7
112
4
126
80
4
-36
43
26
85
-27
-38
85
14
-38
-50
-96
49
25
27
102
60
59
85
80
0
-5
5
12
-54
-17
-93
-70
-53
-84
33
33
-131
-32
13
47
-5
-11
-11
-32
-25
45
-79
-37
-19
-9
81
17
-24
91
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
0
57
0
26
0
46
0
10
0
-6
0
5
0
7
0
-1
0
95
0
24
0
-30
0
63
0
0
0
13
0
-68
0
-3
0
55
0
-13
0
119
0
-6
0
-5
0
-16
0
60
0
0
0
-34
0
0
0
-23
0
1
0
6
0
-4
0
-50
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
186
135
44
139
168
22
-4
18
24
51
4
33
-7
-42
43
85
88
147
0
52
100
27
5
-3
-72
41
-53
-27
62
-33
-17
67
133
129
-39
24
8
-31
2
42
-6
49
-5
-22
37
-51
2
29
12
38
-25
69
34
-107
-3
-37
-42
-73
3
69
-7
-102
-4
-103
18
14
1
-12
-4
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
61
0
-7
0
64
0
18
0
-19
0
72
0
105
0
70
7
97
0
80
0
17
0
7
0
125
0
44
0
17
0
-45
0
88
0
23
0
10
0
15
0
-19
0
-50
0
4
0
-15
0
16
0
-14
0
28
0
-81
0
-10
0
27
0
-70
0
-14
0
88
0
-71
0
97
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
198
128
74
80
149
43
-96
-7
152
115
81
76
28
-14
3
6
74
81
73
-1
65
0
21
49
65
38
-24
47
18
5
-91
13
193
75
-11
85
27
-22
9
14
-72
47
-72
-33
14
80
-22
14
17
-35
63
65
22
-19
60
-132
-24
-102
-16
53
72
-25
-36
-70
78
5
-61
30
-2
90
7
14
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
10
0
1
0
9
0
-3
0
33
0
4
0
-15
0
10
0
22
0
31
0
129
0
19
0
20
0
0
0
-68
0
-6
0
31
0
2
0
114
0
-4
0
50
0
2
0
-20
0
0
0
-62
0
1
0
11
0
0
0
19
0
1
0
-35
0
2
0
0
0
11
0
-6
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
138
144
2
139
57
133
-8
52
-41
96
2
8
5
-75
-4
-69
-111
97
9
126
76
134
52
-89
12
3
2
-33
-73
113
13
-16
79
123
-3
-104
25
35
-5
-3
59
28
-4
48
3
39
-10
-29
53
-15
-1
5
23
72
-53
-81
43
-25
-2
27
-24
-136
3
-5
10
-42
0
17
17
54
-1
18
-4
-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
143
0
76
0
127
0
45
0
89
0
27
0
3
0
55
0
34
0
29
0
-16
0
16
0
14
0
5
0
84
0
33
0
11
0
61
0
110
0
-9
0
105
0
33
0
-19
0
1
0
156
0
53
0
29
0
-25
0
37
0
-24
0
63
0
-5
0
23
0
-4
0
-5
0
-18
0
-76
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
125
22
-28
115
109
32
144
39
90
-16
-31
18
42
5
54
120
70
95
40
49
67
-55
38
-6
65
-14
47
-25
-28
-13
-73
152
94
-88
118
28
-14
9
120
65
0
75
-12
-23
8
21
35
-10
1
25
-106
1
34
44
53
15
-77
-9
-53
-21
-108
-29
33
68
64
22
-50
76
47
-17
56
-46
-16
4
-12
-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
18
0
1
0
53
0
-4
0
82
0
0
0
6
0
0
0
-2
0
5
0
-8
0
0
0
19
0
3
0
41
0
0
0
87
0
-3
0
6
0
-1
0
63
0
-15
0
14
0
1
0
-6
0
-8
0
-7
0
-1
0
8
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
172
113
1
68
51
60
4
50
113
76
17
46
32
-9
2
-35
-15
78
21
-7
93
-40
-8
78
23
31
5
-53
-14
-18
-5
-8
62
82
-5
61
81
-35
-2
79
32
164
17
-16
-29
-44
0
53
25
-14
-3
-11
-23
-68
0
13
-95
26
-2
-78
23
59
0
49
15
101
-3
56
0
39
18
22
-1
-34
0
-33
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
51
0
82
0
37
0
41
-1
65
0
-3
0
-36
0
-86
0
48
0
4
0
-10
0
49
0
-44
0
15
0
16
0
23
0
22
0
19
0
88
0
89
0
26
0
20
0
39
0
21
0
-18
0
17
0
-26
0
-74
0
49
0
-10
0
2
0
22
0
-24
0
-1
0
-43
0
-5
0
-94
0
-25
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
179
203
98
181
48
153
53
61
90
108
42
11
14
41
-13
59
129
85
-33
-36
38
48
-46
-75
33
36
-71
-99
40
66
5
-66
186
150
100
35
-4
-62
-44
97
132
12
32
79
53
-13
-55
-2
16
59
-21
-83
6
23
17
139
-55
-67
-2
-67
-58
-5
-35
-40
58
-7
14
-15
4
72
-25
6
48
20
2
106
-35
14
-7
-77
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
11
0
27
0
1
0
96
0
8
0
138
0
10
0
-23
0
-2
0
15
0
-5
0
41
0
0
0
-21
0
17
0
86
0
-13
0
65
0
-4
0
-21
0
-2
0
54
0
8
0
-7
0
-5
0
-5
0
5
0
-23
0
0
0
43
0
0
0
2
0
0
0
0
0
0
0
7
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
74
5
142
-5
174
19
52
34
98
-3
71
56
34
-5
71
60
-8
0
-56
59
-23
2
36
95
65
7
26
8
-38
3
-15
19
137
-2
-52
-22
23
-1
-123
13
-25
1
32
-2
87
0
-5
16
-27
0
-36
-4
44
0
5
-1
25
0
-3
-10
-73
1
-15
0
40
0
25
2
-56
-5
-52
8
17
0
-41
-14
-32
0
-20
-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
59
0
9
0
-10
0
48
0
200
0
68
0
44
0
48
0
24
0
13
0
43
0
-29
0
68
0
33
0
106
0
-71
0
162
0
-26
0
89
0
53
0
34
0
5
0
0
0
-56
0
74
0
17
0
51
0
-7
0
101
0
41
0
-11
0
17
0
0
0
19
0
0
0
25
0
-71
0
3
0
30
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
139
223
80
37
8
39
19
2
138
85
2
13
-36
71
55
0
18
96
65
32
16
75
11
-24
13
-57
30
-67
53
55
-21
125
68
78
-14
89
65
107
29
27
7
66
-57
75
-79
-101
8
62
19
63
-39
80
14
18
0
-57
-126
-4
29
-24
-62
-40
14
14
95
21
6
81
-5
52
34
1
-49
30
0
-59
43
-6
3
-134
-33
52
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
9
0
1
0
49
0
-1
0
50
0
-1
0
62
0
0
0
-2
0
0
0
22
0
-17
0
31
0
-1
0
17
0
-5
0
0
0
1
0
11
0
14
0
14
0
-13
0
18
0
-1
0
1
0
0
0
47
0
0
0
22
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
92
151
9
43
0
60
-1
76
-14
62
4
90
0
29
3
9
13
4
-1
-7
2
-7
0
5
56
-48
-26
33
-21
-5
1
-35
11
96
-5
24
0
57
0
74
66
15
-2
4
10
-57
-1
45
36
-68
0
-14
-1
-23
0
-15
-5
33
0
29
2
-22
1
2
4
43
9
3
1
-6
-1
-34
6
-42
2
26
0
23
0
23
0
-47
0
-55
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
112
0
-19
0
-4
0
-5
0
27
0
116
0
-2
0
-22
0
19
0
15
0
18
0
24
0
103
0
77
0
68
0
35
0
106
0
-73
0
107
0
-8
0
7
0
49
0
76
0
-19
0
-24
0
-5
0
18
0
0
0
-2
0
-5
0
16
0
-47
0
101
0
27
0
-14
0
0
0
-27
0
0
0
5
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
31
144
4
-37
169
100
86
47
62
122
31
146
23
28
35
21
17
-14
45
5
-14
30
44
-62
80
60
-23
59
-5
93
16
-53
218
145
14
9
-102
27
-14
102
128
95
4
148
52
14
-27
19
4
-71
1
-4
-97
-28
34
32
-109
57
0
44
-20
-25
13
105
-14
22
-3
75
77
107
4
-37
-32
1
3
-5
3
7
5
-32
6
15
-1
96
3
24
-2
-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
-4
0
0
0
14
0
-7
0
-14
0
-1
0
-31
0
15
0
46
0
-2
0
3
0
0
0
0
0
5
0
96
0
-7
0
45
0
3
0
22
0
13
0
-2
0
0
0
-7
0
0
0
-13
0
-4
0
22
0
0
0
5
0
0
0
10
0
0
0
-15
0
0
0
-8
0
-2
0
-1
0
0
0
11
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
105
1
-13
31
-65
4
61
2
49
0
6
3
1
-1
27
21
5
1
32
17
-25
-6
45
31
80
-8
-1
9
14
0
-31
33
41
0
21
20
14
0
71
1
43
0
33
0
-2
0
-93
7
-17
0
-17
-31
18
-1
0
15
-38
0
18
-26
9
-24
-4
26
10
0
11
-1
53
0
-35
-3
23
0
14
3
-43
0
23
0
-2
0
-13
-1
36
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
91
0
41
0
33
0
4
0
95
0
32
0
105
0
16
0
127
0
-4
0
-2
0
-25
0
19
0
13
0
32
0
-34
0
47
0
-14
0
35
0
1
0
33
0
-1
0
130
0
-3
0
-5
0
0
0
-8
0
-5
0
33
0
-4
0
43
0
0
0
2
0
-5
0
-14
0
0
0
18
0
0
0
37
0
-10
0
-8
0
-8
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
71
191
61
-15
-35
64
-3
-17
-1
1
61
29
11
5
-5
-77
101
6
-4
-7
40
-2
-20
176
34
52
-19
46
2
37
-20
52
78
130
45
82
37
86
-23
5
90
47
14
29
7
1
1
74
0
14
-31
-47
7
-39
2
68
50
-34
-17
31
-5
18
-4
95
75
28
8
-5
7
6
-3
-10
35
-26
0
50
22
19
0
33
78
30
0
30
18
-58
0
-14
-10
-46
-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
15
0
-2
0
0
0
2
0
52
0
0
0
-2
0
0
0
36
0
5
0
33
0
1
0
-29
0
0
0
11
0
0
0
81
0
2
0
14
0
0
0
4
0
-6
0
3
0
0
0
10
0
0
0
-33
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
13
72
2
33
21
55
4
13
6
8
1
5
8
98
3
-31
15
55
-7
20
46
82
-1
-45
13
24
1
-20
7
26
0
18
43
56
-11
-49
-48
42
0
32
65
59
-1
-43
8
107
0
48
1
-1
-4
4
-3
-22
0
25
-14
24
0
-35
4
-19
0
-54
-4
14
-8
-35
0
6
0
24
4
10
0
6
0
-15
0
2
-2
-57
0
1
0
6
0
-14
2
27
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
-1
113
0
15
0
86
0
50
2
61
0
6
0
22
0
-28
-1
57
0
109
0
39
0
-36
0
87
0
-25
0
30
0
-27
0
31
0
3
1
6
0
2
3
-10
0
2
0
6
0
-2
0
-40
0
-1
0
-20
0
1
0
60
0
1
0
54
0
4
-5
-17
0
-1
0
62
0
-3
0
-66
0
-1
0
44
0
14
0
-28
0
-2
0
-53
0
0
0
33
0
-5
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
205
118
91
54
89
147
15
36
115
201
53
147
120
53
123
45
110
125
100
56
108
105
9
66
79
62
-25
43
-48
23
1
-10
129
93
33
59
53
90
16
52
-65
12
17
15
-9
-49
33
-79
57
23
11
-81
71
79
-10
37
-47
23
-11
-32
-39
-67
5
-59
-16
-26
-2
71
-69
43
-1
-11
-137
-143
6
-10
41
25
-1
-104
-95
-116
18
-17
-25
-134
-4
17
25
3
-1
18
45
-18
0
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
0
0
0
0
99
0
6
0
10
0
-1
0
71
0
13
0
35
0
2
0
32
0
1
0
99
0
0
0
42
0
-1
0
192
0
32
0
-6
0
0
0
4
0
0
0
-2
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
-17
0
0
0
7
0
0
0
36
0
0
0
0
0
0
0
18
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
61
110
-2
32
17
146
-3
118
74
18
2
45
-98
27
-8
70
75
53
-36
9
40
-119
0
33
44
63
3
-31
18
-46
0
-35
5
107
2
4
-1
24
-5
-3
-5
79
-4
-47
-10
94
5
0
-1
59
-1
-32
16
-76
0
5
-11
80
0
-9
-4
-79
0
13
-7
95
0
78
0
42
0
5
-2
-94
0
2
9
-43
0
1
18
-65
0
2
6
46
0
6
5
-7
0
17
1
-89
0
-19
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
70
0
49
0
27
0
58
0
75
0
10
0
95
0
-26
0
49
0
43
0
119
0
25
0
-33
0
6
0
63
0
4
0
57
0
2
0
-32
0
-1
0
106
0
7
0
26
0
-1
0
-26
0
3
0
3
0
0
0
22
0
-5
0
-25
0
1
0
-26
0
3
0
0
0
1
0
-8
0
-2
0
27
0
1
0
-90
0
0
0
-1
0
0
0
-8
0
1
0
10
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
196
147
65
68
140
124
7
91
128
85
86
69
90
32
1
95
64
96
124
7
67
71
-44
129
103
155
35
-5
-128
44
-10
129
-5
14
-7
76
33
85
10
39
-51
52
-6
54
-24
-61
3
-17
31
-53
-1
97
3
97
0
76
-29
-53
-13
71
-49
52
2
-27
101
156
-4
41
50
-6
4
71
-25
-81
5
-19
-27
-24
0
-31
-27
67
-1
27
-11
24
4
15
-74
-32
-7
-52
-13
-16
0
-32
9
22
1
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
50
0
6
0
0
0
0
0
36
0
-7
0
58
0
-7
0
5
0
-5
0
19
0
10
0
-43
0
0
0
-31
0
1
0
5
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
-10
0
3
0
5
0
0
0
-5
0
0
0
-10
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
51
148
2
129
16
83
5
56
33
101
33
55
45
97
-7
90
11
53
-5
65
8
52
-3
-6
-22
-97
-29
83
-37
37
-3
100
1
118
-7
23
0
78
-3
22
-25
72
-5
-29
5
21
0
7
5
33
0
104
3
56
0
-1
-34
70
0
16
0
-46
0
-3
0
22
0
-9
-6
53
0
-27
-3
-23
-2
-18
-2
-53
0
-20
4
77
0
55
0
4
0
32
-25
24
-5
-1
-1
-9
0
-4
1
43
0
5
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
62
0
5
0
68
0
91
0
116
0
-44
0
21
0
-64
0
36
0
25
0
34
0
52
0
20
0
16
0
-23
0
-7
0
71
0
2
0
41
0
8
0
68
0
2
0
49
0
0
0
87
0
1
0
54
0
0
0
21
0
0
0
21
0
0
0
21
0
0
0
-51
0
7
0
5
0
-3
0
-9
0
11
0
10
0
0
0
-3
0
0
0
-3
0
0
0
-8
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
128
132
7
120
-56
84
6
-13
117
92
15
16
-16
83
29
-10
36
107
22
25
32
131
77
86
-8
-13
-6
63
6
45
29
-7
-44
103
4
60
52
71
-1
134
37
83
-4
39
1
90
-2
-24
52
119
-18
86
-37
-10
-1
-57
24
57
0
33
-5
-25
-4
-10
23
-35
7
45
14
-70
-4
73
63
-9
0
60
33
-57
-2
-102
-72
-80
7
24
5
-15
-14
-3
-5
-15
0
2
-52
-47
-3
7
-25
-18
0
-17
3
100
0
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
3
0
0
0
-1
0
0
0
9
0
0
0
3
0
0
0
91
0
4
0
7
0
5
0
18
0
0
0
33
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
45
33
0
48
19
80
1
97
-1
57
1
63
6
12
3
54
-17
-81
0
49
73
-3
-13
35
13
28
-11
44
3
13
0
33
2
-46
0
-1
1
5
0
74
4
-18
0
4
-9
20
0
6
0
-5
0
18
-2
-60
0
33
-1
4
0
-6
0
-20
0
-11
0
66
0
14
2
-3
0
-29
2
71
0
-1
13
34
0
0
-1
-33
0
1
-2
13
0
0
-1
-83
0
0
0
34
0
-2
0
-27
0
0
0
-24
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
-7
0
3
0
41
0
14
0
52
0
31
0
49
0
2
0
198
0
10
0
34
0
-23
0
94
0
-23
0
-5
0
-6
0
60
0
1
0
-1
0
1
0
2
0
0
0
1
0
2
0
72
0
4
0
9
0
-1
0
4
0
4
0
11
0
4
0
34
0
2
0
55
0
0
0
18
0
0
0
-26
0
-2
0
20
0
3
0
11
0
0
0
-32
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
-16
78
-14
121
-82
3
25
-15
29
73
-29
-46
-53
12
-5
14
66
57
-19
28
50
14
20
-39
-4
15
-19
95
-1
95
1
25
63
106
3
-40
-7
51
1
-37
47
30
0
7
-14
34
0
-29
-82
77
34
77
10
-1
-2
43
41
61
1
44
41
38
-2
5
-3
80
3
7
-9
80
7
5
47
5
-1
48
1
-45
-2
-43
0
-54
-5
43
6
30
0
131
0
22
-2
-21
-14
77
0
5
-6
8
0
-4
0
-5
0
1
14
-33
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
20
0
-1
0
-11
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
15
17
0
26
-50
85
4
5
6
44
0
62
8
92
0
19
134
68
-25
-49
1
36
-7
95
5
-17
5
-20
0
-57
-1
-25
6
52
0
8
0
-5
0
1
2
53
0
1
-2
66
0
0
-14
54
0
14
2
2
0
0
3
44
0
-4
0
-31
0
-2
0
-66
0
0
-1
43
0
26
-9
30
0
2
6
25
0
1
53
-22
0
-25
-3
102
0
-1
0
-85
0
0
0
-15
0
0
4
-5
0
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
0
0
0
0
-5
0
-1
0
63
0
29
0
46
0
18
0
109
0
71
0
116
0
-14
0
22
0
-5
0
43
0
-2
0
119
0
53
0
19
0
0
0
-2
0
15
0
-49
0
0
0
26
0
-1
0
5
0
-2
0
18
0
6
0
47
0
2
0
-5
0
-3
0
58
0
0
0
15
0
-1
0
75
0
3
0
75
0
5
0
11
0
0
0
-35
0
0
0
-4
0
0
0
5
0
-24
0
5
0
0
0
4
0
2
0
10
0
0
0
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
98
19
104
49
65
-10
155
87
33
44
10
53
-26
48
-69
123
96
1
104
-84
74
2
53
33
-32
9
111
76
-103
-10
7
24
15
10
78
74
-45
-5
79
26
70
-8
-10
0
46
9
71
-18
62
0
25
4
6
0
-39
-1
33
-4
-8
-1
14
0
9
-26
4
1
-1
1
57
2
14
26
57
0
85
-24
-60
-3
43
5
21
-1
-25
-4
4
0
52
13
-27
14
-31
-5
-4
-3
9
26
71
0
11
0
-43
0
-22
-14
13
0
-1
-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
-5
0
0
0
4
0
6
0
3
0
0
0
-6
0
3
0
6
0
0
0
37
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
-13
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
46
0
2
-3
105
-1
9
34
48
0
1
1
61
3
25
-10
34
0
-8
3
-35
-1
3
1
-42
0
23
-7
61
-4
-99
0
-3
0
0
1
34
0
-10
0
1
0
2
5
11
0
14
0
5
0
6
-16
18
0
0
0
32
0
0
0
31
0
14
0
15
0
1
-2
-45
0
0
-1
-35
0
-20
1
-15
0
-8
-1
20
0
-1
-1
61
0
0
0
37
0
-3
-1
21
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
9
0
0
0
13
0
2
0
47
0
-17
0
4
0
5
0
99
0
43
0
-2
0
0
0
-5
0
16
0
-17
0
2
0
-4
0
-2
0
0
0
0
0
46
0
5
0
16
0
0
0
77
0
0
0
-4
0
0
0
-5
0
0
0
-15
0
-2
0
1
0
0
0
2
0
-3
0
56
0
-4
0
5
0
0
0
32
0
3
0
1
0
0
0
-5
0
-9
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
23
97
13
20
16
141
-1
93
61
119
-22
14
54
49
10
-48
79
47
-15
53
39
5
0
-49
-69
33
11
51
24
0
0
21
35
117
1
10
4
-4
0
-2
69
53
0
5
3
-33
0
-14
13
-48
0
29
-2
71
0
-6
0
-33
1
45
-13
-28
0
-8
-36
29
0
5
0
61
0
4
-14
11
-5
-32
2
96
0
48
3
-33
0
-9
-1
-55
0
1
-54
-22
2
-41
14
96
0
5
0
43
0
7
0
-32
0
4
0
25
0
21
0
-71
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
10
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
9
0
0
0
0
0
0
0
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
63
0
-53
7
50
0
1
-33
50
1
5
11
7
-5
-8
-13
27
0
14
-3
25
0
4
-14
6
0
5
0
19
9
2
0
41
0
0
0
-5
0
0
1
31
0
15
0
-1
0
1
1
-37
0
0
7
4
0
0
1
-33
0
0
1
-6
0
0
-1
5
0
4
0
0
0
1
0
-14
0
7
0
36
0
1
-1
9
0
0
0
26
0
-3
2
25
0
0
0
-23
0
3
0
-5
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
11
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
15
0
-16
0
24
0
5
0
1
0
4
0
54
0
13
0
-21
0
5
0
47
0
-13
0
60
0
1
0
7
0
-46
0
2
0
0
0
39
0
0
0
2
0
0
0
6
0
5
0
9
0
0
0
33
0
6
0
0
0
0
0
9
0
-3
0
-3
0
6
0
-2
0
7
0
36
0
0
0
-1
0
3
0
14
0
0
0
-6
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
105
79
18
1
60
53
3
26
14
88
-5
22
23
48
3
72
73
21
-5
24
52
39
7
31
3
32
0
60
-65
76
-24
66
18
-17
0
72
-5
5
0
-41
6
-22
0
17
18
83
0
5
21
-27
1
-34
5
-36
0
-53
5
79
0
-5
1
14
8
-27
44
16
0
39
11
113
2
-11
-33
-12
0
15
50
-80
1
3
-49
93
0
-35
10
52
2
0
0
16
0
-9
-2
30
0
-2
10
45
0
0
-18
60
0
11
0
-27
0
-1
0
85
0
-1
-6
3
0
0
3
16
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
-20
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
97
0
3
2
24
0
45
-4
43
0
-33
1
-30
1
54
5
56
-2
3
-14
-34
0
-25
0
43
-1
7
2
-20
0
-11
0
37
0
0
1
33
0
1
0
2
0
-1
0
4
0
3
0
21
0
-3
-7
-46
0
-2
0
-14
0
0
0
21
0
0
-8
-4
0
0
-7
-1
0
1
0
34
0
0
0
-14
0
-1
0
22
0
0
1
-16
0
-5
2
-8
0
0
0
-16
0
0
7
1
0
0
0
-6
0
2
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
3
0
2
0
17
0
4
0
3
0
-1
0
17
0
2
0
-23
0
-3
0
-15
0
0
0
-2
0
1
0
-5
0
0
0
0
0
0
0
4
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-23
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
-9
0
0
0
1
0
0
0
26
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
118
58
43
102
46
91
0
20
93
-31
0
63
33
28
1
1
32
41
-21
61
6
-12
-8
-16
-17
-12
21
-22
-41
43
0
19
16
25
0
15
-1
60
0
45
-19
18
0
-6
-7
25
0
-16
-10
62
-1
-21
4
32
0
-6
-20
8
0
-34
-9
36
0
-2
-5
22
-7
55
5
51
0
35
-5
16
1
-39
5
-26
4
-14
-36
-101
-1
-25
32
78
0
1
0
2
-1
-13
16
-14
0
1
4
-16
0
0
3
37
0
0
0
82
0
3
0
6
0
6
0
-45
0
-3
-4
-52
0
0
0
9
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
108
0
41
0
6
0
8
8
-16
0
71
0
-35
0
-6
10
-114
6
-37
25
9
0
-17
25
51
0
-39
0
34
0
1
0
14
0
-8
0
14
0
3
-1
2
0
0
-7
-4
0
0
0
-3
0
0
0
-3
0
0
0
6
0
0
0
14
0
-2
-1
57
0
9
7
10
0
4
0
47
0
1
0
-2
0
0
6
14
0
-1
0
-3
0
0
0
62
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
53
-29
1
34
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
165
88
135
53
90
-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
77
-107
5
-50
2
16
-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
-7
-3
-6
9
53
38
-28
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
120
0
-1
2
95
0
36
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
28
39
85
33
12
54
-52
-34
-9
50
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
11
95
0
-43
0
45
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
49
52
22
40
-21
55
-5
2
8
48
-21
-26
-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
68
0
7
0
15
0
53
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
15
-42
-5
22
2
81
-57
-71
3
-61
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
-5
-11
0
-14
-9
-65
4
35
15
83
7
23
0
-22
0
-128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
10
64
42
3
-31
52
23
26
15
-28
-32
-130
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
1
23
0
25
0
54
0
-17
0
17
0
-39
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
13
14
62
74
-5
5
63
24
-65
24
-41
74
-80
52
33
69
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
112
0
41
0
62
0
-31
0
71
0
39
0
32
0
-26
-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
74
85
13
67
19
95
28
-44
59
21
-25
-5
46
-49
-28
17
-72
-70
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
0
160
0
-13
0
114
0
0
0
67
0
-55
0
68
0
15
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
94
32
9
52
68
91
43
-71
151
11
90
13
-12
1
5
56
83
48
-53
13
-14
71
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
93
0
2
-2
79
0
30
-4
-32
0
58
0
32
0
-15
13
71
0
30
-4
23
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
-78
34
-42
71
-28
6
50
16
118
20
0
11
-9
20
53
42
72
53
-31
20
103
48
-40
-28
-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
90
0
20
0
52
0
74
0
87
0
104
0
-71
0
9
0
66
0
25
0
-31
0
7
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
84
92
71
32
55
26
-44
111
49
52
16
-72
53
61
4
-4
17
22
26
73
15
-33
32
-72
-76
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
4
118
0
79
0
24
0
20
0
50
0
-6
0
3
0
23
0
53
0
52
0
157
0
-43
0
-20
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
115
-35
17
160
109
103
6
54
-10
47
77
31
53
34
59
31
15
6
-40
14
-23
59
5
-12
80
-36
-7
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
86
0
54
0
88
0
54
0
9
0
27
0
50
0
64
0
41
0
39
0
-3
0
39
0
5
0
7
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
13
-2
18
23
36
81
33
6
87
9
-33
13
71
75
39
76
87
62
66
21
-68
-14
55
-7
-41
40
-21
52
-92
38
-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
45
32
0
71
1
-40
2
43
2
96
0
-2
-1
-10
0
-54
-17
5
0
-80
0
55
0
-62
9
26
0
-112
0
-46
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
101
-54
17
-7
-16
-37
26
-17
3
-85
25
-44
-38
-59
-10
-55
-15
-17
-85
-21
43
-44
-54
-40
-20
14
54
-39
-32
-56
-79
-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
1
57
0
1
0
73
0
73
5
11
0
-4
0
5
0
33
0
-10
0
23
0
-46
0
-61
0
45
0
35
0
121
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-36
49
42
8
28
-36
-62
13
67
-2
14
-13
34
62
-77
3
-47
29
106
18
66
-9
-18
45
5
1
71
-29
22
-49
50
-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
-9
66
0
56
-2
92
0
-5
4
29
0
-5
0
-21
0
34
0
50
0
3
0
-23
0
-36
0
-7
0
-15
0
-48
0
-29
0
63
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
34
82
131
80
43
-117
11
-13
-40
45
34
-17
26
55
95
1
-22
53
10
2
-22
27
-25
-75
-40
-35
0
-88
30
7
-22
-6
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
55
0
-24
0
57
0
10
-2
204
0
10
0
99
0
35
0
42
0
-29
0
43
0
75
0
-78
0
-60
0
-81
0
-8
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
71
152
77
46
52
112
9
8
50
37
31
-32
39
24
-25
55
-22
26
14
12
19
70
49
-1
-4
-25
73
10
1
140
-36
-84
7
49
23
33
-7
-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
-9
20
1
51
-5
44
0
99
-2
-3
0
90
0
26
0
69
14
44
0
-31
1
45
0
8
-2
79
0
-14
0
11
0
71
6
-3
1
-60
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
-4
54
5
109
7
66
-54
60
-15
23
92
51
11
51
-23
35
1
31
4
5
-77
49
-90
-46
-99
52
66
-45
24
28
-27
38
24
92
11
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-11
0
-17
0
-10
0
127
0
-8
0
26
0
48
0
-24
0
35
0
50
0
5
0
71
0
21
0
-57
0
-15
0
-51
0
17
0
21
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
53
137
9
42
27
23
3
79
77
33
-32
11
53
-7
17
28
-10
59
-10
97
58
-34
52
-65
-105
22
41
-7
7
36
-57
71
26
100
-4
39
-22
-5
-11
47
-32
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
75
0
10
0
21
0
21
0
2
0
16
0
73
0
33
0
-14
0
-29
0
49
0
96
0
12
0
-83
0
-64
0
27
0
-36
0
-41
0
24
0
53
0
43
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
127
156
159
-43
14
-29
53
31
26
63
-2
26
85
28
49
-148
33
1
75
6
18
137
23
109
58
24
51
-39
-48
73
-51
145
53
118
27
-73
-31
-31
-22
-33
-36
-60
-45
-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
-20
0
25
0
22
0
27
0
60
0
1
0
-43
0
1
0
-48
0
40
0
49
0
24
0
11
0
21
0
-9
0
-31
0
46
0
41
0
66
0
4
0
-32
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
27
82
8
-63
34
83
-9
62
69
72
3
28
15
45
-33
51
11
78
35
-80
66
63
5
109
18
-78
-27
71
-90
53
-18
14
1
56
-18
-33
-18
38
-9
42
-6
43
-2
71
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
47
0
-5
0
23
0
65
0
-38
0
19
0
12
0
2
0
24
0
21
0
-10
0
49
0
-50
0
-13
0
-6
0
46
0
25
0
32
0
-77
0
39
0
-15
0
38
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
89
115
131
73
4
39
82
-47
52
81
103
25
33
-25
117
-27
6
-64
65
5
52
0
99
11
81
-22
-37
48
16
95
-45
183
-6
50
-9
-7
72
-2
12
28
26
6
22
-23
34
19
42
-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
49
0
3
0
51
0
-11
0
-33
0
0
0
-22
0
21
0
-2
0
-1
0
29
0
-3
0
75
0
5
0
87
0
-13
0
5
0
0
0
39
0
2
0
54
0
0
0
-8
0
-5
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
77
2
46
23
110
35
78
40
41
-15
-7
15
-3
51
-8
4
93
-1
-14
90
171
-1
22
-62
105
-2
-53
87
52
15
23
39
4
0
-22
1
-4
-3
-5
10
-1
4
43
29
1
-1
39
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
27
0
-7
0
52
0
25
0
72
0
20
0
57
0
52
0
46
0
44
0
-25
0
-43
0
-12
0
-11
0
73
0
-13
0
-10
0
20
0
37
0
-8
0
35
0
-1
0
-16
0
-21
0
-16
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-20
54
6
87
66
84
149
36
7
44
8
44
17
90
10
60
32
105
-104
57
33
5
39
-45
-13
-49
50
63
6
24
52
52
43
133
-11
111
-3
100
10
7
-43
-26
-81
-60
29
37
31
9
-48
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
31
0
25
0
84
0
52
0
9
0
6
0
-48
0
20
0
5
0
-2
0
127
0
2
0
-41
0
10
0
-15
0
0
0
-10
0
0
0
-2
0
0
0
63
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
63
43
4
24
22
78
17
23
57
-17
13
-62
-59
76
7
-1
104
-64
25
6
78
28
-25
5
10
-42
-27
47
15
71
4
-26
-20
85
0
26
4
11
0
-21
14
-18
-6
-60
8
62
0
-124
24
-80
6
-5
-19
-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
165
0
95
0
45
0
-1
0
47
0
43
0
70
0
91
0
44
0
109
0
129
0
135
0
14
0
24
0
16
0
-7
0
29
0
-58
0
140
0
63
0
53
0
21
0
111
0
24
0
24
0
-19
0
-56
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
117
28
31
86
67
133
122
33
56
92
9
20
104
-8
5
45
3
51
-18
-10
-39
69
-6
-16
-56
121
-43
14
13
211
53
-23
22
-9
14
43
2
73
-23
-33
6
-81
-44
-59
69
-9
149
23
16
41
-39
91
2
21
-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
-43
0
2
0
71
0
45
0
-18
0
-1
0
0
0
10
0
2
0
-3
0
82
0
-21
0
30
0
0
0
55
0
-4
0
43
0
0
0
25
0
0
0
29
0
0
0
-21
0
0
0
-19
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
4
119
109
101
43
40
77
-11
2
37
83
38
11
35
22
7
-7
140
105
-2
33
8
2
-49
0
-44
-107
38
6
12
-7
52
0
-20
1
-57
-16
148
44
-55
0
-10
1
-2
0
-4
11
-71
0
41
5
-80
0
-19
-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
155
0
32
0
36
0
25
0
90
0
45
0
102
0
5
0
53
0
17
0
43
0
16
0
-9
0
-8
0
41
0
5
0
48
0
10
0
8
0
35
0
36
0
10
0
6
0
2
0
44
0
11
0
35
0
5
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
23
140
83
118
-1
25
-68
29
-32
36
20
60
157
80
37
-5
113
87
-55
85
91
122
158
106
5
-14
-58
81
73
45
62
-2
102
15
-20
1
9
-12
29
7
19
-20
-27
-44
-33
-9
14
-3
-23
-6
7
6
9
-51
-20
90
49
-104
13
32
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
80
0
5
0
74
0
-18
0
123
0
0
0
6
0
5
0
16
0
4
0
-8
0
5
0
9
0
0
0
-56
0
2
0
4
0
0
0
-21
0
-1
0
25
0
0
0
1
0
0
0
-33
0
-1
0
-23
0
0
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
9
-38
-7
38
-51
16
5
6
-19
24
5
-5
-9
101
-10
-28
15
53
2
55
53
45
4
72
3
-9
21
-5
34
87
2
-32
7
79
2
89
10
6
4
11
19
53
4
78
-33
61
-3
-52
35
-60
0
5
-6
17
0
-69
-37
4
-2
-66
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
4
2
0
-10
-1
33
0
-5
1
42
0
-47
-2
-10
0
-6
0
-62
0
4
0
3
0
-49
0
-45
0
-97
0
-18
0
-27
-7
-90
0
-26
0
-33
0
-20
-3
-17
0
-8
0
-17
0
31
0
14
0
-77
0
-70
0
-6
0
-33
0
-64
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
72
-27
-18
11
17
30
48
44
13
42
-53
-35
-36
54
-53
33
116
12
-53
-16
-34
-33
3
-52
178
-9
-68
-26
-60
23
-49
-91
-48
14
43
-13
8
46
9
-37
-3
14
-77
1
-87
-79
-35
-65
21
-3
39
-47
-33
-14
57
-56
-21
41
-20
-22
-46
-16
-45
-108
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
44
0
69
0
86
0
43
0
7
0
63
0
50
0
71
0
-3
0
7
0
20
0
-75
0
-37
0
-13
0
33
0
65
0
34
0
17
0
3
0
-29
0
-13
0
23
0
-17
0
27
0
-2
0
15
0
4
0
-14
0
0
0
45
0
-4
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
90
64
6
84
49
-51
85
111
15
106
0
5
9
46
26
-8
-41
-15
-5
49
58
-47
-34
36
26
38
-3
-89
-80
30
5
-24
61
46
31
71
48
51
10
-90
-43
25
9
-27
-2
0
-4
-14
-33
-21
0
75
-71
-10
-2
-58
2
18
4
-33
26
22
1
55
73
-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
-2
0
-18
0
8
14
-39
-2
23
0
35
0
5
0
5
0
-30
0
8
0
34
0
15
0
105
0
-60
0
-25
0
-25
0
24
0
39
-2
77
0
0
-6
12
0
-62
0
25
0
-3
0
-7
0
-58
0
2
0
-24
0
53
0
-51
0
-13
0
-21
0
60
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
159
-25
0
51
25
33
16
43
15
97
113
53
63
66
-35
85
87
8
-15
45
-23
61
-53
49
1
-33
-18
5
-96
0
-66
-57
64
58
4
-10
40
-29
14
13
-76
-1
12
-3
27
-45
-28
-16
-120
-44
-71
-26
74
-6
-11
-66
-2
-60
29
-56
-26
-16
42
46
19
32
-16
-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
66
0
-13
0
26
0
-1
0
52
0
7
0
-29
0
3
0
20
0
3
0
48
0
23
0
-3
0
74
0
18
0
14
0
-11
0
-4
0
47
0
-7
0
45
0
-5
0
2
0
-14
0
62
0
0
0
-32
0
0
0
-68
0
2
0
6
0
-4
0
-19
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
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
29
63
80
58
17
55
-12
119
14
-70
-39
119
35
4
106
38
-14
12
48
-2
7
-93
-62
-16
-45
30
15
81
-17
7
35
41
-7
19
24
-9
1
98
10
-42
-2
49
10
-6
2
4
-62
43
-21
13
25
-35
-3
-13
-52
-90
2
52
-13
-87
-4
-71
13
27
-1
5
-8
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
48
0
10
0
34
0
14
0
64
0
34
0
69
0
44
7
11
0
2
0
-25
0
-18
0
17
0
29
0
7
0
-66
0
63
0
0
0
43
0
73
0
38
0
-47
0
-1
0
-32
0
-43
0
-16
0
35
0
-66
0
-29
0
25
0
-3
0
-7
0
128
0
-54
0
81
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
32
100
73
89
-45
-33
87
101
8
20
6
58
-43
-40
37
-15
35
80
53
43
74
12
11
-10
-35
16
-5
-15
-31
49
115
46
18
20
55
-5
-14
66
16
-23
-71
69
-67
-98
-15
90
-53
21
30
34
84
43
50
56
7
-21
-13
39
41
90
-33
-36
5
99
-80
-53
20
71
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
1
0
19
0
-4
0
-11
0
4
0
-13
0
10
0
48
0
25
0
86
0
18
0
29
0
0
0
-30
0
-7
0
11
0
2
0
53
0
0
0
52
0
2
0
-16
0
0
0
-43
0
1
0
32
0
-1
0
22
0
1
0
-35
0
2
0
2
0
11
0
3
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
112
98
2
14
52
121
-7
67
2
39
5
-14
-23
-18
-4
-5
-58
-13
5
54
53
28
39
-85
-4
6
3
17
-33
106
13
-68
29
42
-3
-53
43
33
-5
-1
74
-10
-4
46
0
33
-10
-44
53
81
-1
17
0
-90
-53
-88
23
-64
-2
29
-21
-14
3
-18
6
23
0
2
18
15
-3
46
-3
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
32
0
43
0
93
0
18
0
111
0
20
0
39
0
45
0
17
0
38
0
-57
0
15
0
6
0
-3
0
-20
0
25
0
-9
0
39
0
43
0
-11
0
86
0
19
0
-43
0
-1
0
23
0
26
0
15
0
-32
0
-33
0
-23
0
57
0
-5
0
3
0
-2
0
-1
0
-25
0
-82
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
89
50
77
27
163
14
117
96
62
-36
-18
-19
109
-5
28
72
115
60
-33
126
56
-55
21
64
-3
20
-57
-64
70
-7
10
126
153
5
104
-11
41
14
7
80
-34
71
21
-77
-90
25
12
-55
68
-62
47
-15
62
29
-52
-75
-34
-14
28
-22
1
-33
49
27
29
15
-18
61
24
-14
43
-10
-47
4
-52
-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
-2
0
-1
0
47
0
-4
0
59
0
0
0
11
0
0
0
-46
0
-1
0
-25
0
0
0
24
0
3
0
36
0
0
0
16
0
-2
0
3
0
0
0
71
0
-15
0
8
0
1
0
-52
0
-8
0
-8
0
-1
0
14
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
139
158
0
-14
41
107
3
11
53
109
8
-5
45
-46
2
6
-4
22
10
-31
91
-24
-5
32
-6
-30
2
-63
-8
56
-2
-42
68
184
-5
109
86
54
-2
24
36
-18
19
15
-36
-73
0
53
19
27
-2
24
-37
109
0
14
-114
4
-1
-75
23
125
0
62
13
148
-3
49
0
6
18
25
-1
-82
0
-31
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
66
0
43
0
-3
-1
80
0
24
0
13
0
-30
0
44
0
6
0
43
0
33
0
71
0
49
0
35
0
-24
0
68
0
-31
0
9
0
49
0
134
0
6
0
99
0
19
0
-20
0
19
0
-1
0
-72
0
-3
0
-9
0
-15
0
23
0
17
0
0
0
-5
0
-5
0
-59
0
-25
0
65
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
119
22
144
59
-6
37
54
13
5
64
59
54
20
14
79
77
102
-16
-57
-108
55
-30
-32
65
-1
-45
51
28
23
14
95
113
104
46
102
-27
77
-43
-1
66
94
61
95
36
70
-39
-53
-2
-93
-18
-11
-22
-5
22
91
20
40
3
-25
-103
62
-43
8
41
10
11
-4
-32
42
-26
-77
-15
-8
4
10
-37
16
-4
38
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
11
0
35
0
9
0
90
0
6
0
82
0
-1
0
-23
0
-2
0
23
0
-5
0
36
0
0
0
-8
0
14
0
71
0
-13
0
58
0
-3
0
-18
0
-2
0
82
0
9
0
-11
0
-5
0
-6
0
5
0
-19
0
0
0
39
0
0
0
2
0
0
0
6
0
0
0
3
0
2
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
7
17
5
118
-5
175
16
5
22
73
-3
17
33
56
0
44
60
-12
0
-49
45
44
2
22
98
18
7
26
4
-31
2
-13
14
119
-2
-59
-25
59
-1
-25
13
-15
1
62
3
43
0
21
16
-33
0
4
6
23
0
-29
4
0
0
0
-9
46
1
-58
0
27
0
20
1
-81
-5
-53
5
35
0
-37
-10
49
0
-19
-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
46
0
0
0
30
0
48
0
170
0
51
0
127
0
44
0
29
0
19
0
15
0
-25
0
71
0
50
0
89
0
-83
0
51
0
-24
0
65
0
48
0
139
0
16
0
46
0
-52
0
65
0
9
0
39
0
-6
0
41
0
43
0
-42
0
19
0
-18
0
19
0
-3
0
20
0
-44
0
3
0
35
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
47
193
40
14
-24
109
8
92
55
139
23
47
46
94
52
-24
5
45
71
-48
14
3
11
-20
-3
100
35
77
22
-43
-21
69
123
19
-26
7
50
8
24
18
24
31
-45
10
-16
126
5
112
-94
-26
-37
100
6
31
0
-79
-79
-57
36
5
-60
10
16
-12
63
46
5
30
3
-5
33
-1
-85
43
-1
59
26
27
3
-102
-33
36
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
4
0
0
0
9
0
0
0
74
0
-1
0
45
0
-1
0
61
0
0
0
6
0
0
0
18
0
-17
0
31
0
-1
0
11
0
0
0
0
0
1
0
13
0
15
0
9
0
-14
0
15
0
-1
0
2
0
0
0
63
0
0
0
19
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
78
150
9
37
-1
73
-1
32
24
76
6
88
-5
62
4
-45
7
74
-1
24
-2
-25
0
16
50
-49
-33
45
-17
-34
1
0
4
53
-5
16
0
41
0
82
35
-64
-2
-3
4
-19
-1
33
25
-45
0
-53
-1
35
0
-24
13
-80
0
36
3
6
1
-24
4
17
9
-3
1
14
-1
-27
6
-46
2
23
0
21
0
22
0
-60
0
-57
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
73
0
-2
0
5
0
-2
0
35
0
33
0
81
0
27
0
-41
0
16
0
5
0
36
0
69
0
74
0
53
0
26
0
88
0
-47
0
57
0
-11
0
-14
0
48
0
22
0
-14
0
4
0
8
0
12
0
0
0
37
0
8
0
-15
0
-43
0
92
0
7
0
0
0
0
0
-29
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
108
148
3
77
159
105
82
74
-37
58
15
128
47
109
35
14
-7
-21
22
6
-47
102
40
-78
61
14
-43
24
11
-41
8
-16
138
58
7
-8
-3
148
-25
-5
104
22
5
76
6
-9
-17
-26
-8
17
-1
-30
-146
-62
34
43
-105
87
0
-3
7
61
6
-2
-45
71
-6
-33
54
-42
2
-86
-25
-28
3
-16
-1
-13
5
-18
-2
28
-1
60
1
49
-3
-75
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
-11
0
-1
0
-45
0
15
0
65
0
-2
0
6
0
0
0
5
0
5
0
92
0
-7
0
45
0
3
0
27
0
8
0
-2
0
0
0
-6
0
0
0
-11
0
-4
0
29
0
0
0
5
0
0
0
14
0
0
0
-15
0
0
0
-8
0
-2
0
-1
0
0
0
11
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
18
1
-13
33
-24
2
89
2
49
0
9
1
-39
0
-2
37
89
1
9
48
-42
-6
48
27
16
-9
0
16
37
0
-88
39
29
0
25
19
76
0
59
1
106
0
35
11
33
0
-82
9
-66
0
-19
-34
61
-1
24
19
-86
0
18
-25
-90
-24
-5
26
15
0
13
-1
74
0
-33
-3
-1
0
8
3
-57
0
20
0
-47
0
-8
-1
2
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
44
0
43
0
30
0
3
0
65
0
26
0
100
0
21
0
101
0
-5
0
-45
0
-23
0
-52
0
8
0
71
0
-41
0
67
0
-27
0
26
0
0
0
25
0
-4
0
125
0
-4
0
24
0
-2
0
-19
0
4
0
63
0
-5
0
50
0
5
0
6
0
-5
0
-14
0
0
0
21
0
0
0
43
0
-10
0
-14
0
-7
0
15
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
122
214
13
52
-43
-58
-7
103
30
75
61
58
-2
-18
-5
21
51
-34
-23
0
76
36
-18
81
25
-29
-21
13
5
6
-21
69
119
25
36
41
44
127
-31
70
62
-7
18
70
14
65
0
28
-23
-140
-33
-58
-3
45
7
70
32
89
-20
7
0
24
-5
87
99
-15
13
-2
-11
33
-3
-9
29
28
0
50
16
42
0
46
33
37
0
23
17
-65
0
-13
4
-16
-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
16
0
-2
0
0
0
2
0
52
0
0
0
-2
0
0
0
44
0
5
0
35
0
1
0
2
0
0
0
18
0
0
0
77
0
2
0
10
0
0
0
0
0
-6
0
3
0
0
0
9
0
0
0
-33
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
23
83
1
-14
21
-3
4
43
43
64
2
25
11
137
5
10
-33
67
-7
34
46
80
-1
-45
17
7
1
-48
4
113
0
2
81
26
-8
-32
-49
47
0
34
58
73
-1
-25
8
109
0
62
6
-70
-4
33
-5
-66
0
-13
-22
44
0
-44
2
-98
0
-57
-2
-24
-8
-34
0
4
0
24
4
7
0
13
0
-11
0
2
-2
-53
0
-3
0
14
0
-13
2
-22
0
-7
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
14
0
31
2
37
0
2
0
2
0
-13
-1
53
0
105
0
73
0
-41
0
115
0
-14
0
44
0
-26
0
11
0
2
1
2
0
0
3
2
0
2
0
11
0
-2
0
-34
0
-1
0
-33
0
0
0
50
0
1
0
33
0
4
-1
-6
0
-1
0
18
0
-1
0
-80
0
-1
0
10
0
13
0
-27
0
-2
0
-45
0
0
0
2
0
-5
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
43
5
15
26
0
71
-7
67
2
95
27
91
33
54
27
22
51
14
27
74
50
17
15
-16
30
77
29
51
-69
44
5
-103
19
183
17
8
-13
25
8
52
-14
14
16
23
-2
43
32
-59
5
84
7
-53
53
-26
-9
-39
-32
35
-10
44
-37
42
5
-73
21
-25
1
25
-27
23
-1
-33
-132
32
6
-17
26
56
-1
-34
5
-49
18
-29
-33
-20
3
26
-3
-19
-1
27
45
41
0
74
24
0
0
0
0
0
0
0
0
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
6
0
6
0
0
0
45
0
10
0
8
0
2
0
33
0
1
0
58
0
0
0
10
0
-1
0
139
0
33
0
-9
0
0
0
3
0
0
0
-2
0
0
0
1
0
0
0
-1
0
0
0
-1
0
0
0
-15
0
0
0
5
0
0
0
36
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
45
36
-2
18
19
116
-3
101
29
-1
2
53
-41
3
-8
18
83
-22
-37
-41
27
-2
0
48
61
-1
2
-14
30
-15
0
-42
3
18
2
-2
-1
8
-5
0
-5
74
-4
-48
-10
77
5
3
-1
-14
-1
-33
16
-19
0
8
-11
32
0
-4
-4
-15
0
14
-7
14
0
74
-1
21
0
6
-4
7
0
0
11
-22
0
0
18
-36
0
-2
6
10
0
6
4
-6
0
22
0
-77
0
-20
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
83
0
53
0
14
0
47
0
5
0
14
0
32
0
-25
0
81
0
29
0
30
0
24
0
41
0
14
0
96
0
11
0
64
0
0
0
-23
0
-2
0
56
0
5
0
24
0
-1
0
-46
0
4
0
4
0
0
0
-25
0
-5
0
-32
0
1
0
3
0
3
0
1
0
1
0
-17
0
-2
0
34
0
1
0
-74
0
0
0
0
0
0
0
6
0
1
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
0
0
0
0
0
0
0
0
126
145
53
-2
93
110
9
61
75
114
37
29
47
-43
-4
53
-51
144
73
-37
14
79
-53
97
-28
24
81
-23
-87
-73
11
127
-36
100
-6
-13
32
74
6
27
-32
60
-3
53
-25
-81
3
-16
55
-25
-1
45
3
64
0
72
-79
55
-6
117
-49
12
2
-34
51
33
-2
39
18
-24
3
21
-2
-37
4
7
-20
46
0
-51
-34
47
-1
5
-5
35
4
6
-51
-104
-7
-31
-14
-31
0
-32
2
27
1
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
45
0
2
0
0
0
0
0
35
0
-7
0
50
0
-7
0
-25
0
-4
0
17
0
10
0
-25
0
0
0
-33
0
1
0
1
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
-10
0
3
0
5
0
0
0
-4
0
0
0
-9
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
22
51
2
87
8
63
4
29
-53
50
26
8
43
-33
-8
37
69
103
-8
106
-1
73
0
-27
4
97
-20
47
-35
10
-3
65
1
7
-7
-1
0
35
-3
23
-23
61
-5
5
2
34
0
7
4
-51
0
107
2
53
0
-5
-32
73
0
23
0
-43
0
-5
1
80
0
-5
-6
58
0
-25
-4
-23
-2
-15
-2
-45
0
-17
11
73
0
53
0
-10
0
26
-25
7
-5
3
-1
-7
0
-5
1
45
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
9
0
2
0
24
0
79
0
97
0
-41
0
33
0
-63
0
12
0
22
0
109
0
37
0
-13
0
17
0
-17
0
-8
0
54
0
2
0
37
0
10
0
7
0
2
0
46
0
0
0
5
0
0
0
53
0
0
0
45
0
0
0
41
0
0
0
1
0
0
0
-45
0
7
0
10
0
-3
0
-5
0
11
0
17
0
0
0
3
0
0
0
11
0
0
0
-7
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
106
89
5
101
-60
100
20
-11
24
33
8
28
-46
43
24
-32
29
87
-46
80
-27
88
89
5
-5
-32
-4
-13
-25
-47
19
-6
-6
43
4
59
31
57
-1
61
20
47
-4
35
-4
34
-2
-29
7
30
-9
101
-41
-11
-2
-29
27
11
0
32
-3
-5
-2
1
17
-2
9
26
11
-129
-3
25
44
43
0
64
34
-56
-2
-101
22
3
7
17
8
-11
-14
3
-4
11
0
2
-49
-58
-3
7
-24
-2
0
-20
3
44
0
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
3
0
0
0
-3
0
0
0
9
0
0
0
0
0
0
0
81
0
4
0
3
0
5
0
16
0
0
0
33
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
45
13
0
46
19
9
-1
85
-1
-6
1
80
4
-29
3
54
1
43
0
33
75
7
-13
4
11
17
-11
44
10
-20
0
29
2
-37
0
-1
1
11
0
59
4
-7
0
5
-9
15
0
6
0
-44
0
18
-2
-75
0
31
-1
2
0
-8
0
-27
0
-10
0
46
0
13
2
-1
0
-29
2
57
0
-1
13
29
0
0
-1
-7
0
1
-2
23
0
0
-1
-81
0
0
0
21
0
0
0
-24
0
0
0
-20
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
2
0
3
0
34
0
8
0
47
0
23
0
48
0
2
0
157
0
21
0
37
0
-22
0
69
0
-29
0
-6
0
-5
0
45
0
1
0
-1
0
1
0
-9
0
0
0
1
0
2
0
74
0
4
0
8
0
0
0
-11
0
4
0
13
0
4
0
31
0
2
0
45
0
0
0
9
0
0
0
-25
0
-2
0
10
0
3
0
10
0
0
0
-32
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
-6
47
-7
83
-71
19
24
31
49
3
-25
14
-51
91
-5
56
62
85
-90
-24
37
52
22
-93
0
33
-20
72
-8
44
3
54
56
14
3
-35
-6
45
1
-47
44
11
0
9
-14
27
0
-29
-6
-19
27
54
11
11
-2
44
43
-62
1
34
41
19
-2
8
-14
103
3
-3
-10
78
7
-5
59
33
-1
33
5
-60
-2
-33
-2
37
-5
10
5
-30
0
145
-3
-53
-2
-13
-11
90
0
8
-6
47
0
-4
0
-5
0
1
14
-43
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
16
0
-1
0
-10
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
10
60
0
24
-49
46
4
1
5
49
0
63
8
68
0
21
109
-18
-22
-47
3
-47
-7
100
25
71
6
-45
0
-37
-1
-56
6
63
0
5
0
-5
0
1
2
62
0
1
-2
60
0
0
-11
5
0
11
2
4
0
0
3
52
0
-1
0
-36
0
-2
2
-56
0
0
-1
37
0
25
-9
14
0
1
6
23
0
2
54
-45
0
-25
-3
98
0
-1
0
-90
0
0
0
-21
0
0
4
-5
0
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
0
0
0
0
-23
0
-1
0
26
0
24
0
47
0
16
0
120
0
54
0
56
0
-6
0
-24
0
0
0
15
0
-6
0
125
0
51
0
19
0
0
0
-2
0
13
0
-46
0
0
0
25
0
-3
0
11
0
-2
0
15
0
6
0
41
0
2
0
-3
0
-3
0
53
0
0
0
9
0
-1
0
65
0
3
0
76
0
5
0
9
0
0
0
-39
0
0
0
-9
0
0
0
6
0
-24
0
4
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
22
79
19
58
39
68
-5
55
124
11
45
-51
35
42
48
-5
53
-52
3
61
-107
-30
2
24
23
37
9
102
77
76
-11
22
16
98
10
64
76
-15
-5
61
24
30
-8
26
-5
98
9
33
-18
-30
0
23
-3
-3
0
-39
13
58
-4
-6
-4
-7
0
-13
-26
22
1
1
0
44
2
-6
27
77
0
80
-27
-8
-3
-2
1
0
-1
-33
-4
-2
0
52
19
104
14
-37
-1
35
-3
13
21
58
0
14
0
-50
0
-8
-22
-47
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
-5
0
0
0
0
0
6
0
3
0
0
0
-10
0
3
0
8
0
0
0
50
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
13
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
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
97
0
2
-3
75
-1
8
33
100
0
-3
-4
-6
2
27
-9
-48
0
-14
2
-1
-1
2
2
-45
0
29
-6
-11
-4
-90
0
8
0
0
1
14
0
-8
0
8
0
0
5
10
0
14
0
7
0
7
-16
24
0
0
0
29
0
0
0
51
0
16
0
26
0
1
-2
-57
0
1
-1
-35
0
-18
1
-16
0
-8
-1
17
0
-1
-1
56
0
0
0
24
0
-3
-1
16
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
9
0
2
0
71
0
-18
0
4
0
2
0
97
0
37
0
-7
0
1
0
-45
0
14
0
-15
0
4
0
-6
0
-2
0
0
0
0
0
33
0
5
0
15
0
0
0
78
0
0
0
-4
0
0
0
-7
0
0
0
-11
0
-2
0
3
0
0
0
2
0
-3
0
57
0
-4
0
4
0
0
0
39
0
3
0
1
0
0
0
-10
0
-9
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
-25
80
9
89
8
89
-1
71
74
-4
-25
34
56
144
9
-38
73
-7
-14
47
47
5
0
-79
-21
-52
10
30
53
-31
0
52
27
143
1
-3
4
-8
0
-2
58
-5
-1
-19
-2
-23
0
-26
14
-62
0
36
-2
81
0
-4
6
-25
1
44
-7
-14
0
-3
-41
32
0
-4
0
43
0
0
-14
27
-5
-23
2
35
0
50
10
-3
0
-10
-1
-58
0
2
-45
32
2
-33
14
89
0
11
0
46
0
5
0
-26
0
4
0
8
0
16
0
-85
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
-22
0
-1
0
31
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
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
63
0
-57
7
61
0
2
-30
-1
1
9
13
5
-5
-5
-9
-12
0
9
-3
73
0
3
-20
49
0
22
1
-12
9
3
0
50
0
0
0
-17
0
0
1
25
0
14
0
-2
0
1
1
-39
0
0
7
3
0
0
1
-45
0
0
1
-3
0
1
-1
10
0
2
0
0
0
1
-1
-24
0
4
0
44
0
1
-1
6
0
0
0
31
0
-3
2
33
0
-1
0
-33
0
5
0
-4
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
13
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
8
0
-15
0
64
0
5
0
14
0
4
0
102
0
18
0
-9
0
5
0
43
0
-11
0
57
0
1
0
26
0
-50
0
2
0
0
0
34
0
0
0
3
0
0
0
5
0
5
0
8
0
0
0
33
0
6
0
9
0
0
0
19
0
-3
0
-3
0
6
0
-2
0
7
0
34
0
0
0
-10
0
3
0
13
0
0
0
-8
0
0
0
-15
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
79
47
14
7
67
157
1
-31
-53
76
-5
1
14
93
5
63
61
-31
-5
13
74
-81
8
54
-9
61
-3
72
-77
-13
-27
74
15
8
0
71
-8
-15
0
-33
4
-22
0
24
21
114
0
17
24
-3
1
-36
4
53
0
-76
9
-6
0
-9
1
-18
8
-33
43
9
0
35
13
81
2
-4
-34
-22
0
4
52
-66
1
24
-52
44
0
-37
-1
71
2
6
0
14
0
-6
-3
51
0
-22
10
43
0
0
-18
60
0
9
0
-29
0
-1
0
73
0
-1
-6
8
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
-20
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
131
0
2
2
76
0
48
-4
50
0
-43
1
-89
1
56
5
53
-2
-2
-14
25
0
-25
1
-6
-1
2
2
-18
0
-15
0
36
0
0
1
34
0
1
0
2
0
-1
0
3
0
3
0
25
0
-3
-7
-39
0
-2
0
-21
0
0
0
24
0
0
-8
-4
0
0
-7
11
0
1
0
43
0
0
0
-22
0
0
0
31
0
0
1
-24
0
-5
2
-9
0
0
0
-23
0
0
7
1
0
0
0
-6
0
2
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
10
0
2
0
20
0
3
0
9
0
-1
0
21
0
2
0
-45
0
-3
0
-18
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
-25
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
27
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
118
80
46
52
50
78
0
-16
82
20
-1
72
29
-26
1
-11
26
98
-24
60
10
33
-7
-3
-17
-123
17
-127
-50
26
0
9
17
79
0
18
-1
17
0
46
-16
66
0
-14
-6
29
0
-17
-5
48
-1
-20
4
18
0
-5
-25
21
0
-39
-14
18
0
-2
-1
63
-7
51
5
61
0
35
-8
10
1
-37
4
-19
4
-15
-45
-43
-1
-43
34
63
0
-2
-5
40
-1
-8
17
-6
0
-2
4
-51
0
0
3
43
0
0
0
78
0
3
0
5
0
6
0
-41
0
-3
-4
-47
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
150
0
35
0
-12
0
11
8
5
0
65
0
-15
0
-7
5
-174
6
-51
24
-34
0
-18
17
52
0
-51
0
29
0
1
0
32
0
-9
0
15
0
5
-1
6
0
0
-7
-3
0
0
0
4
0
-2
0
-9
0
0
0
4
0
0
0
5
0
-2
-1
65
0
6
7
11
0
4
0
57
0
0
0
-2
0
0
6
1
0
0
0
-1
0
0
0
44
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-27
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
16
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-90
0
43
3
46
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
-13
1
-10
0
-2
-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
24
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
13
-16
1
1
-17
1
-43
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
1
-6
1
-4
0
3
0
-36
0
41
-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
9
0
13
0
-4
0
8
0
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
11
-1
-1
32
39
101
24
-2
-25
-34
-11
31
-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
2
0
1
0
-6
0
0
0
18
0
1
0
20
0
11
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
3
-29
1
-27
4
83
0
3
-8
23
0
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
2
0
-20
0
5
0
-17
0
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-40
-3
66
-17
23
2
34
-11
5
-14
-37
15
10
-1
6
-6
77
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
35
0
-11
6
80
-2
4
-10
5
0
41
-2
-2
-5
-6
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
10
0
17
0
7
0
26
0
11
0
15
0
23
0
47
0
-1
0
-37
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
-48
-14
6
6
-11
10
5
-19
-5
-9
15
31
18
-16
-7
19
48
-50
-23
14
59
75
-9
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
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
35
0
1
0
45
0
0
0
-11
0
-4
0
6
0
0
0
-2
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
8
-49
0
-2
1
5
-4
-6
24
20
0
-26
24
-28
-2
45
-6
29
2
20
14
-61
3
-39
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
-21
0
26
0
-18
0
-8
0
-39
0
-5
0
-18
0
-10
0
4
0
4
0
3
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-5
75
-3
3
22
21
8
18
32
26
-3
-9
1
-21
32
88
-5
90
-24
29
-32
-29
14
-34
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
14
0
0
0
-23
0
1
0
2
0
4
0
-18
0
3
0
-6
0
6
0
-25
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
-50
-3
-31
-23
66
-1
18
5
70
-2
-86
-4
-5
-2
54
13
-4
0
4
-4
-22
3
-5
2
-19
-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
4
0
1
0
-6
0
-2
0
8
0
-1
0
0
0
-2
0
-33
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
33
0
0
2
-30
0
1
-6
55
-3
-2
-7
-57
5
-9
-9
-15
0
0
-18
23
-1
-25
-15
13
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
-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
9
0
0
0
14
0
0
0
-4
0
0
2
-5
1
-4
2
29
1
3
1
8
0
-1
2
-20
6
17
-1
27
0
-60
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
-14
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
4
-13
0
9
-2
-11
0
-2
-32
-13
-1
-15
-1
24
0
-18
-26
99
1
-20
4
-11
-3
-4
-1
-66
-23
-17
-3
18
0
-3
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
-18
0
11
0
-2
0
9
-9
22
1
0
0
-9
0
-14
-8
11
5
-15
-9
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
5
0
22
0
-4
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
-5
-9
-63
0
-29
-7
-37
0
33
-2
-11
27
-7
-60
33
-5
4
-2
2
-4
45
35
-20
1
-21
0
9
0
26
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
9
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
-15
2
-2
0
-4
0
3
0
3
4
-66
4
-2
-17
42
1
-18
-26
10
0
-3
0
-12
-1
36
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
-7
0
-11
0
-1
0
33
0
-3
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
-1
23
1
0
-2
-24
-1
-3
-2
-9
0
-46
7
4
0
-25
-14
-75
-3
-11
-25
34
-11
34
26
-11
37
-14
21
63
-8
-31
-1
9
0
17
0
4
0
6
0
4
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
-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
1
0
1
1
3
0
2
0
9
0
0
0
1
0
-7
-8
-51
0
-15
-1
-3
3
-10
-17
37
2
-16
8
60
0
-5
0
7
0
1
0
1
0
5
0
15
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
-16
0
-6
0
0
0
-10
0
-14
0
1
0
43
0
6
0
32
0
1
0
30
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
-16
-19
-5
8
-13
2
-2
11
8
-26
-18
16
11
-25
13
-11
-17
-114
-1
5
-2
-7
1
51
-2
66
-15
16
-4
13
6
-62
0
-18
0
-14
0
21
0
3
-11
6
0
10
4
-31
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
6
-1
79
0
14
3
6
0
8
-3
-2
0
-2
3
30
0
15
-6
35
0
-14
52
61
0
8
0
-14
0
0
0
0
0
0
0
17
0
13
0
-7
0
18
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
7
0
5
0
-4
0
-5
0
0
0
-14
0
-17
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
20
5
-4
-1
-3
0
-5
0
-33
8
-52
13
23
-4
-2
37
-86
3
15
6
30
2
5
-31
-7
-25
14
-17
151
7
33
0
-3
0
17
0
16
0
-1
7
6
0
-11
1
21
0
-4
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
1
0
-4
0
0
0
2
0
0
0
-5
0
0
0
2
0
0
0
14
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
9
34
0
8
0
24
0
-3
6
-10
0
-29
11
23
0
-5
2
-37
0
-13
0
18
0
-6
-15
-5
-2
18
-5
-33
0
5
-1
10
0
0
0
-24
0
0
-7
14
0
3
3
5
0
-18
-1
-9
0
1
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-2
0
14
0
-9
0
-33
0
1
0
33
0
-2
0
-18
0
-1
0
-23
0
14
0
-2
0
-4
0
100
0
-23
0
1
0
0
0
4
0
1
0
0
0
-1
0
10
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
-39
6
1
20
54
-14
1
11
25
-21
79
-6
-58
-3
-19
11
43
4
55
-22
37
-18
19
-7
23
1
19
-54
64
-25
33
0
-68
0
-7
-4
20
-2
32
1
7
0
8
4
-95
6
-11
-10
-7
1
-4
-1
31
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
0
0
14
4
7
0
-44
4
-33
0
16
7
10
0
-13
14
43
-3
29
4
-10
-2
-11
-2
-4
0
-44
-25
-15
0
4
0
25
0
3
0
-5
0
-2
0
15
0
-2
0
14
0
1
0
-21
0
13
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
18
0
0
0
15
0
0
0
9
0
3
0
17
0
-2
0
-2
0
2
0
-41
0
-8
0
-2
0
4
0
-5
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
-4
47
7
45
23
5
0
-20
36
17
-6
-26
8
23
0
-58
0
-61
5
14
29
75
7
-17
-10
82
-3
21
17
18
0
37
-13
21
-1
-20
1
22
0
11
23
-53
0
19
-4
44
0
16
9
-6
10
11
2
4
-1
-18
-8
-21
3
-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
0
0
0
3
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
7
0
0
0
7
0
-1
0
-5
0
0
0
-35
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
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
-4
14
0
-11
-2
4
0
2
-2
-3
0
-8
-4
44
0
-7
-9
10
2
1
-1
33
0
1
9
69
8
-16
3
23
0
-6
1
2
0
11
0
-43
0
-6
4
1
0
6
0
-2
0
3
0
31
0
5
0
-4
0
-5
0
43
-1
-18
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
-60
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
-16
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
-57
-1
-10
-1
-7
0
0
1
-8
0
-5
-7
-36
0
-10
3
47
0
-6
4
-40
-6
-11
1
1
0
0
0
10
0
-3
0
-14
0
9
-2
41
0
-11
-3
-15
0
7
5
27
0
-3
4
-30
0
3
8
-4
-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
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
13
0
1
0
-6
0
0
0
-25
0
6
-2
1
0
-6
-2
-24
0
-11
4
23
0
-5
-3
-1
2
-17
0
-2
0
0
-1
0
0
0
0
-1
0
0
0
3
0
-3
0
3
0
3
0
9
0
-7
-3
9
0
-6
5
-9
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
-25
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
-13
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
44
0
-1
-2
17
0
3
0
1
1
35
0
2
0
-4
-17
-70
0
1
-7
3
1
-45
2
9
-3
-15
11
3
0
1
0
4
0
2
0
4
0
0
1
-21
0
-8
1
-18
0
13
1
3
-1
-17
2
22
0
13
1
56
0
-31
1
23
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
1
-1
14
0
-1
0
25
0
9
1
0
-2
-1
-1
-26
0
-15
7
33
0
-13
-3
26
0
2
0
0
0
0
0
0
0
0
-1
-5
0
-1
0
3
0
-1
-3
35
0
-2
0
-18
0
0
0
-8
0
5
0
-17
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
-13
0
0
0
-27
0
-4
0
3
0
0
0
14
0
-9
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
20
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
1
-31
0
4
1
17
-2
-45
0
15
0
19
26
-32
2
-5
-6
20
0
8
-7
-43
2
-24
1
-27
8
19
-1
4
0
10
0
-8
1
2
0
-7
0
2
-1
6
1
0
2
5
3
-5
8
33
0
-14
-15
-21
1
-26
-26
20
-5
-23
0
-10
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
33
0
-3
0
7
0
17
-1
23
0
0
0
-3
0
45
0
45
0
11
4
-23
0
-3
2
-59
2
8
0
-5
0
-14
0
2
0
0
0
0
0
-3
0
-3
0
0
0
-1
0
0
0
-8
0
2
-2
6
0
-10
0
-43
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
-18
0
-3
0
-39
0
10
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
-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
13
-17
0
-26
0
32
0
26
10
36
0
-6
2
26
0
-35
11
51
4
-7
-1
-26
0
41
0
4
-3
-8
-2
45
-6
-35
1
2
0
0
0
15
1
-17
0
20
0
-4
1
-23
0
-9
7
-15
-1
9
-7
-3
-3
-14
1
-19
-1
26
-3
29
-3
17
0
36
0
1
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
1
-5
0
0
0
2
0
16
1
0
0
0
0
11
2
14
2
-1
0
24
-1
-6
0
-3
0
-20
1
1
0
-25
2
10
0
10
0
10
0
-6
0
-18
3
2
0
-8
0
0
-2
1
0
5
0
44
0
10
-7
-5
0
-2
0
46
0
16
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
9
0
0
0
-6
0
3
0
0
0
7
0
18
0
18
0
-2
0
-1
0
2
0
1
0
17
0
3
0
19
0
2
0
-3
0
0
0
-6
0
-1
0
-14
0
0
0
5
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
7
0
-8
0
4
1
11
-4
-49
3
-5
-16
7
6
43
3
30
0
-15
-16
-34
0
19
23
42
0
62
10
-47
-4
48
0
-9
0
-21
1
-8
0
-6
23
22
2
-9
10
37
1
8
-9
-78
0
37
-8
44
0
5
6
29
0
-10
-43
-54
-5
94
0
-1
0
-1
0
27
0
-6
2
-26
0
8
-3
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
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
-32
0
13
-1
23
-1
-1
1
-11
0
21
1
-1
0
4
-3
21
0
11
7
31
6
0
-6
-50
0
20
0
0
0
-1
-6
6
0
-3
-1
2
0
1
3
19
0
14
1
16
0
2
0
-5
0
-5
0
3
0
4
-4
53
0
2
0
4
0
0
0
-1
0
0
0
-6
0
-2
0
13
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
37
0
2
0
9
0
0
0
-5
0
0
0
-1
0
0
0
-11
0
4
0
-5
0
-11
0
-2
0
0
0
1
0
0
0
15
0
2
0
-1
0
1
0
9
0
0
0
2
0
1
0
17
0
-1
0
14
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
73
0
-13
-2
-16
-1
6
26
10
-3
24
11
1
0
-5
-6
59
1
14
-8
6
0
-13
-15
13
-2
48
-23
-18
-3
-30
2
21
-1
-17
-2
2
0
-4
5
-14
-2
9
5
45
0
-1
3
21
0
15
-4
-33
0
-4
-7
-6
1
-14
-4
17
-1
-9
0
-10
0
6
0
-6
0
8
-1
35
0
-5
0
-19
0
-18
0
15
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
15
0
4
3
54
0
8
0
6
0
-2
-2
-2
0
3
-1
-22
0
1
5
-46
-6
10
-2
15
0
-8
-1
8
0
4
0
-5
0
1
2
-24
-1
3
0
15
0
-25
0
25
0
-7
0
-7
0
-9
2
1
0
15
0
8
-1
-1
0
6
0
0
0
4
0
0
0
-18
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
33
0
0
0
0
0
2
0
-15
0
-14
0
9
0
4
0
7
0
11
0
-6
0
1
0
-31
0
-3
0
0
0
0
0
0
0
0
0
5
0
-4
0
1
0
3
0
-17
0
0
0
4
0
4
0
-35
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
15
0
13
13
49
0
3
-45
10
0
32
5
68
0
-4
-14
41
-1
2
-37
14
-7
-6
-3
30
-11
23
-8
-95
-5
-13
-3
-14
0
16
-3
51
-1
-6
14
21
0
24
0
53
-5
-25
-8
11
-4
2
5
-9
-3
14
0
11
0
-52
14
76
-1
-5
-1
3
0
-8
0
24
0
4
2
-8
0
0
-2
50
0
24
-1
36
1
0
0
-1
-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
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
-7
0
-6
0
54
0
3
1
14
0
4
0
-11
0
8
-2
14
0
2
7
28
-9
1
6
-14
-4
-1
2
15
0
-62
0
0
0
-1
-2
3
0
25
1
25
0
1
-1
36
1
4
2
-14
0
0
-5
3
0
-11
0
-6
0
10
-5
-36
-2
0
0
3
0
0
0
-8
0
0
0
-7
0
0
0
-13
0
1
0
-14
0
0
0
-18
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
1
0
2
0
1
0
26
0
-17
0
-10
0
0
0
-5
0
-3
0
16
0
3
0
-1
0
0
0
0
0
1
0
7
0
0
0
3
0
2
0
1
0
1
0
-15
0
1
0
9
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
26
5
-2
19
-7
2
0
15
23
6
0
-6
-6
44
0
46
-17
23
-2
-7
39
-25
1
-18
-22
-85
-13
21
0
-4
-2
-2
25
1
0
14
2
53
0
11
-6
10
0
26
0
33
0
7
10
-44
0
-10
10
7
0
2
37
74
-4
-43
-1
-3
0
25
15
14
0
-47
-4
2
0
1
-1
-26
0
5
1
21
0
-1
-8
-35
0
-23
11
-17
0
-11
1
-41
-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
-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
23
9
0
10
0
-37
1
8
0
31
0
14
0
32
0
13
-8
0
-1
-3
4
-3
0
3
0
41
1
-8
0
34
0
0
11
-23
0
-16
-1
7
0
0
2
8
-1
-20
1
31
0
8
1
-45
-1
6
-1
-31
0
-9
-1
-26
0
-15
0
-8
0
-14
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
22
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
15
0
2
0
-13
0
1
0
1
0
-10
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
10
0
1
3
-49
1
-1
0
5
0
1
3
11
-2
-20
-1
-3
0
0
0
45
0
26
7
16
4
-3
0
0
0
0
0
0
0
0
0
-3
0
1
0
6
0
0
0
-16
0
-3
0
-7
0
3
0
-37
0
9
0
24
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
3
1
11
-1
0
0
8
0
2
0
3
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
-1
0
43
0
-1
0
-9
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
11
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
18
0
20
0
1
3
65
0
1
0
-10
0
8
-13
1
0
-18
0
-52
-1
-17
-33
-7
2
14
-1
-14
0
47
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
18
0
-3
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
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
10
0
3
0
15
0
2
-7
54
0
-15
-4
-43
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
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
1
0
-5
0
1
0
1
0
4
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
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
13
0
5
-1
-17
-1
13
-1
18
0
9
0
-27
0
8
10
-24
-5
35
5
12
2
-27
-5
-57
-2
0
0
16
0
-5
-1
-4
0
0
0
-7
0
1
0
1
0
0
0
-4
0
-6
3
-14
0
15
3
-13
0
2
-1
16
0
-14
0
8
-4
-4
0
4
0
0
0
1
0
2
0
-3
0
0
0
-6
0
-3
0
22
2
0
1
-3
-1
4
-1
-43
0
0
0
13
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
-17
3
13
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
-24
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
11
0
0
0
3
0
0
0
-33
0
-6
0
0
0
0
0
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
25
0
-10
0
-8
0
-1
-2
39
0
6
14
71
0
-41
-9
-10
3
-20
11
-67
0
-2
-5
-13
0
2
2
0
0
-1
0
4
0
-2
0
0
0
0
0
13
0
0
0
-7
2
9
0
9
0
6
0
-4
0
4
0
1
0
2
0
8
0
0
0
1
0
1
0
-17
0
-1
0
-3
0
0
6
24
1
-15
-1
-7
0
-4
1
-17
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
11
0
0
2
4
-1
-25
0
-20
0
6
4
34
1
-31
0
-1
0
-18
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
4
0
-7
0
0
0
10
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
20
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
-20
0
1
0
14
0
-3
0
10
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
15
0
-13
4
10
0
-11
-1
63
0
50
-2
-11
0
-7
-6
-8
-3
31
27
-39
4
20
17
50
-1
-19
0
9
0
0
0
-1
0
1
0
-3
0
3
0
-16
1
3
0
-2
0
5
1
-5
0
-11
-1
11
0
5
1
39
0
14
0
3
0
0
0
10
0
0
0
0
0
1
-1
4
0
-3
0
-33
0
-3
0
-8
0
1
-1
13
0
-9
0
65
-1
13
0
0
0
0
0
0
0
0
0
-2
0
4
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
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
-9
0
0
0
0
0
0
0
33
0
0
-1
-5
0
0
-1
6
0
0
-1
-15
0
0
0
18
0
25
-7
-18
0
-14
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
9
0
0
0
9
0
4
0
1
0
0
0
-14
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
-39
0
1
0
11
0
0
0
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
39
0
6
0
11
0
-3
-7
-3
0
8
-1
33
0
-1
7
-7
0
-15
11
-14
0
-41
-15
-45
2
-5
7
9
0
3
0
14
0
0
0
0
0
1
-1
-6
0
-7
0
5
0
4
0
-6
0
4
0
9
0
1
9
44
0
-3
2
-6
0
-3
0
16
0
-1
0
1
0
0
0
-1
0
2
0
19
0
2
0
3
0
1
0
-4
0
0
-1
6
0
-10
0
71
0
3
0
0
0
0
0
0
0
0
0
-16
0
1
0
-32
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
7
0
-11
0
0
0
20
0
2
0
34
0
0
-1
26
0
-8
5
16
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-1
0
1
0
-4
0
0
0
5
0
0
0
-29
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
-13
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
10
0
0
0
0
0
0
0
7
0
1
0
-2
0
1
0
-6
0
3
0
-3
0
0
0
26
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
-5
-1
4
0
-15
0
-7
0
-16
0
-4
-2
36
0
31
11
-7
0
-14
7
-1
0
3
-18
-20
0
20
0
-29
-11
-16
1
55
0
1
0
25
0
-7
0
45
0
3
0
-5
0
3
2
24
0
-3
0
34
0
-23
0
10
0
-6
0
3
5
2
-4
7
0
0
0
2
0
-5
-1
-29
0
0
0
-34
0
13
-9
-18
0
-9
-2
33
0
7
-2
14
0
-1
0
26
0
-14
0
0
0
0
-4
6
0
0
0
3
0
0
0
-9
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
29
0
0
1
7
0
0
0
-8
0
11
0
18
0
-4
-2
14
0
-7
0
-6
0
0
0
31
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
-11
0
0
0
-2
0
0
0
3
0
0
-1
2
0
2
0
0
0
0
0
-7
0
0
0
14
0
0
0
-19
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
-25
0
-1
0
2
0
1
0
-14
0
-2
0
-5
0
0
0
48
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
-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
32
53
0
-32
5
19
0
1
3
13
0
-14
-1
-11
0
-5
-9
20
2
-7
0
-11
0
14
-7
-21
5
-64
8
-5
0
8
1
14
0
9
0
-10
0
-3
0
26
0
-4
0
15
0
0
4
8
0
-1
-1
-13
0
5
-2
-15
0
-21
0
9
0
-1
-2
-3
0
0
-1
0
0
2
3
5
0
0
0
17
0
0
2
-13
0
-14
0
-6
0
0
0
-11
0
-7
1
4
0
0
0
-9
0
0
0
2
0
0
0
5
0
1
0
2
0
3
0
0
0
0
0
11
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
52
0
14
0
2
0
0
0
11
0
3
0
-1
0
-7
-3
-25
1
-24
2
1
0
-2
0
10
0
-23
0
-13
0
0
0
0
0
-1
0
-1
0
0
-1
-2
0
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
9
0
0
0
-9
0
-1
0
26
0
1
0
0
0
4
0
5
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
0
26
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
6
2
7
-1
1
4
40
10
51
-28
-31
11
-19
77
42
11
44
28
4
38
80
23
22
48
-55
3
9
3
-20
70
1
-5
-2
-1
18
-11
-16
16
-15
28
13
-11
-11
21
-5
33
-5
22
4
4
19
-43
-39
-8
25
25
8
50
10
20
-21
63
-62
-12
-42
0
26
-2
14
43
-66
-9
99
13
69
-34
53
15
15
-5
-24
73
23
-35
-5
32
-6
6
-22
36
19
-3
5
-14
4
32
-31
3
3
-4
-2
30
23
-66
14
20
-22
-14
61
-53
-22
44
71
-4
3
-11
-23
20
10
9
-14
15
19
15
26
-7
39
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
37
2
54
-5
-2
17
0
-74
31
8
25
-11
-1
30
-71
7
5
10
1
31
1
-7
-33
0
-15
-25
34
-32
-21
9
-19
-40
21
24
-14
-17
0
20
-3
13
9
16
-7
46
-25
19
21
20
2
-21
3
9
-3
1
27
-20
13
-10
-3
65
26
1
3
-9
-2
30
-3
11
2
15
4
13
21
24
-9
1
-8
-7
1
-1
-2
2
2
0
1
8
15
0
-13
0
2
4
9
-7
-11
-54
24
31
0
-7
0
0
-7
16
13
5
13
-13
-4
-1
13
-13
-4
-14
-1
1
0
-25
-5
-8
-1
-1
-2
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
49
23
52
2
-11
-63
-21
39
-5
-55
5
7
7
0
-5
4
-1
-2
1
-17
-1
12
14
-8
-53
19
-18
17
0
-9
24
-8
-20
66
-4
5
9
27
7
-13
20
-11
-19
-20
3
2
-3
6
-21
3
16
-22
40
-10
11
-6
8
-12
4
6
4
44
-28
-2
58
-17
-5
1
-3
9
1
8
-1
-3
0
1
-9
1
-16
11
3
6
40
-10
3
3
-98
-14
-93
7
7
-50
28
43
14
-31
-11
-17
25
-1
-10
5
9
3
-13
-2
0
2
0
-8
-19
-8
9
-3
-5
25
46
-77
-43
34
-104
43
-23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-38
-22
14
54
25
33
-27
-10
4
-2
-11
-18
2
-21
-21
-9
-17
9
50
-5
-46
-34
-1
3
13
16
-1
12
21
6
-19
7
-7
-32
6
25
1
13
-2
11
-6
13
-1
-14
-2
0
-27
-62
43
-59
22
23
9
-124
-5
1
-17
14
24
-15
24
-24
13
0
-11
-2
-4
1
0
1
1
8
-2
20
1
-1
0
0
-38
-32
3
19
13
-25
-16
17
0
25
-6
48
27
-33
-38
-5
35
-17
19
-3
-2
0
0
0
-8
0
-4
-7
0
0
0
-6
-62
-7
-14
58
-32
-5
-7
11
12
1
0
-23
5
58
58
-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
1
17
16
-13
-21
33
-25
-26
52
31
25
15
23
-24
-5
25
-38
37
-9
0
-31
10
-49
48
16
43
-39
-19
-26
0
7
-7
5
3
8
-4
10
18
7
11
1
27
40
-35
5
53
8
-59
60
-20
1
13
-10
31
38
-17
26
3
-11
24
6
-68
23
-4
57
-25
86
17
-6
24
-42
-16
15
-5
-13
-1
14
-3
20
1
26
42
-45
51
44
10
-23
5
86
9
5
24
30
74
-64
1
-28
14
6
9
90
-123
50
-36
43
-27
-45
-1
66
34
14
25
-6
53
62
-12
-8
21
5
14
-18
87
-20
7
5
8
8
-23
-4
-21
25
42
-29
54
44
11
-12
18
18
3
17
-1
-46
-18
-15
34
23
11
13
-24
-1
-15
34
16
5
35
31
4
-4
-22
9
-29
14
4
47
8
-33
20
-14
20
24
19
-5
-14
-1
10
-6
26
4
-19
-2
10
4
3
-1
-21
10
9
16
25
11
40
18
-24
-5
-18
10
5
0
25
22
18
-1
7
-6
5
14
11
-7
-3
-1
-4
0
0
0
1
0
-3
-8
0
1
1
-4
-27
4
-8
5
24
53
41
-20
7
-20
11
39
-8
1
-18
-3
9
17
-24
1
11
-27
5
-1
-8
5
-4
13
25
7
17
0
-18
-39
32
-3
62
26
52
8
-3
16
31
-6
-1
16
-14
-8
6
-43
45
27
24
4
-17
0
-4
10
-18
11
15
4
7
11
47
17
40
3
2
36
50
6
0
3
-27
-4
23
16
-3
-1
4
-3
-29
-9
6
-25
-11
6
3
9
-9
-3
-16
-27
-7
-1
58
-8
-42
-26
-65
-6
-8
0
1
4
56
-1
0
0
0
2
3
14
-8
0
3
2
-1
-1
-6
-5
3
0
3
9
9
0
-5
-20
23
-17
-1
16
-5
0
21
8
17
3
4
-4
0
-1
5
-6
9
1
-15
-17
-1
2
0
-13
-9
0
5
2
-3
0
5
-31
44
15
12
-5
4
0
25
-5
3
0
-2
2
1
-2
1
-7
5
-3
-7
23
9
0
-3
-1
-17
4
3
0
8
-3
-17
25
-5
4
-20
-6
2
0
2
9
-20
-7
3
0
0
0
2
-17
-6
3
8
-1
5
0
0
3
5
1
0
-1
2
1
29
62
62
35
36
-2
14
0
-4
-4
-8
1
-6
0
0
0
5
-10
-14
-2
20
3
0
0
0
-2
1
1
0
-2
1
-1
-76
-4
-8
-71
45
-24
-13
-2
3
-15
1
-4
13
-2
1
0
3
47
-52
4
-57
15
0
-1
-1
-2
2
0
-2
26
-2
-6
45
9
0
-2
9
-18
-1
7
5
40
-17
14
-55
-5
-5
0
10
1
1
-3
-4
-10
-10
27
-10
2
-4
-2
-5
0
-56
-22
1
43
8
1
22
5
10
2
3
3
3
-7
3
-18
27
-2
-5
-4
-5
-9
1
-3
-51
5
3
25
4
-7
30
29
-17
-51
-4
26
71
26
-7
2
-4
1
21
4
18
-1
2
-11
-15
-6
14
0
-11
-24
-22
37
59
-29
-52
32
-31
-16
-78
-7
-1
-24
6
-6
24
21
-97
-17
9
0
18
4
-24
2
-20
-1
0
0
-21
-2
-17
-5
-21
-47
2
47
-12
-12
-32
2
13
50
8
22
-6
24
-5
-31
12
-11
26
0
-13
-2
7
2
6
6
-4
0
25
11
12
11
-16
-27
44
-114
23
-44
43
-14
-6
25
-11
34
-41
7
-14
6
4
-1
2
0
-1
14
0
-1
1
0
2
0
8
-3
-46
43
13
15
10
-9
-3
-22
1
-8
-6
45
-14
3
-16
17
-37
-1
-25
0
4
0
-3
0
0
0
0
0
0
0
0
-5
-2
24
-89
41
6
-14
-23
3
-11
27
-14
-9
-6
37
53
9
2
18
-3
-4
0
0
-2
1
1
0
-3
0
1
-1
0
-19
-43
-26
-31
-61
11
4
-17
-35
10
33
11
2
10
18
-6
30
47
25
0
-24
32
-10
28
-5
13
-1
10
1
9
-5
5
14
-39
55
-23
12
44
29
-26
0
3
3
-17
-6
2
11
1
22
-52
-4
14
32
-48
-25
35
-1
-8
5
9
-1
1
1
6
0
19
23
6
-10
7
-15
63
0
-15
20
4
-19
5
31
-4
6
-48
3
14
2
-8
0
-6
0
-1
0
-5
0
1
-1
2
-21
-22
11
5
4
21
7
48
-1
15
15
2
-16
-23
53
-31
-52
-5
-26
16
18
5
0
-1
0
0
0
-3
0
0
0
0
-73
54
-23
-59
31
-3
5
15
-5
44
19
42
42
33
14
59
5
56
10
45
-17
-10
13
10
26
7
-9
5
-1
0
3
-4
18
18
-19
15
28
-5
-6
-47
4
66
-41
-32
16
-11
-43
52
26
37
17
-5
0
11
0
-6
2
-4
0
-2
1
0
-1
-2
-46
-53
-14
-25
20
-15
11
-3
-3
2
38
-35
-22
17
23
29
3
-14
2
18
0
16
1
-2
11
-9
0
-4
0
1
0
1
-6
-9
16
-4
57
14
11
20
18
2
-5
-18
-57
27
-10
72
5
-10
-61
-42
5
-26
11
-32
22
-31
25
7
-8
38
14
17
-6
-13
-3
-2
-16
14
-5
47
0
-1
25
31
21
73
15
47
10
6
25
7
43
9
34
-21
25
32
36
25
-1
21
20
16
-54
9
-10
42
-29
2
-2
23
-20
60
-45
37
4
-26
45
-9
14
1
-38
20
-29
21
-22
-3
10
14
14
-13
-2
6
-31
-34
71
-27
74
-50
-19
16
-1
-40
48
88
-19
-3
25
-3
-4
-2
5
-17
15
71
14
23
-3
-24
-5
18
19
15
53
17
6
6
-12
-9
-24
-8
-5
5
5
7
52
11
-6
-14
19
33
10
1
-2
8
40
12
31
30
20
35
23
23
-29
-82
-33
74
-11
18
0
-38
13
50
24
8
3
13
-21
4
8
-17
35
4
-43
-5
7
-25
14
17
-1
6
6
-10
3
-13
-15
18
-4
0
-11
3
-15
29
-1
-23
5
-6
0
-24
26
13
17
7
6
8
-3
-13
48
-24
-6
-14
21
34
17
-8
31
5
9
20
0
4
1
11
4
0
0
4
-18
-9
0
-1
-5
-25
1
1
-13
6
-2
34
40
24
19
-16
2
-14
-1
5
3
7
8
-5
0
-9
0
4
-1
-2
0
-1
0
0
-4
-4
2
0
-1
-2
1
-1
0
-30
-17
27
-10
60
-2
-11
2
25
8
-2
32
-51
8
-1
-1
-36
20
13
-2
-17
-33
15
-18
14
0
-16
5
9
-19
17
27
-1
34
33
-5
-39
-1
25
8
15
32
8
7
45
-3
-6
-6
29
-10
-7
4
17
-3
3
-9
-6
6
13
-3
-14
-6
-2
6
-25
33
28
-49
63
-1
11
-1
25
9
-4
-3
24
6
0
1
-1
4
-14
2
0
4
0
0
2
2
-6
0
5
0
0
-8
-15
5
8
15
-43
17
-21
1
0
1
-8
-1
2
1
-1
-1
7
0
10
0
10
-1
-1
0
3
-3
-3
3
6
3
1
2
-19
22
-1
43
-71
6
4
6
11
7
21
4
4
0
-1
0
9
-7
8
1
0
-6
2
0
3
-9
4
0
2
0
0
10
-27
-19
-12
-13
-48
3
1
0
8
-4
-2
-7
1
0
0
0
4
6
-11
2
-1
0
4
1
-2
-4
0
0
0
0
0
0
10
21
13
-18
-18
0
10
0
1
2
-10
-2
0
0
0
0
0
-20
3
-1
-6
0
0
0
0
0
0
0
0
-8
1
0
0
17
-35
-13
-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
21
6
-27
-14
62
0
-6
0
-9
4
-25
-21
-14
3
1
13
-7
-9
46
6
17
0
-18
0
0
-23
-8
4
-3
6
32
5
97
-18
-11
11
-14
2
25
0
0
-5
-6
4
36
-1
-3
0
3
0
0
0
-12
-10
18
-7
10
9
-15
-47
-10
-4
5
5
2
-83
4
53
19
-5
0
-11
32
9
5
5
29
4
-4
-8
-2
-1
5
-1
-10
0
-5
-18
17
-13
-2
-22
-26
-25
10
17
1
18
25
-1
-7
3
0
0
-8
2
4
-1
0
1
0
0
-9
1
1
6
-35
18
62
-35
-3
-6
23
-6
-26
28
-76
-4
5
-16
42
-2
-33
13
-3
-2
-1
10
5
0
0
0
0
-1
-15
-5
3
-10
4
6
25
73
-49
11
-6
17
-32
-13
-3
11
14
-25
-11
-9
28
-1
9
-1
23
-6
-4
0
9
0
0
1
-2
-2
-26
46
31
51
25
23
-5
35
13
-4
60
-23
-44
-34
15
52
-30
1
-17
4
2
2
-8
1
1
2
0
-2
-1
1
5
1
-11
14
-49
-45
-37
5
10
69
31
31
-13
9
-21
35
-3
-14
1
3
-27
0
8
0
3
0
0
0
0
0
0
0
0
-17
-10
49
59
14
-53
-2
-29
38
45
-26
-9
33
-14
35
43
-5
-7
17
7
15
0
0
3
2
-2
0
0
0
1
1
7
-6
-29
-23
-135
49
-30
44
-10
12
19
42
4
5
45
-22
9
0
17
8
-28
-10
25
1
-11
0
1
-5
2
6
-11
-7
15
-10
-13
-13
50
-54
45
-21
-32
0
-3
16
-18
-13
-37
-23
7
30
10
3
16
-2
10
0
15
16
3
-7
2
-3
-1
0
4
-4
-23
24
-52
44
-13
-5
14
0
11
32
-10
20
23
34
9
-9
-34
-18
-37
-11
8
0
-5
0
10
1
-5
1
0
0
2
0
-8
19
41
-1
39
-15
-11
-8
-13
-3
96
2
65
-24
30
45
-1
-32
43
4
-1
6
9
1
2
3
3
0
0
0
0
-41
-7
36
20
-8
7
-6
-17
-1
31
-45
-71
-37
4
-37
27
10
-28
-22
32
-1
43
0
5
0
13
1
-8
0
-1
0
-1
-29
20
-14
59
-1
18
-3
42
26
-2
-15
2
17
9
-3
-15
44
0
44
13
-3
-4
-1
1
5
5
0
-1
-2
1
0
0
-20
-105
2
7
0
-15
-16
-9
-11
19
67
-64
-33
78
-14
63
44
50
6
-100
2
5
0
5
-15
-10
-1
9
-1
0
0
2
7
-28
-11
-47
45
26
-17
17
24
-22
-18
77
-15
-4
-55
2
8
1
11
2
-14
-7
45
-20
-41
-15
-4
-2
-8
-21
10
35
2
-4
-3
2
9
-12
-16
27
-5
-5
-5
-14
5
2
39
-7
1
8
22
-7
0
31
116
-20
-39
-3
59
6
2
51
-3
18
39
27
3
9
10
9
-1
5
24
14
0
25
-28
-3
35
-32
2
-6
-5
-14
20
12
-4
0
13
66
10
22
-4
-10
36
-57
18
-16
-5
-11
30
20
0
-10
13
-5
3
-81
4
55
-29
-8
3
-19
28
24
-56
5
-10
18
0
-1
57
-33
35
-6
-15
9
10
-8
45
19
-20
16
-21
15
41
10
21
29
-31
28
-9
4
23
-20
6
-30
-16
9
-39
-9
34
-14
60
-25
62
-5
-8
-22
14
100
6
-5
-6
-2
-2
-17
20
27
-18
27
2
-31
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
-18
22
-26
94
35
22
4
-27
-5
38
3
11
5
0
-3
-23
-4
-22
-37
63
19
0
-3
15
46
18
-9
-18
-39
6
-27
2
31
-20
9
-20
29
3
14
-49
-5
-1
5
0
17
-15
-1
-17
18
-72
-1
14
45
21
4
1
42
37
0
13
-14
-9
3
0
1
54
8
18
19
18
10
11
7
9
9
11
15
2
-5
-10
-14
8
-43
-13
-15
-3
-2
3
-11
-1
10
-3
15
-14
-2
7
-20
-13
35
-6
-6
23
-8
5
5
-44
14
9
7
-1
0
-3
-1
14
-17
-36
0
9
1
15
1
-6
-4
-5
-1
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
22
-32
71
10
4
25
71
-1
18
9
-58
14
11
9
-1
0
5
2
1
0
1
7
-6
-19
-3
11
-8
14
59
4
12
22
65
-10
2
24
9
27
-10
-7
-10
17
14
-3
10
-11
-2
2
5
-8
-15
-57
24
1
28
39
-75
23
-14
-30
4
6
13
0
14
32
-1
9
1
9
16
31
0
-52
5
-2
0
21
7
-4
17
23
-34
4
-3
-34
27
13
3
-30
-107
25
-43
-17
-5
-48
-14
59
1
2
-10
9
-16
-21
41
7
-1
14
-15
-9
-3
-20
-4
-34
-23
-10
10
-66
-28
14
11
6
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-13
6
43
-1
7
-30
42
4
9
16
-33
6
2
22
82
-32
-37
21
-57
-24
-17
-1
0
10
-8
1
-26
-33
4
62
-44
6
25
-14
2
1
9
29
3
-7
21
4
5
8
37
18
12
-4
-107
16
17
-37
-28
-3
-24
-9
-1
-25
14
26
-6
0
-16
-1
-8
-18
2
0
-1
10
0
-13
9
-23
-1
3
-8
1
-42
56
35
78
42
-17
-8
-16
-9
-74
-15
2
52
6
-28
-6
7
0
-7
-2
-7
2
6
-5
9
-3
11
31
-41
-8
7
-24
-65
14
32
10
10
-25
-25
-14
-71
4
10
63
55
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
54
-19
30
16
-12
-33
20
-2
-2
28
-4
14
21
4
30
31
24
35
-44
22
-3
0
17
-50
-16
6
-23
-15
6
3
31
-12
-8
-12
32
41
37
50
-14
-14
36
-2
40
15
25
19
7
-14
-36
-6
-5
19
-5
-3
20
-20
-2
2
-7
-15
8
-24
14
22
81
34
-33
33
46
-2
53
19
3
-2
-13
-16
-17
7
-37
22
0
1
19
-2
24
41
1
3
-26
37
33
11
-17
7
-3
8
30
-14
64
24
-18
-4
14
6
22
-16
-15
0
-4
6
33
23
46
-1
0
-31
9
-10
-1
-2
21
-41
25
-52
-26
-8
104
41
2
51
-2
43
48
9
6
17
9
2
1
16
5
-25
5
-16
8
-16
6
3
-1
7
0
7
-16
5
0
-46
-21
11
-5
-15
26
9
-30
27
9
43
-1
17
-5
-9
-9
-8
-13
-58
6
-18
8
19
0
-2
25
37
0
2
-1
10
2
-5
-9
18
-14
-33
4
28
13
17
2
1
-10
-6
8
6
0
-5
14
-6
-2
-26
-1
-1
-1
0
-2
-1
1
0
0
-1
1
13
-8
18
-26
7
-18
24
22
-33
15
-16
5
2
8
24
13
10
-21
-18
20
18
0
-17
3
-2
-8
6
1
-1
-26
-8
0
5
22
61
43
-7
-35
75
11
21
-8
24
15
27
-4
10
-7
-3
5
9
14
2
-20
0
0
-6
48
5
14
4
18
0
-5
32
67
-12
55
18
-15
31
-31
-14
-33
39
1
6
-34
15
-4
3
7
-23
0
0
5
-3
0
-1
15
6
-3
-1
-31
14
-3
14
-30
-12
37
-76
3
15
8
-6
-3
4
-1
-10
2
-5
0
-8
10
1
-2
3
0
0
0
0
1
2
0
1
5
0
-1
15
23
-14
-4
-59
4
13
2
-5
22
10
25
33
2
-10
3
-21
6
7
-1
8
3
0
0
0
-4
1
1
11
-14
-2
0
6
33
5
-1
23
14
11
-11
8
19
-41
1
5
7
10
0
-5
0
-5
2
-1
2
2
0
-1
4
0
0
0
-2
0
0
-31
4
7
-15
43
-4
44
1
-3
-16
-25
2
0
14
0
0
0
5
9
1
2
0
-1
0
0
5
5
-1
0
0
3
0
-1
33
-26
11
53
3
29
1
6
-4
-8
0
-1
-1
0
0
1
17
5
-7
-13
0
0
0
0
0
-8
-1
0
-1
0
0
-33
-35
-90
29
-32
-15
18
2
0
-30
13
23
-1
0
0
0
0
-43
-1
-2
13
-9
-1
-1
-1
-2
20
0
-2
9
0
0
20
-8
75
5
-5
28
36
-2
-40
9
13
7
16
-2
0
11
0
0
0
7
-9
-2
17
20
-7
-4
-21
-12
25
38
-27
3
-12
49
-5
0
-12
-28
-5
-10
-1
2
-5
-5
14
-4
-6
-11
11
1
-3
10
-2
24
-44
14
6
-5
2
-10
-45
56
-5
-8
-22
-1
34
-24
45
4
-7
1
8
0
3
3
0
0
0
-1
-3
-1
1
7
2
93
60
-5
-28
-42
-19
43
-62
9
14
-8
-23
14
-14
20
8
10
-24
3
-43
-8
0
-1
-16
-3
5
0
-8
-4
-6
3
10
62
21
17
-4
-2
-33
-45
-36
-91
-59
-41
20
21
-20
9
17
14
33
0
-4
23
2
1
0
0
5
0
-1
5
-11
56
-4
41
-19
-44
-53
12
9
-15
2
-47
26
45
21
22
1
-5
-15
-9
-10
0
25
0
3
0
0
0
-2
0
0
25
-7
-48
-31
30
-22
-63
-13
-20
20
-4
7
14
31
2
-27
6
14
-2
-25
-5
0
-2
0
0
0
0
0
-1
0
0
0
13
-3
15
8
-33
43
41
-58
-76
45
32
2
-46
6
20
41
6
-32
-7
-20
7
25
-1
-3
1
0
0
-1
3
0
0
0
-5
-23
-18
-17
-14
-15
-54
-23
0
35
5
-7
-24
-11
-15
-5
-14
14
8
49
-13
2
0
-11
-4
-43
5
-9
0
-1
0
0
-8
-1
24
-34
-80
-6
-39
53
0
-4
-7
-22
-9
-24
65
2
5
-14
-8
37
43
-11
8
-10
-9
-13
7
5
-1
-3
1
-3
-8
-98
7
19
-2
16
-7
7
-4
-8
15
19
11
8
-42
0
-1
8
-14
23
-1
1
0
-1
2
-11
-1
0
0
0
0
1
29
31
-76
-49
3
9
-4
15
-4
8
-2
11
2
1
-38
24
-37
21
-16
11
-2
1
0
-2
-9
14
0
-2
0
0
0
0
14
-38
-36
-2
15
5
-2
11
-9
1
41
25
5
90
-52
9
49
46
15
-20
-23
-18
1
33
7
57
0
11
-3
0
0
0
15
-1
-10
21
-14
2
24
-5
30
15
25
-14
-5
-21
42
-23
28
-21
27
24
-9
34
0
1
13
0
0
3
0
-11
1
0
-3
13
-14
14
-22
8
-2
-3
-18
-48
0
-19
31
23
-7
29
-5
37
-18
0
13
39
-5
-9
-2
2
-1
1
0
-4
1
0
7
42
-7
-20
-9
6
21
9
-9
23
-2
43
-11
-7
-23
57
-14
-1
-13
-9
41
21
5
-21
2
56
-18
1
17
-5
16
-52
0
-21
-51
-21
-16
-5
-5
-3
6
-23
-2
31
-10
11
25
-12
0
-16
-49
15
1
45
-10
1
20
34
40
17
-24
34
-2
-4
22
45
7
-37
43
-25
1
-8
25
23
29
-22
31
3
33
14
-6
-3
21
35
23
49
7
-42
-4
-12
13
17
34
-18
8
36
68
-36
1
25
-27
13
-23
-2
4
77
-5
-53
-46
-4
-4
6
-22
12
47
42
13
42
-18
52
21
14
-10
-21
16
25
11
4
-34
6
15
-5
-5
15
0
32
3
5
-26
11
-13
9
3
14
11
4
-29
-13
15
13
-24
58
80
-23
7
8
0
-17
-4
-19
-12
25
-5
-32
-6
6
8
11
-7
18
-1
11
-9
36
-5
28
32
24
20
-40
13
-16
-3
-43
-3
20
-6
0
0
7
0
-5
19
20
3
-6
0
-5
-2
3
3
-10
2
-3
36
-4
1
-18
-26
-17
22
-32
37
71
-6
-2
-19
24
3
11
0
-15
0
8
-27
-9
-3
3
5
-1
-1
0
6
0
0
2
1
0
0
-2
58
-17
8
0
-7
11
0
0
23
-25
-2
7
1
-3
0
0
-2
-5
0
0
0
0
0
0
3
-5
0
-1
0
0
1
-17
67
-15
-23
44
22
4
8
-33
-11
2
-15
-1
9
-11
0
-2
41
-32
2
9
-1
-1
0
1
-13
-25
-3
-7
19
0
-2
-12
6
8
9
31
-36
25
3
21
-12
5
19
-6
14
25
-3
-4
-30
-7
0
9
4
4
0
-3
13
-1
-1
2
7
-20
0
-47
15
29
35
-7
-9
47
0
5
-1
-20
-2
8
2
-13
0
-2
-24
-6
2
4
1
-3
0
0
7
2
2
0
-11
-4
0
-8
6
61
-2
-19
-18
5
3
-1
1
-1
24
2
-1
1
-1
1
4
4
-1
0
5
1
0
-2
20
-7
0
0
-1
1
0
-25
1
-18
2
-3
14
14
-1
18
-27
26
-1
2
-1
-7
0
0
26
14
0
-3
2
7
1
1
5
0
1
0
4
0
0
-27
-2
-48
16
-45
4
-10
2
-1
24
0
0
0
0
3
0
1
5
-13
3
-1
0
0
0
0
-1
8
0
0
0
2
-2
-15
2
-14
25
-8
17
6
1
4
0
5
0
-1
0
0
0
0
0
-13
-1
0
1
0
0
0
10
-17
0
0
0
-2
0
-22
-26
-17
52
29
-13
0
-2
-4
-2
-6
0
1
0
0
0
0
20
-17
0
0
0
-1
0
-1
-1
-7
0
0
-1
0
0
18
-2
26
22
43
-5
4
-1
-9
-8
5
1
2
0
1
0
0
-15
50
23
-4
-7
-3
0
0
7
-9
3
0
-17
-6
0
-8
14
-38
15
48
25
-31
20
-19
-13
-26
6
3
-6
-19
-4
-8
1
-3
16
-6
4
-20
-11
-25
-5
22
3
2
8
-9
-28
-16
-5
-1
80
-22
23
-14
-9
28
37
7
26
-11
-5
18
-6
-26
0
-2
-4
-17
-13
0
-15
-23
35
-16
-6
-12
-37
-30
-4
-23
-10
-3
16
6
24
3
-4
-6
15
2
2
0
3
-4
0
1
-1
-1
23
16
20
-23
-49
-14
-21
7
15
-6
44
43
87
-5
-15
37
-5
-35
15
15
1
-7
7
-15
0
8
5
4
0
1
-3
2
4
8
-8
-11
-6
-53
18
-76
-21
5
9
-13
-34
79
7
28
-17
9
10
-19
0
8
0
-6
2
8
2
0
2
-1
-4
35
2
0
62
32
-7
-5
27
6
-57
48
4
-21
-21
2
9
10
14
13
-3
4
1
3
-23
35
0
1
0
0
1
-4
-1
13
-3
-29
5
-11
14
-3
-33
-3
-6
-4
18
-4
20
-42
3
-43
-5
-9
6
-2
0
0
4
0
0
0
0
0
0
0
14
-4
-32
24
19
20
-21
34
-31
3
6
15
21
0
0
3
59
-13
-6
-48
-18
5
-1
3
-3
5
-1
0
6
-4
0
0
-4
-6
6
3
90
33
33
13
-82
-14
9
7
5
1
-13
-14
15
22
13
-15
-5
-2
-10
13
9
-4
-6
5
11
-2
-1
-8
-6
-39
-32
23
-32
36
-17
59
0
1
11
13
-17
-6
1
5
16
30
35
-18
1
-21
0
3
-17
17
0
1
0
-1
0
1
0
1
18
62
24
11
-14
-11
2
-2
-10
-20
-33
2
29
-8
-17
5
-5
3
7
-5
-1
3
1
-6
-1
0
0
0
0
0
11
20
-20
31
-53
23
26
-32
0
26
78
28
-22
-4
70
-34
1
-5
8
15
-1
20
0
-1
0
14
0
-3
-2
-1
0
-2
76
46
5
-33
-30
27
3
-1
-5
-3
14
4
-25
-31
-25
-19
-43
2
11
22
-15
11
2
3
16
-11
0
-2
0
0
2
2
-18
73
32
46
-74
46
1
-46
-8
28
-45
44
-17
21
-11
28
55
-7
43
6
6
-44
-2
0
11
18
-1
0
0
0
0
0
-33
52
-54
14
4
6
-20
1
12
1
-66
3
-16
2
31
-6
8
35
9
9
-13
10
-1
1
-15
7
0
0
-1
1
0
0
-17
-90
84
32
-55
25
17
-31
24
-15
4
22
-27
-2
-10
-63
2
-4
-20
-5
23
11
43
-8
-11
14
43
0
41
-23
29
-29
1
-12
2
-4
3
0
-1
0
0
-10
0
3
5
18
-19
-3
0
-10
18
-20
0
0
0
0
11
-44
12
33
0
0
0
0
24
-11
35
-13
0
0
0
0
-23
-17
11
10
0
0
0
0
3
1
2
-1
0
0
0
0
-19
-12
43
7
0
0
0
0
131
-2
31
46
0
0
0
0
-43
32
-2
25
0
0
0
0
31
-16
52
32
0
0
0
0
-34
42
26
-6
0
0
0
0
34
20
-8
-19
0
0
0
0
3
7
31
20
0
0
0
0
11
-8
64
-46
0
0
0
0
52
25
26
-25
0
0
0
0
-2
13
-18
-10
0
0
0
0
-16
19
-10
-20
0
0
0
0
1
32
23
8
0
0
0
0
40
-30
27
-33
0
0
0
0
9
21
0
3
0
0
0
0
46
-2
7
-5
0
0
0
0
-13
-20
-28
13
0
0
0
0
4
20
41
1
0
0
0
0
2
-11
-3
-14
0
0
0
0
23
43
7
6
0
0
0
0
0
4
4
6
0
0
0
0
7
6
2
7
0
0
0
0
-17
17
-6
-2
0
0
0
0
0
-2
-1
0
0
0
0
0
-15
-9
-15
1
0
0
0
0
-5
33
-6
9
0
0
0
0
18
3
9
-18
0
0
0
0
5
4
1
-1
0
0
0
0
6
64
0
2
0
0
0
0
-5
35
20
0
0
0
0
0
54
29
12
45
0
0
0
0
21
17
10
24
0
0
0
0
-11
-9
24
35
0
0
0
0
-11
46
8
14
0
0
0
0
2
-16
8
-13
0
0
0
0
14
-9
-2
11
0
0
0
0
8
16
12
29
0
0
0
0
23
-4
-20
6
0
0
0
0
-28
-12
-5
23
0
0
0
0
-19
36
-14
-2
0
0
0
0
51
43
5
-23
0
0
0
0
-18
-1
5
-4
0
0
0
0
4
-12
10
36
0
0
0
0
-8
9
3
-4
0
0
0
0
-7
85
14
7
0
0
0
0
-30
-13
-10
8
0
0
0
0
11
1
7
-3
0
0
0
0
5
9
-9
1
0
0
0
0
58
-56
9
0
0
0
0
0
3
-2
-2
1
0
0
0
0
-5
46
-5
4
0
0
0
0
-44
24
-4
7
0
0
0
0
14
-5
-6
94
0
0
0
0
-4
-1
1
-6
0
0
0
0
-29
43
8
5
0
0
0
0
2
-9
-13
-8
0
0
0
0
62
-59
-33
33
0
0
0
0
8
13
-5
-26
0
0
0
0
-32
3
-9
-34
0
0
0
0
26
-20
-11
-2
0
0
0
0
14
5
61
33
0
0
0
0
-23
5
2
-6
0
0
0
0
0
-1
3
5
0
0
0
0
17
33
0
-4
0
0
0
0
29
1
-15
-42
0
0
0
0
2
13
-4
0
0
0
0
0
3
0
-3
1
0
0
0
0
-34
0
-31
18
0
0
0
0
14
21
13
15
0
0
0
0
18
-18
-4
17
0
0
0
0
-7
-1
19
18
0
0
0
0
4
58
5
7
0
0
0
0
44
-84
14
20
0
0
0
0
64
-85
-45
10
0
0
0
0
-2
-9
14
-14
0
0
0
0
1
28
-22
11
0
0
0
0
16
14
-7
1
0
0
0
0
-18
31
11
-3
0
0
0
0
-6
0
-6
-9
0
0
0
0
33
25
-23
49
0
0
0
0
-20
-10
-20
10
0
0
0
0
17
18
-2
-2
0
0
0
0
8
-46
28
-24
0
0
0
0
-40
54
22
-37
0
0
0
0
-14
17
-17
6
0
0
0
0
-10
-17
0
-3
0
0
0
0
-9
0
-3
15
0
0
0
0
61
-47
0
29
0
0
0
0
31
-21
-8
-29
0
0
0
0
-4
24
-2
4
0
0
0
0
32
15
7
-91
0
0
0
0
-19
-23
-31
-34
0
0
0
0
-15
31
-31
56
0
0
0
0
-17
-7
-5
25
0
0
0
0
1
-15
16
-88
0
0
0
0
0
-2
4
-19
0
0
0
0
10
11
19
-9
0
0
0
0
27
87
-9
-6
0
0
0
0
-6
1
46
-31
0
0
0
0
-8
8
12
2
0
0
0
0
14
81
21
-56
0
0
0
0
-2
-41
-7
-4
0
0
0
0
6
-41
7
24
0
0
0
0
-28
-16
29
18
0
0
0
0
9
-2
-2
27
0
0
0
0
-2
35
4
-15
0
0
0
0
3
9
-37
-43
0
0
0
0
1
34
-21
7
0
0
0
0
31
15
34
11
0
0
0
0
72
2
-10
2
0
0
0
0
4
-12
0
15
0
0
0
0
9
24
-21
39
0
0
0
0
2
16
55
27
0
0
0
0
19
-17
17
-20
0
0
0
0
24
12
-45
-14
0
0
0
0
-27
-124
38
-45
0
0
0
0
-18
22
5
26
0
0
0
0
21
-32
2
-3
0
0
0
0
27
7
-56
-15
0
0
0
0
40
16
-24
-5
0
0
0
0
-2
-3
-15
-3
0
0
0
0
-3
-2
-21
1
0
0
0
0
-7
-7
4
-28
0
0
0
0
3
-25
21
-31
0
0
0
0
3
-6
42
8
0
0
0
0
-30
16
5
-14
0
0
0
0
-23
-15
24
-13
0
0
0
0
-18
5
22
-1
0
0
0
0
1
-6
33
11
0
0
0
0
41
-10
44
22
0
0
0
0
23
4
-13
27
0
0
0
0
-58
43
9
15
0
0
0
0
2
23
-3
12
0
0
0
0
62
-5
-16
-32
0
0
0
0
-16
-7
8
4
0
0
0
0
56
-3
11
4
0
0
0
0
26
-25
-31
2
0
0
0
0
26
7
13
27
0
0
0
0
2
10
-11
-22
0
0
0
0
-1
-6
-1
39
0
0
0
0
53
0
-21
-20
0
0
0
0
-23
-6
10
3
0
0
0
0
-39
29
3
1
0
0
0
0
48
33
0
3
0
0
0
0
53
-20
-1
10
0
0
0
0
-3
39
0
13
0
0
0
0
-3
14
-2
11
0
0
0
0
2
3
0
0
0
0
0
0
-3
28
-5
-8
0
0
0
0
18
14
-3
-2
0
0
0
0
4
-2
-5
0
0
0
0
0
2
0
0
0
0
0
0
0
-26
-23
27
-10
0
0
0
0
-21
-10
6
14
0
0
0
0
4
54
4
-17
0
0
0
0
-14
0
-2
1
0
0
0
0
13
28
-1
66
0
0
0
0
-15
5
-9
18
0
0
0
0
0
-5
5
0
0
0
0
0
0
-7
1
0
0
0
0
0
35
5
-19
63
0
0
0
0
40
23
14
-31
0
0
0
0
13
-7
0
0
0
0
0
0
-7
-25
2
0
0
0
0
0
-26
55
-12
30
0
0
0
0
-4
11
-23
-15
0
0
0
0
-3
31
-3
3
0
0
0
0
1
-4
-1
-1
0
0
0
0
-7
15
-9
-26
0
0
0
0
-24
23
46
17
0
0
0
0
21
22
2
3
0
0
0
0
-2
1
2
-4
0
0
0
0
-35
-5
8
-10
0
0
0
0
19
16
1
0
0
0
0
0
-9
21
0
0
0
0
0
0
2
-6
0
-1
0
0
0
0
26
-49
21
14
0
0
0
0
-7
-22
2
0
0
0
0
0
-3
8
2
0
0
0
0
0
3
-2
0
0
0
0
0
0
60
0
8
1
0
0
0
0
-26
-21
3
-2
0
0
0
0
-19
10
-7
-9
0
0
0
0
10
-1
1
0
0
0
0
0
34
29
6
-24
0
0
0
0
-9
25
20
9
0
0
0
0
28
-17
9
-29
0
0
0
0
4
11
0
1
0
0
0
0
-5
3
5
-52
0
0
0
0
51
-58
-4
2
0
0
0
0
1
-2
1
-10
0
0
0
0
-7
-45
-18
-54
0
0
0
0
17
1
-11
37
0
0
0
0
3
32
-9
-2
0
0
0
0
1
-3
-8
-1
0
0
0
0
18
-43
55
-6
0
0
0
0
9
6
8
9
0
0
0
0
15
-8
1
-2
0
0
0
0
5
-25
9
-10
0
0
0
0
-14
-10
-25
37
0
0
0
0
-1
6
18
-20
0
0
0
0
7
21
-5
-6
0
0
0
0
0
-1
4
-9
0
0
0
0
-2
-29
-3
22
0
0
0
0
14
23
46
11
0
0
0
0
-33
-5
-3
0
0
0
0
0
5
4
-14
41
0
0
0
0
28
34
-16
3
0
0
0
0
-12
9
2
5
0
0
0
0
-6
-5
-2
0
0
0
0
0
-12
21
-18
-20
0
0
0
0
49
22
-10
-2
0
0
0
0
21
-39
5
-4
0
0
0
0
-1
3
0
0
0
0
0
0
9
7
5
-7
0
0
0
0
63
50
13
-25
0
0
0
0
-16
-20
39
-5
0
0
0
0
15
5
1
8
0
0
0
0
-2
-7
-34
-2
0
0
0
0
-8
-11
-34
11
0
0
0
0
25
-17
44
-11
0
0
0
0
17
-13
6
6
0
0
0
0
-4
19
-1
1
0
0
0
0
0
3
-10
-10
0
0
0
0
-6
19
-13
42
0
0
0
0
-5
-41
1
-1
0
0
0
0
-5
-16
38
21
0
0
0
0
1
-5
45
-23
0
0
0
0
-8
-18
7
20
0
0
0
0
-3
-6
-1
0
0
0
0
0
-16
27
-6
6
0
0
0
0
7
36
-15
19
0
0
0
0
37
-14
0
-47
0
0
0
0
11
46
1
15
0
0
0
0
17
31
-74
37
0
0
0
0
-4
-41
-42
42
0
0
0
0
-14
30
-5
9
0
0
0
0
9
-17
14
6
0
0
0
0
40
-41
-55
0
0
0
0
0
11
4
34
-7
0
0
0
0
20
54
-10
13
0
0
0
0
14
49
-3
2
0
0
0
0
12
-52
-34
86
0
0
0
0
-28
-38
-45
-4
0
0
0
0
-57
9
71
14
0
0
0
0
16
-5
-8
3
0
0
0
0
5
0
-18
1
0
0
0
0
-35
-9
21
-28
0
0
0
0
2
1
-1
-15
0
0
0
0
-28
-24
39
-7
0
0
0
0
2
0
10
-3
0
0
0
0
-2
-15
32
-34
0
0
0
0
12
6
5
25
31
44
-31
37
44
17
-24
6
48
52
28
28
1
26
51
44
-14
-17
53
102
4
-9
29
24
15
13
44
1
10
6
-14
12
8
4
14
42
-5
-1
-1
-27
-61
16
10
9
34
49
5
26
-8
35
61
89
31
2
32
25
9
43
-79
6
-21
24
1
-2
-53
81
1
51
-4
22
20
-75
76
-44
0
38
59
7
4
32
-32
91
45
85
8
-9
5
6
-42
-42
-43
39
-16
11
-17
-24
-2
-21
-14
-3
10
4
31
-2
64
-18
23
-38
20
-21
13
-28
-17
-51
-28
35
42
6
-15
6
3
9
58
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
23
56
2
2
-6
33
27
98
-34
-4
-21
-65
32
-21
91
49
-34
158
43
32
1
-4
55
10
123
54
32
-31
54
9
-43
-32
24
47
-27
15
-35
25
34
-3
-3
43
49
-23
-5
14
-17
-10
-37
16
4
-78
23
-12
-5
53
-11
37
85
-4
37
-30
-21
1
22
57
46
-18
28
-11
60
-31
18
19
-11
-19
-3
56
-21
18
-2
43
-25
29
-72
32
2
16
-25
26
52
78
-19
78
-42
5
10
-54
-10
14
29
3
-69
-54
21
98
-30
-75
-60
16
68
70
-53
-54
-5
-15
-106
81
65
48
-5
7
-32
21
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
45
-2
-21
62
15
-34
117
-4
61
15
18
40
4
66
7
10
15
5
16
-4
-9
-5
2
12
3
8
-9
11
10
0
-13
-22
60
3
81
51
-62
59
94
-26
35
35
43
13
13
17
-3
-3
-20
15
10
-11
-8
-4
7
-18
16
1
16
-36
3
2
71
-32
-40
-68
-38
95
-9
25
80
13
0
-42
-48
-8
-17
33
-3
0
-3
7
-6
20
-2
7
46
-18
13
57
14
27
-33
4
38
45
-5
-92
-43
-47
49
-21
30
14
-45
50
-53
60
-63
-53
-16
-9
-33
3
3
56
-37
14
-13
59
15
-2
-21
6
-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
6
-1
32
-43
85
117
16
5
-11
-32
30
7
57
-11
39
-68
-6
18
31
-15
80
-18
16
8
5
1
-11
2
-7
1
-15
-4
22
-60
-64
70
138
24
62
61
-27
31
-5
-32
53
-39
-19
-6
-53
-28
14
-26
5
-6
34
-31
1
-2
-8
-25
-35
-20
-12
-10
-60
-21
-29
27
31
-97
-33
12
45
44
52
37
32
-43
-36
-25
-39
-58
-40
-11
-58
-148
-82
13
1
-5
-6
-38
18
10
12
0
-13
22
26
-72
1
-37
34
-130
-27
-80
-44
-101
-11
13
35
5
-50
25
-33
-133
-5
19
-74
-17
-3
-23
1
10
-61
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
57
15
21
34
17
-19
34
20
22
-13
28
9
-7
9
-24
67
-58
28
5
61
45
103
31
89
5
15
-28
20
36
5
-2
13
-36
4
49
62
31
29
4
-4
-7
-13
6
-8
-15
31
55
-6
6
-9
-2
-5
-18
57
73
-3
24
22
3
-1
35
28
0
-6
52
-21
-3
-5
-42
-5
13
81
6
-50
-32
25
9
47
-47
88
-41
1
19
72
133
47
-11
9
25
78
-12
8
37
24
26
-24
25
0
25
29
72
22
35
4
27
12
33
-38
12
44
-93
-18
58
23
25
36
0
55
4
-14
-17
-18
-65
28
16
0
14
38
76
72
104
-53
31
45
-36
-27
54
33
7
12
-5
35
-13
24
26
-22
-14
43
57
106
41
54
67
-9
63
3
20
22
-15
-7
95
101
12
-13
26
28
18
27
32
-47
17
43
11
4
98
-28
4
131
-25
-33
6
3
-42
16
-44
-37
49
-13
59
-23
9
-28
46
33
32
18
30
44
-24
75
6
20
1
-16
5
75
-8
-63
9
-4
1
-29
51
-43
-42
74
-9
15
-33
16
6
5
0
15
13
67
-51
-23
81
-18
51
-26
1
-100
19
5
23
12
-4
-37
0
22
-24
8
-71
-45
22
40
37
31
52
-19
31
37
-43
24
92
61
71
63
6
79
-44
32
33
74
22
36
50
39
172
59
-14
35
26
-16
-87
-62
4
124
60
20
67
9
-10
15
72
-8
-6
80
-24
13
36
-54
31
-1
36
54
17
-6
53
-26
28
-24
22
-4
-48
3
114
-25
23
-31
-45
62
9
10
3
63
1
-34
67
5
-36
34
15
-25
-19
-8
29
24
-28
-27
38
-50
-5
-89
81
-104
-7
-36
23
34
-49
5
50
47
100
-72
16
25
-18
40
22
-14
-71
26
80
76
9
-21
-62
71
-1
60
52
-42
-9
-78
-42
-17
20
15
0
-79
-111
37
12
-38
-55
-43
-42
12
1
19
-26
33
48
21
1
8
7
0
-18
20
31
66
18
44
48
51
108
-6
14
43
-5
7
53
24
32
48
24
-10
-10
29
57
-13
-14
0
-2
18
14
-7
32
-43
7
68
43
41
-17
-62
33
-82
56
-24
17
-16
-64
23
37
-35
-50
22
8
-20
33
4
18
52
-20
-23
26
-26
-54
2
-13
-5
-26
13
17
45
89
-23
33
0
-96
-61
-24
-52
73
-90
-9
-16
-62
85
-8
-58
25
-50
31
67
45
23
-69
8
-9
33
23
-106
-1
-32
-66
-29
120
-9
-60
6
3
9
20
-72
18
-24
44
-67
9
-27
6
-37
-2
34
4
40
6
24
137
31
-63
-47
24
-11
41
48
-36
56
5
2
-5
-6
0
11
7
2
12
-3
-1
36
-5
21
-8
11
81
-6
-49
-43
34
64
37
53
30
-26
-45
-40
4
46
9
-31
5
0
0
-4
-8
4
-13
8
-9
-7
-12
-27
0
-13
-2
-5
23
34
24
-63
8
49
-25
23
38
11
-9
2
23
-71
-5
34
-3
-8
-15
-2
5
25
6
-14
7
-8
-16
45
-14
-41
29
-2
-11
-48
50
-7
22
-3
-5
5
20
-46
60
25
35
-89
-76
-74
-2
-4
-20
-7
-5
-59
-13
-49
-11
-11
9
45
20
-6
-6
-29
10
30
-88
85
-51
72
18
48
55
53
22
25
78
39
91
88
-13
-5
-6
1
-50
4
2
57
27
-26
45
-41
28
11
-108
-2
1
6
-22
39
49
34
-3
-20
14
53
30
5
-14
52
2
-30
3
9
-47
-9
2
-39
-14
-36
-71
-10
-77
-34
23
-85
-62
-4
53
-73
1
-88
-4
-30
-6
34
44
-7
-4
-25
2
-3
0
-3
25
38
4
-19
11
-54
-15
-64
-25
49
-20
-124
-63
-58
45
-5
-1
-72
4
-80
57
-4
-31
8
92
86
-3
-15
-33
-9
-5
-53
-6
7
-27
3
-13
-3
-64
-123
19
-81
54
22
-80
-92
-25
-50
16
-1
80
58
-13
44
-7
-76
39
11
35
74
21
14
23
32
-16
32
1
30
35
89
-30
-1
5
6
1
-12
7
17
-10
8
49
-2
42
1
91
-44
-83
17
-30
-15
22
-13
12
8
-90
-6
14
-54
25
32
-53
-73
-44
-14
-1
0
11
-38
15
30
43
-15
166
-8
25
-18
-72
5
1
-45
3
5
-5
48
25
47
-41
1
-31
-42
75
-5
64
35
-63
3
-4
18
2
-14
-12
-14
10
-29
-13
13
32
6
9
-1
-11
-12
-37
22
-22
-74
23
-43
2
-56
38
-35
-12
-43
-9
-13
-31
-26
-13
-16
4
10
8
-53
-49
-51
42
-39
108
-40
-1
-50
41
26
102
-1
-40
-24
35
-42
1
-48
-14
38
22
18
-20
-31
-62
-40
-6
-12
3
-10
26
27
-86
4
5
-43
97
12
-45
-58
-37
-31
10
40
32
-14
1
-26
23
-25
34
-51
-2
-21
-25
41
-21
-50
31
-15
-3
-36
-1
-12
-23
-49
-22
-22
45
-41
18
67
9
-77
31
-66
-22
-13
63
-4
-7
-86
-9
-17
3
-50
6
-30
52
-8
10
6
7
24
48
-66
29
41
11
31
-23
-13
34
-16
-8
-46
37
-54
20
-19
41
-4
11
-28
9
8
-7
-2
-40
-99
-14
-49
-11
-15
11
-9
15
-17
-37
-50
22
13
16
25
60
-1
47
30
-16
-5
31
25
40
47
5
0
-6
55
25
31
-9
36
-20
58
21
43
-45
19
14
41
17
15
16
12
7
7
6
28
-14
1
28
-2
7
-18
72
71
2
-36
51
-11
88
-62
-8
67
17
30
-10
58
-18
-33
18
25
-4
3
17
-14
-75
32
58
87
-5
-23
34
76
32
43
40
-32
-33
-23
-20
-32
-92
52
17
50
126
76
-7
-10
-22
-7
20
54
-43
15
28
-7
27
34
20
-43
-1
6
2
39
15
-52
-11
62
6
24
54
96
74
24
10
-43
14
2
-20
-4
24
-10
50
52
-36
-10
-49
32
-20
5
-12
32
72
88
21
-33
56
10
46
-45
-7
49
1
145
20
-49
24
-5
31
-24
65
34
40
28
51
14
5
40
-16
-2
62
41
-23
-45
33
-35
118
-4
7
24
49
14
24
-14
48
-15
-16
11
23
-41
15
-35
12
-85
4
51
1
38
27
-4
44
-19
66
19
33
-27
-5
52
-103
15
32
6
2
24
14
89
39
-50
15
-26
20
0
8
-67
76
33
13
-34
-25
36
-5
-12
49
-27
3
6
13
20
-4
69
79
-21
19
-12
-2
37
-24
-75
28
-26
-1
-3
-59
62
21
-7
53
-32
3
30
-64
91
-50
-52
9
1
-15
23
66
95
-5
-42
-5
39
17
98
-27
-41
23
-32
42
49
18
34
68
9
-51
29
-12
26
-40
-86
66
48
11
40
-4
-22
-27
32
-44
76
2
33
62
69
-10
-33
-34
73
50
-16
-38
59
17
-43
6
34
22
-2
-12
52
35
-63
75
15
49
-1
14
-2
36
35
9
-1
0
36
-57
3
8
21
43
33
-9
1
5
93
-2
28
-45
-13
-44
-30
23
37
68
-25
22
35
-3
-1
-10
25
31
14
72
20
43
-8
-35
35
-53
-28
43
9
54
150
50
-3
-5
-39
-80
-21
-1
23
-39
20
-43
-33
75
5
16
-14
59
-29
41
-25
-42
17
5
26
53
58
20
7
3
-3
4
53
69
-29
-4
-11
7
-58
-10
54
-36
45
-22
54
31
-21
-33
43
-17
-12
-57
-36
19
38
-13
109
34
37
-26
30
19
-19
14
-22
-59
17
2
-27
-43
-2
-4
-64
57
17
1
-20
-9
2
16
1
-8
24
51
13
86
52
-43
15
-24
-1
-23
-35
1
33
-20
-20
23
-4
41
19
33
-3
-22
52
70
-52
-33
2
-11
-4
12
-3
23
1
-6
14
18
-15
13
-53
92
-49
-47
-117
-23
67
-6
-45
30
36
14
-34
-5
-6
-5
15
22
28
73
34
4
9
26
-14
-24
12
91
35
-23
91
37
33
-21
28
-6
74
-25
2
-27
4
2
1
1
-1
-2
-1
-5
14
1
14
7
17
4
-5
-3
8
-2
-31
83
-4
-16
59
-9
24
14
-16
-1
34
122
-42
3
-51
3
-10
9
-11
2
34
32
-7
11
-72
9
0
-6
-2
5
3
73
-23
18
12
37
-15
8
47
43
-25
6
29
-30
-17
29
59
-15
-14
-12
-51
21
-9
-24
2
14
57
9
-42
-7
-9
9
-5
50
21
5
-12
46
-33
-20
-6
21
-24
-20
-40
-14
-2
-37
-24
-14
-13
15
-7
-15
-16
-71
-37
13
54
-6
30
24
85
-41
10
61
28
-45
33
10
-71
-7
-9
-45
53
-82
16
23
20
0
-22
-16
-18
-64
-15
-15
53
34
-4
-17
39
4
43
-71
-25
-77
24
77
0
11
-91
65
-14
-24
-9
32
-33
-3
12
-2
-44
25
8
10
-16
-13
34
-20
-12
-1
-68
83
-5
-12
-62
-64
-80
41
-3
-2
16
-2
44
5
50
-6
-29
27
24
-31
-43
-4
-5
11
-15
-12
-10
-36
70
-28
-42
-49
-58
-14
53
-62
-26
-54
-93
-23
-10
-19
5
28
-19
69
49
-47
-31
75
-44
-47
-30
11
-2
0
-53
4
-28
-42
-6
28
-58
-68
2
-41
-17
-60
4
53
39
-7
13
-21
33
-28
-7
-32
-8
-8
-31
31
-39
32
-5
64
-80
30
-25
-9
-25
13
59
20
-21
41
-14
3
-15
-11
5
8
-7
-19
4
8
-33
-4
-21
111
-21
11
-23
52
44
-23
-24
-17
-17
5
8
5
-25
-11
40
-3
33
-18
-97
-3
-19
-10
-17
15
36
-1
-24
4
3
-17
-3
-60
33
10
-2
-38
-29
14
-6
5
-8
-4
5
32
52
20
10
-11
1
-5
-8
1
-30
-3
16
-24
-47
-35
-3
18
11
-65
-48
87
-117
48
-26
-5
19
13
-3
-8
-35
1
2
-13
33
-63
3
103
-1
-7
-80
0
-16
17
-62
-27
-2
-56
8
-5
20
-7
24
-19
25
-8
37
11
-35
15
-5
-11
-27
-44
-19
-3
-27
-51
2
31
8
27
80
-19
-31
31
75
20
-74
-57
0
28
39
81
-30
-63
33
41
-23
53
0
28
20
15
23
-20
-16
16
-43
11
20
-35
-109
-27
-62
-6
-17
7
-16
19
15
58
-32
29
11
-34
-33
-24
2
28
96
40
14
29
31
23
-48
-71
46
-3
-13
-75
-8
-31
18
-6
-11
-5
-8
-14
10
-6
15
-16
-6
14
10
-13
7
19
-12
0
-42
7
23
38
-2
-38
-7
-2
-3
6
-1
-8
-6
-1
-2
-28
5
5
-4
-13
-12
-6
-24
-15
-26
9
4
-2
18
47
41
14
19
8
48
44
33
-18
5
99
-22
7
22
39
53
63
79
49
22
63
30
3
49
46
138
74
2
16
4
15
7
13
32
12
-9
10
24
86
1
-30
30
24
-50
-18
27
-4
6
46
18
18
-43
-7
17
-5
15
-2
9
-8
1
10
5
-2
25
-3
11
-15
16
20
29
-15
3
-33
33
-8
-45
62
22
-23
55
53
-23
-15
49
65
-12
8
40
-53
18
-69
-8
-14
-3
7
-10
-38
6
-20
-40
11
-30
8
-2
35
-56
96
-15
72
7
-19
-28
18
3
-38
-76
-1
14
-45
-27
-7
-7
107
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
82
-5
-2
17
-35
18
-28
23
65
0
27
53
-11
9
-26
-57
73
-14
16
97
51
72
26
15
-31
2
69
-17
63
37
-18
38
-7
72
-5
-33
-11
16
23
7
14
-1
-45
44
-26
-48
18
26
66
120
-24
-34
102
17
-9
55
-49
-31
4
13
13
8
33
10
50
103
-30
-6
15
142
17
-5
-14
109
10
-14
-26
20
42
-40
-63
-18
-28
0
-30
-18
47
-63
16
26
-51
-23
-15
79
0
55
-72
22
26
-8
23
-19
16
34
11
30
26
-43
-27
81
-44
0
4
25
-82
-45
15
27
-52
30
-62
-17
-57
-72
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-38
14
19
55
161
-3
24
60
-58
41
45
78
30
4
3
4
-11
8
32
-2
-13
5
1
7
32
10
-21
11
-8
-4
14
72
-11
62
63
-104
-107
29
12
4
-6
5
-42
-43
-14
6
3
-11
-10
13
9
-6
2
35
-19
-15
-4
11
-28
-22
-34
21
5
-2
81
-85
47
-32
-55
87
-4
-35
-10
-41
62
11
11
-5
8
5
14
8
-18
6
-20
17
48
-28
5
1
0
4
-8
29
-25
57
46
68
-99
-137
59
-10
36
-52
41
-12
34
-11
-86
-1
-16
-4
-1
24
-4
-29
-40
15
15
-47
-11
-106
-64
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
41
-12
27
16
-15
-85
40
101
23
-31
-19
73
4
-28
-27
-55
21
30
28
67
-1
33
10
-25
6
-3
0
-31
2
-16
-7
-1
37
9
106
36
-75
12
3
35
25
-14
32
57
62
-17
-34
54
-6
3
-37
-91
-3
14
-12
-31
-8
-18
-24
-31
6
-4
5
-24
48
-51
42
51
-76
-46
-3
-43
44
-45
27
-24
124
-111
-61
-22
33
-14
30
33
-1
-42
23
-42
-28
-35
16
-7
8
-39
7
3
-12
-24
-39
-92
-11
-70
2
22
-48
-12
-44
1
16
-74
-67
-43
-46
-16
85
-40
-16
-24
-78
-6
2
-18
-3
-1
0
-19
-64
-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
8
10
-1
13
-6
25
-51
9
-17
23
63
60
14
46
30
19
14
39
14
41
29
96
-3
122
11
8
78
92
44
5
-21
7
17
20
4
6
33
13
-13
-5
13
24
-6
0
37
35
40
19
23
-19
-5
-4
-1
-14
37
17
-5
-23
10
29
-3
-14
27
6
-8
30
5
-11
-5
45
-7
34
122
-13
83
55
-42
-8
5
28
-7
-69
-49
-1
-17
83
21
21
75
33
-15
53
48
28
18
5
7
-5
1
24
9
-15
28
2
-6
34
10
87
-11
54
-1
33
33
0
59
14
31
26
-76
28
100
6
-55
-5
21
6
41
21
29
2
52
5
-23
10
59
80
46
-7
20
-14
44
46
114
21
-41
-18
15
-39
76
-53
10
49
-21
23
50
82
-67
37
86
-11
78
-21
75
-18
-64
-28
-16
6
19
55
40
27
-28
-41
29
-32
6
36
92
7
47
17
-11
54
53
43
-6
44
72
-14
22
-40
11
-14
58
-23
16
-14
19
139
96
16
-24
44
25
-7
33
-94
41
-8
-29
-47
43
-64
14
-5
61
-34
-23
-91
-61
-8
-6
99
16
-3
2
21
31
7
-52
59
97
-96
40
10
76
8
15
-45
60
-10
-36
2
12
-6
-8
14
-28
13
-59
-30
-34
-20
-37
-30
28
63
21
45
-14
50
69
38
15
32
15
41
-8
12
45
41
27
14
77
75
16
154
-30
-45
27
-13
18
-19
-45
38
67
14
23
7
18
91
-5
-40
-97
-4
-5
-2
75
-8
-44
14
-21
19
105
-5
8
52
81
-3
8
-16
-16
22
15
-20
-10
-6
19
10
-2
-8
-17
-24
24
-30
-5
19
12
33
7
44
-46
-45
10
-16
15
14
-64
16
74
-23
33
-4
-47
-18
9
-95
79
45
-91
23
20
-8
71
7
-47
46
-31
5
3
-34
111
-12
-1
-5
-14
-71
17
-24
-65
62
-8
-23
4
55
8
-10
5
13
19
-53
19
-29
31
4
13
48
77
54
11
71
40
26
-21
26
78
5
-53
40
-2
-30
24
21
54
93
-8
-57
98
20
10
39
42
46
-15
-84
0
14
15
-36
7
72
-3
9
21
-13
-19
6
51
-62
-20
-124
27
14
9
-41
-18
-14
1
32
149
27
-17
-17
-55
-26
7
4
2
-33
21
28
19
24
0
-4
-11
-81
12
16
-68
-13
20
16
26
5
11
-45
7
-16
2
-9
-93
-23
-15
-21
-41
5
-32
26
9
-34
-56
10
13
41
-12
10
29
47
44
-30
23
-53
-33
-18
11
19
31
-1
26
-24
-65
-51
-49
28
-81
-40
105
-35
-16
-30
-8
11
61
19
88
-64
47
-108
-98
158
173
-54
-33
0
49
-10
-1
1
0
-17
14
-16
5
-10
9
3
13
5
5
19
-6
-27
46
-46
56
-1
-9
57
53
18
41
-13
-33
23
13
25
-43
-72
4
-6
0
-2
-1
16
29
13
-7
-27
28
-10
14
2
-8
6
-27
54
-25
-49
106
-12
22
-22
22
30
-43
-48
32
124
-33
8
3
2
-2
-12
3
97
35
-28
21
41
-12
-22
4
7
-38
9
122
25
55
-3
95
40
-37
62
63
-40
-54
-73
104
-6
-12
-15
-8
2
-9
-4
-40
-5
-47
-24
6
-81
31
-1
-40
-151
-57
32
-35
-46
79
29
29
32
16
20
44
-6
37
-14
22
2
-26
5
1
10
36
-8
16
-47
5
-55
-24
-71
-50
33
37
-15
-9
10
69
76
0
37
5
-18
-18
11
17
76
-25
-26
33
-52
-31
32
8
8
20
-18
-37
-53
-58
-16
-57
16
-9
-78
8
48
-58
-17
40
82
56
-38
-47
-55
7
-21
4
0
-9
-3
-8
5
-2
11
-6
14
-9
4
-5
-16
50
-95
-43
4
-14
-16
-44
-2
59
-31
42
-104
-50
-23
-38
71
32
-2
47
14
-32
-6
-48
-5
34
-37
15
4
29
-4
13
-57
13
20
-26
-9
-64
-77
-50
-104
-20
-49
-29
38
-67
54
8
-68
36
-13
39
42
67
-16
83
-4
-18
48
15
-26
-7
-6
9
-7
6
-16
2
-8
14
3
13
5
5
3
5
65
70
5
142
45
-33
-56
-5
-16
-43
36
94
28
-68
-67
24
35
23
32
76
4
25
-13
-8
5
19
-24
-21
-5
29
-43
19
29
-23
70
-31
-20
10
-4
14
31
-57
-34
5
-3
-3
31
5
66
-8
-56
29
-23
-9
23
3
1
-26
-1
44
-31
-7
18
99
3
-4
56
-30
33
-9
-39
69
2
-47
0
-17
-6
37
-63
31
71
-21
-72
-45
-117
-49
7
4
-14
-79
-8
4
-13
-49
-58
-25
-18
23
-44
33
-4
48
-14
37
111
-20
-5
22
84
-20
18
-23
-8
-38
-15
-41
-7
5
-43
0
25
-8
4
-5
65
-41
-1
-26
-4
18
26
5
2
-29
-5
40
-19
27
-62
-11
-30
32
-15
-6
34
-51
-16
45
-19
14
-17
-8
-11
-42
-42
-120
-26
-81
-7
6
7
22
-22
43
71
22
32
-41
-28
-17
71
39
-32
-68
-14
29
20
26
3
-57
-68
-43
49
-4
6
-49
36
-11
-72
4
-24
19
-9
-2
-8
93
-35
-38
-10
-4
-41
-30
24
4
-33
44
-38
-1
-2
-42
-11
-7
-34
22
-85
1
-25
-3
-16
3
-41
-9
-10
16
16
-15
6
51
20
39
-11
9
32
-12
53
-4
55
47
41
-26
-19
-34
32
51
50
-38
66
-54
33
19
68
66
30
90
16
6
8
17
12
14
34
13
26
9
-27
23
-18
79
28
-23
58
48
18
25
57
-14
35
41
-20
4
26
-15
5
-50
1
2
15
-5
17
19
41
-20
10
-16
26
97
-16
-55
-49
13
17
6
55
-37
-31
-13
20
3
4
11
48
44
76
59
9
-44
72
38
34
24
-5
20
4
-65
37
100
-9
21
-37
14
-14
-42
21
68
-27
38
30
54
-7
-7
14
-6
2
-17
40
-31
27
74
-35
14
29
-5
-3
16
69
15
7
58
-8
-5
22
23
133
18
-56
51
51
-2
72
35
4
109
-25
-7
13
-2
-33
5
45
32
5
101
9
4
-4
-15
60
42
55
-53
25
114
73
-16
47
25
43
39
-74
56
68
-77
6
10
-74
2
19
-11
-35
33
14
-18
41
-77
15
84
10
15
39
-27
-44
-3
34
30
-35
-74
61
40
-29
78
-35
-13
-43
-6
-65
-18
47
0
21
-19
-31
1
-4
14
15
55
-24
17
-13
74
30
-23
-5
31
-6
44
14
98
-6
-37
0
82
-27
52
6
63
12
44
-1
16
-11
-86
5
-38
-167
15
-3
-23
-34
33
26
53
92
-36
105
-33
45
31
-56
28
5
71
1
-14
-15
-22
-11
26
-62
-16
97
-4
14
26
-10
8
51
-58
-6
27
65
0
5
46
54
-21
23
59
-33
39
-1
19
81
2
12
27
-24
10
-17
7
26
74
34
-5
7
88
13
26
-14
19
-2
-53
-11
21
14
16
19
-22
33
-65
42
3
25
16
34
-34
-25
-32
40
15
50
-7
-34
22
32
29
-13
67
23
1
-21
9
8
14
-16
26
25
71
-25
-50
5
-50
67
33
64
5
37
27
-61
-13
34
5
53
-37
-2
2
-20
13
-55
-21
-1
-3
-33
2
-2
19
-21
63
-21
1
40
18
-16
-49
-5
61
53
14
-4
15
43
-27
20
24
-16
-3
49
24
-64
10
-6
31
32
35
12
-44
36
-12
-47
53
-16
53
29
41
28
-25
4
16
14
0
20
-14
71
8
-45
31
82
18
24
-22
-10
4
0
53
-61
-45
-14
11
-16
-45
-44
17
-28
44
-22
5
56
-2
0
4
5
18
51
79
35
20
-14
37
2
8
-36
-5
-29
-5
-3
5
9
-34
-19
-76
48
-47
18
35
10
74
38
32
24
29
8
39
-52
-30
0
-12
-53
-8
3
46
17
38
-47
69
-20
-4
-62
16
1
65
-78
-52
-17
-19
2
3
31
80
-5
59
31
96
4
7
53
79
-64
-55
-140
-49
69
3
2
-10
-11
-4
-21
8
-18
-1
13
11
-14
-3
-35
29
-10
14
14
46
12
70
-29
-79
-2
6
7
19
-33
35
56
-14
-39
15
5
1
-17
-20
8
-10
-16
13
-30
-13
-22
-26
46
-4
11
24
89
27
-4
61
100
22
-17
17
-34
33
-68
-3
-5
-3
-30
4
-14
-7
11
-5
-1
-13
-31
1
8
4
-31
33
-13
27
-16
18
-2
-110
22
-15
22
17
91
-40
-68
18
21
-2
-25
-8
-61
7
14
-3
-9
-29
-3
46
-37
-24
-45
-13
8
16
-6
-9
-11
9
-15
21
65
32
-84
1
45
8
57
16
-21
13
-23
5
22
-10
-34
-34
-31
39
-17
15
-22
-3
84
-53
-5
-35
-24
-48
-23
-30
22
-48
20
78
6
14
-116
5
58
76
-13
-25
18
-43
-53
6
-5
31
-5
35
-8
-29
3
-22
33
-36
-52
14
-86
-57
-33
45
-74
7
-24
37
-1
-24
15
71
45
-16
-124
25
-29
-9
-4
-6
-11
17
-7
29
-43
-71
-57
-25
-13
1
-79
1
19
-84
-73
29
74
-43
17
19
-35
39
40
28
51
-46
-16
-13
-75
-6
-55
-7
-43
-1
-23
93
59
32
-45
-5
-6
-30
4
-23
-98
-45
-78
-36
10
58
-19
-3
-8
-27
36
-40
32
51
46
26
45
-22
48
1
3
-19
16
92
-8
-52
-30
3
-12
-14
-1
-1
5
6
15
29
2
6
13
82
27
-5
-19
-3
33
6
63
18
-68
33
-47
37
-15
-51
17
-7
-30
18
-89
2
-10
-11
-18
-43
-27
13
8
-53
-4
-37
-39
62
-16
-22
78
33
68
17
31
1
24
-35
-90
12
-10
6
-4
-5
-17
-53
44
-11
1
-5
-26
-20
-82
-10
-9
-6
41
-4
15
1
-29
-83
-38
53
-94
-46
-26
-41
-14
10
-2
-10
11
-1
-8
53
-74
-43
-25
-7
16
11
35
22
-49
-25
4
-72
18
-44
-51
-54
4
47
33
10
-20
33
-37
5
53
-18
3
-13
36
-58
8
-23
-8
123
-14
27
-10
-28
16
81
14
1
-17
51
8
-24
2
15
-49
14
-43
71
-14
-25
-29
17
-50
24
-65
10
-22
-23
-33
3
24
29
17
18
-35
-17
-49
62
1
-67
-25
57
3
8
-107
-22
-6
-31
-5
-46
33
18
9
49
45
45
5
-3
-2
-25
-84
-33
-9
-42
-4
0
21
19
0
-5
2
-8
-49
15
-1
-2
-2
25
-19
-26
-6
29
-18
14
-22
50
6
17
-27
8
-3
4
-13
1
-42
-10
-12
0
-24
-7
-33
-3
11
9
-16
23
10
17
-8
0
0
0
0
25
6
-49
-19
0
0
0
0
-3
77
88
-27
0
0
0
0
60
-4
42
-21
0
0
0
0
11
26
4
-11
0
0
0
0
5
41
18
-15
0
0
0
0
14
26
-27
-14
0
0
0
0
-3
11
91
40
0
0
0
0
11
-3
25
-20
0
0
0
0
-37
80
67
43
0
0
0
0
56
17
-31
-3
0
0
0
0
-17
5
27
-23
0
0
0
0
15
22
17
-20
0
0
0
0
-11
-1
32
12
0
0
0
0
5
-41
31
-12
0
0
0
0
48
14
-80
-72
0
0
0
0
13
42
-25
-20
0
0
0
0
63
-12
63
-33
0
0
0
0
88
32
-75
128
0
0
0
0
47
-89
84
21
0
0
0
0
41
12
-3
29
0
0
0
0
80
6
53
-27
0
0
0
0
-32
5
-58
-2
0
0
0
0
28
-22
33
33
0
0
0
0
35
-29
55
-22
0
0
0
0
43
-16
-21
30
0
0
0
0
29
2
-57
32
0
0
0
0
62
-26
21
-53
0
0
0
0
-10
-15
-31
-22
0
0
0
0
-17
-12
-52
38
0
0
0
0
43
-1
17
-86
0
0
0
0
-88
71
-7
0
0
0
0
0
37
14
27
-22
0
0
0
0
35
43
52
35
0
0
0
0
13
62
85
48
0
0
0
0
44
40
5
-26
0
0
0
0
38
17
27
64
0
0
0
0
-1
51
-61
-32
0
0
0
0
-16
6
58
-44
0
0
0
0
0
0
-7
9
0
0
0
0
37
15
-26
8
0
0
0
0
61
-38
47
-43
0
0
0
0
-5
-38
1
-34
0
0
0
0
-22
0
-14
7
0
0
0
0
37
-4
23
0
0
0
0
0
42
89
-5
-13
0
0
0
0
53
-56
22
-95
0
0
0
0
26
-8
-33
-44
0
0
0
0
13
37
6
-8
0
0
0
0
60
-23
-9
-5
0
0
0
0
71
34
108
-19
0
0
0
0
72
37
11
34
0
0
0
0
-33
-10
43
-25
0
0
0
0
26
65
7
29
0
0
0
0
23
25
-89
-37
0
0
0
0
-12
7
-30
-4
0
0
0
0
-13
-42
-33
-53
0
0
0
0
52
-48
-8
28
0
0
0
0
1
30
11
30
0
0
0
0
-14
-54
-64
-5
0
0
0
0
6
-7
44
36
0
0
0
0
13
40
-77
21
0
0
0
0
-49
-2
-35
49
0
0
0
0
12
-13
-105
-53
0
0
0
0
26
-49
98
107
0
0
0
0
14
21
-33
-33
0
0
0
0
3
5
3
-3
0
0
0
0
17
14
-7
-39
0
0
0
0
22
-5
4
-40
0
0
0
0
-30
27
-49
20
0
0
0
0
6
6
-12
-1
0
0
0
0
40
34
-44
-10
0
0
0
0
124
29
15
60
0
0
0
0
22
-45
55
-34
0
0
0
0
-5
-1
10
-2
0
0
0
0
21
-33
4
6
0
0
0
0
87
39
-61
51
0
0
0
0
15
-47
-13
-42
0
0
0
0
-15
-9
1
-29
0
0
0
0
-23
4
-16
-72
0
0
0
0
60
-14
-6
-54
0
0
0
0
20
68
46
31
0
0
0
0
16
18
3
-5
0
0
0
0
28
33
65
-36
0
0
0
0
-20
5
-16
45
0
0
0
0
18
-84
6
23
0
0
0
0
6
-6
-7
-27
0
0
0
0
30
21
-19
-62
0
0
0
0
54
6
-62
-109
0
0
0
0
12
5
13
0
0
0
0
0
-2
14
27
4
0
0
0
0
-11
-61
14
23
0
0
0
0
26
-5
-52
-51
0
0
0
0
57
71
-11
-4
0
0
0
0
-6
-20
6
-40
0
0
0
0
7
-15
-55
-73
0
0
0
0
32
63
75
110
0
0
0
0
23
-46
35
14
0
0
0
0
24
-11
63
5
0
0
0
0
0
-4
-17
-5
0
0
0
0
93
52
13
-40
0
0
0
0
-2
67
-7
-9
0
0
0
0
-19
10
-16
35
0
0
0
0
-13
-23
-15
-15
0
0
0
0
91
51
-24
-56
0
0
0
0
102
3
31
27
0
0
0
0
9
3
-11
21
0
0
0
0
2
-6
1
6
0
0
0
0
-19
24
9
3
0
0
0
0
-59
21
-27
-29
0
0
0
0
51
-79
22
-41
0
0
0
0
-7
-6
9
-36
0
0
0
0
2
21
-35
-15
0
0
0
0
52
-17
-54
34
0
0
0
0
-1
52
-21
-8
0
0
0
0
-19
38
-16
26
0
0
0
0
24
50
23
-7
0
0
0
0
23
24
2
-54
0
0
0
0
-8
35
-22
4
0
0
0
0
-43
-88
-15
-15
0
0
0
0
-24
40
7
60
0
0
0
0
-20
-54
58
-29
0
0
0
0
9
6
-21
17
0
0
0
0
-37
18
-11
8
0
0
0
0
11
-9
22
-7
0
0
0
0
14
1
53
-61
0
0
0
0
-6
-44
-7
-22
0
0
0
0
-7
-19
-20
-30
0
0
0
0
18
15
16
24
0
0
0
0
2
50
16
-54
0
0
0
0
5
-2
42
23
0
0
0
0
14
3
-25
-8
0
0
0
0
15
7
6
2
0
0
0
0
37
17
35
30
0
0
0
0
-10
17
17
96
0
0
0
0
-88
21
0
-63
0
0
0
0
-15
-9
-19
0
0
0
0
0
53
7
25
16
0
0
0
0
14
112
2
-5
0
0
0
0
-84
14
18
20
0
0
0
0
-5
1
36
0
0
0
0
0
22
29
43
-9
0
0
0
0
24
15
-43
-53
0
0
0
0
-61
-54
-5
17
0
0
0
0
33
51
20
33
0
0
0
0
93
0
99
94
0
0
0
0
29
83
2
-50
0
0
0
0
24
91
-40
-34
0
0
0
0
62
4
-11
14
0
0
0
0
6
43
31
-10
0
0
0
0
-9
-3
66
5
0
0
0
0
13
39
-30
45
0
0
0
0
24
68
48
-4
0
0
0
0
-21
53
-19
3
0
0
0
0
23
-9
11
23
0
0
0
0
55
17
-1
-71
0
0
0
0
-20
10
0
14
0
0
0
0
-68
24
-26
-17
0
0
0
0
27
44
-26
-34
0
0
0
0
-46
-67
-48
49
0
0
0
0
15
59
-42
0
0
0
0
0
22
4
98
13
0
0
0
0
25
17
-3
-42
0
0
0
0
-60
45
80
-9
0
0
0
0
58
32
-3
46
0
0
0
0
52
14
60
-16
0
0
0
0
65
-1
-35
1
0
0
0
0
-1
31
10
-129
0
0
0
0
-14
57
44
76
0
0
0
0
-15
-42
-100
-78
0
0
0
0
33
42
35
-12
0
0
0
0
18
38
-5
49
0
0
0
0
88
5
6
46
0
0
0
0
43
30
-36
0
0
0
0
0
47
-40
28
2
0
0
0
0
83
-1
-35
-75
0
0
0
0
50
27
74
-26
0
0
0
0
109
77
-11
-29
0
0
0
0
64
5
-5
-18
0
0
0
0
26
-8
18
2
0
0
0
0
43
-16
34
-21
0
0
0
0
-16
34
18
-61
0
0
0
0
-37
-6
8
-10
0
0
0
0
33
42
-3
1
0
0
0
0
30
-34
35
-16
0
0
0
0
-72
5
-6
31
0
0
0
0
52
27
-15
-60
0
0
0
0
1
46
-15
26
0
0
0
0
37
-11
64
-31
0
0
0
0
50
-15
-53
55
0
0
0
0
-3
-3
-20
18
0
0
0
0
-8
-6
15
24
0
0
0
0
-13
22
-29
-45
0
0
0
0
32
-36
-28
28
0
0
0
0
5
3
-5
2
0
0
0
0
-11
40
-25
-22
0
0
0
0
40
40
14
78
0
0
0
0
12
8
12
-24
0
0
0
0
6
0
4
-2
0
0
0
0
-31
-43
4
-49
0
0
0
0
92
34
-14
37
0
0
0
0
71
5
23
-10
0
0
0
0
9
-4
2
5
0
0
0
0
37
-4
-21
28
0
0
0
0
30
44
62
-3
0
0
0
0
47
0
22
-87
0
0
0
0
-1
10
-7
11
0
0
0
0
15
13
-23
-23
0
0
0
0
1
19
-13
52
0
0
0
0
-52
-54
5
-14
0
0
0
0
10
-7
24
-4
0
0
0
0
47
-5
-72
22
0
0
0
0
49
-33
-21
17
0
0
0
0
-8
0
-3
-14
0
0
0
0
5
-8
-23
-7
0
0
0
0
-21
34
-31
-25
0
0
0
0
29
-34
-42
-6
0
0
0
0
-14
-42
-44
-29
0
0
0
0
5
1
-1
-40
0
0
0
0
0
-40
-40
-102
0
0
0
0
-14
3
8
-141
0
0
0
0
53
-55
19
48
0
0
0
0
12
-4
3
-12
0
0
0
0
51
-41
-67
-40
0
0
0
0
105
-113
5
-14
0
0
0
0
11
24
20
-5
0
0
0
0
18
14
14
8
0
0
0
0
3
-12
-18
-11
0
0
0
0
23
17
32
-23
0
0
0
0
0
-62
31
12
0
0
0
0
-1
2
-29
33
0
0
0
0
7
-25
6
-21
0
0
0
0
-10
23
55
-80
0
0
0
0
28
-51
20
3
0
0
0
0
0
19
-1
-4
0
0
0
0
11
-24
5
-45
0
0
0
0
15
25
2
-83
0
0
0
0
54
23
-51
47
0
0
0
0
20
51
6
-53
0
0
0
0
-8
2
10
2
0
0
0
0
42
42
14
9
0
0
0
0
6
-1
56
29
0
0
0
0
-3
-26
20
-52
0
0
0
0
10
8
-15
-12
0
0
0
0
27
-7
5
-33
0
0
0
0
5
26
-42
19
0
0
0
0
12
2
19
4
0
0
0
0
0
-22
-35
-33
0
0
0
0
-18
26
-66
78
0
0
0
0
23
18
4
14
0
0
0
0
-8
-24
36
-5
0
0
0
0
-9
-5
-44
-39
0
0
0
0
14
4
3
-20
0
0
0
0
-4
2
31
-13
0
0
0
0
5
3
-6
-20
0
0
0
0
-1
-24
-18
-38
0
0
0
0
20
21
47
39
-1
18
-58
20
43
29
35
45
38
36
-1
36
27
39
19
52
36
22
8
46
51
32
63
13
64
77
-16
12
19
18
44
37
21
24
36
-13
39
-59
0
-24
-4
-15
21
7
1
109
-9
-35
34
-28
-23
13
-29
40
-28
53
1
-5
21
0
6
-42
14
-39
98
70
-20
21
-3
-3
53
32
-32
-93
-11
30
-25
54
34
-55
-34
-34
9
35
35
-82
-91
76
21
42
-23
25
25
13
53
-14
39
29
27
48
3
39
-25
-40
2
34
-24
10
66
10
-41
-21
-57
0
-53
-41
-6
-10
22
-44
-75
-17
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
-55
56
-24
33
32
29
88
-24
21
26
68
49
2
-23
4
41
-29
-22
-84
-6
-6
-14
62
10
83
52
2
164
62
55
-4
14
90
72
-76
34
-54
0
-19
-41
11
12
-60
-70
64
32
24
25
18
-2
-7
-15
54
-75
56
-13
11
-3
94
-113
24
27
-1
9
29
-31
-19
75
83
24
-96
-6
-20
9
-41
49
62
35
-111
-3
97
-13
6
-1
0
-50
107
23
-23
-5
67
-98
-19
14
-49
-10
102
10
-68
-32
-82
-46
4
35
59
-52
-27
4
47
21
-172
-63
33
31
95
-84
-90
-28
-26
-55
66
55
22
-27
-24
-91
-60
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
45
5
-29
13
-4
36
60
50
106
32
2
42
-21
18
12
14
40
15
18
-10
-21
-22
-12
41
9
2
22
5
9
7
50
-2
20
18
6
9
-10
39
-34
-56
29
-79
-13
-6
15
-17
9
-25
13
-34
24
-3
-7
-12
30
15
39
33
10
-29
-26
-8
29
11
-42
-20
12
46
-16
58
25
-16
5
-71
25
4
53
-18
-2
-14
-28
-2
-10
-27
-24
26
-7
-3
23
40
19
5
-18
-5
-39
-67
-79
-49
-52
-79
75
-44
2
88
-51
18
-82
42
-50
-8
18
17
-1
5
-36
-37
-70
-2
1
-12
-17
58
-41
-62
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
18
-66
22
5
11
6
-6
-48
-8
54
116
40
38
28
12
0
4
-38
1
8
33
-10
21
36
8
10
-13
0
-15
19
-37
0
55
45
-83
-14
176
10
76
40
53
0
-86
-43
42
-69
-25
-52
-4
3
13
-115
19
8
113
-34
1
-23
-21
-27
6
21
-7
-1
-26
-1
-17
84
18
-31
-56
19
-4
20
30
5
29
-44
-10
-99
-55
23
-2
-45
-58
-54
-23
7
-20
-33
-2
-12
12
-8
15
0
3
20
-14
-24
-32
-29
34
-74
-2
-89
-45
-1
-6
10
48
-81
-63
-16
-7
-46
-48
-34
-20
-79
-22
-10
-18
-13
-62
-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
-9
-21
22
43
8
16
32
55
40
11
17
58
-25
43
53
92
-5
36
18
52
20
79
59
11
-23
34
81
8
8
53
-22
-3
9
24
33
7
51
0
43
49
-23
22
66
-11
-24
-58
69
33
-24
30
77
-5
-15
-36
-47
5
-36
12
50
-15
1
51
37
52
58
-8
26
32
43
-30
32
36
-44
-48
13
45
53
-10
-36
-12
1
60
0
-26
-33
-45
54
1
77
23
-25
11
55
72
-14
5
-3
18
4
-6
5
-10
8
35
-27
72
118
12
42
-1
-60
-28
0
87
-74
36
-91
0
67
72
56
-4
67
17
58
-36
-31
-8
95
41
-24
0
75
35
141
-34
41
84
-49
4
-33
-3
44
59
-37
-4
-67
71
-60
17
-43
48
-73
-17
21
-48
75
-22
91
62
-19
23
8
16
59
43
-19
-40
-43
16
-17
54
20
19
-24
19
60
6
33
-35
57
84
-8
-35
-7
31
-67
-6
23
-33
65
-29
36
71
-54
21
34
-19
-1
18
8
2
-5
22
-27
19
-14
-54
57
72
-24
-37
7
-53
4
12
80
-54
-12
103
-43
16
-33
-65
16
43
30
-9
8
79
-51
-33
134
-55
10
-7
-69
-19
-71
-61
52
-11
-8
35
-56
0
-17
-28
26
-33
12
13
-26
23
-34
15
-24
9
-4
74
78
5
63
44
-22
91
22
45
81
113
90
7
13
6
82
81
-51
49
46
48
-30
11
-16
-8
83
5
92
-2
6
-21
22
36
-57
3
-28
90
42
22
85
63
42
26
44
-57
48
62
29
-21
48
-30
-61
-74
-5
-19
-30
-23
-22
4
24
-4
100
35
103
39
89
-36
-62
-21
38
-72
-78
-88
39
60
-51
17
26
-54
-3
-128
64
-156
-22
-104
27
-27
-64
45
20
-2
106
-5
106
77
39
53
59
19
-54
8
64
0
3
47
-62
55
-18
-39
56
-36
33
-7
-19
-23
30
-20
54
-36
-180
34
-110
-54
-100
15
46
7
-43
7
26
-4
63
-4
30
27
-17
6
23
20
39
98
30
23
-5
28
73
-52
-17
109
-59
34
71
-2
-9
58
2
1
-5
59
6
-33
-35
0
7
-39
29
2
34
-94
20
68
43
46
-26
-53
43
-140
91
-57
6
-20
-108
-14
4
-44
-73
54
-62
0
41
-1
-33
-22
11
-5
35
-24
33
-5
-9
38
-5
25
-5
54
46
-11
-19
55
-112
36
-50
-114
65
-86
-52
-38
-81
93
-43
6
106
-4
5
-8
63
37
-4
-3
-8
-29
25
-49
42
-104
-59
-43
18
13
-3
44
36
-23
42
-101
22
14
-21
-100
8
-109
-85
-37
-60
-24
-14
15
32
45
138
39
-49
-53
110
37
40
33
52
-12
-10
-15
9
2
2
28
12
9
1
13
-6
18
0
25
16
22
24
-34
28
66
-10
-14
-13
-92
18
-46
-69
-33
25
5
15
25
0
-6
-35
-8
37
11
32
12
12
-59
-39
-40
-10
-48
4
8
-10
6
-25
-40
18
41
-31
5
31
7
-17
33
-3
-100
-3
-32
-7
-9
-29
-42
5
-9
-22
-16
20
67
23
-4
-48
-45
-52
13
26
-6
35
18
-10
10
46
9
-9
-47
22
-66
11
-117
-91
-41
15
5
-53
-43
-25
-50
-49
-57
-5
23
-2
-3
48
-8
-53
-33
-4
47
35
33
-22
0
33
73
21
59
77
4
81
0
75
161
-15
5
19
4
5
-19
-27
6
-33
-14
9
-96
0
-38
-17
-6
-4
24
-33
3
62
57
-2
-53
53
33
26
-37
-27
36
-28
-66
-3
66
21
-51
-19
-113
9
-5
-3
-48
-102
-13
-21
-105
-74
-18
40
-34
32
-59
-6
-59
-5
56
74
2
14
-32
11
0
0
-22
13
-9
10
43
27
-94
-11
16
30
-10
-30
-85
-20
-83
-12
-16
-6
-50
5
-28
32
45
-32
-10
45
116
63
-30
-56
-15
-22
-150
49
-35
64
-61
-75
-89
-38
-99
-14
-112
35
-48
2
-100
-8
1
57
-17
128
26
-58
-73
-11
33
21
28
29
122
-15
11
0
170
-1
-12
-69
-32
-23
20
-46
13
3
6
27
9
41
35
43
15
7
35
-32
-6
25
-66
-105
-32
-24
-2
7
-54
54
78
-30
-18
20
9
-68
21
26
-61
-19
-7
-11
0
17
-22
54
-30
15
-42
24
-32
-20
29
-71
8
-71
-71
19
2
11
60
35
28
-53
10
-16
41
-24
-40
66
-8
-79
-21
5
-25
18
-3
-18
30
3
16
-30
71
-6
-19
-31
-12
-43
25
-22
-5
-50
-79
22
-55
14
-22
89
37
-52
-63
-26
-46
-34
-39
21
-15
-18
-9
20
16
-13
-39
18
32
47
16
12
27
-1
-2
-60
-50
-44
-12
-9
4
-10
0
18
4
12
-5
-39
-28
-24
15
-39
15
0
51
28
48
-42
-13
5
-15
24
18
-54
-63
-36
-9
26
-5
1
-58
14
-14
65
-46
9
-66
19
5
-9
19
4
-5
18
-19
57
0
21
-89
-103
-24
16
21
-11
-94
7
83
59
-62
5
-63
-78
-29
57
-138
-29
-162
58
18
-12
-65
-62
5
-50
-18
16
53
52
-21
-25
15
-46
14
52
60
-18
37
22
11
-51
4
65
52
-38
-10
40
-45
-33
-56
22
-16
26
-30
-29
-8
-10
-32
27
0
-22
-9
10
-24
-17
-27
-8
5
3
9
57
65
-1
43
13
0
35
57
58
33
43
67
-31
-5
97
64
-26
-4
66
-9
34
-71
3
-52
53
83
50
47
-3
39
35
6
29
44
63
45
-10
9
-5
15
24
51
15
7
36
7
-13
7
16
-4
14
26
-10
2
-50
32
67
49
-11
12
8
-16
0
9
37
62
-30
-2
51
32
-24
-11
27
-62
-33
9
-3
21
-68
-5
19
38
63
119
-57
3
-15
-64
53
53
-16
6
8
0
-8
21
23
-9
7
7
-99
23
28
3
67
38
5
-15
81
68
58
-81
15
-49
17
22
97
-18
65
-16
37
-3
-26
11
-4
-20
6
-9
44
-16
21
73
-41
-13
58
9
27
-33
23
59
-12
60
14
-8
9
4
48
-4
96
4
48
21
29
18
28
5
46
-17
62
-26
23
-37
7
-7
90
21
-35
-7
11
24
56
-35
20
4
-23
32
-1
21
33
-59
23
-56
-16
64
-35
32
62
-33
26
-22
4
-24
0
33
-22
31
-62
19
-22
35
2
13
8
76
57
-80
14
-62
25
5
11
-17
80
36
16
-32
-36
47
14
48
67
10
42
62
-62
56
-55
-6
55
-2
27
-2
-1
16
-32
11
62
-45
7
41
57
20
28
-50
38
-81
-41
-10
-69
-23
-41
-9
40
53
25
57
79
90
7
60
-78
78
21
30
-55
-33
54
-60
111
61
17
26
75
34
-21
25
-24
85
42
-43
-7
33
20
53
15
2
-45
-28
23
31
4
20
15
46
-20
-84
-24
67
89
4
-26
43
14
-46
4
32
27
58
-109
30
50
-81
109
36
-23
-15
16
43
27
-33
10
-59
-15
-41
12
-53
34
146
27
57
-46
14
17
91
2
16
-67
-12
-53
-27
34
52
87
-127
0
27
5
42
-51
59
-10
47
41
19
-28
-5
-6
-40
-27
-37
70
33
6
84
15
20
45
-52
-129
-42
7
-34
-48
53
-64
32
79
-14
-1
-23
71
18
47
40
-27
-24
6
40
-4
61
36
-22
9
0
-17
9
33
7
-23
4
9
-89
-10
-22
-25
36
-32
32
23
-47
-26
32
24
-17
-33
-60
-17
36
-34
101
45
33
-45
24
23
-19
4
-30
9
43
5
-20
-39
3
-4
-96
101
18
1
-39
-14
17
17
-16
24
23
4
-1
53
50
-60
16
17
6
-24
-66
-3
20
-26
3
12
-8
41
-15
27
13
-49
46
61
-53
-18
-5
-20
-14
0
-14
69
41
59
5
5
-53
-67
-149
71
17
-11
-32
8
69
49
-69
79
87
0
23
-24
-56
-14
-42
-3
22
-38
6
-78
-29
-23
-31
-50
29
43
92
-29
36
86
-17
4
56
24
101
-25
5
-38
43
-13
4
1
24
-29
16
-6
33
-9
32
3
89
6
24
-3
26
-11
18
-36
-29
-86
107
9
50
-22
-14
3
-1
79
-49
5
-32
-30
6
9
-45
-49
-44
24
-26
7
71
31
-57
62
-10
-23
19
81
-5
-14
-58
15
-9
5
67
-9
-54
16
6
-33
-5
18
0
-18
-15
-23
-81
-1
-40
-32
-17
5
-24
42
25
-2
62
29
15
29
-27
32
75
29
-36
-5
-28
1
22
-60
-5
-17
-19
-58
79
18
-26
-9
-3
-51
-51
5
-27
15
5
-30
43
-5
0
17
-8
37
17
-24
18
-14
-84
6
-23
-9
-14
-78
15
23
44
11
-47
-46
29
-33
25
-13
5
15
-37
-22
-49
24
-28
-54
54
-4
8
120
-1
-31
-29
57
-9
-22
97
51
-34
-5
-45
-2
-37
26
-5
-9
32
8
-1
3
-7
-15
-28
21
-27
-106
-48
-49
-54
-5
-10
34
68
4
-2
4
90
-5
-31
7
-6
-51
-85
-6
-4
17
-61
30
-7
-21
-65
-29
-21
-33
-23
-62
-14
-107
47
-76
-23
-32
3
33
-43
11
27
43
90
-93
27
63
-81
13
-25
-7
-6
-59
-81
5
-38
-3
42
-3
15
-57
-44
30
13
-46
26
21
-46
-121
-6
-24
0
-36
7
-55
-16
14
20
74
-15
-6
20
46
-29
-7
29
-28
20
-36
-9
-37
-24
23
33
-29
-31
-1
7
47
33
3
4
-72
3
-13
-34
53
-77
62
-55
52
49
-9
16
-18
6
5
-29
43
14
-26
-1
6
50
-7
-4
-13
26
24
6
-45
7
-14
17
27
-21
28
48
-43
14
3
-6
-25
-49
-8
-3
5
-4
-8
19
7
21
-88
49
25
-7
-12
15
15
1
-6
-20
2
3
-8
-5
30
-15
-80
-2
91
-98
73
-107
13
-50
28
13
-7
-22
-15
-23
8
20
-70
-100
32
-9
-48
-43
16
22
10
-15
5
-9
-71
-8
22
80
12
77
29
-30
-6
-43
60
-31
76
14
-9
-17
-33
-2
14
-14
-86
-43
54
2
-37
-13
-1
53
14
-2
25
-16
-17
-6
6
8
-5
38
0
26
24
-66
23
-6
24
9
34
-47
2
-85
-34
8
-47
-6
-40
-115
-5
-46
44
-9
-31
-12
7
-41
25
-23
142
20
37
7
-28
-20
44
45
-16
21
54
-31
48
-69
-109
28
40
-66
-20
-31
-36
33
-91
-53
56
-1
-52
-8
41
-102
37
-33
21
22
40
5
27
-23
26
-36
7
12
-16
-22
7
20
-16
-20
7
-3
-1
-12
-6
1
-13
3
24
-8
11
-2
-5
-15
-29
-15
16
-2
0
-15
46
18
-14
-39
26
22
38
4
33
17
77
-50
39
-16
75
104
52
-6
68
18
22
24
52
28
59
58
99
-5
7
37
-10
58
-30
-16
-29
-19
19
-5
13
5
15
-1
33
-39
20
23
36
-32
95
42
85
-5
-5
25
-14
15
-6
-1
-33
-13
5
7
6
-3
13
4
29
58
72
26
-94
-82
19
-11
-51
4
6
50
-159
8
-23
-36
26
51
12
-13
9
-22
16
44
-40
24
25
-23
20
-13
39
-5
74
24
14
-24
-66
-55
-16
-7
9
6
53
17
-31
-52
78
69
-89
-59
-45
29
-50
-37
-100
24
-30
-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
66
-24
8
-20
5
-6
-19
-42
58
56
22
-9
19
62
40
53
25
-47
33
-28
6
66
97
29
56
4
5
-44
-14
-23
-35
14
42
10
-34
-21
35
48
-72
-50
23
61
-17
-5
-5
0
-16
5
16
58
-24
50
123
46
-23
100
20
28
54
-70
-18
8
10
-24
-53
-17
33
6
4
-23
-15
32
87
13
39
-33
83
7
-75
36
52
-41
55
2
-36
-45
-17
-51
56
30
-43
-45
-20
-67
-16
-14
58
97
16
-4
-27
-38
-3
-86
-38
21
-80
-16
-5
-18
17
-31
55
-26
34
-34
7
-112
-40
10
-12
20
-1
-48
6
-52
-46
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
-20
37
32
71
46
45
105
110
-91
71
-19
103
-43
13
14
8
-11
16
-13
-1
-17
23
-8
-15
-24
1
-22
-9
13
57
13
-86
0
43
-14
-132
-61
83
22
-27
-44
-22
-27
-40
-10
9
19
0
-6
-15
42
-50
15
19
-20
7
41
10
-6
-15
16
50
4
-20
125
-103
27
-122
-24
-16
47
-67
-34
-47
112
-23
-16
5
-17
-5
-3
-7
-41
-45
-32
-40
6
23
41
-18
9
-11
3
91
-46
-31
37
103
-64
-162
-39
168
-13
-97
22
-72
-96
-16
-22
-13
-24
-34
-6
15
18
-56
-22
16
-81
-33
-16
-2
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
76
43
6
-73
37
64
47
-34
16
38
27
-33
7
-73
1
29
-14
-17
44
13
-5
26
9
8
-3
-11
-4
-18
-7
-15
23
7
67
-13
-79
-2
34
97
59
-37
-12
59
26
-7
-43
-10
-11
-15
19
11
21
4
18
-65
20
37
-43
-28
-30
4
-36
-25
50
-35
54
21
-83
-19
25
-28
45
-61
36
-18
30
-80
-177
45
52
-57
-11
15
-11
-50
48
-55
-26
-60
7
-2
-26
6
15
0
-13
44
-11
-24
-42
-101
-48
14
-48
-38
-25
20
-12
-88
8
-66
4
21
-44
-28
-89
-57
-20
5
-24
-63
4
-26
-36
22
-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
-5
-35
44
19
-7
66
83
5
18
53
16
31
15
-26
56
-3
-28
-4
-23
16
-10
-28
125
142
-5
81
84
52
-18
81
8
21
38
-14
43
-16
19
73
-19
48
-5
40
64
42
12
22
4
3
3
3
-9
104
-43
-8
22
-26
63
-38
-2
8
13
16
3
-22
4
1
24
34
30
-17
-83
34
26
0
57
61
-21
15
-31
38
18
-75
56
-52
0
111
38
71
38
33
-3
39
14
-27
27
-26
5
15
-28
8
-51
2
-7
28
24
71
-5
-16
-21
18
7
118
44
9
-33
56
-66
-5
-12
-2
26
-15
18
63
-94
-2
62
72
-52
30
-55
3
12
-69
49
128
3
-12
38
17
23
13
67
-38
3
9
33
-29
91
-14
-1
8
-62
53
9
80
-66
3
89
37
69
-62
104
-28
-43
-18
19
-11
-23
-53
55
-35
14
-100
-2
3
0
38
95
19
40
25
-5
32
49
20
-1
45
73
-52
-29
12
17
-35
12
113
62
-108
-44
86
71
21
-32
63
5
-24
41
-69
22
27
-32
-52
48
-67
1
-16
34
-38
-10
-78
-33
4
-20
44
53
-4
43
23
65
-11
-107
-28
40
-52
18
17
36
1
5
-39
75
16
-28
11
-84
-21
-45
10
40
-70
-32
22
-5
-23
-84
76
32
121
3
-1
50
14
63
-100
18
-63
35
24
60
63
64
81
11
10
-4
87
-4
132
-56
-92
-12
14
33
85
41
26
24
47
72
9
-60
14
-5
-29
-23
43
53
-36
54
31
-21
8
-33
8
104
64
13
12
122
4
8
-14
-76
23
53
-39
-39
-74
-64
2
25
42
52
53
-30
-45
-66
61
14
-81
6
66
-14
-44
24
-14
6
17
-9
-2
71
-25
17
-7
-82
-26
12
-100
-11
36
-123
-23
67
46
124
-34
-26
17
-30
-53
14
-15
-5
-7
30
-23
-22
-95
-16
-59
-59
25
-45
-11
6
53
28
-51
27
50
-21
13
12
19
33
-38
11
64
109
54
0
69
32
79
-10
35
40
-13
-70
-2
-8
-40
25
-23
24
103
-1
-24
53
-6
63
50
56
4
21
-41
80
14
-16
20
36
68
-6
-23
-45
47
-30
20
12
-67
-29
-131
81
9
-20
-38
-34
-21
1
72
151
-80
-15
-56
-62
-32
-3
-43
16
30
27
-16
-49
-34
42
-4
12
-102
31
-5
-53
-5
46
27
50
-15
-24
-62
-5
-39
6
-23
-64
-59
-11
-54
5
-4
-32
4
68
22
-32
72
-4
-1
-71
-8
40
9
-99
-31
88
-128
-38
2
61
-8
24
-59
7
-31
-44
-18
-13
-61
-93
-38
-11
62
-4
-53
1
35
-29
27
-53
-72
44
17
39
85
111
-20
-23
64
94
-10
5
2
10
-6
13
27
6
-19
29
38
14
67
-6
-28
28
-10
58
0
33
30
59
-6
51
24
49
87
-18
-30
-19
93
-71
-25
10
0
-4
4
-19
2
-19
-29
12
14
9
-84
-27
11
-14
-75
-2
47
4
-39
45
36
6
-72
23
18
-24
-52
75
130
-47
-68
2
-7
-19
-24
3
22
6
5
12
26
-2
-35
24
-19
-50
1
86
-60
-22
-12
36
5
-37
23
90
-3
-80
-79
84
-46
65
-14
-8
-18
-23
-25
-35
-32
-25
-36
-12
-39
-20
-80
-22
33
-35
-8
-2
-21
62
36
-3
36
19
15
15
-11
56
-76
-1
-19
-16
5
0
-17
30
15
13
-76
41
28
-63
-37
14
53
1
-44
-8
33
56
8
-5
16
-1
0
-61
-28
28
71
-26
-33
16
-102
1
73
2
-43
-20
23
33
-58
-64
-45
21
41
-1
-86
10
-45
-124
6
65
70
57
55
-19
-20
9
-25
18
0
-14
-14
-11
3
-2
4
11
-6
-8
-35
-33
-129
-46
-9
-52
-17
-12
-48
-28
-31
32
-27
21
46
-58
17
-33
73
71
25
37
23
-14
46
-48
-11
64
-5
13
-30
-35
-62
19
-40
-38
-24
-28
-103
-73
-98
18
-131
-122
-26
-4
24
-7
-22
54
-100
58
-22
-27
96
-29
85
5
55
69
6
19
39
3
-47
119
26
-36
3
-10
-12
6
2
15
2
21
10
14
62
91
-57
79
24
-29
-83
44
-5
-20
-33
79
32
-95
-97
53
28
-9
12
-55
-28
1
-6
7
4
-1
-39
11
19
-56
26
-82
12
25
72
-34
-51
29
13
53
73
-29
-45
58
-11
-73
53
4
-48
-12
-21
-12
10
-32
37
-6
53
-19
2
-5
38
-35
6
90
80
30
16
-10
-12
-24
-45
124
21
-60
-48
-15
-23
44
-62
3
70
-114
-24
-69
-80
-1
-72
21
-24
-28
-17
12
-27
-10
-30
54
6
-25
-61
16
-18
-5
-33
14
14
4
20
-23
122
-53
-25
-6
24
17
-1
9
-42
-81
-2
62
-14
34
-54
-53
-42
-2
13
-3
33
-80
-24
0
6
-81
-29
52
22
-2
-96
-48
-4
20
-64
42
-9
-61
-2
20
18
17
-6
66
15
-8
-55
-86
-44
-2
-88
46
36
-20
-5
18
17
52
76
-38
-33
-46
-48
-16
-22
-131
-13
3
-3
-15
-44
11
-62
19
-10
-28
65
-15
-53
29
19
27
-44
11
3
31
-4
-3
2
43
10
8
-21
-21
-17
-13
-52
20
-44
2
8
3
25
0
-16
-8
-31
15
-1
-6
-2
1
-38
-1
-25
22
18
27
-50
-61
68
29
3
-7
-44
-37
76
-4
59
32
81
-48
-9
-5
127
52
43
-87
81
-21
55
72
121
-69
9
91
71
-7
-28
14
36
30
18
-19
42
7
21
13
-12
42
43
-55
13
51
81
4
63
-30
-15
63
-74
53
10
-15
81
3
37
33
21
-19
-12
-45
51
-62
-1
18
16
-16
-58
-21
21
-34
9
-31
13
-25
-19
35
-1
56
-53
47
-10
69
11
45
4
87
48
62
37
10
9
68
-31
76
-30
100
69
24
-18
-53
-70
-30
22
71
55
-33
-49
3
-24
12
39
-19
55
-26
-38
0
-30
80
-24
-20
71
-3
-17
-12
89
18
23
34
3
26
9
-5
68
4
-108
55
18
34
-4
10
26
23
-14
-10
29
-3
-25
-19
25
76
-5
111
46
54
14
-46
41
-13
-13
16
62
38
47
-24
-5
-22
53
59
-66
51
71
-83
-45
9
-30
11
-3
-19
27
-4
33
14
31
-91
-23
32
-47
40
88
11
-92
-13
33
67
-38
-71
-10
61
-48
103
-2
-18
-14
-5
-97
-11
54
0
29
-15
-14
15
-50
-20
33
35
-10
25
-18
58
10
59
-60
-1
-33
57
6
75
-28
-20
-69
74
-16
79
36
-23
-49
74
-5
32
56
53
15
29
-143
-14
2
-17
-33
27
29
-21
62
44
44
-19
51
53
-43
10
-42
57
-6
41
33
63
-52
73
-35
-13
133
0
-30
87
51
8
57
-18
33
42
50
-4
-43
13
7
-32
15
29
-52
79
50
44
67
8
33
9
-20
-8
-14
6
14
81
6
-6
-57
92
-1
25
-26
-31
-12
-119
-1
-17
36
62
16
-43
22
-98
7
-17
43
5
-28
-43
-40
43
3
14
40
-10
-25
-5
53
36
-27
68
43
-2
-36
-11
-5
20
13
-11
-2
-5
55
-36
0
-20
-67
49
43
-26
32
86
-53
3
47
-3
0
-95
-51
18
33
14
-50
-30
-32
-5
-34
-57
48
-15
-34
99
58
41
-15
18
-2
-52
-50
32
48
52
46
14
43
-32
-47
-35
-18
-5
46
5
-50
9
5
12
-18
36
14
-84
35
-33
-60
51
34
62
-30
-8
4
-33
-18
80
16
-19
51
-21
43
5
-51
67
94
0
11
-35
19
6
-1
21
3
-52
-17
14
5
-21
-26
4
-18
3
18
-26
62
-59
-5
5
5
8
57
105
-14
-1
29
27
-33
-14
-33
-24
-4
-5
-5
36
-14
-36
-26
-23
52
-17
-31
-18
22
54
8
33
57
86
5
74
2
-31
-66
-44
-55
13
-21
27
-1
4
-49
119
-27
-2
-47
-25
12
-39
-77
-49
-33
-3
-16
71
1
83
41
-1
-21
5
34
6
55
73
10
-52
-14
25
108
-4
-23
-7
-1
6
12
27
17
19
-14
15
16
16
18
0
7
26
-11
-41
45
-31
-50
-70
-44
-7
55
32
-16
-8
46
-45
-49
-7
-24
-28
-5
1
-22
16
32
9
-4
2
-48
23
75
29
18
43
84
-50
-15
46
90
9
-17
48
-89
33
-62
23
8
9
-51
2
-28
-8
-26
-38
-83
-14
-21
-4
3
-55
36
-46
-40
61
1
82
-18
-97
15
48
-50
-14
59
-54
-76
-10
-59
-33
-24
-2
-11
-12
35
13
31
-59
-14
1
11
12
-48
13
14
12
-91
-31
-22
-14
14
81
41
42
-50
14
35
23
51
-56
-52
-23
-36
-14
-15
10
-10
-72
-26
-20
18
18
-10
74
69
-27
-26
-54
-14
-46
-15
41
-15
-10
-3
78
-21
14
-131
54
53
84
35
-5
17
-91
-112
4
15
-19
3
-12
1
-44
60
12
-55
-106
-70
55
-44
-65
-51
34
20
-14
-10
22
6
-5
43
-14
43
-13
-209
23
-35
-3
18
15
22
-12
-29
3
-32
-73
-39
-21
-123
-7
-79
-29
-36
10
-47
-35
-24
-20
19
6
-34
31
60
62
4
-41
-37
-5
-53
-51
-43
15
-12
3
11
-61
-69
-72
-80
-5
-52
33
76
-33
-115
-92
-27
71
12
94
44
-15
-72
-122
64
-23
-32
65
67
1
57
-7
-16
21
-31
-9
-14
-1
54
-1
-45
0
-11
5
-7
7
-34
1
1
37
3
-58
70
13
15
-1
1
6
-12
58
43
-2
-20
49
-78
25
17
-79
-84
-5
-33
24
-21
-2
13
25
8
-15
16
12
-16
2
62
-13
-74
-3
-63
5
-5
57
76
25
4
4
63
-32
-101
41
8
10
3
-42
-64
-66
1
-22
-8
-23
-19
13
-23
-37
13
72
37
-1
2
-10
-42
2
14
-8
-67
5
-157
-54
-71
-36
10
26
-8
10
38
7
-38
-82
-12
3
13
-8
9
-31
11
-37
-42
-5
24
-44
-63
5
28
-14
-20
-14
2
15
-70
53
113
-69
11
-17
-45
9
-22
57
-17
76
44
32
32
-34
-34
-46
-23
-119
6
-14
6
-46
-34
-24
62
-24
-41
76
-9
-51
-31
31
-47
45
-14
44
-22
9
-35
-39
-54
-31
-5
12
-28
-4
-89
-22
-26
-90
17
81
16
76
-24
14
-40
-17
-14
-45
7
-24
44
59
42
33
24
7
6
-49
-31
1
-61
-21
-19
4
97
6
-2
-54
-61
-70
5
45
32
30
16
-5
-7
0
-1
55
6
-8
-3
-10
-48
-73
-78
21
8
5
2
2
-4
-23
-13
-2
-1
-20
-40
-4
-21
-10
-29
34
36
-14
-4
0
0
0
0
24
24
57
-44
0
0
0
0
-28
29
-23
-11
0
0
0
0
40
76
46
-5
0
0
0
0
20
1
-8
-11
0
0
0
0
11
37
3
-29
0
0
0
0
14
7
40
60
0
0
0
0
52
-31
79
13
0
0
0
0
22
17
30
10
0
0
0
0
-51
-3
75
-58
0
0
0
0
17
-25
1
-42
0
0
0
0
37
39
-28
-33
0
0
0
0
-23
10
-2
-5
0
0
0
0
-78
-53
64
41
0
0
0
0
2
28
16
24
0
0
0
0
-1
-39
-46
6
0
0
0
0
2
12
16
50
0
0
0
0
66
-41
52
64
0
0
0
0
102
-18
-83
79
0
0
0
0
5
-190
66
-81
0
0
0
0
48
-14
26
-6
0
0
0
0
-10
-25
28
37
0
0
0
0
-74
50
-99
6
0
0
0
0
61
-17
11
-78
0
0
0
0
-1
6
34
-53
0
0
0
0
2
-13
-7
-31
0
0
0
0
40
16
-44
31
0
0
0
0
68
-44
58
-55
0
0
0
0
-4
42
8
-17
0
0
0
0
-68
-1
-14
11
0
0
0
0
-6
66
-69
-74
0
0
0
0
-63
34
-6
-30
0
0
0
0
43
62
40
-9
0
0
0
0
48
50
-37
-5
0
0
0
0
19
52
116
-2
0
0
0
0
32
107
-6
-21
0
0
0
0
26
44
-69
20
0
0
0
0
9
36
-1
-17
0
0
0
0
-9
56
46
-7
0
0
0
0
-29
61
21
-32
0
0
0
0
36
-19
-6
-13
0
0
0
0
35
-6
26
-5
0
0
0
0
13
-3
-44
-15
0
0
0
0
-85
-72
0
-17
0
0
0
0
56
15
-5
13
0
0
0
0
67
27
-31
7
0
0
0
0
23
-43
3
-12
0
0
0
0
38
-51
-41
39
0
0
0
0
65
-21
-3
-62
0
0
0
0
54
53
43
25
0
0
0
0
91
47
27
10
0
0
0
0
66
-14
51
26
0
0
0
0
-8
-20
-32
56
0
0
0
0
-57
65
-56
-9
0
0
0
0
10
-36
-92
-66
0
0
0
0
-25
51
-68
-13
0
0
0
0
53
21
-63
-47
0
0
0
0
59
-41
-18
-25
0
0
0
0
0
-29
15
-32
0
0
0
0
-33
-5
-73
-33
0
0
0
0
12
-2
16
33
0
0
0
0
-55
39
-84
35
0
0
0
0
-36
-18
-43
-55
0
0
0
0
22
34
-48
-43
0
0
0
0
46
31
18
-65
0
0
0
0
68
16
95
20
0
0
0
0
17
8
-7
-10
0
0
0
0
11
24
-18
-117
0
0
0
0
-3
25
-25
-63
0
0
0
0
43
16
30
-80
0
0
0
0
4
17
-6
-14
0
0
0
0
-19
1
12
44
0
0
0
0
82
8
-50
45
0
0
0
0
8
-6
-58
-51
0
0
0
0
1
1
-7
-1
0
0
0
0
-7
-91
1
-42
0
0
0
0
-31
-24
-24
-57
0
0
0
0
-15
-15
-64
-42
0
0
0
0
-16
-12
5
-29
0
0
0
0
-15
-40
-22
-64
0
0
0
0
23
-15
-34
-56
0
0
0
0
128
36
53
16
0
0
0
0
62
24
-21
-5
0
0
0
0
17
-5
29
-27
0
0
0
0
62
5
1
-53
0
0
0
0
-9
-110
-43
59
0
0
0
0
28
-15
-16
-53
0
0
0
0
14
51
-36
-93
0
0
0
0
42
-25
22
-94
0
0
0
0
109
81
-3
11
0
0
0
0
-12
-27
5
-36
0
0
0
0
-23
15
-33
10
0
0
0
0
3
65
4
1
0
0
0
0
33
69
-58
-40
0
0
0
0
-35
-46
-25
-15
0
0
0
0
5
-16
6
-32
0
0
0
0
56
62
-37
46
0
0
0
0
22
42
84
-30
0
0
0
0
-10
30
23
47
0
0
0
0
14
22
-33
-35
0
0
0
0
77
6
-42
-18
0
0
0
0
25
-57
15
1
0
0
0
0
47
-29
-11
-91
0
0
0
0
8
-15
-14
-25
0
0
0
0
67
-12
-23
37
0
0
0
0
82
-23
25
-24
0
0
0
0
-5
19
-25
42
0
0
0
0
-31
-12
1
15
0
0
0
0
18
13
-27
13
0
0
0
0
25
-42
-60
-53
0
0
0
0
26
-41
63
-19
0
0
0
0
-14
-7
-6
-27
0
0
0
0
42
66
-47
-31
0
0
0
0
11
-11
-40
-28
0
0
0
0
25
-34
19
-35
0
0
0
0
-16
-31
-12
-55
0
0
0
0
58
39
-28
-26
0
0
0
0
7
-11
-22
-78
0
0
0
0
-13
-30
37
-61
0
0
0
0
11
-15
-72
2
0
0
0
0
-52
-14
82
-9
0
0
0
0
-67
-72
7
-50
0
0
0
0
4
-16
19
42
0
0
0
0
-24
-32
-27
15
0
0
0
0
-12
-11
22
27
0
0
0
0
5
7
2
-51
0
0
0
0
7
0
-5
4
0
0
0
0
-17
-26
13
15
0
0
0
0
37
14
-15
26
0
0
0
0
29
42
16
23
0
0
0
0
10
27
31
63
0
0
0
0
23
19
-39
-18
0
0
0
0
6
11
11
21
0
0
0
0
49
-10
68
-18
0
0
0
0
37
16
-25
-4
0
0
0
0
10
17
-62
-39
0
0
0
0
-27
3
9
2
0
0
0
0
-3
-33
-43
5
0
0
0
0
17
55
-3
-24
0
0
0
0
-68
-84
-31
5
0
0
0
0
46
21
36
51
0
0
0
0
10
-46
33
-30
0
0
0
0
-13
-34
29
-36
0
0
0
0
8
-106
13
-30
0
0
0
0
-7
-14
52
90
0
0
0
0
36
-5
70
89
0
0
0
0
85
70
-8
-38
0
0
0
0
-4
71
-56
-39
0
0
0
0
41
5
1
-15
0
0
0
0
-4
45
59
9
0
0
0
0
8
1
100
51
0
0
0
0
11
5
-16
10
0
0
0
0
68
4
96
19
0
0
0
0
53
23
-36
-2
0
0
0
0
14
25
-58
-48
0
0
0
0
100
10
-28
-57
0
0
0
0
15
-3
-13
15
0
0
0
0
-14
-27
-6
128
0
0
0
0
49
30
-36
-10
0
0
0
0
-71
-36
-42
-58
0
0
0
0
-9
10
-5
-6
0
0
0
0
89
48
137
41
0
0
0
0
97
44
-90
-49
0
0
0
0
35
120
134
13
0
0
0
0
71
-19
80
-45
0
0
0
0
72
-1
47
21
0
0
0
0
43
5
-50
-5
0
0
0
0
-50
7
18
-124
0
0
0
0
13
-27
-17
26
0
0
0
0
33
-47
-22
-69
0
0
0
0
19
-24
64
-22
0
0
0
0
4
82
-51
63
0
0
0
0
102
-4
4
11
0
0
0
0
-6
11
-26
-83
0
0
0
0
-55
6
5
-58
0
0
0
0
55
-24
6
-52
0
0
0
0
72
-6
83
-2
0
0
0
0
32
42
-33
-48
0
0
0
0
26
-33
-21
-53
0
0
0
0
13
1
6
-13
0
0
0
0
5
4
30
0
0
0
0
0
-13
50
-48
-24
0
0
0
0
50
0
-7
-13
0
0
0
0
-25
57
-2
25
0
0
0
0
55
-23
-1
23
0
0
0
0
-51
-43
-7
-66
0
0
0
0
22
16
-1
-6
0
0
0
0
-23
52
-37
21
0
0
0
0
-66
12
7
-19
0
0
0
0
-33
9
19
-9
0
0
0
0
74
9
-47
-26
0
0
0
0
-26
-46
18
-60
0
0
0
0
47
-23
7
-13
0
0
0
0
-30
1
77
10
0
0
0
0
5
28
2
6
0
0
0
0
-20
48
45
28
0
0
0
0
-11
16
-62
-15
0
0
0
0
-13
-29
-7
-66
0
0
0
0
13
8
-14
-4
0
0
0
0
2
18
-16
14
0
0
0
0
100
16
14
-44
0
0
0
0
53
-8
15
-51
0
0
0
0
2
3
2
-15
0
0
0
0
75
-61
13
4
0
0
0
0
112
63
17
5
0
0
0
0
50
23
11
-35
0
0
0
0
1
6
-8
-15
0
0
0
0
-9
-60
-11
-48
0
0
0
0
85
5
-84
-15
0
0
0
0
-49
-37
7
-4
0
0
0
0
10
-27
28
-14
0
0
0
0
56
-49
-56
-3
0
0
0
0
-46
14
-10
-57
0
0
0
0
2
-30
-11
-32
0
0
0
0
23
7
12
20
0
0
0
0
-44
-13
-96
-39
0
0
0
0
28
42
19
-11
0
0
0
0
20
-39
-90
-50
0
0
0
0
35
-54
-15
-49
0
0
0
0
-40
-75
-136
-113
0
0
0
0
-7
15
-13
-10
0
0
0
0
66
-88
-3
-3
0
0
0
0
11
36
-27
-95
0
0
0
0
-7
-20
-33
-42
0
0
0
0
44
-80
12
-16
0
0
0
0
28
20
-58
-10
0
0
0
0
60
7
12
-8
0
0
0
0
13
-8
-16
-40
0
0
0
0
17
-2
-7
-39
0
0
0
0
-14
41
62
57
0
0
0
0
-15
14
-23
13
0
0
0
0
17
-38
-24
-44
0
0
0
0
-11
44
28
-109
0
0
0
0
-5
3
-42
-91
0
0
0
0
-11
-44
-12
6
0
0
0
0
5
24
-6
30
0
0
0
0
10
10
20
-34
0
0
0
0
24
-25
-105
55
0
0
0
0
59
36
-42
-60
0
0
0
0
6
-20
-18
1
0
0
0
0
57
30
-7
-27
0
0
0
0
24
2
54
47
0
0
0
0
5
17
13
-18
0
0
0
0
24
-7
3
-8
0
0
0
0
-2
37
-23
-32
0
0
0
0
-30
-11
-16
4
0
0
0
0
8
24
-8
-50
0
0
0
0
-49
-15
23
-47
0
0
0
0
58
-10
-33
20
0
0
0
0
-59
26
-14
-46
0
0
0
0
8
20
21
-14
0
0
0
0
21
-23
-16
-25
0
0
0
0
21
4
4
-19
0
0
0
0
36
25
-1
-12
0
0
0
0
12
-8
-11
-25
0
0
0
0
2
0
-10
-12
0
0
0
0
53
59
30
-17
-5
-14
5
-18
53
2
28
48
-5
-21
6
17
44
-1
-21
-18
-2
18
3
7
42
8
44
0
3
42
54
30
0
23
-44
41
40
3
-11
37
19
-44
21
-3
-26
0
-8
4
0
12
16
20
-26
-14
-8
11
-2
0
27
-27
49
-12
7
18
-6
-39
33
-18
74
31
-10
-16
-45
26
32
36
4
-47
-16
-36
44
24
-65
24
5
-19
1
-45
-5
-17
-29
13
-44
41
-42
-23
46
26
29
46
10
2
49
2
-6
64
19
-8
-33
5
11
-63
-22
16
-4
2
21
3
1
24
-23
-60
26
-5
18
-43
-5
-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
13
19
-19
-24
13
4
0
-17
12
47
12
2
-3
26
25
-49
-37
9
2
9
-58
-3
29
-18
21
23
-5
51
33
-25
-18
90
26
18
-8
-14
-17
20
-7
-5
10
-7
14
-15
31
14
-22
5
-5
-18
6
-16
14
-20
13
-27
6
50
-16
-20
25
4
26
-39
14
14
-4
5
-3
-2
-43
-1
-35
-13
18
23
27
14
49
-1
36
-6
-4
10
-8
-11
19
-13
-44
-2
37
-25
-15
-16
-16
-90
20
-3
-29
43
-25
-34
-4
11
-20
-31
-16
-89
-5
7
-15
-39
10
-14
-5
-2
-9
21
-7
24
14
2
14
18
-33
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-2
-10
4
-1
62
-30
14
34
14
11
5
25
-8
42
-3
86
-11
-2
7
6
4
62
7
12
-12
-5
37
2
30
7
-31
-15
30
-16
1
18
5
3
-34
-1
-15
-35
-40
-11
23
-17
-14
10
-48
1
17
-24
14
13
48
-4
55
-46
19
-2
59
-6
-10
-5
1
-14
0
-7
9
3
1
-16
-13
-14
8
29
-31
30
4
-1
14
14
-44
-79
-9
24
-6
-8
-67
-32
-52
-5
1
-21
-7
15
-55
14
-28
7
-11
-13
-5
25
25
-1
-2
-8
-33
-23
23
33
-14
-35
-37
82
-14
-31
3
9
36
-25
-74
-46
-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
44
15
22
-11
-43
-4
-17
-34
0
10
62
-32
20
14
-6
45
48
43
1
-23
33
11
8
-14
-18
-17
8
-45
15
72
-5
-33
35
-21
-19
-1
32
16
2
17
44
-5
-7
5
-6
4
9
-34
-20
-53
7
-5
22
-8
-36
25
20
80
-20
-14
-5
3
-7
-27
3
9
7
-5
21
1
-10
-1
-6
-5
19
20
-1
-7
-33
-14
-5
43
5
-43
7
-44
20
-8
-52
7
43
-10
68
14
-33
3
6
-13
-50
26
-9
-25
-13
-5
2
0
31
26
2
3
0
1
-15
-18
-5
41
-11
35
4
-50
20
3
-23
-21
7
-12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-44
4
31
5
41
5
-46
21
-14
-30
-18
23
55
10
-22
4
10
30
14
24
17
-2
6
18
-1
30
11
8
64
2
-6
-5
-24
14
1
15
-25
-4
-14
35
26
14
15
13
63
5
43
43
-16
23
17
-14
-5
-30
14
2
-14
19
18
5
16
-15
7
-11
4
20
2
1
45
-32
8
34
79
6
-11
-16
-14
16
4
29
7
-23
-8
20
5
-34
11
13
-37
-2
-14
33
9
-17
49
-51
35
2
33
-5
27
65
25
35
5
-4
36
-1
31
-14
13
-26
22
-10
34
-21
5
-1
24
-2
40
23
2
2
-21
24
9
-33
14
20
-7
16
-14
-3
8
33
9
-18
3
7
-25
-7
3
-47
19
-13
1
-5
-3
-25
-26
19
-23
29
29
23
-23
16
5
13
-7
33
-23
-5
-31
-29
-5
-9
14
7
6
5
26
11
-25
-10
-4
5
-2
2
13
14
-5
-13
13
-5
9
3
29
7
-26
-4
45
2
-13
0
3
-4
1
7
-12
-9
0
0
-19
0
18
7
-3
4
-10
2
-6
25
-8
5
35
-8
5
-25
-85
-8
14
35
6
-10
-4
-2
-42
34
7
-1
-15
-8
27
-55
-26
16
-13
9
-10
-27
5
27
-23
-1
50
7
-16
8
-5
4
-33
-5
-30
34
-3
6
-14
18
-8
5
32
10
16
-9
24
-8
-32
0
13
-5
11
32
-6
11
17
-14
31
24
-16
-5
-2
53
-2
-6
-11
-2
-17
-11
-24
5
3
-14
5
1
-15
-7
-2
-4
11
19
1
-5
-2
25
-5
-2
7
-3
-30
4
-5
29
18
-24
-10
19
-24
18
-10
17
1
-1
17
6
-13
4
-14
7
-14
3
3
-26
-14
-11
-13
41
-41
-1
-14
8
-1
-24
17
4
-43
16
-27
29
8
-9
-23
6
-5
-18
-5
-15
-14
5
5
-4
-1
11
-13
16
-14
5
18
-24
-14
5
-9
10
14
-30
-14
-35
-39
-26
-18
17
35
-35
24
23
-2
-11
-7
-16
29
-18
8
-3
15
18
-2
10
0
-8
27
-1
0
14
23
-6
1
1
16
-9
6
13
43
19
1
23
5
8
-4
1
-6
5
-17
5
-23
4
4
2
-31
8
11
2
-8
3
-2
0
-6
-9
9
-14
-22
5
1
-45
-20
16
22
-1
38
5
13
6
-13
7
3
3
7
0
-1
-15
-14
1
17
-5
6
-9
-16
-5
-30
16
-17
-15
-3
-11
1
-5
53
20
53
-43
-15
-5
-6
-5
-15
-13
-5
-14
2
17
-37
-1
-34
12
45
-21
47
-4
2
-10
24
-33
-5
-72
-30
43
-63
-45
-14
5
-21
9
-29
6
10
0
16
0
-5
10
15
1
-2
23
-54
-23
3
20
-3
-43
31
72
61
-14
42
25
-5
21
52
12
33
19
0
11
23
-7
20
-5
-18
14
-8
-4
-20
-5
-2
18
-3
-34
-44
-14
-37
11
33
30
60
-1
-15
18
23
-4
-89
12
31
0
1
-15
-36
-4
-2
-2
-24
-1
-15
-1
14
-3
-7
5
-36
23
-2
14
-3
59
-19
-43
-48
18
14
16
5
-41
6
-25
-43
-11
-5
4
14
33
18
6
36
-20
6
6
0
-1
-21
-8
-16
-17
-9
-43
23
10
-14
9
-80
-69
-7
13
46
50
2
-62
23
33
3
14
14
-3
1
1
0
9
-3
24
-2
2
0
4
19
-20
-9
48
-22
21
-3
-14
11
33
39
33
-49
-25
-23
31
-22
-4
16
-21
0
7
8
0
-25
8
11
-13
13
-8
4
10
25
-30
24
6
-24
-5
-35
-6
16
12
10
-31
12
6
-31
-18
-19
39
-2
3
-1
0
-5
0
1
2
-2
-3
-3
0
0
0
2
19
19
45
6
-2
3
1
-9
2
-20
-14
-25
22
-14
-24
-5
3
6
-1
-5
9
3
-3
-1
-1
20
35
-10
-10
-3
-10
-47
38
-5
11
-26
23
-24
1
-56
-24
13
7
-5
-2
16
-8
-5
20
-10
80
10
-27
11
-10
50
-11
1
4
13
3
13
45
11
0
-26
-14
-26
4
-29
5
3
3
-72
60
-27
71
-6
14
49
22
4
-8
-7
-32
0
6
-2
5
2
18
-23
5
1
-14
-2
-62
-75
-24
-17
22
-1
4
21
-12
54
28
43
-16
9
10
-24
-13
0
-2
11
2
-34
-2
-14
0
-2
1
20
0
-1
-3
10
-18
14
13
-2
-7
-24
-5
-5
-42
49
6
-1
-56
-19
-29
-67
-8
15
8
-46
9
-14
3
3
-1
-1
-14
-5
9
2
9
4
13
-10
-19
-2
-9
15
-3
-17
28
-24
5
3
-23
43
-42
-12
44
37
-16
-2
7
9
0
-23
-26
10
21
-5
0
8
9
-69
4
14
0
-22
-52
-39
39
-33
14
25
-46
6
-17
61
31
12
-1
23
-14
61
-17
-15
-8
7
15
-15
2
-19
-2
9
-5
-19
0
5
4
4
-16
-3
-45
-36
38
-26
23
-17
-23
-34
1
16
18
-5
0
-47
-35
-5
-1
-10
-18
15
-4
-11
9
-21
-3
-23
83
19
23
-23
-45
26
-73
-55
33
-5
55
-42
-23
6
-19
3
43
37
-5
104
-74
-5
-25
-10
23
35
-5
-4
14
-10
-32
-7
47
-14
5
-34
-58
26
-34
-18
96
32
-53
-30
14
-9
-6
-32
52
-14
-23
-17
41
49
4
32
19
-25
19
-9
-17
5
53
15
-30
-16
21
17
0
4
25
36
-6
8
-30
-6
39
-12
8
17
-13
3
-15
-35
6
-2
9
-48
2
-3
19
47
0
11
-33
33
21
3
-7
14
19
1
23
-20
39
-3
4
-4
44
5
6
25
-33
-36
2
-15
-2
-14
-3
-35
15
11
4
-16
3
14
-5
-23
4
-2
-14
8
11
1
9
52
-16
24
-8
-1
-1
16
11
5
3
19
9
-5
5
-1
-26
38
-16
-4
44
-20
-5
-14
3
-45
32
0
25
-21
-1
47
-43
2
39
-14
-4
15
51
24
9
52
-16
-27
-14
6
22
-9
3
20
-15
2
23
-6
-2
-9
25
28
-31
10
2
-2
-11
-1
0
4
-6
6
-5
-8
1
3
7
-2
29
17
5
17
34
-43
-1
19
10
-4
-7
-11
-2
13
17
-14
2
7
0
0
-9
13
-3
9
-4
-1
-15
7
-6
-7
-4
-40
0
9
-13
45
8
-10
-1
21
-11
0
-37
-2
1
0
0
-10
5
0
1
-5
13
-3
8
-10
14
-1
-1
-33
-1
20
-3
-22
32
26
22
-7
0
10
-7
-17
9
-1
27
16
3
-1
-6
33
-20
-5
2
16
-20
-18
11
50
-1
-14
-2
-12
3
-25
-27
-13
17
-4
3
-18
2
3
-8
13
-11
-1
14
5
2
-9
2
-4
14
-14
-5
-5
-2
4
27
16
-23
-2
3
32
0
15
13
93
20
5
-7
6
20
2
2
-16
-7
0
-25
4
-15
6
0
11
-5
17
0
1
-5
-8
-8
21
-19
3
20
-17
7
4
-5
-22
7
37
5
10
5
9
-1
-52
-10
7
-5
27
4
-5
-5
-24
-3
-8
-7
-46
-11
1
-2
-26
9
-15
0
-5
-3
-5
2
61
-14
-31
-13
-22
0
-24
2
-24
8
-7
22
16
-4
7
9
-7
-1
7
7
-3
-7
-20
-7
4
4
-1
-27
33
-6
-8
-11
-46
-3
0
4
-4
-43
0
0
17
-11
1
6
7
0
-2
-18
-10
-5
-3
4
7
1
-18
-1
-15
8
3
-9
8
3
-4
-7
-9
-25
45
2
5
2
1
-5
17
6
6
-2
-7
-2
-3
-6
4
0
-4
0
0
-4
-1
0
-13
11
2
3
-15
-22
-3
6
1
5
-21
10
1
2
7
-1
6
13
24
-20
-32
0
1
1
-1
21
3
10
10
0
9
-17
-5
-9
-1
3
-6
2
-31
-6
-9
27
30
-1
2
-31
-18
-27
-14
15
26
5
-5
3
26
10
-2
29
1
-3
3
-17
-3
13
20
13
24
-5
-11
-26
-4
-46
44
-22
5
-6
10
0
3
11
5
6
7
9
-16
-5
0
8
-14
-76
-10
52
-27
34
13
24
-4
-2
11
65
28
-23
-33
44
-11
18
14
-10
-7
-23
-1
2
24
-20
-3
-5
20
8
-6
15
-5
-53
-2
20
-8
1
-21
-8
-5
-7
22
-48
-13
8
29
43
-10
14
-9
-19
5
1
1
5
15
-4
-3
-1
-2
0
-6
-2
-17
-12
-34
-2
-36
-17
-8
43
-58
-29
-24
26
-8
13
11
-9
-7
-15
-25
-11
14
-2
-1
-6
-5
-9
-20
5
9
2
0
-5
16
14
16
-49
-45
-20
6
24
-7
-45
8
14
-23
29
-22
-20
-29
25
2
14
-14
4
-33
-4
-7
2
-9
6
5
-1
5
7
-4
-33
7
37
-29
22
-46
-19
1
3
-46
-3
-2
36
-20
-26
-3
23
-5
-17
-4
-17
39
-7
22
5
-6
4
-2
1
-6
-7
-13
-12
32
49
-68
-7
42
-20
8
83
17
1
-44
-15
1
-14
-23
19
10
4
-11
2
0
0
-44
2
6
-10
-6
-1
0
5
-10
-13
5
8
5
6
-11
-2
16
13
-5
-22
-33
-8
-8
-45
-44
37
-27
3
11
-22
4
-15
-6
-10
-1
13
33
-3
-17
-25
-37
19
12
-12
47
14
5
-17
-8
-34
-20
15
-14
12
15
-17
21
33
5
-7
-5
19
7
0
0
10
-9
32
-3
-5
-2
22
-2
-29
-26
0
6
-5
-25
-32
-19
-5
7
-14
11
50
22
18
99
-19
-5
-25
11
-5
1
2
-5
7
25
6
13
1
2
5
1
-6
21
-22
-44
6
-18
25
10
8
-24
50
29
-69
-14
-13
-20
-4
6
-6
24
1
-11
-5
-11
-1
5
-5
19
0
-1
4
8
15
-29
-13
33
14
-24
9
-16
22
-4
35
-39
8
-3
20
46
25
23
7
0
16
-19
-8
-17
13
-4
9
27
5
-24
5
-33
13
17
-42
47
-23
-25
-4
-27
-16
34
6
-15
13
-6
-39
-4
29
-10
44
28
19
-10
2
-3
-5
-6
14
-5
-6
-1
-9
-7
52
-21
-31
-35
4
-10
-20
-15
-16
23
15
-8
14
40
-19
-2
-1
-1
15
-25
16
-1
0
-8
3
22
11
-4
7
6
3
13
16
16
-2
-14
-6
-27
-18
-14
-25
37
-24
29
-28
-22
-7
22
16
39
19
-35
-11
0
-4
23
-5
14
-3
-28
2
-1
14
-23
53
-24
6
-23
15
17
-16
-11
29
18
3
-24
-21
-1
-57
-5
73
43
-13
29
-41
19
22
44
45
-10
24
-24
19
43
-29
-47
55
6
19
29
4
-10
-1
-17
31
84
30
-5
-52
-33
4
-45
21
38
44
23
27
35
0
-14
29
-11
-5
-14
68
31
-12
15
72
-16
-51
11
1
-45
-20
15
-13
1
3
-6
103
-5
73
-5
63
-13
7
49
27
-32
37
-28
-23
7
-15
-14
5
-7
-1
-30
33
21
-15
32
-24
10
-2
53
14
36
23
32
-29
36
-33
-40
24
34
30
16
-34
-6
-33
20
21
-7
-34
-15
-21
-55
11
-6
-19
24
-25
71
-21
15
15
24
3
-11
-14
32
-14
-38
-81
-33
53
12
36
71
33
18
46
14
22
16
-31
-23
-48
5
9
-47
20
4
14
-109
-30
21
-7
5
-8
6
-31
-63
-14
11
-13
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
14
5
-31
19
10
5
-4
7
6
47
38
-3
-5
-10
6
-15
60
-21
33
-22
35
-4
5
-15
50
-9
-21
-36
-51
-3
14
7
0
15
1
-17
-1
2
-9
1
1
-10
12
23
-8
39
-2
22
-5
-6
-6
8
2
-16
1
5
14
-32
24
-56
20
-47
-5
19
-16
-32
-14
1
-15
-33
-24
-4
47
-18
15
11
-36
-39
1
53
33
-8
-1
25
18
-14
-5
-14
-17
4
-15
-28
-21
21
22
6
13
1
-16
-21
3
-15
17
-1
-33
-14
-43
-1
8
-4
13
-20
14
-46
2
-32
6
-7
-25
-3
-15
-9
-24
-23
-17
18
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
-5
2
15
6
0
1
0
-56
84
6
-22
-22
78
-26
31
-30
6
5
-13
48
-19
26
-6
-33
50
74
-70
18
26
43
33
-3
28
4
-74
-45
5
-43
-19
-2
-15
31
-8
31
2
-13
-14
15
28
34
3
-11
-6
-47
-54
-3
14
17
53
11
18
-24
-37
-1
45
-13
-5
-15
-21
0
-9
-13
14
-34
-4
67
23
31
-53
-39
-31
-27
22
-23
-64
-19
-9
-14
16
0
20
-46
-20
-19
1
16
14
-16
14
-7
15
-26
11
0
11
4
-57
-30
-3
-14
-27
5
-24
-41
-29
40
-38
-1
23
-75
9
-54
-24
11
2
-3
-49
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
54
16
-5
-1
-2
6
-18
-7
57
33
-46
-36
36
4
21
-34
27
66
-28
2
17
5
-8
-27
42
-61
-19
27
9
23
-22
-9
43
-27
-29
-18
-8
5
3
16
-33
-4
-10
24
36
-32
49
-17
4
14
-5
-2
39
-40
-10
8
38
-27
20
-10
-3
33
-59
-33
-21
7
-13
9
15
15
2
16
31
-33
9
-10
-13
0
-46
18
-2
-15
12
-33
12
22
-23
-42
14
-1
44
27
-30
48
-36
4
-4
13
11
-8
-15
-8
-9
-46
6
-7
-22
-52
13
23
58
-32
21
-59
-15
-14
-11
-33
1
1
4
-12
0
-15
-1
-25
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
-71
-19
14
-56
16
53
76
5
-2
53
32
16
-16
21
19
7
8
3
5
1
-22
6
5
22
39
44
-6
23
-21
47
-23
31
55
-17
-28
-11
-8
-43
-10
-7
15
-11
0
-8
17
2
-2
-5
76
39
-1
15
9
34
3
23
36
7
22
32
10
32
-27
-19
-21
-21
28
5
20
-11
-15
8
-43
11
-13
33
13
11
57
45
15
14
25
-17
-5
21
-4
11
-22
10
5
-21
-30
-23
14
-10
-14
9
-45
142
51
30
5
79
-15
-5
33
5
4
4
21
67
-9
-21
2
-1
-9
9
-16
2
-33
-1
-7
64
-6
-11
27
1
-5
17
-53
-9
-2
47
4
5
13
5
-4
-43
49
6
-29
-24
36
-19
5
16
9
-15
5
-23
-21
-1
-6
-1
51
-17
7
-44
5
7
26
31
-14
20
2
5
-47
-17
14
1
-5
-14
-7
42
8
-9
0
23
7
-10
-3
-3
4
-24
-2
-6
16
2
4
10
5
13
-17
10
-14
-23
-46
29
22
-17
30
22
2
-9
6
-8
4
18
-9
-13
10
-1
-1
1
5
2
-4
-27
-6
-2
-18
-43
31
8
25
-60
-1
35
-18
-44
14
-6
-5
-5
-19
1
-12
3
29
-36
3
-15
1
17
-21
-8
29
-60
-18
3
-8
8
45
21
-13
-2
-27
49
19
0
7
-21
-9
8
20
10
70
15
33
-53
-15
-2
2
0
6
10
-13
-4
-1
10
5
4
70
-8
-45
48
11
-32
-17
-13
-32
-4
-6
15
53
40
-5
8
-9
-5
-20
-19
1
-8
1
7
-5
-9
5
-5
-16
13
8
1
5
-48
-48
63
6
-14
33
31
17
-2
-6
45
-4
-59
-3
-5
9
-14
10
-21
-17
-13
-5
5
-8
-1
4
-8
-33
-18
18
-14
-30
-19
14
-29
29
35
32
-22
-2
-43
-2
-5
33
-17
-48
-43
16
-13
5
-33
3
-21
1
-5
-8
0
0
19
17
1
-20
8
-46
-23
25
-36
39
-5
18
16
5
9
-4
2
32
14
0
16
13
5
6
9
-6
-5
0
-6
7
6
-4
1
13
-2
4
-3
33
20
-2
9
43
3
7
-2
18
14
1
-39
16
34
-24
-2
-8
-33
-1
-16
11
-43
6
2
11
-25
1
6
10
-3
2
-7
11
-15
-11
-40
36
63
14
17
-17
0
15
-10
8
-25
33
-13
-3
-11
10
-6
5
4
-21
3
7
-24
10
0
-30
34
-5
-6
-17
-8
-8
-2
-1
43
4
-3
16
-53
-2
-8
25
18
-26
-14
-6
-18
-8
-48
36
38
0
-16
15
-48
-25
-8
-2
-5
-5
-2
-42
19
0
-49
9
17
5
-10
-1
-25
5
15
24
1
0
-8
16
5
-2
-65
-15
-3
1
-14
-71
24
29
7
46
70
26
2
21
46
53
-15
20
4
-16
6
-4
-19
5
5
-3
-1
-6
-32
-1
20
11
8
43
20
42
19
-43
-6
-61
3
43
-22
10
-21
25
5
-25
-58
-8
5
2
-27
-3
0
-25
-32
10
-5
-17
3
8
3
-8
21
66
22
-24
19
-22
27
-30
-30
23
0
-12
-1
-25
-11
-92
-16
10
8
-17
15
-3
-10
-2
9
5
10
-25
30
9
-24
21
5
-33
43
-44
-16
-56
-45
29
5
-19
5
-15
52
-34
23
-5
8
29
-11
8
17
7
-13
0
-4
-3
13
1
-1
9
-19
-5
2
34
-81
47
-22
18
-23
28
-26
-5
-2
1
-6
16
20
24
8
22
0
0
14
-1
0
-4
-16
5
-3
-8
-7
4
-32
-6
23
8
8
-27
21
-9
-6
-33
-36
-1
6
20
2
-14
5
6
-9
7
31
8
25
-3
3
1
-6
1
-3
-4
-1
0
-1
-3
-6
21
15
86
0
-28
-1
21
-14
-27
-6
-2
9
-3
-14
-24
-42
16
0
6
-5
-9
1
2
19
-6
-5
-11
-6
-26
4
20
12
22
70
-44
-67
-21
23
-35
-43
0
-18
-33
3
-3
-17
-19
32
-3
-14
-5
-1
23
-5
5
-14
-9
24
-31
61
11
14
2
1
-11
34
-16
-30
25
10
-9
-13
48
32
-7
-9
-63
53
42
28
6
-2
2
-33
14
-35
-5
-11
-3
-15
-9
43
1
22
-6
-5
14
5
-20
-36
-14
-5
-13
-17
58
25
-36
48
-8
-23
-79
50
5
-3
4
-6
-8
-10
3
-6
43
17
-8
-5
-17
7
-53
10
-7
-46
15
-34
5
-26
-25
17
48
-4
-43
-56
-12
1
-13
-16
7
-5
20
20
4
-5
0
5
15
-19
-27
-8
-5
-33
9
1
1
21
-41
32
-22
-14
-8
-24
41
-5
51
-44
67
15
-34
-20
90
16
-20
-40
0
-3
-3
-36
1
12
-18
22
-16
14
-4
-43
27
5
3
-2
8
4
-4
-24
20
27
-61
15
34
-8
19
-12
14
-3
5
-30
-8
-22
-13
-31
8
34
-16
17
-17
-27
-18
10
12
-56
-10
48
-4
16
-1
-5
68
-33
16
-52
5
-23
3
-66
31
-31
-6
-18
17
3
16
6
9
-18
1
-69
43
-7
3
6
-13
-37
-84
-39
17
-23
-17
-5
10
-33
-18
-76
32
32
8
18
73
32
4
8
-21
18
36
-5
44
-13
-8
-46
-39
11
-25
-36
18
5
46
64
71
-49
35
-7
-20
-53
15
-41
4
23
-116
0
-35
14
-1
-31
-3
10
47
-13
17
1
20
31
36
29
1
31
-2
-14
14
13
0
41
-27
-1
5
0
43
9
18
33
-19
-7
11
-4
-7
-10
18
-26
-4
-24
58
-17
7
-16
17
6
23
23
1
9
5
-9
0
2
14
0
29
-41
7
19
-8
78
12
24
48
-4
-11
-5
-34
-18
15
27
-36
23
43
-33
-14
-13
5
-23
-4
6
3
-5
-15
-15
19
-3
3
-22
7
5
22
24
-18
20
-3
9
14
-17
-5
-13
-14
65
15
21
-18
-20
19
9
5
14
5
-10
5
31
-9
2
-7
14
3
15
4
-17
12
-10
41
31
-1
-16
9
-5
15
-2
-1
10
-9
-24
17
43
5
-25
6
-3
-31
-2
2
8
0
2
2
2
-43
-2
26
10
-11
-2
10
-16
27
22
-15
-4
-1
-2
-8
26
-2
-6
-4
-35
-11
26
8
-3
8
-2
-5
-2
3
-11
2
1
10
36
-14
1
-1
0
-4
-18
14
-1
-3
11
-6
1
0
0
0
-2
1
-15
8
-19
4
-5
20
-2
0
-5
0
5
0
-1
-11
-5
0
1
7
0
20
-29
-4
3
10
50
3
6
10
7
14
-16
16
-15
-6
-10
-2
-5
5
5
1
-3
-1
-6
-2
9
22
1
-1
-24
-33
18
14
6
18
-6
-14
-33
36
4
-14
25
-7
34
24
-9
11
0
36
61
-2
-25
-5
-2
-16
-8
0
0
7
4
10
3
2
14
10
36
5
-29
6
18
5
-26
-7
33
30
-43
4
35
-1
15
6
30
-13
-2
0
6
0
3
-3
-10
3
0
7
-8
-6
-9
-16
14
23
40
15
-1
-20
-9
-22
-44
-2
43
-29
0
7
-14
19
-4
4
-19
5
-8
3
-9
14
-1
-3
-2
-8
-14
-13
4
4
2
0
26
-11
-17
-19
-9
-9
-6
9
-5
-35
-4
15
7
5
37
-17
-22
-11
17
-2
0
0
5
-2
5
-25
-24
-33
-14
-4
-11
8
-3
0
-8
-13
6
-15
-16
-7
21
0
43
0
3
1
1
6
-11
4
0
2
-21
1
-2
-10
-8
6
-10
-33
-5
-3
-22
4
29
13
-6
0
10
0
-8
34
11
-11
18
1
-9
5
-8
8
31
-3
-16
-5
13
0
-6
-13
-1
-15
0
-8
-11
2
-21
43
-4
-22
10
-1
6
-26
-2
21
-8
-1
-2
9
-18
-14
-6
2
-7
35
-23
10
0
6
-3
15
-26
17
-5
-5
-15
34
-63
25
14
-10
14
46
-2
16
-33
5
24
-8
-45
5
-11
5
-32
55
17
-43
24
35
19
-20
3
33
31
-31
-7
17
4
-26
-9
18
11
4
-14
4
-6
3
-11
9
14
-6
17
-27
-2
7
28
-55
-12
0
-30
1
6
51
9
5
5
-31
29
56
26
-9
81
-9
-18
2
-1
1
0
-1
-17
25
19
-13
17
-10
1
-5
9
-57
3
1
47
-15
-39
20
-1
1
39
-9
-5
-20
-4
8
21
21
-7
-26
14
-3
5
2
10
-2
-16
4
-3
10
3
3
-27
-46
-18
23
10
-53
-18
-4
-45
-1
7
13
-26
5
-11
22
-14
-13
-25
-14
-5
-14
-6
-1
-5
2
-21
-18
-14
14
-8
8
-11
-87
43
9
-10
-33
-5
-31
8
8
-5
34
-16
43
2
-18
-5
24
-33
24
-18
4
-5
3
9
-6
3
-27
0
11
-13
-15
-46
42
-46
10
11
-9
-1
-46
-43
19
-11
-15
-14
-3
49
-11
5
23
-30
-3
4
6
-7
1
-14
45
5
9
8
3
-6
-16
-45
33
56
-14
-41
-14
3
4
-13
9
-15
-17
13
-2
15
-26
16
2
31
0
-29
3
-8
-5
-10
1
24
-21
-10
3
-5
3
0
3
26
26
19
-4
2
-19
-6
-21
-10
-15
9
-43
-11
-16
-53
5
-46
6
-13
9
-9
7
15
-13
-19
7
-5
-19
0
-14
21
72
7
-36
-30
-49
-5
-17
-33
83
14
14
-58
10
-32
23
17
44
15
19
36
30
27
0
21
-33
-20
-2
-5
3
9
4
6
64
-17
-23
-22
35
14
1
4
-19
15
-31
1
-23
13
23
56
-7
-15
-17
37
-2
-5
18
18
-1
-1
-7
-3
-7
0
-7
-19
13
-14
-4
-5
11
-27
1
-26
48
-71
-69
10
43
83
2
2
4
-11
31
8
-19
13
6
-33
10
-7
14
-7
3
16
0
-7
-24
-20
15
52
-51
-11
-1
37
4
51
18
-15
51
14
1
-10
33
50
-1
25
-15
0
14
-24
-29
-13
-4
-45
-5
-20
-14
-5
-33
13
2
-2
23
1
-55
-13
16
-16
28
-30
50
3
-41
-41
6
52
-11
-16
24
5
-5
-13
-3
14
-6
19
3
34
-25
-4
37
16
21
-29
-24
-27
-5
-14
0
-43
23
12
-15
-27
-7
16
33
52
-5
-18
-7
7
-26
2
42
-13
-45
-5
-7
-14
4
6
27
9
-2
-19
31
-24
-29
-2
20
44
-13
-48
-16
3
5
-25
10
19
5
51
32
-20
9
-33
-5
22
-36
4
26
-3
14
-9
54
-26
2
7
-19
-13
-16
14
58
17
-1
-7
-55
-32
-49
-23
63
20
50
56
9
-19
13
5
30
26
-45
13
-48
5
-24
-87
92
-3
-67
2
5
24
9
17
26
-31
16
28
-14
-31
-36
20
43
21
-54
3
0
0
0
0
6
5
27
-16
0
0
0
0
74
7
-65
3
0
0
0
0
14
48
14
1
0
0
0
0
-20
49
15
-5
0
0
0
0
5
8
0
-53
0
0
0
0
34
19
22
8
0
0
0
0
11
24
-1
9
0
0
0
0
65
29
17
35
0
0
0
0
33
-33
-10
-43
0
0
0
0
7
0
5
-29
0
0
0
0
-5
16
-37
-5
0
0
0
0
24
9
99
97
0
0
0
0
-5
-8
72
45
0
0
0
0
-19
21
16
-23
0
0
0
0
-29
13
-5
31
0
0
0
0
40
-16
-26
39
0
0
0
0
3
-3
11
21
0
0
0
0
19
-19
-29
-24
0
0
0
0
33
-61
15
-23
0
0
0
0
-7
-12
50
21
0
0
0
0
-35
44
-27
13
0
0
0
0
-1
4
-14
17
0
0
0
0
6
-17
8
-24
0
0
0
0
7
-34
-18
-30
0
0
0
0
-9
5
-34
-26
0
0
0
0
1
-7
-11
19
0
0
0
0
14
2
34
11
0
0
0
0
-1
-19
25
-15
0
0
0
0
-19
17
24
4
0
0
0
0
-17
-17
-46
13
0
0
0
0
-7
8
4
-10
0
0
0
0
80
-6
-6
22
0
0
0
0
-8
-20
2
-20
0
0
0
0
53
-10
-29
-33
0
0
0
0
59
43
14
-5
0
0
0
0
-19
48
-26
27
0
0
0
0
14
-23
5
13
0
0
0
0
-23
-11
-42
-16
0
0
0
0
-23
-1
18
-35
0
0
0
0
19
-33
-13
27
0
0
0
0
15
-23
-21
7
0
0
0
0
-23
18
-33
-23
0
0
0
0
-5
-28
0
14
0
0
0
0
30
-44
-30
3
0
0
0
0
6
5
-27
9
0
0
0
0
-34
-40
2
-19
0
0
0
0
10
-53
14
-26
0
0
0
0
8
-23
-1
25
0
0
0
0
29
31
26
13
0
0
0
0
10
25
1
10
0
0
0
0
62
23
-34
31
0
0
0
0
15
-39
-23
34
0
0
0
0
-15
23
-14
4
0
0
0
0
23
-4
7
-29
0
0
0
0
8
52
-18
-81
0
0
0
0
10
28
16
26
0
0
0
0
0
8
-20
-36
0
0
0
0
41
-36
8
26
0
0
0
0
-16
34
9
-2
0
0
0
0
4
19
-62
-44
0
0
0
0
16
13
-45
43
0
0
0
0
-23
-41
-38
-14
0
0
0
0
5
-33
9
5
0
0
0
0
-4
10
-3
-11
0
0
0
0
26
-17
30
-14
0
0
0
0
2
-7
-17
41
0
0
0
0
21
-13
48
-95
0
0
0
0
-30
25
1
-13
0
0
0
0
6
8
-16
8
0
0
0
0
37
39
-26
-38
0
0
0
0
-53
37
-39
4
0
0
0
0
2
2
-50
-14
0
0
0
0
-35
5
-25
-5
0
0
0
0
-32
24
24
-7
0
0
0
0
-5
-52
-12
-5
0
0
0
0
13
9
17
-48
0
0
0
0
-43
4
49
13
0
0
0
0
-73
12
5
43
0
0
0
0
39
16
-45
10
0
0
0
0
7
16
-15
-14
0
0
0
0
43
11
5
7
0
0
0
0
66
32
-36
-52
0
0
0
0
8
3
-14
9
0
0
0
0
4
15
-7
-5
0
0
0
0
4
17
-9
20
0
0
0
0
22
21
-86
-28
0
0
0
0
-56
4
7
32
0
0
0
0
19
15
22
-21
0
0
0
0
8
9
-16
-26
0
0
0
0
-4
-39
4
53
0
0
0
0
11
1
5
-20
0
0
0
0
1
5
46
-6
0
0
0
0
-4
-41
-8
-13
0
0
0
0
4
14
-33
-5
0
0
0
0
-5
-70
-2
47
0
0
0
0
-20
35
-17
-7
0
0
0
0
57
30
-12
-14
0
0
0
0
31
-45
-33
-57
0
0
0
0
9
1
33
14
0
0
0
0
62
-50
5
24
0
0
0
0
-35
-62
-9
-5
0
0
0
0
41
-50
69
-33
0
0
0
0
-20
52
-26
-31
0
0
0
0
-1
-43
-10
58
0
0
0
0
1
-23
20
-30
0
0
0
0
-7
-45
-31
-53
0
0
0
0
-43
-34
1
5
0
0
0
0
17
19
-22
23
0
0
0
0
-16
6
4
-26
0
0
0
0
-40
-17
12
-46
0
0
0
0
50
37
-2
-35
0
0
0
0
14
49
-14
-33
0
0
0
0
43
23
-32
-5
0
0
0
0
-11
-43
9
-36
0
0
0
0
14
-12
27
43
0
0
0
0
14
5
-70
-68
0
0
0
0
-12
27
-5
-14
0
0
0
0
-17
5
63
-58
0
0
0
0
0
6
-5
-41
0
0
0
0
6
-23
-3
-22
0
0
0
0
-14
-24
-15
-25
0
0
0
0
15
-77
33
-2
0
0
0
0
22
4
9
-33
0
0
0
0
50
-13
-30
-6
0
0
0
0
6
-26
-2
-77
0
0
0
0
-6
14
4
32
0
0
0
0
33
-44
-29
10
0
0
0
0
22
43
-18
-18
0
0
0
0
36
23
28
4
0
0
0
0
29
33
7
-4
0
0
0
0
-1
1
-14
7
0
0
0
0
20
16
22
-4
0
0
0
0
5
8
20
8
0
0
0
0
21
5
1
-49
0
0
0
0
14
35
-20
-4
0
0
0
0
-14
3
-33
32
0
0
0
0
-8
5
-57
-33
0
0
0
0
-15
-3
-13
1
0
0
0
0
54
4
11
10
0
0
0
0
59
24
-4
58
0
0
0
0
-34
2
19
5
0
0
0
0
3
-43
24
-24
0
0
0
0
3
-3
20
14
0
0
0
0
-13
3
20
29
0
0
0
0
-26
-18
34
4
0
0
0
0
-15
-7
-4
-5
0
0
0
0
-41
6
5
14
0
0
0
0
-28
-4
9
36
0
0
0
0
5
27
15
-32
0
0
0
0
44
-1
-8
-32
0
0
0
0
3
5
-1
-9
0
0
0
0
20
-15
20
21
0
0
0
0
-14
-18
-10
1
0
0
0
0
35
6
-5
-10
0
0
0
0
32
1
0
-15
0
0
0
0
54
-14
47
-13
0
0
0
0
36
-8
-26
33
0
0
0
0
8
15
-1
17
0
0
0
0
-38
-46
26
-3
0
0
0
0
41
24
22
28
0
0
0
0
43
-13
27
-14
0
0
0
0
3
14
-6
-8
0
0
0
0
-1
30
21
-11
0
0
0
0
4
-14
-5
9
0
0
0
0
-11
-24
-14
24
0
0
0
0
0
5
-1
2
0
0
0
0
11
11
3
-17
0
0
0
0
17
-5
-62
7
0
0
0
0
-1
31
18
-6
0
0
0
0
-5
-26
15
-18
0
0
0
0
-9
15
-1
4
0
0
0
0
14
-86
-4
-52
0
0
0
0
6
-5
-12
12
0
0
0
0
-8
4
-17
7
0
0
0
0
14
-5
13
-7
0
0
0
0
-5
-2
-16
-15
0
0
0
0
-3
-4
6
-17
0
0
0
0
22
-16
-3
9
0
0
0
0
-30
0
2
1
0
0
0
0
-18
-11
33
14
0
0
0
0
14
47
-18
-10
0
0
0
0
-25
-5
-7
-7
0
0
0
0
0
2
0
-1
0
0
0
0
24
-9
21
-4
0
0
0
0
3
-9
13
-36
0
0
0
0
8
-9
2
5
0
0
0
0
-7
7
1
1
0
0
0
0
12
-5
2
49
0
0
0
0
-17
-16
22
-32
0
0
0
0
19
23
7
7
0
0
0
0
14
0
23
-42
0
0
0
0
18
-8
-6
-2
0
0
0
0
28
-23
24
1
0
0
0
0
-58
-23
30
34
0
0
0
0
-76
100
31
9
0
0
0
0
1
0
-26
14
0
0
0
0
-11
-26
0
0
0
0
0
0
24
14
11
6
0
0
0
0
-4
-77
11
10
0
0
0
0
27
-2
-8
5
0
0
0
0
-1
-29
1
8
0
0
0
0
-14
-37
-43
17
0
0
0
0
13
5
7
-44
0
0
0
0
-6
10
-6
-13
0
0
0
0
-18
4
-1
-13
0
0
0
0
-8
-83
-33
-15
0
0
0
0
-37
-21
7
30
0
0
0
0
-14
29
-33
-48
0
0
0
0
-19
-5
8
-7
0
0
0
0
38
-33
-16
-12
0
0
0
0
-33
-41
-6
4
0
0
0
0
22
-11
-5
-18
0
0
0
0
16
6
4
-7
0
0
0
0
49
51
21
-21
0
0
0
0
-41
-19
-9
-8
0
0
0
0
1
21
-30
5
0
0
0
0
-2
4
-18
-33
0
0
0
0
-25
-33
-55
-7
0
0
0
0
16
2
-16
-18
0
0
0
0
25
9
-32
91
0
0
0
0
-1
30
-27
-33
0
0
0
0
-23
15
-55
-19
0
0
0
0
40
-50
14
23
0
0
0
0
6
31
-7
-5
0
0
0
0
47
5
-26
-20
0
0
0
0
30
43
-4
0
0
0
0
0
-18
-4
19
4
0
0
0
0
17
13
-34
12
0
0
0
0
0
-1
-7
5
0
0
0
0
71
8
-21
-61
0
0
0
0
-24
6
-33
-43
0
0
0
0
15
-6
-16
-2
0
0
0
0
21
14
-14
-14
0
0
0
0
16
2
-14
34
0
0
0
0
44
16
11
-4
0
0
0
0
-5
-38
13
-1
0
0
0
0
14
-32
-36
-1
0
0
0
0
-8
-9
7
-6
0
0
0
0
20
23
-71
11
0
0
0
0
28
-4
2
-62
0
0
0
0
31
17
-11
-3
0
0
0
0
57
6
-52
-18
0
0
0
0
1
-79
41
23
0
0
0
0
48
20
23
8
0
0
0
0
20
-9
-14
-10
0
0
0
0
18
-38
-36
-57
0
0
0
0
61
43
-24
-32
0
0
0
0
33
-10
29
-33
0
0
0
0
-15
12
4
-13
0
0
0
0
53
19
13
-8
0
0
0
0
-50
10
-37
-5
0
0
0
0
45
54
-27
5
0
0
0
0
-14
1
-5
-23
0
0
0
0
4
6
11
-25
0
0
0
0
36
-13
-46
4
0
0
0
0
0
0
8
24
5
0
0
4
74
26
0
0
25
-9
31
0
0
9
10
0
0
0
-14
0
-4
0
0
62
46
-23
0
0
-47
15
5
0
0
10
-5
44
0
0
22
76
5
0
0
-15
-1
-6
0
0
22
16
6
0
0
17
60
-5
0
0
5
-27
5
0
0
3
-9
4
0
0
13
79
-7
0
0
49
-53
-17
0
0
1
-3
15
0
0
16
14
-16
0
0
-5
2
0
0
0
-1
-15
0
0
0
5
22
-4
0
0
-7
0
-13
0
0
1
2
-3
0
0
-5
-14
4
0
0
7
-6
20
0
0
0
2
7
0
0
1
-16
8
0
0
37
-11
0
0
0
12
-25
-8
0
0
3
55
3
0
0
-10
-22
0
-14
7
21
0
-32
0
0
13
-8
28
0
0
-4
15
-9
0
0
43
10
-4
0
0
-29
30
-72
0
0
-7
46
39
0
0
16
54
37
0
0
-13
-14
-11
0
0
17
-39
-30
0
0
33
-54
15
0
0
-24
48
3
0
0
27
7
0
0
0
36
-5
20
0
0
14
-2
1
0
0
2
-2
-5
0
0
-29
-1
1
0
0
-26
-12
-11
0
0
-9
22
-5
0
0
-1
20
-1
0
0
0
-9
1
0
0
-18
-9
6
0
0
1
18
6
0
0
43
-61
-1
0
0
3
-5
2
0
0
-10
6
1
0
0
0
28
5
0
0
-7
8
16
0
0
0
0
-1
0
0
1
-10
1
0
0
14
28
1
0
0
0
25
-25
0
0
4
8
-10
-6
3
-8
19
14
0
0
-38
53
8
0
0
-11
-40
20
0
0
20
54
-17
0
0
26
-43
-37
0
0
14
-5
17
0
0
-11
-1
21
0
0
29
13
3
0
0
24
-8
10
0
0
-21
43
-2
0
0
17
6
1
0
0
-4
9
-3
0
0
-5
0
2
0
0
0
10
0
0
0
-2
5
0
0
0
-1
2
0
0
0
-17
-11
4
0
0
0
25
1
0
0
0
0
0
0
0
3
-8
0
0
0
0
2
0
0
0
19
-5
0
0
0
-3
-6
0
0
0
0
-4
1
0
0
5
-3
0
0
0
0
49
4
0
0
1
-18
0
0
0
0
16
4
0
0
3
7
0
0
0
2
-3
-1
0
0
-1
-1
0
0
0
60
3
0
31
7
-36
-17
0
0
0
-30
25
20
0
0
9
-41
11
0
0
55
29
31
0
0
14
-16
7
0
0
30
3
-21
0
0
59
2
-31
0
0
25
-2
5
0
0
10
-4
3
0
0
-23
2
-1
0
0
22
9
2
0
0
-8
6
0
0
0
5
4
-4
0
0
0
1
0
0
0
0
-5
0
0
0
2
-13
0
0
0
-21
5
-5
0
0
0
-8
2
0
0
4
-6
3
0
0
-2
1
-3
0
0
-9
2
0
0
0
1
-11
-2
0
0
0
21
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
-18
1
0
0
6
-3
0
0
0
-5
13
-1
0
0
3
0
-2
22
-6
-43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
57
-19
14
0
0
27
7
-26
0
0
16
29
-11
0
0
-4
0
0
0
0
-16
-11
1
0
0
3
1
0
0
0
9
11
-1
0
0
7
-10
-1
0
0
11
-3
2
0
0
10
4
3
0
0
-37
3
7
0
0
2
3
1
0
0
0
0
-1
0
0
-2
1
0
0
0
6
4
-2
0
0
15
30
-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
10
8
0
0
0
0
17
0
0
0
0
-4
1
0
0
0
-1
0
0
0
-5
0
0
0
0
3
-10
1
0
0
0
0
7
0
0
2
-4
0
30
-9
13
3
-4
0
0
1
-19
-2
0
0
24
-27
5
0
0
-21
4
-2
0
0
-1
5
0
0
0
9
3
0
0
0
35
8
5
0
0
5
1
0
0
0
-27
-6
-2
0
0
24
18
-3
0
0
5
14
17
0
0
3
-4
0
0
0
-11
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
10
-1
0
0
-5
21
-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
13
0
0
0
0
-11
-2
0
0
2
3
-2
0
0
0
-1
0
0
0
1
0
2
0
0
-2
-26
-1
0
0
5
3
2
0
0
-2
-3
1
25
-29
14
10
0
0
0
-1
-27
0
0
0
16
24
0
0
0
-17
-24
1
0
0
25
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
36
0
3
0
0
-16
1
-1
0
0
8
6
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
13
-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
-29
62
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
16
0
-4
0
0
8
-9
-1
0
0
-16
-6
0
0
0
11
-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
10
-19
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
24
-5
-7
0
0
1
-6
-4
0
0
-5
1
-15
0
0
-32
-32
2
0
0
-10
0
2
0
0
0
0
0
0
0
26
14
4
0
0
25
-9
0
0
0
6
0
0
0
0
0
5
0
0
0
6
3
0
0
0
-6
13
-1
0
0
5
2
0
0
0
18
-16
2
0
0
17
-6
3
0
0
1
2
-6
0
0
10
1
13
0
0
-6
32
24
0
0
15
-2
2
0
0
-64
50
-7
0
0
-75
21
6
0
0
20
-26
-23
0
0
-108
20
-22
0
0
87
-5
-22
0
0
-92
-71
74
0
0
-41
-21
24
0
0
37
-43
36
0
0
73
3
-63
0
0
-43
16
13
0
0
-29
61
11
2
0
32
-98
2
0
0
7
24
23
0
0
18
10
23
0
0
-1
17
-3
0
0
-19
-1
-4
0
0
11
-7
1
0
0
5
-3
8
0
0
-6
-1
0
0
0
21
9
-8
0
0
-2
-11
0
0
0
-4
5
0
0
0
3
0
-2
0
0
2
0
-2
0
0
6
-3
0
0
0
10
-19
0
0
0
17
3
0
0
0
-34
13
1
0
0
-6
-13
-29
0
0
9
-9
-2
0
0
11
15
-14
0
0
7
-8
1
0
0
55
-29
-4
0
0
23
6
-17
0
0
-2
14
-41
0
0
-35
-1
14
0
0
25
-38
98
0
0
51
29
25
0
0
14
-23
25
0
0
7
1
-12
0
0
-26
-3
14
0
0
-33
56
-48
0
0
-32
-27
-25
-11
-2
-41
-57
6
0
0
-4
24
0
0
0
-14
-7
0
0
0
-15
13
0
0
0
29
-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
4
8
7
0
0
36
14
73
0
0
9
-5
-72
0
0
1
15
53
0
0
31
-29
8
0
0
20
-38
46
0
0
-22
37
-2
0
0
-49
49
-30
0
0
25
-50
17
0
0
-72
-2
17
0
0
-54
-34
79
0
0
-76
-25
-17
0
0
-77
1
-25
0
0
14
-15
-5
0
0
-74
-32
-8
2
9
54
45
-101
0
0
-9
-10
3
0
0
-35
5
6
0
0
5
1
0
0
0
11
-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
20
-8
0
0
0
4
-42
17
0
0
-1
92
-19
0
0
-23
-84
56
0
0
-2
-30
-81
0
0
-111
44
19
0
0
39
10
4
0
0
-36
-14
5
0
0
14
17
64
0
0
10
-52
-81
0
0
49
-33
8
0
0
42
54
-94
0
0
48
29
-13
0
0
-1
24
-2
0
0
-2
8
5
0
0
10
4
-12
13
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-9
10
0
0
25
-6
2
0
0
7
-6
-1
0
0
18
6
0
0
0
3
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
-13
-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
25
-5
-1
0
0
80
-77
28
0
0
6
-28
17
0
0
-16
22
-23
0
0
-77
75
0
0
0
-18
-19
17
0
0
16
-5
-78
0
0
37
4
55
0
0
0
1
-1
0
0
-1
-4
-8
0
0
18
5
2
0
0
6
11
12
0
0
-27
-49
-16
0
0
5
17
-20
0
0
-63
-11
41
5
2
-20
-13
-39
0
0
-2
4
2
0
0
24
-6
-8
0
0
1
-6
0
0
0
-36
23
0
0
0
10
0
0
0
0
8
1
0
0
0
0
0
0
0
0
-4
1
0
0
0
2
-4
0
0
0
-10
-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
10
-5
0
0
0
-19
-5
-49
0
0
-29
15
-14
0
0
-35
0
26
0
0
9
-58
26
0
0
2
35
0
0
0
0
48
-21
0
0
0
3
3
0
0
-45
-5
-10
0
0
-10
25
5
0
0
-19
25
-33
0
0
18
34
4
0
0
-54
-27
32
0
0
3
-22
-5
0
0
-18
-55
-3
0
0
-10
-6
27
-7
-20
-137
32
2
0
0
10
-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
-23
40
-7
0
0
-22
30
1
0
0
64
5
-22
0
0
1
-2
-4
0
0
7
-9
2
0
0
-25
-6
-3
0
0
6
1
0
0
0
-47
4
4
0
0
-24
28
20
0
0
62
-24
14
0
0
-72
-38
26
0
0
1
7
-6
0
0
15
50
5
0
0
5
-25
23
0
0
1
-6
-82
27
40
-12
17
-52
0
0
-1
3
0
0
0
1
4
0
0
0
1
0
0
0
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
-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
16
0
0
2
-10
0
0
0
-23
6
11
0
0
-2
25
5
0
0
0
1
-3
0
0
0
-8
1
0
0
-2
0
0
0
0
-6
-1
1
0
0
12
5
-35
0
0
-28
-11
43
0
0
-84
50
-21
0
0
-5
-31
21
0
0
-16
-13
61
0
0
39
16
-21
0
0
6
24
23
-25
-25
-30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
4
99
5
0
0
30
4
-3
0
0
10
-53
27
0
0
21
-9
-1
0
0
50
0
5
0
0
20
0
2
0
0
-5
23
42
0
0
7
19
-1
0
0
-10
-21
15
0
0
4
16
2
0
0
-12
16
20
0
0
1
-24
15
0
0
-11
-6
9
0
0
-20
7
-25
0
0
10
20
-43
0
0
5
23
8
0
0
-2
29
3
0
0
7
0
-1
0
0
23
-11
2
0
0
-26
39
-32
0
0
26
-5
-23
0
0
8
-7
0
0
0
9
8
3
0
0
23
-18
45
0
0
-9
27
13
0
0
-33
6
4
0
0
34
-6
-7
0
0
-33
-22
-13
0
0
5
9
13
0
0
3
15
-24
-11
7
-9
26
8
0
0
5
33
32
0
0
-11
17
18
0
0
21
19
36
0
0
1
76
-124
0
0
-1
-32
10
0
0
41
52
20
0
0
-5
-1
9
0
0
38
5
-30
0
0
-21
-42
-5
0
0
88
19
6
0
0
7
32
10
0
0
2
2
-9
0
0
-5
0
2
0
0
7
-3
4
0
0
0
-16
5
0
0
-67
-35
-2
0
0
24
79
11
0
0
-25
-9
-4
0
0
-11
4
-2
0
0
-35
9
-1
0
0
1
-19
1
0
0
2
-24
-4
0
0
-1
-15
-5
0
0
17
-30
5
0
0
35
63
6
0
0
4
-26
17
0
0
-8
22
-10
0
0
4
-1
0
0
0
5
15
-13
0
0
-45
7
3
0
0
15
13
31
-7
3
-39
-46
-27
0
0
-25
22
43
0
0
23
-5
14
0
0
23
55
5
0
0
14
21
-25
0
0
13
0
-4
0
0
26
5
-3
0
0
2
-2
0
0
0
45
-14
6
0
0
0
6
0
0
0
4
9
7
0
0
-6
4
0
0
0
-13
4
-5
0
0
1
-2
-3
0
0
0
3
-5
0
0
1
17
0
0
0
22
-7
2
0
0
14
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
17
8
1
0
0
6
6
-1
18
12
-61
-33
1
0
0
-41
45
15
0
0
-16
-24
50
0
0
89
10
-16
0
0
-55
4
4
0
0
4
14
5
0
0
-20
0
-16
0
0
-8
16
1
0
0
-15
53
-9
0
0
8
-7
0
0
0
10
13
-2
0
0
4
-27
0
0
0
5
34
-2
0
0
0
4
2
0
0
0
0
-5
0
0
-1
5
2
0
0
37
-9
-5
0
0
14
-22
0
0
0
-17
5
-4
0
0
0
-1
4
0
0
-26
-2
-3
0
0
2
9
1
0
0
-1
-2
0
0
0
0
-8
0
0
0
-15
-9
1
0
0
-3
32
0
0
0
-1
-5
0
0
0
0
0
-2
0
0
13
-18
3
0
0
-6
-15
4
0
0
-2
-5
-13
0
0
-2
-20
0
-14
-4
-34
20
0
0
0
-36
51
-14
0
0
-23
19
-52
0
0
63
-14
0
0
0
-33
36
11
0
0
-1
4
0
0
0
1
0
0
0
0
1
2
0
0
0
5
19
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
-15
-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
13
2
0
0
0
-5
2
0
0
1
-1
0
0
0
-5
0
0
0
0
-13
2
0
0
0
0
-1
0
0
0
0
0
0
-13
12
19
-3
0
0
0
36
-1
21
0
0
41
-58
4
0
0
-30
53
16
0
0
28
53
-4
0
0
6
0
0
0
0
5
10
0
0
0
-4
1
0
0
0
6
-17
0
0
0
6
9
0
0
0
10
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
17
25
0
0
0
-20
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
25
-2
0
0
21
-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
15
10
-5
1
0
0
0
28
25
3
0
0
21
-48
-14
0
0
-24
7
0
0
0
2
-3
-11
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
17
-15
-3
8
0
0
0
34
-74
16
0
0
22
67
-17
0
0
-5
-4
2
0
0
30
6
2
0
0
-8
1
0
0
0
-1
1
-3
0
0
0
0
0
0
0
-4
10
1
0
0
-10
26
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
15
-1
0
0
10
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
-10
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
-14
0
-3
-1
0
0
0
-22
45
10
0
0
-9
60
-6
0
0
-24
3
-11
0
0
85
9
-4
0
0
-29
-8
0
0
0
1
-7
0
0
0
-5
-1
0
0
0
35
-17
0
0
0
2
-3
-2
0
0
2
2
3
0
0
-4
-7
-1
0
0
4
-26
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
15
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
24
-8
26
0
-1
0
0
0
74
14
0
0
-19
-3
-7
0
0
-3
-5
2
0
0
-34
-20
-2
0
0
3
7
0
0
0
13
0
0
0
0
2
1
0
0
0
34
-17
0
0
0
31
-1
0
0
0
-5
1
-1
0
0
-2
-2
0
0
0
23
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
-9
3
0
0
0
-3
5
-2
0
0
-7
9
-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
17
-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
65
-31
26
0
0
0
0
23
36
2
0
0
19
-10
-3
0
0
-37
-4
-1
0
0
4
4
-3
0
0
-15
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
33
1
0
0
0
0
-5
-11
2
0
0
8
-7
-27
0
0
11
-25
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
26
4
0
0
46
9
16
0
0
16
23
1
0
0
2
-14
-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
-11
-5
10
0
0
0
4
-1
0
0
-35
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
-17
13
0
0
0
0
0
-7
2
-8
0
0
46
0
17
0
0
4
0
-1
0
0
11
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
-18
-3
-5
0
0
0
0
-17
-1
-14
0
0
51
-3
-9
0
0
1
-19
-3
0
0
11
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
-11
0
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
-11
31
1
2
0
0
0
15
-21
1
0
0
0
61
45
0
0
20
-13
-1
0
0
-14
21
5
0
0
2
1
0
0
0
0
-14
-5
0
0
1
0
0
0
0
26
-10
0
0
0
1
3
0
0
0
-20
2
0
0
0
1
4
0
0
0
-11
0
0
0
0
9
8
0
0
0
4
-3
0
0
0
9
4
2
0
0
-14
-7
0
0
0
7
1
9
0
0
8
-4
10
0
0
-3
-26
42
0
0
-27
0
-1
0
0
-9
-12
6
0
0
-34
-25
-5
0
0
-39
10
84
0
0
-52
0
-46
0
0
-71
33
6
0
0
-61
-29
-5
0
0
13
-35
-21
0
0
-13
36
-113
0
0
-50
-25
-37
0
0
24
-22
-60
0
0
-7
-74
-16
4
1
-67
-91
-62
0
0
-22
63
-15
0
0
56
-4
-33
0
0
7
-6
-2
0
0
44
-13
1
0
0
8
3
0
0
0
2
-4
2
0
0
0
0
0
0
0
-27
-2
0
0
0
-8
6
0
0
0
0
-3
0
0
0
-5
2
0
0
0
0
5
1
0
0
-10
-2
0
0
0
0
-17
0
0
0
0
-6
0
0
0
17
13
1
0
0
-4
-13
2
0
0
8
9
-17
0
0
3
-54
-14
0
0
24
-31
14
0
0
-6
1
-41
0
0
-21
-18
46
0
0
-66
11
-16
0
0
-82
-18
-58
0
0
60
-9
-82
0
0
-14
13
57
0
0
-58
-9
3
0
0
47
-63
12
0
0
-37
51
-34
0
0
-33
64
19
0
0
-117
33
-38
-10
-5
19
-31
-23
0
0
30
3
-5
0
0
-1
17
11
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
14
5
0
0
0
-4
-4
-15
0
0
27
21
42
0
0
34
-9
-91
0
0
48
-51
96
0
0
-90
10
29
0
0
0
53
21
0
0
8
-5
-24
0
0
-92
15
53
0
0
3
-105
26
0
0
15
-66
41
0
0
-26
26
3
0
0
-16
-14
23
0
0
1
30
-9
0
0
-10
11
-13
0
0
10
71
-35
-17
-1
37
-35
5
0
0
-16
-14
0
0
0
45
4
4
0
0
3
-2
-1
0
0
-8
11
-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
-18
2
0
0
0
-3
4
-18
0
0
-19
65
-12
0
0
-8
23
-28
0
0
-33
-28
-4
0
0
-2
-32
-19
0
0
-17
-24
9
0
0
10
-5
-25
0
0
26
-43
46
0
0
-55
-70
13
0
0
25
-16
-9
0
0
-12
7
19
0
0
-15
29
0
0
0
8
-21
1
0
0
-2
13
8
0
0
6
-24
33
-20
-5
-36
-29
-2
0
0
15
19
0
0
0
5
-10
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
-23
40
7
0
0
16
74
55
0
0
-33
56
3
0
0
-22
12
-27
0
0
14
-79
-2
0
0
3
-5
-15
0
0
-7
-2
-69
0
0
0
84
26
0
0
41
-3
10
0
0
-18
10
0
0
0
10
-4
13
0
0
15
-31
-7
0
0
0
20
9
0
0
0
11
3
0
0
10
1
13
14
-27
8
5
4
0
0
-11
-17
0
0
0
2
-25
1
0
0
-2
1
0
0
0
-24
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
13
-1
-93
0
0
-62
-13
70
0
0
7
-43
14
0
0
6
-24
9
0
0
33
-14
5
0
0
11
20
13
0
0
0
3
0
0
0
5
34
-7
0
0
22
54
10
0
0
2
0
0
0
0
-2
44
7
0
0
-2
1
0
0
0
0
6
0
0
0
0
4
0
0
0
5
8
0
4
-13
43
13
0
0
0
6
6
0
0
0
-20
-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
-148
-3
0
0
33
86
-51
0
0
-49
50
-14
0
0
43
-30
-2
0
0
-10
16
4
0
0
0
13
4
0
0
0
-11
0
0
0
-1
17
1
0
0
-36
20
21
0
0
0
0
0
0
0
0
16
-3
0
0
1
-3
0
0
0
0
-9
-4
0
0
0
1
0
0
0
0
7
0
42
15
7
-15
0
0
0
5
-14
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
43
-26
16
0
0
-1
-69
-77
0
0
12
29
-36
0
0
3
-17
7
0
0
2
10
26
0
0
-4
5
-11
0
0
4
2
0
0
0
9
-25
0
0
0
-19
36
2
0
0
0
-1
1
0
0
7
17
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
-2
-1
0
0
0
10
1
9
-4
-1
4
0
0
0
15
-46
4
0
0
-41
-10
17
0
0
2
-1
0
0
0
-23
5
0
0
0
-4
-4
0
0
0
-2
5
3
0
0
0
0
0
0
0
-15
2
0
0
0
10
-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
25
1
0
0
0
15
-6
-50
0
0
-22
5
51
0
0
-33
-13
97
0
0
97
-52
-9
0
0
-22
62
3
0
0
-15
-12
3
0
0
89
5
-27
0
0
33
-22
-13
0
0
1
0
-1
0
0
-1
-5
-3
0
0
-39
14
19
0
0
-52
4
-1
0
0
-15
-42
3
0
0
0
63
26
0
0
-98
40
-57
1
9
-62
-4
-38
0
0
20
9
-14
0
0
24
2
-1
0
0
5
1
1
0
0
27
-5
0
0
0
31
-15
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
-51
5
-31
0
0
-62
67
45
0
0
81
3
32
0
0
-61
22
-7
0
0
-1
8
-7
0
0
20
-5
4
0
0
13
1
0
0
0
-22
-6
3
0
0
-5
5
-2
0
0
-8
-17
-1
0
0
56
-7
-16
0
0
40
60
-21
0
0
49
14
42
0
0
6
-39
-44
0
0
46
-8
67
-14
3
-65
168
50
0
0
-3
11
0
0
0
4
-6
0
0
0
-1
1
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
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
-40
-77
14
0
0
23
-24
10
0
0
5
2
-33
0
0
37
47
1
0
0
14
-33
3
0
0
5
-7
0
0
0
0
-8
0
0
0
5
9
11
0
0
-14
3
28
0
0
-9
68
75
0
0
78
5
-30
0
0
8
4
-7
0
0
27
-89
-50
0
0
-34
0
6
0
0
-4
-37
6
-4
6
44
5
-39
0
0
3
-29
-4
0
0
-19
-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
-67
14
-64
0
0
29
6
13
0
0
6
-3
14
0
0
-27
-5
0
0
0
7
7
0
0
0
0
0
0
0
0
0
6
0
0
0
0
1
0
0
0
22
45
-93
0
0
20
69
53
0
0
-52
24
21
0
0
7
-21
-26
0
0
-65
13
49
0
0
31
-15
13
0
0
0
33
-33
10
10
34
-14
-9
0
0
19
14
2
0
0
-6
1
-2
0
0
-17
3
1
0
0
-8
-11
-5
0
0
8
1
0
0
0
-5
0
2
0
0
0
0
0
0
0
20
-1
0
0
0
10
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
-69
26
5
0
0
-53
5
-71
0
0
-3
-15
-28
0
0
60
-16
-41
0
0
-3
6
5
0
0
0
7
2
0
0
0
15
1
0
0
0
-7
1
0
0
-35
38
-5
0
0
4
-3
-69
0
0
-20
13
-50
0
0
25
-58
53
0
0
9
0
-5
0
0
14
3
0
0
0
-26
-12
-15
38
-19
15
-25
34
0
0
-9
2
3
0
0
21
-13
-6
0
0
-3
13
2
0
0
-2
11
-10
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
16
19
-19
0
0
-46
-4
-5
0
0
0
-9
-11
0
0
1
-18
2
0
0
-5
-2
9
0
0
0
1
0
0
0
0
-1
-1
0
0
0
-4
0
0
0
-52
77
-21
0
0
2
48
-34
0
0
-3
-71
44
0
0
14
-33
-16
0
0
15
21
-9
0
0
3
-3
3
0
0
0
1
5
24
17
4
-3
2
0
0
14
5
-7
0
0
9
11
-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
-72
-4
-19
0
0
76
-54
33
0
0
24
1
-14
0
0
-41
9
-2
0
0
5
-4
4
0
0
0
-3
1
0
0
0
3
0
0
0
4
-1
0
0
0
-3
-28
-70
0
0
67
29
-19
0
0
2
58
-33
0
0
-24
-45
16
0
0
-20
2
15
0
0
45
-2
-4
0
0
0
33
-7
55
7
-5
21
15
0
0
-4
6
7
0
0
-32
4
6
0
0
15
-9
-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
33
5
5
0
0
72
-75
32
0
0
-45
-17
37
0
0
32
41
3
0
0
0
-24
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
24
-20
-39
0
0
-29
54
4
0
0
63
-87
8
0
0
14
0
10
0
0
16
16
6
0
0
0
0
1
0
0
0
9
-3
-15
34
1
-8
-1
0
0
4
56
9
0
0
-6
-6
27
0
0
15
55
18
0
0
31
16
-9
0
0
9
-5
1
0
0
57
18
-5
0
0
-33
16
3
0
0
-7
26
20
0
0
3
-1
1
0
0
3
24
5
0
0
3
-5
0
0
0
5
43
0
0
0
1
-29
5
0
0
-10
-18
-17
0
0
-7
21
-4
0
0
26
12
5
0
0
16
-1
11
0
0
-22
-11
6
0
0
0
7
-4
0
0
-24
-1
1
0
0
-21
22
14
0
0
29
13
-7
0
0
-3
-2
2
0
0
-5
-2
4
0
0
4
-21
-3
0
0
-2
7
9
0
0
-10
36
-14
0
0
20
22
15
0
0
24
-45
6
0
0
2
-5
-20
0
0
5
11
5
9
12
-24
-33
2
0
0
16
-12
-28
0
0
-3
9
-13
0
0
-15
1
58
0
0
-10
-21
31
0
0
-7
-20
14
0
0
33
-7
-22
0
0
5
-35
-5
0
0
29
-6
5
0
0
21
5
8
0
0
4
32
5
0
0
-28
-25
3
0
0
-53
36
16
0
0
-33
33
0
0
0
16
9
5
0
0
-35
8
10
0
0
-20
-1
-8
0
0
-33
74
-5
0
0
7
23
-32
0
0
2
6
1
0
0
4
-1
-1
0
0
-13
-7
-9
0
0
-3
-53
0
0
0
1
-17
1
0
0
-19
-15
6
0
0
41
5
6
0
0
16
27
7
0
0
-11
-17
-9
0
0
-3
-5
-9
0
0
-36
-3
6
0
0
5
32
6
0
0
42
33
-3
3
5
-15
-3
-6
0
0
-32
17
-11
0
0
23
-43
-19
0
0
22
14
-9
0
0
25
73
4
0
0
-7
-15
-2
0
0
22
2
-9
0
0
9
-5
1
0
0
-16
-19
-3
0
0
-5
-23
-1
0
0
-16
-39
0
0
0
-9
45
0
0
0
18
7
-2
0
0
0
4
0
0
0
0
-2
0
0
0
2
2
-8
0
0
-23
-11
-3
0
0
4
14
0
0
0
3
1
0
0
0
2
-5
0
0
0
-3
0
0
0
0
-10
1
-1
0
0
-2
-1
0
0
0
0
0
3
0
0
4
-2
0
0
0
3
43
9
0
0
21
-17
2
0
0
0
1
1
0
0
-6
-41
0
0
0
1
-5
0
0
0
1
35
1
0
0
5
11
-3
5
10
14
-26
0
0
0
-2
-7
25
0
0
-6
59
43
0
0
74
-35
-18
0
0
53
39
-30
0
0
51
22
1
0
0
-24
76
11
0
0
-7
15
0
0
0
57
-23
4
0
0
-9
24
-5
0
0
50
17
0
0
0
13
0
-6
0
0
-6
-14
-4
0
0
1
-24
1
0
0
0
-2
0
0
0
-20
-3
0
0
0
56
-6
0
0
0
-6
0
1
0
0
-13
7
0
0
0
4
-2
0
0
0
8
-4
0
0
0
29
1
2
0
0
-5
0
0
0
0
4
-21
0
0
0
5
-4
0
0
0
27
-31
-1
0
0
5
-6
1
0
0
2
-5
-1
0
0
7
-7
1
0
0
17
5
0
0
0
-10
1
0
0
0
-14
-53
3
27
1
-68
11
2
0
0
7
21
20
0
0
-31
1
22
0
0
53
-8
9
0
0
-10
5
-34
0
0
0
5
0
0
0
18
-1
11
0
0
-1
0
0
0
0
5
14
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
-9
12
2
0
0
0
0
14
10
-5
0
0
4
-4
-4
0
0
-9
10
-21
0
0
-45
-8
-1
0
0
-4
1
0
0
0
5
1
3
0
0
1
-2
0
0
0
-4
-7
-2
0
0
11
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
10
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
-14
4
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
14
1
0
0
0
0
0
0
0
0
1
1
0
-14
19
-15
-5
0
0
0
-14
9
13
0
0
-5
10
14
0
0
-8
1
1
0
0
17
15
-31
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-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
10
1
0
0
0
0
-40
-44
24
0
0
-40
53
17
0
0
-14
44
5
0
0
32
27
0
0
0
-16
-5
-1
0
0
5
2
2
0
0
0
3
0
0
0
41
0
-8
0
0
7
5
0
0
0
0
0
2
0
0
2
-10
0
0
0
4
0
0
0
0
0
3
0
0
0
0
1
0
0
0
2
0
0
0
0
-45
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
-15
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
-11
0
-31
4
1
0
0
20
44
4
0
0
-39
22
8
0
0
13
21
0
0
0
-32
8
2
0
0
-4
0
0
0
0
7
-2
1
0
0
1
1
0
0
0
16
1
-1
0
0
23
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
14
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
-25
-23
-4
1
0
0
0
30
26
0
0
0
-10
10
18
0
0
15
0
2
0
0
-24
29
1
0
0
-4
-1
0
0
0
0
2
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-13
24
0
0
0
-10
2
0
0
0
-9
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
1
0
0
0
-13
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
9
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
-40
-40
36
7
0
0
0
-5
17
8
0
0
52
21
-9
0
0
0
-6
2
0
0
-13
-33
-7
0
0
9
-1
0
0
0
-2
0
0
0
0
1
0
0
0
0
19
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
-10
-22
-4
0
0
0
0
-2
25
1
0
0
12
-32
3
0
0
-11
9
17
0
0
0
-32
-36
0
0
-2
4
0
0
0
4
-1
0
0
0
0
1
0
0
0
-34
-13
0
0
0
20
-7
0
0
0
17
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
-17
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
-30
-35
4
-3
0
0
0
-41
-10
-2
0
0
3
-18
-1
0
0
5
21
0
0
0
-17
-5
0
0
0
-2
0
-1
0
0
-1
0
1
0
0
0
0
0
0
0
-9
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
-29
37
0
0
0
0
0
72
14
27
0
0
-43
14
8
0
0
16
-16
-6
0
0
45
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
5
5
-4
0
0
0
0
18
27
11
0
0
7
-10
-13
0
0
10
-13
0
0
0
16
-23
5
0
0
-7
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-9
-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
33
7
0
0
0
0
0
-20
38
-11
0
0
4
34
-2
0
0
10
18
9
0
0
50
-1
-1
0
0
17
-2
0
0
0
-1
-2
0
0
0
-1
0
0
0
0
0
1
0
0
0
5
16
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
-11
-1
0
0
0
7
-31
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
16
67
15
-4
0
0
0
-40
-6
-5
0
0
27
9
19
0
0
-3
-25
0
0
0
-5
3
-8
0
0
-10
-3
0
0
0
3
-1
6
0
0
0
0
0
0
0
31
0
-1
0
0
4
-7
0
0
0
11
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
1
1
7
0
0
8
-6
-12
0
0
-6
0
-6
0
0
5
-1
-1
0
0
-43
-16
61
0
0
-32
5
-13
0
0
-110
11
-27
0
0
-41
-5
-21
0
0
27
33
-67
0
0
-8
-73
56
0
0
-26
-36
-6
0
0
-50
6
3
0
0
-54
62
-89
0
0
-10
-16
-14
0
0
-12
-8
-41
-4
1
-73
-64
-10
0
0
-21
-16
26
0
0
34
-6
-7
0
0
3
-3
0
0
0
-21
24
0
0
0
7
6
0
0
0
-8
2
-3
0
0
-10
-1
0
0
0
5
23
1
0
0
6
-2
0
0
0
13
-6
0
0
0
1
0
0
0
0
5
-3
0
0
0
-11
0
0
0
0
0
-1
0
0
0
21
-16
0
0
0
32
3
-2
0
0
5
-5
15
0
0
3
0
-22
0
0
-25
-22
23
0
0
-22
-21
3
0
0
-17
20
-124
0
0
-52
-33
18
0
0
-15
29
33
0
0
26
21
-71
0
0
24
-20
6
0
0
-45
2
-56
0
0
0
-12
-33
0
0
43
-21
23
0
0
-16
1
5
0
0
-49
-17
6
0
0
-49
-61
-26
-5
-2
49
-112
0
0
0
15
5
-10
0
0
53
11
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
-10
1
0
0
0
9
24
15
0
0
19
38
12
0
0
62
-24
-23
0
0
-10
38
7
0
0
-19
-27
-23
0
0
-71
29
10
0
0
19
-28
12
0
0
-111
-15
53
0
0
-29
-78
53
0
0
10
6
8
0
0
-83
49
33
0
0
-2
-5
-37
0
0
-3
8
2
0
0
-6
54
-16
0
0
2
29
5
5
7
-23
-40
-91
0
0
33
14
0
0
0
-55
10
-1
0
0
7
-1
-2
0
0
3
-2
0
0
0
-5
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
-17
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
11
-2
0
0
0
5
27
15
0
0
45
-23
23
0
0
11
4
-59
0
0
-11
8
-19
0
0
-60
34
-24
0
0
29
11
2
0
0
10
-2
8
0
0
-79
-16
31
0
0
29
-43
-10
0
0
0
-16
24
0
0
50
-22
19
0
0
46
17
4
0
0
0
-36
32
0
0
0
15
11
0
0
25
10
7
-16
-3
66
43
-3
0
0
-41
14
-10
0
0
26
-20
-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
23
-20
37
0
0
63
-63
39
0
0
-9
82
46
0
0
-30
77
-39
0
0
65
-14
2
0
0
10
-29
19
0
0
-7
-14
3
0
0
6
70
-4
0
0
33
2
0
0
0
15
5
7
0
0
23
-5
-11
0
0
-4
15
0
0
0
0
2
-14
0
0
-2
-53
-6
0
0
3
7
-1
-11
9
-29
1
0
0
0
53
-19
-25
0
0
29
11
3
0
0
0
25
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
-9
4
-15
0
0
-24
20
33
0
0
20
24
49
0
0
-45
-27
-7
0
0
-37
9
16
0
0
-21
-4
-1
0
0
0
-55
-1
0
0
3
12
-5
0
0
1
27
10
0
0
-3
-14
0
0
0
17
36
13
0
0
2
-9
0
0
0
0
33
-2
0
0
0
-4
0
0
0
4
24
3
-57
2
45
-36
0
0
0
-15
23
0
0
0
29
-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
-6
-41
-57
0
0
-62
11
-2
0
0
-68
-6
85
0
0
65
-31
62
0
0
19
-1
8
0
0
-3
11
4
0
0
6
0
0
0
0
32
17
2
0
0
-56
-1
11
0
0
-7
25
11
0
0
13
0
-17
0
0
0
0
-1
0
0
0
-8
0
0
0
0
4
-8
0
0
0
-4
6
-15
5
-3
10
-2
0
0
-5
1
-7
0
0
-24
4
3
0
0
7
-1
0
0
0
9
5
-2
0
0
3
-4
0
0
0
-1
0
0
0
0
0
-2
0
0
0
17
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
-11
-62
-7
0
0
1
6
-123
0
0
-28
9
47
0
0
26
-128
-2
0
0
-30
-7
1
0
0
7
-11
0
0
0
2
8
-7
0
0
-6
-10
2
0
0
21
-43
29
0
0
-7
29
0
0
0
-28
27
2
0
0
7
-23
0
0
0
-10
14
-15
0
0
0
-8
2
0
0
-5
25
-13
28
3
-2
16
1
0
0
-4
-26
25
0
0
13
31
-5
0
0
13
1
-19
0
0
-20
-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
-13
-3
0
0
0
-29
21
3
0
0
38
-10
35
0
0
55
-30
-2
0
0
93
-73
28
0
0
-26
-56
32
0
0
32
-32
20
0
0
79
48
-71
0
0
33
-35
-21
0
0
-1
2
-1
0
0
-3
-4
0
0
0
-35
-6
-24
0
0
-25
-6
-21
0
0
17
-18
43
0
0
33
33
-69
0
0
-56
53
7
2
8
24
-24
-35
0
0
61
14
-15
0
0
13
-2
-7
0
0
-26
3
15
0
0
-3
6
5
0
0
3
0
1
0
0
-4
-4
4
0
0
0
0
0
0
0
-17
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
78
-86
0
0
43
-9
47
0
0
-17
1
21
0
0
-47
7
0
0
0
23
-19
13
0
0
4
29
2
0
0
7
6
-2
0
0
-37
18
7
0
0
-4
-20
-1
0
0
14
-23
-36
0
0
-14
54
24
0
0
13
71
24
0
0
0
-100
-32
0
0
-43
-32
83
0
0
-18
23
-48
-1
-11
0
31
-51
0
0
-33
-31
5
0
0
33
-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
11
-40
0
0
3
-14
22
0
0
6
5
57
0
0
51
-7
-43
0
0
-25
-16
49
0
0
-2
1
6
0
0
0
-1
-17
0
0
4
6
10
0
0
5
-15
5
0
0
-4
-53
91
0
0
72
-28
-3
0
0
18
-2
-7
0
0
0
5
-4
0
0
-47
66
32
0
0
-37
58
-55
-50
15
-59
46
13
0
0
2
10
-1
0
0
-6
0
1
0
0
-13
2
-5
0
0
9
-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
-11
30
-77
0
0
-57
2
-42
0
0
48
-1
4
0
0
-58
-2
10
0
0
6
10
-3
0
0
0
0
0
0
0
0
-1
0
0
0
9
2
-2
0
0
15
19
11
0
0
-22
-67
-26
0
0
100
-41
-10
0
0
-24
-37
-26
0
0
13
-9
14
0
0
-14
-29
-9
0
0
6
15
-25
18
-59
-32
-33
13
0
0
21
14
3
0
0
-2
2
9
0
0
8
0
-7
0
0
37
3
-9
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
-1
-55
3
0
0
-57
43
-30
0
0
-43
-53
95
0
0
58
-1
-6
0
0
-31
-5
0
0
0
5
-8
3
0
0
6
11
-2
0
0
19
52
-3
0
0
2
-80
-35
0
0
-68
29
150
0
0
-47
53
9
0
0
23
-17
-54
0
0
62
-14
-30
0
0
48
5
24
0
0
-26
-98
16
6
12
43
14
-21
0
0
18
-3
5
0
0
-17
-33
1
0
0
23
0
0
0
0
36
-6
3
0
0
13
4
0
0
0
1
2
1
0
0
0
0
0
0
0
13
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
21
2
0
0
0
28
-26
-23
0
0
13
8
-62
0
0
-90
10
-24
0
0
-25
21
-5
0
0
-6
37
1
0
0
0
-10
-5
0
0
0
-3
-1
0
0
1
7
0
0
0
21
-68
-66
0
0
42
-42
57
0
0
-2
86
-4
0
0
-45
49
4
0
0
-57
-33
-3
0
0
33
26
8
0
0
1
7
-5
-3
7
1
5
10
0
0
33
13
0
0
0
45
-9
-19
0
0
-8
5
0
0
0
-23
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
8
1
-60
0
0
16
66
62
0
0
-37
-13
-53
0
0
8
-73
-25
0
0
27
-8
2
0
0
2
11
-10
0
0
0
10
-1
0
0
7
-24
1
0
0
-52
8
-1
0
0
11
4
7
0
0
-7
-6
26
0
0
-47
62
16
0
0
26
19
29
0
0
-3
0
-19
0
0
5
-50
0
4
-6
11
58
-5
0
0
5
34
6
0
0
-9
-8
-30
0
0
8
6
-6
0
0
-16
9
1
0
0
-7
-4
0
0
0
1
-1
2
0
0
0
0
0
0
0
-26
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
-52
-130
0
0
1
-15
27
0
0
118
-43
-23
0
0
-20
24
-11
0
0
7
16
5
0
0
-1
6
-2
0
0
-1
-6
0
0
0
-3
1
2
0
0
-44
-90
5
0
0
4
92
-37
0
0
-9
-25
77
0
0
34
49
35
0
0
-22
14
-2
0
0
77
14
5
0
0
3
-17
25
35
-25
-33
21
-1
0
6
-8
6
-15
0
-4
18
-9
-6
0
28
12
5
-35
0
23
47
5
31
0
-14
52
23
-15
0
-12
34
-29
9
0
-62
48
16
11
0
-21
27
-11
25
0
8
22
41
5
0
-7
-34
-17
-5
0
4
3
16
0
0
-2
22
7
-4
0
-26
-42
51
5
0
0
31
36
-6
0
29
-2
20
-1
0
43
25
5
5
0
40
52
3
23
0
37
23
-7
20
0
0
15
13
0
0
8
-8
-4
0
0
2
9
-23
2
0
0
-2
-5
0
0
0
-3
2
0
0
4
7
2
0
0
-9
-3
34
-8
0
0
-21
43
-5
0
0
10
15
0
0
0
-7
4
0
0
15
0
10
0
0
5
7
10
0
0
12
7
-8
0
-14
90
-17
-3
-2
0
4
-4
-9
-6
0
2
30
-38
3
0
110
-16
14
-8
0
21
1
-18
7
0
34
40
64
16
0
46
-29
66
-9
0
56
-24
8
7
0
-15
-14
20
29
0
-15
4
61
14
0
33
4
16
-5
0
-3
43
-4
-2
0
37
29
-5
4
0
-1
62
31
-4
0
2
-23
-27
18
0
-1
29
-32
-2
0
-5
-3
-17
1
0
3
9
11
0
0
-21
-25
24
4
0
0
-3
0
-1
0
-47
-2
6
2
0
-2
4
18
0
0
0
1
8
1
0
0
2
6
0
0
1
8
1
0
0
0
58
3
5
0
0
16
10
-4
0
0
14
3
1
0
-2
-41
1
-3
0
16
15
-15
-1
0
2
9
14
-1
0
44
-18
-7
-1
-6
-31
-44
14
0
0
1
100
30
30
0
44
19
-7
-4
0
-20
-52
43
10
0
84
-7
2
11
0
23
0
-12
-7
0
-26
2
-7
-16
0
12
5
-15
1
0
-14
-17
42
-2
0
-1
-22
-14
0
0
15
-15
24
9
0
0
3
-6
-1
0
-10
-2
-1
0
0
3
-31
2
0
0
4
10
3
1
0
1
17
-10
0
0
3
-15
4
0
0
4
8
13
0
0
0
2
0
0
0
-1
-3
6
0
0
4
6
0
1
0
0
10
-4
-1
0
0
-1
4
0
0
0
0
-3
0
0
1
-5
0
0
0
0
6
1
0
0
0
9
-2
0
0
0
0
0
0
0
0
-1
-1
-1
0
-1
0
3
-2
0
0
61
-5
1
0
3
1
3
0
31
-26
-3
3
0
0
43
-17
7
-4
0
-7
20
-4
-20
0
44
31
15
5
0
-21
-25
10
-3
0
14
65
-15
6
0
-37
15
-33
26
0
85
-31
-5
-3
0
-22
1
-10
-14
0
37
54
5
-2
0
-5
-2
35
4
0
8
41
-23
1
0
-51
-8
-13
-2
0
-1
7
14
0
0
3
-10
7
-5
0
3
-4
49
0
0
6
29
17
-8
0
6
-14
6
1
0
0
-5
15
0
0
-1
1
0
0
0
-5
-13
-14
0
0
0
0
2
0
0
0
3
-7
0
0
0
5
-4
0
0
0
0
3
0
0
0
23
4
0
0
0
0
-20
0
0
0
-29
-10
0
0
2
-2
-4
-4
0
-1
-4
2
0
0
3
12
6
1
0
5
7
10
0
22
-41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
3
0
24
-26
-8
-2
0
-43
-16
-1
0
0
37
66
-4
1
0
-32
6
11
-3
0
-17
-24
29
9
0
3
6
0
0
0
21
7
-24
-7
0
24
-43
-14
-4
0
8
-17
6
-6
0
-3
19
7
-3
0
0
-6
2
0
0
-10
-3
-4
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
-47
7
-6
-15
0
6
11
-1
9
0
18
-21
11
0
0
31
4
3
0
0
-4
-7
-4
1
0
-17
3
2
0
0
0
0
2
0
0
2
-4
-1
0
0
7
16
-18
-1
0
-14
-3
2
5
0
-3
0
-4
0
0
35
0
0
0
0
-3
33
30
1
0
0
-2
1
0
0
2
-9
0
0
30
-16
1
0
0
0
28
16
-50
9
0
-7
8
-5
-9
0
-8
43
14
6
0
13
-17
15
11
0
-2
2
23
-8
0
-20
3
21
1
0
3
16
-1
0
0
0
19
16
-2
0
7
-8
6
-4
0
-25
-6
15
6
0
0
-6
-1
0
0
1
-1
0
0
0
0
0
1
1
0
-2
0
13
0
0
0
2
-3
0
0
0
-7
0
0
0
-36
18
-2
-6
0
-41
-11
-5
4
0
-4
25
-1
0
0
-47
-6
5
-2
0
4
4
0
0
0
1
-13
7
0
0
0
-4
-3
0
0
7
0
0
0
0
66
-9
-5
-3
0
7
19
19
3
0
-1
-4
-8
0
0
3
2
5
0
0
2
0
-14
-2
0
2
-6
1
1
0
-2
7
-6
0
25
-9
3
-1
0
0
-4
20
-16
0
0
-8
26
26
9
0
-1
32
1
2
0
15
13
-1
1
0
1
6
4
0
0
17
6
15
0
0
0
0
1
-1
0
0
-17
-1
-1
0
-1
-3
6
0
0
6
-4
-1
-1
0
0
-4
-1
0
0
0
1
2
0
0
1
24
-3
0
0
0
-2
-2
0
0
0
0
0
0
0
-11
-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
11
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
-29
0
1
0
0
0
-4
20
1
0
0
20
-19
6
-10
0
-20
11
7
-1
0
-14
-25
-2
-3
0
-7
-2
1
1
0
-2
10
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
11
-8
-3
0
0
0
1
1
0
0
0
-4
0
0
0
-7
-1
0
0
0
13
-19
-10
0
0
3
5
-11
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-10
-8
0
72
18
23
-27
0
-3
24
6
1
0
-3
1
0
-15
0
44
-6
-1
0
0
5
5
-5
0
0
6
2
0
0
0
-1
32
0
-1
0
58
61
-11
0
0
-43
7
-39
17
0
1
1
10
0
0
15
-6
0
2
0
-1
-11
-6
2
0
-1
4
0
0
0
-5
6
-1
0
0
-8
-24
1
0
0
2
3
1
9
0
1
9
-16
-4
0
-1
38
38
42
0
11
-2
24
18
0
33
44
-52
54
0
45
10
-24
2
0
127
-162
-12
21
0
45
43
-25
-33
0
132
-52
-46
20
0
-4
-80
-52
48
0
4
17
10
33
0
42
-5
-58
8
0
25
-25
-32
39
0
-1
61
33
-36
0
62
43
7
-19
2
23
33
-22
-117
0
-13
-13
-2
27
0
-43
40
30
0
0
1
7
26
2
0
35
5
13
-1
0
14
-10
7
0
0
-44
9
-2
1
0
3
0
2
0
0
5
6
-3
-4
0
5
5
-16
-3
0
-16
-11
8
-6
0
-8
-26
14
-4
0
-5
10
-13
2
0
-7
0
4
1
0
1
2
8
0
0
0
2
6
-1
0
-6
-39
3
-7
0
-1
3
-1
-13
0
13
3
13
-12
0
3
-11
-7
16
0
-7
19
22
73
0
-70
-42
77
-1
0
-21
-47
17
32
0
47
-7
-5
-16
0
-31
-41
-24
21
0
34
-52
20
-34
0
35
-43
24
-41
0
0
1
-17
1
0
-73
29
40
-20
0
11
55
68
27
0
5
-30
46
-7
0
-10
17
-18
-3
-11
-33
10
-54
52
0
31
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
11
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
11
13
-15
18
0
40
5
-32
28
0
9
-70
-31
2
0
-36
-43
31
-109
0
65
-6
55
-33
0
3
-28
33
19
0
4
-68
5
-20
0
-33
-61
-19
-20
0
14
33
-37
28
0
44
-13
40
-44
0
5
-54
3
0
0
-17
-6
-46
17
0
0
48
-34
-41
0
0
25
11
4
0
56
-83
-33
14
2
9
-23
-45
-1
0
-10
-8
-1
3
0
8
-9
3
0
0
0
2
2
0
0
10
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
-14
5
-1
0
0
0
0
0
0
0
11
9
0
0
0
-3
1
1
0
0
0
0
0
1
0
0
-4
-1
-2
0
0
-4
0
0
0
4
23
-22
-33
0
-2
23
72
-19
0
-4
-103
-46
15
0
-11
12
-62
-18
0
14
84
16
-90
0
-34
-33
22
-66
0
-34
23
-53
-44
0
-130
50
31
-3
0
-109
-87
6
5
0
-27
-3
10
36
0
-7
-22
-43
25
0
-48
-22
46
-1
0
8
-13
40
5
0
0
2
-31
7
0
-71
33
-11
24
13
-84
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-21
25
0
0
-4
-13
-20
5
0
-17
0
-1
0
0
-26
3
0
0
0
36
44
-6
1
0
7
0
0
0
0
0
0
1
0
0
23
-14
0
0
0
2
22
-5
-11
0
13
-3
11
0
0
-2
2
2
0
0
-2
-3
0
0
0
17
30
-15
-2
0
-4
-6
0
0
0
10
-8
-1
0
0
18
-2
-3
2
0
52
-44
-9
32
0
37
-22
-61
-3
0
-14
22
38
-21
0
-107
-1
77
-34
0
29
43
-4
29
0
-15
11
11
20
0
-37
34
-43
-4
0
-100
-41
-15
-12
0
-8
1
0
-2
0
10
-4
2
3
0
-33
-26
100
-5
0
-24
-32
10
62
0
71
10
33
10
0
-50
29
-4
26
0
-32
-13
-13
-86
5
48
2
-25
-49
0
-27
14
14
4
0
9
-6
-16
-8
0
2
17
-3
0
0
5
6
-3
0
0
-3
9
-8
0
0
1
5
1
1
0
0
0
0
0
0
10
5
1
0
0
9
-14
3
-4
0
-12
24
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
43
-48
-53
-20
0
-23
-4
6
39
0
60
-15
35
6
0
-80
3
62
3
0
-32
-36
47
51
0
-3
-49
-18
10
0
-57
2
0
0
0
-62
1
50
-17
0
12
-2
-3
7
0
11
-20
12
-11
0
54
30
38
11
0
4
-20
-26
-20
0
-3
-175
59
28
0
-26
-35
7
-40
0
14
96
-38
8
-7
-143
11
-9
22
0
10
-10
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
23
-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
0
15
21
0
64
7
18
-13
0
-17
26
23
-1
0
-15
18
3
0
0
14
-35
8
-8
0
2
-23
19
15
0
20
-19
-17
-4
0
-8
-37
-23
0
0
-48
47
35
22
0
-28
34
15
-15
0
-14
-42
-62
0
0
-5
-8
-52
-4
0
26
88
-24
-22
0
40
-25
25
-26
0
46
11
-56
14
27
33
-35
13
-19
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
-7
8
-49
35
0
-22
-4
0
3
0
36
-1
-11
0
0
11
-14
4
0
0
9
9
4
9
0
-10
-15
2
1
0
2
5
-5
-2
0
9
-8
-9
1
0
66
-7
-14
-18
0
-127
10
16
3
0
16
-54
10
51
0
-25
22
-55
-1
0
-6
-3
15
26
0
-2
-17
-5
-5
0
0
-76
-14
13
-25
-90
44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
69
-33
0
6
-12
-3
37
0
-41
41
57
4
0
14
3
-22
53
0
15
64
55
2
0
44
-25
-4
-11
0
-8
0
-8
-5
0
52
-13
-49
-3
0
-71
-9
56
12
0
52
-8
-4
-4
0
2
-23
16
1
0
4
44
-14
-9
0
2
28
14
-13
0
0
10
-18
-11
0
-4
15
15
-8
0
58
-52
-23
9
0
-5
10
2
21
0
-4
7
16
21
0
-1
-33
3
0
0
7
-19
-1
2
0
-2
21
31
1
0
1
3
8
0
0
0
-2
-4
0
0
4
2
2
0
0
-7
-3
6
-15
0
3
33
18
-23
0
1
4
-9
0
0
0
-44
-3
-1
0
47
0
-20
1
0
1
39
6
9
0
1
-11
2
3
-11
28
3
-17
-11
0
-1
8
-28
53
0
2
2
51
10
0
3
-91
-9
-54
0
32
2
40
-44
0
-7
-25
-18
5
0
-27
52
-4
15
0
15
51
2
21
0
-21
57
5
17
0
19
78
-84
10
0
-31
33
11
10
0
-2
2
16
0
0
29
-11
-33
14
0
10
-59
52
-1
0
3
7
18
-8
0
13
-31
7
-4
0
-53
-5
3
-6
0
33
44
18
-1
0
5
3
-9
7
0
3
5
5
-4
0
16
-10
-14
0
0
-13
18
-4
0
0
1
8
-7
-2
0
0
-2
-2
-4
0
2
4
0
1
0
0
14
7
-2
0
-9
12
-26
18
0
0
-10
25
0
0
-1
3
-2
-5
0
17
12
21
5
0
6
-4
5
-18
0
21
22
-4
-3
-7
-28
-66
29
1
0
51
21
-18
-7
0
47
45
122
14
0
-33
15
5
5
0
-29
10
-5
28
0
14
81
41
-1
0
0
15
7
-2
0
-1
-47
10
-2
0
11
26
-8
1
0
7
-26
9
-5
0
0
-3
9
-2
0
-4
6
7
-9
0
-1
0
0
-2
0
0
-5
-7
-1
0
0
0
0
2
0
0
-1
-11
-1
0
-8
9
-1
0
0
4
-14
2
2
0
0
-1
-6
0
0
0
6
-1
0
0
0
1
11
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
-27
-3
0
0
-1
0
-1
0
0
-8
-2
-7
0
0
1
15
-2
0
0
0
-15
0
0
18
-3
-14
0
-1
0
5
-45
50
8
0
38
-25
-16
-6
0
42
-4
13
12
0
20
-19
14
10
0
9
41
0
-3
0
-19
17
6
21
0
47
-16
-23
4
0
-19
-2
44
-19
0
-1
21
10
-26
0
-2
2
1
2
0
-5
-25
-19
1
0
-51
18
-3
-2
0
0
14
-3
0
0
0
-2
9
1
0
3
24
36
-1
0
-6
-5
-2
0
0
1
0
4
1
0
-8
-4
-10
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
-17
1
0
0
13
-5
-1
0
2
-13
0
-1
-14
-24
1
1
3
0
13
-62
29
-4
0
6
-3
16
2
0
46
-37
25
-3
0
51
-14
-9
-3
0
-7
40
-14
0
0
44
7
-1
-11
0
8
-10
1
0
0
5
-14
2
5
0
2
-5
-11
0
0
-11
-4
1
8
0
0
1
0
0
0
1
2
1
0
0
0
3
10
1
0
0
-2
-1
0
0
0
2
1
0
0
-4
5
0
0
0
4
43
-5
1
0
-27
-3
2
0
0
-1
-5
6
0
0
-10
3
3
0
0
9
-7
0
0
0
0
1
-2
0
0
0
0
2
0
0
1
-1
0
0
0
0
-15
2
0
0
0
1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
-13
-2
-6
0
0
0
-4
1
0
0
1
5
0
0
-13
-4
4
0
0
0
-4
3
-40
6
0
-5
7
42
-32
0
0
-16
3
1
0
-21
14
-5
-14
0
-7
46
27
0
0
-12
17
-23
14
0
25
-11
-5
1
0
0
-8
20
7
0
33
18
1
0
0
29
-1
2
-2
0
0
0
3
0
0
3
-1
0
0
0
-10
9
-2
0
0
13
0
8
0
0
0
0
1
-1
0
11
-4
2
0
0
-2
16
5
-2
0
0
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
13
0
0
15
0
-17
3
0
0
58
-9
14
0
0
22
-18
31
-59
0
9
7
18
-1
0
26
27
-24
-6
0
13
-1
7
0
0
-18
0
-24
0
0
-3
9
-3
-1
0
-4
-8
2
2
0
0
0
1
-2
0
-9
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
17
0
0
0
0
0
53
-11
29
-5
0
45
15
-27
-3
0
-8
25
-40
8
0
32
19
-6
11
0
5
24
-7
0
0
37
3
6
-5
0
20
-2
11
2
0
-48
14
11
4
0
-6
10
0
1
0
-16
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
-10
1
-2
0
-6
1
4
-13
0
-2
6
1
0
0
-10
0
0
0
0
0
0
-10
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
9
0
0
0
0
0
0
0
-2
0
0
0
-14
-1
0
0
0
0
49
-15
17
17
0
-10
44
57
10
0
50
18
6
-2
0
-19
29
-4
-2
0
-3
10
0
0
0
-9
-3
0
-1
0
1
5
2
0
0
-5
-2
-1
-1
0
-7
-6
6
-7
0
-43
-15
10
11
0
2
23
-7
-3
0
-14
-3
11
-1
0
-1
-3
-20
0
0
0
1
-3
-1
0
0
8
-2
0
0
1
-9
0
0
0
-3
-22
-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
24
3
-9
-1
0
0
-63
75
-5
24
0
-6
50
-19
-10
0
-20
16
-2
0
0
22
5
5
0
0
17
-4
0
0
0
-10
0
13
0
0
-1
4
0
0
0
4
3
-4
-2
0
17
-28
44
2
0
42
-25
27
6
0
7
10
0
-1
0
1
-6
-14
0
0
-3
-4
-6
0
0
0
-7
16
0
0
0
0
0
0
0
0
13
1
0
0
0
8
0
0
0
-11
-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
20
7
0
0
0
-14
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
6
31
-1
0
-2
4
1
0
0
0
0
0
0
65
1
-2
0
0
0
41
-10
-3
-1
0
-5
-13
-5
4
0
14
4
26
-1
0
24
-10
3
-6
0
0
5
1
0
0
0
0
0
0
0
0
-1
0
0
0
8
3
0
0
0
-11
12
2
0
0
-35
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
9
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
-27
14
2
-4
0
-27
27
-34
-16
0
0
18
-14
0
0
-14
-14
23
-7
0
0
2
4
0
0
-1
2
1
0
0
0
-1
0
0
0
5
1
0
0
0
9
36
3
0
0
41
-21
-4
1
0
5
-10
-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
16
-8
-9
17
0
-8
43
21
2
0
-6
24
15
0
0
6
5
0
3
0
-1
-4
1
0
0
-1
0
-3
0
0
0
1
1
0
0
10
-7
0
0
0
9
27
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
-15
14
22
4
0
49
-21
-24
-9
0
-3
4
1
0
0
4
0
1
6
0
-3
5
0
0
0
-45
13
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
-17
0
0
0
0
0
18
-7
8
-9
0
5
-2
6
-4
0
-2
10
-4
2
0
-52
-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
-18
0
0
0
0
0
13
-27
11
-10
0
18
12
0
-6
0
-2
29
-14
0
0
-9
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
-11
-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
18
-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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
11
-7
0
13
0
12
9
-26
13
0
-19
6
-5
0
0
-19
7
-1
-3
0
-15
-22
15
0
0
-20
-1
24
0
0
-5
-1
2
0
0
-2
-20
8
-1
0
43
11
-8
0
0
-2
4
-1
0
0
0
8
1
0
0
0
0
0
0
0
-6
-4
-2
3
0
2
13
3
0
0
7
10
-1
0
0
-30
-26
0
0
0
3
2
0
1
0
0
9
4
-4
0
-4
37
3
-41
0
6
0
4
-35
0
48
-27
-32
3
0
19
-56
-10
58
0
56
7
-2
-34
0
18
44
-1
-20
0
24
53
67
-51
0
0
-24
-14
-4
0
29
-5
23
16
0
-3
-50
-46
19
0
98
19
-28
-35
0
1
8
10
-29
0
-62
10
-8
7
4
-41
14
-51
-36
0
31
3
-20
-6
0
-12
152
-79
-8
0
-18
20
-5
-3
0
12
7
15
0
0
4
-7
5
0
0
-34
-16
-9
0
0
-7
-1
1
0
0
-31
9
-4
-4
0
6
-7
13
0
0
0
-14
19
0
0
0
-1
0
0
0
0
-4
0
0
0
-2
-2
0
0
0
-4
7
9
0
0
6
-5
0
0
0
20
-19
-1
4
0
0
-5
13
2
0
8
1
9
12
0
-5
18
27
0
0
13
-23
-15
59
0
-27
15
-52
45
0
-5
-24
40
13
0
44
23
-74
7
0
-45
-18
5
-21
0
18
-129
36
26
0
29
-95
-29
-6
0
-2
-4
5
2
0
32
-21
20
-23
0
37
29
-57
-25
0
24
51
3
-12
0
119
-7
-64
-12
-10
-74
-31
-19
-9
0
7
24
26
0
0
33
2
0
0
0
-3
-18
-14
0
0
-5
10
5
3
0
7
0
0
0
0
0
0
-1
-2
0
-2
0
0
0
0
6
-1
0
0
0
0
10
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
-14
-4
0
0
1
-34
25
15
0
8
-39
-10
-19
0
7
-1
-41
75
0
-11
-36
-14
-40
0
86
13
-4
6
0
-71
16
-12
3
0
-12
-31
31
-33
0
-20
17
-32
-10
0
16
-4
14
30
0
-5
-15
13
2
0
-25
-25
-33
3
0
-70
6
2
0
0
2
13
71
1
0
0
18
-31
2
0
-75
25
-1
20
-17
81
-17
-46
1
0
-4
51
-4
-1
0
-15
-18
7
0
0
3
0
2
0
0
16
33
2
-3
0
3
-7
2
0
0
-5
-9
2
1
0
0
-1
0
0
0
18
-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
6
16
-7
16
0
-6
45
-27
-32
0
45
-4
-52
-21
0
-26
5
5
37
0
23
-107
-14
-15
0
-13
17
-13
-20
0
7
-22
-48
-7
0
-31
-68
20
33
0
-8
58
-19
7
0
5
-13
23
-10
0
-24
-31
-4
29
0
-35
-16
-24
2
0
0
-48
-7
45
0
0
-2
0
3
0
24
-59
2
-4
-20
-51
8
47
4
0
-21
10
7
5
0
-7
-11
-3
-3
0
1
-20
6
0
0
24
6
-1
0
0
15
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
46
8
-26
14
0
11
5
-29
-3
0
-37
34
42
6
0
40
45
2
47
0
11
8
27
44
0
-55
-51
28
-14
0
-118
-23
24
-2
0
-36
16
-21
-33
0
13
-61
-53
-7
0
9
3
0
0
0
0
0
18
1
0
-1
3
0
-7
0
9
20
47
26
0
0
1
-4
2
0
11
4
17
-5
14
-72
3
-5
-2
0
26
-33
6
2
0
-10
7
-19
1
0
0
-4
1
0
0
-3
2
-2
0
0
-16
-2
-5
0
0
-7
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
3
-11
3
42
0
-49
-8
-17
35
0
-19
76
-45
23
0
-11
49
36
-2
0
70
-28
33
25
0
100
-79
14
-21
0
-14
11
20
1
0
-21
0
18
-31
0
-2
-2
21
-2
0
-1
-2
-8
0
0
0
0
4
0
0
0
0
1
2
0
0
-35
32
-9
0
0
19
0
0
0
-5
18
1
0
4
13
-7
-6
2
0
-24
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
-25
-30
22
-36
0
47
27
-19
7
0
65
-64
-31
1
0
39
43
11
-25
0
10
44
0
4
0
-26
-23
7
10
0
51
-17
-7
0
0
-63
-24
8
0
0
-2
-11
-35
0
0
0
2
0
0
0
-2
0
-6
0
0
0
0
3
0
0
2
-1
24
1
0
0
-1
0
1
0
0
0
18
0
42
-23
0
0
0
0
17
-15
-3
0
0
-2
-3
2
0
0
0
-1
0
0
0
-27
-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
-74
5
26
11
0
24
67
-2
-54
0
52
-3
-79
-36
0
4
1
0
-5
0
23
-21
37
-11
0
5
0
-1
-5
0
-4
-2
-21
7
0
-7
6
-9
3
0
-1
-11
-4
3
0
3
-1
1
0
0
0
2
11
2
0
0
0
1
0
0
0
-8
5
-2
0
0
0
1
0
0
14
0
-8
0
9
0
-1
1
0
0
34
-7
-1
-3
0
-17
24
-47
14
0
6
-11
-10
1
0
1
-3
0
0
0
14
8
0
0
0
0
0
4
-2
0
0
1
0
0
0
-4
-23
1
0
0
20
4
8
0
0
-4
-10
-33
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
-17
-19
30
-6
0
36
0
33
45
0
60
-108
-43
1
0
-84
-52
48
-5
0
18
8
44
-10
0
-24
-14
-26
8
0
14
-37
4
-6
0
50
-7
-10
4
0
12
1
-1
-1
0
13
-4
-2
-20
0
43
-29
34
22
0
-4
-23
-2
-43
0
39
-39
71
34
0
-64
32
-47
20
0
-5
-3
-60
-27
1
-14
18
-56
-15
0
-40
5
-15
-14
0
-1
5
-4
-20
0
-5
23
-2
1
0
26
-3
0
2
0
1
5
1
0
0
23
0
3
-2
0
0
-4
-1
0
0
-6
11
0
0
0
23
-8
-8
0
0
-31
9
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
-24
-73
10
1
0
89
-63
2
-4
0
-72
15
32
-1
0
-27
-44
33
11
0
56
-63
0
-4
0
8
9
2
1
0
-2
7
16
0
0
5
20
0
0
0
-10
14
16
-9
0
-16
-25
-3
56
0
-17
19
-3
4
0
61
-27
8
62
0
-9
32
43
-38
0
22
-53
-29
-8
0
59
31
-18
15
-14
27
58
-24
-2
0
3
7
2
0
0
11
3
-3
0
0
-3
13
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
-51
18
-34
-2
0
-14
-8
-6
-2
0
51
-91
34
6
0
-8
-34
-27
-2
0
-35
2
2
0
0
0
-5
3
0
0
8
5
3
0
0
-1
3
-1
1
0
60
11
18
-7
0
25
11
-42
57
0
-37
10
-2
-16
0
-68
-9
36
43
0
11
4
-57
-25
0
0
0
17
-2
0
-19
-37
5
26
-4
-3
45
-5
-16
0
-10
23
-25
1
0
27
-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
31
58
5
-27
0
-14
-60
2
13
0
6
-33
-19
3
0
-4
-18
47
4
0
1
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-40
-27
11
6
0
23
-19
-42
4
0
-14
63
0
5
0
-44
3
58
-1
0
10
-29
6
17
0
0
2
25
5
0
6
15
-2
-4
10
0
49
21
-34
0
39
-5
-11
-6
0
-37
7
-17
-6
0
2
8
-2
1
0
0
26
0
0
0
9
-29
1
0
0
1
0
-1
0
0
0
0
0
0
0
-6
-14
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
14
46
-41
-23
0
75
-37
-3
-69
0
-60
-19
-46
-7
0
-79
-13
21
31
0
-51
-39
9
-33
0
7
-4
31
-5
0
0
1
-32
1
0
2
3
-3
-1
0
64
-17
-33
-54
0
-2
-49
35
-3
0
24
4
22
43
0
-7
-34
9
4
0
-19
-1
-8
23
0
-3
27
25
-11
0
-25
11
-14
18
38
9
-86
-10
-43
0
-31
-17
20
-2
0
8
-3
-3
-8
0
-1
41
-2
-1
0
-3
-23
-2
1
0
1
0
1
0
0
18
14
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
33
-47
-45
23
0
-10
-23
16
-71
0
-19
9
15
2
0
5
-27
-23
-4
0
-8
17
1
1
0
7
-11
6
-2
0
0
0
0
0
0
0
-1
0
0
0
-38
0
14
-41
0
-37
18
80
58
0
0
-1
-6
5
0
3
25
-17
-2
0
2
-10
-19
5
0
23
1
15
-16
0
-3
-11
4
1
24
0
-34
14
2
0
17
-11
-7
-6
0
-11
21
3
-8
0
0
24
0
0
0
13
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
-15
0
2
-17
0
20
30
-16
19
0
29
3
-32
14
0
5
-5
-24
-8
0
6
-9
26
-9
0
0
1
1
-2
0
3
-6
3
0
0
0
0
-5
0
0
16
62
5
-46
0
-17
-32
-28
-60
0
-18
-2
-47
14
0
-2
-24
-10
4
0
2
9
39
-8
0
0
0
23
-4
0
1
-20
5
-16
55
-5
-3
-2
2
0
-19
24
-19
16
0
37
6
24
10
0
1
-3
6
-1
0
9
-41
-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
-5
80
-47
-25
0
68
30
-15
68
0
-56
-2
-22
-2
0
-1
-9
15
3
0
3
39
1
0
0
0
1
-7
-2
0
0
-1
-1
0
0
-1
-2
0
0
0
-26
22
-33
-68
0
-11
-47
16
23
0
15
5
-1
4
0
8
26
-9
-3
0
-1
-14
-2
15
0
0
0
34
-4
0
0
5
20
7
-15
1
-4
0
-1
0
12
37
53
-32
0
-8
33
41
9
0
-30
17
-34
7
0
20
4
-51
14
0
-6
45
38
-11
0
14
74
-33
-5
0
-11
-15
3
9
0
35
16
-30
33
0
30
-13
1
-11
0
44
-84
1
18
0
5
-1
-21
-1
0
-11
6
15
7
0
-8
-50
19
-13
0
2
28
31
2
0
6
1
18
1
0
-23
27
27
4
0
-19
41
37
8
0
-35
-6
71
23
0
21
-10
-2
1
0
-3
1
-8
5
0
-18
6
-4
1
0
0
6
10
-4
0
2
-1
1
0
0
3
-15
1
0
0
7
45
1
6
0
13
-21
5
7
0
0
8
-1
1
0
1
-14
-1
-3
0
-18
6
8
4
0
0
11
16
-3
0
26
-14
-17
5
9
33
-30
-1
-15
0
-10
21
7
29
0
6
0
21
19
0
14
-21
-4
-46
0
4
39
-65
-7
0
1
26
22
11
0
-18
1
-10
39
0
89
-14
-3
8
0
-7
-32
5
-33
0
12
-15
14
16
0
-42
66
31
24
0
-3
-10
4
0
0
4
40
5
5
0
6
-6
21
-1
0
-4
-31
9
9
0
14
10
-29
-7
0
19
5
-35
-20
0
9
-12
-24
-3
0
67
19
-80
-22
0
0
23
25
-3
0
2
-4
-16
9
0
-24
2
2
0
0
11
-13
-8
0
0
0
2
0
-4
0
-7
-5
7
1
0
14
-10
49
-1
0
-23
1
18
25
0
2
-15
4
0
0
-9
-7
-5
-1
0
4
10
14
-2
0
6
35
10
14
0
-4
-14
-1
-4
3
4
-41
14
8
0
29
15
18
-47
0
-15
54
-11
-11
0
54
-3
37
-1
0
-39
30
51
-17
0
23
25
-18
1
0
38
14
-2
-14
0
-23
11
-17
2
0
43
23
-35
27
0
21
24
-1
-2
0
-22
-9
33
-1
0
0
3
-2
1
0
-8
-13
-3
-1
0
-2
-13
8
1
0
7
-10
19
0
0
0
15
15
0
0
10
-6
-15
-1
0
14
-35
16
0
0
-23
-15
37
0
0
0
6
0
0
0
8
0
0
1
0
-4
4
1
-1
0
-2
0
10
0
0
0
0
-3
0
0
13
5
0
0
0
0
35
-4
-5
0
-6
11
-9
0
0
0
-16
0
0
0
0
-10
-2
-1
0
-14
8
0
1
0
0
3
-3
1
0
3
0
1
0
5
-10
-25
-8
0
0
6
19
2
13
0
17
26
-2
-19
0
-22
60
-8
5
0
48
-26
18
-20
0
-49
65
2
1
0
-62
-15
48
11
0
40
-40
-2
-1
0
-47
9
33
2
0
-34
38
23
5
0
20
9
27
-10
0
4
-25
0
0
0
-14
33
-35
0
0
-8
29
7
0
0
8
10
-15
-2
0
0
8
-21
-2
0
-11
-25
24
0
0
19
43
-52
-10
0
-42
-2
0
15
0
-5
-1
5
1
0
-53
-11
-2
-2
0
11
7
-10
0
0
0
0
17
0
0
0
0
-3
0
0
-8
15
0
0
0
-4
29
-4
0
0
-2
-11
9
1
0
0
-8
20
0
0
-3
2
3
1
0
35
30
-2
0
0
17
5
6
0
0
0
-2
-1
0
27
-20
-13
-15
0
0
44
11
-9
19
0
17
28
7
23
0
-34
38
-10
-6
0
41
27
21
-27
0
-9
-8
4
1
0
18
-8
-3
1
0
1
-1
0
0
0
-5
-6
3
-1
0
2
36
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
-10
-3
-1
0
0
0
0
7
0
0
3
-1
0
0
0
-13
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
-9
0
6
0
0
0
-51
17
34
-20
0
29
-124
-18
57
0
-29
24
14
-7
0
-11
-37
6
1
0
54
14
-23
0
0
52
-2
-3
0
0
0
4
-1
0
0
1
33
0
-1
0
-6
44
10
3
0
-2
34
-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
21
-10
-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
-27
-8
11
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
-4
-38
-11
44
0
34
20
24
-25
0
-24
-7
10
0
0
2
3
3
0
0
-15
0
2
0
0
-5
5
-5
-1
0
0
0
3
0
0
-27
4
0
0
0
10
9
-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
30
-14
13
22
0
-33
27
44
-37
0
-46
-6
5
15
0
-19
-58
5
21
0
-14
-10
-5
0
0
0
3
48
-1
0
-4
5
0
0
0
17
-43
-5
-1
0
-11
-5
-5
0
0
7
-3
0
-1
0
-1
0
-7
0
0
21
-3
-4
0
0
-1
21
-4
0
0
5
0
1
0
0
1
0
0
-1
0
-1
0
0
0
0
-4
24
-7
2
0
-4
8
-1
1
0
1
-1
4
0
0
0
1
0
0
0
0
-1
-15
0
0
0
-1
-1
0
0
0
1
-2
0
0
0
0
0
0
0
1
-1
9
0
0
0
3
1
0
0
0
0
-11
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
-3
-3
0
-11
-3
-5
-2
0
0
44
-38
49
9
0
26
40
-8
4
0
9
11
-10
2
0
16
13
29
1
0
-22
2
7
-2
0
-23
-7
23
3
0
5
-1
13
0
0
-22
6
0
0
0
-15
17
4
3
0
-19
-2
5
1
0
-2
11
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
14
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
13
1
0
0
0
-4
-3
0
0
5
0
0
0
-25
3
1
1
0
0
73
-22
2
14
0
-52
-8
32
10
0
1
10
4
0
0
-87
7
1
1
0
18
-5
4
0
0
-17
32
3
0
0
3
7
0
0
0
27
-10
1
0
0
9
3
9
0
0
17
-36
0
1
0
0
37
3
0
0
1
8
0
1
0
0
1
6
0
0
0
0
-3
-2
0
0
-2
0
0
0
-3
15
4
0
0
0
-15
-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
-40
-10
-1
0
0
0
-28
21
-20
25
0
21
26
31
-9
0
-5
26
-5
-1
0
-14
-24
19
-3
0
4
13
-13
-3
0
1
1
34
-3
0
7
0
3
0
0
-2
53
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
9
-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
-10
0
1
0
0
0
-25
11
11
6
0
49
-16
-43
-25
0
-3
-23
25
-2
0
-75
21
-8
-18
0
-33
22
4
0
0
2
10
3
2
0
0
4
-4
0
0
2
1
2
0
0
4
-6
-10
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
-10
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
-30
0
7
-1
0
0
31
-14
3
-16
0
45
5
-58
15
0
7
24
-1
2
0
11
0
-3
0
0
-2
3
2
0
0
-4
-4
2
-1
0
0
0
0
0
0
15
-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
-13
0
0
0
-9
3
1
0
0
-11
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
-29
0
0
0
0
0
-12
17
5
8
0
-72
-17
9
11
0
23
-7
21
3
0
-4
18
-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
14
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
5
0
0
0
0
0
1
-13
6
5
0
16
10
-15
-11
0
6
37
-7
-1
0
-6
9
2
6
0
-1
-45
-5
0
0
3
0
2
1
0
0
5
0
0
0
-8
7
0
1
0
3
-14
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
33
0
0
0
0
0
46
13
-5
7
0
-13
31
70
11
0
8
19
-44
-1
0
32
29
-3
-2
0
-7
-6
8
0
0
-14
-9
-13
0
0
2
0
0
0
0
7
-2
7
1
0
0
13
4
-1
0
1
13
-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
14
-1
0
4
-4
-14
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
14
-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
16
0
0
-1
0
0
-27
18
-32
6
0
11
-27
-26
0
0
33
-47
27
-7
0
14
10
13
-10
0
4
-3
13
-2
0
11
9
-14
4
0
-1
0
0
0
0
-56
17
2
-2
0
18
-40
6
4
0
-3
-20
-3
0
0
0
7
0
0
0
-1
6
0
0
0
-24
7
-4
2
0
3
-8
0
-4
0
-18
2
0
0
0
36
-3
-3
1
0
2
1
0
2
0
3
9
-1
-9
0
3
8
5
-3
0
-4
-17
6
-37
0
16
13
-56
44
0
27
-32
-49
28
0
-26
48
9
16
0
-58
-52
2
-37
0
35
14
4
28
0
39
-9
-5
42
0
-33
13
25
33
0
-43
15
2
7
0
30
31
-7
-4
0
-16
11
-57
-14
0
-16
12
-3
-29
-4
-43
-53
-50
-62
0
69
-29
-5
14
0
13
-7
2
-5
0
70
27
11
0
0
57
-36
4
-3
0
12
18
1
-4
0
14
8
1
0
0
0
2
4
0
0
-9
-11
-2
0
0
8
46
-5
0
0
-18
-22
0
0
0
0
-13
-1
0
0
10
-6
0
0
0
0
7
-9
0
0
4
13
-6
3
0
-1
2
-2
0
0
-11
-25
-2
-2
0
0
7
-1
-2
0
11
18
-5
-22
0
-13
0
33
13
0
-25
-5
12
51
0
-18
-27
47
-10
0
-85
-26
46
36
0
70
-6
-40
-25
0
-56
70
10
-15
0
63
-60
-5
75
0
-13
-39
-39
-17
0
5
-35
-5
20
0
7
-26
-6
-21
0
63
-21
63
-7
0
-11
33
-5
-20
0
3
5
-46
-64
-5
-59
13
-57
-15
0
-54
-7
10
7
0
-23
45
-25
-9
0
-46
2
0
0
0
11
6
7
0
0
20
-1
2
0
0
20
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
1
12
-36
5
0
43
7
15
-1
0
26
-9
29
49
0
-27
-45
76
-14
0
33
-7
4
7
0
24
-45
43
-5
0
51
-26
-34
-26
0
5
-90
65
-44
0
54
14
-7
-33
0
5
-60
13
-17
0
1
5
-2
16
0
-6
-11
0
-17
0
5
64
-21
44
0
0
13
32
4
0
23
-11
-10
72
5
-60
-53
-1
36
0
12
2
-23
-4
0
27
-4
0
0
0
26
8
3
0
0
12
3
1
0
0
7
3
-1
0
0
-24
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
11
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
-26
-23
0
0
0
-11
7
19
16
0
8
11
-2
49
0
18
-67
-12
26
0
-65
-45
120
15
0
45
-56
-10
-64
0
44
17
-15
-30
0
3
-69
-4
-10
0
-99
69
-76
24
0
-19
16
9
-15
0
-11
15
-8
-1
0
-5
-10
-50
-1
0
0
0
-18
1
0
4
49
8
-31
0
0
-7
-6
0
0
-36
34
5
5
-16
-17
19
26
4
0
33
4
-10
4
0
-15
35
-1
-5
0
20
-9
-4
1
0
5
-6
1
1
0
5
1
0
0
0
0
0
-1
-2
0
0
0
0
0
0
8
-21
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
-20
-20
23
-45
0
-52
67
22
109
0
68
33
-17
-4
0
57
64
-86
-14
0
38
-42
53
25
0
4
-50
53
6
0
31
-31
-24
4
0
25
-33
-48
1
0
-44
6
47
-10
0
-23
24
-3
2
0
-14
5
-19
-5
0
-7
9
0
1
0
-1
29
33
-1
0
0
4
-15
0
0
-6
31
-23
0
-11
58
0
15
0
0
12
26
22
-36
0
56
31
-20
-3
0
3
17
1
0
0
19
13
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
-26
-41
25
86
0
-8
-51
8
5
0
25
32
-60
-52
0
-24
8
48
15
0
9
19
36
15
0
8
9
-18
-5
0
-18
8
15
-1
0
-1
25
11
1
0
45
-10
-20
2
0
-5
9
-17
1
0
0
-4
8
2
0
0
0
-2
0
0
1
-13
-3
10
0
0
-6
-4
1
0
-5
6
20
0
-57
29
1
-4
0
0
-30
-7
8
0
0
53
-13
-1
6
0
0
5
0
0
0
13
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
7
24
51
0
72
18
-4
-61
0
-22
-101
0
62
0
14
1
-6
20
0
5
9
-15
9
0
4
-15
29
1
0
-1
8
-4
-10
0
-5
15
15
1
0
44
32
-83
-64
0
-24
26
-4
-4
0
2
-3
-1
13
0
0
11
6
0
0
0
-26
1
4
0
0
0
0
0
0
3
-6
7
0
-15
-8
7
0
0
0
58
27
0
0
0
-10
1
-11
-10
0
10
0
-4
-3
0
-25
9
0
1
0
0
-26
2
0
0
-1
0
1
0
0
0
-1
0
0
0
0
-4
0
0
0
-2
9
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
-48
-34
-53
-27
0
-34
-42
52
92
0
-27
57
-65
29
0
29
-5
-23
-42
0
-7
-1
-3
13
0
-1
-1
8
3
0
-11
-8
15
5
0
21
-11
8
1
0
-60
-14
-9
-46
0
21
33
-31
0
0
-4
7
-21
-3
0
-4
0
14
0
0
0
6
1
-9
0
0
-5
7
-2
0
-7
-7
14
0
28
14
-23
1
1
0
2
2
1
-5
0
-36
11
-49
15
0
10
47
6
0
0
19
-33
-1
-27
0
-3
16
3
1
0
43
-31
-13
2
0
-11
2
2
0
0
25
-4
-1
0
0
-7
17
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
-3
7
-27
36
0
40
-68
58
-88
0
44
32
12
-36
0
-33
43
97
19
0
-1
-117
-1
-7
0
-35
-5
-35
-10
0
51
9
-33
-15
0
0
-15
-22
-4
0
6
1
0
-1
0
-2
-5
0
6
0
35
1
-8
-4
0
-40
-38
-12
28
0
-35
-79
6
18
0
-20
62
-25
-21
0
40
11
-3
-45
2
-12
-30
-10
-60
0
6
27
-17
7
0
-23
56
10
-26
0
-4
10
6
-1
0
42
-4
1
11
0
18
-23
3
1
0
-86
-7
4
1
0
0
-4
0
0
0
-10
19
0
1
0
-1
-55
10
0
0
8
10
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
-1
38
5
-20
0
-24
-52
-20
23
0
-10
18
26
-28
0
62
-68
37
11
0
35
24
16
-2
0
-17
4
7
1
0
-15
15
-7
-2
0
14
8
1
0
0
-5
-2
26
0
0
21
5
-43
74
0
28
-64
-66
3
0
-52
-61
28
-20
0
47
35
22
21
0
6
-14
0
-3
0
20
-33
-53
21
-1
-22
33
-5
-5
0
1
-50
-3
1
0
23
0
-8
5
0
1
21
1
1
0
-18
-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
-17
15
-6
-10
0
75
28
-33
-14
0
32
-44
-1
-24
0
-26
12
-9
-8
0
-45
-52
32
16
0
-32
6
9
-7
0
0
24
18
-2
0
-3
-10
-7
-7
0
-16
7
-15
50
0
4
36
68
-24
0
35
8
2
-5
0
9
-19
26
39
0
35
18
-49
1
0
6
6
31
0
0
7
5
12
13
-50
27
50
-5
11
0
-34
-33
29
-7
0
-13
-26
23
23
0
18
-8
4
0
0
14
-16
-3
-1
0
7
46
-7
0
0
9
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
59
36
9
-90
0
34
-31
39
6
0
-130
71
-5
-8
0
-54
22
-25
11
0
-8
-14
17
-5
0
7
9
1
0
0
0
7
0
0
0
0
1
0
-1
0
-26
-16
6
9
0
-11
-19
-50
-63
0
-83
18
53
7
0
37
17
-6
-8
0
37
-10
-96
-31
0
0
1
-31
7
0
4
18
-33
7
18
6
-25
-4
5
0
-6
47
-18
1
0
-27
27
7
-17
0
1
0
6
1
0
19
8
-6
15
0
15
7
-2
0
0
0
0
1
0
0
-1
1
0
0
0
-5
9
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
10
0
0
0
2
-48
-15
1
0
10
71
-46
57
0
-14
3
28
2
0
10
67
-14
4
0
32
-118
-18
26
0
26
7
3
17
0
-5
-6
8
2
0
-19
10
-4
0
0
6
7
-58
41
0
-14
-20
25
-53
0
-14
57
50
0
0
-22
38
80
10
0
10
-32
48
-14
0
-9
24
32
-15
0
-11
-37
3
-3
6
13
108
-16
20
0
14
17
14
-6
0
12
-34
-30
-7
0
5
57
7
-1
0
9
24
0
6
0
-2
1
1
-1
0
-16
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
-54
74
-3
-116
0
-80
-1
6
19
0
51
-22
-28
-24
0
26
18
-5
3
0
-1
-33
2
-3
0
-1
0
-2
1
0
0
-1
4
0
0
18
-16
0
0
0
-9
-32
-17
-32
0
38
-8
72
-9
0
26
-55
3
-14
0
-9
-15
5
29
0
-1
1
-26
-20
0
0
-3
23
1
0
0
14
21
-6
-3
-10
80
3
6
0
4
68
-14
3
0
-5
35
2
-23
0
-13
-31
-3
2
0
15
-7
10
11
0
0
3
-3
0
0
1
0
0
0
0
-2
-2
0
0
0
5
-1
0
0
0
0
-14
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
39
-40
-16
13
0
41
19
-88
-41
0
-53
8
35
11
0
10
45
8
-74
0
-10
-20
1
-23
0
-5
13
-11
0
0
9
1
0
1
0
0
10
-6
0
0
-21
-16
40
26
0
3
-44
-86
-2
0
-6
40
43
24
0
0
14
3
-14
0
-24
-24
34
-2
0
0
-5
35
-19
0
0
-39
-18
11
4
0
2
-14
-16
0
-17
9
-6
-8
0
1
-8
15
-24
0
5
2
-17
6
0
-37
-17
4
-3
0
-3
-2
0
0
0
23
-11
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
-18
-24
-78
-91
0
-9
99
28
-49
0
-31
-17
25
-8
0
-14
-8
-8
14
0
32
7
-25
21
0
0
0
-8
5
0
0
-11
5
0
0
-1
-7
0
0
0
13
13
-8
-37
0
3
-90
-48
34
0
-3
-55
31
43
0
6
22
17
8
0
0
-14
68
27
0
0
-8
9
6
0
1
19
-1
18
35
-20
20
-14
9
-23
13
-15
51
13
-6
3
17
29
22
33
-5
-12
-47
23
66
40
-6
-34
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
-17
1
-6
-4
-8
-13
23
2
0
-3
16
-5
0
-2
18
4
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
10
-17
-5
-1
60
-88
11
-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
13
-21
-25
-1
0
1
13
2
-3
0
-1
25
-2
0
0
-7
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
19
-14
-49
35
-75
0
14
22
-43
44
3
29
-30
-6
110
-29
-18
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
79
-44
-19
0
-45
9
17
10
0
0
4
13
-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
23
23
-26
10
19
-50
32
5
23
-6
0
31
0
-6
0
-5
-36
10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-9
-7
-6
0
-7
16
0
-8
0
2
-21
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
53
-26
38
22
27
-8
-23
12
-15
25
93
50
58
26
-2
-26
70
-29
46
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
-5
-5
2
-1
-1
25
-4
1
0
8
-21
1
0
-1
-8
21
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
13
2
-18
1
-18
14
-5
2
0
10
-2
-1
0
1
-7
-20
2
-4
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
-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
-3
25
-27
86
-45
-16
-80
2
31
-6
19
14
13
-5
5
-20
7
-14
-8
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
45
-8
8
0
0
37
-37
-11
-8
0
3
10
0
0
0
29
4
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
4
37
-3
-8
6
1
-27
-5
0
1
2
1
0
30
2
-10
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
-18
54
-10
-31
17
31
-48
-16
94
-29
7
11
5
-1
-6
17
-6
18
-30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
20
2
52
0
-1
-1
13
-14
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
16
0
5
0
0
-14
8
1
4
0
0
9
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
43
-25
-10
-3
0
-9
-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
27
-5
41
58
-6
52
-18
-78
2
24
-20
39
-10
46
17
-1
30
105
-20
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-43
31
5
24
-7
-5
32
-5
-16
0
10
-1
0
0
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
-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
37
0
3
0
0
30
-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
26
24
48
34
-30
2
39
-23
22
-11
2
2
1
-5
1
-11
5
-20
-20
-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
-14
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
-18
-1
34
-32
-11
28
67
18
-25
11
-14
0
16
22
-6
-7
-32
14
21
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
33
-23
11
-9
-2
-19
-5
20
3
1
-4
18
3
0
-1
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
-2
1
0
0
0
0
15
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
23
-48
10
10
2
-31
57
14
15
2
21
-5
20
1
1
-11
-3
8
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
10
-2
20
0
-2
-25
43
15
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
-12
25
-16
62
5
-29
-14
-2
0
10
17
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
25
-27
14
-4
-10
-1
29
32
-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
-56
96
5
1
5
115
-45
22
-2
5
-20
-24
6
2
-3
-32
33
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
31
-9
0
-6
5
15
6
3
0
-2
2
15
0
0
-18
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-25
11
-8
-1
15
-10
-9
1
-1
1
13
-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
24
13
3
0
-4
-24
-23
10
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
1
9
-7
44
-2
-15
43
-22
-2
-3
-11
33
17
-2
0
21
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
-4
25
-1
0
4
0
14
-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
-20
-11
4
0
8
-16
5
6
0
0
-2
1
0
0
0
9
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
23
-30
33
-3
-1
-13
-9
-3
14
9
-22
-2
-17
20
2
0
43
33
-11
-13
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
-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
11
16
-15
0
0
-6
11
10
-1
0
-18
-14
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
-1
20
7
-15
-10
28
-24
10
-6
9
31
25
0
3
37
-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
11
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
-10
3
-2
-1
-4
3
14
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
14
-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
47
22
1
-5
-8
-1
-20
15
-5
0
-7
-41
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
-13
0
0
3
-2
-10
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
-13
-4
0
0
-3
0
5
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
-4
8
5
-20
-3
-18
25
25
-5
4
0
-15
-6
-6
0
-2
-8
-17
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
20
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
17
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
15
-5
-6
-5
-30
-34
27
-1
5
-3
7
3
-10
-6
-3
1
17
-18
-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
18
6
5
-4
4
16
16
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
7
40
17
-44
1
-3
17
-23
17
-9
-6
29
4
3
0
-17
-23
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-18
-2
16
18
33
-33
8
34
-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
5
2
6
0
0
-20
0
1
-4
-23
-43
-17
12
-30
-3
20
-12
6
-24
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
71
61
-13
101
-9
-13
-57
39
71
0
50
-80
12
-10
0
-25
2
-2
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-8
4
-13
31
-14
24
15
2
-2
-5
7
-23
0
-13
41
14
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
0
-6
-11
2
-18
44
8
3
0
17
0
0
2
4
25
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-1
1
-6
6
1
-14
22
-13
-13
-67
-19
-11
14
7
5
-31
-16
-55
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
78
-17
1
31
-8
23
-9
9
-18
0
0
-101
4
-36
0
8
-30
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-19
-22
21
-1
-7
-8
4
10
9
4
27
6
6
0
1
15
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
2
-1
0
-13
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
33
0
14
-8
-8
-23
-3
0
3
37
14
16
-25
58
18
-38
31
7
21
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
-5
-25
13
-2
-14
14
-17
-1
0
15
-6
21
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
29
-33
16
-8
0
2
-32
-14
20
1
0
-2
0
2
0
17
63
-10
9
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
-17
11
0
-4
-1
0
1
-1
-2
0
-9
-17
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
-3
-5
-26
47
-111
-29
-14
-33
-23
49
72
-5
52
-51
-62
13
-13
10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
18
-20
17
2
-75
-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
29
-45
9
1
-5
-29
2
26
0
0
-3
-5
-29
-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
13
-4
2
2
0
26
-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
-20
-8
-29
1
-39
-7
-29
-23
34
92
-14
-1
53
-75
-16
-87
-34
4
90
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-11
11
-4
-12
6
-55
-3
10
39
-7
45
15
20
-9
-37
6
-26
-5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
13
-4
-6
3
8
15
-20
-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
-26
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
-3
-49
5
28
16
-1
-80
-11
118
-35
-20
96
-52
-8
-3
8
20
46
10
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
3
-31
-60
45
-10
29
51
50
0
31
-13
26
-23
6
-17
-18
5
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
7
20
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
-42
54
-58
-19
-37
-71
-37
86
19
24
16
17
-31
-64
5
47
-53
48
14
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
-36
57
3
15
-17
-10
-10
1
0
3
-14
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
15
0
0
3
-6
-7
1
0
2
3
-1
0
-2
1
-11
-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
14
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
-33
5
-62
-8
25
-9
52
-61
22
24
33
-51
11
16
-18
-7
-29
-9
-23
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-24
142
-28
-105
5
-35
1
-6
20
-2
0
33
10
1
-2
7
-25
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
10
43
-1
11
-15
-11
1
-1
5
3
-13
-4
-10
0
5
-7
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-32
-18
19
-23
-5
25
3
-9
1
0
0
-18
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
-14
1
19
73
24
36
-15
37
48
77
3
-31
84
-12
-35
-23
-33
30
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
1
-1
-3
-18
19
-6
-32
13
-84
-24
-74
-4
113
94
54
-45
-12
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
27
22
-24
-8
43
1
-4
-18
0
9
2
8
0
0
5
-5
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-22
19
6
6
-10
37
0
-1
0
14
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
46
-7
100
-39
56
18
35
3
-9
-28
-28
1
8
-10
51
-63
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-29
9
2
6
-14
20
-50
-21
51
12
14
-9
41
-55
-68
3
77
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
6
-11
0
0
17
6
-2
2
-1
0
13
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
17
-17
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
-33
-39
25
-40
59
-15
-52
-43
3
-58
0
49
-31
20
16
0
90
-13
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-45
-12
16
58
-15
43
-27
-10
-7
59
-48
89
-98
4
-8
-44
101
-6
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
24
0
7
10
-13
-31
1
-4
14
7
0
0
26
18
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-8
-7
0
0
11
0
11
0
0
1
0
1
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
3
1
0
-45
-5
-9
37
-37
51
-9
5
-11
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
-6
-23
-23
-19
-14
-52
-12
47
128
-38
16
-19
14
62
-22
-49
-24
-39
-17
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
9
7
-6
8
7
7
-32
1
0
3
-23
6
-2
1
1
15
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-20
-10
-3
6
5
-9
-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
43
20
-61
46
11
-13
23
-101
-71
-19
-2
13
2
-75
-44
-10
-64
33
-16
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-16
-11
50
-47
66
-24
-33
112
5
-27
41
96
-31
-146
-25
-41
54
-29
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
2
-9
0
36
8
-1
-4
-7
1
34
-11
2
0
-20
-6
-16
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
1
-11
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
-57
42
31
8
-18
-14
29
-11
-20
6
-9
-48
-27
13
-21
1
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-21
-23
5
-59
-1
16
-21
31
14
4
3
-32
71
49
-1
35
57
-5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
37
-6
7
0
32
-35
20
7
-1
0
-4
0
0
0
0
9
-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
-29
25
18
-44
12
27
6
16
-43
-3
-5
-14
-6
2
-9
0
-4
3
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
3
122
-76
28
-1
50
-97
-31
-4
-21
-28
13
-21
4
26
46
-35
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-15
11
21
-8
35
7
6
-36
0
3
-10
-5
0
0
9
14
26
14
-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
20
29
26
-33
-19
-9
31
56
-39
23
-37
0
26
41
9
-45
1
-6
6
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-34
-23
-42
62
-10
16
-19
24
13
-9
-20
22
39
-75
-15
-6
53
-13
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
8
59
30
-15
-4
-14
2
70
-4
43
3
6
-14
9
28
12
5
-7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
26
24
43
24
-3
-8
11
-18
35
0
16
-21
14
-1
0
5
-10
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
2
-39
14
4
2
-9
-32
-5
-7
0
10
3
11
0
6
14
-13
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
-30
-2
-1
-25
7
1
-2
0
9
-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
32
1
-10
-32
22
5
11
3
-16
-16
54
-13
41
-3
51
14
0
6
-29
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
29
-11
22
-8
-21
0
-17
-5
-3
-7
14
-6
-6
0
-4
10
-13
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
44
5
24
-8
14
-14
-43
-7
9
0
13
-20
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
-50
5
-11
-5
17
-31
31
11
6
0
-2
-10
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
-6
3
16
10
21
-39
36
21
73
15
84
-15
16
-17
-16
-6
-42
56
-22
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
34
-7
43
-16
7
42
-5
4
1
-2
5
17
9
-4
0
4
1
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
-14
-15
-1
1
0
-9
-17
-2
0
3
5
-5
0
-2
-11
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
-15
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
-43
17
74
-1
30
4
13
11
35
-12
11
-7
8
63
-13
20
6
-78
-33
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
5
-37
-4
-18
-50
44
39
-5
1
0
17
-7
0
46
-32
11
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
33
22
13
-4
-1
-23
9
15
2
0
-26
24
8
0
-6
-43
29
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-43
-34
0
1
1
6
-23
-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
-4
44
48
10
45
5
-40
8
-4
-16
-45
43
-8
10
-7
11
-38
21
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
14
20
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
15
15
-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
-16
14
23
16
-24
24
-4
-4
22
1
8
15
-6
10
-35
46
18
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
-29
15
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
17
-6
26
5
-8
9
-19
-17
-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
30
26
-15
10
13
8
49
7
13
0
-13
-92
-9
14
-3
-21
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
-12
14
45
21
-30
-16
8
8
53
8
-6
11
-37
-7
13
-4
-2
-40
2
11
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
0
1
21
-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
-62
-5
0
17
2
-14
3
2
0
2
3
0
0
0
1
-16
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
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
-71
24
80
-7
31
33
-30
-32
52
1
6
46
-22
25
5
24
22
-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
-16
-1
13
0
-43
17
9
-11
-2
-46
10
19
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
-80
26
-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
-10
-19
25
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
24
-9
6
35
5
30
-42
-18
20
36
-14
7
11
2
-1
-7
29
13
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-1
-3
-1
-14
-7
-9
-35
54
0
0
-13
8
-2
-1
0
-26
5
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
-4
0
-27
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
-1
1
0
0
3
4
-9
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
-23
-61
-2
-2
7
9
2
6
-8
-1
-2
45
3
21
-18
4
-14
20
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
6
13
0
1
-4
20
0
0
-1
7
16
-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
17
20
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
-9
-9
13
-3
-3
13
-17
-18
-8
3
-3
-20
3
13
-1
-20
0
-51
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
25
0
0
-2
53
-27
5
-10
0
0
17
1
0
1
33
11
-14
-1
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
1
-2
32
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
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
-28
21
-35
8
1
6
-14
5
-23
-2
2
7
9
1
-1
1
7
29
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
2
-1
0
9
5
-19
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
-43
45
-33
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
39
29
36
10
9
-31
18
-23
31
33
-6
37
-8
1
0
23
-53
9
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
15
-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
-14
21
-10
0
0
-14
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
-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
43
24
-7
-14
5
7
23
5
5
4
-7
20
-8
-1
5
9
10
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-39
2
0
0
-2
-18
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
-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
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
79
13
45
-26
-16
36
26
56
21
10
9
-14
-25
0
29
-3
26
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
32
2
0
-2
0
26
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
-14
3
21
-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
-16
-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
44
23
-20
19
4
-38
41
47
9
-2
2
-2
0
-33
-1
10
-4
9
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-22
16
-22
4
8
-1
2
-13
-10
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
1
3
3
0
4
6
4
8
-1
2
-16
-17
12
-6
2
-39
-14
-5
9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-21
0
30
-19
1
-71
-62
53
28
0
44
-71
-10
-10
0
-94
-68
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
32
27
43
19
-42
45
-24
-28
-7
-4
60
23
2
0
-8
36
21
9
-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
45
15
-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
12
1
6
-2
7
-26
0
20
-9
28
25
-6
-15
-36
6
-10
-16
-52
-42
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
32
0
-14
33
-19
-59
-33
30
7
0
57
-63
45
-3
-1
7
6
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
35
14
-15
2
14
-49
20
6
1
-4
7
31
0
0
-1
14
-11
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
-1
6
8
47
-2
-8
-7
-11
72
37
32
82
6
7
-14
-19
-8
10
11
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
11
-20
-48
30
11
-38
-28
44
30
-19
-6
-20
8
-25
-66
-19
4
-13
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
52
-13
57
-6
-11
3
-30
20
0
5
-37
4
1
0
-10
16
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
-44
23
12
4
10
-14
1
-13
17
-35
23
-34
-27
-1
28
-45
-32
11
3
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
20
38
-40
8
8
6
-3
-48
-13
30
-20
24
-21
8
25
1
1
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
86
0
-31
10
4
33
-21
8
-14
18
-20
14
10
0
7
0
-10
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
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
-24
-2
26
-20
-11
-77
41
64
45
101
-5
-38
-9
13
-4
-30
7
71
-31
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
43
30
0
0
18
4
-7
-1
0
1
0
-3
1
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
11
3
62
25
-35
-9
98
-4
-18
0
-1
18
24
7
-1
0
24
-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
23
-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
-46
23
-6
-96
40
-25
-11
1
31
70
-17
-79
29
34
-5
-24
-65
-14
-3
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-29
74
5
-17
4
-16
-14
13
4
0
2
7
13
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
10
8
-3
16
-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
49
-50
-27
15
56
-20
-30
-98
78
-44
-77
39
25
-33
-6
-7
-15
-22
42
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
129
50
-79
-21
-2
35
23
-19
25
2
-57
27
-3
1
0
-33
2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
48
-25
10
0
13
24
-18
-15
5
0
8
35
-9
0
7
-48
20
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
-9
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
-23
-16
17
11
11
69
-83
-55
-15
58
-35
115
-10
-38
-53
-6
-5
-61
-30
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-44
-32
-33
-109
0
-100
-31
40
0
-1
43
-2
-10
-5
1
39
4
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
-32
-25
8
-11
43
-25
2
1
10
-33
14
-3
0
7
-32
5
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-38
18
-15
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
-96
-1
6
21
54
14
13
-49
-103
-25
-17
-40
23
-9
46
75
-3
8
36
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
1
0
-1
33
24
-14
2
-11
23
-24
20
10
1
-54
78
-7
-31
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-18
2
48
7
18
-46
-23
46
11
-4
11
25
-4
0
-7
57
9
-2
14
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
-14
-21
-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
73
-28
-6
76
7
-116
13
77
-63
-26
18
29
-85
6
16
31
-62
33
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-1
-3
4
-41
37
7
17
12
-35
78
6
47
51
19
-32
-54
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
-17
-4
5
11
21
7
-23
-3
2
-8
-18
3
1
-2
6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
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
18
-15
-12
-23
-15
-77
-21
66
-5
23
-30
-20
2
-14
47
-28
22
90
10
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-34
-5
12
15
-49
-5
-17
-8
-14
-31
93
-57
34
-49
-37
9
52
-7
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-24
-7
31
1
-2
-24
27
-2
7
0
-8
3
1
0
-1
24
-25
-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
-14
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-56
-49
3
-52
20
-82
94
8
-17
10
4
27
16
-31
-32
-27
2
-25
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-6
-5
-26
1
-32
23
10
29
47
46
-1
5
-31
6
66
32
28
-26
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-56
76
-13
-7
-5
7
-1
-7
-11
0
31
-29
4
0
-14
39
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
2
26
-1
-10
3
8
11
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
7
-23
-43
9
-35
-56
57
-30
-63
7
13
-8
8
21
47
-3
-4
-45
29
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-43
5
1
54
-51
-53
49
37
-39
17
-53
87
-11
-35
1
-20
-47
43
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
14
3
8
13
1
75
14
-18
8
-17
-25
16
-1
-8
10
13
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-10
-6
2
15
26
36
-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
-31
84
-8
-58
-50
11
-65
82
4
-60
-17
39
-21
19
-19
5
16
-46
22
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-21
-67
17
-13
-100
-46
69
-51
31
-15
-21
-13
10
-59
-6
-3
10
21
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
8
-4
-5
-4
10
-8
-16
-11
0
-5
1
-4
0
0
33
-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
-58
-30
-38
-18
41
53
13
-25
-26
-7
-34
58
6
5
-29
-3
-33
65
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-27
-44
-1
13
53
3
-17
12
-82
-25
-12
-1
-27
66
-3
-35
-13
6
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
63
-6
-11
-20
33
-25
-4
6
1
0
13
-20
-4
0
-1
-64
-8
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
18
-6
0
-1
-2
14
-9
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
32
-20
-35
13
-74
-6
15
-39
-60
-33
-26
99
-29
-7
-31
2
19
7
37
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-58
-35
-38
4
-50
-23
3
32
-2
0
-54
13
23
18
-34
-2
53
-1
56
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
24
-20
2
0
0
15
4
-9
0
0
2
-19
-23
0
0
19
132
20
0
0
11
59
51
0
0
-86
56
27
0
0
15
0
-33
0
0
10
117
7
0
0
-75
41
39
0
0
42
-23
14
0
0
35
75
62
0
0
75
25
-6
0
0
4
61
27
0
0
89
92
-17
0
0
-11
-60
44
0
0
25
-33
6
0
0
71
-63
-13
0
0
-3
77
3
0
0
38
13
2
0
0
47
-48
24
0
0
-45
14
64
0
0
6
0
46
0
0
-43
40
49
0
0
56
-4
71
0
0
-49
-50
29
0
0
-7
38
48
0
0
61
21
-32
0
0
54
12
52
0
0
16
53
-26
0
0
18
16
21
12
16
35
-64
-38
0
0
-3
45
32
0
0
19
9
4
0
0
-20
10
40
0
0
2
1
15
0
0
67
-10
85
0
0
91
73
1
0
0
-2
-24
42
0
0
18
-6
62
0
0
9
-56
27
0
0
-15
10
-51
0
0
-5
38
38
0
0
55
14
70
0
0
4
58
18
0
0
9
7
-7
0
0
8
56
5
0
0
-11
55
-32
0
0
29
90
-75
0
0
81
28
74
0
0
-2
-53
19
0
0
-32
11
16
0
0
-8
-18
8
0
0
4
-47
-47
0
0
27
-27
-14
0
0
-36
-14
44
0
0
-25
76
-39
0
0
25
109
10
0
0
0
-62
-15
0
0
-53
-3
75
0
0
9
-18
24
0
0
10
65
15
0
0
-23
-5
-71
-4
14
83
14
91
0
0
-24
22
-9
0
0
17
-21
-26
0
0
-28
14
2
0
0
23
32
11
0
0
-15
14
-2
0
0
6
62
126
0
0
18
69
-3
0
0
43
49
-29
0
0
82
-34
24
0
0
-19
11
-2
0
0
68
14
-17
0
0
25
-7
-13
0
0
-1
4
0
0
0
-25
39
-6
0
0
53
14
-18
0
0
-23
39
-7
0
0
13
0
57
0
0
2
0
6
0
0
-5
-24
-62
0
0
30
25
-5
0
0
47
45
7
0
0
-20
4
-23
0
0
-2
-43
-10
0
0
3
-54
35
0
0
-19
50
-24
0
0
2
-89
-33
0
0
0
81
-46
0
0
7
44
30
0
0
-80
-14
-84
0
0
3
12
29
0
0
61
-47
-46
-16
9
-17
-45
-33
0
0
-6
67
98
0
0
-48
-28
12
0
0
60
16
-67
0
0
55
-3
-60
0
0
26
-12
44
0
0
49
28
-15
0
0
15
35
18
0
0
-3
15
23
0
0
7
44
-2
0
0
79
-12
22
0
0
5
1
52
0
0
-32
32
-2
0
0
-5
14
-8
0
0
-2
20
-26
0
0
-8
-94
3
0
0
-15
47
-47
0
0
3
-7
-26
0
0
-56
58
58
0
0
-14
-22
9
0
0
-49
-5
24
0
0
-61
-27
-18
0
0
-10
-23
-2
0
0
-6
5
-1
0
0
-27
-58
15
0
0
2
-9
-8
0
0
-4
26
-35
0
0
0
45
4
0
0
27
3
-32
0
0
24
20
18
0
0
-36
-5
-16
0
0
73
-25
-19
1
-4
-84
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
13
-25
-10
0
0
69
-29
-33
0
0
-36
52
9
0
0
59
37
-27
0
0
-35
-43
36
0
0
-8
-5
2
0
0
-42
-36
2
0
0
-25
70
-55
0
0
3
-5
45
0
0
77
14
29
0
0
5
12
19
0
0
-24
114
22
0
0
32
3
1
0
0
-49
19
0
0
0
-2
79
-25
0
0
71
23
8
0
0
-20
70
32
0
0
14
-60
8
0
0
-29
-4
4
0
0
30
22
18
0
0
8
-1
27
0
0
-2
-12
-9
0
0
86
13
6
0
0
17
58
17
0
0
5
15
27
0
0
0
48
-10
0
0
-26
-26
8
0
0
17
1
49
0
0
-6
29
-36
0
0
-112
40
33
0
-12
-26
110
1
0
0
54
-3
27
0
0
-57
-59
23
0
0
14
57
10
0
0
24
55
-33
0
0
50
-41
-11
0
0
21
5
26
0
0
27
-24
6
0
0
-13
15
-45
0
0
33
104
-28
0
0
17
87
30
0
0
85
-61
-39
0
0
-15
-18
65
0
0
-3
6
54
0
0
20
-29
-43
0
0
-33
-6
5
0
0
27
-44
-8
0
0
17
-56
-16
0
0
-65
19
-20
0
0
-8
5
-5
0
0
-44
-10
5
0
0
13
21
22
0
0
31
44
-10
0
0
-6
17
6
0
0
10
34
-16
0
0
-5
-81
-16
0
0
-2
-50
5
0
0
0
-14
-1
0
0
5
-19
1
0
0
28
3
24
0
0
26
-4
4
0
0
30
13
14
54
-25
-41
81
-10
0
0
32
-59
-5
0
0
-47
103
5
0
0
-11
19
68
0
0
-31
53
41
0
0
4
4
2
0
0
-5
18
-1
0
0
5
-2
-13
0
0
-16
-55
-1
0
0
-19
-1
8
0
0
20
-50
23
0
0
-28
53
-15
0
0
10
-2
-25
0
0
20
13
-2
0
0
3
-6
0
0
0
-16
31
-46
0
0
-15
-27
13
0
0
-33
13
2
0
0
-11
25
10
0
0
15
6
-1
0
0
-51
18
-2
0
0
8
-21
-5
0
0
0
-3
1
0
0
1
-6
0
0
0
22
-45
5
0
0
1
13
1
0
0
0
-18
0
0
0
7
-15
7
0
0
-6
-3
3
0
0
32
53
6
0
0
0
21
-3
0
0
6
26
8
15
-11
32
-85
11
0
0
-21
-23
-14
0
0
10
-24
-32
0
0
-34
63
-52
0
0
-46
48
-13
0
0
79
5
-3
0
0
-14
17
16
0
0
-5
-18
-2
0
0
-121
-9
6
0
0
46
11
-90
0
0
73
-14
1
0
0
19
-13
-22
0
0
74
-18
54
0
0
-1
-5
-4
0
0
-5
-3
31
0
0
2
-1
-7
0
0
27
8
-4
0
0
-16
41
5
0
0
17
-30
-7
0
0
-1
14
-2
0
0
26
37
1
0
0
0
-5
0
0
0
0
2
-1
0
0
1
0
0
0
0
17
-9
8
0
0
-1
-31
1
0
0
-1
36
3
0
0
0
1
-1
0
0
6
48
-5
0
0
26
-66
-11
0
0
-16
3
0
0
0
-8
22
0
-12
-35
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
43
75
0
0
15
-1
-44
0
0
89
29
58
0
0
-4
-1
-14
0
0
-32
-27
9
0
0
-7
43
3
0
0
-43
7
-4
0
0
28
39
28
0
0
138
9
-27
0
0
18
-5
13
0
0
-16
75
-2
0
0
58
-6
16
0
0
32
46
-31
0
0
15
10
-32
0
0
31
1
3
0
0
10
-5
2
0
0
6
5
6
0
0
1
-5
6
0
0
16
42
24
0
0
5
-6
15
0
0
1
14
77
0
0
73
-23
0
0
0
43
31
-24
0
0
-16
-61
-49
0
0
2
-9
74
0
0
-95
2
29
0
0
-21
-70
44
0
0
-53
-67
-32
0
0
-14
-53
-40
0
0
-119
63
24
0
0
-53
-7
0
-1
3
-19
-7
-44
0
0
-27
4
-6
0
0
34
83
63
0
0
29
55
-4
0
0
-9
54
14
0
0
-30
-34
33
0
0
67
16
20
0
0
-22
-39
10
0
0
27
19
-22
0
0
22
15
-6
0
0
-4
43
-1
0
0
-28
-71
31
0
0
-6
-8
-2
0
0
-5
74
1
0
0
7
-24
32
0
0
14
114
10
0
0
-29
26
26
0
0
-28
-20
-12
0
0
-15
4
8
0
0
-31
-17
22
0
0
29
-5
-23
0
0
25
-63
-51
0
0
24
33
-3
0
0
-32
-41
-27
0
0
-52
-23
-38
0
0
42
5
45
0
0
61
35
48
0
0
-7
-20
34
0
0
-4
-19
-8
0
0
70
-52
-7
0
0
-112
4
5
0
0
58
-14
-30
3
-2
-58
-8
-105
0
0
-4
33
18
0
0
-7
54
-10
0
0
-39
18
-4
0
0
-58
-21
22
0
0
52
-44
-7
0
0
15
2
14
0
0
-10
8
3
0
0
24
39
1
0
0
-25
25
0
0
0
-25
0
0
0
0
-2
-18
2
0
0
2
1
0
0
0
-5
7
0
0
0
0
-19
1
0
0
-45
45
13
0
0
57
-5
-16
0
0
1
-16
17
0
0
-1
14
0
0
0
-17
8
16
0
0
28
-28
-66
0
0
-5
-36
-79
0
0
-80
5
-6
0
0
90
-44
-63
0
0
-5
39
65
0
0
50
10
2
0
0
8
-14
-55
0
0
-22
49
19
0
0
33
-82
-152
0
0
55
61
22
0
0
30
-45
-7
0
0
-60
-54
89
15
-3
-73
-34
-72
0
0
-53
-49
-41
0
0
-27
31
-46
0
0
-5
17
11
0
0
50
-5
-33
0
0
-14
3
32
0
0
-19
3
-4
0
0
0
33
0
0
0
-21
-9
15
0
0
0
-17
0
0
0
13
-14
-2
0
0
-26
-13
-7
0
0
-42
4
32
0
0
-26
4
-1
0
0
0
21
0
0
0
-3
-65
1
0
0
12
8
18
0
0
0
-7
4
0
0
-15
-15
-18
0
0
15
50
-70
0
0
30
-15
24
0
0
-32
-66
94
0
0
9
-22
-50
0
0
3
-63
-37
0
0
61
14
20
0
0
-50
-3
-40
0
0
72
-51
90
0
0
-44
-47
44
0
0
45
34
-6
0
0
-47
43
46
0
0
18
-70
40
0
0
77
24
-108
-21
-24
-28
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
63
0
0
4
-90
-5
0
0
5
-69
-3
0
0
-49
-57
40
0
0
31
-28
15
0
0
58
-15
3
0
0
-6
-23
0
0
0
66
21
-27
0
0
-62
-27
2
0
0
5
-32
2
0
0
0
-5
-10
0
0
-20
46
-14
0
0
27
-19
4
0
0
-6
1
-8
0
0
24
-19
2
0
0
18
-78
-20
0
0
6
-41
45
0
0
3
-8
52
0
0
-62
34
-2
0
0
34
-52
5
0
0
-49
60
-1
0
0
-20
-44
-82
0
0
49
42
-71
0
0
-29
34
5
0
0
7
8
1
0
0
18
-3
-22
0
0
-13
-1
9
0
0
-8
24
-25
0
0
43
23
20
0
0
28
-27
19
0
0
47
4
-17
4
2
-2
-18
49
0
0
-46
80
30
0
0
28
-50
-42
0
0
-26
-26
-2
0
0
-17
9
-5
0
0
4
-27
-7
0
0
41
-53
5
0
0
0
36
0
0
0
-34
24
-10
0
0
1
-26
8
0
0
-42
-6
36
0
0
13
15
11
0
0
-54
21
-21
0
0
3
3
1
0
0
9
18
2
0
0
1
-19
2
0
0
12
25
2
0
0
-11
-16
26
0
0
103
-71
8
0
0
2
53
75
0
0
-21
-28
92
0
0
-42
14
-10
0
0
23
-11
-46
0
0
-54
-52
14
0
0
-62
-4
-24
0
0
-2
-1
-28
0
0
-10
-30
-4
0
0
-14
-42
29
0
0
-12
23
-36
0
0
52
18
-34
0
0
70
62
7
0
0
-43
24
34
-9
-6
-92
-51
85
0
0
1
-14
27
0
0
2
12
-5
0
0
34
9
3
0
0
-50
37
11
0
0
-17
5
3
0
0
-8
0
0
0
0
8
-23
-2
0
0
-1
11
3
0
0
13
5
0
0
0
1
4
0
0
0
3
-48
5
0
0
3
-11
4
0
0
1
-8
0
0
0
0
-9
0
0
0
2
6
1
0
0
15
-25
-1
0
0
-20
-2
-15
0
0
-116
10
-68
0
0
-5
-21
-84
0
0
14
2
16
0
0
-5
-73
-10
0
0
-3
-73
-39
0
0
-49
-81
9
0
0
-98
34
-21
0
0
-12
30
10
0
0
0
-6
78
0
0
26
18
-55
0
0
61
-37
29
0
0
-35
-30
14
0
0
-35
-14
10
0
0
-28
1
-36
17
-3
-2
-63
-47
0
0
-24
-16
4
0
0
10
-14
-6
0
0
-33
21
-22
0
0
44
8
-8
0
0
-3
-8
-3
0
0
-8
-15
5
0
0
-9
5
0
0
0
-51
14
-16
0
0
-4
20
1
0
0
0
0
0
0
0
-2
14
2
0
0
-80
-26
34
0
0
0
1
0
0
0
0
1
0
0
0
4
0
2
0
0
-10
11
3
0
0
2
-103
-30
0
0
-41
-4
-22
0
0
3
64
-37
0
0
-42
-6
-69
0
0
13
29
-3
0
0
2
-20
14
0
0
-48
33
-35
0
0
-9
-8
-44
0
0
15
-12
-41
0
0
16
18
-52
0
0
-26
-6
-81
0
0
-6
-22
28
0
0
2
-60
87
0
0
62
35
47
0
0
21
13
-11
-50
-22
-90
-50
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
16
29
10
0
0
-7
-32
27
0
0
56
94
-13
0
0
57
38
2
0
0
45
23
-17
0
0
49
31
-6
0
0
-23
15
13
0
0
11
-66
81
0
0
38
125
-40
0
0
-41
35
-43
0
0
10
63
-7
0
0
14
53
102
0
0
84
-28
43
0
0
-8
7
2
0
0
57
11
-28
0
0
36
98
40
0
0
73
0
5
0
0
-41
53
129
0
0
54
-62
0
0
0
2
5
80
0
0
-114
110
12
0
0
-24
39
3
0
0
30
-45
23
0
0
11
80
-1
0
0
131
-66
78
0
0
-20
79
49
0
0
-8
5
33
0
0
34
-8
-48
0
0
-50
-34
-30
0
0
23
10
-15
0
0
-39
0
-31
7
22
-42
28
96
0
0
24
39
-22
0
0
4
51
38
0
0
52
35
10
0
0
19
60
6
0
0
-59
-42
-1
0
0
-7
91
8
0
0
4
55
21
0
0
42
-19
65
0
0
42
-21
32
0
0
49
51
-21
0
0
-56
39
33
0
0
62
3
23
0
0
-5
54
-14
0
0
43
-16
4
0
0
53
-45
8
0
0
11
24
70
0
0
76
52
-45
0
0
-79
96
35
0
0
5
48
13
0
0
-14
5
-24
0
0
-3
-20
9
0
0
19
-30
12
0
0
-9
-13
-2
0
0
30
-21
52
0
0
-21
22
27
0
0
62
34
14
0
0
-22
81
-23
0
0
83
33
2
0
0
-14
18
-10
0
0
-9
7
55
0
0
27
-24
39
4
16
-5
-83
-14
0
0
31
-4
53
0
0
17
109
-16
0
0
88
55
-25
0
0
-17
32
-57
0
0
-33
4
20
0
0
-19
26
32
0
0
80
-33
-1
0
0
-24
95
29
0
0
-4
53
-15
0
0
-10
-6
49
0
0
-21
17
4
0
0
27
63
-29
0
0
-14
-6
-5
0
0
-1
19
-26
0
0
27
42
-9
0
0
51
57
0
0
0
64
34
-4
0
0
57
-58
30
0
0
8
3
-7
0
0
19
5
-14
0
0
-38
7
18
0
0
-46
0
-1
0
0
2
-32
9
0
0
61
-37
61
0
0
-10
17
24
0
0
31
-59
11
0
0
-2
-6
-32
0
0
16
-13
5
0
0
16
7
20
0
0
17
-21
14
0
0
109
-26
-16
19
31
-152
-54
16
0
0
-18
-1
-4
0
0
-3
46
52
0
0
49
31
-7
0
0
-20
-28
-6
0
0
-53
67
35
0
0
10
-14
-32
0
0
-35
17
9
0
0
5
22
-57
0
0
35
23
34
0
0
25
29
-24
0
0
51
-82
34
0
0
46
78
-10
0
0
17
61
-2
0
0
-4
-1
-4
0
0
34
8
-9
0
0
80
-62
-41
0
0
41
10
15
0
0
-90
88
33
0
0
2
-8
-26
0
0
14
7
-7
0
0
-5
47
-13
0
0
-6
-8
17
0
0
2
-23
-6
0
0
-2
-16
54
0
0
20
-55
1
0
0
2
-18
-10
0
0
7
-42
-6
0
0
59
2
50
0
0
-29
-5
9
0
0
-11
-10
-6
0
0
-38
-79
-61
-12
15
7
13
71
0
0
19
36
28
0
0
24
43
1
0
0
-29
-46
-3
0
0
-18
23
8
0
0
-11
52
7
0
0
13
-4
26
0
0
25
-9
0
0
0
4
38
37
0
0
2
43
-4
0
0
5
-26
-5
0
0
54
-5
-6
0
0
-57
37
3
0
0
-4
-4
0
0
0
0
14
-3
0
0
-3
14
13
0
0
-27
22
5
0
0
34
-23
-1
0
0
33
7
10
0
0
-8
-4
-1
0
0
6
-16
-1
0
0
18
26
1
0
0
21
17
11
0
0
5
-5
-1
0
0
-9
-27
-6
0
0
22
-9
16
0
0
41
-75
-15
0
0
0
17
7
0
0
-26
-70
-13
0
0
-21
82
1
0
0
7
-11
2
0
0
-3
6
-1
-2
17
-31
43
2
0
0
-36
-13
6
0
0
20
68
-37
0
0
-104
96
31
0
0
65
2
39
0
0
55
-65
24
0
0
36
-30
-3
0
0
-10
0
-1
0
0
-11
-35
-2
0
0
95
-5
-14
0
0
67
-16
23
0
0
-26
23
-8
0
0
-54
-21
14
0
0
-6
-3
-1
0
0
5
7
-2
0
0
4
36
0
0
0
-27
68
3
0
0
-54
37
-26
0
0
22
13
25
0
0
-2
16
-2
0
0
27
-14
-1
0
0
4
-14
0
0
0
-9
-44
0
0
0
0
2
-1
0
0
-13
-45
0
0
0
-6
-31
-5
0
0
47
-24
7
0
0
-26
40
-26
0
0
33
-12
-11
0
0
18
-20
-6
0
0
-80
21
-35
0
0
-9
73
-2
-24
2
0
-55
9
0
0
46
13
37
0
0
74
-49
-62
0
0
-44
-3
-21
0
0
109
51
-45
0
0
21
3
3
0
0
-8
5
-5
0
0
7
10
-2
0
0
21
31
-13
0
0
18
5
1
0
0
-20
10
-3
0
0
0
-6
8
0
0
7
-11
0
0
0
0
9
2
0
0
0
5
0
0
0
0
-7
0
0
0
-29
6
-2
0
0
16
36
-5
0
0
-41
1
-2
0
0
4
-2
0
0
0
-32
6
0
0
0
5
3
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
-11
-2
0
0
14
1
0
0
0
5
7
0
0
0
-1
-4
-6
0
0
-7
4
6
0
0
5
-31
2
0
0
-5
-3
2
0
0
-6
-16
1
41
-44
22
-22
-3
0
0
-32
33
70
0
0
49
-14
7
0
0
-46
54
-30
0
0
-5
74
13
0
0
-4
-5
22
0
0
46
17
-25
0
0
-6
44
4
0
0
1
-10
-26
0
0
60
43
5
0
0
2
34
-14
0
0
-6
-2
-8
0
0
105
-20
5
0
0
-10
9
5
0
0
1
-5
0
0
0
0
29
-13
0
0
-50
-14
-7
0
0
-33
6
-11
0
0
-46
-25
6
0
0
-7
2
1
0
0
94
13
0
0
0
0
18
-10
0
0
0
5
0
0
0
-1
10
0
0
0
9
33
-1
0
0
1
-9
10
0
0
-20
-15
15
0
0
-3
22
2
0
0
9
5
6
0
0
-23
10
30
0
0
-8
32
-33
0
0
20
-7
5
-20
3
-9
-5
-11
0
0
-17
30
17
0
0
46
41
-16
0
0
71
-1
-33
0
0
-17
-44
65
0
0
-42
-52
5
0
0
92
-4
-16
0
0
-23
8
2
0
0
74
-5
9
0
0
-32
20
-20
0
0
45
25
32
0
0
55
-49
7
0
0
109
-75
-3
0
0
35
-29
23
0
0
2
0
25
0
0
30
3
10
0
0
-50
71
-54
0
0
-56
28
6
0
0
-38
-7
-45
0
0
37
-3
1
0
0
-52
-15
15
0
0
23
32
0
0
0
-1
45
11
0
0
-2
41
7
0
0
45
-47
5
0
0
4
71
-7
0
0
-2
-18
-4
0
0
-3
4
6
0
0
0
23
-18
0
0
-23
82
11
0
0
1
31
7
0
0
5
44
-6
16
17
-50
-8
8
0
0
-20
74
32
0
0
-7
12
-11
0
0
-16
36
-1
0
0
16
-33
-27
0
0
-5
19
8
0
0
107
-22
32
0
0
5
5
0
0
0
-11
11
-3
0
0
55
-10
14
0
0
17
-59
14
0
0
50
-25
-15
0
0
-1
5
6
0
0
0
21
-4
0
0
-4
-3
-3
0
0
-7
-9
0
0
0
-23
29
31
0
0
45
14
-9
0
0
-43
29
-8
0
0
-23
-10
-3
0
0
5
-18
0
0
0
26
5
1
0
0
-1
9
-4
0
0
-2
-23
-2
0
0
50
-4
-7
0
0
-24
73
-26
0
0
-21
55
5
0
0
0
35
-7
0
0
-4
30
-19
0
0
15
-23
-5
0
0
-7
-15
12
0
0
0
28
15
10
-25
15
-2
1
0
0
63
-67
32
0
0
7
12
31
0
0
-44
29
18
0
0
-22
4
14
0
0
-21
7
6
0
0
34
10
-3
0
0
-6
-1
0
0
0
23
33
5
0
0
9
-40
6
0
0
4
-15
4
0
0
-22
23
-1
0
0
43
-18
9
0
0
3
13
-1
0
0
-1
0
-1
0
0
-3
2
0
0
0
-47
-6
0
0
0
31
-19
1
0
0
3
21
6
0
0
-1
8
5
0
0
-4
-2
-6
0
0
22
-25
-5
0
0
-2
-3
-26
0
0
0
1
-4
0
0
-5
6
8
0
0
0
43
-17
0
0
20
-4
2
0
0
0
7
1
0
0
-1
-23
-3
0
0
1
-14
1
0
0
2
5
0
0
0
17
7
0
6
-40
26
-33
-25
0
0
24
-27
33
0
0
42
41
-87
0
0
-20
-23
2
0
0
79
9
8
0
0
21
96
-9
0
0
-6
-23
20
0
0
-5
-14
-6
0
0
36
33
8
0
0
-9
59
-4
0
0
23
2
20
0
0
33
5
-6
0
0
5
13
4
0
0
0
3
0
0
0
-2
7
0
0
0
-3
14
6
0
0
-38
-20
-20
0
0
-4
46
0
0
0
5
-53
-9
0
0
-8
-34
0
0
0
-54
-16
4
0
0
16
-14
1
0
0
0
5
-5
0
0
-3
-10
3
0
0
0
19
2
0
0
14
10
1
0
0
-8
14
-3
0
0
1
-10
-5
0
0
-90
24
10
0
0
-2
-50
1
0
0
-1
8
-5
0
0
-14
-54
-1
26
9
-90
-72
-37
0
0
14
25
18
0
0
2
4
51
0
0
-9
76
-6
0
0
-32
-13
-17
0
0
52
-11
4
0
0
-35
0
1
0
0
10
-9
5
0
0
-41
27
0
0
0
-10
9
0
0
0
-9
10
-1
0
0
14
20
2
0
0
-37
4
11
0
0
0
-1
1
0
0
0
0
0
0
0
0
-5
4
0
0
52
8
0
0
0
-2
-21
-17
0
0
43
10
26
0
0
2
-6
-6
0
0
16
21
1
0
0
-22
3
-3
0
0
2
-5
0
0
0
0
10
0
0
0
-32
-17
-21
0
0
10
36
0
0
0
-3
6
5
0
0
0
-7
1
0
0
-3
8
-8
0
0
4
-26
0
0
0
-3
-6
1
0
0
26
5
-1
4
1
14
29
-6
0
0
-62
-30
66
0
0
-36
-8
-14
0
0
23
-32
26
0
0
16
-5
-10
0
0
-6
4
-19
0
0
32
46
0
0
0
-3
-2
1
0
0
-50
51
-2
0
0
52
-9
13
0
0
5
-22
2
0
0
4
-25
0
0
0
-89
-45
2
0
0
0
31
0
0
0
-2
15
0
0
0
1
5
0
0
0
17
0
0
0
0
-10
-26
0
0
0
18
-7
-1
0
0
9
-3
1
0
0
-49
11
5
0
0
0
-7
4
0
0
1
0
-5
0
0
0
1
0
0
0
3
2
0
0
0
7
39
-11
0
0
7
-24
1
0
0
-2
-4
3
0
0
-10
-20
0
0
0
-6
22
-3
0
0
6
-31
-1
0
0
10
11
-2
-1
-12
42
1
4
0
0
98
122
-22
0
0
4
17
-7
0
0
3
-14
-48
0
0
-18
80
74
0
0
6
52
-2
0
0
19
19
-4
0
0
4
1
-2
0
0
10
-30
-2
0
0
-10
1
-2
0
0
14
2
-17
0
0
-24
31
4
0
0
-13
2
14
0
0
0
-1
0
0
0
0
2
0
0
0
-1
7
0
0
0
9
-8
0
0
0
13
9
-5
0
0
-37
-21
0
0
0
-4
6
0
0
0
-6
20
-2
0
0
-15
0
-1
0
0
-1
-1
-5
0
0
0
-6
0
0
0
-8
-27
-4
0
0
-1
9
7
0
0
13
1
2
0
0
-2
-10
0
0
0
-2
-3
3
0
0
5
-43
0
0
0
2
20
0
0
0
-17
5
-1
1
-14
21
-23
21
0
0
-57
40
-20
0
0
49
61
-23
0
0
8
18
42
0
0
31
-1
11
0
0
-44
-41
25
0
0
33
-33
-6
0
0
-9
5
-5
0
0
18
26
-10
0
0
-8
-17
8
0
0
18
-47
2
0
0
10
14
-3
0
0
6
-19
-2
0
0
-7
-43
0
0
0
-3
0
0
0
0
0
0
-7
0
0
30
-18
-2
0
0
6
25
47
0
0
-21
-41
-11
0
0
8
37
-4
0
0
-43
79
-1
0
0
-3
19
-7
0
0
-5
-1
-5
0
0
-1
1
1
0
0
-20
-78
-15
0
0
1
1
-1
0
0
-30
4
-1
0
0
0
8
1
0
0
13
-19
-1
0
0
46
15
2
0
0
-3
-23
0
0
0
-20
-25
14
2
27
9
-48
-6
0
0
-23
61
-19
0
0
39
50
3
0
0
9
-123
-3
0
0
27
88
2
0
0
9
43
-4
0
0
42
-60
-7
0
0
-56
7
0
0
0
28
-54
5
0
0
-41
63
4
0
0
-10
-21
2
0
0
-60
13
8
0
0
-88
5
-18
0
0
-35
117
-13
0
0
27
6
0
0
0
-35
5
3
0
0
-8
23
4
0
0
19
-3
9
0
0
22
10
7
0
0
22
-23
0
0
0
27
-11
-20
0
0
34
29
37
0
0
-6
17
10
0
0
10
54
-57
0
0
31
0
2
0
0
27
27
-46
0
0
41
7
-12
0
0
18
9
-28
0
0
-58
50
-33
0
0
-95
20
-27
0
0
26
-14
44
0
0
-39
2
8
13
3
-73
-12
-21
0
0
-40
21
-5
0
0
14
65
-47
0
0
-11
29
15
0
0
35
-13
43
0
0
65
-55
-3
0
0
10
76
37
0
0
-6
-5
0
0
0
-15
16
-27
0
0
-8
-36
1
0
0
5
-36
-3
0
0
-5
57
18
0
0
26
27
19
0
0
-71
53
-6
0
0
-3
8
-34
0
0
-47
138
-29
0
0
56
-98
-51
0
0
7
5
-12
0
0
26
17
-12
0
0
-1
16
29
0
0
-34
9
-20
0
0
-23
-10
-1
0
0
-53
17
-9
0
0
-17
-36
79
0
0
-57
80
26
0
0
8
-71
-8
0
0
-77
-2
-10
0
0
-6
-95
32
0
0
-1
-21
16
0
0
68
-19
-41
0
0
-57
-33
6
0
0
-16
-12
-17
-4
-5
-16
-28
88
0
0
24
82
-19
0
0
5
51
31
0
0
-69
6
-4
0
0
-7
4
7
0
0
3
-34
1
0
0
-45
3
-2
0
0
0
-1
-1
0
0
53
-17
3
0
0
-1
-5
0
0
0
-13
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
-22
0
0
0
24
5
-11
0
0
15
-7
20
0
0
-41
30
-17
0
0
41
45
40
0
0
-19
15
11
0
0
-86
21
14
0
0
25
-53
22
0
0
-4
-35
-82
0
0
-165
-20
25
0
0
10
-30
-43
0
0
-46
-78
74
0
0
-42
-29
-21
0
0
-38
3
3
0
0
-14
-17
-75
0
0
-78
-36
5
0
0
-44
-23
-23
1
1
22
-1
-28
0
0
31
-38
-10
0
0
24
8
1
0
0
48
13
-55
0
0
-43
22
-7
0
0
-2
20
-4
0
0
8
1
-2
0
0
-5
4
2
0
0
60
1
0
0
0
-31
51
0
0
0
9
1
-1
0
0
3
-24
6
0
0
8
-1
5
0
0
-2
5
-2
0
0
2
-23
0
0
0
-2
6
1
0
0
-8
46
33
0
0
-18
-44
-57
0
0
-33
11
-41
0
0
-54
-15
-12
0
0
-12
0
-46
0
0
-22
-13
-67
0
0
-73
-39
-40
0
0
43
15
-5
0
0
-104
-58
29
0
0
-80
-41
38
0
0
41
-2
-57
0
0
-57
77
12
0
0
-15
23
39
0
0
57
18
16
0
0
-74
-24
59
0
0
-56
8
-69
-7
-24
-37
15
-7
0
0
-5
87
34
0
0
60
-18
9
0
0
1
-52
-11
0
0
-24
-16
8
0
0
43
-14
1
0
0
4
-7
-1
0
0
2
0
0
0
0
24
8
-1
0
0
19
-45
0
0
0
14
1
0
0
0
-1
-24
-2
0
0
-13
-14
7
0
0
16
3
0
0
0
0
-20
0
0
0
-4
2
3
0
0
76
20
2
0
0
-3
3
-20
0
0
-30
-9
5
0
0
-56
50
42
0
0
-16
-17
-8
0
0
-55
-12
-99
0
0
29
-44
14
0
0
-45
-18
-14
0
0
72
54
-17
0
0
31
29
-23
0
0
-35
-5
1
0
0
-9
25
61
0
0
99
-31
26
0
0
-5
27
72
0
0
-2
-8
8
0
0
-31
5
-27
1
-2
26
-29
-25
0
0
35
-9
6
0
0
26
2
34
0
0
79
22
-25
0
0
-83
28
25
0
0
13
-16
0
0
0
-8
0
-3
0
0
-2
2
0
0
0
5
9
0
0
0
44
7
-1
0
0
-21
37
0
0
0
-1
21
4
0
0
-48
43
0
0
0
0
-23
-1
0
0
0
0
0
0
0
0
-13
1
0
0
-72
-9
25
0
0
-14
-28
-24
0
0
-30
58
-9
0
0
-29
-36
-44
0
0
-34
-16
4
0
0
-6
-126
39
0
0
61
36
53
0
0
-36
77
-8
0
0
28
32
-80
0
0
6
10
-8
0
0
45
6
13
0
0
-82
-14
-8
0
0
0
10
4
0
0
26
-13
-22
0
0
25
63
-13
0
0
20
-17
19
3
-8
-25
-75
9
0
0
45
67
5
0
0
3
-6
-34
0
0
5
17
0
0
0
72
-87
3
0
0
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
20
-1
1
0
0
0
15
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
-10
3
0
0
-24
-21
6
0
0
52
-37
-85
0
0
-28
13
6
0
0
-21
23
34
0
0
24
13
17
0
0
17
-39
-79
0
0
-17
-5
-50
0
0
14
31
23
0
0
-100
-25
-15
0
0
4
13
8
0
0
-30
-26
-60
0
0
-44
-49
-55
0
0
5
-9
-21
0
0
1
36
-9
0
0
-6
-5
16
-26
-6
-8
-49
13
0
0
-26
-51
24
0
0
-10
-16
-20
0
0
41
-3
17
0
0
-21
36
2
0
0
2
3
1
0
0
0
-2
1
0
0
0
1
0
0
0
-5
5
0
0
0
-4
-20
0
0
0
0
0
0
0
0
-25
-11
0
0
0
-27
46
1
0
0
0
-6
0
0
0
7
0
0
0
0
-2
-4
0
0
0
-10
-15
-3
0
0
-28
-8
65
0
0
-6
-46
-99
0
0
-2
-55
21
0
0
7
26
-50
0
0
5
11
24
0
0
30
-10
-101
0
0
14
-114
0
0
0
-36
-9
-33
0
0
-18
-7
30
0
0
-53
25
-35
0
0
58
33
-37
0
0
53
17
-53
0
0
-8
7
35
0
0
2
1
-26
0
0
-10
-60
-49
-21
-10
-64
72
18
0
0
2
-7
6
0
0
-56
-96
117
0
0
51
17
13
0
0
-31
16
-21
0
0
-30
-28
-15
0
0
-50
13
64
0
0
15
1
1
0
0
-22
19
1
0
0
68
1
-1
0
0
15
-5
7
0
0
11
-39
-10
0
0
32
-63
9
0
0
56
16
-11
0
0
2
-5
7
0
0
11
1
4
0
0
44
81
-6
0
0
25
-52
28
0
0
8
8
-36
0
0
42
5
38
0
0
47
-14
17
0
0
138
29
-22
0
0
-72
76
9
0
0
25
-39
3
0
0
-97
48
-14
0
0
13
12
-4
0
0
25
12
26
0
0
-14
21
-1
0
0
-15
12
15
0
0
-12
-24
24
0
0
-18
7
74
0
0
-16
-19
48
11
-3
-35
8
-72
0
0
-29
56
-3
0
0
32
13
-19
0
0
29
14
-24
0
0
-59
23
21
0
0
89
-5
-1
0
0
-41
-33
14
0
0
-29
5
0
0
0
-59
21
10
0
0
9
14
-19
0
0
39
5
-3
0
0
43
-5
-2
0
0
1
-3
-5
0
0
-15
3
2
0
0
2
-4
5
0
0
-6
20
2
0
0
1
-50
-39
0
0
16
65
13
0
0
-4
-33
24
0
0
0
2
118
0
0
22
-42
-76
0
0
-48
-22
10
0
0
45
-12
18
0
0
64
-78
-29
0
0
-5
15
-46
0
0
3
14
8
0
0
11
58
37
0
0
-11
-12
-13
0
0
-107
14
-31
0
0
9
7
41
0
0
69
9
-60
0
0
50
-5
36
-28
-13
-3
24
103
0
0
12
51
6
0
0
11
-17
-38
0
0
29
58
17
0
0
-134
20
-1
0
0
43
-15
3
0
0
18
-6
-1
0
0
0
-3
0
0
0
4
21
-8
0
0
-2
-10
0
0
0
5
2
0
0
0
-5
2
1
0
0
-3
10
-2
0
0
1
4
-1
0
0
-1
-2
0
0
0
0
-3
0
0
0
55
-3
1
0
0
-37
-23
-89
0
0
30
-57
-12
0
0
-89
-20
-6
0
0
-38
-71
64
0
0
-53
-26
-14
0
0
3
-26
-26
0
0
0
-28
-55
0
0
11
-23
2
0
0
-28
4
44
0
0
4
-10
-37
0
0
159
-1
12
0
0
21
-40
-5
0
0
-21
39
-8
0
0
4
56
110
0
0
62
-46
6
-7
-13
24
10
122
0
0
-27
-42
12
0
0
18
-3
1
0
0
2
46
11
0
0
5
-81
33
0
0
44
-32
33
0
0
-4
11
25
0
0
0
2
-1
0
0
-56
-19
-5
0
0
-20
15
1
0
0
-13
0
2
0
0
-8
3
1
0
0
-25
41
-1
0
0
-1
-3
0
0
0
2
0
0
0
0
-1
2
0
0
0
24
-41
0
0
0
-24
-43
-52
0
0
-9
12
23
0
0
-96
44
-60
0
0
35
-11
2
0
0
3
7
-7
0
0
1
-33
9
0
0
23
-65
-3
0
0
-49
34
-6
0
0
-25
20
-45
0
0
-20
0
31
0
0
-26
-25
-15
0
0
49
-2
5
0
0
-19
-32
68
0
0
65
-12
14
0
0
13
62
-91
-15
-17
55
-101
-53
0
0
57
62
-5
0
0
57
-27
11
0
0
33
-2
11
0
0
-18
33
-66
0
0
-35
52
5
0
0
-32
-4
-34
0
0
1
-6
-2
0
0
91
-22
3
0
0
-18
53
-20
0
0
19
8
3
0
0
-10
-2
-1
0
0
17
15
-16
0
0
-15
4
0
0
0
-7
6
-2
0
0
-14
0
1
0
0
-14
-9
-31
0
0
-34
-11
59
0
0
-26
13
-43
0
0
-14
6
12
0
0
6
-8
-34
0
0
-30
5
-61
0
0
22
-14
-9
0
0
11
-26
23
0
0
-3
25
-33
0
0
35
-25
-7
0
0
33
-10
-6
0
0
0
24
-42
0
0
16
-37
5
0
0
41
5
32
0
0
-51
43
-20
0
0
-10
-91
12
3
-15
5
40
62
0
0
73
-50
52
0
0
15
-44
-47
0
0
3
29
24
0
0
11
33
-3
0
0
46
-33
0
0
0
5
-4
-45
0
0
-2
-1
0
0
0
-69
-10
1
0
0
14
25
-8
0
0
-30
-8
32
0
0
-1
23
0
0
0
11
-44
3
0
0
3
1
-1
0
0
-6
3
3
0
0
1
1
2
0
0
-61
13
1
0
0
-58
-27
-3
0
0
-44
-32
-2
0
0
-62
-11
14
0
0
-36
-6
15
0
0
80
-7
1
0
0
14
-31
0
0
0
2
22
-51
0
0
-77
3
1
0
0
0
-5
62
0
0
-23
16
21
0
0
18
-100
20
0
0
-92
-16
-80
0
0
78
72
-47
0
0
-2
-68
19
0
0
8
52
15
-24
-6
-7
18
31
0
0
53
-86
11
0
0
-14
-25
32
0
0
13
3
16
0
0
45
46
-44
0
0
10
26
0
0
0
15
4
9
0
0
4
4
0
0
0
-91
-13
-4
0
0
-41
2
-2
0
0
-45
17
10
0
0
0
-20
3
0
0
-4
9
-3
0
0
0
-6
1
0
0
0
1
0
0
0
-1
-25
3
0
0
-18
-15
-15
0
0
-6
-81
62
0
0
-1
32
-62
0
0
-86
19
-88
0
0
49
-51
-43
0
0
2
-102
-37
0
0
-9
-8
2
0
0
0
-27
52
0
0
-12
30
-13
0
0
-20
-17
32
0
0
33
-42
-22
0
0
-47
-21
-62
0
0
11
-5
-22
0
0
-9
15
-42
0
0
25
-12
-18
0
0
-18
-20
0
16
7
-31
-6
-109
0
0
-49
62
21
0
0
33
-56
27
0
0
-15
0
-6
0
0
-19
-40
-44
0
0
7
-5
3
0
0
-25
4
-3
0
0
1
-24
0
0
0
4
-31
-18
0
0
-13
-28
18
0
0
-14
-8
-2
0
0
3
-7
-5
0
0
-20
-3
14
0
0
9
-5
3
0
0
0
-8
0
0
0
10
-1
1
0
0
-14
-16
-23
0
0
-23
-41
11
0
0
16
-44
26
0
0
-68
-34
-54
0
0
55
-10
24
0
0
-83
-35
-59
0
0
-31
-5
-45
0
0
-8
5
-6
0
0
-24
-56
-1
0
0
-40
16
29
0
0
65
-27
-71
0
0
-12
-3
51
0
0
-16
-4
-56
0
0
-18
-5
51
0
0
-67
-61
14
0
0
36
-63
-94
4
-6
-16
-63
-133
0
0
32
-6
-49
0
0
30
76
5
0
0
39
4
0
0
0
63
26
108
0
0
10
36
24
0
0
4
48
21
0
0
-26
-34
24
0
0
-33
13
15
0
0
12
26
-5
0
0
-54
-43
1
0
0
-31
32
46
0
0
34
88
-5
0
0
31
-25
10
0
0
0
6
41
0
0
-19
81
26
0
0
42
64
39
0
0
-74
41
-62
0
0
-3
3
80
0
0
-2
27
-4
0
0
-22
14
33
0
0
-4
86
-1
0
0
82
-5
-12
0
0
-18
10
14
0
0
41
-39
60
0
0
29
-24
-10
0
0
-14
28
23
0
0
-47
70
-23
0
0
-3
32
4
0
0
75
41
-5
0
0
11
38
1
0
0
6
3
-20
20
15
-18
32
28
0
0
37
26
4
0
0
2
45
22
0
0
64
71
25
0
0
12
28
-5
0
0
21
-5
87
0
0
46
9
-38
0
0
-27
60
14
0
0
9
-57
26
0
0
81
20
26
0
0
19
65
29
0
0
8
-24
20
0
0
-48
81
4
0
0
-53
81
-5
0
0
14
13
35
0
0
15
-51
40
0
0
1
-31
36
0
0
19
-42
-30
0
0
-8
78
-2
0
0
-1
50
-9
0
0
-7
58
-6
0
0
-29
-15
73
0
0
32
-51
-23
0
0
-2
14
43
0
0
20
-57
22
0
0
55
21
-22
0
0
32
36
31
0
0
-22
9
-36
0
0
92
-19
-15
0
0
55
33
4
0
0
85
-14
24
0
0
37
25
-45
11
4
-31
2
68
0
0
-5
-3
127
0
0
-34
5
-44
0
0
12
-13
-23
0
0
25
52
23
0
0
1
-4
33
0
0
98
28
33
0
0
-4
47
6
0
0
-7
52
2
0
0
-30
14
8
0
0
-44
-37
18
0
0
33
-11
-37
0
0
28
6
27
0
0
-4
43
-3
0
0
-2
12
-32
0
0
9
58
-61
0
0
-87
33
-26
0
0
76
49
-10
0
0
22
11
24
0
0
38
-44
-9
0
0
-24
4
27
0
0
19
17
0
0
0
-29
0
0
0
0
-1
17
4
0
0
-54
35
43
0
0
43
25
9
0
0
32
31
-15
0
0
-13
9
-6
0
0
5
-77
33
0
0
-52
25
-4
0
0
29
18
21
0
0
-82
24
5
23
-6
65
-63
28
0
0
3
35
-49
0
0
47
-34
41
0
0
14
-10
-17
0
0
24
22
-30
0
0
25
0
30
0
0
-15
59
14
0
0
-31
-19
-7
0
0
-3
-11
86
0
0
-45
63
-11
0
0
63
28
-22
0
0
-27
111
46
0
0
46
26
-44
0
0
-8
-21
3
0
0
-7
33
10
0
0
-52
23
-4
0
0
-71
91
15
0
0
39
-5
50
0
0
-58
-18
30
0
0
-8
29
-9
0
0
11
5
-10
0
0
90
12
-5
0
0
-58
-43
-2
0
0
4
-27
1
0
0
-83
-32
27
0
0
46
-4
-44
0
0
14
-18
-21
0
0
9
7
-44
0
0
23
-57
10
0
0
75
-17
5
0
0
-19
53
24
0
0
103
-118
-39
18
7
-32
-72
-48
0
0
12
13
-1
0
0
51
-2
-29
0
0
55
16
-23
0
0
-27
70
-11
0
0
-6
-21
3
0
0
-31
44
61
0
0
2
1
1
0
0
68
12
1
0
0
9
10
-1
0
0
-32
14
6
0
0
14
-10
-2
0
0
-14
4
33
0
0
-8
5
-3
0
0
-6
0
11
0
0
-1
-1
8
0
0
-1
21
5
0
0
-21
5
0
0
0
-15
17
5
0
0
20
-14
0
0
0
31
1
5
0
0
0
7
0
0
0
-8
-4
0
0
0
0
0
0
0
0
-9
-2
2
0
0
-20
17
20
0
0
64
15
-30
0
0
1
-9
-2
0
0
10
18
-20
0
0
20
-22
2
0
0
0
-23
6
0
0
-15
1
-9
20
10
-44
6
-22
0
0
43
30
0
0
0
26
29
-46
0
0
8
-12
15
0
0
-17
-30
6
0
0
-17
-1
-23
0
0
-43
17
4
0
0
17
-11
0
0
0
6
-31
-43
0
0
46
43
2
0
0
13
15
-7
0
0
-14
18
-2
0
0
-11
-3
-6
0
0
9
15
0
0
0
0
14
1
0
0
26
-6
-6
0
0
-38
29
1
0
0
39
-1
-1
0
0
-5
27
4
0
0
-18
-1
-3
0
0
-26
33
0
0
0
-43
4
0
0
0
-1
33
9
0
0
0
4
0
0
0
-7
-2
-2
0
0
-16
27
19
0
0
-19
-11
1
0
0
3
-25
0
0
0
-35
20
-14
0
0
66
-91
-15
0
0
14
-14
-6
0
0
21
3
0
3
10
-71
-67
17
0
0
14
106
29
0
0
-22
-19
26
0
0
-15
-20
16
0
0
60
63
1
0
0
46
19
4
0
0
-33
17
25
0
0
-17
0
-2
0
0
89
-8
-3
0
0
-26
-29
1
0
0
-2
5
-2
0
0
4
-6
-1
0
0
4
-11
-1
0
0
0
0
0
0
0
0
-6
-2
0
0
-4
2
-1
0
0
52
-16
-4
0
0
21
24
0
0
0
-4
-16
3
0
0
-11
2
1
0
0
-10
1
0
0
0
-10
0
0
0
0
3
-3
-7
0
0
-1
-3
0
0
0
-13
-10
0
0
0
1
9
2
0
0
0
33
0
0
0
0
6
0
0
0
-4
16
-3
0
0
-1
2
0
0
0
-4
17
-5
0
0
3
7
0
-27
-19
6
-10
-14
0
0
39
103
18
0
0
-12
2
52
0
0
-59
50
1
0
0
14
18
-74
0
0
-47
48
-5
0
0
91
-28
-3
0
0
-8
-28
6
0
0
56
-9
16
0
0
-8
80
7
0
0
14
9
3
0
0
68
-51
0
0
0
-16
-16
-1
0
0
0
13
0
0
0
5
26
1
0
0
8
20
-3
0
0
-44
-22
1
0
0
-45
-14
-5
0
0
-26
4
24
0
0
21
-15
2
0
0
21
1
8
0
0
-1
-5
1
0
0
-5
33
1
0
0
0
1
0
0
0
-10
-13
-10
0
0
-8
-47
10
0
0
10
-25
-4
0
0
0
-30
0
0
0
14
-17
0
0
0
62
-7
-9
0
0
19
-33
4
0
0
-5
52
8
15
-32
-147
-43
45
0
0
28
-11
10
0
0
-1
40
-4
0
0
-15
33
43
0
0
-27
60
4
0
0
16
2
-2
0
0
47
-9
5
0
0
-6
-6
0
0
0
44
-35
-24
0
0
48
-14
4
0
0
109
-11
8
0
0
13
30
0
0
0
19
-62
29
0
0
-15
-6
0
0
0
2
2
-1
0
0
1
19
4
0
0
29
-16
-5
0
0
-30
26
2
0
0
7
43
-13
0
0
13
5
-5
0
0
17
14
-1
0
0
-6
10
9
0
0
0
19
3
0
0
-3
-24
2
0
0
12
26
30
0
0
16
0
-7
0
0
11
26
-10
0
0
-3
-4
8
0
0
-19
-29
-1
0
0
-24
34
-5
0
0
-1
6
9
0
0
-25
20
2
-8
-25
21
42
7
0
0
49
15
17
0
0
45
-97
-2
0
0
70
74
-13
0
0
-10
16
14
0
0
33
-31
-1
0
0
25
13
6
0
0
-3
-13
0
0
0
-12
-6
0
0
0
19
-6
5
0
0
11
51
3
0
0
-36
-5
-5
0
0
7
-17
-14
0
0
2
10
0
0
0
-5
-8
10
0
0
1
27
9
0
0
-40
-2
-7
0
0
17
-5
0
0
0
-15
-1
-2
0
0
0
2
0
0
0
-36
-1
-4
0
0
-11
-33
0
0
0
3
-4
0
0
0
-2
-5
0
0
0
-35
23
0
0
0
-8
-28
0
0
0
-5
-1
7
0
0
-2
2
0
0
0
-48
26
-3
0
0
6
1
11
0
0
-18
45
-3
0
0
-16
0
5
0
17
-16
21
3
0
0
15
110
14
0
0
14
6
17
0
0
14
71
36
0
0
1
-33
-39
0
0
43
-4
2
0
0
5
-2
-1
0
0
1
-9
1
0
0
-35
53
6
0
0
-42
14
-26
0
0
51
-32
18
0
0
8
-12
16
0
0
2
-24
46
0
0
-1
8
7
0
0
0
-20
1
0
0
0
10
-2
0
0
33
-15
-29
0
0
33
-20
0
0
0
4
23
-5
0
0
-2
0
0
0
0
36
-16
-1
0
0
-5
15
-10
0
0
-3
9
-2
0
0
0
-4
2
0
0
6
-4
-10
0
0
-13
50
-5
0
0
-7
-37
9
0
0
3
-7
0
0
0
8
-7
5
0
0
4
35
1
0
0
0
2
8
0
0
9
-36
6
31
24
-48
26
18
0
0
-52
-14
51
0
0
19
-39
41
0
0
21
45
-61
0
0
14
-16
-56
0
0
14
-12
-3
0
0
-16
22
11
0
0
5
13
0
0
0
-1
22
-7
0
0
102
-50
2
0
0
4
5
5
0
0
-36
-1
-24
0
0
3
-11
-10
0
0
1
8
-2
0
0
0
-4
2
0
0
1
-8
-5
0
0
27
-32
-1
0
0
43
25
8
0
0
-37
43
1
0
0
5
5
-3
0
0
-13
3
0
0
0
-13
-7
-14
0
0
0
-1
0
0
0
0
-6
-2
0
0
41
0
25
0
0
-8
-3
0
0
0
3
-3
10
0
0
-1
-8
-5
0
0
-11
-26
4
0
0
-23
51
2
0
0
-1
-5
0
0
0
1
-22
-2
-12
14
-113
-18
-26
0
0
33
22
-25
0
0
35
15
-9
0
0
-21
60
7
0
0
-32
19
-4
0
0
-3
2
-14
0
0
-8
-1
-5
0
0
0
1
0
0
0
-84
16
5
0
0
-9
1
-4
0
0
30
-10
0
0
0
25
-4
5
0
0
16
-3
2
0
0
-4
-2
2
0
0
0
7
0
0
0
-1
2
0
0
0
19
-2
2
0
0
-2
3
-9
0
0
56
-1
-7
0
0
0
-4
-1
0
0
9
-15
2
0
0
1
18
-1
0
0
0
1
-4
0
0
0
-11
4
0
0
0
-5
-4
0
0
6
1
-2
0
0
0
-2
-2
0
0
0
7
-3
0
0
14
-8
-2
0
0
0
-8
7
0
0
0
-4
-4
0
0
15
1
0
-21
-11
-22
-2
-1
0
0
0
33
-1
0
0
45
-29
5
0
0
19
-35
-4
0
0
-8
-5
4
0
0
-20
20
0
0
0
1
13
-1
0
0
17
1
0
0
0
43
-6
-1
0
0
-15
7
0
0
0
53
36
0
0
0
-5
-1
0
0
0
13
11
2
0
0
0
-2
0
0
0
0
-1
0
0
0
-1
6
0
0
0
14
7
0
0
0
-5
-39
-6
0
0
7
2
5
0
0
-3
-11
4
0
0
3
-18
0
0
0
0
3
0
0
0
-8
-3
-1
0
0
-2
4
0
0
0
-5
3
-15
0
0
-27
37
0
0
0
5
6
0
0
0
-3
-1
-2
0
0
-1
-7
1
0
0
1
-4
5
0
0
-5
13
-2
0
0
-3
9
4
-20
22
-93
9
-1
0
0
-47
-21
32
0
0
10
63
23
0
0
5
55
14
0
0
20
51
52
0
0
4
-33
5
0
0
21
5
7
0
0
-6
-3
1
0
0
-31
53
-25
0
0
-33
17
-8
0
0
-13
-5
-26
0
0
-3
9
-25
0
0
15
13
-11
0
0
0
5
0
0
0
0
-5
1
0
0
6
-17
0
0
0
75
-5
6
0
0
63
-27
0
0
0
1
14
-7
0
0
5
6
-1
0
0
14
-5
-7
0
0
0
-22
6
0
0
1
-11
-2
0
0
0
-3
0
0
0
8
-1
0
0
0
-8
-15
2
0
0
-13
1
1
0
0
-8
-6
-3
0
0
-7
16
1
0
0
-1
9
0
0
0
0
-14
-2
0
0
-15
-21
-3
37
15
30
-31
-10
0
0
18
-19
17
0
0
25
67
-61
0
0
90
-4
22
0
0
7
40
-5
0
0
49
-32
-5
0
0
3
-34
-13
0
0
6
48
-2
0
0
-55
29
-16
0
0
67
-30
2
0
0
-18
-1
8
0
0
20
-21
10
0
0
22
43
-14
0
0
11
-19
2
0
0
1
-3
-2
0
0
-1
-35
1
0
0
-43
5
4
0
0
-14
36
53
0
0
34
11
-3
0
0
-43
-10
-1
0
0
-4
1
-4
0
0
10
20
-20
0
0
-1
17
2
0
0
0
1
-10
0
0
20
-36
8
0
0
1
4
17
0
0
5
-51
17
0
0
5
33
0
0
0
10
11
-7
0
0
-27
-1
-10
0
0
5
10
-9
0
0
-11
-8
-3
2
22
-9
-55
-31
0
0
37
3
0
0
0
14
27
69
0
0
-33
-13
9
0
0
18
52
-53
0
0
-23
-10
5
0
0
35
-48
18
0
0
-5
1
2
0
0
-2
29
17
0
0
52
14
-19
0
0
-28
14
-14
0
0
-11
6
2
0
0
-23
-18
17
0
0
6
81
-10
0
0
7
-25
21
0
0
-18
-13
-2
0
0
0
1
-14
0
0
7
-7
10
0
0
-5
23
-16
0
0
7
7
1
0
0
-7
6
5
0
0
-7
-4
-51
0
0
-35
16
-13
0
0
-48
1
7
0
0
35
25
11
0
0
-30
-1
-9
0
0
-76
-46
45
0
0
-21
-7
-4
0
0
-20
-37
-9
0
0
23
-16
2
0
0
-17
-57
-32
0
0
-43
-2
-44
13
5
-33
1
25
0
0
-22
-20
48
0
0
-4
8
-51
0
0
-59
11
15
0
0
-27
55
52
0
0
49
-5
19
0
0
-21
3
-3
0
0
-27
-11
1
0
0
-39
30
3
0
0
-3
36
-4
0
0
67
-8
2
0
0
-39
23
4
0
0
-1
-9
11
0
0
-33
25
1
0
0
-5
21
-15
0
0
24
17
-7
0
0
-44
14
-15
0
0
5
-8
-18
0
0
3
16
-1
0
0
43
18
-55
0
0
28
2
-20
0
0
-37
29
15
0
0
58
-12
83
0
0
-45
7
26
0
0
-53
-15
7
0
0
6
-68
81
0
0
-9
-13
-62
0
0
22
52
-10
0
0
31
-82
19
0
0
48
-53
56
0
0
-54
-56
76
0
0
48
-30
-55
6
4
-59
-9
-60
0
0
5
30
20
0
0
44
87
-81
0
0
-19
-5
0
0
0
139
-40
-9
0
0
2
3
0
0
0
-1
2
-4
0
0
0
5
0
0
0
39
1
4
0
0
10
-31
0
0
0
-19
7
-1
0
0
4
-4
2
0
0
-5
9
0
0
0
-2
2
0
0
0
0
-18
2
0
0
-4
16
0
0
0
99
57
-1
0
0
-15
-4
-1
0
0
-28
-77
-1
0
0
-13
-46
6
0
0
10
-14
35
0
0
-106
11
-12
0
0
-2
-20
5
0
0
-4
-46
-28
0
0
-124
-10
-53
0
0
39
-29
-15
0
0
46
-69
90
0
0
-55
-21
-42
0
0
-19
-1
-31
0
0
-9
-20
-46
0
0
-49
22
-3
0
0
-61
86
-55
-2
-3
6
5
-71
0
0
-36
10
7
0
0
-48
53
-13
0
0
33
43
-32
0
0
60
-8
-1
0
0
-35
-24
2
0
0
3
1
-3
0
0
3
4
0
0
0
0
-39
-4
0
0
-22
25
-5
0
0
-15
-1
0
0
0
-3
10
0
0
0
-39
9
0
0
0
-8
1
0
0
0
-1
2
-1
0
0
2
-5
0
0
0
-23
-23
4
0
0
-4
8
-4
0
0
23
-65
-30
0
0
-33
-27
-14
0
0
-13
12
37
0
0
13
18
-28
0
0
-7
-14
-90
0
0
33
-12
4
0
0
4
23
-41
0
0
-34
15
13
0
0
153
-36
61
0
0
-45
5
38
0
0
64
26
53
0
0
-58
-24
-18
0
0
-5
33
-15
0
0
14
-77
31
-3
-14
5
59
-28
0
0
18
59
-25
0
0
6
-15
30
0
0
-53
-47
24
0
0
-68
-1
22
0
0
26
7
-27
0
0
76
-43
11
0
0
0
4
0
0
0
-91
17
-7
0
0
-7
30
-3
0
0
24
4
25
0
0
-1
-22
1
0
0
-15
14
20
0
0
2
-9
-1
0
0
1
0
0
0
0
-10
0
0
0
0
42
-19
-43
0
0
8
-12
15
0
0
-31
23
62
0
0
28
-29
-17
0
0
-33
3
-68
0
0
58
-69
-37
0
0
53
-4
-102
0
0
1
5
-17
0
0
110
-16
-44
0
0
58
-6
49
0
0
-20
-1
34
0
0
2
0
-43
0
0
12
111
-45
0
0
43
28
-5
0
0
25
-62
9
0
0
-59
-71
23
-11
-3
30
53
87
0
0
34
-11
27
0
0
42
38
64
0
0
66
1
27
0
0
-52
53
25
0
0
29
26
1
0
0
-24
-25
-33
0
0
0
4
4
0
0
52
-2
-21
0
0
-23
-6
5
0
0
-20
-4
5
0
0
-3
2
1
0
0
-2
-18
-2
0
0
5
-25
-4
0
0
-2
0
-2
0
0
0
5
3
0
0
43
-45
-8
0
0
-3
-32
-14
0
0
-42
-34
32
0
0
26
-14
-63
0
0
-20
15
7
0
0
92
-31
-26
0
0
17
-30
-12
0
0
-13
36
15
0
0
-93
-21
-5
0
0
-21
23
-1
0
0
-74
42
-17
0
0
44
-41
5
0
0
46
-24
-48
0
0
8
6
-16
0
0
-18
-34
23
0
0
83
-53
4
43
12
71
48
-35
0
0
-39
-30
6
0
0
-14
-35
19
0
0
16
2
-8
0
0
13
16
2
0
0
11
-2
1
0
0
3
0
1
0
0
2
4
0
0
0
12
6
-4
0
0
5
7
-1
0
0
21
3
-1
0
0
-13
1
0
0
0
-8
-4
-4
0
0
0
4
0
0
0
0
0
0
0
0
2
-23
-2
0
0
8
6
-2
0
0
-11
-33
13
0
0
7
-31
15
0
0
14
-16
23
0
0
-6
-7
-106
0
0
-87
59
-30
0
0
-52
-19
17
0
0
14
11
-73
0
0
4
8
4
0
0
-84
-33
29
0
0
-10
32
-32
0
0
-1
-38
-22
0
0
-7
-9
-13
0
0
7
-7
14
0
0
2
-42
-3
0
0
-12
10
-8
-30
-1
-19
-19
-46
0
0
10
42
-30
0
0
0
20
27
0
0
47
11
-7
0
0
16
44
-12
0
0
2
4
-8
0
0
33
-9
-6
0
0
-5
-29
-1
0
0
-14
53
-1
0
0
-5
60
1
0
0
5
25
-33
0
0
-3
-51
-3
0
0
-58
-4
-11
0
0
26
-5
-3
0
0
0
-6
-3
0
0
4
14
0
0
0
4
4
0
0
0
-20
-20
-13
0
0
29
-57
3
0
0
51
-32
34
0
0
-30
-17
-113
0
0
14
-46
-35
0
0
-2
-54
45
0
0
-23
-57
-95
0
0
-106
42
33
0
0
-5
-45
68
0
0
-90
-56
6
0
0
-8
52
-64
0
0
28
-1
-9
0
0
33
69
23
0
0
-13
18
17
0
0
-44
14
-17
-10
-8
-9
10
-34
0
0
-35
-5
26
0
0
21
-3
7
0
0
-28
6
-11
0
0
-33
0
40
0
0
-4
-5
-1
0
0
-11
15
-21
0
0
-5
7
0
0
0
61
-11
6
0
0
14
27
-6
0
0
-58
11
7
0
0
-24
0
37
0
0
-91
-1
14
0
0
8
-1
0
0
0
0
-5
0
0
0
0
34
8
0
0
-31
6
18
0
0
8
7
-26
0
0
24
5
-19
0
0
41
-80
13
0
0
43
16
-13
0
0
-21
-40
6
0
0
72
-69
-3
0
0
19
-16
-8
0
0
-64
-86
-47
0
0
5
8
11
0
0
1
-17
-35
0
0
23
-15
58
0
0
10
10
6
0
0
5
25
18
0
0
-7
12
-33
0
0
-32
-8
9
17
-1
36
-26
40
0
0
18
-14
38
0
0
-10
34
-5
0
0
-8
-11
6
0
0
39
-39
43
0
0
-23
7
-7
0
0
31
-54
-11
0
0
2
0
-5
0
0
-59
30
-11
0
0
4
29
7
0
0
44
-4
1
0
0
21
32
-2
0
0
-7
-33
8
0
0
2
1
-3
0
0
0
0
-1
0
0
7
-20
2
0
0
0
2
3
0
0
52
67
-31
0
0
-10
16
0
0
0
-51
14
0
0
0
-59
-53
-10
0
0
-5
-30
49
0
0
-16
47
51
0
0
36
0
7
0
0
-42
41
-4
0
0
-2
9
2
0
0
16
-31
-4
0
0
-57
39
-34
0
0
7
-73
-32
0
0
4
-24
35
0
0
-29
1
7
0
0
49
6
-20
-4
-4
-16
-13
-16
0
0
-8
-32
46
0
0
52
30
-3
0
0
-14
9
-10
0
0
14
33
-38
0
0
-4
18
-1
0
0
10
5
3
0
0
0
-4
-3
0
0
23
-1
14
0
0
-26
-31
-10
0
0
-1
0
6
0
0
8
7
1
0
0
-5
11
2
0
0
3
1
0
0
0
1
11
-2
0
0
-2
5
-2
0
0
50
-30
-2
0
0
16
19
44
0
0
-23
-2
-15
0
0
-12
-20
66
0
0
-24
-91
10
0
0
30
-17
32
0
0
-82
14
-40
0
0
31
-4
-39
0
0
-14
4
-115
0
0
17
-2
-45
0
0
20
-42
151
0
0
-2
-15
31
0
0
34
-47
5
0
0
-18
13
-9
0
0
-15
33
-4
0
0
-25
-9
-22
-21
-23
-3
23
20
0
0
-8
23
-9
0
0
7
21
-58
0
0
-45
-27
7
0
0
0
-50
15
0
0
27
-16
11
0
0
26
8
-5
0
0
0
5
2
0
0
24
-2
-4
0
0
-46
28
-10
0
0
-67
9
-3
0
0
-6
-23
0
0
0
1
32
-3
0
0
0
0
0
0
0
-1
1
-2
0
0
0
-4
0
0
0
13
-1
0
0
0
-10
18
13
0
0
-61
1
-7
0
0
-86
54
-60
0
0
-24
-119
46
0
0
36
-30
33
0
0
18
13
2
0
0
-2
1
2
0
0
-8
19
-61
0
0
4
18
38
0
0
39
60
-10
0
0
72
-24
5
0
0
-59
7
-14
0
0
35
-17
62
0
0
14
-53
17
0
0
22
28
-55
-17
-1
57
-21
22
0
0
21
-29
-23
0
0
-15
-6
72
0
0
10
57
-8
0
0
4
1
-42
0
0
40
-11
-16
0
0
32
-7
1
0
0
-2
-1
4
0
0
33
5
-47
0
0
82
-7
14
0
0
-10
-38
15
0
0
0
-3
-8
0
0
17
-10
5
0
0
3
-4
-3
0
0
0
10
-8
0
0
3
0
-6
0
0
31
-30
11
0
0
-38
34
-7
0
0
-8
29
-71
0
0
-111
19
23
0
0
24
1
78
0
0
-119
-25
33
0
0
-25
-54
17
0
0
5
-22
-41
0
0
-80
17
-1
0
0
-8
26
-21
0
0
-32
59
-34
0
0
-28
46
19
0
0
-15
-27
97
0
0
3
23
-6
0
0
41
97
-6
0
0
26
-141
81
-10
-15
125
5
26
0
0
43
62
-30
0
0
-20
61
-25
0
0
28
36
4
0
0
52
-70
6
0
0
4
16
11
0
0
-33
18
25
0
0
7
5
1
0
0
-17
19
10
0
0
-18
60
19
0
0
-45
23
4
0
0
17
30
-8
0
0
-5
-1
26
0
0
-10
-1
6
0
0
0
6
-3
0
0
0
10
-4
0
0
35
-5
-4
0
0
-17
37
-16
0
0
42
-7
-50
0
0
-99
71
43
0
0
4
-38
32
0
0
-34
-3
-21
0
0
-43
-38
-49
0
0
2
-62
-15
0
0
46
-85
-20
0
0
14
-18
-1
0
0
20
16
48
0
0
-26
-33
6
0
0
20
42
-56
0
0
-27
-76
-43
0
0
-23
53
-55
0
0
6
9
41
-19
10
-32
-63
-8
0
0
-38
3
106
0
0
14
18
-30
0
0
-23
6
1
0
0
24
23
-27
0
0
-5
-4
2
0
0
-37
4
3
0
0
2
-6
-3
0
0
33
-39
-11
0
0
41
52
-14
0
0
64
-32
-3
0
0
13
-46
3
0
0
0
33
-15
0
0
-4
-8
-1
0
0
-7
1
0
0
0
5
-13
2
0
0
73
33
-4
0
0
-13
-7
28
0
0
-41
-30
26
0
0
-24
-72
6
0
0
-43
10
-22
0
0
14
14
-32
0
0
36
-42
-18
0
0
-2
-3
-3
0
0
7
-2
27
0
0
-10
-13
-19
0
0
30
33
-97
0
0
-70
5
20
0
0
-57
-46
51
0
0
-1
-42
0
0
0
3
-49
61
0
0
29
-58
-7
-29
-10
13
25
2
0
0
40
-36
50
0
0
-25
-56
-20
0
0
4
66
-48
0
0
-73
-33
-24
0
0
53
-13
1
0
0
-25
17
49
0
0
19
36
-2
0
0
-24
49
16
0
0
32
-2
-5
0
0
30
19
10
0
0
29
13
-33
0
0
17
-38
0
0
0
52
-11
0
0
0
-11
14
-1
0
0
-9
-24
-17
0
0
-46
15
8
0
0
-44
-19
-18
0
0
-40
-58
-10
0
0
-145
-51
28
0
0
-69
89
-6
0
0
4
18
-7
0
0
-54
-84
-103
0
0
6
-19
-61
0
0
60
-57
99
0
0
-4
-8
-32
0
0
-7
-42
16
0
0
28
30
-7
0
0
-45
16
-24
0
0
73
-16
30
0
0
21
-16
2
0
0
26
-5
9
-14
-8
-124
-118
9
0
3
-7
14
33
0
-7
35
-5
-23
0
1
9
4
7
0
39
12
-23
-3
0
28
33
91
-44
0
17
68
23
-2
0
128
72
24
23
0
23
-11
-48
8
0
-62
28
62
-28
0
105
-25
67
15
0
4
-23
-8
84
0
-33
-27
-49
19
0
-13
16
59
11
0
2
45
-46
-14
0
7
5
25
48
0
-5
42
36
-27
0
8
-1
90
60
0
41
-35
88
72
0
14
110
-90
1
0
-34
80
59
23
0
48
76
39
11
0
-1
-2
21
0
0
0
-34
25
-5
0
18
19
-64
2
0
32
75
87
-48
0
7
37
61
-1
0
0
19
79
7
0
3
-7
15
32
0
46
64
27
-10
0
8
72
0
15
0
30
26
-11
36
12
-7
-41
-5
5
0
-12
18
44
24
0
21
33
-10
-17
0
57
32
29
44
0
56
68
1
38
0
-41
-23
12
73
0
71
64
18
33
0
92
14
8
-11
0
22
-63
-8
67
0
-34
16
22
72
0
-4
19
95
-19
0
5
33
-10
-8
0
6
76
69
18
0
53
52
-18
-37
0
-17
83
-63
74
0
-2
35
-74
7
0
-19
28
29
-14
0
14
-58
2
-21
0
5
-34
10
29
0
-25
13
-71
-2
0
-32
-10
28
-32
0
-1
19
-7
19
0
-2
13
8
19
0
0
5
35
1
0
5
30
48
27
0
-2
72
17
-20
0
62
10
0
12
0
1
24
-40
3
0
9
1
79
-13
0
56
-13
-62
2
0
12
44
58
31
0
-6
-94
25
-2
-4
-176
3
21
-25
0
53
0
50
33
0
11
77
-48
15
0
32
16
26
50
0
-10
50
-45
-18
0
-4
24
24
-33
0
14
42
15
-33
0
32
-46
-36
43
0
24
-22
43
3
0
-5
15
70
38
0
24
45
2
16
0
24
-10
-5
-86
0
-53
-17
51
-20
0
10
-25
14
1
0
7
53
20
-13
0
-73
-33
27
19
0
14
22
37
-18
0
20
46
43
-2
0
11
53
-55
-2
0
-55
-17
1
3
0
16
-33
7
2
0
-2
4
21
-16
0
-4
6
-23
-13
0
6
-2
22
-4
0
-1
-27
-13
7
0
33
31
13
5
0
-19
44
-5
-8
0
-3
13
20
4
0
8
-52
5
2
0
26
-28
65
-63
0
1
41
-33
11
0
35
33
5
-2
-16
-54
19
2
-36
0
-2
1
-12
-19
0
-5
83
-51
-101
0
62
51
-10
-22
0
17
11
6
35
0
-20
-4
-49
22
0
37
45
-15
47
0
71
-33
35
18
0
-1
-5
22
-22
0
36
72
-1
15
0
22
-66
47
22
0
-92
47
63
-20
0
2
-53
25
18
0
-8
22
18
57
0
48
-62
-15
-51
0
26
14
54
26
0
32
-39
88
-101
0
45
-35
21
8
0
-8
-15
45
13
0
6
-46
43
-2
0
41
-25
38
1
0
0
2
20
0
0
3
7
-58
-1
0
2
-31
-43
-4
0
-22
-6
-16
0
0
-20
28
37
3
0
15
-34
-47
-8
0
-2
-73
19
-32
0
-16
31
-26
-33
0
-4
-59
-32
-43
0
-27
12
-25
9
0
49
50
64
-9
1
-111
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
60
0
4
16
43
-6
0
-19
-5
23
-10
0
-4
16
1
-28
0
80
21
63
-8
0
-24
20
21
91
0
33
-9
-27
2
0
28
47
-73
-23
0
106
-79
49
15
0
-95
-11
11
-25
0
14
49
-13
30
0
74
56
8
-43
0
72
26
-1
-48
0
-20
3
27
14
0
0
0
13
-7
0
-16
-1
-8
-4
0
-10
-13
83
14
0
-60
53
34
-46
0
43
4
2
-3
0
-9
5
0
-2
0
86
-32
-19
6
0
-47
21
102
-7
0
-7
0
17
2
0
43
-27
1
5
0
52
-11
-9
46
0
35
48
5
95
0
-19
56
15
27
0
80
-63
-6
5
0
-16
70
40
71
0
-14
27
-9
24
0
-67
20
15
-17
0
-18
-14
20
-21
0
5
21
-6
28
0
-44
76
2
-17
0
-67
88
-9
20
0
21
-43
-29
62
0
36
-59
90
-8
0
-53
-41
-16
62
0
10
-25
8
-7
0
-23
-32
-7
-20
0
41
47
12
-49
0
36
-55
67
1
0
-47
50
-37
19
0
4
23
-15
24
0
11
19
-12
4
0
-5
13
82
14
0
0
-19
1
0
0
-37
27
11
-7
0
0
17
-17
-2
0
95
-80
-52
8
0
-18
41
-32
0
0
14
62
42
-19
0
55
72
3
1
0
-23
7
-20
0
0
0
-9
-8
-3
0
-23
44
24
6
0
3
-44
30
1
0
-10
49
-64
9
0
13
-3
47
5
0
25
20
-24
-4
0
58
-5
-4
-36
0
70
-33
45
6
0
14
14
-81
-13
54
-8
-29
20
-37
0
-31
-47
29
-1
0
-129
20
0
92
0
-10
34
8
18
0
14
-11
-5
-8
0
35
-2
22
3
0
50
-46
82
-3
0
9
-32
36
-7
0
16
-49
-29
-9
0
7
14
53
6
0
65
5
27
-50
0
5
-11
-10
-5
0
-1
-14
32
3
0
-9
65
17
-10
0
-13
-7
-9
3
0
0
11
-7
1
0
-43
-5
-41
0
0
-32
-36
-9
4
0
-19
-22
16
16
0
2
1
14
0
0
3
-22
-36
7
0
29
0
-26
0
0
-7
-7
-10
0
0
-1
22
-9
0
0
0
-11
11
2
0
2
4
30
4
0
15
7
-21
29
0
11
-21
-1
-33
0
43
30
14
-2
0
0
-46
-2
-6
0
7
20
-4
-1
0
21
18
-29
1
15
-32
74
-2
8
0
46
7
-30
-3
0
-14
12
71
-72
0
14
69
47
4
0
30
37
-24
20
0
-5
-20
5
14
0
-1
14
-44
1
0
-8
-27
50
2
0
55
-80
19
-21
0
7
62
45
-51
0
-49
-9
8
6
0
23
90
-52
-17
0
-4
-23
-54
-6
0
-5
-23
23
8
0
0
-29
15
0
0
-2
66
-35
-13
0
-21
-43
33
30
0
-33
-23
-10
7
0
-30
-11
-26
18
0
4
-64
26
-1
0
-32
9
35
20
0
-2
-14
-10
0
0
1
5
5
0
0
0
-9
1
1
0
5
-17
21
-2
0
-33
18
33
-3
0
-15
-25
-17
-14
0
-27
34
5
-2
0
31
47
8
-15
0
2
5
-1
9
0
-4
-53
5
15
0
-6
2
-34
1
-12
8
113
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-14
0
43
-24
24
-18
0
-22
41
8
24
0
60
-14
-26
5
0
1
41
-33
14
0
-6
-1
8
7
0
48
11
13
-3
0
-48
57
-16
5
0
112
31
7
-5
0
2
18
-44
90
0
-43
32
-29
-29
0
76
10
32
26
0
20
-34
15
41
0
8
75
-7
-2
0
-50
42
15
24
0
-5
1
-4
-43
0
4
3
6
20
0
-6
9
18
-1
0
-13
-3
2
40
0
-10
1
48
5
0
31
42
-23
7
0
-50
-8
34
-15
0
39
-86
-15
-72
0
-109
-47
28
-10
0
4
57
-27
34
0
-40
-34
56
-15
0
-21
-24
19
-42
0
-40
77
-67
-72
0
33
-25
43
-79
0
18
22
7
-73
0
21
-10
-27
37
-1
-6
-30
-59
11
0
-58
31
58
43
0
34
37
33
-20
0
10
-38
-11
-15
0
2
3
16
69
0
16
-50
-22
21
0
-49
79
15
-26
0
-2
34
-8
-7
0
18
3
29
-43
0
49
-46
53
33
0
8
-9
23
14
0
25
-35
47
-17
0
59
-7
-32
38
0
-33
15
19
10
0
1
9
54
-5
0
-8
12
7
0
0
-42
29
-5
3
0
1
1
14
15
0
10
6
-27
-30
0
15
33
-14
13
0
10
12
-20
0
0
-45
-23
75
-57
0
5
-31
18
-84
0
-106
3
-56
61
0
-69
-28
17
89
0
65
50
58
-43
0
-65
-37
-4
63
0
-89
35
-47
20
0
-35
-4
65
-9
0
9
47
-25
55
0
55
55
58
-4
0
41
-85
4
-105
3
-37
-78
2
-97
0
58
-5
47
0
0
-69
-24
31
-44
0
-81
43
9
11
0
33
-9
3
31
0
-59
-22
5
9
0
5
-3
-9
0
0
-5
-5
4
0
0
69
-7
-8
-10
0
12
30
4
3
0
-24
30
9
-10
0
-7
-32
-5
20
0
-14
-34
54
3
0
9
-18
1
-2
0
0
-47
26
-1
0
-8
-10
-21
-2
0
14
2
-6
-11
0
-28
8
-3
-32
0
-1
25
-19
-19
0
48
-19
-38
6
0
15
-21
-22
3
0
28
-19
71
-2
0
3
-11
-75
23
0
-4
22
25
3
0
37
-50
-31
-22
0
42
61
53
45
0
-26
-28
18
-70
0
-57
-90
41
-76
0
-22
47
7
-47
0
-48
-23
11
-10
0
14
6
-51
54
0
4
7
-60
36
15
27
-139
-113
12
0
-51
1
0
-43
0
-29
-40
26
-47
0
4
8
-5
5
0
-5
62
21
48
0
35
5
6
0
0
-27
-36
52
-17
0
11
-33
-7
0
0
-102
48
-14
6
0
-55
14
22
45
0
-50
67
-49
-10
0
13
-3
-23
22
0
36
-77
75
-9
0
-1
-4
-7
-5
0
-14
24
-34
3
0
-7
14
14
-11
0
28
38
-70
22
0
-10
-24
-24
-54
0
9
-32
-24
-41
0
-55
-3
-36
33
0
19
-20
-83
-54
0
48
74
-4
21
0
2
6
-34
-20
0
40
-64
-30
-122
0
-79
34
-73
-71
0
-120
-106
23
7
0
-35
32
-5
104
0
71
-37
-27
50
0
-32
-48
38
45
0
5
-10
-47
38
0
-25
-38
-12
22
0
-89
53
-59
-43
-21
-52
-83
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
16
55
0
13
70
-53
39
0
-39
27
6
25
0
-6
29
1
-5
0
58
21
-7
-1
0
-30
14
-10
-22
0
73
6
-7
0
0
63
-54
13
-3
0
82
14
-23
21
0
6
17
-19
63
0
-8
49
51
-25
0
-9
-33
6
2
0
63
88
30
-14
0
71
38
21
-10
0
82
-46
-21
8
0
-3
15
15
-14
0
16
-12
11
-7
0
-27
-28
-45
74
0
8
-27
109
23
0
-93
50
6
-90
0
-54
17
11
33
0
-17
-47
-34
0
0
-42
-68
-13
-32
0
-103
-48
-15
42
0
24
19
-1
4
0
-8
-20
10
-5
0
-15
12
16
39
0
-100
-29
-5
-14
0
38
13
-18
-26
0
-100
-4
29
-27
0
-166
7
6
-3
4
-53
-13
-19
5
0
-22
-35
62
6
0
30
10
-19
-4
0
-46
81
-25
-2
0
15
-12
-18
-8
0
-34
24
9
-8
0
0
8
-22
4
0
18
-14
7
3
0
-4
43
24
0
0
-52
-14
4
-18
0
32
-11
58
-12
0
-7
28
-40
3
0
-44
49
1
-17
0
-15
56
-47
-6
0
22
14
-5
-14
0
0
-15
-35
-4
0
1
52
-54
24
0
-4
18
-66
37
0
17
-48
36
41
0
77
-31
39
36
0
-38
-82
-35
7
0
-1
26
-15
22
0
50
-56
-50
48
0
14
-14
45
45
0
-85
-3
19
-20
0
11
-6
16
1
0
43
-12
-45
40
0
32
16
68
-30
0
-19
-45
28
28
0
-26
7
28
-53
0
-79
-10
-27
-14
0
21
19
-6
7
-9
-75
4
24
27
0
39
35
15
19
0
-18
-61
-18
-1
0
2
3
14
-1
0
24
-31
-7
-7
0
6
7
-4
-1
0
2
1
39
0
0
26
-1
6
0
0
-44
11
6
1
0
33
61
-16
0
0
2
-31
6
7
0
18
-31
1
4
0
29
-24
-7
-5
0
34
-1
9
-13
0
-43
1
29
-3
0
-25
-6
-13
-1
0
-100
16
-39
-14
0
-95
42
17
62
0
70
-96
-16
-59
0
-56
47
-27
-75
0
-46
10
19
-33
0
30
9
80
-61
0
-14
14
23
-54
0
1
-37
89
-27
0
32
-39
-36
-8
0
-24
7
22
89
0
-79
-83
10
-53
0
-14
5
4
17
0
23
-1
-36
52
0
29
-44
-2
-52
0
-7
-43
-20
-18
0
80
94
-41
-53
17
1
44
-45
-87
0
-31
-42
-11
0
0
30
-81
75
20
0
-6
-2
-19
-4
0
24
-39
0
-13
0
-34
-5
1
0
0
52
-14
25
2
0
-20
-33
-2
-3
0
-15
6
24
0
0
3
-14
-33
3
0
17
25
-22
2
0
-2
7
-34
-2
0
-7
4
41
6
0
21
22
3
0
0
-18
6
-1
-4
0
-25
-17
-3
0
0
24
40
-47
20
0
-62
2
-99
-18
0
-19
-22
-9
-14
0
-47
83
11
-26
0
-158
-46
5
19
0
-69
-32
61
-7
0
45
-109
15
-14
0
55
-46
9
24
0
-69
-25
11
-80
0
15
-32
3
-19
0
-62
-38
-14
29
0
-14
8
-52
-23
0
-6
33
-33
-35
0
23
-27
21
73
0
42
-40
74
-69
0
20
-11
-16
28
-50
-52
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
8
0
15
46
11
-17
0
8
21
-71
-35
0
71
7
-25
19
0
10
71
15
60
0
52
94
4
82
0
-65
8
4
37
0
36
43
2
-32
0
-74
30
-29
-21
0
76
8
60
-11
0
8
22
48
67
0
14
62
-34
43
0
39
21
-22
9
0
0
27
-15
-53
0
-7
-25
37
24
0
78
-76
23
9
0
19
-38
12
22
0
4
-14
51
45
0
1
8
4
8
0
73
-11
27
11
0
-34
65
100
24
0
4
18
3
2
0
0
-2
-7
5
0
0
5
46
-7
0
-62
53
100
-57
0
9
26
21
45
0
3
43
34
7
0
-2
-2
17
19
0
-2
61
28
-32
0
-1
-38
44
83
0
17
-67
54
76
7
33
49
0
-12
0
31
-1
33
27
0
14
29
28
12
0
20
21
118
-41
0
61
27
57
-57
0
62
14
-11
23
0
50
35
22
75
0
2
56
-5
52
0
-39
111
7
28
0
93
116
-55
11
0
-12
66
115
24
0
-33
-4
23
-1
0
68
-24
-44
165
0
11
-37
52
26
0
2
90
53
28
0
17
-7
-32
-7
0
16
53
41
-8
0
141
0
32
-2
0
-14
-63
1
64
0
5
-14
-8
-8
0
-58
83
25
-1
0
-11
22
31
6
0
3
16
89
3
0
1
-16
7
-6
0
-5
-24
9
-4
0
-5
-36
50
-19
0
24
1
-98
20
0
1
-46
103
-1
0
-14
-62
31
2
0
65
28
-5
9
0
30
-16
7
27
0
-16
60
-34
-17
4
-101
-34
20
-26
0
12
34
1
-27
0
-9
15
72
2
0
34
4
68
31
0
-14
40
-23
43
0
67
99
26
-10
0
28
32
25
22
0
38
-48
26
18
0
28
3
19
-12
0
40
-15
-4
-26
0
9
-3
14
-3
0
-2
30
109
13
0
-17
42
62
-7
0
3
17
14
13
0
-1
-11
-15
-17
0
9
-32
-52
14
0
-37
14
5
10
0
46
-35
25
20
0
14
15
-30
-14
0
1
-13
-75
0
0
-10
1
34
-6
0
-5
13
15
-3
0
0
-11
-7
-2
0
3
3
50
-4
0
0
-26
-10
4
0
14
-21
-47
11
0
8
-18
-19
5
0
-2
-83
8
-29
0
15
27
-1
14
0
14
12
-60
6
0
1
57
-14
5
0
6
17
-1
27
19
-44
5
-38
-11
0
-40
5
5
43
0
-4
-43
75
14
0
9
-7
127
-28
0
20
26
-21
34
0
21
-51
33
13
0
-6
-74
-16
33
0
9
-6
-15
-33
0
34
14
-49
-20
0
-5
32
23
-18
0
86
46
-14
-23
0
-5
2
-40
-20
0
5
32
15
-46
0
-5
33
-22
-4
0
11
49
5
16
0
-2
42
26
-15
0
-7
53
-20
23
0
3
-10
70
13
0
-42
14
-69
-7
0
-3
-14
-9
0
0
-29
85
-35
18
0
0
1
-4
3
0
0
2
-18
-2
0
10
-1
1
-3
0
0
-3
20
-4
0
-3
-10
17
-3
0
-18
34
25
1
0
0
-6
32
-22
0
-6
-2
31
8
0
6
8
-7
-13
0
-12
54
-64
-17
0
48
10
-47
43
-12
-105
-29
80
71
0
7
-62
47
56
0
15
-36
40
88
0
2
-16
37
-10
0
-25
29
-6
3
0
-49
32
4
4
0
88
4
-9
12
0
117
-40
6
5
0
108
-78
30
0
0
101
3
-9
9
0
23
2
-42
28
0
16
3
6
4
0
41
-20
-18
1
0
-14
86
67
2
0
0
10
-34
27
0
1
-47
5
-1
0
-31
9
-3
25
0
-16
13
17
25
0
48
35
-38
-19
0
-6
-8
8
2
0
-36
26
1
-3
0
14
43
19
1
0
0
0
10
-2
0
0
0
-3
0
0
1
-19
7
0
0
-7
-24
54
1
0
-7
6
26
-3
0
0
4
-15
0
0
0
-1
5
0
0
-45
52
24
-13
0
1
8
31
-2
0
23
18
-33
0
-2
49
45
22
3
0
-3
7
24
9
0
-6
43
-23
0
0
38
32
-45
36
0
19
14
46
-14
0
22
20
-16
-26
0
39
-14
-71
39
0
129
-59
-7
15
0
-1
-12
-32
6
0
-5
-5
80
27
0
-21
-33
-3
28
0
7
13
16
-3
0
-58
3
31
-1
0
4
43
38
-14
0
59
24
37
-7
0
-3
19
-23
-6
0
-5
30
51
4
0
-49
17
-45
-6
0
5
15
60
19
0
-9
-1
6
0
0
53
-4
-20
-4
0
-42
15
-51
0
0
6
-34
54
3
0
0
0
-4
0
0
-4
9
0
1
0
-4
-16
24
14
0
14
3
53
-29
0
0
-1
-33
0
0
-2
0
-7
-2
0
49
-18
-42
0
0
-13
15
-2
11
0
7
11
2
0
-24
31
-77
-8
0
0
68
21
-30
-26
0
-11
-67
69
-51
0
-32
55
23
16
0
74
60
75
-65
0
32
39
-43
-7
0
-34
7
24
-16
0
-5
26
17
1
0
-12
-65
26
11
0
-31
64
11
-2
0
-15
13
-13
1
0
25
10
-27
3
0
-9
-14
-7
2
0
2
-18
3
-7
0
0
1
-25
-1
0
3
-5
14
-2
0
-11
-2
0
-9
0
-5
23
33
-2
0
-8
-55
13
-1
0
0
0
-2
0
0
7
-2
-3
0
0
2
0
11
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
1
-1
0
0
14
-25
2
0
0
1
2
-1
0
-9
0
0
3
0
0
-7
-34
1
0
0
22
-8
3
0
-6
3
-15
-2
41
-22
-15
-3
-1
0
44
4
66
39
0
89
-38
21
-49
0
-44
24
-16
85
0
54
-36
-12
5
0
47
43
-4
-5
0
-66
34
102
3
0
33
-1
79
2
0
43
42
-38
1
0
-16
59
-13
27
0
-68
-71
5
-46
0
-13
-1
11
17
0
-11
-50
-3
-11
0
-2
13
-10
0
0
19
37
3
-13
0
-4
10
9
-10
0
-13
2
-19
-6
0
36
-17
-80
17
0
7
24
5
-11
0
13
-24
45
10
0
27
45
51
-3
0
3
4
-21
3
0
-1
-21
0
9
0
0
3
0
0
0
-7
44
0
0
0
-8
-17
-7
-3
0
-4
-3
-1
1
0
0
1
14
0
0
4
-14
0
-11
0
2
-18
29
2
0
-2
-27
2
10
0
-8
-44
22
0
-20
-4
31
0
0
0
-13
41
55
58
0
24
5
39
29
0
81
56
11
27
0
14
53
-23
53
0
-51
-14
23
41
0
-14
-26
6
25
0
53
10
2
-18
0
-24
4
24
3
0
-52
1
0
77
0
-26
-30
72
-35
0
44
14
33
-6
0
-7
75
16
-33
0
10
-33
-21
23
0
-1
43
101
5
0
1
86
-30
-15
0
16
23
1
-4
0
-61
-30
-23
-2
0
10
-5
26
-57
0
9
-6
-24
0
0
21
-1
2
0
0
-5
-15
0
5
0
0
4
-3
-1
0
0
2
1
-2
0
1
-29
2
0
0
86
-9
17
-5
0
-17
43
80
-14
0
0
6
-5
0
0
-5
-8
43
-4
0
29
1
-38
8
0
0
5
52
-5
0
-26
31
-18
4
16
-6
-81
-3
20
0
-24
-1
-7
122
0
14
17
-32
-5
0
80
32
-98
1
0
34
29
4
-4
0
-8
50
-20
5
0
-2
24
60
-32
0
-54
14
24
0
0
62
15
8
6
0
-4
13
123
33
0
-20
-12
19
43
0
71
-13
-59
-25
0
12
-41
22
-24
0
27
47
-15
-9
0
-43
62
16
-17
0
-32
14
-18
-5
0
45
-36
-55
8
0
14
2
37
1
0
-46
-76
18
-6
0
1
6
-4
0
0
-31
16
-4
-3
0
2
-2
9
2
0
0
5
14
-9
0
0
-1
1
0
0
14
4
0
-2
0
-10
90
72
-4
0
-2
-27
-16
43
0
0
-25
7
-1
0
-43
18
-1
5
0
-4
95
80
-11
0
51
-24
6
-23
0
5
-33
32
0
10
-24
32
-2
-31
0
131
30
-44
16
0
5
3
24
53
0
61
-30
-37
13
0
65
-16
48
-5
0
-70
59
24
8
0
-26
-9
3
-3
0
13
-19
-13
0
0
5
14
-8
4
0
-33
-37
14
17
0
-14
102
14
30
0
-31
58
-47
1
0
12
111
79
-32
0
0
-8
-20
4
0
0
16
-11
0
0
-17
0
34
26
0
14
34
6
-8
0
60
47
2
1
0
-35
-3
1
-1
0
-6
3
3
2
0
-29
-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
14
8
-2
0
-10
3
4
-2
0
-1
-11
6
3
0
-10
-3
-4
3
0
6
-2
-20
-2
0
-8
-8
25
-7
0
46
-14
-6
-9
6
-15
22
-15
-24
0
-61
-7
98
-54
0
-23
-16
-25
-54
0
-60
33
-41
39
0
34
30
53
-25
0
-43
-52
20
-7
0
26
-29
19
2
0
46
-4
10
1
0
116
-5
45
-3
0
17
54
-15
-16
0
77
-31
8
-13
0
87
-44
-49
-5
0
20
-38
-71
47
0
-9
33
3
5
0
21
8
-44
7
0
5
24
-29
-1
0
-18
3
-11
-23
0
-9
0
5
3
0
-10
2
-1
-7
0
0
-25
-8
0
0
-119
5
13
-2
0
-7
-2
-1
0
0
1
2
-2
0
0
0
0
0
0
0
-2
33
-2
0
0
-2
32
14
3
0
15
1
-2
-6
0
1
9
1
0
0
-12
-5
-22
4
0
5
-36
24
0
0
-7
-27
13
-6
0
-29
-15
-17
0
26
-3
5
-24
-33
0
-29
10
23
31
0
-14
45
-5
22
0
-85
39
71
4
0
1
8
-7
4
0
62
-59
-14
-8
0
0
13
-23
-3
0
26
-4
43
0
0
32
-24
10
4
0
21
49
43
-3
0
-70
37
3
-4
0
-6
49
32
2
0
-96
22
-8
0
0
45
37
-13
1
0
6
-21
0
0
0
-3
-31
9
2
0
8
-15
35
1
0
-37
0
8
7
0
114
-5
-43
-3
0
-5
-5
24
2
0
5
3
1
1
0
-6
25
-9
4
0
0
-1
4
0
0
-2
2
1
1
0
0
-25
-2
0
0
9
51
27
-9
0
0
6
3
0
0
0
2
-2
0
0
-2
-9
1
0
0
3
-24
-22
-10
0
1
16
0
10
0
-5
-1
0
0
4
-14
-14
-6
-1
0
12
-29
89
47
0
-6
18
21
12
0
-66
14
74
-8
0
-53
30
-4
11
0
-26
-1
6
4
0
0
1
-39
5
0
52
-5
-9
0
0
24
-57
-32
6
0
19
-35
3
-37
0
6
18
44
-4
0
24
-6
-62
5
0
7
0
-20
-8
0
14
-51
48
-3
0
-14
-35
-5
-4
0
0
-7
-10
1
0
4
-29
-7
5
0
7
-14
59
-15
0
-51
5
-8
18
0
0
-2
-3
0
0
-35
-14
-14
6
0
11
-4
11
0
0
1
-8
-27
-4
0
0
5
0
0
0
0
0
-1
1
0
2
19
-24
4
0
-7
23
-10
-1
0
0
5
-4
-6
0
4
2
1
0
0
5
19
-21
0
0
2
0
3
2
0
0
6
-4
2
-1
11
-4
0
-4
0
18
53
80
-25
0
27
29
71
-3
0
5
56
-22
33
0
27
-48
31
16
0
-48
36
104
22
0
13
-2
35
-4
0
13
0
-34
-1
0
-41
41
-6
1
0
-35
-22
73
14
0
-14
-22
21
-11
0
3
-58
15
-2
0
-5
-3
21
-6
0
-3
19
-29
0
0
0
-7
32
0
0
-1
-22
10
2
0
-43
4
19
0
0
34
74
-17
8
0
14
-7
22
-34
0
-15
-5
-25
2
0
10
-1
4
-5
0
0
0
-4
-1
0
0
0
-20
1
0
2
0
-1
0
0
1
0
4
0
0
3
-16
11
-15
0
-1
1
-11
-6
0
0
1
-24
-1
0
5
1
0
3
0
3
29
-23
-7
0
0
0
-4
0
0
-5
-11
5
0
1
37
-6
1
3
0
42
-24
82
16
0
1
-7
5
-12
0
-46
35
-9
8
0
-58
10
29
5
0
-18
-7
12
26
0
19
6
-44
-14
0
-18
14
-8
0
0
37
-16
18
4
0
26
-19
24
-14
0
59
-41
-15
45
0
-15
27
-63
4
0
41
-57
-3
4
0
0
-16
-27
2
0
-10
-43
-18
0
0
-4
10
-8
0
0
-40
24
14
-11
0
61
16
-22
-32
0
-23
71
-62
4
0
-10
45
15
-8
0
-27
-53
24
-8
0
9
11
8
4
0
-6
-17
37
-3
0
0
-7
4
0
0
-20
13
-19
2
0
1
35
4
-11
0
10
-21
-16
18
0
1
25
3
1
0
3
-19
4
-7
0
0
14
-22
-4
0
3
1
-2
1
0
2
5
-10
-1
2
-20
2
-44
15
0
-9
36
7
56
0
25
-62
28
-36
0
3
12
7
-32
0
26
11
-31
14
0
6
-32
95
0
0
-2
33
1
-15
0
30
-21
-6
1
0
-2
8
26
21
0
49
4
-8
0
0
-10
32
-5
1
0
1
20
-9
0
0
4
0
-5
8
0
4
-68
-4
50
0
-1
5
15
2
0
18
-32
-55
6
0
2
-76
71
29
0
8
3
0
21
0
9
1
19
52
0
16
63
-2
-55
0
-15
-24
33
-50
0
8
19
45
14
0
17
60
17
22
0
0
-43
-1
-53
0
-39
3
-4
-39
0
24
-8
25
-25
0
-23
73
-5
-5
0
58
42
68
0
0
112
-8
31
-43
0
76
30
-45
-53
0
-7
-30
-3
-16
0
10
41
-68
-53
13
-55
-1
-10
-18
0
29
-30
33
5
0
6
62
-73
-1
0
-29
-29
10
-1
0
66
23
-24
34
0
-26
70
1
-5
0
-5
40
-2
-1
0
3
-20
9
1
0
31
22
7
-22
0
17
-4
11
4
0
26
-1
62
-10
0
0
-3
-3
1
0
26
6
23
-15
0
-53
-2
7
0
0
-16
40
-2
-1
0
-27
-1
43
5
0
-29
-14
-2
32
0
-16
-4
-13
-5
0
-11
2
3
9
0
-48
33
-26
-8
0
-6
-54
19
-93
0
-34
-4
41
-25
0
13
-50
-84
108
0
-1
44
-26
-41
0
-4
24
-23
-46
0
-63
-84
-8
52
0
59
-65
51
-43
0
-16
124
-80
-11
0
56
-11
87
-6
0
34
-13
-80
18
0
14
78
14
-8
0
50
-33
-50
10
-4
-68
-19
66
49
0
-74
-37
92
-3
0
-20
37
-1
-3
0
-13
45
-83
0
0
36
-17
5
15
0
3
-46
-9
13
0
27
-2
11
-18
0
-27
-2
7
-1
0
-35
-13
-37
-14
0
27
6
4
3
0
0
3
-7
0
0
-1
-14
5
4
0
2
1
3
0
0
3
26
-3
0
0
6
-8
25
-3
0
32
12
-13
0
0
30
13
-29
5
0
-12
-14
-11
-7
0
3
14
107
-77
0
9
-6
-19
-73
0
-3
-81
-14
3
0
-9
44
42
14
0
19
-3
-21
31
0
68
-57
-76
81
0
-18
4
3
-5
0
43
23
-18
8
0
-21
-33
90
32
0
-27
35
-60
-8
0
-135
69
-74
32
0
-23
-43
-37
82
0
2
20
14
-25
0
-53
-68
-23
-40
1
-66
-53
24
2
0
-8
27
30
-6
0
-58
-3
20
3
0
1
-13
33
-3
0
-23
4
17
-14
0
4
-66
64
2
0
-73
-55
45
9
0
-4
23
-19
4
0
0
-49
-6
-19
0
1
5
-3
4
0
7
17
1
-6
0
0
-1
-1
0
0
18
54
13
-23
0
-5
7
9
-1
0
5
24
-4
0
0
1
-19
-14
1
0
20
82
-48
5
0
-28
-21
-50
-69
0
-15
-50
7
-42
0
-24
4
-60
-16
0
-11
-28
-47
-50
0
-43
-74
-56
104
0
-40
-5
-25
-115
0
-61
45
-45
-82
0
-62
-121
-3
-33
0
106
40
67
28
0
23
-66
48
-71
0
-15
18
-12
81
0
-89
-20
-14
65
0
-26
-171
9
50
0
7
-20
-12
16
0
16
19
-81
-32
-7
-2
-57
39
-12
0
-69
33
23
-24
0
60
-13
-36
-3
0
60
-18
-13
-1
0
23
21
-53
8
0
6
-61
15
-2
0
51
4
14
11
0
0
3
-2
0
0
-6
4
-13
-3
0
34
11
-31
-1
0
0
3
2
4
0
0
43
2
0
0
8
-8
4
-2
0
7
20
2
-2
0
-2
4
0
-2
0
-2
-5
-2
0
0
2
-2
-3
0
0
7
24
27
-38
0
35
49
-3
-81
0
-74
29
-16
27
0
46
-56
-110
9
0
2
-20
75
-11
0
-102
-90
28
82
0
4
-112
-5
19
0
15
-74
-35
-32
0
20
-54
74
17
0
-34
45
-96
13
0
0
7
-20
4
0
-7
9
-31
-5
0
-32
58
45
20
0
7
1
-12
4
0
-65
48
23
-90
1
-69
20
-50
-17
0
42
34
32
7
0
-79
81
-12
11
0
29
32
4
7
0
39
17
5
1
0
-63
-44
20
0
0
-16
-33
33
0
0
-5
-10
0
1
0
22
-7
3
1
0
4
18
-7
5
0
5
-14
-2
7
0
0
-6
0
0
0
0
-2
4
-5
0
1
36
9
0
0
8
-11
-10
4
0
5
15
3
0
0
15
41
6
-25
0
-21
-21
30
-4
0
-32
-5
-42
88
0
-24
105
-26
38
0
16
-33
20
33
0
20
-31
-62
-6
0
-9
-30
0
-19
0
-14
-13
72
-33
0
82
-3
-31
-12
0
4
37
41
-11
0
0
44
-54
8
0
0
-9
26
-4
0
-4
-53
37
-18
0
11
9
101
-17
0
-7
7
-6
-34
0
-25
-3
-40
-8
3
112
1
-68
37
0
-28
29
43
5
0
23
7
19
8
0
22
-8
-11
-2
0
-33
33
-57
3
0
21
5
-5
0
0
0
1
-8
0
0
-2
0
1
2
0
-16
-4
-3
3
0
8
-17
2
-11
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
-10
-9
29
-54
0
39
5
-45
-65
0
-61
-5
-106
48
0
-3
-27
-14
-1
0
10
1
-34
55
0
-80
-97
-41
37
0
-53
24
38
-16
0
51
-79
-23
-5
0
-24
-5
-35
-28
0
-2
5
46
-2
0
-7
-3
-45
-24
0
2
2
18
-1
0
2
46
5
-71
0
-3
26
-53
-2
0
28
14
22
21
-26
-109
-56
11
-9
0
-60
58
1
9
0
37
-26
-4
1
0
1
33
-8
-7
0
-45
24
10
5
0
4
-33
5
2
0
-2
18
27
-3
0
1
-1
9
0
0
-40
29
-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
-15
0
0
0
5
-2
0
0
0
-1
-1
0
0
5
-14
21
1
0
-29
-11
11
-15
0
-109
-65
-21
2
0
9
-69
-76
-49
0
-70
5
26
33
0
95
-80
-23
-8
0
-6
-95
-18
-78
0
25
-29
-76
-32
0
-50
-14
-29
56
0
8
-43
-71
19
0
10
-7
-19
4
0
3
15
-21
-15
0
-10
45
-15
-10
0
-3
-35
-40
-25
0
0
-11
-35
3
0
71
53
33
-8
-21
-48
-44
-31
-20
0
34
75
-15
-36
0
18
46
21
-14
0
48
-5
-47
35
0
-26
44
43
23
0
74
33
-23
-17
0
-5
6
16
-6
0
14
2
-2
0
0
51
4
4
14
0
-62
-10
2
9
0
-12
-52
-26
6
0
-20
18
-4
15
0
10
-37
55
-5
0
54
47
17
-20
0
-2
11
17
0
0
-13
34
-29
13
0
27
0
-4
-20
0
-10
21
38
104
0
-3
16
48
37
0
-45
-44
-41
71
0
-31
-26
-63
-50
0
-44
-37
23
-81
0
31
-67
-29
-53
0
90
-55
-42
35
0
-84
10
15
25
0
30
17
4
-4
0
31
-4
27
11
0
15
-22
30
0
0
-26
2
1
17
0
-15
14
11
-74
0
-56
-24
72
68
0
-51
6
3
80
11
-27
19
-8
90
0
-7
-61
-10
13
0
28
82
6
-5
0
-40
83
100
2
0
-4
8
-38
-11
0
75
-25
5
6
0
-26
28
30
-7
0
-17
-37
14
-2
0
-73
68
-3
-5
0
12
-60
-39
-2
0
-55
-5
51
21
0
3
19
-3
-14
0
24
-9
14
-7
0
4
-32
33
-4
0
5
-20
3
-1
0
-2
18
-5
1
0
53
-9
-38
-14
0
-17
-28
29
44
0
-4
63
58
-20
0
-18
-30
19
-6
0
-39
-73
28
3
0
82
-24
-35
10
0
29
-10
50
9
0
-21
-45
64
-13
0
-133
35
20
-1
0
-4
32
-13
33
0
6
11
-2
75
0
-33
77
30
-28
0
27
4
-14
14
0
-2
1
5
64
0
69
-1
29
-94
0
6
14
72
-14
-28
-22
6
-14
72
0
-32
88
13
-4
0
39
-29
-23
5
0
41
7
48
16
0
-40
65
-10
-13
0
35
16
-2
-1
0
-8
-5
3
3
0
7
18
-2
3
0
-58
-39
-1
-6
0
43
-30
15
3
0
-58
46
3
0
0
2
22
-1
0
0
-7
0
-11
0
0
-3
24
0
0
0
1
0
0
-1
0
1
11
-7
0
0
-55
-3
4
0
0
-14
-58
50
56
0
-1
14
-23
12
0
-30
-7
13
17
0
-1
-100
-42
-18
0
43
-18
-18
-56
0
-8
-5
-3
-18
0
106
53
-8
-5
0
3
-8
7
6
0
-49
58
32
33
0
61
-33
47
100
0
-28
-10
-21
17
0
-7
-24
8
-45
0
-30
-36
-8
53
0
11
-41
10
-13
0
-132
-2
-82
23
-7
-100
92
-71
-5
0
7
72
-43
77
0
60
31
-9
-8
0
11
-61
-55
17
0
-42
26
11
10
0
15
16
-1
1
0
-1
-3
6
-7
0
3
-11
-1
1
0
-104
11
8
13
0
10
5
24
-5
0
9
-33
-1
-2
0
-19
-18
4
-1
0
-8
-54
7
10
0
0
3
-1
0
0
-1
4
-6
-3
0
-2
4
-1
-1
0
1
-18
-3
-1
0
-85
0
7
-40
0
-2
-61
-36
-7
0
54
-98
-55
19
0
37
-109
-13
3
0
-65
45
18
-1
0
-2
48
0
1
0
5
-31
5
-1
0
-20
-45
31
-2
0
12
-2
41
22
0
-53
-7
-59
-12
0
-44
-52
18
39
0
20
5
-25
-26
0
-10
14
-54
30
0
3
-9
-64
12
0
55
87
-69
-72
-15
-10
-2
-90
-71
0
73
-26
-6
9
0
-12
1
7
-40
0
-62
113
16
-29
0
-32
16
-9
-11
0
31
-128
38
-2
0
11
90
-6
8
0
5
-8
23
-1
0
-17
-39
0
-9
0
53
8
29
-9
0
4
-47
27
-16
0
-15
52
52
-15
0
18
-43
-14
21
0
79
0
-1
-1
0
0
-9
53
-3
0
2
2
2
-2
0
48
19
-16
-17
0
5
-3
-6
-6
0
-68
-109
22
1
0
-14
15
-31
-7
0
23
-73
5
48
0
-46
-87
-30
-41
0
-30
-63
17
-36
0
-49
-33
-20
11
0
-69
78
-46
-5
0
45
24
-20
36
0
-74
30
29
24
0
20
13
54
-33
0
-9
41
-26
20
0
-45
-8
12
56
0
-65
64
-28
57
0
24
-10
-51
14
3
-13
0
5
-77
0
4
14
-17
-38
0
-18
38
-38
-24
0
-6
33
-49
-11
0
55
-25
-30
47
0
-37
-2
62
-15
0
44
-48
-47
6
0
3
-4
-16
0
0
21
-41
-6
5
0
53
-71
-14
44
0
52
2
-38
5
0
2
14
-3
-18
0
-33
-30
17
-14
0
0
10
-34
3
0
-2
-9
35
-14
0
-1
-7
3
3
0
-77
30
-16
1
0
-4
18
-1
-8
0
-21
-18
21
-111
0
-26
-65
33
10
0
-16
-69
-76
-18
0
-2
-10
5
43
0
59
15
40
-33
0
-10
13
4
-1
0
-4
-22
14
1
0
-75
33
10
12
0
-22
-4
-3
104
0
26
-49
26
-47
0
74
-37
-55
-22
0
14
-11
-9
13
0
-5
-31
21
-31
0
-5
20
100
7
-24
10
-70
-15
29
0
71
33
-79
-33
0
1
26
63
31
0
-37
10
-17
-14
0
-88
-36
28
-15
0
-5
61
8
-1
0
0
4
6
2
0
6
15
0
-1
0
-17
-1
7
-1
0
-82
68
-19
11
0
13
-49
18
10
0
14
-97
-22
-2
0
32
1
23
0
0
4
16
-1
4
0
0
0
0
-8
0
-9
-5
-13
8
0
-6
-5
7
7
0
-13
-111
-12
13
0
28
-15
-69
-21
0
-63
41
-1
-33
0
79
-72
-66
-6
0
-82
63
-10
-60
0
-21
50
-37
-23
0
14
-83
53
-34
0
20
-86
-72
-13
0
22
-9
-6
79
0
-6
37
-1
5
0
-42
-12
13
-34
0
-20
23
-104
-14
0
18
-35
42
-67
0
17
-6
-153
-72
0
19
-101
42
-10
16
-62
-82
-23
-76
0
42
4
-39
23
0
-54
20
113
49
0
-17
-24
3
3
0
44
-79
5
-29
0
14
30
30
-6
0
7
-13
-10
-4
0
-6
43
9
0
0
-49
-77
23
4
0
7
33
-2
-9
0
-36
-33
-33
-34
0
-15
3
-4
-2
0
-8
10
-53
1
0
0
-56
-18
1
0
0
-20
5
3
0
-23
2
4
2
0
-65
-14
-6
-20
0
-89
-35
37
-24
0
4
-11
-106
-25
0
-23
-13
9
-38
0
-10
-6
-86
-19
0
62
-55
-19
-37
0
-52
-8
-93
-43
0
-14
-15
36
13
0
-26
-62
7
-13
0
-2
-17
-19
-42
0
-73
67
-44
8
0
12
-34
46
35
0
-36
-68
-87
-30
0
55
-132
-41
-30
0
21
-14
-18
-41
0
32
11
-1
21
4
-33
37
-68
-109
0
26
22
0
-14
0
52
-10
23
46
0
1
37
21
44
0
94
95
20
-12
0
19
-23
68
60
0
44
95
19
72
0
6
-21
25
30
0
90
-5
-14
-47
0
16
53
16
-27
0
51
-39
71
19
0
1
-19
35
-54
0
-95
77
88
61
0
-30
-49
-10
-32
0
4
100
91
0
0
-32
-36
6
-13
0
80
35
60
40
0
-34
45
-24
23
0
-13
18
20
83
0
5
-5
-78
5
0
-80
34
68
11
0
-50
7
-24
14
0
24
-49
82
-17
0
10
-53
15
-15
0
12
-70
72
44
0
-54
12
60
-19
0
96
25
-64
68
0
3
80
26
3
0
-45
53
62
30
0
61
18
6
-9
0
5
0
-12
7
0
-14
8
5
66
20
-6
-13
1
9
0
13
37
23
-29
0
14
20
16
-8
0
1
89
-5
78
0
40
63
-27
-16
0
-24
-34
21
59
0
27
47
34
-14
0
67
-19
-14
48
0
31
58
25
-28
0
-30
5
-18
41
0
56
32
-91
9
0
27
8
-15
25
0
62
7
45
40
0
45
-2
33
5
0
-14
64
81
49
0
-8
1
-16
16
0
-57
82
10
12
0
39
-7
6
6
0
109
-24
16
-18
0
5
-5
-36
8
0
-30
-43
20
-3
0
-82
57
17
20
0
16
-46
-18
33
0
4
0
10
3
0
6
-40
37
-30
0
51
40
63
-32
0
-75
61
23
46
0
6
-66
148
-3
0
6
46
-74
-14
0
-30
26
35
-47
0
14
70
-86
55
0
25
-16
51
-35
11
46
-3
5
30
0
26
-5
35
-41
0
20
40
0
-37
0
6
21
-34
8
0
-14
81
-5
53
0
95
75
4
2
0
77
-14
25
-36
0
8
51
3
29
0
58
-8
26
12
0
-1
-15
20
43
0
38
-46
68
37
0
-4
38
6
3
0
-45
17
16
-1
0
-27
51
6
-7
0
20
-55
4
33
0
-29
9
34
10
0
-28
21
26
2
0
112
-73
28
-6
0
-19
-26
-34
23
0
-8
49
3
-4
0
42
37
33
-43
0
-53
11
27
0
0
-53
-22
59
-9
0
-3
-2
-3
0
0
5
-71
14
1
0
9
-12
59
-27
0
0
-45
30
25
0
-1
-35
8
-18
0
1
-49
-16
22
0
7
-13
8
3
0
4
-2
-11
58
0
25
60
-46
13
23
2
-7
32
-43
0
19
44
-32
-11
0
23
43
-44
-14
0
71
7
-12
54
0
25
102
-23
-33
0
22
28
37
-4
0
-57
28
49
10
0
54
-81
12
14
0
13
-42
31
18
0
-56
9
48
57
0
117
3
-17
-33
0
21
7
21
-5
0
-42
-60
44
-24
0
-14
-17
85
2
0
4
89
-66
25
0
14
-24
5
0
0
0
-23
73
-24
0
-18
22
35
-37
0
-119
-3
46
-14
0
-19
46
-43
6
0
47
-86
41
-4
0
6
71
6
-6
0
0
45
18
-5
0
6
-13
2
-3
0
-23
-1
-43
-5
0
-40
35
59
-3
0
4
50
-22
10
0
1
39
-19
7
0
2
-16
62
18
0
50
62
-21
-16
0
32
-29
-15
-11
0
20
-2
-97
1
18
27
-77
34
5
0
-14
70
60
5
0
27
30
56
6
0
53
48
25
24
0
-45
49
-2
21
0
21
-1
29
-11
0
30
-13
36
20
0
3
5
2
1
0
6
-28
20
5
0
62
55
7
33
0
-35
32
-11
9
0
7
44
13
-3
0
-18
-6
-18
6
0
-5
-10
-5
1
0
0
6
3
-14
0
-3
-4
-14
3
0
43
3
0
13
0
-70
33
-13
-4
0
1
-21
-1
24
0
41
-7
-11
0
0
-55
15
2
1
0
8
-5
4
-2
0
0
-1
2
2
0
0
-5
4
0
0
-9
1
0
-3
0
-10
24
-8
21
0
12
23
-24
-73
0
-5
-36
-13
0
0
16
-25
8
11
0
15
-2
2
-3
0
0
14
-4
0
0
33
-10
-2
0
20
6
-17
16
-24
0
73
-9
22
6
0
-24
-30
20
16
0
-6
16
33
-58
0
81
-18
95
5
0
35
49
-9
-3
0
69
72
-31
-2
0
16
-14
-6
6
0
-49
87
2
-5
0
-28
69
63
2
0
-95
-1
-20
35
0
4
-9
-3
-2
0
121
-17
-52
0
0
-5
35
34
-4
0
-4
-18
-14
-15
0
1
-20
15
1
0
10
71
-35
-27
0
41
25
14
10
0
-5
-53
4
7
0
19
-43
25
1
0
-42
-9
5
-2
0
0
17
25
2
0
-3
0
18
1
0
-2
-6
11
0
0
4
7
1
1
0
0
11
-22
6
0
-37
-34
-27
49
0
-7
18
-2
-1
0
-45
-46
26
0
0
6
4
-64
0
0
6
-6
-6
-5
0
-11
19
-50
-6
3
-46
-34
6
1
0
31
92
-10
30
0
12
-30
43
-18
0
-26
-2
3
2
0
75
-37
-20
30
0
-40
30
10
0
0
-24
31
-47
-3
0
2
-6
6
0
0
24
-34
-30
2
0
-29
52
10
-5
0
-22
-18
-7
-5
0
-7
-27
13
-7
0
-14
9
9
5
0
0
31
3
1
0
0
5
-3
-7
0
2
0
7
5
0
-58
0
23
2
0
30
80
-5
0
0
-1
-2
0
11
0
3
-2
-1
0
0
0
-5
3
-2
0
-1
9
-2
0
0
0
0
10
0
0
0
0
0
0
0
6
0
0
-1
0
7
-67
-5
-7
0
5
5
-14
-16
0
0
-11
-14
0
0
-33
0
0
2
0
3
7
-4
0
0
0
-6
-3
1
0
-1
1
11
0
-27
11
-5
24
-4
0
16
-6
92
138
0
-9
73
71
4
0
-11
14
40
5
0
4
11
-22
69
0
-18
14
-36
-11
0
47
5
20
-6
0
-62
5
39
6
0
21
-12
1
-6
0
23
-1
15
1
0
40
56
-19
-7
0
-6
99
-20
13
0
37
-45
-42
-14
0
-6
-14
5
0
0
17
-21
23
-6
0
2
93
8
-4
0
-32
-57
30
-2
0
-34
58
4
15
0
-32
64
-8
34
0
2
5
8
3
0
-14
-35
5
1
0
1
-71
32
3
0
-6
2
-33
1
0
1
0
1
-1
0
-10
26
-10
-1
0
-75
-13
-71
8
0
14
13
15
-8
0
-2
8
-53
0
0
-41
-3
14
-10
0
-2
-8
15
-6
0
11
5
26
7
0
51
-65
-5
5
15
-89
-1
-33
-3
0
29
-36
47
48
0
29
14
-8
20
0
-15
100
1
7
0
52
-21
59
-8
0
-19
7
24
-6
0
-12
43
3
47
0
7
-40
33
0
0
30
46
-14
-10
0
62
15
90
-22
0
-22
-50
91
-16
0
-41
60
65
0
0
44
20
-32
-8
0
77
-25
14
-1
0
-1
-2
6
-8
0
0
-8
-35
3
0
-70
0
5
16
0
-29
-57
17
-7
0
5
23
4
-2
0
-7
33
-3
0
0
-34
9
5
5
0
30
41
-14
0
0
7
11
-7
-4
0
-6
-1
3
-4
0
33
3
2
-4
0
61
1
-30
1
0
0
4
-3
0
0
0
3
1
0
0
0
-6
19
10
0
19
23
-36
7
0
2
-20
25
9
0
30
7
-5
-2
-8
3
65
-20
19
0
15
-10
22
35
0
-18
13
41
2
0
28
-45
24
11
0
55
-13
37
36
0
88
8
81
-33
0
-5
33
-72
-8
0
5
37
23
-5
0
36
-67
-19
4
0
55
36
-60
10
0
16
-42
100
-27
0
-3
14
-24
8
0
-15
66
32
5
0
-14
11
-1
3
0
0
45
6
-9
0
-4
-4
-5
-1
0
-45
74
-18
0
0
10
45
-53
1
0
42
-37
-18
3
0
-1
32
4
0
0
1
10
-6
-4
0
-19
69
5
-2
0
5
9
-36
3
0
-4
0
0
1
0
31
16
7
0
0
-23
26
-2
2
0
-14
-77
20
7
0
0
-6
5
2
0
4
-8
-4
0
0
13
15
-5
0
0
3
9
0
9
0
-1
-68
-2
0
0
-1
-55
-7
-2
0
-2
13
-25
73
0
11
-16
58
-8
0
4
-3
42
-15
0
43
-96
69
-3
0
-78
21
5
18
0
109
19
34
-22
0
-15
4
-35
-7
0
17
84
20
-8
0
29
-2
2
-6
0
19
85
-49
-23
0
-9
-48
39
8
0
21
3
-1
-8
0
2
2
-13
-1
0
0
11
4
-1
0
5
-47
-22
15
0
-5
19
8
-25
0
4
-11
54
0
0
-34
-46
-3
-3
0
-10
1
2
0
0
44
36
-29
9
0
33
-1
-4
-3
0
10
3
-11
0
0
-3
0
-2
0
0
6
-1
43
2
0
27
5
27
2
0
3
-18
25
-22
0
0
-2
-10
-1
0
6
8
-5
-1
0
-9
28
-4
4
0
-1
3
11
16
0
-8
19
-46
-11
31
-2
-4
-34
2
0
-56
33
48
-2
0
38
46
-15
16
0
61
53
2
7
0
-23
47
-28
-109
0
-17
-36
-11
-4
0
79
-23
37
16
0
52
-39
3
4
0
-29
8
-29
-5
0
23
-7
24
5
0
-19
4
53
5
0
3
-18
-56
-6
0
45
-53
17
-5
0
7
14
-85
2
0
-3
-4
53
7
0
-5
-22
19
3
0
14
-31
-14
-4
0
19
8
63
0
0
-90
7
-23
-1
0
-5
-27
-11
2
0
-17
-26
1
2
0
24
6
-2
2
0
-5
14
15
-1
0
0
-5
-3
0
0
-15
-29
-18
0
0
-6
38
29
2
0
1
27
12
-1
0
0
-6
9
0
0
-15
-35
-5
-1
0
-2
-34
5
-15
0
-5
-12
29
-7
0
9
-9
-14
0
-12
-16
-4
-34
-39
0
37
7
8
-18
0
-8
33
23
19
0
-8
4
43
33
0
-11
-68
17
-20
0
-46
60
24
-3
0
-26
-4
2
0
0
-9
-17
0
0
0
0
1
-27
-7
0
71
-45
22
8
0
-15
31
-1
-1
0
1
2
0
-1
0
-20
3
13
5
0
2
-5
0
0
0
0
-2
5
0
0
-2
-3
-29
6
0
7
25
-1
-3
0
-5
-15
18
-11
0
19
39
8
5
0
2
18
-43
0
0
-8
11
-2
0
0
7
15
-6
1
0
-1
-1
-14
0
0
0
0
0
0
0
-3
-13
-2
0
0
-24
-13
-14
-1
0
33
14
-15
1
0
3
5
0
0
0
0
9
2
1
0
-2
-10
-2
-9
0
-2
-9
3
0
0
2
5
-1
-3
-21
-19
2
27
-1
0
31
44
-1
6
0
-16
-20
10
-44
0
4
24
33
26
0
27
72
-36
-15
0
-96
7
26
18
0
-54
3
-6
-1
0
7
-7
-16
0
0
24
23
-34
-7
0
-18
15
-18
7
0
44
-62
54
9
0
0
1
6
2
0
36
3
-23
-5
0
0
-13
0
0
0
0
3
6
0
0
0
8
-1
-4
0
-10
0
-9
2
0
77
-38
0
2
0
127
7
-1
2
0
-7
-9
5
-6
0
-20
26
6
0
0
-2
8
-2
3
0
11
2
-2
-3
0
0
-4
0
-1
0
-20
1
3
0
0
10
15
23
-6
0
18
-45
-2
-2
0
0
5
-7
0
0
-8
-3
-6
0
0
0
-11
-17
0
0
-5
0
-11
-6
0
-25
8
0
0
-20
-23
-3
5
5
0
28
26
41
54
0
47
2
16
17
0
-12
16
-11
-14
0
37
17
14
-24
0
5
10
-55
5
0
5
-43
18
43
0
-4
-7
1
3
0
-28
50
-32
13
0
10
-61
7
-20
0
-20
42
5
18
0
0
-14
5
6
0
34
-17
2
-4
0
5
-35
34
1
0
4
2
-1
-5
0
1
0
0
-1
0
-26
-45
11
1
0
22
15
-15
-4
0
54
-9
15
-45
0
-3
-19
5
3
0
-26
-2
-3
1
0
6
13
6
0
0
4
0
-25
3
0
-2
2
0
-1
0
-6
3
5
0
0
-37
78
-52
0
0
-11
26
-39
-1
0
0
-1
-1
-5
0
2
0
4
-7
0
-1
-20
-5
0
0
0
-2
-14
-1
0
-1
3
-1
0
37
-41
-27
6
-3
0
-34
38
9
-2
0
-17
-13
55
9
0
51
27
-63
0
0
52
14
-46
10
0
1
-53
42
1
0
-30
9
14
3
0
17
-3
-7
0
0
61
17
-6
33
0
44
42
43
-14
0
47
5
-115
-33
0
36
-14
-6
-34
0
5
82
5
-5
0
2
-3
-15
7
0
-23
4
4
0
0
0
27
20
2
0
31
-47
45
-18
0
-3
15
62
30
0
-20
14
46
33
0
-15
-37
103
3
0
-68
-13
-80
0
0
6
14
-15
-6
0
0
-1
-16
5
0
1
-1
-4
0
0
-27
-3
-37
0
0
7
-1
-25
-11
0
-16
43
37
0
0
0
-3
-6
-1
0
-20
9
-57
0
0
-5
-36
3
-14
0
7
-19
-2
-1
0
-6
-3
6
1
2
3
36
-36
-39
0
-50
6
12
19
0
-19
-28
0
23
0
-4
-53
28
11
0
-7
-26
-19
-57
0
14
-33
38
13
0
99
-5
-6
-3
0
-38
5
9
-5
0
-32
62
29
4
0
53
-11
-4
6
0
7
-17
24
10
0
6
19
1
2
0
11
-8
-39
9
0
16
75
-15
5
0
14
-71
-36
-7
0
49
90
-10
-7
0
91
11
-5
36
0
11
17
2
-12
0
17
2
-37
-51
0
3
-11
-4
13
0
9
-18
-27
12
0
-22
-22
12
-30
0
30
10
10
20
0
-33
25
32
13
0
0
-18
-40
54
0
14
6
-15
55
0
10
-2
5
-44
0
22
52
5
2
0
8
9
107
-21
0
16
-6
0
-8
0
-6
43
-26
35
0
9
-42
-43
-21
13
-25
-58
-14
19
0
-19
24
-16
44
0
-8
-29
92
15
0
28
-7
95
-44
0
82
-38
-19
6
0
-70
-16
35
-24
0
-29
-14
-51
-5
0
14
-29
24
6
0
91
-9
-1
1
0
53
78
-5
5
0
10
-23
-2
-5
0
1
-3
-75
-3
0
23
-48
10
17
0
25
-8
-3
11
0
-4
68
-61
2
0
-50
-4
54
2
0
31
-6
5
-6
0
9
-1
14
-34
0
20
13
12
-51
0
4
-9
-10
8
0
-9
-49
-4
-43
0
-25
7
-40
36
0
-5
-9
-98
37
0
-24
29
-41
-2
0
44
-71
46
21
0
6
61
15
30
0
-121
2
-5
44
0
-100
10
-41
57
0
-72
-5
26
6
0
42
-18
10
-37
0
-29
59
41
-55
0
-64
4
30
-47
6
-70
-4
30
-8
0
-9
11
17
18
0
-41
45
23
14
0
-91
57
-27
0
0
-53
5
15
7
0
15
-6
8
1
0
100
-7
34
-11
0
19
5
1
-1
0
13
-19
14
0
0
49
4
19
0
0
24
20
-21
-4
0
1
33
3
0
0
7
4
25
-2
0
5
60
-44
5
0
8
2
3
-2
0
18
-6
-1
1
0
-110
-30
29
-1
0
1
-15
-52
-11
0
-8
16
5
19
0
-40
-53
-54
-50
0
-13
-5
-84
0
0
0
-61
-9
-34
0
-94
-1
39
19
0
-41
-2
-15
-12
0
-58
-55
21
-58
0
85
-2
-48
-88
0
-67
-49
-1
10
0
14
31
29
56
0
67
4
-2
-10
0
53
39
-94
22
0
14
-24
59
-66
0
-20
43
-15
83
-2
-27
-10
2
10
0
35
-60
-19
24
0
-9
12
71
-44
0
46
-25
-50
-8
0
-61
-15
54
0
0
45
-34
4
0
0
28
-9
14
-2
0
1
-6
1
-1
0
-11
-62
-5
0
0
10
3
28
5
0
-37
11
19
-3
0
0
16
-22
0
0
-13
-9
35
-2
0
-10
-55
17
-5
0
7
-23
-19
-1
0
5
-5
-5
0
0
-23
-12
-6
-3
0
5
-5
-37
18
0
-32
-10
29
-22
0
-6
-52
-32
-6
0
-15
14
-101
-60
0
12
21
-14
-35
0
34
12
-33
-34
0
-72
-129
10
71
0
-186
63
40
-15
0
-36
41
-53
-11
0
-29
56
6
2
0
-35
-19
-23
14
0
4
63
-9
-35
0
-16
18
4
24
0
-14
-1
-14
13
0
-62
-48
15
-16
-3
-87
16
1
-90
0
0
18
-44
21
0
15
55
60
-22
0
-12
-62
12
-3
0
62
5
-37
34
0
-41
-13
4
-18
0
-48
14
1
-15
0
-1
8
-7
8
0
15
-32
0
-1
0
-45
-8
-15
-11
0
43
4
-16
4
0
4
43
-3
0
0
30
-43
-8
-16
0
-1
68
-5
-1
0
0
-5
3
0
0
-23
-14
3
0
0
65
31
-76
-2
0
-3
4
11
2
0
6
-71
-52
23
0
-53
-40
25
-34
0
-24
10
-4
4
0
1
-9
67
79
0
-19
-4
54
21
0
19
-22
-59
-19
0
-73
-51
-46
74
0
-38
27
-17
-74
0
-89
62
11
46
0
13
98
-43
-19
0
-31
4
-9
14
0
-38
84
-14
-33
0
-1
-25
-37
-46
0
12
67
4
-5
-11
-42
9
27
-5
0
-28
23
51
3
0
42
64
23
-5
0
31
-13
-29
13
0
10
62
-50
25
0
-51
29
-24
2
0
16
15
49
0
0
14
-1
-3
4
0
10
-19
-45
-5
0
-51
20
-10
8
0
25
34
26
6
0
0
26
-1
0
0
45
-10
-10
0
0
1
20
-37
-2
0
-1
7
-10
1
0
4
5
-8
4
0
-62
113
-13
-10
0
5
5
21
15
0
12
-89
-63
42
0
-73
17
-1
23
0
-32
-24
-44
-15
0
49
-62
-31
0
0
-106
-83
-9
-5
0
-58
56
2
-50
0
-25
12
23
25
0
-17
17
-5
6
0
35
-45
-53
-9
0
5
53
-8
8
0
21
-1
-8
-5
0
2
-25
-19
-10
0
8
-2
-120
2
0
-89
57
-7
-78
43
-69
4
-36
-55
0
-39
-29
91
9
0
32
25
-58
37
0
-6
60
-5
2
0
-16
25
-3
21
0
9
4
-20
0
0
-1
-16
11
0
0
3
-3
0
1
0
73
-9
-21
-13
0
-46
23
-2
0
0
-43
37
11
-7
0
-2
-25
3
2
0
26
13
-3
-11
0
0
-6
0
0
0
-2
-1
-3
1
0
-3
5
0
1
0
25
-25
1
3
0
-22
-24
14
88
0
28
-43
-76
-45
0
-9
1
-16
33
0
25
-80
-109
1
0
-46
72
62
-55
0
86
-112
62
-43
0
14
-37
77
-59
0
-42
-42
17
-3
0
25
-19
-41
-75
0
-100
64
-6
-1
0
46
43
-41
-9
0
33
-60
-31
-16
0
-5
-105
12
4
0
3
43
-29
0
0
37
-80
-1
-50
-30
-9
-10
-9
-16
0
31
-12
29
-52
0
43
52
-41
-4
0
15
-26
-53
-6
0
-18
27
47
-14
0
56
-10
55
-4
0
-23
19
17
-4
0
27
-33
9
-7
0
-82
26
22
-4
0
0
43
10
-10
0
-114
93
33
10
0
-17
10
-58
2
0
21
-39
-3
-3
0
34
33
6
2
0
14
-2
-44
0
0
-2
11
-13
-3
0
16
14
-3
5
0
-18
-3
4
0
0
-52
-51
-6
-23
0
-25
0
-69
-57
0
-7
-24
-74
-36
0
29
-34
-23
-3
0
34
-90
28
15
0
-60
-100
13
-15
0
-18
-20
-44
-1
0
-5
0
-58
51
0
12
33
-111
-3
0
-51
-44
-9
11
0
-16
-56
39
-2
0
12
-4
12
-142
0
-8
16
-13
-35
0
-59
-60
-4
22
-10
-1
-111
-64
24
0
-24
-42
15
53
0
-66
69
2
47
0
81
45
62
0
0
17
-22
18
-14
0
7
5
-5
-4
0
50
-14
45
-3
0
-2
5
-3
0
0
-49
25
46
-9
0
-13
29
-59
-35
0
92
46
19
7
0
5
22
-11
19
0
-59
5
10
19
0
12
-24
-6
-10
0
-46
2
3
-3
0
-6
11
33
-1
0
33
-25
-5
0
0
-8
-4
28
45
0
2
25
9
22
0
5
14
19
-107
0
-31
0
130
-41
0
35
-19
71
-32
0
-62
-38
-26
-44
0
30
-32
-82
66
0
-30
-38
-3
-18
0
43
11
4
1
0
2
-8
-5
30
0
-3
17
31
-7
0
-5
9
7
42
0
97
-29
12
-16
0
0
11
24
-26
0
22
24
-25
-15
17
-32
4
-63
-7
0
-26
-15
52
58
0
-1
80
29
-14
0
51
47
-52
-1
0
53
-6
-23
47
0
169
34
61
0
0
-47
-20
28
20
0
-15
37
-46
-5
0
14
46
-53
8
0
74
-88
26
-9
0
-40
-11
62
-69
0
-1
-34
22
6
0
-41
-30
11
9
0
-28
62
5
0
0
9
-14
17
0
0
4
-16
-45
0
0
-42
14
-22
4
0
-7
-2
52
87
0
13
1
53
-46
0
-4
-20
-1
-53
0
10
-127
39
-15
0
-78
48
89
-19
0
-39
-40
-36
22
0
62
9
-73
1
0
-67
-40
14
-1
0
3
19
2
4
0
-13
-11
32
5
0
-26
23
-34
48
0
12
-28
32
3
0
48
26
-31
0
0
-24
-5
2
17
0
5
73
-40
-46
-4
9
33
18
47
0
-12
33
49
-58
0
12
13
30
57
0
-5
85
32
-21
0
-19
-4
9
-8
0
10
-6
53
0
0
-62
73
-22
2
0
10
15
-1
0
0
-43
11
-5
14
0
-14
44
3
0
0
41
-51
8
19
0
9
-8
-5
-6
0
-15
-7
3
6
0
4
-17
5
0
0
0
0
26
0
0
1
10
-3
-3
0
16
0
-3
-32
0
-26
-33
-13
-9
0
13
-28
-34
-8
0
-22
18
-7
2
0
-18
-62
-42
9
0
-23
21
-45
-24
0
-21
27
-11
-8
0
48
-15
6
-53
0
51
-25
-53
-37
0
-13
27
9
-29
0
42
-38
-11
51
0
42
-38
11
-8
0
13
-17
52
16
0
-13
30
-25
-30
0
-27
90
0
-81
0
49
-14
-25
81
-21
2
29
-23
-12
0
69
-31
45
101
0
-56
21
29
-4
0
-40
-3
5
-5
0
-14
-26
1
-15
0
38
116
-3
3
0
19
-95
78
-25
0
19
5
5
-2
0
-32
-33
14
-1
0
-11
90
26
19
0
-11
-42
-32
14
0
9
20
-15
-10
0
13
30
2
0
0
11
-8
-15
-3
0
1
18
10
-4
0
-1
-8
8
-1
0
-9
-53
1
0
0
-41
9
14
-25
0
80
-77
-31
3
0
-43
-5
-41
24
0
-26
54
-53
-9
0
-66
-20
44
-74
0
-92
-26
-11
0
0
5
53
1
-8
0
71
25
-69
-32
0
2
2
-14
-5
0
-6
9
57
9
0
-72
9
13
28
0
59
7
-14
26
0
37
-29
20
-23
0
32
8
56
-12
0
-57
47
-33
19
-17
-20
24
9
-6
0
29
49
65
-21
0
42
46
59
-32
0
-45
50
-2
-42
0
8
21
-57
10
0
-9
-3
-8
-3
0
-34
28
-23
20
0
20
-11
21
-1
0
-6
29
-4
-2
0
-3
6
-34
30
0
-71
23
17
5
0
-8
34
-23
45
0
-18
25
-4
46
0
17
5
4
-7
0
0
-33
25
13
0
0
-3
-15
-11
0
7
-63
14
-14
0
-12
23
-14
-11
0
-33
2
34
2
0
-14
-4
-45
44
0
-19
-35
-1
-33
0
54
-60
-105
10
0
-1
9
1
-5
0
-95
-93
71
64
0
-35
-16
-97
-7
0
12
15
27
17
0
3
10
71
-76
0
10
-23
37
-48
0
93
8
-29
-8
0
-14
17
11
-7
0
-48
-9
22
33
0
41
28
-42
17
-10
-24
-20
20
59
0
72
-4
27
34
0
22
25
-2
-14
0
-14
-37
50
52
0
-20
13
13
9
0
7
-33
18
5
0
38
32
46
-6
0
-4
-14
8
5
0
-31
11
-5
7
0
-13
-46
33
64
0
16
38
-25
5
0
-7
-23
41
0
0
-30
6
3
-21
0
-1
-2
25
0
0
4
12
-3
8
0
2
16
2
-8
0
-14
1
-11
2
0
-12
-19
26
-23
0
-54
14
11
71
0
-38
6
-45
-50
0
32
25
-68
-13
0
-46
33
-9
18
0
-92
36
-37
-45
0
-2
-27
-42
-23
0
-11
15
-63
-1
0
56
13
-5
16
0
54
-31
10
28
0
2
-41
-35
-118
0
-21
6
-86
-6
0
-23
-4
42
80
0
-9
53
9
-31
0
2
-53
37
-91
-19
-40
38
9
33
0
114
45
14
21
0
60
-5
-62
61
0
-25
-16
32
-1
0
3
-6
5
29
0
43
24
-1
-6
0
-51
5
-2
-8
0
-1
18
18
2
0
23
16
-37
-30
0
-35
50
2
-6
0
24
-44
14
25
0
6
16
-64
24
0
-13
22
36
4
0
-3
30
-27
4
0
9
0
-26
-1
0
0
7
0
0
0
7
-1
-18
15
0
-22
13
37
20
0
-15
-13
-18
10
0
25
-39
11
4
0
-74
15
-61
-55
0
-42
10
-86
27
0
-65
-39
-39
14
0
20
-46
-57
-5
0
24
43
49
-24
0
-62
40
-19
34
0
36
-45
13
-9
0
10
-47
-14
-24
0
0
-83
8
-14
0
-2
-1
-22
71
0
7
-102
17
-33
0
-15
27
16
16
-29
-91
92
63
-116
0
3
-16
46
43
0
-13
73
26
-81
0
-89
50
-21
13
0
-37
31
-39
5
0
53
-15
13
0
0
-32
13
22
45
0
-21
83
-17
-29
0
3
-66
13
5
0
80
-20
52
-12
0
68
-55
48
34
0
3
38
-32
-14
0
-59
-38
-23
13
0
-53
79
0
-7
0
-3
-1
-5
-11
0
-13
-6
-27
2
0
-14
-31
-56
-23
0
-8
-21
-18
3
0
-88
20
20
6
0
-70
-65
4
5
0
-3
-54
44
-72
0
109
-33
22
5
0
16
20
-30
-59
0
7
8
21
-22
0
-47
-89
-19
-58
0
5
-4
23
7
0
32
37
-42
66
0
14
-25
-90
8
0
-52
-16
-53
8
0
-76
-41
-93
9
0
33
-90
27
27
0
25
-44
-2
-41
-14
-39
-4
-80
3
-25
30
26
34
-26
28
30
-7
28
57
67
16
-16
-35
20
33
-5
15
12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
62
-16
-38
-19
-36
23
33
41
71
4
44
12
35
13
22
14
14
-60
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
12
49
27
11
14
-24
18
39
33
-3
-31
1
-8
0
13
12
45
-24
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
71
-86
-3
-28
0
-9
65
4
18
0
11
5
-39
1
0
-20
-4
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
9
-12
-1
23
-7
21
24
19
3
10
23
100
-21
29
26
9
18
14
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
23
58
-22
54
54
5
24
48
11
2
4
10
71
14
2
-45
-8
10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
6
-97
57
101
10
61
-65
26
19
5
94
23
-25
0
4
-68
51
49
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-13
-10
8
7
8
-11
109
-10
0
64
3
30
0
4
7
5
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
13
-10
53
67
18
3
14
53
14
63
-60
-44
45
32
49
12
-47
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
61
-16
14
-14
53
58
83
-30
-23
14
15
-2
-23
25
-11
-27
-43
49
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
23
25
-45
2
1
43
26
1
32
-1
10
37
-27
6
21
51
-29
-10
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-71
5
-57
7
0
13
70
8
0
0
53
-22
10
-3
0
13
-25
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
6
44
7
-38
-4
3
31
-47
27
111
-17
29
57
-13
2
56
30
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
91
-12
66
-1
5
15
-60
25
40
15
45
10
10
5
-50
28
-34
-33
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-82
113
43
-33
-9
-38
-3
-45
5
33
-8
-22
26
13
-33
65
38
-99
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-34
34
35
1
0
-9
-2
2
18
0
6
-2
-13
1
-7
-95
63
-39
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-3
44
21
82
43
41
46
60
47
28
16
19
66
-1
-12
-24
20
-12
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
39
-66
26
33
52
57
16
15
-60
5
-4
36
-6
13
-14
43
-29
3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-3
5
-25
35
0
27
-1
-14
9
-4
-71
-1
0
3
-1
-2
-11
24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
52
24
20
-23
0
-65
-32
-44
0
0
1
-4
-9
-1
0
17
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
47
12
-16
52
48
45
-60
13
1
28
35
-49
22
3
-15
-35
51
-12
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-53
60
45
-6
41
33
88
-65
28
-8
2
-32
-46
8
-1
12
6
16
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-53
16
4
-6
-13
10
62
3
21
2
-24
26
-25
0
1
-47
-16
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
10
48
-13
0
13
-97
-10
-20
0
-36
-16
-25
0
0
-53
-14
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
90
4
0
-26
-4
15
-17
11
-54
11
36
25
28
3
-23
11
-26
-6
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-5
41
-8
-13
-5
-37
20
-11
-7
-2
-14
1
-8
-10
-5
-8
15
5
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-32
-38
-5
2
-1
-7
45
5
-2
1
1
-17
0
0
0
15
-14
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
32
-24
-2
0
-5
3
0
-1
0
7
0
1
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
3
18
57
-13
35
26
13
15
59
-6
7
-17
-31
12
-2
-77
19
-35
57
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
8
-31
58
10
22
18
39
103
-70
46
53
-12
14
10
0
-53
44
-8
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
35
-35
52
24
6
-53
56
-45
5
-10
12
10
-14
0
20
-1
-6
6
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-21
21
13
1
53
-36
4
14
0
-32
14
3
-6
0
-32
-9
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
44
91
39
79
24
-51
-10
30
29
-62
4
40
5
-24
-10
-29
-7
32
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
41
38
-1
40
3
-34
20
100
52
16
59
48
68
-9
-10
-33
53
14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-47
-3
10
44
46
38
58
37
-8
-54
27
42
56
1
11
-28
-29
1
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-4
-5
52
-5
11
92
5
-13
46
2
-31
22
-48
-15
22
26
-91
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
27
52
12
15
67
48
54
-22
-20
5
5
-9
7
-14
45
11
99
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
27
34
20
36
10
71
23
58
-53
-4
-54
-4
2
-2
-29
63
8
40
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-51
8
42
-35
-47
-82
61
53
58
10
-4
-62
21
11
-36
5
-2
24
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
136
-25
-40
-46
-25
-98
70
-15
19
-1
-29
27
-9
5
31
-3
-52
29
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-90
33
79
49
59
97
29
-18
-8
-24
21
104
-9
-23
22
-8
7
48
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
24
69
43
-49
19
15
54
-14
-22
0
0
-31
-3
27
10
-1
21
-27
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-67
-24
64
26
10
-33
-61
-30
26
-22
3
-23
-11
33
-45
-81
74
-55
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
32
51
-20
-36
4
-48
21
48
10
1
33
15
-10
7
-14
0
5
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
-12
43
54
28
-49
-67
-49
-13
68
21
35
-19
46
1
13
73
37
-49
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
27
77
-53
15
8
15
10
9
4
0
3
-52
-6
87
-17
43
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-5
-17
-91
14
19
-84
9
-14
-49
-29
15
-41
51
-2
-39
-24
-14
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
14
-14
1
6
11
18
10
-14
3
-5
-64
0
0
-52
45
10
-26
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-8
-1
60
-22
39
-15
38
14
2
0
-14
-16
50
-8
44
-93
38
-62
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-8
6
86
-10
-46
23
-72
4
45
14
55
69
-30
-3
22
-45
48
-50
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
22
-5
71
-9
-64
52
18
15
-2
-4
-2
-14
13
-1
-15
19
2
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
65
-58
-5
-12
62
49
0
30
-7
-2
20
33
-37
14
-6
-1
0
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
32
5
33
12
16
-34
-27
47
24
34
85
-26
-80
16
19
-6
11
-12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
37
41
-13
13
-65
-2
30
-61
16
10
44
-6
67
-11
-21
18
50
14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-40
23
-7
1
26
-7
-60
-7
3
0
10
-8
29
-4
-7
10
-33
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-82
-7
-5
-5
-6
-20
-2
5
3
0
-27
13
-14
-16
5
-34
-51
14
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-54
46
-5
25
-82
72
65
-40
28
70
18
-83
47
-18
-99
-9
-48
45
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
17
26
44
5
4
11
1
0
0
-4
-77
-15
27
-3
-25
18
14
29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
15
-45
33
-14
-38
51
-28
38
23
4
14
14
14
2
-1
-14
44
-51
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
1
51
21
-35
49
-83
53
-36
-5
20
-51
-11
11
3
-25
8
4
32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-24
-30
-45
-14
-6
-58
-15
37
-11
-33
12
-4
-32
-24
-20
52
50
-48
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
18
-15
21
15
2
-7
-20
20
18
-23
-5
40
-44
16
30
5
24
-43
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
76
28
-25
48
59
-43
-4
-25
11
-57
-54
23
9
-16
-33
-60
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
83
-23
-20
6
-1
43
-42
-10
8
-23
0
45
14
-2
0
-89
-14
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
-49
16
-29
17
-65
34
62
5
12
14
37
-36
-4
-35
73
40
37
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
12
-32
58
-4
-58
37
52
5
46
14
-24
-30
13
-8
18
-5
64
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
9
12
3
-9
12
11
41
37
3
-22
18
13
-5
11
16
12
-33
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
46
38
-18
47
-53
34
-17
72
55
1
-3
-48
4
0
-22
42
-6
1
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
36
-3
-19
34
-2
37
4
28
60
-26
-51
82
2
-1
-5
4
-71
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
31
-9
-2
-25
62
29
49
4
8
-43
12
20
3
45
65
-31
-45
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-15
-1
18
15
6
-11
-10
-11
5
-3
-40
-14
7
9
-83
-34
0
4
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
70
36
4
33
12
54
9
-15
-32
0
12
17
39
-151
11
46
-122
-26
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-8
-11
22
18
0
-22
-28
49
35
-77
73
65
8
-14
6
100
-97
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-90
15
12
-13
9
-23
10
-13
1
-8
10
0
-6
-4
-11
2
-34
44
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
-20
1
12
-22
6
-7
13
-35
50
4
13
8
14
65
-45
9
-13
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-23
4
-6
20
-68
-21
-71
-29
-2
21
-18
-4
56
4
-48
34
81
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-17
59
-63
0
-49
74
-5
58
19
-20
17
80
2
-10
3
54
-32
41
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
12
-23
31
3
-19
-27
15
5
-33
-4
-9
-38
-4
11
39
-83
-44
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-8
-48
31
-22
-36
-6
1
12
2
-75
-4
-28
-2
-70
-32
-66
27
-17
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
20
33
50
-5
-48
47
-24
53
9
-16
-30
31
-15
11
26
17
10
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-7
-40
-5
10
-12
-36
76
-10
-8
-18
37
21
4
0
15
-69
-13
-22
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-51
1
-2
11
4
52
22
-49
1
-19
43
-2
36
1
4
-15
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
47
18
40
34
6
39
50
-48
-22
-60
0
1
-11
-100
-119
25
-57
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-23
-50
-39
12
12
7
-15
-97
49
-60
-28
-89
78
-43
-16
28
37
-14
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
11
-18
-70
22
42
55
-12
-45
-21
-14
89
-9
-7
-10
30
47
-16
54
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-30
2
66
-4
-43
30
-34
20
11
-3
-8
48
-5
-1
-15
16
-40
30
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-10
51
27
-5
67
-29
17
-5
42
-73
-66
-7
-41
-19
-76
-22
-19
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-16
31
24
48
62
-50
-33
89
-42
46
-37
9
-53
-45
-23
-11
-27
16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
-13
50
39
4
-106
-47
27
-20
-13
-17
-33
-4
14
-5
-11
3
37
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
25
20
-6
2
26
-7
21
-25
-3
-1
-18
4
6
0
-3
-9
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
23
-49
33
-42
-80
-13
116
-67
-37
-65
-44
-105
-31
-4
96
-118
-1
-7
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-70
17
51
27
-27
-114
-9
-40
-4
6
7
-29
57
-76
35
-28
-59
-96
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-46
72
17
0
-55
-57
-41
-48
1
-14
7
-23
18
4
22
-25
-39
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
28
-33
-72
9
19
14
16
10
0
-2
-8
-42
-11
1
19
25
-30
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
30
-9
22
-29
-100
-24
-66
-31
-44
-1
-52
21
-45
31
-14
-108
-3
-22
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-49
34
9
-59
-14
26
-38
-99
-21
-29
-81
-59
21
7
-10
63
-27
-43
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
55
35
37
-10
-19
-13
28
63
9
18
45
4
-77
-8
-14
8
24
-23
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
52
0
71
68
62
14
-34
-66
34
73
-52
4
-14
-15
2
13
14
9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-4
-14
-5
4
29
-23
15
59
-11
-29
-23
10
-29
-118
33
-10
-27
74
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
9
18
10
11
2
-33
18
-15
14
-24
-18
13
36
-16
42
0
-3
42
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
18
6
11
72
20
42
13
-4
-8
27
29
16
-8
32
-33
-5
39
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-12
-39
-33
43
26
-28
67
53
-5
-24
0
-5
55
-18
-2
-5
33
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
10
8
0
-56
45
46
18
3
-69
34
3
40
-40
22
-140
-63
61
-19
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-31
-12
6
2
5
23
-40
45
7
-29
-14
28
36
23
-23
-105
-28
-1
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-52
-45
4
-17
40
10
4
63
9
4
-11
-71
-3
-14
-22
-9
30
26
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-53
-29
25
37
24
14
-46
-49
-1
-14
-6
50
-72
60
48
4
6
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-36
-12
14
37
-33
-2
-54
8
3
3
-36
44
0
9
-103
-109
-108
5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
20
-1
96
22
15
7
25
-60
-71
-43
33
-63
70
2
-3
43
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-41
0
52
-21
111
-68
-28
-102
48
-25
34
-24
26
51
29
-5
8
-19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-7
-53
-80
5
-17
-35
4
-7
-14
17
-10
-58
-36
-23
-47
-22
-15
29
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-26
88
25
63
-34
-44
-30
-94
-72
47
-101
-13
20
23
37
-63
-133
-70
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
14
25
42
74
-97
31
-25
-33
5
-5
32
2
4
-5
-3
-5
-75
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
42
-51
28
29
-32
79
69
-17
43
-40
-12
45
-4
-58
53
-24
-23
106
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-44
2
45
-23
79
-25
-55
10
-9
-21
31
79
-9
14
17
-28
19
17
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-18
-18
-114
-105
13
18
51
8
42
-67
39
-31
-89
-89
1
-122
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-6
30
-17
3
8
38
-27
-36
3
44
57
8
-18
-90
-33
35
-63
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
19
30
18
11
19
-10
27
-30
-17
25
30
52
-26
-1
-4
55
-50
52
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-5
23
8
27
47
-4
-51
1
5
-15
-24
-64
-16
16
-21
35
-17
-43
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
-33
52
30
33
-46
-24
-112
-98
-38
-14
6
-36
16
-44
5
-38
-58
-58
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-3
10
2
38
20
24
0
40
15
1
-93
-59
-26
92
-54
-24
11
-31
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
40
-14
-27
43
45
19
54
52
33
-60
-71
10
-54
-8
-19
10
-34
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
91
21
-25
-6
7
62
-28
-9
-14
-33
-48
-2
34
3
0
-43
14
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-31
-9
-21
-15
100
43
8
-57
-23
-24
-65
9
24
-57
52
-1
-63
25
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
27
-62
-31
41
-17
-58
-22
23
-69
-35
0
-25
-91
-14
-65
-19
-69
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
64
35
-31
17
20
19
14
25
20
-36
35
86
33
7
30
27
49
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
107
14
54
-11
-49
-48
-8
-73
-34
-2
-35
2
-14
-8
-99
-76
-5
-29
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
1
-50
18
-14
18
-20
-98
4
-66
-110
-9
-76
-213
9
-23
-69
-92
-70
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-72
-36
-1
-24
-41
-24
2
-126
-64
32
-32
-53
-27
-16
-51
-59
16
-15
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
19
18
16
13
57
13
1
-15
16
123
68
57
14
62
-23
5
30
-25
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
3
21
51
55
-18
-40
-9
28
43
-1
-25
6
64
5
-9
32
-15
82
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-62
-73
17
15
10
-75
43
-5
67
0
57
5
-33
6
37
44
-18
80
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
5
52
-14
2
-5
74
-4
2
-39
1
26
-3
7
-5
0
-3
-21
31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
25
-2
-2
29
19
19
-10
-28
46
60
-40
95
-24
80
50
3
38
14
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
105
-5
8
7
-54
35
40
112
21
-22
61
23
-72
36
-33
128
24
9
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
5
25
47
-17
-41
-94
7
-52
-33
-14
-45
17
30
4
20
48
35
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-55
53
34
-7
95
-166
48
-14
2
0
-19
-44
-4
2
0
29
-9
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
15
27
32
100
36
-19
12
46
53
90
94
20
-15
-46
32
2
80
27
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
76
-27
79
10
25
-43
-40
-4
-9
-5
-54
0
5
19
49
41
-81
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
0
20
14
-14
5
-14
9
14
34
4
-19
-62
28
5
-34
6
31
53
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
-31
20
44
-1
46
44
-33
10
0
-26
-53
2
-3
0
26
-53
54
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
21
1
35
43
2
48
55
-29
-56
1
20
-13
27
-14
30
5
-45
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-2
47
11
27
-46
17
40
50
-39
-14
8
50
-26
24
129
-14
14
15
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
11
109
6
13
-1
-95
6
-26
17
-2
-28
14
-40
10
-14
-87
-10
-65
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-82
5
-4
37
0
58
3
17
-45
1
-1
-46
24
-4
48
1
-38
-85
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
8
55
49
-5
5
-37
52
35
20
-41
7
-73
61
30
-39
-17
-23
79
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
56
-5
47
-17
98
77
-48
8
-29
0
44
-36
-7
6
-1
-24
-9
-36
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
58
27
-19
40
65
98
5
8
0
-5
31
-2
-2
7
5
-32
-6
-29
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-26
70
-5
-6
0
-3
102
36
41
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
105
-12
24
8
40
-16
9
19
1
10
-33
15
-34
-46
26
-43
24
2
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
46
-48
32
41
6
56
-9
6
-11
5
-32
19
29
0
18
-2
-24
-33
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
23
56
-15
-2
102
27
-19
-51
-76
14
-14
-33
32
0
-1
-35
-40
43
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
30
77
-6
18
21
-2
6
17
0
-4
-10
0
1
0
3
18
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
43
28
-26
5
59
-78
76
65
6
43
-97
-20
40
16
-8
-34
-18
39
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
61
19
15
2
6
-8
14
14
9
-1
17
-5
-10
2
-4
-1
14
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-14
53
11
4
8
-51
-22
30
11
-7
29
-33
-10
0
0
3
20
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
56
-1
-1
3
-32
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
-37
63
57
7
0
-13
2
13
104
31
-29
-39
60
26
17
-15
87
-46
-24
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-12
57
-97
46
46
8
3
-47
46
4
-9
-15
39
0
33
-75
72
26
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-77
-30
79
-15
13
-15
60
71
9
-20
-10
-21
-14
-3
23
27
-81
-51
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-36
-20
-3
-5
2
-33
-23
49
0
0
-5
1
-25
4
1
-41
-14
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-10
62
-39
31
66
-9
-5
63
9
-53
-54
35
23
-6
31
13
-5
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
53
-17
129
-11
25
-24
-19
72
-14
18
-4
28
3
31
5
-28
104
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
48
-14
10
-32
77
4
-1
15
-10
44
20
29
-4
0
-11
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-21
20
26
-14
0
-39
-9
16
9
4
5
29
-11
-5
0
1
-14
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
33
75
36
52
9
6
20
-6
102
-34
119
-16
51
-17
43
-34
52
-18
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
23
19
46
58
40
18
-53
49
12
8
-4
50
-5
17
-15
-19
-28
-13
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-18
-19
-13
3
-85
64
13
25
0
-5
5
6
-5
0
19
-19
-23
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-40
27
-49
1
14
-23
13
-17
21
0
14
-7
0
0
-1
-18
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
5
18
18
53
23
26
10
14
-17
26
72
12
-6
-12
44
-14
-9
37
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-38
68
36
-29
48
11
76
-39
10
-68
-58
16
23
-39
-45
-5
-32
-32
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
31
52
44
-6
53
18
19
14
36
25
62
-62
1
3
5
53
7
-40
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
52
-18
29
-3
-2
-17
25
-16
-9
0
10
47
-2
-7
-2
-8
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
44
23
-17
-5
8
71
-15
-51
-53
4
4
-62
0
-19
19
12
-35
-20
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
17
-31
25
5
59
-27
-29
37
-13
21
-47
-9
49
-25
-46
-2
-76
72
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
14
5
-14
4
-18
-23
50
39
-23
3
-43
48
-25
3
3
55
51
-78
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
37
-16
-5
-4
-21
31
9
11
1
9
-60
29
3
2
5
-54
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
43
53
33
14
-35
5
-2
7
-31
64
68
15
-19
15
-20
31
-5
10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-1
32
30
44
-11
-27
34
30
16
-1
-5
1
-18
-8
3
7
-6
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
77
36
-25
-2
3
-55
8
7
-3
0
-32
-1
-3
-3
0
-4
15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
32
17
-8
-3
0
-5
14
-9
1
0
2
2
14
-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
-9
45
41
9
-38
65
13
-9
94
-17
30
-9
70
-48
49
1
-41
14
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-70
-9
13
-14
11
27
14
65
17
4
15
-26
-23
1
-10
-5
-16
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
81
-64
22
-23
17
-14
-31
23
-1
8
-2
4
-3
13
-13
44
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
33
7
4
-22
6
-19
-34
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
-1
45
26
-24
7
8
16
-6
10
24
19
-6
5
-14
-4
79
39
15
64
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-33
-85
-15
-2
58
-3
16
-15
-18
66
5
18
-21
2
-119
22
21
26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
24
54
12
-16
-74
46
-67
-39
57
-1
-9
10
14
-10
6
0
-10
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-28
-10
1
1
15
2
17
2
-2
-25
7
-5
-1
0
3
-4
23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
142
80
53
-18
-89
-2
21
80
-35
58
23
34
53
-51
54
-82
-47
51
-15
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
20
71
-7
-17
3
55
2
-13
43
22
-37
-39
-13
-40
43
-32
-19
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-19
31
63
9
-41
33
29
6
-4
-11
-20
28
3
-15
39
-96
-22
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
40
57
-33
13
30
-10
-61
-4
3
-4
26
-23
0
1
21
-31
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
12
-6
44
19
-3
25
97
71
-54
-21
14
30
-2
-44
12
64
-10
22
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-37
15
-98
-14
57
28
22
-33
-14
25
-27
21
17
-2
-4
-89
45
13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
18
2
8
-7
26
10
-6
16
-1
18
7
-8
-34
4
-19
-7
-12
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-9
-18
18
-53
35
-29
23
-60
-29
4
30
0
1
-65
-2
6
-84
35
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
32
-18
35
17
-5
32
11
23
37
-18
60
36
2
-21
0
-1
-48
90
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-49
39
24
68
86
25
-27
-25
-17
-5
-49
-7
-5
-5
103
7
-23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-3
5
34
-9
-5
-11
-6
28
-17
-21
-25
-51
0
-22
-27
-39
-62
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
7
34
-55
-53
35
-13
-71
-22
-43
0
-42
-17
63
-1
-10
32
30
-74
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
35
-12
74
-18
17
94
37
6
4
-6
47
104
18
-25
25
47
8
5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-4
42
57
-5
18
-34
22
-10
-23
-4
36
-15
-39
-4
-5
5
15
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
8
2
20
15
-104
9
15
-14
-59
1
-34
-9
18
-38
-34
-18
-11
-64
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
9
18
-43
13
54
-70
-33
-67
5
-62
-59
32
5
-22
14
-55
-17
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-14
-2
-5
10
17
42
-18
102
5
-56
-30
-38
36
-2
18
-4
28
-14
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-63
37
-24
-7
26
18
-16
-18
5
0
-29
10
23
0
-23
-19
-43
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-6
3
-7
2
-22
-24
-5
-7
27
-43
-25
7
46
-6
-62
-24
-42
-32
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-28
-24
-19
46
-37
51
-9
-55
-16
-28
-65
-66
5
-5
-20
-62
38
-31
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
69
-16
-39
38
5
-12
73
-10
14
4
-53
-19
-24
-8
26
51
-3
60
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
64
-59
-28
15
6
-43
-42
-32
-5
-4
45
-5
1
-7
-13
26
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
14
43
32
-23
-12
35
15
24
16
-6
44
55
23
-126
-68
49
-15
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
11
36
62
-20
26
93
16
-68
-22
2
-18
-24
-69
21
0
-75
-4
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
38
52
12
0
41
49
-16
-98
30
2
134
95
-56
-33
24
-12
-32
12
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
22
-31
-30
25
-52
54
10
-17
-9
-10
0
3
1
0
3
-7
-35
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-34
62
-55
-1
-63
-4
-30
-57
47
-18
-27
5
-5
1
-12
-75
-36
53
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
38
37
-53
-81
66
62
-55
-18
-11
0
-29
-29
33
-45
7
14
-26
-45
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
39
7
0
5
-1
3
-36
9
19
23
-33
29
35
-18
-7
-26
-14
-11
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
46
-30
129
-45
14
-59
-20
14
-11
0
-29
8
-10
9
2
-5
-14
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
1
-9
-16
-18
-27
0
46
-18
-13
-36
-5
23
-18
-82
-32
-60
22
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
87
-49
-66
-46
-4
54
45
-31
-42
27
-56
-18
-4
5
11
-30
13
-18
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
18
8
53
-33
-17
27
-41
66
60
-47
-50
83
77
2
15
33
2
-11
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
53
-9
-77
26
11
-7
5
30
-79
-2
5
-18
-8
-13
-77
-103
22
32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
-9
-11
7
-3
-50
-24
-51
45
-60
-14
-24
-26
-96
37
-70
-67
-22
-58
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
33
-53
-41
36
-8
43
-35
-5
-139
-16
38
-8
-48
26
14
23
-7
-52
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
-17
-14
23
41
8
33
-36
34
-26
86
-6
-26
5
-31
-11
63
65
-35
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-115
-54
64
-24
35
43
49
-17
-4
35
-37
5
0
50
-1
33
5
10
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
24
7
-8
-60
0
-6
-17
-43
8
72
-9
-4
-83
-37
12
-59
-8
-14
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
5
8
30
-10
-21
-1
-1
41
20
45
-3
-6
-51
15
-45
-4
16
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-48
43
88
43
-5
24
25
7
-34
59
73
-24
43
-25
-5
-21
46
-62
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
132
-12
-90
16
13
-23
-12
-22
-2
5
17
-11
13
3
25
-38
-23
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
15
13
23
5
-83
-35
5
33
-22
55
-6
2
-45
-33
-64
18
-35
-69
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-12
-7
21
34
16
-20
-3
37
67
24
17
-21
-25
2
-121
-77
41
-72
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-35
53
-32
-17
18
-42
55
51
43
-35
-28
17
26
31
-5
-62
43
-5
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-23
6
-9
17
7
15
49
-9
-5
6
7
95
-8
-15
-15
20
-25
10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
29
4
-80
-23
-21
-7
0
-3
0
-51
-19
-38
8
28
-101
-26
100
-12
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
4
15
54
55
-86
-25
61
-64
30
32
12
-7
-22
-154
4
-5
34
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
38
-73
68
23
25
4
41
38
35
23
-52
-24
-26
-2
30
77
-71
-90
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
82
53
79
-14
-48
44
11
-16
17
-17
-6
-13
2
0
-65
-46
35
60
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-67
13
21
56
57
-101
40
52
8
-44
95
138
33
-25
-49
-110
-103
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
-53
49
-17
8
-10
-74
-4
-8
9
-27
-4
-31
-28
0
79
38
-18
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
38
-34
75
15
62
20
39
-51
15
14
56
-16
59
48
-106
-33
15
92
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
-59
2
-9
30
-44
14
27
-22
-1
11
3
-7
-27
-3
47
-23
33
53
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-11
-16
15
53
-38
-15
-95
-2
24
-9
0
-53
-38
-72
-131
-57
-94
3
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
28
-7
-9
-25
-66
-2
-4
22
-8
-11
19
47
-11
-86
2
15
-109
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-22
62
10
-1
58
-6
28
36
-50
-7
-11
14
-2
14
-8
68
-76
1
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
24
60
41
-39
-4
27
28
18
64
4
-16
11
-3
-1
22
-4
-28
-9
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-7
14
-33
-18
87
16
-26
35
-80
-163
8
61
58
-8
-25
-7
73
-14
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
-4
18
33
-42
-23
-45
6
39
1
76
31
-74
-28
-114
-128
11
35
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
15
51
-26
18
61
-23
-13
50
27
-63
50
9
2
-26
-8
19
-37
52
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
20
49
2
26
-35
5
0
-15
0
21
-47
10
45
-18
22
-7
36
-45
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
11
-32
5
-3
-24
-6
-39
-25
-46
-83
-56
-54
26
-14
-48
-177
-37
31
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
17
-20
11
43
-18
24
-13
-42
-53
-49
45
-62
69
-34
-42
-8
-41
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-42
60
46
-28
-36
-35
4
-4
-30
30
22
-13
1
58
-51
-12
-25
-36
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
4
88
61
-24
-2
-38
58
-5
62
19
-17
-40
30
8
-5
-2
16
-17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
2
-31
-63
-42
-111
24
42
-26
43
-90
-41
-81
-66
-5
98
2
-29
45
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-3
-24
-45
-3
-88
-112
31
3
-9
60
-65
-29
25
31
1
-72
5
80
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
44
32
0
0
37
0
-18
0
0
86
57
77
0
0
7
44
37
0
0
54
40
24
0
0
10
6
65
0
0
5
79
2
0
0
-2
-34
-6
0
0
27
58
0
0
0
-73
64
15
0
0
65
-74
26
0
0
47
53
46
0
0
51
38
7
0
0
0
46
-23
0
0
81
13
-27
0
0
-71
32
63
0
0
38
39
-46
0
0
46
-63
-16
0
0
-8
60
1
0
0
50
53
4
0
0
80
-43
-18
0
0
-25
2
96
0
0
5
-15
31
0
0
-68
-11
82
0
0
-1
59
21
0
0
-47
-69
41
0
0
-9
-21
45
0
0
-5
22
-68
0
0
16
58
42
0
0
-20
-3
11
0
0
62
-20
26
11
20
-66
3
-71
0
0
7
24
-43
0
0
-10
5
36
0
0
41
42
25
0
0
23
34
9
0
0
68
-86
69
0
0
56
-20
3
0
0
12
23
24
0
0
-34
31
45
0
0
43
26
-2
0
0
11
19
-29
0
0
-44
33
3
0
0
-21
69
81
0
0
27
-1
-2
0
0
-63
27
13
0
0
35
64
-9
0
0
5
54
-37
0
0
21
59
-65
0
0
56
37
20
0
0
-2
-44
16
0
0
-32
-30
9
0
0
62
-64
43
0
0
-30
-30
-5
0
0
26
-20
-34
0
0
-36
-18
-19
0
0
-18
13
-3
0
0
35
10
78
0
0
0
-67
-8
0
0
-27
62
54
0
0
55
-18
-15
0
0
73
-8
2
0
0
-22
50
-37
-2
5
141
5
52
0
0
3
-52
13
0
0
15
-9
-69
0
0
14
19
46
0
0
-18
10
3
0
0
-26
67
3
0
0
-4
40
111
0
0
-13
2
-15
0
0
17
86
-43
0
0
77
-23
15
0
0
-3
7
5
0
0
95
21
6
0
0
20
-11
-21
0
0
-5
-8
0
0
0
-27
13
-7
0
0
29
-23
-24
0
0
62
-7
-1
0
0
8
-28
46
0
0
3
1
5
0
0
-1
34
-73
0
0
34
19
-10
0
0
-25
14
19
0
0
-25
43
-34
0
0
-2
-24
-7
0
0
-11
4
59
0
0
-11
-5
-33
0
0
1
-61
-45
0
0
0
74
-58
0
0
7
50
37
0
0
-23
-5
-68
0
0
-31
77
11
0
0
0
-12
-71
-11
-4
34
-40
6
0
0
-49
35
120
0
0
-15
25
-10
0
0
5
-19
-78
0
0
-4
15
-18
0
0
13
-2
61
0
0
27
15
20
0
0
24
-4
7
0
0
36
82
48
0
0
-47
57
-28
0
0
3
-12
-7
0
0
-14
-9
64
0
0
-41
39
24
0
0
-5
4
-9
0
0
-5
16
-36
0
0
3
-103
8
0
0
-10
102
-16
0
0
5
-14
-25
0
0
-38
20
60
0
0
-15
-27
9
0
0
39
-18
33
0
0
-71
-57
-8
0
0
-7
-5
7
0
0
-6
3
-5
0
0
-23
-29
16
0
0
2
32
-24
0
0
-6
23
-16
0
0
0
50
5
0
0
24
52
-42
0
0
21
-14
14
0
0
5
5
-25
0
0
30
-15
-18
-20
-22
-42
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
16
-1
43
0
0
-17
58
-53
0
0
-67
48
-5
0
0
38
15
-27
0
0
6
-71
17
0
0
14
22
2
0
0
-18
12
3
0
0
3
57
-2
0
0
78
-40
23
0
0
150
55
-9
0
0
71
-25
69
0
0
-39
144
8
0
0
22
-28
-18
0
0
-51
10
3
0
0
62
26
-27
0
0
47
3
32
0
0
-91
97
32
0
0
15
-134
5
0
0
-8
-5
5
0
0
10
9
7
0
0
11
-3
22
0
0
-25
15
-7
0
0
29
45
22
0
0
-14
3
17
0
0
5
26
10
0
0
0
38
-14
0
0
-26
-41
10
0
0
-17
32
-1
0
0
-6
57
-66
0
0
-81
3
91
11
6
-13
5
10
0
0
2
-26
45
0
0
-19
11
62
0
0
17
20
-17
0
0
22
45
-36
0
0
14
-81
-16
0
0
4
32
44
0
0
15
-25
5
0
0
-74
35
-49
0
0
67
110
10
0
0
47
72
13
0
0
13
-40
-59
0
0
-5
-69
52
0
0
15
15
53
0
0
0
-3
-68
0
0
-34
9
5
0
0
4
-11
5
0
0
50
14
5
0
0
-58
-23
4
0
0
-5
-5
-4
0
0
-13
-17
5
0
0
37
35
21
0
0
33
16
-33
0
0
-6
43
8
0
0
-34
42
-89
0
0
-8
-60
-22
0
0
-1
8
-11
0
0
0
-16
0
0
0
-3
-36
2
0
0
32
12
9
0
0
-13
-53
-9
0
0
-5
19
7
33
-17
-66
67
-19
0
0
12
-19
-2
0
0
-19
12
0
0
0
-15
-53
68
0
0
8
1
39
0
0
-2
5
2
0
0
-5
13
-1
0
0
7
-2
-14
0
0
2
-31
-2
0
0
-23
25
5
0
0
-19
-73
19
0
0
32
3
-23
0
0
50
49
-76
0
0
19
16
-2
0
0
3
-6
0
0
0
-49
20
-45
0
0
30
-2
8
0
0
-32
57
4
0
0
-13
36
25
0
0
18
9
-1
0
0
-47
15
-3
0
0
7
-17
-4
0
0
0
-3
1
0
0
1
-14
0
0
0
53
-12
3
0
0
-1
-6
2
0
0
0
-22
0
0
0
8
-33
7
0
0
-7
-9
4
0
0
36
33
7
0
0
0
23
-5
0
0
19
49
5
-4
3
9
-63
15
0
0
23
23
-22
0
0
56
-32
-7
0
0
-36
44
-77
0
0
-51
23
-30
0
0
76
10
-3
0
0
-15
2
15
0
0
-5
-19
-1
0
0
-15
-20
1
0
0
49
33
-26
0
0
5
37
30
0
0
39
-11
-8
0
0
3
0
44
0
0
-1
-16
-5
0
0
-5
-3
39
0
0
3
-35
-14
0
0
-10
-83
-7
0
0
-15
35
5
0
0
22
-46
-7
0
0
-1
14
-2
0
0
60
16
5
0
0
0
-5
0
0
0
0
0
-1
0
0
1
0
0
0
0
12
-7
-4
0
0
-1
-42
1
0
0
-1
39
3
0
0
0
4
-1
0
0
6
8
-8
0
0
24
-63
-15
0
0
-17
-19
0
0
0
-21
20
0
-41
-39
4
-15
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
20
59
54
0
0
64
30
-61
0
0
23
25
92
0
0
11
14
-17
0
0
-35
20
18
0
0
-1
-13
-19
0
0
3
35
-11
0
0
-66
34
39
0
0
140
4
-26
0
0
13
-7
13
0
0
0
76
-1
0
0
68
-9
16
0
0
36
-32
-24
0
0
22
21
-43
0
0
20
35
10
0
0
2
36
2
0
0
11
-2
-5
0
0
10
64
10
0
0
12
-5
-5
0
0
2
-12
11
0
0
14
-13
-65
0
0
25
56
-4
0
0
44
-18
-10
0
0
18
-5
8
0
0
-13
51
53
0
0
-82
51
-24
0
0
-37
-48
-18
0
0
-124
-53
-4
0
0
13
44
-1
0
0
-67
3
14
0
0
29
-42
86
13
5
8
-40
-3
0
0
-19
10
12
0
0
1
-42
18
0
0
13
25
4
0
0
28
17
21
0
0
-29
-29
43
0
0
27
20
-6
0
0
-17
-25
7
0
0
-17
21
-35
0
0
19
6
-4
0
0
18
46
-17
0
0
-44
-87
43
0
0
23
24
-43
0
0
-15
6
0
0
0
7
14
35
0
0
-18
91
6
0
0
8
22
-14
0
0
-21
15
63
0
0
13
-23
-36
0
0
-40
9
24
0
0
47
-60
-19
0
0
-38
5
-9
0
0
37
-33
-31
0
0
-7
9
-81
0
0
50
-16
51
0
0
-4
49
54
0
0
35
32
8
0
0
107
-42
61
0
0
-3
19
10
0
0
7
-17
-23
0
0
-39
-5
90
0
0
-54
-65
-96
-1
0
-24
-4
-119
0
0
-2
9
16
0
0
-6
16
-10
0
0
-52
-12
-7
0
0
-49
8
20
0
0
69
-54
-14
0
0
18
3
14
0
0
-17
8
3
0
0
52
-10
-10
0
0
-77
11
0
0
0
-19
0
0
0
0
-4
10
1
0
0
-1
1
0
0
0
-7
5
0
0
0
0
-29
1
0
0
-38
43
11
0
0
70
-29
-1
0
0
-11
64
5
0
0
-29
-13
-2
0
0
-1
-29
-6
0
0
6
56
-56
0
0
2
-5
-41
0
0
-61
103
2
0
0
99
-6
-33
0
0
-9
-99
20
0
0
-14
-6
0
0
0
-20
-23
-15
0
0
-61
6
-61
0
0
39
50
-96
0
0
50
15
22
0
0
-7
-16
13
0
0
-78
-51
11
-6
-16
51
-91
-40
0
0
-33
-36
-40
0
0
23
-37
-53
0
0
-23
2
-16
0
0
44
48
-21
0
0
-16
-8
31
0
0
0
0
-8
0
0
-1
31
0
0
0
37
34
3
0
0
5
-33
0
0
0
17
-17
-2
0
0
-27
-20
-7
0
0
-20
-13
46
0
0
-37
5
-1
0
0
-1
21
0
0
0
-4
-71
1
0
0
-42
27
41
0
0
-14
2
10
0
0
-65
-32
53
0
0
-43
27
33
0
0
3
-33
14
0
0
-22
-41
25
0
0
-5
-24
-116
0
0
3
-19
-21
0
0
28
-16
-83
0
0
-5
-4
-8
0
0
34
43
21
0
0
-34
-29
47
0
0
33
28
-38
0
0
-61
-5
16
0
0
21
-62
32
0
0
82
-53
-63
-11
-19
-48
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
24
-51
-52
0
0
45
-39
-33
0
0
-63
-50
10
0
0
13
-14
16
0
0
29
-27
14
0
0
23
-16
0
0
0
-38
-11
-6
0
0
7
5
-2
0
0
-8
-39
3
0
0
18
-19
19
0
0
-6
69
-11
0
0
33
-16
4
0
0
-6
2
-9
0
0
45
-14
2
0
0
25
-96
-55
0
0
14
15
31
0
0
85
34
-28
0
0
9
27
-85
0
0
30
-138
-31
0
0
-52
44
46
0
0
-40
-23
-36
0
0
19
30
-16
0
0
-8
-31
32
0
0
15
15
18
0
0
-59
75
3
0
0
5
-54
-6
0
0
-60
43
-6
0
0
50
15
-9
0
0
-41
1
-10
0
0
-25
12
10
1
7
-7
16
42
0
0
32
95
21
0
0
7
-7
13
0
0
-74
-60
-3
0
0
1
-23
-24
0
0
1
13
-5
0
0
24
-42
-5
0
0
0
31
-1
0
0
-14
46
-14
0
0
1
36
8
0
0
-67
-31
27
0
0
16
16
16
0
0
-49
43
-21
0
0
3
5
1
0
0
9
19
2
0
0
3
-19
4
0
0
-14
34
-5
0
0
-1
-25
48
0
0
-38
-10
-26
0
0
19
50
0
0
0
-78
25
70
0
0
-28
46
-5
0
0
-4
-83
-27
0
0
-18
-63
-6
0
0
-109
-22
-6
0
0
-12
30
34
0
0
36
-12
16
0
0
20
-9
11
0
0
4
0
-31
0
0
12
-21
-43
0
0
76
17
15
0
0
-10
28
-5
13
-12
-8
-33
23
0
0
-18
56
33
0
0
-26
4
-5
0
0
41
-1
11
0
0
-53
66
11
0
0
-39
11
3
0
0
-5
0
0
0
0
10
-52
-2
0
0
15
14
1
0
0
13
37
0
0
0
1
4
0
0
0
2
-119
5
0
0
-13
-17
-8
0
0
1
-8
0
0
0
0
-9
0
0
0
2
6
1
0
0
26
-73
-1
0
0
-36
-35
-4
0
0
-42
-43
1
0
0
-13
-70
-33
0
0
-74
-15
-23
0
0
4
-44
-19
0
0
15
-76
-59
0
0
-73
-53
-25
0
0
-10
39
-21
0
0
-2
-18
-1
0
0
-10
-4
-27
0
0
7
-6
30
0
0
2
48
35
0
0
-60
26
-47
0
0
3
5
6
0
0
-17
53
14
0
-13
-51
-15
55
0
0
-13
-45
5
0
0
-23
-3
2
0
0
3
0
-29
0
0
-73
44
-16
0
0
-3
-5
-3
0
0
-8
-25
5
0
0
-9
7
0
0
0
-71
14
-4
0
0
-5
20
2
0
0
1
-2
0
0
0
0
16
2
0
0
-72
-36
33
0
0
0
1
0
0
0
0
1
0
0
0
4
0
2
0
0
-47
-24
-4
0
0
-42
-73
-26
0
0
29
2
-38
0
0
-6
69
-58
0
0
-22
-12
-84
0
0
5
6
-3
0
0
3
-20
15
0
0
-53
25
-35
0
0
-76
7
-40
0
0
28
-35
-25
0
0
44
-75
-58
0
0
4
62
-80
0
0
3
13
65
0
0
-12
82
89
0
0
6
16
-15
0
0
44
-26
22
-20
1
-70
-49
-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
-16
63
-40
0
0
21
-12
32
0
0
69
104
-10
0
0
73
104
-15
0
0
-23
-18
6
0
0
93
42
5
0
0
28
31
-7
0
0
7
-67
33
0
0
72
83
-10
0
0
0
31
-15
0
0
-59
35
25
0
0
46
51
101
0
0
58
34
35
0
0
-3
12
-15
0
0
37
-71
-18
0
0
-2
63
58
0
0
105
9
0
0
0
-22
-26
56
0
0
53
-45
5
0
0
-16
19
36
0
0
-57
28
29
0
0
-17
6
37
0
0
22
-30
22
0
0
-24
63
14
0
0
90
49
33
0
0
-31
-38
7
0
0
-36
19
74
0
0
56
15
-62
0
0
-40
-4
-44
0
0
14
-42
53
0
0
-43
-80
-9
15
51
-19
13
60
0
0
32
8
48
0
0
0
11
8
0
0
6
-34
36
0
0
-55
10
0
0
0
-59
-42
-3
0
0
-16
21
2
0
0
20
44
20
0
0
-24
29
45
0
0
89
3
24
0
0
5
25
-59
0
0
-54
-1
32
0
0
-32
22
9
0
0
-6
36
-13
0
0
23
1
-23
0
0
31
2
-6
0
0
86
11
49
0
0
44
6
-24
0
0
-39
58
25
0
0
20
56
5
0
0
38
-15
-24
0
0
-19
40
-2
0
0
-22
-9
28
0
0
-10
45
-2
0
0
51
48
16
0
0
-2
-53
-1
0
0
71
33
-3
0
0
-11
15
-4
0
0
40
33
7
0
0
-10
-1
17
0
0
44
36
63
0
0
-33
52
-1
26
10
17
-65
62
0
0
44
-40
21
0
0
31
43
-38
0
0
19
37
-18
0
0
50
49
-33
0
0
-10
-3
14
0
0
-73
22
18
0
0
39
-19
0
0
0
-44
53
24
0
0
-3
5
-14
0
0
-3
0
25
0
0
-2
9
-4
0
0
21
36
-10
0
0
-14
-6
-2
0
0
-1
16
-37
0
0
-17
11
-4
0
0
20
-5
33
0
0
20
23
-5
0
0
22
-43
41
0
0
8
-3
-7
0
0
5
-5
-21
0
0
-16
22
22
0
0
-43
5
-7
0
0
2
-21
9
0
0
5
3
60
0
0
-15
-3
24
0
0
19
-10
6
0
0
-2
11
-25
0
0
27
-37
15
0
0
13
34
6
0
0
4
-38
53
0
0
74
-5
-7
9
2
-49
-11
19
0
0
34
-22
-5
0
0
-33
17
-32
0
0
-7
52
33
0
0
42
-1
-23
0
0
-76
82
65
0
0
0
-38
9
0
0
-48
-1
4
0
0
77
58
-43
0
0
-25
50
4
0
0
-15
7
-22
0
0
99
-45
75
0
0
71
128
16
0
0
21
14
-2
0
0
-4
-18
-7
0
0
13
0
-10
0
0
39
-88
-29
0
0
35
-34
8
0
0
-49
111
36
0
0
0
-4
-32
0
0
36
-42
-4
0
0
-8
-10
1
0
0
-1
-2
21
0
0
1
-19
-6
0
0
32
22
59
0
0
23
107
1
0
0
-29
-5
-9
0
0
13
-76
-5
0
0
5
59
69
0
0
9
5
23
0
0
3
-31
-20
0
0
-71
-22
-86
-26
20
8
-11
26
0
0
0
-25
-22
0
0
44
0
30
0
0
-58
-30
6
0
0
42
26
31
0
0
-1
64
5
0
0
10
-23
43
0
0
23
-7
0
0
0
20
27
44
0
0
-2
90
-2
0
0
-43
12
9
0
0
9
23
-6
0
0
-34
30
3
0
0
-3
-11
0
0
0
0
17
-3
0
0
-3
14
14
0
0
33
-3
7
0
0
7
-16
-3
0
0
0
6
8
0
0
-6
-3
-1
0
0
23
-23
-1
0
0
23
5
1
0
0
22
23
11
0
0
5
5
-1
0
0
32
-51
-9
0
0
6
-48
11
0
0
-8
-62
-18
0
0
0
43
5
0
0
-24
-54
-17
0
0
10
128
1
0
0
7
-62
3
0
0
0
33
-1
2
54
5
13
16
0
0
24
-6
40
0
0
69
-23
-8
0
0
-68
53
-2
0
0
-25
20
4
0
0
66
-81
33
0
0
7
-33
0
0
0
-13
-6
-1
0
0
-25
-12
-5
0
0
33
-23
-18
0
0
53
-43
17
0
0
-20
31
-6
0
0
4
-27
-1
0
0
-5
0
-1
0
0
5
7
-2
0
0
3
16
0
0
0
0
44
4
0
0
-23
31
-25
0
0
41
1
27
0
0
-1
17
-1
0
0
26
-16
-1
0
0
2
-23
0
0
0
-6
-37
0
0
0
0
2
0
0
0
-43
-36
0
0
0
2
-49
-9
0
0
-10
-30
18
0
0
-22
-8
-26
0
0
43
-35
-16
0
0
21
-41
-5
0
0
-15
20
-36
0
0
-8
99
-2
17
-44
30
-11
26
0
0
-50
24
53
0
0
29
43
-12
0
0
-13
-1
-55
0
0
99
68
-43
0
0
48
1
3
0
0
-13
7
-5
0
0
0
10
-2
0
0
14
24
-11
0
0
17
3
1
0
0
-23
9
-3
0
0
1
-14
10
0
0
30
-9
-1
0
0
0
9
2
0
0
0
5
0
0
0
0
-7
0
0
0
-5
22
0
0
0
15
36
-6
0
0
-33
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
-10
-2
0
0
1
-52
0
0
0
0
4
3
0
0
-1
-4
-7
0
0
-4
5
10
0
0
-7
-27
2
0
0
-5
5
1
0
0
-5
-14
1
46
-34
82
-18
-3
0
0
7
42
64
0
0
12
2
35
0
0
-3
23
-71
0
0
-16
80
-3
0
0
-19
-34
22
0
0
46
8
-32
0
0
-2
37
4
0
0
4
14
-34
0
0
61
71
1
0
0
-4
-6
-11
0
0
-10
5
-17
0
0
1
-37
4
0
0
-10
10
5
0
0
1
-5
0
0
0
0
32
-14
0
0
-37
28
-7
0
0
-55
42
-10
0
0
-29
-34
7
0
0
-7
5
1
0
0
74
15
0
0
0
0
9
-10
0
0
0
4
0
0
0
-1
13
0
0
0
53
27
-1
0
0
-14
30
11
0
0
-29
-17
14
0
0
-3
27
2
0
0
9
36
5
0
0
-54
23
17
0
0
-2
33
-37
0
0
19
-18
8
-19
11
-28
-40
17
0
0
2
-22
19
0
0
74
-12
-2
0
0
43
-8
5
0
0
-52
-11
62
0
0
15
-14
7
0
0
52
-27
-22
0
0
6
9
2
0
0
-32
12
13
0
0
5
40
-5
0
0
64
48
32
0
0
77
-48
35
0
0
62
-26
-25
0
0
35
-32
23
0
0
3
0
25
0
0
23
4
10
0
0
17
74
-83
0
0
-49
25
6
0
0
-39
-16
-45
0
0
48
-3
1
0
0
-79
-17
18
0
0
12
1
-5
0
0
0
46
10
0
0
-5
34
8
0
0
48
10
-16
0
0
40
46
-13
0
0
-14
32
-5
0
0
2
7
13
0
0
8
3
-29
0
0
-21
58
5
0
0
0
11
-22
0
0
14
59
-8
20
22
-35
-36
58
0
0
-18
5
-4
0
0
3
-6
26
0
0
-19
29
-3
0
0
-1
-28
-60
0
0
-6
35
8
0
0
35
-30
35
0
0
2
4
0
0
0
-63
57
-4
0
0
43
31
14
0
0
28
-17
4
0
0
61
-1
-13
0
0
14
29
16
0
0
0
17
-4
0
0
-4
-2
-5
0
0
-7
-2
-6
0
0
7
13
41
0
0
74
-7
-9
0
0
5
17
-8
0
0
-31
-10
-3
0
0
14
-21
1
0
0
13
3
3
0
0
-3
18
-4
0
0
-2
-19
-1
0
0
4
-66
-6
0
0
6
-9
-30
0
0
5
56
5
0
0
0
32
-7
0
0
2
43
-17
0
0
31
-33
-4
0
0
-12
-18
-18
0
0
-5
-4
14
2
11
-57
-5
15
0
0
46
-68
42
0
0
-13
-20
-18
0
0
19
18
24
0
0
-69
6
53
0
0
-7
19
11
0
0
29
11
-11
0
0
-6
-3
2
0
0
-2
23
1
0
0
5
-48
5
0
0
32
-23
5
0
0
-18
11
-1
0
0
37
-27
10
0
0
3
11
-1
0
0
-1
0
-1
0
0
-4
5
0
0
0
-25
-1
0
0
0
53
-3
2
0
0
-7
24
1
0
0
-1
9
5
0
0
-33
-5
-6
0
0
17
-34
-5
0
0
-2
-4
-26
0
0
0
3
-4
0
0
-29
70
3
0
0
0
47
-19
0
0
26
-5
2
0
0
0
5
1
0
0
1
-33
-3
0
0
-3
-18
1
0
0
2
-4
-2
0
0
21
7
0
13
-9
33
-46
-46
0
0
31
51
0
0
0
54
23
-62
0
0
32
-3
-2
0
0
33
6
0
0
0
-16
76
-13
0
0
-29
-16
17
0
0
-5
-13
-6
0
0
3
11
9
0
0
6
-5
-6
0
0
47
-6
23
0
0
41
-9
-6
0
0
62
15
14
0
0
0
4
0
0
0
-2
6
0
0
0
-3
15
7
0
0
-33
-27
-22
0
0
3
128
0
0
0
15
-52
-7
0
0
-10
-33
3
0
0
-12
-24
4
0
0
14
4
1
0
0
0
2
-4
0
0
-3
-19
3
0
0
-46
6
6
0
0
14
6
0
0
0
-7
22
-3
0
0
1
-18
-5
0
0
-100
7
10
0
0
-1
-51
-3
0
0
-1
9
-6
0
0
-16
-49
-1
-1
-1
-3
-31
-44
0
0
-5
6
41
0
0
13
-6
28
0
0
-25
3
-15
0
0
-32
-55
-4
0
0
30
-27
5
0
0
-33
4
2
0
0
10
-18
5
0
0
31
-14
0
0
0
-10
-18
0
0
0
-5
18
0
0
0
9
21
2
0
0
-30
6
15
0
0
0
-1
1
0
0
0
-3
0
0
0
0
-4
4
0
0
-27
9
-1
0
0
-27
-2
-16
0
0
49
-5
29
0
0
2
-5
-6
0
0
4
18
1
0
0
-43
4
-3
0
0
2
-5
0
0
0
0
10
0
0
0
-32
-26
-27
0
0
9
43
0
0
0
-4
-3
5
0
0
0
-6
0
0
0
-3
5
-10
0
0
4
-30
0
0
0
-3
-5
2
0
0
27
-3
-1
20
-34
31
14
2
0
0
-33
69
3
0
0
-23
-5
-10
0
0
3
-41
13
0
0
-33
-28
-10
0
0
-23
0
-23
0
0
46
51
0
0
0
-3
-4
1
0
0
-78
29
-2
0
0
72
-29
8
0
0
45
-44
1
0
0
6
-46
0
0
0
-111
-53
3
0
0
0
27
0
0
0
-2
8
0
0
0
1
3
0
0
0
9
-5
3
0
0
-26
11
0
0
0
9
-19
-1
0
0
8
-5
1
0
0
-74
11
5
0
0
3
-16
5
0
0
1
-2
-5
0
0
0
1
0
0
0
10
5
0
0
0
8
68
-19
0
0
3
4
1
0
0
-2
-1
3
0
0
-11
-8
0
0
0
-6
27
-3
0
0
6
-24
-1
0
0
10
2
-2
-11
-1
15
23
5
0
0
30
80
-20
0
0
-18
41
-11
0
0
-43
-27
-36
0
0
-48
30
40
0
0
2
53
-2
0
0
30
20
-4
0
0
4
1
-2
0
0
41
-48
-5
0
0
0
46
-2
0
0
5
2
-14
0
0
-21
44
3
0
0
-9
0
14
0
0
0
-1
0
0
0
0
3
0
0
0
-1
7
0
0
0
26
-30
0
0
0
36
-1
0
0
0
-56
-15
9
0
0
-5
5
0
0
0
-3
18
-2
0
0
-22
3
-1
0
0
-1
-3
-4
0
0
0
-8
0
0
0
-43
-33
-3
0
0
1
18
7
0
0
14
19
2
0
0
-2
-14
0
0
0
-1
-5
4
0
0
6
-63
0
0
0
2
25
0
0
0
-30
5
-1
-23
-15
52
-43
5
0
0
57
24
-7
0
0
29
-28
56
0
0
-17
5
57
0
0
47
51
15
0
0
-1
-31
25
0
0
30
-44
-4
0
0
-8
5
-5
0
0
-53
53
-14
0
0
-19
1
6
0
0
24
-57
2
0
0
6
53
-3
0
0
-2
-16
0
0
0
-7
-59
0
0
0
-3
0
0
0
0
0
-2
-7
0
0
29
-43
-2
0
0
45
6
63
0
0
-109
-18
24
0
0
7
-27
-5
0
0
-62
126
1
0
0
5
4
-9
0
0
-3
-8
-5
0
0
-1
1
1
0
0
-38
-109
-11
0
0
-6
-18
3
0
0
-34
45
-2
0
0
0
10
3
0
0
23
-15
-1
0
0
50
15
2
0
0
-3
-20
0
0
0
-14
-17
14
15
0
-18
-79
-14
0
0
-9
-16
3
0
0
1
-16
2
0
0
24
-119
6
0
0
-8
46
-8
0
0
32
34
-4
0
0
31
-53
-2
0
0
-53
14
0
0
0
9
-45
0
0
0
21
-16
5
0
0
-33
-25
2
0
0
11
7
5
0
0
-34
-29
-47
0
0
-16
59
-10
0
0
32
13
0
0
0
-20
-23
3
0
0
-44
38
25
0
0
7
-26
-92
0
0
36
38
-37
0
0
12
-16
44
0
0
47
0
-40
0
0
-121
41
-43
0
0
-7
37
-54
0
0
37
29
9
0
0
-19
49
70
0
0
-23
87
-16
0
0
58
105
-25
0
0
33
-78
15
0
0
-21
71
62
0
0
-47
16
-32
0
0
-42
-6
61
0
0
-3
-7
2
22
11
-17
-21
43
0
0
-74
62
-15
0
0
82
24
-11
0
0
11
22
14
0
0
-48
-27
59
0
0
45
-80
-3
0
0
-15
76
32
0
0
-6
4
0
0
0
17
-19
-29
0
0
-24
-30
1
0
0
27
-14
-2
0
0
-11
48
6
0
0
-5
18
19
0
0
-65
-9
-5
0
0
-2
16
-34
0
0
-23
107
-19
0
0
44
-33
-38
0
0
64
4
-22
0
0
28
37
-14
0
0
21
-10
32
0
0
-39
10
-5
0
0
-74
-17
55
0
0
29
-27
5
0
0
105
-1
33
0
0
-22
8
-4
0
0
-120
-92
10
0
0
-51
5
-42
0
0
-60
50
-13
0
0
-91
63
-96
0
0
-52
-4
33
0
0
14
33
5
0
0
25
-71
5
9
3
-90
33
33
0
0
27
45
-9
0
0
-69
-13
32
0
0
-12
5
-2
0
0
-19
-6
5
0
0
3
-23
1
0
0
-41
2
-2
0
0
0
-1
-1
0
0
-17
-20
3
0
0
5
-2
0
0
0
-3
3
0
0
0
-2
14
-3
0
0
-36
-2
4
0
0
-1
-10
0
0
0
-4
0
1
0
0
5
-20
0
0
0
-15
6
-15
0
0
-20
9
-14
0
0
66
-30
0
0
0
-24
-10
16
0
0
-38
-6
29
0
0
65
-162
-24
0
0
-36
22
11
0
0
-8
-19
-59
0
0
-15
22
28
0
0
44
-22
-57
0
0
-40
-25
20
0
0
18
51
-20
0
0
64
-39
-10
0
0
-24
31
-35
0
0
-53
0
40
0
0
-75
-30
8
-3
4
-14
9
-62
0
0
58
53
-9
0
0
29
46
1
0
0
3
68
-55
0
0
36
27
-3
0
0
-1
12
-4
0
0
9
1
2
0
0
-6
1
2
0
0
29
-7
0
0
0
-54
31
0
0
0
14
4
-1
0
0
2
-11
7
0
0
-25
5
5
0
0
-2
7
-2
0
0
2
-31
0
0
0
-1
-3
1
0
0
-18
8
33
0
0
-15
-48
-13
0
0
-44
-10
24
0
0
-15
-38
-26
0
0
28
-26
-47
0
0
-9
-6
-9
0
0
-106
-63
-11
0
0
24
-13
-23
0
0
-40
-30
42
0
0
-9
-70
-5
0
0
-26
-35
-26
0
0
-14
22
-4
0
0
-66
28
5
0
0
65
-33
-35
0
0
-79
4
58
0
0
-66
-1
-48
-27
-8
-26
20
-71
0
0
2
33
32
0
0
48
-4
12
0
0
14
-28
-9
0
0
0
15
4
0
0
37
-3
0
0
0
4
-9
-2
0
0
2
0
0
0
0
-2
24
-4
0
0
14
-19
0
0
0
16
1
0
0
0
1
-43
0
0
0
6
-21
4
0
0
13
0
0
0
0
0
-26
0
0
0
-3
2
3
0
0
129
48
2
0
0
3
-29
32
0
0
24
65
14
0
0
-23
-27
15
0
0
15
-2
-39
0
0
31
-4
-66
0
0
20
0
60
0
0
-45
34
13
0
0
62
-74
-64
0
0
-52
4
-62
0
0
-25
-65
6
0
0
-30
-9
41
0
0
8
-4
44
0
0
-6
66
29
0
0
-2
-23
-17
0
0
-72
23
3
-1
-4
-11
33
-68
0
0
6
17
-1
0
0
6
-15
13
0
0
123
-16
-29
0
0
-53
43
13
0
0
10
-9
0
0
0
-8
1
-5
0
0
-2
2
0
0
0
28
18
0
0
0
49
24
-1
0
0
-39
32
0
0
0
10
-7
4
0
0
-44
48
-1
0
0
0
-20
-1
0
0
0
0
0
0
0
0
-14
1
0
0
-112
4
33
0
0
-8
-1
-1
0
0
5
-5
43
0
0
31
-67
-55
0
0
-81
-38
14
0
0
-55
-16
29
0
0
42
2
73
0
0
-43
96
-5
0
0
25
-39
-95
0
0
18
-30
-3
0
0
56
-17
1
0
0
-9
-60
20
0
0
7
34
14
0
0
25
-17
-41
0
0
23
42
-10
0
0
-7
8
15
-22
3
-78
-48
-5
0
0
5
79
3
0
0
0
19
-37
0
0
7
33
0
0
0
62
-90
4
0
0
-2
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
10
-1
1
0
0
0
15
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
18
-41
3
0
0
-57
16
77
0
0
13
-20
-53
0
0
-83
-48
21
0
0
11
15
36
0
0
-48
52
-29
0
0
3
-59
-123
0
0
-17
5
-51
0
0
-10
-47
46
0
0
-14
14
-23
0
0
8
5
9
0
0
-9
-83
-72
0
0
-65
-40
-68
0
0
4
-21
-19
0
0
1
17
-13
0
0
-5
-51
-3
-40
-15
-14
-73
4
0
0
5
-37
32
0
0
-56
-22
-19
0
0
33
-18
19
0
0
40
44
-2
0
0
3
4
1
0
0
0
-5
1
0
0
0
1
0
0
0
12
4
0
0
0
-3
17
0
0
0
-5
4
0
0
0
-25
-14
0
0
0
-39
46
1
0
0
0
-10
0
0
0
7
0
0
0
0
-2
-4
0
0
0
-51
-26
-3
0
0
-47
-18
45
0
0
27
-21
-45
0
0
-18
65
9
0
0
32
-4
-80
0
0
3
-1
-24
0
0
31
3
-167
0
0
14
-86
11
0
0
-9
-33
-47
0
0
-58
-36
53
0
0
-65
41
-58
0
0
19
56
16
0
0
50
-22
-74
0
0
-14
3
33
0
0
2
17
-21
0
0
-7
-12
-53
3
-16
-80
41
-27
0
0
-11
137
27
0
0
23
-134
46
0
0
24
17
48
0
0
12
8
-5
0
0
-39
-29
-19
0
0
-30
-50
37
0
0
5
17
0
0
0
58
64
14
0
0
47
21
-1
0
0
19
-6
4
0
0
10
-52
-16
0
0
44
-67
39
0
0
72
0
-14
0
0
1
-8
13
0
0
17
27
11
0
0
-8
42
-3
0
0
23
-33
65
0
0
30
4
-76
0
0
-62
-39
37
0
0
8
-56
28
0
0
63
53
11
0
0
-24
68
-23
0
0
-23
-73
14
0
0
-6
-33
23
0
0
19
10
-9
0
0
6
76
-38
0
0
-22
-5
46
0
0
-44
18
46
0
0
23
9
-9
0
0
12
-19
10
0
0
6
24
93
27
-3
46
11
18
0
0
-2
13
-11
0
0
-13
39
4
0
0
-20
6
-53
0
0
-76
54
34
0
0
69
-62
-2
0
0
2
-62
10
0
0
-10
-6
0
0
0
-70
16
10
0
0
16
26
-20
0
0
44
13
-5
0
0
52
-9
-4
0
0
15
-2
-8
0
0
-14
5
2
0
0
2
0
8
0
0
-3
20
2
0
0
-34
0
-43
0
0
6
-58
47
0
0
-112
39
15
0
0
14
-56
14
0
0
-12
8
-50
0
0
48
44
13
0
0
-29
-1
24
0
0
-33
-72
-36
0
0
-30
71
-61
0
0
26
48
-50
0
0
33
14
89
0
0
77
6
-38
0
0
-2
12
72
0
0
23
1
88
0
0
-36
-50
-13
0
0
62
-25
33
-6
-24
-2
-67
26
0
0
2
1
5
0
0
50
7
-27
0
0
14
100
18
0
0
-153
43
11
0
0
53
-42
3
0
0
31
-4
-3
0
0
0
-4
0
0
0
37
9
1
0
0
-5
-5
0
0
0
5
2
0
0
0
-4
2
1
0
0
-4
9
-5
0
0
1
4
-1
0
0
-1
-2
0
0
0
0
-2
0
0
0
56
5
1
0
0
-12
-85
5
0
0
1
24
-17
0
0
-68
3
-43
0
0
-50
-5
14
0
0
-22
-20
-10
0
0
3
-21
-30
0
0
-1
6
-111
0
0
7
29
-46
0
0
-16
21
60
0
0
-42
1
-28
0
0
58
1
4
0
0
-52
1
16
0
0
-35
-22
-14
0
0
42
50
130
0
0
71
-19
70
6
2
-98
32
33
0
0
24
-5
30
0
0
77
6
43
0
0
-23
38
10
0
0
-84
-79
35
0
0
28
-51
34
0
0
-8
9
15
0
0
0
1
2
0
0
-46
-13
-5
0
0
-33
18
1
0
0
-19
3
2
0
0
-8
3
1
0
0
-33
53
0
0
0
-1
-5
0
0
0
2
0
0
0
0
-1
3
0
0
0
54
-11
0
0
0
53
-60
-5
0
0
-66
71
7
0
0
-64
18
-81
0
0
-25
-38
-33
0
0
-20
-17
-14
0
0
5
-73
8
0
0
24
-109
-1
0
0
-2
15
-24
0
0
-31
9
58
0
0
67
-13
-81
0
0
-9
-20
22
0
0
-24
-35
-17
0
0
0
-5
1
0
0
116
-9
-41
0
0
70
-64
-14
-32
-25
-35
6
-24
0
0
40
-34
-2
0
0
-36
21
100
0
0
60
35
21
0
0
-43
37
-5
0
0
-35
28
7
0
0
8
13
-36
0
0
1
-6
-3
0
0
44
-9
29
0
0
-41
47
-33
0
0
21
-44
-14
0
0
-10
-34
-10
0
0
11
7
-14
0
0
-19
5
0
0
0
-7
7
-1
0
0
-41
-6
1
0
0
11
-14
-25
0
0
-32
12
23
0
0
40
6
-21
0
0
-25
-73
64
0
0
-23
-80
25
0
0
-6
-29
-36
0
0
-5
24
-34
0
0
5
-7
0
0
0
13
33
25
0
0
11
-16
40
0
0
-11
45
33
0
0
25
8
-59
0
0
30
-32
-30
0
0
85
39
-3
0
0
-95
-19
-5
0
0
-13
39
13
-15
-9
51
-47
32
0
0
-37
-5
66
0
0
-50
67
-34
0
0
31
-20
64
0
0
62
20
-43
0
0
53
-60
0
0
0
9
14
-52
0
0
-1
-2
0
0
0
-47
-23
0
0
0
23
2
-13
0
0
-5
-17
51
0
0
1
6
1
0
0
-6
-27
0
0
0
3
2
-1
0
0
-6
3
5
0
0
1
-1
4
0
0
-58
5
-36
0
0
-53
42
49
0
0
6
-52
-5
0
0
-85
0
51
0
0
-3
17
32
0
0
96
24
-9
0
0
19
-49
-1
0
0
3
5
-61
0
0
-117
-3
15
0
0
47
-44
-5
0
0
10
-62
48
0
0
-14
4
-33
0
0
-30
-23
-55
0
0
26
54
-26
0
0
17
-97
-35
0
0
2
30
26
-21
-13
-16
12
22
0
0
60
-68
-10
0
0
0
16
26
0
0
24
24
10
0
0
-5
35
-37
0
0
9
30
-1
0
0
-19
11
6
0
0
4
4
0
0
0
-78
4
-7
0
0
-47
45
-3
0
0
-73
43
7
0
0
1
-14
4
0
0
-2
11
-3
0
0
0
-6
1
0
0
0
-1
0
0
0
4
-27
3
0
0
29
-45
-17
0
0
-15
3
2
0
0
-14
26
-10
0
0
-71
60
-123
0
0
25
-85
-6
0
0
-36
-95
-14
0
0
-6
23
-19
0
0
-1
-72
59
0
0
-28
16
-51
0
0
3
-14
64
0
0
12
-28
-14
0
0
-6
-42
-100
0
0
-4
-64
-17
0
0
0
27
-63
0
0
-13
-20
-9
0
0
-34
-21
-70
-2
11
-40
-81
-137
0
0
16
4
29
0
0
22
16
11
0
0
-24
-16
-64
0
0
10
-62
-20
0
0
-16
33
1
0
0
-5
-13
-14
0
0
0
-25
-2
0
0
22
-72
-33
0
0
-45
-10
50
0
0
-7
-7
8
0
0
4
-14
14
0
0
12
-11
14
0
0
6
-6
4
0
0
0
-7
0
0
0
7
-2
1
0
0
-33
-33
-76
0
0
28
-32
1
0
0
-30
-42
-14
0
0
-135
46
-71
0
0
43
14
-15
0
0
-59
-44
-64
0
0
-44
-14
-20
0
0
-9
16
-19
0
0
-13
-115
-45
0
0
-41
-1
88
0
0
63
13
-5
0
0
-46
10
-63
0
0
31
23
-27
0
0
-19
16
32
0
0
-96
10
30
0
0
52
-48
-105
2
-32
-10
16
-143
0
0
-8
1
-39
0
0
50
36
56
0
0
14
5
31
0
0
-5
107
108
0
0
31
28
23
0
0
16
75
5
0
0
34
-61
8
0
0
32
26
22
0
0
19
90
-4
0
0
40
3
-4
0
0
-23
49
51
0
0
76
0
-16
0
0
19
10
9
0
0
-1
13
-13
0
0
-5
30
10
0
0
93
33
61
0
0
-73
37
-33
0
0
12
-37
44
0
0
-5
17
0
0
0
7
19
13
0
0
-1
36
7
0
0
55
35
-3
0
0
-19
9
14
0
0
-4
-14
62
0
0
-14
12
-9
0
0
-33
-52
-50
0
0
-22
18
25
0
0
32
-34
-78
0
0
26
71
18
0
0
-6
41
35
0
0
65
-38
12
34
44
44
51
6
0
0
-5
8
-51
0
0
88
-18
-28
0
0
71
-1
-73
0
0
35
26
-4
0
0
60
30
9
0
0
-43
-34
-9
0
0
22
20
2
0
0
-16
67
-5
0
0
84
52
33
0
0
-5
45
5
0
0
49
0
73
0
0
7
77
-5
0
0
-18
66
-2
0
0
5
45
-8
0
0
16
-17
34
0
0
-28
-2
54
0
0
7
-23
-19
0
0
-27
50
-17
0
0
4
65
-10
0
0
-1
16
-3
0
0
53
-45
71
0
0
21
-17
41
0
0
-4
73
43
0
0
-14
-63
-3
0
0
3
53
-41
0
0
2
64
7
0
0
-19
-13
-31
0
0
57
9
11
0
0
127
27
1
0
0
1
-12
20
0
0
-57
82
-52
-3
33
-43
-13
71
0
0
6
-3
59
0
0
80
54
-40
0
0
32
-22
15
0
0
-20
58
-33
0
0
-7
-18
50
0
0
64
26
54
0
0
-19
31
8
0
0
-60
75
7
0
0
-33
-23
-4
0
0
-26
-92
18
0
0
0
43
-62
0
0
-20
48
24
0
0
-4
24
-2
0
0
-2
2
-33
0
0
5
43
-53
0
0
-46
32
-25
0
0
43
-5
-5
0
0
-59
-10
24
0
0
43
-53
-5
0
0
9
-11
29
0
0
11
11
0
0
0
-24
-20
-2
0
0
-1
18
5
0
0
-59
11
48
0
0
84
-51
-5
0
0
7
1
-19
0
0
-14
20
2
0
0
-46
-37
44
0
0
-45
72
-5
0
0
10
-56
33
0
0
-59
17
-15
15
-7
8
-39
46
0
0
21
16
-46
0
0
38
-42
20
0
0
31
0
-49
0
0
-15
38
21
0
0
-39
44
32
0
0
22
-43
21
0
0
-22
-57
-5
0
0
71
27
51
0
0
-67
34
-13
0
0
14
53
-26
0
0
-23
71
66
0
0
27
19
-26
0
0
13
4
2
0
0
-7
43
1
0
0
-64
18
2
0
0
-43
87
23
0
0
77
-33
57
0
0
-44
10
36
0
0
-22
18
-9
0
0
-16
-33
-16
0
0
77
-52
-1
0
0
-35
-51
3
0
0
6
10
1
0
0
-57
-6
20
0
0
65
27
-25
0
0
52
7
-30
0
0
9
33
-41
0
0
10
-24
37
0
0
62
-23
10
0
0
23
8
27
0
0
59
3
-47
19
16
-80
-5
-14
0
0
-3
-8
1
0
0
7
-36
-21
0
0
1
18
-18
0
0
-39
51
0
0
0
29
-6
7
0
0
-28
34
36
0
0
1
2
1
0
0
78
15
10
0
0
17
-1
-1
0
0
-29
32
15
0
0
11
-17
-2
0
0
-10
10
23
0
0
-8
3
-3
0
0
-6
0
13
0
0
-1
2
15
0
0
7
25
9
0
0
-26
7
-2
0
0
-21
16
5
0
0
20
-8
0
0
0
34
0
5
0
0
-1
5
0
0
0
-8
-4
-5
0
0
0
0
0
0
0
20
-3
5
0
0
-31
18
6
0
0
53
6
-29
0
0
1
-8
-2
0
0
5
7
-18
0
0
9
-41
1
0
0
0
-18
3
0
0
-22
1
-13
40
-15
-19
47
-51
0
0
31
20
45
0
0
26
51
22
0
0
-91
-3
33
0
0
15
-38
0
0
0
17
30
-13
0
0
-8
-2
0
0
0
18
-14
0
0
0
-4
-14
-35
0
0
43
69
2
0
0
-5
19
-10
0
0
-45
-5
-3
0
0
-6
-6
-6
0
0
14
1
0
0
0
-1
15
1
0
0
25
2
-9
0
0
-17
40
1
0
0
19
1
-1
0
0
14
39
-3
0
0
-18
0
-3
0
0
-25
24
0
0
0
2
-54
0
0
0
-1
35
13
0
0
0
4
0
0
0
24
-5
-2
0
0
-1
-20
21
0
0
2
-11
2
0
0
2
-36
0
0
0
-41
29
-14
0
0
51
-74
-18
0
0
13
-20
-8
0
0
7
-3
0
1
-21
-62
-124
26
0
0
44
32
19
0
0
11
8
-1
0
0
-12
-19
5
0
0
-5
59
21
0
0
10
18
4
0
0
-27
14
23
0
0
-17
0
-2
0
0
44
5
-5
0
0
-17
-31
1
0
0
-2
5
-2
0
0
-8
-8
-1
0
0
3
-10
-1
0
0
0
0
0
0
0
0
-7
-2
0
0
-4
2
-1
0
0
0
-17
-4
0
0
23
34
0
0
0
-5
-15
3
0
0
-11
2
1
0
0
-11
3
0
0
0
-6
0
0
0
0
1
-6
-7
0
0
-1
-3
0
0
0
-19
-15
0
0
0
-5
11
1
0
0
-3
33
0
0
0
0
5
0
0
0
-1
14
-3
0
0
-1
2
0
0
0
-5
20
-4
0
0
5
10
0
-16
-10
-26
-27
-29
0
0
9
61
36
0
0
53
-8
21
0
0
-27
75
30
0
0
-26
21
-74
0
0
-81
-37
-4
0
0
63
24
-1
0
0
-14
5
6
0
0
-22
-12
19
0
0
32
82
7
0
0
17
5
0
0
0
47
-71
0
0
0
-5
-29
-2
0
0
0
-2
0
0
0
6
27
1
0
0
8
2
-3
0
0
-46
-72
5
0
0
-54
34
-4
0
0
-15
-2
23
0
0
24
-14
2
0
0
16
-5
14
0
0
-5
16
2
0
0
-5
31
1
0
0
0
1
0
0
0
-6
-8
-11
0
0
-4
-18
10
0
0
14
-2
-4
0
0
1
-26
0
0
0
-1
-19
0
0
0
60
4
-13
0
0
18
-15
2
0
0
5
66
9
16
-36
-39
-43
80
0
0
35
-46
4
0
0
-3
9
7
0
0
17
38
43
0
0
24
1
-14
0
0
-25
1
-3
0
0
45
-5
6
0
0
-7
-8
0
0
0
5
-15
-25
0
0
-12
-52
5
0
0
74
6
2
0
0
34
52
-1
0
0
-5
7
16
0
0
-24
-7
0
0
0
2
-2
-1
0
0
2
42
4
0
0
44
7
14
0
0
23
22
2
0
0
-6
43
-15
0
0
10
5
-5
0
0
21
14
-2
0
0
-6
18
7
0
0
0
25
1
0
0
-3
-10
-1
0
0
19
32
56
0
0
1
25
-7
0
0
5
32
-10
0
0
-3
-3
9
0
0
36
-24
-1
0
0
10
43
-15
0
0
-1
-30
13
0
0
-33
15
1
-2
-17
35
3
43
0
0
5
-42
19
0
0
95
-41
3
0
0
61
65
-25
0
0
-13
19
15
0
0
33
-26
0
0
0
35
2
6
0
0
-6
-11
0
0
0
8
1
0
0
0
34
-9
1
0
0
-2
39
2
0
0
-20
-27
-5
0
0
-33
-21
-17
0
0
2
13
0
0
0
-5
-9
10
0
0
0
35
14
0
0
-4
0
-8
0
0
26
13
0
0
0
-28
0
-2
0
0
-1
2
0
0
0
-18
-1
-4
0
0
-8
-47
-1
0
0
4
-14
0
0
0
-2
-3
0
0
0
-31
7
2
0
0
1
-34
0
0
0
1
-4
8
0
0
-4
3
0
0
0
-78
22
-6
0
0
5
-8
14
0
0
-4
66
5
0
0
-15
-2
5
23
37
4
-31
-15
0
0
-9
100
39
0
0
-69
-12
45
0
0
0
82
-24
0
0
10
-79
-44
0
0
16
7
1
0
0
0
-2
-1
0
0
-5
-19
1
0
0
9
23
5
0
0
-24
8
-29
0
0
53
-26
18
0
0
4
-27
19
0
0
28
-16
49
0
0
-1
23
7
0
0
0
-23
1
0
0
0
13
-4
0
0
23
-23
-27
0
0
30
-10
0
0
0
8
24
-5
0
0
-2
0
0
0
0
43
-19
-2
0
0
-5
2
-10
0
0
-3
13
-1
0
0
0
-4
2
0
0
90
-5
-11
0
0
-9
35
-6
0
0
-7
-55
8
0
0
3
-14
0
0
0
8
-24
1
0
0
7
33
3
0
0
0
15
7
0
0
27
-26
5
23
-34
-15
55
49
0
0
9
-44
21
0
0
-2
15
36
0
0
-62
57
-103
0
0
-10
52
-7
0
0
27
-37
-3
0
0
-36
21
6
0
0
8
17
0
0
0
1
29
-5
0
0
51
25
2
0
0
-26
-6
9
0
0
-26
26
-21
0
0
13
-28
-7
0
0
1
4
-2
0
0
0
-3
3
0
0
1
-37
-6
0
0
62
-12
-1
0
0
20
28
8
0
0
-57
37
0
0
0
4
5
-3
0
0
-37
7
0
0
0
-10
-32
-15
0
0
0
-7
0
0
0
0
-4
-2
0
0
-26
22
23
0
0
-5
-8
1
0
0
15
-5
14
0
0
-3
-18
-4
0
0
-38
-44
5
0
0
-30
44
1
0
0
5
2
0
0
0
-2
-36
-2
26
0
26
-40
-31
0
0
64
30
-24
0
0
13
2
-16
0
0
0
30
7
0
0
10
19
-3
0
0
-11
-1
-11
0
0
-9
-1
-7
0
0
0
1
0
0
0
-11
-2
5
0
0
-50
0
-4
0
0
32
-16
0
0
0
8
0
5
0
0
22
-7
3
0
0
-3
-2
2
0
0
0
7
0
0
0
-1
2
0
0
0
41
0
2
0
0
10
3
-9
0
0
65
-2
-6
0
0
0
-5
-1
0
0
8
-16
2
0
0
1
18
-1
0
0
1
1
-4
0
0
0
-13
4
0
0
2
-13
-8
0
0
4
-3
-3
0
0
1
-5
-2
0
0
0
7
-3
0
0
14
-13
-2
0
0
0
-8
7
0
0
0
-5
-4
0
0
19
1
0
-2
5
-6
-8
-2
0
0
33
110
11
0
0
51
8
12
0
0
6
-4
-3
0
0
-19
-25
-3
0
0
-24
-17
0
0
0
-3
14
-2
0
0
17
3
0
0
0
28
-5
-1
0
0
51
-24
0
0
0
53
36
0
0
0
-2
-5
0
0
0
22
10
2
0
0
0
-2
0
0
0
0
-1
0
0
0
-1
6
0
0
0
0
2
0
0
0
8
-33
-5
0
0
17
-8
1
0
0
-3
-14
4
0
0
-4
-15
0
0
0
0
2
0
0
0
-8
2
-1
0
0
-2
4
0
0
0
2
-3
-15
0
0
-6
59
0
0
0
5
4
0
0
0
-3
-1
-2
0
0
1
-3
1
0
0
-3
1
21
0
0
4
17
-2
0
0
-5
14
4
-32
-2
-50
66
-1
0
0
69
-51
52
0
0
-19
46
31
0
0
-16
32
45
0
0
-64
38
43
0
0
33
-24
5
0
0
23
6
4
0
0
-6
-3
2
0
0
-23
56
-25
0
0
-22
43
-7
0
0
-26
-13
-24
0
0
7
4
-41
0
0
-9
11
-7
0
0
0
-3
0
0
0
0
-9
1
0
0
8
-18
0
0
0
142
-14
7
0
0
43
-14
-5
0
0
-2
18
-10
0
0
6
6
-1
0
0
-2
-15
-8
0
0
1
-56
6
0
0
1
-3
-3
0
0
0
-2
0
0
0
0
7
1
0
0
-27
-10
2
0
0
3
-7
2
0
0
-6
-5
-4
0
0
-7
16
0
0
0
-4
8
-4
0
0
0
-19
-2
0
0
-29
-21
-2
32
5
20
-30
-14
0
0
18
53
14
0
0
-8
62
15
0
0
72
44
4
0
0
-63
11
-19
0
0
62
-42
-11
0
0
0
-66
-15
0
0
-7
53
-1
0
0
-57
23
-7
0
0
62
-85
4
0
0
0
4
8
0
0
69
-52
9
0
0
50
56
-16
0
0
9
-33
1
0
0
1
-4
-2
0
0
14
-43
1
0
0
-24
15
-21
0
0
-10
43
54
0
0
36
7
1
0
0
-46
-34
-1
0
0
41
-14
2
0
0
-10
46
-31
0
0
-1
7
1
0
0
0
-1
-11
0
0
18
-5
2
0
0
14
5
22
0
0
14
-53
26
0
0
6
47
-1
0
0
23
44
-1
0
0
-14
31
-17
0
0
1
15
-9
0
0
-28
40
-4
-1
11
-81
-59
-2
0
0
15
26
-11
0
0
50
-20
44
0
0
-43
8
14
0
0
27
95
-49
0
0
23
-26
3
0
0
44
-43
13
0
0
-5
1
2
0
0
-9
16
9
0
0
50
11
-16
0
0
-47
10
-16
0
0
3
8
2
0
0
-39
-23
17
0
0
0
33
-9
0
0
8
5
19
0
0
-1
-47
-4
0
0
-2
11
19
0
0
-1
-3
-41
0
0
35
-33
-25
0
0
-38
-14
-4
0
0
70
-8
34
0
0
-57
31
1
0
0
-24
3
-30
0
0
31
76
-9
0
0
25
-3
-39
0
0
-10
-51
37
0
0
32
18
-54
0
0
13
-4
34
0
0
31
-40
87
0
0
5
34
30
0
0
-14
-34
-5
0
0
33
-31
91
12
5
16
44
62
0
0
8
-51
29
0
0
46
11
-23
0
0
-23
6
5
0
0
-49
-4
45
0
0
11
-37
17
0
0
-8
5
0
0
0
-25
-7
1
0
0
-22
9
3
0
0
1
15
-3
0
0
48
-2
-2
0
0
-34
15
3
0
0
17
-2
15
0
0
-16
16
1
0
0
-4
52
-18
0
0
25
31
8
0
0
-30
35
-11
0
0
9
-43
-64
0
0
-16
-21
44
0
0
39
-41
-5
0
0
7
53
-57
0
0
-19
11
100
0
0
34
-28
-50
0
0
22
-23
-52
0
0
72
-34
34
0
0
37
-61
40
0
0
-28
78
20
0
0
-62
27
37
0
0
-35
-34
-28
0
0
-10
-6
133
0
0
-43
13
-3
0
0
-36
-80
-58
1
-9
99
-42
-88
0
0
80
42
14
0
0
-18
36
-81
0
0
1
-8
0
0
0
109
-71
-10
0
0
2
2
0
0
0
-1
0
-4
0
0
0
5
0
0
0
20
5
0
0
0
9
-34
0
0
0
-20
5
-1
0
0
1
-4
2
0
0
4
11
0
0
0
-2
-1
0
0
0
0
-18
2
0
0
-4
19
0
0
0
94
40
1
0
0
-19
76
26
0
0
47
-25
-55
0
0
23
-53
-34
0
0
-43
-5
9
0
0
11
-34
3
0
0
-62
-6
14
0
0
-41
-41
-3
0
0
-56
-22
-9
0
0
-8
-41
-37
0
0
-62
20
32
0
0
-5
-62
-66
0
0
-42
15
-2
0
0
-33
-5
-78
0
0
-32
25
62
0
0
-13
6
-100
9
4
-26
-29
-46
0
0
-16
-5
26
0
0
14
5
-23
0
0
34
-21
-31
0
0
52
9
-1
0
0
-34
-23
1
0
0
0
1
-5
0
0
3
0
0
0
0
-23
-15
-4
0
0
-24
35
-5
0
0
-22
0
0
0
0
-5
2
0
0
0
-49
9
0
0
0
-5
-2
0
0
0
-1
0
-1
0
0
4
-3
0
0
0
-8
19
1
0
0
17
-58
19
0
0
-69
5
12
0
0
-5
-11
-61
0
0
2
-18
22
0
0
-24
8
-25
0
0
-50
-14
-81
0
0
5
24
54
0
0
1
1
18
0
0
-54
38
73
0
0
65
-80
25
0
0
33
-28
-35
0
0
-13
-13
25
0
0
-39
-33
-52
0
0
4
-44
-25
0
0
56
-17
-19
-10
-2
20
5
-50
0
0
8
58
-9
0
0
-39
20
23
0
0
-61
-37
31
0
0
-45
-17
33
0
0
3
2
-23
0
0
54
-42
17
0
0
0
4
0
0
0
-45
36
14
0
0
8
26
-2
0
0
13
10
18
0
0
-3
-20
5
0
0
-7
1
25
0
0
2
-10
-1
0
0
1
1
0
0
0
-9
2
0
0
0
51
17
-57
0
0
-19
-38
1
0
0
-84
33
-25
0
0
-8
-50
-16
0
0
4
-15
-14
0
0
87
-74
-72
0
0
106
-52
-135
0
0
17
-14
-16
0
0
36
-7
-16
0
0
10
-101
23
0
0
-35
-33
-8
0
0
28
-3
-41
0
0
-5
82
-69
0
0
43
-23
-8
0
0
27
-56
17
0
0
-22
-47
8
-13
-6
106
32
116
0
0
21
8
26
0
0
-46
4
49
0
0
101
-23
33
0
0
2
-12
26
0
0
30
40
0
0
0
-4
-41
-31
0
0
0
5
4
0
0
60
-3
-19
0
0
-21
3
5
0
0
-25
-4
8
0
0
-4
-2
1
0
0
1
-17
-4
0
0
-1
-33
-4
0
0
-2
0
-2
0
0
0
3
3
0
0
19
-20
-15
0
0
-28
56
5
0
0
-54
71
-22
0
0
-4
-69
16
0
0
40
-39
33
0
0
68
-25
-45
0
0
1
-42
30
0
0
-13
71
1
0
0
-131
72
-19
0
0
-43
-58
9
0
0
-84
13
-20
0
0
16
-20
7
0
0
-33
-16
-50
0
0
17
-44
-17
0
0
-24
-1
29
0
0
6
-61
-5
11
17
-60
-31
-30
0
0
-20
55
9
0
0
11
-54
9
0
0
25
-5
-8
0
0
22
13
-7
0
0
6
-2
1
0
0
-1
0
1
0
0
2
5
0
0
0
-5
5
-2
0
0
-10
7
-1
0
0
34
-17
-1
0
0
-13
-1
0
0
0
-7
-9
-5
0
0
0
4
0
0
0
0
0
0
0
0
2
-32
-2
0
0
-2
7
-2
0
0
4
-23
-33
0
0
23
-45
57
0
0
-66
63
-4
0
0
-51
-41
-145
0
0
-62
36
-7
0
0
-75
30
-58
0
0
14
-19
-26
0
0
42
-20
-50
0
0
-2
-6
-9
0
0
33
45
-24
0
0
-18
1
-36
0
0
-24
29
-4
0
0
7
2
13
0
0
8
-99
32
0
0
-36
-12
5
1
6
-31
-34
-80
0
0
-30
3
-24
0
0
23
4
33
0
0
45
1
11
0
0
36
40
-5
0
0
0
-10
8
0
0
56
-9
-5
0
0
-3
-29
1
0
0
-50
50
-1
0
0
-2
5
5
0
0
88
4
-45
0
0
0
-66
-4
0
0
-124
15
-4
0
0
10
-5
-4
0
0
0
-6
-5
0
0
0
-1
0
0
0
-69
-14
-5
0
0
9
-5
1
0
0
-92
-5
5
0
0
29
-58
41
0
0
-24
11
-89
0
0
-9
-5
-80
0
0
29
14
10
0
0
21
-44
-39
0
0
-23
-61
31
0
0
54
-54
-6
0
0
-73
-43
49
0
0
26
-39
-123
0
0
23
19
-3
0
0
22
39
9
0
0
-6
3
10
0
0
-87
-32
-8
4
-12
-81
13
-1
0
0
58
12
-4
0
0
-17
33
13
0
0
-33
-54
7
0
0
67
-10
-12
0
0
-8
19
-1
0
0
12
9
-27
0
0
-8
8
0
0
0
63
-14
26
0
0
7
51
-5
0
0
-108
-34
7
0
0
-29
-32
35
0
0
-82
-15
18
0
0
8
2
0
0
0
0
-7
0
0
0
-1
30
13
0
0
-5
5
43
0
0
9
32
-33
0
0
37
26
-17
0
0
1
-54
50
0
0
-33
-61
-11
0
0
32
-6
2
0
0
27
14
-13
0
0
-2
-27
-61
0
0
-2
58
-84
0
0
-30
6
4
0
0
4
8
11
0
0
21
53
43
0
0
-19
17
74
0
0
25
-6
-36
0
0
-13
69
31
0
0
39
50
8
-1
-1
-6
3
34
0
0
-5
-35
33
0
0
-41
45
-15
0
0
27
-9
5
0
0
-33
-49
24
0
0
-30
5
-7
0
0
7
-75
-14
0
0
3
1
-3
0
0
-48
-33
-8
0
0
6
5
4
0
0
70
-10
2
0
0
26
25
-2
0
0
-8
14
8
0
0
1
1
-4
0
0
0
0
-1
0
0
7
-19
2
0
0
-16
-15
2
0
0
58
-12
-7
0
0
36
-19
-1
0
0
23
-22
-18
0
0
24
-50
-18
0
0
-71
57
51
0
0
-16
46
53
0
0
-16
-12
-6
0
0
-24
7
24
0
0
-41
16
-5
0
0
18
34
37
0
0
100
27
0
0
0
16
16
-18
0
0
22
23
49
0
0
17
2
-52
0
0
27
-54
33
-7
10
-11
36
10
0
0
44
-35
-1
0
0
-55
60
23
0
0
-16
28
-2
0
0
13
98
-33
0
0
1
31
0
0
0
6
3
4
0
0
0
-5
-3
0
0
4
-9
14
0
0
14
5
-9
0
0
13
3
6
0
0
9
6
10
0
0
-5
15
-13
0
0
-1
1
0
0
0
1
13
-2
0
0
-2
5
-2
0
0
-27
-43
-2
0
0
25
-20
-66
0
0
-35
-33
95
0
0
-82
74
0
0
0
24
-5
-30
0
0
-1
-7
44
0
0
-101
-45
-16
0
0
12
-9
-36
0
0
-20
85
-35
0
0
16
23
54
0
0
-21
-14
11
0
0
8
-38
-28
0
0
3
-54
-30
0
0
-32
14
31
0
0
-6
12
-99
0
0
-40
-13
7
5
1
39
-62
-40
0
0
-15
46
-14
0
0
14
12
-13
0
0
-42
-74
25
0
0
-20
-11
5
0
0
23
2
11
0
0
37
3
-1
0
0
0
4
2
0
0
27
-75
-7
0
0
-45
54
-10
0
0
-22
1
0
0
0
-11
-39
0
0
0
55
38
-2
0
0
0
-1
0
0
0
-1
1
-2
0
0
0
-6
0
0
0
-52
5
-5
0
0
9
5
4
0
0
-5
-36
28
0
0
-65
3
-7
0
0
-28
-79
23
0
0
4
-55
22
0
0
30
-24
33
0
0
5
-14
-4
0
0
-10
-1
-63
0
0
12
43
23
0
0
46
33
-42
0
0
-27
4
21
0
0
-5
39
-29
0
0
-29
-124
14
0
0
26
-24
49
0
0
-17
-18
-87
5
18
-82
70
-73
0
0
1
48
-11
0
0
3
27
53
0
0
61
8
-8
0
0
-8
-13
37
0
0
61
9
-13
0
0
19
-11
-19
0
0
-1
-2
3
0
0
-25
-2
-76
0
0
35
-43
16
0
0
-4
-51
23
0
0
1
15
-7
0
0
18
31
58
0
0
3
-5
-3
0
0
0
8
-8
0
0
3
-3
-7
0
0
-15
-66
36
0
0
-20
1
6
0
0
29
-2
-60
0
0
13
16
-63
0
0
-147
97
67
0
0
-102
28
9
0
0
-13
-32
0
0
0
1
-52
-57
0
0
-76
-81
17
0
0
49
15
52
0
0
-40
23
-69
0
0
-22
-28
39
0
0
1
38
137
0
0
56
30
-26
0
0
7
55
-64
0
0
53
-14
133
-2
-9
0
-20
21
0
0
12
60
-15
0
0
76
0
7
0
0
35
21
-1
0
0
-38
26
-3
0
0
-11
51
15
0
0
-14
10
34
0
0
8
3
1
0
0
-115
-4
26
0
0
-28
108
15
0
0
-53
6
9
0
0
19
31
-7
0
0
-5
-22
22
0
0
-11
-1
7
0
0
0
6
-3
0
0
5
13
-4
0
0
-5
-14
-2
0
0
9
-26
-69
0
0
32
8
13
0
0
-64
-9
-6
0
0
-8
8
28
0
0
-68
48
-11
0
0
-23
-37
-54
0
0
5
-25
-6
0
0
43
-152
-30
0
0
19
19
66
0
0
-5
54
0
0
0
22
-42
-14
0
0
-9
-16
-53
0
0
75
-74
0
0
0
-36
21
-53
0
0
33
-104
80
-7
4
21
42
-57
0
0
-33
101
94
0
0
51
-14
4
0
0
-7
74
7
0
0
13
20
-20
0
0
11
24
2
0
0
-32
2
8
0
0
2
-6
-3
0
0
-2
-16
-15
0
0
18
41
-17
0
0
33
-24
2
0
0
14
-72
8
0
0
-7
9
7
0
0
-4
-13
-1
0
0
-7
2
0
0
0
7
-23
2
0
0
12
-23
5
0
0
-20
-43
41
0
0
-9
-13
25
0
0
43
-32
4
0
0
-90
23
-14
0
0
17
43
-32
0
0
22
10
29
0
0
-14
-2
-17
0
0
-16
-35
-18
0
0
6
-2
-21
0
0
18
-1
-15
0
0
-10
-16
-64
0
0
56
-31
-8
0
0
-66
-46
-26
0
0
-17
-90
5
0
0
8
20
-29
-25
-4
-99
-60
-21
0
0
12
-14
82
0
0
17
3
-15
0
0
-48
10
-28
0
0
-10
-59
23
0
0
-4
-55
17
0
0
-43
17
62
0
0
34
57
-4
0
0
-35
35
7
0
0
44
76
7
0
0
43
27
21
0
0
39
32
-72
0
0
15
-89
-17
0
0
53
-55
2
0
0
-11
33
0
0
0
-25
-32
-16
0
0
-75
-9
17
0
0
10
-36
77
0
0
22
65
-65
0
0
-71
32
28
0
0
-12
-26
-32
0
0
-69
-53
-23
0
0
-47
-144
-109
0
0
13
16
-76
0
0
-4
-60
86
0
0
17
54
-6
0
0
-31
-45
44
0
0
-67
-21
-26
0
0
-14
-65
-25
0
0
-36
16
-39
0
0
-80
-13
-3
0
0
-5
-21
-24
-28
2
-5
-131
29
0
15
-9
5
8
0
4
17
-6
5
0
-38
16
48
86
0
69
56
-44
31
0
80
5
67
-53
0
29
-6
22
12
0
61
-15
106
5
0
-9
19
-46
-10
0
104
-33
64
-136
0
72
92
71
58
0
35
-94
-63
69
0
-32
-25
-3
26
0
-2
84
26
-28
0
3
92
-12
-51
0
12
2
-20
98
0
-6
-7
35
-36
0
-2
1
92
60
0
57
-6
-3
42
0
43
11
-69
0
0
-58
48
18
9
0
24
82
38
14
0
-1
3
15
2
0
0
-31
-2
-6
0
-10
0
-75
1
0
-20
73
68
33
0
6
71
40
31
0
0
-3
24
11
0
4
5
-1
32
0
55
59
4
-9
0
10
37
-48
10
0
13
4
-4
81
11
-80
-46
112
-55
0
-29
47
56
34
0
1
-3
15
19
0
154
-5
80
14
0
44
28
30
-14
0
-3
-14
21
-21
0
-22
59
-90
9
0
-11
23
-33
-14
0
40
-30
14
72
0
26
-13
48
90
0
36
36
15
-34
0
-4
33
-45
-28
0
10
33
18
-5
0
34
12
-23
-5
0
-14
22
44
41
0
18
44
4
10
0
24
30
19
-22
0
4
13
-22
5
0
32
72
31
-24
0
-27
33
-45
-4
0
23
-25
3
-44
0
-1
0
-12
20
0
-2
-12
-1
47
0
0
4
33
0
0
10
47
60
41
0
3
21
-17
-19
0
15
19
35
-52
0
1
11
-101
2
0
-6
36
28
-25
0
33
-24
-60
-2
0
-5
-1
-9
75
0
-27
-71
63
-5
-2
-52
-33
10
-17
0
37
22
34
112
0
-3
104
-18
0
0
48
29
-18
-29
0
8
32
-8
-26
0
-3
8
7
-16
0
-7
46
4
17
0
30
0
-14
36
0
5
-19
-22
4
0
-6
59
25
23
0
4
-17
-28
20
0
10
-22
9
-92
0
-44
-17
63
-34
0
7
-4
46
-1
0
4
36
26
-17
0
-76
-83
55
45
0
-14
-29
21
-39
0
-18
33
20
-1
0
-4
42
-17
2
0
-63
14
0
3
0
-6
-39
-19
-5
0
-2
6
41
-19
0
-4
7
-31
-14
0
6
0
21
-4
0
1
-33
-20
9
0
29
2
-44
4
0
-19
32
-14
-3
0
-2
2
33
5
0
53
-58
-12
0
0
19
7
138
-86
0
2
-3
19
50
0
70
22
42
-4
-11
-19
3
8
-44
0
-17
13
76
54
0
-1
-19
-40
4
0
61
13
-21
-14
0
47
54
-18
43
0
29
57
-58
25
0
78
-4
47
29
0
63
30
66
15
0
-11
-63
23
-21
0
-55
78
19
48
0
4
-100
23
-33
0
-131
93
69
-50
0
-16
44
-20
6
0
-7
-25
-27
57
0
44
-90
28
-19
0
4
28
2
33
0
45
-34
10
-46
0
44
-90
-10
7
0
-3
-17
36
15
0
10
-45
86
-4
0
-1
-15
4
-20
0
0
2
27
0
0
3
14
-52
-5
0
2
-32
-31
-4
0
-28
26
36
25
0
-19
-19
22
5
0
19
-49
-20
-13
0
-4
-59
46
-31
0
-19
17
2
-11
0
-21
-45
-24
-39
0
-22
29
-3
2
0
14
13
7
23
-20
-56
-43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
95
3
0
-41
4
55
32
0
3
-51
-18
-25
0
-28
2
-19
-5
0
98
-39
-53
-3
0
-105
8
14
109
0
9
6
-14
3
0
-35
37
-97
-40
0
24
58
72
12
0
8
-18
15
27
0
55
-24
1
-27
0
92
44
61
-71
0
75
31
47
-11
0
-22
6
13
6
0
0
5
-3
3
0
-12
-1
-32
-5
0
50
89
7
-11
0
-27
30
26
12
0
-13
15
19
-5
0
-39
-2
-5
-9
0
98
11
-63
2
0
-25
6
89
-11
0
7
-3
14
3
0
76
-7
-14
3
0
26
-13
36
13
0
19
76
5
96
0
6
-19
16
43
0
8
-76
-23
1
0
14
20
14
26
0
-20
90
-14
39
0
-85
13
5
-9
11
-71
-117
24
-67
0
16
-1
39
52
0
102
114
-41
-47
0
-73
43
-17
7
0
-20
-10
-14
32
0
65
-69
79
-22
0
-48
-28
23
92
0
7
-51
6
-4
0
-89
-24
-10
-3
0
-48
70
36
-34
0
16
-30
72
33
0
-43
68
-106
13
0
-15
5
-32
19
0
11
19
-3
4
0
11
57
81
44
0
0
-33
-9
3
0
-51
45
22
-20
0
18
36
-18
-7
0
66
29
14
14
0
21
10
-27
0
0
9
51
58
-19
0
11
55
34
1
0
-5
-49
35
-2
0
0
-7
-6
-3
0
-31
23
30
5
0
-23
-3
17
-16
0
-1
26
-131
17
0
4
-69
28
8
0
5
22
14
-14
0
71
-62
96
-80
0
61
-71
-2
-9
0
9
-15
-94
-14
33
-24
3
-11
-67
0
11
-25
45
-6
0
-109
-32
-34
82
0
-2
29
24
19
0
-33
-41
-4
-27
0
80
-37
16
3
0
-8
-20
77
-6
0
6
-4
-13
-7
0
61
-55
-43
-14
0
-3
53
6
-8
0
97
23
-35
-72
0
5
-46
18
-4
0
-22
-43
4
13
0
-3
44
45
-14
0
-14
3
12
-7
0
-1
17
-23
1
0
-70
14
-19
7
0
-11
-59
1
5
0
28
-34
43
1
0
5
2
-21
2
0
-14
-33
-13
-5
0
29
-1
-9
0
0
-13
-7
-53
0
0
-1
25
-14
0
0
-14
-6
10
2
0
43
14
44
1
0
-51
27
-14
43
0
-7
-25
27
-45
0
21
104
-13
1
0
-5
-39
-50
-16
0
7
36
26
-2
0
8
23
-43
3
-4
-51
93
14
0
0
42
-24
-2
4
0
36
40
109
-55
0
-13
3
-1
2
0
-5
8
-23
11
0
23
-23
16
11
0
17
42
-23
8
0
-14
-53
47
2
0
27
-41
-29
-69
0
4
-5
46
-53
0
-38
-14
8
38
0
23
120
-43
-24
0
8
-2
-45
-33
0
-18
21
27
8
0
-4
-74
19
-19
0
-4
44
-39
-15
0
17
-52
38
24
0
-48
12
-33
7
0
-35
-11
-42
15
0
6
-83
51
0
0
-16
53
-33
15
0
-2
-13
-7
0
0
0
3
23
0
0
6
-5
2
1
0
1
37
-51
0
0
-48
-9
39
-4
0
-2
-32
8
-14
0
-27
14
-1
-14
0
-24
53
-4
-26
0
1
49
-59
11
0
-24
-15
-6
14
0
-5
-3
-76
1
-41
-28
58
-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
-34
29
5
-43
0
19
-59
2
-5
0
28
-49
39
16
0
40
29
-20
7
0
-2
62
-44
14
0
-12
-1
-5
8
0
25
3
16
-4
0
-17
28
-17
5
0
13
62
40
-11
0
1
23
-20
67
0
-48
36
-54
-27
0
8
-4
48
25
0
11
-13
3
41
0
11
84
-46
1
0
-14
25
11
11
0
1
6
6
-61
0
10
15
15
-2
0
-2
30
-4
-49
0
-25
-33
-10
18
0
-39
0
37
-14
0
33
4
23
45
0
-130
8
-95
-3
0
4
3
-17
-89
0
-68
-103
16
37
0
-14
54
42
79
0
-17
30
29
-46
0
4
11
0
-28
0
-58
53
37
-14
0
53
-42
71
-20
0
-7
-16
-30
-50
0
3
57
-46
38
13
-92
-10
4
59
0
-41
44
40
32
0
-46
53
14
-59
0
18
-6
-33
6
0
-46
17
5
46
0
-24
-44
-21
23
0
-16
67
-10
-17
0
-10
47
-11
-11
0
3
-1
17
-23
0
-6
-15
8
51
0
-30
20
73
15
0
22
-7
16
5
0
115
71
-75
33
0
-3
24
-18
11
0
16
-22
51
-18
0
-9
1
40
43
0
-22
52
32
-25
0
-3
32
-1
-12
0
5
-11
-16
20
0
28
53
1
3
0
-21
-52
-11
46
0
-27
-17
-1
-33
0
-45
-24
-15
-103
0
-30
-41
-19
88
0
-77
31
-44
-24
0
109
-20
52
-30
0
24
4
-59
111
0
-45
-44
-9
40
0
-97
35
56
-33
0
-19
60
-28
-27
0
33
6
-69
14
0
-53
-103
-114
29
-1
-31
23
69
-80
0
67
-54
28
1
0
47
-45
10
-30
0
-12
44
22
7
0
17
-43
7
31
0
-54
-5
-2
11
0
-5
-4
-8
-2
0
-7
-6
4
0
0
23
-32
-19
-13
0
9
78
-16
-11
0
-27
36
-2
-13
0
-10
-54
-41
19
0
-7
-22
52
-2
0
5
-15
-2
-2
0
0
-56
33
-1
0
-11
-15
-26
-2
0
35
6
3
-7
0
-41
14
75
-25
0
8
-33
-34
17
0
-17
32
34
-31
0
-11
-10
6
-44
0
-27
-16
-19
-9
0
6
-32
-39
-4
0
-47
80
-75
-56
0
-38
-123
-33
1
0
53
36
-46
40
0
14
-18
-8
-3
0
-32
3
-16
-58
0
-4
6
-25
-42
0
-26
-62
90
-14
0
11
-28
-4
-7
0
47
-11
-14
15
-6
80
-94
-130
9
0
-77
27
37
-43
0
25
6
4
-44
0
-34
13
33
1
0
-72
117
-24
46
0
64
-4
15
0
0
-16
-25
57
-17
0
13
-22
-8
-1
0
-99
45
-18
9
0
-73
13
7
46
0
-15
22
-24
-6
0
46
-31
-28
25
0
36
-117
123
-47
0
0
5
-9
-6
0
-14
25
-79
2
0
-8
10
8
-11
0
27
4
-90
67
0
-45
52
-46
48
0
-59
-32
12
-58
0
24
-30
-87
-3
0
-11
-15
-9
-24
0
-46
-15
32
22
0
71
41
-26
-8
0
33
-103
5
-101
0
19
4
8
-129
0
-41
-91
-11
-28
0
-2
-45
-26
87
0
76
-4
-54
-5
0
-34
5
5
14
0
5
-102
-23
56
0
-33
-17
-74
12
0
6
-32
-27
23
-11
32
-1
24
-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
36
38
63
64
0
35
3
-1
-23
0
-47
34
-14
31
0
22
27
3
-2
0
-39
15
5
-14
0
-11
1
-24
-26
0
100
4
-21
1
0
41
-62
34
-4
0
84
57
-86
-22
0
-33
42
-7
57
0
-5
36
97
-23
0
-5
-24
4
2
0
74
30
34
25
0
67
8
64
-25
0
34
-102
-23
23
0
-21
43
-11
-14
0
7
36
48
14
0
17
14
-24
-12
0
25
-109
-5
31
0
11
-22
4
-73
0
-68
36
24
14
0
-22
104
-43
-92
0
-36
-21
-15
5
0
-24
-104
20
82
0
10
17
6
16
0
-8
-6
7
5
0
-27
-7
-16
13
0
-93
12
-1
41
0
6
26
-9
23
0
-72
82
-39
34
0
-56
-14
29
5
1
-41
37
-43
-95
0
30
-29
75
8
0
27
15
-65
23
0
-53
43
-19
-1
0
-12
-24
-25
-21
0
-56
-44
4
-13
0
22
3
33
5
0
14
-15
9
3
0
-12
36
8
0
0
40
25
1
6
0
25
9
-12
-4
0
-8
14
-26
7
0
-31
59
39
-27
0
-75
7
-72
-15
0
9
54
22
-25
0
-24
39
-79
2
0
-57
22
-104
73
0
-1
40
54
71
0
21
15
-45
19
0
131
-141
29
14
0
-100
-62
18
6
0
79
45
9
25
0
88
13
-36
59
0
57
33
53
19
0
-133
27
-33
-16
0
-44
21
19
-17
0
27
-12
1
49
0
-43
18
5
68
0
-31
-72
16
-15
0
13
-14
0
-120
0
0
-9
25
-52
0
42
-1
-29
-24
13
-25
-6
-29
42
0
48
17
15
14
0
21
-131
5
-2
0
-19
25
3
-1
0
40
-76
-13
-7
0
5
29
-29
0
0
10
1
37
0
0
35
-3
9
0
0
-2
12
2
2
0
49
-10
-2
0
0
-28
-33
5
9
0
21
-33
-14
3
0
14
-26
-11
-5
0
21
-5
25
-15
0
-48
7
30
-3
0
-20
-14
17
1
0
-98
87
-73
-9
0
-64
44
-113
29
0
-64
-54
-33
4
0
7
13
-72
-58
0
47
15
-30
-39
0
-80
-28
2
-36
0
-11
-60
-1
-74
0
-24
-50
90
-27
0
4
69
-42
2
0
2
-62
50
40
0
-70
-35
18
-22
0
52
82
26
-58
0
-23
-26
-22
41
0
3
21
4
9
0
48
-51
-50
-36
0
2
128
-49
-64
0
4
-37
-40
-3
0
-50
18
-8
1
0
-24
-57
76
24
0
-9
-1
-22
-4
0
52
-51
-5
-17
0
-53
-8
1
0
0
16
-50
11
2
0
-21
-33
-3
-3
0
-15
30
30
0
0
6
-10
-44
3
0
23
5
-43
2
0
-3
14
-57
-2
0
-20
33
32
-20
0
-17
62
-3
0
0
-15
-25
-11
-1
0
-25
14
-8
-1
0
-32
-11
-6
6
0
-51
-23
-70
-48
0
45
-66
14
-18
0
-132
11
37
-30
0
-35
-62
-1
54
0
-63
-38
24
-53
0
36
-71
5
-12
0
55
-16
-7
36
0
-23
-3
-2
-88
0
3
-16
-26
3
0
25
-50
-40
20
0
18
36
-43
-8
0
-57
5
28
-35
0
-35
-49
-20
-5
0
43
22
30
-61
0
71
-6
48
-54
-20
-43
-7
59
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
35
5
-47
0
23
69
-49
10
0
75
43
19
19
0
-6
-18
7
-5
0
11
76
-7
38
0
53
0
109
17
0
-11
-19
-1
34
0
28
21
-19
-55
0
-19
58
-63
-52
0
49
63
73
37
0
8
22
25
51
0
4
58
43
31
0
37
-28
58
35
0
0
-2
53
-60
0
4
-47
-22
34
0
91
4
3
-25
0
22
-2
-3
-7
0
5
-23
33
16
0
6
18
-23
8
0
43
6
7
8
0
-32
10
92
-2
0
4
18
-18
-1
0
0
5
-25
5
0
7
18
43
-8
0
-44
30
28
8
0
4
-31
-10
9
0
3
-58
9
11
0
-2
39
9
14
0
-32
88
53
-34
0
1
-33
10
102
0
-51
-75
60
87
15
51
34
-15
21
0
64
13
18
26
0
-12
-32
30
29
0
111
34
84
-10
0
83
5
-43
-24
0
13
1
-17
-6
0
-9
19
23
37
0
-62
60
23
21
0
48
146
-39
26
0
12
79
37
0
0
56
102
-5
-2
0
-33
63
19
7
0
33
10
43
145
0
17
19
0
66
0
-4
0
24
27
0
-13
59
9
-6
0
24
-14
28
2
0
99
-14
45
-1
0
20
-80
0
7
0
5
-5
1
-7
0
-46
76
17
4
0
0
-9
33
8
0
2
-1
92
10
0
1
-15
13
-6
0
0
-30
23
-16
0
-7
-12
42
-5
0
-14
-31
5
29
0
1
-53
73
-1
0
-14
-54
-14
11
0
100
-3
34
-11
0
53
-36
-14
65
0
-16
55
-35
-36
26
-132
86
53
-24
0
-14
58
-40
14
0
48
14
-15
-49
0
19
8
58
23
0
48
112
16
-69
0
-36
75
-15
-24
0
29
-14
-3
18
0
-4
-71
-21
14
0
88
89
-25
-20
0
-9
-8
-1
-50
0
11
-21
49
-3
0
-2
-7
76
40
0
-18
52
47
-7
0
3
75
9
8
0
-1
-7
-29
-14
0
9
-61
-80
27
0
-81
33
8
5
0
-26
-12
14
21
0
14
18
-4
-14
0
0
-17
-43
0
0
-14
3
1
-7
0
-5
14
26
-4
0
0
-10
-9
-3
0
3
8
61
-3
0
1
-29
-3
4
0
13
-57
-42
14
0
8
-18
5
4
0
-2
-68
32
-32
0
17
32
-5
1
0
52
-14
-27
14
0
1
43
-17
1
0
14
5
53
31
9
-70
-24
-19
14
0
96
-25
-24
101
0
-6
83
81
-55
0
32
-22
9
-44
0
0
12
-4
28
0
-33
-58
27
5
0
-27
-64
8
41
0
-3
49
23
-32
0
35
-14
6
2
0
-72
41
-27
-10
0
80
31
-33
5
0
0
53
19
-23
0
24
-9
18
-13
0
-6
69
-53
-4
0
11
10
13
19
0
0
-9
-2
-17
0
31
84
45
44
0
-3
2
43
6
0
-22
3
-34
-11
0
-3
-20
-26
0
0
5
54
-50
9
0
0
-22
18
2
0
0
4
-30
-2
0
10
-1
3
-3
0
-2
27
38
-3
0
-6
-7
-12
-5
0
-22
24
-19
2
0
0
-4
47
-21
0
-33
-76
80
26
0
9
-25
8
-15
0
-8
61
-69
-17
0
61
43
-35
47
-26
-122
-16
72
43
0
55
-59
-28
4
0
17
-25
50
64
0
28
32
11
11
0
-24
77
31
-9
0
11
29
0
3
0
2
-17
50
71
0
82
-32
5
6
0
75
-43
74
41
0
47
39
10
3
0
9
-6
-45
30
0
15
-61
14
2
0
46
-17
-19
0
0
-19
90
48
1
0
0
8
-52
29
0
2
-43
-7
-1
0
-64
5
4
25
0
-54
-10
-24
33
0
63
71
-30
-29
0
-1
-3
5
2
0
-19
14
-2
-6
0
16
1
11
1
0
1
0
5
-2
0
0
0
-1
0
0
1
-7
5
0
0
-8
-29
81
2
0
-5
5
1
-2
0
0
6
-15
0
0
0
-1
11
0
0
-54
49
21
-14
0
1
11
25
-5
0
19
6
-29
0
2
26
-13
29
0
0
-14
42
0
43
0
-8
127
-58
20
0
36
4
-27
53
0
92
-14
21
-46
0
-62
-21
-13
-21
0
18
40
-34
14
0
35
-64
-34
17
0
-2
0
-5
-5
0
-2
-53
53
29
0
-20
8
-5
23
0
7
13
4
-3
0
-66
14
33
0
0
-17
43
46
-16
0
13
38
43
-9
0
-3
9
-31
-6
0
9
16
34
-3
0
-11
-19
-12
-8
0
62
-52
27
34
0
-14
-2
9
1
0
45
0
-26
-6
0
4
-4
-22
0
0
-6
2
43
3
0
0
0
-4
0
0
-7
6
1
1
0
0
-3
-21
14
0
13
-14
57
-31
0
0
-1
-35
0
0
-2
0
-7
-2
0
32
-17
-100
0
0
-14
16
10
17
0
-14
6
7
0
17
0
-13
-52
-1
0
99
40
43
-20
0
1
21
20
-46
0
-71
53
22
24
0
-37
31
118
-15
0
63
-6
-50
-1
0
-28
33
2
-22
0
-43
7
8
0
0
11
-113
-8
5
0
-41
76
18
-2
0
-15
11
-8
1
0
22
4
-37
2
0
-6
-21
-5
1
0
2
-15
5
-7
0
0
1
-25
-1
0
3
-9
14
-2
0
-5
0
3
-8
0
-4
17
33
-2
0
0
-52
18
-1
0
0
-1
-3
0
0
7
-2
-3
0
0
1
-2
14
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
8
3
-1
0
0
14
-24
2
0
0
1
3
-1
0
-9
0
0
3
0
0
-5
-39
1
0
0
7
-7
3
0
-3
3
-17
-2
46
-18
-24
2
-1
0
15
12
108
67
0
13
-7
14
-13
0
37
-71
-36
47
0
24
-43
-9
17
0
100
44
-49
-8
0
-62
38
80
-2
0
-22
-17
74
0
0
59
-28
-46
-8
0
-43
53
-17
23
0
-28
-65
9
-53
0
-15
3
13
17
0
-19
-31
2
-14
0
-2
11
-7
0
0
19
33
16
-18
0
-4
13
15
-7
0
-51
15
-72
-1
0
11
40
-66
27
0
100
-11
23
-36
0
-3
8
46
10
0
39
25
57
-9
0
3
6
-18
6
0
-1
-23
-8
8
0
0
2
0
0
0
-5
53
7
2
0
-8
-39
8
-3
0
-4
-1
-3
1
0
0
1
15
0
0
6
-7
-1
-13
0
2
-18
56
0
0
-5
-37
10
13
0
-7
-54
37
0
-19
9
7
22
4
0
-53
108
32
43
0
66
-10
28
70
0
61
-14
23
33
0
61
61
-11
45
0
-33
-41
-4
47
0
16
-72
5
21
0
56
22
5
-16
0
-105
32
20
0
0
3
-6
5
47
0
11
-25
8
-14
0
-3
8
-50
-22
0
-56
142
10
-37
0
-49
22
51
30
0
-1
68
159
-2
0
17
73
-34
-18
0
-2
54
-32
-10
0
-35
-8
8
-2
0
15
-5
34
-53
0
9
-6
-24
0
0
6
3
1
0
0
-3
-28
10
5
0
0
4
-4
-1
0
0
2
1
-2
0
1
-43
-2
0
0
30
25
31
-2
0
-15
46
70
-15
0
0
3
-27
0
0
-9
-8
58
-3
0
-17
15
-48
-29
0
0
38
58
-11
0
-36
30
-30
6
20
19
-68
-31
22
0
33
-46
-70
90
0
-27
22
33
68
0
-2
36
-70
2
0
35
-10
36
0
0
45
16
-10
5
0
-29
-4
35
-49
0
-46
9
18
0
0
48
50
15
6
0
-18
27
113
21
0
8
-39
23
7
0
74
-3
-108
-24
0
-1
-22
-9
-6
0
57
14
-44
-4
0
-51
89
17
-14
0
-33
20
-12
-5
0
53
-40
-35
10
0
11
-7
31
1
0
-2
-37
19
-7
0
1
9
-4
0
0
-23
15
-4
-1
0
2
-6
10
2
0
0
4
15
-14
0
0
-1
1
0
0
16
4
0
0
0
-10
44
81
-4
0
10
-28
-19
20
0
0
-24
9
-1
0
-36
19
-4
10
0
-7
54
8
-15
0
44
-8
-18
-6
0
0
-43
24
1
2
3
40
-37
-32
0
33
7
-1
13
0
8
15
20
52
0
5
14
0
-2
0
8
8
-1
-11
0
-23
25
-5
8
0
-29
1
-9
-2
0
69
-11
-18
0
0
24
-10
-10
6
0
60
4
45
33
0
-2
7
-30
47
0
-14
4
27
-17
0
55
82
25
-16
0
-1
20
-26
-1
0
0
14
-14
8
0
-17
1
63
33
0
-8
28
27
-8
0
40
23
-5
2
0
-36
-2
1
-1
0
-6
10
0
2
0
-14
-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
-3
6
-4
0
-10
3
3
-3
0
-1
-10
1
4
0
-32
-3
-1
3
0
2
15
11
-7
0
-7
-12
34
-10
0
45
-32
0
-13
13
-33
29
-6
-33
0
-13
15
41
-23
0
-17
-24
19
-32
0
-65
10
24
47
0
-5
-24
-13
-12
0
17
-51
43
-7
0
-7
-33
19
1
0
50
3
14
1
0
66
-23
53
-2
0
4
-6
-3
-37
0
44
20
30
-22
0
79
-35
-34
-5
0
53
20
-22
-33
0
-14
29
-4
2
0
27
20
-33
8
0
5
41
-32
-1
0
-33
9
-13
-13
0
-15
-41
9
3
0
-14
4
0
-7
0
0
-25
-5
0
0
-124
2
22
-2
0
-7
-2
-1
0
0
1
2
-2
0
0
0
0
0
0
0
-2
44
-2
0
0
-3
33
3
3
0
16
1
-5
-5
0
1
5
-3
0
0
9
5
-13
5
0
6
-53
18
0
0
-5
-44
7
-5
0
-33
-16
-11
0
-1
-6
49
-33
-45
0
-21
18
22
41
0
-14
14
-64
-6
0
-21
-5
28
-3
0
22
4
-47
14
0
8
-3
-34
-8
0
28
7
21
-4
0
26
-6
35
0
0
58
-50
8
4
0
-43
69
22
7
0
-81
66
8
8
0
-6
45
36
-1
0
-58
19
-6
0
0
37
24
-17
0
0
6
-22
-16
0
0
-2
-30
-2
2
0
0
12
35
0
0
-67
36
24
14
0
90
40
-84
-5
0
-3
-7
32
-1
0
1
3
1
1
0
-4
29
-14
4
0
0
-1
0
0
0
-2
2
1
1
0
0
-43
-2
0
0
-7
12
61
-7
0
0
5
-14
0
0
0
2
-2
0
0
-3
-9
1
0
0
4
-38
-34
-13
0
1
19
-1
11
0
-5
-3
-3
-1
20
-26
-8
-3
0
0
-8
42
93
-8
0
-43
34
43
3
0
-42
-5
51
-7
0
-41
-13
-6
39
0
-22
-2
28
3
0
75
-69
-81
13
0
56
-4
-14
0
0
-20
-57
7
6
0
-12
-23
26
-43
0
4
21
77
-37
0
25
-3
-59
6
0
-60
-4
-33
-9
0
17
-47
23
-2
0
-10
-51
-5
-7
0
0
-8
-15
1
0
-43
-14
-10
5
0
23
22
53
-14
0
50
-45
-4
15
0
2
0
-2
0
0
-35
-15
-18
6
0
11
-5
5
0
0
1
-8
-39
-4
0
0
5
0
0
0
0
0
-2
1
0
-1
34
-33
5
0
-5
19
-14
-1
0
0
5
-4
-6
0
4
2
3
0
0
4
21
-3
0
0
4
13
8
4
0
0
5
0
2
-11
16
4
-9
-9
0
9
37
119
14
0
-57
76
55
-8
0
-4
66
9
30
0
61
-18
21
2
0
-70
1
105
23
0
-6
7
0
-4
0
18
6
-39
-1
0
-60
30
-9
0
0
-16
-5
56
20
0
-1
-38
53
-16
0
5
-72
32
-2
0
-20
-1
15
-6
0
-3
27
-51
0
0
0
-7
37
0
0
0
-19
17
2
0
-42
0
21
0
0
73
82
-53
11
0
6
-5
-22
-23
0
-17
-13
-23
3
0
52
-2
2
-5
0
0
0
-1
-1
0
0
0
-24
1
0
2
0
-1
0
0
0
0
5
0
0
-8
-20
20
-16
0
-1
1
-14
-2
0
0
1
-33
-1
0
5
1
0
3
0
4
-18
-23
-6
0
0
0
-4
0
0
-5
-14
5
0
-23
45
-47
3
5
0
5
21
36
22
0
26
-9
37
2
0
-22
15
32
9
0
-62
-15
35
18
0
-14
-42
6
46
0
5
53
-33
-16
0
-15
9
-31
0
0
29
-11
23
3
0
68
27
-16
-5
0
19
-59
-33
46
0
-19
71
-97
6
0
61
-80
-66
9
0
0
-18
-8
2
0
-17
-50
-32
0
0
-4
14
-7
0
0
15
21
-3
-18
0
32
26
-41
14
0
-61
61
11
-13
0
-6
21
40
-11
0
-68
-45
7
-8
0
8
17
29
4
0
-6
-22
41
-3
0
0
-7
7
0
0
-20
26
-43
2
0
-4
56
-49
-14
0
13
-33
-48
20
0
1
27
0
1
0
29
-25
6
-9
0
0
43
-45
-5
0
3
1
2
1
0
2
8
-11
-1
15
-35
-5
-14
14
0
-32
12
3
65
0
114
-112
-33
-20
0
-5
14
1
-20
0
91
-31
-18
0
0
33
0
27
1
0
-10
35
-33
-17
0
23
-33
-7
1
0
27
26
25
24
0
52
20
-8
0
0
-6
34
-5
1
0
2
14
-17
0
0
1
-10
-7
7
0
-15
-30
-1
20
0
4
-8
58
6
0
-23
11
-32
29
0
-44
-22
81
33
0
13
39
-28
-10
0
27
8
18
32
0
-27
44
-22
-4
0
-9
-30
0
-33
0
-12
8
-55
5
0
-32
49
21
-25
0
14
-1
65
14
0
-29
44
76
-51
0
23
-51
33
-106
0
2
67
-48
60
0
50
66
48
-17
0
32
48
-44
2
0
44
-38
7
-40
0
-14
2
-16
38
0
21
-39
15
-50
22
-106
29
23
5
0
24
7
10
2
0
80
-45
0
24
0
-11
-18
-22
-4
0
20
59
-17
29
0
75
-5
-4
-5
0
-35
37
-88
8
0
2
-22
10
1
0
-20
23
41
-31
0
0
-2
-3
3
0
9
66
82
-16
0
0
-5
5
1
0
22
-13
17
-18
0
-34
-6
5
1
0
1
52
2
4
0
17
-32
46
5
0
-104
-42
-9
55
0
-12
18
71
-60
0
6
43
-54
27
0
-69
6
46
-24
0
-28
-4
-18
-100
0
-38
-35
15
40
0
14
-1
-38
19
0
35
-1
-14
-57
0
56
-24
-57
-91
0
-1
-43
39
-21
0
64
33
41
-58
0
-11
40
-62
-42
0
57
-22
42
5
0
4
-18
16
42
0
1
64
-29
-11
0
-15
-74
20
34
9
-94
-15
12
34
0
-30
-60
49
0
0
17
15
-14
1
0
20
88
-72
-2
0
3
-9
-4
20
0
7
7
-7
13
0
29
-2
16
-18
0
-36
-4
6
-1
0
0
-23
-48
-16
0
37
-23
3
2
0
0
3
-7
0
0
-1
-17
5
4
0
4
1
3
0
0
4
16
2
0
0
5
-10
31
-3
0
30
-1
-17
1
0
-9
-10
-24
0
0
4
12
-56
-20
0
3
-40
51
-26
0
2
-36
-56
-51
0
-18
-140
55
-32
0
-32
5
-8
49
0
50
-32
-38
4
0
59
-88
-28
46
0
-21
-7
8
-41
0
24
73
-50
-38
0
33
22
66
29
0
6
-2
-49
-22
0
-128
47
-61
20
0
-25
-3
-32
30
0
2
-14
40
-14
0
-48
-5
-1
-11
-3
24
71
83
-15
0
47
-27
69
2
0
-62
-18
45
1
0
-31
29
-16
-5
0
25
21
-17
-6
0
-17
-25
79
2
0
-33
-45
44
8
0
-2
24
-24
4
0
-82
-3
-14
-20
0
3
5
3
4
0
7
14
1
-6
0
0
-1
-2
0
0
10
73
2
-22
0
-6
-5
11
-1
0
5
15
-7
0
0
1
-18
-8
4
0
29
77
-54
13
0
-8
-93
-42
-38
0
-41
22
17
-27
0
36
-6
-80
-32
0
-20
-42
-31
-43
0
-112
-9
-9
1
0
24
-54
-19
-71
0
-65
47
-14
-67
0
-5
8
-3
-33
0
109
1
0
16
0
21
-80
1
-64
0
-7
-2
-4
60
0
-101
-13
-18
84
0
-25
-115
32
8
0
9
-21
-42
30
0
19
-1
-124
-36
-27
50
6
43
-20
0
-46
50
16
-33
0
50
-45
-18
-5
0
44
29
-31
0
0
-21
19
-43
10
0
26
-41
21
-2
0
56
0
14
14
0
1
3
-2
0
0
-24
-38
-29
-3
0
9
-2
-36
-1
0
0
22
1
5
0
0
44
2
0
0
20
-8
5
-2
0
23
-29
-3
-2
0
-2
5
2
-4
0
-2
-16
-1
0
0
-14
-31
1
-1
0
0
16
5
-37
0
-62
33
23
-15
0
53
29
-76
8
0
4
-28
19
13
0
45
-15
40
-33
0
-81
-75
27
47
0
71
23
-41
21
0
11
-14
-52
-14
0
111
43
55
13
0
-54
33
-91
22
0
0
8
22
5
0
-5
9
-18
-3
0
-36
24
40
37
0
4
-21
13
-28
0
-87
72
7
-43
-1
-42
-2
-11
-18
0
27
13
2
8
0
-62
56
5
-2
0
25
52
4
7
0
1
21
5
6
0
-27
-2
33
0
0
22
-21
-9
-1
0
-6
-9
0
1
0
-31
0
10
2
0
5
18
-6
5
0
6
-4
-2
7
0
0
-7
0
0
0
-2
-2
4
-5
0
1
30
8
0
0
7
-33
-8
5
0
6
18
3
0
0
25
33
7
-32
0
-13
64
25
23
0
-21
-73
-14
57
0
18
25
-75
44
0
-52
62
-47
86
0
31
-17
-49
-56
0
-20
8
-20
-15
0
9
-30
-14
-50
0
85
-83
-52
-1
0
-7
34
66
-15
0
6
14
-33
3
0
0
-10
23
-4
0
-4
-60
33
-15
0
20
-56
81
-7
0
-39
75
-45
-97
0
-25
-54
-31
-1
-22
53
14
-11
35
0
18
36
58
4
0
26
13
3
8
0
24
-8
-8
-2
0
-10
25
-52
4
0
2
16
-4
0
0
-2
1
-10
0
0
-2
0
1
2
0
-24
-4
-3
3
0
8
-14
2
-11
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
-11
-2
1
-1
0
-4
-35
14
56
0
-50
-36
4
-2
0
-73
-1
-39
22
0
26
-58
-43
-12
0
42
-57
-98
0
0
-55
-85
4
5
0
-23
-31
31
-80
0
65
-53
-29
0
0
-22
-17
-2
-23
0
-1
5
24
-4
0
-6
-25
1
-25
0
2
2
22
-2
0
3
31
-42
-48
0
-3
23
-56
-2
0
37
28
-45
25
-40
-71
-5
15
-22
0
0
-2
39
8
0
4
-12
13
2
0
6
49
-11
-6
0
-77
31
3
3
0
43
-71
-22
2
0
-23
11
29
-3
0
1
-2
10
0
0
-44
53
-8
-4
0
-2
-5
-6
-1
0
-6
-2
-9
0
0
0
0
0
0
0
-2
1
3
1
0
0
2
-17
0
0
0
10
-2
0
0
0
-1
-1
0
0
9
-16
19
1
0
-31
-14
22
-52
0
-70
-23
16
-9
0
-36
-56
15
-6
0
-85
-134
46
-28
0
48
-31
-6
-7
0
-9
-22
-40
-54
0
5
-13
-70
-48
0
-63
6
-28
32
0
1
-69
-75
49
0
9
-45
-20
5
0
3
16
-46
-27
0
-29
39
-14
-10
0
-3
-77
-37
-29
0
0
-11
-23
-5
0
43
8
47
-7
3
7
-29
-70
-39
0
11
24
-13
3
0
-20
21
74
4
0
-5
14
20
50
0
-24
7
41
17
0
-48
32
-19
-21
0
-1
-2
10
-5
0
11
-8
-2
0
0
11
76
0
8
0
-71
1
-68
9
0
-14
-18
-32
14
0
-24
3
-50
9
0
-22
-17
80
-13
0
13
4
33
-22
0
-2
13
33
-2
0
-15
45
-20
15
0
-52
17
32
5
0
20
57
33
38
0
0
80
63
-4
0
-11
17
14
22
0
-76
-57
-52
-5
0
-55
-77
-24
-53
0
-1
30
-20
-25
0
42
-32
-66
40
0
-105
1
25
16
0
53
22
-15
-35
0
-25
20
30
29
0
-41
49
9
39
0
-49
41
-22
48
0
-80
31
33
-26
0
-30
87
-35
39
0
-32
-5
-12
-5
27
-3
-46
14
42
0
34
45
15
33
0
-4
12
66
-55
0
-57
59
100
1
0
-54
46
-45
-23
0
80
-8
6
6
0
-41
6
47
0
0
-14
-17
8
-2
0
-79
69
-6
-6
0
5
34
-29
-2
0
-21
11
1
16
0
5
17
-1
-15
0
5
-43
13
-11
0
5
-36
22
-4
0
6
-46
-20
-1
0
-1
27
-9
0
0
69
-32
-85
-9
0
-14
-41
69
63
0
-25
27
74
43
0
-118
-75
21
-4
0
25
-12
27
2
0
33
-3
-49
24
0
27
-9
26
-3
0
-18
-53
81
-14
0
-102
19
-33
-5
0
43
44
-1
18
0
-29
65
3
53
0
34
-19
-20
8
0
5
0
19
-63
0
-30
32
23
-14
0
-8
46
-13
-21
0
-15
-17
-34
54
-6
58
-53
31
-5
0
-46
81
27
-5
0
3
-46
-15
5
0
53
-20
66
15
0
-14
44
-15
-16
0
43
-53
-2
-1
0
-17
-6
2
3
0
7
13
-2
3
0
8
-45
-2
-6
0
34
-39
32
3
0
-65
50
2
0
0
11
31
-1
1
0
-21
0
-17
-1
0
-3
25
0
0
0
1
0
0
-1
0
2
18
-9
-1
0
-20
-19
5
-1
0
-21
41
-43
63
0
-4
2
-23
27
0
-73
-1
84
-17
0
23
-111
-10
-17
0
1
23
-10
-58
0
-4
5
-5
-19
0
50
55
-8
-6
0
3
-27
21
2
0
-17
-24
23
43
0
-72
60
64
86
0
11
19
24
-36
0
-24
-60
64
64
0
-42
-53
29
-38
0
54
-21
-39
-8
0
-33
-53
-65
-12
6
-119
-7
-73
-13
0
-57
42
16
51
0
86
39
8
39
0
8
-13
-93
21
0
15
24
8
9
0
20
26
-10
1
0
-7
-15
5
-7
0
1
-10
-1
1
0
-107
50
11
9
0
17
10
19
-5
0
-1
-47
-6
-2
0
-25
-15
13
-1
0
-44
-37
-4
19
0
0
4
-1
0
0
-1
3
-6
-3
0
-1
7
-1
-1
0
34
-50
-20
0
0
23
17
10
-43
0
-51
-53
-46
36
0
-40
-111
-49
25
0
-4
-23
-64
49
0
-65
62
20
1
0
0
51
-5
-6
0
5
-34
2
-1
0
-29
-80
33
-4
0
-41
27
33
24
0
-24
-25
16
14
0
-56
-40
9
-71
0
-14
14
-42
-15
0
-10
7
-115
74
0
15
-23
-10
-15
0
58
48
-43
-35
-32
-51
41
5
-91
0
-18
-5
55
8
0
4
-23
9
-26
0
-71
51
2
-36
0
-43
-80
-71
8
0
18
-92
27
-1
0
44
103
-42
8
0
5
-14
17
-2
0
-11
9
3
-9
0
72
93
-1
0
0
11
-64
29
-4
0
-14
-6
68
-17
0
55
-40
-31
20
0
136
-8
-13
-2
0
0
-9
62
-4
0
6
19
4
-4
0
33
3
-41
18
0
-27
-9
29
15
0
-55
-7
-33
12
0
23
34
-3
-20
0
71
-55
3
-31
0
-104
4
-30
7
0
-23
-74
-26
-11
0
-47
-73
-8
32
0
-99
85
-4
45
0
63
5
-7
99
0
-18
-36
-61
70
0
65
42
-31
2
0
-36
9
49
-9
0
-11
-47
18
15
0
-51
-17
56
5
0
-1
91
-6
-84
-15
-84
71
-99
-61
0
-42
56
28
-11
0
-57
25
6
14
0
-29
-49
-46
-9
0
14
-33
0
43
0
-39
21
17
-17
0
-1
-62
-65
5
0
4
-4
-15
0
0
0
-34
-11
6
0
10
-41
-32
29
0
41
-43
-40
19
0
2
6
-16
-20
0
32
-7
43
-25
0
1
7
-51
3
0
-11
15
25
-34
0
-1
-7
3
3
0
-70
50
-33
0
0
-34
24
44
-14
0
-53
71
-13
-52
0
1
-91
34
-2
0
33
-10
-54
7
0
-17
9
-26
9
0
113
-53
29
-29
0
-11
18
-10
0
0
-31
-30
-14
9
0
-42
41
87
5
0
-8
-9
23
69
0
21
-48
12
14
0
-5
-82
5
-52
0
34
-15
-62
4
0
17
-48
32
-57
0
-15
79
125
-31
-21
-72
11
-1
48
0
11
75
36
-50
0
-16
-15
48
24
0
-44
-66
-1
-30
0
-117
-5
33
-36
0
17
64
4
-1
0
6
4
5
2
0
6
16
0
-1
0
-14
-2
14
-1
0
-53
51
-40
14
0
4
-53
-6
5
0
14
-146
-56
-2
0
18
1
23
1
0
5
27
7
4
0
0
-2
3
-8
0
-5
-5
-14
8
0
-1
6
5
1
0
-12
-20
-6
-15
0
-52
-68
-1
31
0
-26
-48
46
-51
0
5
-48
-34
-43
0
-67
13
62
-48
0
-74
63
-23
-23
0
17
-33
18
-5
0
23
-101
-78
-33
0
-48
16
28
46
0
44
28
-44
-15
0
-53
-18
-25
30
0
-32
-43
-24
-121
0
54
-3
-12
-64
0
19
-27
-112
-51
0
80
-18
-34
-30
-2
-38
-69
-82
23
0
19
-22
-51
-26
0
-74
-20
17
60
0
-49
9
42
-6
0
33
8
-37
-48
0
5
47
22
-23
0
2
17
-4
-5
0
-13
31
15
1
0
-50
-71
58
22
0
2
81
39
13
0
-12
-34
-81
-19
0
-25
4
4
-6
0
30
8
-78
-7
0
-1
-74
-14
2
0
0
-29
-19
-1
0
-23
0
5
2
0
-83
-7
0
-44
0
-95
47
-46
58
0
-67
13
-77
-53
0
-61
-59
-20
-78
0
-129
19
-53
7
0
102
-37
21
-44
0
-22
-6
-87
-72
0
-21
-31
51
8
0
34
-83
4
-17
0
-40
-11
14
-9
0
51
-7
-20
12
0
-33
-17
-43
43
0
-15
-30
-53
-25
0
48
-18
63
16
0
-45
-5
-73
-23
0
9
-40
-62
38
2
-17
-73
-94
-167
0
55
-3
30
-6
0
72
5
-43
38
0
34
75
18
80
0
31
33
10
6
0
65
-19
91
37
0
71
27
-33
62
0
26
-16
55
38
0
44
23
28
-59
0
-37
65
73
-76
0
80
-9
14
-24
0
43
47
18
-49
0
17
84
30
17
0
23
5
-4
29
0
11
67
11
27
0
-48
15
51
-9
0
60
44
72
32
0
-12
-56
-27
6
0
3
15
12
9
0
4
-34
-68
5
0
-71
58
50
5
0
-33
-10
-28
11
0
21
-23
53
-14
0
9
-43
0
-16
0
-49
-58
51
52
0
-44
-39
53
10
0
63
27
-35
8
0
3
39
48
5
0
-57
46
-11
24
0
12
-5
50
-38
0
0
41
-26
14
0
-18
-21
38
64
34
-66
51
31
73
0
-38
72
9
-53
0
42
3
-12
-50
0
46
40
16
39
0
108
71
15
8
0
7
11
3
34
0
9
104
50
-77
0
66
-23
17
33
0
95
59
79
-61
0
-41
-43
18
5
0
43
14
-65
36
0
20
15
11
16
0
66
36
5
6
0
14
14
79
29
0
-14
48
50
58
0
-6
-77
17
57
0
-80
71
7
-1
0
55
-16
22
-5
0
13
-60
60
0
0
19
9
-55
9
0
-19
-25
8
1
0
-65
20
30
16
0
-2
-5
42
8
0
5
-11
10
5
0
2
14
6
-20
0
-5
92
61
1
0
-50
51
52
58
0
6
-80
48
0
0
8
51
-23
-3
0
-23
8
54
-32
0
43
27
-38
56
0
11
-10
59
-34
-3
72
86
-76
-12
0
14
23
-7
-30
0
102
10
-51
4
0
43
33
-70
2
0
38
35
-59
33
0
61
33
18
-5
0
27
46
27
-26
0
-17
14
17
33
0
13
8
44
40
0
-69
4
31
11
0
36
-68
41
16
0
11
-34
48
5
0
16
4
-14
-2
0
5
6
22
-10
0
24
-30
11
37
0
-30
-8
63
31
0
-82
30
-8
-6
0
29
4
10
-5
0
11
-49
-3
26
0
-4
36
-13
-4
0
67
19
28
-54
0
-24
-2
97
0
0
-46
-18
-1
-13
0
-3
0
-1
0
0
-52
-80
2
3
0
-14
43
70
-23
0
14
-10
-49
31
0
-2
-39
-7
-14
0
8
-73
-13
15
0
-14
2
9
3
0
4
-47
-58
51
0
23
36
-91
11
15
-45
-37
86
-51
0
10
14
-27
-55
0
24
8
141
48
0
4
31
26
35
0
-53
72
-47
10
0
66
6
9
-1
0
41
18
3
-5
0
-38
10
24
15
0
54
51
-14
-13
0
-4
7
8
82
0
102
48
-16
1
0
-22
42
-77
-6
0
-76
-10
46
-30
0
-2
51
33
6
0
15
14
5
39
0
18
20
-10
0
0
-1
-24
1
-43
0
-25
-34
33
-17
0
-14
25
32
-30
0
1
-35
-8
6
0
-40
-40
2
14
0
-7
31
-11
-5
0
-8
32
61
-6
0
6
-10
7
-4
0
-29
20
-33
-5
0
1
-58
31
5
0
5
-1
-47
6
0
1
33
-4
6
0
-40
-10
19
29
0
52
44
24
-23
0
0
-44
26
-10
0
-43
-26
-59
15
19
32
-53
77
7
0
2
96
27
10
0
33
118
50
-17
0
62
-24
58
-3
0
33
38
-18
19
0
32
14
-5
-10
0
-1
-18
33
21
0
4
2
3
1
0
-12
-52
43
17
0
80
-2
11
29
0
-57
-14
-18
14
0
5
4
23
-3
0
-28
10
26
5
0
-5
-3
-8
2
0
0
5
4
-11
0
-3
-2
-7
1
0
37
-7
-24
16
0
-53
53
-8
-5
0
-3
-17
-9
25
0
35
-6
-13
0
0
-23
16
2
1
0
5
-3
5
-2
0
0
-1
4
2
0
0
-5
4
0
0
-10
2
0
-3
0
-55
9
-5
33
0
20
17
12
-57
0
-5
-48
-6
0
0
-29
-33
37
14
0
15
-5
11
-5
0
0
8
0
0
0
25
-12
2
0
40
4
-30
24
-54
0
-32
14
64
57
0
23
45
23
31
0
76
14
-42
-47
0
30
-1
20
41
0
-47
30
-48
-6
0
25
3
-15
-1
0
8
-32
-9
4
0
-17
107
-3
-5
0
-19
17
63
3
0
-35
-27
28
25
0
0
-62
-12
0
0
84
28
-60
-2
0
-6
23
22
-3
0
-4
-14
-2
-16
0
2
-30
15
1
0
21
56
-33
-26
0
25
70
13
18
0
3
-54
-10
1
0
20
-45
16
1
0
-63
-21
23
-3
0
-2
-13
27
2
0
-3
0
30
1
0
-2
-5
9
0
0
5
13
2
1
0
-20
17
-51
1
0
-43
-46
-33
50
0
-7
23
-9
-1
0
-45
-22
43
-1
0
14
14
-16
3
0
-5
5
8
-8
0
3
28
-68
-5
1
-13
-23
19
-1
0
-2
2
33
7
0
57
-87
40
-17
0
4
60
-3
1
0
43
-5
20
36
0
48
31
-4
0
0
2
32
-71
-3
0
2
-8
6
0
0
27
-34
-55
3
0
-44
59
17
-5
0
-35
-6
1
-5
0
-7
-39
15
-7
0
-17
6
18
5
0
0
37
4
1
0
0
6
-3
-5
0
2
1
7
5
0
-42
0
30
2
0
8
82
-1
0
0
-2
-1
1
11
0
3
-2
-1
0
0
7
-4
3
-2
0
-1
10
-2
0
0
0
0
10
0
0
0
0
0
0
0
6
0
0
-1
0
5
-34
-5
-9
0
-4
4
-19
-21
0
0
-14
-39
0
0
-39
0
0
1
0
2
-81
11
0
0
0
-5
-3
1
0
2
0
9
0
-16
-23
10
14
-5
0
40
6
36
109
0
-8
94
1
-15
0
4
-19
57
66
0
-21
-41
-7
31
0
-60
52
-51
-5
0
26
-11
8
-7
0
-71
-6
25
6
0
-17
24
-31
-19
0
14
-15
98
-1
0
41
51
55
-4
0
-5
103
-65
16
0
-7
-55
1
-13
0
-6
-36
10
0
0
17
-22
-11
-6
0
2
83
13
-4
0
-11
-17
68
0
0
43
51
-14
15
0
-41
8
-32
33
0
2
33
-2
3
0
15
-33
-11
1
0
1
-53
71
3
0
-6
0
-58
1
0
1
0
-3
-1
0
-11
25
6
-1
0
-74
14
-9
8
0
21
-14
-32
-7
0
-2
1
-80
-2
0
-46
-5
5
-15
0
-13
-13
-29
-5
0
11
-10
50
8
0
53
-117
3
5
16
-145
47
2
-6
0
20
-13
35
2
0
-28
13
-1
18
0
-1
62
-61
13
0
127
-74
45
-41
0
-34
1
64
-13
0
-42
38
-43
49
0
7
-43
34
0
0
9
-25
52
1
0
81
7
33
-52
0
-6
-61
62
8
0
-26
71
80
3
0
58
-6
-3
-30
0
35
10
29
-6
0
-1
-6
48
-10
0
7
-3
-34
3
0
-73
9
45
24
0
-23
4
34
-5
0
21
14
1
-4
0
-5
34
-7
0
0
-34
11
5
5
0
5
30
-14
0
0
20
13
8
-4
0
-5
-1
3
-4
0
27
-24
3
-4
0
6
55
31
0
0
0
6
5
-1
0
0
3
-2
-2
0
0
-7
29
8
0
-13
-11
-15
6
0
2
-14
25
29
0
24
15
-10
-4
-2
28
123
-81
18
0
5
22
-13
18
0
22
53
18
-14
0
36
-38
-43
9
0
111
-17
5
46
0
42
25
60
-33
0
-9
20
-41
-7
0
-5
21
16
-5
0
28
-50
-19
5
0
46
19
-10
5
0
-1
16
89
-20
0
-4
-67
-30
9
0
-78
29
47
1
0
-22
23
7
2
0
0
50
15
-8
0
-5
4
-8
0
0
-33
51
-35
0
0
5
23
-56
1
0
-37
-20
-7
5
0
-1
29
4
0
0
-20
13
-5
-4
0
-21
73
5
-2
0
1
16
-39
5
0
-4
1
0
1
0
36
15
7
0
0
18
23
-7
3
0
-20
-68
27
5
0
0
-6
5
2
0
5
-8
-4
0
0
15
7
-78
-2
0
1
-7
-14
11
0
2
-39
-18
0
23
8
-58
-5
2
0
27
23
-71
74
0
85
16
46
3
0
21
-24
55
4
0
30
-85
3
-23
0
-22
13
-61
11
0
15
-14
71
-19
0
15
0
-43
-7
0
62
19
1
-5
0
-51
107
-28
-9
0
40
150
-77
-24
0
-18
-78
53
9
0
-11
30
-24
-16
0
1
-4
-12
-2
0
0
14
17
-1
0
5
-46
-51
33
0
12
-4
25
-48
0
-25
-8
61
0
0
-50
-43
7
-5
0
-13
0
10
0
0
9
36
-33
10
0
52
0
-7
-3
0
10
4
2
-2
0
-5
0
0
0
0
20
8
39
2
0
24
3
53
2
0
3
-14
23
-26
0
0
-3
-13
-1
0
5
8
-5
-1
0
-15
-1
46
4
0
-1
2
-22
20
0
-34
17
-45
-11
23
-67
-21
-65
7
0
52
-23
-20
-26
0
-54
68
47
64
0
98
-12
-109
13
0
-53
-8
10
-92
0
51
-27
6
-4
0
30
-33
43
18
0
76
-57
-5
4
0
-11
-21
-29
-4
0
4
-15
65
10
0
4
-25
16
8
0
5
-5
-124
-9
0
-31
18
20
-7
0
5
10
-35
3
0
-3
-8
71
7
0
-5
-25
27
16
0
-2
23
-19
-6
0
15
42
26
0
0
-84
-6
1
-1
0
-5
-22
-17
2
0
-47
-33
-16
3
0
5
-5
33
2
0
1
19
14
-2
0
0
-4
-1
0
0
-32
-21
-24
0
0
-13
30
5
2
0
-3
4
-6
-1
0
0
-5
5
0
0
-33
-27
-4
-1
0
-9
-80
-17
-21
0
-3
2
0
-6
0
2
-19
-40
0
26
25
-86
-62
-23
0
6
14
14
-20
0
-20
39
11
28
0
-5
14
31
33
0
-15
-46
27
-14
0
-56
27
24
-4
0
-6
-8
1
-2
0
4
-7
-1
0
0
-40
-7
-58
-7
0
67
-23
8
8
0
-5
23
-4
1
0
1
3
-1
-1
0
-8
9
2
5
0
2
-5
2
-1
0
0
-2
3
0
0
-2
0
-29
7
0
5
20
10
-6
0
-25
6
15
-14
0
41
59
7
5
0
3
18
-44
0
0
-2
13
-2
0
0
7
17
-6
2
0
0
-1
-17
0
0
0
0
2
0
0
3
-11
-3
0
0
-52
-24
-17
-2
0
33
13
-19
1
0
3
10
0
0
0
0
10
3
5
0
-2
-14
4
-13
0
-2
-8
-1
0
0
1
13
-1
-3
-2
-31
3
26
-1
0
71
43
42
-20
0
-55
29
73
-25
0
-31
51
75
20
0
45
39
-26
-19
0
-103
-31
20
17
0
-41
6
13
-6
0
8
-5
-14
0
0
47
17
-24
-6
0
32
43
-62
7
0
47
-53
65
6
0
0
10
5
2
0
46
24
-18
-5
0
0
-14
-2
0
0
0
1
6
0
0
0
6
-1
-4
0
-25
-8
-10
3
0
95
-67
4
1
0
100
23
-11
2
0
-13
-23
11
-6
0
-36
25
5
0
0
-2
8
-3
3
0
11
2
-2
-3
0
0
-4
0
-1
0
-23
0
3
0
0
10
5
18
-6
0
32
-43
17
-6
0
0
1
-7
0
0
-8
1
-6
0
0
0
34
-27
0
0
-6
1
-11
-5
0
-25
5
0
0
-32
-43
-5
7
5
0
76
50
48
68
0
52
45
-40
8
0
-11
-41
10
24
0
-27
-22
2
-16
0
40
14
-79
4
0
15
-47
44
54
0
-18
3
-13
3
0
-84
73
-40
9
0
52
-65
40
-21
0
-53
59
14
11
0
0
-14
3
6
0
34
-33
32
-2
0
6
-29
34
1
0
4
-2
-1
-7
0
1
1
0
-1
0
-26
-29
17
-1
0
44
43
1
-2
0
48
-1
19
-57
0
-4
-21
8
3
0
-17
-2
-8
0
0
3
33
-5
0
0
4
0
-29
3
0
-2
2
0
-1
0
-13
8
5
0
0
-45
79
-58
0
0
-19
24
-20
-1
0
0
-1
1
-7
0
2
-2
1
-7
0
-3
-62
45
0
0
0
-1
19
0
0
2
9
6
0
32
-69
-67
14
-3
0
-14
-6
95
-10
0
-7
-2
87
-4
0
24
-35
24
-33
0
33
-4
-22
24
0
22
2
-9
2
0
-43
30
4
4
0
9
-28
-7
-1
0
61
21
-62
32
0
-2
22
23
2
0
10
-17
-64
-31
0
39
-17
-13
-33
0
-16
29
12
-8
0
1
65
-7
6
0
-22
4
5
0
0
0
61
23
2
0
11
-40
41
-17
0
9
28
-6
31
0
-14
54
-20
50
0
-32
-43
131
3
0
-54
-4
-83
5
0
15
11
0
-7
0
3
4
-37
5
0
1
2
-4
0
0
-37
25
-57
-2
0
64
20
27
-13
0
-22
56
65
0
0
0
-6
-20
-1
0
-20
5
-44
2
0
-11
16
21
-16
0
21
-2
-31
14
0
-14
-51
0
0
-1
-26
23
-43
-2
0
-15
23
-23
23
0
-10
-27
18
5
0
32
5
20
-2
0
-31
-2
-10
-12
0
-31
-4
-14
10
0
75
-2
7
-14
0
-3
8
7
-6
0
-25
29
39
18
0
-48
50
-37
5
0
22
-9
12
9
0
8
-32
-6
1
0
-11
-75
26
11
0
50
31
19
-5
0
32
-37
4
-3
0
11
88
-8
-8
0
-51
-30
41
61
0
6
35
14
-13
0
-7
3
-63
5
0
37
-30
12
-5
0
32
-41
18
-18
0
-15
-29
-20
20
0
-26
54
14
27
0
65
43
-21
-32
0
55
142
25
2
0
10
60
-25
46
0
53
21
-24
30
0
2
-7
34
-1
0
13
8
41
3
0
31
58
-3
-17
0
8
-49
2
77
0
-67
-3
7
14
12
19
-2
-43
51
0
-27
66
4
60
0
-65
-58
47
16
0
54
-61
71
-43
0
-50
59
-22
8
0
-99
-7
52
-25
0
-38
-9
-91
-4
0
8
-35
23
6
0
31
-1
-3
1
0
74
9
13
4
0
30
56
6
-14
0
2
19
-60
-3
0
44
-7
-5
14
0
2
-1
6
5
0
15
52
-66
-2
0
-6
-51
73
3
0
27
-9
1
18
0
14
-14
-51
-34
0
32
-65
-36
-31
0
-10
-36
-81
23
0
12
-9
-22
-77
0
-49
-41
-6
21
0
22
-35
-3
6
0
-44
-4
20
23
0
85
-19
-38
-4
0
-25
46
35
4
0
-45
24
75
59
0
-5
-28
16
31
0
-52
50
-46
-5
0
22
-14
-33
-10
0
-37
79
11
-2
0
-103
41
-4
52
1
-23
59
12
-48
0
17
41
-10
15
0
-10
22
16
-15
0
-86
52
-33
0
0
0
-6
10
5
0
23
-3
6
2
0
54
-5
25
-8
0
4
5
1
-1
0
-27
-21
14
0
0
19
3
5
0
0
26
11
-24
-5
0
1
21
-1
0
0
14
4
30
-1
0
6
57
-46
5
0
8
17
11
-2
0
14
-24
0
1
0
-44
-47
69
2
0
4
-28
32
6
0
-16
-20
-66
-8
0
-75
-5
-64
23
0
-13
-21
-51
-89
0
-36
18
-12
-31
0
0
-17
-15
-66
0
-64
-16
11
91
0
-44
30
-2
-14
0
45
35
10
-23
0
17
-8
-59
30
0
15
14
-46
-4
0
38
63
11
-26
0
34
-28
-37
24
0
13
-52
26
-65
0
27
18
8
24
9
68
11
51
5
0
51
-20
18
9
0
-1
10
36
-51
0
-11
3
-8
-9
0
-14
7
-1
4
0
53
18
16
0
0
31
-15
10
-2
0
-5
1
1
-1
0
10
-108
-6
0
0
55
-34
27
5
0
-74
5
16
-3
0
1
11
-34
-1
0
-1
-31
32
-1
0
-5
-60
11
-5
0
4
-44
-32
-1
0
8
10
-19
0
0
14
-45
-18
-8
0
-24
16
-10
6
0
6
-12
25
-7
0
53
-35
0
-8
0
-26
11
-93
-14
0
46
-58
-57
26
0
-4
54
-42
-28
0
-21
-77
-83
26
0
-36
-12
4
-8
0
27
52
-8
-44
0
-17
34
14
-14
0
-27
20
23
5
0
1
-5
37
-29
0
-5
-48
-67
82
0
-14
-20
-43
5
0
-29
-6
-74
-12
-10
-157
-2
-51
-135
0
-14
24
1
28
0
34
-24
53
0
0
-51
0
16
7
0
-49
20
-34
51
0
-59
-4
-5
-21
0
-7
11
1
-11
0
-2
7
-6
9
0
-3
-32
-2
-1
0
-5
7
-20
-3
0
37
15
-14
6
0
5
25
-6
1
0
14
-51
-2
-24
0
-1
36
-9
-3
0
0
-6
2
0
0
-24
-15
3
1
0
49
61
-90
10
0
-8
8
33
29
0
34
15
30
-84
0
-35
12
-27
-1
0
-77
-14
-65
13
0
42
-48
-16
-5
0
-63
2
-2
21
0
80
6
-43
0
0
-141
-49
-2
76
0
57
3
-66
-75
0
-83
53
-53
24
0
24
53
-7
-15
0
-64
62
-5
-8
0
19
-2
-36
-54
0
-1
-17
-48
-45
0
14
36
12
-10
-13
-36
-37
61
-16
0
21
69
82
-8
0
-76
66
-4
15
0
71
-53
-15
11
0
-35
42
-51
27
0
-48
18
-15
2
0
-33
24
31
0
0
16
0
-4
5
0
-14
-2
-46
-5
0
-55
42
-15
-5
0
32
37
15
7
0
1
22
1
-5
0
84
-5
-16
0
0
-1
0
-56
-1
0
-1
15
-14
1
0
4
10
-15
2
0
-51
110
-49
-14
0
20
-68
54
76
0
-6
-17
44
39
0
-1
-101
-21
-28
0
-16
-87
10
15
0
-45
-56
-62
-57
0
-133
-148
20
-16
0
25
25
-9
-69
0
28
-28
11
25
0
-71
-26
52
37
0
-20
-89
-18
-11
0
15
33
-67
23
0
8
-55
5
-5
0
5
-52
28
-14
0
5
20
-81
5
0
43
-20
-31
-81
11
49
-38
-34
-72
0
-12
-12
103
10
0
-8
6
-21
16
0
1
30
-2
3
0
52
49
-8
21
0
-1
7
-13
0
0
6
-19
8
0
0
5
-3
0
1
0
109
-14
-23
-13
0
-43
6
2
1
0
-32
59
-31
-17
0
-2
-26
5
2
0
33
14
0
-13
0
0
-5
-14
0
0
-2
-1
-2
0
0
-3
5
0
1
0
2
13
1
4
0
-11
37
8
-62
0
-52
-65
23
16
0
-78
14
53
-14
0
-13
3
-47
-59
0
-99
-12
32
-23
0
95
-92
-6
-31
0
-1
-32
106
-61
0
-51
-54
26
10
0
38
-54
-5
-66
0
2
53
-31
-41
0
36
60
3
-10
0
21
-42
-26
-49
0
-6
-13
-48
5
0
2
41
9
-1
0
20
-62
-27
-14
1
12
-62
-57
-10
0
-31
-56
48
-44
0
-25
-1
-71
-20
0
-12
-9
-53
-6
0
-70
9
41
-35
0
90
-65
31
-4
0
-1
13
3
-5
0
27
-29
13
-7
0
-42
3
17
-3
0
26
88
5
-14
0
-108
65
4
30
0
-33
-27
-71
3
0
3
-22
5
24
0
43
48
16
2
0
14
3
-42
0
0
-2
3
-46
-3
0
5
53
-35
7
0
-14
38
-14
-2
0
-47
-5
39
32
0
-17
-90
-52
-124
0
-89
39
-95
-24
0
-42
-60
-43
-7
0
64
-6
-21
-8
0
-60
-52
33
-52
0
-26
-56
-23
-8
0
-25
-53
28
-1
0
-2
-123
15
2
0
-35
-26
2
1
0
-23
2
-2
0
0
5
-37
10
-93
0
-7
61
7
-53
0
-60
-56
-23
43
4
6
-45
-33
-7
0
-12
1
-4
-14
0
14
7
37
53
0
66
-20
74
15
0
-2
-37
15
-44
0
56
-58
-63
-3
0
-5
5
30
24
0
27
76
-19
0
0
4
-10
77
-6
0
-5
106
-72
-42
0
-18
25
-3
3
0
4
9
1
24
0
-43
38
29
20
0
-24
-78
-24
-7
0
-43
-23
17
-5
0
11
9
18
-1
0
34
-18
-1
-6
0
13
-8
-35
1
0
51
29
44
-9
0
4
-23
77
-43
0
-10
-6
34
5
0
85
-28
3
-33
0
-34
42
12
-11
0
0
-91
28
63
0
-49
-33
-22
-27
0
-32
24
32
28
0
-4
0
-11
17
0
25
14
29
-24
0
14
29
0
38
0
-12
37
40
-71
0
-13
-8
-46
16
0
-9
-27
18
-19
-1
-53
72
33
22
0
20
66
30
60
0
6
-24
32
11
0
-6
8
-45
-10
0
95
-10
-57
43
0
110
-5
8
-1
0
-9
2
44
17
0
-15
51
-57
-5
0
-57
40
-9
10
0
18
-5
3
-13
0
-59
-5
37
-75
0
-1
-51
10
8
0
-44
-40
15
10
0
-55
49
-2
0
0
7
7
9
0
0
4
-14
-58
0
0
-20
16
-43
1
0
10
-30
6
-5
0
43
-14
-38
-3
0
-17
-3
79
-32
0
18
-84
29
-29
0
14
34
30
15
0
-101
-5
-57
7
0
50
-4
-55
0
0
-64
-73
85
44
0
-81
32
44
34
0
52
92
-19
-72
0
27
69
-33
22
0
84
24
-11
14
0
-7
-20
-1
52
0
-24
23
-67
62
0
21
107
24
-23
-7
-37
-45
54
11
0
69
55
50
-64
0
32
-26
34
83
0
-5
71
46
-23
0
-47
35
43
-34
0
23
-10
-29
1
0
-72
24
0
2
0
62
18
3
0
0
-49
3
-5
14
0
-17
56
-23
1
0
58
-92
5
22
0
15
-15
-4
-7
0
-36
-21
9
5
0
-9
-10
31
0
0
0
-11
21
0
0
2
11
-3
-3
0
20
-7
-7
-41
0
8
4
-27
-39
0
-30
5
14
-58
0
-22
2
25
-45
0
3
-121
-4
23
0
-5
23
-47
-56
0
-108
-3
-6
-18
0
45
-37
-7
-2
0
29
-15
-86
-80
0
-6
15
44
32
0
26
-4
9
63
0
5
-36
-14
29
0
7
-14
-16
-75
0
-48
-32
11
49
0
16
94
35
-57
0
81
1
-10
6
5
-41
9
21
-65
0
-31
17
-1
125
0
4
-9
-33
-8
0
-80
23
43
-15
0
-3
-16
-28
-33
0
12
32
43
6
0
52
-112
56
-23
0
8
6
16
-1
0
-37
-33
24
1
0
-10
54
-33
8
0
-23
-30
-47
5
0
8
54
20
-9
0
-29
24
1
-2
0
2
-15
4
-4
0
1
14
14
0
0
-1
-20
2
-1
0
-6
-30
-21
0
0
-25
-72
-40
-2
0
-5
34
-4
57
0
-18
-62
-35
20
0
19
-3
-18
-9
0
-49
14
-12
-70
0
-78
-39
-43
25
0
-1
33
-18
2
0
62
45
-94
-22
0
3
14
19
16
0
-30
-27
10
-10
0
19
-8
-5
-25
0
-32
-28
43
-13
0
24
28
21
-5
0
44
29
71
-36
0
-72
63
-33
15
5
-29
-75
-129
-60
0
32
41
55
-12
0
53
15
25
-48
0
-62
64
-24
-48
0
41
-11
-47
12
0
2
6
-45
-3
0
21
5
-10
23
0
7
-16
21
-3
0
-54
63
-7
-18
0
-34
4
-4
32
0
-30
29
14
29
0
-5
34
-20
42
0
-79
-15
-2
53
0
8
-15
10
-7
0
0
-51
20
11
0
-4
-6
-13
-9
0
-82
-49
33
-21
0
-1
18
31
-8
0
-5
23
-77
-18
0
-23
13
-45
28
0
-62
13
72
-37
0
-32
-8
-60
36
0
0
-19
-15
20
0
-51
-24
69
53
0
36
-30
-100
8
0
46
32
-8
-2
0
85
2
28
32
0
58
18
-15
-45
0
-10
-10
38
-15
0
-19
-25
13
-81
0
-39
11
52
16
0
64
-80
-119
-23
-2
23
-101
4
24
0
-17
9
27
56
0
-45
23
-3
15
0
12
-15
11
19
0
-68
23
29
11
0
21
-43
29
16
0
58
12
44
-3
0
1
-21
5
5
0
-29
-19
-7
18
0
3
14
19
79
0
24
13
7
-9
0
-15
-14
50
0
0
5
-20
2
-22
0
-1
11
33
0
0
4
22
15
8
0
2
16
3
-7
0
-23
-3
-16
6
0
-2
6
-8
15
0
-39
-88
25
45
0
11
-23
-80
-23
0
77
-69
-58
5
0
-28
5
-24
21
0
-72
18
-53
-49
0
-6
1
-89
-36
0
-46
11
-102
-5
0
72
50
3
-11
0
6
35
-5
-12
0
-96
-41
27
-48
0
-102
7
-37
5
0
38
-43
52
114
0
14
12
-30
-60
0
0
-75
17
15
-7
-13
62
-51
17
0
46
53
73
56
0
-20
45
29
61
0
-34
19
21
8
0
2
49
20
28
0
64
14
16
-5
0
-37
-61
3
-14
0
-8
15
22
1
0
-55
15
-53
-32
0
-1
-8
10
-19
0
2
-30
25
15
0
11
14
-65
21
0
-15
28
19
3
0
-3
5
-27
4
0
9
-2
-48
-1
0
0
8
-4
0
0
4
-23
-63
36
0
-8
55
6
4
0
-79
79
33
46
0
-24
-29
-15
-23
0
-31
-79
-16
32
0
-56
26
-2
-2
0
-25
-60
-72
-17
0
34
-61
-70
36
0
28
2
15
-55
0
62
-60
29
-15
0
21
-1
-11
32
0
43
-36
-79
-22
0
2
-32
-15
15
0
-33
-16
17
-77
0
6
-84
-55
-43
0
-43
71
2
-30
-25
-108
35
90
-62
0
62
-10
93
50
0
-7
-35
65
59
0
-92
51
-26
31
0
-83
65
-71
-15
0
45
-43
-2
-4
0
-65
-14
14
51
0
-62
57
7
-34
0
-77
-22
29
3
0
61
40
-43
44
0
54
-16
39
53
0
18
35
-8
-55
0
-64
-31
-11
19
0
-92
82
-20
-17
0
-7
0
-3
-31
0
-24
-14
-38
2
0
-7
-15
-76
-52
0
-6
37
-3
11
0
4
43
39
14
0
-33
-102
38
-27
0
-49
-33
35
-52
0
-27
6
39
-3
0
28
59
-23
-74
0
5
62
-6
-23
0
-80
-31
-48
-19
0
55
10
-38
16
0
-18
-17
15
84
0
-37
-51
-76
-1
0
-44
-77
41
29
0
-23
-15
-45
-44
0
55
-59
-2
-44
0
65
-44
-77
-78
-28
-26
-44
27
16
46
14
25
9
48
34
23
7
71
0
-20
-34
71
0
-32
-9
29
22
48
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
62
-5
-26
-18
-41
-6
43
52
67
3
59
-24
12
14
24
-22
8
-96
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
59
31
-16
56
13
-29
24
-15
27
-3
58
-57
-5
-5
5
51
40
-20
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
49
-43
8
-47
0
-25
57
20
32
0
22
-6
-19
1
0
-20
-1
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
7
43
34
9
12
45
20
49
34
12
16
-76
27
22
-83
15
45
61
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
-1
20
30
23
-31
-6
1
31
-1
44
0
37
17
5
-48
12
-51
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
3
87
25
109
-15
-22
-40
66
11
71
57
-31
0
4
-87
67
20
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-1
7
13
16
35
-3
-11
-18
0
34
-5
9
0
4
8
-21
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-11
33
-26
71
-55
58
25
32
-30
44
4
24
26
4
41
-29
13
-21
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
59
4
5
3
56
94
2
-53
-43
23
-53
29
-23
25
-17
-29
-73
15
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
5
13
-13
3
-16
-41
-49
8
0
7
-50
-23
2
3
6
-19
14
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-17
-14
3
0
18
43
19
0
0
53
-20
11
-3
0
10
-23
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
34
62
4
23
50
47
12
-20
24
14
-19
92
68
-29
6
16
-51
15
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
2
-49
14
3
33
-24
-2
-31
8
13
62
43
69
18
-45
80
-30
35
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-123
89
14
-26
-5
-37
46
-28
45
34
53
-51
15
18
-19
43
62
-42
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
20
39
1
0
-23
10
19
18
0
13
-24
-7
3
-16
-32
94
-5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
53
23
80
19
45
23
34
26
24
6
-6
65
31
84
-6
53
23
73
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-8
24
4
37
33
38
3
14
-58
2
-13
14
-36
14
-9
20
-59
-14
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-34
23
14
39
0
47
-10
-7
8
-7
-63
-13
-1
1
-1
-5
-6
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
55
75
15
8
0
-19
-31
-48
1
0
5
-2
-25
-2
0
23
-4
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
107
92
-56
1
55
110
35
-2
-19
60
21
53
22
-16
-18
-67
-24
-11
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
19
14
-7
-4
5
-22
29
-79
28
-9
-3
-14
-18
14
-8
-9
-47
21
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-22
42
-23
-9
-10
-58
76
-8
11
2
-27
28
-19
0
0
-22
31
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-24
72
-14
0
16
-32
-95
-27
0
-45
-19
-30
0
0
-98
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
5
-3
-15
43
7
41
12
35
-41
-18
26
4
28
14
-52
19
-32
31
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
12
-3
-22
-15
-2
-23
17
-13
-7
-4
-33
7
4
-6
-5
-4
-11
21
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-73
-19
-15
4
-1
-6
23
3
-2
1
3
-16
1
0
0
17
-31
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
15
-22
-2
0
-5
5
0
-1
0
8
1
1
0
0
5
14
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
21
-28
21
29
-28
74
-27
18
17
16
8
34
45
16
-72
73
-13
44
121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-30
-20
42
33
17
-4
80
105
-71
53
52
-3
-4
0
14
-62
33
-13
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-51
-100
59
11
4
-64
55
29
9
-13
25
14
36
0
13
-17
-12
-13
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
-33
30
9
1
50
-33
14
11
0
-32
5
5
-6
0
-32
-19
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
51
42
35
108
43
0
80
-17
5
12
6
23
2
-17
-25
-29
49
46
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-16
51
30
5
-30
14
11
91
80
-6
17
18
42
-15
-19
-9
56
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
59
-16
-26
29
-15
56
99
37
-4
-36
-51
31
77
0
102
-42
-32
-5
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
115
-8
48
-10
30
50
-14
-6
82
5
-109
91
-28
-14
25
43
-107
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-22
-15
-30
-4
25
-23
70
-17
21
5
18
21
-36
-16
67
21
65
-12
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
40
111
-15
45
-5
40
5
17
-48
-2
-12
-8
-3
4
-29
47
-19
71
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-1
35
67
-6
-38
-104
-45
77
60
33
16
-47
24
10
-43
-6
-48
-8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
92
-24
-28
-48
11
-48
49
-63
39
-1
-6
22
-6
7
20
49
-55
27
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-5
90
-6
108
-1
3
11
46
-59
71
38
68
-54
-67
38
-54
-71
59
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
67
17
35
-49
11
14
30
45
-9
10
43
-67
39
33
-23
-33
-8
-15
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-15
42
63
42
-55
-37
5
-15
13
-20
25
-52
-43
37
-42
-70
26
-58
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
6
5
4
-58
-12
-92
17
52
14
0
49
14
-14
8
-19
-17
77
-26
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
-15
-6
72
33
-14
29
15
-68
65
0
-62
-53
37
5
-20
1
20
26
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
29
14
65
-39
-21
-28
67
-16
24
3
6
-9
-39
-10
84
-11
31
31
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-23
16
-107
16
30
-53
-49
-39
-89
-35
19
-14
44
0
-55
15
-23
9
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
18
-13
1
41
-6
31
-21
-27
3
8
-88
5
0
-27
53
44
-10
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
54
64
27
-10
27
19
-36
7
-23
14
13
-108
55
-7
89
-96
-10
-87
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
2
-8
37
3
-84
15
-55
-15
56
5
45
108
-60
-7
33
-56
69
-55
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-23
39
1
-3
-52
-3
44
-3
-4
-5
-16
-22
11
-1
-17
3
2
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
33
-67
14
-12
100
-5
32
80
-13
-11
24
10
-40
27
-6
-1
3
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
23
-59
54
-23
-20
53
-7
-1
-68
13
-53
1
-69
22
55
63
43
-10
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
61
42
-5
-3
-49
-41
8
-1
14
7
26
-14
21
-13
-25
56
43
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-62
51
-7
1
50
-29
-44
-29
0
0
29
-16
27
-5
10
16
-72
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-83
-4
30
-24
-47
-42
36
2
12
5
-8
19
-26
-14
4
-37
-54
32
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
0
35
52
23
30
-39
66
-18
46
40
0
-78
83
-21
-94
-54
5
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
27
18
52
5
16
14
-11
0
-2
-33
-78
1
43
-3
-36
59
13
51
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
38
-32
59
-19
-32
-27
-5
-31
2
-5
1
5
15
2
-23
35
16
-71
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
45
42
19
-18
32
-82
86
-51
5
6
-122
-16
-16
4
-26
45
24
18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
-34
-13
18
-15
33
-94
-42
-14
22
-11
50
59
-89
-4
-53
67
61
-27
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
35
31
-32
14
-17
-28
-4
33
39
-7
23
-1
-7
8
-5
-5
21
-78
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-21
22
-4
9
-14
-25
19
-75
-43
27
-35
-52
-4
5
-37
-16
-100
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-2
41
-53
20
13
53
-48
43
2
0
29
59
16
9
25
-126
-12
7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
4
-31
53
28
6
73
48
-58
33
-33
-19
-3
-2
-1
15
109
-27
37
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-30
53
-80
35
-3
-27
99
3
7
50
42
-23
-2
10
13
-14
33
59
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
27
21
14
-8
11
25
8
33
-14
-32
15
4
-26
46
-78
26
3
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-41
0
56
-31
-20
-14
-48
29
47
1
16
83
5
-2
-23
99
36
11
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
24
14
-8
0
-7
33
-28
5
-3
-56
-13
80
22
-1
-26
-36
-14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
-49
-3
60
-56
34
-11
52
-6
8
-51
-53
14
5
40
2
-36
-47
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
11
72
-51
113
22
-11
-11
-2
-70
-18
23
7
-43
-32
-35
28
65
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
31
32
19
-15
36
44
-8
-5
-76
0
-3
-2
68
-36
18
16
-75
-111
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
23
17
11
3
8
11
52
10
21
-64
18
-11
-28
-5
19
35
-87
-45
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-74
55
14
-6
12
-39
-37
-9
2
-8
43
22
-5
-8
6
23
-43
66
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
17
29
50
45
-29
-41
-20
-53
14
-25
5
-14
-53
4
-1
-19
-48
-5
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-25
33
-50
-43
27
-37
-37
-33
-44
-2
-10
29
-31
26
5
-46
18
64
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
33
44
-14
3
-56
13
5
55
5
6
48
58
-4
-7
-20
11
23
10
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-24
-3
-16
0
19
-23
-44
14
-24
1
-53
2
21
10
-3
-39
-57
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-3
30
1
-8
-150
30
-7
-3
43
-48
-63
-54
35
-24
64
-24
-36
10
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
5
-10
5
-32
67
-45
80
9
-24
9
-12
-62
-12
-23
-41
-54
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-16
-49
0
-43
35
-25
84
27
-14
-6
-89
-6
-8
6
68
-20
-40
-26
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
24
28
-12
14
13
50
8
-51
1
-21
62
-2
11
1
5
-15
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
15
15
-1
6
-101
13
28
82
27
-13
-117
15
-1
4
-28
-70
-24
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
4
-5
-82
30
-52
-86
-75
-35
83
-55
-37
-23
83
21
21
24
29
14
-106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
50
-15
-72
24
16
-63
70
-12
-7
-15
103
-26
-11
-15
5
89
-6
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
16
-9
41
-3
-61
48
-23
60
16
-3
-4
45
-3
-1
-15
23
-34
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
12
-11
-4
43
39
7
136
44
-34
-43
-181
-52
43
14
-22
-122
-3
7
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
46
-7
46
-14
-31
-61
-3
-30
54
-11
36
-8
-80
-18
-16
-21
-33
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
43
-14
57
5
-31
-5
14
-24
-13
0
-24
28
36
-5
-12
-16
37
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
27
22
2
24
-4
33
-26
-3
1
-39
5
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
-86
8
-3
47
-86
-75
-49
-90
-73
2
-7
-46
-117
1
-10
1
-67
-64
-45
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-35
11
-48
24
-54
-102
-12
1
0
-1
40
5
20
-93
31
12
-85
-127
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-57
38
21
0
-84
-9
-62
-38
-5
-43
96
-24
31
9
-90
-33
0
39
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-23
-39
-85
7
31
-5
-21
53
2
-2
-56
-39
-18
1
-34
44
-16
-26
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
-23
29
-8
-73
-16
-49
-62
67
-22
13
-2
-5
-105
58
26
49
-96
-18
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-20
-72
10
-32
0
-81
85
23
-96
-34
-64
-142
-16
6
7
-6
1
-52
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
2
45
-19
21
-18
6
85
55
14
5
23
-1
-97
-5
-9
-10
-18
-24
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-1
42
98
34
77
1
57
14
-1
64
-2
14
-82
-22
6
-15
8
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-16
-2
-24
-60
31
13
-25
-60
4
-59
3
-62
23
-44
-7
47
-36
82
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
8
14
6
6
75
24
53
22
-5
-116
40
58
28
56
-2
-4
-38
55
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-4
37
5
82
27
23
-50
6
29
-31
31
4
-10
36
-34
5
32
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
12
-20
-55
35
79
-23
14
31
-37
-5
-4
16
50
-19
4
1
59
-36
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
-17
24
-12
10
12
-60
-21
1
-11
43
-21
35
-94
-6
-165
-29
-5
-52
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
32
-13
15
12
7
-2
-40
13
20
33
-69
-6
58
-28
-105
-19
-10
-44
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
71
-4
-14
-23
41
-21
27
71
16
4
-5
-107
37
-10
29
22
-23
33
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-88
-43
41
16
35
-11
-10
-15
-19
-24
-24
98
-37
71
52
22
20
-14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-39
-15
3
-6
23
-19
-5
15
-3
-14
-16
26
6
-23
-52
-112
55
-26
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
30
55
14
-20
-7
-5
8
-4
-2
7
6
-37
16
12
-35
4
5
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-10
-12
72
-16
73
-102
26
-62
117
-41
-28
-56
14
49
47
53
-27
-38
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
21
0
-4
7
2
-39
-106
-11
-27
20
-52
-56
-79
-18
-94
-81
35
56
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-60
-16
10
62
-74
-4
88
-71
2
81
-31
19
0
27
34
-10
-66
-56
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-8
64
7
50
-57
-8
4
-7
51
-13
44
7
20
5
-9
3
-32
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
31
16
30
94
-47
51
59
82
89
62
44
-21
-69
-85
72
-85
-79
115
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
2
-16
78
18
91
0
-33
-20
-52
-64
54
18
29
-18
-2
-33
21
38
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
7
6
17
23
0
3
14
-79
2
-36
3
-42
-10
24
-89
-9
52
-96
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-6
21
-17
10
-8
0
26
-50
59
14
-14
-86
-4
-44
-1
-57
0
69
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
53
47
21
12
-36
-10
28
33
-1
-11
21
-34
-14
-19
-3
-82
78
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
3
-53
5
-3
-5
-34
56
23
-7
-35
-66
-57
-67
21
3
2
-4
-14
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
42
-27
-10
11
-18
-67
-59
-20
-119
53
26
74
-58
48
-69
13
-53
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-27
-27
24
13
-29
15
15
10
-40
-64
-13
-12
-17
81
2
-123
-13
-33
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-35
-49
-24
8
-15
-29
40
-23
37
-42
-50
43
-51
-4
-14
-50
-68
-8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
42
3
-26
5
23
64
-9
22
-26
-80
-48
0
41
2
-9
-39
6
36
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-3
-100
-34
-6
-50
8
32
47
15
-45
-55
27
6
-109
15
26
-63
-34
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-45
4
-10
-1
0
-28
4
-62
-43
-78
16
8
-99
-127
-72
-18
2
-22
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-50
48
25
-32
-71
-18
-2
33
-14
-32
-43
131
90
-23
-18
-31
62
-18
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
23
7
32
13
-67
-1
-124
-60
-7
8
-47
4
-62
-15
-44
-71
36
-9
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-170
-21
19
17
65
56
-65
-52
51
-65
-61
8
-62
-84
-55
-20
-45
-22
-65
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-64
-8
-36
5
-14
-8
-60
-50
-32
42
-82
-37
-35
44
-50
-25
-24
-44
-102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
73
-28
-6
77
114
-22
42
6
24
72
32
47
53
41
15
52
44
5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-44
56
-1
39
5
35
40
81
16
0
-3
24
62
-20
-8
25
8
81
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-60
-123
-4
11
10
-15
100
0
76
0
14
33
-31
-8
31
3
-23
84
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
53
-44
52
-15
-5
105
-28
-26
-30
1
-34
24
-53
-5
0
-1
-25
34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-24
-13
26
62
76
62
35
14
14
34
6
71
24
-22
94
101
61
-20
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
121
38
38
0
-27
4
54
45
-13
-18
66
2
-52
39
-20
100
-2
-50
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-12
50
44
-39
-3
-22
-19
4
-9
-13
14
-2
4
3
8
-101
16
44
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
21
8
40
-5
78
-84
26
11
14
0
-8
-33
-3
2
0
21
-5
-27
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
-34
9
56
-6
-10
1
76
-3
66
32
22
-4
15
94
114
19
43
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
84
4
4
-25
10
-112
-1
-5
3
-5
-74
-5
7
4
44
71
-109
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-113
43
28
-19
-5
5
-7
-20
-3
36
4
26
-84
5
7
-33
-11
46
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-43
16
-33
45
-1
82
-8
-48
9
0
-73
-86
21
9
0
48
-63
46
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-13
45
-8
62
23
31
-37
46
14
22
55
95
-12
-24
-52
6
36
43
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-17
56
8
33
-27
-5
0
27
-26
-29
21
21
38
21
73
-27
45
-37
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
20
-5
-22
-9
15
-50
-46
-17
1
-5
33
-35
-11
9
-51
-77
-19
-14
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
12
56
24
3
89
31
-80
-32
1
-17
-18
19
-4
11
-20
-53
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
40
18
58
-22
-17
13
26
53
-14
9
22
-33
71
28
-77
40
-17
82
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
11
23
78
-23
58
43
-49
58
-24
0
44
-10
-8
6
-1
-30
-10
-35
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-1
18
-36
43
43
46
-11
5
-16
-5
23
-3
-4
4
6
-33
-13
-27
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-26
21
-5
-16
0
-4
118
43
45
0
-5
5
13
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
60
-28
86
17
32
21
61
3
0
29
-36
-61
1
-21
43
10
-14
40
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
97
-5
28
27
-9
15
-9
-5
-21
5
-41
-1
43
0
16
3
-43
-41
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-30
61
-3
6
52
-68
33
18
-63
14
-11
-43
36
0
-5
-5
-77
25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
-33
68
-7
-5
6
45
12
14
0
-4
1
0
1
0
2
27
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-5
50
-31
-65
-18
-17
-23
80
3
37
-59
61
1
50
41
-7
-39
74
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
91
13
-2
25
13
-10
14
21
8
-1
14
-47
-17
2
-5
-1
16
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-23
59
33
5
7
-20
-6
36
9
-8
21
-36
-14
0
0
0
20
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-33
64
-3
-1
2
-36
16
-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
82
48
22
-20
-11
12
87
-35
-11
50
-80
16
70
13
17
-59
-8
-11
-46
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-59
30
-31
17
14
4
30
-42
51
5
-11
-23
37
1
66
-23
83
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-34
67
65
-14
-8
-34
67
17
15
-18
38
16
-14
-3
13
-3
-136
-3
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
32
-13
-5
-24
2
-43
15
36
-7
0
-29
-23
-27
4
1
-75
-36
33
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-8
17
22
5
64
37
-27
23
-25
-20
-82
9
60
7
21
71
8
-7
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
-17
67
68
19
-5
-21
-78
60
39
13
50
38
21
23
-25
-14
47
32
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
20
35
3
-5
-26
38
-1
3
14
-21
22
24
38
-5
0
-15
4
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
15
17
19
-14
0
-18
34
27
14
4
-20
74
-6
-5
0
1
-15
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
32
46
63
49
8
-7
42
-83
64
-5
105
-20
10
-23
52
2
-15
-28
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-74
74
44
14
49
-33
4
-10
-27
23
36
14
-22
21
-27
53
0
-65
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
63
-53
-11
3
-65
20
7
-3
1
-5
8
6
-6
0
18
19
-23
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-31
64
-30
1
-3
-34
40
-5
16
0
13
-8
0
0
-1
-23
-17
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-12
35
-24
89
-32
1
49
67
-15
43
9
-26
-44
-5
-24
-24
-54
23
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-52
87
-38
-12
69
-27
89
-14
-14
-31
-58
42
-23
9
-34
-42
7
-48
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-32
98
33
-9
75
36
-26
7
28
37
43
-69
-21
3
-13
90
17
-61
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
16
-13
62
-4
-5
-15
26
-15
-4
0
5
31
-2
-4
-2
5
-21
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
45
-10
23
-16
-9
56
-48
15
-21
76
70
-76
13
-33
7
-42
-26
-54
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
4
-1
24
32
73
-86
11
-17
21
19
-45
-2
100
-38
-8
-65
-46
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
39
-49
-52
4
-80
33
6
-9
-14
3
-33
39
-17
3
-21
-10
74
-109
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-5
-19
-5
-4
-3
14
5
15
1
8
-43
26
3
-1
39
-33
46
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
36
35
57
-6
-39
43
58
-41
-11
37
24
-30
-26
33
8
-6
-11
36
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
40
14
11
32
10
-49
19
-22
17
-1
-9
9
-18
-9
3
5
19
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
58
34
-5
0
-8
17
29
-10
-5
2
-17
4
-3
-3
0
-2
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
46
-15
-43
0
-3
49
-9
1
0
5
2
14
-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
-23
-18
35
51
49
16
13
46
-11
52
-24
78
37
33
-52
9
19
16
78
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-84
23
4
-15
-3
22
-20
117
-5
4
32
-17
-30
1
-2
-2
-2
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
23
58
-47
15
-43
-72
8
-51
21
-1
7
-5
5
-3
14
-9
44
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
42
10
4
-39
-23
-11
-10
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
23
52
46
-6
16
5
38
17
-15
-37
41
78
-58
-20
7
33
10
-15
50
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-33
14
-4
3
59
4
24
-20
-31
108
-44
40
-96
-14
-127
-13
6
31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-46
43
43
-48
-83
-22
5
3
75
-2
19
33
20
-13
10
5
-16
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
43
-31
1
-1
2
13
-26
31
2
-2
-30
-6
-7
-1
0
3
-8
25
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
-10
28
-31
-94
29
5
56
10
63
-46
-14
-9
-15
24
-33
33
-33
-9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-5
-6
61
13
-2
7
37
25
-23
40
-25
6
3
-14
-62
84
-17
-5
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-26
71
44
9
-69
-36
69
39
50
29
-52
-43
-8
-19
23
-28
-9
-49
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
33
113
59
-50
24
11
-6
-59
-3
1
13
27
-51
0
0
47
-55
17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
45
-18
122
27
38
-11
53
28
-47
-10
33
41
-43
-47
21
50
17
41
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-77
30
-38
-19
51
5
9
-82
-22
25
31
21
42
2
-5
-88
52
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
11
3
26
44
-41
6
15
-20
40
-33
20
21
-58
-23
30
-14
3
19
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-38
-12
6
0
47
-22
14
-46
34
4
-8
45
-5
3
-2
62
-17
37
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
53
42
24
23
61
-19
8
59
4
-20
-24
-12
23
-17
50
-71
-56
36
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
-52
-62
17
87
59
-5
-32
-3
-22
-21
-60
-27
-5
-10
96
2
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
18
14
7
26
-2
-25
-14
15
-34
0
-35
50
-25
9
-3
-9
-42
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-117
8
-11
-43
66
14
24
-2
-78
0
64
-12
4
18
-9
75
78
-197
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
23
62
-33
0
73
-23
1
5
-9
-19
96
19
-25
13
-17
-11
12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-16
5
54
-1
19
-10
15
34
-23
-2
39
25
-44
-21
-5
6
13
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
26
51
-24
-8
-73
-32
39
7
-9
-45
-19
-23
-10
31
-80
-14
44
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-54
37
-7
24
54
-9
-85
-105
35
-17
-8
21
54
20
45
-8
-93
-11
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
62
-2
-43
18
-33
60
-4
15
18
-94
-26
-7
46
-7
5
0
29
-9
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-11
-9
10
-9
18
44
-25
-14
5
0
-16
7
26
0
-72
-27
-19
-23
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
39
-3
-15
10
40
36
-55
-39
-34
-6
-122
49
-8
6
71
-5
-11
-132
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-12
-67
7
67
-52
-46
-83
-62
-27
34
24
-71
-21
24
60
-69
4
-8
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
48
48
41
64
-17
-31
32
-13
13
16
-7
-15
-76
-3
2
-23
-17
48
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
100
14
-52
-33
5
5
-36
-57
-30
-6
6
45
-2
1
-5
-14
20
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-11
17
-41
4
32
6
-7
6
-39
3
-26
1
-5
19
-111
-16
-20
11
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
26
27
24
-55
31
48
-21
-47
-8
2
-54
-21
-41
24
0
-103
30
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
34
30
15
-2
83
-53
63
-73
47
-6
103
-17
-74
-33
22
-2
-9
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-72
-9
2
47
-26
62
-94
-33
-17
-11
0
2
1
0
9
-4
-45
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
-17
-18
-39
-31
-42
36
-50
-6
-33
-30
-48
22
-26
-130
34
-17
4
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
29
-48
-30
-16
80
80
-14
21
-68
0
-28
35
42
-76
7
34
-99
-45
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
62
-32
9
-5
-26
54
-58
10
10
7
-50
34
44
-10
-10
-46
-16
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
12
-33
177
-39
26
-45
9
43
-31
0
-33
52
-7
9
2
-3
-14
-29
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-18
9
11
-63
-15
-9
-24
-37
-14
-99
-73
-41
9
1
-31
-23
-63
-49
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
36
22
-52
-58
71
19
11
64
-62
32
34
-23
-42
-46
13
40
15
-29
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
64
-25
48
-5
-49
12
13
36
71
-34
-41
-62
80
-8
30
-22
53
-46
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
56
-73
-38
-8
41
7
14
5
-112
-6
47
-20
-13
-14
-37
-86
-1
24
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-10
22
-22
-39
-15
-29
31
-36
-48
-31
-44
2
101
2
-110
-46
-37
-54
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-21
10
-8
50
-5
-10
33
3
-83
-22
31
-36
-89
23
27
-71
5
-45
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
15
40
5
8
18
4
-21
24
-87
42
69
16
39
9
-40
50
-2
5
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
64
-11
12
34
4
71
5
23
46
-43
25
-23
57
0
45
-25
7
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
33
-5
-2
-29
53
-23
39
-17
-23
33
-4
-34
-22
-60
-28
-48
-1
20
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
19
18
0
3
-37
-71
2
36
19
-37
40
-33
17
26
-76
-57
5
-11
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
43
61
6
8
-16
50
13
-28
-74
22
62
-61
-17
-6
-32
15
15
-53
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
62
-42
-73
34
35
53
-23
-14
5
4
21
5
15
5
23
-33
5
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
46
31
58
-35
42
-2
-5
-89
24
51
25
-13
-10
-14
-98
-72
-14
-4
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-9
59
5
75
-1
-79
-19
32
12
7
-49
3
14
-13
-108
-34
52
-17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-14
43
-26
-14
-36
-17
44
68
48
-42
-135
45
24
4
63
-61
-23
-29
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
42
-54
18
23
-38
75
63
-18
-3
-4
52
46
6
-22
-19
14
-17
7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
47
13
-5
-45
15
5
-53
-81
26
23
35
-34
79
-50
-32
-62
-94
53
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-14
18
20
29
30
-27
-11
27
29
-5
-18
9
1
-8
-21
-11
-43
-7
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
56
-51
-5
41
12
21
-1
-14
7
29
-86
7
51
10
-64
40
-30
-34
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
83
115
74
-24
-114
27
-43
-4
15
-29
-44
6
-21
0
-7
-60
33
50
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-39
25
-14
65
-95
27
-20
80
5
-21
-43
-41
53
-15
2
-109
52
-21
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-6
23
15
31
-11
-61
49
-70
70
-54
-5
-36
4
8
9
-28
-11
-4
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
42
-35
39
70
29
40
81
-101
14
69
33
-33
38
25
-129
-40
-19
61
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
-27
-40
-18
55
-62
30
-22
52
-27
13
-22
-54
-51
33
58
-60
29
81
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
25
-35
-39
45
-15
-17
21
70
25
-19
-68
1
24
-32
-65
-14
23
-61
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
22
-25
-24
-41
-27
-5
41
-64
66
-25
-53
69
27
70
-100
-44
-27
-106
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
26
28
52
-8
21
-56
89
-15
-12
3
-57
80
-30
-23
-33
-5
-80
32
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
51
43
63
-58
32
11
-42
65
63
-14
-35
7
-7
-2
10
14
-33
-51
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
16
46
-45
-32
12
-3
-53
7
11
-128
27
27
-73
23
-80
0
-7
-64
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-57
18
9
40
-49
-2
-5
105
-9
33
94
-15
-55
-15
-121
-123
-17
32
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-28
53
-11
59
7
15
2
47
32
4
107
-52
-14
-21
-26
-32
-33
80
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
32
25
-70
-3
-17
17
-8
5
34
-17
-54
-17
3
5
-25
-53
-7
-24
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
9
-25
-29
-12
-17
42
26
27
5
42
-55
-31
9
10
4
-152
-30
-2
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
6
-5
-7
4
21
-62
-48
105
-7
-63
-27
-21
-54
-54
-35
-55
13
-31
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-10
71
7
61
-2
-7
115
-23
23
17
31
16
21
3
-82
17
16
-30
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
25
23
37
-43
-37
-40
106
-29
121
-23
-14
-58
0
8
4
4
5
21
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-34
35
-10
27
-30
-46
-17
-39
-82
-48
-13
10
11
-33
4
-29
-88
-80
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-109
30
-11
-12
-25
18
-14
-36
-40
-10
-26
-26
-7
-11
14
20
-39
-19
63
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
12
5
0
0
18
47
2
0
0
16
29
13
0
0
25
14
17
0
0
16
3
5
0
0
3
-8
16
0
0
13
10
-1
0
0
23
-19
-8
0
0
0
0
-1
0
0
-4
13
-1
0
0
17
-18
-3
0
0
0
11
6
0
0
-1
-6
0
0
0
0
-5
-4
0
0
7
-13
-16
0
0
11
6
-23
0
0
-2
15
4
0
0
0
1
-8
0
0
0
0
-3
0
0
5
-6
1
0
0
9
5
-17
0
0
3
1
2
0
0
0
-3
0
0
0
-3
6
11
0
0
0
11
0
0
0
-1
-8
5
0
0
0
-8
9
0
0
-14
33
1
0
0
7
9
4
0
0
0
-1
4
0
0
5
-9
8
52
1
-57
24
7
0
0
26
32
5
0
0
-20
-45
6
0
0
-1
-25
1
0
0
3
-8
33
0
0
16
-2
13
0
0
-11
8
13
0
0
-6
-14
-1
0
0
-14
27
20
0
0
16
-3
-7
0
0
0
20
-5
0
0
-9
5
-2
0
0
-26
14
-11
0
0
-1
3
2
0
0
-6
-1
-5
0
0
-2
9
0
0
0
-8
23
-7
0
0
0
-8
-4
0
0
7
-13
-4
0
0
0
1
0
0
0
-2
1
1
0
0
-4
-3
-3
0
0
-14
-13
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
9
-1
-7
0
0
2
-20
9
0
0
2
-7
-6
0
0
18
-14
-8
-5
81
-4
35
-7
0
0
60
-46
1
0
0
20
-47
0
0
0
-14
-22
43
0
0
-23
18
-8
0
0
-3
-1
-1
0
0
21
29
19
0
0
-7
5
-2
0
0
-8
-7
1
0
0
15
-11
-5
0
0
-9
-4
0
0
0
6
13
4
0
0
-7
25
3
0
0
-3
-17
0
0
0
-1
8
-3
0
0
1
-3
-3
0
0
13
-9
0
0
0
1
-13
21
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
-11
0
0
0
-6
-2
-2
0
0
0
-25
2
0
0
0
-11
-6
0
0
-2
2
-6
0
0
2
4
-13
0
0
-1
16
0
0
0
-1
8
14
0
0
-11
11
-14
-49
-6
20
5
11
0
0
34
-7
0
0
0
-40
73
1
0
0
2
-2
-27
0
0
8
43
24
0
0
18
1
2
0
0
20
-5
7
0
0
4
7
4
0
0
3
21
2
0
0
20
5
-1
0
0
-6
21
3
0
0
-1
1
6
0
0
-21
-32
-5
0
0
0
1
-1
0
0
0
6
-5
0
0
1
-21
0
0
0
-17
18
14
0
0
2
-2
-2
0
0
-4
-1
0
0
0
0
1
3
0
0
39
-13
9
0
0
-8
-5
11
0
0
0
-8
4
0
0
0
4
-1
0
0
-7
43
0
0
0
0
17
-3
0
0
0
-10
-3
0
0
0
1
-1
0
0
10
23
-6
0
0
-2
-5
0
0
0
4
-8
-6
0
0
0
8
0
1
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
14
10
11
0
0
13
-5
2
0
0
-64
-15
-9
0
0
-17
-7
1
0
0
-20
5
-8
0
0
6
-7
0
0
0
55
4
-4
0
0
10
-37
19
0
0
18
5
21
0
0
20
9
7
0
0
36
0
25
0
0
-10
18
-3
0
0
11
3
-8
0
0
-10
-7
3
0
0
3
16
-21
0
0
-4
10
-2
0
0
9
-4
2
0
0
2
-5
0
0
0
1
2
0
0
0
1
-25
1
0
0
-1
8
6
0
0
3
-2
0
0
0
-11
-33
-10
0
0
0
8
-6
0
0
-1
6
0
0
0
0
10
-4
0
0
-1
-11
0
0
0
-2
3
9
0
0
-1
0
-29
0
0
-15
3
2
23
67
-10
-4
-4
0
0
5
-5
14
0
0
31
8
-7
0
0
15
7
-7
0
0
17
2
-5
0
0
-24
-10
-1
0
0
-3
44
3
0
0
0
-1
0
0
0
8
-3
1
0
0
-24
17
-7
0
0
40
-35
9
0
0
5
-8
-1
0
0
-15
-21
0
0
0
-2
2
0
0
0
-2
-13
-1
0
0
-2
0
0
0
0
3
-5
0
0
0
-13
-8
-4
0
0
-11
-16
3
0
0
0
-5
-2
0
0
0
-8
0
0
0
-1
2
0
0
0
11
-1
-5
0
0
0
5
2
0
0
14
51
-19
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
-9
-6
-10
0
0
-4
2
0
24
24
-9
2
-15
0
0
-16
37
4
0
0
13
0
-3
0
0
-4
-2
2
0
0
16
-1
5
0
0
2
-6
0
0
0
0
2
0
0
0
-6
-5
-1
0
0
3
-18
-1
0
0
5
-19
5
0
0
14
-23
-2
0
0
-5
21
-11
0
0
0
15
9
0
0
3
3
-1
0
0
0
-1
0
0
0
-6
14
0
0
0
-18
7
5
0
0
2
11
-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
13
-38
-1
-15
-16
0
0
-7
17
-4
0
0
26
-5
-6
0
0
2
-2
-2
0
0
2
-3
5
0
0
0
3
0
0
0
-5
-17
-1
0
0
-1
1
1
0
0
30
-2
0
0
0
-4
-1
-2
0
0
-37
14
15
0
0
-24
5
-2
0
0
-42
-23
2
0
0
0
-2
-1
0
0
-1
0
7
0
0
0
0
0
0
0
-1
-25
-1
0
0
-1
-1
0
0
0
6
-4
0
0
0
-1
10
-2
0
0
7
18
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
-4
3
0
0
-1
-10
-2
0
0
0
1
0
0
0
0
-1
0
0
0
2
-2
5
0
0
-1
-11
0
0
0
-2
-4
-1
0
0
0
-2
0
1
-42
-1
-28
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
21
11
0
0
0
-22
5
23
0
0
-3
13
2
0
0
-5
0
7
0
0
11
-9
-6
0
0
0
8
-6
0
0
20
-2
3
0
0
10
0
-11
0
0
1
1
1
0
0
2
5
0
0
0
1
-3
0
0
0
2
-14
0
0
0
0
-2
1
0
0
-2
11
-2
0
0
-48
-1
4
0
0
-58
24
31
0
0
-39
75
-36
0
0
75
-48
4
0
0
0
27
1
0
0
31
-12
17
0
0
9
14
9
0
0
-15
5
0
0
0
-4
-2
-26
0
0
2
-8
3
0
0
6
-8
-9
0
0
17
-9
22
0
0
31
-26
20
0
0
-4
6
14
0
0
-9
3
6
0
0
-6
30
22
18
-7
-20
-35
-32
0
0
-10
7
0
0
0
4
-42
4
0
0
-33
5
-2
0
0
-5
1
4
0
0
-6
-5
10
0
0
27
-17
-15
0
0
3
0
1
0
0
8
9
-2
0
0
8
17
0
0
0
2
-14
0
0
0
0
-51
18
0
0
16
5
-6
0
0
-4
-9
-2
0
0
0
-11
0
0
0
-2
-2
0
0
0
20
10
0
0
0
14
36
-5
0
0
35
-3
-4
0
0
-41
-11
24
0
0
-3
-44
-44
0
0
-3
-22
-58
0
0
-14
-27
25
0
0
5
-8
-16
0
0
17
-13
-11
0
0
-3
24
-5
0
0
6
18
7
0
0
4
30
6
0
0
0
9
-18
0
0
-7
-7
15
0
0
-8
20
-7
0
0
-7
-14
5
-23
9
14
-20
0
0
0
9
-2
2
0
0
-5
5
5
0
0
14
-19
0
0
0
-4
16
-3
0
0
2
-25
0
0
0
2
0
0
0
0
-1
1
1
0
0
5
-9
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
31
0
-2
0
0
-12
23
-47
0
0
28
-15
0
0
0
-8
-2
6
0
0
-45
9
-20
0
0
51
-43
17
0
0
-46
19
-18
0
0
7
-18
5
0
0
-46
-30
7
0
0
-30
0
-13
0
0
14
1
-9
0
0
33
14
-31
0
0
10
2
-16
0
0
2
1
21
0
0
14
-47
-14
0
0
-13
39
14
-29
23
33
0
3
0
0
-1
-7
-4
0
0
-5
2
0
0
0
3
5
4
0
0
-14
5
6
0
0
-4
2
0
0
0
-9
-3
-4
0
0
1
1
0
0
0
3
-7
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
-1
-5
-4
0
0
23
9
3
0
0
13
5
18
0
0
-25
-6
-13
0
0
-19
-44
14
0
0
-78
17
1
0
0
-5
5
17
0
0
2
1
-15
0
0
46
-6
-1
0
0
-7
-24
-15
0
0
-24
-14
8
0
0
6
3
14
0
0
35
-36
3
0
0
-5
11
-8
0
0
0
-4
-14
0
0
2
-11
-14
-23
15
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
4
-17
4
0
0
16
10
-1
0
0
-5
-4
7
0
0
-35
-1
1
0
0
5
6
-3
0
0
-2
-9
0
0
0
-15
-5
-20
0
0
11
13
1
0
0
14
2
1
0
0
3
-13
-2
0
0
-7
2
-1
0
0
-1
-26
0
0
0
0
0
0
0
0
0
3
0
0
0
-17
-1
-1
0
0
8
-39
-4
0
0
6
8
-1
0
0
-2
16
-14
0
0
-14
-11
4
0
0
-11
17
6
0
0
4
-18
5
0
0
-13
0
6
0
0
53
-33
-21
0
0
42
2
-29
0
0
-96
35
-11
0
0
10
-4
32
0
0
32
-39
0
0
0
-9
52
-11
0
0
24
6
16
0
0
-8
-38
-10
8
13
-42
19
68
0
0
26
5
-2
0
0
-10
-11
2
0
0
-16
8
-6
0
0
6
-7
3
0
0
-14
9
0
0
0
16
-6
1
0
0
0
5
0
0
0
-11
7
0
0
0
3
17
1
0
0
-17
7
1
0
0
0
17
8
0
0
5
8
0
0
0
0
4
0
0
0
4
2
0
0
0
0
-1
0
0
0
-3
15
-2
0
0
13
22
-8
0
0
-85
-32
-5
0
0
0
13
-7
0
0
-11
13
4
0
0
-13
17
0
0
0
-1
-19
-6
0
0
-1
-4
3
0
0
-10
16
-5
0
0
-14
15
23
0
0
45
26
5
0
0
10
-17
-21
0
0
4
-31
27
0
0
9
-47
-42
0
0
12
-16
8
0
0
2
-10
-23
25
-37
-104
85
17
0
0
5
7
4
0
0
-11
2
0
0
0
5
3
-2
0
0
-6
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
-11
4
0
0
0
1
0
0
0
0
-2
0
0
0
0
1
0
0
0
1
0
0
0
0
13
-4
-1
0
0
12
-16
6
0
0
26
0
2
0
0
4
5
-6
0
0
-43
-21
-2
0
0
10
5
-1
0
0
-1
0
-3
0
0
2
-5
8
0
0
5
-21
-8
0
0
-65
0
39
0
0
5
-7
-17
0
0
44
5
35
0
0
-14
30
-15
0
0
54
-4
8
0
0
1
25
-15
0
0
-17
-56
10
-52
13
-74
-23
30
0
0
5
6
1
0
0
-44
1
2
0
0
15
6
-1
0
0
-11
11
2
0
0
2
-1
-1
0
0
0
4
-1
0
0
-4
0
0
0
0
-45
16
-3
0
0
0
-2
0
0
0
-2
0
0
0
0
0
8
0
0
0
1
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-10
-34
-4
0
0
-29
29
-4
0
0
14
17
-3
0
0
19
-4
-7
0
0
17
-6
-2
0
0
0
0
-2
0
0
0
-2
0
0
0
-4
1
-1
0
0
-29
-5
-16
0
0
6
6
34
0
0
28
-34
3
0
0
45
13
-85
0
0
21
24
-2
0
0
-33
26
33
0
0
-19
-16
-10
0
0
6
1
17
-27
-5
57
-52
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
3
24
-21
0
0
34
-10
5
0
0
-11
24
2
0
0
14
10
4
0
0
8
14
3
0
0
5
6
-2
0
0
34
1
-5
0
0
18
-5
0
0
0
15
3
-9
0
0
-2
5
3
0
0
-1
-6
-11
0
0
1
5
0
0
0
0
0
-6
0
0
-1
-9
-4
0
0
5
-2
6
0
0
4
5
25
0
0
-1
-3
-1
0
0
6
5
5
0
0
-46
-1
0
0
0
-5
6
1
0
0
0
-1
0
0
0
-1
-2
2
0
0
5
-20
6
0
0
8
14
-6
0
0
0
-9
-2
0
0
0
-3
-10
0
0
7
24
0
0
0
5
-21
-1
0
0
1
29
6
0
0
-8
-10
18
44
-2
24
7
18
0
0
-5
9
2
0
0
4
1
5
0
0
44
-9
-4
0
0
3
14
-3
0
0
-7
-23
-3
0
0
3
0
8
0
0
0
3
0
0
0
-15
4
2
0
0
-5
-3
0
0
0
-8
2
-4
0
0
18
5
6
0
0
-25
-2
13
0
0
-1
2
-2
0
0
0
21
-3
0
0
-2
6
1
0
0
2
1
23
0
0
2
-8
-3
0
0
20
-2
1
0
0
0
2
0
0
0
2
-3
0
0
0
-4
-21
-2
0
0
0
-3
0
0
0
0
-6
-1
0
0
-31
10
-1
0
0
0
-9
-6
0
0
6
10
-2
0
0
0
-11
1
0
0
9
-5
4
0
0
1
-3
-1
0
0
25
5
-5
0
0
-3
4
6
14
-14
-6
33
3
0
0
-6
-18
-17
0
0
10
-9
-2
0
0
2
2
-11
0
0
36
-13
31
0
0
-1
6
-6
0
0
-13
-5
-3
0
0
2
3
0
0
0
-9
9
-1
0
0
2
-3
0
0
0
-1
-4
0
0
0
0
18
0
0
0
3
6
6
0
0
0
1
-1
0
0
0
2
0
0
0
-3
-5
0
0
0
-25
0
0
0
0
2
-17
0
0
0
0
4
9
0
0
0
-11
1
0
0
-13
3
1
0
0
-2
8
0
0
0
0
-6
2
0
0
0
0
1
0
0
7
17
7
0
0
-3
-13
0
0
0
-3
0
-2
0
0
0
11
0
0
0
3
-10
0
0
0
10
3
0
0
0
0
-9
-3
0
0
0
0
-2
33
-5
-3
10
-6
0
0
3
-24
0
0
0
3
20
-1
0
0
-37
-1
-4
0
0
-13
17
0
0
0
-19
8
-1
0
0
7
3
8
0
0
0
-5
5
0
0
7
14
-3
0
0
7
0
0
0
0
-17
-1
-4
0
0
2
26
5
0
0
13
13
-6
0
0
1
0
0
0
0
0
0
0
0
0
1
-5
-3
0
0
19
-5
1
0
0
-1
2
-1
0
0
-4
9
2
0
0
0
1
0
0
0
17
0
0
0
0
3
-14
0
0
0
-1
-1
0
0
0
0
2
-9
0
0
8
6
0
0
0
-5
14
0
0
0
5
0
0
0
0
1
0
0
0
0
4
34
4
0
0
-4
-8
2
0
0
0
5
-2
0
0
-1
3
-4
-22
22
4
14
-8
0
0
0
0
2
0
0
7
0
-25
0
0
-33
-19
-6
0
0
15
7
7
0
0
2
4
1
0
0
0
1
9
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
-11
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
1
2
0
0
1
-7
-7
0
0
0
-6
1
0
0
-3
-37
1
0
0
1
6
0
0
0
0
8
0
0
0
-1
3
-2
-27
9
-25
3
3
0
0
22
-9
-3
0
0
-1
-13
7
0
0
-9
20
4
0
0
-46
-16
-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
-18
-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
11
0
0
0
-8
3
1
0
0
2
-2
-2
0
0
0
22
1
0
0
-1
-6
0
0
0
-4
-1
-1
0
0
-2
4
-3
10
5
6
3
1
0
0
18
-2
-2
0
0
-3
-1
-11
0
0
6
10
-3
0
0
0
0
-1
0
0
0
-2
0
0
0
-1
0
0
0
0
0
1
0
0
0
11
-1
0
0
0
0
-11
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
9
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
-7
5
24
-21
-2
0
0
4
21
6
0
0
-18
-7
7
0
0
20
-4
14
0
0
44
-5
-1
0
0
-2
-3
3
0
0
4
-3
-1
0
0
0
2
1
0
0
15
-6
-3
0
0
7
6
0
0
0
5
8
-1
0
0
-8
-15
-5
0
0
-18
-9
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-2
-4
0
0
-16
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
19
3
0
0
0
4
2
0
0
0
0
0
0
0
-2
-10
-2
0
0
0
7
0
0
0
1
-1
-3
0
0
-2
-5
1
-1
-18
-7
4
0
0
0
-13
9
-6
0
0
13
5
14
0
0
-1
-5
1
0
0
-7
29
14
0
0
5
0
4
0
0
6
1
0
0
0
0
1
0
0
0
-3
1
-8
0
0
5
1
0
0
0
27
2
-1
0
0
2
-19
3
0
0
-6
-3
-3
0
0
-3
0
-1
0
0
0
0
0
0
0
0
1
1
0
0
6
15
-6
0
0
5
-15
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
16
-22
-3
0
0
0
-7
-15
0
0
1
14
0
0
0
2
2
2
0
0
-1
-6
0
0
0
-11
10
3
0
0
-1
-3
1
0
0
0
4
-2
7
51
-23
4
15
0
0
-1
-8
-5
0
0
8
3
-7
0
0
3
8
-4
0
0
-21
5
-4
0
0
-9
5
2
0
0
-6
-14
0
0
0
1
0
0
0
0
-21
3
0
0
0
-9
11
-5
0
0
-18
-10
5
0
0
0
8
5
0
0
0
5
11
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
9
-14
0
0
0
0
-23
-2
0
0
2
7
-2
0
0
0
1
-1
0
0
-2
15
0
0
0
1
9
7
0
0
5
9
-2
0
0
-4
-2
0
11
-28
-11
3
-14
0
0
16
-20
6
0
0
-14
-17
2
0
0
23
22
6
0
0
14
-20
-8
0
0
0
0
5
0
0
0
0
-1
0
0
0
-1
0
0
0
9
11
1
0
0
-7
-5
2
0
0
6
-3
2
0
0
-15
-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
23
1
0
0
1
5
0
0
0
-1
0
0
0
0
0
-4
0
0
0
-4
-10
0
0
0
0
1
2
0
0
0
-5
-2
0
0
1
-2
0
-13
-39
7
13
-4
0
0
43
5
0
0
0
32
-22
-4
0
0
-18
-7
0
0
0
1
-3
-3
0
0
9
3
-2
0
0
-2
-11
0
0
0
-1
-1
-3
0
0
-31
6
0
0
0
3
14
-2
0
0
10
1
2
0
0
3
5
0
0
0
21
13
0
0
0
4
0
0
0
0
-2
-2
0
0
0
0
-3
2
0
0
-3
-8
0
0
0
9
17
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
-6
-7
0
0
0
-2
0
2
0
0
0
0
0
0
0
-1
-16
1
12
-7
18
9
-1
0
0
9
23
3
0
0
10
-5
14
0
0
0
-25
-1
0
0
7
5
-1
0
0
3
-1
0
0
0
-1
-1
0
0
0
-1
-2
0
0
0
14
-8
-1
0
0
-11
11
0
0
0
0
9
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
-11
-2
0
0
1
0
-1
0
0
10
4
0
0
0
-2
3
-1
0
0
0
0
0
0
0
0
6
0
0
0
-9
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
9
0
0
-5
19
-5
4
5
0
0
34
14
3
0
0
-1
-19
0
0
0
20
8
-4
0
0
0
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
-10
-1
0
0
-1
8
0
0
0
-11
-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
-14
-1
0
0
0
5
0
-31
26
-2
-2
2
0
0
8
-7
-1
0
0
14
-6
8
0
0
-25
6
0
0
0
-12
-6
14
0
0
-1
5
0
0
0
7
1
0
0
0
1
0
-1
0
0
4
-21
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
17
-6
1
0
0
0
-3
3
0
0
7
-15
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
-11
-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
-13
0
0
0
1
3
0
0
0
-2
0
0
-33
64
2
-16
11
0
0
2
49
14
0
0
10
2
1
0
0
-22
5
6
0
0
-10
9
5
0
0
-9
-4
1
0
0
4
2
-3
0
0
-1
-2
-2
0
0
7
24
4
0
0
20
14
-3
0
0
33
-11
1
0
0
-5
-4
1
0
0
33
3
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
3
-5
0
0
6
0
-2
0
0
5
21
-5
0
0
-15
9
-6
0
0
-2
-4
-4
0
0
-21
0
0
0
0
1
-8
-4
0
0
-1
-1
0
0
0
0
0
1
0
0
5
-17
-1
0
0
-4
7
0
0
0
0
-8
1
0
0
0
-1
1
0
0
1
-25
-1
0
0
17
5
1
0
0
-2
-2
0
0
0
-16
0
-1
3
-60
-13
-14
-3
0
0
6
-8
1
0
0
0
-5
0
0
0
0
0
10
0
0
-1
6
-8
0
0
-2
-4
-3
0
0
0
0
0
0
0
1
9
0
0
0
14
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
1
-8
-8
0
0
-22
-46
-34
0
0
37
-3
-62
0
0
20
-24
43
0
0
19
2
-22
0
0
-15
35
-6
0
0
-19
-10
-8
0
0
-6
16
16
0
0
33
24
-32
0
0
6
-17
-1
0
0
7
11
-4
0
0
17
10
27
0
0
27
15
49
0
0
-6
0
8
0
0
-2
14
2
0
0
6
46
52
53
55
19
25
9
0
0
-5
2
-1
0
0
14
-5
7
0
0
2
1
3
0
0
-27
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
-11
0
0
0
-6
-1
0
0
0
3
6
4
0
0
-1
-6
0
0
0
-2
-2
-2
0
0
0
13
0
0
0
0
7
2
0
0
-13
10
6
0
0
-15
-5
-15
0
0
33
7
0
0
0
19
-10
-15
0
0
5
37
-23
0
0
-47
-8
14
0
0
-5
1
20
0
0
1
5
10
0
0
-14
-31
-25
0
0
-51
4
3
0
0
3
-6
-13
0
0
-7
-6
-18
0
0
-7
-31
-5
0
0
-9
14
13
0
0
-26
9
-22
0
0
26
-3
-9
45
5
14
-37
16
0
0
11
-3
1
0
0
18
-3
0
0
0
-4
-8
0
0
0
-14
-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
-33
-3
-11
0
0
-4
42
16
0
0
-2
-11
9
0
0
-33
-14
-21
0
0
-45
-4
-2
0
0
6
5
1
0
0
17
-8
-9
0
0
7
-14
-15
0
0
14
-6
-4
0
0
25
3
-11
0
0
5
-4
-1
0
0
5
7
25
0
0
31
4
-1
0
0
-6
-6
-13
0
0
2
-5
-3
0
0
5
-1
5
-40
-10
-25
-5
-29
0
0
18
8
-1
0
0
3
-8
-2
0
0
6
-1
-3
0
0
13
3
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
2
0
0
16
-3
1
0
0
-5
-13
0
0
0
9
0
0
0
0
1
6
-1
0
0
10
5
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-2
0
0
0
0
9
-2
0
0
6
-25
-4
0
0
-9
0
29
0
0
-5
-11
-3
0
0
0
-27
-21
0
0
61
-11
9
0
0
-6
13
19
0
0
10
3
-9
0
0
-51
4
5
0
0
-29
-14
-13
0
0
-2
1
1
0
0
4
5
-8
0
0
5
-2
6
0
0
2
-2
-5
0
0
-6
-18
0
0
0
-6
34
-4
-13
32
1
2
-4
0
0
1
3
1
0
0
1
6
1
0
0
0
-9
-1
0
0
2
5
-2
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-9
-1
-2
0
0
-5
-10
-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
9
7
1
0
0
1
-6
-5
0
0
2
17
-10
0
0
22
-5
14
0
0
-5
-7
-18
0
0
3
2
5
0
0
-17
5
21
0
0
0
-23
6
0
0
-14
-60
2
0
0
7
25
3
0
0
9
-14
7
0
0
-14
-30
-3
0
0
-5
23
-7
0
0
0
8
-11
0
0
0
-3
0
0
0
-9
-10
-6
20
-33
-6
13
3
0
0
27
6
0
0
0
3
2
0
0
0
3
-3
-1
0
0
-14
8
1
0
0
0
2
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-8
0
0
0
0
2
-9
0
0
0
2
-2
0
0
0
0
1
-2
0
0
0
9
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
17
9
2
0
0
-9
41
-5
0
0
7
-14
10
0
0
10
4
17
0
0
-14
-18
4
0
0
10
11
0
0
0
3
2
6
0
0
0
26
-4
0
0
-2
-8
5
0
0
-8
-5
-9
0
0
-9
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
-32
3
-11
2
-13
0
0
5
26
1
0
0
14
5
-4
0
0
0
7
0
0
0
11
-19
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
-15
22
24
0
0
-55
26
-5
0
0
14
8
-2
0
0
-2
-21
11
0
0
-8
-23
-9
0
0
5
-33
1
0
0
-2
-14
2
0
0
0
9
3
0
0
13
-10
-13
0
0
-3
2
0
0
0
16
-7
0
0
0
-4
-25
-11
0
0
1
5
5
0
0
-1
-21
-5
0
0
2
-6
-5
6
-3
0
-18
-3
0
0
-4
4
7
0
0
-5
-15
-1
0
0
3
3
1
0
0
13
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
-2
0
0
0
14
1
0
0
0
-1
2
0
0
0
1
-1
0
0
0
0
-1
1
0
0
-15
10
1
0
0
0
1
0
0
0
1
0
0
0
0
-1
1
0
0
0
3
-8
2
0
0
-5
0
-17
0
0
-4
-8
-1
0
0
-16
-8
10
0
0
-32
25
-14
0
0
9
-3
2
0
0
-7
-15
-14
0
0
-7
7
0
0
0
-1
1
-7
0
0
-10
-5
11
0
0
-16
4
1
0
0
5
-4
6
0
0
2
-19
-17
0
0
-3
-10
1
0
0
-1
8
8
0
0
0
23
-9
24
-10
0
6
6
0
0
-17
50
0
0
0
34
0
1
0
0
14
19
17
0
0
9
22
1
0
0
-21
-33
-1
0
0
-5
8
0
0
0
-1
-1
-1
0
0
43
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
9
1
3
0
0
-6
19
0
0
0
46
-8
0
0
0
-20
10
6
0
0
-7
-3
-6
0
0
7
-21
29
0
0
-7
-18
-5
0
0
4
9
-5
0
0
-16
-5
17
0
0
33
0
3
0
0
42
6
-1
0
0
21
33
-37
0
0
-10
25
2
0
0
-37
47
14
0
0
-5
1
1
0
0
36
-5
1
0
0
-5
4
5
17
-13
-19
62
54
0
0
5
-22
8
0
0
-13
-7
-6
0
0
-22
-2
-2
0
0
-5
9
1
0
0
-31
-2
-1
0
0
1
3
0
0
0
1
-6
0
0
0
-25
11
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
14
11
0
0
0
23
-17
-4
0
0
-14
-36
11
0
0
24
-14
-11
0
0
-19
-7
3
0
0
-4
-2
6
0
0
-3
8
0
0
0
0
-7
-7
0
0
17
26
-15
0
0
19
1
-1
0
0
-19
-53
23
0
0
53
13
17
0
0
83
-7
-2
0
0
1
4
0
0
0
-2
-14
-17
0
0
23
-7
19
68
-6
-30
14
-12
0
0
5
7
0
0
0
-15
26
1
0
0
4
7
1
0
0
2
11
1
0
0
34
-7
0
0
0
5
3
-3
0
0
0
0
0
0
0
-4
-11
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
0
2
7
0
0
-44
11
0
0
0
23
4
3
0
0
14
9
-5
0
0
-22
13
-3
0
0
-5
-15
-2
0
0
1
2
-3
0
0
17
11
-19
0
0
-14
-18
30
0
0
27
-50
46
0
0
9
23
-7
0
0
11
55
-33
0
0
-2
-23
6
0
0
3
-2
13
0
0
-1
-6
-8
17
35
-75
-23
13
0
0
31
-14
1
0
0
5
17
1
0
0
-5
3
-3
0
0
-51
-9
2
0
0
-1
6
0
0
0
0
-2
0
0
0
0
0
0
0
0
-7
2
0
0
0
-3
-4
0
0
0
-3
0
0
0
0
-1
1
0
0
0
1
-24
-1
0
0
0
-2
0
0
0
0
0
0
0
0
-1
1
0
0
0
-3
-3
0
0
0
68
0
-21
0
0
-3
5
-2
0
0
-21
-4
-4
0
0
-2
9
-3
0
0
-6
-2
0
0
0
6
-1
0
0
0
0
-13
0
0
0
-11
-25
-3
0
0
-18
21
66
0
0
0
-33
-42
0
0
21
66
-2
0
0
14
-23
51
0
0
-6
-63
-8
0
0
9
-3
-43
0
0
-33
14
29
-16
-36
3
-10
19
0
0
8
32
26
0
0
-25
14
10
0
0
14
13
-5
0
0
-5
-18
3
0
0
-18
3
1
0
0
0
15
-14
0
0
0
-1
0
0
0
-9
-7
0
0
0
-17
-3
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
9
-5
-15
0
0
-48
65
-16
0
0
19
2
-3
0
0
-17
15
2
0
0
10
4
11
0
0
3
-21
-2
0
0
6
2
-9
0
0
6
9
16
0
0
20
0
4
0
0
24
-29
11
0
0
-14
15
11
0
0
48
9
-55
0
0
-8
-39
-19
0
0
7
-7
15
0
0
-1
18
5
0
0
-14
15
11
-17
21
-9
-61
-16
0
0
-3
18
7
0
0
18
19
16
0
0
20
-5
2
0
0
33
-7
-3
0
0
15
-4
0
0
0
6
-4
-4
0
0
0
0
0
0
0
15
-7
0
0
0
-3
7
-3
0
0
-18
9
-5
0
0
2
4
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
-1
1
0
0
-59
20
14
0
0
3
-30
-10
0
0
-21
-6
1
0
0
-2
4
-3
0
0
19
2
-17
0
0
1
-13
-1
0
0
0
-9
-2
0
0
-8
-5
-1
0
0
-1
45
-10
0
0
48
17
-8
0
0
16
-11
-2
0
0
-23
-7
-23
0
0
-5
-1
-6
0
0
19
-25
-10
0
0
1
-2
4
2
12
-15
0
20
0
0
-5
-25
-1
0
0
-24
27
-5
0
0
-6
-14
1
0
0
-19
9
-2
0
0
-1
9
0
0
0
2
0
1
0
0
1
2
0
0
0
20
4
4
0
0
14
-11
-1
0
0
-9
16
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
-10
0
0
0
-10
32
43
0
0
2
14
-5
0
0
13
10
-14
0
0
18
-36
-5
0
0
-18
25
-18
0
0
-1
7
4
0
0
0
-47
-2
0
0
-10
2
0
0
0
18
-57
1
0
0
-12
37
-29
0
0
8
44
-46
0
0
29
-5
-27
0
0
5
11
-39
0
0
14
-8
2
0
0
1
-20
-5
-40
-13
-8
-11
17
0
0
0
14
-1
0
0
-3
5
16
0
0
-16
35
-5
0
0
-42
26
-1
0
0
-14
-19
-1
0
0
4
10
-5
0
0
0
-7
0
0
0
-11
-3
-4
0
0
6
-33
4
0
0
0
10
0
0
0
1
-3
4
0
0
5
-20
1
0
0
1
-1
1
0
0
2
-2
0
0
0
0
0
0
0
0
-11
15
-6
0
0
-3
26
9
0
0
2
-1
-5
0
0
-20
15
-25
0
0
4
-25
-5
0
0
-6
-55
-35
0
0
-7
17
9
0
0
-1
-9
-3
0
0
-1
-5
-5
0
0
-7
45
33
0
0
-7
6
14
0
0
-19
-8
4
0
0
-14
-33
24
0
0
6
71
9
0
0
-44
-34
15
0
0
2
-50
-26
-26
0
-19
-19
-34
0
0
25
33
2
0
0
14
-3
10
0
0
-2
-22
3
0
0
-5
21
1
0
0
6
17
-4
0
0
-8
20
0
0
0
10
-2
0
0
0
33
5
-1
0
0
9
-14
0
0
0
0
0
-10
0
0
-6
2
10
0
0
-3
2
-17
0
0
0
5
-3
0
0
0
-10
2
0
0
-3
1
0
0
0
0
16
13
0
0
-2
-10
-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
17
-6
0
0
-1
-18
-4
0
0
3
-8
-8
0
0
-6
6
-23
0
0
-1
2
11
0
0
0
10
3
0
0
-11
1
4
-8
14
22
-6
-4
0
0
6
-21
-7
0
0
25
2
0
0
0
-3
-7
0
0
0
-5
4
-5
0
0
-4
-17
0
0
0
-1
15
16
0
0
1
4
0
0
0
-21
15
0
0
0
14
-2
1
0
0
24
4
-1
0
0
35
29
7
0
0
-11
1
15
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
-10
0
0
0
0
1
0
0
0
3
0
-1
0
0
4
4
0
0
0
-1
-9
0
0
0
1
2
0
0
0
-18
1
0
0
0
13
18
-9
0
0
0
0
-3
0
0
5
5
0
0
0
3
-1
9
0
0
4
-3
3
0
0
1
-6
-2
0
0
1
15
-3
10
43
-17
21
13
0
0
0
-15
0
0
0
30
-39
-6
0
0
5
7
-8
0
0
-20
9
-3
0
0
2
-8
3
0
0
-2
-1
0
0
0
0
-1
0
0
0
0
13
-2
0
0
-2
-5
0
0
0
-14
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
-17
3
0
0
2
-10
0
0
0
0
-6
0
0
0
-9
3
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
-14
6
0
0
2
-14
2
0
0
-17
2
-9
0
0
-1
4
1
0
0
-7
36
-2
0
0
10
27
0
0
0
0
-17
2
0
0
-4
-1
-6
-17
-1
4
20
3
0
0
-7
-6
-14
0
0
-11
-5
3
0
0
16
-5
-5
0
0
8
-5
4
0
0
-8
6
1
0
0
11
2
0
0
0
0
-1
-1
0
0
-1
-9
-1
0
0
16
-16
-2
0
0
-17
26
0
0
0
-4
15
10
0
0
-2
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
-2
-1
0
0
0
-1
18
-3
0
0
0
-1
14
0
0
-1
4
3
0
0
0
23
2
0
0
-5
-10
-9
0
0
-1
-2
0
0
0
0
5
0
0
0
0
0
0
0
0
-4
18
0
0
0
1
4
-2
0
0
6
-1
-5
0
0
1
8
-1
0
0
-1
-23
8
0
0
0
-20
2
0
0
0
-2
-1
0
0
-8
-6
0
71
-43
-5
44
3
0
0
-15
26
-3
0
0
20
-8
-10
0
0
-2
-3
-15
0
0
6
3
0
0
0
21
-13
-1
0
0
-1
10
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
-7
-8
5
30
0
0
0
24
13
13
0
0
-26
-5
4
0
0
0
-10
0
0
0
-5
-10
8
0
0
10
-11
0
0
0
-9
-18
-10
0
0
1
-1
0
0
0
20
1
-1
0
0
-3
14
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
-14
20
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
13
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
-21
4
-25
-11
0
0
0
-6
-3
1
0
0
10
6
1
0
0
0
-1
-4
0
0
23
-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
-9
-12
-3
0
-1
0
0
34
-2
-4
0
0
2
-3
-10
0
0
-21
10
0
0
0
6
19
-2
0
0
0
-3
0
0
0
1
0
-2
0
0
0
2
3
0
0
-11
2
-1
0
0
2
6
1
0
0
0
1
-1
0
0
2
-9
0
0
0
-11
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
11
-1
0
0
0
-5
-9
-2
0
0
0
7
-1
0
0
9
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
-10
0
0
0
-3
-2
0
0
0
-2
1
0
31
-31
-14
-5
1
0
0
39
-7
1
0
0
5
-4
0
0
0
21
3
2
0
0
-6
-14
-10
0
0
1
1
-2
0
0
4
1
1
0
0
-1
0
1
0
0
11
-5
5
0
0
-5
-5
2
0
0
-3
-4
-1
0
0
-1
1
1
0
0
-3
2
-11
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
19
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
40
56
27
7
-7
0
0
-10
6
-1
0
0
-5
-10
-5
0
0
11
4
-1
0
0
-16
-1
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-13
-4
0
0
0
4
-1
-1
0
0
4
-14
2
0
0
0
-7
-2
0
0
9
3
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
25
0
-1
0
0
0
-1
-1
0
0
9
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
10
-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
4
-25
-20
-11
-3
0
0
14
-6
7
0
0
-14
4
14
0
0
-3
24
4
0
0
7
-5
7
0
0
2
4
0
0
0
0
-1
0
0
0
-5
-2
0
0
0
5
-13
0
0
0
10
9
-6
0
0
3
-5
0
0
0
-2
-3
6
0
0
23
11
15
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
14
-19
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
-21
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
4
10
-13
-2
9
0
0
-5
7
-5
0
0
1
19
1
0
0
-20
-5
-6
0
0
-33
-6
-1
0
0
5
-4
0
0
0
-2
3
0
0
0
3
0
0
0
0
4
4
0
0
0
-13
32
0
0
0
6
-6
6
0
0
-6
-5
-7
0
0
10
-5
-1
0
0
1
-2
0
0
0
0
0
0
0
0
0
-13
-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
6
0
0
0
10
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
-19
0
-9
24
-9
5
-6
0
0
-13
0
-5
0
0
-1
7
0
0
0
2
0
0
0
0
-7
-5
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
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
9
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
20
-8
1
-1
0
0
0
6
-9
-1
0
0
11
39
-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
14
-8
0
0
0
7
0
0
0
0
1
-9
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
9
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
-43
32
6
13
-1
0
0
21
-11
26
0
0
-39
-39
4
0
0
-9
18
-1
0
0
-5
13
6
0
0
18
-2
0
0
0
16
7
0
0
0
-1
-1
0
0
0
-10
5
-1
0
0
4
1
0
0
0
-1
2
1
0
0
2
2
-21
0
0
-5
2
1
0
0
0
-4
0
0
0
0
0
0
0
0
1
2
0
0
0
17
2
0
0
0
6
1
0
0
0
13
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
10
2
0
8
-33
-3
-6
8
0
0
-5
8
6
0
0
14
9
20
0
0
1
15
-2
0
0
-41
4
-7
0
0
-23
1
0
0
0
-17
0
0
0
0
-2
-5
-2
0
0
-8
9
0
0
0
21
-17
0
0
0
5
4
-2
0
0
1
-8
6
0
0
0
14
-5
0
0
0
-1
1
0
0
0
1
0
0
0
-2
-3
-1
0
0
6
3
-6
0
0
8
50
1
0
0
3
-14
1
0
0
-2
-8
0
0
0
-4
-2
1
0
0
9
14
-10
0
0
-1
0
0
0
0
0
1
-1
0
0
9
-15
3
0
0
1
-6
3
0
0
4
11
0
0
0
1
-1
5
0
0
1
-9
5
0
0
2
10
-5
0
0
0
2
-5
0
0
-14
11
-4
8
39
-40
-14
-11
0
0
-25
0
0
0
0
6
13
-5
0
0
0
0
-3
0
0
14
-5
0
0
0
-1
-10
0
0
0
1
-7
2
0
0
0
0
0
0
0
-1
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
-22
-16
-2
0
0
-48
6
-24
0
0
13
1
-16
0
0
-2
-33
10
0
0
51
-13
6
0
0
-20
1
17
0
0
4
-18
11
0
0
0
-11
2
0
0
35
16
-8
0
0
3
-33
-8
0
0
19
-13
-13
0
0
24
9
16
0
0
24
14
35
0
0
1
-14
-25
0
0
-24
0
-27
0
0
21
20
17
5
25
25
7
12
0
0
-5
3
0
0
0
-2
10
10
0
0
-8
6
0
0
0
-16
-2
0
0
0
0
-2
0
0
0
1
-2
-5
0
0
0
0
0
0
0
9
-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
-10
-22
-14
0
0
-7
-14
29
0
0
-26
-14
1
0
0
9
6
0
0
0
9
4
11
0
0
8
32
-10
0
0
-1
22
3
0
0
33
-9
-21
0
0
14
3
-8
0
0
11
-2
23
0
0
-43
-15
-2
0
0
-14
2
-11
0
0
1
5
8
0
0
8
-2
-8
0
0
-17
-4
2
12
-57
49
-3
-3
0
0
14
7
0
0
0
4
1
-4
0
0
-4
-5
0
0
0
5
-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
10
-25
0
0
0
18
26
22
0
0
14
19
-3
0
0
-2
22
-6
0
0
-47
27
-41
0
0
33
-21
1
0
0
-29
9
8
0
0
6
0
-6
0
0
-21
-17
-20
0
0
-8
-27
4
0
0
-4
2
3
0
0
27
-23
-1
0
0
-11
0
8
0
0
2
-6
10
0
0
5
2
7
0
0
5
9
-16
-35
-3
1
-27
8
0
0
15
-8
-2
0
0
-5
-3
0
0
0
3
1
-1
0
0
1
9
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
18
3
1
0
0
-25
-51
41
0
0
-29
7
7
0
0
-10
-5
-16
0
0
-4
-31
3
0
0
-32
0
4
0
0
-21
-35
4
0
0
2
4
-9
0
0
6
-5
1
0
0
11
17
9
0
0
-1
-5
2
0
0
4
0
-31
0
0
30
-8
1
0
0
-9
13
0
0
0
0
9
-13
0
0
5
20
-8
-24
32
16
-14
-9
0
0
19
-4
0
0
0
6
8
-1
0
0
4
5
0
0
0
-16
3
7
0
0
-8
-7
1
0
0
-3
-17
1
0
0
0
1
0
0
0
-33
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
13
-6
0
0
-14
39
-43
0
0
-15
-5
5
0
0
2
-10
10
0
0
-48
6
6
0
0
43
-10
-10
0
0
7
-17
-9
0
0
2
4
0
0
0
-5
-4
4
0
0
3
-19
0
0
0
-26
-7
1
0
0
-6
-7
15
0
0
-14
15
-10
0
0
3
3
2
0
0
0
-9
0
0
0
3
-5
4
33
-5
24
-1
3
0
0
-1
2
19
0
0
16
-10
0
0
0
-1
-10
0
0
0
16
8
2
0
0
-15
11
-6
0
0
15
0
-2
0
0
-1
0
0
0
0
-10
0
3
0
0
4
0
1
0
0
-19
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
-23
0
0
0
0
-19
32
-32
0
0
-17
-5
-3
0
0
-1
8
19
0
0
7
-13
2
0
0
5
-9
-20
0
0
8
-14
37
0
0
-4
8
2
0
0
18
7
-24
0
0
-17
23
6
0
0
-8
3
1
0
0
13
-32
-9
0
0
-9
-18
-6
0
0
1
-14
-10
0
0
-19
-5
3
0
0
-2
-14
-6
18
0
-21
-4
-11
0
0
13
15
1
0
0
20
6
1
0
0
-2
10
0
0
0
-7
-7
-4
0
0
0
-1
0
0
0
1
0
0
0
0
0
4
0
0
0
-14
0
0
0
0
3
3
1
0
0
-2
-1
1
0
0
-11
-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
22
-5
7
0
0
-11
2
-16
0
0
49
-17
9
0
0
43
9
-8
0
0
-3
-5
-15
0
0
-26
-4
-11
0
0
0
-7
0
0
0
-5
5
3
0
0
-12
-9
23
0
0
24
4
0
0
0
11
-13
-4
0
0
-7
0
-2
0
0
-2
7
1
0
0
0
-37
10
0
0
-9
-9
0
-42
12
4
11
-17
0
0
48
-9
1
0
0
-24
9
0
0
0
9
32
5
0
0
8
-3
-2
0
0
-5
16
-9
0
0
5
7
-1
0
0
0
0
0
0
0
35
1
0
0
0
-14
-5
0
0
0
14
-14
3
0
0
-2
7
0
0
0
-14
9
5
0
0
0
-3
0
0
0
0
-1
0
0
0
0
-8
0
0
0
-17
1
-1
0
0
7
-16
5
0
0
-31
20
3
0
0
15
-15
-22
0
0
1
32
7
0
0
-2
4
-1
0
0
3
16
-11
0
0
2
-3
-1
0
0
-2
-16
2
0
0
-61
-20
-14
0
0
-7
-2
-6
0
0
8
-31
3
0
0
16
-10
-14
0
0
0
2
20
0
0
-9
5
-5
0
0
-14
-5
1
-6
18
-33
-22
-17
0
0
17
1
0
0
0
34
15
-6
0
0
-2
-5
-7
0
0
34
-3
15
0
0
-4
4
1
0
0
2
1
-1
0
0
0
3
0
0
0
-13
-6
0
0
0
-10
1
0
0
0
-10
-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
19
-5
14
0
0
25
13
-26
0
0
-6
-20
-4
0
0
20
-7
-2
0
0
-35
-21
-23
0
0
10
-5
5
0
0
0
26
-3
0
0
-19
0
14
0
0
32
25
-38
0
0
17
-9
3
0
0
50
-42
30
0
0
-11
39
5
0
0
-13
4
23
0
0
45
3
-26
0
0
32
33
5
0
0
-46
-9
15
29
-14
-29
76
29
0
0
2
2
6
0
0
7
-20
7
0
0
32
0
-8
0
0
-6
-8
5
0
0
-7
1
0
0
0
3
-14
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
31
-18
-9
0
0
14
-7
0
0
0
-34
-3
-6
0
0
-2
-4
-8
0
0
-18
8
1
0
0
-3
7
0
0
0
-2
-6
3
0
0
14
0
-5
0
0
7
3
1
0
0
-9
0
-18
0
0
22
26
22
0
0
36
-9
4
0
0
3
9
-11
0
0
22
24
-44
0
0
5
8
30
-44
8
-5
51
14
0
0
-6
-14
-2
0
0
-26
31
2
0
0
-5
3
3
0
0
-20
20
3
0
0
-2
8
0
0
0
-5
-1
-1
0
0
0
0
-3
0
0
15
-1
1
0
0
-2
18
-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
-18
1
0
0
3
57
-21
0
0
-15
-16
9
0
0
7
17
-20
0
0
6
36
14
0
0
-5
5
8
0
0
-3
6
-10
0
0
10
-9
3
0
0
3
43
-8
0
0
-43
2
43
0
0
-5
11
-33
0
0
38
18
-11
0
0
20
-5
-31
0
0
-5
-15
10
0
0
30
-5
-37
0
0
3
-9
-3
-5
27
-14
-52
20
0
0
24
-3
17
0
0
-19
-2
22
0
0
-10
-15
7
0
0
8
2
7
0
0
0
0
3
0
0
0
3
-4
0
0
0
-1
0
0
0
19
-13
-5
0
0
3
29
-1
0
0
3
-2
1
0
0
-1
-4
0
0
0
24
-1
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-2
-2
0
0
0
-17
0
0
0
0
-47
20
5
0
0
15
-4
-5
0
0
-25
14
-24
0
0
-7
-3
-7
0
0
4
-18
-4
0
0
3
-22
2
0
0
-4
-9
-2
0
0
-8
-16
-2
0
0
-23
-8
20
0
0
4
14
14
0
0
-31
53
-22
0
0
24
-23
-8
0
0
-24
-39
5
0
0
10
-21
9
0
0
9
-45
0
-30
9
-40
-8
-1
0
0
6
19
10
0
0
-13
36
-8
0
0
1
-11
0
0
0
1
41
41
0
0
0
2
0
0
0
1
-4
-1
0
0
-1
-1
0
0
0
15
3
-16
0
0
-5
-23
2
0
0
-6
3
-5
0
0
-2
2
0
0
0
-13
-1
1
0
0
0
-2
-1
0
0
0
-8
0
0
0
0
1
3
0
0
8
-25
-6
0
0
29
14
19
0
0
-53
37
-33
0
0
16
-10
-25
0
0
-27
7
-8
0
0
7
1
4
0
0
8
-6
0
0
0
0
-13
-6
0
0
-17
-45
15
0
0
41
-19
-13
0
0
-43
2
-17
0
0
-32
18
49
0
0
-14
60
14
0
0
-6
5
19
0
0
-3
10
-6
0
0
-3
0
-2
-18
-42
-21
-1
2
0
0
-21
13
-6
0
0
12
9
-11
0
0
23
-5
17
0
0
-3
20
-17
0
0
5
-5
0
0
0
3
-7
2
0
0
0
-2
0
0
0
-34
1
-1
0
0
7
-1
1
0
0
0
8
1
0
0
3
3
-1
0
0
4
-11
1
0
0
2
0
-1
0
0
-1
0
0
0
0
0
2
0
0
0
0
7
-1
0
0
23
-3
-4
0
0
-11
30
8
0
0
-21
1
13
0
0
-22
-17
1
0
0
-13
1
4
0
0
-1
-1
7
0
0
-1
-27
1
0
0
14
20
-25
0
0
-31
3
-5
0
0
-2
25
-3
0
0
-11
-11
0
0
0
-8
-1
24
0
0
34
-5
-11
0
0
-17
-33
35
0
0
31
10
8
2
-6
23
13
-53
0
0
-5
47
5
0
0
28
4
2
0
0
-2
30
10
0
0
10
1
-11
0
0
-9
-2
0
0
0
-14
2
-4
0
0
0
-6
0
0
0
11
-10
3
0
0
9
4
0
0
0
3
-1
1
0
0
3
-16
1
0
0
-9
9
-4
0
0
0
-2
1
0
0
0
1
0
0
0
-3
-4
0
0
0
-15
-15
-4
0
0
2
31
24
0
0
34
-5
14
0
0
-16
23
1
0
0
-32
-24
3
0
0
-5
-5
-7
0
0
0
6
14
0
0
-4
-15
2
0
0
-19
19
0
0
0
31
15
25
0
0
-27
-13
8
0
0
44
42
-47
0
0
26
-56
2
0
0
-18
11
-13
0
0
-24
-26
-5
0
0
5
-34
-15
48
29
-47
-66
1
0
0
-12
82
-5
0
0
19
2
26
0
0
-9
-12
3
0
0
9
-5
-8
0
0
9
-22
1
0
0
1
13
0
0
0
1
8
1
0
0
1
10
2
0
0
-22
7
1
0
0
3
9
4
0
0
7
20
-4
0
0
-14
-33
-14
0
0
2
2
-2
0
0
-1
7
1
0
0
0
6
-4
0
0
7
-4
-8
0
0
-28
3
8
0
0
24
-13
-5
0
0
44
3
14
0
0
4
-34
-2
0
0
-48
-31
-25
0
0
-19
-52
13
0
0
6
17
-11
0
0
-23
-52
21
0
0
16
95
-33
0
0
-8
3
15
0
0
80
5
-5
0
0
25
-7
-16
0
0
-13
3
-7
0
0
-14
-31
9
0
0
-11
-15
11
-18
-24
-5
-73
21
0
33
11
-1
3
0
9
5
5
24
0
14
31
11
14
0
5
41
17
7
0
14
-14
56
-13
0
0
14
20
1
0
-14
2
30
4
0
20
-16
-20
14
0
29
5
10
-15
0
20
15
-5
-10
0
3
6
-11
9
0
-26
6
5
8
0
4
11
-5
-5
0
0
-2
-22
-10
0
-10
-11
-2
18
0
-2
-9
14
-13
0
-11
-9
5
4
0
-3
2
-3
-14
0
1
0
-1
0
0
-11
0
-24
1
0
-5
-4
14
5
0
0
-2
-11
-2
0
0
0
2
-4
0
-2
3
-9
1
0
-5
-6
5
13
0
3
17
3
-9
0
0
-4
11
3
0
0
-1
-3
2
0
4
-1
41
-1
0
0
1
2
-1
0
-41
15
15
13
52
-46
-6
15
7
0
14
23
-10
3
0
27
5
10
-7
0
4
8
48
14
0
-14
-25
-6
11
0
11
22
-22
10
0
34
-4
-48
-18
0
-10
-5
-5
5
0
-28
1
23
8
0
5
-33
-32
5
0
15
25
-4
9
0
-9
-24
13
-4
0
-17
14
-4
0
0
0
-2
10
2
0
-11
-2
10
2
0
0
1
19
-15
0
0
16
-11
-16
0
0
-7
0
0
0
-7
-1
14
11
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
14
4
3
0
-1
-10
5
1
0
3
-16
19
-25
0
0
-5
-34
0
0
9
7
-4
0
0
-2
0
15
0
0
4
-6
-11
-7
0
10
-9
-2
0
-5
11
18
-13
-15
0
-51
29
15
26
0
14
66
13
-10
0
17
-38
12
-9
0
44
74
-23
20
0
4
-14
-16
-7
0
-10
15
-5
0
0
-7
-7
-27
2
0
9
-15
-7
-4
0
-2
13
-4
2
0
-35
-8
-22
2
0
11
-16
-6
-7
0
-3
-9
-3
-8
0
-1
2
10
3
0
0
2
8
-3
0
-18
23
11
0
0
-36
-18
10
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
-9
0
0
1
-26
0
0
0
1
-3
1
0
-2
2
8
0
0
4
-8
9
0
0
0
-1
-1
0
0
0
6
8
2
0
7
-7
2
0
0
1
10
20
-7
0
2
-13
-27
14
0
-1
-5
7
-2
-49
16
35
-19
7
0
8
17
2
11
0
-30
29
3
-6
0
44
-29
5
-5
0
10
42
22
20
0
-29
11
23
1
0
52
-23
36
1
0
-14
1
32
11
0
7
1
37
-5
0
-9
16
5
2
0
-21
-5
-6
-4
0
-34
2
25
9
0
-45
11
-10
-9
0
-2
-7
-15
0
0
3
-5
5
-1
0
-2
0
-7
4
0
42
8
-5
-2
0
2
-5
4
0
0
0
6
-6
3
0
2
-3
8
0
0
-15
0
-23
-2
0
-1
-4
-2
0
0
3
1
-14
2
0
1
-1
0
0
0
0
-11
2
5
0
-6
-2
8
0
0
2
-2
-5
-3
0
-1
0
-5
-3
0
0
13
-11
-8
0
0
0
9
-5
0
0
-11
21
-7
0
17
17
-5
7
1
-9
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
0
60
-15
6
2
0
21
4
-8
-3
0
37
0
-2
0
0
7
-7
-1
2
0
-15
2
-9
3
0
-1
1
2
0
0
-25
-4
5
-6
0
-14
44
3
-5
0
13
18
-43
27
0
9
9
-5
-5
0
-6
19
2
-13
0
11
17
14
-7
0
-7
0
6
-1
0
-1
3
-8
0
0
-26
1
-3
-6
0
50
-15
5
2
0
-13
-4
18
1
0
-9
10
10
0
0
-14
-3
1
0
0
16
20
-10
0
0
-3
-1
18
-1
0
-2
-2
0
0
0
5
-11
0
1
0
-14
-2
89
-9
0
-1
14
9
-6
0
3
13
1
-2
0
18
-11
-4
-5
0
-10
-8
-19
-2
0
2
4
-11
0
0
-7
14
-27
1
23
-8
-23
6
6
0
-4
16
-10
5
0
26
31
11
2
0
-9
-5
-10
-10
0
-8
-13
-6
-4
0
15
2
1
-15
0
-18
-9
19
3
0
0
-4
0
0
0
-37
25
0
4
0
-24
-22
-11
-6
0
21
19
-40
5
0
-1
0
-31
1
0
0
13
3
5
0
2
-3
-2
-2
0
5
-5
5
3
0
0
-9
-2
0
0
-7
-1
3
-1
0
5
-5
-10
0
0
-14
31
-6
-11
0
-1
0
1
1
0
16
4
-3
5
0
0
-5
4
0
0
2
-6
11
0
0
0
0
0
0
0
0
1
1
1
0
-30
21
-7
-1
0
6
-20
8
-2
0
-2
-14
1
0
0
7
8
8
-6
0
5
-10
57
-11
0
18
2
-3
-9
0
5
0
-9
-2
24
2
16
-21
-5
0
-9
17
21
-4
0
-32
-2
-24
2
0
-1
-29
-5
3
0
-23
11
8
-7
0
3
-16
16
0
0
-5
-4
-1
1
0
-5
-9
-11
0
0
14
-4
-11
-1
0
7
2
4
-11
0
31
1
-10
-2
0
3
-16
-1
2
0
-4
-7
5
4
0
-4
3
14
-3
0
0
0
6
-1
0
-6
1
0
0
0
-10
4
-3
7
0
9
-15
0
3
0
-13
-6
-1
-5
0
0
-1
-9
0
0
1
-4
25
2
0
0
0
1
0
0
1
1
-1
0
0
0
0
0
0
0
-3
5
5
0
0
9
2
-4
-1
0
-10
-3
18
0
0
2
9
-16
-9
0
6
9
-2
0
0
13
7
-25
-14
0
0
2
8
0
0
1
0
-6
-3
13
-1
18
10
-5
0
25
1
5
0
0
-5
6
-13
-1
0
-15
-10
6
-6
0
14
5
-14
-2
0
19
-9
1
0
0
1
1
14
1
0
3
0
-7
0
0
-9
5
3
-6
0
-14
-2
15
-3
0
15
-8
5
-2
0
3
1
-17
0
0
6
15
1
-9
0
-7
3
2
0
0
3
-27
-1
3
0
-2
-3
10
2
0
10
-22
22
0
0
-1
-5
-11
2
0
-14
14
-4
-4
0
0
-7
1
-2
0
-13
5
-30
1
0
0
-2
3
0
0
1
-1
2
0
0
0
2
-1
-2
0
3
3
-14
-1
0
-5
-16
-6
-1
0
14
-2
-14
-2
0
1
11
-4
-1
0
-19
-6
-2
0
0
0
0
-11
0
0
0
8
5
2
0
-8
0
-29
1
1
-27
-17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
8
0
-35
2
6
-7
0
-5
-4
21
-1
0
18
4
3
5
0
3
-1
19
0
0
-3
1
-2
0
0
-1
2
1
0
0
5
-14
-6
1
0
23
34
-15
27
0
19
-7
0
8
0
-9
-13
-33
-24
0
-8
-21
6
-1
0
-6
3
0
1
0
-1
8
-7
-6
0
10
-14
20
4
0
7
0
5
-3
0
17
-24
42
10
0
3
31
16
-14
0
-44
4
-47
-29
0
27
-37
-14
30
0
43
17
14
29
0
-22
-33
8
17
0
0
24
27
-19
0
-1
-11
-4
5
0
-7
6
40
-11
0
-39
21
5
-9
0
-6
-33
-22
-45
0
-32
9
-19
21
0
25
-5
31
73
0
-6
4
15
14
0
-45
16
14
24
18
12
-42
-60
-11
0
-7
9
-16
5
0
-16
17
17
-5
0
-2
-8
0
-4
0
-5
-25
-13
2
0
-9
2
2
-2
0
-3
-5
2
0
0
0
-1
1
1
0
4
-5
1
0
0
4
15
-4
20
0
-43
26
-5
11
0
15
19
-3
-1
0
7
35
5
-6
0
7
14
-4
1
0
0
-16
-6
-8
0
0
1
7
13
0
3
10
-20
-1
0
17
31
4
-23
0
-21
-54
18
-15
0
80
-3
-17
21
0
-62
51
8
27
0
10
8
-64
-23
0
-3
16
-15
-34
0
-6
-35
3
-5
0
49
-4
11
-14
0
33
14
1
-5
0
25
-6
-16
6
0
-10
-14
6
24
0
-13
7
62
-26
0
-1
0
-24
0
0
-26
1
-27
-21
0
-37
-23
-59
2
-23
-10
-5
23
-6
0
-18
-9
-5
1
0
10
-14
-9
1
0
8
5
27
5
0
-16
-25
-3
2
0
-3
4
-3
2
0
0
-1
-18
0
0
-1
-1
2
0
0
-16
0
-24
-3
0
0
4
-5
-2
0
-14
-6
7
-1
0
14
-10
-7
0
0
0
-7
-10
0
0
0
-2
2
0
0
0
0
11
0
0
-1
-3
-1
-1
0
-19
-3
-7
-1
0
-17
16
0
4
0
-5
-32
47
-15
0
-34
51
-3
-8
0
-31
-57
6
-15
0
48
-1
-24
14
0
6
-45
-24
6
0
-5
20
-14
-26
0
-50
16
-47
3
0
10
13
-20
-5
0
1
-4
6
2
0
-4
-24
-6
-7
0
11
-3
-1
-5
0
-2
21
-9
7
0
-2
34
14
9
0
14
-22
17
5
-29
-12
33
66
-10
0
4
4
5
1
0
-6
13
-7
0
0
4
10
2
8
0
2
4
10
4
0
3
0
0
0
0
6
-10
0
-4
0
1
-2
4
0
0
29
19
1
3
0
-3
-23
-1
3
0
-14
-15
-17
0
0
0
5
0
0
0
-14
-23
3
-9
0
0
2
4
0
0
-3
-9
-7
0
0
0
-6
3
-4
0
-15
32
-42
-4
0
-12
26
10
0
0
-38
8
-9
7
0
45
3
-9
-26
0
3
33
-20
14
0
-75
4
-17
15
0
2
-25
21
6
0
9
13
20
-20
0
-48
26
14
-36
0
-11
-24
6
5
0
-3
-7
-43
5
0
7
-34
-48
3
0
-15
-5
-24
-14
0
2
-44
7
-1
0
-8
-11
36
2
0
-18
-5
-30
2
-23
47
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
17
0
-11
18
1
-4
0
6
-4
14
9
0
-5
-5
-2
1
0
17
-5
5
0
0
-8
-3
-1
-6
0
-1
5
2
0
0
-14
15
-1
-3
0
-1
11
10
3
0
0
6
-3
0
0
7
18
9
-6
0
3
-6
0
-2
0
26
17
5
1
0
20
3
-13
3
0
-24
-10
0
3
0
3
23
6
-4
0
28
-26
-14
14
0
64
-30
8
10
0
-38
-43
5
18
0
17
20
-11
0
0
-10
-1
-6
5
0
20
-14
-56
0
0
-13
-11
5
13
0
-1
-13
-5
4
0
14
55
21
-1
0
-18
14
11
-34
0
-6
-47
-10
-31
0
-32
26
-4
-1
0
-10
-33
3
10
0
-2
48
5
14
0
32
-21
-11
17
8
-20
-13
-34
-21
0
45
14
10
-1
0
-38
13
5
1
0
-19
-1
2
0
0
-12
5
23
-1
0
-4
-26
9
-4
0
-3
2
3
0
0
0
-1
0
1
0
-4
-5
1
0
0
8
-8
-3
-1
0
-5
11
5
1
0
-1
-11
-27
1
0
-35
-11
17
1
0
-6
-5
-4
0
0
-6
19
-7
2
0
-2
14
7
9
0
-30
7
-44
5
0
-30
28
-5
14
0
42
-16
27
4
0
62
-33
-6
0
0
9
-9
2
3
0
20
-22
-3
21
0
18
-23
4
-18
0
14
0
10
-5
0
1
5
-23
6
0
-54
9
33
-30
0
10
1
43
7
0
-13
-7
-14
6
0
-13
1
30
-10
0
-5
1
16
-17
0
14
0
13
-5
0
20
-37
21
-34
25
-9
-17
-4
44
0
8
-7
18
2
0
0
-5
3
1
0
-5
1
-14
-2
0
6
-17
7
-1
0
6
3
4
0
0
8
0
15
-1
0
26
2
0
0
0
-15
5
0
0
0
7
0
4
0
0
-2
-10
0
0
0
0
-6
0
1
0
6
-7
-4
2
0
1
-6
20
-5
0
-2
0
0
0
0
8
-4
0
1
0
9
13
-25
9
0
26
31
-43
-15
0
-78
10
-10
8
0
2
-34
-4
-1
0
-36
1
-10
-23
0
13
32
-16
-3
0
6
4
-7
-15
0
-4
4
36
-6
0
-13
13
5
8
0
-5
-9
-57
45
0
25
-3
-62
-4
0
-30
8
-7
21
0
6
10
29
20
0
-45
40
-55
-5
0
1
-33
7
22
0
33
-7
33
8
-52
0
-53
38
-31
0
-7
-5
0
0
0
-2
2
0
1
0
4
-9
0
0
0
24
-7
-21
-1
0
-16
0
0
0
0
-24
-11
5
0
0
-2
0
-1
-3
0
-11
1
14
0
0
10
10
-7
-1
0
-8
-25
-13
1
0
0
5
0
0
0
-47
-21
-7
-5
0
-13
7
-1
0
0
5
1
-33
1
0
-1
19
0
2
0
33
-26
6
-14
0
-81
-27
18
-16
0
20
-17
15
-7
0
-14
16
6
-4
0
-26
-2
4
-3
0
19
-9
-10
3
0
33
-6
2
-13
0
0
10
4
0
0
-33
3
6
-10
0
-50
17
25
52
0
-10
-5
-49
26
0
-15
28
23
-35
0
-16
-7
36
-32
0
96
-7
-43
29
0
9
-16
24
-26
0
32
18
3
-44
-27
-14
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
3
0
42
33
7
-24
0
18
-16
1
-11
0
7
0
3
2
0
-13
14
1
-15
0
3
11
8
15
0
4
5
20
0
0
-21
23
6
0
0
2
-9
-23
-8
0
2
0
0
15
0
1
-15
0
5
0
-4
2
-5
13
0
2
3
6
-2
0
0
0
19
-4
0
6
-2
15
4
0
6
13
-14
-1
0
6
0
9
-1
0
0
-3
1
0
0
-2
1
-4
0
0
1
0
0
1
0
0
14
4
-9
0
0
0
-8
1
0
0
5
4
0
0
0
20
3
0
0
0
2
-3
2
0
0
-3
10
0
0
0
0
3
0
0
0
-2
1
0
0
5
17
11
-14
0
0
0
5
6
0
-5
1
-14
6
44
-5
1
21
5
0
33
5
-36
0
0
4
-15
-2
21
0
2
23
14
1
0
-11
-6
9
-19
0
0
-29
13
-9
0
-5
7
14
-7
0
-15
0
0
3
0
10
1
-3
9
0
2
-4
-5
-1
0
-3
18
-16
-2
0
2
6
-5
1
0
-1
-3
20
0
0
2
13
-5
5
0
0
-2
-1
-3
0
1
14
6
4
0
18
-9
33
4
0
0
-5
-2
0
0
4
0
13
0
0
0
0
0
0
0
0
10
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
-13
-1
0
1
-6
5
-4
0
0
0
-10
0
0
0
0
-1
1
0
-4
-3
9
1
0
25
-5
0
7
0
-24
0
9
-9
14
1
14
-4
2
0
51
-8
-23
14
0
-34
-11
-3
-17
0
1
13
25
-6
0
-35
17
-14
-5
0
-24
7
-19
0
0
3
-2
-5
-1
0
-9
-4
-9
7
0
33
-16
-6
-3
0
-4
4
-6
-3
0
3
-6
0
6
0
-2
29
3
-2
0
-2
0
15
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
10
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
-11
-5
0
0
0
1
-1
0
0
-1
2
8
1
0
2
8
0
-1
0
0
-2
-11
1
0
2
0
8
0
0
18
-3
6
2
33
-4
-21
-20
11
0
-18
-62
-2
2
0
45
22
-4
-14
0
5
-32
21
3
0
61
42
29
4
0
10
-8
14
0
0
-2
5
-1
-5
0
-20
0
6
-1
0
5
-3
10
2
0
4
5
5
1
0
0
7
-8
-1
0
-1
26
10
-5
0
-15
-23
8
6
0
0
2
4
0
0
1
-1
-4
1
0
-1
-1
13
0
0
-9
23
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
9
10
0
0
-1
0
1
2
0
0
0
-15
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
-22
-8
-8
19
-10
0
26
-5
5
1
0
5
9
14
2
0
-7
14
7
-9
0
30
-1
5
-5
0
6
-4
-8
0
0
10
-1
-6
1
0
4
-3
3
1
0
-34
-9
11
0
0
-25
16
7
0
0
-8
-7
-20
2
0
0
-3
3
3
0
0
-2
-11
-3
0
0
7
0
3
0
0
0
3
5
0
1
0
-2
0
0
-2
0
3
-2
0
7
-25
-13
3
0
4
-1
-2
-5
0
0
-1
0
0
0
1
0
1
-2
0
0
0
14
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
-27
-1
-2
5
-1
0
-7
1
7
9
0
-6
-5
-32
5
0
11
-13
13
0
0
57
5
11
-3
0
14
-7
15
2
0
45
8
-14
-2
0
-1
-1
-1
0
0
14
15
11
0
0
0
-5
-3
0
0
-9
-2
13
1
0
1
-3
-1
-1
0
-14
1
4
0
0
-7
0
10
0
0
2
2
-7
-2
0
1
0
-2
0
0
-5
-1
5
0
0
10
-17
-18
1
0
-15
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
6
2
0
0
0
22
6
5
-14
0
14
1
-1
0
0
-5
5
-27
1
0
-14
21
23
-9
0
-2
-3
-6
0
0
3
-2
2
-1
0
-9
-10
0
0
0
23
-1
-2
0
0
0
25
2
0
0
0
0
0
0
0
0
9
-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
-7
-5
8
5
-2
0
18
6
13
4
0
-46
35
-4
2
0
21
17
-3
-3
0
-13
-16
14
13
0
26
16
6
0
0
11
-20
-4
-1
0
-3
1
0
0
0
-31
9
-19
-2
0
-1
-14
9
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
-11
-3
-19
1
0
0
-5
6
1
0
13
-3
-15
-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
-1
24
-1
15
0
0
-1
30
-8
-2
0
14
-4
2
-4
0
-2
-35
-3
2
0
-11
-6
2
7
0
-1
-3
25
1
0
1
-13
-21
0
0
-2
-3
0
0
0
-10
1
3
1
0
-10
-13
-3
20
0
61
7
-6
-5
0
2
-13
4
5
0
5
31
5
-3
0
-2
9
20
4
0
0
6
8
-2
0
-3
5
6
-1
0
13
17
-2
9
0
16
0
-9
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
11
0
0
2
-1
6
-1
0
-3
5
-5
8
0
0
5
-1
-4
0
1
16
-4
2
7
0
9
-14
2
0
45
-14
4
8
0
-37
-1
-5
2
0
-4
0
0
1
0
-25
-8
10
0
0
-24
8
11
-1
0
2
-20
-7
-1
0
-4
0
5
0
0
26
-4
2
0
0
17
5
-1
-7
0
33
14
-5
7
0
1
-17
-8
0
0
-44
20
15
-2
0
4
1
-18
-1
0
-10
13
2
-6
0
-4
1
5
-1
0
8
-7
9
-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
-2
0
0
6
3
6
-7
0
-4
-5
0
-1
11
9
16
-15
14
0
-11
43
14
3
0
-15
26
-29
3
0
-14
-1
-5
11
0
22
5
-9
1
0
19
-5
-8
1
0
-3
3
-1
-1
0
8
4
-2
0
0
0
2
11
1
0
21
-14
3
7
0
-35
-2
5
4
0
14
-20
6
-9
0
13
-19
-1
-2
0
0
3
-10
1
0
0
-3
0
4
0
-4
5
20
9
0
-14
4
-10
-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
16
-5
0
0
-6
0
1
0
11
-7
-5
0
-13
6
1
6
-7
0
-2
33
0
3
0
-19
24
5
4
0
16
7
15
4
0
14
-17
1
6
0
-2
-9
5
-3
0
-11
-14
2
3
0
31
-3
1
0
0
-8
8
-1
1
0
1
4
8
-3
0
-3
14
-4
-2
0
3
3
-14
-3
0
-16
4
-16
-7
0
0
2
1
0
0
6
7
-13
2
0
0
5
-9
0
0
10
-8
-8
-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
11
-1
-23
0
0
0
-6
0
0
0
0
-1
19
0
0
0
-3
-15
0
12
-17
8
-17
-8
0
31
-36
3
6
0
-22
8
11
-24
0
18
11
-23
9
0
0
15
-6
2
0
1
8
1
0
0
-7
-2
14
0
0
0
-1
1
0
0
-13
-1
-1
-1
0
24
24
9
-2
0
-19
11
-1
3
0
-2
3
19
1
0
1
-4
-4
0
0
-1
13
-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
14
-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
15
-1
0
0
2
2
0
0
0
0
-3
0
0
2
-4
1
0
0
0
0
-13
-2
0
0
1
3
2
0
-1
0
1
2
-5
-4
1
-6
0
0
-5
25
25
-1
0
14
-7
11
5
0
5
5
0
-2
0
11
-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
-4
-1
-2
0
3
21
-1
0
0
0
-4
-26
2
0
-43
1
9
0
0
2
-5
0
-1
0
1
-11
-5
-3
0
0
-2
3
0
0
0
-4
-14
0
0
2
-3
3
0
0
-10
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
-31
14
-1
0
3
0
-10
7
8
3
0
-16
49
1
10
0
25
-2
9
0
0
42
-11
2
2
0
-1
-25
3
-1
0
-4
0
-5
0
0
5
0
-18
0
0
-14
-2
-16
0
0
-23
30
2
1
0
-1
0
-20
-2
0
1
-10
4
-1
0
1
-3
7
0
0
0
1
0
1
0
0
0
-3
0
0
0
3
0
0
0
-5
-5
10
0
0
7
8
-6
1
0
10
-5
-4
0
0
-5
5
-5
2
0
10
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
-9
0
-1
0
0
0
-3
0
0
2
-2
11
0
-33
-7
-5
2
3
0
15
7
-14
-24
0
-2
-12
18
5
0
33
8
23
4
0
6
-13
0
0
0
10
-21
8
-1
0
-18
20
-3
-4
0
-1
3
1
0
0
17
-5
9
-1
0
0
-46
-3
-9
0
-5
5
-16
1
0
-20
8
-3
1
0
-33
4
-22
3
0
0
-6
2
0
0
0
1
5
0
0
0
0
0
0
0
-7
3
5
-1
0
-55
-3
3
-2
0
-13
-15
45
1
0
2
3
7
0
0
-1
-2
6
-4
0
1
3
-2
0
0
2
-2
5
0
0
0
-1
-11
0
0
-4
2
0
0
0
-3
10
-6
7
0
5
0
-5
1
0
1
11
2
0
0
2
2
-2
-3
0
0
0
2
-2
0
-2
-1
5
-1
0
2
2
-2
0
3
-15
-5
-25
2
0
-2
6
-4
6
0
72
5
8
1
0
-4
0
1
-4
0
0
-4
3
0
0
9
3
-2
0
0
0
1
-2
-2
0
0
3
0
0
0
13
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
-1
-6
3
0
0
-1
0
1
0
-3
-1
-2
1
0
4
7
8
5
0
43
-25
-26
-33
0
3
3
-27
-37
0
4
59
20
23
0
-28
81
-5
43
0
4
8
-43
7
0
6
7
17
-22
0
17
-17
50
-11
0
22
-4
1
-21
0
11
-14
22
0
0
-5
21
-5
6
0
1
15
-16
-29
0
-4
4
7
-7
0
5
-5
43
24
0
0
-2
-13
14
0
-36
10
56
50
53
-6
19
-3
-8
0
14
5
2
0
0
2
0
17
6
0
-4
-2
3
3
0
-9
5
-2
5
0
5
-6
-5
0
0
3
0
-5
-1
0
0
0
0
0
0
-14
-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
-9
4
0
0
1
25
-20
0
0
-2
-11
1
1
0
-3
9
4
0
0
119
-10
-5
-29
0
-29
76
6
-21
0
15
-2
23
14
0
-1
0
8
-14
0
-31
-15
-17
2
0
8
-27
19
5
0
0
0
-13
14
0
14
-29
23
-4
0
9
-17
24
-4
0
14
-4
0
-21
0
0
-21
-29
1
0
0
-2
5
0
0
-2
-18
-25
35
0
-6
29
10
7
0
-9
-27
14
-19
45
-19
-27
-24
-7
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
-14
3
2
0
-4
29
2
-2
0
13
-86
53
4
0
33
-11
-17
-1
0
31
-5
-73
-7
0
2
-9
9
-8
0
21
-7
14
7
0
4
-4
-1
-7
0
-10
15
26
-41
0
-5
39
-20
-10
0
-8
-13
-1
-2
0
0
5
-5
2
0
-2
19
30
-8
0
-15
1
-5
-1
0
0
-11
19
14
0
-1
5
17
-1
0
6
-9
-36
-7
-40
-5
44
-14
4
0
-5
4
4
0
0
0
9
-2
0
0
-14
5
-4
0
0
1
-14
-1
4
0
-9
0
27
0
0
2
5
3
-1
0
0
-4
-1
1
0
-19
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
25
2
-29
6
0
-35
-24
-27
-15
0
8
23
9
23
0
50
-16
-33
-14
0
-68
12
0
32
0
-14
-15
7
-3
0
6
-13
-6
-7
0
11
-9
-9
10
0
17
12
-13
-23
0
0
10
5
1
0
0
-5
-24
-11
0
2
-35
-3
0
0
-3
1
92
6
0
-1
23
20
-14
0
0
23
3
0
0
4
-20
-35
-5
-13
43
9
34
-10
0
-8
26
-6
-2
0
7
-7
7
-8
0
-4
-3
-2
0
0
16
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
-16
-3
3
1
0
-29
2
-13
5
0
-6
-37
-39
5
0
14
-3
-36
-4
0
-53
-7
11
1
0
32
2
-1
1
0
-9
3
7
1
0
8
-8
-14
5
0
4
-14
-30
10
0
24
25
6
-10
0
2
-2
-10
3
0
0
2
8
1
0
0
1
-3
0
0
1
-7
-14
-18
0
0
5
19
-2
0
-5
0
-2
0
20
19
-24
49
8
0
14
14
-1
-1
0
1
15
-3
-2
0
3
0
0
1
0
0
11
3
-1
0
5
-9
-2
0
0
-4
6
1
-2
0
0
1
-2
0
0
-14
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
-17
4
-1
-2
0
-29
36
-4
29
0
9
-32
4
14
0
1
-14
0
0
0
2
3
-26
14
0
14
-8
-19
-13
0
-13
-16
32
0
0
-2
5
6
-3
0
1
-4
10
20
0
2
3
15
0
0
0
2
-2
-1
0
0
0
-4
0
0
0
-1
2
2
0
0
-17
21
10
0
6
1
25
-21
0
0
14
-31
-4
-32
-10
-5
26
8
0
-15
0
3
-1
0
17
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
33
-17
0
2
0
-78
-43
33
11
0
-2
22
25
-2
0
40
-27
-3
-1
0
14
8
-23
3
0
-5
-27
-11
5
0
-2
4
25
-16
0
-6
3
-15
-2
0
-1
-1
-21
-3
0
0
0
-1
0
0
0
-7
-9
-7
0
0
0
0
0
0
-1
24
-26
-20
0
1
3
-2
-1
0
6
-4
-21
5
6
-9
-15
3
-3
0
-7
9
16
0
0
4
3
-5
3
0
3
6
-3
-1
0
-21
-5
-1
9
0
-4
1
-3
0
0
-1
-3
3
0
0
1
-1
0
0
0
-7
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
5
-3
10
1
0
-9
2
14
20
0
29
23
11
7
0
-79
31
-9
-17
0
15
-71
15
-18
0
0
5
-9
9
0
-23
-22
-17
13
0
-18
7
2
-7
0
-20
-15
-13
14
0
-2
-14
-3
2
0
0
-5
-17
0
0
0
0
13
-6
0
0
6
-7
-3
0
-1
-45
22
1
0
0
-6
2
0
0
2
-8
4
5
24
25
2
-22
-8
0
9
27
4
-2
0
4
5
18
2
0
-8
-5
10
0
0
-39
4
2
0
0
0
14
1
0
0
0
4
-2
0
0
0
0
0
0
0
8
4
0
-5
0
19
4
-26
-1
0
5
-6
-2
2
0
-1
2
-27
0
0
10
0
19
1
0
1
7
10
-4
0
-1
1
8
0
0
-3
-1
-13
5
0
6
-26
4
3
0
42
23
-37
9
0
35
-19
30
3
0
17
-6
14
3
0
-20
-33
-5
-5
0
5
0
-4
-2
0
6
0
-46
4
0
-6
0
-4
14
0
-14
-2
2
6
0
10
79
35
-54
0
12
74
15
18
0
-5
-53
36
38
0
-26
0
35
-13
0
-10
-16
23
-36
0
1
14
6
35
0
1
25
50
-4
17
-39
-39
9
41
0
-7
36
-9
8
0
33
-7
14
-6
0
-2
2
11
0
0
23
-1
-27
-4
0
7
4
0
0
0
-6
-20
-7
0
0
0
-1
1
-1
0
-18
-3
-4
0
0
1
24
-2
1
0
20
-4
-7
-4
0
1
-5
0
0
0
10
4
0
2
0
3
-1
0
-1
0
0
-15
-4
0
0
0
2
0
-2
0
-5
-5
-6
-2
0
14
30
-14
7
0
52
-48
1
2
0
-9
-14
7
-2
0
-22
29
7
0
0
-5
10
-20
8
0
-2
4
-1
0
0
0
-2
2
-2
0
-2
-8
-4
1
0
34
4
-18
5
0
-14
52
17
-1
0
-10
-53
-11
5
0
-1
70
-5
-7
0
-34
21
33
7
0
-33
13
-54
7
0
2
19
-17
-21
68
0
7
-25
0
0
-7
13
7
-1
0
6
5
13
0
0
15
-32
9
2
0
-11
-8
-1
-1
0
4
-6
-1
0
0
-1
-3
0
-1
0
0
0
0
3
0
-16
1
0
0
0
-3
3
0
1
0
-1
0
-1
0
0
3
16
-5
1
0
-11
0
-7
-1
0
1
3
2
-1
0
1
0
0
0
0
2
0
2
0
0
-6
-2
-3
0
0
1
34
27
19
0
40
-5
5
-1
0
-35
-13
13
-7
0
-31
-5
-3
1
0
-4
2
-20
1
0
4
16
-11
-4
0
10
8
10
0
0
4
0
-9
-2
0
13
15
-6
54
0
-16
14
14
14
0
-13
30
-53
-30
0
36
51
-15
11
0
36
-24
-6
-7
0
8
-20
27
-6
0
1
-45
23
-6
17
4
-81
24
-14
0
8
1
6
0
0
8
4
2
-4
0
3
-1
-17
0
0
48
4
2
1
0
2
1
0
0
0
1
-2
-1
0
0
-2
0
-1
0
0
-16
10
1
3
0
1
-8
-2
0
0
-7
-17
-2
0
0
-9
-6
1
0
0
-11
-8
2
0
0
0
0
-1
0
0
-2
3
-1
-2
0
0
1
0
0
0
0
4
0
2
0
-14
27
6
1
0
-16
5
10
-4
0
-9
2
-4
0
0
4
-15
-19
7
0
0
0
-1
-1
0
1
0
0
-1
0
0
0
0
0
0
-15
5
26
0
0
-5
7
42
33
0
-23
4
11
-5
0
-17
-1
-36
-24
0
-19
-44
-25
4
0
26
19
-14
30
0
5
-14
-4
27
0
7
5
-31
-16
-16
-51
-34
-9
-52
0
-47
26
37
17
0
5
-4
8
1
0
-14
-25
-5
0
0
1
-21
-25
0
0
16
0
9
-3
0
25
10
-24
2
0
0
-1
10
-1
0
5
-9
-3
-2
0
32
36
5
8
0
18
-19
-1
7
0
0
-20
11
-5
0
14
-10
-4
7
0
8
13
0
0
0
0
1
23
0
0
0
6
0
0
0
4
-15
-15
-1
0
14
-32
26
-26
0
42
12
-11
18
0
-14
-3
-19
-7
0
-45
-27
7
-4
0
20
11
0
17
0
1
-9
-9
-2
0
0
19
-1
-7
0
-21
3
23
-1
0
-46
-6
39
33
0
14
-2
7
-4
0
5
-3
-53
13
0
-34
-32
33
22
0
14
32
-20
4
0
0
-11
22
-5
0
21
-5
3
-17
-17
-22
53
-18
-5
0
1
33
7
1
0
26
-5
-19
7
0
-14
-5
7
0
0
-49
29
-17
1
0
1
-1
3
-1
0
-24
-7
-6
1
0
-4
0
0
0
0
2
1
-5
0
0
-17
5
5
2
0
1
-1
-10
-3
0
1
2
-3
0
0
15
3
-14
-2
0
0
-5
5
4
0
-5
-5
4
0
0
-1
-5
1
0
0
-3
7
-4
-3
0
23
4
31
-7
0
-53
-5
13
-14
0
2
-25
-3
-8
0
32
-3
0
0
0
8
-6
-4
-1
0
18
13
-11
-6
0
0
-1
-2
-1
0
7
-1
-11
2
0
-1
12
33
10
0
29
-46
21
15
0
37
-18
15
-10
0
-34
-33
22
-8
0
27
4
-7
-9
0
-14
20
-8
-20
0
2
23
6
7
2
-9
26
-16
8
0
-38
37
1
5
0
5
-44
-5
11
0
-6
-5
-5
2
0
-27
1
25
-6
0
5
20
4
-1
0
-1
0
6
0
0
0
1
0
0
0
3
5
7
0
0
-37
27
-15
-7
0
14
-31
-14
-1
0
3
-6
4
1
0
27
2
4
1
0
1
4
0
0
0
0
-4
0
0
0
-5
-1
-1
0
0
2
5
3
3
0
-57
21
32
-2
0
-49
-25
15
30
0
-55
-52
5
-18
0
45
-30
-3
0
0
19
20
-2
-2
0
9
0
2
-4
0
-6
-16
8
3
0
9
-1
-47
-4
0
-44
67
32
-53
0
-14
-72
-18
4
0
2
7
17
-14
0
10
-24
-23
-46
0
18
-2
11
3
0
0
-9
-10
-6
0
25
24
-30
-24
-40
-3
-26
8
7
0
29
-1
-16
-10
0
-38
6
7
9
0
-50
-5
37
-5
0
47
-2
-16
14
0
-13
0
4
0
0
2
-1
24
-2
0
-4
0
2
0
0
-13
-16
18
3
0
14
8
14
8
0
-1
21
-19
3
0
3
-33
-1
-2
0
-33
-4
-18
-1
0
0
-9
-20
1
0
-1
2
-1
0
0
-1
1
0
1
0
-24
-8
4
-4
0
-57
21
-27
7
0
17
-17
-2
1
0
33
-54
5
-14
0
-12
27
-24
1
0
2
-10
11
1
0
-1
-41
-20
0
0
-2
-11
7
-1
0
-15
30
-13
-10
0
12
-31
-9
52
0
27
-43
-10
-26
0
-53
-7
5
15
0
21
30
9
-33
0
0
-22
-2
17
0
-9
-15
-6
-18
0
6
-44
-45
6
-26
24
-44
11
-16
0
7
2
5
5
0
-5
-17
18
4
0
6
25
8
-5
0
10
13
-13
-5
0
9
21
-17
-6
0
32
-7
-7
5
0
0
1
23
5
0
-7
-18
-21
-19
0
8
3
4
-2
0
11
10
-9
-4
0
5
18
5
-11
0
5
6
-3
1
0
1
-1
-7
4
0
0
1
-1
-1
0
-13
1
35
-5
0
-7
11
-15
5
0
13
-11
-3
0
0
8
1
-2
0
0
-1
1
1
0
0
-8
0
-9
0
0
3
2
-1
3
0
1
-11
8
0
0
0
-6
1
-3
0
-1
-5
-5
-1
0
-5
0
3
0
0
2
1
21
0
0
0
1
-9
0
0
-4
5
-9
5
0
2
-1
17
-17
0
0
8
6
-3
0
-9
5
36
3
-8
-2
18
7
17
0
1
27
-18
-3
0
16
13
-32
-1
0
13
-25
5
15
0
0
-4
31
6
0
0
-4
36
2
0
43
3
-17
-15
0
0
-20
15
-3
0
-6
-1
18
-1
0
0
-10
-2
3
0
-9
-19
-9
-2
0
-1
4
0
-1
0
2
15
-7
-10
0
0
4
15
0
0
0
11
4
6
0
-3
0
33
11
0
23
21
-2
5
0
3
-5
-9
0
0
-11
-11
4
1
0
1
-2
-3
1
0
-9
3
5
0
0
0
6
-5
-1
0
0
0
17
0
0
0
-1
-3
0
0
7
20
1
1
0
-2
-2
-1
-2
0
3
-9
0
-6
0
0
2
-21
0
0
2
5
-6
-1
0
2
-4
34
2
0
9
5
-7
7
0
2
2
5
0
10
-11
33
-5
15
0
24
17
-26
20
0
10
-14
-3
-11
0
-26
9
13
-1
0
-19
3
-24
11
0
13
-24
3
-1
0
-5
0
0
-4
0
-11
-18
23
2
0
9
3
4
-3
0
-3
7
5
-3
0
22
-3
-8
5
0
13
5
-9
-3
0
23
-13
-3
-2
0
-9
-2
3
0
0
0
-2
-7
-1
0
-3
-7
14
4
0
-26
8
-6
-5
0
-7
-6
-5
1
0
6
0
-10
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
-14
0
0
1
9
1
-1
0
3
-5
-3
2
0
0
-1
-6
0
0
1
-3
-7
0
0
-3
-4
-14
1
0
0
-7
1
3
0
8
0
-1
-2
-17
0
-6
33
-4
0
11
-50
6
0
0
-39
-7
25
1
0
-26
7
7
0
0
5
5
-10
4
0
20
-24
0
-13
0
20
2
32
-5
0
13
18
-13
0
0
1
26
7
-8
0
0
1
-35
1
0
10
0
-4
17
0
-9
11
18
-1
0
3
-34
8
-3
0
1
1
8
0
0
0
0
0
3
0
-2
9
19
1
0
7
11
-6
-1
0
-5
-2
0
1
0
-13
34
7
-2
0
0
-3
-8
0
0
0
14
-4
2
0
-3
-5
0
3
0
0
3
0
0
0
0
3
0
-1
0
-1
-6
2
2
0
-7
-15
-6
5
0
-7
0
-6
0
0
0
0
-14
-1
0
0
0
0
1
0
0
2
14
5
0
-2
5
33
-2
0
5
-18
-21
10
71
7
7
3
5
0
-14
-13
1
0
0
43
10
-5
-11
0
24
0
15
-3
0
-23
18
5
-3
0
0
-1
5
0
0
4
0
0
0
0
1
1
0
0
0
-3
-8
5
1
0
3
-18
-1
0
0
-29
14
-5
-1
0
0
-1
3
0
0
-5
15
-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
-15
2
0
-1
2
-2
0
0
0
-3
4
0
0
-6
1
18
1
0
-1
-2
6
1
0
-1
0
-3
-4
0
0
-13
-3
0
-7
-15
1
21
-3
0
-3
5
19
8
0
29
-11
-17
1
0
8
17
-8
0
0
7
8
-14
2
0
-11
0
-3
0
0
-2
-1
4
0
0
0
2
-2
0
0
10
11
0
0
0
-6
-14
0
0
0
-7
10
-10
0
0
2
3
-4
1
0
-13
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
-10
-1
0
3
0
0
0
0
-9
-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
-9
18
0
0
31
-6
2
0
0
-1
-2
-20
0
0
-14
-8
6
0
0
0
3
0
-1
0
-1
1
0
-1
0
-5
0
-6
-4
-21
-6
-18
7
10
0
-2
3
13
-1
0
5
17
-7
1
0
6
-6
-6
-1
0
0
-13
5
6
0
-1
0
0
0
0
0
2
-4
-2
0
0
-1
0
0
0
5
-1
-10
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
-10
0
11
0
0
0
9
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
-9
7
-9
0
-3
0
30
32
-33
1
0
-10
5
3
-3
0
14
5
25
6
0
16
-1
18
-1
0
-5
4
2
2
0
8
0
-15
0
0
-4
-2
1
0
0
-30
0
5
-1
0
2
5
3
1
0
-3
-1
6
0
0
0
7
-7
0
0
7
-1
6
-3
0
0
-10
1
-1
0
2
-3
-5
0
0
-1
-2
4
0
0
-23
3
-8
-1
0
15
2
6
-6
0
0
-3
8
0
0
0
6
-4
0
0
21
-3
2
0
0
-1
-1
4
1
0
0
0
-10
0
0
0
0
-1
0
0
-1
0
-3
0
0
3
-5
5
1
0
6
2
-14
1
0
-2
1
7
0
0
-3
0
-2
-1
0
2
0
-4
-2
0
3
1
3
0
0
-6
-6
-7
1
31
-7
4
-5
4
0
-14
39
-1
-6
0
-15
43
-17
-5
0
23
-41
-15
0
0
21
-18
5
-4
0
0
4
-3
2
0
-14
4
-27
7
0
-3
-2
0
0
0
24
9
11
7
0
1
0
-9
1
0
14
-8
4
5
0
-1
9
8
0
0
-5
-31
17
-3
0
0
1
0
-1
0
2
1
14
-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
9
-4
0
0
0
0
0
0
0
0
1
-5
-1
1
0
-1
0
0
0
0
0
-2
13
0
0
0
0
-3
0
0
0
-1
3
3
0
-8
5
-16
1
0
1
4
19
5
0
1
1
-4
-3
40
20
18
-16
2
0
-29
-11
-8
3
0
5
-17
-2
-1
0
7
0
2
1
0
24
6
21
5
0
-5
-4
15
-2
0
-4
-10
-7
-1
0
0
3
-5
0
0
26
-5
0
0
0
15
14
0
3
0
1
-4
0
-6
0
0
-9
-9
0
0
-15
0
5
-3
0
0
9
-6
0
0
0
4
15
0
0
-1
-4
4
0
0
-1
1
-17
0
0
-9
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
9
-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
4
6
0
-14
1
0
26
-11
20
3
0
-5
39
14
4
0
43
-31
6
-1
0
2
-8
-13
1
0
1
-1
8
-2
0
0
10
-2
1
0
0
1
-25
0
0
0
-4
36
-5
0
7
10
-3
0
0
14
29
-26
-7
0
3
-7
6
1
0
-35
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
-22
-5
-4
-2
0
0
-2
5
0
0
2
1
-10
3
0
3
2
-1
-1
0
0
1
-14
0
0
-1
0
0
0
0
-3
9
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
13
0
0
1
1
-8
3
0
3
-2
-11
-1
4
-23
-11
-14
9
0
43
-36
14
-9
0
26
29
14
16
0
9
29
-8
2
0
-23
0
-11
7
0
-9
-2
0
0
0
-1
-8
2
5
0
8
-1
2
0
0
-3
4
-3
0
0
1
7
23
1
0
-14
-11
-5
-3
0
-2
-1
-26
-3
0
-45
8
-7
-2
0
0
5
0
-1
0
0
-7
-4
-1
0
-4
-8
25
2
0
6
9
-4
-5
0
7
9
-16
0
0
-32
3
-2
0
0
1
-2
0
0
0
-2
1
0
-1
0
0
-10
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
-11
5
-7
0
-8
2
5
-7
0
4
1
-7
0
-9
30
0
-5
-11
0
-7
-23
6
0
0
32
-1
5
-19
0
-1
-2
2
1
0
6
-17
-1
-7
0
-9
-5
2
0
0
1
1
1
0
0
-2
0
-1
0
0
-11
0
-6
0
0
13
-3
-25
2
0
1
1
-1
0
0
1
0
0
0
0
0
2
11
0
0
0
0
-2
0
0
0
0
4
0
0
0
0
-1
2
0
1
5
8
-1
0
-11
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
20
-4
0
2
0
0
7
-13
7
-8
0
-14
25
24
-4
0
-7
9
-11
-1
0
9
4
-2
0
0
0
-3
1
1
0
2
0
1
0
0
1
-3
0
0
0
9
4
0
0
0
20
24
-9
3
0
13
-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
-10
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
-43
0
6
-5
0
0
22
33
-8
17
0
-1
-5
-2
3
0
4
-9
-10
-3
0
21
-13
10
2
0
4
-14
0
0
0
-10
0
4
3
0
0
0
-17
1
0
-29
0
-1
0
0
7
-13
1
-1
0
-6
18
-6
-3
0
0
-1
2
0
0
9
-1
5
-1
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
2
0
0
-10
17
15
-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
43
7
-1
0
-1
0
-5
-1
0
0
1
0
1
0
0
-1
2
-2
0
0
10
2
0
0
0
-1
-3
-1
0
0
0
-7
1
8
-4
-13
-8
-3
0
47
36
-13
4
0
16
14
39
-6
0
39
-33
23
-18
0
10
-9
20
4
0
-5
-3
7
0
0
2
0
14
0
0
0
-1
4
0
0
-5
1
-17
5
0
0
-29
2
-7
0
-14
4
2
2
0
1
5
-17
-1
0
-8
-25
1
2
0
1
3
-4
-1
0
-3
-3
-8
2
0
0
2
-1
0
0
-4
-14
-1
-7
0
0
-5
5
4
0
6
-2
17
1
0
-5
-14
11
0
0
-5
-3
-22
4
0
-1
-5
9
5
0
2
0
5
1
0
0
2
0
0
0
-19
1
-17
0
0
0
-2
1
3
0
-9
4
10
-1
0
0
-15
20
-1
0
0
-1
-2
0
0
0
-24
5
-3
0
1
0
-2
-3
0
-3
-4
-8
-1
8
-30
26
-23
0
0
-5
26
-8
1
0
14
-5
4
0
0
10
1
10
-1
0
-18
-11
13
-1
0
-7
-6
2
0
0
3
-1
1
-3
0
0
2
0
0
0
5
5
0
-2
0
-2
11
-1
0
0
3
6
-2
0
0
-1
-15
-6
0
0
-2
-7
13
3
0
-7
15
1
1
0
0
9
-5
1
0
7
5
-6
0
0
-18
17
3
14
0
48
-47
-17
5
0
3
35
-9
-32
0
10
-23
-51
10
0
1
8
-18
-1
0
-7
-8
-24
25
0
-8
-53
-1
-4
0
9
11
46
-29
0
21
53
11
-5
0
-2
-23
19
-39
0
-18
5
-17
-18
0
-15
-4
-25
-26
0
-9
-25
2
1
0
24
10
-4
44
0
-1
-16
27
23
0
1
-13
19
27
5
32
36
-18
1
0
-5
-9
2
0
0
-21
8
7
0
0
-11
3
0
0
0
-14
-5
-4
4
0
-2
1
-1
-2
0
-7
1
0
0
0
0
2
0
0
0
-21
-8
1
-1
0
19
-1
3
-1
0
29
2
-2
1
0
0
-2
-7
-1
0
0
9
-10
1
0
0
-2
11
-1
0
2
7
-4
0
0
-1
0
18
0
0
-1
5
24
10
0
-1
-4
-26
-24
0
3
-47
-19
-31
0
-8
36
-45
18
0
-14
14
0
16
0
-8
-32
-27
7
0
-10
6
-4
-6
0
-2
11
37
14
0
13
3
0
-6
0
-13
18
5
-8
0
-2
-9
14
10
0
-3
1
27
2
0
0
3
10
1
0
0
3
-35
2
0
0
5
27
0
0
8
-13
33
-7
12
10
-7
-20
7
0
5
14
-18
0
0
3
4
10
-3
0
2
7
2
0
0
-16
10
-5
0
0
-11
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
6
3
11
0
0
3
-2
-8
0
0
0
-1
5
0
0
1
-4
0
0
0
-33
-6
-9
4
0
-35
-13
2
11
0
45
-43
-1
-23
0
47
9
22
16
0
-31
13
10
-3
0
7
-8
-1
-20
0
4
1
-22
-2
0
-13
-11
23
5
0
-8
0
-4
-21
0
2
-3
4
-4
0
-6
14
-14
2
0
0
-3
-25
-2
0
9
0
-5
-4
0
0
8
10
-18
0
0
17
2
4
0
-2
-3
8
27
-35
-4
6
17
5
0
24
-3
0
3
0
-5
-14
-13
1
0
2
2
6
0
0
-14
10
0
-1
0
-1
14
-1
0
0
-3
0
0
0
0
0
-3
0
0
0
16
-11
0
0
0
-4
2
1
1
0
-17
-2
0
-1
0
0
0
-4
0
0
-6
0
3
0
0
0
0
0
0
0
0
-2
-1
0
0
9
4
0
0
0
45
8
5
0
0
-33
-50
17
-7
0
42
-48
-33
10
0
11
8
30
3
0
-4
41
-16
9
0
10
-4
-33
8
0
6
-11
14
4
0
5
-5
-14
-8
0
18
14
-2
-6
0
20
6
-25
-3
0
-23
9
8
-3
0
0
2
10
0
0
5
-8
7
-2
0
-8
-18
-13
14
0
0
-3
18
-1
0
1
14
-43
-21
-24
-9
13
-22
-20
0
2
23
6
6
0
26
-5
1
5
0
-13
-5
-1
-1
0
-8
3
-24
4
0
-3
-2
0
0
0
4
-1
-3
-3
0
0
0
-2
0
0
8
0
-14
0
0
9
-5
4
-1
0
-6
0
-2
2
0
2
9
-1
0
0
8
-15
-6
-6
0
1
1
-1
0
0
0
-1
0
0
0
-4
0
0
0
0
1
-7
-19
-3
0
1
-44
-8
13
0
45
-1
-5
-26
0
33
16
-9
-26
0
-42
-20
-14
33
0
-2
9
-7
-4
0
-24
-7
-1
1
0
1
5
1
0
0
-11
-21
-3
21
0
24
13
13
7
0
6
-10
15
2
0
4
2
-2
0
0
-25
22
13
-11
0
-3
-17
-7
0
0
0
-1
13
2
0
-25
-7
7
5
33
3
-15
14
-6
0
-7
44
-7
4
0
5
5
-6
-7
0
-5
-13
1
2
0
24
17
0
-2
0
-1
0
0
1
0
-8
2
0
0
0
-2
-1
0
0
0
-17
13
0
0
0
1
-1
-4
7
0
-1
1
2
0
0
0
-4
0
0
0
7
0
-7
1
0
1
0
-3
0
0
-1
0
-4
0
0
0
-9
2
0
0
-2
14
-5
-2
0
28
-30
51
14
0
8
21
3
19
0
14
-13
-14
-14
0
5
-55
-20
-26
0
-33
16
-6
-26
0
-13
-14
-3
2
0
10
25
-5
-4
0
2
-19
2
4
0
-29
-4
17
2
0
13
-14
-14
-6
0
3
6
-27
-1
0
20
7
-7
0
0
-3
-11
8
-16
0
-1
11
2
1
0
0
-23
-2
-5
18
13
-37
3
-4
0
6
10
14
-3
0
-5
4
11
3
0
1
-4
0
0
0
-13
-14
-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
-1
11
-3
0
0
0
-17
0
0
0
8
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
-8
0
-1
0
-11
90
1
-13
0
4
-2
25
13
0
43
-9
-9
-6
0
-35
47
6
3
0
21
-6
-24
-1
0
11
-13
-1
-18
0
14
-11
-13
2
0
-9
0
2
-1
0
-2
8
-11
24
0
11
7
-3
-1
0
-21
-1
11
1
0
15
-6
3
-1
0
0
5
-5
-25
0
0
-5
-5
0
0
-10
5
-17
4
-42
-14
-2
-19
5
0
2
25
16
-9
0
-20
0
1
-5
0
10
-16
-2
-5
0
-34
3
1
-7
0
13
1
0
1
0
-15
-1
10
0
0
1
-2
2
-1
0
-23
-3
-3
-2
0
-17
43
-2
13
0
-31
4
8
6
0
-4
-13
-3
3
0
-9
5
-3
-5
0
3
4
-7
-1
0
9
-8
-2
0
0
0
-1
-3
-1
0
22
17
-15
2
0
56
64
-11
19
0
62
44
24
-1
0
-40
-54
19
-33
0
-75
-44
31
0
0
18
2
-2
6
0
4
1
8
-5
0
-1
-3
-6
-14
0
-20
-4
-47
6
0
32
4
34
-2
0
-1
-21
17
1
0
26
-8
-3
4
0
-25
9
-8
-8
0
3
-33
-43
10
0
-2
-1
5
-6
0
-2
-33
7
7
-6
17
-17
-14
-10
0
-1
15
9
1
0
-20
15
4
-3
0
14
-43
17
3
0
15
-10
11
11
0
14
7
2
-3
0
3
-6
-3
1
0
13
1
0
1
0
-2
2
-15
4
0
-8
6
-14
-4
0
16
0
4
-1
0
3
8
-4
0
0
-4
-4
10
2
0
1
-15
0
3
0
-4
1
9
0
0
0
0
-1
2
0
6
-8
9
2
0
78
11
-66
-13
0
-14
-2
10
18
0
3
-14
7
-8
0
26
-18
-19
-16
0
23
-4
22
-2
0
13
43
-3
-5
0
-24
0
33
-1
0
-5
1
-1
-7
0
-51
30
26
23
0
8
71
-16
-1
0
24
-20
15
-31
0
-45
2
5
31
0
-18
30
-39
5
0
-18
-8
20
15
0
17
5
58
47
29
23
88
68
-12
0
8
-3
-13
5
0
-14
-3
0
13
0
-4
6
-2
1
0
32
1
0
1
0
4
-9
3
0
0
-21
24
0
0
0
-6
6
0
0
0
54
-6
4
0
0
-7
21
0
-4
0
-13
-14
-2
-4
0
1
-5
3
0
0
3
7
-1
0
0
-4
-11
0
0
0
1
5
-4
0
0
0
-2
-26
0
0
-2
17
7
0
0
22
21
-6
-1
0
-10
-14
18
7
0
61
-18
8
-9
0
-6
-5
-2
1
0
8
8
-2
0
0
18
-8
-25
-2
0
0
-1
-4
0
0
-14
-10
21
0
0
-44
3
16
17
0
41
24
6
-11
0
-17
0
-3
-14
0
7
94
-21
-6
0
3
-16
43
10
0
-2
-3
-27
1
0
0
1
-5
-19
-44
0
8
54
-15
0
-5
20
13
-4
0
17
-18
-14
5
0
4
6
10
5
0
-2
7
11
-13
0
5
0
8
0
0
-8
-6
15
0
0
2
0
4
0
0
-43
7
0
0
0
3
-1
14
0
0
23
-23
-1
-1
0
1
3
9
0
0
14
-2
2
1
0
2
1
2
0
0
0
0
-10
1
0
3
0
-1
-1
0
-29
3
-5
-9
0
4
-15
-3
-2
0
-1
-23
44
-13
0
-33
2
3
10
0
69
-23
14
5
0
19
24
-15
6
0
-16
5
-21
7
0
13
-19
7
-17
0
5
5
-6
11
0
-19
73
4
32
0
60
-31
-5
26
0
-20
14
38
-27
0
13
-42
-2
-34
0
-10
-7
11
-3
0
-7
3
35
-5
0
35
31
18
-36
-5
-50
-23
15
-9
0
-44
11
16
11
0
30
-2
-23
-5
0
-39
5
-7
10
0
18
-3
-9
3
0
13
-9
0
-1
0
9
-9
17
-6
0
36
-1
5
0
0
-50
13
1
2
0
0
-10
-26
2
0
-22
-6
-7
1
0
2
18
-1
5
0
-56
0
3
0
0
1
-3
4
0
0
1
0
-10
0
0
0
-2
-5
-1
0
14
-6
7
0
0
10
-71
-7
-26
0
22
15
23
22
0
-8
-29
3
-4
0
47
-11
4
-11
0
22
-14
-21
-9
0
2
-8
-2
-4
0
0
-1
-18
-3
0
-8
23
15
-5
0
-3
-39
20
41
0
-52
80
-63
7
0
45
8
-48
-24
0
8
-117
47
-4
0
73
44
-18
30
0
5
31
32
-19
0
-33
18
-69
-13
-30
-46
-38
18
9
0
15
43
5
-14
0
24
26
3
13
0
-45
5
9
2
0
12
-10
6
-2
0
4
6
0
1
0
18
0
-24
2
0
-4
-4
11
-1
0
-22
6
-2
-4
0
-16
-21
4
2
0
15
-10
-9
2
0
0
-5
0
3
0
-30
1
0
23
0
0
10
-1
0
0
1
0
4
8
0
1
1
0
-9
0
5
-20
4
-4
0
12
-1
54
-5
0
4
-14
-5
-9
0
-17
21
2
-2
0
23
10
-10
-4
0
-26
3
-19
1
0
0
-29
9
-11
0
0
5
2
-1
0
14
-5
-1
-3
0
26
5
22
-10
0
-14
-15
-9
-6
0
-3
-53
5
30
0
-5
-18
50
-4
0
-14
-13
-3
2
0
0
-10
-21
11
0
3
0
-19
-19
-18
-19
-28
-5
16
0
-26
-5
3
24
0
11
0
6
1
0
-14
3
-6
5
0
-37
29
0
-18
0
-4
13
1
1
0
14
-1
24
-1
0
-8
0
0
0
0
-13
0
11
0
0
-8
32
1
10
0
26
-9
-41
0
0
-3
-29
0
-1
0
-14
8
-1
-5
0
0
4
2
-1
0
2
-2
-1
1
0
0
0
-1
0
0
-9
-1
-2
5
0
-5
53
-7
30
0
-23
-51
33
-6
0
22
-14
15
-4
0
47
-25
-8
6
0
-7
10
7
4
0
-2
-10
-25
0
0
-2
10
-13
3
0
-8
1
-10
0
0
28
3
3
-2
0
17
17
53
-15
0
-52
-11
-5
3
0
-8
35
6
-21
0
-2
-17
25
11
0
-1
1
-10
-1
0
8
-24
-14
13
2
-1
-8
-23
-16
0
8
11
19
-2
0
11
-4
10
-7
0
25
20
-1
0
0
46
23
-10
-2
0
25
0
17
0
0
-18
-23
11
-1
0
-15
0
1
0
0
15
0
-15
-8
0
15
21
-7
-6
0
-6
-5
-4
9
0
2
4
-5
1
0
-3
13
1
7
0
0
6
8
2
0
2
0
-27
-1
0
2
2
-1
0
0
-21
-19
-3
0
0
-2
22
24
-11
0
-46
9
-4
11
0
-24
-11
-9
5
0
-85
-21
-5
25
0
36
1
11
8
0
4
-1
-17
1
0
4
-33
10
13
0
13
-2
-14
-10
0
86
-58
47
-5
0
11
-17
15
-7
0
0
44
-37
-11
0
-35
14
-52
19
0
16
11
-13
-32
0
1
1
-45
-2
0
-14
4
-15
-2
48
-20
-47
5
0
0
-1
47
27
9
0
-28
13
7
48
0
-17
41
-5
-13
0
2
11
-31
13
0
27
-33
21
-2
0
-29
-23
10
2
0
-19
-5
-11
-3
0
-14
-1
0
-6
0
-51
4
-4
-5
0
10
17
-13
17
0
5
-15
11
-1
0
3
-1
-27
-3
0
-4
2
10
-1
0
0
-8
-5
-1
0
0
0
-14
5
0
39
-2
2
-8
0
-15
-19
57
2
0
-32
19
37
21
0
-63
5
-40
-21
0
-24
3
-35
-6
0
-15
5
-4
2
0
11
14
-5
17
0
-16
10
-14
-7
0
-24
-6
-1
5
0
1
43
-25
-27
0
-50
-71
1
1
0
-49
-43
28
19
0
3
39
27
14
0
4
43
56
-4
0
43
-31
-4
-14
0
71
15
-88
-30
-18
39
-33
-4
23
38
-32
76
32
5
39
-2
43
41
-3
-14
-4
3
-6
17
-4
19
-6
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-9
-5
-5
0
3
4
-3
-14
0
-4
9
7
-2
2
-4
-6
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
6
14
9
1
-2
26
35
4
-1
6
-13
23
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
14
10
-4
0
1
5
-2
2
0
-4
-11
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
-5
23
-4
-20
4
47
-16
6
-23
20
-18
18
-43
22
3
-7
24
21
39
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
4
-29
-15
0
4
-15
-6
-6
1
-2
-8
8
5
1
-18
-19
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
26
15
0
21
-23
9
-2
-1
1
4
8
-13
-1
1
-20
-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
9
-3
3
0
9
-5
14
-5
0
0
0
1
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
25
53
10
-24
4
-14
6
-3
-10
-5
5
5
45
2
9
38
-36
6
20
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
10
-2
7
0
10
-5
-11
0
-5
-7
-2
0
-1
-5
-3
-15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-15
-2
17
19
0
-11
-18
0
-3
0
-3
-18
-20
-3
1
1
-5
2
-13
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
-47
10
-2
4
-7
1
46
-14
46
17
-26
9
30
45
-15
61
-25
29
9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-13
-7
3
0
-4
1
9
5
-7
1
-5
3
25
-1
0
4
16
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-17
3
0
1
-3
2
-1
6
3
23
-20
4
1
-17
-6
6
-17
-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
9
7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
11
-5
26
-5
-7
0
0
-1
18
-8
-2
8
-17
-3
-4
33
-9
22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-24
0
5
9
4
18
-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
11
-7
0
0
5
-1
-14
0
0
-13
-9
-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
-17
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
-14
-3
37
-9
-10
-1
43
-20
-13
10
34
8
3
7
6
0
-2
-10
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
-33
-1
-4
15
4
5
-5
1
-1
-25
-5
-1
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
-1
3
0
0
0
-1
-8
-10
-2
9
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
19
14
7
-1
0
-9
0
5
1
0
-1
-1
-2
0
0
-9
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
30
-8
2
-13
3
5
4
0
-10
-5
-4
23
-33
11
-34
7
1
24
-15
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
-10
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
-10
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
-56
8
9
35
5
4
-27
3
-19
-7
15
14
19
6
18
-29
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-11
5
-14
10
-8
18
14
5
-10
13
10
-11
-10
7
10
6
-23
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
-26
6
-1
0
-6
0
-1
0
-3
7
-1
8
0
3
-9
8
-22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-10
5
0
0
5
2
-1
1
0
-10
7
3
-4
0
-2
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
38
10
-2
25
3
-10
6
14
3
-5
16
-33
24
0
-22
-5
21
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-13
6
-5
5
49
3
13
-11
6
2
-3
14
36
-3
-14
10
-4
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
14
-14
25
-62
-5
22
1
-4
3
-18
1
9
0
2
-17
-1
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
48
3
0
26
-15
14
-3
-5
5
1
-14
24
-4
2
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
-3
-5
-25
19
-14
23
30
13
-25
-6
14
7
0
23
-6
19
17
13
49
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
17
19
27
-1
-14
-25
4
-5
-2
-1
-3
0
-32
-1
-11
-1
1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-14
-33
26
-4
31
-14
-4
6
3
-3
-15
-10
-17
0
13
5
9
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
4
0
-4
18
-11
-17
2
2
0
3
-1
-1
4
-1
14
-11
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
18
22
14
-8
-20
-4
7
2
-7
30
-11
-5
-24
1
19
-37
-1
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
8
0
4
23
3
-1
-2
0
5
-13
-9
17
-8
4
5
-19
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
25
29
-13
0
-12
-1
0
-20
3
4
-15
-21
-1
7
-14
-32
-8
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-10
-17
-18
5
-20
-3
29
1
0
20
-5
-4
1
-8
6
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-18
-16
1
7
8
-22
-25
-18
7
-21
-14
31
-25
6
16
27
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
11
3
1
-17
-5
41
-6
-3
0
7
-20
15
-10
14
-23
14
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
4
-13
0
-5
2
-5
-16
-24
2
49
16
15
2
-20
30
5
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
11
-4
-1
4
-30
2
11
0
-3
13
-19
6
-1
1
6
23
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
3
11
19
5
-30
-3
-10
16
-6
-2
-20
-17
-9
-7
16
-51
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
19
-2
5
-4
-17
6
-8
0
15
0
7
32
-34
-5
25
-8
6
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
27
17
10
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
19
19
5
18
-8
33
-1
24
20
1
-1
-3
-8
-17
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
44
38
-4
15
-1
-29
10
19
-33
-3
-17
-23
-7
-15
-2
14
14
-1
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
11
-11
1
8
16
-6
35
3
4
-25
1
-11
0
2
18
-7
5
-8
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
18
-2
-13
-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
-14
-5
11
8
14
-18
37
6
-2
-14
-2
2
1
0
-2
-2
-21
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
-4
1
4
33
-13
0
4
2
10
14
0
-17
7
2
-33
33
-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
7
-1
4
0
0
-6
-1
-3
11
2
-25
15
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-19
6
-2
-2
-18
-5
-8
-13
-6
3
-25
-20
3
0
-44
60
2
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
23
-2
-5
10
-6
8
27
-7
7
2
-7
-27
-15
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
59
-2
-53
20
0
20
-41
12
21
-14
-8
-41
37
-7
-10
-65
-21
-15
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
31
14
0
3
-6
14
24
0
-10
-9
-7
9
-3
-9
19
11
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
-18
-15
-1
-28
14
13
-5
-21
-1
-21
-6
-6
7
17
22
-19
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
-1
-30
11
-16
-7
6
2
10
-1
20
-3
3
-9
-7
-47
-26
29
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
16
11
19
13
5
24
4
-1
2
-5
-10
5
-7
0
1
10
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
8
2
0
5
-15
13
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
71
13
33
-12
51
-8
23
-24
25
6
-81
10
-53
13
-25
18
13
42
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-34
30
23
2
-7
30
-14
-9
3
0
26
10
-6
1
0
7
17
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-31
6
-15
9
-5
31
-3
1
0
0
19
-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
-15
-2
-11
6
5
-50
30
11
25
-3
2
-1
-4
6
6
-1
-15
-10
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
5
-71
22
5
60
104
48
6
-22
-13
-28
-18
-11
0
-18
-48
-37
25
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-24
-24
-46
17
-16
14
-5
0
0
5
5
-1
0
0
-13
-1
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
4
-19
-3
8
-14
3
-1
-2
-10
-13
2
-25
-3
-1
34
-11
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
20
7
5
-16
-1
-6
-3
-4
0
0
9
5
-14
0
2
-15
-6
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
23
45
51
12
-36
-1
-23
2
-23
17
-14
33
-47
15
7
0
-56
-10
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
31
-5
-4
3
-9
-47
2
-11
0
15
-4
-5
9
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
17
-2
15
9
0
11
-5
18
8
-1
24
43
6
-1
1
-25
-43
16
-31
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-31
-1
-5
0
4
-6
-15
-4
4
2
14
1
17
3
-15
-7
14
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
30
14
-14
-1
-43
6
-31
3
11
-8
-23
23
37
15
53
48
-33
-21
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-13
14
-5
-1
-11
6
7
9
4
-2
-3
0
0
-8
24
5
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-6
-3
-13
-2
7
-5
0
-6
0
-2
2
-24
6
-8
3
-19
-11
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
5
18
0
20
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
29
-64
45
-54
6
5
37
3
-5
4
-75
-43
3
-6
3
-55
2
5
21
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
3
5
-35
35
28
65
-46
-18
7
-15
20
-14
-33
1
3
-17
20
6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
4
-8
6
2
-2
24
17
-6
-10
-5
29
9
1
-1
1
26
-13
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
-5
-3
-1
-13
-2
-1
15
2
-7
5
1
0
-1
3
-5
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
14
-17
29
24
-26
48
23
-10
5
13
-77
0
-6
-7
5
-61
-10
-7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-5
16
-5
18
-23
25
-7
8
-11
13
-15
30
4
-13
7
-14
-14
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
10
-10
-2
7
15
-4
-3
-2
-1
0
10
10
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
25
-4
5
9
-41
-49
11
-3
43
20
-29
3
-27
-3
35
27
-28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-26
-44
21
11
-41
-7
-1
5
4
-17
-11
-13
7
-5
5
-3
-5
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-4
-1
3
0
10
7
-3
-1
1
-3
16
-2
8
10
0
-20
16
19
-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
-11
-2
-1
1
-11
-10
1
0
-9
5
11
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
15
-15
-29
22
-29
14
-15
17
-22
-21
-4
3
-2
-15
35
-46
-25
-38
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
-25
-6
21
-10
-61
5
13
-2
-15
-42
-33
-11
20
37
-3
3
18
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
-3
5
-5
15
13
9
20
4
-8
-5
-3
-17
-1
-2
8
1
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
17
28
10
18
14
3
4
6
18
2
-7
-4
-3
-25
7
-26
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
-60
57
27
-43
-36
29
5
14
2
33
-3
-17
-5
9
4
-25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
12
-16
4
-19
77
-31
20
81
6
10
52
33
4
15
-53
23
3
19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-6
9
14
4
5
33
-17
-29
-5
10
-3
6
-11
-3
1
27
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
37
-5
-24
-20
-15
-9
-37
-14
0
-4
-1
11
4
-5
5
7
-14
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
30
17
-2
-1
-8
-62
34
31
1
33
46
-13
-14
9
-49
0
4
-9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
32
-23
-22
77
-1
-9
1
-15
50
-47
37
-21
25
21
13
39
-19
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
6
3
0
12
0
6
7
4
10
-23
-37
2
0
14
0
5
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-44
-11
14
0
-1
5
19
10
-15
-1
-3
21
-20
14
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
2
-55
22
16
6
23
12
-19
2
1
6
9
29
-13
-3
-37
-47
41
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
15
10
35
-33
-10
40
4
-33
20
37
51
-19
-24
-2
-32
33
-12
-9
49
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
-14
13
8
-2
3
8
6
-15
-3
0
26
-21
7
-26
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-26
0
-21
5
-10
-24
-22
-8
-10
0
-3
-24
-15
0
-7
-2
-6
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
11
-14
0
-36
1
24
-4
-14
17
-59
-23
21
6
41
-21
6
12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
44
16
-46
71
3
20
28
-35
-21
-51
-25
-15
59
11
-34
-16
-16
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
9
-4
32
15
-14
-2
-3
15
6
9
-3
8
-46
-10
0
-43
-24
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
5
-33
21
23
-5
5
-11
9
-6
4
-43
7
4
-1
2
10
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
30
-44
14
-34
51
-9
9
-31
-8
-80
70
1
-14
0
-5
-7
-8
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-22
-11
86
-23
-26
14
5
-3
8
13
20
61
-47
-5
1
-43
-11
22
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-15
3
19
0
8
-1
32
-1
3
-14
-55
1
5
-5
-34
-11
-14
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
26
-9
-2
-14
-16
-53
24
14
-5
-1
-23
5
-1
0
-22
0
7
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-40
-3
4
7
46
32
7
-26
0
-11
5
22
-2
-33
-2
3
-13
-22
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
24
22
8
6
12
5
-17
-1
2
-11
16
-6
16
16
2
26
-8
-26
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
14
14
11
-3
-14
13
-35
-9
5
-14
-68
34
-36
2
-53
8
-19
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
8
-6
-6
2
9
-7
-1
-6
-8
22
-1
2
-5
0
-18
10
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
-21
16
10
-60
10
2
1
34
-50
27
-7
44
-21
-34
4
15
-14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-18
-39
52
-33
-7
-34
-5
13
-45
-62
-49
35
-14
-32
-54
-71
56
2
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-47
21
-5
1
-96
-3
-43
30
1
-32
-5
-14
27
-4
-15
6
-14
37
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-1
-41
21
5
-23
6
-12
-10
11
8
5
1
-35
0
-8
-50
-5
32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
7
-36
-67
1
70
3
33
-15
-23
-44
13
-22
14
-12
2
-11
-9
29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-5
76
-33
27
-39
8
-77
5
-30
-29
-23
-10
-5
22
-7
0
-34
-21
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
6
55
35
-11
14
-6
5
6
6
-14
23
-36
-1
17
-18
40
-17
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
-14
-5
21
5
8
-5
0
0
3
17
-4
-1
2
17
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
25
0
-2
26
10
10
0
2
-14
-11
-2
0
0
-8
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-6
10
1
-1
20
-13
1
-3
0
-9
2
-9
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
16
8
9
-21
5
23
49
24
4
27
-23
33
-18
34
-11
7
-25
25
36
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
-1
5
4
1
17
4
-18
-7
0
1
2
3
6
0
-9
-5
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
0
5
-3
23
-2
-9
-3
5
0
3
-5
-8
0
1
-26
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
1
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
-7
-5
4
-1
-33
24
14
-2
6
5
11
-16
-6
3
49
-6
7
14
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-14
-14
-9
-2
-4
5
-17
0
0
-3
4
-30
5
1
6
-14
-19
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
2
-19
-15
0
5
-4
-6
3
0
8
-17
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
6
33
0
7
0
1
6
-7
3
0
-8
-21
16
4
0
-9
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-26
33
-15
-13
29
17
-10
3
20
-6
-26
34
22
2
-8
25
-10
69
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
6
11
-15
-2
1
-31
1
-3
3
-1
5
-18
10
1
-3
7
4
18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-9
-2
-3
2
-9
-19
0
-4
0
9
-2
6
0
5
-18
-35
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-5
-1
0
8
-6
-7
-2
0
-1
-5
-2
0
1
7
-3
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-24
11
-14
3
-15
18
27
-6
-2
3
25
29
6
-21
29
13
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
-11
-14
4
-1
2
-4
8
0
0
3
0
13
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
-14
-8
-5
14
-20
-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
25
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
-5
7
-8
-13
3
27
-5
-30
8
-5
-45
3
13
3
-13
-18
35
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
5
3
0
6
33
-13
-4
-4
0
2
-13
6
0
-1
2
-8
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
14
3
-4
2
26
-16
-6
3
-6
0
1
-3
1
0
-3
1
-16
11
1
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
-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
-4
-1
-26
11
0
1
0
9
-5
-2
15
-17
18
13
-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
13
-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
24
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
21
32
0
-4
4
21
-17
-6
-1
-13
-4
40
1
4
-2
33
-62
16
-29
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-7
10
-2
-16
-13
0
2
0
0
-21
13
5
-1
10
-20
26
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
17
24
1
-1
-13
-1
3
6
-7
-2
11
-16
24
0
-7
-2
10
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-7
-16
-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
20
5
48
25
-5
21
22
-8
5
-8
-6
-7
10
-8
1
-1
11
-43
3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
22
33
-7
18
7
5
35
-21
3
0
5
-15
3
2
-2
-5
2
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-10
-2
4
-2
1
5
0
0
0
1
-3
0
-1
0
-7
-1
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-1
-5
0
0
-2
-3
31
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
-15
20
-5
14
1
-1
-51
-8
-23
0
14
15
-9
6
0
6
59
-8
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-58
-9
33
3
19
-3
1
-19
-7
7
-7
-11
-11
-1
0
-16
14
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
21
-13
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
17
-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
-13
20
4
15
15
-10
45
9
3
-9
13
-12
8
-66
-3
16
-22
-2
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-16
34
2
-10
18
0
19
6
-2
-1
-8
5
-1
11
-5
3
-3
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-36
13
6
1
-1
24
-18
7
3
-1
3
-15
4
0
2
14
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
14
8
-3
-3
1
-18
-21
3
0
6
11
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
66
-7
-7
-9
3
-28
-16
-5
4
-2
4
19
-1
-15
-7
-14
39
-12
-24
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-21
14
-9
0
-17
0
16
0
-6
-1
-17
1
20
-15
-6
-6
14
-2
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
5
-11
3
-2
-10
0
-5
0
-3
0
1
43
8
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
13
-1
0
0
-21
0
16
-3
1
0
-6
4
1
0
41
-5
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-36
4
7
-3
-9
9
-13
5
-19
7
21
-10
-3
2
-36
1
3
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
4
-4
5
27
3
6
-8
-8
0
-2
-1
-1
-4
-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
11
29
-1
-7
1
-23
-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
11
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
-20
-2
2
7
-4
1
7
5
-6
0
-9
10
8
-8
-1
-14
2
19
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-7
18
-5
-7
6
15
7
50
8
0
17
-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
39
1
15
1
8
13
-21
2
-8
-13
-13
20
1
-5
8
-10
-8
3
23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-32
14
16
7
-33
0
5
-6
0
8
13
16
0
-4
-18
1
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-20
10
21
-14
-19
-15
10
-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
29
-11
-23
-5
0
0
2
1
1
-2
-9
14
-6
-1
0
3
-11
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
70
-2
-31
-7
2
13
0
15
5
42
-59
-22
17
11
-7
-9
-11
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-32
0
-1
-6
10
-9
-21
-5
-6
-9
5
7
27
2
10
22
-47
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-2
13
3
-7
0
18
-7
5
-1
-6
-29
8
-1
-2
5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
45
13
-3
1
-10
-4
-5
-1
1
-8
6
9
-4
1
18
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
25
-14
0
9
11
-15
-2
-1
0
7
26
-5
-3
-2
-15
-15
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
5
-3
-14
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
20
53
-15
8
-1
-33
12
-30
-44
16
4
26
69
-36
4
7
-43
6
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-9
16
14
3
43
0
9
-2
3
23
-14
-23
1
0
-8
18
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
4
4
-3
43
-7
7
5
-1
-3
-18
9
5
-2
20
4
-5
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
8
-1
-6
-5
10
-17
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
21
-21
-5
55
19
-17
33
-6
-8
-24
-10
48
-13
-51
-5
-7
-88
1
53
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
26
4
-7
1
-20
15
-2
-2
0
16
15
-19
0
-2
9
-25
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
16
-1
-2
-17
35
-2
5
-1
-19
-32
1
-14
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
15
6
-5
-9
1
6
0
-2
-4
-3
0
5
2
-10
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
-14
62
46
-52
-2
10
-34
10
-8
21
-6
-64
5
19
-14
-26
23
46
22
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-4
-44
1
14
0
5
-4
1
-11
-17
-15
7
-3
13
1
-7
-15
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
-13
-6
3
-14
26
-1
4
0
0
22
2
-1
0
-1
-6
-14
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
9
-5
-2
7
-13
-3
-3
-1
0
4
0
8
0
-2
-10
-9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
3
4
-21
-4
-18
19
2
-32
-8
2
10
20
-17
-6
32
5
-47
-21
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-24
-10
1
9
-6
-5
-10
1
-14
5
24
-5
-6
0
4
13
36
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
6
2
2
7
-11
-24
14
11
9
35
-5
-33
-11
-7
13
-20
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-2
1
-24
5
10
2
-10
-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
66
-50
0
-15
22
18
21
20
43
-44
-18
28
-62
-20
21
-30
22
-2
-3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-16
-6
-9
-4
0
-10
-13
5
5
0
3
3
-17
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
3
16
-19
-5
18
1
13
5
-3
-10
9
-2
1
-22
3
7
-16
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
-14
17
3
-26
8
-14
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
80
5
-16
-21
3
5
25
18
-7
-1
-48
57
5
10
-9
-15
-12
-34
-26
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-35
8
-9
-5
3
-29
-13
37
-9
0
-10
3
-13
-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
14
-1
-4
2
8
-1
0
22
-24
3
-3
-5
-18
9
-17
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
-4
37
-6
-10
-7
7
2
-3
-1
-1
1
-5
1
0
2
-15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-37
53
21
-1
-14
-41
3
19
-16
-26
17
-77
-43
8
44
73
36
-43
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-5
57
0
7
1
-16
-6
-1
-8
4
16
16
-13
-8
10
-9
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-16
3
45
-7
10
-31
2
24
2
-27
-48
-21
26
3
33
9
21
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
39
-22
1
9
-16
-29
-11
-6
1
2
-1
-14
-11
-17
5
-14
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-9
17
-30
10
8
5
18
-49
8
-64
-2
-3
43
-17
-4
31
-32
-53
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
-34
43
-11
6
10
-5
-33
-11
14
11
2
-19
15
-5
-47
26
21
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-7
14
5
-1
18
-3
16
-15
4
-18
26
-20
32
2
-19
9
-9
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
55
0
5
0
5
14
-5
-2
-1
-11
-10
-2
7
-1
16
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
2
36
35
17
-1
7
4
14
4
36
-9
8
-14
15
-2
19
-16
14
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
26
-50
9
34
35
5
5
21
-24
-35
39
3
33
-18
0
5
47
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-6
14
-11
-7
-32
9
29
-17
14
5
-4
-10
-24
1
-34
-4
1
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-4
-4
-2
49
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
-5
48
20
-18
11
-22
-14
-5
43
2
-19
4
-9
23
-10
-31
-1
16
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
46
-2
18
7
1
-64
54
79
-1
19
3
-4
-31
-5
10
2
17
-48
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-5
9
13
14
12
1
-10
-6
7
-14
-19
23
15
-7
33
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-17
-5
3
-3
-1
11
-7
-2
-1
8
-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
11
44
-92
83
4
31
-41
-6
-47
-16
-71
-24
72
0
-14
0
26
-45
18
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
24
-11
-15
-3
80
20
-43
-32
-60
24
-1
15
-31
-28
-79
18
48
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
8
-31
-6
13
-15
-33
15
-33
-15
-3
-17
6
7
3
-75
9
-10
5
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
23
13
13
1
-20
-11
2
-5
4
-14
-5
-8
2
0
2
1
9
18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
33
-67
-42
5
-53
91
30
-6
-4
15
-81
-12
11
-6
22
4
-8
-20
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-32
-10
17
23
-41
-21
0
26
-43
-36
-7
-10
27
-14
-14
1
-29
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
8
11
32
14
36
33
1
-25
-1
-9
-22
4
-7
-7
-22
-17
9
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-21
34
33
7
35
-16
4
3
0
-33
-9
-27
11
10
-33
4
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
32
8
24
13
15
5
-41
-1
-22
-11
-20
-7
-20
-5
-33
-2
15
-14
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
-57
-19
11
-15
-3
24
-44
4
5
-25
22
43
8
-5
-23
42
-24
11
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
13
20
3
1
42
-10
-25
11
-10
5
-20
50
-2
2
18
-21
-20
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
37
25
15
-9
-9
-5
35
30
-5
3
-5
1
-7
-3
7
5
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
66
24
-10
31
-57
-10
8
-5
-1
-2
-10
-15
9
-10
-34
-91
8
-25
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
40
11
25
7
68
-51
-10
21
-3
-4
17
-36
6
6
-19
-29
8
7
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
23
5
-1
16
18
7
22
-10
-17
-19
25
5
-13
0
-34
-54
13
23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
-31
-36
11
5
-10
-8
25
7
13
-7
-16
2
-6
-5
5
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
20
-24
25
9
-11
28
25
-15
3
32
-36
-15
-12
-8
12
-49
22
-14
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
-52
18
37
-6
35
5
45
-42
34
-8
4
-61
7
5
-23
11
-72
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-3
6
24
8
10
4
37
18
14
-20
7
7
-8
5
18
19
0
-69
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
14
-27
-15
0
-51
-22
14
-26
27
-9
-33
6
2
-1
26
-6
-6
-13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-56
26
68
5
31
32
3
-3
-15
8
-14
8
41
22
-24
-74
-25
-16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-4
23
10
-50
-29
-30
-52
4
13
-29
-11
13
10
1
-90
-15
28
-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
5
-3
16
1
0
0
0
0
1
16
-4
-10
0
0
0
0
0
0
-14
-14
13
0
0
0
0
0
0
5
51
-21
4
0
0
0
0
-8
13
33
16
-32
0
0
0
0
0
-9
29
-5
-24
0
0
0
0
0
-8
-8
31
11
0
0
0
0
-5
3
7
0
12
0
0
0
0
8
17
-13
53
-11
0
0
0
0
0
5
-2
-22
-14
0
0
0
0
3
-2
-27
-29
38
0
0
0
0
1
0
-18
-39
21
0
0
0
0
-3
11
15
-48
-4
0
0
0
0
0
0
7
0
54
0
0
0
0
-10
-1
-13
46
6
0
0
0
0
0
13
-1
32
-22
0
0
0
0
-14
2
-24
27
54
0
0
0
0
0
-2
1
-26
28
0
0
0
0
-4
0
-10
43
4
0
0
0
0
0
1
16
-2
35
0
0
0
0
10
-14
20
43
12
0
0
0
0
0
-1
6
-5
49
0
0
0
0
2
3
8
-17
18
0
0
0
0
0
-8
3
1
56
0
0
0
0
-1
-68
2
-15
45
0
0
0
0
0
-4
9
-4
6
0
0
0
0
6
-3
5
-8
6
0
0
0
0
1
0
-6
-26
54
0
0
0
0
1
10
-2
-40
3
0
0
0
0
-2
-1
2
34
13
0
0
0
0
1
8
26
-7
-37
0
0
0
0
9
33
-14
5
-11
0
0
0
0
0
1
0
-29
5
0
0
0
7
4
0
9
-1
2
0
0
0
0
0
0
7
-18
2
0
0
0
6
0
1
-7
16
-2
0
0
0
0
0
1
0
-51
21
0
0
0
1
-3
0
-16
3
4
0
0
0
0
0
0
0
-17
-2
0
0
0
1
0
0
14
-31
40
0
0
0
0
0
0
-2
9
25
0
0
0
-4
-4
0
-2
-24
60
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
-1
11
3
0
0
0
0
0
0
0
0
-12
0
0
0
-1
0
0
15
24
-34
0
0
0
0
0
0
0
7
-20
0
0
0
2
0
-6
-2
8
23
0
0
0
0
0
0
6
-1
9
0
0
0
46
0
0
13
-53
-9
0
0
0
0
0
0
0
19
-8
0
0
0
-2
0
0
-6
-17
-2
0
0
0
0
0
0
0
15
-41
0
0
0
6
0
0
0
-10
-6
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
-3
3
13
0
0
0
0
0
0
0
17
-29
0
0
0
13
0
0
-2
-14
23
0
0
0
0
0
0
0
-3
5
0
0
0
2
0
0
-2
-11
7
0
0
0
0
0
0
1
-14
-17
0
0
0
-5
1
1
0
4
25
0
0
0
0
0
0
0
-14
-39
0
0
0
-15
0
10
-1
10
-10
0
0
0
0
0
0
-17
-18
-28
0
0
0
0
0
0
1
-5
11
0
0
0
0
-2
-2
1
-26
13
0
0
0
0
0
0
1
25
-69
0
0
0
0
0
0
0
-32
25
0
0
0
0
0
0
-1
19
25
0
0
0
0
0
0
0
-5
-28
0
0
0
0
0
0
9
-9
-12
0
0
0
0
0
1
-6
-3
70
0
0
0
0
0
-3
0
5
21
0
0
0
0
0
0
-3
18
67
0
0
0
0
0
0
0
-25
15
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
-18
41
0
0
0
0
0
0
0
-10
18
0
0
0
0
0
0
-3
-4
-13
0
0
0
0
0
0
2
-5
-34
0
0
0
0
0
0
0
16
71
0
0
0
0
0
0
0
-7
43
0
0
0
0
0
0
-1
1
-20
0
0
0
0
0
0
0
-10
5
0
0
0
0
0
0
0
-1
34
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
20
-16
0
0
0
0
0
0
1
-8
1
0
0
0
0
0
0
0
17
10
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
-20
0
0
0
0
0
0
0
-24
-4
0
0
0
0
0
0
0
-11
1
0
0
0
0
0
-3
-4
5
23
0
0
0
0
0
0
-4
-44
-11
0
0
0
0
0
0
-2
-19
4
0
0
0
0
0
0
-1
4
4
0
0
-14
-4
0
0
-4
-23
-12
0
0
0
0
0
0
-1
3
-14
0
0
0
0
0
0
-7
-22
56
0
0
0
0
0
0
0
-15
25
0
0
-22
0
0
0
-10
-60
23
0
0
0
0
0
0
0
-2
26
0
0
0
0
0
0
-2
5
10
0
0
0
0
0
0
0
13
-25
0
0
-16
0
0
0
0
-17
5
0
0
0
0
0
0
0
1
53
0
0
0
1
0
0
0
-2
-53
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
4
-7
30
0
0
0
0
0
0
-1
0
54
0
0
0
0
0
0
-1
-11
7
0
0
0
0
0
0
0
-8
14
0
0
-22
0
0
0
0
-5
30
0
0
0
0
0
0
-1
-2
-19
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
-33
0
0
0
0
0
0
0
27
-18
0
0
0
0
0
0
0
10
8
0
0
9
1
0
0
1
-20
11
0
0
0
0
0
0
0
4
26
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
9
25
0
0
8
3
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
4
14
3
0
0
0
0
0
1
2
-7
22
0
0
0
0
0
0
1
0
33
0
0
0
0
0
0
0
6
-26
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
8
-2
0
0
0
0
9
-2
-2
6
-9
0
0
0
0
0
0
0
-32
-45
0
0
0
0
0
2
0
-20
26
0
0
0
0
0
2
-1
28
-22
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-11
0
0
36
0
0
0
0
0
1
-1
3
13
0
0
0
0
-11
4
-14
-1
-21
0
0
0
0
0
0
-1
4
18
0
0
0
0
0
0
2
-16
1
0
0
0
0
0
0
4
-1
8
0
0
0
0
0
1
1
0
-17
0
0
0
0
0
0
0
3
31
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
-24
0
0
0
0
0
0
0
2
-3
0
0
0
0
1
0
0
-2
-24
0
0
0
0
0
0
0
-2
-20
0
0
0
0
1
1
0
-1
24
0
0
0
0
0
0
-1
1
-22
0
0
0
0
1
0
0
2
-18
0
0
0
0
-2
-2
-8
-10
14
0
0
0
0
0
0
0
-5
-18
0
0
0
-19
0
0
0
-9
19
0
0
0
0
0
0
0
-15
54
0
0
0
0
0
0
1
14
-21
0
0
0
0
0
0
0
2
-13
0
0
0
2
0
0
0
-4
-9
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
8
9
0
0
0
0
0
0
0
-1
-2
0
0
0
-8
0
0
0
-48
66
0
0
0
0
0
0
0
-15
25
0
0
0
0
0
0
-1
14
2
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
0
0
-2
17
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
18
-10
0
0
0
0
0
0
0
-4
34
0
0
0
3
0
0
0
0
16
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-1
10
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
26
0
0
0
1
0
0
0
-8
-17
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
3
-17
0
0
0
0
0
0
0
-1
-5
0
0
0
8
0
0
0
2
33
0
0
0
0
0
0
0
-1
27
0
0
0
-6
0
0
0
17
-3
0
0
0
0
0
0
0
-16
23
0
0
0
0
0
0
0
-18
-15
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
24
-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
10
0
0
0
0
0
0
0
-8
43
0
0
0
0
0
0
0
-4
27
0
0
0
0
0
0
0
-10
26
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
-10
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
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-17
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
-9
6
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-13
-40
0
0
0
0
0
0
0
6
10
0
0
-8
0
0
0
0
7
33
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
-15
13
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
4
9
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
-15
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
13
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
-25
5
-5
8
0
0
0
0
0
0
10
-8
-6
0
0
0
0
0
0
2
-52
13
0
0
0
0
0
0
6
-5
28
0
0
0
0
2
2
3
-8
15
0
0
0
0
0
-2
-2
2
55
0
0
0
0
0
1
-2
1
-3
0
0
0
0
0
0
-11
-4
10
0
0
0
0
-8
7
-3
6
-48
0
0
0
0
0
0
0
5
-15
0
0
0
0
0
0
8
2
25
0
0
0
0
0
0
0
-17
20
0
0
0
0
0
-5
0
-4
-6
0
0
0
0
0
0
0
7
-14
0
0
0
0
0
0
0
-10
25
0
0
0
0
0
1
0
-9
29
0
0
0
0
-10
-19
1
-31
36
0
0
0
0
-1
0
-5
1
71
-3
0
0
0
-3
0
1
10
-33
4
0
0
0
0
1
-5
10
37
-4
0
0
0
-1
-4
7
-4
-22
2
0
0
0
0
0
4
10
-10
-2
0
0
0
3
0
-8
-1
-19
-4
0
0
0
4
0
2
-8
5
-6
0
0
0
16
25
11
14
10
-4
0
0
0
0
0
0
-8
-6
18
0
0
0
0
2
-2
8
-34
7
0
0
0
0
0
1
3
10
-38
0
0
0
0
3
0
17
-23
5
0
0
0
0
0
0
1
-25
-31
0
0
0
0
1
0
-16
35
4
0
0
0
19
-13
-13
8
69
0
0
0
0
0
0
0
-41
48
0
0
0
42
-1
0
-3
-26
24
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
4
-34
0
0
0
0
0
0
0
0
4
77
0
0
0
1
0
-4
0
29
-38
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
7
13
-31
0
0
0
0
0
0
0
-5
36
0
0
0
-1
0
0
0
-23
21
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
9
-6
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
-23
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
-7
-34
2
0
0
-19
0
0
-1
6
-25
-2
0
0
0
0
0
2
5
7
3
0
0
0
0
0
-6
2
10
-20
0
0
0
0
0
0
-10
-13
3
0
0
-5
0
0
2
-9
0
9
0
0
0
0
0
0
-15
13
-15
0
0
0
0
0
4
5
33
18
0
0
0
0
0
0
-2
27
-16
0
0
-16
0
0
1
-11
43
-21
0
0
0
0
0
0
6
17
-23
0
0
0
0
0
0
-1
-4
-14
0
0
0
0
0
0
-1
5
-6
0
0
-4
0
0
0
1
0
-5
0
0
0
0
0
0
13
4
-7
0
0
-16
0
-3
5
-5
-24
12
0
0
0
0
0
0
13
11
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
-14
2
0
0
0
0
0
0
4
32
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
-10
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
-2
0
0
0
0
0
0
4
-15
-17
0
0
0
0
0
-2
5
37
11
0
0
0
0
0
0
5
24
-13
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
-11
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
0
-5
-68
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
-1
-2
-1
-77
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
4
-24
0
0
0
0
0
0
0
-9
-34
0
0
0
0
0
2
-7
6
31
0
0
0
0
0
0
26
5
0
0
0
0
0
0
0
10
6
0
0
0
0
0
0
-1
-15
-9
0
0
-4
0
0
0
2
-16
11
0
0
0
0
0
0
0
-3
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
5
-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
-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
-11
-14
-6
0
0
0
0
0
0
-18
-8
-15
0
0
0
0
0
0
0
-13
5
0
29
0
0
0
-3
-24
18
-3
0
0
0
0
0
0
4
-2
-5
0
0
0
0
0
1
0
5
-5
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
32
0
0
0
0
0
0
1
-32
-30
0
0
0
0
0
0
-1
4
-52
0
0
0
0
0
0
0
1
42
0
-11
0
0
0
0
-2
3
-53
0
0
0
0
0
0
-1
0
41
0
0
0
0
0
0
0
6
-29
0
0
0
0
0
0
-1
3
-10
0
8
0
0
0
-3
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
10
0
0
0
0
0
0
0
-7
11
0
0
0
0
0
0
-9
-9
-25
0
0
0
0
0
0
8
-31
-4
0
0
0
0
1
-2
0
3
0
0
0
0
0
0
0
1
-1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
10
0
0
0
0
5
-18
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
-46
-8
0
0
0
0
0
0
-13
-27
19
0
0
0
0
0
2
0
6
-25
0
0
0
0
0
0
11
-24
-2
0
0
0
-1
0
0
-4
25
14
0
0
0
0
0
0
-1
2
-5
0
0
0
0
0
0
0
-3
-63
0
0
0
0
0
0
5
-3
-53
0
0
0
-2
-11
-8
-17
49
9
-1
0
0
0
0
0
6
-1
-39
2
0
0
0
0
-7
-24
29
18
17
0
0
0
1
2
-8
18
80
4
0
0
-1
0
0
6
-23
-32
5
0
0
0
0
-1
0
-10
-3
3
0
0
-1
0
0
1
15
-7
7
0
0
1
1
15
-57
42
19
6
0
0
0
0
0
-2
-14
0
0
0
20
0
0
0
-5
-12
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
1
-9
-1
0
0
0
0
0
0
0
0
3
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
-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
15
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
9
-22
0
0
3
0
0
0
8
-27
-21
0
0
0
0
0
0
6
-15
37
0
0
0
0
0
0
-26
2
-23
0
0
0
0
0
0
1
4
5
0
0
1
0
0
0
-2
3
14
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
1
-1
-4
-103
0
0
0
0
0
0
0
25
56
-4
0
26
0
0
0
-3
-28
42
1
0
0
0
0
0
-5
-19
-32
13
0
0
0
0
0
-10
26
-27
9
0
0
0
0
0
0
29
-3
-15
0
0
0
0
0
7
14
-85
9
0
0
0
0
0
-4
11
-5
4
0
3
0
0
-2
5
1
-47
-4
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
0
0
0
0
0
-13
-13
0
0
0
0
0
0
1
6
-7
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
-3
23
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-29
-10
0
0
0
0
0
0
0
8
-13
35
0
0
0
0
0
-11
25
-10
-24
0
0
0
0
0
-11
-5
6
49
0
0
0
0
0
0
0
33
-14
0
0
0
0
0
-1
0
-7
-22
0
0
0
0
0
0
0
-33
12
0
0
0
0
0
0
-10
65
-24
0
0
0
0
0
4
24
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
-17
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
-11
-26
0
0
0
0
0
0
-1
17
-5
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
60
0
0
0
0
0
0
0
0
-26
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
10
0
0
0
0
0
0
-2
-2
32
4
0
0
0
0
0
0
11
-19
-1
0
0
0
0
0
0
9
-66
44
-4
0
0
0
1
2
-11
23
-28
0
0
0
0
0
-1
0
-24
42
0
0
0
0
0
0
2
-10
71
0
0
0
0
0
0
-2
19
36
0
0
0
0
0
-13
27
-23
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-29
19
0
0
0
0
0
1
31
16
15
0
0
0
0
0
1
-5
-61
18
0
0
0
0
0
0
49
-47
-3
0
0
0
0
2
9
14
-19
-51
0
0
0
0
-1
0
9
56
-28
0
0
0
0
1
0
-9
-22
10
0
0
0
0
0
-1
0
-48
4
0
0
0
0
-8
23
-10
21
21
0
0
0
0
0
-2
-7
3
34
0
0
0
0
2
-4
-19
-3
23
0
0
0
0
0
0
-10
67
-39
0
0
0
0
0
4
0
1
38
0
0
0
0
0
-1
6
20
-65
0
0
0
0
-3
1
1
-5
24
0
0
0
0
0
-3
5
5
19
0
0
0
0
-7
-40
2
-5
-14
0
0
0
0
0
0
-1
-24
67
0
0
0
0
-1
0
-18
-3
23
0
0
0
0
0
0
-3
0
9
0
0
0
0
1
-14
3
-7
-15
0
0
0
0
0
0
5
-4
16
0
0
0
0
-1
0
-3
-13
-1
0
0
0
0
0
0
15
-6
30
0
0
0
0
28
-21
5
17
-37
0
0
0
0
0
1
3
3
27
0
0
0
0
0
3
14
-10
-30
0
0
0
0
0
0
-7
-14
-18
0
0
0
0
-9
-1
0
9
-43
0
0
0
0
0
1
2
7
-17
0
0
0
0
-9
-4
14
-6
-5
0
0
0
0
22
-4
-13
-5
-10
0
0
0
0
0
0
-1
-20
7
0
0
0
22
0
0
-2
-35
3
0
0
0
0
0
0
-1
36
-1
0
0
0
1
0
0
-2
27
-6
0
0
0
0
0
0
0
-14
5
0
0
0
-7
0
0
0
-38
46
0
0
0
0
0
0
1
3
-29
0
0
0
0
0
0
0
23
-36
0
0
0
0
0
0
0
-15
18
0
0
0
10
0
0
-2
-17
55
0
0
0
0
0
0
0
4
46
0
0
0
0
0
0
0
-17
-22
0
0
0
0
0
0
0
-5
-12
0
0
0
0
0
0
0
17
27
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
8
-68
0
0
0
0
0
0
0
8
31
0
0
0
9
0
0
0
-61
18
0
0
0
0
0
0
1
-2
-8
0
0
0
0
0
0
1
-10
23
0
0
0
0
0
0
0
10
-22
0
0
0
0
0
0
-2
0
17
0
0
0
0
0
0
0
1
29
0
0
0
0
0
0
0
11
-24
0
0
0
0
0
0
0
23
-6
0
0
0
15
0
0
0
4
1
0
0
0
0
0
0
0
-10
-14
0
0
0
1
0
0
2
-19
18
0
0
0
0
0
0
0
-9
18
0
0
0
8
0
0
0
7
-84
0
0
0
0
0
0
0
0
33
0
0
0
-64
-5
6
-24
31
-5
0
0
0
0
0
0
0
-18
62
0
0
0
0
0
0
0
-60
-5
0
0
0
0
0
0
0
35
46
0
0
0
0
0
0
-2
54
-35
0
0
0
0
0
0
0
2
-23
0
0
0
0
0
0
0
-25
48
0
0
0
0
0
0
0
1
-31
0
0
0
0
0
0
-2
-45
14
0
0
0
0
0
0
0
-39
30
0
0
0
0
0
0
-2
-24
42
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
1
-1
-10
0
0
0
0
0
0
0
-4
20
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
-6
39
0
0
0
0
0
0
2
-18
52
0
0
0
0
0
0
-2
-18
-8
0
0
0
0
0
0
0
-25
36
0
0
0
0
0
0
0
15
16
0
0
0
0
0
0
0
-5
14
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
14
47
0
0
0
0
0
0
0
9
-16
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
0
0
2
17
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
4
48
0
0
0
0
0
0
0
-18
-47
0
0
0
0
0
2
-21
27
-15
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
-2
-17
18
0
0
-4
0
0
0
-11
27
-12
0
0
0
0
0
0
0
-5
73
0
0
0
0
0
0
1
-51
-49
0
0
0
0
0
0
0
15
23
0
0
0
0
0
0
1
-53
30
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
-26
-10
0
0
1
0
0
0
-1
16
10
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
1
-19
30
0
0
0
0
0
0
0
11
5
0
0
0
0
0
0
1
-14
33
0
0
0
0
0
0
4
-26
9
0
0
0
0
0
0
0
25
-4
0
0
0
0
0
0
0
7
34
0
0
-10
0
0
0
-1
0
7
0
0
0
0
0
0
0
17
-43
0
0
0
0
0
0
0
10
11
0
0
0
0
0
0
0
-3
11
0
0
0
0
0
0
2
5
-2
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
4
80
0
0
0
0
0
0
-1
-8
-2
0
0
21
0
0
0
0
-19
0
0
0
0
0
0
0
0
-33
25
0
0
0
0
0
0
0
16
-3
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
-1
-7
-4
0
0
0
0
1
1
4
-35
17
0
0
0
0
0
0
1
0
-34
0
0
0
0
0
0
-1
4
-5
0
0
0
0
0
0
-4
32
-5
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
3
55
0
0
0
0
0
0
0
0
22
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
-11
-8
0
0
0
0
0
0
0
-4
20
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
-2
2
-10
0
0
0
0
-1
0
0
-1
-7
0
0
0
0
0
0
1
-1
31
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-2
14
-7
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
-11
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
22
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
11
3
0
0
0
0
0
0
-1
2
21
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
-2
10
-58
40
0
0
0
0
0
0
0
-4
20
0
0
0
1
0
0
-1
-21
-3
0
0
0
0
0
0
0
-11
17
0
0
0
0
0
0
-2
-17
25
0
0
0
0
0
0
0
1
29
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
2
3
7
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
-2
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
2
-4
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-1
-9
22
0
0
0
0
0
0
0
-7
20
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
0
-15
-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
11
0
0
0
1
0
0
0
2
-22
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
16
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
17
23
0
0
0
0
0
0
0
-25
38
0
0
0
0
0
0
0
-2
-33
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
0
1
21
-25
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-2
17
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
14
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
-3
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
13
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
-27
12
0
0
0
0
0
0
1
23
-14
0
0
0
0
0
0
1
-32
-16
0
0
0
0
0
0
-2
11
-27
0
0
0
0
0
0
23
-59
51
0
0
0
0
0
0
-1
8
22
0
0
0
0
0
0
0
-9
48
0
0
0
0
0
0
4
-8
-7
0
0
0
0
0
0
2
-13
19
0
0
0
0
0
0
-6
-8
8
0
0
0
0
0
0
-1
13
3
0
0
0
0
0
0
-3
-2
46
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
-13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
21
0
0
0
0
0
0
-5
1
19
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
-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
-1
1
1
0
0
0
0
0
0
1
0
-14
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
16
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
-16
17
-11
0
0
0
0
-4
-2
1
20
-38
0
0
0
0
0
0
0
-2
42
0
0
0
0
0
-2
0
-18
9
0
0
0
0
0
0
-5
-2
55
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
2
47
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
-13
4
-8
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
3
17
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
10
0
0
0
0
0
0
0
0
-13
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
-27
0
0
0
0
0
0
0
7
25
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
-14
32
0
0
0
0
0
-1
-1
0
14
0
0
0
0
0
0
0
-1
-10
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
15
0
0
0
0
0
0
0
-1
-10
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
11
13
23
0
0
0
0
0
0
-2
11
16
0
0
0
-2
0
0
0
11
14
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
-3
-50
47
0
0
0
0
0
0
0
-6
41
0
0
0
0
0
0
0
3
27
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
15
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
3
0
0
0
0
0
0
0
-7
8
0
0
0
-3
0
0
0
-11
-16
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
-24
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
19
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
-18
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
29
0
0
0
0
0
0
0
6
-11
0
0
0
0
0
0
0
-9
-13
0
0
0
0
0
0
0
-5
-15
0
0
0
0
0
0
0
-35
-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
14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
-35
14
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-15
43
0
0
0
0
0
0
0
-7
-9
0
0
0
0
0
0
0
-5
31
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
18
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
3
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
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
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
20
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
-1
55
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
2
16
-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
1
-1
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
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
15
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
-1
35
0
0
0
0
0
0
0
-11
-7
0
0
0
0
0
0
0
-4
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
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
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
17
0
0
0
0
0
0
0
9
49
0
0
0
0
0
0
0
10
47
0
0
0
0
0
0
0
-5
36
0
0
0
0
0
0
0
6
-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
-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
-21
-47
0
0
0
0
0
0
-1
9
22
0
0
0
0
0
0
0
-10
-9
0
0
0
0
0
0
2
-9
-39
0
0
0
0
0
0
0
43
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
-17
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
26
0
0
0
0
0
0
0
-14
-6
0
0
0
0
0
0
-1
1
8
0
0
0
0
0
0
-2
-23
-20
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
9
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
10
10
0
0
0
0
-4
-6
-2
-17
64
0
0
0
0
0
-5
-3
43
-31
0
0
0
0
0
0
-1
-37
9
0
0
0
0
0
0
9
-18
16
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
33
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
-53
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
11
1
-2
3
32
1
0
0
0
0
0
0
-4
39
1
0
0
0
0
0
1
1
-2
3
0
0
0
0
0
-1
8
2
-2
0
0
0
0
0
0
0
20
-10
0
0
0
0
0
0
3
-9
-5
0
0
0
0
0
0
0
-4
28
0
0
0
0
0
-3
0
-7
-9
0
0
0
-3
7
1
-5
26
4
0
0
0
0
1
0
-1
-9
1
0
0
0
0
0
-1
-1
3
-7
0
0
0
0
0
0
1
-8
-3
0
0
0
2
0
0
0
-51
5
0
0
0
0
0
0
1
-19
-44
0
0
0
-1
0
0
2
15
-26
0
0
0
-5
2
9
-31
-12
2
0
0
0
0
0
0
3
24
0
0
0
-17
0
0
0
5
45
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
-3
-13
10
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
0
-10
9
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
-17
0
0
0
-1
0
0
0
5
9
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
0
0
15
-3
0
0
6
0
0
0
9
1
-7
0
0
0
0
0
0
1
-4
-7
0
0
0
0
0
-1
15
-43
6
0
0
0
0
0
0
0
-6
-6
0
0
1
0
0
0
1
19
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
6
-19
34
0
0
-3
0
0
0
0
21
-4
0
0
0
0
0
0
0
5
-14
0
0
-1
0
0
0
2
25
6
0
0
0
0
0
0
3
9
9
0
0
-4
0
0
0
0
-5
-18
0
0
0
0
0
0
-1
-7
-29
0
0
3
0
1
0
-73
-48
-1
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
11
46
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
16
-18
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
-11
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
-30
-7
0
0
0
0
0
0
0
-3
-20
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
2
35
0
0
0
0
0
0
0
1
51
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
1
-58
0
0
0
0
0
0
2
11
27
0
0
0
0
0
0
8
-7
-26
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
-3
-74
0
0
0
0
0
0
-4
-5
27
0
0
0
0
0
0
3
0
-19
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
10
6
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-8
28
0
0
0
0
0
0
0
3
7
0
0
-3
0
0
0
0
-23
-17
0
0
0
0
0
0
0
-11
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
-19
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
-9
0
0
0
0
0
0
1
-6
32
-3
0
0
0
0
0
0
1
-41
-13
0
0
0
0
0
0
2
1
-5
0
0
0
0
0
0
1
0
-28
0
0
0
0
0
0
-3
0
-43
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
-3
-8
13
0
0
0
0
0
0
-5
-5
-8
0
0
0
0
0
0
-2
-5
11
0
0
0
0
0
0
1
0
39
0
0
0
0
0
0
0
2
34
0
0
0
0
0
0
0
1
26
0
0
0
0
0
0
0
0
15
0
24
0
0
0
1
13
15
-14
0
0
0
0
0
0
-2
24
0
0
0
0
0
0
0
-5
-17
0
0
0
0
0
0
0
7
-11
0
0
0
0
0
0
0
-13
27
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
13
0
0
0
0
0
0
0
0
-15
15
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
8
5
-37
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
0
0
3
43
0
0
0
0
0
0
0
0
-115
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
6
-50
0
0
0
0
0
0
-3
-4
60
0
0
0
0
0
0
-1
0
-15
0
0
0
0
0
0
-3
0
-17
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
-1
1
-14
0
0
0
0
0
0
0
0
32
0
0
0
0
1
0
-14
3
-41
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
-4
11
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
9
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
-13
0
0
0
0
0
0
0
1
-37
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
-1
27
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
2
-21
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
54
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
-26
-10
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
-3
-18
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
-11
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
-13
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-89
0
0
0
0
0
0
0
0
35
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
-23
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-1
26
0
0
0
0
0
0
0
0
-10
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
34
0
0
0
0
0
0
-2
-16
66
0
0
0
0
0
0
13
-15
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
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
-26
0
0
0
0
0
0
2
2
-54
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-60
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
0
-10
0
0
0
0
0
0
-1
0
-33
0
0
0
0
0
0
2
1
-3
0
0
0
0
0
0
-2
0
24
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
-9
23
0
0
0
0
0
0
0
-5
22
0
0
0
0
0
0
0
11
6
0
0
0
0
0
0
0
8
-17
0
0
0
0
0
-1
0
2
-25
0
0
0
0
0
0
0
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
21
0
0
0
0
-1
0
0
0
-8
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
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
-13
31
0
0
0
0
0
0
-6
-18
8
0
0
0
0
0
0
1
3
35
0
0
0
0
0
2
5
-4
-30
0
0
0
0
1
0
1
-32
29
0
0
0
0
0
0
-1
8
25
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
4
-48
0
0
0
0
0
0
0
-17
2
0
0
0
0
0
0
0
-15
-89
3
0
0
0
0
0
0
0
-102
12
0
0
0
0
0
-1
-3
-47
-4
0
0
0
0
0
0
-32
-65
17
0
0
0
0
0
0
4
-48
9
0
0
0
0
0
0
17
-24
-12
0
0
1
1
1
-7
-19
0
5
0
0
0
0
0
5
5
0
0
0
0
0
0
0
9
-37
0
0
0
0
0
0
-3
-5
6
0
0
0
0
0
0
5
-11
0
0
0
0
0
0
0
0
3
16
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
3
9
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
-10
-6
19
0
0
4
0
0
0
-3
10
-23
0
0
0
0
0
0
0
14
6
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
18
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
1
32
0
0
0
0
0
0
0
7
-30
0
0
1
0
0
0
3
0
-141
-2
0
0
0
0
0
0
0
-19
19
0
0
0
0
0
0
-2
35
-14
0
0
0
0
0
0
5
-25
-41
0
0
0
0
0
0
4
-10
8
0
0
0
0
0
0
5
20
-9
0
6
0
0
0
-7
-16
22
-22
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
-33
0
0
0
0
0
0
0
1
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
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
-17
-8
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
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
51
0
0
0
0
0
0
0
0
-92
8
0
0
0
0
0
0
2
46
2
0
0
0
0
0
0
0
-25
32
0
0
0
0
0
0
0
-9
23
0
0
0
0
0
0
0
10
-16
0
0
0
0
0
0
0
11
-28
0
0
0
0
0
0
0
-3
71
0
0
0
0
0
-1
4
0
-25
0
0
0
0
0
-5
-29
0
0
0
0
0
0
0
-45
24
0
0
0
0
0
0
0
-15
-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
9
-82
0
0
0
0
0
0
-7
10
45
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-3
0
-43
0
0
0
0
0
0
0
0
26
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
-129
-1
0
0
0
0
0
0
0
26
6
0
0
0
0
0
0
0
1
23
0
0
0
0
0
0
0
-1
38
0
0
0
0
0
0
0
-25
64
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
3
1
2
0
0
0
0
-1
3
21
29
0
0
1
0
-2
-17
39
0
0
0
0
0
0
0
11
20
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
-13
30
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
2
0
-25
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
26
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
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
-13
12
0
0
0
0
0
0
1
21
17
0
0
0
0
0
0
0
4
-27
0
0
0
0
0
0
-4
8
8
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
-9
15
-5
0
0
0
0
0
-1
3
-17
84
0
0
0
0
0
1
1
15
-49
0
0
0
0
0
0
1
-14
-28
0
0
0
0
0
1
0
17
-4
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
-4
0
15
-68
0
0
0
0
-1
2
14
31
-22
0
0
0
0
0
1
18
0
0
0
0
0
0
0
8
34
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
-13
14
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
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
-68
0
0
-1
0
0
0
0
-8
-38
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
-2
0
-9
0
0
0
0
0
0
0
-2
26
0
0
0
0
0
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
-1
-6
1
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
-13
27
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
-3
-20
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-11
18
0
0
0
0
0
-3
56
-3
-32
0
0
0
0
0
-11
22
0
0
0
0
0
0
1
1
-23
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
9
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
13
-12
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
46
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
1
11
0
0
0
0
0
0
0
0
-14
25
0
0
0
0
0
0
0
23
-3
0
0
0
0
0
0
1
-8
-2
0
0
0
0
0
0
0
5
-18
0
0
0
0
0
0
0
-31
-21
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
-18
11
0
0
0
0
0
3
2
-5
91
0
0
34
43
17
-2
-10
0
0
0
33
0
9
-3
-47
-8
0
0
0
0
-18
-17
3
-37
3
0
0
-5
0
0
-23
47
-91
-8
0
0
0
0
0
7
-18
-26
33
0
0
0
3
-1
-1
-13
29
-46
0
0
0
0
1
-1
6
7
13
0
0
-9
0
-10
-3
0
19
-5
0
0
0
0
20
-31
-8
-9
50
0
0
0
-43
-4
1
3
-5
0
0
0
0
0
-1
-7
-3
33
12
0
0
-13
-2
0
-5
-3
-5
33
0
0
0
0
0
-1
6
1
-15
0
0
0
0
0
0
1
11
9
0
0
0
0
0
4
1
-1
-8
0
0
0
1
0
0
-4
-14
-4
0
0
0
0
-34
29
17
29
-40
-7
0
0
0
0
0
-14
23
-26
-4
0
0
0
-4
0
-10
-4
-8
-2
0
3
0
0
0
7
-5
10
-7
0
0
0
0
2
-8
-18
18
-29
0
0
-2
2
0
-5
-33
37
-7
0
0
0
4
0
-1
6
-15
8
0
2
0
6
0
3
-1
2
5
0
0
0
1
-29
5
-15
-11
35
1
0
0
-1
-5
2
-9
38
-31
6
0
0
2
-2
-3
0
33
-27
25
-33
1
0
0
-2
-13
-11
-5
68
0
0
7
1
0
2
22
-69
15
0
5
-1
2
-3
1
36
-33
44
0
0
0
9
0
3
-4
-43
33
-1
-5
1
13
0
-3
-19
34
-23
0
0
-4
0
0
-11
19
0
0
0
0
0
0
0
56
-13
0
0
0
0
0
0
0
29
1
0
0
0
0
0
0
18
-23
13
0
0
0
0
0
0
0
-4
47
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
2
5
-27
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
-7
24
0
0
0
0
0
1
0
-4
44
0
0
0
0
0
0
3
-33
38
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
0
23
0
0
0
0
0
0
6
5
-7
0
0
0
0
-2
-1
0
1
-43
0
0
0
0
0
0
0
-14
18
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
10
6
0
0
0
0
0
0
0
3
-33
0
0
0
0
0
0
-1
-4
13
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
1
23
0
0
0
0
-1
-3
0
-1
-10
0
0
0
0
0
0
0
-13
65
0
0
0
0
0
0
0
3
-51
0
0
0
0
0
0
3
-3
20
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
6
-42
0
0
0
0
0
0
-1
-2
33
0
0
0
0
-2
-2
3
9
-1
0
0
0
0
0
0
0
-6
25
0
0
0
4
0
0
0
-17
0
0
0
0
0
0
0
0
-36
-11
0
0
0
0
0
0
0
24
1
0
0
0
0
0
0
0
-10
-5
0
0
0
0
0
0
0
23
-11
0
0
0
0
0
0
0
-4
-30
0
0
0
0
0
0
0
9
-17
0
0
0
0
0
0
0
0
3
0
0
0
4
0
0
0
-3
26
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
-13
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-10
-19
0
0
0
0
0
0
1
4
-41
0
0
0
0
0
0
0
-2
68
0
0
0
22
0
0
0
-3
-18
0
0
0
0
0
0
0
2
50
0
0
0
0
0
0
0
-24
2
0
0
0
0
0
0
0
3
-20
0
0
0
0
0
0
0
14
2
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
-17
-19
0
0
0
0
0
0
0
19
24
0
0
0
22
0
0
0
6
18
0
0
0
0
0
0
0
-5
-9
0
0
0
0
0
0
0
-34
30
0
0
0
0
0
0
0
33
-24
0
0
0
1
0
0
0
0
-23
0
0
0
0
0
0
0
-2
-2
0
0
0
-2
0
0
-4
-8
1
0
0
0
0
0
0
0
25
-12
0
0
0
0
0
0
0
-9
-9
0
0
0
0
0
0
0
-33
27
0
0
0
0
0
0
0
90
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-10
36
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
20
0
0
0
0
0
0
0
2
11
0
0
0
0
0
0
0
-2
53
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
-11
11
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
-19
9
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
62
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
0
0
-7
-13
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
-1
0
27
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
-2
8
-5
0
0
0
0
0
0
-1
3
3
0
0
0
0
0
0
0
-11
19
0
0
0
0
0
0
-3
7
27
0
0
1
0
0
0
-5
2
-4
0
0
0
0
0
0
0
-18
46
0
0
0
0
0
0
1
-39
56
0
0
0
0
0
0
0
29
15
0
0
0
0
0
0
-15
13
21
0
0
0
0
0
0
0
-7
22
0
0
0
0
0
0
0
-8
40
0
0
0
0
0
0
0
-3
-14
0
0
0
0
0
0
-9
42
-72
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
7
41
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
0
-5
15
0
0
0
0
0
0
-2
-4
-2
0
0
0
0
0
0
0
-31
4
0
0
0
0
0
0
0
17
-5
0
0
0
0
0
0
0
3
9
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
-17
0
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
-23
-1
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
-18
23
0
0
0
0
0
0
0
-11
-21
0
0
2
-1
0
0
-7
-43
-9
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
0
-10
7
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
9
-8
0
0
0
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
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
-18
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
-14
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
11
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
-25
36
0
0
0
0
0
0
0
-7
50
0
0
0
0
0
0
0
-14
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
-41
41
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
0
25
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
16
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
15
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
-11
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
9
31
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
0
15
13
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
-11
-2
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
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
-41
0
0
0
0
0
0
0
-14
-13
0
0
0
0
0
0
0
8
6
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
9
7
28
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-7
-2
-10
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
-14
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
18
0
0
0
0
0
0
-1
-13
-21
0
0
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
-2
-3
0
-14
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-9
-1
0
0
0
0
0
0
0
0
-31
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
-9
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
1
3
0
0
0
0
0
-6
-17
-19
25
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
19
0
0
0
0
0
0
0
-1
-16
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
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
33
0
0
0
0
0
0
0
0
9
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
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
11
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
14
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
-25
5
0
0
0
0
0
0
0
-5
43
0
0
0
1
0
0
0
2
-6
0
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
1
14
28
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
-37
14
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
-5
11
0
0
0
0
0
0
0
-33
-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
25
0
0
0
0
0
0
0
-19
4
0
0
0
0
0
0
0
23
5
0
0
0
0
0
0
0
-45
-10
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
15
-2
0
0
0
0
0
0
0
1
4
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
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
-23
-2
0
0
0
0
0
0
0
0
-22
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
-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
-11
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-10
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-1
-14
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
-19
0
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
13
0
0
0
0
0
0
0
-7
-24
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
7
-17
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
-43
4
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
5
32
14
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
-9
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
52
0
0
0
0
0
0
0
0
9
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
-21
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
-20
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
-10
72
0
0
0
0
5
2
0
-1
-17
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
0
-19
5
0
0
0
0
0
0
0
1
0
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
2
-10
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
-15
0
0
0
0
1
1
0
0
33
0
0
0
0
0
0
0
2
6
-3
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
-5
13
-13
0
0
0
0
0
0
0
10
-8
0
0
0
0
0
0
-5
17
11
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
-2
1
-7
9
0
0
0
0
0
0
0
-33
12
0
0
0
0
0
0
1
4
-25
0
0
0
0
0
0
0
-14
-42
0
0
0
0
0
-1
2
-4
-4
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-14
11
0
0
0
0
4
5
-29
-11
2
0
0
0
0
0
0
-21
-56
0
0
0
-5
0
0
0
0
37
0
0
0
0
0
0
0
14
29
0
0
0
0
0
0
-2
-19
43
0
0
0
0
0
0
0
-10
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
15
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
-2
11
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
-1
0
0
0
0
0
0
-1
46
2
0
0
0
0
0
0
1
10
2
0
0
0
0
0
0
-3
-9
-7
0
0
0
0
0
0
0
10
-4
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
18
0
0
0
0
0
0
7
-11
-1
0
0
1
0
0
0
-1
-45
41
0
0
0
0
0
0
0
-5
-17
0
0
0
0
0
0
0
2
-56
0
0
0
0
0
0
-4
4
-24
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
3
0
0
-4
0
1
-1
-14
46
3
0
0
0
0
0
0
-11
25
0
0
0
0
0
0
0
10
16
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
-16
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
-19
2
0
0
0
0
0
0
0
-24
9
0
0
0
0
0
0
-1
-1
8
0
0
0
0
0
0
0
1
-35
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
3
-17
0
0
0
0
0
0
-1
16
-4
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
26
0
0
0
0
0
0
0
0
-98
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
-6
5
5
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
0
9
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
-13
17
-6
0
0
0
0
0
0
2
-10
6
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
3
0
-5
0
0
0
0
0
0
-2
0
7
0
0
0
0
0
0
1
0
32
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-1
6
14
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
3
0
-39
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
5
0
1
0
0
0
-1
0
91
2
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
23
-11
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
3
0
0
0
0
0
0
0
-21
-22
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
14
0
-1
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
16
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
37
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
51
0
0
0
0
0
0
0
-1
-25
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
16
-2
12
0
0
0
0
0
0
1
48
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
-15
-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
2
0
0
0
0
0
0
0
-1
-19
0
0
0
0
0
0
0
3
14
0
0
0
0
0
0
-1
0
-51
0
0
0
0
0
0
0
-1
-42
0
0
0
0
0
0
0
0
-35
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
70
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
2
37
0
0
2
0
0
0
9
6
-17
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-31
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
-16
0
0
0
0
0
0
0
7
-17
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
-1
45
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-10
-3
46
0
0
0
0
0
0
-17
14
0
0
0
0
0
0
0
-9
-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
-6
0
0
0
0
0
0
0
2
-25
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-107
0
0
0
0
0
0
0
-1
49
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
1
2
13
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
46
0
0
0
0
0
0
0
-2
-14
0
3
0
0
0
0
0
-27
12
0
0
0
-1
1
0
1
0
0
0
0
0
0
0
0
-16
28
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
3
-33
5
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-7
31
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
-11
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
25
0
0
0
0
0
0
0
0
-27
10
0
0
0
0
0
0
-2
-43
46
0
0
0
0
0
0
0
-11
4
0
0
0
0
0
-2
-2
11
33
0
0
0
0
0
0
0
-39
-14
0
0
0
0
0
0
0
9
22
0
0
0
0
0
0
0
5
-25
0
0
0
0
0
0
0
-1
-29
0
0
0
0
0
0
0
32
-105
0
0
0
0
0
0
0
-2
-50
-1
0
0
0
0
0
0
0
-6
17
0
0
0
0
0
1
1
-42
-13
0
0
0
0
0
0
-1
-55
-3
0
0
0
0
0
0
4
-54
-16
0
0
0
0
0
0
4
-133
19
0
0
3
1
0
46
46
32
1
0
0
0
0
0
14
13
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
9
-23
0
0
0
0
0
0
0
-6
23
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
14
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
9
0
0
0
0
0
0
0
14
-46
0
0
0
0
0
0
2
-3
24
0
0
0
0
0
0
-1
-3
-48
0
0
0
0
0
0
2
8
17
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
-38
1
0
0
0
0
0
0
11
-35
15
0
0
0
0
0
0
0
-16
30
0
0
0
0
0
-1
0
8
-9
0
0
0
0
0
0
0
-24
23
0
-1
0
0
0
0
1
-11
50
0
0
0
0
0
0
0
15
23
0
-1
0
0
0
-10
-53
59
16
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
-1
-29
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
-2
-9
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
7
0
0
0
0
0
0
0
18
-38
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
-3
45
-9
0
0
0
0
0
0
-1
-43
9
0
0
0
0
0
0
2
-14
28
0
0
0
0
0
0
0
44
52
0
0
0
0
0
0
0
33
-43
0
0
0
0
0
0
-1
20
56
0
0
0
0
0
0
0
-34
2
0
0
0
0
0
-5
8
-17
43
0
0
0
0
0
3
31
0
0
0
0
0
0
0
-25
-2
0
0
0
0
0
0
0
-11
-11
0
0
1
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
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
-52
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-3
-2
28
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
-1
0
0
0
0
0
0
1
0
-15
0
0
0
0
0
0
2
0
18
-1
0
0
0
0
0
0
0
-63
67
0
0
0
0
0
0
0
-13
-28
0
0
0
0
0
-1
1
-15
-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
-20
-9
1
0
0
0
0
-18
-4
32
14
0
0
0
0
0
1
8
0
0
0
0
0
0
0
21
-55
0
0
0
0
0
0
0
-16
6
0
0
0
0
0
0
-1
-3
35
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
7
19
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
16
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
-39
0
0
0
0
0
0
0
-5
15
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-2
42
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
13
-20
19
0
0
0
0
0
0
-2
-25
9
0
0
0
0
0
0
0
23
-35
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-15
18
0
0
0
0
0
0
0
11
-8
0
0
0
0
0
0
0
17
-10
0
0
0
-1
0
-17
37
10
-17
0
0
0
0
0
-1
44
0
0
0
4
0
0
0
-13
-11
0
0
0
0
0
0
0
2
37
0
0
0
0
0
0
1
-11
16
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
14
-24
0
0
0
0
0
0
0
9
-94
0
0
0
0
0
0
0
0
-1
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
-13
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-3
-25
-1
0
-2
0
0
0
0
1
3
37
0
0
0
0
0
0
1
46
6
0
0
0
0
0
0
0
1
-78
0
0
0
0
0
0
-2
7
-40
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
-9
-5
0
-1
0
0
0
16
-2
23
30
0
0
0
0
0
1
23
0
0
0
0
0
0
0
-9
47
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
-24
-43
0
0
0
0
0
0
0
0
0
0
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
-9
0
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
11
-14
0
0
0
0
0
0
0
1
-42
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
49
3
0
0
0
0
0
-1
1
31
-37
0
0
0
0
0
0
0
5
-34
0
0
0
0
0
0
0
-10
83
0
0
0
0
0
0
0
-24
13
0
0
0
0
0
0
4
6
-17
0
0
-1
0
0
0
0
-7
-15
0
0
0
0
0
-1
-9
39
-62
0
0
-26
20
-7
-64
11
0
0
0
34
0
4
30
-21
2
0
0
0
0
-2
-14
27
30
13
0
0
15
-3
0
-5
4
55
-6
0
0
0
0
8
32
11
-34
-18
0
0
0
16
0
-36
-7
13
-23
0
0
0
0
3
-18
-1
-4
16
0
0
-26
1
-13
-2
57
-6
-33
0
0
0
0
23
-62
-18
19
-20
0
0
0
-5
-3
3
0
-66
26
0
0
0
0
11
-13
-7
-2
11
0
0
-18
0
0
1
-10
-17
21
0
0
0
0
-2
-2
4
-50
38
0
0
0
-2
0
-8
25
-15
-18
0
0
0
0
-7
11
-11
11
-15
0
0
0
1
2
-11
9
15
-4
0
0
0
0
-7
36
-25
-2
-8
2
0
0
34
-3
4
-37
44
8
-2
0
0
0
-20
-5
-5
15
-19
-4
0
13
-4
1
2
-1
9
-9
3
0
0
0
1
-12
14
3
-3
7
0
0
6
2
5
6
-58
84
-24
0
0
0
7
6
1
-3
3
-15
0
9
0
7
-9
29
14
31
-10
0
0
0
27
-48
3
10
-17
-11
-2
0
1
0
-9
23
28
-59
-35
1
0
0
18
1
-5
-16
26
5
-18
-20
6
0
4
-4
-17
-19
-18
-6
0
0
10
17
-5
-37
8
8
-5
0
-4
-1
4
-6
15
14
-14
-25
0
0
-6
21
37
-7
4
2
12
-25
0
18
39
9
-16
-11
-16
21
0
0
-7
-9
0
-54
10
0
0
0
0
9
-35
35
65
3
0
0
0
0
-6
4
-17
23
-7
0
0
0
0
0
-3
-3
21
-2
0
0
0
0
9
21
9
-24
-17
0
0
0
0
0
0
-11
-3
27
0
0
0
0
-1
2
25
1
63
0
0
0
0
0
1
-7
14
-33
0
0
0
0
-22
3
9
24
-31
0
0
0
0
0
0
11
-27
-2
0
0
0
0
0
-2
-1
18
22
0
0
0
0
0
0
-1
-5
-2
0
0
0
0
-2
3
4
-2
-3
0
0
0
0
0
1
0
-2
53
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
23
-19
0
0
0
0
-26
-6
2
19
58
0
0
0
0
-1
15
-5
50
-6
0
0
0
0
0
1
6
-12
7
0
0
0
0
0
0
1
-32
43
0
0
0
0
0
-4
-4
-33
45
0
0
0
0
0
-1
8
-3
-8
0
0
0
0
0
0
0
-18
11
0
0
0
0
0
-1
1
0
-3
0
0
0
0
17
14
-6
9
-33
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
16
-6
0
0
0
0
0
16
-1
-21
-13
0
0
0
0
0
0
0
-7
-5
0
0
0
0
-3
-1
3
-3
48
0
0
0
0
6
5
-24
-33
-33
0
0
0
0
0
0
29
44
-9
0
0
0
-17
-4
0
9
-29
0
0
0
0
0
0
0
11
-40
16
0
0
0
6
-1
-1
0
-10
-3
0
0
0
0
0
0
-3
-6
34
0
0
0
16
0
-1
4
-35
23
0
0
0
0
0
-3
0
31
-41
0
0
0
1
0
-3
16
17
-43
0
0
0
0
0
0
-1
-21
23
0
0
0
20
0
0
2
30
15
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
-15
3
0
0
0
0
0
0
0
-26
27
0
0
0
0
0
0
0
-8
29
0
0
0
0
0
0
-1
-57
17
0
0
0
0
0
0
9
-3
24
0
0
0
8
2
3
0
-1
-32
0
0
0
0
0
0
-2
0
-5
0
0
0
2
0
-1
-4
3
-47
0
0
0
0
0
0
0
10
14
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
10
-11
0
0
0
0
0
-1
0
26
-22
0
0
0
41
0
-1
-3
-4
-2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-14
-41
0
0
0
0
0
0
1
17
-14
0
0
0
-5
0
0
0
14
39
0
0
0
0
0
0
0
-13
-13
0
0
0
3
0
-1
-6
17
3
0
0
0
0
0
-1
5
-38
-7
0
0
0
0
0
-1
-3
67
-12
0
0
0
0
0
1
0
0
6
0
0
0
0
-1
2
-5
-32
46
0
0
0
0
0
8
0
-16
-43
0
0
0
0
0
-1
0
-45
56
0
0
0
0
0
0
2
-9
-14
0
0
0
0
0
0
3
-21
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
-14
0
0
0
0
0
0
0
7
34
0
0
0
0
0
0
0
-16
-12
0
0
0
0
0
0
-2
6
17
0
0
0
0
0
0
0
3
-24
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
29
0
0
0
0
0
0
0
-2
23
0
0
0
0
-1
1
3
-7
-20
0
0
0
0
0
0
1
-2
26
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
-5
20
0
0
0
0
0
0
0
-17
33
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
0
3
29
0
0
0
0
0
0
-1
-24
-19
0
0
0
0
0
0
0
-2
40
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
0
-2
20
-11
0
0
0
0
0
1
-26
25
9
0
0
0
0
0
0
-11
-11
-15
0
0
0
0
0
0
3
-22
14
0
0
-33
0
-2
0
10
11
-9
0
0
0
0
0
0
0
24
-14
0
0
0
1
0
0
6
-1
-15
0
0
0
0
0
0
0
-79
26
0
0
-10
0
0
0
-11
-14
-23
0
0
0
0
0
0
1
-10
46
0
0
0
0
0
0
0
-7
-22
0
0
0
0
0
0
-1
6
49
0
0
-5
0
0
0
-1
15
-43
0
0
0
0
0
0
0
1
56
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
17
0
0
0
0
0
0
-1
-5
77
0
0
0
0
0
0
0
-11
23
0
0
15
-1
0
0
5
-7
-9
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-17
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
-13
19
0
0
0
0
0
0
0
2
19
0
0
0
0
0
0
0
-1
4
0
0
9
0
0
0
0
9
-14
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
21
0
0
13
1
0
0
-3
-16
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
2
-1
0
-24
-6
0
0
0
0
0
0
1
6
7
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
25
38
0
0
0
0
0
14
-2
32
-26
0
0
0
0
0
0
2
-8
12
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
-15
4
0
0
0
0
2
-5
0
-4
-19
0
0
0
0
0
0
0
4
29
0
0
0
0
0
0
0
10
-11
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
-5
10
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
-9
0
0
0
0
-21
-8
11
-11
23
0
0
0
0
0
0
0
-3
-22
0
0
0
0
0
0
0
-34
-6
0
0
0
0
0
0
0
5
54
0
0
0
0
0
-3
-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
0
1
1
6
1
0
0
0
0
4
13
-1
-13
32
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
11
-25
0
0
0
0
0
0
0
3
-9
0
0
0
0
1
-1
4
-4
-46
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
-13
0
0
0
0
-2
-1
-3
-7
-4
0
0
0
0
0
0
-1
11
38
0
0
0
8
0
0
1
-14
-15
0
0
0
0
0
0
0
-25
34
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
-15
32
0
0
0
0
0
0
-1
47
-44
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-20
-10
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
-9
15
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
5
-23
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
-13
42
0
0
0
-50
-2
0
0
10
5
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
31
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
48
0
0
0
15
0
0
0
5
9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
0
-1
13
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
6
23
0
0
0
0
0
0
0
-13
16
0
0
0
0
0
0
0
7
8
0
0
0
0
0
1
0
-2
14
0
0
0
0
0
0
0
-6
29
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
10
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
-13
0
0
0
0
0
0
0
-2
9
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
-21
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
-14
43
0
0
2
0
0
0
0
-3
14
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
6
14
0
0
0
0
0
0
0
-2
-16
0
0
0
0
0
0
-1
8
4
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
-13
-26
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
5
-10
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
-11
0
0
-30
0
0
0
0
5
-3
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
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
1
-60
-11
-14
10
0
0
0
0
0
0
11
-69
53
0
0
0
0
0
-1
3
8
15
0
0
0
0
0
1
10
-35
-11
0
0
0
0
1
0
9
13
21
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
14
11
0
-14
-4
0
0
0
0
0
0
-3
-29
26
0
0
0
0
0
0
0
3
15
0
0
0
0
0
0
-1
5
10
0
0
0
0
0
0
-1
-11
-53
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
16
0
0
0
0
10
16
6
5
26
-1
0
0
0
0
0
-4
24
4
0
0
0
0
0
1
0
17
36
6
0
0
0
0
0
-1
10
47
0
0
0
0
-1
-3
2
10
13
-11
0
0
0
0
0
0
-3
-25
23
0
0
0
0
0
0
1
-9
11
0
0
0
0
0
0
0
-3
12
0
0
0
-27
5
-5
-26
10
-6
0
0
0
0
0
-1
-7
-29
29
0
0
0
0
0
-1
-2
0
8
0
0
0
0
0
0
11
-4
2
0
0
0
-2
-18
-4
45
-5
-19
0
0
0
0
0
1
0
21
12
0
0
0
5
0
0
4
19
20
0
0
0
3
1
-24
-1
-22
9
0
0
0
0
-2
2
1
-6
0
0
0
23
-1
4
-3
4
14
0
0
0
0
0
0
1
25
17
0
0
0
0
0
0
-1
-28
14
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
13
0
0
0
0
0
0
0
8
-10
0
0
0
1
0
0
1
-17
-4
0
0
0
0
0
0
0
8
-24
0
0
0
0
0
0
1
-7
6
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
9
-14
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
-3
23
27
-2
0
0
-26
0
0
-1
-105
21
4
0
0
0
0
0
0
25
14
4
0
0
0
0
0
1
-16
2
-6
0
0
0
0
0
0
3
-5
-16
0
0
-2
0
0
0
-16
-30
-25
0
0
0
0
0
0
-1
0
20
0
0
0
0
0
0
0
17
-10
0
0
0
0
0
0
-5
-21
50
0
0
1
0
0
0
2
33
-8
0
0
0
0
0
0
-18
-8
-46
0
0
0
0
0
0
11
-10
13
0
0
0
0
0
0
4
-9
8
0
0
-6
0
0
0
-7
15
-25
0
0
0
0
0
0
7
-15
9
0
0
-8
0
0
1
10
33
-25
0
0
0
0
1
-2
-1
5
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
-8
18
0
0
0
0
0
0
0
-3
23
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
16
-3
0
0
0
0
0
0
0
8
15
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
1
-36
-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
3
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-1
-23
13
0
0
0
0
0
0
2
1
-7
0
0
0
0
0
0
-1
1
15
0
0
0
0
0
0
7
-14
18
0
0
0
0
0
0
0
-3
-34
0
0
0
0
0
0
-1
-5
22
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
-26
0
0
0
0
0
0
-2
-7
18
0
0
0
0
0
0
-1
11
-22
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
5
-128
0
0
0
0
0
0
-1
-1
32
0
0
0
0
0
0
2
0
-44
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
-1
3
2
0
0
0
0
0
0
0
-33
-6
0
0
0
0
0
0
0
-14
-5
0
0
24
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
11
11
0
0
3
0
0
0
0
21
-34
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
15
17
-4
0
0
0
0
0
0
-31
-23
-12
0
0
0
0
0
0
2
0
-7
0
-20
0
0
0
-1
-24
18
-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
18
0
0
0
0
0
0
0
3
-82
0
0
0
0
0
0
-5
4
-27
0
0
0
0
0
0
2
0
7
0
0
0
0
0
0
1
-2
16
0
-2
0
0
0
0
-1
3
-5
0
0
0
0
0
0
-3
1
3
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
-5
0
-1
0
4
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
-30
2
0
0
0
0
0
0
-4
-24
-21
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
-11
35
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
-25
13
0
0
0
0
0
0
0
-2
29
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
-18
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
1
-11
-10
19
-6
15
0
0
0
0
0
-1
2
8
74
0
0
0
0
0
3
-5
5
-24
0
0
0
0
0
0
0
0
-33
0
0
0
0
1
-1
16
17
11
0
0
0
0
0
0
-17
1
-34
0
0
0
0
0
0
0
-11
-9
0
0
0
0
0
0
-1
13
-32
0
0
0
-11
16
1
7
21
-18
0
0
0
0
0
0
-17
1
-8
-2
0
0
0
0
-1
-9
8
14
10
0
0
0
0
0
0
-1
-43
-7
0
0
1
2
-5
37
-11
-23
11
0
0
0
0
0
7
-2
2
-50
0
0
0
0
0
-11
-15
-48
-9
0
0
3
0
1
-8
7
-30
-1
0
0
0
0
0
5
43
0
0
0
14
0
0
1
-3
-43
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
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
26
0
0
0
1
0
0
0
5
-1
0
0
0
0
0
0
0
4
-16
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
-9
25
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
-1
-7
26
-5
0
0
5
0
0
0
-7
5
23
0
0
0
0
0
1
-4
-4
7
0
0
0
0
0
0
-5
-1
-84
0
0
0
0
0
0
-3
14
0
0
0
-1
0
0
0
10
-27
53
0
0
0
0
0
0
-2
-13
-8
0
0
0
0
0
0
-2
-4
8
0
0
0
0
0
0
0
4
2
-1
0
13
0
0
0
-9
-5
-100
-10
0
0
0
0
0
-2
1
13
-13
0
0
0
0
0
2
0
-17
8
0
0
0
0
0
-25
43
-40
-13
0
0
0
0
0
-19
-7
1
19
0
0
0
0
0
2
4
2
14
0
3
0
0
0
6
-9
-22
-11
0
0
0
0
0
1
-5
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
6
-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
-1
0
0
0
0
0
0
0
0
14
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
-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
0
2
-7
0
0
0
0
0
0
0
13
-7
-12
0
0
0
0
0
0
-2
11
-36
0
0
0
0
0
0
1
2
30
0
0
0
0
0
0
1
-1
21
0
0
0
0
0
0
1
-6
78
0
0
0
0
0
0
0
-4
61
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
6
-5
-6
0
0
0
0
0
0
-1
-21
-20
0
0
0
0
0
0
0
-21
-60
0
0
0
0
0
0
0
-18
-8
0
0
0
0
0
0
23
41
-24
0
0
0
0
0
0
7
-51
113
0
0
0
0
0
0
0
-29
60
0
0
0
0
0
1
11
-51
-14
0
0
0
0
0
2
13
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
21
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-21
3
5
0
0
0
0
0
0
0
-1
-59
0
0
0
0
0
0
0
0
7
0
7
0
0
0
0
0
0
29
0
0
0
0
0
0
0
15
-4
0
0
0
0
0
0
-4
-6
36
0
0
0
0
0
0
1
0
-19
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-57
-3
0
0
0
0
0
0
1
-38
-66
0
0
0
0
0
0
0
-9
12
-4
0
0
0
0
0
0
8
-4
0
0
0
0
0
0
13
20
32
0
0
0
0
0
0
14
9
32
0
0
0
0
0
-1
0
0
-42
0
0
0
0
0
-3
-5
-30
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
-17
-43
36
-42
7
0
0
0
0
-1
-17
-6
-40
2
0
0
0
0
0
7
5
-4
20
0
0
0
0
0
-1
-9
-14
15
0
0
0
0
-8
-4
5
55
4
0
0
0
0
0
0
-1
-23
-24
0
0
0
0
-1
-1
2
1
-12
0
0
0
0
0
2
11
23
-26
0
0
0
0
-11
-24
-3
6
24
0
0
0
0
0
0
2
-4
-32
0
0
0
0
0
0
3
6
4
0
0
0
0
0
0
-3
-14
5
0
0
0
0
-1
10
0
-13
2
0
0
0
0
0
0
0
36
-4
0
0
0
0
0
0
1
9
-25
0
0
0
0
0
0
1
2
-2
0
0
0
0
-10
0
-32
34
5
0
0
0
0
0
1
-1
24
-23
0
0
0
0
0
0
9
-7
16
0
0
0
0
0
0
1
0
28
0
0
0
0
0
19
0
5
-2
0
0
0
0
0
-2
-1
3
34
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
2
8
0
0
0
0
0
-10
7
-33
-25
0
0
0
0
0
0
-1
-50
23
0
0
0
0
0
0
-4
5
25
0
0
0
0
0
0
0
-8
-14
0
0
0
0
8
4
9
-4
-38
0
0
0
0
0
-1
0
-21
14
0
0
0
0
2
0
1
-4
-21
0
0
0
0
2
-7
-11
-65
10
0
0
0
0
0
3
-2
1
3
0
0
0
10
0
-1
-29
31
-2
0
0
0
0
0
0
0
23
-2
0
0
0
-1
0
0
3
-30
5
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-4
-21
0
0
0
0
0
0
1
20
8
0
0
0
0
0
0
0
10
4
0
0
0
0
0
0
0
9
29
0
0
0
-4
0
0
1
4
44
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
15
-27
0
0
0
0
0
0
0
-2
31
0
0
0
0
0
0
0
-18
18
0
0
0
0
0
0
0
-2
38
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
-1
-39
40
0
0
0
-36
0
0
0
8
56
0
0
0
0
0
0
0
-14
24
0
0
0
1
0
0
1
-9
-21
0
0
0
0
0
0
0
-8
-32
0
0
0
0
0
0
1
-7
-14
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
1
4
0
0
0
21
0
0
0
-18
-24
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
0
-35
24
0
0
0
0
0
0
0
-11
7
0
0
0
0
0
0
0
-7
-14
0
0
0
-10
0
0
1
47
-1
0
0
0
0
-1
4
-20
-4
18
0
0
0
0
0
0
1
-100
8
0
0
0
0
0
0
4
23
-21
0
0
0
0
0
0
9
-28
15
0
0
0
0
0
0
-2
-7
82
0
0
0
0
0
0
0
14
-11
0
0
0
0
0
0
0
-27
34
0
0
0
0
0
0
0
11
9
0
0
0
0
0
0
0
10
34
0
0
0
0
0
0
0
-11
18
0
0
0
0
0
0
0
4
27
0
0
0
0
0
0
1
-10
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
-20
0
0
0
0
0
0
-4
-15
-2
0
0
0
0
0
0
0
7
18
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
-17
23
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
25
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
0
0
13
-11
0
0
0
0
0
0
0
-8
-18
0
0
0
0
0
0
0
5
20
0
0
0
0
0
0
0
2
21
0
0
0
0
0
0
0
14
-9
0
0
0
0
0
0
18
-4
-12
0
0
0
0
0
0
5
34
-8
0
0
0
0
0
0
5
-18
-2
0
0
-33
0
0
0
0
27
28
0
0
0
0
0
0
1
5
29
0
0
0
0
0
0
0
-59
65
0
0
0
0
0
0
0
5
45
0
0
1
0
0
0
-3
-68
62
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
1
7
-15
0
0
0
0
0
0
0
-8
33
0
0
2
0
0
0
1
3
-24
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
-15
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
-21
30
0
0
0
0
0
0
0
-6
20
0
0
23
0
0
0
0
-13
26
0
0
0
0
0
0
0
21
29
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
-21
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
9
0
0
0
0
0
0
0
8
10
0
0
0
0
0
0
0
-31
-7
0
0
0
0
0
0
0
-4
25
0
0
-5
1
0
0
-4
-15
-23
0
0
0
0
1
-8
-24
23
-54
0
0
0
0
0
-1
8
-32
-20
0
0
0
0
0
0
1
-32
121
0
0
0
0
0
0
-1
25
2
0
0
0
0
0
0
8
-15
10
0
0
0
0
0
0
0
6
45
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
0
5
15
0
0
0
0
0
0
-2
5
35
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
10
0
0
0
0
0
0
0
5
-17
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
-1
4
0
0
0
0
7
-22
-1
-15
11
0
0
0
0
0
2
0
-17
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
10
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
-20
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
-9
0
0
0
0
0
0
0
-18
-9
0
0
0
1
0
0
-2
2
10
0
0
0
0
0
0
0
-10
11
0
0
0
0
0
0
-1
15
-24
0
0
0
0
0
0
-1
1
34
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
8
18
0
0
0
0
0
0
0
-2
14
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
5
0
0
0
0
0
0
0
0
-2
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
-8
7
0
0
0
0
0
0
0
-9
1
0
0
0
-16
0
0
0
-9
-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
9
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
9
0
0
0
0
0
0
0
-1
27
0
0
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
-14
0
0
0
0
0
0
0
5
-28
0
0
0
0
0
0
0
19
-7
0
0
0
0
0
0
1
0
-33
0
0
0
0
0
0
0
-54
19
0
0
0
0
0
0
1
1
4
0
0
0
0
0
0
0
-4
26
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
-7
35
0
0
0
0
0
0
0
-2
13
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
17
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
7
-12
14
0
0
0
0
0
0
2
-16
-7
0
0
0
0
0
0
-6
8
-3
0
0
0
0
0
0
-10
-6
-2
0
0
0
0
0
0
4
-17
24
0
0
0
0
0
0
0
3
21
0
0
0
0
0
0
4
-16
-22
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
0
8
-21
0
0
0
0
0
0
0
7
1
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
29
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
-13
-11
0
0
0
0
0
0
0
-25
4
0
0
0
0
0
0
0
2
2
0
0
1
0
0
0
0
14
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
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
-2
-1
-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
-1
10
-2
0
0
0
0
-3
-46
-13
17
47
0
0
0
0
0
0
0
-24
36
0
0
0
0
0
0
-5
5
31
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
-5
0
-24
0
0
0
0
0
0
1
3
53
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
22
0
0
0
0
0
15
-3
-6
-21
0
0
0
0
0
0
0
10
14
0
0
0
0
0
0
0
8
13
0
0
0
0
0
0
1
6
13
0
0
0
0
0
-1
0
2
-5
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
6
-9
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
23
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
13
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
20
0
0
0
0
0
0
-4
1
80
0
0
0
-6
0
0
0
-16
21
0
0
0
0
0
0
0
2
43
0
0
0
0
0
0
2
2
-14
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
-8
38
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-23
5
0
0
0
1
0
0
0
-32
33
0
0
0
0
0
0
0
-23
20
0
0
0
0
0
0
-1
3
4
0
0
0
0
0
0
0
0
-32
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
-14
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
-21
0
0
0
0
0
0
0
4
14
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
1
23
0
0
0
0
0
0
0
-23
-25
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
-5
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
-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
6
0
0
0
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
9
3
0
0
0
0
0
0
-1
-1
7
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
1
0
-4
0
0
-6
0
0
0
1
-11
-11
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
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
26
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
0
0
-3
20
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
30
0
0
0
0
0
0
0
2
15
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
7
11
0
0
0
0
0
0
0
0
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
0
3
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
1
-35
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
17
0
0
0
0
0
0
0
1
-13
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
-20
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
-1
2
0
0
0
0
0
0
0
21
11
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-8
53
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
-20
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
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-1
2
31
0
0
0
0
0
0
0
-18
-18
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
18
29
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
11
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
14
0
0
0
0
0
0
0
1
11
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
-17
0
0
0
0
0
-6
2
8
-60
0
0
0
0
0
0
0
-18
-72
0
0
0
0
0
0
0
-21
45
0
0
0
0
0
0
-2
-4
-9
0
0
0
0
0
0
-1
1
-10
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
-11
0
0
0
0
0
0
0
-2
20
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
11
-10
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
-34
0
0
0
0
0
0
0
-29
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
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
10
0
0
0
0
8
-7
-29
-2
46
0
0
0
0
0
0
0
31
41
0
0
0
0
0
0
2
16
-14
0
0
0
0
0
0
0
-30
12
0
0
0
0
0
11
-7
-11
14
0
0
0
0
0
-1
-2
3
29
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
11
-61
0
0
0
0
-3
3
-3
-10
0
0
0
0
0
0
0
0
0
11
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
14
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
14
0
0
0
0
-10
13
-13
-27
32
0
0
0
0
0
0
-2
-5
-31
1
0
0
0
0
1
2
8
-37
8
0
0
0
0
-2
0
-26
-16
-6
0
0
0
-1
-1
0
-4
6
-1
0
0
0
0
0
0
-5
4
6
0
0
0
0
0
0
0
4
22
0
0
0
0
0
0
0
-4
-5
0
0
0
-8
-1
2
0
-25
2
0
0
0
0
0
0
-2
22
-29
0
0
0
0
0
0
2
-57
13
0
0
0
0
0
0
2
3
22
0
0
0
1
0
0
2
1
20
0
0
0
0
0
0
2
-1
-38
0
0
0
0
0
0
-1
7
6
0
0
0
0
-1
-1
-7
-32
-8
0
0
0
0
0
0
6
34
0
0
0
0
0
0
-3
11
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-24
27
0
0
0
0
0
0
-1
-3
-28
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
3
-16
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
10
0
0
0
0
0
0
4
2
92
1
0
0
-23
0
0
0
23
35
-3
0
0
0
0
0
0
10
24
1
0
0
0
0
0
0
-9
17
-6
0
0
0
0
0
0
2
8
17
0
0
0
0
0
0
-1
-27
-14
0
0
0
0
0
0
1
0
5
0
0
0
0
0
-1
-1
-2
10
0
0
0
0
0
0
16
1
3
0
0
1
0
0
0
2
-15
4
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
-2
-41
0
0
0
0
0
0
0
3
42
0
0
-1
0
0
0
-7
2
32
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-57
-14
6
0
0
0
0
-2
0
5
-12
0
0
0
0
0
0
0
8
10
0
0
0
0
0
0
0
-16
-5
0
0
0
0
0
0
0
31
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
19
-1
0
0
0
0
0
0
-4
-9
-3
0
0
0
0
0
0
10
7
5
0
0
0
0
0
0
9
-1
1
0
0
0
0
0
0
0
-2
97
0
0
0
0
0
0
-1
1
53
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
-1
-2
-25
0
0
0
0
0
0
2
-7
-18
0
0
0
0
0
0
0
-1
-24
0
0
0
0
0
0
0
1
43
0
0
0
0
0
0
0
1
-56
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
0
-11
8
-35
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
3
7
0
0
5
0
0
0
0
-25
15
0
0
0
0
0
0
0
-8
21
0
0
0
0
0
0
0
-5
-9
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-10
-14
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
13
-19
0
0
0
0
0
0
-15
-4
3
0
-3
0
0
0
0
25
0
12
0
0
0
0
0
0
0
-4
62
0
0
0
0
0
0
0
1
20
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
-1
0
0
0
0
0
0
1
1
-14
0
0
0
0
0
0
-1
0
-25
0
2
0
0
0
0
-2
0
-26
0
0
0
0
0
0
-3
0
-72
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
-35
0
2
0
0
0
0
4
0
-17
0
0
0
0
0
-1
-9
34
0
0
0
0
0
0
0
-8
-21
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
1
0
0
15
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
6
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
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
-13
3
7
0
0
0
0
0
0
-18
-20
-6
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
7
5
11
0
0
0
0
0
0
-1
-24
14
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
1
0
1
-59
0
0
0
0
0
1
0
-7
37
0
0
0
0
0
0
0
-2
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
2
-60
0
0
0
0
0
0
-1
-3
35
0
0
0
0
0
0
0
1
27
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
-11
15
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-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
0
1
0
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
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
26
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
-6
-33
0
0
0
0
0
0
0
-5
51
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
-1
-60
0
0
0
0
0
0
0
1
-23
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
23
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
6
-46
0
0
0
0
0
0
-1
16
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
-11
41
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
-1
2
16
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
-1
-65
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
35
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
-49
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
-1
43
0
0
0
0
0
0
5
-2
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
-14
-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
14
-17
-12
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
1
-45
0
0
0
0
0
1
1
0
-23
0
0
0
0
0
0
0
6
-78
0
0
0
0
0
0
1
6
-39
0
0
0
0
0
0
0
-4
-53
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
31
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
-17
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
-2
-3
0
0
0
2
4
-1
9
-10
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
0
-6
29
0
0
0
0
0
0
0
1
20
0
0
0
0
0
0
0
5
-13
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
-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
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
18
-8
0
0
0
0
0
0
6
-43
14
0
0
0
0
0
0
-2
1
49
0
0
0
0
0
0
1
-2
-44
0
0
0
0
0
0
1
2
-80
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
-1
49
0
0
0
3
7
0
18
2
16
0
0
0
0
0
1
5
53
22
0
0
0
0
0
0
0
-16
-6
-5
0
0
0
0
0
0
43
-3
-32
0
0
0
0
0
-1
-6
-30
16
0
0
0
0
0
-1
-20
-11
-21
0
0
0
0
0
0
-7
-65
79
0
0
1
0
0
-1
-4
-5
4
0
0
0
0
0
13
-15
0
0
0
-5
0
0
1
7
-27
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
3
8
17
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
1
5
-9
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
3
-10
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
14
-20
0
0
3
0
0
0
-8
-43
-22
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
3
16
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
21
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
31
-62
-8
0
4
0
0
0
-1
84
15
-19
0
0
0
0
0
0
6
-24
33
0
0
0
0
0
4
-9
7
17
0
0
0
0
0
0
-2
13
4
0
0
0
0
0
-1
-3
14
-14
0
0
0
0
0
0
1
20
-79
0
4
0
0
0
-14
-9
53
-41
0
0
0
0
0
1
5
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
-1
-9
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
-3
0
0
0
0
0
0
-3
11
26
0
0
0
0
0
0
-2
-1
-74
0
0
0
0
0
0
-5
0
-29
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
14
0
0
0
0
0
0
-4
-7
65
-5
0
0
0
0
0
-1
-8
10
5
0
0
0
0
0
-2
-3
26
-21
0
0
0
0
0
-1
-1
6
-22
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
-37
8
0
0
0
0
0
0
0
-24
38
0
0
0
0
0
-6
-18
0
0
0
0
0
0
0
-13
34
0
0
0
0
0
0
0
-10
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
2
0
0
0
0
0
0
-2
2
-50
0
0
0
0
0
0
0
-1
-24
0
2
0
0
0
0
1
0
-11
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
46
-80
-5
0
0
0
0
0
-20
-18
-50
40
0
0
0
0
0
0
1
-33
56
0
0
0
0
0
-1
3
-9
28
0
0
0
0
0
0
0
16
-3
0
0
0
0
0
0
0
-1
109
0
0
0
0
0
0
0
2
-55
0
0
0
0
0
-1
5
11
5
0
0
2
0
3
-10
63
0
0
0
0
0
0
0
0
32
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
-10
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
10
0
0
0
0
1
0
0
-4
-2
0
0
0
0
0
0
0
0
56
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
-17
31
0
0
0
0
0
0
1
2
-12
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
5
-16
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
10
33
16
0
0
0
0
0
0
15
16
-16
0
0
0
0
0
0
0
-25
40
0
0
0
0
0
0
-1
3
-21
0
0
0
0
0
0
-2
2
-12
0
0
0
0
0
0
0
26
-43
0
0
0
0
0
0
0
15
13
0
0
0
0
0
0
5
-17
-25
0
0
0
0
0
3
31
0
0
0
-5
0
0
0
5
-16
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
-1
26
0
0
0
0
0
0
0
1
-13
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
1
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
-4
0
0
0
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
0
0
0
0
0
0
0
-17
-20
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
-4
18
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
-9
-13
-23
0
0
0
0
0
0
-11
-33
-9
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
6
-20
0
0
0
0
0
0
0
-9
30
0
0
0
0
0
0
0
-2
31
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
25
-2
-35
0
0
0
0
0
17
-5
0
0
0
0
0
0
2
-4
20
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
10
-7
0
0
0
0
0
0
3
3
32
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
2
-35
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
15
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
4
-27
-3
0
0
0
0
0
0
1
-11
26
0
0
0
0
0
0
0
-6
16
0
0
0
0
0
0
0
6
33
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
14
-45
0
0
0
0
0
2
0
-44
95
0
0
15
17
21
-133
6
0
0
0
-21
-4
-37
26
-46
13
0
0
0
0
1
-11
-8
24
1
0
0
5
0
-6
1
-6
-6
-5
0
0
0
0
21
18
3
7
-13
0
0
0
-3
0
-1
4
8
44
0
0
0
0
0
0
-1
-8
7
0
0
-1
2
0
-1
2
5
-19
0
0
0
0
14
-2
3
-6
-8
0
0
0
10
-1
0
3
20
-2
0
0
0
0
0
0
2
4
-27
0
0
3
0
0
0
0
1
-21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
1
17
-2
0
0
0
1
0
0
-2
-48
15
0
0
0
0
-16
-10
-11
87
-13
2
0
0
6
-1
-1
-5
7
-5
-21
0
0
0
0
0
0
20
1
-81
0
-62
0
0
0
2
-43
31
-15
0
0
0
3
-17
6
15
-7
-23
0
0
-2
0
0
0
-10
-4
4
0
0
0
0
0
0
-34
5
15
0
0
0
0
1
0
-2
-1
14
0
0
0
3
18
-17
-1
8
-24
5
0
11
0
-1
0
-2
-14
-45
-15
0
0
0
0
0
-9
-1
-5
9
10
0
0
0
0
0
-5
18
-16
0
0
-15
-3
7
48
11
18
-51
0
-10
0
0
1
-15
5
-46
45
0
0
-1
-1
-3
-4
22
6
-18
-3
0
2
0
-5
-5
14
-8
0
0
0
-24
10
10
20
-3
0
0
0
0
0
1
-2
5
-10
0
0
0
0
0
0
0
17
-49
0
0
0
0
0
0
7
52
-16
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
-1
0
2
40
0
0
0
0
0
-2
0
-4
-6
0
0
0
0
0
0
7
-19
8
0
0
0
0
-1
1
0
-8
13
0
0
0
0
0
0
0
26
13
0
0
0
0
0
0
0
11
17
0
0
0
0
0
0
2
-11
9
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
3
23
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
-7
9
0
0
0
0
-3
-10
3
-5
43
0
0
0
0
0
0
1
-8
50
0
0
0
0
0
0
0
-21
11
0
0
0
0
0
0
1
-25
-18
0
0
0
0
0
0
1
-3
30
0
0
0
0
0
0
0
5
-43
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
3
15
0
0
0
0
0
0
1
1
5
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
8
-16
0
0
0
0
1
0
1
-1
14
0
0
0
0
0
0
1
0
-1
0
0
0
0
1
0
0
4
19
0
0
0
0
0
0
-11
-27
40
0
0
0
0
0
0
2
-3
1
0
0
0
-35
0
0
0
-26
3
0
0
0
0
0
0
0
18
13
0
0
0
0
0
0
0
-6
32
0
0
0
0
0
0
0
5
11
0
0
0
0
0
0
0
-10
38
0
0
0
0
0
0
0
7
-13
0
0
0
0
0
0
0
-4
-31
0
0
0
0
0
0
0
24
-23
0
0
0
4
0
0
0
2
-6
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
34
0
0
0
0
0
0
0
-13
-14
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-5
34
0
0
0
0
0
0
-2
-6
62
0
0
0
5
0
0
0
12
-44
0
0
0
0
0
0
0
-17
21
0
0
0
0
0
0
0
-13
32
0
0
0
0
0
0
0
-5
-12
0
0
0
0
0
0
0
-20
16
0
0
0
0
0
0
0
1
-23
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
-4
6
0
0
0
14
0
0
0
15
33
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
0
7
-39
0
0
0
0
0
0
0
-9
-32
0
0
0
-1
0
0
0
-18
19
0
0
0
0
0
0
0
-6
4
0
0
0
10
0
0
0
22
10
0
0
0
0
0
0
0
-21
-18
0
0
0
0
0
0
0
118
-32
0
0
0
0
0
0
0
-19
62
0
0
0
0
0
0
-1
-7
53
0
0
0
0
0
0
0
4
19
0
0
0
0
0
0
0
5
27
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
29
11
0
0
0
0
0
0
-1
-3
10
0
0
0
0
0
0
0
-11
24
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
-4
-17
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
25
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
-15
-2
0
0
0
0
0
0
0
-31
42
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
11
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
2
-8
7
0
0
0
0
0
0
0
-8
22
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
-14
-1
0
0
0
0
0
0
0
-6
17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
9
-2
0
0
0
0
0
0
3
-5
15
0
0
0
0
0
0
-4
8
-1
0
0
0
0
0
0
0
-18
-29
0
0
-4
0
0
0
0
5
9
0
0
0
0
0
0
2
10
-2
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
-2
24
11
0
0
0
0
0
0
0
-13
79
0
0
0
0
0
0
1
-39
20
0
0
0
0
0
0
0
-14
23
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
-17
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
-10
-17
0
0
0
0
0
0
0
8
23
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
-6
-13
0
0
0
0
0
0
-2
5
-9
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
-10
-4
0
0
0
0
0
0
0
-1
26
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
18
1
0
0
0
0
0
0
0
-4
-13
0
0
0
0
0
0
0
15
10
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
-4
-22
44
0
0
0
0
0
0
7
1
12
0
0
0
0
0
0
1
-24
54
0
0
0
0
0
0
0
-1
38
0
0
0
0
0
0
-3
17
-35
0
0
0
0
0
0
2
3
-11
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
2
-47
0
0
0
0
0
0
0
0
13
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
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
15
0
0
0
0
0
0
0
5
14
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
31
0
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
-13
0
0
0
0
0
0
0
-17
-5
0
0
0
-1
0
0
0
-11
8
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-7
-7
0
0
0
0
0
0
0
-3
45
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
11
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
-2
37
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
9
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
0
-1
-11
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
-8
0
0
0
0
0
0
0
10
34
0
0
0
0
0
0
0
-14
4
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
20
0
0
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
-25
0
0
0
0
0
2
-8
62
27
0
0
0
0
0
0
-7
-49
33
0
0
0
0
0
0
6
-2
-59
0
0
0
0
0
0
-1
-38
80
0
0
0
0
0
0
-2
-4
14
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
-9
-20
0
0
0
0
0
0
-3
8
-20
0
0
0
0
0
0
0
20
-14
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
23
4
0
0
0
0
0
0
0
-27
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
-11
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
5
0
0
0
0
0
0
-1
-11
31
0
0
0
0
0
0
0
27
-17
0
0
0
0
0
0
1
2
11
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
4
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
2
21
0
0
0
0
0
-3
0
2
-8
0
0
0
0
0
0
0
-2
14
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
21
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
2
0
0
0
0
0
-1
0
-1
-14
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
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
2
-6
-47
0
0
0
0
0
0
0
1
9
0
0
0
-1
0
0
1
-5
-5
0
0
0
0
0
0
0
6
15
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
5
32
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
11
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
-11
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
21
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
-14
14
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
3
55
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
-18
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
-14
0
0
0
0
0
0
-2
9
5
0
0
0
0
0
0
0
3
-28
0
0
0
0
0
0
0
-2
-15
0
0
-2
0
0
0
0
-33
30
0
0
0
0
0
0
0
6
-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
1
2
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
3
11
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
-20
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
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
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
-2
-2
24
0
0
0
0
0
0
-1
0
-16
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
-11
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
-14
0
0
0
0
0
0
0
-4
-16
0
0
0
0
0
0
0
-11
-22
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
1
-15
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
-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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
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
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
-4
0
0
0
0
0
0
3
-3
23
0
0
0
0
0
0
0
23
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
25
0
0
0
0
0
0
3
0
14
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
-10
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
43
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
-11
34
0
0
0
0
0
0
0
-1
38
0
0
0
0
0
0
-3
0
11
0
0
0
0
0
0
0
7
-18
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
1
0
-4
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
0
3
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
-13
0
0
0
0
0
0
0
1
-9
0
0
0
0
-2
1
-2
1
-5
1
0
0
0
0
0
0
-8
-16
-3
0
0
0
0
0
0
-1
13
15
0
0
0
0
0
0
9
5
-5
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
-2
-26
-12
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
-1
5
7
0
0
0
0
0
0
-1
10
-8
0
0
0
0
0
0
5
11
-20
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
2
-28
0
0
0
0
-1
0
-35
8
-14
0
0
0
0
0
-2
7
-2
0
0
0
-6
0
0
-1
-6
25
0
0
0
0
0
0
0
-6
77
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-9
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
37
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
16
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
6
35
0
0
0
0
0
0
0
-15
48
-2
0
0
0
0
0
0
-1
0
-4
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
-5
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
0
1
-47
0
0
0
0
0
0
7
-4
43
0
0
0
0
0
0
-4
5
-35
0
0
0
0
0
0
-2
-8
40
0
0
0
0
0
0
-7
5
-12
0
0
0
0
0
0
3
-5
-32
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
3
-1
-7
0
0
-7
0
0
0
1
-55
3
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
0
0
-5
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
9
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
0
0
0
0
0
0
0
2
13
-3
0
0
0
0
0
0
0
4
22
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
-16
7
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
0
-4
0
0
0
0
0
0
0
-3
46
0
0
0
0
0
0
0
-1
61
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
-6
3
7
0
0
0
0
0
-1
-15
-10
0
0
0
0
0
0
0
-14
48
0
0
0
0
0
0
-2
1
-2
0
0
-8
0
0
0
0
-11
10
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
-15
0
0
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
14
-3
0
0
0
0
0
0
18
13
-13
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
3
0
6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
-44
0
0
0
0
0
0
-13
11
29
0
0
0
0
0
0
2
-1
-84
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
16
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
-26
0
1
0
0
0
0
1
26
39
0
0
0
0
0
-1
10
-4
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-5
-10
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
-10
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
13
-4
0
0
0
0
0
0
-2
-33
33
0
0
0
0
0
0
0
2
18
0
0
0
0
0
0
3
1
23
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
13
30
0
0
0
0
0
0
1
2
-18
0
0
0
0
0
0
0
1
-44
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
20
-32
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-3
19
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
11
-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
-11
0
0
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
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
-10
28
0
0
0
0
0
0
0
2
-7
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
-18
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
8
-45
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
18
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
19
0
0
1
0
0
0
-6
-9
-18
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
-11
-11
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-10
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
12
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
2
-35
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
20
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
0
0
0
0
0
0
0
0
1
9
0
0
0
0
0
2
8
33
0
0
0
0
0
0
1
9
-19
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
-7
-18
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
-13
-5
0
0
0
0
0
0
3
-3
-11
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
23
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
2
-81
0
0
0
0
0
0
0
-2
-11
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
13
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
-1
-13
0
0
0
0
-2
0
0
43
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
-1
-27
22
0
0
0
0
0
0
-2
5
-14
0
0
0
0
0
0
0
-8
26
0
0
0
0
0
0
0
0
-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
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
-17
0
0
0
0
0
0
-21
-15
-15
0
0
0
0
0
0
0
-24
-26
0
0
0
0
0
0
3
1
14
0
0
0
0
0
0
0
-37
18
0
0
0
0
0
0
0
6
15
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
0
65
0
0
0
0
1
0
0
5
6
0
0
0
0
0
0
-1
-9
89
-6
0
0
0
0
0
0
1
-80
14
0
0
0
0
0
0
1
9
4
0
0
0
0
0
0
6
-50
-12
0
0
0
0
0
0
-5
-6
-7
0
0
0
0
0
0
-2
-3
-3
0
0
2
0
0
31
1
-57
2
0
0
0
0
1
-6
11
0
0
0
0
0
0
0
-35
61
0
0
0
0
0
0
0
7
20
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
10
-43
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
32
-22
0
0
2
0
0
0
1
-19
25
0
0
0
0
0
0
-1
9
1
0
0
0
0
0
0
3
9
54
0
0
0
0
0
0
0
-2
21
0
0
0
0
0
0
0
-3
25
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
13
33
2
0
1
0
0
0
1
-10
-85
7
0
0
0
0
0
-1
0
27
-15
0
0
0
0
0
0
0
-20
3
0
0
0
0
0
0
1
-26
-28
0
0
0
0
0
0
1
-3
14
0
0
0
0
0
0
0
0
13
0
-2
0
0
0
-8
-15
32
8
0
0
0
0
0
-11
-7
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
-15
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
13
2
0
0
0
0
0
0
6
9
11
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
-2
54
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
-1
39
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
1
-1
42
-7
0
0
0
0
0
0
-2
-16
9
0
0
0
0
0
0
0
-14
77
0
0
0
0
0
0
0
27
3
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
8
62
0
0
0
0
0
0
-4
1
-37
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-3
1
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
10
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
11
40
0
0
0
0
0
0
9
-4
26
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
-42
0
0
0
0
0
0
0
1
-41
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
5
0
0
0
0
0
0
0
-9
-50
-3
0
0
0
0
0
1
0
-36
-3
0
0
0
0
0
0
0
-15
29
0
0
0
0
0
-2
0
0
6
0
0
0
0
0
-1
-1
-18
-4
0
0
0
0
0
-1
0
0
-20
0
0
0
0
0
0
0
-4
-19
0
0
0
0
0
-11
15
8
-31
0
0
0
0
0
-1
-35
0
0
0
0
0
0
-1
-6
-7
0
0
0
0
0
0
1
-2
8
0
0
0
0
0
0
0
-23
32
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
18
0
0
0
0
0
0
0
0
-11
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
15
-41
0
0
0
0
0
0
9
23
43
0
0
0
0
0
0
0
-2
37
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
1
-80
0
0
0
0
0
0
0
-3
44
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
-4
3
8
0
0
0
0
0
0
10
-18
36
0
0
0
0
0
0
0
5
-51
0
0
0
0
0
0
-1
0
27
0
0
0
0
0
0
0
-17
3
0
0
0
0
0
0
0
6
9
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
-4
-1
47
15
0
0
0
0
0
-1
51
0
0
0
0
0
0
0
-13
2
0
0
0
0
0
0
0
-9
43
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
-29
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
10
0
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-52
0
0
-1
0
0
0
-2
-21
84
0
0
0
0
0
0
0
0
-55
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
-20
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
22
-1
0
0
0
0
0
0
1
41
-48
0
0
0
0
0
0
0
-14
-28
0
0
0
0
0
0
0
0
27
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
35
0
-1
0
0
0
0
-1
1
-15
0
0
3
-1
1
6
-42
0
0
0
0
0
0
0
7
26
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-10
14
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
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
35
-26
0
0
0
0
0
0
1
7
-79
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
1
-55
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
1
12
4
0
0
0
0
0
0
-1
-3
15
0
0
0
0
0
0
0
13
3
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
26
-50
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
0
4
-20
0
0
0
0
0
0
4
-20
-40
0
0
16
-27
-20
-20
2
0
0
0
39
-3
-54
79
19
-3
0
0
0
0
10
-5
16
1
-30
0
0
-2
1
-6
-18
-8
27
-15
0
0
0
0
8
7
17
-10
10
0
0
0
-5
-1
4
19
15
14
0
0
0
0
0
-2
14
36
-14
0
0
-3
4
0
-9
5
-23
-8
0
0
0
0
19
9
17
-44
-28
0
0
0
16
-1
-4
-3
-5
10
0
0
0
0
0
2
7
14
-7
0
0
7
0
0
0
3
0
-25
0
0
0
0
2
9
2
0
6
0
0
0
1
0
0
6
-10
-24
0
0
0
0
0
-1
0
-9
66
0
0
-2
0
0
1
-1
-28
16
0
0
0
0
-25
20
12
23
-100
1
0
0
-44
0
8
-23
-1
14
-4
0
0
0
4
5
-11
64
16
1
0
-45
3
3
-5
10
-18
45
-3
0
0
0
2
-23
-6
-1
31
1
0
0
-4
0
3
-11
-2
-26
12
0
0
0
0
1
5
-51
-35
35
0
10
0
0
2
6
-13
-14
-2
0
0
0
15
46
18
13
-27
-10
0
0
45
-1
-5
0
-28
53
20
-30
0
0
-2
0
5
-45
8
36
2
24
0
-2
4
-8
13
3
-22
-44
0
0
-2
8
9
14
22
-29
32
0
-20
0
1
-6
-33
28
-27
33
0
0
-1
-5
-8
-8
11
51
-34
15
10
2
0
-31
18
33
-30
-13
0
0
-42
-39
-6
-44
4
0
0
0
0
0
-14
46
25
-14
0
0
0
0
-3
20
-15
41
21
0
0
0
0
0
0
7
-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
1
2
4
24
-6
0
0
0
0
0
0
0
13
-43
0
0
0
0
0
-1
0
-8
23
0
0
0
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
44
-7
-2
-13
-5
0
0
0
0
0
0
7
-8
-9
0
0
0
0
0
0
4
-10
31
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
-6
5
-19
-19
11
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
16
-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
77
-1
0
0
0
16
5
8
6
-10
-2
0
0
0
0
0
1
-1
26
-2
0
0
0
1
0
-1
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
-13
-15
0
0
0
-9
0
0
0
14
-6
0
0
0
0
0
0
0
-1
30
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
118
0
0
0
-36
-2
0
0
30
-1
0
0
0
0
0
0
0
8
8
0
0
0
0
0
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
0
0
-14
-18
0
0
0
25
0
0
0
-8
14
0
0
0
0
0
0
0
1
-11
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
11
-23
45
20
0
0
0
0
0
2
3
-28
-17
0
0
0
0
0
0
13
-46
64
0
0
0
0
0
0
-21
-52
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
-11
-3
0
0
0
0
0
0
0
8
14
0
0
0
0
0
0
0
8
9
0
0
0
0
0
0
0
-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
0
0
-3
6
20
0
0
0
0
0
0
0
-13
17
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
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
-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
37
-28
20
0
0
0
0
0
-2
14
-24
15
0
0
0
0
0
1
-1
67
-20
0
0
-7
0
0
0
-14
-32
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
4
15
0
0
0
0
0
0
1
1
16
0
0
-1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
11
0
0
0
0
0
0
-1
-10
18
0
0
0
0
0
0
0
3
-21
0
0
35
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
18
0
0
0
0
0
0
0
0
-2
0
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
2
-2
-12
-5
-9
0
0
0
0
0
0
-4
32
5
0
0
0
0
0
0
-1
-2
16
0
0
0
0
0
0
3
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
4
-16
-3
-11
50
0
0
0
0
0
0
0
2
-21
0
0
0
0
0
0
0
4
20
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
9
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
28
0
0
0
0
0
0
-1
-1
-14
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
-27
-23
0
0
0
1
0
0
-14
-37
2
0
0
0
0
0
0
0
-27
-6
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
0
0
0
-25
0
0
0
5
44
0
0
0
0
0
0
0
1
45
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
1
2
0
0
0
0
0
0
2
-11
-11
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
11
0
0
0
0
0
0
0
11
10
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
-7
0
0
0
0
0
0
5
-2
-2
0
0
0
0
0
0
4
-11
9
0
0
0
0
0
0
-3
-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
0
2
-9
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
-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
-42
6
-1
0
0
0
0
0
0
11
-22
5
0
0
0
0
0
0
-9
-42
32
0
0
-2
0
0
0
23
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
-2
5
-13
0
0
0
0
0
0
1
-3
31
0
0
0
0
0
0
0
10
-24
0
0
1
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
3
-9
29
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
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
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
-19
6
1
26
0
0
0
0
0
0
-3
6
55
0
0
0
0
0
0
1
-23
6
0
0
0
0
0
0
0
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
2
0
-2
-12
0
0
0
0
0
0
0
11
23
0
0
0
0
0
0
0
0
16
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
30
0
0
0
0
0
0
0
-1
35
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
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
1
4
0
3
5
0
0
0
0
0
0
0
-6
23
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
11
0
0
0
-21
8
0
0
0
0
0
0
1
-26
31
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
0
0
-13
0
0
0
0
0
0
0
-3
44
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-14
0
0
0
-7
-5
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
15
0
0
0
2
0
0
0
7
-35
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
4
0
0
0
0
0
0
0
-11
28
0
0
0
0
0
0
0
9
-2
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
0
0
1
14
0
0
0
0
0
0
0
-1
-1
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
-4
-11
0
0
0
0
0
0
0
19
-33
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
-15
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
18
5
0
0
0
0
0
0
0
3
45
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
-20
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
14
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-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
-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
-28
0
0
0
0
0
0
0
1
74
0
0
0
0
0
0
0
-6
25
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
-20
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
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
10
-5
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
5
-53
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
16
0
0
0
0
0
0
0
1
-4
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
2
-2
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-15
4
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
-1
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
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
-13
0
0
0
0
0
0
0
1
33
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
-40
8
0
0
0
0
0
0
-3
7
-17
0
0
0
0
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
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-14
33
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
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-43
47
0
0
0
0
0
0
-5
14
-16
0
0
0
0
0
0
0
-2
43
0
0
0
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
0
5
6
-1
5
-62
0
0
0
0
0
0
0
4
-14
0
0
0
0
0
0
0
-10
11
0
0
0
0
0
0
0
-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
-19
-6
4
-1
-26
0
0
0
0
0
-3
0
-14
30
-1
0
0
0
0
0
0
-6
11
5
0
0
0
0
0
0
5
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
-2
-11
6
-30
-9
26
0
0
0
0
0
0
-23
3
36
0
0
0
0
0
-1
11
-17
-5
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
-2
0
0
0
-3
0
0
-2
-9
33
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-26
39
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
71
3
0
0
23
0
0
0
17
0
-1
0
0
0
0
0
0
9
0
-10
0
0
0
0
0
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
2
-25
-27
0
0
0
0
0
0
-13
21
-1
0
0
0
0
0
0
0
4
-30
0
0
0
0
0
0
0
-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
14
-9
0
0
0
0
0
0
0
11
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
13
-33
-4
0
0
0
0
0
0
0
29
-3
0
0
0
0
0
0
0
-10
16
0
0
0
0
0
0
0
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
-13
5
11
0
0
0
0
0
0
2
6
53
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
-30
0
0
0
0
0
0
1
-37
-34
0
0
0
0
0
0
0
1
6
0
0
19
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
20
21
0
0
0
0
0
0
0
-45
-24
0
0
0
0
0
0
0
-21
-15
0
0
1
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
0
0
0
0
0
0
0
0
3
-30
-1
0
0
0
0
0
0
-8
32
-13
0
0
0
0
0
0
1
0
9
0
13
0
0
0
0
-25
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
-7
7
-33
0
0
0
0
0
0
-5
15
-2
0
0
0
0
0
0
2
-2
-22
0
-2
0
0
0
0
-5
-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
1
-2
5
-15
0
0
0
0
0
0
0
0
29
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
-13
-4
0
0
0
0
0
0
1
0
29
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
13
-9
0
0
0
0
0
0
-7
-19
12
0
0
0
0
0
0
0
7
-6
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
0
0
0
0
0
0
0
0
0
0
0
1
-5
-8
39
0
0
0
0
0
0
-16
10
5
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
-14
0
0
0
0
0
0
0
-13
5
0
0
0
0
0
0
0
-1
-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
3
5
0
0
0
1
0
0
0
2
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
0
0
0
0
0
0
0
0
0
-2
-11
14
0
0
1
0
0
0
-1
-63
-6
0
0
0
0
0
0
0
2
24
0
0
0
0
0
0
1
-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
37
-82
0
0
1
0
0
0
9
30
14
0
0
0
0
0
0
0
7
25
0
0
0
0
0
0
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
-19
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
-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
0
0
0
0
0
0
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
11
-3
0
0
0
0
0
0
0
0
-3
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
-4
-1
63
0
0
0
0
0
0
0
6
-72
0
0
0
0
0
0
0
-1
-2
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
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
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
3
14
11
0
0
0
0
0
0
-2
6
6
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
14
-23
-26
0
0
0
0
0
0
6
1
-34
0
0
0
0
0
0
-3
0
-43
0
-1
0
0
0
0
0
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
3
5
-7
19
-23
0
0
0
0
0
0
0
-9
22
0
0
0
0
0
0
0
-2
-27
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
10
-26
-19
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-24
31
3
0
0
0
0
0
1
-21
-24
12
0
0
0
0
0
0
27
3
-52
0
0
0
0
0
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
3
0
0
17
-14
1
0
0
0
0
0
0
3
-9
-22
0
0
0
0
0
0
5
-7
20
-9
0
0
0
0
0
0
-1
-120
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
0
0
3
0
0
0
6
53
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
4
2
-24
24
0
0
5
0
0
-1
-8
10
-23
0
0
0
0
0
0
-1
-2
38
0
0
0
0
0
-2
-3
-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
-2
-7
-34
-5
0
2
0
0
0
3
-17
-39
1
0
0
0
0
0
-2
2
-4
7
0
0
0
0
0
-1
-1
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
1
0
16
0
0
0
0
0
0
0
17
44
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
0
-14
-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
-1
-8
0
0
0
0
0
0
0
-15
-24
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
1
0
0
0
0
0
0
-1
-32
-4
0
0
0
0
0
0
4
-5
17
0
0
0
0
0
0
0
-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
0
0
0
-2
9
42
-33
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
-72
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
-10
20
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-20
21
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
0
0
0
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
53
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
-5
0
0
0
0
0
0
-14
2
20
0
0
0
0
0
0
2
-1
-48
0
0
0
0
0
0
-11
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-90
9
0
0
0
0
0
-2
0
-31
49
0
0
0
0
0
0
0
-14
-9
1
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
27
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
1
0
0
5
71
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
-11
4
0
0
0
0
0
0
-11
35
-36
0
0
0
0
0
-2
6
-17
-1
0
0
0
0
0
0
1
-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
2
0
-3
32
-25
22
0
0
0
0
0
1
-13
5
-11
0
0
0
0
0
-4
2
44
-26
0
0
0
0
0
1
3
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
-4
4
0
0
0
-4
0
0
0
-7
24
0
0
0
0
0
0
0
-3
64
0
0
0
1
0
0
-1
-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
4
14
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
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
9
0
0
0
0
0
0
0
0
-47
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
31
-54
-17
0
-1
0
0
0
-5
-51
-77
32
0
0
0
0
0
0
-2
2
28
0
0
0
0
0
0
0
13
-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
-1
0
5
-3
0
0
0
0
0
0
0
3
22
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
3
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
1
0
-1
13
0
0
0
0
0
0
0
-5
-17
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
15
15
0
0
0
0
0
0
3
4
5
0
0
0
0
0
0
-2
1
-79
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
-1
0
-2
-1
1
22
29
0
0
0
0
0
7
0
-47
19
0
0
0
0
0
0
3
2
-71
0
0
0
0
0
1
-2
-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
7
26
12
-7
-18
0
0
0
6
-5
-7
-11
81
-12
0
0
0
0
5
1
10
-67
-2
0
0
4
-1
-5
0
10
-40
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-3
0
0
0
17
0
0
-1
-17
13
0
0
0
0
0
2
-1
0
-15
0
0
2
0
0
0
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
42
-11
11
-10
37
-7
0
0
-7
-1
2
-10
0
-6
15
0
0
0
-4
0
0
-36
-3
19
0
-32
1
0
0
0
-7
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
5
5
9
36
-14
-13
0
0
-7
-1
0
-1
-10
-4
-71
-10
0
0
0
0
0
-6
10
14
11
13
0
0
0
-1
-37
-20
-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
-34
-11
-5
-18
15
0
0
0
0
0
-3
13
16
-7
0
0
0
0
-2
0
5
37
4
0
0
0
0
0
0
7
36
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
0
0
0
0
0
0
1
-3
5
0
0
0
0
0
0
1
-20
28
0
0
0
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
1
-1
-2
-8
-25
0
0
0
0
0
0
0
-11
-11
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-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
1
-4
-5
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
-27
4
0
0
0
4
0
2
2
70
-13
0
0
0
0
0
0
-1
-45
62
0
0
0
0
0
0
0
35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-4
0
0
-3
5
6
0
0
0
0
0
0
0
-17
43
0
0
0
0
0
0
1
-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
18
14
0
0
0
5
0
0
1
-4
-9
0
0
0
0
0
0
0
8
-23
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
-45
-24
0
0
0
3
0
0
0
-23
30
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
39
10
0
0
0
0
0
0
1
-20
13
0
0
0
0
0
0
0
-18
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
-10
-28
5
0
0
0
0
0
0
3
-43
1
0
0
-3
0
0
0
2
-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
6
15
0
0
0
0
0
0
-1
8
15
0
0
0
0
0
0
-1
-2
24
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
-13
27
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
-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
-1
11
-14
0
0
0
0
0
0
0
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
-24
-4
60
0
0
0
0
0
0
3
5
-10
0
0
0
0
0
0
0
19
-48
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
-9
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
-32
-6
0
0
0
0
0
0
0
-2
33
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
34
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
0
0
0
0
0
0
0
-29
8
0
0
0
0
0
0
0
-17
13
0
0
0
0
0
0
0
-10
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
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
0
0
0
0
0
0
0
0
0
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
-1
0
0
1
-10
28
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
20
-34
0
0
0
0
0
0
0
25
-1
0
0
0
0
0
0
0
-6
15
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
11
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
5
-32
0
0
0
0
0
-1
-5
-27
-14
0
0
0
0
0
0
-4
-11
30
0
0
0
0
0
0
8
-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
3
-19
0
0
0
0
0
0
0
-18
6
0
0
0
0
0
0
0
6
-1
0
0
0
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
-17
9
8
0
0
0
0
0
0
4
10
14
0
0
0
0
0
0
0
1
0
0
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
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
17
-21
0
0
0
0
0
-1
0
-8
34
0
0
0
0
0
0
0
-25
45
0
0
0
0
0
0
0
5
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
-4
1
-8
-16
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
-1
0
0
-6
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
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
3
0
0
0
0
0
0
1
-19
8
0
0
0
0
0
0
0
-21
20
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
0
0
0
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
1
0
0
0
10
4
0
0
0
0
0
0
0
-1
7
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
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
36
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
-9
28
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
-10
-17
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
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
29
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
-22
0
0
0
0
0
0
-1
-6
30
0
0
0
0
0
0
0
0
-7
0
0
-3
0
0
0
-3
26
-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
-11
-5
0
0
0
0
0
0
0
-16
39
0
0
0
0
0
0
0
9
7
0
0
0
0
0
0
-2
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
1
0
0
0
0
0
0
0
0
2
10
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
-46
0
0
0
0
0
0
0
-6
21
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
41
0
0
0
0
0
0
-3
-7
-45
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
26
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
-20
66
0
0
0
0
0
0
0
2
-18
0
0
0
0
0
0
0
1
3
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
-1
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-14
36
0
0
0
0
0
1
0
0
24
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
-2
1
4
-19
0
0
0
0
0
1
0
0
13
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
24
0
0
0
0
0
0
0
3
-43
0
0
0
0
0
0
0
0
10
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
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
-35
-2
0
-21
33
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
-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
6
16
0
0
0
0
0
0
0
3
-59
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
-33
1
0
0
0
0
0
0
1
100
-4
0
0
0
0
0
-4
-5
7
2
0
0
0
0
0
0
6
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
-2
-4
-9
-1
0
0
0
0
0
0
5
7
-53
0
0
0
0
0
0
2
-13
-5
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
-1
-9
25
0
0
0
-10
0
0
-2
5
-17
0
0
0
0
0
0
0
-6
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
-3
9
0
0
0
1
0
0
0
-3
35
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
-50
54
1
0
0
-19
0
0
0
40
1
-4
0
0
0
0
0
0
26
-2
-15
0
0
0
0
0
-3
-19
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
-1
2
8
0
0
0
0
0
0
-46
5
-13
0
0
0
0
0
0
0
0
66
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
-21
26
0
0
0
0
0
0
0
-26
25
0
0
0
0
0
0
0
24
-15
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
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
-17
33
4
0
0
0
0
0
0
9
-3
-5
0
0
0
0
0
0
-3
-14
11
0
0
0
0
0
0
6
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
-1
-2
-18
0
0
0
0
0
0
1
-4
5
0
0
0
0
0
0
1
1
-17
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
-2
3
8
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
0
3
15
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
10
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
-11
6
1
0
0
0
0
0
0
-24
36
-3
0
0
0
0
0
2
4
-3
-5
0
3
0
0
0
-1
7
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
4
13
-11
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-10
11
0
0
0
0
0
0
0
10
26
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
-1
-24
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
7
0
0
0
0
0
0
9
-45
5
0
0
0
0
0
0
2
3
-13
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
7
0
0
0
0
0
0
0
2
33
0
0
0
0
0
0
1
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
0
0
0
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
-5
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
1
0
0
0
-8
37
-1
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
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
0
0
0
0
43
0
0
0
0
0
0
0
2
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-4
-23
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
9
16
0
0
0
0
0
0
-6
4
9
0
0
0
0
0
0
0
0
14
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
47
0
0
0
0
0
0
0
0
57
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
0
0
0
0
0
0
0
0
0
0
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
-40
0
0
0
0
0
0
1
-17
-15
0
0
0
0
0
0
0
4
29
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
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
0
0
0
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
27
-19
0
0
0
0
0
0
-3
-10
-3
0
0
0
0
0
0
1
1
-34
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-29
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
-2
-16
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
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
25
-9
0
0
0
0
0
0
0
-17
28
0
0
0
0
0
0
0
-2
45
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
-29
3
1
0
0
0
0
0
0
-10
-13
30
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
-16
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-7
0
0
0
0
0
1
2
48
5
1
0
0
0
0
0
-1
-9
-45
3
0
0
0
0
0
2
13
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
-1
-24
0
0
0
-3
0
0
1
-16
45
0
0
0
0
0
0
0
0
-18
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
-3
2
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
1
1
-4
3
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
-5
39
0
0
0
0
0
0
-5
-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
0
0
0
0
9
26
-10
2
0
6
0
0
0
7
6
-12
-9
0
0
0
0
0
0
2
30
9
0
0
0
0
0
5
7
-35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-14
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-21
0
0
0
0
0
0
2
-1
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-21
77
3
0
0
0
0
0
5
-3
-9
32
0
0
0
0
0
1
-5
48
-41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
11
0
0
0
0
0
0
0
-24
11
0
0
0
0
0
0
0
6
-14
0
0
0
0
0
0
0
-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
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
-8
1
51
0
0
0
0
0
0
-3
2
-64
0
0
0
0
0
0
-8
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
0
0
0
-24
10
-44
-3
0
0
0
0
0
7
1
-25
-33
0
0
0
0
0
0
2
-33
-37
0
0
0
0
0
-6
-5
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
1
-4
4
-35
20
0
0
0
0
0
0
0
8
15
0
0
0
0
0
0
0
-3
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
1
2
3
1
0
0
0
0
0
0
0
-8
-13
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
-1
4
36
21
0
0
0
0
0
0
-5
1
-37
0
0
0
0
0
0
0
1
-82
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
1
13
5
0
0
0
0
0
2
-7
14
11
0
0
0
0
0
-1
0
47
17
0
0
0
0
0
0
5
-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
-1
-3
29
0
0
0
3
0
0
0
-19
36
0
0
0
0
0
0
0
-5
-5
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
14
0
0
0
4
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
-2
13
-45
0
0
0
0
0
0
1
0
-43
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
1
-2
-83
28
0
0
0
0
0
-10
-11
7
-49
0
0
0
0
0
0
0
7
-43
0
0
0
0
0
0
0
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
2
-1
2
-21
-50
0
0
0
0
0
0
0
-19
36
0
0
0
0
0
0
0
3
50
0
0
0
0
0
0
1
-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
-2
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
-13
25
0
0
0
0
0
0
1
-17
-14
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
6
-37
-24
0
0
0
0
0
0
7
18
-27
0
0
0
0
0
-1
-1
-29
33
0
0
0
0
0
0
-1
-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
20
7
2
9
-3
0
0
0
-9
0
-3
64
28
-1
0
0
0
0
1
33
25
1
-14
0
0
8
-11
-8
-13
-33
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
-10
7
15
-17
-34
0
0
0
10
-2
-5
-4
-23
-1
0
0
0
0
0
-2
8
-8
30
0
0
-15
0
0
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
43
-48
12
54
-10
2
0
0
34
-9
8
-14
-108
-59
0
0
0
0
-6
6
4
-26
60
6
0
16
1
2
0
-8
-18
-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
10
-1
-10
-25
17
-25
-1
0
-12
-1
2
0
16
6
-74
-6
0
0
1
-1
-8
-20
32
-6
35
-9
2
0
0
-2
-63
-5
-80
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
24
-14
25
-39
14
0
0
0
0
-4
25
1
-63
4
0
0
0
0
-70
42
-42
-5
11
0
0
0
0
2
43
72
-32
1
0
0
0
0
-2
21
68
-60
17
0
0
0
0
-51
-24
50
11
45
0
0
0
0
-11
10
-13
-15
-4
0
0
0
0
-7
41
-5
6
6
0
0
0
0
37
-25
-2
-45
46
0
0
0
0
0
51
21
5
-23
0
0
0
0
42
-51
8
-83
39
0
0
0
0
2
52
-56
-6
6
0
0
0
0
-39
76
59
-20
21
0
0
0
0
8
-62
40
23
86
0
0
0
0
37
-47
17
79
30
0
0
0
0
-19
-39
-59
29
30
0
0
0
0
-5
-1
-7
-48
55
0
0
0
0
-1
21
28
-75
-3
0
0
0
0
-39
20
24
-9
79
0
0
0
0
0
-10
25
32
-9
0
0
0
0
0
-57
9
-39
15
0
0
0
0
9
-81
11
-20
-3
0
0
0
0
-6
15
-12
-9
60
0
0
0
0
22
32
82
-50
33
0
0
0
0
48
-14
-54
33
20
0
0
0
0
1
-66
89
-8
55
0
0
0
0
-2
-50
20
34
-26
0
0
0
0
3
77
15
-35
-3
0
0
0
0
29
-57
23
-40
35
0
0
0
0
14
-46
76
-71
3
0
0
0
0
28
154
63
-21
-100
0
0
0
0
24
11
-19
-26
-7
0
0
0
0
0
21
-22
24
3
0
0
0
-12
-28
58
-1
20
9
0
0
0
0
0
-16
-12
-5
10
0
0
0
-25
0
-26
11
23
2
0
0
0
0
39
45
54
-57
-5
0
0
0
39
-17
-11
11
56
-4
0
0
0
0
0
3
-9
2
24
0
0
0
-5
0
-4
99
-26
22
0
0
0
0
0
-21
-4
-23
39
0
0
0
-40
-7
-2
-30
19
68
0
0
0
0
0
-17
-10
-14
2
0
0
0
24
0
-49
-35
-55
59
0
0
0
0
0
-2
0
-92
19
0
0
0
26
0
-8
-24
72
-14
0
0
0
0
0
5
-19
4
-33
0
0
0
19
0
-33
32
36
16
0
0
0
0
0
3
39
-35
23
0
0
0
102
-2
-8
-7
-16
-2
0
0
0
0
0
1
-8
32
-21
0
0
0
-29
0
0
-35
30
40
0
0
0
0
0
1
-48
-53
52
0
0
0
-16
5
10
-16
93
-60
0
0
0
0
0
4
5
-2
20
0
0
0
22
0
5
48
-32
23
0
0
0
0
0
3
-53
34
42
0
0
0
21
0
15
3
-48
-12
0
0
0
0
0
2
8
-49
61
0
0
0
21
0
-3
15
21
9
0
0
0
0
-1
23
-74
39
17
0
0
0
29
-32
-1
59
25
12
0
0
0
0
0
-100
22
-90
51
0
0
0
1
-13
55
76
-28
3
0
0
0
0
13
-43
13
-66
6
0
0
0
0
0
1
-1
57
7
0
0
0
0
16
-4
15
14
6
0
0
0
0
0
-13
10
43
12
0
0
0
0
-1
5
5
20
-69
0
0
0
0
0
-2
15
-57
61
0
0
0
0
2
-2
19
-22
4
0
0
0
0
0
-60
15
-11
35
0
0
0
0
-2
75
-47
-50
-19
0
0
0
0
0
-5
8
-32
-12
0
0
0
0
6
-52
71
-26
0
0
0
0
0
0
4
-18
-40
-38
0
0
0
0
0
4
-20
-10
97
0
0
0
0
0
-5
-2
-81
46
0
0
0
0
2
29
45
-53
-12
0
0
0
0
-4
13
29
-5
10
0
0
0
0
0
3
36
-11
-45
0
0
0
0
0
1
3
-36
7
0
0
0
0
2
-17
-37
-42
24
0
0
0
0
0
3
-25
30
8
0
0
0
0
0
16
-2
-34
-4
0
0
0
0
0
1
-26
-5
91
0
0
0
0
0
2
22
33
-1
0
0
0
0
-2
9
47
-3
40
0
0
0
0
23
6
99
-130
16
0
0
0
0
0
1
-19
10
15
0
0
0
0
10
16
-49
-42
47
0
0
0
0
0
-6
6
54
14
0
0
0
0
13
43
18
26
-150
0
0
0
0
5
14
-29
-15
-75
0
0
0
0
14
-16
7
-90
53
0
0
0
0
-22
38
0
-9
25
0
0
0
0
0
14
-42
-32
-11
0
0
0
9
-1
-5
-7
-7
14
0
0
0
0
0
-4
-54
-7
13
0
0
-26
-26
2
19
-47
7
2
0
0
0
0
0
1
11
-69
29
0
0
0
0
0
-7
-9
-80
23
0
0
0
0
0
-17
6
-32
33
0
0
-24
-1
-10
4
-8
15
-13
0
0
0
0
0
0
-14
52
-13
0
0
0
14
0
-1
60
-53
-5
0
0
0
0
0
44
-23
-17
-6
0
0
-42
-1
-1
11
81
-90
-13
0
0
0
0
0
-3
3
4
16
0
0
0
-2
0
-2
13
-3
-32
0
0
0
0
0
1
-14
-18
5
0
0
88
-2
4
50
-21
-13
-103
0
0
0
0
0
1
62
-74
20
0
0
0
0
0
0
-20
-68
74
0
0
0
0
0
-2
-17
31
39
0
0
-1
-38
1
-4
3
-10
5
0
0
0
0
0
-3
-46
-14
45
0
0
0
0
0
4
12
-28
-53
0
0
0
0
0
0
0
-65
15
0
0
53
0
3
-39
67
-3
-33
0
0
0
0
0
1
4
28
5
0
0
0
-29
0
0
-4
26
-31
0
0
0
0
0
-4
-32
-32
61
0
0
-3
5
0
-39
-6
45
10
0
0
0
0
0
9
-18
-53
70
0
0
0
-2
0
0
-19
-21
56
0
0
0
0
0
14
19
-56
78
0
0
-23
68
-49
11
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-24
43
0
0
0
0
0
0
-13
9
1
0
0
0
0
-1
-24
14
33
-24
0
0
0
0
0
11
7
-30
80
0
0
0
0
3
37
-3
4
30
0
0
0
0
0
0
-15
5
-25
0
0
0
0
1
-1
10
-4
-8
0
0
0
0
-1
-2
-12
-53
72
0
0
0
0
89
-12
24
4
5
0
0
0
0
0
4
0
-11
39
0
0
0
0
2
19
51
-50
0
0
0
0
0
0
16
56
-13
-64
0
0
0
0
1
-15
32
-36
35
0
0
0
0
0
-7
-7
-3
25
0
0
0
0
32
-77
10
-19
-24
0
0
0
0
-5
45
-44
-2
15
0
0
0
0
-38
-39
10
-36
36
0
0
0
0
0
0
-1
-33
112
0
0
0
0
2
-16
32
-19
43
0
0
0
0
0
-8
-24
-28
73
0
0
0
0
5
9
-14
-20
129
0
0
0
0
0
1
3
-14
51
0
0
0
0
4
16
47
-40
-20
0
0
0
0
-9
-9
12
39
-58
0
0
0
0
-13
-127
8
-5
65
0
0
0
0
0
5
2
9
-23
0
0
0
0
3
5
46
-35
-14
0
0
0
0
-2
-10
22
28
52
0
0
0
0
-6
-30
74
24
-2
0
0
0
0
1
4
-16
30
30
0
0
0
0
-8
6
-63
-12
23
0
0
0
0
-46
73
63
27
-31
0
0
0
0
0
0
-7
16
7
0
0
0
-53
0
0
-7
3
19
0
0
0
0
0
0
-5
-28
-1
0
0
0
6
0
0
5
-25
-47
0
0
0
0
0
0
-3
5
46
0
0
0
3
0
0
-16
1
16
0
0
0
0
0
0
2
1
22
0
0
0
-1
0
0
38
-15
-43
0
0
0
0
0
2
-22
-19
9
0
0
0
33
0
-3
16
-32
5
0
0
0
0
0
0
2
-57
44
0
0
0
-1
0
0
-73
30
40
0
0
0
0
0
-1
-5
-5
50
0
0
0
3
0
3
-13
21
17
0
0
0
0
0
0
3
-30
-9
0
0
0
-2
0
-14
27
-16
-25
0
0
0
0
0
0
5
-15
14
0
0
0
-61
0
1
0
-113
74
0
0
0
0
0
0
-3
-15
23
0
0
0
0
0
-1
2
-15
-19
0
0
0
0
0
0
-3
-5
14
0
0
0
27
0
3
-1
7
-23
0
0
0
0
0
0
0
-71
7
0
0
0
-2
0
0
-14
-70
53
0
0
0
0
0
3
10
-103
17
0
0
0
-5
0
-3
1
-24
23
0
0
0
0
0
0
0
75
-8
0
0
0
-1
0
1
0
-63
24
0
0
0
0
0
3
4
-9
58
0
0
0
35
-2
2
1
-22
-18
0
0
0
0
-1
0
0
-41
5
0
0
0
-33
1
-47
-10
10
6
0
0
0
0
-1
-5
-3
-80
32
0
0
0
0
0
2
-5
-33
-26
0
0
0
0
0
1
1
-30
-15
0
0
0
0
0
3
1
36
21
0
0
0
0
0
0
1
-19
26
0
0
0
0
0
0
-2
33
-2
0
0
0
0
0
-2
-1
-11
8
0
0
0
0
0
0
-5
43
-1
0
0
0
0
0
3
-29
-74
71
0
0
0
0
0
-2
-3
-66
166
0
0
0
0
0
20
-11
-33
-24
0
0
0
0
0
9
-3
22
-24
0
0
0
0
0
4
-2
3
-59
0
0
0
0
0
-1
0
-6
-5
0
0
0
0
-7
-23
1
0
47
0
0
0
0
-8
-59
80
-5
-30
0
0
0
0
0
-2
4
8
37
0
0
0
0
0
0
0
10
-12
0
0
0
0
0
0
-2
29
-20
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
2
-17
34
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
-1
-2
8
0
0
0
0
0
-1
6
-4
-25
0
0
0
0
1
0
-4
14
32
0
0
0
0
0
0
0
0
15
0
0
0
0
-4
10
0
39
-53
0
0
0
0
0
3
-5
-105
56
0
0
0
0
1
-2
4
24
-3
0
0
0
0
0
1
-4
-18
90
0
0
0
0
7
11
4
-17
81
0
0
0
0
-20
12
-88
11
-15
0
0
0
0
0
7
3
3
24
0
0
0
0
0
-1
-8
-35
-32
0
0
0
0
0
0
0
-25
30
0
0
28
0
0
3
-45
38
30
0
0
0
0
0
0
8
-3
-47
0
0
0
0
0
1
4
-24
5
0
0
0
0
0
-1
0
-3
22
0
0
1
0
0
2
-17
6
15
0
0
0
0
0
-5
41
-72
40
0
0
0
2
0
0
2
-35
-52
0
0
0
0
0
-3
-25
-10
-17
0
0
63
2
0
6
-20
-47
12
0
0
0
0
0
0
2
2
43
0
0
0
0
0
0
-4
-1
-27
0
0
0
0
0
0
-6
-41
-2
0
0
-23
5
-1
-45
-11
-16
74
0
0
0
0
0
-1
8
18
-19
0
0
0
0
0
0
0
4
43
0
0
0
0
0
-2
0
-9
44
0
0
31
0
0
1
4
-47
2
0
0
0
0
0
0
7
-8
-41
0
0
0
0
0
0
1
-7
-6
0
0
0
0
0
0
-5
-3
2
0
0
-15
0
0
2
-51
-5
-47
0
0
0
0
0
0
3
-13
71
0
0
0
0
0
0
2
9
26
0
0
0
0
0
0
-2
3
3
0
0
-17
-4
-1
-1
26
-59
74
0
0
0
0
0
1
0
2
26
0
0
0
-2
0
0
7
24
-85
0
0
0
0
1
-2
14
16
-29
0
0
49
-10
0
21
-21
-38
-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
-9
23
117
44
-45
0
0
0
0
0
-14
81
-42
-53
0
0
0
0
-4
16
-29
41
52
0
0
0
0
0
21
44
-32
-2
0
0
0
0
-13
-80
28
27
19
0
0
0
0
1
-14
-2
33
92
0
0
0
0
0
5
-24
23
-14
0
0
0
0
-1
-29
-12
20
-33
0
0
0
0
-50
92
81
-31
13
0
0
0
0
0
2
4
10
1
0
0
0
0
5
-10
-11
-20
85
0
0
0
0
0
-17
4
-48
47
0
0
0
0
-9
-29
-15
5
47
0
0
0
0
0
5
2
-29
-18
0
0
0
0
26
31
24
-55
18
0
0
0
0
-24
9
41
21
7
0
0
0
0
50
-31
-34
-18
23
4
0
0
0
0
-26
-71
-14
-61
15
0
0
0
-12
50
7
14
-3
6
0
0
0
1
-18
46
2
68
0
0
0
0
-6
-45
-24
-13
18
20
0
0
0
-4
-14
-29
-9
26
-1
0
0
0
65
9
-47
-95
27
2
0
0
0
68
20
24
-59
15
-17
0
0
0
2
0
44
34
12
1
0
0
0
0
-4
49
-55
-35
12
0
0
0
11
-10
-19
-23
26
20
0
0
0
0
-16
12
-32
33
-4
0
0
0
-44
25
41
33
8
-8
0
0
0
18
-45
58
-41
26
-8
0
0
0
-50
2
20
93
81
-22
0
0
0
15
-9
21
-16
66
2
0
0
0
0
4
-33
-52
-18
0
0
0
-18
-2
8
-4
-62
19
0
0
0
0
0
0
31
37
-38
0
0
0
1
0
-2
23
-74
38
0
0
0
0
0
4
-43
66
60
0
0
0
11
0
-13
74
-22
-26
0
0
0
0
0
-1
0
-61
-2
0
0
0
0
1
-5
38
-40
24
0
0
0
0
0
2
6
-19
59
0
0
0
-52
0
1
0
-52
33
0
0
0
0
0
1
-4
-5
47
0
0
0
5
0
-6
7
25
16
0
0
0
0
0
0
1
-31
41
0
0
0
61
0
4
-18
27
7
0
0
0
0
0
6
-2
-23
29
0
0
0
33
1
-43
14
21
10
0
0
0
0
0
0
33
2
5
-5
0
0
-39
-5
1
5
23
25
3
0
0
0
0
1
41
-46
-11
-15
0
0
0
0
0
-37
5
13
-4
0
0
0
0
0
22
-69
-31
17
0
0
-59
-1
-1
5
-80
91
16
0
0
0
0
-1
0
-24
17
-15
0
0
-18
1
10
2
8
3
1
0
0
0
0
3
5
2
-15
-4
0
0
-15
0
0
-2
-67
-18
25
0
0
0
0
0
9
-28
33
-13
0
0
15
0
-2
-43
-77
90
7
0
0
0
3
-2
-10
14
129
-26
0
0
95
-3
0
-36
-34
1
14
0
0
0
3
-4
-6
11
46
-19
0
0
-61
-15
-19
7
-12
14
5
0
0
0
2
2
-3
3
44
0
0
0
0
0
0
1
-56
49
0
0
0
0
2
17
44
-84
-44
0
0
0
0
0
1
13
-93
58
0
0
0
0
0
0
-15
-27
2
0
0
0
0
0
3
-1
-10
48
0
0
0
0
0
1
0
17
0
0
0
0
0
0
5
16
-94
68
0
0
0
0
0
-1
-3
33
16
0
0
0
0
0
0
1
5
-2
0
0
0
0
0
5
1
16
-25
0
0
0
0
0
-4
1
-24
0
0
0
0
0
0
0
0
9
-10
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
-5
23
33
-53
0
0
0
0
1
1
23
-14
-5
0
0
0
0
1
0
-7
-66
135
-13
0
0
0
0
0
1
70
-19
-10
0
0
0
-9
-23
-63
-24
20
1
0
0
0
0
-3
50
-4
-30
-6
0
0
0
0
0
3
-1
-90
9
0
0
0
0
0
-8
-16
1
16
0
0
0
-4
-18
-15
5
25
11
0
0
0
5
35
-5
-18
37
-25
0
0
0
1
-1
78
-66
81
2
0
0
0
0
1
-2
-49
35
16
0
0
0
1
-10
-20
-34
-19
47
0
0
0
0
0
-25
10
62
-24
0
0
0
-2
-1
4
26
18
9
0
0
0
-1
-2
14
15
50
-29
0
0
0
3
17
8
-46
-33
8
0
0
0
-23
-20
9
9
34
8
0
0
0
0
-3
10
46
16
0
0
0
0
0
-1
15
16
12
0
0
0
0
0
-1
26
-24
53
0
0
5
3
1
-6
-8
-74
-23
0
0
0
0
0
2
6
-33
-16
0
0
0
0
0
3
3
-80
27
0
0
0
0
0
0
1
5
9
0
0
-2
0
-1
32
7
-33
18
0
0
0
0
0
2
-4
-10
57
0
0
0
0
0
0
1
-1
10
0
0
0
0
0
3
-7
-46
18
0
0
24
0
0
15
0
16
19
0
0
0
0
0
0
-4
6
-37
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
-2
3
-5
0
0
-5
0
-1
-14
-11
-71
2
0
0
0
0
0
2
24
9
70
-27
0
0
0
0
0
15
-95
29
-15
0
0
0
0
-2
0
-71
-16
-19
0
-27
2
2
-6
-39
27
96
-2
0
0
0
0
-1
-21
96
-16
0
0
0
0
0
0
35
2
6
23
0
0
0
0
0
9
-24
-14
6
0
16
0
3
-11
-53
14
5
7
0
0
0
0
0
1
22
-7
-15
0
0
-2
0
0
5
2
81
-36
0
0
0
0
0
3
-33
35
13
0
2
-4
0
0
18
-15
-20
42
0
0
0
0
0
7
-63
-17
34
0
0
7
0
0
0
-10
37
-29
0
0
0
0
-3
25
-20
8
-8
0
11
4
7
-3
-80
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-106
71
0
0
0
0
0
0
-51
-18
44
0
0
0
0
2
4
83
-18
-23
0
0
0
0
0
5
71
-84
-19
0
0
0
0
0
-49
-14
14
123
0
0
0
0
0
0
17
9
19
0
0
0
0
0
-5
5
-2
2
0
0
0
0
0
-27
-52
32
62
0
0
0
0
-34
-18
-4
70
-35
0
0
0
0
0
2
2
-65
-22
0
0
0
0
-1
-10
-18
56
14
0
0
0
0
0
-13
-52
50
17
0
0
0
0
2
-16
5
10
-19
0
0
0
0
-2
3
-1
1
-37
0
0
0
0
9
21
-7
-34
33
0
0
0
0
23
-10
-14
-17
-33
0
0
0
0
-19
57
100
-44
30
-33
0
0
0
0
0
19
-6
-22
36
0
0
0
0
5
87
-29
48
-10
0
0
0
0
1
37
-66
34
-14
0
0
0
21
43
-31
12
-9
21
0
0
0
-1
3
14
-3
-23
6
0
0
0
0
9
-11
84
-15
-35
0
0
0
-3
62
44
-42
0
-12
0
0
0
-60
-6
-14
57
4
-30
4
0
0
0
21
30
23
1
-3
-2
0
0
-5
5
-46
-81
9
-9
7
0
0
0
19
-9
-79
18
3
1
0
0
-71
-4
32
-4
62
-17
-3
0
0
27
-57
-29
7
44
-35
-3
0
0
9
15
1
-25
89
-10
-12
0
0
21
42
45
-38
-14
-15
-2
0
0
0
0
5
-30
36
0
0
0
54
0
2
-2
-117
-25
0
0
0
0
0
0
-13
-21
1
0
0
0
3
0
-3
14
8
56
0
0
0
0
0
0
-1
-14
85
0
0
0
2
0
0
-7
8
6
0
0
0
0
0
0
4
20
3
0
0
0
0
0
0
30
-25
46
0
0
0
0
0
0
3
-7
-30
0
0
0
-15
0
-2
0
-1
51
0
0
0
0
0
0
0
-14
0
0
0
0
-6
0
-5
37
3
-14
0
0
0
0
0
3
0
-10
43
0
0
0
-27
0
0
-9
-22
60
0
0
0
0
0
0
5
-5
-7
0
0
0
-2
0
2
14
-18
35
0
0
0
0
0
0
5
-91
23
-7
0
0
-39
0
2
5
-3
-17
-11
0
0
0
0
0
1
-34
15
14
0
0
0
0
0
-9
-54
5
16
0
0
0
0
0
-9
23
12
-25
0
0
-10
0
-3
17
32
4
-8
0
0
0
0
0
0
41
71
-71
0
0
0
0
-1
3
-100
60
18
0
0
0
0
-1
48
-32
36
23
-13
0
100
0
-25
-76
73
48
-5
-17
0
0
0
0
-25
32
-27
-23
-16
0
-5
0
-5
10
29
-52
-44
-11
0
0
5
-3
8
14
-44
-70
13
0
-28
0
0
-7
12
-12
-18
-11
0
0
0
-11
-8
-89
19
-78
42
0
98
-4
-14
-43
-87
-5
46
-26
0
0
0
4
0
-1
-32
0
0
0
0
0
0
-3
-52
43
0
0
0
0
0
0
19
6
-12
0
0
0
0
0
2
0
14
43
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
-2
-11
-1
0
0
0
0
0
0
-2
-26
0
0
0
0
0
0
0
18
-5
14
0
0
0
0
1
0
0
-41
17
0
0
0
0
0
0
0
4
-3
0
0
0
0
-1
-2
-10
65
-7
0
0
0
0
0
-2
2
-62
53
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-1
0
-16
-6
0
0
0
0
-1
-1
0
-4
-9
0
0
0
0
4
-5
-46
8
18
0
0
0
0
0
-4
5
-25
-19
-5
0
0
0
0
0
1
-26
-7
-15
0
0
0
0
0
3
7
46
-87
0
0
0
0
-1
0
25
-47
-10
0
0
0
0
0
-9
-5
16
-48
0
0
0
0
-3
0
-6
2
-62
0
0
0
0
0
0
7
-4
-66
0
0
0
0
-21
26
-54
31
12
0
0
0
-2
-1
-14
38
-26
57
5
0
0
0
0
0
-72
-61
-14
54
0
0
-7
29
7
-55
64
-8
-12
0
0
-3
2
-23
-29
-69
-8
7
0
0
-9
1
-1
17
37
-38
7
0
0
0
-2
-3
-10
-24
14
30
0
0
-17
4
15
62
49
-51
3
0
0
-13
-18
-72
-48
-73
-7
34
0
0
0
0
6
19
-94
0
0
0
0
0
0
-11
-37
55
0
0
0
0
0
0
-16
7
30
0
0
0
0
0
0
-23
-109
-27
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
0
0
10
5
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
-65
-14
1
0
0
0
0
0
-2
3
-3
4
0
0
0
0
0
0
-1
-24
1
0
0
0
0
0
0
5
-6
-23
0
0
-3
0
0
23
-17
19
-55
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
-10
13
-11
0
0
0
0
0
1
-10
-89
60
-35
0
0
0
0
0
-25
-48
48
50
0
0
0
0
0
5
10
8
-76
0
-82
0
0
-2
-32
-41
27
11
0
0
0
0
-1
0
0
-10
22
0
0
0
0
0
-4
-2
3
37
0
0
0
0
0
-2
1
1
-85
0
45
0
0
-41
35
-53
-5
14
0
0
0
0
9
-35
69
-12
-48
-8
0
0
0
0
33
65
-43
-58
-35
0
0
0
0
5
1
81
-49
0
71
1
0
-60
24
0
-93
17
1
0
0
0
-7
-4
-78
26
0
11
0
0
0
-2
27
7
-26
-71
38
0
0
-1
1
-9
16
30
9
27
-71
21
0
-21
-36
5
29
-40
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-52
21
-49
34
0
0
0
0
-2
15
81
-109
19
0
0
0
0
22
-40
-18
-46
7
0
0
0
0
0
68
-5
66
-19
0
0
0
0
28
-24
84
-55
67
0
0
0
0
-17
-9
53
20
-27
0
0
0
0
0
8
-6
-14
7
0
0
0
0
1
-20
15
-12
15
0
0
0
0
-49
4
29
-5
29
0
0
0
0
0
3
15
-60
-2
0
0
0
0
29
-29
-35
32
32
0
0
0
0
-1
28
-23
12
20
0
0
0
0
-43
61
-35
-6
49
0
0
0
0
0
-9
10
48
-27
0
0
0
0
35
44
11
-18
-11
0
0
0
0
11
-63
13
19
15
0
0
0
0
1
-98
-26
-58
79
0
0
0
0
2
7
-117
55
21
0
0
0
0
-2
-4
-14
-38
42
0
0
0
0
0
1
-4
-19
93
0
0
0
0
-27
-52
-77
42
32
0
0
0
0
0
3
10
-29
5
0
0
0
0
-7
11
-48
-77
59
0
0
0
0
6
3
18
-29
17
0
0
0
0
2
14
41
-14
32
0
0
0
0
0
16
34
27
30
0
0
0
0
-20
5
30
-98
74
0
0
0
0
1
-14
62
-64
3
0
0
0
0
-69
46
24
2
10
0
0
0
0
7
-80
21
59
-32
0
0
0
0
4
-46
25
28
-15
0
0
0
0
55
62
-58
22
11
0
0
0
0
0
6
82
-32
20
0
0
0
8
-3
1
2
-6
12
0
0
0
0
0
0
1
-5
4
0
0
0
5
0
-6
-14
13
17
0
0
0
0
0
-1
0
-36
-43
0
0
0
-15
0
1
-11
-10
8
0
0
0
0
0
-1
3
16
-13
0
0
0
-1
0
-2
14
-1
-16
0
0
0
0
5
-3
-44
-39
14
0
0
0
-15
0
3
-14
13
53
0
0
0
0
0
5
-3
29
13
0
0
0
5
0
-1
2
6
-2
0
0
0
0
0
0
20
-2
-10
0
0
0
-9
0
-7
0
-36
50
0
0
0
0
0
-4
0
-5
-7
0
0
0
5
0
23
-59
-5
-7
0
0
0
0
0
0
-31
-62
23
0
0
0
10
0
0
6
-107
41
0
0
0
0
0
-1
10
-24
39
0
0
0
-4
0
3
19
-37
49
0
0
0
0
0
0
5
-10
20
0
0
0
-38
0
0
-9
-16
56
0
0
0
0
0
0
6
2
14
0
0
0
-1
0
-26
47
6
-21
0
0
0
0
0
-2
-43
-37
7
0
0
0
23
0
3
-5
11
16
0
0
0
0
0
-10
3
33
-34
0
0
0
-3
0
-7
-17
-47
40
0
0
0
0
0
-1
-12
-72
35
0
0
0
32
-1
-1
15
14
-33
0
0
0
0
0
-5
-4
-8
-45
0
0
0
-49
-5
42
-42
-44
32
0
0
0
0
1
1
-32
6
20
0
0
0
0
0
0
-18
5
44
0
0
0
0
1
-3
14
23
-42
0
0
0
0
0
-1
31
-38
-39
0
0
0
0
0
0
14
25
-13
0
0
0
0
0
-2
-1
-34
36
0
0
0
0
0
0
-2
-1
-5
0
0
0
0
0
-13
58
10
-53
0
0
0
0
0
2
-17
-67
32
0
0
0
0
0
0
-5
-24
2
0
0
0
0
0
8
5
-18
-32
0
0
0
0
0
0
-20
26
41
0
0
0
0
0
3
1
23
-63
0
0
0
0
0
0
-7
-23
-25
0
0
0
0
0
4
33
-53
-11
0
0
0
0
0
3
-5
22
-9
0
0
0
0
0
1
10
-89
32
0
0
0
0
0
0
2
-11
14
0
0
0
0
0
1
-20
-40
46
0
0
0
0
0
6
5
-49
83
0
0
0
0
0
0
-2
14
-56
0
0
0
0
0
0
-1
-51
50
0
0
0
0
0
0
0
-11
35
0
0
0
0
0
2
21
-25
46
0
0
0
0
0
0
27
39
-5
0
0
0
0
0
1
0
-5
-20
0
0
0
0
0
0
2
-21
-19
0
0
0
0
0
3
3
-49
14
0
0
0
0
0
0
17
-3
-9
0
0
0
0
0
-2
5
0
-4
0
0
0
0
2
5
-1
-31
3
0
0
0
0
-44
-43
-41
2
27
0
0
0
0
3
3
-1
-12
15
0
0
0
0
0
0
26
26
11
0
0
0
0
0
0
12
-30
14
0
0
-21
-19
0
0
30
-3
24
0
0
0
0
0
0
-31
-22
26
0
0
0
0
0
-4
-22
5
-28
0
0
0
0
0
0
2
11
-22
0
0
22
0
0
-2
-14
1
16
0
0
0
0
0
0
-10
-14
51
0
0
0
0
0
0
7
-47
7
0
0
0
0
0
1
41
-97
58
0
0
-24
0
0
0
37
-62
37
0
0
0
0
0
-8
-9
-16
52
0
0
0
0
0
1
31
-47
4
0
0
0
0
0
-1
7
74
-4
0
0
-3
0
0
-7
9
-73
31
0
0
0
0
0
-1
-12
-30
34
0
0
0
0
0
0
25
15
-23
0
0
0
0
0
0
0
-67
-4
0
0
-79
1
0
0
-14
55
42
0
0
0
0
0
-1
32
-10
46
0
0
0
0
0
1
-10
71
-22
0
0
0
0
0
0
11
-45
5
0
0
2
0
0
-6
-1
14
31
0
0
0
0
0
1
47
-55
-5
0
0
0
0
0
0
27
-52
49
0
0
0
0
0
1
-43
29
17
0
0
4
0
0
0
20
1
-17
0
0
0
0
0
3
53
-51
-25
0
0
0
1
0
0
29
-10
-14
0
0
0
0
0
5
2
-63
-17
0
0
107
49
-3
11
-4
3
-2
0
0
0
0
20
1
-13
-25
11
0
0
0
0
0
-1
43
-80
10
0
0
0
0
0
0
-8
68
-9
0
0
0
0
0
1
97
-31
12
0
0
0
0
0
-5
8
-24
96
0
0
0
0
0
3
-5
-15
61
0
0
0
0
0
0
-2
49
16
0
0
0
0
0
-1
50
-60
-15
0
0
0
0
0
-14
-28
13
34
0
0
0
0
0
-3
0
47
-35
0
0
0
0
0
2
-23
-33
16
0
0
0
0
0
4
-54
-26
29
0
0
0
0
-1
-4
2
1
70
0
0
0
0
0
0
-11
-5
59
0
0
0
0
0
-14
0
5
14
0
0
0
0
-1
33
0
-48
3
0
0
0
0
-1
-4
70
-85
-15
0
0
0
0
0
-2
-8
-23
71
0
0
0
0
0
-2
-36
11
8
0
0
0
0
0
0
39
60
-45
0
0
0
0
0
6
-19
2
45
0
0
0
0
0
-1
11
9
-16
0
0
0
0
0
1
5
-11
-24
0
0
0
0
0
-13
-11
2
46
0
0
0
0
-37
-5
-21
14
78
0
0
0
0
0
0
5
-7
63
0
0
0
0
0
1
-37
5
44
0
0
0
0
0
24
-14
21
-10
0
0
0
0
0
1
3
30
-5
0
0
0
0
0
0
10
-5
-26
0
0
0
0
-4
-21
43
48
-20
0
0
0
0
34
-21
55
-99
8
0
0
0
0
0
0
-3
-6
16
0
0
0
33
0
0
-5
5
2
0
0
0
0
0
0
-4
-114
55
0
0
0
0
0
0
-9
-24
7
0
0
0
0
0
0
5
17
12
0
0
0
0
0
0
44
23
27
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
9
-59
30
0
0
0
0
0
0
7
-22
22
0
0
0
-2
0
0
2
-16
21
0
0
0
0
0
-1
10
-17
10
0
0
0
0
0
0
11
10
2
0
0
0
0
0
0
-1
-6
68
0
0
0
1
0
0
0
-2
-43
0
0
0
0
0
0
5
-5
41
0
0
0
0
0
1
48
-2
-3
0
0
0
0
0
0
-6
-18
18
0
0
0
26
0
-1
-45
-5
49
0
0
0
0
0
0
2
19
-21
0
0
0
0
0
0
-19
-40
13
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
-5
26
44
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
0
-40
0
0
0
-5
0
0
11
2
-21
0
0
0
0
0
-2
-9
-61
67
0
0
0
-2
0
0
-24
-44
81
0
0
0
0
0
0
-33
9
6
0
0
0
-36
0
0
-1
15
-72
0
0
0
0
-2
0
-41
6
42
0
0
0
-8
0
17
-48
-21
1
0
0
0
0
1
-3
2
-13
30
0
0
0
0
0
0
0
-32
-15
0
0
0
0
0
0
-10
-17
52
0
0
0
0
0
0
10
-23
-46
0
0
0
0
0
-1
1
2
44
0
0
0
0
0
0
1
-3
-26
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
16
-7
3
0
0
0
0
0
0
0
14
-26
0
0
0
0
0
0
1
-4
31
0
0
0
0
0
0
1
13
-26
0
0
0
0
0
0
33
2
44
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
2
-19
0
0
0
0
0
0
0
0
18
0
0
0
0
0
5
-24
-3
-44
0
0
0
0
0
-4
6
-15
7
0
0
0
0
0
0
0
-33
83
0
0
0
0
0
0
2
8
-8
0
0
0
0
0
0
0
-73
9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
-4
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-17
1
0
0
0
0
0
1
3
2
-14
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
0
-9
0
-13
0
0
0
0
0
0
-1
37
-3
0
0
0
0
0
0
-14
-9
39
0
0
0
0
0
-4
0
1
48
0
0
0
0
-1
0
1
3
6
0
0
0
0
5
-25
34
8
20
0
0
0
0
0
-34
120
-64
8
0
0
0
0
0
3
-1
-32
-13
0
0
0
0
0
5
-5
14
-3
0
0
-3
0
0
5
67
23
-16
0
0
0
0
0
0
-3
-26
18
0
0
0
0
0
0
53
-19
33
0
0
0
0
0
0
40
14
-81
0
0
0
0
0
-23
5
-32
16
0
0
0
0
0
-7
50
10
2
0
0
0
0
0
0
11
-32
12
0
0
0
0
0
3
-33
2
25
0
0
0
0
0
-7
7
-16
14
0
0
0
0
0
-1
1
-2
23
0
0
0
0
0
3
-18
-4
-9
0
0
0
0
0
-2
-14
-25
44
0
0
0
0
0
-62
-63
74
24
0
0
0
0
0
3
-68
71
-20
0
0
0
0
0
0
-9
-20
42
0
0
0
0
0
-2
-10
-17
36
0
0
4
0
0
-2
-10
4
13
0
0
0
0
0
5
14
-49
27
0
0
0
0
0
-1
13
9
-3
0
0
0
0
0
0
-31
18
-6
0
0
0
0
0
-34
26
-33
32
0
0
0
0
0
-1
-34
-15
7
0
0
0
0
0
2
8
-43
-42
0
0
0
0
0
-1
2
-30
49
0
0
2
0
0
-7
-9
29
25
0
0
0
0
0
7
-29
22
-7
0
0
0
1
0
-2
1
57
-18
0
0
0
0
-4
33
-30
-9
33
0
0
-35
0
0
-43
-20
3
9
0
0
0
0
4
-13
-5
45
27
0
0
0
0
0
0
-14
-1
65
0
0
0
0
0
3
-5
-49
-2
0
0
0
0
0
9
33
-97
0
0
0
0
0
0
10
25
17
-41
0
0
0
0
0
5
-14
-72
85
0
0
0
0
0
4
-29
-18
82
0
0
0
0
0
24
-41
7
14
0
0
0
0
42
-17
-33
0
20
0
0
0
0
0
6
-1
47
-48
0
0
0
0
-1
8
-20
-84
24
0
0
0
0
0
-9
-6
-53
75
0
0
0
0
0
0
-2
3
1
0
0
0
0
0
1
7
-3
0
0
0
0
0
5
6
-7
-7
56
0
0
0
0
-1
-6
44
40
-48
0
0
0
0
-14
35
-30
-9
11
0
0
0
0
0
8
-5
3
17
0
0
0
0
0
2
14
37
44
0
0
0
0
0
-2
17
25
10
0
0
0
0
1
-24
-4
-16
38
0
0
0
0
0
1
17
15
-7
0
0
0
0
0
0
1
-5
48
0
0
0
0
1
-45
71
-63
19
0
0
0
0
-23
-5
0
5
18
0
0
0
0
0
-1
2
-14
-65
0
0
0
0
0
-4
-2
-31
58
0
0
0
0
0
-7
36
-9
68
0
0
0
0
13
-11
3
-25
-9
0
0
0
0
0
-4
-5
-47
77
0
0
0
0
-10
-23
34
65
-15
0
0
0
0
54
33
30
-24
-17
0
0
0
0
0
0
-33
-20
23
0
0
0
-24
0
4
-5
5
8
0
0
0
0
0
0
0
5
39
0
0
0
7
0
0
-5
9
0
0
0
0
0
0
0
5
-35
88
0
0
0
4
0
0
1
-8
73
0
0
0
0
0
0
0
-14
5
0
0
0
0
0
0
49
-13
-11
0
0
0
0
0
0
-9
14
62
0
0
0
-33
0
0
0
-4
-28
0
0
0
0
0
2
6
-20
9
0
0
0
-3
0
2
-41
-42
45
0
0
0
0
0
0
0
-4
-7
0
0
0
-2
0
0
0
3
46
0
0
0
0
0
-4
1
-4
32
0
0
0
-1
0
3
5
-43
10
0
0
0
0
0
0
8
1
22
0
0
0
18
0
1
-1
-41
-27
0
0
0
0
0
0
0
20
11
0
0
0
0
0
0
7
-62
-16
0
0
0
0
0
0
1
-10
-2
0
0
0
3
0
0
0
-20
-19
0
0
0
0
0
0
0
-36
19
0
0
0
0
0
0
-1
6
32
0
0
0
0
0
0
1
-10
79
0
0
0
19
0
-1
1
-22
-36
0
0
0
0
0
0
1
-29
64
0
0
0
0
0
0
-9
-14
-6
0
0
0
0
0
-2
-2
-13
-19
0
0
0
9
0
-1
2
48
-38
0
0
0
0
0
-1
0
-19
34
0
0
0
5
-5
45
23
-41
-4
0
0
0
0
1
6
5
-20
-6
0
0
0
0
0
0
2
2
34
0
0
0
0
0
-2
-2
-43
5
0
0
0
0
0
0
-36
27
-33
0
0
0
0
0
0
0
14
33
0
0
0
0
0
0
-6
16
-10
0
0
0
0
0
0
0
-15
-3
0
0
0
0
0
0
-26
30
45
0
0
0
0
0
3
-3
11
20
0
0
0
0
0
0
0
-63
79
0
0
0
0
1
0
1
2
-17
0
0
0
0
0
0
-7
-5
11
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
-15
5
0
0
0
0
0
3
-7
-5
11
0
0
0
0
0
0
8
-5
33
0
0
0
0
0
0
2
-71
2
0
0
0
0
0
-2
0
17
0
0
0
0
0
0
0
-6
-43
-9
0
0
0
0
0
0
0
5
41
0
0
0
0
0
0
0
-4
-53
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
-33
-1
21
0
0
0
0
1
-1
0
6
-16
0
0
0
0
0
0
-1
15
10
0
0
0
0
0
-1
-1
7
-3
0
0
0
0
0
1
-5
-18
1
0
0
0
0
-1
0
0
-23
52
0
0
0
0
0
0
5
-43
66
0
0
0
0
-2
0
1
4
29
0
0
0
0
-11
-15
-73
-39
-24
0
0
0
0
0
3
19
-9
-42
0
0
0
0
0
0
-20
52
-40
0
0
0
0
0
0
4
-5
1
0
0
53
0
0
0
-12
-47
65
0
0
0
0
0
-1
5
14
3
0
0
0
0
0
0
-3
-2
-20
0
0
0
0
0
0
-5
-1
-22
0
0
0
0
0
5
20
50
-40
0
0
0
0
0
0
14
-32
72
0
0
0
0
0
0
0
24
41
0
0
0
0
0
0
11
-52
60
0
0
2
0
0
0
18
-11
-24
0
0
0
0
0
0
0
-7
15
0
0
0
0
0
0
2
-11
43
0
0
0
0
0
-1
8
0
-11
0
0
0
0
0
0
-23
53
-1
0
0
0
0
0
1
-4
-2
18
0
0
0
0
0
0
5
-12
-13
0
0
0
0
0
0
1
-53
13
0
0
-1
0
0
0
1
-64
-10
0
0
0
0
0
-2
-6
6
-7
0
0
0
0
0
0
-21
-47
44
0
0
0
0
0
0
2
33
-2
0
0
1
0
0
9
6
4
-35
0
0
0
0
0
0
0
-24
24
0
0
0
0
0
0
5
-50
-6
0
0
0
0
0
0
9
-51
-46
0
0
26
0
0
0
-11
-2
6
0
0
0
0
0
0
14
-16
32
0
0
0
1
0
0
-3
-27
-7
0
0
0
0
0
0
8
-46
5
0
0
-10
-20
3
-1
-8
-44
45
0
0
0
0
0
3
-8
-6
-21
0
0
0
0
0
2
-9
3
24
0
0
0
0
0
0
0
-63
55
0
0
0
0
0
0
30
-39
-21
0
0
0
0
0
-3
0
2
7
0
0
0
0
0
0
-4
1
33
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
29
-8
-35
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
0
0
-1
48
0
0
0
0
0
0
1
-2
-23
0
0
0
0
-1
-2
0
1
-9
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
-1
4
0
0
0
0
1
0
-9
1
2
0
0
0
0
2
-9
19
9
-47
0
0
0
0
0
0
0
-8
17
0
0
0
0
0
0
1
0
37
0
0
0
0
0
0
1
8
13
0
0
0
0
0
-1
0
-4
87
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
1
-1
6
0
0
0
0
0
0
0
25
14
-51
0
0
0
0
3
0
0
-2
27
0
0
0
0
0
0
1
3
-14
0
0
0
0
0
0
7
-7
3
0
0
0
0
0
0
6
-15
32
0
0
0
0
1
2
7
2
11
0
0
0
0
0
-1
2
-1
38
0
0
0
0
-1
0
3
-9
18
0
0
0
0
-31
-10
27
-68
-22
0
0
0
0
0
0
1
-46
56
0
0
0
0
0
0
-5
-10
17
0
0
0
0
0
0
5
-40
76
0
0
0
0
0
0
-32
-14
30
0
0
0
0
0
0
-5
-7
8
0
0
0
0
0
0
0
1
-30
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-2
11
18
-16
0
0
0
0
0
0
0
5
21
0
0
0
0
0
0
0
7
-14
0
0
0
0
0
0
0
-10
20
0
0
0
0
0
0
4
-24
5
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
0
-1
0
24
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
2
0
43
0
0
0
0
0
0
4
-17
-3
0
0
0
-1
0
0
-3
-36
2
0
0
0
0
0
0
-3
-6
29
0
0
0
0
0
0
-10
-5
-10
0
0
0
0
0
0
0
11
15
0
0
0
0
0
0
0
-2
-10
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
-32
8
0
0
0
0
0
0
-2
2
27
0
0
0
0
0
0
-2
3
14
0
0
0
0
0
0
2
-14
1
0
0
0
0
0
0
0
-13
-9
0
0
0
0
0
-2
1
8
-5
0
0
0
0
0
0
0
-5
24
0
0
0
11
2
-22
-25
-6
20
0
0
0
0
-42
0
3
78
3
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
0
0
-29
23
0
0
0
0
0
-1
-3
-9
44
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-8
29
0
0
0
0
0
0
1
2
24
0
0
0
0
0
4
-33
-17
2
0
0
0
0
0
-2
1
0
-6
0
0
0
0
0
0
0
-3
38
0
0
0
0
-2
0
1
9
-14
0
0
0
0
0
0
-1
13
-6
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
2
-1
16
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
1
0
43
0
0
0
0
3
0
-4
-20
37
0
0
0
0
0
0
0
-5
-29
0
0
0
0
0
0
-1
-8
39
0
0
0
0
0
-1
-3
5
10
0
0
0
0
0
0
-1
-2
-53
0
0
0
0
0
0
-5
-2
-53
0
0
0
0
0
0
-1
10
-4
0
0
0
0
0
1
-5
-36
3
0
0
0
0
0
0
-1
1
39
0
0
0
0
0
-3
0
-5
-29
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-6
-5
-10
0
0
0
0
-1
3
-1
-8
2
0
0
0
0
0
-2
0
14
17
0
0
0
0
-7
0
1
21
-24
0
0
0
0
7
14
23
-71
-10
0
0
0
0
0
9
-5
48
-56
0
0
0
0
0
0
-53
-14
-1
0
0
0
0
0
0
6
42
-6
0
0
-1
0
0
0
10
34
35
0
0
0
0
0
2
3
-8
10
0
0
0
0
0
0
4
18
-33
0
0
0
0
0
0
34
-55
10
0
0
0
0
0
0
44
-20
-5
0
0
0
0
0
-17
7
5
-16
0
0
0
0
0
0
4
-11
52
0
0
0
0
0
2
-6
39
-5
0
0
0
0
0
-1
-3
-2
-13
0
0
0
0
0
-5
0
1
23
0
0
0
0
0
-1
-1
4
14
0
0
0
0
2
-8
-2
-2
5
0
0
0
0
3
8
21
-57
5
0
0
0
0
0
14
0
12
47
0
0
0
0
0
0
29
-98
-5
0
0
0
0
0
4
-4
-19
11
0
0
0
0
0
1
22
-44
-32
0
0
0
0
0
-6
0
-3
-17
0
0
0
0
0
1
27
-4
-48
0
0
0
0
0
0
-6
21
-1
0
0
0
0
0
-7
26
-33
-15
0
0
0
0
0
5
-19
-29
44
0
0
0
0
0
0
7
-69
41
0
0
0
0
0
13
-17
21
-33
0
0
4
0
0
3
-16
-18
-23
0
0
0
0
0
4
-16
11
116
0
0
0
0
0
3
-7
-39
22
0
0
0
0
0
-4
6
-8
-20
0
0
23
3
-18
-52
18
-33
0
0
0
0
0
-68
38
16
-32
28
0
0
0
0
0
-6
2
-22
53
0
0
0
0
-1
0
-1
-27
4
0
0
0
0
0
8
3
-49
10
0
0
0
0
-3
-28
22
14
3
0
0
0
0
-1
-3
24
-29
3
0
0
0
0
1
5
-16
6
5
0
0
0
0
-2
-17
27
39
-3
0
0
0
0
-31
-14
-53
6
79
0
0
0
0
0
0
2
-46
-15
0
0
0
0
-3
-7
-13
33
17
0
0
0
0
0
6
46
-81
24
0
0
0
0
15
-2
0
5
-18
0
0
0
0
-2
2
0
8
32
0
0
0
0
6
-23
5
41
-39
0
0
0
0
-32
-25
97
-23
60
0
0
0
0
-28
-56
5
-25
5
3
0
0
0
0
4
-3
4
95
-3
0
0
0
8
-9
13
22
43
-5
0
0
0
0
-8
-1
24
16
-9
0
0
0
26
9
-45
6
45
-2
0
0
0
0
0
-8
41
74
2
0
0
0
1
-6
-2
68
-53
7
0
0
0
6
19
14
-19
-5
2
0
0
0
-11
16
8
-24
59
15
0
0
0
0
1
-17
5
4
25
0
0
0
-8
-2
-5
-77
33
17
0
0
0
0
17
17
33
4
28
0
0
0
70
-21
-27
-24
5
1
0
0
0
0
-3
1
20
55
23
0
0
0
2
25
-5
-54
80
-15
0
0
0
41
58
52
-108
12
10
0
0
0
0
1
14
37
-1
0
0
0
-19
0
0
1
2
44
0
0
0
0
0
0
5
-36
-15
0
0
0
7
0
0
-20
-109
-14
0
0
0
0
0
0
-2
-35
18
0
0
0
1
0
0
-1
5
57
0
0
0
0
0
0
-1
1
2
0
0
0
-4
0
0
20
20
-9
0
0
0
0
0
-1
1
-10
24
0
0
0
-11
0
-3
0
-104
55
0
0
0
0
0
0
0
-61
-3
0
0
0
0
0
1
-6
24
-17
0
0
0
0
0
0
0
10
-17
0
0
0
4
0
0
0
24
-40
0
0
0
0
0
0
0
-13
26
0
0
0
1
0
-31
-7
-2
7
0
0
0
0
0
0
3
-58
6
8
0
0
33
0
0
0
-37
33
0
0
0
0
0
0
0
-32
8
-6
0
0
0
0
-2
-5
42
-146
18
0
0
0
0
0
0
-62
15
12
0
0
15
0
0
0
-43
97
-24
0
0
0
0
0
-2
3
3
4
0
0
0
0
0
-9
32
13
-16
0
0
0
-1
0
2
75
-34
-10
0
0
-16
0
0
-3
5
54
-10
0
0
0
0
0
-2
-12
5
-7
0
0
-29
0
-1
-8
-99
92
11
0
0
0
0
0
0
20
36
-2
0
0
43
0
-1
2
-5
-40
14
0
0
0
3
0
0
-40
93
-25
0
0
127
-2
-27
20
-29
-33
-4
0
0
0
2
0
0
-55
22
0
0
0
0
0
0
0
-48
37
0
0
0
0
0
-1
0
33
-14
0
0
0
0
0
0
0
5
-34
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
-47
0
10
0
0
0
0
0
0
4
3
22
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
-10
11
0
0
0
0
0
0
0
-26
10
0
0
0
0
0
-1
1
-18
-16
0
0
0
0
0
-4
0
9
-7
0
0
0
0
1
-1
-5
-20
71
0
0
0
0
6
0
1
-46
44
-2
0
0
0
0
0
0
1
15
-12
0
0
0
0
0
-3
21
-11
-17
0
0
0
0
0
-3
-21
22
-1
0
0
0
0
0
0
8
-8
-13
0
0
0
0
0
1
8
24
-14
0
0
0
0
0
-1
-9
0
32
0
0
0
0
0
-32
25
2
-25
0
0
0
0
-1
0
-50
128
-19
0
0
0
0
0
0
15
2
-43
0
0
0
0
1
0
3
18
-56
0
0
0
0
-1
-5
-22
5
24
0
0
0
0
0
0
5
-22
30
0
0
0
0
0
5
-30
29
-42
0
0
0
0
-6
0
25
-4
5
0
0
0
22
13
24
-26
24
-9
0
0
0
0
0
5
-26
-3
0
0
0
0
0
-2
4
-89
35
0
0
0
0
0
0
7
20
5
0
0
-24
0
0
-1
1
7
37
0
0
0
0
0
-1
18
-29
-10
0
0
0
0
0
0
-9
5
15
0
0
0
0
0
1
4
-14
0
0
0
0
0
0
-1
-6
-23
43
0
0
0
0
0
-2
4
-17
8
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
2
1
10
14
0
0
18
0
0
4
3
24
-7
0
0
0
0
0
0
0
-10
-2
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
-43
-2
0
0
0
0
0
-6
-17
-61
12
0
0
0
0
0
0
33
-21
90
-12
0
0
0
0
0
-8
-86
-34
20
0
0
0
0
2
-3
-90
-6
17
0
-13
0
0
1
11
-36
6
-14
0
0
0
0
0
-2
-54
22
23
0
0
0
0
0
5
-26
-32
7
0
0
0
0
0
0
8
0
-26
0
68
0
0
0
-25
-86
-6
3
0
0
0
0
0
-11
37
-56
24
0
0
0
0
0
3
-19
11
-19
0
0
0
0
0
9
4
-16
31
0
2
0
0
-1
3
35
-46
14
0
0
0
0
0
-2
38
34
-69
0
0
0
0
0
3
10
11
-50
0
0
0
0
0
-4
-70
21
35
0
61
-1
1
-43
-3
38
141
-42
0
0
0
6
2
-47
-47
95
0
0
0
0
0
0
0
5
37
0
0
0
0
-1
-3
-32
16
-16
0
0
0
0
0
6
-15
-10
82
0
0
0
0
0
-2
0
-2
-34
0
0
0
0
0
0
-7
-2
50
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
-3
-44
9
6
0
0
0
0
3
0
1
-14
34
0
0
0
0
0
0
-1
-4
40
0
0
0
0
0
0
-3
2
14
0
0
0
0
0
2
10
9
-40
0
0
0
0
0
-2
4
0
27
0
0
0
0
0
0
0
2
-5
0
0
0
0
2
0
-2
3
8
0
0
0
0
-4
-14
53
7
-27
0
0
0
0
-2
1
-7
-3
-49
4
0
0
0
0
0
2
-12
29
-13
0
0
0
0
0
14
2
-20
6
0
0
0
0
-8
-3
15
67
-61
0
0
0
0
-4
0
-3
-53
22
0
0
0
0
2
-1
0
-9
-13
0
0
0
-6
-1
1
3
-3
3
0
0
0
0
6
13
-35
-8
11
0
0
0
0
1
2
-5
60
13
0
0
0
0
0
2
-19
20
39
0
0
0
0
0
3
5
9
25
0
0
0
0
-4
-3
-20
-49
57
0
0
0
0
0
0
4
6
23
0
0
0
0
0
1
-43
16
13
0
0
0
-5
0
0
-5
6
-50
0
0
0
-9
67
47
-46
42
-10
0
0
0
0
-1
8
11
-7
0
0
0
-4
0
0
2
-44
65
0
0
0
0
0
0
-11
0
44
0
0
0
0
0
0
-4
-37
69
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
-1
2
0
0
0
0
0
-3
-16
-1
5
0
0
0
0
0
0
3
6
-12
0
0
0
0
0
0
0
-21
66
0
0
0
0
0
0
5
-3
22
0
0
0
0
0
0
-2
11
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
-21
0
0
0
0
0
0
0
-3
30
-3
0
0
0
0
0
0
10
33
17
0
0
0
0
0
-1
-6
17
-60
0
0
0
0
0
3
-10
-14
14
0
0
0
0
0
1
0
-19
-1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
8
-46
0
0
0
0
1
-1
0
0
-102
0
0
0
0
0
0
25
-83
1
0
0
3
0
0
-11
-6
7
-17
0
0
0
0
0
-2
-5
-53
71
0
0
0
0
0
0
6
-15
-14
0
0
0
0
0
0
0
-18
-14
0
0
-4
0
0
1
0
-14
-53
0
0
0
0
0
2
-5
7
-54
0
0
29
1
0
9
5
69
-23
0
0
0
-2
0
-1
-26
11
0
0
0
0
0
0
2
-27
-32
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-3
-68
14
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
13
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
-9
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
-13
0
0
0
0
0
0
1
0
15
9
0
0
0
0
0
-1
2
-38
38
0
0
0
0
0
0
3
-29
-2
0
0
0
0
0
0
25
0
-39
0
0
0
0
0
0
0
6
-15
0
0
0
0
0
0
0
-1
-31
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
5
0
-61
0
0
0
2
0
1
2
-5
-17
0
0
0
0
0
0
1
-9
48
0
0
0
0
0
0
-1
4
-35
0
0
0
0
0
-4
-1
-1
-87
0
0
0
0
0
0
-9
2
-83
0
0
0
0
0
0
-1
-2
13
0
0
0
1
0
0
3
0
11
0
0
0
-9
4
-19
-5
-46
5
0
0
0
0
5
-15
20
-37
0
0
0
0
0
0
0
-62
-13
0
0
0
0
0
-1
10
-36
4
0
0
-1
0
0
0
19
-44
10
0
0
0
0
0
3
-3
0
1
0
0
0
0
0
0
3
-2
14
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
-55
7
7
0
0
0
0
0
1
-4
17
14
0
0
0
0
0
0
4
7
6
0
0
0
0
0
1
-11
-8
16
0
0
0
0
0
4
-16
2
0
0
0
0
0
0
0
-3
0
-20
0
0
0
0
0
0
-7
1
4
0
0
0
0
0
0
-5
0
-5
0
0
0
0
0
3
19
-41
8
0
0
0
0
1
2
1
17
53
-33
0
0
0
0
0
0
-24
68
15
0
0
0
0
-2
2
-9
-15
31
0
-1
0
0
1
-6
29
2
9
0
0
0
0
0
1
3
-16
-39
0
0
0
0
0
0
5
-2
10
0
0
0
0
1
0
-2
0
-47
0
0
0
0
0
5
2
1
-73
0
0
0
0
0
1
-17
51
-25
0
0
0
0
0
1
-15
5
-24
0
0
0
0
0
4
-2
-6
-26
0
-2
0
0
0
8
-6
3
-9
0
0
0
0
-1
2
-4
-16
-71
0
0
0
0
0
6
-25
-4
-19
0
0
0
0
0
4
0
3
-21
0
-32
-1
0
-8
-23
10
34
-49
0
0
0
5
-51
20
8
41
0
0
0
0
0
0
-2
-38
26
0
0
0
0
0
-2
5
-44
15
0
0
0
0
1
0
53
-62
32
0
0
0
0
1
-52
-19
65
0
0
0
0
0
0
-1
-26
9
53
0
0
0
0
0
13
0
-4
-5
0
0
0
0
0
13
8
-71
0
0
0
0
0
-3
8
24
-19
-44
0
0
0
0
0
3
0
36
18
0
0
0
0
0
-6
-1
2
-10
0
0
0
0
0
1
11
8
27
0
0
0
0
0
1
-9
-3
49
0
0
0
0
0
0
-5
8
6
0
0
0
0
-2
0
1
0
-3
0
0
0
0
14
43
1
-1
-4
0
0
0
0
51
4
-17
-93
68
10
0
0
0
0
0
3
-11
42
38
0
0
0
0
0
-2
10
-14
4
0
0
0
0
-4
52
10
-6
9
0
0
0
5
9
13
8
-62
27
0
0
0
-1
4
2
-2
23
17
0
0
0
0
4
0
-14
-9
-24
0
0
0
0
37
36
-20
-46
-23
0
0
0
11
-45
5
-10
47
-30
0
0
0
0
0
3
-32
96
41
-6
0
0
0
2
-6
-9
35
-23
-2
0
0
0
-5
-21
-48
-28
-41
14
0
0
-58
-14
-2
8
14
-9
7
0
0
3
-1
29
-14
132
-63
-1
0
0
-5
2
0
2
43
0
-3
0
0
-2
75
25
45
-4
-35
15
0
0
0
0
-6
27
33
0
0
0
-12
0
2
1
-18
8
0
0
0
0
0
0
-7
-4
37
0
0
0
0
0
0
45
-3
-25
0
0
0
0
0
0
4
49
-5
0
0
0
1
0
0
3
-26
-5
0
0
0
0
0
0
2
-16
-33
0
0
0
0
0
-1
29
-65
65
0
0
0
0
0
-3
1
-6
23
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
2
-4
-25
19
0
0
0
0
0
0
1
-31
31
0
0
0
0
0
0
0
-26
37
0
0
0
17
0
-3
1
-3
-39
0
0
0
0
0
4
0
-6
15
0
0
0
4
0
0
-3
52
-53
0
0
0
0
0
0
5
-23
54
9
0
0
-12
0
0
0
-36
-30
14
0
0
0
0
0
-1
-43
36
24
0
0
0
0
1
-7
-16
5
47
0
0
0
0
0
-4
0
36
-80
0
0
-6
0
0
-11
24
-5
13
0
0
0
0
0
-1
-7
22
-51
0
0
0
0
0
4
-60
39
-10
0
0
0
0
3
2
75
17
-17
-4
0
79
0
0
0
15
28
-164
-1
0
0
0
0
-7
17
60
-8
-18
0
-2
0
0
-2
-1
-21
-90
10
0
0
0
0
0
43
32
-99
-13
0
32
0
1
3
5
-18
19
-7
0
0
0
0
0
-4
17
110
-40
0
39
5
-4
-50
-59
-32
16
-25
0
0
0
1
-1
0
84
0
0
0
0
0
0
0
17
-11
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
-7
32
4
0
0
0
0
0
0
-1
-66
-2
0
0
0
0
0
0
-4
-9
10
0
0
0
0
0
-8
2
1
0
0
0
0
0
0
0
-43
-53
23
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
-17
-1
0
0
0
0
0
4
-6
3
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
-9
-2
0
0
0
0
0
0
-1
-14
-54
16
0
0
0
0
0
-4
37
-87
17
0
0
0
0
0
-1
-17
25
14
0
0
0
0
-2
-1
5
-3
40
0
0
0
0
0
0
-10
11
42
0
0
0
0
0
0
-5
13
5
0
0
0
0
0
0
-3
-5
-43
0
0
0
0
0
0
15
-8
-22
0
0
0
0
3
0
-2
44
-65
-10
0
0
0
0
0
9
-15
54
1
0
0
0
0
0
31
-3
-23
12
0
0
0
0
-1
-43
-5
29
-7
0
0
0
0
0
1
-3
-28
28
0
0
0
0
1
-2
5
-24
8
0
0
-1
0
0
-4
9
-51
39
0
0
-1
35
27
22
-87
-35
2
0
0
0
0
-29
-41
35
0
0
0
0
0
0
0
-13
-9
0
0
0
0
0
0
8
21
-18
0
0
56
0
0
1
-14
5
-2
0
0
0
0
0
0
-18
-10
34
0
0
0
0
0
3
-9
-5
14
0
0
0
0
0
0
-1
5
-1
0
0
-4
0
0
1
-2
-7
17
0
0
0
0
0
0
3
-19
-8
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
-1
-1
5
0
0
-2
0
0
-1
4
-41
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
23
47
-40
0
0
0
0
0
3
-42
58
9
0
0
0
0
-6
-6
-4
25
-31
0
35
0
0
3
-26
-33
29
12
0
0
0
0
0
-1
24
-10
29
0
0
0
0
0
1
1
11
10
0
0
0
0
0
0
-23
1
-71
0
-2
0
0
0
2
0
-1
-30
0
0
0
0
0
-6
31
0
-139
-14
0
0
0
0
3
-14
20
-64
15
0
0
0
3
0
0
0
-39
2
60
0
0
0
-2
-60
18
14
2
0
0
0
0
0
0
-5
30
-16
0
0
0
0
0
-5
-7
34
5
0
0
0
0
3
7
0
-85
-9
-107
-5
2
-26
48
-60
-10
16
-16
0
0
76
22
-32
-64
26
0
0
0
0
0
0
0
-22
-6
0
0
0
0
-1
-3
36
-8
36
0
0
0
0
0
4
-10
-47
5
0
0
0
0
0
1
-6
-22
8
0
0
0
0
0
0
10
4
-54
0
0
0
0
0
-2
-6
16
5
0
0
0
0
0
-21
66
-20
0
0
0
0
0
-20
2
2
20
1
0
0
0
0
0
0
1
-30
80
0
0
0
0
3
-8
-8
47
-44
0
0
0
0
0
-10
2
6
-11
0
0
0
0
0
-4
-2
0
5
0
0
0
0
0
2
-6
-2
21
0
0
0
0
1
-19
0
13
10
0
0
0
0
-1
43
-66
10
-52
0
0
0
0
1
5
29
15
-24
-17
0
0
0
0
0
1
3
32
19
0
0
0
1
0
3
7
-14
-20
0
0
0
0
0
32
-44
57
-25
0
0
0
-4
-6
0
-31
8
46
0
0
0
0
-1
0
-23
16
39
0
0
0
7
4
0
-8
2
-17
0
0
0
-4
8
1
-9
21
-109
0
0
0
14
0
2
8
-86
11
8
0
0
0
0
-3
10
43
-55
-33
0
0
-3
0
0
-9
-20
-84
55
0
0
0
3
-3
4
44
-46
-22
0
0
-5
1
0
1
41
10
28
0
0
0
-1
-10
27
23
-30
21
0
0
2
2
-3
-10
3
-98
49
0
0
-24
23
-14
2
44
-25
-32
0
0
0
-2
0
-3
8
0
0
0
-11
0
0
-4
-84
37
0
0
0
0
0
0
-6
51
14
0
0
0
0
0
5
-30
-32
55
0
0
0
0
0
0
-4
-33
52
0
0
0
0
0
0
-2
-25
-26
0
0
0
0
0
-3
-3
0
-3
0
0
0
0
0
0
-10
-11
-3
0
0
0
0
0
1
0
0
-23
0
0
0
-5
0
0
0
15
27
0
0
0
0
0
0
3
-14
53
0
0
0
0
0
0
0
17
-47
0
0
0
0
0
0
0
-1
6
0
0
0
-3
0
0
-3
1
18
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-6
20
-1
-17
0
0
0
0
0
0
0
1
43
-21
0
0
-23
0
0
-1
-19
22
34
0
0
0
0
0
-2
-2
-2
-33
0
0
0
0
0
9
-2
-4
-52
0
0
0
0
0
-2
-7
-15
26
0
0
5
0
0
-2
-3
17
21
0
0
0
0
0
0
2
3
-34
0
0
0
0
0
0
-15
9
-10
0
0
0
0
0
0
-18
30
-32
-22
0
-24
0
0
0
46
22
-88
45
0
0
0
-1
0
1
8
-3
-13
0
6
0
0
-3
-1
-25
-23
-28
0
0
0
0
0
-3
22
5
-27
0
30
0
3
0
0
-3
-43
-5
0
0
-7
0
1
-4
-3
-56
14
0
-70
1
-10
-3
-68
52
2
-16
0
0
0
-8
-14
-24
63
0
0
0
0
0
0
-1
-47
6
0
0
0
0
0
0
0
-3
58
0
0
0
0
0
-1
-23
-90
14
0
0
0
0
0
5
-6
20
-15
0
0
0
0
0
0
-8
1
58
0
0
0
0
0
-5
0
0
7
0
0
0
0
0
-35
67
-39
-2
0
0
0
0
2
1
0
-9
27
0
0
0
0
0
0
2
-23
1
0
0
0
0
2
0
-2
10
-59
0
0
0
0
0
2
4
-16
-14
0
0
0
0
2
-1
0
1
-1
0
0
0
0
0
0
0
-8
-21
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
-22
17
21
-58
0
0
0
0
-3
1
-3
5
34
-21
0
0
0
0
0
-1
-20
29
-10
0
0
0
0
0
3
-2
-7
22
0
0
0
0
0
-5
-10
5
-75
0
0
0
0
0
0
-16
5
-7
0
0
0
0
0
-1
6
-31
-40
0
0
0
0
1
0
-1
4
32
0
0
0
-3
8
1
5
1
-48
0
0
0
5
0
0
-8
4
-25
7
0
0
0
-1
-1
-6
69
-33
-17
0
0
0
-1
-13
6
34
-36
-1
0
0
0
-1
5
-7
10
3
-31
0
0
0
0
0
-1
4
-68
43
0
0
1
0
-3
-2
2
-82
21
0
0
11
-4
0
2
0
-4
14
0
0
-2
-31
-10
5
-20
10
22
0
0
49
-19
-5
8
18
0
0
0
44
-8
64
-8
-23
3
0
0
0
0
-98
-40
15
36
65
0
0
32
-39
16
-85
-17
-19
61
0
0
0
0
58
44
1
-61
-4
0
0
0
20
29
-46
-35
-16
28
0
0
0
0
5
-48
-33
37
9
0
0
-63
50
11
2
-26
49
25
0
0
0
0
5
25
47
-25
-5
0
0
0
-31
-5
0
53
-42
-56
0
0
0
0
27
-22
30
-13
-27
0
0
11
4
0
-35
-23
-52
52
0
0
0
0
-80
-26
67
13
53
0
0
0
-14
3
-34
27
19
-39
0
0
0
0
-5
1
-4
16
-11
0
0
72
18
-19
14
-46
-23
-38
0
0
0
0
-15
91
42
23
-35
6
0
0
-7
-32
-16
18
66
-18
20
0
0
0
-25
49
70
-7
-63
-4
0
1
55
7
-1
3
32
-4
-20
0
0
0
-7
14
12
-16
29
-46
0
0
-22
18
36
-38
-94
-47
-47
0
0
0
34
-16
10
23
-43
-10
0
41
-36
-1
75
18
-69
-14
-38
0
0
0
43
-126
-54
-57
22
-32
8
0
28
-1
-45
52
6
14
-26
-11
0
0
35
-7
-14
-20
19
-70
12
-96
41
6
-9
-58
-13
-23
-23
14
0
0
25
59
0
102
-5
-44
-2
0
-6
-16
-13
-30
-65
-8
7
-13
0
0
66
-14
10
-72
-16
-82
14
32
-41
-93
43
6
-59
9
-57
-31
0
0
30
-22
-8
-19
17
0
0
0
0
0
0
-13
20
14
0
0
0
0
-1
0
10
-8
6
0
0
0
0
0
0
4
-60
24
0
0
0
0
0
0
0
-15
5
0
0
0
0
0
0
1
2
-6
0
0
0
0
0
-8
-13
-2
105
0
0
0
0
0
45
22
9
-28
0
0
0
0
-19
16
-2
-25
23
0
0
0
0
0
1
-2
-52
35
0
0
0
0
1
-7
-2
-6
37
0
0
0
0
0
-5
-13
-29
26
0
0
0
0
-2
1
0
0
17
0
0
0
0
0
0
-1
4
10
0
0
0
0
0
15
0
-11
16
0
0
0
0
3
-12
78
-33
-38
0
0
0
0
24
-38
10
-5
-19
0
0
0
0
0
0
0
-18
80
0
0
0
0
0
4
2
35
-45
0
0
0
0
0
14
-12
12
-15
0
0
0
0
-32
6
-1
-51
46
0
0
0
0
-1
0
5
20
41
0
0
0
0
5
-5
-25
20
21
0
0
0
0
-2
-2
23
-26
77
0
0
0
0
3
13
46
-33
28
0
0
0
0
0
2
2
-4
46
0
0
0
0
-3
-35
6
-32
25
0
0
0
0
0
3
6
5
21
0
0
0
0
-16
36
1
53
-63
0
0
0
0
4
-1
18
-12
-13
0
0
0
0
31
-33
-5
-26
43
0
0
0
0
-33
21
3
-49
-5
0
0
0
0
0
0
0
-2
13
0
0
0
-6
0
0
0
-9
26
0
0
0
0
0
0
-1
-24
19
0
0
0
1
0
0
0
48
-32
0
0
0
0
0
0
-5
-13
34
0
0
0
0
0
1
-3
46
8
0
0
0
0
0
0
0
17
-30
0
0
0
0
0
0
-6
-37
47
0
0
0
0
0
0
2
-14
31
0
0
0
-13
0
2
0
9
7
0
0
0
0
0
0
0
10
-2
0
0
0
0
0
0
-1
-25
9
0
0
0
0
0
0
0
2
49
0
0
0
1
0
-1
0
21
23
0
0
0
0
0
0
-1
22
26
0
0
0
0
0
-1
-6
-45
35
0
0
0
0
0
0
3
42
-16
0
0
0
-52
0
0
-3
-61
87
0
0
0
0
0
0
7
41
19
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
-28
5
0
0
0
-25
0
0
2
70
14
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
-5
-11
31
0
0
0
0
0
0
-2
-21
-5
0
0
0
78
0
0
0
-11
-42
0
0
0
0
0
0
-3
-74
44
0
0
0
-3
0
0
2
-40
-9
0
0
0
0
0
0
0
38
-32
0
0
0
50
0
-1
3
61
-79
0
0
0
0
0
0
0
-40
0
0
0
0
24
2
-33
-16
-46
18
0
0
0
0
0
1
0
14
-5
0
0
0
0
0
0
1
5
23
0
0
0
0
0
0
-2
-104
24
0
0
0
0
0
0
-68
14
65
0
0
0
0
0
0
0
-7
53
0
0
0
0
0
0
-7
33
21
0
0
0
0
0
0
-4
-5
27
0
0
0
0
0
-7
4
-15
-12
0
0
0
0
0
0
6
-26
-2
0
0
0
0
0
0
0
14
16
0
0
0
0
0
-3
1
-78
41
0
0
0
0
0
-1
-39
49
3
0
0
0
0
0
0
2
-1
41
0
0
0
0
0
0
2
-43
0
0
0
0
0
0
0
0
-5
-32
0
0
0
0
0
-1
0
-12
-8
0
0
0
0
0
-2
1
-50
54
0
0
0
0
0
0
3
-81
16
0
0
0
0
0
0
-6
-43
-6
0
0
0
0
0
0
-4
9
53
0
0
0
0
0
0
0
13
-11
0
0
0
0
0
0
-3
5
14
0
0
0
0
0
0
2
-3
39
0
0
0
0
0
-2
30
-13
11
0
0
0
0
0
0
-2
-21
19
0
0
0
0
0
0
-1
-42
47
0
0
0
0
0
0
-11
-75
72
0
0
0
0
0
0
-57
-44
108
0
0
0
0
0
0
3
14
9
0
0
0
0
0
-1
0
5
64
0
0
0
0
-7
1
0
-16
-9
0
0
0
0
1
-20
-13
43
-11
0
0
0
0
-1
-2
24
-33
26
0
0
0
0
0
0
30
20
-22
0
0
0
0
0
0
-23
35
-16
0
0
41
0
0
0
-16
20
-18
0
0
0
0
0
0
-39
7
51
0
0
0
0
0
0
17
-31
-28
0
0
0
0
0
0
-20
-12
31
0
0
0
0
0
-1
6
2
-11
0
0
0
0
0
2
33
-4
-2
0
0
0
0
0
0
-20
-17
18
0
0
0
0
0
0
-11
60
-23
0
0
8
0
0
2
4
33
-143
0
0
0
0
0
0
-1
-9
14
0
0
0
0
0
0
-14
77
6
0
0
0
0
0
0
-9
58
-15
0
0
0
0
0
4
-5
30
5
0
0
0
0
0
-1
-2
1
35
0
0
0
0
0
0
31
5
14
0
0
0
0
0
0
0
-62
84
0
0
-8
0
0
0
33
5
14
0
0
0
0
0
0
1
3
3
0
0
0
0
0
0
-78
-29
71
0
0
0
0
0
0
4
-13
15
0
0
-10
0
0
-3
7
0
36
0
0
0
0
0
0
24
-36
-21
0
0
0
2
0
0
-6
-16
43
0
0
0
0
0
0
24
-61
78
0
0
-4
0
0
0
48
-24
-4
0
0
0
0
0
0
-15
21
23
0
0
0
0
0
0
23
-31
13
0
0
0
0
0
0
41
-14
-23
0
0
27
1
-10
-20
18
-31
11
0
0
0
0
0
4
0
-46
8
0
0
0
0
0
0
-9
-41
31
0
0
0
0
0
0
-2
21
-2
0
0
0
0
0
8
12
-44
-17
0
0
0
0
0
0
-1
-1
-38
0
0
0
0
0
0
-4
24
37
0
0
0
0
0
0
1
3
-15
0
0
0
0
0
8
-4
-25
61
0
0
0
0
0
0
-2
1
14
0
0
0
0
0
0
0
-24
50
0
0
0
0
0
0
0
2
35
0
0
0
0
0
0
-5
-13
-8
0
0
0
0
0
0
-1
4
18
0
0
0
0
0
0
0
5
-19
0
0
0
0
0
-2
1
-5
5
0
0
0
0
0
-5
-29
26
60
0
0
0
0
0
-3
0
5
14
0
0
0
0
0
0
2
-26
74
0
0
0
0
0
0
6
7
0
0
0
0
0
0
-2
20
-57
-2
0
0
0
0
0
0
0
-1
-47
0
0
0
0
0
0
-8
23
-14
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
5
-27
4
0
0
0
0
0
0
5
5
-17
0
0
0
0
0
0
0
1
75
0
0
0
0
0
0
2
-9
8
0
0
0
0
0
0
2
-53
10
0
0
0
0
3
0
0
-7
32
0
0
0
0
0
0
4
-8
-38
0
0
0
0
0
0
5
-1
-29
0
0
0
0
-17
15
-15
51
41
0
0
0
0
0
0
7
-19
-30
0
0
0
11
0
0
3
-72
5
0
0
0
0
0
0
2
-13
50
0
0
0
0
0
0
-26
-25
53
0
0
0
0
0
0
0
23
-44
0
0
0
0
0
0
-19
-9
-9
0
0
0
0
0
0
-4
-2
30
0
0
0
0
0
1
-3
-6
-6
0
0
0
0
0
-1
1
-4
61
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
1
4
7
9
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
5
0
0
0
0
0
2
0
5
5
0
0
0
0
0
0
2
2
-2
0
0
0
0
0
0
-1
-10
5
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-2
-13
11
0
0
0
0
0
0
0
-14
33
0
0
0
0
0
0
0
9
-33
0
0
0
0
0
0
2
3
14
0
0
0
0
0
0
-2
-26
18
0
0
0
0
0
0
0
4
37
0
0
0
-1
0
0
-2
-4
-33
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
-4
-1
23
0
0
0
0
0
0
0
-3
-9
0
0
0
-4
0
0
0
6
-14
0
0
0
0
0
0
-2
-7
17
0
0
0
23
4
-20
4
-53
-2
0
0
0
0
0
0
0
-39
97
0
0
0
0
0
0
-2
-8
24
0
0
0
0
0
0
0
48
-50
0
0
0
0
0
0
-3
-13
26
0
0
0
0
0
0
1
0
20
0
0
0
0
0
0
0
-15
26
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
14
17
14
0
0
0
0
0
-4
0
-4
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
4
-19
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
20
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
4
3
-1
-12
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-14
2
5
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
1
-37
0
0
0
0
0
0
0
0
0
18
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
-13
0
0
0
0
0
0
3
-2
27
0
0
0
0
0
0
0
0
18
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
4
36
-40
0
0
0
0
0
2
31
-54
24
0
0
0
0
0
5
-24
22
-9
0
0
0
0
0
1
-4
21
-18
0
0
0
0
0
-11
28
32
-21
0
0
0
0
0
-4
49
-24
23
0
0
0
0
0
-4
25
-37
27
0
0
0
0
0
2
31
-1
-55
0
0
0
0
0
17
4
1
54
0
0
0
0
0
6
-33
5
40
0
0
0
0
0
-2
-7
-9
33
0
0
0
0
0
9
-5
-20
75
0
0
0
0
0
25
30
-66
-27
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
2
21
-11
33
0
0
0
0
0
20
-7
0
-15
0
0
0
0
0
-28
-93
43
0
0
0
0
0
0
-7
41
-45
21
0
0
0
0
0
0
-5
0
-51
0
0
0
0
0
0
5
-9
-1
0
0
-4
0
0
-2
43
-15
5
0
0
0
0
0
-5
-45
17
-30
0
0
0
0
0
0
11
11
-13
0
0
0
0
0
0
-19
11
-16
0
0
0
0
0
-43
51
-53
34
0
0
0
0
0
8
8
18
-21
0
0
0
0
0
-5
-20
-9
70
0
0
0
0
0
2
3
-2
21
0
0
0
0
0
-2
-28
-14
69
0
0
0
0
0
0
30
-55
-30
0
0
0
0
0
-19
56
5
33
0
0
0
0
2
11
-25
-32
-25
0
0
7
-4
0
-33
-48
-29
13
0
0
0
0
1
-17
2
-14
32
0
0
0
0
0
0
0
-7
25
0
0
0
0
0
3
0
25
-23
0
0
0
0
0
-2
47
-12
-58
0
0
0
0
0
-1
0
2
33
0
0
0
0
0
0
10
-3
35
0
0
0
0
0
-2
1
-4
2
0
0
0
0
0
13
18
-33
-9
0
0
0
0
0
-7
-6
-1
25
0
0
0
0
0
0
1
-9
34
0
0
0
0
-2
-5
-1
17
23
0
0
0
0
0
1
-8
16
60
0
0
0
0
0
-3
-3
0
-8
0
0
0
0
0
-6
0
3
-1
0
0
0
0
0
-33
3
4
3
0
0
0
0
0
-5
-37
9
-17
0
0
0
0
0
-8
0
0
18
0
0
0
0
0
0
-2
-2
45
0
0
0
0
0
0
1
-6
7
0
0
0
0
0
-6
10
4
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-3
7
11
0
0
0
0
0
0
0
0
-54
0
0
0
0
-1
16
-26
45
-43
0
0
0
0
0
-44
0
0
-52
0
0
0
0
0
0
-2
8
-28
0
0
0
0
-4
0
0
4
-11
0
0
0
0
0
0
-1
-50
-26
0
0
0
0
0
1
0
3
3
0
0
0
0
1
0
0
-1
52
0
0
0
0
8
3
0
6
10
0
0
0
0
-1
-2
14
-34
15
0
0
0
0
0
0
0
-15
29
0
0
0
-4
0
0
-1
-67
44
0
0
0
0
0
0
0
-45
5
0
0
0
0
0
0
-8
-38
62
0
0
0
0
0
0
2
-3
-66
0
0
0
0
0
0
0
9
55
0
0
0
0
0
0
1
2
2
0
0
0
0
0
-2
4
9
0
0
0
0
0
0
0
4
-15
76
0
0
0
-1
0
0
-2
2
30
0
0
0
0
0
0
-6
15
-18
0
0
0
0
0
0
-4
-7
-16
0
0
0
0
0
0
2
-7
-22
0
0
0
1
0
0
0
13
23
0
0
0
0
0
0
0
-2
47
0
0
0
0
0
1
4
-4
-5
0
0
0
0
0
0
1
11
-1
0
0
0
-4
0
0
-3
1
30
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
0
7
8
0
0
0
0
0
0
-6
0
34
0
0
0
0
0
0
0
-6
48
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
1
5
-26
0
0
0
-16
0
0
0
-7
58
0
0
0
0
0
0
0
4
3
0
0
0
2
0
-1
0
-22
-10
0
0
0
0
0
0
0
0
43
0
0
0
3
0
0
0
-3
14
0
0
0
0
0
0
0
3
-6
0
0
0
7
0
10
-13
-58
3
0
0
0
0
0
3
0
36
-2
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
-3
-81
94
0
0
0
0
0
0
0
-18
29
0
0
0
0
0
0
-1
-5
26
0
0
0
0
0
0
0
13
-5
0
0
0
0
0
-3
7
0
-1
0
0
0
0
0
-2
0
-2
14
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
-1
-2
-7
43
0
0
0
0
0
0
-2
-9
25
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
-9
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
5
24
0
0
0
0
0
0
0
-3
14
0
0
0
0
0
0
-5
39
-5
0
0
0
0
0
0
0
-2
-14
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
-41
6
0
0
0
0
0
0
0
-4
12
0
0
0
0
0
0
0
17
-3
0
0
0
0
0
0
0
13
11
0
0
0
0
0
0
-1
51
-19
0
0
0
0
0
-1
0
13
2
0
0
0
0
0
0
0
4
23
0
0
0
0
0
0
0
-5
-15
0
0
0
0
32
49
-30
-54
-9
0
0
0
0
0
3
-18
34
-30
0
0
0
0
0
0
10
-43
10
0
0
0
0
0
0
-6
46
-1
0
0
-11
0
0
0
4
20
-21
0
0
0
0
0
1
-3
-6
32
0
0
0
0
0
0
0
13
-13
0
0
0
0
0
0
0
-11
19
0
0
0
0
0
-3
18
2
-18
0
0
0
0
0
-1
3
-3
-24
0
0
0
0
0
0
2
-11
22
0
0
0
0
0
-2
0
-63
46
0
0
0
0
0
-2
-26
37
-14
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-26
6
0
0
0
0
0
1
2
-2
15
0
0
0
0
0
27
45
-17
-5
0
0
0
0
0
1
8
-3
14
0
0
0
0
0
0
-1
-23
32
0
0
0
0
0
-1
-4
-2
19
0
0
0
0
0
3
-15
-14
0
0
0
0
0
0
0
0
-6
-21
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
-45
33
0
0
0
0
0
0
-13
-22
13
0
0
0
0
0
0
2
4
18
0
0
0
0
0
-2
0
-46
3
0
0
1
0
0
0
6
-26
-10
0
0
0
0
0
0
1
-1
3
0
0
0
-1
0
0
3
14
-51
0
0
0
0
0
1
-3
-5
5
0
0
-47
1
1
-24
11
-94
43
0
0
0
0
0
6
0
-1
42
0
0
0
0
0
0
0
-33
-5
0
0
0
0
0
0
0
10
-17
0
0
0
0
0
0
-9
-11
9
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
5
-39
0
0
0
0
0
-1
0
-2
44
0
0
0
0
0
0
0
-2
27
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
-1
13
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
28
0
0
0
0
0
0
0
-1
-50
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
2
1
-10
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
1
-61
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
-9
17
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
25
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
26
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
-2
0
-3
0
0
0
0
37
-18
-31
-11
5
0
0
0
0
0
-2
-3
-2
9
0
0
0
1
0
0
0
-10
-5
0
0
0
0
0
0
2
-6
-44
0
0
0
0
0
0
-9
-14
1
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
10
18
0
0
0
0
0
0
0
0
10
0
0
0
0
0
1
4
6
9
0
0
0
0
0
0
0
-7
47
0
0
0
0
0
0
-1
-1
25
0
0
0
0
0
0
1
0
-15
0
0
0
0
0
0
-1
-3
31
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
13
0
0
0
0
0
-2
-1
-2
5
0
0
0
0
0
0
0
6
-42
0
0
0
0
0
0
1
13
-26
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-18
2
0
0
0
0
0
0
-1
-1
-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
1
-11
-4
0
0
0
0
0
0
0
0
30
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
5
-1
0
-98
-21
42
0
0
0
0
-17
-3
0
-7
15
0
0
0
0
0
0
-4
11
15
0
0
0
0
0
-1
-1
16
18
0
0
0
0
0
0
2
14
-14
0
0
0
0
0
0
-1
0
19
0
0
0
0
0
0
-1
4
53
0
0
0
0
0
-1
0
-3
1
0
0
0
0
0
0
-8
-8
33
0
0
0
0
0
3
0
0
-57
0
0
0
0
0
0
0
-9
23
0
0
0
0
0
0
0
-10
6
0
0
0
0
0
0
0
-6
14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
26
0
0
0
0
0
4
0
-2
-8
0
0
0
0
0
0
2
-5
-14
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
-25
42
0
0
0
0
0
0
0
5
10
0
0
0
0
0
-1
-6
5
7
0
0
0
0
0
1
1
-3
2
0
0
0
0
0
0
0
0
-23
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
0
5
17
0
0
0
0
1
-1
0
0
66
0
0
0
0
0
0
0
4
-5
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
-11
0
0
0
0
0
-1
0
0
11
0
0
0
0
7
0
-5
-3
-3
0
0
0
0
-23
-10
-14
27
4
0
0
0
0
-1
33
-1
53
-25
0
0
0
0
0
0
0
-49
-9
0
0
0
0
0
-8
5
-33
-17
0
0
1
0
0
0
4
13
8
0
0
0
0
0
10
-10
-29
52
0
0
0
0
0
-4
-4
5
23
0
0
0
0
0
-8
1
0
5
0
0
0
0
0
-22
-16
-9
-4
0
0
0
0
2
54
25
-9
6
0
0
0
0
0
-2
-5
-31
6
0
0
0
0
0
11
1
-3
-38
0
0
0
0
0
-7
36
-80
-22
0
0
0
0
0
0
6
0
-5
0
0
0
0
0
-2
2
-11
39
0
0
0
0
0
24
1
-1
-3
0
0
0
0
0
-31
4
-57
73
0
0
0
0
0
-27
19
-43
22
0
0
0
0
0
-5
15
-26
32
0
0
0
0
0
-1
-1
-6
62
0
0
0
0
0
0
23
4
-70
0
0
0
0
0
-13
-18
31
-26
0
0
0
0
0
0
20
4
-20
0
0
0
0
0
-1
-1
2
16
0
0
0
0
0
71
-16
0
-43
0
0
0
0
-3
4
7
-10
18
0
0
0
0
0
-2
0
-8
9
0
0
0
0
0
37
-18
-43
34
0
0
4
0
0
-14
-18
48
-9
0
0
0
0
-3
-7
1
14
-15
0
0
0
0
-1
-10
-1
29
34
0
0
0
0
-1
18
11
-21
30
0
0
-2
1
2
-23
66
-29
21
0
0
0
0
-7
3
0
-16
23
0
0
0
0
0
0
0
-43
11
0
0
0
0
0
-1
2
-4
42
0
0
0
0
0
0
71
-76
-5
0
0
0
0
-1
-3
1
1
1
0
0
0
0
0
0
9
6
-6
0
0
0
0
0
0
0
3
3
0
0
0
0
0
23
-49
3
47
0
0
0
0
-4
1
0
-4
29
0
0
0
0
0
0
0
18
-11
0
0
0
0
0
2
-1
-14
-17
0
0
0
0
0
0
5
33
-5
0
0
0
0
0
-9
10
0
-18
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
3
0
0
-8
0
0
0
0
-4
18
22
10
-33
0
0
0
0
-2
1
0
-25
81
0
0
0
0
0
0
-2
-14
44
1
0
0
0
0
0
2
-11
55
1
0
0
0
0
0
0
-20
-3
-10
0
0
0
-1
0
0
-22
7
-1
0
0
0
-4
-1
-17
-44
35
19
0
0
0
0
3
-1
-4
-18
-1
0
0
0
0
4
15
34
-43
5
0
0
0
0
-2
0
15
-42
9
0
0
0
0
0
0
43
12
-28
0
0
0
1
-1
0
-11
-12
27
0
0
0
0
1
15
77
34
-8
0
0
0
1
-3
-8
0
-3
10
0
0
0
3
0
-26
-5
56
-4
0
0
0
-30
-3
1
-32
-28
16
0
0
0
89
-12
53
-7
30
8
0
0
0
0
0
2
-56
39
0
0
0
-24
0
1
0
-36
39
0
0
0
0
0
0
-2
51
48
0
0
0
0
0
0
-25
-39
51
0
0
0
0
0
0
2
-14
-5
0
0
0
0
0
0
-3
29
-6
0
0
0
0
0
0
1
-5
-5
0
0
0
0
0
1
4
-17
32
0
0
0
0
0
0
0
27
-16
0
0
0
-1
0
0
0
-18
12
0
0
0
0
0
0
0
-8
-13
0
0
0
5
0
0
0
-24
1
0
0
0
0
0
0
0
5
37
0
0
0
4
0
0
0
-1
-18
0
0
0
0
0
0
0
-10
-2
0
0
0
0
0
-3
-2
10
-17
0
0
0
0
0
0
-1
-15
19
0
0
0
8
0
0
0
6
-37
-7
0
0
0
0
0
0
33
20
4
0
0
0
0
0
4
-7
-33
-9
0
0
0
0
0
0
-60
50
3
0
0
6
0
0
0
-8
-47
38
0
0
0
0
0
0
4
10
-7
0
0
0
0
1
0
-45
-41
25
0
0
0
0
0
3
12
-18
21
0
0
-17
0
0
0
-12
-79
5
0
0
0
0
0
0
16
-2
-3
0
0
-12
0
0
0
-18
-43
47
0
0
0
0
0
0
-16
-5
5
0
0
1
0
0
0
-5
45
-4
0
0
0
0
0
0
-52
96
-26
0
0
5
-2
36
-8
-11
16
-2
0
0
0
0
2
0
9
23
0
0
0
0
0
0
0
12
-43
0
0
0
0
0
0
0
-44
19
0
0
0
0
0
0
2
-43
48
0
0
0
0
0
0
0
19
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
-3
32
0
0
0
0
0
0
0
11
-11
0
0
0
0
0
0
0
-14
-9
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
-13
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
5
107
0
0
0
0
0
-4
-4
26
-25
-9
0
0
0
0
0
-2
-24
-5
9
0
0
0
0
0
0
35
-11
-25
0
0
0
0
0
3
-77
4
20
0
0
0
0
0
0
7
0
-2
0
0
0
0
0
-1
-25
-14
39
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
2
-17
6
24
0
0
0
0
0
0
11
57
-19
0
0
0
0
0
-1
17
-14
19
0
0
0
0
1
1
-10
3
14
0
0
0
0
-1
0
-14
5
-28
0
0
0
0
0
0
-8
25
2
0
0
0
0
0
0
14
27
-110
0
0
0
0
0
0
2
0
-6
0
0
0
-2
45
21
7
10
-12
0
0
0
0
1
-26
25
-9
0
0
0
0
0
0
-19
27
-25
0
0
0
0
0
0
9
-33
-4
0
0
-2
0
0
0
62
-11
-7
0
0
0
0
0
0
6
1
-2
0
0
0
0
0
0
0
16
-10
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
8
-5
0
0
0
0
0
0
0
0
-21
9
0
0
0
0
0
0
0
-15
-1
0
0
0
0
0
0
-2
-8
6
0
0
0
0
0
0
4
-8
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
10
15
-63
0
0
0
0
0
-3
15
-69
22
-11
0
0
0
0
0
-3
-9
-7
-1
0
0
0
0
0
2
4
9
20
0
-2
0
0
0
1
11
-33
1
0
0
0
0
0
-1
-5
5
-1
0
0
0
0
0
2
-47
9
3
0
0
0
0
0
0
0
0
-75
0
-1
0
0
0
-2
-1
-7
-16
0
0
0
0
0
7
-41
27
-27
0
0
0
0
0
0
14
-16
55
0
0
0
0
0
-4
37
9
-22
0
31
0
0
0
11
-36
-7
-39
0
0
0
0
0
1
-14
45
-22
0
0
0
0
0
-1
1
16
9
0
0
0
0
0
0
-52
2
-59
0
0
13
0
-50
-61
-9
55
10
0
0
0
0
0
-4
7
27
0
0
0
0
0
0
2
25
-4
0
0
0
0
0
0
0
-31
-4
0
0
0
0
0
0
18
-60
86
0
0
0
0
0
0
-2
1
5
0
0
0
0
0
0
8
-45
18
0
0
0
0
0
0
1
-2
-6
0
0
0
0
0
-1
17
-32
30
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
7
23
0
0
0
0
0
0
-5
3
-14
0
0
0
0
0
0
16
-14
16
0
0
0
0
0
0
-1
0
14
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
6
-62
19
7
0
0
0
0
0
0
3
-33
-53
13
0
0
0
0
0
0
3
-57
-6
0
0
0
0
0
-6
10
2
-33
0
0
0
0
0
0
17
-11
23
0
0
0
0
0
0
0
15
-56
0
0
0
0
0
-1
3
14
-8
0
0
0
0
0
0
-6
-1
8
0
0
0
0
2
-1
-13
5
-31
0
0
0
0
0
0
1
-8
-9
0
0
0
0
0
0
1
45
-16
0
0
0
0
0
0
10
-4
-30
0
0
0
0
0
-2
11
11
-10
0
0
0
-2
0
0
2
-18
-44
0
0
0
0
0
1
-24
3
-9
0
0
0
0
0
0
10
7
-105
0
0
0
16
-16
-37
-1
-24
17
0
0
0
0
1
2
11
50
0
0
0
-1
0
0
-2
-39
69
0
0
0
0
0
0
1
-45
40
0
0
0
0
0
0
-1
-67
-5
0
0
0
0
0
0
0
10
30
0
0
0
0
0
0
0
-18
15
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
1
-3
13
-24
0
0
0
0
0
0
0
-2
46
0
0
0
0
0
0
0
-1
-19
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
5
0
-20
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
1
1
20
0
0
0
0
0
0
2
-4
25
0
0
0
0
0
0
0
-25
-23
12
0
0
0
0
0
0
-18
41
-41
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
5
13
-3
0
0
0
0
0
0
-6
-5
1
0
0
0
0
0
3
4
26
-48
0
0
0
0
0
0
-1
0
-29
0
0
0
0
0
0
-4
-46
41
0
0
0
0
0
-2
4
14
67
0
0
5
0
0
0
15
-14
26
0
0
0
0
0
0
5
2
14
0
0
0
0
0
0
1
-5
-27
0
0
0
0
0
-2
6
-26
-26
0
0
0
0
0
0
-10
0
36
0
0
0
0
-2
0
2
-5
20
0
0
37
-7
-5
48
-35
0
7
0
0
0
0
0
0
-27
33
0
0
0
0
0
0
0
17
25
0
0
0
0
0
0
0
-9
13
0
0
0
0
0
0
-4
-65
27
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
0
0
0
0
0
0
0
0
2
4
-2
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
-4
-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
4
0
0
0
0
0
0
-1
-2
-6
0
0
0
0
0
0
0
-1
56
-33
0
0
0
0
0
0
-3
6
-29
0
0
0
0
0
0
-1
0
-32
0
0
0
0
0
0
1
1
60
0
0
0
0
0
0
-3
-1
-8
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
2
-4
-50
0
0
0
0
0
0
1
3
-81
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-6
-4
61
0
0
0
0
0
0
-2
1
-28
0
0
0
0
-2
0
1
-8
12
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
-3
-19
-8
0
0
0
1
0
0
0
-6
-59
0
0
0
-36
14
14
-62
-27
9
0
0
0
0
9
5
-34
-41
0
0
0
0
0
0
-7
16
22
0
0
0
0
0
0
3
26
16
0
0
0
0
0
0
54
-74
19
0
0
0
0
0
1
-14
32
16
0
0
0
0
0
0
6
-1
21
0
0
0
0
0
-2
0
-7
1
0
0
0
0
0
-9
60
-51
3
0
0
0
0
0
0
19
18
-19
0
0
0
1
0
0
0
-3
-6
0
0
0
0
0
2
-1
-4
-20
0
0
0
0
0
0
-34
-63
51
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
0
17
-6
-49
0
0
0
0
0
-3
17
19
45
-17
0
0
0
0
0
1
-19
25
6
0
0
0
0
-2
6
-7
0
-11
0
0
0
0
0
0
-11
9
-10
0
0
0
0
0
-20
29
-3
50
0
0
0
0
0
0
-10
2
-3
0
0
0
0
1
0
-14
0
-21
0
0
0
0
2
-9
-3
6
42
0
0
0
0
0
-4
4
12
-94
0
0
0
0
0
5
-14
23
-21
0
0
0
0
-1
0
-13
-5
-35
0
0
0
0
0
11
1
4
-27
0
0
0
0
0
-3
3
27
30
0
0
0
0
0
-2
0
-1
12
0
0
0
1
2
0
-2
-1
-23
0
26
2
4
11
24
-22
-113
13
0
0
0
13
8
0
27
-34
0
0
0
0
0
0
1
-24
23
0
0
0
0
0
0
0
-13
13
0
0
0
0
0
0
25
-76
1
0
0
0
0
0
0
0
7
9
0
0
0
0
0
-1
-4
-47
54
0
0
0
0
0
2
0
1
-15
0
0
0
0
0
3
-53
-21
38
0
0
0
0
-2
0
0
-21
43
0
0
0
0
0
0
0
-11
-4
0
0
0
0
0
1
0
5
27
0
0
0
0
0
-2
-5
-22
5
0
0
0
0
-2
1
0
-2
33
0
0
0
0
0
0
2
-2
-55
0
0
0
0
-1
-6
3
2
7
0
0
0
0
4
-14
20
-4
-58
0
0
0
0
-2
-1
-4
1
22
-2
0
0
0
0
0
0
-5
-39
26
0
0
0
0
0
0
0
53
-7
0
0
0
0
0
24
60
46
-51
0
0
0
0
0
0
9
-4
-19
0
0
0
0
0
1
-66
19
33
0
0
0
0
-1
0
0
24
-30
0
0
0
1
1
1
16
57
-55
0
0
0
3
1
0
-2
-6
13
1
0
0
0
0
0
-14
5
35
-21
0
0
0
4
0
-19
-8
-46
-9
0
0
0
1
-3
5
16
-24
9
0
0
0
0
2
2
4
-74
3
0
0
0
-1
1
-46
70
-69
6
0
0
2
0
3
29
61
-80
-10
0
0
-14
11
37
74
41
-4
-6
0
0
0
0
1
-21
23
0
0
0
5
0
0
-3
0
-33
0
0
0
0
0
0
0
-15
18
0
0
0
0
0
-1
23
-24
-12
0
0
0
0
0
0
-1
6
70
0
0
0
0
0
0
0
-16
23
0
0
0
0
0
0
0
-3
-16
0
0
0
0
0
-3
-33
-24
51
0
0
0
0
0
0
0
2
23
0
0
0
0
0
0
0
10
22
0
0
0
0
0
0
3
-18
-3
0
0
0
0
0
2
0
3
-11
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
-4
0
0
0
0
0
0
1
22
22
-9
0
0
-27
0
0
0
-30
32
-22
0
0
0
0
0
0
18
-1
-33
0
0
0
0
0
-3
-5
31
10
0
0
0
0
0
0
-33
65
-10
0
0
-2
0
0
0
14
-3
-30
0
0
0
0
0
0
-6
22
-71
0
0
0
0
0
0
8
19
-76
0
0
0
0
0
-3
-14
13
19
0
0
13
0
0
-1
21
49
-57
-26
0
0
0
0
0
1
-10
22
-14
0
-4
0
0
0
14
22
-42
-9
0
0
0
0
0
-13
6
14
-15
0
31
0
0
0
-6
-15
4
64
0
0
0
0
0
-37
-15
5
-2
0
-74
-7
11
-3
-61
-30
12
-28
0
0
0
0
-2
5
24
0
0
0
0
0
0
5
-28
16
0
0
0
0
0
0
0
47
-67
0
0
0
0
0
0
-14
22
-36
0
0
0
0
0
0
0
-11
-3
0
0
0
0
0
0
-1
4
27
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
14
0
0
0
0
0
0
0
2
-25
0
0
0
0
1
0
0
7
-25
0
0
0
0
0
0
1
8
-10
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
-7
15
0
0
0
0
2
2
0
0
-10
0
0
0
0
0
2
0
-6
-4
38
0
0
0
0
0
3
19
-4
4
0
0
0
0
0
0
19
-68
61
0
0
0
0
0
-11
-34
33
-20
0
0
0
0
0
0
9
19
-85
0
0
0
0
0
0
-5
13
-1
0
0
0
0
0
0
-2
1
-4
0
0
0
0
-1
-2
-13
26
-52
0
0
0
0
0
0
2
-45
-42
1
0
0
0
0
0
1
14
-138
-6
0
0
0
0
0
-33
-5
9
-1
0
0
0
0
0
22
-7
-42
17
0
0
0
0
0
-1
2
-33
-9
0
0
0
0
0
2
-20
-2
-14
0
0
0
0
0
9
0
-50
-23
0
0
-8
30
38
-90
5
10
5
0
0
0
-4
-8
71
-63
0
0
0
0
0
0
2
-24
26
0
0
0
0
0
0
1
-10
-49
0
0
-17
0
0
0
18
-63
70
0
0
0
0
0
0
6
7
16
0
0
0
0
0
0
-5
-24
-3
0
0
0
0
0
0
6
-13
23
0
0
0
0
0
0
1
28
-19
0
0
0
0
0
-1
10
-27
21
0
0
0
0
0
0
0
11
17
0
0
0
0
0
0
5
-14
6
0
0
-18
0
0
-1
9
5
14
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
16
0
0
0
0
0
-1
2
11
-5
23
0
0
0
0
0
1
-28
74
-30
0
0
0
0
0
0
-37
0
11
0
59
0
0
0
1
-23
7
-26
0
0
0
0
0
-5
2
5
33
0
0
0
0
0
-1
8
13
-27
0
0
0
0
0
0
5
-3
41
0
-3
0
0
0
-15
-33
-7
-53
0
0
0
0
0
2
-5
55
-63
7
0
1
0
0
1
-25
-18
-37
15
0
0
0
0
0
32
-13
18
-44
-12
0
0
0
0
3
-14
-39
-44
0
0
0
0
0
2
9
-8
-13
0
0
0
0
-1
9
9
-19
-33
0
0
0
0
0
0
-18
-12
-48
1
0
-1
-78
-62
-45
28
23
38
0
0
6
0
-1
-29
30
0
0
0
0
0
0
-1
-5
-4
0
0
0
0
1
0
0
5
-6
0
0
0
0
0
0
-36
24
-8
0
0
0
0
0
2
5
-45
4
0
0
0
0
0
0
3
-14
29
0
0
0
0
0
0
1
-4
5
0
0
0
0
0
0
24
-6
-1
0
0
0
0
0
-1
-1
25
-20
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
-4
41
0
0
0
0
0
0
-8
-26
23
0
0
0
0
0
0
-4
-1
9
0
0
0
0
0
0
0
14
-26
0
0
0
0
0
-2
1
0
6
0
0
0
0
-3
18
-31
0
6
0
0
0
0
0
1
7
-15
20
7
0
0
0
0
0
0
-43
-2
20
0
0
0
0
0
1
3
-22
-10
0
0
0
0
-2
-1
-9
-5
31
0
0
0
0
0
-2
0
4
-2
0
0
0
0
0
0
7
-8
12
0
0
0
0
1
0
0
-7
29
0
0
0
0
-1
2
-32
57
1
0
0
0
0
-1
0
0
14
-37
25
0
0
0
0
0
16
-30
-133
11
0
0
0
0
0
1
18
-29
-16
0
0
0
-1
-3
-39
45
-19
57
0
0
2
0
0
3
6
-24
-9
0
0
0
-1
0
7
-16
-4
-73
0
0
-9
-2
0
4
-13
38
10
0
0
-23
-33
40
10
75
-30
31
0
0
0
0
9
0
-6
0
0
0
16
0
0
0
-6
54
0
0
0
0
0
0
2
-12
27
0
0
0
2
0
0
-30
-23
33
0
0
0
0
0
1
1
-15
-15
0
0
0
0
0
0
3
7
-6
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
35
-43
-8
0
0
0
0
0
0
0
2
47
0
0
0
-4
0
0
0
0
-16
0
0
0
0
0
0
0
0
23
0
0
0
0
0
-2
0
-14
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
-29
3
10
0
0
0
0
0
0
-7
-4
50
29
0
0
2
0
0
0
11
15
-61
0
0
0
0
0
0
-10
8
34
0
0
0
0
-1
-1
20
-2
-12
0
0
0
0
0
0
-4
-1
12
0
0
-9
0
0
2
4
1
-71
0
0
0
0
0
0
0
-10
-11
0
0
0
0
0
2
7
-10
-36
0
0
0
0
0
-1
2
-53
-33
15
0
-63
0
0
0
0
-43
49
40
0
0
0
0
0
-3
4
-14
25
0
-11
0
0
-1
0
4
-15
20
0
0
0
0
0
2
-5
-1
5
0
23
0
0
0
-7
-3
2
28
0
0
-5
0
-1
9
6
33
-36
0
-47
15
-14
4
-26
-14
-18
7
0
0
-20
0
-1
-3
71
0
0
0
0
0
0
-2
4
-16
0
0
0
0
0
-4
3
-19
-28
0
0
0
0
0
0
9
-52
5
0
0
0
0
0
-3
1
-13
7
0
0
0
0
0
0
-6
2
-23
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
11
-9
33
0
0
0
0
1
-1
0
7
18
0
0
0
0
0
1
0
5
21
0
0
0
0
-3
0
0
11
-17
0
0
0
0
0
-1
-5
33
8
0
0
0
0
0
0
-2
1
2
0
0
0
0
-1
2
0
-1
4
0
0
0
0
3
-11
0
0
-11
0
0
0
0
2
-3
-21
29
32
0
0
0
0
-5
2
0
-9
33
-6
0
0
0
0
0
-1
-21
16
-14
0
0
0
0
0
0
5
-9
-41
0
0
0
2
0
-8
-23
-3
-21
0
0
0
0
0
0
-2
4
23
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
-1
0
1
-32
0
0
0
1
-3
4
11
-6
-12
0
0
0
-19
1
0
0
26
-13
-16
0
0
0
0
0
-10
23
-31
31
0
0
3
-1
0
0
5
-7
-49
0
0
0
0
-3
-5
1
1
4
0
0
-1
0
0
1
-9
-2
-22
0
0
-1
0
3
-7
0
-7
34
0
0
-21
0
-1
2
7
-68
41
0
0
4
-5
31
-37
-36
-15
35
0
0
22
3
10
-50
5
0
0
0
19
-14
-24
13
-57
18
0
0
0
0
-31
-23
22
-30
10
0
0
-17
-5
-19
-3
-60
52
3
0
0
0
0
36
-42
47
-36
-10
0
0
0
30
-33
-11
-12
-10
5
0
0
0
0
-18
-70
-17
37
-16
0
0
-65
-7
-29
-57
19
23
-21
0
0
0
0
-14
-12
-12
39
-12
0
0
0
-27
5
78
101
23
-12
0
0
0
0
55
-66
-33
6
51
0
0
10
77
0
-45
-23
-8
-29
0
0
0
0
-60
24
11
-68
-12
0
0
0
34
21
-52
-25
42
-23
0
0
0
0
20
30
36
22
-39
0
0
24
53
-21
-98
71
12
-42
0
0
0
0
28
54
-18
-47
67
3
0
0
-7
-20
-38
-110
-25
-13
3
0
0
0
2
23
51
-7
72
-17
0
-13
-41
95
7
-11
0
63
-16
0
0
0
32
24
16
-36
13
-6
0
0
10
85
2
-10
-42
12
-23
0
0
0
27
18
30
-128
-32
-4
0
109
6
34
54
60
-3
-77
-6
0
0
0
32
-73
-29
-11
3
-10
12
0
5
-33
-59
116
8
-42
14
-11
0
0
61
85
-45
32
-24
-14
-12
-9
34
13
-13
21
-49
-55
33
-17
0
0
-5
52
-2
-46
42
-33
26
0
-26
24
-14
-34
3
-21
-19
-7
0
0
36
32
103
9
11
-22
7
-53
-17
-76
110
-6
43
52
-22
-34
0
0
-3
-39
-25
12
16
0
0
0
0
-36
0
-15
-12
5
0
0
0
0
-80
36
-1
-8
20
0
0
0
0
-53
42
54
-45
19
0
0
0
0
38
71
-15
-17
4
0
0
0
0
14
45
-22
-64
40
0
0
0
0
-19
12
31
-33
-15
0
0
0
0
-4
-12
-10
7
-8
0
0
0
0
23
-33
-15
0
13
0
0
0
0
0
24
80
-47
31
0
0
0
0
38
-22
32
20
-21
0
0
0
0
-4
-19
47
26
-37
0
0
0
0
-28
17
-6
-33
-6
0
0
0
0
0
-1
-57
-43
70
0
0
0
0
1
62
54
-59
30
0
0
0
0
1
-26
-18
6
-15
0
0
0
0
-26
-4
-28
-13
47
0
0
0
0
23
21
-36
28
-7
0
0
0
0
-5
-2
33
-9
2
0
0
0
0
-1
10
95
-41
-44
0
0
0
0
57
52
6
-22
19
0
0
0
0
-1
0
32
-66
81
0
0
0
0
43
31
-53
66
-100
0
0
0
0
-1
-19
1
75
-22
0
0
0
0
21
-23
84
-13
6
0
0
0
0
0
-11
37
-51
48
0
0
0
0
-40
25
-4
-5
40
0
0
0
0
0
25
47
-70
7
0
0
0
0
41
-10
-47
43
17
0
0
0
0
46
-8
67
-12
22
0
0
0
0
-29
-1
76
-91
71
0
0
0
0
17
7
49
-16
5
0
0
0
0
0
-12
-67
-13
19
0
0
0
-10
35
45
-42
-47
5
0
0
0
0
28
15
1
6
-7
0
0
0
34
14
-17
63
-2
-5
0
0
0
0
0
-3
-6
-59
46
0
0
0
8
0
0
-31
-16
42
0
0
0
0
0
-16
48
19
-8
0
0
0
1
0
3
24
23
-39
0
0
0
0
0
2
13
-63
28
0
0
0
-21
1
34
-9
-25
52
0
0
0
0
0
14
41
-28
13
0
0
0
-25
0
11
-15
-46
6
0
0
0
0
0
0
23
-107
32
0
0
0
44
0
-26
33
1
37
0
0
0
0
0
4
34
-78
1
0
0
0
-3
0
-17
2
5
-10
0
0
0
0
0
-21
19
-29
-13
0
0
0
-36
-2
-5
53
1
50
0
0
0
0
1
-1
5
-33
72
0
0
0
2
0
-2
-27
-15
-21
0
0
0
0
0
0
5
19
-12
0
0
0
70
0
5
-57
16
-14
0
0
0
0
0
-3
-9
46
-34
0
0
0
-1
0
1
3
6
29
0
0
0
0
0
-7
-12
92
-21
0
0
0
50
-35
21
1
-10
29
0
0
0
0
0
1
27
2
-38
0
0
0
4
0
1
-14
25
-32
0
0
0
0
0
0
62
5
-43
0
0
0
33
0
0
-6
-10
27
0
0
0
0
3
0
-18
-21
33
0
0
0
47
2
-88
-81
-4
-2
0
0
0
0
7
79
64
-42
-16
0
0
0
0
0
-59
-24
-61
19
0
0
0
0
-5
15
34
-14
9
0
0
0
0
36
-29
-24
40
4
0
0
0
0
98
-3
48
-45
-33
0
0
0
0
0
-16
42
-35
-7
0
0
0
0
-7
23
-30
-53
43
0
0
0
0
4
48
-23
18
-19
0
0
0
0
0
32
17
-13
-20
0
0
0
0
0
1
2
-23
7
0
0
0
0
15
-39
-43
90
1
0
0
0
0
0
-39
83
-14
32
0
0
0
0
-6
34
-45
-28
40
0
0
0
0
0
-2
-14
54
-5
0
0
0
0
3
-2
4
-32
18
0
0
0
0
-1
-6
-22
-25
6
0
0
0
0
-1
2
43
-25
-18
0
0
0
0
-1
1
9
-31
-14
0
0
0
0
-10
0
-30
-106
83
0
0
0
0
2
2
-27
-54
48
0
0
0
0
-2
56
33
-33
-4
0
0
0
0
0
-5
-16
-54
23
0
0
0
0
3
-6
-3
-10
14
0
0
0
0
0
-11
5
4
67
0
0
0
0
0
0
2
16
33
0
0
0
0
0
0
4
-63
44
0
0
0
0
-1
-2
-50
34
48
0
0
0
0
-4
-1
34
7
21
0
0
0
0
-56
39
-48
20
-2
0
0
0
0
1
-3
26
-23
-20
0
0
0
0
1
-43
31
-53
0
0
0
0
0
21
23
34
-17
-40
0
0
0
0
1
79
-88
9
-16
0
0
0
5
-4
-52
-75
98
-6
0
0
0
0
19
24
14
-111
1
0
0
-53
-22
-4
66
62
-6
-3
0
0
0
0
0
-1
-11
-49
0
0
0
0
4
-2
24
113
21
-42
0
0
0
0
3
11
12
-35
-13
0
0
30
1
1
-22
28
-23
-62
0
0
0
0
0
-3
9
13
30
0
0
0
0
0
-15
67
-35
10
0
0
0
0
0
-27
-18
-25
59
0
0
44
-49
0
-5
-52
79
8
0
0
0
0
0
-3
-6
-13
56
0
0
0
2
0
-2
-26
-6
-6
0
0
0
0
0
-6
53
52
-24
0
0
46
0
-1
-3
28
-32
-45
0
0
0
0
3
9
-11
-60
57
0
0
0
4
0
-7
39
-5
5
0
0
0
0
2
1
-57
19
71
0
0
26
-7
1
-25
-24
-20
28
0
0
0
0
0
4
20
-33
52
0
0
0
20
0
0
32
-64
-24
0
0
0
0
1
-3
1
-13
28
0
0
76
0
2
-6
-47
-43
-64
0
0
0
0
0
1
11
-14
-10
0
0
0
0
0
1
3
-1
19
0
0
0
0
0
0
-59
-32
82
0
0
-54
2
0
31
-35
-11
11
0
0
0
0
0
-1
-41
-53
115
0
0
0
17
0
-2
-6
-73
7
0
0
0
0
-5
3
-23
-18
109
0
0
-8
52
-10
-64
-41
-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
0
11
23
22
2
-13
0
0
0
0
0
1
-7
-30
25
0
0
0
0
0
5
-21
-65
64
0
0
0
0
0
0
18
-9
-7
0
0
0
0
-16
7
-32
80
-74
0
0
0
0
0
-1
-12
-2
-2
0
0
0
0
2
-2
-26
-73
104
0
0
0
0
2
-5
21
-43
35
0
0
0
0
-5
53
-1
21
-13
0
0
0
0
0
0
-11
-14
-21
0
0
0
0
0
-1
19
7
1
0
0
0
0
0
0
-2
15
34
0
0
0
0
0
-5
5
-4
-30
0
0
0
0
-1
0
1
13
-20
0
0
0
0
0
0
-1
11
25
0
0
0
0
0
-1
-17
23
-2
0
0
0
0
-32
-9
72
-109
59
0
0
0
0
0
-2
-20
-97
51
0
0
0
0
0
-15
-2
-14
-39
0
0
0
0
0
5
1
-50
78
0
0
0
0
-29
-71
40
-21
41
0
0
0
0
-8
-6
0
22
9
0
0
0
0
0
0
13
19
33
0
0
0
0
0
2
2
39
1
0
0
0
0
74
-20
95
-38
13
0
0
0
0
0
-1
-8
55
-18
0
0
0
0
-1
13
30
27
-62
0
0
0
0
0
5
-4
-69
25
0
0
0
0
33
-74
71
15
-24
0
0
0
0
-1
18
-4
-33
92
0
0
0
0
-3
-36
-14
-19
16
0
0
0
0
-26
30
39
-3
31
0
0
0
0
0
0
3
-16
32
0
0
0
34
0
0
3
-51
-2
0
0
0
0
0
0
-2
-14
35
0
0
0
0
0
0
-29
39
-2
0
0
0
0
0
-1
-7
2
44
0
0
0
10
0
-18
-24
27
4
0
0
0
0
0
0
8
-85
40
0
0
0
0
0
9
-4
-67
-2
0
0
0
0
0
1
11
-8
20
0
0
0
-32
0
0
6
-38
31
0
0
0
0
0
0
-3
-22
22
0
0
0
1
0
0
3
4
-19
0
0
0
0
0
0
0
0
26
0
0
0
-5
0
0
-1
-12
-2
0
0
0
0
0
-1
0
-9
33
0
0
0
-3
0
-1
-3
-31
48
0
0
0
0
0
0
-16
-46
-5
0
0
0
-2
0
-6
13
-50
16
0
0
0
0
0
0
7
-36
28
0
0
0
1
0
4
-9
-42
50
0
0
0
0
0
0
2
-21
71
0
0
0
-16
0
1
4
-2
-13
0
0
0
0
0
0
-3
-2
19
0
0
0
0
0
0
14
13
57
0
0
0
0
0
2
18
-62
7
0
0
0
16
1
-33
-51
30
10
0
0
0
0
0
0
-3
-10
66
0
0
0
0
0
-1
2
-12
-58
0
0
0
0
0
0
22
-58
2
0
0
0
14
0
-4
3
2
-36
0
0
0
0
-2
5
-4
15
-8
0
0
0
-9
0
6
-71
-8
30
0
0
0
0
9
-2
-25
-6
47
0
0
0
0
0
0
0
4
48
0
0
0
0
-2
-5
2
5
14
0
0
0
0
0
10
4
-20
-8
0
0
0
0
-1
7
-2
56
16
0
0
0
0
0
-9
2
-21
-9
0
0
0
0
-1
0
2
-17
-12
0
0
0
0
0
3
27
-49
16
0
0
0
0
-1
0
2
2
87
0
0
0
0
0
0
3
21
-34
0
0
0
0
0
0
-1
5
-1
0
0
0
0
0
3
-6
-45
62
0
0
0
0
2
19
13
7
16
0
0
0
0
0
0
-26
2
54
0
0
0
0
1
4
-5
-1
-9
0
0
0
0
0
8
3
-7
-13
0
0
0
0
-1
-2
-2
-37
23
0
0
0
0
1
-1
3
-23
103
0
0
0
0
0
0
1
-52
13
0
0
0
0
0
-1
31
-3
-75
0
0
0
0
15
5
10
-19
-24
0
0
0
0
0
0
0
-19
-19
0
0
0
0
0
0
-2
43
-21
0
0
0
0
0
-6
-24
-17
17
0
0
0
0
4
-11
-18
48
-39
0
0
0
0
0
0
-5
-30
83
0
0
0
0
-1
1
2
-64
10
0
0
0
0
1
-1
2
7
5
0
0
0
0
3
21
-7
-60
57
0
0
0
0
0
-1
-5
8
-14
0
0
0
0
2
-4
-5
17
26
0
0
0
0
-6
-6
-6
3
6
0
0
0
0
0
-2
-1
42
-4
0
0
0
0
0
0
-3
18
-40
0
0
0
0
0
-2
1
-53
72
0
0
-1
-6
0
-5
17
-86
2
0
0
0
0
0
1
-4
-4
17
0
0
0
1
0
0
-14
47
-36
0
0
0
0
0
0
0
-50
-5
0
0
2
0
0
-8
-50
35
16
0
0
0
0
0
0
-4
5
-62
0
0
0
9
0
-1
-18
-43
39
0
0
0
0
0
0
1
-36
90
0
0
15
0
0
-1
10
-19
14
0
0
0
0
0
-2
-3
44
-8
0
0
0
-1
0
0
14
-22
0
0
0
0
0
0
0
-7
-44
44
0
0
-1
0
0
0
50
-16
-6
0
0
0
0
0
3
-3
5
50
0
0
0
0
0
3
-35
-15
8
0
0
0
0
0
4
7
10
-50
0
0
-11
0
0
-5
14
-3
3
0
0
0
0
0
0
-4
-11
20
0
0
0
0
0
0
-2
-35
-9
0
0
0
0
0
-3
2
-10
13
0
0
14
0
0
0
-3
-18
21
0
0
0
0
0
4
4
-14
-28
0
0
0
-1
0
-2
3
-7
-56
0
0
0
0
0
-2
-2
10
13
0
0
79
0
0
1
-63
-79
16
0
0
0
0
0
2
8
1
-29
0
0
0
-10
0
0
26
-53
11
0
0
0
0
0
2
-2
-5
-33
0
0
-15
-1
0
-1
-11
-40
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
22
0
0
0
0
0
0
-14
15
-74
32
0
0
0
0
2
-84
3
15
12
0
0
0
0
-1
26
-20
-73
33
0
0
0
0
-4
9
1
-45
27
0
0
0
0
1
-2
-30
-29
75
0
0
0
0
-1
-11
53
53
-18
0
0
0
0
0
-19
118
26
6
0
0
0
0
56
-26
-2
-31
-6
0
0
0
0
0
14
-8
-13
-49
0
0
0
0
0
4
-16
-59
56
0
0
0
0
0
-13
-46
28
-14
0
0
0
0
-5
-26
79
11
-7
0
0
0
0
0
0
21
-23
17
0
0
0
0
41
19
14
14
1
0
0
0
0
0
5
11
-12
57
0
0
0
0
-43
12
-5
20
71
5
0
0
0
0
0
11
-83
8
4
0
0
0
0
-9
71
39
30
-1
0
0
0
-2
14
15
-37
10
-3
0
0
0
-12
78
51
60
62
-3
0
0
0
-1
0
23
-49
47
20
0
0
0
-3
-30
3
-14
108
-2
0
0
0
0
2
5
-13
-48
-10
0
0
0
-41
-32
-42
-59
23
29
0
0
0
0
13
15
-120
-19
48
0
0
0
-43
25
-20
-24
-29
33
0
0
0
0
18
2
14
21
-18
0
0
0
23
85
-58
113
71
-15
0
0
0
2
-16
-43
-6
-51
38
0
0
0
30
-34
16
34
22
-10
0
0
0
-15
-11
-44
2
-17
-1
0
0
0
0
13
18
-49
-8
0
0
0
-30
10
39
17
2
34
0
0
0
0
0
-2
-16
8
60
0
0
0
23
0
-2
-23
-56
50
0
0
0
0
0
-4
5
15
50
0
0
0
-10
0
-2
2
16
28
0
0
0
0
0
0
18
-21
-37
0
0
0
0
0
0
-50
-17
-13
0
0
0
0
0
3
31
-89
53
0
0
0
-2
0
14
-29
9
18
0
0
0
0
-5
-1
-46
6
49
0
0
0
3
0
1
39
-36
24
0
0
0
0
0
0
-9
-31
60
0
0
0
6
0
-16
18
-103
43
0
0
0
0
0
-7
12
20
-55
0
0
0
8
0
6
-8
-17
0
0
0
0
0
0
5
17
81
-12
4
0
0
36
-5
-27
0
-41
7
2
0
0
0
0
0
5
5
107
-20
0
0
4
0
0
54
22
11
-22
0
0
0
0
0
-8
25
-59
24
0
0
-2
1
0
-10
5
-23
19
0
0
0
0
-2
0
-19
53
-12
0
0
0
0
2
-4
33
-13
-13
0
0
0
0
0
15
-22
34
7
0
0
-54
-6
-1
-61
-24
71
21
0
0
0
3
-2
-9
-39
20
0
0
0
1
0
-1
-1
115
-60
-45
0
0
0
0
2
19
2
-14
34
0
0
-42
0
-3
-19
-29
1
22
0
0
0
0
16
-1
-72
9
7
0
0
-20
-6
-32
15
-25
39
2
0
0
0
-1
14
-9
-11
-7
0
0
0
0
0
0
19
-36
76
0
0
0
0
11
-9
2
-44
26
0
0
0
0
1
9
-21
14
54
0
0
0
0
-2
-4
-15
-30
-17
0
0
0
0
0
0
-11
30
-2
0
0
0
0
0
2
-5
2
-1
0
0
0
0
0
-35
-2
-43
13
0
0
0
0
0
0
-5
39
5
0
0
0
0
0
-5
1
-63
21
0
0
0
0
-5
-8
3
-68
50
0
0
0
0
2
2
-34
-18
23
0
0
0
0
0
-1
33
-36
20
0
0
0
0
0
3
2
1
11
0
0
0
0
-1
-10
-26
17
8
0
0
0
0
-5
6
17
-71
32
0
0
0
0
-1
18
19
0
-18
-10
0
0
0
0
0
47
-14
53
3
0
0
0
-1
0
0
-71
-33
5
0
0
0
0
0
-13
7
-6
4
0
0
0
1
-4
33
-63
74
-6
0
0
0
0
0
-8
-8
-84
23
0
0
0
0
0
-23
-5
-5
13
0
0
0
1
-1
1
-50
48
-19
0
0
0
1
-8
-21
41
33
-8
0
0
0
0
0
2
43
69
-4
0
0
0
-2
0
0
-11
14
-36
0
0
0
-4
-3
-18
52
-26
32
0
0
0
-1
-1
52
-8
9
-10
0
0
0
0
-1
-1
-30
53
-25
0
0
0
-1
-3
6
32
-1
-19
0
0
0
-8
5
-46
-31
-58
22
0
0
0
0
-1
-1
-7
26
0
0
0
0
0
2
8
-53
28
0
0
0
0
3
10
-32
34
-26
0
0
-23
22
0
7
23
-18
27
0
0
0
0
0
0
7
-14
19
0
0
0
-2
0
-1
-26
-40
10
0
0
0
0
0
0
-18
-31
0
0
0
35
0
-2
-4
10
-31
14
0
0
0
0
0
0
10
41
-51
0
0
0
0
0
0
21
3
31
0
0
0
0
0
-13
-16
-9
13
0
0
-38
-3
0
7
38
26
-5
0
0
0
0
0
0
3
-19
11
0
0
0
0
0
0
-31
23
11
0
0
0
0
0
-16
-2
-47
44
0
0
-23
0
-1
-15
-8
-17
5
0
0
0
0
1
1
1
76
22
-9
0
0
0
0
-2
62
-67
-20
-12
0
0
0
0
7
-6
-60
-4
-4
0
55
-1
0
4
-11
-10
52
3
0
0
0
0
0
2
3
46
16
0
0
4
0
0
6
-6
49
-57
0
0
0
1
2
0
-46
-5
19
0
-61
0
0
-10
1
-27
27
-18
0
0
0
0
1
7
15
50
-12
0
0
0
0
-4
-10
-6
-17
65
0
0
0
1
0
21
-9
-33
-34
0
16
0
0
-1
-69
-50
29
40
0
0
0
0
-7
0
-56
-40
5
0
0
-4
0
1
-21
-2
1
-46
0
0
0
2
-9
-30
-50
116
-24
0
-9
4
0
-23
32
-43
-41
-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
22
62
28
-75
-14
0
0
0
0
0
0
-16
-53
22
0
0
0
0
1
3
20
-85
58
0
0
0
0
0
0
5
-12
7
0
0
0
0
-19
16
7
29
-27
0
0
0
0
0
-3
-11
-62
17
0
0
0
0
0
2
1
17
-20
0
0
0
0
0
0
1
21
87
0
0
0
0
-4
29
45
-44
8
0
0
0
0
0
-5
1
-80
13
0
0
0
0
0
4
49
-34
-18
0
0
0
0
0
4
-2
56
-23
0
0
0
0
43
-2
3
-47
-16
0
0
0
0
0
0
-17
-27
3
0
0
0
0
-3
29
6
-35
-31
0
0
0
0
11
-33
-5
-26
-22
0
0
0
0
10
-3
9
55
71
14
0
0
0
0
3
22
53
26
-33
0
0
0
0
5
35
-57
23
24
0
0
0
0
0
8
44
-33
11
0
0
0
11
-8
55
44
-14
-16
0
0
0
-1
3
-22
-28
94
2
0
0
0
-8
7
-3
-20
34
-33
0
0
0
-1
6
-30
-29
-1
-22
0
0
0
-24
-12
78
-7
-35
-3
6
0
0
0
-1
10
-35
-28
34
-2
0
0
0
-25
-82
-5
119
-18
5
0
0
0
-6
18
56
-9
-39
-22
0
0
-8
-88
61
11
3
12
11
0
0
-1
-6
15
-32
37
-53
-5
0
0
14
46
-49
-9
-42
-18
9
0
0
18
56
-14
12
15
4
2
0
0
0
0
5
41
-28
0
0
0
31
0
2
-17
54
-12
0
0
0
0
0
0
0
60
-23
0
0
0
0
0
0
-16
-4
16
0
0
0
0
0
0
-33
-5
53
0
0
0
6
0
-4
49
-54
-3
0
0
0
0
0
0
0
4
13
0
0
0
0
0
0
17
3
-3
0
0
0
0
0
-2
22
-12
22
0
0
0
34
0
-1
-17
-38
32
0
0
0
0
0
0
0
-8
3
0
0
0
-3
0
-1
19
-27
20
0
0
0
0
0
-1
-5
-23
77
0
0
0
2
0
0
-9
-57
17
0
0
0
0
0
0
1
-51
11
0
0
0
-5
0
2
-4
3
71
0
0
0
0
0
0
-6
-102
-20
63
0
0
26
2
-31
-15
-15
43
13
0
0
0
0
0
0
-62
39
11
0
0
0
0
-1
-14
-2
-13
-19
0
0
0
0
0
-9
16
-24
8
0
0
-44
-2
-2
18
-13
57
7
0
0
0
0
1
3
8
-35
36
0
0
0
0
2
0
-15
-35
8
0
0
0
0
0
-79
-72
85
-1
-5
0
-15
0
14
-21
-5
43
-38
-35
0
0
0
-2
6
-27
15
-14
-18
0
-6
0
-2
-14
-39
5
-73
-16
0
0
0
-3
-6
-4
22
-24
26
0
-25
0
0
43
-28
27
-9
-58
0
0
-1
2
5
-46
32
-23
-19
0
20
-2
-19
-9
-51
17
-40
-13
0
0
-1
1
-7
-3
26
0
0
0
0
0
0
0
9
-30
0
0
0
0
0
1
19
11
9
0
0
0
0
0
1
0
-11
29
0
0
0
0
2
2
-6
-7
-75
0
0
0
0
0
-1
1
11
-8
0
0
0
0
0
-7
0
-4
9
0
0
0
0
0
1
-46
-10
3
0
0
0
0
6
0
-9
0
0
0
0
0
0
0
0
4
-80
12
0
0
0
0
-2
-5
2
-5
21
0
0
0
0
0
1
5
-76
31
0
0
0
0
1
2
0
29
58
0
0
0
0
0
0
-10
-9
11
0
0
0
0
-1
0
-23
-14
44
0
0
0
0
1
6
16
-14
-20
0
0
0
0
-10
-14
5
47
23
3
0
0
0
0
0
-7
-22
22
0
0
0
0
-1
-1
3
5
-22
37
0
0
0
0
0
-13
-28
6
73
0
0
0
-5
2
4
-35
-39
19
0
0
0
0
-1
-2
15
-50
-16
0
0
0
0
-2
0
1
46
-30
0
0
0
0
-3
7
-65
2
17
0
0
0
-21
-53
0
-39
2
24
0
0
0
0
-3
1
-62
-20
-49
12
0
0
0
6
-13
-33
-11
-126
43
0
0
-6
1
0
-18
-23
-45
2
0
0
-11
-1
-24
23
52
-36
8
0
0
0
2
0
7
39
-91
4
0
0
-6
5
-6
43
8
-15
9
0
0
-3
14
-14
-6
-13
-52
28
0
0
0
-2
-2
-9
58
0
0
0
0
0
0
0
-27
-5
0
0
0
0
0
0
3
-15
-30
0
0
-9
6
0
1
-47
-81
30
0
0
0
0
0
0
-3
5
-6
0
0
0
0
0
0
-25
-25
24
0
0
0
0
0
-1
2
3
3
0
0
2
0
0
-4
-15
35
8
0
0
0
0
0
0
-5
-20
-17
0
0
0
0
0
0
-7
29
-24
0
0
0
0
0
-8
0
-8
-36
0
0
45
0
0
-4
16
0
-14
0
0
0
0
0
0
-35
4
31
0
0
0
-3
0
0
-17
-51
29
0
0
0
0
0
-11
-5
-17
0
0
0
-28
0
0
2
-31
33
10
0
0
0
0
0
0
-1
-117
0
-14
0
0
0
0
-1
3
32
22
-65
0
0
0
0
1
-25
-10
10
51
0
-22
0
0
-2
17
5
-14
-9
0
0
0
0
0
0
-3
15
-17
0
0
0
0
0
-2
-47
50
-23
0
0
0
0
0
-4
7
-71
11
0
25
0
0
-2
60
-7
0
-49
0
0
0
0
-3
2
1
5
5
1
0
-1
0
-2
-26
44
2
-109
-15
0
0
0
-2
-3
-5
34
-96
-16
-71
0
0
-7
-16
2
25
-4
4
0
0
0
2
1
-44
111
-12
-62
0
5
0
0
1
23
-44
-11
5
0
0
0
-6
0
-73
-58
-16
5
17
-4
-1
-9
-67
-5
5
-100
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
-45
5
43
0
0
0
0
-15
-85
-56
-48
52
0
0
0
0
5
24
-125
-44
-6
0
0
0
0
-3
20
46
-113
12
0
0
0
0
-8
4
-41
16
-4
0
0
0
0
0
30
43
4
-20
0
0
0
0
-7
-42
-5
40
-62
0
0
0
0
0
8
69
-33
-42
0
0
0
0
36
-47
-35
-59
40
0
0
0
0
0
0
8
24
27
0
0
0
0
33
-67
7
43
16
0
0
0
0
1
5
6
-4
17
0
0
0
0
3
29
-17
-61
2
0
0
0
0
0
2
11
-14
-6
0
0
0
0
26
1
51
35
-32
0
0
0
0
1
6
-10
-50
35
0
0
0
0
-12
36
-44
-8
44
0
0
0
0
0
-3
57
-54
59
0
0
0
0
-5
-10
48
-100
113
0
0
0
0
0
10
-11
-14
17
0
0
0
0
-9
59
41
-6
-39
0
0
0
0
0
-9
-9
53
77
0
0
0
0
-7
2
0
-5
-54
0
0
0
0
0
9
2
-1
98
0
0
0
0
-13
-54
49
-49
39
0
0
0
0
0
0
6
-34
37
0
0
0
0
-23
21
13
57
17
0
0
0
0
0
17
3
53
-11
0
0
0
0
-40
6
-52
19
60
0
0
0
0
4
-9
5
0
-28
0
0
0
0
0
-33
62
-70
4
0
0
0
0
-10
-21
20
-12
11
0
0
0
0
0
31
0
-8
7
0
0
0
-17
47
-30
17
13
19
0
0
0
0
0
-4
-3
-50
30
0
0
0
10
0
-15
-24
23
-3
0
0
0
0
6
-52
-23
24
42
0
0
0
-13
0
31
78
-15
-16
0
0
0
0
0
-7
15
-43
31
0
0
0
-8
0
1
-10
41
-8
0
0
0
0
0
-24
11
-34
35
0
0
0
-5
1
0
13
-18
29
0
0
0
0
0
-1
1
31
-42
0
0
0
4
0
-3
-20
-21
38
0
0
0
0
0
0
-10
19
-13
0
0
0
31
0
1
3
-56
20
0
0
0
0
0
-2
-4
-24
33
0
0
0
6
0
8
-22
17
21
0
0
0
0
0
0
-2
18
8
0
0
0
-48
5
-9
8
9
37
0
0
0
0
0
0
0
-17
16
0
0
0
1
0
0
23
-92
4
0
0
0
0
0
0
-18
-30
-9
0
0
0
42
0
0
20
-54
-40
0
0
0
0
0
0
3
6
-25
0
0
0
-1
0
0
3
-1
26
0
0
0
0
0
0
-4
-118
41
0
0
0
-26
0
2
-5
-43
49
0
0
0
0
0
0
1
-11
14
0
0
0
5
0
0
-3
-20
23
0
0
0
0
0
-1
-29
-63
6
0
0
0
-39
0
0
14
4
-6
0
0
0
0
1
3
-14
-58
34
0
0
0
-13
-14
-7
-76
7
36
0
0
0
0
8
51
-131
48
3
0
0
0
0
0
1
-19
-18
42
0
0
0
0
1
33
31
9
-32
0
0
0
0
0
-2
36
-52
-11
0
0
0
0
1
1
4
-54
39
0
0
0
0
0
0
15
-44
25
0
0
0
0
0
-2
11
-69
72
0
0
0
0
0
-4
6
14
19
0
0
0
0
0
-5
36
9
26
0
0
0
0
0
0
0
-10
20
0
0
0
0
0
-1
19
21
58
0
0
0
0
0
1
16
22
-15
0
0
0
0
0
0
-17
-26
3
0
0
0
0
0
0
-3
-45
8
0
0
0
0
0
0
16
-32
22
0
0
0
0
0
1
11
53
-49
0
0
0
0
0
-3
8
-29
-8
0
0
0
0
0
0
4
18
-76
0
0
0
0
0
3
24
-56
-32
0
0
0
0
0
0
-11
-58
43
0
0
0
0
0
1
3
-65
33
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
-7
-8
14
0
0
0
0
0
0
2
-13
74
0
0
0
0
0
0
60
20
-56
0
0
0
0
0
0
0
37
-33
0
0
0
0
0
-1
-33
74
-4
0
0
0
0
0
0
51
17
-14
0
0
0
0
0
0
5
-23
53
0
0
0
0
0
0
-1
32
-1
0
0
0
0
0
2
6
-51
106
0
0
0
0
-1
22
-23
-3
-5
0
0
0
0
0
27
19
-31
-8
0
0
0
0
0
4
-5
-37
18
0
0
0
0
0
1
-63
53
5
0
0
-40
28
1
3
103
15
4
0
0
0
0
0
0
-29
-23
21
0
0
0
0
0
-7
-24
-72
47
0
0
0
0
0
0
-14
4
33
0
0
5
0
0
1
-20
-38
23
0
0
0
0
0
5
8
15
-60
0
0
0
0
0
0
15
-5
-32
0
0
0
0
0
1
14
43
-54
0
0
62
1
0
0
43
-2
14
0
0
0
0
0
0
-3
-78
60
0
0
0
0
0
0
3
-3
104
0
0
0
0
0
1
8
-36
13
0
0
12
0
-1
-2
31
-9
11
0
0
0
0
0
3
79
-38
-18
0
0
0
0
0
1
20
-5
-25
0
0
0
0
0
-2
11
-27
58
0
0
-39
-2
0
-5
-36
86
18
0
0
0
0
0
0
-33
-15
25
0
0
0
0
0
0
13
-25
11
0
0
0
0
0
0
-13
-17
-29
0
0
24
0
0
3
34
-30
-13
0
0
0
0
0
0
21
-47
84
0
0
0
0
0
0
-8
-1
43
0
0
0
0
0
1
-1
-54
37
0
0
-3
0
0
-2
34
-13
18
0
0
0
0
0
-4
-3
-5
18
0
0
0
0
0
0
3
-19
23
0
0
0
0
0
3
14
-42
35
0
0
52
21
-1
-26
4
53
-73
0
0
0
0
11
-9
-23
-32
62
0
0
0
0
0
-19
94
-53
-4
0
0
0
0
0
54
48
-60
0
0
0
0
0
0
0
29
14
-36
0
0
0
0
-1
5
1
-53
25
0
0
0
0
0
1
-59
-1
64
0
0
0
0
0
0
21
14
-39
0
0
0
0
0
2
23
47
-20
0
0
0
0
4
-6
-18
-19
45
0
0
0
0
0
-4
-11
-57
30
0
0
0
0
0
2
23
14
-51
0
0
0
0
0
0
-22
-6
28
0
0
0
0
-1
-4
-36
-2
79
0
0
0
0
0
0
-4
13
-5
0
0
0
0
0
-1
4
2
59
0
0
0
0
-2
0
0
-49
85
0
0
0
0
24
0
9
-43
-7
0
0
0
0
0
4
4
15
-36
0
0
0
0
0
-1
5
-2
15
0
0
0
0
0
4
-16
-1
-27
0
0
0
0
-2
-16
15
37
-13
0
0
0
0
0
2
-2
-68
-17
0
0
0
0
0
0
1
2
20
0
0
0
0
0
-1
26
0
-1
0
0
0
0
-24
62
9
-28
-18
0
0
0
0
0
0
-3
-6
6
0
0
0
0
0
0
2
55
-5
0
0
0
0
0
2
-2
7
9
0
0
0
0
1
-64
33
-48
6
0
0
0
0
0
0
5
-16
30
0
0
0
0
-1
-3
-9
18
44
0
0
0
0
-1
-30
44
-46
5
0
0
0
0
0
0
33
4
42
0
0
0
14
0
0
-75
28
37
0
0
0
0
0
0
3
-15
90
0
0
0
0
0
1
-4
-14
-11
0
0
0
0
0
0
45
-101
-16
0
0
0
0
0
-2
16
-71
-26
0
0
0
0
0
0
2
-8
22
0
0
0
0
0
0
72
-24
-49
0
0
0
0
0
-1
18
-32
-9
0
0
0
3
0
0
-9
14
42
0
0
0
0
0
0
0
-14
51
0
0
0
0
0
-1
-2
19
-36
0
0
0
0
0
0
5
26
-35
0
0
0
0
0
-2
-14
1
-11
0
0
0
0
0
0
-2
-3
43
0
0
0
0
0
0
-33
-14
35
0
0
0
0
0
0
-2
-10
-17
0
0
0
71
2
0
-15
-29
21
0
0
0
0
0
0
0
-25
77
0
0
0
0
0
1
-2
-24
13
0
0
0
0
0
0
-1
-8
11
0
0
0
0
0
2
-25
15
22
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
6
13
0
0
0
0
0
0
-4
1
30
0
0
0
-16
0
0
5
-65
52
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
-4
-5
24
10
0
0
0
0
0
0
8
-27
78
0
0
0
1
0
-6
7
-41
6
0
0
0
0
0
0
0
-13
29
0
0
0
6
0
19
-50
-28
-9
0
0
0
0
0
6
5
58
-43
0
0
0
0
0
0
-11
-13
10
0
0
0
0
0
3
59
-23
-26
0
0
0
0
0
0
14
-73
-26
0
0
0
0
0
0
21
21
-75
0
0
0
0
0
0
-2
-12
22
0
0
0
0
0
-1
1
-46
76
0
0
0
0
0
1
0
47
45
0
0
0
0
0
0
-3
-4
61
0
0
0
0
0
-6
0
14
5
0
0
0
0
0
-2
-6
2
-15
0
0
0
0
0
0
2
45
-25
0
0
0
0
0
0
-11
-2
23
0
0
0
0
0
0
1
3
-25
0
0
0
0
0
0
-1
-1
24
0
0
0
0
0
-4
1
-25
-14
0
0
0
0
2
-2
5
-24
6
0
0
0
0
0
2
5
-33
-9
0
0
0
0
0
1
0
-21
4
0
0
0
0
0
0
0
-13
21
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
-2
-11
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
-4
32
0
0
0
0
0
1
1
13
-26
0
0
0
0
0
0
-4
-11
17
0
0
0
0
0
0
0
-19
-14
0
0
0
0
0
1
-11
-6
20
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
1
9
-8
0
0
0
0
-4
7
27
33
24
0
0
0
0
0
-14
59
37
-6
0
0
0
0
0
-3
93
-23
-34
0
0
0
0
0
-26
22
60
11
0
0
-2
0
0
10
61
5
-78
0
0
0
0
0
5
33
-40
-2
0
0
0
0
0
-3
39
17
-46
0
0
0
0
0
-8
-28
11
19
0
0
0
0
0
-20
43
4
8
0
0
0
0
0
3
73
-58
14
0
0
0
0
0
-2
-41
3
-52
0
0
0
0
0
-3
-16
-33
85
0
0
-1
0
0
5
-21
-20
1
0
0
0
0
0
0
5
7
50
0
0
0
0
0
3
11
-24
14
0
0
0
0
0
2
-2
9
-5
0
0
0
0
0
-15
-37
52
-29
0
0
0
0
0
23
38
-69
47
0
0
0
0
0
-2
-21
25
-2
0
0
0
0
0
6
5
-72
14
0
0
-8
0
0
1
0
-43
33
0
0
0
0
0
-3
-8
6
38
0
0
0
0
0
0
-23
-11
36
0
0
0
0
0
0
-7
8
7
0
0
0
0
0
-18
-4
36
0
0
0
0
0
0
31
-50
-22
6
0
0
0
0
0
-1
-17
-62
124
0
0
0
0
0
-2
0
-23
10
0
0
-4
0
0
0
2
4
-16
0
0
0
0
0
2
-65
-33
37
0
0
0
0
0
-4
21
27
-63
0
0
0
0
0
-2
-35
-13
34
0
0
-4
0
-1
1
-44
22
38
0
0
0
0
41
-18
0
-35
47
0
0
0
0
0
27
10
-70
-19
0
0
0
0
0
-4
-70
38
46
0
0
0
0
0
-15
-33
49
-3
0
0
0
0
0
1
5
-29
-26
0
0
0
0
0
-6
17
-45
56
0
0
0
0
0
-6
0
8
12
0
0
0
0
0
2
29
-23
-3
0
0
0
0
22
-14
-33
31
-8
0
0
0
0
0
-1
-1
5
22
0
0
0
0
0
13
-11
9
-1
0
0
0
0
0
4
3
11
23
0
0
0
0
-4
-36
21
69
22
0
0
0
0
0
1
-6
6
27
0
0
0
0
-1
20
16
-57
44
0
0
0
0
0
-4
5
22
-14
0
0
0
0
70
-67
13
-32
-7
0
0
0
0
0
0
7
-62
52
0
0
0
0
0
0
-7
-24
18
0
0
0
0
0
2
5
-22
1
0
0
0
0
0
1
-1
-9
10
0
0
0
0
0
0
0
7
44
0
0
0
0
0
0
-3
0
-6
0
0
0
0
0
-3
0
-17
-18
0
0
0
0
-17
22
-3
2
23
0
0
0
0
0
-2
-3
-17
14
0
0
0
0
0
-1
1
-33
33
0
0
0
0
0
3
-9
3
6
0
0
0
0
-59
16
75
-61
3
0
0
0
0
0
-2
0
-5
64
0
0
0
0
5
-9
-1
48
-5
0
0
0
0
4
-3
13
-4
6
0
0
0
0
0
0
-19
14
77
0
0
0
-19
0
0
-55
12
0
0
0
0
0
0
0
1
-30
57
0
0
0
0
0
0
32
-38
1
0
0
0
0
0
0
-7
1
-12
0
0
0
-18
0
2
-5
-35
-5
0
0
0
0
0
0
0
-15
-54
0
0
0
0
0
2
1
-29
15
0
0
0
0
0
-1
9
-82
5
0
0
0
0
0
0
5
-43
30
0
0
0
0
0
0
0
-4
83
0
0
0
4
0
2
6
-41
-8
0
0
0
0
0
0
1
-54
13
0
0
0
8
0
-1
-13
25
-9
0
0
0
0
0
1
0
-44
38
0
0
0
-6
0
1
-21
10
55
0
0
0
0
0
0
0
45
-15
0
0
0
-22
0
2
-9
-34
28
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
0
1
-9
-1
0
0
0
0
0
0
0
6
-1
0
0
0
2
0
0
1
-11
24
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
5
-59
0
0
0
22
0
-1
3
-6
14
0
0
0
0
0
0
0
-13
18
0
0
0
0
0
0
5
14
-25
0
0
0
0
0
0
2
1
-62
0
0
0
-13
0
0
4
-32
53
0
0
0
0
0
0
0
-14
32
0
0
0
79
0
0
-27
-28
-27
0
0
0
0
0
6
8
-2
-7
0
0
0
0
0
0
2
-33
-25
0
0
0
0
0
-1
19
-19
15
0
0
0
0
0
0
-3
26
-2
0
0
0
0
0
0
-7
2
8
0
0
0
0
0
0
0
-17
-10
0
0
0
0
0
0
2
-21
2
0
0
0
0
0
0
-17
-16
57
0
0
0
0
1
2
-21
17
10
0
0
0
0
0
0
0
-53
100
0
0
0
0
-2
1
-2
-3
32
0
0
0
0
0
-3
6
2
5
0
0
0
0
0
0
3
-5
-20
0
0
0
0
0
0
0
4
-17
0
0
0
0
2
4
0
-90
68
0
0
0
0
0
0
-8
-6
10
0
0
0
0
0
1
-1
-37
45
0
0
0
0
0
0
0
-13
-1
0
0
0
0
-1
0
0
-9
3
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
7
50
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
12
5
0
0
0
0
0
0
0
-13
-5
0
0
0
0
0
4
-6
16
14
0
0
0
0
0
0
0
-44
-1
0
0
0
0
0
-1
-15
30
58
0
0
0
0
0
0
-3
25
18
0
0
0
0
0
0
-5
2
-5
0
0
0
0
-3
3
-8
13
15
0
0
0
0
0
-2
8
2
-35
0
0
0
-1
0
1
-5
65
-34
0
0
0
0
0
0
14
15
-10
0
0
10
1
0
0
-27
-19
54
0
0
0
0
0
0
1
5
-10
0
0
0
0
0
0
1
-3
23
0
0
0
0
0
-1
0
-2
14
0
0
5
0
0
0
34
-19
-20
0
0
0
0
0
2
7
-16
-2
0
0
0
0
0
1
9
-30
-3
0
0
0
0
0
0
-1
7
97
0
0
-19
0
0
1
14
7
7
0
0
0
0
0
0
-3
-14
41
0
0
0
0
0
1
-11
-14
48
0
0
0
0
0
1
-5
6
19
0
0
0
0
0
0
-32
-5
-19
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
-1
-36
55
0
0
0
0
0
0
2
-1
-3
0
0
27
0
0
0
14
-20
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
4
0
1
0
0
0
0
0
0
7
-5
6
0
0
0
0
0
0
0
14
-22
0
0
0
0
0
0
1
-11
-1
0
0
30
0
0
0
1
-5
7
0
0
0
0
0
-4
-1
14
26
0
0
0
-5
0
0
-5
-19
6
0
0
0
0
0
0
-4
-33
26
0
0
20
-4
0
-4
21
-10
5
0
0
0
0
0
3
15
-16
-36
0
0
0
0
0
0
-2
-58
46
0
0
0
0
0
0
9
-9
13
0
0
0
0
0
0
0
11
-20
0
0
0
0
0
0
-17
3
53
0
0
0
0
0
2
5
-16
69
0
0
0
0
0
2
-1
0
-2
0
0
0
0
0
0
1
-3
22
0
0
0
0
0
16
5
0
-17
0
0
0
0
0
0
2
-7
-8
0
0
0
0
0
0
11
-11
-1
0
0
0
0
0
0
0
-43
57
0
0
0
0
0
-6
14
-3
50
0
0
0
0
0
0
2
-7
6
0
0
0
0
0
-1
2
-4
-41
0
0
0
0
0
0
0
8
11
0
0
0
0
-10
-35
5
10
4
0
0
0
0
0
1
0
-23
10
0
0
0
0
0
1
3
-22
10
0
0
0
0
0
0
-2
6
1
0
0
0
0
0
1
1
0
7
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
-4
0
-2
-15
0
0
0
0
3
-4
2
2
40
0
0
0
0
0
-1
-1
-26
42
0
0
0
0
0
0
8
-1
2
0
0
0
0
0
0
0
-3
1
0
0
0
0
1
-1
-19
-2
38
0
0
0
0
0
1
1
11
-7
0
0
0
0
3
0
0
-6
10
0
0
0
0
-1
-15
8
-7
-72
0
0
0
0
0
0
0
-43
23
0
0
0
-1
0
-2
0
-16
23
0
0
0
0
0
0
-6
-41
94
0
0
0
0
0
0
-17
6
28
0
0
0
0
0
0
0
-2
49
0
0
0
0
0
0
7
28
14
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-20
15
3
0
0
0
0
0
0
-3
-22
110
0
0
0
2
0
0
26
-20
-33
0
0
0
0
0
0
0
-7
10
0
0
0
0
0
0
-2
-15
39
0
0
0
0
0
0
0
-2
63
0
0
0
0
0
-2
0
-16
6
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-19
-33
0
0
0
0
0
0
0
-22
14
0
0
0
4
0
-1
-1
-37
32
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
-1
8
-16
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
9
63
0
0
0
-3
0
0
0
9
35
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
-3
-1
-8
0
0
0
0
0
0
0
3
-46
0
0
0
2
0
0
0
-29
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
-4
-26
-43
70
0
0
0
0
-32
8
2
16
-9
0
0
0
0
0
0
6
-50
-4
0
0
0
0
0
0
17
-34
-5
0
0
0
0
0
-1
-8
-35
74
0
0
0
0
0
0
-1
3
43
0
0
0
0
0
0
1
-5
-1
0
0
0
0
0
5
-2
0
-8
0
0
0
0
0
0
-2
-3
55
0
0
0
0
8
1
2
-14
-19
0
0
0
0
0
0
-4
-18
-33
0
0
0
0
0
0
-3
-2
21
0
0
0
0
0
0
-1
8
33
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
9
25
0
0
0
0
0
0
0
-10
-19
0
0
0
0
0
9
0
-2
4
0
0
0
0
0
0
0
5
-51
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
-14
-25
0
0
0
0
0
-4
0
2
-14
0
0
0
0
0
0
1
-18
14
0
0
0
0
0
2
0
-2
-7
0
0
0
0
2
0
0
-3
-48
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
-15
51
0
0
0
0
4
-35
-7
-7
4
0
0
0
-1
0
-1
-52
-14
-17
0
0
0
0
0
-2
31
-134
24
0
0
1
0
0
4
69
-72
-36
0
0
0
0
0
-1
-43
-5
69
0
0
0
0
0
-3
-3
1
32
0
0
0
0
0
0
5
-39
27
0
0
0
0
0
0
14
-33
16
0
0
0
0
0
0
-7
28
-8
0
0
0
0
0
0
34
-77
23
0
0
0
0
0
-2
0
58
-46
0
0
-1
0
0
-8
-10
-11
12
0
0
0
0
0
4
-5
33
-4
0
0
0
0
0
0
-11
4
-5
0
0
0
0
0
-9
6
-21
33
0
0
0
0
0
3
10
-1
-14
0
0
0
0
-1
19
35
17
-73
0
0
0
-5
0
-3
0
-40
48
0
0
0
0
0
3
-14
3
32
0
0
2
0
0
-1
-4
-17
-5
0
0
0
0
0
16
-5
-21
-18
0
0
0
0
0
0
-11
1
5
0
0
0
0
0
1
0
-8
3
0
0
0
0
0
0
-14
19
-4
0
0
0
0
0
-14
8
-15
4
0
0
0
0
0
0
-9
29
12
0
0
0
0
0
0
1
-53
25
0
0
-2
0
0
0
-5
-5
-11
0
0
0
0
0
-7
-3
43
31
0
0
0
0
0
0
6
-14
37
0
0
0
0
0
-1
-3
-3
5
0
0
6
0
-1
-24
-33
4
4
0
0
0
0
17
-11
-58
19
42
0
0
0
0
0
0
-4
53
-5
0
0
0
0
5
2
-33
17
22
0
0
0
0
-1
-1
22
-72
19
0
0
0
0
-30
100
-56
18
42
0
0
0
0
-1
-3
-47
73
-42
0
0
0
0
0
4
13
-33
29
0
0
0
0
-1
9
-4
-14
-99
0
0
0
0
36
-30
19
-28
-23
0
0
0
0
0
0
-9
-43
109
0
0
0
0
0
-14
-5
87
2
0
0
0
0
0
5
-5
-46
10
0
0
0
0
-13
-5
-20
-52
34
0
0
0
0
0
-1
7
-17
28
0
0
0
0
10
0
-6
32
-59
0
0
0
0
-2
-20
27
4
5
0
0
0
0
-84
-17
8
-133
43
0
0
0
0
0
-7
-30
54
57
4
0
0
0
1
-1
24
41
-87
-1
0
0
0
-3
-6
0
-31
9
-7
0
0
0
-5
-17
84
1
68
6
0
0
0
1
3
10
-32
81
-23
0
0
0
0
0
3
7
17
2
0
0
0
0
6
35
-9
-31
-16
0
0
0
-33
-7
-40
56
55
7
0
0
0
0
-1
-5
-61
20
24
0
0
0
11
0
43
67
-54
20
0
0
0
0
23
-16
14
35
-11
0
0
0
36
31
4
19
18
-5
0
0
0
3
2
9
63
-9
4
0
0
0
15
27
-14
-6
89
-14
0
0
0
11
-14
42
-38
-15
-2
0
0
0
0
0
22
-7
-16
0
0
0
-1
0
0
-21
-54
61
0
0
0
0
0
0
0
9
3
0
0
0
1
0
-4
-33
15
-32
0
0
0
0
0
3
32
-33
-36
0
0
0
-3
0
0
-5
25
50
0
0
0
0
0
0
0
-2
43
0
0
0
0
0
-6
4
15
-51
0
0
0
0
0
0
-2
-15
56
0
0
0
-34
0
1
0
-23
21
0
0
0
0
0
0
0
-19
3
0
0
0
-7
0
0
-4
8
44
0
0
0
0
0
-1
2
-2
13
0
0
0
0
0
-1
0
8
18
0
0
0
0
0
0
0
-10
-15
0
0
0
2
0
-1
-2
-53
23
0
0
0
0
0
0
7
11
29
5
0
0
11
4
-5
0
8
-13
-8
0
0
0
0
0
0
-44
10
2
0
0
0
0
0
-3
30
24
-17
0
0
0
0
-1
7
-48
24
-2
0
0
76
0
0
0
-38
-12
15
0
0
0
0
0
0
-24
31
28
0
0
0
0
0
1
-24
-33
14
0
0
0
0
0
0
-26
11
19
0
0
14
0
0
-2
-14
-12
23
0
0
0
0
0
0
-20
17
38
0
0
1
0
0
0
-8
-18
30
0
0
0
0
1
4
-29
-24
24
0
0
76
0
0
-8
26
38
-18
0
0
0
0
0
0
-43
-10
28
0
0
54
0
-4
-33
-44
49
-8
0
0
0
0
-3
-14
-54
37
0
0
0
0
0
0
0
9
-14
0
0
0
0
0
1
1
-60
21
0
0
0
0
0
-2
-5
23
-11
0
0
0
0
0
-1
2
2
33
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
-2
4
-5
0
0
0
0
0
-2
-3
-22
38
0
0
0
0
0
0
-1
32
-5
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
-4
0
-31
0
0
0
0
0
0
1
3
-29
0
0
0
0
0
0
-2
0
-35
50
0
0
0
0
0
0
0
-10
72
0
0
0
0
0
-1
-1
-5
29
0
0
0
0
0
3
-1
-36
44
0
0
0
0
4
0
4
3
75
-3
0
0
0
0
0
0
0
16
-1
0
0
0
0
0
5
52
55
-9
0
0
0
0
-1
0
42
-33
-12
0
0
0
0
0
0
-35
-1
30
0
0
0
0
0
1
0
34
55
0
0
0
1
0
2
31
-6
8
0
0
0
0
-1
3
11
1
-57
0
0
0
0
0
0
-27
46
25
0
0
0
0
0
0
-5
29
-5
0
0
0
0
0
-7
41
-1
-5
0
0
0
0
-3
-1
-20
-17
25
0
0
0
0
0
3
-1
60
-53
0
0
0
0
0
-4
-15
-1
32
0
0
0
1
0
3
-36
-7
-4
0
0
0
-2
1
34
-40
-1
1
0
0
0
0
-3
7
23
59
0
0
0
0
0
-2
7
37
-15
0
0
0
0
0
0
-2
36
14
0
0
-30
-2
0
1
19
-25
87
0
0
0
0
0
0
3
-39
118
0
0
0
0
0
-1
3
-19
-5
0
0
0
0
0
0
4
-3
9
0
0
2
0
0
-14
26
-8
-8
0
0
0
0
0
0
2
43
-5
0
0
0
0
0
0
5
-49
0
0
0
0
0
0
0
0
-19
0
0
0
-8
0
0
-1
4
-6
-21
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-2
7
33
0
0
0
0
0
0
5
-7
-25
0
0
-8
0
0
-2
7
-6
-32
0
0
0
0
0
0
-12
-158
35
-6
0
0
0
0
0
-2
-42
67
-1
0
0
0
0
0
-13
21
-45
0
0
12
0
0
3
-43
116
-39
-8
0
0
0
0
1
0
-33
-33
36
0
0
0
0
0
-4
-17
5
29
0
0
0
0
0
2
-34
26
-5
0
8
0
0
0
-7
-26
-46
48
0
0
0
0
0
-23
19
67
-6
0
0
0
0
0
-14
-16
-39
-22
0
0
0
0
5
-10
-36
8
70
0
73
0
0
-1
-11
-72
-21
20
0
0
0
0
0
-5
-21
36
-50
0
0
0
0
1
20
-53
6
-123
0
0
0
0
0
-1
19
43
-52
0
85
0
1
-1
-19
-35
3
-9
0
0
0
8
-1
-25
-58
25
0
0
0
0
0
-4
-3
14
-47
0
0
0
0
0
0
13
19
15
0
0
0
0
0
2
1
2
29
0
0
0
0
3
6
-17
36
-7
0
0
0
0
0
0
0
-30
50
0
0
0
0
0
0
1
-3
8
0
0
0
0
0
0
-45
-15
59
0
0
0
0
-1
0
-2
0
37
0
0
0
0
0
0
0
-7
16
0
0
0
0
0
0
-5
2
2
0
0
0
0
0
0
1
9
-29
0
0
0
0
0
0
-5
4
-5
0
0
0
0
0
-1
0
-2
23
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
2
13
-9
-12
0
0
0
0
-33
10
-20
6
60
-1
0
0
0
0
0
0
-42
54
28
0
0
0
0
1
5
31
11
1
0
0
0
0
1
5
-51
4
24
0
0
0
-20
10
-3
18
76
-37
0
0
0
0
0
-15
-56
-6
11
0
0
0
0
0
-5
7
17
7
0
0
0
0
-10
3
-14
5
-87
0
0
0
0
-1
-10
15
-53
1
0
0
0
0
-1
0
-2
1
-6
0
0
0
0
0
0
-13
-4
-41
0
0
0
0
-1
1
-1
7
-13
0
0
0
10
-1
10
-11
83
-35
0
0
0
-1
0
7
-25
-7
-18
0
0
0
0
0
0
10
17
-23
0
0
0
-14
-20
76
79
-25
-16
0
0
0
3
1
1
17
-2
0
0
0
19
0
0
0
28
23
0
0
0
0
0
0
-3
2
1
0
0
0
0
0
0
5
-70
102
0
0
0
0
0
0
0
14
-43
0
0
0
0
0
0
1
-24
45
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-21
-3
50
0
0
0
0
0
0
3
8
-4
0
0
0
5
0
0
-1
-5
-9
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
1
-14
-2
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
-3
-20
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
18
6
10
0
0
0
0
0
0
20
-19
63
-1
0
0
-34
0
0
0
2
-43
57
0
0
0
0
0
1
4
0
70
0
0
0
0
0
-3
20
5
-100
0
0
0
1
0
-1
-5
-42
16
0
0
14
0
0
16
-16
18
-43
0
0
0
0
0
0
4
-27
-68
0
0
0
0
0
-5
6
10
-30
0
0
0
0
0
-2
11
-26
25
0
0
-1
0
0
2
9
-4
-46
0
0
0
0
0
-1
2
3
-4
0
0
0
0
0
1
0
-6
-22
0
0
0
0
0
6
22
60
-75
0
0
4
0
0
4
7
5
13
0
0
0
0
0
5
19
-14
-53
0
0
-2
1
0
16
-70
70
-42
0
0
0
0
-3
-2
15
30
0
0
0
0
0
0
0
46
18
0
0
0
0
0
7
1
5
20
0
0
0
0
0
0
-6
-36
23
0
0
0
0
0
0
-3
-4
-2
0
0
0
0
0
0
0
-3
-19
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
-3
9
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
-24
-4
0
0
0
0
0
1
-26
25
-3
0
0
0
0
-2
-1
-11
8
0
0
0
0
0
0
-2
-2
1
15
0
0
0
1
0
-7
0
-33
13
0
0
0
0
0
0
4
-33
3
0
0
0
2
0
0
-8
4
58
0
0
0
0
0
2
-2
-2
-34
0
0
0
0
-3
0
1
-33
31
0
0
0
0
0
0
-3
-2
-14
0
0
0
0
0
-2
3
0
-10
0
0
0
0
0
0
-1
0
-42
0
0
0
1
0
0
2
-13
-54
0
0
0
0
0
0
1
9
-18
0
0
0
0
0
6
13
4
-45
0
0
0
0
1
-15
-22
-30
-3
0
0
0
-1
-1
-14
-6
47
0
0
0
0
0
0
-8
-80
9
0
0
0
0
0
0
-1
11
-43
0
0
-3
0
0
0
15
-71
35
0
0
0
0
0
-1
3
-1
-29
0
0
0
0
0
0
7
4
64
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
-8
1
-25
33
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
1
0
0
0
5
0
0
-3
4
-10
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
0
0
1
13
0
0
0
0
0
2
27
-21
5
0
0
0
0
0
0
23
118
-10
-3
0
0
0
0
-1
-1
-6
-10
24
0
0
0
0
0
-6
-4
25
-35
0
-5
0
0
3
5
-18
10
16
0
0
0
0
0
5
-2
29
-73
0
0
0
0
0
23
-27
13
-50
0
0
0
0
2
7
-6
-10
24
0
-2
0
-1
-1
-14
46
-9
-16
0
0
0
0
0
14
-4
-4
-27
0
0
0
0
0
0
-6
20
-15
0
0
0
0
0
-11
-1
6
-92
0
0
0
0
0
-20
2
-1
-17
0
0
0
0
0
-4
3
-41
-42
0
0
0
0
2
4
-34
-5
-15
0
0
0
0
-2
20
-25
-1
-55
0
-6
-1
0
13
-32
-43
45
24
0
0
0
-24
-4
31
-32
-26
0
0
0
0
0
-4
-3
14
77
0
0
0
0
0
0
-10
-43
47
0
0
0
0
0
-1
9
-25
49
0
0
0
0
2
-42
35
-22
-6
0
0
0
0
0
0
-13
-31
9
0
0
0
0
-1
-7
0
2
13
0
0
0
0
0
0
2
-29
29
0
0
0
0
36
45
-41
1
-14
0
0
0
0
0
0
-8
-52
43
0
0
0
0
0
-1
14
31
-1
0
0
0
0
1
0
21
-2
-21
0
0
0
0
0
-10
5
6
24
0
0
0
0
0
0
1
-4
-14
0
0
0
0
2
2
1
-26
10
0
0
0
0
1
1
-4
3
-12
0
0
0
0
-25
70
23
-62
10
9
0
0
0
0
0
-16
17
-23
5
0
0
0
0
2
-7
-62
29
15
0
0
0
0
0
0
-12
-19
12
0
0
0
18
-1
50
14
-2
-121
0
0
0
0
0
0
-1
34
-26
0
0
0
2
-3
0
0
14
6
0
0
0
0
0
-2
1
-21
-24
0
0
0
28
-54
23
13
11
-35
5
0
0
0
-3
39
15
21
-20
-12
0
0
0
5
14
-21
68
-1
10
0
0
0
-4
41
49
80
-65
-1
0
0
-18
-4
14
1
-23
-52
16
0
0
0
-1
0
-109
42
43
-7
0
0
-9
0
10
-19
43
-15
6
0
0
-19
58
71
26
-63
-74
0
0
0
0
0
-4
46
-4
0
0
0
1
0
-1
-6
19
10
0
0
0
0
0
0
0
10
21
0
0
0
0
0
2
-4
-80
45
0
0
0
0
0
-9
0
24
83
0
0
0
0
0
-3
-5
-15
54
0
0
0
0
0
0
0
-3
-27
0
0
0
0
0
0
-14
33
-53
0
0
0
0
0
0
0
-19
15
0
0
0
28
0
0
-7
15
-58
0
0
0
0
0
0
0
-53
14
0
0
0
2
0
-1
-3
30
-17
0
0
0
0
0
0
0
-10
58
0
0
0
1
0
0
-4
0
20
0
0
0
0
0
0
0
-3
-29
0
0
0
3
0
4
15
-50
-26
0
0
0
0
0
0
2
-13
7
0
0
0
18
0
-3
-3
14
-13
13
0
0
0
0
0
0
5
-32
7
0
0
0
0
0
-8
-14
56
-4
0
0
0
0
0
-4
-5
31
31
0
0
0
0
1
1
1
-43
11
0
0
0
0
0
0
2
2
20
0
0
0
0
0
0
0
15
5
0
0
0
0
2
3
28
23
-24
-18
0
32
0
-3
9
-18
26
-51
-15
0
0
0
0
2
-66
101
-95
-1
0
0
0
3
-39
-53
1
-73
10
0
0
0
0
0
-18
-39
-26
-11
0
-44
0
0
-20
14
45
21
-28
0
0
0
2
0
-27
-31
8
35
0
17
0
-2
-22
-91
59
-80
-35
0
0
2
-3
-3
5
59
0
0
0
0
0
0
-2
-29
66
0
0
0
0
0
0
4
-70
62
0
0
0
0
0
0
0
26
53
0
0
0
0
0
-1
-2
21
-36
0
0
0
0
0
0
-4
-22
4
0
0
0
0
0
-2
3
1
2
0
0
0
0
0
0
-18
6
0
0
0
0
0
0
0
3
0
-30
0
0
0
0
0
0
0
3
19
0
0
0
0
0
1
-1
-5
-8
0
0
0
0
0
-1
-2
2
-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
-15
0
0
0
0
0
0
2
-3
4
0
0
0
0
-2
0
-1
5
-12
3
0
0
0
0
0
0
-30
73
23
0
0
0
0
0
1
-17
5
-8
0
0
0
0
0
0
-32
-29
23
0
0
0
0
0
-2
6
22
-19
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
2
-39
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
3
-103
15
-40
13
0
0
0
0
-1
76
-25
-43
-30
0
0
0
-9
0
-38
-34
-15
2
0
0
0
0
-3
33
7
-37
-29
0
0
0
2
3
7
0
-40
15
0
0
0
0
0
3
-14
-43
-7
0
0
2
0
0
8
-24
-27
10
0
0
0
14
-25
3
-50
-7
15
0
0
0
3
14
47
-29
0
0
0
0
0
0
1
-35
29
0
0
0
0
0
0
0
33
-23
0
0
18
0
0
-1
-3
0
85
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
-7
0
32
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
-49
11
0
0
0
0
0
8
1
15
-14
0
0
0
0
0
0
-2
-53
48
0
0
0
0
0
-4
1
-45
0
0
0
5
0
0
2
-2
-32
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
11
2
0
0
0
0
0
1
1
-1
-34
0
0
0
0
0
0
3
15
46
-1
0
0
3
0
0
-9
53
72
-71
0
0
0
0
0
0
-7
5
-22
0
48
0
0
0
-25
-80
5
-6
0
0
0
0
0
0
0
1
-50
0
0
0
0
0
-1
-8
0
33
0
0
0
0
0
0
0
3
-62
0
0
0
0
0
0
-9
0
77
0
0
0
0
-1
32
-21
38
-37
-5
0
0
0
3
-66
-15
-33
-50
16
0
0
0
0
-3
-4
-63
10
-42
-52
0
0
-2
-3
-43
53
-43
8
0
0
0
1
3
46
-6
-76
12
0
0
0
0
-3
-18
-7
-50
87
0
0
0
2
0
11
0
14
-78
-61
-3
2
-23
-31
-65
62
4
-12
0
0
6
-15
20
-64
-11
0
0
0
0
0
2
-21
-50
31
0
0
0
0
-3
-3
-10
-66
92
0
0
0
0
0
1
3
-13
-51
0
0
0
0
-5
3
4
6
41
0
0
0
0
0
-7
-3
39
-22
0
0
0
0
-1
1
-1
6
11
0
0
0
0
0
-2
-4
18
-18
0
0
0
0
14
33
25
-7
-20
0
0
0
0
0
-4
4
8
93
0
0
0
0
0
2
-13
-37
22
0
0
0
0
0
0
-11
14
33
0
0
0
0
2
3
-9
-47
10
0
0
0
0
0
0
1
-1
54
0
0
0
0
0
4
-1
17
5
0
0
0
0
0
8
-1
-21
-5
0
0
0
0
7
-24
50
42
30
-21
0
0
0
0
-1
8
-18
43
-52
0
0
0
-1
0
-1
-9
6
21
0
0
0
0
0
6
8
-10
-10
0
0
0
-15
-2
-3
-1
-8
-4
0
0
0
0
0
0
-15
-20
-7
0
0
0
0
7
-1
-1
-9
-18
0
0
0
0
1
-3
-13
-9
-13
0
0
0
6
2
5
20
-26
-34
11
0
0
0
0
-1
46
-3
12
-18
0
0
0
1
0
-47
20
-69
40
0
0
0
0
-2
32
27
-34
-8
0
0
5
5
14
3
-9
-13
-6
0
0
2
0
8
11
-23
6
45
0
0
-1
-3
0
-13
-46
42
-34
0
0
12
0
-56
-28
67
-6
-14
0
0
-1
-1
-2
-5
11
0
0
0
-46
0
1
1
-42
79
0
0
0
0
-5
0
2
-17
8
0
0
0
6
0
0
-37
8
-3
0
0
0
0
0
1
-4
14
-37
0
0
0
0
0
0
-15
-14
30
0
0
0
0
0
0
-1
-3
-43
0
0
0
0
0
-3
4
-29
42
0
0
0
0
0
0
-1
24
12
0
0
0
-43
0
4
-3
14
28
0
0
0
0
0
0
0
-24
19
0
0
0
-5
0
0
6
-43
-21
0
0
0
0
0
0
0
4
-1
0
0
0
-2
0
0
0
-8
10
0
0
0
0
0
-2
-3
10
5
0
0
0
0
0
0
-8
0
46
0
0
0
0
0
0
0
27
-42
-17
0
0
43
0
3
0
0
41
-88
0
0
0
0
0
1
-22
15
-10
0
0
0
0
2
2
19
-18
-11
0
0
0
0
0
5
-9
37
-8
0
0
-14
0
0
2
0
23
-34
0
0
0
0
0
0
2
-2
-2
0
0
0
0
0
-7
1
-9
6
0
0
0
0
0
-1
0
41
-17
-4
0
4
0
0
3
-36
52
-66
-17
0
0
0
0
-1
-9
0
-74
51
0
0
0
0
-5
-33
-14
17
29
0
0
0
0
-1
4
-1
-55
51
0
-1
0
0
3
-31
56
-23
-46
0
0
0
0
-2
27
-24
-21
-41
0
-16
0
-7
-20
-11
98
-20
-39
0
0
-1
-62
29
21
43
0
0
0
0
0
-8
-2
20
11
0
0
0
0
0
0
-16
-6
21
0
0
0
0
0
0
-17
38
-14
0
0
0
0
0
-3
25
-8
-9
0
0
0
0
0
-1
5
-23
43
0
0
0
0
0
0
0
-14
17
0
0
0
0
0
-11
13
-1
8
0
0
0
0
-5
-10
2
8
-21
0
0
0
0
0
0
0
-17
17
0
0
0
0
0
0
1
5
-31
0
0
0
0
0
0
-3
-32
36
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
11
-35
0
0
0
0
0
0
0
8
-7
0
0
0
0
6
24
-6
-3
67
5
0
0
0
-1
1
-6
28
45
-1
0
0
0
0
-4
1
-9
24
16
0
0
0
0
-1
4
0
32
-67
0
0
0
5
-1
5
3
8
-59
0
0
0
-1
0
0
-11
-22
8
0
0
0
-2
0
0
6
1
-30
0
0
0
0
-10
1
-4
7
2
0
0
0
30
3
-19
-55
-28
16
0
0
0
0
-2
-2
-29
80
47
-35
0
0
0
-5
-2
5
-20
-78
44
0
0
0
0
-1
-6
-23
-42
72
0
0
10
-2
6
-4
5
-22
-45
0
0
0
0
-4
3
1
-31
-27
0
0
0
3
3
-7
2
-14
-15
0
0
-14
-45
-10
34
-73
-21
36
0
0
33
34
44
-24
-6
0
0
0
15
6
-6
21
34
8
0
0
0
0
-14
-42
21
-59
38
0
0
21
15
-59
-34
-14
-28
34
0
0
0
0
64
27
60
82
-44
0
0
0
40
1
-38
-58
-10
-4
0
0
0
0
-23
19
14
11
-74
0
0
-4
-5
5
-18
-68
-14
42
0
0
0
0
-30
-31
19
-35
-7
0
0
0
-16
0
-37
2
-20
-30
0
0
0
0
20
26
-43
-53
7
0
0
66
-25
-2
2
-6
-54
-1
0
0
0
0
-1
52
58
-28
-64
0
0
0
-30
0
-13
-15
-54
55
0
0
0
0
-32
-20
31
16
23
0
0
34
23
4
-37
13
-67
-34
0
0
0
0
-19
-5
-30
117
64
-16
0
0
15
13
-5
-39
-60
-16
21
0
0
0
5
35
4
-23
10
-49
0
-6
12
5
32
15
-60
27
-46
0
0
0
87
27
49
-44
-24
-13
0
0
-21
-8
10
-27
11
-26
-20
0
0
0
27
27
-64
18
5
4
0
43
10
-11
-15
-71
-20
-6
0
0
0
0
38
-15
-35
80
5
-35
6
0
-5
20
-33
15
-38
1
-71
-36
0
0
-43
-52
-40
-12
51
-58
1
-12
-9
-8
22
29
-123
15
-23
-12
0
0
-27
-19
33
-18
44
-12
-23
0
2
8
-16
5
-35
3
-7
-48
0
0
-15
-35
-21
-55
-1
12
21
-98
-12
59
5
3
-66
-26
-53
-11
0
0
41
55
24
26
-3
0
0
0
0
0
-5
-50
-34
37
0
0
0
0
0
44
-42
-29
12
0
0
0
0
0
-7
-3
33
-4
0
0
0
0
15
5
-14
9
29
0
0
0
0
0
14
-1
26
7
0
0
0
0
-1
-5
-2
-5
78
0
0
0
0
0
2
75
-191
54
0
0
0
0
55
21
-44
-31
-3
0
0
0
0
0
-3
7
43
-3
0
0
0
0
0
5
1
18
-51
0
0
0
0
0
3
14
38
-6
0
0
0
0
-2
2
29
10
-13
0
0
0
0
0
0
21
37
7
0
0
0
0
-2
6
-7
-68
44
0
0
0
0
0
-7
36
-67
43
0
0
0
0
-62
14
34
-72
50
0
0
0
0
0
2
-6
-33
38
0
0
0
0
0
1
6
-108
29
0
0
0
0
0
0
58
-81
-5
0
0
0
0
-16
17
18
-10
4
0
0
0
0
0
0
-3
-19
1
0
0
0
0
0
0
-14
-8
13
0
0
0
0
0
-3
2
5
38
0
0
0
0
4
-58
-3
-23
-2
0
0
0
0
0
1
-3
25
17
0
0
0
0
1
0
-9
-22
33
0
0
0
0
0
2
-6
47
14
0
0
0
0
50
-67
1
25
36
0
0
0
0
0
-1
23
-12
45
0
0
0
0
21
-8
-13
48
19
0
0
0
0
29
-32
-51
-52
60
0
0
0
0
0
-2
-13
17
7
0
0
0
-72
0
0
-1
-32
9
0
0
0
0
0
0
1
4
-3
0
0
0
0
0
1
13
-1
6
0
0
0
0
0
0
5
-48
10
0
0
0
44
0
0
-1
11
58
0
0
0
0
0
0
-2
-31
12
0
0
0
0
0
5
-14
21
-1
0
0
0
0
0
0
0
32
-5
0
0
0
-69
0
0
2
-22
18
0
0
0
0
0
0
-1
35
1
0
0
0
-1
0
-3
2
-22
21
0
0
0
0
0
0
-4
42
10
0
0
0
0
0
0
1
-26
16
0
0
0
0
0
0
6
-55
-9
0
0
0
0
0
1
-13
45
21
0
0
0
0
0
0
5
48
-25
0
0
0
1
0
0
2
-46
11
0
0
0
0
0
0
1
-59
30
0
0
0
0
0
0
0
-22
77
0
0
0
0
0
0
-1
11
-9
0
0
0
52
0
0
1
-90
47
0
0
0
0
0
0
0
39
-41
0
0
0
0
0
0
1
-54
38
0
0
0
0
0
0
0
1
16
0
0
0
38
0
0
-1
30
-44
0
0
0
0
0
0
0
9
-67
0
0
0
0
0
-1
-1
49
-29
0
0
0
0
0
0
0
-92
10
0
0
0
-57
0
0
-7
0
51
0
0
0
0
0
0
3
2
3
0
0
0
61
0
-27
-17
-4
2
0
0
0
0
0
1
26
-36
21
0
0
0
0
0
0
21
30
16
0
0
0
0
0
0
37
-91
76
0
0
0
0
0
-5
-3
-2
7
0
0
0
0
0
0
-7
-59
47
0
0
0
0
0
0
16
-85
25
0
0
0
0
0
0
6
-62
15
0
0
0
0
0
-2
-25
35
5
0
0
0
0
0
0
-16
34
61
0
0
0
0
0
0
-1
-33
31
0
0
0
0
0
0
-7
43
-91
0
0
0
0
0
-1
-4
10
-31
0
0
0
0
0
0
2
-73
91
0
0
0
0
0
0
0
2
17
0
0
0
0
0
0
0
18
-33
0
0
0
0
0
-2
-10
-17
52
0
0
0
0
0
0
14
-80
13
0
0
0
0
0
0
8
-64
26
0
0
0
0
0
0
1
-8
-23
0
0
0
0
0
0
-17
6
29
0
0
0
0
0
1
-9
9
-21
0
0
0
0
0
0
-5
-2
24
0
0
0
0
0
0
0
16
-17
0
0
0
0
0
0
3
5
-14
0
0
0
0
-1
2
17
-50
3
0
0
0
0
0
0
0
4
87
0
0
0
0
0
0
-18
-14
62
0
0
0
0
0
0
4
-33
17
0
0
0
0
0
1
-1
-32
-12
0
0
0
0
0
0
10
-33
32
0
0
0
0
0
0
-1
21
20
0
0
0
0
3
-10
-44
-11
42
0
0
0
0
0
-4
-26
-11
33
0
0
0
0
0
0
1
-39
26
0
0
0
0
0
0
56
-38
-22
0
0
-24
0
0
0
-33
17
47
0
0
0
0
0
0
32
-16
-75
0
0
0
0
0
0
9
18
41
0
0
0
0
0
0
8
24
54
0
0
-1
0
0
0
23
-15
-54
0
0
0
0
0
-1
33
62
-6
0
0
0
0
0
0
24
-42
-12
0
0
0
0
0
0
-29
52
14
0
0
25
0
0
1
10
-37
-63
0
0
0
0
0
0
-16
-9
-7
0
0
0
0
0
0
13
-23
9
0
0
0
0
0
0
9
-62
114
0
0
-11
0
0
0
-61
29
-4
0
0
0
0
0
0
58
-26
1
0
0
0
1
0
0
10
-21
17
0
0
0
0
0
-1
7
44
17
0
0
32
0
0
-1
-1
17
-48
0
0
0
0
0
0
-22
8
-4
0
0
0
0
0
0
-25
-34
77
0
0
0
0
0
0
-24
-18
40
0
0
3
0
0
0
-5
-11
26
0
0
0
0
0
1
10
-40
42
0
0
0
0
0
0
-10
51
5
0
0
0
0
0
0
-22
3
16
0
0
-42
0
0
-3
3
60
3
0
0
0
0
0
0
7
1
-11
0
0
0
0
0
0
17
20
-51
0
0
0
0
0
2
10
-4
18
0
0
45
5
1
-5
-21
-22
-5
0
0
0
0
-4
-4
-25
26
33
0
0
0
0
0
1
-8
-43
22
0
0
0
0
0
0
25
-28
34
0
0
0
0
0
0
28
-80
63
0
0
0
0
0
-1
-3
-2
18
0
0
0
0
0
0
18
-13
10
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
21
-9
-26
0
0
0
0
0
0
-8
-52
70
0
0
0
0
0
0
-2
-21
71
0
0
0
0
0
0
-1
-14
48
0
0
0
0
0
1
5
-7
67
0
0
0
0
0
0
-3
7
-2
0
0
0
0
0
0
-6
-13
14
0
0
0
0
0
0
1
17
-21
0
0
0
0
0
2
-7
-11
47
0
0
0
0
3
-5
2
-48
5
0
0
0
0
0
2
0
0
10
0
0
0
0
0
3
1
-16
6
0
0
0
0
0
3
-9
16
-6
0
0
0
0
0
0
0
11
15
0
0
0
0
0
0
1
-14
-16
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
7
-6
-4
0
0
0
0
0
1
-7
-14
-5
13
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
1
0
46
-23
0
0
0
0
0
0
8
48
-50
0
0
0
0
0
0
5
-2
-6
0
0
0
0
0
0
2
-14
17
0
0
0
0
0
0
5
0
25
0
0
0
0
0
6
53
33
-36
0
0
0
0
0
0
30
18
-32
0
0
0
7
0
0
-5
16
-22
0
0
0
0
0
0
7
2
-12
0
0
0
0
0
-2
11
-33
50
0
0
0
0
0
0
1
-1
81
0
0
0
0
0
0
1
-16
15
0
0
0
0
0
0
-3
1
-41
0
0
0
0
0
1
-5
-5
4
0
0
0
0
0
0
1
-1
32
0
0
0
0
0
2
-1
14
44
0
0
0
0
0
0
2
4
1
0
0
0
0
0
0
-3
1
29
0
0
0
0
0
0
-3
1
23
0
0
0
0
0
0
-5
-3
53
0
0
0
0
0
0
0
4
19
0
0
0
0
0
5
16
-23
-26
0
0
0
0
0
0
7
25
-14
0
0
0
1
0
0
1
6
-13
0
0
0
0
0
0
-2
-10
-9
0
0
0
0
0
0
-1
-26
18
0
0
0
0
0
0
3
-5
10
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
-13
-18
0
0
0
-5
0
0
2
-49
14
0
0
0
0
0
0
-4
7
19
0
0
0
0
0
0
-2
-21
25
0
0
0
0
0
0
0
-10
-17
0
0
0
1
0
0
2
-8
33
0
0
0
0
0
0
-4
0
-45
0
0
0
-5
0
3
0
-64
5
0
0
0
0
1
0
4
11
51
0
0
0
0
0
0
-5
-21
67
0
0
0
0
0
1
0
-8
20
0
0
0
0
0
-1
-3
46
-24
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
-2
3
-61
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
4
4
0
-5
0
0
0
0
1
-3
0
26
-36
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
-25
9
0
0
0
0
0
2
2
-26
17
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
39
0
0
0
0
0
0
0
-3
7
0
0
0
0
3
0
0
14
-4
0
0
0
0
0
0
-1
-22
11
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-6
-9
3
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
16
-25
0
0
0
0
0
1
3
-13
-20
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
-9
20
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
3
15
3
0
0
0
0
0
0
0
-14
-58
0
0
0
0
0
-21
-1
-19
40
0
0
0
0
0
-4
-100
17
38
0
0
0
0
0
4
28
-39
37
0
0
-1
0
0
26
-5
-7
-3
0
0
0
0
0
1
25
-88
22
0
0
0
0
0
0
-5
-29
6
0
0
0
0
0
3
14
-9
-14
0
0
0
0
0
3
21
-10
6
0
0
0
0
0
3
35
15
-35
0
0
0
0
0
0
-43
3
42
0
0
0
0
0
0
27
6
47
0
0
0
0
0
4
33
14
-46
0
0
0
0
0
1
-4
-22
24
0
0
0
0
0
-2
10
-11
58
0
0
0
0
0
0
47
-2
20
0
0
0
0
0
-16
10
-2
-24
0
0
0
0
0
23
36
42
-15
0
0
0
2
0
-6
-1
-20
41
0
0
0
0
0
2
-6
16
23
0
0
-1
0
0
7
-42
23
1
0
0
0
0
0
4
26
11
-32
0
0
0
0
0
4
25
-20
-10
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-8
-3
39
-6
0
0
0
0
0
29
10
-109
-3
0
0
0
0
0
-9
-16
52
-13
0
0
0
0
0
0
-22
-2
1
0
0
-1
0
0
-1
-44
-81
2
0
0
0
0
0
-11
31
14
-22
0
0
0
0
0
1
-20
-4
-3
0
0
0
0
0
-18
-5
-17
20
0
0
4
0
-1
5
-49
25
-33
0
0
0
0
79
-15
20
6
-41
0
0
0
0
0
-3
6
-52
42
0
0
0
0
-1
-10
-14
114
-12
0
0
0
0
-4
7
45
-23
35
0
0
0
0
0
5
-10
-6
-69
0
0
0
0
0
0
1
19
7
0
0
0
0
0
0
3
-17
7
0
0
0
0
0
-3
-10
33
14
0
0
0
0
1
-23
-3
1
-2
0
0
0
0
0
0
-4
-73
-21
0
0
0
0
0
-10
-1
2
33
0
0
0
0
0
-3
6
-4
-10
0
0
0
0
0
-3
0
-2
37
0
0
0
0
0
-2
-13
7
16
0
0
0
0
0
-1
-1
-1
-5
0
0
0
0
-2
0
1
-2
28
0
0
0
0
-9
-22
-11
19
58
0
0
0
0
0
0
-4
-9
26
0
0
0
0
0
0
1
25
-2
0
0
0
0
0
1
3
-23
-33
0
0
0
0
0
3
2
-1
-24
0
0
0
0
0
0
-3
10
42
0
0
0
0
0
0
2
-3
-2
0
0
0
0
0
0
4
-9
-9
0
0
0
0
4
19
-2
18
-10
0
0
0
0
0
0
-2
-21
26
0
0
0
0
0
0
0
-16
4
0
0
0
0
0
0
1
39
5
0
0
0
0
-5
-17
-2
-4
-11
0
0
0
0
0
0
0
-25
5
0
0
0
0
1
1
0
-18
33
0
0
0
0
1
-5
80
-55
29
0
0
0
0
0
0
-1
-99
53
0
0
0
8
0
0
4
-49
44
0
0
0
0
0
0
-1
34
-1
0
0
0
0
0
0
-4
57
14
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
-2
2
-9
6
0
0
0
0
0
0
0
-14
31
0
0
0
0
0
1
-3
-54
17
0
0
0
0
0
0
0
3
15
0
0
0
0
0
0
0
-49
59
0
0
0
0
0
0
-1
-33
49
0
0
0
0
0
0
-5
5
59
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
-6
37
0
0
0
0
0
0
1
-14
14
0
0
0
0
0
0
-2
-34
46
0
0
0
10
0
-1
2
-9
-15
0
0
0
0
0
0
0
-6
14
0
0
0
0
0
0
-9
9
18
0
0
0
0
0
0
-1
0
43
0
0
0
-3
0
0
0
-9
35
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
-15
-7
0
0
0
0
0
0
5
-9
46
0
0
0
-2
0
0
0
3
17
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
-9
28
0
0
0
4
0
0
3
-46
11
0
0
0
0
0
0
-2
5
-3
0
0
0
-34
0
0
18
14
-20
0
0
0
0
0
3
8
31
32
0
0
0
0
0
-2
0
16
5
0
0
0
0
0
7
0
-15
-25
0
0
0
0
0
0
31
-68
-7
0
0
0
0
0
0
0
14
-26
0
0
0
0
0
0
8
-47
46
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
-1
-6
21
5
0
0
0
0
0
1
-4
-20
63
0
0
0
0
0
0
-1
8
5
0
0
0
0
0
0
0
-6
24
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
2
15
0
0
0
0
0
-1
0
-2
-24
0
0
0
0
0
-1
2
10
15
0
0
0
0
-2
-5
-1
-5
48
0
0
0
0
0
1
1
20
-1
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
0
-7
-8
15
0
0
0
0
-2
1
0
-15
37
0
0
0
0
0
0
-6
-13
49
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
-2
-3
-9
0
0
0
0
0
0
1
4
33
0
0
0
0
0
1
-2
-11
32
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
-4
0
0
0
0
0
-4
-5
22
12
0
0
0
0
0
0
1
10
8
0
0
0
0
0
-2
-34
22
-21
0
0
0
0
0
-4
-38
39
49
0
0
0
0
0
3
1
-43
28
0
0
0
0
0
4
-7
33
11
0
0
-17
0
0
0
20
-10
5
0
0
0
0
0
0
-3
-14
-29
0
0
0
0
0
-7
-21
8
36
0
0
0
0
0
0
1
-11
-5
0
0
0
0
0
0
14
17
-9
0
0
0
0
0
2
17
10
-25
0
0
0
0
0
1
14
-14
25
0
0
0
0
0
-2
1
-37
18
0
0
2
0
0
-2
4
30
-17
0
0
0
0
0
0
-3
24
-5
0
0
0
0
0
0
-6
1
5
0
0
0
0
0
-2
0
-19
8
0
0
0
0
0
0
1
3
21
0
0
0
0
0
3
2
-18
1
0
0
0
0
0
0
6
-56
83
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
4
17
-37
-5
0
0
0
0
0
1
3
-5
-4
0
0
0
0
0
0
5
-39
31
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
-36
4
0
0
0
0
0
-9
-10
31
-33
0
0
0
-3
0
0
-2
33
1
0
0
0
0
0
0
0
-9
11
0
0
1
0
0
1
0
-13
1
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
-9
8
35
0
0
0
0
0
0
1
-33
0
0
0
-43
1
0
10
0
-14
29
0
0
0
0
3
-2
-2
-7
20
0
0
0
0
0
6
0
-7
-33
0
0
0
0
0
0
0
-9
34
0
0
0
0
0
0
-3
1
42
0
0
0
0
0
0
-2
1
5
0
0
0
0
0
0
0
19
-65
0
0
0
0
0
0
0
-2
-27
0
0
0
0
0
0
0
5
-13
0
0
0
0
1
1
0
1
37
0
0
0
0
0
0
0
8
41
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
-10
26
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
-1
0
39
0
0
0
0
0
0
0
2
-25
0
0
0
0
0
0
-2
8
-47
0
0
0
0
0
1
1
1
-43
0
0
0
0
0
0
-2
-44
47
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
8
-4
0
0
0
0
0
0
0
-2
-44
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
13
21
0
0
0
0
0
0
0
-14
30
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
-19
-20
-9
15
0
0
0
0
0
0
1
-26
86
0
0
0
4
0
0
-1
-61
17
0
0
0
0
0
0
0
-6
60
0
0
0
0
0
0
0
-29
60
0
0
0
0
0
0
4
0
32
0
0
0
0
0
0
0
13
-12
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
-5
31
0
0
0
0
0
4
0
-4
37
0
0
0
0
0
0
1
-6
2
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
-2
1
32
0
0
0
-1
0
0
2
2
64
0
0
0
0
0
0
0
-2
23
0
0
0
0
0
0
4
-1
22
0
0
0
0
0
0
-3
6
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
5
1
0
0
0
0
0
-1
-3
0
-13
0
0
0
3
0
0
0
-2
-7
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
-10
-1
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
1
-1
-2
0
0
0
0
-1
0
-69
-30
60
0
0
0
0
8
-1
-10
-3
-3
0
0
0
0
0
-2
3
-43
14
0
0
0
0
0
-3
-2
-13
60
0
0
0
0
0
0
0
-24
17
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-10
47
0
0
0
0
0
0
0
-10
7
0
0
0
0
0
0
0
-18
31
0
0
0
0
0
-1
-2
-15
-18
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
5
2
4
-22
0
0
0
0
0
0
-1
-3
43
0
0
0
0
0
0
0
3
23
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
-2
13
0
0
0
0
-1
-1
1
0
9
0
0
0
0
-24
1
0
0
42
0
0
0
0
0
0
3
-5
18
0
0
0
0
0
0
-1
4
6
0
0
0
0
0
0
-11
-8
23
0
0
0
0
0
0
3
0
-31
0
0
0
0
0
0
0
3
-22
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-1
0
1
-5
0
0
0
0
37
2
1
0
-22
0
0
0
0
0
0
0
-7
54
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
19
0
0
0
0
-2
0
0
-5
14
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
35
-20
2
-15
0
0
0
0
-5
50
3
-97
73
0
0
0
6
0
5
-9
13
-27
0
0
0
0
0
8
-5
-40
93
0
0
4
0
0
0
-27
61
-52
0
0
0
0
0
15
16
-16
25
0
0
0
0
0
32
-21
-5
-13
0
0
0
0
0
-3
3
4
14
0
0
0
0
0
-8
9
-43
50
0
0
0
0
0
-32
0
37
11
0
0
0
1
0
-4
4
-16
-34
0
0
0
0
0
2
3
5
-21
0
0
1
0
0
-6
-13
-3
31
0
0
0
0
0
30
-8
7
-42
0
0
0
0
0
-1
6
0
-11
0
0
0
0
0
3
2
3
7
0
0
0
0
-1
-3
7
-13
9
0
0
0
0
2
-1
83
-24
-5
0
0
0
4
0
1
22
-42
-32
0
0
0
0
0
0
-11
-13
32
0
0
-2
0
0
0
20
-20
-33
0
0
0
0
-3
27
1
7
5
0
0
0
0
0
-36
-3
-2
16
0
0
0
0
0
-2
-3
0
4
0
0
0
0
0
1
4
2
-26
0
0
0
0
-5
-25
37
45
14
0
0
0
0
0
-4
9
-7
8
0
0
0
0
0
-25
7
5
21
0
0
-7
0
0
-8
-5
6
-5
0
0
0
0
-5
-20
-4
1
-48
0
0
0
-1
0
-8
9
-15
-32
0
0
0
0
0
-19
9
-45
45
0
0
-3
-1
0
-3
53
-43
39
0
0
0
0
35
-43
-13
-14
49
0
0
0
0
0
1
3
-46
29
0
0
0
0
2
1
-1
4
43
0
0
0
0
0
1
-13
-53
21
0
0
0
0
0
27
-11
-26
74
0
0
0
0
0
0
-3
31
24
0
0
0
0
0
1
5
8
4
0
0
0
0
0
0
11
-8
1
0
0
0
0
-43
4
0
-3
43
0
0
0
0
0
0
1
-1
18
0
0
0
0
0
2
2
30
1
0
0
0
0
0
4
23
-28
-39
0
0
0
0
0
-2
-1
-2
13
0
0
0
0
0
0
0
-20
-63
0
0
0
0
2
3
0
0
-40
0
0
0
0
-2
0
43
13
-9
0
0
0
0
18
7
-10
32
16
7
0
0
0
0
0
4
-43
15
4
0
0
0
0
1
6
-17
44
-17
0
0
0
0
0
1
-22
33
-13
0
0
0
0
1
-2
-3
23
-3
0
0
0
0
0
-5
4
19
12
0
0
0
-4
-1
0
0
-4
-5
0
0
0
0
1
-4
-5
-7
-13
0
0
0
-47
4
-17
29
19
-5
0
0
0
0
0
0
1
-12
21
0
0
0
0
-1
0
-17
51
-9
0
0
0
0
2
-15
-4
6
-21
0
0
0
-5
0
-10
-1
85
-1
0
0
0
0
0
5
10
-49
-11
0
0
0
-2
-1
0
-61
32
22
0
0
0
6
-22
44
-12
-4
-17
0
0
0
0
2
-17
17
-6
0
0
0
3
0
0
-6
-40
51
0
0
0
0
0
0
-1
-10
71
0
0
0
0
0
1
-2
6
-15
0
0
0
0
0
2
0
85
-12
0
0
0
3
0
0
1
-3
-1
0
0
0
0
0
0
1
-41
10
0
0
0
0
0
-2
7
-21
-12
0
0
0
0
0
0
-1
30
-15
0
0
0
3
0
0
0
-70
37
0
0
0
0
0
0
0
15
-8
0
0
0
0
0
0
-4
-46
20
0
0
0
0
0
0
7
-2
-5
0
0
0
0
0
-1
-3
13
-6
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
-1
-3
-21
23
0
0
0
0
0
0
0
-9
-43
10
0
0
-6
0
0
0
-24
77
6
0
0
0
0
0
0
-74
94
0
0
0
0
0
0
-1
-74
-54
12
0
0
0
0
0
2
-43
18
-19
0
0
3
0
0
1
10
-43
25
0
0
0
0
0
0
-18
15
-13
0
0
0
0
-1
2
3
27
-6
0
0
0
0
2
5
6
55
-22
0
0
15
0
0
3
-44
-25
1
0
0
0
0
0
0
-13
7
-6
0
0
0
0
0
0
18
5
-28
0
0
0
0
0
-3
75
-33
-33
0
0
-71
0
0
0
35
44
31
0
0
0
0
0
0
8
30
-23
0
0
32
0
4
-43
-34
0
-7
0
0
0
3
0
-7
11
-23
0
0
0
0
0
0
0
29
17
0
0
0
0
0
-3
0
-19
26
0
0
0
0
0
-1
0
-45
11
0
0
0
0
0
-1
-4
14
25
0
0
0
0
0
0
-2
2
61
0
0
0
0
0
0
1
16
-3
0
0
0
0
0
0
-3
-9
3
0
0
0
0
-1
-1
2
16
-7
0
0
0
0
0
0
-2
0
-15
0
0
0
0
0
-1
0
0
21
0
0
0
0
0
0
-3
-33
-4
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
-1
-4
-45
0
0
0
0
-6
-2
1
2
6
9
0
0
0
0
0
1
4
-5
-12
0
0
0
0
0
-4
5
-4
-7
0
0
0
0
0
-5
-31
14
-8
0
0
0
1
4
0
-1
-14
0
0
0
0
0
0
-1
-5
-25
-3
0
0
0
0
0
0
4
-3
-18
0
0
0
0
0
0
1
2
-8
0
0
0
1
-4
0
-54
37
29
0
0
0
0
0
-1
31
32
-33
0
0
0
0
0
-2
-6
-11
14
0
0
0
0
0
0
-24
9
-14
0
0
0
-2
0
0
0
37
3
0
0
0
0
0
0
6
22
-54
0
0
0
0
0
0
19
23
-66
0
0
0
0
4
10
-39
1
-25
0
0
0
0
7
-18
-11
-24
0
0
0
0
0
0
19
-54
27
0
0
0
0
0
-6
-11
-30
-6
0
0
-34
0
0
0
24
-5
62
0
0
0
0
0
0
-17
-1
29
0
0
0
0
0
0
-4
-14
41
0
0
0
0
0
0
-3
-4
1
0
0
0
0
0
0
21
43
18
0
0
0
0
0
0
11
-36
-19
0
0
0
0
0
0
-2
-48
-18
0
0
0
0
0
0
4
-30
10
0
0
1
0
0
0
-6
22
-4
0
0
0
0
0
0
-3
-5
5
0
0
0
0
0
0
-14
43
-18
0
0
0
0
0
0
8
-13
-9
0
0
0
0
0
2
14
-64
-5
0
0
0
0
0
0
14
-2
44
5
0
0
0
0
0
-1
30
117
-26
0
0
0
0
0
0
16
7
-39
0
-17
0
0
0
2
26
9
-33
0
0
0
0
0
-27
-3
-10
40
0
0
0
0
0
3
-13
5
-7
0
0
0
0
0
2
7
3
4
0
-3
0
0
0
0
-14
0
-12
0
0
0
0
0
0
-50
2
22
0
0
0
0
1
0
-5
-42
2
0
0
0
0
0
5
-14
2
-51
0
8
0
0
0
2
32
-9
-29
0
0
0
0
0
0
-19
-11
-14
0
0
0
0
0
0
-47
-1
35
0
0
0
0
-4
-7
-69
29
42
0
22
8
0
-29
-16
-5
29
-10
0
0
0
6
-32
-35
-23
51
0
0
0
0
0
0
0
-36
13
0
0
0
0
0
-1
1
-24
-10
0
0
0
0
0
-2
10
-3
8
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
-5
35
0
0
0
0
0
0
2
-9
23
0
0
0
0
0
0
-1
1
42
0
0
0
0
0
0
-4
-33
46
0
0
0
0
0
0
-24
-3
20
0
0
0
0
0
0
1
-2
15
0
0
0
0
0
0
1
-4
-7
0
0
0
0
-1
0
-3
0
-11
0
0
0
0
0
0
-17
-18
66
0
0
0
0
1
0
3
22
-57
1
0
0
0
0
0
0
-33
-94
2
0
0
0
0
0
0
-43
-14
44
0
0
0
0
0
1
33
-3
-25
0
0
0
0
0
6
8
7
-22
0
0
0
0
0
0
2
0
-52
0
0
0
0
0
0
-2
8
-18
0
0
0
0
3
1
5
-1
-81
0
0
0
-5
-1
2
34
8
-52
0
0
0
0
0
0
-11
80
-13
0
0
0
0
0
0
-5
-1
-53
0
0
0
0
0
-3
22
-10
-27
0
0
0
0
0
-1
10
-13
-27
0
0
0
0
0
0
-2
7
-25
0
0
0
0
0
0
1
-4
-31
0
0
0
0
-5
-2
-46
33
-6
0
0
0
0
0
-7
11
-32
0
0
0
-44
0
0
5
37
23
0
0
0
0
0
0
0
-53
31
0
0
0
0
0
4
13
17
-36
0
0
0
0
0
0
1
-16
23
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
5
-5
26
0
0
0
0
0
0
-13
-5
4
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
2
20
21
0
0
0
0
0
0
0
-6
51
0
0
0
0
0
0
3
10
-3
0
0
0
0
0
0
1
0
-26
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
-15
-30
0
0
0
0
0
0
-1
-54
66
7
0
0
0
0
0
-2
-9
5
2
0
0
0
0
0
1
1
-2
36
0
0
0
0
0
8
11
-6
-23
0
0
0
0
0
0
-7
13
-11
0
0
1
0
0
2
2
1
-5
0
0
0
0
0
0
-5
-6
7
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
-2
-5
28
-37
0
0
4
0
0
0
-37
-14
78
0
0
0
0
0
1
-24
-11
-14
0
0
0
0
0
-1
3
-1
-43
0
0
0
0
0
0
11
7
-30
0
0
-2
0
0
0
-3
4
-39
0
0
0
0
1
1
-17
-9
39
0
0
0
-2
3
-1
-4
8
-41
0
0
0
-10
-1
0
-11
74
0
0
0
0
0
0
-1
-26
-33
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
-14
-37
42
0
0
0
0
0
0
1
-5
-5
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
-3
0
0
0
0
0
1
0
0
4
16
0
0
0
0
0
0
0
25
15
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
3
-35
-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
-9
0
0
0
0
0
0
-1
6
-9
0
0
0
0
0
0
0
6
11
-1
0
0
0
0
0
0
-10
10
19
0
0
0
0
0
0
5
-4
-6
0
0
0
0
0
-4
-3
-3
13
0
0
0
1
0
0
-1
0
21
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
2
-77
0
0
0
0
0
0
-1
0
-52
0
0
0
0
0
-2
-14
0
-50
0
0
0
0
0
0
10
-4
-23
0
0
0
0
0
0
-24
-2
23
0
0
0
0
0
0
-9
0
-17
0
0
0
-4
0
0
0
-14
21
0
0
0
0
0
-1
0
2
23
0
0
0
0
0
0
0
0
-102
0
0
0
0
1
-4
2
-19
-16
0
0
0
1
1
-21
53
-8
0
0
0
0
0
1
-13
53
-13
0
0
0
0
0
1
32
-51
-10
0
0
-3
0
0
1
-1
33
-17
0
0
0
0
0
4
-70
36
6
0
0
0
0
0
1
13
-14
-10
0
0
0
0
0
-1
-3
-4
-7
0
0
0
0
0
-4
-2
-52
46
0
0
0
0
0
16
25
7
-11
0
0
0
1
0
0
-3
-17
46
0
0
0
0
0
0
-1
-64
25
0
0
0
0
0
0
-29
3
-19
0
0
0
0
0
0
1
-23
23
0
0
0
0
0
0
-16
-5
-9
0
0
0
0
0
2
1
2
26
0
0
0
0
0
4
-33
-20
14
0
0
0
0
-1
5
14
20
-44
-13
0
0
0
0
0
2
-22
10
-17
0
0
0
0
-1
-6
-18
6
13
0
11
0
0
0
7
-34
0
-52
0
0
0
1
-1
0
0
-3
96
0
0
0
0
0
0
-6
1
52
0
0
0
0
2
-2
0
0
-38
0
0
0
0
0
4
-1
0
0
0
0
0
0
5
31
-9
11
1
0
0
0
0
0
-35
-7
-30
85
0
0
0
0
0
-6
-23
0
-32
0
0
0
0
0
33
2
-11
23
0
0
0
0
-1
9
15
-10
-27
0
0
-1
0
0
-1
-7
9
-2
0
0
0
0
-1
3
0
5
-34
0
2
4
0
9
16
-51
9
-105
0
0
0
-5
-13
16
-1
1
0
0
0
0
0
2
5
8
17
0
0
0
0
0
-3
18
15
23
0
0
0
0
1
0
-9
-50
20
0
0
0
0
0
-4
-10
33
-5
0
0
0
0
0
3
-35
26
53
0
0
0
0
3
-2
-6
3
-32
0
0
0
0
0
3
22
5
-3
0
0
0
0
64
-20
-6
-47
30
0
0
0
0
0
0
8
-36
19
0
0
0
0
0
0
4
-41
36
0
0
0
0
0
-3
5
-11
20
0
0
0
0
0
3
1
-1
25
0
0
0
0
0
0
0
-3
29
0
0
0
0
0
2
1
-1
-31
0
0
0
0
1
9
-6
-16
27
0
0
0
0
-8
17
-33
29
-5
-13
0
0
0
0
1
-3
9
21
-6
0
0
0
0
-2
0
32
12
-31
0
0
0
0
1
33
23
-11
-25
0
0
0
0
4
-1
-8
5
50
0
0
0
0
0
0
-20
77
-64
0
0
0
-1
0
0
0
-10
-36
0
0
0
0
-1
-6
14
-16
-7
0
0
0
0
5
-39
14
5
15
4
0
0
0
-1
0
-49
21
52
-20
0
0
0
0
0
-14
46
-141
-15
0
0
0
2
-4
-14
5
47
-3
0
0
1
-1
-1
-25
33
28
-9
0
0
0
-2
0
1
-67
-16
23
0
0
-2
0
1
0
15
-30
-16
0
0
21
2
-7
-40
-3
-29
19
0
0
0
-1
-13
-57
51
0
0
0
-33
0
0
4
-54
46
0
0
0
0
0
0
2
-5
43
0
0
0
0
0
0
5
25
-10
0
0
0
0
0
0
-1
6
43
0
0
0
-1
0
0
7
-18
-19
0
0
0
0
0
0
-1
7
10
0
0
0
0
0
0
-2
15
-19
0
0
0
0
0
0
-3
-47
48
0
0
0
1
0
0
-4
-17
5
0
0
0
0
0
0
0
16
2
0
0
0
0
0
0
0
5
32
0
0
0
0
0
0
0
-1
23
0
0
0
1
0
0
0
0
-30
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
1
13
-58
0
0
0
0
0
0
1
33
-43
15
0
0
-57
0
0
-1
-5
66
18
0
0
0
0
0
3
-69
-1
6
0
0
0
0
0
-6
23
65
-50
0
0
0
0
0
0
1
36
-30
0
0
0
0
0
0
-13
-34
54
0
0
0
0
0
0
2
-4
-10
0
0
0
0
0
-1
-4
-9
-32
0
0
0
0
0
-1
-17
27
43
-11
0
32
0
0
-6
13
53
-31
-27
0
0
0
0
0
-25
-33
-17
-10
0
0
0
0
0
-36
4
-28
4
0
0
0
0
0
16
29
-151
-2
0
-9
0
0
0
-26
17
-4
-54
0
0
0
0
0
17
17
-69
9
0
3
0
-2
-6
-51
21
-19
27
0
0
0
-6
1
-45
32
0
0
0
0
0
0
-1
-23
1
0
0
0
0
0
5
0
-43
-5
0
0
0
0
0
0
-2
-49
13
0
0
0
0
0
-1
-2
7
23
0
0
0
0
0
0
8
-35
11
0
0
0
0
0
2
0
0
11
0
0
0
0
0
0
-10
39
5
0
0
0
0
2
0
3
-5
30
0
0
0
0
0
0
0
11
33
0
0
0
0
0
0
0
31
-18
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
-1
15
0
0
0
0
0
0
0
-4
-11
0
0
0
0
0
0
4
-43
-11
0
0
0
0
-1
0
17
4
72
-8
0
0
0
0
0
0
29
58
-27
0
0
0
0
0
2
-16
50
-35
0
0
0
0
0
-5
27
-53
11
0
0
0
2
-1
0
9
-64
34
0
0
0
0
0
-1
0
-11
10
0
0
0
0
0
0
0
2
-35
0
0
0
0
-3
2
8
0
-5
0
0
0
-3
0
2
-19
-31
18
7
0
0
0
0
-1
-14
-43
-49
21
0
0
0
0
0
-7
16
-33
-10
0
0
0
0
0
-29
-2
-54
-15
0
0
0
1
0
5
6
-89
-19
0
0
0
0
0
-8
-10
-18
-2
0
0
0
0
0
4
0
-15
16
0
0
1
1
3
-30
-56
23
-6
0
0
0
1
-13
31
5
0
0
0
0
0
0
5
53
-9
0
0
0
0
0
-7
-8
-18
53
0
0
55
0
0
0
66
-31
-29
0
0
0
0
0
0
-10
4
5
0
0
0
0
0
0
-9
-69
60
0
0
0
0
0
4
5
-47
13
0
0
4
0
0
-1
-36
-14
-2
0
0
0
0
0
2
11
-32
20
0
0
0
4
0
-1
-2
-58
-7
0
0
0
0
0
0
0
-2
-39
0
0
-13
0
0
0
1
7
24
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
10
-34
26
0
0
0
0
1
-2
4
21
0
-17
0
0
0
0
0
-9
14
35
-8
0
0
0
0
-2
-13
-4
50
-12
0
17
0
0
0
10
-5
-10
-62
0
0
0
0
0
10
15
25
-54
0
0
0
0
0
-1
8
-14
-34
0
0
0
0
0
0
-1
-6
29
0
-3
0
0
0
1
-20
17
-9
0
0
0
0
-2
-5
-7
16
-22
4
0
-2
0
0
-5
23
-19
52
-7
0
0
0
0
1
21
-5
-23
-7
0
0
0
-1
3
-15
-2
45
4
0
0
0
0
0
-34
19
-32
34
0
0
0
1
-2
7
-6
-16
-30
0
0
0
-2
0
-2
-6
-15
-28
14
-2
2
3
-8
-70
27
90
-13
0
0
25
-56
34
-40
-29
0
0
0
0
0
0
7
29
-30
0
0
0
0
0
1
-7
-74
80
0
0
0
0
0
0
-21
-23
22
0
0
0
0
-2
7
-6
2
-21
0
0
0
0
0
0
-3
-42
48
0
0
0
0
0
0
3
-8
5
0
0
0
0
0
0
8
-3
25
0
0
0
0
0
0
2
-30
53
0
0
0
0
0
0
5
14
-46
0
0
0
0
0
-1
-2
-3
25
0
0
0
0
0
0
-9
36
-23
0
0
0
0
-1
-2
0
-13
36
0
0
0
0
0
0
-3
0
10
0
0
0
0
0
-3
3
-13
4
0
0
0
0
0
1
8
7
-14
0
0
0
0
0
-1
8
10
-20
-2
0
0
0
0
-1
0
30
22
-3
0
0
0
0
0
1
-14
9
-18
0
0
0
0
0
2
-13
15
-4
0
0
0
-1
0
1
-2
-13
-34
0
0
0
0
0
-2
-11
-16
15
0
0
0
0
0
0
1
3
29
0
0
0
0
-2
9
7
1
-72
0
0
0
-1
-5
1
-6
-15
24
11
0
0
0
0
-2
5
-14
-60
1
0
0
0
0
0
-6
0
-59
-12
0
0
0
0
3
-15
-11
-29
22
0
0
0
0
6
0
17
-38
51
0
0
0
0
1
-6
5
-65
36
0
0
2
-1
-2
-1
-6
-42
94
0
0
5
-20
22
-5
-2
3
-16
0
0
-1
0
-5
23
15
0
0
0
-27
0
1
-1
-47
54
0
0
0
0
0
1
-8
-5
-4
0
0
0
0
0
-6
-23
-5
45
0
0
0
0
0
0
1
-5
39
0
0
0
-30
0
0
-7
-45
17
0
0
0
0
0
0
1
17
-26
0
0
0
0
0
2
-4
-8
-25
0
0
0
0
0
2
0
-9
60
0
0
0
-13
0
0
2
-21
12
0
0
0
0
0
0
-1
18
-26
0
0
0
1
0
0
1
-35
-10
0
0
0
0
0
0
0
-2
-8
0
0
0
-2
0
0
0
8
-44
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
-36
63
2
0
0
-45
0
0
-2
-18
8
64
0
0
0
0
0
1
-10
17
-48
0
0
0
0
0
0
-3
16
-42
0
0
0
0
0
1
-18
-18
73
0
0
22
0
0
-1
-9
0
-5
0
0
0
0
0
-2
6
6
0
0
0
0
0
0
0
-1
1
32
0
0
0
0
-2
3
-4
27
27
-11
0
-62
0
0
0
16
-25
-51
27
0
0
0
0
0
2
-2
-147
57
0
2
0
0
0
-25
-5
-35
23
0
0
0
0
0
-14
5
42
48
0
18
0
0
0
1
9
-37
14
0
0
0
0
-2
1
-2
-25
-28
0
-1
-2
-6
23
-9
-23
-56
-17
0
0
42
-2
10
5
-50
0
0
0
0
0
2
-1
5
18
0
0
0
0
0
0
0
-35
-15
0
0
0
0
0
-4
-66
-5
7
0
0
0
0
0
0
-4
-9
15
0
0
0
0
0
-8
0
17
14
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
-20
-5
14
0
0
0
0
-16
0
0
8
14
0
0
0
0
0
0
0
-13
25
0
0
0
0
0
-1
-9
-6
10
0
0
0
0
0
0
3
-30
55
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
1
0
0
35
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
-6
4
27
-27
0
0
0
0
-2
0
-1
-2
60
-16
0
0
0
0
0
0
-16
28
21
0
0
0
-1
0
-2
-3
-22
25
0
0
0
0
0
-3
-24
-9
-41
0
0
0
0
1
1
-13
3
-30
0
0
0
0
0
1
0
6
7
0
0
0
0
0
0
0
-1
-78
0
0
0
0
-5
0
0
0
18
0
0
0
12
1
4
-5
24
14
6
0
0
0
0
0
-1
68
-88
-32
0
0
2
0
0
-9
2
-24
31
0
0
0
0
0
-7
-20
9
-9
0
0
-16
0
-2
-1
-5
-53
123
0
0
0
0
0
-25
-11
16
19
0
0
-2
1
0
-4
0
24
-11
0
0
-25
-3
-3
-16
27
-62
-13
0
0
-4
-11
-4
20
4
0
0
0
14
-25
-59
1
7
8
0
0
0
0
41
-29
23
23
-7
0
0
-3
88
-31
42
-48
-63
12
0
0
0
0
-17
6
76
8
-9
0
0
0
-47
-17
11
16
-12
-22
0
0
0
0
-15
-71
34
-12
-20
0
0
49
15
14
-14
-50
18
-34
0
0
0
0
-37
41
36
6
10
0
0
0
8
-4
17
63
-46
-18
0
0
0
0
87
-26
-20
-70
35
0
0
-31
-42
-4
15
56
-5
-38
0
0
0
0
3
44
3
-35
18
0
0
0
0
5
-20
-71
-23
17
0
0
0
0
-30
-51
43
-39
45
0
0
15
33
4
-35
6
-49
11
0
0
0
0
-2
3
-10
-26
60
6
0
0
-9
44
-34
80
15
-6
-5
0
0
0
-24
74
7
39
58
-7
0
-19
56
63
-31
-10
-53
-28
-15
0
0
0
69
-27
30
-1
46
-8
0
0
21
29
-25
-23
-33
-60
-9
0
0
0
-3
53
-42
37
-31
2
0
25
-8
-57
-29
35
-70
-40
17
0
0
0
-14
-19
90
23
17
-1
11
0
21
-2
22
-65
-81
1
-11
-5
0
0
-96
-107
-70
2
-21
13
16
51
17
7
108
-91
-51
4
-23
-34
0
0
-14
64
-43
59
30
-18
-10
0
11
9
-6
-9
12
-35
-5
-26
0
0
28
-30
-13
-45
30
10
-42
-97
30
25
16
-79
-18
12
-65
-12
0
0
-18
-4
-43
28
20
0
0
0
0
11
-45
21
-20
2
0
0
0
0
-16
-22
52
-6
10
0
0
0
0
0
30
-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
-45
-57
95
-1
30
0
0
0
0
0
0
13
5
-42
0
0
0
0
17
-54
51
-105
5
0
0
0
0
0
-1
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
3
22
-78
6
24
0
0
0
0
0
5
1
-1
33
0
0
0
0
0
13
51
-2
35
0
0
0
0
0
16
10
-73
-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
-19
36
-45
-5
57
0
0
0
0
0
1
-34
20
33
0
0
0
0
0
4
8
-15
33
0
0
0
0
0
-4
3
-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
-3
8
14
-53
21
0
0
0
-28
-25
-17
23
-3
23
0
0
0
0
50
16
-41
51
-6
0
0
0
42
2
-24
-14
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
-29
4
0
0
0
12
0
0
14
2
6
0
0
0
0
0
0
2
-12
29
0
0
0
-1
0
2
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
1
32
-84
-5
0
0
0
-11
-14
-48
18
81
35
0
0
0
0
0
-1
4
-78
42
0
0
0
0
0
-5
-47
-27
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
5
-45
-7
0
0
0
1
0
-43
-23
-32
38
0
0
0
0
0
0
-6
25
14
0
0
0
-1
0
-1
11
63
-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
26
100
-19
14
8
0
0
0
0
-3
-5
35
26
-33
0
0
0
0
4
16
75
34
-22
0
0
0
0
-4
-3
-2
-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
0
0
0
-4
-24
1
0
0
0
0
0
0
-3
-16
63
0
0
0
0
0
2
-5
26
37
0
0
0
0
0
1
-27
-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
0
0
0
-19
37
-5
70
0
0
0
0
0
1
5
18
-26
0
0
0
0
0
19
-43
-20
58
0
0
0
0
1
-5
41
-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
-3
14
-46
-37
0
0
0
0
0
0
0
-62
63
0
0
0
0
0
0
-4
1
8
0
0
0
0
1
0
0
-76
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
-2
18
-7
-6
24
0
0
0
-1
0
-4
15
-18
-2
0
0
0
0
0
-41
65
3
-4
0
0
-36
-13
-4
18
18
41
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-77
54
0
0
0
0
0
0
-14
-4
55
0
0
0
0
0
5
3
23
4
0
0
25
0
0
0
14
-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
59
75
-83
0
0
0
0
0
1
-31
-11
35
0
0
0
0
-2
-3
51
3
-34
0
0
-33
-3
0
9
83
-62
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
-19
8
52
0
0
0
0
0
5
5
2
-22
0
0
0
0
0
0
0
-50
-8
0
0
60
0
0
3
14
-103
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
18
1
0
0
0
0
0
34
30
30
25
0
0
0
0
0
5
-24
-22
-5
0
0
0
0
0
-5
19
50
-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
-7
-23
0
26
42
0
0
0
0
0
0
-26
-18
60
0
0
0
0
0
3
0
-12
13
0
0
0
0
0
2
0
-57
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-12
103
0
0
0
0
0
0
26
-14
-17
0
0
0
0
0
1
1
-43
-14
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
81
-17
13
-13
0
0
0
0
0
0
7
-92
7
0
0
0
0
-1
-3
-1
-4
32
0
0
0
0
0
-1
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
1
3
49
-100
19
0
0
0
18
0
2
-17
-26
-1
0
0
0
0
-3
7
58
-71
16
0
0
0
-1
0
3
26
59
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
0
0
0
-12
2
0
9
-59
24
0
0
0
0
0
-5
-10
-16
42
0
0
0
-2
0
0
-2
16
-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
0
19
-22
-28
0
0
0
1
0
-2
33
-69
51
0
0
0
0
0
-1
-5
-7
-24
0
0
0
0
0
-1
-11
-33
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
0
-6
0
-4
-43
77
-46
0
0
0
0
0
0
-2
-2
16
0
0
0
0
0
-1
1
-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
-31
23
86
40
-25
0
0
0
0
0
-3
50
25
-32
0
0
0
0
0
4
6
-54
-2
0
0
0
0
-2
2
25
-104
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
2
32
-7
0
0
0
0
0
0
-1
-36
21
0
0
0
0
-4
0
0
-28
33
0
0
0
0
0
-1
-2
-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
2
1
10
-13
-5
0
0
0
0
0
0
6
1
-17
0
0
0
0
0
0
1
-27
-9
0
0
0
0
0
2
-2
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
-1
0
47
-5
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
-2
0
54
5
0
0
0
0
0
0
-7
-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
-17
0
18
9
0
0
0
0
0
-16
2
-19
-6
0
0
0
0
3
10
-62
-42
8
0
0
-73
0
-5
-65
80
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
-6
-34
7
27
0
0
0
0
0
2
7
0
-34
0
0
0
0
0
-17
-7
-6
-3
0
0
-14
0
0
24
20
28
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
32
0
0
0
2
0
-1
-7
-29
8
0
0
0
0
-1
-10
51
-8
-4
0
0
0
0
0
-56
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
2
-22
-6
-71
0
0
0
0
0
0
20
14
35
0
0
0
0
0
1
-43
11
47
0
0
0
0
0
0
17
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
0
0
52
-14
58
-98
53
0
0
0
0
0
8
19
54
-30
0
0
0
0
-2
16
22
-3
-9
0
0
0
0
0
0
24
-129
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-22
-13
0
0
0
0
0
0
-6
50
6
0
0
0
0
0
-1
-1
2
91
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
32
-79
4
-9
10
0
0
0
0
0
0
39
-52
72
0
0
0
0
0
4
53
-30
21
0
0
0
0
-1
6
-44
-43
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
38
64
-33
4
0
0
0
0
0
-2
-4
50
1
0
0
0
0
-3
-18
1
57
1
0
0
0
0
0
-10
-7
-20
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
34
-134
46
0
0
0
-7
-1
61
-72
-25
42
0
0
0
0
0
13
1
-3
-26
0
0
0
0
0
-5
-31
17
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
5
-53
34
0
0
0
10
0
0
2
6
-10
0
0
0
0
0
0
-1
-18
-42
0
0
0
0
0
0
-13
-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
0
0
0
0
-22
16
-1
0
0
0
41
-2
5
25
-10
-14
0
0
0
0
0
0
-9
21
15
0
0
0
0
0
-2
-7
33
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
38
0
0
29
4
-77
0
0
0
0
0
-2
-2
-8
8
0
0
0
0
0
1
11
-75
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
-4
-27
-14
-71
71
0
0
0
0
0
1
-16
-33
45
0
0
0
0
0
1
-10
6
-14
0
0
0
0
1
-2
15
-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
0
0
-1
-33
100
0
0
0
0
0
0
-1
-100
53
0
0
0
0
0
3
-4
18
38
0
0
0
0
0
0
-3
-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
-6
-25
66
-45
0
0
0
0
0
10
-13
-44
13
0
0
0
0
-4
-9
-2
25
14
0
0
0
0
1
3
15
-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
1
-31
-33
-1
0
0
0
0
0
0
-2
-42
68
0
0
0
0
-2
5
3
-23
-33
0
0
0
0
0
0
7
-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
2
15
-29
28
0
0
0
-8
0
1
27
-18
16
0
0
0
0
0
0
3
14
-15
0
0
96
0
0
0
57
34
-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
1
3
51
-62
0
0
0
0
0
1
-6
33
33
0
0
0
0
0
0
14
-55
5
0
0
24
0
0
8
-9
-28
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
89
0
0
0
0
0
2
-7
-32
-15
0
0
0
0
0
-1
7
29
-12
0
0
-26
-1
0
-3
-4
-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
-6
-8
26
0
0
0
0
0
0
-8
-53
99
0
0
0
0
0
-1
-2
9
-17
0
0
-5
0
0
0
-4
-49
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
49
16
33
-49
14
0
0
0
0
0
-3
11
10
8
0
0
0
0
0
6
-6
-115
90
0
0
0
0
0
0
-2
-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
0
13
-23
2
-17
-11
0
0
0
0
0
0
4
-2
-50
0
0
0
0
-1
9
0
0
-64
0
0
0
0
0
0
-1
-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
-3
-17
65
14
7
0
0
0
0
0
-2
5
-8
8
0
0
0
0
0
-2
-7
-3
59
0
0
0
0
0
0
17
-51
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
72
-9
-19
0
0
0
0
0
0
3
14
28
0
0
0
0
-5
3
-6
19
-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
-9
-107
49
0
0
0
8
0
0
-29
23
14
0
0
0
0
0
0
0
-50
34
0
0
0
0
0
0
-32
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
1
-6
35
0
0
0
0
0
0
8
-15
57
0
0
0
0
0
0
-3
-58
72
0
0
0
1
0
-3
2
-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
2
-2
2
0
0
0
1
0
-1
-16
-35
98
0
0
0
0
0
0
2
-26
-10
0
0
0
0
0
0
-10
-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
4
-33
16
0
0
0
17
0
0
0
-28
-23
0
0
0
0
0
0
-1
-21
-33
0
0
0
0
0
0
-18
-24
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
-42
25
10
-27
-7
0
0
0
0
0
-3
15
-54
-45
0
0
0
0
1
-6
-1
-17
19
0
0
0
0
0
5
-45
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
-2
0
5
-2
0
0
0
0
0
-1
0
-26
22
0
0
0
0
0
-1
-2
-3
33
0
0
0
0
0
4
6
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
-4
0
-7
14
-17
0
0
0
0
0
0
7
-49
9
0
0
0
0
0
0
0
-2
48
0
0
0
0
0
0
-15
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
-10
14
11
-80
47
0
0
0
0
0
1
1
-56
-8
0
0
0
0
0
-1
-1
-16
7
0
0
0
0
0
3
-21
-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
5
35
-21
-12
0
0
0
0
2
0
-13
-12
-33
37
0
0
0
0
-2
-10
68
-4
-53
0
0
-14
1
0
5
51
-53
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
-37
-1
-6
30
0
0
0
0
0
-1
-4
-33
70
0
0
0
0
0
-20
-17
-39
47
0
0
4
0
0
5
31
-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
-18
33
-118
3
0
0
0
0
0
11
-22
24
-5
0
0
0
0
-1
0
-9
-45
37
0
0
-2
0
0
-17
-2
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
8
57
-6
-20
-56
0
0
0
-3
0
-8
18
-15
-4
0
0
0
0
-1
0
-44
-21
-2
0
0
17
0
0
-21
-59
71
-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
31
-6
-107
40
24
0
0
0
0
0
1
5
-37
-71
0
0
0
0
-1
21
27
-18
19
0
0
0
0
2
3
5
-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
-133
45
-23
91
-9
0
0
0
0
0
0
20
-59
43
0
0
0
0
-2
-5
-3
-50
22
0
0
0
0
-3
10
5
-99
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
-81
-33
-42
41
46
6
0
0
0
0
-2
66
55
-37
5
0
0
0
3
-4
23
1
53
-5
0
0
0
0
-2
-17
-6
78
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-58
10
32
30
14
0
0
0
0
-21
-11
23
-41
38
0
0
0
0
16
-24
-13
-26
8
0
0
0
0
0
3
-69
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
52
-43
21
0
0
0
-31
0
-15
6
-59
71
0
0
0
0
0
-2
7
-18
-35
0
0
0
2
0
2
-46
-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
0
14
-67
23
0
0
0
8
0
0
-37
-34
10
0
0
0
0
0
1
0
7
-37
0
0
0
0
0
0
0
-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
-4
-32
-10
-1
4
0
0
120
2
-9
-4
50
-42
4
0
0
0
-1
-1
-5
-51
-1
-9
0
0
0
0
0
6
24
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
4
-7
49
43
0
0
120
0
-5
26
-63
-81
47
0
0
0
0
0
3
-24
-46
-26
0
0
1
0
0
-5
18
-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
0
0
0
0
0
0
0
0
1
-11
-18
5
66
0
0
0
0
0
0
6
-29
20
0
0
0
0
-9
1
-9
-43
58
0
0
0
0
8
-4
8
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
-3
-37
-12
47
0
0
0
0
0
-1
0
-54
16
0
0
0
0
2
5
5
-8
23
0
0
0
0
0
-6
-5
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
-10
-14
95
61
-5
0
0
0
0
-1
1
62
23
-6
0
0
0
-1
1
6
38
-7
-4
0
0
0
0
0
7
28
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
0
0
0
-4
-17
-90
147
14
0
0
0
0
-1
-1
-67
-8
4
0
0
0
-2
2
-8
-56
89
-42
0
0
0
-3
-1
19
-28
19
-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
-3
14
20
31
0
0
0
0
0
-6
56
-40
30
0
0
0
0
1
-8
-45
-24
23
0
0
75
0
0
8
23
-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
2
23
-80
39
0
0
0
0
0
-1
-18
-46
57
0
0
0
0
0
0
13
-2
-24
0
0
-23
0
-1
-17
50
47
-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
-4
-45
-3
-28
-10
0
0
0
0
1
10
5
43
-6
0
0
0
0
4
1
-53
21
8
0
101
0
0
24
-48
-109
-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
5
-75
10
13
0
0
0
0
-4
-3
9
51
-1
0
0
0
-3
5
5
-47
-5
33
0
30
0
0
-2
-45
-22
-48
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
5
33
29
62
-78
0
0
0
0
0
-3
9
-61
54
0
0
0
0
0
-4
-29
-9
4
0
0
0
0
0
-1
-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
-7
-24
42
-62
51
0
0
0
0
0
0
1
9
40
0
0
0
0
1
0
1
7
16
0
0
0
0
0
0
-4
-3
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
-6
42
16
6
59
2
0
0
0
0
1
-7
-21
-2
14
0
0
0
-2
-7
0
-2
35
4
0
0
0
0
0
-5
0
36
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
29
-16
34
3
0
0
0
0
1
-8
12
31
-58
0
0
0
-3
-2
-3
-30
33
9
0
0
0
0
-2
10
21
-54
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
18
0
0
0
53
0
0
-44
10
-14
0
0
0
0
0
0
15
-22
-2
0
0
0
0
0
-1
-5
-14
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
-2
-1
35
-100
0
0
0
-69
0
2
6
14
-1
0
0
0
0
0
0
2
-15
-16
0
0
0
1
0
0
11
-53
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
15
-5
3
-11
0
0
-5
0
-3
-1
-16
28
-2
0
0
0
0
0
3
7
-25
-2
0
0
0
0
0
-6
4
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
21
13
46
-54
0
0
32
0
1
-5
18
26
4
0
0
0
0
0
1
-24
23
-27
0
0
-3
0
0
7
49
-39
-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
-3
2
-11
43
-18
0
0
0
0
0
-2
-6
-3
54
0
0
0
0
0
1
-3
-79
1
0
0
0
0
0
-1
-36
-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
1
-3
24
-33
0
0
0
0
0
0
1
3
-31
0
0
0
0
0
5
0
33
-5
0
0
0
0
0
0
-1
-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
4
3
2
-26
-13
-2
0
0
0
0
0
0
19
23
-17
0
0
0
0
0
0
-4
10
32
0
0
0
0
0
2
2
-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
-1
-1
11
-24
-7
-6
0
0
0
0
0
-2
-10
13
-61
0
0
0
0
-3
0
33
-21
41
0
0
0
0
0
3
9
-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
-5
43
-68
49
0
0
0
0
0
2
11
-66
60
0
0
0
0
-1
1
-8
-63
18
0
0
5
0
0
-8
-21
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
1
-16
21
-25
77
0
0
0
-1
0
-1
-17
-2
81
0
0
0
0
3
-1
-32
-4
-8
0
0
-4
0
0
-5
32
-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
35
25
-34
28
-14
0
0
0
0
5
18
-59
-4
-21
0
0
0
1
-2
-6
-20
31
-1
0
-3
0
0
5
-20
10
-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
2
31
12
-27
9
0
0
0
0
1
5
29
-27
-5
0
0
0
0
2
-25
-58
23
-33
0
-80
0
0
10
-3
48
17
-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
12
45
51
-24
-30
0
0
0
0
0
3
11
5
45
0
0
0
0
-1
3
-25
-5
35
0
0
0
0
0
0
-11
14
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
-17
36
89
-40
-18
0
0
0
0
0
5
17
-102
-24
0
0
0
0
0
14
25
-30
-5
0
0
0
0
0
-9
-4
-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
33
-70
19
53
60
-4
0
0
0
0
0
19
-42
-4
22
0
0
0
0
18
3
28
26
-9
0
0
0
0
2
8
-6
59
-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
42
-32
20
18
34
-21
4
0
0
0
9
10
-21
-1
-8
-7
0
0
2
-26
5
-95
-55
-53
15
0
0
0
-18
3
-8
33
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
16
35
-2
0
0
0
51
0
-26
14
12
-6
0
0
0
0
0
-8
0
-5
41
0
0
0
0
0
0
-15
-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
1
-17
-19
-25
0
0
0
57
0
0
-23
-23
47
0
0
0
0
0
0
-5
47
-42
0
0
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
-48
10
-21
0
0
77
1
-3
-71
-30
-30
17
0
0
0
0
0
0
-20
49
3
0
0
0
0
2
8
-9
-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
1
-1
-14
40
-5
-13
0
-49
0
18
-35
3
75
-6
-16
0
0
0
6
-7
-34
-5
-49
-2
0
2
0
0
-6
-5
29
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
-24
16
12
32
0
0
0
0
0
-1
0
3
43
0
0
0
0
1
1
-4
-28
15
0
0
0
0
0
-1
-7
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
1
9
36
50
-61
0
0
0
0
0
-1
0
0
12
0
0
0
0
0
0
-2
-35
44
0
0
0
0
0
-3
1
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
5
0
-7
-80
57
23
0
0
0
0
-2
7
-14
29
-60
0
0
0
-4
-5
-33
-18
-46
58
0
0
0
-6
0
-3
-56
-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
-1
-26
-3
-15
-13
-19
-5
0
0
0
-2
-11
-61
48
4
-19
0
0
-3
0
0
19
-8
-32
11
0
0
0
3
1
-11
7
-147
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
0
0
2
-7
-14
12
0
0
0
0
0
3
-3
-16
38
0
0
17
0
0
3
-52
12
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
2
-10
0
-50
0
0
0
0
0
1
-17
-57
120
0
0
0
0
0
-2
4
-33
16
0
0
46
0
0
0
5
-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
1
5
39
55
-47
0
0
0
0
0
21
-101
21
41
0
0
0
0
3
20
6
26
-70
0
17
0
0
-8
-30
7
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
-15
-3
-25
-31
16
0
0
0
-3
-40
-44
82
-85
-19
0
0
0
-4
31
8
5
29
9
-97
0
0
2
-63
-24
3
-80
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
26
27
-61
0
0
0
0
0
2
33
9
-46
0
0
0
0
0
-1
5
-4
-23
0
0
0
0
0
0
-35
-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
-1
13
49
12
-7
0
0
0
0
0
0
2
-25
1
0
0
0
0
-4
-24
2
-16
21
0
0
0
0
0
0
2
-19
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
-34
111
49
15
-35
-9
0
0
0
0
-1
-3
-31
78
26
0
0
0
0
-21
14
-10
2
8
0
0
0
0
0
-4
-14
-46
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
27
13
57
56
66
-33
19
0
0
0
0
1
-20
-38
-5
-5
0
0
2
-9
-15
19
83
-28
-14
0
0
0
0
-27
-50
11
54
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
35
0
5
-20
-99
104
0
0
0
0
-2
0
1
18
16
0
0
0
-51
0
0
-30
-9
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
-21
-13
22
0
0
0
31
0
-4
6
-18
26
0
0
0
0
0
0
-7
8
-1
0
0
0
-3
0
0
-1
22
-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
1
3
-16
-6
11
0
0
-72
0
8
-51
-51
116
13
0
0
0
1
0
4
5
33
-52
0
0
2
0
0
-1
-8
-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
-2
0
1
46
-110
-7
0
-38
0
3
14
-77
20
-63
-4
0
0
-1
0
-2
-54
71
-40
-15
0
4
0
-5
-18
22
-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
-52
-50
11
-30
100
0
0
0
0
0
2
-37
-18
64
0
0
0
0
-1
-9
10
-53
48
0
0
0
0
1
-3
23
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
57
4
-8
-44
-5
0
0
0
0
0
-3
-4
24
-57
0
0
0
0
-2
0
-3
16
11
0
0
0
0
0
-10
3
53
-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
-41
71
66
-26
13
-12
0
0
0
-2
-9
7
-42
50
36
0
0
0
0
-43
-15
-33
30
7
0
0
0
-1
23
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
6
-41
-8
8
-19
-132
3
0
0
-3
0
20
-83
91
14
-3
0
0
-2
-5
11
-45
31
26
2
0
0
0
0
-32
52
-10
-66
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
21
11
18
9
-19
0
0
0
23
-38
-98
-27
64
-14
0
0
0
0
-19
17
-28
-10
2
0
0
36
-34
-6
-10
33
-22
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-110
46
-43
83
0
0
0
-65
0
-7
-36
13
11
0
0
0
0
-2
26
-70
44
8
0
0
-64
-17
0
42
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
34
-7
45
-3
-18
-12
0
0
-36
-58
-7
-3
22
49
-15
0
0
0
5
-9
-32
-13
-6
3
0
-31
90
4
-5
-22
-150
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
-103
-52
18
-9
-36
-36
1
0
-14
-2
11
-24
22
49
-63
-9
0
0
-9
-23
-43
-60
54
-15
5
46
-3
0
16
-20
-109
-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
15
1
-42
-14
21
0
0
0
0
0
5
-5
-1
20
0
0
0
0
50
54
5
38
-13
0
0
0
0
2
5
-5
35
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-34
12
0
0
0
0
0
0
-3
72
5
0
0
0
0
-1
4
5
-101
55
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-44
11
-64
33
0
0
0
0
0
-3
10
-40
-5
0
0
0
0
4
-8
24
-5
15
0
0
0
0
0
3
7
-47
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
-16
8
-21
31
29
0
0
0
0
0
0
24
-37
12
0
0
0
0
0
-3
-11
-53
66
0
0
0
0
0
0
8
-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
19
36
6
0
0
0
4
1
-19
32
24
4
0
0
0
0
0
0
5
-33
-7
0
0
0
1
0
-1
-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
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
-8
0
-1
0
-5
8
0
0
0
0
0
0
0
-23
52
0
0
0
1
0
0
-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
0
0
-2
15
47
-33
0
0
0
74
1
0
-4
-67
1
0
0
0
0
0
0
-1
4
16
0
0
0
0
0
2
-11
53
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
5
-38
-74
0
0
0
12
0
-2
3
-24
-9
0
0
0
0
0
0
-2
1
26
0
0
0
0
0
0
-5
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
0
0
-5
-25
18
-61
7
0
0
0
0
0
-2
28
-53
17
0
0
0
0
13
7
2
-100
10
0
0
0
0
0
2
-18
-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
2
13
-18
30
-20
0
0
0
0
0
0
3
-34
2
0
0
0
0
0
0
-9
-36
28
0
0
0
0
0
0
-3
-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
1
-2
27
-5
-27
0
0
0
0
0
0
-1
-26
129
0
0
0
0
3
-4
-22
18
7
0
0
0
0
0
0
-2
-32
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
-2
-9
-22
23
0
0
0
0
0
0
-53
22
34
0
0
0
0
0
-4
3
2
-1
0
0
0
0
0
0
1
-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
8
43
-38
0
0
0
0
0
0
3
-27
1
12
0
0
0
0
0
-3
27
57
-24
0
0
58
4
-1
13
-23
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
0
57
23
-31
0
0
0
0
0
0
-3
-34
3
0
0
0
0
0
0
-2
52
10
0
0
6
0
0
2
25
23
-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
0
-10
22
49
0
0
0
0
0
0
20
-5
1
0
0
0
0
0
0
14
-39
2
0
0
-6
0
0
2
-25
-113
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
15
-49
-48
0
0
0
4
0
-3
-44
47
-26
0
0
0
0
0
0
2
-5
-15
0
0
14
0
0
0
34
-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
18
45
-30
-30
-27
0
0
0
0
0
-3
10
13
23
0
0
0
0
0
0
-7
16
4
0
0
0
0
0
1
100
-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
15
15
6
-2
0
0
0
0
0
-2
-3
27
-10
0
0
0
0
0
3
0
-23
74
0
0
0
0
0
3
3
-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
-18
32
-24
25
0
0
0
0
0
5
33
-23
54
0
0
0
0
0
-2
10
-45
9
0
0
0
0
0
0
-14
-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
-10
14
25
26
0
0
0
0
0
0
2
-13
84
0
0
0
0
0
-2
5
26
-4
0
0
0
0
0
1
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
-1
4
-17
25
0
0
0
26
0
1
-15
4
-5
0
0
0
0
0
0
0
-32
-4
0
0
0
0
0
0
-11
-15
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
3
-38
34
0
0
0
3
0
2
2
-14
11
0
0
0
0
0
0
0
7
9
0
0
0
0
0
-2
5
-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
3
0
-10
-34
27
0
0
0
-31
0
0
9
-18
8
0
0
0
0
0
0
-2
13
19
0
0
0
0
0
0
47
-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
2
21
-37
-3
0
0
0
-13
0
0
9
3
36
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
11
-1
4
45
-46
0
0
0
0
0
0
-2
51
1
0
0
0
0
0
0
2
-33
26
0
0
0
0
0
5
27
-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
1
1
-13
-1
27
0
0
0
0
0
1
0
4
34
0
0
0
0
0
0
0
-21
11
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
26
0
0
0
0
0
-2
-2
6
5
0
0
0
0
0
0
-3
11
-17
0
0
0
0
0
2
-2
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
2
-1
2
36
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
3
58
24
-6
0
0
0
2
0
-61
-48
43
1
0
0
0
0
0
-5
37
-17
24
0
0
2
0
0
-20
68
-43
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
-44
-54
24
47
0
0
0
0
0
5
-43
-13
31
0
0
0
0
0
-3
7
-7
4
0
0
0
0
0
3
-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
-1
13
-37
-7
45
0
0
0
-1
0
30
-2
-14
34
0
0
0
0
0
27
7
-5
-49
0
0
-9
0
0
-30
44
-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
-13
19
-7
-38
0
0
0
0
0
5
-13
-18
7
0
0
0
0
0
3
-13
-4
0
0
0
0
0
0
-11
14
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
46
-72
1
31
53
0
0
0
0
0
-32
15
45
17
0
0
0
0
1
4
16
-92
26
0
0
0
0
0
9
-8
-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
0
0
0
0
0
0
0
0
0
0
33
-5
60
-16
-35
0
0
0
0
0
0
3
24
-36
0
0
0
0
0
-2
3
43
-5
0
0
0
0
0
-1
-11
60
-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
-13
43
-50
18
-6
0
0
0
0
0
2
10
-55
14
0
0
0
0
0
3
3
-29
3
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
-1
-10
-18
-38
14
0
0
0
0
0
0
-3
7
16
0
0
0
0
0
0
2
3
23
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
27
30
-13
0
0
0
-14
0
6
20
-87
81
0
0
0
0
0
-1
-2
-74
77
0
0
0
6
0
-2
-13
-29
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
1
0
-14
37
0
0
0
36
0
-1
-3
-8
-3
0
0
0
0
0
0
0
53
-2
0
0
0
0
0
0
7
-72
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
0
-57
0
-2
1
-43
98
0
0
0
0
0
0
-3
-15
-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
-48
51
0
0
0
32
0
1
0
-24
-5
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
-9
-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
-1
-34
-48
-14
29
0
0
0
0
0
0
-1
42
13
0
0
0
0
-1
14
43
-37
33
0
0
0
0
0
0
-3
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
0
0
0
-11
2
4
1
0
0
0
0
0
0
-1
-55
-11
0
0
0
0
0
-33
33
-20
-49
0
0
0
0
0
0
9
-92
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
-1
-7
-21
52
0
0
0
0
0
-1
0
-16
4
0
0
0
0
0
0
-3
19
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
0
0
0
-1
-23
34
0
0
0
0
0
6
0
4
-27
0
0
0
0
0
0
0
41
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
58
33
-31
0
0
0
-1
0
0
-14
-25
17
0
0
0
0
0
0
-15
-44
64
0
0
-6
0
-2
-13
10
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
-1
-26
-5
62
0
0
0
2
0
1
26
-39
35
0
0
0
0
0
1
-4
-41
24
0
0
-31
-1
0
17
8
-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
0
-5
10
27
-57
0
0
0
0
0
1
-19
-5
-22
0
0
0
0
0
-1
1
-14
8
0
0
-1
0
0
-8
-12
11
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
-11
38
11
0
0
0
0
0
-5
6
-57
64
0
0
0
0
0
0
0
-20
20
0
0
2
0
0
-2
-18
-74
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
14
-3
-31
23
-3
0
0
0
0
0
0
-5
-36
73
0
0
0
0
0
0
-5
45
32
0
0
0
0
0
0
-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
-2
3
0
41
5
0
0
0
0
0
0
2
24
10
0
0
0
0
0
-1
-2
-10
24
0
0
0
0
0
0
-1
-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
1
-35
8
26
-14
0
0
0
0
0
0
-4
-1
31
0
0
0
0
0
0
-2
0
32
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
3
-1
-3
27
-48
0
0
0
0
0
0
4
3
-5
0
0
0
0
0
0
-3
1
13
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
-47
4
80
0
0
0
27
0
-2
-3
-28
-44
0
0
0
0
0
0
17
-34
45
0
0
0
0
0
1
-26
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
-14
-32
9
0
0
0
-1
0
2
-17
-2
66
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
-9
-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
7
0
0
0
0
0
0
4
-26
31
0
0
0
0
0
0
1
-5
11
0
0
0
0
0
0
-2
24
-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
-1
3
-15
57
0
0
0
2
0
0
0
-20
49
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
12
57
10
-47
56
0
0
0
0
0
1
-1
-52
24
0
0
0
0
-5
8
1
-9
-8
0
0
0
0
0
0
48
-36
-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
-7
-33
-7
-14
-5
0
0
0
0
0
0
0
-19
30
0
0
0
0
1
2
-6
4
30
0
0
0
0
0
0
0
-56
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
55
5
4
15
-57
0
0
0
0
0
0
4
24
-38
0
0
0
0
-2
-2
-5
10
5
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
0
0
0
0
0
0
-11
-2
3
-9
15
0
0
0
0
0
0
0
-6
53
0
0
0
0
-6
5
1
1
0
0
0
0
0
0
-1
-14
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
-16
-3
99
-30
66
0
0
0
3
0
38
-31
-55
-7
0
0
0
0
0
-63
26
-5
62
0
0
-4
3
-2
33
-54
-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
-30
64
-9
3
0
0
0
1
0
-14
7
-56
-10
0
0
0
0
-2
53
-21
8
-66
0
0
0
0
0
25
17
-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
-24
38
-28
-6
0
0
0
1
0
-5
-28
78
-31
0
0
0
0
0
-14
47
-87
44
0
0
-14
0
0
-2
24
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
48
-2
-22
-43
0
0
0
-4
0
-46
15
-43
41
0
0
0
0
-1
5
0
-10
13
0
0
10
0
0
-7
14
-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
-8
-17
2
-67
59
0
0
0
0
0
3
10
-10
-13
0
0
0
0
-2
0
-14
-14
-64
0
0
0
0
0
0
14
-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
-16
51
20
33
-25
0
0
0
0
0
0
3
-33
3
0
0
0
0
0
0
2
-18
-8
0
0
0
0
0
-1
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
-26
45
35
2
3
4
0
0
0
0
3
32
43
3
-3
0
0
0
-5
17
-31
-15
108
4
0
0
0
0
-2
-4
28
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
-19
-16
-30
40
39
-7
0
0
0
0
0
1
91
-5
-24
0
0
0
0
1
-2
7
-22
18
0
0
0
0
0
17
-17
-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
0
0
0
0
0
0
0
0
0
0
0
0
7
4
-33
-2
0
0
0
4
0
4
-5
-12
1
0
0
0
0
0
0
-2
-22
58
0
0
0
0
0
0
7
104
-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
0
-23
-2
0
0
0
-15
0
1
5
-77
88
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-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
0
0
-3
-24
-55
13
12
0
0
81
0
0
-47
7
-23
2
0
0
0
0
0
5
50
-9
-1
0
0
0
0
0
-5
-80
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
-1
1
-56
-18
37
0
0
10
0
-1
4
-42
29
6
0
0
0
0
0
0
-4
37
-19
0
0
-4
0
0
3
55
-50
-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
6
-5
-70
89
0
0
0
0
0
0
-2
-86
100
0
0
0
0
0
-2
-6
11
-44
0
0
0
0
0
-4
0
-11
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
2
3
0
10
19
0
0
0
0
0
0
0
-34
36
0
0
0
0
0
0
-4
-5
15
0
0
0
0
0
0
3
-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
2
-4
5
66
-14
9
0
0
0
0
0
0
-24
3
14
0
0
0
2
-9
-18
14
37
-1
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
-6
-4
17
1
44
-1
0
0
0
0
0
-1
33
-31
3
0
0
0
0
-5
0
19
-34
-16
0
0
0
0
0
-2
45
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
-15
11
15
33
0
0
0
0
0
0
0
5
-9
0
0
0
0
0
0
-23
7
80
0
0
16
4
1
13
-14
-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
-3
4
14
21
0
0
0
0
0
0
6
-56
39
0
0
0
0
0
0
0
21
-23
0
0
5
0
0
0
10
-47
-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
-13
45
-2
17
-1
0
0
0
0
0
54
13
10
-9
0
0
0
0
0
17
-97
-8
10
0
27
0
0
-4
21
-24
-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
-1
-15
34
50
-19
0
0
1
0
-1
-15
26
22
9
0
0
0
0
0
0
-24
-14
11
0
-43
0
0
1
-33
14
25
-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
71
-6
-10
-6
-50
0
0
0
0
0
-1
24
-46
-11
0
0
0
0
0
0
-11
-43
66
0
0
0
0
0
0
-13
40
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
6
0
0
0
0
0
0
-1
-56
53
0
0
0
0
0
0
0
20
-20
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
0
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
41
43
-23
4
0
0
0
0
0
-53
-34
35
19
0
0
0
0
0
-1
-4
26
10
0
0
0
0
0
-6
14
-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
-1
-11
70
3
-37
0
0
0
0
0
0
-25
-8
0
0
0
0
0
0
0
19
13
-108
0
0
0
0
0
-3
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
-14
23
8
0
0
0
5
0
0
9
-52
-13
0
0
0
0
0
0
1
8
-36
0
0
0
0
0
0
10
-13
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
-43
23
0
0
0
4
0
0
-1
-19
-1
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
-1
-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
1
5
33
-53
-5
4
0
0
5
0
-3
16
-82
31
13
0
0
0
0
0
2
-18
-26
23
0
0
0
0
0
-27
-3
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
-3
-45
-4
22
0
0
3
0
4
0
-15
-17
56
0
0
0
0
0
0
0
1
-80
0
0
0
0
0
0
-18
17
-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
-41
-1
2
-5
20
0
0
0
0
0
0
0
-47
29
0
0
0
0
0
3
0
-14
-26
0
0
0
0
0
0
-6
-55
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
1
0
0
6
-8
0
0
0
0
0
0
-3
5
-24
0
0
0
0
0
1
0
-18
-6
0
0
0
0
0
0
3
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
-5
5
-8
-33
166
-12
0
0
0
0
0
0
-34
-8
19
0
0
0
0
2
0
-23
-5
-17
0
0
0
0
-2
-1
0
24
-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
1
0
15
-1
0
-11
0
0
0
0
-2
-2
-2
-17
35
0
0
0
0
0
0
-9
-2
30
0
0
0
0
0
-4
0
5
-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
-2
-14
23
-5
-30
0
0
0
-3
0
6
-47
-5
25
0
0
0
0
0
0
-1
-44
24
0
0
29
0
0
-18
-5
-127
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
-33
19
0
0
0
-1
0
-1
-9
-18
1
0
0
0
0
0
-2
-5
22
19
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
-4
38
45
18
-2
0
0
2
0
9
-23
-28
9
-1
0
0
0
0
-5
-15
-5
4
-2
0
0
0
-1
46
-34
-27
-28
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-10
3
0
0
1
0
0
56
-48
-40
-2
0
0
0
1
1
20
-32
-14
-60
0
0
0
0
0
-14
24
-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
-45
23
44
66
23
0
0
0
0
0
2
11
-105
43
0
0
0
0
-1
7
11
-85
22
0
0
0
0
0
15
-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
4
14
-58
4
-9
0
0
0
0
0
0
2
-19
35
0
0
0
0
0
-2
1
33
-18
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
43
-21
-55
-23
33
17
0
0
0
0
1
-9
-19
-54
38
0
0
0
-2
8
31
24
43
-11
0
0
0
0
1
-7
10
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
0
0
0
0
0
0
0
0
81
19
58
-1
24
-34
5
0
0
0
-4
14
-10
76
-25
-12
0
0
0
5
-22
-29
7
-17
-6
0
0
2
1
-25
53
12
-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
2
11
-65
42
0
0
0
6
0
2
5
-53
-10
0
0
0
0
0
0
4
46
-74
0
0
0
0
0
0
-45
-49
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
-49
73
0
0
0
-29
0
-2
-2
-18
-62
0
0
0
0
0
0
0
-6
29
0
0
0
0
0
0
1
-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
-13
-35
-2
18
0
0
-37
0
-3
-20
-4
47
14
0
0
0
0
0
0
2
-44
19
0
0
0
0
-1
15
-54
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
14
46
23
-42
-2
0
27
0
-18
10
-44
21
-16
-26
0
0
0
0
-6
-32
31
-5
-5
0
0
0
2
-8
42
-9
-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
-1
14
-19
-22
19
0
0
0
0
0
-1
0
32
3
0
0
0
0
-6
2
-1
-4
49
0
0
0
0
0
0
-2
-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
0
0
43
-63
0
0
0
0
0
0
0
-76
1
0
0
0
0
-1
0
0
-8
43
0
0
0
0
0
0
-1
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
2
-24
-70
8
10
0
0
0
0
0
0
6
12
-4
0
0
0
4
-4
4
-14
-10
16
0
0
0
0
1
-6
-22
42
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-77
-45
18
0
0
0
0
13
-5
-33
-5
-29
0
0
0
0
7
3
-1
-48
8
0
0
0
0
1
16
3
14
-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
2
-22
23
14
24
0
0
0
1
0
0
29
-76
65
0
0
0
0
0
0
-1
28
-28
0
0
-13
0
-3
-14
6
-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
-3
10
5
28
0
0
0
0
0
0
5
19
52
0
0
0
0
0
0
-1
-31
-5
0
0
13
0
0
-5
-7
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
7
2
-34
8
9
0
0
-3
0
0
24
5
24
-5
0
0
0
0
0
3
-30
19
7
0
-47
0
-3
1
-15
-95
32
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
5
-6
-44
5
0
-4
0
14
0
-1
-87
10
58
-82
9
0
0
0
0
-5
-25
-60
-21
40
50
0
0
-5
-20
-17
-39
-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
26
-7
67
-80
16
0
0
0
0
0
3
33
-42
71
0
0
0
0
0
1
11
-11
10
0
0
0
0
0
0
-43
-16
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
-1
-9
10
-15
16
0
0
0
0
0
-9
-2
0
-8
0
0
0
0
0
0
-1
-5
66
0
0
0
0
0
0
-2
-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
1
-13
-2
41
77
-31
0
0
0
0
4
-19
44
-83
8
0
0
0
0
0
3
50
-21
-29
0
0
0
0
0
15
-34
23
-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
-5
-4
26
-63
-33
-3
32
0
0
0
0
-20
-26
-5
20
-3
0
0
-2
-2
-2
6
-2
23
-33
0
0
0
0
5
-37
-13
50
-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
-1
-1
9
-49
28
0
0
0
-17
1
-6
23
-9
-3
0
0
0
0
-1
4
3
-52
66
0
0
0
-9
0
-5
-47
11
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
-4
7
0
0
0
-10
0
1
-8
19
-1
0
0
0
0
0
0
0
19
-37
0
0
0
0
0
0
-4
-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
-8
29
-34
18
0
0
-76
0
-1
11
-43
67
13
0
0
0
0
-1
0
0
23
-53
0
0
0
0
0
7
-35
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
-13
-53
15
11
16
0
19
0
-1
-2
-41
-96
-14
1
0
0
0
0
-1
-44
-3
-8
-9
0
0
0
0
-5
-25
1
-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
-27
-14
32
-7
-7
0
0
0
0
0
0
-11
23
6
0
0
0
0
-3
-3
0
-27
31
0
0
0
0
0
1
11
-67
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
-5
-1
-7
12
60
0
0
0
0
0
0
0
-3
42
0
0
0
0
11
-14
-1
5
5
0
0
0
0
0
0
-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
54
-7
-1
-108
24
8
0
0
0
0
-4
5
-6
-23
-5
0
0
0
0
0
-3
20
14
9
0
0
0
0
0
-8
-24
74
-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
-7
-7
4
27
-17
-47
-23
0
0
0
1
1
-5
-29
-8
14
0
0
-27
2
4
14
33
-65
16
0
0
0
0
-3
-11
20
-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
6
37
7
0
-9
0
0
0
14
24
-64
15
-4
-4
0
0
0
0
5
97
9
15
-18
0
0
9
35
-50
-29
-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
11
-48
35
-55
36
0
0
0
32
32
12
-109
-62
49
0
0
0
0
12
76
-55
-39
13
0
0
55
11
5
-43
-24
47
-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
17
31
-11
29
0
0
0
41
-39
39
25
2
40
0
0
0
0
34
-17
61
-7
-8
-10
0
46
39
65
-39
52
-14
-47
-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
-45
-5
21
45
-2
-20
7
0
-65
32
-11
-16
-21
35
14
-24
0
0
5
-43
-32
-42
31
1
-8
-101
54
13
-123
-89
-99
-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
-39
-36
83
-79
36
0
0
0
0
0
10
-31
-43
18
0
0
0
0
-2
-3
-5
-13
27
0
0
0
0
-3
42
68
-16
-20
0
0
0
0
5
80
-25
-57
9
0
0
0
0
-30
5
-23
31
-7
0
0
0
0
-41
-26
-9
-58
53
0
0
0
0
-22
90
-29
9
-7
0
0
0
0
17
0
51
-76
54
0
0
0
0
0
39
10
-25
6
0
0
0
0
-22
7
-2
2
10
0
0
0
0
2
8
-55
17
19
0
0
0
0
-18
18
42
38
19
0
0
0
0
13
-21
8
19
22
0
0
0
0
65
-72
31
50
-27
0
0
0
0
18
-76
11
-55
65
0
0
0
0
-20
-4
37
-36
63
0
0
0
0
-1
35
-20
-71
18
0
0
0
0
21
13
-22
-22
31
0
0
0
0
0
-19
27
-1
6
0
0
0
0
20
0
-26
-5
20
0
0
0
0
7
-34
43
-17
-41
0
0
0
0
-8
15
8
-23
5
0
0
0
0
44
-21
27
-23
2
0
0
0
0
-21
-28
25
-3
76
0
0
0
0
1
-34
32
4
3
0
0
0
0
5
21
66
-46
-12
0
0
0
0
-26
31
4
-14
7
0
0
0
0
28
-27
-32
-22
26
0
0
0
0
14
-15
109
-90
26
0
0
0
0
-71
134
27
-73
4
0
0
0
0
33
5
56
-8
-8
0
0
0
0
0
52
-30
-43
36
0
0
0
20
-16
89
-15
16
3
0
0
0
0
0
-2
6
-4
26
0
0
0
20
0
-22
43
37
19
0
0
0
0
5
11
53
-4
-39
0
0
0
77
-5
-10
-16
32
-4
0
0
0
0
0
3
-13
3
17
0
0
0
17
0
-17
27
-83
15
0
0
0
0
0
-19
30
-3
32
0
0
0
-19
-7
4
-31
5
20
0
0
0
0
0
-29
-9
-33
25
0
0
0
1
0
-44
-24
-44
51
0
0
0
0
0
-2
-1
-77
29
0
0
0
41
0
-10
-31
-27
31
0
0
0
0
0
3
-8
-43
53
0
0
0
-38
0
-73
58
90
8
0
0
0
0
0
5
21
-62
40
0
0
0
61
0
-4
-9
28
97
0
0
0
0
0
1
-8
5
-41
0
0
0
3
0
0
-31
11
-43
0
0
0
0
0
1
-20
-10
24
0
0
0
-26
5
10
-1
-14
-34
0
0
0
0
0
4
4
-23
-49
0
0
0
23
0
-10
23
-53
-8
0
0
0
0
0
2
-6
10
-23
0
0
0
-16
0
25
-5
-76
71
0
0
0
0
0
2
-4
-90
63
0
0
0
-37
0
-6
36
50
21
0
0
0
0
-1
-7
-113
34
56
0
0
0
-32
-2
-3
21
-16
18
0
0
0
0
0
-50
7
-29
62
0
0
0
-14
2
-44
56
-2
11
0
0
0
0
23
-66
-20
-8
12
0
0
0
0
0
1
-4
-27
-25
0
0
0
0
-31
51
4
28
-16
0
0
0
0
0
-19
-42
6
21
0
0
0
0
-1
-1
24
11
7
0
0
0
0
0
-2
44
-74
65
0
0
0
0
2
-1
40
-87
6
0
0
0
0
-1
-30
33
-16
25
0
0
0
0
-14
102
-36
-54
4
0
0
0
0
0
-5
10
-34
-40
0
0
0
0
33
-36
85
-27
4
0
0
0
0
0
5
-3
4
-13
0
0
0
0
0
2
-23
-32
8
0
0
0
0
0
-5
-16
-23
-3
0
0
0
0
2
18
75
-101
-8
0
0
0
0
-4
13
6
-25
43
0
0
0
0
2
3
32
-72
-22
0
0
0
0
0
1
3
-12
15
0
0
0
0
1
-19
-56
43
42
0
0
0
0
0
4
-42
18
-21
0
0
0
0
0
14
-5
-62
5
0
0
0
0
0
1
-32
-53
22
0
0
0
0
0
2
17
24
5
0
0
0
0
-2
17
33
-27
58
0
0
0
0
34
-8
84
-121
30
0
0
0
0
0
1
-19
-27
-12
0
0
0
0
14
21
-48
-59
-51
0
0
0
0
0
-6
-36
61
55
0
0
0
0
0
50
47
1
-73
0
0
0
0
7
18
-9
5
-9
0
0
0
0
22
-78
24
-138
155
0
0
0
0
-3
-49
28
-25
9
0
0
0
0
0
23
-58
60
-7
0
0
0
9
-1
-5
-21
-19
11
0
0
0
0
0
-4
-38
47
30
0
0
-24
-23
2
44
68
-64
14
0
0
0
0
0
1
26
-79
43
0
0
0
0
0
-8
9
2
37
0
0
0
0
0
-16
21
-32
54
0
0
-11
-1
-10
41
45
7
-13
0
0
0
0
0
-1
0
20
-25
0
0
0
8
0
-1
44
-53
13
0
0
0
0
0
22
5
-19
-67
0
0
-36
1
-2
22
54
-47
-21
0
0
0
0
0
-3
24
6
-65
0
0
0
-2
0
-2
-6
14
32
0
0
0
0
0
1
-47
3
-28
0
0
30
-7
4
91
-94
-17
-5
0
0
0
0
0
1
59
-28
-4
0
0
0
0
0
0
-17
-15
40
0
0
0
0
0
-2
-18
-5
22
0
0
34
-15
1
-5
23
0
-7
0
0
0
0
0
-3
-86
14
15
0
0
0
0
0
4
0
-52
20
0
0
0
0
0
0
-8
-59
53
0
0
41
0
3
-24
51
-6
-64
0
0
0
0
0
1
0
-6
-17
0
0
0
-11
0
-1
16
-23
-27
0
0
0
0
0
-4
-44
11
52
0
0
20
5
0
-26
-51
16
-10
0
0
0
0
0
8
-80
-8
-3
0
0
0
-18
0
-1
-46
-49
90
0
0
0
0
0
14
11
-32
63
0
0
-2
18
-70
-17
2
35
-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
-29
-32
-21
-43
14
0
0
0
0
0
0
-15
39
28
0
0
0
0
-1
-41
-49
50
45
0
0
0
0
0
-17
35
-15
69
0
0
0
0
3
68
-23
-10
-4
0
0
0
0
0
0
16
-10
12
0
0
0
0
1
-2
41
-4
40
0
0
0
0
-1
-3
-24
-42
64
0
0
0
0
10
31
-2
-24
32
0
0
0
0
0
4
1
34
-9
0
0
0
0
1
20
85
-105
6
0
0
0
0
0
39
29
-33
13
0
0
0
0
4
-27
17
-21
45
0
0
0
0
0
-16
-5
22
-5
0
0
0
0
14
8
5
-47
-7
0
0
0
0
-17
36
-30
71
-35
0
0
0
0
-31
-74
-23
-2
12
0
0
0
0
0
0
-9
-61
36
0
0
0
0
2
-13
2
-68
18
0
0
0
0
0
-8
-13
14
49
0
0
0
0
13
-3
-84
-47
107
0
0
0
0
0
1
9
-12
-8
0
0
0
0
2
31
26
-68
20
0
0
0
0
-14
-20
-5
49
-18
0
0
0
0
31
-49
-6
30
69
0
0
0
0
0
5
19
-16
-11
0
0
0
0
-4
-5
68
-53
21
0
0
0
0
-2
2
18
37
53
0
0
0
0
-4
-33
62
8
41
0
0
0
0
1
22
-8
2
31
0
0
0
0
4
15
-61
-19
14
0
0
0
0
-4
-18
-4
14
-20
0
0
0
0
0
0
-3
60
50
0
0
0
16
0
0
-7
-28
52
0
0
0
0
0
0
-4
-3
-82
0
0
0
6
0
0
0
-4
-30
0
0
0
0
0
0
-6
-44
33
0
0
0
-1
0
0
-15
13
3
0
0
0
0
0
0
-3
13
6
0
0
0
-1
0
0
51
-18
-44
0
0
0
0
0
2
-53
-1
21
0
0
0
25
0
-3
17
12
-31
0
0
0
0
0
0
0
-21
10
0
0
0
-1
0
-1
-81
4
10
0
0
0
0
0
-1
-5
-4
19
0
0
0
-8
0
3
-16
53
3
0
0
0
0
0
0
3
-36
40
0
0
0
5
0
-9
25
6
-20
0
0
0
0
0
0
5
4
-14
0
0
0
20
0
1
0
-125
43
0
0
0
0
0
0
-3
3
18
0
0
0
0
0
-1
37
16
-33
0
0
0
0
0
0
-3
5
22
0
0
0
36
0
3
5
-17
-94
0
0
0
0
0
0
1
-35
64
0
0
0
5
0
0
-41
-29
9
0
0
0
0
0
3
10
-99
33
0
0
0
8
0
-3
0
16
-10
0
0
0
0
0
0
0
62
-11
0
0
0
-9
0
1
-4
-72
55
0
0
0
0
0
3
6
-13
19
0
0
0
45
-2
1
0
-69
-31
0
0
0
0
-1
0
1
-32
-18
0
0
0
-28
1
-88
2
16
3
0
0
0
0
-1
-5
-2
-58
20
0
0
0
0
0
2
-5
-55
-26
0
0
0
0
0
1
5
-9
-18
0
0
0
0
0
3
5
-25
82
0
0
0
0
0
0
2
-18
18
0
0
0
0
0
0
-3
20
-14
0
0
0
0
0
-2
3
-17
-20
0
0
0
0
0
0
-32
31
27
0
0
0
0
0
5
-43
-43
65
0
0
0
0
0
-2
-3
-30
56
0
0
0
0
11
42
-19
-17
-70
0
0
0
0
0
7
18
17
-47
0
0
0
0
0
4
-2
4
-32
0
0
0
0
0
-1
1
-5
2
0
0
0
0
-7
-21
-30
-45
43
0
0
0
0
-23
-22
53
-22
-19
0
0
0
0
0
-2
4
10
32
0
0
0
0
0
0
0
17
-20
0
0
0
0
0
0
-4
21
-48
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
4
-15
51
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
-1
0
21
0
0
0
0
0
-1
7
29
-1
0
0
0
0
1
0
-4
10
-19
0
0
0
0
0
0
0
6
0
0
0
0
0
-6
14
10
53
-55
0
0
0
0
0
1
-10
-96
48
0
0
0
0
5
-2
4
13
-33
0
0
0
0
0
1
-4
-23
45
0
0
0
0
-25
-5
17
-70
79
0
0
0
0
-11
-5
-96
-20
35
0
0
0
0
0
7
-7
-8
53
0
0
0
0
0
-1
-10
16
-14
0
0
0
0
0
0
0
-67
2
0
0
29
0
0
3
-70
22
34
0
0
0
0
0
0
14
-9
-44
0
0
0
0
0
1
-2
-54
27
0
0
0
0
0
-1
0
-3
21
0
0
1
0
0
1
17
22
24
0
0
0
0
0
-5
35
-32
36
0
0
0
2
0
0
27
-67
-3
0
0
0
0
0
-3
-16
15
-39
0
0
-5
2
0
-3
-8
38
-5
0
0
0
0
0
0
2
15
-3
0
0
0
0
0
0
-17
4
17
0
0
0
0
0
0
-5
-73
-6
0
0
0
0
-1
-33
-41
5
58
0
0
0
0
0
-1
8
24
-34
0
0
0
0
0
0
0
-8
18
0
0
0
0
0
-2
0
-8
62
0
0
-5
0
0
1
-3
-51
12
0
0
0
0
0
0
7
-7
-43
0
0
0
0
0
0
1
-7
-3
0
0
0
0
0
0
-5
-5
17
0
0
20
0
0
1
-78
-5
-5
0
0
0
0
0
0
3
-14
64
0
0
0
0
0
0
2
-2
71
0
0
0
0
0
0
-2
-24
14
0
0
63
-4
-1
-3
31
-100
46
0
0
0
0
0
1
2
-6
46
0
0
0
-2
0
0
10
19
-89
0
0
0
0
1
-2
11
6
-80
0
0
50
-55
1
23
54
-48
-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
-23
57
-5
14
-24
0
0
0
0
0
-3
-18
-40
22
0
0
0
0
-3
52
-33
28
-3
0
0
0
0
0
41
-15
-39
18
0
0
0
0
-14
-80
94
13
-7
0
0
0
0
1
-29
23
-20
5
0
0
0
0
1
-5
-68
13
43
0
0
0
0
-1
-22
-14
-4
43
0
0
0
0
-60
0
76
18
-4
0
0
0
0
0
2
-1
44
35
0
0
0
0
6
-8
6
15
65
0
0
0
0
0
15
10
-17
-2
0
0
0
0
-20
-23
-16
5
53
0
0
0
0
0
7
10
-8
-5
0
0
0
0
16
-43
55
-71
46
0
0
0
0
13
-1
18
22
-36
0
0
0
0
137
50
-39
32
34
-2
0
0
0
-5
-24
33
-31
-40
17
0
0
0
-47
57
-28
59
69
9
0
0
0
-3
-15
80
4
114
-15
0
0
0
21
-5
46
-19
-23
12
0
0
0
-7
-28
-7
-44
-18
2
0
0
0
48
24
-64
-80
52
-16
0
0
0
65
-6
43
-52
-12
-13
0
0
0
13
25
45
-44
-54
-1
0
0
0
0
-4
10
-26
-14
51
0
0
0
45
2
-6
-66
71
30
0
0
0
7
-17
-39
-38
91
1
0
0
0
-70
34
110
0
31
9
0
0
0
8
-90
94
-48
16
-1
0
0
0
-26
31
-7
96
-3
6
0
0
0
40
-52
3
40
41
6
0
0
0
0
10
-25
4
-9
0
0
0
-75
-2
6
-27
-38
64
0
0
0
0
0
0
55
22
-60
0
0
0
1
0
-2
-14
-26
60
0
0
0
0
0
4
-62
49
28
0
0
0
3
0
-17
97
-86
-17
0
0
0
0
0
-1
0
-33
42
0
0
0
0
1
-2
42
-25
-16
0
0
0
0
0
3
3
-42
34
0
0
0
27
0
1
-4
-68
-1
0
0
0
0
0
1
-5
-24
64
0
0
0
6
0
-6
-8
-67
27
0
0
0
0
0
0
1
-15
-19
0
0
0
37
0
4
-23
0
1
0
0
0
0
0
6
-2
-47
30
0
0
0
14
1
-58
45
44
-21
0
0
0
0
0
0
17
58
53
-2
0
0
-83
-1
1
-14
-69
3
22
0
0
0
0
1
71
-5
9
-17
0
0
0
0
0
-10
-21
14
-17
0
0
0
0
0
35
-59
16
19
0
0
5
-1
0
45
-16
72
-17
0
0
0
0
-1
0
0
31
-52
0
0
7
1
33
7
-6
2
-5
0
0
0
0
3
5
-19
-14
14
0
0
92
0
0
-22
-1
-72
42
0
0
0
0
0
7
-21
43
-33
0
0
19
0
-2
-45
-37
103
0
0
0
0
3
-2
-9
14
-18
19
0
0
43
-3
0
-40
20
-22
42
0
0
0
4
-20
-23
-2
-33
-8
0
0
2
-37
-16
-7
14
30
-22
0
0
0
2
2
-8
-45
42
0
0
0
0
0
0
1
-19
42
0
0
0
0
2
19
22
-22
-65
0
0
0
0
0
1
17
-73
34
0
0
0
0
0
0
-14
-21
5
0
0
0
0
0
3
-1
-20
45
0
0
0
0
0
-1
0
4
5
0
0
0
0
0
7
23
-14
65
0
0
0
0
0
-11
-3
17
22
0
0
0
0
0
0
2
1
-1
0
0
0
0
0
18
1
-6
-23
0
0
0
0
0
-18
0
-62
4
0
0
0
0
0
0
0
9
-5
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
20
46
-48
0
0
0
0
1
-9
16
5
-23
0
0
0
0
1
0
-1
-33
-10
-19
0
0
0
0
0
0
43
-37
0
0
0
0
-9
-27
-72
-24
-32
-6
0
0
0
0
-3
82
-59
-77
3
0
0
0
0
0
-10
5
-25
15
0
0
0
0
0
-9
16
-19
4
0
0
0
-4
-15
-27
12
2
10
0
0
0
5
21
-14
-16
28
-24
0
0
0
14
-7
13
-31
57
-35
0
0
0
0
1
-2
-23
-18
36
0
0
0
1
-17
-25
-26
72
30
0
0
0
0
0
-22
-56
71
14
0
0
0
-2
-1
5
22
5
-5
0
0
0
-1
-2
15
-54
25
-1
0
0
0
-34
-5
14
-66
-55
51
0
0
0
-5
-51
3
-16
98
-15
0
0
0
0
-4
11
10
-7
0
0
0
0
0
-1
-3
-33
-22
0
0
0
0
0
-1
24
-45
-5
0
0
-10
3
1
-13
-53
-16
1
0
0
0
0
0
2
9
-49
-9
0
0
0
0
0
2
28
-70
-21
0
0
0
0
0
0
3
11
10
0
0
0
0
-1
53
-19
-53
34
0
0
0
0
0
2
-10
-29
60
0
0
0
0
0
0
8
3
13
0
0
0
0
0
4
-4
-54
22
0
0
-22
0
0
10
23
5
39
0
0
0
0
0
0
-7
6
-34
0
0
0
0
0
0
1
-19
2
0
0
0
0
0
0
-4
-8
-3
0
0
-5
0
-1
-17
14
-32
16
0
0
0
0
0
2
4
34
110
-3
0
0
0
0
0
6
29
-4
-4
0
0
0
0
-2
-36
-54
-3
-7
0
-40
0
2
-19
-54
-77
93
24
0
0
0
0
-3
-5
73
-7
-18
0
0
0
0
0
5
-6
15
-29
0
0
0
0
0
10
-60
-6
-9
0
23
0
3
-24
-38
10
17
-38
0
0
0
0
0
-2
34
52
-54
0
0
-2
0
0
3
-17
97
-90
0
0
0
0
0
0
-40
29
-17
0
32
2
0
-14
14
64
-5
-4
0
0
0
0
-1
11
-66
-27
-1
0
0
7
0
0
-2
-33
-1
-17
0
0
0
0
-3
31
-28
49
-6
0
-5
6
5
22
-62
-62
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-54
3
-38
36
0
0
0
0
0
0
-23
3
11
0
0
0
0
2
5
93
-71
-11
0
0
0
0
0
5
16
-20
16
0
0
0
0
0
-46
-17
-8
62
0
0
0
0
0
0
15
1
-58
0
0
0
0
1
-8
15
-11
3
0
0
0
0
0
-9
-57
-3
38
0
0
0
0
-19
11
9
21
-48
0
0
0
0
0
2
2
-74
56
0
0
0
0
-1
-6
-19
45
77
0
0
0
0
0
-26
-44
80
3
0
0
0
0
1
-9
7
5
35
0
0
0
0
-2
4
-2
16
4
0
0
0
0
25
7
-14
-33
49
0
0
0
0
24
-30
16
-43
35
0
0
0
0
2
60
53
-52
-30
3
0
0
0
0
0
9
-41
-8
34
0
0
0
1
6
90
-13
44
-63
0
0
0
0
1
6
6
34
-48
0
0
0
1
23
-29
53
9
-30
0
0
0
-1
0
39
-3
-6
0
0
0
0
0
10
-25
78
5
-6
0
0
0
4
61
51
-50
17
-12
0
0
0
-83
31
52
22
5
-15
5
0
0
0
20
-4
-49
13
-5
20
0
0
19
-63
-58
12
-76
-25
15
0
0
0
31
-51
-66
-33
2
19
0
0
-65
-6
-5
-4
11
-39
-8
0
0
-20
-58
-8
13
99
-48
13
0
0
11
35
-19
-2
4
-38
-17
0
0
79
43
48
7
-25
3
-2
0
0
0
0
-5
-23
55
0
0
0
-6
0
2
-1
4
-8
0
0
0
0
0
0
-10
-31
7
0
0
0
3
0
-3
28
-104
89
0
0
0
0
0
0
3
-21
105
0
0
0
0
0
0
5
-43
46
0
0
0
0
0
0
4
20
5
0
0
0
0
0
0
32
-27
36
0
0
0
0
0
0
5
-19
24
0
0
0
27
0
-2
0
-32
-6
0
0
0
0
0
0
2
-19
-54
0
0
0
-6
0
-5
20
-23
28
0
0
0
0
0
3
0
-17
61
0
0
0
-43
0
0
-13
-15
63
0
0
0
0
0
0
5
-3
-5
0
0
0
1
0
4
-2
1
-28
0
0
0
0
0
0
23
-48
8
5
0
0
-33
0
2
5
-29
-1
25
0
0
0
0
0
1
-51
-5
27
0
0
0
0
0
-17
-66
-19
-53
0
0
0
0
0
-21
44
43
-12
0
0
-43
0
-3
22
49
14
5
0
0
0
0
0
0
68
82
-46
0
0
0
0
-8
22
-98
45
2
0
0
0
0
-6
46
5
21
-52
-5
0
2
0
-65
-51
3
9
38
-2
0
0
0
0
-39
32
-36
-62
-1
0
-32
0
-5
-24
0
-32
-29
9
0
0
5
-5
-2
-23
-17
1
-12
0
0
0
30
6
4
-14
-3
5
0
0
0
-9
-7
-46
-32
19
44
0
74
-4
32
-1
-62
-29
39
-8
0
0
0
3
0
-43
-2
0
0
0
0
0
0
-3
-62
65
0
0
0
0
0
0
14
36
-14
0
0
0
0
0
2
1
17
64
0
0
0
0
0
0
1
-5
-4
0
0
0
0
0
0
-2
-13
-1
0
0
0
0
0
0
-2
-33
0
0
0
0
0
0
0
57
-14
14
0
0
0
0
1
0
0
-44
8
0
0
0
0
0
0
0
13
-3
0
0
0
0
-13
-3
-26
80
-3
0
0
0
0
0
-2
2
-70
60
0
0
0
0
0
0
0
4
4
0
0
0
0
0
-1
0
-17
-6
0
0
0
0
-1
2
0
-7
-7
0
0
0
0
6
-58
-68
3
30
0
0
0
0
0
-4
5
-50
-10
-10
0
0
0
0
0
1
-34
21
27
0
0
0
0
0
3
32
2
-86
0
0
0
0
-1
1
-27
-22
-47
0
0
0
0
0
-10
1
20
-97
0
0
0
0
-3
0
-3
1
9
0
0
0
0
0
0
9
-4
12
0
0
0
0
-16
15
-36
29
35
0
0
0
-1
-5
-18
-8
-17
4
10
0
0
0
0
2
-23
-19
-80
24
0
0
-24
75
38
-110
27
-41
7
0
0
-3
-11
-39
20
-53
35
16
0
0
-9
1
-1
62
53
-80
-18
0
0
0
-2
-3
-36
-21
11
43
0
0
-29
16
8
30
103
-15
-4
0
0
-16
-34
-104
-38
-53
-41
23
0
0
0
0
7
41
-97
0
0
0
0
0
0
-11
-16
36
0
0
0
0
0
0
-14
-19
37
0
0
-16
0
0
0
-43
-8
-11
0
0
0
0
0
-1
1
-9
0
0
0
0
0
0
0
-6
14
5
0
0
0
0
0
0
0
7
2
0
0
0
0
0
4
-54
5
5
0
0
0
0
0
-2
3
-1
8
0
0
0
0
0
0
-1
-33
-7
0
0
0
0
0
0
6
-10
-10
0
0
24
0
0
21
-39
23
-35
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
-10
-37
9
-11
0
0
0
0
0
1
-14
-78
44
-11
0
0
0
0
0
-29
14
58
-49
0
0
0
0
0
5
-9
-11
-18
0
-11
0
0
-2
-34
-61
-18
52
0
0
0
0
-1
0
1
-13
40
0
0
0
0
0
-8
3
3
26
0
0
0
0
0
-1
2
1
-75
0
-19
0
0
-77
33
-59
-9
34
0
0
0
0
17
-23
62
16
-57
-14
0
0
0
0
53
1
-30
-20
-34
0
0
0
1
9
-13
-24
-3
-12
22
1
0
-91
26
-86
-58
-70
4
0
0
0
-8
4
-98
8
-49
46
0
0
0
-2
32
34
-82
-34
21
0
0
-1
1
-10
34
-13
30
23
-109
35
4
-57
-25
-51
67
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-71
33
0
0
0
0
-2
7
-54
-14
0
0
0
0
0
1
-10
21
2
1
0
0
0
0
0
36
-20
25
-14
0
0
0
0
26
4
-33
-55
57
0
0
0
0
-9
-2
65
-84
55
0
0
0
0
5
-2
9
-29
52
0
0
0
0
1
4
-45
39
-3
0
0
0
0
8
-23
45
5
24
0
0
0
0
0
2
20
-56
19
0
0
0
0
27
2
-34
29
-13
0
0
0
0
-1
-10
-23
28
41
0
0
0
0
11
64
-18
-5
-37
0
0
0
0
0
-9
16
12
4
0
0
0
0
33
55
38
-18
-17
0
0
0
0
25
-14
16
22
42
0
0
0
0
-14
-29
-33
-50
52
0
0
0
0
2
4
-44
32
13
0
0
0
0
-2
-7
-42
5
73
0
0
0
0
0
-33
2
-42
55
0
0
0
0
-5
-8
-3
21
3
0
0
0
0
0
-8
10
-30
82
0
0
0
0
1
16
6
-54
59
0
0
0
0
6
-16
-10
18
-12
0
0
0
0
-58
-26
43
-17
25
0
0
0
0
0
2
-5
-20
63
0
0
0
0
-11
26
54
-99
86
0
0
0
0
1
-1
-7
-16
-27
0
0
0
0
-35
25
-24
7
29
0
0
0
0
7
-48
31
12
13
0
0
0
0
10
-38
-28
4
47
0
0
0
0
8
-47
6
49
36
0
0
0
0
0
6
78
-7
-43
0
0
0
-10
2
1
13
55
9
0
0
0
0
0
0
3
7
-19
0
0
0
-1
0
-6
-7
-25
16
0
0
0
0
0
-1
0
-6
29
0
0
0
14
0
1
-29
-19
21
0
0
0
0
0
-1
3
-46
25
0
0
0
-1
0
-2
25
-78
27
0
0
0
0
5
0
-41
-26
-2
0
0
0
5
0
3
-13
10
5
0
0
0
0
0
-4
-4
16
43
0
0
0
9
0
-1
0
-5
-2
0
0
0
0
0
0
20
0
-25
0
0
0
-27
0
-7
0
-76
55
0
0
0
0
0
-5
1
19
10
0
0
0
-25
0
-19
-40
25
76
0
0
0
0
0
0
-29
-43
3
0
0
0
10
0
0
6
-20
-6
0
0
0
0
0
-1
7
-8
51
0
0
0
-2
0
3
24
17
-19
0
0
0
0
0
0
6
15
-38
0
0
0
-22
0
0
-5
-90
2
0
0
0
0
0
0
6
-29
-14
0
0
0
-1
0
-18
42
-14
-16
0
0
0
0
0
-42
-68
-51
32
0
0
0
17
0
3
-4
-8
-13
0
0
0
0
0
-10
3
-13
-20
0
0
0
-64
0
-10
-13
53
8
0
0
0
0
0
0
-19
-71
-22
0
0
0
12
-1
-1
20
-19
23
0
0
0
0
0
-8
-4
7
39
0
0
0
53
18
31
-5
-67
43
0
0
0
0
1
0
-47
-5
66
0
0
0
0
0
0
-13
2
5
0
0
0
0
1
-3
7
23
-51
0
0
0
0
0
-1
21
-44
47
0
0
0
0
0
0
9
41
1
0
0
0
0
0
-2
-3
-11
3
0
0
0
0
0
0
-3
-43
70
0
0
0
0
0
-18
6
49
-13
0
0
0
0
0
2
-24
-74
49
0
0
0
0
0
0
-3
-27
-14
0
0
0
0
0
7
6
26
-69
0
0
0
0
0
0
-58
52
20
0
0
0
0
0
3
1
17
-28
0
0
0
0
0
0
-7
-14
-4
0
0
0
0
0
11
31
-33
-51
0
0
0
0
0
-3
-39
1
9
0
0
0
0
0
1
14
-31
-24
0
0
0
0
0
0
3
7
56
0
0
0
0
0
1
-20
-36
71
0
0
0
0
0
6
-14
-49
35
0
0
0
0
0
0
-2
-35
23
0
0
0
0
0
0
-3
-28
32
0
0
0
0
0
0
0
5
31
0
0
0
0
0
2
11
-30
17
0
0
0
0
0
0
39
20
16
0
0
0
0
0
1
-1
-33
-13
0
0
0
0
0
0
1
-13
-1
0
0
0
0
0
3
-5
-45
40
0
0
0
0
0
0
15
-13
50
0
0
0
0
0
-2
6
25
2
0
0
0
0
2
5
-5
11
-21
0
0
0
0
-44
-71
16
-54
53
0
0
0
0
3
3
-38
-88
44
0
0
0
0
0
0
15
64
-38
0
0
0
0
0
0
15
-11
-19
0
0
-41
-23
0
0
62
4
52
0
0
0
0
0
0
2
-36
-23
0
0
0
0
0
-4
-49
40
-26
0
0
0
0
0
0
5
32
-12
0
0
6
0
0
-1
71
-34
-5
0
0
0
0
0
0
28
-127
16
0
0
0
0
0
0
2
1
3
0
0
0
0
0
1
23
12
5
0
0
-22
0
0
0
54
-11
-9
0
0
0
0
0
-8
-10
-21
62
0
0
0
0
0
1
33
-40
-36
0
0
0
0
0
-1
5
-7
-34
0
0
-10
0
0
-25
9
-19
-1
0
0
0
0
0
-1
-41
-38
76
0
0
0
0
0
0
25
-41
75
0
0
0
0
0
0
17
-23
-21
0
0
12
1
0
0
-25
83
-22
0
0
0
0
0
-1
-6
-62
31
0
0
0
0
0
1
-41
42
-2
0
0
0
0
0
0
9
-4
4
0
0
37
0
0
-6
9
27
17
0
0
0
0
0
2
14
-30
24
0
0
0
0
0
0
17
-43
12
0
0
0
0
0
1
-10
61
-7
0
0
3
0
0
0
3
22
-12
0
0
0
0
0
-1
73
-30
3
0
0
0
1
0
0
33
-41
18
0
0
0
0
0
5
-37
-46
57
0
0
25
34
-20
-3
-29
-8
-6
0
0
0
0
7
-4
72
4
24
0
0
0
0
0
-1
33
-19
72
0
0
0
0
0
0
38
-4
-49
0
0
0
0
0
1
74
-53
-7
0
0
0
0
0
-10
16
-14
44
0
0
0
0
0
3
-1
-5
-23
0
0
0
0
0
0
1
47
7
0
0
0
0
0
-2
7
-50
20
0
0
0
0
2
-8
-29
5
22
0
0
0
0
0
-3
0
31
8
0
0
0
0
0
2
-5
-57
13
0
0
0
0
0
5
-73
4
56
0
0
0
0
-1
-4
2
-3
22
0
0
0
0
0
0
-10
0
8
0
0
0
0
0
-3
-1
4
33
0
0
0
0
-1
9
-12
-14
48
0
0
0
0
-5
-43
50
-49
-14
0
0
0
0
0
-2
-2
-13
17
0
0
0
0
0
-2
-49
13
-6
0
0
0
0
0
0
39
56
-45
0
0
0
0
0
-12
-20
4
-1
0
0
0
0
0
-1
13
10
3
0
0
0
0
0
1
3
-13
-18
0
0
0
0
0
0
-5
-23
35
0
0
0
0
-36
-14
-26
-72
26
0
0
0
0
0
0
3
-50
24
0
0
0
0
0
0
-45
33
24
0
0
0
0
0
26
-16
14
-61
0
0
0
0
0
11
-15
34
-3
0
0
0
0
0
0
-5
-25
-11
0
0
0
0
14
-21
75
17
-2
0
0
0
0
33
6
37
-12
0
0
0
0
0
0
0
-1
13
-24
0
0
0
-7
0
0
-5
-23
33
0
0
0
0
0
0
-2
-96
69
0
0
0
0
0
0
-14
-30
43
0
0
0
0
0
0
5
14
-15
0
0
0
0
0
0
29
17
13
0
0
0
0
0
0
-2
9
2
0
0
0
0
0
0
7
-58
34
0
0
0
0
0
0
1
-46
-6
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
-1
11
-21
-37
0
0
0
0
0
0
12
16
-5
0
0
0
0
0
0
-4
-6
47
0
0
0
1
0
0
0
-2
-7
0
0
0
0
0
0
6
-2
5
0
0
0
0
0
0
47
-14
-50
0
0
0
0
0
0
-5
-5
41
0
0
0
23
0
-1
-50
8
8
0
0
0
0
0
0
0
19
-26
0
0
0
0
0
0
-19
-35
14
0
0
0
0
0
0
0
-4
33
0
0
0
0
0
0
-5
21
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
-19
9
0
0
0
0
0
0
2
-33
-23
0
0
0
-32
0
0
13
-17
57
0
0
0
0
0
-2
-11
-55
33
0
0
0
-2
0
0
-52
-3
51
0
0
0
0
0
0
-9
5
0
0
0
0
-22
0
0
-1
29
-80
0
0
0
0
-2
0
-41
9
42
0
0
0
-25
0
3
-87
-1
33
0
0
0
0
1
-3
2
0
24
0
0
0
0
0
0
0
-52
71
0
0
0
0
0
0
-9
-14
5
0
0
0
0
0
0
22
2
-6
0
0
0
0
0
-1
1
5
46
0
0
0
0
0
0
1
-4
-34
0
0
0
0
0
0
0
0
5
0
0
0
0
0
2
13
-4
-32
0
0
0
0
0
0
0
15
-46
0
0
0
0
0
0
1
-4
-11
0
0
0
0
0
0
3
8
-3
0
0
0
0
0
0
34
0
1
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
0
16
0
0
0
0
0
5
-6
7
-73
0
0
0
0
0
-4
7
-14
18
0
0
0
0
0
0
0
-26
74
0
0
0
0
0
0
3
8
-8
0
0
0
0
0
0
0
-62
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
-4
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
-13
-4
0
0
0
0
0
1
3
5
28
0
0
0
0
0
0
0
-4
-17
0
0
0
0
0
0
-9
1
-7
0
0
0
0
0
0
-1
32
1
0
0
0
0
0
0
-14
-9
26
0
0
0
0
0
-4
0
0
45
0
0
0
0
-1
0
0
3
6
0
0
0
0
4
-23
-35
-25
-26
0
0
0
0
0
-22
75
-63
39
0
0
0
0
0
3
-10
-10
19
0
0
0
0
0
5
-14
-35
77
0
0
-3
0
0
4
23
28
-19
0
0
0
0
0
0
10
-32
-33
0
0
0
0
0
0
95
-46
42
0
0
0
0
0
0
18
26
-43
0
0
0
0
0
-24
-12
4
16
0
0
0
0
0
-5
57
6
36
0
0
0
0
0
0
13
-36
12
0
0
0
0
0
3
10
-1
-48
0
0
0
0
0
-7
-18
-29
80
0
0
0
0
0
-1
1
-4
-34
0
0
0
0
0
3
-20
-7
8
0
0
0
0
0
-1
-33
-36
75
0
0
0
0
0
-72
-49
63
2
0
0
0
0
0
7
-48
62
-30
0
0
0
0
0
0
-5
-53
35
0
0
0
0
0
-2
-31
-15
34
0
0
4
0
0
-2
21
-24
13
0
0
0
0
0
5
17
-49
24
0
0
0
0
0
-1
9
-3
18
0
0
0
0
0
0
-33
21
-14
0
0
0
0
0
-64
19
14
20
0
0
0
0
0
-5
-4
19
-5
0
0
0
0
0
2
30
-60
-42
0
0
0
0
0
0
5
19
6
0
0
2
0
0
-6
-18
20
11
0
0
0
0
0
14
-41
-29
10
0
0
0
1
0
-4
12
54
-32
0
0
0
0
-4
49
-54
-30
27
0
0
19
0
1
-67
60
-73
7
0
0
0
0
8
16
14
-10
-34
0
0
0
0
0
0
-11
-5
18
0
0
0
0
0
3
5
2
-19
0
0
0
0
0
9
51
-48
12
0
0
0
0
0
8
25
0
-67
0
0
0
0
0
1
14
-59
-5
0
0
0
0
0
3
-23
-26
74
0
0
0
0
0
-1
21
-13
30
0
0
0
0
15
17
-37
4
6
0
0
0
0
0
6
-3
74
-6
0
0
0
0
-1
33
-25
-33
39
0
0
0
0
0
-15
-23
-20
84
0
0
0
0
0
0
-2
3
33
0
0
0
0
0
1
10
-3
50
0
0
0
0
5
17
-9
-5
65
0
0
0
0
-1
-1
37
19
-33
0
0
0
0
-55
6
-48
-5
85
0
0
0
0
0
-4
-6
30
-8
0
0
0
0
0
2
14
33
-4
0
0
0
0
0
-3
34
57
0
0
0
0
0
1
-27
-4
-1
-19
0
0
0
0
0
1
14
15
-10
0
0
0
0
0
2
1
-3
53
0
0
0
0
3
-42
61
-25
32
0
0
0
0
-14
-2
-3
-18
54
0
0
0
0
0
-1
2
-15
25
0
0
0
0
2
-5
1
-43
24
0
0
0
0
0
-14
38
-48
33
0
0
0
0
18
-30
5
12
37
0
0
0
0
0
-4
-7
-88
80
0
0
0
0
6
-43
24
58
-10
0
0
0
0
1
-48
55
-16
-4
0
0
0
0
0
0
-43
-3
25
0
0
0
-26
0
4
-6
-13
2
0
0
0
0
0
0
-5
30
-14
0
0
0
7
0
0
-4
-29
27
0
0
0
0
0
0
5
-62
38
0
0
0
17
0
0
0
-8
7
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
43
12
6
0
0
0
0
0
0
-10
14
104
0
0
0
-11
0
0
0
-3
35
0
0
0
0
0
2
8
-22
53
0
0
0
-3
0
2
-58
-27
78
0
0
0
0
0
0
0
-4
15
0
0
0
-2
0
0
0
4
14
0
0
0
0
0
-4
1
-6
51
0
0
0
2
0
1
6
-42
-62
0
0
0
0
0
0
8
-5
33
0
0
0
16
0
1
-1
1
26
0
0
0
0
0
0
0
17
19
0
0
0
0
0
0
11
-38
-31
0
0
0
0
0
0
1
-7
29
0
0
0
11
0
0
0
-37
-31
0
0
0
0
0
0
0
-47
5
0
0
0
0
0
0
-3
-53
-14
0
0
0
0
0
0
1
-7
-3
0
0
0
49
0
-1
1
-58
-61
0
0
0
0
0
0
1
-35
19
0
0
0
3
0
0
-9
-40
25
0
0
0
0
0
-2
-2
-19
19
0
0
0
-4
0
-1
2
31
-38
0
0
0
0
0
-1
0
16
-14
0
0
0
0
-5
40
12
16
-27
0
0
0
0
1
6
5
-14
4
0
0
0
0
0
0
2
13
-24
0
0
0
0
0
-2
6
7
48
0
0
0
0
0
0
-52
39
23
0
0
0
0
0
0
0
4
34
0
0
0
0
0
0
-7
36
-71
0
0
0
0
0
0
0
-14
-6
0
0
0
0
0
0
-30
23
12
0
0
0
0
0
3
-3
5
10
0
0
0
0
0
0
0
-49
43
0
0
0
0
1
0
1
4
-48
0
0
0
0
0
0
-8
-62
10
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
-19
-13
0
0
0
0
0
-21
-10
-3
23
0
0
0
0
0
0
7
4
14
0
0
0
0
0
0
2
-53
-12
0
0
0
0
0
-2
0
10
-1
0
0
0
0
0
0
-8
-60
-10
0
0
0
0
0
0
0
4
36
0
0
0
0
0
0
0
-5
-75
0
0
0
0
0
0
-1
2
9
0
0
0
0
0
0
-43
14
25
0
0
0
0
1
-1
0
0
6
0
0
0
0
0
0
-1
19
-13
0
0
0
0
0
-1
-1
13
-4
0
0
0
0
0
1
-7
-15
-6
0
0
0
0
-1
0
0
-34
33
0
0
0
0
0
0
5
-49
53
0
0
0
0
-2
0
1
3
39
0
0
0
0
-14
-48
-42
3
-2
0
0
0
0
0
4
40
-24
41
0
0
0
0
0
0
-22
-1
34
0
0
0
0
0
0
4
-17
55
0
0
-5
0
0
0
-14
33
60
0
0
0
0
0
-1
5
24
7
0
0
0
0
0
0
1
-8
-2
0
0
0
0
0
0
-5
25
-31
0
0
0
0
0
6
14
23
-24
0
0
0
0
0
0
13
-20
21
0
0
0
0
0
0
0
-13
13
0
0
0
0
0
0
17
-72
31
0
0
14
0
0
0
35
-6
-41
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
2
-9
50
0
0
0
0
0
-1
8
2
-18
0
0
0
0
0
3
-29
14
-16
0
0
0
0
0
1
-7
3
14
0
0
0
0
0
0
9
6
-35
0
0
0
0
0
0
1
-51
14
0
0
-18
0
0
0
7
-60
-7
0
0
0
0
0
-2
-10
3
1
0
0
0
0
0
0
-31
-42
46
0
0
0
0
0
0
2
46
-6
0
0
0
0
0
9
24
-19
-10
0
0
0
0
0
0
-2
-5
66
0
0
0
0
0
0
5
-59
23
0
0
0
0
0
0
9
-93
-48
0
0
-11
0
0
0
0
18
3
0
0
0
0
0
0
-10
-47
-4
0
0
0
1
0
0
-3
-3
-52
0
0
0
0
0
0
10
-43
-2
0
0
64
-23
3
-14
21
-14
19
0
0
0
0
0
3
-14
-5
62
0
0
0
0
0
2
-9
-28
28
0
0
0
0
0
0
-4
-20
-5
0
0
0
0
0
0
44
-57
23
0
0
0
0
0
-3
0
2
22
0
0
0
0
0
0
1
3
5
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
19
-4
-53
0
0
0
0
0
0
0
-3
26
0
0
0
0
0
0
0
-4
31
0
0
0
0
0
0
0
-1
44
0
0
0
0
0
0
1
0
-22
0
0
0
0
-1
-2
0
1
5
0
0
0
0
0
0
3
0
14
0
0
0
0
0
0
0
-1
10
0
0
0
0
1
1
-7
1
50
0
0
0
0
2
-5
20
8
-45
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
13
-14
12
0
0
0
0
0
-1
0
3
62
0
0
0
0
0
0
4
-23
-11
0
0
0
0
0
1
-1
5
1
0
0
0
0
0
0
52
24
-43
0
0
0
0
3
0
0
-4
-1
0
0
0
0
0
0
1
-2
11
0
0
0
0
0
0
6
-7
5
0
0
0
0
0
0
11
-59
44
0
0
0
0
1
2
7
2
-39
0
0
0
0
0
-1
2
-1
21
0
0
0
0
-1
0
3
-10
-4
0
0
0
0
-20
-14
46
-63
14
0
0
0
0
0
0
0
-46
101
0
0
0
-1
0
0
-5
-30
24
0
0
0
0
0
0
5
-71
88
0
0
0
0
0
0
-31
-41
46
0
0
0
0
0
0
-5
-7
5
0
0
0
0
0
0
0
1
-35
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-2
5
19
-24
0
0
0
0
0
0
0
7
47
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
-8
27
0
0
0
0
0
0
6
-17
-52
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
22
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
3
0
50
0
0
0
0
0
0
4
-17
-14
0
0
0
-1
0
0
-3
-33
-13
0
0
0
0
0
0
-3
-4
51
0
0
0
0
0
0
-10
-29
-16
0
0
0
0
0
0
0
11
24
0
0
0
0
0
0
0
-2
-20
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
4
-2
-11
0
0
0
0
0
0
0
-32
3
0
0
0
0
0
0
-2
8
13
0
0
0
0
0
0
-2
1
8
0
0
0
0
0
0
2
-11
3
0
0
0
0
0
0
0
-11
-29
0
0
0
2
0
-2
1
14
33
0
0
0
0
0
0
0
-5
-7
0
0
0
21
2
-35
-11
40
17
0
0
0
0
-36
0
3
85
-27
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
-43
-2
0
0
0
0
0
-1
-21
-33
30
0
0
0
0
0
0
0
1
-21
0
0
0
0
0
0
0
-8
43
0
0
0
0
0
0
1
2
25
0
0
0
0
0
11
5
-18
-24
0
0
0
0
0
-2
1
0
41
0
0
0
0
0
0
0
-2
24
0
0
0
0
-2
0
1
8
-8
0
0
0
0
0
-7
-1
16
16
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
2
-1
10
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
19
1
-2
56
0
0
0
0
2
0
-4
-17
23
0
0
0
0
0
0
0
10
-20
0
0
0
0
0
0
-1
-20
5
0
0
0
0
0
-1
-4
17
48
0
0
0
0
0
0
-1
-3
-91
0
0
0
0
0
0
-5
-5
19
0
0
0
0
0
0
-1
10
-4
0
0
0
0
0
1
-4
-49
10
0
0
0
0
0
0
-1
1
22
0
0
0
0
0
-3
0
-6
-4
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-6
-5
-11
0
0
0
0
-1
2
-1
-8
18
0
0
0
0
0
-2
0
19
15
0
0
0
0
-9
0
1
20
-25
0
0
0
0
-10
24
68
-37
-15
0
0
0
0
0
8
5
100
-29
0
0
0
0
0
2
-70
2
17
0
0
0
0
0
0
18
-21
13
0
0
-1
0
0
0
-12
-8
26
0
0
0
0
0
-5
21
-14
27
0
0
0
0
0
0
-14
33
-25
0
0
0
0
0
0
35
-53
10
0
0
0
0
0
15
13
-2
-17
0
0
0
0
0
-29
8
-6
17
0
0
0
0
0
0
4
-7
34
0
0
0
0
0
2
-10
46
-36
0
0
0
0
0
5
-14
2
16
0
0
0
0
0
-5
0
1
45
0
0
0
0
0
-1
-2
5
-5
0
0
0
0
2
-9
0
0
7
0
0
0
0
3
-18
21
-79
18
0
0
0
0
0
16
-15
-12
-2
0
0
0
0
0
0
21
-57
-2
0
0
0
0
0
4
-13
-33
81
0
0
0
0
0
1
-14
-1
-41
0
0
0
0
0
-4
1
24
-24
0
0
0
0
0
1
54
-42
-62
0
0
0
0
0
0
-6
21
22
0
0
0
0
0
-29
53
-68
5
0
0
0
0
0
3
2
-48
68
0
0
0
0
0
0
6
-4
41
0
0
0
0
0
11
-3
25
-45
0
0
3
0
0
-5
-59
-4
0
0
0
0
0
0
4
-80
10
102
0
0
0
0
0
4
-13
-66
44
0
0
0
0
0
-21
11
-14
-49
0
0
14
7
-43
-3
-14
-51
-15
0
0
0
0
-80
-57
1
9
55
0
0
0
0
0
-6
3
-31
-5
0
0
0
0
-1
-4
5
-14
8
0
0
0
0
0
7
-10
-1
25
0
0
0
0
-3
-5
7
23
17
0
0
0
0
-1
-3
31
-44
33
0
0
0
0
1
4
-17
10
5
0
0
0
0
-2
-29
-17
39
50
0
0
0
0
-44
7
-24
-30
95
0
0
0
0
0
0
2
-44
-62
0
0
0
0
-3
-11
-5
43
45
0
0
0
0
0
16
18
-51
8
0
0
0
0
2
-2
0
5
1
0
0
0
0
-2
2
0
16
-44
0
0
0
0
6
1
5
16
-8
0
0
0
0
-57
2
84
-50
50
0
0
0
0
6
-18
53
-31
-6
-12
0
0
0
0
4
-3
0
13
-11
0
0
0
-5
-10
13
45
29
2
0
0
0
0
-7
8
49
46
-17
0
0
0
45
4
-47
3
54
-4
0
0
0
0
0
-9
39
-4
24
0
0
0
1
-7
-1
52
-58
25
0
0
0
9
12
35
-65
33
12
0
0
0
-23
28
51
-19
39
4
0
0
0
0
1
-3
33
49
11
0
0
0
-11
-5
6
-86
39
5
0
0
0
3
32
-38
0
70
17
0
0
0
31
25
-43
-45
16
8
0
0
0
0
-3
-1
21
18
26
0
0
0
6
30
13
-109
100
11
0
0
0
98
51
9
-13
86
24
0
0
0
0
1
17
15
-74
0
0
0
2
0
0
1
-31
-22
0
0
0
0
0
0
7
-34
49
0
0
0
7
0
0
-8
-23
32
0
0
0
0
0
0
-3
-33
7
0
0
0
1
0
0
2
-42
50
0
0
0
0
0
0
-1
3
1
0
0
0
-4
0
0
-14
-21
-14
0
0
0
0
0
-1
1
2
5
0
0
0
-10
0
-3
0
-57
16
0
0
0
0
0
0
0
-53
-16
0
0
0
0
0
1
-4
40
0
0
0
0
0
0
0
0
15
-3
0
0
0
5
0
0
0
21
-9
0
0
0
0
0
0
0
-6
26
0
0
0
5
0
-13
-6
-16
80
0
0
0
0
0
0
3
-39
-8
0
0
0
18
0
0
0
-26
32
-13
0
0
0
0
0
0
-24
-2
-41
0
0
0
0
-2
-6
4
-53
-7
0
0
0
0
0
0
-49
113
20
0
0
-10
0
0
1
-23
75
-24
0
0
0
0
0
-2
11
11
23
0
0
0
0
0
-11
47
21
14
0
0
0
-1
0
3
80
-8
-10
0
0
-27
0
0
-4
-5
-53
44
0
0
0
0
0
-2
-23
-21
-37
0
0
-1
0
-2
-7
-116
70
11
0
0
0
0
0
0
18
21
-5
0
0
41
0
-1
2
-23
-1
-37
0
0
0
3
0
0
10
-18
-14
0
0
69
1
-10
16
-41
-15
11
0
0
0
2
0
0
-46
-8
0
0
0
0
0
0
0
-49
47
0
0
0
0
0
-1
0
-4
-19
0
0
0
0
0
0
-1
-43
-7
0
0
0
0
0
0
-2
5
-2
0
0
0
0
0
0
0
24
-13
0
0
0
0
0
-3
0
-7
2
0
0
0
0
0
3
-60
5
10
0
0
0
0
0
0
4
-1
17
0
0
0
0
0
0
0
-9
-6
0
0
0
0
0
0
1
13
9
0
0
0
0
0
-3
-4
-20
14
0
0
0
0
0
0
0
-32
7
0
0
0
0
0
-1
1
-11
-22
0
0
0
0
0
-4
0
13
-8
0
0
0
0
1
-10
-5
-9
10
0
0
0
0
6
0
1
-43
47
-17
0
0
0
0
0
0
-30
-25
33
0
0
0
0
0
-3
25
-10
-37
0
0
0
0
0
-3
-85
26
23
0
0
0
0
0
0
8
-8
-14
0
0
0
0
0
1
7
17
-16
0
0
0
0
0
-1
-16
0
-8
0
0
0
0
0
-33
26
1
-25
0
0
0
0
-1
1
-42
58
22
0
0
0
0
0
0
35
0
12
0
0
0
0
1
0
0
27
-14
0
0
0
0
-1
-5
-21
25
-28
0
0
0
0
0
0
-8
14
-12
0
0
0
0
0
5
-90
5
39
0
0
0
0
-6
0
16
-1
-72
0
0
0
41
6
59
-8
19
-4
0
0
0
0
0
10
-18
15
0
0
0
0
0
-2
5
-56
19
0
0
0
0
0
0
17
15
-18
0
0
-51
0
0
-1
5
62
29
0
0
0
0
0
-1
23
-43
-10
0
0
0
0
0
0
-5
-13
22
0
0
0
0
0
1
4
-18
0
0
0
0
0
0
-1
-21
-14
39
0
0
0
0
0
-2
1
-30
9
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
2
3
-50
14
0
0
-14
0
0
4
5
-19
-8
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
6
-18
0
0
0
0
0
0
0
-63
-1
0
0
0
0
0
-6
-21
7
-7
0
0
0
0
0
0
14
42
53
9
0
0
0
0
0
-8
-90
12
10
0
0
0
0
2
-3
-103
-13
-24
0
-23
0
0
1
13
-78
11
-1
0
0
0
0
0
-2
-64
18
17
0
0
0
0
0
5
-27
-20
-41
0
0
0
0
0
0
14
1
-73
0
47
0
0
0
-24
-78
-8
25
0
0
0
0
0
5
-25
-7
25
0
0
0
0
0
5
8
21
-18
0
0
0
0
0
7
4
-15
-27
0
69
0
0
-1
4
40
-50
-87
0
0
0
0
0
-5
45
22
-41
0
0
0
0
0
2
31
32
-65
0
0
0
0
0
-5
-92
8
2
0
-4
-1
1
-47
-58
-14
35
-7
0
0
0
9
2
-30
-22
54
0
0
0
0
0
0
0
-8
66
0
0
0
0
-1
-3
-25
-22
73
0
0
0
0
0
6
-58
-5
50
0
0
0
0
0
-2
0
-2
-19
0
0
0
0
0
0
-10
2
22
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
-3
8
9
-1
0
0
0
0
3
0
1
-14
14
0
0
0
0
0
0
-1
-7
51
0
0
0
0
0
0
-4
3
54
0
0
0
0
0
2
6
-14
-32
0
0
0
0
0
-2
4
0
26
0
0
0
0
0
0
0
2
-5
0
0
0
0
2
0
-2
3
5
0
0
0
0
-4
-10
62
14
5
0
0
0
0
-3
1
-7
2
46
-18
0
0
0
0
0
3
-9
44
-14
0
0
0
0
0
14
-2
-19
26
0
0
0
0
-8
2
25
66
-69
0
0
0
0
-4
0
-3
-61
50
0
0
0
0
2
-1
0
-3
-14
0
0
0
-6
-1
1
5
-3
14
0
0
0
0
6
15
-33
-5
-54
0
0
0
0
1
2
-14
17
5
0
0
0
0
0
2
-34
-5
86
0
0
0
0
0
3
-5
33
-16
0
0
0
0
-5
-11
-1
-83
51
0
0
0
0
0
0
4
14
12
0
0
0
0
0
1
-45
11
-21
0
0
0
-2
0
0
-11
5
3
0
0
0
21
11
62
-10
6
-38
0
0
0
0
-1
9
26
-60
0
0
0
-1
0
0
2
-4
-6
0
0
0
0
0
0
-11
0
-23
0
0
0
0
0
0
0
-35
70
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
-33
-1
4
0
0
0
0
0
0
3
5
18
0
0
0
0
0
0
0
-22
64
0
0
0
0
0
0
5
-3
18
0
0
0
0
0
0
-5
18
-5
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
-17
0
0
0
0
1
1
1
-4
-9
0
0
0
0
0
0
0
-4
42
-6
0
0
0
0
0
0
14
16
70
0
0
0
0
0
-1
-6
14
-46
0
0
0
0
0
4
-16
-10
1
0
0
0
0
0
1
1
-21
-22
0
0
0
0
0
0
0
-8
-46
0
0
0
0
0
0
0
8
-7
0
0
0
0
1
-1
0
3
-68
0
0
0
0
0
0
24
-34
-64
0
0
4
0
0
-11
-9
5
-57
0
0
0
0
0
-2
-3
-54
20
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
-19
-54
0
0
-13
0
0
1
0
-8
-29
0
0
0
0
0
2
-5
6
-40
0
0
25
1
8
-28
-69
62
-9
0
0
0
-2
0
-1
-14
-28
0
0
0
0
0
0
2
-37
10
0
0
0
0
0
0
1
1
3
0
0
0
0
0
0
-3
-46
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
14
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-13
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
9
-15
0
0
0
0
0
-1
2
-31
-12
0
0
0
0
0
0
6
-27
-22
0
0
0
0
0
0
25
0
-9
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
0
0
-1
-63
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
5
0
5
0
0
0
2
0
1
2
-23
69
0
0
0
0
0
0
1
-10
18
0
0
0
0
0
0
-1
4
-25
0
0
0
0
0
-4
-1
-1
-64
0
0
0
0
0
0
-9
2
-29
0
0
0
0
0
0
-5
-3
2
0
0
0
1
0
0
3
0
-45
0
0
0
8
-7
15
5
31
-27
0
0
0
0
10
-15
-2
-28
0
0
0
0
0
0
-1
-5
1
0
0
0
0
0
-1
10
-10
-1
0
0
-8
0
0
0
57
-71
31
0
0
0
0
0
3
-5
-2
2
0
0
0
0
0
0
3
1
13
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
-59
13
6
0
0
0
0
0
1
-2
14
7
0
0
0
0
0
0
5
7
7
0
0
0
0
0
1
-15
-13
17
0
0
0
0
0
4
-25
-1
-3
0
0
0
0
0
0
-3
0
-22
0
0
0
0
0
0
-6
1
4
0
0
0
0
0
0
-6
0
-3
0
0
0
0
0
5
17
-86
-10
0
0
0
0
1
2
1
27
50
-4
0
0
0
0
0
0
-39
48
23
0
0
0
0
-2
2
-9
-14
86
0
-1
0
0
1
-5
25
2
-52
0
0
0
0
0
1
3
-17
-57
0
0
0
0
0
0
6
-2
-78
0
0
0
0
1
0
-2
0
-20
0
0
0
0
-1
4
2
1
-55
0
0
0
0
0
3
-1
31
-76
0
0
0
0
0
0
-21
11
1
0
0
0
0
0
5
-5
-6
-13
0
9
0
0
0
14
-15
3
-23
0
0
0
0
-1
5
-2
-15
-51
0
0
0
0
0
9
-45
-14
-43
0
0
0
0
0
5
0
2
-49
0
3
-1
-2
9
22
43
-49
-5
0
0
0
14
-36
46
-40
78
0
0
0
0
0
0
-3
-26
5
0
0
0
0
0
-2
14
36
14
0
0
0
0
1
0
62
-69
22
0
0
0
0
2
-55
-47
31
-2
0
0
0
0
0
-1
-80
-12
10
0
0
0
0
0
4
2
-25
-10
0
0
0
0
0
23
25
15
-14
0
0
0
0
-24
45
25
-15
-43
0
0
0
0
0
3
0
30
-8
0
0
0
0
0
-6
0
7
-17
0
0
0
0
0
0
31
-2
18
0
0
0
0
0
1
-14
-7
53
0
0
0
0
0
0
-5
11
14
0
0
0
0
-2
-5
1
1
-10
0
0
0
0
18
24
2
-6
55
0
0
0
0
48
5
-24
-61
-4
52
0
0
0
0
0
3
-2
20
-15
0
0
0
0
0
-5
-30
11
-60
0
0
0
0
-4
76
0
-11
-44
0
0
0
5
14
14
4
-34
-26
0
0
0
-1
4
13
0
15
-10
0
0
0
0
4
0
-4
12
-72
0
0
0
0
-14
20
-24
-24
-19
0
0
0
-17
9
-5
-17
15
11
-21
0
0
0
0
3
-33
52
19
-23
0
0
0
2
-5
-42
27
4
5
0
0
0
-7
-55
-70
19
29
27
0
0
-49
-24
1
18
81
24
-18
0
0
3
-3
19
-55
106
79
12
0
0
-23
12
0
-20
30
22
11
0
0
14
57
-5
36
-11
-43
24
0
0
0
0
-9
4
10
0
0
0
-15
0
2
1
-5
27
0
0
0
0
0
0
-7
-43
43
0
0
0
0
0
0
34
-45
-11
0
0
0
0
0
0
2
20
-7
0
0
0
1
0
0
3
-17
-9
0
0
0
0
0
0
2
-35
-45
0
0
0
0
0
-1
43
-57
11
0
0
0
0
0
-3
1
3
23
0
0
0
0
0
0
0
9
11
0
0
0
0
0
2
-3
-11
20
0
0
0
0
0
-2
2
-57
32
0
0
0
0
0
0
0
-27
36
0
0
0
19
0
-3
1
-5
11
0
0
0
0
0
4
0
-5
23
0
0
0
4
0
5
-3
50
-69
0
0
0
0
0
0
5
-31
11
8
0
0
32
0
0
0
-56
16
18
0
0
0
0
0
0
-47
-14
-14
0
0
0
0
1
-7
-37
3
11
0
0
0
0
0
-4
-9
53
2
0
0
-10
0
0
-10
33
-83
51
0
0
0
0
0
-1
-9
17
5
0
0
0
0
0
7
-89
42
28
0
0
0
0
3
2
48
43
-65
14
0
37
0
0
0
18
2
-91
-32
0
0
0
0
-7
20
62
-11
0
0
-20
0
0
-3
-25
7
-42
5
0
0
0
0
0
49
13
-55
-5
0
-42
0
1
3
-14
-50
-20
20
0
0
0
0
0
-20
17
27
19
0
24
5
-30
-51
-70
-27
-62
34
0
0
0
1
-1
-20
17
0
0
0
0
0
0
0
-2
-31
0
0
0
0
0
0
0
-17
4
0
0
0
0
0
0
-5
71
-6
0
0
0
0
0
0
-1
-48
-7
0
0
0
0
0
0
-4
-3
2
0
0
0
0
0
-8
2
-32
0
0
0
0
0
0
0
-53
-51
23
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
-17
-1
0
0
0
0
0
4
-6
7
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
6
1
0
0
0
0
0
0
-1
-24
-29
32
0
0
0
0
0
-4
31
-60
33
0
0
0
0
0
-1
-13
23
-34
0
0
0
0
-2
-1
55
-21
2
0
0
0
0
0
0
-11
10
4
0
0
0
0
0
-1
-3
0
22
0
0
0
0
0
0
-2
-6
-49
0
0
0
0
0
0
9
-3
-30
0
0
0
0
3
0
-1
20
-38
4
0
0
0
0
0
-15
-43
4
2
0
0
0
0
0
43
-2
-36
4
0
0
0
0
0
-49
-9
4
4
0
0
0
0
0
3
-5
-50
85
0
0
0
0
1
0
8
4
13
0
0
-1
0
0
-1
9
-104
49
0
0
4
49
18
42
-46
10
-15
0
0
0
0
-16
-84
48
0
0
0
0
0
0
0
-28
42
0
0
0
0
0
0
5
13
-31
0
0
24
0
0
1
-18
-39
25
0
0
0
0
0
0
15
-21
-1
0
0
0
0
0
3
-5
-25
14
0
0
0
0
0
0
-2
-6
1
0
0
-4
0
0
1
6
-3
15
0
0
0
0
0
0
5
-26
-5
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
-1
3
3
0
0
-20
0
0
-1
5
-45
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
15
5
0
0
0
0
0
0
14
21
1
26
0
0
0
0
0
5
4
23
-13
0
0
0
0
-6
-6
-48
29
-4
0
43
0
0
3
-43
-70
25
31
0
0
0
0
0
-2
43
-15
-44
0
0
0
0
0
-1
5
4
5
0
0
0
0
0
0
-35
1
-82
0
-9
0
0
0
-1
13
-2
-48
0
0
0
0
0
-9
66
-10
-6
5
0
0
0
0
3
-25
19
-76
0
0
0
0
3
0
20
0
-69
-25
46
0
0
0
-2
-100
21
0
12
0
0
0
0
0
-5
-6
41
-27
0
0
0
0
-1
-14
-5
35
15
0
0
0
0
3
7
0
-83
54
-123
-5
2
-43
-29
72
14
-80
-8
0
0
53
24
-71
-18
4
0
0
0
0
0
0
0
-72
71
0
0
0
0
-1
-3
4
31
-2
0
0
0
0
0
4
24
14
-1
0
0
0
0
0
2
-7
-8
-1
0
0
0
0
0
0
19
3
-10
0
0
0
0
0
-2
-5
6
3
0
0
0
0
0
-55
96
-43
-5
0
0
0
0
-43
2
4
20
-14
0
0
0
0
0
0
1
-59
48
0
0
0
0
3
-8
-8
53
-80
0
0
0
0
0
-16
-1
23
-14
0
0
0
0
0
-4
-2
0
10
0
0
0
0
0
2
-5
-2
29
0
0
0
0
-2
-29
0
11
26
0
0
0
0
-1
65
-111
-2
15
0
0
0
0
6
7
23
14
-8
-5
0
0
0
0
0
1
38
59
-62
0
0
0
1
0
3
15
-15
-3
0
0
0
0
0
3
-24
42
-38
0
0
0
-4
1
0
-14
76
-28
0
0
0
0
-1
0
-36
27
28
0
0
0
7
4
0
-10
-7
-2
0
0
0
-4
24
-11
-36
41
-24
0
0
0
13
0
2
9
-43
-88
21
0
0
0
0
-3
-11
59
-9
-23
0
0
-3
0
0
-5
0
-75
0
0
0
0
3
-6
6
47
14
3
0
0
-7
1
0
-3
29
-26
82
0
0
0
-1
-10
31
27
-29
9
0
0
-24
-5
-1
-19
-6
28
79
0
0
-18
-8
43
-55
0
5
-32
0
0
0
-2
-22
8
27
0
0
0
-6
0
0
-4
-11
37
0
0
0
0
0
0
-23
65
14
0
0
0
0
0
5
4
-24
49
0
0
0
0
0
0
-4
-34
59
0
0
0
0
0
0
-2
-17
-56
0
0
0
0
0
-3
-3
0
3
0
0
0
0
0
0
-23
-5
-13
0
0
0
0
0
1
0
-6
14
0
0
0
-14
0
0
0
7
-7
0
0
0
0
0
0
3
-21
43
0
0
0
0
0
1
-5
-14
-20
0
0
0
0
0
0
0
0
2
0
0
0
-4
0
0
-3
1
21
0
0
0
0
0
0
0
0
36
0
0
0
-35
0
-8
18
-1
-5
0
0
0
0
0
0
0
3
-19
-25
0
0
-2
0
0
-1
-47
50
4
0
0
0
0
0
-2
1
-33
-2
0
0
0
0
0
10
6
1
-7
0
0
0
0
0
-2
-7
-3
19
0
0
1
0
0
-2
-4
18
-11
0
0
0
0
0
0
0
4
-46
0
0
0
0
0
0
-20
18
-2
0
0
0
0
0
0
-33
11
-82
32
0
-19
0
0
0
55
15
-49
-1
0
0
0
-1
0
-3
15
17
46
0
5
0
0
-3
-14
-26
-34
14
0
0
0
0
0
-5
18
7
-17
0
-7
0
3
0
0
6
-54
-46
0
0
-7
0
1
-3
-5
-9
-100
0
-101
0
20
-44
-68
18
32
1
0
0
0
-13
-18
-31
105
0
0
0
0
0
0
-2
-53
61
0
0
0
0
0
0
5
-11
34
0
0
0
0
0
-1
-30
-25
-18
0
0
0
0
0
5
-10
10
-19
0
0
0
0
0
0
-11
9
44
0
0
0
0
0
-5
0
0
7
0
0
0
0
0
-66
55
9
-7
0
0
0
0
-5
1
0
-19
24
0
0
0
0
0
0
2
-5
-6
0
0
0
0
2
0
-2
18
-86
0
0
0
0
0
2
5
-31
-20
0
0
0
0
2
-1
0
1
0
0
0
0
0
0
0
0
-9
-26
0
0
0
0
0
1
-1
0
-5
0
0
0
0
1
-49
16
9
-59
0
0
0
0
-5
1
-3
18
58
31
0
0
0
0
0
-1
-53
69
4
0
0
0
0
0
3
-3
-5
-18
0
0
0
0
0
-5
-11
6
-51
0
0
0
0
0
0
-16
15
-48
0
0
0
0
0
-1
9
-25
-1
0
0
0
0
1
0
-5
2
-37
0
0
0
-6
-1
4
8
0
-24
0
0
0
6
0
0
-15
-14
-33
18
0
0
0
-1
-1
-7
70
-33
48
0
0
0
-1
-13
5
37
-34
20
0
0
0
-3
5
-6
14
-13
-26
0
0
17
0
0
1
4
-53
-40
0
0
1
0
-3
-8
5
-78
83
0
0
-21
24
0
1
2
19
-49
0
0
12
-53
-43
-62
-28
-5
28
0
0
36
-42
-32
34
64
0
0
0
46
7
40
-2
15
5
0
0
0
0
-55
-30
23
12
1
0
0
56
18
16
-81
-39
28
14
0
0
0
0
56
51
-22
-82
14
0
0
0
49
16
-59
24
-57
64
0
0
0
0
-22
-97
28
35
-23
0
0
-27
15
10
28
11
-43
17
0
0
0
0
-32
-7
89
59
-14
0
0
0
62
-7
5
33
-18
-24
0
0
0
0
31
-42
-43
-72
33
0
0
2
-22
-1
11
1
-51
11
0
0
0
0
-37
-8
74
-43
32
0
0
0
-4
3
-41
21
9
-57
0
0
0
0
2
15
-34
-2
-30
0
0
16
-13
-22
-54
-70
38
-24
0
0
0
0
48
122
40
27
-29
-19
0
0
-35
-20
-21
-6
23
-6
24
0
0
0
13
14
12
-1
-40
21
0
-44
-6
-4
-14
8
-57
-47
52
0
0
0
-25
-26
-31
-5
24
-2
0
0
10
-9
33
-45
-48
4
-2
0
0
0
8
-45
-14
12
71
-75
0
23
27
12
23
0
-23
-38
-79
0
0
0
75
-23
25
17
26
-9
9
0
30
2
-19
-29
57
11
-68
43
0
0
-4
-1
-29
-25
43
-62
27
-42
-38
-41
-15
6
32
53
7
-37
0
0
-11
48
40
90
-44
-6
29
0
-11
-5
-11
-38
-27
-42
1
-1
0
0
53
-32
44
-103
-27
-39
3
-20
-72
-107
-14
-22
-65
62
-4
-34
0
0
5
-8
-14
-15
-2
0
0
0
0
0
0
-13
-60
32
0
0
0
0
-1
0
9
-50
25
0
0
0
0
0
0
17
10
-2
0
0
0
0
0
0
0
20
-37
0
0
0
0
0
0
-22
23
80
0
0
0
0
0
-8
-15
-5
56
0
0
0
0
0
68
39
-29
14
0
0
0
0
-19
-14
-3
-11
53
0
0
0
0
0
1
-4
16
25
0
0
0
0
1
4
0
30
-3
0
0
0
0
0
-15
-6
-1
81
0
0
0
0
-2
17
0
1
13
0
0
0
0
0
2
0
45
-19
0
0
0
0
-3
13
0
-6
43
0
0
0
0
4
53
64
-67
0
0
0
0
0
3
-14
2
-15
-1
0
0
0
0
0
0
-1
10
-34
0
0
0
0
0
4
2
46
-11
0
0
0
0
0
-4
37
26
-4
0
0
0
0
-5
6
-1
-59
62
0
0
0
0
-1
0
-2
4
22
0
0
0
0
5
-5
0
8
91
0
0
0
0
-3
-5
-5
-7
12
0
0
0
0
-21
10
15
-5
49
0
0
0
0
0
2
2
-41
-33
0
0
0
0
-1
-24
6
-49
56
0
0
0
0
0
-43
-16
-26
28
0
0
0
0
5
10
1
61
-42
0
0
0
0
5
8
31
-56
24
0
0
0
0
10
-57
-5
0
85
0
0
0
0
56
-12
33
33
-18
0
0
0
0
0
0
0
-7
3
0
0
0
-20
0
0
0
3
35
0
0
0
0
0
0
-1
9
24
0
0
0
1
0
0
-19
-46
43
0
0
0
0
0
0
-5
45
11
0
0
0
0
0
1
-5
49
6
0
0
0
0
0
0
0
-15
63
0
0
0
0
0
0
9
-57
82
0
0
0
0
0
0
2
-69
36
0
0
0
-24
0
2
0
48
-8
0
0
0
0
0
0
0
2
-43
0
0
0
0
0
0
-1
5
-3
0
0
0
0
0
0
0
-3
32
0
0
0
2
0
-1
0
-2
49
0
0
0
0
0
0
-1
60
-20
0
0
0
22
0
8
-36
0
47
0
0
0
0
0
0
3
5
4
0
0
0
-4
0
0
-3
-22
41
0
0
0
0
0
0
7
21
-63
0
0
0
0
0
0
1
49
-32
0
0
0
0
0
0
-1
-12
43
0
0
0
-10
0
0
2
-21
-38
0
0
0
0
0
0
0
28
-12
0
0
0
0
0
-1
-7
-14
40
0
0
0
0
0
0
-2
-25
-19
0
0
0
15
0
0
0
-49
-2
0
0
0
0
0
0
-3
5
-27
0
0
0
-10
0
0
2
22
11
0
0
0
0
0
0
0
12
21
0
0
0
45
0
-1
3
18
-31
0
0
0
0
0
0
0
-13
-8
0
0
0
35
2
5
-63
-30
20
0
0
0
0
0
1
0
-29
30
0
0
0
0
0
0
1
-14
16
0
0
0
0
0
0
1
-22
-11
0
0
0
0
0
0
-55
-13
93
0
0
0
0
0
0
0
-1
58
0
0
0
0
0
0
-7
20
15
0
0
0
0
0
0
-4
-3
6
0
0
0
0
0
-7
-7
-11
10
0
0
0
0
0
0
6
-6
14
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
-3
2
-43
12
0
0
0
0
0
-1
-43
20
-10
0
0
0
0
0
0
2
-1
19
0
0
0
0
0
0
2
-33
-5
0
0
0
0
0
0
0
-9
-52
0
0
0
0
0
-1
-5
-30
53
0
0
0
0
0
-2
4
-31
42
0
0
0
0
0
0
3
-53
6
0
0
0
0
0
0
-6
-44
-3
0
0
0
0
0
0
-10
-20
46
0
0
0
0
0
0
0
10
5
0
0
0
0
0
0
-5
11
23
0
0
0
0
0
0
2
-4
26
0
0
0
0
0
-2
65
23
-24
0
0
0
0
0
0
-1
-37
1
0
0
0
0
0
0
-1
-36
45
0
0
0
0
0
0
-14
4
5
0
0
0
0
0
0
-90
13
71
0
0
0
0
0
0
5
-5
54
0
0
0
0
0
-1
0
-24
54
0
0
0
0
-9
1
-5
-12
-26
0
0
0
0
6
-5
-36
3
-7
0
0
0
0
-1
-2
-14
-10
32
0
0
0
0
0
0
15
-14
16
0
0
0
0
0
0
2
-44
22
0
0
27
0
0
0
-41
51
-6
0
0
0
0
0
0
-27
13
-11
0
0
0
0
0
0
17
2
-21
0
0
0
0
0
0
-16
-33
47
0
0
0
0
0
0
-5
-45
20
0
0
0
0
0
2
0
-33
-47
0
0
0
0
0
0
-14
-12
26
0
0
0
0
0
0
30
23
-32
0
0
32
0
0
2
-33
47
-76
0
0
0
0
0
0
-1
-5
19
0
0
0
0
0
0
-29
48
24
0
0
0
0
0
0
-7
10
14
0
0
0
0
0
-3
-5
24
-16
0
0
0
0
0
-1
5
-4
49
0
0
0
0
0
0
31
-17
21
0
0
0
0
0
0
3
-46
64
0
0
1
0
0
0
23
-50
-7
0
0
0
0
0
0
-3
35
-15
0
0
0
0
0
0
-89
-15
43
0
0
0
0
0
0
2
-24
32
0
0
-2
0
0
-3
-23
16
47
0
0
0
0
0
0
51
13
9
0
0
0
2
0
0
-20
-27
34
0
0
0
0
0
0
22
4
19
0
0
-24
0
0
0
1
-14
45
0
0
0
0
0
0
-14
9
26
0
0
0
0
0
0
-3
-39
59
0
0
0
0
0
0
89
-18
-40
0
0
35
20
27
-25
-20
-58
10
0
0
0
0
0
4
0
-43
68
0
0
0
0
0
0
-7
-64
0
0
0
0
0
0
0
-2
58
-21
0
0
0
0
0
8
1
-49
23
0
0
0
0
0
0
0
-2
-35
0
0
0
0
0
0
-1
11
-33
0
0
0
0
0
0
1
3
-17
0
0
0
0
0
8
-16
-33
40
0
0
0
0
0
0
-2
0
-14
0
0
0
0
0
0
0
-21
59
0
0
0
0
0
0
0
1
32
0
0
0
0
0
0
-2
-11
-34
0
0
0
0
0
0
-1
4
14
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
-2
1
-3
52
0
0
0
0
0
-12
-22
20
49
0
0
0
0
0
-3
0
7
-4
0
0
0
0
0
0
2
-23
37
0
0
0
0
0
0
6
6
0
0
0
0
0
0
-2
31
-19
-2
0
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
-8
25
-28
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
34
-16
-1
0
0
0
0
0
0
5
5
-26
0
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
2
-7
4
0
0
0
0
0
0
27
-77
7
0
0
0
0
3
0
0
-7
23
0
0
0
0
0
0
4
-9
-33
0
0
0
0
0
1
7
0
-16
0
0
0
0
-22
-67
14
26
43
0
0
0
0
0
0
-1
-21
7
0
0
0
2
0
0
3
-75
0
0
0
0
0
0
0
2
-10
60
0
0
0
0
0
0
-20
-20
-4
0
0
0
0
0
0
0
18
17
0
0
0
0
0
0
-23
-5
4
0
0
0
0
0
0
-4
-5
20
0
0
0
0
0
1
-16
-1
18
0
0
0
0
0
-1
1
-2
41
0
0
0
0
0
0
0
5
10
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
1
5
6
-4
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
11
0
0
0
0
0
1
-1
6
-11
0
0
0
0
0
0
2
4
17
0
0
0
0
0
0
-2
-5
-6
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
2
-8
10
0
0
0
0
0
0
1
-5
7
0
0
0
0
0
0
0
8
-22
0
0
0
0
0
0
2
3
11
0
0
0
0
0
0
-2
-33
21
0
0
0
0
0
0
5
2
33
0
0
0
5
0
0
-2
-4
-24
0
0
0
0
0
0
-1
-4
-1
0
0
0
0
0
0
-2
-2
18
0
0
0
0
0
0
2
-2
-46
0
0
0
-4
0
0
0
9
-18
0
0
0
0
0
0
-4
-9
45
0
0
0
24
4
-52
12
-97
7
0
0
0
0
0
0
0
-43
71
0
0
0
0
0
0
-2
-23
47
0
0
0
0
0
0
0
41
-59
0
0
0
0
0
0
-4
1
-21
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
-16
43
0
0
0
0
0
0
0
-23
-1
0
0
0
0
0
0
11
17
-18
0
0
0
0
0
-4
0
-4
-1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-2
0
1
-27
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
19
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
3
-1
-14
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-14
1
2
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
1
-39
0
0
0
0
0
0
0
0
0
21
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
-13
0
0
0
0
0
0
3
-2
26
0
0
0
0
0
0
0
0
16
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
-47
1
12
31
16
0
0
0
0
0
-8
54
-17
17
0
0
0
0
0
5
-39
-15
33
0
0
0
0
0
3
-28
29
7
0
0
0
0
0
25
70
59
-62
0
0
0
0
0
-1
27
-32
-12
0
0
0
0
0
-4
14
-5
37
0
0
0
0
0
2
24
-14
-34
0
0
0
0
0
11
-49
40
27
0
0
0
0
0
2
-34
6
43
0
0
0
0
0
-2
-5
-4
35
0
0
0
0
0
5
5
-17
28
0
0
0
0
0
-3
30
-51
12
0
0
0
0
0
0
2
0
-47
0
0
0
0
0
2
25
-13
14
0
0
0
0
0
17
-22
-1
7
0
0
0
0
0
-32
-30
27
32
0
0
0
0
0
-11
87
-23
-17
0
0
0
0
0
0
-14
15
-64
0
0
0
0
0
0
2
-35
-1
0
0
-4
0
0
-2
-4
-34
9
0
0
0
0
0
-10
-33
14
44
0
0
0
0
0
0
-11
10
-23
0
0
0
0
0
5
-23
14
-17
0
0
0
0
0
-82
38
-43
29
0
0
0
0
0
6
40
22
-60
0
0
0
0
0
-5
-1
-20
22
0
0
0
0
0
-3
-18
-20
8
0
0
0
0
0
2
-33
-10
44
0
0
0
0
0
0
23
-83
-13
0
0
0
0
0
-19
27
-45
23
0
0
0
0
2
38
-43
7
-17
0
0
-1
-4
-16
-23
10
10
12
0
0
0
0
4
-19
2
-26
37
0
0
0
0
0
0
0
1
56
0
0
0
0
0
3
0
-5
33
0
0
0
0
0
-2
69
-14
-10
0
0
0
0
0
-1
0
2
35
0
0
0
0
0
0
20
-5
19
0
0
0
0
0
-2
1
-6
1
0
0
0
0
0
14
41
-33
50
0
0
0
0
0
1
-6
0
-24
0
0
0
0
0
0
1
-6
75
0
0
0
0
-2
7
-1
18
-4
0
0
0
0
0
4
-10
-39
84
0
0
0
0
0
-3
-3
0
10
0
0
0
0
0
-6
-1
6
6
0
0
0
0
0
0
3
4
-5
0
0
0
0
0
2
-39
15
-28
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-3
11
33
0
0
0
0
0
0
1
-7
6
0
0
0
0
0
-6
14
-1
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
14
14
0
0
0
0
0
0
0
-3
-23
0
0
0
0
-1
21
-21
48
-43
0
0
0
0
0
-3
0
0
-53
0
0
0
0
0
0
-2
14
-14
0
0
0
0
-4
0
0
0
-5
0
0
0
0
0
0
20
-27
-29
0
0
0
0
0
1
0
3
-31
0
0
0
0
1
0
-2
0
23
0
0
0
0
-9
16
1
8
-23
0
0
0
0
-2
22
54
-6
-12
0
0
0
0
0
0
0
21
-1
0
0
0
0
0
0
-1
-51
33
0
0
0
0
0
0
0
-16
-21
0
0
0
0
0
0
-5
-69
54
0
0
0
0
0
0
2
-8
4
0
0
0
0
0
0
0
8
15
0
0
0
0
0
0
1
2
4
0
0
0
0
0
-2
6
-2
2
0
0
0
0
0
0
4
-19
40
0
0
0
-1
0
0
-2
1
48
0
0
0
0
0
0
-6
8
-20
0
0
0
0
0
0
-8
9
-34
0
0
0
0
0
0
2
-7
-24
0
0
0
1
0
0
0
13
32
0
0
0
0
0
0
0
-2
76
0
0
0
0
0
1
5
1
-45
0
0
0
0
0
0
1
8
-14
0
0
0
-4
0
0
-3
10
37
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
0
-14
6
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
-6
-1
44
0
0
0
0
0
0
0
-6
43
0
0
0
0
0
0
0
18
23
0
0
0
0
0
0
1
-19
-71
0
0
0
-19
0
0
0
-8
30
0
0
0
0
0
0
0
5
5
0
0
0
2
0
-1
0
-19
-8
0
0
0
0
0
0
0
3
70
0
0
0
21
0
0
0
-7
21
0
0
0
0
0
0
0
0
-4
0
0
0
-12
0
14
-1
-61
27
0
0
0
0
0
3
0
43
-26
0
0
0
0
0
0
1
-6
22
0
0
0
0
0
0
1
-30
-7
0
0
0
0
0
0
-2
-40
-3
0
0
0
0
0
0
0
-21
39
0
0
0
0
0
0
-1
-18
4
0
0
0
0
0
0
0
15
-6
0
0
0
0
0
-3
7
-6
-43
0
0
0
0
0
1
0
-2
55
0
0
0
0
0
0
0
-7
-23
0
0
0
0
0
-1
-2
-7
42
0
0
0
0
0
0
-2
26
47
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
2
33
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
5
-2
-13
29
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
1
2
14
0
0
0
0
0
0
0
-3
11
0
0
0
0
0
0
-6
30
-6
0
0
0
0
0
0
0
-2
-20
0
0
0
0
0
0
-2
-3
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
9
0
-49
4
0
0
0
0
0
0
0
-5
15
0
0
0
0
0
0
0
18
2
0
0
0
0
0
0
0
11
10
0
0
0
0
0
0
-2
45
-54
0
0
0
0
0
-1
0
13
3
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
-3
7
0
0
0
0
-11
33
2
-46
22
0
0
0
0
0
3
-25
-28
-5
0
0
0
0
0
0
11
36
-28
0
0
0
0
0
0
-3
2
-15
0
0
2
0
0
0
23
9
33
0
0
0
0
0
1
-2
-9
29
0
0
0
0
0
0
-5
10
-2
0
0
0
0
0
0
0
-11
18
0
0
0
0
0
-7
35
-4
-19
0
0
0
0
0
-1
5
-38
-10
0
0
0
0
0
0
2
-15
3
0
0
0
0
0
-2
0
-46
81
0
0
0
0
0
-2
-29
20
11
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-23
10
0
0
0
0
0
1
2
-3
11
0
0
0
0
0
2
47
-21
-10
0
0
0
0
0
1
8
8
-2
0
0
0
0
0
0
-1
-15
19
0
0
0
0
0
-1
-4
-3
23
0
0
0
0
0
3
-15
-10
0
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
1
4
-5
0
0
0
0
0
1
-3
1
1
0
0
0
0
0
-3
11
-41
11
0
0
0
0
0
2
-8
-43
16
0
0
0
0
0
0
0
5
35
0
0
0
0
0
-2
0
-51
2
0
0
25
0
0
0
5
17
-4
0
0
0
0
0
0
1
11
14
0
0
0
-1
0
0
3
13
-58
0
0
0
0
0
1
-2
-5
7
0
0
-44
-4
-3
-9
5
-53
22
0
0
0
0
0
6
0
-1
52
0
0
0
0
0
0
0
-26
37
0
0
0
0
0
0
0
9
-8
0
0
0
0
0
0
-9
11
49
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
5
-59
0
0
0
0
0
-1
0
-2
5
0
0
0
0
0
0
0
-2
33
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
14
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
-5
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
-1
-21
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
22
0
0
0
0
0
0
0
2
-71
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
-13
22
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
27
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-2
9
-9
0
0
0
0
0
0
0
2
25
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
-2
0
-1
0
0
0
0
0
-27
-26
40
23
0
0
0
0
0
-2
-3
0
50
0
0
0
1
0
0
0
2
-9
0
0
0
0
0
0
2
-5
-17
0
0
0
0
0
0
-10
-44
23
0
0
0
0
0
0
6
0
-25
0
0
0
0
0
0
0
10
7
0
0
0
0
0
0
0
0
11
0
0
0
0
0
1
4
5
5
0
0
0
0
0
0
0
-7
64
0
0
0
0
0
0
-1
-1
33
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
0
-1
-3
30
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
-12
0
0
0
0
0
0
1
14
-8
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-18
2
0
0
0
0
0
0
-1
-1
-18
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
-11
-4
0
0
0
0
0
0
0
0
33
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
14
0
0
0
-31
-1
13
-59
14
33
0
0
0
0
7
-3
0
-6
19
0
0
0
0
0
0
-4
-4
27
0
0
0
0
0
-1
-1
11
-20
0
0
0
0
0
0
-2
13
-7
0
0
0
0
0
0
-1
0
16
0
0
0
0
0
0
-1
3
48
0
0
0
0
0
-1
0
-3
1
0
0
0
0
0
0
-1
-3
37
0
0
0
0
0
3
0
0
-12
0
0
0
0
0
0
0
-9
51
0
0
0
0
0
0
0
-10
-10
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
23
0
0
0
0
0
4
0
-2
-5
0
0
0
0
0
0
2
-5
4
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
-14
19
0
0
0
0
0
0
0
8
14
0
0
0
0
0
-1
-6
6
6
0
0
0
0
0
1
1
-3
-11
0
0
0
0
0
0
0
0
-15
0
0
0
0
-5
0
0
0
-14
0
0
0
0
0
0
0
5
16
0
0
0
0
-2
-1
0
0
85
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
-18
0
0
0
0
0
-1
0
0
23
0
0
0
0
6
0
-5
-5
-3
0
0
0
0
-5
-64
60
-27
-7
0
0
0
0
-1
60
-2
80
-56
0
0
0
45
0
0
4
-12
-14
0
0
0
0
0
-43
8
30
1
0
0
1
0
0
1
-2
-38
15
0
0
0
0
0
10
-14
-35
41
0
0
0
0
0
-4
-18
-4
5
0
0
0
0
0
-6
1
-9
-2
0
0
0
0
0
-24
-108
-15
9
0
0
0
0
2
31
26
-5
-20
0
0
0
0
0
-3
8
-26
58
0
0
0
0
0
-1
1
-2
-11
0
0
0
0
0
14
78
-63
-20
0
0
0
0
0
0
6
0
4
0
0
0
0
0
-1
0
-17
17
0
0
0
0
0
32
5
-1
14
0
0
0
0
0
-44
16
-55
61
0
0
0
0
0
16
32
-19
-7
0
0
0
0
0
-5
15
-10
28
0
0
0
0
0
-2
-1
-15
53
0
0
0
0
0
3
52
-31
-36
0
0
0
0
0
-18
-32
34
1
0
0
0
0
0
0
16
5
-49
0
0
0
0
0
0
-1
2
14
0
0
0
0
0
10
-61
0
-2
0
0
0
0
-3
-33
14
4
25
0
0
0
0
0
-1
0
-19
-21
0
0
0
0
0
53
-19
-60
34
0
0
4
0
0
-4
-31
-4
25
0
0
0
0
-3
20
3
23
-34
0
0
0
-2
-1
0
-3
3
2
0
0
0
0
-1
-11
16
-47
32
0
0
-8
-27
-11
22
46
24
-44
0
0
0
0
-35
3
0
-24
46
0
0
0
0
0
0
0
-14
18
0
0
0
0
0
-1
3
20
5
0
0
0
0
0
0
101
-13
-15
0
0
0
0
-1
-3
1
1
0
0
0
0
0
0
0
11
-25
8
0
0
0
0
0
0
0
3
3
0
0
0
0
0
24
15
-15
-22
0
0
0
0
0
1
0
-4
14
0
0
0
0
0
0
0
23
-9
0
0
0
0
0
2
-1
-11
-2
0
0
0
0
0
0
1
57
11
0
0
0
0
0
-9
10
0
8
0
0
0
0
0
0
0
1
13
0
0
0
0
0
3
0
1
1
0
0
0
0
-3
54
11
6
-15
0
0
0
0
1
1
0
-21
10
-14
0
0
0
0
0
-2
-24
8
3
0
0
0
0
0
2
-13
43
4
0
0
0
0
0
19
5
-30
6
0
0
0
-1
0
0
-39
33
-22
0
0
0
-4
-1
-16
-48
6
41
0
0
0
0
3
-1
-5
-20
9
0
0
0
0
19
28
-12
-18
22
0
0
0
-6
0
0
14
81
-28
0
0
0
0
0
0
25
24
-49
0
0
0
1
-1
0
-31
-31
31
0
0
0
0
1
24
82
4
8
0
0
0
-5
-2
-8
-4
-1
8
0
0
0
3
0
-34
-5
89
15
0
0
0
-43
3
0
-36
10
10
0
0
0
57
-25
52
54
55
22
0
0
0
0
0
2
-72
26
0
0
0
32
0
1
0
-4
12
0
0
0
0
0
0
-2
16
5
0
0
0
0
0
0
-33
-48
57
0
0
0
0
0
0
2
-6
-32
0
0
0
0
0
0
-3
57
15
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
1
-5
-9
45
0
0
0
0
0
0
0
14
-43
0
0
0
-1
0
0
0
-17
11
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
21
0
0
0
-16
0
0
0
5
-24
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
-2
-5
25
20
0
0
0
0
0
0
-1
5
-27
-11
0
0
30
0
0
0
13
-78
-21
0
0
0
0
0
0
20
23
-11
0
0
0
0
0
4
25
-71
-43
0
0
0
0
0
0
-66
53
-20
0
0
-2
0
0
0
-7
-100
10
0
0
0
0
0
0
2
17
2
0
0
0
0
1
0
-60
-63
19
0
0
0
0
0
3
-2
-2
-31
0
0
-30
0
0
0
-15
-4
28
0
0
0
0
0
0
1
-4
28
0
0
-2
0
0
0
2
-16
-14
0
0
0
0
0
0
-14
46
16
0
0
-28
0
0
0
16
-5
27
0
0
0
0
0
0
-87
65
-14
0
0
63
-2
43
-1
-24
5
-4
0
0
0
0
2
0
11
31
0
0
0
0
0
0
0
-43
15
0
0
0
0
0
0
0
-45
20
0
0
0
0
0
0
3
-84
5
0
0
0
0
0
0
0
14
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
-6
32
0
0
0
0
0
0
0
11
-13
0
0
0
0
0
0
0
-20
-8
0
0
0
0
0
-1
0
-3
4
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
-8
10
0
0
0
0
0
-1
0
-3
8
0
0
0
0
0
-8
0
-5
62
0
0
0
0
0
-4
-4
28
-47
-18
0
0
0
0
0
-2
-34
3
-1
0
0
0
0
0
0
52
-8
-52
0
0
0
0
0
7
-92
-3
1
0
0
0
0
0
0
10
-2
14
0
0
0
0
0
-1
-31
-15
-5
0
0
0
0
0
0
0
-2
-16
0
0
0
0
0
0
-19
2
23
0
0
0
0
0
0
9
83
-80
0
0
0
0
0
-1
-21
-43
43
0
0
0
0
1
1
-6
13
21
0
0
0
0
-1
0
5
8
46
0
0
0
0
0
0
-14
21
13
0
0
0
0
0
0
13
25
1
0
0
0
0
0
0
2
0
7
0
0
0
-2
43
-26
26
17
-12
0
0
0
0
1
-8
33
-26
0
0
0
0
0
0
-22
13
-24
0
0
0
0
0
0
9
-10
1
0
0
-5
0
0
0
79
-2
22
0
0
0
0
0
0
7
-2
-4
0
0
0
0
0
0
1
-11
-15
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
17
2
0
0
0
0
0
0
0
0
-25
9
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
-2
-32
6
0
0
0
0
0
0
4
14
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
-11
0
0
0
0
0
0
-1
18
45
-30
0
0
0
0
0
-3
15
15
52
-14
0
0
0
0
0
-4
-5
7
-1
0
0
0
0
0
2
-10
-5
-24
0
-8
0
0
0
3
4
-29
-1
0
0
0
0
0
-4
4
4
-57
0
0
0
0
0
2
-66
7
-2
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
-1
-11
-3
1
0
0
0
0
0
10
-42
57
-39
0
0
0
0
0
0
35
-20
13
0
0
0
0
0
-4
31
15
-25
0
8
0
0
0
9
-56
-9
11
0
0
0
0
0
1
-15
49
-88
0
0
0
0
0
-1
-25
17
12
0
0
0
0
0
0
-51
2
4
0
19
11
0
-31
-15
-91
52
14
0
0
0
0
0
-4
14
13
0
0
0
0
0
0
2
0
28
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
14
-71
96
0
0
0
0
0
0
-3
3
-1
0
0
0
0
0
0
7
-44
-17
0
0
0
0
0
0
1
-2
-6
0
0
0
0
0
0
10
-20
20
0
0
0
0
0
0
0
-5
19
0
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
-5
11
-29
0
0
0
0
0
0
21
-22
8
0
0
0
0
0
0
-1
0
14
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
9
0
0
0
0
-1
14
-67
21
-14
0
0
0
0
0
0
3
-33
-42
29
0
0
0
0
0
0
13
43
-50
0
0
0
0
0
-6
14
3
-34
0
0
0
0
0
-2
19
-20
41
0
0
0
0
0
0
0
14
-60
0
0
0
0
0
-1
2
22
-47
0
0
0
0
0
0
-15
-1
18
0
0
0
0
2
-5
14
2
-33
0
0
0
0
0
0
-2
-41
1
0
0
0
0
0
0
2
23
-54
0
0
0
0
0
0
17
-4
-56
0
0
0
0
0
-2
12
11
-20
0
0
0
-2
0
0
1
-19
-11
0
0
0
0
0
1
-35
3
65
0
0
0
0
0
0
5
9
-84
0
0
0
-2
1
-51
-43
-19
16
0
0
0
0
1
4
1
78
0
0
0
-7
0
0
-2
-7
44
0
0
0
0
0
0
1
-46
4
0
0
0
0
0
0
-2
-83
41
0
0
0
0
0
0
0
9
17
0
0
0
0
0
0
2
-34
14
0
0
0
0
0
0
3
-5
-2
0
0
0
0
0
1
-2
14
-31
0
0
0
0
0
0
0
-2
66
0
0
0
0
0
0
0
-1
-21
0
0
0
0
0
0
-1
3
-5
0
0
0
0
0
0
5
-5
-15
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
14
0
0
0
0
0
0
2
-8
33
0
0
0
0
0
0
0
-35
-10
4
0
0
0
0
0
0
-26
68
-2
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
0
2
14
-14
0
0
0
0
0
0
-6
-6
-1
0
0
0
0
0
3
4
26
-23
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-5
-33
73
0
0
0
0
0
-2
7
18
-8
0
0
3
0
0
0
15
-23
8
0
0
0
0
0
0
5
2
-22
0
0
0
0
0
0
3
-4
-25
0
0
0
0
0
-2
8
-30
-14
0
0
-5
0
0
0
-7
-5
50
0
0
0
0
-2
0
2
-4
-39
0
0
32
-8
-19
43
-62
-15
-6
0
0
0
0
0
0
-18
33
0
0
0
0
0
0
0
19
42
0
0
0
0
0
0
0
-3
11
0
0
0
0
0
0
-4
-37
29
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
1
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-3
-2
-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
0
0
6
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
-1
54
1
0
0
0
0
0
0
-3
6
-22
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
-3
-1
-23
0
0
0
0
0
0
0
-11
11
0
0
0
0
0
0
2
-4
-62
0
0
0
0
0
0
1
3
-56
0
0
0
0
0
0
0
-2
-57
0
0
0
0
0
0
-14
-4
64
0
0
0
0
0
0
-2
1
-60
0
0
0
0
-2
0
1
-6
53
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
-3
-15
19
0
0
0
1
0
0
-2
-6
-20
0
0
0
-25
57
12
-76
-5
0
0
0
0
0
11
-18
-6
50
0
0
0
0
0
0
-8
-13
-5
0
0
0
0
0
0
-11
26
-6
0
0
0
0
0
0
74
-24
-29
0
0
0
0
0
1
-2
32
10
0
0
0
0
0
0
41
-5
14
0
0
0
0
0
-2
-5
-8
1
0
0
0
0
0
-9
44
-44
2
0
0
0
0
0
0
18
18
5
0
0
0
1
0
0
0
-5
-16
0
0
0
0
0
2
-1
-2
-17
0
0
0
0
0
-2
-33
-92
56
0
0
0
0
0
0
-4
-1
-4
0
0
0
0
0
0
4
0
-11
0
0
0
0
0
4
2
-1
7
0
0
0
0
0
-27
46
18
-100
0
0
0
0
0
-3
32
10
36
-7
0
0
0
0
0
1
-31
13
23
0
0
0
0
-2
8
-7
2
27
0
0
0
0
0
-1
19
15
-49
0
0
0
0
0
-19
30
9
-11
0
0
0
0
0
-2
-7
2
46
0
0
0
0
1
0
-13
0
-6
0
0
0
0
2
-14
-7
6
-5
0
0
0
0
0
0
10
-25
-6
0
0
0
0
0
2
-16
14
33
0
0
0
0
-1
-5
-13
-6
-15
0
0
0
0
0
15
5
0
-81
0
0
0
0
0
-4
14
34
-68
0
0
0
0
0
-2
0
5
-58
0
0
0
1
1
0
-2
1
-49
0
39
-5
4
34
-37
-9
-47
-27
0
0
0
-32
5
0
-16
61
0
0
0
0
0
0
1
31
-38
0
0
0
0
0
0
0
-7
-52
0
0
0
0
0
0
15
-21
7
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
-1
-5
-22
33
0
0
0
0
0
2
0
1
3
0
0
0
0
0
32
-21
-20
16
0
0
0
0
-2
0
0
-22
76
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
0
4
23
0
0
0
0
0
3
-6
-33
8
0
0
0
0
-2
1
0
-2
33
0
0
0
0
0
0
2
-2
-50
0
0
0
0
-1
-5
3
3
8
0
0
0
0
4
-10
31
1
-3
0
0
0
0
-2
-1
-7
1
63
-26
0
0
0
0
0
0
25
11
12
0
0
0
0
0
0
-4
27
-27
0
0
0
0
0
26
28
56
-80
0
0
0
0
0
0
14
13
-70
0
0
0
0
0
1
-69
37
21
0
0
0
0
-1
0
0
17
16
0
0
0
1
1
-17
16
71
33
0
0
0
3
1
0
-5
-82
25
-15
0
0
0
0
0
-14
32
-35
-23
0
0
0
4
0
-33
-45
-4
12
0
0
0
0
-3
2
46
-14
9
0
0
0
0
2
-1
2
-19
-9
0
0
0
-1
1
-55
76
-6
20
0
0
14
2
3
21
37
67
-18
0
0
11
6
24
23
56
-27
25
0
0
0
0
1
-36
-32
0
0
0
7
0
0
-3
-30
7
0
0
0
0
0
0
0
6
15
0
0
0
0
0
-1
20
-13
-58
0
0
0
0
0
0
-1
-9
72
0
0
0
0
0
0
0
-26
12
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
-3
-22
-5
14
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
13
14
0
0
0
0
0
0
3
-17
-3
0
0
0
0
0
2
0
5
18
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
10
0
0
0
0
0
-2
-1
0
-15
0
0
0
0
0
0
1
52
22
-1
0
0
-16
0
0
0
-53
114
-76
0
0
0
0
0
0
16
27
-32
0
0
0
0
0
-3
-33
0
-22
0
0
0
0
0
0
-31
63
-11
0
0
-2
0
0
0
16
-44
20
0
0
0
0
0
0
-8
23
-64
0
0
0
0
0
6
18
43
-72
0
0
0
0
0
-3
-38
43
13
4
0
-1
0
0
-1
24
43
16
-43
0
0
0
0
0
-14
22
-53
50
0
-4
0
0
0
16
42
-96
32
0
0
0
0
0
-14
-5
15
-54
0
7
0
0
0
-2
-19
15
-14
0
0
0
0
0
-37
-41
21
22
0
-40
-7
29
18
-59
14
4
24
0
0
0
0
-2
-2
49
0
0
0
0
0
0
5
-78
36
0
0
0
0
0
0
0
64
-57
0
0
0
0
0
0
-13
43
15
0
0
0
0
0
0
0
-11
-6
0
0
0
0
0
0
-1
5
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-27
2
5
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
0
8
-31
0
0
0
0
1
0
0
9
-24
0
0
0
0
0
0
-1
-2
-8
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
15
0
0
0
0
2
3
0
0
-13
0
0
0
0
0
2
0
-10
-41
5
0
0
0
0
0
3
32
-25
45
0
0
0
0
0
0
19
-126
-4
0
0
0
0
0
-10
-67
48
48
0
0
0
0
0
0
8
21
-72
0
0
0
0
0
0
-9
21
-51
0
0
0
0
0
0
-2
1
-14
0
0
0
0
0
-1
-14
32
-9
0
0
0
0
0
0
2
-29
14
5
0
0
0
0
0
-5
1
-117
43
0
0
0
0
0
-30
-1
56
-9
0
0
0
0
0
47
-11
-71
-24
0
0
0
0
0
-1
1
-16
34
0
0
0
0
0
-4
-26
-33
47
0
0
0
0
0
9
-1
-12
-36
0
0
19
10
31
-59
93
-23
-27
0
0
0
-4
-9
78
-33
0
0
0
0
0
0
1
-27
-1
0
0
0
0
0
0
-16
-49
5
0
0
-16
0
0
0
21
-5
32
0
0
0
0
0
0
14
-10
7
0
0
0
0
0
0
-7
-22
0
0
0
0
0
0
0
6
-10
23
0
0
0
0
0
-1
-14
-15
-22
0
0
0
0
0
-1
14
-27
49
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
6
-23
37
0
0
-34
0
0
-1
7
8
4
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
5
0
0
0
0
0
-1
2
-2
-39
55
0
0
0
0
0
1
-63
66
-2
0
0
0
0
0
0
-14
-4
11
0
19
0
0
0
1
-50
-13
7
0
0
0
0
0
-5
14
-1
-16
0
0
0
0
0
-1
3
15
-1
0
0
0
0
0
0
5
-3
2
0
-14
0
0
0
-1
-30
-7
-10
0
0
0
0
0
2
-11
54
6
10
0
1
0
0
1
-48
4
-14
22
0
0
0
0
0
39
-11
-19
-30
36
0
0
0
0
-1
-20
-8
-53
0
0
0
0
0
-14
14
-15
74
0
0
0
0
-1
15
15
-43
-57
0
0
0
0
0
1
-19
-27
15
-49
13
-7
-121
-55
-72
4
22
19
0
0
6
0
-2
-43
59
0
0
0
0
0
0
-1
13
49
0
0
0
0
1
0
0
17
-23
0
0
0
0
0
0
-43
97
2
0
0
0
0
0
2
6
-39
14
0
0
0
0
0
0
4
-13
-27
0
0
0
0
0
0
1
-7
5
0
0
0
0
0
4
17
5
-56
0
0
0
0
0
-1
-1
23
-16
0
0
0
0
0
0
0
-9
-19
0
0
0
0
0
0
0
-3
41
0
0
0
0
0
0
-8
-36
15
0
0
0
0
0
0
-4
-1
15
0
0
0
0
0
0
0
15
-15
0
0
0
0
0
-2
1
0
3
0
0
0
0
-3
1
-36
31
-18
0
0
0
0
0
1
-5
-16
50
24
0
0
0
0
0
0
-65
21
23
0
0
0
0
0
1
-11
-35
5
0
0
0
0
-2
4
-73
-1
-15
0
0
0
0
0
-2
0
2
7
0
0
0
0
0
0
13
-18
11
0
0
0
0
1
0
0
-9
-19
0
0
0
0
-1
5
-57
66
-77
0
0
0
0
-1
0
0
-12
-16
66
0
0
0
0
0
16
3
-80
14
0
0
0
0
0
2
27
-76
9
0
0
0
-1
-3
-55
56
3
-74
0
0
2
0
0
3
4
-41
15
0
0
0
-1
0
6
-27
-33
27
0
0
-15
-2
0
4
-21
46
29
0
0
-7
-29
-15
9
48
-12
25
0
0
0
0
9
-9
8
0
0
0
10
0
0
0
-26
47
0
0
0
0
0
0
2
-4
-8
0
0
0
2
0
0
-4
14
44
0
0
0
0
0
1
1
-17
13
0
0
0
0
0
0
3
6
-21
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
48
-44
-5
0
0
0
0
0
0
0
1
43
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-1
26
0
0
0
0
0
-2
0
-6
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
-5
0
-2
-25
4
-5
0
0
0
0
0
0
-9
-4
2
22
0
0
24
0
0
0
23
-36
-23
0
0
0
0
0
0
-14
5
-7
0
0
0
0
-1
-2
26
1
-84
0
0
0
0
0
0
-2
-9
22
0
0
-9
0
0
2
4
5
-40
0
0
0
0
0
0
0
-11
-25
0
0
0
0
0
2
6
-5
-36
0
0
0
0
0
-1
3
-38
-12
40
0
-26
0
0
0
0
-58
28
27
0
0
0
0
0
-5
-1
-20
-23
0
-15
0
0
-1
-1
7
-6
4
0
0
0
0
0
2
-14
22
27
0
-11
0
0
0
-8
-5
-9
61
0
0
-5
0
-1
9
3
7
8
0
-41
27
-33
-17
-37
-20
31
3
0
0
-1
0
-1
17
97
0
0
0
0
0
0
-2
43
-26
0
0
0
0
0
-4
4
-48
45
0
0
0
0
0
0
3
-17
31
0
0
0
0
0
-3
1
-15
9
0
0
0
0
0
0
-4
2
-51
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
-1
4
-6
33
0
0
0
0
1
-1
0
10
-14
0
0
0
0
0
1
0
6
40
0
0
0
0
-3
0
0
10
-18
0
0
0
0
0
-1
-6
51
-5
0
0
0
0
0
0
-2
1
2
0
0
0
0
-1
2
0
-3
6
0
0
0
0
19
-11
0
0
-17
0
0
0
0
-1
-2
-26
34
50
0
0
0
0
10
2
0
-8
2
31
0
0
0
0
0
-1
-50
-14
-6
0
0
0
0
0
0
4
1
-3
0
0
0
2
0
-9
-11
-5
-43
0
0
0
0
0
0
-2
5
26
0
0
0
0
0
0
1
-11
21
0
0
0
0
0
-1
0
1
-85
0
0
0
1
-2
4
11
-5
-44
0
0
0
-32
1
0
0
36
-36
16
0
0
0
0
0
-14
52
-76
22
0
0
4
-1
0
0
13
-20
-6
0
0
0
0
-3
-8
3
-3
2
0
0
-3
0
0
1
-9
15
-19
0
0
0
0
3
-5
5
-38
-8
0
0
-15
0
-1
4
7
8
-23
0
0
-17
-17
33
11
-26
-20
35
0
0
37
1
14
-19
10
0
0
0
41
-16
2
-61
36
18
0
0
0
0
-26
9
38
-23
10
0
0
-26
42
-5
-36
-48
-1
20
0
0
0
0
54
-85
14
-24
30
0
0
0
-6
-25
22
-5
-73
28
0
0
0
0
-47
-48
94
5
-31
0
0
-29
-26
-26
-46
5
-2
2
0
0
0
0
-23
5
-28
10
5
0
0
0
52
20
53
145
6
-63
0
0
0
0
5
-48
-58
1
33
0
0
-19
-15
1
-40
13
-25
-26
0
0
0
0
13
19
2
-6
23
0
0
0
37
-21
-23
-49
74
2
0
0
0
0
42
84
-2
-121
-30
0
0
-6
-6
-13
-58
43
35
-13
0
0
0
0
47
57
-1
2
39
-7
0
0
-55
-33
-10
-69
-78
27
7
0
0
0
-14
-63
13
-20
97
-4
0
-39
-91
14
-23
18
39
-29
8
0
0
0
26
14
29
-34
-14
0
0
0
51
14
-63
70
-43
1
-16
0
0
0
1
12
-10
8
82
-16
0
84
68
7
53
-8
11
-43
-11
0
0
0
7
-34
47
-23
-12
-10
18
0
52
-23
-28
-29
27
-38
-12
16
0
0
67
66
-28
-24
-2
0
-13
45
-53
-25
30
10
-73
-23
25
-10
0
0
26
-29
34
-29
30
-9
-4
0
-55
10
-45
-5
-11
-16
-1
18
0
0
-27
53
37
-32
0
-20
7
-35
36
-3
-29
28
29
20
-27
-24
0
0
9
-36
-13
-7
24
0
0
0
0
-78
-3
-18
27
6
0
0
0
0
-15
23
75
-5
10
0
0
0
0
-13
-9
35
-34
4
0
0
0
0
4
68
100
-68
17
0
0
0
0
29
57
-17
-50
6
0
0
0
0
-4
58
1
-10
-56
0
0
0
0
3
-33
19
-45
-29
0
0
0
0
19
-15
5
-21
2
0
0
0
0
0
-18
11
13
-7
0
0
0
0
23
-54
1
44
-10
0
0
0
0
-4
3
37
64
-63
0
0
0
0
-30
23
38
-37
39
0
0
0
0
0
-1
-11
-2
30
0
0
0
0
2
76
71
-47
2
0
0
0
0
1
-9
-71
0
0
0
0
0
0
-36
14
-2
63
43
0
0
0
0
-2
50
-60
-2
-16
0
0
0
0
-9
43
23
-48
14
0
0
0
0
-1
4
53
-30
57
0
0
0
0
2
45
56
-17
21
0
0
0
0
-1
0
-5
-62
58
0
0
0
0
17
33
-51
67
-29
0
0
0
0
-8
-16
-27
45
6
0
0
0
0
45
-62
17
-41
63
0
0
0
0
0
26
-18
-53
38
0
0
0
0
-33
50
9
-80
98
0
0
0
0
0
-38
43
-35
7
0
0
0
0
22
-8
45
10
-36
0
0
0
0
63
-7
67
3
-28
0
0
0
0
32
-28
59
-104
69
0
0
0
0
-1
3
74
20
-2
0
0
0
0
0
-9
-73
-42
19
0
0
0
-21
19
77
-46
12
22
0
0
0
0
14
29
-10
-51
8
0
0
0
14
0
-8
66
-20
24
0
0
0
0
0
-3
-10
-44
10
0
0
0
21
0
9
-72
2
10
0
0
0
0
0
-16
30
-14
-19
0
0
0
-10
0
-6
37
30
-56
0
0
0
0
0
-6
50
10
9
0
0
0
30
1
7
19
-48
-24
0
0
0
0
0
18
55
-73
-33
0
0
0
17
0
24
-85
-54
64
0
0
0
0
0
0
12
-75
23
0
0
0
-38
0
-27
44
33
5
0
0
0
0
0
2
61
4
-62
0
0
0
-39
0
-25
23
21
-12
0
0
0
0
0
9
40
-95
33
0
0
0
-51
-18
-28
-3
-29
146
0
0
0
0
1
-2
43
-25
39
0
0
0
4
0
-2
-93
-10
69
0
0
0
0
0
0
27
-19
48
0
0
0
8
0
6
-43
34
45
0
0
0
0
0
-3
-15
64
23
0
0
0
2
0
4
2
-34
25
0
0
0
0
0
-7
0
-5
27
0
0
0
21
-3
10
-26
13
20
0
0
0
0
0
1
44
-66
0
0
0
0
0
0
2
-20
40
-51
0
0
0
0
0
0
43
-53
32
0
0
0
123
0
-8
-13
-64
-3
0
0
0
0
3
0
-25
-28
2
0
0
0
-1
3
-167
-3
27
-19
0
0
0
0
-3
78
5
47
-48
0
0
0
0
0
-30
-10
-42
35
0
0
0
0
42
6
62
-5
-11
0
0
0
0
30
-5
-12
-16
19
0
0
0
0
68
-20
-28
-52
10
0
0
0
0
0
7
-5
23
-35
0
0
0
0
-6
14
-45
49
19
0
0
0
0
1
49
-15
-42
15
0
0
0
0
0
57
32
-48
11
0
0
0
0
0
1
8
-33
8
0
0
0
0
-12
-58
-57
52
21
0
0
0
0
0
-71
14
-47
82
0
0
0
0
-6
43
-51
-10
14
0
0
0
0
0
-2
-17
-14
12
0
0
0
0
1
-33
43
-28
-32
0
0
0
0
-1
2
12
7
-19
0
0
0
0
-1
-27
41
-49
-15
0
0
0
0
-1
4
8
-4
-2
0
0
0
0
-13
-3
-53
-96
47
0
0
0
0
2
0
-18
-12
4
0
0
0
0
-4
26
21
-139
32
0
0
0
0
0
-5
-11
-30
-18
0
0
0
0
2
-6
23
-25
33
0
0
0
0
0
-21
5
11
54
0
0
0
0
0
-1
3
-12
52
0
0
0
0
0
0
5
-5
-45
0
0
0
0
0
-3
-56
43
82
0
0
0
0
-4
-6
33
-34
24
0
0
0
0
-25
9
8
-38
59
0
0
0
0
1
-3
31
-22
-30
0
0
0
0
-29
-75
44
-22
45
0
0
0
0
35
3
42
-50
-17
0
0
0
0
1
77
-83
5
-8
0
0
0
-9
-4
-32
-78
8
9
0
0
0
0
14
75
27
6
-48
0
0
-43
-32
-4
68
61
24
-13
0
0
0
0
0
-5
56
-24
-2
0
0
0
-5
-2
20
96
-25
-45
0
0
0
0
3
13
80
28
-28
0
0
7
1
1
-26
-1
-1
7
0
0
0
0
0
0
9
22
-3
0
0
0
0
0
-16
43
-18
-14
0
0
0
0
0
-20
-25
-55
40
0
0
46
-13
0
-9
-50
14
43
0
0
0
0
0
-3
10
31
-33
0
0
0
2
0
-5
-29
-1
44
0
0
0
0
0
-10
55
33
-66
0
0
58
0
-1
-6
21
-41
-18
0
0
0
0
3
9
-45
-15
66
0
0
0
4
0
-9
87
28
-75
0
0
0
0
2
0
-110
60
52
0
0
22
-7
1
-33
-22
-23
33
0
0
0
0
0
4
44
-36
14
0
0
0
51
0
2
53
-72
-33
0
0
0
0
1
-3
-15
-21
0
0
0
40
0
2
1
-16
-48
-5
0
0
0
0
0
1
7
-10
-35
0
0
0
0
0
1
4
-1
35
0
0
0
0
0
1
-104
20
64
0
0
-34
2
0
51
-39
14
8
0
0
0
0
0
-2
-57
-5
45
0
0
0
4
0
-1
-8
-59
34
0
0
0
0
-8
2
-52
-5
28
0
0
-6
32
-28
-68
-98
-39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
61
43
38
-25
0
0
0
0
0
1
-9
-37
33
0
0
0
0
0
5
-17
-77
52
0
0
0
0
0
0
15
-10
-53
0
0
0
0
-45
-52
7
57
-4
0
0
0
0
0
-1
-14
-48
17
0
0
0
0
2
-2
-27
-31
21
0
0
0
0
2
-10
-12
-8
19
0
0
0
0
-6
53
44
27
-7
0
0
0
0
0
0
-15
33
23
0
0
0
0
0
14
2
-34
19
0
0
0
0
0
0
-3
-21
50
0
0
0
0
0
9
-14
0
-20
0
0
0
0
-1
0
1
14
14
0
0
0
0
0
-1
-1
10
41
0
0
0
0
0
-3
-19
70
-22
0
0
0
0
-62
8
81
-44
58
0
0
0
0
0
-8
-31
-50
14
0
0
0
0
0
-22
-22
30
20
0
0
0
0
0
6
-4
-66
48
0
0
0
0
-20
-100
41
-86
131
0
0
0
0
-8
4
-5
-5
35
0
0
0
0
0
0
18
23
14
0
0
0
0
0
0
36
45
10
0
0
0
0
90
-19
33
-14
7
0
0
0
0
0
-1
-3
16
-7
0
0
0
0
-3
-8
11
1
12
0
0
0
0
0
9
-19
-71
17
0
0
0
0
47
-66
-6
26
-7
0
0
0
0
-1
17
-30
-36
-14
0
0
0
0
20
-23
-8
-60
24
0
0
0
0
13
-2
-6
-24
45
0
0
0
0
0
0
3
-47
73
0
0
0
57
0
0
3
14
-5
0
0
0
0
0
0
-2
-22
-22
0
0
0
0
0
0
-45
43
0
0
0
0
0
0
-1
-6
23
-4
0
0
0
-2
0
-22
-38
13
82
0
0
0
0
0
0
8
-71
17
0
0
0
0
0
6
-22
-72
-20
0
0
0
0
0
1
11
-15
21
0
0
0
6
0
0
7
-38
-7
0
0
0
0
0
0
-4
-27
4
0
0
0
1
0
0
10
31
-47
0
0
0
0
0
0
0
-9
8
0
0
0
-4
0
0
0
-8
36
0
0
0
0
0
-1
0
-6
-5
0
0
0
-3
0
-1
-5
-14
48
0
0
0
0
0
0
-11
-5
9
0
0
0
44
0
-5
14
26
-47
0
0
0
0
0
0
7
-79
41
0
0
0
1
0
4
-6
27
45
0
0
0
0
0
0
7
3
17
0
0
0
-23
0
1
28
43
33
0
0
0
0
0
0
-3
-10
53
0
0
0
0
0
0
0
37
45
0
0
0
0
0
2
14
-2
-30
0
0
0
42
1
-54
-33
68
28
0
0
0
0
0
0
-3
-75
85
0
0
0
0
0
-1
-18
-91
23
0
0
0
0
0
0
22
-21
-31
0
0
0
12
0
-5
0
16
-32
0
0
0
0
-2
5
-5
1
-6
0
0
0
-15
0
9
-33
-4
-43
0
0
0
0
9
-27
-35
-17
14
0
0
0
0
0
0
0
-67
40
0
0
0
0
-2
-4
-1
3
40
0
0
0
0
0
10
-8
-40
11
0
0
0
0
-1
5
-2
52
-7
0
0
0
0
0
-9
2
-7
-23
0
0
0
0
-1
0
2
-16
-17
0
0
0
0
0
7
70
-47
-31
0
0
0
0
-1
1
2
-33
40
0
0
0
0
0
0
6
23
-27
0
0
0
0
0
0
-1
57
-43
0
0
0
0
0
3
-14
-42
92
0
0
0
0
2
51
43
-15
34
0
0
0
0
0
0
-31
5
52
0
0
0
0
1
5
-6
-17
-65
0
0
0
0
0
22
24
-3
-5
0
0
0
0
-1
-2
-14
-5
32
0
0
0
0
1
-1
3
-55
77
0
0
0
0
0
0
2
-6
33
0
0
0
0
0
-2
16
-5
-29
0
0
0
0
6
4
11
-11
-21
0
0
0
0
0
0
7
-27
-37
0
0
0
0
0
0
-4
41
-19
0
0
0
0
0
-6
-24
-25
21
0
0
0
0
5
-8
-32
40
17
0
0
0
0
0
0
-5
26
6
0
0
0
0
-1
1
-1
-85
47
0
0
0
0
1
4
0
58
-38
0
0
0
0
-4
18
-2
-87
23
0
0
0
0
0
-1
2
-3
5
0
0
0
0
3
-13
0
37
32
0
0
0
0
6
-22
27
6
-27
0
0
0
0
0
-2
1
11
27
0
0
0
0
0
0
-3
11
63
0
0
0
0
0
-3
-8
15
-2
0
0
28
-6
0
-5
53
-14
-18
0
0
0
0
0
1
-5
-26
21
0
0
0
1
0
0
-50
38
-45
0
0
0
0
0
0
0
-52
-7
0
0
-5
0
0
-52
-61
19
39
0
0
0
0
0
0
4
-8
-32
0
0
0
9
0
-1
-25
-29
29
0
0
0
0
0
0
-3
-65
-15
0
0
18
0
0
-1
7
-47
16
0
0
0
0
0
-2
-8
4
14
0
0
0
-1
0
0
14
17
-43
0
0
0
0
0
0
-10
-57
86
0
0
-4
0
0
6
63
-54
-1
0
0
0
0
0
3
1
44
-33
0
0
0
0
0
1
-54
-34
57
0
0
0
0
0
4
5
12
-13
0
0
58
0
0
-10
5
-76
40
0
0
0
0
0
0
-4
-9
21
0
0
0
0
0
0
-4
-36
5
0
0
0
0
0
-3
0
-14
13
0
0
-12
0
0
6
74
-34
-31
0
0
0
0
0
4
-2
-23
-51
0
0
0
-1
0
-2
-2
10
-11
0
0
0
0
0
-1
-7
-5
28
0
0
13
0
0
1
-68
-29
23
0
0
0
0
0
2
7
-22
10
0
0
0
-82
0
0
66
-41
4
0
0
0
0
0
3
-9
-26
-14
0
0
-30
-2
0
11
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
13
83
0
0
0
0
0
-17
38
-21
13
0
0
0
0
1
-37
-13
-12
47
0
0
0
0
-1
30
-43
-57
18
0
0
0
0
-19
-17
4
-4
105
0
0
0
0
1
-2
-70
-10
95
0
0
0
0
-5
-9
48
44
-16
0
0
0
0
0
-37
83
-3
-30
0
0
0
0
30
34
51
-38
-24
0
0
0
0
0
15
5
-8
71
0
0
0
0
0
27
5
-6
34
0
0
0
0
0
-6
-74
33
3
0
0
0
0
6
-87
46
5
69
0
0
0
0
0
0
24
-85
34
0
0
0
0
48
5
27
30
-20
0
0
0
0
0
-33
42
13
-3
0
0
0
0
24
-57
45
14
87
11
0
0
0
0
0
21
-75
-64
19
0
0
0
0
4
58
-39
41
9
0
0
0
-2
11
-12
-46
-14
9
0
0
0
-6
81
24
45
27
-4
0
0
0
-1
-4
28
-72
27
-17
0
0
0
-2
-24
3
14
127
-23
0
0
0
0
-14
32
12
14
-31
0
0
0
-20
-40
28
30
32
24
0
0
0
0
-1
9
-88
-23
22
0
0
0
-33
69
-5
-16
-28
5
0
0
0
0
23
14
3
-5
-51
0
0
0
57
108
-71
40
6
-19
0
0
0
-8
-14
-43
27
2
-5
0
0
0
-15
-22
18
-64
-47
25
0
0
0
-20
53
-27
61
6
10
0
0
0
0
14
4
-50
43
0
0
0
-49
0
59
14
-54
46
0
0
0
0
0
-2
-35
-82
74
0
0
0
24
0
-2
-25
-56
33
0
0
0
0
0
-4
6
48
-26
0
0
0
17
0
-4
3
4
-22
0
0
0
0
0
0
14
-32
-60
0
0
0
0
0
3
-69
33
-27
0
0
0
0
0
3
13
-73
29
0
0
0
-11
0
23
-31
-6
21
0
0
0
0
-5
6
-56
23
-14
0
0
0
3
0
2
17
-20
-23
0
0
0
0
0
0
-12
-8
14
0
0
0
-27
0
-31
45
-94
77
0
0
0
0
0
-21
-11
-22
15
0
0
0
24
0
16
16
-78
22
0
0
0
0
0
5
-7
53
1
5
0
0
3
-4
-41
0
-45
74
22
0
0
0
0
0
1
-75
24
-2
0
0
4
0
0
89
-37
16
-23
0
0
0
0
0
-7
46
-69
3
0
0
30
1
0
6
59
24
-45
0
0
0
0
-2
0
-19
-16
-29
0
0
-2
0
2
0
54
-3
-24
0
0
0
0
0
57
-71
-46
46
0
0
-51
-2
-6
-18
-21
62
8
0
0
0
3
-2
-4
12
-24
-5
0
0
2
0
0
13
156
-51
-76
0
0
0
0
2
21
34
-21
0
0
0
25
0
-2
-47
3
6
2
0
0
0
-1
29
14
-34
-31
-14
0
0
29
-5
-28
62
-9
43
-6
0
0
0
-1
-1
23
-11
-6
0
0
0
0
0
-1
14
31
21
0
0
0
0
10
-18
2
-14
8
0
0
0
0
1
13
-1
-5
106
0
0
0
0
-1
-15
-5
-27
-16
0
0
0
0
0
0
-13
2
-7
0
0
0
0
0
3
-5
4
-3
0
0
0
0
0
-45
32
-5
10
0
0
0
0
0
-1
-14
28
-15
0
0
0
0
0
-5
0
-10
38
0
0
0
0
-9
-21
3
-86
92
0
0
0
0
2
-3
-37
-13
16
0
0
0
0
0
-1
32
-49
19
0
0
0
0
0
3
1
8
31
0
0
0
0
-1
-14
-34
33
-15
0
0
0
0
-5
21
29
-47
21
0
0
0
0
-1
48
18
28
-73
-10
0
0
0
0
0
47
-38
71
-22
0
0
0
2
0
0
-35
-80
11
0
0
0
0
0
-25
-42
-4
-2
0
0
0
1
-4
29
-26
39
-4
0
0
0
0
0
-7
-26
-57
28
0
0
0
0
0
-25
-8
6
-10
0
0
0
1
-10
2
-50
44
-14
0
0
0
1
10
-27
12
-6
13
0
0
0
0
0
2
12
-17
-5
0
0
0
-2
-1
-8
-7
-5
15
0
0
0
-4
-8
4
-13
30
60
0
0
0
-5
-30
0
-10
33
8
0
0
0
0
-1
-1
-30
62
-36
0
0
0
-4
-4
15
-1
15
-25
0
0
0
-10
23
-41
-4
-11
-8
0
0
0
0
-1
13
34
32
0
0
0
0
0
3
-1
6
2
0
0
0
0
3
11
-40
-24
12
0
0
13
7
0
16
14
-12
-4
0
0
0
0
0
0
5
-15
24
0
0
0
-4
0
-1
-26
-43
50
0
0
0
0
0
0
-4
-45
1
0
0
0
0
-2
-14
14
-51
6
0
0
0
0
0
0
49
68
-4
0
0
0
0
0
-4
21
1
-8
0
0
0
0
0
-42
-10
-19
19
0
0
-44
-3
0
15
24
-16
-2
0
0
0
0
0
0
6
-46
-2
0
0
0
0
0
0
-53
20
-5
0
0
0
0
0
-4
26
-51
4
0
0
-29
0
-1
0
15
6
-14
0
0
0
0
1
1
-2
51
24
-17
0
0
0
0
-2
69
-65
34
-18
0
0
0
0
8
-7
-66
2
-23
0
-4
0
0
4
7
-13
54
1
0
0
0
0
0
0
1
30
7
0
0
4
0
0
6
-11
46
-9
0
0
0
1
2
-1
-51
-5
-27
0
-48
0
0
-9
-7
-30
45
18
0
0
0
0
1
7
7
33
-72
0
0
0
0
-4
-16
-30
-19
74
0
0
0
1
0
14
5
-29
-20
0
0
0
0
-3
-39
-52
45
35
0
0
0
0
-7
-9
8
-72
74
0
0
-4
0
0
10
4
46
10
0
0
0
2
-4
-63
-31
188
-52
0
21
14
0
-17
-6
-78
-26
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
39
53
18
-2
0
0
0
0
0
0
-15
-63
3
0
0
0
0
1
5
24
-44
47
0
0
0
0
0
0
8
15
22
0
0
0
0
-53
13
30
45
-22
0
0
0
0
0
-3
-20
-47
4
0
0
0
0
0
2
-5
44
-19
0
0
0
0
0
0
48
5
74
0
0
0
0
77
10
19
-93
-4
0
0
0
0
0
-5
-14
-13
-29
0
0
0
0
0
4
-1
-13
27
0
0
0
0
0
5
-30
30
24
0
0
0
0
70
-5
-23
-49
32
0
0
0
0
0
-1
-27
-35
38
0
0
0
0
-5
45
-3
-11
-30
0
0
0
0
2
-103
47
-34
-34
0
0
0
0
-20
4
-27
101
-2
6
0
0
0
0
3
-25
-38
60
31
0
0
0
0
-5
-19
-29
62
-17
0
0
0
0
1
-29
14
-29
4
0
0
0
20
27
68
86
-5
-15
0
0
0
-1
5
-14
8
-1
-20
0
0
0
-9
5
6
-38
14
-23
0
0
0
-1
23
-21
-17
10
26
0
0
0
-30
-34
119
-45
41
3
17
0
0
0
-1
-28
-2
6
-43
33
0
0
0
-32
-75
26
77
9
-1
0
0
0
-8
29
16
-9
18
-20
0
0
-28
-36
119
-14
-5
-22
5
0
0
-1
-2
13
-37
23
-82
30
0
0
38
51
-61
25
-15
-33
3
0
0
7
2
-23
-53
-8
-19
-4
0
0
0
0
9
36
-40
0
0
0
41
0
2
-20
28
-32
0
0
0
0
0
0
0
30
-35
0
0
0
0
0
0
-6
-17
27
0
0
0
0
0
0
-50
-5
72
0
0
0
9
0
-5
57
-68
-18
0
0
0
0
0
0
0
9
24
0
0
0
0
0
0
37
19
14
0
0
0
0
0
-3
72
-14
-5
0
0
0
19
0
-17
-7
-35
73
0
0
0
0
0
0
0
-1
-22
0
0
0
-3
0
-1
23
44
-3
0
0
0
0
0
-1
-6
-22
62
0
0
0
7
0
0
2
-57
-3
0
0
0
0
0
0
1
-96
38
0
0
0
13
0
-18
7
-7
47
0
0
0
0
0
0
-36
-80
75
-7
0
0
-14
2
-3
26
-85
-4
73
0
0
0
0
0
-4
-15
62
-25
0
0
0
0
0
12
-34
26
57
0
0
0
0
0
-32
-22
-36
75
0
0
-42
-2
-2
35
-52
73
-59
0
0
0
0
1
3
22
-24
38
0
0
0
0
0
20
-20
-21
-28
0
0
0
0
0
-77
24
100
-39
18
0
-45
0
11
-19
-55
36
-27
19
0
0
0
-2
0
-15
-35
-87
-4
0
-6
0
-2
-14
-58
39
-67
-9
0
0
0
-4
-18
-4
29
2
-1
0
-72
0
2
17
-6
20
-7
-11
0
0
-1
5
14
-97
13
-34
-15
0
-21
-2
-24
-23
-3
47
-62
-21
0
0
-1
1
-5
19
41
0
0
0
0
0
0
0
-45
-21
0
0
0
0
0
1
20
4
5
0
0
0
0
0
1
4
-52
49
0
0
0
0
2
1
-9
-6
-63
0
0
0
0
0
-1
2
3
-5
0
0
0
0
0
-7
0
1
14
0
0
0
0
0
1
-51
-2
8
0
0
0
0
7
14
-13
-33
-8
0
0
0
0
0
0
4
-61
-1
0
0
0
0
-2
-5
4
-33
44
0
0
0
0
0
1
8
-65
27
0
0
0
0
1
0
-3
30
23
0
0
0
0
0
0
-11
-8
-4
0
0
0
0
-1
0
-29
-43
41
0
0
0
0
1
36
10
-36
-8
0
0
0
0
-10
-29
5
48
96
-35
0
0
0
0
0
-3
-18
4
4
0
0
0
-1
-1
3
-32
3
24
0
0
0
0
0
-32
-29
5
80
0
0
0
-5
-1
13
-3
-14
-6
0
0
0
0
-1
-2
-7
-44
36
0
0
0
0
-2
0
17
53
-23
0
0
0
0
-2
20
-51
-9
-16
0
0
0
-24
-57
1
-12
32
18
9
0
0
0
-3
1
-132
-30
-31
2
0
0
0
7
-14
-40
-5
-105
25
0
0
-6
1
-3
-24
-27
-106
17
0
0
-25
6
-18
12
86
-69
23
0
0
0
2
8
62
62
-83
-33
0
0
-30
10
-1
85
36
-72
4
0
0
-6
5
-24
-84
20
-57
34
0
0
0
-2
-4
-6
28
0
0
0
0
0
0
0
-27
40
0
0
0
0
0
0
1
-34
-13
0
0
19
6
0
1
-23
-79
34
0
0
0
0
0
0
-3
5
-12
0
0
0
0
0
0
-46
-36
11
0
0
0
0
0
-1
3
5
3
0
0
2
0
0
-4
-25
22
13
0
0
0
0
0
0
-3
-61
61
0
0
0
0
0
0
-9
35
-49
0
0
0
0
0
-8
2
-10
-9
0
0
39
0
0
2
18
-35
9
0
0
0
0
0
0
-37
8
23
0
0
0
-3
0
0
-17
-44
55
0
0
0
0
0
-16
-3
-16
41
0
0
-40
0
0
17
-13
-27
2
0
0
0
0
0
0
-1
-39
-48
37
0
0
0
0
-1
6
32
0
-44
0
0
0
0
1
-18
-28
15
-24
0
24
0
0
-5
39
14
-7
-30
0
0
0
0
0
0
-2
-109
-13
0
0
0
0
0
-30
-77
70
24
0
0
0
0
0
-4
3
-80
71
0
-36
0
0
-19
15
22
-22
40
0
0
0
0
-3
2
0
21
-85
-6
0
-1
0
-1
-15
26
29
-41
-49
0
0
0
1
-7
-7
32
-56
-3
-116
0
0
-26
-6
31
35
-32
-12
0
0
0
4
29
-21
34
-69
0
0
4
0
0
9
-25
-40
22
-23
0
0
0
-5
-5
-146
-61
-59
71
9
-5
-1
-9
-81
28
-8
-62
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-108
8
54
0
0
0
0
-3
-51
-64
-109
72
0
0
0
0
23
30
-26
51
-3
0
0
0
0
-3
22
20
-49
-10
0
0
0
0
-16
-71
-54
20
62
0
0
0
0
0
41
22
2
1
0
0
0
0
-7
27
-24
0
37
0
0
0
0
0
-38
74
20
-56
0
0
0
0
-4
-31
19
-84
67
0
0
0
0
0
0
-14
-1
59
0
0
0
0
14
-59
17
-19
36
0
0
0
0
1
24
-4
7
-8
0
0
0
0
16
5
-35
-48
27
0
0
0
0
0
2
6
-73
19
0
0
0
0
23
3
47
29
-25
0
0
0
0
1
13
-28
20
-8
0
0
0
0
-26
27
-69
14
18
0
0
0
0
0
15
54
-99
39
0
0
0
0
2
-14
33
-132
62
0
0
0
0
0
2
-26
38
-45
0
0
0
0
-19
48
82
-25
-35
0
0
0
0
0
-14
-20
17
11
0
0
0
0
-6
0
-5
-5
31
0
0
0
0
0
9
18
-15
91
0
0
0
0
-2
-69
-50
-2
98
0
0
0
0
0
0
-4
30
29
0
0
0
0
-9
21
-10
29
-2
0
0
0
0
0
7
22
31
6
0
0
0
0
-23
-43
-39
35
14
0
0
0
0
4
-9
2
-14
23
0
0
0
0
11
-6
24
-52
62
0
0
0
0
-14
-43
36
23
4
0
0
0
0
0
23
-2
41
-15
0
0
0
-37
3
-13
64
-42
6
0
0
0
0
0
-4
-7
34
14
0
0
0
32
0
-14
14
-18
-26
0
0
0
0
6
-44
24
-5
14
0
0
0
-60
0
45
60
-43
58
0
0
0
0
0
-7
18
-37
14
0
0
0
4
0
-5
14
4
26
0
0
0
0
0
-17
10
-9
0
0
0
0
43
1
2
3
15
8
0
0
0
0
0
-1
1
25
31
0
0
0
7
0
-3
-20
5
47
0
0
0
0
0
0
-13
-9
-14
0
0
0
6
0
1
0
-24
25
0
0
0
0
0
-2
-4
20
-26
0
0
0
-25
0
11
-8
-11
35
0
0
0
0
0
0
-7
10
1
0
0
0
21
-5
-11
12
-46
38
0
0
0
0
0
0
0
-18
14
0
0
0
2
0
0
25
-6
23
0
0
0
0
0
0
-15
-87
-18
0
0
0
-5
0
0
22
-57
33
0
0
0
0
0
0
4
-1
-20
0
0
0
-1
0
-1
3
0
-33
0
0
0
0
0
0
0
-56
43
0
0
0
-75
0
2
-6
-22
44
0
0
0
0
0
0
1
-5
-10
0
0
0
0
0
0
0
-24
-2
0
0
0
0
0
0
-35
-25
16
0
0
0
-17
0
2
20
9
-12
0
0
0
0
1
0
-15
-40
-17
0
0
0
3
-2
-13
-29
-23
22
0
0
0
0
9
14
-74
61
11
0
0
0
0
0
1
-22
11
22
0
0
0
0
0
21
-4
-24
1
0
0
0
0
0
-2
-20
-3
49
0
0
0
0
1
1
-7
7
49
0
0
0
0
0
0
20
-76
38
0
0
0
0
0
-2
-14
-115
24
0
0
0
0
0
-5
7
-19
25
0
0
0
0
0
-5
33
23
-35
0
0
0
0
0
0
0
-3
30
0
0
0
0
0
-1
25
-20
32
0
0
0
0
0
1
14
1
10
0
0
0
0
0
0
-10
-13
24
0
0
0
0
0
0
-3
-59
53
0
0
0
0
0
0
16
-14
-40
0
0
0
0
0
1
0
23
-6
0
0
0
0
0
-3
19
4
-5
0
0
0
0
0
0
2
-24
-34
0
0
0
0
0
5
29
-26
25
0
0
0
0
0
0
-4
-51
15
0
0
0
0
0
1
5
-43
43
0
0
0
0
0
0
0
4
33
0
0
0
0
0
0
-11
-4
22
0
0
0
0
0
0
1
-11
80
0
0
0
0
0
0
18
24
-52
0
0
0
0
0
0
1
17
2
0
0
0
0
0
-2
-37
33
48
0
0
0
0
0
0
49
-29
7
0
0
0
0
0
0
5
-15
-19
0
0
0
0
0
0
2
22
-50
0
0
0
0
0
0
7
-5
57
0
0
0
0
-30
17
-41
20
-13
0
0
0
0
0
33
-26
-44
-4
0
0
0
0
0
4
32
19
6
0
0
0
0
0
0
-7
16
-34
0
0
23
-16
1
-3
106
-5
-15
0
0
0
0
0
0
-29
-27
-1
0
0
0
0
0
-7
-59
-31
104
0
0
0
0
0
0
-5
3
-33
0
0
-7
0
0
5
-3
1
-18
0
0
0
0
0
8
-11
-46
59
0
0
0
0
0
0
8
-14
27
0
0
0
0
0
1
16
23
-44
0
0
-22
1
0
-2
12
17
-36
0
0
0
0
0
0
-6
-55
19
0
0
0
0
0
0
-1
12
-4
0
0
0
0
0
1
7
-50
9
0
0
30
0
-1
-3
65
31
3
0
0
0
0
0
0
26
-16
-6
0
0
0
0
0
1
32
4
5
0
0
0
0
0
-2
6
-32
28
0
0
-33
-2
0
-6
-16
67
62
0
0
0
0
0
0
-32
-23
-4
0
0
0
0
0
0
16
-30
-6
0
0
0
0
0
0
-15
-14
9
0
0
13
0
0
3
39
-31
-13
0
0
0
0
0
0
24
-33
48
0
0
0
0
0
0
-25
0
16
0
0
0
0
0
1
6
10
6
0
0
-44
0
0
-3
73
5
48
0
0
0
0
0
-6
27
-62
-14
0
0
0
0
0
0
31
5
-31
0
0
0
0
0
3
34
-24
57
0
0
86
24
-5
-56
-12
28
-26
0
0
0
0
5
-71
16
-49
29
0
0
0
0
0
-8
34
5
16
0
0
0
0
0
33
43
-71
-49
0
0
0
0
0
1
-2
18
15
0
0
0
0
-1
5
0
-43
33
0
0
0
0
0
1
-32
30
-44
0
0
0
0
0
0
19
14
-49
0
0
0
0
0
2
33
35
-25
0
0
0
0
3
-4
-12
-34
-14
0
0
0
0
0
-4
-24
0
0
0
0
0
0
0
11
21
-16
-32
0
0
0
0
0
0
-25
-29
71
0
0
0
0
-1
-2
-49
-4
77
0
0
0
0
0
0
-2
5
2
0
0
0
0
0
-1
2
-1
27
0
0
0
0
-2
0
-18
-74
46
0
0
0
0
51
13
1
-5
-16
0
0
0
0
0
-2
5
24
-42
0
0
0
0
0
-1
24
0
6
0
0
0
0
0
5
-21
5
-4
0
0
0
0
-2
-14
28
33
15
0
0
0
0
0
2
45
-43
-42
0
0
0
0
0
0
1
2
15
0
0
0
0
0
-1
3
-1
-4
0
0
0
0
-70
33
17
-9
-26
0
0
0
0
0
0
-4
0
24
0
0
0
0
0
0
2
61
-18
0
0
0
0
0
2
-2
6
9
0
0
0
0
2
-50
1
-57
24
0
0
0
0
0
0
5
-68
22
0
0
0
0
-1
-1
-21
31
45
0
0
0
0
-2
-57
48
-23
34
0
0
0
0
0
0
6
-22
104
0
0
0
-2
0
0
-64
-9
34
0
0
0
0
0
0
3
14
59
0
0
0
0
0
1
-17
-5
-10
0
0
0
0
0
0
53
-87
-22
0
0
0
0
0
-2
13
4
-34
0
0
0
0
0
0
2
-3
-14
0
0
0
0
0
0
42
-22
-16
0
0
0
0
0
-1
18
-48
-24
0
0
0
7
0
0
-6
-36
-10
0
0
0
0
0
0
-1
-14
65
0
0
0
0
0
-1
-5
18
-60
0
0
0
0
0
0
5
21
28
0
0
0
0
0
-2
-18
-14
-33
0
0
0
0
0
0
-2
5
4
0
0
0
0
0
0
-26
-4
72
0
0
0
0
0
0
-3
-14
0
0
0
0
27
2
0
-15
-4
0
0
0
0
0
0
0
0
-20
71
0
0
0
0
0
1
1
-3
6
0
0
0
0
0
0
-2
-5
15
0
0
0
0
0
2
-25
2
46
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
7
7
0
0
0
0
0
0
-4
6
10
0
0
0
-18
0
0
5
-52
38
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
-4
-5
22
14
0
0
0
0
0
0
10
-21
67
0
0
0
1
0
-6
3
-22
4
0
0
0
0
0
0
0
-17
15
0
0
0
-1
0
16
-18
-20
-4
0
0
0
0
-1
5
8
60
-30
0
0
0
0
0
0
-6
-65
17
0
0
0
0
0
3
39
-14
-28
0
0
0
0
0
0
27
12
29
0
0
0
0
0
0
21
19
-32
0
0
0
0
0
0
-2
-10
-71
0
0
0
0
0
-1
1
-33
4
0
0
0
0
0
1
0
39
26
0
0
0
0
0
0
-2
-4
23
0
0
0
0
0
-6
0
15
-5
0
0
0
0
0
-2
-7
18
-4
0
0
0
0
0
0
1
43
-14
0
0
0
0
0
0
-11
-2
5
0
0
0
0
0
0
1
3
-58
0
0
0
0
0
0
-1
-1
41
0
0
0
0
0
-4
5
-25
-5
0
0
0
0
2
-2
5
-24
6
0
0
0
0
0
2
5
-32
-8
0
0
0
0
0
1
0
-18
5
0
0
0
0
0
0
0
-18
33
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
-1
0
-4
33
0
0
0
0
0
1
1
19
-31
0
0
0
0
0
0
-4
-13
15
0
0
0
0
0
0
0
-24
-13
0
0
0
0
0
1
-13
-8
10
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
3
10
-8
0
0
0
0
-4
9
15
25
-19
0
0
0
0
0
32
61
0
-49
0
0
0
0
0
-13
39
-12
-20
0
0
0
0
0
-14
8
-7
59
0
0
-2
0
0
4
14
-24
26
0
0
0
0
0
5
63
-32
-5
0
0
0
0
0
-3
37
-17
-41
0
0
0
0
0
-11
-20
24
-23
0
0
0
0
0
-45
30
-2
20
0
0
0
0
0
3
60
-56
5
0
0
0
0
0
-2
-49
-18
2
0
0
0
0
0
-3
-27
-4
41
0
0
-1
0
0
4
-11
-2
11
0
0
0
0
0
0
10
9
10
0
0
0
0
0
3
31
-34
7
0
0
0
0
0
2
-2
5
9
0
0
0
0
0
1
-35
55
-46
0
0
0
0
0
52
44
-31
-1
0
0
0
0
0
-3
-9
50
2
0
0
0
0
0
6
6
-79
32
0
0
-4
0
0
-32
-14
-3
57
0
0
0
0
0
-3
-11
8
-16
0
0
0
0
0
0
-18
-5
19
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
-18
-15
33
1
0
0
0
0
0
29
-35
-12
53
0
0
0
0
0
-1
-23
-44
81
0
0
0
0
0
-1
2
5
0
0
0
-4
0
0
1
5
-4
4
0
0
0
0
0
15
-61
-44
67
0
0
0
0
0
-4
62
-4
-65
0
0
0
0
0
1
-77
-25
47
0
0
-4
0
-1
37
-22
-8
93
0
0
0
0
34
27
12
-34
-10
0
0
0
0
0
31
10
-16
10
0
0
0
0
0
-6
-23
7
15
0
0
0
0
0
-17
-21
17
4
0
0
0
0
5
-4
14
5
-7
0
0
0
0
0
-6
59
-53
23
0
0
0
0
0
-5
-2
9
9
0
0
0
0
0
7
34
-50
-44
0
0
0
0
1
9
-7
-2
23
0
0
0
0
0
-1
-5
-5
-71
0
0
0
0
0
-15
-8
12
14
0
0
0
0
0
11
-9
20
32
0
0
0
0
-4
-7
40
76
39
0
0
0
0
0
0
-7
-11
30
0
0
0
0
-1
22
5
-41
8
0
0
0
0
0
-19
10
69
-10
0
0
0
0
22
-57
53
-20
-4
0
0
0
0
0
0
9
-5
39
0
0
0
0
0
0
-9
-29
14
0
0
0
0
0
2
4
-5
1
0
0
0
0
3
0
-5
-36
48
0
0
0
0
0
0
0
8
46
0
0
0
0
0
0
-3
0
-9
0
0
0
0
0
-4
0
-16
-14
0
0
0
0
-15
24
-14
-50
39
0
0
0
0
0
-1
-4
-21
55
0
0
0
0
0
2
2
-42
2
0
0
0
0
0
3
-10
26
14
0
0
0
0
-49
-12
91
-4
24
0
0
0
0
0
-2
-8
-8
72
0
0
0
0
-21
-1
-3
17
10
0
0
0
0
54
8
-16
64
5
0
0
0
0
0
0
-17
41
74
0
0
0
7
0
-1
-39
17
-2
0
0
0
0
0
0
1
-44
-24
0
0
0
0
0
0
24
-55
-51
0
0
0
0
0
0
-5
2
19
0
0
0
20
0
2
1
-26
-18
0
0
0
0
0
0
0
-14
-14
0
0
0
0
0
2
15
-25
14
0
0
0
0
0
-1
8
-2
3
0
0
0
-2
0
0
2
-28
-18
0
0
0
0
0
0
0
27
32
0
0
0
4
0
2
-31
-69
106
0
0
0
0
0
0
1
-33
2
0
0
0
8
0
-1
-15
-5
26
0
0
0
0
0
1
0
-58
49
0
0
0
-6
0
1
-9
-17
50
0
0
0
0
0
0
0
43
-7
0
0
0
-14
0
2
-10
7
10
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
0
4
-6
-1
0
0
0
0
0
0
0
6
-3
0
0
0
2
0
0
2
-11
23
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
-2
-102
0
0
0
7
0
-1
3
35
5
0
0
0
0
0
0
0
-12
33
0
0
0
0
0
0
14
-3
-23
0
0
0
0
0
0
2
-47
-46
0
0
0
4
0
0
3
-73
14
0
0
0
0
0
0
0
-41
-2
0
0
0
40
0
2
-49
-67
-6
0
0
0
0
0
8
5
23
-31
0
0
0
0
0
0
2
-29
34
0
0
0
0
0
-1
20
23
21
0
0
0
0
0
0
-7
3
88
0
0
0
0
0
0
-9
6
-30
0
0
0
0
0
0
0
-3
-20
0
0
0
0
0
0
2
-18
-11
0
0
0
0
0
0
-10
-17
71
0
0
0
0
1
1
-17
-25
65
0
0
0
0
0
0
0
-90
23
0
0
0
0
-2
1
-15
-12
36
0
0
0
0
0
-3
15
-1
66
0
0
0
0
0
0
4
3
-49
0
0
0
0
0
0
0
5
3
0
0
0
0
2
4
-5
-96
44
0
0
0
0
0
0
0
-20
41
0
0
0
0
0
3
-1
-44
52
0
0
0
0
0
0
0
-14
5
0
0
0
0
-1
0
0
-10
5
0
0
0
0
0
0
2
7
-2
0
0
0
0
0
0
0
5
53
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
-22
-3
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
4
-6
15
7
0
0
0
0
0
0
0
-29
-1
0
0
0
0
0
-1
-24
27
14
0
0
0
0
0
0
-3
16
4
0
0
0
0
0
0
-5
-6
-30
0
0
0
0
-3
0
-33
13
-10
0
0
0
0
0
0
48
-44
14
0
0
0
-1
0
1
-6
54
-13
0
0
0
0
0
0
14
-15
39
0
0
-33
1
0
0
-21
-21
80
0
0
0
0
0
0
0
7
-12
0
0
0
0
0
0
-1
4
16
0
0
0
0
0
-1
0
-5
20
0
0
5
0
0
-3
39
-32
-30
0
0
0
0
0
2
21
-8
-9
0
0
0
0
0
1
8
-62
-1
0
0
0
0
0
0
-3
-6
53
0
0
-15
0
0
4
10
9
-8
0
0
0
0
0
0
-5
33
49
0
0
0
0
0
1
8
-14
-5
0
0
0
0
0
1
-5
32
0
0
0
0
0
0
-5
-9
-35
-14
0
0
0
0
0
4
2
-4
-5
0
0
0
0
0
0
-3
-49
54
0
0
0
0
0
0
2
0
-3
0
0
-7
0
0
0
17
-54
10
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
-29
10
0
0
0
0
0
0
-1
-13
-35
0
0
0
0
0
0
1
8
-1
0
0
46
0
0
0
4
-7
6
0
0
0
0
0
-4
0
11
33
0
0
0
-5
0
0
0
17
54
0
0
0
0
0
0
-5
-97
25
0
0
44
-4
0
-1
32
-7
-7
0
0
0
0
0
4
4
-23
3
0
0
0
0
0
0
-2
-45
-14
0
0
0
0
0
0
10
-34
6
0
0
0
0
0
0
-2
1
12
0
0
0
0
0
0
-17
3
102
0
0
0
0
0
2
4
-16
46
0
0
0
0
0
2
-3
0
-18
0
0
0
0
0
0
2
-1
20
0
0
0
0
0
33
10
-44
-29
0
0
0
0
0
0
2
4
51
0
0
0
0
0
0
14
-31
16
0
0
0
0
0
0
-1
-62
61
0
0
0
0
0
-6
17
-3
23
0
0
0
0
0
0
2
-13
-15
0
0
0
0
0
-1
2
-4
-47
0
0
0
0
0
0
-1
9
3
0
0
0
0
-14
-20
33
23
-5
0
0
0
0
0
1
0
-71
33
0
0
0
0
0
1
3
-24
6
0
0
0
0
0
0
-1
6
5
0
0
0
0
0
1
1
0
-1
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-1
1
-1
1
0
0
0
0
0
-4
0
-2
-17
0
0
0
0
11
-4
0
-14
31
0
0
0
0
0
-1
-1
-13
42
0
0
0
0
0
0
8
-1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
-33
1
40
0
0
0
0
0
1
1
16
-34
0
0
0
0
3
0
0
-8
20
0
0
0
0
-1
-26
73
-6
-63
0
0
0
0
0
0
0
-37
90
0
0
0
-2
0
-2
0
17
-33
0
0
0
0
0
0
-6
-32
33
0
0
0
0
0
0
-30
25
42
0
0
0
0
0
0
0
-2
96
0
0
0
0
0
0
4
24
35
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-19
20
16
0
0
0
0
0
0
-3
-27
55
0
0
0
2
0
0
27
-18
-12
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-72
86
0
0
0
0
0
0
0
-2
38
0
0
0
0
0
-2
0
-27
15
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-18
-45
0
0
0
0
0
0
0
-17
32
0
0
0
4
0
-1
-1
-35
50
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-1
7
-17
23
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-2
-21
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
9
111
0
0
0
-3
0
0
0
9
-8
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
-3
-1
-7
0
0
0
0
0
0
0
2
-43
0
0
0
2
0
0
0
-44
4
0
0
0
0
0
0
0
-3
14
0
0
0
0
0
-7
-46
-19
26
0
0
0
0
-28
-10
-1
-8
19
0
0
0
0
0
0
6
14
8
0
0
0
0
0
0
19
-16
-29
0
0
0
0
0
-1
-6
-50
49
0
0
0
0
0
0
-1
10
-25
0
0
0
0
0
0
1
-4
-51
0
0
0
0
0
5
-2
0
8
0
0
0
0
0
0
-2
-8
53
0
0
0
0
1
14
2
-26
-2
0
0
0
0
0
0
-5
-22
-9
0
0
0
0
0
0
-3
-4
2
0
0
0
0
0
0
-1
13
43
0
0
0
0
-2
0
2
1
-25
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
0
2
37
0
0
0
0
0
-2
-7
1
-21
0
0
0
0
2
-3
-5
14
56
0
0
0
0
0
0
0
-16
-10
0
0
0
0
0
9
0
-13
24
0
0
0
0
0
0
0
24
-62
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-3
-5
11
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
-4
28
0
0
0
0
0
-4
0
5
-9
0
0
0
0
0
0
1
-23
14
0
0
0
0
0
2
0
-5
-7
0
0
0
0
2
0
0
-5
-34
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
-2
0
-1
0
0
0
0
3
7
6
-20
11
0
0
0
0
4
-14
-4
44
-11
0
0
0
-1
0
-1
-3
-20
11
0
0
0
0
0
-1
53
-139
15
0
0
1
0
0
4
18
-18
37
0
0
0
0
0
-5
-62
-11
119
0
0
0
0
0
-3
-17
-3
22
0
0
0
0
0
0
6
-34
-3
0
0
0
0
0
-3
48
1
-33
0
0
0
0
0
-2
-45
31
9
0
0
0
0
0
1
37
-48
-30
0
0
0
0
0
-2
6
-4
-67
0
0
-1
0
0
-11
-14
-16
18
0
0
0
0
0
4
-8
43
20
0
0
0
0
0
0
-18
-5
-7
0
0
0
0
0
-9
7
-23
35
0
0
0
0
0
29
19
11
-22
0
0
0
0
-1
10
5
-11
20
0
0
0
-17
0
-1
-5
-27
32
0
0
0
0
0
3
-17
-4
51
0
0
17
0
0
-16
-4
-33
-7
0
0
0
0
0
25
3
-25
-44
0
0
0
0
0
0
-11
4
10
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
-26
19
-8
0
0
0
0
0
-7
-4
-21
26
0
0
0
0
0
0
18
-1
-37
0
0
0
0
0
0
-3
-99
26
0
0
-32
0
0
3
-35
27
6
0
0
0
0
0
-34
33
34
-16
0
0
0
0
0
0
8
-3
63
0
0
0
0
0
1
0
3
11
0
0
8
0
-1
-44
-17
-5
-9
0
0
0
0
-23
-53
-29
71
8
0
0
0
0
0
0
-4
25
-20
0
0
0
0
5
7
-94
-33
51
0
0
0
0
-1
-3
26
-35
28
0
0
0
0
-68
33
-27
-23
55
0
0
0
0
-2
-3
-72
37
6
0
0
0
0
0
4
13
-37
0
0
0
0
0
-1
9
28
-51
23
0
0
0
0
64
-51
61
-50
-1
0
0
0
0
0
0
-9
-50
104
0
0
0
0
0
-15
-13
81
-1
0
0
0
0
0
4
-5
-43
6
0
0
0
0
-6
43
-47
-89
58
0
0
0
0
0
-1
7
-14
91
0
0
0
0
18
-2
-10
10
4
0
0
0
0
-3
-49
47
-12
35
0
0
0
0
-40
-91
25
20
46
4
0
0
0
0
-7
-23
41
57
16
0
0
0
2
-1
-14
4
-69
14
0
0
0
-3
-5
-18
-12
3
0
0
0
0
-7
-19
75
-56
89
-9
0
0
0
1
3
13
-31
62
3
0
0
0
-1
0
3
27
10
-5
0
0
0
0
-3
75
-29
51
-43
0
0
0
10
16
4
57
-14
22
0
0
0
0
-1
-5
-17
22
78
0
0
0
-8
0
54
21
-19
25
0
0
0
0
43
-56
10
42
51
0
0
0
47
24
-16
17
-27
-1
0
0
0
3
2
25
42
-31
-35
0
0
0
31
41
29
-3
73
-3
0
0
0
15
0
57
-14
-13
-8
0
0
0
0
0
21
41
-37
0
0
0
11
0
0
-31
10
14
0
0
0
0
0
0
0
13
5
0
0
0
1
0
-4
-45
23
24
0
0
0
0
0
3
27
-28
-1
0
0
0
1
0
0
-8
-38
23
0
0
0
0
0
0
0
-5
33
0
0
0
0
0
-3
2
-32
0
0
0
0
0
0
0
-2
2
27
0
0
0
5
0
1
0
2
20
0
0
0
0
0
0
0
-7
3
0
0
0
-7
0
0
-3
-25
31
0
0
0
0
0
-1
2
5
-20
0
0
0
-1
0
-1
0
14
38
0
0
0
0
0
0
0
-39
-6
0
0
0
2
0
-1
-5
-53
62
0
0
0
0
0
0
7
-6
-17
7
0
0
-12
4
-5
-1
63
-65
20
0
0
0
0
0
0
-49
-21
29
0
0
0
0
0
-1
-56
69
11
0
0
0
0
-1
7
-37
-4
-14
0
0
35
0
0
0
-27
-9
-14
0
0
0
0
0
0
-27
26
-4
0
0
0
0
0
-5
-22
-20
-45
0
0
0
0
0
1
-50
27
6
0
0
4
0
0
-2
-21
46
16
0
0
0
0
0
0
-32
41
8
0
0
1
0
0
0
-27
-40
-17
0
0
0
0
1
5
-33
31
-38
0
0
61
0
0
-3
61
62
-56
0
0
0
0
0
0
-6
21
-23
0
0
-25
0
-4
-31
5
-20
1
0
0
0
0
-2
-13
-68
30
0
0
0
0
0
0
0
16
-6
0
0
0
0
0
1
1
-57
28
0
0
0
0
0
-2
-11
26
-24
0
0
0
0
0
-1
2
1
9
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
-46
16
0
0
0
0
0
0
-1
34
-10
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
-4
0
-36
0
0
0
0
0
0
1
3
-23
1
0
0
0
0
0
-2
0
-30
49
0
0
0
0
0
0
0
-17
83
0
0
0
0
0
-1
-1
-11
17
0
0
0
0
0
3
-1
-53
7
0
0
0
0
4
0
7
-23
43
2
0
0
0
0
0
0
-74
24
18
0
0
0
0
0
5
3
30
-24
0
0
0
0
-1
0
28
-50
-27
0
0
0
0
0
1
-26
34
16
0
0
0
0
0
1
-1
27
19
0
0
0
1
0
2
27
-5
-2
0
0
0
0
-1
5
4
-2
-4
0
0
0
0
0
3
-35
63
29
0
0
0
0
0
0
14
21
-1
0
0
0
0
0
-7
62
-30
-30
0
0
0
0
-3
-1
1
-15
-10
0
0
0
0
0
3
-34
71
-7
0
0
0
0
0
-4
-16
-7
55
0
0
0
1
0
3
-90
1
16
0
0
0
-2
1
21
-3
-23
-25
0
0
0
0
-4
6
-15
87
0
0
0
0
0
-2
10
-43
-19
0
0
0
0
0
0
-2
-12
8
0
0
-25
-2
0
1
43
-51
46
0
0
0
0
0
0
2
-32
56
0
0
0
0
0
-1
16
-26
-23
0
0
0
0
0
0
4
3
9
0
0
-2
0
0
-11
47
-6
-19
0
0
0
0
0
0
2
59
-2
0
0
0
0
0
0
5
-9
1
0
0
0
0
0
0
0
-29
0
0
0
-10
0
0
-1
9
18
-24
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
-1
0
0
-13
0
0
-2
11
-31
-17
0
0
0
0
0
0
24
-86
31
-13
0
0
0
0
0
-3
-51
38
0
0
0
0
0
0
-9
23
-68
-11
0
-40
0
0
3
-43
4
-52
0
0
0
0
0
1
-2
-63
-37
59
0
0
0
0
0
-3
-20
9
-42
0
0
0
0
0
2
-33
24
37
0
9
0
0
0
6
-43
-45
26
0
0
0
0
0
-21
45
62
-49
0
0
0
0
0
-8
-29
27
-12
0
0
0
0
5
-14
-19
11
1
0
63
0
0
-1
-21
-90
-10
-26
0
0
0
0
0
-5
5
24
-12
0
0
0
0
1
23
-44
10
-13
0
0
0
0
0
-1
18
41
-56
0
79
0
1
-1
-41
-53
-19
-19
0
0
0
8
0
-24
-23
-2
0
0
0
0
0
-4
-3
-33
24
0
0
0
0
0
0
13
0
16
0
0
0
0
0
2
0
11
22
0
0
0
0
3
6
-16
33
-39
0
0
0
0
0
0
0
-29
35
0
0
0
0
0
0
1
-2
9
0
0
0
0
0
0
-53
-13
49
0
0
0
0
-1
0
-2
-2
17
0
0
0
0
0
0
0
-5
12
0
0
0
0
0
0
-5
-1
2
0
0
0
0
0
0
1
10
-33
0
0
0
0
0
0
-5
6
6
0
0
0
0
0
-1
0
-2
34
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
2
13
-9
-12
0
0
0
0
-53
1
-43
2
16
6
0
0
0
0
0
0
-30
20
11
0
0
0
0
1
4
29
18
-6
0
0
0
0
1
6
-57
16
6
0
0
0
2
1
24
15
58
-26
0
0
0
0
0
-10
-64
-38
-6
0
0
0
0
0
-4
4
14
5
0
0
0
0
-10
5
-14
7
11
0
0
0
0
-1
-14
11
-8
-53
0
0
0
0
-1
0
-4
5
-13
0
0
0
0
0
0
-15
-5
-7
0
0
0
0
-1
1
-1
7
-7
0
0
0
25
0
20
-16
89
-60
0
0
0
-1
0
8
-26
-23
-18
0
0
0
0
0
-2
7
7
-14
0
0
0
-2
-13
105
81
-26
-50
0
0
0
3
1
1
17
1
0
0
0
-5
0
0
0
2
-24
0
0
0
0
0
0
-3
-4
38
0
0
0
0
0
0
1
-61
72
0
0
0
0
0
0
0
13
-13
0
0
0
0
0
0
7
-24
14
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-21
-3
56
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
-17
-3
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
19
5
27
0
0
0
0
0
0
15
-4
55
-52
0
0
-24
0
0
0
-8
-5
1
0
0
0
0
0
1
5
0
46
0
0
0
0
0
-1
10
-1
-13
0
0
0
1
0
-4
5
22
8
0
0
10
0
0
25
-25
45
-109
0
0
0
0
0
0
4
-25
-72
0
0
0
0
0
-43
6
-18
-6
0
0
0
0
0
-5
13
22
59
0
0
-1
0
0
5
11
-14
-35
0
0
0
0
0
-1
2
3
-15
0
0
0
0
0
1
-1
-6
-24
0
0
0
0
0
5
25
32
-44
0
0
20
0
0
3
-1
-48
-32
0
0
0
0
0
5
22
-20
-50
0
0
4
1
-1
2
-106
26
-3
0
0
0
0
-3
-2
22
12
0
0
0
0
0
0
0
32
14
0
0
0
0
0
7
1
1
23
0
0
0
0
0
0
-6
10
17
0
0
0
0
0
0
-3
-5
-4
0
0
0
0
0
0
0
-3
-16
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
-3
9
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
24
18
-5
0
0
0
0
0
1
-32
34
-23
0
0
0
0
-2
-1
-4
8
-2
0
0
0
0
0
-2
35
1
-102
0
0
0
1
0
-6
0
-42
-3
0
0
0
0
0
0
4
-48
-58
0
0
0
2
0
0
-8
5
-34
0
0
0
0
0
2
-2
-5
12
0
0
0
0
-3
0
1
-53
26
0
0
0
0
0
0
-3
0
-20
0
0
0
0
0
-2
3
0
6
0
0
0
0
0
0
-2
0
-65
0
0
0
1
0
0
2
-14
-32
0
0
0
0
0
0
1
9
-54
0
0
0
0
0
6
15
4
-35
0
0
0
0
2
-13
-59
13
-11
0
0
0
-1
-1
-18
-15
89
0
0
0
0
0
0
-10
-22
76
0
0
0
0
0
0
-1
20
-58
0
0
-3
0
0
1
3
-24
29
0
0
0
0
0
-1
3
-1
-31
0
0
0
0
0
0
3
4
52
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
-9
-6
-22
37
0
0
0
0
0
0
-1
0
16
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
-22
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
1
14
0
0
0
0
0
3
22
-17
5
0
0
0
0
0
0
56
119
-24
-12
0
0
0
0
-1
-3
-13
11
-14
0
0
0
0
0
-5
-32
24
-62
0
15
0
0
3
-20
-43
14
-23
0
0
0
0
0
14
-3
6
-19
0
0
0
0
0
38
-18
-14
-10
0
0
0
0
2
11
-10
-10
-49
0
-43
0
-1
-1
-5
57
-23
-2
0
0
0
0
-1
19
0
-55
55
0
0
0
0
0
-3
-14
20
-40
0
0
0
0
0
-16
-1
6
-42
0
-15
0
0
0
-22
7
0
5
0
0
0
0
0
9
5
-43
47
0
0
0
0
2
3
-50
-9
-40
0
0
0
0
-2
22
-33
-2
-65
0
-3
-1
0
52
-21
-79
36
28
0
0
0
12
33
-33
-61
71
0
0
0
0
0
-4
0
-33
62
0
0
0
0
0
-2
-5
-16
56
0
0
0
0
0
-1
8
-48
6
0
0
0
0
2
-45
31
-6
24
0
0
0
0
0
0
-11
-8
-5
0
0
0
0
-1
-6
-1
4
15
0
0
0
0
0
0
-8
-21
9
0
0
0
0
49
63
-53
-81
-2
0
0
0
0
0
0
-7
17
11
0
0
0
0
0
-1
13
-5
-62
0
0
0
0
1
0
39
40
-31
0
0
0
0
-1
-25
5
3
-3
0
0
0
0
0
0
1
2
5
0
0
0
0
2
1
1
-14
18
0
0
0
0
1
5
-8
25
-52
0
0
0
0
-23
43
20
-75
-44
13
0
0
0
0
0
-14
34
-24
60
0
0
0
0
2
-5
-37
64
-11
0
0
0
0
0
2
-32
31
-60
0
0
0
10
-2
38
14
49
14
0
0
0
0
0
0
-2
14
4
0
0
0
2
-3
0
-1
14
-20
0
0
0
0
0
-5
1
-19
4
0
0
0
-16
-62
50
45
53
-46
18
0
0
0
-3
24
23
-9
-38
33
0
0
0
8
5
7
102
-25
0
0
0
0
-5
59
17
81
-118
-1
0
0
-12
19
-10
-66
-43
-26
41
0
0
0
-1
1
-93
41
-7
15
0
0
-6
3
9
-41
54
11
-18
0
0
-35
1
62
-17
-34
-40
1
0
0
0
0
-5
-5
65
0
0
0
-10
0
-1
-7
23
22
0
0
0
0
0
0
0
13
34
0
0
0
0
0
2
-4
-98
39
0
0
0
0
0
-9
0
35
14
0
0
0
0
0
-3
-5
-17
53
0
0
0
0
0
0
0
-2
-27
0
0
0
0
0
0
-23
27
-52
0
0
0
0
0
0
0
-41
72
0
0
0
33
0
0
-7
43
-27
0
0
0
0
0
0
0
-43
13
0
0
0
2
0
-1
-5
36
-57
0
0
0
0
0
0
0
-10
63
0
0
0
1
0
0
-6
1
18
0
0
0
0
0
0
0
-3
-45
0
0
0
3
0
4
15
-87
-30
0
0
0
0
0
0
2
21
7
12
0
0
-40
0
-3
-3
-23
30
-9
0
0
0
0
0
0
-18
-20
4
0
0
0
0
0
-14
-7
48
23
0
0
0
0
0
-4
-29
35
-72
0
0
1
0
1
1
5
-46
-31
0
0
0
0
0
0
2
1
27
0
0
0
0
0
0
-5
15
29
0
0
0
0
2
4
37
5
-16
25
0
56
0
-2
32
-43
-6
-51
-25
0
0
0
0
2
-123
113
-141
48
0
0
0
3
-80
-58
6
-58
0
0
0
0
0
-1
-2
16
-24
-28
0
-102
0
0
-17
5
20
63
8
0
0
0
2
0
-32
-49
-63
0
0
39
0
-4
6
-43
19
-69
15
0
0
2
-3
-2
-11
-22
0
0
0
0
0
0
-2
-28
43
0
0
0
0
0
0
3
-36
80
0
0
0
0
0
0
5
-25
77
0
0
0
0
0
-1
-2
24
-43
0
0
0
0
0
0
-4
-24
4
0
0
0
0
0
-2
4
1
2
0
0
0
0
0
0
-19
21
0
0
0
0
0
0
0
3
33
-56
0
0
0
0
0
0
0
0
35
0
0
0
0
0
1
-1
25
-5
0
0
0
0
0
-1
-2
33
-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
-20
0
0
0
0
0
0
4
-8
0
0
0
0
0
-2
0
-1
7
-48
25
0
0
0
0
0
0
-62
54
-17
0
0
0
0
0
0
-21
-32
12
0
0
0
0
0
0
23
-53
-18
0
0
0
0
0
-2
5
22
-74
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
2
2
-50
0
0
0
0
0
0
1
0
-24
0
0
0
0
0
2
-71
-15
-50
6
0
0
0
0
-1
70
31
-18
-12
0
0
0
-9
1
-18
-74
-19
11
0
0
0
0
-3
23
5
-18
1
0
0
0
2
3
5
-10
-19
-40
0
0
0
0
0
1
-14
-18
50
0
0
2
-1
1
14
-15
-101
3
0
0
0
39
-63
-22
-21
-36
15
0
0
0
3
14
-14
1
0
0
0
0
0
0
1
-29
100
0
0
0
0
0
0
0
42
-21
0
0
35
0
0
-1
-51
-33
101
0
0
0
0
0
0
2
3
23
0
0
0
0
0
0
-7
0
31
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
2
-62
22
0
0
0
0
0
8
1
32
-25
0
0
0
0
0
0
-2
-58
43
0
0
0
0
0
-4
1
-48
0
0
0
16
0
0
2
-9
-46
9
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
11
-3
0
0
0
0
0
0
0
10
2
0
0
-2
0
0
1
-4
1
-43
0
0
0
0
0
0
2
16
-5
13
0
0
3
0
0
-8
52
52
-61
0
0
0
0
0
0
-14
3
-111
0
76
0
0
0
-23
-117
26
11
0
0
0
0
0
0
-1
1
-46
0
0
0
0
0
-1
-17
1
55
0
0
0
0
0
0
0
3
-34
0
0
0
0
0
-5
-10
0
35
0
0
0
0
-1
24
74
-15
9
0
0
0
0
3
-63
-18
-29
-20
15
0
0
0
0
-7
23
-68
-13
-3
-59
0
0
-1
23
-36
24
-52
-5
0
0
0
1
1
90
-10
-101
4
0
0
0
0
-21
18
-1
-55
24
0
0
0
2
0
-32
-2
-10
53
-119
-3
2
-33
-34
46
133
-13
5
0
0
1
3
53
15
-9
0
0
0
0
0
1
1
-9
22
0
0
0
0
-3
-3
-25
-30
51
0
0
0
0
0
1
-24
-23
-50
0
0
0
0
-5
3
-6
-24
55
0
0
0
0
0
-7
-79
41
-11
0
0
0
0
-1
1
0
6
10
0
0
0
0
0
-2
10
23
-47
0
0
0
0
5
15
20
-71
30
0
0
0
0
0
-4
5
-16
28
0
0
0
0
0
2
3
-59
42
0
0
0
0
0
0
-13
5
55
0
0
0
0
2
3
-9
-45
30
0
0
0
0
0
0
1
-5
101
0
0
0
0
0
0
-1
15
9
0
0
0
0
0
16
24
-50
-33
0
0
0
0
0
-25
25
50
58
-18
0
0
0
0
-1
8
-14
80
-12
0
0
0
-1
0
0
-3
9
17
0
0
0
0
0
7
-8
-14
66
0
0
0
-22
-2
-3
1
-18
8
0
0
0
0
0
0
-5
-14
-54
0
0
0
0
7
-1
-1
-14
-91
0
0
0
0
3
-3
-19
-7
15
0
0
0
-4
-7
33
28
-7
-35
44
0
0
0
0
-3
14
7
-56
11
0
0
0
1
0
-47
33
-2
-24
0
0
0
0
-1
-8
25
-45
22
0
0
-11
-18
14
-5
24
24
9
0
0
2
0
8
18
3
1
-38
0
0
0
-5
0
-16
-47
-11
62
0
0
39
5
-6
-57
57
-38
-6
0
0
-1
-1
-7
-38
69
0
0
0
-3
0
1
15
-65
31
0
0
0
0
-5
0
2
-35
-35
0
0
0
6
0
0
-47
23
15
0
0
0
0
0
1
-6
1
29
0
0
0
-4
0
0
-21
-5
29
0
0
0
0
0
0
-1
-7
-47
0
0
0
0
0
-3
-20
-37
50
0
0
0
0
0
0
-1
30
14
0
0
0
-41
0
4
-3
6
49
0
0
0
0
0
0
0
-26
34
0
0
0
-5
0
0
5
-15
-21
0
0
0
0
0
0
0
7
-17
0
0
0
-10
0
0
-1
-8
-3
0
0
0
0
0
-2
-3
10
1
0
0
0
0
0
0
-13
-3
39
0
0
0
0
0
0
0
31
2
-8
0
0
29
0
3
0
-8
7
-57
0
0
0
0
0
1
-25
27
-8
0
0
0
0
2
4
40
-27
-38
0
0
0
0
0
5
-9
18
-10
0
0
-45
0
0
6
14
47
-9
0
0
0
0
0
0
2
-2
-33
0
0
0
0
0
-5
2
-8
-5
0
0
0
0
0
-1
-11
55
3
-1
0
20
0
0
4
4
1
-54
-3
0
0
0
0
-1
-7
1
-72
121
0
0
0
0
-6
-21
-14
26
-45
0
0
0
0
-1
-4
14
-41
36
0
12
0
0
5
-33
58
-18
-103
0
0
0
0
-2
26
-25
37
-43
0
-41
0
7
-20
3
19
-45
-12
0
0
42
-40
56
3
-5
0
0
0
0
0
-7
-2
0
43
0
0
0
0
0
-1
-24
-24
45
0
0
0
0
0
0
-31
14
18
0
0
0
0
0
-3
25
-5
-11
0
0
0
0
0
-1
4
-18
20
0
0
0
0
0
0
0
-7
16
0
0
0
0
0
-13
13
35
8
0
0
0
0
-8
-11
2
20
-8
0
0
0
0
0
0
0
-29
-23
0
0
0
0
0
0
1
1
-58
0
0
0
0
0
0
-3
-71
34
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-1
-5
-2
15
0
0
0
0
0
0
0
18
-43
0
0
0
0
0
0
0
9
-7
0
0
0
0
7
30
-39
24
53
-30
0
0
0
-1
1
-6
-14
51
-13
0
0
0
0
-4
1
3
20
-14
0
0
0
0
-1
6
-43
31
-55
0
0
0
8
-1
5
4
16
-9
0
0
0
-1
0
0
-32
-3
4
0
0
0
-2
0
0
3
1
3
0
0
0
0
-10
2
-4
8
-34
0
0
0
11
-3
-24
-57
-23
-23
-5
0
0
0
-2
-2
-14
125
-27
-12
0
0
0
-5
-2
-18
-43
32
11
0
0
0
0
-1
6
-25
-51
50
0
0
17
-2
13
-13
5
-33
33
0
0
0
0
-4
1
13
-28
44
0
0
13
3
3
-11
5
-12
-7
0
0
-64
-89
-36
29
-54
23
-4
0
0
-2
-15
41
7
34
0
0
0
-21
-46
13
-32
40
71
0
0
0
0
0
18
12
-94
39
0
0
33
26
-32
-35
99
-16
-23
0
0
0
0
28
11
38
22
-47
0
0
0
132
34
-24
-95
-54
6
0
0
0
0
-13
9
-14
98
-53
0
0
-7
-5
6
-67
-76
-1
25
0
0
0
0
17
-27
57
-13
-27
0
0
0
-10
0
-39
4
58
-21
0
0
0
0
-21
-19
-94
-14
18
0
0
32
10
-9
9
14
-120
-9
0
0
0
0
-10
17
62
-37
-39
0
0
0
-79
0
-7
-22
-7
7
0
0
0
0
-40
9
44
-77
46
0
0
53
-5
8
-33
-14
-75
2
0
0
0
0
21
10
61
33
1
7
0
0
45
5
10
-84
-7
-30
28
0
0
0
2
8
14
34
53
-22
0
74
-26
5
17
-16
-98
55
-22
0
0
0
75
80
41
53
-108
-24
0
0
-26
-9
-6
1
28
19
-20
0
0
0
3
52
-23
1
-28
13
0
-19
16
-10
-34
-74
51
34
0
0
0
0
69
-11
17
-44
66
-76
6
0
-25
1
-35
23
19
-57
34
-14
0
0
-31
10
-74
-100
72
-89
6
-62
3
-8
-29
44
-37
-9
-4
0
0
0
-39
46
8
-42
17
19
-33
0
-28
-3
-59
-91
54
5
12
29
0
0
-24
-90
-2
-55
-7
-12
37
-119
-14
7
12
-13
-8
-19
-43
-25
0
0
79
14
-31
26
-9
0
0
0
0
0
-5
-45
8
35
0
0
0
0
0
25
3
-19
17
0
0
0
0
0
-9
-48
-36
1
0
0
0
0
-6
-9
-16
15
-4
0
0
0
0
0
14
-8
37
44
0
0
0
0
-1
-2
-5
-5
14
0
0
0
0
0
-34
33
-86
95
0
0
0
0
1
18
-14
-34
-4
0
0
0
0
0
-3
5
25
-55
0
0
0
0
0
4
-5
16
-66
0
0
0
0
0
6
1
85
-20
0
0
0
0
-2
1
24
6
-15
0
0
0
0
0
0
45
-4
25
0
0
0
0
-1
-5
-14
-45
46
0
0
0
0
0
22
33
-67
67
0
0
0
0
-50
-24
29
-17
33
0
0
0
0
0
2
-9
-22
-23
0
0
0
0
0
1
6
-64
37
0
0
0
0
0
-2
33
3
32
0
0
0
0
-6
20
23
-10
27
0
0
0
0
0
0
10
-49
15
0
0
0
0
0
0
-14
-8
-21
0
0
0
0
0
2
-24
11
52
0
0
0
0
-7
-47
2
-2
35
0
0
0
0
0
1
0
6
36
0
0
0
0
1
2
-9
-37
60
0
0
0
0
0
13
0
47
55
0
0
0
0
4
-81
27
-1
-36
0
0
0
0
0
-2
6
-15
28
0
0
0
0
34
-15
-29
17
29
0
0
0
0
-19
29
2
34
24
0
0
0
0
0
-2
-18
24
-8
0
0
0
-79
0
0
-2
-55
38
0
0
0
0
0
0
1
-17
5
0
0
0
0
0
1
14
-62
16
0
0
0
0
0
0
7
-23
25
0
0
0
0
0
0
-3
23
45
0
0
0
0
0
0
-2
-46
-2
0
0
0
0
0
5
-11
-16
33
0
0
0
0
0
0
0
18
12
0
0
0
-6
0
0
2
29
13
0
0
0
0
0
0
-1
-15
17
0
0
0
-1
0
-3
1
10
22
0
0
0
0
0
0
-4
-7
40
0
0
0
0
0
0
1
-6
35
0
0
0
0
0
0
6
-42
-46
0
0
0
0
0
1
-5
50
-59
0
0
0
0
0
0
5
22
-3
0
0
0
40
0
0
2
-25
42
0
0
0
0
0
0
1
-33
8
0
0
0
0
0
0
0
-17
65
0
0
0
0
0
0
-1
8
-38
0
0
0
18
0
0
1
-73
43
0
0
0
0
0
0
0
33
-28
0
0
0
0
0
0
1
-5
-5
0
0
0
0
0
0
0
26
36
0
0
0
18
0
0
-1
-17
-26
0
0
0
0
0
0
0
18
-50
0
0
0
0
0
-1
-1
63
37
0
0
0
0
0
0
0
-40
32
0
0
0
-74
0
0
-6
-35
103
0
0
0
0
0
0
3
25
2
0
0
0
72
0
-22
-77
8
8
0
0
0
0
0
1
5
11
-18
0
0
0
0
0
0
14
-37
32
0
0
0
0
0
0
20
-21
-36
0
0
0
0
0
-5
7
-57
32
0
0
0
0
0
0
25
-76
20
0
0
0
0
0
0
11
-14
2
0
0
0
0
0
0
6
-32
19
0
0
0
0
0
-2
-71
11
0
0
0
0
0
0
0
-17
-22
23
0
0
0
0
0
0
-1
-21
-11
0
0
0
0
0
0
-6
-30
14
0
0
0
0
0
-1
-13
27
18
0
0
0
0
0
0
2
-71
86
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
14
-33
0
0
0
0
0
-2
-22
-5
31
0
0
0
0
0
0
-22
-38
29
0
0
0
0
0
0
10
-53
36
0
0
0
0
0
0
1
6
11
0
0
0
0
0
0
-18
7
22
0
0
0
0
0
1
-14
11
11
0
0
0
0
0
0
-20
-9
4
0
0
0
0
0
0
0
18
-11
0
0
0
0
0
0
-1
13
-62
0
0
0
0
-1
2
19
-35
8
0
0
0
0
0
0
0
-51
42
0
0
0
0
0
0
-20
-5
74
0
0
0
0
0
0
4
-30
6
0
0
0
0
0
1
1
-7
52
0
0
0
0
0
0
7
-15
-5
0
0
0
0
0
0
0
21
19
0
0
0
0
3
-68
-49
-20
103
0
0
0
0
0
-4
27
20
-25
0
0
0
0
0
0
-2
-76
57
0
0
0
0
0
0
57
-60
45
0
0
-33
0
0
0
-95
-3
59
0
0
0
0
0
0
34
12
22
0
0
0
0
0
0
-31
-3
20
0
0
0
0
0
0
7
54
22
0
0
-1
0
0
0
48
-16
33
0
0
0
0
0
-1
73
36
-58
0
0
0
0
0
0
15
-1
-32
0
0
0
0
0
0
-12
-66
15
0
0
3
0
0
1
1
-120
-10
0
0
0
0
0
0
-20
-18
17
0
0
0
0
0
0
24
-40
14
0
0
0
0
0
0
26
-40
99
0
0
6
0
0
0
-63
74
-14
0
0
0
0
0
0
-8
-38
-23
0
0
0
1
0
0
-3
-36
-1
0
0
0
0
0
-1
-7
25
9
0
0
43
0
0
-1
6
-58
-19
0
0
0
0
0
0
1
14
20
0
0
0
0
0
0
-14
-40
83
0
0
0
0
0
0
-27
-17
46
0
0
9
0
0
0
21
-17
21
0
0
0
0
0
1
-25
-58
32
0
0
0
0
0
0
-7
2
-12
0
0
0
0
0
0
-36
6
15
0
0
-65
0
0
-3
-3
68
-29
0
0
0
0
0
0
-5
-10
37
0
0
0
0
0
0
-7
52
-61
0
0
0
0
0
2
6
-9
-12
0
0
99
4
1
-7
-13
-6
-16
0
0
0
0
-4
-43
-43
-14
98
0
0
0
0
0
1
-9
25
-8
0
0
0
0
0
0
20
-33
5
0
0
0
0
0
0
41
-44
82
0
0
0
0
0
-1
15
-4
10
0
0
0
0
0
0
14
-18
33
0
0
0
0
0
0
-3
5
-2
0
0
0
0
0
0
30
-30
-2
0
0
0
0
0
0
13
-51
43
0
0
0
0
0
0
-2
-19
30
0
0
0
0
0
0
0
-13
6
0
0
0
0
0
1
5
-14
23
0
0
0
0
0
0
-3
7
2
0
0
0
0
0
0
-6
-15
2
0
0
0
0
0
0
1
13
-24
0
0
0
0
0
2
-15
4
33
0
0
0
0
3
-6
24
-8
-27
0
0
0
0
0
2
0
-19
-7
0
0
0
0
0
3
1
-11
6
0
0
0
0
0
3
-3
14
-6
0
0
0
0
0
0
0
14
15
0
0
0
0
0
0
1
-11
-18
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
7
-5
-1
0
0
0
0
0
1
29
4
-25
-1
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
33
-19
0
0
0
0
0
0
14
34
-57
0
0
0
0
0
2
-1
-1
-5
0
0
0
0
0
0
2
-22
45
0
0
0
0
0
0
7
8
15
0
0
0
0
0
5
36
35
-11
0
0
0
0
0
0
7
14
16
0
0
0
-2
0
0
-5
18
-3
0
0
0
0
0
0
8
-9
-16
0
0
0
0
0
-2
6
-34
96
0
0
0
0
0
0
1
0
13
0
0
0
0
0
0
1
-19
-14
0
0
0
0
0
0
-3
1
8
0
0
0
0
0
1
-5
-5
5
0
0
0
0
0
0
1
-13
-21
0
0
0
0
0
2
-5
9
-3
0
0
0
0
0
0
2
5
-33
0
0
0
0
0
0
-5
-22
25
0
0
0
0
0
0
-3
1
-17
0
0
0
0
0
0
-5
-3
53
0
0
0
0
0
0
0
4
17
0
0
0
0
0
5
33
-22
-33
0
0
0
0
0
0
7
24
-14
0
0
0
1
0
0
1
4
5
0
0
0
0
0
0
-2
-11
-10
0
0
0
0
0
0
-1
-43
22
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
18
0
0
0
-13
0
0
1
-8
23
0
0
0
0
0
0
-4
5
7
0
0
0
0
0
0
-2
-6
18
0
0
0
0
0
0
0
-9
33
0
0
0
1
0
0
1
1
42
0
0
0
0
0
0
-5
5
-45
0
0
0
-11
0
3
30
-43
14
0
0
0
0
1
0
4
-19
25
0
0
0
0
0
0
-6
2
-27
0
0
0
0
0
1
0
-8
15
0
0
0
0
0
-1
-2
-5
50
0
0
0
0
0
0
0
-6
16
0
0
0
0
0
0
-2
3
-84
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
4
4
-2
1
0
0
0
0
1
-3
0
26
-16
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
-25
4
0
0
0
0
0
2
1
-29
11
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
41
0
0
0
0
0
0
0
-1
13
0
0
0
0
3
0
1
18
-9
0
0
0
0
0
0
-1
-18
11
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-10
-11
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
1
16
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
11
0
0
0
0
0
0
1
3
-32
-5
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
-9
22
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
3
14
2
0
0
0
0
0
0
-4
-33
20
0
0
0
0
0
27
37
-45
22
0
0
0
0
0
-8
-70
-34
52
0
0
0
0
0
-2
22
-24
38
0
0
-1
0
0
86
-47
57
-81
0
0
0
0
0
3
14
-13
39
0
0
0
0
0
0
1
-102
19
0
0
0
0
0
3
31
-1
-39
0
0
0
0
0
4
7
-32
3
0
0
0
0
0
11
10
-11
-39
0
0
0
0
0
0
-33
16
43
0
0
0
0
0
0
4
1
50
0
0
0
0
0
-24
66
2
-35
0
0
0
0
0
7
14
-16
5
0
0
0
0
0
-2
9
-15
32
0
0
0
0
0
-3
33
-4
36
0
0
0
0
0
-44
47
-27
30
0
0
0
0
0
6
53
61
-29
0
0
0
2
0
-10
-13
10
43
0
0
0
0
0
-4
-15
5
19
0
0
-1
0
0
2
-60
25
1
0
0
0
0
0
5
61
13
-33
0
0
0
0
0
4
49
-21
-10
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-8
5
41
-5
0
0
0
0
0
32
14
-63
24
0
0
0
0
0
-13
-7
58
-3
0
0
0
0
0
0
-22
35
10
0
0
-1
0
0
-1
-47
-82
2
0
0
0
0
0
-34
-11
9
-16
0
0
0
0
0
1
0
9
-24
0
0
0
0
0
20
-10
-59
24
0
0
-10
0
-1
8
-29
5
-21
0
0
0
0
67
-21
14
-12
-8
0
0
0
0
0
-3
5
-25
12
0
0
0
0
-1
-9
-15
51
-17
0
0
0
0
-4
7
52
-28
14
0
0
0
0
0
-7
-9
0
17
0
0
0
0
0
0
3
-8
-11
0
0
0
0
0
0
4
-19
18
0
0
0
0
0
-1
7
34
-16
0
0
0
0
2
18
-3
-7
26
0
0
0
0
0
0
-4
-68
-1
0
0
0
0
0
-10
-1
0
23
0
0
0
0
0
-3
4
-4
-2
0
0
0
0
0
-3
0
-2
5
0
0
0
0
0
-2
-14
9
31
0
0
0
0
0
-1
-1
0
11
0
0
0
0
-2
1
-16
8
23
0
0
0
0
-10
0
-5
14
61
0
0
0
0
0
0
-5
-14
9
0
0
0
0
0
0
1
22
-5
0
0
0
0
0
1
6
-13
-37
0
0
0
0
0
17
0
0
-33
0
0
0
0
0
0
-5
13
45
0
0
0
0
0
0
2
-4
-2
0
0
0
0
0
-1
-3
-8
-14
0
0
0
0
-5
0
5
20
47
0
0
0
0
0
0
-2
2
61
0
0
0
0
0
0
0
-15
7
0
0
0
0
0
0
-1
39
2
0
0
0
0
-7
-2
-7
-1
-1
0
0
0
0
0
0
1
-23
12
0
0
0
0
1
1
-1
-22
50
0
0
0
0
19
14
97
-62
-23
0
0
0
0
0
0
-2
-49
13
0
0
0
-33
0
0
4
-28
40
0
0
0
0
0
0
-1
29
-8
0
0
0
0
0
0
8
27
-20
0
0
0
0
0
0
0
-17
10
0
0
0
0
0
-2
5
-14
14
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
1
-3
-48
-15
0
0
0
0
0
0
0
5
21
0
0
0
0
0
0
0
-40
70
0
0
0
0
0
0
-1
-24
63
0
0
0
0
0
0
-5
-1
61
0
0
0
0
0
0
1
0
25
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-6
27
0
0
0
0
0
0
1
-14
23
0
0
0
0
0
0
-2
-39
53
0
0
0
22
0
-1
2
-4
-32
0
0
0
0
0
0
0
-6
14
0
0
0
0
0
0
-8
-4
17
0
0
0
0
0
0
-1
0
49
0
0
0
-3
0
0
0
-15
11
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
-19
-9
0
0
0
0
0
0
5
-3
37
0
0
0
-1
0
0
0
6
7
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
-9
4
0
0
0
0
0
0
0
-6
-5
0
0
0
31
0
0
3
-33
11
0
0
0
0
0
0
-2
-6
-3
0
0
0
-31
0
0
33
25
-5
0
0
0
0
0
3
20
-3
-24
0
0
0
0
0
-2
0
-11
-8
0
0
0
0
0
7
1
-12
6
0
0
0
0
0
0
31
-23
0
0
0
0
0
0
0
0
20
-46
0
0
0
0
0
0
10
-53
-13
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
-1
-5
29
-41
0
0
0
0
0
1
-3
-20
-15
0
0
0
0
0
0
-1
14
57
0
0
0
0
0
0
0
-9
11
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
2
20
0
0
0
0
0
-1
0
-5
-33
0
0
0
0
0
-1
3
14
-23
0
0
0
0
-3
-6
-1
-10
38
0
0
0
0
0
1
3
-5
14
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
-7
-9
20
0
0
0
0
-2
1
0
-17
30
0
0
0
0
0
0
-9
-7
68
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
-2
-3
-17
0
0
0
0
0
0
1
1
53
0
0
0
0
0
1
-2
-8
25
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-13
-2
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
-4
-5
-3
29
0
0
0
0
0
0
1
14
8
0
0
0
0
0
29
-36
27
-19
0
0
0
0
0
-2
-54
48
34
0
0
0
0
0
3
1
-16
14
0
0
0
0
0
4
-18
-9
11
0
0
17
0
0
0
21
60
20
0
0
0
0
0
0
-4
-42
11
0
0
0
0
0
-7
-24
21
5
0
0
0
0
0
0
1
9
-5
0
0
0
0
0
0
17
-18
-17
0
0
0
0
0
2
19
9
-4
0
0
0
0
0
1
24
6
-1
0
0
0
0
0
-2
1
-63
33
0
0
2
0
0
-2
9
49
7
0
0
0
0
0
0
-3
31
2
0
0
0
0
0
0
-8
-3
14
0
0
0
0
0
-2
-1
-18
19
0
0
0
0
0
0
-4
-4
20
0
0
0
0
0
3
-2
-44
0
0
0
0
0
0
0
5
-67
52
0
0
0
0
0
0
1
-16
-2
0
0
9
0
0
4
18
-94
-5
0
0
0
0
0
1
3
-8
-3
0
0
0
0
0
0
9
-36
29
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
-36
5
0
0
0
0
0
-9
-9
44
-25
0
0
0
-3
0
0
-2
18
5
0
0
0
0
0
0
0
-21
17
0
0
2
0
0
1
0
-11
2
0
0
0
0
0
0
-3
2
-23
0
0
0
0
0
0
-9
20
66
0
0
0
0
0
0
2
-44
5
0
0
-34
1
0
-14
-1
-15
7
0
0
0
0
3
1
-1
-5
65
0
0
0
0
0
6
0
5
33
0
0
0
0
0
0
0
-13
21
0
0
0
0
0
0
-5
-11
-10
0
0
0
0
0
0
-2
1
-5
0
0
0
0
0
0
0
20
-61
0
0
0
0
0
0
0
-2
-26
0
0
0
0
0
0
-1
5
-26
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
8
42
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
1
-16
31
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
-1
0
44
0
0
0
0
0
0
0
2
-29
0
0
0
0
0
0
-3
6
-59
0
0
0
0
0
1
1
1
-90
0
0
0
0
0
0
-2
-43
79
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-3
4
-4
0
0
0
0
0
0
0
8
-16
0
0
0
0
0
0
0
-2
-46
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
-9
2
0
0
0
0
0
1
-1
-2
13
14
0
0
0
0
0
0
0
-11
7
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
-35
0
0
0
0
0
0
0
3
5
0
0
0
0
0
-1
0
-2
-11
0
0
0
0
0
-17
-53
-26
53
0
0
0
0
0
0
1
-14
72
0
0
0
-4
0
0
-1
-54
53
0
0
0
0
0
0
0
-1
58
0
0
0
0
0
0
0
-77
74
0
0
0
0
0
0
4
0
18
0
0
0
0
0
0
0
14
-46
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
-5
10
0
0
0
0
0
4
0
-5
80
0
0
0
0
0
0
1
-7
46
0
0
0
0
0
0
-1
0
-15
0
0
0
0
0
0
0
-6
32
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
-2
6
28
0
0
0
-1
0
0
2
4
58
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
4
-1
21
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
2
0
0
0
3
0
0
0
-2
4
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
-13
-4
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
1
0
-2
0
0
0
0
-1
-1
-47
25
45
0
0
0
0
16
-1
-9
-33
24
0
0
0
0
0
-2
3
-62
22
0
0
0
0
0
-3
-1
-3
-4
0
0
0
0
0
0
0
-29
29
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-4
27
0
0
0
0
0
0
0
-10
10
0
0
0
0
0
0
1
-21
33
0
0
0
0
0
-1
-2
-17
21
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5
2
4
-31
0
0
0
0
0
0
-1
-7
33
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-2
7
0
0
0
0
-1
-1
1
-2
18
0
0
0
0
-5
1
0
1
34
0
0
0
0
0
0
3
-16
-14
0
0
0
0
0
0
-1
5
7
0
0
0
0
0
0
-14
-6
25
0
0
0
0
0
0
3
0
-24
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-1
0
1
-1
0
0
0
0
14
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
34
0
0
0
0
-2
0
0
-1
23
0
0
0
0
0
0
0
0
-1
0
0
0
0
14
9
-16
-12
-13
0
0
0
0
-35
42
-5
-73
18
0
0
0
21
0
7
5
8
1
0
0
0
0
0
-4
1
0
34
0
0
4
0
0
13
-40
0
-23
0
0
0
0
0
8
23
-2
-1
0
0
0
0
0
23
-20
-5
31
0
0
0
0
0
3
2
4
14
0
0
0
0
0
-23
-11
-44
72
0
0
0
0
0
-14
-20
48
23
0
0
0
1
0
-4
4
-34
5
0
0
0
0
0
2
-4
11
-43
0
0
1
0
0
-8
-16
-19
21
0
0
0
0
0
-22
-8
7
-5
0
0
0
0
0
-1
6
0
-35
0
0
0
0
0
3
4
4
9
0
0
0
0
-1
7
-4
-25
26
0
0
0
0
2
-14
109
0
-63
0
0
0
5
0
-6
50
-71
-5
0
0
0
0
0
1
-5
-5
-14
0
0
-2
0
0
23
36
-44
-69
0
0
0
0
-3
63
8
14
-6
0
0
0
0
0
-45
-1
-2
33
0
0
0
0
0
-2
-3
-1
9
0
0
0
0
0
-12
10
5
-18
0
0
0
0
-5
-31
47
14
-20
0
0
0
-5
0
-33
9
-4
7
0
0
0
0
0
-33
3
-1
16
0
0
-10
0
0
-6
-2
-2
-9
0
0
0
0
-5
-5
-4
-2
12
0
0
0
-1
0
25
9
-22
-40
0
0
0
0
0
-30
6
-45
48
0
0
7
-5
-8
-3
19
22
-19
0
0
0
0
35
-23
12
-5
43
0
0
0
0
0
1
2
-48
24
0
0
0
0
2
1
5
24
40
0
0
0
0
0
1
-21
14
28
0
0
0
0
0
25
-7
-26
16
0
0
0
0
0
0
-2
7
-26
0
0
0
0
0
1
5
5
2
0
0
0
0
0
1
35
-15
19
0
0
0
0
-42
5
0
6
-4
0
0
0
0
0
0
1
-9
42
0
0
0
0
0
2
1
38
1
0
0
0
0
0
7
24
-3
-48
0
0
0
0
0
-4
-1
-2
46
0
0
0
0
0
0
0
-10
7
0
0
0
0
2
2
0
21
1
0
0
0
0
-2
16
55
41
-8
0
0
0
0
17
46
-3
16
5
-7
0
0
0
0
0
4
-43
-23
-15
0
0
0
0
1
6
-33
6
-13
0
0
0
0
0
-1
-69
3
5
0
0
0
0
1
-2
-2
31
6
0
0
0
0
0
-4
5
5
-1
0
0
0
-4
-1
0
0
6
9
0
0
0
0
1
-5
-5
13
17
0
0
0
-11
5
-7
26
29
2
0
0
0
0
0
0
-4
36
-5
0
0
0
0
-1
0
-14
87
-19
0
0
0
0
5
-21
-64
47
6
0
0
0
-11
0
-11
7
2
16
0
0
0
0
0
9
33
-28
14
0
0
0
-2
0
0
-97
22
26
0
0
0
0
-46
73
30
46
-28
0
0
0
0
2
-18
-2
11
0
0
0
19
0
0
-6
-13
-6
0
0
0
0
0
0
-1
-30
3
0
0
0
0
0
1
8
-61
44
0
0
0
0
0
2
0
46
-59
0
0
0
3
0
0
1
5
-44
0
0
0
0
0
0
1
-45
8
0
0
0
0
0
-2
3
-28
-18
0
0
0
0
0
0
-1
29
-14
0
0
0
5
0
0
0
-5
53
0
0
0
0
0
0
0
49
-21
0
0
0
0
0
0
-6
-29
27
0
0
0
0
0
0
7
9
-14
0
0
0
0
0
-1
-3
17
29
0
0
0
0
0
0
0
2
22
0
0
0
0
0
-1
-5
7
8
0
0
0
0
0
0
0
4
-5
-18
0
0
21
0
0
0
-74
71
-1
0
0
0
0
0
0
-46
21
-6
0
0
0
0
0
2
-31
-10
6
0
0
0
0
0
2
-45
-14
6
0
0
3
0
0
1
-4
-70
48
0
0
0
0
0
0
-18
15
10
0
0
0
0
-1
2
-5
26
4
0
0
0
0
2
5
11
17
11
0
0
-34
0
0
3
7
-53
13
0
0
0
0
0
0
7
55
-43
0
0
0
0
0
0
-5
31
-42
0
0
0
0
0
-3
69
7
-31
0
0
-18
0
0
0
76
-7
8
0
0
0
0
0
0
11
43
-12
0
0
75
0
5
-56
-75
-12
14
0
0
0
3
0
-7
13
15
0
0
0
0
0
0
0
1
43
0
0
0
0
0
-3
0
-24
5
0
0
0
0
0
-1
0
-50
17
0
0
0
0
0
-1
-5
14
20
0
0
0
0
0
0
-2
2
55
0
0
0
0
0
0
1
14
-3
0
0
0
0
0
0
-6
-22
5
0
0
0
0
-1
-1
2
27
-1
0
0
0
0
0
0
-2
-13
-32
0
0
0
0
0
-1
0
-5
20
0
0
0
0
0
0
-3
-26
-4
0
0
0
0
0
0
0
-5
21
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
-61
-8
0
0
0
0
-6
-2
1
1
59
3
0
0
0
0
0
1
-4
-39
14
0
0
0
0
0
-4
5
-26
12
0
0
0
0
0
-11
-41
8
-20
0
0
0
1
4
0
1
-13
-43
0
0
0
0
0
-1
-5
-24
-29
0
0
0
0
0
0
3
-3
-10
0
0
0
0
0
0
4
1
18
0
0
0
1
-4
0
-40
-18
25
0
0
0
0
0
-1
-4
47
-37
0
0
0
0
0
-2
-14
-21
-1
0
0
0
0
0
0
-42
16
30
0
0
0
-2
0
0
-8
36
-26
0
0
0
0
0
0
10
19
-53
0
0
0
0
0
0
27
25
-46
0
0
0
0
2
20
-74
43
12
0
0
0
0
7
0
-41
52
0
0
0
0
0
0
18
-62
-7
0
0
0
0
0
-6
-22
-35
8
0
0
-15
0
0
0
34
-33
13
0
0
0
0
0
0
-16
16
27
0
0
0
0
0
0
-5
5
-5
0
0
0
0
0
0
-3
-2
1
0
0
0
0
0
0
52
24
8
0
0
0
0
0
0
34
-30
-33
0
0
0
0
0
0
-4
-36
14
0
0
0
0
0
0
4
-38
10
0
0
1
0
0
0
-13
-20
-5
0
0
0
0
0
0
-3
-10
2
0
0
0
0
0
0
-14
33
-23
0
0
0
0
0
0
8
-9
-14
0
0
0
0
0
2
14
-33
7
0
0
0
0
0
0
16
14
71
-19
0
0
0
0
0
-1
32
52
-5
0
0
0
0
0
0
19
13
-41
0
-16
0
0
0
-5
33
13
-4
0
0
0
0
0
-35
-3
-13
7
0
0
0
0
0
3
-8
5
-34
0
0
0
0
0
2
7
2
-34
0
-3
0
0
0
-2
-16
0
71
0
0
0
0
0
21
-3
-38
6
0
0
0
0
1
0
-54
-43
42
0
0
0
0
0
5
5
9
-29
0
12
0
0
0
1
34
-6
-33
0
0
0
0
0
-1
-5
9
-76
0
0
0
0
0
0
-26
-1
-51
0
0
0
0
-4
-9
-118
32
79
0
37
8
0
-30
14
-86
50
-29
0
0
0
22
-30
-61
-58
74
0
0
0
0
0
0
0
-20
15
0
0
0
0
0
-1
16
-8
48
0
0
0
0
0
-2
22
-73
33
0
0
0
0
0
0
13
-7
-10
0
0
0
0
0
0
1
-5
-24
0
0
0
0
0
0
1
3
6
0
0
0
0
0
0
9
-5
14
0
0
0
0
0
0
2
-14
54
0
0
0
0
0
0
-1
8
21
0
0
0
0
0
0
-5
-30
20
0
0
0
0
0
0
-30
-5
17
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
-18
0
0
0
0
0
0
-10
-44
77
0
0
0
0
1
0
4
33
-25
17
0
0
0
0
0
0
-29
-23
-4
0
0
0
0
0
0
-45
-11
-13
0
0
0
0
0
-1
-2
-1
-21
0
0
0
0
0
6
7
11
-98
0
0
0
0
0
0
2
5
-15
0
0
0
0
0
0
-2
8
-7
0
0
0
0
3
1
5
-1
-67
0
0
0
-5
-1
5
32
39
-50
0
0
0
0
0
0
-57
43
31
0
0
0
0
0
0
-7
-3
2
0
0
0
0
0
-1
71
-16
-54
0
0
0
0
0
-1
9
-22
-33
0
0
0
0
0
0
1
7
5
0
0
0
0
0
0
1
-5
-14
0
0
0
-6
11
-12
-21
49
-10
0
0
0
0
0
-11
18
8
0
0
0
-29
0
0
5
45
-55
0
0
0
0
0
0
-1
-15
47
0
0
0
0
0
4
32
-25
-29
0
0
0
0
0
0
1
-15
45
0
0
0
0
0
0
0
1
-23
0
0
0
0
0
0
5
-5
24
0
0
0
0
0
0
-14
-8
3
0
0
0
0
0
0
0
-17
46
0
0
0
0
0
0
2
34
-17
0
0
0
0
0
0
0
-4
45
0
0
0
0
0
0
3
47
-3
0
0
0
0
0
0
1
0
-5
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
-19
-36
0
0
0
0
0
0
-1
-51
52
5
0
0
0
0
0
-4
-4
59
5
0
0
0
0
0
1
3
-5
-24
0
0
0
0
0
8
-5
-14
-2
0
0
0
0
0
0
-9
14
-56
0
0
1
0
0
2
1
1
0
0
0
0
0
0
0
-5
-6
7
0
0
0
0
0
-2
3
0
36
0
0
0
0
0
3
7
-5
39
0
0
4
0
0
0
-55
14
58
0
0
0
0
0
1
-73
-19
23
0
0
0
0
0
-1
0
3
-65
0
0
0
0
0
0
13
32
3
0
0
-2
0
0
0
-5
7
-2
0
0
0
0
1
1
-22
-9
1
0
0
0
-2
3
-7
-1
12
-65
0
0
0
-36
-1
0
-15
74
0
0
0
0
0
0
-1
-28
61
0
0
0
0
0
0
0
-2
-17
0
0
0
0
0
0
-14
-37
74
0
0
0
0
0
0
1
-5
20
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
-5
-1
0
0
0
0
1
0
0
4
-12
0
0
0
0
0
0
0
24
5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
-71
-17
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
-11
0
0
0
0
0
0
-1
7
-8
0
0
0
0
0
0
0
13
13
7
0
0
0
0
0
0
-14
18
50
0
0
0
0
0
0
5
-4
-31
0
0
0
0
0
-4
8
-3
-51
0
0
0
1
0
0
-1
0
-26
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
2
-53
0
0
0
0
0
0
-1
0
-45
0
0
0
0
0
-2
-41
-8
33
0
0
0
0
0
0
19
-5
-79
0
0
0
0
0
0
-33
-2
6
0
0
0
0
0
0
-3
0
-22
0
0
0
-4
0
0
0
-14
32
0
0
0
0
0
-1
0
2
-34
0
0
0
0
0
0
0
0
-30
0
0
0
0
2
-5
5
-73
4
0
0
0
2
9
-29
-14
27
0
0
0
0
0
1
-22
4
-24
0
0
0
0
0
1
39
-12
-10
0
0
-3
0
0
1
-5
33
-9
0
0
0
0
0
4
-53
35
1
0
0
0
0
0
1
8
-11
-10
0
0
0
0
0
-1
-2
-4
-7
0
0
0
0
0
-3
4
-29
58
0
0
0
0
0
26
55
46
-49
0
0
0
1
0
0
-6
4
-1
0
0
0
0
0
0
1
-53
43
0
0
8
0
0
0
-59
8
-53
0
0
0
0
0
0
2
-21
7
0
0
0
0
0
0
-17
-5
0
0
0
0
0
0
2
0
6
5
0
0
0
0
0
-6
-5
-25
20
0
0
0
0
-1
5
17
9
-72
15
0
0
0
0
0
2
10
-48
9
0
0
0
0
-1
-8
-19
6
-14
0
11
0
0
0
9
-60
0
5
0
0
0
1
-1
0
0
-4
-82
0
0
0
0
0
0
-8
3
-84
0
0
0
0
2
-2
0
0
-97
0
0
0
0
0
2
-1
0
-40
0
0
0
0
6
50
4
-3
-20
0
0
0
0
0
-58
1
-18
31
0
0
0
0
0
-6
-45
-3
45
0
-5
0
0
0
53
-10
-11
52
0
0
0
0
-1
7
17
-14
-40
0
0
-1
0
0
-6
-5
33
-80
0
0
0
0
-1
9
-9
9
-74
0
7
4
0
5
-32
-32
51
-57
0
0
0
-27
-8
25
43
55
0
0
0
0
0
2
5
47
-30
0
0
0
0
0
-3
20
25
22
0
0
0
0
1
-1
4
-4
27
0
0
0
0
0
-53
-5
41
46
0
0
0
0
0
3
-51
-13
5
0
0
0
0
3
-2
-6
3
-54
0
0
0
0
0
9
58
-14
-4
0
0
0
0
15
4
-7
-48
53
0
0
0
0
0
0
8
-48
5
0
0
0
0
0
0
4
-21
17
0
0
0
0
0
-5
5
-13
31
0
0
0
0
0
2
1
-1
-19
0
0
0
0
0
0
0
-2
33
0
0
0
0
0
2
1
-1
-31
0
0
0
0
1
5
-9
-31
24
0
0
0
0
-9
18
8
19
44
13
0
0
0
0
1
-4
23
17
-78
0
0
0
0
-2
-5
15
69
-53
0
0
0
0
0
41
-5
-25
-34
0
0
0
0
5
0
-9
-19
-2
0
0
0
0
0
0
-11
74
-2
0
0
0
-1
0
0
0
-16
8
0
0
0
0
-1
-15
18
-24
-20
0
0
0
-3
8
-74
6
62
-30
-1
0
0
0
-1
0
-33
96
-64
3
0
0
0
0
0
-19
3
11
-10
0
0
0
1
-6
7
-19
-24
-5
0
0
1
-2
-1
-25
-22
-37
25
0
0
0
-2
0
-23
-92
27
4
0
0
-4
0
1
-8
32
43
-7
0
0
19
3
-48
-100
-16
-38
23
0
0
0
-1
13
-23
11
0
0
0
-57
0
0
4
15
39
0
0
0
0
0
0
2
-44
53
0
0
0
0
0
0
2
39
25
0
0
0
0
0
0
0
-3
9
0
0
0
-1
0
0
5
-18
14
0
0
0
0
0
0
-1
9
-1
0
0
0
0
0
0
-2
14
-27
0
0
0
0
0
0
-3
-78
66
0
0
0
1
0
0
-4
-15
-32
0
0
0
0
0
0
0
6
39
0
0
0
0
0
0
0
-7
35
0
0
0
0
0
0
0
-1
11
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
3
26
0
0
0
0
0
0
0
24
-106
0
0
0
0
0
0
0
20
24
-39
0
0
-53
0
0
-1
-32
43
26
0
0
0
0
0
3
-72
23
15
0
0
0
0
0
-7
3
32
-84
0
0
0
0
0
0
0
36
-38
0
0
0
0
0
0
-26
-33
15
0
0
0
0
0
0
2
-3
-1
0
0
0
0
0
-2
-3
-21
38
0
0
0
0
0
-1
-34
-17
-11
45
0
96
0
0
-6
-35
32
-15
-8
0
0
0
0
0
-27
-30
38
-3
0
0
0
0
0
-14
6
-33
7
0
0
0
0
0
21
-23
-92
9
0
10
0
0
0
-20
54
-35
-33
0
0
0
0
0
20
21
-56
-31
0
-11
0
-3
1
-49
37
6
-15
0
0
0
-6
1
-43
45
0
0
0
0
0
0
-1
-46
69
0
0
0
0
0
5
-1
-28
-1
0
0
0
0
0
0
-4
-102
18
0
0
0
0
0
-1
-2
5
-17
0
0
0
0
0
0
7
-25
-24
0
0
0
0
0
2
0
0
15
0
0
0
0
0
0
-68
41
9
0
0
0
0
2
0
3
-5
14
0
0
0
0
0
0
0
21
37
0
0
0
0
0
0
0
31
-14
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
-2
24
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
4
-46
-8
0
0
0
0
-1
0
15
-7
28
43
0
0
0
0
0
0
18
43
-14
0
0
0
0
0
2
-5
76
-34
0
0
0
0
0
-5
29
-56
18
0
0
0
2
-1
0
18
-79
17
0
0
0
0
0
-1
-7
-5
-24
0
0
0
0
0
0
0
2
-55
0
0
0
0
-3
3
11
0
-80
0
0
0
-3
0
2
-43
-5
-23
8
0
0
0
0
-1
-24
-59
17
-4
0
0
0
0
0
-5
17
-25
-27
0
0
0
0
0
-19
-2
-90
-12
0
0
0
1
0
1
-7
-26
-33
0
0
0
0
0
-10
-20
17
9
0
0
0
0
0
4
-2
-109
73
0
0
1
-9
18
44
3
-45
29
0
0
0
0
-3
20
44
0
0
0
0
0
0
7
6
-4
0
0
0
0
0
-7
-3
-33
24
0
0
44
0
0
0
100
-78
9
0
0
0
0
0
0
-35
19
34
0
0
0
0
0
0
-20
-60
52
0
0
0
0
0
4
4
-39
13
0
0
4
0
0
-1
-23
15
2
0
0
0
0
0
2
16
-14
-43
0
0
0
4
0
-1
-2
-38
2
0
0
0
0
0
0
0
12
-33
0
0
-63
0
0
0
15
-33
14
0
0
0
0
0
0
0
-10
-5
0
0
0
0
0
0
2
-6
11
0
0
0
0
0
0
-3
0
3
0
0
-1
0
0
0
14
-43
29
0
0
0
0
1
-2
33
31
-24
27
0
0
1
0
0
-8
-11
42
22
0
0
0
0
-2
-15
-2
53
15
0
28
0
0
0
14
-23
-13
44
0
0
0
0
0
14
-10
31
-45
0
0
0
0
0
-1
-10
-10
-28
0
0
0
0
0
0
-1
-6
4
0
-7
0
0
0
0
-22
17
2
0
0
0
0
-2
-5
-14
7
45
5
0
-2
0
0
-6
33
-23
0
29
0
0
0
0
1
25
-6
-80
7
-17
0
0
-1
3
-2
-5
48
-16
0
0
0
0
0
-61
16
-37
-2
0
0
0
1
-2
11
-7
-29
15
0
0
0
-2
0
-6
-6
-32
7
-2
-2
2
44
-36
-68
-10
9
-2
0
0
15
-27
9
13
3
0
0
0
0
0
0
8
4
-34
0
0
0
0
0
1
-8
-66
47
0
0
0
0
0
0
-21
-9
26
0
0
0
0
-2
17
-5
2
-5
0
0
0
0
0
0
-3
-23
56
0
0
0
0
0
0
4
-2
-26
0
0
0
0
0
0
-7
32
-19
0
0
0
0
0
-1
2
-31
3
0
0
0
0
0
0
5
13
-45
0
0
0
0
0
-1
-2
-7
33
0
0
0
0
0
0
-11
28
-46
0
0
0
0
-1
-2
0
-9
41
0
0
0
0
0
0
-3
-2
75
0
0
0
0
0
-3
3
-13
-3
0
0
0
0
0
0
8
8
-15
0
0
0
0
1
-10
-42
5
72
3
0
0
0
0
-1
0
21
-49
-2
0
0
0
0
0
1
-11
14
-8
0
0
0
0
0
2
-3
4
-22
0
0
0
-1
0
1
-2
5
33
0
0
0
0
0
-2
-15
-56
39
0
0
0
0
0
0
1
3
-22
0
0
0
0
-2
14
6
1
-45
0
0
0
-2
-4
1
-13
10
-42
26
0
0
0
0
-2
18
-11
38
-17
0
0
0
0
0
1
0
-132
12
0
0
0
0
3
-23
-8
-33
-4
0
0
-1
0
6
0
-8
-70
-28
0
0
0
0
1
-11
-1
-46
19
0
0
2
-1
-2
-1
-8
-112
58
0
0
12
-27
60
-14
-49
24
-6
0
0
-1
0
-8
2
-4
0
0
0
2
0
1
-1
-46
5
0
0
0
0
0
1
-9
-22
-11
0
0
0
0
0
-6
-30
68
-3
0
0
0
0
0
0
1
-14
48
0
0
0
-1
0
0
-7
-45
73
0
0
0
0
0
0
1
21
-47
0
0
0
0
0
3
-6
-9
-36
0
0
0
0
0
2
0
-23
91
0
0
0
-16
0
0
2
-53
42
0
0
0
0
0
0
-1
18
-49
0
0
0
1
0
0
2
-36
5
0
0
0
0
0
0
0
-2
-12
0
0
0
-2
0
0
0
8
-58
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
-5
-3
-4
0
0
0
0
0
0
-4
-29
38
41
0
0
-8
0
0
-2
-24
52
2
0
0
0
0
0
1
-14
19
10
0
0
0
0
0
1
-5
15
-28
0
0
0
0
0
1
-19
-26
56
0
0
25
0
0
-1
-9
-6
-29
0
0
0
0
0
-2
6
6
-28
0
0
0
0
0
0
0
1
32
0
0
0
0
-2
3
-4
-3
-76
10
0
-59
0
0
0
17
-54
-53
90
0
0
0
0
0
4
-2
-20
-12
0
2
0
0
0
-32
-5
-35
-55
0
0
0
0
0
-14
27
65
-38
0
26
0
0
0
1
9
-66
5
0
0
0
0
-2
2
-1
-34
-20
0
-10
-2
-13
9
-20
10
-55
45
0
0
9
-35
25
22
18
0
0
0
0
0
3
0
26
13
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
-4
-65
11
37
0
0
0
0
0
0
-4
-8
58
0
0
0
0
0
-8
-1
10
25
0
0
0
0
0
0
0
5
-19
0
0
0
0
0
-26
-26
6
3
0
0
0
0
1
0
0
7
-12
0
0
0
0
0
0
0
-42
4
0
0
0
0
0
-1
-9
-10
14
0
0
0
0
0
0
2
-61
69
0
0
0
0
-2
0
0
0
15
0
0
0
0
0
1
0
-3
43
0
0
0
0
1
0
-1
0
-4
0
0
0
0
0
4
9
33
-33
0
0
0
0
-7
0
-1
14
6
-2
0
0
0
0
0
0
3
40
-35
0
0
0
-1
0
-2
-21
-16
1
0
0
0
0
0
-4
-15
-14
38
0
0
0
0
1
1
-15
8
58
0
0
0
0
0
1
0
2
-21
0
0
0
0
0
0
0
-1
-78
0
0
0
0
-5
0
0
0
17
0
0
0
14
1
3
-5
-1
-1
46
0
0
0
0
0
15
76
-14
-61
0
0
2
0
0
-18
2
-91
57
0
0
0
0
0
-11
-17
18
-32
0
0
17
0
-2
-1
-4
-108
136
0
0
0
0
0
-22
-22
-20
35
0
0
-35
1
0
-4
0
1
-23
0
0
-66
10
8
1
60
11
-26
0
0
10
17
10
58
-4
0
0
0
29
-58
2
-9
-20
56
0
0
0
0
35
45
43
19
-10
0
0
-3
64
17
-12
-42
40
-29
0
0
0
0
-1
3
-23
10
24
0
0
0
44
21
-51
-22
-33
-6
0
0
0
0
-3
-32
8
34
-37
0
0
1
35
12
-30
-54
-22
-2
0
0
0
0
54
36
8
-30
24
0
0
0
15
1
-18
50
-13
0
0
0
0
0
14
20
-28
-62
-3
0
0
6
65
-11
128
-5
-56
-17
0
0
0
0
-23
5
-27
-25
-3
0
0
0
-38
-2
-27
10
-19
-50
0
0
0
0
-68
-25
28
-62
0
0
0
13
-10
-6
-35
-4
-62
2
0
0
0
0
3
39
20
13
30
18
0
0
-84
-13
-25
-23
5
18
9
0
0
0
-8
41
4
4
64
-4
0
6
-61
48
-90
-4
-7
76
-8
0
0
0
80
-49
6
-18
75
-9
0
0
-4
0
-23
33
-49
-25
-4
0
0
0
-69
15
-52
6
34
-12
0
-39
-24
-57
4
67
-39
-21
-2
0
0
0
31
-34
44
-28
34
-7
31
0
17
-1
-61
-91
28
5
-1
-7
0
0
-126
-44
-44
4
20
-23
-3
-17
4
15
50
-96
-50
24
-40
-5
0
0
12
44
56
-19
22
-21
9
0
-53
16
-72
55
-8
-16
-15
13
0
0
17
-2
4
7
18
-25
4
-78
-4
42
-43
-7
6
-16
-40
-28
0
0
3
41
-56
7
37
0
0
0
0
18
-42
-5
-3
25
0
0
0
0
-4
-61
85
-59
15
0
0
0
0
0
47
-87
44
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
126
-92
45
0
0
0
0
0
0
8
16
-5
0
0
0
0
26
-82
56
-23
34
0
0
0
0
0
-1
0
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
-13
-22
-57
41
-23
0
0
0
0
0
4
-6
9
5
0
0
0
0
0
-20
-2
-39
46
0
0
0
0
0
35
0
-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
-28
18
-33
39
25
0
0
0
0
0
1
-53
24
98
0
0
0
0
0
2
-8
-17
53
0
0
0
0
0
-4
3
-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
0
-3
11
65
13
11
0
0
0
-8
-68
-13
68
-47
24
0
0
0
0
56
20
-51
28
-47
0
0
0
45
2
-55
16
-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
0
0
9
-13
0
0
0
20
0
0
13
-19
-4
0
0
0
0
0
0
2
-24
3
0
0
0
-7
0
2
7
-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
1
25
-64
13
0
0
0
-4
-5
-29
29
42
33
0
0
0
0
0
-1
10
-25
107
0
0
0
0
0
-7
-6
21
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
4
-30
24
0
0
0
5
0
-43
-30
-10
46
0
0
0
0
0
0
-6
5
12
0
0
0
-1
0
-1
14
30
-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
31
69
-11
-10
-6
0
0
0
0
-3
-19
14
-34
70
0
0
0
0
11
-6
-2
-13
46
0
0
0
0
-6
10
-42
35
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
-3
-34
30
0
0
0
0
0
2
-5
5
26
0
0
0
0
0
1
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
41
-20
48
0
0
0
0
0
1
-6
2
-20
0
0
0
0
0
25
-43
-9
74
0
0
0
0
1
-4
43
-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
0
0
0
0
0
0
0
0
0
-3
5
9
-44
0
0
0
0
0
0
0
-22
33
0
0
0
0
0
0
-5
-14
5
0
0
0
0
1
0
-2
-86
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
19
41
-25
-3
0
0
0
2
0
-35
26
4
-30
0
0
0
0
0
-41
49
-41
8
0
0
-49
-30
-4
15
48
52
-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
-51
11
-29
0
0
0
0
0
0
-15
-112
95
0
0
0
0
0
5
2
49
-33
0
0
36
0
0
0
33
-104
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
1
-13
49
34
0
0
0
0
-2
-4
69
-43
-28
0
0
-14
0
0
5
41
16
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
-31
35
1
0
0
0
0
0
5
3
-53
-22
0
0
0
0
0
0
-4
-37
-19
0
0
87
0
0
3
-5
-62
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
5
8
0
0
0
0
0
50
43
36
-35
0
0
0
0
0
15
15
27
-18
0
0
0
0
0
-6
37
22
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
8
-77
-25
64
36
0
0
0
0
0
0
-25
16
-2
0
0
0
0
0
11
51
-43
-27
0
0
0
0
0
2
2
-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
-8
-75
35
23
93
0
0
0
0
0
0
-4
3
-41
0
0
0
0
0
-2
7
-10
-24
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
91
-11
-43
-6
0
0
0
0
0
0
4
-103
9
0
0
0
0
-1
-3
-3
-6
38
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
0
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
-47
63
0
0
0
22
0
-7
-102
-6
45
0
0
0
0
-3
8
63
-47
11
0
0
0
0
0
5
22
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
2
-28
-31
13
0
0
0
-40
2
-1
-27
-2
3
0
0
0
0
0
-5
-9
-9
9
0
0
0
-2
0
1
-17
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
1
0
11
-30
-10
0
0
0
1
0
0
56
-28
4
0
0
0
0
0
-1
-6
-6
-43
0
0
0
0
0
-1
3
-53
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
11
-23
79
0
0
0
-1
0
-3
-34
83
-32
0
0
0
0
0
0
-2
3
14
0
0
0
0
0
-1
3
-24
-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
-46
-31
100
65
-33
0
0
0
0
0
-3
-11
81
-63
0
0
0
0
0
22
-14
-40
7
0
0
0
0
-2
-7
71
-76
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-26
39
0
0
0
0
-4
0
0
-9
27
0
0
0
0
0
-1
-5
-27
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
-3
20
-26
4
0
0
0
0
0
0
7
5
-7
0
0
0
0
0
0
2
-33
-9
0
0
0
0
0
2
5
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
-1
0
64
16
0
0
0
0
0
0
0
-3
9
0
0
0
0
0
-2
0
55
9
0
0
0
0
0
0
-6
-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
15
13
-26
-6
0
0
0
0
0
-14
17
4
25
0
0
0
0
3
5
-70
51
-15
0
0
-5
0
-5
-53
69
-48
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-44
0
0
0
0
0
2
-7
28
-24
0
0
0
0
0
-1
-54
3
27
0
0
-10
0
0
41
14
-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
-21
-6
-44
2
0
0
0
2
0
0
12
-82
77
0
0
0
0
-1
-9
-8
-35
5
0
0
0
0
0
-87
4
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
0
0
0
14
-34
-12
-32
0
0
0
0
0
-1
56
-23
35
0
0
0
0
0
-2
-31
14
41
0
0
0
0
0
-2
30
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
-10
-24
14
-71
89
0
0
0
0
0
6
65
8
-26
0
0
0
0
-2
35
5
23
16
0
0
0
0
0
-3
55
-92
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
4
49
0
0
0
0
0
0
-4
40
-10
0
0
0
0
0
-14
-1
22
-8
0
0
0
0
0
0
-7
6
-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
48
-30
-24
-33
44
0
0
0
0
0
-2
67
-16
24
0
0
0
0
0
-19
63
-15
23
0
0
0
0
-1
5
-32
-57
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
-16
66
95
-17
-50
0
0
0
0
0
-2
17
61
27
0
0
0
0
-4
-37
6
80
2
0
0
0
0
0
-11
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-65
34
0
0
0
45
-1
57
-80
24
20
0
0
0
0
0
14
-4
-33
-54
0
0
0
0
0
-6
-61
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
5
-31
18
0
0
0
5
0
0
2
15
-30
0
0
0
0
0
0
0
-44
16
0
0
0
0
0
0
-22
-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
-43
7
13
0
0
0
29
-2
18
13
-59
-11
0
0
0
0
0
0
-9
46
-15
0
0
0
0
0
-2
-5
-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
0
0
1
-2
-35
-9
0
0
0
24
0
0
43
-35
-12
0
0
0
0
0
-2
-2
-1
13
0
0
0
0
0
1
17
-113
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
-4
-25
24
-64
53
0
0
0
0
0
1
-13
-54
33
0
0
0
0
0
-6
-7
-8
31
0
0
0
0
1
-25
-53
43
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
101
0
0
0
0
0
0
-1
-89
75
0
0
0
0
0
3
-5
35
-4
0
0
0
0
0
0
-5
-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
5
-4
-52
12
14
0
0
0
0
0
19
-45
-20
38
0
0
0
0
-5
-13
-5
90
-39
0
0
0
0
1
-11
28
-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
-39
-12
7
0
0
0
0
0
0
-2
-69
35
0
0
0
0
-2
5
3
-24
-33
0
0
0
0
0
0
7
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
2
9
-38
49
0
0
0
-8
0
-5
35
-6
7
0
0
0
0
0
-8
-15
-6
13
0
0
80
0
0
-14
65
16
-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
1
3
54
-18
0
0
0
0
0
1
-7
18
2
0
0
0
0
0
0
13
-64
-17
0
0
48
0
0
10
-23
-94
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
1
29
-48
52
0
0
0
0
0
4
8
-2
-5
0
0
0
0
0
-1
18
34
-50
0
0
-73
-15
0
50
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
-14
-33
23
0
0
0
0
0
0
-4
-75
74
0
0
0
0
0
-1
11
-30
-21
0
0
-14
0
0
0
16
-33
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
20
3
8
-19
60
0
0
0
0
0
-3
8
-21
-31
0
0
0
0
0
7
-7
-104
41
0
0
0
0
0
0
-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
16
-4
26
-31
-28
0
0
0
0
0
0
4
1
-33
0
0
0
0
-1
17
8
5
-61
0
0
0
0
0
0
-1
-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
-5
4
82
-8
22
0
0
0
0
0
-2
8
8
-5
0
0
0
0
0
-2
-7
-50
50
0
0
0
0
0
0
21
-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
6
14
68
-48
15
0
0
0
0
0
0
-14
19
-5
0
0
0
0
-5
3
-14
-12
92
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-125
52
0
0
0
14
0
0
-49
-15
36
0
0
0
0
0
0
0
-50
-26
0
0
0
0
0
0
-38
31
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
1
-25
12
0
0
0
0
0
0
8
7
4
0
0
0
0
0
0
0
-60
34
0
0
0
1
0
-3
-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
0
3
-9
16
0
0
0
0
0
-1
-29
-1
65
0
0
0
0
0
0
2
-24
-14
0
0
0
0
0
0
-19
-46
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
-15
-29
56
0
0
0
2
0
0
-2
-13
-31
0
0
0
0
0
0
-1
-37
-16
0
0
0
0
0
0
17
-47
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
-21
8
27
-5
43
0
0
0
0
0
-3
19
-7
-19
0
0
0
0
0
-6
-5
-50
28
0
0
0
0
0
7
-43
86
-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
-2
0
8
1
0
0
0
0
0
-1
0
-29
40
0
0
0
0
0
-2
-2
-1
23
0
0
0
0
0
0
6
-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
16
-27
-4
-7
0
0
0
0
0
0
18
-50
-53
0
0
0
0
0
0
0
-6
37
0
0
0
0
0
0
-7
-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
-22
7
-7
-80
49
0
0
0
0
0
1
1
-44
18
0
0
0
0
0
-1
-1
-22
20
0
0
0
0
0
14
-30
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
5
30
27
-65
23
0
0
0
2
0
-29
-8
-8
13
0
0
0
0
-3
-16
38
-6
-32
0
0
-30
1
0
29
36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-3
-56
42
0
0
0
0
0
-1
-4
-15
57
0
0
0
0
0
-19
-42
-48
35
0
0
8
0
0
-8
37
-51
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
-27
5
-24
-20
0
0
0
0
0
5
-19
-40
23
0
0
0
0
-1
3
-8
-28
51
0
0
-13
0
0
-51
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
41
-53
53
-28
0
0
0
-25
0
7
30
-10
22
0
0
0
0
-1
-17
-31
0
31
0
0
41
0
0
-57
-61
97
-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
-3
17
-47
63
-1
0
0
0
0
0
1
4
-74
32
0
0
0
0
-1
44
0
-14
-23
0
0
0
0
2
18
-19
-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
-55
-34
44
30
56
0
0
0
0
0
0
-18
-64
104
0
0
0
0
-2
-5
3
-35
50
0
0
0
0
-3
10
-25
-77
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
16
36
-3
23
2
21
0
0
0
0
-2
44
98
-22
5
0
0
0
3
-15
32
12
-1
-14
0
0
0
0
-2
-23
-14
87
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
75
40
-11
0
0
0
0
-25
3
4
6
50
0
0
0
-1
-2
-25
35
2
-11
0
0
0
0
0
6
-97
-3
-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
-15
17
-43
15
0
0
0
27
0
-33
-7
20
8
0
0
0
0
0
-2
11
-77
-13
0
0
0
2
0
2
-60
-34
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
4
-44
69
0
0
0
21
0
-2
2
53
-95
0
0
0
0
0
1
1
5
23
0
0
0
0
0
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
-4
-4
-59
-18
8
0
0
88
4
-9
-33
-50
60
15
0
0
0
-1
-1
-5
1
-54
-7
0
0
0
0
0
8
18
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
3
-28
66
-16
0
0
11
0
4
31
-52
-20
19
0
0
0
0
0
0
-25
-67
7
0
0
1
0
0
-5
87
-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
1
-16
-14
-16
90
0
0
0
0
0
0
9
-53
27
0
0
0
0
-10
-5
-14
-88
11
0
0
0
0
8
-4
18
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
-3
-75
-48
78
0
0
0
0
0
-1
0
-10
12
0
0
0
0
2
5
5
-63
-15
0
0
0
0
0
-6
-10
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
0
0
0
0
-15
-21
69
43
6
0
0
0
0
-1
1
69
-18
-17
0
0
0
-1
1
13
7
15
-8
0
0
0
0
0
10
4
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
-7
-9
-49
38
2
0
0
0
0
-1
-2
-130
-14
57
0
0
0
-2
2
-8
-61
101
-20
0
0
0
-3
-1
24
-35
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
0
0
-3
11
-38
42
0
0
0
0
0
-6
46
-54
13
0
0
0
0
1
-8
-38
-17
45
0
0
7
0
0
14
54
-97
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-97
74
0
0
0
0
0
-1
-46
-26
97
0
0
0
0
0
0
15
-44
-21
0
0
-29
0
-1
-18
76
23
-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
-4
-69
49
-16
-10
0
0
0
0
1
7
-33
14
-23
0
0
0
0
4
-5
-65
27
18
0
107
0
0
33
-23
-45
-63
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
4
0
0
0
0
-4
18
6
80
-104
0
0
0
-3
5
11
-53
-24
55
0
20
0
0
-4
-37
-27
-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
-17
24
7
32
-16
0
0
0
0
0
-3
11
-25
-18
0
0
0
0
0
1
-13
-39
10
0
0
0
0
0
-1
-13
-21
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
4
-14
69
-49
76
0
0
0
0
0
0
1
4
-8
0
0
0
0
1
0
1
9
33
0
0
0
0
0
0
-4
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
5
52
71
35
41
-4
0
0
0
0
1
-7
4
37
-18
0
0
0
-2
-7
-2
-13
-15
1
0
0
0
0
0
-15
-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
43
-49
62
6
28
16
0
0
0
0
1
0
-24
66
-59
0
0
0
-3
-2
5
12
61
-32
0
0
0
0
-2
11
-6
-52
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
101
0
0
0
62
0
0
-37
5
-41
0
0
0
0
0
0
17
-22
-33
0
0
0
0
0
0
14
-66
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
20
-63
0
0
0
-26
0
2
11
-48
-8
0
0
0
0
0
0
2
-17
-17
0
0
0
1
0
0
17
-1
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
19
-3
2
-10
0
0
-15
0
-3
5
-15
35
-11
0
0
0
0
0
3
6
-54
-3
0
0
0
0
0
-11
5
39
-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
24
26
-10
-68
0
0
31
0
1
-17
-2
8
43
0
0
0
0
0
1
6
9
-91
0
0
-3
0
0
-35
5
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
-3
2
-14
23
1
0
0
0
0
0
-2
-6
-20
19
0
0
0
0
0
1
-2
-58
-4
0
0
0
0
0
-1
-46
-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
0
1
1
5
24
-33
0
0
0
0
0
0
1
7
1
0
0
0
0
0
5
0
35
-8
0
0
0
0
0
0
-1
-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
4
3
2
-41
9
-21
0
0
0
0
0
0
2
21
-67
0
0
0
0
0
0
-7
15
9
0
0
0
0
0
2
-3
-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
-1
-1
21
-35
-7
-27
0
0
0
0
0
-2
27
1
-35
0
0
0
0
-3
0
14
-41
1
0
0
0
0
0
2
-10
-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
-14
27
-40
36
0
0
0
0
0
2
14
-50
54
0
0
0
0
-1
2
11
-25
12
0
0
9
0
0
10
-6
33
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-8
54
0
0
0
-1
0
-1
-18
-5
79
0
0
0
0
3
-1
-49
-14
-16
0
0
19
0
0
-8
62
-27
-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
16
-25
-61
70
-52
0
0
0
0
1
15
-23
-63
-42
0
0
0
1
-7
-6
-25
35
-10
0
3
0
0
2
-4
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
34
-23
-26
-3
0
0
0
0
1
13
17
-65
37
0
0
0
0
4
0
-80
13
-12
0
-105
0
0
6
-5
51
61
-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
27
90
5
4
-3
0
0
0
0
0
3
15
-26
37
0
0
0
0
-1
5
-29
-28
-35
0
0
0
0
0
0
-11
-33
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
-44
-11
52
17
6
0
0
0
0
0
5
55
-40
-16
0
0
0
0
-1
13
44
-31
41
0
0
0
0
0
-9
-16
-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
-15
-45
-23
14
56
-18
0
0
0
0
0
-2
-52
27
24
0
0
0
0
18
6
-27
-41
28
0
0
0
0
2
6
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
30
-41
34
71
51
-6
25
0
0
0
10
-23
-34
5
12
29
0
0
2
-46
8
-49
-36
-36
-6
0
0
0
-18
9
-23
30
-27
-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
-5
44
5
0
0
0
-1
0
-33
17
2
-15
0
0
0
0
0
-8
0
-22
-1
0
0
0
0
0
0
-6
-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
0
0
0
0
0
0
0
0
1
-17
-36
10
0
0
0
64
0
-1
-23
-77
-38
0
0
0
0
0
0
-5
59
-35
0
0
0
1
0
1
1
-53
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
-4
25
-58
62
1
0
0
94
1
-3
-44
-39
-23
22
0
0
0
0
0
0
-19
14
16
0
0
0
0
2
7
-11
-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
1
4
-55
-10
-16
31
0
-119
0
24
-32
-34
46
-125
16
0
0
0
6
-7
-33
33
-43
-34
0
2
0
0
5
-14
23
-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
0
-14
18
61
-33
0
0
0
0
0
-1
1
-24
21
0
0
0
0
1
1
-2
-15
-16
0
0
0
0
0
-1
-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
1
13
33
18
-29
0
0
0
0
0
-1
-1
-17
17
0
0
0
0
0
0
0
-29
56
0
0
0
0
0
-3
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
1
50
58
-44
0
0
0
0
-2
7
-6
-5
-20
0
0
0
-4
-5
-45
40
-52
16
0
0
0
-6
3
22
-71
-33
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
-1
-26
-6
8
-66
-23
3
0
0
0
-2
-13
-47
31
-21
-2
0
0
-3
0
0
6
-10
-68
22
0
0
0
3
1
-24
10
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
1
11
-23
-16
0
0
0
0
0
2
-11
-21
61
0
0
0
0
0
3
4
26
-34
0
0
21
0
0
3
-53
3
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
2
-23
32
37
0
0
0
0
0
1
-24
-45
25
0
0
0
0
0
-2
2
-1
-17
0
0
9
0
0
0
-16
-20
-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
34
33
62
-82
0
0
-4
0
0
43
-97
60
39
0
0
0
0
3
23
-7
49
-7
0
21
0
0
-44
-6
-27
40
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
-31
9
0
0
0
-3
-26
22
105
-75
-34
0
0
0
-4
33
-21
14
-9
-10
-119
0
0
2
-106
-46
1
-89
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
7
-69
0
0
0
0
0
2
52
16
-29
0
0
0
0
0
-17
0
-16
0
0
0
0
0
0
0
-33
-29
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
5
43
15
-45
0
0
0
0
0
0
-2
-44
37
0
0
0
0
-2
-45
-5
-5
46
0
0
0
0
0
0
0
-46
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
-47
82
74
84
53
-13
0
0
0
0
-2
1
28
15
9
0
0
0
0
-31
1
-2
24
30
0
0
0
0
0
0
-81
-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
22
-1
4
35
-2
-10
18
0
0
0
0
2
-26
4
-57
-22
0
0
-5
-7
-32
1
76
-18
26
0
0
0
-3
-39
-20
43
-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
1
4
-7
20
0
0
0
12
0
5
-18
-67
32
0
0
0
0
-2
-1
-32
-6
6
0
0
0
-48
0
0
-10
-23
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
-52
-49
57
0
0
0
10
0
-4
17
0
-53
0
0
0
0
0
0
-7
20
-37
0
0
0
-33
0
0
-5
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
1
32
-53
-2
12
0
0
-50
0
14
-68
-56
115
-63
0
0
0
1
-4
4
43
59
-84
0
0
2
0
0
-21
-52
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
1
-3
4
-3
-23
-13
-2
0
-31
0
1
32
5
-13
-24
-6
0
0
-1
0
3
-26
43
-15
-38
0
-3
0
-5
-30
24
0
50
-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
-23
-64
43
-31
32
0
0
0
0
0
2
-43
-26
51
0
0
0
0
0
-8
9
-29
77
0
0
0
0
1
-16
16
-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
37
5
-6
-98
-15
0
0
0
0
0
-3
-7
-5
-4
0
0
0
0
-2
0
-3
29
31
0
0
0
0
0
-13
8
53
-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
-18
88
71
-42
-21
-27
0
0
0
-2
-13
8
-30
19
11
0
0
0
0
-81
-23
-37
47
36
0
0
0
-1
70
-1
-6
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
11
-71
-34
30
-14
-28
12
0
0
-3
0
13
-64
36
-43
-4
0
0
-3
-22
-3
-72
0
-7
28
0
0
0
-6
-29
14
25
-71
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-6
41
-8
-9
0
0
0
-36
-1
-50
-54
12
-2
0
0
0
0
-23
-1
-55
4
29
0
0
42
-14
-23
25
50
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
74
-48
-38
33
9
0
0
0
-30
0
-6
25
67
-33
0
0
0
0
-23
21
30
-28
-14
0
0
-31
-45
0
33
-61
-51
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
24
9
41
54
-56
-3
0
0
5
-23
-24
-63
-6
24
6
0
0
0
-5
-14
-79
30
-11
-6
0
-72
70
4
-60
-23
-113
60
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-14
22
-74
1
0
11
-2
5
-33
-24
-4
15
-29
0
0
-3
-15
-5
-6
41
-64
21
-15
3
0
17
-17
-44
-12
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
-21
32
11
55
24
0
0
0
0
0
-10
37
20
16
0
0
0
0
29
23
-11
-35
13
0
0
0
0
2
28
5
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
-12
1
-15
-21
74
0
0
0
0
0
0
-29
129
-6
0
0
0
0
-1
4
32
-80
15
0
0
0
0
0
-3
12
-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
11
-34
-5
-92
67
0
0
0
0
0
-3
-1
5
20
0
0
0
0
4
-6
-8
15
8
0
0
0
0
0
2
-12
-11
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
-16
18
-36
22
25
0
0
0
0
0
0
22
-35
34
0
0
0
0
0
-11
-14
-61
74
0
0
0
0
0
0
9
-41
-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
-31
-7
46
3
0
0
0
59
1
-24
-26
-3
20
0
0
0
0
0
0
4
8
10
0
0
0
1
0
22
-25
-37
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
-21
4
0
0
0
10
0
-1
0
-51
-12
0
0
0
0
0
0
0
26
40
0
0
0
1
0
0
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
46
-10
0
0
0
39
1
0
-6
-5
0
0
0
0
0
0
0
-1
-18
9
0
0
0
0
0
2
-11
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
7
15
-28
0
0
0
-2
0
-2
3
-9
-9
0
0
0
0
0
0
-2
-21
14
0
0
0
0
0
0
-5
32
-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
-11
4
30
-36
3
0
0
0
0
0
-2
48
-136
52
0
0
0
0
5
-15
-6
-31
29
0
0
0
0
0
2
-58
-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
6
10
7
27
-56
0
0
0
0
0
0
14
-40
-14
0
0
0
0
0
0
-14
5
-33
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
14
-55
14
0
0
0
0
0
0
-1
-35
104
0
0
0
0
3
-5
-31
27
25
0
0
0
0
0
0
-4
-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
-2
-3
-47
18
3
0
0
0
0
0
0
-55
6
18
0
0
0
0
0
-4
4
5
-33
0
0
0
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
18
24
26
0
0
0
0
0
5
-26
11
9
0
0
0
0
0
-3
-32
-9
25
0
0
101
-4
-1
32
-23
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
23
-57
36
0
0
0
-10
0
0
-11
-6
-32
0
0
0
0
0
0
-14
32
21
0
0
-23
0
0
2
23
53
-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
-2
16
14
0
0
0
0
0
0
33
1
-26
0
0
0
0
0
0
18
-52
0
0
0
18
0
0
4
-42
-71
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
12
29
-33
0
0
0
4
0
-3
-65
-33
35
0
0
0
0
0
0
4
-4
10
0
0
-4
0
0
0
41
-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
14
54
-61
-24
21
0
0
0
0
0
-5
51
-28
-28
0
0
0
0
0
-3
-1
37
33
0
0
0
0
0
1
104
-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
22
26
-12
-34
0
0
0
0
0
-2
-2
59
-77
0
0
0
0
0
3
5
-31
50
0
0
0
0
0
3
4
-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
33
-41
49
-73
44
0
0
0
0
0
-25
47
-2
22
0
0
0
0
0
-2
13
-43
15
0
0
0
0
0
0
-25
-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
-1
-20
-6
44
-2
0
0
0
0
0
0
1
-10
44
0
0
0
0
0
-2
5
29
-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
15
32
-59
16
0
0
0
14
0
1
-48
38
21
0
0
0
0
0
0
-4
-37
22
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
0
0
0
0
0
0
0
0
0
4
-62
57
0
0
0
3
0
2
-4
27
-10
0
0
0
0
0
0
0
8
7
0
0
0
0
0
-2
5
-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
3
0
-1
-24
27
0
0
0
0
0
0
-9
-90
78
0
0
0
0
0
0
-2
21
23
0
0
0
0
0
0
61
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
2
23
-34
-13
0
0
0
-13
0
0
6
16
-14
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
-1
28
-12
0
0
0
0
0
0
-10
-5
-4
0
0
0
0
0
0
2
-62
72
0
0
0
0
0
5
27
-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
1
1
-14
4
61
0
0
0
0
0
1
0
5
50
0
0
0
0
0
0
0
-41
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
18
18
0
0
0
0
0
-2
-2
15
44
0
0
0
0
0
0
-4
3
-21
0
0
0
0
0
2
0
23
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
0
0
0
0
0
-1
-5
-3
11
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
9
27
-30
18
0
0
0
2
0
-38
11
0
0
0
0
0
0
0
5
14
1
1
0
0
2
0
0
-40
47
55
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
29
28
0
0
0
0
0
4
-88
9
8
0
0
0
0
0
-4
4
14
14
0
0
0
0
0
8
9
48
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
-7
-18
66
53
0
0
0
-1
0
36
44
-94
30
0
0
0
0
0
56
3
-19
-59
0
0
-4
0
0
33
-2
-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
-42
11
5
-57
0
0
0
0
0
-9
14
-66
35
0
0
0
0
0
4
1
-29
5
0
0
0
0
0
-8
-31
-23
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-74
16
-26
25
0
0
0
0
0
-18
30
24
-48
0
0
0
0
-1
24
-4
-82
21
0
0
0
0
0
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
33
70
-18
-2
0
0
0
0
0
0
4
9
45
0
0
0
0
0
-3
8
64
6
0
0
0
0
0
-1
-17
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
51
18
8
-9
0
0
0
0
0
2
15
-48
9
0
0
0
0
0
2
0
-35
2
0
0
0
0
0
1
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
-2
-15
5
14
48
0
0
0
0
0
0
-3
44
16
0
0
0
0
0
0
2
3
5
0
0
0
0
0
-5
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
2
17
-5
24
0
0
0
-5
0
10
-14
-10
1
0
0
0
0
0
-1
-4
-12
70
0
0
0
5
0
-2
-23
-45
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
0
0
0
31
0
-1
3
-16
-16
0
0
0
0
0
0
0
38
-15
0
0
0
0
0
0
7
-64
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
-2
2
22
0
0
0
-27
0
-2
2
-5
56
0
0
0
0
0
0
-3
-5
-6
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
0
0
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
-22
0
0
0
-1
0
1
0
-25
-1
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
-9
-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
-1
-25
32
-16
13
0
0
0
0
0
0
-4
10
-45
0
0
0
0
-1
18
-4
-33
0
0
0
0
0
0
1
-26
11
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
-2
2
-8
17
-12
0
0
0
0
0
0
-1
-34
-33
0
0
0
0
0
-33
52
-42
7
0
0
0
0
0
0
6
-58
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
0
0
0
0
-1
-9
4
-23
0
0
0
0
0
-1
0
-19
-5
0
0
0
0
0
0
-5
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
0
0
0
3
-3
-25
15
0
0
0
0
0
0
-1
-16
75
0
0
0
0
-1
6
1
33
-52
0
0
0
0
0
0
0
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
32
66
26
-25
0
0
0
-2
0
-1
-43
4
13
0
0
0
0
0
0
-7
-18
54
0
0
22
0
-2
-20
7
-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
-63
11
59
0
0
0
2
0
1
67
-50
9
0
0
0
0
0
1
-20
-17
-14
0
0
-15
-1
0
14
-23
-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
-8
10
23
-54
0
0
0
0
0
1
-13
15
6
0
0
0
0
0
-1
1
-44
10
0
0
-2
0
0
-10
-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
-13
23
23
0
0
0
0
0
-5
7
-43
74
0
0
0
0
0
0
-1
-54
25
0
0
9
0
0
0
14
-80
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
58
8
0
0
0
0
0
0
-5
-17
46
0
0
0
0
0
0
-5
47
2
0
0
0
0
0
0
-7
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
-2
2
-1
13
-44
0
0
0
0
0
0
2
14
-5
0
0
0
0
0
-1
-2
-13
11
0
0
0
0
0
0
-1
-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
1
-49
12
21
-18
0
0
0
0
0
0
-4
-5
34
0
0
0
0
0
0
-2
3
17
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
3
-1
-4
33
-72
0
0
0
0
0
0
3
5
-20
0
0
0
0
0
0
-3
-1
13
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
-49
27
15
0
0
0
-2
0
-2
-4
-29
-8
0
0
0
0
0
0
15
-44
49
0
0
0
0
0
1
-29
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
-5
-43
29
0
0
0
-1
0
2
-5
8
44
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
-9
-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
7
82
0
0
0
0
0
0
3
-27
70
0
0
0
0
0
0
1
-3
18
0
0
0
0
0
0
-2
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
-1
3
-15
55
0
0
0
2
0
0
0
-16
80
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
31
64
19
-69
43
0
0
0
0
0
1
-4
-53
62
0
0
0
0
-2
7
3
-107
-6
0
0
0
0
0
0
51
-31
-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
-26
-46
-20
-2
79
0
0
0
0
0
0
0
-11
-11
0
0
0
0
4
1
-8
21
-5
0
0
0
0
0
0
1
-76
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
23
14
5
5
-65
0
0
0
0
0
0
4
14
-67
0
0
0
0
-2
-3
-5
17
5
0
0
0
0
0
0
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
16
-3
6
-15
0
0
0
0
0
0
0
0
-6
57
0
0
0
0
-6
6
1
1
0
0
0
0
0
0
-1
-14
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
-24
-59
71
-15
-40
0
0
0
11
0
19
-12
-32
7
0
0
0
0
0
-20
74
-18
-34
0
0
-20
3
-2
14
-102
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
0
0
0
0
0
0
0
0
-2
-28
-4
-14
15
0
0
0
1
0
-22
13
-69
46
0
0
0
0
-2
70
-23
33
-14
0
0
0
0
0
42
10
-36
-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
-23
32
23
-41
35
0
0
0
33
0
-17
-11
21
4
0
0
0
0
0
-32
25
-74
16
0
0
-3
0
0
-12
46
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
-11
50
-54
14
-17
0
0
0
-5
0
-29
45
-84
15
0
0
0
0
-1
49
-14
-6
24
0
0
10
0
0
-35
43
-16
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
76
-63
35
0
0
0
0
0
2
-7
-10
-26
0
0
0
0
-2
2
-9
-5
-39
0
0
0
0
0
0
2
-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
-22
35
-14
20
-17
0
0
0
0
0
0
13
-45
28
0
0
0
0
0
0
2
-14
44
0
0
0
0
0
-1
0
-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
-5
92
9
45
19
2
0
0
0
0
5
84
54
-60
23
0
0
0
-7
18
11
-14
21
3
0
0
0
0
14
-37
58
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
1
-29
-16
2
7
-9
0
0
0
0
0
6
15
107
-75
0
0
0
0
2
-2
58
14
12
0
0
0
0
0
20
-65
21
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
9
11
-20
-33
0
0
0
10
0
3
-24
-55
25
0
0
0
0
0
0
-2
-42
24
0
0
0
0
0
0
-9
22
-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
1
0
-35
-13
0
0
0
19
0
1
7
-109
9
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
-52
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
-2
9
0
0
93
0
0
-56
-5
-8
6
0
0
0
0
0
6
14
35
-12
0
0
0
0
0
-16
-1
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
-1
1
-37
-46
67
0
0
-32
0
-1
3
57
-4
3
0
0
0
0
0
0
2
52
-72
0
0
-4
0
0
3
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
1
6
-1
-55
93
0
0
0
0
0
0
-2
-31
31
0
0
0
0
0
-2
-2
25
-6
0
0
0
0
0
-4
1
-33
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
2
2
3
-11
22
0
0
0
0
0
0
0
-20
4
0
0
0
0
0
0
-4
-27
35
0
0
0
0
0
0
3
-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
2
-4
-16
-16
5
21
0
0
0
0
0
0
-24
23
-17
0
0
0
2
-9
-33
17
7
13
0
0
0
0
0
1
-9
-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
-6
-4
18
-37
94
20
0
0
0
0
0
-1
38
-32
-35
0
0
0
0
-5
0
1
-39
-25
0
0
0
0
0
-2
17
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
-15
24
-32
78
0
0
0
0
0
0
8
-21
-8
0
0
0
0
0
0
-34
-1
62
0
0
-7
4
1
8
-23
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
0
0
0
0
0
0
9
-14
23
0
0
0
0
0
0
0
24
-19
0
0
-18
0
0
0
10
-24
-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
-18
71
-15
-30
-4
0
0
0
0
0
75
8
-24
-18
0
0
0
0
0
30
-42
17
-11
0
47
0
0
-5
38
-20
43
-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
-14
-47
24
33
0
0
1
0
-1
-11
-8
53
-66
0
0
0
0
0
0
-52
-18
50
0
-16
0
0
1
-57
27
22
-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
55
-8
-5
2
36
0
0
0
0
0
-1
32
-62
-16
0
0
0
0
0
0
-18
-96
45
0
0
0
0
0
0
-9
-14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
0
0
0
0
0
0
-1
-57
52
0
0
0
0
0
0
0
19
-13
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-43
33
-21
61
35
7
0
0
0
0
3
-50
-70
55
-13
0
0
0
0
0
-8
11
31
-8
0
0
0
0
0
1
-22
-29
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
-54
9
0
0
0
0
0
-1
-3
-12
-28
0
0
0
0
0
0
31
20
-89
0
0
0
0
0
-2
14
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
37
0
0
15
-26
5
0
0
0
0
0
0
0
-2
-27
0
0
0
0
0
0
8
-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
2
-59
57
0
0
0
4
0
0
-2
-46
6
0
0
0
0
0
0
-2
1
4
0
0
0
0
0
0
-1
-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
1
5
85
-54
-15
0
0
0
9
0
-4
23
-62
-43
0
0
0
0
0
0
2
-5
-4
-8
0
0
0
0
0
-20
-45
11
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
4
-43
6
1
0
0
-10
0
4
2
-12
-29
29
0
0
0
0
0
0
1
1
-139
0
0
0
0
0
0
-19
17
-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
-47
-1
2
-56
32
0
0
0
0
0
0
0
33
24
0
0
0
0
0
3
0
-6
-1
0
0
0
0
0
0
-7
-54
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
0
0
26
-13
0
0
0
0
0
0
-3
6
-33
0
0
0
0
0
1
0
-18
-34
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-36
205
-29
0
0
0
0
0
-1
-46
0
-25
0
0
0
0
2
1
-41
3
28
0
0
0
0
-2
-1
-10
26
-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
1
0
15
-6
29
-33
0
0
0
0
-2
-2
-3
-27
27
0
0
0
0
0
0
-14
-2
6
0
0
0
0
0
-4
0
5
-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
-2
-12
23
-16
26
0
0
0
-3
0
6
-56
14
72
0
0
0
0
0
1
2
-40
2
0
0
17
0
0
-36
8
-75
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
2
-24
58
-40
11
0
0
0
-5
0
-1
-37
-11
-17
0
0
0
0
0
-2
-6
18
20
0
0
5
0
0
0
-23
-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
-1
9
37
52
-3
-3
0
0
2
0
33
-81
29
-62
40
0
0
0
0
2
-18
44
14
-37
0
0
0
-1
46
-43
-54
-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
27
26
7
59
-60
0
0
1
0
-2
125
-53
-51
12
0
0
0
1
1
20
-72
-10
-19
0
4
0
0
-15
-35
32
-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
-44
15
69
-12
29
0
0
0
0
0
2
14
-79
23
0
0
0
0
-1
23
1
-18
10
0
0
0
0
0
14
-20
-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
5
27
-106
22
17
0
0
0
0
0
0
2
-9
13
0
0
0
0
0
0
1
3
-33
0
0
0
0
0
0
0
-23
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
22
62
21
0
0
0
0
1
-6
7
2
1
0
0
0
-2
9
45
2
-16
4
0
0
0
0
1
-5
-23
24
-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
24
-48
71
-3
23
-42
18
0
0
0
-1
9
-34
23
-14
-2
0
0
-2
-4
-45
-5
91
-6
-19
0
0
2
2
-24
14
21
-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
2
1
-42
62
0
0
0
7
0
4
10
-58
-14
0
0
0
0
0
0
4
-6
-35
0
0
0
5
0
0
-46
-43
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
-4
-17
0
0
0
-15
0
-2
-3
11
40
0
0
0
0
0
0
0
-7
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-123
42
31
0
0
-35
0
-3
-24
-34
-2
8
0
0
0
0
0
0
6
-77
34
0
0
0
0
-1
21
-37
109
-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
14
43
9
14
7
0
5
0
40
9
-58
-69
-15
-28
0
0
0
0
-8
-30
38
-95
-24
0
0
0
2
-19
-5
-1
-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
-1
14
-63
54
4
0
0
0
0
0
-1
0
69
-14
0
0
0
0
-6
2
1
-16
37
0
0
0
0
0
0
-1
-75
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
14
-53
0
0
0
0
0
0
0
-37
7
0
0
0
0
-1
1
1
-22
20
0
0
0
0
0
0
-1
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
2
-39
-115
23
21
0
0
0
0
0
0
-52
24
-21
0
0
0
4
-5
4
-5
-19
-13
0
0
0
0
1
-6
-25
52
-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
30
44
41
7
-107
-19
0
0
0
0
36
12
-54
47
-2
0
0
0
0
30
-25
-44
-28
9
0
0
0
0
-4
73
12
-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
2
-20
13
-8
38
0
0
0
1
0
0
19
-82
22
0
0
0
0
0
0
9
-6
30
0
0
-17
0
-3
-24
49
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
-3
10
26
3
0
0
0
0
0
0
8
-30
19
0
0
0
0
0
0
0
-45
-12
0
0
44
0
0
-3
16
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
6
-44
-23
61
45
0
0
-3
0
0
24
-10
-8
18
0
0
0
0
0
1
-33
14
-17
0
-59
0
-3
-1
-46
-116
26
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
-18
-61
-57
27
17
8
0
5
0
-1
-62
-16
-46
-15
18
0
0
0
2
-6
-9
-63
-54
37
1
0
0
-7
-17
-74
-18
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
16
3
3
27
-6
0
0
0
0
0
3
56
-41
-35
0
0
0
0
0
-8
31
-6
17
0
0
0
0
0
0
-14
-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
7
5
-7
-14
-26
0
0
0
0
0
-9
-2
-1
-8
0
0
0
0
0
0
-1
4
46
0
0
0
0
0
0
-3
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
22
8
-16
51
-37
-14
0
0
0
0
4
-6
74
56
-44
0
0
0
0
0
3
29
-34
-18
0
0
0
0
-1
14
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
21
-21
-6
-66
-12
8
11
0
0
0
1
-30
-23
14
-31
-9
0
0
-2
-2
-6
24
29
-25
-33
0
0
0
0
5
-46
5
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
-1
-1
5
-32
10
0
0
0
2
1
-6
26
-3
-1
0
0
0
0
-1
7
-1
-30
23
0
0
0
-15
0
-5
-64
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
0
0
2
-44
14
0
0
0
-26
0
1
-14
37
-34
0
0
0
0
0
0
0
17
-14
0
0
0
0
0
0
-5
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
29
44
-62
20
0
0
-6
0
-1
18
-3
18
-23
0
0
0
0
-1
0
-7
26
-27
0
0
0
0
0
1
-71
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
-45
-99
-57
28
15
0
22
0
-1
-23
-62
-50
25
-2
0
0
0
0
-1
-54
15
-41
48
0
0
0
0
18
-33
33
-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
24
-19
46
53
-8
0
0
0
0
0
-6
-19
17
4
0
0
0
0
-4
-11
5
-16
17
0
0
0
0
0
2
11
-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
-28
4
-29
1
33
0
0
0
0
0
-1
2
48
10
0
0
0
0
19
-14
-6
10
5
0
0
0
0
0
0
-11
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
23
-14
18
-55
54
-6
0
0
0
0
-4
0
-24
0
1
0
0
0
0
1
-3
13
22
-13
0
0
0
0
0
-11
-49
81
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
58
1
-65
-30
0
0
0
-1
3
-43
22
-78
19
0
0
-45
2
2
-5
24
6
36
0
0
0
0
-3
-61
7
-14
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
-24
40
2
-11
18
0
0
0
-1
10
2
-1
-11
1
0
0
0
0
97
-15
25
-5
-4
0
0
10
14
-65
48
23
37
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
2
-10
14
0
0
0
61
-20
1
-75
-6
15
0
0
0
0
21
64
-30
-77
-13
0
0
47
-21
4
-53
5
14
-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
16
52
69
44
11
5
0
0
15
2
-15
-91
3
25
-1
0
0
0
12
-55
3
15
-15
-2
0
-48
12
16
-52
86
-25
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
-20
32
-28
20
13
-6
5
0
-32
40
-23
7
-45
29
12
0
0
0
-24
-98
33
17
18
-22
25
-94
13
15
-151
-51
-8
-22
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
-8
0
-4
76
0
0
0
0
0
1
-6
20
19
0
0
0
0
0
-17
7
11
32
0
0
0
0
0
0
23
2
-40
0
0
0
0
0
2
-3
-31
16
0
0
0
0
0
0
-5
19
-32
0
0
0
0
1
0
4
9
-9
0
0
0
0
-1
3
-9
-2
-2
0
0
0
0
-3
11
9
5
11
0
0
0
0
0
0
-3
-13
16
0
0
0
0
3
-7
-15
16
20
0
0
0
0
0
6
14
-4
12
0
0
0
0
0
-4
-3
-2
7
0
0
0
0
0
2
-9
16
-22
0
0
0
0
7
13
-2
-36
30
0
0
0
0
-8
-23
55
-20
1
0
0
0
0
1
-8
13
-27
43
0
0
0
0
0
0
-2
4
-7
0
0
0
0
1
0
-5
1
-5
0
0
0
0
0
0
-9
-31
15
0
0
0
0
-8
-3
2
7
-16
0
0
0
0
-2
-1
24
2
-33
0
0
0
0
0
1
-14
21
-4
0
0
0
0
13
-2
-14
0
6
0
0
0
0
-7
14
10
-6
18
0
0
0
0
0
0
0
32
-31
0
0
0
0
8
-2
13
-5
19
0
0
0
0
0
1
-18
-9
14
0
0
0
0
2
26
-8
-27
20
0
0
0
0
2
0
21
-53
54
0
0
0
0
-26
30
-4
-14
31
0
0
0
0
12
-35
-11
8
53
0
0
0
0
0
0
7
-11
-2
0
0
0
11
0
8
3
-14
-14
0
0
0
0
0
-2
9
-7
-36
0
0
0
1
0
0
26
0
15
0
0
0
0
1
0
11
7
-2
0
0
0
8
0
-1
-6
14
-15
0
0
0
0
0
0
0
-36
9
0
0
0
0
0
4
-1
-32
36
0
0
0
0
0
0
2
2
8
0
0
0
2
0
0
-10
-29
-11
0
0
0
0
0
0
0
7
10
0
0
0
10
0
-10
-8
-39
46
0
0
0
0
0
-1
0
-24
-6
0
0
0
4
0
-1
-11
10
20
0
0
0
0
0
-2
-2
9
-6
0
0
0
-7
0
15
-34
25
-8
0
0
0
0
0
0
1
2
2
0
0
0
14
0
-3
-9
-1
13
0
0
0
0
0
1
2
1
7
0
0
0
0
0
0
2
15
-8
0
0
0
0
0
0
2
-4
-29
0
0
0
-14
0
-1
-8
-2
19
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
2
5
-45
54
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
3
1
-29
21
0
0
0
0
0
0
5
13
13
0
0
0
1
0
0
9
-5
-35
0
0
0
0
0
-1
-17
19
21
0
0
0
2
0
0
-15
-6
5
0
0
0
0
0
1
1
4
2
0
0
0
4
1
-52
44
-4
-9
0
0
0
0
0
1
-6
14
3
0
0
0
0
0
1
2
-8
-23
0
0
0
0
-1
-1
19
-11
17
0
0
0
0
0
3
11
25
-29
0
0
0
0
0
0
11
11
37
0
0
0
0
0
-1
5
-8
39
0
0
0
0
0
-1
4
-10
8
0
0
0
0
0
2
-7
-10
3
0
0
0
0
0
21
0
-9
-55
0
0
0
0
0
0
5
7
3
0
0
0
0
4
20
5
-9
5
0
0
0
0
0
-1
7
15
22
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
1
-4
-35
0
0
0
0
3
2
3
10
-35
0
0
0
0
-1
-4
-11
-37
40
0
0
0
0
0
0
1
6
33
0
0
0
0
0
0
0
5
17
0
0
0
0
0
1
-34
-5
0
0
0
0
0
0
2
-3
23
-5
0
0
0
0
0
2
-4
-1
17
0
0
0
0
0
0
-3
-6
-3
0
0
0
0
0
1
14
-3
13
0
0
0
0
-1
3
-1
-35
1
0
0
0
0
0
5
7
-41
3
0
0
0
0
0
0
-3
-3
-13
0
0
0
0
2
2
-26
-8
-3
0
0
0
0
0
-2
-8
6
5
0
0
0
0
2
-9
5
-8
-19
0
0
0
0
0
1
4
6
18
0
0
0
0
-5
-6
5
-10
3
0
0
0
0
-14
-43
1
-35
23
0
0
0
0
0
1
8
-17
35
0
0
0
1
0
2
-11
-10
21
0
0
0
0
0
-3
-3
21
5
0
0
2
0
0
7
8
11
-1
0
0
0
0
0
0
-15
1
31
0
0
0
0
0
0
-20
24
0
0
0
0
0
0
-1
2
3
16
0
0
1
0
0
-5
15
-8
-11
0
0
0
0
0
-4
6
4
-16
0
0
0
2
0
-2
24
14
20
0
0
0
0
0
2
6
-16
14
0
0
-21
-1
0
5
-22
35
15
0
0
0
0
0
0
5
1
-41
0
0
0
-1
0
0
0
4
-1
0
0
0
0
0
0
0
1
7
0
0
-1
1
1
27
-67
-48
26
0
0
0
0
0
-1
-8
2
-11
0
0
0
0
0
0
-1
-13
20
0
0
0
0
0
-1
-1
15
-4
0
0
5
0
2
-4
2
-6
4
0
0
0
0
0
-2
-26
2
35
0
0
0
0
0
1
-1
-29
33
0
0
0
0
0
0
-1
3
2
0
0
21
0
2
-16
19
-2
4
0
0
0
0
0
0
2
-19
-4
0
0
0
0
0
0
2
-19
-20
0
0
0
0
0
0
-10
37
-1
0
0
16
0
0
-9
3
8
-16
0
0
0
0
0
2
-1
9
3
0
0
0
1
0
0
-7
-17
16
0
0
0
0
0
2
-5
-7
5
0
0
-17
-18
-27
-55
52
10
-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
-2
4
15
2
0
0
0
0
0
0
-6
24
14
0
0
0
0
0
-1
-29
7
9
0
0
0
0
0
0
-6
-1
-1
0
0
0
0
0
1
-4
-6
-3
0
0
0
0
0
0
0
-8
14
0
0
0
0
-1
0
6
-3
8
0
0
0
0
0
-2
-8
-14
1
0
0
0
0
6
0
-1
5
3
0
0
0
0
0
0
0
15
12
0
0
0
0
0
-2
23
-17
-4
0
0
0
0
0
2
-14
0
8
0
0
0
0
0
-4
6
7
-23
0
0
0
0
0
0
-6
18
20
0
0
0
0
6
7
3
14
-25
0
0
0
0
-3
-22
-19
25
-33
0
0
0
0
2
-6
-2
-26
1
0
0
0
0
0
0
-2
1
16
0
0
0
0
0
1
3
-15
11
0
0
0
0
0
0
-2
8
4
0
0
0
0
0
-2
-3
-32
-6
0
0
0
0
0
0
1
6
-11
0
0
0
0
0
0
-5
9
18
0
0
0
0
-3
3
-4
-2
-9
0
0
0
0
5
-18
5
5
0
0
0
0
0
0
0
2
-3
19
0
0
0
0
-3
0
-4
3
5
0
0
0
0
0
0
5
8
25
0
0
0
0
1
1
15
3
-17
0
0
0
0
2
-1
3
1
-43
0
0
0
0
8
-1
-3
-16
5
0
0
0
0
9
-10
18
1
71
0
0
0
0
0
0
0
-3
33
0
0
0
3
0
0
-1
2
11
0
0
0
0
0
0
2
-1
-6
0
0
0
0
0
0
2
5
-27
0
0
0
0
0
0
0
-21
5
0
0
0
0
0
0
9
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
10
0
0
0
0
0
-1
0
2
2
0
0
0
0
0
0
1
5
11
0
0
0
0
0
2
-11
9
-7
0
0
0
0
0
0
-2
2
29
0
0
0
1
0
2
-3
1
31
0
0
0
0
0
0
0
-13
-2
0
0
0
1
0
-5
16
-25
4
0
0
0
0
0
0
0
-7
-5
0
0
0
-1
0
0
-1
-15
-16
0
0
0
0
0
0
-2
2
7
0
0
0
0
0
-2
2
-6
-11
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
-9
0
0
0
0
0
0
2
0
3
0
0
0
0
0
1
-10
-5
-14
0
0
0
0
0
0
-1
-15
8
0
0
0
5
0
0
0
4
27
0
0
0
0
0
0
0
-9
-11
0
0
0
0
0
0
0
-43
24
0
0
0
0
0
1
0
5
8
0
0
0
-1
0
0
-1
-30
43
0
0
0
0
0
0
1
1
2
0
0
0
-30
0
-11
-14
-37
36
0
0
0
0
0
-1
0
9
14
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
9
3
6
0
0
0
0
0
0
5
-22
13
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
1
1
-9
0
0
0
0
0
-1
-1
-8
5
0
0
0
0
0
1
-6
-2
-16
0
0
0
0
0
0
-1
1
-7
0
0
0
0
0
10
7
-7
-4
0
0
0
0
0
7
5
-2
-18
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
14
23
0
0
0
0
4
-18
5
2
4
0
0
0
0
0
-1
0
8
13
0
0
0
0
0
0
0
1
-9
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
-24
-5
0
0
0
0
0
0
0
-6
-25
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
5
-3
15
7
0
0
0
0
0
1
5
-13
-7
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
-6
-6
0
0
0
0
7
0
3
-4
-24
0
0
0
0
-4
2
3
-50
-48
0
0
0
0
0
5
0
3
5
0
0
0
0
0
0
-1
15
11
0
0
0
0
0
0
0
-16
-5
0
0
0
0
0
-1
-15
5
29
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
-5
-20
5
0
0
0
0
0
0
-1
-4
-2
0
0
0
0
0
-3
-1
-2
22
0
0
0
0
0
-2
-1
-2
-9
0
0
0
0
0
0
1
-14
-12
0
0
0
0
0
0
5
-5
-14
0
0
1
0
0
-2
0
-41
-42
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
-18
3
0
0
0
1
-1
-15
-25
45
-16
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
-15
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
10
0
0
0
0
0
-2
-6
6
13
0
0
0
0
0
0
0
-4
20
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-1
6
0
0
0
5
0
0
0
5
-22
33
0
0
0
0
0
0
0
-26
9
0
0
0
0
0
0
5
7
-29
0
0
0
0
0
1
3
3
1
0
0
17
-15
0
-19
-6
43
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
5
17
0
0
0
0
0
0
0
9
-2
0
0
0
0
0
2
0
9
-23
0
0
0
0
0
0
1
-5
-2
0
0
0
0
1
-4
15
-8
11
0
0
0
0
0
-2
5
-7
4
0
0
0
0
0
-4
2
23
-13
0
0
0
0
0
3
26
-3
9
0
0
0
0
0
-4
5
-11
-23
0
0
0
0
0
0
-1
4
3
0
0
0
0
2
-1
3
15
-4
0
0
0
0
0
0
-3
13
-1
0
0
0
0
0
-2
2
-1
-2
0
0
0
0
0
-2
-2
-4
22
0
0
0
0
1
-9
5
-26
39
0
0
0
0
-4
5
-4
2
-20
0
0
0
0
15
4
4
-4
57
5
0
0
0
0
0
18
-4
-4
-23
0
0
0
0
3
25
-8
43
16
0
0
0
0
1
6
-5
2
-31
0
0
0
5
13
10
9
2
-41
0
0
0
1
-10
-1
-5
-1
25
0
0
0
-3
1
-6
-17
16
2
0
0
0
10
-3
-5
16
-10
-2
0
0
0
7
11
8
-7
-9
65
0
0
0
0
-1
2
-5
20
-17
0
0
0
-10
2
31
-30
7
23
0
0
0
0
4
-3
-33
-14
47
0
0
0
-2
-14
5
5
-1
-10
0
0
0
0
-3
7
-3
24
12
0
0
0
-34
17
19
21
-7
-5
0
0
0
-13
6
14
-25
33
-2
0
0
0
0
0
2
-6
9
0
0
0
22
0
0
-1
-18
-19
0
0
0
0
0
0
2
5
-21
0
0
0
0
0
2
-1
-5
24
0
0
0
0
0
4
-1
-8
-5
0
0
0
2
0
0
7
-10
1
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
-2
-2
0
6
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
-32
11
0
0
0
0
0
0
0
-2
-19
0
0
0
2
0
2
-5
-20
-8
0
0
0
0
0
0
-1
-11
-7
0
0
0
8
0
4
7
-5
15
0
0
0
0
0
0
6
5
-9
3
0
0
2
0
0
0
-9
8
-18
0
0
0
0
0
0
-13
-22
47
0
0
0
0
0
10
-5
-4
-45
0
0
0
0
0
0
15
30
-7
0
0
-5
0
-3
-6
31
23
-14
0
0
0
0
0
0
-14
11
-44
0
0
0
1
0
-16
-6
-5
19
0
0
0
0
0
1
-25
23
11
0
0
8
0
1
-7
8
5
32
0
0
0
0
0
0
6
15
-6
0
0
-1
0
-2
5
-10
27
38
0
0
0
0
0
-4
-2
-31
-16
0
0
7
0
0
-14
-2
21
12
0
0
0
1
-14
-3
20
8
-13
0
0
16
-1
6
22
27
-7
11
0
0
0
0
0
-6
-5
6
0
0
0
0
0
0
0
-9
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
-13
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-1
15
-1
0
0
0
0
0
0
13
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
-13
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
-14
0
0
0
0
1
0
-7
3
0
34
0
0
0
0
0
-3
-2
-10
22
0
0
0
-1
-1
6
-22
-27
48
0
0
0
0
0
5
-5
-11
0
0
0
0
0
0
-4
1
-5
14
0
0
0
0
0
-1
-7
1
-37
0
0
0
-3
0
2
-5
-2
-71
0
0
0
4
7
-6
-8
13
-26
0
0
0
-2
0
3
0
8
-5
0
0
0
0
0
0
-8
2
1
0
0
0
1
-1
-3
7
15
-7
0
0
0
0
0
-3
-5
2
-52
0
0
0
0
0
-2
1
0
-9
0
0
0
0
0
0
-19
-8
-26
0
0
0
0
5
-5
-7
-6
3
0
0
0
5
-18
-29
5
17
4
0
0
0
0
0
6
-6
-9
0
0
0
0
0
-1
-3
-13
10
0
0
0
0
0
0
2
9
-1
0
0
-1
0
0
-8
-27
-9
7
0
0
0
0
0
0
0
5
3
0
0
0
0
0
1
-8
-13
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
33
-17
-14
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
10
0
0
0
0
0
8
-2
5
-1
0
0
0
0
0
0
-3
0
10
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
-9
7
5
-3
0
0
0
0
0
0
4
-27
-15
19
0
0
0
0
0
-9
11
-35
44
0
0
0
0
0
0
34
3
3
0
20
0
0
2
-6
-31
-6
20
0
0
0
0
-1
-2
3
14
11
0
0
0
0
0
19
3
3
-69
0
0
0
0
0
4
-24
0
90
0
1
0
0
7
19
-18
-5
-38
0
0
0
0
0
-1
8
24
-69
0
0
0
0
0
8
3
-1
-5
0
0
0
0
0
2
-3
9
4
0
9
0
1
2
-3
1
4
0
0
0
0
0
0
3
-1
-16
-7
0
0
-1
0
0
1
-4
-11
-56
0
0
0
0
-1
19
-22
5
-49
0
-8
-2
0
-22
-20
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
-1
14
-13
0
0
0
0
1
-1
8
1
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
-3
-9
-2
0
0
0
0
0
0
0
-5
2
8
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
-5
-5
18
-2
0
0
0
0
0
1
-5
0
-1
0
0
0
0
0
1
0
-7
18
0
0
0
0
0
-1
-1
8
44
0
0
0
0
0
0
-4
-4
-18
0
0
0
0
0
-2
0
1
14
0
0
0
0
-1
1
1
0
3
0
0
0
0
0
-1
-4
-1
14
0
0
0
0
2
-2
-2
6
34
0
0
0
0
2
4
13
-14
-5
20
0
0
0
0
0
-4
-7
13
41
0
0
0
-1
1
2
5
-5
-27
0
0
0
0
0
-1
3
11
-39
0
0
0
0
-7
0
20
-9
18
0
0
0
0
-1
-3
-2
35
0
0
0
0
0
0
2
1
6
-33
0
0
0
-5
3
14
14
10
-39
0
0
0
-6
16
-4
7
-9
-7
-11
0
0
0
-3
9
8
-5
-5
-25
0
0
2
5
21
-15
-68
20
4
0
0
0
4
-5
-20
-2
-9
-13
0
0
-19
-7
-10
-3
36
-8
51
0
0
-1
-1
5
23
-3
33
24
0
0
23
9
5
-11
-12
-17
21
0
0
-7
-31
34
-53
-45
-21
30
0
0
0
0
0
14
17
0
0
0
1
0
0
3
-14
-33
0
0
0
0
0
0
4
-15
-5
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
1
0
21
0
0
0
0
0
0
2
-10
21
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
11
4
0
0
0
0
0
0
2
2
13
0
0
0
-2
0
-1
0
-3
1
0
0
0
0
0
0
2
9
-24
0
0
0
0
0
-2
9
-4
13
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
-16
-26
0
0
0
0
0
0
-1
5
-30
-1
0
0
-2
0
1
7
-24
-3
-53
0
0
0
0
0
0
-5
6
-3
0
0
0
0
0
-19
14
8
-16
0
0
0
0
0
-3
-4
4
19
0
0
-1
0
0
10
-13
7
-10
0
0
0
0
0
0
0
4
-24
0
0
0
0
0
17
7
14
-21
0
0
0
0
-2
23
14
6
-40
10
0
-5
0
-3
-14
6
51
38
25
0
0
0
0
-9
-5
-12
19
-14
0
1
0
0
-52
1
32
-30
10
0
0
1
1
-2
8
50
-36
-55
0
12
0
1
-22
-35
10
-1
44
0
0
-1
0
4
-25
-13
-35
69
0
-26
0
1
5
-48
-57
42
22
0
0
0
0
0
1
-7
0
0
0
0
0
0
-1
-9
25
0
0
0
0
0
0
2
-16
11
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
-13
-5
0
0
0
0
0
0
0
-3
1
0
0
0
0
-1
-2
2
26
9
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
-2
9
-18
7
0
0
0
0
0
0
1
1
10
-9
0
0
0
0
0
0
-1
43
-3
0
0
0
0
-1
1
7
-10
-14
0
0
0
0
0
0
-17
3
-16
0
0
0
0
0
-8
1
8
-4
0
0
0
0
0
2
0
-1
-11
0
0
0
0
0
0
4
-2
17
0
0
0
0
0
0
-11
1
-17
0
0
0
-2
0
-10
9
11
-97
5
0
0
0
0
0
-18
43
-1
-24
0
0
3
5
26
-74
43
1
-6
0
0
0
1
-9
7
-31
10
47
0
0
0
0
0
-4
13
19
46
0
0
0
-2
0
8
-14
20
6
0
0
-15
-2
0
32
10
22
-66
0
0
-7
-16
-9
10
10
-5
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-7
19
0
0
0
0
0
0
-7
-14
-11
0
0
1
0
0
1
3
1
8
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
-10
-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
14
-13
-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
3
0
0
0
0
0
-2
0
-1
0
-14
6
0
0
0
0
0
0
0
-9
8
-12
0
0
0
0
0
-4
5
-10
-5
0
0
0
0
0
2
3
-4
-3
0
3
0
0
-1
6
7
-5
24
0
0
0
0
0
1
0
-2
-2
0
0
0
0
0
2
-1
0
33
0
0
0
0
0
0
1
1
-17
0
-3
0
0
4
3
6
-3
-18
0
0
0
0
1
-1
-17
36
-39
10
0
0
0
0
-1
25
2
-18
-5
0
0
0
0
0
-24
-37
41
17
-18
0
-1
-24
14
-11
9
-54
19
0
0
0
-2
0
-2
14
32
-52
0
0
0
-1
7
0
-37
0
-5
0
0
0
1
-1
-8
3
-6
-10
-6
4
1
8
-4
-55
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-2
37
0
0
0
0
0
0
-3
8
-26
0
0
0
0
1
0
2
2
3
0
0
0
0
0
2
0
3
-45
0
0
0
0
2
3
-2
-10
8
0
0
0
0
0
-1
-11
-1
29
0
0
0
0
0
0
5
0
-3
0
0
0
0
0
1
7
-14
37
0
0
0
0
0
-3
3
-8
3
0
0
0
0
0
0
0
-16
-25
0
0
0
0
3
2
10
-21
8
0
0
0
0
0
-1
-18
-11
6
0
0
0
0
0
1
0
0
-33
0
0
0
0
0
0
-1
4
-14
0
0
0
0
-1
0
-3
0
18
0
0
0
0
3
-11
16
5
31
0
0
0
0
4
-6
8
-5
13
0
0
0
0
0
0
6
1
-27
0
0
0
0
0
1
6
-1
6
0
0
0
0
0
-1
-3
0
14
0
0
0
0
-2
-1
-4
18
16
0
0
0
0
0
0
14
6
-7
0
0
0
0
0
0
7
-7
8
0
0
0
0
1
2
6
10
0
0
0
0
0
2
2
-2
-6
1
0
0
0
0
0
0
1
1
10
0
0
0
0
-2
10
1
5
-6
0
0
0
0
-1
1
-4
5
-2
0
0
0
0
0
4
0
-20
37
0
0
0
0
0
-3
14
-4
8
0
0
0
0
-3
-3
0
-14
28
0
0
0
0
5
-1
9
17
31
0
0
0
0
0
0
0
-8
2
0
0
0
4
0
-1
0
1
-11
0
0
0
0
0
-1
1
4
-4
0
0
0
0
0
-4
-1
-9
-16
0
0
0
0
0
0
0
-6
18
0
0
0
-1
0
1
-4
-3
14
0
0
0
0
0
0
0
-6
18
0
0
0
0
0
-2
-8
-8
1
0
0
0
0
0
0
-7
6
-13
0
0
0
0
0
1
0
6
-16
0
0
0
0
0
0
-1
17
27
0
0
0
0
0
1
6
-9
20
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
-1
0
-5
17
0
0
0
0
0
0
0
-9
18
0
0
0
1
0
6
-5
9
25
0
0
0
0
0
0
-1
-20
33
0
0
0
2
0
0
0
9
2
0
0
0
0
0
-1
0
8
37
0
0
0
0
0
0
0
-16
-5
0
0
0
0
0
0
1
-8
41
0
0
0
-3
0
0
-1
-5
14
0
0
0
0
0
0
1
2
-9
0
0
0
0
0
-1
18
-18
1
0
0
0
0
0
0
-3
-6
-12
0
0
0
-2
0
1
-1
0
9
0
0
0
0
0
-1
1
-17
13
0
0
0
0
0
0
1
2
-5
0
0
0
0
0
0
-4
10
7
0
0
0
0
0
0
4
-18
25
0
0
0
0
0
-1
0
1
1
0
0
0
-1
1
-7
-2
-2
2
0
0
0
0
0
0
-1
6
-5
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
2
6
-20
0
0
0
0
0
0
1
-14
15
0
0
0
0
0
0
1
5
19
0
0
0
0
0
0
3
7
-5
0
0
0
0
0
0
1
-14
11
0
0
0
0
0
-6
0
21
31
0
0
0
0
0
1
0
2
-23
0
0
0
0
0
0
1
1
4
0
0
0
0
0
1
0
-8
37
0
0
0
0
0
0
2
9
59
0
0
0
0
0
1
1
1
3
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
-2
3
-15
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
10
11
0
0
0
0
0
1
-2
10
0
0
0
0
0
0
0
-1
-25
7
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
5
9
0
0
0
0
0
0
-5
20
-3
0
0
0
0
0
0
0
-14
-14
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
-7
-35
2
0
0
0
0
0
-5
3
-3
6
0
0
0
0
0
-1
0
-8
-17
0
0
0
0
0
1
5
15
7
0
0
0
0
-1
-13
19
-2
1
0
0
0
0
0
0
6
-31
-5
0
0
0
0
0
0
0
10
34
0
0
0
0
0
0
10
-14
-48
0
0
1
0
0
0
-4
33
-7
0
0
0
0
0
0
-8
3
4
0
0
0
0
0
1
2
18
1
0
0
0
0
0
0
-1
-5
-4
0
0
0
0
0
-2
18
3
-18
0
0
0
0
0
-1
19
2
11
0
0
0
0
0
0
8
-6
8
0
0
0
0
0
-2
5
7
22
0
0
-2
0
0
1
-7
2
15
0
0
0
0
0
-1
-1
-3
-2
0
0
0
0
0
0
7
18
0
0
0
0
0
0
0
0
-7
-5
0
0
-2
0
0
0
8
-1
13
0
0
0
0
0
0
-10
6
2
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
-6
0
-9
0
0
9
0
0
0
2
14
-8
0
0
0
0
0
0
3
-31
26
0
0
0
0
0
0
0
-4
33
0
0
0
0
0
0
1
-5
-16
0
0
3
0
0
0
-1
-41
14
0
0
0
0
0
0
3
-26
26
0
0
0
0
0
0
-4
11
6
0
0
0
0
0
0
-4
5
-5
0
0
10
0
0
0
5
13
-10
0
0
0
0
0
0
2
24
-15
0
0
0
0
0
0
5
-26
16
0
0
0
0
0
2
-8
2
15
0
0
-11
0
0
-13
34
56
-72
0
0
0
0
0
-2
-5
3
16
0
0
0
0
0
-1
0
-6
27
0
0
0
0
0
0
5
-33
-15
0
0
0
0
0
-2
14
-5
4
0
0
0
0
0
2
1
-1
9
0
0
0
0
0
1
0
1
-23
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
18
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
-15
-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
-6
0
0
0
0
0
0
0
-17
-10
0
0
0
0
0
-1
6
-17
33
0
0
0
0
0
0
4
-5
-33
0
0
0
0
0
0
0
7
14
0
0
0
0
0
0
1
-1
-2
0
0
0
0
-2
0
8
-1
15
0
0
0
0
3
-17
15
-15
-19
0
0
0
0
0
0
1
-13
26
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
3
18
-25
0
0
0
0
0
0
2
0
9
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
-23
-4
0
0
0
0
0
0
-2
-1
-10
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
2
5
-10
0
0
0
0
0
0
4
11
3
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
9
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
-14
10
0
0
0
0
0
-1
0
9
14
0
0
0
0
0
0
-4
0
-13
0
0
0
0
0
0
0
2
3
0
0
0
0
-1
0
-10
0
3
0
0
0
0
1
-2
-5
-29
34
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-11
-14
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
1
2
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
0
0
0
0
0
2
0
-9
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
-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
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
13
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
31
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
-18
-3
-30
-18
0
0
0
0
0
1
2
-27
4
0
0
0
0
0
1
-5
8
1
0
0
0
0
0
-1
-7
23
14
0
0
0
0
0
3
-25
21
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
-25
-5
0
0
0
0
0
0
-4
6
16
0
0
0
0
0
0
1
6
1
0
0
0
0
0
9
0
-3
-30
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
20
0
0
0
0
0
0
-4
-2
-14
0
0
0
0
0
7
-6
6
-34
0
0
0
0
0
0
2
4
2
0
0
0
0
0
0
0
-10
-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
9
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
9
5
0
0
0
0
0
1
0
2
4
0
0
-1
0
0
-2
4
-2
-4
0
0
0
0
0
-5
14
-3
-3
0
0
0
0
0
0
7
0
2
0
0
0
0
0
7
14
-19
-3
0
0
0
0
0
-4
-3
-71
43
0
0
0
0
1
-1
-1
0
-7
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
2
16
8
0
0
0
0
0
1
-3
3
-5
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
0
-1
-9
-4
0
0
0
0
0
0
-3
3
7
0
0
0
0
0
1
3
-14
2
0
0
0
0
0
-1
0
7
18
0
0
0
0
0
0
0
2
21
0
0
0
0
0
0
-10
-4
20
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
26
0
0
0
0
0
4
1
0
-11
0
0
0
0
0
-6
-3
-4
-5
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
-1
2
15
0
0
0
0
0
0
0
-1
4
15
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
0
1
1
18
0
0
0
0
0
4
7
-1
5
0
0
0
0
-2
3
0
-5
-8
0
0
0
0
0
0
1
10
9
0
0
0
0
0
0
-1
11
-1
0
0
0
0
0
-2
-6
-6
8
0
0
0
0
0
2
0
0
-20
0
0
0
0
0
-2
-1
-13
7
0
0
0
0
4
-4
1
18
21
0
0
0
0
-8
-33
9
6
-14
0
0
0
0
0
0
-2
-2
-5
0
0
0
-1
0
1
0
9
-16
0
0
0
0
0
0
2
-3
5
0
0
0
1
0
0
2
-5
-15
0
0
0
0
0
0
3
-8
-11
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
-10
0
0
0
0
0
0
0
3
17
0
0
0
0
0
1
1
1
-9
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
-18
15
0
0
0
0
0
0
2
4
2
0
0
0
1
0
0
-2
-11
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
13
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
14
0
0
0
0
0
0
-1
-1
6
0
0
0
0
0
0
0
-15
-14
0
0
0
0
0
0
1
-15
13
0
0
0
0
0
0
-1
3
-4
0
0
0
0
0
-1
-1
2
36
0
0
0
9
0
0
0
3
2
0
0
0
0
0
-3
0
-11
-11
0
0
0
0
0
1
-14
7
-8
0
0
0
0
0
2
0
-2
5
0
0
0
0
0
0
0
-3
-25
0
0
0
0
0
0
0
-5
19
0
0
0
0
0
0
8
-43
14
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
1
-10
7
9
0
0
0
0
0
0
0
5
13
0
0
0
0
0
0
0
-3
1
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
-9
-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
-18
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
-15
-20
0
0
0
0
-2
0
1
4
2
0
0
0
0
-1
-18
-26
33
-20
0
0
0
0
0
1
5
14
13
0
0
0
0
0
0
-4
-3
23
0
0
0
0
0
0
0
-15
9
0
0
0
0
0
0
-8
-2
-13
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
5
-17
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
-9
-5
0
0
0
0
0
-1
0
-7
-6
0
0
0
0
0
0
8
-26
7
0
0
0
0
0
0
3
11
-14
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
-10
-3
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
1
-9
-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
9
-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
5
-16
-1
0
0
0
0
0
0
0
10
17
0
0
0
0
0
0
0
-6
6
0
0
0
0
0
0
3
-17
-21
0
0
2
0
0
0
-14
11
1
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-2
-15
-9
0
0
0
0
0
0
-1
-3
-10
0
0
4
0
1
-5
-17
-43
24
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
-15
41
0
0
0
0
0
0
1
-5
-20
0
0
0
0
0
0
4
-6
11
0
0
0
0
0
0
-1
0
13
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
-10
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
31
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
-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
-9
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
1
13
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
-17
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
-14
0
0
0
0
0
-2
2
-2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
21
5
22
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
1
2
10
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
-22
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
24
0
0
0
0
0
0
-1
0
11
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
9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-11
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
-19
0
0
0
0
1
-13
-5
15
-8
0
0
0
0
0
0
0
8
5
0
0
0
0
0
1
0
15
18
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
1
18
3
-3
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
1
0
0
0
0
0
-3
-7
-1
-1
0
0
0
0
0
-1
0
0
14
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
11
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
-7
0
0
0
0
0
0
0
-1
11
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
14
0
0
0
0
0
-3
0
1
-9
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
22
7
19
0
0
0
0
0
2
-1
5
16
0
0
0
0
0
0
-1
21
11
0
0
0
0
0
0
-9
-14
-1
0
0
0
0
0
1
-21
-3
19
0
0
0
0
0
0
-4
0
-8
0
0
0
0
0
0
-9
4
-3
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
-5
-8
0
11
0
0
0
0
0
0
-3
4
-18
0
0
0
0
0
0
4
0
-5
0
0
0
0
0
0
0
5
-27
0
0
0
0
0
-1
5
13
-7
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
-1
-1
0
-8
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
-7
11
-8
-7
0
0
0
0
1
0
0
-5
14
0
0
0
0
0
0
-2
8
22
0
0
0
0
0
3
2
-8
-37
0
0
0
0
0
0
0
34
5
0
0
0
0
0
-2
4
5
-13
0
0
0
0
0
1
13
-7
-7
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
-8
10
-3
17
0
0
0
0
0
2
-2
-7
1
0
0
0
-1
0
0
4
-10
6
0
0
0
0
0
2
-14
-9
-14
0
0
2
0
0
2
0
-17
10
0
0
0
0
0
-3
0
2
36
0
0
0
0
0
1
-7
-15
14
0
0
0
0
0
0
-1
1
-14
0
0
0
0
-7
-4
2
-48
48
0
0
0
0
-3
0
4
-1
6
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
-6
-16
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
15
0
0
0
0
0
-5
-2
0
9
0
0
0
0
0
0
0
-1
-7
0
0
0
0
-1
0
0
-2
10
0
0
0
0
0
1
-5
11
14
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
-21
0
2
-14
2
0
0
0
0
4
0
7
0
-35
-10
0
0
0
0
0
0
5
3
2
0
0
0
0
0
0
-4
15
5
0
0
0
0
0
-1
-15
9
3
0
0
0
0
0
-5
1
-10
-19
0
0
0
0
-2
-7
14
-2
24
0
0
0
2
0
-1
10
-2
81
0
0
0
3
3
18
-4
8
49
0
0
0
1
-5
13
2
-7
-20
0
0
0
0
-1
0
1
20
20
0
0
0
1
-1
-2
1
1
22
0
0
0
0
4
-10
-20
24
-6
0
0
0
0
3
0
-6
14
16
0
0
0
0
1
0
-10
-5
61
0
0
0
4
3
-2
-10
39
3
0
0
0
17
-11
2
8
-4
27
0
0
0
0
0
0
-1
9
0
0
0
7
0
0
0
-2
-19
0
0
0
0
0
0
0
-2
11
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
-11
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
-9
0
0
0
0
0
0
0
1
-17
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
15
0
0
0
0
0
-1
4
-1
-4
0
0
0
0
0
0
0
0
13
-45
0
0
0
0
0
0
7
-14
-39
0
0
0
0
0
0
1
5
-19
0
0
0
0
0
0
-9
-21
-15
0
0
0
0
0
0
-1
34
-20
0
0
0
0
0
0
0
24
12
0
0
0
0
0
0
4
1
14
0
0
0
0
0
-1
6
-4
64
0
0
0
0
0
0
5
10
-16
0
0
-1
0
0
0
-17
8
20
0
0
0
0
0
-1
-26
-5
55
0
0
0
0
-1
-3
-14
29
31
0
0
0
0
0
0
-2
0
-5
0
0
4
0
-1
1
-5
-14
-55
0
0
0
1
0
0
6
0
-19
0
0
-5
0
-1
0
-3
-19
55
0
0
0
0
0
-2
-10
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
-31
-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
-20
0
0
0
0
2
0
0
-1
8
6
0
0
0
0
0
0
-9
-14
45
0
0
0
0
0
-1
5
1
6
0
0
0
0
0
0
-5
1
5
0
0
0
0
0
0
1
0
44
0
0
0
0
0
0
-2
2
5
0
0
0
0
0
0
-1
0
-56
0
0
0
0
0
-13
0
0
-27
0
0
0
0
0
0
-3
-3
16
0
0
0
0
0
0
8
5
-10
0
0
0
0
1
0
6
15
-22
0
0
0
0
0
0
-32
1
13
0
0
0
0
0
0
3
-13
-22
0
0
0
0
0
2
6
0
6
0
0
0
0
0
0
-4
-2
-7
0
0
0
5
-7
-9
-63
53
-27
0
0
0
0
0
-2
4
-9
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
13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
25
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
-13
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
19
-25
0
0
0
0
0
-1
0
5
-17
-14
0
0
0
0
0
0
-2
-1
-9
0
0
0
0
0
-1
-3
-1
-39
0
2
0
0
1
2
-8
0
4
0
0
0
0
0
-1
-1
5
11
0
0
0
0
0
1
-6
0
-6
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-14
0
-76
0
0
0
0
0
1
-20
14
-56
0
0
0
0
0
2
4
8
-22
0
0
0
0
0
2
11
3
14
0
9
0
0
-1
0
8
-6
5
0
0
0
0
0
0
-15
0
71
0
0
0
0
0
1
-2
5
-21
0
0
0
0
0
-1
4
3
-52
0
0
0
0
-9
-16
-19
-28
53
0
0
0
0
1
0
4
15
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
21
0
0
0
0
0
0
0
0
0
0
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
14
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
9
0
0
0
0
0
0
0
0
10
-33
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
3
0
1
42
0
0
0
0
0
-3
-2
6
-10
0
0
0
0
-1
0
0
-3
22
0
0
0
0
1
0
0
1
-14
0
0
0
-2
-1
1
1
0
-5
0
0
0
0
0
4
-5
0
0
0
0
0
0
1
2
-4
24
-5
0
0
0
0
0
1
1
7
25
0
0
0
0
0
0
0
13
8
0
0
0
0
-1
-4
7
-6
-45
0
0
0
0
0
0
1
1
-16
0
0
0
0
0
0
-8
-6
5
0
0
0
0
0
-1
0
2
43
0
0
0
0
-11
36
-2
-21
-59
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
-9
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
-13
-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
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
2
0
0
0
0
0
2
4
0
15
0
0
0
0
0
0
0
-2
-3
-12
0
0
0
0
0
0
1
1
14
0
0
0
0
0
0
0
1
4
0
0
0
0
0
1
1
-2
-23
0
0
0
0
0
0
3
0
-5
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
4
0
0
0
0
0
1
5
3
-16
0
0
0
0
0
-3
5
14
-14
0
0
0
0
0
0
0
7
-30
0
0
0
0
0
0
-2
2
5
0
0
0
0
0
0
0
0
-16
0
0
1
0
0
0
0
-2
-2
0
0
0
0
0
0
-1
0
-13
0
0
-2
0
-1
11
-21
-4
-5
0
0
0
0
0
-1
1
19
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
4
0
0
0
0
0
-1
0
-1
24
0
0
0
0
0
0
0
-1
43
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
0
10
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
2
5
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
-2
-2
0
-22
0
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
-21
0
0
0
-2
7
-5
-23
7
-19
0
0
0
0
-1
-2
4
3
0
0
0
0
0
0
4
-11
20
0
0
0
0
0
-3
0
4
3
0
0
0
0
0
0
-1
-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
-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
-14
-6
0
0
0
0
1
-1
-1
0
2
21
0
0
0
0
0
0
-9
5
27
0
0
0
0
-1
1
-4
1
7
0
0
0
0
0
-1
0
1
-14
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
1
0
-43
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
1
0
9
20
0
0
0
0
0
0
3
1
5
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
-14
0
0
0
0
1
1
0
-1
-16
0
-1
0
0
9
-3
-35
0
-6
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
7
-13
0
0
0
0
1
0
0
23
20
0
0
0
0
0
0
23
-21
-2
0
0
0
0
2
0
-10
-3
-8
0
0
0
0
0
0
-6
-2
21
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
2
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
-11
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
16
0
0
0
0
1
-6
6
-18
14
0
0
0
0
0
0
0
1
-10
8
0
0
0
0
0
0
-26
1
-3
0
0
0
0
0
2
-19
2
18
0
0
0
0
0
4
-5
-6
11
0
0
0
0
-1
4
-5
7
-5
0
0
0
-1
0
-2
1
-10
-16
0
0
0
0
-1
0
0
1
-7
0
0
0
0
8
-3
3
-3
-22
0
0
0
-1
-2
-2
-25
5
5
27
0
0
0
0
2
-8
24
-47
-55
0
0
0
3
2
-7
18
37
-2
0
0
0
0
0
-27
7
-36
-16
0
0
-3
-10
1
1
11
3
43
0
0
0
-2
2
9
2
0
-14
0
0
-4
-3
0
7
8
-30
21
0
0
-10
5
-8
7
-2
-19
60
0
0
0
0
-1
-5
24
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
1
-27
6
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
1
-27
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
-13
11
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
9
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
-17
-32
-1
0
0
0
0
0
0
-6
-39
-5
0
0
0
0
0
0
3
1
-24
0
0
0
0
0
0
3
-9
-17
0
0
0
0
0
-1
8
-9
27
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
15
-5
0
0
0
0
1
0
4
-18
-9
12
0
0
0
0
0
5
2
35
8
0
0
0
0
-2
0
5
-43
43
0
0
0
0
-1
2
-2
1
37
0
0
0
0
0
-2
2
-6
-5
0
-1
0
1
2
-2
-9
18
-14
0
0
0
0
0
2
-21
-4
8
0
-23
0
-13
9
-4
37
-47
15
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
-26
33
0
0
0
0
0
0
0
15
-5
0
0
0
0
0
0
-2
16
-9
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
-19
0
0
0
0
0
-2
5
-2
18
0
0
0
0
0
0
-2
2
10
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
-23
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
5
-2
-11
0
0
0
0
4
0
-1
17
-74
-10
0
0
0
0
0
2
-25
10
54
0
0
0
0
0
-3
-1
20
1
0
0
0
0
3
5
2
-10
1
0
0
0
0
0
0
0
1
-58
0
0
0
0
0
1
0
-1
-9
0
0
0
1
0
-2
-2
-51
20
0
0
-5
5
-4
-39
8
14
-48
0
0
0
0
-3
-21
37
0
0
0
0
0
0
0
-13
16
0
0
0
0
0
0
0
13
-4
0
0
1
0
0
0
7
-33
-7
0
0
0
0
0
0
-6
18
1
0
0
0
0
0
0
1
-18
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
-10
-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
-32
2
11
0
0
0
0
0
1
5
9
-10
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
-14
0
0
0
0
0
-2
8
0
-22
0
0
0
0
-2
0
33
-8
13
17
0
0
0
0
2
3
0
-18
-25
0
0
0
0
0
1
0
2
-19
-6
0
0
0
-1
-33
1
-2
20
0
0
0
0
0
2
-1
-7
-20
0
0
0
0
0
3
2
5
12
0
0
0
0
2
-4
0
11
-37
-16
0
0
-18
-2
-14
14
-51
50
0
0
0
0
3
1
18
0
0
0
0
0
0
2
-11
26
0
0
0
0
0
-2
-1
-21
-3
0
0
0
0
0
1
10
13
-9
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
3
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
1
0
0
0
0
0
0
0
-8
-16
0
0
0
0
0
0
-3
4
18
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
-39
-5
-15
0
0
0
0
0
0
3
-10
27
-24
0
0
0
0
0
0
-3
19
-9
0
0
0
0
0
0
-1
1
-7
0
0
0
0
0
1
-7
1
0
0
0
0
0
0
0
-4
6
-45
0
0
0
0
0
0
-4
3
-25
0
0
0
0
0
0
0
0
37
0
0
0
0
0
-5
-5
1
-21
0
0
0
0
0
0
7
5
-32
26
0
0
0
0
0
0
7
-10
10
0
0
0
0
0
3
-4
-10
-42
0
0
0
2
1
-1
-1
25
-6
0
0
0
0
0
-1
19
-26
10
0
0
0
0
-5
13
-1
33
15
0
0
0
0
-1
8
-4
9
35
0
0
4
-11
2
-18
5
-12
86
0
0
0
0
-3
11
2
0
0
0
3
0
0
-1
0
35
0
0
0
0
0
0
1
-5
-15
0
0
0
0
0
0
7
43
8
0
0
0
0
0
0
-2
0
10
0
0
0
0
0
0
0
5
-22
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
-10
4
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
-1
7
0
0
0
0
0
0
-3
-6
-14
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
-10
14
0
0
4
0
0
-1
8
17
-15
0
0
0
0
0
0
-6
2
21
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
-39
0
0
0
0
0
0
1
1
-9
0
0
0
0
0
0
-11
14
-6
48
0
-5
0
0
0
3
5
-15
-47
0
0
0
0
0
1
1
16
-14
0
0
0
0
-1
-4
-4
-14
21
0
0
0
0
0
-2
-3
-5
-5
0
1
0
0
0
-1
1
-10
-10
0
0
-2
0
2
-2
-3
8
1
0
-14
0
-5
5
5
-2
33
17
0
0
0
0
0
7
14
0
0
0
0
0
0
-1
8
-14
0
0
0
0
0
-2
2
-8
25
0
0
0
0
0
0
-1
-33
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
-1
-2
10
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-9
8
6
-2
0
0
0
0
-2
2
0
-6
-20
0
0
0
0
0
0
0
9
7
0
0
0
0
3
0
1
1
-43
0
0
0
0
0
4
0
7
-33
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
-2
0
0
0
0
0
-7
9
-5
-3
0
0
0
0
0
0
0
20
-17
74
0
0
0
0
0
-1
7
-3
5
0
0
0
0
0
0
0
-2
34
0
0
0
0
0
0
-8
-1
-27
0
0
0
0
0
0
-7
3
-37
0
0
0
0
-1
0
0
1
21
0
0
0
0
0
0
-6
0
-45
0
0
0
-2
1
2
-9
0
-47
0
0
0
2
0
2
-2
5
18
11
0
0
0
0
0
-1
-4
17
-33
0
0
1
0
0
-2
3
0
44
0
0
0
0
0
-1
2
-14
-27
0
0
-3
0
0
0
-4
-32
-14
0
0
3
0
-2
-2
2
-36
36
0
0
1
-3
0
0
6
-10
21
0
0
5
8
9
-33
30
-35
-34
0
0
4
-14
16
15
23
0
0
0
9
0
5
-13
18
14
0
0
0
0
-1
10
-5
-1
3
0
0
5
0
0
21
46
-8
48
0
0
0
0
2
10
-60
-17
-4
0
0
0
-2
0
1
35
-29
-19
0
0
0
0
-3
-1
-3
-5
-11
0
0
0
0
2
11
8
-14
-24
0
0
0
0
1
35
-3
-17
2
0
0
0
17
0
2
-15
-26
47
0
0
0
0
11
-36
-23
17
-4
0
0
19
10
0
20
-3
-46
5
0
0
0
0
0
-8
-8
-22
33
0
0
0
-1
0
3
3
-18
-2
0
0
0
0
1
18
-22
-18
0
0
0
-1
-3
-10
-23
-27
1
43
0
0
0
0
1
-8
4
-30
27
40
0
0
-6
0
-2
11
-5
9
-33
0
0
0
2
-2
-5
9
-1
-5
0
-14
0
0
0
17
-23
3
-38
0
0
0
2
-15
19
-2
-52
7
0
0
-6
-3
0
28
27
37
-26
0
0
0
-3
-10
-11
-45
59
-21
0
-6
0
0
0
-27
-8
-37
25
0
0
0
6
24
26
12
22
4
8
0
9
0
0
-11
-10
2
-25
88
0
0
-3
-5
-34
-28
-23
-11
23
-17
-10
1
-29
-5
-12
23
-4
1
0
0
-2
26
-26
19
-1
-38
57
0
-9
1
-1
3
6
22
-24
12
0
0
21
5
35
-31
-16
7
-71
-4
-14
-27
-51
-33
18
-33
25
-37
0
0
0
0
0
3
47
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
0
2
-31
-16
0
0
0
0
0
0
-5
-13
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
4
3
35
0
0
0
0
0
-1
0
1
7
0
0
0
0
0
0
14
2
10
0
0
0
0
0
0
-1
5
20
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
1
9
-3
0
0
0
0
0
0
-7
4
-10
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
5
2
0
0
0
0
1
-1
0
1
39
0
0
0
0
0
-4
8
-16
19
0
0
0
0
0
-1
0
-4
-10
0
0
0
0
0
0
-1
11
-24
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
-11
14
0
0
0
0
-1
-1
8
6
-2
0
0
0
0
0
0
1
0
27
0
0
0
0
3
-1
-17
18
16
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
1
11
-5
0
0
0
0
0
-2
3
2
-23
0
0
0
0
-1
1
-9
-5
24
0
0
0
0
2
5
0
7
9
0
0
0
0
2
0
14
-24
-9
0
0
0
0
-1
-2
0
2
11
0
0
0
0
4
5
2
22
-20
0
0
0
0
0
0
0
-17
8
0
0
0
-1
0
0
0
2
1
0
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
-1
8
-9
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
1
-34
-9
0
0
0
0
0
0
0
-11
16
0
0
0
0
0
0
0
5
-19
0
0
0
0
0
0
0
-7
12
0
0
0
0
0
0
0
2
49
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
-24
0
0
0
-1
0
3
2
3
25
0
0
0
0
0
0
0
5
9
0
0
0
1
0
0
-1
5
5
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
-3
25
0
0
0
-1
0
0
0
5
9
0
0
0
0
0
0
0
23
-13
0
0
0
0
0
0
-2
-8
6
0
0
0
0
0
0
0
4
33
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
25
-20
0
0
0
0
0
0
0
0
23
0
0
0
4
0
0
0
-14
6
0
0
0
0
0
0
0
-8
14
0
0
0
6
1
3
-4
-43
37
0
0
0
0
0
0
-1
-4
-17
0
0
0
0
0
0
0
-11
-26
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
5
-11
-7
0
0
0
0
0
0
0
0
17
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
-10
0
0
0
0
0
0
2
6
-5
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
-20
15
0
0
0
0
0
0
-8
-9
0
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
-24
-1
0
0
0
0
0
0
1
-6
31
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-13
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
15
9
-8
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
10
17
0
0
0
0
0
0
-1
8
1
0
0
0
0
0
0
-3
-6
9
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
0
-10
33
0
0
0
0
-2
0
-2
4
-9
0
0
0
0
1
-2
14
-7
-11
0
0
0
0
0
0
-8
-17
29
0
0
0
0
0
0
4
-6
19
0
0
0
0
0
0
7
1
-5
0
0
-1
0
0
0
-8
14
-4
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
-31
6
0
0
0
0
0
-2
-5
11
6
0
0
0
0
0
1
-2
-13
-7
0
0
0
0
0
0
0
6
-11
0
0
0
0
0
0
7
16
11
0
0
-1
0
0
0
1
-5
-11
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
1
-2
-9
0
0
0
0
0
0
-1
5
-5
0
0
0
0
0
0
-3
14
-33
0
0
0
0
0
0
7
13
2
0
0
0
0
0
0
5
-4
1
0
0
0
0
0
0
-5
13
5
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
4
8
11
0
0
0
0
0
0
0
-26
0
0
0
1
0
0
0
-9
3
5
0
0
0
0
0
0
-2
8
27
0
0
0
0
0
0
-14
-11
8
0
0
0
0
0
0
4
-20
11
0
0
2
0
0
0
20
-32
-4
0
0
0
0
0
0
-9
37
8
0
0
0
0
0
0
1
1
32
0
0
0
0
0
0
8
4
1
0
0
5
-1
-1
0
-17
21
8
0
0
0
0
0
0
0
4
-17
0
0
0
0
0
0
-1
-18
-5
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
-1
3
17
-8
0
0
0
0
0
0
-1
-5
21
0
0
0
0
0
0
1
1
-11
0
0
0
0
0
0
0
1
1
0
0
0
0
0
3
3
-5
10
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
29
0
0
0
0
0
1
14
-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
-13
-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
-14
0
0
0
0
-1
9
20
-22
-5
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
-5
6
16
0
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
-3
0
-13
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
10
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
-10
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
-16
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
11
0
0
0
1
1
-7
11
-33
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
-1
1
14
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
0
20
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
-15
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
-10
-5
-1
0
0
0
0
0
1
7
10
5
0
0
0
0
0
2
-15
-1
29
0
0
0
0
0
0
-2
5
9
0
0
0
0
0
0
3
1
-7
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
-15
9
-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
15
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
-11
0
7
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
-1
-2
1
-1
0
0
0
0
0
6
26
-1
11
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
-9
-6
0
0
0
0
0
-6
13
1
10
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
2
-2
-10
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
-11
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
9
13
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
0
-11
-3
10
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
-13
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
3
1
9
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
9
60
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
-1
-6
5
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
-19
0
0
0
0
0
0
0
11
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
-10
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
0
-11
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
1
2
31
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
4
9
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
9
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
10
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
-13
-15
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
18
-11
53
0
0
0
0
0
0
-1
-8
3
0
0
0
0
0
0
2
20
-52
0
0
0
0
0
0
-6
-2
4
0
0
0
0
0
0
0
-34
22
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
-14
4
0
0
0
0
0
0
1
-7
-4
0
0
0
0
0
0
4
1
-4
0
0
0
0
0
-1
0
-6
22
0
0
0
0
0
0
0
13
13
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
-20
0
0
0
0
0
0
0
0
-10
13
0
0
0
0
0
0
1
5
2
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
6
9
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
2
-19
5
-26
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
9
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
-10
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
-14
-4
-14
33
0
0
0
0
0
0
-2
2
-17
0
0
0
0
0
0
0
-4
45
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
-5
0
17
0
0
0
0
0
-1
0
-1
9
0
0
0
0
0
0
0
-5
-20
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
-17
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
1
0
-23
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
15
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
-10
20
-13
-6
0
0
0
0
0
8
-5
-1
11
0
0
0
0
0
0
1
2
15
0
0
0
0
0
-2
5
2
8
0
0
0
0
0
0
-6
-18
7
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
-11
-11
2
5
0
0
0
0
0
-2
6
2
-2
0
0
0
0
0
-1
0
0
17
0
0
0
0
0
11
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
-14
14
0
7
0
0
0
0
0
0
3
-1
7
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
-11
0
0
0
0
0
0
-7
2
-2
0
0
0
0
0
-1
2
1
-9
0
0
0
0
0
1
1
1
9
0
0
0
0
0
-4
5
0
13
0
0
0
0
-1
-8
3
-3
23
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
10
0
0
0
0
-4
-1
2
-21
-2
0
0
1
-2
-2
-32
41
14
39
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-10
11
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
10
-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
-9
-14
-48
0
0
0
0
0
0
-10
-1
-11
0
0
0
0
0
1
0
18
43
0
0
0
0
0
2
-6
2
-37
0
0
0
0
0
0
-7
33
15
0
0
0
0
0
0
-2
1
14
0
0
0
0
0
0
-1
-4
33
0
0
0
1
-2
8
1
-1
-12
0
0
0
0
0
0
2
10
-26
0
0
0
0
0
0
-4
8
0
0
0
0
0
4
0
-2
14
25
0
0
0
0
2
5
5
4
-23
0
0
0
0
-1
-3
0
6
-20
0
0
0
0
0
-5
-2
-4
8
0
0
0
4
-1
0
-4
-4
34
0
0
0
8
-18
-26
5
-2
-7
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
10
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
-10
-3
0
0
0
0
0
0
0
0
10
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
9
0
0
0
0
0
0
1
-9
4
0
0
0
0
0
0
0
9
-10
-37
0
0
1
0
0
0
-2
-3
-8
0
0
0
0
0
0
-1
-26
60
0
0
0
0
0
0
-4
-10
-5
0
0
0
0
0
0
-6
0
10
0
0
0
0
0
0
-1
-13
-22
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
-8
-4
0
0
0
0
0
0
-6
1
-16
0
0
0
0
0
0
-13
22
14
0
0
0
0
0
0
-4
-9
-36
0
0
0
0
0
0
-10
0
-3
0
0
0
0
0
0
-3
7
-3
0
0
-1
0
0
0
1
17
5
0
0
0
0
0
0
-2
-3
54
0
0
3
0
-3
-5
10
5
-5
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
0
0
-13
-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
-23
4
0
0
0
0
0
0
0
5
-38
0
0
0
0
0
0
15
0
-15
0
0
0
0
0
0
-7
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
-2
-1
0
0
0
0
0
0
0
0
50
0
0
0
0
0
-1
-8
1
-57
0
0
0
0
0
-1
-1
8
-39
0
0
0
0
0
0
5
-26
-13
0
0
0
0
1
0
1
3
-3
0
0
0
0
0
0
-5
0
-18
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
1
-3
6
0
0
0
0
0
0
1
0
-22
0
0
0
0
0
-11
-1
-52
40
0
0
0
0
-1
-6
-9
4
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
1
-14
-1
0
0
0
0
0
0
11
-11
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
-18
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
13
2
0
0
0
0
0
0
0
-4
1
22
0
0
0
0
0
2
-7
2
-45
0
0
0
0
0
1
-18
-4
-5
0
0
0
0
0
0
-3
1
-16
0
0
0
0
0
0
-1
0
-14
0
0
0
0
0
0
0
0
30
0
0
0
0
0
-1
0
-1
-2
0
0
0
0
0
1
-23
2
-15
0
0
0
0
0
0
14
7
-17
0
0
0
0
0
-1
6
6
4
0
0
0
0
0
0
-3
0
-18
0
0
0
0
0
1
-5
7
2
0
0
0
0
0
0
-8
0
-17
0
0
0
0
0
0
-24
0
-2
0
-3
0
0
-3
2
-23
19
-34
0
0
0
0
0
0
2
21
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
0
-22
1
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
1
-25
-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
-18
6
4
0
0
0
0
0
0
0
-4
-5
-21
0
0
0
0
0
0
0
4
1
0
0
0
0
0
-1
0
0
32
0
0
0
0
0
0
-3
0
-19
0
0
0
0
0
0
0
-3
25
0
0
0
0
0
0
-1
6
-46
0
0
0
0
0
0
-1
0
-11
0
0
0
0
0
2
-3
0
-6
0
0
0
0
0
0
-1
-7
8
0
0
0
0
0
0
-1
-25
-18
0
0
0
0
0
0
6
0
-32
0
0
0
0
0
-1
-1
-1
1
0
0
0
-1
0
0
2
-1
31
0
0
0
0
0
0
-5
0
-6
0
0
0
0
0
-2
1
1
-19
0
0
0
-1
2
6
-3
-4
5
0
0
0
0
1
0
1
6
0
0
0
0
0
0
0
10
-3
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
-11
0
0
0
0
0
0
0
0
23
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
-10
0
0
0
0
0
0
0
-9
-6
4
0
0
0
0
0
0
1
1
31
0
0
0
0
0
0
-1
0
41
0
0
0
0
0
0
-1
1
-53
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
1
1
4
14
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
5
13
31
0
0
0
0
0
0
3
-6
9
0
0
0
0
0
0
2
1
2
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
3
-3
18
0
0
0
0
0
0
0
10
2
0
0
0
0
0
0
0
-1
11
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
-11
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
-17
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
14
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
-9
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
4
6
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
0
0
0
-2
0
0
0
-5
-21
0
0
0
-1
6
0
-51
-3
5
0
0
0
0
0
2
0
25
0
0
0
0
0
0
-1
-9
-14
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
0
7
15
0
0
0
0
0
0
5
-9
-11
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
-17
0
0
0
0
0
0
1
2
-2
-21
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
24
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
17
1
24
0
0
0
0
0
0
0
-3
-2
0
0
0
0
-2
2
-6
0
-3
0
0
0
0
0
1
7
0
13
0
0
0
0
0
-5
13
2
-13
0
0
0
0
0
0
2
3
-7
0
0
0
0
0
0
-3
0
-5
0
0
0
0
1
-5
0
0
23
0
0
0
-1
0
0
2
19
-43
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
-11
0
0
0
0
0
2
0
4
-34
0
0
0
0
0
-1
3
-3
19
0
0
0
2
0
0
5
3
-22
0
0
0
-1
2
5
-5
-33
23
0
0
0
0
0
0
1
32
0
0
0
0
0
0
-1
-9
-2
0
0
0
0
0
0
0
4
-19
0
0
0
0
0
0
5
2
-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
-9
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-10
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
-9
1
3
-4
0
0
0
0
0
0
0
-1
10
-20
0
0
0
0
0
0
14
-4
-33
0
0
0
0
0
0
13
0
-9
0
0
0
0
0
2
4
22
-30
0
0
0
0
0
0
7
-3
-11
0
0
0
0
0
0
-1
4
-11
0
0
0
0
-1
0
-1
1
-8
0
0
0
-1
1
4
-6
3
6
0
0
0
1
0
0
-1
-23
-50
23
0
0
0
0
0
-4
-7
2
20
0
0
0
0
0
-4
-4
9
-7
0
0
0
1
0
-25
-1
21
9
0
0
0
0
0
2
20
-7
14
0
0
0
-1
1
-6
-1
36
1
0
0
1
-1
0
1
4
5
4
0
0
-6
-5
0
19
45
41
22
0
0
0
0
1
2
-25
0
0
0
0
0
0
-1
-9
-1
0
0
0
0
0
0
1
-26
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
10
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
10
2
0
0
0
0
0
0
-1
17
5
0
0
0
0
0
0
-4
8
-15
0
0
0
0
0
0
-6
-11
-15
0
0
0
0
0
0
1
9
-6
0
0
0
0
0
0
0
-11
-7
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
1
3
3
-14
0
0
0
0
0
-1
-9
35
-36
36
0
-1
0
0
-1
-4
8
1
-53
0
0
0
0
0
-7
2
2
48
0
0
0
0
0
10
-6
-10
52
0
0
0
0
0
-4
-7
-9
-32
0
1
0
0
0
0
4
5
-32
0
0
0
0
0
-5
-2
47
-34
0
-6
0
-2
-8
-10
-18
24
19
0
0
0
0
0
-9
0
0
0
0
0
0
0
2
-2
7
0
0
0
0
0
0
0
5
-6
0
0
0
0
0
0
1
4
16
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
-14
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
10
-20
0
0
0
0
0
1
-5
-2
-34
0
0
0
0
0
0
0
-26
7
0
0
0
0
0
4
3
3
17
0
0
0
0
0
0
1
1
13
0
0
0
0
0
0
-1
-4
-6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
-23
0
0
0
0
0
0
0
7
-17
16
0
0
0
0
0
-1
-2
-5
5
0
0
0
0
0
-6
-2
20
14
0
0
0
0
0
27
-5
-31
-20
0
0
0
0
0
0
0
1
22
0
0
0
0
-2
0
-8
-4
11
0
0
0
0
0
-4
0
13
-1
0
0
0
0
25
-18
19
-9
8
0
0
0
0
0
4
25
0
0
0
0
0
0
2
7
-3
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
7
-4
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-15
-13
0
0
0
0
0
-1
2
-10
16
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
-5
26
0
0
0
0
0
0
-7
13
-4
0
0
0
0
0
0
2
-4
-34
0
3
0
0
0
0
2
0
41
0
0
0
0
0
-3
8
-3
-34
0
0
0
0
0
0
-1
4
-25
0
0
0
0
0
0
-1
0
-2
0
2
0
0
0
-7
-5
0
-6
0
0
0
0
0
0
-7
3
-14
2
0
0
0
0
0
5
-10
3
22
0
0
0
0
0
7
-3
14
-24
3
0
0
0
0
-1
8
9
-38
0
0
0
0
0
1
4
-33
19
0
0
0
0
-1
3
1
-4
-23
0
0
0
0
0
0
-6
-14
-8
-23
0
-2
-43
-52
33
-7
-15
19
0
0
0
0
-1
-4
27
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
17
2
0
0
0
0
0
0
17
9
-8
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
1
2
-10
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
10
-14
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
-2
-13
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
14
38
0
0
0
0
0
0
-25
-25
19
0
0
0
0
0
0
1
-1
-11
0
0
0
0
0
-2
-1
-1
-17
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
-14
0
0
0
0
0
0
-4
14
-36
0
0
0
-1
0
0
-1
1
25
-33
0
0
0
0
0
0
1
5
-1
0
0
0
0
0
3
3
14
-17
0
0
0
-1
0
1
17
-3
-31
0
0
0
0
0
0
-1
-7
26
0
0
0
0
0
0
2
-8
71
0
0
0
0
0
0
1
-26
6
0
0
0
-13
3
-10
-28
29
10
0
0
0
0
0
-7
14
0
0
0
-1
0
0
0
-6
16
0
0
0
0
0
0
0
2
-10
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
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
18
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-1
0
-9
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
-9
38
0
0
0
0
0
0
-6
0
5
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
-1
14
-1
-13
0
0
0
0
0
0
1
-1
6
0
0
-3
0
0
0
0
2
-10
0
0
0
0
0
0
0
-1
-13
0
0
0
0
-1
0
0
-4
-1
0
0
0
0
0
0
0
7
-2
-35
0
-1
0
0
0
0
-5
13
16
0
0
0
0
0
-3
3
-44
25
0
0
0
0
0
0
-4
5
53
0
0
0
0
0
-1
1
-8
-29
0
0
0
0
0
0
0
-6
9
0
0
-3
0
-1
1
0
8
-5
0
-5
0
-9
-15
-36
28
-3
23
0
0
-1
0
0
1
13
0
0
0
0
0
0
0
32
15
0
0
0
0
0
-1
1
1
15
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
21
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
1
0
3
-9
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
15
24
0
0
0
0
0
0
-2
6
-7
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
-23
-1
5
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
3
0
-14
0
0
0
0
1
0
0
3
-3
23
0
0
0
0
0
1
10
13
-4
0
0
0
0
0
0
0
-14
23
0
0
0
0
-4
0
2
-6
-23
0
0
-2
0
0
0
-3
6
-19
0
0
2
0
2
0
0
-24
15
0
0
1
0
-1
-1
1
-2
-17
0
0
13
4
5
-48
58
-7
8
0
0
-2
4
13
15
33
0
0
0
22
0
0
-4
29
10
0
0
0
0
4
-21
-43
30
-1
0
0
11
1
-4
15
23
-7
-24
0
0
0
0
10
8
-53
-21
5
0
0
0
0
0
6
7
-1
6
0
0
0
0
-4
0
5
16
-22
0
0
0
0
6
1
5
-7
43
0
0
0
0
9
53
-41
20
-6
0
0
0
11
0
0
33
-36
-9
0
0
0
0
14
-7
-11
-5
26
0
0
5
7
-8
23
-46
-47
48
0
0
0
0
0
-27
-2
11
24
0
0
0
-3
-1
7
-4
23
21
0
0
0
0
10
23
3
-50
-24
0
0
-2
-4
-2
-49
-16
1
3
0
0
0
0
23
-8
47
-33
42
41
0
0
13
0
0
-7
4
-3
-14
0
0
0
-5
-3
-14
-9
-22
29
0
14
0
0
-6
27
-23
10
3
0
0
0
-8
-11
37
0
-2
4
0
0
-6
-2
-15
54
-41
44
1
0
0
0
1
-6
-23
40
62
-59
0
-14
0
1
11
-73
20
-11
9
0
0
0
-7
29
34
-48
5
-36
51
0
-11
0
0
7
18
61
12
-12
0
0
13
-11
-44
-52
21
91
-1
-4
-19
0
-8
-23
-70
5
52
14
0
0
-6
7
25
-36
-2
-43
-2
0
17
7
2
14
-23
-22
-5
-5
0
0
5
15
26
47
-24
-44
14
8
1
3
-68
53
6
-30
-72
-20
0
0
0
5
58
-3
4
0
0
0
0
0
9
-13
-9
43
0
0
0
0
-2
7
-2
-13
46
0
0
0
0
0
0
-14
-4
15
0
0
0
0
0
17
17
-59
43
0
0
0
0
2
-1
-14
14
30
0
0
0
0
1
19
-3
6
-18
0
0
0
0
0
-2
26
-11
-44
0
0
0
0
-2
-5
7
50
-14
0
0
0
0
0
-1
2
-6
-11
0
0
0
0
3
-9
-19
9
7
0
0
0
0
-2
6
22
-33
-10
0
0
0
0
-1
2
-14
14
49
0
0
0
0
0
0
-4
0
39
0
0
0
0
-10
1
3
-4
13
0
0
0
0
2
-32
-24
32
53
0
0
0
0
-8
3
18
-15
52
0
0
0
0
0
3
-7
-10
-8
0
0
0
0
-1
3
-1
-14
-11
0
0
0
0
0
0
-9
5
10
0
0
0
0
4
3
2
13
-17
0
0
0
0
0
0
3
-39
-5
0
0
0
0
1
0
-9
0
7
0
0
0
0
1
-1
0
17
-1
0
0
0
0
8
-2
0
-5
-14
0
0
0
0
0
1
-18
-3
9
0
0
0
0
0
3
3
-16
23
0
0
0
0
0
-1
4
-9
5
0
0
0
0
9
5
0
-4
64
0
0
0
0
1
0
10
-5
-5
0
0
0
0
-26
6
1
17
51
0
0
0
0
1
-20
-4
12
20
0
0
0
0
0
-3
2
4
63
0
0
0
18
0
3
4
-1
-21
0
0
0
0
1
8
3
7
-32
0
0
0
0
0
13
25
-2
5
0
0
0
0
0
0
14
1
-5
0
0
0
0
0
1
-9
1
-31
0
0
0
0
0
-2
4
18
7
0
0
0
0
0
0
-5
-45
6
0
0
0
0
0
-1
5
-41
-13
0
0
0
5
0
-2
11
-27
22
0
0
0
0
0
0
1
-36
-2
0
0
0
1
0
3
-37
-30
17
0
0
0
0
0
0
-2
-13
17
0
0
0
3
0
-3
1
-4
-8
0
0
0
0
0
3
0
25
-18
0
0
0
-2
0
-2
-8
-14
1
0
0
0
0
0
0
0
-4
23
0
0
0
-4
0
-1
4
-14
31
0
0
0
0
0
-2
0
-5
8
0
0
0
0
0
0
0
17
-4
0
0
0
0
0
0
-4
4
-5
0
0
0
-6
0
0
-2
-1
20
0
0
0
0
0
0
0
0
5
0
0
0
0
0
1
5
11
9
0
0
0
0
0
0
1
-8
18
0
0
0
-15
0
3
-1
23
4
0
0
0
0
0
0
4
-3
21
0
0
0
0
0
0
-9
56
-14
0
0
0
0
0
0
-1
-17
-3
0
0
0
37
0
-1
2
-4
13
0
0
0
0
0
0
-21
-1
10
0
0
0
-19
0
-26
10
-22
-16
0
0
0
0
0
-8
-2
5
36
0
0
0
0
0
-5
14
-5
31
0
0
0
0
10
7
-16
5
10
0
0
0
0
0
-16
-17
14
23
0
0
0
0
0
4
-8
5
-31
0
0
0
0
0
-2
4
-11
-3
0
0
0
0
-1
-1
-15
0
3
0
0
0
0
0
5
14
-3
5
0
0
0
0
0
2
8
-27
19
0
0
0
0
0
0
0
-19
10
0
0
0
0
0
-9
-7
-14
-5
0
0
0
0
0
-2
-9
-13
17
0
0
0
0
0
0
1
-37
0
0
0
0
0
0
-1
-8
-11
-26
0
0
0
0
2
0
-5
-16
36
0
0
0
0
-1
-2
-3
-21
16
0
0
0
0
0
1
-1
-17
-2
0
0
0
0
0
0
3
1
1
0
0
0
0
2
1
-7
-14
-4
0
0
0
0
1
0
20
14
10
0
0
0
0
0
1
-4
-17
-2
0
0
0
0
0
0
-3
7
6
0
0
0
0
2
-1
-6
8
17
0
0
0
0
0
0
16
14
1
0
0
0
0
0
1
-1
-3
-2
0
0
0
0
0
0
3
-8
-10
0
0
0
0
-1
0
-5
-1
-8
0
0
0
0
-2
0
8
15
11
0
0
0
0
3
3
2
-27
33
0
0
0
0
1
-1
7
-18
-16
0
0
0
0
-2
-5
4
-9
-25
0
0
0
0
-4
5
15
-16
-26
0
0
0
0
1
-8
-14
-17
72
0
0
0
0
0
1
-5
5
14
0
0
0
0
2
-10
5
11
-8
0
0
2
0
0
14
17
3
-2
0
0
0
0
0
1
6
1
21
0
0
0
0
0
-1
-1
15
-4
0
0
0
0
1
2
5
41
-11
0
0
1
0
0
-1
9
13
-3
0
0
0
0
0
-2
-3
9
-9
0
0
0
0
0
-4
-5
7
14
0
0
0
0
0
1
5
15
-35
0
0
18
0
0
-10
9
-10
-5
0
0
0
0
0
-2
-2
-1
-33
0
0
0
0
0
0
-17
13
0
0
0
0
0
0
-4
13
-7
5
0
0
2
0
0
-33
-21
-28
43
0
0
0
0
1
2
-4
-2
11
0
0
0
0
0
-1
9
20
-13
0
0
0
0
0
0
-19
33
21
0
0
-4
0
1
-8
-51
-53
14
0
0
0
0
0
0
0
-8
-10
0
0
0
1
0
0
5
-11
26
0
0
0
0
1
0
-2
0
3
0
0
-1
0
0
6
8
-16
3
0
0
0
0
0
1
-9
-2
5
0
0
0
0
0
1
1
5
-13
0
0
0
0
0
-2
-7
-13
-9
0
0
-48
0
0
8
-5
-51
26
0
0
0
0
0
1
-9
15
-15
0
0
0
0
0
-2
1
-9
14
0
0
0
0
-1
2
-1
-17
10
0
0
3
2
-3
-9
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
-1
-7
29
0
0
0
0
0
0
1
1
-16
0
0
0
0
0
0
0
7
16
0
0
0
0
-5
-15
11
11
24
0
0
0
0
0
-3
8
-2
-4
0
0
0
0
0
-1
-1
-1
14
0
0
0
0
1
0
-15
11
30
0
0
0
0
-5
5
-3
13
-11
0
0
0
0
0
0
5
24
27
0
0
0
0
0
0
3
-5
15
0
0
0
0
0
0
-2
-11
19
0
0
0
0
0
0
0
7
-9
0
0
0
0
0
0
-3
3
-23
0
0
0
0
0
-2
0
1
7
0
0
0
0
0
0
-3
14
-18
0
0
0
0
7
-3
33
-8
15
0
0
0
0
0
0
-8
-9
1
0
0
0
0
0
-1
2
24
17
0
0
0
0
0
0
-3
-16
-11
0
0
0
0
-3
7
1
-1
25
0
0
0
0
0
0
-9
-3
-6
0
0
0
0
0
0
0
6
-8
0
0
0
0
1
0
0
-5
-10
0
0
0
0
2
9
10
-16
7
0
0
0
0
0
-1
0
8
-22
0
0
0
0
1
0
3
-32
33
0
0
0
0
0
4
-7
-1
-31
0
0
0
0
19
-8
-31
24
-33
0
0
0
0
0
1
5
-2
4
0
0
0
0
1
3
5
-3
-5
0
0
0
0
5
-27
22
3
0
0
0
0
0
0
0
0
-21
17
0
0
0
0
0
0
1
-7
38
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
-13
32
0
0
0
0
0
0
0
-11
8
0
0
0
0
0
1
2
-31
14
0
0
0
0
0
0
4
7
-6
0
0
0
0
0
0
0
11
-18
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
3
-19
39
0
0
0
0
0
0
0
-1
-4
0
0
0
-1
0
1
1
-7
55
0
0
0
0
0
0
0
-4
21
0
0
0
0
0
-2
0
0
26
0
0
0
0
0
0
1
21
-23
0
0
0
19
0
1
1
-34
-5
0
0
0
0
0
0
0
-27
15
0
0
0
0
0
1
-6
3
7
0
0
0
0
0
0
3
-11
9
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
9
-8
-1
0
0
0
-3
0
0
-1
16
-28
0
0
0
0
0
0
-2
13
-1
0
0
0
2
0
-1
0
-33
1
0
0
0
0
0
0
1
8
15
0
0
0
-9
0
0
-1
-36
0
0
0
0
0
0
0
-1
5
10
0
0
0
-7
0
-2
-14
23
9
0
0
0
0
1
-1
-5
0
7
0
0
0
0
0
0
0
-15
-9
0
0
0
0
-1
-1
0
14
-20
0
0
0
0
0
1
13
-35
-14
0
0
0
0
0
-1
0
4
-18
0
0
0
0
0
0
2
-4
-9
0
0
0
0
0
0
1
0
-26
0
0
0
0
0
0
6
-9
-6
0
0
0
0
0
0
0
4
29
0
0
0
0
0
0
-2
2
-18
0
0
0
0
0
-1
0
-14
43
0
0
0
0
0
-1
-2
-4
26
0
0
0
0
0
10
0
-5
-24
0
0
0
0
0
0
-3
4
-23
0
0
0
0
1
2
1
3
-13
0
0
0
0
0
3
36
2
-25
0
0
0
0
0
0
-1
5
13
0
0
0
0
0
-1
10
-5
-10
0
0
0
0
1
0
3
-18
4
0
0
0
0
0
0
9
9
11
0
0
0
0
0
0
2
1
8
0
0
0
0
0
0
2
0
10
0
0
0
0
0
-1
1
1
-1
0
0
0
0
0
-4
2
-15
2
0
0
0
0
2
-2
-3
-21
6
0
0
0
0
0
0
0
6
-17
0
0
0
0
0
2
0
-31
2
0
0
0
0
0
-1
2
-8
-4
0
0
0
0
6
-1
14
-5
-21
0
0
0
0
0
0
0
0
25
0
0
0
0
3
-1
-4
10
18
0
0
0
0
0
3
-6
3
17
0
0
0
0
0
0
2
3
10
0
0
0
0
0
-2
0
15
-6
0
0
0
0
0
0
-10
17
-11
0
0
0
0
0
1
-5
-16
6
0
0
0
0
0
0
-3
5
9
0
0
0
0
0
0
-3
-2
-9
0
0
0
0
0
0
1
-18
15
0
0
0
0
0
-11
2
1
32
0
0
0
0
0
0
1
1
-16
0
0
0
1
0
0
-1
-7
3
0
0
0
0
0
0
1
-2
-24
0
0
-5
0
0
0
-2
18
-5
0
0
0
0
0
0
0
0
30
0
0
0
0
0
1
10
-5
-8
0
0
0
0
0
0
-6
10
-3
0
0
0
0
0
1
19
-9
-30
0
0
0
0
0
1
-2
10
-2
0
0
0
0
0
1
-10
1
-7
0
0
0
0
0
-2
1
-11
0
0
0
15
0
0
-7
14
-41
-4
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
-3
-1
-9
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
-20
0
0
0
0
0
0
1
24
-25
0
0
0
0
0
0
-1
-32
7
0
0
-14
0
0
1
-43
6
14
0
0
0
0
0
0
-10
-4
13
0
0
0
-2
0
0
9
6
-2
0
0
0
0
0
1
10
-32
5
0
0
15
1
-2
-23
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-5
0
0
0
0
0
0
-5
4
-6
0
0
0
0
0
1
-3
-25
11
0
0
0
0
0
-1
-17
3
18
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
-13
-10
0
0
0
0
-11
13
15
26
31
0
0
0
0
0
0
13
-13
4
0
0
0
0
0
4
-7
-8
-4
0
0
0
0
0
-11
-10
-8
13
0
0
0
0
-2
7
21
20
16
0
0
0
0
0
0
-7
-19
-1
0
0
0
0
3
1
9
22
-4
0
0
0
0
0
-3
-9
1
-5
0
0
0
0
7
7
5
9
21
-16
0
0
0
0
-1
-1
-17
-5
23
0
0
0
0
0
0
-5
0
-11
0
0
0
-1
5
0
14
-9
31
0
0
0
4
2
5
-10
24
-33
0
0
0
0
0
8
-18
25
-19
0
0
0
-1
-1
0
5
11
-17
0
0
0
0
-1
0
2
0
-49
0
0
0
17
-1
17
26
-35
24
0
0
0
0
0
7
5
49
-5
0
0
0
-1
0
8
-11
1
-72
0
0
0
0
0
4
-14
-6
41
0
0
0
-11
15
22
9
44
-19
0
0
0
0
-1
1
5
-9
46
0
0
0
1
3
27
-54
-41
40
0
0
0
-15
14
-3
-3
27
-36
0
0
0
0
0
7
-3
19
0
0
0
-5
0
5
1
-10
21
0
0
0
0
0
0
-1
-46
-1
0
0
0
0
0
2
-14
-9
-17
0
0
0
0
0
0
0
15
-10
0
0
0
0
0
-1
-27
3
-10
0
0
0
0
0
0
-2
3
-11
0
0
0
0
0
-3
-10
18
-3
0
0
0
0
0
0
2
-31
20
0
0
0
-5
0
0
-1
3
36
0
0
0
0
0
0
-13
14
-13
0
0
0
0
0
2
-13
21
5
0
0
0
0
0
0
-3
7
-14
0
0
0
0
0
-1
-2
-15
2
0
0
0
0
0
-2
-14
-13
22
0
0
0
0
0
4
5
-26
33
0
0
0
0
0
1
5
4
7
35
0
0
24
0
1
-4
25
20
-4
0
0
0
0
0
-1
-17
1
6
0
0
0
0
0
13
-2
-17
-17
0
0
0
0
0
0
-3
-35
25
0
0
0
0
0
3
8
2
-58
0
0
0
0
0
0
0
-7
-46
0
0
0
0
0
-7
15
-18
-14
0
0
0
0
0
-1
-72
44
53
0
0
14
0
-3
1
-6
22
-9
0
0
0
0
-3
-1
14
2
37
0
0
0
0
0
5
14
-22
5
0
0
0
0
0
5
5
15
-5
0
0
9
0
0
-7
22
-6
-27
0
0
0
0
-2
5
-29
-21
7
0
0
25
-1
5
18
-37
8
-4
0
0
0
0
2
1
21
0
0
0
0
0
0
0
-2
-10
19
0
0
0
0
4
0
1
-3
-9
0
0
0
0
0
0
2
14
-19
0
0
0
0
0
1
-14
-9
4
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
2
-4
0
0
0
0
0
0
1
6
7
0
0
0
0
0
-2
0
-24
-4
0
0
0
0
-2
1
1
-30
10
0
0
0
0
0
0
32
7
27
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
-20
0
0
0
0
-1
2
-15
1
-24
0
0
0
0
-1
1
-1
2
-22
-26
0
0
0
0
0
0
-5
-22
-12
0
0
0
1
1
0
-10
-19
22
0
0
0
0
1
-7
-9
-5
-14
0
0
0
0
-1
11
-4
-6
-43
0
0
0
0
0
0
-2
-9
0
0
0
0
1
0
-5
-3
5
-17
0
0
0
0
-1
-2
-20
7
-2
0
0
0
0
-1
-6
1
9
28
0
0
0
0
0
0
-1
-6
17
0
0
0
0
-1
-8
4
1
38
0
0
0
0
-3
-2
-26
-1
-6
0
0
0
-1
-5
-2
2
5
-4
0
0
0
0
0
0
0
8
-27
0
0
0
0
3
8
15
3
-62
0
0
0
-2
11
-27
-20
3
21
0
0
0
0
0
-5
3
14
0
0
0
0
0
0
-2
-3
-4
0
0
0
0
0
0
0
8
-5
0
0
-1
0
0
1
-17
4
5
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
-27
3
5
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
21
-20
6
0
0
0
0
0
0
0
0
25
-18
0
0
0
0
0
0
10
0
1
0
0
0
0
0
0
5
-39
-14
0
0
-4
0
0
-5
-7
-7
15
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
-7
-17
0
0
0
0
0
6
10
-4
-2
0
0
0
0
1
0
0
11
10
-35
0
0
0
0
0
8
-10
-21
3
0
0
0
-1
1
0
-20
-19
-4
0
22
0
0
4
25
17
-5
9
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
-3
-17
-10
-42
0
0
0
0
2
-2
7
-7
25
0
0
0
0
-4
5
-24
-9
14
0
0
0
0
1
26
-15
-17
-5
0
0
0
0
-30
4
7
25
-18
0
0
0
0
-4
1
9
-8
1
0
0
0
0
0
-13
15
3
2
0
0
0
0
-7
-3
-18
14
-48
0
1
0
0
-20
11
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
5
0
0
0
0
0
0
-1
2
20
0
0
0
0
0
0
2
-1
5
0
0
0
0
0
0
0
-3
6
0
0
0
0
-2
0
16
0
-14
0
0
0
0
0
0
-2
0
9
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
2
-6
15
0
0
0
0
5
1
11
15
6
0
0
0
0
0
-1
-4
11
8
0
0
0
0
0
2
-3
-22
-14
0
0
0
0
0
0
0
1
-11
0
0
0
0
4
7
18
-3
-4
0
0
0
0
0
0
13
-11
15
0
0
0
0
0
22
-4
-8
17
0
0
0
0
-4
-8
17
-19
-12
0
0
0
0
-2
7
-23
0
16
-5
0
0
0
0
0
-1
-2
34
40
0
0
0
0
2
-1
-1
7
-43
0
0
0
0
1
1
4
-9
1
0
0
0
11
2
-3
33
29
-30
0
0
0
-2
-1
5
19
-20
-7
0
0
0
-2
1
1
5
-10
6
0
0
0
-1
-7
-7
35
11
-50
0
0
0
-16
-15
-7
-2
1
25
42
0
0
0
0
-4
-9
-16
-93
32
0
0
0
-14
0
-17
-7
12
-13
0
0
0
2
2
-11
1
23
7
0
0
3
5
33
4
-11
14
-71
0
0
0
-1
9
-9
42
-14
36
0
0
9
-5
1
42
9
-18
-30
0
0
-9
-23
4
-54
-13
-17
33
0
0
0
0
1
-3
25
0
0
0
17
0
0
0
-5
-43
0
0
0
0
0
0
0
-5
-14
0
0
0
0
0
0
-6
3
-5
0
0
0
0
0
0
0
7
-5
0
0
0
0
0
-1
5
-2
-32
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
25
-3
0
0
0
0
0
-1
5
-10
-30
0
0
0
-7
0
0
-9
-15
21
0
0
0
0
0
0
2
-5
-10
0
0
0
0
0
-2
5
8
7
0
0
0
0
0
-1
3
0
36
0
0
0
0
0
0
0
5
-31
0
0
0
0
0
0
-1
1
62
0
0
0
-2
0
1
-4
-31
47
0
0
0
0
0
0
-3
-1
24
-19
0
0
-10
0
-5
7
-8
23
12
0
0
0
0
0
0
-9
-10
15
0
0
0
0
0
5
-2
15
-8
0
0
0
0
0
-15
-2
23
51
0
0
-2
0
-1
-1
-26
5
-5
0
0
0
0
0
2
-9
-2
-4
0
0
0
0
2
2
-1
6
-17
0
0
0
0
0
-10
7
18
-3
9
0
-6
0
0
-5
-71
6
11
-4
0
0
0
0
1
-23
29
2
-9
0
0
0
1
-27
-14
-5
-4
6
0
0
0
-2
8
24
-2
-74
36
0
3
0
0
-15
-10
19
16
65
0
0
0
0
7
-24
-45
-51
4
0
-19
0
-6
-5
32
-8
-6
-14
0
0
0
0
-2
-25
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
-9
0
0
0
0
0
0
4
2
-6
0
17
0
0
0
0
0
0
0
-20
-4
0
0
0
0
0
-2
2
-9
-2
0
0
0
0
0
2
2
-7
-8
0
0
0
0
1
0
-6
7
-4
0
0
0
0
0
0
-2
-1
20
0
0
0
0
0
-1
-11
-6
5
0
0
0
0
-1
0
17
-9
1
0
0
0
0
-1
-3
2
1
21
-24
0
0
0
0
0
0
1
-5
-1
0
0
0
0
0
2
3
8
2
0
0
0
0
0
-26
-25
2
16
0
0
0
-3
0
1
-3
1
20
0
0
0
0
0
-1
-9
2
14
0
0
0
0
0
0
-20
-4
-6
0
0
0
0
0
2
8
1
-15
0
0
0
-4
-4
2
-4
10
5
3
0
0
0
0
0
-14
11
35
-28
0
0
0
4
0
-5
-6
-20
36
0
0
-2
4
-5
19
0
-31
33
0
0
-2
-8
0
23
50
-23
-31
0
0
0
-2
1
14
-5
4
18
0
0
-3
0
-14
-1
-3
-6
-33
0
0
5
11
7
-40
16
-30
8
0
0
0
-1
0
-6
4
0
0
0
0
0
0
0
-14
16
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
-1
-5
-14
17
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
-11
-11
25
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
-17
0
0
0
0
0
-3
2
-23
-5
0
0
-7
0
0
-1
-7
-16
-5
0
0
0
0
0
0
-7
4
1
0
0
0
-1
0
0
-16
6
25
0
0
0
0
0
0
2
7
9
0
0
-6
0
0
-3
23
-40
-8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
-27
-14
16
0
0
0
0
0
-5
-3
5
-5
0
6
0
0
0
-6
23
-1
-37
0
0
0
0
0
0
-4
-17
5
0
0
0
0
0
-1
-19
8
7
0
0
0
0
0
0
10
-17
14
0
-5
0
0
-5
-5
-4
2
47
0
0
0
0
-2
2
-5
-1
-33
5
0
0
0
-2
-7
-18
-3
57
-35
0
0
0
0
-4
5
1
30
-15
-5
0
0
0
-6
-14
24
-6
-20
0
0
0
0
7
-27
1
-51
55
0
0
0
0
-5
14
-14
-14
-5
0
0
0
0
-21
-1
-8
-46
42
-12
-1
0
12
28
4
-27
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-25
-27
0
0
0
0
0
0
-11
-13
7
0
0
0
0
0
0
-20
0
16
0
0
0
0
-1
1
-2
-4
-65
0
0
0
0
0
1
-1
6
2
0
0
0
0
0
2
0
10
24
0
0
0
0
0
0
-4
3
49
0
0
0
0
0
0
7
-17
23
0
0
0
0
1
-17
4
-10
24
0
0
0
0
0
0
-2
6
47
0
0
0
0
0
-5
9
-6
8
0
0
0
0
0
-5
2
7
8
0
0
0
0
4
1
0
-26
-7
0
0
0
0
0
1
-1
-7
28
0
0
0
0
2
-4
4
0
10
0
0
0
0
0
2
-14
32
-20
0
0
0
0
0
1
4
9
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
1
0
0
-4
18
0
0
0
0
0
-2
-2
11
-5
0
0
0
0
-1
1
8
-17
-9
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
-2
2
7
0
0
0
0
-1
0
0
3
13
0
0
0
0
3
-5
15
8
18
0
0
0
0
0
0
-1
15
13
0
0
0
0
0
0
8
-4
-9
0
0
0
0
0
0
3
-15
8
0
0
0
0
5
5
-2
-14
-28
0
0
0
0
0
0
0
20
19
0
0
0
0
-11
-7
23
-10
-15
0
0
0
0
-8
15
33
-7
0
0
0
0
0
0
0
2
-2
34
0
0
0
8
0
-1
-1
-33
-3
0
0
0
0
0
-1
0
-3
-15
0
0
0
0
0
-2
-14
-22
38
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
-2
-11
-23
0
0
0
0
0
0
1
3
-3
0
0
0
0
0
0
6
-3
-15
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
-13
23
0
0
0
3
0
1
-2
11
-2
0
0
0
0
0
0
-2
0
7
0
0
0
0
0
1
-2
-22
30
0
0
0
0
0
0
0
9
48
0
0
0
-2
0
0
5
10
35
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
15
1
0
0
0
-4
0
0
0
20
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
39
0
0
0
-15
0
0
-1
4
16
0
0
0
0
0
0
0
5
6
0
0
0
3
0
-1
0
20
-1
0
0
0
0
0
-1
0
-5
-5
0
0
0
7
0
0
8
-22
8
0
0
0
0
0
0
-5
-14
4
0
0
0
21
0
-7
-6
-27
-7
0
0
0
0
1
-9
-3
14
-4
0
0
0
0
0
0
0
11
-16
0
0
0
0
0
4
-10
20
1
0
0
0
0
0
0
-10
0
7
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
4
-27
5
0
0
0
0
0
-4
7
3
7
0
0
0
0
0
-1
2
11
-37
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
5
1
-22
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-1
2
10
0
0
0
0
0
0
-1
-4
23
0
0
0
0
0
0
2
10
58
0
0
0
0
0
0
2
14
17
0
0
0
0
0
1
2
6
6
0
0
0
0
0
0
-1
-2
14
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
11
5
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
-2
-10
-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
-20
-1
0
0
0
0
0
0
3
0
-25
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
0
3
-10
13
0
0
0
0
-1
0
-10
10
-1
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
1
4
-1
8
0
0
0
0
0
0
7
-21
-14
0
0
15
0
0
-7
8
94
-4
0
0
0
0
0
0
-1
15
24
0
0
0
0
0
0
-5
2
8
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
26
16
12
0
0
0
0
0
1
-1
0
-8
0
0
0
0
0
0
6
7
-16
0
0
0
0
0
0
1
16
-13
0
0
0
0
0
0
10
-27
20
0
0
0
0
0
0
-1
-10
17
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
2
-3
9
3
0
0
0
0
0
-1
-10
59
30
0
0
0
0
0
0
-7
-1
1
0
0
0
0
0
0
2
-25
-13
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
17
-25
9
0
0
0
0
0
1
0
-45
14
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
1
-7
1
0
0
-3
0
0
0
18
25
9
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
3
5
17
0
0
0
45
0
0
-21
7
22
-26
0
0
0
0
0
-1
-1
-15
5
0
0
0
0
0
0
2
-16
22
0
0
0
0
0
0
2
-46
-22
0
0
0
0
0
0
-8
2
3
0
0
0
0
0
1
5
4
-17
0
0
0
0
0
0
0
11
20
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
3
6
5
0
0
0
0
0
-2
17
-10
6
0
0
0
0
0
-1
14
-5
-9
0
0
0
0
0
0
9
-8
-15
0
0
0
0
0
1
-2
-20
-6
0
0
0
0
1
0
-2
0
50
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
-13
1
0
0
0
0
0
7
7
-11
9
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
14
0
0
0
0
-1
0
2
2
-4
0
0
0
0
0
0
0
-16
-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
-9
11
5
20
0
0
0
0
0
0
0
-18
-3
0
0
0
0
-1
0
1
6
-2
0
0
0
0
-2
-14
-16
6
-14
0
0
0
0
0
0
-3
5
6
0
0
0
0
0
0
0
-14
5
0
0
0
0
0
0
-2
11
8
0
0
0
0
0
0
3
9
6
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
5
11
-1
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
-2
-23
11
0
0
0
0
0
0
3
-3
-24
0
0
0
0
0
0
-5
-13
4
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
-9
0
0
0
0
0
-1
-10
1
-3
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
13
14
0
0
0
0
0
0
-1
0
1
0
0
0
3
0
0
-1
-5
-20
0
0
0
0
0
0
0
-9
11
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
-13
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
9
-5
0
0
0
0
0
0
-1
0
-13
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
17
0
0
0
0
0
-1
-3
1
10
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
-9
9
0
0
0
0
0
0
9
-2
-8
0
0
0
0
0
0
0
-8
20
0
0
0
0
0
0
-6
-4
-1
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
0
1
1
-13
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
-5
-20
0
0
0
0
0
0
1
3
10
0
0
0
0
0
0
-1
0
14
0
0
0
0
0
0
-1
3
-14
0
0
0
0
0
-1
-1
7
7
0
0
0
0
0
0
2
21
-7
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
-11
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
20
8
-31
0
0
0
0
0
3
13
-13
13
0
0
0
0
0
0
-3
-21
15
0
0
0
0
0
0
-5
32
-5
0
0
0
0
0
5
15
-36
-12
0
0
0
0
0
0
6
0
-9
0
0
0
0
0
-1
4
41
3
0
0
0
0
0
0
-3
3
-8
0
0
0
0
0
-15
-20
-14
13
0
0
0
0
0
0
7
-2
7
0
0
0
0
0
-1
3
-10
10
0
0
0
0
0
0
1
13
-3
0
0
0
0
0
5
-9
2
-3
0
0
0
0
0
0
-4
-5
-11
0
0
0
0
0
0
6
-4
-24
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
-1
-28
32
5
0
0
0
0
0
11
3
8
-1
0
0
0
0
0
0
-2
-2
-25
0
0
0
0
0
-1
4
-1
14
0
0
0
0
0
-4
-4
-21
16
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
13
0
0
0
0
0
-1
-3
-2
-11
0
0
0
0
0
-1
0
-10
1
0
0
0
0
0
2
-1
-1
3
0
0
0
0
0
2
5
-23
-4
0
0
0
0
0
-1
15
6
-9
0
0
0
0
0
6
15
1
5
0
0
-1
0
0
10
-16
-31
48
0
0
0
0
10
-2
-2
-1
-25
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
0
0
6
-24
0
0
0
0
0
0
2
34
0
0
0
0
0
0
-1
9
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
-14
-22
0
0
0
0
1
0
-3
-6
-2
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
-1
-7
16
7
0
0
0
0
0
6
-1
-33
30
0
0
0
0
-1
0
6
-2
52
0
0
0
0
0
0
-2
-4
16
0
0
0
0
-1
2
-14
5
22
0
0
0
0
0
-6
-14
22
-41
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
11
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
0
-5
0
-11
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
15
53
0
0
0
0
0
0
0
-7
-4
0
0
0
0
-1
0
-6
3
-23
0
0
0
0
1
-6
4
13
5
0
0
0
0
0
0
2
10
-1
0
0
0
5
0
0
-1
-1
-36
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
-2
-1
-7
0
0
0
0
0
0
-3
0
-2
-21
0
0
0
0
0
0
3
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
11
0
0
0
0
0
0
0
17
11
0
0
0
0
0
0
2
32
13
0
0
0
0
0
0
0
-13
22
0
0
0
0
0
2
2
-11
31
0
0
0
0
0
0
0
2
-20
0
0
0
3
0
0
-10
-2
13
0
0
0
0
0
0
0
-14
-1
0
0
0
-1
0
0
-6
-15
19
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
10
-14
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
-17
16
0
0
0
5
0
0
3
-34
-17
0
0
0
0
0
0
0
-5
-45
0
0
0
3
0
-1
-6
1
51
0
0
0
0
0
0
3
-5
-7
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
-3
2
4
20
0
0
0
0
0
0
0
-14
26
0
0
0
0
0
0
0
9
13
0
0
0
0
0
0
0
13
-13
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
7
13
0
0
0
0
0
1
2
9
-6
0
0
0
0
0
0
0
-56
11
0
0
0
0
-1
0
-6
14
5
0
0
0
0
0
-2
1
0
-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
-10
-3
0
0
0
0
0
0
1
-23
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
23
-19
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
-1
11
-4
0
0
0
0
-1
-5
0
14
-23
0
0
0
0
0
0
-1
0
17
0
0
0
0
0
-1
-1
31
5
0
0
0
0
0
0
2
-7
27
0
0
1
0
0
-1
-3
-9
5
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
2
2
-15
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
-1
14
-14
-1
0
0
0
0
0
0
18
18
-1
0
0
0
0
0
0
18
-32
-2
0
0
0
0
0
0
-1
-13
-9
0
0
3
0
0
2
-24
-18
-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
14
-10
0
0
0
0
0
-2
9
-34
-2
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
-10
-1
0
0
1
0
0
0
0
-13
0
0
0
0
0
0
-4
0
9
-19
0
0
0
0
0
0
-1
-6
13
0
0
0
0
0
0
1
13
1
0
0
0
0
0
-2
2
-18
-30
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
0
-18
14
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
-2
8
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
8
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
2
-3
4
0
0
0
0
0
0
0
-11
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
4
7
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-3
0
5
2
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
0
-6
-18
18
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
2
17
-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
6
0
0
0
0
0
0
6
-1
10
0
0
0
0
0
0
1
-5
-15
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
-1
0
-3
-6
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
9
0
0
0
0
0
0
-1
-29
8
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
-21
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-14
47
-32
0
0
0
0
0
1
-2
-4
31
0
0
0
0
0
0
1
18
43
0
0
0
0
0
0
0
3
-17
0
0
0
0
0
0
-3
14
5
0
0
0
0
0
0
0
1
-17
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
14
0
0
0
0
0
0
-3
2
-11
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
-4
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
10
0
0
0
0
0
-1
-1
0
10
0
0
0
0
0
0
-2
-1
6
0
0
0
0
0
0
0
9
-23
0
0
0
0
0
0
-1
-2
-25
0
0
0
0
0
0
0
10
-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
-49
26
0
0
0
0
0
-7
0
3
-2
0
0
0
-1
0
0
0
-19
43
0
0
0
0
0
0
3
-1
-3
0
0
0
0
0
4
9
-21
1
0
0
0
0
0
0
0
0
21
0
0
0
0
0
1
-33
-4
-11
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
-25
21
-4
0
0
0
0
0
0
16
-9
11
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
1
-3
7
-18
0
0
0
0
0
-10
-11
-21
35
0
0
0
0
0
0
-3
2
2
0
0
0
0
0
0
2
0
-20
0
0
0
0
0
-2
2
-3
-8
0
0
0
0
0
-8
5
-16
-4
0
0
0
0
0
5
5
0
18
0
0
0
-1
0
-1
0
6
23
0
0
0
0
0
0
-1
3
17
0
0
0
0
0
1
-11
1
2
0
0
0
0
0
0
-1
2
8
0
0
0
0
0
0
-4
4
-25
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
-23
0
0
0
0
0
-1
3
9
-34
0
0
0
0
0
0
0
-4
5
0
0
-1
0
0
1
-19
4
23
0
0
0
0
0
-3
0
-5
-6
0
0
0
0
0
-2
3
-1
13
0
0
0
0
0
0
1
4
6
0
0
0
0
0
-18
6
-13
11
0
0
0
0
1
-6
6
11
4
0
0
0
0
0
0
0
-5
13
0
0
0
0
3
0
-3
-23
5
0
0
0
0
0
0
4
-8
0
0
0
0
0
-2
1
1
0
16
0
0
0
0
0
-3
0
2
-10
0
0
0
0
0
0
-1
-3
-2
0
0
0
0
0
3
-5
-14
17
0
0
0
0
-2
7
6
15
-15
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
9
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
-47
4
0
0
0
0
1
-2
6
-8
-18
-10
0
0
0
0
0
-1
-4
-1
8
0
0
0
0
0
0
5
18
-3
0
0
0
0
1
-5
0
11
-21
0
0
0
0
0
3
-2
-7
-57
0
0
0
0
0
0
-6
7
13
0
0
0
0
0
0
-1
-9
32
0
0
0
0
-2
5
0
1
5
0
0
0
3
-5
6
2
11
53
0
0
0
0
0
0
0
14
59
0
0
0
0
-1
2
2
3
18
0
0
0
0
-1
-8
-13
-5
55
0
0
0
3
0
-5
5
2
42
0
0
0
0
1
1
7
1
15
0
0
0
8
3
-1
8
33
-1
0
0
0
-5
-14
13
9
14
-21
0
0
0
0
0
1
9
3
0
0
0
17
0
0
0
7
-25
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
-2
5
20
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
14
0
0
0
0
0
0
0
-3
10
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
-15
-3
0
0
0
0
0
0
0
2
2
0
0
0
-1
0
0
0
6
23
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-9
37
0
0
0
0
0
0
0
9
-3
29
0
0
14
0
0
0
24
-6
-5
0
0
0
0
0
0
-13
-14
75
0
0
0
0
0
0
4
-3
22
0
0
0
0
-1
0
-18
-1
-24
0
0
0
0
0
-1
-1
8
-8
0
0
0
0
0
0
1
0
-58
0
0
0
0
0
5
3
-9
2
0
0
0
0
0
-3
5
-14
43
0
0
-13
0
0
0
-43
10
19
0
0
0
0
0
0
-5
3
15
0
0
0
0
0
0
0
-7
-14
0
0
0
0
0
0
8
31
-17
0
0
-1
0
0
1
19
2
-12
0
0
0
0
0
-1
6
7
-28
0
0
-3
0
0
3
-21
-14
19
0
0
0
0
0
-3
-9
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
-10
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
-11
1
0
0
0
0
0
0
0
10
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
-10
9
0
0
0
0
0
0
0
-10
14
0
0
0
0
2
0
0
2
0
72
0
0
0
0
0
0
-4
5
16
0
0
0
0
0
2
-17
-9
-17
0
0
0
0
0
0
-5
-9
30
0
0
0
0
0
2
-3
1
-19
0
0
0
0
0
0
1
0
16
0
0
0
-1
0
0
-2
0
-18
0
0
0
0
0
2
1
0
-30
0
0
0
0
0
0
-4
-13
43
0
0
0
0
0
0
-1
-1
14
0
0
0
0
0
0
5
1
-13
0
0
0
0
0
0
-5
4
9
0
0
0
0
0
2
-2
6
-21
0
0
0
0
0
0
-6
1
-3
0
0
0
1
0
1
-7
0
-57
0
0
0
0
0
-8
4
-15
-14
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
16
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
-17
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
14
0
0
0
0
0
0
2
-5
-7
0
0
0
0
0
0
0
-3
2
-13
0
0
0
0
0
0
-15
-2
45
0
0
0
0
0
-2
18
-5
-41
0
-2
0
0
1
-5
25
-1
-27
0
0
0
0
0
-1
-2
0
-45
0
0
0
0
0
3
-4
0
-44
0
0
0
0
0
1
-4
0
37
0
1
0
0
0
-1
10
0
-2
0
0
0
0
-1
1
-5
-3
6
0
0
0
0
-2
-1
-5
-2
26
0
0
0
0
0
-2
-2
0
-13
0
7
0
0
2
2
13
0
-2
0
0
0
0
0
-2
-19
26
-63
0
0
0
0
0
1
-17
1
18
0
0
0
0
-1
0
5
13
-13
0
9
0
0
6
-15
-14
-21
30
0
0
0
0
0
-4
9
26
0
0
0
0
0
0
0
-4
-11
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
-13
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
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
-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
18
0
0
0
0
0
0
-3
4
-71
0
0
0
0
0
1
-1
0
49
0
0
0
0
0
-5
-7
5
-14
0
0
0
1
1
-1
0
-5
6
0
0
0
0
0
-2
1
0
-30
0
0
0
0
0
0
8
-1
5
0
0
0
0
-1
2
0
-4
0
0
0
0
0
-1
-4
-1
2
1
0
0
0
0
0
0
-1
5
10
0
0
0
0
0
0
-2
-2
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
-1
-2
1
30
-16
0
0
0
0
0
0
-1
2
2
0
0
0
0
1
0
3
1
7
0
0
0
0
-1
15
26
13
-39
0
0
0
0
0
0
2
14
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
-10
11
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
13
0
0
0
0
0
1
4
-1
0
0
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
6
8
-15
0
0
0
0
0
0
0
0
-35
0
0
0
0
-1
-1
-9
1
19
0
0
0
0
0
0
-3
-7
3
0
0
0
0
0
7
3
7
-31
0
0
0
0
0
0
0
0
-46
0
0
0
0
-1
-2
4
-1
-18
0
0
0
0
0
0
3
6
1
0
0
0
0
0
0
2
3
-9
0
0
0
0
0
0
0
0
20
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
-23
4
-2
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
0
33
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
13
0
0
0
0
0
-1
0
3
18
0
0
0
0
0
-1
2
0
72
0
0
0
0
0
0
-3
0
-7
0
0
0
1
0
-3
-1
9
-26
0
0
0
0
0
0
2
-1
6
0
0
0
2
0
0
-1
0
28
0
0
0
0
0
1
1
-4
-4
0
0
0
0
0
0
0
-1
-18
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
-37
0
0
0
0
0
3
-46
29
-32
0
0
0
0
-1
1
-3
25
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
-10
13
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
-1
0
0
0
0
0
1
-2
9
36
0
0
0
0
1
0
-7
0
-47
0
0
0
0
2
-13
-2
1
-62
0
0
0
0
0
-1
0
-5
-14
0
0
0
0
0
6
-4
3
23
0
0
0
0
0
0
-5
0
-33
0
-1
0
0
0
-4
18
0
-41
0
0
0
0
0
0
-5
0
33
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
-1
0
0
-27
0
0
0
0
0
0
3
0
7
0
0
0
0
-1
0
1
-3
-5
0
0
0
0
1
1
-2
2
18
0
0
0
0
-1
2
-7
3
15
0
0
0
0
10
5
-27
6
28
0
0
0
-1
1
-19
-14
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
11
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
-19
5
10
0
0
0
0
0
0
0
4
13
0
0
0
0
0
0
4
-25
-11
0
0
0
0
0
0
8
9
10
0
0
0
0
-1
-2
3
0
15
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
-5
16
0
0
0
0
0
-1
0
4
34
0
0
0
0
0
0
0
2
-26
0
0
0
0
0
2
-6
1
-14
0
0
0
0
0
4
2
2
34
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
-18
0
0
0
0
2
0
25
-24
-25
43
0
0
0
-1
2
10
17
-21
5
0
0
0
5
1
-17
34
-32
13
0
0
0
0
2
-24
-7
53
-33
0
0
-3
-1
6
-11
-31
-102
33
0
0
0
0
1
-15
-3
40
-14
0
0
-1
-2
0
0
20
27
-6
0
0
-6
-7
41
-1
34
-8
6
0
0
0
0
-1
-14
32
0
0
0
-6
0
0
0
4
11
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
-21
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
-14
8
0
0
0
0
0
-1
-1
6
-14
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
9
6
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
1
13
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
9
0
0
1
0
0
0
-7
13
1
0
0
0
0
0
0
-3
-6
8
0
0
0
0
0
-1
6
-16
-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
14
0
0
0
0
1
1
4
6
-34
71
0
4
0
0
0
8
-40
14
33
0
0
0
0
1
-52
5
-2
-14
0
0
0
2
-1
4
7
-10
35
0
0
0
-1
0
11
-10
-19
12
0
-15
0
0
-13
14
2
16
3
0
0
0
1
0
-17
14
-37
-39
0
-1
0
-1
19
14
38
-7
3
0
0
0
0
0
5
3
0
0
0
0
0
0
-2
-5
19
0
0
0
0
0
0
-1
10
2
0
0
0
0
0
0
0
-13
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
22
-3
0
0
0
0
0
0
0
0
-10
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
-15
0
0
0
0
0
0
-26
-13
2
0
0
0
0
1
0
2
-14
10
0
0
0
0
0
0
-5
-11
-5
0
0
0
0
0
1
0
0
-7
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
2
0
0
0
0
0
0
2
1
2
7
0
0
0
0
0
-14
8
-24
14
0
0
0
1
1
-18
4
17
-38
0
0
0
0
-2
7
3
-59
-4
0
0
0
0
0
7
2
6
-63
0
0
0
0
0
1
-5
-1
33
0
0
0
0
0
5
-1
-17
-8
0
0
-1
-2
-23
-3
26
-15
0
0
0
0
0
3
-18
17
0
0
0
0
0
0
0
-26
11
0
0
0
0
0
0
0
25
-7
0
0
0
0
0
-1
7
-8
31
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
-25
1
0
0
0
0
0
-1
1
-7
0
0
0
0
0
0
1
4
-4
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
-9
0
0
0
0
0
0
2
0
6
-23
0
0
0
0
0
-1
17
13
-11
0
0
0
0
0
0
-3
1
-33
0
4
0
0
0
0
-5
-1
15
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
13
14
0
-33
13
0
0
0
0
-8
-1
14
-14
-11
0
0
0
0
-2
14
-4
15
21
-37
0
0
0
-5
-75
-4
-5
29
0
0
0
1
2
35
3
-24
16
0
0
0
0
0
25
0
-4
1
0
0
0
-3
0
1
0
7
-18
-30
0
0
-7
15
2
8
-9
-16
0
0
-3
18
11
2
43
0
0
0
0
0
1
2
-2
15
0
0
0
0
0
0
-13
-20
19
0
0
0
0
0
0
-7
-14
-10
0
0
0
0
0
0
-3
-4
4
0
0
0
0
0
1
-6
9
-2
0
0
0
0
-1
-1
0
1
1
0
0
0
0
0
0
2
2
-20
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
-14
-3
0
0
0
0
0
0
-6
6
13
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
1
10
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
4
0
0
0
0
0
2
9
8
-6
0
0
0
0
0
0
-4
9
3
0
0
0
0
0
1
9
-3
15
0
0
0
-3
0
-1
1
14
7
0
0
0
0
0
0
1
8
10
0
0
0
0
1
0
0
2
-14
0
0
0
0
0
0
0
0
-11
0
0
0
-6
0
4
20
-14
-8
43
0
0
0
0
0
6
12
-39
46
0
0
0
0
0
-5
9
-6
-62
0
0
0
0
-1
-7
0
1
30
0
0
5
2
-5
-6
6
33
-9
0
0
0
0
0
5
8
-19
9
0
0
0
0
0
-6
-15
-5
38
0
0
10
5
10
-9
3
-32
26
0
0
0
0
3
-7
20
0
0
0
-6
0
0
0
-16
21
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
6
-8
-16
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
0
-5
-13
-6
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-6
0
-4
0
0
0
0
0
0
-1
14
-1
0
0
0
-4
0
0
0
11
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
-17
0
0
0
0
0
0
-3
0
1
0
0
0
-1
0
0
-1
-1
15
0
0
0
0
0
0
0
2
5
-14
0
0
-11
0
0
1
-3
4
-27
0
0
0
0
1
1
0
0
-2
0
0
0
0
0
0
8
-5
50
0
0
0
0
0
1
-2
4
-3
0
0
0
0
0
-1
-2
26
-14
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
0
1
-5
-17
0
0
0
0
0
0
-2
-11
17
64
0
3
0
0
1
-7
6
3
-54
0
0
0
0
0
3
-2
-14
20
0
0
0
0
-2
-7
-3
0
-15
0
0
0
0
0
1
-9
-22
25
0
9
0
0
1
-2
-8
-4
10
0
0
0
0
0
1
0
20
-25
0
-10
0
0
-4
47
-33
-17
-23
0
0
1
-8
0
-1
33
0
0
0
0
0
0
-2
7
-15
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
10
5
0
0
0
0
-3
0
0
14
6
0
0
0
0
0
0
0
-1
-19
0
0
0
0
-2
0
0
-4
-4
0
0
0
0
0
0
-2
-34
-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
16
-48
0
0
0
0
0
1
7
-19
-14
0
0
0
0
1
0
-10
-17
-63
0
0
0
0
0
3
-18
2
-24
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
0
0
0
0
1
1
-3
-13
-13
45
-10
0
0
0
-1
0
18
-9
11
-46
0
0
0
-3
0
-15
0
1
-2
0
0
0
0
0
2
-1
-24
-44
0
0
4
0
4
-3
-2
10
14
0
0
0
0
0
-2
14
-7
26
0
0
-3
1
1
-6
-4
-5
36
0
0
-1
-2
-6
-6
8
11
6
0
0
-14
-5
37
3
49
0
0
0
9
0
9
-16
20
5
0
0
0
0
25
17
-5
-41
9
0
0
-9
0
0
0
33
5
-24
0
0
0
0
-3
1
6
-24
5
0
0
0
2
0
-1
-8
-16
44
0
0
0
0
0
4
13
37
-32
0
0
0
0
1
-3
-22
31
-8
0
0
0
0
1
22
-10
-3
15
0
0
0
-2
0
-3
20
-48
-10
0
0
0
0
-1
-8
-24
-13
20
0
0
-2
0
0
-2
31
-75
-6
0
0
0
0
-2
-14
-10
24
-38
0
0
0
-6
0
-1
-5
-6
30
0
0
0
0
-1
5
-4
3
-30
0
0
5
-3
-5
-18
14
2
-23
0
0
0
0
3
-1
9
-22
43
-5
0
0
-7
0
8
-15
-22
-5
41
0
0
0
-2
0
-9
-7
7
45
0
19
0
-1
14
-5
17
46
-32
0
0
0
4
16
24
16
-33
33
0
0
-8
0
-7
1
-30
-33
14
0
0
0
0
2
1
-27
4
22
0
-1
0
1
8
-9
5
5
-32
0
0
0
14
-14
-8
-56
46
-29
-5
0
-11
0
1
8
-31
-53
-24
27
0
0
0
6
14
-45
3
-15
26
-30
0
-1
-22
-47
55
-20
-23
19
0
0
7
-15
-30
22
21
30
-38
0
21
0
-13
-34
39
29
-38
22
0
0
-5
-23
-56
-76
8
-31
7
-15
-5
-7
5
-1
-28
14
4
-14
0
0
15
-2
-7
-13
-35
0
0
0
0
0
-3
-1
5
13
0
0
0
0
0
1
-1
-5
13
0
0
0
0
0
0
-13
-8
5
0
0
0
0
0
0
-2
-2
1
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
-5
0
0
0
0
-1
1
-2
-2
16
0
0
0
0
0
-2
0
-9
6
0
0
0
0
0
0
-1
1
10
0
0
0
0
0
0
1
9
7
0
0
0
0
0
1
5
-4
31
0
0
0
0
0
0
1
-1
20
0
0
0
0
0
1
-1
-25
29
0
0
0
0
0
-10
23
5
-4
0
0
0
0
-4
0
-1
2
1
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
1
11
-1
0
0
0
0
0
0
-4
0
13
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
1
-6
39
0
0
0
0
0
0
0
2
-18
0
0
0
0
-1
-2
3
13
3
0
0
0
0
0
1
0
10
-14
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
1
4
14
0
0
0
0
1
1
10
8
-5
0
0
0
0
0
0
14
16
16
0
0
0
0
1
1
0
5
-27
0
0
0
0
-6
3
-4
8
-12
0
0
0
0
0
0
0
1
6
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
-35
23
0
0
0
0
0
1
-1
-25
18
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
1
0
0
0
0
0
0
-4
-33
3
0
0
0
0
0
0
0
11
35
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
-4
8
0
0
0
0
0
0
-2
-7
32
0
0
0
0
0
0
1
6
-4
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
1
0
29
-16
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
17
13
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
26
0
0
0
0
0
0
0
-16
-6
0
0
0
0
0
0
0
1
2
0
0
0
0
0
-1
1
2
23
0
0
0
0
0
0
-1
-16
0
0
0
0
4
0
0
-2
7
31
0
0
0
0
0
0
0
2
26
0
0
0
4
0
1
0
-14
14
0
0
0
0
0
-4
4
9
34
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
2
1
-13
0
0
0
0
0
-2
2
-1
-18
0
0
0
0
0
0
-2
-4
-17
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-8
4
24
0
0
0
0
0
0
-3
-33
-3
0
0
0
0
0
0
3
-3
18
0
0
0
0
0
0
1
-4
20
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
-13
11
0
0
0
0
0
-1
0
-13
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
15
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
2
-2
-2
0
0
0
0
0
0
0
3
23
0
0
0
0
0
0
6
7
-9
0
0
0
0
0
0
-1
-9
3
0
0
0
0
0
-1
5
-7
17
0
0
0
0
0
-1
4
1
-1
0
0
0
0
0
0
-8
6
7
0
0
0
0
0
0
2
-7
24
0
0
-2
0
0
0
-11
-5
7
0
0
0
0
0
0
3
1
-2
0
0
0
0
0
0
-3
-8
-4
0
0
0
0
0
0
0
4
-20
0
0
0
0
0
0
3
14
41
0
0
0
0
0
0
5
-13
17
0
0
0
0
0
0
8
2
9
0
0
0
0
0
0
-3
-34
11
0
0
-1
0
0
0
0
-9
-3
0
0
0
0
0
0
-18
7
29
0
0
0
0
0
0
-2
-4
9
0
0
0
0
0
0
-7
27
-8
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
-1
10
-10
0
0
0
0
0
0
-4
5
-11
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
1
9
6
5
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
-1
-9
4
0
0
0
0
0
0
-11
0
7
0
0
1
0
0
0
2
5
1
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
0
-3
3
5
0
0
0
0
0
0
-3
5
2
0
0
1
0
0
0
-10
11
-9
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
-10
-6
7
0
0
0
0
0
0
9
0
16
0
0
13
-1
0
-1
-9
-3
-10
0
0
0
0
0
0
6
0
2
0
0
0
0
0
0
-2
0
-16
0
0
0
0
0
0
-1
0
9
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
-9
0
0
0
0
0
0
0
-15
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
15
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
-20
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
2
13
0
0
0
0
0
-1
4
-1
3
0
0
0
0
0
0
2
-3
-19
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
-2
-10
0
0
0
0
0
0
1
-3
25
0
0
0
0
0
0
-1
4
14
0
0
0
0
0
0
1
-3
-17
0
0
0
0
0
0
-3
-10
14
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-2
-10
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
-13
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
-9
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
18
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
24
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
16
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
-5
0
-8
0
0
0
0
0
0
25
-6
-27
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
13
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
-10
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
11
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
6
0
0
0
0
0
3
7
-5
-8
0
0
0
0
0
2
-4
1
9
0
0
0
0
0
0
5
8
-2
0
0
0
0
0
3
-11
21
5
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
2
-3
-7
13
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
-10
0
0
0
0
0
-1
2
-21
-7
0
0
0
0
0
0
13
-3
2
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
0
-3
-2
-15
0
0
0
0
0
0
3
-2
-3
0
0
0
0
0
-3
6
-2
0
0
0
0
0
0
-4
4
-1
7
0
0
0
0
0
10
-7
1
6
0
0
0
0
0
-1
-2
-5
14
0
0
0
0
0
0
4
1
-1
0
0
0
0
0
3
5
-11
0
0
0
0
0
0
0
-10
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
9
3
-2
0
0
0
0
0
-4
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
-9
4
0
0
0
0
0
0
-8
-18
4
-6
0
0
0
0
0
2
10
-2
-15
0
0
0
0
0
-1
3
-9
0
0
0
0
0
0
-5
-19
8
44
0
0
0
0
0
4
-10
-3
10
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-1
0
7
-7
-34
0
0
0
0
0
1
1
2
14
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
26
0
0
0
0
0
1
1
-4
-13
0
0
0
0
0
0
0
-3
34
0
0
0
0
0
-2
0
13
5
0
0
0
0
0
0
1
-10
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
23
0
0
0
0
0
0
1
2
31
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
-10
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
4
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
11
0
0
0
0
0
0
1
-6
9
0
0
0
1
0
0
0
-8
-11
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
14
0
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-9
-11
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
8
13
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
-9
-14
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
-1
5
18
0
0
0
0
0
0
0
0
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
3
10
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
-9
0
0
0
0
0
0
0
0
0
-15
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
6
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
-1
0
2
37
0
0
0
0
0
2
0
5
-14
0
0
0
0
0
-1
6
-11
0
0
0
0
0
0
0
0
3
-31
0
0
0
0
0
0
1
-6
-14
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
-4
-6
-14
0
0
0
0
0
0
1
0
11
0
0
0
0
0
0
0
-8
44
0
0
0
0
0
0
0
1
-17
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
11
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
-11
-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
-13
16
1
0
0
0
0
0
0
-2
-6
17
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
4
0
-13
0
0
0
0
0
0
6
-3
-18
0
0
0
0
0
0
-5
-6
-7
0
0
0
0
0
-1
-2
4
-14
0
0
0
0
0
0
1
-2
-9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
5
-4
1
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
2
-8
-25
0
0
0
0
0
-1
1
6
-5
0
0
0
0
0
0
-3
10
5
0
0
0
0
0
0
-2
-4
18
0
0
0
0
0
-3
-1
-4
7
0
0
0
0
0
0
-5
8
17
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
-20
0
0
0
-2
0
0
2
-3
-2
0
0
0
0
0
0
0
2
2
-31
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
1
-10
2
0
0
-2
0
0
6
46
-31
-23
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-4
-8
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
15
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
-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
-13
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
-10
23
0
0
0
0
0
0
0
1
-3
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
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
17
0
0
0
0
0
0
0
-4
17
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
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
-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
-2
0
0
0
0
0
0
0
6
21
0
0
0
0
0
0
0
-11
1
0
0
0
0
0
-1
-1
7
-23
0
0
0
0
0
0
-1
-10
14
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
17
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
2
1
1
-18
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
-10
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
-8
0
0
0
0
0
0
0
3
10
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
-14
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
-23
5
0
0
0
0
-1
1
2
-16
33
0
0
0
-1
0
-2
-1
-14
45
0
0
0
0
0
-1
-5
2
5
0
0
1
0
0
-1
0
-2
3
0
0
0
0
0
7
4
2
13
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
-2
0
11
-5
0
0
0
0
0
-2
0
0
11
0
0
0
0
0
2
-4
1
-4
0
0
0
0
0
-6
-2
-23
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
13
0
0
0
0
0
-2
7
-10
0
0
0
0
0
0
-5
25
2
21
0
0
0
1
0
-1
10
1
-1
0
0
0
0
0
1
0
-10
-26
0
0
0
0
0
1
6
6
-16
0
0
0
0
-2
-1
0
5
9
0
0
0
0
0
0
1
0
11
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
2
2
2
-5
0
0
0
0
0
-2
14
-2
-3
0
0
0
0
0
1
1
1
5
0
0
0
0
0
-3
0
-15
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
10
-4
-3
9
0
0
0
0
0
-2
3
2
-3
0
0
0
0
0
-8
-6
-4
18
0
0
1
-1
0
-24
23
7
10
0
0
0
0
0
7
5
-2
14
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
-13
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
10
17
-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
20
0
0
0
0
0
0
-2
8
23
0
0
0
0
1
0
0
1
2
-63
0
0
0
0
0
1
-2
4
-4
0
0
0
0
0
1
-3
-14
0
0
0
0
0
0
0
-19
3
-12
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
-2
8
-10
0
0
0
0
-1
-1
1
5
27
0
0
0
0
0
0
0
3
21
0
0
0
0
-3
2
8
2
-12
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
-18
6
-33
0
0
0
0
0
1
-13
0
33
0
0
0
0
0
-1
3
29
9
0
0
0
0
0
0
3
-20
33
0
0
0
0
2
0
-19
15
-18
0
0
0
1
1
11
-2
10
34
0
0
0
0
0
1
-7
-7
0
0
0
0
0
0
-1
-11
-5
0
0
0
0
0
0
0
-13
11
0
0
0
0
0
1
0
-14
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
-15
-3
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
19
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
-13
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
4
0
0
0
0
0
0
1
0
-25
-37
0
0
1
0
0
-1
-7
5
18
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
3
0
41
0
0
0
0
0
1
-1
1
-20
0
0
0
0
0
1
0
-17
-4
0
0
0
0
0
0
-14
1
32
0
0
0
0
0
0
1
-3
4
0
0
0
0
1
0
-6
-5
2
0
0
0
0
0
0
4
44
-21
0
0
0
0
0
0
1
-3
-23
0
0
0
0
0
0
-7
-5
17
0
0
0
0
0
-1
13
6
-44
0
0
-1
0
0
0
-8
-5
0
0
0
0
0
0
0
0
3
20
0
0
6
0
0
-1
-3
-5
10
0
0
0
1
0
1
2
9
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
11
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
11
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
-18
0
0
0
0
-1
0
0
1
-9
-47
0
0
0
0
0
0
-2
0
-14
0
0
0
0
0
0
1
1
15
0
0
0
0
0
-4
-3
0
30
0
0
0
0
0
0
0
-3
-49
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
1
0
-59
0
0
0
1
-1
0
-3
-5
8
0
0
0
0
0
0
-2
-2
6
0
0
0
0
0
-3
-1
-4
14
0
0
0
0
0
1
-2
-3
-7
0
0
0
-1
0
0
-9
21
-14
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
11
0
-24
0
0
0
0
1
5
-19
-37
1
0
0
0
0
-1
0
-8
2
0
0
0
0
0
0
1
-17
-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
-10
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
-9
1
0
0
0
0
0
0
2
-14
-1
0
0
0
0
0
0
7
-26
-1
0
0
0
0
0
0
-1
-14
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
-25
2
0
0
0
0
0
0
0
4
0
-94
0
0
0
0
0
0
-7
7
29
0
0
0
0
0
0
-1
1
-4
0
0
0
0
0
0
1
2
-26
0
0
0
0
0
-5
-3
2
-9
0
0
0
0
0
1
0
0
7
0
0
0
0
0
0
0
1
-38
0
-2
0
0
0
0
1
0
18
0
0
0
0
0
1
-24
-5
33
0
0
0
0
0
0
-3
4
-9
0
0
0
0
0
1
-16
0
21
0
1
0
0
0
1
1
-1
-2
0
0
0
0
0
-1
17
16
-9
0
0
0
0
0
0
-10
-1
34
0
0
0
0
-2
0
-23
8
-5
0
0
0
0
-4
26
-9
5
-37
0
0
0
0
1
-1
-1
24
0
0
0
0
0
0
0
-18
-5
0
0
0
0
0
0
-1
3
15
0
0
0
0
0
-1
1
-4
-13
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
-11
-1
0
0
0
0
0
0
-6
18
-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
31
0
0
0
0
0
0
1
-14
-33
0
0
0
0
0
0
-4
-6
43
0
0
0
0
0
0
1
0
15
0
0
0
0
0
1
0
0
-11
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
-2
-25
0
0
0
-1
0
0
9
-3
-1
0
0
0
0
0
0
-10
-1
-3
0
0
0
0
0
0
-7
-2
6
0
0
0
0
0
-1
13
-8
-7
0
0
0
0
0
0
1
-4
-21
0
0
0
0
0
0
1
5
18
0
0
0
0
0
0
0
0
-18
0
0
0
0
1
-1
-20
43
-32
0
0
0
0
0
-2
1
20
0
0
0
-1
0
0
0
-2
-10
0
0
0
0
0
0
0
5
-17
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
23
10
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
-37
0
0
0
0
0
1
0
-2
-1
27
0
0
2
0
0
0
-1
7
39
0
0
0
0
0
0
0
-1
-19
0
0
0
0
0
2
-1
0
-48
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
5
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
-3
30
0
0
0
0
0
0
0
-11
-9
0
0
0
0
0
0
-9
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
-1
0
0
0
0
-2
-3
-19
46
-1
0
0
0
-4
0
0
8
3
0
0
0
0
0
0
-1
4
22
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
-13
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
18
0
0
0
0
0
0
2
-1
29
0
0
0
0
0
-2
2
0
10
0
0
0
0
0
0
-1
0
-7
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
0
-5
0
0
0
0
0
0
-8
-3
23
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
-2
-1
8
0
0
0
0
0
0
1
-1
-26
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
-30
0
0
0
0
0
-1
-15
-8
-43
0
0
0
0
-2
-9
-15
23
0
0
0
0
0
0
0
1
-26
0
0
0
0
0
1
0
13
0
0
0
0
0
0
1
-6
-7
0
0
0
0
0
0
1
-4
11
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
-7
0
0
0
-1
0
0
0
4
-5
0
0
0
0
0
0
1
-7
4
0
0
0
0
0
0
-17
13
-2
0
0
0
0
0
0
3
-11
-14
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
27
0
0
0
0
-1
0
1
2
1
48
0
0
0
0
0
0
-6
-6
23
0
0
0
0
0
0
1
0
-49
0
0
0
0
0
0
-10
0
-30
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
-19
0
0
0
0
0
0
0
0
-10
0
0
0
0
1
17
4
-5
55
0
0
0
0
0
1
0
-15
6
0
0
0
0
0
-2
-1
0
4
0
0
0
0
0
1
5
0
-46
0
0
0
0
1
2
0
0
15
0
0
0
0
0
2
0
5
-32
0
0
0
0
-1
7
1
1
-6
0
0
0
0
15
26
10
0
-21
0
0
0
1
0
0
5
24
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
11
4
0
0
0
0
0
2
-10
13
22
0
0
0
0
0
-1
3
0
29
0
0
0
0
0
1
-1
2
19
0
0
0
0
1
0
-2
2
-8
0
0
0
0
0
2
0
10
-2
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
1
-11
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
-14
30
26
0
0
0
0
0
0
9
2
-45
0
0
0
0
0
0
-5
6
-38
0
0
0
0
1
6
-3
-5
-40
0
0
0
0
1
0
2
3
32
0
0
0
0
0
0
-8
0
19
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
-5
0
20
1
0
0
0
0
1
-3
2
-8
15
-27
0
0
0
0
0
-14
33
-74
54
0
0
0
0
0
-5
-4
2
-23
0
0
0
-2
-1
0
5
-29
30
0
0
0
-1
2
-1
-8
-26
-2
0
0
0
-2
0
-7
-24
33
-6
0
0
-2
0
1
-4
6
-8
5
0
0
-1
1
-4
5
10
63
14
0
0
0
0
1
-5
-9
0
0
0
0
0
0
0
6
-20
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
9
8
8
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
13
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
-13
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
9
0
0
0
0
0
0
0
6
11
-33
0
0
0
0
0
0
-4
0
-6
0
0
0
0
0
0
-10
3
32
0
0
0
0
0
0
3
-13
9
0
0
0
0
0
-1
-9
7
1
0
0
0
0
0
0
-6
6
-25
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
-2
3
0
0
0
0
0
0
-10
-8
-24
74
0
1
0
0
-1
-16
13
6
-53
0
0
0
0
0
0
-11
-10
-39
0
0
0
0
0
-13
-1
-16
33
0
0
0
0
0
6
-1
30
1
0
0
0
0
0
5
2
3
29
0
0
0
0
0
2
-5
10
-19
0
0
0
-1
-9
-5
23
-1
-13
0
0
0
-2
-2
-4
18
0
0
0
0
0
0
0
-23
17
0
0
0
0
0
3
0
5
-9
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
1
-1
-19
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
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
-9
6
0
0
0
0
0
0
0
3
-32
-4
0
0
0
0
0
0
-25
-2
15
0
0
0
0
0
1
5
3
0
0
0
0
0
0
-2
13
-3
42
0
0
0
-2
0
1
-3
-13
-23
0
0
0
0
0
-1
2
19
-22
0
0
0
0
0
0
3
1
-21
0
0
0
0
0
3
4
0
-14
0
0
0
0
0
0
-9
-14
33
-18
0
0
0
0
0
0
-4
-6
47
0
0
0
0
0
-2
2
9
2
0
0
0
0
0
-2
0
-2
-21
0
0
0
0
0
2
-8
14
17
0
0
0
0
0
-1
-2
15
14
0
0
0
0
0
4
-1
5
0
0
0
0
5
5
7
-3
-87
7
0
0
0
-2
3
0
33
0
0
0
0
0
0
0
-14
39
0
0
0
0
0
-1
3
14
-21
0
0
-2
0
0
0
4
-2
22
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
-19
-14
-5
0
0
0
0
0
0
2
6
-18
0
0
0
1
0
0
-1
3
-14
0
0
0
0
0
0
0
-13
4
0
0
0
0
0
0
2
-26
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
-1
-13
6
0
0
0
0
0
0
0
1
15
-44
0
0
0
0
0
0
17
27
-24
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
5
0
0
0
0
0
0
-2
-4
-31
0
0
0
0
0
5
-7
3
-26
0
0
0
0
0
-9
2
-9
-16
44
0
0
0
0
-2
0
-1
21
-21
0
0
0
0
0
4
0
14
22
0
0
0
0
-1
3
1
0
-22
0
0
0
0
0
-4
3
16
-15
0
0
0
0
-1
0
-7
-7
49
0
0
0
-2
0
-14
0
-8
-22
2
0
-1
-2
-5
14
-42
-41
6
0
0
0
0
-5
16
-15
0
0
0
0
0
0
0
2
46
0
0
0
0
0
0
0
-15
14
0
0
0
0
0
0
-11
-8
3
0
0
0
0
-1
0
0
3
3
0
0
0
0
0
0
-2
0
9
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
3
0
0
0
0
0
-1
0
-8
-1
0
0
0
0
0
0
2
11
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
-2
31
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
25
0
0
0
0
0
-1
4
-19
5
0
0
0
0
0
1
-3
0
1
0
0
0
0
0
1
-4
7
-28
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
1
0
-13
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
7
1
1
-19
0
0
0
1
-1
0
3
0
16
-22
0
0
0
0
0
0
-6
-31
-1
0
0
0
0
0
0
0
4
8
0
0
0
0
1
-8
2
7
10
0
0
0
0
0
0
-14
2
-10
0
0
0
0
0
-1
-6
-7
-13
0
0
1
0
-3
2
0
-14
1
0
0
1
-14
1
-5
-20
10
55
0
0
0
0
0
5
14
0
0
0
5
0
0
0
-14
43
0
0
0
0
0
0
-2
-1
7
0
0
0
0
0
-2
-2
14
-16
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
-3
-3
24
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
2
-9
0
0
0
0
0
2
0
4
31
0
0
0
-1
0
0
0
2
-9
0
0
0
0
0
0
0
-7
-9
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
-9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
-2
10
0
0
0
0
0
0
0
-1
14
14
0
0
-5
0
0
0
3
0
25
0
0
0
0
0
0
-6
-5
20
0
0
0
0
0
0
5
-3
-8
0
0
0
0
0
3
-2
0
20
0
0
-1
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-2
-1
0
10
0
0
0
0
0
0
-1
9
-23
23
0
-9
0
0
0
1
-11
-13
55
0
0
0
0
0
-3
0
-4
3
0
2
0
0
0
-1
-3
4
-46
0
0
0
0
0
-4
9
-14
5
0
3
0
0
0
0
-4
-11
8
0
0
0
-1
-1
1
-2
9
2
0
-5
0
-3
4
-6
24
-51
10
0
0
0
-1
0
0
19
0
0
0
0
0
0
1
5
9
0
0
0
0
0
0
-1
-8
8
0
0
0
0
0
1
-6
15
14
0
0
0
0
0
0
0
3
14
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
-10
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
-1
9
0
0
0
0
-1
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
-2
3
-1
0
0
0
0
0
0
0
-1
-2
6
22
0
0
0
0
0
0
-7
7
-39
0
0
0
0
0
0
-1
-1
11
0
0
0
0
0
0
2
-1
3
0
0
0
0
0
0
-3
1
1
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-10
0
0
0
0
-1
0
-2
0
13
0
0
0
6
0
1
1
0
7
28
0
0
0
0
0
5
2
10
-13
0
0
1
0
0
-2
0
-9
23
0
0
0
0
0
0
-4
17
-24
0
0
-4
0
0
-1
1
-30
15
0
0
0
0
0
-3
-2
-21
10
0
0
2
1
0
-2
0
-11
-21
0
0
-16
14
-13
-4
34
18
-39
0
0
-15
-7
22
28
46
0
0
0
35
0
4
-16
-31
9
0
0
0
0
37
50
-8
-37
13
0
0
14
-3
-1
5
0
-5
10
0
0
0
0
0
6
6
-9
-7
0
0
0
5
2
-32
-56
-13
62
0
0
0
0
-1
-1
5
14
-33
0
0
0
2
0
3
31
-31
-15
0
0
0
0
1
13
-5
22
-8
0
0
0
6
0
-3
55
-15
-11
0
0
0
0
-14
-6
-30
20
-22
0
0
15
6
-3
27
20
-21
-22
0
0
0
0
-3
-6
-7
9
-34
0
0
0
-3
0
6
-1
-9
10
0
0
0
0
-5
0
-14
4
1
0
0
-7
-25
-31
-21
-37
15
23
0
0
0
0
15
31
15
-4
80
37
0
0
-36
-2
14
-6
5
6
26
0
0
0
1
-20
-21
-23
18
-51
0
19
-1
0
-20
11
28
29
-69
0
0
0
9
25
-8
19
-4
-24
0
0
7
0
-9
53
-16
-33
20
0
0
0
-10
-10
7
-3
-4
0
0
7
0
1
23
11
-7
-13
-25
0
0
0
9
15
-10
-86
45
-26
55
0
0
0
0
-9
30
-65
60
-10
0
0
-5
-5
27
-20
-5
-9
3
-34
3
0
-9
-37
14
7
16
30
0
0
7
-34
9
12
52
-21
2
0
-4
0
-8
-33
-27
71
-46
-6
0
0
2
-36
-30
-18
-41
1
0
-14
15
-6
-28
68
-46
-17
-19
-22
0
0
16
32
-15
-26
64
0
0
0
0
2
7
30
11
-13
0
0
0
0
1
-25
13
-43
-11
0
0
0
0
0
-2
-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
-2
0
3
-6
0
0
0
0
0
0
0
-9
6
0
0
0
0
1
2
14
-14
23
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
-16
16
39
16
-17
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
-3
-11
-27
5
0
0
0
0
0
1
-5
-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
-2
1
16
15
-8
0
0
0
0
0
1
5
5
37
0
0
0
0
0
0
-5
14
14
0
0
0
0
0
-1
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
10
-27
-27
0
0
0
3
0
5
-14
-4
36
0
0
0
0
0
8
9
-13
5
0
0
0
0
0
-11
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
23
-18
0
0
0
3
0
0
0
-1
9
0
0
0
0
0
1
1
3
-6
0
0
0
-1
0
0
0
-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
-14
36
0
0
0
13
0
-5
-2
-6
11
0
0
0
0
0
0
-1
-6
14
0
0
0
0
0
-4
-3
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
-1
3
0
0
0
-10
0
-3
0
0
31
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
19
14
14
0
0
0
0
0
-1
3
16
12
0
0
0
0
5
2
-2
8
-6
0
0
0
0
0
-8
-5
23
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-25
-10
0
0
0
0
0
0
0
-2
0
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
11
-25
32
0
0
0
0
0
1
0
-2
-13
0
0
0
0
0
-5
-5
20
2
0
0
0
0
0
-2
-3
-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
1
5
-14
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
1
-23
0
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
-1
6
5
12
0
0
0
0
0
1
31
6
-22
0
0
0
0
1
-11
5
33
49
0
0
39
0
0
-2
31
23
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-16
8
0
0
0
0
0
0
13
0
-2
0
0
0
0
0
-1
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
-11
-21
9
0
0
0
0
0
0
-11
6
23
0
0
0
0
-2
-1
25
3
-14
0
0
-3
0
0
-5
-12
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
-16
3
-2
0
0
0
0
0
1
6
1
-13
0
0
0
0
0
0
-1
-4
1
0
0
5
0
0
1
-7
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
6
-7
34
5
-13
0
0
0
0
0
0
6
0
-29
0
0
0
0
0
5
-7
-17
-15
0
0
0
0
0
1
5
-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
4
-9
16
-5
5
0
0
0
0
0
0
1
-20
14
0
0
0
0
0
-1
3
3
9
0
0
0
0
0
-1
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
-4
0
1
16
0
0
0
0
0
-1
-1
-3
-4
0
0
0
0
0
1
-2
-20
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
23
18
-6
-1
0
0
0
0
0
0
0
-31
0
0
0
0
0
-1
-1
0
-5
7
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
1
0
-7
-8
10
0
0
0
0
0
2
-33
3
3
0
0
0
0
-1
2
3
4
37
0
0
0
0
0
-1
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
-5
-7
-5
0
0
0
11
0
-1
9
-20
24
0
0
0
0
0
-2
-2
4
-18
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
-11
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
18
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
-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
-3
1
8
13
-20
0
0
0
0
0
0
-6
1
-25
0
0
0
0
0
0
-11
-7
13
0
0
0
0
-1
2
11
-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
0
0
-4
6
0
0
0
0
0
0
0
-5
14
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
17
5
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
18
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
17
-17
-5
6
0
0
0
0
0
-6
18
15
-25
0
0
0
0
0
0
38
-12
13
0
0
0
0
0
-19
4
-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
-4
19
-8
-14
0
0
0
0
0
-1
0
2
24
0
0
0
0
0
3
-3
4
20
0
0
0
0
0
9
-1
10
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-17
0
0
0
0
0
1
4
6
-13
0
0
0
0
0
3
-9
-39
10
0
0
0
0
0
-11
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
-1
-10
-11
10
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
-17
-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
8
14
-2
-4
37
0
0
0
0
0
0
-8
-2
14
0
0
0
0
0
-1
-6
18
-4
0
0
0
0
0
0
11
-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
-2
-4
-4
-14
27
0
0
0
0
0
0
1
14
-31
0
0
0
0
0
1
0
2
-3
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
16
3
2
21
-15
0
0
0
0
0
-1
5
-13
9
0
0
0
0
0
0
0
-5
-16
0
0
0
0
0
1
-24
-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
-1
5
13
14
25
0
0
0
0
0
0
13
25
-7
0
0
0
0
-2
-1
2
0
23
0
0
0
0
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
2
-16
-9
0
0
0
-2
0
5
10
-8
21
0
0
0
0
0
0
-14
-1
5
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
-14
0
0
0
2
0
0
0
-14
-20
0
0
0
0
0
-3
0
-14
19
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
-7
17
-26
0
0
0
16
0
1
-6
-33
3
0
0
0
0
0
0
-7
-11
-10
0
0
0
0
0
-2
-3
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
1
-13
-3
0
0
0
2
0
0
4
-4
-14
0
0
0
0
0
0
-1
-1
11
0
0
0
0
0
-1
3
-33
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
-3
-19
11
0
0
0
0
-1
2
-9
-10
5
0
0
0
0
1
0
10
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
1
-10
14
0
0
0
0
0
0
2
-36
-3
0
0
0
0
0
1
-5
-10
-7
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
-1
-11
0
-15
0
0
0
0
0
0
2
-11
5
0
0
0
0
-1
-4
-1
4
-5
0
0
0
0
1
-1
15
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
-15
32
5
0
0
0
0
0
0
0
-9
3
0
0
0
0
-3
2
1
1
-3
0
0
0
0
-1
0
7
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
1
0
8
15
0
0
0
-1
0
2
-17
-45
10
0
0
0
0
0
-1
2
-21
-13
0
0
1
0
0
-15
3
-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
-3
-1
20
0
0
0
0
0
0
-1
-4
25
0
0
0
0
0
0
6
-20
-5
0
0
2
0
0
2
-16
-16
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
-2
8
-30
-3
0
0
0
0
0
1
-5
1
4
0
0
-5
0
0
6
10
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
-1
2
6
4
0
0
0
0
0
-1
-3
-7
-45
0
0
0
0
0
0
2
2
-1
0
0
-10
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
2
0
-4
0
20
0
0
0
0
0
-1
1
-13
-11
0
0
0
0
0
1
1
-8
-8
0
0
0
0
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
1
4
0
7
-1
0
0
0
0
0
0
1
-3
24
0
0
0
0
0
3
0
0
-5
0
0
0
0
0
0
-1
-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
-1
-5
13
-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
21
-5
45
0
0
0
0
0
0
3
4
10
0
0
0
0
-1
0
-4
-1
-14
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
17
0
0
0
-1
0
0
-1
-7
-15
0
0
0
0
0
0
-1
1
-8
0
0
0
0
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
-2
-1
0
0
0
0
0
0
1
3
11
0
0
0
0
0
0
0
-5
-3
0
0
0
1
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
0
0
0
1
0
0
-11
14
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
-5
0
0
0
-2
0
0
0
6
24
0
0
0
0
0
0
0
-9
-6
0
0
0
0
0
0
-2
-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
-15
0
14
-21
16
0
0
0
0
0
0
6
-5
23
0
0
0
0
1
-1
-11
18
11
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
-1
1
-1
-3
0
0
0
0
0
-2
-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
-2
7
3
-6
31
0
0
0
0
0
0
-2
7
-15
0
0
0
0
0
0
-1
3
-6
0
0
0
0
0
-1
-3
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
-1
4
0
-9
-14
0
0
0
0
0
0
2
1
22
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
-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
4
7
-12
-3
5
0
0
0
0
0
-2
11
-7
-5
0
0
0
0
-1
-22
-39
10
-1
0
0
-1
0
0
15
-14
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
-8
-1
-11
23
0
0
0
0
0
0
0
-4
32
0
0
0
0
0
-8
-4
-11
3
0
0
-1
0
0
0
5
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
9
-5
-10
-14
0
0
0
0
0
5
-13
-29
-23
0
0
0
0
0
-1
-2
-13
-6
0
0
0
0
0
-16
-9
-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
-2
-5
-14
27
16
0
0
0
-3
0
-3
3
-26
-1
0
0
0
0
0
-10
-13
-8
37
0
0
3
0
0
-6
3
21
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
1
-35
3
32
0
0
0
0
0
0
7
1
-1
0
0
0
0
1
3
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
3
-7
34
8
-8
0
0
0
0
0
0
-9
-14
24
0
0
0
0
0
-7
3
9
17
0
0
0
0
0
1
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
4
-5
-14
14
4
4
0
0
0
0
0
6
7
36
-15
0
0
0
1
-1
2
-24
-20
-5
0
0
0
0
0
1
-4
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
14
-19
14
-5
17
17
0
0
0
0
-2
-10
-4
5
5
0
0
0
0
0
0
13
11
28
0
0
0
0
0
2
-39
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
0
-1
-1
-6
-11
0
0
0
9
0
-4
3
-1
5
0
0
0
0
0
-1
0
-8
5
0
0
0
0
0
1
-11
-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
-2
-6
14
0
0
0
6
0
1
8
21
-33
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
-3
7
42
0
0
15
0
-1
-4
-25
11
29
0
0
0
-1
-1
0
-10
-3
-14
0
0
0
0
0
1
15
-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
-14
14
-53
0
0
2
0
0
2
14
28
1
0
0
0
0
0
0
-16
0
-9
0
0
-1
0
0
-1
15
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
-1
5
0
0
0
0
0
0
0
2
-8
-5
0
0
0
0
-1
2
-2
-26
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
-10
16
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
-10
11
17
-57
0
0
0
0
0
0
14
5
10
0
0
0
-1
0
0
-6
-17
31
0
0
0
0
0
0
-10
-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
0
0
0
-6
-5
5
13
0
0
0
0
-1
0
-44
-9
18
0
0
0
0
0
-2
-22
17
5
0
0
0
-1
0
4
-13
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
-5
17
6
0
0
0
0
0
-1
1
5
7
0
0
0
0
0
-1
-3
3
14
0
0
7
0
0
2
-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
0
0
0
0
0
0
1
-5
-13
0
0
0
0
0
0
0
-7
-1
23
0
0
0
0
0
0
9
5
0
0
0
-2
0
0
-7
14
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
-1
-5
16
-5
-53
0
0
0
0
0
5
-23
-20
28
0
0
0
0
1
-2
13
-9
7
0
14
0
0
11
3
19
-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
-1
5
0
7
13
0
0
0
0
-4
-2
-17
8
44
0
0
0
-1
1
4
-24
-1
-44
0
7
0
0
0
-5
-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
3
3
-18
-4
21
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
24
0
0
0
0
0
-2
-1
16
16
0
0
0
-1
0
1
0
-8
-31
0
0
0
0
1
0
-2
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
4
-25
-14
7
21
1
0
0
0
0
1
-1
18
0
-10
0
0
0
-2
2
-2
7
0
-15
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
14
0
0
0
1
0
0
-8
-2
20
0
0
0
0
0
0
3
3
-18
0
0
0
0
0
0
-8
-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
-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
11
0
0
0
0
0
-1
-5
11
26
0
0
0
0
0
2
2
-3
-77
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
10
-11
-49
0
0
-4
0
0
-8
17
45
-50
0
0
0
0
0
0
-3
-6
8
0
0
0
0
0
-3
14
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
-2
0
3
1
11
0
0
0
0
0
0
-1
-8
29
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
-2
0
0
0
0
0
0
-5
4
-44
0
0
0
0
0
0
-5
0
25
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
10
5
0
0
0
0
0
0
15
9
-33
0
0
0
0
0
6
-6
-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
-6
-2
2
0
0
0
0
0
0
-3
-9
17
0
0
0
0
-1
3
3
-7
21
0
0
-1
0
0
-8
20
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
-11
18
0
0
0
0
0
0
-6
1
-3
0
0
0
0
1
-1
1
-5
-2
0
0
0
0
0
-1
33
-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
-5
8
-10
0
0
0
0
3
14
-2
-1
-13
0
0
0
1
1
-3
-3
11
-3
0
-2
0
0
5
-14
5
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
2
5
-21
-13
4
0
0
0
0
1
2
-17
-10
-30
0
0
0
0
1
-2
7
-3
-7
0
3
0
0
5
-17
-7
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
-6
2
6
-7
-21
0
0
0
0
0
0
1
21
22
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
4
16
29
18
-8
0
0
0
0
0
0
18
-15
20
0
0
0
0
-1
5
3
-19
8
0
0
0
0
0
-2
-7
-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
-22
11
21
5
29
2
0
0
0
0
0
-11
1
22
-43
0
0
0
3
0
0
-7
-26
-18
0
0
0
0
-1
-1
-7
11
-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
-4
-13
30
-5
11
-48
2
0
0
0
3
5
0
2
-8
-41
0
0
1
0
-1
-14
5
6
22
0
0
0
-6
5
-23
6
63
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
0
-3
0
-6
-5
-5
-30
0
0
0
0
0
0
0
-7
14
0
0
0
0
0
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
-6
-13
-13
0
0
0
-13
0
-2
-1
-21
-12
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
15
-15
-4
4
0
0
5
0
0
-4
4
-25
-11
0
0
0
0
0
-4
18
13
19
0
0
0
0
0
5
20
-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
1
-13
-39
-21
-22
49
0
-32
0
7
-10
-30
32
-6
69
0
0
0
2
0
-8
24
-23
-21
0
1
0
0
-1
-5
0
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
13
8
0
0
0
0
0
0
1
-15
-14
0
0
0
0
1
-1
-1
14
0
0
0
0
0
-1
0
4
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
1
0
-8
2
0
0
0
0
0
0
-4
-1
19
0
0
0
0
0
2
1
-16
3
0
0
0
0
0
-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
1
2
8
-17
-16
0
0
0
0
0
-1
-5
-20
-21
0
0
0
-1
-1
-4
8
15
-50
0
0
0
-3
1
-6
-16
-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
0
0
0
2
-3
-23
13
-76
0
0
0
0
-8
10
4
-32
-7
0
0
-1
0
0
-20
-10
5
36
0
0
0
2
6
2
0
-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
-1
10
0
0
0
2
0
1
1
-5
14
0
0
0
0
0
3
10
-4
-14
0
0
-3
0
0
5
2
-17
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
-6
1
0
0
0
0
0
0
-1
17
-8
0
0
0
0
0
-1
2
2
-13
0
0
-5
0
0
-1
-18
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
-2
1
10
-62
0
0
0
0
-1
5
4
-5
-14
0
0
0
0
0
4
-14
0
23
0
-11
0
0
-3
10
-25
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
-1
62
0
0
0
-3
7
34
19
-20
-54
0
0
0
-2
-3
5
1
-1
-2
-21
0
0
0
-15
-14
-6
-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
4
7
-6
10
-1
0
0
0
0
0
1
-1
-7
43
0
0
0
0
0
0
-14
1
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
5
0
5
-5
26
0
0
0
0
0
0
6
1
25
0
0
0
0
0
-4
0
6
-14
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
11
16
-29
0
0
0
0
0
-2
8
-3
-28
0
0
0
0
-3
7
-8
9
6
0
0
0
0
0
-1
-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
14
0
-2
22
-1
-24
14
0
0
0
0
-6
-56
8
2
28
0
0
0
5
-5
-10
23
15
25
0
0
0
-1
-11
15
-5
2
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
-2
1
10
0
0
0
10
0
0
3
23
-42
0
0
0
0
0
0
6
-23
-39
0
0
0
0
0
0
-11
-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
-4
-14
6
0
0
0
4
0
-2
6
6
7
0
0
0
0
0
0
0
11
-17
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
0
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
20
-68
0
0
-16
0
-1
-4
-21
4
42
0
0
0
0
0
2
-2
15
35
0
0
0
0
0
-5
1
-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
1
1
-2
38
-10
-8
0
-9
0
0
-11
5
-6
-3
28
0
0
-1
0
-1
1
13
-23
12
0
0
0
0
-6
-9
-5
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
-10
-1
15
-9
20
0
0
0
0
0
0
0
-7
-6
0
0
0
0
-1
0
6
-23
2
0
0
0
0
0
0
-7
-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
4
-4
-11
0
3
0
0
0
0
0
0
-5
1
-11
0
0
0
0
0
0
-1
2
4
0
0
0
0
0
0
2
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
15
10
-5
-11
1
0
0
0
-1
-7
-1
1
14
-67
0
0
0
0
-7
-2
9
-3
22
0
0
0
-6
9
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
-10
17
-1
-15
22
-10
0
0
0
0
1
8
-25
-47
36
0
0
1
-2
2
-26
-5
-2
44
0
0
2
1
4
-20
19
-49
-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
-4
-19
44
-6
27
0
0
0
-10
2
-3
3
-38
2
0
0
0
0
2
-7
-18
-35
13
0
0
5
5
0
-15
-64
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
14
4
-53
52
-13
0
0
0
-22
0
-1
7
-4
-7
0
0
0
0
13
9
-4
-26
-9
0
0
-5
-3
0
7
-72
-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
6
-14
57
-53
14
-5
0
0
31
-2
1
26
-7
11
10
0
0
0
7
-12
-6
62
13
-55
0
19
-1
0
1
-16
-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
0
0
0
0
0
0
0
-46
6
-6
-14
32
5
18
0
4
0
6
16
-42
-88
22
27
0
0
-1
7
-25
-1
-33
-2
-15
-31
-5
0
6
-21
-14
-14
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
-2
26
2
4
-3
0
0
0
0
0
-7
0
11
23
0
0
0
0
3
-22
14
-21
6
0
0
0
0
0
2
7
-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
24
-5
20
0
0
0
0
0
0
1
0
21
0
0
0
0
0
0
4
-11
14
0
0
0
0
0
1
3
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
-8
-1
17
6
-2
0
0
0
0
0
-1
3
20
3
0
0
0
0
3
3
2
-3
4
0
0
0
0
0
-1
-16
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
3
-5
3
25
-1
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
-1
-4
-18
21
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
10
0
0
0
-3
0
2
-6
-1
8
0
0
0
0
0
0
0
-11
15
0
0
0
1
0
2
-6
-45
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
18
-29
0
0
0
0
0
0
0
-23
19
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
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
-2
-6
20
0
0
0
-3
0
0
1
-5
5
0
0
0
0
0
0
0
-14
10
0
0
0
0
0
1
-3
-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
0
0
0
0
2
-2
11
0
0
0
-2
0
0
1
-5
34
0
0
0
0
0
0
-1
8
-17
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
-16
15
0
0
0
0
0
0
5
-37
21
0
0
0
0
0
-5
-3
-18
2
0
0
0
0
0
1
-5
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
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
4
-3
0
0
0
0
0
0
-1
4
-37
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
-41
15
0
0
0
0
0
0
1
-15
13
0
0
0
0
0
-3
-1
-3
15
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
24
25
0
0
0
0
0
0
-10
10
3
0
0
0
0
0
-2
1
1
-17
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
-5
40
0
0
0
-1
0
0
-4
36
-16
0
0
0
0
0
0
-14
-7
46
0
0
17
0
0
7
6
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
-10
-15
-5
0
0
0
0
0
0
-4
1
5
0
0
0
0
0
0
6
19
-3
0
0
1
0
0
0
-1
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
-7
23
0
0
0
0
0
0
7
-14
-16
0
0
0
0
0
0
7
5
5
0
0
-2
0
0
-1
-8
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
-9
24
0
0
0
0
0
0
0
-14
-34
39
0
0
0
0
0
0
1
5
3
0
0
0
0
0
0
-14
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
10
2
-13
-19
0
0
0
0
0
-2
19
-1
-13
0
0
0
0
0
-1
-7
13
15
0
0
0
0
0
2
14
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
-3
2
-35
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
5
-36
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
9
-21
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
-15
0
0
0
0
0
1
-11
-13
10
0
0
0
0
0
0
-4
8
-10
0
0
0
0
0
0
-17
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
0
0
0
0
2
-3
0
0
0
0
0
0
2
6
16
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-1
-3
-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
0
2
5
10
0
0
0
0
0
0
7
-15
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
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
0
0
0
0
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
-9
-8
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
3
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
-4
2
2
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-10
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
10
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
-27
25
26
25
0
0
0
0
0
-5
-8
-1
4
0
0
0
0
0
17
-8
4
17
0
0
0
0
0
-5
1
-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
1
4
5
11
0
0
0
0
0
-1
4
-9
0
0
0
0
0
0
2
-11
6
-17
0
0
0
0
0
3
13
-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
-1
14
2
3
-5
0
0
0
0
0
8
-6
-1
18
0
0
0
0
0
6
-8
4
-3
0
0
-3
0
0
0
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
0
0
0
0
0
-9
-7
-10
-7
0
0
0
0
0
5
-6
-25
-7
0
0
0
0
0
2
9
7
2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
-4
15
-2
0
0
0
0
0
0
2
9
-5
0
0
0
0
0
15
-1
-11
41
0
0
0
0
0
-3
-9
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
1
-5
-3
36
-5
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
10
13
0
0
0
0
0
0
-8
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
-4
5
0
7
1
0
0
0
0
0
0
1
-6
14
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
-2
-5
-3
7
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
3
0
0
0
-2
0
0
-14
0
-3
0
0
0
0
0
0
1
2
-14
0
0
0
0
0
-2
10
-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
-22
6
0
0
0
0
0
0
2
0
-11
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
-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
-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
16
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
-15
19
7
0
0
0
0
0
0
-1
-8
6
0
0
0
0
-1
-3
0
-11
-10
0
0
0
0
0
-1
-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
1
-2
7
11
0
0
0
0
0
0
0
-13
33
0
0
0
0
1
-3
23
-15
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
-1
-19
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
-11
0
0
0
0
0
0
-3
-6
17
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
-14
23
0
0
0
0
0
1
11
-25
-55
0
0
0
0
0
-1
-3
5
-3
0
0
-4
0
0
-17
3
-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
-3
-25
13
19
0
0
0
0
0
1
-1
6
-23
0
0
0
0
0
1
11
-25
-9
0
0
-1
0
0
-9
-2
-11
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-14
-3
0
0
0
0
0
0
0
10
-18
0
0
0
0
0
0
-2
-4
-5
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
0
0
0
0
0
0
0
0
0
0
-1
-3
10
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-1
-8
17
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
11
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
9
-21
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
-15
0
0
0
0
0
-1
0
-9
2
0
0
0
0
0
0
0
0
27
0
0
0
0
0
1
-11
-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
2
1
0
0
0
0
0
3
2
1
21
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
-19
0
0
0
0
0
0
1
5
-4
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
13
-21
0
0
0
0
0
0
1
-7
5
0
0
0
0
0
2
1
-14
8
0
0
0
0
0
-1
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
-2
-11
-2
10
20
0
0
0
0
0
0
0
5
14
0
0
0
0
0
1
-2
13
-14
0
0
0
0
0
0
-1
-25
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
5
-15
0
0
0
0
-1
0
0
2
5
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
23
-23
23
0
0
0
-2
0
2
7
-5
-2
0
0
0
0
0
2
10
0
-16
0
0
-1
0
-1
-13
-16
43
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
14
0
0
0
0
0
-6
0
-15
4
0
0
0
0
-1
0
1
0
27
0
0
-1
0
0
-15
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
-2
-14
0
3
17
0
0
0
0
0
-1
-18
-9
48
0
0
0
0
0
-6
9
-1
2
0
0
0
0
0
-15
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
-1
-1
-3
-5
9
0
0
0
0
0
-9
1
-14
15
0
0
0
0
-3
1
0
2
2
0
0
5
0
0
-4
17
-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
-3
-2
8
-13
26
0
0
0
0
0
1
2
-3
-14
0
0
0
0
0
-1
-3
10
1
0
0
0
0
0
0
1
-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
-1
-7
25
-4
0
0
0
0
0
0
2
-25
-9
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
-6
-20
17
31
-54
0
0
0
0
1
-14
-18
7
-10
0
0
0
1
6
-7
-5
-2
26
0
0
0
0
4
7
13
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
5
-11
-1
-22
-19
-22
0
0
0
0
0
1
-22
33
63
0
0
0
0
1
0
-2
35
-22
0
0
0
0
0
5
-21
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
1
2
0
-11
0
0
0
-2
0
1
3
-3
33
0
0
0
0
0
0
-1
-6
-3
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
0
-1
-5
0
0
0
0
0
0
0
-25
-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
-14
54
0
0
25
0
1
0
-1
33
-12
0
0
0
0
0
2
6
-2
5
0
0
0
0
0
-1
-13
-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
1
2
6
-14
0
0
2
0
1
2
-2
-58
4
0
0
0
0
0
0
3
11
-4
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
23
-18
0
0
0
0
0
0
-3
14
-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
-25
4
0
0
0
0
0
0
-1
-3
8
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
-17
1
-26
17
0
0
0
0
0
0
-9
0
-52
0
0
0
2
-3
-13
-16
-11
25
0
0
0
0
1
-1
4
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
-1
-1
6
2
19
-15
0
0
0
0
0
0
6
3
-8
0
0
0
0
2
0
-5
-24
-1
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
-13
0
0
0
0
0
0
-6
-14
27
0
0
0
0
0
0
-3
-10
4
0
0
1
0
1
2
18
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
1
-20
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
2
-52
0
0
0
0
-1
4
-27
-14
-44
0
0
0
0
0
-1
-36
-5
1
0
-3
0
0
2
4
-34
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
0
-5
-22
-1
-8
0
0
0
0
0
1
1
6
-11
0
0
0
0
0
0
-21
3
22
0
0
0
0
2
-3
-5
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
-1
-15
-5
0
0
0
0
0
0
6
-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
1
0
-4
-8
6
0
0
0
0
0
0
-1
-5
2
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
1
21
5
0
0
0
-1
0
-17
-14
16
-9
0
0
0
0
0
5
14
-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
-14
-24
0
0
0
0
0
0
-2
-20
-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
15
0
0
0
-1
0
0
1
-2
2
0
0
0
0
0
-2
0
3
-14
0
0
0
0
0
0
5
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
-2
18
0
0
0
0
0
1
-1
0
5
0
0
0
0
0
0
0
0
1
0
0
0
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
3
9
-10
-6
16
0
0
-2
0
-2
14
26
-30
49
0
0
0
0
0
1
-3
-9
32
0
0
0
0
0
0
-8
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
4
-13
-5
-23
0
0
1
0
2
2
-3
-1
-20
0
0
0
0
0
0
0
0
-16
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
3
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
-4
-27
0
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
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
0
0
-1
10
-10
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-35
0
0
0
0
0
0
-8
6
-36
0
0
0
0
0
0
-14
-1
-9
0
0
0
0
0
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
2
6
15
0
0
0
0
-1
0
0
-5
19
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
-2
8
0
0
0
0
0
0
1
-27
-5
0
0
0
0
0
-10
36
14
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
0
6
-7
3
0
0
0
0
0
-1
9
-2
32
0
0
0
0
0
0
0
-10
-7
0
0
0
0
0
0
2
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
-7
-7
23
-3
7
0
0
0
0
10
11
15
-25
9
0
0
0
0
2
-25
-10
-4
-25
0
0
0
-2
20
-35
-30
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
4
4
14
3
0
0
0
0
-1
7
-4
2
-49
0
0
0
1
1
2
-13
-2
14
0
0
0
0
0
-2
-8
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
-3
5
4
-17
10
0
0
0
0
0
2
2
-1
27
0
0
0
0
-1
0
-1
2
10
0
0
0
0
0
0
-1
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
2
3
10
11
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
11
10
-18
-4
0
0
0
0
0
-1
20
18
-2
0
0
0
0
0
16
6
-4
-19
0
0
0
0
2
0
-9
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
-14
11
-26
11
4
5
0
0
0
0
5
-14
16
10
-13
0
0
0
-4
-7
0
15
26
1
0
0
0
2
-6
-3
-15
-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
2
-2
18
0
0
0
4
0
-2
-3
-4
20
0
0
0
0
0
0
0
-5
-23
0
0
0
0
0
0
-2
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
0
0
-4
-1
0
0
0
0
0
-1
-1
-9
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
10
48
0
0
0
0
-3
-3
2
-8
7
0
0
0
0
0
0
-1
1
-10
0
0
0
0
-1
6
9
5
-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
-3
-7
-6
6
-46
0
-18
0
-2
4
-1
-9
38
-3
0
0
0
0
-2
-37
5
-27
42
0
0
0
3
0
-8
-10
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-3
0
0
0
0
-2
1
-3
-8
7
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
1
3
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
2
0
-1
-26
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
-13
5
35
0
0
0
1
0
0
5
-10
-18
0
0
0
0
1
-1
22
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
20
-17
-6
0
0
0
0
3
-15
-34
-43
77
0
0
-3
2
1
-47
-9
-13
28
0
0
0
0
11
-8
-8
23
-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
1
-6
4
-9
-5
0
0
0
0
0
0
3
-27
-16
0
0
0
0
0
0
3
-3
15
0
0
23
0
-1
-14
16
-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
4
-7
14
0
0
0
0
0
0
0
-6
-14
0
0
0
0
0
0
-4
-2
-5
0
0
1
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
18
-28
0
0
0
0
0
3
4
-3
-5
0
0
0
0
0
1
6
0
-9
0
0
0
0
1
-29
8
-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
1
3
30
-21
9
0
1
0
-1
-17
23
2
18
-6
0
0
0
0
-3
-7
-5
-34
2
-5
0
0
-1
8
-30
-4
-12
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
-2
0
0
0
0
0
2
2
-13
-9
0
0
0
0
0
0
7
-13
-6
0
0
0
0
0
1
-7
-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
-3
0
10
0
16
0
0
0
0
0
0
-1
5
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
20
5
11
-39
34
0
0
0
0
0
2
5
-8
15
0
0
0
0
0
0
3
-9
-50
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
-24
-8
0
31
-4
15
0
0
0
0
-8
4
17
-45
-40
0
0
-1
-1
0
4
19
2
22
0
0
0
0
4
7
5
-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
-1
0
0
-4
24
0
0
0
1
0
-1
7
-15
23
0
0
0
0
0
1
-1
-10
21
0
0
0
-1
0
-2
-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
0
0
0
-11
35
0
0
0
-11
0
0
-8
0
7
0
0
0
0
0
0
2
8
-26
0
0
0
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
-1
1
-2
11
-16
20
0
0
5
0
-2
-3
3
-39
-12
0
0
0
0
-1
0
2
0
-20
0
0
0
0
0
5
-5
-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
-6
-8
-2
14
29
0
5
0
0
-10
-11
5
35
-7
0
0
-2
0
0
-8
-5
-7
16
0
0
0
0
-5
-16
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
29
8
0
0
0
0
0
-2
-3
0
7
0
0
0
0
-1
3
0
-2
24
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
-9
2
0
0
0
0
0
0
0
11
7
0
0
0
0
3
0
0
0
5
0
0
0
0
0
1
-1
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
9
1
5
-9
14
30
0
0
0
0
-1
-1
0
37
-14
0
0
0
0
0
-1
-1
5
6
0
0
0
0
0
-7
-9
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
-13
1
2
15
-19
-25
-25
0
0
0
1
0
3
15
-70
57
0
0
0
2
2
-2
15
-5
-34
0
0
0
0
-3
-32
7
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
-23
9
-9
9
24
0
0
0
47
5
-5
33
17
11
0
0
0
0
18
-29
7
-11
-12
0
0
4
-5
-13
11
-41
-33
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
31
-1
-46
50
-44
0
0
0
15
0
-16
-2
-35
8
0
0
0
0
17
18
-16
22
-51
0
0
17
-8
-4
-44
30
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
13
45
84
-73
26
-24
0
0
24
0
2
-23
-30
-7
32
0
0
0
9
-24
-10
30
4
-28
0
9
-8
-15
4
32
48
-13
-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
-16
-12
9
3
-23
26
23
0
-23
0
-5
30
-39
2
-31
42
0
0
-5
-27
-34
5
45
19
-47
-32
-9
-5
22
6
-20
7
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
9
35
3
0
0
23
2
-5
3
0
-19
44
-3
1
0
4
-17
10
1
0
-11
-19
1
0
2
-5
-35
-18
7
-2
16
-64
-15
-32
-6
-143
-148
-110
-13
0
-128
-70
-156
5
22
-9
-30
0
0
0
8
5
-5
0
0
-25
43
21
1
0
-4
26
11
1
0
7
1
0
7
-13
6
-10
13
-14
-2
35
14
4
46
13
-119
-37
18
11
6
8
24
5
14
50
0
1
0
0
0
1
-1
-1
0
0
-1
2
1
0
0
-1
7
-4
0
0
2
16
9
5
0
11
-5
27
3
-15
-7
-25
1
39
-14
-29
-24
15
12
-35
33
22
19
48
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
41
-11
-12
-1
-4
-17
48
68
11
9
12
34
11
-53
0
45
46
13
-21
0
0
0
0
0
0
0
0
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
-31
0
0
95
-15
-11
-5
0
-4
39
-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
0
0
0
0
1
0
0
0
-2
7
0
0
0
0
0
0
33
5
2
0
0
-43
5
0
0
0
-14
-2
-5
-1
0
12
12
6
5
0
16
-16
6
0
-1
-4
-30
-35
22
5
-46
-39
17
16
-14
-41
-11
-45
-22
-29
-58
-17
-48
-28
62
0
-5
-1
0
0
-7
-2
-2
0
0
4
5
-5
0
0
5
15
-28
6
0
-6
9
-12
-8
13
-17
10
31
-14
-5
61
0
20
56
52
-44
-12
-1
14
-21
21
5
4
9
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
15
-1
-8
1
33
-68
6
-18
22
18
-6
-2
29
9
-4
13
39
5
-25
26
56
16
13
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
-28
8
15
3
-23
11
-30
5
-3
19
8
3
-8
0
53
3
-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
-14
-5
-1
0
-10
-34
19
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
15
-2
0
-2
-10
33
14
-5
-31
1
0
33
-7
12
15
-24
-78
53
-25
18
-41
-30
14
13
6
-14
-55
-3
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
-4
-9
-6
0
0
-1
20
15
2
-4
-14
-40
-43
14
2
35
10
-8
0
12
-23
9
44
9
-15
55
9
5
-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
43
-5
-3
-2
35
20
-21
20
-14
59
8
15
3
18
-32
48
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
1
-3
0
0
0
15
-2
-9
0
39
-89
-8
18
0
-1
-103
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
3
0
-26
23
-32
21
-14
23
-4
-3
34
5
32
-13
78
-112
21
57
-47
-88
-46
-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
-42
3
-2
-5
23
12
25
5
-26
26
10
21
14
2
43
-43
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
-1
1
0
5
-14
16
21
0
-39
-44
-77
5
0
0
55
-59
-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
12
8
-8
-1
5
-47
5
60
24
-2
11
28
-55
42
77
45
-23
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
1
0
0
4
6
-3
2
0
-35
19
-31
-69
-1
0
43
-25
-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
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
5
1
0
0
0
-9
-1
0
0
0
84
-3
0
0
0
3
-20
-1
0
0
-14
-7
-2
-3
0
-26
-23
-13
-4
-1
-33
6
-22
-7
3
68
-110
-58
-28
-7
-114
0
-142
-14
-33
0
0
0
0
0
2
-4
0
0
0
0
1
0
0
0
2
-7
-1
0
0
-25
14
-5
0
0
-21
-18
19
-47
1
21
-14
6
-12
10
-19
-29
-33
-21
-51
-15
-15
-27
-46
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
-26
-2
-33
-11
3
-31
33
30
21
-7
-44
-1
-7
2
-25
-27
-7
-9
-36
22
0
0
0
0
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
31
28
-5
6
0
15
3
-10
-18
0
5
-85
-35
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
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
1
0
0
0
10
-2
0
0
0
-8
18
0
0
0
14
3
7
-5
0
-2
26
-49
-32
1
-5
31
29
6
30
-34
-16
8
-25
-23
-3
-13
-45
-16
-32
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
7
-13
7
-1
0
27
-32
31
14
-18
-31
-5
19
42
23
-8
2
-5
5
-73
4
-37
-22
-54
-9
0
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
9
7
-15
42
45
-4
24
-35
1
-6
-4
-8
-68
27
-4
-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
2
0
0
-1
-34
8
-1
0
-88
-72
-36
15
0
1
-20
-27
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-3
0
21
72
39
-23
-17
7
4
-31
70
5
-30
4
-29
-32
1
9
-52
-105
-17
-36
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
-29
56
10
1
6
23
22
-17
0
5
-6
1
10
-4
-16
4
10
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
-1
0
6
0
0
23
48
-50
-14
-41
-71
28
-37
-35
0
-10
-49
59
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-2
-36
0
-20
14
91
4
20
-20
15
-16
-21
6
13
-42
5
-93
12
0
0
0
0
0
0
0
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
5
-13
7
6
-22
-13
10
-32
-67
5
31
24
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
-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
63
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-15
-5
-5
-9
0
-15
-5
22
-39
0
-34
-4
-135
47
-8
-58
8
-19
-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
-2
-10
-15
2
0
-23
34
-20
-17
16
-1
-31
0
-13
13
-8
17
-8
-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
7
-10
-5
0
43
7
-3
-3
-29
20
9
-5
-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
-11
-15
51
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
18
-7
0
12
-5
-8
-5
-14
-14
18
-39
-5
-49
14
-19
63
-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
-3
-5
4
3
0
-53
-4
52
11
-48
20
12
5
23
-27
-5
-45
-7
-66
-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
-43
10
-9
0
2
3
-22
-17
-33
0
0
63
-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
25
-37
-19
0
0
-5
1
-42
21
-3
13
-3
-23
29
-4
-23
10
-4
-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
2
-1
-8
1
0
49
30
-68
-109
-12
-37
-1
5
-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
-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
-17
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
-15
26
-23
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
3
14
3
0
0
15
-35
28
-14
2
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
4
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
2
0
0
0
0
51
13
0
0
0
4
109
14
0
-81
-37
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
82
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
-3
10
48
14
-3
28
52
-27
63
-22
-5
5
-22
-23
-1
-4
-38
-49
30
-21
14
15
-46
-19
-21
20
65
6
-61
-17
15
55
-112
-92
-32
-30
8
-62
-52
-62
-23
0
-54
-5
-10
-12
3
-17
19
-66
-20
-1
-13
14
-8
4
-10
23
4
-5
-5
-31
63
31
14
0
-4
-19
-10
-90
-39
23
-30
19
9
-6
-15
-32
-19
-37
-11
-21
-14
13
-1
-2
32
2
27
0
0
0
28
-34
34
0
1
9
-49
5
-16
2
-1
-5
10
4
3
3
73
45
29
-12
47
-8
7
-41
-60
63
32
2
14
-58
34
8
21
-8
-3
-15
43
-3
27
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
35
57
-1
0
32
34
-8
-15
29
33
-9
22
-36
-17
9
16
8
-32
1
-13
-14
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
-1
0
0
0
14
37
-31
13
0
59
26
4
44
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
49
0
0
0
0
0
0
93
7
50
33
0
16
-7
-1
5
-29
-22
-30
-6
-22
-14
41
-15
-36
12
-31
33
-13
5
16
-43
8
1
11
27
43
5
7
-37
-8
36
-48
1
36
33
-1
58
-22
23
10
-20
66
-27
-33
-5
-1
78
-17
3
14
-5
-21
-20
16
62
4
-22
14
44
34
19
73
-12
-21
5
17
41
4
-7
15
-4
10
26
3
1
52
-22
3
6
-6
-12
20
7
4
6
0
0
0
0
0
0
0
0
0
-1
0
0
-22
0
-5
0
0
-21
-7
9
-3
-25
-19
-39
7
-15
56
34
-6
-4
-6
7
35
13
-1
-10
-50
13
19
-6
-1
102
-3
8
-3
35
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
62
14
-13
-32
5
23
13
31
36
-4
-3
42
13
-24
0
-28
21
39
-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
2
0
0
0
-56
11
-2
0
-33
-47
16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-22
2
0
0
-25
15
-26
1
0
-24
1
-16
5
0
43
91
-23
14
-27
-28
18
11
89
-22
-7
15
9
22
3
-33
-3
-16
38
-9
-22
4
6
8
6
39
22
50
-12
-54
0
0
0
0
0
0
0
1
0
0
3
-4
4
14
0
8
54
-56
-9
5
37
2
83
-18
47
14
-30
46
-25
-7
37
-3
22
19
-4
-29
16
6
5
-35
-4
11
-1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
30
3
4
4
-48
-127
-30
-21
48
8
30
-57
51
-1
0
12
14
10
-33
56
50
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
-5
-4
4
0
-40
109
7
2
0
76
33
-6
12
0
-1
31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-3
67
-35
96
-22
23
39
-26
27
-11
51
-63
30
-4
17
5
7
-33
4
-38
70
44
72
-35
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
29
24
1
14
-23
-4
-12
9
84
28
-23
57
-27
73
16
6
-32
-1
2
-11
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
8
3
10
7
0
-14
-14
-6
16
1
69
-57
-79
-26
0
-2
45
-66
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
52
49
9
1
50
54
20
44
-22
-65
58
56
24
66
29
2
-39
-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
1
-22
0
0
-9
-36
4
15
0
-81
25
-65
-94
-1
0
-34
-34
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
24
53
21
0
66
-37
-34
-4
0
-18
-33
45
-5
-1
-73
-13
-24
-13
32
-97
-67
15
-4
-75
32
-43
44
-6
62
11
-48
-36
55
74
-19
69
-33
25
99
-7
1
0
0
0
46
-10
3
6
0
29
-10
1
-7
0
-58
-77
14
-20
3
-29
-4
11
9
25
-4
-61
-73
-66
-24
19
-29
-1
14
16
-50
-25
-16
8
9
34
-1
-3
-9
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
9
-14
5
0
-45
-99
21
37
-36
23
-10
-5
63
31
-18
14
9
-17
14
-72
38
30
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
1
-5
5
-7
5
11
-50
-35
14
0
54
-81
-62
-26
0
66
-32
-26
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
0
0
0
0
0
0
0
29
0
0
0
1
27
-30
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
-11
1
0
0
0
-68
-15
3
3
0
30
44
3
3
0
-70
-21
-8
15
6
45
-30
52
47
-20
-48
20
10
-27
-29
-3
-3
2
7
10
7
-6
-7
6
42
6
22
56
51
7
0
0
0
0
0
0
0
0
0
0
10
-41
-1
-6
0
3
-69
-33
1
-3
17
-31
-41
-44
-1
-14
-27
-71
7
-6
-5
13
-20
20
2
-43
9
-13
4
14
11
7
16
9
15
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
-18
102
-44
32
22
-26
-19
-5
15
73
0
-2
5
0
19
79
70
22
48
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
10
0
0
13
-58
-7
34
0
-28
52
27
24
0
5
-21
-34
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-17
0
4
0
0
74
8
-55
-14
8
-3
16
5
-71
-42
33
21
44
-31
95
5
27
37
40
-14
4
-72
54
14
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-23
-26
-1
-1
-66
-28
53
-42
-56
-43
24
49
30
34
-21
9
-9
-9
3
-21
-16
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
2
-3
-4
0
-8
43
-12
-8
-77
-24
-14
-120
-64
43
-1
-5
-18
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
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
-33
-7
-21
6
1
29
32
-41
-14
-21
36
25
71
-61
42
-31
-76
-17
-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
6
-2
13
0
1
35
1
-34
7
-25
-57
-128
-55
32
-12
16
-28
136
-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
-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
-2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
-14
1
-8
-2
5
-22
-139
-46
20
-17
-79
-4
38
-14
27
-43
24
-53
69
87
25
8
1
3
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
33
-26
-41
-24
0
42
-75
-43
-43
14
0
10
-42
-122
57
57
69
-35
82
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
6
0
0
-3
0
32
-53
14
53
0
8
0
-45
38
4
9
-17
-11
90
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
5
0
0
-43
-11
46
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-61
-40
64
3
-2
8
-24
11
-20
-47
11
43
-35
-89
-21
38
7
42
-61
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
10
61
-5
-9
0
-34
-22
-70
30
-36
-34
34
19
-54
-12
73
-62
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
2
-98
-1
-4
0
6
-9
29
24
-76
0
-1
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-81
-59
0
0
3
-32
-14
-21
21
18
49
18
20
28
24
91
68
-32
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
4
0
0
0
-19
57
-7
-5
-1
42
-27
30
-10
2
32
-2
-26
-16
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
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
10
0
0
3
-5
-2
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
14
0
0
0
-6
-43
-17
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
5
-6
5
0
0
-22
113
25
-13
18
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
82
67
0
0
-1
15
14
2
0
-86
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
7
2
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
-28
10
9
-30
-22
53
14
7
5
44
-37
-4
-45
23
18
-8
-32
-10
56
-1
6
0
-29
48
8
-29
-7
6
-60
42
-14
15
9
42
68
-26
15
17
80
43
-15
3
-4
12
66
-42
-34
-27
-5
23
-55
0
-13
42
-17
-81
65
-21
40
-16
17
-15
15
-61
-43
-26
-1
8
18
-23
-38
-19
-10
-12
16
-19
10
-16
17
3
-17
-5
6
4
-25
-3
-30
-18
-2
-33
2
52
8
0
0
3
-1
-3
-10
1
-1
-43
29
-9
2
-19
-52
3
-16
19
31
59
64
-64
-27
5
44
18
-5
-72
39
25
9
-4
-9
-4
14
21
14
-10
-62
2
-18
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
42
43
-1
0
16
22
1
6
52
21
-3
76
3
-26
-52
-6
0
-7
1
12
-71
90
-29
0
0
0
0
0
0
0
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
16
29
45
0
0
5
-27
32
0
2
6
76
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
-1
44
0
0
0
0
0
0
36
-38
-24
14
3
74
-36
-13
1
-59
56
-12
51
-43
-32
-4
27
-21
34
-3
-2
4
18
-44
-6
3
18
-7
35
42
1
-22
0
-10
-3
-19
4
27
4
55
2
-6
27
4
26
3
-39
-18
20
-1
46
9
4
13
29
1
9
23
9
-8
29
10
27
47
27
-24
4
-23
15
17
28
-31
-3
8
25
22
23
-4
-7
-4
-11
13
13
3
-9
13
5
6
19
-27
0
0
0
0
0
0
0
0
-1
0
0
2
0
-15
0
0
1
-2
3
-1
9
-34
-94
-15
-12
7
-14
53
-21
36
23
30
18
-14
-36
10
12
-15
1
32
62
62
10
41
36
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
23
45
-41
-54
3
-21
49
43
-27
-3
4
59
23
16
0
22
-36
-22
-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
2
0
0
0
-41
5
1
0
-29
-24
0
-3
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
4
-22
2
0
0
-11
7
4
1
0
-16
-30
1
30
0
16
99
-1
-5
-50
-9
-13
5
-15
-18
-25
0
9
9
22
33
-19
-19
16
-23
-30
13
-2
-30
-1
35
8
61
25
-49
0
0
0
0
0
0
0
1
0
0
3
-5
-2
-19
0
5
38
-10
-32
-25
48
10
50
-28
8
2
6
25
1
-33
1
24
24
32
-11
7
5
14
-2
-56
-14
9
66
5
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
-5
4
4
-111
-69
-7
-7
15
79
34
3
53
-2
30
-41
17
20
56
59
72
-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
-5
4
0
-6
46
-14
4
0
45
22
-56
4
0
-2
90
75
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
2
-6
19
-1
59
-3
18
46
-73
29
-4
-2
-90
52
-35
-4
-32
40
-17
4
-32
46
8
5
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
36
1
-6
-4
-9
25
10
-7
-67
-79
14
-49
104
-71
27
24
20
-84
95
71
62
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
8
9
9
7
0
41
18
16
23
1
-22
3
23
-14
0
0
-47
-65
-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
1
-2
3
-3
1
-43
33
47
6
-5
29
66
23
30
-22
61
14
54
-95
40
7
-2
-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
-6
0
-11
0
0
-9
-31
8
17
0
-11
2
-44
-26
-1
0
-34
-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
1
0
0
0
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
14
25
1
0
0
-35
13
7
-27
0
58
24
-53
-8
0
-34
46
17
-5
22
-31
40
-45
33
44
79
27
-34
-5
-92
10
30
-24
-4
4
-9
24
-27
-38
58
40
81
-16
25
99
5
1
0
0
0
19
11
3
6
0
6
-33
-2
-5
0
-27
-9
44
-39
3
-6
-45
-37
29
10
-63
-45
2
7
-15
-22
-18
6
-39
32
-27
53
-55
-75
22
34
-4
14
11
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
-2
5
26
0
-37
-30
18
29
-47
64
-51
-56
43
21
-34
8
-43
-57
-42
37
28
25
24
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
1
-4
-19
-7
0
6
-119
-61
20
0
-25
-14
-54
-6
0
9
36
-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
0
0
0
0
0
26
0
0
0
1
25
-2
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
-1
1
0
0
0
-58
5
3
3
0
14
59
5
-10
0
-51
-8
-5
-1
5
-15
-40
-11
21
-68
-83
11
-70
-58
-19
23
10
25
26
3
33
-50
25
-45
-27
58
30
-57
16
16
0
0
0
0
0
0
0
0
0
0
10
-6
-1
-6
0
3
-44
-69
-9
-3
42
36
-27
-24
-4
-27
-32
-81
-13
17
5
18
30
-26
-5
20
52
-10
27
47
67
7
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
4
2
0
-18
44
15
26
5
-29
57
-18
50
16
35
-31
5
15
49
-12
3
51
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
10
0
0
-9
-37
-25
31
0
-61
5
7
20
0
7
-15
-21
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
14
20
-34
35
10
56
-52
19
-5
-75
-99
2
-14
-9
74
10
-56
35
-44
-44
-33
-45
32
-50
-4
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
7
-20
-11
-4
-43
13
-29
11
17
1
-43
-27
-43
-53
29
97
-76
-111
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
6
-3
-2
0
-3
-21
20
-5
-54
-27
16
-53
-12
-16
-1
-7
-22
-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
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
17
-31
-5
-5
0
82
-26
-14
-33
-22
17
76
17
2
-11
44
-11
-33
-55
-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
5
0
11
0
-2
12
25
-14
6
5
48
-71
-37
69
-4
18
37
101
-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
-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
48
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-4
1
-29
-2
34
-21
-134
-28
19
-36
-87
-17
0
-13
35
-120
36
-21
72
-14
52
37
26
11
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
29
-47
-3
-25
0
55
-79
-9
0
66
-96
-4
-77
-60
7
46
39
-28
-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
6
0
0
-3
0
35
-63
95
21
-6
21
-33
36
22
5
9
2
10
51
16
0
0
0
0
0
0
0
0
0
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
-24
-7
22
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-83
-17
21
31
-3
72
16
53
-5
-13
6
-24
39
-74
-45
23
27
26
-14
33
0
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
32
2
-5
0
-44
31
-37
58
-21
-18
57
-41
-49
-15
-107
-33
9
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
2
-52
-2
-2
0
6
-43
32
-14
-55
0
0
15
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
1
0
-18
-9
5
-18
36
-5
7
80
-31
3
-23
79
50
-17
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
4
0
0
0
-26
43
-8
-2
-1
2
-33
17
-8
-3
15
-2
-20
-10
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-34
-8
0
0
0
10
-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
36
46
1
11
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
61
0
0
-1
25
13
1
0
-75
16
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
57
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
-29
20
-30
-6
-33
30
-7
4
3
-12
-10
-24
13
20
-44
-23
-25
-12
2
3
-13
-23
22
-43
5
5
14
-9
-14
17
25
40
33
0
-24
33
1
22
23
-44
29
-18
-5
31
8
-3
1
5
1
5
-9
9
-31
-11
5
23
7
17
-16
21
-46
-20
-34
-16
-9
-47
8
16
-21
-11
0
-9
11
35
6
18
1
45
-3
-27
15
3
25
-7
-33
21
-29
-30
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
1
-20
-17
16
-1
-11
27
8
-28
-2
-1
-12
-26
32
-8
6
17
5
0
19
-19
-52
60
24
-3
51
24
16
51
-25
0
0
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
23
15
7
-5
-2
0
-54
29
-69
-1
0
14
11
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
-17
2
0
0
9
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
16
3
-4
2
-4
-4
-5
4
-40
0
8
5
13
40
13
23
14
3
-24
3
23
-18
40
10
6
-22
-53
8
-40
-10
-45
8
-24
-49
-8
42
-60
29
13
-23
0
0
0
0
0
0
0
-2
5
7
0
2
-4
-5
2
-6
43
23
-20
14
-62
22
48
-12
27
13
-6
50
20
-14
32
14
-19
26
10
1
18
-7
-14
-9
1
10
6
1
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
-2
2
3
-33
-10
0
2
-21
24
-56
3
7
10
50
14
-16
-23
59
9
23
-33
64
-5
36
-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
2
-6
0
-2
0
-22
21
-13
-1
5
2
16
-2
0
1
-7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
3
-9
19
-77
-7
17
1
-55
0
-18
-65
2
-9
-10
18
-14
15
57
17
12
-5
21
15
1
-24
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-3
0
0
0
-16
2
6
2
17
-44
21
-19
-21
-20
10
5
37
33
29
-19
0
47
54
46
6
61
50
0
0
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
33
10
-14
17
11
3
1
-26
27
2
9
-3
44
-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
-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
-5
-47
-3
-8
5
27
10
-16
17
-8
49
35
9
30
-25
7
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
-5
-8
10
-8
-3
-20
18
-14
0
-6
44
29
-17
7
-7
8
21
-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
9
-2
14
0
13
12
0
-10
7
5
29
5
-8
27
-14
-34
-24
-21
-34
0
45
-51
45
4
20
-50
-2
11
3
-15
31
44
15
-29
0
0
0
0
0
0
0
0
4
0
0
-3
1
-1
0
2
-7
10
4
1
18
-23
-6
0
1
10
-51
13
-1
-14
-64
-9
-8
-23
8
-16
52
10
-40
-24
-53
-33
23
-45
7
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
13
16
4
30
46
3
15
-2
-8
-49
65
33
25
-20
6
27
15
27
0
0
0
0
0
0
0
0
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
-9
3
0
2
4
-1
45
5
35
5
-11
42
-34
-15
-7
42
6
10
2
2
53
-23
-50
-23
-24
14
28
-15
4
50
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
-21
-46
0
-14
15
5
23
9
14
-5
17
53
-16
8
-36
71
-33
-3
6
-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
2
4
1
0
-13
-13
-1
7
-6
-11
-2
3
-4
10
0
-5
17
-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
-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
-10
13
5
-2
17
3
4
-1
-16
-46
3
-3
10
-21
0
-18
-18
-13
-3
3
5
8
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
1
-10
15
-5
0
8
10
-11
-2
0
21
21
-19
-24
-17
29
-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
-1
0
0
15
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
-26
-16
-19
0
36
4
7
7
-1
22
-18
-11
1
-7
-11
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
19
10
0
-16
0
-37
14
5
-3
9
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
-14
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-1
3
0
8
1
-2
-2
0
9
-25
-1
-9
-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
-32
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
-9
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
-48
-6
0
0
0
-34
0
2
0
0
20
-2
5
0
0
0
-20
2
-1
0
-9
46
-4
-23
0
-33
-4
-8
-16
-15
-26
32
29
58
34
-12
-24
-9
3
-4
7
2
0
0
0
-21
-4
-1
0
0
-5
-4
1
0
0
9
-13
0
0
0
-20
-25
20
-8
-7
-45
-8
-53
0
5
11
-74
42
-23
-9
-23
2
-10
18
24
-12
-24
-9
3
-4
3
2
0
0
0
-45
-2
0
0
0
-29
-6
0
0
0
-16
-3
-9
0
0
-5
-25
32
0
0
-63
-18
-30
-37
-10
11
-7
-31
24
27
51
4
-7
27
105
-12
-24
-9
3
-4
-3
-1
0
0
0
-21
-3
0
0
0
-39
-25
3
0
0
-5
-2
-3
0
0
-20
-10
10
2
-1
-9
3
-62
-6
-4
-2
-20
30
25
-5
-36
28
-5
-54
-33
6
71
36
7
-40
3
-1
0
0
0
-31
-4
0
0
0
-30
-7
3
0
0
-14
-18
-3
0
0
-4
-45
14
4
0
-65
5
15
-33
2
-12
-61
-9
18
2
-26
-6
-48
-18
-30
-7
-4
-16
-59
45
-1
0
0
0
0
-2
0
0
0
0
-6
0
-2
0
0
-21
-8
4
0
0
6
-28
15
0
0
-8
15
-18
-44
-5
-29
-33
-18
-82
-14
-69
-21
-10
-12
-21
4
16
6
-36
-69
-1
0
0
0
0
-1
0
0
0
0
-6
-1
-2
0
0
5
-18
-1
0
0
-3
2
2
-6
0
-30
-30
-47
-16
-18
-5
2
-65
-62
16
-44
0
-8
-19
-5
-10
-38
-15
-62
-122
-1
0
0
0
0
-32
0
0
0
0
-31
-1
0
0
0
-9
-2
3
0
0
-5
-3
-8
-4
0
-71
13
-18
1
-9
-33
-17
53
2
-8
8
-34
-30
-23
-42
-3
-1
-48
-31
-53
3
0
0
0
0
2
0
0
0
0
0
-4
0
0
0
-10
-1
-1
0
0
2
-18
13
3
0
-49
-32
-7
-7
13
5
-16
60
9
-14
-41
-64
-54
-42
-12
0
0
0
0
0
-27
0
0
0
0
-1
-1
0
0
0
-3
4
0
0
0
-21
-1
-6
0
0
2
4
-4
3
0
-34
-15
5
-1
-14
-3
-7
-54
12
20
-21
-38
-21
-13
4
0
0
0
0
0
0
2
0
0
0
0
-5
0
0
0
0
-2
0
0
0
0
-19
5
0
0
0
-36
0
0
0
3
2
1
-19
-7
8
-19
-32
-12
0
-156
-8
-52
-6
-13
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
20
-23
9
-3
0
-57
-1
-2
-5
-3
6
-113
-70
-29
1
6
8
-19
-49
34
-69
28
-45
-27
48
0
-1
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
15
-7
0
0
0
-7
14
0
0
3
-16
-51
-8
-4
-16
16
-15
-18
34
-26
-20
-20
26
-17
-26
10
40
-4
-5
0
0
0
0
0
-31
-5
4
0
0
0
-1
1
0
0
1
-5
0
0
0
3
-15
11
-4
0
-11
-48
-14
45
-9
-44
105
-21
39
36
20
-39
-53
-94
-28
-63
-18
-61
-63
22
0
0
0
0
0
-32
-6
4
0
0
2
1
0
0
0
-11
-5
0
0
0
0
-33
3
-4
0
-15
9
13
-2
6
-1
-19
18
24
-3
-51
-47
-12
-48
-19
-78
10
-30
-74
-12
0
0
0
0
0
0
-4
-5
0
0
0
-4
3
0
0
0
-14
-4
0
0
0
-53
23
0
-1
-7
-10
-49
8
-7
-6
-2
3
6
-18
-16
-5
-14
-27
-48
-96
-48
15
-3
-76
0
3
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
-2
1
0
0
0
13
10
0
0
-2
-2
-8
3
-26
4
-61
-62
-14
28
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
10
2
0
1
-14
10
-13
2
-21
-24
-56
1
-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
-1
0
0
0
0
3
1
0
0
0
-24
23
-1
-14
31
34
-27
-39
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
20
1
0
9
1
18
-1
-2
-5
85
-22
-6
3
-78
-113
-29
15
-14
-12
-20
-19
94
0
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
-32
24
0
-13
-9
-10
22
-17
-5
-42
-75
27
3
-54
-11
42
32
-30
0
0
0
0
0
0
0
0
0
0
-11
-4
4
0
0
0
0
-1
0
0
0
4
5
0
0
-7
-63
6
-11
-4
22
-74
16
11
5
-31
45
-19
-26
-46
-6
-93
-47
-63
-81
0
0
0
0
0
0
0
0
0
0
-14
-6
3
0
0
2
0
0
0
0
0
3
9
-1
0
-5
-10
3
0
-10
-8
-19
63
-20
-3
-53
53
-56
33
-47
16
-59
-75
-42
-58
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
0
17
1
0
0
-9
7
-25
2
-3
-14
-54
-29
-25
-48
-27
-75
-13
65
7
1
7
-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
-1
0
3
-40
-37
-5
-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
2
-7
1
0
0
-2
1
-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
0
0
-3
-7
9
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
-52
13
-17
-2
-5
15
32
0
-9
-48
-95
-16
-53
-60
-45
-6
-41
-225
-95
0
0
0
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
13
-4
-2
-23
-17
-39
-21
-24
-16
-17
-93
43
-5
-32
-47
-61
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-7
0
0
0
0
0
-1
0
-6
-5
-15
1
0
24
2
29
45
-16
43
-43
-125
19
3
-15
-2
-5
59
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
2
0
0
0
-1
0
0
0
0
20
-45
-4
0
39
20
26
53
-18
-47
-22
-42
42
57
-50
17
36
-23
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
0
-3
0
29
-44
-24
4
17
-16
-35
39
3
3
-53
9
14
52
33
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
-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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
-9
-1
-25
-9
26
10
-1
10
-56
-72
-73
-21
-1
-25
-286
-84
-16
0
0
0
0
0
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
14
-14
26
-16
5
50
-23
-7
-46
2
-3
-74
-116
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-10
-13
1
0
0
-5
-9
-20
6
-11
-50
-19
4
-22
-5
-109
5
0
10
-84
9
35
-53
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
23
8
0
0
-3
-1
6
0
2
-50
-11
-20
23
19
-62
-112
-154
4
-2
-1
47
-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
-4
-5
0
-7
1
0
11
-9
82
-33
14
86
3
-5
7
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-56
32
0
0
-174
12
-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
-1
-10
0
0
1
25
-20
0
0
-5
1
-23
0
0
-43
-38
11
0
0
0
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
-5
0
0
1
20
29
-15
0
-1
-45
-17
83
0
-13
14
-30
-179
0
0
0
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
-7
-5
3
2
-50
17
32
-1
3
41
-11
24
-8
33
4
45
31
-110
0
0
0
0
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
14
9
11
0
-2
91
18
2
0
-9
1
-105
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
-17
-64
0
0
-16
-29
-143
0
0
-119
-54
-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
-1
0
0
0
0
-13
3
0
0
4
11
-54
0
0
-3
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
33
8
-9
0
0
16
-59
-35
0
0
-47
0
5
0
0
0
0
0
0
0
0
0
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
6
5
-15
0
-34
6
-19
-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
13
-1
8
0
0
1
-45
-53
0
0
-2
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
1
0
0
0
0
17
0
0
0
1
-33
0
0
0
-21
-131
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
1
2
0
0
0
2
-109
0
0
0
-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
7
-64
0
0
0
-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
1
-7
10
9
-53
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
-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
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
-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
26
16
0
14
1
-100
2
81
-23
0
24
-23
-24
12
3
1
-10
46
52
23
101
56
-10
-14
10
-62
2
49
-42
-18
-4
49
8
11
-37
32
39
57
12
51
17
-9
-16
-20
-6
-25
36
34
22
0
10
-13
-87
-16
2
-68
-30
39
0
3
35
-90
-42
3
-10
-29
14
49
-17
-77
59
-8
14
-26
31
55
5
9
75
11
2
17
28
68
-2
17
-9
-16
-20
-6
48
41
-14
0
0
-26
-38
-21
65
11
-14
-18
53
-16
-3
-17
5
-34
-13
14
-75
-28
-2
-38
4
-64
26
-8
-67
52
-15
52
-5
7
48
24
13
2
8
-28
17
-9
-16
-20
-6
60
-7
3
11
2
6
-51
48
5
0
-24
-33
14
28
2
-24
-10
17
-5
5
-20
52
35
12
-20
35
-2
-3
25
23
19
24
3
-7
-19
38
20
15
7
57
30
71
62
69
45
99
-33
0
17
1
39
-33
-18
3
0
23
-15
8
-3
13
-21
42
4
22
50
-29
-28
16
39
24
16
-15
49
24
-8
3
13
17
20
11
-15
39
28
18
-1
34
31
40
85
102
-12
-20
16
27
3
11
-5
-45
3
0
-30
28
-3
4
-2
-50
21
16
-2
-11
-41
14
-21
33
-24
-87
53
24
10
5
3
-18
-19
-33
5
-16
-3
-33
-21
-54
25
-4
24
-53
-49
-12
-20
16
27
3
4
-36
-50
-10
-2
17
5
37
-21
0
-21
36
9
-5
19
33
90
40
-59
10
6
-29
23
-5
-48
11
28
-10
-12
-26
31
10
1
-51
-3
29
17
-10
0
-45
-12
-20
16
27
3
36
-17
-7
-24
4
-40
-8
20
-16
-1
-6
-18
7
-27
-31
-43
-28
23
-26
-46
-47
16
-34
17
-43
-33
-14
-2
-11
-23
29
-1
-9
-33
-27
2
23
-42
-30
-26
-5
-42
-33
-10
0
51
-49
-34
-10
0
-89
29
-13
10
0
63
-51
29
-53
-4
-56
-111
71
-35
9
-113
-5
-17
64
47
4
4
29
32
32
-20
-19
-45
-29
-63
0
0
0
0
0
-84
-105
1
-9
0
-15
-8
11
5
0
4
-32
-20
23
-6
-44
-34
-5
-16
-1
-16
-64
27
-8
-5
-118
-67
10
-13
7
2
6
-54
3
-10
35
-26
-16
-39
-9
0
0
0
0
0
0
-55
-7
-3
1
0
15
17
-30
0
-2
11
43
5
1
2
-13
-33
-32
9
59
-8
-29
49
-51
43
-45
18
-23
-20
-1
7
-4
-21
6
-38
-15
-26
-24
-12
0
0
0
0
0
-52
85
27
-2
0
4
53
1
5
-1
53
58
31
-35
1
-40
71
-2
28
10
57
-8
10
-53
22
-109
23
-23
8
30
52
-32
-48
-5
-6
-42
2
-6
-29
-33
90
-23
52
19
59
0
-9
-11
-3
0
1
32
18
0
1
-1
6
-18
-7
-6
1
-19
20
-11
-21
27
37
-2
-58
3
-62
-23
-23
-126
-27
-80
-36
-6
-26
-19
3
-15
-9
-6
-8
-45
13
-18
-1
0
0
0
0
0
0
-13
-6
71
-17
23
6
-45
51
0
-3
-45
-65
-38
-39
-4
140
-23
31
5
14
26
-44
-9
-57
12
31
7
-8
27
95
5
-9
14
-44
-32
-41
7
-30
-17
-47
0
0
0
0
0
-6
32
105
-36
5
9
11
44
25
0
21
-27
-46
-31
3
25
-108
-33
9
-26
32
-1
14
-60
33
-8
15
10
18
30
-36
-1
-20
11
12
-77
-59
-29
-3
3
0
0
0
0
0
-7
11
12
5
-5
-4
-14
36
36
0
0
20
18
4
-6
5
-26
-34
-5
-45
-10
33
-29
19
23
43
3
-58
40
9
-37
-9
-28
1
-14
6
4
-7
19
-30
0
21
17
-2
0
3
5
-52
-1
2
53
-29
-8
-20
0
-118
16
14
-5
2
-23
-8
-52
14
-1
-14
14
-21
-21
-25
14
-26
-30
-25
13
0
0
0
0
0
0
0
0
0
0
25
-10
1
1
0
11
21
37
-5
5
-22
13
34
-9
0
-12
-8
68
-21
-13
-70
-47
-26
-27
46
-44
-72
22
10
1
-31
15
-4
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
19
0
-3
1
0
-44
5
0
0
-1
-13
26
-15
2
5
35
14
17
-23
1
-11
14
-8
13
-126
-6
12
-18
0
0
0
0
0
0
0
0
0
0
-4
-1
-12
0
0
45
-1
-31
10
-1
36
-26
60
11
0
-20
-42
-60
-22
7
23
-62
16
-14
-5
32
-42
-49
-7
0
-49
12
-3
-9
44
-60
-40
-17
20
-79
45
-85
-25
-47
-59
0
0
-7
0
0
0
0
-20
0
3
0
0
87
-1
0
1
-1
-52
-29
-1
1
-5
47
16
8
-90
10
-71
21
10
2
-25
-8
33
1
-100
-20
-12
-9
-37
-28
-73
-100
4
-44
0
0
0
0
0
0
0
0
0
0
-17
-23
10
5
-1
-5
4
43
-14
-5
-100
-2
-43
47
-32
-16
-69
-57
52
7
105
-10
19
29
-83
7
-20
-20
-2
-16
80
-89
14
-9
62
0
0
0
0
0
0
0
0
0
0
-69
-38
-30
-16
2
-19
-50
-14
-2
-1
-52
-55
68
51
10
-48
-13
-18
3
-45
-28
6
18
7
88
37
-34
1
84
-30
-45
-5
-29
-73
-41
0
0
0
0
0
0
0
0
0
0
1
10
-3
-10
-1
0
-1
-42
3
5
-3
-10
40
9
49
-17
-32
18
13
16
-32
20
12
-73
-2
-54
-46
15
45
-26
-33
-84
-17
-45
32
3
-5
0
0
0
-8
0
0
9
0
-9
48
0
-5
0
8
-19
3
-34
0
2
51
1
-19
18
99
-29
-18
27
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
34
0
0
0
-14
1
-5
0
-4
37
55
-2
3
0
-2
-9
-12
-3
1
21
31
-36
-31
1
-64
54
-67
-11
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-22
0
0
0
0
25
0
0
0
0
-5
0
0
0
0
-9
-12
10
-23
2
45
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
0
-3
-1
-5
-25
30
5
1
-20
1
-20
15
-3
23
-63
-31
-19
-2
-14
-7
-55
27
3
-57
-143
63
-35
-29
-43
9
42
3
-12
51
-21
9
-49
-60
-25
-67
-135
-120
-115
0
0
0
-2
0
0
0
0
-45
0
0
0
0
-10
-2
0
0
0
-22
3
0
-80
6
-4
4
-8
15
5
36
-32
2
-10
25
-1
-67
72
12
-41
-16
-59
-29
-81
-55
-118
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-50
-65
-3
10
-5
-65
63
-104
10
32
-66
26
54
34
-11
29
40
23
-13
119
4
18
1
54
16
0
-10
-22
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-9
14
4
6
-39
-28
-30
-33
-5
-56
5
-73
33
23
28
-47
33
23
-102
-78
-34
-81
53
6
-114
-15
-44
-52
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-39
13
-31
27
-2
-1
-4
-40
-17
5
-17
20
-46
-14
83
54
32
-14
-24
17
-20
26
30
52
11
-47
-12
-32
3
0
3
0
0
0
-13
0
0
0
-2
0
0
0
0
0
0
0
-4
15
-9
-47
-128
27
-5
-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
20
0
0
0
0
-4
0
-1
0
0
-5
91
0
0
0
81
-28
24
-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
2
0
0
0
0
0
0
0
0
0
1
0
0
6
-16
5
26
-21
16
-44
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-67
-9
0
0
-20
-9
0
0
-9
-1
0
-1
1
0
-27
15
3
0
1
-17
-3
-40
-17
-9
16
-56
-43
-17
-46
33
-1
101
-80
-23
-44
-111
-117
-75
-42
4
-71
-45
-86
-127
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
-1
-25
0
2
-5
0
-37
-8
-23
-46
-7
58
-6
38
-23
11
29
-48
-39
-73
-99
-72
-46
19
-148
-75
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-17
-12
-44
39
-45
-54
-43
-47
-35
6
-20
-57
-61
-20
-58
-37
-21
8
-14
-55
5
-25
-39
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-51
-15
24
18
-57
-44
-4
17
-32
5
-66
3
-4
5
46
-56
-19
-74
-3
-13
-15
24
-47
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
53
-31
15
45
0
-43
-33
-14
-10
53
52
47
-1
58
-13
-10
-94
-20
-80
-68
41
-5
13
-13
0
0
0
0
0
0
0
0
0
0
0
1
1
5
0
1
14
-82
-5
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-21
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
-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
-5
0
0
0
19
0
0
-1
0
0
1
0
0
0
2
1
0
-1
0
2
-34
-22
13
0
-6
0
32
1
0
-50
-32
7
-6
0
-2
-62
-8
-66
0
24
-147
-95
-72
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
2
0
22
28
0
-5
14
-3
-58
0
51
-129
-131
-75
0
5
-19
-46
-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
-12
66
-3
-46
0
27
109
-14
89
0
-6
6
-20
-21
0
-99
2
-129
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
-5
-27
35
-14
32
-23
-92
1
40
17
-34
5
-23
32
5
32
-35
16
-40
-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
41
-44
4
-14
0
-1
-61
113
35
0
-54
-90
-8
-61
0
-53
-31
-14
3
0
0
0
0
0
0
0
1
-2
0
0
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
2
-21
-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
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
53
0
0
-1
-33
-78
0
0
19
-32
-32
0
0
-32
-86
-112
0
0
-123
-94
-106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-31
0
0
0
-14
54
0
0
-14
-45
-14
0
0
71
20
-18
0
0
-71
28
-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
-84
49
49
0
0
-1
-5
-34
0
0
-76
-7
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
23
10
3
-34
31
-1
0
-39
-52
-54
-14
-1
-24
-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
60
65
23
0
0
-8
-32
-59
0
0
-9
1
13
0
0
3
-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
-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
-2
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
-18
0
0
0
-20
11
0
0
0
-58
-87
0
0
0
-90
-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
75
0
0
0
-39
-3
0
0
0
-95
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
20
0
0
0
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
0
0
0
0
0
0
0
0
0
-29
30
14
-53
-93
25
-14
-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
0
0
0
0
0
43
19
0
0
0
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
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
-1
0
0
0
0
7
0
0
0
0
-37
0
0
0
0
48
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
6
0
0
0
0
31
0
0
0
0
-49
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
36
23
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
-10
0
0
0
0
68
-56
3
3
1
1
22
-20
15
-2
-7
-51
-53
-4
-11
-76
-22
12
0
2
85
13
3
-3
50
-24
-34
16
11
-28
-15
0
8
10
-43
14
19
50
101
6
16
11
2
5
5
1
51
-33
33
0
122
7
-132
-42
-1
-75
-35
-4
-21
5
-32
54
14
61
-42
69
-10
7
41
-55
75
36
42
0
45
12
81
21
33
34
39
11
11
78
53
16
11
2
5
5
38
-10
-42
1
0
18
-62
-4
58
23
-22
23
19
-30
-10
-13
52
-24
26
29
-81
5
-14
14
54
5
7
-24
86
-30
3
10
4
44
77
1
9
-11
-32
-68
16
11
2
5
5
25
-33
5
9
2
58
-23
-5
51
16
25
24
23
53
22
-28
29
-14
49
12
-7
72
50
31
34
-12
24
63
37
55
26
17
10
10
-15
25
0
15
12
58
13
48
37
57
23
57
-14
0
23
1
55
-40
-5
-17
-2
30
-34
24
29
7
-16
71
41
47
86
-34
-22
24
44
65
33
26
51
16
-27
25
11
3
-22
-11
3
-3
-20
39
46
13
20
67
24
116
-12
-3
-23
7
-4
-37
1
6
3
0
-11
14
-6
-27
4
-35
-18
62
-19
-39
39
56
-60
16
-42
8
43
-22
32
-26
4
-1
-27
-20
12
-17
-7
-13
-17
-9
30
-57
-69
-49
15
-12
-3
-23
7
-4
-31
-3
-32
-5
-2
16
7
12
-24
1
23
32
19
15
33
87
-6
43
23
70
17
30
13
-3
-30
51
52
20
-7
-6
41
9
-1
14
17
16
-5
-12
26
-49
-12
-3
-23
7
-4
76
-15
-70
-71
4
-37
-23
11
-5
-3
-13
-40
-23
21
-29
-36
-10
-8
17
-23
-1
25
-6
6
-16
3
-6
19
6
-6
5
2
-11
5
15
23
-16
-59
4
-22
-12
11
-37
-15
0
5
-52
-20
2
21
-49
36
-11
29
0
50
-32
90
-74
1
-49
-21
33
1
-8
-77
12
-53
62
-31
8
-12
19
-29
68
13
11
-19
-24
-10
0
0
0
0
0
-44
-59
18
-18
0
-49
0
14
15
26
20
-21
-5
17
-33
16
-30
-49
-25
26
26
-54
109
-10
-13
-64
-81
-18
10
0
60
13
14
-18
-62
-54
1
-9
-11
-1
0
0
0
0
0
0
-9
-4
20
1
0
62
-8
-16
-1
-2
-13
15
-16
5
5
-34
-53
-100
22
34
-56
-10
53
-92
-8
-43
-15
17
26
-30
9
42
8
-30
21
4
9
6
7
0
0
0
0
0
-14
31
8
-2
0
-33
21
-4
-48
-4
6
69
12
-25
0
-18
-3
40
73
-1
16
3
14
-28
40
15
17
-24
-25
-43
-40
8
49
-24
16
4
0
-18
4
5
-56
23
55
15
-14
0
-19
-61
7
0
1
64
-5
18
-1
-1
21
10
-1
-10
-17
-16
24
-50
-4
27
18
2
-21
7
-70
-31
-44
2
14
-65
-11
43
8
-29
-22
11
-28
31
-59
76
-57
17
6
-76
0
0
0
0
0
61
2
-47
-8
36
19
-78
51
11
-6
-62
-14
-32
-75
20
97
-55
43
81
-16
56
26
-41
18
15
99
2
0
48
56
-12
-5
-16
-17
10
52
5
18
1
31
0
0
0
0
0
26
25
5
-51
-1
14
16
48
25
-2
-9
-33
-43
-71
14
-40
61
-12
-16
-25
2
20
32
-52
-16
35
-3
10
12
35
14
-9
-1
-11
2
-34
-8
12
-23
-20
0
0
0
0
0
-12
14
-5
48
3
-4
-10
-3
31
0
0
27
8
42
7
20
-13
-22
-28
-3
-52
16
0
14
13
-53
-11
-6
3
32
11
10
25
-16
-45
44
6
1
6
13
0
-1
6
-2
0
-7
-4
-25
-2
-12
19
-10
-4
-7
0
-100
9
-43
26
4
-64
-34
-40
-4
-1
-27
4
-14
1
13
47
11
-1
10
-23
0
0
0
0
0
0
0
0
0
0
-18
-32
1
1
0
5
-21
15
-4
-7
11
45
18
-11
-2
-43
-90
85
-48
-18
-136
-15
-9
-44
72
-14
-46
5
-3
-36
-122
-35
-22
-26
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-59
0
-3
1
0
-25
22
-8
0
-5
13
89
-33
1
20
49
28
26
-31
5
5
-93
28
10
-34
-17
-38
-1
0
0
0
0
0
0
0
0
0
0
-4
-24
-36
0
0
37
-5
-33
16
-1
34
-55
31
-16
-10
-52
-49
-45
-20
10
-19
-80
25
47
-34
50
-53
-85
-19
-14
-40
-41
0
3
-5
-13
-47
-21
-42
-46
-2
-19
8
-61
-33
0
0
-6
0
0
0
0
-53
0
3
0
-20
11
-35
0
1
-1
-88
-20
-1
1
-19
-37
10
14
-109
-8
-27
-58
-27
2
5
-10
-37
8
-1
-8
-3
-84
52
2
31
-121
-76
19
0
0
0
0
0
0
0
0
0
0
-31
17
-9
-3
-27
6
-23
4
23
13
-114
-24
-5
48
-3
-49
-33
-31
-16
-32
34
-29
27
-3
-48
-29
30
-51
26
-53
-38
39
40
-11
7
0
0
0
0
0
0
0
0
0
0
-46
-32
-14
4
-23
-60
-52
-16
-30
1
-38
-79
23
62
21
-46
-57
-73
57
-18
-28
-12
-13
-14
28
-66
-31
-24
-23
2
-106
76
35
-14
4
0
0
0
0
0
0
0
0
0
0
21
9
9
-25
-42
0
-1
3
-29
-2
-13
-8
23
18
44
-26
25
-34
-12
-8
-37
86
7
-28
33
-42
-21
40
32
13
30
16
16
48
-1
-1
-3
0
0
0
-5
2
0
9
0
2
31
3
-25
-15
21
-37
3
28
0
2
59
1
-12
11
45
-17
8
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
0
0
0
-3
-14
0
-4
9
11
0
-8
0
1
-13
-30
-4
1
-20
-28
-72
-37
1
-134
-6
-33
9
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
-36
0
0
0
0
34
0
0
0
0
-1
0
0
0
0
-23
-56
-4
17
-38
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-22
0
-3
-1
7
3
-3
-5
1
-39
-11
-42
9
-3
56
-24
-38
-38
-1
-25
25
-35
6
1
-94
-111
-46
-69
-2
-29
-32
-5
-47
-2
19
-41
-51
29
-72
-40
45
-51
30
-1
0
0
0
-3
0
0
0
0
-23
0
0
0
0
-10
-2
0
0
0
-8
1
0
0
22
7
-9
-5
5
-4
-3
-22
3
-31
105
28
-4
51
21
-39
-33
-97
-3
-76
-56
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
-62
44
5
5
-63
10
-100
55
-8
-37
10
87
39
5
16
42
5
-23
113
-31
-22
-7
-83
56
-26
-9
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-16
4
58
-25
16
-36
-61
-29
-7
-78
-101
-27
39
60
23
-40
53
-15
-71
-28
-32
-47
-33
-80
-8
-104
-28
0
107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-10
6
-42
53
-2
1
3
-19
-57
-7
-50
33
5
-17
37
12
53
1
-1
53
32
82
-27
-30
-114
-77
12
-27
-27
0
-2
0
0
0
5
0
0
0
-2
0
0
0
0
-18
0
0
-4
13
5
-6
-110
-16
-1
9
0
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
-18
-1
0
0
-24
33
1
-2
0
65
32
-24
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
10
0
0
0
0
0
0
0
0
0
-8
0
0
6
-47
5
45
30
-5
-48
47
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
-6
0
0
2
-1
-18
0
1
0
-6
6
3
-5
-5
-20
10
-57
-20
11
31
-42
-9
5
-43
43
2
6
-48
-34
-93
29
-52
-115
-37
26
-73
-10
-99
-96
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
-1
0
0
0
-1
-56
-1
2
-5
0
-48
-9
-4
-56
-7
74
-10
-44
-50
-61
-9
-87
-70
14
-74
-18
-37
23
-127
43
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
21
19
-63
27
-105
-51
3
-26
-20
-19
51
-2
-70
7
4
-69
-4
-32
-16
-77
-19
71
70
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
-39
-19
-5
-5
-54
-14
-24
21
-34
-20
27
56
36
-24
-8
19
-5
40
-10
-19
0
30
12
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
33
-75
21
70
0
-48
-45
16
9
52
-1
51
5
-11
-10
-84
-87
11
-101
-55
68
8
22
45
0
0
0
0
0
0
0
0
-4
0
0
1
22
9
0
4
61
-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
1
0
0
0
0
2
0
0
0
0
-8
9
-15
-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
0
0
0
0
-1
0
0
-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
9
0
0
0
-41
0
0
5
0
0
-1
0
0
0
2
1
-1
-6
0
-4
-48
-56
23
0
-5
-2
21
42
0
-33
13
-33
-20
0
-2
5
-37
-102
0
39
-108
-74
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-80
0
4
0
-2
73
0
-19
24
-15
-6
0
25
-25
-41
-101
0
7
-9
-14
-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
-48
-56
14
-30
0
28
63
32
125
0
-5
1
-34
3
0
-33
38
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
18
5
-16
-48
-23
-39
-79
-62
-5
22
-43
-4
4
-22
18
21
-10
9
-10
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
26
-25
16
-24
0
2
-70
54
32
0
-57
24
-33
33
0
-57
-36
-53
-72
0
0
0
0
0
0
0
1
-2
0
0
47
-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
23
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-20
17
0
0
-1
-28
-56
0
0
22
-43
43
0
0
-29
27
-74
0
0
-48
-58
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-39
0
0
0
-9
30
0
0
-21
1
-15
0
0
36
-54
-31
0
0
2
33
-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
-4
41
102
0
0
-23
-23
9
0
0
-74
-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
-56
-36
-15
-23
12
-3
-37
-43
-7
-53
-20
-4
-51
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
0
0
0
0
0
0
140
59
51
0
0
55
-26
-22
0
0
-11
1
49
0
0
3
3
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
-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
-48
0
0
0
-62
-31
0
0
0
-73
-44
0
0
0
-51
-55
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
32
0
0
0
-44
13
0
0
0
-131
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
104
0
0
0
72
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
-59
-104
-61
25
-14
-1
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
5
-70
0
0
0
58
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
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
-5
0
0
0
0
14
0
0
0
0
-64
0
0
0
0
-39
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
6
0
0
0
0
39
0
0
0
0
-58
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
44
53
-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
-50
0
0
0
0
0
-1
0
0
0
-3
6
-6
0
-1
-6
-14
-18
6
2
-21
-36
-11
-6
-15
-4
0
-1
-48
15
-23
-8
-9
-5
-32
26
-4
-14
48
7
-22
-14
15
-9
4
-1
3
32
6
24
0
0
1
-2
0
8
6
-2
-16
-1
0
2
5
-5
-4
-2
42
33
7
27
28
-5
43
13
20
-17
-23
5
17
23
2
13
56
0
57
65
34
5
-7
-18
-1
3
32
6
24
5
0
0
-2
0
-15
-5
0
2
0
-12
5
-1
2
-1
9
-14
5
3
5
-58
8
-46
-33
10
14
-10
35
9
-5
1
-3
-55
16
-9
27
11
-6
-5
14
-1
3
32
6
24
0
0
0
-2
1
6
0
3
0
0
2
6
17
6
-1
3
9
-6
37
2
-14
1
-21
2
13
-34
43
46
28
4
34
-3
71
40
33
14
54
14
3
23
22
-29
-18
68
53
3
1
0
0
1
-7
0
0
0
1
-15
-8
2
-2
-4
12
6
6
13
16
-35
2
2
18
20
26
4
18
-12
7
28
21
-5
35
32
15
-6
71
-13
5
-29
14
50
-1
5
1
-15
-2
-14
-17
0
-2
0
1
0
-15
5
2
12
-1
3
-8
36
-11
-13
28
-14
-28
-27
-14
30
9
-23
-13
14
-9
13
-43
21
3
-3
19
37
-23
-1
-38
-52
53
-42
-13
1
-15
-2
-14
-17
0
1
0
0
-1
5
9
0
14
0
19
-2
23
14
13
42
-16
-3
23
23
23
54
32
-2
53
44
48
48
16
23
27
3
57
23
36
17
14
-3
29
11
1
-15
-2
-14
-17
-6
0
-2
-2
0
-14
-2
1
-6
0
23
-5
-13
41
-33
-38
44
-10
-13
1
-23
-4
-44
-32
5
-15
-49
-15
10
-10
-16
2
17
72
2
-17
-55
10
26
28
0
-4
0
-1
-1
0
-4
0
2
3
-7
10
-5
-10
-1
22
-14
29
-23
-6
-29
-22
11
25
-2
-5
-14
-8
-5
-2
-8
-5
15
3
14
47
22
1
4
14
0
0
0
0
0
-1
0
0
0
0
-2
-2
0
-1
0
7
-1
-6
-5
0
5
-14
-14
14
-19
-33
-13
7
5
-3
-11
4
-3
-16
-1
33
-11
-50
33
0
-66
-43
16
11
23
0
0
0
0
0
0
-13
0
1
0
0
3
0
-3
0
0
-6
13
-22
0
2
6
-43
-18
3
3
-44
14
19
5
6
-8
-2
-14
3
20
-10
18
23
10
-11
0
24
7
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
-5
-1
-3
-10
-5
7
-1
-5
-47
49
-14
8
-18
6
-9
-11
17
1
-51
-9
-16
17
-33
59
26
-12
-37
11
-24
-45
50
18
-21
-35
-2
-25
-8
0
-2
0
-4
0
0
2
0
0
0
0
-4
6
6
1
0
-5
27
-5
1
2
-8
-5
-20
30
-25
21
22
-9
-9
22
30
17
33
-19
18
-5
56
56
-20
16
-27
15
0
22
0
0
0
0
0
-5
-4
-14
-44
36
-5
2
13
-5
-1
-14
-27
18
11
5
13
-11
-5
23
18
-23
0
-4
-9
-35
-43
0
2
46
7
-10
20
-49
74
23
43
33
100
53
70
0
0
0
0
0
-17
-3
-7
-42
17
-16
-5
9
-7
0
10
-11
5
-15
2
-53
77
56
-1
6
-7
-20
-15
14
-34
35
-9
-35
-1
-16
1
66
-5
18
-37
21
9
44
9
66
0
0
0
0
0
-1
-9
5
-30
21
0
-8
-14
23
-1
-1
12
-11
5
5
7
-48
-33
-42
5
33
-36
31
15
-17
19
23
32
41
48
72
18
22
-69
-25
14
75
19
-33
9
0
0
0
-1
0
-1
0
0
-1
0
0
-1
3
-11
0
-1
1
-6
46
2
-26
-5
4
-5
-1
-10
32
-5
-23
5
22
28
-5
8
4
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
-13
-19
8
17
1
-22
-4
-27
-36
7
12
10
-9
11
-7
-25
0
-5
19
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-13
1
-2
0
0
-6
5
0
0
-1
44
46
-10
1
0
-16
-5
15
-5
0
-18
-4
-1
-3
37
1
11
16
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-1
0
3
-19
0
1
6
-23
-8
1
2
-6
8
-13
-14
24
-2
-7
12
-14
8
-30
4
64
17
19
-20
8
-31
14
0
22
13
-18
-8
0
0
0
0
1
0
0
-11
0
1
0
0
-8
2
0
1
0
-2
5
-2
1
0
-14
1
3
-7
-22
-16
-25
-27
1
-43
-2
-7
0
0
-26
-48
14
47
-11
10
46
-27
11
0
0
0
0
0
0
0
0
0
0
9
-22
-13
-7
-2
0
2
-22
-6
8
-8
8
30
22
-1
-31
35
3
-14
1
15
14
8
-13
-7
-1
18
2
35
-44
-30
-18
-13
55
21
0
0
0
0
0
0
0
0
0
0
-7
-9
-8
-17
-4
-21
-14
-8
5
0
-2
-27
-27
6
0
-71
-56
-51
8
-7
-39
-3
9
4
18
7
-40
24
-9
14
-29
7
2
-4
-20
0
0
0
0
0
0
0
0
0
0
1
1
1
1
-6
0
0
47
-3
3
0
-6
4
-11
2
-10
9
10
-1
5
53
43
-5
-6
37
-35
-34
-42
12
27
-4
-7
79
3
-15
0
0
0
0
0
-1
0
0
0
0
-3
0
1
1
-1
0
0
0
7
0
0
7
0
10
15
3
-18
24
38
7
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
-9
-2
0
3
-21
-21
-19
1
-16
-9
-11
-5
-27
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
8
0
0
0
1
-8
0
0
0
0
-24
3
-27
-6
-8
-3
-9
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
-13
-6
0
-3
10
-5
17
0
-15
-17
-15
-33
-18
-36
8
-37
-45
9
-32
21
-9
-4
-3
11
-1
36
14
-32
0
0
0
0
0
0
0
0
-25
0
0
0
0
2
-1
0
0
0
-1
1
0
-8
8
33
0
-11
36
10
10
7
-5
-14
17
-3
5
59
-95
22
-28
-1
17
0
-5
32
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
16
-3
0
-6
-21
-39
19
1
-5
-11
55
1
51
-18
-19
-28
-13
18
-34
-83
-6
-17
24
21
27
-52
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-6
13
-10
-15
17
-23
-3
-11
1
-9
-10
29
2
-8
-8
9
1
9
-13
-14
-15
-60
-5
6
-22
-50
-21
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
10
-24
16
1
-2
2
4
7
-2
18
0
16
-13
3
-1
9
-10
-44
1
86
8
-12
-30
-27
-26
-19
25
-26
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
-4
1
28
-10
-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
-15
27
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-1
15
0
6
18
-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
1
0
0
0
0
0
0
-14
1
0
-7
-1
5
-15
-2
21
14
3
-9
-9
-17
14
-14
-20
-5
-4
-53
14
-20
-16
-16
9
5
36
-12
34
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-16
0
2
1
0
-15
-1
-25
-11
-4
3
-10
-39
-26
-22
8
-39
60
-1
6
-32
-5
4
-6
30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
12
23
-5
9
-2
5
15
-5
-3
4
14
16
-15
39
1
-16
18
-2
20
-8
22
36
63
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-51
-46
-53
5
-14
-25
9
-11
-9
4
-2
5
17
-7
-10
-45
-23
-8
-5
3
1
2
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
6
45
9
0
-8
-14
15
4
7
6
11
5
4
9
-66
-2
10
15
9
24
-7
20
34
0
0
0
0
0
0
0
0
1
0
0
0
1
13
0
2
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
-3
0
0
0
3
-2
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
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
-5
0
0
2
-14
6
0
23
-5
-15
3
0
2
10
0
12
0
5
14
43
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
-27
0
0
0
-7
13
0
-7
-10
-15
6
0
-5
26
-5
-17
0
0
-15
-33
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-65
-7
-24
0
23
10
49
41
0
-14
0
-8
-14
0
-37
-15
-53
-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
14
-16
-16
-13
-20
-2
-27
-9
-3
2
-3
-26
-18
-13
-10
-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
-8
7
-18
0
0
-17
-14
26
0
-3
27
-6
-8
0
2
-7
-15
-14
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
32
0
0
-3
-8
-16
0
0
6
-14
-14
0
0
3
-29
-8
0
0
23
3
-23
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
11
33
-33
0
0
19
46
-17
0
0
0
0
0
0
0
0
0
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
25
0
0
-6
-52
23
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
-18
14
-20
-3
4
1
18
-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
19
7
6
0
0
8
14
-7
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-32
-13
0
0
0
25
-20
0
0
0
-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
-1
-13
0
0
0
-9
4
0
0
0
-14
46
0
0
0
7
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-26
1
25
-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
17
-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
-16
0
0
0
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
1
0
0
0
0
11
0
0
0
0
-50
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
-2
19
34
-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
-8
0
0
0
0
14
0
0
0
0
8
-25
-2
0
0
-1
-19
1
0
0
22
2
5
0
0
-10
-7
-1
6
1
8
0
5
-52
-33
-11
-14
-49
11
65
21
-10
3
14
25
1
5
-6
3
-3
2
1
0
0
0
9
-29
3
0
0
-26
3
-4
0
0
-8
-8
15
-2
0
-16
-30
-6
-6
-3
9
-18
38
7
6
1
23
-15
30
31
15
0
-2
-19
-76
1
5
-6
3
-3
2
0
0
0
0
9
-15
-2
0
0
-5
-6
1
0
0
2
6
-7
0
0
-5
36
-7
-6
0
-35
-13
-14
-15
-5
-8
2
-18
-10
3
-26
-6
1
26
-4
1
5
-6
3
-3
-23
0
0
0
0
-17
-8
-4
0
0
-1
-24
0
0
0
-1
-4
-3
2
0
-15
15
0
-9
-2
-1
-30
-44
-33
-19
-1
-14
12
11
5
37
-20
-16
-10
5
1
75
11
14
-20
-9
5
0
0
0
1
0
0
0
0
-10
-13
-1
0
0
-4
-9
1
0
0
-5
-16
7
-8
1
-15
-71
-53
-31
-14
-13
15
-32
-40
9
-15
-15
-8
-3
-2
-6
-16
-6
10
-14
17
16
1
0
0
-4
-2
-1
0
0
-14
0
0
0
0
-7
1
42
0
0
-14
9
-7
-4
-2
5
12
-88
-26
4
22
6
-24
-20
19
-13
2
8
2
11
-14
-40
-7
-1
25
17
16
1
0
0
11
-4
-2
0
0
-2
-8
1
0
0
19
-1
0
0
0
-7
-13
-8
-6
1
45
-21
-28
-66
5
-12
-2
-13
-2
-13
-30
0
-8
3
2
-6
-44
-4
34
0
17
16
1
0
0
10
-6
-4
0
0
-6
0
0
0
0
1
6
15
0
0
-6
-8
-4
-4
-1
-41
66
-14
-22
8
3
-11
-2
-22
-4
21
5
6
-5
5
9
1
-21
-1
20
14
0
0
0
0
9
-2
1
0
0
-3
11
-1
0
0
2
-1
-11
0
0
25
-10
6
-18
0
-14
14
-7
14
16
-62
-8
-41
-8
-7
-70
0
17
-1
9
0
0
0
0
0
16
0
0
0
0
-1
-2
0
0
0
-5
-15
-1
0
0
2
6
-4
0
0
4
7
-4
3
4
-11
-10
-57
-20
-15
-4
3
-38
-10
-1
-48
-6
-2
9
0
0
0
0
0
0
0
-7
0
0
0
0
4
7
0
0
0
-8
0
0
0
0
-23
0
0
0
0
-48
3
-7
-1
-1
-4
-2
-9
6
21
-2
-29
-5
7
-28
13
1
2
-3
0
0
0
0
0
0
1
0
0
0
-1
-5
3
0
0
-6
15
1
0
0
-1
27
-5
0
0
-7
-29
-13
-3
0
-35
12
-43
-11
8
-44
15
-33
-19
22
-14
30
5
-8
18
12
-61
23
15
-14
0
-12
0
0
0
0
-5
0
0
0
0
-2
1
0
0
0
-2
-8
0
0
0
3
-8
-8
0
24
68
-6
-28
6
31
-20
-22
-14
26
28
2
5
-7
-13
2
-24
2
3
-8
0
0
0
0
0
5
-43
9
0
0
-2
-4
2
0
0
-2
-1
0
0
0
18
-1
1
-10
0
-23
9
2
43
8
-44
15
43
29
-47
-27
-14
-5
-14
-15
6
-11
4
11
2
0
0
0
0
0
-23
4
11
0
0
-7
3
0
0
0
-5
8
0
0
0
2
18
0
-10
0
-85
34
-21
2
-24
42
-9
-26
-8
18
47
-20
15
-18
-27
3
4
15
2
14
0
0
0
0
0
-1
-43
29
-1
0
0
-9
-8
0
0
0
-32
-8
0
0
0
-10
10
0
-1
30
-69
-16
11
-11
-39
3
-46
-8
5
-141
-9
-13
12
-33
-13
15
-1
-18
-2
0
0
0
0
0
1
0
-2
0
0
2
-3
-1
0
0
1
-3
2
0
0
-17
-2
4
0
0
-3
-32
-29
-8
-3
18
12
0
-26
-12
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
-14
-23
-45
-16
6
-16
-31
-40
-40
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
7
0
0
0
0
6
0
0
0
0
-9
0
0
-2
0
-31
-9
-16
-6
24
-11
-36
-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
-25
18
0
0
10
-4
1
4
0
-8
23
3
-10
0
14
-23
1
-18
14
-80
-3
4
-12
2
-40
-88
1
-20
-26
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
13
0
0
0
0
-14
0
0
-10
0
-29
45
-1
-2
76
65
21
-5
4
7
5
2
-49
0
0
35
-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
-39
7
-2
-51
62
51
-53
-50
73
-9
-22
-66
-99
-24
51
-20
-98
-7
0
0
0
0
0
0
0
0
0
0
-15
-4
2
-1
0
-14
5
0
0
0
-4
-16
11
0
0
3
-41
-11
23
-18
2
-15
-39
-54
13
-63
-10
23
-66
-7
33
-50
-6
-23
26
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
-7
0
0
0
0
-45
-4
1
-3
-21
-71
-49
-18
13
6
-20
21
3
-31
-17
-43
-5
-109
-80
-33
7
79
-29
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
-31
-32
-56
6
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
0
0
0
0
0
0
6
-21
-1
-3
0
-42
15
-57
-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
1
1
9
-7
-51
-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
-11
6
-21
18
-1
4
-35
-55
-38
-32
-6
-34
-14
5
-84
-45
-24
1
-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
6
0
-4
0
3
17
2
16
-13
-25
-7
-9
25
2
19
7
42
8
-9
-41
-59
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-22
-15
-4
0
0
-10
0
-1
1
-5
-37
-16
-24
1
9
-89
-46
-24
12
20
-33
-59
-15
-100
20
4
9
-143
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-29
14
2
0
1
-9
-2
1
0
-5
-21
-18
0
5
8
-18
-21
-22
14
-47
-19
32
-51
78
-24
26
-103
-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
-2
0
0
0
4
20
0
-4
-76
-53
-40
-25
6
-74
-27
-2
-27
-12
-10
-75
-41
6
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
1
1
0
0
0
0
15
-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
-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
-19
-3
0
-2
1
-80
19
5
-22
-21
-52
-13
-82
-24
-10
-80
-5
-27
-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
-2
-1
2
13
-21
-16
-19
-10
9
-11
-65
-71
-22
-15
4
-50
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-35
-15
1
0
0
5
9
-25
-17
38
-56
-90
-4
24
39
-13
-95
-44
-103
-17
39
-3
-195
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-17
-3
1
6
-36
-2
17
0
-7
8
-11
-13
-6
-1
21
27
-90
-27
-50
28
-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
2
4
2
-3
32
-3
-25
0
13
-44
-102
0
-32
-92
-8
-8
5
-15
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
-17
0
15
-25
1
-41
0
-64
-14
-73
-40
0
-21
6
16
-160
0
0
0
0
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
-26
0
0
-7
15
-26
0
-5
7
-17
-56
0
-6
22
100
18
0
0
0
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
9
3
0
-45
-37
-77
-40
0
-5
-11
-137
-119
0
-26
-39
-17
-137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
32
-10
-20
7
-4
-52
43
-16
5
4
28
-32
-17
4
-19
-7
12
-104
25
0
0
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
-15
0
0
-1
-20
5
-4
0
0
-52
-33
-25
0
-55
-2
22
-19
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-61
0
0
-15
-43
-33
0
0
8
-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
-1
0
0
0
3
-17
15
0
0
-25
-16
2
0
0
-5
70
-18
0
0
0
0
0
0
0
0
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
-24
0
0
-65
-12
-223
0
0
26
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
-28
51
5
21
-33
9
-32
-58
-8
0
15
-5
-24
-31
-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
5
48
-4
0
0
0
-81
-57
0
0
43
0
-55
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
-16
-53
0
0
0
-71
-27
0
0
0
0
0
0
0
0
0
0
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
-1
-179
0
0
0
48
-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
16
-30
0
0
0
-91
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-108
-23
-49
-5
-15
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
-25
-117
0
0
0
-57
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-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
-73
-10
-15
-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
-11
0
0
0
0
45
-14
36
0
-3
35
6
6
-48
0
57
54
-16
-36
3
59
42
-29
1
0
-24
23
-1
-9
-14
73
43
46
36
23
33
6
16
0
6
30
31
14
-38
9
18
18
4
8
11
-21
1
-3
-4
0
-44
-31
103
10
-10
-20
64
57
-24
-7
-32
12
-5
-29
-47
50
-64
-17
-49
-12
40
-24
32
29
11
39
-21
16
-16
1
9
13
-9
-5
-14
18
18
4
8
11
-35
-18
-27
-2
0
47
-36
15
-2
4
35
33
-17
-14
-2
-3
70
74
-15
14
-15
18
25
47
-22
10
39
42
1
-10
-12
-10
25
40
-1
14
14
24
7
-44
18
18
4
8
11
-30
78
0
2
-2
7
-28
-30
8
6
10
9
9
-56
-9
14
-5
-65
-1
15
4
-58
-52
15
-62
20
-9
4
-71
-42
8
14
11
-6
-11
-27
14
23
-1
29
-8
-36
13
-13
20
-13
-3
10
1
0
-4
-40
-31
-8
0
-4
-5
-8
-43
-15
-17
7
3
-75
-3
0
-29
-32
-28
14
-35
28
39
-35
-31
0
-2
3
-30
16
-11
2
33
13
2
9
12
8
-30
-19
42
23
-23
-18
-1
-22
-18
-33
4
1
-23
4
15
-4
0
-57
18
29
22
-41
110
35
6
33
7
5
14
-36
4
-18
16
19
-6
16
-5
20
27
9
32
28
42
-4
39
26
-11
42
23
-23
-18
-1
4
-66
-5
-9
-1
-5
16
-48
-34
-3
88
-26
49
-41
-78
14
71
14
-49
-21
-22
-24
2
11
-30
-27
8
-17
-8
10
21
11
8
11
15
3
6
-4
5
3
42
23
-23
-18
-1
45
-3
25
-8
5
29
-46
-67
-6
2
-32
47
40
-7
-34
17
17
53
-16
26
3
-6
12
1
-58
-6
12
17
-21
18
39
18
35
33
19
28
12
37
22
-20
8
134
-61
-1
1
0
-19
31
0
-19
-80
-36
14
23
-4
9
-57
-88
47
-4
35
-4
24
-18
23
-26
21
-1
-2
0
-8
34
8
11
30
14
-1
7
-1
1
0
0
0
0
0
48
-9
-31
-4
0
6
2
-24
-14
-1
9
-8
-133
-54
-3
-33
-91
3
0
1
-21
48
77
25
-53
31
-42
-15
-29
49
40
-2
38
21
-20
49
1
9
-7
11
0
0
0
0
0
3
-72
33
3
0
-2
0
64
-43
1
1
-4
4
-47
0
2
-16
-15
-5
-24
34
-11
-1
-31
1
-44
-11
-18
-6
33
3
0
6
-33
6
30
1
-6
4
1
0
0
0
0
0
13
-76
-5
0
0
-29
-18
-12
-5
-6
-9
0
-5
-51
4
-78
-15
-42
-48
1
-24
-1
5
-47
5
11
-16
-34
-7
57
42
-2
0
-28
30
30
5
-17
-3
48
9
25
34
12
-4
0
-7
-20
2
0
-1
-8
-5
5
0
0
55
3
-21
8
9
7
-9
-2
-8
44
0
-29
-19
-43
21
-44
-77
38
54
-28
22
4
3
9
52
9
-2
33
8
35
15
42
-9
50
0
0
0
0
0
21
4
43
-48
-42
62
19
-77
-51
0
-20
-18
-20
-1
-1
-28
-39
2
-108
-53
20
47
-12
71
-65
46
8
35
64
53
-1
-1
-11
-12
-34
51
7
17
20
20
0
0
0
0
0
13
8
2
-21
-26
58
14
-22
0
0
8
17
-3
27
3
77
33
-2
-38
3
-76
-1
-43
14
20
37
-16
-14
-27
2
-16
13
-1
7
-19
42
11
9
-4
24
0
0
0
0
0
-2
-21
-53
-2
-31
-1
29
-53
-17
-2
1
-7
-57
-54
35
20
23
-16
-26
-56
103
3
-24
7
-15
-16
-6
18
47
-21
-68
5
-36
-31
-28
-28
26
27
21
34
20
-61
-29
5
0
-33
59
-1
-4
0
31
-30
-22
-72
0
-22
56
-14
1
4
39
28
-11
5
-13
-59
-53
-20
17
-49
-5
-39
-18
-25
-9
0
0
0
0
0
0
0
0
0
0
-2
1
-5
4
1
-34
6
0
-9
1
-66
-76
62
-33
1
-6
16
-7
-4
2
31
-4
0
4
-5
-86
10
-65
12
-23
-30
1
-27
-13
-12
0
0
0
0
0
0
0
0
0
0
0
5
-19
4
0
0
0
-54
8
0
0
5
-17
-2
0
1
4
-41
-62
5
18
26
-44
-33
-9
27
-17
-32
16
-57
11
-74
-47
-4
-17
0
0
0
0
0
0
0
0
0
0
56
-3
1
0
0
49
8
33
5
0
41
-57
-15
-29
5
-100
14
57
23
-25
19
50
10
35
-13
-76
32
-33
-4
-34
5
3
8
-42
7
39
-38
31
28
-21
16
39
34
4
-24
0
1
7
-1
0
2
0
44
0
2
0
0
-32
-72
0
0
-2
-27
-18
1
-10
5
24
-82
1
43
27
0
42
-62
6
0
19
-45
-20
24
25
11
-70
-10
2
40
-29
-18
11
0
0
0
0
0
0
0
0
0
0
-14
11
-12
-66
-17
-34
-23
-41
-24
-10
-31
6
19
8
-24
-69
-24
50
-28
-26
25
3
-29
-10
-51
-64
-35
-26
20
13
-17
-9
16
-24
-34
0
0
0
0
0
0
0
0
0
0
-36
-3
-17
-78
-11
-81
39
-14
8
9
7
-84
5
19
16
12
51
-17
-24
-21
3
-1
31
27
23
13
16
-26
-70
-34
32
9
25
-8
37
0
0
0
0
0
0
0
0
0
0
-6
22
29
-97
-13
0
0
-21
22
-1
-18
-6
-32
-51
-5
-82
-63
-34
-54
21
68
80
-7
-7
40
-28
-41
-53
9
-18
-103
2
-3
-42
12
-44
-33
0
0
0
15
5
-1
33
0
-23
-1
-21
-14
3
-14
7
1
-42
0
3
-13
-14
-23
-34
-30
-8
-57
-79
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
50
19
0
0
30
-11
-8
0
0
23
-56
-5
24
-1
5
-9
-13
-23
0
21
-37
-20
15
1
3
32
-52
-65
-40
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
-1
0
-23
-4
0
3
-3
5
0
0
1
-7
-56
27
-23
-32
-81
5
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
19
0
0
0
-21
-17
-15
17
0
37
23
1
15
-2
29
13
-53
-22
-5
-8
-87
-2
-29
-9
-71
-14
-5
49
-32
14
-25
-47
23
-12
15
-73
-46
-15
-42
42
41
-21
-16
-6
0
0
0
3
0
0
0
0
-36
0
0
1
0
5
-3
0
0
14
48
-7
1
-5
5
-4
-2
-8
-23
16
53
-5
22
14
-71
35
-35
-2
6
-105
-48
53
52
53
-50
70
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
15
-26
-37
12
-16
-5
-51
-51
37
22
-45
-90
-61
34
21
60
-6
-30
8
6
-33
-36
-5
-96
-57
-26
-25
-30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-55
-47
-4
19
34
-58
32
-18
-5
-82
-62
-58
-62
4
55
32
33
32
-100
-55
-17
20
-14
29
-21
-30
-30
18
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-48
-4
-12
-30
0
1
8
-29
-22
2
-26
34
7
-1
-24
8
-63
7
-41
-32
-14
-18
-26
-41
-39
-28
-74
-21
26
1
-1
0
0
0
1
-1
0
-6
0
-4
0
0
0
0
-4
-7
45
-75
-33
-9
-34
-33
-34
-24
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
8
-1
-1
0
0
-1
1
-11
0
0
3
23
2
1
-1
5
53
-32
-83
10
0
0
0
0
0
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
30
-21
3
-45
-8
16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
-53
3
0
12
-14
-17
0
-12
-4
9
-43
4
0
-14
-17
5
0
-8
4
5
11
8
41
-7
-44
-1
3
-1
56
19
-25
-13
-72
63
47
-56
-29
-57
21
-29
1
21
-40
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
-26
3
2
3
4
-27
7
5
-9
-93
-8
14
13
74
15
2
-17
-50
5
-1
5
64
34
-20
11
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-42
34
19
-19
-74
1
-35
-5
-10
-14
-43
-49
11
-20
-81
-121
-110
-78
-45
-17
25
-13
10
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-48
-26
-32
-55
48
-5
-29
-2
-31
86
20
13
-46
33
-44
22
-36
-49
88
-1
-36
47
-41
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-56
-21
-14
-5
-5
17
-49
14
-27
13
-47
-30
-35
18
-30
-64
29
16
-116
48
-54
-84
-34
2
1
0
-1
0
0
0
0
0
-3
0
3
-1
7
-7
0
-71
-60
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
-1
-2
0
0
-65
0
-41
-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
4
-2
0
-5
-15
-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
-14
0
0
0
-7
0
0
-35
0
0
-3
0
0
0
-1
-6
1
13
0
3
65
-25
-37
0
-22
5
-108
1
0
24
-43
50
-5
0
-35
-75
-89
-21
0
-51
17
-12
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
4
0
0
26
0
0
-21
-56
-76
0
-49
-12
-5
36
0
28
-27
-23
-19
0
6
-39
-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
19
-109
38
-83
0
-79
-74
3
-67
0
-107
-89
-9
-89
0
-99
-91
-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
56
48
16
-75
-14
21
2
59
-5
35
58
-94
27
-40
50
31
50
-85
82
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
-88
69
-61
6
0
5
-74
42
5
0
-27
23
-69
-34
0
-16
-45
-154
-38
0
0
0
0
0
0
0
-2
-5
0
0
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
52
-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
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
1
0
0
16
9
1
0
0
0
-26
28
0
0
-14
-41
-41
0
0
-120
-80
-23
0
0
-91
-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
19
0
0
0
-25
10
0
0
39
19
-48
0
0
43
19
-55
0
0
-2
-56
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
-10
-97
-42
0
0
-71
-114
23
0
0
-91
-34
-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
45
2
28
-11
-26
-1
44
-62
22
30
-26
-71
-24
62
-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
31
56
-18
0
0
31
-71
-171
0
0
-15
-1
-54
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
-24
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
-70
0
0
0
2
-6
0
0
0
-19
23
0
0
0
-20
-53
0
0
0
-29
-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
18
0
0
0
0
-7
0
0
0
37
12
0
0
0
-14
4
0
0
0
-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
-8
-119
0
0
0
-156
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
53
-99
42
59
-23
-3
7
79
-75
8
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
-89
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
-26
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
-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
5
14
73
-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
-75
0
0
0
0
80
-81
5
-3
-3
14
21
42
-45
-5
-5
43
-24
-6
-1
34
-19
-37
36
-5
-6
-23
-6
-1
50
47
39
27
24
64
42
60
53
6
4
46
17
51
29
58
16
33
6
16
7
-11
28
4
-26
0
-53
9
95
-3
-5
-16
19
46
-16
0
3
61
19
-22
-32
-15
68
-5
-23
-26
32
-10
-6
10
14
76
-25
-9
-17
-51
27
10
17
21
50
16
33
6
16
7
-25
17
-12
-2
0
5
-100
28
-13
33
11
-14
-17
28
-25
-1
52
69
-33
-28
-50
11
25
77
1
7
48
33
-8
51
13
29
-1
19
-4
27
27
35
47
-26
16
33
6
16
7
36
-1
-8
2
-2
84
-33
-53
8
14
-3
-1
20
-76
-16
52
13
-41
-3
24
-21
-54
-8
-41
-22
-5
-2
10
-43
-24
2
26
-15
-11
-4
-19
17
5
-32
-12
3
-10
-30
-54
-6
-31
16
5
1
0
5
-51
-32
-17
-14
-14
-48
14
50
-34
-14
4
-16
-93
-16
-26
12
6
21
47
-14
11
21
-2
5
1
-6
10
-45
32
15
-11
30
-30
-9
-7
47
2
1
-57
30
30
1
-14
-13
-16
-4
-39
-5
1
-1
-34
46
7
0
-46
-4
-14
37
-54
63
-16
-3
12
3
17
20
25
10
-21
-15
12
-10
44
-9
18
11
-20
22
34
13
15
38
12
46
30
30
1
-14
-13
-2
-6
-23
10
-1
-32
7
-53
-35
-9
-53
-67
47
-31
-99
-12
57
-40
-53
-37
17
-27
-16
-6
-58
-13
3
-21
-13
-43
10
3
-28
-13
-31
22
-32
-9
-5
32
30
30
1
-14
-13
39
-5
32
33
5
25
19
-54
18
2
-13
16
22
14
-62
1
11
30
21
-2
15
10
52
19
-10
32
30
26
15
8
39
26
14
34
-23
22
74
-44
4
77
21
84
-25
-5
1
-31
-68
41
-3
-10
-80
-46
28
35
-6
-30
-33
-36
40
-33
-43
29
5
-19
50
-40
47
0
83
32
10
10
-19
15
31
24
7
1
5
-14
0
0
0
0
0
105
-21
3
-4
-5
-53
-14
-14
-15
-1
-29
0
-68
-28
-3
-7
-26
18
6
7
22
-37
69
22
-12
-26
41
56
-59
48
18
18
-43
15
97
80
12
4
7
0
0
0
0
0
0
3
-60
24
5
0
-2
37
14
-25
1
1
-12
29
-70
-4
24
-4
3
-4
-13
42
-17
79
14
20
-5
-14
-8
62
-24
31
1
9
8
47
22
-12
-21
2
6
0
0
0
0
0
14
-44
12
0
0
-44
70
13
-47
-35
26
25
-5
-20
-1
-130
-82
-10
-53
-13
-65
-25
-3
-11
-7
34
-7
27
27
23
71
4
8
25
-27
16
-12
-5
5
64
-22
7
28
-20
102
0
-33
-49
4
0
-1
51
16
-20
0
0
30
-7
-34
11
11
5
33
-3
19
27
-18
-27
-26
0
-79
25
22
35
12
27
58
16
17
-44
68
18
30
-13
5
21
35
65
-4
34
0
0
0
0
0
3
-2
39
-41
-32
73
68
-91
-25
0
-15
20
-5
21
14
37
-29
-73
-67
-16
45
-5
0
23
-50
21
28
-4
12
30
33
-8
4
-13
-13
58
20
17
52
14
0
0
0
0
0
17
-13
8
-52
-7
24
42
-14
18
0
60
49
-40
20
14
-7
47
-10
23
53
35
-52
-7
44
32
24
-8
9
72
62
17
-6
40
0
84
43
8
42
-29
4
0
0
0
0
0
-19
-10
-45
-65
-33
-1
-3
-4
-14
-3
3
42
-14
-21
58
56
7
-53
-30
-84
8
16
27
-9
35
5
-17
-13
9
16
64
-19
-16
21
6
119
22
36
44
45
5
-2
-5
5
0
-37
45
-5
-4
1
78
-1
-8
-34
-1
5
32
67
-20
14
9
43
10
22
-14
7
-45
6
-38
-23
-28
-59
-20
-3
11
0
0
0
0
0
0
0
0
0
0
-21
-4
-5
4
1
8
23
0
18
1
-45
-96
42
-14
2
-11
-9
-32
8
-27
33
10
63
-9
-12
-13
-7
-34
-21
-16
6
-18
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
5
-20
2
0
0
0
-8
12
-14
0
5
-23
-11
0
1
4
-15
-24
42
21
-4
-62
-32
-18
67
13
-32
11
-15
-5
-41
-16
-17
-10
0
0
0
0
0
0
0
0
0
0
-9
-45
3
0
0
-5
19
5
-18
0
8
-35
-44
7
-2
-81
47
7
47
-45
21
76
7
40
50
22
-6
-34
-62
-16
18
25
15
6
21
13
-53
-5
18
-23
-27
18
85
31
-13
0
1
21
-1
0
2
0
24
-3
-2
0
0
-25
-71
0
-12
-2
-52
26
-1
-10
-6
5
-3
-9
33
17
-45
3
-14
-13
16
-33
-16
8
10
-10
-2
15
16
36
-20
24
-3
26
0
0
0
0
0
0
0
0
0
0
-77
-9
5
-11
-53
-51
-29
-24
-16
-15
-24
33
63
21
-27
21
-37
48
-7
-53
73
-22
12
-1
-8
49
-62
19
-32
-73
10
-5
5
51
11
0
0
0
0
0
0
0
0
0
0
3
-39
27
-8
-33
-30
40
-35
-1
13
11
-43
-2
40
55
-69
32
43
2
-21
46
16
-34
-5
-9
14
23
45
2
-9
-13
9
-29
38
93
0
0
0
0
0
0
0
0
0
0
-26
7
3
-46
-50
0
0
-24
20
1
-22
-2
26
-58
13
-72
-63
-11
12
-4
-17
39
-4
-69
19
-71
-15
-19
-28
16
72
5
16
-9
25
-18
-2
0
0
0
21
-5
-1
6
0
3
6
-21
-48
5
-4
-5
5
-10
0
2
2
-22
52
-4
-19
-65
-50
-63
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
22
11
0
0
14
-9
-1
-2
0
43
-31
-6
5
-1
19
11
-23
-36
0
59
-10
-57
4
1
62
-8
-49
-14
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-67
1
0
-1
0
27
-2
0
3
-3
-7
0
0
1
-14
-36
50
-76
21
-53
-4
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
5
0
0
-56
-52
-14
21
0
41
-14
0
3
-2
44
58
-16
-11
6
0
-55
6
33
-9
-30
-34
-12
80
46
129
52
15
38
22
6
66
51
-10
-69
55
15
45
40
34
0
0
0
3
0
0
0
0
16
0
0
1
0
4
-3
0
0
17
43
-3
1
-15
-30
-44
6
-9
-68
13
9
42
4
21
-31
48
-6
-44
17
62
28
9
22
28
30
26
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
27
18
-32
21
-26
17
31
46
57
3
-62
-48
-47
36
128
8
-57
-25
39
-33
-31
-1
-12
-105
29
-22
11
-32
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-17
-14
33
11
45
-62
-3
-11
-5
-65
-32
-46
-26
17
91
17
-48
-11
-20
46
13
3
-16
-47
28
-18
13
-13
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-43
-10
-22
-45
0
-9
27
33
73
6
-20
27
-22
-4
-62
67
-12
-25
-24
-42
17
-30
-32
8
-24
18
1
3
27
1
-1
0
0
0
2
-1
0
1
0
-4
0
0
0
-7
-4
-6
4
-63
-31
84
-61
46
-11
-55
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
18
-9
-1
0
0
-1
2
1
0
0
-31
35
4
1
-1
-63
27
-51
-21
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
1
0
0
0
0
-1
0
0
-5
42
-24
-2
-46
8
-36
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-32
3
0
2
-14
-6
0
16
-4
-11
-8
4
0
6
-20
0
0
0
-44
31
51
-1
29
-21
-14
-1
22
-43
77
18
84
-26
-9
76
5
30
23
-7
27
14
64
52
-17
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
-63
5
0
19
5
-50
2
33
-9
-101
4
-19
-23
33
-6
-4
-18
-45
-41
-6
-4
37
21
57
73
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-23
44
11
-32
-102
-44
-33
2
48
-53
26
-33
-30
-34
-46
-15
-43
8
-66
29
22
22
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-109
57
5
-83
18
55
-33
-36
-16
117
86
47
-12
23
-20
54
-32
2
25
31
-2
19
53
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-41
24
-5
10
-6
-18
-47
-76
-53
18
-34
-61
-34
-6
-53
-20
-33
-12
-53
-14
-48
-34
-5
-54
1
0
-1
0
0
0
0
0
-8
0
3
-1
-5
6
0
6
3
-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
-1
-2
0
0
-52
-74
-8
-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
4
-2
0
8
-31
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
-3
0
0
0
5
0
0
15
0
0
-4
0
0
0
-1
-6
2
-9
0
4
40
-9
-13
0
-18
4
-74
-61
0
-10
-8
-31
-55
0
-10
38
-37
14
0
-11
-26
33
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
0
4
3
0
36
0
7
-24
-83
-30
0
-43
-16
44
1
0
-18
12
-2
62
0
18
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
9
8
24
-73
0
5
32
87
-20
0
-121
-66
18
0
0
-85
-71
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
62
6
-32
2
-8
-2
0
21
-21
-5
64
-42
7
33
43
26
39
2
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
-83
-9
-53
16
0
1
-83
-63
40
0
-27
-16
-59
10
0
15
-36
-108
-56
0
0
0
0
0
0
0
8
-5
0
0
46
-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
3
62
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
4
0
0
35
11
-36
0
0
0
-49
-31
0
0
-15
-32
-14
0
0
-4
-11
0
0
0
7
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
45
0
0
0
-37
-14
0
0
14
-27
-79
0
0
31
0
7
0
0
27
-43
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-76
-56
0
0
66
-55
15
0
0
-56
-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
10
32
60
-32
24
-7
19
-24
101
24
-37
-74
17
52
-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
3
-71
-52
0
0
80
-98
-75
0
0
-30
-1
-5
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
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
-19
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
-45
0
0
0
2
34
0
0
0
33
-17
0
0
0
53
49
0
0
0
-22
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
20
0
0
0
0
-23
0
0
0
47
-22
0
0
0
-40
12
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
0
0
0
-46
-35
0
0
0
-106
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
12
-1
31
35
-40
5
37
51
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
-160
50
0
0
0
-87
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
0
0
0
14
0
0
0
0
-43
0
0
0
0
124
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
1
0
0
0
0
-2
0
0
0
0
18
0
0
0
0
-27
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
72
119
66
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-2
-8
0
4
-3
0
-6
6
-1
22
2
-6
-8
-11
11
8
22
22
10
40
24
-27
-5
19
11
32
-26
22
-17
24
4
15
11
36
37
22
20
-6
-19
-7
13
0
0
0
2
0
7
5
1
-2
0
-6
14
-3
9
-4
8
5
-22
-16
4
4
19
-4
35
-12
-33
-1
-43
24
-14
-41
-42
34
-14
-5
18
1
-19
44
-23
20
-6
-19
-7
13
4
0
0
-1
0
0
-2
-1
3
0
11
-7
-17
2
0
44
9
26
-10
1
-45
-10
8
57
14
-36
8
20
1
-15
48
17
-5
8
-5
-33
-11
30
65
-24
20
-6
-19
-7
13
1
0
0
0
0
-3
-3
0
1
1
21
4
-5
-19
-4
-5
-14
-23
-2
16
-12
1
21
-4
-15
-33
12
-38
55
-24
-7
10
7
31
25
15
12
-49
24
-30
-11
-5
20
26
-10
5
2
0
0
0
-2
0
-3
0
1
16
12
5
-11
-9
23
-32
-14
-18
6
-12
7
5
25
3
11
-1
-31
30
47
-3
0
11
14
22
-47
-8
-62
36
-23
-3
39
29
15
-34
7
-7
8
-7
-7
-5
2
0
0
0
7
3
-6
15
1
32
2
-15
12
-35
-35
22
-13
-5
7
-31
-21
-10
22
-5
15
14
20
4
43
4
62
-26
60
18
63
-2
4
25
-9
7
-7
8
-7
-7
0
0
2
-1
0
-6
1
-10
7
-1
32
-31
-25
-11
-10
-4
-37
-50
8
2
-43
-47
-38
-5
-37
3
-52
-14
15
-32
-36
-22
-65
-21
-26
10
45
34
-23
-1
7
-7
8
-7
-7
3
5
0
-1
0
17
3
-2
-13
1
44
1
-9
31
-3
3
24
-11
25
20
14
5
21
5
-4
24
-23
53
4
29
-25
-11
29
-35
-51
11
13
19
2
35
-1
0
0
0
0
0
1
-4
0
7
0
0
-6
2
-3
13
-14
-3
7
-13
-36
-1
-25
11
19
-15
-32
-7
6
-18
-1
0
-18
-11
50
-3
-5
-5
16
0
0
0
0
0
0
1
0
0
-1
0
1
0
2
-2
-1
-6
-3
-25
1
0
20
-12
35
32
5
14
12
0
11
7
3
36
3
-56
23
7
14
-15
5
7
-52
43
18
13
8
0
0
0
0
0
0
-23
0
1
0
0
5
-10
2
1
0
-7
7
-1
0
2
-16
-32
-15
10
24
49
51
7
-4
30
-9
-30
48
7
10
14
32
55
49
37
10
-5
-3
14
0
0
0
0
0
0
0
0
0
0
2
3
-1
0
0
10
-7
-9
-3
0
-3
-80
3
-25
-8
-33
23
0
1
8
-21
20
-26
-6
11
-6
-6
46
-47
-20
-29
-2
-34
38
-38
31
-13
-52
18
41
0
-1
-1
0
0
0
-5
0
1
1
0
-21
-33
24
11
7
22
-1
5
8
-39
-9
-4
21
-5
-9
14
-8
52
-14
18
3
3
8
-8
31
-1
-2
-30
-21
2
-38
-42
36
14
0
0
0
0
0
15
0
-5
-5
-9
1
18
-8
-17
1
4
-15
1
0
25
38
23
-26
25
1
-2
1
0
-1
-1
-24
-25
9
-13
0
35
-16
-22
5
12
5
22
-4
16
18
0
0
0
0
0
-4
0
-22
4
-2
-4
-6
-3
2
0
-7
16
11
-5
14
-25
80
26
-23
16
18
-11
11
64
-6
-25
84
53
39
17
-9
6
38
52
35
13
-44
-5
2
20
0
0
0
0
0
-2
-4
-6
-6
-5
0
-18
-20
2
-2
0
1
-1
0
15
14
19
9
-10
-6
-21
18
-31
38
58
20
52
-27
-7
4
34
-51
-49
65
24
-14
4
14
-10
-12
0
0
0
1
0
4
0
-1
0
0
3
0
-23
-2
0
13
1
-5
-20
3
-13
25
45
-10
-5
-19
32
-13
-9
2
21
-6
49
-6
-10
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-1
1
0
6
-10
17
-1
1
6
-43
-8
2
-7
-2
-8
33
19
0
23
22
-17
17
-1
7
28
-2
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
-1
0
2
-23
22
0
0
0
-2
15
6
3
4
-20
-6
0
7
0
-37
4
15
-71
4
-9
-36
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-1
0
-7
1
-10
4
5
7
20
-18
6
-7
-5
-6
0
13
-7
-14
-23
9
-2
-18
1
-3
12
29
-5
-60
10
13
-43
56
24
3
58
6
23
0
0
0
0
0
0
0
-24
0
0
0
0
-4
5
0
0
0
-13
-2
0
-4
0
7
7
5
19
9
26
-52
-8
4
3
5
-11
43
5
-14
10
35
21
1
4
4
-51
24
0
0
0
0
0
0
0
0
0
0
-6
-18
-9
19
3
0
0
-43
-3
-2
10
6
-1
-5
-5
5
-21
-34
-17
-20
1
-9
-30
43
-19
-27
-27
33
2
-40
-98
-39
4
-7
5
0
0
0
0
0
0
0
0
0
0
16
5
-5
5
-1
-2
-7
-5
7
0
10
9
11
26
2
-7
3
10
-23
13
-13
-3
42
-31
11
14
91
-4
-3
-21
2
29
-18
3
-5
0
0
0
0
0
0
0
0
0
0
0
4
-6
32
13
0
0
-32
-5
3
-13
10
7
-7
1
6
-23
-39
26
-26
-26
-4
37
-23
6
11
0
9
-50
19
16
6
26
7
10
0
0
0
0
0
0
1
0
-1
0
-1
1
-1
-5
3
2
0
1
0
0
-1
14
4
55
-11
14
-18
-70
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
4
-1
0
2
-1
0
2
-8
-11
-2
-18
-14
-5
3
0
-38
-57
-11
30
-23
0
0
0
0
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
-1
0
3
-2
-11
0
0
0
-2
21
-5
-20
-16
-27
-21
-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
1
21
0
19
17
-4
11
-2
10
1
5
-1
-2
11
-16
26
7
22
23
23
-17
6
-11
-15
5
5
47
25
23
8
56
-12
9
0
0
0
0
0
0
0
0
-14
0
0
1
0
1
-2
0
0
-1
35
0
1
3
-9
14
2
-3
-11
-8
-2
-18
29
-1
33
-22
-5
1
35
18
13
0
2
0
3
6
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
30
-5
14
-8
-2
6
28
14
10
4
3
-14
8
5
-7
-12
-5
27
-33
33
13
5
14
6
-14
28
-15
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-16
-16
10
2
8
-13
-5
-18
-4
-15
-3
-14
5
10
14
-18
4
-6
-5
19
31
3
-1
1
31
0
-29
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
-19
-14
0
-1
2
52
-5
-13
-25
-4
-35
-4
-7
23
-15
18
-18
-43
55
-17
39
11
10
-14
-34
-8
6
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
1
-1
0
-4
3
-1
27
-34
-5
-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
-1
5
1
0
-1
-5
5
-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
-1
0
0
0
0
1
0
0
0
0
3
0
0
-1
7
-7
-4
-16
-23
-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
0
-1
0
0
0
0
0
1
0
0
0
2
1
-1
-3
-2
4
-8
2
24
0
1
3
9
-2
43
2
7
-1
20
35
33
80
-3
21
13
13
68
23
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
-14
0
0
-2
0
7
0
13
-3
-11
-21
-7
1
6
16
-27
-6
0
-7
-5
21
1
7
72
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-42
45
14
-1
-3
-11
-17
22
7
-14
13
0
-11
-6
-37
-74
-28
-32
-5
15
-13
8
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
35
51
-1
7
14
5
-19
0
34
-1
29
7
8
-9
-6
59
-7
-26
23
-19
-7
36
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
1
-3
-2
-3
3
-7
-53
-30
5
6
-5
-1
3
-19
62
-5
34
-22
0
-10
21
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
17
-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
-5
-5
-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
-1
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
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
45
0
-4
-2
-35
-57
0
-8
-4
2
-18
0
5
16
17
-28
0
6
-3
15
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
3
0
0
-19
0
1
-4
-15
0
0
-14
-21
-5
29
0
-6
43
-25
-33
0
0
-5
-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
-15
-6
-16
-3
0
-10
11
10
30
0
-3
0
-1
5
0
-5
-1
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
-7
9
-43
10
5
11
18
-11
-1
-1
0
-10
-36
-5
19
7
-5
0
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
-32
-23
7
15
0
-1
-26
-43
14
0
-1
27
-6
29
0
32
-2
-9
3
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
-2
0
0
0
-16
-26
0
0
0
3
18
0
0
34
18
0
0
0
-29
-17
-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
8
0
0
0
-7
-20
0
0
-5
0
-1
0
0
-8
-5
17
0
0
8
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
-16
5
42
0
0
-6
10
3
0
0
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
-5
49
9
-12
45
-1
-19
7
21
0
-2
-2
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
-20
-4
20
0
0
13
13
8
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
-3
25
0
0
0
4
-21
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
7
0
0
0
0
-26
0
0
0
13
5
0
0
0
0
-12
0
0
0
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
0
0
0
0
0
0
0
0
0
-14
30
0
0
0
-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
-8
-4
13
22
-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
-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
5
0
0
0
0
1
0
0
0
0
-5
0
0
0
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
1
0
0
0
0
-1
0
0
0
0
13
0
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-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
-8
0
0
0
0
7
-3
-5
-33
0
0
0
0
-5
6
72
6
-82
-5
0
0
0
2
10
65
4
20
-5
0
0
0
-9
-92
93
-71
-7
-1
0
0
0
-48
170
11
-14
-10
17
0
0
0
-5
186
39
-35
-63
-80
0
0
0
2
130
27
10
-14
-61
0
0
0
-9
26
-53
-2
-102
1
0
0
0
-48
0
62
-14
-30
-25
-28
0
0
-5
0
84
-22
-55
-69
-12
0
0
2
0
56
-46
2
-3
-17
0
0
-9
0
-5
-74
-83
-9
-4
0
0
-48
-9
-20
-37
-42
-48
-39
-21
0
0
0
-54
-64
-91
-57
-29
-74
1
0
0
0
4
-7
-10
-17
36
17
4
1
0
0
-12
-35
-74
-98
67
8
-7
0
0
0
37
44
24
74
-12
33
2
2
0
0
29
62
16
48
44
0
0
0
0
0
28
50
-4
45
34
-2
0
0
0
0
16
83
80
11
7
0
0
0
0
0
16
-41
31
25
0
0
0
0
0
0
22
25
14
-1
0
0
0
0
0
0
17
-13
-14
1
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
-10
21
13
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
21
23
24
-17
2
-53
5
0
0
0
13
6
20
24
-1
-18
-1
0
0
0
47
48
47
-31
22
26
-3
0
0
0
92
30
64
1
22
14
0
0
0
0
45
57
10
43
8
23
9
0
0
0
165
34
23
14
1
7
0
0
0
0
-28
73
-33
27
7
0
0
0
0
0
112
48
-43
4
2
0
0
0
0
0
3
43
-21
2
1
0
0
0
0
0
55
-4
4
-1
0
0
0
0
0
0
-1
-11
10
0
0
0
0
0
0
0
21
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
-4
6
54
9
-23
1
0
0
0
-45
-39
-28
-28
-39
-2
0
0
0
0
28
26
10
18
-26
4
1
0
0
0
26
-11
19
65
-6
-13
0
0
0
0
41
51
70
45
-8
1
0
0
0
0
51
33
82
32
3
0
0
0
0
0
72
125
57
10
0
0
0
0
0
0
67
127
39
0
0
0
0
0
0
0
-14
69
-14
0
0
0
0
0
0
0
16
18
9
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
24
-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
49
43
46
50
20
6
1
0
0
0
62
88
96
81
46
15
0
0
0
0
63
107
102
82
20
-1
0
0
0
0
86
117
128
8
4
1
0
0
0
0
10
93
138
48
3
1
1
0
0
0
183
87
80
17
-1
0
0
0
0
0
81
49
48
23
0
0
0
0
0
0
56
62
34
0
0
0
0
0
0
0
34
-1
9
0
0
0
0
0
0
0
41
16
1
0
0
0
0
0
0
0
-15
-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
6
67
41
-73
6
0
0
0
0
0
51
55
90
18
0
0
0
0
0
0
80
42
109
14
1
0
0
0
0
0
131
94
79
65
0
0
0
0
0
0
51
92
54
0
0
0
0
0
0
0
138
42
46
3
0
0
0
0
0
0
7
31
20
0
0
0
0
0
0
0
69
-10
2
0
0
0
0
0
0
0
24
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
109
92
34
2
0
0
0
0
0
60
87
106
20
0
0
0
0
0
0
199
25
27
-10
0
0
0
0
0
0
207
97
31
8
0
0
0
0
0
0
129
29
4
1
0
0
0
0
0
0
88
-7
11
0
0
0
0
0
0
0
47
-2
7
0
0
0
0
0
0
0
24
-7
0
0
0
0
0
0
0
0
-8
24
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
144
98
-5
-8
0
0
0
0
0
0
201
77
60
0
0
0
0
0
0
0
1
-100
-41
0
0
0
0
0
0
0
93
75
29
0
0
0
0
0
0
0
20
9
7
0
0
0
0
0
0
0
83
16
1
0
0
0
0
0
0
0
2
-13
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
67
-34
1
1
0
0
0
0
0
0
107
10
-14
0
0
0
0
0
0
0
78
21
-6
0
0
0
0
0
0
0
25
25
-1
0
0
0
0
0
0
0
100
-6
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-15
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
41
8
0
0
0
0
0
0
0
0
18
1
-1
0
0
0
0
0
0
0
72
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
84
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
-141
-89
-124
-134
-86
-40
10
46
-7
1
-181
-140
-124
-104
-34
-70
44
-15
14
0
-22
-28
-19
17
61
-8
0
48
8
0
-54
-34
-6
-11
44
44
69
62
3
0
2
20
40
36
39
53
41
10
-1
0
29
49
65
66
83
101
46
-14
0
0
57
54
68
105
82
96
98
1
0
0
69
52
52
64
112
77
5
2
0
0
68
65
34
16
12
43
1
0
0
0
86
60
76
69
14
24
1
0
0
0
61
120
-20
98
83
1
0
0
0
0
53
75
34
29
-11
1
0
0
0
0
-10
72
53
-16
1
0
0
0
0
0
14
58
27
-15
0
0
0
0
0
0
-49
-4
37
-3
0
0
0
0
0
0
1
11
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
-54
-50
-44
-20
-15
14
16
29
0
0
-83
-71
-46
50
-6
-14
43
13
0
0
20
32
63
50
10
145
18
5
-3
0
-2
38
47
95
64
75
5
-24
0
0
49
86
89
27
68
113
72
14
0
0
55
102
70
63
181
85
66
0
0
0
94
36
75
64
69
44
47
0
0
0
163
57
119
138
95
-25
9
0
0
0
53
61
70
118
54
33
0
0
0
0
46
137
58
-4
46
-7
0
0
0
0
-23
-8
-20
100
45
1
0
0
0
0
94
126
-8
-14
-4
-1
0
0
0
0
-20
49
-3
17
0
0
0
0
0
0
-10
3
-45
-3
0
0
0
0
0
0
33
-5
31
-1
0
0
0
0
0
0
4
10
-4
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
-54
-60
-44
-28
121
1
53
2
0
0
-103
-19
5
36
53
-53
21
1
0
0
11
29
19
44
-22
74
15
0
0
0
8
33
54
69
63
17
25
1
0
0
42
62
79
62
75
44
-1
0
0
0
88
84
156
188
25
71
-3
0
0
0
62
87
151
103
48
7
0
0
0
0
114
79
145
14
64
34
0
0
0
0
35
116
31
5
5
0
0
0
0
0
139
56
126
80
17
2
0
0
0
0
2
113
35
6
0
0
0
0
0
0
25
47
23
-25
0
0
0
0
0
0
-16
46
33
0
0
0
0
0
0
0
43
7
11
0
0
0
0
0
0
0
25
-11
0
0
0
0
0
0
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
40
13
21
37
104
73
13
0
0
0
15
-5
-28
39
69
102
-4
0
0
0
70
64
74
141
209
30
3
3
0
0
93
63
63
121
50
11
-25
0
0
0
98
136
117
134
98
76
13
0
0
0
156
171
97
74
-1
31
1
0
0
0
108
17
69
58
-20
10
0
0
0
0
96
59
122
6
46
2
0
0
0
0
81
6
117
75
-27
0
0
0
0
0
93
96
70
-46
0
0
0
0
0
0
4
22
-21
16
0
0
0
0
0
0
16
9
2
1
0
0
0
0
0
0
66
11
4
-2
0
0
0
0
0
0
27
6
3
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
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
-67
9
-27
0
0
0
0
0
3
-46
75
0
-7
-3
6
0
0
0
20
21
53
-63
105
8
0
0
0
0
-15
28
101
94
19
8
0
0
0
0
65
35
88
24
1
-2
0
0
0
0
48
80
-36
129
-10
2
0
0
0
0
56
42
36
12
-1
0
0
0
0
0
51
51
90
-14
-1
0
0
0
0
0
81
22
-68
-2
0
0
0
0
0
0
79
2
21
3
0
0
0
0
0
0
90
-30
2
0
0
0
0
0
0
0
15
-20
-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
15
45
-20
-107
81
-4
-4
0
0
0
24
-19
89
-5
5
-3
0
0
0
0
53
131
61
34
-5
26
0
0
0
0
92
83
84
146
5
5
0
0
0
0
85
-12
120
35
-1
-5
0
0
0
0
97
93
32
16
-3
0
0
0
0
0
35
159
52
60
-1
0
0
0
0
0
120
-19
33
10
-3
0
0
0
0
0
-39
45
3
1
0
0
0
0
0
0
24
52
11
1
0
0
0
0
0
0
-40
79
9
0
0
0
0
0
0
0
-7
-39
0
0
0
0
0
0
0
0
19
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
-11
-120
-28
-74
-13
0
0
0
0
0
5
-15
8
-46
0
0
0
0
0
0
16
-15
65
-5
-3
0
0
0
0
0
129
20
76
16
1
0
0
0
0
0
39
67
-11
-7
0
0
0
0
0
0
5
-16
39
0
0
0
0
0
0
0
138
16
45
0
0
0
0
0
0
0
79
-8
-7
0
0
0
0
0
0
0
37
63
0
0
0
0
0
0
0
0
64
-34
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
99
-39
2
-29
-2
0
0
0
0
0
-37
13
65
3
0
0
0
0
0
0
124
99
9
-18
0
0
0
0
0
0
14
-22
-33
2
0
0
0
0
0
0
3
9
-17
-9
0
0
0
0
0
0
-11
-68
-76
2
0
0
0
0
0
0
63
-73
-22
0
0
0
0
0
0
0
62
47
2
0
0
0
0
0
0
0
23
-10
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
76
-15
-7
7
0
0
0
0
0
0
-18
-3
-9
0
0
0
0
0
0
0
111
99
26
2
0
0
0
0
0
0
-43
-57
3
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
1
-52
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
36
-3
4
0
0
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
0
-23
45
-3
0
0
0
0
0
0
0
-36
21
1
0
0
0
0
0
0
0
65
-20
1
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
-15
1
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-168
-131
-80
-45
-8
62
74
-33
1
-157
-163
-121
-107
-39
-6
82
60
26
0
-85
-73
-40
8
31
61
69
81
13
0
-137
-65
-19
26
6
85
96
108
5
0
-95
-15
47
33
101
76
19
5
-1
0
-13
33
58
38
45
9
32
53
0
0
-15
37
62
52
83
103
110
0
0
0
16
92
92
79
83
72
14
0
0
0
-14
43
68
117
103
73
1
0
0
0
64
95
71
117
34
52
0
0
0
0
79
64
23
25
33
0
0
0
0
0
100
94
36
92
23
1
0
0
0
0
-20
1
-53
-19
0
0
0
0
0
0
21
96
-5
-25
0
0
0
0
0
0
-50
43
44
-5
0
0
0
0
0
0
17
15
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
-59
-93
-95
-82
-53
-8
46
53
0
0
-67
-165
-97
-56
-23
20
136
-19
0
0
23
-6
5
61
98
117
102
-8
-3
0
-44
-31
38
110
30
69
-6
1
0
0
35
30
59
79
105
114
117
69
0
0
8
37
106
93
97
60
166
-4
0
0
-2
54
69
72
11
110
54
1
0
0
42
110
85
114
111
10
8
0
0
0
78
69
96
90
54
80
0
0
0
0
94
55
84
20
1
-10
0
0
0
0
30
36
40
77
29
1
0
0
0
0
53
71
47
-35
-4
-1
0
0
0
0
-57
-19
-31
5
2
0
0
0
0
0
-52
50
-49
0
0
0
0
0
0
0
-11
36
3
-2
0
0
0
0
0
0
8
16
-5
0
0
0
0
0
0
0
3
-20
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
-48
-13
37
27
75
2
0
0
-66
43
-14
27
6
0
33
1
0
0
10
-13
-13
-31
3
14
13
0
0
0
-41
35
0
29
59
27
37
1
0
0
38
-4
24
23
162
63
-4
0
0
0
34
43
49
129
102
69
25
0
0
0
56
22
95
99
81
-15
0
0
0
0
84
61
101
43
72
71
0
0
0
0
13
64
70
-31
17
0
0
0
0
0
24
30
76
125
52
2
0
0
0
0
-5
48
-3
-1
0
0
0
0
0
0
37
4
-43
-27
0
0
0
0
0
0
-4
86
63
-1
0
0
0
0
0
0
53
48
9
0
0
0
0
0
0
0
32
-14
0
0
0
0
0
0
0
0
-25
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
11
-13
-32
-5
0
0
0
-69
-91
-18
-93
91
129
-4
0
0
0
61
2
18
51
52
-34
33
3
0
0
33
-3
49
37
100
26
18
0
0
0
58
42
67
72
91
77
17
0
0
0
-5
32
41
108
8
0
-4
0
0
0
72
66
28
7
71
18
0
0
0
0
27
76
106
25
85
2
0
0
0
0
33
57
97
18
-50
0
0
0
0
0
65
85
237
-38
2
0
0
0
0
0
43
12
-37
-16
0
0
0
0
0
0
-40
-2
-43
1
0
0
0
0
0
0
145
40
4
-2
0
0
0
0
0
0
5
11
2
0
0
0
0
0
0
0
11
13
0
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
14
52
-92
-104
-79
0
0
0
0
0
-9
-75
-25
-19
-9
-8
6
0
0
0
80
-14
-51
-63
104
14
0
0
0
0
21
1
-19
-32
89
32
0
0
0
0
-3
-14
5
67
37
-2
0
0
0
0
-27
13
-2
177
9
3
0
0
0
0
42
55
18
86
0
0
0
0
0
0
-9
16
169
-67
2
0
0
0
0
0
23
1
-85
-5
0
0
0
0
0
0
37
81
18
2
0
0
0
0
0
0
82
11
-1
0
0
0
0
0
0
0
5
-43
-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
14
6
-40
-5
105
-5
-4
0
0
0
52
-15
-79
-61
-7
-3
0
0
0
0
71
-15
-21
-42
-5
31
0
0
0
0
-14
-6
-33
198
-33
5
0
0
0
0
73
65
81
108
-2
-7
0
0
0
0
-24
25
54
-27
-6
0
0
0
0
0
-24
49
5
45
-1
0
0
0
0
0
76
-73
80
2
-3
0
0
0
0
0
10
-20
-21
2
0
0
0
0
0
0
68
116
10
1
0
0
0
0
0
0
-19
82
15
0
0
0
0
0
0
0
-22
-52
0
0
0
0
0
0
0
0
34
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
52
-80
-28
-112
-13
0
0
0
0
0
-18
-39
5
-60
0
0
0
0
0
0
68
-25
46
14
-3
0
0
0
0
0
24
16
109
5
1
0
0
0
0
0
10
-72
47
-16
0
0
0
0
0
0
-10
-44
89
1
0
0
0
0
0
0
47
9
71
0
0
0
0
0
0
0
83
-16
-8
0
0
0
0
0
0
0
37
71
0
0
0
0
0
0
0
0
64
-43
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
-30
-65
-10
-61
-2
0
0
0
0
0
-33
-32
74
4
0
0
0
0
0
0
-46
14
-9
-52
0
0
0
0
0
0
1
-37
-36
5
0
0
0
0
0
0
-45
-16
-2
-14
0
0
0
0
0
0
-11
-41
-109
2
0
0
0
0
0
0
37
-71
-15
0
0
0
0
0
0
0
59
105
2
0
0
0
0
0
0
0
29
-8
1
0
0
0
0
0
0
0
10
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
71
-34
-7
7
0
0
0
0
0
0
-14
-7
-9
0
0
0
0
0
0
0
57
71
24
2
0
0
0
0
0
0
-44
-50
4
0
0
0
0
0
0
0
-20
-6
-7
0
0
0
0
0
0
0
-2
-57
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
-9
4
0
0
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
0
-29
33
-3
0
0
0
0
0
0
0
-34
23
1
0
0
0
0
0
0
0
62
-18
1
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
-15
1
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-48
-69
30
-6
23
-2
0
-11
-76
-66
22
59
35
51
28
5
0
-8
-102
56
22
130
100
20
22
1
0
-9
-50
2
22
70
20
31
21
0
0
-4
-54
50
138
104
11
-6
0
0
0
-20
31
62
51
-20
-44
42
-1
0
0
-88
-40
46
-56
33
16
8
0
0
0
47
13
8
0
-14
41
23
0
0
0
31
-23
9
57
-2
9
1
0
0
0
15
14
3
91
-7
18
0
0
0
0
47
-21
21
-14
-29
0
0
0
0
0
65
44
-33
57
-18
0
0
0
0
0
-30
-49
-71
26
3
0
0
0
0
0
-15
37
15
-9
0
0
0
0
0
0
-25
9
44
-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
-12
-14
-3
30
54
-2
2
0
-10
-73
-94
-34
44
65
65
18
0
0
-16
-1
-74
17
62
23
-6
4
0
0
-31
0
52
-4
91
40
-16
23
0
0
51
19
3
-13
41
-1
82
21
0
0
0
49
34
-58
-9
28
48
-2
0
0
-45
-9
-28
-14
26
33
3
0
0
0
-30
20
-9
-14
1
38
6
0
0
0
20
-10
4
-37
19
9
0
0
0
0
-16
-5
0
-15
-60
-15
0
0
0
0
16
-33
91
35
0
0
0
0
0
0
-54
-55
-5
10
-5
0
0
0
0
0
10
-97
40
5
4
0
0
0
0
0
5
1
-15
-3
0
0
0
0
0
0
-3
-21
32
2
0
0
0
0
0
0
2
11
-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
7
-66
-87
-3
4
0
0
0
-2
-44
-36
21
24
-2
16
-2
0
0
-14
6
-74
104
-28
23
-5
0
0
0
-2
-13
19
-30
-8
19
-10
1
0
0
-15
7
7
100
97
6
-1
0
0
0
15
-62
38
20
23
38
-10
0
0
0
-4
-44
9
-6
71
-4
0
0
0
0
49
17
43
56
-13
5
0
0
0
0
-44
-41
23
-5
15
0
0
0
0
0
2
19
-4
-5
23
3
0
0
0
0
21
18
3
-10
1
0
0
0
0
0
-11
-11
-14
-17
0
0
0
0
0
0
-26
-14
13
-1
0
0
0
0
0
0
-14
-10
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
-9
44
-67
-88
-19
5
0
0
0
0
9
-15
-10
-68
1
26
-2
0
0
0
-4
13
-62
55
7
-27
15
2
0
0
13
4
-56
7
76
-11
-7
0
0
0
-23
15
-34
18
-4
34
2
0
0
0
-13
16
1
34
84
8
1
0
0
0
-44
-32
6
13
28
-3
0
0
0
0
20
-25
24
-30
11
-1
0
0
0
0
-57
37
33
36
-19
0
0
0
0
0
-17
-4
31
-18
-14
0
0
0
0
0
23
21
51
15
0
0
0
0
0
0
-65
14
-27
2
0
0
0
0
0
0
-16
24
0
-3
0
0
0
0
0
0
13
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
-15
-30
1
4
2
0
0
0
0
-1
11
-14
37
-7
-2
4
0
0
0
-15
11
-85
11
13
3
0
0
0
0
-23
-25
16
-62
4
-6
0
0
0
0
-25
-23
-17
14
15
0
0
0
0
0
-11
-47
-22
11
5
3
0
0
0
0
25
43
21
59
1
0
0
0
0
0
4
13
37
-4
0
0
0
0
0
0
-21
-42
-39
0
0
0
0
0
0
0
17
-13
-9
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
-44
-17
4
0
-2
0
0
0
0
-2
-14
-39
-18
-1
0
0
0
0
4
-7
1
49
-2
1
0
0
0
0
3
-43
-16
-14
-5
3
0
0
0
0
0
49
-52
14
-14
0
0
0
0
0
2
-33
28
-19
-4
0
0
0
0
0
-14
-6
57
18
0
0
0
0
0
0
-27
24
-20
3
-3
0
0
0
0
0
20
-15
-11
0
0
0
0
0
0
0
34
20
3
1
0
0
0
0
0
0
10
9
-1
0
0
0
0
0
0
0
-4
-25
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
-11
1
0
0
0
0
0
0
0
11
-1
13
-1
0
0
0
0
0
-2
32
32
0
3
0
0
0
0
0
-6
-63
-4
-10
1
0
0
0
0
0
-27
0
24
0
0
0
0
0
0
0
0
20
13
0
0
0
0
0
0
0
-7
-9
-1
0
0
0
0
0
0
0
0
14
2
0
0
0
0
0
0
0
14
-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
-9
-6
0
0
0
0
0
0
-1
0
6
-2
0
0
0
0
0
0
-10
10
1
-41
0
0
0
0
0
0
-3
-9
14
8
0
0
0
0
0
0
4
-9
10
-7
0
0
0
0
0
0
3
-11
-15
1
0
0
0
0
0
0
29
-50
-17
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
-19
9
-55
-125
88
-37
-118
-2
0
-60
-72
26
-41
7
10
-66
40
-13
-14
-45
-25
13
-98
-70
-99
-14
-7
-6
-9
-19
-18
-9
-43
-3
-78
-56
-7
4
-14
-28
-28
-49
17
-63
0
18
-11
-23
-17
-21
-14
-34
-30
-5
-35
-16
-20
-19
-18
-15
-12
-15
-5
0
-6
-11
-13
-31
26
-26
-63
0
0
-35
-11
-13
-9
-43
20
0
0
6
19
-49
-1
-13
-38
-31
-10
0
-45
7
-144
-12
1
-4
-5
-1
0
-1
-30
-14
-19
-19
31
8
0
0
-10
-30
31
-7
-10
1
0
0
0
-5
-18
-30
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
21
-30
-74
-14
85
-28
-24
-33
-3
75
-24
12
0
-59
-71
29
-25
-62
-4
-17
-21
-41
25
31
-34
-90
7
22
6
-26
-22
-16
-6
-13
-24
33
2
6
-19
30
23
17
-69
-17
-52
5
-9
2
4
-18
-14
54
25
-83
3
-23
-13
-29
-34
-20
-14
-16
-47
0
-10
-9
-19
4
-23
28
-32
-29
0
-28
-8
8
-55
30
58
-25
25
-80
-91
1
34
-39
-62
24
-41
-1
-57
-31
-68
-84
25
67
-51
4
-2
-46
0
-3
-5
-57
79
-4
25
8
46
-5
-39
-82
27
13
-8
10
0
26
-68
-18
27
-33
1
-5
18
4
-3
-53
48
2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-26
5
55
-72
19
23
-49
-3
58
-25
-31
18
16
-35
15
-14
-59
0
-4
16
51
15
76
-24
-21
21
15
-10
20
20
-19
43
-11
22
-24
39
-1
-27
-23
4
-38
-63
32
-39
-12
21
-24
6
-41
7
-50
46
-90
26
19
-3
-21
-26
6
34
23
-58
0
-6
12
-19
-3
76
7
-71
-43
0
-39
-10
-33
41
-29
-67
-3
6
2
13
-32
-12
11
-13
18
-57
-1
-98
-7
29
27
-11
19
19
17
-2
-86
35
-8
-8
-16
-11
-17
35
8
43
-5
-10
-46
-3
33
-51
5
0
-23
-23
39
27
-18
9
-35
18
4
7
-74
42
28
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-39
59
-10
-54
-30
0
0
0
-59
16
15
12
-37
-43
-22
-20
0
47
71
92
-5
55
53
2
6
-3
73
-1
-6
14
-157
-32
-82
10
-8
-66
-14
-17
6
-81
43
-23
-36
-16
107
7
20
-99
20
63
8
-36
-19
35
19
-13
-52
1
64
17
-32
-4
0
-14
8
59
14
4
-4
-46
-8
0
-32
69
7
-13
42
-26
-29
1
46
80
-45
18
42
-18
-7
-10
0
-58
-12
37
22
31
3
14
-2
-1
2
28
-13
1
7
-25
-13
-1
0
-5
-8
-31
17
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
-24
63
32
32
82
14
-70
13
0
16
16
88
27
2
131
-85
3
6
-5
0
10
22
15
54
41
4
-14
-21
-17
-28
4
-6
-5
17
-62
-19
-27
-12
-25
-19
-5
0
-20
5
-6
-17
-8
-15
-15
-15
-49
46
-14
-15
0
-14
-12
-9
-17
-29
-95
-27
-11
0
0
-13
-2
-21
-79
-39
-79
0
0
30
-9
47
-24
25
-14
-17
0
0
-24
-22
50
-4
9
-1
0
0
14
54
63
-5
-1
-10
0
0
0
-14
2
13
51
-7
-17
-1
0
0
-34
-47
22
-13
-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
-69
-54
-56
26
23
90
-85
43
-2
-38
-10
15
-29
11
49
-80
-12
-5
-23
-15
17
1
53
-18
-11
36
-63
-28
3
1
15
10
33
27
88
-53
-6
-15
1
1
7
38
6
-76
-19
-18
-15
-14
-14
-29
-13
-43
-57
-72
0
-26
-7
-4
8
7
-11
14
-53
0
-8
18
5
-8
9
-70
-147
-31
0
2
-12
-5
-31
44
-29
-95
0
0
42
74
6
33
8
4
5
-2
19
15
42
28
46
-20
-62
4
-1
-46
111
-16
52
11
30
-18
2
0
-65
-112
-77
29
83
-11
1
3
0
32
11
-104
-52
-60
52
-17
0
0
0
1
-15
-15
-5
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
25
1
20
-41
11
-2
-2
-2
-43
-30
23
-55
33
-30
53
-47
-1
60
14
-26
30
-23
73
-42
110
-45
-9
48
72
49
15
51
22
11
-51
58
49
1
7
9
3
23
37
-13
26
12
-3
0
6
51
0
1
-45
0
19
17
-9
7
16
-64
-33
-55
0
-5
-27
26
89
-61
-61
-20
-27
0
-6
-22
-9
71
56
-7
-65
0
0
-28
24
26
-64
77
-7
-21
-2
38
-5
-21
62
-68
-75
-51
3
-1
-35
132
-58
64
-49
85
-28
2
0
-39
-81
-23
-66
81
-70
2
3
0
-15
-15
-30
-31
-34
3
-31
0
0
0
4
-25
0
-5
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
15
9
-27
39
33
-4
0
-14
-52
-44
39
31
55
10
-7
4
38
52
69
-20
17
-46
-46
35
-17
68
76
36
30
14
-43
-14
-10
-5
-4
24
-23
-5
71
0
-51
-10
-1
12
54
4
-88
-51
21
6
-22
6
0
118
16
128
-53
-37
-20
-60
-9
0
12
-18
104
-15
31
14
17
-1
0
-33
-11
10
1
-21
-26
-1
0
0
66
-21
43
-24
-13
-29
3
0
-32
-101
17
-4
52
-19
-2
0
0
-5
9
-4
43
6
-3
2
0
0
-18
-20
-20
4
0
-4
0
0
0
-3
6
0
-3
-1
2
0
0
0
0
0
0
0
0
1
0
0
0
-27
-30
-25
-19
-18
-12
-7
-3
2
7
6
8
5
1
-2
-7
-3
-43
-46
-8
0
4
-20
25
-23
3
15
12
22
57
34
34
62
-97
-234
-107
-82
-67
-60
-47
-25
-16
-15
-1
5
9
11
27
18
14
-9
0
-43
-72
-49
-52
-41
-38
-10
-4
-20
-12
11
1
9
13
25
78
-101
25
-32
-61
-30
-53
-35
-26
-32
-11
3
12
35
26
50
119
81
-9
-96
3
-52
-34
-16
-19
-28
-44
-12
-4
-12
1
-3
23
71
27
-11
17
-87
-87
23
-22
14
6
17
-70
31
13
74
47
27
32
-31
1
-14
1
-97
-8
-26
-5
73
44
-62
49
-29
24
-5
90
26
10
-48
4
-29
-12
-25
33
-64
8
25
-106
4
12
-15
-24
-11
-76
39
19
11
-52
-42
0
-6
-1
-12
-38
24
44
-29
95
-29
11
-16
-12
-6
-66
-30
17
26
92
-31
-5
-15
-3
7
-47
11
15
-3
61
-6
-14
-8
1
1
-36
-24
65
14
73
-30
2
-3
-4
2
18
-3
-4
29
87
-24
-16
-11
-6
-9
5
32
42
-18
-4
-27
-2
-14
-1
-9
-17
18
52
17
55
-9
-6
-13
-8
-6
-21
26
-9
-16
3
-8
4
-5
3
1
-1
19
26
39
-16
30
-1
-7
-10
-2
-10
46
43
-24
9
3
4
-8
0
-4
-30
-4
18
36
56
12
-3
-1
22
44
-31
11
-22
75
3
-35
-2
-3
1
5
-24
14
73
-6
19
23
-18
12
12
33
100
-14
96
1
4
-21
3
-6
1
-2
17
17
12
-30
-39
-42
5
-10
77
16
77
39
-8
39
12
27
2
-28
1
3
-8
44
-26
-30
32
-29
-1
-11
-11
-25
-71
21
2
-4
-9
9
7
-32
-13
-26
-2
13
77
5
15
3
-16
-20
-20
-7
-26
10
10
-10
17
-18
-2
-21
-16
-23
-24
6
9
10
4
-7
-6
-25
-24
-30
2
30
-32
-2
15
-3
-12
-14
-15
-9
-3
-12
4
17
38
23
-15
-2
-16
-8
3
-5
2
6
23
2
-4
-7
-4
-11
22
-9
-4
7
25
15
-2
-14
-1
-3
-8
-12
18
6
10
-1
-1
-2
-11
-4
15
2
-6
-11
28
14
1
-11
-13
-11
-11
2
8
12
9
4
-3
-4
-8
-20
5
2
-3
-7
-1
7
2
-3
-7
-13
15
-1
0
20
27
39
5
4
-4
-15
-15
7
21
8
-50
56
25
-19
-22
-3
23
3
-6
43
23
19
17
-7
2
-6
-12
17
18
19
0
40
16
-4
21
-21
50
5
19
10
-7
7
34
-6
-43
-65
-28
54
-60
-2
5
-34
21
-52
-15
-18
-35
-13
43
-26
26
33
13
-23
1
-9
16
34
-18
52
27
-23
14
21
-32
-21
19
-2
6
10
31
-14
13
-26
16
-23
-43
-17
-50
46
49
-11
5
-9
-8
15
-9
-1
-10
-12
21
-10
-9
12
27
-9
-48
-16
13
1
28
18
5
14
-3
12
38
-8
-7
0
4
-29
3
11
-2
-6
-8
-6
-7
10
44
6
4
-4
4
-14
-20
7
1
34
-13
-10
-4
2
4
19
-22
-13
23
24
7
24
12
6
7
4
-42
19
-27
20
33
-16
-20
4
5
5
-10
-12
23
-5
-13
43
-6
-1
29
21
-26
6
40
-1
23
-3
11
-6
6
-1
6
-4
20
-27
-5
-16
16
12
27
-36
-6
-5
14
4
40
3
11
-15
-1
32
14
9
3
2
19
28
-19
5
8
0
-12
-14
-21
15
48
-21
-12
-16
-26
-11
-84
-52
-27
-10
3
-64
-39
1
9
-20
-24
-56
-40
34
-13
-10
29
-36
-33
-5
42
-26
5
-17
5
-13
-59
52
81
-13
-69
-15
33
46
7
-22
-32
14
31
71
-73
27
98
33
19
-24
5
9
1
20
-34
1
-20
84
-12
-7
11
17
-15
8
25
-14
-19
41
-7
54
-8
-41
-23
54
23
-12
57
-23
50
-28
38
0
5
18
15
-13
-43
54
-1
28
-56
-4
21
66
51
-6
17
-7
-61
6
-4
-15
10
6
39
-4
-44
50
23
-4
68
-6
-55
-18
61
-7
-23
-50
19
-10
-51
-6
60
53
6
20
24
-35
-34
-4
23
23
36
-5
-19
19
-16
57
14
-3
-28
24
36
-51
-3
23
20
-5
-24
-36
39
-20
-18
16
-18
-50
13
21
-5
35
11
-25
18
-22
-34
-1
23
56
-20
-3
5
-17
-3
-45
-5
76
5
-3
-4
79
-6
-1
156
9
-17
-50
12
-47
55
-9
-38
7
18
-97
-5
-58
5
-16
56
1
9
-40
-19
7
14
-29
18
34
-6
-34
26
36
-35
-87
-108
-1
-63
-26
-10
-1
0
-22
1
-27
99
-30
-1
49
35
22
-60
-61
-8
-10
-11
10
-52
-26
-16
-8
-1
-24
5
35
-10
74
-7
-15
-16
-16
28
17
20
-4
16
-7
2
-19
-7
-46
22
32
33
-22
16
-11
14
28
-34
4
-1
-20
-5
-83
-10
-28
-3
2
-7
17
-52
1
-11
-11
4
-19
48
25
90
-53
-18
-19
-9
-4
-1
-12
17
19
5
54
1
60
43
15
45
104
-48
37
-36
-55
1
-4
-14
7
-17
14
32
29
68
-12
-75
56
-16
53
-4
31
17
0
3
38
-4
2
3
2
31
6
20
-18
29
6
1
40
40
-9
-11
-8
12
4
-20
6
0
-32
-19
23
62
56
129
43
15
14
17
-15
-11
0
5
64
-2
4
0
-15
-6
19
12
52
16
28
2
22
33
4
24
6
27
-31
-14
-17
12
-25
6
50
49
16
40
1
-18
2
-28
-5
-12
-14
25
54
3
11
-7
33
-20
-41
-50
98
21
101
-13
20
1
41
2
2
18
-13
-26
-8
18
12
11
-6
-12
9
-3
113
65
7
45
53
10
2
12
112
-7
3
-24
10
5
32
21
18
50
9
0
-93
82
20
2
31
2
24
-12
25
-1
6
42
9
13
39
18
68
10
-8
-58
0
17
4
13
-3
-2
4
-21
-9
-10
-49
75
27
-14
-7
-4
72
12
-71
10
27
10
-35
-20
-9
38
14
35
-13
0
77
5
-11
-50
61
55
-8
-19
-29
-15
-8
-13
-61
-28
-57
12
33
-42
5
-2
-29
2
47
-32
-42
-35
-84
2
-14
-28
6
2
-40
-10
-11
-18
-21
-24
-18
3
27
45
-77
39
-24
-17
-3
-15
-5
4
12
2
-16
17
-1
35
-28
39
9
-35
55
-22
45
6
-17
-13
-28
18
-36
-16
5
37
33
-25
-10
-13
39
22
-100
-22
0
-6
-3
-9
-25
46
20
11
-23
-8
32
-20
-37
-49
2
-12
20
-31
21
-5
-10
-12
-15
-2
-8
10
-15
80
-25
-16
72
-44
14
35
8
-4
19
-12
-3
-13
-21
25
20
9
-32
40
51
-4
-48
-4
-14
3
-13
-25
-5
3
-2
-9
-12
14
3
2
-22
12
20
39
-50
28
15
-3
19
11
-4
-10
-15
1
-24
28
26
-18
-22
6
47
-17
48
32
36
16
53
4
5
5
-7
-15
-15
6
-5
36
13
4
26
-15
-12
42
-6
2
-63
-19
-19
14
-6
-3
2
14
19
12
-37
37
-20
-29
73
30
26
24
-67
-34
2
-7
-2
-1
-8
13
14
11
5
8
-4
-17
64
-16
9
-11
-15
-11
-2
-3
-5
-12
12
2
-14
-19
13
29
39
20
49
2
-7
20
-85
1
-25
28
-11
2
30
20
41
6
59
9
27
0
17
0
5
-57
18
85
-13
19
-85
-39
-3
5
-35
26
74
20
22
-39
49
4
20
5
24
20
9
25
-16
-6
-6
-3
36
-9
32
27
54
40
57
-1
13
-11
53
5
5
30
-37
-16
70
17
-15
-29
43
-23
-3
160
-5
-27
25
27
-71
9
28
-12
-14
19
20
32
33
-9
-4
-26
23
6
89
37
-109
38
77
56
-11
20
-81
-41
-71
-84
41
-54
49
-64
-48
44
-16
-81
-15
-74
-15
31
-26
-16
-89
20
-10
-46
2
-43
5
21
-53
3
-28
-17
-62
0
81
22
23
-1
-17
-37
23
-8
3
27
21
-37
42
-4
-32
14
-13
-15
-13
-16
21
-7
-4
6
17
9
-21
5
30
-36
-24
-42
22
0
-3
18
1
36
32
15
-6
-6
-37
-2
33
-18
28
53
33
-24
2
-7
10
-36
29
-54
-26
43
39
12
24
14
18
3
44
-25
33
2
-55
-22
36
33
-19
-8
34
11
-22
-42
-39
10
10
22
3
82
-14
-3
-32
-51
7
21
0
9
44
-17
49
17
-22
4
15
1
25
-14
43
29
24
29
23
6
63
-66
3
14
39
16
-33
-16
23
35
33
46
-4
14
-43
1
2
17
6
-17
24
12
-22
9
11
-10
1
24
28
31
-26
34
-36
-30
-16
-5
-1
6
-2
23
39
9
0
25
-8
12
20
-38
16
67
51
15
34
36
85
-22
-11
8
-42
2
-38
-4
0
55
32
19
32
-81
25
-31
33
-14
-21
-83
-70
17
-64
7
36
23
8
30
18
38
-19
-52
-77
18
20
18
-24
24
-12
-13
91
28
4
7
-14
39
-41
-14
23
101
-3
35
4
-14
-64
-5
32
-39
92
-22
34
20
-65
-24
-5
4
80
70
32
-19
64
12
-14
5
5
-43
-66
-23
43
44
27
1
-78
16
44
-2
2
-3
44
-10
-15
18
-30
-46
23
-13
99
3
-17
5
-62
-21
129
-33
22
58
-32
15
58
7
-23
39
78
33
-16
35
-1
-6
5
30
16
48
-15
-1
-8
-4
-1
-10
5
2
-22
-13
-23
-26
-23
-9
-3
-29
-53
3
-11
-14
-4
0
-1
-11
-13
-2
-20
-35
-28
-25
-29
-14
-5
14
-26
2
-11
-14
-13
3
6
-27
-43
13
-11
13
5
35
-20
-47
6
9
4
0
-1
-2
45
-27
-9
-27
31
28
-9
-51
48
25
-31
6
-2
-2
-2
-2
5
-7
15
-5
-17
10
12
28
-23
14
34
-22
14
25
63
3
-8
23
15
0
-14
3
1
-17
6
1
10
52
-48
17
0
-31
5
-1
-14
14
2
26
-26
-22
9
9
4
-10
20
15
12
34
-22
14
-45
11
5
5
-5
20
-3
-2
-5
-12
11
-12
0
-7
57
24
9
35
7
7
-22
0
4
-3
5
-6
13
-14
32
14
-10
-34
30
-36
74
9
7
-17
30
-8
-2
-19
-23
21
-26
13
-7
-14
-3
64
38
-51
28
31
20
-39
-1
7
1
0
66
32
13
13
1
17
-32
-37
-30
44
-25
14
-33
58
13
14
9
-2
25
10
-1
-25
5
17
-23
25
-32
-43
59
-42
-7
1
23
13
0
0
27
41
10
-14
4
-36
1
70
-58
-39
55
-61
44
5
-14
0
1
8
31
36
45
5
-44
-2
31
-21
-10
71
-30
-15
-13
18
-26
9
4
0
-33
29
-13
-4
1
9
23
-22
6
48
-39
43
-29
-30
-1
7
-6
-5
-20
-5
6
28
29
5
-33
-45
13
-9
-84
25
22
-20
25
-7
15
1
-2
-21
5
0
-26
0
0
19
27
-46
2
53
0
25
7
0
-1
0
-23
-17
-2
19
-32
11
4
14
-33
-36
41
78
-44
41
22
8
-6
-7
32
8
-62
-27
-23
-21
-24
1
-1
5
-9
-24
7
-12
-7
-4
0
39
-17
-15
-18
-12
-6
-7
-5
13
3
8
22
41
14
36
59
32
-20
-39
-11
-9
-14
-8
-9
4
-5
12
9
6
7
-7
8
5
24
-50
-25
7
-2
-4
3
-3
0
-2
4
4
-1
-2
-2
16
17
15
10
-5
6
1
-8
-6
-3
2
3
-6
4
9
-12
3
11
-15
-41
-4
-8
-8
5
-1
-2
-4
-1
-3
8
5
12
-2
1
13
17
31
1
-4
-18
-7
-2
-5
-3
5
2
10
10
12
19
-9
-6
21
0
-99
-14
-5
3
1
6
3
5
7
-5
8
20
19
125
-3
-10
-24
-2
-74
-59
-15
-31
32
-3
10
19
-35
25
8
-29
16
5
0
0
-21
-4
12
23
27
-21
-10
-18
-13
9
38
4
-44
19
9
-31
0
29
24
13
2
-18
-5
-16
-12
-21
2
16
3
7
11
-1
97
35
56
-90
4
-18
-18
-24
0
-2
1
0
-2
10
22
-27
8
4
-49
-81
30
-14
-31
-23
-15
-9
9
1
10
8
26
26
26
24
-11
-13
-16
-7
-34
-17
-35
-9
-5
3
0
9
24
19
19
8
-42
-1
1
-81
-24
-70
-29
-11
1
-8
4
6
-4
-16
-10
31
17
44
12
57
-44
-49
-47
-48
9
6
2
7
2
-6
-14
14
28
34
16
-13
-3
-35
-123
-90
-18
30
10
25
11
21
41
9
1
-9
43
47
62
-54
-5
-15
-16
63
12
-16
25
38
-8
-30
16
68
-18
10
72
6
0
49
10
-16
-38
3
-8
31
-62
31
30
0
-9
90
-15
-25
33
0
-4
16
28
18
-8
-8
5
7
-7
2
-31
-7
10
-15
-23
3
52
-7
-16
-31
26
-14
14
-19
10
-13
14
13
-14
10
5
35
8
53
-2
43
-24
-49
24
-9
-14
13
-1
-23
53
13
38
62
72
53
9
0
14
9
60
111
4
-22
0
-53
6
-40
3
-36
25
70
-7
76
-2
-64
33
-6
-9
-37
-6
-6
19
-23
10
26
-8
36
-8
61
-2
2
106
-53
6
-31
38
15
-20
-1
5
-42
12
-16
-46
-7
2
-69
-4
9
34
-69
-93
-18
5
-26
-24
7
-8
48
17
48
-25
27
3
-1
-62
21
85
11
-2
-16
-47
-20
-39
39
-12
38
-20
23
2
0
0
14
12
-30
0
19
-39
25
41
2
-11
-20
0
-3
0
0
0
-3
-8
17
-39
-3
-33
29
29
32
-44
-24
44
18
51
-2
-1
-2
0
2
4
-10
10
3
-11
-8
22
51
-26
-3
-19
16
15
-4
0
0
0
-16
8
47
37
10
-13
10
45
-20
-10
-2
2
-4
2
-3
0
0
0
-10
11
27
43
-30
5
-40
1
17
-1
4
17
24
-20
0
-1
-5
-9
-5
5
12
70
10
2
33
11
2
-57
0
-7
-5
0
-1
-11
22
-33
13
37
-14
-33
-37
12
3
-11
15
-4
-3
1
0
-2
-13
5
-1
-12
5
-9
-11
-13
48
-25
17
-15
-6
-1
0
0
0
-3
8
-1
-30
0
-11
-17
5
26
0
0
0
0
0
0
-48
-36
-35
-24
-30
-31
14
-37
45
-48
13
-26
3
17
14
-1
-4
-14
-20
-5
-53
-79
-37
3
-5
4
23
-55
0
41
35
16
-10
-6
-11
31
-26
-1
-40
11
9
-4
-15
-54
-71
-27
57
44
-10
-5
12
-11
-43
-51
-23
6
-37
-46
7
0
2
-3
-2
-22
-60
4
-71
-16
-8
-6
4
10
-114
-41
-44
-30
21
-9
3
-5
4
-79
-45
16
-41
13
-23
-23
-84
-55
-22
-26
-4
-117
-44
39
1
-11
-77
-50
-53
-46
-53
10
0
-10
-13
-15
-72
-61
-26
-94
20
-2
3
-5
19
-5
12
-41
-14
28
0
-14
-18
-17
7
-14
-4
16
36
1
-4
-6
-2
4
-9
5
50
-19
-13
-4
-3
-23
-23
48
44
26
5
2
3
-5
-12
29
33
-54
-20
-12
9
8
-14
-1
-66
-6
0
31
-7
8
5
0
-4
3
-12
2
11
9
3
-16
-36
-50
-5
-5
-34
-19
-60
-4
1
-14
-28
43
-20
-14
-12
1
-6
2
-1
9
-23
22
7
-50
-5
-7
7
8
15
-17
15
35
-32
-4
10
-3
-1
-26
0
-4
11
-12
8
-5
3
-62
-50
5
-53
-54
-23
-20
-1
-12
27
31
57
-56
17
7
0
-3
-1
0
4
26
25
-5
2
-10
-14
-12
0
17
-23
51
12
-19
-1
20
-2
4
-9
23
-5
1
0
-12
9
2
-4
-33
19
-43
-89
-3
-53
-25
-36
36
-43
-14
-60
-28
5
0
5
0
4
11
25
-2
-9
-51
-4
11
-2
1
10
-53
45
34
-42
6
6
0
-1
2
6
-3
-6
-9
5
22
-17
-13
34
-22
-5
-147
-56
1
-25
-11
72
8
-24
-2
-2
-6
-18
3
8
-5
-10
16
0
-21
-53
-1
2
2
0
-8
-24
43
-6
7
14
-17
-5
-11
-5
6
-7
-11
-25
-7
3
15
28
-2
35
53
-42
65
-92
7
-6
-1
-20
-44
-8
3
-15
-6
-1
2
1
24
-3
30
19
-9
-13
-9
-6
-14
-1
-57
-2
9
-22
-8
2
-1
-2
10
23
-5
-14
2
-7
4
15
-1
3
0
-38
-29
-40
-50
-1
16
58
-23
16
27
-30
-9
-13
-6
-8
16
15
61
6
60
-18
-13
-1
-16
-3
-23
-6
-8
54
-32
-17
-18
-8
2
3
49
-14
-34
14
-54
10
-16
0
21
-19
16
54
-11
-35
12
-12
-11
-31
-53
9
-2
0
-3
1
4
-5
-5
22
-6
20
-17
-10
2
0
-7
-10
-36
22
3
-2
-9
-1
-1
-2
8
-21
6
-12
-12
0
-1
9
-9
-7
9
2
-14
-2
-3
22
29
38
71
17
-59
-43
-5
1
2
-2
10
23
8
23
3
17
11
3
-4
-14
-40
-32
41
44
-15
-29
-17
21
-4
14
12
7
-21
22
16
-15
-10
16
0
32
-27
52
2
-39
-66
53
6
-8
-12
22
1
-11
-8
7
-22
8
-11
42
34
12
-8
-10
3
1
-6
-22
-2
12
-12
-26
-19
26
-26
3
2
43
12
-12
-14
-9
-1
-49
-5
-11
-1
-23
21
14
-36
76
-23
-30
20
-1
-2
-5
-26
-4
-11
5
21
42
13
26
25
-36
45
15
-3
4
6
14
24
83
-7
-1
4
-14
23
15
19
14
4
32
15
-17
39
-24
115
4
-24
0
30
-36
-69
-15
-13
14
31
-13
18
28
7
6
-4
7
-15
-15
44
15
19
-14
-6
-9
7
-21
23
-5
25
-27
-7
17
-6
24
-7
8
16
18
31
-13
-30
-19
-3
-24
0
-28
53
5
54
-6
42
31
-33
1
0
-19
11
6
14
-7
-9
13
3
100
33
25
-22
18
2
8
13
9
41
-18
-59
-1
53
40
52
45
0
58
-2
30
4
-29
49
21
69
-29
-1
-25
-47
-43
-47
12
29
68
79
-3
31
8
3
6
-11
12
46
83
39
33
-41
8
9
-13
7
-22
2
-23
20
-34
-30
26
26
24
37
-25
23
14
5
-9
16
21
28
53
0
-28
-5
29
109
-10
-15
-71
29
1
0
108
106
-3
26
-10
11
16
-7
14
0
3
-17
-8
-8
-10
-38
5
144
40
0
5
34
32
14
23
-3
31
37
84
0
-40
-26
34
-23
-99
-40
-68
39
40
52
65
-8
-74
31
39
21
24
33
-23
-36
-35
-68
95
-19
-23
-13
-23
-19
-59
9
-32
93
5
-11
41
-32
-11
5
34
-160
24
25
-24
-2
113
40
-37
-14
12
35
31
-8
2
-21
-32
33
2
-2
57
2
-42
4
-38
31
6
-16
-26
30
14
-5
-68
-4
-17
32
-34
4
16
-5
-7
1
3
-50
4
46
92
50
-3
-5
-18
-26
9
-47
29
-36
93
-13
42
-41
-40
3
-9
-49
5
32
10
34
24
32
17
-33
-19
-38
15
24
-14
71
-39
3
-28
-14
-19
-2
12
7
21
27
-24
-1
-3
7
86
38
14
-38
-83
-62
11
-10
100
-17
-2
55
-58
33
21
-3
5
-21
48
-13
-36
-44
-30
-11
-17
2
39
39
35
6
15
-49
-10
-42
-2
-1
5
17
7
18
-15
-26
-15
-18
11
-49
17
13
-81
-24
28
1
-13
52
13
-37
107
6
7
-36
34
-13
-31
-57
36
6
15
16
-1
4
-23
17
-28
-9
1
-64
31
3
8
-6
-10
52
20
-21
-32
32
-81
7
0
34
-25
18
13
-77
-62
15
43
35
46
16
10
-76
-4
6
28
25
-21
-21
30
31
23
-17
14
-7
-5
0
25
-11
4
-4
41
0
12
4
-23
22
-6
3
10
-5
-2
-43
2
9
25
-1
15
-31
-47
28
19
-4
0
14
58
34
4
-47
-2
5
-7
23
5
103
36
-32
-49
-1
-11
-2
20
24
39
-5
23
-21
6
-18
-2
7
42
-11
38
-66
2
4
-22
-13
18
32
5
7
-18
53
36
3
-24
9
-1
31
-22
48
-23
-1
-34
10
37
28
78
6
-2
-12
8
-4
-2
-5
5
-26
12
7
-16
43
1
14
-14
38
31
-18
-24
39
-4
5
-15
5
-27
23
6
-13
-7
35
21
8
-37
40
3
134
-40
-11
40
-10
-7
3
48
53
39
-2
13
3
7
0
2
6
60
-11
-5
37
2
-8
12
3
31
-18
21
26
52
16
8
-12
-16
-2
9
15
7
-3
-18
-9
15
-15
50
6
17
-71
36
34
44
-9
-2
1
16
28
-7
-11
6
-16
9
6
-25
32
38
6
-68
-11
10
-13
17
7
9
14
-3
4
5
3
6
-14
-3
60
36
16
-59
-13
-22
14
0
28
51
-52
4
18
66
20
6
-3
2
124
-65
5
14
-17
-17
-3
1
8
25
24
24
-64
0
-23
3
23
-30
15
-11
28
-63
0
27
6
8
46
-8
14
26
65
3
-3
-12
-21
-50
14
62
18
-3
-8
-16
24
42
-33
7
3
37
16
11
-4
-6
-5
3
-20
1
35
-15
26
15
-4
-13
-14
26
21
18
-12
-23
-3
-13
6
26
114
-5
-15
94
-69
-1
17
23
40
67
60
-24
5
-69
53
-25
-7
50
66
-19
8
-13
26
-13
-24
-3
8
-9
11
36
-19
-26
-49
-22
12
0
-20
21
55
-5
17
-42
24
-5
-8
-6
57
-57
-41
43
-21
-33
0
60
-11
-4
27
-17
-7
45
-1
-6
23
-79
54
-5
54
-5
23
-25
-10
40
71
-42
13
93
-16
6
8
0
-27
21
8
18
-2
-19
29
13
20
-11
-75
32
53
-1
82
39
-46
45
-5
-14
56
49
35
-4
32
-16
17
-3
-12
42
-10
-2
2
32
-21
37
40
45
-38
-54
1
45
45
42
-26
15
16
3
8
3
-23
50
13
28
-14
36
34
-30
3
-26
-32
-13
59
85
-17
-10
-17
48
38
107
-53
14
85
26
20
85
47
72
3
-21
10
-5
-26
83
9
28
-2
-42
23
2
-9
15
-5
-33
39
23
21
7
78
-18
39
24
70
5
-26
-88
-14
-23
34
-40
107
1
8
-41
88
15
24
-7
-2
13
15
-4
17
17
-13
18
-14
-39
46
-17
48
48
-8
9
25
37
51
17
9
6
-34
14
12
7
41
107
20
-28
-6
14
25
-1
-5
-11
0
18
37
55
32
27
7
-52
-50
97
0
33
-58
77
-54
15
25
-32
14
-99
0
-50
52
6
44
21
28
22
16
54
0
36
-85
-32
7
51
6
45
-53
-1
0
-77
37
6
28
28
-6
-9
-11
-47
93
29
-39
-12
80
5
-59
16
80
-8
27
-62
-30
45
19
-20
32
-17
-7
24
-102
60
-26
-63
28
23
-16
14
-16
25
-5
4
-14
-23
4
10
-21
-1
-15
2
28
-50
-42
-24
30
-2
-11
0
18
28
62
-48
-42
12
27
14
9
-34
108
27
52
6
-49
-50
-59
-62
-38
-35
104
-20
-37
13
1
34
-20
43
66
62
-14
-47
-80
26
-33
-1
16
29
6
15
-43
-23
11
55
44
-49
80
-8
29
25
-68
-23
17
21
-46
89
14
9
-10
-62
-24
-19
-3
-6
-19
-6
39
24
45
-70
-24
12
25
-21
-41
107
-16
30
-37
-60
23
4
-49
49
9
35
10
-2
3
-26
-10
116
4
-44
6
-1
-52
-33
11
18
30
-26
-29
-30
46
34
33
-26
33
50
38
31
-74
-17
-28
26
-29
-33
20
-33
42
50
5
-33
-5
81
-44
-54
-43
13
30
11
58
-11
-48
-5
14
3
-24
16
27
13
-63
18
1
-32
21
-43
0
38
1
-52
10
-11
51
34
-16
-80
-15
83
20
37
-8
-81
24
66
-4
14
30
-27
24
-22
-7
-94
19
-44
77
-21
14
53
40
66
-36
-2
28
28
-25
-20
27
1
19
79
-1
-19
16
-22
10
-23
0
65
-34
41
-51
14
-44
-13
-6
-11
-17
-47
48
2
6
34
-4
-4
38
-73
-23
-37
25
62
-7
7
22
-11
33
-13
14
12
16
-8
11
-3
10
61
-48
-19
39
22
-2
16
-18
-4
39
52
19
-27
14
7
21
-16
9
40
16
-30
14
8
1
0
-17
10
-3
37
-10
46
-82
30
28
1
-72
-17
-15
74
-14
-27
-2
38
24
-24
25
-73
20
-2
33
-15
29
2
-5
11
-76
4
-7
12
10
37
4
30
-26
39
-19
-36
0
-27
-8
33
120
73
-89
-10
29
-7
-4
-7
11
-46
-57
-12
-2
19
7
15
-9
4
-35
6
2
23
-1
0
3
23
-20
7
4
23
-34
40
-2
-32
26
13
26
1
-2
-2
-14
-37
-23
10
22
49
-27
-13
-7
-28
-5
-1
72
-27
57
23
-27
3
1
-17
19
11
-40
20
36
-24
32
-25
29
8
7
-29
6
-42
1
26
51
38
-13
-9
-3
-21
-56
69
24
36
21
-108
-1
-31
56
0
-36
31
10
19
-28
-21
12
33
19
-15
5
-21
-5
-14
20
-5
-24
-25
11
-2
14
33
34
35
-35
23
23
8
14
-4
18
-20
-2
29
11
77
74
-72
-6
-42
-3
62
-48
52
14
-3
25
4
24
76
-62
22
-77
29
60
30
-6
20
-8
-3
-5
-33
-57
72
7
-11
80
-76
52
12
44
-28
18
-12
-12
76
15
35
10
14
-7
-33
66
22
38
37
43
-41
-78
-11
76
-26
-59
45
-65
15
9
33
24
76
-46
-28
52
-6
6
-8
-50
24
7
-7
14
-29
-21
85
-37
-10
30
-63
61
14
42
-29
25
-19
0
14
-51
29
6
41
-28
9
7
57
23
-17
-30
5
-64
50
86
-16
20
73
-11
-2
14
-4
-34
30
-38
-44
-8
3
-98
63
4
97
-3
14
-42
15
-6
-33
7
-40
-4
11
52
82
11
9
1
-24
-9
-62
-12
33
84
-40
32
-1
64
-60
14
11
-57
40
65
-26
4
19
8
-97
26
-44
16
-35
-3
-9
-1
99
60
-76
59
-45
-29
-30
-14
38
36
-32
73
-8
52
-26
29
62
32
4
-48
-33
4
-11
-5
23
-31
-5
-11
19
54
-14
-13
31
51
-43
67
-27
-50
-14
-17
9
66
-60
-14
5
50
41
-25
-24
-4
24
10
-43
59
79
-24
1
-111
46
36
33
-36
-5
-43
-10
9
27
-40
-10
12
-14
-5
-4
13
45
-13
-40
37
38
73
-14
-2
-10
3
39
-5
38
-80
65
-107
75
8
69
38
-71
96
61
1
-19
7
53
-23
-30
6
25
62
19
-11
-30
-11
58
-3
-62
0
-35
74
36
-5
-112
-46
86
13
24
0
-35
17
24
-2
15
6
-13
-24
-28
0
25
-29
-4
78
-20
-4
47
-53
9
0
-48
15
-40
71
2
36
-42
-1
42
0
25
41
-30
-48
3
-10
-1
0
0
-2
2
-2
1
14
-5
1
-2
3
6
0
-5
-4
0
-2
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
9
-4
-2
-14
22
-17
4
-5
0
1
0
-3
-6
-16
8
-6
2
17
1
1
0
0
-1
0
9
3
5
-11
-5
19
-5
-7
11
6
-5
1
-1
-13
0
1
1
0
2
-2
-3
0
3
0
-4
-4
3
1
11
19
-3
-4
-20
39
3
-19
-1
-2
0
-7
5
-5
-14
10
-14
4
-10
7
-3
-5
-1
-5
-5
-6
0
0
0
-2
-1
2
0
-2
0
22
-14
-8
14
-15
23
6
-18
-21
-32
5
-15
2
3
-12
-34
38
-29
6
17
-4
-2
-3
-14
15
27
-5
6
17
3
20
-15
15
10
20
7
-4
8
0
7
6
-16
-5
1
-11
1
-18
-9
31
4
0
3
-26
-1
-6
14
44
-1
-35
0
-21
8
-40
14
-1
10
2
1
2
-6
-11
6
16
6
1
0
-5
-1
8
9
-2
2
5
1
5
0
5
-1
-9
26
15
-2
-15
11
17
-6
-27
5
-8
14
-10
-5
2
-41
-15
4
35
15
-23
33
-4
14
-20
-23
5
-7
23
47
13
-3
-14
-1
-10
1
-2
-10
-9
3
17
8
3
-16
22
-5
9
3
-32
1
6
9
4
11
5
-3
-2
-17
5
17
4
-4
5
-17
19
-17
5
-2
4
15
-3
1
-21
25
13
-8
-9
-17
14
-2
6
2
-4
-10
25
-5
1
-8
-5
-2
-5
15
-2
-24
2
2
14
6
19
-11
16
3
0
17
9
-9
11
39
-48
-31
11
-14
5
13
1
-21
14
-55
5
-6
0
-10
-15
6
-5
-6
1
22
8
31
14
-5
2
-22
31
-3
-10
0
-18
6
5
-8
11
-23
24
-25
-10
13
-5
5
1
-33
16
13
45
-19
-14
1
25
-16
-10
3
29
-8
-21
-1
-1
5
-14
-1
-2
23
1
5
5
-1
-5
4
-4
-6
26
6
-1
-1
0
2
0
8
7
10
2
-20
25
-7
-16
7
-29
20
-24
-2
-20
0
-15
13
22
16
-8
16
-21
16
-5
2
3
13
19
-5
-5
-21
15
8
9
14
7
-1
-21
-14
20
1
-1
3
0
-4
4
-2
8
-11
-7
8
-10
-23
20
-9
52
-41
15
-4
-7
-8
6
14
-5
5
-14
10
16
4
-17
18
-15
7
19
-6
-12
9
5
18
1
4
4
-18
26
-31
4
-7
0
0
-2
-1
1
3
0
58
7
19
-10
19
-9
33
-26
-8
-4
2
4
-6
6
7
-16
-3
-3
-9
-16
5
-3
-4
-20
-4
18
6
14
-5
-2
-1
-3
14
6
2
-18
-1
9
0
-1
3
0
0
-9
-10
-4
19
-11
1
-5
-21
1
-46
28
24
35
5
11
-6
-43
42
-10
-40
-8
5
5
19
19
22
7
-6
5
10
9
14
5
-2
5
17
-45
7
0
-2
0
-1
-1
7
-2
-2
5
11
2
10
4
-11
-7
17
-17
13
-5
9
0
3
1
2
1
6
2
-7
-4
4
5
6
-3
30
-5
8
-2
3
-3
1
0
3
-1
0
1
1
-1
-1
-1
-3
7
1
3
-8
27
-23
-2
5
12
19
-6
-14
-45
-7
7
-8
22
0
1
3
-4
25
2
21
-7
7
2
-14
4
24
5
-9
-6
3
1
0
-8
15
-13
-18
0
0
0
0
0
0
0
0
0
0
2
-3
2
3
-3
14
14
-5
0
0
0
0
1
0
-1
-1
0
-4
5
-5
0
0
-1
4
5
-5
0
0
0
0
0
0
-1
2
2
4
11
-16
0
12
10
4
-21
23
15
-7
-15
8
-31
0
-15
52
10
-16
22
-1
-15
0
8
6
-5
3
17
5
2
-23
5
3
13
9
-23
1
7
-4
5
-13
-9
15
-6
-14
0
0
1
1
0
2
0
-13
2
-8
0
5
12
-3
7
-8
-7
15
0
-19
0
11
-4
-27
17
-12
15
8
-2
-3
0
-5
9
5
17
-37
-8
-9
-1
-5
0
9
0
-3
-8
0
0
9
1
0
-15
53
-3
0
-14
-8
21
-61
-4
-66
-53
0
0
-7
0
-5
0
-120
-2
0
-74
1
-100
-18
-14
-102
64
0
0
1
0
0
0
-121
-49
0
37
42
46
-11
-11
6
-91
0
0
9
0
0
1
-1
0
0
36
13
29
59
-20
10
-14
0
0
-16
1
-6
0
-4
-15
0
-82
-40
65
-94
7
10
-27
0
0
-2
28
-24
-65
-35
-8
0
-26
0
-32
12
-71
-61
-105
0
0
-3
-5
0
-1
-136
-52
0
-47
14
26
51
-37
-54
-7
0
0
-71
0
-2
5
-137
-110
0
91
53
94
66
29
61
57
0
0
-52
-12
-28
-3
3
0
0
-20
85
83
44
-73
25
-46
0
0
-114
-5
-22
-68
-99
-138
0
-70
-41
-25
-111
-128
-158
-22
0
0
-76
30
1
-71
-37
-8
0
-17
8
15
20
-10
-3
-35
0
0
-35
11
-46
-15
-67
-71
0
-31
68
37
71
13
-35
63
0
0
-14
0
-4
5
-71
-108
0
-12
69
127
62
11
124
-44
0
0
-6
-22
-28
-29
3
0
0
-1
99
6
-3
-8
-53
-4
0
0
-144
-6
-20
-75
-53
-80
0
-76
-28
22
-97
-135
-192
-38
0
0
-25
0
-1
0
-20
0
0
1
22
19
7
6
-28
-21
0
0
1
0
0
0
-1
-3
0
-81
81
21
-7
-25
58
-29
0
0
14
0
-1
2
-1
-13
0
-82
81
74
35
-5
-36
-19
0
0
-3
0
0
-2
-1
0
0
-33
5
28
18
-14
-14
2
0
0
-6
-4
-2
0
-7
-2
0
-10
-10
-40
32
-64
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-8
11
3
1
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
5
1
0
0
0
0
-14
3
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-59
-116
2
0
0
0
6
-8
-28
-59
-71
-33
0
72
-35
11
2
0
0
0
51
-46
-33
-25
0
0
0
41
-10
-73
-41
0
0
0
-19
95
-35
0
-1
0
0
-53
-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
17
-41
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
8
-168
-79
-31
0
0
64
-16
-91
-33
37
8
0
48
-70
-60
-30
-5
0
0
-24
46
-15
-7
-23
0
0
-41
-33
24
-47
20
0
0
-9
-44
-72
-53
8
0
0
7
53
23
-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
22
-33
0
0
0
0
0
-27
-3
4
0
0
0
0
0
0
0
0
0
0
0
16
-19
13
3
0
0
0
49
12
-15
-53
-10
0
0
44
1
-39
-4
0
0
0
11
-102
-4
-29
-6
0
0
-4
21
-56
14
3
0
0
31
0
-49
4
0
0
0
68
-192
-10
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
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
83
-46
-1
0
0
0
0
40
-4
0
0
0
0
0
63
-1
0
0
0
0
0
-21
2
0
0
0
0
0
11
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
-13
-90
0
0
0
0
0
3
9
-103
7
4
0
0
33
19
12
-14
0
0
0
-112
51
-39
1
0
0
0
-63
135
-15
-3
0
0
0
75
-47
-2
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
4
2
-30
-9
-1
0
0
22
0
0
0
0
0
0
-39
0
0
-1
0
0
0
-21
1
-4
3
0
0
0
-17
7
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-87
-121
3
-6
0
0
29
-54
-19
-138
-149
-50
0
13
-124
24
6
0
0
0
83
-44
-32
25
0
0
0
23
-63
-105
-91
6
0
0
-55
91
-85
-3
-11
0
0
-54
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-9
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
12
-68
-8
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-119
-95
92
-31
0
0
11
-112
-39
-28
140
47
0
34
-6
-70
106
-33
0
0
12
-36
33
20
25
0
0
-1
-100
-67
-122
128
5
0
12
-63
-90
7
-10
0
0
46
20
-47
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
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
-35
4
0
0
0
0
-19
-19
5
0
0
0
0
0
0
0
0
0
0
0
22
87
77
10
0
0
0
3
50
54
9
74
0
0
75
23
-80
5
0
0
0
60
-14
-53
23
0
0
0
31
-23
104
58
0
0
0
110
-117
84
-2
0
0
0
-23
19
-30
34
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
-21
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
-42
-19
7
0
0
0
0
-9
107
-27
-1
0
0
0
43
12
-1
0
0
0
0
56
-1
-3
-1
0
0
0
-107
-30
0
0
0
0
0
33
3
0
0
0
0
0
-33
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
8
-55
-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
-64
1
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-118
13
0
0
0
0
-31
-7
-44
24
-19
5
0
-37
-35
22
-17
0
0
0
-7
4
-99
-5
0
0
0
-49
25
-35
-3
0
0
0
-36
-57
-3
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
-38
-11
-23
-17
0
0
0
-3
0
0
0
0
0
0
25
0
0
-1
0
0
0
-29
1
-4
3
0
0
0
-17
7
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-57
-5
3
-6
0
0
27
-44
-43
-66
-31
-41
0
-1
-22
20
6
0
0
0
47
-65
-14
43
0
0
0
12
18
-3
-69
6
0
0
81
-14
-71
-3
-11
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-1
0
0
0
0
0
2
0
0
0
0
0
0
-37
0
0
0
0
0
0
-9
0
0
0
0
0
0
6
-33
-7
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-232
-54
1
-27
0
0
-5
-2
24
43
115
66
0
24
5
3
81
-14
0
0
49
26
-18
5
25
0
0
7
-25
-83
-82
90
5
0
18
-33
-92
-17
-20
0
0
75
16
-45
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
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
-26
-25
4
0
0
0
0
-17
-33
5
0
0
0
0
0
0
0
0
0
0
0
-21
-57
30
15
0
0
0
22
3
38
105
60
0
0
28
48
28
13
0
0
0
16
90
-7
-8
0
0
0
12
16
89
57
0
0
0
117
-7
32
-2
0
0
0
-69
43
-33
18
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
-24
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
-26
4
9
0
0
0
0
-1
77
16
-3
0
0
0
0
2
-1
0
0
0
0
5
-4
-3
-1
0
0
0
-46
1
0
0
0
0
0
-45
3
0
0
0
0
0
21
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-9
-52
-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
13
1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
2
-4
0
0
0
0
-30
30
85
-26
-26
5
0
-27
52
24
-20
0
0
0
-30
13
-14
-5
0
0
0
-63
-49
-8
-3
0
0
0
-90
-71
-5
0
0
0
0
-29
-1
1
0
0
0
0
0
0
0
0
0
0
0
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
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
14
-1
-2
0
0
0
0
-14
-16
16
33
0
0
0
8
6
5
0
0
0
0
31
-14
-13
0
0
0
0
12
4
-11
0
0
0
0
5
-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
-6
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-89
-27
-6
0
0
0
13
103
-26
52
-3
0
0
-14
54
-2
-4
0
0
0
-18
-24
-15
8
-1
0
0
-45
67
-25
14
-2
0
0
58
9
-3
-1
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
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
-55
-43
-1
2
0
0
0
68
-8
-6
8
0
0
0
80
-37
16
0
0
0
0
-9
46
-1
0
0
0
0
-14
-15
5
0
0
0
0
-4
-15
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
-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
-31
-8
1
0
0
0
0
-32
7
13
0
0
0
0
7
4
0
0
0
0
0
8
10
0
0
0
0
0
-15
11
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
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
-43
18
1
0
0
0
0
5
-19
35
-1
-1
0
0
-36
0
0
0
0
0
0
-12
35
9
0
0
0
0
-44
-23
0
1
0
0
0
-11
0
0
0
0
0
0
6
0
0
0
0
0
0
-30
-15
-9
0
2
10
8
5
19
-51
-24
-14
-13
-21
-11
-21
-33
27
-23
-26
-18
-4
0
9
12
-4
-12
-51
-35
-37
-27
-16
-7
10
0
0
-29
-37
-26
-14
-14
6
-6
20
-8
-79
-46
-37
-33
-19
-11
-14
-35
24
-54
-82
19
-8
23
26
-36
24
-7
-33
-57
-14
14
2
-14
45
-1
-41
0
0
-6
0
0
0
0
0
0
14
1
-14
-8
-69
0
61
0
0
10
0
9
-8
0
6
0
2
34
40
102
55
0
165
0
0
-8
0
-8
-39
0
-2
0
13
-6
-53
28
-85
0
-53
0
0
-90
0
-83
102
0
-4
0
54
31
-4
65
22
0
164
0
0
-35
0
0
0
0
0
0
-94
41
-80
83
-12
0
-89
0
0
-100
1
-9
61
0
8
0
55
55
-42
36
89
0
46
0
0
21
0
13
-73
0
-1
0
-15
-39
-24
-23
-5
0
37
0
0
-12
0
-119
150
0
-72
0
-43
0
25
34
19
0
100
0
0
-16
0
0
0
0
0
0
6
64
-29
107
13
0
-60
0
0
-101
-1
-10
107
0
6
0
19
-75
13
-52
38
0
45
0
0
-11
0
2
-76
0
-1
0
16
50
-18
-92
-13
0
64
0
0
-28
0
-43
76
0
-64
0
0
36
15
43
-30
0
114
0
0
0
0
0
0
0
0
0
-5
27
1
-5
-4
0
6
0
0
-1
0
0
-1
0
0
0
24
22
0
-8
25
0
4
0
0
0
0
0
1
0
0
0
-9
-24
0
-19
0
0
-2
0
0
16
0
0
1
0
0
0
-18
16
-2
31
31
0
1
-18
21
50
27
4
5
50
-11
-76
1
32
-35
-56
4
0
-15
74
-47
-2
0
74
-54
-8
0
0
8
45
-4
104
-1
58
-9
64
5
0
5
84
-24
-14
0
68
-19
30
0
0
18
-26
-5
0
0
-5
1
43
52
0
76
-82
54
35
0
16
-35
53
3
0
-13
-32
9
0
0
9
0
0
0
0
2
31
56
3
0
7
54
39
2
0
-6
26
5
0
0
1
0
0
0
0
0
0
0
0
0
10
20
0
0
0
-26
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
29
-26
-34
0
77
17
8
-20
0
22
10
-100
-17
0
23
8
-9
0
0
7
-2
0
0
0
-10
-15
-22
10
0
40
12
72
24
0
47
21
-14
-4
0
5
22
0
0
0
24
-2
0
0
0
45
-65
52
0
0
2
-64
64
-1
0
57
5
14
0
0
26
-5
0
0
0
0
0
0
0
0
29
5
21
0
0
17
20
6
0
0
-16
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
1
94
6
1
0
50
48
37
0
0
24
-10
20
0
0
-2
-2
0
0
0
-1
0
0
0
0
-53
-34
8
0
0
-22
14
22
0
0
4
-14
8
0
0
11
11
0
0
0
0
0
0
0
0
45
32
-7
0
0
52
23
-8
0
0
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
25
4
0
0
0
-10
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
-34
13
0
0
10
5
0
0
0
14
17
0
0
0
-5
0
0
0
0
0
0
0
0
0
81
17
0
0
0
21
4
0
0
0
14
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
16
10
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
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
-14
56
56
15
0
53
-17
43
-17
0
11
22
33
2
0
1
75
-8
0
0
-1
0
0
0
0
58
7
-14
-19
0
54
0
-28
-23
0
28
19
-32
1
0
-3
-7
-3
0
0
0
0
0
0
0
121
-17
2
0
0
137
-5
-13
0
0
3
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
37
0
0
0
-14
18
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
61
-12
-43
-2
0
78
-44
-11
0
0
-15
-10
15
0
0
71
13
1
0
0
0
0
0
0
0
-8
-53
3
-1
0
-9
27
10
0
0
0
-5
7
0
0
23
4
0
0
0
0
0
0
0
0
-15
13
-4
0
0
5
17
0
0
0
-2
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
-21
8
0
0
0
-20
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
15
-8
0
0
16
29
-3
0
0
15
6
0
0
0
18
0
0
0
0
0
0
0
0
0
32
20
-1
0
0
39
17
0
0
0
23
1
0
0
0
2
0
0
0
0
0
0
0
0
0
16
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
-29
-9
0
0
0
-14
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
50
4
-6
1
0
10
-7
-5
0
0
7
9
4
0
0
-4
2
0
0
0
0
0
0
0
0
20
-22
0
0
0
21
-26
1
0
0
34
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
18
18
0
0
0
-3
-11
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
-47
-28
-3
0
0
16
7
-1
0
0
-33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-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
-13
-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
4
43
-40
-10
0
35
-67
-56
5
0
-4
85
-66
-8
0
-42
-23
-31
0
0
-28
-11
0
0
0
36
-8
5
9
0
68
12
7
-5
0
117
49
-33
-2
0
-24
-49
-9
0
0
-21
-7
0
0
0
14
25
11
1
0
-30
-17
15
0
0
21
3
8
0
0
-17
-17
0
0
0
0
0
0
0
0
38
-9
10
0
0
42
10
6
0
0
11
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
86
-55
21
0
20
-33
18
13
0
-23
105
-53
0
0
2
28
-1
0
0
0
0
0
0
0
97
-25
-49
4
0
5
-74
-28
0
0
-31
-54
-39
0
0
-32
-4
0
0
0
0
0
0
0
0
0
-44
18
0
0
-20
37
4
0
0
4
15
0
0
0
-4
0
0
0
0
0
0
0
0
0
14
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
145
113
-19
0
0
8
32
-5
0
0
36
17
1
0
0
9
0
0
0
0
0
0
0
0
0
32
25
0
0
0
-19
-11
-6
0
0
-1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
13
1
0
0
0
-21
-7
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-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
-20
0
0
0
-5
-11
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
106
-11
0
93
27
45
-1
0
116
36
-2
0
0
2
-1
0
0
0
0
0
0
0
0
102
-26
17
0
0
-24
-50
-10
0
0
59
-24
-14
0
0
11
0
0
0
0
0
0
0
0
0
-26
6
17
0
0
7
23
11
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
17
-25
7
0
0
-55
30
3
0
0
7
14
-1
0
0
2
-1
0
0
0
0
0
0
0
0
30
26
6
0
0
-19
25
1
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
25
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
-18
1
-1
0
0
-16
6
0
0
0
10
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
51
0
-3
0
0
16
11
0
0
0
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
31
1
0
0
0
7
11
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
-33
-10
0
0
0
-11
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
58
52
0
0
12
29
26
0
0
62
-14
10
0
0
-49
-9
0
0
0
0
0
0
0
0
23
31
33
0
0
6
-1
23
0
0
26
-19
0
0
0
-45
-1
0
0
0
0
0
0
0
0
85
-37
3
0
0
48
-20
0
0
0
-27
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-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
-51
1
13
0
0
72
-31
14
0
0
14
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
-20
2
0
0
5
-8
1
0
0
-14
-8
0
0
0
-2
-1
0
0
0
0
0
0
0
0
18
-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
10
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
8
35
2
0
0
-1
6
4
0
0
-5
18
0
0
0
10
2
0
0
0
0
0
0
0
0
36
-2
1
0
0
-47
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
11
6
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
9
25
24
-19
3
17
-6
-12
49
28
2
-30
0
0
21
-50
-47
-40
0
-3
36
-9
0
0
7
23
-8
27
-58
11
0
-18
48
0
-12
-2
29
-51
-2
-64
33
1
-16
0
-4
-7
-7
0
0
-4
-31
-78
93
0
28
-29
114
14
0
-20
17
-44
70
0
-61
-4
66
-1
0
23
-14
0
0
0
-12
-4
12
14
0
-31
42
99
5
0
-50
-22
35
0
0
-23
-35
0
0
0
-1
0
0
0
0
-27
7
-2
0
0
-16
-9
3
0
0
48
15
0
0
0
0
0
0
0
0
0
0
0
0
0
6
23
-45
-1
-3
24
-17
-18
70
1
14
-22
32
73
0
4
-24
69
5
0
-16
24
1
0
0
6
-3
-22
-62
0
38
-25
49
26
0
-41
39
-63
-42
0
-4
21
5
-1
0
27
-20
0
0
0
0
4
4
-55
0
-26
38
56
-84
0
55
41
-34
-4
0
34
-4
-1
0
0
136
-1
0
0
0
18
-40
-48
0
0
56
42
34
1
0
-15
51
-11
0
0
-19
-5
0
0
0
0
0
0
0
0
1
84
0
0
0
0
15
0
0
0
29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-39
-10
-48
0
11
17
67
11
0
-16
-54
64
12
0
-68
9
32
0
0
70
1
0
0
0
-12
25
53
35
0
0
53
-1
57
0
-18
23
-27
-3
0
5
96
45
0
0
-1
-5
0
0
0
-38
-86
15
8
0
24
-54
-24
2
0
-116
-99
-54
0
0
58
3
-5
0
0
2
0
0
0
0
-24
-21
40
0
0
-14
53
66
0
0
3
-8
1
0
0
3
-1
0
0
0
0
0
0
0
0
-36
0
0
0
0
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-39
-60
0
0
-53
2
-89
0
0
-70
64
-53
0
0
-70
-33
-1
0
0
0
0
0
0
0
4
25
-116
0
0
-9
15
-44
0
0
-30
41
-5
0
0
-52
-2
0
0
0
0
0
0
0
0
-24
127
7
0
0
39
27
9
0
0
-62
-26
11
0
0
-13
-2
0
0
0
0
0
0
0
0
-42
3
0
0
0
-23
0
0
0
0
-7
-1
0
0
0
2
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
-36
14
0
0
0
-6
3
0
0
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
48
60
0
0
0
10
46
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
47
0
0
0
31
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
39
1
32
14
20
-58
0
3
-29
34
-16
0
-37
-2
-6
-1
0
28
3
0
0
0
43
-18
-15
-34
0
41
-15
47
-14
0
19
-61
-23
-10
0
14
-102
-43
0
0
31
-5
0
0
0
19
-73
1
6
0
9
9
-62
2
0
-36
-67
-31
0
0
75
38
-2
0
0
-8
0
0
0
0
30
74
-65
0
0
-92
57
-17
0
0
110
-47
-5
0
0
4
0
0
0
0
0
0
0
0
0
-33
-33
0
0
0
-13
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-9
-53
-1
0
22
-9
-78
-48
0
-12
19
-30
-26
0
-23
-90
-23
0
0
-54
-2
0
0
0
17
-49
32
-14
0
-38
-72
29
-16
0
27
7
-6
-4
0
23
-4
-14
0
0
1
-1
0
0
0
-68
64
-14
-4
0
69
26
-16
-1
0
9
23
2
0
0
1
23
-2
0
0
0
0
0
0
0
10
-34
-62
0
0
-17
-6
-6
0
0
29
-18
0
0
0
-5
1
0
0
0
0
0
0
0
0
3
-1
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
29
91
-4
0
9
54
-34
-2
0
9
45
13
0
0
12
-49
-8
0
0
0
0
0
0
0
-58
-30
28
-5
0
-21
63
19
-2
0
26
25
-30
0
0
22
-9
-5
0
0
0
0
0
0
0
-46
-7
45
0
0
-17
-39
20
0
0
34
35
-5
0
0
34
2
0
0
0
0
0
0
0
0
-47
-48
0
0
0
7
4
0
0
0
21
-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
-54
-14
-1
0
0
-55
36
-26
0
0
42
13
-7
0
0
10
0
0
0
0
0
0
0
0
0
18
23
-33
0
0
-15
4
-13
0
0
4
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-23
33
-1
0
0
14
6
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
1
0
0
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
-60
-5
0
0
0
-29
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
0
0
-14
9
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
-8
-3
-51
-3
0
-40
6
-17
-5
0
-25
4
3
0
0
-7
20
3
0
0
1
0
0
0
0
-18
32
-5
-1
0
54
40
18
0
0
122
-14
-5
0
0
-14
2
0
0
0
0
0
0
0
0
-43
103
-2
0
0
-50
-58
0
0
0
45
-43
0
0
0
-4
0
0
0
0
0
0
0
0
0
15
-8
0
0
0
29
-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
-72
-18
75
0
0
90
4
20
0
0
-101
24
-5
0
0
-1
1
0
0
0
0
0
0
0
0
-71
45
36
0
0
-1
15
-5
0
0
-25
0
-6
0
0
19
2
0
0
0
0
0
0
0
0
-21
-34
7
0
0
-71
-19
2
0
0
19
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
-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
-57
-31
-10
0
0
46
-6
-3
0
0
5
-10
0
0
0
-1
0
0
0
0
0
0
0
0
0
64
53
-1
0
0
89
45
1
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
29
27
0
0
0
-20
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
-43
-3
0
0
0
-10
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
0
0
0
14
-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
8
38
0
-40
-1
11
-4
-18
-70
0
-8
-1
36
23
0
-40
25
50
-17
0
-37
-49
-17
0
0
11
18
-5
1
-6
43
-23
-54
-48
0
-19
-17
-40
33
0
42
43
-33
1
0
-1
-11
0
0
0
10
-23
3
-20
0
-19
21
-59
-2
0
-18
-22
-71
17
0
59
14
6
0
0
-26
-1
0
0
0
-40
27
14
3
0
25
-46
15
0
0
-32
47
6
0
0
57
1
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
42
-10
-1
15
0
36
11
20
10
0
26
-8
10
20
0
-8
-3
24
0
0
-9
7
0
0
0
-9
-26
12
-84
0
-12
-29
35
1
0
-26
16
-49
4
0
-81
30
-8
0
0
5
7
0
0
0
-21
-18
24
-19
0
-51
-57
-86
4
0
-21
-84
-54
0
0
-35
18
0
0
0
1
0
0
0
0
9
14
-35
0
0
-101
-24
-36
0
0
51
80
0
0
0
-7
-3
0
0
0
0
0
0
0
0
6
8
0
0
0
-5
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-9
-74
-41
0
25
-6
-99
-5
0
24
-31
-12
0
0
-14
-67
-1
0
0
1
0
0
0
0
-8
46
85
-5
0
-18
-6
-27
3
0
-63
-13
-50
0
0
-28
-46
0
0
0
1
0
0
0
0
-41
-3
36
1
0
67
-13
10
0
0
-18
13
-2
0
0
-6
-2
0
0
0
0
0
0
0
0
10
-38
9
0
0
-5
17
3
0
0
-35
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
-73
62
17
0
0
-28
-46
5
0
0
-46
62
4
0
0
-24
-1
0
0
0
0
0
0
0
0
37
11
-40
0
0
-54
-55
-8
0
0
-15
2
0
0
0
-5
-1
0
0
0
0
0
0
0
0
-39
-44
0
0
0
17
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
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
15
-9
0
0
0
-2
-13
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
0
0
0
5
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
22
-16
22
-8
0
28
-39
-14
-37
0
16
-36
14
2
0
21
106
7
0
0
23
0
0
0
0
14
-41
59
-12
0
-58
-5
-7
-14
0
62
-5
58
1
0
43
-41
14
0
0
6
0
0
0
0
-28
31
-8
0
0
37
65
-5
0
0
58
81
-16
0
0
14
6
0
0
0
0
0
0
0
0
38
31
-6
0
0
30
-18
0
0
0
17
-6
0
0
0
-2
0
0
0
0
0
0
0
0
0
-29
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-71
-38
3
0
-20
29
-87
-5
0
36
-15
-55
0
0
31
-42
2
0
0
-1
0
0
0
0
-42
21
-38
-1
0
-65
68
-67
0
0
-37
14
-3
0
0
-27
-54
3
0
0
1
0
0
0
0
-15
1
-79
0
0
39
-34
-22
0
0
31
-15
-1
0
0
15
0
0
0
0
0
0
0
0
0
8
-5
2
0
0
-27
-6
0
0
0
60
-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
-27
-8
-14
0
0
-4
33
5
0
0
-10
19
-3
0
0
19
2
0
0
0
0
0
0
0
0
67
84
-27
0
0
83
31
5
0
0
12
1
-1
0
0
-24
0
0
0
0
0
0
0
0
0
-39
15
-6
0
0
16
3
-4
0
0
-11
6
0
0
0
-8
0
0
0
0
0
0
0
0
0
-7
-14
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
36
-4
-2
0
0
1
5
-2
0
0
57
0
0
0
0
2
0
0
0
0
0
0
0
0
0
12
43
-1
0
0
32
6
0
0
0
19
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
13
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
-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
-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
-16
53
-38
0
0
-90
-1
-13
0
0
18
-48
-5
0
0
47
1
0
0
0
0
0
0
0
0
-14
-27
-18
0
0
26
-15
-16
0
0
-63
-85
-1
0
0
-5
0
0
0
0
0
0
0
0
0
-64
-8
-5
0
0
-17
-14
-6
0
0
-22
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-2
1
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
27
0
33
0
0
16
10
-5
0
0
48
-9
0
0
0
2
0
0
0
0
0
0
0
0
0
-58
0
-8
0
0
-29
-20
-10
0
0
-30
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
35
-31
0
0
0
-36
-5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
26
0
0
0
10
6
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
27
0
0
0
46
-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
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
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
-41
-37
-13
14
0
20
6
82
8
0
-15
-39
5
0
0
-46
15
-1
0
0
0
0
0
0
0
7
-31
42
2
0
35
5
17
0
0
-10
-10
-17
0
0
44
34
0
0
0
4
0
0
0
0
-26
-3
-2
0
0
-11
-5
-5
0
0
-34
-15
-2
0
0
-116
3
0
0
0
0
0
0
0
0
-46
-62
0
0
0
-48
5
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
21
-23
29
0
0
-51
-18
8
0
0
-37
30
-29
0
0
61
10
0
0
0
0
0
0
0
0
2
44
51
0
0
-19
45
43
0
0
40
50
0
0
0
31
4
0
0
0
0
0
0
0
0
-28
114
7
0
0
-8
79
1
0
0
52
43
0
0
0
1
1
0
0
0
0
0
0
0
0
1
-30
0
0
0
-48
10
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
-51
33
0
0
-43
-75
0
0
0
67
-50
0
0
0
45
0
0
0
0
0
0
0
0
0
-63
5
-1
0
0
30
-10
2
0
0
-13
-37
0
0
0
10
0
0
0
0
0
0
0
0
0
14
4
0
0
0
1
5
0
0
0
15
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-25
-4
0
0
0
-21
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
-28
18
0
0
0
-32
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
24
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
-27
89
21
0
0
-11
-14
-5
0
0
54
61
-5
0
0
2
-1
0
0
0
0
0
0
0
0
76
32
-15
0
0
-66
-20
-44
0
0
-33
34
0
0
0
21
-3
0
0
0
0
0
0
0
0
8
-8
0
0
0
-4
-11
0
0
0
26
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
23
5
0
0
0
-10
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
6
31
8
0
0
1
20
0
0
0
24
6
0
0
0
-60
0
0
0
0
0
0
0
0
0
-24
-9
-2
0
0
61
33
0
0
0
-7
9
0
0
0
1
0
0
0
0
0
0
0
0
0
24
-8
0
0
0
38
-18
0
0
0
13
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
24
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
23
33
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
6
0
0
0
56
7
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
-25
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
-18
-1
0
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
14
0
0
0
0
55
0
0
0
0
4
0
0
0
0
0
0
0
0
0
51
2
0
0
0
37
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
-22
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
6
-22
-44
-40
-1
1
-5
31
15
-13
-17
-42
-13
0
-16
-44
-18
-12
0
-68
2
-11
0
0
-1
-5
-8
36
-14
-5
-10
-41
33
2
10
8
40
-45
-2
-2
-4
-22
36
0
-101
-46
-7
0
0
-18
-25
-62
11
0
-19
18
104
-58
0
-30
44
-24
23
0
-10
1
7
-1
0
-17
-16
0
0
0
-21
-40
-21
8
0
-60
-22
63
-1
0
-24
-79
18
0
0
91
3
-1
0
0
-1
0
0
0
0
-70
-65
-2
0
0
7
-59
3
0
0
73
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
4
5
-60
17
-16
13
-9
-14
39
1
-28
46
55
29
0
-66
39
39
1
0
22
44
1
0
0
-1
2
30
11
0
18
11
7
46
0
-1
15
-7
-40
0
-26
-17
-19
-1
0
29
-10
0
0
0
8
1
20
-8
0
4
11
-14
-92
0
6
0
-82
-23
0
-85
33
7
0
0
93
-1
0
0
0
-28
3
-28
-16
0
-20
-45
11
1
0
11
55
10
0
0
5
54
0
0
0
0
0
0
0
0
-59
99
0
0
0
2
20
0
0
0
23
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-40
-119
-43
0
-2
-15
11
33
0
8
16
35
5
0
5
-72
-32
0
0
142
1
0
0
0
-8
-3
24
78
0
-11
5
4
69
0
8
13
-12
0
0
3
7
0
0
0
6
-5
0
0
0
-31
18
11
11
0
16
-33
19
2
0
-42
-46
-7
0
0
64
38
-5
0
0
2
0
0
0
0
11
46
33
0
0
10
63
78
0
0
21
15
1
0
0
-3
-1
0
0
0
0
0
0
0
0
-76
-3
0
0
0
-48
-4
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-68
-18
0
0
33
24
-9
0
0
-5
-4
-3
0
0
-15
-30
-1
0
0
0
0
0
0
0
-43
-44
-52
0
0
-30
21
40
0
0
-10
-34
31
0
0
-40
-8
0
0
0
0
0
0
0
0
-1
12
9
0
0
4
-38
13
0
0
-81
-56
11
0
0
-16
-2
0
0
0
0
0
0
0
0
34
18
0
0
0
5
0
0
0
0
6
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-27
0
0
0
-66
-11
0
0
0
42
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
106
73
0
0
0
-13
48
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
16
0
0
0
-25
-13
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
2
1
14
-10
-15
-14
0
-7
2
-17
-16
0
45
18
15
-1
0
10
-31
0
0
0
17
2
-5
-53
0
13
33
-34
-5
0
-19
6
63
-16
0
21
-61
-14
0
0
38
-6
0
0
0
-14
35
-6
32
0
-27
-55
-62
29
0
23
-37
18
0
0
24
53
-5
0
0
9
0
0
0
0
-20
5
-84
0
0
-23
15
-49
0
0
42
-57
-5
0
0
-25
0
0
0
0
0
0
0
0
0
-32
-30
0
0
0
24
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
36
38
0
9
-24
42
9
0
-20
40
9
-5
0
-3
21
5
0
0
-71
-2
0
0
0
-3
-3
38
-1
0
-20
-34
9
14
0
-5
-46
15
4
0
8
17
-3
0
0
5
-1
0
0
0
-44
6
5
27
0
69
3
8
-1
0
36
10
15
0
0
-10
34
-2
0
0
0
0
0
0
0
-46
-81
-105
0
0
-51
-72
-9
0
0
45
-12
0
0
0
-11
1
0
0
0
0
0
0
0
0
-6
8
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-32
6
-4
0
22
-18
-55
-4
0
-70
8
8
0
0
12
-43
-7
0
0
0
0
0
0
0
26
31
12
-5
0
-4
67
-22
-2
0
-54
-33
-46
0
0
-3
-18
-5
0
0
0
0
0
0
0
6
-3
11
0
0
6
-40
19
0
0
25
54
-5
0
0
33
2
0
0
0
0
0
0
0
0
-118
-28
0
0
0
25
13
0
0
0
25
-5
0
0
0
2
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
-16
-35
-9
0
0
-33
-43
-30
0
0
51
-7
-7
0
0
1
0
0
0
0
0
0
0
0
0
80
42
-33
0
0
-75
-4
-14
0
0
-5
-14
-6
0
0
-9
0
0
0
0
0
0
0
0
0
-33
33
-1
0
0
-16
5
0
0
0
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
36
0
0
0
-55
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
13
0
0
0
-24
9
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-28
2
35
-5
0
-24
-3
3
0
0
13
12
3
0
0
1
0
0
0
0
-30
-64
-13
-1
0
-1
28
13
0
0
30
-86
-13
0
0
-38
-20
0
0
0
0
0
0
0
0
-118
74
6
0
0
-27
-5
2
0
0
59
-36
0
0
0
-11
0
0
0
0
0
0
0
0
0
47
2
0
0
0
45
-11
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
62
-62
85
0
0
31
-35
-4
0
0
-12
-17
-16
0
0
-16
-14
0
0
0
0
0
0
0
0
-44
11
29
0
0
6
-15
-28
0
0
-19
-50
-6
0
0
-8
0
0
0
0
0
0
0
0
0
14
-15
7
0
0
31
-2
2
0
0
44
-8
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
-6
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
-25
9
-17
0
0
-47
-17
-20
0
0
-19
-46
0
0
0
-16
0
0
0
0
0
0
0
0
0
79
136
-1
0
0
-3
47
1
0
0
-35
-13
0
0
0
-1
0
0
0
0
0
0
0
0
0
21
61
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
-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
-31
-5
0
0
0
-32
-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
-13
21
12
38
-2
-4
-2
61
14
0
12
-29
13
33
0
-71
50
-16
-3
0
5
7
-17
0
0
-6
-16
-3
54
-6
7
-5
23
14
0
11
-5
26
33
0
56
-18
-32
1
0
-29
-3
0
0
0
-3
19
23
9
0
8
15
-5
23
0
-36
77
-5
22
0
3
-2
-16
0
0
-25
-1
0
0
0
-57
-23
15
3
0
80
-110
-28
0
0
-50
-14
-14
0
0
31
26
0
0
0
0
0
0
0
0
-33
-3
-2
0
0
-32
-9
0
0
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-18
-9
16
0
17
-10
-19
6
0
29
-1
-1
6
0
-9
-45
-34
0
0
-20
10
0
0
0
6
-16
-29
-43
0
3
3
-46
12
0
-7
-3
-12
-3
0
47
-5
-19
0
0
-4
7
0
0
0
-10
40
43
14
0
-26
-58
-39
5
0
-5
-64
-53
0
0
-25
19
0
0
0
1
0
0
0
0
9
96
30
0
0
-16
-17
-32
0
0
88
85
0
0
0
-15
-3
0
0
0
0
0
0
0
0
-32
17
0
0
0
4
4
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
-16
-30
0
-34
41
-12
-18
0
13
-10
-9
0
0
33
-119
-1
0
0
1
0
0
0
0
-27
-29
89
-5
0
30
13
11
-4
0
-56
-10
-67
0
0
-9
-75
0
0
0
1
0
0
0
0
-4
-44
35
1
0
24
-45
48
0
0
28
17
-2
0
0
-10
-3
0
0
0
0
0
0
0
0
3
-58
5
0
0
-1
-10
3
0
0
-13
27
0
0
0
3
0
0
0
0
0
0
0
0
0
-17
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
60
33
0
0
4
74
61
0
0
-49
83
4
0
0
13
-1
0
0
0
0
0
0
0
0
81
-2
-23
0
0
5
2
34
0
0
-36
4
0
0
0
14
-1
0
0
0
0
0
0
0
0
42
-13
0
0
0
-29
-24
0
0
0
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
29
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
-16
-47
0
0
0
-3
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-5
0
0
0
16
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
52
0
32
-45
-22
8
0
-47
-5
-47
2
0
-76
74
27
0
0
-8
0
0
0
0
10
-9
55
12
0
-27
-22
-49
-1
0
-33
6
76
1
0
5
-57
18
0
0
5
0
0
0
0
-42
-4
-24
0
0
5
14
-44
0
0
33
53
-23
0
0
-21
1
0
0
0
0
0
0
0
0
6
2
-29
0
0
-7
-75
-5
0
0
-3
-17
0
0
0
-2
0
0
0
0
0
0
0
0
0
-22
4
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
52
13
0
-38
-6
-66
-2
0
-17
-14
-5
0
0
-24
-24
4
0
0
-4
0
0
0
0
3
-19
-14
-8
0
-27
13
-95
0
0
-17
-1
19
0
0
-48
-52
3
0
0
1
0
0
0
0
-44
-2
-119
0
0
-15
-26
-72
0
0
80
6
-1
0
0
7
0
0
0
0
0
0
0
0
0
16
-14
2
0
0
-19
-33
0
0
0
78
-6
0
0
0
-1
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
-16
27
10
0
0
25
111
33
0
0
7
65
-2
0
0
0
17
0
0
0
0
0
0
0
0
-25
6
13
0
0
26
14
21
0
0
-28
-11
-1
0
0
-42
4
0
0
0
0
0
0
0
0
-2
1
-8
0
0
5
-21
-4
0
0
-20
5
0
0
0
-7
0
0
0
0
0
0
0
0
0
13
-17
0
0
0
24
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
-14
24
-2
0
0
-20
3
-2
0
0
55
2
0
0
0
2
0
0
0
0
0
0
0
0
0
-19
56
-1
0
0
-5
10
0
0
0
6
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-21
1
0
0
0
11
0
0
0
0
14
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
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
-50
29
-31
0
0
-52
-11
-9
0
0
25
-60
-5
0
0
47
1
0
0
0
0
0
0
0
0
14
-7
-10
0
0
35
3
-14
0
0
-56
-76
-1
0
0
-5
0
0
0
0
0
0
0
0
0
-82
-13
-5
0
0
-17
13
-6
0
0
-60
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
4
1
0
0
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
-30
29
51
0
0
23
14
-7
0
0
29
-13
0
0
0
2
0
0
0
0
0
0
0
0
0
-62
-9
-8
0
0
-49
-31
-10
0
0
-59
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
-30
-36
0
0
0
-52
-6
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
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
24
47
0
0
0
9
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
36
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-81
19
-100
-25
0
-20
20
-33
0
0
23
24
6
0
0
-68
33
-1
0
0
1
0
0
0
0
-16
78
44
4
0
-17
-59
-10
0
0
-6
-77
-28
0
0
42
44
0
0
0
4
0
0
0
0
-10
-45
-49
0
0
-68
-9
-10
0
0
-62
-32
-2
0
0
-52
3
0
0
0
0
0
0
0
0
-51
-50
-2
0
0
40
16
0
0
0
-22
5
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
5
3
4
5
0
20
-39
-22
0
0
-10
6
-28
0
0
25
5
0
0
0
0
0
0
0
0
-64
42
39
0
0
-18
-30
16
0
0
9
1
0
0
0
42
14
0
0
0
0
0
0
0
0
-47
72
-26
0
0
32
53
1
0
0
-8
18
0
0
0
17
1
0
0
0
0
0
0
0
0
-24
-27
0
0
0
-6
7
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
0
0
0
0
0
0
-18
51
43
0
0
27
-73
-3
0
0
87
-53
0
0
0
43
0
0
0
0
0
0
0
0
0
3
33
5
0
0
33
-45
2
0
0
-19
-63
0
0
0
16
0
0
0
0
0
0
0
0
0
33
-32
0
0
0
-9
-56
0
0
0
24
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-22
-4
0
0
0
-13
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
-51
21
0
0
0
-70
-8
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
11
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-5
0
0
27
-11
-35
0
0
32
47
-5
0
0
-59
-3
0
0
0
0
0
0
0
0
0
52
-22
0
0
-9
-18
-44
0
0
-15
18
0
0
0
-5
-3
0
0
0
0
0
0
0
0
15
-32
-1
0
0
24
-30
0
0
0
32
-4
0
0
0
-7
0
0
0
0
0
0
0
0
0
25
3
0
0
0
-25
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
-15
82
-13
0
0
8
-1
-2
0
0
25
-7
0
0
0
-89
0
0
0
0
0
0
0
0
0
-14
-15
-16
0
0
55
1
0
0
0
-9
-2
0
0
0
-19
0
0
0
0
0
0
0
0
0
46
-27
0
0
0
53
-18
0
0
0
7
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
12
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
7
15
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-5
0
0
0
36
-4
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
-5
-1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
-26
-2
0
0
0
62
0
0
0
0
4
0
0
0
0
0
0
0
0
0
35
-4
0
0
0
36
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-9
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-57
0
-12
-8
-63
-4
1
-49
-13
13
18
0
-32
-70
-5
-3
0
-28
-5
0
0
0
-1
-37
11
-15
-1
-2
-17
-38
10
0
-10
-44
11
4
0
-45
-24
-7
-2
0
-21
-17
0
0
0
-48
-21
-11
-54
0
-5
4
-28
-33
0
-46
-4
-4
1
0
-3
-14
-19
0
0
2
-6
0
0
0
-55
49
-10
-1
0
-46
1
-1
0
0
-2
-28
-10
0
0
-23
14
0
0
0
0
0
0
0
0
-130
-71
0
0
0
-43
-47
0
0
0
-9
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
38
-13
-55
-96
0
-21
-22
-65
-30
0
-48
-1
33
4
0
-3
30
-5
0
0
-5
-4
0
0
0
-9
-5
-1
-40
0
-19
0
15
-18
0
11
-18
18
-2
0
43
5
-11
0
0
16
-1
0
0
0
-24
-32
-11
-27
0
-20
-33
-9
-5
0
-11
-28
-15
1
0
-45
-20
-3
0
0
8
0
0
0
0
-17
46
1
-1
0
32
-17
-9
0
0
-5
-17
-6
0
0
-35
3
0
0
0
0
0
0
0
0
-80
-23
0
0
0
-11
-21
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
5
-7
0
-69
12
40
9
0
-4
-40
31
4
0
-99
-15
-5
0
0
21
2
0
0
0
17
43
14
8
0
-62
14
16
14
0
5
-64
-8
1
0
-62
-10
-3
0
0
11
0
0
0
0
-26
68
20
-3
0
18
27
1
-2
0
60
4
-3
0
0
-21
10
-1
0
0
0
0
0
0
0
-24
54
9
0
0
17
36
7
0
0
2
-14
0
0
0
-3
1
0
0
0
0
0
0
0
0
-25
-6
0
0
0
1
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-39
22
0
0
-5
18
37
0
0
37
-48
-8
0
0
42
-13
0
0
0
0
0
0
0
0
8
-18
-8
0
0
15
-10
19
0
0
1
-59
2
0
0
-5
-6
0
0
0
0
0
0
0
0
-17
-56
6
0
0
15
-49
7
0
0
31
-45
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
0
0
0
11
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
-5
42
0
0
0
6
15
0
0
0
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
33
0
0
0
22
18
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
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
-89
-24
-16
-62
0
0
17
41
-4
0
30
13
-6
7
0
45
-32
20
0
0
-22
-4
0
0
0
-35
-95
-5
-44
0
31
16
19
-16
0
27
34
16
1
0
14
-38
11
0
0
1
-3
0
0
0
-8
-79
15
-14
0
12
-20
21
-2
0
18
19
-16
0
0
-2
7
-3
0
0
-2
0
0
0
0
-43
-5
-9
0
0
-6
16
0
0
0
-33
-45
-3
0
0
-5
2
0
0
0
0
0
0
0
0
-42
-13
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-5
-44
0
-7
16
-20
-11
0
-31
19
20
-1
0
-23
-6
8
0
0
-7
-2
0
0
0
-14
-19
7
-33
0
16
28
0
-20
0
30
28
4
-2
0
28
-1
2
0
0
1
-2
0
0
0
-11
-50
1
-4
0
17
-9
-5
0
0
22
22
-10
0
0
12
5
-1
0
0
0
0
0
0
0
-54
-2
-6
0
0
12
31
-3
0
0
12
-26
0
0
0
4
2
0
0
0
0
0
0
0
0
-14
-1
0
0
0
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-70
-6
-13
0
-6
4
9
-3
0
-14
2
-4
0
0
-32
-2
-1
0
0
0
0
0
0
0
-31
-29
3
-4
0
-21
-5
5
0
0
-1
-16
-17
0
0
-26
1
-1
0
0
0
0
0
0
0
48
24
7
0
0
-23
8
1
0
0
31
19
-2
0
0
10
3
0
0
0
0
0
0
0
0
-17
32
0
0
0
26
36
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
11
-16
-5
0
0
-4
-7
9
0
0
-27
-18
-5
0
0
-3
0
0
0
0
0
0
0
0
0
58
-6
-13
0
0
2
-1
-4
0
0
-27
-21
-4
0
0
-2
0
0
0
0
0
0
0
0
0
23
13
0
0
0
2
5
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
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
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
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-53
1
9
-2
0
9
41
13
0
0
-16
10
-2
0
0
-3
-1
0
0
0
0
0
0
0
0
-106
6
11
0
0
-27
62
11
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
4
0
0
31
7
1
0
0
29
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
15
-11
0
0
0
24
-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
3
-17
3
0
0
-49
-33
3
0
0
-22
-9
-2
0
0
-3
0
0
0
0
0
0
0
0
0
21
19
8
0
0
-10
13
0
0
0
-6
-11
0
0
0
-3
0
0
0
0
0
0
0
0
0
21
1
2
0
0
23
-5
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
-14
1
0
0
-13
-22
1
0
0
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
7
1
0
0
-40
14
2
0
0
-41
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
13
0
0
0
-16
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
2
-2
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
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
-45
-14
5
-8
2
-2
15
27
16
0
-31
14
-14
9
0
-26
-37
-5
0
0
-5
-5
0
0
0
-2
-17
-43
20
0
52
30
-20
18
0
-6
23
13
4
0
33
-3
13
0
0
-6
-4
0
0
0
-39
61
-16
7
0
4
1
-31
7
0
-45
-21
-1
5
0
-21
-17
-3
0
0
-2
0
0
0
0
-43
-14
19
0
0
-36
25
15
0
0
-10
-9
0
0
0
-29
-1
0
0
0
0
0
0
0
0
-33
-23
0
0
0
-2
-6
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-60
-36
0
7
2
-29
-16
0
10
-15
-7
-1
0
-1
-48
-16
0
0
-13
-4
0
0
0
30
36
-27
-17
0
15
1
3
-5
0
1
9
1
0
0
30
-20
1
0
0
0
-2
0
0
0
-5
-9
-22
3
0
-14
-51
-9
1
0
-63
-52
-7
0
0
2
-10
0
0
0
0
0
0
0
0
25
10
15
0
0
-8
30
1
0
0
18
4
-1
0
0
-30
-2
0
0
0
0
0
0
0
0
-8
-5
0
0
0
6
-2
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-44
55
-1
0
-12
66
45
2
0
-17
-7
9
0
0
4
0
0
0
0
0
0
0
0
0
38
-38
5
1
0
-18
35
8
1
0
-25
-6
-25
0
0
16
1
0
0
0
0
0
0
0
0
-108
-34
15
0
0
-14
-8
5
0
0
-11
-16
-2
0
0
-9
-2
0
0
0
0
0
0
0
0
-87
-32
1
0
0
-38
2
0
0
0
-5
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-8
14
0
0
-53
-5
20
0
0
-11
-4
0
0
0
17
-2
0
0
0
0
0
0
0
0
52
28
-6
0
0
23
20
2
0
0
-22
-14
0
0
0
5
-2
0
0
0
0
0
0
0
0
52
-4
0
0
0
-4
-10
0
0
0
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
-18
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
17
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
11
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
-10
31
-3
-16
0
28
6
18
10
0
-40
59
8
-1
0
-10
-5
4
0
0
-3
0
0
0
0
33
20
-5
-7
0
41
33
-4
2
0
-24
100
47
0
0
7
-1
4
0
0
0
-1
0
0
0
-43
3
-17
0
0
-7
33
-11
0
0
6
25
-3
0
0
5
-1
0
0
0
0
0
0
0
0
-28
-16
-2
0
0
-21
-1
0
0
0
-43
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
-11
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
10
-11
0
2
17
42
-1
0
18
36
36
0
0
-2
-30
3
0
0
-2
0
0
0
0
31
32
14
-2
0
16
17
4
0
0
7
36
31
0
0
14
-23
5
0
0
0
0
0
0
0
9
45
-18
0
0
18
27
-7
0
0
21
13
0
0
0
5
0
0
0
0
0
0
0
0
0
-9
-20
0
0
0
1
-2
0
0
0
5
-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
8
-28
1
0
0
37
-3
2
0
0
19
8
0
0
0
13
2
0
0
0
0
0
0
0
0
-7
-53
-4
0
0
1
-36
-4
0
0
-13
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
19
-5
-2
0
0
-3
-2
-1
0
0
5
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
7
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-4
0
0
0
7
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
21
14
0
0
0
14
6
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
33
0
0
0
0
6
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
-13
0
0
0
0
0
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
-43
-28
-6
0
0
-33
-23
-1
0
0
-25
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
2
-8
-5
0
0
16
-5
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
26
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
-7
-1
0
0
0
16
-13
-1
0
0
6
2
0
0
0
1
0
0
0
0
0
0
0
0
0
8
-4
0
0
0
14
-6
-2
0
0
9
0
0
0
0
1
0
0
0
0
0
0
0
0
0
36
-2
0
0
0
32
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
3
-4
0
0
0
-2
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
-110
-14
-75
0
0
2
-35
-19
0
0
14
-28
2
0
0
9
-17
0
0
0
2
0
0
0
0
-65
-8
-50
0
0
-26
3
-7
0
0
15
10
-1
0
0
3
-4
0
0
0
0
0
0
0
0
40
-23
-29
0
0
-2
-13
-1
0
0
-22
-4
0
0
0
8
0
0
0
0
0
0
0
0
0
-25
-29
0
0
0
-5
-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
-108
-19
-49
0
0
-4
-43
-11
0
0
32
-31
-5
0
0
9
-3
0
0
0
0
0
0
0
0
-82
-25
-20
0
0
14
-30
6
0
0
12
-3
-1
0
0
8
1
0
0
0
0
0
0
0
0
23
-17
-7
0
0
-6
-24
0
0
0
-13
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
-23
-33
0
0
0
-23
-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
-10
38
-7
0
0
31
6
0
0
0
43
-27
0
0
0
-4
0
0
0
0
0
0
0
0
0
-23
10
1
0
0
-23
2
0
0
0
-15
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
0
0
-37
-3
0
0
0
-11
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-25
-6
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
-3
-10
0
0
0
-4
7
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
0
0
0
15
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
-59
-32
-6
0
0
3
-7
0
0
0
-33
-22
-1
0
0
-33
-2
0
0
0
0
0
0
0
0
35
-13
-4
0
0
-7
-13
1
0
0
-14
7
0
0
0
-7
0
0
0
0
0
0
0
0
0
3
-11
0
0
0
8
-1
0
0
0
4
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
31
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
22
11
2
0
0
-23
-5
0
0
0
-5
-14
0
0
0
-6
0
0
0
0
0
0
0
0
0
33
-14
-2
0
0
-6
-20
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
13
2
0
0
0
2
-2
0
0
0
4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
31
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
45
33
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
11
0
0
0
-1
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-21
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
10
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
2
0
0
0
7
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
17
39
35
13
0
-1
23
26
-5
0
38
-74
5
7
0
47
75
8
0
0
-9
-2
0
0
0
35
-124
14
-33
0
-14
72
22
-14
0
91
52
-15
-4
0
-20
19
17
0
0
-6
0
0
0
0
17
16
-3
1
0
-57
11
-3
-1
0
-27
6
4
0
0
-2
6
0
0
0
0
0
0
0
0
-1
33
-3
0
0
-24
17
-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
-42
-18
12
-5
0
68
-9
-9
8
0
-19
42
-16
0
0
20
-2
1
0
0
-2
0
0
0
0
102
26
-2
-11
0
-8
24
21
0
0
14
34
-9
0
0
10
6
0
0
0
0
0
0
0
0
3
-13
-1
0
0
-23
-16
-3
0
0
-11
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
-1
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
110
-34
-2
1
0
74
21
-4
0
0
-2
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
-19
-6
-7
0
0
-9
5
-2
0
0
-20
-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
27
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
68
42
24
5
0
-40
-48
22
3
0
51
-14
-15
0
0
-2
-14
0
0
0
0
0
0
0
0
-1
47
31
1
0
63
21
17
0
0
1
6
-2
0
0
4
0
0
0
0
0
0
0
0
0
15
-17
0
0
0
41
-10
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
-10
-48
-4
0
0
63
16
9
0
0
8
3
-1
0
0
4
0
0
0
0
0
0
0
0
0
6
8
5
0
0
21
5
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
45
25
0
0
0
36
11
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
8
0
0
0
10
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
33
3
0
0
7
11
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
23
0
0
0
10
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
128
-54
14
-3
0
-96
70
6
-10
0
22
-23
20
0
0
28
-2
2
0
0
-2
0
0
0
0
-67
-5
25
1
0
14
-10
24
-1
0
58
4
2
0
0
10
-1
0
0
0
-1
0
0
0
0
-12
-18
-3
0
0
35
21
4
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
27
8
0
0
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
83
-27
52
-1
0
-45
72
41
-1
0
2
-5
1
0
0
18
0
0
0
0
0
0
0
0
0
55
1
6
0
0
17
-5
3
0
0
-4
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
17
-13
0
0
0
21
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
-26
-32
-5
0
0
-1
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
100
31
0
0
-47
47
26
0
0
46
18
0
0
0
-1
0
0
0
0
0
0
0
0
0
49
-8
4
0
0
21
-4
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-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
-9
5
0
0
0
-18
10
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
-23
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
45
-27
10
0
0
-7
-27
1
0
0
33
14
0
0
0
2
0
0
0
0
0
0
0
0
0
16
16
2
0
0
29
2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
20
9
0
0
0
-9
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-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
35
8
0
0
0
9
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
-13
18
29
-68
8
-1
-3
-38
-4
2
0
1
17
-2
0
-72
43
88
0
0
28
28
1
0
0
54
22
-33
-73
-1
23
-4
46
-42
0
7
-41
-11
-51
0
-98
-22
84
-1
0
-3
4
0
0
0
51
3
-61
1
0
1
-63
1
15
0
-6
-35
-34
-5
0
-16
44
5
0
0
17
0
0
0
0
80
4
-24
-7
0
-41
-56
5
-3
0
17
35
0
0
0
-15
14
0
0
0
0
0
0
0
0
-2
-62
0
0
0
-10
-32
0
0
0
-46
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
77
-7
-21
-12
0
15
-45
32
-9
1
14
14
-67
14
0
-29
-13
11
0
0
23
1
0
0
0
50
-34
-63
25
0
-46
27
58
6
0
15
5
-26
-18
0
88
-16
6
0
0
41
3
0
0
0
8
-26
-24
-45
0
-12
38
-59
-6
0
42
33
-36
0
0
-4
25
-1
0
0
6
0
0
0
0
0
5
-10
-2
0
16
-26
-1
0
0
6
35
0
0
0
-23
0
0
0
0
0
0
0
0
0
-4
-37
0
0
0
6
-13
0
0
0
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-34
-10
-16
0
-27
11
6
6
0
10
51
2
0
0
-72
46
-2
0
0
18
0
0
0
0
27
5
-71
33
0
10
5
-49
9
0
-44
25
-4
0
0
24
-18
-3
0
0
2
0
0
0
0
-59
-82
-50
0
0
-34
14
-17
0
0
-33
-4
5
0
0
-27
4
0
0
0
0
0
0
0
0
-24
-65
-7
0
0
-16
-57
-2
0
0
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
-33
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-42
43
0
0
1
-3
53
0
0
-51
-33
-5
0
0
30
-5
0
0
0
0
0
0
0
0
-44
-42
-10
0
0
13
-33
7
0
0
4
3
-5
0
0
11
-5
0
0
0
0
0
0
0
0
-50
-3
-9
0
0
-35
-2
-10
0
0
-30
-5
0
0
0
-8
0
0
0
0
0
0
0
0
0
-9
10
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
-53
-1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-1
0
0
0
-34
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
-23
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
125
31
58
89
0
-7
-58
5
27
0
28
26
-10
2
0
5
-32
50
0
0
16
-3
0
0
0
83
42
40
15
0
-54
-51
26
4
0
-42
18
49
1
0
14
46
24
0
0
-6
-2
0
0
0
18
0
11
-1
0
-1
32
26
0
0
-130
40
13
0
0
24
20
0
0
0
-3
0
0
0
0
10
69
14
0
0
31
62
17
0
0
-6
-7
0
0
0
6
0
0
0
0
0
0
0
0
0
8
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-26
14
54
0
-3
10
52
26
0
-41
-4
32
1
0
-3
-30
-5
0
0
-2
-1
0
0
0
-32
28
89
6
0
-68
44
38
1
0
0
45
53
0
0
26
-2
-5
0
0
-2
0
0
0
0
1
42
9
0
0
-35
64
0
0
0
-36
7
-1
0
0
49
0
0
0
0
0
0
0
0
0
-6
43
7
0
0
11
1
1
0
0
4
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
31
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
99
4
3
0
-119
4
-37
0
0
-4
2
-15
0
0
4
-11
0
0
0
0
0
0
0
0
33
-25
36
0
0
8
9
-19
0
0
37
-9
-11
0
0
32
-1
0
0
0
0
0
0
0
0
-10
-11
2
0
0
-1
3
1
0
0
15
-11
0
0
0
0
-1
0
0
0
0
0
0
0
0
9
19
3
0
0
23
-2
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
0
0
0
0
0
0
0
0
0
-38
-13
2
0
0
7
2
3
0
0
-29
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-14
-16
-3
0
0
5
-1
-3
0
0
-8
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
-16
-24
0
0
0
-18
-6
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
-11
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-26
0
0
0
0
-2
0
0
0
0
0
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
-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
-34
15
49
0
0
127
24
43
0
0
-8
-9
-1
0
0
14
2
0
0
0
0
0
0
0
0
34
45
33
0
0
-22
36
11
0
0
-19
14
1
0
0
0
0
0
0
0
0
0
0
0
0
15
-14
1
0
0
-44
24
0
0
0
17
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-36
7
0
0
9
-18
2
0
0
-39
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
17
-14
2
0
0
39
14
0
0
0
-43
0
0
0
0
1
0
0
0
0
0
0
0
0
0
20
0
0
0
0
-32
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
-2
-27
0
0
0
11
-11
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
0
-11
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
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
74
48
1
-52
4
3
-45
-32
-15
0
-4
-29
33
-43
0
29
-42
-20
-1
0
1
5
0
0
0
15
-13
17
14
0
-62
5
33
5
0
50
-62
8
-10
0
-64
-44
-10
0
0
-25
-3
0
0
0
-39
104
-20
5
0
-4
77
-11
2
0
38
-56
0
0
0
3
14
-1
0
0
3
0
0
0
0
9
2
9
0
0
87
-5
8
0
0
-52
1
3
0
0
17
-2
0
0
0
0
0
0
0
0
20
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-14
62
-41
0
-31
58
125
-23
0
0
18
58
0
0
18
-52
-6
0
0
9
-1
0
0
0
-63
2
28
0
0
49
55
17
-2
0
-18
25
38
0
0
-39
-81
1
0
0
-3
-2
0
0
0
4
-53
2
0
0
48
34
-36
0
0
109
-8
2
0
0
5
-7
0
0
0
0
0
0
0
0
-24
4
1
0
0
7
15
0
0
0
1
35
0
0
0
4
-2
0
0
0
0
0
0
0
0
36
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
-9
-15
-1
0
13
-77
-14
-1
0
53
-49
-9
0
0
23
2
0
0
0
0
0
0
0
0
-2
57
18
0
0
33
-46
-9
0
0
21
-3
-3
0
0
21
-2
0
0
0
0
0
0
0
0
51
45
19
0
0
67
25
-1
0
0
0
-7
0
0
0
-10
0
0
0
0
0
0
0
0
0
-21
-11
0
0
0
1
-10
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
33
7
6
0
0
47
5
3
0
0
16
3
0
0
0
14
0
0
0
0
0
0
0
0
0
-11
8
-2
0
0
0
-8
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
0
0
0
9
0
0
0
0
-10
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
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
16
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
77
49
5
8
0
-52
-9
62
8
0
33
-23
4
0
0
-6
-53
1
0
0
-5
0
0
0
0
-70
-4
-6
0
0
-13
38
13
0
0
28
45
14
0
0
53
-8
0
0
0
-4
0
0
0
0
-32
-50
-23
0
0
23
-66
-7
0
0
-10
21
0
0
0
-10
0
0
0
0
0
0
0
0
0
-34
-21
2
0
0
-16
-15
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
-21
-5
-70
-2
0
-50
-3
-26
0
0
-47
-66
18
0
0
8
-39
0
0
0
-3
0
0
0
0
52
-22
-34
0
0
-21
55
-46
0
0
-1
-3
0
0
0
1
-11
0
0
0
-4
0
0
0
0
-33
20
-7
0
0
-43
15
-4
0
0
-16
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
-15
-13
0
0
0
-26
-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
-25
0
0
-20
-7
-9
0
0
7
8
0
0
0
14
0
0
0
0
0
0
0
0
0
62
-30
-10
0
0
73
-31
-3
0
0
-3
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
31
7
2
0
0
-14
-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
16
-2
0
0
0
-6
-3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-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
-19
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
8
46
1
0
0
53
14
0
0
0
-29
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
71
18
1
0
0
1
15
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
23
0
0
0
45
13
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
0
0
0
29
5
0
0
0
13
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
18
101
-8
0
-62
-39
53
0
0
52
49
-23
0
0
53
-26
0
0
0
0
0
0
0
0
10
-80
80
0
0
13
-18
60
0
0
1
0
-2
0
0
77
0
0
0
0
0
0
0
0
0
4
-51
-47
0
0
-1
-18
0
0
0
-32
-24
0
0
0
3
0
0
0
0
0
0
0
0
0
15
4
0
0
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
43
37
63
0
0
-47
43
-17
0
0
41
14
0
0
0
33
-1
0
0
0
0
0
0
0
0
16
-24
25
0
0
41
23
-7
0
0
-25
1
0
0
0
33
0
0
0
0
0
0
0
0
0
-4
23
-1
0
0
19
33
0
0
0
-16
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
-35
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
53
-14
5
0
0
9
-14
0
0
0
53
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
-47
-14
0
0
0
-61
-8
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
30
0
0
0
0
-1
-3
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
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
40
12
-5
0
0
-37
-19
0
0
0
-33
-31
0
0
0
1
-3
0
0
0
0
0
0
0
0
19
9
1
0
0
-50
14
2
0
0
-23
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-20
-21
0
0
0
-48
-8
0
0
0
-13
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
20
-5
-1
0
0
-2
-4
0
0
0
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-27
0
0
0
-10
5
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
0
0
0
-18
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
26
0
0
0
-5
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
54
-7
20
2
-11
-33
22
2
-3
-13
-29
4
0
-21
39
93
3
0
-12
-7
1
0
0
49
18
22
-23
-1
6
-18
0
-12
0
2
-18
-20
-54
0
5
-10
42
-1
0
-44
-13
0
0
0
14
-10
10
-46
0
7
-25
11
-34
0
2
-1
-86
-5
0
9
29
-14
0
0
14
0
0
0
0
-41
28
1
-7
0
-37
8
29
-3
0
3
14
-4
0
0
37
26
0
0
0
0
0
0
0
0
-26
-99
0
0
0
19
-45
0
0
0
-42
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
75
6
-28
-13
0
18
-32
2
23
1
-3
-44
3
59
0
21
4
-36
0
0
19
-1
0
0
0
25
-22
-21
11
0
-12
-6
24
27
0
7
-39
23
-3
0
52
-3
-8
0
0
22
3
0
0
0
3
-17
45
-109
0
-3
-28
-67
-16
0
40
-3
-41
0
0
-61
70
-1
0
0
7
0
0
0
0
10
22
13
-2
0
-11
-42
13
0
0
-24
12
0
0
0
5
0
0
0
0
0
0
0
0
0
-8
-12
0
0
0
1
-2
0
0
0
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-50
2
-1
0
-26
34
71
32
0
-3
28
12
0
0
18
38
-3
0
0
20
0
0
0
0
-10
-8
13
34
0
-43
-36
-26
11
0
2
53
-33
0
0
37
-53
-3
0
0
2
0
0
0
0
7
56
-26
0
0
-19
0
-34
0
0
15
53
1
0
0
-73
0
0
0
0
0
0
0
0
0
-33
50
-5
0
0
-49
-51
-3
0
0
-31
-14
0
0
0
-2
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
-17
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
1
-5
0
0
-19
70
53
0
0
-48
-71
-9
0
0
90
-9
0
0
0
0
0
0
0
0
-20
3
-11
0
0
-19
32
21
0
0
33
14
-5
0
0
34
-5
0
0
0
0
0
0
0
0
-13
16
-11
0
0
-8
14
-10
0
0
29
-5
0
0
0
-5
0
0
0
0
0
0
0
0
0
-20
22
0
0
0
0
-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
-76
55
0
0
0
-128
14
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
33
0
0
0
-65
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
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
65
-35
24
65
0
1
30
-24
23
0
-6
10
42
6
0
71
9
54
0
0
20
-3
0
0
0
36
-3
11
30
0
-30
-4
-20
4
0
-38
43
117
1
0
-13
86
17
0
0
-4
-2
0
0
0
-22
-10
28
0
0
23
-1
27
0
0
-88
8
14
0
0
-17
21
0
0
0
-3
0
0
0
0
29
60
13
0
0
107
72
18
0
0
10
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
24
1
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
5
-6
59
0
-41
24
75
31
0
-16
-6
72
1
0
15
-37
-7
0
0
-3
-1
0
0
0
-70
1
35
5
0
3
49
-12
-2
0
29
23
39
0
0
9
18
-5
0
0
-2
0
0
0
0
3
-14
23
0
0
4
17
5
0
0
59
-47
-1
0
0
24
-3
0
0
0
0
0
0
0
0
61
18
7
0
0
66
-6
1
0
0
33
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
52
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
80
-2
4
0
-45
-21
-55
0
0
49
3
-23
0
0
3
-14
0
0
0
0
0
0
0
0
6
-55
29
0
0
18
-16
-32
0
0
8
-19
-13
0
0
6
-2
0
0
0
0
0
0
0
0
3
-24
-3
0
0
23
-21
1
0
0
50
-8
0
0
0
-5
-1
0
0
0
0
0
0
0
0
32
19
3
0
0
40
-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
-62
-14
-5
0
0
1
-8
2
0
0
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
-4
0
0
-4
-16
-3
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
-29
-34
0
0
0
-23
-15
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
-73
2
0
0
0
-55
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
-15
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
-19
-20
45
0
0
43
3
34
0
0
31
-32
-2
0
0
15
2
0
0
0
0
0
0
0
0
56
94
22
0
0
-5
57
11
0
0
26
13
1
0
0
-2
0
0
0
0
0
0
0
0
0
21
23
1
0
0
-55
44
0
0
0
17
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
54
0
0
0
0
18
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
6
0
0
-52
-28
1
0
0
24
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
24
54
2
0
0
52
18
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
16
-1
0
0
0
-34
2
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
-50
-15
0
0
0
-32
-22
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
13
0
0
0
-42
4
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-55
2
4
37
-24
19
-9
0
-3
12
-6
-24
0
15
-43
-14
-1
0
4
5
0
0
0
31
-44
-16
23
0
-46
-13
36
12
0
16
-55
-51
-10
0
-23
4
-8
0
0
-33
-3
0
0
0
-30
-8
-38
-5
0
20
11
-24
1
0
-47
-71
-9
0
0
14
29
-1
0
0
3
0
0
0
0
-37
-23
14
0
0
73
-47
11
0
0
-133
1
3
0
0
16
-2
0
0
0
0
0
0
0
0
6
3
0
0
0
-10
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-11
-5
-67
0
-36
14
43
-27
0
-20
33
43
1
0
0
-65
-4
0
0
0
-1
0
0
0
-41
3
18
-5
0
1
58
6
-7
0
-14
40
52
0
0
-50
-64
1
0
0
-4
-2
0
0
0
9
-37
6
0
0
14
38
-34
0
0
8
-63
3
0
0
12
0
0
0
0
0
0
0
0
0
35
24
5
0
0
23
15
0
0
0
-37
41
0
0
0
4
-2
0
0
0
0
0
0
0
0
26
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
18
-24
-3
0
8
-29
4
-1
0
39
-65
-13
0
0
2
-8
0
0
0
0
0
0
0
0
7
40
4
0
0
29
-58
-6
0
0
1
-6
-5
0
0
-4
-2
0
0
0
0
0
0
0
0
-11
18
13
0
0
3
1
-2
0
0
-6
-22
0
0
0
-19
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-4
0
0
0
-10
-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
-21
36
5
0
0
34
52
4
0
0
-2
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
12
14
0
0
0
5
8
0
0
0
-21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-9
0
0
0
-24
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
36
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
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
55
10
-42
3
0
-21
-17
-20
4
0
-37
-6
11
0
0
-51
-44
1
0
0
-5
0
0
0
0
-37
-38
-40
-2
0
-20
12
-40
0
0
-25
67
13
0
0
22
-8
0
0
0
-4
0
0
0
0
-25
-65
-43
0
0
39
-49
-20
0
0
-5
23
0
0
0
-15
0
0
0
0
0
0
0
0
0
-94
-44
2
0
0
12
-26
0
0
0
-7
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
-34
-38
-100
-5
0
-12
54
-28
0
0
18
-43
25
0
0
-21
-46
0
0
0
-3
0
0
0
0
20
-23
-95
0
0
5
50
-89
0
0
28
3
0
0
0
-19
-11
0
0
0
-4
0
0
0
0
-29
18
-14
0
0
-24
46
-4
0
0
21
0
0
0
0
1
0
0
0
0
0
0
0
0
0
9
-15
0
0
0
15
-15
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
-61
-28
-24
0
0
-1
3
-8
0
0
79
34
0
0
0
10
0
0
0
0
0
0
0
0
0
14
-92
-11
0
0
34
-77
-3
0
0
-16
0
0
0
0
2
0
0
0
0
0
0
0
0
0
66
9
2
0
0
-24
-3
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
2
0
0
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
5
-10
0
0
0
-10
-1
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-11
0
0
0
-14
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
0
0
-21
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
21
14
0
0
0
29
4
0
0
0
-31
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
71
17
1
0
0
-24
14
0
0
0
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-9
-2
0
0
0
-21
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
26
0
0
0
60
14
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
4
0
0
0
22
5
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-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
-7
4
0
0
0
6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
70
8
53
-8
0
-42
-35
11
0
0
65
-46
-23
0
0
78
-31
0
0
0
0
0
0
0
0
-34
-81
53
0
0
64
-24
60
0
0
-45
-45
-2
0
0
65
-1
0
0
0
0
0
0
0
0
43
-62
-53
0
0
17
25
0
0
0
-125
-23
0
0
0
3
0
0
0
0
0
0
0
0
0
-54
5
0
0
0
-26
2
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
9
-2
18
0
0
-25
-41
-45
0
0
52
-48
0
0
0
30
-1
0
0
0
0
0
0
0
0
-18
-33
9
0
0
45
7
-14
0
0
-14
-14
0
0
0
27
0
0
0
0
0
0
0
0
0
26
38
-1
0
0
46
59
0
0
0
-64
-14
0
0
0
1
0
0
0
0
0
0
0
0
0
-64
-5
0
0
0
-59
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
-39
-38
0
0
0
42
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
17
17
0
0
0
-65
-21
0
0
0
-13
0
0
0
0
1
0
0
0
0
0
0
0
0
0
67
5
0
0
0
13
-6
0
0
0
24
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
-33
-9
0
0
0
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
1
0
0
0
-9
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
-3
-23
-14
0
0
6
25
-3
0
0
-57
-36
0
0
0
0
-3
0
0
0
0
0
0
0
0
36
-12
3
0
0
-15
5
2
0
0
-49
-1
0
0
0
13
0
0
0
0
0
0
0
0
0
24
-11
0
0
0
3
3
0
0
0
-14
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
-11
0
0
8
18
0
0
0
23
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
0
0
0
34
15
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
44
26
0
0
0
28
14
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
-23
26
0
0
0
-36
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-19
0
0
0
-13
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
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
-18
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
-25
1
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
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
-25
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
13
48
-6
-28
4
46
10
18
13
1
5
90
-18
14
0
56
-5
-18
-2
0
10
-3
0
0
0
27
25
5
35
0
15
33
24
36
0
-23
16
-11
6
0
5
-27
-18
-1
0
-8
-2
0
0
0
-18
-65
-39
-53
0
8
14
-37
-22
0
-48
2
-16
0
0
-7
6
-4
0
0
0
0
0
0
0
-18
14
14
-4
0
8
-5
10
-1
0
8
14
1
0
0
27
4
0
0
0
0
0
0
0
0
-55
-35
0
0
0
-3
-9
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
59
32
-24
-54
1
31
3
-15
-9
0
71
18
-17
2
0
68
24
-2
0
0
18
-3
0
0
0
-42
28
-22
-14
0
-17
41
32
-1
0
-14
23
-6
0
0
-17
-12
-4
0
0
7
-2
0
0
0
-5
-31
-11
-19
0
-15
13
-15
0
0
20
-6
-5
0
0
-14
-3
-1
0
0
3
0
0
0
0
-1
6
13
-3
0
20
-38
3
0
0
17
11
0
0
0
5
-1
0
0
0
0
0
0
0
0
-24
-8
0
0
0
7
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-68
23
0
0
23
-12
40
11
0
36
-46
13
0
0
-35
-13
-2
0
0
3
0
0
0
0
-13
12
9
8
0
-42
14
4
4
0
-18
-53
-20
0
0
-33
-29
-1
0
0
0
0
0
0
0
47
80
11
0
0
7
35
-1
0
0
45
17
3
0
0
-15
0
0
0
0
0
0
0
0
0
-49
19
3
0
0
-26
-9
1
0
0
15
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
17
14
0
0
-62
32
16
0
0
-14
-39
-6
0
0
43
-4
0
0
0
0
0
0
0
0
10
-6
1
0
0
-47
5
3
0
0
-23
-45
-4
0
0
7
-4
0
0
0
0
0
0
0
0
-3
-5
-1
0
0
-6
-10
-2
0
0
18
-9
0
0
0
-2
0
0
0
0
0
0
0
0
0
-4
6
0
0
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
-17
7
0
0
0
-10
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
0
-8
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
0
0
0
-15
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
37
-5
15
-29
0
-40
-52
53
6
0
-42
9
35
3
0
2
-20
9
0
0
-3
-1
0
0
0
49
-45
6
-4
0
8
-47
14
6
0
-23
15
39
2
0
-10
-15
0
0
0
-2
-1
0
0
0
-26
-13
15
-1
0
-6
-1
13
0
0
-12
0
0
0
0
-10
2
0
0
0
-1
0
0
0
0
5
34
10
0
0
17
30
3
0
0
-2
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
9
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
82
-14
-5
0
37
-12
-5
10
0
19
8
14
0
0
18
-11
-2
0
0
-2
0
0
0
0
-39
-2
-8
-3
0
30
-2
-2
0
0
14
16
5
0
0
15
-2
-2
0
0
-2
0
0
0
0
-50
6
11
0
0
5
6
0
0
0
36
3
0
0
0
17
0
0
0
0
0
0
0
0
0
36
32
2
0
0
35
13
0
0
0
8
-1
0
0
0
2
0
0
0
0
0
0
0
0
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
-9
-76
-8
-1
0
-23
-45
-3
0
0
-6
-26
0
0
0
13
-2
0
0
0
0
0
0
0
0
-23
-76
0
0
0
16
-36
-5
0
0
20
-35
-5
0
0
1
0
0
0
0
0
0
0
0
0
-26
6
-2
0
0
-11
2
3
0
0
62
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
3
22
0
0
0
8
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-9
2
0
0
-25
-5
2
0
0
-25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-22
-1
0
0
-17
-6
-1
0
0
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
-14
-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
-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
-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
89
11
9
0
0
50
19
6
0
0
51
5
0
0
0
4
1
0
0
0
0
0
0
0
0
7
15
7
0
0
-12
48
1
0
0
21
5
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
-10
10
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
2
5
0
0
2
-15
1
0
0
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
7
2
0
0
-23
9
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
-20
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-11
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
2
0
0
0
-25
3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
-26
-15
-3
1
-8
-22
13
1
0
20
43
-28
-3
0
5
-9
-5
0
0
-7
-3
0
0
0
-27
8
-48
0
0
1
31
-30
3
0
-43
-18
-26
-2
0
16
1
3
0
0
-2
-1
0
0
0
2
5
-20
-1
0
22
12
-6
0
0
22
-5
2
0
0
3
-1
-1
0
0
0
0
0
0
0
14
-8
9
0
0
-23
-9
6
0
0
-10
-5
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
-45
-33
-33
-21
0
-31
-44
-5
-10
0
44
7
-14
0
0
16
-32
-2
0
0
-1
-2
0
0
0
-54
32
-3
-14
0
-27
11
-9
-4
0
-12
-4
-11
0
0
0
-27
2
0
0
-3
-2
0
0
0
-10
-6
14
0
0
-1
1
11
0
0
14
-17
0
0
0
15
-5
0
0
0
0
0
0
0
0
46
25
1
0
0
-18
9
2
0
0
8
5
0
0
0
3
0
0
0
0
0
0
0
0
0
30
3
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-31
30
0
0
27
-9
30
0
0
45
5
14
0
0
36
5
0
0
0
0
0
0
0
0
48
-48
-22
0
0
-17
-32
-19
0
0
-2
-14
-1
0
0
23
-2
0
0
0
0
0
0
0
0
-36
-11
3
0
0
-16
-8
0
0
0
18
-18
0
0
0
2
-1
0
0
0
0
0
0
0
0
-73
-20
0
0
0
-43
-11
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
-55
14
4
0
0
-51
-3
1
0
0
-18
-9
0
0
0
8
0
0
0
0
0
0
0
0
0
38
29
0
0
0
-2
16
0
0
0
-27
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-16
0
0
0
-6
-10
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
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
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-38
-11
-1
0
-17
-16
22
0
0
-55
3
14
0
0
5
-32
0
0
0
-6
0
0
0
0
-56
-29
-7
0
0
-33
-5
-9
0
0
-60
29
5
0
0
7
-14
0
0
0
-3
0
0
0
0
39
34
-14
0
0
26
36
-5
0
0
51
25
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
-4
-31
2
0
0
54
34
30
0
0
45
22
21
0
0
24
-21
0
0
0
-2
0
0
0
0
-1
-3
3
0
0
22
23
-3
0
0
10
6
0
0
0
11
-8
0
0
0
-1
0
0
0
0
45
51
-5
0
0
14
36
-5
0
0
46
10
0
0
0
4
0
0
0
0
0
0
0
0
0
-6
-2
0
0
0
-14
-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
33
-53
-8
0
0
5
-35
-2
0
0
30
9
0
0
0
15
0
0
0
0
0
0
0
0
0
10
-55
-11
0
0
7
-35
-3
0
0
-3
-8
0
0
0
3
0
0
0
0
0
0
0
0
0
22
11
0
0
0
-23
-2
0
0
0
30
0
0
0
0
1
0
0
0
0
0
0
0
0
0
5
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
5
-5
0
0
0
-9
-9
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
0
0
8
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
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
-23
-26
1
0
0
-10
-11
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-17
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-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
41
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
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
-16
0
0
0
0
-1
-1
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
-1
0
-29
3
-7
0
0
0
-44
-1
0
0
5
-5
0
0
0
0
0
0
0
0
-82
-21
-9
0
0
-70
-6
-3
0
0
-32
-13
0
0
0
3
-1
0
0
0
0
0
0
0
0
45
2
-10
0
0
-21
7
0
0
0
-32
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
6
-5
0
0
0
-11
-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
-20
18
-22
0
0
3
-15
-3
0
0
26
-17
0
0
0
10
0
0
0
0
0
0
0
0
0
-32
24
1
0
0
-13
-17
-1
0
0
-23
-10
0
0
0
9
0
0
0
0
0
0
0
0
0
50
10
0
0
0
-5
1
0
0
0
-16
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
7
-5
0
0
0
-19
-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
-13
33
-1
0
0
22
11
0
0
0
32
0
0
0
0
1
0
0
0
0
0
0
0
0
0
32
10
1
0
0
-7
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
24
-1
0
0
0
-18
-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
3
0
0
0
0
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
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
-22
-5
-5
0
0
-7
20
2
0
0
1
-9
0
0
0
-1
-1
0
0
0
0
0
0
0
0
4
-16
1
0
0
4
0
0
0
0
-3
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
5
-7
0
0
0
-2
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
0
4
0
0
0
-4
5
0
0
0
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
0
0
0
28
-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
9
21
0
0
0
9
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-2
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-61
-3
-3
-4
-9
-1
-5
-26
-25
13
-68
-57
-16
3
1
-10
-42
-19
-89
-22
28
-35
-5
0
19
-15
-8
-18
-22
-11
-15
-5
0
-37
-19
14
23
-9
-21
4
3
0
5
-25
3
-22
26
0
-3
-2
0
0
0
4
-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
-30
4
-6
-5
0
0
0
0
0
-68
-12
-33
-7
-14
-1
0
0
0
-38
-25
-22
-86
5
2
0
0
0
8
-84
58
-65
-17
-8
0
0
0
16
19
-18
-33
-5
10
0
0
0
0
0
-8
-37
8
1
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
4
2
-21
67
-2
18
-3
43
15
19
-4
-33
37
-100
4
-12
-49
-4
42
-7
-16
-7
-43
-1
9
49
0
-79
-13
26
53
31
-33
-26
-27
-3
-59
-4
35
115
23
0
-3
3
0
0
-16
-1
36
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
-15
1
-15
-54
3
0
0
0
0
-37
6
-39
26
2
-2
0
0
0
-27
-62
47
-63
10
-1
1
0
0
-35
-48
-3
10
-16
-3
0
0
0
-1
13
12
48
-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
29
34
0
36
1
-6
8
2
7
32
47
51
-5
-12
-15
-1
-9
-46
47
46
-5
14
24
14
-16
-33
-6
15
113
15
1
-3
11
-2
-8
-1
-21
-3
32
-5
5
-5
-7
0
4
0
0
-3
33
-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
-51
71
-33
33
2
1
0
0
0
11
10
10
37
-3
-3
-1
1
0
3
-8
39
35
-13
11
-2
-1
0
1
-5
20
51
0
0
-1
0
0
0
2
14
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
-28
52
-12
5
-1
-1
-3
2
3
105
13
0
9
-4
1
-8
10
3
26
-43
6
20
-3
13
7
4
-2
25
5
24
-4
19
0
5
1
0
0
-6
10
15
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
48
-16
11
18
0
0
0
0
0
29
35
39
25
-2
0
0
0
0
2
73
11
8
-1
0
0
0
0
1
5
1
13
-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
57
21
-19
11
0
0
0
0
0
12
-20
-6
7
1
0
0
0
0
9
72
-15
15
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
-33
58
13
0
0
0
0
0
0
39
6
-21
4
0
0
0
0
0
1
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
11
23
5
0
0
0
0
0
0
27
-13
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
11
-3
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
0
0
0
0
0
0
0
0
0
-1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
41
-24
-6
59
-39
-6
17
7
4
-7
-18
12
-51
-11
-11
31
21
23
10
-4
-23
3
-22
3
-45
-13
-21
58
-23
22
-21
4
1
9
-23
2
28
3
11
-1
-2
0
-1
8
-45
-10
-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
-41
29
-56
-8
2
0
0
0
0
14
8
-27
-23
0
0
0
0
0
-21
56
-4
-27
10
0
0
0
0
59
81
-50
-4
11
0
0
0
0
0
1
-33
48
-3
-2
0
0
0
0
0
-11
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
35
43
-17
15
-25
-15
-10
43
3
58
63
8
5
-54
10
24
28
52
64
52
33
-30
-22
-18
10
-49
-3
18
2
23
-3
4
-3
-11
-28
-15
-17
71
20
18
-33
-9
-1
9
0
0
-1
-9
20
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
-36
142
-29
-3
1
0
0
0
0
49
85
-21
-6
-7
0
0
0
0
60
22
28
41
8
-3
0
1
0
-1
-43
43
0
3
1
0
0
0
0
4
-2
11
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
44
58
42
-84
0
-5
-33
21
48
10
69
-21
61
5
-29
68
28
-21
80
44
-37
-3
22
-6
2
28
21
-3
69
17
14
-15
-3
14
3
-5
0
0
20
7
0
-3
1
-2
-2
0
0
2
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
84
81
27
41
0
-1
0
0
0
61
23
34
-5
-4
1
0
0
0
-3
17
-5
9
4
-1
0
0
0
0
5
10
14
-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
76
48
-56
-14
10
-10
-10
-7
6
55
63
24
-8
-6
4
35
-14
21
-15
-11
49
5
14
-1
-2
-18
-1
1
-32
49
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
27
79
32
6
0
0
0
0
0
25
79
-25
2
0
0
0
1
0
-5
-29
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
29
-18
3
0
1
0
1
0
23
-16
53
10
0
0
0
-2
0
-4
-24
-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
23
32
14
0
0
0
0
0
0
14
-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
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
33
-4
-5
-2
3
2
18
-6
-22
10
-6
11
-2
4
1
40
-29
6
24
2
-9
14
5
0
-20
-21
23
57
11
0
0
0
0
0
33
-2
-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
-19
1
-8
-5
-1
0
0
0
0
-49
-19
31
-28
5
1
0
0
0
-89
90
-51
9
-10
0
0
0
0
56
-69
-17
-44
0
0
0
0
0
-4
13
-3
-39
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
7
-5
18
-9
9
26
-2
2
3
17
20
31
30
42
19
-4
-5
1
27
12
46
11
2
9
21
-6
-1
-18
72
7
29
-8
-5
-1
-1
0
2
-36
14
31
-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
-7
33
1
-6
1
0
0
0
0
-37
76
-26
33
-6
1
0
0
0
33
0
48
16
18
0
0
0
0
17
35
24
-1
-5
0
0
0
0
0
-8
23
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
86
61
-20
-3
4
3
4
0
-21
43
57
58
2
7
-7
9
2
38
52
52
-15
17
-7
-5
14
0
26
10
-7
5
21
-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
-71
106
13
31
0
0
1
0
0
71
22
-8
0
-2
0
0
0
0
6
-1
43
36
4
0
0
0
0
1
3
17
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
80
28
49
9
0
0
-1
-2
0
44
62
68
5
0
0
4
-9
0
20
15
26
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
51
49
1
1
0
0
0
0
0
57
57
25
4
-1
0
0
0
0
5
16
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
22
-34
11
0
0
0
0
0
0
34
17
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
25
0
0
0
0
0
0
0
15
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
21
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
-8
7
-28
-9
33
9
-35
34
4
88
52
-16
-53
-2
16
7
-9
-3
15
83
-31
30
-2
10
0
7
2
-9
101
-14
-1
0
2
0
0
0
3
-10
-4
17
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
23
26
-18
0
0
0
0
0
0
-3
69
-34
26
0
0
0
0
0
-14
37
71
7
-1
0
0
0
0
24
50
45
-9
-1
0
0
0
0
0
1
27
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
72
84
26
47
2
-55
-23
8
-32
47
65
55
33
-22
-18
59
11
-8
65
70
43
13
-17
17
7
-39
0
-18
53
73
4
-10
0
0
1
0
0
11
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
36
133
-55
10
-2
0
0
0
0
142
7
25
1
-4
0
0
1
0
56
90
4
4
5
-1
0
0
0
1
11
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
73
17
53
33
9
3
0
-15
-23
124
81
11
3
-2
-3
-16
4
-4
14
129
21
-6
4
-1
0
19
-1
0
9
11
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
111
103
41
-1
0
0
0
0
0
53
77
0
-1
0
0
0
0
0
79
-43
53
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
21
19
-7
2
1
1
-1
5
0
27
36
13
4
4
5
0
-3
1
13
36
-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
20
25
26
0
0
0
0
0
0
33
33
6
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
62
13
0
0
0
0
-1
0
-5
16
-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
31
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
21
-25
-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
30
30
-34
2
0
0
-6
-7
0
72
33
-46
-2
0
0
3
0
0
55
23
18
-1
0
0
0
0
0
-27
-4
-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
3
65
-60
-3
0
0
0
0
0
-28
82
18
-23
-1
0
0
0
0
18
-10
22
0
0
0
0
0
0
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
26
58
53
2
0
-1
0
0
-4
92
1
27
-15
0
-3
4
3
0
59
7
59
8
0
-1
-1
0
0
18
-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
94
32
80
-3
0
0
0
0
0
113
-7
33
-5
0
0
0
0
0
19
8
34
10
-1
0
0
0
0
0
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
49
50
10
1
0
-4
0
2
-2
104
-17
20
0
0
0
1
2
0
3
59
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
77
64
24
0
0
0
0
0
0
31
35
-3
1
0
0
0
0
0
0
44
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
33
-19
10
0
0
0
0
0
0
13
29
-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
119
-21
0
0
0
0
0
0
-3
-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
18
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
27
71
29
-15
0
0
0
-3
3
32
31
14
-4
-1
0
-3
1
0
83
42
-22
-1
0
0
0
1
0
11
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
29
19
-3
1
0
0
0
0
0
-8
81
28
1
0
0
0
0
0
47
29
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
49
145
78
4
0
0
-2
-1
-6
30
-34
26
-10
-2
1
4
2
0
-6
9
-13
-2
0
0
0
1
0
1
-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
53
123
43
0
0
0
0
0
0
-21
139
21
-2
0
0
0
0
0
14
36
-18
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
43
56
39
2
0
0
-1
-5
1
41
43
-26
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
92
7
0
0
0
0
0
0
36
-43
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
22
2
0
0
0
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
-8
59
-3
0
0
0
0
0
0
-2
17
-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
85
55
-23
0
0
0
0
0
0
4
75
-3
-1
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
48
2
0
0
0
0
2
0
-64
-21
0
0
0
0
0
0
0
-3
-43
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-1
0
0
0
0
0
43
32
-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
7
54
0
0
0
0
0
0
0
3
14
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
26
56
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
70
-4
-3
0
0
0
0
0
0
-9
-38
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
124
1
0
0
0
0
0
0
-14
19
-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
-6
77
1
0
0
0
0
0
0
43
-14
3
0
0
0
0
1
0
2
-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
11
18
0
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
0
0
0
0
0
0
0
8
-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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
49
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
52
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
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
-70
-139
-212
-51
-7
-9
-5
-48
-1
-97
-153
-173
-116
-90
-124
-124
14
1
-58
-86
-87
-22
-71
-25
-101
-66
-45
-44
-43
7
-77
-41
-143
-70
-110
-33
-13
-2
-18
27
-54
-47
-40
81
-85
27
-37
-11
90
14
-83
-5
-14
0
0
-17
-64
-56
29
60
-4
-3
0
0
0
0
13
-9
-6
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-75
-70
-104
-38
0
0
0
0
0
-32
-106
-141
13
-25
-4
-1
0
0
-27
-24
-57
-69
-2
-26
-5
0
0
89
17
-72
-71
-30
-6
-5
0
0
62
12
-38
7
-99
50
-3
2
0
-13
98
-15
-50
-41
-9
-8
-2
0
0
0
47
37
-70
-6
-3
0
0
0
0
0
0
14
-9
4
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-32
-81
-135
-61
14
-4
-1
43
1
-19
-50
-51
-90
-8
-25
-24
-74
-48
-5
-14
-25
-9
-137
-102
12
-2
-24
18
29
1
21
-68
-35
-66
-49
-15
21
-9
-24
29
-14
-11
8
-16
27
-10
58
101
-24
11
5
-73
13
3
-1
5
21
-51
-45
33
-5
2
0
0
0
0
19
4
-4
-1
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
-14
-103
-63
29
0
0
0
0
3
12
-45
-6
-62
-34
5
-1
-3
-18
50
-15
-29
-92
9
-44
-17
4
67
39
20
-17
-86
-32
-48
16
2
75
115
-12
15
-35
-57
-22
4
0
4
6
19
3
-3
0
1
-1
0
0
0
36
56
-19
-19
8
1
0
0
0
-2
9
-6
32
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
56
20
-56
-21
-92
54
-64
32
-42
42
12
-7
19
-31
41
-11
54
-114
38
25
11
-3
-15
-52
-2
-56
-41
45
67
50
65
-64
0
-24
-11
-73
-52
117
9
84
81
49
4
-51
3
-1
-2
-6
-41
44
-1
103
-58
1
0
0
3
53
18
-20
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
22
16
-24
72
-34
1
1
-1
-3
-1
54
-15
-6
-26
-32
-12
13
3
28
67
45
-41
7
5
-30
4
3
23
71
28
58
-15
-14
5
-4
0
5
108
42
-30
4
46
24
0
0
2
-2
1
90
-50
47
0
0
0
0
0
-9
0
43
16
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
91
32
-36
-68
29
-31
-16
12
6
17
29
-14
21
-46
-53
32
72
28
3
61
14
-4
3
-7
11
-15
20
71
5
98
56
8
-71
9
59
-2
55
14
9
14
91
42
-20
-12
-1
0
10
11
6
20
25
-5
3
0
0
0
0
3
33
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
81
25
30
4
2
-2
-1
0
30
47
18
20
-32
-2
8
-7
0
74
90
-12
57
-88
73
-23
0
0
2
99
-14
99
-57
-5
-4
0
0
-3
43
47
-39
84
27
1
0
0
0
0
0
45
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
74
59
27
99
-3
7
-3
-1
3
101
73
37
7
43
58
-26
-110
15
3
110
29
46
24
6
-14
-10
14
-52
10
-52
53
57
27
-3
-3
0
-11
3
37
16
-11
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
-26
75
32
37
16
1
0
-7
0
-6
63
37
6
27
21
0
-2
0
-5
56
30
-9
18
33
0
0
0
39
58
13
-5
-80
-7
5
0
0
0
1
2
-11
-15
-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
64
38
46
-4
0
0
0
0
0
32
65
-14
49
-1
0
0
0
0
-47
19
-4
0
18
0
-2
4
0
-3
68
50
15
14
-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
26
44
-14
-14
0
0
0
0
0
62
35
-23
1
32
0
0
0
0
-10
49
26
-18
-8
2
0
0
0
0
11
1
3
14
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
-20
84
-19
3
0
0
0
0
0
55
48
3
-5
-4
1
0
0
0
-54
4
-5
2
15
0
0
0
0
0
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
11
47
-4
0
0
0
0
0
0
29
52
-9
-5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
11
-17
1
0
0
0
0
0
7
15
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
5
-13
17
38
-14
-25
29
-146
-58
-28
-49
-95
-74
-9
-22
-101
-34
45
5
-10
-60
-2
-35
-83
45
-95
-2
0
-7
-16
-11
-103
5
-54
-73
98
-70
57
-9
39
-65
53
-90
75
36
-3
34
11
46
19
-14
0
-5
0
0
-4
-14
33
-25
15
5
0
0
0
0
0
-11
1
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-85
-139
-14
5
0
0
0
0
10
-12
-105
-24
-37
0
0
0
0
-12
26
-33
-84
-19
7
1
0
0
75
54
-57
-2
-3
-78
0
-2
0
76
13
-68
25
3
-16
3
0
0
5
5
-34
8
-28
-20
4
0
0
0
0
0
15
23
-6
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
31
8
-64
33
-94
-13
-29
56
24
40
21
-27
-31
-62
8
-75
-15
-72
26
55
3
25
3
25
6
14
-27
3
113
14
32
0
20
15
-106
-19
-23
34
51
44
-91
-60
19
69
-21
-14
-7
53
55
49
24
-25
46
-13
0
-3
72
2
-51
-4
9
-1
0
0
0
0
8
-9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
7
-62
-90
11
0
0
0
0
20
85
6
-54
29
-61
-7
-1
-1
-8
87
5
-5
34
-45
-17
2
-1
52
103
98
-39
-67
-4
18
3
0
-24
169
-49
5
-43
36
4
-1
0
0
1
21
68
18
-14
-3
4
0
0
0
0
-16
18
2
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
72
62
-42
-72
-6
-1
-6
-29
13
53
57
-11
-23
-91
-99
18
-83
-97
49
79
9
77
-1
-27
35
-76
-17
72
100
77
-1
-45
-45
30
-48
17
53
48
93
9
-30
-51
-26
40
18
0
7
74
83
46
60
-51
-14
0
0
0
-1
-2
33
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
88
119
-58
-41
-20
-6
0
0
0
37
99
-25
-23
21
48
-2
-1
0
121
140
31
-2
-38
-14
-30
1
0
94
39
13
5
-9
-18
8
0
0
-9
16
86
18
50
15
-23
1
0
0
0
37
-18
17
5
2
0
0
0
0
4
-15
43
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
52
59
-41
37
-10
-38
-12
-20
41
74
114
-42
-60
-11
105
-11
-20
-34
-23
123
30
80
73
58
-16
-16
27
41
61
16
98
70
24
61
3
-62
-27
106
16
5
58
-9
17
33
7
0
-17
9
26
-22
-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
0
78
29
14
43
-8
0
-2
0
26
124
32
22
22
-10
-3
6
0
84
30
46
32
-1
8
-6
7
1
56
33
78
-45
21
-1
7
6
0
0
-6
53
18
14
2
0
0
0
0
0
-2
-17
8
9
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
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
40
5
-26
-18
2
-2
28
-19
68
37
58
70
-45
-17
67
33
32
2
49
56
53
-11
-37
71
68
4
18
23
11
90
31
33
33
-11
-10
-15
17
19
-20
43
17
0
-1
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
94
47
-52
51
-7
0
0
0
0
52
71
11
21
2
4
-1
2
0
23
102
-3
24
-3
9
1
0
0
2
-10
20
5
5
5
-2
0
0
-2
0
-13
-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
11
28
23
13
0
0
-3
-62
0
24
100
39
-22
-3
-14
1
-21
0
-55
16
-17
49
4
-4
-1
2
0
19
-23
22
33
6
0
2
0
0
0
1
9
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
47
63
-16
-18
0
0
0
0
0
-18
92
-1
51
-5
0
0
0
0
-6
52
-29
-9
2
0
0
0
0
0
0
-15
-2
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
61
1
-60
-2
0
0
0
0
0
32
22
1
-11
0
0
0
0
0
23
32
-43
-9
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
33
-43
-11
5
0
0
0
0
0
-10
1
13
1
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
0
0
0
11
18
0
0
0
0
0
0
0
-23
43
-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
-46
-97
-20
33
-3
-3
-5
-3
5
-31
-55
-80
-2
-35
-63
-3
40
5
-41
-36
-62
-26
-33
-38
74
2
0
-45
-108
9
47
42
46
-2
3
-9
46
-35
0
45
22
-2
-1
-1
0
-6
-17
65
28
-18
-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
-43
-36
-12
-27
-1
0
0
0
0
-30
-19
-18
19
8
4
-3
0
0
-45
-33
58
60
-39
-1
2
0
0
-64
-33
30
44
-18
2
1
0
0
22
-17
-39
19
-4
1
0
0
0
0
20
-16
-35
-44
-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
8
-17
-24
74
59
18
104
-122
5
-12
-7
-49
67
148
-1
30
-5
63
-28
7
30
70
51
94
-81
-26
-17
27
-5
34
5
43
-23
-36
-20
-1
-27
16
2
28
-3
-48
5
-1
0
0
-35
7
44
9
-7
-3
0
0
0
1
2
-11
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
46
-3
-52
-31
3
1
0
0
0
30
17
17
34
23
-24
0
2
-2
61
46
-8
50
-40
-32
0
1
0
16
40
20
29
5
9
1
1
0
34
-20
35
19
-35
13
3
0
0
0
-9
-14
69
-23
17
-4
0
0
0
0
0
-3
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
15
12
31
78
-30
27
-25
53
-11
6
37
29
77
13
91
-13
-11
-1
28
18
50
41
60
-14
-38
92
31
89
-20
-71
126
81
-2
48
-39
1
-5
57
-7
35
24
14
-14
1
0
0
0
16
0
-21
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
-8
29
21
117
-6
4
4
-18
0
56
41
27
18
-12
49
-5
-2
0
20
111
-7
62
16
73
7
0
0
29
86
61
20
-40
61
18
0
0
0
54
24
-23
-20
-1
3
0
0
0
4
9
-2
52
-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
31
53
-1
52
0
11
-5
-9
7
20
78
-43
157
-14
-59
29
-23
-4
19
-4
-35
81
27
53
41
24
4
11
32
-4
38
-27
1
-4
8
0
-1
20
-53
-10
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
15
1
11
-1
2
1
5
0
132
75
6
-9
-19
-11
3
-1
0
31
65
-33
2
80
34
0
0
0
95
-91
-14
39
22
14
-1
-4
0
0
-3
-14
47
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
69
93
-14
-3
0
0
3
0
0
93
25
58
16
1
-3
0
1
0
51
22
-77
19
4
-1
0
-5
0
0
50
-8
2
-10
-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
96
38
-20
31
0
0
0
0
0
138
12
-6
10
2
-1
-1
0
0
16
98
45
0
-10
1
0
0
0
0
51
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
65
36
-45
0
0
0
0
0
0
54
63
11
0
0
0
0
0
0
26
31
-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
15
14
-22
1
0
0
0
0
0
6
79
-11
-2
-6
0
0
0
0
-8
33
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
25
-46
-1
0
0
0
0
0
0
20
26
-1
0
0
0
0
0
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
36
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-50
-66
-10
-25
21
12
71
-5
3
-9
-22
23
-22
-8
-19
-74
-47
-40
30
-12
140
-27
34
-41
1
-27
-13
-22
-52
12
69
-9
37
14
3
-24
57
31
20
36
-14
-3
-1
0
-14
10
10
-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
13
14
-113
-2
-1
0
0
0
0
17
7
-2
7
-3
0
0
0
0
-21
40
-25
-49
32
0
1
0
0
34
7
75
-2
-49
0
0
-1
0
-1
-13
25
-21
21
21
0
0
0
3
0
0
39
-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
44
8
-26
-12
108
5
0
8
-24
37
45
-14
101
53
-31
-15
13
8
8
97
-16
100
-96
53
-39
-50
-72
-34
34
-25
82
-18
29
52
59
9
15
92
26
21
9
-25
1
-1
0
0
3
-13
43
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
47
55
-43
25
-6
0
-1
0
0
25
63
-26
37
-68
-4
-6
14
0
18
62
47
23
-19
-7
-2
-3
0
95
-3
34
54
-71
7
0
-1
0
11
-20
42
-13
-10
-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
32
71
44
44
-28
36
-80
90
16
45
29
-6
33
77
49
118
-22
74
32
110
-28
53
55
19
-10
96
30
-71
109
-14
41
49
42
16
44
5
-41
-2
-5
52
20
14
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
52
72
-18
-12
-1
-1
0
4
0
95
135
9
-61
3
-7
2
3
0
34
26
32
48
26
1
-3
0
0
-1
52
2
25
21
21
0
0
0
-3
0
-1
16
-14
4
0
0
0
0
0
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
19
19
-82
53
8
36
6
109
-5
34
71
-81
93
-21
12
24
-35
42
-31
53
-6
24
25
76
-14
37
9
2
70
25
-11
-41
24
11
0
0
-2
-29
0
18
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
49
42
-2
-3
0
0
0
0
74
46
53
15
-9
-6
0
-1
0
33
26
71
1
-24
2
4
0
0
5
-29
-14
21
29
0
0
0
0
0
0
10
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
35
77
-53
14
0
0
11
-5
3
34
78
26
5
20
10
0
-51
-2
34
20
57
9
5
-2
2
1
0
-3
45
34
-21
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
18
32
47
-1
0
0
0
0
0
-61
114
24
25
1
-2
0
0
0
22
-22
45
25
2
-2
0
0
0
0
-3
-27
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
108
-42
-5
-1
0
0
0
0
0
-21
44
-14
8
0
0
0
0
0
24
-22
14
-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
6
42
-54
0
0
0
0
0
0
21
-31
26
2
0
0
0
0
0
1
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
29
43
0
0
0
0
0
0
0
14
-43
-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
44
12
5
2
0
0
-14
-10
0
-42
-33
-26
-4
0
0
7
0
0
-11
-26
38
-14
0
1
0
-1
0
-17
3
4
-2
-2
-1
0
0
0
3
-15
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
10
-49
-13
-2
0
0
0
0
0
35
-3
-27
-71
-1
0
0
0
0
38
3
-31
42
-5
-1
0
0
0
52
-15
-9
-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
-39
-44
81
25
0
-4
-3
0
-9
-36
-17
60
32
-4
-9
20
2
0
66
-55
20
-6
4
-3
-2
-4
2
9
-34
-57
-12
1
2
-2
0
0
6
39
2
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
25
-11
16
-27
0
0
0
0
0
112
-25
-32
54
-2
0
1
0
0
40
32
-17
40
-9
0
0
0
0
4
63
37
-56
1
-1
0
0
0
0
1
15
46
-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
58
2
-43
2
1
-15
-4
-2
-1
38
-47
71
-43
2
2
3
10
6
49
48
-19
-16
8
0
-9
3
3
6
18
23
23
-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
70
97
-16
2
0
0
0
0
0
38
42
0
47
-9
0
0
-1
0
13
71
-61
-30
0
0
0
0
0
3
79
3
-8
-6
-10
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
5
0
0
8
0
0
-1
-1
-3
31
0
-1
-2
0
0
-15
-49
64
-14
4
0
0
0
0
5
14
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
13
96
-45
0
1
0
0
0
0
70
69
-31
-9
1
0
0
0
0
33
13
43
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
56
23
14
0
0
0
0
0
0
55
-21
-25
0
-2
0
0
0
0
-41
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
0
0
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
37
0
0
0
0
0
0
0
-5
5
-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
39
29
-2
0
0
0
0
0
0
-46
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
-2
27
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-20
0
-3
-3
-3
3
-3
-34
-13
-20
-3
-10
-2
4
3
-45
-2
-92
18
-2
3
-1
6
0
-127
-11
-5
17
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
-14
6
-26
7
0
0
0
0
0
-29
82
-40
-1
0
0
0
0
0
46
43
-56
36
-5
0
0
0
0
-24
44
4
-21
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
-31
0
127
-20
6
0
-2
33
8
6
12
-59
82
1
0
23
43
-2
14
-12
-6
14
-6
0
5
4
5
-71
10
21
33
0
-1
0
0
0
1
5
0
-9
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
47
-22
53
3
0
0
0
0
0
-54
110
-55
25
0
0
0
0
0
62
26
-72
19
0
0
0
0
0
36
29
-48
10
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
43
27
-19
16
2
0
3
-43
11
-12
56
-33
32
-11
0
-2
2
-19
-69
138
23
66
2
1
0
2
1
29
-36
15
-9
-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
103
72
-26
-26
8
0
0
0
0
72
130
-17
6
-2
3
0
0
0
-7
33
43
-19
0
4
0
0
0
-6
1
-14
-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
3
47
79
-7
0
0
-2
1
-1
59
26
59
7
5
0
1
2
0
33
-14
-23
5
1
0
1
-3
0
15
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
-6
96
-10
-3
2
0
0
0
0
12
53
-51
2
0
0
0
0
0
-19
-5
20
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
-47
21
25
0
0
0
-1
0
0
-22
33
11
0
0
0
2
5
0
-31
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
73
-41
-3
0
0
0
0
0
0
74
-3
-9
0
0
0
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
-14
-47
2
1
0
0
0
0
0
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-126
-19
-2
0
0
0
0
0
0
-61
11
-13
0
0
0
0
0
0
-21
15
-4
-1
0
0
0
0
0
-9
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-14
-4
-4
0
0
0
0
0
-69
-23
6
1
0
0
0
0
0
-54
56
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
-1
51
1
0
1
0
0
4
0
-64
-3
25
4
0
0
0
0
0
17
54
13
0
0
0
0
0
0
-1
-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
69
34
19
0
0
0
0
0
0
124
-41
-34
-4
0
0
0
0
0
-47
65
45
-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
33
71
-2
0
0
0
0
-1
0
-40
61
0
0
0
0
0
0
0
-11
9
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
49
-24
-8
0
0
0
0
0
0
52
2
-18
0
0
0
0
0
0
-13
23
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
13
111
2
0
0
0
0
0
0
9
31
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
74
4
-3
-3
0
0
0
0
0
14
-34
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
9
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
214
-78
-1
3
0
0
0
0
0
-38
-7
13
0
0
0
0
0
0
66
-83
-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
-1
-4
3
0
0
0
0
0
0
37
28
-5
0
0
0
0
0
0
10
-32
27
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
57
72
-4
2
5
0
0
0
-1
-5
-60
65
0
-1
0
1
0
0
36
-55
-24
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
60
-27
0
3
0
0
0
0
0
2
-33
1
1
0
0
0
0
0
2
-24
5
-4
0
0
0
0
0
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
-6
-5
-1
1
0
0
0
6
0
11
105
-23
0
1
0
0
0
0
-61
11
27
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
-12
0
0
0
0
0
0
0
-9
-50
9
-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
-4
0
0
0
0
0
0
0
9
-71
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
-14
44
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
66
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
17
20
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
-8
0
0
0
0
0
0
0
-3
-53
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
10
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-10
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
18
0
0
0
0
0
0
0
2
13
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
-10
0
0
0
0
0
0
0
14
-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
-15
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-86
-10
-5
-6
0
-10
-1
-39
-98
-91
-43
-71
-69
-10
2
0
0
-100
-23
19
-123
-14
-98
-73
-14
-44
8
0
-20
-119
-43
-71
-96
-27
45
-53
-108
62
-21
-86
-70
74
-17
53
-25
7
90
-25
-109
9
-11
0
0
-14
-56
10
-5
64
2
-3
0
0
0
0
15
1
14
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
-53
-95
-15
0
0
0
0
0
-69
-108
-60
15
-51
-3
-1
0
0
-41
-31
-97
-13
17
-26
-6
0
0
-13
18
13
4
-17
-25
-18
0
0
-6
25
4
-1
-129
40
-14
2
0
-14
93
-33
38
6
-20
-49
-2
0
0
0
55
24
16
-46
7
0
0
0
0
0
0
35
-22
4
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-83
-58
-40
-53
15
-20
0
-43
50
-42
-79
-83
-26
-31
-22
-25
-72
-91
25
-29
-16
28
-71
-34
-57
-47
-59
52
2
-20
29
-71
-82
-50
-58
37
46
38
-27
-13
-53
23
-4
37
20
33
83
28
47
32
-29
-59
3
-2
-1
5
15
-31
22
42
-5
2
0
0
0
0
55
6
-14
-1
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-11
-52
-107
-28
-2
0
0
0
0
-19
14
-67
-56
-88
-10
12
-1
-3
42
-10
37
10
-106
-4
-98
-9
4
-18
30
3
17
14
31
-1
49
4
18
43
35
-23
-18
-36
-33
-2
0
5
31
70
-41
2
9
5
-1
0
0
0
29
55
-5
24
-20
1
0
0
0
-2
13
-6
45
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
27
-15
-74
-43
52
-51
-24
-52
9
7
1
5
-32
46
40
-53
-85
6
32
12
-31
-39
-61
3
-11
0
29
55
12
-10
26
7
63
-30
-26
88
37
15
21
41
83
39
17
32
4
29
-5
-30
14
22
62
-5
1
0
0
7
46
-35
-29
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
27
3
-29
-36
-71
1
1
-1
-3
97
31
-14
-52
-104
-25
9
13
3
-6
47
42
-12
-30
-16
3
-9
3
30
40
39
36
-40
-4
22
-7
0
-22
135
2
60
10
38
10
-1
0
2
0
23
-30
-29
41
44
0
0
0
0
-13
-7
71
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
-82
35
7
14
47
-57
-26
30
-6
-8
33
33
-33
8
-90
14
-12
-45
59
56
27
64
-63
-51
36
16
23
2
97
60
56
15
-47
39
51
-18
5
95
-20
33
23
39
0
-23
-1
0
13
75
-19
9
17
-5
3
0
0
0
0
-2
35
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
102
34
-5
49
2
-2
-1
0
10
59
5
8
18
-22
21
-7
0
22
66
46
12
-4
52
2
-39
0
-5
16
-7
96
34
51
20
0
0
-4
73
30
-52
90
-29
8
0
0
0
0
4
80
-34
14
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
-19
48
-14
29
0
7
-3
-1
3
-14
30
76
54
20
49
2
-56
-42
-21
53
44
24
78
-14
57
-37
36
-44
-19
8
117
56
28
-17
19
0
-10
31
68
5
-4
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
61
-30
56
22
15
1
0
-7
0
-17
31
19
49
11
25
0
-2
0
62
-52
32
38
18
22
0
0
0
39
58
-6
-4
-72
-6
5
0
0
0
1
-8
31
-15
36
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
-94
102
62
-4
0
0
0
0
0
-63
43
-2
72
-1
0
0
0
0
15
-41
15
51
9
-5
-2
4
0
-40
1
53
29
17
-2
-6
0
0
0
-9
5
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
111
48
-5
-16
0
0
0
0
0
55
97
-30
-2
19
0
0
0
0
-55
71
73
-32
-11
8
0
0
0
0
6
8
1
14
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
-70
95
-15
3
0
0
0
0
0
-43
43
-9
4
-4
1
0
0
0
-103
35
-17
4
15
0
0
0
0
-1
15
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
53
-13
0
0
0
0
0
0
14
71
-8
-8
0
0
0
0
0
0
20
-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
-4
-5
2
0
0
0
0
0
0
37
52
-23
1
0
0
0
0
0
1
21
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
-11
-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
6
74
-33
-1
1
-15
13
-45
-65
-42
-15
-206
-49
-11
-7
-26
-29
33
-42
-36
5
-23
-81
-38
-20
-103
-57
16
8
-41
-9
-79
-16
-62
-50
-39
-70
96
2
22
12
-67
-74
29
22
23
-31
-16
74
3
37
0
-46
-6
0
-6
-1
-20
20
0
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
-37
-26
-60
-6
5
0
0
0
0
-32
-63
-23
-30
-26
0
0
0
0
-62
-53
32
-88
-15
-1
1
0
0
5
11
-21
-38
-14
-66
5
-2
0
100
24
-44
-43
-37
-23
4
0
0
5
7
-44
-28
6
-14
17
0
0
0
0
1
5
60
-8
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
0
0
0
0
0
-43
-4
-62
76
-89
2
-62
14
93
-23
-12
-66
87
-89
28
-66
-36
-34
18
23
-17
20
19
-45
-7
-29
-29
6
51
-1
44
-13
41
28
66
-6
-26
53
-6
33
-50
-28
65
43
19
-5
32
-6
30
21
23
-3
62
-14
0
-3
85
43
-33
-8
6
-1
0
0
0
0
7
-13
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
-39
-43
7
0
0
0
0
12
27
-27
57
37
-57
-7
-1
-1
5
14
58
7
18
-42
-24
9
-1
120
63
-24
-13
-25
84
3
32
0
-34
83
39
-47
-48
8
-7
-4
0
0
1
-2
42
4
47
2
4
0
0
0
-1
-16
-23
6
-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
-68
-11
23
-23
62
-12
-5
53
-9
5
21
-3
60
-45
-66
-44
-28
-74
20
56
24
63
-21
-14
-17
-3
-121
11
84
26
10
50
33
27
-28
93
65
70
64
45
64
-114
-6
39
-2
0
53
83
51
69
5
-100
-14
5
0
0
1
11
32
9
-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
95
0
-3
-14
-11
-5
0
0
0
43
32
20
-22
5
41
-15
-1
0
84
87
17
26
-16
65
-46
-24
0
83
150
-41
-14
12
32
-1
7
0
-7
56
95
-3
30
19
-43
1
0
0
0
64
-23
-62
28
2
0
0
0
0
4
-15
79
15
0
0
0
0
0
0
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
-20
20
66
-14
-43
-4
-2
29
-15
53
32
-23
-66
121
80
-70
24
40
45
38
70
-49
46
-11
46
3
7
107
50
99
37
-6
-17
-17
-4
-71
76
-26
3
50
-4
53
34
10
0
-20
3
84
-14
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
-72
49
-39
-20
45
-8
0
-2
0
67
41
56
27
8
-19
-3
6
0
68
-14
15
50
85
33
-17
-14
1
118
43
14
-51
0
16
11
8
0
0
-4
44
27
7
20
0
0
0
0
0
-2
-25
71
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
-42
46
22
23
-2
4
28
-36
-39
-27
73
60
81
-25
-3
35
4
4
-135
69
74
49
-22
72
87
27
27
2
21
-29
81
32
80
55
-37
0
-18
38
13
-49
95
18
0
-1
0
0
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
91
46
-88
49
-7
0
0
0
0
65
26
16
5
1
3
-1
2
0
49
131
-28
-4
5
12
1
0
0
2
2
8
46
22
3
-2
0
0
-2
0
-23
-11
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
39
44
13
0
0
-3
-3
0
-1
128
15
-3
-2
-26
2
-51
0
-104
111
-20
29
32
-4
-3
2
0
23
-37
-10
70
5
0
2
0
0
0
1
10
-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
29
16
-4
-22
0
0
0
0
0
0
55
-16
61
-6
0
0
0
0
-5
85
-29
-15
2
0
0
0
0
0
1
-17
0
13
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-53
-2
0
0
0
0
0
36
-2
-46
-5
0
0
0
0
0
0
77
-35
-58
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
35
-37
-13
5
0
0
0
0
0
-9
27
12
-1
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-21
0
0
0
0
0
0
0
-20
59
-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
27
-51
26
-14
-3
-3
-5
2
5
-79
-21
8
5
-34
-7
-7
11
5
-55
21
-80
5
-21
-54
47
3
0
-34
4
-48
-8
62
45
-1
4
-9
21
-40
-44
6
26
14
-1
-1
0
-6
-16
61
80
-33
-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
-27
-32
40
-17
-1
0
0
0
0
-15
-7
29
-32
19
4
-3
0
0
59
-36
-23
-26
-21
0
2
0
0
20
16
-46
53
-16
-5
1
0
0
-1
-64
-58
72
23
6
0
0
0
0
20
-22
-11
-65
30
0
0
0
0
0
1
2
6
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
4
-1
-1
16
17
2
-9
1
-122
0
-23
0
132
4
-71
-22
15
5
3
-35
14
78
23
-62
-32
-10
13
26
-7
-42
44
-27
-34
-26
-1
32
13
-19
53
9
-49
2
-1
0
0
-43
5
32
5
0
-4
0
0
0
1
2
-13
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
6
-70
-34
8
5
1
0
0
0
-60
22
21
12
77
5
0
2
-2
-3
23
0
46
21
-28
0
1
0
-13
38
20
6
27
-5
1
1
0
35
-12
-8
-14
38
40
3
0
0
0
-9
-20
118
-54
29
-4
0
0
0
0
0
-4
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
-108
42
44
52
-17
16
19
38
-8
41
-2
-28
32
21
1
-17
14
4
-37
3
53
33
34
25
-41
71
2
35
-8
14
5
37
-2
64
8
1
-16
139
-63
59
48
22
-26
1
0
0
0
16
5
-14
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
62
-18
12
83
0
4
4
-18
0
28
45
-53
26
-26
43
-5
-2
0
80
15
-3
-21
-39
23
7
0
0
65
38
60
-7
10
21
14
0
0
0
80
-3
80
-45
7
1
0
0
0
4
11
56
44
-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
-34
50
-15
9
0
14
-7
-9
-10
-15
26
65
87
-46
-62
-2
-53
0
-4
-5
-125
63
46
98
42
8
4
36
75
-21
32
-54
8
-4
10
0
-1
56
-86
-5
17
-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
-7
62
15
19
0
2
1
5
0
-26
85
5
-14
-16
-10
3
-1
0
-5
-30
-15
45
103
23
0
0
0
166
-85
-12
-20
1
24
-1
-4
0
0
-3
-14
66
10
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
5
-18
46
0
0
0
3
0
0
-4
-16
57
43
1
-3
0
1
0
40
-7
-22
40
5
-1
0
-5
0
-6
39
-5
1
-10
0
0
0
0
0
-3
-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
-12
43
-42
27
0
0
0
0
0
24
66
-33
17
2
-1
-1
0
0
-9
96
55
30
-15
1
0
0
0
-2
58
-8
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
53
84
-45
0
0
0
0
0
0
-16
63
29
3
0
0
0
0
0
7
5
-36
-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
19
48
-27
1
0
0
0
0
0
20
71
-52
-3
-6
0
0
0
0
-11
17
-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
25
-45
-1
0
0
0
0
0
0
41
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
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
6
-32
-74
26
-2
13
0
-1
7
-25
-91
-19
50
-68
-41
32
-45
-4
-56
-53
-20
59
-17
61
-9
-32
-14
-30
-25
47
10
55
-21
13
-19
10
-33
29
-30
9
76
-20
-3
2
0
-14
14
14
-48
-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
-24
-6
-74
-3
-1
0
0
0
0
-16
-33
15
-27
-3
0
0
0
0
83
-4
-56
-18
-17
0
1
0
0
-45
30
13
33
-76
1
0
-1
0
7
-15
-35
7
57
50
0
0
0
3
0
3
30
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
39
48
-83
-24
5
4
1
-2
-9
-31
0
41
6
23
-29
4
0
-26
0
16
-21
59
-27
-25
-5
-50
-15
-14
63
-28
18
10
4
0
28
3
36
7
26
-17
-3
-42
19
7
0
0
0
-33
-15
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
-43
-4
45
39
-6
0
-1
0
0
-14
100
-59
-19
-102
-2
-6
14
0
-6
33
2
58
20
-47
-2
-3
0
91
-10
95
-50
-50
-21
0
-1
0
10
6
70
15
-9
-32
2
0
0
0
0
0
2
21
-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
-3
-39
70
16
6
32
-49
96
-43
-35
-7
46
43
16
40
19
38
36
-21
17
-25
147
-6
69
-7
57
27
-84
30
-5
13
78
46
34
23
5
-32
-6
-28
63
3
48
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
25
-12
3
1
-2
-1
0
4
0
-45
49
20
-72
10
59
2
3
0
-1
85
-2
12
52
-2
-3
0
0
23
146
39
1
9
-8
0
0
0
-3
5
-35
27
-16
15
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
-1
-67
-87
72
43
3
-25
68
5
2
56
-14
80
-98
-6
80
66
43
23
104
-66
-40
6
71
-5
34
9
-23
62
7
-20
-92
45
14
0
0
-2
-29
-5
15
11
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
90
57
-4
-17
-3
0
0
0
0
52
96
-18
-5
1
-6
0
-1
0
120
5
1
18
-34
3
4
0
0
5
-57
18
29
36
0
0
0
0
0
0
9
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
-9
5
-43
14
0
0
14
-6
3
9
67
21
45
25
10
0
-4
-2
41
-32
81
-23
6
-1
2
1
0
-6
69
-17
-33
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
33
51
13
0
0
0
0
0
0
-99
77
-36
48
1
-2
0
0
0
23
11
59
32
2
-2
0
0
0
0
-3
-30
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
63
62
-15
-1
0
0
0
0
0
-21
17
-14
9
0
0
0
0
0
80
-138
50
-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
-39
49
-60
0
0
0
0
0
0
-35
18
48
2
0
0
0
0
0
-1
35
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
83
0
0
0
0
0
0
0
35
-37
-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
36
4
2
0
0
-14
-10
0
19
-25
-34
-5
0
0
7
0
0
-27
-47
22
-14
0
1
0
-1
0
-61
-26
-42
-3
-2
-1
0
0
0
2
-14
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
-3
-4
-5
-2
0
0
0
0
0
-61
19
-23
-65
-1
0
0
0
0
-19
33
-96
32
-5
-1
0
0
0
9
23
12
-18
-1
0
0
0
0
0
5
0
-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
-42
13
15
21
0
-4
-3
2
-9
-76
34
27
-20
-4
-9
20
2
0
-66
11
-17
-15
4
0
-2
-4
2
-33
28
-68
-10
1
2
-2
0
0
-2
32
18
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
40
11
-17
-26
0
0
0
0
0
48
9
-46
53
-3
0
1
0
0
-23
-41
-1
41
0
0
0
0
0
-5
49
-14
-98
0
-1
0
0
0
0
1
16
54
-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
15
-51
2
1
-15
-4
-2
-1
8
-2
-1
-46
2
0
3
10
6
-12
73
-57
-24
8
0
-11
3
3
-32
55
33
9
-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
113
3
-62
2
0
0
0
0
0
33
41
12
15
-10
0
0
-1
0
45
71
-42
-35
-2
0
0
0
0
5
101
-3
7
-5
-10
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
5
0
0
8
0
0
-33
8
-12
31
0
-1
-2
0
0
-18
-13
33
-20
4
0
0
0
0
10
15
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
25
38
-53
0
1
0
0
0
0
86
-4
-33
-10
1
0
0
0
0
82
21
15
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
13
8
11
0
0
0
0
0
0
27
24
-25
0
-2
0
0
0
0
-33
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
53
14
-2
0
0
0
0
0
0
29
-7
27
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
45
11
-2
0
0
0
0
0
0
-31
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
-2
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
26
-15
0
-3
-3
-3
3
5
-66
-21
-17
-3
-7
-2
4
3
-71
-35
-67
18
-2
3
-1
6
0
-67
-1
43
15
1
-1
0
0
0
-2
16
-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
-13
46
-45
6
0
0
0
0
0
-64
101
-11
-1
0
0
0
0
0
-9
-70
-5
15
-5
0
0
0
0
-27
49
-8
-17
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
80
34
-36
-3
0
-3
-4
-3
-24
-97
-25
31
4
0
14
0
-2
-81
16
-36
35
-6
0
5
4
5
-95
66
9
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
-94
53
11
3
0
0
0
0
0
-15
-5
-55
29
0
0
0
0
0
100
-10
-98
-2
0
0
0
0
0
41
29
-55
15
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
-16
32
-3
17
2
0
3
-11
14
-18
14
-4
43
-11
-1
-2
2
1
-53
85
27
57
0
1
0
2
1
17
-21
36
-14
-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
1
62
-45
-25
8
0
0
0
0
61
89
-12
9
-2
3
0
0
0
-30
54
8
-27
1
4
0
0
0
-6
-3
-34
-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
-32
94
44
-6
0
0
-2
1
-1
72
-23
-20
7
5
0
1
2
0
-7
42
-35
1
1
0
1
-3
0
15
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
5
83
-14
-3
2
0
0
0
0
-7
50
-56
2
0
0
0
0
0
-14
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
-19
46
23
0
0
0
-1
0
0
-68
-1
6
0
0
0
2
5
0
-32
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
0
0
0
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
-53
-3
0
0
0
0
0
0
97
20
-13
0
0
0
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
-18
-3
2
1
0
0
0
0
0
24
49
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
5
-13
0
0
0
0
0
0
7
-8
-4
-1
0
0
0
0
0
-9
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-9
-4
-4
0
0
0
0
0
-77
31
1
1
0
0
0
0
0
-51
14
15
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
33
42
0
0
1
0
0
4
0
-49
-36
36
4
0
0
0
0
0
25
18
16
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
24
-19
14
0
0
0
0
0
0
108
-35
-39
-4
0
0
0
0
0
-16
-7
55
-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
54
3
-2
0
0
0
0
-1
0
-32
-62
2
0
0
0
0
0
0
-9
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
56
-56
-8
0
0
0
0
0
0
26
63
-16
0
0
0
0
0
0
-13
34
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
-2
53
2
0
0
0
0
0
0
14
16
1
0
0
0
0
0
0
-1
21
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
93
-1
-3
-3
0
0
0
0
0
8
-4
10
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
11
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
3
0
0
0
0
0
-27
-16
8
0
0
0
0
0
0
55
-72
-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
-3
2
3
0
0
0
0
0
0
7
11
-5
0
0
0
0
0
0
11
-43
27
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
-33
-3
2
5
0
0
0
-1
-61
-10
55
0
-1
0
1
0
0
80
-35
-22
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
23
-14
0
3
0
0
0
0
0
-11
-33
3
1
0
0
0
0
0
3
-15
6
-4
0
0
0
0
0
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
29
-88
-1
1
0
0
0
6
0
-15
81
-19
0
1
0
0
0
0
-57
33
35
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
5
0
0
0
0
0
0
0
-17
-19
9
-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
20
-6
0
0
0
0
0
0
0
14
-51
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
-14
48
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
15
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
56
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
26
0
0
0
0
0
0
0
15
23
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
-11
0
0
0
0
0
0
0
-3
-53
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
9
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
18
-10
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
14
0
0
0
0
0
0
0
1
10
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
-15
0
0
0
0
0
0
0
14
-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
-15
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-24
-9
0
0
0
0
0
0
-35
26
-19
3
1
0
-1
1
0
55
-75
-27
-4
-2
0
-1
0
0
5
4
-51
31
-9
-27
-1
-1
-3
5
41
31
-22
-23
-5
0
0
0
0
-1
-24
-16
-4
21
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
-25
-25
2
-4
0
0
0
0
0
-49
20
-15
-7
-7
0
-1
0
0
7
-22
-5
53
10
1
-1
0
0
-20
87
27
1
-10
-20
0
1
0
-2
4
18
32
-13
7
0
0
0
0
0
2
9
24
1
-2
0
0
0
0
0
-1
29
-3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-6
0
0
0
0
0
0
0
-55
-62
-6
10
0
0
-1
-7
0
56
-28
-2
40
-3
-18
-8
-3
-5
53
38
20
1
-29
8
5
-5
3
74
-12
22
25
-10
4
-20
9
-1
-4
24
-19
72
-5
25
-10
0
0
-1
1
1
9
5
-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
-38
34
-9
-14
-35
-2
0
0
0
8
-25
23
41
-45
-11
0
-2
0
-31
47
14
9
-14
2
-11
0
1
14
10
-6
46
19
-6
-16
1
0
1
-23
7
18
-17
30
4
-1
0
0
0
10
27
5
6
0
0
0
0
0
-1
4
-22
26
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-34
6
20
-2
-1
0
0
0
0
16
-88
-48
7
13
4
9
9
0
45
-19
6
41
-5
5
-20
14
7
34
62
-12
63
16
10
10
19
0
-21
58
87
-25
-19
47
0
8
1
-2
-15
33
-14
-13
8
11
-1
0
0
0
0
2
-5
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
18
-4
-48
3
2
0
0
0
0
-9
28
2
-2
8
-3
-3
-1
0
1
52
-24
68
11
0
-1
0
1
11
-26
73
-42
31
-9
27
-2
0
0
-36
-15
38
14
-46
-5
0
0
1
0
0
-32
14
-2
-4
0
0
0
0
1
14
29
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
-37
-50
-3
-4
6
-1
0
0
0
-39
-12
30
4
0
-16
5
-5
0
-36
31
56
-4
-5
-2
43
1
0
-36
-23
-5
26
-5
15
22
-4
-1
-13
53
5
16
18
0
2
-1
0
0
4
1
1
14
-10
-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
109
-51
0
1
-1
0
0
0
-23
35
-5
36
-47
-9
1
0
0
-38
61
1
0
10
6
0
1
0
62
35
-45
6
25
1
-14
0
0
0
10
-6
-13
-12
2
0
0
0
0
0
4
8
-27
11
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
-19
10
2
18
2
1
0
0
0
-51
2
-32
14
0
15
5
0
0
24
14
-18
-5
10
-18
17
-1
0
15
43
-17
31
-6
2
-4
0
0
-5
4
11
15
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
23
4
-16
-3
2
0
0
0
0
-1
-29
36
-29
10
8
0
0
0
17
21
-45
-3
4
20
0
0
0
35
12
6
-5
-4
13
3
0
0
0
0
4
-11
-23
-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
45
5
4
0
0
0
0
0
-23
-23
12
5
3
0
-1
0
0
-9
9
-11
18
3
-2
0
0
0
-1
-23
17
19
2
0
0
0
0
0
-11
-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
56
14
4
-1
0
0
0
0
0
49
-13
14
-11
21
0
0
0
0
-19
4
7
-14
-7
0
0
0
0
0
-8
25
-4
18
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
-23
-15
3
1
0
0
0
0
0
-48
-4
-10
-4
-2
0
0
0
0
-41
-23
-3
-7
3
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
0
0
0
0
0
0
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
0
0
0
0
0
0
0
18
15
-5
-2
1
0
0
0
0
1
27
-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
-5
-16
1
0
0
0
0
0
0
11
-9
2
0
0
0
0
0
0
5
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
-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
-41
41
-8
0
0
0
0
1
0
23
-63
-5
13
-7
11
-1
-1
-4
13
9
-14
-14
7
4
-19
-3
-1
6
12
-33
10
30
5
9
0
2
0
7
-23
9
-19
48
0
-1
0
0
-1
2
8
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
-15
-25
-16
-8
0
0
0
0
0
-14
-53
9
-17
-24
1
0
0
0
15
23
-3
-7
-47
0
0
-1
0
37
15
-23
23
-9
4
0
0
0
2
0
-4
48
0
14
-1
0
0
0
0
0
19
20
-9
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-13
1
3
0
0
0
0
0
28
-43
-5
27
0
-10
-5
-27
-8
23
7
-57
-9
-1
-11
-15
-8
-2
50
-19
-11
-14
15
23
20
11
-4
-14
57
-21
48
20
7
4
-2
-3
1
33
-1
-46
-24
32
-2
2
0
0
-2
-7
15
-5
-14
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
-21
-5
1
-1
0
0
0
0
0
49
0
-18
-7
-18
-3
-1
0
0
-7
33
24
5
-4
14
0
0
0
-9
-11
-33
-9
2
26
5
0
0
19
10
92
-22
11
-17
6
0
0
1
0
-17
35
3
0
0
4
0
0
0
0
-9
-31
14
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
18
15
-6
1
5
1
1
1
23
-34
21
34
-11
24
-7
2
-7
-51
81
9
-18
-6
1
13
14
-5
-6
-35
-28
44
-30
10
-5
-5
35
-34
5
33
106
16
-7
-6
5
3
-2
6
7
-35
19
21
-3
0
0
0
0
-2
20
20
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
39
-44
9
-13
-3
0
0
0
0
10
16
8
10
3
5
0
0
0
-9
50
20
-20
7
14
1
-1
0
11
26
-16
-28
15
-17
2
1
0
4
15
5
-14
-19
-1
-6
0
0
0
0
-7
-5
42
7
0
0
0
0
0
0
-5
45
0
0
0
0
0
0
0
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
-107
34
-15
1
0
1
1
0
-62
-53
87
14
-6
14
-23
-10
-4
-4
29
-13
-5
-8
-6
3
14
14
18
9
-14
3
19
-3
-5
-14
0
-20
62
-28
3
15
4
3
1
0
2
-15
25
52
-18
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
-43
27
-29
-4
2
-3
0
0
0
-16
6
-1
47
0
-2
0
0
0
15
-71
12
21
-31
14
0
2
0
18
-3
-30
-11
-11
17
1
0
0
0
-1
13
19
-11
-6
1
0
0
0
0
0
-6
29
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
-13
-14
25
0
-2
0
2
0
0
-48
27
-27
5
-3
-4
4
-2
0
32
2
-23
-10
-3
8
7
4
-1
-14
1
-44
48
-5
13
2
0
0
-4
2
14
-8
8
11
-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
-19
11
4
0
0
0
0
0
-44
14
25
-3
9
0
1
0
0
-9
20
16
3
-1
5
0
0
0
2
-20
-15
5
17
2
-3
0
0
0
0
-27
-10
-13
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
9
0
0
0
0
0
-53
-12
-9
-2
-1
1
0
0
0
5
79
-5
37
8
0
-1
0
0
16
-20
-16
51
0
0
0
0
0
0
2
9
-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
-5
-27
-5
-4
0
0
0
0
0
-1
-27
-29
5
-3
0
0
0
0
-15
15
-3
2
-3
0
0
0
0
0
2
-6
-1
11
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
-14
-46
-2
-2
0
0
0
0
0
5
51
-6
-19
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
9
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
-11
0
0
0
0
0
0
0
-34
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
-13
0
0
0
0
0
0
0
36
-29
-2
2
0
0
0
0
0
19
-26
-4
-32
-1
0
-2
0
0
0
-43
0
-11
-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
-33
1
-3
-6
0
0
0
0
0
24
-38
-46
1
0
0
0
0
0
52
6
-26
23
-19
-3
0
0
0
1
1
-14
9
17
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
-31
20
-6
1
2
0
3
0
-25
-70
-33
52
1
-1
-3
0
0
7
37
13
20
7
8
0
0
-1
-3
-3
-24
-14
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
-16
1
0
0
0
0
0
0
6
5
-20
-11
-4
0
0
0
0
-1
14
4
9
37
-3
-1
0
0
15
-32
-5
6
-8
-7
1
0
0
13
3
5
-23
5
23
-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
-11
-11
2
1
-1
0
0
-2
0
23
-32
-19
7
4
1
0
0
0
19
85
-68
15
-29
19
0
0
-2
42
76
-15
6
18
-6
4
0
0
8
26
-17
57
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
18
-8
-1
0
0
0
0
0
-20
14
-17
0
-13
2
0
-1
0
30
48
19
-43
-13
10
-3
0
0
8
-8
-27
-14
39
21
4
0
0
0
6
7
1
-5
7
1
0
0
0
0
1
4
9
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
21
-3
-10
-3
0
0
0
0
0
46
-23
-28
-5
-1
0
-3
-2
0
0
10
-46
-5
20
7
-1
1
0
18
46
-21
-23
-19
0
-1
1
0
0
24
9
-11
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
80
-23
5
0
0
0
0
0
-11
22
16
-29
-6
-1
0
0
0
6
49
-17
-33
37
3
0
0
0
36
29
-7
7
-9
6
0
0
0
0
-3
-20
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
-19
-11
-20
-1
0
0
0
0
0
-74
-40
46
0
-1
-1
0
0
0
-1
2
23
15
1
-3
1
0
0
17
3
-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
15
-2
-15
0
0
0
0
0
0
-36
59
8
11
3
-1
0
0
0
-33
44
9
4
-33
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
26
0
-4
0
0
0
0
0
0
24
0
4
-2
1
0
0
0
0
8
-4
-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
10
9
-21
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
-19
0
0
0
0
0
0
0
3
-22
-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
15
21
-8
0
-1
0
0
0
0
-30
15
-51
-14
0
0
0
0
0
-11
-24
-24
0
3
-1
0
2
0
-8
20
-18
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
-16
3
0
0
0
0
0
44
-5
-20
-14
0
0
0
0
0
-47
14
-5
13
-7
-2
0
0
0
-1
-4
-17
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
-21
23
-4
0
0
0
0
-1
0
-22
28
-1
6
-14
-1
-1
1
-1
5
-41
-2
1
-13
6
-2
-11
-3
13
-11
-31
5
30
3
10
-1
0
-2
-9
-16
15
0
-3
0
0
0
0
-3
4
-17
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
18
-2
-3
0
0
0
0
0
0
6
-43
-1
-11
0
2
0
0
0
12
-62
-3
-9
15
1
0
0
0
-20
14
47
-7
-5
-4
1
0
0
-2
14
36
23
-5
4
2
0
0
0
0
0
-1
10
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
-3
-5
1
-1
0
0
2
0
-22
25
23
-2
-3
-20
-3
-2
0
-50
4
-54
23
-11
16
4
6
-1
-29
2
33
10
8
-1
0
4
0
-18
8
-5
-5
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
-15
7
5
0
0
0
0
0
0
-24
34
12
6
-13
-3
0
0
0
-8
65
-28
5
-18
0
-1
0
0
14
-11
27
26
-4
-7
-1
0
0
-1
4
3
23
9
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
-20
-1
-3
0
0
0
0
-1
0
-23
-24
7
4
0
-1
1
0
2
70
54
-54
-10
-10
-1
-5
0
3
2
20
19
-13
-16
6
1
0
0
-4
-9
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
8
18
9
-1
-1
0
0
0
0
-32
53
-15
-18
1
0
0
0
0
32
-9
13
8
7
2
-1
0
0
1
-10
-9
13
-9
-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
-49
-15
-2
0
0
0
0
0
1
65
-17
7
2
0
0
0
0
71
-20
1
-17
2
0
0
0
0
32
33
-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
10
-24
-2
0
0
0
0
0
-3
14
-22
18
0
0
0
0
0
11
-16
43
-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
-9
50
1
-1
0
0
0
0
0
-4
7
8
-2
0
0
0
0
0
47
-33
10
-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
-46
-24
0
0
0
0
0
0
-10
33
18
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
9
3
-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
-13
-13
-2
0
0
0
0
0
0
-8
33
-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
18
-1
0
0
0
0
0
0
-18
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
-27
23
0
0
0
0
0
0
0
-80
46
-16
-2
0
-1
0
0
0
5
30
-17
-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
-10
-2
0
0
0
0
0
0
-14
-15
-6
2
-1
0
0
0
0
-13
15
-5
15
1
0
0
0
0
-18
-4
4
-15
-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
-17
2
0
0
0
0
0
0
-78
14
25
-2
0
-3
0
2
0
-15
-18
-3
0
4
0
0
0
0
14
5
-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
-13
4
0
0
0
0
0
0
-19
-9
-10
23
-1
0
0
0
0
10
-3
-35
-13
-1
0
0
0
0
13
19
-14
-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
27
-15
-1
2
0
0
0
0
0
-25
47
0
-1
0
0
0
0
0
10
-11
16
-7
0
0
0
0
0
7
18
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
14
2
-5
0
0
0
0
0
0
33
-16
14
2
0
1
0
0
0
0
31
-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
-10
1
0
0
0
0
0
0
-6
-14
-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
17
-5
-1
0
0
0
0
0
0
-6
3
-9
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
-18
0
-18
0
0
0
0
0
0
-25
-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
-44
1
36
0
-1
0
0
0
-1
-59
34
7
9
1
0
1
0
0
16
23
-16
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
-11
-10
-26
2
1
0
0
0
0
10
5
-19
-10
0
0
0
0
0
1
1
-19
-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
-17
7
0
0
0
0
0
0
17
41
-18
15
0
0
0
0
-1
-48
17
-9
0
-1
0
0
0
0
14
18
-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
-18
14
-4
-1
-1
0
0
0
0
23
-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
-33
11
0
-1
0
0
0
0
0
1
-12
3
3
4
0
0
0
0
23
29
-15
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
-11
1
-2
0
0
0
0
0
14
-15
24
1
0
0
0
0
0
-8
-16
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
14
8
3
0
0
0
0
0
0
-39
33
2
0
0
0
0
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
13
21
-3
0
0
0
0
0
0
13
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
53
-9
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
-23
-36
0
0
0
0
0
0
0
-11
-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
-9
-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
19
0
0
0
0
0
0
0
15
-9
-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
-18
24
-4
0
1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
10
9
0
0
0
0
0
0
0
-13
-23
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
88
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
-36
-10
89
0
0
0
0
0
0
11
-44
-5
116
0
0
0
0
0
14
29
-23
-11
190
0
0
0
0
10
8
4
-54
-19
44
0
0
0
-19
-55
-5
47
-130
-81
-19
0
0
-47
-55
-69
-72
-71
58
9
99
0
32
2
33
-63
-19
-111
-159
281
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
39
138
0
0
0
0
0
0
0
53
-21
-26
0
0
0
0
0
0
96
48
-14
80
0
0
0
0
0
57
89
-3
71
-55
0
0
0
0
55
105
75
62
-22
5
0
0
0
53
5
-5
35
-6
19
-50
0
0
11
-26
-5
84
99
127
62
133
0
-67
-44
-100
-15
-25
39
7
240
-17
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
-12
44
0
0
0
0
0
0
0
-59
-80
46
0
0
0
0
0
0
-35
-109
-95
69
0
0
0
0
0
-70
-52
-47
41
-27
0
0
0
0
-11
10
-86
-94
-80
101
0
0
0
-81
0
-65
-52
-55
-166
91
0
0
10
-55
-22
-172
-76
-8
-193
178
0
-2
14
-29
-61
-84
-82
-147
-27
0
0
0
0
0
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
-9
-19
0
0
0
0
0
0
0
-104
-52
-23
0
0
0
0
0
0
-1
-23
41
-22
0
0
0
0
0
-8
-33
-40
76
32
0
0
0
0
16
-8
-92
-14
-72
76
0
0
0
5
85
-80
-50
109
10
-25
0
0
-1
42
-35
-37
-57
-5
8
7
50
0
0
0
0
0
0
0
0
0
12
80
0
0
0
0
0
0
0
0
44
27
-4
0
0
0
0
0
0
0
-14
2
1
0
0
0
0
0
0
0
143
42
65
-63
-15
0
0
0
0
0
130
96
62
53
-74
4
0
0
0
0
63
70
167
11
12
-49
-91
0
0
0
53
54
84
5
-72
-24
-40
-85
0
0
50
25
52
66
-162
-124
-200
-194
-175
0
106
139
162
-68
-55
-161
-126
-90
40
-29
0
0
0
0
0
0
0
0
0
0
0
134
0
0
0
0
0
0
0
0
0
-70
55
0
0
0
0
0
0
0
0
-4
-1
-5
0
0
0
0
0
0
0
14
-3
-102
-9
0
0
0
0
0
0
6
116
-3
-6
-78
0
0
0
0
0
24
-20
-30
15
21
-43
0
0
0
0
-42
-63
2
-31
3
-37
50
0
0
0
-91
-96
-37
-14
-19
59
-12
3
0
0
34
-50
-14
51
75
-10
-71
-86
-43
0
0
0
0
0
0
0
0
0
0
121
0
0
0
0
0
0
0
0
0
61
79
0
0
0
0
0
0
0
0
39
56
42
0
0
0
0
0
0
0
32
92
-28
11
0
0
0
0
0
0
-34
43
-27
-23
-6
0
0
0
0
0
56
36
-12
-1
36
-35
0
0
0
0
44
55
-64
-4
21
-20
-35
0
0
0
10
102
128
-2
-26
-66
151
5
0
0
57
-5
-16
4
11
-26
39
44
41
0
0
0
0
0
0
0
0
0
0
0
0
131
0
0
0
0
0
0
0
0
0
-23
54
0
0
0
0
0
0
0
0
23
-42
-34
0
0
0
0
0
0
0
76
26
-84
5
0
0
0
0
0
0
67
43
65
74
31
0
0
0
0
0
-69
7
61
14
19
-5
0
0
0
0
178
45
53
-8
23
14
-1
0
0
0
17
-21
-67
-74
27
14
17
3
0
0
49
-41
-104
5
-24
-11
-1
25
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
130
0
0
0
0
0
0
0
0
3
65
0
0
0
0
0
0
0
-32
-11
49
0
0
0
0
0
0
-22
-52
-55
65
0
0
0
0
0
-43
-30
-62
-82
62
0
0
0
0
-8
-68
-72
-54
-50
5
0
0
0
-92
-157
-48
50
-167
15
-3
0
0
-36
-75
-84
-83
-123
20
-21
-6
0
22
44
-126
-33
-91
-103
-131
248
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
23
-13
0
0
0
0
0
0
0
91
33
33
0
0
0
0
0
0
35
82
-23
-66
0
0
0
0
0
13
36
-44
-53
137
0
0
0
0
14
-89
127
108
76
0
0
0
0
-34
37
-27
-8
-22
-2
25
0
0
-18
-78
-24
43
2
-29
132
21
0
-44
-44
-47
-9
13
-33
32
103
15
0
0
0
0
0
0
0
0
0
0
-84
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
38
27
0
0
0
0
0
0
0
4
-15
26
0
0
0
0
0
0
-91
15
-5
19
0
0
0
0
0
-52
-62
-77
14
30
0
0
0
0
-55
-11
-62
-44
-77
20
0
0
0
-16
-37
-38
-62
-53
-53
60
0
0
67
-79
-33
-60
-89
-114
-102
37
0
55
11
-61
-73
-74
-45
-89
-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
-11
0
0
0
0
0
0
0
0
-61
-18
0
0
0
0
0
0
0
-18
-93
-4
0
0
0
0
0
0
-9
-72
49
42
0
0
0
0
0
-41
-23
-66
-26
33
0
0
0
0
-4
-3
-25
22
57
-23
0
0
0
-10
-67
36
97
64
7
76
0
0
-13
-19
32
-10
53
72
-8
46
-8
0
0
0
0
0
0
0
0
0
49
162
0
0
0
0
0
0
0
0
17
46
114
0
0
0
0
0
0
0
-61
0
-8
0
0
0
0
0
0
0
48
-6
57
2
-16
0
0
0
0
0
51
-22
62
-7
1
-106
0
0
0
0
73
68
8
13
-25
-115
-117
0
0
0
41
43
48
-5
-75
-58
-41
-20
0
0
75
55
17
25
-159
-118
-144
-96
-124
0
53
56
52
-6
-101
-27
-73
-11
-116
-64
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
-15
38
0
0
0
0
0
0
0
0
-22
-7
1
0
0
0
0
0
0
0
-88
-78
40
14
0
0
0
0
0
0
19
44
-111
-63
33
0
0
0
0
0
29
-52
-44
25
20
-70
0
0
0
0
4
35
35
65
23
91
61
0
0
0
22
-3
4
46
4
-23
0
-142
0
0
7
11
22
18
11
13
-30
-20
-39
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
38
64
0
0
0
0
0
0
0
0
39
99
61
0
0
0
0
0
0
0
-3
33
-114
-18
0
0
0
0
0
0
21
-20
-9
-33
0
0
0
0
0
0
-22
34
-25
-8
65
-37
0
0
0
0
108
57
-84
-13
-31
-59
33
0
0
0
49
-20
30
-15
5
13
-58
14
0
0
-8
-67
6
-8
-12
-73
-36
-18
65
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
71
-55
0
0
0
0
0
0
0
0
36
17
32
0
0
0
0
0
0
0
28
97
-9
34
0
0
0
0
0
0
-17
44
-3
-16
80
0
0
0
0
0
45
32
53
45
71
5
0
0
0
0
-16
62
56
-7
-59
82
-2
0
0
0
22
-5
55
84
73
23
145
0
0
0
36
1
-108
11
20
-31
5
82
0
0
0
0
0
0
0
0
0
0
0
113
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
11
9
0
0
0
0
0
0
0
5
-65
54
0
0
0
0
0
0
-9
-50
2
-68
0
0
0
0
0
-10
-34
-27
-55
22
0
0
0
0
8
-10
-2
-87
-59
47
0
0
0
-115
-76
-22
32
-72
39
47
0
0
-49
-69
-49
-132
-43
-34
-28
28
0
-33
60
-119
-31
-37
-109
-64
57
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
-34
-21
0
0
0
0
0
0
0
90
4
56
0
0
0
0
0
0
-62
39
132
-33
0
0
0
0
0
11
14
-5
-40
73
0
0
0
0
23
23
73
99
56
-37
0
0
0
-4
26
48
-47
-19
6
-34
0
0
-10
-6
6
55
52
-17
105
13
0
-44
-62
40
-38
-6
62
-42
23
-4
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
-80
-30
0
0
0
0
0
0
0
-55
-108
-25
0
0
0
0
0
0
-13
-81
8
5
0
0
0
0
0
-14
-12
-66
43
54
0
0
0
0
-50
-64
33
-4
-40
29
0
0
0
-86
-122
29
-99
-61
-71
47
0
0
19
-15
-27
-71
-82
-99
-112
75
0
30
73
-25
-71
-10
-23
-104
-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
5
0
0
0
0
0
0
0
0
-21
15
0
0
0
0
0
0
0
81
-36
-8
0
0
0
0
0
0
-30
-31
8
14
0
0
0
0
0
9
21
-28
33
33
0
0
0
0
25
72
71
104
23
10
0
0
0
40
54
30
-39
35
-68
96
0
0
9
18
44
4
33
-68
-31
-27
-46
0
0
0
0
0
0
0
0
0
18
78
0
0
0
0
0
0
0
0
-27
88
89
0
0
0
0
0
0
0
9
-22
23
0
0
0
0
0
0
0
3
12
-4
44
-29
0
0
0
0
0
132
94
22
-16
-13
-53
0
0
0
0
50
27
14
-10
-60
-125
-126
0
0
0
23
40
33
32
-45
12
3
2
0
0
43
52
53
8
-32
-4
-60
-178
3
0
50
6
51
-21
-43
-37
6
-43
-95
29
0
0
0
0
0
0
0
0
0
0
0
87
0
0
0
0
0
0
0
0
0
113
16
0
0
0
0
0
0
0
0
-29
81
44
0
0
0
0
0
0
0
27
-27
48
90
0
0
0
0
0
0
24
8
-109
-81
23
0
0
0
0
0
21
26
63
121
30
-9
0
0
0
0
9
-34
89
89
-78
62
-5
0
0
0
26
-53
-55
37
85
-7
-21
-95
0
0
54
34
-39
-63
-77
41
-4
29
-5
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
11
80
0
0
0
0
0
0
0
0
50
-25
-44
0
0
0
0
0
0
0
51
54
4
10
0
0
0
0
0
0
-26
-49
-50
-24
-58
0
0
0
0
0
2
64
45
14
25
-56
0
0
0
0
-83
-38
-54
-14
8
8
119
0
0
0
-13
-80
-43
-5
3
4
-82
35
0
0
56
-47
40
-6
-3
-37
-33
-16
-14
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
92
7
0
0
0
0
0
0
0
0
-20
2
105
0
0
0
0
0
0
0
-67
53
1
-1
0
0
0
0
0
0
3
-18
14
92
24
0
0
0
0
0
34
-11
7
55
42
14
0
0
0
0
-43
100
13
5
-25
46
-2
0
0
0
-25
55
-53
112
22
26
73
0
0
0
-107
4
-8
11
66
-10
3
16
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
-32
-45
0
0
0
0
0
0
0
15
14
56
0
0
0
0
0
0
43
9
1
-64
0
0
0
0
0
13
25
63
-2
54
0
0
0
0
7
14
28
-32
-58
11
0
0
0
-22
-1
2
0
-46
13
-30
0
0
33
8
-13
-27
-6
-33
8
48
0
15
5
23
-9
11
-1
-49
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-24
7
0
0
0
0
0
0
0
6
5
-1
0
0
0
0
0
0
-18
-7
5
0
0
0
0
0
0
1
-2
0
1
1
0
0
0
0
14
-3
0
4
-6
-1
0
0
0
22
5
13
-2
0
0
0
0
0
-31
-47
69
13
-23
-27
-4
-10
0
-16
-8
53
5
-44
-32
-37
-5
-6
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-22
-2
-49
0
0
0
0
0
0
14
5
-37
-67
0
0
0
0
0
0
9
25
22
-2
0
0
0
0
23
-14
6
8
-7
-113
0
0
0
-5
-39
-45
-83
22
-15
13
0
0
-13
-3
46
-56
-18
15
-58
31
0
-53
-47
-13
27
33
-21
-73
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
13
-1
15
0
0
0
0
0
-5
39
-5
19
0
14
0
0
0
-35
-2
27
-44
0
-24
5
0
0
31
17
11
-20
53
-46
17
0
-53
0
0
0
0
0
0
0
0
0
14
-29
0
0
0
0
0
0
0
0
5
-24
33
0
0
0
0
0
0
0
14
-1
7
0
0
0
0
0
0
0
55
27
-12
0
-5
0
0
0
0
0
8
-3
45
5
-13
0
0
0
0
0
6
23
26
6
-6
-1
-2
0
0
0
-3
84
19
5
-11
-7
-5
5
0
0
10
-15
6
43
29
-3
2
-44
-20
0
45
-112
-33
-20
0
-1
-8
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
-98
0
0
0
0
0
0
0
0
0
-75
-26
0
0
0
0
0
0
0
0
-6
45
2
0
0
0
0
0
0
0
-14
7
-33
8
0
0
0
0
0
0
11
13
-20
-21
0
0
0
0
0
0
7
-1
22
33
22
2
0
0
0
0
10
1
38
-33
-20
-14
-1
0
0
0
48
-92
-12
52
40
-4
-11
16
0
0
80
59
12
-12
55
39
-25
-2
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
58
18
0
0
0
0
0
0
0
0
5
-18
-30
0
0
0
0
0
0
0
-4
47
0
53
0
0
0
0
0
0
-47
36
-7
-1
-1
0
0
0
0
0
54
41
-3
0
-3
9
0
0
0
0
23
-14
18
0
3
3
39
0
0
0
50
1
3
0
-1
0
-7
-1
0
0
1
0
-17
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
-63
23
0
0
0
0
0
0
0
0
42
26
45
0
0
0
0
0
0
0
-30
-12
-30
-5
0
0
0
0
0
0
-18
-5
11
3
-2
0
0
0
0
0
-54
-1
2
-7
10
0
0
0
0
0
5
39
9
-4
0
0
0
0
0
0
9
5
-20
-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
-81
-15
3
112
-33
43
0
0
0
-35
-2
6
0
-5
0
0
5
-10
16
78
-24
41
0
0
0
45
9
1
0
-46
0
0
-59
-24
-4
22
-80
-23
0
0
0
-35
-14
-14
0
10
0
0
91
-21
-9
33
45
-19
0
0
0
27
6
-44
2
-3
0
0
-81
125
52
-115
-28
18
0
0
0
28
-36
-93
31
42
0
0
-70
138
-9
-92
-19
52
0
0
0
-212
0
-92
-7
77
0
0
-92
101
-56
-149
-68
-109
0
0
0
15
0
-29
8
-91
0
0
-7
112
-26
-98
-25
66
0
0
0
-24
-9
0
13
2
0
0
-66
-17
-115
48
5
137
0
0
0
23
0
-5
-1
67
0
0
-32
-32
-47
-20
-4
25
0
0
0
-53
13
4
0
-55
0
0
-40
7
4
12
-95
26
0
0
0
-110
-15
10
6
59
0
0
42
85
7
-100
-4
-45
0
0
0
46
19
-108
32
9
0
0
-125
13
22
0
-119
-21
0
0
0
45
8
-116
64
14
0
0
-63
23
-53
1
27
275
0
0
0
-23
0
-78
11
100
0
0
-100
97
18
-33
-6
-72
0
0
0
-33
2
-30
49
-12
0
0
-106
54
-43
4
-24
-70
0
0
0
-22
-9
0
10
2
0
0
-31
70
-54
33
87
50
0
0
0
11
1
-5
-2
7
0
0
4
6
-45
-8
-70
44
0
0
0
-32
10
4
0
-37
0
0
31
0
2
-19
-100
10
0
0
0
-72
-14
-3
6
20
0
0
-45
101
6
-71
14
-25
0
0
0
77
24
-51
25
129
0
0
26
58
14
0
-75
74
0
0
0
81
8
-3
-2
80
0
0
-58
-57
-2
-18
-145
87
0
0
0
-45
0
-47
2
40
0
0
-103
-87
17
8
-78
48
0
0
0
-49
2
-48
18
19
0
0
-82
6
-46
42
-113
-111
0
0
0
0
-1
0
0
1
0
0
-16
61
0
9
-10
1
0
0
0
7
0
0
0
0
0
0
33
-26
0
4
-1
-2
0
0
0
-1
0
0
0
3
0
0
26
-3
0
0
36
0
0
0
0
1
0
0
0
0
0
0
-8
-3
0
-5
-4
-1
0
0
0
4
1
-2
0
11
0
0
3
-25
0
-24
-14
45
0
0
0
-5
1
1
-2
10
0
0
-17
76
15
-3
-11
-4
0
0
0
-4
0
0
0
7
0
0
-3
-44
0
-14
-23
14
0
0
0
1
0
0
0
1
0
0
1
-48
-5
-4
-6
-1
0
0
0
0
0
-2
0
-23
0
0
-44
5
-24
-55
-45
8
-30
0
0
0
0
0
0
-65
-19
0
-188
-77
-94
-55
-76
-86
-69
0
0
-4
0
0
0
-1
0
0
24
-30
7
20
37
0
-26
0
0
24
-1
13
1
-33
-1
0
-35
-9
-85
-8
-23
-6
-31
0
0
-58
0
8
3
-52
-45
0
-111
-5
-109
-118
-103
-15
-150
0
0
6
-5
14
-25
-1
0
0
-44
-14
-59
-40
23
21
-42
0
0
-54
-1
7
1
-18
2
0
33
6
15
-14
-46
-150
-48
0
0
-47
0
6
3
-31
23
0
-114
2
-26
-48
-74
14
-119
0
0
40
-13
3
-13
-1
0
0
-62
-13
-94
3
53
21
-43
0
0
-4
0
0
0
-7
-1
0
-52
16
-36
58
-55
4
-27
0
0
7
0
-1
2
1
1
0
-52
-69
-25
25
-83
-23
19
0
0
0
0
0
-1
0
0
0
-16
5
-11
-11
6
-1
-8
7
-4
10
-1
21
19
1
-2
10
-8
10
16
0
-6
1
-15
57
-1
58
-1
-19
3
-26
33
-24
22
8
-8
25
31
-26
32
3
-8
6
-8
21
18
14
19
24
5
24
-8
4
15
-2
38
-40
6
46
-16
-1
-39
15
4
-33
42
18
-13
-31
-29
-6
2
14
22
4
3
3
13
-1
7
-6
-33
-5
-58
-30
-7
-30
-6
14
18
25
-14
49
4
5
46
-29
-5
8
0
-23
-14
-8
1
-8
0
9
9
-4
-8
-5
5
5
-3
-3
6
-48
18
18
9
-25
30
-26
-9
38
-5
1
-9
46
75
-10
58
6
16
-1
-8
2
6
-8
-8
2
4
-2
-2
6
2
1
-8
5
-21
3
-23
-70
17
-21
31
-30
-15
60
-10
-40
18
-31
11
-30
29
9
17
3
-4
12
-21
-2
6
-6
-9
6
7
6
6
9
8
8
-3
16
-20
37
-43
-52
-1
-6
0
-57
19
-48
-25
-29
16
3
-4
5
-13
-9
0
6
-3
3
6
4
-39
-5
2
-15
-33
3
-82
-6
26
-19
-8
-17
7
16
9
59
0
53
1
28
-4
30
2
6
-34
-3
13
2
-10
9
-7
7
-31
-14
-14
-22
0
-14
2
-10
-23
11
22
15
-17
-2
2
16
-4
-9
18
-17
-3
-1
-1
7
19
-12
-5
-15
3
-5
9
6
2
-6
-1
12
-2
6
11
22
-10
-35
23
15
11
-19
-1
-41
-82
0
16
4
14
-46
31
-11
16
-11
7
-7
10
-6
3
-1
-12
-9
3
4
8
8
3
38
47
88
9
44
3
15
43
12
-27
-1
-27
44
2
13
-16
-22
11
-21
-9
-11
-6
-15
-28
4
9
-6
2
6
-5
-8
11
42
-36
39
6
-50
-23
-25
45
35
-16
-62
47
3
-11
5
15
-5
-4
-54
-52
-5
-43
-19
-21
3
-8
-24
1
9
14
3
-10
15
0
-20
-20
-14
-14
-11
-7
3
-3
32
-5
24
-5
-9
46
-16
21
6
-35
-1
-3
-10
4
-2
16
7
-3
4
14
4
-5
15
50
69
17
6
14
56
-6
-44
-57
9
-2
30
-9
1
-5
-7
-7
-8
-9
-3
0
-5
3
4
-14
11
26
4
2
37
11
11
-50
-27
-24
-8
15
-18
-19
-19
-7
-62
-6
-7
-26
37
11
-42
14
-8
22
-25
-20
2
12
-4
-9
-10
-29
-10
6
-8
-16
37
88
-18
-5
-13
24
-8
0
-23
38
-7
33
-14
14
1
-9
14
-49
-78
-46
10
-40
-19
-4
-3
25
5
-23
20
17
-46
29
14
13
4
11
0
-2
5
7
0
-3
15
11
5
13
10
-1
-2
-40
39
8
28
14
29
-32
21
14
18
-23
25
11
43
31
24
63
0
56
7
3
-38
16
-4
7
-29
5
-38
46
24
-34
-25
5
-35
43
7
-19
6
-11
16
-16
33
16
-8
-23
60
-5
15
4
-10
3
22
-4
-21
22
43
41
33
-8
69
-4
-17
4
-24
-62
-47
74
-20
31
3
-11
58
44
22
14
-22
91
-20
-33
-5
19
36
29
-11
-14
29
-18
17
-24
11
56
-3
38
-22
-2
24
-58
55
-7
-33
14
-47
77
43
6
5
-33
-30
0
-7
39
-12
2
-3
40
-17
36
3
-22
-15
-17
56
-29
143
3
45
23
11
17
-35
-43
-18
-19
-25
13
22
26
23
24
44
10
17
-59
25
9
-59
19
-1
-6
-26
10
0
-4
10
30
-4
-18
-16
-30
-8
-15
-15
-26
-24
3
-5
-15
13
18
32
34
34
-14
35
11
43
0
-47
4
33
10
6
-8
67
-18
36
41
37
-19
100
8
-33
-28
-15
-27
-20
-8
-10
1
-72
22
-9
-37
2
20
4
0
2
37
-13
-14
23
18
5
-5
-20
10
79
-23
-3
28
27
19
14
-36
5
16
-11
4
5
11
36
-14
2
-3
27
-5
21
-14
19
-10
7
59
-26
2
2
13
5
-5
9
11
10
-4
-1
-6
20
22
17
-7
-74
8
21
14
-9
13
-33
34
-24
14
6
21
8
20
52
-14
33
-20
31
18
15
-31
21
-3
27
46
46
14
23
-13
-34
36
24
31
-25
68
27
-8
-44
-49
11
-30
7
21
25
19
-27
14
22
20
52
14
14
29
28
-17
1
37
0
-34
37
-6
-27
-27
32
-17
-35
19
3
20
-10
-49
-3
65
16
-14
37
14
-37
34
30
17
22
37
10
-26
15
-34
-43
52
56
29
-41
-4
18
-19
-9
17
-4
4
10
18
-15
35
16
26
58
69
17
22
14
23
24
-5
9
-14
17
56
39
-9
8
-2
24
19
-41
19
0
-2
-14
55
33
101
-24
35
0
26
25
37
6
33
21
52
-24
31
-82
36
3
-4
3
-22
26
65
10
-20
43
28
4
65
1
-64
34
10
44
-37
0
80
-5
-9
-35
16
65
16
18
35
21
-49
-4
-71
7
-1
14
70
23
11
55
-23
42
-14
-18
-5
15
14
9
21
34
-6
24
18
38
-15
7
-18
-6
-9
9
26
-3
49
59
-24
-18
-34
4
10
22
6
1
-4
36
-5
21
15
0
2
10
6
-16
8
-5
11
-8
-6
-2
26
-5
-3
-13
-15
43
17
43
-8
10
-6
45
-1
33
22
-40
7
23
-2
4
6
6
5
14
6
3
7
6
1
-1
-11
-3
-6
3
-6
-12
6
-11
12
-9
17
-25
-6
32
24
-26
-65
-21
-19
16
-17
10
6
0
3
-3
3
-3
-18
-2
7
-1
10
-4
-3
1
-63
-54
-60
11
8
2
17
3
28
12
-11
4
19
16
-3
-1
22
7
4
0
3
-4
-5
-2
5
2
-1
-2
-8
-13
-23
-31
-33
-20
22
6
44
-30
-36
26
-9
44
4
33
25
7
17
25
-3
2
10
0
17
-11
-2
-13
-18
-8
26
32
-2
-8
-1
-7
2
25
4
-30
-1
58
-16
-25
-13
46
-2
-30
34
19
107
20
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
10
2
12
54
14
-4
9
5
1
-1
2
13
-3
2
-3
12
2
-4
47
6
7
52
19
26
-22
-13
9
68
12
-8
19
-11
0
-40
-14
-6
-7
-4
15
13
6
10
-3
-31
1
4
0
27
-5
-14
2
5
-8
41
1
26
-7
46
-5
104
-26
-25
-9
-7
0
-18
24
28
-6
-3
6
2
7
14
-9
-2
-10
1
-8
24
14
54
58
-5
-1
9
-22
128
17
-17
31
5
-15
10
8
53
-15
-6
2
13
-4
-16
28
4
0
17
17
-8
-32
23
3
8
-12
82
-14
-11
-32
0
72
77
14
-28
-55
34
19
26
-46
-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
-4
-9
20
5
-2
1
7
11
-24
45
-41
11
59
-3
27
-17
2
67
8
67
-2
30
10
26
0
-38
47
16
48
5
40
41
-10
1
53
44
27
0
-50
15
16
20
12
62
4
-18
48
-5
56
-6
23
32
8
47
17
-14
-8
33
-53
-10
42
44
21
-14
-12
-21
-70
-16
36
6
76
-8
-11
20
-10
53
-51
29
13
58
-39
-8
0
-33
17
3
-45
-7
-32
95
-9
1
0
43
53
2
17
31
-25
17
80
-24
-16
3
-13
-60
17
72
-53
-25
-39
25
134
-14
71
7
26
-6
-1
25
19
6
15
20
43
30
-45
-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
34
-36
-4
24
5
4
-6
-11
-8
31
-14
44
-17
5
49
14
7
9
-14
-28
-55
3
27
-3
15
-29
33
39
4
-14
11
60
26
-1
-24
51
-24
34
-43
4
9
46
-4
-91
-11
-25
30
0
11
39
-21
12
-6
-7
10
-26
-47
37
-4
43
8
-66
72
74
5
13
36
-1
20
-13
6
32
-21
-23
-53
-6
34
-62
32
-3
7
-47
-30
56
23
-5
-49
37
55
71
37
3
7
25
-2
19
13
47
-18
-10
25
-22
23
5
31
0
3
-54
-71
2
7
-3
-11
13
6
32
8
48
-23
-19
32
101
17
31
57
-13
46
-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
3
-4
9
15
0
0
0
0
11
2
12
1
0
0
0
0
34
-10
-2
-23
0
0
0
0
-42
-16
17
-9
0
0
0
0
5
-5
-4
0
0
0
0
0
9
5
2
-19
0
0
0
0
54
5
-7
15
0
0
0
0
45
23
-31
-28
0
0
0
0
6
2
2
-2
0
0
0
0
10
10
-6
-49
0
0
0
0
-7
30
-2
-11
0
0
0
0
-5
-34
-37
36
0
0
0
0
3
-4
-9
-21
0
0
0
0
34
32
17
18
0
0
0
0
-17
-4
1
-27
0
0
0
0
-1
-8
14
38
0
0
0
0
5
12
-1
-4
0
0
0
0
3
-6
2
-21
0
0
0
0
18
-32
50
3
0
0
0
0
16
5
-35
5
0
0
0
0
-2
-1
-9
-22
0
0
0
0
-4
-20
-1
-13
0
0
0
0
12
32
36
-14
0
0
0
0
8
-44
2
-45
0
0
0
0
5
-8
0
5
0
0
0
0
7
-8
-9
27
0
0
0
0
-1
31
10
-15
0
0
0
0
40
35
90
-43
0
0
0
0
0
-2
-18
17
0
0
0
0
-14
5
-6
15
0
0
0
0
-13
17
14
13
0
0
0
0
18
-23
-2
-2
0
0
0
0
13
9
13
0
0
0
0
0
3
3
7
-9
0
0
0
0
-14
1
53
-24
0
0
0
0
-18
12
1
49
0
0
0
0
10
14
-19
-2
0
0
0
0
10
9
11
-18
0
0
0
0
-9
-6
43
60
0
0
0
0
-2
-33
40
53
0
0
0
0
6
-1
12
14
0
0
0
0
2
0
-12
-22
0
0
0
0
-9
46
21
79
0
0
0
0
-1
7
-18
-20
0
0
0
0
-4
13
16
21
0
0
0
0
-23
-6
37
-4
0
0
0
0
56
28
-11
-26
0
0
0
0
12
-5
-5
18
0
0
0
0
-7
-2
-11
-6
0
0
0
0
-10
-5
-8
17
0
0
0
0
-24
-16
15
-5
0
0
0
0
0
0
2
24
0
0
0
0
-5
-4
-14
-53
0
0
0
0
-14
-4
-10
-47
0
0
0
0
10
-8
-17
50
0
0
0
0
21
-12
-13
32
0
0
0
0
1
-5
-40
-49
0
0
0
0
-6
-9
-24
19
0
0
0
0
16
44
-6
80
0
0
0
0
-4
35
-23
-16
0
0
0
0
2
-3
-12
26
0
0
0
0
-7
38
-3
13
0
0
0
0
-38
-21
61
-28
0
0
0
0
8
-19
0
-18
0
0
0
0
65
-14
-10
33
0
0
0
0
-10
8
-13
16
0
0
0
0
11
-29
9
-4
0
0
0
0
17
38
12
68
0
0
0
0
6
1
17
7
0
0
0
0
69
24
31
-87
0
0
0
0
58
-8
11
-34
0
0
0
0
18
13
-1
30
0
0
0
0
-4
-14
-49
7
0
0
0
0
15
-42
9
17
0
0
0
0
57
47
-14
32
0
0
0
0
52
-13
41
28
0
0
0
0
-14
53
30
11
0
0
0
0
17
38
-3
4
0
0
0
0
55
39
-22
7
0
0
0
0
-20
5
4
-12
0
0
0
0
-14
28
-41
-36
0
0
0
0
13
16
18
-18
0
0
0
0
29
3
38
-4
0
0
0
0
-61
13
-4
4
0
0
0
0
-38
-35
18
-25
0
0
0
0
1
-25
29
-33
0
0
0
0
-8
38
19
-6
0
0
0
0
11
12
56
15
0
0
0
0
90
-43
-43
17
0
0
0
0
67
-46
16
12
0
0
0
0
40
12
-12
5
0
0
0
0
-25
53
-65
-62
0
0
0
0
-29
32
-13
-16
0
0
0
0
16
35
58
20
0
0
0
0
54
-5
19
35
0
0
0
0
60
-58
46
-36
0
0
0
0
-71
-18
11
19
0
0
0
0
5
2
-50
13
0
0
0
0
17
-10
10
-23
0
0
0
0
20
14
-6
21
0
0
0
0
-10
59
3
8
0
0
0
0
12
23
-3
60
0
0
0
0
102
31
-13
-51
0
0
0
0
38
-15
38
-22
0
0
0
0
5
-28
52
-25
0
0
0
0
-14
6
-13
78
0
0
0
0
31
43
-5
9
0
0
0
0
21
22
-48
15
0
0
0
0
25
-16
14
33
0
0
0
0
-5
54
-3
2
0
0
0
0
59
14
-49
72
0
0
0
0
35
-11
-18
14
0
0
0
0
-26
35
-23
2
0
0
0
0
-14
2
-65
42
0
0
0
0
6
69
-27
13
0
0
0
0
-5
33
23
18
0
0
0
0
11
-77
45
31
0
0
0
0
-24
95
24
36
0
0
0
0
-9
50
-18
25
0
0
0
0
13
-43
34
-67
0
0
0
0
-74
-31
21
6
0
0
0
0
-19
31
3
11
0
0
0
0
-6
24
33
-8
0
0
0
0
45
10
18
2
0
0
0
0
-7
16
-7
26
0
0
0
0
-13
41
-40
-8
0
0
0
0
4
66
-45
99
0
0
0
0
1
-13
26
48
0
0
0
0
-1
-1
-7
1
2
1
4
1
1
0
-5
-24
-6
-5
4
-30
-15
20
69
-26
-39
21
5
-1
7
43
3
47
37
11
-6
17
-12
-14
1
-3
-5
-14
2
-15
11
-30
-10
-37
14
10
5
4
-15
43
54
4
-69
17
15
5
-12
48
-11
20
6
-23
27
-1
8
-15
3
-9
2
-7
-9
25
16
5
4
-33
-26
1
-23
-10
51
-1
4
-5
21
16
-16
-2
-48
27
23
21
22
-35
17
3
-8
8
4
-3
-8
-12
-9
25
-15
8
-11
-19
-33
-42
14
111
59
-19
52
2
-22
24
11
25
28
2
-23
9
33
-7
10
-1
-4
6
13
14
-8
-14
-2
-8
11
8
8
2
-10
-6
6
-21
28
41
7
52
-3
-31
1
-2
-3
0
35
-25
84
-2
-15
5
-9
6
-4
-6
-10
-2
-5
12
10
11
-9
-6
1
-15
-7
-29
-18
28
3
-14
-27
18
0
-4
8
18
7
-8
-4
-25
-15
13
-4
-4
4
5
-7
-7
-4
4
2
-1
2
-23
-8
1
2
-6
2
0
-1
27
86
-9
-33
-9
-53
23
-7
1
58
11
45
0
-11
2
6
17
-4
-7
-12
-21
9
36
29
31
10
-16
23
-4
36
0
-1
-7
-31
-9
-9
9
21
-4
2
8
-4
18
-11
29
-2
-5
8
-52
14
-1
18
18
10
-13
-8
-55
-4
0
-13
25
-3
-8
0
-41
-1
-3
-1
45
61
33
24
25
-8
14
-23
34
-38
-9
-36
32
13
8
-27
-37
2
13
-10
-16
5
0
-44
-34
-21
27
25
23
15
-19
5
-9
4
-13
26
-24
34
-21
3
-13
27
-1
-14
-92
7
2
-7
-42
0
4
-14
-31
2
3
-29
-42
3
-14
22
-30
-22
7
-13
3
19
7
-14
-5
22
3
17
-15
-26
-63
23
-14
-9
-1
28
74
-19
-28
37
6
-23
-20
6
2
5
-8
32
-1
55
-9
51
26
21
-26
-7
35
32
0
30
-5
7
-40
-22
-1
-6
5
-13
-8
3
4
1
-5
5
6
-4
-47
13
21
3
64
-25
7
14
3
-20
-6
65
48
24
23
-34
22
-10
-21
24
-61
9
3
5
-1
7
5
-14
-10
-20
-8
-27
-1
5
-17
-9
20
-16
-18
-5
-5
1
-14
35
-7
-7
2
-17
-1
-5
12
-3
4
13
-1
-8
-27
3
-3
-7
-11
-2
14
-14
15
36
-39
25
-14
-11
-7
-30
26
3
9
59
1
3
39
27
-25
20
7
28
-39
17
5
36
-4
10
25
3
-7
27
17
60
65
28
4
65
18
17
-5
-5
2
43
-17
14
-22
-21
0
10
-8
-14
42
44
12
29
22
-21
4
16
-16
28
-23
-36
-18
-29
-5
5
90
-43
58
64
3
4
-8
3
24
59
28
-58
-13
-14
3
-3
0
20
-4
58
-24
-10
-3
-23
49
-5
-4
7
-7
14
16
1
6
-60
5
-9
-17
-9
3
54
23
-46
33
31
1
-7
2
-60
-3
-14
-1
5
-10
1
3
1
19
15
-1
19
22
23
-9
30
21
29
-8
23
-3
15
-8
-3
0
13
-18
-12
-2
42
-1
-5
-10
15
-11
19
-6
5
-14
-16
9
9
-33
-1
15
6
-9
-5
-6
43
-9
6
15
0
1
54
58
18
46
5
-5
20
-2
-14
6
-7
-13
6
29
-16
-10
5
1
24
-22
6
-23
17
16
32
35
-3
-10
0
30
11
-2
14
54
-3
53
-6
-24
-7
27
16
15
-9
20
0
2
-4
-9
5
-10
-10
-2
24
-11
-5
3
-10
-1
2
36
23
0
6
-1
12
55
37
-11
21
30
5
-8
15
25
19
10
-4
1
-17
14
8
-64
43
18
11
7
3
-5
1
24
8
16
-20
0
12
-7
11
-18
-16
7
43
-3
-36
2
23
3
-1
-32
13
-6
-9
18
-8
0
11
85
10
47
-9
5
-23
-14
-1
25
18
4
-7
1
-6
26
16
-23
13
-2
19
-14
34
-4
-24
-20
-50
-1
8
-1
8
25
22
75
52
14
-12
-8
0
14
-9
16
65
-13
113
0
-40
9
26
55
18
-43
-3
17
7
-10
0
3
53
-5
9
-1
-7
-6
51
13
-36
8
41
10
53
50
2
0
44
-1
-41
-8
-10
23
12
29
10
-18
3
45
0
-44
-14
6
-24
-13
-1
-10
-14
23
-4
-23
-53
32
-17
2
26
-21
28
-4
-16
14
16
21
-19
71
16
-20
15
-7
-43
-14
-4
-4
-7
4
-11
0
6
1
-29
-18
-47
32
-5
63
1
0
-5
15
-1
18
-9
-7
46
6
1
3
46
17
33
2
-15
18
-7
21
5
0
-10
-1
-7
-1
54
-28
92
22
-32
4
5
3
-8
16
-4
-16
18
36
-43
6
12
-1
-10
-18
-15
44
6
7
-43
0
5
0
-5
-1
1
-4
4
47
7
18
38
-18
22
4
36
-19
5
2
9
20
11
5
36
40
34
-8
-2
11
51
32
-3
-1
-21
14
-21
-1
-13
0
3
-5
46
14
-5
4
-11
-2
31
-9
-37
-3
-27
4
-48
13
24
-24
2
-19
-53
18
48
59
0
-7
5
2
0
-8
1
-3
0
21
-2
53
14
1
16
4
-43
-3
-11
5
7
-29
29
18
-3
24
-23
3
-3
21
3
-17
-1
-6
0
11
13
-3
-6
-5
4
-11
-9
4
-14
47
-54
37
51
-1
-45
-3
40
-32
59
93
6
30
46
-99
17
-40
0
-67
25
3
-1
-9
13
-17
27
6
-16
-3
2
-12
-16
-19
37
8
20
25
26
-43
-13
-110
-68
-7
-27
-9
18
-26
42
-41
0
-20
7
51
13
48
6
36
30
23
-13
-19
24
23
-16
17
26
16
32
-25
26
-4
-29
-54
45
95
-6
-83
-29
-32
-117
106
-99
91
1
-22
4
27
16
11
16
52
15
-17
8
-54
-8
93
-18
34
-39
-10
24
-5
95
71
-6
25
23
57
107
-10
-43
-23
18
-57
6
3
29
-11
-1
-7
15
26
14
-4
49
-1
7
17
54
27
-9
31
-56
43
43
7
129
32
8
51
61
162
66
62
-15
54
-2
-17
2
-19
9
8
16
28
-32
-56
-15
-25
51
52
-5
17
-8
-103
22
-89
-52
-82
5
4
35
55
23
11
-15
2
54
-65
4
41
14
27
5
24
-2
16
1
-2
-10
21
16
41
-14
18
-42
-59
47
-10
-93
108
-8
51
-17
58
-2
-10
17
81
55
55
5
62
-3
23
38
16
18
31
-15
65
-20
41
-30
-56
-13
62
-3
-47
-12
88
-16
-16
-23
-33
65
-6
7
92
8
-74
-11
-47
11
10
-2
6
8
1
31
12
0
7
-9
16
12
17
17
8
21
10
86
-7
57
-31
38
73
73
135
45
29
80
71
7
34
-21
19
-36
62
26
56
-4
4
0
-23
-4
1
7
5
4
-22
70
30
90
-16
74
7
-20
-21
32
82
67
18
61
74
-7
38
-16
-6
-50
63
-3
-12
21
16
4
8
-1
-45
14
25
19
41
106
-46
115
0
-42
-28
-41
37
39
92
-39
89
42
46
16
-9
22
23
27
112
-29
9
-29
64
-3
-15
-20
69
-10
33
9
-9
102
73
1
62
-15
-5
13
-3
66
117
82
46
20
153
60
14
12
14
26
-5
-30
-16
-3
38
2
-20
-18
-4
24
25
7
14
4
-20
71
52
54
-69
64
-2
24
8
86
-7
48
79
-76
-18
-25
39
-5
51
4
6
-22
4
12
6
-3
-43
2
7
-5
-18
49
-111
73
-14
42
64
34
10
-54
11
51
93
69
31
108
18
5
-10
4
30
3
-16
-8
-5
18
-15
-18
5
6
2
10
6
-11
70
-26
112
-24
35
90
77
-24
63
25
158
-65
14
25
163
7
18
-29
61
-14
-14
-22
20
19
23
23
-36
0
5
19
-16
85
-43
-7
8
42
-25
5
-15
44
-5
37
52
48
41
-5
36
29
-70
49
-30
49
13
110
-43
67
67
66
16
-30
62
-8
-50
12
52
79
18
29
-31
51
5
38
33
31
-61
22
-21
-4
-100
44
56
2
25
21
-61
13
38
41
-14
-2
30
10
-16
6
-8
58
43
51
8
26
8
-28
-12
21
30
71
-14
-13
-67
27
-25
0
30
-34
172
-10
98
64
-40
-17
87
-3
-55
18
16
53
50
52
27
64
0
53
2
-24
76
0
46
29
42
-35
19
48
-15
6
-36
138
59
0
-32
-33
91
-1
-31
47
48
87
-72
-5
128
12
90
-45
83
-15
5
76
65
-33
30
5
-71
59
31
84
17
-38
48
93
18
55
-38
24
86
19
107
2
36
60
41
53
16
4
-60
-57
148
26
36
-21
50
-24
22
26
-8
45
15
75
64
37
-32
43
102
-40
-66
62
88
5
90
113
-14
-20
62
57
8
77
-5
68
-44
-17
-75
-96
-21
20
45
-12
20
58
8
3
8
5
-24
23
17
23
29
8
-58
51
29
-13
30
-57
47
-1
46
-15
32
28
53
-78
23
-51
11
58
74
13
82
7
68
-1
7
13
19
19
-2
-45
-9
32
119
-5
53
162
-49
8
35
46
0
7
-53
1
66
23
72
53
-17
0
27
141
77
32
102
-53
64
59
-8
-3
-121
-5
-1
43
-14
59
47
35
102
30
11
24
19
26
111
53
-7
49
38
27
62
24
33
32
-45
29
-2
35
-71
36
-32
157
-60
43
43
-10
6
59
66
58
-82
-15
29
2
6
38
11
-22
38
143
42
-6
53
-11
-25
5
36
58
1
-3
-13
22
52
1
10
4
-20
-85
29
0
62
51
-66
43
-34
25
-10
1
20
15
5
28
92
3
81
-11
17
-33
53
62
-13
14
2
-14
26
3
35
-43
-57
43
114
15
62
17
-5
71
14
117
125
12
92
-5
175
47
64
-11
69
7
-70
-10
27
-10
91
30
-42
9
15
27
5
-47
147
78
105
-12
122
8
52
6
31
31
-43
14
-19
33
24
22
58
52
7
28
-12
-22
-36
31
6
65
54
85
63
-50
95
61
32
32
-76
-4
77
14
90
-3
-1
90
-7
-2
-36
44
-56
-54
58
130
56
-9
-25
-49
-23
4
-15
52
6
-14
-9
-43
120
-10
88
14
42
25
-2
-21
20
-4
23
39
50
-18
-33
19
39
-15
21
5
24
-1
10
37
80
5
-10
-4
-19
33
-33
-30
96
-33
12
-34
-33
-26
-4
-25
57
-13
25
25
-56
119
23
-10
21
144
-4
-75
11
30
-26
25
43
100
60
26
52
1
8
12
12
6
-4
19
5
13
11
15
29
21
18
21
14
4
-72
-14
-2
0
-30
19
56
32
22
46
87
-17
38
43
74
-1
-30
-4
23
8
-18
17
0
11
4
15
12
3
32
-3
-19
-45
15
-15
26
-1
-13
63
129
13
19
27
73
-5
-64
77
23
12
8
-3
4
20
14
1
5
9
21
-6
26
26
26
4
-23
-20
7
21
38
52
59
-22
-27
23
54
13
53
1
28
-50
9
24
-17
5
-7
-2
6
0
9
56
28
16
95
55
47
23
-24
43
16
52
-18
57
7
-26
-63
88
22
56
18
139
125
-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
5
-7
-2
51
21
1
-13
15
-3
11
14
7
13
-5
8
-3
25
17
-24
-3
8
45
-7
99
39
24
34
-26
3
-14
32
-26
-19
-15
18
1
-1
-30
10
-29
-4
-14
24
-15
6
-1
36
6
1
2
21
51
48
-5
56
43
42
58
92
68
59
5
5
153
8
-3
3
-50
8
-2
-6
16
6
-6
-2
5
-19
3
-11
9
13
33
15
5
49
101
28
131
-36
43
-15
40
49
6
9
-3
-9
-24
12
-20
4
13
-9
19
0
22
14
71
1
-4
-19
57
26
45
30
-42
9
98
107
62
-2
54
19
45
62
-22
39
-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
-7
-5
-1
33
42
-57
-7
115
69
23
44
21
16
0
-40
82
-46
-46
20
14
-20
1
21
64
43
-40
-19
50
3
-9
7
48
-32
-37
29
9
32
-17
6
23
-5
40
57
49
53
44
47
97
-5
-36
2
96
11
4
31
49
-1
38
20
63
9
18
62
99
-59
10
-9
42
58
63
28
27
-8
45
-6
54
66
28
39
175
-16
14
-25
23
1
-40
-29
66
-42
-44
4
102
-19
5
48
13
59
75
5
-1
127
-23
-13
70
-26
24
104
173
62
-2
9
62
21
-48
30
42
100
42
55
118
28
81
80
15
70
14
14
-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
2
50
48
-19
27
-57
24
41
26
41
-18
117
9
10
42
62
20
4
67
23
43
-3
-22
8
6
24
-6
26
17
-4
-9
5
40
48
16
59
0
-19
-46
52
54
42
36
56
-18
41
13
12
48
-5
3
75
-20
1
47
31
-3
-8
27
71
1
-28
56
106
30
-34
31
64
11
93
-12
24
35
62
-2
74
-28
2
-2
152
9
0
-4
56
-2
-8
-31
36
-4
65
3
37
0
27
-63
46
33
24
61
33
103
16
148
61
44
41
-23
26
-14
42
56
-29
-13
62
-6
32
24
19
-60
81
10
35
-34
-31
-8
-19
42
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
23
0
0
0
0
1
-2
-17
22
0
0
0
0
3
-14
15
9
0
0
0
0
7
17
-20
34
0
0
0
0
-15
-34
4
32
0
0
0
0
-4
-8
11
25
0
0
0
0
-16
29
22
-5
0
0
0
0
11
-73
48
53
0
0
0
0
22
16
17
3
0
0
0
0
8
-9
-25
21
0
0
0
0
-20
49
11
65
0
0
0
0
3
32
3
96
0
0
0
0
22
-1
16
-37
0
0
0
0
26
1
-17
-47
0
0
0
0
26
52
-45
33
0
0
0
0
10
75
112
6
0
0
0
0
1
-12
4
-9
0
0
0
0
-15
-3
-28
-10
0
0
0
0
11
22
-17
104
0
0
0
0
-22
18
49
14
0
0
0
0
-10
-24
1
5
0
0
0
0
-12
-19
-18
2
0
0
0
0
7
-76
-2
-5
0
0
0
0
23
29
17
-68
0
0
0
0
17
14
1
25
0
0
0
0
8
4
6
16
0
0
0
0
-19
24
-9
-8
0
0
0
0
-22
0
11
18
0
0
0
0
7
-20
7
17
0
0
0
0
17
43
4
-22
0
0
0
0
-39
16
-6
13
0
0
0
0
51
81
26
19
0
0
0
0
30
16
27
22
0
0
0
0
-1
0
-3
58
0
0
0
0
-13
-8
33
10
0
0
0
0
46
-24
-17
76
0
0
0
0
-1
-5
29
8
0
0
0
0
2
-16
9
3
0
0
0
0
-4
-4
98
86
0
0
0
0
-35
32
78
67
0
0
0
0
16
6
32
14
0
0
0
0
5
16
0
-5
0
0
0
0
-14
96
32
121
0
0
0
0
50
20
23
-41
0
0
0
0
16
62
36
22
0
0
0
0
34
-10
4
-48
0
0
0
0
65
106
109
-6
0
0
0
0
37
28
17
50
0
0
0
0
13
14
-1
48
0
0
0
0
5
-5
-7
-4
0
0
0
0
39
43
33
28
0
0
0
0
30
39
75
64
0
0
0
0
-13
-8
36
9
0
0
0
0
4
-13
-4
17
0
0
0
0
69
9
29
111
0
0
0
0
23
-13
40
5
0
0
0
0
11
35
-3
53
0
0
0
0
4
-13
-8
35
0
0
0
0
64
29
-22
-9
0
0
0
0
24
74
-59
93
0
0
0
0
43
47
-3
61
0
0
0
0
62
1
14
0
0
0
0
0
62
110
79
24
0
0
0
0
74
1
-6
-25
0
0
0
0
-23
-29
-38
14
0
0
0
0
14
57
-12
23
0
0
0
0
-27
2
-30
-19
0
0
0
0
20
56
9
37
0
0
0
0
-31
2
56
60
0
0
0
0
31
-6
43
-23
0
0
0
0
27
4
-56
34
0
0
0
0
33
0
28
12
0
0
0
0
-19
-2
-45
-21
0
0
0
0
78
56
19
41
0
0
0
0
5
36
59
46
0
0
0
0
11
35
-20
28
0
0
0
0
64
-35
13
16
0
0
0
0
48
77
38
42
0
0
0
0
43
81
11
-12
0
0
0
0
63
51
-4
-4
0
0
0
0
-16
71
-35
-21
0
0
0
0
-4
53
36
10
0
0
0
0
32
-40
31
45
0
0
0
0
12
0
-8
94
0
0
0
0
-51
-52
53
23
0
0
0
0
90
-87
0
5
0
0
0
0
-15
1
55
-25
0
0
0
0
-81
-22
71
46
0
0
0
0
-1
-8
10
-50
0
0
0
0
30
37
4
78
0
0
0
0
75
73
12
1
0
0
0
0
84
27
63
28
0
0
0
0
-82
-40
44
29
0
0
0
0
51
58
62
84
0
0
0
0
98
65
20
46
0
0
0
0
67
74
62
-77
0
0
0
0
-8
61
-36
74
0
0
0
0
-21
98
55
90
0
0
0
0
-29
-6
-17
86
0
0
0
0
3
7
-2
15
0
0
0
0
-34
37
126
86
0
0
0
0
-71
-38
134
4
0
0
0
0
7
-12
83
85
0
0
0
0
43
10
-3
23
0
0
0
0
9
88
-57
-45
0
0
0
0
42
41
11
69
0
0
0
0
2
-14
-15
30
0
0
0
0
34
37
-20
-73
0
0
0
0
82
31
-14
29
0
0
0
0
-8
54
-24
15
0
0
0
0
40
75
-37
78
0
0
0
0
1
19
74
79
0
0
0
0
-20
43
16
42
0
0
0
0
15
-1
0
7
0
0
0
0
31
59
34
38
0
0
0
0
-3
-2
-15
-6
0
0
0
0
52
-3
77
31
0
0
0
0
20
-4
53
136
0
0
0
0
-12
7
66
37
0
0
0
0
6
-2
-1
19
0
0
0
0
50
62
23
94
0
0
0
0
23
-8
11
-9
0
0
0
0
29
32
-43
76
0
0
0
0
-14
18
-25
10
0
0
0
0
93
122
1
150
0
0
0
0
70
59
-118
-16
0
0
0
0
37
22
46
166
0
0
0
0
-4
-13
71
3
0
0
0
0
-1
3
-1
7
-1
-3
4
16
20
-5
-9
14
2
16
3
5
15
31
-10
0
3
-12
-22
-18
-5
36
19
30
5
-37
-30
6
2
16
14
14
-17
-6
24
75
9
-6
14
78
-8
-52
8
-36
23
36
11
-40
-63
-12
22
-109
-88
21
-1
41
-64
-14
-21
9
-7
-7
6
20
26
9
0
8
23
-20
-13
-14
14
-24
-29
56
-17
33
-58
10
35
-88
-28
48
1
23
15
-5
16
-8
62
48
-2
8
22
25
26
22
30
39
-27
-44
14
30
23
-7
17
15
2
1
45
37
-32
-24
82
26
-8
-46
9
22
-66
-30
29
26
3
-9
4
18
8
-26
-9
-13
17
18
3
-32
1
-58
-10
51
17
-9
-31
34
-23
-25
106
-5
42
-5
38
-71
21
85
6
74
-5
-12
42
32
2
-2
22
8
19
5
22
82
15
2
28
8
32
-5
70
-5
-26
-58
101
-34
-12
54
-25
64
-14
-53
5
-1
1
-20
5
-6
12
1
-9
-9
8
4
-6
-7
-2
12
8
-18
-13
-5
34
-5
13
-53
56
24
103
43
80
32
64
-68
53
-43
-13
6
60
31
17
-12
-15
13
-6
5
-16
-3
-11
-16
-35
26
50
90
10
-66
2
53
-49
47
62
-42
32
51
53
61
26
77
21
40
12
-47
14
16
-70
37
12
15
6
28
3
-2
8
-16
-12
1
18
-64
121
13
-30
118
24
34
61
35
41
10
11
80
35
-34
45
16
-14
34
37
44
20
-28
-20
-16
34
13
-18
29
14
35
19
5
45
11
10
40
-50
33
35
70
-7
-16
57
-19
-19
6
-28
33
24
-6
16
-78
6
35
23
24
-4
-4
-6
-44
40
-71
90
2
85
122
43
26
-37
36
32
-32
25
14
-43
71
11
-11
98
-1
35
48
18
14
45
-14
76
2
46
-25
10
-17
-40
-43
23
38
-38
42
12
93
-5
18
68
27
33
6
19
24
56
-21
5
55
-1
13
1
57
0
19
-7
5
-26
-5
-55
20
25
14
38
68
32
-61
23
-2
11
55
-35
15
79
12
-1
61
-95
-20
37
71
-6
-28
58
21
-1
7
2
5
-9
-12
8
5
75
14
4
5
-49
22
-11
71
-11
4
-3
6
43
29
28
0
-3
-43
5
8
-20
15
-52
-21
6
4
-17
18
-22
-14
-27
-54
-7
-48
25
24
1
46
28
55
31
22
30
-19
-50
36
-6
-57
-13
-59
61
81
14
-20
33
-57
-3
-43
4
16
15
-26
12
-22
-26
70
58
23
69
-64
59
33
4
-5
26
-15
34
8
-3
-6
28
51
-20
-7
-42
3
-46
-89
-28
64
-1
-13
-32
13
-60
42
28
21
40
62
-20
-11
-6
36
40
10
14
-20
-23
57
37
-26
8
-3
172
53
1
-53
12
12
21
36
38
-14
-39
6
76
89
1
80
42
88
-78
8
8
-16
23
-33
31
92
58
41
-44
43
-45
23
-62
32
81
12
11
-31
-57
-12
-7
5
85
3
46
13
5
18
31
-29
-28
21
32
-30
29
-50
-18
97
61
64
98
-14
-7
28
79
44
52
123
49
-86
49
66
100
16
73
-84
19
-22
13
39
-66
-1
9
-10
81
3
53
53
-11
8
42
42
42
90
67
39
12
-37
33
-22
52
18
33
-8
43
8
29
32
15
15
13
80
14
33
19
29
56
-6
36
53
90
36
13
71
12
54
35
11
-49
69
-30
-5
22
10
-5
46
17
73
-8
-58
-23
99
-63
12
-5
60
24
11
-30
10
26
100
38
-1
-31
70
19
-5
-13
110
36
65
3
43
-16
31
33
-63
110
141
75
98
21
100
14
102
33
24
-14
37
14
18
20
68
33
64
76
59
-81
-5
1
-24
-78
7
61
-67
3
53
74
73
75
-4
70
14
-5
27
36
-76
55
76
52
119
23
29
63
39
54
-56
67
19
98
-33
-9
-29
-84
-7
5
26
73
-31
20
0
-25
-25
53
47
-72
-7
30
126
-1
37
66
-8
-1
-7
71
40
9
26
37
-1
-4
106
48
34
50
51
-2
-4
-15
5
43
53
49
-22
3
31
139
28
15
12
-12
18
15
-16
3
11
-12
-25
43
102
-56
25
59
138
-14
-8
10
-18
-56
48
61
-44
68
-6
-32
50
8
36
62
-19
26
5
47
25
71
-53
-75
61
33
15
33
53
83
9
-17
5
-69
23
45
-27
43
-30
16
71
23
104
-29
42
29
78
99
-11
28
-29
5
26
-19
32
49
52
12
40
-65
11
47
77
37
92
-71
24
-3
15
-47
35
53
22
8
41
113
-18
81
-2
19
38
32
3
21
23
35
73
-78
-56
56
63
18
0
-37
23
-52
40
-9
-5
31
13
3
-81
-67
-14
40
-27
58
148
54
68
149
4
34
-40
86
119
74
14
28
-39
41
17
58
-14
-5
51
131
-19
-6
23
-16
68
0
7
-12
2
71
76
-1
-29
10
148
49
31
-53
-33
-7
-63
25
31
-22
-34
33
17
1
30
-79
80
10
-33
-106
-43
-83
-28
-34
-100
39
22
37
13
20
53
102
48
28
22
-59
29
63
69
78
-71
104
86
-8
51
3
55
40
37
26
-38
3
25
1
21
19
6
-46
-46
11
24
-7
-12
-28
-18
-30
-18
33
44
-11
14
50
-73
55
23
-34
64
26
-86
-4
-111
-95
-79
31
40
-8
12
-8
6
-77
-13
4
-30
3
2
-18
-6
-88
-59
1
56
-22
-33
9
-7
-52
-33
20
-5
-10
-19
52
-31
46
-29
6
53
20
60
-13
22
2
44
6
-12
14
56
1
101
8
58
-40
14
38
103
-10
-32
-49
29
-72
11
-120
-41
-85
109
-41
90
23
48
45
54
27
54
5
101
35
-23
50
-4
31
-1
41
90
-20
47
-5
32
77
93
-71
-13
11
42
80
-63
-20
-24
7
-26
8
-33
28
23
-7
-4
39
16
-32
-23
14
32
26
-28
66
1
29
-13
-60
-17
-70
-75
63
52
-3
33
21
136
-25
-44
-55
25
-14
18
50
-10
-16
-19
22
71
-14
1
-12
92
-6
-53
-45
42
-34
-90
-2
1
-26
-93
15
-28
-14
100
65
-27
62
-13
24
-53
3
13
24
98
-8
32
-18
88
-33
-44
44
-41
-58
13
-68
-24
-21
13
27
5
-79
108
34
55
-28
53
-45
-46
70
73
33
81
-8
62
-15
53
51
49
51
91
-3
-45
-4
-19
22
-40
22
68
22
-33
-63
51
32
16
-52
-30
-8
-22
22
45
68
-5
-50
-9
-14
0
-5
-57
-2
37
-17
-48
10
-11
-10
-35
14
17
9
-34
-5
77
95
-49
18
-8
-17
25
85
85
-74
42
46
121
59
-13
-15
-18
-29
58
33
-43
-33
54
-37
-18
-7
-12
5
-3
-2
10
132
-38
-3
-18
82
13
-8
-76
46
145
-33
14
89
12
-19
16
-31
30
-24
62
25
-1
-1
47
-6
13
-20
59
28
-15
-26
34
-64
3
137
5
5
2
-9
48
75
23
17
143
29
29
0
-3
-6
66
46
84
2
35
20
107
10
-9
12
49
-27
1
6
22
100
-16
3
43
-11
34
41
-14
14
58
71
46
45
97
1
78
13
-36
7
-22
-14
-31
-38
39
9
-8
27
18
48
-3
9
18
-12
-48
50
3
74
-1
29
19
43
69
50
43
0
70
30
18
-12
-12
-48
-18
-69
-5
9
-13
24
-23
-15
3
9
14
3
-28
102
-135
76
47
-7
43
44
25
-62
8
74
66
47
40
109
10
-11
-32
-100
28
-44
-21
-38
-40
-34
21
-58
65
52
18
24
-12
-35
-77
-17
131
20
4
100
38
53
-9
68
149
-20
4
45
115
-44
56
-31
-61
48
61
24
1
-11
-62
35
-14
25
18
57
-28
72
23
-5
-14
37
-51
-13
-46
49
-8
-14
97
36
-3
9
35
30
33
78
5
20
-44
-28
-54
104
15
54
0
-21
41
-66
-2
4
62
-17
-79
33
-23
-24
-13
28
28
22
-80
30
-55
-48
-63
36
7
13
-15
60
-27
101
108
101
-7
-35
39
53
-34
-4
25
55
75
39
1
52
52
5
-62
36
-29
57
9
-30
-152
-33
-3
1
-24
-7
-4
17
99
65
117
-44
14
-35
-99
13
-8
-35
28
-55
18
4
10
27
18
-45
47
25
76
-12
52
75
-17
17
28
7
11
106
50
63
48
5
33
-34
-69
72
25
71
-34
-6
14
7
135
43
5
50
-14
2
99
-51
65
-89
-5
-22
-17
15
-17
20
7
60
97
20
-82
-62
-21
21
-21
4
44
-23
-53
88
54
-24
-14
-19
109
32
2
10
7
-23
80
73
13
41
27
-7
96
-56
8
67
7
-41
-68
8
120
-2
31
71
-78
-11
3
-18
-15
5
3
45
-3
-46
-52
-3
53
-38
-14
8
-11
5
92
-15
0
-82
27
36
37
4
41
71
-15
31
11
26
54
-100
20
27
-27
-56
6
26
19
-57
49
-118
-31
78
53
53
139
57
55
15
61
-10
46
97
12
-16
-29
82
84
-77
13
101
26
14
38
33
-52
76
-95
42
36
49
-34
-39
-63
5
49
51
88
59
42
-33
73
9
-13
-52
-136
-41
65
7
17
39
28
65
22
23
-7
28
20
95
-5
36
-7
152
44
15
65
7
45
28
-43
-18
43
66
-74
51
55
6
53
43
-46
-24
-104
-21
14
88
-6
33
40
69
1
70
38
33
28
78
-27
24
66
13
-38
5
22
23
-18
33
26
33
26
-39
2
-81
-80
-49
42
-70
51
-1
13
75
-4
-4
0
-20
-21
-39
7
74
44
61
36
-16
60
43
8
59
-5
-4
16
-18
40
15
13
37
8
19
106
6
45
11
-2
34
-27
-2
50
-74
71
14
34
28
66
20
55
57
-36
21
60
-14
44
40
1
-71
-96
34
33
-68
133
1
64
-46
1
34
-30
38
63
51
-21
89
19
5
22
99
8
95
-4
29
-20
67
75
14
46
63
101
-42
15
-62
71
-17
51
-5
9
-65
19
20
55
26
-5
76
-32
68
-86
119
26
-25
68
54
20
54
8
-25
18
-5
17
75
59
-43
-59
13
103
19
58
-10
34
53
72
-2
48
14
57
-9
29
-56
-46
90
14
38
60
25
33
-3
6
57
11
-24
54
-55
5
44
57
-32
77
-42
-10
-39
-30
17
-34
-30
50
30
30
-12
-84
113
32
-42
22
35
78
18
81
77
16
-18
-18
103
36
30
-37
-4
-36
16
-4
1
-11
20
19
8
-10
26
-15
43
6
14
7
1
-60
14
-20
26
-82
-11
-46
75
-22
32
138
91
101
51
31
-11
-60
53
61
-25
-52
8
5
-8
-8
13
64
16
18
36
53
-39
-50
5
32
-12
-20
49
86
-15
36
49
143
35
-52
53
81
-7
53
-19
30
-5
59
-14
20
0
36
-9
21
4
36
32
66
-27
23
15
-15
-96
7
-3
72
-8
79
-26
47
14
53
-49
-5
52
46
21
47
12
22
28
40
15
94
26
23
148
-6
14
44
-17
17
-7
-58
88
-51
57
-62
63
60
-1
-13
71
5
47
-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
-1
-34
-10
43
-22
-18
-15
0
-16
3
23
28
16
13
3
6
-10
10
3
69
68
16
-26
107
11
-6
33
-17
77
26
0
-9
-12
-5
-1
49
13
-49
-7
12
-21
-32
42
59
2
23
-33
-22
-22
-22
2
71
12
-62
53
-6
-3
88
76
104
59
27
46
69
-11
33
3
24
-40
7
-10
10
-25
-5
-32
49
-33
29
-34
-28
-2
80
-23
37
-12
79
-7
95
-52
50
-8
-2
67
-19
40
25
38
3
20
66
35
4
-30
83
34
-19
-73
71
-64
-44
5
5
-7
27
83
-38
94
71
73
-33
-8
122
0
38
8
29
39
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
78
-2
-18
88
32
-1
-5
47
60
32
26
-20
71
-8
-51
-36
54
-19
-62
33
15
-16
35
15
-2
-18
14
21
62
-12
-36
12
80
-8
46
42
-55
-45
-45
58
53
63
92
47
38
-7
-85
22
12
-20
-79
41
85
11
21
28
97
-21
-20
52
78
-28
71
-23
60
28
52
20
29
13
82
11
72
20
33
-32
15
-47
24
-14
98
6
32
-50
54
-62
16
51
-13
-20
73
-8
70
8
90
-35
-32
50
0
56
71
2
59
77
118
101
-1
-5
99
-24
76
-53
-7
64
-21
27
61
45
91
46
21
-6
-45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
-44
2
-47
29
15
53
-28
26
11
-33
61
32
53
81
43
31
76
13
21
40
31
44
-15
-45
2
53
-25
-1
-21
28
-11
67
24
44
-66
50
66
55
20
35
43
93
-37
-2
24
44
18
33
-14
-28
-26
12
40
44
-46
21
104
42
54
44
67
25
22
-41
101
44
37
42
20
2
71
-44
65
25
0
4
83
-52
100
5
23
28
63
12
73
4
-26
-72
29
0
35
-20
44
-43
12
85
82
6
-23
84
135
-27
19
27
51
50
24
30
21
22
58
-47
-18
71
-12
31
26
79
-11
18
-2
18
36
-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
-12
6
-22
6
0
0
0
0
10
7
-15
-24
0
0
0
0
-20
-28
5
20
0
0
0
0
19
-34
-5
24
0
0
0
0
-39
-42
29
16
0
0
0
0
-11
6
13
22
0
0
0
0
-33
-29
83
43
0
0
0
0
-49
35
-39
39
0
0
0
0
26
50
22
44
0
0
0
0
2
26
-15
-27
0
0
0
0
15
28
-30
110
0
0
0
0
-8
41
-47
26
0
0
0
0
23
25
43
2
0
0
0
0
-29
15
-6
-15
0
0
0
0
8
34
-24
92
0
0
0
0
5
40
105
45
0
0
0
0
2
-21
15
5
0
0
0
0
11
-8
10
31
0
0
0
0
-14
1
-30
25
0
0
0
0
30
-15
34
2
0
0
0
0
-41
-55
4
-15
0
0
0
0
-26
-43
5
-4
0
0
0
0
-81
-27
33
43
0
0
0
0
-42
53
37
-43
0
0
0
0
20
18
7
23
0
0
0
0
-13
26
-4
-8
0
0
0
0
1
53
-1
-48
0
0
0
0
-5
13
-55
66
0
0
0
0
18
-24
5
70
0
0
0
0
5
5
-26
-2
0
0
0
0
-15
-14
35
70
0
0
0
0
15
54
90
57
0
0
0
0
13
12
-4
32
0
0
0
0
8
-1
11
-8
0
0
0
0
10
-41
-40
73
0
0
0
0
38
-49
14
71
0
0
0
0
-23
-31
-10
-11
0
0
0
0
-39
-29
-4
8
0
0
0
0
2
-37
62
60
0
0
0
0
12
11
154
62
0
0
0
0
-10
9
-17
22
0
0
0
0
10
16
-14
-7
0
0
0
0
22
72
30
11
0
0
0
0
7
39
-4
22
0
0
0
0
19
35
36
47
0
0
0
0
-18
20
8
-15
0
0
0
0
128
-16
86
-36
0
0
0
0
19
62
19
90
0
0
0
0
48
19
80
53
0
0
0
0
45
22
-9
22
0
0
0
0
41
23
4
-3
0
0
0
0
59
-13
-10
33
0
0
0
0
24
1
28
88
0
0
0
0
3
-30
-5
33
0
0
0
0
41
-18
54
90
0
0
0
0
9
32
17
19
0
0
0
0
16
103
-2
46
0
0
0
0
-23
-15
-73
-5
0
0
0
0
107
24
10
-26
0
0
0
0
-4
41
-14
-10
0
0
0
0
38
19
-21
-18
0
0
0
0
-7
40
-36
-18
0
0
0
0
94
17
91
41
0
0
0
0
131
-2
81
-22
0
0
0
0
9
5
-35
-43
0
0
0
0
32
-28
-19
67
0
0
0
0
-15
-33
-36
-44
0
0
0
0
23
35
-6
56
0
0
0
0
-66
-34
-5
84
0
0
0
0
5
-72
52
80
0
0
0
0
-28
-24
-53
91
0
0
0
0
41
-2
49
54
0
0
0
0
-25
75
0
-107
0
0
0
0
-17
100
24
30
0
0
0
0
-26
4
-24
-8
0
0
0
0
36
84
-1
-39
0
0
0
0
48
23
14
32
0
0
0
0
23
58
42
51
0
0
0
0
66
31
19
42
0
0
0
0
51
41
29
10
0
0
0
0
33
-22
-88
5
0
0
0
0
34
2
75
50
0
0
0
0
-15
-73
-63
-2
0
0
0
0
57
18
37
82
0
0
0
0
-5
-45
37
105
0
0
0
0
74
-80
89
56
0
0
0
0
-80
-51
41
37
0
0
0
0
-83
-16
80
98
0
0
0
0
-38
4
46
-38
0
0
0
0
99
67
6
27
0
0
0
0
51
44
34
-8
0
0
0
0
73
66
-4
71
0
0
0
0
23
18
36
-57
0
0
0
0
69
15
28
-1
0
0
0
0
64
65
-22
-34
0
0
0
0
-67
36
42
-19
0
0
0
0
-37
1
35
14
0
0
0
0
28
18
4
79
0
0
0
0
-23
72
12
97
0
0
0
0
-31
21
1
14
0
0
0
0
-24
-100
126
112
0
0
0
0
-24
-26
108
49
0
0
0
0
-2
-51
72
42
0
0
0
0
24
5
16
9
0
0
0
0
-8
-23
4
84
0
0
0
0
41
35
-32
-16
0
0
0
0
34
63
85
-43
0
0
0
0
45
-16
-85
-46
0
0
0
0
77
141
-14
-57
0
0
0
0
-45
50
18
19
0
0
0
0
95
131
131
-19
0
0
0
0
-5
53
23
54
0
0
0
0
24
50
44
59
0
0
0
0
113
-1
-56
10
0
0
0
0
41
91
76
27
0
0
0
0
-9
53
-18
9
0
0
0
0
43
11
60
-28
0
0
0
0
24
-40
42
71
0
0
0
0
4
29
42
1
0
0
0
0
0
21
71
25
0
0
0
0
-9
8
-50
23
0
0
0
0
60
5
-3
41
0
0
0
0
64
40
-29
121
0
0
0
0
70
-7
-2
6
0
0
0
0
25
82
-15
113
0
0
0
0
95
-22
2
-27
0
0
0
0
-33
3
86
86
0
0
0
0
69
19
-15
-71
0
0
0
0
-6
15
-14
6
-13
-6
0
7
5
14
-20
-3
-1
-24
-27
2
28
-4
36
-2
-53
0
-40
-35
-1
5
20
12
-8
-18
24
-36
-12
4
21
0
-29
-71
74
20
14
2
29
96
-55
-88
-84
-28
23
14
-59
-72
-51
-34
98
-122
38
-1
29
7
-151
-23
-25
-20
13
-6
9
28
22
28
14
19
10
-20
-39
40
22
-27
-53
-3
12
18
13
14
63
-27
-7
14
24
-79
5
-18
36
48
68
43
-23
-17
32
21
12
69
37
39
-39
-60
60
51
-7
-37
-17
-38
-29
0
6
53
-30
9
120
7
-1
-33
55
58
-29
-8
16
44
-4
-10
4
16
-15
23
-16
-10
18
12
-4
9
15
-26
-7
59
25
23
10
-19
89
-30
97
-21
26
19
-77
-3
-19
60
42
58
-58
-33
-11
82
11
-13
48
124
-25
25
70
12
12
-2
-5
-18
-11
50
-4
-25
61
-76
110
-38
-20
48
-28
71
-74
-37
10
23
-42
-25
3
2
-4
13
16
6
-36
-39
-19
-97
-15
5
58
23
-18
72
6
-18
64
-23
97
5
94
71
10
110
46
-59
15
-17
-18
-80
62
67
37
16
31
52
-31
-58
86
-52
42
31
-6
42
-3
-44
35
-29
44
36
23
13
83
-62
-1
74
5
27
7
64
29
51
-86
-16
5
-41
50
17
3
44
14
-38
53
10
23
-50
44
53
31
47
52
21
-10
6
32
60
9
88
49
-3
-33
21
-7
55
63
59
-23
-54
74
116
4
-48
37
-39
-16
-40
11
36
24
15
12
55
7
-4
-5
39
-23
100
39
35
-1
13
9
10
-11
-35
-15
1
88
60
-47
-108
-13
-7
21
107
-62
37
21
-9
-58
-93
7
-17
37
100
17
6
-52
62
42
-40
47
-1
-21
8
-5
-62
19
80
26
137
6
38
0
-28
-1
25
107
14
-22
-3
-6
-43
32
23
-15
-1
-33
50
53
-21
-1
60
15
37
-31
42
44
-38
-33
-10
61
-1
39
58
-12
-16
18
74
3
23
-37
-25
-5
2
12
38
73
3
18
12
8
47
41
34
-5
-2
22
2
-53
-43
50
113
-20
-22
40
-28
6
8
86
35
-42
-9
36
-39
19
-23
13
22
-16
64
-27
42
22
6
-12
33
-26
23
29
23
-42
-11
89
46
50
-5
-34
-9
-11
-27
-15
-29
51
50
19
25
-7
-29
13
37
-12
111
24
39
10
37
23
14
53
-16
22
25
-50
-55
-23
7
-4
-18
154
5
-71
-24
-1
47
7
-29
8
-90
-55
103
15
33
-14
-24
38
20
-6
-64
-4
15
16
27
24
24
14
41
75
-25
-24
4
-29
-24
116
-2
-13
-44
1
46
-46
43
71
27
46
52
95
-32
-100
66
-5
25
-6
-32
72
-40
-78
-44
-36
-33
83
124
-30
-94
0
10
-7
46
-10
82
46
60
33
42
-2
30
33
103
-15
-20
19
-28
4
25
-5
53
11
-47
-31
57
-8
21
-59
44
55
-14
-59
-33
-55
-9
-34
31
52
-40
-32
26
36
34
-21
9
5
45
-78
0
-1
-49
43
51
149
89
45
-31
-19
-55
14
42
90
141
-12
-50
37
23
52
31
68
-118
6
-2
-31
1
-77
13
-86
5
109
7
24
7
5
-15
82
62
54
56
35
-79
-53
-65
-3
-17
62
-4
-33
-58
21
-15
141
-44
7
20
71
100
-19
45
-35
-14
-11
3
54
94
112
-16
-6
94
84
3
-35
18
71
7
-53
-52
98
69
-36
10
32
70
14
-45
17
99
-29
62
134
-9
-19
-47
-9
45
23
26
27
-4
16
41
-10
-31
-100
39
57
-35
3
30
0
-13
88
-6
11
28
33
32
-67
56
-14
87
3
14
-5
5
-23
-44
29
51
50
34
71
98
-77
-13
-69
20
-13
56
50
-4
29
90
100
25
128
-1
58
5
23
-43
36
-97
47
58
73
114
-27
-4
53
15
93
-19
27
15
100
25
-6
-29
-101
18
-34
-20
46
-84
32
-59
-22
-11
11
66
-39
49
-2
-51
-3
55
24
-9
-66
24
-3
14
15
-47
84
-36
-1
71
-35
70
114
17
-48
3
-24
-14
15
37
29
-9
21
12
36
22
-92
21
24
16
33
27
42
-5
-1
7
11
100
72
34
23
53
-19
-9
71
-41
-47
2
43
-15
89
-37
28
43
5
15
50
-16
24
15
-14
22
65
18
37
33
67
3
8
8
23
-2
44
2
-77
48
-18
-4
25
-6
46
65
-34
90
69
16
24
15
-14
-28
30
-10
-59
-3
-47
40
54
19
-27
21
-97
-36
-2
4
33
30
-66
34
129
24
-21
-6
-22
31
44
-24
-68
0
30
10
57
43
-31
-55
14
27
-42
43
0
-48
36
12
11
5
5
92
44
13
-71
47
-7
35
32
-90
-96
24
90
-33
31
76
17
80
101
33
-17
-10
32
40
30
-39
43
6
53
15
33
-34
4
32
55
17
9
18
5
-22
66
9
-97
6
12
33
-78
-13
121
104
62
5
-17
-25
13
2
59
17
-23
5
-10
1
19
34
22
49
0
-12
-73
-28
-64
-74
3
-102
7
1
51
-40
-2
72
87
90
32
2
-64
-20
12
44
51
-74
83
70
-28
41
4
70
65
14
29
-5
18
5
-6
-62
55
62
-47
-93
71
2
10
50
-33
-41
21
-46
-70
47
60
-41
-9
-11
-1
1
-45
-10
-21
4
-34
-2
-14
-15
0
20
21
-56
-41
-54
-55
-76
45
8
10
144
-35
-6
2
-37
-53
8
3
-11
2
46
-21
5
15
-4
-5
-14
8
-19
7
0
43
30
68
56
-22
11
-37
-3
-51
11
-28
-19
16
55
18
-10
-23
-43
21
15
-1
-31
-6
34
-25
11
-22
2
2
14
2
0
-9
80
88
110
10
-5
-28
-33
52
-40
25
20
-2
18
16
2
1
48
5
34
11
31
0
-5
6
8
-9
-22
0
11
-2
0
-1
-73
-21
-27
36
23
-13
40
-40
-16
-59
3
-23
-36
16
-41
-2
-52
-16
1
27
-16
11
11
-31
-15
17
-9
-13
-16
-16
9
-61
-4
-69
-21
-22
-71
43
15
-23
32
6
22
-14
7
61
8
27
-5
-9
-8
-16
3
9
-5
-32
-1
1
0
2
7
0
-2
-4
33
53
44
38
46
43
89
-7
45
6
6
33
-2
3
1
19
-13
39
-4
-5
-11
5
13
-27
1
5
-9
-6
6
17
3
-5
66
30
-1
-14
61
28
67
15
-6
-13
-43
16
26
-9
4
9
22
-23
0
4
9
0
-4
-19
0
4
0
-1
-1
3
7
-20
-3
-42
-23
-34
39
-26
3
15
-44
52
-20
27
-4
5
45
1
-44
37
6
7
-3
-6
-14
-34
22
-21
15
39
47
16
-6
-49
36
-7
14
5
-32
-1
-56
-63
-30
-9
-20
-19
48
35
23
13
-35
13
-27
14
3
7
-2
27
29
4
0
21
-20
2
8
-109
-26
0
6
-32
29
13
-20
-49
20
-12
-29
-44
5
-14
63
-14
25
3
-9
-25
-8
-1
-10
-31
4
8
3
14
5
-5
-2
25
-31
10
11
25
-10
16
-10
-17
52
22
-8
3
-25
50
2
5
6
20
17
-8
-10
5
0
11
-7
2
-8
5
-10
-1
17
4
-68
-54
-24
21
-46
8
50
6
-78
22
-10
1
10
23
59
-29
35
6
-5
1
20
3
-7
15
18
0
8
-13
0
11
-20
-5
-43
15
36
-23
-53
63
-27
5
-77
37
53
53
43
-21
-2
-21
-6
0
4
6
4
3
0
-26
-5
0
7
11
10
8
-5
-15
-2
30
5
23
21
-21
-4
-90
45
11
-4
-6
46
44
-74
5
-32
-2
6
-10
13
-6
7
-6
2
6
7
-3
-7
6
26
8
45
-11
-4
32
0
70
43
-27
-23
3
30
-28
26
7
19
7
-1
-5
5
4
-1
3
5
-3
1
-10
15
2
3
0
-3
1
-13
-4
-16
-6
-23
-33
-24
43
-36
22
-4
-14
-6
-3
10
-18
30
-47
-21
-6
-14
-25
-14
45
-10
-23
-14
-23
-27
1
-13
24
0
-29
-43
-33
29
34
-27
-33
14
-11
-15
18
10
-11
8
47
-28
-15
29
70
16
-54
-6
22
-32
-15
18
-3
-5
-11
5
-7
-40
-52
25
30
16
15
63
-58
10
3
-8
24
-3
2
16
-50
23
-11
-19
-48
-1
-16
16
-8
17
-24
3
8
-7
-6
4
26
4
-4
40
30
-23
1
2
-8
9
-14
7
0
1
-14
-17
-15
71
19
-29
-4
1
15
15
3
9
9
-2
-10
19
-8
16
-95
-28
-53
17
33
-5
45
-8
23
-7
-2
2
3
16
6
-4
29
22
-23
22
-21
12
-5
-23
3
3
36
-14
6
5
-5
26
22
58
19
9
5
-5
-7
35
10
8
11
-10
-5
0
-20
-27
-11
-17
-19
20
-26
-39
-5
7
14
-6
7
-9
-16
-2
1
-2
-17
23
-4
-7
-27
19
10
26
5
24
18
13
4
-4
7
-8
-24
-5
27
-4
0
-11
6
0
-31
7
13
2
-3
7
-17
8
-2
23
-11
15
9
5
5
25
-8
13
-1
15
-1
18
-1
-3
-5
-9
-5
-7
9
0
-14
-13
-15
4
-2
0
-5
-10
-2
7
-37
32
-61
-9
-1
-11
10
7
-15
18
3
-10
-4
-4
-14
15
27
8
43
5
9
5
-33
26
12
37
3
15
-16
-14
6
-11
5
-22
3
14
46
-10
0
-7
3
-2
-9
-1
-10
-4
17
-5
53
7
0
-22
14
0
-13
14
49
20
24
6
-5
18
16
-15
6
25
-24
-1
24
0
0
-14
-21
-20
-24
-5
-15
5
13
18
0
4
-30
1
-5
-17
13
7
23
0
29
5
-3
-4
11
1
23
24
0
-2
0
-6
0
-5
1
-9
-11
15
-26
-2
-3
-4
-19
5
-6
11
10
10
11
7
1
-23
17
-14
0
5
-11
-10
-39
-5
47
-3
-44
9
-1
6
-18
-24
-25
-3
22
-1
16
31
21
14
-23
0
25
15
-8
-2
34
25
23
3
90
19
58
3
-32
23
6
3
-9
-8
-4
-3
8
6
-7
-1
1
-17
27
-14
3
3
21
35
-19
5
4
7
2
13
11
19
32
18
-5
-5
-9
-22
10
4
-6
-10
6
0
-2
0
5
-2
-11
2
2
6
4
-8
13
3
18
-6
11
-14
22
25
34
-10
-7
25
39
13
23
7
-8
29
-4
2
2
3
-4
-11
1
18
16
1
-7
1
-9
6
-14
-2
-6
0
10
13
10
14
-1
0
35
-6
2
-5
34
-37
-32
18
3
-53
55
48
-71
-68
-83
0
20
7
-41
3
-5
1
7
24
-36
27
-14
3
-28
-16
26
16
54
19
18
-13
56
16
16
75
-37
-68
60
44
28
-48
-7
24
5
5
45
20
-44
-47
20
43
-56
-12
-10
19
-33
19
15
-6
44
-31
32
24
-7
128
-44
64
-97
125
43
36
19
53
-55
52
-96
23
46
5
-52
-6
10
-4
-42
-15
46
-6
-37
5
16
3
6
3
1
8
-12
29
52
29
4
53
47
33
-47
32
22
-4
-14
11
18
0
-11
-3
19
60
10
-33
45
-3
-16
17
11
2
-11
15
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
71
-82
7
-56
-46
-25
2
-43
16
24
-51
-54
28
44
-22
30
24
-41
-24
20
25
-1
-8
-6
-2
23
5
5
10
4
52
13
-67
-57
14
-49
12
-74
16
-14
16
-58
-50
18
41
22
23
23
11
-31
7
-14
22
-62
-29
-16
62
-32
-5
11
34
7
-5
1
35
20
48
0
-49
24
-24
-9
-12
45
31
46
-34
-21
-26
50
-56
20
30
13
-13
3
36
19
-41
13
0
-9
-15
2
-10
-17
65
-44
7
55
-18
-33
2
3
23
4
-48
41
11
-21
-37
30
8
8
22
19
14
21
6
1
-64
15
-2
6
14
1
-11
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-4
47
-53
-11
11
1
-58
29
-80
13
-27
0
26
14
6
-27
-44
-14
-14
-3
14
-20
32
32
2
13
62
-14
19
-5
-30
-92
39
87
-11
-47
69
-23
10
-47
-13
18
-5
13
6
3
20
-30
-40
16
0
-42
20
14
58
-48
19
3
-46
10
5
7
-5
37
33
-2
-51
-31
-7
54
-25
10
10
-5
-18
15
-9
9
-37
-20
-35
24
23
18
-29
-1
-70
25
-8
-9
-29
5
29
8
24
77
-38
33
-4
-10
30
23
-14
14
3
3
15
0
19
-2
-32
33
-17
23
29
-14
-9
-29
16
16
15
-19
9
-11
-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
42
-17
-8
13
-42
-5
15
1
62
-15
14
-5
22
-21
-36
31
-3
45
-14
22
-7
19
18
14
43
46
-34
5
85
31
-34
1
-31
-2
-19
47
-5
-5
41
-18
15
4
-20
7
34
-6
-25
-23
-43
-17
-54
14
15
-8
-5
7
0
30
7
-19
17
45
-4
32
-30
0
-43
3
8
7
-6
26
30
-41
-44
14
5
-6
5
1
-61
50
-23
-31
6
52
13
-1
23
5
-27
14
20
14
37
3
-42
-36
36
63
23
17
8
11
29
-13
47
-31
1
-9
9
15
16
45
-5
-25
27
5
-11
34
31
11
-3
-41
17
5
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
-48
-61
-14
58
0
0
0
0
45
13
-2
-6
0
0
0
0
27
11
-14
24
0
0
0
0
-13
-5
-45
17
0
0
0
0
19
5
73
-1
0
0
0
0
-6
15
25
-7
0
0
0
0
-31
-92
6
17
0
0
0
0
-8
-2
-15
31
0
0
0
0
-7
75
6
27
0
0
0
0
-36
13
-55
6
0
0
0
0
44
-20
-32
55
0
0
0
0
-26
19
5
1
0
0
0
0
88
67
4
9
0
0
0
0
-1
23
-4
-54
0
0
0
0
-5
46
23
27
0
0
0
0
46
5
20
21
0
0
0
0
17
-11
-14
-24
0
0
0
0
48
-31
109
-35
0
0
0
0
-63
1
-16
-49
0
0
0
0
31
4
-6
-16
0
0
0
0
-36
20
43
34
0
0
0
0
-45
-72
47
-46
0
0
0
0
-99
-48
-65
18
0
0
0
0
-33
-6
1
16
0
0
0
0
-5
50
-24
6
0
0
0
0
-9
-47
1
15
0
0
0
0
-1
-2
24
-43
0
0
0
0
-43
-6
30
25
0
0
0
0
-26
-12
84
-3
0
0
0
0
-9
36
-25
42
0
0
0
0
0
19
12
37
0
0
0
0
-25
6
-9
29
0
0
0
0
55
-49
-45
-18
0
0
0
0
22
-1
-12
-10
0
0
0
0
29
-40
2
23
0
0
0
0
-1
14
-3
2
0
0
0
0
-29
-67
-24
51
0
0
0
0
-33
-32
48
-5
0
0
0
0
-65
-15
9
31
0
0
0
0
-9
2
36
-2
0
0
0
0
-3
45
-48
24
0
0
0
0
-8
53
-76
33
0
0
0
0
-5
52
-33
-17
0
0
0
0
45
7
0
29
0
0
0
0
23
14
50
27
0
0
0
0
2
54
-3
14
0
0
0
0
-6
-18
1
2
0
0
0
0
16
-5
29
-7
0
0
0
0
53
51
43
-34
0
0
0
0
1
14
17
14
0
0
0
0
30
15
10
-19
0
0
0
0
18
10
-39
18
0
0
0
0
9
7
33
5
0
0
0
0
19
-41
17
-25
0
0
0
0
14
7
18
5
0
0
0
0
19
14
-5
-14
0
0
0
0
8
69
-25
46
0
0
0
0
-62
59
-12
-5
0
0
0
0
12
-13
-9
5
0
0
0
0
0
41
-7
-33
0
0
0
0
-56
4
-31
5
0
0
0
0
-33
-23
22
-14
0
0
0
0
34
15
-26
3
0
0
0
0
25
-10
-5
17
0
0
0
0
-40
17
-23
-56
0
0
0
0
-12
-14
-2
-10
0
0
0
0
-43
-5
-14
-8
0
0
0
0
24
-14
6
2
0
0
0
0
32
-73
21
44
0
0
0
0
-4
-33
40
39
0
0
0
0
-43
-36
5
14
0
0
0
0
9
11
20
50
0
0
0
0
-72
62
12
8
0
0
0
0
-22
-3
45
4
0
0
0
0
71
-25
-29
19
0
0
0
0
-9
48
-33
-24
0
0
0
0
0
-4
39
6
0
0
0
0
30
-43
4
4
0
0
0
0
27
-20
15
39
0
0
0
0
37
3
21
14
0
0
0
0
-43
7
-18
26
0
0
0
0
43
4
-40
1
0
0
0
0
-12
-28
-23
-21
0
0
0
0
9
-20
-17
-37
0
0
0
0
55
-43
-17
43
0
0
0
0
-84
-76
-13
-2
0
0
0
0
-29
6
-7
2
0
0
0
0
-14
-13
4
39
0
0
0
0
-49
39
58
-17
0
0
0
0
7
0
-12
16
0
0
0
0
-10
-25
-5
2
0
0
0
0
14
1
-5
-8
0
0
0
0
41
33
-5
37
0
0
0
0
-29
-13
2
54
0
0
0
0
-5
-14
-1
-14
0
0
0
0
-9
-15
13
33
0
0
0
0
-5
-14
14
39
0
0
0
0
69
-23
-33
10
0
0
0
0
5
42
-7
5
0
0
0
0
24
9
-13
23
0
0
0
0
18
-14
15
32
0
0
0
0
12
-17
4
2
0
0
0
0
-19
-5
14
-3
0
0
0
0
-29
-17
9
30
0
0
0
0
-7
-5
-50
2
0
0
0
0
-10
-6
-7
-27
0
0
0
0
6
36
1
-30
0
0
0
0
-10
9
4
4
0
0
0
0
-29
47
5
-20
0
0
0
0
7
-41
4
37
0
0
0
0
7
41
6
-11
0
0
0
0
-15
-20
-4
16
0
0
0
0
-14
46
-1
-4
0
0
0
0
43
33
9
-1
0
0
0
0
21
18
19
14
0
0
0
0
53
-27
15
-24
0
0
0
0
1
4
0
16
0
0
0
0
13
33
10
3
0
0
0
0
-1
5
-6
8
0
0
0
0
16
5
5
19
0
0
0
0
15
3
-6
0
0
0
0
0
-38
32
-13
-5
0
0
0
0
32
47
-21
20
0
0
0
0
53
-13
14
4
0
0
0
0
1
3
17
10
0
0
0
0
34
-37
14
-5
0
0
0
0
-4
-4
14
-3
0
0
0
0
37
14
2
15
0
0
0
0
37
81
-2
39
-17
-2
-37
35
18
-5
4
28
-12
7
8
-3
32
13
-35
43
-107
5
-5
-3
14
32
-34
11
26
46
8
50
8
91
8
43
-13
-106
80
-15
-62
-34
14
13
-7
-97
-5
-2
-14
-1
5
-6
-7
-7
-3
-14
5
-17
5
-4
-14
1
0
7
9
-14
20
57
-19
52
-33
-51
10
-33
38
17
-75
-5
28
0
-71
33
11
11
-7
-4
0
13
37
-24
-16
-8
27
-5
15
2
-64
12
20
21
71
23
46
-5
-30
-2
-42
11
-44
-8
-22
4
14
53
0
1
2
0
9
14
1
1
-16
7
-15
-9
8
10
27
87
1
80
29
-29
-8
-34
-6
-41
-49
23
1
-34
-51
23
4
26
-53
43
-1
-10
27
6
-9
-6
-56
-6
2
-1
7
0
-15
-65
2
33
-36
-53
38
31
-10
-10
5
55
-44
-3
21
24
-6
20
-3
29
-5
-18
9
14
17
-22
5
6
-18
-13
20
0
-122
-19
25
21
-21
14
-40
31
-31
-19
54
-65
-21
24
2
-10
-2
7
-7
-1
7
5
7
6
5
-5
-3
0
-2
-8
-2
-2
12
-10
-8
-7
-10
-32
44
27
53
36
18
0
45
72
19
-7
-50
-15
-6
-15
-3
14
-3
-14
-4
0
-14
5
1
-1
9
1
58
-57
-20
-31
7
-71
60
-12
7
62
-9
-41
30
-20
14
-71
66
43
-26
2
-28
-20
-27
2
72
17
-13
14
11
14
-21
0
-90
62
-14
-32
5
-88
56
5
18
-10
-56
22
-29
-59
26
-44
-5
-5
-1
14
15
-11
0
4
15
-8
7
11
13
24
-13
15
-1
5
2
-58
-23
-3
15
35
2
-22
57
29
-31
27
46
-22
-51
-18
-6
-8
23
5
7
-1
-4
11
-5
-23
7
-23
1
13
0
-43
-12
25
-81
-11
-18
36
47
-11
-35
-5
54
58
27
36
10
-13
21
3
-18
6
5
-4
-6
-10
22
-5
39
48
-17
8
5
-31
-26
-5
-24
-38
-15
4
-11
58
-1
31
56
72
-15
-12
-16
23
13
8
-17
0
6
5
35
-6
33
-9
1
15
19
-4
-15
-57
11
31
-46
11
-6
1
23
37
23
5
30
8
4
3
-24
-13
18
-8
-36
-14
0
3
5
8
-1
-10
-31
-15
4
1
-27
-54
3
26
-20
5
-5
3
-68
43
5
0
5
6
-18
-37
-36
-4
-9
-1
1
14
6
5
-19
19
25
16
13
4
27
11
-19
-14
-19
17
11
23
14
26
-14
31
18
-4
1
-23
1
31
-5
-1
-7
-3
-3
7
3
15
-3
-3
0
2
4
1
-8
4
14
14
36
-45
48
-14
-10
3
68
7
-6
-17
6
34
-14
-2
71
69
48
-44
16
-47
-30
9
2
-5
0
-33
7
-3
-20
2
-32
-39
5
63
-26
-9
-19
5
-3
-16
20
-3
10
14
5
4
7
10
-22
4
18
-18
22
14
-6
5
-21
0
16
9
1
10
-5
-17
-24
20
14
13
-13
1
-53
-16
39
5
-11
0
-15
5
-23
-8
-8
-6
31
-8
-15
-4
15
-1
-25
9
2
8
1
8
-40
-4
-33
-7
24
23
-18
-1
5
2
9
3
6
-22
-6
-10
5
-27
8
20
-43
-33
3
20
1
14
-7
13
-5
6
5
-11
-45
-27
45
-6
-27
21
18
-25
-1
-9
7
3
3
-3
4
-11
24
24
-32
10
-27
-13
19
0
-16
11
5
-5
19
45
-5
-13
-43
-32
27
-3
3
-1
14
2
-4
-5
-24
-6
8
-23
9
5
-1
-40
54
14
-22
-13
-9
-18
7
18
-10
-4
16
-2
4
0
-14
-14
2
-13
16
-1
6
11
-5
4
13
-8
17
-5
-10
0
5
0
27
-10
14
0
-31
2
-1
5
-22
9
9
26
-18
-15
-28
22
16
15
-10
5
29
9
10
-7
6
3
26
0
4
-25
-2
9
3
1
6
-5
7
8
-2
-17
7
10
-4
-6
5
7
-9
-14
-14
5
0
-3
-6
-24
32
-3
1
7
5
-3
-2
7
16
-24
29
20
4
7
-5
-4
6
9
5
-9
10
-22
17
-5
-19
7
7
-7
-29
-24
-1
-5
3
-14
1
8
-7
0
-3
3
-1
-7
7
16
5
8
-8
0
-13
-8
4
4
33
-21
8
-24
1
8
18
14
43
-4
0
-5
8
-15
1
-9
32
-3
18
0
-37
6
1
-14
2
16
-9
-5
23
11
-1
-10
-5
2
25
-2
-1
-4
-6
37
2
20
0
8
-1
-4
13
4
0
-11
0
-1
26
-5
-30
25
-16
1
4
-4
-33
-10
14
1
23
16
9
4
-59
5
-6
3
9
2
-10
4
1
0
8
-6
33
-4
4
-2
-23
-47
-17
6
7
10
0
-7
8
-25
-2
21
16
17
5
14
-8
8
-3
-3
20
-1
-8
4
5
2
-3
-6
8
9
-3
10
-51
-15
5
9
1
-8
11
1
-14
-15
-5
13
6
2
6
-10
-33
5
-2
-9
7
1
-3
-1
-14
-5
-18
1
25
4
16
5
-10
-2
9
-1
14
5
10
4
15
-17
25
-7
5
25
-5
1
6
7
-7
-7
0
-11
-1
-9
-7
6
5
6
7
11
-3
10
-1
-15
1
17
4
-3
3
13
5
24
9
39
-25
-2
9
-4
0
3
53
-3
8
0
0
80
-10
-101
0
0
-5
0
9
0
0
-5
-35
22
0
0
50
-8
-13
0
0
4
21
-11
0
0
35
-43
1
0
0
-3
0
-24
0
0
15
-46
-48
0
0
-35
-73
17
0
0
-60
62
22
0
0
-31
14
-32
0
0
-94
14
-54
0
0
42
-33
34
0
0
-51
-46
-5
0
0
-4
-13
-45
0
0
-4
25
1
0
0
-15
-45
3
0
0
2
-29
0
0
0
-10
7
-1
0
0
-8
-23
-3
0
0
-19
-2
-1
0
0
1
2
0
0
0
5
-3
0
0
0
-20
5
7
0
0
0
0
0
0
0
-8
20
1
0
0
1
-5
0
0
0
-6
9
0
0
0
0
-6
0
0
0
-1
3
-1
0
0
0
1
0
0
-18
82
14
-26
0
0
4
14
5
0
0
-58
-3
-50
0
0
-27
-118
0
0
0
6
49
-26
0
0
9
-9
-115
0
0
-7
-14
0
0
0
-2
-94
0
0
0
160
-11
-72
0
0
-53
-56
-14
0
0
-31
-12
31
0
0
-22
2
-1
0
0
-93
35
-65
0
0
70
1
-14
0
0
-47
-27
33
0
0
-77
33
4
0
0
-28
17
3
0
0
-2
5
0
0
0
3
15
0
0
0
-1
-4
0
0
0
2
3
1
0
0
2
9
2
0
0
4
1
0
0
0
-7
1
0
0
0
0
-11
1
0
0
0
0
0
0
0
-6
-2
0
0
0
2
-2
0
0
0
14
-3
0
0
0
1
0
0
0
0
-17
0
0
0
0
-3
0
0
0
13
6
16
-42
0
0
-35
-13
72
0
0
5
-25
6
0
0
2
-7
-3
0
0
2
-38
5
0
0
-3
-2
5
0
0
29
-16
-6
0
0
26
-30
1
0
0
36
-18
-15
0
0
-55
-6
-7
0
0
-37
-20
-7
0
0
-105
38
7
0
0
-27
55
-102
0
0
131
-33
40
0
0
-16
19
-43
0
0
-60
3
31
0
0
-1
3
8
0
0
25
8
0
0
0
0
-1
1
0
0
-14
8
0
0
0
2
-8
-2
0
0
6
1
0
0
0
-1
0
0
0
0
0
27
0
0
0
-9
-3
0
0
0
0
0
0
0
0
14
-1
0
0
0
0
-1
0
0
0
-3
2
0
0
0
-5
1
0
0
0
-18
0
1
0
0
-3
-2
0
0
-2
-27
2
-85
0
0
-59
-82
34
0
0
7
-32
-113
0
0
0
-3
28
0
0
-84
-62
17
0
0
-19
-53
2
0
0
-33
36
1
0
0
44
-97
-6
0
0
67
-77
19
0
0
7
-47
8
0
0
-130
5
-3
0
0
-18
-8
0
0
0
-52
18
-3
0
0
-33
37
-2
0
0
4
19
0
0
0
5
14
-7
0
0
25
-10
0
0
0
3
2
1
0
0
3
2
0
0
0
10
0
0
0
0
5
-2
0
0
0
6
6
0
0
0
-5
0
0
0
0
3
-25
0
0
0
-13
-4
0
0
0
0
0
0
0
0
0
5
0
0
0
10
1
0
0
0
5
0
0
0
0
0
0
0
0
0
9
1
0
0
0
1
1
0
0
1
47
4
9
0
0
-28
13
-158
0
0
-26
3
-46
0
0
28
-25
-58
0
0
6
15
-38
0
0
-21
14
-77
0
0
4
-3
4
0
0
-42
-8
-10
0
0
20
24
-3
0
0
-109
5
-14
0
0
-66
48
-7
0
0
-32
-58
15
0
0
-30
-42
-75
0
0
-32
-99
4
0
0
-89
-109
47
0
0
9
-127
49
0
0
-2
5
25
0
0
0
13
0
0
0
0
0
0
0
0
0
6
0
0
0
2
11
-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
-9
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
34
2
6
0
0
-27
-6
-54
0
0
-123
-5
-18
0
0
-22
-11
-19
0
0
-3
18
-35
0
0
7
40
-37
0
0
8
21
-4
0
0
-12
14
4
0
0
70
-101
-2
0
0
-193
37
-19
0
0
-160
-65
28
0
0
-58
-36
14
0
0
-74
-29
-7
0
0
0
12
-22
0
0
-54
64
-32
0
0
-77
10
73
0
0
18
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
3
-9
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
-10
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
-2
0
0
1
18
-19
-22
0
0
-15
2
-40
0
0
2
-25
-28
0
0
1
-12
-125
0
0
-26
-81
-54
0
0
17
1
-51
0
0
-28
-33
1
0
0
20
27
7
0
0
-11
-49
38
0
0
-52
-47
-6
0
0
-82
-6
4
0
0
24
6
30
0
0
18
-24
-26
0
0
48
-49
-100
0
0
-25
-37
8
0
0
-49
40
11
0
0
18
-9
0
0
0
0
-3
0
0
0
0
0
1
0
0
13
-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
15
37
-10
-53
0
0
-34
-40
-45
0
0
-2
-6
-103
0
0
16
-42
-2
0
0
18
62
-76
0
0
14
-46
-64
0
0
4
-14
10
0
0
8
-19
36
0
0
87
-9
-75
0
0
-47
33
-14
0
0
-103
5
48
0
0
-62
8
8
0
0
-96
25
41
0
0
7
52
-9
0
0
-18
-17
-32
0
0
71
-16
-18
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-9
6
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
9
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
4
10
34
42
0
0
34
12
-50
0
0
7
84
50
0
0
23
-3
-5
0
0
13
14
-22
0
0
-95
12
-58
0
0
-5
-41
41
0
0
3
15
17
0
0
63
-61
1
0
0
-6
-79
37
0
0
16
-5
63
0
0
32
-64
-132
0
0
57
26
-15
0
0
-15
-16
47
0
0
-98
-17
20
0
0
-51
-34
-3
0
0
20
-2
33
0
0
-10
-6
16
0
0
-1
9
-13
0
0
-3
-11
0
0
0
-35
-43
1
0
0
0
1
0
0
0
14
-9
-2
0
0
-7
1
-2
0
0
-23
-5
-30
0
0
0
-4
1
0
0
1
26
-5
0
0
5
-2
0
0
0
26
16
-2
0
0
0
6
1
0
0
14
-6
2
0
0
1
0
0
0
3
0
-6
1
0
0
-30
23
13
0
0
82
16
-13
0
0
20
57
20
0
0
-54
4
-25
0
0
-122
6
-58
0
0
-62
17
-65
0
0
-81
11
-16
0
0
61
-7
-10
0
0
19
-58
7
0
0
-20
32
33
0
0
55
-61
-44
0
0
13
-47
-1
0
0
18
1
34
0
0
34
-25
-74
0
0
-5
-56
-6
0
0
28
0
-1
0
0
1
6
1
0
0
1
7
6
0
0
-4
-3
1
0
0
1
-10
0
0
0
0
3
0
0
0
-23
-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
-14
0
0
4
8
0
0
0
-6
0
0
0
0
3
0
0
0
-18
5
-1
-62
0
0
-40
-5
-37
0
0
31
-31
-14
0
0
-11
16
11
0
0
-48
-7
-42
0
0
-98
12
-24
0
0
-15
25
48
0
0
-24
-20
10
0
0
48
-10
23
0
0
-34
-22
-2
0
0
-18
47
-32
0
0
71
-17
5
0
0
-50
-27
35
0
0
19
29
14
0
0
14
-53
16
0
0
64
-25
-30
0
0
0
21
-11
0
0
0
2
-13
0
0
-2
-2
10
0
0
-1
15
-2
0
0
2
17
0
0
0
-9
0
5
0
0
29
-13
-6
0
0
2
1
-1
0
0
18
0
-25
0
0
4
0
1
0
0
14
3
1
0
0
-1
-7
0
0
0
4
11
5
0
0
-2
1
0
0
0
3
0
-9
0
0
-4
0
0
0
-9
-25
33
2
0
0
-5
-1
11
0
0
-2
-8
-27
0
0
-6
36
1
0
0
-17
-50
0
0
0
-40
-18
14
0
0
17
-91
21
0
0
10
-6
5
0
0
-15
-52
-50
0
0
-28
-30
60
0
0
13
-36
-84
0
0
20
-46
-42
0
0
-4
47
23
0
0
4
32
4
0
0
-36
43
-16
0
0
-33
-39
-8
0
0
8
-13
3
0
0
-2
0
0
0
0
4
0
-13
0
0
-18
-1
1
0
0
-10
0
-2
0
0
-7
5
-1
0
0
9
-11
0
0
0
58
2
1
0
0
-4
0
-5
0
0
-14
0
0
0
0
-3
0
-1
0
0
-13
-5
0
0
0
25
5
0
0
0
4
1
0
0
0
11
-1
0
0
0
-7
0
0
0
-19
51
101
80
0
0
-36
49
25
0
0
72
-3
15
0
0
-65
24
-9
0
0
-14
-13
-54
0
0
-35
-5
-31
0
0
-4
-37
-154
0
0
0
2
27
0
0
-80
-56
29
0
0
64
2
1
0
0
49
21
31
0
0
35
11
-9
0
0
-26
23
0
0
0
3
-23
-58
0
0
-36
16
-36
0
0
32
49
-14
0
0
-6
-25
-14
0
0
0
-6
-1
0
0
33
3
5
0
0
0
-4
0
0
0
13
-2
-8
0
0
-1
7
0
0
0
17
7
3
0
0
-1
0
0
0
0
43
-3
27
0
0
-1
-6
5
0
0
-1
3
-10
0
0
0
0
0
0
0
-9
-6
-7
0
0
-4
-6
0
0
0
11
-11
2
0
0
-5
3
-1
0
-11
26
-9
3
0
0
-106
-4
50
0
0
60
-45
25
0
0
-59
11
-22
0
0
-34
-4
-88
0
0
-35
-38
-29
0
0
-27
-6
-91
0
0
24
3
-94
0
0
-12
-73
8
0
0
-24
-32
27
0
0
6
-40
39
0
0
-1
-85
-9
0
0
40
-32
24
0
0
48
-61
-17
0
0
4
85
-33
0
0
-11
-22
0
0
0
-15
1
-7
0
0
0
0
0
0
0
-4
0
0
0
0
-2
9
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
-22
0
0
-4
0
0
0
0
5
0
14
0
0
-1
0
0
0
0
22
-2
0
0
0
5
0
0
0
-15
123
-23
-63
0
0
12
2
-90
0
0
-12
-13
3
0
0
36
-1
-34
0
0
-44
-76
-45
0
0
-4
9
29
0
0
0
3
63
0
0
-13
3
46
0
0
35
42
-44
0
0
-62
42
-55
0
0
19
-112
-26
0
0
88
-38
16
0
0
10
-86
69
0
0
96
-15
-66
0
0
11
-47
7
0
0
0
44
-18
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
15
1
-2
0
0
0
0
0
0
0
9
9
-2
0
0
-7
0
0
0
-10
18
-3
29
0
0
-5
24
-18
0
0
-14
-65
5
0
0
-23
-7
29
0
0
-15
-26
-23
0
0
55
-31
-2
0
0
19
51
-19
0
0
18
15
6
0
0
2
5
14
0
0
-21
45
20
0
0
-25
23
-94
0
0
-33
9
-5
0
0
-25
-60
39
0
0
-66
12
-29
0
0
-9
12
29
0
0
30
-58
22
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
-13
-1
0
0
0
1
-1
0
0
0
-10
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
-25
32
17
2
0
0
-33
12
11
0
0
29
83
-20
0
0
-4
11
-2
0
0
32
90
-6
0
0
-18
9
2
0
0
2
13
0
0
0
-6
6
-2
0
0
-35
-54
0
0
0
11
-4
0
0
0
7
22
-5
0
0
1
11
0
0
0
35
-5
0
0
0
24
-26
0
0
0
4
-9
0
0
0
46
3
0
0
0
-10
-19
-49
0
0
-33
8
7
0
0
4
13
9
0
0
-2
2
-3
0
0
-2
46
26
0
0
-13
-14
-6
0
0
-19
-15
-1
0
0
0
-4
0
0
0
-10
-19
-29
0
0
1
-10
-2
0
0
-5
-36
5
0
0
6
0
0
0
0
-43
-27
8
0
0
0
26
3
0
0
-4
9
0
0
0
-8
23
-5
0
12
-20
-18
-11
0
0
-11
27
1
0
0
-21
19
2
0
0
-26
17
-3
0
0
2
2
-2
0
0
26
2
0
0
0
1
7
0
0
0
15
-14
0
0
0
46
-13
1
0
0
2
26
0
0
0
11
6
0
0
0
5
-10
0
0
0
15
-26
0
0
0
-5
-9
0
0
0
18
-13
0
0
0
-1
0
0
0
0
11
-2
-7
0
0
5
-2
1
0
0
0
29
0
0
0
0
-1
-1
0
0
-5
13
-4
0
0
23
15
1
0
0
3
4
0
0
0
0
0
0
0
0
-4
11
16
0
0
0
-5
0
0
0
32
-23
1
0
0
0
6
0
0
0
-6
11
0
0
0
0
-1
1
0
0
-1
11
0
0
0
0
-9
2
0
27
-5
45
-1
0
0
-2
-2
-1
0
0
-8
37
-4
0
0
27
11
0
0
0
6
25
-7
0
0
7
17
-1
0
0
3
3
0
0
0
-3
2
-2
0
0
56
41
4
0
0
0
5
1
0
0
-2
5
4
0
0
2
14
0
0
0
5
20
0
0
0
3
-6
0
0
0
2
15
0
0
0
4
33
0
0
0
13
-23
-20
0
0
0
-10
0
0
0
-3
-9
-1
0
0
0
18
-5
0
0
2
-6
11
0
0
-2
-5
18
0
0
5
-10
0
0
0
-1
9
0
0
0
-21
15
-14
0
0
0
13
0
0
0
-7
9
-2
0
0
3
-16
0
0
0
5
54
-9
0
0
0
-5
0
0
0
-5
-23
4
0
0
26
-31
0
0
52
-6
-5
-3
0
0
2
1
0
0
0
-4
5
0
0
0
8
-9
0
0
0
20
-1
0
0
0
-2
-2
0
0
0
3
-2
0
0
0
5
-6
0
0
0
11
-10
0
0
0
4
2
0
0
0
-29
5
0
0
0
2
-14
0
0
0
55
13
0
0
0
-1
0
0
0
0
-11
-20
0
0
0
6
1
0
0
0
5
-2
0
0
0
0
1
-2
0
0
0
1
0
0
0
-10
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
-10
0
0
0
-7
3
1
0
0
-1
-5
0
0
0
0
-1
-1
0
0
-3
1
0
0
-27
5
8
11
0
0
5
-14
0
0
0
0
-28
-3
0
0
0
-25
0
0
0
1
14
1
0
0
-1
1
0
0
0
-5
8
0
0
0
-1
2
0
0
0
-36
-14
-1
0
0
3
23
0
0
0
16
15
0
0
0
8
-2
0
0
0
-23
-8
0
0
0
-1
-13
0
0
0
-32
17
0
0
0
4
-13
0
0
0
-1
-5
-4
0
0
0
-2
-1
0
0
2
9
1
0
0
-1
2
0
0
0
5
-14
2
0
0
2
0
0
0
0
-8
8
0
0
0
0
-2
-1
0
0
-1
7
-19
0
0
-1
-26
-3
0
0
7
5
7
0
0
-6
-4
1
0
0
-19
25
-13
0
0
-1
6
-3
0
0
-17
31
-1
0
0
-1
7
-3
0
-36
-15
45
2
0
0
0
1
0
0
0
-1
2
0
0
0
13
14
0
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
-3
0
0
0
-6
-9
0
0
0
2
9
0
0
0
1
-3
0
0
0
-6
33
0
0
0
-3
1
4
0
0
-3
0
0
0
0
14
7
0
0
0
-2
9
0
0
0
-19
9
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
19
-2
0
0
-3
1
-1
0
0
-1
3
0
0
18
-8
-30
-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
17
-1
0
0
0
-4
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
-9
0
0
0
4
0
3
0
0
3
2
-2
0
0
-3
-1
1
0
0
0
0
0
0
0
14
-11
0
0
0
1
-2
-1
0
0
25
-3
20
0
0
0
0
0
0
0
21
0
0
0
0
0
8
0
0
0
0
-9
-2
0
0
0
-3
0
0
0
-5
-6
0
0
0
0
23
3
0
44
-6
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
9
1
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
2
0
0
0
14
8
0
0
0
2
-19
0
0
0
1
1
0
0
0
14
19
0
0
0
23
0
0
0
0
-11
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
-17
0
0
0
0
0
0
0
0
0
-11
5
0
0
0
-2
0
0
0
0
-20
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
21
33
10
0
0
-5
-11
-8
0
0
3
10
8
0
0
-2
19
0
0
0
9
-17
0
0
0
-2
2
-3
0
0
5
46
0
0
0
0
-4
0
0
0
-33
-7
-11
0
0
-23
-21
1
0
0
25
0
0
0
0
12
-34
-3
0
0
-26
19
-1
0
0
8
-13
1
0
0
-15
38
0
0
0
4
41
0
0
0
-8
5
-17
0
0
-1
32
9
0
0
1
43
-13
0
0
7
-45
-8
0
0
-2
20
8
0
0
0
-18
3
0
0
-24
80
14
0
0
0
-18
1
0
0
2
9
-24
0
0
24
-33
6
0
0
-3
36
8
0
0
-7
-2
-1
0
0
-7
35
43
0
0
29
25
-2
0
0
-24
44
22
0
0
21
22
4
0
-11
11
20
0
0
0
-2
2
0
0
0
0
-21
0
0
0
-11
6
0
0
0
-2
0
0
0
0
-1
27
0
0
0
9
12
0
0
0
-1
-7
0
0
0
19
-25
1
0
0
-11
-3
0
0
0
-16
30
-1
0
0
20
-7
0
0
0
-17
-10
0
0
0
18
10
0
0
0
27
21
0
0
0
-1
-14
1
0
0
76
49
-2
0
0
-14
-1
-7
0
0
-3
1
14
0
0
14
13
1
0
0
7
-2
6
0
0
5
10
-2
0
0
5
10
3
0
0
-1
18
1
0
0
46
-14
25
0
0
-14
14
7
0
0
-18
-3
-5
0
0
1
22
21
0
0
-10
5
15
0
0
-2
24
-14
0
0
-2
36
-8
0
0
-6
13
0
0
-61
20
-6
1
0
0
-5
17
1
0
0
1
3
1
0
0
-1
-17
0
0
0
15
-23
0
0
0
1
-25
-1
0
0
-10
19
0
0
0
0
-1
0
0
0
1
7
0
0
0
-7
36
0
0
0
5
7
-1
0
0
57
25
0
0
0
-20
11
0
0
0
-10
64
0
0
0
3
10
0
0
0
-5
37
0
0
0
23
18
29
0
0
0
-24
8
0
0
0
26
-2
0
0
-25
14
7
0
0
10
1
-5
0
0
1
-8
3
0
0
6
-17
-8
0
0
-2
44
-1
0
0
-1
-13
-41
0
0
2
-3
-6
0
0
5
50
-3
0
0
-9
-18
5
0
0
19
3
-3
0
0
19
-4
14
0
0
13
18
21
0
0
3
13
-1
0
49
-26
-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
39
10
0
0
0
-11
14
0
0
0
10
-54
0
0
0
30
29
0
0
0
28
11
0
0
0
16
-1
0
0
0
3
10
0
0
0
-6
-2
-1
0
0
44
-20
2
0
0
3
25
-5
0
0
-7
3
5
0
0
21
2
-11
0
0
20
-2
0
0
0
-1
1
2
0
0
-11
7
-4
0
0
2
6
0
0
0
-5
-1
-1
0
0
-3
21
4
0
0
4
-9
-1
0
0
14
5
1
0
0
-6
-1
-1
0
0
-4
-15
4
0
0
-20
6
0
0
0
4
5
-1
0
21
-53
-31
7
0
0
0
4
0
0
0
-11
-4
-2
0
0
4
-17
0
0
0
-9
-9
0
0
0
0
20
0
0
0
10
-39
1
0
0
0
52
0
0
0
86
-2
-2
0
0
-11
20
0
0
0
3
53
-1
0
0
74
-30
0
0
0
-16
8
7
0
0
0
-2
0
0
0
-1
5
0
0
0
-11
39
0
0
0
20
-10
-13
0
0
0
4
6
0
0
0
-36
-7
0
0
0
14
3
0
0
1
-6
13
0
0
-2
6
-1
0
0
1
20
0
0
0
-1
0
0
0
0
-8
-1
-10
0
0
36
-3
4
0
0
-27
-20
15
0
0
21
31
5
0
0
-4
-18
8
0
0
23
-10
1
0
0
14
-10
-25
0
0
-18
-5
3
0
-37
7
14
-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
19
0
0
0
-19
-2
0
0
0
-3
6
0
0
0
49
-55
0
0
0
-1
23
-3
0
0
14
-1
0
0
0
80
-4
0
0
0
3
-10
0
0
0
2
0
0
0
0
0
5
-1
0
0
1
3
2
0
0
0
0
0
0
0
-13
0
2
0
0
3
-1
-1
0
0
-23
2
-5
0
0
-3
1
1
0
0
-24
5
-13
0
0
-13
17
-3
0
0
9
0
9
0
0
3
-8
-6
0
0
1
-14
-11
0
0
-1
8
1
0
0
4
0
-1
0
0
13
-5
-1
0
-37
-6
8
0
0
0
0
29
1
0
0
11
5
-1
0
0
0
11
0
0
0
-10
-5
0
0
0
0
1
0
0
0
-4
29
0
0
0
0
-1
0
0
0
-11
2
0
0
0
-3
-5
0
0
0
-4
2
0
0
0
-16
6
0
0
0
47
-10
1
0
0
-14
-9
2
0
0
9
15
0
0
0
-2
25
0
0
0
-27
1
-6
0
0
0
-3
-2
0
0
0
0
-3
0
0
0
15
0
0
0
10
4
-4
0
0
0
-5
0
0
0
-14
0
1
0
0
-1
-7
0
0
0
-7
11
5
0
0
-4
-2
-1
0
0
-8
-2
9
0
0
-4
1
-3
0
0
-2
46
-33
0
0
-5
14
5
0
0
10
-8
9
0
0
-2
5
10
0
55
-8
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
-4
0
0
0
1
3
0
0
0
0
-3
0
0
0
2
0
0
0
0
10
-11
0
0
0
-3
-2
0
0
0
-6
2
0
0
0
-5
-7
1
0
0
0
-1
0
0
0
25
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
21
0
3
0
0
-4
2
0
0
0
-7
3
-13
0
0
13
0
1
0
0
0
0
0
0
0
6
-7
3
0
0
3
-1
1
0
0
8
-3
1
0
0
13
10
3
0
0
-1
-1
-2
6
46
4
-5
42
0
-20
20
-23
-30
0
-7
11
13
17
0
-31
6
-34
15
0
10
-9
3
-9
0
0
17
-6
-2
0
1
-4
17
-9
0
6
17
-3
3
0
4
86
7
33
0
22
-48
6
-6
0
21
7
-16
5
0
18
-2
21
21
0
-21
-24
-6
-8
0
-23
-39
-2
-84
0
-100
27
-23
-9
0
3
-7
-9
-4
0
-54
38
-15
-41
0
-25
20
43
14
0
-48
18
50
-34
0
56
-8
0
1
0
-1
6
-33
-2
0
1
-61
14
0
0
32
17
6
5
0
-10
1
0
1
0
-31
35
5
-2
0
7
-26
-35
2
0
-4
-30
-1
-9
0
13
6
-10
1
0
-12
-19
-5
16
0
29
51
-4
-3
0
-18
-19
0
0
0
-14
1
0
0
7
33
-2
-3
46
0
-85
0
17
-56
0
-45
0
-44
4
0
-24
7
-5
-10
0
-15
-27
6
8
0
1
-7
-2
-19
0
7
-5
-5
-29
0
12
-15
-3
4
0
38
-23
14
-90
0
17
11
13
3
0
-50
78
3
-68
0
4
89
36
-25
0
-49
23
-4
-107
0
-56
-91
-53
-48
0
-15
10
-16
-37
0
45
45
-98
6
0
1
-45
-2
-7
0
10
-5
-16
1
0
-9
15
-20
-2
0
-13
23
5
0
0
-57
2
14
1
0
0
5
17
2
0
-25
-9
-1
0
0
-5
35
-3
0
0
33
-45
7
-10
0
5
23
7
0
0
-8
-13
-5
6
0
-2
-5
2
-1
0
-16
25
18
1
0
-4
-24
-14
0
0
-10
-6
1
0
0
-9
-12
6
0
-6
17
-1
11
12
0
-14
-1
-1
23
0
-8
-4
-22
2
0
0
-26
-92
0
0
16
-22
7
28
0
-10
-5
-11
7
0
-1
11
-11
20
0
-13
16
-16
-11
0
-74
-5
-7
-24
0
-92
11
15
23
0
-91
17
-14
18
0
-54
30
11
29
0
-5
37
-42
-46
0
11
-69
-59
-86
0
-5
-107
-26
-53
0
17
-23
-3
-6
0
-2
-19
-4
-3
0
24
-29
11
-6
0
17
-6
-5
-8
0
-4
23
1
1
0
-7
-2
5
5
0
3
0
0
-3
0
-32
19
0
-2
0
-10
-3
0
0
0
-5
-3
-13
0
0
-3
0
-11
0
0
18
35
18
15
0
0
9
-4
1
0
-8
0
-5
0
0
13
-7
34
0
0
30
4
-8
2
0
-1
-1
-1
0
-17
28
-3
-24
6
0
-33
-62
-26
-20
0
-74
-33
-41
-13
0
-15
-84
-91
-8
0
40
-98
-3
0
0
7
6
-29
-44
0
11
20
53
0
0
1
9
-6
-66
0
51
70
47
-31
0
-36
3
-21
32
0
3
0
89
3
0
14
47
-16
-6
0
50
-5
59
-14
0
60
-8
-41
-3
0
11
-43
32
3
0
71
-17
-5
-3
0
1
-9
7
0
0
-4
5
-3
0
0
-1
5
5
0
0
0
-16
3
-2
0
-15
-2
0
0
0
-8
-4
0
0
0
20
-14
0
0
0
-2
-7
0
0
0
0
8
-5
0
0
7
-11
6
0
0
3
-19
0
0
0
0
3
0
0
0
-1
0
0
0
0
1
35
-10
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
-14
-2
17
-2
-97
0
-86
12
15
-13
0
25
-5
22
-78
0
26
-23
48
12
0
14
6
11
4
0
18
4
-12
-44
0
20
-8
28
-21
0
34
-6
9
-97
0
-33
4
6
22
0
-52
-35
1
31
0
-9
-21
8
-1
0
-21
-54
31
10
0
-14
1
17
13
0
-5
-12
42
-1
0
7
9
-1
4
0
40
16
56
-110
0
7
0
-24
7
0
-3
-9
20
-2
0
43
13
44
-8
0
1
7
-15
-1
0
-59
13
6
2
0
2
5
6
0
0
-45
42
-26
6
0
14
2
0
1
0
-63
1
-8
33
0
52
-21
33
-6
0
58
-3
33
23
0
20
10
-23
1
0
12
-8
-30
-18
0
-102
-5
36
-2
0
-32
5
6
-19
0
54
-5
-6
1
-19
37
24
-50
-18
0
-92
17
-86
-43
0
28
-29
-3
-16
0
64
5
-32
-47
0
4
-10
-34
26
0
31
16
-14
5
0
6
4
-35
-41
0
44
-19
19
-45
0
-118
-3
-3
-7
0
6
-53
-22
4
0
14
-61
-17
-12
0
47
-115
-44
-24
0
-19
-3
42
-5
0
-28
18
-9
17
0
15
-28
48
-17
0
46
-31
81
23
0
0
-7
-2
-1
0
5
29
-17
3
0
-5
15
9
1
0
5
-16
7
1
0
-50
-1
-10
-1
0
-3
-15
17
0
0
-66
11
-1
0
0
2
-1
0
0
0
5
-45
71
-1
0
-53
23
41
0
0
-32
53
1
0
0
22
5
0
0
0
-39
-7
16
0
0
8
17
-5
0
0
70
-8
-9
0
0
-8
20
8
0
-9
-31
-8
-3
5
0
7
10
25
26
0
-33
-46
31
-14
0
24
37
48
0
0
33
-18
-47
-3
0
-15
-7
-5
-90
0
2
6
8
-70
0
16
6
17
100
0
-44
-124
-21
17
0
34
-17
-20
-5
0
-6
-61
-13
-33
0
-23
-124
-68
53
0
4
-5
-6
-18
0
62
-12
35
-38
0
34
-63
25
-120
0
76
-55
55
17
0
-14
14
-27
2
0
-1
26
6
0
0
33
0
50
0
0
9
9
-13
2
0
10
5
-20
3
0
18
-3
-2
0
0
62
-21
16
4
0
47
-21
4
0
0
-63
-26
-23
-7
0
-21
24
5
4
0
7
-8
96
-4
0
9
-6
-22
0
0
-98
-2
5
0
0
60
6
-2
0
0
5
-18
6
0
0
6
4
-20
0
-17
-8
-9
-5
-69
0
27
-12
-50
-3
0
-53
23
-121
1
0
28
7
19
-5
0
25
-18
5
-49
0
17
-12
6
-28
0
-24
-11
61
-22
0
27
25
-26
-4
0
-59
-82
-13
-15
0
-51
32
-5
-20
0
-9
0
45
-9
0
23
79
-19
32
0
-11
-77
18
-66
0
23
-23
-59
-50
0
20
5
35
-12
0
-9
19
23
7
0
-6
6
-7
0
0
-5
-2
-7
0
0
10
-3
-1
0
0
4
-1
0
-2
0
-7
0
0
0
0
0
-26
-1
0
0
1
17
-4
0
0
-21
27
1
0
0
0
-36
14
0
0
-25
-10
18
0
0
11
18
4
0
0
3
-13
0
0
0
39
-9
-19
0
0
-2
7
17
0
0
-11
4
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
15
-19
0
-26
-24
50
20
0
-4
-10
32
14
0
3
-6
-5
0
0
-5
-35
26
-9
0
17
3
-1
-1
0
-5
22
-6
25
0
-3
5
20
-2
0
-49
19
6
37
0
3
4
-24
-14
0
-47
30
-4
15
0
78
28
-1
-4
0
5
-19
-29
-13
0
-3
29
-2
6
0
-17
54
-3
-9
0
-1
-45
-4
0
0
16
-5
58
-3
0
7
53
47
9
0
0
45
17
15
0
25
-3
21
4
0
14
-38
31
29
0
1
24
14
3
0
36
18
-20
4
0
10
25
-1
0
0
48
22
-13
-2
0
-5
95
24
16
0
-55
2
9
1
0
-15
20
13
1
0
-33
5
30
-25
0
-1
6
-45
8
0
2
-21
65
-8
0
14
33
-13
2
-14
-15
32
-31
-3
0
7
-5
-1
3
0
15
21
-16
1
0
-21
7
-4
-1
0
-6
-21
8
3
0
9
77
-13
0
0
26
-5
-35
0
0
-5
37
-2
0
0
17
-8
-9
13
0
-5
17
8
0
0
5
-9
15
0
0
22
-21
25
-1
0
-16
34
-10
-2
0
-6
45
4
-1
0
48
25
1
0
0
-43
-8
-4
0
0
5
-7
8
-4
0
1
34
2
-4
0
4
23
6
9
0
0
34
-5
-3
0
-14
-6
-34
-3
0
-1
23
21
-3
0
2
-18
-21
1
0
-6
9
0
-2
0
-11
-19
-15
-33
0
-4
-21
35
13
0
2
-4
38
-16
0
43
16
0
-2
0
27
21
-23
43
0
62
-31
20
-4
0
27
-11
29
43
0
22
14
2
1
25
26
-3
14
25
0
-6
32
-3
0
0
4
-25
41
-5
0
8
-8
11
-1
0
-10
-49
45
-7
0
-9
-6
-4
0
0
23
-11
1
-2
0
-8
24
3
0
0
18
48
-36
-4
0
13
-26
-13
1
0
-9
-10
-14
-2
0
6
-23
2
-11
0
-14
26
1
-4
0
-23
23
4
1
0
22
-14
5
11
0
55
22
0
0
0
-6
84
33
3
0
-6
-5
8
1
0
-13
-17
23
-7
0
-4
1
-14
-3
0
5
-34
6
-22
0
0
-2
31
0
0
-9
4
-25
1
0
-8
3
0
0
0
10
29
-32
8
0
22
-39
35
0
0
9
5
24
19
0
-10
-27
29
0
0
-5
12
-5
28
0
0
-16
32
1
0
15
19
51
1
0
-33
-32
3
0
-20
-7
2
11
0
0
-11
24
-3
0
0
24
-8
-14
7
0
-41
38
-1
-3
0
-10
-4
0
0
0
-1
8
-6
0
0
-2
-9
4
-1
0
34
-9
0
-1
0
-20
-5
2
0
0
7
3
3
0
0
0
25
1
-1
0
-26
65
2
-1
0
-19
-25
0
4
0
-2
32
-1
-5
0
16
22
0
0
0
-12
-13
0
0
0
3
-9
-9
-1
0
1
0
-1
0
0
11
11
0
0
0
0
0
0
0
0
-7
0
0
1
0
-3
-7
-3
0
0
5
0
0
0
0
13
0
2
0
0
20
-32
32
-1
0
-7
-7
3
2
0
-16
37
-7
-1
0
-4
89
-6
0
0
5
58
-39
-1
0
3
30
-14
1
0
6
-5
0
0
0
37
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
-5
-64
-66
110
48
0
58
-41
-4
-6
0
19
5
5
0
0
-6
-2
15
0
0
53
-32
-20
10
0
-10
2
31
2
0
1
72
2
-5
0
18
-7
2
0
0
20
-31
-25
-5
0
28
10
-25
-9
0
37
-2
14
3
0
36
-55
24
-3
0
-3
58
28
5
0
69
-24
18
41
0
45
-12
-33
1
0
31
-31
-2
0
0
-33
-48
-23
-22
0
-1
79
-26
10
0
-43
54
78
-27
0
-15
-15
-54
7
0
-11
-33
-39
-32
0
9
5
-4
-4
0
59
52
-16
-2
0
49
-6
1
9
0
-66
78
58
4
0
-5
-4
45
-23
0
22
51
69
-13
0
20
24
54
3
0
-3
0
6
23
0
-11
19
25
-28
0
-13
-50
103
0
0
-6
-20
4
0
6
-10
35
44
3
0
11
13
-9
8
0
-1
-5
-5
-3
0
-7
8
-26
0
0
-18
23
-8
-3
0
4
-7
-2
0
0
-5
32
-1
1
0
2
3
0
0
0
-2
3
5
-11
0
-12
36
3
19
0
40
-2
-10
4
0
34
-35
-19
3
0
-25
-12
17
24
0
-54
26
4
30
0
-17
-9
1
2
0
-5
-16
5
2
0
38
-6
34
23
0
6
3
-7
-6
0
21
2
-14
26
0
5
-2
8
-2
0
25
-4
-6
1
0
1
-8
2
0
0
21
6
-13
-1
0
-16
-20
-6
0
0
-68
5
82
-31
0
-5
-5
17
2
0
4
51
-43
-11
0
20
-5
33
-5
0
18
19
19
10
0
-20
1
9
-3
0
-8
15
53
7
0
-19
15
-9
0
22
20
-1
-33
2
0
16
-14
1
0
0
-1
-16
7
4
0
13
-5
-3
6
0
58
-7
43
1
0
-14
-6
-3
0
0
33
18
-13
7
0
-1
20
1
0
0
11
-4
-48
1
0
12
-24
-15
16
0
12
30
-17
5
0
18
5
0
1
0
-5
22
-16
43
0
-55
2
-32
-8
0
-17
23
5
-15
0
-46
4
4
2
0
-36
2
30
10
0
-2
-1
69
-5
0
1
-25
30
-3
0
-19
34
14
-9
0
47
-3
-28
5
0
4
-23
48
-6
0
2
9
11
-10
0
-3
7
21
1
0
19
-18
2
56
0
22
20
39
-24
0
30
35
-44
-6
0
32
46
-14
6
0
14
38
0
11
0
3
54
-1
-17
0
-9
68
-51
1
0
45
-7
-9
-11
-18
-2
27
16
-6
0
-15
-5
-6
0
0
1
5
0
-6
0
7
-5
2
0
0
2
0
-1
0
0
-11
-14
-1
0
0
10
-20
-3
0
0
-5
4
0
0
0
91
40
10
0
0
-45
76
1
5
0
-14
-8
4
-1
0
-26
17
7
-18
0
29
-6
-1
3
0
9
-9
3
-9
0
-17
-5
0
1
0
-9
1
-3
0
0
-21
-3
5
0
0
2
-5
1
0
0
-6
-1
26
-5
0
19
3
-6
-3
0
-1
-19
6
-3
0
0
35
-16
0
0
-27
-20
11
0
0
-25
-9
2
0
0
-50
-13
21
13
0
-3
-27
23
22
0
-92
3
-19
19
0
4
3
14
22
0
10
-27
9
-6
0
-18
-16
23
-5
0
17
14
4
-4
0
25
22
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
0
-24
6
-10
-21
-20
3
18
6
-4
-15
-4
12
7
15
-36
32
-30
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
8
11
-28
17
45
-4
28
-50
-47
-23
56
14
-7
26
111
-35
39
-68
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-14
8
-31
1
-5
-33
18
48
-2
79
-37
-47
-5
-20
-20
28
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
23
2
3
24
-19
-11
10
5
-11
-6
16
16
9
-15
-32
24
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-32
-18
8
-5
-8
-9
-32
-11
27
47
-41
-28
-34
2
49
-41
24
-28
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
73
-19
-28
-10
11
71
0
-65
-78
-48
-19
3
94
-80
-26
46
10
-50
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
27
-6
24
-4
-11
-29
37
-3
5
-23
-10
-23
13
-4
4
-1
31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-54
14
-6
-3
-9
2
-3
19
-3
-10
-4
-34
3
-3
-6
1
16
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-50
19
-43
-16
11
18
-10
-14
-16
2
26
15
4
-2
4
-13
31
-66
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-15
-17
-32
-90
-11
-19
-34
-5
-44
97
-12
12
-11
-58
-17
-68
76
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
5
43
4
18
17
8
14
-15
-14
-15
-14
-1
-19
-5
-18
-8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-6
9
2
-14
25
-43
6
1
5
8
-17
13
-3
32
-9
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-87
4
-5
-36
41
23
-24
-56
-13
-2
10
-15
14
2
-26
43
-13
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-14
-31
-15
16
83
-22
-96
-22
5
-58
-44
-33
10
5
-32
37
-16
10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
17
23
3
4
13
25
0
4
-3
3
-29
15
1
4
33
-7
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
4
-9
8
4
5
37
43
-8
0
5
-1
18
-31
0
-4
7
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-19
5
3
10
-5
7
11
-18
-5
-11
-21
-11
8
7
-25
57
1
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-19
-16
-44
-15
12
-2
5
-3
-129
1
-55
0
-80
3
-88
18
0
-18
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-19
10
-10
24
-3
47
-23
-13
2
8
48
-1
14
0
-1
36
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-17
-5
-10
15
0
11
-2
7
-4
-27
-109
13
-17
-1
5
-8
15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-23
2
-5
30
-50
8
11
-20
25
-24
-46
11
1
-14
-35
-2
-23
1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-46
-19
-24
-33
-104
2
-12
-57
46
-21
43
4
-14
-152
-33
-108
-50
8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-37
15
2
4
4
15
-43
-5
3
-2
25
37
-5
0
-8
-31
35
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
19
13
0
5
-23
6
1
-1
15
23
2
1
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
0
2
-60
2
15
-3
-37
8
-17
-33
-6
3
-31
-12
3
13
-69
0
-27
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-51
-70
5
-61
31
8
-47
-2
-118
-60
-100
-39
-76
-33
16
0
-82
126
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-23
-2
25
-2
0
-5
25
-16
0
10
15
-1
24
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
-24
-43
3
3
6
-5
-26
-9
9
0
16
34
-17
2
0
1
5
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-47
-5
-9
-3
-47
20
-7
-17
-5
62
-93
17
8
-17
-48
-1
-13
27
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-49
-52
14
-3
-33
-21
-14
11
-36
-34
-1
-15
5
13
-17
-33
-27
21
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-20
5
0
0
-2
9
-1
0
6
-2
-15
-3
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
6
10
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
60
12
-51
4
-85
1
1
-19
29
-28
-106
12
-65
2
-39
16
-6
-157
15
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
4
26
13
19
61
7
10
3
-6
59
36
8
-4
18
62
-1
8
25
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-15
-5
5
5
0
16
77
-49
-16
58
-65
11
15
6
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
-13
20
74
-19
-1
-4
9
22
1
-20
-10
9
36
-17
19
8
5
-43
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-11
-39
-25
-54
22
5
-84
-3
67
-90
-6
-123
13
-35
-2
-1
-45
-13
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
13
32
7
-30
-34
20
-13
10
-43
-9
50
11
-8
-7
9
55
-21
-7
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
20
32
29
4
1
-5
33
3
-4
-1
-8
30
17
8
-1
-44
45
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
41
3
50
-15
-5
-5
19
-29
-2
-2
53
13
5
-10
5
-2
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-54
-23
-5
-133
-4
-71
16
-21
-75
11
-84
-16
5
-25
4
37
-40
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
-19
14
11
26
26
0
50
-51
1
76
-15
36
-29
7
16
-21
32
-36
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-34
2
0
-5
-6
8
19
-8
8
34
34
-23
-3
4
-17
11
8
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-34
-36
62
-10
33
16
17
-8
-2
-62
56
-20
-6
0
47
-51
-16
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-15
-63
-72
36
-2
-14
-6
-26
45
-58
38
-19
-3
-11
39
1
-3
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
62
-14
37
-16
2
2
-14
24
30
58
11
-28
-3
14
-31
-7
-25
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
-26
1
-5
3
25
-19
13
3
51
9
-4
6
-5
-10
-1
30
-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
-6
-5
-6
-2
-12
-7
-3
3
-6
2
-7
0
1
5
18
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
26
-44
16
-104
-20
-14
-35
16
-10
-11
5
-24
5
-63
0
21
-67
-17
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-9
0
17
-5
-43
-19
-17
-9
24
-72
33
16
-15
6
16
-55
-36
12
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
55
13
81
-10
6
2
-44
9
-8
14
-44
-3
5
-4
17
-7
-13
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
-21
-20
29
-43
11
6
2
72
-16
20
-10
22
-52
-9
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-14
-17
2
-32
-68
2
-68
2
-22
-69
-48
-19
-12
11
-3
-97
-67
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-52
18
5
-17
-32
-21
-53
10
8
61
-99
-26
-58
1
-55
26
-26
-40
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
27
-16
-27
8
-3
24
-45
15
8
-7
-1
10
-16
0
-3
-24
31
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-43
32
-5
-3
-3
15
-13
4
0
27
-2
11
-3
3
-11
-3
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-18
-76
21
-90
-24
9
-16
8
-158
-6
-8
2
13
-30
-54
-41
-73
-14
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-60
-33
-29
-12
-45
-57
-32
-42
-71
3
-82
-3
9
0
-35
-63
-23
-81
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
53
10
-17
0
1
15
-2
0
16
-4
-19
-27
0
-7
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
47
9
8
2
17
6
47
-3
0
32
-10
7
-2
0
5
14
-14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-56
53
7
19
1
-2
-123
12
-35
-51
-21
-25
30
-2
-23
16
23
-30
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-29
17
-40
-24
-29
5
-122
-37
5
-42
-54
-32
-31
-14
-7
47
9
-34
-77
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
-9
-7
-3
5
-14
8
-2
0
-6
-3
6
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
2
43
14
6
53
10
-15
37
5
-27
5
24
3
16
-23
0
2
33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-1
-34
55
2
6
18
-17
-8
-1
52
-3
21
7
-2
-13
-9
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-23
23
-1
-6
-61
75
8
-5
-44
-33
-12
-33
-17
3
77
68
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
30
-27
5
4
18
28
-24
-40
-13
2
43
5
-2
-19
10
-1
73
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-36
44
-2
-20
4
35
-56
-8
6
53
11
-22
16
-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
-27
43
-1
4
-25
12
-11
-25
1
23
-4
-4
21
0
-5
62
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-22
42
-6
-4
-8
-47
53
-7
0
-11
-1
91
-14
-4
-1
-7
-21
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
44
-36
-1
11
10
38
3
0
0
17
-53
15
-16
-3
-8
-10
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
22
-16
2
8
-14
-4
8
0
-4
23
13
-14
2
2
-13
-15
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
23
33
-30
-7
-11
-38
14
8
0
44
-56
21
-16
0
-11
-5
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-41
22
-48
16
4
30
6
5
-31
2
1
6
1
27
-1
25
25
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
10
-5
62
3
-41
-9
14
-5
10
-26
-2
86
-10
-6
-3
13
25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-19
-7
1
-4
10
33
-4
1
-3
30
4
7
0
4
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
47
-3
0
0
17
5
6
-2
0
-13
-25
5
-1
1
-18
28
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
36
59
6
2
-5
25
-9
5
-1
4
-4
-18
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
-32
87
0
53
-1
-5
34
6
-1
0
7
-26
14
18
-5
-14
15
-11
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
-34
21
11
0
22
31
-7
0
0
-5
13
6
0
0
15
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
18
14
-40
17
-6
36
10
-3
0
-43
-2
15
24
-6
3
-28
-7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
9
28
13
19
0
-43
108
43
0
9
109
-14
7
3
3
-2
10
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-38
-16
43
30
-23
9
-20
27
-26
-4
69
-61
57
-16
16
3
-23
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
1
15
0
2
4
1
-5
-1
-2
-14
-19
4
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
16
-44
-10
15
-1
5
-7
8
0
0
-23
-21
18
10
1
-25
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
18
-12
0
11
0
23
14
6
6
0
0
-15
48
-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
31
43
12
-18
-22
26
-43
1
3
8
-15
15
15
-27
-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
-15
-46
18
1
2
0
16
0
-2
0
0
14
-17
-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
10
62
-5
7
4
-1
-16
4
31
0
2
-28
-17
-6
-4
-6
49
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
6
1
6
0
14
14
-7
0
6
-20
11
39
1
-1
-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
14
-43
-19
-2
1
-7
22
-13
0
-17
-43
-8
-25
0
5
-10
7
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
14
-1
0
0
14
18
0
0
-1
11
-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
8
4
-3
1
1
27
4
0
0
24
14
0
5
-1
-2
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
5
9
-17
0
1
-13
1
-2
0
0
4
-8
1
0
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
1
-2
-4
13
-1
4
-24
-3
5
0
3
15
-2
-7
0
3
-27
-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
26
-16
-11
0
-54
13
57
0
3
-5
79
-3
10
0
60
-9
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
-110
30
-1
-9
-33
-26
37
5
17
40
36
14
-2
-24
17
29
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
8
25
-12
-11
7
33
48
8
22
-37
42
15
53
-25
3
-2
-17
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
19
-6
26
11
-38
6
62
36
4
17
-70
76
34
5
21
18
26
-5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
63
34
16
2
0
-76
53
8
0
2
-11
33
-6
0
2
8
-37
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
54
-22
-14
2
-5
-3
13
49
0
-20
46
3
-7
-2
80
-36
5
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-23
-26
34
26
17
-16
-14
15
27
8
-8
5
24
-4
6
-20
-20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
65
-51
28
-9
24
8
-2
19
48
14
14
63
-9
10
17
27
21
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
-37
39
20
0
56
-7
-23
0
-4
16
22
-14
3
1
-8
-14
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
5
23
-41
-20
-10
99
13
-43
4
-26
-47
10
27
3
-31
23
-5
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
27
-25
88
71
-7
48
-29
-25
3
-14
10
-53
20
8
9
8
-23
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
61
9
-50
46
17
59
-17
28
42
-2
-16
35
32
39
-6
41
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-43
5
-3
-1
-6
3
8
0
0
-2
2
-4
0
0
25
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
9
-3
3
-4
103
24
-2
-3
4
1
50
-5
0
2
32
28
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
35
30
-19
13
-9
14
-42
4
3
-9
-6
-5
3
11
-5
5
24
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-24
79
-48
19
7
16
-23
19
-1
-35
14
14
-33
-2
2
30
1
-11
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
53
-82
-19
-2
0
27
31
0
-2
-1
24
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
-46
74
62
5
-3
37
-63
23
0
5
-1
14
18
-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
70
-1
89
-4
-3
-7
6
23
43
-3
-3
-15
-14
7
7
-2
0
54
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-44
-13
55
-2
-19
-67
-3
80
39
3
24
61
-37
-30
-3
1
22
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
14
5
-2
-17
-31
40
1
0
0
47
-25
-7
1
1
53
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
74
-6
55
1
23
3
-1
0
-1
-18
8
-15
5
0
7
-4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-24
16
19
18
-2
15
-9
-8
-8
-2
-1
50
-4
-4
-9
9
26
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-24
-11
71
9
-26
0
11
-27
0
35
6
1
3
17
-7
-18
-21
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
9
-11
1
0
-1
-7
0
0
-2
1
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
71
25
-37
0
-11
-1
1
0
0
0
45
-16
3
0
6
-24
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-6
24
23
4
0
-2
19
-49
2
4
-21
-33
58
5
0
-14
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
8
29
20
10
24
-14
-5
15
6
-18
19
-8
14
-13
6
-1
19
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
16
5
1
0
0
0
0
0
0
0
22
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
2
-10
1
-11
21
-7
8
0
-7
25
-2
4
0
-13
-20
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
36
-7
3
0
-6
-18
-2
0
2
5
-15
13
0
2
-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
46
-1
33
-6
17
5
47
-5
1
-4
-17
-26
60
11
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
-33
-75
-42
34
13
-13
65
41
-91
-32
-13
21
25
23
-1
10
-16
-17
-26
-38
-74
7
5
-53
-75
-60
-103
22
-14
-56
10
-20
-22
-1
14
5
-51
7
-14
14
2
-6
19
-45
-11
-57
-18
-11
-90
-1
-21
-17
-99
-1
43
-14
-30
4
-14
-71
-21
64
33
-10
19
-14
60
-35
8
-12
-75
18
-44
3
-40
-10
-89
-107
-64
42
-40
22
-11
-19
-33
35
60
-28
-11
8
-6
8
-33
-5
20
-4
10
3
2
1
34
-1
2
-13
-6
-3
8
4
2
1
-13
18
-6
5
5
4
-9
2
0
0
15
78
58
23
25
-9
59
5
39
-4
-8
-7
23
21
31
-14
-17
8
1
-2
16
50
0
71
-5
23
-15
-14
10
1
1
4
14
-10
-2
5
-16
7
0
0
9
32
32
-40
-96
44
-34
-19
-56
-32
6
-8
14
41
17
7
-14
9
12
0
-118
-61
-11
-45
-73
-109
-110
1
50
-54
-7
-78
18
16
6
-43
-19
61
46
-25
49
-15
-16
26
37
33
-2
-50
-31
-74
-24
18
28
10
35
-2
-23
-29
-14
-14
-79
-37
-30
-20
-16
-7
5
-31
-5
-18
0
-20
-62
16
-16
-7
-46
43
-33
-23
-13
-4
-13
-10
-1
17
-12
-27
8
21
-16
-50
-4
18
5
-30
-14
1
-3
0
9
4
2
-14
-4
-11
10
9
-2
-5
0
8
1
-1
0
-1
25
-2
-1
0
7
71
10
-8
-13
25
-16
3
-15
9
0
-25
8
-6
27
17
-2
-11
5
-9
0
6
3
19
-15
-22
33
-8
5
-2
-1
-18
2
0
1
0
5
-1
0
0
3
-30
80
-10
-43
12
-19
3
27
-42
4
-22
-14
8
-16
-43
-72
3
-76
-6
-5
4
42
-53
-80
17
-4
-28
-28
-87
-6
-39
9
-3
-18
-10
-29
-30
19
-48
32
-41
-78
-4
19
12
-65
-69
28
-49
69
-26
-52
-2
-30
-11
-25
-43
20
-1
-24
-42
-65
-44
-9
-23
-31
-65
-3
-21
-19
-77
-55
7
-50
-4
12
8
-18
7
2
-60
54
21
-7
14
-72
-5
-1
0
-25
-9
7
0
-14
0
25
-1
2
0
-1
19
35
-44
1
-4
8
-5
0
0
-7
-1
-3
0
0
23
0
1
1
0
6
-54
14
2
0
19
-43
7
26
4
-41
25
-6
-4
25
0
-3
9
8
2
-16
25
14
20
0
-2
-34
15
4
0
9
19
-10
0
0
-2
4
0
0
0
32
-114
62
-126
3
9
17
-30
32
7
0
69
-32
-46
8
27
-56
13
36
23
7
-48
55
-63
-3
-46
1
15
1
-60
-38
58
-19
-29
-43
-8
36
22
-1
-14
6
-38
-108
-16
-1
-62
-112
-8
19
23
-2
-66
46
-16
-27
-6
-77
-23
22
-7
-49
-10
-10
14
-26
6
-69
-86
6
-6
60
-14
-4
24
-95
-2
-9
7
37
-13
-19
47
8
14
0
5
32
-3
-1
0
-7
34
21
0
1
-5
-3
17
0
0
3
-40
2
29
1
9
-49
6
0
0
0
8
2
2
0
0
0
0
2
0
4
1
-1
2
0
-26
29
10
1
2
-7
8
-8
-7
-1
1
-23
-5
-6
1
0
25
-8
0
0
5
-14
-6
0
0
0
1
-3
0
1
0
3
-1
0
0
-32
-33
-54
1
-86
22
-41
-62
-24
-13
34
-47
10
13
-11
8
-36
-1
14
-13
1
11
-33
-18
6
-41
13
-2
-7
30
32
5
-9
-17
8
-50
24
-1
-12
16
41
17
-23
17
-13
-14
-1
-21
-19
-22
-11
0
38
-11
-103
-16
-10
23
-9
-18
-58
7
-11
1
9
-80
-31
0
2
-8
-11
-6
-12
13
11
-7
51
-110
0
28
29
-73
2
41
-3
-2
14
41
-10
1
0
6
-11
1
-4
-3
-1
-7
-1
-1
-72
-39
24
7
0
2
-37
14
-1
-8
17
-58
33
-1
-2
1
2
0
0
0
-14
-23
-22
-35
20
-18
9
-16
10
-1
-3
37
11
11
17
-7
1
5
-1
-1
67
1
-13
11
10
-6
20
0
0
2
10
14
-27
1
0
0
1
13
0
0
7
-32
40
21
-23
-25
-40
-35
-12
-3
22
-44
-3
-20
23
11
-47
15
11
26
-72
-3
-33
3
15
-31
13
-12
-26
-9
37
2
-18
-20
6
-51
-15
-7
28
3
32
25
7
-24
39
56
9
28
-95
-20
-5
5
-14
27
5
0
-4
16
-26
52
-34
8
-21
-2
-22
47
-26
-83
9
-73
-6
-27
-17
21
-2
-6
-59
-92
13
-53
24
51
-14
7
-9
9
4
-11
-15
1
-10
3
-8
4
0
5
1
-8
-4
0
3
-36
-15
4
-1
-2
31
-1
-1
0
0
-2
0
0
0
-1
1
0
0
0
8
43
-20
3
-7
-15
33
-1
-3
-3
-5
-9
47
1
-2
7
-1
6
0
-4
11
46
0
0
-19
15
-11
-3
-2
0
0
-8
-2
0
0
0
4
0
0
0
-2
11
-14
1
-36
-89
-80
-61
4
-1
-29
-61
7
-18
-8
2
17
6
-23
-20
-58
16
1
-1
-20
0
11
-4
6
-14
-84
-9
-1
7
-13
-6
-43
-25
2
-41
-4
13
21
-43
-50
-3
-3
-19
-110
-103
-37
6
-19
-1
-13
16
-12
8
-37
-3
-32
-10
-86
8
-45
-49
-43
-35
13
-98
24
-38
-25
-62
-50
-6
2
-13
-73
-22
-4
-20
8
-1
0
5
-11
0
2
0
8
-33
9
-1
-1
0
-5
7
-2
0
-1
56
-31
3
0
1
-24
0
4
-1
4
-19
5
-2
0
0
3
0
-1
0
-7
-53
3
-1
1
-2
-8
23
-9
1
-18
-36
53
3
1
0
14
-3
3
-1
18
90
2
11
1
6
4
-2
-6
0
1
1
-3
-1
0
0
-1
0
0
0
-2
90
-4
-34
4
-127
50
-80
-11
27
-113
13
-1
-69
7
-11
-25
-5
-4
8
-53
48
4
5
-35
10
47
-13
4
-1
-64
-19
3
-25
-26
11
33
-21
9
-58
-10
36
7
-8
10
-14
-45
-27
-23
-10
-26
-58
44
69
34
14
-28
61
-40
-5
33
56
16
-24
-32
8
86
48
25
-103
9
24
17
-24
15
-1
-72
43
-27
0
0
4
8
0
0
0
-25
11
0
0
1
3
-3
-1
0
-11
46
10
2
0
1
-20
5
-5
0
-2
3
-3
0
0
0
2
0
0
0
0
0
0
0
0
1
5
0
1
0
10
29
0
0
0
-3
15
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
60
-24
26
-5
24
-12
-35
-5
-13
-23
-40
9
37
-52
-88
-27
-76
-8
31
29
-12
-67
18
16
-129
-2
-23
15
-16
-31
-32
-23
-4
18
-49
-23
-13
-30
39
14
20
13
-2
-44
-55
-16
-2
-2
-6
-18
-54
8
-19
8
-1
20
31
-20
25
33
30
-5
2
17
-11
44
-6
-28
-7
-32
-35
-21
-5
18
-6
4
-12
-58
28
-32
16
23
38
-41
-1
17
-4
-55
6
-1
6
-58
-17
-13
-1
1
5
0
0
0
20
34
9
-11
6
4
14
-2
2
0
4
9
-36
-11
0
-3
6
1
0
0
42
6
44
8
0
-10
33
-15
53
0
34
-15
-5
7
-6
9
2
-5
0
0
-6
-4
-28
-45
-1
-13
14
-5
0
0
14
-29
-1
14
0
-1
14
-1
0
0
58
-14
-13
-41
-6
72
-13
-57
45
10
6
-4
38
-24
-30
5
62
6
-14
-9
-6
-97
18
-1
-70
-6
-103
15
64
0
-13
-104
25
-57
-68
-40
-71
16
50
-14
-26
16
12
-19
-12
-16
-1
-37
-28
-20
-53
13
-69
2
-1
-20
21
-28
-58
-1
5
10
-1
-25
-10
-60
22
-49
-13
-1
-74
3
-32
1
-22
6
-12
-85
20
11
-8
8
3
-18
0
-6
-16
-2
1
0
27
30
7
0
-1
-1
20
0
0
0
0
-4
0
6
0
-1
14
0
-1
0
3
52
-2
0
-2
11
0
0
0
0
18
1
36
30
-1
3
14
-2
-18
0
-17
-23
9
8
0
16
5
-2
-3
0
3
5
5
30
0
-6
77
0
-2
0
0
0
0
1
0
-3
4
-2
6
0
-28
-22
6
0
-8
-29
-80
4
20
10
-4
-29
21
2
-47
-11
58
5
-35
3
-35
-8
11
-14
-100
-15
-12
11
118
-6
-80
22
6
-22
64
-33
-47
-7
-36
34
-27
8
16
-43
-19
-74
-34
-32
-8
-3
-88
-12
-20
-29
49
-3
23
-3
16
-45
-64
15
17
5
15
-40
11
-47
5
20
21
-12
-34
-20
0
-14
46
-100
-32
27
15
-5
-8
1
0
0
13
3
-5
0
13
-22
33
-5
8
-1
25
-10
0
0
10
10
-10
2
1
1
3
7
0
0
-8
-18
0
1
0
4
-7
-1
0
0
-3
-9
-26
16
2
0
-51
-1
2
0
-5
53
-7
-27
-1
-1
8
-10
19
6
-2
-11
-5
-33
0
0
5
2
-3
0
0
53
0
-3
0
-2
1
0
-1
0
-50
55
-38
48
3
-82
0
7
-28
8
14
-11
16
4
3
-16
23
0
9
9
-3
-22
-15
32
20
-100
0
27
-101
77
-55
32
-24
2
-4
-25
53
36
51
2
-8
18
-20
26
-39
-3
7
-67
8
16
18
-36
5
3
-29
11
-62
5
9
24
-44
-6
5
31
-9
-8
7
-61
31
40
1
-44
-17
-50
-87
0
5
33
17
-66
0
2
3
-6
0
-1
37
-2
0
0
0
14
1
3
-2
0
-18
0
0
0
4
53
3
-2
0
5
14
4
1
0
0
-23
2
0
0
0
0
0
0
0
3
-14
13
7
0
1
-76
-2
-3
0
11
-10
-20
-26
0
10
-15
-6
15
0
-1
-11
13
3
-1
3
5
-1
1
0
0
-1
-5
6
0
0
7
0
0
0
-19
-14
13
4
-14
-30
-11
-5
-33
-4
21
-11
24
-72
-6
30
-28
-2
-16
-5
20
-160
10
-10
-99
-51
22
10
-1
-69
-15
-115
20
6
-38
29
-91
-20
43
-5
12
5
13
1
-20
4
-4
-2
0
-4
-29
6
-5
-5
-39
-35
-7
-69
-11
-31
-18
-25
-21
25
-54
-99
30
-10
12
-22
-37
-4
2
10
-16
-30
16
-55
59
-47
0
-32
-2
65
-4
-1
23
7
11
0
-3
-35
2
-5
0
0
-2
0
2
0
2
36
18
-2
0
0
18
-15
2
0
0
-24
-6
0
2
0
13
0
0
0
1
-7
18
-22
4
8
43
-16
1
1
2
68
-17
-2
0
9
25
-9
0
0
38
-32
63
5
4
0
-43
20
-2
0
0
-61
-13
1
0
0
0
2
0
0
45
-27
-19
-60
40
-60
-17
5
-108
11
-48
-68
-40
13
-7
22
-17
-48
-7
0
-47
-52
-10
-15
-19
35
-13
-3
-57
23
35
-84
29
-40
16
8
-33
-5
-20
6
11
1
17
1
1
-1
-27
6
3
-57
4
5
-6
-2
9
-8
-74
-6
-51
85
35
-34
9
7
12
-57
-26
-10
-2
10
5
-59
30
13
-85
0
-121
26
45
-14
0
-6
-3
7
0
0
7
-4
2
0
2
80
2
-2
0
2
33
0
0
0
0
-1
-7
4
0
0
-16
-1
0
0
0
-7
0
1
0
-3
1
-1
-1
0
0
2
10
1
-4
-2
-1
-20
-1
0
-1
-1
2
1
0
1
2
2
0
0
0
-5
0
19
0
-1
10
0
0
0
0
0
0
0
0
-1
0
0
-2
0
-12
-26
14
-26
-47
-27
-117
14
10
-26
1
-39
37
-77
-26
2
1
-47
26
20
-43
-120
4
-40
5
-81
-49
-1
-100
5
21
-97
-29
49
4
11
3
33
-43
22
-13
3
11
21
-59
20
-6
7
19
-45
-8
-4
-16
-31
0
5
25
-36
-53
40
-3
14
-6
5
7
104
-14
-32
10
-6
-33
-100
-1
32
41
-8
-112
19
-52
-15
-4
38
29
26
0
0
16
-20
0
0
-11
-48
25
-8
0
0
10
-2
2
0
0
17
8
4
0
-1
1
0
-1
0
0
-5
1
-3
1
0
0
1
0
0
3
2
4
-10
-6
2
-11
-4
-2
0
-2
19
34
-5
5
3
-2
3
0
0
0
-33
14
-16
0
0
-5
-1
8
0
3
-4
-4
4
0
0
0
0
0
0
-10
77
23
-52
0
9
59
-18
46
-2
59
0
-60
43
0
-19
49
-50
6
0
-1
-32
7
-100
65
-123
-15
15
-67
30
53
-100
-2
-32
1
1
-22
16
-5
-1
4
11
-4
26
-38
-10
-36
16
26
-106
-23
-26
38
-13
-33
-11
23
29
-13
-14
-25
-68
-12
4
-51
-18
38
-53
53
-45
-8
6
-51
3
-20
7
-5
53
-9
-23
-1
-2
0
0
0
0
9
0
1
0
0
-9
7
0
0
1
20
0
0
0
0
-33
2
0
0
0
11
-1
0
0
0
1
-1
0
0
0
-3
0
0
0
3
1
-2
-1
4
-1
10
4
-1
0
-1
5
0
-1
0
1
3
1
0
0
0
4
-1
4
0
0
0
20
-1
0
0
0
-2
-2
0
0
0
1
0
0
33
8
-45
15
-14
23
-38
19
-9
0
38
-39
3
47
-3
23
3
-45
0
0
-16
-14
-33
-45
9
0
5
-2
-7
0
-1
-6
4
-4
0
-1
6
-6
-11
0
-27
-21
22
5
3
0
-7
11
8
13
11
61
-33
4
-1
-2
-24
53
-9
0
-10
18
-43
22
10
2
14
43
-1
1
101
-29
-23
-4
2
-46
32
-3
0
0
-14
47
39
22
1
-5
-5
103
-21
1
22
-36
33
5
-3
11
0
-7
20
0
-21
28
26
75
-14
7
14
57
-3
9
-17
-3
2
1
1
2
-17
5
3
0
-6
24
32
71
-4
13
-27
-3
-24
-2
-3
-5
37
43
17
24
34
8
-18
5
-3
36
-19
18
-17
-27
18
-9
23
6
-15
-27
80
15
9
7
2
-10
3
0
33
14
14
-15
0
-9
-1
-13
4
1
4
-10
-2
3
3
-3
24
-6
-7
0
10
47
-11
-5
0
-14
-18
2
-2
0
-3
13
0
2
0
-1
-2
0
-1
0
-4
5
-25
-9
0
21
-47
33
2
-1
5
-31
14
2
-3
36
2
-48
2
0
-21
18
48
-15
3
-15
2
-46
0
0
8
14
9
3
0
5
0
0
0
0
8
81
-4
2
-4
-2
45
-23
-25
0
5
-46
18
-1
-1
29
-8
-14
-3
0
0
52
9
14
1
2
-14
-4
8
0
0
40
-5
-9
2
0
-15
8
0
0
-8
2
-1
5
31
14
21
41
-4
20
33
32
-37
7
-14
-6
0
30
-6
-7
-14
-2
17
83
-14
-14
15
-11
31
-2
-9
44
18
-21
23
-9
5
1
-4
0
17
40
4
0
-1
25
10
3
3
0
3
-6
-7
1
-1
17
-10
-10
-3
0
-16
-24
-6
5
-2
0
-5
5
0
0
3
-22
-8
13
0
0
2
0
0
0
-31
-17
24
43
-8
-21
45
3
-2
0
12
37
-1
5
0
12
5
-14
3
-2
70
-47
-4
-13
-9
35
-6
0
1
0
17
-4
8
-1
3
-3
0
0
0
0
3
7
19
-52
1
0
-34
19
9
-14
29
-9
45
0
2
-7
-27
3
5
-1
-8
31
-71
-3
9
2
-34
-21
4
0
-1
-30
15
0
1
0
-3
0
-5
0
-15
-2
64
20
-8
7
-24
20
-15
-13
37
-67
-44
32
-4
9
9
-21
-31
8
3
63
-19
28
23
-27
-25
-2
46
8
8
-1
6
-6
3
0
5
-4
0
1
-2
-8
16
-1
0
-4
-10
-2
-1
0
6
-5
4
0
0
-11
-7
-6
-3
0
0
13
-3
3
0
11
-21
-3
-1
0
0
-14
2
0
0
-2
18
-1
0
0
-14
25
23
-1
0
-7
2
17
0
0
1
32
-27
4
-1
-10
-16
-2
3
0
14
8
0
1
0
10
0
-11
-4
0
0
-1
-2
4
0
2
0
0
-1
0
0
40
-18
9
0
-3
17
4
0
1
5
-1
-5
13
0
-21
3
36
3
0
-1
14
-9
18
0
-7
-7
31
11
0
-1
0
-6
0
0
1
23
-1
0
0
-25
45
24
-1
25
2
-30
43
-1
-4
-8
56
17
-5
13
-14
33
-8
-5
27
16
-32
11
19
-18
0
-10
-1
-3
8
0
14
4
-14
-2
-1
11
-15
-4
-2
-32
-18
70
-3
5
-34
9
9
-1
0
33
24
-14
-8
2
20
7
7
-8
0
-19
-18
35
-13
0
3
-7
0
4
0
-2
1
-43
1
0
1
-4
-5
0
0
22
2
59
-39
1
70
4
23
-8
0
-14
-49
-5
11
3
-6
5
-21
0
0
16
-51
62
-11
3
-11
2
-5
1
0
-1
14
-4
8
-3
0
2
1
1
0
101
3
-103
6
-11
0
-4
63
5
-3
-9
-11
1
17
-9
6
22
-23
-2
0
-17
-14
36
-26
13
4
43
-9
-14
5
-6
22
13
4
-3
2
-8
1
0
0
31
68
-53
-27
49
5
20
7
-6
-6
5
66
-8
4
-4
-33
-10
54
11
5
-38
-50
11
-10
14
72
-14
-32
-11
0
5
50
-22
-7
14
-9
0
45
2
0
0
7
47
-24
0
-3
-18
-2
-6
-1
-9
0
5
-1
-1
0
-4
-17
-2
0
-1
2
10
0
0
-6
29
1
-11
0
2
-10
1
0
0
0
-14
0
0
0
-10
-16
32
-2
-1
-10
35
-15
0
0
-6
-6
-21
0
2
-6
1
-10
0
0
5
7
5
-1
-1
1
-3
18
1
0
-9
-1
4
0
0
0
2
0
0
0
-27
47
9
9
-1
2
-15
-25
20
0
-1
-41
16
-7
-1
-1
25
-5
3
0
-5
14
-4
5
1
0
14
-2
3
-1
0
7
3
0
0
-3
6
0
0
0
19
30
46
11
-33
9
27
-35
14
23
43
24
-36
-9
14
-45
39
-17
29
-19
0
21
9
-4
-6
2
-16
-6
-8
-14
-2
-4
-21
8
0
0
-4
0
0
0
-10
25
5
3
-1
4
10
0
7
0
-24
17
2
3
1
0
-9
2
4
0
0
47
16
-4
0
1
-15
3
0
0
35
-11
-3
0
0
0
-1
0
0
0
-25
24
-6
4
3
1
13
-23
0
0
5
5
-1
-1
3
-9
2
-1
0
0
24
10
-5
-3
0
-1
0
-11
-3
0
-2
5
9
0
2
1
1
-1
0
0
6
69
15
-41
-3
-1
14
3
1
0
18
-7
8
-1
18
-1
-4
1
1
-3
-8
-10
-16
8
0
-2
-16
14
0
0
-5
31
-5
6
0
0
3
0
0
0
-5
-7
-32
42
9
47
32
-20
4
-25
21
-5
44
-7
-9
14
43
-3
3
2
-25
26
-14
-3
11
10
45
14
0
-9
4
3
-35
1
3
0
-1
-14
0
0
0
23
0
0
0
0
5
1
0
0
1
-9
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
15
1
22
1
0
14
-1
31
0
0
8
-1
-5
-2
0
6
0
0
0
0
-2
6
20
0
0
0
1
0
0
0
0
0
1
2
0
0
33
-11
-9
0
0
-11
0
0
0
0
-5
-5
1
0
0
-5
0
0
0
5
3
17
1
0
0
-10
-1
0
0
0
-1
-1
0
0
0
15
0
0
0
1
2
-2
10
0
-4
-19
13
2
5
7
-9
14
-9
19
0
0
-1
-8
-3
-1
-8
14
1
-1
14
-10
0
-1
-1
0
0
11
0
0
0
-2
0
0
1
-29
51
-43
1
-3
6
-46
7
2
0
-5
-23
25
5
-1
0
-3
0
4
0
-6
-33
-10
2
-1
1
-46
16
0
0
3
24
1
-3
0
0
0
-1
1
0
-27
44
44
-23
8
11
2
0
47
-4
32
-9
-27
65
2
0
0
44
6
0
-17
-38
22
-1
10
-6
6
20
-9
0
-8
-47
6
6
-1
1
2
-6
-4
0
-35
17
-65
2
24
7
-47
123
-33
-9
-23
31
32
-35
3
0
-3
-20
39
0
-36
25
39
50
-6
1
50
5
35
0
5
23
-27
13
-5
0
6
3
1
0
-63
11
36
16
44
-34
-11
46
43
-13
-5
5
33
20
6
33
26
-43
2
20
-6
53
19
26
5
17
63
50
-8
-19
-30
54
-33
60
6
-1
-1
8
25
0
0
7
-1
1
0
-24
35
9
1
0
0
-14
3
-1
0
0
43
3
0
0
1
22
-2
2
1
0
-14
-10
6
0
0
-5
2
0
0
0
-4
0
0
0
-1
-7
-26
-24
0
0
4
-29
0
-3
0
11
25
-4
4
4
-2
47
-3
-3
6
0
-47
-5
3
2
2
21
0
1
0
20
0
16
0
-1
-3
6
5
0
-3
54
23
47
-7
2
120
-45
7
0
-7
-46
8
7
0
-1
-27
8
-1
1
0
40
24
-5
0
0
-53
-7
7
0
0
-37
-9
-3
1
-2
-11
17
-3
0
-8
-31
0
24
2
3
43
-9
21
13
7
9
-37
67
-5
5
-3
11
10
3
1
-52
48
-19
13
-7
-18
59
25
0
-2
5
17
-11
-9
-1
-5
-2
14
1
-3
-38
-16
33
-6
0
-2
-3
-1
0
-2
4
-34
5
0
3
-2
-6
0
0
-14
-7
0
0
-1
0
-60
-2
0
0
-1
50
-4
3
0
1
0
0
0
0
-2
73
-12
-22
-4
11
-17
1
1
-2
-49
-7
3
0
1
62
3
-17
-5
0
13
-23
-2
11
0
3
10
-13
-3
0
8
3
7
-1
-1
0
-3
0
5
0
0
32
34
-21
3
-3
18
1
10
0
14
23
-44
3
0
0
73
-4
-5
0
4
-9
-7
15
-5
-1
78
-5
-18
0
-4
-17
-14
53
0
0
15
1
0
0
31
-41
24
3
-2
1
81
5
29
7
20
36
-30
36
-6
-6
3
66
-33
-4
2
78
26
35
3
-13
8
-16
32
9
-10
43
-5
-26
-8
-1
-15
-20
10
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
-16
0
4
0
0
-2
2
0
0
0
7
0
0
0
-1
13
0
-1
0
0
-8
-10
-1
-1
1
0
0
-2
0
0
5
3
0
0
-1
1
-19
4
0
0
-3
46
2
0
-1
1
5
0
1
0
3
0
0
0
1
-14
5
6
0
-1
-7
-4
-1
0
2
39
-13
-4
0
0
-10
-1
4
0
0
26
-3
25
0
0
14
-7
-5
0
0
3
5
1
1
0
-2
0
0
0
-4
86
-45
-5
4
3
-34
-11
-32
-1
-2
23
18
-13
-3
0
16
-6
-20
-3
-1
4
41
4
2
-2
-10
-6
14
1
0
-8
-11
33
0
6
-2
-3
-4
0
39
-17
-56
11
0
-16
-8
10
-1
0
-1
-1
-21
2
0
0
0
-5
1
0
-1
-56
9
3
1
4
-7
-3
2
0
-2
5
4
-4
0
0
-2
0
0
0
14
12
-41
43
0
0
-25
58
3
5
-1
17
13
9
0
-4
-1
-24
2
0
9
24
8
-14
1
-10
-2
1
1
0
-9
4
0
0
0
0
1
3
-1
0
13
16
43
-32
16
-2
-9
64
28
-1
-1
6
-3
-8
-15
2
73
59
6
0
17
-6
42
-40
-4
0
35
12
16
13
-1
33
-11
-33
-8
0
-1
4
0
0
-14
5
62
20
-48
7
-10
7
-15
6
14
27
-31
0
21
7
5
20
-8
-1
-19
-37
15
35
-15
8
-14
80
13
3
10
-64
90
3
-29
1
-4
-20
5
-4
-1
14
-30
-3
0
-1
-33
-6
0
0
0
0
0
0
0
0
4
0
2
0
0
-15
9
0
3
0
0
-1
3
0
0
1
3
0
0
0
0
1
0
0
-7
-13
18
2
3
1
18
0
-5
0
0
-8
6
1
0
-35
1
37
-4
0
6
-1
14
1
-1
0
-5
-14
0
0
0
19
6
-1
0
0
0
3
0
0
0
53
-29
14
0
0
6
-16
-15
1
0
54
26
-23
-1
0
-2
6
0
0
0
-25
-2
14
0
0
-5
-4
-18
1
0
-5
9
-2
0
0
-1
-21
2
0
3
34
-1
26
7
1
21
52
16
3
0
13
21
16
-7
16
6
-4
-3
-2
-3
1
-16
8
-8
0
-20
-24
7
-1
0
9
23
-11
2
0
-3
-15
46
1
0
-46
4
-2
0
3
4
0
0
0
-1
9
-5
0
0
1
2
-7
0
0
1
3
0
0
0
0
0
2
0
0
-3
20
-1
1
0
0
0
-1
0
0
-18
5
-26
5
0
2
3
26
-1
0
4
26
56
-20
0
0
-6
9
0
0
-3
1
-45
14
0
-2
1
7
0
0
-2
-11
-2
-6
0
0
0
5
0
0
7
-49
51
29
-1
0
-34
-7
14
0
-9
17
18
-30
0
1
17
7
0
0
0
-44
-17
-7
8
0
34
27
14
-2
0
6
5
3
1
0
-1
-3
3
0
-13
9
-28
53
4
0
-17
-16
32
-2
-23
33
-28
56
2
-5
8
14
9
0
-23
9
20
34
1
0
17
43
8
3
1
5
-25
28
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
31
0
0
1
1
8
0
0
11
4
2
2
0
-2
0
13
0
0
0
0
-6
0
0
0
0
7
0
0
0
-2
0
0
0
0
-26
-6
5
0
0
-8
0
0
0
1
11
-3
-1
-3
0
5
0
0
0
0
16
-20
-2
0
0
6
-6
2
0
0
-1
-1
0
0
0
1
2
0
0
0
-15
21
-4
-16
-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
-10
-2
1
0
1
2
-5
-1
0
40
6
14
34
0
0
-21
-20
8
0
0
-55
-20
-30
0
0
-25
6
32
0
0
10
-10
-43
0
0
20
-16
-74
0
0
24
-46
-1
0
0
4
-46
31
0
0
-26
18
-97
0
0
-13
-53
39
0
0
-27
-1
90
0
0
-47
-21
-69
0
0
81
6
-10
0
0
147
-46
-43
0
0
16
-72
-6
0
0
23
28
-65
0
0
14
54
14
0
0
17
-88
-5
0
0
25
-25
-79
0
0
-3
24
-6
0
0
14
24
-22
0
0
-18
-19
16
0
0
24
24
-22
0
0
20
-29
-7
0
0
-5
51
13
0
0
43
-12
-7
0
0
-76
71
39
0
0
15
-32
0
0
0
-33
51
-59
0
0
4
24
-3
0
0
-12
22
-23
0
0
-10
-59
0
0
-10
-25
16
41
0
0
7
11
-29
0
0
-4
9
42
0
0
-93
6
-28
0
0
-27
14
31
0
0
20
22
-56
0
0
-26
47
24
0
0
-13
26
18
0
0
-62
2
38
0
0
79
-1
82
0
0
25
-65
-32
0
0
119
-1
-35
0
0
21
-75
-76
0
0
47
42
1
0
0
34
-155
26
0
0
21
-31
-90
0
0
-6
37
19
0
0
35
22
23
0
0
-7
-30
4
0
0
65
-5
-2
0
0
-40
-37
17
0
0
-14
32
6
0
0
71
4
-2
0
0
-16
-5
0
0
0
-5
-112
15
0
0
-5
27
-13
0
0
-56
-3
1
0
0
-11
-43
-1
0
0
46
-10
31
0
0
3
-9
-6
0
0
-43
-14
0
0
0
-12
-14
2
0
19
1
-10
-18
0
0
56
12
-31
0
0
10
81
13
0
0
17
-46
15
0
0
-12
-29
29
0
0
50
34
6
0
0
15
51
26
0
0
36
-49
67
0
0
-7
45
54
0
0
-35
5
18
0
0
-20
-34
-4
0
0
-35
-30
8
0
0
36
73
-10
0
0
-40
-58
22
0
0
-15
37
43
0
0
-9
19
-31
0
0
27
-66
-17
0
0
87
-24
-64
0
0
13
26
16
0
0
27
40
-3
0
0
-38
-25
-5
0
0
-72
-19
47
0
0
-19
-10
-33
0
0
15
53
0
0
0
-21
-40
0
0
0
3
-9
0
0
0
16
30
-43
0
0
4
11
0
0
0
-32
-47
-2
0
0
-5
26
-2
0
0
-8
14
0
0
0
23
-2
0
0
38
13
-31
-4
0
0
-29
117
-53
0
0
26
43
8
0
0
30
128
82
0
0
32
-33
-5
0
0
19
-53
-2
0
0
7
36
35
0
0
4
76
41
0
0
98
-25
29
0
0
-21
-15
22
0
0
-97
45
14
0
0
-24
-6
-46
0
0
0
29
-48
0
0
-50
45
64
0
0
36
-16
2
0
0
10
32
-4
0
0
-17
23
-14
0
0
2
9
14
0
0
66
22
-4
0
0
53
-19
6
0
0
-19
14
-4
0
0
49
24
0
0
0
-7
7
0
0
0
23
-33
0
0
0
-151
29
-16
0
0
-9
19
0
0
0
-14
-6
7
0
0
77
-11
0
0
0
-1
0
-1
0
0
-5
2
0
0
0
54
31
1
0
0
14
-10
0
0
-4
-10
-22
-54
0
0
43
10
-64
0
0
29
15
-5
0
0
12
12
4
0
0
39
9
-40
0
0
-7
16
14
0
0
25
42
18
0
0
2
22
-15
0
0
42
-60
50
0
0
-83
16
-13
0
0
13
65
-2
0
0
13
43
-107
0
0
-23
-5
0
0
0
45
-60
-8
0
0
-45
64
22
0
0
1
-14
14
0
0
-34
-22
24
0
0
-25
-18
-11
0
0
8
39
10
0
0
-17
29
2
0
0
19
-18
18
0
0
1
-71
-14
0
0
1
-31
5
0
0
0
53
0
0
0
-23
-17
23
0
0
-25
14
7
0
0
-14
-10
-4
0
0
0
-1
-5
0
0
-52
-20
26
0
0
6
-22
-1
0
0
46
-39
4
0
0
-1
2
1
0
-3
2
-11
-94
0
0
-9
-57
-14
0
0
36
10
-9
0
0
29
-19
79
0
0
11
16
24
0
0
-5
54
-34
0
0
-10
52
31
0
0
63
-16
18
0
0
-3
-10
33
0
0
-11
85
-43
0
0
-11
3
17
0
0
20
23
-92
0
0
-23
-75
59
0
0
-2
63
-25
0
0
-73
-39
-7
0
0
34
-81
-35
0
0
92
5
9
0
0
-37
-15
-4
0
0
-31
-5
-3
0
0
4
-63
1
0
0
-5
-1
5
0
0
17
23
0
0
0
-26
-23
3
0
0
0
-81
0
0
0
-19
5
9
0
0
-1
-8
0
0
0
13
-7
0
0
0
-22
2
0
0
0
-13
16
0
0
0
-10
10
2
0
0
14
1
0
0
0
-15
-4
-2
0
1
49
-28
-54
0
0
-24
49
24
0
0
4
76
-14
0
0
3
27
105
0
0
19
83
35
0
0
3
-69
-13
0
0
-14
16
15
0
0
31
24
-12
0
0
1
33
-44
0
0
77
-4
19
0
0
-23
-52
42
0
0
-30
-13
-35
0
0
-55
25
18
0
0
56
9
-35
0
0
-98
18
-16
0
0
-43
14
-90
0
0
49
-31
-2
0
0
-1
1
19
0
0
2
4
-18
0
0
53
-46
0
0
0
14
4
14
0
0
-5
9
5
0
0
-1
-44
4
0
0
-14
-24
5
0
0
36
27
-7
0
0
-5
-2
-1
0
0
20
-14
1
0
0
-4
4
0
0
0
1
-14
33
0
0
1
9
0
0
0
-1
29
-5
0
0
-2
14
0
0
11
117
-6
-11
0
0
23
63
35
0
0
-14
-17
29
0
0
13
41
67
0
0
25
33
-92
0
0
27
13
-30
0
0
-3
35
-7
0
0
-39
71
3
0
0
38
0
-51
0
0
-11
6
55
0
0
26
-25
14
0
0
-48
16
-5
0
0
64
47
35
0
0
82
-33
-23
0
0
5
-30
-63
0
0
25
-58
-2
0
0
-22
-71
7
0
0
-17
14
0
0
0
10
2
-1
0
0
-64
15
1
0
0
59
-9
0
0
0
-23
5
0
0
0
-64
-11
0
0
0
23
20
0
0
0
-49
-2
2
0
0
5
0
-1
0
0
14
-13
5
0
0
35
-6
0
0
0
0
4
2
0
0
7
5
-2
0
0
0
15
0
0
0
1
32
1
0
-19
61
48
-28
0
0
-22
36
-1
0
0
34
3
-63
0
0
-63
-47
-37
0
0
-95
27
27
0
0
63
7
32
0
0
-30
32
-58
0
0
-17
51
-109
0
0
-3
7
62
0
0
15
-31
52
0
0
44
-47
-28
0
0
5
3
-40
0
0
57
-9
19
0
0
119
-34
-65
0
0
114
-38
-38
0
0
-80
-14
31
0
0
13
-15
34
0
0
-31
16
53
0
0
22
32
-21
0
0
33
-36
3
0
0
-100
-2
34
0
0
-25
45
10
0
0
-29
-15
0
0
0
-15
24
-10
0
0
56
52
-31
0
0
15
2
-20
0
0
53
-36
30
0
0
27
-18
5
0
0
27
47
-3
0
0
20
-2
5
0
0
32
-54
5
0
0
-2
-15
-1
0
-43
-22
20
-18
0
0
28
-14
-10
0
0
1
14
42
0
0
-27
22
64
0
0
-49
31
75
0
0
-35
-13
57
0
0
-7
5
-15
0
0
-25
-35
-113
0
0
108
-21
29
0
0
31
-25
10
0
0
-19
-28
54
0
0
55
-16
-44
0
0
33
-45
5
0
0
44
-43
-73
0
0
36
-67
-16
0
0
14
-12
20
0
0
-28
76
5
0
0
1
-33
2
0
0
-8
-11
-14
0
0
-14
-29
-1
0
0
5
-99
6
0
0
0
-9
-2
0
0
-29
27
0
0
0
53
-20
-1
0
0
80
-47
11
0
0
13
3
33
0
0
-15
15
-19
0
0
56
18
7
0
0
-6
36
-2
0
0
-51
20
-5
0
0
-5
2
2
0
0
48
-20
-7
0
-3
23
-22
-41
0
0
-27
-36
2
0
0
66
-13
-37
0
0
61
22
50
0
0
-33
8
63
0
0
-8
3
25
0
0
1
54
43
0
0
-9
40
22
0
0
-36
-29
22
0
0
45
67
-26
0
0
-6
-27
-66
0
0
26
18
-12
0
0
19
32
19
0
0
-29
37
9
0
0
-5
57
30
0
0
42
-5
-39
0
0
-24
56
-8
0
0
-4
19
-35
0
0
-10
-6
15
0
0
27
60
-9
0
0
-89
-46
14
0
0
85
11
10
0
0
-9
5
5
0
0
33
-37
0
0
0
-4
4
42
0
0
18
3
6
0
0
27
15
4
0
0
23
-8
4
0
0
13
11
17
0
0
7
-24
3
0
0
-7
-5
-33
0
0
33
30
0
0
6
80
-138
12
0
0
24
-71
84
0
0
63
14
-59
0
0
76
-49
24
0
0
-7
16
-76
0
0
14
3
8
0
0
61
-22
-12
0
0
64
-21
9
0
0
24
25
-109
0
0
-17
-40
-3
0
0
-40
45
-11
0
0
44
48
-23
0
0
-18
52
35
0
0
-1
-32
-30
0
0
44
5
35
0
0
-72
-57
33
0
0
15
-33
5
0
0
38
5
-2
0
0
30
5
3
0
0
15
25
-1
0
0
45
-1
-6
0
0
-25
61
0
0
0
20
-1
-1
0
0
-67
76
-2
0
0
25
5
-17
0
0
-15
0
-11
0
0
-8
0
14
0
0
-21
11
-3
0
0
-37
22
-4
0
0
50
33
5
0
0
26
-26
0
0
0
-10
61
0
0
-11
-18
19
9
0
0
-42
-78
28
0
0
-17
-21
37
0
0
34
89
-27
0
0
-27
-47
24
0
0
-71
45
26
0
0
23
68
18
0
0
-44
3
32
0
0
27
39
-16
0
0
85
-38
41
0
0
-33
-43
-1
0
0
-72
16
62
0
0
22
-52
6
0
0
-6
-22
-61
0
0
47
2
21
0
0
-18
-39
-65
0
0
87
-43
-18
0
0
-4
-26
2
0
0
95
9
35
0
0
-5
-14
-3
0
0
88
25
1
0
0
-10
2
5
0
0
58
-29
32
0
0
-11
33
0
0
0
21
22
67
0
0
-6
-18
4
0
0
1
-4
30
0
0
17
-2
4
0
0
32
-71
-2
0
0
-24
-17
-16
0
0
5
-8
11
0
0
-1
45
-27
0
6
16
-43
51
0
0
-43
-5
23
0
0
-79
-8
-58
0
0
62
44
5
0
0
-23
-5
-1
0
0
-45
35
-8
0
0
-53
23
4
0
0
-33
20
-12
0
0
5
41
29
0
0
-3
16
-18
0
0
41
-56
-15
0
0
15
-18
11
0
0
-32
-52
-3
0
0
-19
12
13
0
0
-72
-68
1
0
0
-71
37
2
0
0
-42
23
-32
0
0
-4
26
7
0
0
-5
-5
2
0
0
12
-15
0
0
0
9
18
0
0
0
18
-20
0
0
0
31
-7
0
0
0
25
2
0
0
0
1
13
9
0
0
5
-17
17
0
0
14
6
-33
0
0
-43
29
3
0
0
32
-5
22
0
0
-3
4
-1
0
0
-4
4
1
0
0
37
29
5
0
13
60
-42
-21
0
0
-49
-55
40
0
0
-67
-46
-23
0
0
124
-7
-76
0
0
-52
20
16
0
0
-17
13
-53
0
0
33
-34
-61
0
0
-11
-32
39
0
0
-5
45
35
0
0
3
-4
21
0
0
-75
20
15
0
0
28
31
53
0
0
4
22
-4
0
0
22
39
-13
0
0
-82
-11
-1
0
0
-64
-14
-52
0
0
-29
36
-31
0
0
3
-21
3
0
0
-16
-6
-33
0
0
14
-5
0
0
0
33
1
-14
0
0
3
10
9
0
0
24
-18
2
0
0
-5
81
2
0
0
-10
18
0
0
0
0
8
-1
0
0
1
-5
5
0
0
18
33
1
0
0
13
4
-8
0
0
0
-10
-31
0
0
79
-4
-35
0
0
-59
13
0
0
23
-104
-81
-43
0
0
-30
-96
75
0
0
9
21
1
0
0
86
16
-87
0
0
-37
27
32
0
0
1
-22
-14
0
0
-11
-44
-6
0
0
-23
47
-75
0
0
-6
-13
60
0
0
21
52
-29
0
0
57
-15
24
0
0
12
-36
-3
0
0
54
24
-12
0
0
-51
35
-43
0
0
-16
-7
-37
0
0
71
-24
41
0
0
3
0
0
0
0
24
1
-4
0
0
1
0
0
0
0
2
-6
-9
0
0
6
-4
0
0
0
53
-33
-2
0
0
49
2
3
0
0
71
26
0
0
0
-4
0
0
0
0
6
0
0
0
0
-9
-1
-14
0
0
-50
-14
0
0
0
-18
3
0
0
0
-34
-15
0
0
0
-8
26
-1
0
0
-48
7
-1
0
-7
16
103
94
0
0
-34
-49
21
0
0
-7
-17
71
0
0
-81
42
-2
0
0
-39
-5
-13
0
0
-30
43
-43
0
0
-29
-56
27
0
0
10
58
-8
0
0
35
74
23
0
0
33
19
8
0
0
108
78
-83
0
0
99
-12
10
0
0
9
34
-8
0
0
51
-95
-5
0
0
61
-37
-7
0
0
-3
0
0
0
0
-1
-34
44
0
0
58
-4
-25
0
0
-4
13
54
0
0
-11
-15
13
0
0
58
45
76
0
0
35
-51
-14
0
0
-18
60
9
0
0
-5
-1
-1
0
0
38
-39
38
0
0
-2
75
26
0
0
17
102
-69
0
0
-7
14
30
0
0
-58
54
-58
0
0
-34
70
-108
0
0
-83
-56
-31
0
0
-24
31
-11
0
-9
72
19
-12
0
0
-48
-3
14
0
0
-12
-7
-1
0
0
-15
37
-32
0
0
-22
-21
58
0
0
14
-31
22
0
0
-27
98
4
0
0
45
38
-5
0
0
95
-76
33
0
0
43
54
0
0
0
-18
3
-4
0
0
44
3
-2
0
0
-9
-100
2
0
0
-13
31
-2
0
0
45
29
-2
0
0
0
-10
-2
0
0
62
110
48
0
0
4
76
56
0
0
22
66
-1
0
0
-17
3
-8
0
0
-63
89
-22
0
0
-22
14
16
0
0
55
-15
-3
0
0
19
-53
-4
0
0
-35
-1
54
0
0
2
0
-1
0
0
30
0
-2
0
0
-19
-18
-4
0
0
26
10
-46
0
0
1
-41
-22
0
0
11
-26
5
0
0
8
14
-2
0
40
3
3
-32
0
0
-8
-14
-21
0
0
-34
36
-13
0
0
17
5
11
0
0
-32
22
-42
0
0
109
67
-21
0
0
-14
54
-3
0
0
-9
-3
14
0
0
-12
43
16
0
0
6
1
7
0
0
-36
92
24
0
0
25
-54
0
0
0
45
24
5
0
0
-14
24
5
0
0
34
9
-1
0
0
25
4
0
0
0
63
18
-52
0
0
2
77
-27
0
0
-17
37
50
0
0
5
26
-5
0
0
43
-34
-5
0
0
-6
0
-20
0
0
-46
-79
4
0
0
3
12
4
0
0
23
-11
-1
0
0
1
-20
17
0
0
37
31
13
0
0
-5
-43
0
0
0
-81
80
76
0
0
0
-25
-7
0
0
18
1
34
0
0
104
-52
-1
0
88
-18
-6
35
0
0
26
-23
19
0
0
28
56
29
0
0
-34
-39
-27
0
0
91
-26
-9
0
0
23
70
-47
0
0
-49
6
5
0
0
5
-21
-13
0
0
-5
-25
-15
0
0
-7
7
0
0
0
-38
48
0
0
0
59
1
4
0
0
3
10
0
0
0
2
6
-2
0
0
10
-31
0
0
0
34
3
1
0
0
24
48
8
0
0
-19
26
9
0
0
-7
-4
11
0
0
80
-18
0
0
0
-12
-8
20
0
0
95
-2
-6
0
0
5
-8
3
0
0
55
-50
6
0
0
-24
48
-14
0
0
-25
6
-4
0
0
-3
37
-9
0
0
29
-35
-2
0
0
-42
-16
6
0
0
7
50
-3
0
0
-33
-8
3
0
0
34
31
4
0
-39
18
-52
56
0
0
43
-10
-4
0
0
65
56
-65
0
0
-15
52
16
0
0
58
-36
33
0
0
9
-28
-1
0
0
3
5
6
0
0
0
41
0
0
0
-49
6
19
0
0
-10
16
4
0
0
-17
28
7
0
0
-9
15
2
0
0
15
3
-1
0
0
-3
37
0
0
0
46
-23
4
0
0
-19
-2
-1
0
0
40
24
5
0
0
-3
50
-11
0
0
-63
0
-42
0
0
10
-15
-5
0
0
-48
-4
33
0
0
-17
93
-30
0
0
-47
44
25
0
0
2
-23
0
0
0
20
42
-73
0
0
10
-20
1
0
0
53
32
74
0
0
-27
-32
8
0
0
-50
58
-30
0
0
-4
18
-37
0
0
-15
101
53
0
0
7
19
-10
0
-98
19
99
10
0
0
-21
-5
-14
0
0
-15
-18
15
0
0
14
5
-20
0
0
-5
-6
0
0
0
6
-25
19
0
0
6
-23
0
0
0
11
-56
2
0
0
-14
30
-3
0
0
41
4
1
0
0
22
5
-3
0
0
-60
26
3
0
0
-21
-27
1
0
0
48
21
0
0
0
36
14
0
0
0
13
6
3
0
0
-29
-21
3
0
0
-1
0
-18
0
0
-24
33
-6
0
0
-19
-22
-11
0
0
-15
21
-15
0
0
-11
7
-8
0
0
34
-25
1
0
0
14
19
2
0
0
-31
7
13
0
0
0
31
0
0
0
-23
18
-1
0
0
50
-33
-9
0
0
-44
30
-14
0
0
-8
13
13
0
0
-14
7
-5
0
0
-48
53
0
0
-3
-15
-6
3
0
0
-8
-16
-4
0
0
7
16
15
0
0
-11
14
-4
0
0
7
26
-17
0
0
6
-13
8
0
0
5
33
-20
0
0
-44
5
6
0
0
128
8
-27
0
0
-15
10
-2
0
0
17
33
-8
0
0
31
0
-1
0
0
-1
48
19
0
0
5
-20
-9
0
0
-48
-50
3
0
0
-8
4
1
0
0
-31
6
21
0
0
1
-7
-13
0
0
20
-6
23
0
0
14
26
0
0
0
7
2
17
0
0
6
-5
6
0
0
3
-58
1
0
0
16
-24
-5
0
0
-60
47
-8
0
0
9
-10
14
0
0
-29
-16
22
0
0
30
-21
1
0
0
99
-1
-16
0
0
-4
-16
-9
0
0
-26
-17
-23
0
0
-17
98
7
0
16
31
-56
-6
0
0
50
-3
-2
0
0
-1
1
0
0
0
10
10
1
0
0
-32
0
3
0
0
9
-1
3
0
0
11
14
0
0
0
23
41
0
0
0
56
7
0
0
0
37
-15
0
0
0
8
5
3
0
0
42
6
0
0
0
52
-5
-1
0
0
23
16
-1
0
0
-6
23
0
0
0
30
76
0
0
0
-46
-2
1
0
0
0
2
-13
0
0
2
-2
-4
0
0
-38
13
0
0
0
-2
-9
-1
0
0
1
5
0
0
0
-27
16
0
0
0
14
6
-2
0
0
-30
2
43
0
0
-2
-19
0
0
0
27
1
-11
0
0
14
5
6
0
0
-24
-24
7
0
0
-4
0
45
0
0
-24
-14
0
0
0
-33
58
0
0
4
-14
80
-30
0
0
-37
0
-5
0
0
-30
-26
-7
0
0
1
-53
0
0
0
44
28
-8
0
0
-11
-15
33
0
0
26
34
1
0
0
-2
47
1
0
0
7
-8
-27
0
0
-42
22
0
0
0
62
24
18
0
0
-65
21
-1
0
0
10
102
33
0
0
29
53
-3
0
0
18
-4
5
0
0
-60
9
1
0
0
-28
-51
56
0
0
-7
83
5
0
0
6
18
58
0
0
43
5
-3
0
0
-4
-14
92
0
0
15
-27
-8
0
0
14
-36
-1
0
0
-14
-27
15
0
0
14
48
-4
0
0
18
-37
-2
0
0
19
120
25
0
0
-9
-31
48
0
0
57
81
-40
0
0
62
-53
25
0
0
45
47
-7
0
0
-83
41
22
0
-38
63
6
36
0
0
-25
18
8
0
0
4
48
-1
0
0
-8
-52
2
0
0
-22
36
-5
0
0
4
21
-3
0
0
11
6
0
0
0
-8
-75
0
0
0
44
-22
-4
0
0
-6
9
0
0
0
-55
52
-13
0
0
15
5
0
0
0
8
-16
7
0
0
-30
40
0
0
0
16
59
0
0
0
4
47
1
0
0
56
-14
26
0
0
-43
-74
-3
0
0
-49
-29
43
0
0
109
47
-14
0
0
0
-2
15
0
0
33
28
-44
0
0
69
50
11
0
0
-5
192
0
0
0
48
-101
-49
0
0
-32
9
30
0
0
-73
-11
32
0
0
53
-23
27
0
0
-17
49
19
0
0
7
5
-11
0
0
-24
51
53
0
0
22
-9
8
0
14
-24
34
15
0
0
-64
34
-21
0
0
-21
43
10
0
0
47
-34
1
0
0
41
-33
-6
0
0
-6
3
-15
0
0
59
-32
-7
0
0
32
33
1
0
0
-29
-13
-19
0
0
8
25
-6
0
0
27
24
-34
0
0
8
108
-4
0
0
-7
5
-4
0
0
-36
93
7
0
0
49
9
5
0
0
24
80
-6
0
0
-22
26
-3
0
0
11
-25
21
0
0
8
24
-7
0
0
-49
60
15
0
0
-17
108
46
0
0
-8
-19
20
0
0
-3
-14
1
0
0
-15
-2
3
0
0
3
9
-18
0
0
55
-18
-9
0
0
16
3
-11
0
0
-24
52
37
0
0
-57
21
-11
0
0
74
-16
49
0
0
-61
46
65
0
0
114
51
-19
0
-5
54
-105
0
0
0
46
10
3
0
0
-9
-19
6
0
0
17
-46
-15
0
0
-10
8
-3
0
0
0
17
-11
0
0
-14
-4
-1
0
0
-27
86
20
0
0
42
45
3
0
0
-22
65
0
0
0
-14
-51
-1
0
0
-34
122
-14
0
0
-55
23
0
0
0
59
45
0
0
0
52
8
3
0
0
-9
-86
-4
0
0
32
-6
-2
0
0
-5
53
10
0
0
14
25
-13
0
0
-66
59
-6
0
0
15
14
2
0
0
14
32
15
0
0
27
20
-23
0
0
-17
10
6
0
0
-26
-9
23
0
0
-7
70
4
0
0
25
-35
14
0
0
32
30
15
0
0
61
-53
6
0
0
12
14
37
0
0
52
10
74
0
0
26
-8
-4
0
10
33
84
-33
0
0
-53
40
13
0
0
-46
-5
2
0
0
3
-66
-1
0
0
43
13
-14
0
0
10
-14
1
0
0
39
-10
-9
0
0
0
52
0
0
0
14
-5
5
0
0
-27
-16
0
0
0
-17
48
-18
0
0
101
17
1
0
0
28
7
44
0
0
-42
-14
0
0
0
-62
21
1
0
0
-48
43
0
0
0
-11
-23
-16
0
0
8
30
28
0
0
-13
76
50
0
0
6
51
-3
0
0
50
-48
5
0
0
-16
17
19
0
0
41
24
-17
0
0
5
37
0
0
0
62
41
-22
0
0
-43
-4
56
0
0
-39
-5
-11
0
0
41
-13
47
0
0
-4
62
-8
0
0
36
69
-5
0
0
28
-11
25
0
0
-8
23
54
0
49
5
83
-7
0
0
-4
1
-1
0
0
-3
6
-1
0
0
-9
12
1
0
0
29
64
0
0
0
-4
-31
0
0
0
-5
10
0
0
0
23
6
0
0
0
-19
18
-2
0
0
21
52
0
0
0
56
-9
4
0
0
-22
-11
-4
0
0
-17
52
-14
0
0
-11
-32
0
0
0
57
18
0
0
0
-6
-56
3
0
0
32
35
5
0
0
-4
-36
-5
0
0
19
-11
3
0
0
-7
-9
-6
0
0
-64
14
-26
0
0
14
14
2
0
0
-71
41
-10
0
0
11
8
4
0
0
-15
-14
-25
0
0
0
52
56
0
0
56
-73
77
0
0
-13
6
-53
0
0
-4
-80
-90
0
0
-36
11
12
0
0
53
32
0
0
0
42
67
9
0
-15
15
-3
-14
0
0
-4
9
5
0
0
14
36
4
0
0
34
-13
0
0
0
-10
-39
0
0
0
11
36
0
0
0
-22
77
-3
0
0
23
7
0
0
0
41
1
-5
0
0
29
-36
0
0
0
47
-21
-6
0
0
10
23
0
0
0
-19
33
5
0
0
3
17
3
0
0
35
-31
-1
0
0
26
53
1
0
0
-21
-37
-41
0
0
-23
3
-23
0
0
2
9
-9
0
0
-18
-14
2
0
0
20
16
-15
0
0
8
-8
0
0
0
-33
5
17
0
0
23
4
4
0
0
-45
1
13
0
0
-32
32
45
0
0
-20
22
16
0
0
26
-34
-32
0
0
-7
30
23
0
0
-10
16
49
0
0
-15
34
38
0
0
5
-15
36
0
18
44
-54
-1
0
0
-57
6
-1
0
0
2
2
0
0
0
-3
0
0
0
0
2
-15
0
0
0
4
-19
2
0
0
-1
5
0
0
0
62
-11
0
0
0
79
-6
0
0
0
-6
2
0
0
0
28
25
0
0
0
1
18
3
0
0
48
-8
0
0
0
57
8
2
0
0
23
-26
-5
0
0
14
74
-2
0
0
-58
13
-4
0
0
20
23
4
0
0
-1
-6
-1
0
0
41
57
8
0
0
-6
10
-7
0
0
-26
18
-2
0
0
-18
0
4
0
0
-49
18
0
0
0
-7
24
-11
0
0
114
46
-32
0
0
9
-16
1
0
0
29
-21
-7
0
0
1
16
15
0
0
4
-24
21
0
0
-17
-3
5
0
0
-26
34
14
5
-6
13
-15
15
0
-53
17
-42
1
0
-2
23
1
-10
0
-36
48
19
27
0
-2
1
1
31
0
-8
23
-8
-11
0
9
-7
-7
29
0
-13
39
1
-15
0
32
31
-1
-59
0
-1
29
21
-14
0
2
0
53
-77
0
34
-10
11
23
0
48
-1
29
-9
0
6
7
3
-42
0
10
-35
-33
18
0
-12
-14
-35
37
0
-16
29
15
10
0
-63
-37
54
-24
0
-23
-38
22
14
0
85
-25
124
-29
0
7
-9
10
26
0
-113
-64
22
6
0
-8
8
60
-27
0
-36
-38
-3
8
0
16
17
-52
-22
0
-19
-61
-39
-57
0
3
-37
138
23
0
-20
-72
-1
23
0
-25
-57
46
16
0
-2
36
60
10
0
26
24
-8
15
0
5
-36
59
5
-1
-11
-3
-13
-31
0
-78
-42
-31
23
0
-14
1
33
64
0
-39
14
139
-36
0
14
1
17
-11
0
-13
1
-15
-3
0
-1
15
-12
86
0
5
-3
4
-22
0
-29
-70
-1
-48
0
-43
74
35
9
0
1
33
64
-7
0
6
29
-21
21
0
-33
-53
-5
-97
0
-19
34
-21
-36
0
25
6
-8
-15
0
-10
73
0
8
0
9
-20
-88
-44
0
-16
-8
63
2
0
-6
31
8
4
0
72
-34
14
-54
0
-21
-35
16
50
0
-29
-79
9
51
0
-39
29
56
-10
0
-66
26
53
57
0
-20
-28
0
-8
0
-29
-5
-69
20
0
65
-31
18
8
0
79
-53
35
37
0
-5
51
11
14
0
14
-68
17
-6
0
33
38
-16
13
0
-26
-3
68
0
7
5
28
-8
15
0
15
23
-76
-24
0
26
4
32
13
0
45
-2
-1
26
0
13
-24
-5
7
0
5
-22
9
31
0
-11
-39
39
34
0
6
36
32
-25
0
-92
6
-88
-138
0
33
-58
31
34
0
22
-30
17
17
0
25
14
-9
70
0
32
36
19
-13
0
6
3
32
-31
0
-60
-47
-19
37
0
37
19
10
-74
0
-16
27
11
-13
0
91
-2
8
-29
0
-32
-39
-3
1
0
-16
104
-19
-23
0
-67
27
-33
49
0
-32
23
50
4
0
-23
-59
33
-6
0
2
-42
4
-20
0
12
-36
18
44
0
80
37
-21
8
0
27
-50
13
3
0
-3
49
38
31
0
64
-8
36
-3
0
-21
76
56
-1
0
-41
81
-50
-19
0
19
27
19
-1
19
25
-88
10
-1
0
-14
11
11
17
0
33
-43
23
-13
0
25
-41
11
97
0
15
68
9
9
0
-5
-54
-14
-56
0
46
-2
17
24
0
-17
0
-41
57
0
-14
92
-118
-10
0
96
28
-22
15
0
65
-16
-1
15
0
-5
58
53
-65
0
-4
116
-12
-4
0
11
37
-8
-33
0
-114
6
22
-32
0
14
-5
19
21
0
-43
43
60
8
0
61
54
-54
27
0
46
119
19
-46
0
-30
26
-33
-9
0
-3
10
-1
-8
0
-28
-40
7
-10
0
6
-19
5
0
0
18
-1
-24
-1
0
-14
45
16
3
0
71
54
-20
1
0
-32
-75
20
0
0
-26
31
-17
0
0
69
37
-33
-20
0
-68
99
16
-5
0
22
62
-7
3
0
23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
33
19
0
-58
-37
-31
-34
0
67
17
12
-41
0
-4
-36
19
-33
0
-21
20
17
-42
0
-7
21
70
-23
0
-9
47
-1
-16
0
-10
34
15
5
0
3
-32
13
26
0
41
-62
3
35
0
21
9
14
-24
0
35
-14
-24
-55
0
16
-34
19
1
0
32
-29
31
6
0
61
-9
-13
25
0
62
-35
-23
49
0
21
-11
65
-45
0
-5
65
46
11
0
80
-14
10
6
0
6
-11
43
49
0
27
103
43
0
0
53
-19
-2
-6
0
81
-60
-30
91
0
37
-61
-5
3
0
18
-28
-27
35
0
-60
-32
87
-5
0
58
22
71
10
0
78
-8
-48
0
0
37
4
53
-59
0
-66
-7
-17
-25
0
-34
83
90
-58
0
21
5
-9
-14
-37
43
-59
3
-62
0
37
-72
-15
-12
0
33
8
-33
-85
0
46
-6
-50
35
0
-51
-17
71
19
0
-1
23
-12
11
0
15
-34
11
-16
0
9
-34
-20
15
0
-8
-17
-2
10
0
-4
0
-6
-14
0
34
58
18
-33
0
34
-3
-20
-24
0
-24
-53
32
42
0
8
-54
8
-38
0
67
-20
-3
-72
0
83
-49
-14
-106
0
-44
-21
-41
9
0
-65
30
39
36
0
4
29
42
17
0
21
80
-42
31
0
73
-53
31
-14
0
28
-32
32
6
0
-42
71
16
1
0
-32
12
47
-1
0
42
33
-13
17
0
-116
-4
74
-3
0
-52
136
30
-10
0
53
-3
21
0
0
-38
40
52
20
0
-31
6
-3
-3
0
63
-8
-31
4
0
-23
99
64
-2
33
-31
-25
28
42
0
-42
-8
77
-12
0
-19
-22
49
-43
0
20
-41
135
-76
0
-17
13
-52
-84
0
-20
-11
-40
46
0
1
-3
0
38
0
-31
26
4
12
0
9
24
-6
29
0
-40
13
30
-12
0
8
87
-38
40
0
-11
-15
12
-24
0
-23
23
-8
25
0
-10
2
0
-2
0
-24
15
14
-33
0
33
17
-74
-17
0
-20
-22
-18
-5
0
-19
2
-9
4
0
81
25
2
-14
0
26
90
-14
-2
0
-7
-3
-31
3
0
28
-4
-23
5
0
-45
-37
-32
31
0
82
3
2
2
0
-47
-3
-20
-13
0
-24
85
16
10
0
3
36
30
-24
0
35
0
-42
-2
0
-77
-22
26
25
0
62
-19
34
0
0
106
-42
26
-16
0
-13
22
-50
-3
-2
44
-82
-33
-79
0
-117
18
6
43
0
32
-44
23
33
0
90
94
-15
-54
0
27
12
-91
-76
0
-19
8
59
-96
0
-9
-41
18
-32
0
-43
5
25
29
0
18
56
-43
30
0
-7
11
5
-15
0
18
-2
-22
5
0
21
-45
-25
33
0
12
-76
40
-59
0
12
-53
48
31
0
-15
21
-7
-15
0
54
14
-21
-28
0
39
20
-30
2
0
5
93
-46
-4
0
100
-28
63
-3
0
-72
23
58
-37
0
-16
-37
19
4
0
-23
24
13
-4
0
20
41
-10
-1
0
24
34
35
-3
0
54
-40
31
1
0
21
-23
-1
2
0
39
-13
-10
0
0
44
-46
-21
15
0
62
-39
-13
24
0
25
-33
25
1
0
-42
28
-56
5
0
32
-43
-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
-20
90
8
31
-83
0
-5
-35
-55
40
0
35
5
-32
23
0
40
9
62
50
0
-5
85
26
-80
0
14
-35
14
-58
0
-101
47
21
-5
0
-48
-17
2
-1
0
45
-1
68
77
0
10
60
29
-76
0
24
18
52
65
0
14
34
79
2
0
16
54
32
-28
0
9
18
53
59
0
24
-14
70
19
0
51
31
-21
-13
0
-26
-11
-5
30
0
-72
33
40
-51
0
-67
69
-7
-32
0
51
-16
-2
7
0
2
31
34
61
0
-58
-17
18
-25
0
-40
93
22
-23
0
32
74
13
-13
0
45
12
55
5
0
-68
-33
6
70
0
-97
6
27
44
0
-123
53
41
3
0
-44
-7
-12
8
0
35
-42
32
-66
0
58
-45
5
37
0
63
159
-76
-1
24
70
-31
-9
-22
0
27
-57
-28
22
0
80
30
-49
-40
0
-6
-6
17
35
0
43
15
-55
71
0
-9
6
-19
30
0
51
64
-100
5
0
-28
5
78
4
0
-49
45
45
-7
0
50
14
49
5
0
56
-36
51
1
0
38
7
49
18
0
-8
-47
9
34
0
-62
-1
-30
-5
0
22
-56
56
5
0
-57
74
8
-4
0
39
-33
34
-18
0
31
113
33
-27
0
-28
-14
100
24
0
77
42
7
9
0
-32
19
52
-51
0
-30
61
32
26
0
22
17
-25
-16
0
-2
-18
-14
-8
0
-37
-23
-18
-3
0
-81
4
0
32
0
-13
1
1
5
0
24
45
56
-5
0
26
-14
-6
96
0
87
18
-41
-39
0
-17
3
39
53
0
53
112
-10
5
-9
-23
0
106
-25
0
33
86
-49
55
0
-66
42
54
-45
0
46
-3
-29
-17
0
-30
-40
-13
20
0
-10
5
-3
14
0
25
-15
-35
41
0
35
-5
3
2
0
-13
43
2
-58
0
106
10
-24
25
0
20
33
-6
20
0
-1
40
8
-15
0
6
8
5
85
0
5
45
25
5
0
108
-12
71
26
0
37
-4
48
0
0
-34
71
-21
9
0
-53
-19
-70
41
0
-60
2
-20
34
0
60
36
-11
21
0
-8
-25
19
-89
0
27
13
12
-10
0
-45
5
-12
7
0
-30
79
-17
-1
0
41
18
21
113
0
79
-11
-2
-27
0
-32
-49
106
1
0
-5
16
-6
1
0
-25
53
8
-15
0
51
-17
-33
25
0
-12
0
-50
-4
0
-7
27
27
-5
-13
71
5
28
-15
0
-142
28
11
5
0
4
-9
-6
58
0
2
41
45
44
0
-18
4
6
2
0
-31
58
-43
19
0
43
-43
0
13
0
106
-18
26
3
0
-15
6
7
-17
0
34
10
-7
1
0
-12
37
55
5
0
13
4
-14
-16
0
33
37
-53
18
0
6
-16
53
-11
0
-2
-5
5
2
0
-1
14
33
0
0
21
-28
55
-53
0
-4
47
30
5
0
-47
43
-9
-36
0
-19
-9
-1
15
0
-48
22
15
59
0
3
32
41
-37
0
21
-18
7
7
0
-32
29
5
0
0
44
-13
73
84
0
59
-3
24
0
0
-1
54
-3
-23
0
-92
50
53
1
0
41
38
25
-17
0
-4
-28
-12
-1
0
106
15
-5
-3
0
50
100
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
5
-18
0
102
-49
14
14
0
72
-47
8
4
0
-30
64
71
-22
0
-1
10
-42
8
0
-17
35
57
14
0
21
59
9
15
0
101
-27
-9
4
0
51
19
-60
78
0
0
78
-111
6
0
-5
28
56
49
0
18
32
69
-18
0
63
-47
-62
5
0
24
23
10
37
0
16
43
26
-44
0
-55
4
31
5
0
-23
87
-9
19
0
58
51
43
-5
0
-73
92
-7
4
0
16
14
-13
-33
0
-15
-37
44
43
0
-36
-23
42
61
0
-19
-1
-9
-33
0
56
3
61
33
0
-76
16
35
33
0
-40
-11
-10
-14
0
58
-24
24
55
0
82
44
40
39
0
67
54
35
22
0
-58
29
39
-61
0
23
-12
119
33
0
42
5
-37
5
-14
53
23
25
23
0
-33
-16
-31
17
0
7
20
-6
1
0
-3
4
-43
5
0
6
-80
33
-5
0
67
42
45
4
0
25
20
16
-2
0
41
53
8
-3
0
3
88
71
-44
0
-109
50
26
79
0
15
81
-8
17
0
-19
93
60
18
0
-7
-39
125
3
0
-34
-42
59
71
0
-20
30
-13
-5
0
8
-17
11
-20
0
37
2
-16
31
0
22
-13
37
-2
0
193
44
-36
2
0
50
70
-2
2
0
-15
53
-2
68
0
31
-56
-3
-1
0
2
-18
0
-32
0
94
31
34
9
0
-24
2
-66
11
0
-97
42
59
-20
0
-22
79
12
-5
0
40
22
14
44
0
-43
47
14
1
0
-3
20
-17
-15
0
5
4
4
-12
0
41
-14
-17
58
-20
54
89
-31
-5
0
51
-60
27
19
0
-61
42
72
2
0
1
62
19
17
0
59
21
53
-18
0
-35
44
-58
-2
0
27
17
-11
22
0
100
24
-14
0
0
26
-2
1
6
0
0
74
-34
3
0
-82
73
-17
15
0
47
42
46
30
0
-16
21
46
62
0
32
25
-53
10
0
40
69
50
-101
0
-86
-14
-14
-19
0
-27
-10
100
21
0
0
82
2
3
0
-27
-25
-2
101
0
3
50
18
49
0
91
-22
-10
4
0
49
-3
49
-34
0
31
-43
9
27
0
-34
19
25
18
0
-18
-6
18
24
0
-28
-27
25
-20
0
-3
-3
54
18
0
-12
54
-18
-20
0
-16
-76
24
71
0
92
-5
2
16
0
-72
19
5
55
0
-39
14
65
4
16
20
87
-2
-2
0
59
-2
-8
-10
0
1
33
30
-11
0
97
-33
65
2
0
3
7
-13
22
0
1
-58
23
1
0
5
-11
-23
-3
0
-14
33
18
1
0
8
146
86
-5
0
-25
92
20
-3
0
-25
-20
39
13
0
29
24
3
-7
0
39
16
-58
36
0
-3
2
48
-15
0
53
26
-36
-34
0
-72
26
5
7
0
-110
8
79
8
0
26
7
70
-14
0
-1
-3
-31
-10
0
-27
71
-16
-24
0
10
-71
71
-14
0
7
26
-26
5
0
-57
35
18
-1
0
-74
-67
34
-1
0
-51
-1
56
5
0
50
2
-14
51
0
29
-27
-31
-1
0
-10
23
45
28
0
-33
-6
64
-68
0
38
-7
54
8
0
27
-29
64
-42
0
-18
-9
32
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
4
4
-2
-9
6
-21
-21
32
14
7
-20
19
9
9
0
-21
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-10
-21
8
-3
50
-7
-2
-20
15
-20
-50
12
-47
27
25
-14
18
-111
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
28
34
-52
7
-21
-44
-82
39
18
-117
13
43
-17
-52
-5
-26
9
36
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
19
11
15
-21
23
-10
-1
48
41
11
-18
64
84
51
-61
-18
62
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
10
13
49
21
-1
6
4
29
-2
6
32
21
29
-33
14
-25
33
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-60
-10
-18
-19
18
-32
-9
-50
-16
56
31
4
-14
-23
26
-24
25
13
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-12
-6
94
-41
11
-43
38
-24
41
-12
53
11
-48
-30
-49
50
85
28
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
-21
30
19
-29
-14
9
0
41
14
95
-43
-90
8
40
-34
11
23
46
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-18
7
43
28
36
-27
23
44
-37
-8
17
22
2
-40
-10
16
24
47
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-4
-53
-13
39
44
-12
14
-58
33
4
0
-81
16
-53
78
30
-148
46
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-58
71
74
-20
-16
34
62
9
-37
-12
-10
-33
-1
5
52
2
-44
23
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
11
-13
36
-51
81
22
53
54
4
23
-30
54
29
43
-11
75
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
-41
0
16
8
8
-26
29
13
61
88
-14
65
-7
35
55
-12
18
-19
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
88
-16
40
15
-4
-27
25
31
-10
-91
-4
4
5
-26
-60
-85
-111
27
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
-44
17
27
1
-3
47
-30
17
11
-29
51
-26
161
-34
-31
36
28
-42
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-14
5
-5
3
180
114
-34
-28
-1
-21
16
117
-24
3
-33
33
-97
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
5
14
-8
-5
4
24
3
-43
29
11
-14
1
-5
20
-15
28
29
8
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-19
-19
-12
12
21
-5
-20
-13
53
55
52
-11
16
-20
-29
2
-51
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
42
50
-60
23
138
-65
-54
-33
-9
74
5
19
18
33
62
29
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
2
41
1
83
5
51
18
43
29
-38
-1
-36
69
12
65
-68
63
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-11
8
21
5
-8
-12
0
-20
54
24
5
20
21
69
-9
4
20
51
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
20
-18
34
-81
-13
-7
-8
-116
-67
-3
38
79
-102
-50
5
-117
36
105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-43
16
-25
49
20
-128
19
-46
16
-27
145
-67
-6
30
10
-35
41
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-5
-23
-16
-6
-29
-14
75
-92
-43
37
3
35
45
15
27
-175
71
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-23
15
-8
-1
39
4
13
18
-7
29
-14
4
17
11
33
56
13
-14
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
-38
-81
-23
-14
33
-19
-4
23
-62
9
4
-15
-71
-68
-4
-73
9
3
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
48
-29
71
4
-16
-30
58
-27
21
-3
6
30
-53
26
-24
-23
14
22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-124
57
12
35
-55
-106
18
29
0
-54
33
-2
-23
-3
74
57
38
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
16
17
17
5
-9
-3
10
98
-32
-22
-38
1
13
38
28
89
-10
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
24
-13
-25
-4
-10
29
-44
28
-74
-52
-9
-49
38
53
33
-71
7
40
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-87
5
42
21
-9
-28
-39
22
5
21
51
-7
-53
9
-25
-4
-10
-34
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
24
-5
44
-61
6
-19
37
-29
14
-55
-58
-4
18
3
17
-5
-18
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
17
7
29
14
-25
6
19
15
-14
-110
38
-42
-29
5
-20
32
-45
40
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-12
27
0
-6
-68
-18
9
-22
-15
56
-4
1
-6
20
5
25
3
18
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-42
21
63
-30
-25
5
20
7
-9
143
-107
-3
-18
53
77
-36
-78
29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
41
55
2
14
30
-8
24
51
-35
-76
23
51
9
70
20
-16
-3
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
-6
71
-5
-11
-16
-89
-8
-61
33
17
-11
-1
-4
-35
1
-42
-14
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
10
-12
-9
-62
-64
18
-40
16
12
-14
21
-52
17
116
-58
-57
-5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
15
26
1
-26
-57
62
-29
-40
2
49
-2
-12
54
-14
10
-30
57
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
116
45
92
-50
-68
-21
77
71
34
53
50
29
71
-34
24
-18
32
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
13
-38
34
74
-70
5
41
-28
-54
-102
10
-12
30
-72
33
-1
15
-12
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
21
3
20
-43
13
7
12
27
-47
-23
-24
-11
1
47
48
17
-37
-51
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-62
66
8
7
107
60
-27
-13
41
-10
93
35
-31
-10
-20
19
43
26
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
10
61
31
-50
25
42
27
2
-14
106
68
20
-56
2
55
5
-95
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
-13
-13
-2
28
-72
-11
52
-39
151
-57
12
47
43
-62
71
-3
-4
-13
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
52
-33
-3
-67
-20
-8
9
14
-14
35
-30
-16
10
-35
18
5
1
20
-138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
34
-38
31
5
46
64
30
-60
32
117
94
37
-15
-5
-92
112
86
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
5
37
1
21
-58
-55
26
90
4
53
-28
1
-36
-25
71
31
24
-35
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
32
-30
12
-14
43
36
43
40
-25
-118
34
21
12
-29
-14
-10
32
-35
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-15
25
14
24
-5
15
-16
10
17
3
-67
13
-6
-11
37
-38
-36
-54
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
64
48
-9
-53
-26
-3
19
61
20
61
-74
-12
60
-1
-4
36
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
49
51
-2
-36
-21
-6
36
-15
47
62
107
4
-1
18
-8
22
7
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
5
22
-4
-51
34
-9
36
0
-48
20
-40
-24
6
36
9
33
-84
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-8
36
31
-35
-112
-8
30
5
-30
-60
-40
9
-61
-45
-138
-74
37
-81
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
3
-20
31
21
26
32
42
10
-19
-30
90
-50
4
-37
-17
104
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-107
15
7
24
-28
-6
88
-36
-7
43
51
17
-4
-9
5
33
14
24
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
5
-11
33
-27
8
14
9
-37
-111
-39
32
-3
19
9
-44
73
-16
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
57
0
-2
11
20
13
-23
22
50
66
-56
-29
-10
-19
72
-30
-85
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
36
30
99
-72
-2
-17
54
55
7
24
-47
-15
-53
-6
-11
33
66
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
18
46
15
-13
25
-63
108
37
8
38
-100
24
5
-30
87
-3
39
78
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-29
17
-21
-36
31
5
49
12
-108
24
-77
54
-52
-66
-4
105
-82
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
41
-79
25
84
29
1
-23
16
-77
62
-61
25
-26
-28
-59
-23
-25
-28
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-27
-8
18
1
-5
14
74
62
-9
42
35
-23
3
1
-11
1
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
58
-68
23
31
20
-10
39
0
-2
23
69
46
16
2
19
41
-84
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-4
-40
-25
-6
34
-9
54
20
-21
-76
52
-64
50
34
7
-19
23
-4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
30
49
53
-20
0
38
48
-44
17
-13
41
29
79
-23
-28
70
9
41
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-25
30
33
31
-44
71
-11
33
5
24
-1
-35
-49
-2
54
105
-51
-32
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
-6
-31
155
-16
17
-5
25
-44
-11
5
19
-49
5
-23
63
6
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
-6
16
-33
-91
3
-5
3
23
-50
-6
61
24
59
-64
-48
36
-33
31
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
41
6
57
18
-32
-15
6
29
3
76
2
57
13
-42
33
2
-13
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
49
9
25
5
69
-22
-100
-48
-41
48
101
18
-18
45
-133
-42
-26
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-25
-4
-13
18
-62
-2
3
45
-1
3
-26
52
5
-1
11
-45
8
71
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
62
-21
-6
-9
-27
17
34
1
107
4
-37
-24
6
-5
-46
-2
-15
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
27
21
-66
-22
-7
1
-11
-13
-21
104
12
-46
-45
-23
-57
-15
-19
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
20
76
-28
46
-7
-8
13
24
-40
34
22
52
-36
30
-33
80
42
41
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-8
65
61
91
-31
72
-100
-34
50
-3
18
51
-64
20
-33
53
36
53
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
22
28
-1
7
-5
-4
86
2
17
33
44
6
30
-61
-45
78
70
21
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-6
-57
-36
43
24
-9
17
43
-2
-21
0
15
27
4
6
78
5
15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
52
-10
40
-33
23
64
43
45
-28
-28
28
7
1
-14
-30
-2
23
79
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
37
72
72
-7
-41
26
56
75
-32
-15
-27
12
62
-25
17
3
75
-2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
-43
14
46
43
8
-69
-6
50
97
45
36
35
-11
11
14
-16
52
6
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
16
22
-64
13
-11
74
5
-27
10
83
38
15
51
-5
-29
-15
33
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
-47
-22
43
-43
-32
49
113
-55
-12
62
89
-18
42
43
-4
44
46
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-14
-32
92
11
-28
10
8
28
-115
36
57
-42
72
-59
85
64
-50
31
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
62
-19
-23
31
35
-34
26
19
-19
-34
-7
39
32
8
8
32
21
-5
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
87
32
-21
-14
-50
17
-29
-41
5
12
-43
31
54
33
-43
17
57
33
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
106
-38
40
27
-34
-5
28
-53
8
7
-61
23
12
24
24
-27
-22
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-9
1
-19
-32
68
-64
18
-15
18
2
82
10
-65
35
-16
-7
-8
78
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
102
27
-28
-19
-14
53
-46
-13
11
44
-56
77
27
-16
1
-10
8
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-29
-10
13
5
-6
67
-5
29
2
123
57
-23
16
-11
50
-17
21
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
105
-5
-45
-29
9
34
-12
13
29
-9
85
-8
-13
4
-5
34
44
-20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
37
34
-24
79
-20
78
17
28
9
-49
27
31
-68
79
-94
5
17
8
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-41
55
59
7
-1
43
4
17
-34
13
-5
-22
20
1
0
3
-23
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
15
-10
41
-16
12
75
2
-36
2
27
-14
80
14
-4
-37
-1
43
53
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
54
28
7
42
32
-54
15
27
-2
-27
45
7
-7
-1
66
-15
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-3
73
-17
-43
9
-24
-42
-7
-9
-32
35
-19
53
3
-2
15
36
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
25
21
-63
95
3
54
-27
148
-7
51
-31
110
-76
5
-27
27
10
70
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
43
66
46
74
104
-15
-20
54
46
-62
85
22
9
51
-37
90
-5
-1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
42
-1
-26
35
-17
59
-22
56
-204
-87
10
19
23
-61
-33
-35
23
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
10
10
19
20
83
90
18
36
14
-26
-11
44
70
54
68
4
5
3
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
64
-23
49
8
11
78
-11
48
-20
30
-53
52
-8
3
62
50
-53
-70
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
47
-53
19
-37
-16
25
9
74
17
15
130
10
3
5
110
25
8
58
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
33
27
-12
29
33
-7
9
53
24
-75
-27
38
104
7
25
14
-24
45
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
47
51
71
60
-14
5
53
-18
25
153
-4
62
11
30
-23
-19
-14
39
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-24
0
41
57
4
85
-99
14
-35
-33
-41
57
32
-8
2
33
16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
32
-42
49
-14
49
59
30
-52
3
29
-41
-4
22
12
30
-5
50
26
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
44
12
33
27
74
19
-24
-1
39
-28
-4
5
-14
32
42
80
54
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
65
22
27
31
115
-55
10
58
-5
12
49
-38
41
-9
-9
-21
63
49
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
55
54
15
47
5
-62
40
32
0
1
5
34
-15
-26
5
-24
42
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
12
-3
27
-32
50
-13
-25
13
27
23
1
52
1
14
14
13
-1
33
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
35
74
63
35
32
14
47
-41
23
101
-18
5
1
35
64
-129
83
11
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
30
35
-53
18
14
65
28
-24
10
80
38
67
-38
150
63
60
-28
35
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
53
35
12
-45
0
39
36
-11
-44
24
-52
-42
24
-7
-1
32
51
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
42
5
3
-7
97
3
-10
-10
-5
100
30
58
13
5
33
58
-11
-20
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
116
-78
92
-12
-32
14
20
-44
50
9
-39
-88
8
89
-7
2
33
31
-10
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
11
9
15
-5
90
8
40
13
-13
-34
15
0
56
-21
0
-30
54
91
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
-39
86
-35
-24
6
16
47
6
0
-5
102
-14
5
5
102
11
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
53
37
86
18
-2
41
58
23
-5
-47
-22
107
-32
24
23
21
56
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
9
-57
116
23
11
33
80
30
-16
-14
14
-7
25
-3
2
-4
63
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
175
55
44
27
14
63
9
-34
57
-36
-31
37
49
7
-59
26
-5
3
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
50
21
0
-1
0
31
17
31
-1
-28
-15
-34
29
22
-3
-8
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
45
-19
75
47
-44
90
-34
25
-5
51
-30
-41
-41
47
3
35
7
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-7
13
43
71
-21
-14
132
13
31
31
-30
15
31
19
0
16
-3
46
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-28
-12
16
20
91
36
-35
87
8
-78
-29
-42
78
54
121
-20
-73
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
9
54
-3
0
20
-72
15
1
0
3
-5
-35
2
3
44
16
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
58
54
-5
-3
28
48
-4
5
2
-67
100
-61
5
25
-25
21
-13
-80
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
51
25
-32
0
-2
5
11
-22
-10
6
-22
37
1
5
-3
-49
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
71
-58
-7
49
81
17
3
75
-47
35
-15
8
54
2
-19
5
18
5
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-14
12
53
43
-26
-25
-6
23
19
16
-27
5
34
68
60
-21
18
43
-6
-43
-20
17
3
6
29
-22
48
8
1
-28
-28
56
-30
-10
-37
134
62
47
-48
44
15
18
9
-9
-33
29
-45
-80
90
63
12
-11
30
-32
35
-22
-87
-60
-142
-94
29
30
69
66
-90
-55
97
-12
-32
-35
-76
-22
-52
-78
-4
26
-14
-11
-8
-1
73
-16
-33
22
-41
88
-25
63
-43
-66
54
14
-24
34
15
-37
-42
16
-47
15
-15
13
-11
-8
-25
-14
-13
41
31
152
-5
-78
23
37
4
14
10
49
-16
8
58
69
-48
-50
-27
61
46
133
2
19
-88
18
86
5
-18
14
71
41
31
39
14
-12
31
-29
20
24
-53
104
-45
22
56
-1
-7
-24
-3
34
-17
-32
-7
-24
-27
30
-14
-4
-52
-13
45
92
32
-3
-20
10
33
-8
42
-64
23
-20
38
70
-19
41
-15
23
23
-2
3
58
7
71
16
72
-55
8
99
100
-45
6
-57
-5
2
-30
-69
-25
-13
31
32
13
-51
92
46
-29
-24
-47
15
50
36
-22
45
58
-1
5
-5
-38
-53
-61
61
-11
-4
-64
-16
-26
50
66
-28
-43
81
-61
43
-14
54
-2
71
-74
74
18
-13
67
30
25
67
10
50
44
-23
-54
26
20
-31
60
-65
-36
48
-50
-22
25
43
16
-43
-33
-3
47
-16
5
20
-98
15
-43
1
-30
51
3
-59
52
93
-14
-50
-67
74
13
34
42
5
36
-53
48
-66
33
-2
-22
-6
44
6
-46
-12
53
-6
23
-4
-25
5
45
-6
5
5
48
-43
0
-1
3
3
29
4
-26
15
-73
33
62
6
51
3
19
-41
-14
24
66
10
-17
-5
-1
-23
45
0
44
-38
5
67
14
34
1
-8
30
-7
56
24
60
3
31
-25
-23
19
-38
-17
-13
-90
-12
-82
-22
6
-50
-9
84
12
-125
22
30
34
-14
-59
-44
-13
27
-36
-8
-36
-31
63
-54
49
45
4
-12
-33
53
10
-50
3
7
48
-53
-11
74
2
27
63
43
-42
92
-45
0
1
15
-26
-20
20
135
-14
-3
-16
-12
12
73
27
1
-84
-10
5
45
7
17
125
-125
-85
4
-19
0
1
16
2
13
24
-43
56
24
25
79
58
12
-22
-108
-30
31
27
69
-3
-43
58
13
-6
45
-8
13
85
13
-72
-33
39
-11
24
87
-92
-42
17
-2
-8
-5
0
0
0
31
-43
9
65
30
23
14
53
110
-8
127
21
73
-14
-14
-45
-75
-33
-11
57
9
-14
30
-7
22
-16
64
65
56
-22
-9
-34
20
23
37
2
-29
20
68
-1
37
23
6
-35
6
-23
-27
-32
26
30
23
29
-44
-54
-41
53
-86
-1
-10
33
-55
-26
-48
-33
-28
4
15
45
-72
-52
98
-81
-52
85
-56
38
-4
43
90
-63
-48
-58
21
103
28
55
128
2
-14
-18
-89
102
73
77
7
61
32
76
30
8
5
-86
-17
23
22
70
27
-21
-16
4
-13
46
76
-4
2
-41
15
-9
14
2
-43
-17
90
3
-14
-52
4
20
21
-6
11
44
-2
5
-11
81
-100
89
-43
50
-14
55
33
-33
0
33
71
-90
0
23
29
-35
5
8
15
2
19
4
8
1
-2
-16
-11
2
67
-20
3
3
-35
-1
36
-16
22
44
-11
-15
-12
35
34
64
12
-9
-11
16
43
53
35
2
-25
-6
3
-32
7
1
12
29
-61
23
3
18
14
17
21
-17
25
-54
10
-43
-3
-35
80
7
-81
43
-20
24
16
25
-63
30
-36
0
-31
-7
-35
3
53
-72
11
-69
28
-15
-44
-43
-23
15
51
-43
-46
70
53
18
28
73
48
-6
7
-30
12
-14
44
-67
36
-24
52
-23
-31
0
71
10
-77
15
-14
19
4
28
-40
15
-53
25
54
98
32
-52
-24
-1
5
-30
7
0
46
32
-9
-5
13
46
63
-18
13
5
82
-18
-23
14
25
-46
-12
-5
-53
20
-13
67
21
-64
13
-54
39
30
-19
4
-67
90
9
5
25
14
15
3
0
0
-23
-21
-20
-33
-1
20
2
16
-18
1
26
19
21
5
37
-16
13
104
75
-35
33
22
7
-10
4
75
-26
30
67
-16
103
-14
51
24
17
11
-12
-2
24
0
-28
7
-16
-23
23
-9
-17
-89
-53
28
11
-17
-4
58
-19
125
-24
-47
-65
9
-39
-17
-53
63
37
29
-54
9
-9
-69
-36
2
-8
72
-11
-43
17
13
82
-60
34
12
15
27
16
47
-15
-13
-37
-39
-35
109
-9
-18
-13
121
-67
9
-21
-20
-23
9
-38
34
2
4
-59
-27
-43
0
20
-61
18
33
2
-3
-13
1
-14
-1
48
-4
-12
-14
-13
-16
54
-4
1
21
56
-37
17
34
-35
15
21
-16
14
-7
83
157
-26
-27
-7
31
-53
10
-11
9
-6
-1
-50
0
0
23
8
0
0
0
18
-2
15
-28
45
61
-24
21
30
-59
38
23
31
6
45
-128
-43
0
-5
44
-29
8
8
-26
8
59
9
11
12
-12
-36
-25
6
-2
43
11
-23
6
36
60
27
3
-16
-67
61
-56
-14
2
53
24
-77
24
-47
-24
6
-80
-1
-8
6
-47
-39
-72
29
-19
-16
-25
-17
17
-40
15
51
-72
-99
40
13
-14
0
-107
-24
-9
52
92
70
-13
-19
2
-39
-25
-33
9
100
-30
4
16
-29
1
29
20
-18
2
2
108
11
-14
-7
3
-14
34
-11
5
9
-56
68
41
5
4
35
-11
-14
0
-21
-16
35
33
10
-42
12
71
-21
1
-18
26
-12
-43
7
-7
75
-11
16
4
52
71
37
45
-14
17
14
-23
-5
-6
-53
-9
59
-8
3
-2
1
-1
-5
-6
38
5
21
-21
-23
55
-18
4
-49
-14
28
37
35
28
37
-1
-92
64
13
101
53
-65
24
4
42
75
-8
18
-13
80
-32
-44
26
24
56
-98
-71
19
11
71
32
-8
-12
-71
-18
-91
-22
-14
88
50
-23
-14
8
-14
-23
-53
12
-27
66
3
22
11
-30
10
-69
-80
-22
34
-1
-29
28
42
-117
-125
74
5
104
95
14
-24
-53
74
11
21
-26
21
53
19
-37
-10
-2
-18
81
-56
-5
-21
57
85
-43
-5
-9
7
15
-19
0
17
28
15
29
0
-6
38
-55
1
3
19
18
-5
22
-2
-8
-5
-31
15
-3
78
72
-31
-2
3
17
-10
-17
-1
-5
-18
70
-7
2
5
-2
-7
-36
14
2
-3
-26
2
-1
2
-1
1
-3
-2
0
0
-11
10
8
8
-33
-10
39
30
114
20
-19
23
41
32
5
-46
32
-47
-18
-13
5
-54
-80
-41
-2
21
20
5
36
-3
-87
2
67
10
23
7
-41
-60
-41
24
5
11
-8
-34
-9
1
-13
8
-18
-99
-7
-13
15
7
-14
-4
-59
-72
10
41
-49
-5
21
19
-33
-29
49
-12
-13
-40
-46
-28
34
13
-28
-13
24
1
-48
19
-86
-17
15
-22
5
9
14
-45
-25
-16
-39
12
4
0
113
-43
-61
-70
44
13
16
14
-17
-1
40
47
115
8
33
-33
52
-18
16
9
12
37
-114
-11
2
-3
44
3
-45
-1
33
116
2
45
-4
40
24
1
-2
-3
82
76
15
49
-5
33
16
-33
1
-2
24
59
-120
101
-25
-4
73
-24
21
13
33
50
-54
33
14
-29
6
5
2
0
0
-29
61
-43
19
-70
-53
13
-60
-5
69
-4
-2
21
-24
-5
120
70
12
-90
44
-17
-4
1
28
-13
22
1
-62
-12
9
-9
10
-73
-117
-4
37
-24
11
53
28
-15
-60
-40
-11
28
-27
-51
-26
-5
-26
-32
-41
-71
53
-34
-1
112
-13
-26
6
4
25
-78
-42
42
-19
5
12
-39
-75
-58
-16
-32
40
-39
17
-81
-5
56
4
52
8
-60
10
-53
33
4
-14
-4
109
-21
-29
-9
1
-18
75
-11
-11
2
74
102
-33
7
-4
5
68
-8
35
0
9
36
16
1
-2
26
-4
9
-2
-1
5
33
32
14
-21
29
76
14
43
-2
-82
48
49
51
-8
16
46
-3
-9
2
26
78
74
-8
2
17
5
9
-10
-5
-9
6
1
21
0
-3
7
-14
25
0
-16
14
-25
43
-20
14
13
-33
-25
32
35
11
36
-54
31
21
23
80
42
-3
8
34
0
-57
-39
-33
-56
0
-4
9
-3
18
-72
-1
20
-16
-29
14
-78
-16
-17
-6
-15
-41
10
-21
1
18
-4
-19
75
19
-72
17
-4
67
2
-74
-64
44
-59
7
20
-46
-3
53
-13
50
-32
-42
13
-72
-3
-38
-19
-61
-131
-54
41
59
143
-8
-14
-37
-6
25
28
-82
-7
-1
-24
20
-20
31
17
-32
105
-33
8
-3
27
88
22
8
-5
31
1
15
3
4
-34
23
6
-5
1
14
30
0
-2
0
-52
66
-67
-41
14
-2
20
57
-15
7
9
56
83
26
-10
55
3
-10
35
10
98
-10
30
-37
-6
-2
101
-16
0
2
-31
24
-6
-37
2
-5
4
-29
-11
0
33
-25
8
10
30
-59
86
-14
-81
-70
-52
24
30
15
106
-13
-60
96
9
-27
-16
-49
14
26
53
47
-131
-23
40
52
-44
41
36
104
-15
-59
105
-17
55
14
10
-14
-10
-43
-35
-9
-42
34
20
-86
-39
15
-13
-29
4
68
-47
-8
7
-45
89
-56
90
0
-68
-50
-86
-43
23
-18
14
-53
-16
-71
-29
-5
-39
0
33
-38
-49
-37
-13
-33
-2
-3
-11
22
-2
-11
-4
-4
-6
-19
3
5
-17
8
-3
-3
-5
-54
-10
35
0
-15
137
-5
-16
1
-1
-46
37
1
-2
-24
-14
8
14
0
14
-23
9
43
0
-5
-5
-30
-5
9
30
-22
8
-43
-14
21
34
-23
19
7
13
43
-15
5
-1
5
-3
5
23
0
0
-3
-37
4
1
0
26
3
-5
-11
21
-53
-18
-25
-13
14
6
72
-7
-60
-107
-13
2
-33
-58
-36
-33
-45
-5
33
23
1
15
32
-32
-120
0
2
65
64
-32
24
23
-63
23
-48
-101
0
55
-17
34
6
-50
50
-5
-38
15
-27
28
-32
-15
15
-9
-17
-77
-12
-37
-63
-24
50
-2
46
-14
15
7
-78
38
12
12
-9
-76
-3
-24
-11
-39
-9
-18
-5
-57
9
-99
106
73
-30
16
11
12
41
55
4
-24
-29
-27
52
-3
2
82
5
16
0
54
72
71
-11
-10
22
-49
43
-1
0
-20
-45
-35
-7
22
-5
21
-18
10
0
-4
16
-45
53
-5
59
-28
-27
41
4
54
46
32
5
6
34
39
0
37
0
53
51
-2
-8
6
3
9
77
-10
-9
-2
-35
-3
21
2
0
10
-5
0
-4
60
-24
38
-87
-98
-45
-25
35
-82
-57
-31
23
-27
64
22
1
-3
80
-5
6
-6
37
29
-39
-52
20
-48
-11
-3
-44
38
43
-90
33
-20
-7
5
13
-54
-24
-24
0
-11
-62
-31
45
38
-2
-39
-15
-88
-6
-21
30
-22
29
35
43
-36
20
120
-42
-12
23
50
-104
-6
-39
-17
-69
-14
15
-50
-57
51
25
35
-32
-20
-90
-2
18
30
85
-2
-55
-2
86
-8
-2
21
11
-9
-9
1
-32
-43
30
-17
0
-19
14
17
-8
6
26
23
-49
0
-1
-3
-16
35
16
1
-13
20
14
-3
0
-17
7
-20
5
-8
-66
65
38
-6
5
-14
-5
3
-11
2
4
-58
27
0
-11
-1
-23
109
46
6
-1
33
2
27
0
-1
41
-1
-8
0
18
8
1
-2
0
-24
36
26
-157
-48
66
-1
-83
63
0
-53
21
-12
44
-16
20
-10
-31
-11
0
-52
16
13
23
-99
15
1
2
15
37
-47
5
15
-18
-59
33
8
-68
-6
23
-56
34
2
-30
-115
112
-12
-18
-19
-115
5
4
-16
6
8
-7
7
0
-15
-93
-53
-16
-33
6
51
44
11
58
-7
3
-6
-33
8
3
-71
37
8
-62
-8
-53
-33
25
40
33
0
-14
23
-36
-30
0
-10
-17
3
14
2
5
71
-5
-7
3
-9
-5
25
27
1
-5
4
43
-2
0
66
2
25
-17
53
0
-4
22
11
0
15
-16
5
30
2
3
1
-40
23
0
12
-89
93
5
16
6
-17
9
6
-1
-4
-1
19
82
10
0
-9
14
13
-11
45
-14
29
-10
-19
1
2
-6
-3
1
31
-25
-18
-33
-4
77
-33
-14
-21
-14
-22
14
17
46
1
28
-2
-61
82
-1
-72
3
7
4
-7
-93
77
75
-20
-37
-14
44
19
-62
25
-11
-23
43
7
-2
-54
17
3
-14
-11
0
1
-75
6
2
-54
11
-92
31
69
-27
55
-33
21
43
30
-11
23
-10
-1
-146
-32
14
55
47
28
-17
-6
21
-5
29
-44
-14
-90
-80
0
-22
5
-15
0
6
26
29
-6
0
-6
22
33
0
0
25
54
4
14
1
-2
34
12
8
5
10
-34
10
0
0
0
1
-14
4
0
-3
-5
2
-4
-1
5
-48
33
3
15
-3
15
5
-3
-3
1
63
-61
-7
-3
64
1
26
7
1
0
24
-2
4
-4
-7
1
37
3
1
0
-1
5
4
0
0
-5
-8
-17
0
38
36
-23
33
-11
-16
11
55
-21
11
34
63
32
-60
57
94
44
-36
-11
-21
49
-12
18
-45
13
30
-48
17
-52
-2
40
-26
5
-62
-22
32
-22
-43
-18
0
-2
13
28
39
29
55
15
-22
6
23
84
148
-4
2
-15
135
-9
12
-2
33
-36
-52
5
83
10
26
52
63
-11
10
71
32
-28
-10
-29
-36
51
45
11
0
44
55
-17
55
19
6
-55
22
-1
21
49
-7
57
79
3
51
-54
70
-1
-39
10
-15
-8
-14
-31
43
17
1
30
14
-21
35
-23
14
-7
-14
-26
62
46
-3
30
97
8
54
-9
26
56
-51
-8
53
-5
-17
109
12
40
65
42
-12
-21
-10
-43
20
-14
14
59
-58
86
-14
-16
22
-6
80
45
37
-4
57
44
6
-18
-5
54
55
56
-12
0
-54
28
-43
-3
32
45
55
28
-5
43
33
2
-80
19
19
18
75
115
-23
-25
-31
60
11
-7
-22
-4
8
15
3
19
9
-43
33
-52
0
-14
29
-12
111
-18
-11
-24
34
54
27
77
-38
-16
33
-17
-33
23
5
29
-4
-73
102
24
-9
53
13
-55
-50
-2
1
-14
79
6
14
8
-2
-7
3
2
5
-3
5
20
93
-4
-136
101
51
-17
9
10
68
-13
-15
42
75
-11
9
21
4
80
18
-63
-114
1
-14
66
-28
-1
2
37
63
-29
14
7
-14
-15
15
-9
0
31
67
-25
13
61
14
18
62
16
14
33
59
26
64
-65
70
17
15
53
-18
-18
-49
51
10
-8
-2
6
15
10
9
-61
75
23
-9
11
-10
22
-5
-29
-5
-16
-44
9
14
5
-3
17
58
19
-2
17
-67
-43
22
6
-34
-29
20
-16
9
-43
33
-77
-16
14
51
87
17
-3
3
-20
-26
98
66
-7
-10
5
-44
-3
0
-76
26
34
118
10
19
43
73
15
0
-12
31
138
17
-4
17
-43
-5
29
-6
-5
2
-7
-51
10
157
15
-22
-20
1
62
20
19
6
-10
4
1
19
-7
0
41
58
27
-21
-2
-31
-3
33
71
-60
-32
51
31
47
-56
-6
-45
-30
19
7
32
-10
-20
44
-6
26
41
-27
-10
-1
28
20
14
-34
3
15
37
5
-8
-4
-14
42
65
41
42
8
73
47
-33
-11
68
-4
28
22
-44
77
42
18
-75
-4
14
-2
28
35
21
5
28
47
9
25
88
-55
50
-20
43
2
34
-6
14
9
48
52
-5
-20
-15
24
-19
-33
-18
3
-33
10
49
-20
-1
-34
49
-51
44
4
64
3
-43
10
-4
63
-69
45
5
7
-10
-52
-5
10
1
-11
63
9
-9
0
24
39
44
-15
1
-10
6
26
74
4
-47
32
16
4
6
48
45
-44
37
-11
47
23
-2
2
0
-3
47
16
-46
-43
8
0
15
14
0
3
-13
0
-4
0
-30
86
-26
-1
17
0
45
85
-42
-2
9
24
-52
-22
-15
-39
3
81
1
-9
35
58
34
71
-6
-32
39
13
44
15
-14
33
1
2
2
1
49
-17
-9
0
26
-82
46
21
26
16
56
-8
-17
-25
-98
-26
186
28
31
-62
48
91
53
50
71
-70
-16
89
-17
-7
21
21
-13
37
-10
-6
63
-21
22
-5
34
-18
-22
-6
-32
3
23
61
49
70
33
-29
-13
31
15
72
22
23
-48
11
5
121
-90
3
61
111
-40
-62
-6
-34
15
-63
37
2
20
-37
-83
-5
-1
54
-64
-4
-10
0
94
25
6
63
-33
114
-8
24
20
-8
50
-5
25
57
15
24
-55
-27
46
-6
3
32
-14
-32
14
-5
47
17
-6
-8
-44
29
40
-4
-10
0
9
10
13
0
124
27
1
-16
-63
-11
13
4
75
15
75
-23
-10
14
25
-53
110
-24
26
-3
53
-27
-17
51
36
-106
71
63
-22
15
-23
-4
14
8
-2
9
-14
-3
31
1
-13
47
32
66
54
66
65
49
27
-4
49
103
-26
32
-14
24
-76
65
34
-10
16
-23
121
90
-14
97
-80
108
-14
47
-14
-33
12
-44
98
6
-17
92
19
8
44
2
-22
-70
32
10
-14
-49
-12
-15
-74
-59
105
-40
-4
35
28
46
-33
-2
-3
17
23
44
5
-73
34
-89
-15
-2
15
-13
-3
-5
6
16
-43
7
-3
-1
21
-59
22
20
-13
-6
48
4
1
-4
-36
62
-71
-5
4
51
-5
0
-13
-4
31
22
-18
-18
-6
-51
29
5
10
0
-45
47
31
-1
0
2
7
-14
1
0
-70
7
11
21
-59
84
-62
-6
89
-20
-4
51
69
-14
24
-65
93
-25
97
-21
24
-31
53
-7
31
-45
-7
16
7
-4
-3
33
81
-49
-7
8
9
15
-2
-1
52
-21
33
9
80
53
8
-64
82
29
80
157
-20
35
-8
-55
-10
-6
34
-17
20
-15
33
-39
-11
54
30
50
-8
-12
17
-19
-1
21
1
4
-10
2
34
0
77
108
-7
-49
-51
-122
-16
74
0
3
-49
50
53
20
7
-6
-35
6
6
0
46
79
3
18
6
8
18
14
-15
-1
139
-48
-64
-7
-2
9
9
3
5
1
-45
83
18
46
6
7
-29
11
-1
0
-7
15
56
-18
14
22
32
14
-2
0
16
83
24
-58
8
23
-9
22
32
0
3
43
56
10
21
1
3
-4
0
0
101
69
-49
-84
-30
-27
-23
23
24
-1
79
8
-44
63
36
-3
37
49
37
-4
23
11
-42
-1
-21
20
-12
6
-43
0
-38
53
62
-31
25
7
5
8
-32
0
8
37
4
47
20
33
-18
-14
15
-47
49
14
2
118
-38
57
11
-11
-27
22
-23
-47
23
70
32
-5
92
68
-1
-19
-60
-30
15
-5
36
3
-36
-14
2
16
16
52
9
-11
0
22
-5
17
-22
2
37
-75
-21
-18
0
57
36
-21
-39
0
3
43
-27
-20
0
-19
21
49
-1
1
1
22
-4
4
0
-3
5
3
-3
0
6
61
39
3
-1
104
31
-101
-4
0
11
-24
106
-8
-1
5
-44
7
5
0
36
-5
-14
0
1
-21
81
-3
-2
0
-1
47
-4
0
0
-2
-16
7
0
-6
37
51
-14
0
-11
19
-38
19
-31
0
1
22
16
26
5
0
-9
5
-2
0
14
29
58
11
-2
-10
-1
54
5
2
1
-1
7
-5
2
0
23
-6
0
0
20
-32
21
14
21
-19
-90
5
1
-16
23
-50
32
13
82
-22
27
-8
6
-9
2
7
-52
3
3
-22
-9
27
16
0
-1
-2
69
-3
-14
-1
-13
-3
7
-2
-14
38
-77
61
-44
23
104
-8
-28
11
-32
66
-63
5
9
66
-46
7
7
2
7
-99
25
25
52
72
-58
19
5
2
82
-43
-66
2
-2
-6
6
-9
6
0
47
44
59
-29
-66
0
68
-9
14
-18
0
27
-33
61
-3
-29
55
101
-11
0
-4
-14
44
27
-19
-20
-43
5
5
2
-33
-50
-20
80
-8
3
3
-14
-1
0
-14
80
55
56
-5
-29
35
85
87
24
14
3
7
-34
53
-28
19
19
71
0
23
60
44
17
-64
14
-42
57
-29
3
37
11
50
-38
-18
-5
13
30
-29
0
2
60
53
-17
80
32
59
88
41
-17
-2
4
39
-8
57
52
-14
-33
38
31
51
26
41
17
-21
82
14
53
55
-33
-52
62
13
-3
64
-23
77
42
53
-25
34
-8
14
45
-14
6
-36
72
-25
14
-2
-21
33
3
7
21
-13
10
0
-2
9
55
45
-46
0
-14
-54
-7
36
10
7
24
-13
-6
3
-2
-4
-7
-4
-2
33
91
-4
17
19
15
21
24
33
-10
33
-30
-57
-10
10
54
2
34
-25
-2
15
38
34
-36
0
6
-19
35
-9
3
34
-22
16
12
0
-6
-6
1
10
0
-9
5
-27
35
-10
-8
26
-20
50
4
11
40
-44
89
4
-17
54
26
-5
9
-11
54
-41
19
10
77
-99
-31
-5
1
0
23
20
3
3
-6
14
31
4
3
-56
13
68
8
76
7
20
24
49
-55
8
41
-45
83
12
10
-34
22
4
32
-5
33
-32
11
32
-47
-21
12
74
-23
-8
41
3
46
14
-13
8
18
-17
-9
35
25
-23
20
-7
65
13
-23
-5
5
-17
9
-15
33
-1
53
19
-10
14
0
-64
111
49
34
-8
-7
-49
43
1
0
-31
-12
64
-12
11
3
4
0
-1
0
-3
60
62
-22
-5
44
50
7
-5
-4
-43
-33
28
-28
-3
56
39
15
-2
2
18
53
-16
88
-14
-31
62
43
-10
0
60
60
33
-2
-9
1
-2
-26
11
9
-12
26
54
-22
24
47
29
-8
-16
-6
28
85
-41
-26
-20
8
-16
-11
55
0
8
45
-59
64
-22
9
-14
16
-6
-9
-56
9
-5
37
-6
-2
16
13
14
-2
36
40
8
-39
59
-7
96
-5
47
30
-79
69
24
22
30
8
-11
-6
60
22
59
70
29
18
72
-62
-6
51
1
15
49
15
34
-12
14
16
-13
-62
37
-6
-23
-12
-7
0
0
-6
49
43
-8
-3
0
22
-41
7
0
11
-23
-27
-18
0
2
31
10
15
-5
18
39
-1
8
1
0
-7
15
-5
0
-5
53
0
-17
0
-14
25
-17
5
2
-3
-11
17
7
-2
14
5
-15
-23
-3
11
5
43
-6
0
0
-4
6
-2
-1
8
14
90
6
4
-5
32
15
-3
1
8
43
-4
4
-2
-25
15
13
-5
-4
37
-5
-8
20
-1
-3
53
32
-6
11
3
-21
6
-3
0
-7
9
-12
94
-8
-2
25
-35
-28
25
1
13
61
-2
2
-1
-4
1
7
3
-60
-25
91
-20
26
3
-11
43
11
-6
91
5
-26
-36
-21
48
-36
37
-70
14
-23
29
-23
-31
-14
9
-22
20
64
11
10
14
0
108
36
-6
39
-3
26
11
-14
18
50
-53
-14
-3
-3
24
4
13
22
-2
-44
3
4
2
6
-15
2
2
38
32
-34
14
-9
42
-41
5
3
4
-6
-4
98
-17
-2
6
-3
-6
0
0
-36
90
-43
-9
19
33
-17
34
78
-15
-16
-23
47
62
3
-47
25
6
2
0
42
38
1
43
25
-5
-25
15
-5
4
-6
-4
-21
10
6
0
9
-7
-9
1
0
92
10
66
41
-35
124
40
-46
-11
-18
33
17
19
-55
-5
-29
79
82
0
25
45
24
46
-43
1
35
13
33
25
14
48
-59
6
-45
3
-23
5
21
-2
30
68
67
-39
18
131
23
54
-20
-11
15
53
25
23
74
10
82
17
-84
32
-25
-54
15
43
9
76
37
119
-5
41
-14
-3
48
-5
-69
4
37
21
35
-2
-4
-21
-23
-29
-7
25
33
-43
7
1
0
2
13
0
-2
-32
35
-14
-10
-1
3
-35
30
14
1
2
-14
14
-19
0
-1
0
-15
5
0
-3
-10
-20
-3
0
-11
-34
58
63
4
0
114
5
-18
-14
4
10
67
24
0
6
15
-1
15
0
3
50
82
37
-3
5
-26
-5
50
1
3
0
33
-1
0
-6
25
-2
-1
3
-35
50
22
37
21
43
8
-33
-21
21
5
116
60
-23
-6
2
-42
49
20
-1
7
27
68
-17
8
-3
70
21
-17
11
2
-4
45
33
20
5
11
-6
14
0
16
33
-13
46
-14
33
14
28
-34
67
9
38
-54
3
-23
82
56
22
9
-46
-15
24
8
38
-67
4
-11
35
71
-5
-9
43
-71
69
37
-1
-2
21
48
-12
-15
46
23
24
-6
34
-19
6
-1
0
-39
15
33
-23
2
-4
25
-14
8
1
-4
45
-43
16
4
0
-4
7
-2
1
-27
23
6
17
-7
3
-3
4
-3
-1
-2
-70
49
61
2
-28
9
32
-14
0
5
74
72
32
-17
7
6
-8
1
1
-1
-36
-56
14
25
-5
8
36
58
0
35
-26
-22
71
1
5
-3
-14
7
-2
32
73
40
33
-20
-6
22
0
-30
-2
49
-84
36
-34
4
7
40
-1
36
1
-7
-65
-33
23
62
2
11
42
20
13
48
-11
5
27
4
0
-30
13
17
-6
-14
24
-29
16
19
2
-48
14
71
-22
-14
24
-33
43
5
1
-17
31
-6
-2
-17
-33
-18
53
18
8
71
9
0
0
39
-9
-32
27
24
0
10
12
20
8
0
36
0
-53
-3
1
17
-3
-2
0
0
0
10
1
0
-2
-20
-24
0
0
0
0
-5
-7
0
0
6
-2
0
0
0
0
-43
37
2
0
-6
5
0
0
4
-20
-4
46
-4
5
45
25
-43
3
8
-34
2
1
1
15
-13
28
5
0
-4
-7
34
0
3
4
-10
-30
-3
0
9
13
71
16
0
4
13
3
2
0
1
13
-86
2
-1
0
-6
-84
4
-1
5
15
17
-14
-7
-2
43
2
-24
0
0
80
4
29
3
-3
57
-53
13
-8
-6
23
11
-5
9
2
22
8
20
0
-27
18
93
-21
-30
2
22
-43
20
15
-18
-81
62
35
-36
3
-35
47
-5
5
0
2
48
-31
8
15
35
-53
-35
18
0
22
6
-30
24
0
3
24
-50
16
0
10
-1
47
56
0
0
-11
-32
-39
0
0
-55
-27
50
0
0
-35
-141
-24
0
0
13
-10
15
0
0
-57
-61
-54
0
0
-19
-16
-67
0
0
-52
12
-5
0
0
-12
21
-5
0
0
57
-48
30
0
0
-13
-2
31
0
0
14
45
-34
0
0
72
-109
-24
0
0
49
-17
-10
0
0
-9
-15
-3
0
0
-22
-41
-36
0
0
36
-26
16
0
0
-5
-49
-22
0
0
-13
-14
-55
0
0
-43
33
-3
0
0
-48
-21
36
0
0
-22
51
2
0
0
73
-5
-25
0
0
9
-30
-7
0
0
-3
64
-34
0
0
16
-8
-9
0
0
-4
83
14
0
0
6
-30
0
0
0
25
-3
-74
0
0
-17
13
-2
0
0
20
-41
-22
0
0
-21
-49
0
0
-25
22
-51
29
0
0
32
70
47
0
0
-38
25
57
0
0
-1
67
21
0
0
-23
-7
9
0
0
-22
38
53
0
0
-48
-38
-96
0
0
-52
-14
-8
0
0
-4
-17
-14
0
0
-9
10
21
0
0
-23
-2
-23
0
0
52
-31
-71
0
0
-34
-11
-19
0
0
36
47
-18
0
0
84
-118
2
0
0
-3
-65
-60
0
0
33
62
-11
0
0
23
-3
29
0
0
1
-54
3
0
0
66
-78
-2
0
0
-65
-89
29
0
0
-28
-4
9
0
0
49
5
-2
0
0
-5
-34
0
0
0
-23
-78
17
0
0
-5
29
-15
0
0
-58
2
1
0
0
-1
-41
-1
0
0
27
-2
26
0
0
10
-22
-6
0
0
-33
-14
0
0
0
-10
-14
2
0
14
17
9
100
0
0
24
4
-72
0
0
-9
-63
67
0
0
58
63
7
0
0
-71
45
63
0
0
16
-35
63
0
0
-66
63
43
0
0
8
-36
33
0
0
-14
20
18
0
0
-4
50
-8
0
0
-14
-16
5
0
0
-38
-53
0
0
0
41
53
2
0
0
-60
-56
40
0
0
-22
1
48
0
0
11
18
-23
0
0
6
-61
-72
0
0
50
-54
-73
0
0
-5
81
53
0
0
49
32
-5
0
0
-45
8
-5
0
0
-28
-33
58
0
0
28
-31
-37
0
0
30
33
0
0
0
-53
-1
-3
0
0
1
-8
0
0
0
6
20
-45
0
0
2
16
0
0
0
-14
-25
-6
0
0
-9
32
-2
0
0
-16
-14
0
0
0
36
-3
0
0
27
52
14
-29
0
0
20
45
-47
0
0
32
42
14
0
0
14
4
5
0
0
37
100
63
0
0
-44
21
-5
0
0
-5
-38
-3
0
0
71
-33
22
0
0
-6
42
-6
0
0
14
20
10
0
0
-49
9
48
0
0
-9
-7
6
0
0
36
0
-32
0
0
59
-29
35
0
0
32
14
-3
0
0
4
53
-9
0
0
-14
12
-2
0
0
5
16
15
0
0
74
15
-9
0
0
72
15
9
0
0
-31
3
-4
0
0
45
2
0
0
0
-23
8
0
0
0
14
3
0
0
0
-50
29
-19
0
0
-9
23
0
0
0
-21
-8
5
0
0
61
-7
0
0
0
-4
0
-1
0
0
-10
3
0
0
0
15
18
1
0
0
9
-33
0
0
-10
58
-12
1
0
0
-55
-14
-30
0
0
-40
27
23
0
0
86
-48
-43
0
0
9
-10
31
0
0
-30
-24
37
0
0
13
49
-46
0
0
-35
22
-23
0
0
-60
107
69
0
0
-41
44
-21
0
0
-27
-23
47
0
0
55
148
-43
0
0
38
1
-15
0
0
116
-88
-33
0
0
-8
36
-10
0
0
-14
-21
61
0
0
22
-30
-1
0
0
-19
-5
-27
0
0
1
93
18
0
0
-19
13
2
0
0
2
-29
0
0
0
1
-65
-15
0
0
3
-16
1
0
0
0
56
0
0
0
-20
-35
35
0
0
-23
13
8
0
0
-6
-32
-5
0
0
0
-1
-5
0
0
-43
30
30
0
0
6
-25
-1
0
0
15
-37
4
0
0
3
0
1
0
-13
15
-38
-45
0
0
8
7
-99
0
0
39
54
53
0
0
34
42
23
0
0
-45
6
-18
0
0
-37
17
59
0
0
42
15
8
0
0
2
34
59
0
0
-32
63
14
0
0
9
-56
36
0
0
138
-23
-16
0
0
-43
53
55
0
0
-46
-9
33
0
0
22
-15
-10
0
0
13
-65
69
0
0
-21
-60
-37
0
0
-13
27
-21
0
0
-45
-48
-3
0
0
-33
-4
-6
0
0
-22
-34
-2
0
0
-22
2
5
0
0
16
14
0
0
0
-6
-26
3
0
0
0
-54
0
0
0
-32
7
9
0
0
1
-10
0
0
0
15
-6
0
0
0
-20
2
0
0
0
-14
18
0
0
0
-7
15
2
0
0
10
1
0
0
0
-10
-3
-2
0
5
-52
-80
-15
0
0
9
111
-16
0
0
-9
90
42
0
0
38
123
120
0
0
5
5
-19
0
0
-30
13
-29
0
0
-31
14
-15
0
0
39
31
128
0
0
20
1
-61
0
0
43
38
-59
0
0
27
-86
-9
0
0
-4
5
-59
0
0
-23
-42
-14
0
0
14
20
3
0
0
-84
55
63
0
0
82
31
-21
0
0
-7
-25
2
0
0
-1
-5
18
0
0
-2
-6
-17
0
0
45
-24
-3
0
0
-5
5
5
0
0
-4
11
3
0
0
13
-43
5
0
0
-16
-15
5
0
0
45
21
-9
0
0
-3
4
-1
0
0
13
-13
1
0
0
-4
-5
0
0
0
1
-6
45
0
0
1
8
0
0
0
-43
20
-5
0
0
-2
13
0
0
21
5
-86
-21
0
0
-6
-7
-31
0
0
-23
-7
5
0
0
3
41
27
0
0
-47
69
-45
0
0
3
45
39
0
0
-8
96
-6
0
0
40
25
130
0
0
4
10
-5
0
0
42
-19
44
0
0
28
-24
13
0
0
-25
-20
-14
0
0
51
32
20
0
0
39
-63
-19
0
0
15
-62
-64
0
0
34
-39
0
0
0
68
-97
10
0
0
-20
19
0
0
0
7
2
-1
0
0
35
-8
1
0
0
41
-10
0
0
0
-19
10
0
0
0
-94
-10
0
0
0
30
15
0
0
0
-45
-3
2
0
0
4
0
-1
0
0
10
-6
5
0
0
36
-20
0
0
0
0
4
2
0
0
7
5
-2
0
0
0
14
0
0
0
1
10
1
0
-34
-4
-4
39
0
0
84
60
68
0
0
-3
-3
-73
0
0
-30
-38
-88
0
0
121
-55
-81
0
0
-32
13
11
0
0
-9
30
-39
0
0
-27
26
-89
0
0
-9
36
54
0
0
20
-20
-46
0
0
26
37
-14
0
0
13
-29
-50
0
0
-3
-44
18
0
0
-15
-54
5
0
0
29
-69
40
0
0
-50
-16
6
0
0
-13
-11
-6
0
0
-18
14
47
0
0
-5
-23
-20
0
0
18
-7
2
0
0
-82
-51
51
0
0
-27
44
3
0
0
-33
75
1
0
0
-5
33
-14
0
0
40
55
-11
0
0
13
-21
-15
0
0
23
-25
15
0
0
14
-10
5
0
0
48
53
3
0
0
43
0
5
0
0
32
-45
-2
0
0
9
-15
-3
0
-33
-50
-36
65
0
0
43
-18
-33
0
0
-81
-1
27
0
0
-92
-34
8
0
0
63
-32
-37
0
0
2
19
-35
0
0
37
5
24
0
0
-51
14
-48
0
0
-12
45
35
0
0
-35
-46
15
0
0
-33
-58
24
0
0
37
34
-47
0
0
14
1
-126
0
0
33
46
-20
0
0
49
-13
12
0
0
107
19
-30
0
0
-30
29
9
0
0
1
-31
3
0
0
-9
-32
-11
0
0
-13
-52
0
0
0
-22
-55
13
0
0
0
2
-2
0
0
-40
26
0
0
0
29
-16
-1
0
0
30
-35
13
0
0
13
-1
26
0
0
-23
-1
-20
0
0
53
-2
7
0
0
8
20
2
0
0
-34
16
-5
0
0
0
1
2
0
0
21
-24
-8
0
5
-60
-97
25
0
0
-46
76
-4
0
0
73
34
36
0
0
63
-21
35
0
0
-61
68
91
0
0
-40
29
22
0
0
-8
-57
-2
0
0
-30
43
8
0
0
35
12
-12
0
0
27
-4
37
0
0
-34
-51
39
0
0
26
1
-22
0
0
17
12
77
0
0
62
59
4
0
0
91
-40
-53
0
0
10
26
-77
0
0
-46
3
-46
0
0
-4
-2
-27
0
0
3
-5
4
0
0
22
45
-8
0
0
-41
-51
11
0
0
69
-27
5
0
0
-28
-14
8
0
0
1
6
0
0
0
-35
-2
1
0
0
9
6
4
0
0
9
-6
9
0
0
25
43
5
0
0
-61
1
5
0
0
7
-31
3
0
0
10
-12
-27
0
0
37
-30
0
0
-3
-35
-142
9
0
0
-20
40
36
0
0
46
44
-25
0
0
77
-59
17
0
0
-61
21
-11
0
0
27
67
20
0
0
99
-23
-8
0
0
-4
-14
36
0
0
-4
15
-99
0
0
-17
-23
-32
0
0
-47
113
29
0
0
-29
50
2
0
0
33
5
32
0
0
54
-3
-34
0
0
62
-76
17
0
0
1
20
11
0
0
-42
-33
4
0
0
43
7
-2
0
0
33
4
-1
0
0
37
47
2
0
0
-12
-1
-6
0
0
3
60
0
0
0
28
-1
-1
0
0
-59
71
-2
0
0
20
-4
-18
0
0
-9
-2
-7
0
0
-9
-4
22
0
0
-33
-12
-3
0
0
-41
15
-4
0
0
41
21
5
0
0
7
-25
0
0
0
-25
100
0
0
-1
106
-126
-60
0
0
-26
-8
88
0
0
-83
40
14
0
0
-15
-5
-5
0
0
-57
86
-5
0
0
-51
28
25
0
0
-11
85
13
0
0
37
-6
9
0
0
53
-5
46
0
0
-63
15
-78
0
0
12
-16
-8
0
0
-20
-2
57
0
0
-3
6
31
0
0
12
-83
-10
0
0
59
-38
-4
0
0
56
-58
-32
0
0
97
-27
-67
0
0
-2
-19
6
0
0
78
9
10
0
0
-4
-14
-3
0
0
124
82
11
0
0
-4
5
19
0
0
19
-23
29
0
0
-9
28
0
0
0
-52
11
31
0
0
-5
-21
1
0
0
-15
17
14
0
0
19
-1
4
0
0
6
-75
18
0
0
-15
5
-23
0
0
46
48
9
0
0
2
50
-23
0
-7
56
-35
-4
0
0
-49
-22
-4
0
0
-117
-31
-70
0
0
-9
22
-71
0
0
-76
1
-27
0
0
-56
-16
-18
0
0
15
-9
9
0
0
-23
21
34
0
0
82
-7
40
0
0
-85
16
-6
0
0
10
-39
86
0
0
-18
78
45
0
0
26
11
-31
0
0
-52
-21
-17
0
0
-19
-47
37
0
0
60
36
-12
0
0
4
30
-31
0
0
-4
24
4
0
0
-4
-3
3
0
0
13
-17
0
0
0
-28
23
1
0
0
-27
10
0
0
0
19
-4
0
0
0
33
16
0
0
0
-26
9
-5
0
0
0
-17
19
0
0
15
5
-14
0
0
-33
14
1
0
0
25
-5
43
0
0
-2
-3
0
0
0
14
4
1
0
0
43
-1
5
0
27
-146
-7
45
0
0
-39
-81
62
0
0
-15
-6
-8
0
0
54
33
-19
0
0
-5
16
-92
0
0
50
4
-25
0
0
5
51
-52
0
0
-81
11
4
0
0
40
-34
3
0
0
14
15
46
0
0
-29
64
-47
0
0
-62
12
46
0
0
-3
4
-32
0
0
-7
23
-5
0
0
-59
-72
-3
0
0
6
-28
2
0
0
-43
41
-37
0
0
3
-20
7
0
0
-18
-7
-33
0
0
11
-5
0
0
0
74
5
-18
0
0
3
9
6
0
0
-24
-23
-9
0
0
-10
33
2
0
0
-26
21
1
0
0
0
6
-1
0
0
1
-6
5
0
0
8
4
1
0
0
24
-4
-13
0
0
0
-11
-29
0
0
89
-5
6
0
0
-5
7
0
0
56
-71
-83
-64
0
0
3
-68
73
0
0
0
-16
-4
0
0
51
56
-124
0
0
27
30
30
0
0
-61
-9
3
0
0
22
11
-1
0
0
57
43
-82
0
0
17
26
2
0
0
19
53
6
0
0
29
-36
81
0
0
-10
6
33
0
0
-6
32
-7
0
0
25
-58
-14
0
0
-22
110
-36
0
0
-88
-30
4
0
0
7
0
0
0
0
25
0
-4
0
0
1
0
0
0
0
4
1
-9
0
0
2
-4
0
0
0
43
-5
-2
0
0
-14
1
3
0
0
5
18
0
0
0
23
0
0
0
0
3
0
0
0
0
-8
-1
-14
0
0
-56
-4
0
0
0
-11
3
0
0
0
-25
15
0
0
0
-11
26
-1
0
0
-52
21
-1
0
-2
4
49
44
0
0
17
32
7
0
0
55
-62
77
0
0
-62
5
31
0
0
18
-27
3
0
0
-63
0
-20
0
0
-48
23
14
0
0
25
7
-15
0
0
71
98
10
0
0
14
45
7
0
0
53
27
-87
0
0
73
19
8
0
0
-58
24
-5
0
0
20
-72
-5
0
0
40
-88
-11
0
0
8
-38
0
0
0
-52
128
85
0
0
114
39
-24
0
0
-5
23
36
0
0
-5
-32
17
0
0
36
16
53
0
0
-15
23
-23
0
0
0
19
13
0
0
-8
-2
-1
0
0
26
-9
-4
0
0
-21
89
20
0
0
16
58
-51
0
0
0
-5
16
0
0
-22
67
-20
0
0
17
39
-68
0
0
-59
-35
-49
0
0
-49
23
-23
0
-96
3
61
81
0
0
-33
-33
-5
0
0
-12
3
-10
0
0
9
-73
-61
0
0
1
25
71
0
0
35
-52
43
0
0
-27
92
5
0
0
28
32
-8
0
0
42
-65
39
0
0
45
45
0
0
0
-27
5
-5
0
0
25
-3
-2
0
0
27
-80
2
0
0
-14
-55
-2
0
0
43
27
-2
0
0
9
-9
-2
0
0
55
119
33
0
0
-5
108
64
0
0
23
-4
-14
0
0
-18
-38
-4
0
0
-5
53
-29
0
0
67
7
37
0
0
24
-1
-5
0
0
-5
-60
-2
0
0
-53
-36
33
0
0
1
-11
0
0
0
52
-7
-1
0
0
-36
-53
-2
0
0
-5
29
-53
0
0
-2
-56
-14
0
0
10
-29
5
0
0
8
2
0
0
55
4
-23
-53
0
0
-10
32
-69
0
0
-6
4
-21
0
0
-46
-20
33
0
0
5
91
-19
0
0
74
1
-24
0
0
-46
23
-10
0
0
-10
33
22
0
0
-73
31
-9
0
0
10
10
7
0
0
-44
44
24
0
0
49
-65
0
0
0
11
56
5
0
0
-5
29
2
0
0
17
-10
-1
0
0
10
-32
0
0
0
24
-47
-80
0
0
0
57
-23
0
0
10
8
44
0
0
0
-8
24
0
0
-21
-1
11
0
0
22
-5
-36
0
0
-41
15
-1
0
0
3
-39
3
0
0
76
53
-28
0
0
4
5
23
0
0
-31
-16
6
0
0
21
-37
0
0
0
-55
19
96
0
0
-2
-3
-11
0
0
34
-9
21
0
0
11
-5
-1
0
63
-1
6
35
0
0
49
-27
9
0
0
-22
36
27
0
0
-62
-1
-23
0
0
22
-11
-15
0
0
30
38
-53
0
0
-57
18
5
0
0
6
-34
-5
0
0
28
-33
-15
0
0
36
15
0
0
0
-23
43
0
0
0
8
23
4
0
0
-6
10
0
0
0
19
34
-2
0
0
44
-17
0
0
0
48
-44
1
0
0
10
52
5
0
0
-8
22
10
0
0
-7
-4
13
0
0
80
-14
0
0
0
2
2
31
0
0
80
-17
-4
0
0
11
-31
3
0
0
31
-7
8
0
0
-50
35
-14
0
0
-43
2
-4
0
0
1
23
-7
0
0
1
-13
-1
0
0
-27
-3
6
0
0
-3
39
-3
0
0
-8
2
3
0
0
-14
42
3
0
-32
-5
0
-47
0
0
25
-4
1
0
0
40
53
-76
0
0
-15
4
14
0
0
-58
-15
19
0
0
10
-26
-1
0
0
22
10
3
0
0
2
24
0
0
0
29
0
25
0
0
-35
-19
3
0
0
-11
22
7
0
0
32
26
1
0
0
71
35
-1
0
0
-11
10
0
0
0
65
-43
5
0
0
-10
-16
-1
0
0
59
-6
-14
0
0
-3
5
17
0
0
-33
16
-13
0
0
8
-3
-7
0
0
-129
-15
14
0
0
-21
75
-21
0
0
15
-17
10
0
0
5
-15
0
0
0
-26
30
-68
0
0
6
45
-45
0
0
43
1
43
0
0
-26
5
8
0
0
-72
-12
-1
0
0
-2
-57
-13
0
0
-27
36
54
0
0
13
-2
-7
0
-62
-35
83
15
0
0
-14
-1
-14
0
0
-5
-24
14
0
0
1
21
-23
0
0
18
-14
0
0
0
5
-39
17
0
0
5
-33
0
0
0
-3
-64
3
0
0
-4
11
-3
0
0
5
32
1
0
0
-18
9
-3
0
0
-77
18
3
0
0
-10
-21
1
0
0
20
36
0
0
0
37
26
0
0
0
18
-7
5
0
0
-19
-44
-2
0
0
0
-7
-16
0
0
-31
34
-7
0
0
-32
-1
-16
0
0
35
36
-5
0
0
-11
-10
-6
0
0
0
-1
1
0
0
-23
19
2
0
0
4
39
16
0
0
-1
30
-1
0
0
-13
0
5
0
0
51
-1
-7
0
0
-39
-36
-29
0
0
-13
-8
11
0
0
-20
-6
-5
0
0
-23
43
0
0
-4
23
4
-22
0
0
-6
-14
-1
0
0
19
20
10
0
0
-3
30
-5
0
0
-1
33
-25
0
0
8
-15
8
0
0
-28
34
-25
0
0
-27
17
6
0
0
128
4
-25
0
0
-18
6
-2
0
0
6
25
-6
0
0
48
-11
-1
0
0
-31
23
0
0
0
9
-18
-9
0
0
-15
-34
5
0
0
-2
6
1
0
0
-52
2
-9
0
0
1
-3
-18
0
0
-5
-18
21
0
0
5
33
-2
0
0
-40
-14
20
0
0
-8
-2
11
0
0
-71
-42
2
0
0
10
-49
-5
0
0
-70
26
-8
0
0
15
-19
19
0
0
11
13
20
0
0
22
-23
1
0
0
52
-5
6
0
0
-5
-14
-8
0
0
-14
-11
-17
0
0
-17
80
4
0
-15
91
-74
-6
0
0
20
-3
-2
0
0
0
-1
0
0
0
-1
8
1
0
0
-19
0
3
0
0
9
-2
3
0
0
0
17
0
0
0
-34
10
0
0
0
-6
5
0
0
0
33
-16
0
0
0
6
7
3
0
0
51
-10
0
0
0
66
-5
-1
0
0
26
17
-1
0
0
-7
27
0
0
0
-29
63
0
0
0
7
1
1
0
0
0
2
-10
0
0
5
-2
-4
0
0
1
9
0
0
0
-21
-10
-1
0
0
1
3
0
0
0
-53
11
0
0
0
10
8
-3
0
0
-27
2
35
0
0
-2
-20
0
0
0
15
0
-11
0
0
14
4
5
0
0
-27
-29
8
0
0
-1
2
44
0
0
-4
4
0
0
0
-33
46
0
0
7
-11
55
-23
0
0
34
62
-16
0
0
-77
-11
3
0
0
2
-38
0
0
0
-15
-4
11
0
0
-10
-16
33
0
0
3
33
0
0
0
-3
73
1
0
0
5
19
-21
0
0
-45
53
0
0
0
23
31
19
0
0
-23
53
-1
0
0
19
16
46
0
0
16
-6
-1
0
0
70
-71
5
0
0
-47
-20
1
0
0
6
-37
38
0
0
-8
17
-23
0
0
-16
-28
1
0
0
43
-5
-1
0
0
5
-32
43
0
0
16
-21
-26
0
0
5
-14
-8
0
0
-15
6
17
0
0
25
60
16
0
0
8
-33
5
0
0
45
57
-17
0
0
-20
-34
29
0
0
78
49
-66
0
0
5
-43
21
0
0
0
78
11
0
0
-89
47
18
0
3
76
3
24
0
0
-23
-23
7
0
0
1
-27
-1
0
0
-2
-71
3
0
0
3
43
-3
0
0
2
20
0
0
0
8
-15
0
0
0
-8
-51
0
0
0
-25
6
-6
0
0
-5
28
0
0
0
25
30
-10
0
0
10
31
0
0
0
10
45
7
0
0
-20
30
0
0
0
10
45
0
0
0
-21
13
1
0
0
-12
-25
9
0
0
-41
-80
11
0
0
-39
-5
43
0
0
81
37
-14
0
0
19
31
2
0
0
12
28
-43
0
0
62
33
7
0
0
5
116
0
0
0
53
-20
-22
0
0
-28
43
11
0
0
-31
-65
19
0
0
68
-36
-3
0
0
-25
50
-4
0
0
-11
-29
26
0
0
-41
74
62
0
0
15
20
-10
0
8
-66
8
43
0
0
-36
5
-25
0
0
-17
65
7
0
0
63
30
1
0
0
31
-8
-7
0
0
-7
3
-15
0
0
-6
-37
-11
0
0
21
36
2
0
0
-4
1
-23
0
0
33
18
-7
0
0
59
21
-32
0
0
-15
74
-3
0
0
55
34
-1
0
0
-45
53
7
0
0
-45
23
4
0
0
-4
62
-4
0
0
-10
18
-5
0
0
6
13
29
0
0
2
-19
-17
0
0
-42
17
10
0
0
14
56
20
0
0
-13
-45
15
0
0
1
16
-14
0
0
-6
25
3
0
0
9
-25
-36
0
0
17
21
0
0
0
46
-4
66
0
0
-52
68
29
0
0
-70
-24
-15
0
0
37
-14
38
0
0
-13
-5
76
0
0
67
16
-7
0
6
57
-101
-1
0
0
-28
18
3
0
0
-8
-17
6
0
0
16
-53
-16
0
0
39
10
-2
0
0
0
10
-5
0
0
21
2
-1
0
0
36
58
19
0
0
33
21
3
0
0
-5
48
0
0
0
-15
-33
-1
0
0
16
74
-13
0
0
-31
6
0
0
0
30
37
0
0
0
39
-3
3
0
0
45
-49
-3
0
0
38
-6
-1
0
0
-2
19
14
0
0
2
20
-17
0
0
-43
22
-5
0
0
-68
15
2
0
0
4
20
16
0
0
9
15
-20
0
0
-9
-18
6
0
0
-53
6
35
0
0
36
23
-5
0
0
20
-31
15
0
0
-14
3
20
0
0
-43
-49
11
0
0
-2
-13
33
0
0
62
-18
71
0
0
31
-5
-1
0
-13
109
74
-23
0
0
-59
24
16
0
0
-33
-6
2
0
0
0
-35
-1
0
0
30
9
-21
0
0
5
11
1
0
0
48
20
-11
0
0
-1
4
0
0
0
-35
-20
5
0
0
-36
-42
-5
0
0
-43
100
-20
0
0
20
53
-5
0
0
-3
76
43
0
0
-67
9
0
0
0
41
58
1
0
0
-20
62
0
0
0
39
-50
-11
0
0
8
17
5
0
0
-20
46
-5
0
0
6
64
0
0
0
-28
-90
26
0
0
-13
-6
5
0
0
12
55
-19
0
0
2
-15
3
0
0
2
31
24
0
0
24
24
36
0
0
-47
-39
27
0
0
24
8
21
0
0
61
97
-23
0
0
16
58
-44
0
0
31
39
3
0
0
-5
5
53
0
-10
19
52
-6
0
0
-5
0
-1
0
0
-3
13
-1
0
0
-3
-8
1
0
0
19
57
0
0
0
-3
-17
0
0
0
1
5
0
0
0
-6
10
0
0
0
9
-6
-3
0
0
9
35
0
0
0
-4
18
5
0
0
-37
-23
-3
0
0
-16
57
-13
0
0
-14
-59
0
0
0
-12
73
0
0
0
-38
13
0
0
0
-22
16
4
0
0
-5
-44
-5
0
0
17
-10
3
0
0
-6
-4
-1
0
0
-86
15
-31
0
0
24
11
2
0
0
-14
44
-10
0
0
-5
-5
4
0
0
43
3
15
0
0
7
21
89
0
0
-9
-53
64
0
0
-28
13
-11
0
0
29
-73
-52
0
0
-19
-10
5
0
0
17
-5
-9
0
0
19
58
6
0
33
21
26
-5
0
0
-16
-3
5
0
0
25
48
5
0
0
32
-30
0
0
0
-15
-45
0
0
0
13
29
0
0
0
-13
53
-3
0
0
9
13
0
0
0
49
-52
-5
0
0
35
-7
0
0
0
54
-2
-5
0
0
50
16
0
0
0
-48
43
3
0
0
26
11
3
0
0
5
-1
-1
0
0
18
4
1
0
0
-79
-60
-44
0
0
-25
6
-25
0
0
2
17
-6
0
0
-15
-10
2
0
0
59
6
-15
0
0
8
-2
0
0
0
35
5
14
0
0
11
20
2
0
0
10
-46
39
0
0
-18
-9
17
0
0
-60
15
4
0
0
4
-9
-33
0
0
12
-64
17
0
0
-6
24
55
0
0
-44
69
49
0
0
-13
10
31
0
4
34
-47
-1
0
0
-44
5
-1
0
0
2
2
0
0
0
1
2
0
0
0
2
-15
0
0
0
3
-17
2
0
0
0
4
0
0
0
36
-15
0
0
0
42
-14
0
0
0
-5
33
0
0
0
15
9
0
0
0
45
25
3
0
0
57
-11
0
0
0
34
10
2
0
0
70
-3
-5
0
0
-2
46
-2
0
0
-76
9
-4
0
0
49
25
4
0
0
-1
-7
-1
0
0
36
9
6
0
0
-27
10
-7
0
0
-17
7
-2
0
0
-23
-2
4
0
0
9
24
0
0
0
-22
18
-8
0
0
56
43
-33
0
0
5
-5
4
0
0
-6
-8
-7
0
0
-8
30
14
0
0
1
13
16
0
0
0
-9
5
0
0
-23
13
19
4
41
-7
-13
27
0
-35
-38
-58
-49
0
-21
39
-7
31
0
-8
38
31
-75
0
13
-28
-19
60
0
5
-31
-1
-24
0
16
10
22
3
0
-4
41
11
-13
0
7
11
-58
0
0
22
11
22
-22
0
15
-5
47
11
0
-35
9
22
16
0
11
6
25
5
0
-57
-43
75
-80
0
21
-15
14
-107
0
51
-4
86
0
0
58
-15
30
45
0
-9
-9
-12
-39
0
21
-42
-75
11
0
-84
-19
54
-38
0
-15
-22
-1
21
0
-80
4
8
44
0
-29
-19
42
-73
0
25
-48
-33
13
0
6
-80
9
53
0
14
-5
-29
-54
0
15
13
20
21
0
-14
-24
-45
36
0
-30
31
65
-31
0
-52
36
63
10
0
4
24
-52
43
0
40
-69
51
6
-15
-53
-6
39
11
0
-8
-20
-21
-61
0
77
70
26
-21
0
-15
61
44
1
0
-5
-18
51
-53
0
-36
-2
-15
-67
0
-5
18
11
14
0
53
27
-56
108
0
-42
-53
-51
38
0
-95
16
72
11
0
28
11
52
36
0
-28
-17
10
141
0
-26
-1
30
83
0
-34
-35
-30
-29
0
43
43
-56
-5
0
56
16
45
-8
0
4
36
-81
-39
0
-58
-76
28
-49
0
-71
-10
29
7
0
55
-54
34
-15
0
-22
-84
-23
16
0
-89
-61
-4
73
0
-22
-25
65
-10
0
-45
27
23
57
0
62
-99
-36
-10
0
-26
-35
-34
19
0
56
-21
98
-4
0
95
13
11
41
0
2
27
42
16
0
-37
-29
-37
-7
0
27
-35
-1
14
0
-16
17
33
0
36
-25
-39
-23
-46
0
-31
51
33
22
0
27
11
13
17
0
43
34
81
6
0
1
-60
31
0
0
-5
10
23
1
0
4
-22
5
4
0
-10
23
25
5
0
15
10
6
-99
0
-19
-6
24
-8
0
-12
-4
-93
11
0
-18
14
43
32
0
23
71
26
6
0
43
-51
-41
-49
0
19
6
13
7
0
-33
91
-61
-18
0
-25
16
29
-33
0
-17
45
-17
0
0
34
-47
4
20
0
11
-11
-5
-22
0
-37
-4
-75
29
0
-22
9
83
4
0
9
-34
8
-18
0
15
-47
10
-22
0
16
-37
14
42
0
69
45
49
-2
0
17
-46
-35
18
0
-58
-13
32
27
0
-7
27
47
3
0
32
33
54
0
0
-53
0
5
-14
0
-5
73
21
-1
-5
-24
-56
-24
-6
0
65
58
-30
5
0
48
-22
15
-5
0
-25
-6
-31
54
0
21
93
47
-5
0
-61
-31
-82
16
0
-7
-22
134
35
0
-79
64
51
52
0
-24
-25
-71
-12
0
83
66
-50
17
0
14
-13
23
-15
0
47
45
81
-44
0
82
53
2
-2
0
100
25
-31
35
0
-26
65
-60
8
0
5
16
53
23
0
-59
-14
32
-53
0
49
58
-102
39
0
-2
60
-11
-73
0
-22
89
-14
-18
0
-37
35
0
-8
0
-5
-44
-33
-13
0
-50
-14
1
0
0
13
-49
-1
-1
0
51
32
16
5
0
42
45
17
1
0
22
-13
25
0
0
-67
19
-14
0
0
48
16
-33
-20
0
-19
-1
-2
-4
0
22
39
-5
3
0
18
-24
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
7
-32
1
5
-28
0
-78
-2
-24
-48
0
5
-61
26
-65
0
-100
-38
58
-27
0
-31
27
-64
-14
0
-30
21
-10
5
0
-6
-6
13
-9
0
-17
10
-86
14
0
-21
-48
-6
-14
0
12
6
-44
-25
0
25
-63
35
-29
0
25
-103
-83
-13
0
14
49
18
27
0
-58
4
37
32
0
30
-14
50
0
0
117
-18
-14
10
0
45
75
62
-56
0
55
29
51
56
0
32
-14
7
34
0
-29
20
84
58
0
53
42
1
15
0
36
-27
-51
-2
0
18
-20
-55
33
0
-8
13
-24
3
0
11
58
24
-15
0
-39
-1
44
5
0
42
-40
68
11
0
39
-15
-71
0
0
-16
63
95
-51
0
-20
32
-40
-5
0
-15
-26
50
-36
0
22
15
-9
-14
-23
-74
15
11
-43
0
-45
16
-1
-42
0
100
6
-37
1
0
-5
56
52
67
0
-58
51
16
122
0
-36
-17
-48
26
0
36
-80
23
24
0
34
-22
-80
7
0
5
-14
18
-77
0
-5
-119
4
-147
0
63
99
-33
-3
0
53
-7
2
-5
0
46
-13
-1
-16
0
-25
19
-10
-54
0
7
-94
-4
-58
0
12
-51
-51
-37
0
-87
21
-37
14
0
-76
-80
31
20
0
36
-16
-40
6
0
60
74
-90
39
0
-32
-43
29
-7
0
37
-33
20
7
0
8
129
-1
-3
0
-49
0
-11
0
0
2
-14
10
19
0
-40
-35
29
-7
0
-19
33
58
-14
0
16
26
-5
-1
0
-52
45
20
21
0
-43
-42
2
-3
0
21
14
-1
5
0
-22
30
-13
-2
7
20
-55
11
25
0
-111
16
27
62
0
-46
-52
-5
-41
0
102
64
-77
-28
0
-120
-24
-51
-24
0
7
-3
0
79
0
-39
22
-16
-24
0
-16
-33
19
-6
0
-5
47
-21
78
0
94
-6
-22
-36
0
19
-108
-16
78
0
19
-7
1
-19
0
-28
25
14
-73
0
58
38
37
-42
0
-55
26
18
-19
0
-31
13
41
-32
0
-57
18
23
-33
0
-10
-22
43
7
0
56
-33
46
-10
0
60
24
0
-6
0
43
27
2
-7
0
49
-35
24
4
0
-60
-35
-4
36
0
50
47
-13
2
0
-106
10
1
-23
0
15
69
-11
16
0
-70
51
-53
5
0
84
6
-48
-2
0
-99
-19
80
32
0
-2
-23
22
0
0
2
79
19
0
0
76
14
-35
-3
-8
-2
-32
-6
-58
0
-100
-14
3
36
0
-90
-47
34
51
0
56
53
-37
-64
0
-8
-18
55
-52
0
-7
14
24
-94
0
24
-10
-23
-11
0
-50
-10
5
34
0
9
5
53
83
0
23
-26
14
-32
0
-15
93
-41
15
0
85
33
-21
6
0
14
-92
-10
-9
0
42
-28
-6
1
0
-41
23
-33
49
0
-5
36
-22
-40
0
48
57
-14
7
0
24
80
-21
-3
0
51
-4
46
-2
0
-30
57
56
-45
0
54
-29
16
4
0
-36
37
34
-2
0
3
6
-15
-2
0
-24
59
29
-2
0
-21
-9
16
-7
0
32
-49
29
3
0
-4
-30
-40
0
0
4
-32
-45
14
0
4
-57
-3
24
0
51
-57
-14
1
0
-2
35
-55
4
0
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
-58
0
-72
-4
-71
45
0
19
-11
-20
23
0
91
-32
79
33
0
15
18
-22
-60
0
-14
-60
66
-55
0
-14
31
-2
-5
0
0
-19
-38
-5
0
39
18
-55
39
0
41
-6
44
-99
0
-14
15
-24
96
0
16
23
81
-1
0
116
27
47
-31
0
-14
0
56
66
0
20
49
100
33
0
62
28
33
-10
0
-90
43
14
-54
0
-87
94
-79
-24
0
-113
54
46
-33
0
-1
-18
20
23
0
-105
62
-18
25
0
-35
-60
-14
-62
0
-11
12
4
5
0
-18
31
-5
30
0
-11
-12
-12
-75
0
-26
-37
97
25
0
-31
21
-4
32
0
-92
62
58
18
0
25
14
5
26
0
23
-48
30
-46
0
51
11
-13
76
0
14
55
-30
-5
-36
-50
-17
-37
-10
0
-11
-71
-3
-17
0
3
-12
-24
13
0
82
18
-31
21
0
91
15
-14
17
0
-40
33
22
14
0
71
16
-58
11
0
-50
-14
62
2
0
-80
22
-24
-11
0
-20
24
5
-3
0
22
-32
-20
-8
0
-65
-2
-1
19
0
-14
8
-5
-1
0
-33
-5
-23
-8
0
38
-32
51
5
0
-16
1
-33
-4
0
50
-10
-6
-26
0
15
-10
-20
14
0
-5
77
74
-13
0
79
-7
-6
44
0
-23
16
1
-49
0
-37
24
29
-20
0
-18
32
-61
-29
0
61
-54
-20
-13
0
2
98
-27
9
0
-72
68
22
30
0
20
59
1
-7
0
42
167
38
5
0
-26
-46
52
43
0
34
-6
52
-66
0
11
-18
35
23
0
42
-26
14
5
-28
31
-13
2
-43
0
124
79
-63
65
0
-104
-43
47
-53
0
25
52
-45
-29
0
-65
-2
-7
58
0
-6
34
-48
16
0
-5
-17
-23
48
0
35
-6
-67
1
0
61
-31
12
-8
0
98
19
-30
25
0
18
5
40
-2
0
18
-13
7
-15
0
-3
-10
-13
53
0
62
88
0
6
0
75
10
48
-5
0
-11
-5
43
0
0
-30
-30
-60
28
0
-80
64
0
35
0
-48
-53
-38
59
0
99
13
27
18
0
-85
-11
-33
-54
0
53
3
14
-14
0
6
-70
-17
-11
0
-64
64
-7
-1
0
-31
-11
51
84
0
61
19
-41
-31
0
3
36
51
-14
0
37
62
-1
-2
0
25
33
-21
-15
0
53
-9
-74
18
0
16
50
-19
-30
0
34
77
16
-4
-19
14
3
36
-30
0
-125
35
24
32
0
38
44
-8
27
0
-10
75
84
32
0
7
19
-17
-5
0
-43
15
24
23
0
-22
-28
-8
11
0
48
22
65
4
0
-4
51
21
-17
0
32
35
3
1
0
-16
62
59
5
0
42
-23
-20
-14
0
82
33
-40
13
0
39
-15
-2
-6
0
2
-8
0
9
0
29
2
36
0
0
-72
-36
105
-74
0
11
85
-23
7
0
-77
53
3
-37
0
-21
26
6
34
0
-47
-9
-1
53
0
4
46
12
-53
0
0
18
-3
7
0
-42
29
0
2
0
43
14
54
62
0
40
-4
-39
0
0
-34
-14
14
-17
0
-99
-60
24
0
0
3
30
22
-14
0
-9
-21
8
-2
0
86
33
-2
-2
0
12
76
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
90
-47
-81
18
0
24
14
11
27
0
107
52
4
49
0
-47
62
-7
-26
0
-4
32
57
-74
0
-43
1
60
14
0
-21
49
53
27
0
31
-23
2
8
0
-6
14
53
25
0
-33
18
-71
18
0
39
45
8
-1
0
23
37
20
-13
0
-17
38
-13
-5
0
13
65
21
12
0
78
-36
28
-20
0
9
-12
50
5
0
-42
32
46
-3
0
73
-40
-12
-16
0
-57
86
38
28
0
1
16
44
-49
0
-36
11
32
66
0
-30
32
31
48
0
-21
-24
61
-22
0
-17
-13
95
32
0
-49
41
30
-14
0
-51
-35
-18
21
0
-12
-15
61
-14
0
50
17
-19
48
0
18
-26
81
-32
0
-67
33
-13
-26
0
-33
8
8
1
0
70
63
-47
-6
-11
123
51
-5
8
0
-61
9
-22
16
0
-7
26
8
6
0
-27
37
-24
-3
0
56
-76
25
-27
0
86
39
36
4
0
1
6
21
-2
0
18
31
0
-4
0
6
37
-36
-39
0
-88
-27
-2
72
0
60
67
0
6
0
12
51
33
22
0
-65
-10
120
52
0
16
-50
43
90
0
-25
7
-20
-3
0
12
-8
-5
-25
0
-21
20
14
92
0
-57
14
60
-27
0
180
63
-17
-98
0
22
62
22
-32
0
37
51
48
-12
0
-5
-19
-53
22
0
63
12
-4
-45
0
93
-1
53
8
0
13
-28
-26
49
0
-55
-9
71
-33
0
-35
32
28
48
0
35
26
22
25
0
-24
27
12
22
0
-19
-1
6
32
0
-7
3
1
-8
0
12
12
55
59
-34
102
51
27
-58
0
90
-4
22
34
0
-72
11
-27
10
0
-16
36
78
25
0
11
50
100
-22
0
35
33
-90
-2
0
18
-21
-23
36
0
94
31
-7
0
0
14
23
4
-58
0
-6
60
-6
7
0
-74
83
-46
1
0
73
55
45
26
0
-27
44
8
35
0
48
-5
-37
5
0
33
5
33
-91
0
-37
13
-9
-16
0
-66
-88
63
61
0
33
21
5
5
0
43
-46
-24
57
0
78
24
70
37
0
127
5
-50
-5
0
31
-14
48
-27
0
-60
-49
25
54
0
-3
-14
9
17
0
-61
16
-12
12
0
-64
23
16
0
0
-110
-17
51
14
0
-19
-23
20
5
0
15
-22
-2
88
0
59
-24
40
43
0
2
22
-77
53
0
-89
18
66
3
0
-48
40
14
2
0
2
-25
-5
-6
0
11
13
29
-13
0
52
5
64
1
0
6
10
-14
22
0
0
-29
19
0
0
-4
-6
-10
-3
0
13
33
-21
1
0
-29
71
87
-11
0
-13
77
14
1
0
2
59
13
23
0
38
11
32
8
0
79
-1
-43
43
0
-14
-23
46
-8
0
-15
-15
-45
-33
0
12
-7
4
7
0
-47
-9
53
30
0
-4
21
31
-14
0
-38
-2
-4
-18
0
-33
18
-38
-26
0
-13
-68
86
-3
0
32
-38
14
0
0
-44
61
13
0
0
-16
-14
50
-1
0
-43
-53
29
29
0
44
44
-15
60
0
17
-19
4
-22
0
47
-31
-17
2
0
-53
11
90
-53
0
39
31
27
21
0
45
-7
24
-18
0
-70
-4
45
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-8
54
6
-1
38
13
13
-26
9
-40
8
11
-4
21
57
-34
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-39
2
-61
33
28
4
-40
-20
-42
-33
-15
-24
-62
-19
24
-67
-23
20
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-10
-41
-58
-58
-116
3
-18
33
5
-90
24
94
33
-37
34
-15
44
23
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
91
-6
54
-27
41
-36
-35
-27
-28
76
115
-70
14
106
35
-73
8
37
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
-27
5
-10
-22
-4
36
-62
6
7
21
25
24
58
1
32
51
-36
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
-20
-6
-63
12
-29
60
-24
8
88
-18
46
-57
14
-50
-31
32
78
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-61
-2
47
24
-27
5
-4
23
-8
12
12
18
-19
4
4
63
90
-17
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-65
-41
87
-77
23
0
16
43
21
-9
-75
-65
-30
21
31
53
-25
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-22
43
0
-2
46
-1
60
-43
20
38
-17
-1
40
32
70
-26
20
27
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-32
1
-23
-20
101
20
-47
-71
-11
-112
78
1
99
25
4
18
-73
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
5
16
-56
-41
-5
-10
68
-15
-9
14
-43
-53
82
9
66
-8
-73
4
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-99
1
-17
-5
3
1
48
33
35
-13
-73
1
68
23
36
9
22
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
28
28
34
-25
-6
-94
34
92
41
64
-37
-55
37
65
11
51
117
6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
34
-25
11
37
-32
13
-17
-35
14
19
55
-38
-14
-16
27
-34
-72
14
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
49
-6
-8
44
23
-61
-17
0
12
42
-14
53
-45
-42
-14
3
10
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-44
26
25
29
29
70
-3
-10
1
-71
-1
145
-11
3
24
-12
-18
13
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
34
-16
-12
-3
37
6
-6
6
24
57
62
0
55
-76
5
29
-35
40
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-35
5
-45
32
-67
-67
-51
17
-49
43
29
82
42
-5
-25
-4
30
31
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
17
8
56
-96
14
35
5
-24
-99
-90
21
52
66
7
23
53
-5
-34
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-15
17
-51
103
5
-17
61
10
31
20
-23
-96
52
30
-8
-43
9
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-15
3
-37
24
7
-70
63
5
113
-29
71
14
39
87
-31
63
46
70
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
8
-40
-62
-19
-8
30
-14
54
-79
24
-6
4
100
-14
-57
59
-30
8
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-90
30
-24
-17
8
-100
9
21
20
-29
86
-18
14
0
-1
-49
38
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-5
-65
-43
-9
-41
51
21
-124
-39
-25
-2
33
47
10
-69
-104
81
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-14
-28
14
12
6
2
90
-52
31
62
-28
35
1
-18
-6
18
50
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
-24
35
10
-55
-15
12
-70
21
-5
74
57
63
14
-59
-35
-80
-33
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
108
-17
37
-20
-15
-5
44
-11
26
-22
-10
52
-41
10
-33
20
44
51
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-97
45
-8
42
-47
-53
83
31
-1
-69
27
30
14
-18
76
57
-11
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
11
-7
13
23
99
-128
-8
49
16
-2
10
23
0
4
65
-2
7
26
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
4
-13
-10
23
13
-72
-24
-4
16
-33
82
-22
-2
53
2
45
17
33
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-92
47
43
26
-4
-32
-29
24
7
-3
65
9
2
5
27
-34
0
-26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-5
-5
36
-54
22
-14
41
-23
13
-60
8
-4
22
-2
70
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
50
27
-34
-33
0
-126
-15
13
-39
22
-52
-6
-5
20
-21
-32
39
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
29
37
-37
-48
18
31
-44
-18
-32
-27
16
-12
-25
116
-38
-47
-30
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-32
11
101
-51
-14
38
16
61
-35
29
-91
-16
-26
26
65
23
-41
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
53
60
-7
27
59
24
80
23
-58
-45
20
-25
45
59
7
-109
21
-17
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
8
-16
-46
-30
-92
18
-69
-41
-120
38
9
45
16
45
-47
-40
9
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
20
-56
-41
78
97
-14
39
-3
-57
47
-87
20
7
-33
72
43
-7
-20
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-80
15
6
-5
-91
30
-67
-1
-14
59
17
-34
28
-28
-52
14
56
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-10
129
61
-64
-25
-21
63
107
19
55
-23
103
74
-25
8
-8
35
-35
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
15
45
53
72
69
4
-2
34
-43
71
32
-1
22
-27
-24
-18
72
74
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
30
-19
15
-28
-27
13
71
-30
-7
-52
30
-28
2
25
-81
-12
-45
-14
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-47
62
-12
19
116
86
14
-19
31
-43
-15
71
-27
-2
-32
-5
5
11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
24
64
-14
-28
12
-14
7
51
-9
59
-24
-45
6
15
-2
45
-36
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
-7
1
73
8
-11
-45
21
-15
72
37
-44
-35
94
-15
-5
25
-13
17
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
41
91
-10
-10
-6
-7
-60
5
-11
36
34
-40
-8
-32
57
-66
-6
8
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-16
16
33
15
29
46
93
-113
14
121
90
67
-33
-2
0
34
42
8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
26
-16
-13
22
-86
-27
35
65
5
-8
16
-17
-40
-25
117
11
23
-11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
27
0
86
24
-49
57
-64
19
-24
-33
10
56
-32
7
-36
3
86
-58
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-43
30
37
-6
109
-41
20
-59
16
42
-53
-5
-42
14
8
9
8
-59
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
35
113
-110
-32
-22
26
26
8
39
40
-25
19
17
6
-10
36
4
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-24
19
7
-28
-5
8
58
-24
62
47
73
-88
-19
33
1
13
-8
34
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
25
32
28
30
-35
0
17
32
50
-52
60
30
69
-38
46
25
25
-63
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-17
-38
-3
-19
-91
-45
-38
-25
-7
-21
-67
-7
-6
-78
-119
-119
17
-30
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
44
19
-14
33
8
-17
60
3
5
-25
-5
10
-72
4
-15
-37
82
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-8
87
-33
21
3
-107
44
-24
-5
43
2
1
4
-8
15
1
21
25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
34
-69
-59
15
-2
74
-14
35
-21
-36
-55
12
69
18
14
30
-22
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
28
16
-64
41
85
-11
53
35
-61
1
-6
-22
-14
34
-3
-46
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-51
19
26
-51
-2
-33
0
57
7
12
32
-46
-49
-18
-14
6
30
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-37
7
14
-17
18
-20
47
30
7
44
-47
44
-15
-1
74
-2
32
64
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
11
-6
-104
-14
-7
-18
33
2
-16
-16
-17
-39
41
-42
-46
-52
123
-90
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-104
5
32
-34
14
64
-28
38
-17
-15
-69
-2
7
-25
5
-106
-8
-8
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
16
22
1
-6
25
41
29
-10
33
12
-8
2
-1
-18
44
7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
63
-10
17
17
23
59
5
-13
-2
37
20
57
9
1
13
9
-82
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-16
2
-9
-50
3
-14
-13
3
-16
-69
35
5
-6
-19
45
-61
-13
33
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-12
14
-35
21
-15
48
-82
-6
-73
-4
28
6
-19
-72
51
-8
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-51
72
13
4
-93
0
32
16
-65
30
89
-67
-71
24
0
58
15
23
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
32
24
20
-25
-33
41
-31
33
88
-19
-14
-24
16
-34
-11
-14
-43
62
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-37
54
-89
-107
-1
-4
-50
71
6
-55
29
46
-22
12
14
46
12
-13
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-13
-7
18
11
45
-35
8
35
-3
50
30
67
57
-53
5
35
-5
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-42
94
-45
17
-10
-32
-15
-74
-32
53
-8
33
0
-76
82
-93
-32
-12
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-13
37
59
76
-34
41
-31
34
10
71
-18
105
-5
1
14
73
-6
62
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-23
4
39
-26
-19
21
21
52
50
129
-58
-23
-62
9
-14
2
13
-51
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-8
35
-62
-44
-3
59
29
-7
-20
34
27
-92
3
0
-17
-13
-13
27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
65
73
-3
24
-10
-33
-22
23
13
21
-22
-23
10
49
-50
29
68
-2
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
15
41
-16
35
43
15
-24
1
27
46
24
10
-32
-18
-38
-4
31
-5
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
32
109
51
5
-5
-38
90
27
-19
41
22
30
26
-36
-100
97
14
48
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-21
-115
-41
53
77
-101
86
45
-1
-7
75
34
1
0
8
-17
6
-15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
116
30
57
-63
6
42
65
-34
-56
14
44
15
-34
-20
0
-78
85
43
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
23
45
51
-13
-20
33
44
19
-29
-33
10
-25
20
-25
22
-14
69
14
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-84
14
73
-52
-33
28
-30
15
111
-14
-24
29
5
-9
10
21
108
-2
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
13
104
-28
4
36
61
-23
-70
19
88
-120
-8
82
23
-6
19
43
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-34
-22
4
51
-36
-5
1
60
-62
12
21
80
-63
50
36
14
-16
57
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-80
3
42
28
-40
-8
-5
95
-99
33
24
29
23
-42
72
100
-14
-7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
31
-27
-11
32
-14
14
-21
14
-6
-16
-83
25
64
-4
1
31
18
3
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
163
9
-27
-10
-53
12
-48
-55
4
35
9
-9
38
33
-49
-9
77
25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-15
-5
30
22
-37
-33
-36
-32
15
13
-44
10
16
19
22
18
25
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-115
13
-26
-27
30
5
32
-5
3
18
61
38
-90
61
8
67
12
21
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-13
108
-3
-11
-15
84
-37
-8
20
2
-51
101
-2
-7
1
30
16
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-8
14
-11
16
-33
53
-23
33
2
62
31
-23
3
7
19
15
25
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
39
2
-4
-28
13
44
23
14
41
-45
87
-3
-56
85
-9
-20
33
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-28
61
-7
15
-46
43
-31
37
10
29
-13
4
-49
54
-46
5
26
47
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
11
2
43
15
-1
32
-15
17
-33
16
35
13
-2
1
0
-22
-40
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
11
35
49
-10
33
44
16
-45
2
-53
-48
92
7
-4
-65
19
-5
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
7
-12
36
20
21
65
-57
43
23
-11
-27
71
-16
-17
-4
11
9
43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
14
7
21
-47
20
-39
-34
2
-10
-5
37
5
74
1
-46
-26
35
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
24
14
14
33
2
18
64
-3
14
24
53
19
-59
-6
-29
-25
-16
50
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
15
42
-9
46
-2
-32
11
53
54
17
-64
97
23
36
7
53
-3
11
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
12
54
1
92
-7
0
-97
34
-114
39
-67
-8
37
-46
-25
-32
16
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
18
57
51
-20
82
13
14
87
31
-28
104
-52
109
60
37
-19
100
50
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
120
-66
-17
4
22
24
3
6
-13
16
-46
22
-43
3
54
21
14
-77
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
69
-32
14
-71
9
7
7
71
19
89
76
2
-4
5
138
100
12
5
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
11
39
-30
16
-55
9
13
-19
-44
-19
48
79
-12
43
14
21
14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
5
28
-11
80
-18
32
43
-20
10
48
-35
14
48
46
-81
-58
-34
35
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
34
-68
-4
23
4
-53
-36
14
-44
-21
67
-18
56
-19
2
23
-14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
58
-38
68
2
53
-5
63
-28
5
79
-6
-5
-26
-9
53
-23
24
23
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
1
-1
58
12
49
16
48
15
-10
50
7
13
37
-21
-5
51
6
55
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-10
90
27
62
89
-7
-3
6
4
-67
7
2
-19
-25
14
45
-23
31
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
46
42
39
55
0
-37
12
22
6
1
9
41
9
-32
5
-19
10
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
66
-18
7
-32
-4
58
11
47
29
8
-5
1
-14
23
-33
30
-8
53
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
-2
53
57
35
14
24
-62
7
14
-5
-19
9
33
44
18
16
-6
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
28
-42
9
25
-45
50
34
20
55
18
53
79
-39
80
27
99
-13
4
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
29
34
26
-11
0
23
4
58
-33
23
-51
-7
23
14
-1
9
15
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
62
7
40
33
68
50
-53
-15
-11
23
19
72
-19
-16
77
-3
-1
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-97
18
-28
-5
29
23
-45
-15
11
-27
-27
38
54
22
-5
18
42
-19
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
14
30
36
-14
55
160
28
22
-51
-50
32
51
-10
-36
-9
-60
41
79
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-46
81
54
-25
-24
27
-9
56
4
0
-14
57
-6
3
5
44
-1
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
47
20
14
17
-36
61
5
48
-3
-13
-51
73
-17
25
35
51
50
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
60
-92
95
-25
0
-9
60
22
8
-14
14
58
61
-4
10
1
25
5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
66
6
100
48
29
44
36
10
75
19
14
-1
14
2
-73
5
32
2
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
43
32
-10
-14
0
11
14
19
-1
-28
-11
-34
3
16
-3
-9
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
41
-6
113
17
-13
57
25
5
-3
66
-29
-28
-20
5
-34
51
24
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
-35
-44
110
-15
-2
80
6
26
8
-29
40
-53
29
0
8
9
55
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
7
8
66
53
27
91
23
-60
74
26
-35
-9
19
65
35
63
0
-44
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
6
20
-6
0
6
-16
14
1
0
-9
-5
-39
3
3
7
13
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
89
57
-21
-3
29
8
-32
-13
3
-30
57
-71
-2
18
15
48
-5
-99
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
51
8
-39
-2
5
-19
33
-22
-23
19
-39
33
0
5
-41
20
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
43
-83
51
21
8
-1
-34
49
-19
11
-18
58
15
18
-25
46
5
37
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-6
27
54
-5
-10
-32
47
59
53
49
24
21
-32
-2
24
-61
32
17
72
52
3
-44
35
-20
43
128
31
-7
16
14
-2
-23
-39
-67
56
81
-35
86
-4
-53
25
2
-1
11
-49
-12
24
54
-36
-5
41
-45
-8
-26
51
-43
41
-69
-53
24
-25
-64
-86
17
-25
-32
-81
-72
-22
22
-90
-20
-155
19
-33
-77
-3
-16
-76
-33
25
55
3
96
26
-34
4
67
0
-72
85
-30
-34
101
4
-44
13
32
-43
-107
67
64
-23
2
9
-71
-27
44
8
52
-46
-33
-26
34
-95
53
-33
56
-16
77
-61
-33
31
6
10
56
47
-23
-2
36
-48
91
14
-46
-36
9
58
62
32
-34
-99
50
37
-54
28
14
-54
73
-46
0
43
-21
-43
-33
6
14
7
-30
-9
-27
-10
55
58
83
-6
-30
10
30
-14
58
-29
42
30
90
43
5
-25
40
50
8
6
11
31
-15
60
-6
30
-26
77
68
-23
14
0
5
46
1
51
-30
33
-99
7
12
-101
3
-63
19
83
-2
-70
67
-38
-18
72
-9
40
133
-40
-44
52
19
-86
-53
-36
-68
8
-37
-1
15
-118
-66
-95
33
31
46
-15
16
33
-90
47
-26
47
18
96
-128
85
5
-30
63
-47
20
-1
-18
10
-4
24
-27
-2
47
-47
51
-15
-50
-56
-36
-46
25
22
43
-24
-4
-14
72
-14
8
53
-101
33
-48
-1
-12
21
-26
-41
33
113
8
-54
-27
73
71
20
2
17
30
-6
71
-30
11
-5
1
-55
-20
-66
-43
-57
0
15
23
-4
-23
-2
8
-14
1
9
45
-33
-2
-1
-13
-20
-3
29
45
-63
-16
52
-9
10
14
69
70
44
-5
71
-26
10
56
13
-11
53
39
4
11
16
-22
2
-20
11
-27
-5
-16
57
60
-6
51
58
115
-9
63
-13
-42
-37
16
21
-19
-76
86
-52
-98
-7
-8
-32
-74
48
8
-3
17
-51
-26
-40
59
-139
96
-44
64
43
-52
49
23
18
-116
-106
39
-10
22
-9
14
0
-72
52
-12
30
-5
-41
78
-11
81
-32
108
84
-45
-44
-5
79
30
-1
21
-16
-62
80
38
73
8
-48
-1
0
59
4
46
93
-61
-87
4
-15
27
8
14
2
-1
48
-8
5
9
-7
14
35
-9
-36
-23
-37
19
-24
31
-9
-17
18
18
-4
-9
37
39
51
9
-66
-23
18
-30
25
108
-124
-19
9
-3
-8
-16
-2
0
0
25
40
14
49
-13
-45
17
-26
35
-17
5
-8
24
-40
1
-75
-38
57
85
55
58
11
25
11
-6
-48
-10
31
101
17
29
-66
54
-34
23
6
-4
62
50
33
-5
60
-39
-76
17
54
53
12
38
-22
30
42
-7
-34
3
31
-28
8
-13
34
-36
0
-28
23
5
-7
-18
18
14
-3
89
-26
-83
-15
-18
-4
-87
-23
90
-52
-2
-114
24
66
16
82
18
-5
52
-26
-110
76
5
109
7
73
29
86
2
4
18
-105
-5
31
25
29
33
0
-36
19
7
26
76
-1
2
-37
7
14
0
2
-49
-54
19
16
-10
56
15
-4
26
-13
-5
19
1
-18
-9
74
-19
24
-44
53
-9
34
26
-45
2
35
41
-51
5
20
-5
-25
4
8
14
-7
14
0
8
1
-4
-40
-24
1
24
14
-22
-10
-7
51
-21
-4
-5
21
38
5
-83
-57
-66
110
-11
20
31
-16
3
-23
63
29
3
40
28
42
25
5
-8
61
-15
-41
63
30
-5
-24
-46
11
53
18
2
-61
28
-34
1
1
-3
-5
-10
15
26
4
-36
31
5
62
-63
-53
-80
34
-6
-53
3
-4
5
-42
-11
17
-50
18
-22
28
-30
31
-16
-5
-25
99
77
-1
-91
4
25
26
-18
-11
35
-18
23
6
12
-10
57
4
32
45
32
12
-6
-7
-71
15
-66
29
50
62
37
-89
-16
-11
9
-33
6
0
69
-9
8
14
-57
-14
23
-4
52
9
32
-26
-30
-31
-9
-22
-24
30
-44
27
-47
48
21
-86
-16
-56
-14
21
-17
2
-9
97
12
4
25
13
13
0
0
0
-34
-9
32
9
9
31
-54
33
21
-54
-33
-17
36
15
58
65
73
53
70
-63
91
-33
20
15
-5
9
52
100
2
37
100
26
-7
113
7
59
16
75
144
-16
-54
3
15
42
-25
65
44
-45
-76
-91
71
-39
-5
60
47
99
14
-78
-97
-28
-26
-22
22
40
-3
11
-78
51
59
29
-4
68
-23
-64
-42
-43
21
79
63
-13
37
-57
5
40
22
32
-14
-23
-11
-8
19
-10
0
18
1
71
-6
57
-39
-24
-14
-2
-6
25
5
-15
30
-34
-57
-5
15
-10
18
31
2
-2
-1
1
-19
-1
4
24
-5
-24
-1
6
25
-74
2
9
35
-19
-47
32
-34
-29
41
5
17
-8
71
53
-26
-31
-11
3
-43
26
-13
11
-2
-1
-46
0
-2
2
8
2
0
0
70
53
-48
-12
-33
-3
-3
1
69
23
22
65
-6
-14
83
27
32
43
6
-71
-43
-28
42
8
78
-49
-20
32
42
28
-23
84
9
20
80
36
14
60
-8
65
43
-58
-17
-33
-57
-62
-52
6
-16
61
-10
-32
90
-21
-3
-21
-57
26
25
-45
-5
29
-100
-69
-76
10
-112
4
-23
70
-63
-26
-30
-29
-4
2
-42
-48
21
5
-3
-17
42
-14
-17
33
11
-5
3
9
80
32
46
-1
-33
-5
-6
20
4
2
-1
-1
16
-8
-5
5
-27
33
-18
5
-4
11
52
48
6
1
51
-6
-17
0
-3
11
3
3
14
-32
4
51
-22
1
43
22
35
-36
10
-6
50
-14
6
1
3
2
11
17
-18
16
-13
-22
-2
-8
-1
-8
8
-10
3
-2
1
-2
-3
-6
13
27
-40
-27
15
46
-8
17
-52
-77
21
5
24
83
8
48
-26
45
13
49
4
61
47
43
38
45
1
71
34
28
-49
64
75
-1
30
-65
20
1
-26
42
-26
-31
42
-83
23
-60
13
-23
72
40
24
-16
70
63
-18
-56
5
33
31
8
26
-11
3
0
-31
-24
-69
57
-31
55
13
-46
-18
35
45
5
52
6
15
-5
-15
-11
-5
33
-29
65
-14
8
-33
-11
-8
-8
109
12
-4
18
18
54
-39
-10
-8
4
14
-13
0
27
-8
4
41
0
-5
54
-51
-2
2
33
32
3
6
-2
-7
14
-33
14
-3
18
49
-32
-5
3
5
-14
-8
-2
-5
-45
85
-6
0
7
-2
-1
-41
15
2
5
-7
2
0
2
-2
-1
-5
-2
-1
1
-5
9
5
8
7
34
-23
25
41
57
22
6
-2
85
25
-12
-10
-37
-37
53
-2
1
-82
-3
-26
-13
-30
-44
-34
-53
-29
-23
34
7
-39
23
55
11
-52
16
-62
-28
40
-14
-24
-6
-9
27
14
-65
3
-24
-23
-3
-47
20
-7
-81
-29
-7
-31
41
11
18
-3
30
-14
-45
-9
-53
-34
59
7
-11
-9
-58
19
45
-86
20
-90
-6
10
-64
29
-42
34
-33
-4
74
-4
53
-65
2
91
30
-50
-56
20
5
31
29
-48
-1
-15
46
50
-80
14
-49
33
-18
28
9
-29
10
-64
-20
-2
-4
33
-23
-47
-1
23
3
-1
60
9
94
47
4
-33
-14
45
112
-23
-16
-6
43
46
-31
-21
-5
5
95
-51
40
-16
-6
14
-53
-28
11
9
72
-43
16
14
-20
7
0
2
0
35
-5
-11
-70
73
60
13
-10
-22
-75
31
-19
96
-17
26
-26
4
7
71
14
46
54
-92
33
-6
-22
25
17
9
-33
38
-1
31
-15
-47
0
-38
-15
-1
10
28
-13
-22
90
-91
-3
11
23
-83
5
-19
27
-65
-15
39
-3
-75
73
63
-23
-7
-62
50
56
32
-33
-47
-37
39
36
27
13
-23
-31
-49
-9
-53
-7
-129
50
8
-9
55
-63
8
-67
35
9
-13
-5
91
-33
-93
-8
3
-15
11
15
-17
2
51
53
-44
5
-5
11
-28
-1
27
1
5
30
18
2
-2
14
-3
13
-3
-1
-10
62
12
-4
-19
46
23
9
26
-1
-18
72
-3
37
-8
11
63
-20
-7
2
34
61
29
-10
4
15
-17
17
-5
-5
-9
-3
0
17
0
-3
-1
-14
24
0
51
-2
-61
-26
22
-44
-58
57
15
-5
36
17
34
-18
7
29
24
62
-37
-20
11
94
-22
9
-63
-51
-52
33
-44
104
62
-67
35
-22
-7
76
-101
-46
-21
-30
-26
-18
-25
-67
-62
96
-8
0
-5
3
55
-79
-31
60
-34
54
75
-77
-42
8
-97
5
70
0
48
-6
-37
44
40
-1
-21
-9
-57
-34
7
-27
-78
-25
64
28
113
24
-49
-64
-4
36
-81
-47
-1
-1
-23
10
-18
1
9
-36
66
-26
17
-3
20
43
49
-23
-5
34
5
14
7
5
-21
42
-6
2
1
28
23
0
-4
0
-6
15
-27
-32
2
-8
71
50
-10
6
20
-53
60
14
-10
14
-15
5
14
10
62
-32
43
-2
-6
-3
56
-15
-8
2
19
-16
1
-43
2
-4
4
-25
-11
0
-9
-52
-11
-6
7
-75
42
3
-15
46
34
-147
96
91
48
-8
50
16
27
-3
-33
-70
-8
-44
-33
16
-5
-60
109
75
-45
30
36
94
-13
-34
71
11
30
6
36
-81
9
-15
-68
-7
-19
-39
-95
-27
16
56
-102
-29
7
75
14
21
14
-60
-12
23
23
21
-10
-2
-69
-25
43
-51
7
25
16
-13
7
-8
-16
-2
-29
-15
-49
-28
-29
-15
-2
-2
70
-1
-1
-11
0
-11
-15
-6
-1
9
-33
27
-2
-3
-5
-57
-14
33
0
-19
55
-6
-14
1
-1
-39
45
1
-2
-23
-16
8
16
0
10
-30
22
37
0
5
9
-35
-5
6
43
-24
24
-25
-13
3
34
-30
5
6
22
8
-29
5
-1
5
37
7
29
1
0
-10
-34
4
1
0
27
1
-3
-11
-61
-35
-15
39
5
162
-20
29
-53
-106
-13
-40
27
21
-47
-55
-32
-35
18
39
-10
-2
10
51
-3
-49
-51
-25
25
63
-69
-5
72
16
19
-50
-24
-39
22
14
-60
-13
5
32
32
-61
34
67
41
28
-27
-5
-33
-38
112
70
-84
21
-14
8
11
7
14
-30
14
-79
64
-19
23
-27
-18
-25
52
29
8
-43
35
-81
18
0
16
-15
17
-14
5
35
-8
36
22
4
22
-51
-42
33
-4
10
23
27
14
0
39
-35
25
-60
-14
6
-33
31
-5
0
-8
-85
-8
-9
21
-4
5
-18
10
0
-68
12
58
21
-9
46
-17
-5
45
5
35
48
34
-21
2
21
54
-5
43
0
25
12
-14
-29
5
3
46
4
-8
-9
-1
-27
-15
19
2
0
7
-5
0
-4
-12
1
37
-128
-24
-8
11
5
-13
-90
80
23
-18
67
22
-50
7
31
49
14
-25
-57
25
16
-18
-5
-24
-4
-31
-46
35
22
4
1
-5
29
13
-49
-68
14
67
23
-35
-52
2
63
-39
-62
21
-49
-116
15
-15
8
-2
42
-52
47
-87
52
41
-16
-54
12
43
0
-68
48
-16
9
-46
40
-76
101
42
49
31
3
-71
-104
-13
-6
13
90
-2
-18
29
58
-25
-2
20
-43
-20
-10
2
-6
-32
20
-19
0
-19
43
1
-7
6
18
2
-46
0
-1
-3
12
32
14
1
-10
20
-14
-2
0
-14
-5
0
-5
-10
-53
42
7
-7
6
-14
5
0
-9
2
4
-45
24
4
-26
-1
-22
66
22
5
-3
33
2
22
0
-1
43
-1
-6
0
0
10
5
-3
0
54
17
-75
-71
-20
5
-90
-18
-57
25
-36
79
-34
41
5
5
18
33
-17
-1
72
44
17
71
-44
61
-36
-87
-29
-6
-10
17
15
-48
-91
48
53
-28
17
10
-23
13
5
-37
-73
74
6
53
-91
-89
-51
-10
-26
7
-14
3
19
-55
48
-74
-96
-15
24
81
-33
14
52
42
51
-33
14
-11
22
32
24
37
-62
119
-49
8
-26
-19
62
13
0
-15
36
-46
-82
0
-19
-1
-43
2
6
4
31
-7
-13
3
-9
-9
6
34
1
-15
-5
23
-2
0
8
-39
72
-14
44
0
-3
22
10
0
16
16
5
55
3
1
-2
-6
47
0
-13
5
59
20
23
-7
-18
5
6
-1
-4
-19
-36
37
4
0
-8
-7
15
-11
17
-16
37
-25
-21
1
2
-5
-3
1
58
96
-24
-43
-24
55
25
-74
-73
-7
-21
53
-16
39
0
44
-60
51
11
-2
-43
-23
-23
42
-6
-23
74
74
5
-27
7
9
27
-101
25
-8
8
60
2
-7
-23
6
-64
16
-75
5
-15
-44
-61
96
-6
-30
51
28
39
-31
67
-23
19
5
14
-10
8
6
-31
-103
-36
1
-45
48
31
-48
37
-31
2
19
-96
41
-23
2
-3
1
6
-17
0
7
14
31
-3
0
-5
32
27
1
0
-1
36
2
10
0
-2
24
3
8
5
5
-33
6
0
0
0
1
-14
4
0
-2
-4
9
-4
-1
5
-41
24
5
15
0
-4
-3
-2
-3
2
45
-63
-7
-3
44
-4
26
5
0
0
5
-3
3
-4
-6
2
-21
4
1
0
-2
4
4
0
0
-4
-7
-17
1
-29
-10
37
22
25
-23
-27
13
-30
-21
54
3
128
-123
73
73
89
-62
17
-33
7
20
-15
-25
6
20
-28
17
-17
-9
47
-54
40
-41
-14
15
17
-56
-45
0
25
34
30
93
46
44
-52
59
38
-5
50
65
-15
-37
0
113
-4
-16
13
32
72
-5
-41
6
11
28
22
76
-19
14
78
32
-72
37
-24
-18
46
25
11
0
48
-11
44
55
32
-20
-4
28
-9
-20
35
-17
43
47
-30
64
3
51
-28
-43
5
-14
30
-40
14
-22
53
-50
69
14
-31
-17
-5
9
-3
-20
-27
80
45
-3
-10
43
24
37
61
35
50
-31
-1
86
-27
5
-2
9
55
1
72
-62
-26
-33
60
96
12
14
64
-56
57
53
9
9
-14
51
36
17
-6
36
50
35
-39
-3
62
-41
77
37
-6
6
4
-23
-24
-18
62
43
14
34
53
53
-46
-40
65
29
-22
62
88
-14
-25
-86
82
38
-29
-32
7
-4
24
-7
10
-2
-4
-14
-41
0
-10
24
-23
119
-55
-3
-29
44
47
25
120
0
-67
49
-10
-32
3
-29
17
-1
-45
55
-16
45
57
19
-48
-58
-4
0
-37
-13
-3
5
8
9
3
4
3
0
8
-19
85
-35
-12
-109
-73
90
20
1
-46
57
3
24
3
79
64
27
10
7
107
-5
-47
-21
-3
-34
21
-7
19
-1
52
50
-57
45
7
-53
-13
22
0
0
-32
54
-6
-8
15
19
5
75
100
14
9
-31
1
23
-43
78
-4
29
29
-10
-16
0
62
-1
8
-5
48
-25
-20
-5
-36
40
39
-41
-2
1
1
-4
-31
-6
14
-91
62
29
48
42
-35
-3
48
-1
20
-40
-74
-14
6
32
-5
11
-14
10
-6
-14
-26
-56
-3
42
25
1
-6
3
-57
-39
46
66
-7
-8
-30
-4
-4
0
-6
-7
37
94
18
-24
3
40
18
0
-20
-10
100
46
-3
54
-15
9
11
-5
14
-4
21
-36
14
113
33
-8
-22
0
6
35
43
8
-6
-2
0
16
-7
0
11
-24
17
-38
42
-29
54
3
127
-53
-67
4
-9
25
-7
24
4
-2
45
6
94
-43
31
-18
-16
47
17
-10
-3
-1
-34
-42
-7
13
0
14
11
3
7
-4
52
19
-2
-6
51
-5
63
71
-43
-12
85
27
24
12
-24
5
43
53
-21
-7
68
-5
113
-15
29
21
100
47
4
25
21
-17
16
7
45
2
13
-22
6
7
40
49
-26
17
-9
30
-28
-19
-31
-8
38
-12
100
-45
1
-35
-3
-21
27
5
34
24
-15
-5
-4
35
-4
83
14
7
-10
-41
-5
9
1
-7
12
14
-14
0
-5
-16
51
-5
1
3
23
22
51
4
-5
12
-45
9
6
29
32
-35
19
-8
29
11
3
2
0
-11
49
6
-47
-44
8
0
18
13
0
-3
-15
-13
-11
0
-74
29
-64
10
-3
15
42
80
-45
-4
17
10
-43
-17
-14
-45
43
37
-17
-8
16
35
2
55
-13
-8
62
21
55
18
-10
18
0
9
2
1
20
-27
-16
0
31
-40
13
-2
15
-14
23
5
-9
-19
-62
-26
82
29
4
-89
1
62
41
45
25
-4
-39
69
2
15
32
-8
-2
22
-19
7
53
-18
15
-4
24
-18
-11
-8
0
7
3
20
80
55
75
-40
-59
32
81
-55
-12
42
-80
34
4
52
-71
4
97
-1
-37
-96
-5
19
-14
-38
31
2
-27
-13
-6
0
-1
43
-55
1
-8
0
90
-22
78
8
-61
88
-9
-2
15
-8
32
4
22
22
10
2
-47
1
57
-6
2
31
-41
-57
18
15
-10
7
-4
-8
-32
24
22
-15
-8
0
13
7
13
0
82
57
35
8
-19
-33
-16
37
23
69
79
13
15
-48
-30
-46
71
54
17
10
17
14
-29
100
32
-118
-3
53
-35
11
-4
3
-4
3
-4
5
-3
-3
33
0
27
100
102
55
-6
56
53
21
2
-17
68
77
-19
15
17
15
-80
-3
44
20
79
-30
71
108
24
113
-26
131
-20
25
2
-14
38
12
71
-5
-31
63
15
9
34
-41
-39
-92
15
29
6
-10
32
-11
-55
-29
68
23
-6
72
-45
59
-35
-2
9
-46
-8
57
4
-68
27
-75
2
-2
32
-17
15
0
6
18
-45
24
-4
-1
5
8
1
9
-13
-47
31
0
1
-4
-11
34
-3
1
4
32
-34
-1
-7
-4
27
-9
-22
-18
-5
-51
23
-13
9
0
-16
5
27
-1
0
1
4
-15
1
0
-89
22
7
82
-55
64
29
-12
11
-30
67
53
41
-1
42
-70
121
-49
40
-20
-25
-50
56
-24
5
-35
18
75
-28
-6
-1
25
62
-45
-7
5
-5
18
-3
-5
28
62
-13
-13
79
20
7
-20
64
-10
17
109
18
30
-26
-14
-21
3
9
5
-2
68
-6
-34
-7
7
16
41
-14
-6
5
6
14
1
-6
6
-3
-4
36
0
94
-36
-26
-79
-48
-131
97
47
-16
3
37
-19
16
14
8
-53
-56
0
2
0
57
31
-48
41
0
-5
48
8
-11
-1
137
-33
-34
0
0
5
8
0
8
1
-60
87
5
17
5
-5
-24
57
-1
0
-49
32
57
-15
9
-5
50
11
-3
0
-4
82
-7
-54
11
29
-6
-3
7
0
17
23
47
10
15
1
3
-2
0
0
77
-42
-42
-58
-27
-18
25
53
16
-1
-19
-55
0
72
14
-5
-16
21
53
-4
82
1
-44
4
-21
21
-7
-12
-43
0
-53
-8
62
-8
31
7
0
0
-43
0
43
75
-14
41
-48
3
0
-6
17
-30
-53
46
34
130
-24
41
2
5
1
14
-14
-28
29
88
14
-5
91
22
2
-19
-79
11
-21
-21
16
2
-25
-2
1
14
15
1
14
-17
-13
27
32
22
-17
2
-3
-24
-8
-16
0
54
47
-45
-43
0
3
4
-26
-15
0
0
-4
49
-2
1
1
24
-3
3
0
-3
-7
1
-3
0
6
56
18
4
-3
65
-17
-102
-4
0
51
-31
80
-5
-1
-4
-28
14
6
0
29
-7
-17
-1
1
-15
16
10
-2
0
-1
48
2
0
0
-2
-16
10
-1
-7
34
59
-16
-3
-11
15
-24
20
-37
0
-1
4
21
47
9
2
1
5
-4
0
10
-11
57
-41
-2
-5
1
77
16
3
1
0
-4
-4
2
0
-19
-8
0
0
19
-25
22
39
21
13
-57
-10
-3
-11
25
-53
20
19
90
-10
41
-8
20
-8
2
22
-20
4
-1
-16
-5
15
10
-4
-1
-2
60
0
-16
-2
-17
-1
7
3
-77
37
-15
87
-30
-34
74
19
-1
17
-36
17
-33
16
6
40
1
23
-6
2
40
-82
25
-69
53
49
-43
2
7
3
34
-21
-61
-16
0
-7
6
-14
6
0
43
73
33
-43
-53
39
-1
-7
8
-19
32
65
4
19
-3
-31
53
47
-15
0
25
0
24
23
0
-32
8
14
-14
2
-1
-18
5
78
-8
3
4
-13
-1
0
-28
-5
-79
163
4
-42
-14
62
54
33
-36
-1
8
17
-4
-5
-4
68
49
-2
60
21
8
28
-11
19
-49
26
-56
2
32
8
-29
58
-22
-5
10
9
-21
0
5
15
-26
14
51
-9
33
-15
16
5
15
83
3
4
58
26
-62
40
23
25
23
73
-9
54
14
26
-24
34
28
-36
4
5
-4
22
4
-19
50
56
51
-25
33
-16
6
32
-14
3
-46
48
-13
10
-2
-1
104
8
8
0
-23
-4
6
-3
-11
50
11
-50
-2
23
-10
-5
29
8
7
23
-18
-3
3
-2
-4
-8
-5
-2
-21
103
4
20
18
9
34
50
27
-10
29
-51
-22
-13
10
46
-14
21
-27
0
14
30
64
-14
3
5
-2
24
-3
5
24
-3
-2
10
0
-6
-4
-15
7
0
-5
58
-72
-108
-11
-62
117
-44
38
3
-14
0
6
29
7
8
115
5
-19
7
4
19
9
66
6
77
-85
-25
-42
1
1
25
36
-8
2
-6
4
23
2
3
-43
29
120
-21
72
55
-7
36
-12
-44
-9
24
-13
25
26
-5
0
50
-22
45
-17
51
-56
37
38
-43
-41
14
92
-29
-4
-18
15
81
22
-14
10
14
6
-9
1
-3
-34
-46
-5
57
33
-35
0
-2
7
19
1
0
-1
35
31
-9
20
0
-50
70
23
33
-8
-7
-44
19
2
0
-3
-13
-14
-21
16
4
4
0
-3
0
-3
22
0
6
2
22
30
-43
2
0
-2
1
46
-19
1
23
26
20
4
1
19
5
-12
62
-14
-35
58
22
-9
0
51
51
5
0
-7
1
-2
-26
11
9
64
-7
23
-13
8
25
-29
52
-10
-6
11
18
33
-30
-31
2
-55
-15
27
0
53
61
-20
76
-32
-2
44
-17
20
-7
-1
3
6
46
-9
-7
5
10
14
-2
-17
36
5
14
69
34
109
10
-5
23
-28
47
-27
30
23
6
-9
-38
49
29
71
86
-29
43
47
-69
-19
64
33
6
50
22
77
43
41
0
-3
-20
-3
-6
-19
-52
33
-20
0
5
23
45
-13
-3
0
5
-51
5
0
-10
-27
-36
-20
0
-3
43
10
23
-5
18
26
-1
8
1
0
-7
14
-1
0
-5
43
0
-20
0
-16
41
-18
2
2
-6
-8
7
8
0
9
3
27
-23
-3
5
3
32
-4
0
0
-5
6
-2
-1
5
4
58
6
4
-5
26
11
-1
1
8
45
-4
5
-2
-21
23
4
-31
-4
29
-43
11
34
-1
-3
-10
21
-26
11
8
-14
-2
-7
0
-7
-31
5
62
-8
1
23
-43
-52
27
1
17
64
14
2
1
-5
1
11
2
-65
14
31
24
-5
1
-50
77
19
-11
45
-37
-54
-19
-18
45
-17
14
-37
14
-25
36
23
0
-15
6
-6
55
44
3
7
-4
18
34
34
-11
54
-4
23
7
-10
-10
94
-68
-27
10
-16
-17
11
11
16
11
5
48
7
-1
14
-16
5
2
15
17
-16
-36
-10
82
-39
4
-1
4
-5
-5
64
-1
-1
6
-2
-1
0
0
-11
20
-6
22
11
14
-45
69
31
-24
-5
-4
6
48
-4
-21
43
5
3
0
12
-14
-5
30
33
-23
0
18
-23
4
1
19
-43
16
5
0
9
-6
-7
1
30
23
-30
15
9
-14
85
38
-101
-6
8
55
17
66
-46
-3
-58
8
97
0
-36
74
17
47
-16
0
35
90
15
27
7
72
-7
20
-44
3
-10
-7
14
-2
3
19
15
13
5
76
-49
27
12
28
5
69
25
74
60
16
83
16
-62
24
-56
22
11
7
42
68
53
24
33
37
-6
71
77
-35
-19
3
1
38
33
2
-5
-31
-62
-27
-6
43
46
-47
2
1
0
10
27
-4
-2
-29
44
-35
-26
-1
-1
-36
11
7
0
2
-22
16
-23
0
-1
1
-27
5
0
-3
-9
-15
1
0
-8
-40
127
59
4
-14
61
9
-23
-14
3
16
56
14
0
-6
-4
2
17
0
-1
45
24
29
-3
4
-23
25
51
1
3
0
29
-4
0
-3
25
-7
3
2
-32
43
-7
-10
14
15
-13
-35
19
25
5
78
13
-54
-5
2
-53
10
20
0
2
29
43
13
6
-3
47
10
14
10
2
-5
8
11
21
5
10
-26
6
-2
43
68
65
7
14
1
-17
82
-52
63
6
5
-33
43
-22
58
45
-50
68
-31
-11
32
81
18
-36
4
-2
54
80
-1
-8
47
-75
89
35
0
2
-10
19
13
-7
34
-2
50
-5
36
-13
6
-2
0
-10
30
32
-15
2
-4
24
-14
10
1
7
8
-11
13
4
0
-1
9
-1
1
-26
21
-24
22
-7
3
-3
1
-5
-1
-5
-34
51
13
2
-39
9
44
-13
0
4
43
2
33
-23
5
7
-10
-1
1
-13
-34
34
-5
25
-3
7
9
60
0
20
-43
32
47
1
5
-3
-9
7
-2
61
83
13
-26
-18
-6
20
-25
-29
-2
32
-69
49
-21
4
7
-22
-8
9
1
-19
-37
31
-23
49
1
25
-29
20
15
35
-27
5
50
5
0
-19
5
1
-6
-13
-18
-45
-2
28
5
-46
-1
67
-19
-33
36
-26
4
9
0
10
9
-23
-2
-16
4
21
52
10
6
53
40
-1
-7
53
-29
4
-23
-37
0
10
5
33
6
0
41
-11
-57
-3
0
14
-1
-2
0
0
0
11
1
0
-2
-15
-25
1
0
0
0
-5
-10
0
0
4
-4
0
0
0
1
-39
43
2
0
-14
6
0
0
-2
-14
-18
43
-4
5
45
8
-44
3
11
-36
5
0
1
-3
9
13
5
0
-4
-7
18
0
3
4
-10
-12
-4
0
9
14
63
14
0
4
10
3
2
0
0
33
-78
-5
-1
1
-18
-68
0
-1
5
31
16
-8
0
-1
6
9
-25
0
0
43
2
27
3
-3
65
-44
12
-1
-6
23
14
-6
9
2
13
8
39
-1
-33
-37
93
-14
-25
-5
29
25
-23
16
0
-80
46
67
-32
3
20
7
-5
7
0
54
7
13
14
14
32
4
-26
25
0
17
13
-47
14
0
0
-32
-44
15
3
35
-31
4
16
0
0
1
24
34
0
0
8
-13
-82
0
0
5
-97
27
0
0
12
6
-9
0
0
-10
82
23
0
0
4
-39
3
0
0
29
-6
-44
0
0
-14
-16
-2
0
0
-1
-33
14
0
0
3
43
1
0
0
-8
39
6
0
0
36
22
-5
0
0
-3
-24
0
0
0
-27
5
-3
0
0
14
-18
-3
0
0
90
-52
-19
0
0
8
24
-11
0
0
-10
5
-5
0
0
-25
7
0
0
0
-3
-16
4
0
0
-5
9
9
0
0
11
-1
0
0
0
-6
2
0
0
0
6
-10
-19
0
0
0
-4
-6
0
0
-1
18
0
0
0
3
0
0
0
0
-1
-1
1
0
0
5
-3
0
0
0
-14
-15
0
0
0
-1
0
0
0
-59
76
19
14
0
0
33
49
13
0
0
-2
-10
45
0
0
-19
10
-8
0
0
14
63
74
0
0
-12
-50
2
0
0
-50
3
-57
0
0
26
-35
-29
0
0
10
-51
-33
0
0
-16
-14
17
0
0
-47
14
0
0
0
-29
18
-6
0
0
-31
-1
5
0
0
-20
8
0
0
0
-8
-14
3
0
0
11
2
-17
0
0
-7
45
-4
0
0
-2
-23
2
0
0
-2
8
1
0
0
-1
-5
-1
0
0
-8
-4
0
0
0
0
-31
1
0
0
0
-2
-1
0
0
0
1
0
0
0
-13
10
-1
0
0
0
0
0
0
0
-3
0
0
0
0
1
-8
0
0
0
11
-1
0
0
0
1
0
0
0
0
-2
1
0
0
0
-2
-2
0
0
50
-21
-15
-12
0
0
-25
-43
-6
0
0
-30
26
35
0
0
54
24
0
0
0
-6
12
4
0
0
4
-33
14
0
0
-38
5
24
0
0
22
-5
5
0
0
9
1
-34
0
0
33
1
-9
0
0
45
4
19
0
0
34
-23
-3
0
0
28
-7
2
0
0
-29
2
0
0
0
-10
17
4
0
0
-13
27
-14
0
0
-10
15
-20
0
0
1
-5
-4
0
0
-7
8
3
0
0
1
7
0
0
0
-17
7
0
0
0
0
-5
2
0
0
2
-6
-2
0
0
3
15
0
0
0
-8
9
-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
32
42
-46
-19
0
0
29
9
-5
0
0
-16
17
4
0
0
-26
52
29
0
0
114
15
-6
0
0
7
34
-5
0
0
-9
-19
14
0
0
6
-4
-3
0
0
-6
-28
-2
0
0
-11
-14
-7
0
0
-26
-1
2
0
0
-31
7
0
0
0
36
0
0
0
0
14
-4
0
0
0
2
2
0
0
0
7
6
-2
0
0
-3
-1
1
0
0
0
24
14
0
0
2
0
0
0
0
6
8
0
0
0
-5
5
-1
0
0
0
-11
0
0
0
-9
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
24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-44
-5
-2
-47
0
0
-43
-82
-23
0
0
15
-21
5
0
0
-25
-43
11
0
0
6
18
60
0
0
7
-4
-53
0
0
-59
86
19
0
0
-74
-19
13
0
0
16
51
-14
0
0
-41
-31
14
0
0
8
-26
25
0
0
5
6
-1
0
0
-6
-35
-11
0
0
22
-6
0
0
0
-14
-3
14
0
0
2
-6
41
0
0
43
1
-31
0
0
-6
-2
-2
0
0
2
9
0
0
0
0
3
0
0
0
-5
-9
-8
0
0
0
7
-2
0
0
2
9
-3
0
0
0
1
0
0
0
4
8
-9
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
-70
47
50
-19
0
0
-23
1
-24
0
0
33
-12
5
0
0
15
30
14
0
0
-25
-23
-42
0
0
-56
20
-27
0
0
32
-13
10
0
0
-14
3
1
0
0
5
9
-17
0
0
-36
-35
-25
0
0
11
4
-1
0
0
-8
-8
18
0
0
1
-11
9
0
0
23
16
1
0
0
32
-10
14
0
0
-1
-4
0
0
0
-9
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
-14
-22
-55
-13
0
0
30
-28
14
0
0
7
-62
-5
0
0
44
57
-1
0
0
-20
67
10
0
0
-57
31
-11
0
0
0
-2
-37
0
0
53
67
35
0
0
-1
3
0
0
0
6
5
1
0
0
29
-3
2
0
0
-10
-11
-2
0
0
0
15
-4
0
0
-10
0
1
0
0
-26
29
-5
0
0
9
-9
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
15
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
44
-76
17
23
0
0
29
23
13
0
0
45
-52
-1
0
0
-24
15
-7
0
0
-65
27
-35
0
0
-1
47
26
0
0
19
43
-6
0
0
33
-16
33
0
0
20
-5
4
0
0
-1
8
-1
0
0
2
8
1
0
0
-9
5
-1
0
0
5
2
1
0
0
8
0
0
0
0
0
-34
-18
0
0
0
8
-7
0
0
33
-18
0
0
0
0
2
0
0
0
0
0
0
0
0
4
11
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
-2
3
0
0
0
-11
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
-9
27
-53
-16
0
0
27
13
16
0
0
-47
45
2
0
0
-4
6
-4
0
0
28
-54
-18
0
0
8
3
15
0
0
-23
-25
-5
0
0
-13
16
-13
0
0
-25
-14
26
0
0
-7
-1
-23
0
0
11
-32
18
0
0
-8
4
0
0
0
-18
-4
-33
0
0
0
7
7
0
0
-7
-35
0
0
0
2
8
-8
0
0
5
-12
4
0
0
0
0
-9
0
0
3
-4
1
0
0
-3
10
0
0
0
20
-14
10
0
0
-7
-1
-3
0
0
-5
4
0
0
0
1
0
0
0
0
11
4
-6
0
0
-1
3
1
0
0
3
-4
-4
0
0
0
17
0
0
0
0
3
-1
0
0
0
1
0
0
0
0
2
-1
0
0
3
-2
0
0
-58
14
5
14
0
0
-7
2
-36
0
0
-21
-21
-4
0
0
-35
17
1
0
0
26
-14
-17
0
0
-11
-6
-8
0
0
-7
35
-10
0
0
-19
3
-17
0
0
-1
-2
-25
0
0
-4
9
8
0
0
-2
2
-15
0
0
-5
15
3
0
0
32
16
-9
0
0
18
-8
3
0
0
11
-13
5
0
0
21
21
13
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
-3
-32
-33
6
0
0
-5
-3
13
0
0
11
11
2
0
0
-6
0
1
0
0
3
-14
21
0
0
1
-48
-8
0
0
48
-3
9
0
0
-8
-14
0
0
0
1
-4
-10
0
0
-4
-14
10
0
0
-4
13
1
0
0
-26
-1
1
0
0
0
-45
3
0
0
31
1
-2
0
0
17
14
-8
0
0
15
4
-23
0
0
-9
-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
-17
0
0
0
-11
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
26
-7
14
1
0
0
5
-8
2
0
0
8
-3
-4
0
0
7
-6
-3
0
0
-25
31
17
0
0
9
19
3
0
0
-14
-2
0
0
0
-25
-8
-2
0
0
-8
-7
-14
0
0
24
-4
0
0
0
26
6
1
0
0
-21
1
1
0
0
33
-3
-2
0
0
0
-6
-14
0
0
5
-9
-2
0
0
-14
-9
-5
0
0
-7
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
14
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
22
33
-25
-9
0
0
0
-6
-34
0
0
-17
27
-8
0
0
-13
-25
3
0
0
-4
14
-3
0
0
4
-14
-6
0
0
-28
14
-1
0
0
3
-9
3
0
0
-14
-15
-6
0
0
-5
27
-48
0
0
22
4
7
0
0
4
26
4
0
0
-16
54
13
0
0
8
-6
20
0
0
44
3
60
0
0
-23
-14
-1
0
0
-21
5
-9
0
0
0
0
0
0
0
4
-3
-2
0
0
1
-9
0
0
0
0
0
-3
0
0
0
2
0
0
0
-2
-5
0
0
0
1
3
0
0
0
0
16
-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
13
-5
0
0
0
0
0
-1
0
57
19
-14
-16
0
0
-73
-6
8
0
0
-4
4
8
0
0
-2
-8
3
0
0
-8
-15
-5
0
0
-59
35
17
0
0
83
-10
1
0
0
-14
-24
0
0
0
-7
-17
3
0
0
-27
-7
-8
0
0
13
-7
20
0
0
-2
21
-2
0
0
36
-4
-2
0
0
17
1
17
0
0
-6
-4
-4
0
0
46
23
-5
0
0
9
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
58
3
-5
14
0
0
25
-27
-3
0
0
25
8
2
0
0
11
5
0
0
0
-4
4
-15
0
0
35
33
-2
0
0
-24
1
-1
0
0
-2
-5
-1
0
0
-24
-20
6
0
0
-18
-10
-15
0
0
-5
25
-2
0
0
23
4
10
0
0
0
36
-32
0
0
1
19
-8
0
0
-34
29
45
0
0
-30
-39
-11
0
0
-9
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
9
-11
-17
-2
0
0
-15
10
1
0
0
0
-1
-5
0
0
-1
15
-10
0
0
30
-5
0
0
0
19
-1
0
0
0
25
-13
0
0
0
53
-6
-1
0
0
-15
-1
1
0
0
4
0
0
0
0
-15
5
2
0
0
19
25
0
0
0
-7
-15
-11
0
0
-1
3
-3
0
0
-21
-37
6
0
0
-6
25
-6
0
0
-9
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
10
0
0
11
-48
-13
16
0
0
-1
6
-9
0
0
-1
-21
4
0
0
-2
-5
5
0
0
37
-5
-3
0
0
7
-46
10
0
0
-9
9
9
0
0
18
-26
1
0
0
17
35
7
0
0
-4
3
1
0
0
-1
-3
2
0
0
0
0
0
0
0
-17
-2
-1
0
0
-5
1
0
0
0
-1
-8
1
0
0
3
0
0
0
0
-10
18
33
0
0
13
13
-9
0
0
1
-3
-14
0
0
0
-5
1
0
0
-20
-5
-45
0
0
-7
1
-2
0
0
-5
-18
1
0
0
-2
1
0
0
0
24
-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
-23
-1
0
0
-5
-4
-2
0
0
2
3
0
0
-40
4
45
34
0
0
-6
1
-8
0
0
4
5
-1
0
0
31
1
-3
0
0
-36
14
5
0
0
-6
11
6
0
0
-7
10
0
0
0
1
-4
0
0
0
-3
-3
2
0
0
2
1
0
0
0
-1
-4
0
0
0
-11
-4
0
0
0
32
-3
0
0
0
0
-3
-1
0
0
0
4
0
0
0
0
1
-1
0
0
37
35
2
0
0
2
15
6
0
0
2
-6
-3
0
0
-11
-10
0
0
0
0
11
-5
0
0
-2
-16
8
0
0
0
-8
0
0
0
-1
1
0
0
0
-9
-18
-1
0
0
1
-2
0
0
0
-2
18
0
0
0
0
-2
0
0
0
-14
2
-7
0
0
0
-11
-1
0
0
0
-5
0
0
0
-1
-8
0
0
-20
-2
3
3
0
0
6
-16
-5
0
0
4
-16
-6
0
0
-13
3
8
0
0
-30
-6
14
0
0
15
-17
-5
0
0
0
-7
0
0
0
-1
-14
2
0
0
-22
-6
-9
0
0
0
1
0
0
0
1
3
0
0
0
9
-7
0
0
0
-5
-1
0
0
0
0
1
0
0
0
1
-4
-2
0
0
0
2
0
0
0
3
5
-10
0
0
0
-2
-1
0
0
4
-7
4
0
0
0
-2
1
0
0
-21
6
20
0
0
9
14
-11
0
0
-13
5
-3
0
0
0
-1
0
0
0
1
3
3
0
0
0
5
0
0
0
5
-8
-17
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
44
1
-5
-2
0
0
-8
6
6
0
0
0
19
3
0
0
-16
-4
-2
0
0
24
-3
-3
0
0
-4
14
-2
0
0
2
0
1
0
0
0
-3
-1
0
0
2
-6
0
0
0
6
2
0
0
0
0
0
0
0
0
11
-3
0
0
0
-2
0
0
0
0
8
-8
-2
0
0
2
0
0
0
0
1
-20
1
0
0
-16
-1
-1
0
0
0
0
3
0
0
-2
1
0
0
0
0
-4
0
0
0
-10
2
-1
0
0
15
-11
4
0
0
4
-1
1
0
0
2
0
0
0
0
-9
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
-52
-31
9
-48
0
0
-7
-5
-1
0
0
0
6
-11
0
0
0
2
2
0
0
-17
-8
7
0
0
3
7
-5
0
0
5
6
2
0
0
-4
-3
0
0
0
-5
22
20
0
0
9
-13
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
39
-6
2
0
0
0
-4
-3
0
0
4
0
-5
0
0
-1
-3
0
0
0
-43
-10
9
0
0
-5
19
-13
0
0
5
-19
1
0
0
1
0
1
0
0
14
-1
8
0
0
-2
9
-3
0
0
1
-1
0
0
0
0
-5
1
0
0
-15
7
1
0
0
2
-9
4
0
0
5
-1
0
0
0
-3
0
0
0
4
-23
5
-2
0
0
-1
4
-9
0
0
0
2
0
0
0
-4
-2
-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
9
0
0
0
0
-4
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
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
12
-6
11
-2
0
0
0
-1
0
0
0
0
-14
1
0
0
-3
1
-1
0
0
-22
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
10
-5
2
0
0
1
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
-14
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
6
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
15
0
0
0
-14
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
-10
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
-3
19
-16
-6
0
0
6
7
-1
0
0
-7
15
-6
0
0
0
-1
-2
0
0
-25
14
4
0
0
0
3
2
0
0
-2
8
0
0
0
0
1
0
0
0
29
43
-9
0
0
-4
22
0
0
0
-1
-5
1
0
0
1
-7
0
0
0
33
11
1
0
0
18
-14
2
0
0
-7
-20
0
0
0
0
6
0
0
0
24
-41
4
0
0
-2
5
0
0
0
-6
2
2
0
0
6
-2
1
0
0
-14
-25
-3
0
0
0
13
-1
0
0
-4
-9
1
0
0
0
-2
0
0
0
19
17
11
0
0
-6
-22
5
0
0
7
46
-9
0
0
2
1
4
0
0
1
-25
-14
0
0
-15
-9
7
0
0
8
-4
21
0
0
7
-1
-3
0
23
-18
10
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
11
0
0
0
-5
-5
0
0
0
31
-10
0
0
0
-1
-5
0
0
0
10
-4
0
0
0
8
0
0
0
0
33
-1
0
0
0
0
4
0
0
0
-31
3
0
0
0
-3
-1
0
0
0
-3
-4
2
0
0
9
5
-2
0
0
15
14
-1
0
0
6
-4
2
0
0
0
0
0
0
0
-1
1
0
0
0
10
17
0
0
0
5
-2
3
0
0
0
-7
13
0
0
8
-20
1
0
0
4
2
-16
0
0
-11
3
1
0
0
-1
11
-2
0
0
1
14
0
0
-65
-8
8
-2
0
0
-1
0
0
0
0
-4
2
0
0
0
5
-2
0
0
0
-8
10
3
0
0
-1
6
-1
0
0
4
1
-1
0
0
0
-6
0
0
0
-16
-3
-4
0
0
13
0
0
0
0
-2
-10
-3
0
0
9
4
-2
0
0
15
-4
0
0
0
3
3
0
0
0
2
15
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
-24
1
0
0
0
1
1
0
0
0
-15
7
0
0
0
-11
-2
0
0
5
-1
5
0
0
25
11
0
0
0
-5
17
-6
0
0
-1
5
4
0
0
-2
0
29
0
0
16
-13
0
0
33
-5
-6
-3
0
0
-2
0
1
0
0
0
0
0
0
0
-1
-11
-1
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
1
1
0
0
0
16
1
1
0
0
6
0
0
0
0
-21
6
0
0
0
-1
5
0
0
0
-29
0
0
0
0
-15
0
0
0
0
18
0
0
0
0
-1
-10
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
-9
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
9
-2
0
0
-1
-5
1
0
0
3
10
0
0
-31
9
-9
-11
0
0
-4
2
0
0
0
1
14
0
0
0
1
-2
0
0
0
17
3
-4
0
0
0
-9
0
0
0
0
-1
0
0
0
0
2
0
0
0
-3
5
3
0
0
-2
0
1
0
0
-10
-2
0
0
0
1
5
0
0
0
7
21
3
0
0
-2
-17
0
0
0
25
5
0
0
0
1
26
0
0
0
7
-3
-9
0
0
0
9
0
0
0
0
-9
6
0
0
0
7
0
0
0
6
-13
4
0
0
1
-3
-3
0
0
-4
8
0
0
0
1
-5
0
0
0
5
13
11
0
0
0
-7
-3
0
0
1
-21
2
0
0
0
-6
2
0
0
17
45
9
0
0
-9
13
-2
0
0
-21
11
5
0
0
-11
0
-4
0
-17
-10
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
24
3
0
0
0
5
-2
0
0
0
-21
0
0
0
0
-3
27
0
0
0
1
-7
0
0
0
-21
-7
0
0
0
23
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
-10
4
0
0
0
1
-1
0
0
0
24
1
0
0
0
0
-2
0
0
0
-5
0
3
0
0
0
-17
-3
0
0
-2
-1
0
0
0
-2
11
0
0
0
2
-2
7
0
0
2
5
0
0
0
-2
-8
0
0
0
-13
11
0
0
6
-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
-14
0
0
0
0
-5
0
0
0
-5
3
0
0
0
5
-11
0
0
0
-13
-1
0
0
0
1
0
0
0
0
18
11
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
21
-5
17
0
0
0
13
2
0
0
0
7
1
0
0
-6
5
-1
0
0
16
-23
8
0
0
-2
21
6
0
0
6
36
6
0
0
-5
4
1
0
60
25
-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
20
2
0
0
0
21
-4
0
0
0
4
-4
0
0
0
4
-3
0
0
0
-3
7
0
0
0
-16
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
-17
0
0
0
0
0
8
0
0
0
-1
-1
-1
0
0
-2
-4
0
0
0
-7
-3
1
0
0
-9
3
0
0
0
4
5
1
0
0
0
-3
0
0
0
0
-8
2
0
0
9
-10
0
-19
-10
5
-6
-33
0
27
32
12
-16
0
35
-6
-5
6
0
12
7
22
31
0
-8
-28
34
-18
0
-36
43
-1
-58
0
-9
-34
-27
7
0
-23
36
49
42
0
28
-16
16
-16
0
-15
-59
4
-9
0
-17
-24
-19
-31
0
-19
-14
24
-3
0
3
14
49
-14
0
9
8
-17
-20
0
40
38
-21
-19
0
-5
-3
0
-2
0
16
-25
-3
-6
0
4
2
50
-26
0
-43
-18
-81
6
0
-31
-10
-9
-5
0
-72
-42
16
4
0
-13
46
-11
13
0
5
-27
-2
-7
0
39
4
8
0
0
-10
13
-9
3
0
5
-31
-3
-1
0
3
5
13
3
0
-15
-1
1
-2
0
-9
14
-3
17
0
-7
21
8
-4
0
13
16
-14
1
0
-5
-3
-7
1
-15
-10
-16
62
-26
0
7
-37
1
8
0
46
41
39
-5
0
58
11
-46
56
0
-3
-17
-51
11
0
-51
-36
-6
13
0
29
46
35
-5
0
15
76
-77
6
0
-4
-65
-14
9
0
-81
50
-14
-15
0
-12
32
-33
2
0
10
10
-1
21
0
90
-25
8
47
0
8
-61
31
20
0
44
44
-16
2
0
37
6
10
-5
0
7
-12
-44
19
0
13
-25
6
-37
0
13
15
19
-5
0
-22
11
16
-1
0
4
-39
-5
-10
0
-8
-7
-21
9
0
24
-1
2
-7
0
-2
3
1
7
0
-5
20
-23
-2
0
-7
6
-3
1
0
3
8
13
0
0
18
26
5
3
0
4
-1
9
1
0
-23
-13
3
0
0
7
-1
20
0
0
19
-7
1
1
-6
12
-7
27
27
0
-5
-14
47
-25
0
19
-39
-14
6
0
44
12
19
-11
0
-59
14
0
-24
0
-53
31
43
19
0
13
15
-11
12
0
-23
3
5
4
0
-3
-5
21
16
0
13
-9
9
-6
0
8
-11
-26
-10
0
61
6
-11
-13
0
2
-19
58
-11
0
22
15
2
11
0
-33
5
34
1
0
26
-5
1
-1
0
-30
14
4
-33
0
21
43
-18
7
0
-6
-7
4
11
0
26
29
-17
0
0
-8
-8
-13
5
0
3
-7
1
-1
0
-5
34
1
8
0
-6
-9
-1
-3
0
-9
-4
-8
5
0
10
14
0
0
0
-35
-25
3
6
0
-1
-18
2
0
0
6
6
-4
-1
0
-3
0
-4
0
0
-7
3
7
2
0
5
18
7
0
53
5
-26
13
39
0
-10
59
-7
4
0
31
-8
6
23
0
-33
0
22
26
0
-4
8
3
-5
0
29
9
34
-8
0
-55
19
-4
4
0
-13
-2
31
-8
0
14
-1
-14
-6
0
14
4
5
-7
0
3
16
2
-9
0
19
4
-2
-17
0
16
-32
5
-25
0
11
1
-5
-1
0
-17
4
3
31
0
8
-2
9
1
0
-42
24
-31
-6
0
4
13
5
10
0
10
31
-5
1
0
-14
9
-2
-1
0
23
3
0
0
0
3
0
-1
-3
0
-20
5
3
0
0
0
3
1
-1
0
19
-2
14
-1
0
25
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-4
-57
0
-37
-31
-64
29
0
-26
20
1
-32
0
-13
0
18
-33
0
-5
-5
7
-3
0
-3
15
-27
24
0
41
-34
4
-1
0
46
-16
-8
-20
0
8
5
-36
-14
0
23
-36
63
-5
0
-62
44
-24
41
0
-46
-23
-18
-18
0
22
-18
-13
-9
0
7
57
45
4
0
5
-58
35
-18
0
-8
49
-24
-17
0
41
-5
0
-14
0
-9
18
11
15
0
25
-20
1
1
0
15
21
16
3
0
5
7
1
-14
0
-8
-23
-3
2
0
-6
-1
-31
3
0
-4
2
-6
0
0
5
-4
-5
-14
0
5
16
20
14
0
-15
-24
-10
-3
0
21
2
15
-2
0
7
9
4
-8
0
25
-1
-16
13
0
-9
-1
2
5
0
11
-5
7
0
-33
-53
71
29
53
0
-33
5
46
-13
0
22
31
38
33
0
-7
16
22
-6
0
-5
-75
-14
46
0
-6
-5
-32
-5
0
-13
3
9
-10
0
38
9
-24
17
0
-32
-8
22
-48
0
-86
-10
-78
-32
0
19
-1
-7
-14
0
61
-5
20
0
0
-16
-8
25
-27
0
16
20
-53
-4
0
59
-8
-32
4
0
-15
-3
-11
-6
0
-11
22
-29
11
0
-25
-15
-1
-5
0
0
10
-4
1
0
11
-6
-37
2
0
-5
10
-9
-3
0
-3
-26
-23
0
0
-5
6
9
-1
0
-10
-7
-18
0
0
-7
16
-7
-8
0
2
-17
9
-2
0
7
-7
-8
0
0
1
8
-15
0
0
18
2
10
-2
0
-10
-3
13
0
0
-3
7
1
0
0
-5
-14
5
0
34
-19
38
-17
2
0
-20
25
1
2
0
-30
-6
21
-17
0
6
9
-51
2
0
-111
-10
43
29
0
31
-32
-24
-3
0
-82
31
17
-17
0
36
-71
5
2
0
-21
-6
-48
-2
0
19
29
-14
-9
0
32
-24
-15
4
0
24
-6
0
5
0
62
25
20
21
0
-3
3
-13
-7
0
28
-15
-1
-9
0
55
-21
20
-2
0
5
4
5
1
0
-1
-19
11
0
0
6
5
15
-6
0
0
7
0
-2
0
4
-8
5
-7
0
0
-7
-5
-1
0
0
-14
6
8
0
14
5
-17
0
0
-18
1
-13
-3
0
0
-9
1
1
0
6
14
-25
5
0
2
-1
-5
0
0
-16
-6
24
7
0
5
1
-2
0
0
-31
25
0
5
0
-3
13
-1
0
22
-2
-60
5
-11
0
-25
-24
-33
-3
0
-20
-4
5
15
0
-2
27
-15
0
0
-34
24
-14
-5
0
-5
-14
2
-14
0
13
3
-1
0
0
18
-13
-10
11
0
4
-23
-29
18
0
27
5
6
-19
0
-45
-14
32
13
0
-5
21
9
14
0
34
7
-19
-11
0
-17
-33
-8
23
0
-15
-32
23
-7
0
2
1
6
2
0
-11
4
1
-4
0
0
7
25
0
0
2
1
0
-4
0
11
3
3
-1
0
7
-1
0
-2
0
-4
5
5
0
0
10
0
1
-1
0
9
23
6
0
0
2
-2
3
-8
0
1
25
-3
0
0
-2
-3
-9
1
0
6
7
9
1
0
-1
-5
2
0
0
8
-18
-10
0
0
-3
-4
0
0
0
14
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
14
-5
14
-10
19
0
-1
-18
-10
29
0
45
-2
-14
-7
0
14
-19
30
-5
0
-33
3
-20
-5
0
-16
-25
13
-5
0
23
-9
6
-2
0
3
-2
-2
1
0
13
15
-47
-6
0
-2
-17
5
0
0
-11
-3
-9
-8
0
-6
-19
3
0
0
-21
24
-22
-3
0
-8
9
-2
1
0
-14
17
10
7
0
20
0
3
-1
0
-4
-20
33
30
0
-21
-20
-44
1
0
-21
11
-9
0
0
4
1
16
5
0
-55
11
24
-8
0
-3
-41
1
7
0
0
-3
-5
-4
0
-4
-9
-9
1
0
0
-10
-17
0
0
-18
-4
5
-9
0
26
15
-11
8
0
2
4
16
3
0
-4
78
5
-2
0
6
-4
16
-10
0
15
10
-9
21
0
25
-9
-8
-1
35
1
17
7
-22
0
-23
-39
6
-11
0
-43
5
5
4
0
26
26
6
13
0
69
-1
-22
-13
0
-7
-17
-10
-2
0
18
0
-1
0
0
-6
0
26
1
0
-58
-14
27
-34
0
2
22
-25
-3
0
14
7
-7
0
0
-5
5
-5
1
0
-6
3
-10
-2
0
5
11
1
1
0
-22
0
3
1
0
9
3
-2
0
0
-3
4
-5
-7
0
-3
-4
-29
9
0
-11
-4
8
-7
0
-7
-24
6
1
0
1
11
-31
14
0
2
-10
13
-4
0
-21
-6
4
-6
0
5
-6
-15
-2
0
8
-1
46
6
0
-21
20
-14
1
0
8
27
5
-7
0
10
16
11
0
0
26
-14
-25
-8
0
-8
15
7
-3
0
15
18
4
-2
0
2
-3
4
0
-33
5
19
-31
-5
0
18
4
5
11
0
-7
9
-13
-33
0
-13
10
0
3
0
-13
-5
25
-3
0
-7
2
-26
-1
0
18
5
-20
13
0
5
4
-5
0
0
-18
-2
27
0
0
3
-11
0
2
0
9
-9
-11
1
0
10
-18
-1
0
0
16
-13
-13
2
0
0
-1
1
0
0
11
-4
-9
0
0
-7
-4
1
0
0
1
-59
-39
5
0
-6
13
-9
5
0
3
-14
-2
13
0
8
13
2
0
0
2
18
-35
4
0
5
-10
-3
-1
0
-5
-11
-2
4
0
-6
16
2
-1
0
0
0
-10
8
0
4
17
-10
-4
0
9
1
1
-9
0
2
3
0
0
0
13
-15
7
-2
0
3
-2
-17
0
0
-6
-3
0
-2
0
13
0
-1
0
5
26
-3
6
4
0
-14
30
-14
-6
0
-10
0
10
7
0
-15
5
3
1
0
8
-5
2
-8
0
-9
0
14
4
0
-24
0
-5
2
0
-4
-1
14
-2
0
-9
3
3
0
0
0
3
-6
0
0
-5
3
2
1
0
4
-9
-3
0
0
13
0
0
0
0
-1
-2
-7
0
0
17
3
2
0
0
2
-7
2
0
0
1
6
20
-7
0
0
15
-21
1
0
0
3
4
-3
0
0
0
5
5
0
-11
11
6
-3
0
2
13
0
-3
0
6
1
-2
0
0
-21
4
0
2
0
-1
9
-2
-2
0
2
-7
4
0
0
-21
0
4
0
0
-1
-20
2
0
0
4
0
7
-2
0
0
-4
-2
0
0
6
1
4
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-58
1
0
26
-10
-18
5
0
1
2
4
-5
0
0
5
22
-6
0
19
10
-5
-10
0
0
5
-20
-1
0
-13
17
16
2
0
-1
-10
-6
1
0
14
14
-4
14
0
-6
5
25
1
0
71
5
-13
8
0
-25
43
1
0
0
23
8
14
-1
0
6
-11
0
0
0
-23
1
2
-7
0
11
11
2
0
0
45
8
-21
-19
0
10
-35
27
-8
0
9
-21
-6
13
0
-1
-2
-6
-4
0
-15
-9
18
11
0
3
-5
0
-2
0
9
7
31
2
0
-4
-2
17
-1
0
-37
33
42
19
0
-13
-19
33
14
0
-31
10
13
-22
0
-5
-21
-13
-6
0
-26
12
5
14
0
4
10
29
-3
0
-14
-4
-6
-7
0
14
46
-13
0
2
13
-6
-46
-2
0
-14
9
5
3
0
-3
-1
3
0
0
7
-11
36
-2
0
31
-7
6
-2
0
1
11
13
0
0
-3
-5
0
0
0
0
-5
4
0
0
-14
13
-11
-5
0
-20
8
5
8
0
2
2
-14
0
0
3
0
0
-3
0
-3
11
4
1
0
9
-14
5
5
0
14
-2
5
-1
0
-18
-3
-6
-1
0
1
14
-50
3
0
-2
3
-5
-8
0
25
8
-5
-11
0
25
-10
9
0
0
11
-4
-4
9
0
-5
11
11
-3
0
18
-27
5
-6
0
9
-4
-2
-4
0
-8
7
-2
32
0
22
-18
-2
-11
0
-25
-7
14
10
0
3
-53
-3
-4
0
-20
0
1
6
0
-25
-2
15
4
0
-2
6
-25
7
0
-20
29
25
32
-13
4
3
11
-17
0
-1
10
-6
0
0
3
-6
-8
-1
0
-6
1
13
-2
0
0
0
10
-2
0
3
1
-20
0
0
0
-8
3
3
0
2
-9
2
0
0
-7
34
-9
-3
0
9
5
10
5
0
-1
-2
5
0
0
7
1
1
0
0
-48
18
-7
1
0
5
6
0
-2
0
9
5
-1
-10
0
-18
7
0
0
0
-18
-11
14
-15
0
-1
3
10
6
0
-10
-25
10
15
0
4
-2
0
-1
0
0
-7
-7
-5
0
2
-9
10
6
0
-25
7
2
-3
0
9
1
-13
1
0
-4
2
-19
-2
0
0
10
-4
4
0
-4
7
-3
-1
0
2
10
6
1
0
10
7
8
1
0
3
-14
2
5
0
5
-27
24
3
0
-7
5
-27
5
-32
6
-9
-7
4
0
-1
-11
37
-1
0
1
4
-3
0
0
0
1
10
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
25
9
3
4
0
-13
6
2
-3
0
11
5
-1
0
0
-9
-7
0
0
0
8
-3
-9
0
0
2
9
3
0
0
5
-2
14
10
0
-5
5
13
-2
0
-14
-6
-2
-5
0
-7
1
-8
-9
0
4
-10
15
-1
0
10
4
-1
4
0
-18
0
0
0
0
0
21
0
-1
0
-8
2
15
7
0
8
33
9
5
0
4
-1
10
4
0
-2
2
-4
-2
0
-5
-24
9
1
0
10
20
-22
1
0
20
-19
5
3
0
11
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-74
-25
21
11
-30
60
-20
27
-13
-94
49
56
5
-16
-25
-14
39
-29
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
26
-31
-20
29
-123
-17
-60
21
14
7
-3
-43
25
-40
22
-42
-6
29
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-56
-22
-9
37
-8
-15
-10
-16
-31
-1
-15
21
32
-7
16
-14
-3
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
29
2
45
-15
-11
29
-17
-11
-5
-16
-55
-21
-27
46
-14
-30
4
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
1
5
-62
-42
25
14
73
-41
6
57
54
5
38
15
-27
5
-15
30
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-54
-18
43
18
-36
-44
8
19
4
15
5
-15
-22
46
-21
6
25
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-38
-10
-38
24
-14
-77
-2
11
-25
5
0
-29
9
3
39
35
20
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-35
-16
27
-23
36
-6
-4
-6
-7
7
-22
-15
-2
1
1
1
3
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-16
39
-17
-67
-48
17
31
21
-39
19
-1
-52
-1
47
3
-10
-23
38
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
30
51
-2
-55
70
-65
-61
-19
0
-33
-23
59
11
17
27
-2
-8
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-10
-4
-39
45
14
22
27
-14
2
31
18
-27
20
-5
-5
-16
-1
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
14
-32
-7
1
27
-14
-7
17
6
-15
-25
3
8
-2
14
18
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
-5
14
-3
33
-54
4
54
4
25
23
-26
19
-23
-2
23
13
5
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-21
-4
-24
-2
-4
-22
-9
15
-20
27
26
7
-21
-1
3
-30
14
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
7
-8
3
3
18
29
-19
27
1
-3
-4
43
-26
-6
-3
42
10
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
1
17
1
10
3
14
2
-1
-25
4
13
3
0
-1
7
8
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
19
15
-31
-46
-8
20
-19
19
29
9
-41
23
-1
-10
20
23
-14
-23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-17
63
-21
-39
5
50
-19
-15
-15
29
2
26
-7
53
-13
-43
8
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
11
-32
12
-10
19
-17
-15
-16
-7
-48
-8
-8
17
2
17
-7
0
-37
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
19
-13
-8
-5
-7
-5
-17
3
27
-16
-19
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
-56
45
-36
-10
21
60
11
-14
-56
52
14
138
-9
-19
32
0
9
14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-52
-38
39
-15
-37
-61
-14
-33
-6
31
14
14
24
-2
-34
22
-19
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
5
11
-19
0
20
-9
-24
-6
0
-7
-5
-16
-23
4
-13
-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
-24
13
2
-32
7
-2
-10
-4
-17
2
6
6
-1
-5
0
9
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
55
17
11
80
3
27
33
20
-16
93
4
-9
18
-62
3
-31
51
15
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-50
-6
5
-3
-15
23
-14
-5
11
3
2
14
-18
-15
-2
14
14
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-9
-5
1
-1
6
10
8
-2
-3
4
0
-25
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
-21
-17
11
-8
-3
1
7
18
3
0
-10
13
-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
34
-10
-33
29
-45
-18
3
56
4
-13
-9
9
71
52
9
0
2
-13
11
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-43
-14
5
11
2
15
-4
-26
-9
-20
17
2
-4
1
9
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
-16
13
26
1
1
-2
-3
-8
-1
-1
9
4
-9
11
-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
5
-1
0
-4
0
-4
-7
0
-2
1
-3
4
2
-1
0
7
-20
7
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-87
12
-5
-27
-20
5
23
48
-36
-48
-23
-2
17
13
-13
-35
-29
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
8
-1
-20
-3
-52
19
45
57
-43
17
30
-53
43
-1
43
7
-8
-18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-8
-14
4
-2
20
13
-1
1
-26
18
-11
9
-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
15
5
22
-16
-4
0
36
14
-7
5
19
7
-4
33
-1
-13
15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-29
49
37
-23
-5
21
-22
-6
-35
8
9
10
2
-13
3
31
10
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
19
-53
-36
-16
9
56
7
-15
-5
-6
21
13
39
4
30
-8
0
-15
-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
-10
2
1
-2
3
-7
2
-5
7
0
10
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-23
-10
5
-13
2
8
-4
2
0
-16
-41
15
1
0
-19
-5
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
5
-66
38
-4
11
62
9
-34
6
26
-43
-27
4
14
-29
32
27
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
2
-56
-12
33
-7
-8
43
-29
14
-10
21
14
-46
-45
-7
44
-81
53
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-15
-9
14
-9
16
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
10
0
-6
4
-8
-10
-13
5
6
-2
-5
1
-6
-17
2
10
-3
15
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
-5
-15
13
11
-5
1
-5
5
5
46
-18
-5
5
-3
-6
21
-5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
34
27
-14
4
14
0
-29
-11
15
5
20
15
-3
0
2
1
4
2
-18
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
-21
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
-17
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
-14
15
-20
0
16
-18
-48
27
14
-20
-52
-39
17
0
9
3
-18
11
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
50
7
36
-30
45
-73
45
-24
33
14
-75
-28
-27
-48
0
32
-63
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
33
51
-20
-6
1
8
2
6
1
1
-2
-1
-10
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
10
5
-14
5
20
-10
-10
5
21
7
-32
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
-26
10
4
7
5
-25
30
-11
-26
33
16
-5
-9
55
-21
18
5
-9
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-18
-18
-14
-14
-34
-13
-9
53
-24
-5
7
20
-53
26
1
5
-15
9
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-11
6
6
0
-1
10
-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
-13
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
11
6
-17
-16
-2
-12
11
2
7
27
8
-23
-1
-4
3
-5
5
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
10
-76
-15
13
17
53
-58
17
-24
-14
-7
16
5
1
-25
11
-25
14
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
-15
-25
17
-6
-5
5
4
2
-23
-11
-4
-25
2
-13
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
-10
10
0
-7
7
57
-1
-18
9
-2
7
-6
2
-5
-1
-6
13
-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
11
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
-29
-40
2
25
-21
-2
33
-8
-13
-6
-46
2
2
-9
3
25
-43
-18
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
36
12
-18
-33
-4
-32
71
-5
-11
9
-12
5
-50
-17
-2
24
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-26
1
-14
-28
6
0
48
21
-17
-4
33
4
-1
0
-4
-13
-8
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
18
-1
-36
23
-33
-17
-19
3
27
29
-48
1
-2
-14
14
0
-43
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-2
14
-27
2
-14
-7
-54
-3
2
-43
-25
12
8
5
-10
-4
-1
-14
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-13
17
-16
7
19
7
-11
-10
-6
5
33
22
0
-7
7
-17
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-2
25
20
6
-10
8
-3
-11
-14
7
33
6
-16
-10
-5
-6
8
15
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-1
8
5
6
-16
18
-5
-4
11
-1
-3
24
18
9
23
34
16
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
3
-2
58
-1
-10
11
19
-16
24
5
9
-4
-6
5
14
-5
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-2
-14
-3
-7
-5
14
-6
-4
-1
15
1
2
13
0
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
-13
25
2
28
-5
-8
-6
4
-14
-1
5
-25
-27
-4
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
17
-6
-14
-10
14
-27
-35
19
-2
-31
13
-18
-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
-3
49
31
6
-9
-5
34
4
-2
10
0
-2
21
-8
-5
60
10
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-10
-3
-14
1
32
-43
7
-1
-9
-14
17
0
-9
-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
-17
-5
-7
10
-5
1
14
14
-1
-5
2
0
-6
-5
2
-3
11
5
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
20
26
6
-3
1
-11
-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
30
17
-1
18
-23
-18
44
-33
-11
5
-6
-20
0
11
-8
1
0
9
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
53
43
4
2
34
6
7
-17
2
14
-20
-34
13
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
5
3
24
-5
-6
-7
-16
2
-8
-5
-7
18
-2
-3
3
-1
-6
6
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-23
-2
18
-1
-11
0
15
0
-9
11
-3
-1
-9
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
-10
20
5
0
-3
34
-13
-7
0
4
-10
0
-13
-5
1
-5
-4
-3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
10
-11
1
-4
-18
-14
-17
0
5
25
-21
7
0
0
-4
11
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
5
-23
-4
-3
-22
-13
10
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
-5
13
-10
5
5
-6
-37
-5
0
18
2
6
-5
7
4
10
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
-3
6
-8
0
3
-10
4
2
2
8
11
27
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
14
8
2
6
-2
1
-5
-18
3
0
-7
8
10
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
-22
7
10
-1
19
0
-8
1
0
-3
-4
-11
3
0
-10
3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
2
-8
-1
-4
6
-6
16
-6
24
-21
0
6
2
-11
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
-9
-13
-1
3
0
-13
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
-9
-2
6
1
0
3
4
2
0
3
-2
21
-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
11
2
-1
15
9
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
-9
3
6
-3
0
0
4
1
1
0
-9
4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
-51
24
-2
2
-43
17
-16
2
3
-3
-3
-24
1
0
-26
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
43
-3
20
-2
-37
33
5
11
1
2
-25
7
-3
0
-13
-35
-4
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
5
5
13
21
-3
0
-19
13
-31
15
-5
-53
0
8
-3
-1
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-33
66
18
2
-10
-5
29
-3
-5
-20
24
0
10
2
10
5
-3
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
15
3
-8
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
-32
34
7
4
-7
14
-19
-18
-11
0
11
23
-9
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
10
17
-3
11
0
-2
-3
-1
-7
-14
9
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
21
3
-26
5
3
-1
7
27
-24
4
10
4
-1
-3
-7
-19
-25
1
21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
9
-4
-8
1
-8
-13
-6
1
-1
26
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
10
31
-7
21
4
0
-18
16
-13
1
10
4
-7
-17
2
-2
-9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
3
-14
-15
0
-3
-3
4
5
-4
-1
-13
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
17
1
4
-43
9
6
9
-14
24
-1
17
6
-10
-43
5
-23
17
4
-21
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-15
0
0
-4
-11
-6
3
0
1
-1
23
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
9
3
-1
0
10
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
11
0
2
4
5
0
4
0
-2
-10
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
-11
-1
-1
33
3
3
-3
14
4
18
6
5
2
-6
-8
-11
-1
2
-11
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
-3
0
0
3
-9
41
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
10
-6
-2
43
13
8
32
-8
9
-1
2
-22
1
-1
-1
6
23
-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
6
5
-14
3
-5
-29
9
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
19
43
62
19
6
7
-5
-19
21
-4
-19
39
-9
19
-2
-8
-9
15
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
10
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
10
-13
4
1
-8
17
10
-2
16
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
-25
-11
-2
0
-2
13
21
-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
13
8
17
-1
-22
26
-10
23
18
10
5
7
31
-3
-9
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
10
0
-2
-1
11
-25
-9
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
16
-11
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
17
2
-3
11
-14
-11
3
3
14
18
5
7
-3
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
-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
-13
-8
-2
0
-1
5
-1
-6
2
-4
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
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
-23
-2
3
1
-1
3
31
2
4
-4
9
-16
17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
39
-6
44
24
-27
31
102
-31
10
7
17
67
11
-14
35
-71
21
8
-17
-12
36
16
26
12
-36
-6
30
14
10
-24
43
24
-5
-33
27
5
-32
13
24
19
-26
60
-10
18
-31
-12
45
-16
-33
23
32
-54
-80
-7
18
29
5
-37
3
-19
-99
-54
-9
33
-14
15
-72
29
-15
14
-26
-31
-58
-3
-4
-10
2
-10
-9
2
4
28
32
-70
11
-17
12
-13
5
11
3
-17
-18
-1
-30
13
8
30
-7
-71
4
0
6
4
20
25
-14
11
0
3
-43
-11
-6
8
-4
-7
-8
0
0
38
-23
-5
1
5
14
-2
19
-13
-6
-2
20
14
-10
0
10
8
1
16
2
7
-26
0
33
0
3
6
9
3
-1
-11
0
-7
9
-4
0
0
0
-3
0
-70
38
12
-34
-5
20
13
0
9
-15
21
34
-14
53
-2
33
23
-35
44
-5
42
-9
-23
-1
0
2
3
-49
-21
5
33
-28
33
20
31
-7
10
2
6
-3
-37
-37
-14
-20
-26
17
-18
43
-7
10
-23
4
-2
9
8
0
22
-31
-8
0
-27
4
-31
8
-3
7
-4
-30
-3
-11
5
-21
-1
6
0
-1
25
13
-5
3
-1
4
45
-13
-29
-10
14
-3
8
-11
-24
3
-16
14
7
14
-21
16
17
-9
-29
2
10
-14
5
14
-10
1
1
4
10
0
-3
3
0
-1
-5
16
-2
-1
1
24
-13
-5
0
-13
-26
0
-1
6
11
14
2
1
1
9
10
-10
2
6
-1
14
-4
-10
-6
-7
0
0
7
2
0
-2
1
-1
0
0
-1
0
4
0
0
-41
-11
67
56
14
11
13
-62
-11
45
32
-11
10
25
55
-1
25
34
22
23
-5
-7
-62
19
-5
-8
-22
-14
-14
76
17
8
-2
3
0
-25
14
1
0
-30
41
-26
-11
-24
32
-50
7
4
0
23
-14
-2
-8
-8
13
8
4
-7
1
0
-11
-26
-48
-23
3
-17
2
6
14
2
-1
3
-18
11
1
2
-8
4
-1
-61
23
-19
17
-11
-17
-5
-11
25
0
-14
8
-19
-1
-4
-13
-1
4
-13
-1
-8
-20
-10
15
-18
4
-3
7
-7
1
-2
-2
-2
-4
1
-3
4
-1
0
0
-3
1
2
-23
9
4
-6
1
-15
-10
0
-21
-4
-5
-1
0
3
-4
0
0
2
10
24
6
-1
0
2
0
-2
0
0
-1
5
-1
0
0
0
0
0
0
-21
-3
21
-10
-19
34
-48
-3
-21
-5
-16
45
-16
-21
-5
22
19
20
18
8
26
-30
75
17
15
-19
13
-16
-11
4
-25
9
14
-4
-5
0
-9
1
-11
11
1
5
-16
-23
-6
0
18
-26
18
6
-8
2
-5
-9
-1
14
-1
-15
2
9
10
-14
-13
-4
8
6
10
-5
11
-1
-1
-20
11
-4
0
0
-4
-5
10
-1
17
-63
-13
13
2
22
-22
-17
14
-4
-9
26
-17
5
2
10
26
11
11
0
9
-7
2
11
2
-9
13
10
10
4
4
2
1
-1
0
-1
-11
3
-1
1
3
-8
1
-1
0
25
0
-2
4
0
0
0
7
-31
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
46
42
-39
5
-17
-47
-55
-96
76
43
-6
31
22
-5
-80
53
-43
-47
1
0
-20
79
53
-95
-36
30
-13
-22
37
21
-15
9
19
-62
17
-16
-5
-13
52
31
-5
11
-30
-3
34
-3
25
-19
4
-9
-25
14
-24
-15
-14
10
-3
-2
1
10
29
43
7
-46
-9
14
-9
-14
9
-4
-2
9
6
-21
4
-1
3
17
-1
1
12
-63
3
-58
46
-29
14
15
5
13
-59
-6
14
-2
15
19
-3
14
13
1
5
41
4
7
-4
11
-20
6
-6
-5
-2
8
4
-8
-2
0
2
3
0
0
-18
-29
24
2
7
3
-7
7
10
0
0
-16
-2
-19
-2
1
5
-4
-2
0
-26
-15
-25
10
2
1
-7
0
0
1
2
1
2
2
-1
0
0
0
0
0
-21
-25
5
-7
25
35
-12
-49
-5
-38
53
-10
5
1
-5
-3
-9
6
-2
-4
-1
15
13
12
16
31
-17
-9
-54
31
-14
43
0
57
60
6
6
14
32
-29
1
-9
23
-3
5
19
16
4
-18
-15
21
52
16
-8
4
5
21
-24
-21
2
-17
-38
-32
10
-10
-14
-14
-39
2
20
0
5
-20
-19
-7
-4
11
5
0
1
-15
5
5
-19
0
-18
-10
-7
46
8
21
-15
2
9
0
-11
-6
5
11
-2
-8
29
9
-8
0
-2
7
-6
-1
1
0
6
4
5
1
1
-2
-1
1
0
10
-18
7
-5
-1
2
0
-23
-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
-47
-52
-4
24
-66
-43
10
-32
60
5
31
-46
-4
14
13
-6
23
23
-57
0
-49
-52
24
25
14
-20
13
57
-36
-4
6
2
25
27
5
-8
-6
24
13
-5
14
33
1
-50
0
22
-31
-16
11
0
-25
-32
14
25
21
0
2
-25
5
-6
-17
27
-15
15
-9
0
-25
4
19
1
-10
25
1
-2
6
0
18
-10
13
1
-18
-2
-11
-5
2
0
21
7
0
1
2
21
-5
-3
-1
-2
-4
-4
0
0
-3
-13
29
8
-1
0
-8
3
-1
0
-6
-10
-5
29
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
-10
0
0
0
0
-2
0
3
1
3
-1
0
0
0
0
0
0
20
-94
10
-16
14
-48
-13
21
-19
10
-29
-1
4
3
0
-21
-13
20
5
-18
3
60
-10
88
-6
31
-1
-21
32
5
2
39
-4
-4
-24
-1
-14
99
25
-5
7
44
-4
10
1
-6
0
13
-5
13
-6
7
32
5
-5
0
13
-4
-9
1
2
81
10
-4
3
5
31
-20
24
16
0
2
6
31
1
0
-6
2
-18
-5
3
-18
5
-7
-2
-10
0
9
-7
2
7
11
6
-1
2
2
-2
3
-3
0
0
0
0
0
-3
9
-21
2
6
-1
0
6
-1
0
0
0
1
4
-1
-2
0
3
-1
2
-1
0
0
0
0
2
0
-9
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
55
13
55
7
-10
-50
43
66
-33
30
-10
7
-49
40
-22
28
52
-9
-16
-15
0
39
-63
-50
-21
-81
43
-24
-3
-2
33
-33
5
22
21
-2
-1
-3
11
-21
39
-77
-19
37
27
-8
33
-50
12
18
-2
-54
10
0
6
-21
-23
14
-3
6
-5
45
9
5
2
-9
7
9
-14
2
-6
-16
-17
-2
-16
-20
-9
-13
-14
-10
15
6
2
4
6
11
8
-5
-7
-3
-8
-7
-5
-7
0
-1
-1
5
-4
0
-10
-3
-10
-14
1
7
-9
3
-3
1
-5
-7
-13
3
0
0
3
0
0
-1
-1
-11
-5
14
2
0
36
-1
-1
0
2
-7
0
-10
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
-33
-12
-51
-23
23
49
82
10
-19
-17
-16
-6
25
-31
11
-22
9
14
-1
-6
5
5
51
14
-15
40
32
24
-7
-31
21
5
0
31
7
5
-2
4
-29
9
-11
-4
1
5
32
-25
-3
11
-19
-5
-14
-5
-45
43
-3
-1
17
25
14
-7
11
-18
15
-71
-15
-45
8
6
1
-52
6
51
33
11
16
5
-4
-21
-43
-9
-45
-3
-1
1
0
-1
8
0
-1
0
-2
0
-1
0
-2
0
3
0
-1
0
16
5
2
0
-1
1
0
-7
6
0
0
5
0
1
0
0
0
1
0
0
-2
25
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
-98
-13
1
6
23
60
19
0
-32
-8
8
-72
6
-5
-6
-2
32
-21
-5
-11
-22
-48
7
-14
-17
-6
-16
17
-19
4
-5
2
8
-11
-15
6
9
-14
2
2
29
62
-43
37
-43
-18
24
-5
-2
-18
19
-18
-7
32
4
1
-1
-5
-8
2
25
-36
-3
6
-16
6
-27
-1
33
15
2
20
9
0
8
-9
15
-9
-1
4
5
-19
20
-9
-2
2
-14
5
3
0
9
0
-3
-3
-1
-23
0
1
3
0
-5
0
26
0
0
3
-1
-2
2
0
-1
1
0
11
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
-20
8
-8
14
3
-20
35
43
39
7
5
-46
4
6
7
5
-5
18
53
-3
18
-4
-27
-45
-5
8
5
-24
6
4
4
27
5
-10
-1
2
8
13
-5
-2
4
28
-23
8
-1
14
-16
-39
9
10
-2
37
-25
-36
-10
3
4
-23
15
-3
-20
-5
20
8
-10
2
26
18
20
9
-2
6
-7
-9
0
0
-5
0
1
6
-15
-8
0
14
2
-10
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
-20
15
-46
-27
8
17
-65
-8
37
-5
-2
-57
8
8
-3
-2
-20
2
-9
0
3
-15
2
13
0
-31
13
-33
-13
0
4
1
2
0
-2
-2
2
-3
5
0
-30
-1
61
24
8
-1
-10
11
-1
-7
-6
6
-2
-30
33
13
4
-3
-7
4
-9
-7
-2
-5
0
-11
72
22
9
-14
8
-30
13
18
-17
7
3
-6
-13
-11
2
-11
-9
0
1
-2
23
-3
-2
1
9
-3
2
2
0
-1
2
0
0
0
6
-7
-13
-5
0
2
-8
10
-1
0
-1
-2
0
-2
1
0
1
-2
2
0
-27
5
6
0
0
1
-7
-7
0
-1
4
0
3
-2
1
0
0
1
0
0
-7
21
-6
0
-3
0
8
-1
0
0
0
0
1
1
0
0
0
0
0
0
15
-13
3
-14
0
18
-18
-26
-26
1
44
35
5
-3
-1
-1
4
2
9
1
-9
-49
13
-41
3
-3
5
-22
4
0
1
-2
0
-9
1
0
-3
8
-3
0
2
33
-79
22
-7
24
21
16
9
-25
-17
32
-25
0
6
5
9
-6
-33
10
5
3
3
11
14
7
-65
62
-19
10
7
-2
43
-5
1
5
3
6
27
-1
-1
-14
-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
2
-24
-3
-4
-26
7
-2
-2
9
-10
0
3
0
4
4
4
5
0
7
-3
4
-18
4
14
0
5
17
-1
0
11
33
-18
-3
2
2
-4
15
0
8
-43
32
-8
-11
-1
59
5
5
-6
-3
43
-35
-8
-9
-1
-2
19
33
0
17
-62
5
5
-4
-9
74
-5
-22
-2
-1
-18
-13
5
-1
-5
25
-4
-21
14
0
-10
-2
-3
0
0
-1
0
-9
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
16
0
-23
6
-14
8
-23
-36
-13
6
-8
-15
8
-1
0
-1
-2
10
2
1
-10
-7
-36
4
0
4
26
0
9
-7
6
0
-21
4
0
0
0
5
-1
-1
-6
34
-13
3
17
-5
15
1
9
-2
5
47
2
17
-3
0
-2
19
7
-7
9
9
54
22
3
0
-41
-9
-19
-8
0
-2
24
-24
3
0
-58
22
16
22
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
-40
13
-59
-5
5
5
-47
-18
20
-23
49
-31
17
-60
24
-19
11
-16
9
-1
61
-7
4
-14
0
-9
-9
-9
6
1
4
5
0
-5
1
-2
0
-17
-4
0
53
-3
16
19
-1
-13
14
-6
25
1
0
-4
-2
21
-5
-23
5
5
2
0
0
18
-11
-4
-8
9
-7
-18
6
4
5
1
-4
-4
0
0
0
2
1
0
-32
55
6
6
-27
-30
-1
41
-14
21
-3
4
-17
9
-2
8
-26
3
-2
-1
31
5
14
-21
-14
-14
-3
-14
-13
-4
-6
0
-4
-4
-5
0
0
-2
8
0
9
34
-4
13
-4
17
48
-6
-4
5
-2
3
-4
0
4
-13
-6
-14
3
0
16
-9
5
10
-3
-14
-11
10
1
3
2
-6
10
-3
2
-3
0
0
-9
0
-5
-78
42
28
19
-5
2
-1
-13
-1
-13
2
-14
11
7
27
-4
-3
29
3
-10
-6
-2
-5
-2
-4
0
0
1
4
3
0
-1
-2
-5
-5
0
-1
-2
0
5
-10
-16
-1
1
-27
-16
2
2
1
2
2
31
3
-1
10
2
1
3
0
2
23
9
-2
2
3
0
1
2
2
-2
-3
-9
-1
0
0
0
0
0
0
-14
21
15
-4
0
-7
-14
-4
-7
0
10
8
-1
5
-3
21
16
10
0
-1
18
5
14
7
-4
-10
-2
3
5
1
-4
4
-7
7
0
-2
0
0
4
0
-6
-15
10
8
-5
33
-17
-8
10
3
-3
-7
1
9
-3
15
-13
-1
6
-2
5
-5
13
5
-1
9
1
-4
2
0
-4
4
0
-3
-1
0
0
0
1
0
25
5
13
24
1
-16
-9
7
3
0
8
-1
1
-11
-3
15
4
0
-1
0
-14
-2
3
-8
0
-4
4
6
0
0
0
9
14
5
-2
0
-11
1
-3
0
35
-17
2
0
-2
-5
7
6
2
-1
-25
7
11
7
7
0
5
1
1
0
-1
-2
23
-3
0
-1
0
0
0
-1
-1
0
-3
-1
-1
0
0
2
0
0
9
-57
4
-11
5
-13
5
-4
-3
0
-25
11
-9
5
-3
-2
2
8
2
0
20
-31
2
-2
1
-4
0
-1
0
0
-9
0
5
15
0
2
-1
1
4
-3
16
-2
15
14
1
0
13
2
-1
-1
-19
9
-8
-1
-6
-8
2
-1
2
-1
-2
-1
0
-15
0
8
1
3
0
0
-1
-6
7
10
0
0
-1
-2
9
0
-4
-19
-4
-1
-1
2
0
0
0
0
-3
-15
-9
-1
0
-1
17
-4
-2
0
1
-4
6
0
0
1
1
18
2
2
-1
1
-2
2
0
-1
0
-3
-6
-3
0
1
-3
0
0
0
-20
-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
13
7
3
-3
0
-2
-5
-4
2
3
0
5
-7
-10
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
15
-2
1
0
0
1
6
2
0
0
0
1
-1
-2
-43
57
-21
-22
10
1
4
-17
-18
1
1
11
0
2
3
-11
8
1
-2
0
45
1
11
-14
-4
-7
7
9
-3
0
-4
-4
-5
0
-1
0
-9
0
0
0
-9
-3
15
3
-1
-1
2
3
-3
-1
2
-2
-26
-1
-1
0
0
2
1
-1
4
21
-10
-7
0
0
-5
-1
1
0
-1
-1
-2
1
0
0
1
3
0
0
21
14
33
-18
8
-6
26
52
5
11
11
-23
6
-37
-8
-10
5
21
1
-1
17
16
-29
-1
-15
-5
-27
-5
-2
1
5
-1
5
-13
1
0
0
0
0
1
16
-2
10
6
-1
-6
5
-5
0
0
-7
20
-3
4
-11
0
-5
0
0
-1
19
11
-5
17
1
16
0
16
-11
3
-1
5
15
-7
-1
0
0
0
0
-1
13
-31
-20
-23
5
48
-36
14
1
0
-17
1
-6
9
0
20
0
11
8
-3
3
-2
-15
5
0
-2
-1
-9
1
0
0
-6
-1
1
0
0
-1
0
-1
-1
-2
14
3
0
-1
-7
2
1
0
0
-3
0
4
-14
-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
3
14
-32
6
-8
-15
15
8
0
1
13
-1
26
4
0
-5
22
-33
5
1
0
4
-6
-4
2
0
21
2
-11
-1
-1
-5
11
-4
-1
1
-6
1
0
0
-2
4
-8
-1
2
-16
3
-3
-2
19
-10
-2
1
0
0
3
-2
1
-6
1
-6
13
3
10
2
3
-3
-4
0
-1
-1
1
-2
-1
-1
0
-5
1
1
-1
8
-18
3
-1
-2
-16
20
1
-2
0
8
-9
4
-1
0
-4
-3
-2
0
0
18
11
-13
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
13
14
11
-8
-1
0
-18
-2
6
0
0
3
4
17
1
0
-2
-1
2
0
35
-8
-7
0
0
1
1
-13
0
0
1
-5
2
-11
1
0
-2
-1
0
0
-5
20
-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
11
-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
13
1
0
1
0
-2
2
0
-17
2
-2
0
0
2
13
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
-21
-44
-2
22
14
-6
-6
-1
10
-2
-25
-1
-15
5
0
0
3
9
2
2
3
-44
0
-3
2
-14
2
-10
3
0
0
0
0
-9
0
0
-3
0
1
0
-10
20
-2
-5
0
25
-6
7
1
0
3
-2
1
-5
0
0
3
1
-2
0
-22
-7
4
23
1
-2
1
-7
-4
0
-1
-1
0
-1
0
0
0
0
1
0
51
-23
-33
26
2
0
7
5
-14
2
0
5
0
-6
1
0
-4
8
11
0
10
-7
2
-8
0
-2
7
31
-25
-4
1
-10
-17
-2
0
-2
0
-1
-1
0
-8
-23
1
23
6
-6
4
14
5
3
9
15
-2
8
4
5
-8
-5
-6
0
9
17
-25
-2
2
3
-8
-1
-1
-10
-3
-3
9
14
-3
0
-1
2
-1
0
3
-25
11
11
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
11
0
2
-9
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
10
5
10
-14
0
-4
2
-20
-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
9
16
5
2
1
6
4
0
0
5
0
9
-1
-2
-15
1
-6
4
1
16
15
7
5
-1
0
11
19
-5
0
10
0
2
2
0
3
3
-8
-1
-43
10
-2
-7
0
9
1
-7
5
0
6
3
-1
0
0
-1
0
-2
3
0
8
9
-2
4
0
0
0
-1
0
0
-1
-2
1
0
0
0
0
0
-2
0
6
14
-11
-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
29
-1
-34
-24
-14
2
-24
5
-2
0
-1
-3
5
3
1
0
0
3
0
0
1
9
-2
20
0
0
3
-3
-2
0
1
0
3
19
0
0
0
1
0
0
-43
17
-2
-10
6
4
18
17
-11
2
-2
9
-3
-2
0
-3
3
5
-1
0
3
4
-11
17
3
3
-2
4
9
0
7
-1
23
14
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
-9
2
1
1
1
8
2
-1
0
0
-1
-8
8
-2
0
-2
-6
-9
-1
0
0
-1
4
-1
0
-2
-1
-3
0
-1
-10
8
-10
-2
0
4
11
3
0
5
-4
-10
-11
3
1
0
-10
3
4
0
6
11
7
0
0
3
8
2
-2
0
-2
3
-2
5
-1
8
-3
6
0
1
-32
13
-29
0
1
4
1
0
0
0
-2
-1
-2
0
2
-1
0
0
0
-5
10
-2
-2
-2
-2
0
-4
0
0
-1
-5
-1
1
0
4
0
0
0
0
4
5
13
1
1
-1
1
0
0
1
0
8
2
2
0
0
2
0
0
0
0
-2
-10
9
0
-1
0
0
0
1
0
4
1
0
0
0
0
0
0
-1
-2
-16
5
-14
-3
-3
0
-11
-13
-1
5
3
0
-1
-3
0
-6
5
0
0
4
20
4
-5
1
0
-3
5
-5
0
-1
0
-5
0
-2
2
-1
0
-3
0
2
1
13
14
-3
10
-7
-16
1
1
0
-4
-9
5
0
0
8
16
-4
0
3
7
-1
9
23
0
-7
51
1
1
0
9
-13
9
-4
0
3
9
11
5
-11
-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
21
0
0
0
9
-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
-17
-17
-6
2
2
-3
1
0
0
0
-6
-5
-1
1
0
-3
2
4
-2
0
5
1
4
0
0
5
-18
-2
0
0
0
1
4
1
0
0
-2
0
0
2
-2
11
-14
0
-1
6
2
3
1
0
4
-7
-17
2
0
4
8
-3
4
0
-11
18
13
0
0
6
0
11
-9
0
3
-2
17
-1
0
1
2
-9
2
-1
8
-4
-8
-1
0
1
1
0
0
0
2
4
1
0
0
1
-1
0
0
0
-9
-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
-14
20
-4
0
0
0
-1
7
0
0
-1
4
-5
0
0
-2
0
-8
0
0
10
2
0
0
0
3
-1
0
0
0
1
-5
3
1
0
1
0
1
0
0
-10
2
11
4
2
0
-8
9
-3
0
4
5
-2
0
0
-3
-3
1
0
0
10
1
35
0
-1
1
14
4
0
0
1
-33
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
-20
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
11
-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
-10
4
2
23
9
14
4
-47
17
-3
25
-10
0
0
0
0
3
-9
-65
5
-6
0
-11
0
-1
5
-7
61
-12
2
0
0
0
1
-1
-18
-9
-48
9
7
1
0
0
5
-43
-33
3
7
0
0
0
1
2
-49
98
17
4
0
4
0
0
0
-6
11
1
3
0
0
0
0
2
7
-51
-16
9
3
0
0
0
4
27
36
-12
0
0
0
0
0
-1
-36
-48
22
0
0
0
0
0
-6
-3
113
-5
0
0
0
0
0
0
-14
36
9
0
-2
0
0
0
-1
-34
2
-1
0
0
0
0
0
0
10
-2
9
0
0
1
0
0
0
-3
99
-4
0
0
0
0
0
0
0
-17
-17
0
0
0
0
-1
-1
22
-15
0
0
0
0
0
0
-4
-20
20
0
0
0
1
0
0
0
-3
46
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
15
-13
0
0
0
0
0
0
0
-17
11
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
2
-1
3
0
0
0
0
0
0
1
-31
25
0
0
0
-4
0
0
0
-4
31
0
0
0
0
0
0
0
1
-14
0
0
-1
0
0
0
0
27
-2
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
0
14
0
0
0
0
3
25
-3
-14
14
-8
30
0
0
2
0
-4
-11
6
-9
6
0
0
0
1
1
2
-20
-24
-14
0
0
1
1
0
13
5
-25
-7
0
0
0
-1
3
-11
12
13
-9
0
0
2
0
-7
-2
22
-1
32
0
0
0
-1
0
-4
0
6
5
0
0
1
4
2
9
17
-40
-1
0
0
0
0
0
0
39
16
0
0
0
1
3
0
3
-61
63
0
0
0
0
0
0
16
97
14
0
0
0
-2
1
-1
0
5
11
0
0
0
0
0
0
-5
26
-1
0
0
0
0
0
0
4
76
-12
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
-1
17
9
0
0
0
0
1
0
-7
-33
0
0
0
0
0
0
0
11
-22
0
0
0
0
0
0
0
0
45
0
0
0
0
1
-1
0
-4
4
0
0
0
0
0
0
0
-45
68
0
0
0
0
0
0
0
-15
-16
0
0
0
0
0
0
0
-1
36
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
8
10
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
-13
-9
0
0
0
0
0
0
0
-1
-11
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
11
72
31
-6
0
0
-1
3
20
-26
5
-28
-6
0
4
-1
0
-8
-9
5
6
3
0
0
0
-1
1
-14
16
-23
3
0
-8
0
0
0
20
-19
-25
4
0
0
0
0
4
2
25
-24
8
0
-3
0
0
6
9
27
-77
-1
0
0
0
0
1
1
33
22
5
0
0
0
0
9
-31
-28
7
0
0
0
0
0
0
2
-1
-18
0
0
-4
0
0
1
14
5
-13
0
0
0
-1
0
1
1
-23
9
0
0
0
0
0
-1
-37
-6
3
0
0
0
0
0
0
0
2
8
0
0
0
0
0
1
-3
-21
-11
0
0
0
0
0
-2
0
-7
-6
0
0
-1
0
0
15
-5
0
0
0
0
0
0
0
2
-10
22
0
0
0
0
0
0
0
8
23
0
0
0
0
0
0
0
-6
20
0
0
0
2
0
-1
0
-43
61
0
0
0
0
0
0
0
-5
13
0
0
0
5
0
0
-2
0
-6
0
0
0
0
0
0
0
1
45
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-11
35
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-9
8
0
0
0
0
0
0
0
0
-9
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
8
17
-8
51
-11
-25
0
0
2
0
0
-5
-41
5
31
0
0
0
0
-4
0
-22
-20
9
0
0
-5
0
1
26
-4
-47
9
0
0
0
0
-2
2
-10
-9
0
0
0
-3
-2
-1
-1
-5
-34
5
0
0
0
0
-3
15
2
-18
-13
0
0
-7
-2
2
7
1
-16
-11
0
0
0
0
6
-34
-4
36
0
0
0
0
0
0
14
30
-26
0
0
0
0
-1
0
1
17
-31
0
0
0
1
0
5
-4
24
0
0
0
0
0
0
0
1
-1
-13
0
0
0
-1
0
0
0
-13
19
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
15
-43
0
0
0
0
0
0
-3
-17
53
0
0
0
0
0
0
-2
-10
-4
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-3
35
0
0
0
0
0
0
0
14
-29
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
39
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
11
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
-23
25
-13
13
-31
0
0
0
0
2
14
46
0
-28
0
0
0
0
-1
14
-16
-80
-15
0
0
0
0
0
-6
5
-42
-3
14
1
0
0
-6
9
-17
13
-18
0
0
0
0
1
0
-3
22
-17
0
0
0
0
0
10
37
-4
2
0
0
0
0
0
0
3
6
-2
10
0
0
0
0
4
54
2
0
0
0
0
0
-2
-27
67
-11
0
0
2
0
0
0
15
25
3
0
0
0
0
0
1
1
24
-4
0
1
0
0
0
6
-2
8
4
0
0
0
0
0
0
0
-46
8
0
0
0
0
0
0
3
11
-5
0
0
0
0
0
0
-1
8
-23
0
0
1
0
0
-2
5
-86
0
0
0
0
0
0
0
4
17
0
0
0
-1
0
0
0
2
-23
0
0
0
0
0
0
0
0
31
0
0
6
0
0
2
3
4
-45
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
-3
44
0
0
0
0
0
0
0
-2
1
0
0
-1
0
0
0
0
-41
16
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
6
-25
0
0
0
0
0
0
0
0
7
0
0
-10
0
0
0
0
18
-66
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
11
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
14
2
3
-52
0
0
0
-5
0
8
29
-7
-29
0
0
4
0
7
-19
131
-9
-14
0
0
1
3
0
-4
-44
16
8
0
0
0
0
0
-1
69
-3
-13
0
0
0
0
-2
0
-49
10
-3
0
0
0
0
0
0
14
-9
1
0
0
0
3
0
0
10
15
0
0
0
0
0
-11
-6
62
7
0
0
0
0
0
0
-11
14
2
0
0
0
0
0
0
-5
134
1
0
0
0
1
0
0
7
67
-19
0
0
0
0
0
0
2
-44
6
0
0
0
0
0
0
0
20
5
0
0
0
0
0
0
0
-26
6
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
5
-7
10
0
0
0
0
0
0
5
-5
-28
0
0
0
0
0
0
-14
-9
56
0
0
0
0
0
0
0
-4
-19
0
0
0
0
0
0
-2
1
-54
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
-33
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
15
-2
-1
-1
0
10
1
5
0
0
0
0
7
1
-3
-88
12
0
-13
0
0
4
-7
18
-34
-9
0
0
0
0
2
2
-16
-123
6
0
33
0
0
0
-6
29
-52
13
0
0
0
0
-1
-1
0
-23
15
0
-5
0
0
0
-15
-18
-4
3
0
0
0
-1
-1
0
-3
-67
4
0
3
0
0
-8
-6
-4
7
0
0
0
0
0
0
-3
-25
-12
0
0
-5
0
0
0
5
-33
13
0
0
0
0
0
-1
1
16
-22
0
0
1
0
0
0
0
25
-57
0
0
0
0
0
0
-1
5
-45
0
0
-6
0
0
0
0
4
8
0
0
0
0
0
0
0
-3
-89
0
0
2
0
0
-4
4
-15
0
0
0
0
0
0
1
8
8
0
0
0
-2
0
0
0
-13
-2
0
0
0
0
0
0
0
0
-2
0
0
0
-7
0
0
-1
17
2
0
0
0
0
0
0
0
2
2
0
0
0
-9
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
9
18
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
-1
25
0
0
0
0
0
0
0
-2
11
0
0
0
-1
0
0
0
0
18
0
0
0
0
0
0
0
0
-9
0
0
0
4
0
0
0
1
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
-13
9
30
15
-6
0
0
0
-1
-7
-5
10
-98
4
0
0
0
0
-6
2
-18
-23
-8
0
0
-7
-1
0
0
-2
-59
12
0
0
0
0
0
-5
-1
12
-3
0
0
0
1
2
0
1
24
-15
0
0
0
0
1
1
0
1
-1
0
0
-1
-2
0
0
1
33
-10
0
0
0
0
0
-2
-6
5
0
0
0
0
0
0
1
-7
-59
0
0
0
0
0
0
1
-1
3
0
0
0
1
1
0
0
10
-25
0
0
0
0
-2
1
2
-20
-5
0
0
0
1
0
0
0
8
-9
0
0
0
0
0
-1
0
0
-10
0
0
0
2
-1
0
0
0
-7
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
10
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-1
0
-15
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
37
8
0
0
0
1
1
0
37
-2
20
0
0
0
0
0
0
1
-23
-3
0
0
0
0
0
0
-3
-19
7
0
-20
1
0
-1
0
1
14
-6
0
0
0
0
0
0
6
24
2
0
0
0
0
0
0
8
32
-9
0
0
0
0
0
0
0
8
11
0
1
0
0
0
0
-33
-27
8
0
0
0
0
0
-2
-19
51
-1
0
0
0
0
0
0
29
-43
-7
0
0
0
0
0
0
-1
-14
2
0
-7
0
0
0
-3
-9
-21
12
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
1
28
3
0
0
0
0
0
0
0
5
13
0
0
-1
0
0
9
-43
21
0
0
0
0
0
0
-2
19
-19
0
0
0
0
0
0
0
-5
-28
0
0
0
0
0
0
0
1
-2
0
0
-1
0
0
0
0
-16
33
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
14
-38
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-29
-30
0
0
0
0
0
0
-1
0
-95
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
-1
24
0
0
2
0
0
0
0
-18
23
0
0
0
0
0
0
0
10
4
0
0
0
0
0
0
0
5
-48
0
0
0
0
0
0
0
0
34
0
0
0
0
0
-3
-1
21
-47
-2
0
0
0
0
1
6
5
27
-36
0
0
0
0
0
-1
-15
20
-18
0
0
0
0
0
1
0
6
-7
0
0
0
0
-1
1
-2
1
-4
0
0
0
0
2
3
-8
-7
5
0
0
0
0
-6
0
2
-8
-3
0
0
0
0
5
0
5
-9
0
0
0
0
0
0
2
14
-9
2
0
0
0
0
0
-1
0
-80
-5
0
0
0
0
0
0
3
-51
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
2
0
-2
36
5
0
0
0
0
0
0
6
-26
10
0
0
0
0
2
0
1
-1
4
0
0
0
0
-2
0
0
17
24
0
0
0
0
0
-2
-6
36
0
0
0
0
0
0
0
6
45
0
0
0
0
0
0
0
16
51
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
9
29
0
0
0
0
0
0
0
8
-20
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
-2
53
0
0
0
0
0
0
0
-14
42
0
0
0
0
0
0
0
-9
-20
0
0
0
0
0
0
0
-25
17
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-4
1
-44
-12
-8
0
0
0
0
0
2
14
32
-23
0
0
3
0
0
-5
-3
51
-31
0
0
0
0
0
1
-7
23
-53
0
0
0
0
2
0
-7
6
-13
0
0
0
0
0
0
6
5
-4
0
0
9
0
1
0
0
26
-25
0
0
0
1
1
0
4
-33
-4
0
0
0
0
0
5
-3
-100
5
0
0
0
0
0
-1
-3
-2
4
0
0
0
0
0
1
-4
48
-12
0
0
0
0
0
4
2
17
-11
0
0
-1
0
0
0
-3
-1
6
0
0
0
0
0
-1
0
6
-6
0
0
-2
0
0
2
0
-7
-10
0
0
0
1
0
-6
0
23
-12
0
0
0
0
0
-6
11
11
0
0
0
0
0
0
-5
-26
7
0
0
0
0
0
0
1
9
-41
0
0
0
0
0
0
3
0
13
0
0
0
0
0
0
0
-7
-52
0
0
0
0
0
0
0
-21
-8
0
0
0
-3
0
0
0
11
10
0
0
0
0
0
0
0
-3
41
0
0
0
0
0
0
0
7
33
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
5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-10
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
15
0
0
0
0
-1
3
1
-24
-17
6
0
0
0
-2
2
-3
19
7
-16
0
0
0
0
0
0
6
2
-71
0
0
0
4
-6
0
-3
18
-67
0
0
0
0
0
0
-1
-5
-8
0
0
0
-5
3
-1
-2
-20
-48
0
0
0
0
0
-1
-4
-1
-3
0
0
0
5
-1
0
-3
18
-35
0
0
0
0
-1
0
-1
33
-7
0
0
0
0
0
0
0
-16
10
0
0
0
0
1
0
-7
46
-46
0
0
0
2
8
0
-1
39
-58
0
0
0
0
0
0
0
-23
16
0
0
0
0
0
0
0
6
23
0
0
0
0
5
0
0
7
-23
0
0
0
0
-4
-1
0
-1
8
0
0
0
0
0
0
-14
19
0
0
0
0
0
-1
0
-1
-22
0
0
0
0
0
0
0
1
-26
0
0
0
0
-1
0
1
1
-21
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
3
-2
-3
-6
0
0
0
0
0
0
0
11
-35
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
8
17
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
-18
0
0
0
0
0
-1
0
-1
-3
0
0
0
0
1
0
0
0
18
0
0
46
0
0
0
-3
-74
16
-31
0
0
0
0
0
0
-6
21
17
0
0
-1
0
0
0
10
-28
15
0
0
0
0
0
0
-8
-9
-6
0
-35
0
0
0
-1
-23
-93
15
0
0
0
0
1
0
-2
14
-6
0
0
0
0
0
0
-7
25
-8
0
0
0
0
0
0
0
14
5
0
2
0
0
0
2
-7
-19
4
0
0
0
0
0
0
0
37
3
0
0
1
0
0
0
-5
4
-4
0
0
0
0
0
0
6
72
-6
0
18
0
0
0
-1
-5
28
1
0
0
0
0
0
0
0
33
-1
0
0
0
0
0
0
0
39
1
0
0
0
0
0
0
0
2
2
0
2
0
0
0
1
24
6
0
0
0
0
0
0
0
8
22
0
0
0
3
0
0
0
36
-6
0
0
0
0
0
0
0
0
27
0
0
9
0
0
0
0
-21
6
0
0
0
0
0
0
0
-2
15
0
0
0
-1
0
0
0
11
32
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
1
-61
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-4
0
0
-13
0
0
0
0
0
58
0
0
0
0
0
-1
0
0
-14
0
0
0
-2
0
0
0
1
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
2
2
-14
-7
4
0
0
0
0
0
0
0
8
-7
0
0
0
0
0
0
0
-19
6
0
0
0
4
-1
0
-1
-52
10
0
0
0
0
0
0
1
11
-8
0
0
0
0
-2
0
1
-32
-2
0
0
0
0
0
0
-9
-17
13
0
0
0
0
0
0
2
-1
-6
0
0
0
0
0
0
0
-34
10
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
11
-18
0
0
0
0
-2
0
0
17
-26
0
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
32
1
0
0
0
0
0
0
0
84
-12
0
0
0
0
0
0
0
-3
23
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-1
-32
0
0
0
0
0
0
0
1
-25
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
-5
0
0
0
0
0
0
0
-1
-33
0
0
0
0
0
0
0
2
-15
0
0
0
0
0
0
0
-3
-17
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
4
0
0
0
2
-2
1
-1
-4
15
-6
0
0
0
0
0
0
-7
-6
14
0
0
11
0
0
0
0
11
-15
0
0
0
0
0
0
0
15
8
0
0
0
0
0
0
3
13
-4
0
0
0
0
0
0
0
-10
-10
0
0
-5
0
0
0
0
0
-3
0
0
0
3
0
0
-2
1
15
0
0
0
0
0
0
0
30
-10
0
0
0
0
0
0
0
10
-1
0
0
-1
0
0
0
0
-2
-5
0
0
0
0
0
0
0
-17
13
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
15
-7
0
0
1
0
0
0
1
25
-19
0
0
0
-1
0
0
0
5
-10
0
0
4
0
0
3
2
10
0
0
0
0
0
0
0
26
24
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
5
0
0
0
0
0
0
0
4
5
0
0
0
-19
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
5
-41
0
0
0
0
0
0
0
-23
19
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
-5
0
0
0
0
0
0
0
0
15
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
-14
0
0
0
0
-6
-4
3
-3
-1
13
0
0
0
0
0
0
-5
6
-38
0
0
0
0
0
0
0
-9
-55
0
0
0
0
0
0
0
-1
-42
0
0
0
0
0
1
0
0
6
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-1
-1
-10
0
0
0
1
-2
0
0
0
5
0
0
0
0
0
-1
0
-9
11
0
0
0
2
0
0
0
6
-18
0
0
0
0
0
0
0
7
16
0
0
0
0
0
0
0
-29
29
0
0
0
0
0
0
0
14
15
0
0
0
0
-1
0
0
33
-32
0
0
0
0
0
0
0
27
-43
0
0
0
-2
0
0
0
-2
37
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
18
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
-18
2
8
0
0
0
0
0
0
-2
6
-54
0
0
0
1
0
0
2
-1
18
0
0
0
0
0
0
0
-4
14
0
0
2
5
0
0
2
20
-42
0
0
0
0
0
-1
0
-3
40
0
0
0
0
0
0
-3
13
30
0
0
0
0
0
0
-2
-3
-4
0
0
0
0
0
0
16
14
11
0
0
0
0
0
0
0
11
-3
0
0
0
0
0
0
-2
15
-1
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
-17
41
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
35
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-8
6
43
0
0
0
0
0
0
-1
26
-20
0
0
0
0
0
0
0
36
-58
0
0
0
0
0
0
0
1
54
0
0
0
0
0
0
-1
-12
6
0
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
-13
7
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-2
-25
20
0
0
0
0
0
0
0
-1
-3
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
33
0
0
3
0
0
0
0
-39
-36
0
0
0
0
0
0
0
-15
53
0
0
0
0
0
0
0
-4
29
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-7
36
-78
0
0
0
0
0
0
0
19
-5
0
0
0
0
0
1
1
7
-11
0
0
0
0
0
0
0
26
-16
0
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
17
5
0
0
0
0
0
1
0
-5
-5
0
0
0
0
0
0
0
-21
44
0
0
0
0
0
0
0
-14
25
0
0
0
0
0
0
0
-9
46
0
0
0
0
0
0
0
2
43
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
55
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-4
16
0
0
0
0
0
0
0
-15
28
0
0
0
0
0
0
0
5
-38
0
0
0
0
0
0
0
-8
17
0
0
0
0
0
0
0
3
19
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
9
-41
0
0
0
0
0
0
0
-3
29
0
0
0
0
0
0
0
32
-5
0
0
0
0
0
0
0
4
39
0
0
0
0
0
0
0
1
33
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
6
44
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
-4
10
0
0
0
1
0
0
4
-36
5
0
0
0
0
0
0
-1
-16
3
0
0
0
0
0
0
1
-31
-8
0
0
0
0
0
0
0
7
45
0
0
0
2
0
0
-15
-10
45
0
0
0
0
0
0
1
-2
22
0
0
0
-6
0
0
-6
3
32
0
0
0
0
0
0
2
-8
-14
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
1
3
-8
0
0
0
0
0
0
3
-13
26
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
-7
-7
0
0
0
0
0
0
0
-3
75
0
0
0
8
0
0
-1
-4
-79
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
-6
35
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
7
-2
10
0
0
0
-1
0
0
0
-5
-2
0
0
0
0
0
0
0
34
-60
0
0
0
16
0
0
0
3
5
0
0
0
0
0
0
0
-2
-15
0
0
0
0
0
0
-1
2
18
0
0
0
0
0
0
0
4
-21
0
0
0
0
0
0
1
-3
23
0
0
0
0
0
0
0
2
60
0
0
0
0
0
0
0
-36
44
0
0
0
0
0
0
0
1
38
0
0
0
-4
0
0
0
14
-34
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
3
7
-5
-15
0
0
0
0
1
0
0
-23
-3
0
0
0
0
0
0
0
16
11
0
0
0
0
0
0
0
-27
14
0
0
0
0
-2
0
0
-11
0
0
0
0
0
6
-3
0
6
-7
0
0
0
0
0
0
1
-1
-29
0
0
0
0
2
0
0
-1
20
0
0
0
0
0
0
0
16
6
0
0
0
0
0
0
-2
0
-11
0
0
0
0
0
0
0
2
-5
0
0
0
0
-1
0
0
2
-15
0
0
0
0
0
0
2
1
-24
0
0
0
0
0
0
0
5
9
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
4
-14
0
0
0
0
0
0
0
5
15
0
0
0
0
0
0
0
-17
30
0
0
0
0
0
0
0
3
-28
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
-4
-29
0
0
0
0
0
0
0
7
121
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
1
37
0
0
0
0
0
0
0
0
26
0
0
7
0
0
0
0
-29
44
0
0
0
0
0
0
0
4
19
0
0
0
0
0
0
0
-17
-28
0
0
0
0
0
0
0
1
-52
0
0
-14
0
0
0
-2
-7
33
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
4
27
0
0
0
0
0
0
1
1
3
0
0
0
0
0
0
0
1
21
0
0
0
0
0
0
0
2
16
0
0
14
0
0
0
0
13
11
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
1
20
6
0
0
0
0
0
0
0
2
18
0
0
0
0
0
0
2
-23
-24
0
0
0
0
0
0
0
4
5
0
0
-2
-1
0
0
0
-19
43
0
0
0
0
0
0
0
-17
5
0
0
0
-1
0
0
0
-9
-14
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-27
30
0
0
0
0
0
0
0
44
-72
0
0
0
0
0
0
0
-5
25
0
0
0
0
0
0
0
-3
66
0
0
6
0
0
0
0
-53
9
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
1
8
1
-14
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
1
2
-14
0
0
0
0
1
0
0
3
-26
0
0
0
0
0
0
0
-9
2
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
-18
27
0
0
0
0
0
0
0
-4
28
0
0
0
0
0
0
0
0
26
0
0
0
0
0
3
1
1
29
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
-2
40
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
16
9
0
0
0
0
0
0
0
-14
24
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
41
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
-1
113
0
0
0
0
0
0
0
1
-5
0
0
0
0
-1
-2
-2
10
-19
0
0
0
0
0
0
0
2
-9
0
0
0
-2
0
0
0
2
-3
0
0
0
0
0
0
0
-1
-21
0
0
0
3
0
0
1
18
-43
0
0
0
0
0
0
0
0
-11
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
-64
0
0
0
0
0
0
0
0
30
0
0
0
-1
0
0
0
-5
-1
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-1
19
0
0
0
1
0
0
0
0
-14
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
15
-2
0
0
0
0
0
0
0
-1
33
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
11
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
-31
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-2
81
0
0
0
0
0
0
0
1
-21
0
0
0
-1
0
0
0
8
9
0
0
0
0
0
0
0
-1
30
0
0
0
3
0
0
0
0
30
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
-1
-6
21
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
25
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
29
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
9
0
0
0
0
0
0
0
0
-11
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
-10
17
0
0
0
0
0
0
0
8
-27
0
0
0
0
0
0
0
0
14
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
-10
0
0
0
0
0
1
11
7
15
0
0
0
0
0
1
1
-18
53
0
0
0
-2
0
0
0
-5
35
0
0
0
0
0
0
0
5
-21
0
0
-3
0
0
0
2
24
-74
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-17
59
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
1
3
-12
0
0
0
0
0
0
0
10
-11
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
-14
-37
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
1
-81
54
0
0
0
0
0
0
0
-30
11
0
0
0
3
0
0
0
58
-21
0
0
0
0
0
0
0
-2
13
0
0
-1
0
0
0
0
67
-16
0
0
0
0
0
0
0
-29
15
0
0
0
0
0
0
0
31
10
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
-62
40
0
0
0
0
0
0
0
23
-42
0
0
0
0
0
0
0
-20
33
0
0
0
0
0
0
0
-3
15
0
0
-1
0
0
0
0
12
-3
0
0
0
0
0
0
0
-1
35
0
0
0
-1
0
0
0
11
55
0
0
0
0
0
0
0
-2
32
0
0
0
0
0
0
0
54
-36
0
0
0
0
0
-1
1
-17
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
-7
62
0
0
0
0
0
-4
0
18
14
0
0
0
0
0
0
0
11
14
0
0
0
0
0
-1
0
-33
12
0
0
0
0
0
0
0
33
15
0
0
0
0
0
0
3
-6
24
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
2
-51
0
0
0
0
0
1
0
-11
-37
0
0
0
0
0
1
0
-1
-7
0
0
0
0
0
0
0
-8
-17
0
0
0
0
0
0
0
0
4
0
0
0
0
2
0
0
0
-14
0
0
0
0
0
0
1
7
5
0
0
0
0
0
0
0
4
19
0
0
0
0
0
0
0
-21
2
0
0
0
0
0
0
0
11
-18
0
0
0
0
0
3
0
-23
16
0
0
0
0
0
0
0
4
17
0
0
0
0
0
0
0
5
62
0
0
0
0
0
0
0
-7
39
0
0
0
0
0
0
0
-27
29
0
0
0
0
0
0
0
7
19
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
-4
-13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-11
70
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
0
-26
0
0
0
0
1
0
-4
-21
43
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
1
0
0
0
0
0
0
-3
4
26
0
0
0
0
0
0
-2
2
-5
0
0
0
-2
0
0
0
-13
16
0
0
0
0
0
0
2
3
-4
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
1
-14
52
0
0
0
0
0
0
0
-4
-4
0
0
0
0
1
0
-1
-2
-46
0
0
0
0
0
0
0
6
-11
0
0
0
0
0
0
0
-1
71
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
14
8
0
0
0
-1
0
0
2
-9
-32
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
-13
47
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-3
8
0
0
0
0
1
0
0
-2
16
0
0
0
0
0
0
0
31
4
0
0
0
0
0
0
0
-17
-9
0
0
0
0
0
0
0
-11
22
0
0
0
0
-1
0
0
16
-53
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
-11
57
0
0
0
1
0
0
0
-3
67
0
0
0
0
0
0
0
0
37
0
0
0
0
0
-1
2
-5
-19
0
0
0
0
0
0
-2
-15
13
0
0
0
0
0
0
0
-1
45
0
0
0
0
-1
0
0
-2
-5
0
0
0
0
0
0
1
-11
15
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
-1
0
0
0
0
0
0
0
15
3
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
1
7
-1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-1
0
18
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
0
-8
20
0
0
0
0
0
0
0
-15
45
0
0
0
0
3
0
0
7
-14
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
10
3
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
-11
42
0
0
0
0
-1
0
0
-13
59
0
0
0
0
0
0
0
-3
31
0
0
0
0
1
0
0
0
-21
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
-1
27
0
0
0
0
-1
0
0
-3
15
0
0
-7
0
0
1
-3
9
-53
0
0
0
0
0
0
0
-7
16
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
-1
-5
0
0
-26
0
0
0
0
25
-25
0
0
0
0
0
0
0
-1
62
0
0
0
5
0
0
0
-1
5
0
0
0
0
0
0
0
0
61
0
0
-2
0
0
0
0
5
-29
0
0
0
0
0
0
0
5
18
0
0
0
0
0
0
0
-3
-16
0
0
0
0
0
0
0
-1
74
0
0
14
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
35
0
0
-2
0
0
0
1
19
-2
0
0
0
0
0
0
0
0
77
0
0
0
-1
0
0
0
-3
-16
0
0
0
0
0
0
0
-1
33
0
0
-3
0
0
0
-2
-53
-25
0
0
0
0
0
0
0
6
29
0
0
0
1
0
0
0
5
-11
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
3
-9
5
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-2
20
0
0
0
0
0
0
0
1
77
0
0
16
0
0
0
0
-21
-1
0
0
0
0
0
0
0
-8
-17
0
0
0
0
0
0
0
4
24
0
0
0
0
0
0
0
1
20
0
0
0
0
0
2
-1
-18
10
0
0
0
0
0
-1
0
-1
25
0
0
0
0
0
0
-1
-1
-11
0
0
0
0
0
0
0
-1
-55
0
0
0
0
0
5
0
-2
7
0
0
0
0
0
1
0
14
4
0
0
0
0
0
2
0
0
21
0
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
48
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
0
0
-9
0
0
0
0
0
0
0
-1
-24
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-56
63
0
0
0
0
0
0
0
-5
48
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-9
17
0
0
0
0
0
0
0
0
-53
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
30
0
0
0
0
0
0
0
-1
73
0
0
0
0
0
0
0
-8
35
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
1
54
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
1
-9
0
0
0
1
0
0
-4
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-11
5
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
9
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
14
0
0
0
0
0
0
0
0
17
0
0
0
-1
0
0
0
0
29
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
2
-23
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-13
0
0
0
1
0
0
0
-2
28
0
0
0
0
0
0
0
-3
47
0
0
0
1
0
0
0
4
-26
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
-23
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
-2
0
0
0
0
0
0
0
-1
23
0
0
0
2
0
0
0
4
18
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
-3
5
0
0
0
2
0
0
0
0
61
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
0
-1
-4
48
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
9
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
-11
0
0
0
0
0
-2
0
0
20
0
0
0
0
0
0
0
0
4
0
0
0
0
2
-1
0
2
-14
0
0
0
0
0
1
0
0
-3
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
8
0
0
0
0
0
0
0
5
-15
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
31
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
50
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
-47
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-1
0
-1
6
0
0
0
4
0
6
-7
-19
110
26
6
0
0
0
4
5
22
-5
-7
-11
0
-20
0
0
7
-40
22
30
9
0
0
0
-1
-1
-25
8
1
6
1
-1
0
0
-8
6
-19
15
5
0
0
0
0
-1
-24
14
7
11
0
18
0
0
-8
8
-16
32
2
0
0
0
0
-1
-6
-7
-15
4
-1
0
0
-1
-1
11
-80
7
0
0
0
0
0
1
-9
57
1
0
0
-1
0
0
-4
6
14
-1
0
0
0
0
0
1
-9
23
-12
0
14
1
0
0
0
-8
-10
-7
0
0
0
0
0
0
1
21
-6
0
0
1
0
0
0
-13
-22
4
0
0
0
0
0
-1
0
3
-14
0
0
1
0
0
-8
14
-20
0
0
0
0
0
0
1
29
-47
0
0
0
0
0
0
-15
-74
73
0
0
0
0
0
0
0
4
15
0
0
-37
0
0
0
-3
-53
5
0
0
0
0
0
0
0
1
4
0
0
0
-3
0
0
2
6
-7
0
0
0
0
0
0
0
-1
-2
0
0
-2
0
0
0
-1
28
20
0
0
0
0
0
0
0
14
11
0
0
0
-1
0
0
3
-52
39
0
0
0
0
0
0
0
-2
-34
0
0
5
0
0
0
0
-90
18
0
0
0
0
0
0
0
-21
-11
0
0
0
-1
0
0
0
1
7
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
16
-8
-15
6
4
0
0
-1
5
-3
-24
54
-22
12
0
0
0
0
-2
5
10
14
3
0
0
-6
8
-5
3
38
-48
-1
0
0
0
0
-1
8
-57
8
10
0
0
0
-1
3
0
-38
5
-4
0
0
0
0
2
2
86
1
-5
0
0
3
3
0
-5
-14
17
-34
0
0
0
0
1
5
35
-3
0
0
0
0
1
1
33
20
7
0
0
0
0
1
3
1
32
-3
0
0
0
-2
-7
6
23
107
-16
0
0
0
0
0
0
-11
23
3
0
0
0
0
-2
1
7
7
-1
0
0
0
0
0
0
0
-52
4
0
0
0
0
0
0
-3
-39
-22
0
0
0
0
0
0
5
-31
0
0
0
0
0
0
0
-37
-12
0
0
0
0
0
0
1
-43
43
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
-1
-1
-10
20
0
0
0
0
0
0
0
-7
21
0
0
0
0
0
0
0
25
-10
0
0
0
0
0
0
0
19
2
0
0
0
0
0
0
1
13
-14
0
0
0
0
0
0
0
6
-5
0
0
0
0
0
1
-1
6
17
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
-1
0
-25
25
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
2
16
0
0
0
5
0
0
-3
-5
100
-11
4
0
0
3
-1
-14
3
-33
7
8
0
-14
0
0
1
-54
11
-26
1
0
0
0
0
-5
-18
-24
-18
6
0
33
0
-1
7
20
25
31
-17
0
0
0
0
-2
-14
37
-5
2
0
41
0
0
1
-19
-1
10
1
0
0
4
0
0
1
15
22
3
0
-1
0
0
5
4
5
6
0
0
0
0
4
-2
20
22
-6
0
0
-35
0
0
-14
-14
1
1
0
0
0
0
-1
-1
-8
47
-31
0
0
0
0
0
0
11
-5
-22
0
0
0
0
0
0
-6
-16
-3
0
0
-22
0
0
2
-1
9
-10
0
0
0
-1
0
1
-1
-16
-18
0
0
0
0
0
7
1
-26
0
0
0
0
0
0
-1
-2
52
0
0
0
6
0
0
6
1
30
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
-17
0
0
0
12
0
0
0
-9
15
0
0
0
0
0
0
0
-2
-8
0
0
0
1
0
0
1
14
8
0
0
0
0
0
0
-1
-4
7
0
0
0
15
0
0
4
4
9
0
0
0
0
0
0
0
2
21
0
0
0
-3
0
0
0
1
15
0
0
0
0
0
0
0
-2
18
0
0
0
19
0
0
0
4
-16
0
0
0
0
0
0
0
0
2
0
0
0
0
1
1
-2
-10
-5
-38
0
0
0
-3
-2
-1
-27
26
-9
2
0
0
1
-1
-8
9
15
-80
0
0
0
-4
1
3
-10
23
-39
-6
0
0
0
2
0
-21
-45
35
-18
0
0
1
1
-2
5
-8
37
-3
0
0
-2
1
-5
-2
-1
34
-26
0
0
0
1
0
3
-2
32
-22
0
0
0
0
0
4
-15
-13
0
0
0
-4
-8
1
6
-17
51
0
0
0
0
-4
15
25
59
-34
0
0
0
5
7
9
10
9
-25
0
0
0
0
0
0
10
24
-36
0
0
0
2
-2
0
2
31
-25
0
0
0
0
0
1
3
20
-39
0
0
0
1
-1
0
-1
-2
23
0
0
0
0
0
1
14
4
0
0
0
0
0
0
-1
10
-2
0
0
0
0
0
0
1
-9
-7
0
0
0
0
-1
-1
-1
3
5
0
0
0
0
0
0
0
4
46
0
0
0
0
1
0
0
1
-7
0
0
0
0
0
0
0
-9
-2
0
0
0
0
-1
2
0
-3
0
0
0
0
0
0
0
0
-4
68
0
0
0
0
0
0
0
6
-21
0
0
0
0
0
0
3
-5
-29
0
0
0
0
1
0
0
4
27
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
-6
57
0
0
0
0
0
0
-1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-5
7
6
0
0
0
0
0
-1
16
37
-5
0
0
6
0
0
0
-3
38
-4
0
0
0
0
1
6
17
60
-4
0
7
7
0
0
0
21
8
5
0
0
0
0
0
0
27
34
-5
0
0
-2
0
1
6
-25
-28
18
0
0
0
0
0
-1
1
19
5
0
-12
0
0
0
-7
-7
15
-4
0
0
0
0
0
-1
-6
18
1
0
0
0
0
0
5
4
-41
7
0
0
0
0
0
0
2
50
-13
0
-24
-1
0
0
0
-22
43
-3
0
0
0
0
0
0
3
-58
2
0
0
0
0
0
0
5
-42
-3
0
0
0
0
0
0
-1
27
11
0
-2
0
0
0
-15
1
1
0
0
0
0
0
0
-18
4
-8
0
0
0
-2
0
0
-1
14
55
0
0
0
0
0
0
0
4
-8
0
0
33
-1
0
0
3
-53
9
0
0
0
0
0
0
2
21
11
0
0
0
-1
0
0
-1
13
-4
0
0
0
0
0
0
1
1
15
0
0
-8
-3
0
0
-8
25
-26
0
0
0
0
0
0
2
-29
-14
0
0
0
3
0
0
-4
-11
12
0
0
0
0
0
0
-3
-2
72
0
0
-3
-1
0
0
-2
56
-4
0
0
0
0
0
0
0
-11
26
0
0
0
1
0
0
0
6
12
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
2
-3
35
30
-3
0
0
0
0
2
-7
6
12
-41
0
0
0
0
-3
3
-2
19
-32
0
0
0
2
-7
17
-16
52
-14
0
0
0
0
0
0
-9
101
-9
0
0
0
0
1
1
-10
114
-10
0
0
0
0
0
-2
5
34
11
0
0
0
0
0
-2
2
-7
8
0
0
0
0
0
11
2
24
2
0
0
0
0
0
-3
-8
6
7
0
0
0
0
0
-13
5
21
0
0
0
0
-3
0
-3
-24
-24
62
0
0
0
0
0
0
5
5
-3
0
0
0
0
1
1
-3
59
7
0
0
0
0
0
0
7
22
3
0
0
0
0
0
0
-3
25
12
0
0
0
0
0
-1
-25
6
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
2
2
16
-12
0
0
0
0
3
-3
3
2
-11
0
0
0
0
0
0
0
-43
29
0
0
0
0
0
4
1
-1
24
0
0
0
0
0
0
0
8
-8
0
0
0
0
0
0
0
2
17
0
0
0
0
0
0
1
-46
16
0
0
0
0
2
-1
0
32
-8
0
0
0
0
-1
0
0
5
-8
0
0
0
0
0
0
1
-9
43
0
0
0
0
0
0
0
-8
-17
0
0
0
0
0
0
-1
-19
5
0
0
0
0
0
0
0
-11
22
0
0
0
0
0
-3
0
-5
17
0
0
0
10
-3
2
-7
27
-28
2
0
0
0
0
1
-6
-17
17
-17
0
0
-9
0
0
29
-46
78
-13
0
0
0
-1
0
5
1
-13
35
0
0
-2
0
-2
3
-13
90
-9
0
0
0
1
-1
1
-5
-50
-3
0
0
30
0
0
5
7
-22
8
0
0
0
-1
4
-1
1
-11
3
0
0
-1
0
0
-3
-26
115
7
0
0
0
0
0
0
4
-15
15
0
0
-4
1
-1
0
0
25
-12
0
0
0
1
-1
-1
-1
-51
39
0
0
0
0
0
0
0
12
-12
0
0
0
-1
0
-1
1
19
5
0
0
2
0
0
4
-1
-22
2
0
0
0
5
-1
-4
1
24
38
0
0
0
0
0
8
-24
9
0
0
0
0
0
0
3
-3
47
0
0
0
-7
0
0
0
-20
67
0
0
0
0
1
0
0
0
-23
0
0
0
-2
0
1
11
-14
-2
0
0
0
0
0
0
3
11
-20
0
0
0
-26
0
0
10
14
-24
0
0
0
0
0
-1
-5
-1
44
0
0
0
-1
0
0
2
13
-8
0
0
0
0
0
0
0
0
-6
0
0
0
3
0
0
-2
-9
24
0
0
0
0
0
0
3
-10
29
0
0
0
3
0
0
1
31
-39
0
0
0
0
0
0
0
1
0
0
0
0
-7
0
0
2
-8
37
0
0
0
0
-1
0
0
0
45
0
0
0
0
3
5
1
1
-7
-12
0
0
0
3
-1
0
18
49
-35
0
0
0
-4
-11
1
11
5
21
0
0
0
-10
-10
-23
13
10
-6
0
0
0
0
0
-4
0
5
-6
0
0
0
0
0
0
2
-19
12
0
0
0
0
0
13
0
20
14
0
0
0
-1
-18
1
0
3
28
0
0
0
0
0
-1
-1
54
-4
0
0
0
4
19
0
8
-7
5
0
0
0
2
2
9
6
46
-35
0
0
0
-8
11
0
5
-24
2
0
0
0
0
0
0
0
-17
24
0
0
0
0
0
1
1
32
15
0
0
0
0
0
0
-4
40
-20
0
0
0
1
8
0
-8
26
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
-1
-4
80
0
0
0
0
0
-1
-2
-5
0
0
0
0
0
6
0
3
0
-7
0
0
0
0
0
-1
0
1
-41
0
0
0
0
0
7
1
-23
13
0
0
0
0
0
0
-8
1
44
0
0
0
0
6
-4
0
2
33
0
0
0
0
0
0
0
-3
23
0
0
0
0
-3
0
1
-3
-49
0
0
0
0
-2
-2
14
2
-23
0
0
0
0
4
13
-7
-8
-5
0
0
0
0
0
0
0
5
5
0
0
0
0
3
0
-1
0
22
0
0
0
0
0
6
-1
-4
-34
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
23
-1
0
-2
-21
-55
16
0
0
0
0
0
0
8
11
-17
0
0
0
-1
0
0
-2
5
33
0
0
0
0
0
1
-1
-15
27
0
0
-4
3
0
0
-1
-3
-9
0
0
0
0
0
0
0
-36
48
0
0
0
-23
0
0
-1
45
1
0
0
0
0
0
0
-1
11
-1
0
0
-11
0
0
0
-1
13
2
0
0
0
0
0
0
0
15
-2
0
0
0
-2
0
0
1
-43
-29
0
0
0
0
0
0
-1
-21
8
0
0
44
0
0
1
0
-11
4
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
6
21
0
0
0
0
0
0
0
-1
5
0
0
5
0
0
0
-1
-5
-13
0
0
0
0
0
0
0
-9
66
0
0
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
10
52
0
0
-4
0
0
0
0
45
-13
0
0
0
0
0
0
0
-11
35
0
0
0
1
0
0
0
1
6
0
0
0
0
0
0
-2
6
-5
0
0
-1
0
0
0
1
12
5
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
2
19
0
0
0
0
0
0
0
9
11
0
0
-1
0
0
0
2
0
16
0
0
0
0
0
13
0
-13
-9
0
0
0
-1
0
0
1
11
43
0
0
0
0
0
0
1
3
44
0
0
0
0
0
-1
10
-20
1
0
0
0
0
0
0
0
-30
22
0
0
0
0
0
1
-2
-4
35
0
0
0
0
0
3
5
0
-2
0
0
0
0
0
0
0
8
27
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
0
0
-8
-31
0
0
0
0
0
0
0
10
-10
0
0
0
0
0
1
0
39
-20
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
-1
0
-23
37
0
0
0
0
0
-1
0
10
14
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
-1
-47
0
0
0
0
0
0
-1
4
65
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
58
-14
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
16
1
0
0
0
0
0
0
1
1
8
0
0
0
0
0
0
0
17
-1
0
0
0
0
0
0
0
2
24
0
0
0
0
0
0
0
-18
14
0
0
0
0
0
0
0
7
-11
0
0
0
0
0
0
0
-28
14
0
0
0
0
0
1
0
-7
28
0
0
0
0
0
0
1
-43
-11
0
0
0
0
0
0
0
-15
2
0
0
0
0
0
0
1
27
3
0
0
0
0
0
0
0
-2
23
0
0
0
0
0
0
0
14
-9
0
0
0
0
0
0
0
-3
14
0
0
0
-31
0
-1
-15
-6
53
0
0
0
0
-3
0
11
-10
-2
0
0
0
6
0
0
0
-19
-45
0
0
0
0
-1
0
1
1
-2
0
0
0
8
0
2
0
-2
5
0
0
0
0
0
0
0
15
-18
0
0
0
24
0
0
1
3
32
0
0
0
0
0
0
-4
-1
5
0
0
0
1
0
0
-5
9
-39
0
0
0
0
0
2
3
4
30
0
0
0
-14
0
0
1
5
-19
0
0
0
0
0
5
8
23
-1
0
0
0
0
0
0
1
13
-56
0
0
0
0
0
1
0
2
17
0
0
0
-14
0
0
0
-1
1
0
0
0
0
1
0
0
1
29
0
0
0
-2
0
0
0
-8
-10
0
0
0
0
0
0
0
-3
-12
0
0
0
39
0
0
1
-15
-12
0
0
0
0
0
0
0
-7
-26
0
0
0
0
0
0
-1
-45
48
0
0
0
0
0
0
0
-8
14
0
0
0
9
0
0
-1
-17
3
0
0
0
0
0
0
0
5
1
0
0
0
1
0
0
0
-61
5
0
0
0
0
0
0
0
-5
71
0
0
0
-13
0
0
-2
9
24
0
0
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
-13
3
0
0
0
0
0
0
0
10
32
0
0
0
10
0
0
0
-5
54
0
0
0
0
1
0
3
-3
5
0
0
0
0
1
3
-9
-33
21
0
0
0
0
1
8
-6
14
-20
0
0
0
0
0
0
9
-49
17
0
0
0
0
-1
3
15
-8
-7
0
0
0
0
0
0
0
23
10
0
0
0
0
0
0
-17
-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
-24
16
0
0
0
0
1
-1
0
-16
-3
0
0
0
0
0
2
-1
3
-18
0
0
0
0
0
-2
-4
-2
31
0
0
0
0
0
0
0
0
-46
0
0
0
0
-2
-1
0
-2
-13
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
4
0
-2
13
0
0
0
0
0
0
0
9
109
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
-6
44
0
0
0
0
1
0
0
23
-3
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
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
24
2
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
13
8
0
0
0
0
0
0
-1
-3
33
0
0
0
0
0
0
0
3
41
0
0
0
0
0
0
0
-3
17
0
0
0
0
-1
0
0
-3
-5
0
0
0
0
-1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
1
2
-20
-18
0
0
0
3
0
0
7
14
-38
0
0
0
0
0
0
0
-4
15
0
0
3
0
0
2
-2
8
-34
0
0
0
0
0
0
-5
-9
5
0
0
0
0
0
-1
1
5
-14
0
0
0
0
0
1
2
-2
-3
0
0
3
1
0
-1
3
-22
16
0
0
0
0
0
0
0
-14
36
0
0
0
0
0
0
0
21
-43
0
0
0
0
0
0
0
10
37
0
0
-24
0
0
0
-4
-43
13
0
0
0
0
0
0
0
-6
14
0
0
0
1
0
0
0
-16
17
0
0
0
0
0
0
-1
-3
24
0
0
0
4
0
1
-5
-45
5
0
0
0
0
0
-4
0
13
7
0
0
0
2
0
0
-1
-25
-7
0
0
0
0
0
0
0
-43
28
0
0
3
-1
0
0
0
-35
-17
0
0
0
0
0
0
0
-19
35
0
0
0
-2
0
0
0
46
4
0
0
0
0
0
0
0
-14
14
0
0
2
-1
-1
-1
8
-39
10
0
0
0
0
0
0
3
-30
-24
0
0
0
-1
0
0
-1
53
2
0
0
0
0
0
0
-1
-4
22
0
0
7
-2
0
0
-2
-34
-20
0
0
0
0
0
0
0
-6
8
0
0
0
2
0
0
-2
6
-10
0
0
0
0
0
0
0
5
52
0
0
0
0
0
0
0
-7
64
0
0
0
0
-2
-2
0
-14
42
0
0
0
0
0
0
-3
-6
-10
0
0
0
0
0
0
3
1
28
0
0
0
0
0
0
0
-3
-19
0
0
0
0
0
0
1
19
9
0
0
0
0
0
0
-1
-9
-3
0
0
0
0
0
0
1
3
1
0
0
0
0
0
0
-1
-37
3
0
0
0
0
0
0
0
-17
42
0
0
0
0
0
0
4
-11
3
0
0
0
0
-2
1
0
-9
-83
0
0
0
0
0
-2
0
-10
-8
0
0
0
0
0
-1
0
21
-31
0
0
0
0
0
0
0
43
-8
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
11
0
0
0
0
0
-1
1
0
-9
23
0
0
0
0
0
0
-1
23
-17
0
0
0
0
0
0
-1
-33
46
0
0
0
0
0
-1
0
-5
5
0
0
0
0
0
0
0
7
-17
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-29
-9
0
0
0
0
0
0
1
-75
8
0
0
0
0
0
0
0
-13
27
0
0
0
0
0
0
0
4
-7
0
0
0
0
1
0
1
21
33
0
0
0
0
0
0
0
-14
28
0
0
0
0
0
0
0
-37
-46
0
0
0
0
0
0
0
-5
64
0
0
0
0
0
0
0
3
28
0
0
0
3
2
0
-3
-45
9
0
0
0
0
0
0
-3
20
7
0
0
0
-8
0
0
6
23
-24
0
0
0
0
0
0
0
-24
4
0
0
0
0
0
0
9
3
1
0
0
0
0
0
0
2
14
-35
0
0
0
9
0
3
-1
-5
16
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
-1
3
-42
0
0
0
0
0
-2
15
-27
-46
0
0
0
11
0
0
2
-2
-47
0
0
0
0
0
0
-5
-1
3
0
0
0
-1
0
0
-1
-45
55
0
0
0
0
3
-1
-2
-2
-72
0
0
0
13
-1
-3
-1
8
4
0
0
0
0
-2
0
0
4
1
0
0
0
0
0
0
2
23
-21
0
0
0
0
0
0
-1
0
-24
0
0
0
8
0
0
3
2
-34
0
0
0
0
2
0
-8
11
48
0
0
0
0
0
-1
9
-5
16
0
0
0
0
0
0
0
-3
8
0
0
0
-2
0
0
-2
-21
-19
0
0
0
0
-1
2
0
-3
9
0
0
0
-1
0
0
0
-5
33
0
0
0
0
-1
0
0
-2
77
0
0
0
6
0
0
0
-2
20
0
0
0
0
0
0
2
-7
24
0
0
0
4
0
0
-3
17
-5
0
0
0
0
0
0
-1
14
7
0
0
0
18
0
0
0
-26
15
0
0
0
0
-3
-1
0
7
2
0
0
0
0
0
0
3
53
-29
0
0
0
0
0
0
-1
-26
59
0
0
0
0
2
0
1
-3
-5
0
0
0
0
-1
0
0
15
-16
0
0
0
0
0
0
0
11
7
0
0
0
0
0
0
-3
-15
1
0
0
0
0
2
-1
4
-4
-14
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
-1
9
-4
0
0
0
0
0
0
-1
-6
23
0
0
0
0
2
0
-6
-16
14
0
0
0
0
2
2
0
2
-47
0
0
0
0
0
0
-2
-5
-43
0
0
0
0
0
0
0
-14
33
0
0
0
0
2
0
2
-11
6
0
0
0
0
-5
-4
0
0
5
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-5
33
0
0
0
0
0
0
-6
0
31
0
0
0
0
-2
1
0
-23
16
0
0
0
0
0
-1
3
-2
7
0
0
0
0
0
0
1
-19
35
0
0
0
0
0
-1
0
7
-14
0
0
0
0
0
0
0
4
-11
0
0
0
0
-1
0
2
-53
7
0
0
0
0
1
0
0
-30
47
0
0
0
0
2
0
-1
-10
32
0
0
0
0
1
-1
0
18
1
0
0
0
0
0
0
0
-2
72
0
0
0
0
0
0
0
2
3
0
0
0
0
-1
-1
0
0
35
0
0
0
0
5
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-7
-36
-50
-75
38
5
0
0
-7
5
-3
-11
-29
8
-7
0
11
-2
-6
-8
-1
-15
-1
-2
0
0
7
37
7
35
-4
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
-9
5
3
6
39
7
15
2
0
0
0
35
-27
-2
-31
25
-1
0
0
-35
80
-17
14
20
-10
-5
0
0
0
-24
19
-20
-31
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
0
0
0
24
-5
-2
-1
-15
3
-10
0
0
0
0
0
-7
0
-40
-15
0
0
0
33
-8
8
15
-14
-26
0
0
0
0
-13
-20
7
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
17
-1
-10
-2
-17
-5
-16
0
0
0
0
-8
5
8
-10
-19
0
0
0
11
-29
28
34
21
1
0
0
0
0
21
3
7
-24
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
8
16
0
0
0
-2
-1
-5
-56
-22
-1
0
0
0
0
-1
-10
-1
4
3
0
0
0
0
3
0
15
-89
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
-1
-21
-45
20
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-2
-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
2
17
24
0
0
0
0
0
0
0
-8
16
0
0
0
0
0
-1
0
-30
20
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
0
0
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
0
0
0
0
0
0
-24
59
0
0
0
0
0
0
0
3
-40
0
0
0
0
0
0
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
1
0
0
0
13
-49
-10
6
0
0
0
0
0
25
49
-81
0
0
12
0
0
-2
-10
31
12
-4
0
0
0
0
3
-2
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
2
26
4
-8
0
0
0
0
0
0
-6
30
4
0
0
2
0
0
5
-45
1
11
0
0
0
0
0
0
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
1
9
-19
0
0
0
0
0
0
0
-17
31
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
-14
15
0
0
0
0
0
0
0
-10
-22
0
0
0
0
0
0
-1
-2
-35
0
0
0
0
0
0
-3
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
-3
7
33
-6
1
0
0
0
0
7
22
-3
-34
1
0
0
0
0
7
-20
51
-62
-12
0
0
0
1
-1
6
9
-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
0
0
0
5
1
36
0
0
0
0
0
-1
-45
43
38
0
0
0
0
0
0
17
0
17
0
0
0
-5
0
6
-9
-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
1
1
-9
0
0
0
0
0
0
2
-7
-12
0
0
0
0
0
0
5
4
-19
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
13
-13
0
0
0
0
0
0
0
9
-22
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-7
14
3
0
0
0
0
-1
-26
82
6
-11
0
-1
0
0
8
-9
39
-10
0
0
0
0
0
0
1
1
-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
1
0
0
0
-2
33
21
4
0
0
0
0
0
0
3
-4
-8
0
0
0
0
0
0
-2
-51
7
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
-1
0
0
0
0
6
14
0
0
0
0
0
0
0
-11
-16
0
0
0
-1
0
0
-1
7
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
-1
0
0
0
0
3
-1
0
0
0
0
0
0
0
36
-14
0
0
0
0
0
0
0
-34
-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
25
4
1
0
0
0
0
-1
10
-7
10
-15
0
0
0
0
0
2
-9
-41
11
0
0
0
0
-1
3
-4
-21
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
-5
-23
0
0
0
0
0
0
1
-33
0
0
0
0
1
0
0
-1
-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
-10
30
0
0
0
0
0
0
0
-10
47
0
0
0
0
0
0
0
2
26
0
0
0
0
0
-1
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
-7
22
0
0
0
0
0
0
0
-3
-26
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
-22
52
8
4
0
0
0
0
-3
11
-36
0
3
0
-3
0
0
-1
23
5
7
1
0
0
0
1
0
11
7
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
-1
9
97
-8
0
0
0
0
0
0
-11
20
-3
0
0
-1
0
0
1
14
-13
-9
0
0
0
0
1
0
0
33
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
1
19
0
0
0
7
0
0
0
-6
10
0
0
0
0
0
2
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
1
9
9
0
0
0
0
0
0
0
-1
24
0
0
0
0
0
0
0
1
58
0
0
0
0
0
0
0
-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
0
0
-5
1
-7
-12
0
0
0
4
0
-7
-19
23
-14
0
0
0
0
0
9
-10
30
-18
0
0
-3
-1
1
-1
3
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
-4
-3
8
-4
0
0
0
4
0
0
4
-2
-12
0
0
0
1
0
-4
-7
7
6
0
0
0
0
2
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
13
-14
0
0
0
0
0
-4
0
0
10
0
0
0
0
0
0
0
14
3
0
0
0
0
0
1
11
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
14
5
0
0
0
0
0
-1
0
-4
-1
0
0
0
0
0
-1
-3
0
26
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-13
11
35
11
0
0
0
0
0
5
2
-16
5
0
0
0
0
0
1
-35
10
17
0
0
0
0
0
0
-24
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
4
0
0
0
-2
20
5
7
0
0
0
0
0
0
1
0
5
0
0
0
0
0
2
17
-46
7
0
0
0
0
0
-1
0
-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
-2
0
0
-1
-4
-49
17
0
0
0
0
0
1
-1
-13
9
0
0
0
1
0
0
0
4
36
0
0
0
0
0
0
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
1
-14
-12
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
-3
17
1
0
0
0
0
0
0
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
19
47
6
0
0
0
0
0
0
13
-77
15
0
0
0
0
0
0
-4
59
-20
0
0
0
0
0
0
-8
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
-21
9
14
0
0
0
0
0
0
13
-5
5
0
0
0
0
2
-1
-2
99
-14
0
0
0
4
-1
0
-1
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
-65
17
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
0
14
22
0
0
0
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
-35
31
0
0
0
0
0
0
0
5
-33
0
0
0
0
0
0
0
4
9
0
0
0
0
0
1
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
6
3
77
5
0
0
0
0
0
-2
-21
42
1
0
0
10
0
0
-9
20
47
7
0
0
0
0
0
14
-5
47
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
2
2
44
-3
0
0
-4
0
0
-14
0
20
-7
0
0
0
0
0
-3
2
-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
-2
-4
-2
0
0
0
0
0
3
0
-5
32
0
0
0
0
0
0
5
5
5
0
0
0
0
0
-1
0
3
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
7
5
-11
0
0
0
0
0
0
0
-10
11
0
0
0
2
0
0
1
-10
-5
0
0
0
0
0
0
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
8
-11
16
11
0
0
0
-1
0
5
15
32
-2
0
0
0
0
0
0
-26
53
9
0
0
0
-4
-1
0
1
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
-1
10
-56
19
0
0
0
1
-1
1
-13
7
13
0
0
0
0
1
3
0
25
-2
0
0
0
0
-2
-2
3
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
0
0
18
-5
0
0
0
0
0
0
1
1
4
0
0
0
0
0
0
4
2
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
0
10
5
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
-15
0
0
0
0
2
1
-13
5
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
-22
0
0
0
0
-51
-42
13
0
0
0
0
0
0
-1
23
-17
0
0
6
0
0
0
-2
17
-27
0
0
0
0
0
-4
0
33
-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
8
0
0
0
-3
-27
3
5
0
0
0
0
0
0
-4
7
-16
0
0
-1
0
0
4
-1
32
-22
0
0
0
0
0
-1
0
57
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
14
-27
0
0
0
0
0
0
0
-5
-20
0
0
0
0
0
0
0
14
27
0
0
0
0
0
0
5
-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
-4
0
0
0
0
-5
-3
0
0
0
0
0
0
0
-9
19
0
0
0
3
0
0
2
-5
-13
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
-90
3
0
0
0
0
0
0
-4
3
-4
0
0
0
0
0
0
5
70
-22
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
-1
-18
14
-7
0
0
0
0
1
-1
-3
9
-9
0
0
0
0
0
0
1
-2
-14
0
0
0
0
3
-5
0
-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
4
5
0
0
0
0
0
0
0
-3
-23
0
0
0
0
0
0
0
1
-18
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
17
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
103
-14
0
0
0
0
1
0
-3
35
-12
0
0
5
0
0
-5
0
21
-26
0
0
0
1
-2
0
-1
-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
-2
0
0
0
3
46
-3
0
0
0
0
0
0
0
3
6
0
0
5
0
-1
0
0
-38
-4
0
0
0
-1
2
1
0
66
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
21
0
0
0
0
0
0
0
1
24
0
0
0
-11
0
0
0
-1
25
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
0
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
-17
0
0
0
0
0
0
0
-2
35
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
-2
-1
29
8
0
0
0
0
-1
0
-10
27
-20
0
0
0
0
4
1
-3
5
-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
2
-15
10
0
0
0
0
0
0
0
30
25
0
0
0
0
0
4
-1
44
-14
0
0
0
18
-17
5
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
-1
-24
0
0
0
0
0
1
0
-6
-11
0
0
0
0
0
0
0
0
18
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
29
0
0
0
0
0
0
0
17
-19
0
0
0
0
-2
0
0
2
-10
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
58
0
0
0
0
0
0
1
-43
35
0
0
0
0
0
0
2
-34
22
0
0
0
0
0
0
-1
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
5
1
-16
0
0
0
0
0
0
-11
-11
30
0
0
0
0
0
0
0
-16
-7
0
0
0
0
0
-1
8
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
1
0
0
0
-1
-97
66
0
0
0
0
0
0
3
-19
-9
0
0
0
0
0
0
-1
-11
27
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
0
0
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
10
0
0
0
0
0
0
2
24
21
0
0
0
0
0
0
2
-14
15
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
23
0
0
0
0
0
0
0
36
-21
0
0
0
0
0
0
0
-7
19
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
53
0
0
0
0
0
0
0
10
27
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-7
-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
19
14
0
0
0
0
0
0
0
11
-28
0
0
0
0
0
0
0
5
5
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
6
8
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
-11
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
-2
0
0
-1
-4
4
0
0
0
0
0
0
3
-16
-3
0
0
0
-5
0
0
0
-8
-40
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
-3
-5
17
0
0
0
0
0
0
0
4
-43
0
0
0
3
0
0
8
-3
-6
0
0
0
0
0
0
-1
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
15
30
0
0
0
0
0
0
0
0
35
0
0
0
-2
0
0
0
-53
25
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
32
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
-2
-16
46
0
0
0
0
0
0
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
-5
-4
0
0
0
0
0
0
5
-2
44
0
0
0
0
0
0
3
20
-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
24
0
0
0
0
0
0
3
-5
30
0
0
0
0
0
0
-13
1
16
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
63
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
-47
20
0
0
0
0
0
0
1
-19
19
0
0
0
0
0
0
-14
24
10
0
0
0
0
2
0
2
-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
-2
1
0
0
-2
-10
6
0
0
0
0
0
0
0
10
13
0
0
0
-2
0
0
0
-5
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-2
-25
31
0
0
0
0
0
0
0
32
-8
0
0
0
0
0
0
2
-13
40
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
50
-30
0
0
0
0
0
0
0
-35
50
0
0
0
0
0
0
0
-14
44
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
2
0
0
0
-3
-4
-53
0
0
0
0
0
0
0
-36
31
0
0
0
0
0
0
2
4
-19
0
0
0
0
0
0
0
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
-23
1
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
11
-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
24
-55
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
-1
-2
37
0
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
8
0
0
0
0
0
0
0
26
19
0
0
0
0
0
0
0
-11
45
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
-11
15
0
0
0
0
0
0
0
-13
9
0
0
0
0
0
0
1
-13
53
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
-1
0
0
-1
3
69
0
0
0
0
0
0
0
-10
-16
0
0
0
7
0
0
0
-6
-20
0
0
0
0
0
0
-1
-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
52
14
0
0
0
0
0
0
0
4
-12
0
0
0
-9
0
0
0
2
21
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
0
0
0
0
0
0
0
0
0
0
0
3
0
0
5
17
-46
0
0
0
0
0
0
0
17
-14
0
0
0
26
0
0
1
23
-24
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
28
22
0
0
0
2
0
0
0
-34
-32
0
0
0
0
0
-1
0
-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
0
0
0
-14
-9
0
0
0
0
0
0
1
-14
45
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
29
0
0
0
0
-2
0
0
11
-7
0
0
0
0
0
0
-6
11
21
0
0
0
0
-1
5
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
1
9
26
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
-10
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
43
0
0
0
0
0
1
0
-5
-41
0
0
0
0
0
0
0
-6
36
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
-29
-62
0
0
0
0
0
0
1
-14
-10
0
0
0
0
0
0
9
43
-31
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
8
0
0
0
-3
37
-31
0
0
0
0
0
0
7
15
-56
0
0
0
1
0
0
2
-77
22
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
-4
17
0
0
0
0
0
0
1
-2
-17
0
0
0
0
0
0
-5
-14
24
0
0
0
0
0
0
-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
-9
-30
25
0
0
0
0
0
0
0
9
14
0
0
0
0
0
0
2
1
-13
0
0
0
0
0
0
1
-65
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
-4
8
0
0
0
0
0
0
0
21
17
0
0
0
0
0
0
1
-11
14
0
0
0
0
0
-1
-1
-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
-1
-16
44
0
0
0
0
0
0
-3
6
43
0
0
0
0
0
0
2
15
-35
0
0
0
0
0
0
0
5
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
59
34
0
0
0
0
0
0
0
-21
53
0
0
0
0
0
0
0
18
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
29
30
0
0
0
0
0
0
1
-30
15
0
0
0
0
0
0
0
41
-14
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
-5
1
25
0
0
0
0
0
0
0
-1
-7
0
0
0
13
0
0
0
-4
13
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
-1
-26
19
0
0
0
-4
0
0
-3
-4
9
0
0
0
0
0
0
4
3
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
16
30
0
0
0
0
0
0
0
-10
43
0
0
0
-19
0
0
1
19
-16
0
0
0
0
0
1
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
1
0
0
-3
24
15
0
0
0
0
0
0
0
-14
13
0
0
0
-1
0
0
11
-21
-32
0
0
0
0
1
0
0
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
5
6
0
0
0
0
0
-2
0
20
-16
0
0
0
0
0
0
-4
9
-5
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
0
0
0
0
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
0
0
0
0
0
7
47
0
0
0
0
3
0
4
-6
1
0
0
0
0
4
-1
-2
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
-1
4
55
0
0
0
0
0
-1
1
-4
-8
0
0
0
0
0
0
0
-1
-35
0
0
0
0
0
2
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
-3
2
28
0
0
0
0
0
0
-5
-12
-1
0
0
0
0
2
0
3
5
-41
0
0
0
0
-8
1
-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
16
0
0
0
0
-49
0
0
0
0
0
0
0
0
31
3
0
0
0
-1
0
0
0
-3
-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
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-53
15
0
0
0
0
0
0
0
-9
17
0
0
0
0
0
0
0
-5
-82
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
3
0
0
0
0
-6
8
0
0
0
0
0
0
0
54
1
0
0
0
2
0
0
0
-23
10
0
0
0
0
0
-1
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
-20
0
0
0
1
-6
-10
0
0
0
0
0
0
0
30
-3
0
0
0
-3
0
0
-4
-7
47
0
0
0
0
0
0
0
-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
-13
7
0
0
0
0
0
1
0
-31
-22
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
1
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
10
2
0
0
0
0
0
0
0
-10
93
0
0
0
0
0
0
2
-1
7
0
0
0
0
0
4
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
-14
15
0
0
0
0
0
0
0
32
-14
0
0
0
0
0
0
-1
6
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
5
0
0
0
0
0
0
0
0
-19
-7
0
0
0
0
0
0
0
6
28
0
0
0
0
0
-1
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
0
0
0
2
-6
-54
0
0
0
0
0
0
0
-3
-17
0
0
0
-2
0
0
0
-3
16
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
-11
0
0
0
0
0
0
1
-1
38
0
0
0
-4
0
0
6
-5
12
0
0
0
0
-1
-1
-1
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
-2
0
0
-1
-19
18
0
0
0
0
0
0
-2
7
-1
0
0
0
23
0
-1
1
0
12
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
20
0
0
0
7
0
0
0
-11
18
0
0
0
0
0
-2
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
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
27
0
0
0
0
0
0
0
2
-30
0
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
2
13
5
0
0
0
0
0
0
2
-6
-6
0
0
0
0
-1
3
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
-1
-27
17
0
0
0
0
-2
2
0
-20
18
0
0
0
0
-1
2
-1
3
15
0
0
0
0
4
1
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
15
6
-1
2
-11
4
-18
16
-1
0
0
-1
-8
7
-3
100
-4
-6
0
17
1
9
-15
-48
71
-8
0
0
0
-4
-20
50
-34
13
-47
5
13
-2
0
-1
-8
-34
-18
5
11
0
0
0
-6
1
-8
-48
2
4
0
26
0
18
-7
10
108
1
1
0
0
19
-23
-3
20
-6
-5
-7
-11
0
-1
-4
18
16
5
-4
0
0
0
1
-2
3
19
-5
-3
0
0
1
1
-1
6
-33
-5
-7
0
0
0
4
11
2
-7
-4
-32
0
18
-2
-3
0
18
17
0
-40
0
0
0
0
-5
-15
-1
-25
-6
0
0
33
-7
6
-14
10
-2
-21
0
0
0
16
16
-8
6
31
-6
0
3
1
0
-10
27
-28
-21
0
0
0
0
0
-2
17
5
4
0
0
0
3
0
0
3
35
-8
0
0
0
0
2
7
-46
-30
-4
0
0
10
0
0
0
-2
-59
-6
0
0
0
0
0
14
-8
-43
53
0
0
0
4
14
-4
-2
6
-20
0
0
0
0
-32
-2
3
15
5
0
0
6
1
0
13
50
-10
-5
0
0
0
0
0
2
2
-61
111
0
0
0
-15
-2
13
4
-43
20
0
0
0
0
-10
-54
-12
19
78
0
0
-3
8
0
-5
0
5
-22
0
0
0
0
0
-20
4
25
13
0
0
0
-20
9
-13
23
-2
32
0
0
0
0
-5
-12
22
-34
-9
0
0
0
0
0
0
0
-17
62
-19
4
0
0
0
0
0
5
2
24
-18
0
0
0
0
0
-8
1
-25
16
0
0
0
0
0
-3
3
-30
25
0
0
0
0
0
-13
58
19
2
0
0
0
0
0
1
-25
17
-3
0
0
0
0
1
0
53
5
0
0
0
0
0
0
0
-3
-117
1
0
0
0
0
0
11
16
-3
0
0
0
0
0
0
-4
37
-40
0
0
0
0
0
2
-14
48
-12
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-1
-49
25
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
-11
7
0
0
0
0
0
0
-2
5
-6
0
0
0
0
0
0
-27
-14
0
0
0
0
0
0
0
5
27
0
0
0
0
0
0
0
26
16
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
11
-76
0
0
0
0
0
0
0
-6
20
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
-16
-10
0
0
0
0
0
0
0
13
20
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
6
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
-32
27
-90
5
0
0
0
0
0
5
23
-94
-3
0
2
0
0
0
25
-31
19
3
0
0
0
0
0
0
15
25
-14
0
0
0
0
0
1
10
-10
2
0
0
0
0
0
-4
17
-17
-8
0
2
0
0
-1
-2
6
-85
-14
0
0
0
0
0
-7
1
60
-17
0
0
0
0
0
13
89
-18
0
0
0
0
0
0
0
63
-14
0
0
0
0
0
0
0
27
8
0
0
0
0
0
0
1
-21
18
0
0
0
0
0
0
-7
25
-3
0
0
0
0
0
0
-1
-37
2
0
0
-5
0
0
0
-1
13
-27
0
0
0
0
0
0
0
2
-28
0
0
0
0
0
0
3
61
0
0
0
0
0
0
0
-7
17
0
0
0
0
0
0
-1
13
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-3
22
0
0
0
0
0
0
0
-3
22
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
-26
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
7
13
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
-1
38
0
0
0
0
0
0
0
0
-35
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
19
58
-71
-9
0
0
0
0
0
-5
-19
-12
-3
0
0
0
0
0
-1
15
-16
4
0
0
2
0
1
14
-2
-21
-4
0
0
0
0
0
0
-37
-71
3
0
0
0
0
0
1
-14
-61
2
0
0
0
0
-2
0
27
-109
-8
0
0
0
0
0
0
-1
18
2
0
0
0
0
0
-7
-15
6
0
0
0
0
0
-2
4
-5
11
0
0
0
0
0
-3
-3
-32
32
0
0
0
0
0
5
-2
5
-25
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
1
6
-4
-7
0
0
0
0
0
0
0
27
-11
0
0
0
0
0
0
0
-4
81
0
0
0
0
0
0
-3
69
0
0
0
0
0
0
0
7
-20
0
0
0
0
0
0
1
-1
45
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
26
0
0
0
0
0
0
0
0
10
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
-5
34
0
0
0
0
0
0
0
3
-7
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
0
32
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
1
-18
1
25
0
0
0
0
0
-6
7
-10
12
0
0
0
0
0
17
3
15
8
0
0
0
0
0
0
11
-12
10
3
0
0
0
0
7
13
2
-6
0
0
0
0
0
0
3
2
-20
0
0
0
0
0
2
-1
24
-2
0
0
0
0
0
1
-5
-24
-12
0
0
0
0
0
-6
-45
11
0
0
0
0
0
0
1
-7
5
0
0
0
0
0
0
6
49
6
0
0
0
0
0
0
-2
35
-15
0
-2
0
0
0
0
-9
-44
2
0
0
0
0
0
0
-3
-7
0
0
0
1
0
0
0
0
3
-1
0
0
0
0
0
0
0
4
-26
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
0
5
23
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
1
37
0
0
-1
0
0
0
0
-3
18
0
0
0
0
0
0
0
-5
-10
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
-10
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
-1
73
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
-16
-16
5
-7
0
0
0
0
0
2
-18
3
32
0
0
0
0
0
-10
-14
-18
7
0
0
0
0
0
-5
-4
58
-18
0
0
0
0
0
5
-3
0
-10
0
0
0
0
0
-1
0
-13
16
0
0
0
0
0
1
-2
-46
1
0
0
0
0
0
0
0
-10
-24
0
0
0
0
0
-11
5
14
0
0
0
0
0
0
-4
4
10
0
0
0
0
0
0
0
-16
-9
0
0
0
0
0
0
-5
9
-8
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
9
-17
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
7
-31
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
-11
19
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
0
0
17
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
11
0
0
0
0
0
0
0
0
19
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
6
-15
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
14
-20
-41
8
0
0
0
0
0
-15
-5
-6
11
0
0
0
0
0
-20
-7
-20
9
0
0
0
0
1
6
-6
41
3
0
0
0
0
0
2
5
-20
5
0
0
0
0
0
-1
1
-19
-20
0
0
0
0
0
4
0
21
-13
0
0
0
0
0
1
2
7
13
0
0
0
0
0
0
43
4
0
0
0
0
0
0
2
9
1
0
0
0
0
0
0
8
-25
4
0
0
0
0
0
0
0
-32
20
0
0
0
0
0
0
3
5
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
-7
-2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-6
6
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
81
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
-45
0
0
0
0
0
0
0
0
20
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
46
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
-9
-28
2
0
0
0
0
0
-3
-4
-9
15
0
0
0
0
0
0
9
-5
12
0
0
-1
0
0
17
0
-53
2
0
0
0
0
0
0
-4
-22
15
0
0
0
-1
0
-1
2
-3
-11
0
0
0
0
0
0
4
6
-15
0
0
0
0
0
-1
0
37
-22
0
0
0
0
0
0
4
8
0
0
0
0
1
0
-1
17
27
0
0
0
0
0
0
0
8
30
0
0
0
0
0
0
-2
1
32
0
0
0
0
0
0
-1
20
2
0
0
0
0
0
0
-1
3
-21
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
8
21
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
-21
0
0
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
13
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
17
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
-4
0
0
0
0
0
3
7
-41
15
0
0
0
0
0
0
26
34
-26
0
0
0
0
0
0
5
-14
-19
0
-3
0
0
0
0
7
23
12
0
0
0
0
0
0
0
-21
14
0
0
0
0
0
0
-13
-9
27
0
0
0
0
0
0
0
8
-4
0
0
0
0
0
-4
-7
26
13
0
0
0
0
0
0
13
-26
-8
0
0
0
0
0
0
0
41
-15
0
0
0
0
0
0
0
8
-47
0
0
0
0
0
1
1
-21
10
0
0
0
0
0
0
1
-24
7
0
0
0
0
0
0
0
37
-31
0
0
0
0
0
0
1
19
-11
0
0
0
0
0
-3
-9
-6
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
-24
0
0
-2
0
0
0
3
-5
9
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
15
0
0
0
0
0
0
0
14
11
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
4
15
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
-3
12
-65
0
0
0
0
0
0
-37
9
10
0
0
0
0
0
0
-23
33
-56
0
0
0
0
0
0
14
45
-54
0
0
0
0
0
0
2
1
12
0
0
0
0
0
0
4
-14
7
0
0
0
0
0
0
0
14
-39
0
0
0
0
0
0
-3
-4
-28
0
0
0
0
0
0
-2
-19
10
0
0
0
0
0
0
-1
50
-6
0
0
0
0
0
0
0
33
-16
0
0
0
0
0
0
0
-13
-14
0
0
0
0
0
0
-2
44
-12
0
0
0
0
0
0
0
21
-5
0
0
0
0
0
0
1
-11
-52
0
0
0
0
0
0
-2
-10
-5
0
0
0
0
0
0
-8
-10
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-2
31
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
0
0
-9
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
-12
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
2
-31
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
10
80
-48
0
0
0
0
0
0
-3
59
-16
0
0
0
0
0
0
-9
-38
37
0
0
0
0
0
0
2
31
-101
0
0
0
0
0
0
1
-17
20
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
2
4
-18
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
-1
-12
3
0
0
0
0
0
0
0
51
-5
0
0
0
0
0
0
3
9
-13
0
0
0
0
0
0
0
12
5
0
0
0
0
0
0
0
79
-5
0
0
0
0
0
0
0
30
3
0
0
-1
0
0
0
0
15
-23
0
0
0
0
0
0
0
-7
-15
0
0
0
0
0
0
-13
10
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-7
-43
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
48
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
0
0
0
-5
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
0
14
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
0
-1
-14
-6
0
0
0
0
0
0
-11
-8
-30
0
0
0
0
0
0
15
-24
54
0
0
0
0
0
-3
0
23
-49
0
0
0
0
0
0
5
-14
5
0
0
0
0
0
0
5
117
-26
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
2
16
48
0
0
0
0
0
0
0
-30
3
0
0
0
0
0
0
0
-22
11
0
0
0
0
0
0
2
5
-4
0
0
0
0
0
-3
0
17
-8
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-31
4
0
0
0
0
0
0
0
-15
61
0
0
0
1
0
0
0
-20
17
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
34
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
11
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
2
-25
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
-1
35
0
0
0
0
0
0
0
-3
35
0
0
0
0
0
0
0
0
-11
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
-2
81
-54
0
0
0
0
0
0
-1
-10
-11
0
0
0
0
0
-2
10
-10
0
0
0
0
0
0
0
2
-49
25
0
2
0
0
0
0
1
-25
4
0
0
0
0
0
0
0
23
-3
0
0
0
0
0
0
1
31
-14
0
0
0
0
0
0
0
3
-20
0
0
0
0
0
0
-6
18
4
0
0
0
0
0
0
-1
61
-13
0
0
0
0
0
2
0
26
-8
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
17
10
0
0
0
0
0
0
-1
19
24
0
0
0
0
0
0
0
22
6
0
0
0
0
0
0
0
-14
-23
0
0
0
0
0
1
2
-5
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
0
72
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
10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
1
52
0
0
0
0
0
0
0
0
53
0
0
-1
0
0
0
-1
3
23
0
0
0
0
0
0
0
0
31
0
0
0
4
0
0
0
-6
-19
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
-2
5
-31
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
-45
14
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
4
-36
0
0
0
0
0
0
0
-10
49
0
0
0
0
0
0
1
-18
11
0
0
0
0
0
0
0
36
-1
0
0
0
0
0
0
0
-70
17
0
0
0
0
0
-1
0
-10
30
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
-4
-5
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
-18
0
0
0
0
0
0
0
0
-19
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
-14
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
5
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
39
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
-5
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
17
-9
0
0
0
0
0
0
0
7
14
0
0
0
0
0
0
0
-16
17
0
0
0
0
0
0
0
-16
52
0
0
0
0
0
0
-2
11
6
0
0
0
0
0
0
0
-5
1
0
0
-2
0
0
0
0
-4
15
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
-23
6
0
0
1
0
0
0
0
-52
5
0
0
0
0
0
0
0
-17
64
0
0
0
0
0
0
0
-34
17
0
0
0
0
0
0
0
12
4
0
0
-2
0
0
0
0
-18
17
0
0
0
0
0
0
0
19
-12
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
37
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
-13
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
0
9
0
0
0
-1
0
0
-2
0
48
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
13
0
0
0
0
0
0
0
0
35
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
2
26
-2
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
-55
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-60
32
0
0
0
0
0
0
1
8
17
0
0
0
0
0
0
0
2
23
0
0
0
0
0
0
2
-5
45
0
0
0
0
0
0
0
19
-20
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
4
22
0
0
0
0
0
0
0
1
63
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
59
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
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
49
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-2
21
0
0
0
0
0
0
0
-6
-6
0
0
0
0
0
0
0
0
-17
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
-15
14
0
0
0
0
0
0
0
-9
45
0
0
0
0
0
0
-1
-4
48
0
0
0
0
0
0
0
-10
14
0
0
0
0
0
0
-1
2
28
0
0
0
0
0
0
0
-2
22
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
17
-12
0
0
0
0
0
0
0
-11
-15
0
0
0
0
0
0
0
-16
60
0
0
0
0
0
0
-4
-2
-15
0
0
0
0
0
0
-3
-16
-1
0
0
0
0
0
0
0
-11
-5
0
0
0
0
0
0
1
-9
-4
0
0
0
0
0
0
2
0
-7
0
0
0
0
0
0
0
-2
30
0
0
0
0
0
0
1
-11
57
0
0
0
0
0
0
2
-4
-53
0
0
0
0
0
0
0
-1
43
0
0
0
0
0
0
0
6
36
0
0
0
0
0
0
0
-11
20
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
-27
19
0
0
0
0
0
0
0
25
-24
0
0
0
0
0
0
0
44
-16
0
0
0
0
0
0
0
14
-15
0
0
0
0
0
0
-3
-3
-63
0
0
0
0
0
0
0
6
-19
0
0
0
0
0
0
0
-15
5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-10
6
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
1
45
0
0
0
0
0
0
0
0
-19
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
10
-31
0
0
0
0
0
0
0
8
20
0
0
0
0
0
0
0
-10
16
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
6
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-13
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-32
-24
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
-21
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
68
0
0
0
0
0
0
0
-7
32
0
0
0
0
0
0
0
-1
-45
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
7
14
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-3
-34
0
0
0
0
0
0
0
2
-15
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
-13
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
27
0
0
0
0
0
0
0
-3
11
0
0
0
0
0
0
0
-5
12
0
0
0
0
0
0
0
0
10
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
44
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
5
14
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
5
16
0
0
0
0
0
0
0
-2
9
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
18
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
2
-3
0
0
0
-4
0
0
0
0
26
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
2
-14
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
25
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
16
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
15
-22
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
16
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
16
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
45
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
-9
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
56
0
0
0
0
0
0
0
5
30
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
0
-7
37
0
0
0
0
0
0
0
4
14
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
2
-41
27
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
27
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
5
0
0
0
0
0
0
0
-43
70
0
0
0
0
0
0
0
25
-24
0
0
0
0
0
0
0
0
-25
0
0
-1
0
0
0
1
1
-18
0
0
0
0
0
0
0
2
-29
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
18
0
0
0
0
0
0
0
14
8
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
-3
-6
0
0
-2
0
0
0
0
6
2
0
0
0
0
0
0
0
3
24
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
20
30
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
45
0
0
0
0
0
0
0
-20
28
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
1
-11
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
13
-13
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
2
9
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
-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
25
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
-15
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
-3
40
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
-3
23
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
23
-8
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
17
-19
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
19
0
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
-3
-36
0
0
0
0
0
0
0
1
27
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
9
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
-16
23
0
0
0
0
0
0
0
-4
33
0
0
0
0
0
0
0
-22
35
0
0
0
0
0
0
0
8
-7
0
0
0
0
0
0
0
8
-22
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
-10
6
0
0
0
0
0
0
0
-23
45
0
0
0
0
0
0
0
8
-23
0
0
0
0
0
0
0
5
-21
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
-18
9
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
-17
-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
1
0
0
0
0
0
0
0
-1
9
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
-19
0
0
0
0
0
0
0
1
-27
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
18
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
17
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
2
-18
0
0
0
0
0
0
0
1
13
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
-11
70
0
0
0
0
0
0
0
-13
16
0
0
0
0
0
0
0
-14
-4
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
-2
-31
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
0
9
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
-11
0
0
0
0
0
0
0
-22
61
0
0
0
0
0
0
0
3
33
0
0
0
0
0
0
0
1
35
0
0
0
0
0
0
0
45
-4
0
0
0
0
0
0
0
3
5
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
-6
-1
0
0
0
0
0
0
0
-9
16
0
0
0
0
0
0
0
-39
47
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
24
42
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
18
61
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
-1
-26
-20
0
0
0
0
0
0
0
36
-21
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
13
17
0
0
-2
0
0
0
0
25
-22
0
0
0
0
0
0
0
-17
5
0
0
0
0
0
0
0
-14
17
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-3
26
0
0
0
0
0
0
0
0
9
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
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
-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
50
0
0
0
0
0
0
0
-5
19
0
0
0
0
0
0
0
-1
-25
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
11
44
0
0
0
0
0
0
0
-2
47
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
-1
53
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
-33
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
-19
0
0
0
0
0
0
0
-14
24
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
5
13
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
0
-5
-23
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
-14
-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
-9
0
0
0
0
0
0
0
0
-10
-9
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
0
-17
0
0
0
0
0
0
0
-1
-32
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
1
39
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
0
5
16
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-13
-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
9
0
0
0
0
0
0
0
8
-18
0
0
0
0
0
0
0
0
86
0
0
0
0
0
0
0
-7
25
0
0
0
0
0
0
0
2
-31
0
0
0
0
0
0
0
-18
43
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
-35
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
-20
0
0
0
0
0
0
0
-5
-14
0
0
0
0
0
0
0
-1
-39
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
57
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
-5
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
-9
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
2
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
-7
10
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
17
-5
0
0
0
0
0
0
0
-5
33
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
-11
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
10
24
0
0
0
0
0
0
0
-3
-19
0
0
0
0
0
0
0
17
64
0
0
0
0
0
0
0
2
7
0
0
-1
0
0
0
0
5
-26
0
0
0
0
0
0
0
4
-9
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
-18
15
0
0
0
0
0
0
0
15
-12
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-13
4
0
0
3
0
0
0
0
-2
-26
0
0
0
0
0
0
0
11
14
0
0
0
0
0
0
0
-4
-19
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
-13
0
0
0
0
0
0
0
5
-15
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
0
0
-26
-26
0
0
0
0
0
0
0
3
32
0
0
0
0
0
0
0
-3
22
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
-1
-53
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
14
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
1
-20
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
24
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
-2
0
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
7
24
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
0
2
18
0
0
0
0
0
0
0
-7
9
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
23
0
0
0
0
0
-2
0
0
24
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
-22
0
0
0
0
0
0
0
0
8
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
-8
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
1
18
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
-43
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
-9
0
0
0
0
0
0
0
-1
-33
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
-1
-33
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-11
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
-25
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
-53
0
0
0
0
0
0
0
0
9
0
0
0
2
0
0
0
0
26
0
0
0
0
0
0
0
0
21
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
17
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
0
18
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
-45
0
0
0
0
0
0
0
0
7
0
0
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
0
0
0
0
0
0
0
0
-18
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
-1
-4
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
1
-23
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
20
58
-47
-15
-6
15
-7
11
-3
0
0
-9
10
-16
5
-63
11
7
0
-1
-32
-79
43
-23
111
-9
-4
0
0
14
19
-7
-24
5
17
-11
37
-14
5
23
10
18
7
-21
-6
0
0
14
54
-15
-122
110
3
15
0
-40
0
2
21
-72
9
3
9
0
0
-3
-24
2
-68
9
4
18
41
21
-5
-29
-25
-45
55
-18
0
0
0
4
10
50
-69
-5
-19
0
0
55
-8
-7
-16
2
8
-9
0
0
0
-1
4
-1
10
96
-42
0
-18
1
0
-9
-18
-107
17
47
0
0
0
1
-2
-5
-4
-4
32
0
0
-17
0
2
-17
-3
5
-1
0
0
0
0
0
-3
48
59
-61
0
0
82
-16
-6
-22
0
6
0
0
0
0
0
-31
-34
1
30
0
0
0
2
-1
-3
-19
-64
33
0
0
0
0
0
-4
-27
93
-26
0
0
-28
36
0
9
5
-83
47
0
0
0
0
0
-5
-11
-52
66
0
0
0
29
0
0
9
-105
71
0
0
0
0
1
3
8
17
33
0
0
-3
1
0
-3
-7
12
11
0
0
0
0
0
-4
4
-6
-21
0
0
0
-4
0
3
27
-15
-34
0
0
0
0
0
3
-1
-57
-53
0
0
0
0
0
3
0
-29
2
0
0
0
0
-1
0
1
-38
-17
0
0
0
1
0
-1
3
5
2
0
0
0
0
0
0
-4
1
-26
0
0
0
0
40
129
-11
58
34
-36
11
0
0
-5
3
9
46
125
-8
-35
0
0
-14
46
-42
50
-56
-24
31
0
0
-25
-20
68
-111
84
-21
44
0
0
-4
-36
43
-75
-15
23
22
0
0
5
33
-79
38
-53
3
-4
0
0
1
9
-1
8
85
-24
-8
0
0
16
37
-22
28
-26
-21
40
0
0
-14
-14
4
35
-57
12
0
0
0
24
26
-19
-137
14
21
0
0
0
-4
-6
20
57
24
-34
0
0
0
42
32
-59
-25
43
-18
0
0
0
0
-2
14
-38
6
9
0
0
0
1
-4
15
-29
18
-14
0
0
0
1
0
0
6
-22
44
0
0
0
5
4
2
24
54
-12
0
0
0
-5
19
0
31
7
0
0
0
0
0
-39
4
5
33
0
0
0
0
0
-5
32
27
-14
0
0
0
0
9
4
-15
-15
49
0
0
0
0
0
-37
-7
-20
37
0
0
0
0
1
-18
-3
-65
-49
0
0
0
0
0
-1
-24
-18
-19
0
0
0
0
1
-2
5
-7
-7
0
0
0
0
0
1
-9
-43
32
0
0
0
0
-2
0
-2
-10
-1
0
0
0
0
-8
0
-6
48
9
0
0
0
0
0
2
0
-45
-1
0
0
0
0
0
0
0
-4
31
0
0
0
0
-3
0
0
-55
46
0
0
0
0
0
0
0
-7
-1
0
0
0
0
-2
3
2
-5
21
0
0
0
-18
-5
2
13
-59
-20
7
32
0
0
20
29
124
-72
28
-2
18
0
-43
-5
6
-27
6
-19
-17
22
0
0
-17
-54
8
84
26
-19
22
0
3
4
-7
12
-5
-62
40
12
0
0
0
-10
23
-87
77
32
43
0
-6
0
1
-6
-30
29
39
5
0
0
17
21
-47
-15
22
7
13
0
-5
0
0
30
-174
38
4
0
0
0
0
-3
32
1
5
-4
0
0
55
-2
21
71
-51
14
-29
0
0
0
17
-24
5
-48
18
0
0
0
-7
0
0
54
-104
-3
43
0
0
0
0
1
-5
6
30
-8
0
0
86
0
-3
20
-56
26
5
0
0
0
0
0
5
-15
1
58
0
0
5
3
-31
4
45
20
0
0
0
0
-5
-6
8
-101
36
0
0
0
36
0
0
-19
-31
25
0
0
0
0
0
-1
2
2
-19
0
0
0
6
0
-1
-29
-89
36
0
0
0
0
2
-1
-27
-32
-47
0
0
0
17
0
-2
-28
3
23
0
0
0
0
-4
-5
27
15
72
0
0
0
1
0
4
-27
-59
70
0
0
0
0
0
0
1
5
-14
0
0
0
-6
0
-1
4
-34
57
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-13
-63
17
0
0
0
0
0
0
1
21
10
0
0
0
-36
0
0
0
-25
10
0
0
0
0
0
0
1
0
18
0
0
0
0
22
54
54
46
-13
13
14
0
0
-1
4
-31
-52
-43
43
81
0
0
-3
23
25
-44
-101
-2
18
0
0
-60
-12
-42
82
10
43
2
0
0
6
19
-52
-65
-5
32
21
0
0
-52
0
43
22
30
-3
10
0
0
0
-6
-29
23
102
35
-2
0
0
-49
7
21
70
113
30
-27
0
0
0
18
57
-20
0
-13
0
0
0
-46
-62
3
72
55
-32
0
0
0
2
4
15
-7
12
-5
0
0
0
21
-45
-5
-44
-13
8
0
0
0
0
-1
18
-35
12
-53
0
0
0
-3
1
20
69
34
-46
0
0
0
0
1
19
-43
60
-44
0
0
0
115
-52
-14
-62
53
-15
0
0
0
-7
4
-13
36
-32
0
0
0
0
11
29
-26
-47
-16
0
0
0
0
0
-1
-5
-25
45
0
0
0
0
-17
8
-3
3
25
0
0
0
0
3
3
-11
-21
42
0
0
0
0
-3
41
-16
30
-4
0
0
0
0
0
4
-22
8
-11
0
0
0
0
23
23
-8
-7
-46
0
0
0
0
-2
0
19
-43
106
0
0
0
0
-3
20
-5
3
81
0
0
0
0
0
0
3
-45
114
0
0
0
0
0
-7
-7
-25
31
0
0
0
0
0
0
-3
-7
7
0
0
0
0
-3
1
1
-19
26
0
0
0
0
0
0
1
-3
44
0
0
0
0
-7
3
1
-2
-19
0
0
-3
41
-6
-67
-47
9
-63
17
-1
0
0
-1
-11
20
38
11
-40
14
0
19
0
0
-29
-2
-62
-2
25
0
0
1
-10
-65
46
23
-60
38
-52
3
0
-5
10
7
82
-26
-3
0
0
0
7
-9
-62
31
6
11
0
4
0
0
-22
6
63
-71
12
0
0
0
1
-1
-3
-7
-51
25
13
1
0
5
62
-66
29
17
0
0
0
0
13
-33
-45
-50
28
0
0
14
0
-1
57
-11
51
-37
0
0
0
0
-1
16
-43
13
-25
0
21
0
0
2
20
24
25
-18
0
0
0
0
-3
3
-25
81
10
0
0
4
0
1
-1
54
79
-21
0
0
0
0
0
-4
-4
62
-6
0
9
0
0
-20
5
-60
5
0
0
0
0
0
6
3
21
-44
0
0
0
-45
0
0
-10
-16
-24
0
0
0
0
0
0
-5
5
67
0
0
5
1
0
0
-43
-29
80
0
0
0
0
1
2
9
-28
-43
0
0
0
44
0
0
6
27
17
0
0
0
0
0
0
-5
15
33
0
0
-3
1
0
-2
-33
-47
113
0
0
0
0
0
-1
3
-6
5
0
0
0
0
0
-3
0
52
14
0
0
0
0
0
2
1
-6
104
0
0
4
0
0
2
11
42
-32
0
0
0
0
0
0
0
-15
51
0
0
0
-5
0
1
0
-45
21
0
0
0
0
0
0
0
4
8
0
0
0
0
8
-43
-6
2
60
6
-2
0
0
-5
-26
-2
0
-89
6
70
0
0
8
-15
48
-29
-16
-17
11
0
0
-56
-12
26
-41
27
-15
39
0
0
0
-34
-9
2
148
-54
-4
0
0
0
-1
-7
4
-36
20
6
0
0
0
0
0
3
8
-57
6
0
0
13
43
10
33
-32
-20
23
0
0
0
0
-106
-32
67
10
0
0
0
0
-10
-9
-53
-2
15
0
0
0
0
-1
9
-13
14
0
0
0
0
0
17
20
37
-10
-3
0
0
0
0
-4
9
5
53
1
0
0
0
0
-5
3
5
11
9
0
0
0
0
0
15
0
-6
3
0
0
0
0
-3
-4
18
25
-42
0
0
0
0
-18
-11
-27
27
0
0
0
0
0
-3
0
-32
-11
0
0
0
0
0
0
-13
-9
23
0
0
0
0
0
-34
4
-41
-45
0
0
0
0
0
1
-11
-72
33
0
0
0
0
0
0
-2
-5
-57
0
0
0
0
0
-1
-1
-37
71
0
0
0
0
15
-18
-4
-15
72
0
0
0
0
0
1
4
0
20
0
0
0
0
0
-2
0
-27
77
0
0
0
0
0
0
0
-11
26
0
0
0
0
0
4
-1
1
23
0
0
0
0
0
0
0
2
22
0
0
0
0
0
0
1
-3
7
0
0
0
0
0
0
0
-7
59
0
0
0
0
0
0
2
-5
-1
0
0
0
-5
8
-66
53
51
23
2
24
0
0
0
4
1
-81
48
32
32
0
-73
0
-2
71
-15
73
-32
18
0
0
-28
4
66
-3
-31
-55
11
0
51
0
-6
-30
-66
-45
27
12
0
0
0
0
17
-62
10
36
7
0
-60
0
1
-6
-84
30
30
21
0
0
0
-25
76
41
99
-53
-10
0
59
0
0
-14
-33
-28
-5
0
0
0
0
0
-14
-11
20
17
0
0
25
0
0
17
-10
-33
2
0
0
0
0
2
-68
54
47
27
0
0
-5
0
-1
-3
-26
113
-2
0
0
0
0
-1
2
-4
95
-16
0
0
-16
0
0
1
-29
6
38
0
0
0
-2
5
4
-7
24
-24
0
0
95
0
11
-50
4
-71
0
0
0
0
0
1
-2
7
5
0
0
0
19
0
-2
-10
-5
72
0
0
0
0
0
0
-15
6
14
0
0
0
-51
0
0
-16
23
42
0
0
0
0
0
2
-2
-2
52
0
0
0
103
0
0
1
-54
-22
0
0
0
0
0
-5
8
-13
31
0
0
0
1
0
0
0
33
-62
0
0
0
0
0
0
0
-44
98
0
0
0
-18
0
0
1
-18
7
0
0
0
0
0
-8
0
-4
23
0
0
0
1
0
-1
0
0
23
0
0
0
0
0
0
1
2
-20
0
0
0
-42
0
-2
0
14
5
0
0
0
0
0
-2
4
1
4
0
0
0
0
49
-63
-21
7
87
11
6
0
0
36
23
-29
-43
117
-2
1
0
0
-1
-17
-33
-7
48
-59
15
0
0
8
10
15
10
-53
-12
2
0
0
1
-5
43
23
14
10
0
0
0
2
0
-14
8
1
1
8
0
0
0
-3
8
34
5
6
-4
0
0
-41
90
42
0
-1
-28
17
0
0
0
10
-6
-50
14
-18
0
0
0
-1
5
80
-32
-2
-10
0
0
0
-1
-2
-9
37
-7
11
0
0
0
1
-8
-18
8
79
30
0
0
0
0
-3
-3
23
-7
-29
0
0
0
11
-26
-21
2
51
16
0
0
0
0
0
2
-1
14
-21
0
0
0
30
1
0
0
19
-74
0
0
0
-1
-21
22
-37
64
0
0
0
0
0
-4
4
0
-30
0
0
0
0
0
-1
15
17
-33
0
0
0
0
-2
10
26
6
16
0
0
0
0
0
1
9
-44
33
0
0
0
0
-1
11
5
-18
0
0
0
0
0
-3
7
-1
-1
-30
0
0
0
0
1
-15
8
-6
15
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
10
0
0
0
0
0
11
0
1
-16
0
0
0
0
0
1
1
-5
-10
0
0
0
0
1
-3
0
2
-4
0
0
0
0
0
0
-4
-1
-10
0
0
0
0
7
-4
3
-7
11
0
0
55
-25
18
-33
42
43
-17
-28
0
0
0
-10
-13
24
63
-23
-8
0
0
-30
0
-41
25
-44
45
22
0
0
0
1
0
-31
25
-6
14
0
-62
7
0
-16
26
16
72
11
0
0
0
1
-8
-14
-83
57
32
0
0
2
0
0
-6
-2
104
17
0
0
0
0
1
7
-11
22
-1
0
-24
0
2
3
54
-47
11
2
0
0
0
-7
18
0
-27
32
4
0
0
-3
-1
-31
24
5
-55
10
0
0
0
0
0
4
-2
41
0
0
1
0
0
1
-80
23
-5
21
0
0
0
2
0
0
-14
15
12
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
-2
-19
27
0
-4
-8
-5
-5
53
-4
40
0
0
0
0
8
4
-16
18
-33
0
0
0
3
0
0
32
23
-9
0
0
0
0
0
-5
0
-19
-23
0
0
-9
3
0
-6
0
-13
5
0
0
0
0
0
1
-5
-48
47
0
0
0
0
0
0
2
30
-33
0
0
0
0
0
1
4
-4
33
0
0
0
0
0
7
-1
46
-43
0
0
0
0
0
0
-3
47
14
0
0
0
1
0
-1
-15
15
44
0
0
0
0
0
0
2
-33
76
0
0
62
0
0
8
-15
-26
27
0
0
0
0
0
1
3
10
8
0
0
0
0
0
0
-3
-2
10
0
0
0
0
0
-1
0
-1
42
0
0
0
0
9
-9
-1
-38
41
3
0
0
0
4
36
22
3
27
-30
0
0
0
0
-6
-15
-64
44
38
0
0
0
10
29
78
24
-18
-21
0
0
0
4
-26
47
45
32
-4
0
0
0
-2
14
19
-17
39
11
0
0
0
0
-7
5
-26
7
-10
0
0
0
-33
36
-7
15
7
-13
0
0
0
0
6
-92
60
65
5
0
0
0
0
-5
-15
-30
-27
12
0
0
0
0
1
-14
-10
27
5
0
0
0
-3
-2
-22
-8
78
3
0
0
0
3
6
-7
-27
44
-2
0
0
0
-2
0
19
114
-47
-21
0
0
0
0
0
1
4
70
-1
0
0
0
3
-6
3
-22
12
16
0
0
0
0
-6
46
-18
25
0
0
0
0
0
3
-15
-50
61
0
0
0
0
0
2
-2
-5
32
0
0
0
0
-2
0
0
-22
12
0
0
0
0
0
0
-4
5
43
0
0
0
0
-1
-1
-4
77
-60
0
0
0
0
0
0
1
-17
-9
0
0
0
0
7
3
1
-34
-21
0
0
0
0
1
2
-3
-2
34
0
0
0
0
0
0
0
24
-48
0
0
0
0
4
0
0
-15
4
0
0
0
0
0
-2
-1
1
43
0
0
0
0
0
0
0
8
8
0
0
0
0
1
4
0
3
1
0
0
0
0
0
0
2
3
21
0
0
0
0
0
1
0
41
-60
0
0
0
29
49
-25
41
-49
55
-19
0
0
0
-4
-9
-13
-9
86
-24
0
0
-7
4
1
-22
-43
21
60
0
0
0
0
-8
6
-65
60
16
0
0
-36
0
8
17
-6
-24
5
0
0
0
0
3
-29
-25
-43
68
0
0
35
0
14
18
-37
71
11
0
0
0
10
2
18
15
-5
-4
0
0
-2
-5
6
61
3
-49
-8
0
0
0
6
0
-1
-14
-36
26
0
0
56
0
0
-14
-55
37
11
0
0
0
1
-1
-10
-6
-28
0
0
0
-5
0
0
8
-6
74
-3
0
0
0
0
0
1
-7
84
2
0
0
-7
0
0
2
5
34
16
0
0
0
1
0
-7
14
-2
20
0
0
-3
-3
-2
60
77
-22
0
0
0
0
2
-1
14
-29
-12
0
0
0
8
0
0
51
48
-74
0
0
0
0
0
2
-14
-29
24
0
0
0
0
0
0
27
-67
14
0
0
0
0
-4
0
-10
-10
3
0
0
0
-24
0
0
0
-70
1
0
0
0
0
3
0
-25
-1
85
0
0
0
0
0
3
-6
17
7
0
0
0
0
0
1
0
28
56
0
0
0
-9
0
0
-3
-56
2
0
0
0
0
-1
0
1
11
30
0
0
0
-1
0
-2
2
-43
52
0
0
0
0
0
-2
0
-23
43
0
0
0
-18
0
0
-1
-46
37
0
0
0
0
1
1
2
-19
10
0
0
0
0
-27
48
53
-62
-3
-15
0
0
0
-10
-7
-10
76
38
-29
0
0
0
0
-1
50
-18
-7
42
0
0
0
75
25
-28
8
83
-139
0
0
0
-1
-34
32
39
43
-20
0
0
0
-3
43
-32
-35
63
-54
0
0
0
0
27
-10
7
-54
-1
0
0
0
-52
14
30
44
33
10
0
0
0
0
-4
-10
-22
15
16
0
0
0
-6
-8
16
8
33
-4
0
0
0
-2
2
-5
-64
41
17
0
0
0
10
32
7
9
-11
-35
0
0
0
0
-1
0
-33
51
18
0
0
0
5
4
2
-3
86
-32
0
0
0
0
10
0
3
-12
13
0
0
0
19
-23
-2
-3
2
-1
0
0
0
1
-1
43
22
-1
0
0
0
0
0
0
22
19
-10
0
0
0
0
0
0
14
-47
47
0
0
0
0
0
1
66
11
-13
0
0
0
0
0
0
-4
-30
48
0
0
0
0
1
-3
-6
23
-56
0
0
0
0
0
4
6
-6
-18
0
0
0
0
53
4
3
-18
-36
0
0
0
0
0
-3
1
11
2
0
0
0
0
5
0
-5
24
31
0
0
0
0
0
-1
-1
12
42
0
0
0
0
-3
0
2
-14
52
0
0
0
0
0
1
0
-5
-9
0
0
0
0
0
-2
0
27
42
0
0
0
0
0
-2
-4
1
100
0
0
0
0
-49
-3
0
3
63
0
0
38
33
7
26
19
-118
21
-30
0
0
0
1
-5
11
3
80
-34
0
0
-24
0
0
-46
-17
74
24
0
0
0
0
0
-1
-56
66
24
0
56
-5
-1
-1
-60
-91
15
7
0
0
0
1
2
10
-15
23
-14
0
0
-23
0
4
-31
63
-5
32
0
0
0
1
0
-1
2
84
5
0
-21
-2
0
-18
54
-4
-53
18
0
0
0
0
0
-20
-14
-63
18
0
0
2
0
0
0
-23
26
8
0
0
0
0
0
0
16
25
18
0
91
0
0
0
-4
2
62
6
0
0
0
0
-2
-1
-11
66
14
0
0
4
0
0
2
-3
46
5
0
0
0
0
-1
0
6
39
10
0
-20
0
0
0
42
19
-7
0
0
0
0
0
0
-1
-10
-9
0
0
0
7
0
-3
1
82
5
0
0
0
0
0
0
0
-5
53
0
0
-7
3
0
0
9
-21
34
0
0
0
0
-2
0
8
-76
48
0
0
0
-3
0
0
4
32
4
0
0
0
0
0
0
0
-14
4
0
0
1
0
0
-2
-14
15
42
0
0
0
0
0
0
9
5
0
0
0
0
2
0
0
0
21
47
0
0
0
0
0
0
1
6
-14
0
0
4
0
0
0
-3
7
18
0
0
0
0
0
-3
8
-24
69
0
0
0
3
0
0
-1
-4
-32
0
0
0
0
0
0
-5
-2
-30
0
0
0
0
-1
7
20
-7
-16
-5
0
0
0
1
5
-5
2
55
-65
0
0
0
-5
7
-8
-50
72
-1
0
0
0
-3
-19
3
49
0
-2
0
0
0
0
6
1
-43
11
27
0
0
0
3
-35
14
48
-90
6
0
0
0
0
-1
0
-30
32
3
0
0
0
5
-10
0
16
-26
-21
0
0
0
2
9
33
18
9
-23
0
0
0
2
4
-1
1
81
-35
0
0
0
0
1
1
-2
-1
8
0
0
0
2
-9
-5
-6
-7
0
0
0
0
0
-3
7
-31
5
2
0
0
0
2
6
22
-10
-14
2
0
0
0
0
-2
-7
3
3
1
0
0
0
3
0
-4
8
35
6
0
0
0
0
0
-10
4
2
0
0
0
0
0
5
15
-73
-7
0
0
0
0
0
0
5
5
14
0
0
0
0
-1
-2
-18
-2
47
0
0
0
0
0
6
-16
-10
46
0
0
0
0
0
-2
5
29
17
0
0
0
0
0
0
0
-17
15
0
0
0
0
-1
2
4
14
-50
0
0
0
0
0
5
-5
-68
57
0
0
0
0
0
0
-3
8
45
0
0
0
0
0
0
3
2
47
0
0
0
0
-1
5
3
-7
17
0
0
0
0
0
0
0
-5
65
0
0
0
0
0
-9
-2
14
37
0
0
0
0
0
0
0
19
33
0
0
0
0
0
0
0
4
-34
0
0
0
71
19
-20
41
-79
-29
13
0
0
0
0
0
-11
9
5
10
0
0
97
0
3
-18
-27
31
50
0
0
0
-2
0
16
-4
22
15
0
0
33
-3
-2
11
16
-29
30
0
0
0
0
0
0
-21
-26
28
0
0
-14
0
1
5
-47
21
8
0
0
0
3
-2
-7
2
-43
47
0
0
2
0
2
-4
27
31
-8
0
0
0
0
-2
0
-4
16
17
0
0
-8
0
-1
-4
-25
69
17
0
0
0
1
-1
-1
0
14
12
0
0
1
0
0
2
-8
57
-22
0
0
0
0
0
-4
5
10
16
0
0
28
0
0
1
3
25
1
0
0
0
-9
0
0
-7
-4
1
0
0
14
0
1
-1
-37
-9
0
0
0
0
-1
2
26
66
-64
0
0
0
-58
0
0
2
-1
-27
0
0
0
0
0
3
2
1
41
0
0
0
-9
0
-4
9
13
20
0
0
0
0
0
0
0
14
-30
0
0
0
-3
0
0
2
-10
52
0
0
0
0
6
0
6
0
2
0
0
0
0
0
0
-1
-80
36
0
0
0
0
2
0
-1
-20
25
0
0
0
-26
0
0
-1
0
10
0
0
0
0
-2
-4
-4
7
64
0
0
0
-7
0
2
5
-18
19
0
0
0
0
0
-5
0
0
30
0
0
0
38
0
0
0
-23
0
0
0
0
0
-1
3
3
4
74
0
0
0
0
-5
-55
34
24
1
17
0
0
0
-5
32
-9
-2
26
-10
0
0
0
-1
0
-4
-14
-6
90
0
0
0
56
-9
-17
2
-25
47
0
0
0
0
-7
-35
23
3
-47
0
0
0
0
-6
2
-20
2
17
0
0
0
1
-3
-2
-1
-11
10
0
0
0
26
-13
-10
0
1
-4
0
0
0
0
-2
-6
3
6
9
0
0
0
6
0
0
0
15
-26
0
0
0
0
0
-6
6
14
26
0
0
0
-5
2
0
0
-34
43
0
0
0
0
2
1
0
19
-8
0
0
0
-4
3
0
5
1
2
0
0
0
0
0
1
0
46
-19
0
0
0
-5
10
3
0
-4
-17
0
0
0
4
-7
15
-3
2
0
0
0
0
11
0
1
-8
-20
0
0
0
0
0
0
-4
-1
-3
0
0
0
0
-8
0
-23
8
9
0
0
0
0
0
2
3
1
18
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
-1
3
3
0
0
0
0
-5
-2
-16
5
18
0
0
0
0
0
0
-1
-6
52
0
0
0
0
0
0
-3
-5
50
0
0
0
0
0
1
0
-35
51
0
0
0
0
-9
-4
3
-2
25
0
0
0
0
0
0
-2
0
10
0
0
0
0
0
6
0
-3
13
0
0
0
0
0
0
0
0
3
0
0
0
0
22
-2
6
-4
0
0
0
72
-6
-60
-39
11
9
-14
0
0
0
0
1
-2
-33
-59
-6
0
0
0
-7
-3
17
57
-21
23
0
0
0
0
2
-29
-66
-5
82
0
0
-61
79
0
3
48
-2
-19
0
0
0
0
7
-7
-81
25
2
0
0
0
10
0
0
-18
24
55
0
0
0
0
-1
1
-41
-31
64
0
0
-3
0
15
10
76
-72
18
0
0
0
0
0
-3
1
31
47
0
0
0
-3
0
0
-19
78
-8
0
0
0
0
0
0
-1
-20
16
0
0
-35
0
0
-1
-21
-31
86
0
0
0
0
0
0
-17
44
10
0
0
0
0
0
0
-9
-36
101
0
0
0
0
0
3
0
-14
-33
0
0
0
-10
-3
2
65
-46
42
0
0
0
0
0
1
32
55
-46
0
0
0
-3
0
-3
-21
22
72
0
0
0
0
0
0
0
-26
25
0
0
32
-14
0
9
9
-14
51
0
0
0
0
0
0
5
-32
-14
0
0
0
0
0
0
-9
-16
71
0
0
0
0
0
0
0
-25
20
0
0
0
0
0
4
11
59
23
0
0
0
0
0
1
3
-5
41
0
0
0
-3
0
3
17
-65
65
0
0
0
0
0
0
0
-62
48
0
0
33
0
0
0
-6
-25
-10
0
0
0
0
0
0
1
-74
23
0
0
0
0
0
0
4
-62
-1
0
0
0
0
0
0
-8
-16
-50
0
0
0
0
35
-40
40
58
-35
0
0
0
0
-6
3
-5
111
-20
0
0
0
0
-1
1
20
-62
-5
0
0
0
0
1
-1
-9
95
-1
0
0
0
0
0
-15
79
-48
8
0
0
0
0
-9
3
19
-108
12
0
0
0
0
0
-8
10
5
10
0
0
0
0
7
33
5
-68
13
0
0
0
0
0
-13
2
37
11
0
0
0
0
0
0
1
-39
43
0
0
0
0
0
2
5
-57
29
0
0
0
0
0
-4
-2
20
59
0
0
0
0
0
-5
18
-26
-7
0
0
0
0
0
0
0
9
18
0
0
0
0
0
0
0
-4
-16
0
0
0
0
0
0
-2
1
43
0
0
0
0
1
56
-6
-34
25
0
0
0
0
2
-4
10
9
13
0
0
0
0
0
0
31
-21
-18
0
0
0
0
0
0
-3
-18
36
0
0
0
0
0
-2
22
0
-26
0
0
0
0
0
2
9
-16
31
0
0
0
0
0
0
0
29
-20
0
0
0
0
0
0
1
-22
29
0
0
0
0
-1
0
-10
14
53
0
0
0
0
0
0
-4
13
15
0
0
0
0
0
0
1
31
34
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
1
-40
24
0
0
0
0
0
0
-1
-71
-5
0
0
0
0
0
0
0
-25
57
0
0
0
0
0
0
0
-49
58
0
0
0
47
-8
36
-100
71
-60
0
0
0
0
0
11
31
-36
18
0
0
0
-21
0
0
-12
-36
36
0
0
0
0
2
15
11
11
-3
0
0
0
5
0
-9
-28
-15
20
0
0
0
0
-1
0
45
20
45
0
0
0
20
0
-2
17
0
24
0
0
0
0
0
4
24
-67
-13
0
0
0
0
0
-1
11
24
-15
0
0
0
0
0
0
-10
14
24
0
0
0
19
0
0
17
-113
15
0
0
0
0
0
0
-3
1
1
0
0
0
0
0
0
-82
57
49
0
0
0
0
0
0
18
-39
68
0
0
0
-26
0
0
41
2
-6
0
0
0
0
1
1
-5
-5
32
0
0
0
1
0
-4
-32
-79
60
0
0
0
0
0
-1
-5
-63
67
0
0
0
3
0
-2
-5
-23
29
0
0
0
0
0
1
3
14
-27
0
0
0
5
0
0
-20
3
59
0
0
0
0
0
0
-5
4
13
0
0
0
77
0
1
2
-94
42
0
0
0
0
0
0
0
10
26
0
0
0
-3
0
-8
7
-61
38
0
0
0
0
0
0
-1
-23
71
0
0
0
-10
0
5
43
13
-6
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
3
-62
17
0
0
0
0
0
0
0
-32
28
0
0
0
30
0
0
-4
-27
0
0
0
0
0
0
0
0
-5
12
0
0
0
0
-16
11
-14
3
15
0
0
0
0
-12
22
-42
-8
33
0
0
0
0
3
-2
87
-67
10
0
0
0
0
39
0
-8
-5
39
0
0
0
0
-3
-6
45
-82
69
0
0
0
0
13
-24
-33
-43
60
0
0
0
0
0
1
-10
7
8
0
0
0
0
-26
11
-6
-9
102
0
0
0
0
1
1
-19
-61
76
0
0
0
0
-1
0
-2
-2
-23
0
0
0
0
0
-1
3
49
11
0
0
0
0
-2
-5
-19
24
46
0
0
0
0
-1
-3
6
29
-16
0
0
0
0
-19
2
0
14
-62
0
0
0
0
0
0
13
2
-64
0
0
0
0
53
-2
-1
5
33
0
0
0
0
1
-6
6
-83
43
0
0
0
0
0
1
26
-78
36
0
0
0
0
0
0
-9
-15
-4
0
0
0
0
0
-1
-5
25
11
0
0
0
0
0
0
-4
20
-12
0
0
0
0
17
3
-5
4
-26
0
0
0
0
0
0
-1
37
30
0
0
0
0
-5
0
8
22
33
0
0
0
0
0
-4
1
-55
31
0
0
0
0
-1
-3
0
19
-8
0
0
0
0
0
0
0
11
53
0
0
0
0
0
-1
0
-26
-32
0
0
0
0
0
0
0
-34
67
0
0
0
0
-1
0
0
-2
11
0
0
0
0
0
0
-2
-9
59
0
0
0
0
7
0
0
-2
8
0
0
-11
-30
0
-25
-38
19
21
0
0
0
0
0
4
2
-8
18
0
0
0
79
0
0
66
-50
-15
0
0
0
0
0
1
-6
48
-59
0
0
13
3
0
29
-56
-4
49
0
0
0
0
0
-17
1
-55
56
0
0
0
-15
0
0
-39
25
73
0
0
0
0
0
2
-2
-6
92
0
0
12
0
-6
18
-25
63
-41
0
0
0
0
-1
-1
17
30
5
0
0
0
0
0
0
14
-17
10
0
0
0
0
0
-1
-2
-4
86
0
0
5
0
0
0
26
45
-3
0
0
0
0
0
-3
1
13
26
0
0
0
-4
0
0
10
20
42
0
0
0
0
0
0
-1
1
21
0
0
0
-5
0
-2
6
-24
48
0
0
0
0
0
2
2
-88
38
0
0
0
1
0
0
15
-134
107
0
0
0
0
0
-2
-2
43
80
0
0
-22
-6
0
9
-1
13
16
0
0
0
0
0
-3
3
44
-39
0
0
0
-2
0
0
0
-11
-36
0
0
0
0
0
0
9
-18
35
0
0
39
0
0
5
-32
-46
5
0
0
0
0
0
5
1
31
-47
0
0
0
10
0
-5
-1
-43
26
0
0
0
0
0
0
0
-16
55
0
0
-16
0
0
-1
11
-127
36
0
0
0
0
0
0
1
-27
25
0
0
0
-5
0
0
0
55
42
0
0
0
0
0
0
0
29
-15
0
0
0
0
-14
52
34
-41
11
0
0
0
0
5
11
-23
-126
69
0
0
0
0
-6
-10
14
32
29
0
0
0
0
-4
-3
5
53
45
0
0
0
0
0
5
4
-9
9
0
0
0
0
0
16
21
-51
-62
0
0
0
0
0
2
-1
-7
51
0
0
0
0
0
35
0
8
45
0
0
0
0
0
-14
-2
-53
27
0
0
0
0
4
-5
-1
-30
72
0
0
0
0
0
0
0
31
11
0
0
0
0
0
-35
4
-35
52
0
0
0
0
0
0
-25
6
24
0
0
0
0
1
-1
1
-17
69
0
0
0
0
0
0
-4
-4
12
0
0
0
0
0
6
6
-16
-12
0
0
0
0
0
14
-8
42
-25
0
0
0
0
1
-5
-1
-37
29
0
0
0
0
0
1
0
-28
33
0
0
0
0
0
-6
0
-13
12
0
0
0
0
0
-2
0
50
-50
0
0
0
0
0
0
-2
-32
-6
0
0
0
0
0
0
-5
-6
-68
0
0
0
0
0
0
0
-48
43
0
0
0
0
1
0
4
18
13
0
0
0
0
0
-2
0
-19
79
0
0
0
0
0
0
0
-32
25
0
0
0
0
0
0
-7
-10
44
0
0
0
0
0
0
0
-30
23
0
0
0
0
0
1
2
54
-43
0
0
0
0
0
0
0
-39
43
0
0
0
0
1
0
-2
-47
33
0
0
0
39
-5
-6
-34
21
29
0
0
0
0
0
-1
36
-44
-5
0
0
0
29
0
2
-9
-67
45
0
0
0
0
0
-1
5
14
-4
0
0
0
32
0
-18
-18
38
53
0
0
0
0
0
0
16
51
-72
0
0
0
-9
0
0
24
-35
-1
0
0
0
0
0
1
41
-18
-21
0
0
0
-5
0
-1
30
13
41
0
0
0
0
0
5
6
4
35
0
0
0
-8
0
0
-2
-46
43
0
0
0
0
0
1
2
-8
86
0
0
0
1
0
-1
-13
-25
-18
0
0
0
0
0
-1
0
1
45
0
0
0
-50
0
0
3
-5
5
0
0
0
0
0
-2
0
0
22
0
0
0
-1
0
-1
-27
55
5
0
0
0
0
0
2
0
-60
86
0
0
0
-5
0
1
-5
34
3
0
0
0
0
0
-4
-1
-14
71
0
0
0
2
0
-1
-18
33
-15
0
0
0
0
0
0
0
-12
-14
0
0
0
17
0
0
1
-53
-14
0
0
0
0
0
7
1
3
26
0
0
0
0
0
4
13
-26
23
0
0
0
0
0
0
0
32
27
0
0
0
54
0
0
0
-6
1
0
0
0
0
0
0
1
4
-24
0
0
0
-2
0
0
1
14
-14
0
0
0
0
0
1
-5
2
-16
0
0
0
-5
0
0
1
13
70
0
0
0
0
0
-1
4
24
8
0
0
0
0
7
-4
36
-100
35
0
0
0
0
1
32
16
-23
2
0
0
0
0
-1
-1
2
-4
18
0
0
0
0
-14
-3
1
-26
45
0
0
0
0
0
0
19
11
-90
0
0
0
0
0
-1
9
3
5
0
0
0
0
0
1
9
3
-34
0
0
0
0
25
-8
25
1
-16
0
0
0
0
0
-5
2
-14
27
0
0
0
0
-3
2
-2
50
3
0
0
0
0
6
0
-1
-5
45
0
0
0
0
-5
-10
3
10
-17
0
0
0
0
0
3
-1
-18
81
0
0
0
0
5
-3
-3
15
-4
0
0
0
0
0
0
0
8
5
0
0
0
0
5
5
0
2
-21
0
0
0
0
-1
11
-3
-34
47
0
0
0
0
0
-7
0
-19
29
0
0
0
0
0
0
0
-6
32
0
0
0
0
-4
-2
-2
64
-25
0
0
0
0
0
1
0
-19
7
0
0
0
0
1
-3
7
-3
45
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
19
-1
4
-33
0
0
0
0
0
-3
0
-1
3
0
0
0
0
0
0
0
5
-29
0
0
0
0
-3
0
-3
8
71
0
0
0
0
0
-3
0
5
55
0
0
0
0
0
0
-3
17
19
0
0
0
0
-2
3
1
33
15
0
0
0
0
0
-1
0
5
48
0
0
0
0
-5
1
0
19
14
0
0
48
-37
-2
-5
54
15
5
0
0
0
0
-4
-2
1
-3
-2
0
0
0
0
1
-4
-23
-40
80
0
0
0
0
0
0
0
-52
-11
0
0
-13
0
0
-13
12
53
43
0
0
0
0
3
-2
-2
-5
15
0
0
0
0
0
0
4
37
20
0
0
0
0
0
0
0
-11
6
0
0
34
0
-2
6
-17
-11
12
0
0
0
0
0
1
1
10
8
0
0
0
-4
0
3
6
-39
31
0
0
0
0
0
0
0
-5
72
0
0
35
7
0
1
45
-90
-23
0
0
0
0
0
0
-2
-21
76
0
0
0
0
0
0
4
17
-20
0
0
0
0
0
2
-2
16
6
0
0
0
-1
-9
-3
32
-36
29
0
0
0
0
0
1
-3
12
43
0
0
0
30
0
-1
18
62
2
0
0
0
0
0
4
-3
-53
48
0
0
2
-2
0
0
40
-18
32
0
0
0
0
0
-11
-3
-7
42
0
0
0
0
0
0
1
-43
18
0
0
0
0
0
0
0
29
-5
0
0
0
0
1
-6
-52
21
42
0
0
0
0
0
0
-5
4
-4
0
0
0
2
0
2
-1
20
1
0
0
0
0
0
0
0
-37
14
0
0
6
-2
0
0
5
70
-15
0
0
0
0
-1
-1
0
-59
22
0
0
0
-4
0
0
-2
-5
5
0
0
0
0
0
0
0
-46
24
0
0
0
0
7
14
1
29
-14
0
0
0
0
-4
7
10
-79
60
0
0
0
0
1
0
6
-29
62
0
0
0
0
0
5
-6
-27
-7
0
0
0
0
0
-14
-5
40
43
0
0
0
0
-3
-2
-4
8
81
0
0
0
0
0
0
0
-37
24
0
0
0
0
-6
0
-2
-1
46
0
0
0
0
0
1
11
-44
57
0
0
0
0
0
3
2
-16
76
0
0
0
0
-2
-1
9
34
-19
0
0
0
0
0
10
-1
-55
-4
0
0
0
0
0
2
-5
-73
5
0
0
0
0
0
-1
4
-19
4
0
0
0
0
0
0
0
13
-15
0
0
0
0
-1
0
0
6
-39
0
0
0
0
0
7
19
-3
14
0
0
0
0
3
-1
6
-18
16
0
0
0
0
1
-3
-7
-33
43
0
0
0
0
0
0
-1
23
21
0
0
0
0
0
5
17
37
22
0
0
0
0
0
0
-1
9
44
0
0
0
0
0
0
0
21
-29
0
0
0
0
-58
0
0
-6
129
0
0
0
0
-1
0
-39
-14
8
0
0
0
0
-1
-5
8
-42
21
0
0
0
0
1
0
1
-65
70
0
0
0
0
0
0
1
-46
28
0
0
0
0
0
0
1
-10
25
0
0
0
0
0
0
6
-70
31
0
0
0
0
0
0
2
-23
10
0
0
0
0
-2
0
-2
17
-22
0
0
0
3
9
25
-23
-102
32
0
0
0
0
-2
0
-9
-15
15
0
0
0
19
1
1
-53
35
43
0
0
0
0
-6
6
18
-65
38
0
0
0
-32
0
-1
2
-43
15
0
0
0
0
0
2
-7
-15
0
0
0
0
-12
0
0
-14
-90
108
0
0
0
0
0
0
2
-15
8
0
0
0
0
0
-1
-5
31
-26
0
0
0
0
0
0
14
-26
68
0
0
0
13
0
0
5
-34
58
0
0
0
0
4
0
-8
-3
-38
0
0
0
11
0
1
26
14
-16
0
0
0
0
0
0
4
-1
-5
0
0
0
27
0
0
2
13
-16
0
0
0
0
-2
0
13
0
-37
0
0
0
0
3
0
-41
22
32
0
0
0
0
-1
0
-9
43
79
0
0
0
2
0
0
-53
-41
58
0
0
0
0
1
0
-1
-14
29
0
0
0
1
0
-5
3
-3
45
0
0
0
0
0
0
11
27
12
0
0
0
13
0
0
0
-5
-16
0
0
0
0
6
4
-2
-5
26
0
0
0
-1
4
6
-32
36
24
0
0
0
0
0
0
0
-46
30
0
0
0
33
0
0
5
-1
-83
0
0
0
0
50
0
0
-10
21
0
0
0
-41
0
0
-3
49
14
0
0
0
0
1
0
0
-77
73
0
0
0
32
-3
0
-15
10
-23
0
0
0
0
-3
0
4
-1
22
0
0
0
0
-29
17
-1
-62
33
0
0
0
0
-1
5
11
-47
66
0
0
0
0
0
-2
-1
-29
105
0
0
0
0
-16
4
-9
25
16
0
0
0
0
2
1
-6
-87
63
0
0
0
0
2
-30
11
-15
-40
0
0
0
0
0
5
0
8
21
0
0
0
0
9
-7
-4
39
18
0
0
0
0
0
0
8
-30
39
0
0
0
0
0
0
-2
39
8
0
0
0
0
-1
0
19
1
-34
0
0
0
0
27
2
-14
-2
-17
0
0
0
0
0
0
23
51
-60
0
0
0
0
2
2
-3
6
36
0
0
0
0
0
0
-5
3
37
0
0
0
0
14
12
3
11
39
0
0
0
0
0
0
45
-99
73
0
0
0
0
4
0
1
-22
35
0
0
0
0
0
0
14
-30
-15
0
0
0
0
2
0
6
51
28
0
0
0
0
0
0
-9
14
68
0
0
0
0
-1
3
13
-30
51
0
0
0
0
0
0
0
9
-62
0
0
0
0
-8
0
3
-2
81
0
0
0
0
0
0
-6
-9
-18
0
0
0
0
-1
1
0
-130
82
0
0
0
0
0
0
0
15
-17
0
0
0
0
-5
0
-11
16
9
0
0
0
0
0
0
0
-32
21
0
0
0
0
1
2
-11
33
-59
0
0
0
0
0
0
0
0
78
0
0
0
0
-39
0
9
-1
3
0
0
-47
3
-1
55
14
26
4
0
0
0
0
-2
-1
25
-24
-11
0
0
0
1
0
0
-8
-13
5
0
0
0
0
0
0
-1
-22
29
0
0
-44
-3
0
0
2
-14
23
0
0
0
0
0
5
0
5
44
0
0
0
20
0
0
0
48
32
0
0
0
0
0
2
0
2
50
0
0
-60
0
0
4
-5
15
12
0
0
0
0
0
0
0
25
78
0
0
0
0
0
0
0
-18
-55
0
0
0
0
0
0
-1
-6
81
0
0
2
0
0
0
2
-53
19
0
0
0
0
0
3
0
-9
31
0
0
0
-1
0
0
-3
14
35
0
0
0
0
0
-4
0
-1
-31
0
0
4
-1
0
1
24
35
-31
0
0
0
0
0
0
3
-35
1
0
0
0
-23
0
0
-2
-27
33
0
0
0
0
0
0
2
-13
36
0
0
63
-13
0
-8
14
-80
51
0
0
0
0
0
-2
3
-13
40
0
0
0
3
0
0
0
18
-7
0
0
0
0
0
0
0
2
6
0
0
20
0
0
1
5
-48
4
0
0
0
0
0
1
2
-22
13
0
0
0
0
0
0
0
-51
4
0
0
0
0
0
0
0
0
18
0
0
7
0
0
0
10
15
19
0
0
0
0
-1
0
0
5
9
0
0
0
16
0
0
0
29
29
0
0
0
0
0
2
-1
-21
31
0
0
0
0
0
84
-5
-20
-6
0
0
0
0
1
14
-2
-9
8
0
0
0
0
0
0
1
-6
-13
0
0
0
0
2
-3
0
7
-39
0
0
0
0
2
2
1
-10
-5
0
0
0
0
-4
-8
5
62
7
0
0
0
0
0
9
0
-6
-5
0
0
0
0
8
-46
0
-5
6
0
0
0
0
0
0
2
-19
52
0
0
0
0
2
-6
-3
-14
83
0
0
0
0
0
2
-6
-1
63
0
0
0
0
-2
4
0
-4
51
0
0
0
0
0
4
-4
-3
10
0
0
0
0
2
3
0
-5
-3
0
0
0
0
0
0
0
4
32
0
0
0
0
5
11
-3
-19
23
0
0
0
0
0
3
2
-144
63
0
0
0
0
0
1
0
-40
44
0
0
0
0
0
-4
3
0
-14
0
0
0
0
0
0
0
-6
-48
0
0
0
0
0
0
9
-90
-4
0
0
0
0
0
0
-4
19
10
0
0
0
0
0
-2
0
-15
76
0
0
0
0
1
4
0
-14
65
0
0
0
0
0
0
15
7
15
0
0
0
0
0
0
0
-63
33
0
0
0
0
0
0
0
-17
9
0
0
0
0
0
0
-4
-6
-55
0
0
0
0
0
2
0
-37
16
0
0
0
0
0
-1
0
-14
55
0
0
0
0
0
0
0
5
39
0
0
0
0
0
0
0
23
-27
0
0
0
51
48
-15
-111
-4
1
0
0
0
0
0
-5
0
-1
35
0
0
0
-2
-1
0
3
-23
-38
0
0
0
0
3
7
-4
-5
27
0
0
0
-31
0
1
5
-5
44
0
0
0
0
0
1
-1
0
43
0
0
0
-48
0
0
-5
3
-2
0
0
0
0
0
-5
-2
2
7
0
0
0
-4
-2
-1
11
3
37
0
0
0
0
0
0
0
-2
1
0
0
0
15
0
0
-8
0
5
0
0
0
0
0
0
-2
-2
9
0
0
0
-1
0
0
7
-5
53
0
0
0
0
0
0
5
3
8
0
0
0
15
0
2
0
-6
81
0
0
0
0
3
0
-1
0
13
0
0
0
1
0
0
-1
-87
62
0
0
0
0
-1
2
-4
-37
80
0
0
0
67
0
0
0
46
-90
0
0
0
0
3
-2
0
4
35
0
0
0
8
0
1
-3
-50
6
0
0
0
0
0
1
-2
35
-20
0
0
0
-22
0
0
0
52
-14
0
0
0
0
0
0
-1
-13
39
0
0
0
5
0
-1
-3
-65
36
0
0
0
0
0
0
-1
15
17
0
0
0
13
0
0
-1
16
-27
0
0
0
0
0
0
0
59
-7
0
0
0
-7
0
0
1
-72
25
0
0
0
0
0
4
-3
4
14
0
0
0
-22
0
0
0
25
23
0
0
0
0
-1
0
-1
5
-39
0
0
0
0
30
-54
52
-71
34
0
0
0
0
3
-3
0
-10
14
0
0
0
0
-1
0
0
-2
-7
0
0
0
0
16
8
1
9
-48
0
0
0
0
0
-3
-1
0
0
0
0
0
0
1
0
0
-2
3
0
0
0
0
0
0
1
0
5
0
0
0
0
4
-58
-3
0
5
0
0
0
0
-1
2
-8
-53
15
0
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
0
26
0
0
0
0
-2
-1
5
3
-9
0
0
0
0
0
2
1
1
3
0
0
0
0
-5
9
0
6
27
0
0
0
0
-2
3
-1
-1
8
0
0
0
0
-54
2
1
0
27
0
0
0
0
0
-1
2
35
5
0
0
0
0
-2
0
0
4
-29
0
0
0
0
0
0
0
-22
34
0
0
0
0
1
0
-1
-14
27
0
0
0
0
0
-1
0
10
89
0
0
0
0
0
0
0
7
26
0
0
0
0
0
0
-2
-33
0
0
0
0
0
-6
10
5
-2
14
0
0
0
0
0
0
3
15
-24
0
0
0
0
0
0
-1
13
-34
0
0
0
0
0
0
-2
-29
-18
0
0
0
0
-5
0
7
-46
59
0
0
0
0
0
0
2
10
33
0
0
0
0
2
1
-1
-13
69
0
0
0
0
-2
0
0
-1
55
0
0
0
0
5
0
-2
-37
90
0
0
-20
67
15
-39
-62
-10
24
8
6
0
0
-7
-18
27
-65
14
-9
0
0
-52
11
8
-48
-45
59
24
5
0
0
7
30
-14
-36
14
29
5
33
-16
0
-8
-53
-15
93
-5
11
0
0
0
-32
-24
-130
20
-14
21
0
112
-1
-14
-39
-13
36
-10
9
0
0
1
-18
14
-47
55
1
-1
91
-20
-1
-44
10
40
-15
14
0
0
0
2
49
33
13
16
-5
0
0
52
0
5
61
-12
118
-12
0
0
0
-7
-4
43
-36
109
-7
0
-41
3
1
-23
40
-53
10
31
0
0
0
-7
1
-46
-55
49
51
0
0
-3
0
6
21
-58
18
11
0
0
0
3
2
-19
-5
-3
37
0
40
7
-1
-43
-5
-1
-48
0
0
0
0
1
-90
-30
8
0
0
0
0
15
0
1
-39
-84
22
0
0
0
0
0
5
-41
-36
72
0
0
9
-1
0
33
-33
-8
2
0
0
0
0
0
-13
13
-90
44
0
0
0
-22
0
1
29
-58
74
0
0
0
0
1
-1
1
42
10
0
0
14
7
0
-14
50
-7
-22
0
0
0
0
0
6
20
-30
29
0
0
0
-7
0
5
31
-11
63
0
0
0
0
0
0
-44
-6
117
0
0
-43
0
0
10
-14
-23
31
0
0
0
0
0
-1
49
-74
-5
0
0
0
5
0
0
-26
53
6
0
0
0
0
0
-3
2
-5
37
0
0
0
0
-71
35
32
-30
-21
11
-15
0
0
-13
65
-110
-73
13
0
-20
0
0
-9
-78
-41
-35
-27
0
19
0
0
-47
70
24
16
21
-23
4
0
0
-6
36
-5
-45
36
-16
6
0
0
37
-89
0
-62
-9
5
5
0
0
0
67
63
39
139
2
-8
0
0
53
37
21
-15
-11
-31
15
0
0
-7
-7
-82
-61
75
12
0
0
0
-8
20
67
1
56
-5
0
0
0
2
-4
9
-54
29
13
0
0
0
-41
-38
60
3
20
-6
0
0
0
0
-10
-43
-5
22
19
0
0
0
4
-7
-9
22
14
-12
0
0
0
0
0
-32
-41
-5
36
0
0
0
-5
-11
35
1
-30
34
0
0
0
6
-53
-62
-16
7
0
0
0
0
7
-3
45
-10
-20
0
0
0
0
0
2
-128
-29
68
0
0
0
0
22
23
15
-48
-28
0
0
0
0
0
-1
-41
5
8
0
0
0
0
0
23
-7
-32
28
0
0
0
0
0
0
-3
73
-5
0
0
0
0
15
-4
-8
27
44
0
0
0
0
0
-2
33
-21
2
0
0
0
0
0
-6
20
-91
43
0
0
0
0
0
0
-8
7
31
0
0
0
0
-1
21
-5
1
28
0
0
0
0
0
1
4
-55
32
0
0
0
0
0
14
-4
-98
-3
0
0
0
0
0
-6
-18
24
35
0
0
0
0
-18
-29
3
43
-33
0
0
0
38
-5
-26
42
-89
38
-7
4
0
0
55
54
-75
43
12
11
-13
0
-85
0
5
-25
-61
-36
-2
11
0
0
36
-33
-2
-71
56
-14
-6
0
38
0
-6
-53
74
-2
14
13
0
0
-1
20
-23
30
119
-41
23
0
68
0
-74
5
-24
78
-15
3
0
0
-6
33
14
3
67
-23
-19
0
-65
0
8
63
30
16
15
0
0
0
14
23
86
35
9
-19
0
0
-64
1
-5
82
-112
-4
26
0
0
0
7
13
-20
48
85
-58
0
0
73
0
3
25
-22
-10
-5
0
0
0
6
9
-3
-5
13
11
0
0
12
0
-24
39
37
-36
16
0
0
0
-57
-2
51
-6
-4
-4
0
0
-22
4
-51
60
-25
-10
0
0
0
0
-5
-3
70
-51
44
0
0
0
8
0
2
105
-120
-22
0
0
0
0
-29
-2
48
11
-3
0
0
0
-15
0
0
22
64
-1
0
0
0
0
0
-6
-27
-23
65
0
0
0
68
0
0
-17
-35
8
0
0
0
0
-2
-8
18
-47
-13
0
0
0
1
0
-3
46
-28
-8
0
0
0
0
3
-2
-82
81
62
0
0
0
52
-1
-1
-11
-43
19
0
0
0
0
1
0
-25
4
57
0
0
0
29
0
-2
9
-6
-51
0
0
0
0
0
0
-15
8
14
0
0
0
-14
0
0
-5
11
5
0
0
0
0
0
0
4
-14
22
0
0
0
0
25
-53
14
-24
48
-5
-7
0
0
-17
-24
21
-7
27
-33
37
0
0
-47
-1
10
24
-48
-25
24
0
0
12
-53
-4
-28
42
29
6
0
0
-1
22
2
-19
0
32
2
0
0
-8
-9
1
-53
34
47
-25
0
0
18
-45
10
-46
89
12
11
0
0
10
20
92
-19
-53
63
-27
0
0
-2
-37
35
24
138
-7
0
0
0
16
-1
-16
-61
62
22
0
0
0
-30
-37
57
9
29
6
0
0
0
61
60
1
33
-55
-28
0
0
0
0
5
21
37
34
-24
0
0
0
18
10
46
-13
104
-60
0
0
0
-21
3
-6
33
31
-5
0
0
0
13
-54
18
7
-37
-14
0
0
0
-7
21
12
-15
16
0
0
0
0
1
2
8
15
-24
0
0
0
0
5
5
19
38
-42
0
0
0
0
-34
-99
-16
17
90
0
0
0
0
0
4
-37
-14
65
0
0
0
0
4
26
-44
26
-53
0
0
0
0
-2
6
18
-5
-27
0
0
0
0
-39
-6
-44
-9
24
0
0
0
0
0
-2
-16
4
79
0
0
0
0
5
13
0
-32
-42
0
0
0
0
0
3
10
14
48
0
0
0
0
-10
-14
48
43
-36
0
0
0
0
0
2
-6
10
96
0
0
0
0
0
-7
2
-12
62
0
0
0
0
3
2
-27
35
-26
0
0
0
0
-18
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
84
3
-68
12
-62
-2
5
5
0
0
0
2
-22
13
-43
12
-4
0
0
-11
9
-27
3
-21
16
13
0
0
0
0
73
-10
0
13
-34
0
-9
93
0
-60
-64
49
12
9
0
0
0
0
-6
-29
0
53
1
0
0
-36
0
-15
-102
4
3
2
0
0
0
0
3
-50
17
51
8
0
-13
4
2
-1
21
-3
95
3
0
0
0
14
47
-20
11
-13
5
0
0
-43
0
8
25
-2
-14
15
0
0
0
-2
-9
-6
15
28
19
0
41
2
-2
24
-100
-28
33
-4
0
0
0
0
-1
73
45
-55
-6
0
0
141
0
1
-11
60
-59
-1
0
0
0
2
0
10
-26
20
28
0
69
3
-4
-54
-21
-3
33
0
0
0
0
-3
-4
-34
37
-6
0
0
0
-7
2
-30
-61
3
48
0
0
0
0
0
-4
33
24
-22
0
0
6
-9
-1
2
38
-40
41
0
0
0
0
3
10
48
-21
3
0
0
0
-1
0
-4
16
15
5
0
0
0
0
0
1
71
-2
-18
0
0
-21
52
-1
-17
50
28
7
0
0
0
0
2
18
-31
0
27
0
0
0
21
0
-5
8
-61
9
0
0
0
0
0
-8
-29
-57
65
0
0
-81
3
0
31
-10
-23
-4
0
0
0
0
0
30
-24
-38
-44
0
0
0
-29
0
-1
-22
32
41
0
0
0
0
-1
0
-4
-33
-5
0
0
0
0
-35
-4
-128
-3
51
-11
0
0
0
22
33
17
-72
3
0
0
0
0
7
14
23
-76
-53
62
0
0
0
-27
-74
-9
17
13
24
0
0
0
0
-1
-14
-15
17
-12
0
0
0
14
-5
55
-81
-14
-17
0
0
0
0
16
5
-130
52
20
0
0
0
1
-17
-33
22
25
12
0
0
0
-1
-5
18
-30
-4
-5
0
0
0
-12
-65
-23
-53
46
-3
0
0
0
0
1
14
69
61
5
0
0
0
-37
19
17
-12
2
22
0
0
0
2
25
-48
-6
10
-3
0
0
0
35
-3
19
-6
-26
-7
0
0
0
0
-7
58
13
29
21
0
0
0
3
-26
14
7
-25
38
0
0
0
-1
26
10
-74
9
0
0
0
0
23
0
49
-100
14
0
0
0
0
0
-22
-47
50
22
0
0
0
0
24
-32
48
17
-47
0
0
0
0
0
-11
33
-17
22
0
0
0
0
-1
17
24
-70
19
0
0
0
0
0
-14
17
75
-4
0
0
0
0
0
-15
-1
22
53
0
0
0
0
0
-17
7
-29
54
0
0
0
0
37
13
5
-6
16
0
0
0
0
-1
3
-6
-15
80
0
0
0
0
68
-15
2
-3
-20
0
0
0
0
0
1
23
4
34
0
0
0
0
-1
-43
3
8
41
0
0
0
0
0
-1
-48
-23
87
0
0
0
0
-30
-3
52
-25
65
0
0
0
-56
-44
-16
107
12
22
-16
0
0
0
-111
11
-50
65
23
1
0
0
-12
14
-1
81
-81
-28
14
0
0
0
-31
-36
-17
-4
57
56
0
0
-53
0
-8
22
-20
52
18
0
0
0
11
21
8
-40
20
-9
0
0
40
0
-10
-19
14
-28
6
0
0
0
26
-8
96
-36
-33
10
0
0
49
5
27
-26
-78
106
-7
0
0
0
0
-36
15
-34
50
-1
0
0
13
-3
0
-22
-21
38
8
0
0
0
12
-4
-18
2
19
-18
0
0
-60
-2
-11
-53
-58
6
15
0
0
0
0
-27
-11
25
92
0
0
0
43
1
-2
53
-53
68
-4
0
0
0
105
-1
-76
5
95
-2
0
0
43
4
33
-4
-105
-10
0
0
0
0
-4
1
73
-48
11
0
0
0
17
0
0
-73
-30
16
0
0
0
0
-1
-2
49
-8
1
0
0
0
-25
-3
23
66
-1
-2
0
0
0
0
2
52
-21
9
7
0
0
0
-85
0
13
136
-3
-1
0
0
0
0
1
-15
60
0
43
0
0
0
-5
-1
-41
17
51
-6
0
0
0
0
0
24
-18
32
8
0
0
0
25
6
8
-10
-36
-43
0
0
0
0
-29
-9
20
-24
65
0
0
0
76
0
8
1
57
-103
0
0
0
0
0
9
-12
-53
86
0
0
0
-50
-2
5
54
-1
-50
0
0
0
0
-11
1
14
11
37
0
0
0
0
-34
22
5
-81
30
17
0
0
0
38
-6
-19
-12
-23
-25
0
0
0
42
67
4
-29
-4
-14
0
0
0
-60
39
-31
-31
72
17
0
0
0
-1
8
5
44
46
-40
0
0
0
-4
-52
92
-56
50
35
0
0
0
-8
-27
100
-49
23
-16
0
0
0
24
-25
-50
5
48
26
0
0
0
-3
-37
20
39
43
-10
0
0
0
14
21
16
-52
-9
25
0
0
0
70
5
-24
-71
39
30
0
0
0
-17
55
85
4
-13
-7
0
0
0
1
-11
-42
-16
34
35
0
0
0
3
23
14
-22
34
-6
0
0
0
5
-16
95
-35
17
-16
0
0
0
-53
20
-65
14
50
37
0
0
0
7
28
-5
-29
8
0
0
0
0
-3
17
3
49
11
0
0
0
0
-1
-1
15
-45
86
0
0
0
0
71
-114
5
-5
-5
0
0
0
0
0
26
-10
-23
5
0
0
0
0
15
39
37
-62
5
0
0
0
0
0
-5
64
16
24
0
0
0
0
23
-13
7
55
-47
0
0
0
0
0
-23
49
-3
-19
0
0
0
0
5
-18
12
5
20
0
0
0
0
51
29
-58
2
18
0
0
0
0
11
0
54
-63
25
0
0
0
0
0
2
1
11
-2
0
0
0
0
62
-53
-18
-4
-13
0
0
0
0
27
15
-21
-21
34
0
0
0
0
-14
-55
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
14
24
-26
-14
0
0
0
0
-2
-29
2
-16
-5
0
0
0
59
0
20
-19
-109
28
0
0
0
0
-1
-3
62
-37
14
0
0
23
44
0
29
-32
-3
23
0
0
0
0
0
-6
-25
-90
36
0
0
0
-15
0
-7
-12
-50
64
0
0
0
0
-1
20
7
48
5
0
0
-34
1
1
3
43
10
-2
0
0
0
0
-3
2
-2
72
-21
0
0
0
22
2
2
24
-30
8
0
0
0
0
0
-1
62
-72
1
0
0
27
20
0
-10
-9
-71
-3
0
0
0
0
0
1
-23
18
-2
0
0
0
-96
0
1
-5
-74
95
0
0
0
0
3
0
-4
-35
95
0
0
-46
-2
-2
-57
9
-5
-6
0
0
0
0
0
24
8
-93
-5
0
0
0
62
0
-2
22
-65
-28
0
0
0
0
0
0
-5
-50
18
0
0
28
-1
0
6
-17
-35
22
0
0
0
0
0
-5
8
-82
88
0
0
0
32
0
-2
17
-41
39
0
0
0
0
-1
2
-9
39
5
0
0
33
1
0
-7
43
28
0
0
0
0
0
0
-2
1
-108
47
0
0
0
26
0
0
-74
9
4
0
0
0
0
0
0
-1
36
7
0
0
-8
-10
0
0
-20
-91
37
0
0
0
0
0
14
-7
-42
-24
0
0
0
14
0
1
-7
-28
6
0
0
0
0
0
0
14
-21
69
0
0
0
0
8
44
33
-49
-10
0
0
0
0
12
-41
-15
-32
9
0
0
0
0
-2
3
-14
26
9
0
0
0
0
18
15
-12
32
-33
0
0
0
0
2
-20
-23
-9
42
0
0
0
0
0
-3
25
25
-35
0
0
0
0
2
-4
10
5
9
0
0
0
0
-19
18
14
7
-1
0
0
0
0
0
2
-48
21
-9
0
0
0
0
15
-2
-15
-5
-7
0
0
0
0
0
-6
32
3
-1
0
0
0
0
18
-11
26
-33
32
0
0
0
0
1
-5
58
-133
51
0
0
0
0
0
11
5
-16
10
0
0
0
0
-1
0
-16
30
35
0
0
0
0
31
1
-49
-7
100
0
0
0
0
0
6
4
-24
-7
0
0
0
0
-2
-23
-11
3
47
0
0
0
0
0
5
-4
-6
-15
0
0
0
0
57
5
4
3
39
0
0
0
0
0
0
8
-25
-22
0
0
0
0
1
0
-3
-137
82
0
0
0
0
0
0
7
1
28
0
0
0
0
-1
-14
-3
17
43
0
0
0
0
0
0
-30
-106
71
0
0
0
0
-3
0
4
7
1
0
0
0
0
0
-2
13
-35
-6
0
0
0
0
21
0
-4
-1
-16
0
0
0
0
0
2
4
-37
-16
0
0
0
0
-1
-2
2
-7
28
0
0
0
0
0
-1
4
-5
93
0
0
0
0
13
3
-1
-8
92
0
0
0
57
-16
-14
-58
9
-33
0
0
0
0
-7
9
-13
10
6
0
0
0
4
-4
-4
-42
-52
72
0
0
0
0
-7
17
-4
-20
46
0
0
0
28
2
11
-3
49
-44
0
0
0
0
3
0
-9
-9
36
0
0
0
-82
0
-7
28
57
51
0
0
0
0
33
-9
-5
-6
64
0
0
0
2
-25
1
8
-110
39
0
0
0
0
1
5
14
22
17
0
0
0
-28
4
0
15
32
0
0
0
0
0
-17
2
30
21
-6
0
0
0
16
0
4
-1
-42
69
0
0
0
0
0
-3
-2
31
-5
0
0
0
4
0
1
-16
-16
76
0
0
0
0
15
-15
6
25
87
0
0
0
-7
0
1
-20
-92
93
0
0
0
0
0
-6
14
1
-18
0
0
0
24
0
1
26
-97
-26
0
0
0
0
5
0
23
-75
42
0
0
0
15
0
-2
0
-29
-6
0
0
0
0
0
0
-2
-50
7
0
0
0
-12
0
-2
-26
-13
5
0
0
0
0
-3
-1
0
41
78
0
0
0
-3
1
7
3
-65
22
0
0
0
0
0
-3
-62
-115
49
0
0
0
31
0
0
1
-66
90
0
0
0
0
65
0
14
9
-9
0
0
0
-15
0
-2
6
-22
1
0
0
0
0
0
-6
0
-9
14
0
0
0
35
0
7
-2
-32
73
0
0
0
0
5
0
5
-19
25
0
0
0
0
56
74
23
-14
-97
0
0
0
0
62
-48
39
-28
-8
0
0
0
0
7
-7
19
-18
-21
0
0
0
0
-23
59
-26
-25
17
0
0
0
0
0
-11
9
115
34
0
0
0
0
1
13
-19
-98
55
0
0
0
0
0
-41
-5
-11
53
0
0
0
0
55
-20
46
-28
7
0
0
0
0
0
-9
-6
-91
2
0
0
0
0
9
-35
-13
21
42
0
0
0
0
-5
48
25
-74
49
0
0
0
0
8
32
60
5
-10
0
0
0
0
0
2
-23
18
-6
0
0
0
0
-11
10
1
-14
4
0
0
0
0
-1
3
-26
-6
32
0
0
0
0
-6
22
-37
-4
93
0
0
0
0
0
-4
14
17
-54
0
0
0
0
3
5
-8
-53
3
0
0
0
0
0
0
58
-113
90
0
0
0
0
-16
25
-61
89
-4
0
0
0
0
0
0
13
59
0
0
0
0
0
2
3
6
-55
30
0
0
0
0
5
2
-5
21
10
0
0
0
0
14
14
1
12
40
0
0
0
0
-3
-2
-31
34
58
0
0
0
0
0
1
4
-21
-5
0
0
0
0
0
9
1
-3
16
0
0
0
0
-17
-3
19
29
67
0
0
0
0
0
-3
0
56
44
0
0
0
0
-1
27
5
-59
-14
0
0
0
0
-3
-4
14
-22
27
0
0
0
0
-5
32
-6
5
-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
-96
82
-21
12
-63
20
17
0
0
0
0
-9
-10
10
33
3
0
0
0
16
4
9
55
-45
-2
0
0
0
0
0
1
6
-58
7
0
0
-76
-6
0
-10
68
80
24
0
0
0
0
0
-2
-26
0
-51
0
0
0
2
0
-5
32
27
-37
0
0
0
0
0
-2
47
-20
28
0
0
16
3
0
1
16
-6
12
0
0
0
0
1
-1
-40
35
1
0
0
0
21
2
-8
-22
-42
14
0
0
0
0
0
-2
-14
14
95
0
0
21
-1
0
-18
-31
-22
33
0
0
0
0
0
3
-15
13
54
0
0
0
15
0
0
-7
3
22
0
0
0
0
0
3
-15
-22
20
0
0
-55
-66
2
34
21
-44
19
0
0
0
0
-1
-15
-29
54
-3
0
0
0
-6
-1
6
46
-63
-22
0
0
0
0
0
0
-21
-3
41
0
0
40
-7
-1
-14
23
23
25
0
0
0
0
5
-3
-6
-2
38
0
0
0
-39
0
8
-14
-70
1
0
0
0
0
0
-2
10
-11
54
0
0
71
-27
-6
69
52
-9
7
0
0
0
0
2
0
8
-63
18
0
0
0
10
-1
7
9
73
6
0
0
0
0
0
-4
5
-54
-6
0
0
52
-3
-3
2
43
-14
6
0
0
0
0
0
5
-7
-9
34
0
0
0
31
0
-4
-45
-43
6
0
0
0
0
-1
0
8
-23
77
0
0
0
0
11
78
42
-36
-30
0
0
0
0
-43
2
48
73
-41
0
0
0
0
3
6
18
-43
4
0
0
0
0
9
57
58
15
-103
0
0
0
0
-4
2
17
-66
41
0
0
0
0
-5
-22
11
-42
41
0
0
0
0
0
3
2
-102
15
0
0
0
0
7
-34
4
1
22
0
0
0
0
18
-33
-15
45
-30
0
0
0
0
33
10
-20
-11
6
0
0
0
0
-3
1
25
47
26
0
0
0
0
-3
-25
-1
-19
87
0
0
0
0
0
-7
25
-20
-21
0
0
0
0
-21
7
-10
-18
12
0
0
0
0
-2
-1
-1
2
47
0
0
0
0
-23
53
1
-49
10
0
0
0
0
0
-4
-42
42
31
0
0
0
0
-5
-3
29
14
-17
0
0
0
0
-3
-2
-33
82
30
0
0
0
0
48
0
-31
-37
60
0
0
0
0
0
-15
-25
26
5
0
0
0
0
2
0
3
17
-24
0
0
0
0
0
3
0
-43
73
0
0
0
0
2
-4
85
-71
-33
0
0
0
0
0
-7
-52
27
9
0
0
0
0
-57
-8
11
-31
32
0
0
0
0
11
1
4
-7
20
0
0
0
0
-52
1
58
-30
27
0
0
0
0
0
5
-6
-19
23
0
0
0
0
0
25
-1
-85
-11
0
0
0
0
1
-1
-10
-14
31
0
0
0
0
12
50
-1
0
26
0
0
0
127
-1
-65
14
-91
40
0
0
0
0
18
-26
-49
19
24
0
0
0
44
4
-31
64
-46
24
0
0
0
0
14
3
36
-22
40
0
0
0
24
0
4
36
-69
-35
0
0
0
0
0
-1
-43
16
80
0
0
0
53
-8
15
-82
-37
50
0
0
0
0
0
-64
3
16
93
0
0
0
3
14
-31
20
-39
18
0
0
0
0
1
-15
25
-15
-2
0
0
0
53
0
7
4
-108
44
0
0
0
0
10
9
-1
5
-4
0
0
0
-15
0
-3
45
0
-9
0
0
0
0
5
1
-1
-30
-20
0
0
0
-33
-3
0
-1
10
11
0
0
0
0
-18
-2
34
35
28
0
0
0
-32
0
6
-56
-38
36
0
0
0
0
6
-2
6
10
-40
0
0
0
32
4
-5
32
-15
14
0
0
0
0
24
-4
-4
-21
100
0
0
0
-51
-5
51
50
-77
25
0
0
0
0
-4
-14
48
7
-12
0
0
0
21
0
-4
-35
-28
6
0
0
0
0
1
6
1
-31
54
0
0
0
-2
0
11
29
-28
8
0
0
0
0
-65
0
46
-62
45
0
0
0
-24
3
2
18
-8
-43
0
0
0
0
-25
0
10
70
-20
0
0
0
22
2
10
-37
22
-7
0
0
0
0
0
23
-31
18
-3
0
0
0
52
0
-3
-6
-17
-6
0
0
0
0
11
4
1
17
-19
0
0
0
0
28
8
-79
72
-6
0
0
0
0
14
5
17
-35
33
0
0
0
0
56
1
17
-109
55
0
0
0
0
-40
-24
5
8
66
0
0
0
0
-4
10
11
-25
65
0
0
0
0
2
-55
36
-41
96
0
0
0
0
40
6
14
20
7
0
0
0
0
-24
-36
19
-6
39
0
0
0
0
-3
12
29
24
-18
0
0
0
0
59
-17
-37
45
0
0
0
0
0
-29
1
16
-100
16
0
0
0
0
-43
48
-1
46
-50
0
0
0
0
-1
-1
-30
19
48
0
0
0
0
4
22
6
-56
37
0
0
0
0
23
-5
36
-29
10
0
0
0
0
-27
-5
18
-15
19
0
0
0
0
0
-26
-14
-53
74
0
0
0
0
-57
3
-15
-1
86
0
0
0
0
-3
17
-48
-29
52
0
0
0
0
22
62
-83
-10
69
0
0
0
0
-1
-5
2
-20
11
0
0
0
0
4
14
-27
-56
94
0
0
0
0
15
-19
-2
-2
-8
0
0
0
0
-47
-19
47
8
23
0
0
0
0
14
2
-19
-14
32
0
0
0
0
-75
14
32
-9
65
0
0
0
0
33
-1
21
-145
27
0
0
0
0
19
-7
-23
14
10
0
0
0
0
0
0
-11
-13
-14
0
0
0
0
-24
-41
34
-33
33
0
0
0
0
72
-2
18
8
-35
0
0
0
0
28
-22
-7
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
5
-65
-51
14
28
-3
0
0
-54
4
-49
-139
-36
17
-11
0
17
-56
-42
46
-39
25
24
-9
0
0
-31
3
47
66
-3
-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
-22
57
14
-1
-74
42
15
-4
0
0
0
39
-39
41
14
12
-3
0
0
-55
22
-10
44
-67
15
-10
0
0
0
30
-48
-44
-42
58
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
21
-14
-25
-7
-33
-8
0
0
0
0
25
-87
69
-7
-6
0
0
0
1
51
113
5
-55
-34
0
0
0
0
35
43
-14
-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
32
-32
-52
13
37
33
-11
0
0
0
0
2
36
-9
-18
8
0
0
0
27
4
-52
5
-18
-8
0
0
0
0
-46
-42
-12
-49
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
25
-28
-14
-30
-41
-11
1
0
0
9
-124
-17
23
7
-15
-5
0
0
0
-8
5
-23
28
-3
8
0
0
-18
85
71
19
15
-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
-2
30
-72
-63
54
7
0
0
0
22
-25
3
-41
10
-2
0
0
0
-8
5
26
-42
57
11
0
0
0
7
16
43
21
23
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
0
0
0
0
0
14
-9
-8
18
-4
0
0
0
0
2
-32
27
-48
33
0
0
0
0
-7
-4
13
-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
-5
-2
12
-10
-17
0
0
0
0
-8
3
5
-80
-25
0
0
0
0
0
1
-20
4
58
0
0
0
0
20
-8
7
-30
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
10
1
1
-18
-24
38
38
20
0
0
5
5
30
18
-25
12
19
0
-114
-6
52
-56
55
77
-8
17
0
0
-59
-8
55
-5
-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
7
0
10
-38
-6
-2
-2
0
0
0
-13
-17
34
-15
83
22
0
0
39
-2
3
-42
-141
27
34
0
0
0
4
-4
-3
-60
1
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
-22
0
0
42
-89
-12
0
0
0
0
0
-8
5
4
-12
0
0
0
-3
0
-3
14
-91
45
0
0
0
0
-1
9
5
-5
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
-5
-37
-4
-27
0
0
0
0
2
-1
44
20
-30
0
0
0
10
0
0
-32
-51
57
0
0
0
0
-1
0
-1
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
2
14
33
80
-43
10
8
0
0
-7
7
39
-29
104
60
-27
0
0
9
8
26
-5
3
70
-19
0
0
-24
-27
-89
-16
54
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
-4
3
3
-34
54
14
0
0
0
6
-13
21
-45
-3
-13
0
0
0
-4
-9
19
34
-17
11
0
0
0
-61
3
77
-91
108
-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
3
49
62
-22
0
0
0
0
5
-14
-14
14
26
0
0
0
0
-3
-5
-76
3
4
0
0
0
0
-8
5
-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
0
0
0
0
0
0
2
-22
11
27
0
0
0
0
5
14
0
-15
105
0
0
0
0
5
0
30
45
9
0
0
0
0
-1
-17
6
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
43
7
1
-33
-51
-68
55
12
2
0
0
2
0
36
-24
60
-1
-14
0
33
0
-6
-4
30
71
-20
3
0
0
0
0
-7
93
19
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
31
0
0
-21
-80
76
-23
-1
0
0
0
0
2
-54
12
30
2
0
0
-8
0
8
9
-110
17
-10
0
0
0
0
-3
1
-27
-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
0
0
0
0
0
0
0
0
0
0
0
36
3
0
-14
-18
-67
16
0
0
0
0
0
2
1
-62
43
0
0
0
-6
0
-7
-23
14
5
0
0
0
0
0
-2
-2
-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
-1
3
0
-8
-39
1
-34
0
0
0
0
0
-13
4
44
21
0
0
0
23
0
9
-19
13
5
0
0
0
0
0
-1
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
-2
41
53
12
50
-8
2
0
0
0
27
-66
-13
-54
-11
14
0
0
0
8
-25
-105
43
-5
16
0
0
-3
-72
-27
-29
31
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
-5
9
16
16
65
-18
0
0
0
-1
5
-44
-80
13
6
0
0
0
0
5
50
-47
-14
-2
0
0
0
13
-44
13
12
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
-4
-5
-93
70
0
0
0
0
2
0
-8
-57
-16
0
0
0
0
0
9
-16
-19
-1
0
0
0
0
1
57
-2
-3
-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
1
-6
10
-15
50
0
0
0
0
2
2
-1
27
-24
0
0
0
0
0
1
1
-18
39
0
0
0
0
0
-20
0
-71
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
1
0
6
70
-39
17
3
14
0
0
2
-2
33
70
-48
7
28
0
-7
0
23
-21
6
-14
-14
4
0
0
8
5
53
53
80
-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
9
0
-2
-32
-49
42
21
0
0
0
1
-7
-22
-53
71
21
0
0
14
0
-7
55
50
15
-27
0
0
0
-2
18
3
-78
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
1
0
-2
-27
18
5
0
0
0
0
0
3
-1
-3
34
0
0
0
27
0
-1
-14
-53
-24
0
0
0
0
0
-13
11
-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
-11
0
5
-6
-42
62
0
0
0
0
-1
-1
1
-18
23
0
0
0
-8
0
-5
-9
-4
63
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
0
0
0
0
0
0
-6
-4
-62
-27
5
-19
0
0
-14
1
-7
5
-72
22
47
0
0
-31
-67
63
23
42
4
-10
0
0
3
-80
50
-8
18
-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
15
12
-10
-3
20
0
0
0
17
14
8
29
-3
8
0
0
0
50
9
-41
-29
44
-24
0
0
0
-45
5
-20
8
-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
14
-43
47
-32
0
0
0
0
5
32
15
30
-52
0
0
0
0
0
9
14
-53
18
0
0
0
0
9
43
30
-33
-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
-4
0
5
17
0
0
0
0
3
6
0
-15
-13
0
0
0
0
29
-8
7
-26
34
0
0
0
0
-32
12
5
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
9
1
0
-5
-84
-13
-20
37
0
0
0
-2
-6
35
-50
-1
26
0
0
4
2
-18
73
-53
-6
35
0
0
0
0
21
-14
-56
75
17
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-46
19
23
-1
0
0
0
1
-2
-14
10
26
-4
0
0
0
1
-3
24
61
-19
-5
0
0
0
0
15
73
-23
110
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-16
-21
-25
31
0
0
0
0
8
20
-10
-2
-35
0
0
0
2
0
-6
46
-47
24
0
0
0
0
0
4
37
-64
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
6
10
29
0
0
0
0
0
1
-19
-54
76
0
0
0
0
0
-5
5
36
-8
0
0
0
0
-3
1
14
-14
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
1
-4
25
-15
9
1
0
0
0
-3
21
-22
-78
-53
-2
0
0
0
4
-1
-11
0
98
-26
0
0
0
25
8
22
-76
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
-2
-66
-49
-2
2
0
0
0
0
-16
23
-4
55
-19
0
0
0
-2
-4
15
34
28
-6
0
0
0
5
27
-10
-25
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
3
2
5
-62
15
0
0
0
0
-2
2
2
7
1
0
0
0
0
0
0
14
30
-7
0
0
0
0
0
4
68
-86
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
-22
-47
47
0
0
0
0
9
1
2
-1
7
0
0
0
0
0
0
1
22
60
0
0
0
0
16
8
6
-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
-1
0
-33
28
-31
31
23
0
0
0
0
8
-9
-58
73
-11
0
0
60
1
1
44
-40
16
-10
0
0
0
-21
-18
38
14
-21
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
1
-6
-48
-59
35
18
0
0
0
-18
23
-8
16
42
1
0
0
-7
4
0
-43
25
-103
33
0
0
0
-2
-3
-35
-21
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
-1
-5
8
-8
-112
34
0
0
0
0
0
4
-1
-9
56
0
0
0
18
0
4
-15
-35
36
0
0
0
0
0
-5
-7
14
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
3
-1
2
50
73
-44
0
0
0
0
0
0
-14
-36
49
0
0
0
33
0
0
20
-17
-20
0
0
0
0
10
0
-5
-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
-2
-21
73
-16
15
9
0
0
0
12
33
64
-29
16
-24
0
0
0
2
1
42
0
8
-14
0
0
0
-52
-21
-15
42
-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
-3
-77
1
23
1
0
0
0
1
-56
37
7
-17
3
0
0
0
2
13
31
26
-25
-41
0
0
0
13
-35
-60
25
-42
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
1
3
-25
34
0
0
0
0
-9
-6
8
41
64
0
0
0
0
0
0
76
30
25
0
0
0
0
43
-53
-8
-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
-5
-7
-38
69
0
0
0
0
-13
5
6
13
-23
0
0
0
0
-1
0
16
-80
100
0
0
0
0
-14
-5
-15
-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
-51
0
0
-2
3
-32
-12
33
0
0
0
0
-1
-25
-12
57
7
0
0
51
0
2
-10
-8
-29
18
0
0
0
0
2
76
-43
5
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
-60
6
0
33
82
52
26
-14
0
0
0
-1
52
1
-51
33
-23
0
0
5
0
0
43
-53
31
-19
0
0
0
0
0
-54
-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
53
3
-1
-7
46
-69
13
0
0
0
0
0
24
18
-74
39
0
0
0
-29
0
-4
-33
56
38
0
0
0
0
0
-4
9
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
1
-2
2
21
-28
34
-5
0
0
0
0
0
0
3
0
51
0
0
0
14
0
0
41
-33
53
0
0
0
0
-1
-1
-18
9
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
-22
-3
-42
44
11
0
0
0
-1
8
0
-76
-12
6
0
0
0
0
1
15
15
2
-5
0
0
0
-1
21
44
-21
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
2
5
20
-27
3
2
0
0
0
-5
-50
-22
-57
26
12
0
0
0
0
4
1
20
-35
15
0
0
0
-5
-15
17
-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
-3
14
-2
28
0
0
0
0
0
0
-54
-17
63
0
0
0
0
0
0
-41
18
30
0
0
0
0
0
23
21
-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
-3
-5
-9
3
49
0
0
0
0
0
-12
2
-15
3
0
0
0
0
0
-4
-8
54
30
0
0
0
0
0
-5
-8
-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
38
1
-17
-26
-18
25
17
0
0
0
0
35
5
33
-4
13
0
0
-29
0
-22
-10
58
-5
7
0
0
0
-14
-60
-19
0
81
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
-33
0
1
-5
-6
43
15
0
0
0
5
-3
5
23
-31
4
0
0
24
0
-25
-21
-4
57
-1
0
0
0
40
25
15
5
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
10
0
-1
21
-14
27
0
0
0
0
0
-10
4
-43
24
0
0
0
-25
0
-1
-34
-47
157
0
0
0
0
-2
51
-47
-7
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
-25
0
-2
7
5
43
0
0
0
0
2
1
7
-4
45
0
0
0
24
-3
-5
2
-2
-31
0
0
0
0
19
0
1
4
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
46
-11
31
-4
9
0
0
0
-33
48
23
-43
35
6
0
0
0
-2
-14
44
7
42
-32
0
0
0
26
37
37
-19
-15
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
15
23
52
43
24
0
0
0
10
-40
33
-27
22
14
0
0
0
68
-17
-44
-1
54
-30
0
0
0
72
-64
-41
9
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
-5
5
-34
36
0
0
0
0
7
26
-51
23
75
0
0
0
0
2
14
14
8
6
0
0
0
0
-45
-65
19
8
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
2
-6
15
-12
53
0
0
0
0
-32
0
-13
10
69
0
0
0
0
15
-1
5
-6
16
0
0
0
0
28
19
-48
-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
47
0
0
-49
-94
-74
46
0
0
0
0
-1
43
-9
-113
35
0
0
0
-17
0
-23
22
-41
4
0
0
0
0
7
22
-52
-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
-16
0
-1
9
86
-43
-4
0
0
0
0
-1
-27
44
-31
41
0
0
0
0
1
5
-25
-72
42
0
0
0
0
-4
-36
11
28
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
68
1
0
-4
-34
-92
-6
0
0
0
0
0
-4
50
-26
3
0
0
0
2
0
-5
-5
-47
1
0
0
0
0
0
0
-15
42
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
17
12
-1
14
0
0
0
0
0
5
30
17
-7
0
0
0
2
0
14
-22
54
-38
0
0
0
0
2
8
10
-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
5
-104
15
21
0
0
0
0
-1
-13
-9
31
-53
0
0
0
0
0
-4
46
18
-8
0
0
0
0
-1
33
6
-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
-2
-11
37
-64
24
0
0
0
0
0
1
-29
-74
71
0
0
0
0
-3
-3
23
-27
20
0
0
0
0
4
-6
6
-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
-31
8
0
0
0
0
0
0
0
-55
41
-13
0
0
0
0
0
0
1
-80
68
0
0
0
0
0
3
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
34
-32
0
0
0
0
0
4
0
7
-24
0
0
0
0
0
-1
-14
-31
29
0
0
0
0
9
5
-1
-34
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-30
-4
0
0
0
0
0
1
-58
1
16
0
0
0
49
0
-4
1
-57
-28
0
0
0
0
1
0
-28
56
-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
-2
0
0
32
78
11
0
0
0
0
0
2
45
16
-14
0
0
0
-75
3
-1
58
-54
58
0
0
0
0
2
8
34
-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
33
0
-1
6
-120
40
0
0
0
0
0
1
2
-78
28
0
0
0
-21
0
0
3
-81
80
0
0
0
0
0
0
2
-85
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
-7
0
0
11
15
-20
0
0
0
0
0
1
-3
-13
10
0
0
0
-32
0
0
-33
-32
47
0
0
0
0
0
0
25
-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
-5
8
95
-59
15
0
0
0
0
3
10
-6
-81
7
0
0
0
0
2
-6
6
-21
45
0
0
0
0
-11
-44
32
32
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
9
0
0
0
0
0
-6
23
-22
32
0
0
0
0
0
1
23
10
3
0
0
0
0
25
-29
-4
-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
-6
-26
43
0
0
0
0
0
1
34
-18
39
0
0
0
0
-2
0
21
-53
35
0
0
0
0
0
3
-37
-28
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
4
21
-55
65
0
0
0
0
1
-4
27
-55
100
0
0
0
0
0
0
-57
56
-16
0
0
0
0
3
0
-44
-52
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
45
-5
0
10
-35
-62
-17
0
0
0
0
0
2
31
-27
32
0
0
0
-5
0
-4
-32
21
17
0
0
0
0
0
-2
2
-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
-8
0
0
-6
37
2
-6
0
0
0
0
-1
1
17
59
-44
0
0
0
0
-1
5
66
-59
24
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
49
1
0
0
-2
0
-38
0
0
0
0
0
0
2
-17
-2
0
0
0
-1
0
-1
-2
-53
94
0
0
0
0
0
2
4
-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
-4
-3
0
0
9
-30
63
0
0
0
0
-3
-1
-1
-43
10
0
0
0
-3
0
3
48
-67
14
0
0
0
0
1
-1
8
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
1
-6
5
-81
-5
0
0
0
0
-4
18
-2
-62
18
0
0
0
0
0
14
5
-33
9
0
0
0
0
0
-51
0
-16
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
31
-6
-6
-20
0
0
0
0
0
-6
3
-4
-43
0
0
0
0
3
-2
-5
17
5
0
0
0
0
31
23
-23
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
16
-9
0
0
0
0
0
1
0
3
-1
0
0
0
0
0
1
6
-5
29
0
0
0
0
-1
2
0
-54
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
-23
-101
25
0
0
0
0
-2
1
14
-26
-22
0
0
0
0
0
1
24
-14
51
0
0
0
0
-2
14
4
-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
0
0
0
0
0
0
0
0
0
0
0
-21
1
-5
-6
-32
75
0
0
0
0
0
-10
-9
50
-63
0
0
0
5
0
-2
7
-62
62
0
0
0
0
9
10
-9
-80
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
38
-7
0
0
0
0
0
10
7
-7
-2
0
0
0
6
0
5
-13
56
-3
0
0
0
0
26
20
-14
-49
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
15
0
0
43
-50
29
0
0
0
0
0
-1
6
-10
40
0
0
0
74
0
0
3
-96
24
0
0
0
0
-10
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
43
0
4
23
-100
9
0
0
0
0
-2
-11
-6
-49
100
0
0
0
49
0
-5
35
-25
24
0
0
0
0
-3
0
-5
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
-13
-33
-23
6
0
0
0
0
5
37
-8
-32
-22
0
0
0
0
0
0
-34
16
32
0
0
0
0
-78
52
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
-1
14
10
-13
11
0
0
0
0
-14
-19
53
49
-24
0
0
0
0
0
32
37
-29
39
0
0
0
0
36
27
-5
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
1
9
52
33
0
0
0
0
0
36
-4
5
-36
0
0
0
0
0
8
-3
-24
21
0
0
0
0
1
-74
14
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
-1
-48
-20
141
0
0
0
0
13
17
23
-71
-10
0
0
0
0
-16
5
-44
-19
101
0
0
0
0
-50
-71
-44
20
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
5
-3
0
-4
-60
-19
31
0
0
0
0
0
-13
9
19
63
0
0
0
-1
0
0
21
-18
-12
0
0
0
0
0
17
14
-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
66
-5
0
-50
3
-78
75
0
0
0
0
1
20
71
-46
11
0
0
0
1
-3
4
16
-68
68
0
0
0
0
2
57
29
-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
-25
-1
0
-21
-4
-27
7
0
0
0
0
0
2
32
-82
-26
0
0
0
-2
0
-2
-50
10
4
0
0
0
0
0
2
46
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
-98
21
-2
-24
-48
50
-3
0
0
0
0
0
-26
44
36
-13
0
0
0
3
0
2
34
-34
23
0
0
0
0
0
4
-7
-31
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
-4
1
-117
45
0
0
0
0
0
-5
-45
22
72
0
0
0
0
0
-1
14
10
33
0
0
0
0
19
5
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
7
-57
-17
6
0
0
0
0
0
-3
-35
-50
33
0
0
0
0
0
-2
17
92
14
0
0
0
0
10
-19
20
-47
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-78
2
0
0
0
0
0
-4
-6
-27
9
0
0
0
0
0
0
11
-34
46
0
0
0
0
0
-5
-2
78
-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
-4
43
94
-20
0
0
0
0
0
0
48
-27
-58
0
0
0
0
-2
0
11
-72
10
0
0
0
0
-2
-2
3
-90
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
-8
0
0
-43
-58
71
0
0
0
0
3
2
-18
75
24
0
0
0
-32
0
-2
-21
-62
57
0
0
0
0
-2
0
-19
-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
42
1
-5
42
-32
6
0
0
0
0
0
10
59
-31
-10
0
0
0
54
2
2
6
-60
-32
0
0
0
0
16
-24
67
-38
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
-47
-4
0
0
0
0
-1
-6
-4
-46
48
0
0
0
-27
0
0
-11
86
-69
0
0
0
0
0
7
-31
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
31
1
-1
61
-86
28
0
0
0
0
-3
3
-7
12
18
0
0
0
-21
-2
0
-19
26
-21
0
0
0
0
4
0
-6
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
-3
-43
-25
99
0
0
0
0
-33
28
33
15
-43
0
0
0
0
0
1
5
0
-14
0
0
0
0
-6
39
-47
-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
-7
-49
56
0
0
0
0
19
-5
43
-59
14
0
0
0
0
9
-20
82
-65
43
0
0
0
0
4
-28
2
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
-1
-10
9
-51
103
0
0
0
0
5
-7
0
-31
26
0
0
0
0
5
-1
-30
23
19
0
0
0
0
48
-40
-46
50
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
-2
-1
22
-15
28
0
0
0
0
-12
15
25
-35
34
0
0
0
0
-4
-2
33
-6
7
0
0
0
0
36
-10
33
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
14
0
0
2
2
-26
-19
0
0
0
0
1
1
2
-16
1
0
0
0
18
0
5
0
-8
4
0
0
0
0
0
3
0
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
53
-8
-1
-9
-16
-12
-31
0
0
0
0
-3
-7
14
-32
24
0
0
0
17
0
-4
-16
-7
8
0
0
0
0
0
0
16
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
4
0
10
18
-44
12
0
0
0
0
0
0
11
-43
42
0
0
0
3
0
-2
1
13
-10
0
0
0
0
0
2
-3
54
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-1
-32
31
0
0
0
0
1
0
-10
49
-30
0
0
0
-13
2
0
-6
-5
11
0
0
0
0
-4
1
-2
-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
-2
1
42
-40
0
0
0
0
-1
3
1
-4
86
0
0
0
0
0
1
4
50
-8
0
0
0
0
0
-9
-2
53
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
-7
-31
-46
16
0
0
0
0
0
-1
27
-75
53
0
0
0
0
0
-4
6
-4
30
0
0
0
0
0
10
15
42
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
1
-3
-6
-18
0
0
0
0
0
2
0
22
-41
0
0
0
0
0
-1
29
-34
66
0
0
0
0
0
-2
4
-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
2
10
6
-6
-15
0
0
0
0
2
14
-2
-63
29
0
0
0
0
1
0
-2
32
-60
0
0
0
0
-3
-30
-2
-34
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
12
-53
0
0
0
0
0
1
6
-46
69
0
0
0
-17
0
3
1
10
-27
0
0
0
0
30
0
-3
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
27
0
3
-15
-19
-21
0
0
0
0
2
5
3
-29
-22
0
0
0
17
0
-7
9
64
-39
0
0
0
0
-23
5
-25
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
19
0
20
8
-23
8
0
0
0
0
0
-32
1
-29
80
0
0
0
26
0
0
16
-49
-12
0
0
0
0
6
13
6
-30
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
1
13
-7
0
0
0
0
-1
-7
-4
33
38
0
0
0
10
0
2
51
-77
-45
0
0
0
0
-25
6
2
-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
2
15
16
33
0
0
0
0
41
-10
-25
41
66
0
0
0
0
3
0
19
-42
31
0
0
0
0
1
3
69
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
11
2
-4
0
0
0
0
11
-17
24
9
59
0
0
0
0
-1
5
-7
-65
-25
0
0
0
0
-23
24
23
-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
-27
19
52
0
0
0
0
2
-9
5
-1
-12
0
0
0
0
-23
-1
-5
4
66
0
0
0
0
14
87
14
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
0
0
23
-13
-1
-40
0
0
0
0
-7
-31
35
-56
14
0
0
0
0
14
-45
37
23
62
0
0
0
0
-11
49
-12
-53
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
1
-12
-3
2
-5
7
-3
0
0
7
43
14
-58
15
-15
21
0
15
-5
15
-23
-80
35
10
7
0
0
-19
-48
17
-10
9
39
9
3
82
-8
35
-98
-43
15
1
2
0
0
45
0
-54
-112
6
-8
-18
0
27
-7
-38
66
25
11
3
17
0
0
39
27
53
66
-4
5
8
-23
7
2
-6
37
-2
41
-24
0
0
0
4
40
10
58
22
-23
0
0
12
-7
67
46
-43
-35
8
0
0
0
-59
29
-30
-22
14
51
0
42
-68
-13
33
-15
-33
9
3
0
0
0
14
5
88
-81
-40
45
0
0
-12
74
-42
-30
25
-47
30
0
0
0
23
-4
26
-29
-19
5
0
11
-14
5
-109
-4
49
29
0
0
0
0
9
-7
-16
53
-18
0
0
0
-15
34
1
34
-62
-38
0
0
0
0
49
-5
-40
11
-13
0
0
78
-53
3
65
-42
-28
15
0
0
0
0
-17
73
-33
-55
22
0
0
0
-19
112
-26
-29
27
-28
0
0
0
0
-60
32
39
-57
76
0
0
-42
3
20
21
34
28
-19
0
0
0
0
5
29
34
3
-9
0
0
0
-30
13
10
-6
-53
31
0
0
0
0
-53
-37
-22
32
65
0
0
42
67
-9
-18
16
-32
-36
0
0
0
0
-20
-104
92
-39
66
0
0
0
-44
9
3
-39
18
13
0
0
0
0
-51
-3
-9
-18
70
0
0
0
0
-23
-20
-11
-17
33
-6
13
0
0
51
-34
-17
73
-20
-2
37
0
0
23
-8
25
-63
32
16
64
0
0
2
-22
-1
-28
20
26
59
0
0
0
-5
-65
-51
34
-32
-16
0
0
0
11
-1
-17
73
-29
12
0
0
0
2
3
-27
127
-157
28
0
0
26
13
1
14
-1
-56
21
0
0
1
1
18
10
7
-8
0
0
0
0
-3
-6
-8
-25
-1
0
0
0
3
0
20
7
66
-10
0
0
0
24
-1
8
-7
90
-48
0
0
0
0
2
4
-72
53
30
0
0
0
0
-1
-1
-45
-30
25
0
0
0
0
0
1
-17
22
13
0
0
0
-46
2
-3
-3
7
67
0
0
0
-1
-3
53
-62
3
0
0
0
0
2
-3
-4
-20
43
0
0
0
0
0
0
14
-6
-24
0
0
0
0
-10
-3
-2
-37
38
0
0
0
0
-1
2
8
-43
-6
0
0
0
0
-3
0
1
-57
26
0
0
0
0
0
-13
0
58
-20
0
0
0
0
7
2
-2
-37
-23
0
0
0
0
0
0
0
-62
-27
0
0
0
0
1
2
0
-20
33
0
0
0
0
1
-1
-8
3
-21
0
0
0
0
2
-1
0
-17
35
0
0
0
0
0
-3
0
-11
31
0
0
0
0
2
1
-3
-14
-18
0
0
0
0
0
0
0
7
-54
0
0
0
0
-47
-5
0
9
26
0
0
0
-25
-1
2
-10
-32
-14
1
12
0
0
0
-7
-31
-23
-16
50
-20
0
13
-1
2
-80
-10
-18
-15
22
0
0
-4
0
11
2
-8
39
-3
0
-6
0
1
-27
-20
101
-65
3
0
0
0
0
-5
6
-24
-8
2
0
5
0
0
6
7
8
-77
25
0
0
0
0
2
-25
23
13
8
0
-2
0
-4
6
-21
110
-9
0
0
0
-1
2
-6
-56
130
-21
0
0
-3
0
0
-5
14
-30
24
0
0
0
0
-2
-4
-8
26
-39
0
0
-17
0
0
5
-13
18
12
0
0
0
0
0
-3
-21
-1
25
0
0
-48
0
-2
5
-1
-6
55
0
0
0
0
0
0
-2
-5
8
0
0
0
-2
5
-21
-8
15
0
0
0
0
0
0
-7
12
12
0
0
0
-4
0
0
-11
1
-76
0
0
0
0
0
0
-2
-11
11
0
0
0
1
0
0
16
-29
35
0
0
0
0
1
0
-1
-39
-34
0
0
0
-56
0
0
1
2
24
0
0
0
0
0
0
0
-1
9
0
0
0
2
1
-3
9
-21
-32
0
0
0
0
0
-5
3
-43
39
0
0
0
-34
0
-1
-5
34
44
0
0
0
0
0
-1
-1
11
-27
0
0
0
-2
0
0
0
36
-7
0
0
0
0
0
0
4
6
-30
0
0
0
-18
0
-1
-5
4
71
0
0
0
0
0
0
0
0
21
0
0
0
0
1
-15
-32
53
96
6
-41
0
0
-3
12
68
29
-28
-31
-12
0
0
2
0
43
19
76
-19
18
0
0
48
8
-82
14
55
20
1
0
0
3
2
1
43
-19
-27
39
0
0
-2
-7
-5
-10
26
6
-10
0
0
1
0
18
-9
-17
-86
21
0
0
0
15
24
66
-65
21
-23
0
0
0
-2
14
-114
-28
62
0
0
0
0
2
-13
-13
-28
4
0
0
0
0
-1
8
-14
5
22
0
0
0
-2
-4
29
-81
40
25
0
0
0
0
-2
0
-3
22
45
0
0
0
0
0
0
4
31
-4
0
0
0
0
0
0
-5
35
46
0
0
0
7
2
-5
4
5
10
0
0
0
2
-1
-41
-24
54
0
0
0
0
0
0
-4
18
27
0
0
0
0
0
0
14
14
-23
0
0
0
0
5
-2
50
9
-11
0
0
0
0
0
-1
3
-44
69
0
0
0
0
0
7
-1
-51
86
0
0
0
0
-1
0
0
17
79
0
0
0
0
0
0
1
-4
37
0
0
0
0
0
0
-1
-21
62
0
0
0
0
0
0
1
-34
-3
0
0
0
0
0
0
1
-18
65
0
0
0
0
2
0
4
-9
14
0
0
0
0
0
0
0
5
-39
0
0
0
0
0
-5
0
-31
57
0
0
0
0
0
-2
1
0
17
0
0
0
0
0
0
0
4
2
0
0
-26
3
0
-21
11
-63
72
14
0
0
0
0
2
-44
-58
-33
43
-26
0
-2
0
7
9
41
60
10
20
0
0
1
2
-8
-9
32
94
-5
47
0
0
-14
12
16
84
-22
-3
0
0
-4
0
21
-55
74
-20
33
0
-11
0
1
4
-23
-2
-39
8
0
0
0
0
-11
-34
-53
-19
17
31
0
0
0
27
-99
80
12
0
0
0
0
0
0
8
50
15
0
0
-1
0
0
-33
5
90
3
0
0
0
0
-1
3
-31
55
47
0
-63
0
0
-1
18
29
-81
24
0
0
0
0
0
0
-23
-51
0
0
0
9
0
0
0
6
-36
-11
0
0
0
0
-1
0
5
37
-34
0
53
3
2
9
-28
-71
-13
0
0
0
0
0
-2
-35
-12
13
0
0
0
-2
0
-1
-13
-69
-6
0
0
0
0
0
2
-10
-2
18
0
0
-30
0
0
-2
5
10
2
0
0
0
0
1
-1
18
-61
6
0
0
0
9
0
-3
63
-54
61
0
0
0
0
0
0
-1
5
8
0
0
-1
0
0
-6
-12
33
34
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
-3
-41
16
106
0
0
0
0
0
1
-5
-7
-26
0
0
-8
0
0
4
0
-37
82
0
0
0
0
0
3
0
6
82
0
0
0
8
0
0
-1
-15
21
0
0
0
0
0
3
0
2
0
0
0
0
0
1
-6
10
-73
24
4
23
0
0
6
-17
-10
6
-27
-19
23
0
0
0
-7
-2
29
41
37
3
0
0
-6
17
14
-6
74
-7
-2
0
0
0
0
-10
-22
6
-3
3
0
0
1
0
0
-51
41
13
-8
0
0
0
0
-5
12
-5
12
26
0
0
0
0
1
-2
14
-91
2
0
0
0
0
-1
24
-5
7
0
0
0
0
1
-5
20
5
0
0
0
0
0
0
0
16
16
25
0
0
0
0
0
-2
19
71
-11
0
0
0
0
0
-1
-15
88
-18
0
0
0
0
0
7
-1
36
10
0
0
0
0
0
0
9
19
18
0
0
0
0
-13
-4
0
5
28
0
0
0
0
3
-24
-39
47
0
0
0
0
0
0
17
-77
41
0
0
0
0
0
0
2
-14
53
0
0
0
0
1
-2
2
-45
68
0
0
0
0
0
0
1
-23
-32
0
0
0
0
0
0
1
-43
5
0
0
0
0
0
0
6
32
4
0
0
0
0
0
1
-3
15
-39
0
0
0
0
0
0
-9
-21
-15
0
0
0
0
0
0
-5
21
93
0
0
0
0
0
0
1
0
-38
0
0
0
0
0
0
-2
10
58
0
0
0
0
0
2
0
-5
-6
0
0
0
0
0
3
-2
0
-50
0
0
0
0
0
0
-3
-17
18
0
0
0
0
0
-1
0
-5
5
0
0
0
2
0
-4
-44
24
9
-11
20
0
0
0
0
0
-29
5
-2
23
0
-1
0
0
9
-142
-12
13
31
0
0
1
0
-8
-14
14
35
17
0
5
0
-1
-19
42
-6
-1
7
0
0
0
0
0
-7
43
-9
-2
0
-33
0
-1
0
8
-9
7
8
0
0
0
0
2
-16
9
12
-6
0
1
0
0
2
-44
11
20
0
0
0
0
1
0
-53
14
13
0
0
2
0
-1
-6
-33
41
1
0
0
0
0
0
8
-42
-11
36
0
0
0
0
1
-2
-25
8
6
0
0
0
0
0
1
-31
29
6
0
0
-7
0
0
8
5
23
0
0
0
0
0
0
-2
-10
-5
19
0
0
0
0
-5
-1
-63
52
0
0
0
0
0
0
-1
-25
16
0
0
0
0
0
0
-4
-27
13
0
0
0
0
0
0
1
-44
35
0
0
0
0
0
0
4
-47
71
0
0
0
0
0
0
0
-39
-4
0
0
0
21
0
0
-5
10
28
0
0
0
0
0
6
-1
-11
-14
0
0
0
0
0
0
1
33
48
0
0
0
0
0
0
0
-9
56
0
0
0
27
0
0
-4
-42
35
0
0
0
0
0
-1
-1
-15
26
0
0
0
0
0
0
-1
54
12
0
0
0
0
0
0
-1
-9
-37
0
0
0
-6
0
1
0
1
5
0
0
0
0
0
0
1
0
-25
0
0
0
0
0
-10
-7
-35
-7
45
10
0
0
0
-46
21
-48
47
17
-14
0
0
0
0
15
8
32
17
11
0
0
22
16
-12
109
-29
-67
32
0
0
0
1
8
20
-52
28
11
0
0
0
-2
-1
-55
-15
-12
26
0
0
0
1
-16
-16
29
-43
7
0
0
-15
-11
14
-19
0
-5
28
0
0
0
0
3
-14
15
5
0
0
0
1
2
1
8
-22
0
0
0
0
0
2
-33
-17
68
-29
0
0
0
-1
-20
-39
43
41
-10
0
0
0
0
1
-3
-10
-2
12
0
0
0
0
3
-2
-2
5
-33
0
0
0
0
0
-10
4
-6
2
0
0
0
2
4
9
0
2
-32
0
0
0
0
6
0
43
-88
0
0
0
0
0
-3
3
-20
47
0
0
0
0
0
-1
18
-43
-20
0
0
0
0
0
-6
47
-54
29
0
0
0
0
0
0
2
-5
1
0
0
0
0
1
-3
3
-14
41
0
0
0
0
0
9
0
-14
-6
0
0
0
0
0
25
1
4
7
0
0
0
0
0
0
2
4
12
0
0
0
0
0
0
-3
-1
14
0
0
0
0
0
-1
14
-41
-29
0
0
0
0
0
6
-4
2
57
0
0
0
0
0
3
0
-25
53
0
0
0
0
0
17
2
3
30
0
0
0
0
0
-13
3
-2
11
0
0
0
0
-1
13
2
7
-9
0
0
-5
3
1
-1
29
-71
58
10
0
0
0
-1
5
51
10
28
31
0
0
-15
6
-9
-24
111
8
20
0
0
0
0
-2
-4
-43
-2
4
0
-3
0
0
-2
-13
80
25
0
0
0
0
0
10
-31
-25
118
5
0
0
0
0
-3
8
-2
-17
-21
0
0
0
0
18
5
-35
20
37
0
0
0
0
4
-56
-42
27
14
0
0
0
1
3
42
-15
-53
22
0
0
0
0
0
2
-62
20
10
0
0
0
0
-6
14
-9
32
4
0
-3
0
0
2
37
-48
10
-1
0
0
0
0
4
-17
4
-3
25
0
0
0
0
-1
8
1
23
-7
0
0
0
0
-1
23
6
-25
9
0
0
0
0
-1
-5
-12
40
0
0
0
0
0
-1
-2
-52
38
0
0
0
1
0
0
2
-11
-5
0
0
0
0
0
-1
-2
-4
-33
0
0
-3
0
0
-1
80
43
-28
0
0
0
0
0
0
0
-37
32
0
0
0
0
0
-3
-4
-35
53
0
0
0
0
0
1
-15
16
3
0
0
0
0
0
-2
11
37
-8
0
0
0
0
1
0
-15
49
25
0
0
0
0
0
0
0
90
-66
0
0
0
0
0
-1
0
10
43
0
0
0
0
0
0
1
5
40
0
0
0
0
0
1
2
-14
3
0
0
0
2
0
0
0
-1
7
0
0
0
0
0
0
1
5
3
0
0
0
0
0
-10
27
-29
-15
20
0
0
0
-1
0
6
-108
37
22
0
0
0
7
-1
0
-3
48
10
0
0
0
5
0
2
10
100
-132
0
0
0
0
0
-20
2
18
-13
0
0
0
0
0
-1
36
-49
32
0
0
0
0
0
-1
6
30
21
0
0
0
0
0
1
-32
-14
25
0
0
0
0
-1
-3
-52
19
41
0
0
0
0
0
1
-76
46
6
0
0
0
0
0
-3
-29
-6
26
0
0
0
1
1
-1
-18
33
11
0
0
0
0
0
9
39
35
12
0
0
0
0
-1
0
20
18
3
0
0
0
0
0
0
2
-6
-32
0
0
0
0
0
0
-4
-5
22
0
0
0
0
0
3
2
13
0
0
0
0
0
0
0
9
57
0
0
0
0
0
0
-1
-25
52
0
0
0
0
0
0
0
3
49
0
0
0
0
0
4
0
17
15
0
0
0
0
0
0
0
31
-6
0
0
0
0
0
0
-2
11
-4
0
0
0
0
0
0
1
-3
8
0
0
0
0
0
1
-1
-43
-13
0
0
0
0
0
0
8
11
-9
0
0
0
0
0
0
0
-2
33
0
0
0
0
0
0
0
-5
25
0
0
0
0
0
0
0
-25
5
0
0
0
0
0
0
2
9
-10
0
0
0
0
0
0
0
4
23
0
0
0
0
0
0
0
-14
18
0
0
0
-12
0
-9
-33
32
34
-15
0
0
0
0
1
3
27
5
-11
0
0
21
0
0
15
-28
-3
-5
0
0
0
0
0
-7
-2
26
1
0
0
8
0
3
-15
-8
36
-6
0
0
0
0
0
-1
-21
18
1
0
0
1
0
0
4
-13
3
30
0
0
0
0
0
-3
-11
-30
15
0
0
0
0
3
7
-27
67
1
0
0
0
1
0
0
7
69
-5
0
0
0
0
0
-14
-31
30
-1
0
0
0
0
0
1
13
47
-126
0
0
0
0
0
-2
-17
-66
24
0
0
0
0
-2
0
5
14
-21
0
0
-4
0
0
-2
1
59
-15
0
0
0
0
0
0
0
47
-28
0
0
0
0
0
-5
49
4
0
0
0
0
0
0
1
-57
10
0
0
0
0
0
0
-13
-33
120
0
0
0
0
0
0
0
-3
52
0
0
0
0
0
0
19
-51
62
0
0
0
0
0
0
0
52
6
0
0
0
-2
0
0
3
25
1
0
0
0
0
0
0
0
0
21
0
0
0
0
0
1
1
-21
17
0
0
0
0
-1
0
0
-5
59
0
0
0
5
0
0
2
-9
19
0
0
0
0
0
0
-2
-2
-35
0
0
0
0
0
0
1
-10
16
0
0
0
0
0
0
-1
1
3
0
0
0
4
0
0
0
-5
-23
0
0
0
0
0
0
0
-11
41
0
0
0
0
-1
-1
6
1
-4
1
0
0
0
2
1
34
-56
-20
-18
0
0
0
1
0
6
-3
6
0
0
0
0
-22
-5
1
5
24
18
0
0
0
0
0
-6
71
-31
-8
0
0
0
0
-1
-6
7
23
-40
0
0
0
0
0
3
50
-26
7
0
0
0
5
-29
2
-1
22
33
0
0
0
1
0
-3
-10
5
12
0
0
0
1
2
-9
-32
3
28
0
0
0
0
0
-2
21
4
-50
0
0
0
4
2
-1
3
-27
-73
0
0
0
0
0
0
13
11
17
0
0
0
0
0
-4
-2
-29
-4
0
0
0
0
0
0
1
27
4
0
0
0
-3
0
0
0
53
-91
0
0
0
0
0
-11
-13
36
0
0
0
0
0
0
-1
-7
21
0
0
0
0
0
0
-1
-17
54
0
0
0
0
2
0
4
8
44
0
0
0
0
0
-2
-2
0
5
0
0
0
0
0
3
-1
0
41
0
0
0
0
0
1
6
0
-33
0
0
0
0
0
2
0
-4
107
0
0
0
0
0
0
2
27
-29
0
0
0
0
0
0
-4
-4
32
0
0
0
0
0
0
1
9
17
0
0
0
0
0
1
4
0
9
0
0
0
0
0
0
1
-10
2
0
0
0
0
0
-1
3
15
-46
0
0
0
0
0
0
-1
-4
19
0
0
0
0
3
0
0
2
-33
0
0
17
-3
0
-1
39
-54
2
0
0
0
0
0
0
-2
-45
29
33
0
0
0
0
0
-30
-14
21
-29
0
0
0
0
0
14
23
2
0
0
1
0
0
-2
-17
-9
46
-4
0
0
0
0
0
8
-20
3
33
0
0
-16
0
-1
0
5
28
-14
0
0
0
0
0
35
0
21
-1
0
-13
0
0
-1
-16
28
0
15
0
0
0
0
-2
10
-23
8
2
0
0
0
0
0
-48
-3
32
19
0
0
0
0
-2
35
-1
-18
-1
0
1
0
0
5
9
-36
-6
-5
0
0
0
0
0
0
20
29
-5
0
0
-33
0
0
-34
-7
7
22
0
0
0
0
0
-5
-2
55
-9
0
0
0
0
-3
49
-93
39
0
0
0
0
0
0
3
-13
43
0
0
0
0
0
0
-3
-54
77
0
0
0
0
0
0
0
13
40
0
0
0
0
0
0
14
16
-31
0
0
0
0
0
0
10
-8
-41
0
0
0
5
0
0
-7
5
5
0
0
0
0
0
0
-26
2
55
0
0
0
0
0
0
6
-56
9
0
0
0
0
0
4
-1
-10
16
0
0
0
0
0
0
-2
-6
-22
0
0
0
0
0
0
5
0
-13
0
0
6
0
0
2
-4
25
31
0
0
0
0
0
2
1
-13
34
0
0
0
13
0
0
0
-6
-10
0
0
0
0
0
0
34
4
20
0
0
0
0
0
0
-29
-3
-16
20
0
0
0
-5
-2
0
-16
-12
0
0
0
0
0
0
9
34
64
-63
0
0
0
0
1
2
13
60
-20
0
0
0
0
0
7
-26
56
-5
0
0
0
0
-2
0
-4
-64
34
0
0
0
0
0
0
10
14
14
0
0
0
0
-2
22
-2
-7
18
0
0
0
0
-1
2
1
-35
-1
0
0
0
0
0
2
37
0
-53
0
0
0
0
0
-9
-5
17
1
0
0
0
0
0
27
1
-40
31
0
0
0
0
0
-1
24
11
-9
0
0
0
0
-4
-1
-3
10
-8
0
0
0
0
0
4
-7
132
-32
0
0
0
4
2
-34
0
31
15
0
0
0
0
0
0
55
16
0
0
0
0
0
0
-2
1
27
0
0
0
0
0
0
0
33
-94
0
0
0
0
0
0
4
-10
-33
0
0
0
0
0
0
0
-18
18
0
0
0
0
1
0
1
-1
-28
0
0
0
0
0
0
0
2
-23
0
0
0
0
0
0
-3
6
-9
0
0
0
0
0
0
-3
-32
29
0
0
0
0
0
0
0
-4
11
0
0
0
0
0
0
6
21
-42
0
0
0
0
0
0
2
0
-30
0
0
0
0
-6
0
0
0
75
0
0
0
0
0
2
0
6
-3
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
-1
-4
1
30
0
0
0
2
0
-2
-3
-20
24
-5
0
0
0
1
0
-1
-11
103
-73
0
0
-4
0
0
3
-24
78
18
0
0
0
3
0
8
0
14
-27
0
0
1
0
0
2
-2
61
-20
0
0
0
0
-2
1
0
60
-32
0
0
5
0
0
-4
3
-17
-7
0
0
0
-1
-1
2
0
-25
71
0
0
0
0
0
1
7
-1
14
0
0
0
0
0
0
15
-37
26
0
0
10
0
3
0
1
67
-13
0
0
0
0
0
4
4
15
-4
0
0
4
0
0
2
0
-34
-4
0
0
0
0
-1
0
0
85
-63
0
0
5
0
0
0
0
-11
-43
0
0
0
0
0
1
0
18
-32
0
0
0
0
0
-1
-31
75
0
0
0
0
0
0
0
1
-77
0
0
0
1
0
0
0
-24
61
0
0
0
0
0
0
2
-8
37
0
0
0
-1
0
0
-2
7
-62
0
0
0
0
0
0
0
-4
5
0
0
0
21
0
0
0
-1
12
0
0
0
0
0
0
-1
-2
16
0
0
0
0
0
0
0
15
22
0
0
0
0
0
0
0
-5
58
0
0
0
-11
0
0
-2
-4
-17
0
0
0
0
0
0
-2
0
-5
0
0
0
1
0
1
3
0
-34
0
0
0
0
0
0
0
-13
57
0
0
0
53
0
0
3
-3
-99
0
0
0
0
0
0
0
1
-53
0
0
0
0
0
-3
2
-17
61
-49
0
0
0
-1
6
1
25
-38
-33
0
0
0
-6
0
6
9
51
5
0
0
0
3
-5
14
5
-9
13
0
0
0
0
0
0
7
24
-62
0
0
0
1
14
2
-11
27
-36
0
0
0
0
0
-1
2
4
-112
0
0
0
1
8
-5
1
-1
-48
0
0
0
0
0
0
0
-11
16
0
0
0
0
0
0
-1
-39
20
0
0
0
0
0
-10
0
123
-73
0
0
0
5
-5
17
6
24
-38
0
0
0
0
0
0
0
25
-14
0
0
0
0
0
0
1
22
-43
0
0
0
0
0
-1
0
29
-1
0
0
0
7
-25
3
0
37
6
0
0
0
0
0
0
-20
-18
0
0
0
0
0
0
-2
14
16
0
0
0
0
0
0
3
0
-24
0
0
0
0
0
0
6
1
-10
0
0
0
0
0
0
-4
0
46
0
0
0
0
0
0
-4
11
-22
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-1
2
5
0
0
0
0
0
0
0
-11
61
0
0
0
0
0
-3
0
4
33
0
0
0
0
0
0
-4
-5
-5
0
0
0
0
7
-4
1
7
4
0
0
0
0
0
0
1
1
48
0
0
0
0
-1
4
1
-9
29
0
0
0
0
0
-1
0
10
9
0
0
0
0
-25
-2
5
1
-2
0
0
-3
0
-5
-66
95
39
23
0
0
0
0
6
11
-3
-42
17
0
0
0
2
-4
11
-27
-35
40
0
0
0
0
1
4
34
-14
-25
0
0
6
0
0
-31
-11
-51
20
0
0
0
0
0
43
23
-39
-29
0
0
0
-1
0
-5
-11
-35
3
0
0
0
0
0
-68
-42
-5
43
0
0
0
0
0
-37
37
13
-99
0
0
0
0
-1
5
33
-51
29
0
0
0
0
0
1
-23
-102
42
0
0
0
0
0
-5
-42
-15
57
0
0
3
0
0
9
17
-21
-5
0
0
0
0
0
-6
-5
-31
58
0
0
0
0
0
-5
-21
-67
41
0
0
0
0
-1
7
45
1
-17
0
0
0
0
0
18
77
-7
5
0
0
0
0
0
-1
5
-36
47
0
0
0
0
0
0
-35
18
13
0
0
0
0
0
0
9
6
27
0
0
0
0
0
-3
1
-31
6
0
0
0
0
-1
-9
7
-24
26
0
0
0
0
0
5
3
-117
121
0
0
0
0
0
-4
16
-37
44
0
0
-1
2
0
5
30
-43
48
0
0
0
0
0
-1
1
-35
15
0
0
0
0
0
1
-26
-11
43
0
0
0
0
0
6
36
-42
-28
0
0
1
0
0
-1
5
-30
-16
0
0
0
0
0
0
2
-1
31
0
0
0
-1
0
0
8
-34
47
0
0
0
0
0
5
-5
-48
28
0
0
0
0
0
15
-34
-83
125
0
0
0
0
-6
0
4
-5
51
0
0
0
0
6
0
6
11
33
0
0
0
0
1
0
0
-9
7
0
0
0
0
0
7
-5
21
-26
0
0
0
0
1
-6
0
-3
-24
0
0
0
0
0
0
0
2
2
0
0
0
0
0
-3
-1
0
31
0
0
0
0
0
0
-4
21
3
0
0
0
0
2
0
0
29
-16
0
0
0
0
-1
0
-2
-37
53
0
0
0
0
-4
0
-2
-6
10
0
0
0
0
0
0
-1
-5
-31
0
0
0
0
-2
0
0
13
5
0
0
0
0
0
0
0
16
16
0
0
0
0
25
0
0
3
-19
0
0
0
0
0
-4
1
-41
23
0
0
0
0
0
0
0
24
37
0
0
0
0
0
0
0
-31
33
0
0
0
0
0
0
-5
7
32
0
0
0
0
0
0
0
-19
-39
0
0
0
0
0
3
0
-6
-33
0
0
0
0
0
0
-1
-35
78
0
0
0
0
-1
0
0
6
5
0
0
0
0
0
1
3
-5
19
0
0
0
0
-3
0
0
-76
68
0
0
0
0
3
0
0
-50
55
0
0
0
0
3
-1
0
10
48
0
0
0
0
0
0
0
20
1
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
-3
-5
0
0
0
0
13
0
0
5
33
0
0
0
0
0
0
5
-78
55
0
0
0
0
0
1
-3
-21
5
0
0
0
3
0
0
-22
-55
43
0
0
0
0
0
0
-1
15
-14
0
0
0
0
0
0
10
58
-14
0
0
0
0
0
0
-3
9
-6
0
0
0
8
0
0
-6
5
-58
0
0
0
0
0
0
-1
-1
-14
0
0
0
0
0
0
-33
-38
9
0
0
0
0
0
0
-4
-46
50
0
0
0
-2
0
0
4
-20
-6
0
0
0
0
0
0
2
-4
-14
0
0
0
0
0
0
-14
23
45
0
0
0
0
0
0
1
-18
26
0
0
0
7
0
0
1
-4
-43
0
0
0
0
0
0
1
0
14
0
0
0
0
0
0
5
-8
31
0
0
0
0
0
0
0
-12
29
0
0
0
0
0
0
-1
-17
45
0
0
0
0
0
0
0
5
-52
0
0
0
0
0
0
-6
8
-29
0
0
0
0
0
0
0
16
24
0
0
0
32
0
0
0
-26
-30
0
0
0
0
0
0
1
-42
2
0
0
0
0
0
0
3
-13
37
0
0
0
0
0
-2
2
-10
-26
0
0
0
3
0
0
0
-40
45
0
0
0
0
0
0
4
-13
97
0
0
0
0
0
0
0
38
-27
0
0
0
0
0
0
1
7
38
0
0
0
-7
0
0
0
2
23
0
0
0
0
0
0
-3
0
-6
0
0
0
0
0
0
22
-43
-18
0
0
0
0
0
-2
-10
-34
69
0
0
0
0
0
0
71
-31
-5
0
0
0
0
-4
1
-8
31
19
0
0
0
0
0
-1
0
-3
40
0
0
0
0
0
3
1
44
31
0
0
0
0
0
0
6
-13
38
0
0
0
0
3
-1
-21
0
-19
0
0
0
0
0
0
1
-8
62
0
0
0
0
0
0
5
-18
54
0
0
0
0
0
0
-1
61
-35
0
0
0
0
2
0
2
25
-29
0
0
0
0
0
0
1
-8
73
0
0
0
0
0
0
1
-46
-35
0
0
0
0
0
0
-1
-7
1
0
0
0
0
-2
-1
0
-1
9
0
0
0
0
0
0
-10
-33
54
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
-5
-8
5
0
0
0
0
0
0
4
-4
-27
0
0
0
0
0
0
0
-23
20
0
0
0
0
0
0
0
33
-52
0
0
0
0
0
0
8
-14
42
0
0
0
0
-1
0
-14
21
-11
0
0
0
0
0
0
0
-4
46
0
0
0
0
0
0
1
23
-4
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
-6
-51
35
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
3
10
23
0
0
0
0
0
0
-1
-1
32
0
0
0
0
0
1
0
8
18
0
0
29
-2
0
-3
41
52
-12
0
0
0
0
0
2
5
18
-11
0
0
0
2
0
1
5
-23
40
0
0
0
0
-1
0
3
-34
23
0
0
62
0
0
-1
5
-30
2
0
0
0
0
0
0
7
-27
2
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
51
-14
0
0
-5
0
0
0
-21
54
-7
0
0
0
0
0
-3
0
-14
4
0
0
0
1
0
0
17
13
-17
0
0
0
0
0
0
-9
31
-18
0
0
-9
0
0
0
16
27
-45
0
0
0
0
0
0
-6
15
29
0
0
0
-7
0
0
5
-43
32
0
0
0
0
0
0
0
21
1
0
0
-2
0
0
2
24
-59
38
0
0
0
0
0
0
7
79
-52
0
0
0
1
0
-1
0
-29
34
0
0
0
0
0
-6
20
8
-16
0
0
2
0
0
0
-36
21
32
0
0
0
0
0
1
0
28
-7
0
0
0
26
0
0
2
-71
21
0
0
0
0
0
0
-3
74
-16
0
0
0
0
0
4
26
-73
19
0
0
0
0
0
0
3
43
-15
0
0
0
0
0
-2
14
-43
91
0
0
0
0
0
0
5
-48
20
0
0
-18
0
0
-3
0
-22
10
0
0
0
0
0
0
-2
-5
21
0
0
0
11
0
0
-2
19
33
0
0
0
0
0
-1
0
7
48
0
0
0
0
0
1
-27
20
35
0
0
0
0
-1
-1
2
-14
-3
0
0
0
0
0
0
-6
3
-10
0
0
0
0
-1
0
-18
-13
119
0
0
0
0
0
0
0
-63
44
0
0
0
0
0
3
5
-11
-27
0
0
0
0
0
0
-4
-26
54
0
0
0
0
0
-4
-1
0
-2
0
0
0
0
0
-1
0
-34
42
0
0
0
0
0
1
0
-76
101
0
0
0
0
0
0
-3
1
13
0
0
0
0
2
-3
0
11
7
0
0
0
0
0
0
-3
-8
20
0
0
0
0
0
0
1
-5
-18
0
0
0
0
0
0
0
3
16
0
0
0
0
2
3
0
13
-6
0
0
0
0
0
0
-7
-109
8
0
0
0
0
0
0
0
9
5
0
0
0
0
0
0
8
66
-96
0
0
0
0
1
0
2
-20
85
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
-4
2
11
7
0
0
0
0
0
-1
0
-24
18
0
0
0
0
0
0
-1
-7
24
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
10
46
0
0
0
0
0
0
-1
2
18
0
0
0
0
0
0
-9
-9
22
0
0
0
0
0
-2
0
-18
0
0
0
0
0
0
0
4
21
10
0
0
0
0
0
-1
0
0
1
0
0
0
0
-3
-1
-1
21
-10
0
0
0
-7
0
0
-43
91
-42
0
0
0
0
0
-3
-6
33
80
0
0
0
35
0
0
25
-52
-13
0
0
0
0
0
0
0
6
33
0
0
0
-1
0
0
-10
52
1
0
0
0
0
0
0
-1
-33
33
0
0
0
23
0
-1
0
-29
-22
0
0
0
0
0
-2
0
5
5
0
0
0
0
0
0
2
3
16
0
0
0
0
0
0
0
-2
-41
0
0
0
0
0
0
1
16
65
0
0
0
0
0
0
-3
30
56
0
0
0
0
0
-2
-1
47
14
0
0
0
0
0
0
0
21
44
0
0
0
-58
0
0
0
2
44
0
0
0
0
0
0
2
-5
8
0
0
0
0
0
0
3
-42
38
0
0
0
0
0
0
5
5
32
0
0
0
1
0
0
0
-49
53
0
0
0
0
0
0
0
-16
5
0
0
0
3
0
0
-3
3
9
0
0
0
0
0
0
0
-16
58
0
0
0
40
0
0
2
-20
-5
0
0
0
0
0
0
0
25
10
0
0
0
0
0
0
-7
-33
40
0
0
0
0
0
0
0
31
-14
0
0
0
14
0
0
1
-52
-6
0
0
0
0
0
0
0
0
31
0
0
0
2
0
0
0
-29
44
0
0
0
0
0
0
0
17
-7
0
0
0
-41
0
1
-1
-33
14
0
0
0
0
0
0
0
-33
-4
0
0
0
0
0
11
-18
-34
-1
0
0
0
0
0
-4
0
-10
68
0
0
0
0
0
0
7
-65
4
0
0
0
0
0
3
2
-19
4
0
0
0
0
0
0
0
5
55
0
0
0
0
0
2
0
-13
14
0
0
0
0
0
-2
-2
5
6
0
0
0
0
6
-8
-4
11
1
0
0
0
0
0
0
4
29
-70
0
0
0
0
3
-2
0
33
21
0
0
0
0
-3
0
-10
-15
100
0
0
0
0
-7
-3
1
-19
5
0
0
0
0
0
0
-1
11
25
0
0
0
0
0
-7
-1
2
15
0
0
0
0
0
0
0
-5
11
0
0
0
0
-5
13
-1
-5
-11
0
0
0
0
0
0
-9
4
30
0
0
0
0
0
6
-4
-16
-33
0
0
0
0
0
0
-1
2
37
0
0
0
0
0
8
0
-2
22
0
0
0
0
0
0
0
13
23
0
0
0
0
0
-3
0
28
23
0
0
0
0
0
0
0
10
-4
0
0
0
0
-1
19
1
-22
-8
0
0
0
0
0
0
-1
6
25
0
0
0
0
0
0
4
-26
12
0
0
0
0
0
0
0
3
-7
0
0
0
0
3
2
-5
-14
51
0
0
0
0
0
0
0
-1
94
0
0
0
0
0
0
-13
-10
43
0
0
0
0
0
0
-1
11
47
0
0
0
0
-5
-2
-1
-25
3
0
0
1
0
0
-5
-20
-61
53
0
0
0
0
0
-1
1
-11
-3
0
0
0
0
0
0
-6
10
-55
0
0
0
0
0
0
3
-57
33
0
0
-1
0
0
-2
14
2
-23
0
0
0
0
0
2
-5
-39
74
0
0
0
0
0
0
5
-18
34
0
0
0
0
0
-1
-3
-7
-1
0
0
0
0
0
24
-3
20
-5
0
0
0
0
0
0
-5
9
7
0
0
0
0
0
-1
-8
-13
24
0
0
0
0
0
-1
-5
-17
15
0
0
24
0
0
-6
3
43
-22
0
0
0
0
0
0
-4
9
24
0
0
0
0
0
0
-1
-23
30
0
0
0
0
0
4
0
-4
-2
0
0
0
0
0
-4
5
-3
42
0
0
0
0
0
-3
0
44
52
0
0
0
0
0
1
8
-42
27
0
0
0
0
0
0
0
21
9
0
0
8
0
0
0
15
11
19
0
0
0
0
0
1
-1
-34
13
0
0
0
0
0
-1
-5
22
27
0
0
0
0
0
4
0
19
-34
0
0
0
0
0
-3
-24
-52
54
0
0
0
0
0
0
-1
51
-30
0
0
0
3
0
0
5
-29
-16
0
0
0
0
1
0
2
-10
8
0
0
0
0
0
1
0
10
-16
0
0
0
0
0
3
-3
11
12
0
0
0
4
0
-1
-2
10
-11
0
0
0
0
0
-1
2
20
63
0
0
0
0
0
5
7
-30
5
0
0
0
0
-4
0
0
-13
21
0
0
0
0
0
0
-2
20
5
0
0
0
0
0
0
0
14
-10
0
0
0
0
0
-1
-4
-31
15
0
0
0
0
0
-1
0
-5
-6
0
0
0
0
0
0
-1
-19
6
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
-4
-14
33
0
0
0
0
0
0
0
-33
63
0
0
0
0
0
0
0
2
48
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-1
0
-14
9
0
0
0
0
0
0
0
-14
55
0
0
0
0
0
0
0
4
68
0
0
0
0
-1
0
0
-13
65
0
0
0
0
0
0
0
17
-22
0
0
0
0
0
0
0
-27
30
0
0
0
0
0
0
0
-25
10
0
0
0
0
0
0
0
5
22
0
0
0
0
0
0
0
-35
44
0
0
0
0
0
0
0
9
-17
0
0
0
0
0
0
0
-24
20
0
0
0
0
0
0
0
47
-33
0
0
0
0
0
0
0
-66
33
0
0
0
0
0
0
0
-24
-4
0
0
0
0
0
0
0
5
31
0
0
0
0
0
0
0
16
66
0
0
0
0
0
0
0
-78
5
0
0
0
0
0
0
-2
33
-9
0
0
0
0
0
0
0
-20
59
0
0
0
0
0
-1
0
-21
52
0
0
0
-6
0
-3
-5
-49
72
0
0
0
0
0
0
0
-7
52
0
0
0
-14
0
0
1
-16
-9
0
0
0
0
0
0
0
13
-45
0
0
0
1
0
0
3
-45
50
0
0
0
0
0
0
0
17
4
0
0
0
-14
0
0
-2
19
54
0
0
0
0
0
0
0
-57
-9
0
0
0
0
0
2
3
-10
33
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
2
-26
32
0
0
0
0
0
0
3
-25
59
0
0
0
0
0
0
0
-23
64
0
0
0
0
0
0
0
17
-65
0
0
0
1
0
0
0
-4
53
0
0
0
0
0
0
0
5
-13
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
-1
-13
0
0
0
-7
0
0
0
6
35
0
0
0
0
0
0
0
-14
37
0
0
0
0
0
0
1
1
46
0
0
0
0
0
0
0
-53
21
0
0
0
-24
0
0
1
-63
-22
0
0
0
0
0
0
0
11
6
0
0
0
1
0
0
0
-8
9
0
0
0
0
1
0
0
-44
23
0
0
0
5
0
1
0
8
-17
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
18
76
0
0
0
0
0
0
0
-22
22
0
0
0
10
0
0
0
5
-37
0
0
0
0
0
0
0
7
-24
0
0
0
0
0
9
3
-8
-43
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
-1
0
5
-6
0
0
0
0
0
0
2
-1
49
0
0
0
0
0
0
0
-29
5
0
0
0
0
0
0
1
0
-20
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
2
-25
53
0
0
0
0
1
0
1
9
39
0
0
0
0
0
0
-3
6
-71
0
0
0
0
-6
0
-1
9
35
0
0
0
0
0
0
0
1
43
0
0
0
0
0
-1
0
3
47
0
0
0
0
0
0
0
0
35
0
0
0
0
1
0
0
-4
1
0
0
0
0
0
0
0
-5
59
0
0
0
0
0
0
0
-70
44
0
0
0
0
0
0
0
-8
52
0
0
0
0
-1
0
0
2
9
0
0
0
0
0
0
0
-5
33
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
8
-46
23
0
0
0
0
0
4
0
0
32
0
0
0
0
0
0
0
-9
8
0
0
0
0
0
0
2
6
22
0
0
0
0
0
0
-3
-27
4
0
0
0
0
1
0
1
-34
70
0
0
0
0
0
0
0
10
16
0
0
0
0
0
-1
0
-8
16
0
0
0
0
0
-1
1
3
-2
0
0
0
0
18
4
-1
-21
43
0
0
-2
0
0
2
-26
-67
-1
0
0
0
0
0
0
1
-31
65
0
0
0
0
0
0
5
1
-22
0
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
-10
-48
33
0
0
0
0
0
0
-1
8
-3
0
0
0
1
0
0
0
80
-11
0
0
0
0
0
0
5
2
-9
0
0
0
0
0
2
-3
-19
7
0
0
0
0
0
0
0
-23
62
0
0
0
1
0
-1
0
-20
45
0
0
0
0
0
0
0
-33
6
0
0
3
0
0
0
-7
-5
37
0
0
0
0
0
0
0
20
-74
0
0
0
2
0
0
0
20
-4
0
0
0
0
0
-2
0
-8
37
0
0
0
0
0
1
0
34
25
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
-37
40
0
0
0
0
0
0
0
-10
18
0
0
-4
0
0
0
2
-7
-30
0
0
0
0
0
0
0
1
44
0
0
0
11
0
0
2
-13
-40
0
0
0
0
0
0
0
-53
27
0
0
-1
0
0
0
22
-26
18
0
0
0
0
0
0
0
49
17
0
0
0
0
0
0
3
66
-55
0
0
0
0
0
0
0
-29
-13
0
0
4
0
0
0
2
-76
-5
0
0
0
0
0
0
0
4
-19
0
0
0
1
0
0
2
-10
-16
0
0
0
0
0
0
0
-23
60
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
-10
33
0
0
0
0
0
0
0
5
18
0
0
0
0
-1
0
0
-19
6
0
0
0
0
0
3
1
17
-33
0
0
0
0
0
0
0
-10
-35
0
0
0
0
0
0
0
-32
5
0
0
0
0
0
8
0
-6
-2
0
0
0
0
0
0
-1
1
22
0
0
0
0
0
0
2
-44
-8
0
0
0
0
0
0
2
-5
28
0
0
0
0
-1
-1
5
9
56
0
0
0
0
0
-3
0
-5
91
0
0
0
0
0
0
2
5
11
0
0
0
0
0
1
0
-1
68
0
0
0
0
-4
8
0
1
-36
0
0
0
0
0
0
0
-8
25
0
0
0
0
0
0
0
2
-52
0
0
0
0
0
0
0
5
36
0
0
0
0
0
0
0
-2
87
0
0
0
0
0
0
0
-9
87
0
0
0
0
0
0
0
-32
60
0
0
0
0
0
0
0
-3
37
0
0
0
0
0
-1
0
4
13
0
0
0
0
0
0
-1
9
30
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
-8
27
0
0
0
0
0
0
0
13
-2
0
0
0
0
0
0
0
2
-12
0
0
0
0
0
-2
0
20
20
0
0
0
0
0
0
0
0
66
0
0
0
0
0
-9
3
16
-24
0
0
0
0
0
0
-5
0
27
0
0
0
0
0
0
0
6
8
0
0
0
-16
0
0
-3
3
26
0
0
0
0
0
0
-2
0
60
0
0
0
0
0
-4
-3
5
20
0
0
0
0
0
0
1
0
-5
0
0
0
33
0
0
-3
-1
-2
0
0
0
0
0
-1
4
0
-3
0
0
0
0
0
0
0
-16
42
0
0
0
0
0
0
0
4
12
0
0
0
-13
0
-2
1
-8
25
0
0
0
0
0
0
-2
5
-9
0
0
0
35
0
1
2
-9
-8
0
0
0
0
0
6
1
-1
89
0
0
0
15
0
1
0
4
-28
0
0
0
0
4
0
0
0
37
0
0
0
0
0
0
0
3
-43
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
0
-14
19
0
0
0
0
0
0
0
-6
-12
0
0
0
-10
0
0
-1
7
16
0
0
0
0
0
0
0
1
24
0
0
0
-10
0
0
0
-4
3
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
3
41
-17
0
0
0
0
0
0
0
4
-9
0
0
0
-4
0
0
0
-9
26
0
0
0
0
0
0
1
9
38
0
0
0
-23
0
0
0
-33
9
0
0
0
0
0
0
0
4
59
0
0
0
43
0
0
0
1
4
0
0
0
0
0
0
0
7
-23
0
0
0
0
3
0
-6
-9
22
0
0
0
0
0
0
0
-3
-39
0
0
0
0
0
0
0
1
-53
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
31
0
0
0
0
0
-1
-6
-11
18
0
0
0
0
-1
0
3
-3
8
0
0
0
0
14
3
2
14
-14
0
0
0
0
0
0
0
-3
45
0
0
0
0
0
-8
2
-5
-10
0
0
0
0
2
-2
-1
4
-24
0
0
0
0
-3
-39
0
0
32
0
0
0
0
0
0
0
-15
-7
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
4
-1
-14
0
0
0
0
0
0
0
-16
63
0
0
0
0
0
0
0
10
48
0
0
0
0
0
0
2
-1
-43
0
0
0
0
0
1
-4
2
42
0
0
0
0
3
-4
-2
8
5
0
0
0
0
0
0
0
-41
48
0
0
0
0
0
0
2
-4
56
0
0
0
0
-8
0
11
-9
-3
0
0
0
0
-3
0
0
17
16
0
0
0
0
0
0
0
-4
70
0
0
0
0
0
4
0
10
-3
0
0
0
0
0
-1
5
1
-7
0
0
0
0
-7
4
-1
13
-1
0
0
-36
19
-43
-61
14
20
6
7
-3
0
0
-22
-42
-17
14
13
0
53
0
-41
-18
-19
58
-70
-21
17
32
0
0
6
60
-29
21
12
-43
-34
17
-78
5
-2
-46
-72
117
12
0
0
0
24
30
61
-92
-17
-32
-5
0
-35
0
-1
19
-39
31
-22
6
0
0
-5
-17
-16
-104
10
-19
43
22
36
19
0
-20
-26
-15
5
0
0
0
3
8
22
-29
-8
-12
0
0
60
-8
27
-27
-9
-54
15
0
0
0
-1
3
-30
-12
90
-33
0
-5
1
0
-17
-31
-73
41
23
0
0
0
1
3
14
10
57
-135
0
0
16
0
2
-41
10
64
-36
0
0
0
0
0
-5
53
46
-100
0
-21
54
-3
0
12
-32
10
0
0
0
0
5
-32
-17
70
9
0
0
0
-10
-1
-5
-11
-5
20
0
0
0
0
0
-5
-33
33
37
0
0
71
65
0
-9
21
-91
1
0
0
0
0
0
-5
0
-105
87
0
0
0
20
0
0
7
-58
14
0
0
0
0
1
3
5
18
-24
0
0
-2
1
0
7
-32
12
30
0
0
0
0
0
-4
3
18
-30
0
0
0
-4
0
3
14
-29
-32
0
0
0
0
0
3
-1
-68
-32
0
0
56
0
0
3
23
1
-126
0
0
0
0
-1
0
2
-61
-31
0
0
0
1
0
-1
3
-21
0
0
0
0
0
0
0
-4
1
-51
0
0
0
0
80
55
48
-2
20
-17
18
0
0
59
63
6
39
-71
19
76
0
0
-41
85
-68
-22
52
33
-12
0
0
-23
-35
90
-51
21
-56
123
0
0
-5
-8
-32
12
28
-13
63
0
0
5
86
-9
14
-33
1
-14
0
0
1
10
-5
-90
42
-14
-37
0
0
-31
-50
-12
67
-27
21
12
0
0
17
-53
-29
11
13
18
0
0
0
-5
76
-29
-14
39
-21
0
0
0
-5
-9
14
-20
-65
26
0
0
0
24
9
-31
-28
65
9
0
0
0
0
-2
34
-26
-46
51
0
0
0
1
-5
14
-8
56
-53
0
0
0
1
0
0
-37
-31
-42
0
0
0
5
4
2
-2
-36
4
0
0
0
5
-23
53
-56
21
0
0
0
0
0
-52
5
31
84
0
0
0
0
0
-5
22
-8
23
0
0
0
0
5
-15
-26
2
45
0
0
0
0
0
-43
1
45
-18
0
0
0
0
1
-14
40
-51
7
0
0
0
0
0
-1
-23
28
-18
0
0
0
0
1
-4
-5
-39
-14
0
0
0
0
0
3
12
-31
22
0
0
0
0
-2
0
-4
2
10
0
0
0
0
-8
0
-3
19
-7
0
0
0
0
0
2
0
-78
23
0
0
0
0
0
0
0
-24
26
0
0
0
0
-3
0
0
-52
62
0
0
0
0
0
0
0
-4
54
0
0
0
0
-2
3
2
-8
14
0
0
0
40
-8
-11
62
8
74
-14
-22
0
0
-12
-28
63
1
51
-4
36
0
-26
-2
18
0
-49
1
-49
5
0
0
-3
-42
13
49
-26
53
51
0
-41
4
6
55
-43
-52
6
1
0
0
0
-15
-6
34
-10
59
-3
0
-81
0
1
56
-95
11
21
25
0
0
20
14
-81
-8
20
46
36
0
-9
0
3
15
-71
78
10
0
0
0
-3
-3
7
-26
3
16
0
0
65
-2
16
74
-20
-2
-86
0
0
0
10
-25
-16
-34
55
50
0
0
0
0
0
33
-14
-25
13
0
0
0
0
1
-3
31
13
30
0
0
55
0
-3
16
-33
17
-42
0
0
0
0
0
10
-6
-20
53
0
0
-39
4
-34
31
-85
63
0
0
0
0
5
-19
-10
-29
69
0
0
0
-1
0
0
-1
-5
-2
0
0
0
0
0
-1
22
35
23
0
0
0
-10
0
-1
9
-69
20
0
0
0
0
2
-1
-27
33
-91
0
0
0
-9
0
-2
-29
14
-10
0
0
0
0
0
-5
-14
16
63
0
0
0
1
0
4
-11
-54
20
0
0
0
0
0
0
1
29
19
0
0
0
-1
0
-1
5
-62
7
0
0
0
0
0
0
0
-10
-24
0
0
0
0
0
0
-15
-45
43
0
0
0
0
0
0
1
29
-2
0
0
0
-20
0
0
0
-24
3
0
0
0
0
0
0
1
0
25
0
0
0
0
44
-3
6
56
-46
41
37
0
0
-19
-15
8
8
30
38
64
0
0
-4
33
157
-82
-21
-13
7
0
0
-28
-18
-28
21
92
53
34
0
0
-9
-41
-54
-6
-18
37
36
0
0
-3
-52
71
48
25
-13
73
0
0
0
-5
-8
-35
61
12
20
0
0
-110
-19
9
90
112
23
-12
0
0
-5
12
91
20
-13
-34
0
0
0
-61
-22
-34
17
58
-26
0
0
0
-4
6
80
-46
82
-62
0
0
0
78
1
-71
-45
89
-90
0
0
0
0
-1
9
-33
59
-10
0
0
0
-3
1
22
53
25
-64
0
0
0
0
1
35
-60
52
15
0
0
0
111
-17
-26
-65
62
-15
0
0
0
-13
-1
-5
14
-32
0
0
0
0
37
10
-19
-57
52
0
0
0
0
0
-1
26
-28
13
0
0
0
0
-2
18
-55
25
58
0
0
0
0
3
4
-1
0
38
0
0
0
0
-3
45
-23
14
34
0
0
0
0
0
4
-9
8
-43
0
0
0
0
14
20
-28
-22
-26
0
0
0
0
-2
0
17
-26
34
0
0
0
0
-3
0
-4
-7
44
0
0
0
0
0
0
4
-39
71
0
0
0
0
0
-7
16
-25
11
0
0
0
0
0
0
-3
-5
-3
0
0
0
0
-3
1
1
-13
20
0
0
0
0
0
0
1
2
36
0
0
0
0
-1
3
1
-2
-19
0
0
0
47
1
-79
-79
27
-10
-16
4
0
0
-1
-5
5
-33
17
-41
53
0
15
0
3
-27
7
43
-109
17
0
0
1
-5
-73
19
34
-13
64
-51
3
0
17
-11
-26
68
0
-5
0
0
0
-7
-6
14
-18
-47
3
0
-12
0
0
4
22
-7
-9
35
0
0
0
0
1
-3
-21
30
13
20
1
0
-10
157
-111
-10
-15
0
0
0
0
13
-8
32
-40
-39
0
0
8
0
-1
49
-22
120
-81
0
0
0
0
-1
19
-37
-5
-25
0
1
0
0
0
17
41
94
-9
0
0
0
0
0
0
-25
52
21
0
0
20
0
1
-2
60
54
-33
0
0
0
0
0
-4
-4
18
-11
0
20
0
0
-22
-46
32
3
0
0
0
0
0
-6
5
19
-60
0
0
0
-6
0
0
-53
-57
75
0
0
0
0
0
0
-7
6
15
0
0
-86
1
0
1
-37
-54
83
0
0
0
0
1
2
7
-89
5
0
0
0
32
0
0
10
19
-46
0
0
0
0
0
0
-5
29
2
0
0
-7
1
0
-5
-45
-28
106
0
0
0
0
0
-1
7
18
-5
0
0
0
0
0
-3
0
62
-1
0
0
0
0
0
2
1
-7
76
0
0
-62
0
0
2
14
-9
-10
0
0
0
0
0
0
0
-50
6
0
0
0
14
0
1
0
-45
-10
0
0
0
0
0
0
0
4
0
0
0
0
0
-47
-47
-41
2
-43
-37
58
0
0
23
37
5
-27
-68
17
-3
0
0
8
-15
55
-13
-24
45
-61
0
0
-27
-55
68
42
-10
-44
24
0
0
0
-66
-38
8
56
-56
2
0
0
0
0
6
-33
4
-6
-31
0
0
0
0
-1
-15
-7
-21
48
0
0
-4
62
6
30
-33
74
-33
0
0
0
24
-105
-20
-25
66
0
0
0
0
-18
-9
-58
32
53
0
0
0
0
-1
10
-17
56
-50
0
0
0
0
50
27
57
67
-81
0
0
0
0
-4
-3
-4
14
-26
0
0
0
0
-4
1
-4
-50
14
0
0
0
0
0
14
1
-5
-22
0
0
0
0
-10
-4
24
38
-40
0
0
0
0
-43
-1
3
-13
0
0
0
0
0
-4
1
-100
45
0
0
0
0
0
0
-7
-19
-23
0
0
0
0
0
-36
3
-46
64
0
0
0
0
0
1
-26
-79
73
0
0
0
0
0
0
-2
-27
-38
0
0
0
0
0
-1
-1
-41
75
0
0
0
0
6
-17
-4
-16
85
0
0
0
0
0
1
0
6
-9
0
0
0
0
0
-2
0
10
39
0
0
0
0
0
0
0
-18
52
0
0
0
0
0
4
-1
1
9
0
0
0
0
0
0
0
4
68
0
0
0
0
0
0
1
-4
13
0
0
0
0
0
0
0
-4
35
0
0
0
0
0
0
2
-5
-2
0
0
0
-21
5
-48
47
-88
33
9
19
0
0
0
36
25
-94
-44
1
32
0
-75
0
-4
31
1
6
54
-47
0
0
-5
4
-20
26
20
-21
24
0
51
0
-9
5
-5
-66
-41
8
0
0
0
0
14
-35
-22
45
4
0
4
0
0
-43
-21
27
20
39
0
0
0
-25
60
43
103
56
-4
0
14
0
5
-23
-19
-21
-13
0
0
0
0
5
-19
-18
22
13
0
0
26
0
0
17
-34
-14
11
0
0
0
0
2
-56
65
33
-42
0
0
-1
0
-1
-10
-1
-11
-7
0
0
0
0
-1
2
-6
79
-23
0
0
-6
0
0
1
-32
-13
38
0
0
0
-2
5
4
-5
26
-3
0
0
57
0
21
-57
-33
-56
0
0
0
0
0
1
-2
-14
26
0
0
0
-1
0
-2
-14
-10
37
0
0
0
0
0
0
-19
-2
4
0
0
0
-29
0
0
-8
8
43
0
0
0
0
0
2
-5
-11
52
0
0
0
105
0
0
1
-56
18
0
0
0
0
0
-5
8
-11
27
0
0
0
1
0
0
0
55
-45
0
0
0
0
0
0
0
-43
103
0
0
0
-35
0
0
2
0
5
0
0
0
0
0
-8
0
-5
13
0
0
0
1
0
-1
-1
5
71
0
0
0
0
0
0
1
2
11
0
0
0
-32
0
-2
0
14
0
0
0
0
0
0
-2
4
1
8
0
0
0
0
17
-89
24
-2
-44
15
-40
0
0
55
19
-32
-47
127
-13
2
0
0
-3
-15
-14
-33
73
-30
36
0
0
11
38
11
11
-73
-56
80
0
0
1
-4
33
24
31
63
-44
0
0
16
44
-6
9
1
-12
10
0
0
0
-3
8
27
2
-7
25
0
0
-17
159
31
0
-5
22
-3
0
0
0
5
1
-45
3
26
0
0
0
-1
5
21
-4
-26
-57
0
0
0
-1
-2
-9
19
15
14
0
0
0
4
-14
-8
15
66
-20
0
0
0
0
-3
-3
26
3
6
0
0
0
3
-9
-25
2
43
-9
0
0
0
0
0
1
-2
24
-11
0
0
0
53
10
-3
2
22
-108
0
0
0
-1
-35
16
1
46
0
0
0
0
2
-1
3
16
-13
0
0
0
0
0
-1
17
8
-51
0
0
0
0
4
17
2
7
1
0
0
0
0
0
1
8
-46
39
0
0
0
0
-1
11
5
-11
0
0
0
0
0
-3
7
-1
-4
-32
0
0
0
0
5
-37
5
-4
13
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
10
0
0
0
0
0
14
0
-3
-14
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
-14
0
0
0
0
6
-4
5
-6
11
0
0
30
-9
34
-55
-38
2
17
-16
0
0
0
-18
8
5
7
12
-16
0
0
-22
0
-78
2
-37
39
31
0
0
0
1
0
-49
9
6
-28
0
7
2
0
-20
11
-6
62
7
0
0
0
1
-1
2
-72
38
44
0
0
0
0
0
-14
-25
71
-43
0
0
0
0
1
7
-11
-15
-17
0
5
0
2
-41
57
-24
15
-14
0
0
0
-7
15
-1
-95
48
-6
0
0
-3
-1
-43
62
-16
-77
11
0
0
0
0
0
3
1
14
-11
0
-5
0
0
1
-28
-2
9
17
0
0
0
2
0
-1
44
-28
1
0
0
0
0
0
-1
1
27
-15
0
0
0
0
0
0
-3
2
-16
0
-4
-8
-6
-1
35
23
-2
0
0
0
0
8
4
-6
45
-4
0
0
0
3
0
1
46
-1
-5
0
0
0
0
0
-5
2
-21
-22
0
0
-1
3
0
-3
-5
-17
11
0
0
0
0
0
3
-2
-117
99
0
0
0
0
0
0
2
-17
-51
0
0
0
0
0
1
4
-3
-7
0
0
0
0
0
23
-7
27
4
0
0
0
0
0
0
-3
19
29
0
0
0
1
0
-1
-20
-52
-8
0
0
0
0
0
0
2
-31
93
0
0
7
0
0
8
-6
-5
18
0
0
0
0
0
1
3
23
13
0
0
0
0
0
0
-3
9
20
0
0
0
0
0
-1
0
-1
-5
0
0
0
0
20
0
22
30
-34
-30
0
0
0
7
57
14
-1
-25
-71
0
0
0
0
-9
14
-49
83
-29
0
0
0
3
29
84
-10
-28
-63
0
0
0
3
-15
53
34
-8
-8
0
0
0
-1
6
22
-47
2
-10
0
0
0
0
-7
6
-44
15
-3
0
0
0
-15
15
-7
9
12
16
0
0
0
-2
-14
-109
21
45
22
0
0
0
0
-5
-15
-15
23
9
0
0
0
0
1
-15
31
12
-27
0
0
0
-3
-2
-22
-14
79
12
0
0
0
3
6
-21
-4
55
-60
0
0
0
-2
0
19
95
-37
-14
0
0
0
0
0
1
4
13
10
0
0
0
0
-6
3
-9
37
12
0
0
0
1
-9
68
14
40
0
0
0
0
0
3
-11
-117
56
0
0
0
0
0
2
0
-33
9
0
0
0
0
-2
0
5
-16
-1
0
0
0
0
0
0
-3
27
12
0
0
0
0
-1
-2
-4
49
-41
0
0
0
0
0
0
1
-8
-18
0
0
0
0
0
3
1
-33
-33
0
0
0
0
1
1
4
26
20
0
0
0
0
0
0
0
45
2
0
0
0
0
4
0
0
9
-55
0
0
0
0
0
-2
-1
1
18
0
0
0
0
0
0
0
3
9
0
0
0
0
1
4
0
3
0
0
0
0
0
0
0
2
10
8
0
0
0
0
0
1
0
36
-43
0
0
0
18
36
-65
43
-32
5
-26
0
0
0
-14
-5
-25
2
59
75
0
0
-45
4
1
-13
1
62
-8
0
0
0
-1
-13
17
-57
83
55
0
0
9
0
3
-20
20
-8
5
0
0
0
0
3
-22
-43
0
39
0
0
11
0
1
14
-35
-36
47
0
0
0
-14
0
16
21
59
-21
0
0
-2
-5
7
65
7
-63
-37
0
0
0
6
0
-1
1
-23
8
0
0
40
0
0
-11
-11
-4
-4
0
0
0
1
-1
-14
-9
32
26
0
0
-4
0
0
12
-21
68
-28
0
0
0
0
0
2
-5
54
-29
0
0
-38
0
0
2
2
58
-18
0
0
0
1
0
-7
15
-6
15
0
0
-43
-3
-1
33
-39
21
0
0
0
0
2
-1
23
-39
13
0
0
0
-25
0
0
47
44
-11
0
0
0
0
0
2
-5
-48
46
0
0
0
0
0
0
26
-66
48
0
0
0
0
-4
0
-18
-14
59
0
0
0
-16
0
0
-1
-5
1
0
0
0
0
23
0
-25
9
40
0
0
0
0
0
3
-2
17
37
0
0
0
0
0
1
0
27
5
0
0
0
14
0
0
-4
-51
46
0
0
0
0
-1
0
1
21
43
0
0
0
-2
0
-2
2
14
4
0
0
0
0
0
-2
0
-17
21
0
0
0
23
0
0
-1
-49
9
0
0
0
0
1
1
2
-19
5
0
0
0
0
-23
22
-63
24
-5
14
0
0
0
-60
15
2
32
48
52
0
0
0
0
-1
33
-27
44
7
0
0
0
45
-6
-62
33
23
7
0
0
0
-1
-26
0
58
43
-33
0
0
0
-4
28
11
-34
47
-20
0
0
0
0
20
-11
40
-58
28
0
0
0
-23
5
92
29
16
-17
0
0
0
0
-5
-13
-36
61
-30
0
0
0
-6
-9
16
-7
23
75
0
0
0
-2
2
-5
-47
5
15
0
0
0
-5
31
7
15
-40
-6
0
0
0
0
-1
0
-10
36
-29
0
0
0
5
3
2
-5
97
-126
0
0
0
0
10
0
3
-1
-2
0
0
0
7
-11
-2
-3
-3
-21
0
0
0
1
0
53
31
23
0
0
0
0
0
0
1
-14
-42
0
0
0
0
0
0
24
-53
31
0
0
0
0
0
1
51
-5
-19
0
0
0
0
0
0
2
-7
4
0
0
0
0
1
-3
-6
14
-20
0
0
0
0
0
4
5
18
-4
0
0
0
0
23
4
1
-16
-43
0
0
0
0
0
-3
1
1
7
0
0
0
0
5
0
-5
20
21
0
0
0
0
0
-1
-1
7
43
0
0
0
0
-3
0
0
-10
35
0
0
0
0
0
1
0
7
29
0
0
0
0
0
-2
0
32
43
0
0
0
0
0
-2
-4
-2
51
0
0
0
0
-24
-3
-3
8
56
0
0
45
21
10
-10
86
-87
2
-37
0
0
0
1
-16
9
-11
23
1
0
0
2
0
0
-63
-9
33
40
0
0
0
0
0
-1
-34
99
-36
0
69
0
-1
-6
-45
-41
24
-17
0
0
0
1
2
10
-23
-33
5
0
0
-5
0
4
-33
51
34
-27
0
0
0
1
0
-1
2
69
23
0
2
-2
0
-46
23
-5
46
14
0
0
0
0
0
-20
-22
-67
58
0
0
2
0
0
1
-15
56
52
0
0
0
0
0
0
16
95
4
0
61
0
0
0
-27
-19
71
38
0
0
0
0
-2
-2
-7
35
-9
0
0
4
0
0
2
-3
31
11
0
0
0
0
-1
0
6
23
13
0
-5
0
0
-1
-50
-1
38
0
0
0
0
0
2
2
-22
-34
0
0
0
7
0
-3
0
34
21
0
0
0
0
0
0
0
-3
6
0
0
12
3
0
0
34
-28
56
0
0
0
0
-2
0
11
-57
30
0
0
0
-1
0
0
4
0
-22
0
0
0
0
0
0
0
-14
29
0
0
1
0
0
-2
-8
49
33
0
0
0
0
0
0
9
9
30
0
0
0
2
0
0
0
31
16
0
0
0
0
0
0
1
3
-9
0
0
24
0
0
0
0
-2
-32
0
0
0
0
0
-3
8
-25
57
0
0
0
5
0
0
-1
14
13
0
0
0
0
0
0
-5
-3
8
0
0
0
0
5
47
21
-33
68
-23
0
0
0
1
5
-7
1
61
-94
0
0
0
-5
7
-4
-46
8
21
0
0
0
3
-23
3
56
31
-41
0
0
0
0
7
1
-46
-14
49
0
0
0
3
4
4
43
-77
-16
0
0
0
0
-1
0
-27
9
46
0
0
0
16
-6
0
14
-20
-5
0
0
0
2
17
32
10
8
-17
0
0
0
2
4
-1
-6
-1
-8
0
0
0
0
1
1
-3
-19
-8
0
0
0
2
-5
-5
3
53
-22
0
0
0
0
-3
8
-26
52
10
0
0
0
2
6
2
-16
-26
19
0
0
0
0
-2
-7
3
-5
0
0
0
0
3
0
-4
8
19
6
0
0
0
0
0
-7
13
43
0
0
0
0
0
5
15
-80
25
0
0
0
0
0
0
4
9
4
0
0
0
0
-1
14
-18
0
43
0
0
0
0
0
6
-7
-25
62
0
0
0
0
0
-2
0
25
-7
0
0
0
0
0
0
0
-25
41
0
0
0
0
-4
1
4
11
-43
0
0
0
0
0
2
-5
-52
21
0
0
0
0
0
0
-3
-7
44
0
0
0
0
0
0
3
2
55
0
0
0
0
-1
5
3
-6
4
0
0
0
0
0
0
0
-5
42
0
0
0
0
0
-9
-2
19
41
0
0
0
0
0
0
0
20
53
0
0
0
0
0
0
0
3
-17
0
0
0
16
-5
-18
54
-70
0
-10
0
0
0
0
0
5
18
-14
-4
0
0
22
0
3
-5
-20
1
5
0
0
0
-2
0
14
-4
19
35
0
0
4
-3
-3
9
9
-30
-52
0
0
0
0
0
0
-19
-5
-3
0
0
-27
0
1
4
-50
47
-17
0
0
0
3
-2
-8
2
-43
41
0
0
2
0
2
-2
25
-8
-43
0
0
0
0
-2
0
-3
79
-22
0
0
-5
0
-1
-3
-33
28
23
0
0
0
1
-1
2
0
9
50
0
0
0
0
0
5
-11
2
7
0
0
0
0
0
-7
5
9
50
0
0
16
0
0
0
3
-18
41
0
0
0
-9
0
0
-7
14
7
0
0
14
0
3
-19
32
-37
0
0
0
0
-1
2
25
23
-71
0
0
0
-22
0
0
2
-5
4
0
0
0
0
0
3
2
1
51
0
0
0
-30
0
-4
4
10
56
0
0
0
0
0
0
-2
8
-20
0
0
0
-3
0
0
2
-3
48
0
0
0
0
6
0
6
0
3
0
0
0
0
0
0
-1
-25
50
0
0
0
0
2
0
-1
-23
5
0
0
0
6
0
0
-1
0
53
0
0
0
0
-2
-4
-5
7
65
0
0
0
0
0
2
5
-9
14
0
0
0
0
0
-5
0
0
-9
0
0
0
35
0
0
0
-23
12
0
0
0
0
-1
3
3
4
73
0
0
0
0
-6
-7
21
24
-39
-27
0
0
0
5
31
-4
-2
53
-36
0
0
0
-1
0
-5
-11
-18
93
0
0
0
4
-9
-7
0
-36
23
0
0
0
0
-13
-27
23
2
19
0
0
0
-1
-9
2
-20
2
45
0
0
0
1
-3
-1
-1
-11
35
0
0
0
43
5
-9
0
2
-55
0
0
0
0
-2
-4
2
28
-10
0
0
0
8
0
0
0
14
-97
0
0
0
0
0
-6
5
-11
10
0
0
0
-25
3
0
0
-6
33
0
0
0
0
2
-19
0
55
24
0
0
0
-4
2
0
0
-11
42
0
0
0
0
0
1
0
87
-22
0
0
0
-7
3
5
0
5
-22
0
0
0
4
-7
16
11
4
0
0
0
0
9
0
1
-6
-22
0
0
0
0
0
0
-4
-1
-3
0
0
0
0
-8
0
-23
4
10
0
0
0
0
0
2
3
1
10
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
-1
7
3
0
0
0
0
-5
-7
-16
3
17
0
0
0
0
0
0
-1
-6
45
0
0
0
0
0
0
-3
-5
44
0
0
0
0
0
1
0
-37
45
0
0
0
0
-8
-4
3
-2
26
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
6
0
-3
15
0
0
0
0
0
0
0
0
4
0
0
0
0
8
-2
6
-4
0
0
0
39
-39
-30
-105
-13
21
42
0
0
0
0
-7
-40
-34
30
54
0
0
0
-15
-3
30
26
29
39
0
0
0
0
2
-32
-6
-52
107
0
0
-59
52
0
43
-17
-52
34
0
0
0
0
7
-46
-51
-7
19
0
0
0
13
0
0
-77
-25
31
0
0
0
0
-1
1
-69
20
63
0
0
0
0
1
24
60
-70
44
0
0
0
0
0
-3
4
34
-2
0
0
0
-3
0
0
10
35
23
0
0
0
0
0
0
-1
-11
43
0
0
-23
0
0
-1
13
-34
33
0
0
0
0
0
0
-17
24
28
0
0
0
0
0
0
-5
-52
37
0
0
0
0
0
3
0
-10
13
0
0
0
-39
-3
-8
-9
37
51
0
0
0
0
0
1
42
-43
36
0
0
0
3
0
-3
-23
-89
42
0
0
0
0
0
0
0
-33
-42
0
0
16
-13
0
14
7
-38
3
0
0
0
0
0
0
8
-26
14
0
0
0
0
0
0
-14
-15
-26
0
0
0
0
0
0
0
-53
43
0
0
0
0
0
6
5
-31
14
0
0
0
0
0
1
3
28
-9
0
0
0
-3
0
3
21
-55
17
0
0
0
0
0
0
0
-71
43
0
0
0
0
0
0
-9
-30
-5
0
0
0
0
0
0
1
-14
-60
0
0
0
0
0
0
4
-67
-1
0
0
0
0
0
0
-8
-19
-10
0
0
0
0
23
-10
3
-8
42
0
0
0
0
25
-33
-7
-15
3
0
0
0
0
0
0
-17
-15
30
0
0
0
0
1
-2
-23
44
36
0
0
0
0
0
11
16
8
29
0
0
0
0
-9
-16
7
6
-19
0
0
0
0
0
-8
4
-23
66
0
0
0
0
19
49
4
-53
9
0
0
0
0
0
-11
2
76
31
0
0
0
0
0
0
1
7
-7
0
0
0
0
0
2
2
-72
5
0
0
0
0
0
-4
-2
18
57
0
0
0
0
0
-5
41
-29
1
0
0
0
0
0
0
0
6
-30
0
0
0
0
0
0
0
-24
16
0
0
0
0
0
0
-2
6
46
0
0
0
0
3
80
-8
-5
-43
0
0
0
0
2
-4
10
-1
10
0
0
0
0
0
0
9
-10
-27
0
0
0
0
0
0
-3
-14
-5
0
0
0
0
0
-2
23
-48
4
0
0
0
0
0
1
10
11
9
0
0
0
0
0
0
0
9
29
0
0
0
0
0
0
1
1
-27
0
0
0
0
-1
0
5
36
5
0
0
0
0
0
0
-4
-54
35
0
0
0
0
0
0
1
-4
20
0
0
0
0
0
0
0
4
-12
0
0
0
0
0
0
1
-101
57
0
0
0
0
0
0
-1
-86
-35
0
0
0
0
0
0
0
-33
-5
0
0
0
0
0
0
0
-47
56
0
0
0
42
-17
-1
-86
3
30
0
0
0
0
0
-43
33
-39
32
0
0
0
34
0
0
-20
-43
6
0
0
0
0
2
14
31
-23
-38
0
0
0
1
0
-10
5
14
8
0
0
0
0
-1
0
-3
-1
84
0
0
0
36
0
-2
-9
-48
105
0
0
0
0
0
5
31
4
39
0
0
0
0
0
-1
-63
-42
75
0
0
0
0
0
0
-11
-51
41
0
0
0
-2
0
0
16
-43
-22
0
0
0
0
0
0
-1
3
-44
0
0
0
0
0
0
-60
36
32
0
0
0
0
0
0
15
-21
-4
0
0
0
-47
0
0
9
2
-18
0
0
0
0
1
1
-5
-3
27
0
0
0
-1
0
-4
-24
-80
-18
0
0
0
0
0
-1
-13
-77
57
0
0
0
1
0
-2
-19
33
-14
0
0
0
0
0
1
-3
1
7
0
0
0
4
0
0
-8
-3
38
0
0
0
0
0
0
-8
-25
46
0
0
0
-2
0
1
3
-107
24
0
0
0
0
0
0
0
9
18
0
0
0
-3
0
-8
8
-24
8
0
0
0
0
0
0
0
13
77
0
0
0
2
0
5
43
14
-56
0
0
0
0
0
0
0
-21
32
0
0
0
0
0
0
3
-10
61
0
0
0
0
0
0
3
-55
-24
0
0
0
28
0
0
-4
-4
-17
0
0
0
0
0
0
0
-4
1
0
0
0
0
-46
18
8
-18
9
0
0
0
0
28
-14
-64
15
51
0
0
0
0
3
-3
74
-76
-6
0
0
0
0
44
0
-4
21
-15
0
0
0
0
-3
-3
-33
-52
124
0
0
0
0
14
-14
-36
-8
61
0
0
0
0
0
1
-10
2
30
0
0
0
0
-43
21
7
-18
46
0
0
0
0
1
1
-26
-73
56
0
0
0
0
0
0
-2
4
-18
0
0
0
0
0
-1
3
33
14
0
0
0
0
-2
-5
-19
15
43
0
0
0
0
-1
-3
5
32
-10
0
0
0
0
-1
2
1
8
-29
0
0
0
0
0
0
4
-4
-12
0
0
0
0
9
-2
-1
-5
1
0
0
0
0
1
-11
17
-54
89
0
0
0
0
0
1
26
-21
42
0
0
0
0
0
0
-9
2
67
0
0
0
0
0
-1
-5
2
-35
0
0
0
0
0
0
-6
27
71
0
0
0
0
-5
5
0
55
-92
0
0
0
0
0
0
1
39
-25
0
0
0
0
-4
0
8
22
44
0
0
0
0
0
-4
4
-77
11
0
0
0
0
-1
-3
-1
9
21
0
0
0
0
0
0
0
1
3
0
0
0
0
0
-1
0
-11
-43
0
0
0
0
0
0
0
-53
36
0
0
0
0
-1
0
0
-6
-22
0
0
0
0
0
0
-2
-21
19
0
0
0
0
1
0
0
-2
-46
0
0
-71
-15
0
-66
26
18
80
0
0
0
0
0
7
-31
-5
-30
0
0
0
33
0
0
33
-61
-6
0
0
0
0
0
1
-8
49
3
0
0
59
3
0
43
-15
-59
-35
0
0
0
0
0
-4
0
-34
14
0
0
0
-23
0
0
-41
15
70
0
0
0
0
0
2
-2
-7
27
0
0
79
0
-6
10
-27
15
-38
0
0
0
0
-1
-1
17
22
19
0
0
0
1
0
0
10
-33
46
0
0
0
0
0
-1
-1
-6
27
0
0
-31
0
0
0
3
28
-33
0
0
0
0
0
-3
1
10
-37
0
0
0
0
0
0
9
26
33
0
0
0
0
0
0
-1
0
47
0
0
5
-5
0
-1
-62
-34
31
0
0
0
0
0
2
-1
-33
32
0
0
0
1
0
0
-3
-51
53
0
0
0
0
0
-2
-3
33
62
0
0
-5
-6
0
9
18
2
10
0
0
0
0
0
-3
4
-11
-18
0
0
0
11
0
0
0
-18
-7
0
0
0
0
0
0
9
-18
12
0
0
7
0
0
6
-74
14
19
0
0
0
0
0
5
2
-22
69
0
0
0
-4
0
-5
-1
-49
77
0
0
0
0
0
0
1
-17
31
0
0
9
0
0
-1
14
-48
37
0
0
0
0
0
0
0
-11
14
0
0
0
-5
0
0
0
5
20
0
0
0
0
0
0
0
53
-35
0
0
0
0
-14
60
33
-62
-18
0
0
0
0
-1
20
-27
-97
77
0
0
0
0
-6
-10
32
27
12
0
0
0
0
-4
-19
14
43
-27
0
0
0
0
0
-2
6
-21
-14
0
0
0
0
0
15
19
-18
-48
0
0
0
0
0
2
1
-20
23
0
0
0
0
0
24
0
41
59
0
0
0
0
0
-15
14
1
-39
0
0
0
0
4
-5
1
-46
60
0
0
0
0
0
0
0
34
-42
0
0
0
0
0
-24
5
-41
51
0
0
0
0
0
0
-29
4
45
0
0
0
0
1
-1
2
-10
46
0
0
0
0
0
0
-4
-1
-27
0
0
0
0
0
6
7
-20
3
0
0
0
0
0
14
-22
50
-68
0
0
0
0
1
-5
-1
0
-1
0
0
0
0
0
1
0
-48
60
0
0
0
0
0
-10
0
15
14
0
0
0
0
0
-2
-1
16
-58
0
0
0
0
0
0
-1
-18
-19
0
0
0
0
0
0
-5
31
-43
0
0
0
0
0
0
0
-33
73
0
0
0
0
1
2
5
25
-45
0
0
0
0
0
-2
0
-43
80
0
0
0
0
0
0
0
-37
38
0
0
0
0
0
0
-7
-13
13
0
0
0
0
0
0
0
-43
5
0
0
0
0
0
1
2
53
-19
0
0
0
0
0
0
0
-14
12
0
0
0
0
1
0
-2
-30
28
0
0
0
68
-3
1
-44
-39
-33
0
0
0
0
0
-2
45
-33
5
0
0
0
20
0
2
-7
-30
33
0
0
0
0
0
-1
5
17
19
0
0
0
16
0
-27
-9
27
4
0
0
0
0
0
0
20
39
-62
0
0
0
12
0
0
29
-34
25
0
0
0
0
0
1
46
-18
-20
0
0
0
-9
0
-1
24
41
-9
0
0
0
0
0
5
7
-2
1
0
0
0
-2
0
0
-1
-47
64
0
0
0
0
0
1
2
-8
65
0
0
0
1
0
-1
-20
-15
-90
0
0
0
0
0
-1
-8
1
30
0
0
0
-23
0
0
3
0
52
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
-1
-18
14
-44
0
0
0
0
0
2
0
-56
57
0
0
0
-1
0
1
-5
10
-15
0
0
0
0
0
-4
-1
-14
70
0
0
0
2
0
-1
-19
-2
21
0
0
0
0
0
0
0
-4
-21
0
0
0
1
0
0
1
-70
-19
0
0
0
0
0
7
1
-5
16
0
0
0
0
0
4
14
-6
23
0
0
0
0
0
0
0
9
28
0
0
0
37
0
0
0
-19
14
0
0
0
0
0
0
1
5
53
0
0
0
-7
0
0
1
-29
39
0
0
0
0
0
1
-5
1
5
0
0
0
-18
0
0
1
7
80
0
0
0
0
0
-1
4
25
17
0
0
0
0
14
23
-18
-35
9
0
0
0
0
7
43
19
-5
-1
0
0
0
0
-1
-1
27
-11
50
0
0
0
0
-9
-10
-4
-8
45
0
0
0
0
0
0
18
11
-100
0
0
0
0
0
-2
8
0
7
0
0
0
0
0
1
10
2
-36
0
0
0
0
15
16
25
3
-16
0
0
0
0
0
-6
1
-24
-6
0
0
0
0
-3
2
-1
17
4
0
0
0
0
6
0
-1
-5
36
0
0
0
0
-5
-1
0
14
-6
0
0
0
0
0
3
0
-21
64
0
0
0
0
2
-2
-3
17
-5
0
0
0
0
0
0
0
8
11
0
0
0
0
-5
5
0
2
-21
0
0
0
0
-1
11
-3
-27
47
0
0
0
0
0
-6
0
-13
32
0
0
0
0
0
0
-2
-9
43
0
0
0
0
0
0
-2
43
-33
0
0
0
0
0
1
0
-17
11
0
0
0
0
1
-3
7
-24
43
0
0
0
0
0
0
0
-16
-14
0
0
0
0
0
17
-1
5
-56
0
0
0
0
0
-3
0
-1
23
0
0
0
0
0
0
0
14
-24
0
0
0
0
-3
0
-3
3
39
0
0
0
0
0
-3
-1
5
49
0
0
0
0
0
0
-3
0
53
0
0
0
0
-2
3
1
2
7
0
0
0
0
0
-1
0
1
45
0
0
0
0
-1
1
0
19
15
0
0
29
-7
-1
-14
-28
0
16
0
0
0
0
-4
-1
8
-20
-43
0
0
0
-1
1
-2
-45
-14
40
0
0
0
0
0
0
0
-55
-23
0
0
-45
0
0
-27
-5
-21
59
0
0
0
0
3
-2
-2
2
-11
0
0
0
0
0
0
4
72
-90
0
0
0
0
0
0
0
-9
34
0
0
-4
0
-2
18
-5
-7
18
0
0
0
0
0
1
0
21
-19
0
0
0
-4
0
3
13
1
15
0
0
0
0
0
0
0
-4
16
0
0
4
7
0
1
16
-51
5
0
0
0
0
0
0
-3
-15
16
0
0
0
0
0
0
4
15
-16
0
0
0
0
0
2
-2
17
-18
0
0
0
-1
-9
-6
44
65
-1
0
0
0
0
0
1
-3
-25
-7
0
0
0
0
0
-1
5
14
2
0
0
0
0
0
4
-2
-25
18
0
0
-20
-2
0
3
23
50
68
0
0
0
0
0
-11
-2
24
33
0
0
0
0
0
0
6
-15
19
0
0
0
0
0
0
0
29
-18
0
0
0
0
1
-6
-46
15
97
0
0
0
0
0
0
-4
-4
-2
0
0
0
2
0
2
-3
-47
50
0
0
0
0
0
0
0
-18
1
0
0
18
-2
0
0
0
7
-23
0
0
0
0
-1
-1
0
-19
23
0
0
0
-4
0
0
-2
-11
28
0
0
0
0
0
0
0
-53
33
0
0
0
0
-7
5
-20
20
59
0
0
0
0
2
8
11
-21
-5
0
0
0
0
1
0
6
-7
-47
0
0
0
0
0
5
-6
5
-18
0
0
0
0
0
-10
-5
-10
63
0
0
0
0
-3
-2
-4
-35
53
0
0
0
0
0
0
0
-17
1
0
0
0
0
0
0
-4
-22
30
0
0
0
0
0
1
14
-55
22
0
0
0
0
0
3
2
-5
14
0
0
0
0
-2
-1
8
16
8
0
0
0
0
0
33
-1
-41
25
0
0
0
0
0
2
2
-33
19
0
0
0
0
0
-1
5
14
-1
0
0
0
0
0
0
0
13
36
0
0
0
0
1
0
0
6
-32
0
0
0
0
0
7
-3
20
-19
0
0
0
0
3
-1
8
-46
28
0
0
0
0
1
-3
-10
-3
57
0
0
0
0
0
0
-1
-5
23
0
0
0
0
0
5
8
24
26
0
0
0
0
0
0
-2
-16
36
0
0
0
0
0
0
0
0
33
0
0
0
0
-3
0
0
7
52
0
0
0
0
-1
0
-31
33
9
0
0
0
0
-1
-5
8
16
-32
0
0
0
0
1
0
1
-25
14
0
0
0
0
0
0
1
-43
33
0
0
0
0
0
0
2
-17
2
0
0
0
0
0
0
6
-44
19
0
0
0
0
0
0
2
-6
6
0
0
0
0
-4
0
-2
16
-9
0
0
0
-19
9
36
0
-40
-7
0
0
0
0
-2
1
-7
29
-14
0
0
0
11
1
1
-61
13
19
0
0
0
0
-6
6
27
-105
46
0
0
0
-35
0
-1
-3
-55
9
0
0
0
0
0
2
-6
-43
-8
0
0
0
20
0
0
-14
-77
74
0
0
0
0
0
0
2
-15
26
0
0
0
0
0
-1
-18
-18
-12
0
0
0
0
0
0
14
26
20
0
0
0
6
0
0
8
-26
-13
0
0
0
0
4
0
-9
-1
-18
0
0
0
0
0
1
25
-1
33
0
0
0
0
0
0
4
3
-13
0
0
0
0
0
0
2
19
-15
0
0
0
0
-2
0
13
0
-23
0
0
0
0
3
0
-34
75
-42
0
0
0
0
-1
0
-11
13
34
0
0
0
-3
0
0
-36
1
-6
0
0
0
0
1
0
-4
-15
14
0
0
0
7
0
-5
3
-20
45
0
0
0
0
0
0
8
7
5
0
0
0
-24
0
0
1
16
58
0
0
0
0
6
4
-2
-5
21
0
0
0
-1
4
6
-30
-1
14
0
0
0
0
0
0
3
-53
98
0
0
0
15
0
0
5
-12
6
0
0
0
0
-1
0
0
-19
2
0
0
0
-21
0
0
-3
33
-8
0
0
0
0
1
0
0
-20
-8
0
0
0
14
-3
0
-13
13
-37
0
0
0
0
-1
0
5
-2
26
0
0
0
0
-33
33
16
-48
23
0
0
0
0
-2
8
17
-14
44
0
0
0
0
0
-2
1
-31
89
0
0
0
0
1
4
-16
4
-35
0
0
0
0
2
1
2
-53
100
0
0
0
0
2
-16
8
-16
-5
0
0
0
0
0
5
0
5
47
0
0
0
0
7
1
-1
37
14
0
0
0
0
0
0
10
-26
27
0
0
0
0
0
0
-2
54
-1
0
0
0
0
-1
0
6
2
0
0
0
0
0
1
2
-14
0
28
0
0
0
0
0
0
23
48
-57
0
0
0
0
2
2
-2
14
-52
0
0
0
0
0
0
-8
4
-20
0
0
0
0
-44
1
3
10
48
0
0
0
0
0
0
11
-82
27
0
0
0
0
4
0
1
5
34
0
0
0
0
0
0
11
-31
-19
0
0
0
0
2
0
7
47
8
0
0
0
0
0
0
-9
5
38
0
0
0
0
-1
1
14
-13
72
0
0
0
0
0
0
0
-5
-9
0
0
0
0
-43
0
3
-2
78
0
0
0
0
0
0
-5
39
7
0
0
0
0
-1
1
0
-90
75
0
0
0
0
0
0
0
47
-20
0
0
0
0
4
0
-11
16
8
0
0
0
0
0
0
0
-20
-4
0
0
0
0
1
0
-11
35
-62
0
0
0
0
0
0
0
5
48
0
0
0
0
-9
0
-7
-21
48
0
0
-23
13
-1
66
60
-45
-62
0
0
0
0
-2
-1
31
-51
-42
0
0
0
-26
0
0
-9
8
44
0
0
0
0
0
0
-1
-23
67
0
0
-3
-3
0
0
-1
-43
-17
0
0
0
0
0
9
0
7
43
0
0
0
-16
0
0
0
43
14
0
0
0
0
0
2
0
2
5
0
0
-17
0
0
5
5
-25
-44
0
0
0
0
0
0
0
20
-14
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
-1
-6
-21
0
0
-3
0
0
0
3
-15
4
0
0
0
0
0
3
0
-9
44
0
0
0
-1
0
0
-3
14
57
0
0
0
0
0
-4
0
-1
18
0
0
4
-1
0
-1
21
-19
67
0
0
0
0
0
0
5
-16
14
0
0
0
-1
0
0
-3
8
-32
0
0
0
0
0
0
2
-11
12
0
0
-2
-13
0
-8
71
-53
79
0
0
0
0
0
-2
3
0
-51
0
0
0
-7
0
0
0
47
3
0
0
0
0
0
0
0
1
-3
0
0
5
0
0
1
-35
-97
66
0
0
0
0
0
1
2
-28
-4
0
0
0
0
0
0
0
2
47
0
0
0
0
0
0
0
4
74
0
0
-49
0
0
0
10
-13
7
0
0
0
0
-1
0
0
5
37
0
0
0
-5
0
0
0
21
21
0
0
0
0
0
2
-1
-23
59
0
0
0
0
1
36
6
0
-87
0
0
0
0
0
19
-5
-1
-30
0
0
0
0
0
0
1
-13
-33
0
0
0
0
0
3
0
3
-9
0
0
0
0
2
3
1
-8
-24
0
0
0
0
-4
-8
6
65
12
0
0
0
0
0
9
0
-5
-10
0
0
0
0
8
-25
0
-2
5
0
0
0
0
0
0
2
-33
20
0
0
0
0
2
-6
-3
-13
68
0
0
0
0
0
2
-6
-1
62
0
0
0
0
-2
23
0
-4
38
0
0
0
0
0
4
-5
-5
15
0
0
0
0
2
3
0
-2
-17
0
0
0
0
0
0
0
4
53
0
0
0
0
19
3
-3
-17
31
0
0
0
0
0
2
5
10
16
0
0
0
0
0
1
0
-15
-49
0
0
0
0
0
-4
3
3
72
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
6
-50
32
0
0
0
0
0
0
-4
31
15
0
0
0
0
0
-2
0
-8
33
0
0
0
0
1
3
0
-13
43
0
0
0
0
0
0
17
41
-13
0
0
0
0
0
0
0
-56
64
0
0
0
0
0
0
0
7
-5
0
0
0
0
0
0
-4
-11
51
0
0
0
0
0
2
0
-47
31
0
0
0
0
0
-1
0
-4
86
0
0
0
0
0
0
0
5
52
0
0
0
0
0
0
0
18
14
0
0
0
9
-17
1
-80
-29
-6
0
0
0
0
0
-5
0
-1
-21
0
0
0
4
-1
0
4
-16
-35
0
0
0
0
3
7
-4
-5
6
0
0
0
14
0
1
5
-6
21
0
0
0
0
0
1
-1
0
34
0
0
0
-5
0
0
-5
1
24
0
0
0
0
0
-4
-2
2
-2
0
0
0
-4
-2
-1
2
0
72
0
0
0
0
0
0
0
-1
33
0
0
0
27
0
0
-7
-2
13
0
0
0
0
0
0
-2
-2
55
0
0
0
-2
0
0
3
-5
65
0
0
0
0
0
0
5
3
73
0
0
0
42
0
2
0
-8
-1
0
0
0
0
3
0
-1
0
6
0
0
0
12
0
0
-2
-73
8
0
0
0
0
-1
2
-5
-34
123
0
0
0
28
0
0
0
44
-21
0
0
0
0
3
-2
0
2
6
0
0
0
17
0
1
-2
-34
26
0
0
0
0
0
1
-2
30
23
0
0
0
-6
0
0
0
65
-14
0
0
0
0
0
0
-1
-10
32
0
0
0
15
0
-1
-3
-50
-12
0
0
0
0
0
0
-1
15
9
0
0
0
20
0
0
-1
11
-5
0
0
0
0
0
0
0
53
-29
0
0
0
15
0
0
2
-55
-18
0
0
0
0
0
4
-3
10
71
0
0
0
-62
0
0
0
20
17
0
0
0
0
0
0
-1
6
-5
0
0
0
0
56
-72
27
-50
60
0
0
0
0
2
-4
0
-8
18
0
0
0
0
-1
0
0
-5
-11
0
0
0
0
4
8
0
15
-37
0
0
0
0
0
-3
-1
0
5
0
0
0
0
1
-4
0
0
2
0
0
0
0
0
0
1
0
3
0
0
0
0
1
-48
-3
0
0
0
0
0
0
-1
2
-6
-17
-1
0
0
0
0
0
-3
0
0
-20
0
0
0
0
0
0
0
0
24
0
0
0
0
-4
1
5
3
30
0
0
0
0
0
2
2
1
57
0
0
0
0
-4
9
0
6
4
0
0
0
0
-2
3
-1
-1
-15
0
0
0
0
-47
2
1
0
5
0
0
0
0
0
-2
2
30
37
0
0
0
0
-2
0
0
4
-7
0
0
0
0
0
0
0
-19
-5
0
0
0
0
1
0
-1
-6
5
0
0
0
0
0
-1
0
6
10
0
0
0
0
0
0
0
7
39
0
0
0
0
0
0
-2
-26
23
0
0
0
0
-5
9
5
0
19
0
0
0
0
0
0
3
43
9
0
0
0
0
0
0
-1
16
-1
0
0
0
0
0
0
-2
-33
-12
0
0
0
0
-3
0
4
-37
12
0
0
0
0
0
0
2
5
69
0
0
0
0
2
1
-1
-4
18
0
0
0
0
-2
0
0
-1
60
0
0
0
0
-8
0
-2
-33
7
0
0
54
43
8
-14
30
9
31
-1
3
0
0
3
-13
-77
-16
-55
-29
1
0
-18
14
-9
-61
19
-41
8
11
0
0
7
43
-23
-28
10
-28
27
18
-9
0
10
-21
-7
-11
-34
7
0
0
0
-53
-31
-108
-35
-7
2
0
51
-1
-17
-90
2
56
-27
7
0
0
1
8
22
-69
64
31
1
17
-48
-1
-42
19
19
73
12
0
0
0
2
32
-63
9
-30
-17
0
0
23
0
10
64
-24
78
-3
0
0
0
-7
-5
43
-23
44
-27
0
55
3
1
-51
60
-82
5
25
0
0
0
-7
-2
-21
-99
108
22
0
0
6
0
0
41
-38
-19
12
0
0
0
3
2
-19
-4
21
48
0
-12
23
-1
-18
-23
-77
8
0
0
0
0
1
-114
-12
-36
28
0
0
0
47
0
14
-97
-79
2
0
0
0
0
0
5
-37
-39
50
0
0
20
-8
0
55
-45
-21
-13
0
0
0
0
0
-5
-1
-53
-11
0
0
0
-13
0
2
75
-70
-2
0
0
0
0
1
-1
-34
16
-9
0
0
9
7
0
-44
92
-38
-9
0
0
0
0
0
9
3
-39
45
0
0
0
-2
0
5
18
30
-2
0
0
0
0
0
0
-7
-2
133
0
0
-50
-4
0
37
7
-20
80
0
0
0
0
0
-1
47
-35
18
0
0
0
44
0
0
-26
5
40
0
0
0
0
0
-3
2
-8
4
0
0
0
0
-42
47
-30
-32
-9
-8
12
0
0
-17
32
-91
-123
-57
15
19
0
0
-10
-42
62
85
33
21
-25
0
0
-30
45
-11
-14
37
3
58
0
0
-43
-14
38
-80
5
-45
16
0
0
53
-104
8
-104
-140
-5
25
0
0
0
53
79
-2
-11
7
-15
0
0
2
68
45
7
-37
-10
-9
0
0
-8
-3
-44
-100
28
9
0
0
0
8
2
78
19
-9
-37
0
0
0
2
6
5
-13
27
20
0
0
0
-28
-42
82
5
81
25
0
0
0
0
-4
-74
32
28
30
0
0
0
6
16
5
-22
55
-74
0
0
0
0
0
-25
-7
10
42
0
0
0
-40
-11
34
22
-14
54
0
0
0
16
-72
-68
-46
113
0
0
0
0
-8
-14
-4
-2
-41
0
0
0
0
0
2
-88
22
66
0
0
0
0
34
102
-76
-29
-31
0
0
0
0
0
1
-16
32
-18
0
0
0
0
1
3
13
-67
17
0
0
0
0
0
0
2
23
33
0
0
0
0
0
6
-29
33
-6
0
0
0
0
0
-7
13
-90
16
0
0
0
0
0
-6
26
0
-31
0
0
0
0
0
0
-10
6
36
0
0
0
0
-1
32
14
-31
82
0
0
0
0
0
1
4
-68
48
0
0
0
0
0
-15
-4
-42
-29
0
0
0
0
0
-6
-23
30
9
0
0
0
0
-3
-24
3
59
14
0
0
0
37
-34
4
-2
13
26
-20
5
0
0
37
47
-47
37
78
6
18
0
-71
0
-20
-81
11
29
-2
7
0
0
2
-36
-22
-108
9
92
10
0
45
0
2
43
-3
53
-22
0
0
0
-1
34
-91
76
105
-30
-14
0
-84
0
-74
-6
-30
103
28
-7
0
0
2
44
-2
24
7
-53
2
0
-55
0
9
106
-81
12
16
0
0
0
14
19
67
-21
25
-1
0
0
-22
1
-4
61
-72
21
6
0
0
0
9
36
-34
23
17
-5
0
0
50
0
2
-18
-102
28
-13
0
0
0
6
9
-20
10
32
15
0
0
-2
0
-21
47
37
43
10
0
0
0
-32
-2
78
2
3
30
0
0
2
4
-82
100
7
-27
0
0
0
0
1
-1
39
-41
27
0
0
0
22
0
1
93
-100
-16
0
0
0
0
7
-2
12
13
-20
0
0
0
-13
0
0
-5
-33
7
0
0
0
0
0
-6
-31
-26
79
0
0
0
2
0
0
3
-7
7
0
0
0
0
0
-19
47
-12
14
0
0
0
1
0
-5
33
-11
-20
0
0
0
0
3
-2
-87
73
53
0
0
0
53
-1
-1
-7
-9
-26
0
0
0
0
1
0
-29
-3
65
0
0
0
23
0
-2
10
14
-39
0
0
0
0
0
0
-20
17
47
0
0
0
6
0
0
-8
-13
4
0
0
0
0
0
0
5
-23
-9
0
0
0
0
10
-10
27
-41
3
-21
21
0
0
-27
3
100
-78
69
48
-32
0
0
-17
0
51
-17
7
-39
51
0
0
9
-31
-49
16
55
24
43
0
0
-1
5
-43
-22
50
-9
17
0
0
-11
18
92
-26
52
15
-5
0
0
-7
-15
-47
-36
37
73
25
0
0
28
-2
0
18
-14
33
32
0
0
-2
-74
5
16
39
14
0
0
0
-21
25
24
-49
47
-21
0
0
0
9
-52
34
20
24
6
0
0
0
57
28
-26
24
-43
-53
0
0
0
0
5
20
13
63
57
0
0
0
14
5
8
-9
54
-30
0
0
0
-25
2
-10
31
19
51
0
0
0
8
-12
26
5
-27
-11
0
0
0
-14
-30
33
-25
-2
0
0
0
0
-6
67
13
-33
-56
0
0
0
0
6
9
29
-84
-1
0
0
0
0
-24
-85
-18
16
46
0
0
0
0
0
6
-59
16
71
0
0
0
0
5
40
-101
-5
-11
0
0
0
0
-2
7
16
5
29
0
0
0
0
-33
14
-48
-10
31
0
0
0
0
0
-2
-36
35
43
0
0
0
0
3
13
-2
-30
31
0
0
0
0
0
2
-6
27
19
0
0
0
0
-5
-5
35
34
-21
0
0
0
0
0
2
-6
-14
55
0
0
0
0
-1
-2
2
-10
6
0
0
0
0
3
2
-20
32
3
0
0
0
0
-21
-21
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-68
-19
-25
-41
21
-1
0
0
0
-8
-10
-74
-55
-8
33
0
0
-55
0
-9
-24
-2
64
-53
0
0
0
0
59
18
4
30
-113
0
-75
58
0
-81
-75
39
4
12
0
0
0
0
-19
-31
3
67
-10
0
0
33
0
-32
-90
10
-2
6
0
0
0
0
2
-30
-11
53
3
0
0
-7
2
4
39
-42
21
-25
0
0
0
14
22
10
-7
41
-21
0
0
-37
0
9
4
14
34
10
0
0
0
-2
-10
-15
29
4
34
0
27
2
-2
14
-121
45
48
-4
0
0
0
0
3
79
3
-5
14
0
0
68
0
1
-11
56
-7
-5
0
0
0
2
-1
10
-29
-18
31
0
-45
10
-4
-67
-12
-45
27
0
0
0
0
-3
-6
1
25
-15
0
0
0
-4
2
-20
-77
19
60
0
0
0
0
0
-13
31
29
32
0
0
33
-9
-1
5
48
25
-8
0
0
0
0
3
29
20
-43
23
0
0
0
-50
0
-3
24
-10
32
0
0
0
0
0
1
52
18
-15
0
0
9
33
-1
5
5
-1
-44
0
0
0
0
2
13
-15
9
4
0
0
0
22
0
-9
12
-92
41
0
0
0
0
0
-10
-18
-7
23
0
0
-32
25
0
73
33
-46
-1
0
0
0
0
0
46
-20
-10
-19
0
0
0
-25
0
-1
-3
14
23
0
0
0
0
-1
0
10
-22
26
0
0
0
0
-24
-14
-158
-31
35
12
0
0
0
58
-46
75
-3
24
-51
0
0
0
7
11
8
-53
-2
-18
0
0
0
3
-32
17
55
-2
-30
0
0
0
-1
20
18
36
-32
-2
0
0
0
-8
32
40
-81
12
-26
0
0
0
0
17
25
-159
11
5
0
0
0
11
-43
8
9
12
21
0
0
0
-1
25
-53
-141
113
6
0
0
0
3
-53
-22
-10
12
-14
0
0
0
0
1
18
23
71
17
0
0
0
-77
6
48
21
-9
51
0
0
0
5
53
-48
-6
-35
13
0
0
0
38
22
3
-7
-14
-13
0
0
0
0
-7
74
5
-11
-8
0
0
0
4
-33
14
8
-61
9
0
0
0
-2
-16
-13
-37
-2
0
0
0
0
21
-15
50
-95
-13
0
0
0
0
0
-14
-78
14
54
0
0
0
0
45
-15
55
14
-62
0
0
0
0
0
-1
35
31
-26
0
0
0
0
-1
-14
4
-24
-32
0
0
0
0
0
-31
2
22
71
0
0
0
0
0
-29
2
9
15
0
0
0
0
0
-19
-16
26
-20
0
0
0
0
20
27
-14
-14
65
0
0
0
0
-1
3
-31
-4
68
0
0
0
0
-9
11
14
33
41
0
0
0
0
0
2
25
-46
54
0
0
0
0
0
-63
3
33
21
0
0
0
0
0
-1
-48
-5
97
0
0
0
0
-32
-10
56
-17
2
0
0
0
4
-4
-19
54
-62
9
-2
0
0
0
-86
14
-7
64
90
6
0
0
8
10
-1
5
-29
-47
24
0
0
0
-19
-30
-21
50
84
23
0
0
-28
0
-37
-6
-12
150
-71
0
0
0
11
4
20
-69
41
12
0
0
25
0
-7
-82
5
39
5
0
0
0
45
-2
-19
-34
46
1
0
0
5
5
29
28
-32
-30
-24
0
0
0
0
0
2
-52
-54
45
0
0
-5
-2
-2
3
49
43
-43
0
0
0
18
-11
20
0
15
-11
0
0
-19
-2
-6
-50
-71
5
27
0
0
0
0
6
-11
25
33
7
0
0
2
1
-2
40
-44
87
-21
0
0
0
-6
-2
-51
7
72
-6
0
0
-12
5
43
-52
-16
-20
0
0
0
0
-5
-45
104
-47
59
0
0
0
30
0
0
-59
6
-51
0
0
0
0
-1
-1
7
-16
53
0
0
0
-62
-3
27
6
25
-5
0
0
0
0
2
54
33
-23
-3
0
0
0
-46
0
18
94
-3
-23
0
0
0
0
-34
37
16
20
16
0
0
0
5
-1
-44
-11
-20
25
0
0
0
0
0
22
-19
-4
38
0
0
0
26
6
8
20
-37
-53
0
0
0
0
-8
-7
7
-11
17
0
0
0
3
0
4
14
16
19
0
0
0
0
0
9
-11
-51
59
0
0
0
5
-2
1
22
-4
2
0
0
0
0
0
-1
9
10
68
0
0
0
0
26
-44
98
-45
94
-13
0
0
0
6
4
-6
-99
3
50
0
0
0
-14
17
59
-28
-30
43
0
0
0
15
-34
20
-73
134
-5
0
0
0
-1
-19
4
37
66
-28
0
0
0
-9
-8
29
-46
100
3
0
0
0
-1
-11
89
-101
8
-7
0
0
0
49
-13
20
25
53
-41
0
0
0
-3
33
11
6
76
-12
0
0
0
-18
-19
8
-23
23
-13
0
0
0
-4
9
-11
-46
-39
23
0
0
0
-31
38
48
-5
26
-7
0
0
0
1
-15
-37
-19
-6
6
0
0
0
24
-30
-25
-14
49
-30
0
0
0
-2
-8
19
-39
54
10
0
0
0
23
-7
-17
15
33
-43
0
0
0
7
15
-9
-44
4
0
0
0
0
16
-9
-33
-3
45
0
0
0
0
-1
-9
35
6
64
0
0
0
0
56
-90
-50
2
43
0
0
0
0
0
27
5
-9
63
0
0
0
0
8
27
23
-48
2
0
0
0
0
0
2
34
-2
9
0
0
0
0
-39
-47
43
61
-64
0
0
0
0
0
-25
19
28
-6
0
0
0
0
14
34
13
12
13
0
0
0
0
51
37
-28
-10
-14
0
0
0
0
14
4
47
-39
9
0
0
0
0
0
14
3
29
-71
0
0
0
0
41
10
-3
6
6
0
0
0
0
-8
3
-9
-15
49
0
0
0
0
-7
-10
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-54
0
23
16
11
0
0
0
0
0
-3
16
-9
-3
-3
0
0
0
-14
0
-14
-5
3
-22
0
0
0
0
-1
0
33
50
15
0
0
-63
32
0
33
-50
-35
39
0
0
0
0
0
-6
4
-6
-8
0
0
0
51
0
-8
25
-18
75
0
0
0
0
-1
21
36
-23
-33
0
0
55
-5
1
-3
55
-35
-75
0
0
0
0
-3
0
14
66
-59
0
0
0
-26
2
2
23
55
-14
0
0
0
0
0
-1
87
-62
-24
0
0
-31
8
0
-34
-19
-4
40
0
0
0
0
0
1
-20
4
14
0
0
0
-46
0
1
-8
-34
63
0
0
0
0
3
0
3
-31
52
0
0
-11
-5
-2
-24
-35
-98
38
0
0
0
0
0
22
4
-169
38
0
0
0
36
0
-2
35
-94
-16
0
0
0
0
0
0
4
-53
32
0
0
0
-41
0
14
-58
-16
19
0
0
0
0
0
-9
14
-55
-5
0
0
0
10
0
-2
11
-45
34
0
0
0
0
-1
2
-9
-23
4
0
0
-31
5
0
-5
-7
-35
5
0
0
0
0
0
-2
1
-11
-2
0
0
0
10
0
0
-73
1
31
0
0
0
0
0
0
-1
23
-23
0
0
-23
-29
0
0
13
-44
35
0
0
0
0
0
14
-6
-59
26
0
0
0
3
0
1
4
-69
73
0
0
0
0
0
0
14
-34
57
0
0
0
0
23
51
12
11
-51
0
0
0
0
46
-3
-21
-15
-42
0
0
0
0
-4
9
2
-36
47
0
0
0
0
-8
38
1
-6
24
0
0
0
0
2
-23
-55
13
51
0
0
0
0
0
-12
28
14
47
0
0
0
0
2
-14
-35
51
46
0
0
0
0
-39
29
-33
-1
-6
0
0
0
0
0
46
-88
-28
26
0
0
0
0
3
1
-33
32
-80
0
0
0
0
0
-14
9
3
25
0
0
0
0
-19
-18
13
19
12
0
0
0
0
1
-5
52
-80
39
0
0
0
0
0
10
5
-54
53
0
0
0
0
-1
0
20
-4
61
0
0
0
0
33
16
-68
-25
50
0
0
0
0
0
-11
5
-61
45
0
0
0
0
-2
-44
-5
24
-23
0
0
0
0
0
5
5
-110
42
0
0
0
0
-23
4
14
-6
29
0
0
0
0
0
-1
2
-47
7
0
0
0
0
1
0
-4
-84
-37
0
0
0
0
0
0
8
2
5
0
0
0
0
-1
-15
-5
2
52
0
0
0
0
0
5
-24
-4
-10
0
0
0
0
-3
0
0
13
-9
0
0
0
0
0
-2
17
-2
3
0
0
0
0
-4
0
-14
-6
81
0
0
0
0
0
3
-5
-45
-5
0
0
0
0
-1
-3
2
24
-22
0
0
0
0
0
-1
4
-22
71
0
0
0
0
14
3
-2
-27
60
0
0
0
-4
61
-29
-4
34
-35
0
0
0
0
-4
23
27
-5
6
0
0
0
-52
-4
-17
-20
-49
60
0
0
0
0
28
31
-10
-51
20
0
0
0
20
2
11
-11
-15
-11
0
0
0
0
3
-14
-14
-6
48
0
0
0
-14
0
-9
5
13
-14
0
0
0
0
23
-1
5
20
5
0
0
0
2
-25
0
-13
-28
48
0
0
0
0
1
7
14
55
6
0
0
0
-24
4
0
2
24
3
0
0
0
0
2
-1
11
75
5
0
0
0
5
0
4
18
-34
5
0
0
0
0
0
-3
-1
29
19
0
0
0
-8
0
1
-9
-35
39
0
0
0
0
-7
-13
18
13
55
0
0
0
30
0
2
-74
-67
62
0
0
0
0
0
-6
16
5
13
0
0
0
-44
0
1
59
-91
-21
0
0
0
0
-4
0
54
-86
42
0
0
0
56
0
-2
6
-23
-14
0
0
0
0
0
0
1
-6
29
0
0
0
56
0
-2
-31
33
-63
0
0
0
0
-3
-1
0
25
80
0
0
0
-3
1
8
-14
-40
27
0
0
0
0
0
-3
-46
-17
62
0
0
0
50
0
0
3
-50
51
0
0
0
0
4
0
11
-61
-5
0
0
0
-29
0
-2
6
-53
46
0
0
0
0
0
-6
-1
35
49
0
0
0
33
0
7
-1
-49
-13
0
0
0
0
5
0
-23
16
66
0
0
0
0
26
71
-30
-81
-45
0
0
0
0
14
-32
91
-19
42
0
0
0
0
16
-5
5
-35
-44
0
0
0
0
-32
-4
-11
-38
63
0
0
0
0
0
-13
-3
77
0
0
0
0
0
7
33
-25
-12
-5
0
0
0
0
0
-36
-12
56
60
0
0
0
0
54
-6
59
-40
4
0
0
0
0
0
-8
1
-40
10
0
0
0
0
9
-2
3
31
18
0
0
0
0
-4
43
33
-68
54
0
0
0
0
20
-15
60
14
4
0
0
0
0
0
2
-34
22
53
0
0
0
0
-7
-21
-5
11
34
0
0
0
0
-1
4
-21
-2
42
0
0
0
0
-5
47
-30
-4
79
0
0
0
0
0
-3
8
-33
-20
0
0
0
0
3
5
-9
-27
36
0
0
0
0
0
0
-4
-71
6
0
0
0
0
-21
18
-44
32
47
0
0
0
0
0
0
11
15
-22
0
0
0
0
2
2
-5
-28
-14
0
0
0
0
5
2
-15
15
6
0
0
0
0
5
8
1
-14
46
0
0
0
0
-3
-1
-26
19
92
0
0
0
0
0
-5
4
-41
45
0
0
0
0
0
10
1
-3
-28
0
0
0
0
-14
-2
20
58
14
0
0
0
0
0
-3
0
44
14
0
0
0
0
0
7
3
-21
-6
0
0
0
0
-1
-4
14
-3
-14
0
0
0
0
-5
18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
102
-60
9
10
6
27
0
0
0
0
-11
-22
3
29
-7
0
0
0
23
0
-9
28
-56
52
0
0
0
0
0
1
5
-70
26
0
0
-70
-6
0
-48
32
65
44
0
0
0
0
0
-2
-43
-26
-30
0
0
0
8
0
-5
35
-15
-26
0
0
0
0
0
-2
8
-25
56
0
0
-1
3
0
-18
-4
31
28
0
0
0
0
1
-5
-21
-24
21
0
0
0
40
3
-9
8
-53
19
0
0
0
0
0
-2
-14
-21
89
0
0
-1
-1
0
-15
-11
-19
-4
0
0
0
0
0
4
-20
20
40
0
0
0
12
0
0
-13
-14
55
0
0
0
0
0
3
-11
-18
30
0
0
-3
-38
-1
41
87
-67
18
0
0
0
0
-1
-23
-9
24
43
0
0
0
-15
-1
8
28
-49
-5
0
0
0
0
0
0
-14
36
56
0
0
35
-5
-1
-11
-28
-35
48
0
0
0
0
5
-4
-8
14
22
0
0
0
6
0
8
-16
-65
48
0
0
0
0
0
-2
10
-5
37
0
0
1
-33
-6
100
80
8
4
0
0
0
0
2
0
3
-12
-47
0
0
0
-2
-1
7
-18
-11
5
0
0
0
0
0
-4
10
-32
8
0
0
27
-3
-3
-2
14
69
-6
0
0
0
0
0
22
-5
-16
6
0
0
0
38
0
-5
-46
5
-3
0
0
0
0
-1
0
7
-21
27
0
0
0
0
29
45
56
-15
-5
0
0
0
0
-48
-14
43
14
-9
0
0
0
0
3
-13
24
-13
39
0
0
0
0
-18
32
-4
-39
30
0
0
0
0
-4
-19
19
-9
53
0
0
0
0
-5
-28
14
9
-48
0
0
0
0
0
4
5
-60
16
0
0
0
0
2
22
2
-5
9
0
0
0
0
21
-33
-13
49
10
0
0
0
0
30
11
-11
-28
20
0
0
0
0
-3
1
0
11
62
0
0
0
0
-18
-7
-3
-14
71
0
0
0
0
0
-30
25
17
61
0
0
0
0
-12
7
-11
-65
19
0
0
0
0
-2
-1
0
-32
37
0
0
0
0
-1
45
6
-27
-40
0
0
0
0
1
-2
-90
17
54
0
0
0
0
-7
14
35
26
-15
0
0
0
0
-3
-2
-34
6
34
0
0
0
0
5
5
-48
-35
40
0
0
0
0
0
-17
-43
13
32
0
0
0
0
2
-2
4
-26
51
0
0
0
0
0
3
0
-60
29
0
0
0
0
1
17
62
-85
-12
0
0
0
0
0
-19
22
72
-1
0
0
0
0
-42
-9
3
-26
28
0
0
0
0
10
1
8
-21
7
0
0
0
0
-2
7
58
-14
-16
0
0
0
0
0
7
14
-45
37
0
0
0
0
0
27
-1
-90
64
0
0
0
0
1
-1
-14
-32
29
0
0
0
0
9
17
-1
30
3
0
0
0
63
-12
-77
11
18
-4
0
0
0
0
8
-27
-55
5
138
0
0
0
20
4
-49
57
-32
-59
0
0
0
0
-5
3
65
-14
29
0
0
0
10
0
26
83
-59
-62
0
0
0
0
0
0
-34
-14
63
0
0
0
2
-8
23
-50
-1
69
0
0
0
0
2
-36
-6
11
48
0
0
0
3
10
-24
19
-43
-15
0
0
0
0
1
-13
43
-4
-6
0
0
0
48
0
4
-17
-129
18
0
0
0
0
1
14
1
-36
36
0
0
0
-14
0
-1
15
12
21
0
0
0
0
5
1
-1
-21
-18
0
0
0
-23
-3
2
4
9
17
0
0
0
0
-34
-3
14
31
30
0
0
0
-36
0
17
-79
-23
16
0
0
0
0
6
-3
18
-17
-5
0
0
0
-25
4
-5
-7
9
23
0
0
0
0
15
-4
1
-47
64
0
0
0
-14
-5
48
-14
-50
30
0
0
0
0
-4
-36
16
53
25
0
0
0
98
0
-1
-27
-80
32
0
0
0
0
1
8
34
-28
38
0
0
0
-5
0
8
33
-54
-16
0
0
0
0
-1
0
25
-48
-42
0
0
0
-64
3
2
-5
-42
-28
0
0
0
0
-10
0
26
24
-7
0
0
0
25
2
11
-25
10
-16
0
0
0
0
0
-10
-29
-3
17
0
0
0
53
0
-5
-9
-2
11
0
0
0
0
13
0
-2
2
7
0
0
0
0
19
-14
-112
7
25
0
0
0
0
10
5
14
0
-19
0
0
0
0
62
-1
44
-114
33
0
0
0
0
-22
-48
29
9
103
0
0
0
0
-4
-28
31
-13
19
0
0
0
0
2
-29
-14
-53
74
0
0
0
0
21
0
1
9
5
0
0
0
0
5
-13
47
-19
35
0
0
0
0
-3
2
43
-18
-33
0
0
0
0
18
-2
-45
35
-22
0
0
0
0
5
2
4
-76
32
0
0
0
0
-20
71
9
19
-17
0
0
0
0
-1
0
-26
27
55
0
0
0
0
-1
18
13
-46
24
0
0
0
0
16
2
20
-22
-12
0
0
0
0
-23
-16
20
-13
34
0
0
0
0
0
-26
19
-34
62
0
0
0
0
-4
-8
-17
23
15
0
0
0
0
-5
13
-22
-28
-14
0
0
0
0
8
56
-43
-26
-5
0
0
0
0
-1
-32
50
-60
54
0
0
0
0
-1
41
-16
-8
-2
0
0
0
0
5
5
1
47
3
0
0
0
0
-18
-13
33
29
-2
0
0
0
0
51
3
-32
33
29
0
0
0
0
-55
4
25
12
8
0
0
0
0
24
-1
39
-70
11
0
0
0
0
15
-11
-14
-30
14
0
0
0
0
0
-1
21
-13
-21
0
0
0
0
-30
-10
24
3
44
0
0
0
0
15
1
7
-10
-39
0
0
0
0
28
-8
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-24
-14
13
-58
-29
7
18
-8
0
0
-25
23
46
-50
-89
1
6
0
23
8
-82
5
-53
-2
5
5
0
0
-25
-62
-27
-41
-25
19
29
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
13
-20
27
-9
2
0
0
0
41
-16
14
35
14
-19
0
0
-20
-55
-25
-87
-105
30
5
0
0
0
-30
-81
9
5
103
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-46
-4
21
-16
0
0
0
0
-66
-120
-3
22
19
0
0
0
-9
53
28
20
-7
-26
0
0
0
0
17
87
53
-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
-13
17
-56
55
-21
36
3
0
0
0
0
5
-2
-14
-42
54
0
0
0
19
-31
6
10
-2
-2
0
0
0
0
-4
-54
-4
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
27
-28
-20
-39
39
-26
-18
0
0
-4
-19
24
-24
-47
-26
25
0
0
9
6
23
32
4
-8
15
0
0
7
9
19
37
11
-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
-6
73
-31
-45
32
-18
0
0
0
49
-26
2
49
20
-57
0
0
0
-29
4
71
-64
94
1
0
0
0
3
32
42
0
26
-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
-17
-23
-28
-15
0
0
0
0
-19
5
-42
15
-44
0
0
0
0
2
-48
26
-37
80
0
0
0
0
-5
-15
45
-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
-7
-2
-27
-10
-24
0
0
0
0
-18
16
5
20
1
0
0
0
0
0
1
-25
-5
25
0
0
0
0
-39
-8
9
-5
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
58
1
3
-51
-5
26
2
42
0
0
18
8
22
36
76
-16
20
0
-54
-6
73
-7
-9
3
85
-12
0
0
-32
-27
80
10
-14
-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
17
0
-13
7
-113
17
29
0
0
0
-6
-25
5
0
65
45
0
0
2
-2
-9
-47
-77
64
23
0
0
0
5
-5
-24
-42
54
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
19
-72
52
0
0
0
0
0
-8
-26
21
-23
0
0
0
-35
0
0
92
-62
-82
0
0
0
0
2
9
-17
18
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
14
0
-5
-14
9
-2
0
0
0
0
2
-1
45
-26
15
0
0
0
5
0
0
-17
-61
34
0
0
0
0
-1
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
110
13
7
-26
-5
0
0
-30
-53
7
-15
124
-6
6
0
0
9
48
-13
47
-14
6
15
0
0
12
-3
-108
-64
-2
33
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
-4
20
-15
-27
27
-64
0
0
0
3
-89
53
28
-68
41
0
0
0
-10
-13
27
56
-34
10
0
0
0
-73
13
8
-101
90
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
-27
42
18
-11
0
0
0
0
-6
-20
17
-9
-4
0
0
0
0
8
-4
-31
-29
-15
0
0
0
0
-43
32
35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
15
22
0
0
0
0
8
15
7
-82
64
0
0
0
0
5
0
26
53
-3
0
0
0
0
19
-17
-15
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
69
6
1
-48
-24
-42
59
-12
12
0
0
2
-1
71
-23
-134
17
-4
0
7
0
-8
-17
16
63
4
-2
0
0
0
1
-34
86
44
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
-4
0
0
-46
-33
83
63
-5
0
0
0
-1
-4
-37
21
-73
-8
0
0
30
0
9
-10
-89
125
-18
0
0
0
0
-2
-3
-33
84
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
-26
-88
7
0
0
0
0
0
4
-10
6
-35
0
0
0
24
0
-7
-8
16
-34
0
0
0
0
0
-2
-15
-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
-2
3
0
-15
-15
-35
4
0
0
0
0
0
-13
3
44
7
0
0
0
-13
0
6
-10
0
15
0
0
0
0
0
-1
0
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
-2
75
58
-16
-92
-13
-2
0
0
0
-34
-77
8
-49
-16
-7
0
0
0
26
-7
-28
93
-4
7
0
0
-5
-43
-25
-73
54
31
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
-5
16
-10
-44
60
-17
0
0
0
-1
7
-57
-62
-10
-6
0
0
0
0
0
71
-45
24
13
0
0
0
11
-54
15
-4
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
0
-4
12
-75
1
0
0
0
0
2
10
-2
-44
14
0
0
0
0
0
9
-20
-55
45
0
0
0
0
2
57
-22
39
-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
-8
11
-50
10
0
0
0
0
2
2
-1
44
0
0
0
0
0
0
2
1
-22
7
0
0
0
0
0
-5
0
-64
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
27
0
-8
48
-43
-35
-5
17
0
0
2
-9
17
-10
10
27
-22
0
-74
0
-2
-52
1
32
9
0
0
0
-23
15
90
49
-11
-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
9
0
-6
-44
-5
37
-10
0
0
0
1
-8
-22
-23
33
36
0
0
53
0
-13
33
17
-4
-25
0
0
0
-2
14
3
-72
-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
-4
0
1
-2
49
-33
0
0
0
0
0
0
14
-4
57
0
0
0
-1
0
20
-23
-17
-7
0
0
0
0
0
-17
16
-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
-4
0
5
-8
-45
46
0
0
0
0
-1
-2
0
-31
44
0
0
0
-27
0
-5
-10
6
25
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
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
-75
19
-30
18
0
0
-2
0
-9
20
-53
36
48
0
0
-6
-50
33
-44
7
9
-7
0
0
-44
-50
62
-25
16
74
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
6
5
-29
43
-5
0
0
0
14
7
0
56
20
-51
0
0
0
4
8
-53
-39
48
-14
0
0
0
-24
11
-22
-43
1
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
13
-23
15
-1
0
0
0
0
-25
17
14
14
-3
0
0
0
0
2
13
21
-59
12
0
0
0
0
1
25
-15
46
-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
-1
-14
5
0
0
0
0
4
3
-5
-1
-24
0
0
0
0
25
-8
4
-6
12
0
0
0
0
-24
-4
6
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
-11
1
0
-39
-5
-31
-43
29
0
0
0
-2
15
36
-27
-20
16
0
0
5
2
11
73
19
11
-31
0
0
0
0
43
4
-72
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
49
0
0
39
-22
1
20
-1
0
0
0
1
-7
-41
-20
18
-11
0
0
0
1
-18
21
7
-64
30
0
0
0
0
7
-32
-43
56
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
57
25
11
0
0
0
0
8
18
-28
-59
-2
0
0
0
3
0
-6
17
-36
-13
0
0
0
0
0
4
26
-23
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
21
4
-1
1
29
11
-31
0
0
0
0
0
8
-51
-33
25
0
0
0
0
0
-5
-23
0
39
0
0
0
0
-3
14
2
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
1
14
32
-32
-14
-20
0
0
0
19
-22
-29
-101
-3
-12
0
0
0
4
-1
12
-22
8
-4
0
0
0
8
2
23
-82
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
-4
-98
-49
-49
-3
0
0
0
0
-17
21
-11
-2
2
0
0
0
-2
-2
2
30
4
-17
0
0
0
5
-2
-4
-15
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
3
2
13
-26
-8
0
0
0
0
-2
1
5
-41
-21
0
0
0
0
0
0
3
-5
21
0
0
0
0
-2
4
5
-54
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
1
-33
-18
36
0
0
0
0
10
2
2
-13
-18
0
0
0
0
0
0
0
28
63
0
0
0
0
5
8
6
-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
-2
0
-37
-66
-37
41
-10
0
0
0
3
8
-17
5
-31
32
0
0
0
1
-11
53
-76
50
1
0
0
0
-5
-18
32
-14
2
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
1
-6
-65
-2
68
18
0
0
0
8
25
-11
1
66
-22
0
0
-5
4
1
-53
-16
-61
25
0
0
0
-5
-2
21
-30
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
-1
-5
8
-30
-54
68
0
0
0
0
0
5
-1
-34
47
0
0
0
-13
0
4
-24
-11
5
0
0
0
0
0
-8
-9
-19
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
3
-1
8
0
-19
-14
0
0
0
0
0
-2
-14
0
38
0
0
0
37
0
0
21
11
-58
0
0
0
0
-2
0
-1
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
-2
-19
11
-31
47
31
0
0
0
8
17
17
-4
-32
-23
0
0
0
5
0
123
1
3
-25
0
0
0
-42
5
13
94
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
-4
-43
-30
2
4
0
0
0
1
-91
63
24
11
-35
0
0
0
1
11
42
33
-75
17
0
0
0
20
-5
-50
53
-23
-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
5
56
25
0
0
0
0
-3
-6
-43
-37
91
0
0
0
0
0
0
74
30
-13
0
0
0
0
22
-30
-35
-21
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
49
0
0
0
0
-16
-1
5
5
30
0
0
0
0
-1
0
21
-90
84
0
0
0
0
-33
-10
21
22
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
-28
0
0
8
13
-29
63
-6
0
0
0
0
10
-20
-58
14
48
0
0
49
0
2
8
22
64
-32
0
0
0
0
2
56
-34
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
-51
6
0
78
-1
32
30
14
0
0
0
-1
78
43
-100
53
-11
0
0
23
0
-1
22
-49
16
-15
0
0
0
0
2
-31
-4
74
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-8
43
9
24
0
0
0
0
0
27
-23
-41
46
0
0
0
-3
0
-4
-49
6
54
0
0
0
0
0
-4
-1
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
-45
-2
2
22
9
13
2
0
0
0
0
0
0
-7
-10
-8
0
0
0
-6
0
0
24
-20
1
0
0
0
0
-1
-1
1
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
-18
19
-36
97
21
0
0
0
-3
21
5
-130
19
33
0
0
0
0
0
10
16
-18
61
0
0
0
-1
1
54
-5
64
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
-24
36
-11
0
0
0
-6
-43
-65
-71
36
4
0
0
0
0
4
36
18
-4
-20
0
0
0
-9
37
33
-4
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
-4
6
17
22
0
0
0
0
0
-1
-35
-59
46
0
0
0
0
0
0
-41
41
8
0
0
0
0
0
22
5
-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
-3
-7
2
7
14
0
0
0
0
0
-8
3
-17
42
0
0
0
0
0
-4
-8
46
26
0
0
0
0
0
-5
6
-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
-5
1
-1
1
-20
-2
15
0
0
0
0
25
1
66
55
16
0
0
-10
0
-3
-39
29
3
5
0
0
0
-5
5
-25
3
140
-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
-24
0
0
-17
-26
30
22
0
0
0
0
-3
5
26
-23
-25
0
0
46
0
-30
-29
-7
19
-25
0
0
0
34
19
13
3
-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
2
0
-1
25
-18
37
0
0
0
0
0
-13
4
-47
58
0
0
0
29
0
-1
-24
-49
103
0
0
0
0
-2
-13
-5
-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
-39
0
-2
10
-39
20
0
0
0
0
2
1
8
0
-7
0
0
0
23
-3
-5
3
5
-11
0
0
0
0
27
0
-1
16
-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
47
16
-7
15
-5
0
0
0
-54
14
-11
-13
22
53
0
0
0
-19
-34
17
18
34
-54
0
0
0
2
63
27
-6
-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
6
-11
48
43
-13
0
0
0
48
-34
71
-8
58
5
0
0
0
33
-11
-27
0
33
-42
0
0
0
63
-34
-21
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-16
48
0
0
0
0
8
29
-52
10
31
0
0
0
0
2
5
14
11
18
0
0
0
0
-15
-82
43
4
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
2
-6
19
0
23
0
0
0
0
-17
-18
-16
14
58
0
0
0
0
27
0
-2
-3
85
0
0
0
0
5
13
-57
-11
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-64
-24
-40
24
0
0
0
0
-1
57
-14
-17
5
0
0
0
-33
0
-16
-11
-21
44
0
0
0
0
6
33
-102
-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
-39
0
-1
-9
43
-46
27
0
0
0
0
-1
-23
76
-58
-31
0
0
0
0
1
4
-24
-54
-2
0
0
0
0
-4
-14
22
34
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
16
1
0
-22
16
-47
-6
0
0
0
0
0
-4
6
20
-89
0
0
0
0
0
-5
-1
-4
-25
0
0
0
0
0
0
-23
-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
-3
0
0
23
0
-33
-1
0
0
0
0
0
-9
19
11
22
0
0
0
2
0
8
15
5
-53
0
0
0
0
2
10
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
68
-102
-55
-18
0
0
0
0
1
-38
-24
-16
45
0
0
0
0
0
-5
97
-36
-30
0
0
0
0
-11
53
-7
-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
-2
-19
53
-44
-19
0
0
0
0
0
1
-45
-102
74
0
0
0
0
-4
-3
20
-14
51
0
0
0
0
6
-24
11
-14
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
-52
-9
5
0
0
0
0
0
0
-66
72
-32
0
0
0
0
0
0
-2
-32
51
0
0
0
0
0
3
0
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
0
0
0
0
0
0
0
0
1
0
-59
90
-36
0
0
0
0
1
3
-6
5
-24
0
0
0
0
0
-1
-16
-50
82
0
0
0
0
15
6
-4
-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
8
0
-2
-2
-91
-25
0
0
0
0
0
0
-33
-20
97
0
0
0
74
0
-5
5
-44
14
0
0
0
0
1
0
-36
-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
-18
0
0
54
25
-38
0
0
0
0
0
2
75
-20
14
0
0
0
-38
3
-1
24
-36
64
0
0
0
0
2
8
43
-58
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-100
23
0
0
0
0
0
1
6
-97
25
0
0
0
10
0
0
-1
-15
-27
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
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
-17
47
0
0
0
0
0
1
-5
23
47
0
0
0
-25
0
0
-2
-20
31
0
0
0
0
0
0
39
-61
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-81
71
0
0
0
0
3
20
43
-100
21
0
0
0
0
2
-11
43
-32
16
0
0
0
0
-1
-48
32
44
-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
-1
0
-33
20
32
0
0
0
0
0
15
43
-33
-3
0
0
0
0
0
1
40
7
-11
0
0
0
0
25
-45
28
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
-11
40
-2
0
0
0
0
0
1
-16
-22
44
0
0
0
0
-2
0
1
-22
20
0
0
0
0
0
5
-41
-5
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
4
6
-26
38
0
0
0
0
1
-3
-14
-49
120
0
0
0
0
0
0
-38
21
31
0
0
0
0
2
0
-10
-64
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
53
-1
0
21
-21
-37
-19
0
0
0
0
0
1
53
-19
-5
0
0
0
-6
0
-5
-36
-9
19
0
0
0
0
0
-2
2
-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
-5
0
0
9
34
1
-33
0
0
0
0
-1
3
54
-45
-58
0
0
0
0
-1
5
81
-8
-40
0
0
0
0
0
0
15
6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-44
11
0
0
0
0
0
0
0
-23
-43
0
0
0
6
0
-1
-2
-60
-26
0
0
0
0
0
2
3
-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
-19
-3
0
-5
-8
22
51
0
0
0
0
-3
-1
1
-76
45
0
0
0
-26
0
3
21
-43
53
0
0
0
0
1
-1
29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
16
-26
-10
0
0
0
0
-4
25
-7
-52
-26
0
0
0
0
0
7
-2
-50
63
0
0
0
0
0
-55
5
-67
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
0
6
-26
88
-42
0
0
0
0
3
-29
3
-11
-43
0
0
0
0
3
13
0
16
9
0
0
0
0
14
23
-5
-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
-9
-59
4
0
0
0
0
0
1
0
-69
45
0
0
0
0
0
1
5
32
-13
0
0
0
0
-1
2
0
-39
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
1
-26
-108
38
0
0
0
0
-2
1
14
-61
49
0
0
0
0
0
1
26
-16
60
0
0
0
0
-2
0
6
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
3
1
-5
0
-14
-52
0
0
0
0
0
-9
-10
-4
47
0
0
0
-20
0
-2
-11
-5
98
0
0
0
0
-5
14
-7
-120
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
80
13
0
0
0
0
0
13
-5
24
13
0
0
0
-36
0
5
-7
-29
67
0
0
0
0
21
16
-13
-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
20
0
0
47
-67
39
0
0
0
0
0
-1
7
-62
22
0
0
0
44
0
0
4
-71
82
0
0
0
0
-10
2
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
-2
0
4
19
-8
5
0
0
0
0
-2
-11
-6
-5
90
0
0
0
33
0
-5
52
-119
58
0
0
0
0
-2
0
-7
21
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
-19
-4
14
53
0
0
0
0
27
23
-19
53
-49
0
0
0
0
-1
0
-27
29
-2
0
0
0
0
-70
33
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
-1
18
30
-1
0
0
0
0
0
-5
-14
62
52
-109
0
0
0
0
0
32
-40
-8
76
0
0
0
0
-24
-19
22
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
3
67
10
0
0
0
0
0
19
-5
29
-39
0
0
0
0
0
22
11
-77
17
0
0
0
0
-19
-14
14
34
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
59
0
0
0
0
5
11
24
-68
14
0
0
0
0
-2
-6
-39
-2
86
0
0
0
0
-32
-71
-33
-1
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
24
-3
0
-59
-41
4
45
0
0
0
0
0
-37
-39
60
5
0
0
0
-1
0
0
1
-45
103
0
0
0
0
0
13
7
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
-1
-5
0
-79
49
-5
86
0
0
0
0
1
3
13
-126
57
0
0
0
1
-3
26
14
28
-59
0
0
0
0
2
33
9
-81
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
-9
-1
0
13
8
-109
32
0
0
0
0
0
1
-1
14
37
0
0
0
-2
0
-2
-27
-43
57
0
0
0
0
0
2
79
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
-53
-7
-2
-48
-16
51
26
0
0
0
0
0
-48
60
14
3
0
0
0
3
0
-2
47
-23
-7
0
0
0
0
0
10
-5
-35
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
-54
15
-87
51
0
0
0
0
0
-19
-46
-28
71
0
0
0
0
0
-1
13
80
-19
0
0
0
0
4
5
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
18
-73
-6
20
0
0
0
0
0
-2
-36
-8
58
0
0
0
0
0
-2
-2
106
-16
0
0
0
0
6
-16
31
-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
-1
-1
-86
31
0
0
0
0
0
-4
-5
7
-48
0
0
0
0
0
0
10
-53
30
0
0
0
0
0
0
-5
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
-5
-4
45
-10
6
0
0
0
0
0
0
53
-7
-59
0
0
0
0
-2
0
25
-35
-9
0
0
0
0
-2
-2
3
-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
11
0
0
-18
-53
14
0
0
0
0
3
2
-35
80
-81
0
0
0
4
0
-1
-22
-56
77
0
0
0
0
-1
-5
-15
23
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
0
75
-61
3
0
0
0
0
0
2
68
-16
-29
0
0
0
-4
2
2
10
-130
18
0
0
0
0
11
4
26
-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
-12
0
1
41
14
-3
0
0
0
0
-1
-6
-2
4
30
0
0
0
64
0
0
-13
61
-32
0
0
0
0
0
7
-33
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
34
1
-1
46
-91
42
0
0
0
0
-3
3
-7
2
14
0
0
0
-81
-2
0
-33
-24
-2
0
0
0
0
4
0
-3
-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
0
0
-5
-4
-30
75
0
0
0
0
-22
19
74
26
13
0
0
0
0
0
-3
44
-18
-25
0
0
0
0
5
27
-65
-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
0
-8
-26
-91
95
0
0
0
0
7
-8
45
-74
63
0
0
0
0
9
33
46
-83
32
0
0
0
0
4
7
-27
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
-1
13
18
-50
79
0
0
0
0
-2
5
33
23
11
0
0
0
0
5
-1
-20
25
128
0
0
0
0
43
-26
-52
-49
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
-2
5
-2
-34
36
0
0
0
0
-33
25
11
-9
42
0
0
0
0
6
-2
19
-14
-41
0
0
0
0
-7
-2
72
-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
12
0
0
6
19
-24
33
0
0
0
0
1
1
4
7
7
0
0
0
-3
0
7
0
-32
26
0
0
0
0
0
3
0
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
66
-8
-1
-18
-9
2
22
0
0
0
0
-3
-4
-1
-14
-3
0
0
0
-37
0
-1
-17
7
-8
0
0
0
0
0
0
19
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
-42
4
0
9
17
-27
14
0
0
0
0
0
0
13
-6
28
0
0
0
19
0
-2
1
72
-16
0
0
0
0
0
-5
-3
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
77
0
-2
-22
10
-21
31
0
0
0
0
1
0
-15
22
18
0
0
0
22
2
0
0
40
-84
0
0
0
0
-4
6
-2
-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
-2
0
53
-2
0
0
0
0
-1
2
-1
-9
36
0
0
0
0
0
1
4
26
31
0
0
0
0
0
-3
9
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
-15
-32
-6
72
0
0
0
0
0
-4
17
-33
5
0
0
0
0
0
-5
6
-15
24
0
0
0
0
0
-46
8
29
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
1
-5
4
6
0
0
0
0
0
3
0
3
39
0
0
0
0
0
-1
20
0
28
0
0
0
0
0
-14
-5
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
2
11
2
-1
4
0
0
0
0
2
17
-3
-71
34
0
0
0
0
1
0
-3
29
-4
0
0
0
0
-2
14
-2
-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
-34
0
-3
15
-3
1
0
0
0
0
0
0
6
-58
52
0
0
0
-22
0
-5
1
17
-24
0
0
0
0
26
0
-3
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
43
0
-2
-17
25
-26
0
0
0
0
-1
12
-1
4
-36
0
0
0
-13
0
-6
8
45
-32
0
0
0
0
14
8
-5
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
25
0
1
29
-3
30
0
0
0
0
0
-14
3
-36
106
0
0
0
-10
0
0
14
-62
9
0
0
0
0
30
3
9
-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
54
0
2
20
1
6
0
0
0
0
-1
-11
-2
42
-41
0
0
0
16
0
0
35
-66
-46
0
0
0
0
-5
1
-3
28
-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
2
17
2
-2
0
0
0
0
3
0
-14
33
73
0
0
0
0
2
0
9
-7
9
0
0
0
0
-11
7
32
22
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
-17
-36
-10
35
20
0
0
0
0
2
1
-8
-51
11
0
0
0
0
5
7
51
-48
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
0
0
0
0
-53
3
41
-2
0
0
0
0
1
2
0
5
61
0
0
0
0
-2
98
14
-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
37
-19
42
34
0
0
0
0
-16
-40
11
-43
81
0
0
0
0
-15
-14
4
21
-3
0
0
0
0
17
-14
-1
-66
-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
64
7
-2
-8
-1
4
-4
0
-1
0
0
11
111
75
13
-13
8
-14
0
-52
90
-90
-33
-17
-4
-49
43
0
0
-51
-43
-42
-80
-20
89
34
17
65
-11
-28
-81
7
-18
-4
1
0
0
49
0
-34
-28
13
-15
2
0
47
-38
-24
-1
-68
-18
2
-34
0
0
19
0
-61
-46
33
23
25
24
32
18
38
-42
31
17
-15
0
0
0
-27
62
-47
50
17
9
0
0
-40
15
35
48
10
-28
-14
0
0
0
-52
-22
23
-5
-6
76
0
-86
17
-8
87
-22
-71
7
-23
0
0
0
-14
-5
91
-60
-32
-8
0
0
-11
25
-46
-26
51
-48
-12
0
0
0
-14
-15
38
-7
31
17
0
-38
2
10
-84
38
24
4
0
0
0
0
23
19
-17
-53
37
0
0
0
16
4
7
44
-59
0
0
0
0
0
61
31
-46
34
-52
0
0
32
-81
6
61
-64
6
-33
0
0
0
0
29
-8
35
-74
36
0
0
0
-71
-5
22
-25
11
49
0
0
0
0
-48
23
-12
24
1
0
0
-42
-31
-5
5
45
5
69
0
0
0
0
5
-13
33
14
-43
0
0
0
23
-3
17
-33
-6
-30
0
0
0
0
-41
68
-84
-52
78
0
0
46
-6
-18
-26
88
-80
6
0
0
0
0
-31
-32
4
-10
39
0
0
0
-14
38
11
19
-5
-15
0
0
0
0
-44
-35
1
-40
-2
0
0
0
0
-37
8
-37
-14
3
1
5
0
0
42
-31
-35
53
8
-6
9
0
0
47
-15
2
-4
57
34
-44
0
0
5
-37
14
53
51
-73
18
0
0
0
3
-55
-44
-23
-50
-7
0
0
0
10
-9
-25
49
-26
11
0
0
0
2
2
-24
73
39
-5
0
0
15
14
1
-23
-14
46
1
0
0
1
0
26
23
-21
-61
0
0
0
0
-3
-3
-1
-11
-39
0
0
0
3
0
15
-30
48
-5
0
0
0
26
-1
13
-25
55
-4
0
0
0
0
2
3
-90
33
23
0
0
0
0
-1
-1
-45
10
-26
0
0
0
0
0
1
-19
32
-96
0
0
0
-15
2
-3
-3
4
10
0
0
0
-1
-19
34
-40
-2
0
0
0
0
1
-4
-11
-10
53
0
0
0
0
0
0
14
-71
-16
0
0
0
0
-11
-3
3
-45
71
0
0
0
0
-1
2
13
-37
-3
0
0
0
0
-4
0
1
-60
36
0
0
0
0
0
-13
0
68
20
0
0
0
0
0
2
-2
-45
-18
0
0
0
0
0
0
-1
1
44
0
0
0
0
1
2
0
-5
10
0
0
0
0
1
-1
-9
2
35
0
0
0
0
1
-1
0
-23
17
0
0
0
0
0
-3
0
-34
-58
0
0
0
0
2
1
-3
-11
-14
0
0
0
0
0
0
0
7
-61
0
0
0
0
-65
14
0
9
22
0
0
0
-40
-2
52
-49
31
13
-17
4
0
0
0
-6
-53
8
8
-24
4
0
38
-1
-3
-68
-51
-15
-32
42
0
0
-4
0
5
20
3
-46
-19
0
9
0
1
-33
9
24
-53
19
0
0
0
0
2
7
51
-12
-1
0
13
0
0
44
52
-39
-30
-5
0
0
0
0
1
1
10
-44
45
0
-2
0
5
-20
-49
95
-17
0
0
0
-1
2
-6
-34
25
-15
0
0
18
0
0
5
-14
-36
-14
0
0
0
0
-2
-7
-16
18
36
0
0
3
0
0
3
48
5
35
0
0
0
0
0
-3
-16
6
15
0
0
-48
0
-2
4
1
-8
-14
0
0
0
0
0
0
-2
-5
-4
0
0
0
-2
5
-50
32
24
0
0
0
0
0
0
-6
0
39
0
0
0
3
0
0
-5
35
-14
0
0
0
0
0
0
-2
9
22
0
0
0
2
0
0
43
3
-9
0
0
0
0
1
0
-1
-33
-20
0
0
0
-4
0
0
6
-23
57
0
0
0
0
0
0
0
-5
10
0
0
0
2
1
-3
25
13
-1
0
0
0
0
0
-5
3
-73
-18
0
0
0
-3
0
-1
-5
17
16
0
0
0
0
0
-1
-1
10
-32
0
0
0
-10
0
0
-2
33
14
0
0
0
0
0
0
4
8
20
0
0
0
-16
0
-1
-5
4
50
0
0
0
0
0
0
0
0
18
0
0
0
0
1
-16
-43
-28
1
-2
-25
0
0
14
10
56
23
-46
-75
-29
0
0
3
0
80
26
55
59
21
0
0
4
26
-79
-5
40
106
26
0
0
3
2
3
65
30
-15
-18
0
0
-2
-6
-3
48
21
-16
16
0
0
1
0
8
-15
-23
-14
44
0
0
0
18
60
50
-63
-49
-1
0
0
0
-2
18
-73
-81
41
0
0
0
0
2
-19
7
-23
-39
0
0
0
0
-1
11
27
-3
28
0
0
0
-2
-4
6
-60
95
-14
0
0
0
0
-2
0
-5
80
-21
0
0
0
0
0
-2
-1
8
-13
0
0
0
0
0
0
-6
-5
56
0
0
0
5
2
-3
4
-18
-48
0
0
0
2
-1
-20
-11
-9
0
0
0
0
0
0
-1
32
4
0
0
0
0
0
0
8
-18
8
0
0
0
0
5
-5
-1
4
86
0
0
0
0
0
-1
3
-43
71
0
0
0
0
0
7
-1
-50
78
0
0
0
0
-1
0
0
18
71
0
0
0
0
0
0
0
-23
44
0
0
0
0
0
0
-1
-39
74
0
0
0
0
0
0
1
-24
-16
0
0
0
0
0
0
1
-14
71
0
0
0
0
2
0
5
-9
34
0
0
0
0
0
0
0
5
-19
0
0
0
0
0
-5
0
-31
53
0
0
0
0
0
-2
1
0
1
0
0
0
0
0
0
0
4
8
0
0
-49
10
0
-26
42
-73
11
16
-2
0
0
0
-4
-23
-79
29
24
51
0
-2
0
-17
23
4
12
-12
-4
0
0
1
2
2
7
16
-12
17
2
0
0
-18
-10
27
55
1
-6
0
0
-4
0
34
-71
50
64
-33
0
-7
0
1
2
-14
-19
5
3
0
0
0
0
-32
-71
-51
34
72
7
0
0
-3
36
-88
-43
46
0
0
0
0
0
1
5
45
-3
0
0
-1
0
4
-64
-24
88
17
0
0
0
0
-1
4
-23
-20
33
0
-3
0
0
-2
32
6
-12
6
0
0
0
0
-1
-3
-21
2
-8
0
0
9
0
0
1
4
-22
-14
0
0
0
0
-1
0
5
43
-47
0
26
3
2
-52
-37
30
-5
0
0
0
0
0
-7
-10
12
41
0
0
0
-2
0
-2
-29
-113
117
0
0
0
0
0
2
-19
7
-28
0
0
5
0
0
-2
42
27
2
0
0
0
0
1
-1
10
-33
15
0
0
0
1
0
-3
71
-50
32
0
0
0
0
0
0
-2
4
7
0
0
0
0
0
-6
-20
20
8
0
0
0
0
0
-1
1
5
43
0
0
0
0
0
-3
-44
-6
55
0
0
0
0
0
1
-5
-5
11
0
0
-43
0
0
4
-2
34
-1
0
0
0
0
0
3
0
6
36
0
0
0
8
0
0
-1
-14
51
0
0
0
0
0
3
0
2
-6
0
0
0
0
1
6
19
-107
-14
4
32
0
0
6
-26
-35
-30
-69
19
43
0
0
0
-7
-3
3
-17
49
30
0
0
-6
18
32
5
95
-73
34
0
0
0
0
-10
-20
-22
-42
53
0
0
1
0
0
-73
53
-2
-47
0
0
0
0
-3
14
-14
19
90
0
0
0
0
1
-3
14
3
72
0
0
0
0
5
-46
-34
-18
0
0
0
0
1
-5
-9
55
-3
0
0
0
0
0
0
14
23
61
0
0
0
0
0
-1
34
28
-49
0
0
0
0
0
-1
-31
95
-23
0
0
0
0
0
7
-5
23
-5
0
0
0
0
0
-1
4
5
43
0
0
0
0
-14
-4
0
5
-41
0
0
0
0
3
-18
-33
14
0
0
0
0
0
0
43
-53
54
0
0
0
0
0
0
3
-33
31
0
0
0
0
1
-2
-4
-34
66
0
0
0
0
0
0
1
28
-1
0
0
0
0
0
0
1
-44
-7
0
0
0
0
0
0
14
36
1
0
0
0
0
0
1
-3
13
-43
0
0
0
0
0
0
-9
-5
-26
0
0
0
0
0
0
-5
15
71
0
0
0
0
0
0
2
5
-54
0
0
0
0
0
0
-3
9
46
0
0
0
0
0
2
0
-18
-26
0
0
0
0
0
3
-2
1
-25
0
0
0
0
0
0
-3
-14
21
0
0
0
0
0
-1
0
-4
5
0
0
0
5
0
-4
-56
-50
20
-18
37
0
0
0
0
0
44
21
-60
4
0
19
0
0
-6
-107
1
55
-42
0
0
1
0
-17
-32
18
22
21
0
13
0
2
-18
55
-66
-15
9
0
0
0
0
0
-18
41
10
19
0
-62
0
-1
0
12
-10
18
5
0
0
0
0
2
-30
9
-16
-17
0
1
0
0
2
-83
-5
23
0
0
0
0
1
0
-20
17
-4
0
0
1
0
-1
-6
-12
29
-53
0
0
0
0
0
7
-20
-9
-19
0
0
0
0
1
-6
-22
5
-12
0
0
0
0
0
1
-26
22
11
0
0
24
0
0
8
5
14
11
0
0
0
0
0
-2
-7
-4
58
0
0
0
0
-5
-5
-50
91
0
0
0
0
0
0
-1
-2
30
0
0
0
0
0
0
-6
-53
4
0
0
0
0
0
0
1
-81
35
0
0
0
0
0
0
4
-10
26
0
0
0
0
0
0
0
-43
-5
0
0
0
16
0
0
-5
-7
45
0
0
0
0
0
6
-1
-13
-15
0
0
0
0
0
0
1
32
58
0
0
0
0
0
0
0
-2
61
0
0
0
9
0
0
-4
-46
42
0
0
0
0
0
-1
-1
-14
56
0
0
0
0
0
0
-1
46
-6
0
0
0
0
0
0
-1
-9
-31
0
0
0
0
0
1
0
0
14
0
0
0
0
0
0
1
0
-25
0
0
0
0
0
-20
-27
7
53
24
2
0
0
0
-17
36
-1
21
-40
-22
0
0
0
0
-43
20
40
74
6
0
0
41
11
-4
32
-29
56
-27
0
0
0
1
9
5
-51
-41
52
0
0
0
15
-1
-43
-18
20
72
0
0
0
-9
8
-16
25
-8
33
0
0
-39
6
6
-7
0
57
20
0
0
0
2
3
-4
-45
22
0
0
0
1
2
0
8
-6
-68
0
0
0
0
1
-19
28
54
47
0
0
0
-16
-29
-48
22
9
23
0
0
0
0
1
-3
-13
-7
44
0
0
0
0
4
0
0
13
29
0
0
0
0
1
-14
4
-15
11
0
0
0
-3
7
35
0
2
-34
0
0
0
0
6
15
40
-111
0
0
0
0
0
-3
3
-72
36
0
0
0
0
0
-1
18
-53
-17
0
0
0
0
0
-5
46
-64
34
0
0
0
0
0
0
4
-5
17
0
0
0
0
1
-3
3
-30
14
0
0
0
0
0
9
0
-16
-9
0
0
0
0
0
-10
1
4
8
0
0
0
0
0
0
2
4
55
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
-1
9
-37
-27
0
0
0
0
0
19
4
4
49
0
0
0
0
0
3
0
-27
43
0
0
0
0
0
-3
2
3
19
0
0
0
0
0
21
3
-2
5
0
0
0
0
-1
11
2
10
-9
0
0
-69
3
-1
-29
15
-56
65
31
0
0
0
-8
10
35
102
32
-26
0
0
-26
6
-15
-1
4
-41
63
0
0
0
0
-21
-1
-36
90
-13
0
55
0
0
-22
-7
-30
28
-13
0
0
0
0
43
-33
-68
48
-2
0
0
0
0
-4
2
68
12
-3
0
0
0
0
16
-13
-48
19
15
0
0
0
0
24
-4
-53
3
35
0
0
0
1
4
61
-49
-4
28
0
0
0
0
0
2
-54
-13
13
0
0
0
0
-6
17
-7
14
-2
0
-3
0
0
2
43
-33
56
1
0
0
0
0
4
-13
1
54
5
0
0
0
0
1
7
1
-2
-5
0
0
0
0
-2
-3
6
-38
-32
0
0
0
0
-1
23
37
24
0
0
0
0
0
-1
-4
-26
28
0
0
0
1
0
0
25
-27
-21
0
0
0
0
0
-1
8
-5
45
0
0
-3
0
0
0
101
10
-72
0
0
0
0
0
0
0
-14
4
0
0
0
0
0
-3
-4
-100
91
0
0
0
0
0
1
-46
18
-2
0
0
0
0
0
-2
34
40
0
0
0
0
0
1
0
-20
74
38
0
0
0
0
0
0
7
46
-72
0
0
0
0
0
-1
0
14
21
0
0
0
0
0
0
1
34
-4
0
0
0
0
0
1
2
-14
8
0
0
0
2
0
0
0
-2
-39
0
0
0
0
0
0
1
3
-43
0
0
0
0
0
-27
54
-10
-34
-5
0
0
0
-1
5
5
-46
15
76
0
0
0
7
-1
-5
14
15
-13
0
0
0
5
0
10
41
5
-42
0
0
0
0
0
-19
-33
-39
10
0
0
0
0
0
-1
-23
3
-4
0
0
0
0
0
-1
-3
53
44
0
0
0
0
0
1
-33
29
13
0
0
0
0
1
-3
-43
21
-14
0
0
0
0
0
2
-80
50
35
0
0
0
0
0
-8
-32
42
68
0
0
0
1
1
-1
-18
4
-58
0
0
0
0
0
9
30
-14
-15
0
0
0
0
-1
0
17
10
-31
0
0
0
0
0
0
2
5
-25
0
0
0
0
0
0
-4
-10
47
0
0
0
0
0
0
46
-6
0
0
0
0
0
0
0
19
22
0
0
0
0
0
0
-3
-32
75
0
0
0
0
0
0
0
3
69
0
0
0
0
0
4
0
0
22
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
-5
17
0
0
0
0
0
0
1
-2
9
0
0
0
0
0
1
0
-47
24
0
0
0
0
0
0
8
6
28
0
0
0
0
0
0
0
-4
32
0
0
0
0
0
0
0
-4
35
0
0
0
0
0
0
0
-23
15
0
0
0
0
0
0
2
14
30
0
0
0
0
0
0
0
5
-39
0
0
0
0
0
0
0
-14
46
0
0
0
-22
0
-11
8
-5
73
12
0
0
0
0
1
-1
-14
7
-5
0
0
32
0
0
24
-51
-35
16
0
0
0
0
0
-7
-15
54
2
0
0
8
0
3
-9
-13
124
-22
0
0
0
0
0
-1
-37
59
46
0
0
5
0
0
-16
-8
31
-65
0
0
0
0
0
-3
-11
3
-9
0
0
0
0
3
5
-5
-4
-28
0
0
0
1
0
0
10
14
-16
0
0
0
0
0
-16
-34
33
16
0
0
0
0
0
1
23
44
-17
0
0
0
0
0
-3
-17
-48
-7
0
0
0
0
-2
0
4
21
8
0
0
-4
0
0
-4
1
83
-16
0
0
0
0
0
0
0
53
14
0
0
0
0
0
-8
-6
-44
0
0
0
0
0
0
1
-57
24
0
0
0
0
0
0
-7
-33
62
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
18
-43
37
0
0
0
0
0
0
0
55
16
0
0
0
-2
0
0
3
17
-6
0
0
0
0
0
0
0
0
9
0
0
0
0
0
1
1
-13
9
0
0
0
0
-1
0
0
-6
88
0
0
0
5
0
0
2
-10
14
0
0
0
0
0
0
-2
-4
-32
0
0
0
0
0
0
1
-10
14
0
0
0
0
0
0
-1
0
6
0
0
0
4
0
0
0
-5
-6
0
0
0
0
0
0
0
-11
25
0
0
0
0
-1
2
6
-57
35
15
0
0
0
2
1
65
-148
62
-82
0
0
0
1
0
14
16
54
-117
0
0
0
-47
-22
51
17
0
46
0
0
0
0
0
-6
38
-34
16
0
0
0
0
-1
-5
3
58
20
0
0
0
0
0
-10
36
14
1
0
0
0
2
-25
0
1
56
22
0
0
0
1
0
-3
-13
27
-33
0
0
0
1
2
-9
-37
5
3
0
0
0
0
0
-2
22
-32
-33
0
0
0
4
2
-4
3
-53
44
0
0
0
0
0
0
11
12
26
0
0
0
0
0
-4
3
-17
16
0
0
0
0
0
0
1
33
-17
0
0
0
6
0
0
0
69
-97
0
0
0
0
0
-19
-9
32
0
0
0
0
0
0
-1
-9
13
0
0
0
0
0
0
0
-18
59
0
0
0
0
2
0
5
8
8
0
0
0
0
0
-2
-2
0
14
0
0
0
0
0
3
-1
0
12
0
0
0
0
0
1
6
0
-47
0
0
0
0
0
2
0
-4
48
0
0
0
0
0
0
3
26
45
0
0
0
0
0
0
-3
-9
-19
0
0
0
0
0
0
1
8
-38
0
0
0
0
0
1
3
-2
12
0
0
0
0
0
0
1
-10
10
0
0
0
0
0
-1
3
19
-46
0
0
0
0
0
0
-1
-2
10
0
0
0
0
3
0
0
2
-17
0
0
46
-3
0
-1
59
-36
-31
-1
0
0
0
0
0
-5
-75
44
10
0
0
0
0
0
-35
-7
43
-24
0
0
0
0
0
43
5
14
-106
0
34
0
0
-2
-50
42
50
-8
0
0
0
0
0
11
-29
19
-15
0
0
-38
0
-1
18
33
71
-55
0
0
0
0
0
52
0
19
-22
0
-13
0
0
-1
-10
17
-29
55
0
0
0
0
-2
18
-22
-38
5
0
0
0
0
0
-47
-5
62
12
0
0
0
0
-2
28
0
29
14
0
10
0
0
5
-33
-41
37
46
0
0
0
0
0
-9
23
71
18
0
0
-6
0
0
-25
-6
14
23
0
0
0
0
0
2
-2
104
-85
0
0
0
0
-3
46
-88
5
0
0
0
0
0
0
4
-10
11
0
0
0
0
0
0
9
-16
7
0
0
0
0
0
0
-3
14
6
0
0
5
0
0
0
27
5
3
0
0
0
0
0
0
14
-14
10
0
0
0
5
0
0
-8
-1
18
0
0
0
0
0
0
-7
5
5
0
0
0
0
0
0
4
-30
6
0
0
0
0
0
4
0
-26
47
0
0
0
0
0
0
1
-6
65
0
0
0
0
0
0
3
0
48
0
0
-22
0
0
2
2
21
5
0
0
0
0
0
2
1
-17
19
0
0
0
-9
0
0
5
-6
10
0
0
0
0
0
0
19
4
-14
0
0
0
0
0
-1
-44
-30
26
48
0
0
0
-5
-2
0
-13
5
-37
0
0
0
0
0
5
29
77
-40
0
0
0
0
1
5
9
92
-14
0
0
0
0
0
8
-20
51
-22
0
0
0
0
-2
0
-5
-53
-41
0
0
0
0
0
0
8
21
-20
0
0
0
0
-2
24
-3
4
-37
0
0
0
0
-1
9
0
-34
2
0
0
0
0
0
2
39
-7
-35
0
0
0
0
0
32
-5
84
7
0
0
0
0
0
57
2
51
-99
0
0
0
0
0
-3
23
-19
-25
0
0
0
0
-4
-1
-9
43
5
0
0
0
0
0
4
-7
90
-33
0
0
0
4
2
-27
0
7
33
0
0
0
0
0
0
27
13
0
0
0
0
0
0
-4
-5
20
0
0
0
0
0
0
0
33
-90
0
0
0
0
0
0
4
-26
7
0
0
0
0
0
0
0
-19
43
0
0
0
0
1
0
0
-1
-16
0
0
0
0
0
0
0
2
-45
0
0
0
0
0
0
1
6
-6
0
0
0
0
0
0
-3
-21
20
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
6
25
-21
0
0
0
0
0
0
2
0
3
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
2
0
6
-2
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
-1
-4
1
49
0
0
0
5
0
-2
-18
-16
-37
12
0
0
0
1
0
-1
-13
74
-31
0
0
-35
0
0
2
-29
100
38
0
0
0
3
0
8
0
32
-6
0
0
1
0
0
2
-3
83
-9
0
0
0
0
-2
1
0
6
23
0
0
14
0
0
-4
3
-11
-2
0
0
0
-1
-1
2
0
-26
50
0
0
0
0
0
1
5
-34
16
0
0
0
0
0
0
8
-54
14
0
0
8
0
3
0
1
65
-17
0
0
0
0
0
4
4
56
-94
0
0
4
0
0
2
0
8
42
0
0
0
0
-1
0
0
73
12
0
0
-5
0
0
0
0
33
-29
0
0
0
0
0
1
0
33
25
0
0
0
0
0
-1
-27
5
0
0
0
0
0
0
0
1
-62
0
0
0
1
0
0
4
-24
46
0
0
0
0
0
0
2
-6
24
0
0
0
-1
0
0
-2
8
-59
0
0
0
0
0
0
0
-4
79
0
0
0
5
0
0
0
-1
36
0
0
0
0
0
0
-1
-2
20
0
0
0
0
0
0
0
19
13
0
0
0
0
0
0
0
-6
55
0
0
0
-6
0
0
-4
0
32
0
0
0
0
0
0
-2
0
9
0
0
0
-3
0
1
3
2
66
0
0
0
0
0
0
0
-13
10
0
0
0
87
0
0
3
-3
-68
0
0
0
0
0
0
0
1
17
0
0
0
0
0
-1
5
-16
-9
-40
0
0
0
-1
5
1
31
-23
-111
0
0
0
-6
0
-6
10
-7
13
0
0
0
3
15
32
4
-18
10
0
0
0
0
0
0
5
10
-31
0
0
0
1
4
4
-9
14
-43
0
0
0
0
0
-1
4
2
39
0
0
0
5
5
-11
1
2
-16
0
0
0
0
0
0
0
-5
-47
0
0
0
0
0
0
-14
16
2
0
0
0
0
0
-7
-1
103
-53
0
0
0
5
2
-17
6
24
-54
0
0
0
0
0
0
-1
13
-18
0
0
0
0
0
0
1
5
-22
0
0
0
0
0
0
0
14
-32
0
0
0
-20
-22
-5
0
33
-53
0
0
0
0
0
0
-24
-14
0
0
0
0
0
0
-2
10
20
0
0
0
0
0
0
5
0
-18
0
0
0
0
0
0
2
1
9
0
0
0
0
0
0
-4
0
8
0
0
0
0
0
0
-7
14
-2
0
0
0
0
0
0
0
0
44
0
0
0
0
-1
0
-1
0
5
0
0
0
0
0
0
0
-11
52
0
0
0
0
0
-3
0
6
-2
0
0
0
0
0
0
-4
-3
-24
0
0
0
0
0
-5
1
7
13
0
0
0
0
0
0
1
1
41
0
0
0
0
-1
0
1
-9
33
0
0
0
0
0
-1
0
10
20
0
0
0
0
-2
-6
7
1
5
0
0
-2
1
-6
-62
58
75
-6
0
0
0
0
14
6
-43
-40
42
0
0
0
5
-4
50
30
-49
2
0
0
0
0
3
4
-33
6
-16
0
0
25
0
0
-35
-15
-70
12
0
0
0
0
0
26
34
-19
-40
0
0
0
-3
0
-5
-18
-1
-12
0
0
0
0
0
-43
-29
5
52
0
0
0
0
0
-19
55
29
26
0
0
0
0
-1
8
6
-5
-47
0
0
0
0
0
1
-21
-49
24
0
0
0
0
0
-8
-14
-16
12
0
0
3
0
0
11
45
-20
-11
0
0
0
0
0
-5
31
-36
72
0
0
0
0
0
-5
-25
-34
78
0
0
0
0
-1
-1
14
2
-6
0
0
0
0
0
21
119
-19
24
0
0
0
0
0
-6
-32
-2
71
0
0
0
0
0
0
-18
-15
14
0
0
0
0
0
14
-10
2
21
0
0
0
0
0
-3
48
-51
80
0
0
0
0
-1
-10
11
-66
25
0
0
0
0
0
5
-1
-117
81
0
0
0
0
0
1
24
15
42
0
0
-1
2
0
-50
38
-7
33
0
0
0
0
0
-1
20
-14
18
0
0
0
0
0
1
-33
-21
35
0
0
0
0
0
4
46
-77
-16
0
0
1
0
0
-1
-2
16
-12
0
0
0
0
0
0
5
-41
0
0
0
0
-1
0
0
-1
1
-37
0
0
0
0
0
5
-9
-26
7
0
0
0
0
1
13
-11
-113
19
0
0
0
0
-6
0
4
62
-44
0
0
0
0
6
0
8
-14
53
0
0
0
0
1
0
2
-6
25
0
0
0
0
0
7
-11
15
-33
0
0
0
0
1
-6
1
13
-100
0
0
0
0
0
0
0
-6
17
0
0
0
0
0
-3
-1
-3
35
0
0
0
0
0
0
-9
-40
-5
0
0
0
0
2
0
0
26
16
0
0
0
0
-1
0
-2
-33
50
0
0
0
0
-3
0
-4
-1
39
0
0
0
0
0
0
-1
14
7
0
0
0
0
-2
0
0
14
19
0
0
0
0
0
0
0
16
8
0
0
0
0
29
0
0
5
-18
0
0
0
0
0
-4
1
-57
40
0
0
0
0
0
0
0
3
31
0
0
0
0
0
0
0
-45
15
0
0
0
0
0
0
-5
33
23
0
0
0
0
0
0
0
-21
4
0
0
0
0
0
3
0
-1
-15
0
0
0
0
0
0
-1
-71
100
0
0
0
0
-1
0
0
6
5
0
0
0
0
0
1
3
33
-20
0
0
0
0
-3
0
0
-15
38
0
0
0
0
3
0
0
-45
14
0
0
0
0
3
-1
0
6
4
0
0
0
0
0
0
0
20
-41
0
0
0
0
0
0
0
-6
-37
0
0
0
0
0
0
0
-9
-1
0
0
0
0
23
0
0
-3
24
0
0
0
0
0
0
45
-74
82
0
0
0
0
0
1
-2
-23
-2
0
0
0
3
0
0
-33
-43
37
0
0
0
0
0
0
-1
15
-5
0
0
0
0
0
0
8
49
-13
0
0
0
0
0
0
-3
3
-1
0
0
0
8
0
0
-6
13
-71
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
-71
-45
23
0
0
0
0
0
0
-4
-44
62
0
0
0
-2
0
0
2
-22
-14
0
0
0
0
0
0
3
1
34
0
0
0
0
0
0
-16
33
23
0
0
0
0
0
0
1
-15
0
0
0
0
7
0
0
1
-5
-49
0
0
0
0
0
0
1
0
14
0
0
0
0
0
0
-7
17
65
0
0
0
0
0
0
0
-5
30
0
0
0
0
0
0
0
-50
15
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
-8
-9
19
0
0
0
0
0
0
0
22
30
0
0
0
-14
0
0
0
-13
-66
0
0
0
0
0
0
1
-34
14
0
0
0
0
0
0
2
-28
5
0
0
0
0
0
-2
2
-29
55
0
0
0
3
0
0
0
-5
26
0
0
0
0
0
0
4
-10
45
0
0
0
0
0
0
0
46
18
0
0
0
0
0
0
1
6
57
0
0
0
-7
0
0
0
-1
3
0
0
0
0
0
0
-3
1
-4
0
0
0
0
0
0
34
-43
-20
0
0
0
0
0
-2
-7
-59
43
0
0
0
0
0
0
61
-60
37
0
0
0
0
-4
1
7
32
-3
0
0
0
0
0
-1
0
-4
26
0
0
0
0
0
3
1
48
32
0
0
0
0
0
0
10
-7
8
0
0
0
0
3
-1
-29
-6
-8
0
0
0
0
0
0
1
-5
48
0
0
0
0
0
0
5
-19
75
0
0
0
0
0
0
0
25
-23
0
0
0
0
2
0
15
23
-36
0
0
0
0
0
0
1
-6
65
0
0
0
0
0
0
1
-53
-36
0
0
0
0
0
0
-1
-7
-6
0
0
0
0
-2
-1
0
-1
6
0
0
0
0
0
0
-10
-24
34
0
0
0
0
0
0
0
28
-17
0
0
0
0
0
0
-6
-6
-25
0
0
0
0
0
0
4
21
-17
0
0
0
0
0
0
0
-26
6
0
0
0
0
0
0
0
47
-28
0
0
0
0
0
0
8
2
43
0
0
0
0
-1
0
4
27
-13
0
0
0
0
0
0
5
-7
33
0
0
0
0
0
0
1
31
-40
0
0
0
0
0
0
-2
-13
9
0
0
0
0
0
0
-7
-34
-9
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
3
7
48
0
0
0
0
0
0
-1
-2
53
0
0
0
0
0
1
0
1
1
0
0
12
-2
0
-5
10
55
-37
0
0
0
0
0
2
5
-46
-48
0
0
0
3
0
1
-19
-21
80
0
0
0
0
-1
0
4
-84
22
0
0
35
0
0
-1
-8
-23
12
0
0
0
0
0
0
6
-23
-18
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
0
14
-13
0
0
-5
0
0
0
-37
15
61
0
0
0
0
0
-3
0
25
-43
0
0
0
1
0
0
13
6
3
0
0
0
0
0
0
-8
4
-7
0
0
-30
0
0
0
21
74
-7
0
0
0
0
0
0
-6
-1
-1
0
0
0
0
0
0
7
-44
1
0
0
0
0
0
0
0
17
0
0
0
-2
0
0
2
17
5
-15
0
0
0
0
0
0
7
42
-5
0
0
0
1
0
-1
-4
-14
48
0
0
0
0
0
-6
25
18
-6
0
0
17
0
0
0
-47
-66
68
0
0
0
0
0
1
0
17
-6
0
0
0
17
0
0
2
-95
-3
0
0
0
0
0
0
-5
51
-19
0
0
0
0
0
5
27
-73
52
0
0
0
0
0
0
3
78
20
0
0
0
0
0
-2
14
-28
38
0
0
0
0
0
0
3
-57
7
0
0
7
0
0
-3
-3
-46
0
0
0
0
0
0
0
-2
-8
81
0
0
0
14
0
0
-2
13
31
0
0
0
0
0
-1
-2
7
5
0
0
0
0
0
1
-26
-36
9
0
0
0
0
-1
-1
3
-49
16
0
0
0
0
0
0
-6
44
65
0
0
0
0
-1
0
-18
-14
103
0
0
0
0
0
0
0
-66
14
0
0
0
0
0
3
5
-22
-16
0
0
0
0
0
0
-4
22
56
0
0
0
0
0
-4
-1
37
-2
0
0
0
0
0
-1
0
-29
58
0
0
0
0
0
1
0
-57
65
0
0
0
0
0
0
-3
-48
62
0
0
0
0
2
-3
0
22
3
0
0
0
0
0
0
-3
-5
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
0
41
-4
0
0
0
0
0
0
-9
-60
-4
0
0
0
0
0
0
4
-5
37
0
0
0
0
0
0
8
69
49
0
0
0
0
1
0
2
-51
48
0
0
0
0
0
0
0
17
-71
0
0
0
0
0
-4
2
5
-32
0
0
0
0
0
-1
0
-8
5
0
0
0
0
0
0
-1
-10
21
0
0
0
0
0
-1
0
-29
20
0
0
0
0
0
0
0
26
-11
0
0
0
0
0
0
-1
7
10
0
0
0
0
0
0
-13
-6
5
0
0
0
0
0
-2
0
-25
43
0
0
0
0
0
0
4
7
9
0
0
0
0
0
-1
0
1
-24
0
0
0
0
-3
-1
-1
17
-16
0
0
0
-7
0
0
-44
69
-53
0
0
0
0
0
-3
-6
7
40
0
0
0
18
0
0
23
-11
-15
0
0
0
0
0
0
0
1
-6
0
0
0
-1
0
0
-11
27
56
0
0
0
0
0
0
-1
-1
17
0
0
0
24
0
-1
0
-38
-23
0
0
0
0
0
-2
0
-52
5
0
0
0
0
0
0
2
22
59
0
0
0
0
0
0
0
20
-14
0
0
0
0
0
0
1
9
-29
0
0
0
0
0
0
-2
14
17
0
0
0
0
0
-2
-1
13
44
0
0
0
0
0
0
0
4
22
0
0
0
-60
0
0
1
2
-5
0
0
0
0
0
0
2
14
4
0
0
0
0
0
0
3
-24
6
0
0
0
0
0
0
5
14
59
0
0
0
1
0
0
0
17
5
0
0
0
0
0
0
0
-43
21
0
0
0
3
0
0
-3
8
-18
0
0
0
0
0
0
0
-27
27
0
0
0
17
0
0
2
-32
3
0
0
0
0
0
0
0
-17
9
0
0
0
0
0
0
-7
-25
29
0
0
0
0
0
0
0
36
-5
0
0
0
3
0
0
1
-71
52
0
0
0
0
0
0
0
-5
14
0
0
0
2
0
0
0
-14
73
0
0
0
0
0
0
0
69
-10
0
0
0
-52
0
1
-1
-3
18
0
0
0
0
0
0
0
-39
-13
0
0
0
0
0
-5
-18
-48
7
0
0
0
0
0
-4
-9
8
58
0
0
0
0
0
0
7
-60
35
0
0
0
0
0
6
3
-11
-3
0
0
0
0
0
0
0
2
36
0
0
0
0
0
0
0
-14
13
0
0
0
0
0
-2
-2
11
6
0
0
0
0
6
-6
-4
18
1
0
0
0
0
0
0
5
24
-13
0
0
0
0
3
-2
0
5
16
0
0
0
0
-3
0
-10
26
62
0
0
0
0
-1
-3
1
-3
1
0
0
0
0
0
0
0
7
21
0
0
0
0
0
-6
-1
6
13
0
0
0
0
0
0
0
-14
6
0
0
0
0
-6
1
-1
-2
-14
0
0
0
0
0
0
-9
3
24
0
0
0
0
0
6
-4
-43
-40
0
0
0
0
0
0
-1
-1
47
0
0
0
0
0
8
0
14
18
0
0
0
0
0
0
0
5
45
0
0
0
0
0
-3
0
18
11
0
0
0
0
0
0
0
7
2
0
0
0
0
-1
2
1
-33
-8
0
0
0
0
0
0
-1
7
44
0
0
0
0
0
0
4
-32
-4
0
0
0
0
0
0
0
6
17
0
0
0
0
3
2
-6
-18
52
0
0
0
0
0
0
0
-3
53
0
0
0
0
0
0
-13
-17
62
0
0
0
0
0
0
-1
4
50
0
0
0
0
2
-3
-1
-33
5
0
0
7
0
0
-26
-8
-43
71
0
0
0
0
0
-1
2
-25
2
0
0
0
0
0
0
-6
-38
-20
0
0
0
0
0
0
4
-14
5
0
0
-1
0
0
-7
11
8
-22
0
0
0
0
0
2
-6
-28
29
0
0
0
0
0
0
5
-53
21
0
0
0
0
0
-15
-4
-7
-3
0
0
0
0
0
21
1
-17
7
0
0
0
0
0
0
-5
22
-26
0
0
0
0
0
-1
-7
-44
68
0
0
0
0
0
-1
-5
-22
-4
0
0
1
0
0
-7
-16
5
-13
0
0
0
0
0
0
-4
5
18
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
-101
80
0
0
0
0
0
-3
0
30
-62
0
0
0
0
0
1
13
37
-48
0
0
0
0
0
0
0
18
26
0
0
-22
0
0
1
16
18
-38
0
0
0
0
0
-4
-1
-14
6
0
0
0
0
0
-1
-8
-2
9
0
0
0
0
0
4
-1
35
-20
0
0
0
0
0
-3
-26
-50
35
0
0
0
0
0
0
-5
20
-19
0
0
0
3
0
0
5
-73
17
0
0
0
0
1
0
2
-14
-28
0
0
0
0
0
1
-4
22
17
0
0
0
0
0
3
-3
8
-10
0
0
0
4
0
-1
-5
10
2
0
0
0
0
0
-13
2
9
48
0
0
0
0
0
5
7
-34
-5
0
0
0
0
-4
0
0
15
32
0
0
0
0
0
0
-2
33
0
0
0
0
0
0
0
0
13
-3
0
0
0
0
0
-1
-4
-61
-7
0
0
0
0
0
-1
0
-6
-3
0
0
0
0
0
0
-1
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-9
2
0
0
0
0
0
0
0
-44
53
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-1
0
-13
43
0
0
0
0
0
0
0
-19
35
0
0
0
0
0
0
0
2
20
0
0
0
0
-1
0
0
-9
14
0
0
0
0
0
0
0
-39
-57
0
0
0
0
0
0
0
-16
1
0
0
0
0
0
0
0
-32
50
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
0
-57
75
0
0
0
0
0
0
0
7
25
0
0
0
0
0
0
0
-13
31
0
0
0
0
0
0
0
43
-36
0
0
0
0
0
0
0
-24
4
0
0
0
0
0
0
0
-33
27
0
0
0
0
0
0
0
-23
23
0
0
0
0
0
0
0
17
58
0
0
0
0
0
0
0
-5
71
0
0
0
0
0
0
-2
33
-1
0
0
0
0
0
0
0
-22
14
0
0
0
0
0
-1
0
-18
16
0
0
0
-6
0
-3
-5
-43
65
0
0
0
0
0
0
0
5
34
0
0
0
5
0
0
1
-5
33
0
0
0
0
0
0
0
8
-50
0
0
0
1
0
0
3
-44
27
0
0
0
0
0
0
0
10
5
0
0
0
-14
0
0
-2
4
56
0
0
0
0
0
0
0
-46
-2
0
0
0
0
0
2
3
7
35
0
0
0
0
0
0
0
-4
-67
0
0
0
0
0
0
2
-18
50
0
0
0
0
0
0
3
-24
75
0
0
0
0
0
0
0
-30
62
0
0
0
0
0
0
0
15
-43
0
0
0
1
0
0
0
-3
21
0
0
0
0
0
0
0
4
-14
0
0
0
0
0
0
0
20
3
0
0
0
0
0
0
0
6
-26
0
0
0
-1
0
0
0
-5
21
0
0
0
0
0
0
0
-18
46
0
0
0
0
0
0
1
-18
47
0
0
0
0
0
0
0
-24
48
0
0
0
0
0
0
1
-33
23
0
0
0
0
0
0
0
-8
11
0
0
0
1
0
0
0
20
42
0
0
0
0
1
0
0
-49
24
0
0
0
5
0
1
0
-5
-16
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-34
56
0
0
0
11
0
0
0
6
-14
0
0
0
0
0
0
0
15
-29
0
0
0
0
0
9
3
-7
-51
0
0
0
0
0
0
0
-3
34
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-1
0
7
1
0
0
0
0
0
0
2
-1
37
0
0
0
0
0
0
0
-32
6
0
0
0
0
0
2
1
0
-17
0
0
0
0
0
5
-1
1
0
0
0
0
0
0
0
2
-23
-14
0
0
0
0
1
0
1
14
26
0
0
0
0
0
0
-3
8
9
0
0
0
0
-6
0
-1
17
-1
0
0
0
0
0
0
0
1
37
0
0
0
0
0
-1
0
3
2
0
0
0
0
0
0
0
0
5
0
0
0
0
1
0
0
-4
-5
0
0
0
0
0
0
0
-2
70
0
0
0
0
0
0
0
-49
36
0
0
0
0
0
0
0
-8
29
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
0
3
23
0
0
0
0
0
0
8
-43
31
0
0
0
0
0
5
0
-1
27
0
0
0
0
0
0
0
-2
-52
0
0
0
0
0
0
2
-13
10
0
0
0
0
0
0
-3
-19
-30
0
0
0
0
1
0
1
-20
-1
0
0
0
0
0
0
0
11
-23
0
0
0
0
0
-1
0
-2
-12
0
0
0
0
0
-1
1
2
27
0
0
0
0
0
3
-1
-18
44
0
0
-11
0
0
2
-25
-42
-14
0
0
0
0
0
0
1
-44
54
0
0
0
0
0
0
5
32
36
0
0
0
0
0
0
0
0
-1
0
0
-28
0
0
0
-9
-51
45
0
0
0
0
0
0
-1
5
-16
0
0
0
1
0
0
0
62
-22
0
0
0
0
0
0
5
3
-5
0
0
0
0
0
2
-4
14
6
0
0
0
0
0
0
0
-27
16
0
0
0
1
0
-1
2
-19
-44
0
0
0
0
0
0
0
-30
32
0
0
-23
0
0
0
-7
8
6
0
0
0
0
0
0
0
15
-11
0
0
0
2
0
0
0
18
-8
0
0
0
0
0
-2
0
-7
29
0
0
0
0
0
1
0
-13
-21
0
0
0
0
0
0
0
-5
-12
0
0
0
0
0
0
0
-7
19
0
0
0
0
0
0
0
-17
11
0
0
-4
0
0
0
4
-32
-72
0
0
0
0
0
0
0
-30
73
0
0
0
15
0
0
2
36
-25
0
0
0
0
0
0
0
-43
24
0
0
-1
0
0
0
25
-47
19
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
3
16
-32
0
0
0
0
0
0
0
-96
80
0
0
33
0
0
0
2
-46
14
0
0
0
0
0
0
0
-10
52
0
0
0
-7
0
0
2
0
58
0
0
0
0
0
0
0
-14
8
0
0
0
0
0
0
0
8
-65
0
0
0
0
0
0
0
-14
20
0
0
0
0
0
0
0
-1
-7
0
0
0
0
-1
0
0
-32
2
0
0
0
0
0
3
1
16
-32
0
0
0
0
0
0
0
-10
-29
0
0
0
0
0
0
0
-27
2
0
0
0
0
0
8
0
19
-2
0
0
0
0
0
0
-1
17
24
0
0
0
0
0
0
2
-44
-24
0
0
0
0
0
0
2
-5
27
0
0
0
0
-1
-1
5
10
32
0
0
0
0
0
-3
0
-5
54
0
0
0
0
0
0
2
4
23
0
0
0
0
0
1
0
-1
35
0
0
0
0
1
8
0
2
-33
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
11
-14
0
0
0
0
0
0
0
-14
49
0
0
0
0
0
0
0
-12
44
0
0
0
0
0
0
0
-50
53
0
0
0
0
0
0
0
-2
33
0
0
0
0
0
-1
0
5
16
0
0
0
0
0
0
-1
5
45
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
0
-9
36
0
0
0
0
0
0
0
14
-8
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
-2
0
15
7
0
0
0
0
0
0
0
0
39
0
0
0
0
0
-7
3
5
30
0
0
0
0
0
0
-5
3
61
0
0
0
0
0
0
0
7
10
0
0
0
-6
0
0
-3
1
36
0
0
0
0
0
0
-2
0
-6
0
0
0
0
0
-4
-3
5
32
0
0
0
0
0
0
1
0
-2
0
0
0
-4
0
0
-3
-2
-37
0
0
0
0
0
-1
4
0
-3
0
0
0
0
0
0
0
-17
12
0
0
0
0
0
0
0
4
5
0
0
0
-1
0
-2
1
-8
-35
0
0
0
0
0
0
-2
2
-14
0
0
0
5
0
1
2
-9
57
0
0
0
0
0
6
1
-1
50
0
0
0
3
0
1
0
4
9
0
0
0
0
4
0
0
0
34
0
0
0
0
0
0
0
11
-53
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
0
-11
38
0
0
0
0
0
0
0
-6
31
0
0
0
-6
0
0
-1
17
-11
0
0
0
0
0
0
0
2
1
0
0
0
-13
0
0
0
-5
-5
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
26
-35
0
0
0
0
0
0
0
7
-20
0
0
0
15
0
0
0
5
9
0
0
0
0
0
0
1
13
36
0
0
0
-5
0
0
0
-25
42
0
0
0
0
0
0
0
4
34
0
0
0
14
0
0
0
2
14
0
0
0
0
0
0
0
7
-11
0
0
0
0
3
0
-5
-8
18
0
0
0
0
0
0
0
-3
-24
0
0
0
0
0
0
0
1
-17
0
0
0
0
1
0
0
5
-25
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
1
0
8
0
0
0
0
0
0
-1
0
-2
43
0
0
0
0
0
-1
-6
-15
21
0
0
0
0
-1
0
3
-3
10
0
0
0
0
0
3
4
14
-13
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
5
2
-5
-6
0
0
0
0
2
-2
-1
3
-5
0
0
0
0
-4
-38
0
-1
29
0
0
0
0
0
0
0
-14
-15
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
4
-3
-28
0
0
0
0
0
0
0
-9
44
0
0
0
0
0
0
0
9
31
0
0
0
0
0
0
2
-5
-43
0
0
0
0
0
1
-4
2
33
0
0
0
0
3
-5
-2
6
5
0
0
0
0
0
0
0
-37
45
0
0
0
0
0
0
2
-2
22
0
0
0
0
-8
0
11
3
-18
0
0
0
0
-10
0
5
14
32
0
0
0
0
0
0
0
-5
71
0
0
0
0
0
4
0
14
-7
0
0
0
0
0
-1
5
1
-14
0
0
0
0
-21
4
0
8
39
0
0
8
-34
-77
-6
41
-37
11
13
-11
0
0
-8
11
4
45
-20
-45
5
0
14
-6
5
25
-10
-39
-53
56
0
0
-2
-10
-36
31
28
-91
4
-14
-20
2
-23
-15
-16
5
53
28
0
0
13
6
11
7
-33
18
56
0
0
0
2
-7
-4
-39
40
-49
0
0
0
-1
5
-18
-15
-61
31
-14
0
-3
11
-56
24
45
29
0
0
0
2
-2
-8
11
9
-10
0
0
2
-3
2
35
-3
34
-36
0
0
0
-1
-6
1
0
43
52
0
4
0
0
-2
-10
-20
6
-2
0
0
0
0
-1
-7
3
-5
-10
0
0
0
0
1
0
5
6
-34
0
0
0
0
0
1
1
-3
-27
0
1
0
-19
16
-27
12
-30
0
0
0
0
0
-4
24
14
-6
0
0
0
1
0
0
-7
36
22
0
0
0
0
0
-1
-7
1
-5
0
0
0
6
0
6
9
-24
-26
0
0
0
0
0
-4
-9
-35
33
0
0
0
2
0
0
8
-4
-16
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
14
-6
-34
-3
0
0
0
0
0
-1
1
3
7
0
0
0
0
0
0
-1
0
-19
0
0
0
0
0
3
0
-3
-2
0
0
0
0
0
1
8
-35
-3
0
0
0
0
0
0
-1
-3
-9
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
7
-53
20
-5
31
21
21
0
0
1
8
-7
26
-45
0
55
0
0
-2
-4
-2
-14
-5
-13
37
0
0
-5
2
-16
-7
-8
-50
21
0
0
3
-4
6
49
-5
-20
-45
0
0
-3
16
13
-27
12
-22
-38
0
0
0
1
-1
-47
31
-27
-4
0
0
1
-7
-1
10
-10
-35
-30
0
0
-4
-3
10
-11
10
23
0
0
0
-2
-5
1
16
39
-33
0
0
0
0
0
-1
-29
3
11
0
0
0
0
0
-3
-2
69
51
0
0
0
0
0
-2
0
-14
-24
0
0
0
0
0
8
3
5
-32
0
0
0
0
0
0
-6
8
-17
0
0
0
2
0
0
-7
-4
-31
0
0
0
0
-9
9
-56
-3
0
0
0
0
0
-2
-6
17
-9
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
1
-2
10
0
0
0
0
0
0
0
-4
4
-14
0
0
0
0
0
1
-1
13
5
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
-11
3
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
-1
-19
2
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
-11
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
0
0
0
0
56
8
25
1
-5
-32
-45
43
0
0
-2
0
16
25
45
-15
-23
0
6
0
0
-18
-15
45
10
12
0
0
0
6
5
-2
-10
53
-14
0
0
0
-1
19
-39
27
-59
37
0
0
0
1
-1
36
6
8
-25
0
-9
0
0
2
-31
3
15
-12
0
0
0
0
-9
-19
-9
0
23
0
-4
0
-3
-1
-48
-13
-4
0
0
0
0
-1
-11
-7
5
20
0
0
-2
0
0
10
9
-18
-17
0
0
0
0
0
-1
-15
1
17
0
0
0
0
0
-4
0
3
-7
0
0
0
0
0
-2
6
5
37
0
0
0
0
-1
1
8
10
8
0
0
0
0
0
-1
2
-14
0
0
0
9
0
-5
-31
-19
20
0
0
0
0
-1
-3
-11
-2
-7
0
0
0
0
0
0
5
-3
6
0
0
0
0
0
-2
1
1
11
0
0
0
0
0
0
-13
0
6
0
0
0
0
0
0
-6
4
-23
0
0
0
-2
0
0
2
-1
2
0
0
0
0
0
0
-5
0
21
0
0
0
0
0
0
1
-13
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
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
5
-5
-9
-6
8
53
-58
0
0
-5
1
-14
15
18
43
-1
0
0
1
2
23
0
11
7
21
0
0
-5
-3
14
9
43
26
9
0
0
0
-1
0
0
9
-105
104
0
0
5
-6
18
8
7
-5
-1
0
0
0
-1
2
-14
11
-15
-2
0
0
9
0
1
-7
-9
-21
4
0
0
0
8
18
14
2
24
0
0
0
0
8
1
-13
19
-37
0
0
0
0
-1
10
1
13
-10
0
0
0
0
-5
0
5
18
-24
0
0
0
0
0
0
2
8
-14
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
7
0
0
0
0
1
-5
0
14
30
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
2
4
15
0
0
0
0
0
0
-4
-1
11
0
0
0
0
0
2
4
1
9
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
-1
0
0
-33
-20
12
62
24
-42
0
0
-1
-14
-13
7
-43
-47
45
0
1
0
-4
-2
5
14
-23
-2
0
0
0
0
-5
-1
7
-11
-1
7
0
0
10
1
-11
-27
7
29
0
0
0
0
-4
-2
-13
31
14
0
0
0
0
-17
4
0
-25
28
0
0
0
2
0
-2
-2
5
60
-4
0
0
-8
32
-11
15
-54
0
0
0
0
0
-3
22
-16
-18
0
0
0
0
0
6
3
-13
-24
0
0
0
0
-2
1
-3
-2
25
0
-2
0
0
0
9
-1
7
-44
0
0
0
0
1
1
-4
-7
-18
0
0
0
0
0
-1
0
5
19
0
0
0
0
0
-1
0
-1
-19
0
-1
0
0
-4
-35
-17
55
0
0
0
0
0
1
1
-5
-33
0
0
0
0
0
0
-8
-1
3
0
0
0
0
0
0
0
3
0
0
0
-18
0
0
1
14
-14
29
0
0
0
0
0
0
-1
-16
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
-22
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
-2
18
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
-5
-8
-7
-35
-18
17
0
0
1
2
-1
-19
11
-5
-10
0
0
0
-2
17
-5
2
15
-82
0
0
-1
-7
5
7
33
-57
-4
0
0
0
0
-14
20
4
-71
9
0
0
0
2
5
-13
0
29
-69
0
0
0
0
1
-11
-3
42
25
0
0
0
0
0
13
-3
-10
32
0
0
0
0
-2
-10
-9
-12
0
0
0
0
0
1
-1
-11
60
0
0
0
0
0
1
-14
0
8
0
0
0
0
1
0
2
4
15
0
0
0
0
0
-2
-1
1
5
0
0
0
0
-1
0
0
-15
23
0
0
0
0
0
2
1
6
26
0
0
0
0
0
0
4
1
10
0
0
0
0
-3
-6
1
2
0
0
0
0
0
0
-1
-9
9
0
0
0
0
0
-1
0
0
-21
0
0
0
0
0
0
0
-10
5
0
0
0
0
0
-1
1
-13
-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
15
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
3
-5
-19
-13
7
21
0
0
0
0
11
-2
-5
25
-42
0
-18
0
0
10
7
16
53
-41
0
0
0
0
-9
-4
23
-3
31
0
1
0
2
0
5
-10
8
14
0
0
0
0
0
1
0
-3
20
0
-2
0
0
0
-5
2
14
49
0
0
0
-2
2
0
0
23
24
0
0
0
0
0
3
16
-42
0
0
0
0
0
1
15
13
-5
0
0
-7
0
-1
0
15
15
-19
0
0
0
0
0
-2
-2
-10
39
0
0
0
0
0
2
13
4
6
0
0
0
0
0
1
0
5
-14
0
0
-2
0
0
-2
-1
-3
19
0
0
0
0
0
0
0
1
-2
0
0
-1
0
1
-7
-1
11
0
0
0
0
0
0
-2
-26
4
0
0
0
1
0
0
2
-5
26
0
0
0
0
0
0
-4
-4
2
0
0
0
0
0
0
-4
6
-17
0
0
0
0
0
0
-2
-4
1
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
-3
0
0
7
0
0
0
0
0
0
0
3
-17
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
7
-15
5
5
-14
0
0
1
-6
0
5
8
25
4
0
0
0
-2
8
-21
6
14
43
0
0
-10
0
0
-1
-8
-1
32
0
0
0
1
4
0
7
-23
-15
0
0
0
1
0
0
0
-2
29
0
0
0
0
0
0
0
11
7
0
0
-1
31
3
-1
1
5
36
0
0
0
-1
1
-6
-18
46
0
0
0
0
1
0
-8
7
-1
0
0
0
0
0
-1
7
-5
-16
0
0
0
0
-1
0
-8
-4
-14
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
-13
0
0
0
0
-3
5
11
-18
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
-5
-40
2
18
-37
0
0
0
0
3
-9
-22
1
18
0
0
0
0
1
5
-32
-51
39
0
0
0
0
0
-6
3
2
-2
0
-2
0
0
3
10
-10
22
-48
0
0
0
0
0
15
-14
14
5
0
0
0
0
0
-1
3
14
-31
0
0
0
0
0
0
1
-13
-5
0
0
0
3
-7
-2
1
21
-9
0
0
0
0
-2
-3
-2
-15
-4
0
0
0
0
-3
-1
6
-14
40
0
0
0
0
0
0
6
4
-43
0
-2
0
0
-1
6
4
-1
20
0
0
0
0
0
0
10
-17
-4
0
0
0
0
0
0
1
-14
3
0
0
0
0
0
0
0
25
9
0
0
0
0
4
4
-4
8
0
0
0
0
1
-2
0
-21
-20
0
0
0
0
0
0
5
3
23
0
0
0
0
0
0
-3
-3
13
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
9
5
-14
-21
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
2
15
0
0
0
0
0
0
1
0
18
0
0
0
0
0
2
4
4
6
0
0
0
0
0
0
0
2
23
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
-6
0
0
0
0
7
-9
0
42
-23
-33
0
0
0
1
5
-6
0
-26
34
0
0
0
0
0
14
-14
-14
11
0
0
0
0
0
2
-6
-3
5
0
0
0
0
0
-5
8
-23
22
0
0
0
0
1
4
-11
4
-18
0
0
0
0
0
0
0
5
6
0
0
0
0
0
-1
-3
-10
-14
0
0
0
0
1
-9
-3
25
-66
0
0
0
0
-1
0
0
1
-31
0
0
0
0
0
3
-2
-5
-1
0
0
0
0
0
-1
0
13
-17
0
0
0
0
0
0
-5
3
-13
0
0
0
-3
0
0
0
18
21
0
0
0
0
0
0
1
-8
35
0
0
0
0
0
0
0
-1
30
0
0
0
1
0
7
6
2
0
0
0
0
0
0
0
-18
-14
0
0
0
0
0
0
0
-8
10
0
0
0
0
0
0
0
3
-25
0
0
0
0
0
0
-1
11
15
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
13
14
0
0
0
0
0
0
0
-6
20
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
10
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
-23
1
-33
1
-15
6
-56
0
0
0
0
-1
-5
-27
0
15
0
0
1
0
1
-1
-6
5
-13
0
0
0
-3
0
-1
-3
4
6
0
0
0
0
1
-5
-8
9
-4
0
0
0
0
0
0
-15
36
17
0
0
-1
0
0
4
3
-14
5
0
0
0
-1
0
0
-2
8
-31
0
0
0
0
0
-3
-6
10
-44
0
0
0
1
0
0
8
6
1
0
0
0
0
0
0
2
0
-23
0
0
0
0
0
-5
0
-21
0
0
0
0
0
0
-2
-6
6
-35
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
2
3
13
-35
0
0
0
0
0
0
-1
-10
54
0
0
0
0
0
8
-9
3
0
0
0
0
0
0
7
1
5
0
0
0
0
0
0
3
13
-15
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
-21
-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
18
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
-11
0
0
0
0
0
0
-44
15
-5
53
0
0
0
0
-10
10
-9
-9
-6
0
0
0
0
0
0
-3
0
14
0
0
0
0
2
-6
0
-1
2
0
0
0
0
-1
11
-3
20
-7
0
0
0
0
4
-2
0
7
-24
0
0
0
0
0
-1
0
7
4
0
0
0
-1
3
5
-6
6
-46
0
0
0
1
0
-1
-2
-2
3
0
0
0
-1
0
2
-5
7
47
0
0
0
0
0
-3
1
15
0
0
0
0
0
1
0
0
-4
-19
0
0
0
0
0
0
-1
-1
-10
0
0
0
0
0
2
1
-6
-45
0
0
0
0
0
0
0
2
36
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
3
1
-17
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
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
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
-9
0
1
2
10
-43
-8
36
0
0
0
0
2
4
-5
15
-60
0
0
0
0
0
-3
-10
-31
2
0
0
0
0
0
0
1
5
-14
0
19
0
0
0
-3
0
17
-16
0
0
0
1
-1
1
-3
-7
-18
0
0
0
0
0
0
9
5
-20
0
0
0
0
0
0
-1
3
37
0
0
0
0
2
8
13
5
-25
0
0
0
0
0
2
-2
-33
-33
0
0
0
0
0
0
2
7
11
0
0
0
0
0
0
0
3
-1
0
8
0
0
0
-16
0
-9
17
0
0
0
0
0
0
-2
-8
34
0
0
0
0
0
0
0
-14
23
0
0
0
0
0
-1
1
3
43
0
0
0
0
-1
-22
1
3
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
-13
-5
17
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
14
13
0
0
0
0
0
0
0
3
10
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
5
-10
18
-15
0
0
0
0
0
0
0
-13
-29
0
0
0
0
1
0
1
2
16
0
0
0
0
0
0
4
10
10
0
0
0
0
0
0
-15
18
-25
0
0
0
0
0
1
-1
-9
-19
0
0
0
0
0
0
1
2
60
0
0
0
0
0
0
0
-1
-16
0
0
0
1
4
-1
2
-10
-9
0
0
0
0
0
0
-3
-29
-46
0
0
0
0
1
1
0
18
7
0
0
0
1
0
0
0
-9
60
0
0
0
0
1
1
-3
-3
49
0
0
0
0
0
0
-5
-3
37
0
0
0
0
0
0
0
14
-33
0
0
0
-1
0
-2
3
10
-19
0
0
0
0
0
0
-13
-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
-9
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
-13
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
10
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
-6
8
0
0
0
0
0
0
1
-1
-8
0
0
10
0
0
-1
5
-6
14
0
0
0
0
0
0
0
2
13
0
0
1
0
0
3
2
0
15
0
0
0
0
0
0
1
0
24
0
0
2
0
0
0
-3
6
-24
0
0
0
0
0
0
0
1
-1
0
0
0
0
-1
0
-4
-4
-77
0
0
0
0
0
0
0
1
31
0
0
0
0
0
1
-1
-9
15
0
0
0
0
0
-1
0
16
-23
0
0
0
0
0
-1
0
5
-14
0
0
0
0
0
1
0
18
25
0
0
-1
0
0
0
0
-23
53
0
0
0
0
0
0
-1
-1
-71
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-2
-4
-16
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
-10
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
4
0
0
0
-2
2
0
0
0
33
0
0
0
0
0
0
-4
-1
18
0
0
0
1
0
3
0
-5
-10
0
0
0
0
-1
-1
0
0
27
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
-1
1
1
60
0
0
0
1
1
0
1
0
17
0
0
0
0
0
-1
0
3
-32
0
0
0
4
0
0
0
0
-18
0
0
0
0
0
-1
1
-3
-5
0
0
0
-3
0
0
0
14
3
0
0
0
0
0
-1
0
-4
0
0
0
0
-1
0
0
0
-3
23
0
0
0
0
0
0
0
-13
21
0
0
0
1
0
0
0
4
-3
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
9
1
-7
-73
-29
2
80
0
0
0
0
-3
4
-6
-25
25
0
0
0
-1
-1
19
11
15
-34
0
0
0
0
-1
-2
0
-25
16
0
0
2
0
2
-7
-19
33
18
0
0
0
0
0
0
18
-41
4
0
0
0
0
0
0
-4
7
-33
0
0
0
0
0
1
-1
-11
13
0
0
0
0
1
1
8
-7
30
0
0
0
0
0
0
0
-17
-16
0
0
0
0
0
0
1
8
18
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
5
1
-14
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
-14
-11
6
12
0
0
0
0
0
2
-1
-11
51
0
0
0
0
0
-2
-5
2
-6
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
-1
1
-23
27
0
0
0
0
0
1
13
-15
-15
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
2
-5
-30
45
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
1
2
-15
-5
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
-19
-10
0
0
0
0
0
0
0
-5
-24
0
0
0
0
0
0
1
16
-18
0
0
0
0
0
0
0
0
4
0
0
0
0
29
1
4
2
-32
0
0
0
0
-1
4
2
7
-5
0
0
0
0
2
0
-3
-10
-10
0
0
0
0
0
0
-1
-31
-3
0
0
0
0
0
1
-3
-34
8
0
0
0
0
0
-1
-4
45
-15
0
0
0
0
0
0
0
5
18
0
0
0
0
0
2
0
-14
-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
-21
4
0
0
0
0
0
-1
5
-4
27
0
0
0
0
0
0
0
-7
14
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
1
3
0
0
0
0
0
2
-6
-3
29
0
0
0
0
0
-2
0
8
-21
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
6
17
0
0
0
0
0
0
4
-8
64
0
0
0
0
0
2
-3
20
23
0
0
0
0
0
0
0
-1
-43
0
0
0
0
0
0
1
-1
-20
0
0
0
0
0
0
4
-6
4
0
0
0
0
0
0
0
-2
-26
0
0
0
0
0
0
0
7
-14
0
0
0
0
0
0
0
0
14
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
10
0
0
0
-23
0
-1
29
-48
44
0
0
0
0
0
0
-5
-31
11
0
0
0
1
0
0
-9
-2
-33
0
0
0
0
0
0
6
6
-9
0
0
0
0
0
-2
2
19
-7
0
0
0
0
0
-1
8
-18
33
0
0
0
0
0
0
0
-5
33
0
0
0
0
0
0
4
15
20
0
0
0
0
0
0
-8
-27
-8
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
13
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
9
0
0
0
-1
0
-1
-7
2
-31
0
0
0
0
0
0
1
17
4
0
0
0
0
0
0
-6
-13
-5
0
0
0
0
0
0
-2
-4
-5
0
0
0
0
0
0
-23
-5
-24
0
0
0
0
0
0
-2
-3
1
0
0
0
0
0
0
0
-20
-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
-11
20
0
0
0
0
0
2
2
-2
-30
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
6
14
0
0
0
0
0
0
0
-7
-15
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
20
-8
0
0
0
0
0
0
-18
0
24
0
0
0
0
0
-1
-3
0
-7
0
0
0
0
0
0
-2
11
19
0
0
0
0
0
2
-1
-8
34
0
0
0
0
0
0
-7
-21
19
0
0
0
0
0
0
0
-4
-1
0
0
0
0
-1
1
-3
13
-13
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
-16
3
0
0
0
0
0
0
1
-3
33
0
0
0
0
0
0
0
9
5
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
0
0
5
0
0
0
0
-2
2
0
6
-16
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
-32
0
0
-16
-39
7
5
0
0
0
0
0
2
19
-19
-33
0
0
0
0
0
0
-4
-33
-9
0
0
0
0
0
0
0
2
25
0
0
9
0
0
7
0
-5
5
0
0
0
0
0
0
-3
-9
24
0
0
0
0
0
0
-2
10
36
0
0
0
0
0
0
-1
-2
3
0
0
1
0
0
-6
0
-14
34
0
0
0
0
0
0
-1
19
-14
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
-26
16
0
0
0
0
0
-4
0
0
20
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
0
21
0
0
0
0
0
1
1
-8
31
0
0
0
0
0
0
0
-14
-4
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
2
0
-7
-10
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
-22
0
0
0
0
0
2
-2
-2
5
0
0
0
0
0
0
0
-13
8
0
0
0
0
0
0
0
-10
37
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
6
-5
0
0
0
0
0
0
1
4
-6
0
0
0
0
0
0
0
-13
16
0
0
0
0
0
0
0
1
1
0
0
0
0
0
6
8
-8
25
0
0
0
0
0
8
-1
6
11
0
0
0
0
-1
-1
0
-5
33
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
-9
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
2
-1
10
3
0
0
0
0
0
-1
5
14
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
17
-25
0
0
0
0
0
0
0
-2
13
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
-9
-5
0
0
0
0
0
0
0
-14
-16
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
-16
20
0
0
0
0
0
0
2
4
6
0
0
0
0
0
3
0
-9
-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
-16
0
0
0
0
0
0
3
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
10
0
0
0
2
0
-4
9
-13
-6
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
-13
-13
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
11
-8
-15
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
9
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
-10
-8
0
0
0
0
0
1
0
-2
-3
0
0
0
0
0
1
0
9
10
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
-1
9
0
0
0
0
0
0
0
-13
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
-31
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
0
-2
13
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
5
2
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
-10
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
9
0
0
0
0
0
0
0
1
5
0
0
0
0
1
-8
-21
-29
12
0
0
0
0
-2
-2
3
21
-6
0
0
0
0
0
0
-32
4
-9
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
-5
-8
2
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
11
0
0
0
0
0
-1
10
-16
-5
0
0
0
0
0
0
0
7
10
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
13
-27
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
-19
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-5
-9
33
12
0
0
0
0
0
1
0
17
-18
0
0
0
0
0
-1
1
15
27
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
-6
-3
21
0
0
0
0
0
0
1
-1
5
0
0
0
0
0
-1
0
-20
-14
0
0
0
0
0
0
0
0
6
0
0
0
0
0
3
1
11
-5
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
-1
-8
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
-10
3
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
4
13
-33
17
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
11
0
0
0
0
0
0
-1
3
20
0
0
0
0
0
0
-1
-9
-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
15
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
-11
1
0
0
0
0
0
0
1
1
-9
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
1
-4
8
29
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
-10
-4
0
0
0
0
0
0
0
17
-10
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
20
19
0
0
0
0
0
0
0
4
19
0
0
0
0
0
0
0
3
19
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
8
-9
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
6
6
-23
9
0
0
0
0
0
0
0
-2
21
0
0
0
0
0
0
-7
-9
1
0
0
0
0
0
1
2
-9
7
0
0
0
0
0
0
0
7
24
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
-9
0
0
0
0
0
-1
-2
-5
-4
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
0
0
-1
-14
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
10
0
0
0
1
0
0
2
0
-8
0
0
0
0
0
0
0
-1
15
0
0
0
-2
0
0
0
3
-16
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
-19
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
18
0
0
0
0
0
0
0
0
19
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
-10
0
0
0
0
0
0
0
4
-17
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
3
1
3
0
0
0
0
-3
1
15
-11
14
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
-9
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
1
-31
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
-11
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
-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
-2
-5
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
0
-10
0
0
0
0
-1
0
0
3
-2
0
0
-8
0
0
0
0
-23
14
0
0
0
0
0
0
4
-14
3
0
0
0
0
0
0
0
4
21
0
0
0
0
0
0
0
-1
-1
0
0
1
0
0
0
1
-21
-29
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
-9
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
-1
0
0
-15
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
3
3
5
0
0
0
0
0
3
0
-3
-2
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
18
-11
1
0
0
0
0
0
0
-1
-1
14
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
4
25
-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
-9
0
0
0
0
0
1
-3
-17
57
0
0
0
0
0
0
1
11
-10
0
0
0
0
0
0
0
17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
33
30
0
0
0
0
0
0
0
8
7
0
0
0
0
0
0
0
-2
58
0
0
0
0
0
0
-1
4
0
0
0
0
0
-1
-7
-1
15
-29
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
13
0
0
0
0
0
-1
-2
4
16
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
-10
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
-3
1
0
0
0
0
0
-1
0
-25
5
0
0
0
0
0
-1
0
3
-4
0
0
0
0
0
0
0
2
17
0
0
0
0
0
1
0
3
21
0
0
0
0
0
0
0
-9
-10
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
9
-5
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
18
0
0
0
0
0
1
0
-4
26
0
0
0
0
0
0
0
2
21
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
5
-23
0
0
0
0
0
0
6
1
-24
0
0
0
0
0
-2
1
0
-9
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
-13
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
14
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
20
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
5
19
0
0
0
0
0
0
0
1
17
0
0
0
-3
0
0
0
2
24
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
1
1
23
0
0
0
1
0
0
0
0
44
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
-11
8
-1
32
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
17
0
0
0
0
0
0
2
-1
10
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
17
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
-9
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
11
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
14
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
-1
-16
-5
-2
24
30
-11
-12
11
0
0
0
-10
-2
-5
-24
-23
-26
0
9
1
-3
-8
-32
9
-8
-17
0
0
1
9
14
34
14
-62
-5
15
0
0
16
2
-56
-4
32
-19
0
0
0
7
13
-5
8
1
-59
0
-1
-2
-9
-3
14
10
-8
25
0
0
-1
-3
-3
3
-8
71
25
-4
0
-1
-35
6
-24
-25
-17
0
0
0
0
9
-1
-20
-14
-43
0
0
0
0
0
22
-89
16
-45
0
0
0
0
0
1
-9
13
-17
0
24
0
0
-8
16
-28
5
-13
0
0
0
-2
1
5
-15
4
4
0
0
-1
0
-1
6
9
-20
-12
0
0
0
0
1
-3
0
1
-4
0
-14
0
-1
-5
33
-101
96
0
0
0
0
2
-13
11
-15
-5
0
0
0
-2
0
7
6
-2
-4
0
0
0
0
0
0
-6
-4
19
0
0
0
0
0
6
-45
8
-11
0
0
0
0
0
0
4
-2
17
0
0
0
2
0
0
29
-19
-25
0
0
0
0
3
0
1
6
-27
0
0
0
0
0
-1
-10
-23
23
0
0
0
0
-1
0
6
-5
-9
0
0
0
-1
0
0
-18
5
31
0
0
0
0
0
-1
13
-8
4
0
0
0
0
0
-1
7
4
26
0
0
0
0
0
0
2
10
-8
0
0
0
0
0
0
0
2
11
0
0
0
0
0
-1
-1
-1
4
0
0
0
0
-18
38
-29
-18
29
14
29
0
0
6
8
-16
-42
71
-15
2
0
0
0
-11
3
22
-5
-15
9
0
0
2
2
24
-23
3
-12
71
0
0
0
-5
3
-36
11
-17
22
0
0
1
-7
-18
-8
-9
-55
6
0
0
0
3
13
11
-3
59
-4
0
0
-13
6
9
-17
-6
89
5
0
0
-1
-6
-10
1
35
20
0
0
0
-3
-4
8
10
-52
-6
0
0
0
0
0
5
-4
15
-29
0
0
0
-3
-5
11
6
1
15
0
0
0
0
0
1
5
18
-38
0
0
0
0
1
-1
-3
3
-7
0
0
0
0
0
-3
-8
43
16
0
0
0
-1
1
-1
4
0
16
0
0
0
0
-35
-3
-32
2
0
0
0
0
0
9
-33
38
-68
0
0
0
0
0
-1
-5
5
24
0
0
0
0
1
2
-7
16
18
0
0
0
0
0
-4
14
-10
-52
0
0
0
0
0
1
-3
-5
-5
0
0
0
0
0
0
2
-15
-5
0
0
0
0
0
0
-8
13
9
0
0
0
0
0
1
-2
-21
0
0
0
0
0
0
0
4
-1
5
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
0
-11
15
0
0
0
0
0
0
6
9
5
0
0
0
0
0
0
-1
3
-26
0
0
0
0
0
1
0
0
31
0
0
0
0
0
0
0
7
6
0
0
0
-5
1
-18
26
-18
-7
11
19
0
0
-1
6
5
14
53
10
48
0
-15
0
3
-22
1
-18
-14
-8
0
0
-3
-9
-14
20
25
45
-1
0
-2
0
1
3
-14
5
-56
-59
0
0
0
-7
-9
-4
8
45
20
0
-5
0
-3
-5
-17
8
31
18
0
0
0
5
-9
7
-2
-28
20
0
-1
0
0
8
-22
32
-12
0
0
0
0
1
-3
14
4
14
0
0
-4
0
-2
1
-3
3
-11
0
0
0
0
0
-7
5
23
19
0
0
0
0
1
-2
-17
-4
-26
0
0
0
0
1
-2
1
-6
13
0
0
5
0
0
-4
7
14
14
0
0
0
0
0
0
2
0
-9
0
0
-3
-2
-2
8
-5
-18
0
0
0
0
0
-1
-13
8
3
0
0
0
0
0
0
13
-18
7
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
-2
-24
4
0
0
0
0
0
0
-18
-17
24
0
0
0
-1
0
0
-1
11
26
0
0
0
0
0
1
11
-9
-5
0
0
0
0
0
0
-2
5
-22
0
0
0
0
0
0
-3
13
-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
10
-14
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
9
0
0
0
0
-36
-5
28
1
4
-5
8
0
0
5
-14
35
3
4
20
-5
0
0
-4
-4
34
-5
6
-2
33
0
0
-9
-4
-3
35
2
0
-12
0
0
-1
-5
0
-3
17
-36
53
0
0
2
-2
14
-9
6
59
-33
0
0
0
-2
2
-1
-7
4
33
0
0
5
-6
20
13
-11
-1
4
0
0
-1
-9
-8
22
-8
-21
0
0
0
2
5
5
-11
7
19
0
0
0
-2
2
-1
5
9
-8
0
0
0
17
-6
-14
0
1
-17
0
0
0
0
2
0
-21
19
-16
0
0
0
0
0
3
-3
6
15
0
0
0
0
0
3
1
-1
1
0
0
0
-3
4
0
3
-2
-27
0
0
0
0
5
7
-45
26
0
0
0
0
-1
20
-7
-32
9
0
0
0
0
1
0
24
-37
15
0
0
0
0
-1
-6
4
36
6
0
0
0
0
0
1
-1
-2
8
0
0
0
0
0
0
-11
-23
8
0
0
0
0
0
3
8
5
-2
0
0
0
0
-1
0
-9
-3
1
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
1
0
13
0
0
0
0
0
0
-3
21
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
-4
18
-4
5
66
1
-2
-9
0
0
0
-1
-7
-12
7
-30
-28
0
0
-4
0
5
10
-10
32
4
0
0
0
0
5
-19
-14
8
-28
0
-3
0
0
-45
11
-15
6
-25
0
0
0
0
8
0
9
-12
-44
0
0
0
0
0
-71
32
29
30
0
0
0
0
2
-10
-13
-13
9
0
3
0
0
33
-8
17
9
-36
0
0
0
2
11
-8
3
8
1
0
0
0
0
2
-17
3
8
-31
0
0
0
-1
0
-6
2
-17
-27
0
-3
0
0
6
-16
-5
-38
71
0
0
0
0
6
2
1
10
50
0
0
1
0
0
-7
7
2
-21
0
0
0
1
0
3
-4
-4
33
0
1
-1
0
-41
5
11
43
0
0
0
0
-1
-14
35
-15
-62
0
0
0
0
0
-6
-5
7
-13
0
0
0
0
0
0
-3
-11
29
0
0
10
0
0
-5
-20
18
30
0
0
0
0
0
3
14
-13
6
0
0
0
0
0
-2
4
-19
16
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-5
-22
22
-10
0
0
0
0
0
-1
4
15
-7
0
0
0
0
0
0
-3
-7
29
0
0
0
0
0
0
0
18
2
0
0
-1
0
0
6
-10
-2
15
0
0
0
0
0
1
-3
-19
25
0
0
0
0
0
0
8
-2
32
0
0
0
0
0
0
6
4
4
0
0
0
0
-21
3
-1
-62
1
24
0
0
0
6
-36
11
-14
6
-47
0
0
0
1
-3
-27
-14
43
26
0
0
0
-2
-6
15
10
-5
-54
0
0
0
0
3
13
15
-53
27
0
0
0
-1
6
-14
-17
-19
-17
0
0
0
0
-1
-1
-2
10
8
0
0
0
0
-6
10
-1
-1
-23
0
0
0
-1
-11
-14
3
-10
43
0
0
0
5
1
-3
-1
9
-96
0
0
0
0
0
9
-11
-5
-53
0
0
0
0
1
3
-1
-14
46
0
0
0
0
1
-6
-2
-43
45
0
0
0
2
1
-3
-15
5
22
0
0
0
0
0
3
-1
-13
18
0
0
0
0
0
-1
1
-10
31
0
0
0
0
-2
-1
30
4
0
0
0
0
-1
-2
-6
-11
0
0
0
0
0
0
0
-6
0
13
0
0
0
0
0
0
-10
-9
9
0
0
0
0
0
-2
13
5
9
0
0
0
0
0
-1
0
-5
-41
0
0
0
0
0
-1
1
-15
-3
0
0
0
0
0
3
0
-4
-11
0
0
0
0
0
-2
-8
49
15
0
0
0
0
0
1
-4
-33
7
0
0
0
0
0
-1
-3
-6
6
0
0
0
0
0
3
2
6
-11
0
0
0
0
0
0
2
4
26
0
0
0
0
1
1
0
7
0
0
0
0
0
0
0
-1
3
-1
0
0
0
0
-1
-2
2
-2
6
0
0
0
4
-11
-3
-26
-4
67
-42
0
0
0
-4
-1
22
16
3
-20
0
0
11
0
-3
18
-2
0
10
0
0
0
2
-1
-14
-6
23
18
0
0
0
0
-15
5
13
18
-53
0
0
0
0
-2
-3
-8
-5
51
0
0
7
0
-1
-9
-5
15
-34
0
0
0
0
-1
-5
0
6
3
0
0
0
1
5
5
-18
-8
-32
0
0
0
0
0
0
-1
-5
69
0
0
0
0
0
6
-7
-3
26
0
0
0
3
0
1
0
41
3
0
0
0
0
1
-9
2
4
-55
0
0
0
0
0
0
0
6
-52
0
0
6
0
2
2
-1
4
-51
0
0
0
0
0
-11
0
7
38
0
0
1
-1
9
-41
20
-45
0
0
0
0
0
0
-3
-1
20
0
0
0
0
0
0
8
10
7
0
0
0
0
0
0
-7
0
9
0
0
0
0
0
2
-10
-9
14
0
0
0
0
0
8
-5
-4
7
0
0
0
9
0
-1
9
-2
14
0
0
0
0
-1
0
11
1
-1
0
0
0
0
0
1
-18
-1
-4
0
0
0
0
0
0
0
-4
25
0
0
0
2
0
2
-2
-20
19
0
0
0
0
0
0
0
5
-10
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
-4
0
0
0
0
-10
-10
-14
-6
34
60
0
0
0
-4
0
-2
5
11
-43
0
0
0
0
5
17
-3
5
-33
0
0
0
16
2
22
-3
14
3
0
0
0
0
3
-9
-3
-5
-14
0
0
0
-3
-3
9
0
10
-43
0
0
0
0
0
10
-13
-1
8
0
0
0
14
5
5
-5
4
-25
0
0
0
0
-1
13
-9
3
4
0
0
0
1
1
0
-8
5
-8
0
0
0
2
-1
11
-16
4
-37
0
0
0
0
0
-5
-2
4
41
0
0
0
0
0
-6
0
5
8
0
0
0
2
-2
-2
-1
19
-35
0
0
0
0
0
-1
-1
-14
-7
0
0
0
1
-4
6
1
2
25
0
0
0
0
2
25
-5
8
0
0
0
0
-3
4
-1
-2
7
0
0
0
0
0
0
8
0
1
0
0
0
0
0
-3
2
2
24
0
0
0
0
0
-3
7
-3
6
0
0
0
0
0
1
-5
-1
29
0
0
0
0
0
0
1
8
-4
0
0
0
0
0
1
2
11
-4
0
0
0
0
0
0
-3
-21
-44
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
18
0
0
0
0
0
2
0
-1
-1
0
0
0
0
0
1
-4
-1
-5
0
0
0
0
-2
-4
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-15
-21
10
-15
0
0
0
0
0
11
-43
-44
42
0
0
0
-3
0
-2
2
9
15
0
0
0
0
2
-3
-6
27
16
0
0
-14
0
0
-6
-38
-22
30
0
0
0
0
0
0
-1
5
0
0
0
0
2
0
0
1
1
11
0
0
0
0
0
2
4
-25
5
0
0
0
0
0
1
7
-1
-43
0
0
0
0
0
-3
14
7
-8
0
0
0
0
0
0
-14
-5
-33
0
0
0
0
0
0
3
3
-3
0
0
7
0
0
0
-5
-8
-9
0
0
0
0
0
0
-4
-2
-3
0
0
0
-2
0
0
-1
1
23
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
-2
5
-44
55
0
0
0
0
0
0
-10
5
-10
0
0
0
0
0
0
-4
-23
-14
0
0
0
0
0
0
-1
-10
0
0
0
3
0
0
2
0
-19
5
0
0
0
0
0
0
-1
-6
1
0
0
0
0
0
-1
0
-8
15
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
1
16
-5
1
0
0
0
0
0
0
1
10
13
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
5
4
37
0
0
0
0
0
0
-1
-5
-2
0
0
0
2
0
-3
1
-10
29
0
0
0
0
0
-1
0
-8
7
0
0
0
0
5
14
-30
9
-13
0
0
0
0
4
-3
-14
-33
-33
0
0
0
0
0
0
6
-1
17
0
0
0
0
-1
10
10
6
40
0
0
0
0
1
4
-25
10
-7
0
0
0
0
0
0
-8
-8
10
0
0
0
0
0
0
-2
10
43
0
0
0
0
0
6
6
-13
3
0
0
0
0
1
3
-7
-26
11
0
0
0
0
-1
-4
-1
-1
-6
0
0
0
0
0
-2
2
20
-5
0
0
0
0
-1
0
-3
2
10
0
0
0
0
1
-1
1
-3
-4
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
0
6
-9
6
0
0
0
0
-1
0
3
-4
-2
0
0
0
0
0
1
-7
0
28
0
0
0
0
1
0
0
-24
9
0
0
0
0
0
0
-2
-51
18
0
0
0
0
0
1
1
-3
15
0
0
0
0
0
1
-4
-27
27
0
0
0
0
0
0
-1
-2
-29
0
0
0
0
0
1
1
14
-13
0
0
0
0
0
-2
-6
8
15
0
0
0
0
0
-3
2
19
10
0
0
0
0
0
0
-2
-1
-34
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
1
-15
-41
0
0
0
0
-1
0
0
31
3
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
0
16
0
0
0
2
1
-23
-3
0
7
0
0
0
0
-1
0
9
-11
21
0
0
0
-3
0
-6
-5
21
15
0
0
0
0
0
2
5
-51
16
0
0
0
0
0
0
-23
-33
-7
0
0
0
0
0
0
0
-16
-13
0
0
0
0
0
0
2
0
-14
0
0
0
0
1
0
7
2
24
0
0
0
0
0
0
5
-25
14
0
0
0
0
0
1
-1
-4
21
0
0
0
-4
0
0
1
8
11
0
0
0
0
0
-1
-1
3
-7
0
0
0
0
0
0
-4
-8
-4
0
0
0
0
0
0
0
0
9
0
0
0
13
0
0
-1
-4
-7
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
-3
-5
-1
-15
0
0
0
0
0
-3
3
-5
-4
0
0
0
-2
0
1
-1
-5
-22
0
0
0
0
0
0
0
-14
20
0
0
0
0
0
0
0
-8
25
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
5
-11
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
-4
-32
-14
0
0
0
0
0
0
0
9
8
0
0
0
1
0
0
1
1
-27
0
0
0
0
0
0
-1
-9
-2
0
0
0
0
0
0
0
-5
-14
0
0
0
0
0
0
0
-3
5
0
0
0
4
0
3
0
0
15
0
0
0
0
0
0
0
2
0
0
0
0
0
0
24
-34
4
36
0
0
0
0
0
-1
17
-1
15
0
0
0
0
1
-2
-45
8
-5
0
0
0
0
4
-4
-4
-6
25
0
0
0
0
0
0
7
-4
-14
0
0
0
0
1
2
8
-13
-6
0
0
0
0
0
-3
-1
20
16
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
11
-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
15
0
0
0
0
1
-2
-1
1
0
0
0
0
0
1
-1
-1
-2
-13
0
0
0
0
1
0
0
0
27
0
0
0
0
0
0
-3
3
-14
0
0
0
0
0
-1
-4
21
1
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
-21
2
0
0
0
0
0
-1
0
10
10
0
0
0
0
0
0
2
-3
9
0
0
0
0
0
2
0
-3
10
0
0
0
0
-3
0
0
3
-21
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
-4
-6
-18
-13
23
20
32
0
0
0
0
-3
-3
10
-26
1
0
0
0
4
0
0
-6
-37
5
0
0
0
0
-1
2
2
9
-7
0
0
-18
0
0
4
-5
8
-2
0
0
0
0
0
-1
-4
-10
14
0
0
0
0
0
0
0
-7
26
0
0
0
0
0
-1
1
-6
7
0
0
-1
0
1
-1
3
6
71
0
0
0
0
1
1
-7
9
-6
0
0
0
2
0
0
0
8
14
0
0
0
0
0
0
1
-10
-2
0
0
3
0
0
0
-20
21
7
0
0
0
0
0
0
-1
2
-22
0
0
0
0
0
0
0
-2
-34
0
0
0
0
0
2
-1
0
33
0
0
4
0
0
4
1
23
-43
0
0
0
0
-1
-3
-8
20
49
0
0
0
0
0
0
-1
-14
4
0
0
0
0
0
0
0
-2
-2
0
0
-7
0
0
3
-15
-33
37
0
0
0
0
4
0
8
5
-6
0
0
0
0
0
0
2
-4
16
0
0
0
0
0
-1
4
3
5
0
0
0
0
0
13
-4
-23
33
0
0
0
0
1
0
-2
16
5
0
0
0
0
0
3
0
-23
-30
0
0
0
0
0
0
3
0
-11
0
0
-4
0
0
0
15
36
33
0
0
0
0
0
-1
6
0
9
0
0
0
0
0
-2
-10
7
-17
0
0
0
0
0
0
1
-9
11
0
0
0
0
5
19
-8
-37
3
0
0
0
0
-1
-15
5
29
-6
0
0
0
0
0
-1
-3
8
-14
0
0
0
0
-2
1
9
-7
32
0
0
0
0
-1
-4
0
9
4
0
0
0
0
0
-2
0
2
-3
0
0
0
0
0
0
4
-6
14
0
0
0
0
0
0
-2
-9
-5
0
0
0
0
0
-5
-1
24
-18
0
0
0
0
0
0
3
-7
2
0
0
0
0
0
0
-8
-9
3
0
0
0
0
0
0
-2
-4
22
0
0
0
0
0
6
1
17
4
0
0
0
0
2
2
0
-13
5
0
0
0
0
-1
0
-2
-3
-5
0
0
0
0
0
0
0
3
-22
0
0
0
0
-1
-1
-18
-37
11
0
0
0
0
0
-1
0
-35
27
0
0
0
0
0
0
2
-10
-33
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
-1
0
-11
43
0
0
0
0
0
1
0
-5
-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
10
-30
0
0
0
0
0
1
1
-5
43
0
0
0
0
0
0
1
-1
-5
0
0
0
0
0
1
2
-4
-34
0
0
0
0
0
1
2
-10
23
0
0
0
0
0
-2
0
8
26
0
0
0
0
0
-1
-3
-5
-2
0
0
0
0
0
0
0
23
-1
0
0
0
-4
-5
-1
34
-2
-45
0
0
0
0
1
-2
-3
-10
16
0
0
0
25
0
0
-19
-17
-5
0
0
0
0
0
0
5
0
-5
0
0
0
0
0
1
7
-10
0
0
0
0
0
0
0
-14
-13
25
0
0
0
-11
0
0
-3
6
-17
0
0
0
0
0
0
0
0
2
0
0
0
0
2
1
9
11
5
0
0
0
0
0
-2
1
-11
-20
0
0
0
-8
0
1
-4
-9
-8
0
0
0
0
0
2
5
0
4
0
0
0
0
0
0
8
5
-7
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
-11
-16
-10
0
0
0
0
0
0
5
2
39
0
0
0
-5
0
-1
-23
-11
14
0
0
0
0
0
0
3
-17
-16
0
0
0
0
0
0
-4
7
4
0
0
0
0
0
0
-1
14
29
0
0
0
7
0
-1
0
-21
0
0
0
0
0
0
0
2
0
-7
0
0
0
0
0
-1
1
-6
35
0
0
0
0
0
0
1
2
0
0
0
0
-1
0
0
3
-14
-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
30
0
0
0
5
0
0
0
-5
39
0
0
0
0
0
-1
0
-6
5
0
0
0
0
-5
-10
-30
-14
2
0
0
0
0
-9
-1
-1
3
-15
0
0
0
0
1
1
17
-39
34
0
0
0
0
5
0
8
2
23
0
0
0
0
0
-2
1
9
9
0
0
0
0
0
1
-1
2
4
0
0
0
0
0
0
0
-15
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
-9
0
0
0
0
1
0
0
3
25
0
0
0
0
-1
0
-6
-1
-11
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
14
0
0
0
0
-1
0
0
1
6
0
0
0
0
-2
-3
8
5
25
0
0
0
0
-2
0
0
43
12
0
0
0
0
0
0
-4
-3
4
0
0
0
0
0
0
-4
-13
-16
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
9
0
0
0
0
0
3
2
-4
-2
0
0
0
0
0
0
2
-10
6
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
-1
-9
-22
0
0
0
0
0
0
2
-5
9
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
13
32
-21
-1
-13
-33
0
0
14
-12
-17
9
-61
-7
24
0
17
-3
-6
-11
14
-67
8
33
0
0
-16
5
23
-36
19
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
8
5
-3
44
5
-30
-17
32
0
0
0
9
4
-28
-26
23
21
0
0
-4
-34
-18
-15
25
34
-34
0
0
0
15
-31
36
-17
25
-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
5
-15
3
-12
-5
-21
39
0
0
0
0
-7
8
-10
-12
20
0
0
0
-11
4
1
0
-8
-5
0
0
0
0
3
-3
-44
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
-5
-5
5
2
-60
11
33
0
0
0
0
4
-18
0
-18
3
0
0
0
0
9
18
-5
-74
-19
0
0
0
0
-1
-21
5
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
14
24
6
5
-45
3
-21
0
0
-4
-1
-7
-12
-15
28
46
0
0
-2
-11
8
-23
31
59
58
0
0
-6
9
4
5
-19
-29
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
35
11
-15
47
-38
0
0
0
18
-6
-2
5
14
-33
0
0
0
0
0
17
-15
-15
33
0
0
0
-4
10
5
-16
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
1
-29
-4
0
0
0
0
2
-9
2
-49
-13
0
0
0
0
1
0
-5
13
-3
0
0
0
0
1
-5
-4
-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
-2
-27
45
0
0
0
0
0
0
0
15
-5
0
0
0
0
0
0
3
-6
-14
0
0
0
0
-6
0
-2
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
5
2
-26
-6
14
-33
-61
58
0
0
-9
8
8
13
33
8
-17
0
-11
-2
1
-5
-69
6
48
-4
0
0
-1
-1
20
-14
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
-6
-13
-6
-17
18
0
0
0
2
-2
5
-4
-1
22
0
0
-3
0
2
-5
1
33
-80
0
0
0
1
-1
-2
-3
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
4
0
1
-2
-14
47
0
0
0
0
0
0
-10
20
-19
0
0
0
-7
0
0
27
-43
7
0
0
0
0
1
0
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
-1
10
-14
-11
0
0
0
0
0
0
2
-4
15
0
0
0
1
0
0
-1
-16
14
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
-14
45
9
43
0
4
0
0
-14
-14
14
-9
52
-24
33
0
0
1
-2
-10
16
-13
-11
9
0
0
11
-5
-16
-25
-17
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
-1
-8
23
-18
0
0
0
0
-3
25
5
-13
26
0
0
0
0
0
-15
10
9
-15
0
0
0
-6
5
-7
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
-3
-5
-5
3
0
0
0
0
1
-5
1
17
16
0
0
0
0
1
0
0
17
-20
0
0
0
0
-8
1
-6
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
1
-1
9
8
0
0
0
0
0
1
0
-25
9
0
0
0
0
0
0
2
10
-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
-14
-8
-18
-4
-17
22
0
0
-2
2
21
19
-98
-30
22
0
2
0
-3
-16
6
36
1
-51
0
0
0
0
9
3
6
-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
-14
0
0
-13
-2
25
-6
52
0
0
0
0
3
-10
-11
6
-35
0
0
1
0
1
14
9
33
10
0
0
0
0
0
2
-1
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
-10
0
0
0
1
-29
-37
0
0
0
0
0
3
-1
22
-21
0
0
0
0
0
-5
2
-5
1
0
0
0
0
0
0
-14
-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
-2
0
0
-5
19
-29
47
0
0
0
0
0
-2
3
-3
9
0
0
0
-1
0
0
4
0
-20
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
11
15
-43
-26
-100
53
0
0
0
14
-7
15
2
-23
30
0
0
0
1
6
7
5
-71
57
0
0
0
-5
15
-29
7
45
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
4
0
0
0
-1
-15
-2
-8
-25
-17
0
0
0
0
-1
0
4
23
20
0
0
0
0
-9
-1
4
15
-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
-10
-21
-24
0
0
0
0
2
-4
-5
-10
-16
0
0
0
0
0
-1
-10
-32
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
-10
-16
0
0
0
0
0
0
-1
-7
14
0
0
0
0
0
0
-1
-5
7
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
5
0
6
3
9
4
3
2
0
0
0
0
3
-43
11
60
17
0
-21
0
5
-3
6
25
11
-56
0
0
0
5
19
-6
-6
-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
1
-9
15
-15
14
0
0
0
0
0
-7
10
-8
-21
0
0
2
0
-3
21
1
-5
-20
0
0
0
0
0
0
-5
-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
2
0
0
10
8
-20
0
0
0
0
0
-2
4
6
1
0
0
0
-5
0
0
-4
13
17
0
0
0
0
0
-2
3
-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
1
0
0
-8
-23
6
0
0
0
0
0
0
0
-4
6
0
0
0
8
0
-1
1
11
-10
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
-3
3
3
62
-53
0
0
0
1
-4
0
14
-31
27
0
0
0
-1
6
1
-1
34
34
0
0
-14
-5
7
-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
7
-1
-8
-4
2
0
0
0
2
0
-5
6
-1
18
0
0
0
-1
0
-8
-4
2
-13
0
0
0
1
-4
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
13
5
0
0
0
0
-1
5
-3
-1
7
0
0
0
0
0
2
11
-31
2
0
0
0
0
0
5
5
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
-2
1
-7
-13
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
7
0
0
-14
-15
-31
48
56
0
0
0
-1
-4
30
-33
7
-33
0
0
0
0
0
1
-2
35
-77
0
0
0
0
18
-11
7
15
-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
-1
0
0
5
4
-10
30
-1
0
0
0
1
-4
-4
-26
-15
60
0
0
0
0
3
-11
14
-3
-15
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
29
15
-24
0
0
0
0
3
1
-1
-21
-32
0
0
0
0
0
0
-1
8
-1
0
0
0
0
0
0
0
-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
-6
-10
10
25
0
0
0
0
-1
1
1
5
16
0
0
0
0
0
-2
-6
-17
29
0
0
0
0
0
0
1
-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
2
14
-14
15
-23
0
0
0
-2
3
-8
-32
27
-26
0
0
0
1
0
-1
-11
5
-4
0
0
0
0
0
3
0
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
0
0
0
-18
13
17
-19
0
0
0
0
3
4
-10
-19
-8
0
0
0
0
-2
3
10
-3
47
0
0
0
2
4
1
0
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
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-33
-37
0
0
0
0
-1
0
0
-6
9
0
0
0
0
0
0
1
10
-15
0
0
0
0
-1
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
-2
2
0
5
-20
0
0
0
0
0
0
0
15
-14
0
0
0
0
0
0
2
-2
25
0
0
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
-6
-16
4
53
-48
0
0
0
0
2
-21
15
54
7
0
0
5
0
3
16
7
-33
-31
0
0
0
0
-2
10
4
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
-13
-1
23
-35
0
0
0
0
0
-4
6
8
33
0
0
1
0
0
-14
-2
-20
-56
0
0
0
0
0
3
-1
-26
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
-8
-26
16
0
0
0
0
0
0
-3
-1
29
0
0
0
0
0
1
-5
-9
-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
0
0
0
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
-3
48
0
0
0
0
0
-1
-5
10
2
0
0
0
-2
0
0
1
-2
3
0
0
0
0
0
0
-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
6
-24
9
20
0
0
0
-1
0
-10
7
6
-17
0
0
0
1
0
11
-9
5
0
0
0
0
1
-5
13
18
-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
10
-12
-5
0
0
0
-2
0
10
1
17
25
0
0
0
0
0
14
1
-23
4
0
0
0
3
-2
-11
6
-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
10
-14
0
0
0
0
2
0
-11
3
-11
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
-10
21
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
4
-6
36
0
0
0
0
-4
-6
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
46
0
0
4
17
-44
68
-37
0
0
0
0
-1
-9
-16
28
54
0
0
0
0
0
-6
10
22
10
0
0
0
0
0
9
-2
-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
2
0
0
-2
-18
19
-8
-5
0
0
0
1
5
19
2
9
-43
0
0
-2
0
-1
-2
6
17
2
0
0
0
0
1
-1
-1
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
-3
1
0
-7
-1
-4
48
0
0
0
0
0
4
9
2
-9
0
0
0
0
0
0
-1
-5
43
0
0
0
0
0
0
-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
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
-5
0
0
0
-1
0
0
8
4
-43
0
0
0
0
0
-1
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
-6
1
-18
24
7
0
0
0
0
3
-4
-31
5
74
0
0
0
0
0
0
2
9
36
0
0
0
0
-2
5
-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
1
2
6
1
17
-9
0
0
0
-2
0
-7
-18
-46
23
0
0
0
0
0
-1
0
17
7
0
0
0
0
6
2
0
-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
-4
3
-7
23
0
0
0
0
1
1
-1
-14
35
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
4
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
10
0
0
0
0
0
2
19
26
10
0
0
-8
0
0
-3
1
-4
-10
0
0
0
0
0
0
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
2
0
0
-9
-2
-14
-18
0
0
0
0
-1
-1
0
21
49
0
0
13
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
-15
22
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
-14
0
0
0
0
0
0
0
0
25
0
0
0
-4
0
0
0
1
-1
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
0
0
0
0
0
0
0
0
0
0
2
-1
-20
26
-50
0
0
0
0
-5
-2
3
-18
23
0
0
0
0
-1
-3
-7
3
-14
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
11
-38
0
0
0
0
-2
-2
0
24
-39
0
0
0
0
6
-4
0
9
12
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
36
0
0
0
0
0
3
-2
7
-2
0
0
0
0
0
1
0
0
-13
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
-12
10
-33
-9
0
0
0
0
0
5
-9
-11
25
0
0
0
1
-1
-9
-26
-10
26
0
0
0
0
0
3
-10
-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
-5
-16
-44
32
0
0
0
0
-1
4
10
-18
-7
0
0
0
0
0
1
-7
1
-7
0
0
0
0
0
1
-11
-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
-1
1
0
-2
-4
26
-22
0
0
0
0
0
-2
-19
16
2
0
0
0
0
0
-1
0
-10
5
0
0
0
0
0
-1
-6
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
3
5
43
-13
0
0
0
0
1
-18
11
-5
-5
0
0
0
0
0
1
15
-23
11
0
0
0
0
1
1
-7
-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
4
-2
19
24
0
0
0
0
0
1
2
-16
-57
0
0
0
0
0
-5
5
9
7
0
0
0
0
-1
5
1
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
-4
11
8
-14
0
0
0
0
0
0
-8
-15
6
0
0
0
0
0
0
5
9
27
0
0
0
0
0
1
4
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
-8
-4
-2
0
0
0
0
0
0
1
2
-21
0
0
0
0
0
0
1
-14
24
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
0
0
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
27
-13
0
0
0
0
0
1
-2
-2
6
0
0
0
0
0
0
-1
6
31
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-9
-43
-17
0
0
0
0
0
0
0
-7
36
0
0
0
0
0
0
-4
-11
18
0
0
0
0
0
1
-2
-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
21
3
-39
0
0
0
0
0
0
6
2
-19
0
0
0
0
0
-1
-2
5
20
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
-18
22
58
0
0
0
0
0
0
1
-11
-14
0
0
0
0
0
0
0
-4
-9
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-27
-4
0
0
0
0
0
0
1
24
9
0
0
0
-2
0
0
-6
5
-5
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
-1
-4
-3
7
0
0
0
0
0
0
4
7
-11
-14
0
0
0
0
0
1
1
-2
31
0
0
0
0
0
-4
1
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
-6
5
23
0
0
0
0
0
-2
0
-15
-7
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
17
0
0
0
0
0
2
-10
-16
14
0
0
0
0
0
0
2
-18
27
0
0
0
0
0
0
5
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
5
4
13
0
0
0
0
0
0
1
-5
-5
0
0
0
0
0
0
3
0
18
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
0
0
0
0
0
0
0
0
-6
0
0
0
10
19
-54
0
0
0
0
0
-1
22
-14
-18
0
0
0
0
0
0
-9
14
-9
0
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
6
0
0
2
-4
36
2
0
0
0
0
0
0
27
-24
-2
0
0
0
0
0
4
-19
-20
20
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
43
0
0
0
0
0
0
-2
-21
6
0
0
0
2
0
-2
3
10
-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
2
0
0
0
1
23
-20
0
0
0
0
-2
0
1
-2
-3
0
0
0
-1
0
1
0
2
-20
0
0
0
0
0
0
-1
-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
-2
15
11
2
0
0
0
0
-4
3
-8
-20
1
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
-4
0
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
-11
-5
-11
-26
0
0
0
0
0
1
3
-32
-16
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
-21
-2
0
0
0
0
0
1
0
-36
33
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
-36
16
0
0
0
0
0
0
2
-11
-6
0
0
0
0
0
2
2
-2
0
0
0
0
0
-1
0
1
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
-1
0
-1
-2
-7
-22
0
0
0
0
0
-2
-3
21
19
0
0
0
19
0
0
-1
27
18
0
0
0
0
0
1
1
-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
-2
-1
-15
33
0
0
0
0
0
0
5
-7
1
0
0
0
-1
0
1
-2
-18
15
0
0
0
0
0
0
4
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
-1
-14
-5
0
0
0
0
0
0
0
-24
4
0
0
0
1
0
0
0
-17
9
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
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
9
-6
0
0
0
1
0
0
3
-25
32
0
0
0
0
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
14
3
4
0
0
0
0
0
3
6
13
2
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
-2
4
11
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
-11
6
0
0
0
0
0
-3
0
14
-3
0
0
0
0
0
0
-4
3
9
0
0
0
0
7
11
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
-13
17
0
0
0
0
0
0
0
-2
6
0
0
0
0
1
3
-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
1
-7
-6
0
0
0
0
0
1
0
-8
-11
0
0
0
0
0
2
-5
4
8
0
0
0
0
-2
0
5
-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
-1
0
0
5
-5
-22
4
0
0
0
0
0
-8
-18
17
10
0
0
0
0
0
0
-3
3
14
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
9
5
37
0
0
0
0
-1
-5
-7
7
-5
0
0
0
0
0
2
1
-17
-4
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
-16
3
15
-15
0
0
0
0
0
0
-9
29
14
0
0
0
0
0
0
0
-8
6
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
-9
15
-9
26
0
0
0
0
0
-5
2
14
-23
0
0
0
0
0
0
1
-1
-7
0
0
0
0
0
1
1
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
2
-2
3
17
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
0
0
0
0
-3
6
-17
0
0
0
0
0
0
0
-4
8
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
-17
5
0
0
0
0
0
0
0
-17
5
0
0
0
0
0
0
0
-17
14
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
-25
-17
0
0
0
0
0
0
2
19
-53
0
0
0
0
0
0
-2
-11
22
0
0
0
0
0
-1
0
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
9
-10
-9
0
0
0
0
0
0
0
4
-14
0
0
0
0
0
-2
1
-26
-6
0
0
0
0
0
0
-3
-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
-3
2
-15
4
0
0
0
0
0
0
3
13
-37
0
0
0
0
0
0
3
-23
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
15
-17
0
0
0
0
-1
-2
0
10
25
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
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
3
-5
-4
0
0
0
0
-1
0
0
-6
6
0
0
0
-1
0
0
-8
5
9
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
-9
-16
0
0
0
0
0
-1
4
13
19
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
-9
1
-26
-2
0
0
0
0
0
0
4
0
10
0
0
0
0
5
-1
4
-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
6
-3
14
0
0
0
0
0
-1
-2
32
7
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
-16
-10
0
0
0
0
0
3
1
-27
-5
0
0
0
0
0
0
-10
0
11
0
0
0
0
7
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
-3
0
0
2
7
-6
-15
0
0
0
0
0
0
3
13
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
-9
0
37
21
0
0
0
0
0
5
2
0
21
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
-5
21
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
10
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
3
0
0
0
2
16
17
0
0
0
0
1
-2
-1
-2
4
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
-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
-1
-1
7
8
0
0
0
0
0
0
-3
6
15
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
-11
18
20
0
0
0
0
0
0
2
22
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
-11
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
27
0
0
0
0
0
0
-1
-10
5
0
0
0
0
0
0
0
13
-2
0
0
0
0
0
-1
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
-1
2
0
13
0
0
0
0
0
0
0
-1
10
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
-26
0
0
0
0
0
1
6
0
6
0
0
0
5
0
-1
0
5
-18
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
9
2
0
0
0
0
0
0
0
-2
34
0
0
0
-3
0
0
0
-11
-7
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
-1
0
0
4
-9
33
0
0
0
0
0
0
0
-5
0
0
0
0
6
0
0
0
-19
19
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
-14
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
-21
0
0
0
0
2
0
1
8
-5
0
0
0
0
-14
-2
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
0
0
3
1
-6
0
0
0
0
0
1
0
-13
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
20
0
0
0
0
-1
0
3
9
-6
0
0
0
0
3
3
2
-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
32
4
35
20
-15
12
0
15
6
0
0
-27
34
19
-23
13
53
-20
0
-2
-1
-1
-1
18
40
-39
14
0
0
11
-3
-15
23
-13
-16
28
-8
4
0
4
1
19
-35
-31
-7
0
0
1
-15
-17
-16
-32
-27
75
0
14
-5
-14
-4
-24
12
-6
-29
0
0
-20
-23
9
-19
7
55
9
11
0
0
-25
-10
14
8
-9
0
0
0
-9
-4
11
-18
22
15
0
0
6
0
5
-14
11
48
-23
0
0
0
1
3
-6
-15
-10
69
0
1
3
1
17
17
-31
20
-41
0
0
0
0
-5
6
-21
14
14
0
0
-2
-15
-11
16
-8
8
5
0
0
0
9
-9
-3
-14
26
-1
0
-18
6
-1
-53
28
-33
40
0
0
0
0
1
-1
-20
18
22
0
0
0
-4
0
4
-11
5
-16
0
0
0
0
1
-5
8
5
10
0
0
8
-3
0
-8
-16
-5
-50
0
0
0
0
0
-2
19
-38
36
0
0
0
5
2
-3
1
-12
1
0
0
0
0
-1
25
-24
14
-16
0
0
1
0
0
-14
29
16
4
0
0
0
0
-5
1
-5
18
21
0
0
0
8
0
-1
-11
5
-16
0
0
0
0
8
22
-5
-15
9
0
0
-6
-3
0
-8
25
4
14
0
0
0
0
-1
-7
-5
0
43
0
0
0
-16
5
-3
-7
-8
9
0
0
0
0
10
0
22
-21
37
0
0
0
0
-1
18
-9
-7
5
-27
41
0
0
7
4
-5
-4
17
90
-14
0
0
0
0
-3
9
-6
-39
-8
0
0
6
-1
2
9
18
-26
17
0
0
0
0
-9
-30
-21
-26
75
0
0
0
1
-2
-17
13
-47
6
0
0
0
0
0
7
-5
71
-13
0
0
0
1
3
2
2
-2
-14
0
0
0
-1
-5
-7
-11
-40
0
0
0
0
0
0
7
-21
-18
0
0
0
1
0
-1
-1
9
-17
0
0
0
0
-1
0
-3
13
0
0
0
0
0
2
0
-13
8
14
0
0
0
0
0
-2
-9
0
-63
0
0
0
0
0
0
-1
7
-14
0
0
0
1
0
0
0
-1
-3
0
0
0
-1
-3
3
-10
31
0
0
0
0
0
-1
2
-10
15
0
0
0
0
0
0
0
-23
18
0
0
0
0
-2
0
1
-1
10
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
11
0
0
0
0
0
0
1
-1
-14
0
0
0
0
2
0
-1
-2
10
0
0
0
0
1
0
0
-1
5
0
0
0
0
0
0
0
-1
-9
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
-13
-3
4
-17
-18
30
-8
43
0
0
0
-4
-2
5
3
20
-19
0
5
0
1
11
-30
-10
-53
33
0
0
-1
0
-4
-8
-23
11
72
0
0
0
1
-4
-33
-21
33
-1
0
0
0
0
-2
7
2
43
-10
0
0
0
0
8
6
-18
-31
-20
0
0
0
0
0
1
-2
18
-62
0
0
0
0
-3
5
23
-14
0
0
0
0
0
-1
-5
-18
-34
0
0
1
0
1
-5
-3
36
7
0
0
0
0
0
5
1
11
4
0
0
-1
0
0
2
5
3
-46
0
0
0
0
0
-1
-1
10
-15
0
0
0
0
0
1
0
-13
36
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-18
1
-5
0
0
0
0
0
0
0
7
14
0
0
0
0
0
0
-8
15
7
0
0
0
0
0
0
0
15
-7
0
0
0
0
0
0
2
-2
-4
0
0
0
0
0
0
0
-9
9
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
29
0
0
0
0
0
0
-3
0
-20
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
22
0
0
0
0
0
0
0
1
-9
0
0
0
-6
0
0
0
0
9
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-1
-18
-30
3
35
-60
0
0
-2
-3
-2
-18
-4
19
47
0
0
1
0
8
19
-16
1
20
0
0
0
-2
8
5
0
3
-5
0
0
0
1
0
14
19
-8
27
0
0
-1
0
-2
11
-5
8
2
0
0
0
0
-2
0
-1
-10
42
0
0
0
0
1
2
-4
-14
-15
0
0
0
-1
3
-7
-7
-8
0
0
0
-1
0
-2
9
8
-10
0
0
0
0
0
1
-3
-11
6
0
0
0
0
0
-6
-5
25
5
0
0
0
0
-1
0
-1
7
-34
0
0
0
0
0
1
-1
-18
7
0
0
0
0
0
1
-1
4
-1
0
0
0
0
1
0
0
6
-20
0
0
0
0
0
-2
11
2
0
0
0
0
0
0
3
13
29
0
0
0
0
0
0
3
-9
-4
0
0
0
0
1
0
-2
5
2
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
11
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
13
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
-2
0
2
-15
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
9
0
0
-8
0
0
0
-1
27
-32
-12
18
0
0
0
-11
-1
-8
-1
15
94
0
0
0
-1
-14
5
-23
43
-15
0
0
0
0
1
13
34
2
5
2
0
0
-4
-2
0
0
26
0
0
0
-1
0
3
-23
-1
33
-18
0
-1
0
3
3
-29
3
14
-12
0
0
0
0
-5
-7
0
-59
44
-2
0
0
4
6
-43
8
22
0
0
0
0
0
0
-10
15
-23
0
0
0
0
0
-14
-13
2
-8
0
0
0
0
0
2
-2
4
11
0
1
0
0
0
-1
0
7
-8
0
0
0
0
0
0
0
2
-31
0
0
0
0
0
-1
-2
0
-33
0
0
0
0
0
0
2
4
10
0
2
-1
0
-6
-9
10
-11
0
0
0
0
0
1
-1
33
1
0
0
0
0
0
0
-10
-18
5
0
0
0
0
0
0
0
1
29
0
0
0
0
0
0
5
3
16
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
7
-2
13
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
-9
13
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-2
-4
-29
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
3
-22
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
-11
8
1
-15
-37
72
0
0
2
6
-4
-20
-17
-15
-37
0
0
0
-1
-1
4
0
-5
33
0
0
-2
6
4
7
-1
14
-6
0
0
0
0
-1
11
-14
7
-45
0
0
0
0
0
-1
1
-102
66
0
0
0
0
0
-11
0
39
23
0
0
0
0
0
0
0
26
-14
0
0
0
0
1
7
-2
-13
0
0
0
0
0
-1
-7
5
-31
0
0
0
0
0
0
1
-2
-4
0
0
0
2
0
1
5
4
22
0
0
0
0
0
0
1
5
-44
0
0
0
0
0
1
-2
0
-3
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-27
-13
44
0
0
0
0
0
0
5
-5
20
0
0
0
0
0
0
3
-14
-6
0
0
0
0
0
0
1
2
14
0
0
0
0
0
0
0
-10
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
19
-9
0
0
0
0
0
0
-2
-1
-9
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
-9
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
11
-62
-9
0
0
0
0
0
22
-5
-51
-3
0
0
0
0
-1
-6
14
33
-25
0
0
0
0
-3
3
5
4
8
0
0
0
-1
-2
11
0
0
-23
0
0
0
0
0
-7
2
-17
50
0
0
0
-1
0
4
0
2
-14
0
0
0
0
0
-1
0
-14
30
0
0
0
0
2
-20
-1
-7
0
0
0
0
0
0
-11
1
-13
0
0
1
0
-1
-1
15
4
18
0
0
0
0
0
-1
-3
-9
-33
0
0
0
0
0
-1
0
-2
-14
0
0
0
0
0
0
-2
0
33
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
-2
1
0
-8
0
0
0
0
-2
-1
5
8
0
0
0
0
0
0
0
25
-7
0
0
0
0
0
0
0
-27
11
0
0
0
0
0
0
1
-9
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
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
0
0
0
0
0
0
0
1
-9
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
1
31
-5
-10
-6
0
0
1
-5
1
-24
0
3
18
0
0
0
0
-1
-9
-6
10
-1
0
0
0
2
9
-18
-8
23
-11
0
0
0
1
0
0
3
-37
29
0
0
0
0
1
3
-1
-31
-17
0
0
0
2
-2
-3
0
37
13
0
0
0
-6
4
0
0
6
38
0
0
0
0
0
0
2
37
0
0
0
0
0
0
23
7
-4
0
0
0
0
0
0
14
1
5
0
0
0
0
-3
3
-5
5
-13
0
0
0
0
0
0
-1
-1
39
0
0
0
0
1
0
-1
1
57
0
0
0
0
0
-2
0
0
14
0
0
0
0
-7
3
0
0
-7
0
0
0
0
0
-6
-13
-8
0
0
0
0
0
1
0
-1
-8
0
0
0
0
0
0
1
-8
-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
-5
9
13
-13
71
0
0
0
-2
-4
11
-33
48
-88
0
0
-1
2
-1
-6
-41
-19
82
0
0
0
0
-2
-5
-13
61
-73
0
0
0
0
-2
4
-16
5
19
0
0
0
0
0
-10
-23
-5
-11
0
0
0
0
0
1
26
13
4
0
0
0
0
2
0
-8
0
-7
0
0
0
0
1
-4
-11
-13
49
0
0
0
0
0
26
-18
4
51
0
0
0
0
0
0
-9
6
2
0
0
0
0
-2
2
0
-14
-5
0
0
0
0
2
6
-6
-20
38
0
0
0
0
1
0
1
-5
-12
0
0
0
0
0
0
0
17
-1
0
0
0
0
0
-2
0
-1
-53
0
0
0
0
0
-6
14
47
0
0
0
0
0
0
10
4
11
0
0
0
0
0
0
-1
2
-11
0
0
0
0
0
0
1
1
3
0
0
0
0
0
-1
-3
6
-34
0
0
0
0
0
0
-3
1
-2
0
0
0
0
0
0
1
-11
-5
0
0
0
0
0
0
-2
1
2
0
0
0
0
0
1
18
3
37
0
0
0
0
0
0
-2
4
33
0
0
0
0
0
0
1
4
-22
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
-1
7
3
0
0
0
0
0
0
1
0
9
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-2
-13
2
-47
-22
0
0
0
-1
0
0
-14
30
45
0
0
0
1
0
0
10
0
-14
0
0
0
0
0
-6
-4
-19
8
0
0
0
0
0
-3
0
-10
23
0
0
0
0
0
-5
-31
7
-19
0
0
0
0
0
2
0
31
15
0
0
0
0
0
2
-11
7
-4
0
0
0
0
1
0
0
9
-4
0
0
0
0
0
1
-1
-1
2
0
0
0
0
0
-2
-1
-5
-50
0
0
0
0
1
0
0
-1
21
0
0
0
0
0
4
0
-6
-36
0
0
0
0
0
0
1
7
-54
0
0
0
0
0
0
0
-2
29
0
0
0
0
0
0
0
0
-45
0
0
0
0
1
0
13
-6
0
0
0
0
0
0
0
13
-10
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
23
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
22
0
0
0
0
0
0
6
0
-14
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
0
2
25
0
0
0
0
0
0
0
1
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
11
9
13
10
0
0
0
0
1
0
-7
14
-8
0
0
-1
0
0
5
-16
-22
31
0
0
0
0
0
-4
-15
-5
-14
0
0
0
0
1
0
-13
14
4
0
0
0
0
0
0
-5
1
-1
0
0
3
0
0
0
-8
15
9
0
0
0
0
0
0
-2
0
26
0
0
0
0
3
-5
1
21
-30
0
0
0
0
0
0
9
-7
-29
0
0
0
0
0
-3
0
-5
68
0
0
0
0
0
0
0
11
-14
0
0
0
0
0
-2
0
-17
0
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
3
9
11
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
2
9
-43
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
-2
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
0
-14
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
-5
3
0
0
0
1
0
14
-5
-17
-32
0
0
0
2
0
10
-21
65
-72
0
0
0
-4
1
8
44
-9
-1
0
0
0
0
0
0
-25
-3
-8
0
0
0
0
0
-2
-8
15
-5
0
0
0
0
0
-4
-2
-14
7
0
0
0
1
0
-4
5
14
6
0
0
0
0
0
3
-1
4
20
0
0
0
0
0
0
-3
-3
-3
0
0
0
0
0
0
-3
-27
14
0
0
0
0
0
-2
0
-20
9
0
0
0
0
0
0
0
34
5
0
0
0
0
0
0
-1
26
14
0
0
0
0
0
0
0
20
-2
0
0
0
1
0
0
0
3
14
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-5
25
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
16
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
-1
-14
0
0
0
0
-1
0
0
1
7
0
0
4
0
0
0
-5
-8
19
-11
0
0
0
0
0
1
-4
-14
-23
0
0
0
0
0
-1
-1
16
-58
0
0
0
0
0
-4
1
30
-14
0
-1
0
0
0
-15
3
6
-7
0
0
0
0
0
-2
-1
-1
-18
0
0
0
0
0
0
4
2
-27
0
0
0
0
0
-3
0
-1
8
0
-3
0
0
0
-19
-2
14
16
0
0
0
0
0
3
1
23
-14
0
0
0
0
0
-4
0
29
-35
0
0
0
0
0
7
0
33
-7
0
0
0
0
1
-8
-1
10
50
0
0
0
0
0
0
0
-7
77
0
0
1
0
0
0
0
6
-20
0
0
0
0
0
-1
0
1
-24
0
0
0
0
-1
2
-7
-7
0
0
0
0
0
0
2
4
10
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
-27
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
30
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
-14
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
-6
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
-33
0
0
0
0
0
2
-8
-6
13
0
0
0
0
1
-2
0
14
1
0
0
0
0
0
1
-4
1
-30
0
0
0
0
-1
0
0
-6
21
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
32
-19
0
0
0
0
0
0
0
-3
54
0
0
0
0
0
0
0
17
-11
0
0
0
0
0
2
0
4
-14
0
0
0
0
0
-1
1
-16
58
0
0
0
0
0
0
0
8
12
0
0
0
0
-1
0
0
8
-3
0
0
0
0
-1
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
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
-19
0
0
0
0
0
0
0
-1
-14
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
-9
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
3
-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
-3
-10
-6
-1
0
0
0
0
-1
-1
-1
-1
-26
0
0
0
0
0
1
-6
10
-13
0
0
0
0
0
4
0
13
1
0
0
0
0
0
0
-2
-18
-22
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
9
-62
0
0
0
0
0
0
0
9
23
0
0
-2
0
0
0
0
15
-12
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
-2
12
0
0
1
0
0
0
0
1
-32
0
0
0
0
0
0
0
1
-31
0
0
0
0
0
0
-6
-39
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
-13
0
0
0
0
0
0
0
-1
24
0
0
0
0
0
0
0
-1
19
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
0
6
0
0
0
1
0
0
0
0
10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
5
-3
-17
16
0
0
0
0
0
0
4
-3
-50
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
13
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
-20
0
0
0
0
-1
0
-1
0
51
0
0
0
0
0
-4
0
9
14
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
0
0
-3
-25
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
-23
14
-1
56
0
0
0
0
0
5
3
-7
8
0
0
0
0
0
0
20
0
1
0
0
0
0
-1
3
-11
0
-26
0
0
1
0
0
5
25
9
5
0
0
0
0
0
-2
-5
-9
-6
0
0
0
0
0
-3
2
9
-19
0
0
0
0
0
4
-9
-1
5
0
0
0
0
0
7
-5
11
45
0
0
0
0
-3
0
0
7
11
0
0
0
0
0
0
-5
-3
-5
0
0
0
0
0
-2
-2
5
-9
0
0
0
0
0
4
11
-32
17
0
0
0
0
0
-2
8
-1
19
0
0
0
0
0
0
-1
-1
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
6
30
7
16
0
0
0
0
0
-1
0
7
58
0
0
0
0
0
-3
8
2
14
0
0
0
0
0
-2
-7
-6
3
0
0
0
0
0
2
10
-15
26
0
0
0
0
-1
-5
-1
-29
3
0
0
0
0
0
0
-1
-21
5
0
0
0
0
0
0
-5
4
13
0
0
0
0
0
-18
5
-17
14
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
-21
-20
0
0
0
0
0
-2
3
13
-3
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
-1
-7
-9
0
0
0
0
0
2
0
0
-5
0
0
0
0
1
13
-26
-23
-3
0
0
0
0
-1
1
-1
14
-17
0
0
0
0
0
0
-1
0
18
0
0
0
0
0
0
7
-1
24
0
0
0
0
0
1
-1
0
-20
0
0
0
0
0
-1
0
8
-20
0
0
0
0
0
0
0
0
-9
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
18
0
0
0
0
-2
0
-1
-1
0
0
0
0
0
0
0
0
5
9
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
19
0
0
0
0
0
0
0
-11
1
0
0
0
0
0
0
0
3
-22
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
2
0
-9
-5
0
0
0
0
0
0
-1
-2
18
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
22
-9
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
-9
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
20
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
-20
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
23
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
-13
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
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
36
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
1
-7
21
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
0
-16
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
-10
1
0
0
0
0
0
0
0
-24
3
0
0
0
0
0
0
-2
9
-3
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
3
-9
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
-9
-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
-14
17
0
0
0
0
0
0
0
-4
-19
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
13
6
0
0
0
0
0
0
0
-9
-17
0
0
0
0
0
0
0
-10
-6
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
14
-2
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
-8
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
-1
2
-3
-23
0
0
0
0
0
0
3
7
25
0
0
0
0
0
0
-2
-1
1
0
0
-1
0
0
-3
24
-27
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
19
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
9
-11
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
6
17
0
0
0
0
0
0
1
5
17
0
0
0
0
0
0
-1
-5
-6
0
0
0
0
0
-1
0
-5
5
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
1
0
4
-10
0
0
0
0
0
0
-1
3
7
0
0
0
0
0
0
0
2
2
0
0
0
0
0
5
0
-17
-13
0
0
0
0
0
0
1
11
4
0
0
0
0
0
-1
3
-11
18
0
0
0
0
0
0
0
-9
6
0
0
-1
0
0
0
0
2
9
0
0
0
0
0
0
-2
16
23
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
-45
8
0
0
0
0
-1
-1
-1
-29
0
0
0
0
0
0
0
-4
24
14
0
0
0
0
0
0
-1
0
14
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
9
-11
0
0
0
0
0
0
0
-26
6
0
0
0
0
0
0
0
15
26
0
0
0
0
0
-1
0
-13
14
0
0
0
0
0
0
0
5
-25
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
15
-15
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
-13
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
16
10
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-5
23
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
0
-10
-18
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
-24
-1
0
0
0
0
0
0
0
-9
13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
26
-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
18
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
9
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
-9
-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
-22
25
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
29
-18
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
13
-1
-4
15
0
0
0
0
0
0
1
-5
-3
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
1
-3
2
7
0
0
1
0
0
-4
1
15
-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
-17
14
0
0
0
0
0
-3
0
9
-9
0
0
0
0
0
0
0
15
2
0
0
0
0
0
0
0
-9
27
0
0
0
0
0
0
8
0
-27
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
15
-4
0
0
0
0
0
0
0
-5
10
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
-13
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
-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
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
13
-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
-19
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
15
15
0
0
0
0
0
0
0
2
-15
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
-16
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
39
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
-16
-14
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
13
0
0
0
0
0
0
0
0
14
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
19
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
27
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
35
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
1
20
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
7
-14
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
-16
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
0
4
-11
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
2
17
0
0
0
0
1
1
-1
0
8
0
0
0
0
0
0
-4
-20
-10
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
18
11
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
-18
0
0
0
0
0
0
0
-14
-7
0
0
0
0
0
0
0
2
-16
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
9
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
10
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
8
-16
0
0
0
0
0
0
0
4
14
0
0
-1
0
0
0
0
-1
17
0
0
0
0
0
0
0
0
15
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
-34
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
-11
10
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
-8
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
20
0
0
0
0
0
0
0
-1
14
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
-14
0
0
0
0
0
0
0
-2
-9
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
14
0
0
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
9
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
1
11
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
0
1
21
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
11
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
10
0
0
0
0
0
0
0
0
-26
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
46
38
34
42
25
17
-1
0
0
0
18
4
-10
20
-42
25
-14
-2
0
0
20
13
-6
-49
-46
-31
24
0
3
0
15
8
12
-4
14
131
-43
22
19
4
2
-2
2
-8
-7
15
45
56
15
2
-3
-6
-4
-11
-19
-19
-16
31
14
0
-4
4
-24
40
15
28
23
-7
0
0
-68
-85
-37
13
64
-87
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
8
31
46
5
-1
1
1
69
88
137
123
160
34
-16
-5
-26
-57
27
16
102
109
119
80
-2
14
-4
-17
26
32
56
97
50
71
106
-14
5
-2
-10
3
35
48
59
101
92
120
109
-28
3
0
14
43
73
51
106
122
77
-42
-3
-6
-5
16
46
39
119
86
-9
-92
-43
-20
-5
-33
-17
45
-6
53
0
-61
-14
-38
-45
-58
-33
-21
-16
21
0
0
0
0
0
0
0
0
0
0
0
0
0
4
24
43
36
55
3
-1
2
-2
38
26
68
44
98
145
53
5
8
-43
60
23
43
58
83
88
82
151
-107
-82
-69
-5
4
41
55
68
128
83
66
-5
-70
1
5
32
42
41
89
140
115
-56
-78
-26
-25
1
13
40
46
103
58
-96
-19
-36
-29
-11
6
10
52
95
80
-65
-9
-14
-11
-24
-27
-41
93
76
10
-20
19
41
-53
-59
-45
-66
-93
53
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
4
7
1
4
0
1
0
0
-25
-5
-5
12
31
78
21
8
0
-8
38
9
7
20
67
48
-9
37
2
3
20
16
8
84
-7
-21
64
29
-23
-61
-90
-8
30
17
37
-43
-9
108
-6
-112
-18
32
-8
-14
11
56
22
-15
-17
-14
-69
-24
12
4
0
-29
65
7
-6
-55
-36
-59
23
49
-24
-26
22
-1
-7
-33
-19
39
88
-23
-46
-28
0
0
41
26
-1
2
8
66
-35
73
-13
3
2
6
2
1
-2
22
-1
-2
-1
-17
-7
9
-26
-10
-2
-6
-7
5
16
-4
-2
-2
-6
21
-2
-16
-15
3
6
-3
0
2
-76
26
10
-36
-88
-72
16
-5
74
39
-90
31
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
42
0
0
0
0
0
0
0
0
-3
37
3
0
0
0
0
0
0
23
44
0
0
0
0
0
0
0
18
17
5
0
0
0
0
0
0
5
33
-9
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
46
-25
75
0
0
0
0
0
0
41
13
30
1
0
0
0
0
0
9
53
59
3
-1
0
0
2
0
30
-13
84
4
-3
1
0
0
0
-4
-65
51
23
-1
0
1
0
0
-17
59
26
-21
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
42
-1
18
-2
0
0
0
0
0
29
4
19
20
0
0
4
1
-1
16
15
-38
9
6
-3
0
8
1
-36
2
94
7
1
-9
3
8
-16
29
45
22
23
4
13
-23
23
4
-13
-46
47
33
25
4
-3
-3
-8
27
-23
1
10
13
9
3
0
2
1
-13
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
11
5
15
-28
0
1
0
-11
0
28
8
1
80
-32
0
-37
30
0
36
25
19
-18
-5
5
-7
-30
-47
-6
42
59
-20
-21
9
-15
-38
2
75
6
12
73
-5
-10
47
35
-34
-19
24
36
48
13
5
17
44
24
15
-15
24
44
-21
7
13
-10
-2
0
-6
11
11
-6
0
-1
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
0
-55
0
-6
1
-5
-1
5
-1
-21
61
51
-42
-5
6
-8
17
2
12
-37
-26
15
-12
0
65
44
15
33
19
5
-1
-33
4
1
-20
-7
46
56
-15
17
-80
-33
-15
49
10
47
-11
-17
6
-5
-15
-5
11
-17
10
59
15
6
27
-20
1
0
7
1
21
2
-7
0
1
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-10
-10
-30
12
13
13
-3
13
2
-3
-4
-17
-83
-6
7
-87
49
28
-1
-2
-13
-10
-37
33
141
-46
-13
9
-17
-12
-3
-3
8
14
24
34
31
-1
58
-34
26
-36
-36
-45
-4
23
-8
-10
41
-2
-21
15
-20
-6
6
-2
9
-41
15
-4
-13
3
6
0
0
8
3
14
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-44
-52
-6
0
-34
5
-5
0
3
-22
-82
-33
-34
-23
-8
-1
6
-29
-7
-49
-73
-96
5
10
35
35
-2
28
-14
-20
12
-49
34
16
9
36
63
22
-66
-17
3
41
-8
-4
21
-1
-36
81
17
-5
-17
1
0
0
-1
0
46
-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
-95
-44
-16
23
-2
-5
-11
-2
13
-105
5
-40
-4
-9
-21
-6
-5
-47
-17
-44
23
-32
34
-15
-8
10
49
52
-44
16
-58
-2
-4
5
-5
6
-25
15
-6
8
17
-16
0
0
0
-7
4
0
-4
-22
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
20
-8
0
0
0
0
0
0
-3
9
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
-2
0
0
0
0
0
0
0
0
5
51
-1
0
0
0
0
0
0
44
37
14
1
0
0
0
0
0
33
116
-22
-2
1
0
0
0
0
69
133
-14
53
-7
0
0
0
0
5
127
25
65
0
1
2
0
0
75
4
43
-37
6
4
1
0
0
7
-8
-14
25
11
-1
0
0
0
19
19
4
7
1
0
0
0
0
-17
-5
0
-1
-3
0
0
0
0
-16
-22
-5
0
0
0
0
0
0
41
-34
12
-7
0
0
0
2
0
71
44
-3
-11
-3
4
1
2
4
57
24
44
34
58
-15
-51
24
5
62
46
35
55
59
44
70
-1
52
47
54
60
112
12
45
97
-13
24
20
129
15
13
50
30
71
-10
-19
18
-18
77
-39
43
22
10
5
0
18
-8
-7
23
16
7
0
0
0
7
20
16
-3
-5
0
0
0
0
90
5
-94
-3
0
0
0
0
0
47
-15
-84
27
7
-3
7
2
0
54
16
28
76
-86
7
-45
65
4
62
57
64
6
32
24
-23
-106
-103
55
57
47
62
-30
38
-1
78
-31
-42
84
91
78
51
6
69
-38
57
3
35
64
115
87
100
10
16
14
27
-67
51
139
57
-8
38
36
-47
-14
-8
-31
24
28
34
2
-5
-1
11
6
7
21
3
2
0
0
0
20
-34
-53
-20
0
3
0
13
-1
47
-3
-27
-7
-42
-63
-63
42
-16
42
18
-20
-21
2
5
-94
-47
-142
57
32
27
13
14
82
-31
-6
7
14
53
26
73
17
-59
94
-74
44
26
68
74
17
-6
15
-67
-33
50
-4
23
40
76
-1
95
34
30
-34
11
96
38
10
84
78
-43
27
5
-33
8
-7
9
92
130
46
-42
1
0
14
16
1
73
-5
2
-3
0
10
-48
-97
-34
-23
-102
3
-26
-1
6
-30
-51
-48
-9
-44
2
-37
56
22
7
-16
22
-4
0
18
25
-18
18
36
-10
-13
-28
30
72
-29
4
4
28
31
1
-12
-33
-19
-90
-16
-7
32
24
22
-27
-39
-47
-8
61
33
39
57
28
-2
-14
-34
-41
75
-49
176
45
8
50
16
-31
-39
-29
-31
73
4
19
75
-14
35
-3
0
0
-2
0
-6
43
-24
0
3
0
19
-75
-174
-95
4
16
-102
-15
-51
-22
-78
-106
-96
-40
-14
8
-54
16
-14
-29
-30
-44
55
-5
1
-70
75
-3
10
-4
-32
-88
-35
10
-3
27
-11
24
-3
-8
4
-62
-7
32
16
-23
51
18
25
-39
-6
-52
-45
51
22
11
8
5
-4
4
-68
61
48
-50
16
56
-18
-40
36
107
20
0
0
-6
4
23
28
-20
1
6
0
0
0
0
-1
-2
-2
0
0
0
-11
-65
-36
-7
-43
-45
4
8
10
-45
-73
-119
-29
-37
6
-132
37
-6
-31
-64
-45
-9
-107
-63
69
-45
7
-53
-32
-10
-17
-40
-54
-9
-44
45
-37
22
63
-37
-62
-28
-34
-36
-10
-29
16
-35
21
4
6
-28
23
32
-71
61
1
28
-41
5
2
62
-3
-1
8
14
-81
-44
101
-7
2
0
0
0
0
24
-32
17
0
0
0
0
0
0
0
0
-1
0
0
0
-65
24
-31
-14
-18
-15
-5
-114
-2
-52
-54
13
-29
-5
-26
-84
-88
-13
-72
-76
-50
31
-61
57
-121
-52
-25
-8
-30
-2
-53
-132
-59
-83
-42
26
-26
29
12
-87
-25
24
-24
-31
9
14
1
-13
-38
12
-43
43
-68
0
0
-3
-8
33
21
-6
12
-4
0
0
0
0
-11
5
-21
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
30
-10
0
0
0
0
0
0
-9
14
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
11
-3
-1
0
0
0
0
0
0
24
-30
16
1
0
0
0
0
0
71
78
-68
-2
1
0
0
0
0
29
45
-9
68
-7
0
0
0
0
31
51
14
77
-1
1
2
0
0
109
69
25
-31
5
4
1
0
0
39
-20
-13
30
14
-2
0
0
0
32
5
-4
6
0
0
0
0
0
-18
30
2
0
-3
0
0
0
0
19
-64
5
0
0
0
0
0
0
3
63
-21
4
0
0
0
2
0
30
-84
71
21
-3
4
1
2
4
36
14
80
-24
78
-7
-43
26
-16
67
25
30
-43
107
45
39
6
25
-72
97
49
106
35
7
125
9
61
11
77
83
45
83
63
68
-36
2
93
23
42
53
-17
21
26
8
-3
-1
108
-12
71
22
15
1
0
0
-17
-27
-8
21
-21
0
0
0
0
9
-43
-53
-3
0
0
0
0
0
-11
-14
-86
5
7
-3
7
-17
0
43
-54
-8
41
-71
13
16
29
17
28
8
37
43
-2
31
-39
-116
24
24
43
23
88
-18
32
0
16
52
18
54
27
23
78
138
108
30
74
12
78
70
47
84
54
14
32
33
12
9
33
82
21
7
15
37
-8
-24
26
14
-17
5
75
36
6
1
-30
-1
6
26
67
51
0
0
0
-2
-23
-21
-29
0
3
0
-11
-1
-24
-67
-23
-31
-55
-47
-32
-15
7
5
-15
-5
11
-51
-17
-11
-3
-93
33
13
7
20
30
63
-1
-40
-45
27
15
22
-9
18
32
74
28
30
-6
41
36
26
9
43
29
27
85
-4
63
27
18
-8
21
74
38
-16
10
86
60
53
53
1
16
23
51
-56
69
-23
90
54
76
47
14
1
-1
26
6
43
-8
61
2
-31
0
-5
35
-58
-11
-24
-10
2
-41
-1
-31
-50
-177
-98
-54
-26
-19
-18
100
7
-44
-51
6
-43
13
-30
41
-62
-4
12
15
11
42
-77
-50
-27
-6
-7
7
18
-19
28
-50
3
-78
40
-12
16
32
-1
-23
-14
-77
12
14
-20
35
0
18
19
24
22
31
55
-83
109
37
19
76
8
-43
-16
5
-104
77
24
-13
93
-11
50
38
0
0
-2
0
-11
75
-62
0
3
0
-14
56
-165
-14
7
-1
-7
6
0
-62
-71
-4
-69
-55
-18
-16
-17
22
16
-42
-28
13
32
-26
-16
-86
-29
6
-5
-8
-16
-60
6
-67
13
-53
4
6
8
11
-9
-83
44
-36
2
2
16
36
2
-17
-55
22
-82
25
-15
-47
4
13
-45
11
2
38
83
-75
82
106
1
-21
-1
21
11
0
0
-8
5
58
59
2
0
22
0
0
0
0
-4
11
8
0
0
0
66
65
-116
-52
-20
0
-1
-3
-9
27
9
-71
-19
-34
-20
-42
-48
27
-5
-21
-36
-70
-89
32
-15
-81
-98
6
-20
-21
17
-51
-86
-51
-43
-47
-64
31
0
29
-92
-88
-18
-18
9
-122
34
34
15
27
30
-15
-19
37
-112
31
14
20
-61
23
21
-4
-3
-1
16
-9
-53
-27
15
2
57
0
0
0
0
20
-40
23
0
0
0
0
0
0
0
0
-1
0
0
0
-10
-13
-24
-2
-3
-8
2
-7
-2
3
138
-107
-34
-25
-81
-54
-57
1
57
32
-7
-35
-52
14
-126
-79
-41
-30
29
-68
-84
14
-63
-88
-79
20
-67
50
-32
-56
-20
95
-44
-16
-66
8
58
-10
16
-41
-72
-24
-16
-6
0
-5
-29
92
30
5
-36
0
0
0
0
0
-49
-10
-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
9
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
-17
-6
0
0
0
0
0
0
0
-33
33
7
0
0
0
0
0
0
3
0
6
3
-2
0
0
0
0
17
-22
22
8
1
0
0
0
0
76
-11
-9
-3
-1
1
0
0
0
53
12
-3
5
0
0
0
0
0
17
-15
-8
9
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
-19
19
6
0
-1
1
0
0
0
9
23
-6
-3
8
1
-1
0
0
33
-17
-8
12
20
16
0
8
0
4
71
0
2
0
-4
4
-5
0
45
-18
10
55
-31
11
22
-2
1
-37
15
17
33
28
35
4
0
0
-17
-9
-7
-3
33
11
0
-1
0
7
14
-3
2
4
0
0
0
0
0
1
0
0
0
0
0
0
0
13
8
-14
-4
1
0
0
0
0
62
-15
-22
0
-2
0
-1
1
0
-33
-15
79
-10
-13
2
2
2
6
-14
13
-34
32
-12
-8
10
-8
26
-47
23
72
5
54
37
8
26
2
62
-29
-7
-7
-19
34
-20
18
-2
31
34
-38
1
21
-39
15
-6
1
-9
11
12
3
10
25
13
3
0
9
9
1
-23
31
-5
0
0
0
-8
-6
0
0
0
0
0
0
0
-20
-31
2
-1
0
0
0
0
0
2
-87
-14
-6
-19
8
-9
3
-5
6
-10
14
34
5
-44
8
-5
-27
14
41
26
30
-56
-19
-15
-13
-4
-2
53
-15
-13
-1
2
-4
16
47
-38
76
-54
-2
-1
9
47
9
14
-36
8
-19
-3
36
2
-1
3
-1
8
-9
-40
4
44
2
10
0
0
0
18
8
9
18
5
1
0
0
-1
-1
0
0
0
0
0
0
0
-68
2
-32
-8
0
0
0
0
0
-6
-37
20
-15
-10
-11
-3
-11
-5
7
17
-15
69
-17
-28
-16
-5
-27
17
23
30
12
-13
-21
31
13
-23
55
-18
43
-41
10
3
-3
14
2
-10
-45
0
-14
26
44
-33
44
1
-2
29
-15
42
33
0
17
-26
0
-15
15
-36
-1
6
-11
9
2
0
-1
-3
0
-6
30
-24
0
0
0
-7
-4
0
0
0
0
0
0
0
21
-35
5
-2
-9
0
0
1
0
-45
-25
-52
-5
13
-1
-5
-5
-1
7
-20
-23
5
2
20
-5
-4
-25
2
72
-4
8
-7
-9
30
-7
-1
-64
0
-33
23
67
-11
-10
1
26
-67
-9
-7
33
-45
49
10
-13
7
-13
-30
43
21
-33
5
-15
0
0
0
-5
10
40
35
-14
-1
0
0
0
0
0
1
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
-13
11
-39
-1
-2
0
1
0
0
-19
80
-8
-41
-50
0
-9
-11
-1
73
75
-64
-24
-54
-37
-29
-7
-2
-53
44
-24
33
4
27
-9
2
0
-14
-53
65
42
-59
65
5
-11
1
-16
19
-3
-37
-2
-9
14
1
-2
-1
4
7
12
-38
-15
0
1
0
0
0
0
8
-13
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
-15
-1
-11
-4
0
0
0
0
0
33
2
-20
0
-22
-26
-3
-1
-1
32
-100
1
75
19
-17
-1
-7
2
-8
0
50
-8
-3
60
-11
0
-1
7
25
10
1
-11
-14
-17
0
0
0
0
3
8
-2
-14
0
-2
0
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
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
70
-19
5
85
-34
93
-55
-14
3
9
6
14
1
-36
4
-24
-39
-32
-13
34
29
24
20
21
6
15
0
68
108
-22
21
37
19
35
-22
54
-11
-65
27
14
-11
49
34
-46
10
63
131
139
245
64
81
30
90
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
-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
32
74
4
44
25
68
92
-69
5
-23
-27
-17
-26
15
-22
82
30
58
0
31
-2
-11
18
11
2
-6
-5
79
-50
-8
22
32
-18
130
-1
79
82
-55
28
14
-93
80
24
42
-29
108
99
-43
-40
143
39
84
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
-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
45
-4
-21
18
-37
26
72
-26
-17
-2
0
-75
-24
6
-33
53
54
82
0
15
-2
-10
17
7
0
-6
-6
33
-10
-42
56
4
30
79
-1
1
44
-8
7
9
-44
21
37
-16
-14
98
46
-114
-53
77
33
47
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
2
0
-4
0
-5
0
0
0
0
-7
-5
14
-9
17
25
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
-72
-248
-12
104
0
-2
-37
0
2
4
-9
-70
6
-79
-45
-56
-175
-48
33
165
71
53
-34
-48
-111
43
-146
33
-9
5
-10
-9
45
-39
20
-42
33
-27
-93
36
-14
-58
-5
51
-9
156
-115
-55
-124
-57
13
22
48
53
-54
-32
-73
91
-95
-87
-33
-58
25
19
-8
28
-20
21
-66
-83
-65
-11
-23
0
6
0
0
0
0
0
-34
54
1
73
73
38
23
-1
-52
-3
21
-14
15
-6
71
0
-10
51
20
-11
-28
-52
74
-109
54
16
30
5
-68
7
-33
5
23
5
2
-11
2
17
2
-22
-13
-5
9
-6
1
9
-30
-54
27
29
57
-53
-5
-13
-43
-75
-46
14
5
-15
8
35
-56
21
18
-36
-62
18
25
52
0
0
0
0
0
0
0
0
0
0
-27
-81
-24
47
-34
-2
-60
0
0
20
-21
-68
-23
14
-13
-26
-13
5
-6
-1
-25
-61
100
16
-135
-8
-57
15
-18
-44
20
100
-22
2
-19
-34
-67
-13
-30
-28
-81
-24
17
-21
-33
45
-46
-48
-22
-97
2
61
4
-3
3
14
-47
-45
-15
-40
-14
2
14
-73
-8
-47
-11
20
-20
-9
-22
-27
-21
-11
-11
0
0
0
0
0
11
51
50
10
22
70
-60
30
-30
36
9
-6
-61
43
67
0
2
85
-1
11
-6
-9
131
-23
3
-5
-28
-11
-7
-48
-26
50
-57
-7
-52
-41
-8
-28
6
5
-12
1
6
9
-27
3
114
-17
5
-5
14
-46
-80
32
29
-38
51
18
0
3
43
15
-103
-49
66
74
-32
-14
-6
-9
0
0
0
0
0
0
0
0
0
0
-3
-66
6
17
-5
-2
-39
2
5
14
-21
-44
-57
109
-31
-3
35
-55
5
-19
32
-36
-4
-42
-50
-66
58
-109
21
3
20
60
16
0
-19
7
-43
-21
-7
-65
-16
-41
7
0
19
1
10
48
-32
-36
16
24
2
8
43
22
-2
18
-109
-40
-10
10
-30
-17
43
-23
-51
14
92
57
-25
20
20
2
-3
0
0
0
0
0
42
72
-69
-26
80
22
-39
-5
24
10
21
-77
-4
70
3
-3
24
-8
30
24
14
-11
68
-19
-27
-54
-57
-22
101
81
100
48
-62
-15
-60
-51
32
-21
14
29
14
-3
-9
-9
-33
32
-2
11
-69
7
-67
-27
34
94
-23
-64
-83
77
-24
91
62
53
-1
-36
24
12
-62
25
30
21
0
0
0
0
0
0
0
0
0
0
0
-14
-1
14
4
0
1
-1
5
0
1
4
-23
5
0
0
10
15
-5
1
0
-14
-25
-22
-4
0
14
-33
18
5
2
15
12
11
-5
2
6
1
22
18
4
-33
47
31
21
-23
-7
19
18
0
46
30
36
-12
-1
2
-3
23
-46
-7
3
0
1
3
-15
-3
9
8
19
25
-2
-41
-6
24
45
0
0
0
0
0
4
2
5
-51
34
-2
-1
-2
-20
0
-6
-5
-1
34
-4
0
19
35
-13
-6
1
14
9
6
-18
4
-14
-10
-22
45
10
50
-52
-9
13
-15
5
27
-23
-24
48
41
-39
-33
-33
-36
-9
-9
-3
-4
-20
-1
26
3
6
2
5
13
-1
-32
-10
0
37
10
-17
9
2
-9
-5
-7
-6
-5
-5
1
7
6
5
5
-1
-6
-3
0
0
2
6
7
0
0
-2
-6
1
-5
-2
2
-3
2
5
2
-2
3
-6
3
-2
7
11
12
4
4
-3
1
1
1
2
-1
0
0
1
0
0
-7
-2
-4
-2
-3
-10
8
-18
-1
3
-7
-1
0
4
5
12
25
48
-12
-4
-5
8
2
12
18
8
45
1
-1
0
2
-1
1
2
0
-3
2
2
3
0
-3
-7
-14
-39
-51
1
-8
-7
-1
0
6
11
37
41
-8
-3
1
2
2
-1
7
4
4
1
3
-1
1
2
-2
-3
-1
0
0
-2
0
-4
1
-21
-15
-15
-30
3
-12
3
0
4
4
15
30
21
-10
5
-3
1
-5
3
-4
1
1
16
4
-8
14
7
-1
-10
-1
-6
4
0
-2
-35
-37
5
8
-9
-11
16
17
16
-7
-7
-9
32
50
53
-8
-5
2
30
23
19
-7
-31
-20
-32
-8
-231
-50
-558
-200
-326
-99
-71
-50
-80
-20
-105
36
-263
44
-84
65
-23
24
-58
-18
-9
122
16
18
-24
62
6
8
0
0
-8
0
-24
-25
-57
-54
-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
21
8
-19
-5
0
0
16
14
-17
4
-18
-13
0
0
-53
-31
-10
-7
-171
-43
0
0
85
55
0
0
0
0
0
0
0
0
1
0
-8
-1
0
0
-31
3
-134
-13
-83
-29
0
0
-18
-17
-6
9
-28
-18
0
0
-78
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
-187
-72
-81
1
0
0
-69
-3
-25
-18
-114
-33
0
0
-273
-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
-6
-2
-385
-149
-383
-165
0
0
-151
-91
-5
-35
-200
-103
0
0
-288
-114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-521
-95
0
0
-245
68
-477
-89
-312
-158
0
0
-776
-184
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-169
-77
0
0
-235
-79
-216
-29
-366
-207
0
0
-446
-194
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-80
-2
-62
-45
0
0
-66
-27
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
-170
-30
0
0
-75
-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
-256
-132
0
0
-120
-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
-218
-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
-1
0
0
1
2
0
25
14
0
0
-80
-45
-77
-45
0
0
-31
-29
-34
-44
-70
4
-134
-80
0
0
0
0
0
0
0
0
0
0
1
0
-8
-3
-1
-11
0
0
-45
-23
-71
-71
0
0
-15
-14
5
17
-57
-26
22
34
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
5
10
0
0
-36
-9
-80
-30
0
0
-51
9
-33
-7
-10
-9
-43
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-8
0
0
-485
-151
-223
-134
0
0
-228
-62
-136
-8
-125
-107
-50
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-417
-163
0
0
-128
-77
-209
-111
-282
-120
-313
-264
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-110
-109
0
0
-211
-63
-220
-220
-51
-18
-179
-157
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-139
-40
61
-244
52
-82
-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
-56
-61
-221
-72
-158
14
0
0
0
0
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
-21
-185
-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
-102
-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
4
2
52
56
-54
1
0
0
32
45
-146
-42
-71
0
0
0
6
11
77
19
-5
42
0
0
-51
-55
0
0
0
0
0
0
0
0
14
4
-33
-19
0
0
-62
-4
-258
-9
-56
-58
0
0
-124
69
100
-76
-11
40
0
0
-67
-5
0
0
0
0
0
0
0
0
0
0
26
23
0
0
-42
15
-207
-130
48
11
0
0
2
21
-130
32
-37
-1
0
0
-104
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-660
-240
-99
-42
0
0
-99
-15
-76
18
-132
-2
0
0
-153
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-455
-113
0
0
-126
-30
-252
-8
-372
-57
0
0
-651
-170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-24
0
0
-28
57
-75
4
-48
102
0
0
-259
-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
13
5
2
-1
-71
80
0
0
-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
-151
82
25
35
0
0
-42
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
-46
-79
0
0
-256
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
-161
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-74
-31
89
13
17
1
0
0
-107
-75
-92
-37
0
0
-119
-17
-137
50
-7
70
-49
-43
0
0
0
0
0
0
0
0
0
0
20
-4
13
23
-31
85
0
0
5
-32
40
-88
0
0
-48
-38
74
75
-100
-11
-136
13
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-28
17
0
0
-101
-30
3
-17
0
0
10
5
-68
9
-15
-21
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
141
0
0
-460
-132
-179
-63
0
0
-123
-73
-88
-46
-65
-56
-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
-217
-99
0
0
-79
-10
-152
-62
-140
-11
-294
-189
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-76
0
0
-70
29
-121
66
-61
-5
-141
-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
-119
3
-60
39
-64
0
-139
-1
0
0
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
51
-30
68
-48
-4
0
0
0
0
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
-26
-75
-17
0
0
0
0
0
0
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
-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
4
2
29
57
-36
-10
0
0
-19
-21
-156
-65
-139
38
0
0
-20
69
19
-33
43
39
0
0
-21
-28
0
0
0
0
0
0
0
0
7
4
-32
-22
0
0
-53
-12
-64
113
23
68
0
0
-36
-57
4
-18
28
12
0
0
-25
-36
0
0
0
0
0
0
0
0
0
0
26
20
0
0
27
55
31
-55
-87
64
0
0
29
61
-28
39
-33
-58
0
0
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
-2
0
-358
-46
-25
199
0
0
-73
-40
-121
-50
77
122
0
0
-69
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-132
27
0
0
-79
44
-62
82
-142
52
0
0
-220
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
35
0
0
-34
14
58
-79
-19
-29
0
0
-2
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
15
69
12
-5
-60
42
0
0
-74
-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
15
-10
-7
-5
0
0
-65
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
-67
70
0
0
103
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
4
87
14
-31
0
0
0
-61
9
-41
41
0
0
-55
-38
-37
-18
-29
5
24
38
0
0
0
0
0
0
0
0
0
0
78
-23
6
25
-81
14
0
0
-53
18
26
53
0
0
-51
-34
91
-43
-74
3
-38
27
0
0
0
0
0
0
0
0
0
0
0
0
14
5
-46
10
0
0
-109
4
-31
84
0
0
-75
38
46
52
-21
-92
13
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
0
0
-249
108
-43
36
0
0
43
-41
-3
79
67
-16
58
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
-189
103
0
0
-108
36
-95
72
-155
104
-125
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
43
0
0
32
-21
45
-8
-11
24
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
40
-30
1
11
14
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
-40
12
-43
-17
-16
-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
-42
35
9
-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
-99
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-68
-22
-48
-14
0
0
-7
4
5
7
2
-4
0
0
-31
-14
0
0
0
0
0
0
0
0
4
1
3
-1
0
0
2
3
-29
-10
-14
15
0
0
1
-1
13
34
44
-8
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
11
26
7
-72
-29
0
0
34
9
-22
5
-6
0
0
0
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
0
0
0
-1
-1
125
75
-4
50
0
0
-50
-90
80
23
25
8
0
0
27
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
18
0
0
62
43
-28
-22
-18
8
0
0
104
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
10
0
0
33
61
-114
-20
-15
-2
0
0
52
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
25
50
-22
9
14
3
0
0
-36
-2
0
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
-4
-19
0
0
-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
57
39
0
0
91
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
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
-2
-1
-1
2
1
-2
-33
-26
0
0
8
8
7
3
0
0
-16
-13
-50
-7
31
14
0
-4
0
0
0
0
0
0
0
0
0
0
7
3
15
3
-5
-3
0
0
4
-13
-10
14
0
0
32
10
45
27
-60
-21
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-1
0
0
-46
-32
-14
-2
0
0
-37
-17
18
13
-30
-11
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-10
0
0
72
57
21
44
0
0
-8
-6
71
44
-107
-1
28
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
-35
81
0
0
-33
17
-23
131
-63
14
5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-1
0
0
-50
9
-103
-1
8
-3
62
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
-43
-20
52
-33
2
-6
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
23
-7
33
11
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
-5
-13
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
0
0
0
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
16
-50
2
32
-13
-44
79
4
64
17
7
0
79
-13
60
-22
-43
-2
0
-37
-43
32
-32
46
42
15
0
0
0
0
0
0
24
-38
5
9
-14
75
20
-9
-28
23
-7
0
25
48
11
-7
32
77
4
40
14
44
13
-15
0
-36
0
0
0
0
0
0
12
-51
-4
-21
-10
8
41
-36
19
-7
-5
0
-22
-14
13
-60
-12
-50
-1
-16
-8
-49
59
7
70
-82
0
0
0
0
0
0
-15
-2
0
15
-18
-9
37
-89
-14
-33
-7
0
43
-8
28
-14
3
71
-5
32
-53
-13
-15
16
49
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-8
-4
-25
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
-9
-23
-29
-39
-13
-122
-7
0
0
0
0
0
0
-255
-155
-63
-34
-169
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-8
-72
-71
0
0
0
0
0
0
-83
-56
-33
-9
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-341
-49
0
0
0
0
0
0
-217
-12
-304
-52
-342
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-164
-147
0
0
0
0
0
0
-231
0
-375
-92
-218
-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
0
0
0
0
0
0
0
0
0
0
-116
-56
-232
-74
-172
-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
-36
23
-178
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
4
0
0
0
-9
0
0
0
0
0
0
-15
-40
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
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
-101
0
0
0
0
0
0
-101
-148
-11
-14
-9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
-59
0
0
0
0
0
0
-61
-44
-33
-5
39
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
-14
24
-43
2
18
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
-4
1
-47
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
53
-77
23
-1
0
-10
-46
0
0
0
0
0
0
35
34
38
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-159
-22
-137
-69
-359
-109
-88
56
0
0
0
0
0
0
-100
13
-134
-23
-179
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-205
-52
-157
-18
0
0
0
0
0
0
-119
-6
-163
16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-378
-21
0
0
0
0
0
0
-251
81
-311
-108
-380
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-162
34
0
0
0
0
0
0
-109
-9
-140
77
-136
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
-95
30
-60
35
-180
21
0
0
0
0
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
13
-112
206
0
0
0
0
0
0
0
0
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
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
27
37
10
-5
-43
-22
0
0
0
0
0
0
-18
26
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
15
-22
0
0
0
0
0
0
5
-12
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-119
-82
0
0
0
0
0
0
-106
-69
-79
51
-17
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-59
0
0
0
0
0
0
10
38
-41
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-66
-78
8
-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
-9
23
-37
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
-67
6
27
-1
0
33
17
0
0
0
0
0
0
51
51
-12
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-27
-28
-24
-341
-85
-18
122
0
0
0
0
0
0
-56
-58
-12
-12
-79
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-186
-74
-1
42
0
0
0
0
0
0
-126
8
-58
-35
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-124
57
0
0
0
0
0
0
-97
71
-132
-15
-223
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
58
0
0
0
0
0
0
-41
62
-81
-4
-79
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
2
60
-18
-41
-81
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
-49
-14
42
14
0
0
0
0
0
0
0
0
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
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
22
24
16
-9
-34
-54
0
0
0
0
0
0
-39
-2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
11
13
0
0
0
0
0
0
32
-16
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
23
0
0
0
0
0
0
-41
32
-38
-56
-15
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-18
0
0
0
0
0
0
16
-89
9
42
-59
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
65
-11
30
24
-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
-6
4
-105
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
-5
-10
-3
6
0
0
2
3
0
0
0
0
0
0
4
9
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-4
-6
-1
19
14
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
-1
0
-2
6
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
12
73
0
0
0
0
0
0
22
62
-6
-10
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
29
0
0
0
0
0
0
-12
30
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
16
0
0
0
0
0
0
-23
17
-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
1
13
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
11
11
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
-24
0
-2
0
0
8
-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
-25
-10
0
-4
5
0
0
-9
0
3
0
0
5
0
0
0
-29
-4
0
5
-24
3
0
-4
-2
5
0
0
-3
0
0
0
-13
8
0
-4
-23
1
8
0
16
-8
0
0
0
0
0
0
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
11
0
2
0
0
0
-1
2
-8
0
0
5
0
0
0
-19
-9
0
2
0
-13
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
13
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
-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
-21
0
0
0
17
26
0
-2
0
5
4
-6
20
-14
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
90
0
-18
4
2
0
-8
-1
-4
0
0
-4
0
8
0
24
-112
0
-5
-2
-10
-8
3
29
2
0
0
1
0
0
0
0
5
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
-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
0
-5
0
-1
0
-4
5
0
-1
-6
0
0
0
-5
0
0
0
0
0
0
0
8
-11
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
9
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
9
6
1
-6
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-11
0
0
0
0
0
0
2
-3
0
-13
0
0
0
-1
-1
-25
0
0
0
0
0
0
0
1
0
-15
0
0
0
0
3
-32
0
0
0
0
0
0
0
-20
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
1
-2
3
-1
-17
-5
0
0
22
-6
22
12
86
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
44
32
0
4
13
6
-11
-11
-25
-18
0
0
25
20
-1
9
-31
75
0
28
48
16
15
99
-97
24
0
0
34
-8
-6
8
-10
30
0
-94
-10
5
24
1
33
15
0
0
-11
0
0
0
2
4
0
-2
30
0
27
5
15
-75
0
0
14
0
0
0
-28
3
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
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
-2
0
0
0
1
13
0
0
-2
0
-2
9
2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
-4
1
25
31
0
0
0
14
-2
8
84
-15
0
0
37
5
0
2
34
-6
0
-3
49
4
-1
-34
13
1
0
0
3
0
3
0
3
-8
0
3
0
1
-4
3
-34
-62
0
0
0
0
0
0
0
14
0
0
0
0
0
-3
0
1
0
0
25
0
3
0
5
0
0
3
-1
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
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
-9
70
0
1
-3
0
-6
25
9
25
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
-21
17
0
25
0
-2
0
1
1
-21
0
0
7
0
0
0
-15
33
0
0
-9
0
-8
0
-32
46
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-14
0
0
15
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
-47
0
-11
3
-24
16
0
-1
2
5
-66
-31
-3
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
11
-41
0
2
-7
0
1
7
-36
5
0
0
-10
-5
0
-2
38
33
0
-15
2
5
-33
-66
-34
49
0
0
-95
0
1
5
-61
-5
0
9
59
10
8
-58
28
-22
0
0
-5
0
-2
0
-20
44
0
-3
-3
0
-14
33
7
58
0
0
0
0
0
0
14
-4
0
-26
1
0
6
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
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
10
0
0
0
2
3
0
0
-9
0
-5
-14
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
14
1
-30
41
0
0
-7
0
14
0
13
-4
0
0
2
0
1
0
-62
3
0
7
-26
0
0
-13
-11
-106
0
0
6
0
2
0
-8
0
0
-16
-19
0
-5
0
10
-17
0
0
-4
0
0
2
0
-6
0
-8
0
0
0
-13
0
16
0
0
-13
0
2
0
-24
-1
0
9
-14
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
0
0
1
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
52
0
0
17
11
6
-1
-18
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-40
95
0
0
-1
0
0
-2
-7
47
0
0
75
0
0
-1
-43
30
0
-42
-25
20
1
57
-51
-82
0
0
25
0
0
8
22
-22
0
-4
-12
1
-19
-14
-19
-43
0
0
2
0
0
0
-20
-6
0
-2
-15
0
0
0
-2
-75
0
0
25
0
0
0
-77
-16
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
-17
0
0
0
2
3
0
0
3
0
0
-1
-6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
14
20
0
0
1
1
0
0
-96
-2
0
0
31
0
0
0
-28
9
0
-2
17
0
0
-9
-5
-43
0
0
5
0
0
0
-14
5
0
-1
-1
0
0
0
2
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
-13
0
0
0
22
1
0
-5
-3
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
8
-10
27
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
-20
-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
-26
-1
-1
-1
-36
50
0
-3
-9
-14
-60
-10
-5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
1
0
10
43
0
-7
-13
5
8
17
22
-6
0
0
-40
7
0
0
4
95
0
101
24
15
13
42
-3
20
0
0
8
-2
18
0
-26
28
0
-58
-5
0
16
-3
-20
19
0
0
4
0
0
0
-5
30
0
-17
1
1
2
8
-6
-14
0
0
-2
0
0
0
-53
-37
0
-3
0
0
0
-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
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
-5
0
0
-9
-4
-3
-3
-5
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
-5
0
-64
0
-2
-10
1
0
13
41
29
0
0
34
0
0
-3
77
12
1
14
35
6
0
-16
1
27
0
0
-9
0
0
0
-19
11
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
-25
0
0
0
5
3
0
-1
-2
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
0
2
0
-13
18
0
4
-5
6
0
-17
-39
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-15
0
0
7
0
0
-5
39
1
0
0
-5
1
0
3
-19
71
0
35
-3
-18
-3
13
-32
27
0
0
6
1
-5
0
7
-14
0
64
11
0
-24
-29
-29
4
0
0
-1
0
0
0
0
-18
0
0
0
0
0
-2
-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
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
1
8
0
0
-6
-42
-4
0
0
41
0
0
-3
6
0
-3
3
-18
0
0
4
3
21
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
-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
-2
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
-3
0
0
0
-10
-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
-2
-1
-8
-11
-8
1
0
-56
-16
-41
-102
-26
32
147
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-18
45
0
5
-29
-18
-10
-14
-57
-13
0
0
59
109
-1
-2
28
-23
-1
-12
-4
-23
-44
30
-171
136
0
0
-33
-9
-1
34
94
47
3
-65
-59
3
-24
22
-92
6
0
0
-14
0
-1
15
66
9
-3
9
41
1
-2
-23
-9
-5
0
0
16
0
0
0
-69
0
0
-7
0
0
3
-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
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
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
21
-9
0
1
-19
0
0
-36
-11
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
-5
-2
26
0
-17
-37
-29
-6
16
52
4
0
0
-72
6
6
-3
-28
16
0
-24
24
15
0
40
-44
-12
0
0
3
0
-3
0
54
-3
0
-23
-42
2
-2
1
2
-4
0
0
0
0
0
-1
0
1
0
3
-1
0
0
9
0
-18
0
0
22
0
0
3
64
0
0
-1
7
0
-6
-32
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
-32
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-11
-5
0
0
0
0
-2
0
-36
-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
-15
17
0
-6
0
0
0
-7
-1
3
0
0
4
0
0
0
14
20
0
-8
0
0
3
0
-35
11
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
9
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
14
0
0
0
0
0
45
-1
-2
0
0
0
0
0
0
2
8
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
23
0
0
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
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
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
-2
0
-10
5
-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
4
-1
1
0
0
0
0
0
0
-4
1
0
0
-3
0
0
4
9
-11
0
0
0
0
0
0
11
0
0
-1
0
0
-10
0
18
3
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
18
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
20
-21
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
6
4
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
-21
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
22
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
-52
0
2
0
0
0
0
-17
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
28
0
-1
-6
-2
-8
4
-10
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-26
22
0
-2
2
0
0
2
25
6
0
0
1
0
0
0
25
7
0
-5
1
0
0
14
3
-4
0
0
10
0
-2
0
7
-20
0
23
6
7
-9
10
27
-70
0
0
0
0
0
0
0
-7
0
-4
0
0
0
-1
0
16
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-1
-4
-4
0
0
2
0
0
0
6
20
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-23
-2
0
0
1
0
0
0
-6
-19
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
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
-11
0
0
-9
0
0
0
-1
33
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
1
0
0
-2
0
0
0
2
2
0
0
0
0
0
0
47
14
0
3
-3
0
0
57
4
5
0
0
-6
0
-1
0
-21
-33
0
15
-3
1
7
0
-48
18
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-23
0
0
4
0
0
0
-8
8
0
0
4
0
0
0
-26
-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
-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
-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
26
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
0
0
0
0
0
-1
-11
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
-1
0
0
8
0
0
-3
29
-3
0
0
0
0
0
0
-19
0
0
-1
4
0
0
-69
5
-7
0
0
22
0
0
0
34
9
0
3
7
3
4
0
-17
-27
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
15
-2
0
0
-15
0
0
-1
-9
3
0
0
5
0
0
0
13
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
-23
-21
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
-10
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
-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
-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
14
11
0
-1
0
5
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
17
4
0
0
0
0
0
0
6
0
0
0
-2
0
0
0
30
33
0
8
17
-4
0
-14
54
-15
0
0
5
0
0
0
10
-5
0
-14
0
0
24
0
-33
-5
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
49
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
22
0
0
0
17
-25
0
0
0
0
0
0
-10
-8
0
0
-6
0
0
0
1
-2
0
0
-14
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-9
0
0
0
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
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
-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
6
0
0
0
0
0
0
0
0
-9
0
6
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
43
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
-6
0
20
-1
39
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
9
0
0
0
0
0
0
0
103
6
0
21
-6
0
0
3
14
-8
0
0
0
0
0
0
6
-1
0
-4
5
0
2
0
-24
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
-4
0
0
0
0
0
0
46
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-62
6
0
-1
2
-7
-35
-22
-2
-7
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
-14
-33
-3
-26
-23
5
2
0
0
-2
0
0
0
5
14
0
-10
-5
-2
4
16
43
3
0
0
-6
0
4
0
-15
-33
0
-8
11
-24
-55
1
-31
6
0
0
0
0
0
0
0
-26
0
-1
0
0
0
0
0
1
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
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
-4
-5
0
-2
3
0
0
11
-10
2
0
0
-1
0
0
0
-1
-35
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
-1
0
-4
0
0
5
-14
-23
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
-21
-5
0
3
5
0
0
-33
3
-3
0
0
-3
0
0
0
-15
-3
0
-91
-10
2
2
-1
-22
3
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
-4
0
0
0
-10
-3
0
0
-4
0
0
0
2
25
0
3
0
0
0
2
-1
23
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
25
-1
37
0
0
0
0
0
0
-3
-5
0
1
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
-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
4
5
0
3
2
0
0
-10
0
5
0
0
0
0
0
0
0
22
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
9
0
0
0
0
-10
1
0
11
0
0
0
0
0
0
-4
-4
0
0
0
0
0
-9
0
-14
0
0
0
0
0
0
-3
2
0
2
0
0
-64
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
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
0
0
0
0
0
0
0
0
-2
0
0
0
-7
-65
0
0
0
0
-6
14
-10
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
10
11
9
0
0
1
0
0
0
-5
-1
0
5
2
0
0
15
13
3
0
0
0
0
0
0
11
-7
0
4
-1
0
-6
9
10
-11
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-2
0
0
-1
-4
-3
0
0
0
0
0
0
0
6
0
-1
0
0
0
-23
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
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
1
0
0
0
0
25
0
0
0
0
0
1
8
-7
0
0
0
0
0
0
0
1
0
-2
0
0
-16
0
63
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
-1
0
0
0
-4
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
2
20
-5
5
4
-14
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-46
-16
0
0
9
0
-2
-1
-23
13
0
0
1
0
0
-1
6
-32
0
5
-35
5
-9
33
5
44
0
0
9
0
0
0
-110
-84
0
46
-33
8
-47
-8
-6
21
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
14
0
0
0
0
0
0
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-5
15
0
0
1
1
0
0
0
-35
-2
0
0
-25
0
0
0
53
-10
0
20
11
0
0
18
0
-8
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
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
-30
1
0
1
0
1
0
-5
0
0
0
0
0
0
0
0
-32
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
-7
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
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
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
8
0
0
0
0
0
0
0
2
11
0
5
0
0
5
0
-7
17
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
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
15
-9
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
-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
-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
14
5
0
0
0
0
0
15
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
15
0
0
0
1
0
9
6
0
0
0
0
0
0
0
-1
-8
0
0
0
-2
2
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
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
-9
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
0
0
0
-8
-14
1
1
-2
0
3
-13
-47
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-12
-31
0
18
16
-15
3
50
-14
-49
0
0
174
6
0
1
-18
4
6
-10
-26
11
-5
-57
-49
-22
0
0
123
0
-3
1
-34
-39
4
6
-2
3
-17
-2
-66
14
0
0
95
0
0
0
-9
5
0
-5
-2
0
-5
-2
-23
-3
0
0
42
0
0
0
16
-2
0
2
0
4
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
5
7
-14
1
5
2
-9
-22
-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
-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
-14
-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
15
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
-73
0
4
6
-89
-62
-1
-7
-16
-9
-2
-23
4
-57
0
0
-62
0
-2
-3
-23
5
3
4
23
-2
-5
3
-25
-71
0
0
19
0
1
0
1
1
0
-20
-34
6
-21
-6
4
-26
0
0
3
0
0
0
0
-2
0
1
-27
0
0
1
0
-4
0
0
32
0
0
0
-11
0
0
-5
-8
1
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
14
0
0
15
1
0
0
-1
0
0
-1
6
-6
0
0
0
47
0
0
2
0
0
-5
0
0
-8
0
-16
-8
0
0
0
23
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
-9
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-11
-9
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
14
0
0
-3
0
-3
-6
0
0
3
27
-18
0
0
7
0
56
0
-20
-9
0
0
7
0
0
34
31
-33
0
0
4
0
129
0
-8
-1
0
-1
0
-4
-2
1
15
-73
0
0
0
0
-25
0
0
16
0
0
0
0
0
0
0
-33
0
0
0
0
51
0
-11
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-26
0
0
1
0
0
2
3
-2
0
0
-1
0
16
0
-5
-7
0
4
2
0
0
14
2
-5
0
0
0
0
-4
0
0
0
0
4
-5
0
0
0
0
5
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
-1
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
-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
-11
0
0
0
0
0
0
0
-4
0
0
0
0
0
8
-10
-15
0
5
11
0
0
-43
1
7
0
0
0
0
0
-47
0
2
0
9
0
0
4
0
-39
-46
0
0
0
0
0
124
0
4
0
-3
0
0
0
0
0
-18
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
-5
4
0
0
15
0
0
0
-37
-14
0
0
0
0
0
22
-2
11
0
-1
1
0
0
0
1
-5
0
0
0
0
0
4
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
-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
20
-42
-7
8
-25
-51
-54
-29
78
-116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
1
10
0
18
25
0
35
-54
49
-42
-9
19
-33
0
0
-63
-33
1
-16
10
52
-2
12
0
-72
-43
15
-53
7
0
0
-61
15
49
5
38
-8
8
-72
-95
-133
-125
-11
-27
5
0
0
-15
0
0
0
34
-26
-1
-25
-7
-8
-13
22
0
36
0
0
-14
0
0
2
-29
-21
1
24
-53
-2
6
-171
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-13
-3
-18
11
-92
-14
-27
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
11
0
-1
2
7
0
-9
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
22
-5
-2
0
21
0
0
0
0
0
0
0
0
71
0
0
-7
10
4
0
1
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
-46
-30
0
2
1
-15
-17
29
-7
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
17
14
-16
23
-9
-1
9
-21
-3
-19
-30
10
-67
0
0
-71
9
4
-5
-16
4
7
1
-25
-49
-5
-42
-14
-65
0
0
5
-1
9
0
-49
-64
-1
-23
-41
14
4
-39
-14
33
0
0
0
0
0
0
78
0
0
-8
8
-6
0
3
0
-180
0
0
38
0
-4
5
26
-2
0
-64
-7
14
-4
-65
-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
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
-11
23
-33
18
-103
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-43
-7
21
-84
18
8
-102
-36
1
26
-16
-155
-44
0
0
-68
-53
5
-24
-24
44
-5
25
-67
-39
-57
-35
17
-9
0
0
-46
-69
-55
-47
-1
13
0
9
-83
-123
-131
-37
45
-135
0
0
-42
11
0
-16
-58
30
0
-5
-30
-84
-27
-117
-126
-44
0
0
-31
-1
-10
0
40
-52
0
-4
22
6
15
-7
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
-11
-52
22
27
23
71
7
-48
28
8
0
0
0
0
0
0
0
46
-13
8
14
1
1
5
-2
9
0
0
0
0
0
0
-17
5
2
16
0
3
0
30
-14
0
0
0
0
0
0
0
2
-10
0
7
-2
-3
0
-4
1
4
0
0
0
0
0
0
0
-1
0
14
-5
-6
5
-61
-11
7
0
0
-1
0
0
0
23
6
0
53
21
0
-4
32
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
13
-3
2
1
-28
0
11
-4
-18
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-6
36
59
24
45
0
-4
-25
-54
-4
-21
-23
-38
0
0
-78
15
3
6
36
-59
27
4
-23
-54
-11
51
-59
-46
0
0
-30
0
-10
-11
17
-90
4
4
-45
-34
-5
-17
-14
-48
0
0
-10
0
1
-2
17
78
1
19
-72
-36
-14
-33
-16
18
0
0
-25
0
0
0
-27
-21
1
-14
-6
5
-32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-33
0
0
3
6
45
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
3
15
0
-27
-1
0
0
-8
-82
4
0
0
-1
0
0
1
-29
24
0
6
-14
-5
-1
15
8
-6
0
0
-10
0
7
-5
-20
33
0
29
-1
3
-55
-6
-23
-40
0
0
0
0
0
0
0
-9
0
24
13
0
-1
11
0
-32
0
0
0
0
0
0
-20
5
0
-45
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
-11
0
0
2
-37
16
0
-8
25
1
0
-3
-15
-7
0
0
5
0
0
-1
-10
-2
0
-9
2
0
0
2
3
2
0
0
5
0
0
0
-7
14
0
-109
6
0
7
-3
14
17
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
9
0
0
8
0
0
0
3
0
0
5
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
-23
0
-6
-26
-7
37
-37
6
-5
0
0
-18
4
0
0
-15
-59
0
-13
-33
3
-59
-5
45
47
0
0
-5
2
-45
4
-84
-43
-2
-51
-21
3
-50
-69
-33
79
0
0
0
0
0
0
4
-20
0
-15
1
0
-11
-31
-3
-46
0
0
0
0
0
0
-90
-8
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
0
0
0
0
4
1
-1
-3
-17
-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
-7
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
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
-36
0
0
-1
-79
-27
0
0
6
0
-1
8
-52
-71
0
0
29
0
0
6
-4
-30
-10
-9
6
4
0
-23
-28
-36
0
0
7
0
0
0
-2
3
0
4
22
-1
-1
-6
-4
-10
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-6
0
-32
0
0
2
0
0
0
-14
0
0
1
-8
0
0
1
-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
-7
1
-109
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-53
0
2
-2
0
11
-1
-30
-8
0
0
5
-14
-6
-1
-105
-5
-2
-9
-40
-5
-17
41
-73
-30
0
0
-9
0
11
0
-66
-6
0
-15
-25
25
25
-17
-2
20
0
0
0
0
0
0
0
43
0
1
0
0
0
3
0
-76
0
0
0
0
0
0
-11
-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
0
0
0
0
1
0
0
3
0
0
0
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
-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
13
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
-15
0
0
0
-2
-24
0
-1
-3
0
0
2
7
-14
0
0
-9
-2
0
-6
-31
-45
5
-5
-25
-1
0
0
10
-30
0
0
1
0
0
0
-2
-6
0
4
0
0
1
0
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
17
0
0
0
0
0
0
-18
0
0
0
-9
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
46
-31
-113
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
-4
-125
-6
0
-2
14
8
-3
22
-8
-16
0
0
5
2
0
21
-14
-33
-2
19
-42
-41
-15
-79
9
3
0
0
-48
16
-1
-13
-42
-4
-9
-10
-73
9
-30
11
-19
-21
0
0
1
0
0
0
-39
-63
0
11
11
-6
-133
33
-68
25
0
0
-1
0
0
0
-71
-47
0
1
-9
5
28
-11
-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
7
5
0
8
0
-1
0
15
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
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
10
0
-2
0
0
2
-4
0
-24
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
10
-14
0
0
1
-3
18
2
-15
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
-4
-2
-20
16
-69
1
17
8
-4
-5
-16
-1
5
0
0
-5
2
0
-18
-30
27
-13
-40
-21
3
4
-90
-54
-22
0
0
-6
0
0
0
20
-7
0
1
-2
21
-84
-5
-29
-80
0
0
2
0
0
0
0
-8
0
-4
-10
0
-52
15
0
-43
0
0
-7
0
0
0
-30
0
0
-16
-4
3
-130
-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
0
0
0
0
0
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
-89
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
1
-1
0
-25
-60
0
-4
-59
13
-58
-3
43
-15
0
0
-49
-5
-2
-2
-81
-16
-1
-54
-43
37
-24
-13
-93
-138
0
0
5
0
11
-6
50
30
3
-41
-67
-36
14
-115
-67
-139
0
0
-32
0
0
0
-7
-59
-4
15
-55
-21
-18
60
-75
-12
0
0
14
0
0
0
-20
-6
0
-5
-20
0
-2
-121
-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
0
0
0
0
0
0
0
0
0
0
0
-6
2
5
-13
-8
0
-7
-14
-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
-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
13
-1
0
0
27
-1
2
0
0
0
0
0
0
3
0
0
7
7
0
0
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-7
-5
0
-1
-5
-3
-2
2
8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
-9
-3
14
41
1
-11
-5
-9
-5
-32
27
-6
0
0
100
8
-1
-5
-52
-14
17
0
30
-5
-18
83
-49
10
0
0
-4
0
-2
0
1
-5
0
18
5
-25
6
-76
-10
-24
0
0
4
0
0
0
-4
-6
-2
13
-56
0
0
-7
0
-73
0
0
12
0
1
0
22
19
0
0
-14
-7
4
-212
-129
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
4
0
18
138
-47
-1
3
-54
-48
-56
-13
4
-14
0
0
-83
13
-7
-32
-19
-13
4
-126
-124
-20
-38
-52
-8
-18
0
0
-54
2
34
-52
-43
-10
4
31
-145
-97
-147
-111
-11
-19
0
0
-30
0
3
-20
0
-49
-1
-55
-59
-1
-19
-121
32
-26
0
0
-78
0
5
-9
9
-111
0
-62
-56
-16
14
-98
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
1
0
0
15
-2
44
8
-38
5
-11
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
24
-13
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
17
-13
0
0
0
0
0
0
0
7
0
10
0
-2
0
14
7
23
0
0
2
0
0
0
-1
0
0
17
14
2
0
-5
-14
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-6
-44
2
-3
1
0
3
-17
-87
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
-8
16
-52
-80
-46
2
-7
-90
-42
9
-28
-136
-93
0
0
-76
4
6
54
-40
-35
-2
71
-38
-25
-54
-55
-56
-65
0
0
-7
0
5
9
-58
-86
-6
7
21
-5
-35
-88
-115
-44
0
0
-1
0
17
-1
0
-20
0
38
-75
-2
-8
6
1
-28
0
0
-46
-3
-6
98
-17
-9
-3
-11
-61
22
4
-92
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
-3
1
8
-10
-54
0
14
-104
-6
-36
-20
-27
-16
0
0
-30
-51
-24
-19
-138
-23
-2
-67
-8
14
12
-62
-14
32
0
0
-175
-14
18
5
-164
-90
13
-104
-87
9
-79
-54
32
-3
0
0
6
0
-3
-20
-3
6
-1
27
-79
-27
-57
-46
64
-40
0
0
-1
0
-2
0
-60
0
0
4
28
9
-15
-32
-189
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-33
5
29
-1
56
9
-81
0
0
0
0
0
0
0
0
1
0
0
0
0
-7
0
-35
0
0
0
0
0
0
-1
0
0
4
-1
21
0
-1
-6
-7
0
0
0
0
0
0
0
0
0
8
0
0
0
-4
14
-11
0
0
0
0
0
0
5
-6
0
0
-6
0
5
45
-21
34
0
0
0
0
0
0
-14
0
0
8
0
0
0
7
27
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
1
0
-47
-20
0
2
-13
-18
-9
2
-68
-107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
9
-2
5
-22
-11
-1
-24
-42
-43
33
-62
-10
-26
0
0
-91
19
0
17
-18
-16
-6
-18
-82
-71
-14
-21
-140
-101
0
0
-22
2
-9
-16
-54
-7
7
11
-5
-12
23
77
-150
-81
0
0
-31
0
0
14
14
0
-1
-25
-67
-10
3
-64
-25
-54
0
0
-80
0
1
-15
-68
0
0
3
97
17
-5
-17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
-2
10
-3
0
0
-45
3
0
0
-46
-97
0
-4
40
-2
17
-1
-65
-39
0
0
22
0
0
0
-47
42
0
54
-7
3
-40
9
-74
-57
0
0
-61
0
0
0
0
-5
0
-1
-4
0
-2
-20
-16
-36
0
0
61
0
0
0
14
0
0
0
0
0
0
-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
2
0
2
0
0
5
6
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
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
9
0
0
0
2
-6
0
-1
23
0
0
0
-5
-3
0
0
-8
0
0
0
-16
0
1
0
-7
0
0
-1
1
-17
0
0
-33
0
0
0
0
-2
0
3
-5
0
-2
0
0
-6
0
0
-21
0
0
0
0
1
0
29
0
0
0
0
0
-7
0
0
-79
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
13
0
0
4
-4
0
-1
0
0
0
0
0
-3
0
0
0
43
0
0
1
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-6
7
0
-7
-1
0
0
8
-1
0
0
0
0
0
15
0
-5
3
0
15
0
0
1
0
-33
-43
0
0
0
0
-22
0
0
3
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
-2
0
0
0
0
0
0
0
0
0
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
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
7
-3
0
3
5
0
0
-14
17
-26
0
0
0
0
0
-16
6
0
0
3
0
0
0
0
-51
-31
0
0
0
0
0
18
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
-6
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
-1
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
26
35
0
-3
-25
-36
-26
0
-15
-8
0
0
-116
1
8
5
-16
-21
2
-69
-128
30
-41
64
-47
12
0
0
0
-11
-33
-5
-14
10
-2
-45
-27
-9
21
54
-81
71
0
0
0
0
0
0
-131
17
0
-9
-48
0
-37
16
0
-129
0
0
-32
0
-1
-2
100
-5
0
25
35
46
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-4
19
-2
0
25
-4
-6
-17
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
13
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
-15
-4
0
0
-8
0
14
0
0
0
0
0
0
27
0
0
15
8
0
0
14
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
-7
0
0
-4
-2
-14
-27
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
0
26
19
-2
0
33
0
0
-5
10
23
0
0
-43
0
-3
-2
17
2
-4
33
-52
-5
0
-27
1
13
0
0
-5
0
-6
0
15
-6
0
-33
11
-1
27
3
6
40
0
0
0
0
0
0
1
0
0
-14
0
0
0
19
0
-27
0
0
-58
0
-36
0
-76
0
0
-14
-78
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-15
5
47
-5
7
13
0
0
15
9
-10
-8
-11
-4
-1
21
-1
0
-60
-99
-5
1
0
0
1
19
54
7
-106
42
-3
-17
10
-40
-47
16
44
-44
0
0
-10
0
-37
-2
-9
2
2
-5
4
-20
4
0
-57
-74
0
0
-19
0
-10
0
-36
76
0
1
-3
0
-9
-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
0
0
4
-1
1
-1
2
-1
2
35
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
7
0
18
-7
4
7
-14
-1
-7
0
0
0
0
0
0
1
0
0
0
2
0
0
13
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
0
6
119
0
5
-6
2
-13
-15
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
3
1
-21
66
-1
-9
25
-1
-5
5
86
-18
0
0
5
-10
0
2
-10
-1
2
4
-50
4
-4
7
-20
-4
0
0
-8
0
-5
-2
13
57
0
-13
14
-5
-29
0
13
-7
0
0
-2
0
-3
0
3
-72
0
24
36
4
0
-26
1
-5
0
0
-10
0
0
0
1
-16
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
14
4
5
-5
-2
39
-6
0
0
4
-2
-3
0
86
-8
0
-42
79
0
7
33
-77
-5
0
0
-8
0
1
-1
96
-17
0
6
4
-11
-1
-5
-61
99
0
0
0
0
0
0
-6
-37
0
-25
1
0
7
3
1
-1
0
0
0
0
0
0
8
1
0
-72
0
0
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
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
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
10
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
14
0
0
0
-15
-3
0
-13
-11
0
-2
2
-10
-16
0
0
-2
0
3
2
46
-5
0
-34
-14
0
0
3
-13
19
0
0
5
0
0
0
0
-5
0
-11
-6
0
-1
0
-3
-14
0
0
0
0
0
0
0
-1
0
-14
0
0
0
0
0
4
0
0
-1
0
0
0
-1
0
0
-14
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
-14
6
-62
-13
0
0
-5
0
1
-20
-2
-11
0
46
-42
-53
89
-13
16
-106
0
0
5
-3
-8
5
-12
-32
0
5
-4
0
-41
-52
-28
-162
0
0
0
0
0
0
22
-17
0
-14
-9
0
3
5
-19
-108
0
0
0
0
0
0
-33
-4
0
6
0
0
0
-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
1
0
10
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
-13
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
2
0
-1
0
22
4
1
-2
3
1
1
-3
-79
-17
0
0
-5
0
0
0
-9
-41
1
3
9
2
0
-33
-15
-8
0
0
-6
0
0
0
-20
9
0
3
15
4
7
0
-6
1
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
-17
0
-4
32
-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
102
-1
0
0
-14
0
-3
2
-43
-20
0
-40
-5
0
-17
-60
-94
-23
0
0
-2
0
0
-2
-18
14
0
-20
-31
3
-40
14
-19
-15
0
0
-2
0
0
0
0
10
0
4
0
0
0
1
-10
-35
0
0
0
0
0
0
7
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
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
9
22
0
0
2
0
0
0
0
5
0
0
-4
0
0
0
-12
0
0
-1
13
0
0
-6
-1
-18
0
0
0
0
0
0
-3
0
0
-3
9
0
0
0
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
0
0
0
5
0
0
0
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
0
0
-6
5
0
-8
19
-8
0
53
33
8
-10
-25
-24
-81
0
0
4
-1
0
0
-9
-18
-1
-23
-38
5
-55
-65
-127
-49
0
0
0
0
0
0
-18
-15
0
8
27
1
-48
0
-23
-4
0
0
0
0
0
0
-16
-1
0
-2
0
0
14
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
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
-59
-9
0
5
24
0
0
0
-56
-4
0
0
-6
0
0
1
31
15
0
-3
8
0
0
5
9
-45
0
0
3
0
0
0
-14
-4
0
-11
3
-1
2
-1
-22
-39
0
0
0
0
0
0
0
10
0
-10
0
0
0
4
0
-5
0
0
-7
0
0
0
3
0
0
1
-5
0
33
-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
-14
-2
1
0
0
-18
0
3
0
22
-10
-1
22
-22
-23
75
4
-19
50
0
0
6
-7
-3
0
-24
-6
0
5
-18
-23
2
70
-70
-32
0
0
0
0
0
0
1
-6
0
-3
14
0
-2
-25
0
95
0
0
1
0
0
0
3
-23
0
0
1
0
1
-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
-4
0
7
1
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
-3
0
0
0
-3
0
2
0
0
0
0
0
0
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
-1
-7
0
0
-2
0
1
11
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-3
0
-6
-13
0
-3
-44
0
0
-16
48
9
0
0
-16
0
2
0
-5
10
-8
21
-52
0
-2
-31
-11
-13
0
0
3
0
1
0
8
-4
0
-11
1
0
4
25
-4
-14
0
0
0
0
0
0
0
4
0
-4
0
0
0
6
0
-7
0
0
-2
0
0
0
-18
0
0
2
-4
0
0
-71
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62
0
0
-64
26
-2
-20
-11
-31
0
-107
-24
-63
71
-8
118
-109
0
0
-45
2
-31
-19
-27
13
-2
-47
47
0
31
-98
30
-62
0
0
-57
0
0
1
0
-34
0
-64
-10
-15
10
-75
-29
-13
0
0
-101
0
-1
-93
55
-4
0
-5
8
-1
-10
-150
-89
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
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
9
16
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
5
3
46
0
0
0
0
0
0
0
0
0
20
0
0
0
4
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
-2
16
0
0
-23
18
-16
10
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
6
1
0
-9
0
20
44
14
2
-5
-85
-11
0
0
-130
7
-1
5
-10
-69
-2
-70
-29
-35
-18
-86
-22
-59
0
0
7
0
0
0
0
-5
0
42
-60
4
-12
-18
44
-5
0
0
4
0
0
1
0
0
0
-24
-35
0
0
-77
17
-90
0
0
-45
0
-21
2
6
17
0
24
-1
-4
1
-168
-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
0
0
-16
0
0
-46
-5
8
7
75
-11
-2
-16
43
9
33
-35
69
73
0
0
15
0
-1
-9
-48
-5
2
2
-30
-1
-67
-31
42
106
0
0
-2
0
-1
0
-22
2
0
-5
-5
2
1
-35
5
8
0
0
0
0
0
0
21
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
1
-10
0
0
0
8
17
-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
-2
0
0
0
0
0
0
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
9
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
5
4
14
1
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
5
-3
-13
27
0
-4
-94
0
1
18
-21
-19
0
0
51
-2
-10
-8
14
19
-4
29
-22
1
1
-5
6
8
0
0
3
0
-5
0
0
0
0
6
2
-1
-1
-5
2
-26
0
0
-3
0
0
0
0
0
0
11
1
0
0
3
0
-83
0
0
0
0
0
0
-5
0
0
5
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-62
42
10
-2
-19
1
-24
0
0
102
0
0
31
-56
-52
0
-13
45
6
-30
-84
-57
-121
0
0
39
0
0
0
-7
9
0
-5
-8
-1
2
-3
-22
-82
0
0
90
0
0
0
5
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
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
9
0
9
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
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
119
0
0
0
-4
-7
0
0
0
0
0
-1
-6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-4
-3
0
-11
40
0
-4
-2
-29
0
-8
6
-53
0
0
5
0
0
0
0
-2
0
-7
5
0
0
-16
3
-1
0
0
59
0
0
0
-1
-16
0
15
5
3
0
17
-7
10
0
0
28
0
0
0
0
1
0
5
-3
0
0
-5
0
10
0
0
139
0
0
0
2
0
0
-4
-28
-3
0
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
0
0
0
0
0
0
0
0
0
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
-5
0
57
-22
1
-1
-34
48
-1
0
0
1
-26
0
0
-31
-9
0
11
-10
-18
-16
0
-53
-25
0
0
0
-11
0
0
1
-7
0
0
2
2
0
0
3
4
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
14
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
23
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
-15
0
0
6
0
0
-1
18
0
0
0
1
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
32
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
-13
0
6
1
-1
0
-8
-9
-2
0
0
0
0
71
0
6
0
0
-6
-3
-6
-1
0
-42
-42
0
0
0
0
-47
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
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
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
-13
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
-55
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
17
14
-8
0
81
-42
32
0
0
2
0
0
79
-11
-2
0
1
5
-5
0
-4
-71
-87
0
0
0
0
0
-56
0
3
0
-5
-10
0
0
0
0
-24
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
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
-33
0
7
-11
1
3
0
-6
-4
0
0
0
0
0
9
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
-70
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
49
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
27
23
0
58
-65
-38
-21
21
106
-19
0
0
-19
19
-14
-118
5
21
0
-21
-97
-87
-130
124
81
-14
0
0
-18
0
0
-1
126
63
-2
-1
-120
-19
-2
-29
0
-92
0
0
-58
-1
0
0
-42
7
0
-33
-65
-50
-8
12
-76
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
28
0
-39
33
53
-16
52
0
0
0
0
0
0
-7
1
0
8
0
0
0
-2
0
-13
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-1
0
11
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
20
-1
-13
0
-18
0
-15
0
0
0
0
0
0
-5
0
0
-10
-33
8
0
14
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
3
1
-21
0
-1
-98
-5
-20
6
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-170
35
6
-5
-38
-88
-1
-3
-4
-9
-13
29
31
36
0
0
6
4
0
3
-26
-13
-9
-71
-53
10
2
-59
-9
-20
0
0
-28
-1
-9
0
67
-45
-6
32
-62
-3
1
-16
-29
10
0
0
4
0
0
0
-23
5
0
5
4
-5
0
-31
0
53
0
0
-40
17
-5
4
-77
-17
0
-109
-129
-86
34
-21
-48
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-10
-105
37
-25
-107
33
71
0
0
-38
32
15
-46
-1
34
0
-22
-25
-94
-108
48
-128
102
0
0
-51
1
-2
-7
-18
29
-1
-59
-158
12
-16
-43
9
-26
0
0
-31
0
6
0
3
30
0
3
-1
1
16
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
-9
15
-9
1
53
0
80
-81
0
0
0
0
0
0
0
0
-32
-1
-1
0
0
0
-13
0
-5
0
0
0
0
0
0
-6
-7
-2
4
0
13
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
61
0
32
-7
10
17
14
8
18
0
0
0
0
0
0
-8
13
0
0
10
-10
1
1
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
0
6
5
-17
1
7
-38
-35
-32
0
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
4
-19
-66
20
2
-20
71
-8
-14
-2
28
8
0
0
-21
5
0
5
-9
-36
5
16
25
-14
0
-8
30
11
0
0
-41
3
-3
-10
-11
-41
2
14
-12
-5
-43
11
-71
-33
0
0
-2
0
-1
-3
2
-7
-4
33
-37
22
4
-4
-2
33
0
0
-13
0
0
0
-4
22
0
-44
-19
9
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-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
80
-75
-52
44
15
57
-15
0
0
5
-5
-5
8
-9
-93
6
-20
-113
-78
53
114
-29
-54
0
0
-51
3
-16
-7
19
-49
2
-89
-40
-20
-27
1
-11
80
0
0
22
0
0
1
10
9
0
-19
-7
-15
17
-43
-97
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
9
-1
-3
0
-46
8
49
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
15
-10
0
0
-4
0
-23
0
0
0
0
0
0
5
0
0
-6
-2
0
0
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-2
0
-16
-20
0
-54
5
-1
-5
6
-57
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-3
-3
0
8
-60
1
-62
33
-15
10
-7
18
-53
0
0
32
4
-1
-29
9
49
1
48
25
6
5
33
-14
14
0
0
-20
0
-3
-2
-71
-6
1
-55
26
1
-25
15
33
1
0
0
5
0
0
-7
2
-2
0
-83
36
1
0
0
-7
-52
0
0
-44
-3
0
-26
3
3
0
-189
-69
-21
-27
-5
-97
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
0
-5
13
-52
0
0
0
-6
6
-17
-102
69
-16
15
-11
-54
-28
-1
-91
-94
0
0
4
0
0
18
-36
-177
0
-42
-27
10
-33
-40
62
-85
0
0
-3
0
0
0
52
-39
0
18
-33
8
-5
-20
-89
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
-18
-4
8
48
-50
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
15
0
-1
0
-50
8
1
0
0
0
0
0
0
1
0
0
16
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
-10
-2
0
4
5
8
14
-20
-68
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
1
-19
32
-61
0
-8
-23
33
-3
26
-5
49
0
0
-11
6
1
3
23
-13
2
4
7
1
0
-16
-47
-23
0
0
-4
-1
0
0
-33
0
1
-30
-57
4
-31
33
-31
4
0
0
5
0
0
0
0
-27
2
23
-74
0
0
13
6
-24
0
0
4
0
-1
-13
49
-4
2
56
-37
33
-10
33
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
2
13
41
26
53
0
0
21
0
17
2
32
-3
4
-9
-75
14
-7
-85
-85
-79
0
0
0
0
0
-3
-16
0
0
-7
-13
5
-15
-15
23
5
0
0
-1
0
0
0
-28
-2
0
-11
5
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
-1
-5
-3
2
0
-3
0
10
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
-3
0
0
0
21
0
11
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
9
3
6
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
1
66
9
0
3
7
0
0
5
-61
0
0
0
5
0
1
-1
-17
14
-5
-4
-19
4
0
-3
-4
11
0
0
2
0
0
0
-11
-2
0
-7
-60
-2
9
1
-21
4
0
0
0
0
0
0
1
1
0
-9
-2
0
0
23
0
20
0
0
31
0
0
0
7
0
0
46
12
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-90
13
-55
0
0
-35
0
0
-10
53
5
-2
2
-17
-9
67
64
-140
-80
0
0
-1
0
0
0
-26
-51
0
14
13
0
62
-13
5
-107
0
0
0
0
0
0
-37
1
0
0
4
0
7
-5
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
10
-16
-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
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
14
0
7
14
-11
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
1
99
-56
0
-6
-23
13
19
-14
87
-46
0
0
15
0
0
0
-60
-8
0
-5
53
4
0
-6
-10
-3
0
0
2
0
0
0
-15
-7
0
13
-24
1
52
-8
-50
13
0
0
0
0
0
0
0
-1
0
-18
-17
0
5
11
0
-69
0
0
61
0
0
0
-22
0
0
-7
77
6
47
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
19
0
0
-48
-25
-6
45
-65
-181
4
60
-124
5
-9
45
-29
-38
0
0
-5
4
-15
-31
-52
-32
10
12
-27
-38
8
-94
-53
-18
0
0
-15
7
-26
-6
-111
22
0
32
-56
14
-45
-16
-146
-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
-14
23
-45
32
-37
-9
3
-18
-42
0
0
0
0
0
0
0
4
-1
0
0
0
0
-1
0
-15
0
0
0
0
0
0
0
0
3
-1
0
19
0
-2
0
-13
0
0
0
0
0
0
0
0
0
4
0
0
0
1
5
14
0
0
0
0
0
0
0
18
0
-14
-33
-14
0
-87
-2
46
0
0
0
0
0
0
-15
0
0
27
1
3
0
14
16
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-5
5
5
16
-29
0
33
-22
-14
-21
-10
-131
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
11
1
2
-104
-6
6
48
-103
-19
-31
4
0
-46
0
0
6
0
0
37
2
-78
-5
-49
-20
-33
6
-17
-64
-10
0
0
-56
0
14
16
4
-28
0
-6
-84
13
1
-43
-82
-11
0
0
-27
0
-5
-2
-72
-75
-1
-44
76
7
13
-21
-48
-13
0
0
-33
-5
27
20
-90
-35
1
-26
19
-21
-69
-121
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-66
-28
39
-69
-117
-24
5
-25
-63
-55
-139
110
-1
-49
0
0
-23
0
-3
-29
0
-17
-2
-49
-173
-36
-74
-94
12
48
0
0
7
0
1
0
-45
-20
6
-25
138
-25
-34
-67
-11
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
7
2
6
-3
5
-31
-49
-63
21
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
10
3
0
0
0
0
0
0
0
0
0
-9
0
2
0
34
-9
43
0
0
0
0
0
0
0
0
0
14
17
1
0
4
24
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
2
-1
-24
-6
-1
-6
-12
10
5
-101
-38
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
-26
-47
-6
-89
-4
-5
-62
35
20
-56
-102
-28
0
0
-25
-18
5
-8
4
-94
1
-39
118
24
-16
39
-97
77
0
0
3
0
-11
-4
-16
-30
-3
-71
-139
-6
-6
-58
-76
3
0
0
-41
0
0
0
0
-2
0
-34
39
-4
0
-56
49
0
0
0
-74
5
-23
-3
-53
-71
0
-29
-132
-52
34
-87
-96
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
92
0
0
-73
11
-11
25
-46
22
0
-61
-56
-60
-8
-24
-45
53
0
0
-9
0
1
-31
-53
-28
3
-15
-66
-33
-62
-103
-12
7
0
0
-5
0
0
0
16
0
0
-32
23
-8
7
-38
-82
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
1
13
-9
4
-5
-8
-41
-10
64
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
33
-4
13
1
-16
13
52
0
0
0
0
0
0
-4
0
0
-16
-7
0
0
26
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
1
-1
-20
-81
13
2
4
-75
-9
27
-18
-17
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
11
25
62
-204
-34
0
-49
17
19
13
-23
-31
14
0
0
-6
-1
3
-5
32
-35
-11
-53
-49
-26
-3
-34
-32
-111
0
0
-83
0
-4
0
-65
10
-5
-61
-64
-33
-58
-38
-49
-112
0
0
0
0
0
-3
-15
4
0
-15
-56
5
0
-53
-2
-91
0
0
25
0
-5
-5
-49
0
0
-97
-4
21
-45
-142
49
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
10
0
11
20
0
-18
-1
4
-22
-19
-44
25
0
0
51
0
0
0
5
2
0
-1
-21
0
-8
14
-25
-33
0
0
84
0
0
0
24
10
0
15
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-4
5
-10
-14
5
-18
8
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
10
1
0
0
9
0
21
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
-6
0
-27
4
0
-10
-36
-9
6
-5
19
-6
0
0
-45
0
0
0
-30
21
19
-17
2
-5
-2
-39
-26
-13
0
0
44
0
0
0
0
-5
0
0
-16
6
-1
0
1
-3
0
0
-20
0
0
0
0
-5
0
-2
-2
0
0
11
0
-14
0
0
30
0
0
0
9
0
0
-8
-28
0
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
1
3
0
1
0
11
1
0
0
0
-9
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
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
-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
11
0
0
0
0
0
0
0
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
2
-7
0
0
5
0
0
0
0
0
0
0
2
21
0
0
-5
-14
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
109
0
-43
13
0
6
-6
0
1
-3
21
-26
0
0
0
0
31
0
0
10
0
-1
0
0
0
3
0
-32
0
0
0
0
65
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
3
0
6
0
1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
0
10
0
-92
-15
0
1
7
0
0
0
-33
2
0
0
-3
0
-32
0
3
4
1
11
7
0
0
-3
-15
41
0
0
0
0
-16
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
-65
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
-15
0
0
-6
0
-10
5
0
0
0
0
0
41
-2
7
0
-3
0
0
0
0
0
5
0
0
6
0
0
-11
-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
-40
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
-20
0
0
8
2
-15
0
9
4
0
0
0
-26
-16
0
0
-1
0
0
-5
-5
-1
0
10
-7
0
0
0
-2
-79
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
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-61
0
-99
-73
-28
-6
-33
-64
-8
0
0
21
0
0
0
89
-44
0
-71
-119
15
-36
80
0
56
0
0
-23
0
0
1
-5
-53
-2
-54
-40
-53
-4
-21
-33
-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
-43
21
1
17
-5
-2
7
12
-20
-28
0
0
0
0
0
0
-4
0
2
1
0
0
0
1
0
-14
0
0
0
0
0
0
-9
0
-2
-2
0
-8
-1
1
0
1
0
0
0
0
0
0
14
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
3
1
0
19
3
-4
0
-3
0
-44
0
0
0
0
0
0
47
0
0
18
13
1
1
2
-17
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
106
-61
0
-6
-5
3
-64
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
16
-3
-7
-38
-71
1
20
17
-19
-18
11
22
-36
0
0
1
0
-4
-2
-1
24
-2
-16
18
71
-11
24
-52
-101
0
0
-6
1
-7
0
81
-21
-2
-20
-55
-5
-13
10
-11
-18
0
0
0
0
0
0
-33
-1
0
-37
35
0
0
-31
0
-103
0
0
-35
-1
1
2
-14
-7
0
-3
-139
25
-4
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
162
11
-11
21
58
21
-22
29
71
0
0
-33
-9
5
0
-11
-9
2
78
-23
-9
9
-62
11
6
0
0
-31
0
11
0
16
-28
0
-1
-13
1
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
-7
-49
0
8
-20
-7
1
-4
-29
-5
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
4
-8
-43
-6
5
-5
-10
0
0
0
0
0
0
-15
1
0
-27
-9
5
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-1
0
2
32
-1
6
1
-75
2
-2
-33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
3
15
-1
-65
-10
6
-41
-13
7
-10
4
-125
26
0
0
-36
-2
10
-3
-49
-14
16
51
-21
5
3
-45
2
-33
0
0
-6
0
-8
0
3
16
-1
22
-15
0
0
9
11
-4
0
0
-4
0
-1
0
-13
-36
-4
9
-44
-4
-3
1
3
9
0
0
-11
0
0
0
5
-57
0
-29
-35
3
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-14
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
29
22
33
85
-9
49
0
0
27
0
0
4
-34
24
0
-72
0
26
45
-45
6
-91
0
0
-8
0
0
0
-4
-1
0
-68
5
-5
-10
-3
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
6
1
18
8
7
-19
1
-2
-68
2
0
0
0
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
34
0
-25
7
0
0
-7
0
8
0
0
0
0
0
0
-1
0
0
21
0
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-9
-21
0
-62
1
2
6
-3
-2
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
1
-4
50
21
0
5
18
1
-11
3
-66
-18
0
0
7
4
0
-2
-18
-26
3
-63
-3
-29
-11
102
-56
-34
0
0
-13
0
-1
0
31
-2
0
-6
-10
1
-6
2
49
26
0
0
-4
0
0
0
-2
-2
0
-60
-18
2
-2
-3
0
42
0
0
-55
2
41
-1
-47
-4
0
-22
-77
-18
-11
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
3
-2
-75
-26
-6
-210
0
0
8
0
0
-2
-19
-53
-1
-30
-67
1
-34
-47
-56
-89
0
0
15
0
0
0
-125
13
0
-6
23
0
-1
-17
-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
1
1
2
-19
-4
-7
-3
2
-61
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
-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
-18
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-10
0
0
6
-5
-1
18
1
22
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-1
0
3
-101
-15
0
10
-4
-14
-4
5
-53
-26
0
0
11
0
8
-5
-131
-22
-9
-27
33
-23
-3
-46
14
-40
0
0
5
0
0
0
-4
-7
0
-6
-10
0
0
0
2
-22
0
0
2
0
0
0
0
-9
0
-27
0
0
0
5
0
-11
0
0
15
0
8
0
-37
-3
0
-17
-16
3
0
-10
-159
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-108
5
0
0
0
0
0
0
-27
-8
0
1
-18
0
-3
-19
1
-20
0
0
0
0
0
0
-62
5
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
2
4
1
0
0
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
2
0
0
0
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
-8
8
0
8
1
0
0
1
-29
-3
0
0
-10
4
-1
0
-19
-33
-2
1
-15
0
0
7
-14
-36
0
0
0
0
0
0
-13
1
0
-3
-3
25
0
0
0
-10
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-51
0
0
-7
0
0
-5
9
-14
-6
-78
-64
1
-71
-35
-68
-64
0
0
-8
0
0
0
-46
-33
0
15
-31
-13
-90
-11
-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
-3
-6
-2
-13
0
-8
1
-14
32
-50
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
-13
0
-1
16
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-24
29
0
-6
-43
4
-60
-14
-35
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
-8
-3
-8
-123
-11
1
-2
-28
17
53
-7
-97
55
0
0
-8
3
0
-1
63
-4
0
-10
97
-13
-2
-96
-181
-13
0
0
-7
0
0
0
-19
0
-6
-13
-57
3
-81
-2
-62
-81
0
0
-2
0
0
0
0
0
-4
-40
-7
-2
5
-33
-6
-55
0
0
-11
0
0
-4
-17
2
2
10
-15
3
-251
-53
-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
24
36
-101
0
0
9
0
0
0
-36
-25
0
18
-82
0
1
-43
-43
-46
0
0
16
0
0
0
-95
1
0
-8
-31
0
-5
-27
-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
1
0
3
12
0
-4
3
5
-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
3
0
0
0
18
0
11
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
-30
-15
0
2
-18
-9
-7
-42
24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-10
-5
-4
-14
0
5
-10
4
-4
-59
3
-28
0
0
23
-2
-1
0
20
34
4
-34
35
-9
0
41
-152
68
0
0
0
0
0
0
3
-4
0
0
20
0
0
43
3
1
0
0
3
0
0
0
0
-1
0
1
-17
0
0
-94
0
98
0
0
-14
0
0
0
7
20
0
-2
29
14
-1
-81
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-70
1
-7
-125
0
-54
-4
23
-88
-101
-35
-189
5
-50
0
0
-161
-2
-45
9
41
28
-2
-13
-46
-16
-114
16
-99
-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
-1
8
24
-23
1
-5
-6
77
-32
42
0
0
0
0
0
0
0
-2
18
2
0
0
0
16
2
-5
0
0
0
0
0
0
0
0
0
5
0
1
0
-37
5
-7
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
-44
-3
7
0
22
74
63
0
0
0
0
0
0
-1
0
0
3
-28
0
3
-45
6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
-3
-17
-71
0
-54
-54
25
-70
-130
-176
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
13
-129
-3
-15
-53
5
-59
-37
-4
-112
10
-120
-55
0
0
-87
-40
-53
-110
-30
-19
26
45
-123
-117
8
-75
-89
-64
0
0
-9
0
-26
-2
-4
-3
0
-60
78
-18
18
-68
24
-29
0
0
-21
0
-14
-5
0
4
0
-95
0
14
4
-87
-10
-129
0
0
-86
-15
-117
15
-54
-51
-6
-11
-10
-34
4
-23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
2
0
1
-114
-68
-11
-1
-23
-67
-47
-46
-72
-11
-23
0
0
-39
0
-13
-23
-56
0
-1
0
-48
-5
105
-66
-49
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
10
3
43
-42
-14
-20
-23
-26
1
-33
0
0
0
0
0
0
0
0
3
-1
-1
0
0
1
1
-9
0
0
0
0
0
0
0
0
2
5
0
9
0
11
-1
2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
-15
0
0
0
0
0
0
0
-1
0
20
4
-13
-2
-34
-33
53
0
0
0
0
0
0
6
0
0
-3
-1
0
0
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-13
-2
-48
-26
0
-18
-42
5
-75
-14
-138
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
29
5
1
-7
4
-5
26
-102
29
5
-43
-21
-7
0
0
-102
83
25
-73
-27
-45
16
9
-47
-49
23
-11
-62
-18
0
0
-4
0
-6
-13
38
-6
10
-77
119
-19
-13
-86
-129
-113
0
0
-21
0
-3
5
-2
-25
-9
-18
-72
-2
-4
15
-4
8
0
0
42
6
-58
-55
-88
0
-5
-52
29
-58
-21
-27
-120
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
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
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
-32
0
0
0
-3
-9
0
0
-7
0
0
0
-1
-5
0
0
46
0
0
0
9
11
0
-5
0
0
0
-15
0
16
0
0
-33
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
-4
0
-2
0
0
0
0
0
0
0
-2
0
0
2
0
0
-60
0
1
0
6
0
0
0
0
0
-4
0
0
0
0
0
-13
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-114
-25
0
0
-2
0
0
0
0
1
0
0
6
0
0
0
-43
-14
0
1
10
0
0
-2
0
-44
0
0
0
0
0
0
43
0
0
6
-23
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
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
43
0
0
2
2
1
-11
0
35
0
0
-2
0
0
0
-11
-47
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
-8
1
-5
2
35
0
-43
-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
-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
-130
0
0
-4
-19
-6
-4
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
-3
2
-5
-107
0
-5
8
9
-1
7
-64
-13
0
0
2
0
0
2
25
45
0
-35
-40
-5
0
-11
-25
-14
0
0
10
0
0
0
0
-18
0
0
5
5
-16
-3
4
-3
0
0
0
0
0
0
0
15
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-35
0
-4
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
0
0
0
13
0
14
0
0
0
0
0
0
14
-20
0
-38
0
0
0
-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
0
0
0
0
0
11
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
5
-11
0
-13
-17
0
3
5
-11
15
0
0
-7
0
0
0
-14
26
-4
17
-14
0
0
-10
25
-20
0
0
0
0
0
0
-1
2
0
-83
16
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
-16
0
0
-62
-17
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-22
0
0
6
-2
0
-2
1
11
0
0
14
0
0
0
5
18
0
-26
9
0
0
-44
4
-80
0
0
0
0
0
0
0
-1
0
0
-21
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
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-2
0
2
-3
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
-3
0
0
0
0
0
0
11
-1
0
0
0
0
-108
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-1
-49
0
0
-22
-1
-11
0
3
5
0
0
0
0
0
0
-20
-8
0
-2
-6
0
1
6
0
-22
0
0
0
0
0
0
0
1
0
-8
-4
0
-61
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
-155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-14
0
0
0
0
0
0
0
-5
0
0
-13
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
3
0
4
0
0
0
-21
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
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
-10
0
-2
-47
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
16
-60
0
3
32
2
0
-16
20
48
0
0
-23
0
0
0
-2
-8
7
-1
-7
1
2
-40
-16
-60
0
0
0
0
0
0
1
-1
0
-10
-21
0
6
64
-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
23
-51
0
0
-85
-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
-1
0
0
50
0
0
7
-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
0
0
2
0
0
0
-7
-6
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-23
0
0
3
14
-118
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
-81
0
0
-21
0
0
0
131
23
0
0
-48
0
0
0
0
-31
0
-6
0
0
0
-63
61
7
0
0
0
0
0
0
0
0
0
-10
37
0
0
0
-11
-207
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
-4
15
0
0
33
81
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-95
0
0
-3
-109
7
-21
78
-76
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
10
-67
21
0
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
23
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
-7
21
0
-3
-39
9
11
29
-8
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-121
7
5
21
32
-8
0
19
-32
-5
1
-6
-31
-146
0
0
-50
-18
-1
26
-23
-5
0
-36
-105
-41
-25
-51
31
-76
0
0
-21
1
4
6
-71
-2
-1
-32
-37
-19
-8
28
-101
-65
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
-27
0
0
-61
0
1
9
-34
0
0
-16
5
6
68
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
0
0
0
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
-16
-5
0
0
-10
0
0
0
12
0
0
0
-7
0
0
0
-4
13
0
14
-1
0
0
-29
-9
-20
0
0
9
0
0
0
0
0
0
0
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
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
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
0
14
-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
-29
0
0
0
13
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-11
2
-10
9
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
27
27
0
-5
66
-9
16
4
-9
-14
0
0
-9
0
0
1
-12
-2
-1
-17
-20
13
0
-4
5
-21
0
0
14
0
0
0
5
0
0
4
-96
5
14
-5
1
43
0
0
0
0
0
0
46
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
66
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
-7
0
0
0
5
-55
0
-5
-7
-2
0
0
-8
0
0
0
3
0
0
0
1
115
0
5
-19
0
0
-13
-4
0
0
0
1
0
0
0
0
-24
0
-6
-7
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
25
0
-7
-5
0
0
0
-16
3
0
0
11
0
0
0
-20
-7
3
-99
0
0
0
6
-5
8
0
0
0
0
0
0
0
0
0
-34
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-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
-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
-14
0
0
0
-7
-8
0
5
-7
-3
0
0
-15
0
0
0
-16
0
0
0
-74
15
0
-20
3
0
0
-54
-4
-6
0
0
0
0
0
0
-1
0
0
-14
-5
0
0
-4
-5
-51
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-81
-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
-30
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-32
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
-11
-11
0
1
-14
3
0
59
-37
0
0
0
-19
0
0
0
-20
0
1
-11
2
0
0
17
1
16
0
0
0
0
0
0
-4
0
0
16
4
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
2
0
0
7
0
-4
0
-38
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
0
-4
0
-14
0
0
-4
-15
2
13
-19
0
0
0
-60
1
1
4
15
-5
0
60
-80
-3
0
-53
-19
-18
0
0
-3
0
0
0
0
1
0
4
-17
10
-4
-2
-28
-49
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-71
39
0
0
-7
0
0
0
9
0
0
1
10
0
0
3
-10
5
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
-76
-5
0
0
0
0
0
0
0
1
0
0
4
0
0
0
19
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
-11
0
0
0
-3
-34
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
35
0
0
-4
2
0
3
-2
0
0
0
0
0
0
0
0
9
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
23
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
-9
0
-2
-4
6
10
0
-2
2
14
0
0
16
31
0
0
-5
0
0
-7
17
6
0
0
13
3
2
6
4
5
0
0
4
0
1
0
3
1
0
0
8
0
0
-1
-3
17
0
0
0
0
0
0
0
2
0
-1
0
0
0
1
0
2
0
0
6
0
0
0
14
-3
0
0
-28
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
-4
0
0
0
8
0
0
0
0
0
0
0
-9
0
0
0
2
0
0
0
9
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
9
0
0
0
-3
1
0
0
5
0
0
-3
-13
4
0
-1
10
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
23
2
0
1
0
0
0
0
6
-8
0
0
-5
0
0
-4
-18
10
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-1
-1
-11
-8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
3
11
0
1
16
-2
0
0
41
-26
0
0
-49
0
5
-3
-17
-8
1
-3
15
-1
0
-8
-4
-71
0
0
0
0
0
0
2
-1
0
-2
-17
0
1
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-4
0
0
-48
0
-2
0
-32
0
0
-6
-9
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
0
0
0
6
25
0
-5
0
0
0
-1
9
-4
0
0
-5
0
0
1
-6
-14
0
1
14
0
0
-3
-33
-3
0
0
0
0
0
0
0
3
0
0
-9
0
1
0
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-10
0
0
0
0
0
0
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
-4
0
0
-3
0
5
-6
-1
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
4
1
64
-6
0
-3
30
7
0
-1
71
35
0
0
-13
1
-1
-7
15
-9
4
-8
-34
0
0
-10
-9
-11
0
0
-9
0
0
0
22
-4
0
-24
39
0
1
0
-3
-54
0
0
0
0
0
0
0
-7
0
-13
0
0
0
11
0
8
0
0
-88
0
0
0
-26
0
0
0
-36
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
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
-10
-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
-23
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
10
0
0
0
-1
28
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
66
0
0
4
0
0
0
-22
32
0
0
17
0
0
0
-26
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
-10
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
-5
0
0
0
15
4
0
-3
-1
-1
0
1
13
11
0
0
16
0
0
0
-6
-18
0
-7
-1
0
0
8
-1
-15
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
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-13
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
-11
0
0
0
0
0
0
77
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
-161
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-32
-22
0
-4
11
0
0
-1
-10
-62
0
0
-3
0
0
0
45
1
0
-1
1
0
0
14
0
-19
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
17
2
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
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
-16
-10
0
0
-1
1
0
5
-25
-3
0
0
0
0
0
2
-30
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
-23
11
0
0
2
0
0
0
27
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
9
10
0
0
1
0
0
0
48
1
0
0
4
0
0
0
5
-6
0
-2
-2
0
0
-11
-24
1
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
1
0
0
0
11
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
-8
-6
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
1
0
0
0
-2
0
1
-28
17
0
0
-30
0
0
0
9
-36
0
-5
3
0
0
-25
-2
-17
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
-19
0
0
-18
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
10
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-13
0
0
0
0
0
0
-1
2
0
0
0
0
0
11
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
14
0
0
0
-157
9
0
1
41
-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
-9
0
0
0
5
0
0
0
0
-9
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
-1
0
-16
-86
0
5
8
-3
0
0
-5
-3
0
0
-14
0
0
-1
-6
-153
2
1
0
1
0
-10
0
-4
0
0
0
0
0
0
0
23
0
1
-5
-3
-1
7
-6
0
0
0
0
0
0
0
0
-40
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
47
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
1
19
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
0
0
0
-7
19
0
1
0
-8
0
-1
-25
-5
0
0
-9
-5
2
0
-4
-7
-3
2
22
0
0
-31
4
12
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
-13
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-1
-1
8
0
0
0
0
0
0
-1
-1
0
0
-4
0
0
0
-9
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
-13
0
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
-3
0
1
22
-1
0
1
-13
-18
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
-112
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
2
0
-5
-8
0
-2
2
0
0
-9
3
2
0
0
7
0
0
1
-3
-16
3
-5
2
0
0
-1
22
15
0
0
0
0
0
0
0
0
0
0
-6
0
0
15
-4
14
0
0
0
0
0
0
0
-1
0
0
0
0
0
-39
0
-13
0
0
-3
0
0
0
0
0
0
2
-19
0
0
-178
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-10
-15
-24
0
6
-17
-4
0
-1
-169
-14
0
0
8
0
0
-3
2
-4
5
-6
-17
0
0
-36
-63
-61
0
0
-3
0
0
0
0
0
0
-2
1
-1
0
5
-128
-22
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
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
-1
-23
-7
5
0
-3
-33
-14
0
6
-51
-46
0
0
-49
0
-2
2
-16
-4
-6
5
-8
-3
-1
-18
-5
-184
0
0
-2
0
0
0
-16
0
0
0
-3
-1
0
-2
-9
-125
0
0
0
0
0
0
0
0
0
-6
0
0
0
-8
0
-119
0
0
0
0
0
0
-2
0
0
0
-75
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
3
20
0
11
-36
9
0
-13
37
-5
0
0
-21
0
3
-4
4
-29
-5
20
-36
-4
-7
-47
-31
-62
0
0
-30
0
5
1
-1
35
1
-9
32
3
5
14
-26
-51
0
0
10
0
0
-1
3
0
0
-9
-21
0
0
-1
15
-91
0
0
-76
0
-3
-1
-5
-2
0
-9
20
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
-6
-9
0
0
5
0
2
0
0
0
0
14
0
0
1
0
0
3
0
1
0
0
-1
0
0
0
0
13
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-108
-5
-4
0
-4
23
0
0
9
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
20
-81
-3
2
0
-5
0
0
0
0
1
0
-3
-63
34
-1
49
5
-7
7
-74
0
-3
0
0
9
0
-16
0
-69
-3
-2
34
-17
11
12
-23
-13
21
0
0
0
0
0
0
-42
1
0
25
-15
0
0
-9
0
16
0
0
-5
0
-2
0
66
0
0
-25
-143
-10
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-2
-35
-4
-53
9
0
0
-33
-9
6
6
14
21
-2
1
-36
-9
-25
-3
-36
18
0
0
2
0
-5
-8
-13
-60
2
18
-34
2
-34
-2
-25
-58
0
0
0
0
0
0
6
-28
-4
61
-33
-3
0
19
-3
47
0
0
-14
0
0
0
-14
-88
0
-56
-29
0
-14
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
-16
0
0
-7
0
3
1
-7
0
1
7
-8
2
0
21
-7
37
0
0
-7
0
0
0
5
0
0
10
14
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
16
0
-4
6
32
-5
0
0
15
0
1
0
28
-2
2
5
-3
16
-3
31
-30
26
0
0
-2
0
1
0
-15
-5
0
5
20
2
7
5
1
-16
0
0
0
0
0
0
0
3
0
25
1
0
0
3
0
0
0
0
-10
0
0
0
12
-2
0
13
30
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
-5
-1
-19
0
0
0
0
0
0
5
-11
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
-10
0
0
0
0
0
0
-1
41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
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
16
0
0
0
-9
0
1
0
11
-6
-1
0
27
0
0
76
-2
0
0
0
0
0
0
0
0
1
0
0
9
0
0
-1
0
1
0
0
0
0
0
0
0
2
0
-1
0
0
0
17
0
2
0
0
15
0
0
0
13
0
0
0
-2
0
0
-14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
18
0
2
-5
-32
-14
1
73
-46
-14
20
-56
-185
-77
0
0
-9
0
-10
-1
6
-23
-3
-14
-121
10
-4
-3
-76
-92
0
0
27
0
0
0
0
-4
0
10
25
0
0
69
82
22
0
0
19
0
0
-4
13
0
0
-41
-202
0
27
-28
-123
-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
-74
0
0
5
2
-1
3
-3
2
3
-24
57
0
-7
16
-6
95
0
0
-5
0
-3
2
-27
-4
2
13
-14
-4
6
18
-18
-148
0
0
2
0
0
0
0
-1
0
-17
5
0
0
9
1
51
0
0
0
0
0
0
1
0
0
-4
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-6
-2
4
0
-25
1
-1
0
0
-28
0
0
0
41
14
0
-3
-13
-1
10
0
27
-37
0
0
4
0
0
0
0
-8
0
53
6
0
2
16
0
-41
0
0
134
0
0
0
9
0
0
-10
-23
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
-6
4
0
0
0
1
-27
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
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
20
15
-5
-11
0
-110
1
27
0
0
-1
0
0
-1
-86
-11
5
-14
-53
-13
-10
-15
-23
-7
0
0
0
0
0
0
-77
0
0
-6
1
-3
0
24
0
14
0
0
-5
0
0
0
-72
0
0
-5
-135
4
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
-40
2
-27
-21
-2
0
-1
-1
-3
0
0
-3
0
0
0
-1
-62
0
13
5
0
2
-17
6
-4
0
0
0
0
0
0
0
-84
0
-16
-14
-2
0
-8
0
-10
0
0
-3
0
0
0
0
10
0
-3
3
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
14
-5
-18
0
0
24
0
0
0
-2
5
0
-60
-2
5
-9
-1
-4
-43
0
0
0
0
0
0
0
-7
0
-54
0
0
0
-5
0
-19
0
0
-4
0
0
0
0
0
0
-20
-23
-5
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
3
-53
0
0
2
0
0
3
-5
-11
-1
-1
1
-2
8
-1
1
15
0
0
0
0
0
0
0
-4
0
-4
3
0
0
5
0
36
0
0
-19
0
0
0
-14
2
0
13
-4
-4
0
69
-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
-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
9
-19
-27
0
0
-1
0
0
0
-30
11
0
-5
8
-1
1
-46
20
-17
0
0
0
0
0
0
0
2
0
-14
1
0
0
-81
0
-18
0
0
-82
0
0
0
-9
0
0
14
-42
-10
13
-47
-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
-4
3
0
0
-3
0
0
0
0
-2
0
-29
2
0
0
0
-96
-15
0
0
0
0
0
0
0
0
0
25
0
0
0
4
0
-43
0
0
1
0
0
0
0
0
0
-1
59
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
-3
-1
-11
0
0
-10
-64
-3
-9
23
-20
-184
0
0
5
0
0
1
0
0
0
-32
-14
0
0
10
0
-203
0
0
-9
0
0
0
-7
0
0
-27
-79
0
0
-64
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-95
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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
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
-43
0
0
-2
-75
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-63
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-4
0
-7
8
0
0
0
0
0
0
0
0
0
6
0
0
0
5
0
-5
0
0
7
0
0
0
1
0
0
-162
-90
0
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
1
-1
0
0
-7
0
-50
0
0
-48
0
0
0
-55
-3
0
-4
14
-2
0
-14
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
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
72
0
0
0
0
1
0
0
0
-3
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
4
0
0
0
-9
0
-11
0
0
0
0
0
0
0
0
0
-1
-33
0
0
-4
-197
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
5
-4
0
0
0
0
-77
0
0
-30
0
0
0
-16
0
0
4
-257
-5
0
-29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-93
0
0
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
104
0
25
0
0
0
45
0
-155
0
0
0
0
0
0
55
0
0
-7
0
0
0
1
0
0
0
0
0
0
0
0
-42
-76
0
-8
0
0
0
0
0
5
0
0
0
0
0
0
43
0
0
-6
0
0
0
0
0
-3
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
48
0
-2
0
-13
-33
0
-56
51
-1
27
30
-25
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-25
39
0
-18
32
0
-8
44
-15
5
0
0
79
-3
0
0
21
1
0
45
40
14
-3
-5
-43
-33
0
0
-32
0
20
0
-86
118
-2
-11
-82
-27
-13
13
64
28
0
0
0
0
0
0
-7
-20
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
0
0
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
-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
-6
0
0
0
-20
33
0
-8
0
0
0
3
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
11
-6
-5
-21
101
0
10
14
-1
0
-2
15
16
0
0
21
0
0
3
24
-62
-11
-12
20
-22
0
-7
-10
29
0
0
-3
0
-11
0
18
-18
0
-39
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
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
11
0
-47
0
0
0
-1
14
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
0
-9
0
0
0
-8
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
-1
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
-106
0
-23
0
-4
44
0
-24
-14
29
94
20
-79
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-59
-56
0
4
5
-3
-13
17
-27
-2
0
0
-17
1
-1
0
-29
20
-1
-21
-8
-12
0
-18
-24
-11
0
0
1
0
39
-1
-51
-83
3
-3
4
5
75
31
0
43
0
0
2
0
0
0
0
-58
0
5
0
0
3
2
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
0
0
0
0
0
0
0
0
0
0
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
-39
0
0
6
0
0
-11
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
5
-4
50
-46
0
-3
-17
0
0
-6
-17
2
0
0
-21
0
0
0
-42
-75
-2
9
-11
-2
0
-35
-13
-15
0
0
2
0
6
0
11
-35
0
5
2
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
-1
0
-1
0
4
10
53
0
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
-1
-2
0
-2
-4
-1
0
0
11
0
0
0
-18
-27
-1
45
-18
-13
0
-20
22
31
0
0
-6
0
1
0
-18
-19
8
10
5
0
14
2
41
-5
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
14
56
0
1
2
0
0
3
7
-8
0
0
0
0
0
0
16
-19
-1
10
1
0
0
-2
11
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
-147
35
10
2
19
32
64
0
0
0
0
0
0
-8
2
0
17
0
0
0
10
-13
-15
0
0
0
0
0
0
17
-23
0
-77
0
-7
0
3
-8
1
0
0
0
0
0
0
6
7
0
-13
0
0
0
0
10
0
0
0
0
0
0
0
0
86
0
-8
0
0
0
-3
0
-23
0
0
0
0
0
0
6
0
0
23
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
-1
80
-6
3
7
-5
-46
-5
2
26
27
-34
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-4
-15
-5
25
-41
0
93
71
55
29
-78
-53
30
0
0
9
-16
-23
104
34
15
-17
-32
-39
27
2
55
-26
-7
0
0
60
32
44
5
-50
-31
2
-122
-20
11
34
27
16
34
0
0
-20
1
18
2
35
-30
6
-50
12
8
16
-3
-18
26
0
0
64
0
-2
0
71
44
2
-16
-1
0
-2
-26
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
2
5
0
-5
0
-6
4
-14
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
42
0
29
0
-30
95
0
-4
31
5
15
37
1
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-3
143
9
-44
60
0
-72
-36
72
31
8
-53
80
0
0
76
7
17
41
23
62
-7
-93
138
-18
-7
36
-34
-13
0
0
42
0
56
10
8
-26
0
73
3
-25
-22
2
-65
-37
0
0
3
0
2
3
13
53
0
34
14
0
0
3
0
-53
0
0
87
0
14
1
37
23
0
-6
-11
0
-1
-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
0
0
0
0
0
0
0
3
13
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
4
0
4
0
-62
-10
0
-5
-7
1
-31
53
77
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
5
29
0
-13
-7
2
0
5
73
0
0
0
-16
-3
0
0
-68
78
4
-46
7
-26
-2
28
31
-98
0
0
16
0
5
-3
-18
22
-3
34
14
1
16
4
54
-9
0
0
0
0
0
0
1
2
0
17
0
0
0
-5
0
-28
0
0
0
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
-19
0
0
-4
-34
-23
0
-9
24
1
0
-1
-51
-101
0
0
-13
0
0
2
-32
-48
6
-9
0
0
0
-2
5
-23
0
0
2
0
0
0
-35
6
0
-10
14
0
-2
0
-9
-11
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
-10
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
-1
0
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
1
0
1
0
0
0
4
0
21
0
0
0
0
0
0
0
0
0
5
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
-6
60
28
-72
0
-6
-14
44
-44
-22
58
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
1
0
103
-108
0
-35
-17
-1
16
2
-28
-68
0
0
29
-17
-13
-19
73
-14
-34
-123
31
-25
-54
-52
104
64
0
0
-60
0
-82
8
27
16
-51
-22
133
32
73
-9
-8
11
0
0
5
0
7
4
13
-5
-6
-95
-77
0
-5
33
68
-88
0
0
1
0
0
-2
41
1
4
-47
9
0
6
9
-160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-33
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
13
0
18
66
0
1
-5
0
-22
-49
-104
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
61
-5
-6
33
2
53
14
0
-14
14
53
5
0
0
-7
0
-23
20
-17
-70
-47
-32
-32
2
10
-25
18
-62
0
0
-45
0
18
-1
-22
-2
0
8
-67
0
6
4
-20
68
0
0
7
0
0
5
1
-13
0
25
2
0
0
-74
0
-53
0
0
17
0
1
0
33
-35
0
14
-5
0
-4
-68
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
-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
-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
-30
0
-22
1
-26
139
-4
13
17
14
15
11
-6
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
10
34
0
-5
-55
3
5
49
-25
41
0
0
20
1
0
22
43
6
0
-6
-24
-52
3
-36
5
-41
0
0
-14
2
-8
-2
-31
-49
-5
38
53
-7
34
-19
-26
-21
0
0
-4
0
0
0
-31
-4
0
-62
-5
-1
3
11
-5
-104
0
0
0
0
0
0
1
-50
0
7
0
0
0
-33
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
11
0
0
13
-1
0
9
-11
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
1
0
8
-17
29
0
-29
-22
1
0
13
61
-145
0
0
-14
0
-6
0
-168
7
-14
-7
-32
0
0
-6
13
5
0
0
34
0
0
0
-53
45
0
-9
2
-2
0
0
2
-14
0
0
3
0
0
0
0
-19
0
2
1
0
0
0
0
-74
0
0
-28
0
0
0
-12
2
0
-3
7
-6
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
-8
-46
-77
0
0
0
0
0
0
4
0
0
7
0
0
0
-10
5
-10
0
0
0
0
0
0
-30
-6
-1
8
0
-1
-1
-9
-21
-19
0
0
0
0
0
0
-19
1
-1
-2
0
0
0
1
1
-11
0
0
0
0
0
0
0
-32
0
-50
0
0
0
-20
0
-4
0
0
0
0
0
0
9
0
0
-5
0
0
0
18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-22
-61
-10
26
33
58
-7
-12
2
-95
105
5
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
1
19
6
58
119
4
37
-126
37
6
-21
7
24
0
0
-60
43
2
-15
-33
53
19
-26
-17
-103
-25
-17
49
-78
0
0
5
-23
60
-5
-1
115
-7
-37
-46
40
-10
42
35
87
0
0
7
0
4
-2
-22
68
10
-23
-6
4
21
23
-7
-10
0
0
-73
0
-5
0
-87
-54
0
16
-3
0
-3
5
-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
3
11
0
10
0
0
0
23
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
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
14
0
0
2
0
0
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
-17
-1
-5
0
0
11
-14
-13
-56
33
24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-20
57
50
54
-13
-1
12
-4
-58
3
16
-34
72
0
0
9
-3
3
36
14
-1
29
-46
12
21
-5
-88
-32
-18
0
0
-14
5
-8
-3
-3
31
0
68
-1
-7
-28
-5
5
37
0
0
-3
0
3
0
9
0
0
-10
6
0
0
-33
0
65
0
0
-44
0
-3
0
-72
-3
0
-6
17
0
0
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
30
0
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
0
0
0
-4
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
-5
0
0
0
0
0
0
0
0
0
0
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
-35
-6
-9
-49
-2
45
-32
-8
-6
-119
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
52
-66
0
3
90
11
-9
-53
12
55
0
0
32
44
-4
-8
-41
96
0
-61
-23
-73
-2
-65
35
31
0
0
56
5
-42
0
42
-30
26
9
-68
26
5
-59
-18
101
0
0
-26
0
0
0
0
75
0
11
1
0
-1
-7
0
4
0
0
5
0
0
0
14
-14
0
-16
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
-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
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
6
0
0
0
-1
-11
0
-2
1
-4
6
7
-31
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
5
-1
-7
0
43
4
7
-56
-5
-15
-29
-104
7
0
0
32
4
3
-34
15
-134
3
9
-53
0
0
-10
78
-5
0
0
-5
0
0
0
5
0
0
-43
-34
-1
0
-8
1
-3
0
0
-1
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
8
-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
-32
0
0
0
0
0
0
0
0
0
35
0
0
0
0
-1
0
0
0
0
0
0
0
7
0
2
71
0
13
0
26
21
8
0
0
0
0
0
0
5
0
0
-14
0
0
0
10
-3
-11
0
0
0
0
0
0
-1
26
0
-23
0
0
1
9
0
16
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
-38
-14
-54
2
40
-66
9
4
-94
-33
-46
-64
92
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-2
1
2
-6
34
0
-108
-73
-18
0
1
109
-27
0
0
83
54
22
-4
-1
0
18
-7
15
0
-124
48
29
-5
0
0
-97
3
-56
-48
-100
15
-8
-8
-76
10
58
-14
-22
13
0
0
-23
0
1
4
66
-18
11
-18
16
2
25
-10
50
-72
0
0
62
0
0
0
34
0
0
26
0
0
7
-18
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
23
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
11
0
0
-13
0
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
29
2
-12
-49
0
-21
90
11
-24
2
-37
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
-11
12
-98
50
-17
-112
2
-4
-14
-52
65
-64
0
0
7
29
1
-22
60
9
-9
-45
38
8
5
18
-38
-66
0
0
-31
-2
15
-8
5
-62
-4
9
-139
-5
14
-22
-61
26
0
0
2
0
15
-5
4
-10
0
-10
-2
0
3
-55
0
-48
0
0
-86
0
2
5
22
0
0
20
2
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-100
-22
0
0
0
0
0
0
-9
11
0
0
0
0
0
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
-5
17
0
4
0
0
0
-2
0
0
0
0
5
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-37
26
0
0
0
0
0
-8
0
0
0
0
-1
0
0
0
4
35
0
5
0
0
5
0
-18
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
10
-2
-3
0
0
0
0
0
0
-1
9
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
3
0
9
27
0
-4
0
0
-6
4
-78
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-62
-62
0
0
0
0
0
0
-17
3
0
0
11
1
0
5
20
-2
-2
-24
40
5
6
-14
-1
68
0
0
58
0
-22
1
-56
31
0
-47
-33
0
-31
0
24
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
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
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
-1
0
25
-3
0
-5
0
0
0
-6
-41
-8
0
0
1
2
0
-2
13
6
0
1
2
0
0
-25
-1
-8
0
0
0
0
0
0
-10
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
-9
-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
5
0
-5
0
0
0
1
0
-4
0
0
0
0
0
0
-14
10
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
8
0
0
0
0
0
-30
-2
0
0
0
-1
0
0
0
2
-5
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
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
-15
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-9
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
3
0
0
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
44
112
0
-11
4
-1
64
-48
1
18
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
-5
0
0
0
1
6
0
0
0
27
0
-2
0
-24
-5
0
-11
-7
9
0
-92
-2
6
0
0
17
0
-20
0
-7
10
0
2
-24
0
3
-1
58
21
0
0
0
0
0
0
-4
-5
0
-1
0
0
2
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
8
0
0
0
0
5
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
-54
0
0
0
66
91
0
1
0
0
0
0
0
-35
0
0
-5
0
-9
0
-41
33
-5
-1
-1
0
0
19
1
7
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
71
0
0
0
0
0
14
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
-10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-16
-5
0
3
0
0
0
-7
-20
4
0
0
3
0
0
0
3
-1
0
-8
0
0
-18
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
0
0
0
0
-4
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
99
0
4
3
0
2
34
-88
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
14
0
-4
9
0
0
3
-9
-14
0
0
-8
0
0
0
16
10
0
-7
-36
0
-2
43
58
-24
0
0
-10
0
0
0
-27
-19
2
14
10
0
19
2
8
-49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
-3
0
0
0
10
-10
0
0
-23
0
0
0
19
0
0
-5
0
0
0
-5
11
-41
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
-21
74
0
0
-1
0
-2
-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
35
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
24
35
0
23
-14
-1
0
-21
0
-5
0
0
4
0
0
0
-41
-7
0
100
0
0
5
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
41
0
0
0
60
71
0
-5
1
0
0
0
0
-24
0
0
0
0
0
0
26
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
15
-43
0
-3
0
0
0
13
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
99
5
0
-2
0
0
0
-5
0
0
0
0
-3
0
0
0
5
-23
0
0
0
-1
0
-37
-7
0
0
0
0
0
0
0
2
-14
0
-8
0
0
1
0
-17
-5
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
11
0
0
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
42
-13
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
-1
-3
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
-13
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
5
-13
0
0
2
0
0
-5
4
0
0
0
-7
0
0
0
-43
62
-49
-17
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
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
-5
0
0
0
-46
43
0
0
1
0
0
0
6
-4
0
0
0
0
0
0
-21
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
-9
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
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
64
-16
-2
-16
37
10
8
3
-99
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
24
81
0
3
-2
-7
0
-4
42
-20
0
0
-11
-22
0
5
51
79
-1
14
-67
-1
0
25
2
42
0
0
-51
5
-14
-10
88
22
0
77
86
74
-141
21
-7
-39
0
0
0
0
0
0
1
-34
0
-30
0
0
0
-2
0
50
0
0
4
0
0
0
-6
-4
0
-3
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
-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
-17
0
0
0
-47
21
0
1
15
0
-5
11
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
5
-11
-14
64
0
27
18
-1
0
2
101
-49
0
0
20
0
6
0
-61
10
1
-1
14
0
0
-8
46
33
0
0
8
0
0
4
1
2
0
27
-25
-1
-3
0
-3
-28
0
0
0
0
0
0
0
-1
0
-20
0
0
0
-9
0
2
0
0
3
0
0
0
33
5
0
0
-5
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
19
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
-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
-49
-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
-26
-10
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
44
-33
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
6
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
-82
0
5
0
0
-1
0
0
0
22
-5
0
0
0
0
4
0
-22
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
-14
35
0
0
0
0
0
0
6
10
0
0
0
0
0
0
0
16
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
-9
-29
0
0
0
0
0
4
-52
-39
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
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-41
-43
2
-25
0
0
0
1
3
-12
0
0
0
0
0
0
0
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
18
24
0
-1
0
0
0
0
9
-14
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
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
0
-40
93
0
-32
-7
-7
52
-32
2
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-30
-13
0
-20
24
4
0
-20
80
66
0
0
-16
-5
0
0
-5
-73
0
-6
5
21
0
96
6
68
0
0
44
3
19
-2
-94
60
3
-31
-1
-5
40
6
-9
130
0
0
-5
0
0
0
-8
46
0
4
0
0
0
-1
0
14
0
0
0
0
0
0
-62
-14
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
0
0
4
-2
2
-9
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
123
-9
0
0
-55
-20
0
35
-35
0
0
9
9
24
0
0
10
0
10
-8
-19
-53
-2
-33
2
1
0
-1
-2
-28
0
0
33
0
0
0
36
46
0
22
-1
0
0
-14
0
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-5
0
0
-36
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
57
0
0
0
-41
19
0
3
3
0
-5
58
33
-53
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
5
5
0
0
-4
23
-33
0
0
1
0
0
0
16
-129
5
30
-31
0
0
100
52
-36
0
0
5
0
0
0
22
24
0
49
-43
4
1
-2
-45
-65
0
0
0
0
0
0
0
-6
0
0
0
0
0
-2
0
-14
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
-13
-25
0
0
5
0
0
0
76
-7
0
0
-1
0
0
0
-13
-46
0
0
0
0
0
0
-20
-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
-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
-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
-93
0
0
0
118
63
0
9
9
0
20
-5
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
46
35
0
7
14
0
4
0
35
15
0
0
-2
0
0
0
-33
14
0
28
34
-4
0
26
-46
-3
0
0
74
0
5
-9
-25
-51
-5
-19
16
14
-13
14
-29
-164
0
0
0
0
0
0
-7
6
0
7
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-1
0
0
-22
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
5
4
37
24
0
0
-1
0
0
-23
-37
-70
0
0
1
0
0
-5
-53
0
0
-17
1
0
0
23
0
-12
0
0
0
0
0
0
4
-5
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
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
-29
0
-1
-2
0
-45
4
19
78
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
0
0
0
0
0
0
0
-1
0
0
0
23
-32
0
-20
-5
0
0
7
2
2
0
0
0
0
0
0
-37
-31
0
33
0
0
-8
0
-5
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
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
14
-54
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
-120
-2
0
-9
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
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
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
-1
0
0
0
-3
-1
0
0
0
0
0
0
0
-2
6
0
1
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
2
0
0
0
5
4
0
14
4
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
7
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
-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
23
-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
-14
0
0
0
0
0
0
0
-10
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
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
48
0
8
0
94
43
0
-48
-16
4
38
-33
61
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
64
-29
0
-19
-9
1
-2
0
-16
-44
0
0
33
0
1
5
16
-23
0
25
6
3
-1
95
24
-14
0
0
21
0
6
0
-4
5
0
-31
17
-9
32
-5
51
-150
0
0
0
0
0
0
4
1
0
23
0
0
0
-8
0
81
0
0
1
0
0
0
25
3
0
1
0
0
0
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
7
0
0
0
13
2
0
0
1
0
0
-16
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-1
-7
78
-15
0
-8
-20
-1
0
0
63
15
0
0
-14
0
0
0
5
2
-1
7
-16
0
0
59
-5
23
0
0
0
0
2
0
-7
2
0
-1
-14
0
0
0
0
16
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-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
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
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
-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
61
46
0
13
-3
2
23
39
-48
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
35
0
-1
0
0
0
1
-1
-3
0
0
-4
0
0
0
43
43
0
0
7
0
0
3
14
-62
0
0
31
0
0
0
19
-34
0
14
0
0
1
0
51
5
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-4
0
4
73
0
0
0
0
0
0
35
13
0
0
0
0
0
0
106
17
0
-9
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
23
0
4
0
0
45
22
24
14
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
6
0
0
0
-2
0
0
0
5
-80
0
53
0
0
0
-5
81
-50
0
0
5
0
-8
0
0
5
0
-43
11
0
-4
0
68
-106
0
0
0
0
0
0
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
4
-19
0
0
0
0
0
0
-16
-24
0
0
-5
0
0
0
2
2
0
-3
5
0
0
0
6
-8
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
-55
0
-2
0
39
-53
0
-22
-4
1
33
113
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-23
0
-4
-5
0
0
-1
-9
-3
0
0
-23
0
0
0
118
57
0
-21
-26
11
6
-31
54
5
0
0
-18
0
0
-1
51
-80
0
-33
13
0
10
0
-54
35
0
0
0
0
0
0
-2
3
0
2
0
0
0
0
0
-88
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
1
0
-15
2
0
-13
4
0
4
0
-8
-31
0
0
-36
0
0
0
45
-21
0
-4
10
0
0
-5
1
-63
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
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
6
0
0
0
0
8
0
4
0
0
0
0
0
0
0
0
4
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
1
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
13
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
7
0
-2
0
0
0
45
0
-17
0
0
0
0
0
0
71
-33
0
-7
0
0
0
0
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
-10
0
0
0
-83
23
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-130
25
8
-6
-33
15
-40
30
-45
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-1
27
42
-3
-17
-128
-9
-66
-86
89
-8
0
0
14
0
-13
2
-27
22
-7
-45
-43
2
14
-38
68
30
0
0
-27
0
11
2
20
40
-15
-52
29
97
-24
-27
7
-2
0
0
0
0
0
0
0
87
0
-35
0
0
0
2
0
1
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
-53
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
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
-53
36
5
10
-77
-69
-5
26
-43
-1
0
44
-19
-8
0
0
15
0
0
-2
11
82
15
75
15
-22
0
-11
1
-16
0
0
-13
0
0
0
0
14
0
-11
7
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-1
2
-24
70
0
-51
4
6
33
-70
-48
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
51
-38
0
-14
-33
0
-2
13
-40
-22
0
0
14
0
0
-7
-62
-49
1
11
70
-5
10
-60
-13
58
0
0
58
0
2
6
-17
30
-2
-51
65
10
13
41
-18
-11
0
0
0
0
0
0
0
-20
0
54
0
0
0
0
0
44
0
0
0
0
0
0
-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
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
25
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
14
0
3
5
-40
-4
0
24
-33
0
0
1
-52
-35
0
0
-34
0
0
1
-8
-33
2
-2
-10
0
0
-21
-2
5
0
0
5
0
0
0
-7
-4
0
39
2
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
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
5
33
0
5
0
0
-1
0
25
5
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
1
0
0
0
0
0
0
0
0
-25
-36
0
-8
0
0
0
42
-1
33
0
0
4
0
0
0
-13
-85
0
18
0
0
0
0
13
65
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
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
27
0
0
0
0
0
0
0
4
0
0
3
0
0
0
-27
-80
0
-18
13
0
0
-22
0
15
0
0
0
0
0
0
-20
34
0
15
0
0
0
0
-6
-10
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
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
35
0
-5
0
0
41
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
1
5
0
4
-1
0
7
8
0
5
0
0
0
0
0
0
-14
-4
0
-8
0
0
1
-17
0
-7
0
0
2
0
0
0
-35
43
0
2
0
0
-53
0
-37
-57
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
-4
0
0
0
9
11
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
31
-203
0
5
-19
-4
43
52
-74
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-26
-87
0
1
-21
0
2
128
24
-4
0
0
-23
0
0
0
18
26
0
-14
68
14
0
13
54
84
0
0
-23
0
0
0
-29
-20
2
-15
-6
0
-21
-56
6
-34
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
10
0
0
0
0
0
0
6
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
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
0
0
0
0
-16
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
8
0
0
2
0
0
-76
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
54
-90
0
-13
-14
0
0
-13
4
-71
0
0
-29
0
2
-2
9
21
5
-19
7
0
0
5
7
23
0
0
0
0
0
0
0
14
0
26
-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
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
5
0
0
0
0
51
0
0
0
0
-3
0
-102
-59
0
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
0
-1
0
0
9
-1
0
0
0
0
0
0
0
67
0
-5
0
0
0
39
-50
-24
0
0
8
0
0
0
0
14
0
5
0
0
-13
6
47
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
7
0
1
-2
0
0
0
59
-24
0
0
-2
0
0
0
0
-4
0
0
0
0
0
3
9
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-10
0
43
-17
0
25
18
6
-54
-16
-12
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-55
-23
0
19
33
5
-1
-22
-10
48
0
0
24
1
0
9
30
-16
3
1
-10
34
18
-5
8
37
0
0
14
-7
3
0
-68
-98
3
45
-29
-5
-87
12
-23
24
0
0
0
0
0
0
0
-14
0
26
0
0
0
-2
0
28
0
0
0
0
0
0
66
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-1
0
0
-1
0
0
0
-7
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
4
-17
12
-1
0
-15
36
0
0
3
-90
-43
0
0
-85
0
1
2
-58
34
-2
-46
24
0
0
-22
-2
-9
0
0
-10
0
0
0
0
0
0
-25
-10
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
2
-13
0
-17
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
3
13
0
0
0
0
0
0
-66
14
0
5
3
19
0
-41
0
-4
0
0
-2
0
0
0
70
35
-2
8
0
0
-11
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
-9
0
0
0
0
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
-9
7
0
0
6
0
0
8
0
0
0
0
0
0
0
0
-25
0
4
3
0
0
0
-2
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
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-64
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
-53
-21
0
-5
0
24
1
-6
-80
93
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
-31
-5
0
0
-1
-8
-3
0
0
5
0
0
9
-70
3
6
-14
44
16
0
23
-40
5
0
0
14
6
-1
0
4
14
-1
123
21
-3
8
48
-47
2
0
0
0
0
0
0
0
-2
0
29
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-10
0
0
0
-5
28
0
3
22
0
0
1
-84
12
0
0
-2
0
0
-4
-1
-29
0
-8
0
0
0
27
-9
9
0
0
6
0
0
2
23
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
33
4
0
0
0
0
0
-7
19
6
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
0
0
0
1
0
0
0
0
0
0
0
-23
-6
0
10
-2
0
0
-8
30
1
0
0
0
0
0
0
-22
14
0
-14
0
0
0
0
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
5
0
0
0
3
32
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-10
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
60
0
0
1
0
25
-43
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
2
0
0
0
0
0
-14
1
0
0
0
0
0
0
0
16
31
0
-10
-13
-11
0
14
27
-1
0
0
0
0
0
0
-5
5
0
1
0
0
1
-9
-25
-4
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-30
18
0
0
-3
0
0
0
33
0
0
0
3
0
0
0
-21
21
0
3
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
-2
-5
-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
26
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-10
2
0
-2
4
11
0
-9
5
-4
0
0
-5
0
0
0
-5
-36
0
5
0
-5
9
3
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
14
-103
0
0
0
0
0
0
6
8
0
0
0
0
0
0
7
4
0
1
-3
0
0
-3
-8
-1
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
6
0
0
0
0
0
-5
-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
-8
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
-5
-15
0
0
0
1
0
0
0
5
0
0
2
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
21
-8
-35
91
43
39
20
42
-3
-127
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
5
7
2
5
47
-21
-10
37
7
18
0
0
58
-14
1
-7
24
29
3
-23
42
-33
-6
-25
-112
-71
0
0
233
8
-3
30
6
-79
13
47
109
66
-63
-1
-87
-25
0
0
210
0
0
0
-43
65
33
-45
-6
-2
5
-29
5
37
0
0
181
0
0
0
98
14
-16
18
1
-1
-5
-49
81
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-1
-46
-16
24
-1
27
-24
0
0
0
0
0
0
0
0
31
14
0
0
0
50
0
-2
0
0
0
0
0
0
0
0
-7
-81
0
4
-5
-28
-25
10
0
0
0
0
0
0
0
0
0
-5
-6
3
1
5
-24
-6
0
0
0
0
0
0
0
13
0
-61
-6
-2
-15
-9
3
6
0
0
0
0
0
0
1
0
0
8
-5
0
1
-17
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
180
0
5
0
-20
-49
1
8
-15
-13
-1
41
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
19
44
1
-46
-19
-2
-66
157
-40
-20
-35
3
-42
0
0
-20
-24
10
-56
0
-100
48
-21
13
21
-19
-12
-172
-121
0
0
144
0
-7
0
58
71
-37
-25
11
14
5
-14
30
-9
0
0
136
0
0
0
5
5
3
-4
-27
0
0
45
2
8
0
0
72
0
0
0
-27
17
0
6
-44
-8
0
90
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
14
-26
-49
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
-7
36
0
-5
5
0
-6
26
3
-5
0
0
2
41
0
0
-54
62
-1
-21
1
0
9
46
-29
-36
0
0
-3
119
0
0
2
-43
1
-69
13
-1
-2
5
-13
-68
0
0
0
114
0
0
0
-4
0
0
0
0
0
0
0
5
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
-2
0
-72
0
0
0
-1
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
-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
10
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
-2
5
0
0
-9
40
0
-4
17
-1
0
4
-5
-5
0
0
-8
-47
0
0
31
-37
-5
-8
-7
0
0
5
8
-57
0
0
0
-17
0
0
7
3
0
-25
-1
0
0
0
7
-23
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
95
0
-27
2
-9
-9
5
-15
7
1
-37
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
191
0
67
-31
0
-32
14
17
-3
-23
20
-90
0
0
19
0
43
0
-161
-11
17
33
4
56
0
-15
68
-50
0
0
13
0
169
2
-53
-1
-1
-18
-2
-46
-35
-23
68
-52
0
0
0
0
88
0
0
-16
0
-3
0
0
0
21
0
-33
0
0
0
0
96
0
-10
-1
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
1
-5
31
-11
6
0
58
6
-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
15
0
9
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
7
0
1
-7
0
0
23
2
0
14
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
4
-17
-23
21
0
7
35
-1
0
-25
-48
-76
0
0
5
0
2
0
-59
5
15
-6
-45
-13
0
71
-35
-48
0
0
-16
0
129
0
-16
-5
0
43
62
-5
0
6
-4
53
0
0
0
0
75
0
0
8
0
-1
-1
0
0
-7
0
1
0
0
2
0
81
0
-1
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
92
0
2
0
0
4
-10
52
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
152
-50
43
0
-5
-4
7
-1
-1
-5
81
0
0
0
0
0
57
-41
0
8
17
-4
9
-1
-93
-87
-72
0
0
-8
0
-1
85
54
-14
0
-33
-1
0
-22
5
-60
12
0
0
0
0
0
141
0
-14
0
0
0
0
0
5
0
34
0
0
0
0
0
54
-1
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-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
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
2
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
-61
0
-6
-30
16
-59
0
-7
13
3
0
0
-56
-39
0
0
-1
0
0
-65
-63
-49
5
10
13
0
0
10
1
-152
0
0
0
0
0
2
8
-5
0
-20
-3
0
0
0
10
-30
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
-8
0
0
0
0
0
27
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
42
-31
-12
-1
-103
-60
-20
52
69
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
16
43
-19
59
12
-37
-39
-98
-24
57
5
14
-18
0
0
-99
-80
95
63
23
1
-17
10
-19
-101
-7
-12
-6
10
0
0
-67
14
53
-10
23
-26
78
-24
-100
-100
-16
-21
-35
-13
0
0
3
0
0
14
-4
53
32
13
-9
-21
4
44
0
2
0
0
-78
-4
13
5
52
-4
24
-8
-15
12
46
-147
36
-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
31
28
12
28
14
18
-14
89
-63
-69
0
0
0
0
0
0
-1
0
-4
-16
-3
-1
0
22
0
1
0
0
0
0
0
0
-31
15
-24
80
1
22
-11
45
-1
-71
0
0
0
0
0
0
55
0
-1
-5
-3
-8
-1
37
1
-23
0
0
0
0
0
0
4
16
0
38
-45
10
3
-80
0
89
0
0
-1
0
0
0
139
0
0
78
44
2
-11
-88
9
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
-5
-39
-91
22
-2
-82
-74
-54
112
-10
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
61
-39
-18
-14
-18
-52
-44
-67
-13
-72
3
-20
-48
0
0
31
-49
1
-34
19
34
10
-18
-36
-80
35
-23
21
-3
0
0
-22
2
-2
18
15
-104
-2
-49
-2
-35
1
-25
-4
-14
0
0
0
0
0
0
103
-94
-5
-30
6
-20
-3
-33
0
-119
0
0
60
-5
-24
14
61
18
15
-44
-32
-2
-22
-23
65
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
117
94
76
-9
-19
3
-16
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-4
20
80
-27
-4
-52
-23
61
39
61
-80
-21
37
0
0
-95
-79
-37
2
-13
-10
23
-55
-25
17
-1
-21
2
-21
0
0
13
-98
-74
51
-48
32
26
-19
-63
-98
-10
-137
-64
24
0
0
-66
4
-7
16
-13
-7
29
-103
-79
-14
-2
-140
-128
85
0
0
54
14
-5
-14
84
123
34
41
-6
4
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-56
27
82
29
76
-28
7
-5
24
0
0
0
0
0
0
4
-33
-49
45
106
-1
-21
-53
-4
37
0
0
0
0
0
0
-59
-24
31
-82
22
-15
-12
69
-44
37
0
0
0
0
0
0
9
-13
-24
68
-68
-22
-7
-5
4
-27
0
0
0
0
0
0
6
-42
0
-14
-7
-61
10
-43
50
-32
0
0
-1
0
0
0
7
20
0
30
28
-27
7
53
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
-35
-8
-6
28
99
26
50
-53
-48
10
-14
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-32
-1
16
33
17
-49
62
5
-51
31
-3
-29
-25
0
0
-10
6
32
1
59
23
-12
-9
-22
-73
33
14
48
4
0
0
-35
-32
19
-74
5
33
-5
-81
18
-81
39
-19
-13
-54
0
0
49
1
-30
-38
59
-6
-80
32
18
59
-62
-41
-7
-45
0
0
-13
0
0
6
14
71
10
25
-49
72
-35
63
-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
-4
-10
-63
4
1
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-21
25
8
-4
-8
0
4
18
52
-10
0
0
17
0
0
6
20
-64
-136
-26
-35
-24
-7
-53
-1
81
0
0
4
0
4
3
59
-1
21
-15
19
2
-27
31
69
-28
0
0
0
0
0
0
0
37
0
-5
0
0
0
0
0
-20
0
0
0
0
0
0
4
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
11
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
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
-9
0
0
9
0
-4
31
32
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
1
-17
-1
-5
6
29
-1
0
0
-21
-3
0
0
14
0
0
1
10
-69
24
-29
25
1
0
16
27
-106
0
0
-5
0
0
0
5
13
0
-5
3
0
0
-2
-6
2
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
-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
21
107
-7
6
103
87
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
-3
16
-109
14
0
-34
38
-13
3
-62
-139
-61
0
0
8
-1
15
-35
-69
-28
-14
65
-36
-1
-14
32
-26
-53
0
0
-33
4
25
-18
-186
-74
37
-48
33
32
-58
5
38
-6
0
0
-10
0
0
-2
-7
-1
-22
6
7
3
10
-10
-3
-35
0
0
8
0
0
0
-95
33
1
-60
17
0
0
51
-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
-1
11
13
19
-4
-20
-34
0
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
10
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
10
0
0
0
41
0
8
0
0
0
0
0
0
10
0
0
-5
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-4
6
0
16
0
-1
10
8
62
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-15
-6
7
-118
21
-2
-67
-58
11
8
20
16
-39
0
0
23
2
-17
-57
62
-77
19
15
-26
13
2
-8
-33
-45
0
0
6
0
11
6
-31
47
2
-29
33
-11
6
14
28
40
0
0
-1
0
0
0
0
3
0
-55
-1
0
-1
58
0
1
0
0
44
0
0
0
-5
-6
0
-100
31
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
26
59
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
96
2
0
-90
-12
33
-59
-13
-155
-31
0
0
-37
3
6
0
13
-42
43
-19
83
-30
-90
-10
-80
-67
0
0
-23
-19
-152
-2
-127
-13
-61
-15
31
35
-33
-130
-74
-113
0
0
0
0
0
0
22
-3
-22
-35
14
0
-21
-40
8
-86
0
0
-5
0
0
0
-65
72
-2
-5
2
0
2
34
-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
-1
-19
30
21
53
33
-18
-81
90
-72
0
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
9
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
-33
0
0
0
-2
0
-16
0
0
0
0
0
0
14
0
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
-16
0
0
0
0
-59
5
-2
14
2
-4
9
2
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
2
4
-71
28
-66
-1
7
72
-36
-5
17
-76
18
0
0
91
-3
15
24
-38
-157
-25
82
53
8
-14
60
-68
-75
0
0
20
0
3
4
12
-23
12
-51
81
18
-26
-14
7
-60
0
0
0
0
0
0
0
-8
1
26
1
0
0
13
0
-71
0
0
-5
0
0
0
-8
-10
5
-5
-66
-2
0
48
-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
6
-46
-86
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-23
10
0
19
-40
2
0
-2
30
-50
0
0
36
56
-15
13
-32
14
-15
-63
46
-8
-31
-16
-41
10
0
0
63
0
27
11
-46
-25
-16
-53
-34
47
80
-74
-155
-85
0
0
2
0
0
0
15
36
6
-5
3
0
2
33
-10
-15
0
0
0
0
0
0
-4
2
-1
0
0
0
3
-13
-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
-6
6
71
1
-1
0
2
14
-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
-21
0
0
0
9
0
0
0
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
-18
0
-3
0
0
0
0
0
0
1
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
-5
0
0
0
13
-4
0
0
0
0
-1
-34
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
14
-6
-1
-71
-1
-25
-5
1
1
26
-43
-63
0
0
14
-7
3
10
73
-61
1
0
13
-29
0
-75
-23
-111
0
0
10
0
0
0
-8
-43
-9
30
6
-3
5
-2
-35
27
0
0
0
0
0
0
0
14
0
-49
0
0
-1
8
0
37
0
0
5
0
0
0
3
0
2
-2
-5
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-61
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
3
0
-34
-15
65
-24
-17
22
-88
41
13
23
11
0
0
-47
46
4
24
33
-35
92
-106
82
-52
-48
-19
12
-26
0
0
19
29
-51
-27
-60
-45
68
59
-41
-58
94
-27
-20
-96
0
0
1
0
0
10
-66
-160
-43
0
16
-2
-16
24
-108
-84
0
0
-14
0
0
0
-83
-60
17
-18
-4
39
45
-45
-75
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
0
-5
10
29
-33
24
-65
0
0
0
0
0
0
0
0
0
-6
-1
0
0
-33
-3
1
0
0
0
0
0
0
0
0
-5
41
0
15
0
-53
-11
-14
0
0
0
0
0
0
0
0
0
27
0
0
0
-41
1
13
0
0
0
0
0
0
0
19
0
-49
-7
3
-2
20
-1
-33
0
0
0
0
0
0
-15
0
0
27
7
0
11
-23
15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-6
-39
-23
10
52
-27
60
-24
-82
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-134
-20
-41
-13
5
-77
-33
-41
-49
-92
56
51
-10
-62
0
0
-22
14
-1
-48
-5
42
-24
-81
37
-11
-29
53
-27
19
0
0
69
0
1
-17
-10
57
-5
-66
107
65
79
-57
31
20
0
0
-11
0
0
0
2
-51
-8
38
-53
15
-5
-23
-7
-13
0
0
-3
4
0
0
-174
11
-16
-17
-5
22
48
19
-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
-13
-140
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
34
-5
10
-40
29
-26
80
-48
89
-77
115
-45
-39
0
0
30
-15
-115
-78
-13
0
25
-101
-30
-31
-103
73
-61
-68
0
0
100
4
-28
-27
-96
97
48
31
-63
-130
-37
84
-48
0
0
0
-128
0
-5
8
33
-74
12
-83
-44
-48
-71
-35
4
19
0
0
55
0
2
0
-62
-39
12
58
3
4
1
89
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
-53
-4
18
26
23
71
-71
44
-79
-20
0
0
0
0
0
0
0
1
6
0
0
0
0
20
0
0
0
0
0
0
0
0
1
-8
-18
-55
0
14
-8
-8
-30
5
0
0
0
0
0
0
0
0
0
13
0
0
1
19
-2
11
0
0
0
0
0
0
0
-4
0
-42
24
1
1
79
1
18
0
0
0
0
0
0
-4
0
0
41
-19
0
0
-160
10
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
13
2
-24
-48
-11
-1
59
7
-24
-8
-50
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
21
8
-142
-28
-14
56
38
-23
-56
73
28
2
-62
0
0
19
-1
-59
19
-20
-31
-4
29
95
-1
-43
-12
-72
-32
0
0
-33
0
21
1
-61
-36
26
125
40
-16
19
8
-12
-84
0
0
2
0
0
2
-46
-61
-31
113
-34
-7
21
59
-6
-29
0
0
-42
0
7
3
0
-18
-13
-5
27
-13
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-29
5
74
10
30
-5
-63
5
105
-23
-64
1
32
0
0
42
53
-74
-5
52
-21
60
32
24
18
-119
-10
28
-45
0
0
9
-14
17
-33
68
-51
5
-51
-84
-21
18
-84
-28
-23
0
0
-30
0
8
23
0
-102
-15
-62
-56
-15
13
-34
149
-24
0
0
-55
0
-46
-80
34
10
51
-164
-14
-13
1
-109
75
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-72
4
36
43
16
-23
31
0
0
0
0
0
0
0
2
17
5
0
-1
0
4
-55
-21
0
0
0
0
0
0
0
0
-5
-54
0
-71
15
63
-16
44
0
0
0
0
0
0
0
0
6
84
14
0
-1
8
8
30
0
0
0
0
0
0
0
10
0
60
4
-19
0
-52
-8
6
0
0
2
0
0
0
13
5
0
1
1
6
0
-3
-100
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
-6
5
-21
-38
3
-12
-17
-51
-29
-17
-30
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
-20
48
-101
56
0
0
35
40
-10
58
-20
32
-30
0
0
-13
-8
-51
-7
39
6
-7
-22
-24
-8
-47
-33
-34
-93
0
0
64
0
38
-5
-70
-143
-33
36
88
41
-77
-47
-137
-38
0
0
-7
0
15
3
0
13
14
67
-98
1
3
-45
14
-113
0
0
-117
-18
-33
71
-44
-49
4
34
23
-1
-41
-84
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
-54
-18
31
-60
-42
-21
-4
-75
189
43
33
-99
-1
0
0
16
-78
-77
37
-14
-72
57
-25
-19
33
44
-9
-63
-13
0
0
-29
-93
-73
9
19
-46
51
-16
4
-4
-29
-52
3
-24
0
0
-71
-8
-55
1
-53
-96
71
-35
-95
-17
-14
-117
23
-23
0
0
-45
0
2
-7
-101
0
9
-49
13
1
-15
-26
-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
0
0
0
0
0
0
0
0
-39
3
-61
5
-63
-35
-16
-16
-10
-38
0
0
0
0
0
0
0
0
27
50
0
14
5
-25
-1
-44
0
0
0
0
0
0
-7
-2
-6
5
-3
5
-7
0
0
13
0
0
0
0
0
0
0
0
-3
-2
-10
-3
-7
-35
62
-24
0
0
0
0
0
0
18
-91
0
12
-20
-69
52
-65
-69
-117
0
0
0
0
0
0
-21
0
0
147
7
0
0
22
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-1
24
3
-85
-36
-9
9
-51
-54
9
-63
-77
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
17
-100
80
-20
74
-25
31
-45
52
75
-67
-9
-17
0
0
8
78
-55
58
-32
-120
-24
75
23
-48
26
26
12
-4
0
0
-88
0
-27
79
-104
-95
1
-76
41
-10
-53
163
-91
-41
0
0
34
0
-19
20
3
-90
5
-88
14
-1
-53
-1
30
-25
0
0
-84
0
4
-10
-56
0
-18
55
-9
34
-35
80
-38
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
-19
-6
-5
-15
42
26
8
0
0
-1
11
7
1
-5
-71
-17
94
58
-31
61
71
-41
57
0
0
22
0
-37
2
-24
-66
2
114
-77
-6
24
39
-26
35
0
0
8
0
0
0
7
-9
2
-45
-1
0
-30
-84
-18
-8
0
0
45
0
0
-1
-42
4
-1
-3
0
0
3
-29
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
5
39
5
23
-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
9
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
-15
0
5
0
0
0
0
0
0
0
0
0
16
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
36
-4
0
5
-15
0
-27
11
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
72
-17
0
1
71
-7
0
25
-18
-25
0
0
74
-2
-3
0
-103
-46
-25
-14
-55
0
0
43
-10
-72
0
0
-18
0
7
0
3
19
-1
-21
-20
0
-1
-23
-18
7
0
0
-23
0
0
0
0
31
0
16
-2
0
0
20
0
-23
0
0
-131
0
0
0
0
0
0
10
-19
0
8
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
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
42
-63
0
3
4
-2
0
-63
-7
-4
0
0
0
-1
0
0
-17
80
0
50
0
-1
-8
0
27
-22
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
1
-24
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
-13
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
-12
0
-7
72
-2
-81
1
0
0
28
18
10
0
0
1
0
78
0
-10
12
0
23
4
0
-5
1
42
-45
0
0
0
0
-72
0
0
-20
0
2
0
0
0
0
0
2
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
0
0
0
0
0
0
-7
10
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
6
0
0
0
0
0
0
0
0
0
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
39
0
0
-9
0
0
-2
3
-18
0
0
0
0
-1
0
-4
5
0
0
-2
0
0
1
0
5
0
0
0
0
-24
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
-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
3
0
-8
0
-14
0
0
0
0
0
0
0
0
-1
0
0
79
39
-28
4
-24
2
1
0
-14
-9
-116
0
0
10
0
0
50
73
10
0
4
0
0
-7
0
8
-40
0
0
0
0
0
78
0
-33
0
-1
0
0
0
0
0
1
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
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
-6
14
-37
0
-5
-2
0
0
0
5
0
0
0
14
0
0
-2
29
5
2
4
11
0
0
16
9
-1
0
0
0
0
0
5
0
2
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
-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
5
43
-2
-49
-19
-40
47
-8
3
-14
0
0
-44
-1
13
14
-8
-21
-2
7
-20
-67
-24
-64
-27
-41
0
0
39
-12
48
-37
6
10
56
20
78
16
-30
-20
146
-52
0
0
-13
0
0
5
-7
31
18
-5
-29
0
-53
54
0
-30
0
0
-21
0
14
0
8
-6
-10
90
61
39
73
-71
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
11
5
-20
9
33
5
58
-8
-2
52
0
0
0
0
0
0
32
0
6
0
0
0
0
-13
0
1
0
0
0
0
0
0
23
0
6
43
1
-10
-1
-15
0
8
0
0
0
0
0
0
-10
0
0
5
-2
-1
0
-17
0
-6
0
0
0
0
0
0
-7
0
0
-78
5
0
0
-46
0
-21
0
0
0
0
0
0
65
0
0
32
10
0
0
31
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
11
1
-50
-32
-9
9
-23
-9
-19
51
-27
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
5
-55
-20
-4
30
-38
8
-34
-109
-22
80
0
0
-51
1
14
10
-25
-91
-68
-3
-4
3
-1
-45
-21
70
0
0
74
0
5
0
6
-19
-11
-62
-71
16
49
23
29
5
0
0
0
0
0
0
23
-37
10
-42
1
0
8
-30
0
3
0
0
-6
0
-93
1
-25
5
0
-48
-42
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
14
116
-1
47
-12
31
0
0
65
33
-55
22
-82
-26
-58
-6
50
-68
-109
-22
19
17
0
0
12
-8
-69
-27
14
15
2
-39
56
7
10
-21
41
-37
0
0
-32
1
-46
10
-61
-32
-27
-52
-46
-75
-23
9
15
-17
0
0
-74
0
-25
0
40
-3
-7
-10
13
-1
-44
33
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
20
-26
-1
24
-38
1
26
14
-15
-13
0
0
0
0
0
0
0
-33
-14
2
0
0
14
-2
0
0
0
0
0
0
0
0
-9
-23
23
-11
-2
-4
-39
0
10
-34
0
0
0
0
0
0
0
-1
0
-17
1
0
0
18
0
0
0
0
0
0
0
0
0
78
0
39
26
15
10
32
5
10
0
0
0
0
0
0
32
-2
0
19
2
0
0
9
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
1
3
-10
2
79
-22
-41
14
14
-44
-79
-76
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-23
-10
12
-108
-3
-40
-88
62
-7
-33
-57
101
48
0
0
-21
-24
10
34
2
-38
-45
4
-53
5
5
-39
2
-14
0
0
-29
-8
18
0
47
22
13
-24
9
-47
-112
-7
-44
14
0
0
5
0
-39
-3
4
-29
-11
-3
133
2
-9
-87
0
-19
0
0
-16
0
0
0
-13
101
0
-18
-88
5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-58
-24
-22
15
0
0
-13
-3
-1
0
0
7
0
0
0
14
-9
1
-16
2
0
-7
0
8
-32
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-8
37
0
0
0
0
0
0
-2
-2
0
0
13
0
0
0
25
1
0
-19
-1
0
0
3
0
9
0
0
0
0
0
0
3
20
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
34
-7
47
-1
-46
18
5
0
0
-5
-18
-24
-22
-18
-42
-23
-27
23
3
-11
48
98
7
0
0
11
-1
-32
23
65
-19
-43
102
18
-59
-4
-1
-72
5
0
0
-14
0
0
0
5
-51
1
-33
-16
-1
6
-4
-5
4
0
0
-4
0
0
0
-23
66
9
-45
4
0
0
-52
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-32
1
0
26
-52
-25
13
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
-11
0
0
0
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
2
0
-35
0
0
0
-5
0
-3
0
0
0
0
0
0
-2
0
0
15
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
7
0
-1
53
0
-5
19
-1
-19
77
34
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
2
-13
-99
-105
2
-14
53
-5
-1
19
-18
-59
0
0
-5
-1
-7
14
-4
-46
-29
-43
-70
0
-1
1
-33
51
0
0
-44
0
0
-5
-97
-68
0
84
-23
-21
17
3
-6
-34
0
0
0
0
0
0
0
-23
0
38
-2
0
0
10
0
7
0
0
-4
0
0
0
-22
1
0
-46
-16
-3
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
35
-6
-106
-26
-67
28
0
0
92
-21
38
10
88
-35
29
-17
86
-112
-6
-81
23
-100
0
0
90
-41
65
-2
-34
-42
-8
-54
21
26
39
43
54
127
0
0
8
0
-1
0
25
-49
3
17
3
1
28
-14
-44
-24
0
0
0
0
0
0
-78
-53
-2
32
-1
0
0
-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
-16
-39
10
0
0
53
-7
10
-14
-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
30
0
0
0
-1
-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
-16
0
-3
5
2
0
-23
0
-29
0
0
0
0
0
0
2
0
0
43
0
0
0
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-3
0
19
-53
0
17
-53
1
-8
-25
-5
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-128
0
-57
-6
-39
-1
-11
-10
-76
15
-4
-40
-107
-28
0
0
-46
1
23
-17
-129
13
-66
-3
62
-5
2
-78
-23
9
0
0
22
3
8
-6
-94
94
-2
84
84
-18
33
-85
12
1
0
0
1
0
0
0
0
-14
0
-10
0
0
0
14
0
97
0
0
-2
0
0
0
-58
5
0
-1
-26
7
0
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-24
51
13
0
0
-20
0
-27
8
-100
-25
-14
-113
-34
-3
-6
-109
-8
-89
0
0
25
0
37
-6
33
-28
-7
-82
2
0
33
28
72
-21
0
0
-16
0
0
0
-15
9
1
0
0
0
7
-20
-2
14
0
0
-1
0
0
0
17
0
0
0
1
0
0
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
-2
-3
7
-60
0
0
0
22
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
-32
-41
0
2
1
0
9
18
10
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-32
100
0
-3
10
0
0
-3
22
31
0
0
10
0
-4
-3
-1
22
25
-5
-23
0
0
8
-53
-72
0
0
-6
0
0
0
-5
53
-2
44
20
0
-1
-2
-37
-7
0
0
-4
0
0
0
0
2
0
0
0
0
0
6
0
18
0
0
-1
0
0
0
-9
10
0
13
-14
0
0
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
7
-58
71
-26
0
0
22
4
0
-14
-84
-68
-5
-25
-17
-101
110
20
100
-27
0
0
76
0
0
1
-55
-36
-39
-53
22
-6
52
-13
-107
6
0
0
0
0
0
0
-51
23
0
43
39
-9
-39
-20
1
60
0
0
0
0
0
0
-27
-24
2
-20
4
0
-48
23
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
5
0
3
-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
-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
0
0
-7
0
11
0
0
0
33
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
-11
0
0
0
38
13
0
15
10
0
-2
55
-32
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-8
38
43
0
-28
29
-4
0
-19
8
-47
0
0
-30
0
0
-4
72
23
-26
29
-16
-4
4
-2
44
-114
0
0
16
0
0
0
-29
15
5
-13
-8
-15
23
-11
-23
-85
0
0
0
0
0
0
0
22
0
-26
1
0
0
4
0
-62
0
0
48
0
0
0
22
-1
0
-14
99
0
6
-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
20
-25
-53
0
0
100
0
-62
58
-59
-61
-22
12
-3
49
64
20
-11
-95
0
0
53
-5
-34
11
82
-58
24
-53
-37
31
-6
24
0
5
0
0
-5
0
0
0
-16
-54
7
71
20
-3
-26
-30
20
53
0
0
30
0
0
0
-49
-10
6
11
2
0
5
-77
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
-9
0
-5
-125
-19
73
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
50
8
0
0
32
0
3
0
0
0
0
0
0
4
0
0
-45
-3
1
0
-13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
-3
0
21
-44
0
-3
5
8
-5
-48
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
2
-58
-6
-87
-14
0
-53
-41
8
32
-50
-7
33
0
0
-71
-4
-5
26
53
90
-23
42
-23
-7
3
-45
-5
-37
0
0
-17
0
-10
0
-30
-45
0
-71
45
4
-16
22
-17
-26
0
0
0
0
0
0
-13
-2
0
-7
-8
0
0
14
0
-29
0
0
-14
0
0
0
-62
0
0
5
17
0
0
113
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
57
7
-19
22
43
6
-66
-8
83
-21
-16
0
-3
0
0
-33
13
14
5
15
24
-4
25
-24
104
109
74
7
4
0
0
-53
0
1
5
0
-37
-1
12
-40
-22
-33
-33
30
-31
0
0
-43
0
-7
-1
8
30
-4
-22
0
0
-33
-10
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
-1
-3
33
84
-5
-4
-2
-60
-13
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
1
0
0
0
0
0
0
0
-2
-9
-17
0
10
0
42
26
-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
-52
0
0
0
-32
-13
87
0
0
0
0
0
0
18
0
0
-65
4
0
0
17
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-1
22
-17
-43
-84
1
-18
-44
15
59
56
-22
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
49
0
-48
51
1
102
41
-19
14
-81
-63
-1
0
0
-8
35
4
-7
35
-78
58
20
-74
-11
24
-94
-33
20
0
0
42
0
47
7
25
-34
5
41
-13
-18
3
6
50
13
0
0
-3
0
1
5
0
-17
0
61
-3
0
0
-62
9
-99
0
0
-50
-2
3
-4
37
43
0
15
103
-4
0
-33
-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
-26
0
0
-52
16
5
68
17
-15
-29
-42
14
7
65
-43
-1
-10
0
0
-53
0
-5
13
9
-2
12
45
33
93
-20
-62
25
-24
0
0
32
0
0
0
-60
14
23
36
-31
14
6
-36
3
-18
0
0
0
0
0
0
3
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
-11
20
43
-6
3
-7
27
-6
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
1
-4
0
1
0
5
-3
-20
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
-11
0
0
0
0
0
0
0
-1
0
39
0
-4
0
-46
0
13
0
0
0
0
0
0
0
0
0
-62
3
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
-6
5
26
-60
-14
-3
-70
34
-26
31
-51
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
2
18
22
33
19
0
13
-12
-18
2
44
-65
7
0
0
13
-7
-57
18
16
-15
-6
17
-26
-22
21
29
-14
-32
0
0
-2
0
-17
1
-28
-10
-6
67
3
-31
-23
-12
49
-31
0
0
2
0
0
3
-13
-10
0
-28
-6
0
3
9
0
-125
0
0
-3
0
0
0
-7
0
0
33
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-63
-12
-5
17
48
-16
22
81
80
63
0
0
131
15
6
34
-86
-123
21
-9
77
-33
74
17
-46
-91
0
0
15
0
0
0
22
-44
-8
30
-10
3
22
14
-5
-22
0
0
103
0
0
0
-37
8
4
13
1
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
-9
-21
-30
0
13
18
-4
-29
15
-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
10
0
0
0
6
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
48
-1
4
0
-3
0
10
0
0
-2
0
0
0
0
0
0
-18
2
0
0
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
-44
-53
0
-8
-9
-5
-6
-16
3
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-10
-5
-6
-3
-29
0
-52
0
-50
9
-11
-26
23
0
0
20
-2
1
3
-93
4
-24
-25
-35
-2
0
-62
7
-19
0
0
81
0
0
0
30
-73
13
33
28
-5
49
-34
2
14
0
0
33
0
0
0
0
-3
1
-19
-4
0
0
33
0
-6
0
0
3
0
0
0
48
2
0
-23
-65
5
0
-28
-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
-10
0
0
-19
-38
3
46
8
33
-1
-15
13
62
0
0
26
117
1
0
13
41
-7
-22
-26
4
-4
25
58
-61
0
0
0
-5
0
0
-4
46
0
-9
1
16
5
-5
-10
-4
0
0
0
40
0
0
-18
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
14
0
-8
-4
0
13
0
-38
-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
-21
0
0
2
2
0
0
5
0
-1
-9
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-1
0
-24
19
0
-5
-37
-2
0
-2
-16
-14
0
0
0
50
0
0
-15
31
-3
1
-4
-4
0
-53
0
-39
0
0
0
-80
10
0
-2
0
0
-45
16
2
-1
0
1
-35
0
0
0
-5
0
0
0
-2
0
5
0
0
0
0
0
-5
0
0
-5
27
0
0
15
0
0
0
5
-4
0
-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
-11
0
-8
22
4
14
6
-1
0
-28
-42
-4
0
0
-6
2
158
-1
19
39
-3
-84
8
5
-5
0
-5
10
0
0
0
0
-53
0
0
-36
0
-2
-2
0
0
4
0
10
0
0
0
0
-53
0
-5
0
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
15
-2
-24
0
-1
0
8
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
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
0
0
3
4
0
0
-15
0
0
-33
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
3
38
0
17
11
0
-53
-16
-2
0
9
4
-72
0
0
0
0
5
0
4
19
-5
25
0
-1
0
0
0
-36
0
0
1
0
-67
0
6
0
0
-19
15
0
0
0
2
-2
0
0
0
0
11
0
0
-7
0
0
0
0
0
0
0
6
0
0
0
0
-50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-131
68
-1
10
-79
9
5
-9
-4
-4
0
0
20
0
0
71
-29
38
4
37
-15
-3
20
-43
30
-51
0
0
0
0
0
7
-4
43
0
10
3
0
0
-3
2
-30
0
0
0
0
0
43
-25
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
-57
0
0
-1
-6
-8
-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
-1
0
0
0
0
0
0
0
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
13
5
-43
-1
0
32
-1
0
-6
-22
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
33
7
-2
34
-26
5
19
-4
29
76
0
0
-1
0
0
32
16
-3
-4
45
7
0
0
6
-5
14
0
0
-2
0
0
21
2
-19
-1
7
-10
-6
0
0
-3
-16
0
0
-2
0
0
-62
0
-19
0
2
-4
0
0
-1
0
-37
0
0
0
0
0
14
-2
0
0
20
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
72
39
-51
42
-99
-17
-45
-76
-4
0
0
33
-44
42
-35
31
-31
-28
54
18
-41
29
-14
-27
31
0
0
10
0
0
36
16
-38
-67
-22
-103
44
-45
-40
0
61
0
0
-44
-5
-3
-2
-39
-18
-3
-2
-18
-90
-10
-36
72
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
21
57
-38
14
-21
12
3
0
0
0
0
0
0
-52
1
-17
32
2
2
0
73
0
8
0
0
0
0
0
0
7
0
-8
3
0
34
1
3
0
-9
0
0
0
0
0
0
-29
0
3
-17
-7
-4
4
-43
3
12
0
0
0
0
0
0
6
-2
0
56
-46
-55
0
-84
0
-109
0
0
0
0
0
0
100
0
0
-55
64
33
0
-41
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-18
85
-3
42
-15
-32
17
27
-47
81
13
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
-15
-44
-53
-15
-39
32
-90
106
9
25
91
-22
0
0
-59
0
8
-44
-3
33
20
-72
27
1
44
-9
-54
-11
0
0
-56
-2
-124
-19
-7
-26
0
35
2
38
-27
-34
14
24
0
0
0
0
0
0
-59
10
-20
-42
-45
14
0
28
0
-59
0
0
61
51
-4
31
-83
21
33
-4
-44
31
30
-43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
79
48
49
-19
-24
53
0
0
-1
-18
-21
-66
-10
28
16
-30
-98
-51
-43
-43
-2
-20
0
0
14
5
-24
12
-18
-1
-66
-94
-19
-1
-14
-37
-4
-10
0
0
-2
0
16
5
-20
39
-22
103
66
33
-5
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
4
-23
39
-16
-31
-27
-52
75
-24
14
0
0
0
0
0
0
-6
-72
-21
-40
5
1
0
13
-8
8
0
0
0
0
0
0
-10
-91
-48
3
-1
43
-25
11
11
-3
0
0
0
0
0
0
-2
-50
5
18
4
0
-6
4
6
-13
0
0
1
0
0
0
-3
85
0
1
15
-32
49
71
-18
-30
0
0
0
0
0
0
-80
-3
0
4
40
-2
-1
-74
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-14
-24
3
-40
49
-22
1
-28
-53
-26
-104
-6
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-14
86
-45
29
-19
60
109
11
-96
-43
7
-14
-50
0
0
40
36
21
36
9
-8
-59
-9
46
-41
44
24
39
-60
0
0
-40
2
-23
-66
-33
87
71
-66
25
21
-64
-33
-72
-1
0
0
-22
0
-18
-5
-1
5
-6
-57
-57
-77
22
-46
-23
39
0
0
10
0
5
0
23
-65
-3
-31
-31
24
11
-56
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
94
-32
1
27
-88
-54
0
0
0
5
-4
5
-65
-84
41
57
-7
-19
2
4
51
-13
0
0
6
0
0
0
-8
-50
14
-4
-2
4
-14
52
0
-31
0
0
4
0
0
0
33
-7
24
8
1
2
0
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
2
11
0
19
17
-4
0
-20
-5
-5
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
-15
0
0
0
-13
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
36
0
10
0
28
-6
0
-19
-23
5
-24
-1
-45
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-1
2
-23
-29
46
4
-8
2
8
-14
-74
-33
0
0
39
-1
0
0
-23
-55
-29
45
8
1
0
3
4
-29
0
0
19
0
-2
0
-16
44
17
23
11
20
2
16
-11
27
0
0
6
0
0
0
3
-14
5
-4
-10
0
0
11
0
-25
0
0
-11
0
-1
0
37
0
1
-9
-53
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-69
-3
-31
119
-35
0
0
15
-10
-38
-50
-66
-34
-45
63
6
-112
2
-8
-82
-35
0
0
-49
7
-29
-25
18
23
-44
28
-152
-33
-10
51
85
91
0
0
-67
0
-2
2
-62
-5
-4
34
33
12
31
-62
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
23
39
-76
-24
-71
-3
-16
-76
14
5
0
0
0
0
0
0
0
0
7
2
0
-1
0
-5
5
-3
0
0
0
0
0
0
0
0
0
-18
0
-16
-2
54
-2
10
0
0
0
0
0
0
-11
0
-1
33
-4
5
0
-1
10
19
0
0
0
0
0
0
0
-9
0
-62
-39
7
-4
74
1
-33
0
0
0
0
0
0
-10
0
0
-36
4
0
2
5
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-112
8
-50
6
37
-22
0
-56
-15
-48
-54
-56
-52
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
37
41
14
-22
-3
27
20
43
-12
24
-73
11
-23
0
0
-60
4
14
-53
-61
32
11
100
-29
16
16
-69
-93
-11
0
0
-33
4
-24
-34
-134
-119
0
18
-23
-30
-29
-6
-38
-4
0
0
2
0
1
-37
1
41
-32
56
-17
-10
1
-71
-14
-94
0
0
32
-4
-9
-21
1
62
29
-58
-125
-69
-46
18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
51
83
-10
15
21
33
0
0
56
5
-7
-69
-98
-74
31
46
15
-23
60
-18
-45
-22
0
0
-47
0
0
-8
5
-100
60
54
-77
-35
-33
47
34
-51
0
0
-5
0
1
-1
-5
-25
-5
126
1
11
-33
8
-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
0
0
0
0
49
14
16
-8
-53
-27
-8
25
-100
-7
0
0
0
0
0
0
0
0
-7
-3
0
0
0
10
0
14
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-18
15
-10
0
0
0
0
0
0
0
-3
0
-1
0
0
0
10
1
11
0
0
0
0
0
0
0
8
0
30
4
5
0
-15
20
-25
0
0
0
0
0
0
11
0
0
97
4
0
0
-10
8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
6
20
-7
26
1
25
-4
33
38
46
-27
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
-17
5
0
-6
-123
-5
-5
-17
53
18
83
59
-5
0
0
-19
-5
9
21
72
-22
2
-22
89
5
22
15
-51
-6
0
0
11
3
0
-3
94
36
-3
-29
-89
55
-8
29
100
125
0
0
-6
0
1
4
23
134
9
41
-69
1
2
-55
16
-19
0
0
50
5
0
-20
121
-6
41
54
-14
60
-14
54
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-95
-23
-11
112
0
0
-8
16
42
10
62
33
21
-13
27
65
-53
-46
-110
44
0
0
3
0
0
-5
-26
9
31
-71
-51
0
-9
-69
35
99
0
0
6
0
0
0
-20
6
13
-26
-2
0
-5
-13
-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
-7
-36
1
-35
5
-14
-1
21
-32
-5
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
3
0
2
-3
0
-1
73
0
13
0
0
0
0
0
0
2
0
0
47
4
0
0
49
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
25
4
-9
18
3
8
17
-29
-1
-48
3
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
-5
5
-5
42
-8
33
-124
5
-11
23
-157
-84
0
0
-44
0
-10
9
-46
-14
-23
14
-23
-4
0
27
-20
-42
0
0
13
0
-11
7
-14
-18
-2
34
-65
-7
1
25
-40
-9
0
0
0
0
0
0
5
17
1
21
-4
0
0
46
-1
10
0
0
27
4
0
0
-4
-3
0
68
-10
18
0
-52
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
164
63
87
0
0
-33
-1
15
6
-6
69
-5
68
-92
-5
-28
41
29
21
0
0
-18
0
0
10
-82
53
-6
55
-9
2
13
-5
-10
-83
0
0
-2
0
0
0
-25
1
0
9
8
0
29
-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
1
0
-7
32
-11
1
0
10
-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
0
0
0
0
0
0
0
0
0
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
-25
0
21
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
-14
-8
0
0
-3
-20
0
13
64
-3
-31
61
-114
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
-6
8
71
13
0
-3
0
-12
14
11
35
12
0
0
10
0
0
-5
-16
86
5
-61
-11
7
0
13
-4
14
0
0
-4
0
0
-4
-37
-9
1
101
21
-6
47
-10
-67
-30
0
0
0
0
0
0
0
-34
0
-100
33
2
3
80
0
-43
0
0
32
0
0
1
-16
-5
0
-31
39
21
93
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
-17
26
-53
0
0
-23
-98
-13
-4
-31
-28
27
-5
-46
-13
-70
-1
-39
30
0
0
-44
-18
-101
-69
118
-11
35
27
-59
-36
68
0
-14
28
0
0
-82
0
-54
-43
59
-25
3
26
37
-31
0
-27
-37
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
-33
-43
-9
-62
17
25
18
-39
69
-33
0
0
0
0
0
0
0
8
6
-22
-2
-3
2
-29
-7
-20
0
0
0
0
0
0
-9
5
33
-10
0
-3
0
3
1
-33
0
0
0
0
0
0
-1
0
0
-4
9
-5
0
30
18
-18
0
0
0
0
0
0
1
51
0
-33
-32
61
5
2
14
-37
0
0
4
0
0
0
26
0
0
-71
2
19
6
-54
44
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-35
47
16
47
-58
25
14
102
54
24
89
-42
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-6
-67
-4
-92
31
-88
-80
-12
21
-62
1
-26
29
0
0
-43
-34
-28
44
-83
-44
-46
-94
19
-58
43
-6
-75
-16
0
0
-74
2
-79
-52
-100
-128
-4
-99
55
-21
-8
44
-45
-41
0
0
-49
0
49
10
-83
-64
-74
-11
4
-56
-5
46
-18
23
0
0
33
-33
-39
0
-123
12
50
124
21
-14
0
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
69
0
0
-5
32
-17
-133
63
-23
-25
-12
-91
-67
-28
1
55
-52
0
0
2
0
7
-79
0
-42
-7
-77
-74
-105
-24
-43
84
-2
0
0
-29
1
2
-8
-34
-11
53
-5
36
13
13
-11
-91
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-74
49
54
-43
-77
-48
-46
0
0
0
0
0
0
0
0
7
1
-2
0
0
20
-64
14
0
0
0
0
0
0
0
2
-5
-4
5
5
0
43
-14
4
0
0
0
0
0
0
0
0
3
-7
0
0
0
5
9
17
0
0
0
0
0
0
0
9
0
5
1
6
0
75
4
5
0
0
0
0
0
0
10
0
0
-3
13
1
0
73
19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
3
14
-25
-28
-38
-7
-36
21
-43
5
-77
-113
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
4
-6
30
17
-34
-2
-5
28
93
90
-9
17
-48
0
0
38
36
5
1
-17
35
-71
-16
-62
-12
-4
77
44
47
0
0
54
14
-72
-17
71
55
-29
-22
-11
-24
-1
16
-49
-61
0
0
10
0
0
6
0
-63
-6
-57
8
-20
1
-8
16
31
0
0
2
-24
-33
-59
-56
-31
1
-4
-43
26
5
-107
-108
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
-24
0
0
-11
-49
29
-74
-5
21
-18
-18
-92
66
-70
-16
-15
7
0
0
-69
-2
-7
-51
-92
-34
-46
-67
-6
-59
19
-50
26
17
0
0
34
0
5
-1
6
0
33
-72
50
-40
26
-69
-30
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
-92
-8
-48
-13
3
-32
-51
-77
-48
-59
0
0
0
0
0
0
-1
0
2
14
2
0
0
-9
-6
-14
0
0
0
0
0
0
2
0
-9
-45
-1
-7
0
54
4
-48
0
0
0
0
0
0
3
0
8
0
0
-18
0
35
-1
-172
0
0
0
0
0
0
5
2
0
-1
9
51
19
22
2
-113
0
0
0
0
0
0
-16
0
0
8
-22
0
0
4
51
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
1
-53
-11
-149
-133
26
-22
-135
53
-11
-58
5
-86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-5
54
39
13
-32
-12
-67
70
-128
52
27
-38
-24
0
0
-24
51
34
-63
-6
-12
-33
7
-25
-17
-24
-33
33
-43
0
0
-18
3
-59
41
39
27
-59
-21
-8
-114
-28
-62
-52
-80
0
0
-39
0
-14
5
86
7
-4
-85
-7
-14
-1
29
43
-129
0
0
-13
-5
9
-14
-39
0
27
18
31
2
-17
-118
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
40
0
24
-42
-6
9
34
9
-13
-58
-11
-179
0
0
99
0
0
0
10
-6
-3
-9
6
-7
10
62
-37
48
0
0
116
0
1
0
3
43
10
-7
-17
-8
-1
-25
91
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
53
1
47
-10
-18
7
-57
0
0
0
0
0
0
0
0
14
8
0
0
0
-26
1
-13
0
0
0
0
0
0
6
0
3
-60
0
1
-7
-14
10
-14
0
0
0
0
0
0
0
0
0
25
2
0
0
-4
-8
-2
0
0
0
0
0
0
0
-10
0
49
-13
0
-3
53
3
18
0
0
0
0
0
0
-1
0
0
2
2
0
0
3
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
187
0
0
0
-8
-14
-2
43
17
-9
2
47
13
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-4
25
14
-53
-47
17
-32
16
30
0
-121
59
-76
0
0
-43
-2
24
-5
9
-82
24
-86
-43
65
24
-109
32
69
0
0
79
0
0
0
-5
15
-1
-36
36
22
5
-1
1
-10
0
0
62
0
0
0
0
-23
4
53
-3
-1
0
37
0
-5
0
0
172
2
0
0
-13
21
-1
3
-37
9
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-78
-39
0
54
15
-1
-10
4
47
-4
0
0
0
40
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
23
0
0
15
-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
0
0
0
-4
-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
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
72
0
0
-1
0
0
0
3
0
0
0
22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
62
0
0
-17
18
0
-11
44
0
0
5
10
9
0
0
7
32
1
0
-32
7
-17
-45
-19
-7
0
-11
-1
6
0
0
0
-8
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
-9
0
0
0
15
0
0
0
0
0
0
17
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-18
18
23
-2
15
6
-48
18
-99
-58
0
0
0
0
60
0
-2
51
0
13
-3
0
-4
14
-13
100
0
0
0
0
56
0
-19
-17
3
-13
6
0
0
-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
-39
14
0
39
-1
6
4
-2
32
46
0
0
0
0
0
0
0
0
-2
-2
-2
0
0
13
0
6
0
0
0
0
0
0
0
0
0
-14
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
24
0
-6
0
0
0
0
0
0
0
0
0
-33
0
0
0
9
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
135
0
25
-9
0
5
-6
16
-6
-1
-53
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-4
-29
-5
40
-55
0
53
14
17
2
4
21
-73
0
0
-28
0
109
-10
40
60
35
31
17
5
0
3
-3
-16
0
0
5
0
-76
0
-7
-13
16
83
-5
-1
-5
1
-1
5
0
0
0
0
27
0
0
-7
0
-37
0
0
0
-1
0
8
0
0
-9
0
64
0
-2
0
-2
9
32
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-50
0
26
-9
-5
-22
0
12
28
0
0
0
0
0
104
-14
-57
0
26
1
0
-1
1
2
30
0
0
3
0
0
119
-14
-5
0
20
-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
-20
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
0
16
0
5
6
0
-2
3
-14
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
-10
32
1
0
52
-22
5
0
4
-9
-83
0
0
-7
0
0
16
-57
-48
22
39
-14
4
0
-26
-33
-65
0
0
0
0
0
29
0
1
0
3
-1
3
0
0
0
-6
0
0
0
0
0
22
0
-1
0
10
0
0
0
-2
0
-14
0
0
-2
0
0
7
-1
0
0
2
9
0
0
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
50
22
4
49
-83
-60
10
-1
-84
16
0
0
-29
0
-2
-2
56
-67
-71
-150
-81
38
23
80
0
-30
0
0
26
0
17
-3
13
-143
-38
-58
15
-28
22
-57
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
6
-6
47
40
-32
14
-30
73
-4
-61
0
0
0
0
0
0
-59
-4
9
2
-1
0
-2
-64
0
35
0
0
0
0
0
0
35
0
9
19
-10
32
-10
28
1
-44
0
0
0
0
0
0
-76
0
0
20
8
-2
-7
5
-2
3
0
0
0
0
0
0
24
-43
0
10
37
0
0
15
0
30
0
0
0
0
0
0
14
0
0
6
-8
-8
0
32
8
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-7
39
-4
51
-46
-3
-69
-34
72
-54
62
-7
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
24
-53
-18
-68
13
45
72
11
6
-11
86
51
21
0
0
-15
-34
-42
45
-53
53
-20
-91
121
-29
-17
-36
-7
-32
0
0
-48
6
0
2
18
-33
4
-42
18
15
8
36
-10
-58
0
0
0
0
0
0
-5
-19
-3
2
-32
16
0
-27
0
-26
0
0
-39
14
-17
9
53
5
17
-100
-98
13
-29
-67
-110
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
137
29
-41
42
-78
-31
-26
13
0
0
-109
-27
2
48
32
-20
-33
77
-18
61
-23
22
-48
-32
0
0
-47
-1
2
5
-5
48
29
19
18
51
-12
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
-14
26
5
21
8
-41
8
29
-48
11
0
0
0
0
0
0
0
20
0
-21
20
-2
0
-12
1
-2
0
0
0
0
0
0
-3
1
-33
-14
-2
-43
15
48
-79
8
0
0
0
0
0
0
-4
-2
9
3
0
1
-2
15
-10
0
0
0
-8
0
0
0
0
-14
0
-58
-72
-51
-69
18
-11
-12
0
0
0
0
0
0
6
-31
0
-34
8
22
31
-27
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
27
-9
-23
61
-5
-23
-62
-61
21
127
-62
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-40
-69
-2
36
12
31
-14
39
31
-67
1
19
28
0
0
6
-90
-32
-16
-7
6
27
47
63
-7
-2
-20
-71
48
0
0
-55
3
11
5
34
58
-21
39
-24
-2
-16
73
-44
-67
0
0
-30
-5
1
3
-29
62
-29
-30
53
20
-2
53
-9
-25
0
0
-21
0
5
0
-26
81
-15
59
25
-4
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
14
72
19
25
0
0
0
0
0
0
0
9
-11
-26
55
-2
6
5
56
0
109
0
0
-3
0
0
0
-54
2
94
-1
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
26
-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
5
0
4
0
1
32
-5
0
2
5
69
33
58
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
9
5
19
-42
3
20
-27
0
-1
-10
-42
21
0
0
24
0
0
-5
-1
-74
-5
7
10
-14
1
-40
-21
13
0
0
0
0
0
0
-16
14
0
-4
34
19
8
0
3
-2
0
0
0
0
0
0
-2
-3
0
-20
0
0
0
23
0
36
0
0
5
0
0
0
-3
7
3
27
5
-1
-1
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
98
50
31
39
65
52
-4
0
0
73
0
11
96
-54
29
30
9
61
41
50
23
-4
-31
0
0
-18
2
-10
-6
-5
7
4
62
33
29
-20
-31
-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
-25
-5
68
47
24
-77
-26
-64
14
42
0
0
0
0
0
0
0
-1
-5
-23
0
0
1
-23
-2
6
0
0
0
0
0
0
2
-1
-11
-43
5
-7
7
-15
30
55
0
0
0
0
0
0
-2
1
0
22
0
-2
0
-15
-6
31
0
0
0
0
0
0
0
48
0
-52
20
-8
-5
7
6
-2
0
0
2
0
0
0
17
0
0
85
-3
0
0
-2
15
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
27
2
-32
-30
-7
-69
-31
15
33
13
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
-13
27
50
-65
-7
63
90
-20
35
-19
17
-62
0
0
54
20
-83
10
82
-16
-16
5
56
-83
-9
113
-133
-32
0
0
-3
0
-11
-5
45
-22
43
50
3
-16
-28
21
1
-55
0
0
9
0
-5
24
57
-35
6
22
-39
-2
0
-18
-15
65
0
0
-25
-5
50
5
-21
-2
-11
38
42
-32
52
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-8
-87
-103
0
0
25
0
-3
5
13
-19
17
-54
4
-7
-35
65
6
74
0
0
-17
0
0
0
-46
43
8
33
24
-1
3
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
26
-14
43
26
-1
-29
-1
-78
-62
2
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
-67
0
14
-7
-9
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
24
0
0
0
44
0
-60
0
0
0
0
0
0
-7
0
0
45
-5
0
0
-2
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
-38
15
1
43
21
6
7
80
-1
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
26
-15
-4
16
-43
5
-21
94
-50
3
7
10
44
0
0
39
13
-8
15
76
-7
-34
-42
-2
-9
14
-1
19
-63
0
0
25
0
-4
0
57
53
3
-2
14
-10
-2
-45
63
42
0
0
-2
0
0
0
2
-33
-1
8
-5
0
-2
3
0
-28
0
0
20
0
21
0
-30
-13
-7
12
86
-8
5
55
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-66
0
0
0
0
0
0
-62
-15
-5
-73
-8
0
15
-19
5
-39
0
0
1
0
0
0
-52
45
2
-11
0
0
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
0
0
0
0
0
0
0
0
0
0
-33
43
18
-23
-2
17
-1
12
22
7
0
0
0
0
0
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
0
0
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
9
0
0
0
0
0
0
-4
0
0
39
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
3
-20
0
8
21
-7
2
-11
-15
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
6
-10
30
62
0
15
-10
2
0
-2
17
34
0
0
40
48
0
-1
-14
55
-36
52
3
5
0
-8
26
-14
0
0
-14
0
0
0
-39
-19
0
28
71
8
-5
0
10
-24
0
0
0
0
0
0
0
-17
0
24
0
0
0
-4
0
-19
0
0
-4
0
0
0
90
0
0
-20
-17
0
0
15
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
25
-75
-38
-18
0
0
-8
0
9
11
8
80
-53
-107
-40
30
55
-15
-61
-45
0
0
26
0
5
0
4
23
-15
34
26
-20
64
-66
-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
-34
7
-106
16
-90
13
54
69
59
0
0
0
0
0
0
0
0
-2
22
0
-8
0
7
-2
22
0
0
0
0
0
0
0
0
-5
-25
0
-1
-1
38
-10
-9
0
0
0
0
0
0
-6
0
0
-6
0
0
0
-5
0
-13
0
0
0
0
0
0
0
18
0
-15
0
8
0
52
4
41
0
0
0
0
0
0
-14
0
0
0
-3
0
-6
-22
-47
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
-10
-1
-63
98
25
17
-33
-20
55
11
-93
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
8
-53
8
-27
2
27
88
-90
6
80
-17
33
-21
0
0
-65
8
9
17
-5
-102
41
-21
73
-58
1
9
-47
-60
0
0
-42
0
-3
0
39
55
-4
-15
26
-7
-25
-76
10
-79
0
0
-47
0
0
0
2
20
-14
28
-14
14
-7
16
3
-129
0
0
49
0
6
-4
51
-5
-17
54
4
-44
-127
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
9
4
-30
0
0
19
0
0
4
-47
-113
10
38
-2
0
-17
20
-29
-93
0
0
95
0
0
0
-64
2
30
-19
-33
1
19
-22
-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
-14
22
-14
-3
-5
47
-1
4
-14
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
-29
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
-8
0
0
0
43
0
25
0
0
0
0
0
0
15
0
0
109
0
0
0
25
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
0
-2
-24
0
9
6
2
7
9
-15
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-1
-30
14
-14
-4
70
5
3
21
-61
-23
10
0
0
1
-9
-15
24
30
60
-10
56
-5
-5
21
-20
-5
3
0
0
-15
0
-1
0
-17
-29
-1
-7
53
0
-3
5
82
-15
0
0
-3
0
0
0
-11
63
0
33
1
0
1
52
1
69
0
0
-14
0
0
0
71
49
3
96
-29
10
10
-25
-128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-83
-7
-13
-163
0
-1
-57
-108
-5
21
-83
-46
105
-7
0
0
-119
-23
-77
-132
-62
-72
-28
-42
-14
-35
12
-23
-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
0
-3
22
24
-34
14
31
-19
95
39
-24
0
0
0
0
0
0
0
7
-4
-14
10
-3
-1
-14
67
6
0
0
0
0
0
0
0
6
32
-51
-16
-3
28
-40
30
-13
0
0
0
0
0
0
0
0
0
22
-2
1
0
-5
48
20
0
0
0
0
0
0
0
5
0
-24
15
-3
0
87
20
-11
0
0
0
0
0
0
-5
-3
0
-72
-92
5
2
-48
-10
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-10
4
8
1
-183
-4
-82
-34
64
58
-101
-50
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
17
45
-23
-82
-43
89
27
-89
5
81
23
-50
0
0
36
-5
7
-44
84
29
89
40
62
4
33
42
-77
-75
0
0
-51
0
51
-6
-5
-75
6
-19
-67
-53
-41
-4
-64
-55
0
0
2
0
-14
-30
0
4
0
-119
-22
11
-8
-11
39
-65
0
0
-12
11
-217
17
13
-62
-3
35
-3
1
56
-45
21
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
42
0
0
-60
0
43
-5
-40
24
-15
-29
-162
-44
-44
-69
-48
-3
0
0
-37
0
13
-58
-23
0
43
-11
-36
-10
-91
-20
-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
14
-31
-32
-94
7
-19
24
-44
-9
-82
0
0
0
0
0
0
0
0
31
-35
-1
4
1
-26
1
-31
0
0
0
0
0
0
-3
0
-7
62
0
4
-16
18
-44
-41
0
0
0
0
0
0
4
0
0
-7
0
15
0
-8
-21
50
0
0
0
0
0
0
5
5
0
-38
19
4
-50
-8
-78
18
0
0
0
0
0
0
26
0
0
-42
-47
0
0
35
-30
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
11
-13
-33
7
-9
-32
17
-20
10
4
-62
-113
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
86
32
-67
-39
-4
-6
-2
-40
27
-48
8
-19
4
0
0
4
-22
14
-64
-51
-22
56
-23
-26
5
-28
81
53
-11
0
0
-31
10
-41
-9
-38
10
23
62
16
-26
-11
-60
-71
-117
0
0
-32
0
28
146
12
-25
62
-98
-126
-7
21
-24
58
17
0
0
-10
-6
-65
15
-119
0
-16
-94
-27
-37
-46
-43
-10
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
14
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-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
-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
54
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
0
0
0
0
0
0
-91
-2
1
0
-3
19
0
11
-27
-7
0
-11
-10
-12
0
0
43
0
0
0
26
34
1
8
-5
0
0
-45
-5
23
0
0
31
0
0
0
0
0
0
-12
14
0
0
20
0
-21
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-18
1
0
58
0
0
-2
0
0
0
-11
-65
0
0
0
0
-23
0
0
-3
0
0
0
0
0
9
0
1
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
-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
6
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
-65
0
0
-22
-1
-48
0
-6
-3
0
0
0
-5
-20
0
0
-4
0
0
2
0
-21
0
14
14
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
-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
167
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
-3
0
-1
-35
-2
-4
0
33
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
-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
-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
64
2
0
0
-4
-2
2
-8
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
4
0
-4
-61
-5
0
-5
-9
5
0
-11
0
-30
0
0
1
0
0
0
-102
-55
-5
-14
-61
4
0
12
0
-119
0
0
0
0
0
0
105
-8
0
16
-52
-2
-1
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
82
0
0
-1
-53
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-6
-9
6
-6
6
0
89
0
0
-7
0
0
0
-25
86
0
-33
13
1
-8
-5
-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
-44
-8
-62
-4
80
15
2
-69
-81
0
0
0
0
0
0
0
-1
1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
11
7
-99
0
-5
-1
10
0
9
0
0
0
0
0
0
0
0
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-33
0
-19
8
0
0
-8
0
4
0
0
0
0
0
0
0
0
0
-47
3
0
0
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
1
0
-10
26
-6
-20
14
-40
11
-84
5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-7
-22
77
1
-33
6
-3
-62
38
11
3
45
-46
0
0
86
-10
-1
57
24
1
71
-11
-37
-43
-1
-36
-14
-10
0
0
44
0
0
3
2
11
-2
-77
53
4
-50
-8
17
-51
0
0
0
0
0
0
0
-23
0
-1
0
0
0
5
0
0
0
0
-1
0
0
0
0
-37
-2
-3
46
-4
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
2
2
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
13
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
20
0
4
0
1
-1
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
16
-34
-5
0
-1
-5
0
3
21
-35
0
0
-15
0
0
0
55
30
36
7
6
6
0
69
4
-23
0
0
0
0
0
0
-2
25
0
7
16
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
32
1
0
-16
9
0
-43
0
0
-1
0
0
0
-13
-30
-5
-20
7
0
0
-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
0
0
0
0
0
0
0
0
-16
5
-34
0
5
0
22
5
-16
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
-7
0
0
0
0
0
0
0
0
0
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
19
0
3
0
-4
-31
0
-1
17
2
-9
-46
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
-5
-51
-27
0
-59
8
0
8
-42
109
-38
0
0
-1
0
0
-23
47
3
24
-58
62
-33
0
77
56
-80
0
0
9
0
-1
0
-10
-55
0
-77
34
-3
3
23
-10
-46
0
0
0
0
0
0
0
1
0
53
0
0
0
1
0
3
0
0
-5
0
0
0
9
11
0
-28
-53
0
18
-65
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
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
-1
39
0
0
0
62
-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
-11
0
0
3
0
0
14
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
0
-11
0
-32
-65
0
10
-9
-8
0
-10
9
-46
0
0
-13
0
0
3
-27
-18
6
-56
29
0
0
-50
-5
-61
0
0
2
0
0
0
0
-21
0
8
17
0
0
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
-1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
29
0
0
-4
0
0
0
6
-58
0
0
-7
0
0
0
-53
-7
10
-1
-5
0
0
14
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
9
-1
0
0
0
0
-128
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
-6
0
0
0
-22
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-6
0
0
5
0
-81
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
1
0
0
-84
-55
0
3
-49
30
-11
1
24
13
0
0
14
0
0
0
15
-51
4
-19
-18
-3
9
-20
0
4
0
0
-2
0
0
0
0
7
0
-34
33
2
48
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
1
0
-146
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-27
0
0
0
0
0
0
33
-36
2
-3
-21
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-3
-26
0
1
-2
-78
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
-9
0
0
0
21
0
0
0
0
0
0
0
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
14
0
0
0
72
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
63
1
-7
-51
-9
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
5
-1
-32
82
0
30
-16
23
-1
8
-27
11
0
0
-7
0
-5
0
20
-89
-3
8
72
10
13
2
-41
-19
0
0
8
0
0
0
-2
-30
0
25
-42
1
44
48
-13
-107
0
0
0
0
0
0
0
0
0
14
0
0
0
-3
0
-1
0
0
1
0
0
0
5
-2
0
48
-66
-4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
52
-51
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
13
0
0
-17
0
0
-32
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
-82
0
-5
-48
0
0
9
56
9
0
0
-65
0
0
-3
0
-18
5
-44
-33
0
0
12
93
9
0
0
4
0
0
0
0
-1
0
-16
-5
0
-4
8
36
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
4
0
4
49
0
0
33
69
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-11
0
0
0
4
0
0
-55
-17
6
-25
-35
-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
0
20
-23
5
3
-69
25
4
11
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
-8
0
8
3
-57
8
-21
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
7
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
36
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
5
-3
-46
-9
0
37
-16
-23
43
78
-16
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-14
-53
53
86
-25
-1
60
21
47
-23
62
-47
24
0
0
34
-19
-34
-24
-7
-1
25
-64
54
-1
-20
49
-51
11
0
0
20
0
-23
21
-19
5
-5
-25
-37
-16
-67
-3
-28
-139
0
0
1
0
0
0
0
0
0
-8
0
0
0
-1
0
-22
0
0
-47
0
-16
0
-32
0
0
14
52
18
-26
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-5
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
74
0
0
0
9
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
-33
0
0
0
-90
5
0
-3
-53
0
0
13
-14
0
0
0
-7
0
0
0
-32
27
-9
3
-6
0
0
-40
-15
-11
0
0
-10
0
0
0
9
0
0
-11
-34
0
0
0
0
15
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
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
19
0
0
0
-24
-48
0
0
2
0
0
0
5
0
0
0
0
0
-5
0
5
-4
0
-3
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
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
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-28
-11
-29
-1
-6
-10
-15
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
1
10
0
0
0
-15
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
3
0
0
0
36
0
33
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
1
0
0
0
39
0
3
1
-15
21
-16
-88
7
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-20
0
9
-61
-5
0
-56
92
-14
14
54
41
-61
0
0
34
-1
0
5
68
-11
15
-105
13
9
-4
-23
33
-41
0
0
26
0
-1
0
160
-4
0
-27
-95
7
33
45
2
53
0
0
0
0
0
0
44
0
0
15
3
0
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
5
0
5
0
56
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
4
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
-7
169
0
1
-15
0
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
1
-1
0
-52
-60
0
-78
-19
-18
-1
3
-38
0
0
0
-26
-4
0
0
28
-23
-16
-20
-15
-3
-1
-105
-21
0
0
0
0
0
-7
0
-4
1
0
-39
15
4
-4
4
-11
0
0
0
0
0
0
0
0
-12
0
9
-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
10
0
0
0
0
1
0
0
-5
0
0
-4
29
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
1
3
0
-2
-10
0
0
7
76
5
0
0
-4
0
0
0
10
2
10
10
-4
0
0
15
14
38
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
3
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
-48
0
0
0
-2
27
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
1
-12
95
0
79
14
5
0
19
-101
-33
0
0
-8
0
0
-14
-52
-39
18
-80
1
-10
1
6
-48
-24
0
0
0
0
6
0
7
-2
0
-47
20
-2
4
1
8
-8
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-9
-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
-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
-33
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-120
0
0
0
-54
44
0
29
-27
-11
0
13
-5
-5
0
0
-34
0
0
3
-43
26
-8
-45
6
2
0
22
-21
-34
0
0
0
0
0
0
17
0
0
-4
5
-1
0
3
-36
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
31
0
0
4
0
0
0
2
0
0
0
-14
0
0
0
-92
0
0
34
0
0
0
-5
0
19
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-22
53
0
13
-3
0
0
-5
-34
0
0
0
3
0
0
0
-7
14
0
6
-7
1
0
3
0
-2
0
0
0
0
0
0
0
0
0
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
0
0
0
26
-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
3
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
16
0
0
4
0
-1
32
50
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-129
0
-5
0
24
-141
0
8
-30
-1
0
-1
-2
-14
0
0
-34
0
0
0
-35
83
-37
-79
-14
10
0
24
-8
-14
0
0
-5
0
0
0
-17
0
0
-34
18
0
0
16
3
-21
0
0
0
0
0
0
0
0
0
-9
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
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
-3
-4
2
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
-3
2
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
13
0
0
9
0
22
6
33
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
5
-23
-25
47
0
-26
80
-13
23
41
-47
-1
0
0
57
0
3
16
-10
21
19
-4
-49
-60
1
-77
38
-23
0
0
-5
0
-8
0
5
0
2
8
-5
31
-16
32
-52
-8
0
0
0
0
0
0
0
0
0
-19
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
-13
0
0
0
0
0
0
0
-6
43
0
0
-14
0
0
0
-2
0
0
8
-4
0
0
5
-8
49
0
0
0
0
0
0
0
0
0
-3
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-10
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
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
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
-99
-90
0
1
4
9
0
17
5
-73
0
0
-23
0
1
0
45
13
1
-36
26
0
0
-6
1
-8
0
0
5
0
0
0
-18
15
0
2
0
0
-14
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-60
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
-71
0
-1
-3
-56
-24
0
4
-26
-1
0
5
6
-4
0
0
7
0
-1
15
17
63
5
9
-7
0
0
33
-7
2
0
0
0
0
0
0
-3
-36
0
-1
5
-1
0
-2
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
14
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-16
-13
0
0
0
1
11
-2
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
-7
5
-30
-1
0
1
11
-14
0
0
62
-29
0
0
-15
0
2
4
2
-18
0
-37
25
17
0
21
9
5
0
0
-9
0
0
0
2
-5
0
-31
29
0
3
3
-1
2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
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
-33
4
33
-1
-63
35
0
0
32
-7
-5
-44
-71
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
-14
23
-21
92
-5
-5
90
57
2
-2
9
54
-6
0
0
-6
-8
-22
-20
-21
81
-12
53
22
18
17
-13
22
64
0
0
23
1
14
3
10
-8
14
11
3
-3
4
15
-66
-13
0
0
10
0
0
5
-4
11
0
-18
-3
0
0
26
0
-43
0
0
-13
0
2
0
-9
-4
0
2
53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
5
-13
0
0
3
0
0
14
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-2
0
63
71
0
-1
-3
0
0
-7
-69
-5
0
0
-35
0
0
0
31
-75
-4
-4
0
0
0
36
5
-14
0
0
0
0
0
0
22
-9
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
5
0
0
20
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-3
0
58
43
0
-5
62
0
0
-3
-76
11
0
0
-30
-5
0
-2
27
-37
32
24
-2
0
0
-33
11
-7
0
0
9
0
0
0
8
-16
0
3
9
0
-1
0
-5
-14
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
49
0
0
-2
-20
6
0
5
-5
0
0
6
17
-6
0
0
-18
0
0
-2
14
10
-5
-6
-1
0
0
4
-9
-10
0
0
0
0
0
0
-4
17
0
3
-4
0
0
0
0
-14
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
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
0
0
0
0
0
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
85
0
0
0
0
0
0
0
0
8
0
0
-19
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
1
2
-2
-13
-14
0
9
-48
7
-2
-7
-1
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-13
-64
-1
32
-97
-1
30
-28
25
0
-3
33
36
0
0
0
27
-11
-1
-46
-70
-30
-21
-12
-25
5
-49
-27
-119
0
0
3
0
-15
-5
-13
59
0
-14
-48
10
-37
-15
-32
-13
0
0
4
0
0
0
-4
-20
0
14
-14
0
0
1
0
26
0
0
-71
2
2
0
-8
6
0
15
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
2
0
-4
28
0
-13
-5
0
2
-13
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-8
-26
0
-8
-2
0
-14
13
0
17
16
131
-60
0
0
35
1
-6
-5
5
-23
9
36
27
0
0
-86
-95
-29
0
0
1
0
0
0
-5
-5
0
-14
-12
-5
5
0
25
26
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
0
-3
0
0
-5
0
0
0
0
-1
0
1
-42
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
-9
0
-7
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
-1
0
-1
-8
0
-3
-38
-5
2
-52
-9
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
13
-9
-13
51
-37
-5
9
28
37
7
-21
-45
-14
0
0
43
-3
1
-35
58
-65
-15
-7
100
2
25
-41
-45
4
0
0
-23
0
26
0
39
-27
-9
-83
-18
-11
31
4
27
-33
0
0
0
0
0
0
0
-14
0
-2
5
0
0
-19
0
43
0
0
-43
-1
-1
0
-18
0
0
4
20
3
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
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
-27
-15
0
-8
-4
0
0
0
0
-6
0
0
-1
0
0
0
-9
4
0
2
0
0
0
0
0
-9
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
5
0
0
0
10
7
0
1
0
0
0
0
7
10
0
0
1
0
0
-4
-14
-14
5
0
2
0
0
2
0
18
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
-9
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
2
-2
-57
2
0
0
6
0
0
0
-5
-17
0
0
16
0
-5
0
-17
-5
0
0
-7
0
0
0
7
5
0
0
0
0
0
0
-1
14
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
24
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
-5
-14
0
0
0
0
0
0
-5
5
0
0
-9
0
0
0
4
0
0
0
0
0
0
-1
0
-79
0
0
-4
0
0
0
14
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
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
-4
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
-2
0
0
0
-10
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
-13
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
14
0
0
0
-43
-53
0
-6
0
0
0
6
-6
2
0
0
1
0
0
0
-13
-13
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
-20
0
0
0
0
-8
0
0
1
0
0
-26
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-129
0
0
6
-46
14
0
4
23
0
0
-13
-34
-5
0
0
-15
0
0
0
29
-46
0
-2
0
0
0
-3
7
23
0
0
6
0
0
0
0
-31
0
-31
2
0
0
2
0
-22
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
-15
0
0
1
0
0
0
-14
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
7
0
0
0
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-43
-6
0
0
0
0
0
-4
-13
44
0
0
0
0
0
0
-1
1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
-13
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
1
0
33
-105
0
6
24
0
0
0
16
68
0
0
-3
0
0
0
22
27
0
-3
4
0
0
17
10
-10
0
0
-3
0
0
0
-24
-3
0
-9
14
0
0
0
-1
-17
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
11
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
28
0
0
0
2
-65
0
0
-2
0
0
-2
-51
-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
-1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
29
0
0
0
-74
0
0
0
6
0
0
-2
14
-62
0
0
0
0
0
0
-15
5
0
0
0
1
0
22
0
-23
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
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
0
0
0
0
0
0
0
0
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
-5
0
0
4
0
0
0
0
-2
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
0
0
0
-10
86
0
1
0
0
0
0
35
9
0
0
-5
0
0
0
24
18
0
-16
1
0
0
1
1
16
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
-9
0
0
0
2
-32
0
3
0
0
0
0
-3
0
0
0
2
0
0
0
-4
-18
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
-18
0
0
0
0
0
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
15
4
0
0
0
0
0
0
31
-23
0
0
5
0
3
0
-15
-26
-1
7
-2
0
0
3
-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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-4
-4
0
0
17
0
0
0
-102
9
0
0
-32
0
0
0
0
25
0
0
0
0
0
0
-18
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
17
16
0
3
1
0
0
2
2
-40
0
0
-1
0
0
0
11
1
0
-2
0
0
0
-14
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
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
2
0
-21
13
0
-15
-2
0
0
-8
-5
-2
0
0
-3
0
0
0
-2
21
0
5
-3
0
0
-2
0
0
0
0
1
0
0
0
0
-44
0
5
-11
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
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
-23
0
5
0
0
0
-19
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
7
4
7
-68
0
0
-8
7
0
-4
62
-22
0
0
-15
0
-5
-6
-9
-96
6
38
43
-2
0
-45
32
126
0
0
-9
0
0
0
37
74
0
89
-8
-4
2
0
-5
-27
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
9
6
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
92
0
-5
-16
0
0
0
-5
17
0
0
6
0
0
0
-8
15
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
9
-51
0
-9
-5
0
0
0
0
14
0
0
18
0
0
0
44
8
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
-13
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
7
0
-2
0
-1
-47
0
-6
-17
0
9
99
6
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
-2
-6
23
62
0
21
-13
-7
0
24
-5
47
0
0
-31
0
1
14
-87
-27
5
13
17
0
0
0
-32
64
0
0
8
0
0
0
8
-13
0
15
10
3
0
3
4
-50
0
0
0
0
0
0
0
3
0
0
0
0
0
14
0
0
0
0
-5
0
0
0
3
0
0
-1
-40
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
-30
0
0
1
0
0
0
107
4
0
0
2
0
0
0
0
0
0
2
-2
0
0
0
8
9
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
1
0
-44
-31
0
-4
25
3
0
-5
-62
-130
0
0
48
0
0
1
-58
-25
0
20
57
0
0
81
0
-90
0
0
-3
0
0
0
0
0
0
29
-31
0
0
2
0
-14
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
0
0
-47
66
0
3
36
0
0
0
17
5
0
0
0
0
0
0
42
-9
0
10
1
0
0
1
2
-25
0
0
0
0
0
0
-75
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
31
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
8
0
0
0
4
-34
0
0
0
2
5
5
-22
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-3
36
2
33
5
1
56
-34
23
0
1
-79
24
0
0
-63
0
5
6
-31
60
-14
-43
49
-1
0
4
22
8
0
0
22
4
4
-3
20
-43
2
27
-7
0
-19
-4
13
-20
0
0
0
0
0
0
1
-5
0
-83
0
0
0
8
0
-1
0
0
0
0
0
0
4
0
0
-1
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
11
0
0
-3
3
0
0
-32
-14
0
0
3
0
0
0
-5
-27
4
-5
2
0
0
-17
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
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
6
0
0
0
9
3
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
26
0
0
0
-16
-72
0
2
-14
0
-3
0
-90
14
0
0
25
0
0
0
20
-57
16
11
9
-2
0
-8
-20
3
0
0
6
0
0
0
3
0
0
17
-4
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
21
0
0
1
0
0
2
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-7
0
21
9
0
7
51
0
0
0
71
-19
0
0
0
0
-2
0
-80
-48
-1
-13
4
0
0
-45
-116
-21
0
0
0
0
0
0
0
2
0
6
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
2
0
6
0
0
0
-4
-1
0
0
-3
5
0
0
-3
0
0
0
-43
0
2
3
0
0
0
0
-9
67
0
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-33
2
-2
11
1
13
-12
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
10
27
10
45
-69
-1
-21
12
-45
-2
9
-111
31
0
0
81
0
1
-4
37
-69
19
23
11
7
-3
-7
11
-30
0
0
1
0
0
0
-15
-2
-8
37
1
0
8
36
4
5
0
0
2
0
0
0
0
8
0
3
1
0
0
73
0
-25
0
0
41
0
0
0
0
0
0
-4
-41
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
3
0
9
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
-17
0
44
-2
13
-31
0
-13
10
2
0
5
58
17
0
0
19
0
-44
-4
-8
-10
13
-1
-6
0
0
29
-4
-13
0
0
0
0
-2
0
2
0
0
27
1
0
0
0
5
16
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
10
-16
0
-2
0
0
0
0
19
-23
0
0
1
0
0
2
5
6
-2
0
1
-1
0
-14
0
-38
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
-41
-2
0
-1
1
4
-1
-10
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
-1
-13
-28
-32
0
-24
-9
-23
-1
-23
108
51
0
0
-56
0
1
6
-95
-62
-16
-38
-12
10
0
-19
14
-71
0
0
15
0
0
0
14
13
0
-39
16
1
-5
-1
-7
-45
0
0
0
0
0
0
-94
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-134
0
0
-19
-11
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
47
3
-1
24
2
-7
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-118
-10
-3
-25
-61
-25
5
-33
9
-53
-1
-57
3
-4
0
0
-40
0
6
-33
75
-64
14
-12
1
19
-2
52
19
-8
0
0
6
0
-1
0
26
70
18
-53
21
-14
9
-33
-66
-22
0
0
0
0
1
0
0
24
-1
-14
0
0
0
44
0
3
0
0
0
0
0
0
0
110
0
-4
-24
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
-10
0
0
0
-37
21
0
-2
0
0
0
2
-14
-3
0
0
-23
0
0
0
8
-5
0
-2
0
0
0
-17
0
14
0
0
0
0
0
0
9
10
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
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
-20
0
-3
4
20
37
0
-21
0
-1
0
3
-16
-27
0
0
13
0
0
5
-1
1
0
2
8
-5
0
65
-6
32
0
0
0
0
-1
0
33
8
0
78
-5
0
13
-7
4
-46
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
53
-19
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
-14
6
-10
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
18
14
0
3
-60
1
20
49
-18
0
-10
-23
13
0
0
-49
-19
23
7
44
-40
-23
-23
22
0
0
-23
32
-5
0
0
-5
0
-2
0
-24
18
2
16
16
0
7
29
14
7
0
0
2
0
0
0
0
7
0
-7
0
0
0
31
0
-6
0
0
-7
0
0
0
24
0
0
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
5
1
9
43
53
0
-1
4
0
0
-8
3
11
0
0
3
0
0
0
-45
33
-7
-14
-3
4
-5
-14
27
-56
0
0
-9
0
0
0
1
-10
0
-17
0
0
0
5
8
-18
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
-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
18
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
1
0
1
-39
-21
0
32
32
6
13
31
-92
7
0
0
1
0
0
0
-7
3
-6
5
0
0
13
59
-5
-42
0
0
-7
0
0
0
4
5
2
-14
5
-4
-49
-1
7
56
0
0
0
0
0
0
0
-4
0
6
0
0
-14
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
53
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-2
-17
17
-3
-14
0
-12
-27
7
13
-55
37
-35
0
0
51
-7
1
1
-19
-171
57
-7
-97
-13
-2
19
34
-38
0
0
-1
0
1
0
15
-10
-7
41
10
15
11
-28
11
-71
0
0
0
0
0
0
-1
-10
-1
20
6
0
0
-76
0
-73
0
0
2
0
0
0
7
0
0
-3
13
-3
0
-114
-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
-10
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
3
7
-33
24
43
-7
56
17
-16
1
25
-115
-16
0
0
-25
-2
-7
2
-47
25
4
3
-62
18
-7
-115
-83
-65
0
0
-57
1
4
0
-11
1
-3
15
2
-1
-2
46
-132
8
0
0
0
0
0
0
0
-4
0
-4
0
0
0
4
5
-22
0
0
1
0
0
0
-1
0
-8
2
-34
0
0
20
-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
-139
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-5
14
-17
7
62
-13
5
-12
-15
-9
-49
-72
-122
0
0
-159
-14
21
-4
-48
-26
-22
39
55
-3
-5
40
-7
-116
0
0
26
0
17
4
-2
-5
7
22
60
-14
-14
43
-46
-111
0
0
0
0
0
0
0
0
-2
23
5
0
0
-2
0
-73
0
0
1
0
0
0
0
0
3
1
-33
0
0
-50
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-26
42
-39
24
-11
24
-104
-3
-17
-37
48
14
0
0
-63
0
2
-84
-71
-53
23
-48
20
65
-21
-56
-38
-2
0
0
7
0
15
-36
-1
2
-5
9
105
18
-26
-45
-33
-117
0
0
60
0
0
-8
14
-102
-2
-34
20
-3
4
-35
31
-62
0
0
4
0
-24
-1
23
63
23
-52
-4
-8
25
-53
-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
19
0
0
2
0
0
0
3
0
0
0
-19
-12
-2
0
5
-1
-2
-1
-14
4
0
2
0
-2
0
0
1
16
0
0
15
37
0
6
9
0
3
2
-4
-21
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
-2
-101
0
-50
-16
-10
0
-1
-4
-27
0
0
-53
0
2
0
-9
-57
37
10
-36
6
0
26
-24
-28
0
0
31
0
-7
0
1
3
2
-24
4
0
0
3
2
-45
0
0
0
0
2
0
0
14
0
2
0
0
0
-26
0
7
0
0
0
0
45
0
0
0
0
1
3
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-61
20
0
-9
-24
0
0
3
-36
-86
0
0
8
-4
-4
-78
-83
-8
-4
-37
39
0
0
14
-9
-32
0
0
0
0
-2
-36
-8
-40
0
-36
-32
4
0
-8
6
-55
0
0
0
0
0
-21
0
11
0
-7
0
0
0
0
0
11
0
0
0
0
0
-13
-5
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
-81
-68
33
30
-11
20
-4
-56
55
21
0
0
-18
8
-22
-82
-20
-20
-15
10
107
-65
5
-63
40
-20
0
0
-35
0
52
-3
-1
-15
-35
-7
33
32
97
-105
-53
-61
0
0
2
0
0
0
-65
8
-3
-23
-43
-2
4
-71
0
44
0
0
34
0
-16
4
62
6
7
-11
-73
-39
-56
-53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-58
-40
-62
56
68
58
0
0
19
-10
8
28
-12
-48
-22
18
-67
-69
-57
-2
13
63
0
0
16
5
-33
16
-5
-96
34
11
58
4
10
-93
-66
-27
0
0
-34
0
-22
21
-4
-49
-73
137
3
7
-27
71
-8
71
0
0
26
0
9
0
-64
-53
-15
2
-14
7
-20
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
7
0
0
-16
0
-1
0
-11
37
25
-9
0
0
0
-17
-1
9
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
-8
6
-9
-2
-20
47
-44
0
0
-102
2
-2
55
-131
21
-10
-2
45
0
-2
21
-90
14
0
0
-27
0
-28
-15
-21
-53
-13
-66
-1
-5
1
5
-39
23
0
0
-11
0
0
1
0
36
2
31
0
0
0
-53
0
-50
0
0
2
0
0
0
-15
-2
0
88
-32
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-7
2
21
-26
0
0
-51
0
-25
-13
-19
-49
-24
59
40
33
-27
25
-37
-3
0
0
-19
5
-25
-4
-50
-32
5
-25
-78
23
-9
1
-114
53
0
0
1
0
0
4
5
54
1
-16
8
0
0
-41
0
2
0
0
25
0
-9
5
42
-6
0
25
24
-9
15
-12
-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
-2
14
3
0
0
-40
0
-3
3
45
21
-14
-7
19
-2
-3
-28
0
-11
0
0
14
0
3
0
-6
-59
-1
-19
16
0
4
-10
-30
-12
0
0
0
0
0
0
0
-2
0
3
0
0
0
19
0
-6
0
0
13
0
0
0
3
0
0
-19
-38
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
-3
-47
-8
0
0
-6
0
0
-5
48
32
2
5
0
0
1
5
0
-25
0
0
0
0
0
0
3
-4
0
-14
-2
0
26
0
0
9
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
-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
-1
51
-60
0
0
40
0
14
1
6
-14
-42
32
-35
-3
-9
88
-32
17
0
0
-4
13
8
2
-35
16
-1
9
31
13
-1
-3
27
-109
0
0
0
0
0
0
0
17
0
8
0
0
0
69
0
-100
0
0
22
0
0
0
-6
3
0
14
-7
1
0
98
-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
-62
-15
0
0
45
33
34
-45
-59
16
-4
33
-74
-10
-34
22
-46
-37
0
0
15
0
45
-25
30
70
-12
97
-79
4
-36
72
-74
22
0
0
36
0
1
10
0
60
5
51
-2
0
0
-8
49
-5
0
0
64
0
-16
-14
62
14
-61
-24
-74
4
6
-129
-134
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
-75
0
0
19
14
-35
31
28
13
-3
78
53
16
-24
0
58
-29
0
0
-14
2
-94
-19
64
-7
-22
4
-9
-24
71
65
-15
-65
0
0
14
0
0
16
2
-30
29
-33
13
5
-1
53
5
-118
0
0
0
0
0
0
20
0
43
-17
-14
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-1
5
-1
-43
16
4
32
13
0
15
11
-3
0
0
-41
0
1
-4
-13
-19
1
-48
52
77
43
-46
-14
-59
0
0
-23
0
0
0
0
-29
-1
18
7
1
0
74
3
-18
0
0
35
0
0
0
-60
8
0
-19
3
-37
0
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
1
-1
4
5
0
0
0
8
0
0
0
0
0
0
-9
1
0
-5
0
0
0
0
-1
-5
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
92
0
0
-5
0
-46
-5
0
0
-14
-2
-62
0
0
0
0
-5
0
0
0
0
0
0
0
0
10
0
3
0
0
0
0
20
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
3
8
22
0
0
-63
-9
-88
0
0
10
0
0
17
-2
5
0
-56
-19
0
0
-4
10
-118
0
0
0
0
0
-125
0
-3
0
3
0
0
0
-1
0
19
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
-91
-18
43
14
-27
-49
-1
-48
-18
11
0
0
15
3
1
-1
-11
-77
36
-31
-20
-32
-33
38
-58
-61
0
0
1
0
0
0
-37
10
6
-80
-6
-3
0
5
0
10
0
0
-33
8
0
0
-23
-8
35
-16
-93
6
-2
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-85
25
-33
23
15
4
-34
0
0
16
-7
16
-24
8
-31
-5
-74
-6
46
14
-48
16
36
0
0
-5
0
0
5
1
-56
-9
45
-15
-8
0
-23
-2
-71
0
0
14
0
0
0
0
-45
0
54
53
8
9
-15
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
-10
-37
17
0
0
8
-22
61
0
0
37
0
0
2
2
-38
0
-87
18
-14
2
9
-13
-4
0
0
0
0
0
0
0
-16
2
36
0
0
0
-2
0
-24
0
0
18
0
0
0
34
0
0
-7
-10
-14
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
7
3
-48
-72
17
0
0
-5
-6
4
0
-1
29
-15
-37
26
-1
-30
-15
-48
-36
0
0
0
0
-1
-2
3
-22
7
-66
0
4
0
24
0
2
0
0
-4
0
0
-1
28
-1
6
39
-63
-7
-5
-76
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
-15
-57
0
0
44
1
3
3
-60
-31
1
-70
70
10
25
9
12
14
0
0
-1
0
0
3
1
-49
-3
33
7
-3
0
15
0
12
0
0
-73
0
0
14
-4
27
3
-96
-64
7
0
97
-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
-13
-2
11
0
0
0
2
0
0
-37
-8
0
7
1
0
-4
-1
-2
21
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
-4
0
0
-2
0
0
0
0
4
0
-5
-20
0
9
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
3
0
0
31
0
37
0
29
-20
-2
-14
65
6
2
113
73
-29
0
0
10
0
0
0
5
0
0
-58
45
-5
0
94
1
-92
0
0
-54
0
4
0
-65
6
1
101
-9
19
13
-46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-47
0
0
0
-2
-12
-7
-44
35
-2
23
-2
5
-63
0
0
0
0
0
0
0
4
0
14
-1
0
0
-36
2
-32
0
0
-5
0
0
0
13
5
-3
-30
7
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-9
45
-26
-8
-42
-15
74
-23
-7
-15
9
30
-51
0
0
14
0
0
5
-3
-1
3
43
18
-5
0
-30
10
-5
0
0
5
0
3
0
-53
0
4
-35
2
1
0
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
25
1
-1
2
13
6
1
0
0
-27
0
0
0
0
2
0
8
0
0
0
-1
0
5
0
0
15
0
0
0
-11
-1
0
17
-23
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-1
0
0
11
0
0
0
0
-23
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-114
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-8
-56
4
4
-3
-11
-1
69
0
0
0
0
0
0
-18
0
0
-31
0
0
0
1
0
-14
0
0
-4
0
0
0
-38
0
0
20
-83
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
20
-14
-8
-16
-5
-4
0
0
3
0
0
0
0
-15
0
9
2
0
0
-15
0
2
0
0
0
0
0
0
0
-35
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
-68
-87
25
-10
21
-39
-95
0
0
-4
0
0
0
-4
-3
-2
-37
-2
0
-5
3
0
-32
0
0
-28
0
0
0
-11
-5
-4
-89
-42
-26
9
71
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
19
3
19
0
0
5
0
6
0
0
8
-4
-5
5
0
0
13
1
15
0
0
-29
0
0
0
19
-2
0
9
-55
-18
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
-4
0
0
0
0
0
0
0
0
0
-2
0
0
5
7
0
-2
0
0
1
0
0
0
14
0
0
-5
-17
0
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
1
0
0
0
49
0
1
0
0
9
0
0
0
-31
0
0
8
-38
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
10
0
0
0
-11
0
-8
0
0
-6
0
0
0
7
0
4
-4
-32
0
0
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
20
0
0
0
0
2
-5
62
22
0
0
33
0
-248
0
0
-20
0
0
0
43
0
0
58
-122
-8
0
-28
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
-163
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
-1
0
0
0
-1
0
0
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
-5
0
0
0
23
0
-102
0
0
0
0
0
0
-16
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
-14
-49
0
-7
0
0
0
0
0
5
0
0
0
0
0
0
13
0
0
-9
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
-23
0
0
0
14
-12
-1
-74
19
-3
-22
-3
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
22
0
-3
-4
0
-5
48
-27
3
0
0
57
-4
0
0
14
-13
-1
-51
-16
21
0
-119
-31
31
0
0
-55
0
19
0
-65
-37
0
-21
-53
-18
-18
5
5
62
0
0
0
0
0
0
-24
-7
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
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
-1
0
0
0
-19
16
0
-8
0
0
0
4
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-14
-8
-75
-5
0
8
15
2
0
-5
10
-29
0
0
6
0
0
5
-48
23
-15
-16
5
-13
0
-7
-8
7
0
0
-2
0
-16
0
34
-21
0
-43
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
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
25
0
-3
0
0
0
10
-19
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-2
0
-6
0
0
0
-9
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
72
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-34
0
34
12
-1
6
-4
16
33
6
-28
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
-84
0
5
4
0
3
18
-51
-3
0
0
5
7
0
0
-29
-3
-1
-4
-3
-26
0
-33
-12
-5
0
0
52
0
10
0
-28
-5
2
-10
-5
-4
-17
10
11
11
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
5
0
0
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-3
-26
-2
0
0
-5
0
0
-7
-64
5
0
0
-6
0
0
0
15
-67
-2
-22
-9
-3
0
-31
-4
-8
0
0
2
0
5
0
14
14
0
5
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
-16
0
0
0
52
26
0
-1
5
-1
-1
-60
14
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-13
0
0
-2
-2
0
-2
-5
-1
0
0
16
0
0
0
-1
-60
5
27
-31
-16
0
-13
-11
98
0
0
3
0
5
0
-14
-40
-19
-7
5
0
24
1
25
11
0
0
0
0
0
0
0
-2
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
6
0
0
-6
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
-15
0
0
0
-2
3
0
2
0
0
0
4
-17
-31
0
0
2
0
0
0
-6
-45
16
4
1
0
0
-1
20
28
0
0
0
0
0
0
14
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
-27
20
4
14
28
43
41
0
0
0
0
0
0
-15
0
0
5
0
0
0
6
-8
-26
0
0
0
0
0
0
0
-16
0
24
0
-6
-1
1
-7
-10
0
0
0
0
0
0
-6
10
0
19
0
0
0
0
5
-8
0
0
0
0
0
0
0
103
0
7
0
0
0
-3
0
15
0
0
0
0
0
0
5
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
93
-25
125
43
-83
56
-7
-6
66
-14
-36
0
-78
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-11
-17
0
-39
-33
0
-12
19
23
-25
-39
-46
-53
0
0
-30
-65
149
41
27
60
27
-6
33
48
53
44
55
-56
0
0
-18
6
37
4
-25
-23
34
95
15
11
-12
56
46
47
0
0
-2
0
11
-2
35
23
5
5
10
1
35
-41
-3
-22
0
0
10
0
-2
0
-32
29
15
-6
3
0
2
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
3
5
0
-20
0
1
1
-47
-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
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
11
-3
1
14
0
-7
9
10
-5
73
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
18
20
-30
60
93
5
-118
20
6
3
-56
42
35
0
0
-14
14
-8
11
-37
-4
-10
-98
30
-71
-1
-33
-17
-33
0
0
22
0
55
3
-67
-62
0
-29
-5
-8
-9
34
43
14
0
0
5
0
2
3
0
11
0
33
4
0
0
26
0
-33
0
0
19
0
-1
1
-19
0
0
-11
-10
0
-1
-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
3
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
18
0
5
0
-46
-1
0
-6
-5
0
-12
-81
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-1
-27
21
0
-14
3
1
0
6
24
0
0
0
-13
-3
0
-3
-21
-30
18
-60
-7
-5
0
5
-35
14
0
0
4
0
11
-3
-20
13
-13
108
5
2
18
24
70
12
0
0
0
0
0
0
1
-5
0
17
0
0
0
-2
0
3
0
0
0
0
0
0
-7
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
-5
0
0
0
-5
9
0
1
0
2
4
-13
-2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
-53
72
0
-25
7
1
0
0
-12
-59
0
0
-6
0
0
5
5
-30
5
36
-4
0
0
-43
5
45
0
0
-1
0
0
0
-39
19
0
-9
-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
-20
-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
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
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
67
0
-22
41
15
-1
0
46
-42
27
-23
-42
63
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
1
0
139
81
0
1
-18
-1
-19
19
17
-24
0
0
-8
-15
-3
-16
36
-20
-7
-81
17
-7
-6
47
28
53
0
0
-54
5
5
-24
4
0
-54
47
34
5
-5
27
9
-42
0
0
0
0
3
-1
-3
-12
-11
-49
2
0
-9
-4
8
-5
0
0
-8
0
0
-2
58
14
-36
-25
9
0
6
-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
-2
5
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
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
-39
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
6
0
11
77
0
1
-17
0
-13
-22
-29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
14
-22
27
60
-3
-10
-11
-1
-7
22
25
-32
0
0
-20
0
-18
14
-67
-99
-39
-59
-15
2
18
-15
-44
-2
0
0
-30
0
11
-1
31
-1
0
8
-27
0
6
10
7
26
0
0
7
0
-1
4
1
-9
0
14
4
0
0
-15
0
-2
0
0
14
0
1
0
33
-23
0
15
13
0
-3
-29
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
1
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
-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
-65
0
-18
3
42
36
-5
-23
33
1
-42
-2
35
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
1
-56
0
0
-28
3
-2
13
43
-46
0
0
7
1
0
15
68
-29
-2
10
-9
-2
2
-51
58
-33
0
0
-8
-4
-8
-9
-39
64
-24
37
19
-5
33
5
43
-17
0
0
-7
0
0
0
-23
-8
0
-31
-2
0
3
-7
-3
-35
0
0
0
0
0
0
14
-23
-1
8
0
0
0
-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
-30
0
0
0
-2
54
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
-16
0
0
4
64
57
0
-35
1
5
0
18
15
-16
0
0
-33
1
-11
-1
14
-34
-11
-5
-47
0
0
14
5
6
0
0
21
0
0
0
7
0
0
-2
-2
-2
0
0
7
-9
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-10
0
0
6
0
0
0
-4
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
2
-27
-48
0
0
0
0
0
0
3
0
0
14
0
0
0
-3
4
-6
0
0
0
0
0
0
-8
-3
-1
7
0
-1
-1
22
8
-3
0
0
0
0
0
0
-7
2
-2
-3
0
0
0
0
0
-9
0
0
0
0
0
0
0
-31
0
-14
0
0
0
-3
0
3
0
0
0
0
0
0
8
0
0
-5
0
0
0
18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-3
-34
-5
129
54
61
34
16
-3
5
-40
-26
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
6
22
3
-7
-21
5
74
-23
-13
10
-23
-15
32
0
0
-10
3
-22
1
5
-48
-10
-15
-66
-61
-47
-11
1
-53
0
0
6
5
-11
-8
-53
61
-9
46
-11
-53
18
9
30
61
0
0
-18
0
5
-2
46
90
-11
-47
-14
1
8
21
-33
-39
0
0
-33
0
-2
0
-53
-23
-13
-30
4
0
-2
14
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
4
3
0
17
-1
1
0
-7
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
3
0
0
0
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-1
2
-1
-12
82
0
21
3
-14
-51
105
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
14
23
25
45
33
-1
-28
-45
-6
46
-76
12
47
0
0
87
2
-9
-14
-49
21
-5
-5
48
10
4
-64
-96
-95
0
0
22
5
-14
-3
-27
-15
0
62
-26
-13
-27
2
-16
77
0
0
-1
0
3
0
18
4
0
-46
6
0
0
-58
0
25
0
0
2
0
-3
0
0
1
0
3
-1
0
0
-42
-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
34
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
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
2
5
-13
8
-24
1
32
-45
-5
-45
45
-14
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-35
12
0
-15
57
7
-5
-26
-27
25
0
0
12
19
2
-5
-29
60
7
14
-1
-60
5
31
-71
-11
0
0
-43
-5
-23
2
-32
-14
35
-47
3
23
53
-1
3
-30
0
0
-10
0
0
0
0
33
0
27
0
0
0
-2
1
23
0
0
0
0
0
0
11
-6
5
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
5
-44
0
1
5
-6
3
19
-90
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-109
15
4
-5
65
43
3
48
-33
1
-13
-20
-5
-19
0
0
-48
0
1
-1
-12
3
23
13
-13
0
0
15
-72
-31
0
0
1
0
0
0
2
20
0
-40
-37
-2
0
-8
-2
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
-10
0
2
34
0
2
0
-34
3
0
0
0
0
0
0
0
-4
0
0
-4
0
0
0
14
-1
-6
0
0
0
0
0
0
0
5
0
-19
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
-113
-5
-6
2
-63
12
31
76
-87
-21
-39
30
-60
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
2
4
-26
0
-38
-16
11
33
-32
23
-64
0
0
43
13
5
-2
-34
-67
15
56
-9
-3
8
3
-38
111
0
0
-36
16
-21
3
-23
9
5
-19
-46
14
53
16
-33
-20
0
0
-1
0
1
10
14
5
33
-13
3
1
14
-14
0
39
0
0
11
0
0
0
31
0
0
4
0
0
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
0
0
0
0
0
-2
-18
0
0
0
16
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
-58
1
16
2
-42
-58
-2
-8
-6
9
3
-25
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
1
13
-1
82
-22
5
-61
23
5
-8
-45
17
47
0
0
61
9
-22
-17
11
-71
-43
-16
41
5
5
-149
-79
-11
0
0
5
-2
5
-16
-27
-19
-5
43
-67
-4
32
2
-29
-5
0
0
1
0
14
-5
3
-7
0
14
-6
0
3
0
0
-16
0
0
-10
0
-1
2
3
0
0
-6
10
-3
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-47
41
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
10
0
4
0
0
0
1
0
0
0
0
4
0
0
0
49
-14
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-86
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
21
0
0
0
0
0
-14
0
0
0
0
-1
0
0
0
-4
-5
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
3
0
0
0
0
0
0
1
-3
15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
72
0
3
0
32
52
0
-7
0
0
-5
-44
36
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-58
0
0
0
0
-1
0
-17
4
0
0
-9
1
-1
7
-34
14
-7
4
-22
5
0
91
10
46
0
0
51
0
-18
0
-10
33
0
66
-26
0
-18
-4
-19
49
0
0
0
0
0
0
0
-6
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
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
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
11
37
0
0
0
0
0
-14
-13
-6
0
0
5
2
0
-1
9
-50
0
-10
4
0
0
-14
0
-9
0
0
1
0
0
0
-5
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
-10
-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
-17
6
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
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
-34
-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
-34
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
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
-16
0
13
0
5
-88
0
-8
3
-1
47
3
1
13
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
-4
0
0
0
-8
2
0
0
0
33
0
2
0
-26
37
-5
5
-14
11
0
-42
-10
31
0
0
2
0
-23
0
-3
50
0
3
-21
0
0
0
14
-32
0
0
0
0
0
0
-5
-6
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
18
0
0
0
-72
63
0
4
0
0
0
0
-14
-10
0
0
-19
0
-14
0
52
-14
-21
2
-2
0
0
28
2
6
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
-33
0
0
0
0
3
19
-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
-22
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-5
20
0
-11
-2
0
0
-4
-14
6
0
0
6
0
0
0
10
7
0
-15
0
0
-17
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
7
0
0
0
22
-20
17
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
9
0
0
3
-2
-1
0
0
-5
0
0
-1
-24
8
0
-15
-22
0
0
24
-11
16
0
0
-5
0
0
0
28
-20
1
33
9
0
5
2
-1
-12
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
1
0
0
-1
0
0
0
6
4
0
0
-34
0
0
0
-5
0
0
-4
0
0
0
-1
5
-62
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
12
81
0
1
-3
0
0
-20
15
8
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
53
4
0
7
-6
-1
0
-13
0
-19
0
0
2
0
0
0
41
3
0
95
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
18
0
0
0
-33
68
0
-1
1
0
0
0
0
-37
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
-10
0
0
0
-32
-12
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
21
34
0
0
0
0
0
-8
0
0
0
0
-2
0
0
0
9
47
0
0
0
0
0
-52
-4
0
0
0
0
0
0
0
13
-19
0
0
0
0
1
0
-18
-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
1
0
0
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
20
-20
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
5
31
0
0
0
0
-1
0
49
10
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
2
0
0
-3
0
0
0
0
0
0
0
21
-21
0
1
2
0
0
8
5
-5
0
0
-11
0
0
0
4
53
-56
-26
0
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-60
60
0
0
1
0
0
0
-8
-4
0
0
0
0
0
0
-20
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
-9
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
6
0
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
-5
44
-13
-3
-43
-29
3
-3
-14
-1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
14
5
0
14
29
-6
0
6
-69
-75
0
0
-22
-11
0
10
-43
40
-5
10
-31
10
0
-44
-8
41
0
0
34
5
-16
1
52
-23
1
23
49
27
-35
40
1
-33
0
0
0
0
0
0
15
4
0
-6
0
0
0
5
0
54
0
0
3
0
0
0
57
-4
0
-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
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
18
0
0
0
1
6
0
1
15
0
-2
25
5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
-59
30
0
43
34
-5
-1
-19
82
3
0
0
-8
0
5
0
-43
-28
2
23
7
0
0
-5
31
61
0
0
-2
0
0
4
-53
-2
0
45
-8
-1
-7
0
5
10
0
0
0
0
0
0
0
5
0
-17
0
0
0
-8
0
-8
0
0
3
0
0
0
-5
8
0
0
-2
0
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
15
-17
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
-33
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
-23
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
11
-19
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
-47
0
5
0
0
1
0
0
0
2
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
0
0
0
0
5
13
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
-18
1
0
0
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
-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
-10
1
5
-22
0
0
-1
-1
2
-2
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
20
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
17
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
-22
0
-1
0
34
65
0
-5
-16
3
64
-58
9
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-93
6
0
-10
0
4
0
-50
58
30
0
0
-7
-4
0
0
45
-6
0
-10
-2
21
0
88
-35
28
0
0
8
3
26
-2
11
41
8
11
-3
-9
31
-4
-49
-2
0
0
-5
0
0
0
-9
8
0
11
0
0
0
1
0
-34
0
0
0
0
0
0
-52
-8
-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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
5
-1
3
-14
10
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-9
0
0
-8
7
0
10
-19
0
0
9
23
-7
0
0
36
0
13
-8
10
-71
0
-103
5
0
0
-14
-5
-33
0
0
33
0
0
0
12
14
0
2
-1
0
0
-14
0
-18
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-5
0
0
-24
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
-8
0
0
0
-30
8
6
-5
3
0
-11
-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
-14
0
-3
6
0
0
-2
-46
-22
0
0
2
0
0
0
7
-87
5
20
-25
0
0
13
-32
-20
0
0
5
0
0
0
-19
5
0
-19
-22
4
-1
0
41
-69
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
-14
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
-11
0
0
0
0
0
0
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
4
0
-3
5
0
0
0
-3
-35
0
0
1
0
0
0
-8
-16
0
0
0
0
0
0
-36
-8
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
-64
0
0
0
71
6
0
-13
-14
-3
34
5
8
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-14
4
0
7
9
0
5
1
10
-1
0
0
-5
0
0
0
-59
55
0
44
14
3
0
9
-1
-34
0
0
65
0
7
-2
-3
-29
-8
7
3
2
5
14
-58
-30
0
0
0
0
0
0
-7
-1
0
13
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
-2
0
0
-21
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
5
0
-41
60
0
0
53
0
0
24
-22
-82
0
0
-5
0
0
-1
-27
0
0
3
-5
0
0
5
0
1
0
0
0
0
0
0
13
-5
0
1
0
0
-2
0
0
-32
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
5
-30
0
-1
0
0
-35
7
4
47
0
0
0
0
0
0
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
4
0
0
-1
0
0
0
70
-40
0
-25
-6
0
0
-1
0
14
0
0
0
0
0
0
-23
-19
0
26
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
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
-33
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
-25
-9
0
-13
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-1
0
0
0
-3
-1
0
0
0
0
0
0
0
-1
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
-1
0
23
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
6
16
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
6
-3
0
0
0
0
0
0
0
24
-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
-32
-1
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
-10
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
29
0
10
0
1
95
0
-50
-5
4
43
4
-27
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
14
0
-5
-9
1
3
2
-10
-32
0
0
7
0
10
5
2
-36
0
75
25
-8
-2
5
-11
23
0
0
-4
0
6
0
101
-20
0
8
8
-9
10
-1
49
-5
0
0
0
0
0
0
1
-1
0
39
0
0
0
-5
0
4
0
0
1
0
0
0
21
0
0
1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
-17
25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-10
-7
133
53
0
-4
-8
-1
0
0
26
-29
0
0
-5
0
0
0
-65
2
-1
24
-1
0
0
29
9
-18
0
0
0
0
1
0
-4
-1
0
-5
-14
0
0
0
0
21
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
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
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
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
13
-5
2
11
21
-11
16
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
-1
0
0
0
2
-1
-1
0
0
0
0
0
0
65
72
0
3
8
0
0
-14
23
-24
0
0
34
0
0
0
-14
-13
0
8
0
0
-2
0
-5
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-3
0
9
16
0
0
0
0
0
0
30
22
0
0
0
0
0
0
3
41
0
-8
0
0
0
-1
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
12
0
-4
0
0
31
19
-5
-50
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
35
0
0
0
-5
0
0
0
4
-44
0
8
0
0
0
-4
48
-23
0
0
10
0
-8
0
0
19
0
-15
10
0
0
0
27
-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
23
0
-1
0
-5
80
0
0
0
0
0
0
22
-27
0
0
4
0
0
0
0
10
0
0
5
0
0
0
5
-16
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
16
9
0
-17
-2
0
15
22
-36
-20
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
-1
-8
0
0
-1
-4
2
0
0
-16
0
0
0
41
-5
0
53
-3
7
4
9
-16
-24
0
0
-10
0
0
0
8
-15
0
32
9
0
-6
0
-30
63
0
0
0
0
0
0
-1
3
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
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
-24
4
0
4
0
27
17
0
0
-10
0
0
0
-19
15
0
2
5
0
0
10
1
-35
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
5
0
4
0
0
0
0
0
0
0
0
37
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
-7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
10
0
-1
0
0
0
8
0
-26
0
0
0
0
0
0
33
-13
0
-7
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
71
17
-11
2
-5
6
23
-27
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
0
7
36
-5
-22
-58
-1
-13
-24
-31
-11
0
0
11
0
-15
0
-44
-4
-14
-9
-23
11
2
-108
46
18
0
0
-23
0
4
2
19
30
-23
5
-14
-26
9
-23
52
36
0
0
0
0
0
0
0
15
0
-5
0
0
0
0
0
-1
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
-11
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
-20
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
-57
32
3
14
-20
210
-4
13
4
-1
0
23
36
1
0
0
1
0
0
1
-1
47
4
54
17
-7
0
-23
10
-11
0
0
-10
0
0
0
0
-33
0
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
29
0
-3
2
6
52
0
-70
-2
2
60
-42
-34
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
2
23
0
5
5
0
-2
10
-18
15
0
0
13
0
1
-6
25
35
1
52
18
-15
5
42
64
-35
0
0
58
0
0
4
3
35
-2
90
2
13
4
18
-18
-38
0
0
0
0
0
0
0
-5
0
7
0
0
0
0
0
14
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
-2
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
36
0
0
-1
0
0
-11
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
2
-4
-18
-37
0
5
-6
0
0
3
10
-100
0
0
-31
0
3
0
-14
-23
24
34
-10
0
0
-18
-4
85
0
0
1
0
0
0
-4
-3
0
10
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
18
0
0
0
6
-24
0
4
0
0
-1
9
20
24
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
1
0
0
0
0
0
0
0
0
-23
-23
0
-8
1
0
0
5
0
33
0
0
4
0
0
0
-6
-5
0
4
0
0
0
0
-2
15
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
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
24
0
0
0
0
0
0
0
5
0
0
3
0
0
0
-34
-18
0
-5
13
0
0
14
0
5
0
0
0
0
0
0
-15
-46
0
-10
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-2
0
0
8
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
-5
0
4
0
0
-3
3
0
6
0
0
0
0
0
0
-2
-14
0
-2
0
0
1
4
0
-11
0
0
4
0
0
0
-19
15
0
1
0
0
24
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
38
0
0
-14
0
0
0
1
3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
32
0
8
-5
-4
35
-31
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
17
-16
-1
10
-14
0
4
67
6
31
0
0
-13
0
0
0
-42
36
-5
-14
43
5
0
-4
4
73
0
0
-7
0
0
0
-39
-124
2
14
-1
0
41
-29
2
41
0
0
0
0
0
0
0
-4
0
0
0
0
0
2
0
14
0
0
0
0
0
0
1
-5
0
2
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
-4
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
-7
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
13
0
0
1
0
0
-16
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
-15
38
0
-25
0
0
0
-14
53
-30
0
0
20
0
4
-3
-14
15
-8
10
-2
0
0
84
5
11
0
0
0
0
0
0
0
26
0
26
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
11
0
0
0
0
-3
18
-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
-5
0
-3
0
-1
0
0
11
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-9
15
-20
0
0
7
0
0
0
0
8
0
-9
0
0
-7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
1
-2
0
0
0
10
-22
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
54
-5
0
11
13
-5
-37
-34
-39
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
7
16
0
6
11
6
-2
-14
14
16
0
0
9
0
0
5
51
-22
9
-8
4
-6
-11
-7
25
-72
0
0
60
-8
-5
-1
-14
-22
-1
68
-9
-4
-89
-10
-7
-10
0
0
0
0
0
0
0
-5
0
22
0
0
0
-4
0
7
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
2
0
0
0
1
0
0
0
0
0
0
-7
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
-13
56
-85
1
-20
-17
-2
0
24
16
19
0
0
-22
0
2
1
-46
53
-6
-10
14
0
0
-33
-2
-14
0
0
-5
0
0
0
1
0
0
-31
-4
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
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
30
25
0
0
0
0
1
-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
22
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
56
14
0
-53
3
15
0
-19
0
-1
0
0
-2
0
0
0
60
27
-2
-6
0
0
-11
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-66
25
0
0
3
0
0
9
0
-1
0
0
0
0
0
0
16
0
5
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
19
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
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
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
5
0
-53
-44
0
-10
-11
26
62
-37
-90
8
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
-16
-4
0
0
-1
-8
-3
0
0
7
0
6
17
-61
-1
3
3
33
11
0
53
-78
-6
0
0
8
6
0
0
-25
8
-1
151
14
-3
5
36
-50
-33
0
0
0
0
0
0
0
-2
0
81
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
14
0
0
0
-13
5
0
16
16
0
0
1
11
17
0
0
-5
0
0
-4
-15
-30
-1
-22
2
0
0
33
-10
22
0
0
2
0
0
1
11
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
21
-20
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
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
6
0
10
-2
0
0
-1
20
2
0
0
0
0
0
0
-29
-19
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
20
-7
1
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
0
0
-8
0
0
0
0
0
0
0
0
10
53
0
5
-14
-15
0
76
15
-1
0
0
-1
0
0
0
-6
7
0
13
0
0
2
-9
-18
-2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
29
0
0
-8
0
0
0
49
0
0
0
0
0
0
0
-5
32
0
4
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
7
0
0
0
1
-30
0
0
0
0
-2
-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
19
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
-25
-3
0
-13
6
8
0
-6
-10
-1
0
0
-3
0
0
0
-3
-8
0
2
0
-4
7
3
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
19
-39
0
0
-4
0
0
0
7
7
0
0
0
0
0
0
7
14
0
1
0
0
0
-3
13
-1
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
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
-11
0
0
0
-1
0
0
0
0
0
0
3
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
119
0
4
18
-65
-16
99
12
-5
46
-52
58
-17
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
63
-126
-9
-5
-43
-28
-23
-21
13
-37
0
0
37
43
5
0
26
-24
14
-44
37
-16
-16
47
43
-70
0
0
104
27
-22
31
70
-49
30
46
65
70
-14
-15
-87
-103
0
0
7
0
0
0
-25
1
25
-6
-5
-2
25
-4
0
-23
0
0
90
0
0
0
-36
5
-4
29
0
0
-6
-31
-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
2
26
10
55
-74
42
47
-36
-23
113
0
0
0
0
0
0
0
0
32
49
0
0
0
43
0
2
0
0
0
0
0
0
0
1
-38
-180
0
14
-23
-22
-11
-1
0
0
0
0
0
0
0
0
0
-44
-5
-3
1
6
-26
-2
0
0
0
0
0
0
0
17
0
-37
-8
1
-3
46
1
-6
0
0
0
0
0
0
1
0
0
24
-7
0
1
3
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
230
0
5
0
-23
-16
-14
-4
-41
-14
5
37
27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
17
21
-6
24
68
15
-16
91
-54
13
43
34
84
0
0
9
-15
-3
-44
-22
-30
28
-23
33
14
-20
42
-8
-77
0
0
107
0
-10
0
2
72
-30
-30
14
16
32
-9
58
23
0
0
75
0
0
0
5
34
0
-1
1
0
0
-14
2
81
0
0
10
3
0
0
-11
17
-6
35
-40
-5
-1
53
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
32
0
0
-4
-14
1
0
0
0
16
-10
-54
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
-1
-1
0
-1
7
0
-6
27
7
-5
0
0
2
-71
0
0
10
42
-1
-59
32
0
9
7
-20
-5
0
0
-6
21
0
0
36
-72
6
-42
6
-1
-22
8
27
-23
0
0
0
14
0
0
0
-4
0
0
0
0
0
0
0
2
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
-100
0
0
0
16
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
-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
-4
-7
0
0
-10
32
0
-4
9
-1
0
3
4
-2
0
0
-9
-23
0
0
-8
-43
-11
-4
-14
0
0
-15
10
-16
0
0
0
3
0
0
27
0
0
-21
-6
0
0
0
7
-19
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
38
0
12
-3
-8
-18
1
-13
17
-7
-38
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
94
0
13
-43
0
6
-20
15
-4
14
-17
-74
0
0
0
0
46
-1
-55
-62
16
95
-21
43
0
-13
-38
-109
0
0
-5
0
41
2
59
80
18
-5
-26
-9
-43
-9
90
-38
0
0
0
0
105
0
0
5
-3
-3
0
0
0
15
0
-4
0
0
0
0
100
0
0
-1
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
1
-6
12
-7
8
0
-16
4
-69
0
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
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
26
0
2
-6
0
0
25
2
0
14
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
-14
1
-30
0
-9
-12
2
0
-58
7
-81
0
0
-20
0
118
0
-46
-37
-48
-23
-5
-13
0
51
-15
-123
0
0
-6
0
109
0
-10
-8
0
27
67
-3
0
8
-6
56
0
0
0
0
7
0
0
6
0
-2
-1
0
0
-9
0
0
0
0
0
0
39
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
-11
0
0
0
0
14
7
35
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
40
1
-3
0
-6
2
7
0
-2
17
-14
0
0
1
0
0
23
34
-91
9
79
-19
10
5
-43
-73
24
0
0
-8
0
-1
67
53
40
1
-14
0
0
2
4
-45
55
0
0
0
0
0
39
0
-9
0
4
0
0
0
5
0
-1
0
0
0
0
0
46
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-43
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
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
13
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
23
0
-1
-14
49
-18
0
-5
-11
2
0
0
-37
7
0
0
-11
0
0
-14
-56
-95
4
-13
15
0
0
-18
-27
-38
0
0
0
0
0
18
3
-2
0
-14
5
0
0
0
10
-10
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
10
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
14
16
-64
54
15
-47
-16
51
16
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
13
0
-21
-61
10
-61
42
-7
24
-19
-6
40
-51
0
0
10
-45
-32
-51
0
-139
-10
-47
-88
52
33
-51
-71
-75
0
0
28
36
-23
-81
19
-2
-1
23
-29
51
93
-41
-8
-16
0
0
8
0
0
4
83
-4
1
20
-3
18
-25
-23
0
-13
0
0
-25
-1
10
8
33
2
-11
14
1
17
-14
-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
-1
-21
39
-2
15
-55
17
7
-32
77
0
0
0
0
0
0
0
0
-5
-27
-5
2
0
7
0
3
0
0
0
0
0
0
27
14
-19
10
1
17
11
65
0
-16
0
0
0
0
0
0
4
-1
-3
1
0
-4
-2
43
4
-1
0
0
0
0
0
0
19
14
0
23
-24
14
2
44
0
0
0
0
0
0
0
0
27
0
0
0
36
-8
-11
-47
18
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-6
7
-45
29
-4
-50
34
-36
128
-33
-115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-44
-14
3
-20
2
-55
-40
-19
-12
-2
30
52
-96
0
0
13
-26
63
44
16
-51
-4
-56
-89
-1
-18
-42
-7
-41
0
0
-39
-3
-7
16
29
18
29
-108
73
17
-18
5
-27
-53
0
0
-1
0
0
0
40
5
-5
-34
-2
-9
-3
-69
0
12
0
0
49
2
-2
11
59
-13
-20
-33
-8
-19
-5
-54
33
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-51
-18
4
47
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-1
-10
9
-11
-26
-31
-28
51
23
-1
-80
24
41
0
0
4
24
46
-40
-33
25
15
-15
71
54
-15
-5
-41
-53
0
0
-12
15
-3
-75
6
65
88
8
18
23
-71
-40
15
33
0
0
-60
-5
-36
90
-23
45
-32
29
37
95
-17
-31
-9
-34
0
0
27
11
-9
-7
-22
80
8
-2
-15
2
-28
1
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
-28
-24
-57
-33
-65
-2
0
-3
-54
77
0
0
0
0
0
0
1
-65
-35
92
96
4
-14
-66
-15
3
0
0
0
0
0
0
3
-10
-33
-26
-7
-71
44
-11
-58
11
0
0
0
0
0
0
8
-7
-31
-13
-22
-6
-13
-20
5
-10
0
0
0
0
0
0
4
13
0
53
23
-32
-24
-70
80
21
0
0
0
0
0
0
-52
3
0
-34
14
6
9
-33
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-21
-14
-39
67
7
-35
-43
27
42
91
-138
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
96
-13
-5
84
-11
-75
-7
18
-69
-10
-61
-20
67
0
0
-1
32
-20
-32
31
-4
-76
-108
41
19
5
-73
-60
-19
0
0
15
-2
-6
5
-89
-28
5
-20
-78
-61
-3
-10
-104
-33
0
0
18
1
-5
-18
53
-13
-43
-52
24
15
-2
15
2
-40
0
0
17
0
0
1
18
66
15
49
-22
44
-6
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
2
-34
-19
16
93
42
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-72
72
-43
-4
-20
2
-7
41
68
22
0
0
-20
0
0
2
-82
-104
-90
7
-2
32
9
-11
20
104
0
0
-41
0
-44
5
65
4
4
-21
46
-27
-80
18
82
-2
0
0
0
0
0
0
0
-6
13
-6
0
0
0
3
0
10
0
0
0
0
0
0
5
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
13
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
1
0
43
-39
0
0
-1
0
-15
36
74
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
3
15
-75
-62
-5
-8
10
-4
0
-21
118
-76
0
0
-22
0
0
10
68
-92
87
-40
-6
1
2
-24
-11
-14
0
0
5
0
0
0
-4
20
0
-36
8
0
-1
0
-21
21
0
0
0
0
0
0
0
2
0
9
0
0
0
0
0
-9
0
0
-2
0
0
0
5
1
0
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
112
0
-32
-43
-16
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-4
1
16
-4
0
-41
53
-3
37
-43
-16
10
0
0
-13
-3
30
-2
-51
-42
-42
-20
-71
62
-22
-5
16
-9
0
0
17
1
40
-51
-74
-98
35
29
36
9
61
8
-25
5
0
0
-17
0
0
0
-14
-4
-9
28
0
3
10
11
-4
4
0
0
16
0
0
0
-16
41
5
109
5
0
1
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
6
6
23
-4
-2
-20
-51
-77
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
9
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
11
0
0
22
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
-11
0
23
1
-3
9
71
24
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-9
5
22
4
-80
-3
-10
-38
-1
17
14
58
-21
0
0
107
-3
-45
-14
-60
22
-17
-81
-11
24
3
53
-85
-61
0
0
-1
0
2
6
102
-73
2
-1
52
-15
-9
14
-19
23
0
0
-1
0
0
0
0
15
0
-24
-2
0
-1
16
0
8
0
0
9
0
-1
0
-24
-8
0
-23
24
0
-2
37
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
11
-10
47
1
61
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
74
73
-2
-10
-43
-1
-29
-9
-134
-11
0
0
-1
-2
6
5
-48
27
15
9
79
-60
2
-74
75
-22
0
0
28
-15
-24
31
-100
5
-5
41
98
20
-2
-14
42
41
0
0
-1
0
0
0
-15
-52
12
22
6
0
-10
69
-5
-71
0
0
-6
0
0
0
33
10
-23
3
6
0
1
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
-17
34
27
34
-15
-17
14
33
-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
-32
0
0
-1
-2
0
-5
0
0
0
0
0
0
17
0
0
2
0
0
0
7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-9
-20
6
1
3
3
-3
11
21
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
5
-24
-78
21
87
2
55
14
-14
4
14
-3
94
0
0
25
-1
17
31
-114
2
20
42
-14
-2
-5
17
-50
8
0
0
8
0
3
2
-31
10
2
27
16
23
6
-36
53
8
0
0
0
0
0
0
0
1
1
11
0
0
0
-5
0
-11
0
0
-4
0
0
0
-11
-6
-21
4
3
-2
0
33
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
81
4
55
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
32
-23
0
6
-28
0
0
5
-20
-56
0
0
-43
3
-11
1
4
-57
11
-6
-1
20
-41
-58
47
58
0
0
-23
0
-2
9
35
-131
13
-99
-22
13
25
21
-54
-54
0
0
2
0
0
0
2
69
9
7
0
0
-1
5
-6
31
0
0
0
0
0
0
11
-9
8
0
0
0
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
25
5
8
30
1
-1
0
-17
11
-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
-6
0
0
0
18
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
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
-7
0
0
0
30
-19
0
0
2
0
-5
-92
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
14
-1
-38
43
-2
-4
5
5
1
5
2
-14
0
0
23
-6
1
16
5
-55
-68
-14
4
-14
0
-22
-28
-25
0
0
4
0
-1
0
41
14
-7
-12
17
-2
8
-5
-31
-5
0
0
0
0
0
0
0
20
0
-32
0
0
-2
5
0
29
0
0
10
0
0
0
0
0
2
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
75
17
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-17
0
-21
141
-11
0
14
51
-11
-7
-100
-30
19
0
0
-38
31
6
-33
-73
-57
-5
-63
8
-5
28
-63
-13
34
0
0
71
-22
-17
-22
48
-85
-33
-73
-37
12
80
28
9
-29
0
0
-11
0
0
17
-10
19
20
16
1
-1
90
-9
-36
-67
0
0
-4
0
0
0
-150
-32
5
-5
7
21
73
-62
-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
-24
-29
17
62
-15
14
-7
-18
28
-24
0
0
0
0
0
0
0
3
3
-6
-1
0
0
-29
-3
-1
0
0
0
0
0
0
0
0
-7
4
0
18
0
-27
-19
-5
0
0
0
0
0
0
0
0
0
33
0
0
0
-32
2
8
0
0
0
0
0
0
0
18
0
23
1
2
-7
23
-3
-6
0
0
0
0
0
0
-5
0
0
87
-3
0
2
28
22
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
-2
41
-14
11
5
-17
29
16
-38
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
-11
-16
47
12
32
31
-25
15
-78
8
18
2
-21
0
0
31
9
-1
-43
-6
-71
59
5
21
-25
-14
53
15
-5
0
0
76
0
0
-21
18
69
56
-40
103
20
-46
16
38
47
0
0
-6
0
-1
0
3
-45
16
26
-25
9
16
-22
-7
38
0
0
-34
4
0
0
-25
7
1
26
-5
16
113
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
98
-16
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
3
3
-56
5
-13
90
-48
14
3
-23
58
46
0
0
-25
-19
-32
15
-21
19
-61
39
3
-55
-76
-14
73
-64
0
0
-3
-54
24
73
-56
-85
76
7
-5
-56
28
94
-60
23
0
0
-14
0
-5
5
27
7
21
-3
-6
-29
17
-5
61
-88
0
0
45
0
6
1
-36
-5
54
-3
31
11
7
154
-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
-4
-28
31
61
1
-6
-23
-4
19
42
0
0
0
0
0
0
0
1
16
-4
0
0
0
23
0
-3
0
0
0
0
0
0
0
-6
-33
-28
1
11
-14
-42
-5
5
0
0
0
0
0
0
0
0
2
6
0
0
1
23
-1
6
0
0
0
0
0
0
0
-17
0
46
18
9
1
55
8
-7
0
0
0
0
0
0
-7
0
0
-43
-21
0
0
-43
16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
16
3
7
10
-19
15
-1
0
6
7
-83
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-32
-40
-169
-71
-23
45
-96
53
-29
62
5
47
48
0
0
-47
5
-155
20
0
14
14
72
39
-14
-20
23
7
-21
0
0
34
0
31
2
-45
-83
3
-23
26
-15
38
-1
23
-75
0
0
-8
0
0
0
-43
11
-1
10
-9
-5
13
32
-2
17
0
0
35
0
6
0
-28
-2
-24
17
-17
-2
-16
45
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
52
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
27
19
18
33
-58
30
-32
-8
8
-61
-3
88
-5
0
0
-30
-44
-9
20
-49
-48
6
61
45
-6
32
-34
27
-115
0
0
-33
16
51
4
-86
-102
-3
-12
23
-3
-64
-48
-48
33
0
0
-39
0
0
8
0
-95
66
3
-58
3
-27
82
53
-22
0
0
21
0
-9
-9
-9
54
46
-57
-72
20
-11
-33
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
-7
17
19
-58
-7
5
-30
16
-30
87
0
0
0
0
0
0
0
0
-1
12
5
-1
0
20
7
-29
0
0
0
0
0
0
0
0
-44
-68
0
-33
21
36
59
-7
0
0
0
0
0
0
0
-2
7
55
13
-1
-1
2
-12
-14
0
0
0
0
0
0
0
5
0
-23
-2
-9
0
-14
27
14
0
0
2
0
0
0
15
5
0
-5
-2
5
0
5
-74
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
-52
5
13
-13
9
5
24
-41
-3
62
25
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
27
-9
-109
-4
-31
-63
8
28
-56
5
-12
-12
49
0
0
55
-1
-3
-43
0
30
-65
1
-14
3
3
-27
4
35
0
0
-28
0
35
-32
-58
-36
-7
-71
35
8
-4
-14
-31
68
0
0
-10
0
10
0
0
-4
18
-16
4
2
2
-50
23
-10
0
0
15
-14
2
7
-43
-69
-38
-39
-23
1
-10
34
-53
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-11
42
5
-90
39
20
56
3
107
30
15
24
-54
0
0
33
15
-55
-14
-10
35
65
-31
-156
44
67
45
-33
16
0
0
43
-41
-44
-66
35
51
29
19
14
-73
-17
65
37
74
0
0
-18
-7
-14
5
20
-62
48
10
-7
-58
12
-36
-53
26
0
0
-1
0
-1
0
8
0
73
-44
-45
2
-4
10
-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
23
-5
-82
63
-58
-73
-85
-135
44
-7
0
0
0
0
0
0
0
0
14
54
0
15
4
8
0
42
0
0
0
0
0
0
4
-1
0
-9
0
5
-6
-95
-33
6
0
0
0
0
0
0
-5
0
-3
18
0
0
-6
-43
36
50
0
0
0
0
0
0
10
-16
0
28
-56
16
24
2
14
-36
0
0
0
0
0
0
0
0
0
-4
-17
0
0
23
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
2
9
-21
-41
7
-21
9
28
-8
108
-21
-2
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-6
-225
49
15
-12
-1
-19
-24
-17
-7
-53
78
-7
0
0
91
21
10
-23
43
-35
-30
22
-9
2
2
-56
84
-24
0
0
-76
-4
34
2
-108
-30
14
-41
71
17
-16
154
-81
-19
0
0
25
0
-14
10
15
-22
-22
-32
14
-6
7
77
4
-62
0
0
-4
0
-1
-5
-72
0
-10
28
14
-17
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-5
-5
-15
39
47
-6
0
0
41
6
15
-5
-22
0
-14
20
-52
-37
5
28
-101
-14
0
0
70
0
-26
-2
-17
-63
6
-12
-14
-20
-9
10
-21
-4
0
0
-3
0
0
0
6
-33
4
-29
6
0
-20
-33
-5
36
0
0
96
0
0
-1
-30
6
-3
-3
0
0
2
-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
6
7
-2
5
0
26
23
-23
0
0
0
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
-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
10
0
0
0
-5
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
57
0
0
0
24
2
0
5
-25
0
-22
4
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
23
-13
0
1
-19
-6
0
21
-6
15
0
0
21
-2
-3
0
-56
-57
-48
-10
-80
0
0
-23
-17
32
0
0
-30
0
7
0
18
21
1
0
-12
0
-1
-24
-9
-5
0
0
-20
0
0
0
0
10
0
0
-2
0
0
16
0
5
0
0
14
0
0
0
0
0
0
5
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
28
0
0
33
-55
0
-1
4
-1
0
-21
-10
-9
0
0
0
24
0
0
0
9
0
43
0
0
-8
0
5
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
1
-9
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
-10
0
2
-8
0
0
0
0
0
-4
-6
0
0
0
0
0
-29
0
-15
21
-5
-5
1
0
0
16
9
1
0
0
0
0
35
0
-6
27
0
-5
6
0
3
2
14
-3
0
0
0
0
-34
0
0
5
0
1
0
0
0
0
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
-5
9
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
16
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
-23
0
0
-8
0
0
-2
0
-32
0
0
-1
0
27
0
-5
5
-3
0
-1
0
0
-2
0
9
0
0
0
0
-3
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
20
30
48
5
-9
14
3
0
21
-21
-14
0
0
13
0
0
55
5
-14
0
-62
0
0
-9
0
4
-7
0
0
0
0
0
61
0
-14
0
1
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
-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
16
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
-33
0
-6
-2
0
0
0
2
0
0
0
-7
0
0
58
18
4
4
8
15
0
0
20
13
7
0
0
0
0
0
47
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-79
30
-19
5
-19
71
4
0
0
15
5
52
49
-43
22
-28
23
-75
-52
26
70
-35
-65
0
0
-13
-23
101
38
13
32
-29
-55
15
-80
-105
1
58
2
0
0
-9
0
0
3
27
-2
4
-49
-1
0
-6
-43
0
26
0
0
-4
0
6
-16
-51
41
-27
76
-9
26
7
-52
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
-47
-4
-34
17
0
0
26
23
-52
94
0
0
0
0
0
0
15
0
8
0
0
0
0
-4
0
2
0
0
0
0
0
0
-15
0
6
45
1
-15
-1
11
0
8
0
0
0
0
0
0
-25
0
0
5
0
-1
0
-11
0
-2
0
0
0
0
0
0
-2
0
0
-22
3
0
0
-24
0
4
0
0
0
0
0
0
96
0
0
10
9
0
0
45
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-5
-1
11
-31
-4
5
-14
1
23
5
-30
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
19
19
-11
8
-51
-19
3
-19
-34
-23
5
0
0
-20
0
24
4
61
-73
5
1
-69
-17
-8
19
1
23
0
0
10
0
13
-1
-77
-71
1
-29
-103
-10
12
7
4
-156
0
0
0
0
0
0
-50
-16
1
-7
0
0
9
-1
0
-11
0
0
24
0
-5
1
-28
3
0
-14
-27
-2
-3
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
18
-4
-27
42
35
54
-46
32
-5
0
0
42
17
-17
-17
26
-20
-42
24
-59
-46
-91
-98
-106
111
0
0
-5
32
-91
-47
42
-10
-8
2
17
8
-30
-59
-90
43
0
0
4
1
-20
8
-39
55
-9
44
7
-16
-43
-14
-17
33
0
0
-8
0
-13
0
3
30
3
-31
4
0
-31
-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
37
3
-104
2
-56
24
72
164
-40
-32
0
0
0
0
0
0
0
-13
2
20
0
0
8
10
0
0
0
0
0
0
0
0
-3
-27
15
-91
1
3
-21
42
9
-10
0
0
0
0
0
0
0
0
0
-18
1
0
0
6
3
0
0
0
0
0
0
0
0
11
0
16
6
43
3
20
-9
-10
0
0
0
0
0
0
19
0
0
-2
-18
0
0
2
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-5
-20
24
-2
-19
-119
-14
-25
-30
-1
-33
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
6
81
60
-15
5
-89
-61
-42
3
29
58
-65
-18
0
0
-22
-33
-21
16
-34
-17
-3
-81
77
36
-9
8
33
-59
0
0
-18
-8
-6
5
112
-25
29
-54
-21
-36
-11
-29
-27
23
0
0
5
0
-22
-5
14
45
-57
-60
20
7
-3
-105
0
17
0
0
-24
0
2
0
-1
-14
0
5
-4
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-108
55
2
13
0
0
-8
-27
16
0
0
5
0
1
0
-3
-14
-5
-15
5
0
27
1
53
-16
0
0
0
0
0
0
0
-5
17
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
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-33
-1
0
0
0
0
0
1
1
9
0
0
41
0
0
0
56
49
18
-17
-1
0
0
23
1
19
0
0
0
0
0
0
9
24
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
3
-16
5
-6
-63
7
-6
0
0
60
-11
1
6
-101
-6
-4
-29
7
0
45
-41
-32
-105
0
0
6
-1
-67
0
-35
-9
18
-32
1
34
10
20
-48
-61
0
0
-14
0
0
0
-2
-51
4
-46
-8
0
11
-6
-5
-24
0
0
-2
0
0
0
44
18
11
34
4
0
0
-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
-6
2
2
-49
0
0
25
-24
-18
-7
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
-14
0
0
0
-6
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
1
0
26
0
0
0
12
0
-3
0
0
0
0
0
0
-2
0
0
18
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
8
0
-9
-10
0
48
22
-1
6
36
-24
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-6
-8
-33
-53
3
-15
-45
-8
-3
25
-62
-5
0
0
-60
1
-9
3
-29
-52
-58
26
-56
-4
-3
101
-54
-59
0
0
-43
0
5
-11
-33
-1
1
50
-6
-14
-1
-20
-17
-9
0
0
0
0
0
0
-1
-35
0
58
-4
0
0
7
0
11
0
0
-3
0
0
0
-19
0
0
7
23
-2
0
15
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
15
-5
-16
-12
-5
39
0
0
-16
11
7
0
29
-62
-6
-49
78
-70
-47
66
77
-57
0
0
119
-10
14
0
-34
-37
-14
31
18
-40
-57
43
19
-9
0
0
-5
0
-1
0
-4
52
5
33
7
1
16
-32
-5
21
0
0
1
0
0
0
30
-8
14
3
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
-8
-57
5
47
0
14
0
-13
22
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
18
0
0
1
3
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-10
0
-13
3
4
0
-8
0
-7
0
0
0
0
0
0
1
0
0
46
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-9
0
-2
-27
0
13
-3
1
-1
17
-43
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
1
-14
-2
-61
-82
-26
20
-18
14
7
99
-75
-16
0
0
-81
-10
9
17
10
25
-41
4
53
-1
0
-16
34
-22
0
0
27
5
8
6
-51
37
0
-43
44
-19
16
5
27
-12
0
0
2
0
0
0
0
2
0
-5
0
0
0
-9
0
26
0
0
-8
0
-1
0
-6
4
0
4
33
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
-3
-23
-2
2
0
0
10
0
-15
-5
-58
-72
-39
-1
-60
11
-15
-4
-16
43
0
0
0
0
9
-8
10
-33
-14
15
44
-1
63
29
11
2
0
0
-5
0
0
0
-16
-7
3
-1
-1
0
4
-11
-2
23
0
0
-1
0
0
0
-3
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
-52
0
0
2
23
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-49
-34
0
3
-3
0
7
24
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
9
22
0
-6
9
0
0
-6
3
-13
0
0
-14
0
0
0
-32
88
-29
-63
-1
0
0
-17
-26
-15
0
0
-14
0
0
0
-5
60
-4
72
-1
0
-1
0
-46
-16
0
0
-1
0
0
0
0
3
0
0
0
0
0
9
0
19
0
0
0
0
0
0
-6
9
0
13
14
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
-1
-32
17
35
0
0
3
4
0
3
-30
-7
-23
34
20
-40
3
-78
102
56
0
0
54
0
1
4
5
-48
-31
21
40
14
22
13
-98
-100
0
0
0
0
0
3
-15
-5
0
35
6
-7
-15
5
-18
28
0
0
0
0
0
0
-15
-5
5
-17
1
0
-5
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
5
-1
0
27
0
1
0
22
-10
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
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
24
0
-3
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
-9
0
0
0
2
29
0
9
14
0
29
46
-7
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
66
-13
0
-31
42
-2
0
-5
-11
-3
0
0
-3
0
0
-1
45
114
-38
-5
-1
-3
1
6
17
-1
0
0
35
0
1
0
-9
25
1
38
6
-8
5
-4
-14
-43
0
0
0
0
0
0
0
15
0
-16
1
0
0
1
0
-49
0
0
-3
0
0
0
5
0
0
-4
19
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
7
14
-41
14
20
44
15
81
20
58
37
-25
28
-11
0
0
-59
13
36
6
35
10
19
-76
-12
23
-24
-137
-98
-15
0
0
1
0
0
0
-3
-12
27
58
13
-1
19
-34
1
-1
0
0
-2
0
0
0
-5
-41
-5
13
1
0
5
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
-8
0
-7
-4
-1
-19
-115
-14
-46
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
-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
18
3
0
0
42
0
8
0
0
0
0
0
0
1
0
0
-24
-3
1
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
-4
0
-15
36
0
-5
-15
0
7
-4
-54
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
3
-27
-3
46
-10
0
11
17
0
24
12
-10
-4
0
0
2
-4
2
26
9
-23
-29
-47
-34
-5
4
115
29
-30
0
0
-17
0
-16
0
-29
17
0
-55
22
7
-20
14
13
-5
0
0
0
0
0
0
-5
8
0
-14
-5
0
0
20
0
-20
0
0
-33
0
0
0
-36
0
0
-8
20
0
0
110
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
3
27
-27
25
2
22
6
3
-14
-76
-77
-1
17
0
0
34
-17
-6
4
-5
-46
3
33
6
23
-25
73
-15
13
0
0
9
0
-4
4
0
-54
8
-6
1
-10
0
-2
-5
-53
0
0
-7
0
-7
2
-15
20
6
59
-25
2
-16
-30
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
-7
23
35
4
1
-4
-37
-30
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-2
-9
-19
0
10
0
3
-19
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
-33
0
0
0
-2
-24
36
0
0
0
0
0
0
16
0
0
-17
0
0
0
27
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
-18
-14
-27
75
6
-84
-1
39
3
6
-3
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
24
14
64
-8
3
81
-8
-25
18
-23
46
29
0
0
-7
22
14
37
25
-55
67
30
-27
-6
15
17
-81
33
0
0
-5
0
25
2
24
-37
4
-16
-17
-16
-15
10
33
-9
0
0
-3
0
1
0
0
2
0
14
5
0
0
-6
6
-17
0
0
-22
-2
16
-14
43
6
-1
-6
3
-2
-2
46
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
-86
0
0
-8
12
-18
1
-27
-23
-5
-56
-72
61
52
-75
28
-92
0
0
-56
0
-9
30
8
-18
9
3
29
55
54
-15
-45
55
0
0
11
0
1
0
-14
14
-48
15
-8
11
-43
5
7
0
0
0
0
0
0
0
5
0
-5
0
0
0
2
2
-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
-1
-5
51
71
-6
0
11
-10
-33
-55
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
-17
0
1
0
-1
-3
5
0
0
0
0
0
0
0
0
0
-10
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
-27
0
-3
0
5
0
-23
0
0
0
0
0
0
0
0
0
-52
3
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
-24
3
-37
-87
-23
-11
3
35
18
14
-40
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
3
8
-5
-76
-35
0
20
-4
-25
2
35
4
60
0
0
20
-6
-7
-18
-141
22
-18
-30
0
-21
17
-122
-27
4
0
0
-36
0
-14
-14
-43
-24
-8
2
5
-21
-4
12
46
-57
0
0
4
0
0
4
-15
-14
0
-11
6
0
4
1
0
-47
0
0
-1
0
0
0
-16
0
0
13
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
8
0
0
-18
34
89
-12
-50
7
26
-7
33
54
65
0
0
2
15
9
14
-52
-108
-57
32
-7
-50
58
-79
47
35
0
0
9
0
0
0
-7
-23
-21
30
-9
3
25
-8
-11
33
0
0
95
0
0
0
-49
9
-16
9
1
0
0
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
-9
-21
-7
30
17
14
-3
-61
10
61
0
0
0
0
0
0
0
0
-3
-3
0
0
0
-14
0
5
0
0
0
0
0
0
0
0
0
15
0
0
0
10
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
-6
0
3
0
-16
0
3
0
0
-4
0
0
0
0
0
0
1
2
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
-1
0
-16
-33
0
-16
16
9
-7
2
-38
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
-16
-2
11
-10
22
-14
-28
5
7
17
20
-2
0
0
-34
0
-4
7
20
66
-60
-38
-10
0
0
-32
-15
-10
0
0
100
0
0
-1
22
-65
20
5
-6
-1
10
-15
-30
15
0
0
-1
0
0
0
0
-6
1
-21
3
0
0
13
0
5
0
0
-15
0
0
0
5
0
5
-14
-105
13
0
-6
-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
-9
0
0
19
-25
8
9
51
-10
-1
-26
-34
50
0
0
-2
23
-4
-2
-66
-18
-9
27
0
11
-15
37
-9
-20
0
0
0
14
0
0
-4
13
-2
-6
2
9
4
-3
-10
5
0
0
0
17
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
14
0
-5
-18
0
13
0
20
-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
11
0
0
0
0
0
0
0
0
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
12
0
0
5
5
0
0
7
0
-2
3
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-1
0
6
-3
0
-14
-18
-3
0
-2
-41
-30
0
0
0
33
0
0
23
-34
2
0
11
-3
0
-14
11
-2
0
0
0
32
9
0
-8
-1
0
-14
-2
0
-2
0
2
6
0
0
0
16
0
0
0
-1
0
4
0
0
0
0
0
-1
0
0
-8
2
0
0
13
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
-14
0
13
14
11
-22
-7
2
0
4
-24
-5
0
0
-1
2
-38
2
34
-22
-9
-72
2
-5
-2
5
23
-27
0
0
0
0
-32
0
0
-19
0
0
-2
0
0
5
0
17
0
0
0
0
-11
0
-3
0
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
10
-2
-13
0
0
0
17
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
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
9
0
-26
0
4
13
0
0
-17
0
0
-26
11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
10
0
5
85
0
-53
-1
-5
0
8
61
-34
0
0
0
0
3
0
-2
22
-10
27
2
-1
0
5
0
-37
0
0
1
0
-73
0
1
3
10
-9
14
0
0
2
3
1
0
0
0
0
2
0
0
-7
0
0
0
0
0
0
0
3
0
0
0
0
-12
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
36
-13
25
6
-26
-3
2
2
4
51
-51
0
0
24
0
0
21
-24
-9
5
43
-13
4
37
-10
-48
71
0
0
0
0
0
12
-2
21
0
41
-1
0
0
1
1
-13
0
0
0
0
0
10
-10
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
-71
1
0
-5
-35
-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
-1
0
0
0
0
0
0
0
0
0
0
0
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
56
0
-33
-1
0
33
-3
-1
-5
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
28
-87
-2
9
-80
5
9
-5
-10
33
0
0
1
0
0
51
-76
0
-49
49
36
0
0
6
-26
20
0
0
-2
0
0
63
4
-24
-1
21
-23
-6
0
0
-2
13
0
0
-4
0
0
79
0
-26
0
-2
1
0
0
-2
0
-21
0
0
0
0
0
19
-1
0
0
20
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
23
-134
-18
-13
-21
52
-38
-54
-75
-52
0
0
-34
21
-21
12
7
-118
8
3
0
-11
53
14
-14
76
0
0
-5
0
0
22
71
-64
-45
0
-10
-3
-23
-56
0
14
0
0
97
-3
3
-8
14
-30
35
-2
25
-2
14
-80
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
36
-81
18
0
57
34
54
-56
-31
-29
0
0
0
0
0
0
-29
1
-13
66
3
0
0
12
0
5
0
0
0
0
0
0
-4
0
5
-17
0
26
-1
15
0
7
0
0
0
0
0
0
11
0
2
-9
-2
-36
4
-32
-1
6
0
0
0
0
0
0
14
-11
0
69
-6
1
0
-18
0
-4
0
0
0
0
0
0
-41
0
0
-2
55
33
0
-24
-14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
57
55
-73
90
-3
42
67
-38
24
-21
35
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-16
35
-8
16
-14
-11
-54
15
5
8
-16
23
-34
0
0
-88
21
35
14
29
-22
-4
41
-35
8
10
0
30
16
0
0
12
-17
-78
-4
-7
-28
-45
-62
-79
-32
-17
-54
-5
30
0
0
-6
0
0
0
46
3
-11
1
-8
7
0
6
0
-55
0
0
-53
4
-3
17
50
-31
45
25
-74
26
5
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-39
-3
-7
-8
-46
38
0
0
14
37
-5
-24
23
18
31
-28
94
-33
-17
-33
23
-67
0
0
-14
1
-52
-33
-6
2
-5
-24
20
60
-57
-42
-5
17
0
0
20
0
11
2
36
69
11
7
43
11
8
-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
-21
-61
-24
4
2
-1
-31
-29
21
83
0
0
0
0
0
0
-5
-89
-43
-84
14
1
0
33
-1
1
0
0
0
0
0
0
5
-62
-69
-16
-2
1
-22
99
35
-13
0
0
0
0
0
0
-6
-30
10
10
18
1
-6
-94
3
-15
0
0
1
0
0
0
-5
70
0
-16
-9
7
24
-33
7
-10
0
0
0
0
0
0
13
19
0
29
45
3
-2
-18
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-7
4
9
-52
4
-31
-20
-39
-5
-131
91
-23
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-14
-13
-17
99
23
72
-79
-44
18
-5
-48
32
-119
0
0
134
21
33
-16
-10
20
-17
-28
56
3
41
45
-48
5
0
0
-54
26
-108
-14
13
-41
16
-122
104
-99
-9
-42
10
26
0
0
8
0
-16
1
15
-80
-4
-59
-49
-33
15
-103
-9
1
0
0
59
0
6
0
-23
-75
-10
-22
25
-5
7
-57
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62
-22
-25
53
-78
5
0
0
-37
5
-24
-8
51
-58
22
28
-5
3
-18
5
-14
18
0
0
27
0
0
0
3
3
7
-12
4
4
-16
51
0
4
0
0
4
0
0
0
15
-33
70
8
1
1
-1
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
17
3
-4
18
7
6
0
-8
22
-40
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
-15
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
-30
0
0
0
-5
0
9
0
0
0
0
0
0
0
0
0
-32
4
0
0
31
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
5
0
65
-5
-2
-10
6
-1
-23
100
-67
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
4
-20
5
-7
-44
79
42
23
5
3
51
-52
20
0
0
-21
0
0
17
9
-28
-36
2
35
8
0
53
8
46
0
0
-37
0
2
-1
32
71
-15
-14
-70
-45
-46
14
-68
92
0
0
7
0
0
0
3
-71
23
14
-10
0
0
-1
0
-49
0
0
-11
0
-1
0
54
1
-1
-11
-35
-5
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
-25
-43
-56
55
-7
-44
-29
0
0
3
-3
8
1
12
-37
-44
-18
2
-28
-8
12
4
24
0
0
13
7
-8
20
-33
48
-27
24
2
-25
-42
16
42
44
0
0
-33
0
-1
0
-38
-28
-21
20
14
6
36
-33
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
32
53
-38
-67
-58
-14
-29
17
60
-57
0
0
0
0
0
0
0
0
5
-5
0
-4
0
-2
2
-18
0
0
0
0
0
0
2
0
3
-26
0
-7
-3
22
-13
11
0
0
0
0
0
0
-5
0
-7
15
-5
2
0
5
20
8
0
0
0
0
0
0
0
-3
0
13
3
14
-5
21
2
14
0
0
0
0
0
0
0
0
0
-14
39
0
3
4
44
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
18
-13
3
7
21
-3
57
-91
-29
-19
68
-63
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
21
-6
-29
3
63
13
41
-25
-27
-1
-44
-31
-12
0
0
11
-4
-5
-14
27
-39
-8
-1
-48
0
3
15
13
-90
0
0
-45
4
-53
-4
23
-13
-4
28
-43
29
-3
-79
-27
-3
0
0
59
0
1
-21
-42
49
-5
-36
19
-3
5
-16
-13
-67
0
0
13
-4
3
9
78
-17
37
76
0
-24
-34
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
75
-23
3
50
-25
0
0
1
-28
34
28
-17
20
-23
43
22
53
-125
97
-4
-15
0
0
-2
0
0
-10
22
-22
29
128
0
-9
-20
0
-4
63
0
0
-14
0
0
0
-51
-7
17
43
-15
10
-20
63
-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
72
-44
-7
-5
-52
43
-16
15
5
-49
0
0
0
0
0
0
0
0
-6
-6
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
0
-52
6
2
0
0
0
0
0
0
0
-3
0
4
0
0
0
13
1
4
0
0
0
0
0
0
0
5
0
54
10
0
0
8
13
33
0
0
0
0
0
0
16
0
0
-1
5
0
0
-9
7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
0
13
18
-24
35
3
19
12
2
18
117
31
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
3
-2
-75
31
42
-8
47
84
-1
17
-35
69
0
0
-8
-9
7
-13
-7
-55
64
86
88
25
20
-12
-97
11
0
0
-21
-1
4
-3
19
22
-15
42
-36
55
-1
2
43
-4
0
0
-13
0
1
5
19
122
14
-56
-29
3
2
14
15
-42
0
0
-2
5
2
-11
42
0
48
20
-26
31
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
48
34
0
0
40
17
18
-17
-20
-68
-3
30
76
5
40
34
-87
4
0
0
-3
0
0
-5
-9
58
76
-17
9
0
-3
-25
-1
38
0
0
3
0
0
0
45
-23
59
-10
1
0
-1
-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
-5
-30
34
-44
8
-4
-1
15
-32
-68
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
19
-3
0
-1
8
0
17
0
0
0
0
0
0
0
0
0
30
1
0
0
18
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
13
5
2
18
3
8
33
-13
1
-5
43
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-1
0
10
-13
25
-14
-7
29
5
-3
52
-2
-97
0
0
-33
0
3
1
-14
156
19
-31
-5
1
0
90
4
-35
0
0
43
0
-6
8
33
27
-1
9
14
-9
-1
60
-10
12
0
0
0
0
0
0
5
11
0
-3
-6
0
0
43
-1
-9
0
0
-3
3
0
0
0
-6
0
23
-2
15
0
-18
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-80
49
0
0
31
-1
13
-13
24
17
-37
49
-62
3
6
4
72
-9
0
0
10
0
0
8
-6
15
-10
42
-5
0
14
9
-4
19
0
0
-3
0
0
0
-18
-8
0
0
-3
0
14
-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
1
0
-9
-12
-13
1
0
-19
-3
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
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-20
0
5
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
-5
-1
0
14
71
-1
-5
34
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-7
10
-61
42
0
-9
-42
-10
1
-3
-20
7
0
0
-4
0
0
-4
46
82
-13
-14
-48
6
0
-7
20
44
0
0
-41
0
2
-4
-23
-47
3
5
-14
-1
3
6
-34
54
0
0
0
0
0
0
0
-11
0
-91
3
0
0
25
0
-11
0
0
8
0
0
0
-13
-3
0
6
5
8
29
-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
-75
27
19
0
0
-51
-123
-15
-51
-35
14
97
-30
45
59
7
15
13
-32
0
0
38
-21
-14
-20
66
-35
-15
-62
-22
-61
0
-12
17
7
0
0
-1
0
-5
-4
-22
45
-15
10
21
-15
9
-27
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
20
-24
-36
-7
-75
70
5
-30
-9
29
0
0
0
0
0
0
0
7
-35
-21
1
0
2
-34
-7
23
0
0
0
0
0
0
4
7
4
-65
0
2
0
-27
2
-45
0
0
0
0
0
0
-6
0
0
-14
8
-3
0
5
20
-4
0
0
0
0
0
0
1
21
0
3
-3
-2
13
195
-15
-22
0
0
4
0
0
0
-4
0
0
-50
5
9
1
-100
44
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-12
30
23
-32
-16
71
-25
10
68
44
13
22
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
6
-5
42
11
15
-24
-10
25
47
-43
22
81
-53
0
0
-23
10
-70
44
-42
21
19
45
81
-54
26
-5
-32
38
0
0
55
1
-43
0
5
1
-23
32
-113
25
7
16
-53
21
0
0
-17
1
15
11
-30
17
-5
14
-7
-1
-4
14
9
24
0
0
55
-23
2
-1
28
74
43
58
14
3
1
-1
82
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
-68
-103
-40
-48
26
46
-33
-23
62
-64
-83
-93
-43
0
0
15
0
3
-17
0
-12
25
5
-7
-19
16
2
72
24
0
0
24
1
0
-5
-46
-54
55
30
-13
13
18
-3
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
-9
4
-5
-4
77
-17
-53
28
43
-64
0
0
0
0
0
0
0
0
10
4
-11
0
0
6
-61
9
0
0
0
0
0
0
0
2
-16
5
5
2
0
25
-33
4
0
0
0
0
0
0
0
0
1
-18
0
0
0
1
-53
14
0
0
0
0
0
0
0
11
0
-5
4
11
0
81
7
5
0
0
0
0
0
0
6
0
0
-10
-30
2
0
46
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-9
-17
-65
-107
1
-33
13
-28
65
-9
-16
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-43
-8
6
-50
15
4
41
58
59
45
-56
0
-61
0
0
-26
9
-30
28
-8
-23
48
90
-8
3
-3
-100
12
-22
0
0
42
15
-51
-9
50
14
-36
-22
15
29
26
-26
57
14
0
0
11
0
0
4
0
10
-5
-44
-13
1
1
8
6
-24
0
0
-5
-6
3
-8
-3
-24
-10
7
-56
1
1
3
-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
-45
0
0
23
64
43
-28
22
131
35
9
-6
91
-14
-24
-82
23
0
0
-90
-6
-13
-24
-55
-71
-50
-87
-59
-4
-37
91
43
62
0
0
-8
0
0
-1
-1
0
-61
-15
-1
0
33
-14
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
-67
2
-8
-25
30
-14
-24
-10
-33
-80
0
0
0
0
0
0
-2
0
8
26
1
0
0
16
-8
4
0
0
0
0
0
0
2
0
-8
-52
-1
-10
0
29
3
-72
0
0
0
0
0
0
-4
0
7
3
-1
-18
0
-14
-3
-50
0
0
0
0
0
0
5
0
0
38
-17
45
11
51
20
-38
0
0
0
0
0
0
-5
0
0
-14
-5
0
0
33
25
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-3
-14
-27
-41
-194
35
-76
-14
21
-69
-38
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-8
-19
-62
39
47
-62
86
-55
-100
26
-36
-17
21
0
0
-5
32
-20
-46
40
18
-5
-21
-33
-18
-19
24
20
-42
0
0
-32
-9
-31
21
30
19
-60
33
-10
49
20
-29
-5
-63
0
0
-17
0
-2
-10
0
9
9
-44
18
-14
-3
-27
14
-25
0
0
-24
4
3
-2
26
0
10
31
-6
-3
-16
-57
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
32
47
-12
-2
37
2
0
-19
3
-32
0
0
7
0
0
0
-5
-5
1
-90
-14
-4
-4
6
4
71
0
0
51
0
0
0
-1
72
54
6
-18
-7
-3
-14
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
-36
-7
-5
-16
8
5
-20
-42
15
-2
0
0
0
0
0
0
0
0
14
1
0
0
0
-16
2
-13
0
0
0
0
0
0
5
0
-3
20
1
1
-2
44
9
-13
0
0
0
0
0
0
0
0
0
13
2
0
0
-8
-16
0
0
0
0
0
0
0
0
-14
0
-18
-11
2
-1
85
2
21
0
0
0
0
0
0
-1
0
0
-24
1
0
0
4
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
0
0
-61
-17
2
50
24
-4
-1
27
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-4
-6
15
-44
21
14
-34
-26
-19
-3
-64
-26
132
0
0
-68
-3
-23
-1
39
-32
-24
-23
-68
-3
14
0
-24
-100
0
0
96
0
0
0
-21
21
25
-22
11
41
5
43
4
1
0
0
-21
0
0
0
0
-14
5
6
-1
0
0
51
1
33
0
0
46
4
0
0
-11
11
15
13
-14
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-82
0
5
15
-1
-21
7
-6
5
0
0
0
-12
0
0
0
-3
0
0
0
0
0
-1
0
11
0
0
0
51
0
0
11
-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
23
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
80
0
0
-1
-2
0
0
0
0
0
-5
16
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
23
0
-10
22
0
0
2
6
-5
0
0
10
84
0
0
3
-13
30
-32
-39
-7
0
-38
-13
41
0
0
0
-3
0
0
-2
-9
0
-5
3
2
0
0
-2
4
0
0
0
8
0
0
0
-1
0
2
0
0
0
-2
0
-9
0
0
0
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62
26
35
-28
-9
2
0
6
32
-5
0
0
0
0
61
0
-1
23
-2
-1
-3
0
-4
7
-15
4
0
0
0
0
37
0
9
-17
3
-18
6
0
-2
-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
-39
14
2
28
-1
9
2
-13
10
-11
0
0
0
0
0
0
0
0
-2
-2
-2
0
0
17
0
6
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
1
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
0
0
0
0
0
-20
0
0
0
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
56
0
31
24
0
5
3
6
-7
8
-49
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-1
-78
-8
54
-53
0
10
-80
22
1
-9
-35
-92
0
0
-3
0
75
-9
16
-27
19
7
-50
3
0
35
-23
6
0
0
5
0
-28
0
-22
-10
24
50
-6
-3
-6
2
-1
-18
0
0
0
0
2
0
0
-15
0
-14
0
0
0
0
0
-2
0
0
-9
0
10
0
-4
0
0
-1
51
0
0
26
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-12
0
-61
-5
0
-3
0
2
-62
0
0
1
0
0
13
4
-3
0
10
-1
0
0
0
0
60
0
0
5
0
0
53
-6
-2
0
18
-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
7
0
1
-1
17
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
72
0
32
0
5
5
0
-2
6
-20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
-1
-33
1
-30
0
14
-19
3
0
3
12
-5
0
0
62
0
0
71
14
-3
43
54
29
-3
0
14
-43
71
0
0
0
0
0
-4
0
1
0
4
-1
1
0
0
0
-1
0
0
0
0
0
-15
0
0
0
11
0
0
0
-5
0
-4
0
0
0
0
0
43
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-134
66
6
-38
-64
76
5
-27
-28
0
0
-1
0
-2
0
104
-4
2
-63
-55
19
5
-44
0
-30
0
0
23
0
10
3
165
-98
-71
-93
32
6
-52
-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
48
-100
23
-84
23
-1
-39
-99
-12
-56
0
0
0
0
0
0
-18
0
-9
-41
1
0
-1
-42
0
-5
0
0
0
0
0
0
42
0
-11
-20
-18
3
-6
-52
1
14
0
0
0
0
0
0
-4
0
0
1
4
2
-7
2
-3
-9
0
0
0
0
0
0
11
-15
0
-11
8
-15
0
30
0
23
0
0
0
0
0
0
-11
0
0
19
43
-6
1
4
26
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
5
20
-5
86
26
-5
-8
17
-17
14
-16
47
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
76
12
6
20
-77
18
-26
80
17
-12
81
2
-80
0
0
-21
4
-24
8
1
47
-27
-14
58
15
-72
27
-17
-38
0
0
53
4
1
-2
76
41
-33
-80
76
-29
40
3
18
-140
0
0
0
0
0
0
37
11
-3
18
-20
2
0
0
0
9
0
0
-48
10
3
7
27
-14
-7
-7
-47
5
9
-33
-82
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
-38
-88
48
-32
-75
-54
0
0
-53
-17
-18
36
-9
50
-21
33
14
40
-12
-5
-31
-43
0
0
-22
3
-1
-2
-9
-19
46
-46
26
48
-14
-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
-22
-19
-12
67
-44
-69
26
6
85
-3
0
0
0
0
0
0
0
-17
6
-43
16
-1
0
-16
-6
-6
0
0
0
0
0
0
5
-5
-86
-48
-2
-43
33
89
-26
0
0
0
0
0
0
0
-8
1
9
-17
0
1
-2
8
-8
0
0
0
-4
0
0
0
0
40
0
-56
-52
-10
-15
-41
-4
-76
0
0
0
0
0
0
4
-3
0
-31
18
14
3
-96
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-4
9
-5
48
-28
-49
-43
-19
33
54
64
-32
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
-74
-3
-18
47
-14
12
110
110
31
-61
-14
4
-104
0
0
2
-42
3
-44
-65
-6
25
-14
66
-16
-16
-45
3
-53
0
0
-17
-1
16
4
29
-22
-67
36
-39
20
-54
31
-9
-1
0
0
0
-5
-1
2
-31
18
-18
-16
21
-1
-3
73
-9
-25
0
0
1
0
0
0
-8
-15
-21
35
-12
18
-2
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
-3
90
5
-18
38
-16
21
76
0
0
-3
0
0
0
5
31
-56
51
-1
7
8
51
0
9
0
0
-3
0
0
0
-20
4
86
-3
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
2
1
0
0
0
43
4
26
0
0
0
0
0
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
-9
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
4
0
-68
46
-5
-3
-53
5
102
51
26
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
4
17
5
97
-47
-6
42
-5
11
-2
5
-2
19
0
0
66
0
1
-19
-38
-71
13
23
-14
-16
1
7
1
69
0
0
16
0
0
0
-14
39
0
-21
44
19
8
1
5
-9
0
0
0
0
0
0
-3
-13
0
-5
0
0
0
33
0
19
0
0
7
0
0
0
-6
7
1
27
22
-1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
25
-7
-101
-22
47
0
0
52
0
10
15
4
64
-42
52
-20
35
45
171
-10
127
0
0
-37
2
0
-5
-118
-43
18
38
9
6
-2
-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
11
19
63
-75
14
-55
-15
89
62
93
0
0
0
0
0
0
0
-1
11
-1
0
0
1
-45
-5
21
0
0
0
0
0
0
5
-5
-14
-15
1
0
5
12
20
13
0
0
0
0
0
0
0
1
0
23
0
-5
0
-14
-4
30
0
0
0
0
0
0
0
-35
0
151
14
-9
-9
-17
4
16
0
0
0
0
0
0
-1
0
0
-10
-4
0
0
10
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
36
4
-36
-2
-13
8
53
0
20
-66
-42
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
48
-43
-6
-17
3
30
-39
73
-15
43
-60
36
-21
0
0
-20
5
-54
-25
-33
-17
-12
-1
51
-65
-51
10
33
-87
0
0
-21
3
18
-7
-16
25
19
-77
-1
7
-32
30
-59
-40
0
0
3
-3
-4
21
36
-73
33
20
20
-2
1
22
-5
20
0
0
-20
0
21
2
118
-44
-1
66
72
11
11
-25
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
-3
4
41
-17
47
26
0
0
21
0
-2
5
3
46
23
-22
-5
-5
5
106
2
-29
0
0
-7
0
0
0
-19
2
14
31
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
30
-3
4
-21
7
77
8
-33
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
-24
0
10
-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
16
0
0
0
11
0
-2
0
0
0
0
0
0
-7
0
0
-13
-3
0
0
-6
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-1
0
-17
79
-1
33
-16
9
32
25
-26
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
16
0
-3
-31
92
9
-30
21
-12
-13
-11
-9
4
0
0
32
15
27
-3
89
71
29
69
-2
-7
-7
35
28
-13
0
0
45
0
-2
0
-7
26
-7
-29
-24
3
6
-14
29
-33
0
0
-3
0
0
0
3
-13
-1
1
-6
0
-3
51
0
-5
0
0
-6
0
9
0
-9
-10
4
-4
18
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
-28
3
-47
32
0
0
0
0
0
0
-18
-31
8
-14
0
0
10
-18
0
19
0
0
0
0
0
0
1
-1
2
-5
0
0
0
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
-10
45
14
11
-1
19
-2
-6
35
-8
0
0
0
0
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
3
0
0
0
16
0
9
0
0
0
0
0
0
-3
0
0
45
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
-5
0
-36
-23
0
10
-3
-6
0
1
-2
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
8
-15
17
-21
-1
-29
-74
3
0
5
-33
17
0
0
-21
16
2
0
56
-17
-21
51
-27
-2
0
45
-14
-23
0
0
-11
0
0
0
14
6
0
40
14
14
-8
0
-2
-36
0
0
0
0
0
0
0
-2
0
39
-2
0
0
-1
0
-9
0
0
-1
0
0
0
18
0
0
-13
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
-57
-6
0
0
-46
0
8
-6
23
28
-20
-34
-7
18
118
-31
-5
44
0
0
-4
0
1
0
3
-63
-40
-39
7
-18
5
32
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
17
-34
50
-31
-33
-42
-11
64
-16
13
0
0
0
0
0
0
0
0
-4
23
0
-8
0
-5
0
0
0
0
0
0
0
0
0
-2
-5
-54
0
-1
-1
37
-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
-24
0
6
3
74
11
63
0
0
0
0
0
0
4
0
0
-2
-5
0
-13
22
-13
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
0
-11
-1
-22
1
24
51
13
23
60
91
-120
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
7
-16
3
-65
-31
3
-61
67
15
56
24
5
-87
0
0
-86
2
1
-23
49
-83
1
-15
-35
11
5
-4
4
9
0
0
25
0
-3
0
-38
23
4
4
-28
-11
-10
0
-13
8
0
0
-8
0
0
0
2
55
2
9
18
8
2
27
2
-6
0
0
33
0
1
0
43
-6
6
30
-20
5
-17
19
-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
-12
-50
3
0
0
27
0
0
0
-29
-59
7
7
-5
-6
-3
52
-17
27
0
0
53
0
0
0
-38
-10
43
-5
-21
0
21
-70
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
-9
7
21
-4
14
16
-1
-16
-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
2
-24
0
4
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
8
0
87
0
0
0
-19
0
0
0
0
0
0
0
0
16
0
0
90
1
0
0
23
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
18
0
-5
-43
0
-5
42
5
-8
15
2
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-1
-15
3
-40
-4
26
-59
4
16
8
45
12
0
0
-31
-5
1
5
32
-101
25
1
1
3
3
53
1
35
0
0
-10
0
-1
0
0
44
0
42
20
-2
-2
-4
52
33
0
0
-6
0
0
0
-13
60
0
50
-9
0
1
38
0
26
0
0
19
0
0
0
-7
13
7
0
25
4
0
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
69
-6
0
0
-82
-4
23
-43
0
73
-47
-24
31
13
-40
6
21
1
0
0
-32
-13
-35
-13
-33
-19
-29
-32
-13
-11
-14
-53
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
43
63
-5
-64
-9
35
-57
99
-72
0
0
0
0
0
0
0
10
2
2
6
-2
0
15
18
3
0
0
0
0
0
0
0
8
10
-33
-17
-6
11
-5
52
-17
0
0
0
0
0
0
0
0
0
-14
-1
1
0
5
76
-5
0
0
0
0
0
0
0
17
0
-43
21
-3
0
14
-9
-25
0
0
0
0
0
0
1
-4
0
-33
-31
4
1
-31
-54
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-10
4
7
14
59
-17
1
25
-49
-19
5
22
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
4
43
-20
4
37
-28
-15
33
11
41
7
5
-63
0
0
5
-23
-3
4
-31
46
21
-96
44
35
-21
21
-23
-102
0
0
-15
1
32
3
-39
-103
5
-87
30
-2
-5
-28
-101
-15
0
0
11
0
1
-41
0
32
23
22
-21
2
-11
3
5
-20
0
0
13
-4
-45
-11
40
-2
11
7
-28
16
13
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-34
0
22
6
8
14
34
-39
-10
-33
-77
59
24
23
0
0
-20
0
8
-22
-81
0
43
11
7
-3
-5
-33
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
89
-14
9
99
-52
-64
20
36
-35
9
0
0
0
0
0
0
0
0
8
-3
0
2
-2
35
2
-53
0
0
0
0
0
0
-10
0
-29
22
0
0
0
-5
-44
-25
0
0
0
0
0
0
-6
0
0
21
0
11
0
-5
-33
28
0
0
0
0
0
0
2
6
0
-24
24
7
-13
47
-13
14
0
0
0
0
0
0
-8
0
0
23
-9
0
0
36
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
5
21
-18
-32
4
24
36
32
19
-35
26
-118
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
60
11
-1
1
-33
-18
11
59
51
-33
-53
-5
15
0
0
-134
44
5
-5
40
-43
-2
-76
38
-43
8
-24
22
-58
0
0
-5
16
-35
14
22
34
59
-32
48
-98
0
-5
-127
-1
0
0
-49
0
22
3
-5
-14
43
16
3
-6
16
-90
14
-2
0
0
46
1
-7
-1
-10
0
-1
-5
-3
-7
1
-12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
0
-21
0
-2
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
-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
-23
0
0
0
0
0
0
0
-4
3
0
11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
0
0
-5
-66
0
9
-20
-4
0
-9
-9
11
0
0
56
0
0
0
-3
-4
-8
34
1
0
0
-33
-6
43
0
0
33
0
0
0
0
0
0
-4
23
0
0
21
0
-22
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
10
0
-5
0
-1
27
0
-2
-2
0
0
0
-3
-43
0
0
0
0
-5
0
0
-6
0
0
0
0
0
10
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
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
-7
0
-6
-3
2
0
0
-5
-11
0
0
1
0
0
-64
0
13
0
6
20
0
0
1
0
-35
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
-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
80
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
0
0
-14
-5
-2
0
50
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
5
0
0
-2
-2
5
-1
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
5
0
-4
-1
-35
0
-1
-3
-1
0
-14
0
-56
0
0
11
0
0
0
-95
-24
-5
-19
-16
0
0
-23
0
-46
0
0
0
0
0
0
-11
-5
0
13
-14
0
-1
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
6
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-3
-9
1
-9
-16
0
16
0
0
-5
0
0
0
2
0
0
-33
4
1
-7
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
-10
-17
-20
-3
24
2
-9
-29
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
5
7
-53
0
-2
-1
-8
0
9
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
0
8
0
0
-11
0
4
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
0
0
0
0
0
0
0
-14
0
1
0
-4
27
-5
6
-33
-25
-6
28
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
3
-27
33
-76
-26
7
-52
3
-6
-2
-43
50
-41
0
0
54
-5
1
9
5
98
12
-77
9
-7
0
17
-9
-3
0
0
30
0
0
3
-6
58
-4
-26
55
-1
-21
5
-4
-18
0
0
0
0
0
0
0
1
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
-7
-2
-5
46
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
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
14
-14
0
2
0
43
0
-5
0
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
23
0
1
0
-5
20
2
5
7
0
7
5
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
-1
17
-21
-5
-9
-15
7
0
32
0
-6
0
0
-5
0
0
0
36
36
48
25
-43
10
0
38
6
-26
0
0
16
0
0
0
0
85
0
-33
-10
0
0
2
0
-5
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
-40
0
0
-17
4
0
-19
0
0
-1
0
0
0
-14
-3
-9
-73
7
0
0
-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
-14
3
-19
0
14
0
17
5
72
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
-13
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
3
0
-4
14
0
32
5
2
-6
-56
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
-11
5
14
0
15
21
1
8
-48
-10
30
0
0
-7
0
1
-22
4
-102
50
-46
-5
-25
0
-5
-6
-13
0
0
-12
0
-2
0
-53
-4
0
3
-15
-5
0
27
-5
-1
0
0
0
0
0
0
0
2
0
16
0
0
0
0
0
0
0
0
2
0
0
0
-3
9
0
-23
-3
0
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
-14
0
-8
0
-14
96
0
13
-1
-4
0
-6
-8
-23
0
0
-5
0
0
5
-20
28
1
-11
8
0
0
-11
-4
-8
0
0
0
0
0
0
0
-9
0
24
-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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
105
0
0
3
0
0
0
0
-27
0
0
-6
0
0
0
-10
-4
22
0
-3
0
0
17
0
-16
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
10
-2
0
0
0
0
-46
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-32
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
-90
-11
0
-13
0
24
5
-5
26
-55
0
0
15
0
0
0
0
-19
7
20
-9
-2
-1
-9
0
2
0
0
1
0
0
0
0
9
0
-15
0
1
10
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-20
0
0
0
0
0
0
4
-2
5
-9
-14
0
0
91
-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
11
-3
-63
0
0
0
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
-8
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
0
0
0
0
0
32
0
0
0
0
0
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
14
0
0
0
8
15
0
5
16
0
0
34
-3
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
1
5
4
21
71
0
58
-56
13
-1
22
45
-37
0
0
41
0
-3
1
23
-100
-8
3
69
5
7
-1
-3
34
0
0
8
0
0
0
-4
-33
0
-11
-1
2
35
-33
-9
-32
0
0
0
0
0
0
0
0
0
4
0
0
0
-14
0
0
0
0
2
0
0
0
-3
-2
0
31
-14
-4
0
69
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
14
0
0
0
0
0
-6
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-2
0
0
-33
0
1
-6
0
0
0
42
-45
0
0
-13
0
0
-1
0
4
0
10
-24
0
0
33
-4
14
0
0
6
0
0
0
0
0
0
-13
-6
0
-2
10
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
-21
0
0
-2
5
5
-1
-37
-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
17
8
7
0
-20
74
-60
-34
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
-5
0
6
1
-41
6
-9
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
-9
0
4
-3
-6
-17
0
22
15
6
45
-14
-23
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-119
-1
-13
82
58
32
-2
-14
2
23
3
43
-98
34
0
0
-53
2
-16
-41
-45
-36
18
-99
-38
-11
-35
105
-9
-14
0
0
-3
0
-3
7
-6
7
-13
36
62
-7
-16
14
3
6
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
-37
0
0
7
0
-2
2
16
0
0
8
0
15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
11
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
23
-5
0
-1
-34
-2
0
8
12
0
0
0
-2
0
0
0
1
14
1
30
-14
0
0
-3
-14
-14
0
0
30
0
0
0
9
0
0
-14
-29
0
0
0
0
13
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
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
-51
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
-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
2
9
48
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-14
-16
-2
4
29
-13
5
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
1
15
0
0
0
-14
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
7
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
1
0
0
0
41
4
2
0
-18
19
-9
20
10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
2
0
-10
-53
-61
0
-11
-15
-14
17
32
5
-20
0
0
-6
-3
0
0
52
-17
-45
-1
-17
11
-4
-16
11
-29
0
0
2
0
0
0
9
-7
0
36
-32
14
20
17
1
0
0
0
0
0
0
0
26
0
0
9
0
0
0
15
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
-13
0
4
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
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
102
0
2
-6
0
0
-33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
-2
0
-6
58
0
-69
-24
-14
0
7
-45
0
0
0
-11
-1
0
0
19
-69
-10
4
6
-4
-1
-15
-8
0
0
0
9
0
-10
0
0
79
-2
-56
14
-1
4
5
-1
0
0
0
0
0
0
0
0
-1
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
5
0
0
0
5
64
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
16
15
0
8
-6
-1
0
41
12
-5
0
0
-25
0
0
0
31
2
93
-19
-10
2
0
59
-3
44
0
0
5
0
0
0
-8
-2
0
16
13
0
0
0
5
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
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-24
2
0
0
-2
32
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
1
-17
18
0
70
-33
0
0
13
-66
-26
0
0
-5
0
0
-8
40
-42
5
29
-11
-8
1
21
15
10
0
0
2
0
-1
0
18
-2
0
27
33
1
2
2
6
-4
0
0
0
0
0
0
0
0
0
48
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-51
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
-33
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
-12
-45
0
26
1
-4
0
14
8
-5
0
0
-1
0
0
0
32
9
-5
-4
-2
-11
0
24
1
-3
0
0
0
0
0
0
9
0
0
-16
-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
5
0
0
0
-4
-17
0
0
3
0
0
0
2
0
0
0
-2
0
0
0
-4
-1
0
20
0
0
0
-5
0
20
0
0
0
0
0
0
1
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
-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
-21
71
0
8
-1
0
0
-5
-4
0
0
0
1
0
0
0
-1
16
0
4
-7
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-10
-14
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
35
-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
3
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
4
0
0
0
-5
2
0
0
1
-1
-1
73
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
-1
0
6
8
0
33
-14
-2
0
-35
48
-15
0
0
-16
0
0
0
-14
0
14
-12
14
9
0
61
-11
10
0
0
-4
0
0
0
-1
0
0
32
5
0
0
8
1
-4
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-7
0
2
1
-54
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
-2
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
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
0
0
0
0
0
0
19
0
0
0
0
6
0
0
4
0
26
8
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-1
-6
-31
14
0
9
23
-11
19
26
-119
-1
0
0
0
0
0
6
-26
53
3
1
-14
-13
1
-58
33
-4
0
0
-7
0
-4
0
1
-11
1
33
-6
6
11
17
-1
1
0
0
0
0
0
0
0
0
0
-14
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
-11
10
0
0
-9
0
0
0
-9
0
0
-5
-2
0
0
5
-6
13
0
0
0
0
0
0
1
0
0
-3
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
-22
0
0
0
-14
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
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
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
1
0
0
0
33
-59
0
0
-5
16
0
10
8
-38
0
0
-22
0
1
0
37
5
3
-43
22
0
0
5
1
-29
0
0
6
0
0
0
-24
14
-1
3
0
0
-16
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-23
0
0
-6
-45
16
0
15
-28
-1
0
10
-45
-2
0
0
3
0
-2
10
-1
-119
4
-9
6
5
0
10
-3
2
0
0
2
0
0
0
1
-53
0
0
14
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
10
0
0
-1
-3
11
5
21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
-5
0
-47
18
0
16
22
-9
0
3
71
6
0
0
32
0
3
3
37
-36
0
-55
6
-27
0
37
3
45
0
0
-11
0
0
0
32
-11
0
-26
31
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
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
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
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
-100
4
31
-2
-64
-23
0
20
7
-7
9
-99
-5
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-43
48
8
43
-17
-9
43
12
-17
-2
13
-50
-22
0
0
40
-13
2
-1
-51
92
109
-21
-14
22
6
-21
-71
-4
0
0
-12
2
26
-5
-22
13
18
66
9
-5
5
-50
-8
-49
0
0
9
0
0
5
-7
33
0
-22
-3
0
0
14
0
13
0
0
4
0
3
0
-16
-20
0
-3
30
0
0
-2
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
10
-17
0
0
3
0
0
16
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
0
100
-6
0
0
-5
0
0
-9
-42
22
0
0
-11
0
0
1
-9
-45
-6
-3
0
0
0
42
6
-29
0
0
4
0
0
0
13
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
14
0
0
17
-2
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
0
19
11
0
9
17
0
0
-1
-80
3
0
0
-8
-4
0
-2
12
-21
43
10
-2
0
0
-32
-17
-63
0
0
9
0
0
0
7
-19
0
21
6
0
-2
0
-4
-10
0
0
1
0
0
0
0
9
0
1
0
0
0
4
0
0
0
0
-7
0
0
0
-2
0
0
0
-1
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
9
0
2
-5
0
0
7
-6
19
0
0
-1
2
0
-5
7
31
-4
-13
-1
0
0
4
-7
-7
0
0
0
0
0
0
-1
10
0
7
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
1
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
22
0
-6
0
0
0
105
0
0
0
0
0
0
0
0
9
0
0
-23
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
2
-11
1
-3
75
0
48
-33
19
-1
-13
2
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
-11
17
-62
-32
-5
67
-26
31
-5
-43
42
89
0
0
10
23
14
51
52
-14
-5
34
101
-44
-1
-67
13
78
0
0
5
-1
2
0
33
4
0
53
-57
7
-49
-5
-1
-3
0
0
13
0
0
0
-3
-5
0
3
-11
0
0
10
0
25
0
0
0
1
3
0
33
3
0
4
60
-3
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
31
0
4
0
-8
3
0
-14
-1
0
3
-10
-12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-15
-19
0
-5
-15
0
-10
25
9
17
5
53
64
0
0
-5
2
-10
3
32
13
9
-4
19
0
0
-23
27
-2
0
0
-8
0
0
0
-3
-7
0
34
-6
-7
4
0
-24
24
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
-14
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
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
7
0
0
0
-19
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
-7
0
2
0
10
-14
0
-16
-29
-2
-5
-23
-26
-104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
3
-17
4
22
-16
-2
7
-8
13
10
31
-72
-92
0
0
63
-1
6
-23
31
-52
-30
-19
35
-5
25
9
-35
20
0
0
9
1
43
0
14
8
-9
-7
-2
-5
-5
0
33
-43
0
0
1
0
0
0
0
-13
0
1
0
0
0
-1
0
19
0
0
-2
-1
-1
0
-7
0
0
-4
21
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
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
8
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
16
0
0
0
-26
-23
0
-9
-4
0
0
0
-1
-7
0
0
1
0
0
0
-10
1
0
2
0
0
0
0
0
-9
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
18
0
-1
0
7
21
0
1
0
0
0
0
6
27
0
0
-2
0
0
-7
-18
-9
6
-1
-2
0
0
-4
0
25
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
3
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
6
0
-2
-5
-62
74
0
-3
7
0
0
1
-7
-33
0
0
23
0
10
0
-43
-33
-1
5
-13
0
0
-8
6
15
0
0
0
0
0
0
-1
10
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
30
-22
0
0
0
0
0
0
-10
1
0
0
-11
0
0
0
-3
0
0
0
0
0
0
-2
0
7
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
-53
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
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-20
39
0
-17
0
0
0
6
-9
5
0
0
1
0
0
0
-5
-3
0
-5
-3
0
0
3
0
-3
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
3
0
0
0
2
-21
0
0
2
0
0
-74
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
6
-14
-4
0
14
-1
0
0
11
-10
-11
0
0
-15
0
0
0
-49
-93
3
19
0
0
0
3
-22
-7
0
0
9
0
0
0
5
-44
-1
8
-1
0
0
1
0
10
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
-11
0
0
2
0
0
0
-15
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
-5
0
0
0
-4
33
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
-10
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
11
-2
0
0
0
0
0
-6
0
-19
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
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
-55
0
0
0
0
0
0
0
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
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
33
0
-4
23
0
0
7
1
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
9
0
5
-71
0
23
23
0
0
-4
18
27
0
0
-9
0
0
0
-3
51
-2
16
3
0
0
15
3
-24
0
0
-5
0
0
0
-21
-2
0
7
17
0
0
0
-1
-16
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
13
0
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
49
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
-13
-1
0
-1
20
4
0
-1
7
5
0
0
0
0
0
0
4
-2
0
0
0
2
0
24
0
-20
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
3
0
0
0
0
-4
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
-13
4
0
1
4
0
0
0
48
14
0
0
2
0
0
0
5
41
0
-16
1
0
0
-1
1
11
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
-16
-45
0
4
0
0
0
0
-3
0
0
0
2
0
0
0
-4
-19
-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
-14
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-8
-37
0
0
0
0
0
0
7
-16
0
0
5
0
5
0
-49
-16
-1
-11
-2
0
0
4
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
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-9
31
0
0
24
0
0
0
-61
7
0
0
-18
0
0
0
0
24
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
2
14
0
2
-6
0
0
2
-5
72
0
0
-1
0
0
0
-10
1
2
1
0
0
0
-8
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
6
0
1
0
1
-33
0
-13
-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
-10
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
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
-5
0
11
0
0
1
-23
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
14
-5
35
-2
0
-37
28
17
0
-5
28
42
0
0
-28
0
-3
0
27
-19
10
19
14
-2
0
-12
18
53
0
0
9
0
0
0
43
65
0
35
-14
-4
3
0
-4
-21
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
-15
0
0
5
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
89
0
-4
-18
0
0
0
-1
21
0
0
2
0
0
0
-5
17
0
-9
0
0
0
0
0
18
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
28
0
-19
-6
0
0
0
0
6
0
0
6
0
0
0
16
15
4
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
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
-4
0
-2
0
-6
-2
0
-5
-7
0
7
30
7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
-4
-10
55
-2
0
1
-9
-7
0
9
4
46
0
0
5
0
0
13
-23
86
48
27
14
0
0
-2
-20
30
0
0
5
0
0
0
5
-9
0
6
8
4
0
6
4
-48
0
0
0
0
0
0
0
3
0
0
0
0
0
22
0
5
0
0
-7
0
0
0
6
0
0
-1
-5
-2
0
43
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
1
0
0
0
31
3
0
0
1
0
0
0
0
2
0
2
-2
0
0
0
0
11
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
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
-5
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
8
0
3
0
-57
-11
0
-6
23
3
0
-5
-23
-55
0
0
18
0
0
1
-32
-39
0
-11
11
0
0
22
0
-37
0
0
-5
0
0
0
0
0
0
33
-14
0
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-33
12
0
2
53
0
0
-2
16
-1
0
0
0
0
0
0
-2
-2
0
10
1
0
0
0
2
-17
0
0
0
0
0
0
-61
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
0
0
3
3
4
0
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-1
53
10
-71
-58
0
72
-51
23
0
1
-52
-24
0
0
-24
1
6
11
24
14
43
-14
53
1
0
-103
-42
-58
0
0
-17
4
5
-3
-39
-10
4
-5
-7
-2
-15
1
22
-17
0
0
0
0
0
0
1
-4
0
-25
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
16
0
0
0
-5
-8
0
0
-5
8
0
0
-43
-15
0
0
5
0
0
0
8
-26
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
10
5
0
0
-1
0
0
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-9
38
0
-1
-6
0
-3
0
-3
27
0
0
20
0
-1
0
-92
-53
24
25
4
-2
0
-15
-16
26
0
0
5
0
0
0
2
0
0
33
-5
0
0
0
0
-2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
-7
0
-1
-25
0
8
56
1
0
0
99
-20
0
0
1
0
-2
0
-71
-69
-4
-19
2
0
0
-27
-36
-15
0
0
0
0
0
0
0
0
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
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
-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
1
0
2
0
-15
0
0
0
-4
-1
0
0
7
4
0
0
-3
0
0
0
3
0
0
3
0
0
0
0
-10
8
0
0
0
0
0
0
-1
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-6
3
-4
8
8
14
-13
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
0
30
6
-9
34
1
3
-15
-5
-5
39
-34
52
0
0
74
0
1
-5
61
-39
-56
40
6
10
-2
8
54
20
0
0
72
0
0
0
-39
-4
5
14
-26
1
2
29
29
-6
0
0
-5
0
0
0
0
7
-1
-1
1
0
0
33
0
9
0
0
19
0
0
0
1
0
0
-1
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
-18
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
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
8
-2
14
3
0
-31
10
2
0
7
124
4
0
0
22
0
10
-3
-5
-41
11
1
-5
0
0
21
-13
-18
0
0
0
0
-20
0
-2
1
0
39
2
0
0
0
4
25
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
10
0
0
-7
14
-17
0
-2
0
0
0
0
27
-61
0
0
2
0
0
-36
14
5
-3
0
5
1
0
-16
0
15
0
0
0
0
0
29
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
45
0
-1
-6
-50
-74
0
20
-55
-22
-5
-53
67
38
0
0
-23
0
0
7
-90
-50
33
7
-8
13
-2
17
21
-175
0
0
11
0
0
0
68
10
-2
13
-2
-2
-5
0
-5
-26
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
1
0
0
0
0
0
0
-4
0
0
-22
-7
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
-8
8
0
0
4
-2
-14
-14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-2
-4
-44
-36
15
6
51
-18
-13
-45
-23
16
0
0
62
14
14
3
-40
20
9
-20
-44
34
3
-9
22
11
0
0
10
0
1
0
-9
70
15
14
31
-21
-17
-27
-92
-26
0
0
0
0
1
0
0
105
-5
-21
-5
0
0
15
0
6
0
0
0
0
0
0
0
40
0
0
-22
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
1
0
0
0
-86
7
0
-2
-1
0
0
3
-18
-1
0
0
-24
0
0
1
-52
33
0
-5
0
0
0
-16
0
21
0
0
0
0
0
0
5
10
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-1
-4
4
1
14
0
29
36
-1
-1
3
-55
-20
0
0
35
0
0
1
-8
-58
27
68
22
-9
2
78
-7
65
0
0
0
0
-1
0
18
7
-3
36
-11
0
23
-9
6
-22
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
35
-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
-14
6
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
13
9
0
-48
33
2
33
44
1
0
19
15
-34
0
0
-27
-15
34
2
12
-3
-48
-1
35
2
0
-6
21
-18
0
0
-21
0
1
0
4
-1
1
29
-19
0
8
16
-1
-35
0
0
0
0
0
0
0
9
0
-7
0
0
0
29
0
-3
0
0
-9
0
0
0
3
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
11
2
14
36
19
0
0
-5
0
0
-9
2
-9
0
0
3
0
0
0
6
9
-14
1
-1
4
-7
-35
29
-57
0
0
-14
0
0
0
5
-13
0
-7
-1
0
0
5
10
-18
0
0
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
-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
5
0
21
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
1
0
-19
58
0
7
-2
13
14
5
-14
-4
0
0
-14
-3
0
0
26
-6
-13
5
-6
0
8
84
-8
23
0
0
-8
0
0
0
8
8
4
-19
-5
-3
-20
1
7
10
0
0
0
0
0
0
0
-4
0
3
0
0
-19
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
76
-29
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-3
-15
44
29
32
1
-40
16
6
6
-33
-121
43
0
0
12
-11
-2
-4
-14
-57
22
62
-18
-4
1
8
-13
1
0
0
-23
0
1
0
-28
-80
-7
22
-16
21
11
-15
29
-56
0
0
0
0
0
0
-2
6
-4
-10
5
0
0
24
0
-6
0
0
5
0
0
0
8
0
0
6
1
0
0
24
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
5
2
-34
31
-26
-10
65
-74
-27
0
33
18
28
0
0
11
3
-7
10
45
-15
0
-4
-20
18
-5
-69
-32
-35
0
0
-36
2
2
1
-13
-14
0
-33
28
-5
7
20
30
-17
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
7
5
1
0
24
-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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
31
31
48
11
-13
8
-32
15
-5
-32
-28
-44
0
0
1
-14
11
15
-64
-22
8
-98
4
-7
-11
-65
-23
-12
0
0
4
0
17
-5
-10
-1
5
34
44
-9
4
23
-61
12
0
0
0
0
0
0
0
0
-2
21
5
0
0
25
0
-19
0
0
1
0
0
0
1
0
-1
13
-7
0
0
-19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-43
70
-42
-14
10
-66
20
-8
-80
43
55
0
0
-49
-9
-62
1
-47
6
54
-72
71
3
-20
-15
26
33
0
0
-1
0
-26
8
-82
14
21
-22
51
-8
22
-51
-5
-74
0
0
37
0
0
-5
17
-67
53
0
-5
-1
5
-38
31
-23
0
0
58
0
-26
-2
5
4
-29
12
1
-3
23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
9
26
0
0
8
-42
-5
0
4
3
0
-2
-2
11
0
0
1
3
0
0
19
4
0
-11
4
0
4
0
1
-19
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
-50
-4
-15
-43
0
-54
-23
-15
0
4
-31
-30
0
0
-49
0
-11
0
-13
-52
33
-7
-18
3
0
-21
-15
-21
0
0
32
0
18
0
-11
-1
7
-22
8
0
0
5
1
-51
0
0
0
0
1
0
0
4
0
5
0
0
0
-16
0
6
0
0
0
0
14
0
0
0
0
1
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-17
-31
2
0
0
-17
-21
0
0
8
-2
1
-96
-52
-25
-21
3
-29
0
0
-24
-1
-14
0
0
0
0
9
-13
-9
-14
0
-37
-22
3
0
-8
7
3
0
0
0
0
0
1
0
1
0
8
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
-84
23
20
-32
37
24
-1
-10
31
-29
0
0
-84
0
14
-16
-37
-63
-16
-54
-7
-53
5
61
6
-91
0
0
18
0
79
2
0
-6
-49
126
40
43
33
-9
28
-83
0
0
2
0
0
0
2
6
-4
-14
-33
-1
1
-31
0
18
0
0
-4
0
5
3
-22
29
6
43
65
-23
-21
-28
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
53
-4
56
8
-99
-61
2
-21
-5
0
0
-58
3
-20
-51
-96
9
-45
-27
35
36
5
4
11
-55
0
0
54
8
-19
-28
-55
-35
29
-53
78
-40
48
-45
-90
-5
0
0
-4
0
-22
11
-22
28
-46
-61
29
11
11
-18
-13
33
0
0
21
0
3
0
-43
-89
-3
-39
31
3
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
18
0
0
-8
0
-2
0
17
44
6
-21
-1
0
0
-32
-4
14
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
-10
26
-1
-41
-26
-47
0
0
-60
5
-47
50
-24
75
-24
25
23
1
-5
72
-45
3
0
0
-39
0
-69
-13
23
84
-7
82
5
-5
-24
18
-19
-19
0
0
-9
0
0
1
0
-19
4
-1
0
0
0
19
0
-46
0
0
1
0
0
0
0
-2
4
53
-15
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
-5
3
0
0
28
3
-37
-29
-9
-26
-47
-50
42
14
-14
-34
17
-56
0
0
6
4
-2
-8
28
49
6
35
-16
3
-21
-5
30
51
0
0
1
0
0
3
2
2
2
-2
5
0
0
-54
0
-9
0
0
-32
0
-10
5
31
-10
-2
22
58
-11
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-60
0
-2
2
4
-108
-12
8
-13
-2
0
-74
-10
-16
0
0
2
0
-1
0
27
-64
-1
-37
34
0
15
-6
-23
-43
0
0
-1
0
-1
0
0
-1
0
11
0
0
0
19
0
-9
0
0
-3
0
0
0
1
0
0
-7
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-6
0
0
-6
9
8
0
-13
0
0
0
0
0
-13
0
0
-1
0
0
0
-5
-11
-1
1
1
0
9
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
-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
11
-43
0
0
11
0
12
3
-64
-9
-17
8
-3
-3
-11
-30
14
18
0
0
-13
13
9
0
24
6
-4
-23
22
8
0
-25
2
-54
0
0
0
0
0
0
0
21
0
-18
0
0
0
9
0
-23
0
0
-2
0
0
0
13
3
3
2
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-38
23
-20
27
-37
-82
17
-1
-75
-25
-7
44
-11
-60
0
0
7
0
45
-11
-26
90
-56
37
-10
-2
-3
22
-62
13
0
0
8
0
1
13
0
-4
2
50
3
0
0
-14
11
-27
0
0
22
0
6
8
33
-3
-42
-33
13
-1
7
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
15
-19
5
74
43
-83
10
-53
-2
-30
5
4
-23
0
0
7
1
-81
-10
34
-27
-59
18
-8
-21
37
56
-102
-12
0
0
14
0
0
22
-1
-25
46
54
1
3
1
-16
4
-45
0
0
0
0
0
0
18
0
33
5
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
23
-19
-14
-76
-9
5
0
-3
25
-95
0
0
-3
0
1
-3
-66
2
-2
10
21
65
21
-30
-4
-8
0
0
2
0
0
0
0
-19
-1
-8
-2
1
-2
45
3
-3
0
0
43
0
0
0
-23
6
1
1
5
-11
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
2
-4
1
1
0
5
0
1
0
0
0
-5
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
-10
-1
0
0
0
0
15
-1
-6
0
0
5
0
11
0
1
-7
0
-33
-9
-1
0
-11
-2
-37
0
0
0
0
2
0
0
0
0
0
0
0
0
14
0
3
0
0
0
0
14
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
10
-15
-6
0
0
-62
-15
-53
0
0
20
0
0
-60
-3
15
0
-53
9
0
0
-5
7
-20
0
0
0
0
0
-13
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
-36
-119
-10
-62
5
-8
-10
3
9
10
0
0
14
5
14
-3
-90
-31
46
-109
42
-42
-8
-2
21
-70
0
0
-1
0
0
0
-41
10
9
-61
-11
-1
0
-14
0
-6
0
0
-5
6
0
0
-7
-9
-15
2
-37
-20
-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
-15
-21
-30
31
-5
22
12
21
-31
0
0
-43
6
3
-33
25
74
-32
-81
7
-2
77
-63
14
67
0
0
-4
0
1
5
0
-13
-14
-52
3
-1
0
-8
0
-33
0
0
11
0
0
0
-2
18
13
38
5
7
10
-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
-4
16
12
-7
0
-1
11
0
0
0
5
0
1
2
18
-74
-3
-54
-62
-14
18
-32
-43
-13
0
0
0
0
0
0
0
-6
-5
24
0
0
0
-22
0
-6
0
0
5
0
0
0
10
3
0
-23
9
-19
0
-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
-54
10
5
7
-22
-48
37
0
0
-31
-5
-14
3
-74
58
-26
5
34
-6
-3
10
-3
18
0
0
0
0
-1
-2
2
-6
10
173
0
-1
0
6
0
28
0
0
7
0
0
-1
-7
-3
5
44
-5
3
0
34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
21
0
8
-25
48
0
0
43
0
-4
7
-3
-30
1
56
70
11
25
1
16
-14
0
0
0
0
0
3
1
-1
2
49
14
0
0
4
0
-26
0
0
-19
0
0
14
12
33
7
-2
-24
8
0
65
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
-11
-3
5
0
0
2
2
0
0
-43
-11
0
3
7
0
-5
-2
-3
24
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
9
0
0
0
-14
1
0
-15
-10
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
-57
0
17
0
23
-57
1
-25
11
-22
13
48
71
-53
0
0
14
0
0
0
8
-16
-3
-29
11
-4
0
84
2
45
0
0
21
0
0
0
11
10
4
14
-9
25
14
-47
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
0
0
0
0
0
0
0
0
0
0
0
0
-69
-5
0
0
11
0
-5
0
-7
-48
-2
-41
33
-8
23
4
8
-56
0
0
0
0
0
0
0
7
0
5
-2
0
0
-14
1
-24
0
0
-6
0
0
0
10
5
1
-30
-20
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
23
-8
31
2
70
-47
1
-9
66
3
-18
-28
-9
-30
0
0
9
0
0
4
0
0
9
49
17
-4
2
64
-7
-90
0
0
6
0
0
0
0
0
-11
-27
-45
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-13
0
-1
100
-1
0
-3
20
19
-6
0
0
3
0
0
0
0
-3
0
6
0
0
0
0
0
5
0
0
21
0
0
0
-10
-1
1
17
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
1
0
-1
0
0
9
0
0
0
0
-36
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-25
-20
2
-5
-7
-2
10
0
0
0
0
0
0
1
0
0
-19
0
0
0
0
0
-5
0
0
0
0
0
0
53
0
0
18
-45
-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
-14
-1
4
5
-15
-7
-14
-5
-9
0
0
1
0
0
0
0
55
0
-23
0
0
0
-11
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
18
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-2
0
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
-14
-94
15
8
33
-26
-60
0
0
-5
0
0
0
-3
-5
-2
13
0
0
-5
46
0
-43
0
0
20
0
0
0
-2
3
1
47
-25
7
5
-14
-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
-1
-4
26
14
14
26
0
0
6
0
5
0
0
6
-3
-10
5
0
0
5
1
-5
0
0
-8
0
0
0
-33
2
0
16
-14
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
5
-17
0
0
0
0
0
0
0
-1
0
6
-1
0
0
17
0
2
0
0
7
0
0
0
-11
0
0
7
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
-2
0
0
-4
0
0
0
3
0
4
2
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
16
0
0
0
1
0
-6
52
13
0
0
44
0
-24
0
0
1
0
0
0
-13
0
0
9
-90
-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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
-17
-13
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
3
0
-2
0
0
1
-6
0
-1
0
0
-5
0
0
0
-10
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
-2
0
0
0
0
0
0
0
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
8
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
4
0
1
0
0
0
0
2
0
0
0
0
0
0
0
-2
-14
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
9
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
14
0
2
-4
-1
0
-1
-1
18
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
-9
-3
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
18
2
5
0
-9
-32
0
-1
4
2
6
8
-14
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-5
1
0
5
-5
-1
0
0
-5
3
0
0
-9
2
0
3
-19
0
1
-20
8
0
-3
13
-1
3
0
0
0
0
6
2
9
-14
2
8
-7
6
5
-2
15
4
0
0
0
0
0
0
0
-1
0
-3
0
0
0
1
0
-15
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
-5
0
6
1
3
-13
0
3
17
-4
0
-4
0
-13
0
0
11
0
0
3
10
-15
1
-6
7
-1
0
-11
1
-4
0
0
-1
0
2
0
-17
1
0
3
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
-2
0
2
0
1
6
-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
1
0
-1
0
0
0
0
0
-1
0
0
5
0
0
-2
7
7
1
23
7
0
0
0
14
-4
0
0
-4
0
4
0
5
-5
5
15
1
0
2
-2
10
6
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
-14
0
1
0
0
0
1
3
-5
0
0
-1
0
0
-1
5
6
-1
-9
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
14
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
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
2
7
-2
0
-1
0
17
5
-6
6
15
-15
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-4
0
0
5
-1
1
2
-4
4
0
0
-2
0
-2
-8
-11
-18
-3
-5
2
1
6
-5
8
2
0
0
6
-1
-2
-1
20
-19
7
-7
-1
-1
1
-8
-17
-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
9
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
-14
-26
0
-2
-4
-3
4
-10
-9
-5
0
0
5
0
2
0
4
-42
0
-1
4
0
0
-9
6
-4
0
0
2
-2
0
0
-3
-7
0
9
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
5
0
0
0
0
-4
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
3
0
0
-2
0
0
0
0
0
0
0
-1
0
-1
0
1
4
0
4
0
0
0
15
-8
0
0
0
-3
0
1
0
3
0
0
-9
0
-2
4
0
-17
-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
15
0
0
0
0
0
0
9
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
-20
1
-2
18
-3
0
-1
1
-9
5
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
-6
1
-1
0
-21
-7
20
0
0
4
0
2
-2
23
1
-9
29
-3
-1
0
-2
-6
14
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
8
0
0
1
-9
-6
0
-3
0
0
0
-1
2
3
0
0
4
0
0
1
-1
2
-1
-6
2
0
0
-5
-2
-3
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
3
4
0
-5
-1
0
0
3
-3
-2
0
0
0
0
0
0
-1
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
-2
0
0
0
0
0
0
0
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
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
-11
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
0
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
13
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
18
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
-5
0
1
1
0
0
0
-1
1
0
0
-1
0
0
0
-3
4
0
-1
-3
0
0
-3
2
0
0
0
1
0
0
-1
-6
-21
0
-4
1
0
-4
0
-6
-4
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
-7
0
0
0
-14
43
0
0
2
0
0
4
5
3
0
0
2
0
0
0
5
3
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
4
-2
0
-2
0
1
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
5
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
2
0
-5
0
1
0
0
-5
0
0
0
0
0
0
0
0
-6
0
-9
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
3
16
0
0
0
0
0
0
0
-8
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
2
0
0
0
0
0
0
-15
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
-5
1
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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-1
3
0
0
0
-6
-1
0
0
0
0
0
0
0
-1
15
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
5
0
0
1
0
0
-1
0
0
0
0
3
0
0
0
0
25
-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
3
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
-1
1
0
0
1
0
-1
0
0
4
0
1
0
1
4
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
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
-4
0
0
0
-1
0
0
-1
2
-2
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
7
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
4
0
0
-2
0
0
0
2
-6
0
0
1
0
0
0
2
0
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
-10
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
-1
0
0
0
4
0
8
0
0
3
0
0
0
2
0
0
1
0
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
-4
0
0
0
2
-4
0
0
0
-2
0
0
0
2
1
0
19
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
36
0
0
0
5
25
4
3
-1
1
0
3
5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
-16
0
-5
5
10
-2
-1
9
-7
0
0
-15
1
0
-1
3
-34
27
-8
2
-3
6
-25
8
-5
0
0
-4
1
0
-1
24
21
-15
2
-5
6
1
2
-4
-10
0
0
-6
0
0
0
0
-3
2
0
0
0
0
2
0
0
0
0
23
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
-5
-1
-2
-5
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
-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
10
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
18
0
0
0
-1
3
-3
2
0
-1
1
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
-32
13
-2
2
5
2
-1
0
3
-17
0
0
5
0
0
-1
1
5
14
-11
0
0
-1
-5
15
-21
0
0
3
0
0
0
-10
-3
-2
-3
1
3
5
0
-4
-4
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
10
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
5
0
0
0
-13
-2
0
2
0
0
-3
-2
0
0
0
0
-3
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
-18
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
18
0
0
-10
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
3
2
-2
5
-4
0
0
3
-5
-9
0
0
1
0
-19
0
-4
13
-1
-4
-4
0
-5
0
0
-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
0
-14
0
0
0
0
0
0
11
-3
0
0
0
0
2
0
-1
4
7
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
-4
3
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
23
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
5
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
-33
-6
11
-4
10
-1
2
12
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-17
-8
0
-5
7
2
2
0
-11
-13
0
0
-15
0
-6
4
71
-20
21
-45
14
12
-2
21
15
15
0
0
7
-4
3
0
-14
-14
6
-31
-5
3
-17
5
5
4
0
0
0
0
0
0
3
-1
5
0
0
0
-1
0
0
1
0
0
-2
0
0
0
2
0
-9
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
-1
-9
4
0
-15
0
16
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
22
-3
0
1
8
-4
-4
8
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
-5
-11
7
0
-7
3
-1
0
5
25
-5
0
0
-7
0
1
-1
1
3
-14
-9
3
1
-1
2
-4
-18
0
0
-1
0
0
0
22
-10
4
-6
5
1
5
1
4
3
0
0
0
0
0
0
-4
0
0
1
0
0
0
-2
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
0
0
0
0
0
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
2
4
16
14
12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
0
8
0
-5
-6
1
-5
5
8
1
29
-5
0
0
7
4
2
5
-21
-81
-14
9
-18
13
-3
-1
-21
10
0
0
16
7
-2
1
52
-15
-3
-25
-12
-27
-24
-6
0
-7
0
0
-1
0
0
0
1
-5
14
-8
3
3
-4
3
0
3
0
0
-2
0
4
0
-4
15
-4
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
-4
-5
-21
-1
0
1
-6
6
-2
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-14
-1
0
0
0
0
0
0
0
0
2
-5
4
0
0
3
-1
-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
-2
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
-32
-5
-4
2
2
-5
11
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
2
0
-2
-8
-29
-2
15
-3
6
-1
4
28
-13
0
0
9
4
-1
-3
14
-21
-4
-33
-3
3
0
-27
-15
10
0
0
4
1
-1
2
-9
-1
-1
9
-8
1
2
-4
0
-5
0
0
0
0
0
0
-1
10
-2
3
-2
0
0
11
-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
-1
-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
1
18
-14
0
0
1
0
1
1
0
0
0
-5
0
0
0
-6
24
5
-5
6
0
-1
-1
-5
5
0
0
-7
0
0
0
27
35
5
4
7
0
-5
2
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
1
1
9
-2
-1
0
0
0
-2
4
14
0
0
-1
0
0
1
1
-1
-6
5
0
0
0
-8
0
0
0
0
-2
0
0
0
-3
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
-2
4
0
-2
-4
6
-6
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
1
-2
0
1
-2
6
-5
0
0
3
-1
0
-2
4
-14
4
-18
-11
15
0
34
-8
0
0
0
4
0
7
2
-4
5
-9
-12
3
2
3
5
-14
13
0
0
0
0
0
0
-1
-5
-1
1
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
13
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
-5
-25
0
-5
-1
-1
0
1
15
-14
0
0
10
-1
-4
1
-14
-7
-3
3
-4
0
0
-2
2
-13
0
0
0
0
1
0
6
-1
0
24
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
15
0
0
2
0
-1
0
-4
2
0
0
0
0
2
0
-8
-6
1
5
-4
0
0
1
14
-2
0
0
-2
0
-2
0
-22
8
0
5
3
2
14
8
-5
-1
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
-2
0
0
0
8
24
0
2
0
0
0
-1
5
-5
0
0
1
-1
0
-1
4
-8
4
1
-4
-1
0
-6
2
13
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
-4
7
-1
4
-1
-1
-2
2
-2
0
0
0
0
0
0
25
-18
0
-9
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
-9
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
-4
1
1
-3
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
6
-2
-1
-6
-1
2
-1
0
0
1
1
0
-1
-11
-11
-5
6
-3
1
5
-12
-10
8
0
0
0
0
0
0
-8
-5
3
-14
4
-1
14
-2
1
8
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
24
1
0
1
-14
-23
0
-2
-4
1
-2
-5
1
6
0
0
-1
0
0
0
-5
8
0
11
6
1
0
5
0
-8
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
-5
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
9
-20
0
-5
-4
-5
4
-19
14
2
0
0
-2
1
-5
0
48
-20
16
3
-4
4
5
-4
-14
-5
0
0
3
0
14
0
-16
13
14
12
-4
7
-5
29
-7
-3
0
0
-2
0
0
0
0
17
5
5
2
0
-1
0
3
-5
0
0
0
0
0
0
-1
-1
17
-2
3
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
-3
1
1
0
0
8
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
-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
-1
0
1
0
-1
3
0
0
6
0
-2
-5
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
0
-8
-14
-29
-4
-10
0
-11
0
-5
-11
-1
0
0
7
1
1
6
-15
19
19
14
-7
-6
1
9
9
33
0
0
6
0
2
0
-3
3
8
-1
-15
-2
-1
2
-4
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
3
-23
0
2
0
1
4
-2
-6
-2
0
0
5
5
1
5
2
-53
22
-3
-5
-2
-7
-1
-15
-4
0
0
0
4
1
2
5
4
-18
16
-16
1
2
14
16
-4
0
0
0
0
0
0
0
2
-1
2
0
0
0
4
0
-5
0
0
0
0
0
0
0
4
-2
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
-3
-10
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
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
-2
13
33
0
-5
4
14
-3
3
2
8
0
0
2
0
0
-3
2
8
-16
-1
-6
-4
0
10
-6
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-15
0
1
3
1
0
3
0
10
0
0
14
1
-1
-4
-20
8
13
4
-10
-4
-7
-23
-14
-14
0
0
12
-4
-3
-1
17
-31
-2
-8
8
-2
-16
37
-4
-6
0
0
0
0
0
0
2
1
3
-5
1
0
-4
0
-2
-2
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
0
0
-1
-1
-2
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
3
-5
0
1
-2
-1
5
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-5
4
-15
6
-2
6
-5
-8
0
0
-9
-120
0
0
-23
-3
0
6
35
3
20
-7
0
0
2
-8
14
-16
0
0
-3
0
2
3
-11
5
4
-11
-3
-2
-1
-2
-1
-26
0
0
2
0
0
0
0
0
0
7
0
0
0
1
0
14
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
-23
0
1
0
-3
-6
6
-10
0
0
0
-5
-3
7
0
0
-5
0
0
0
2
-3
0
-5
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
-18
0
0
1
0
0
0
0
1
0
0
-1
0
0
0
-10
-5
-4
2
0
0
0
3
0
0
0
0
8
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
11
0
5
0
1
0
0
0
0
0
0
0
0
1
0
0
-5
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
-2
-4
-2
2
0
0
0
14
0
0
0
0
-4
0
0
6
7
14
11
-18
-19
1
1
-3
0
-4
0
0
-2
0
-2
1
-44
-3
3
-4
-4
-4
-8
0
3
-3
0
0
0
0
0
0
-8
0
0
-1
0
0
0
0
0
0
0
0
0
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
-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
50
-11
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
3
0
0
1
-5
8
0
-5
-3
2
0
0
-1
6
0
0
-7
0
0
1
-14
-14
-4
0
-6
0
0
-5
1
0
0
0
0
0
0
0
12
-2
1
3
-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
-4
0
-3
0
0
0
0
14
-1
0
0
14
2
-1
0
4
62
2
-26
-2
0
-1
21
-15
3
0
0
9
0
-8
-9
4
17
2
27
-3
5
-5
-24
0
11
0
0
0
0
0
0
2
23
2
0
1
2
-11
2
0
3
0
0
4
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
-2
-9
3
0
1
-1
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
5
-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
-9
-13
0
-14
2
0
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
1
5
31
-5
2
20
-1
-1
5
-14
0
0
0
16
1
-5
1
-1
34
-11
-8
1
-3
-1
-14
-16
-4
0
0
-2
0
0
0
1
-23
3
4
0
2
4
-13
-6
0
0
0
0
0
0
0
0
-5
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
-1
-3
-1
4
0
0
0
1
0
3
0
0
1
0
0
0
3
0
-3
-6
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-14
33
-6
35
27
0
-1
-14
-8
-1
0
0
-7
0
0
1
3
15
6
-42
0
0
-7
4
8
-3
0
0
0
0
0
0
0
-2
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
-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
-3
5
1
-6
-2
0
0
1
2
-2
0
0
-9
0
0
0
-3
-9
2
16
-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
-10
-10
-4
4
2
0
-13
6
-1
0
0
2
0
0
0
-14
-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
-1
0
0
0
-2
5
-2
1
0
0
0
6
-4
-5
0
0
0
0
-1
0
-3
9
-5
-2
-2
5
0
-2
3
-6
0
0
3
0
0
0
-1
-2
0
-18
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
5
-16
-8
4
-5
0
0
15
-2
2
0
0
2
0
3
0
-6
-5
-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
-9
0
0
0
0
0
-1
-11
-1
0
0
0
0
0
0
-3
8
-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
-14
4
5
0
0
4
0
0
0
3
-1
0
-10
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
4
0
0
0
2
0
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
-4
-1
3
0
-3
2
-14
0
-17
0
0
-4
0
1
0
0
-1
1
-11
0
0
-5
-34
-3
-20
0
0
0
0
0
0
0
0
1
2
0
0
0
-11
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
5
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
15
0
6
0
0
0
-2
-4
-2
0
0
4
0
0
0
-1
-9
7
4
-4
0
0
6
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
10
0
0
3
5
-8
6
-24
-5
0
0
9
2
14
0
0
0
0
0
0
4
-5
7
-30
0
0
-5
7
-22
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
-10
1
0
1
-1
-4
6
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
-3
0
0
-2
-5
5
0
0
-5
0
0
2
4
16
-6
3
-5
0
0
-4
14
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
-14
-5
-6
-3
1
-7
5
-15
0
0
-4
0
-2
3
-5
5
-8
0
-3
2
-5
1
-3
32
0
0
0
0
0
0
0
0
2
1
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
0
-7
-13
0
-14
-1
-3
0
-1
-1
1
0
0
-5
0
0
0
4
5
-1
-2
-5
0
0
0
-7
-27
0
0
-3
0
0
0
2
0
0
-4
2
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-5
-10
0
-1
9
14
-5
0
0
35
0
0
1
-10
4
-4
-12
-6
-2
-1
-7
2
-9
0
0
2
0
0
0
0
3
-2
0
0
0
0
-1
0
-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
0
0
0
0
0
0
0
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
-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
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
5
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
-2
0
0
0
-14
13
1
-1
-1
3
0
-8
-1
-14
0
0
-16
0
0
1
1
11
4
2
-2
0
0
-6
2
20
0
0
26
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
-13
0
0
-1
14
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
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
4
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
14
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
0
0
2
0
3
-33
0
-1
-1
0
0
0
-5
-5
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-17
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
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
11
-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
14
-1
0
0
1
0
0
0
0
0
2
0
0
0
0
0
10
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
-2
-3
8
2
-2
5
1
-5
0
0
1
4
0
3
6
-55
22
35
7
2
27
10
11
-23
0
0
-1
0
0
0
-8
-3
-5
-3
0
0
0
0
0
-4
0
0
5
0
0
0
-26
0
-5
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
10
-8
-5
6
0
16
-2
5
0
0
0
0
0
0
0
0
-2
13
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
-10
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
-5
0
1
0
23
0
0
5
6
2
1
5
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
4
1
-3
79
2
-1
-20
10
0
2
-11
-5
-5
0
0
-11
4
-1
-5
-13
2
10
15
-5
-2
0
1
-3
5
0
0
8
0
0
0
0
-15
-4
-5
5
-6
-5
0
-5
3
0
0
0
0
0
0
-9
0
0
-4
0
0
0
1
0
0
0
0
-2
0
0
0
-5
-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
-52
9
23
-5
4
4
3
-11
5
0
0
-8
6
21
-5
29
59
43
84
-2
9
-9
-4
-3
0
0
0
-3
0
0
-4
-6
-36
25
11
-2
8
-6
6
1
3
0
0
5
0
0
0
-2
19
-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
1
4
7
-7
-2
12
1
-3
0
0
0
0
0
0
0
1
1
5
0
0
0
5
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
-1
-4
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
3
0
5
2
-2
0
-45
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
1
0
0
0
-7
-55
0
16
1
3
-4
22
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
2
-6
-3
-33
-57
-2
27
-12
13
-3
-1
9
-9
0
0
21
0
2
-4
4
-29
27
5
-4
-6
-1
-4
13
-4
0
0
6
-1
0
11
0
-14
0
30
7
0
-2
-3
-1
1
0
0
3
0
0
-2
0
3
3
-8
-8
-1
0
-15
0
0
0
0
0
0
0
0
0
4
0
0
-11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
2
0
-4
16
-12
0
0
7
2
-6
-3
0
-7
-14
-36
5
0
16
24
13
-17
0
0
0
0
0
0
1
-4
-5
-5
0
0
0
0
0
8
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
4
0
0
8
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
4
-3
-2
-2
0
0
0
6
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-1
0
-1
33
8
8
-5
0
0
19
14
11
0
0
0
0
0
0
27
2
30
22
-2
-2
0
19
-6
25
0
0
-2
0
-3
0
14
-6
-8
-25
-6
5
0
3
-5
5
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
1
12
1
-6
21
-15
5
0
0
16
8
-7
4
19
3
12
-60
22
5
-16
6
3
-6
0
0
0
0
0
0
0
-6
-5
21
1
-1
1
15
-1
-9
0
0
-1
0
0
0
-5
-6
-5
-3
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
2
1
7
0
-2
-3
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
-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
10
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
2
0
-4
0
-7
21
0
30
-7
1
-2
-1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-2
2
5
22
-1
7
-5
9
0
1
-21
30
0
0
-2
0
0
1
-14
-13
-3
-16
-13
-2
3
8
1
14
0
0
2
0
-6
7
2
5
-1
-39
6
-2
-1
3
0
-14
0
0
0
0
0
0
0
9
-1
-4
2
0
0
1
0
4
0
0
3
0
0
0
9
-4
-2
-6
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
-39
14
-9
0
0
-5
-5
0
4
-6
15
14
-15
0
4
2
7
5
23
0
0
-1
0
0
0
1
-1
0
13
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
4
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
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
3
0
1
0
4
-5
0
0
-2
0
-1
3
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
2
0
-33
1
7
14
0
-2
-1
9
-31
0
0
1
0
0
-2
11
-26
-19
5
1
5
0
5
-16
-6
0
0
-4
-1
0
0
1
2
0
4
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
0
14
1
0
0
-1
1
0
0
-14
19
-1
4
4
0
1
-9
-15
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
0
14
1
-3
1
0
0
2
-4
-6
0
0
-1
0
0
0
-2
4
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
-11
-2
-1
-1
0
-8
-2
2
-13
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
-2
10
0
-2
-4
0
0
-1
-1
-9
0
0
-1
0
0
0
5
13
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
7
7
-11
0
0
-8
-3
-4
-1
-11
16
21
4
8
5
15
5
19
-47
0
0
5
0
0
-1
0
5
-1
-4
0
1
4
-8
-3
-7
0
0
-3
0
0
0
-8
4
4
4
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
1
2
14
-18
-2
6
-3
-5
0
10
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
32
0
0
0
0
0
0
0
0
-3
0
0
-9
0
0
0
-14
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
9
-16
-2
2
-16
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
2
0
24
38
3
-9
2
-5
3
21
33
-38
0
0
-6
3
-1
0
-10
10
39
19
11
-5
0
-5
17
-18
0
0
5
0
4
0
-14
0
-5
-25
-8
-2
0
-1
2
2
0
0
0
0
0
0
5
0
-14
-2
-3
0
0
5
0
3
0
0
6
0
0
0
-3
0
6
4
9
-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
-5
-2
0
0
-31
-5
3
-2
5
-11
6
-15
-16
-1
-3
-13
28
6
0
0
0
0
0
0
0
-10
-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
9
0
0
6
-3
-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
2
1
-5
0
-9
-3
0
14
-2
0
0
-4
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
1
3
-76
0
9
-5
10
0
-3
-44
37
0
0
-5
0
-1
-2
-5
-54
0
-2
-2
-1
0
-20
-65
-13
0
0
1
0
0
1
9
5
-2
-10
-1
0
-1
-2
4
-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
20
1
5
-2
12
-6
16
29
3
-1
-10
4
-26
34
0
0
0
0
0
0
-3
1
6
-1
-2
0
-4
3
-1
-10
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
-17
0
0
0
0
0
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
3
0
0
4
5
-1
2
-5
1
4
1
21
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
-4
-5
-12
16
-3
-10
5
-3
1
-1
-5
82
0
0
3
0
-2
-13
-2
-3
10
-4
-1
-1
0
-8
-2
5
0
0
-3
0
3
-1
-5
2
-1
-9
-8
0
-1
5
6
-13
0
0
6
0
0
-1
0
0
0
-2
0
0
0
0
0
-1
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
1
0
0
0
-4
-11
9
1
-4
-1
-1
1
1
1
0
0
-4
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
7
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
-8
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
-5
0
-1
0
-19
21
1
-2
-1
5
0
-2
-26
14
0
0
23
0
-5
0
-4
-14
20
5
-2
3
0
0
4
-11
0
0
9
0
0
0
-3
6
-1
-2
-11
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
0
0
-2
5
0
0
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
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
-3
0
-18
0
-2
-28
0
-2
-3
1
0
0
-6
-10
0
0
0
0
0
0
-5
4
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
1
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
-9
22
24
-1
3
5
1
0
-13
0
0
0
0
0
0
-10
-7
-1
6
0
0
0
0
0
-2
0
0
0
0
0
0
-20
-1
-30
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
0
1
-3
2
-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
-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
9
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
50
-3
1
3
-3
-2
-4
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-2
3
59
12
-2
2
23
9
2
-6
-1
14
0
0
-14
-1
1
2
-12
-35
4
1
-7
0
-2
-2
6
-5
0
0
5
-1
2
0
24
-1
2
-7
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
16
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
16
44
14
0
-8
15
-16
-12
1
0
0
0
0
0
0
2
-28
1
-5
-1
0
3
8
-2
-4
0
0
0
0
0
0
0
-5
1
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
10
-2
12
0
1
-5
-13
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
-9
13
0
0
0
14
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
7
-1
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
1
0
1
0
5
-48
-1
-4
9
-2
-8
4
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
14
-1
-33
41
-5
-7
4
-5
1
7
31
-13
0
0
16
0
-1
-2
-52
-9
23
-4
18
-1
0
14
-7
-7
0
0
1
0
1
0
-6
5
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
-7
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
1
0
5
2
2
-33
0
0
0
0
0
0
0
4
-5
-2
0
0
0
0
0
11
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
-10
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-5
0
4
0
26
57
0
3
1
-1
0
-1
-22
4
0
0
3
0
0
0
-5
-12
-3
6
3
0
0
-2
-3
5
0
0
-2
0
0
0
0
6
0
11
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
-13
-27
-30
-11
0
0
1
0
0
0
0
7
-15
11
-1
3
1
31
0
6
0
0
0
0
0
0
7
-4
0
15
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
-3
-3
-4
-8
22
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
-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
7
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
4
-1
2
4
0
0
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-1
-5
5
71
5
-17
5
5
-8
1
-10
-31
0
0
-3
-3
-8
5
-24
15
-8
23
-22
4
2
-13
2
-28
0
0
5
0
4
0
5
-2
1
-12
8
4
1
3
-10
14
0
0
0
0
0
0
4
1
-2
4
3
0
0
0
0
7
0
0
-1
0
0
0
7
-5
0
9
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
5
0
-1
6
3
0
0
-1
0
0
0
0
5
0
9
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
1
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
0
0
-3
0
-3
3
0
-5
-2
-1
0
-2
-8
-7
0
0
6
0
0
0
-4
-5
-2
7
0
0
0
11
4
-7
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
3
0
0
1
0
0
0
0
1
0
0
-4
0
-3
0
2
0
-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
11
-22
0
0
0
0
0
0
0
-2
-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
-7
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
3
-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
5
0
-2
6
-3
2
6
-7
13
0
0
7
0
0
0
6
-1
-4
-6
2
0
0
1
0
-2
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
-3
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
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-2
0
-4
22
0
4
-2
0
0
3
-5
23
0
0
-7
0
0
1
14
9
-2
2
-2
0
0
-24
-14
17
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
-6
5
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
-23
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
-2
-1
-3
1
-2
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
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
-3
0
-3
0
-5
2
-2
2
3
0
-4
-3
14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
-3
3
-13
1
-11
8
1
0
2
-35
-13
0
0
-7
-1
-1
-1
0
5
6
-5
5
2
-1
-13
-13
-6
0
0
1
0
2
0
2
3
-1
-14
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
-1
-1
0
0
-1
0
0
13
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
-9
-5
0
0
0
1
7
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
-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
-9
0
3
0
-2
-3
-3
7
-3
1
1
-5
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
2
14
21
-8
8
0
1
-2
-15
21
-77
0
0
2
0
0
2
-3
1
-5
-26
-2
1
1
-1
7
8
0
0
3
0
0
0
0
3
1
-4
9
-6
-1
0
-4
-1
0
0
-3
0
1
0
0
1
5
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-1
-6
-17
0
-8
0
-1
0
5
4
-1
0
0
5
0
0
2
0
30
5
9
0
0
0
1
-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
-2
0
0
0
-5
1
0
0
1
1
0
0
1
-7
0
0
0
0
0
0
10
5
0
5
-5
0
0
0
0
14
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
19
0
-19
-1
0
0
1
-3
-5
0
0
-2
0
0
0
2
-13
1
13
-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
10
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
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
5
7
0
9
-3
0
0
-5
0
-6
0
0
1
0
0
0
-4
-10
0
1
2
0
0
-11
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
5
0
0
1
5
-6
0
-5
-2
-4
0
-2
-1
15
0
0
-2
0
0
-1
2
-6
-2
-6
-2
0
0
1
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-10
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
-10
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
-4
0
0
0
-1
25
0
-2
1
0
0
0
-8
5
0
0
0
0
0
0
-3
11
6
7
1
0
0
11
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
0
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
-5
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
-9
0
-1
0
-5
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
-1
-1
0
0
-23
-29
1
-3
-1
-1
0
3
-20
-18
0
0
3
0
0
0
-8
-17
10
-24
-4
0
0
5
-2
5
0
0
2
0
4
0
-9
-3
6
6
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
-1
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
11
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
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
3
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
8
0
-3
0
4
23
0
3
2
2
0
-2
-7
10
0
0
5
0
3
3
4
11
-5
-24
5
-2
0
-1
0
-3
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
-5
0
0
0
2
0
0
-9
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
9
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
-16
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
6
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
-9
16
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
-10
0
0
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
9
0
-1
-2
0
0
0
2
-1
0
0
-2
0
0
2
1
17
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
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
3
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
-5
43
0
3
3
0
0
0
11
-2
0
0
14
0
0
0
-2
-4
-8
1
0
0
0
-1
7
7
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
-2
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
13
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
-5
0
0
0
8
-22
0
-5
-4
0
0
5
2
11
0
0
-1
0
0
0
5
-2
6
17
3
0
0
8
0
-19
0
0
0
0
0
0
4
-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
-10
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
-19
1
6
-2
-6
-62
1
-1
-9
5
0
7
-24
-2
0
0
3
2
3
-4
-8
23
-7
-2
-4
0
0
3
1
3
0
0
0
0
0
0
1
-7
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
-5
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
-5
-2
-3
0
0
0
10
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
2
-1
0
0
6
0
0
0
-5
-3
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
-3
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
-3
0
3
0
18
32
0
0
5
2
0
2
-16
-14
0
0
1
0
0
0
-7
3
3
5
2
0
0
-7
-2
-24
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
-26
0
10
5
-2
0
5
3
3
0
0
-1
0
0
2
0
3
-1
1
0
0
0
3
0
3
0
0
-4
0
0
0
0
0
0
4
-2
0
0
4
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
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
0
0
0
0
5
-8
0
4
0
4
0
-2
-9
-3
0
0
0
0
0
0
6
-2
6
-1
0
0
0
4
0
-1
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
5
-39
-2
5
-4
1
0
-2
-9
-2
0
0
-28
0
-5
2
0
3
-7
1
-1
0
-1
17
0
14
0
0
0
0
5
0
4
-11
0
16
-5
0
-1
5
1
6
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
-14
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
8
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
-30
-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
24
-7
0
-11
-5
0
0
2
7
-22
0
0
-10
0
-2
2
-43
-20
-12
-12
-1
-4
9
3
-11
-26
0
0
-5
0
0
3
-38
2
-4
17
-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
19
-2
2
-5
-15
-6
16
-4
5
0
0
9
-3
-31
5
-49
6
-33
61
18
-5
7
-31
5
17
0
0
13
0
-1
4
5
-4
0
-34
-3
-6
10
-5
9
5
0
0
3
0
0
0
-6
-2
-1
-9
-3
0
1
5
0
-1
0
0
3
0
0
0
4
4
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
-1
-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
-14
-14
0
0
-5
0
1
1
14
5
-15
-14
1
0
-1
5
2
15
0
0
1
0
1
0
-5
5
0
18
-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
10
0
0
11
0
-2
0
-4
-13
4
7
2
0
0
2
5
-2
0
0
10
0
0
0
-10
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
-44
-2
2
-1
1
0
4
0
-10
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
5
0
4
7
3
0
0
-43
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
-5
4
0
0
-8
0
-2
6
-1
-38
-1
0
1
-1
0
10
-6
9
0
0
28
0
2
0
0
-3
0
-7
6
1
-3
4
-4
-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
-3
0
0
6
0
-8
-2
9
4
-4
-5
-1
0
-3
7
0
-5
0
0
-7
0
0
0
44
0
1
-30
-1
2
-3
5
1
26
0
0
0
0
0
0
1
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
3
-2
3
0
0
4
5
-21
0
0
11
0
0
0
0
6
0
20
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
5
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
-1
-3
-8
4
-3
5
0
0
4
-13
0
0
9
0
4
0
-36
-11
0
-20
-1
0
0
0
-1
2
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
31
-2
-3
-1
-2
0
-22
5
-2
0
0
-1
0
-1
-3
-3
3
-4
-11
17
-14
3
-8
1
1
0
0
0
0
0
0
0
-4
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
13
10
0
0
1
1
-7
0
0
-6
0
0
0
1
-8
0
-3
-1
1
-1
2
-8
-4
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
-29
2
2
0
-10
3
1
0
0
-14
0
0
1
-8
5
2
9
5
-1
0
5
4
1
0
0
0
0
0
0
0
-1
1
13
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
-10
-1
-11
0
0
-6
0
7
0
-3
-16
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
-7
0
0
8
0
0
5
2
0
0
-3
5
-2
0
1
0
-10
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
-1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-25
-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
41
1
-30
10
-136
-50
-128
-57
-2
0
5
-23
-4
30
13
14
-80
15
45
-19
19
0
-8
22
-140
-6
0
-8
0
0
0
0
0
0
0
0
-10
0
12
0
0
0
0
0
0
0
0
0
0
0
17
0
-36
0
44
16
-16
0
0
0
0
0
0
0
-20
-108
-46
-113
-81
-182
-10
-89
-42
-17
-33
-160
-102
-7
-14
-111
-122
90
-1
-175
-80
0
-35
-103
-150
-120
0
48
0
0
0
0
0
0
0
0
-4
0
-34
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
16
-33
-21
0
0
0
0
0
0
0
-89
-156
-156
-254
-4
-95
-44
-38
26
-28
58
-92
-45
-7
-1
-88
-164
-39
-31
-135
-31
0
-40
-68
-78
-83
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-37
4
-10
-10
0
0
0
23
0
5
-2
4
-1
0
5
-23
0
0
0
-10
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
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
-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
-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
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
-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
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
-14
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
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
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
-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
-12
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
-5
4
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
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
40
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
-10
0
0
0
0
0
0
10
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
67
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
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
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
-52
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
54
0
0
0
0
0
0
21
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
32
0
1
0
0
0
0
7
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
-8
0
0
0
-44
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
14
0
0
0
0
1
-5
1
0
0
0
0
0
4
0
-5
-31
0
0
0
0
0
0
-5
1
0
0
7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
-39
0
0
0
0
0
0
67
0
0
0
0
0
0
-20
2
0
0
0
0
0
0
0
7
2
0
0
18
0
0
0
0
59
-3
0
0
0
0
0
0
0
0
0
20
0
1
0
0
0
0
-56
-1
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-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
21
0
0
0
0
0
0
-35
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-25
4
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
18
-1
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
5
0
0
0
-93
0
0
0
0
0
0
-43
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
7
-2
0
0
2
0
0
0
0
-8
10
0
0
0
0
0
0
0
0
0
-44
0
4
0
0
0
0
-44
-8
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
-10
0
0
0
-90
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
-3
0
0
0
0
0
0
0
0
0
0
-41
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
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
-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
-16
0
0
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
-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
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
54
0
0
0
85
0
0
0
0
0
0
-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
-44
0
0
0
0
0
0
0
2
0
2
83
0
-2
0
0
0
0
21
1
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
30
0
0
0
41
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
19
-2
0
4
0
0
0
0
0
0
-2
31
0
3
0
0
0
0
-14
57
0
0
35
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
2
-34
0
0
0
7
0
0
0
1
-2
0
-33
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
3
2
0
0
19
0
0
0
0
-16
14
1
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
25
-8
0
-1
-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
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
6
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
-13
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
-80
0
0
0
0
0
0
-2
0
0
0
0
0
0
-30
0
0
0
-1
0
0
0
0
0
14
0
0
0
0
0
0
0
14
-10
2
4
0
0
0
0
0
9
0
0
0
4
0
0
0
0
-3
-6
31
0
34
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
24
0
0
0
-79
0
0
0
7
0
0
-71
0
0
0
0
0
-5
-27
0
-1
0
13
0
0
1
6
9
50
-1
30
-14
0
0
0
0
-68
-46
2
34
0
0
0
0
38
-5
26
-9
0
14
0
0
0
2
5
34
97
0
37
0
0
0
0
-9
0
38
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
-23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
5
0
0
1
0
0
0
0
-36
0
0
-1
0
0
0
0
0
-3
0
-16
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-10
0
0
0
0
0
0
20
0
0
0
31
0
0
0
0
0
0
17
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
4
0
0
0
0
0
0
0
0
0
-57
0
6
0
0
0
0
-28
-1
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
2
-37
0
0
0
-32
0
0
0
0
0
0
-5
0
0
0
0
0
1
-29
0
0
0
10
0
0
0
0
-6
-8
0
0
3
0
0
0
0
8
16
1
0
0
0
0
0
-8
-14
-6
-88
0
4
0
0
0
0
14
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
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
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
14
0
0
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
-17
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
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
-26
0
0
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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
63
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
35
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
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
6
0
0
0
0
0
0
-12
0
0
0
-22
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
1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
5
9
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
43
0
0
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
-7
0
0
0
-63
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
0
0
0
0
0
0
0
0
0
83
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
-2
0
0
0
0
0
0
-17
0
0
0
33
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
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
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
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
-8
0
0
0
0
0
0
1
0
0
0
-6
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
-2
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
47
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
-3
-5
0
0
0
0
0
0
9
0
-1
-52
0
0
0
0
0
0
2
3
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
62
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
36
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
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
62
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
6
0
0
0
0
0
0
-2
0
0
0
-46
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
-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
-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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-23
0
0
0
0
0
0
0
0
0
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
20
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
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
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
37
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
54
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
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
-47
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
1
-28
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
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
-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
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
-7
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
2
0
0
0
-46
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
16
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
-39
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
-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
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
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-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
-9
0
0
0
-55
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
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
-79
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
-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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-67
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
-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
-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
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
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
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
-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
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
-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
80
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
-49
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
46
0
0
0
0
0
0
-16
0
0
0
0
0
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
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
-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
-71
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
-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
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
17
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
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
-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
7
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
0
0
0
0
0
0
0
0
0
0
0
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
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
-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
-3
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
0
0
0
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
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
-48
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
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
38
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
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
-19
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
-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
-58
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
-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
-27
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-91
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
-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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
15
0
0
0
-49
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
5
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
0
0
0
0
0
0
0
0
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
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
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
-46
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
-46
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
3
0
0
0
0
0
0
-5
0
0
0
25
0
0
0
0
0
0
-10
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
29
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
37
0
0
0
-61
0
0
0
0
0
0
8
0
0
0
0
0
0
-71
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
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
93
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
-73
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
5
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
0
0
0
0
0
0
0
2
0
0
0
-49
0
0
0
0
0
0
40
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-81
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
0
0
0
0
30
0
0
0
-10
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
19
0
0
0
0
0
0
0
0
0
0
42
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
-22
0
0
0
0
0
0
3
0
0
0
34
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
-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
28
0
0
0
-28
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
5
0
0
0
0
0
0
0
0
0
0
-78
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-14
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
-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
38
0
0
0
0
0
0
0
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
33
0
0
0
57
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
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-11
0
0
0
1
0
0
0
0
0
0
-58
0
0
0
0
0
0
-62
0
0
0
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
-62
0
0
0
0
0
0
8
14
0
0
2
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
25
0
0
0
-33
0
0
0
0
0
0
57
0
0
0
0
0
0
-2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
38
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
-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
7
0
0
0
-45
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
-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
5
0
0
0
0
0
0
18
0
0
0
-49
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
69
0
0
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
-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
-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
-24
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-11
0
0
0
0
0
0
0
0
0
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
8
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-37
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
11
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
5
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
-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
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
14
-1
0
0
-7
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
-64
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
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
-1
0
0
0
-34
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-91
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
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
-28
0
0
0
0
0
0
-61
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
-81
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
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
-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
-62
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
4
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
0
0
0
0
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
-10
0
0
0
0
0
0
11
0
0
0
-23
0
0
0
0
0
0
41
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
-22
0
0
0
0
0
0
1
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
5
0
0
22
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
-54
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
14
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
-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
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
2
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
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
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
14
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
15
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
-1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-30
6
0
0
36
0
0
0
0
0
0
1
0
0
0
0
0
4
-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
-40
0
0
0
0
0
0
-61
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
0
0
0
14
0
0
0
0
0
0
-43
0
0
0
0
0
0
-103
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-99
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
61
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
53
0
0
0
-55
0
0
0
0
0
0
55
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
-33
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
-15
0
0
0
0
0
0
-1
-1
0
0
14
0
0
0
5
0
0
27
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
-4
0
0
38
0
0
0
0
0
0
3
0
0
0
43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-19
0
0
0
-4
0
0
0
0
0
0
-102
0
0
0
0
0
0
-33
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
5
0
0
0
0
0
0
-5
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
3
0
0
0
24
0
0
0
0
0
0
-61
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
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
-87
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
-77
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
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
-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
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
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
29
0
0
0
-2
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
38
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
-53
0
0
0
0
0
0
-18
1
0
0
18
0
0
0
2
0
0
32
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-48
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-18
0
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
-2
57
1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
-5
0
-66
0
5
0
0
0
0
-3
-2
0
0
-16
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
54
0
0
0
27
0
0
0
0
0
0
-82
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
11
5
10
0
0
0
0
0
0
10
-4
-1
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-13
0
0
0
10
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
36
0
0
0
11
0
0
0
0
0
0
-59
0
0
0
0
0
0
-9
0
0
0
0
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
25
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
1
5
0
0
-22
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
-3
0
0
0
0
0
0
0
0
2
0
-30
0
0
0
0
0
0
-3
0
0
0
26
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
-24
-8
-1
0
-6
0
0
0
6
0
8
-7
0
0
0
0
0
-1
19
-6
0
0
0
0
0
0
0
37
14
-3
2
0
0
0
0
-6
-29
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
0
-19
-1
0
0
2
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-39
0
0
0
-29
0
0
0
0
0
0
-94
0
0
0
0
0
0
74
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
-2
18
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
7
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
47
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
0
0
0
0
0
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
-7
0
0
0
0
0
0
-2
0
0
0
-47
0
0
0
0
0
0
8
0
0
0
0
0
0
-30
6
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
40
0
0
0
0
0
0
24
0
0
0
29
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
2
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
9
13
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
30
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
-19
0
0
0
0
0
0
0
0
5
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
-60
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
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
23
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
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
9
0
0
0
0
0
0
0
0
0
0
52
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
39
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
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
2
0
0
0
0
0
0
0
0
0
0
-61
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
36
0
0
0
-15
0
0
0
0
0
0
105
0
0
0
0
0
0
53
0
0
0
0
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
2
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
26
0
0
0
-4
0
0
0
0
0
0
48
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
45
0
0
0
0
0
0
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
21
0
0
0
23
0
0
0
0
0
0
33
0
0
0
0
0
0
17
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
42
0
0
0
0
0
0
0
0
0
0
10
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
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
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
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
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
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-5
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
37
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
-9
0
0
0
0
0
0
56
0
0
0
-11
0
0
0
0
0
0
55
0
0
0
0
0
0
30
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
19
0
0
0
0
0
0
-13
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
22
0
0
0
-23
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
89
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
20
1
0
0
4
0
0
0
0
0
0
-11
0
0
0
0
0
0
-33
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
-27
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
29
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
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
-15
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
-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
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
-15
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
-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
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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
2
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
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
-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
21
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
-53
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
4
0
0
0
29
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
-2
0
0
0
0
0
0
-2
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
2
0
0
0
-29
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
7
0
0
0
0
0
0
0
0
0
0
53
0
1
0
0
0
0
-14
-5
0
0
-10
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
-43
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-68
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
0
0
0
0
0
0
0
6
0
0
0
-10
0
0
0
0
0
0
24
0
0
0
0
0
0
33
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
21
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
-20
0
0
0
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
-24
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
4
0
0
0
19
0
0
0
0
0
0
-34
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
2
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
10
0
0
0
-85
0
0
0
0
0
0
26
0
0
0
0
0
0
-15
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
1
0
0
0
0
0
-6
0
0
29
0
0
0
0
0
0
5
76
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-9
3
0
0
0
-49
0
0
0
-1
0
0
92
0
0
0
0
0
0
-53
3
5
0
0
0
0
0
0
-5
0
0
0
23
0
0
0
0
-8
-3
0
0
0
0
0
0
-2
0
0
-11
0
3
0
0
0
0
10
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
31
0
0
0
0
0
0
70
0
0
0
12
0
0
0
0
0
0
28
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-16
1
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-5
29
0
0
0
1
0
0
0
0
0
0
74
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
17
0
0
0
-4
0
0
0
0
14
4
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
21
-13
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
-24
0
0
0
-6
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
4
0
0
0
0
0
0
0
0
0
-3
22
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
14
0
0
0
17
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
36
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
-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
-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
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
-39
0
0
0
0
0
0
-25
0
0
0
-16
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
5
-10
0
-1
0
0
0
0
-22
11
0
0
92
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
-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
1
0
0
0
0
0
1
23
-4
0
0
0
0
0
0
0
0
2
80
0
0
0
0
0
0
-34
-33
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
27
0
0
0
-50
0
0
0
0
0
0
53
0
0
0
0
0
1
43
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
14
-6
0
0
0
0
0
0
5
-4
-2
35
0
0
0
0
0
0
-44
-13
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
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
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
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
5
0
0
0
19
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
19
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
43
0
0
0
14
0
0
0
0
0
0
-33
0
0
0
0
0
-8
5
0
3
0
0
0
0
0
0
19
-16
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
5
13
0
0
-48
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
71
0
0
0
-62
0
0
0
0
0
0
-30
0
0
0
0
0
0
23
3
0
2
3
0
0
1
8
42
6
4
-6
0
0
0
0
11
78
13
2
-10
0
0
0
0
0
7
28
-10
0
1
0
0
0
0
-30
31
-5
0
43
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
-57
0
0
0
0
0
0
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-47
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
32
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
17
0
0
0
0
0
0
-43
0
0
0
11
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
-3
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
-15
0
0
0
31
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
-12
0
0
0
-11
0
0
13
0
0
0
0
0
1
-33
4
0
0
0
0
0
0
0
-2
2
0
0
-2
0
0
0
0
-6
-4
2
0
0
0
0
0
-1
0
-3
33
0
4
0
0
0
0
-14
16
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
68
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
101
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
-4
0
0
0
0
0
0
0
0
0
0
27
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
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
-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
14
0
0
0
7
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
19
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-3
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
0
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
14
0
0
0
26
0
0
0
0
0
0
29
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
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
38
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
10
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
19
0
0
0
0
0
0
0
0
0
0
21
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
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
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
-32
0
0
0
-32
0
0
0
0
0
0
-7
0
0
0
0
0
0
45
0
0
0
0
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
6
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
6
0
0
0
-15
0
0
0
0
0
0
-16
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
13
0
0
0
0
0
0
-6
-7
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
-7
0
0
0
-9
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
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
-15
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
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
21
0
0
0
0
0
0
0
0
0
0
-1
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
3
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
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
26
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
-14
0
0
0
0
0
0
0
0
0
35
0
1
0
0
0
0
21
6
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
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
14
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
-21
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
0
0
0
0
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
69
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
8
0
0
0
0
0
0
35
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
4
-16
0
0
0
0
0
0
9
0
3
-42
0
8
0
0
0
0
-30
-2
0
0
42
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
-27
0
0
0
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
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
10
0
0
0
-1
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
-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
8
0
0
0
0
0
0
1
0
0
0
16
0
0
0
0
0
0
36
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
2
0
0
0
0
0
0
0
0
0
52
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
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
-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
-2
0
0
0
-21
0
0
0
0
0
0
65
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-34
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
-46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
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
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
0
0
0
0
-4
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
24
0
0
0
0
0
0
0
26
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
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
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
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
-24
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
10
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
2
0
0
0
0
0
0
10
0
0
0
-26
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
14
0
0
0
0
0
0
3
0
0
0
53
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
0
0
0
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
-11
0
0
0
0
0
0
91
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
-33
0
0
0
0
0
0
-1
-20
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
46
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
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
-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
2
0
0
0
3
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
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-24
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
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
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
-33
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
-43
0
0
0
0
0
0
0
0
0
0
9
0
0
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
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
-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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-31
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
-89
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
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
19
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
-10
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
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
3
0
0
0
11
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
0
0
0
0
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
-5
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
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
8
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
3
0
0
0
0
0
0
39
0
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
21
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
7
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
9
0
0
0
0
0
0
66
0
0
0
18
0
0
0
0
0
0
91
0
0
0
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
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
39
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-24
0
0
0
35
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
-14
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
-14
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
37
0
0
0
0
0
0
19
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
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
22
0
0
0
0
0
0
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
69
0
0
0
26
0
0
0
0
0
0
26
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
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
6
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
15
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-16
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
45
0
0
0
-8
0
0
0
0
0
0
-26
0
0
0
0
0
0
-31
0
0
0
0
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
10
13
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
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
-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
47
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
31
0
0
0
0
0
0
81
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
63
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
0
0
0
0
0
0
60
0
0
0
21
0
0
0
0
0
0
9
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
0
0
0
0
0
0
10
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
-26
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
-19
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
3
3
0
0
-17
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
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
-53
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
13
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
113
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
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
38
0
0
0
21
0
0
0
0
0
0
44
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
32
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
-14
0
0
0
0
0
0
-14
0
0
0
-8
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-64
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
2
0
0
0
0
0
0
0
0
0
0
-78
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
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
-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
-45
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
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
0
45
0
0
0
0
0
0
-27
0
0
0
-33
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
9
0
0
0
3
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
15
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-17
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
20
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
9
0
0
0
0
0
0
0
0
0
0
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
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
-51
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
34
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
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
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
30
0
0
0
0
0
0
19
0
0
0
-2
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
-32
0
0
0
0
0
-10
0
0
0
0
0
0
0
23
-3
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
34
0
29
0
0
0
0
0
0
15
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
-24
0
0
0
-17
0
0
-27
0
0
0
0
0
-1
28
7
0
0
0
0
0
0
0
3
63
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
-11
0
-6
3
0
0
0
0
0
0
-26
0
0
0
-7
0
0
0
0
0
0
-24
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
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
-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
30
0
0
0
0
0
0
33
0
0
0
0
0
0
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
2
0
0
0
0
0
0
0
49
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
2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
49
0
0
0
0
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
4
0
0
0
23
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
48
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
41
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
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
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
-28
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
8
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
-25
0
0
0
0
0
0
0
0
0
-1
-37
0
0
0
0
0
0
14
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
3
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
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
49
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
12
-14
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-7
-6
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
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
-4
0
0
0
0
0
0
0
0
0
0
15
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
32
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-9
14
0
0
0
0
0
0
-34
-3
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
47
4
0
-4
0
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
5
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-34
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-27
13
0
0
0
0
0
0
0
0
-3
22
0
0
0
0
0
0
-5
-1
0
0
17
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
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-34
-1
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
-1
16
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
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
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
-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
84
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
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
24
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
-40
0
0
0
0
0
0
0
0
0
0
32
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
-31
0
0
0
0
0
0
0
0
0
0
4
0
0
0
4
0
0
-3
0
0
0
0
0
0
51
-4
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-59
7
0
2
0
0
0
0
-11
0
0
-29
0
0
0
0
0
0
-48
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
54
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-75
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
9
0
0
0
0
0
0
0
0
0
0
20
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
3
0
0
0
5
0
0
0
0
0
0
-25
0
0
0
0
0
0
-25
0
0
0
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
-25
0
0
0
0
0
0
5
0
0
0
-61
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
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
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
-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
18
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
-57
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
-18
0
0
0
0
0
0
-8
0
0
0
-9
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
3
0
0
0
0
0
0
-29
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
33
0
0
0
-30
0
0
0
0
0
0
-14
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
-13
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
41
0
0
0
-4
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-5
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
-9
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
36
0
0
0
-12
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-4
0
14
0
-14
0
0
0
8
0
0
-9
0
0
0
0
0
0
-42
14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
0
7
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-25
0
0
0
-21
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
73
0
0
0
-10
0
0
0
0
0
0
-26
0
0
0
0
0
0
-51
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
-31
0
0
0
-40
0
0
0
0
0
0
-15
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
-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
-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
-23
0
0
0
0
0
0
0
0
0
0
21
0
0
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
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
3
0
0
0
0
0
0
0
0
0
19
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
3
0
0
0
0
0
0
-101
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
4
-38
0
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
0
-95
5
0
0
0
0
0
0
0
0
0
11
0
16
0
0
0
0
-19
0
0
0
28
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
20
0
0
0
8
0
0
0
-3
0
0
4
0
0
0
0
0
0
28
-5
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
-12
4
0
-2
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-16
1
0
0
20
0
0
0
0
0
0
-112
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
0
2
0
0
0
-15
0
0
0
-17
5
3
-32
0
0
0
0
0
0
8
3
17
0
0
0
0
0
7
7
58
7
0
-4
0
0
0
0
-11
-14
10
0
0
0
0
0
-5
-1
1
23
0
0
0
0
0
0
-40
-1
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
-23
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
-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
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
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
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
0
0
0
0
0
0
0
0
0
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
82
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
13
0
0
0
14
0
0
0
0
0
0
32
0
0
0
0
0
0
108
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
-61
0
0
0
0
0
0
3
0
0
0
34
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-27
0
0
0
28
0
0
0
0
0
0
31
0
0
0
0
0
-1
-8
-2
13
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
49
5
0
0
0
0
0
0
-5
0
2
14
0
0
0
0
0
0
19
0
0
0
27
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-7
0
0
0
8
0
0
0
0
0
0
37
0
0
0
0
0
-4
2
7
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
2
0
11
0
0
0
0
-28
0
0
0
-1
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
14
0
0
0
4
0
0
0
0
0
0
58
0
0
0
0
0
0
-29
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
-5
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
3
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
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
25
0
0
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
0
0
0
0
0
0
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
12
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
-13
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
42
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
-18
0
0
0
0
0
0
-43
0
0
0
1
0
0
0
0
0
0
46
0
0
0
0
0
0
63
-9
8
0
0
0
0
0
0
-4
16
22
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-5
0
0
-31
0
0
0
0
0
0
5
2
0
0
20
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-58
0
0
0
-16
0
0
0
0
0
0
22
0
0
0
0
0
10
3
5
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
43
11
0
0
8
0
0
0
0
0
-1
30
0
0
0
0
0
0
-52
-3
0
0
10
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
25
0
0
0
-12
0
0
0
17
-9
0
17
0
0
0
0
0
3
58
18
0
0
0
0
0
0
-3
29
-7
0
5
-5
0
0
0
0
39
17
0
0
0
0
0
0
-11
0
0
-8
0
0
0
0
0
0
34
-18
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
-49
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
-1
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
-41
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
-18
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
53
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
22
0
0
0
0
0
0
57
0
0
0
0
0
0
70
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
-6
0
0
6
0
5
0
0
0
0
-4
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
42
0
0
0
-16
0
0
0
9
3
0
7
0
0
0
0
0
-8
-43
6
-5
0
0
0
0
0
0
-11
-9
0
0
0
0
0
0
0
-17
10
0
0
0
0
0
0
0
0
14
0
0
-8
0
0
0
0
-81
-17
0
0
23
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
42
0
0
0
-28
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
18
-6
0
0
0
0
0
0
0
-17
-33
0
3
0
0
0
0
2
1
0
-11
0
0
0
0
0
0
-73
36
0
0
15
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-49
0
0
0
-6
0
0
0
2
0
0
10
0
0
0
0
0
0
29
-9
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-60
14
0
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
-62
2
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
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
89
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-55
0
0
0
0
0
0
0
0
0
0
15
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
3
0
0
0
0
0
0
59
0
0
0
0
0
0
-13
9
0
0
0
0
0
0
0
0
11
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
-15
0
0
0
-1
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-106
0
0
0
0
0
0
10
0
0
0
1
0
0
0
0
0
0
20
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
8
22
0
0
0
0
0
0
-4
-40
-6
0
0
0
0
0
0
-1
0
-8
44
0
0
0
0
0
0
-14
0
0
0
23
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
2
-51
0
0
0
-3
0
0
0
-18
9
0
12
0
0
0
0
0
0
-11
-4
0
0
0
0
0
0
0
-14
2
0
0
0
0
0
0
-5
-5
34
0
0
0
0
0
0
-4
0
0
-17
0
-5
0
0
0
0
6
-30
0
0
12
0
0
0
0
0
-14
-34
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-35
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
-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
-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
28
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-51
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
-61
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
4
0
0
0
0
0
0
-10
0
0
0
-12
0
0
0
0
0
0
32
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
-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
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-63
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
-43
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
23
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
26
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
-21
0
0
0
-3
0
0
0
0
0
0
-29
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
36
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
1
94
0
0
0
0
0
0
-32
0
0
0
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
-19
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
-14
0
0
0
0
0
0
-86
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
-96
0
0
0
30
0
0
0
0
0
0
-42
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
-5
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
71
0
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
-25
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
14
0
0
0
0
0
0
32
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
-40
0
0
0
0
0
0
13
0
0
0
0
0
7
-19
0
2
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
17
0
0
0
0
0
0
-26
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
14
0
0
0
-56
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
-2
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
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
-27
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
33
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
-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
5
0
0
0
0
0
0
-32
0
0
0
20
0
0
0
0
0
0
-23
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
13
-34
0
0
0
0
0
0
0
0
0
5
54
0
0
0
0
0
0
5
0
0
0
-21
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-44
0
0
0
-9
0
0
0
0
0
0
-54
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-33
-1
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
-8
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
-25
0
0
0
-16
0
0
0
0
0
-1
-24
0
0
0
0
0
0
-61
48
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
-68
0
-5
0
0
0
0
-1
7
0
0
5
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
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
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-73
0
0
0
19
0
0
0
0
0
0
-15
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
-28
0
0
0
0
0
0
9
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
-2
8
0
0
0
0
0
0
4
5
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
-3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
8
0
0
5
0
0
0
0
-10
0
0
0
-10
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
17
0
0
0
16
0
0
0
0
0
0
27
0
0
0
0
0
0
-17
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
-54
0
0
0
0
0
0
33
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
0
0
0
-37
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
-53
0
0
0
0
0
0
14
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
-5
0
0
0
0
0
0
-25
0
0
0
-9
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-6
0
0
0
-14
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
45
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-36
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-5
0
0
0
-40
0
0
0
0
0
0
-7
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
14
-16
0
0
0
0
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
38
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
69
0
0
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
0
0
0
0
0
0
0
-7
0
0
0
0
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
0
5
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
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
-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
-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
0
0
0
0
0
0
0
17
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
-48
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
-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
-3
0
0
0
0
0
0
0
0
0
0
16
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
5
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-4
0
0
0
0
0
-2
-15
0
0
0
-15
0
0
0
0
0
23
-23
0
0
0
0
0
2
-47
-8
0
0
0
0
0
0
0
0
-25
3
0
0
0
0
0
3
53
-10
18
0
0
0
0
0
0
-1
0
1
0
27
0
0
0
-29
-38
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
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
-10
0
0
0
0
0
0
0
0
0
0
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
7
0
0
0
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
-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
-10
0
0
0
0
0
0
73
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
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
7
0
0
0
0
0
0
15
0
0
0
27
0
0
0
9
0
0
-60
0
0
0
0
0
-11
-35
0
0
0
0
0
0
0
0
0
1
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
13
0
0
0
-2
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
4
56
0
0
0
0
0
-5
-35
0
0
0
1
0
0
0
5
-30
0
57
0
0
0
0
0
-6
52
31
0
0
0
0
0
0
0
6
22
3
0
0
0
0
0
-7
14
0
0
0
0
0
0
0
2
1
0
3
0
9
0
0
0
0
29
0
0
0
20
0
0
0
0
0
0
-34
0
0
0
0
0
0
-5
13
-110
0
0
0
0
0
-10
4
16
0
0
12
0
0
0
0
-12
3
0
0
0
0
0
0
6
-12
-2
-6
0
0
0
0
0
0
-3
11
0
0
0
0
0
0
11
-92
-2
-28
0
0
0
0
0
-29
5
0
6
0
0
0
0
0
15
13
7
4
0
-3
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
31
0
0
0
-14
0
0
0
0
0
0
-37
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-81
14
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-33
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-6
0
0
0
-13
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
-65
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-38
0
0
0
-11
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
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
27
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
-1
0
0
0
48
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
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
-2
51
0
0
0
0
0
0
30
16
0
0
-5
0
0
0
14
0
-1
40
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-53
0
1
0
0
0
0
-45
0
0
0
24
0
0
0
0
0
0
17
0
0
0
0
0
0
4
45
-24
0
0
0
0
0
63
68
-4
0
0
20
0
0
0
77
42
61
16
0
-2
0
0
0
34
4
0
0
0
0
0
0
0
-7
-12
30
24
6
0
0
0
0
10
49
-21
0
0
0
0
0
0
-21
-22
-4
13
-18
8
0
0
5
-5
41
-44
18
0
25
0
0
0
0
0
0
-38
0
0
0
0
0
0
-6
-5
-33
0
0
0
0
0
-8
-41
-65
0
0
5
0
0
0
26
27
100
33
0
3
0
0
0
-57
10
-30
0
0
14
0
0
0
-13
-5
-15
14
-7
0
0
0
0
21
-34
52
0
0
29
0
0
-9
-2
-27
5
2
6
24
0
0
-4
15
-7
-5
0
0
18
0
0
0
2
0
0
-21
0
0
0
0
0
0
16
71
35
0
0
0
0
0
22
-66
1
0
0
11
0
0
0
0
0
34
-22
0
0
0
0
0
0
-18
-42
0
0
29
0
0
0
-3
-46
52
5
0
0
0
0
0
5
-54
9
11
0
0
0
0
0
16
-5
2
-3
0
-2
0
0
0
-1
-90
-4
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
-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
-7
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
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
-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
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
-51
0
0
0
0
0
0
168
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
37
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
47
0
0
0
0
0
0
30
1
0
0
-3
0
0
0
0
0
0
15
0
0
0
0
0
5
29
-7
0
0
0
0
0
0
-21
0
5
0
0
0
0
0
0
4
14
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-52
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-12
-19
0
0
0
0
0
0
-22
27
0
0
18
0
0
0
50
-1
29
50
0
-23
0
0
0
-51
3
48
11
0
21
0
0
1
-33
-51
0
10
-24
0
0
0
0
2
-24
-48
-7
-4
-3
0
0
0
-2
13
5
22
1
-29
0
0
0
-38
-7
36
0
14
27
0
0
-5
3
0
0
-41
0
0
0
0
0
0
5
-46
-4
0
0
0
0
0
23
-26
4
0
0
14
0
0
0
5
-29
29
-9
0
-5
0
0
0
-14
-6
-5
51
2
0
0
0
0
-1
49
10
0
0
3
0
0
0
47
-8
-31
18
62
0
0
0
0
10
-30
14
-1
0
94
0
0
0
-57
-21
-71
-15
-9
6
0
0
0
-27
5
0
-34
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
5
0
0
0
-42
0
0
0
0
0
0
-48
0
4
0
0
0
0
-8
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-3
0
0
-33
0
0
0
0
0
0
-51
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
5
0
0
0
-55
0
0
0
0
0
0
-11
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
7
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
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
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
46
0
0
0
-17
0
0
0
0
0
0
-83
0
0
0
0
0
0
12
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
-15
0
0
0
0
0
0
-6
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
10
11
44
0
0
0
0
0
0
-32
16
0
0
-9
0
0
0
0
0
31
-2
0
0
0
0
0
2
29
-39
0
0
0
0
0
0
-2
15
-17
2
0
0
0
0
0
-6
0
4
0
0
0
0
0
0
2
0
0
24
0
4
0
0
0
10
9
4
-5
0
-42
0
0
0
0
0
0
-12
0
0
0
0
0
2
-16
-22
-54
0
0
0
0
0
47
25
77
0
0
6
0
0
0
-8
-10
-3
14
0
-29
0
0
0
9
36
5
-6
0
-14
0
0
0
-18
27
13
-3
-14
0
0
0
0
25
9
0
0
0
25
0
0
0
-21
-6
-15
19
0
-17
0
0
1
-19
-6
1
3
1
9
0
0
0
-5
0
0
-122
0
0
0
0
0
9
6
-5
1
0
0
0
0
0
0
-44
66
0
0
8
0
0
0
-43
-4
51
31
0
3
0
0
0
-1
2
16
0
14
13
0
0
0
2
19
-9
21
0
0
0
0
0
-1
-86
5
0
0
36
0
0
0
-6
-42
-41
18
0
-14
0
0
0
6
-85
-17
3
0
-8
0
0
0
0
0
0
-33
0
0
0
0
0
12
15
76
-32
0
0
0
0
0
15
10
-31
0
0
1
0
0
0
74
-5
53
-8
0
-3
0
0
0
-6
2
2
-10
-1
-14
0
0
0
13
-34
-42
-8
-2
2
0
0
0
7
-70
6
30
0
6
0
0
0
8
-33
-3
-40
0
11
0
0
0
7
0
-6
0
0
-5
0
0
-36
-7
0
0
5
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
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
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
76
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
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
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
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
1
0
0
0
-15
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
79
-18
0
0
-20
0
0
0
0
8
0
50
0
18
0
0
0
0
-39
45
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-43
0
3
0
-25
0
0
0
0
0
0
49
0
0
0
0
0
0
5
11
-7
0
0
0
0
0
-37
31
-24
0
0
26
0
0
0
0
11
11
30
0
22
0
0
0
-5
12
-24
7
0
0
0
0
0
0
42
-5
4
-2
1
0
0
0
14
12
13
8
-17
0
0
0
0
1
-33
0
15
0
53
0
0
0
0
-20
1
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-23
32
52
-28
0
0
0
0
0
55
10
-41
18
0
8
0
0
0
-8
36
46
3
0
35
0
0
0
-30
-6
56
13
5
-3
0
0
0
-11
-77
21
-43
0
-2
0
0
0
-4
-12
25
9
16
0
0
0
0
-34
-17
5
0
0
-5
0
0
0
-49
19
-39
-20
0
4
0
0
0
0
0
3
-39
18
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-18
0
0
0
-8
0
0
0
-12
0
-2
-12
0
0
0
0
0
-16
-18
-6
0
0
7
0
0
0
0
18
-6
0
0
0
0
0
0
11
-44
-36
-10
2
0
0
0
0
-15
-3
-23
-2
0
-17
0
0
0
0
-37
32
4
0
-6
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
36
0
0
0
-1
0
0
0
-2
0
0
1
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
14
-4
0
0
0
0
0
0
-8
-88
0
0
0
0
0
0
0
-4
12
4
-42
0
0
0
0
0
0
69
-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
-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
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
-34
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
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
-8
0
0
0
30
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
-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
36
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
-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
25
11
0
0
0
0
0
2
-4
18
0
0
-31
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
12
0
0
0
0
0
0
0
0
0
0
10
0
5
0
0
0
-53
0
0
0
0
-34
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
12
-30
0
0
0
0
0
17
49
-43
0
0
-1
0
0
0
2
16
1
22
0
0
0
0
0
10
-4
-9
0
0
0
0
0
0
0
-57
16
-2
0
0
0
0
0
-52
21
43
0
7
0
0
0
0
0
-54
6
-35
0
0
0
0
0
0
-7
0
0
4
15
0
0
0
0
0
0
20
0
0
0
0
0
4
0
-2
15
0
0
0
0
0
1
17
22
0
0
16
0
0
0
5
0
7
10
0
31
0
0
0
-12
-30
-16
0
0
6
0
0
0
-23
-66
26
-2
0
0
0
0
0
16
-22
-14
0
0
0
0
0
0
42
11
6
4
0
-5
0
0
0
-4
4
17
0
0
-2
0
0
0
-6
0
0
-23
0
0
0
0
0
0
4
-24
-24
0
0
0
0
0
-13
-30
-42
0
0
7
0
0
0
-9
1
49
16
0
-3
0
0
0
-27
-5
-31
22
0
0
0
0
0
5
18
3
-3
0
0
0
0
0
-43
-19
-16
51
4
22
0
0
0
12
37
-20
-29
0
8
0
0
0
-8
-41
-21
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
-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
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
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
-11
0
0
0
0
0
0
49
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
10
0
0
0
-54
0
0
0
0
0
0
-14
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
-7
0
0
0
0
0
0
36
0
0
0
4
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
-12
2
0
0
40
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
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
-7
0
0
0
-22
0
0
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
-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
5
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
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
53
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
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
43
0
0
0
0
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
38
0
0
0
0
0
0
-32
-3
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-55
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
13
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
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
35
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
-25
0
0
0
0
0
0
4
-21
0
0
0
0
0
0
5
-15
0
66
0
0
0
0
0
0
31
4
0
0
0
0
0
0
0
60
-9
-10
0
0
0
0
0
0
12
-2
0
2
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-7
0
0
0
-2
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
112
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
1
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
-5
0
8
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
10
0
0
0
-21
0
0
0
0
0
0
-14
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
-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
-17
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
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
-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
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
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
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
-38
0
0
0
0
0
0
0
0
0
0
-3
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
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
-1
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
-30
0
0
0
0
0
0
5
0
0
0
0
0
0
0
30
10
0
0
0
0
0
-4
-69
30
0
0
0
0
0
0
5
2
21
34
0
0
0
0
0
-15
34
0
0
0
0
0
0
0
0
-5
61
11
0
0
0
0
0
0
28
3
34
-16
0
0
0
0
-5
27
-4
20
0
0
0
0
0
0
20
10
0
0
20
0
0
0
0
0
0
22
0
0
0
0
0
46
13
58
-7
0
0
0
0
0
-6
14
13
-21
0
0
0
0
0
21
13
5
24
3
0
0
0
0
15
-28
4
0
3
-26
0
0
0
-16
26
23
-62
0
5
0
0
0
-43
34
-26
2
14
-25
0
0
0
-29
-15
11
0
0
0
0
0
0
-1
39
-14
19
0
26
0
0
0
10
0
30
-70
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-2
0
0
-5
0
0
0
0
0
-2
46
27
3
0
25
0
0
0
0
10
-11
5
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-8
-10
7
-20
0
0
0
0
0
1
-100
0
0
0
-48
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
41
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
11
0
0
0
0
0
0
37
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
4
5
9
45
0
0
0
0
0
14
61
-36
0
0
0
0
0
0
-7
16
25
59
-6
0
0
0
0
19
-35
24
27
0
1
0
0
0
-8
-16
0
-5
0
0
0
0
0
17
-178
10
90
33
0
0
0
0
6
-6
0
-5
0
0
0
0
0
0
50
-2
0
0
10
0
0
0
0
0
0
41
0
0
0
0
0
0
0
32
21
0
0
0
0
0
8
-17
-32
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
12
65
-37
1
0
0
0
0
0
-5
-92
32
0
0
-1
0
0
0
0
23
27
0
5
0
0
0
0
-5
34
46
26
0
0
0
0
0
-1
-95
12
14
0
15
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
5
-30
0
5
0
0
0
0
0
0
-4
0
-34
0
0
0
0
0
0
30
-17
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
-21
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
-38
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-26
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
17
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-13
10
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
-6
0
0
0
0
0
0
6
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
6
16
-70
0
0
0
0
0
0
2
-20
14
35
0
0
0
0
0
-1
105
-10
5
0
0
0
0
0
0
-10
8
0
0
0
0
0
0
-14
37
0
0
80
0
0
0
0
-9
0
28
-15
0
0
0
0
0
2
-1
17
0
0
-9
0
0
0
0
0
0
-6
0
0
0
0
0
0
11
-2
-29
0
0
0
0
0
0
-29
-16
-4
0
0
0
0
0
22
-20
93
16
0
0
0
0
0
-4
39
33
-14
0
0
0
0
0
-4
90
25
-40
0
0
0
0
0
2
-5
36
0
35
-9
0
0
0
-7
26
23
47
0
0
0
0
0
5
-32
66
-22
0
13
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
9
6
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
-3
5
-13
-22
0
0
0
0
0
0
-22
32
5
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
47
-25
0
0
0
0
0
0
2
8
0
-4
0
0
0
0
0
-5
55
-12
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
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
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
-3
0
0
0
0
0
0
4
0
0
0
-110
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
68
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-53
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
2
60
0
0
0
0
0
0
81
-1
0
0
0
0
0
0
0
-24
2
4
0
0
0
0
0
0
5
-31
3
0
0
0
0
0
-5
0
0
-16
0
0
0
0
0
0
10
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
-31
62
89
-21
0
0
0
0
0
-5
-12
-11
0
0
0
0
0
0
-14
-9
70
1
1
0
0
0
0
-1
-14
35
-21
0
0
0
0
0
-4
36
-19
9
0
1
0
0
0
6
-12
-16
-7
43
0
0
0
0
6
9
-24
0
0
-6
0
0
0
-5
6
-43
0
0
-8
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-48
0
0
0
0
0
0
-14
0
0
-4
14
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
59
-34
0
0
0
0
0
0
46
-21
14
0
8
0
0
0
0
-4
2
-19
21
0
0
0
0
0
0
52
17
0
0
-37
0
0
0
0
0
0
19
0
0
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
0
0
0
0
-39
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
-34
0
0
0
0
0
0
-33
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
14
0
0
0
0
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
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
14
-5
0
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
15
15
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
3
16
0
0
0
51
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
-11
-13
0
0
0
0
0
0
1
-6
-2
11
0
0
0
0
0
-2
41
-1
0
0
0
0
0
0
2
33
-24
-30
0
0
0
0
0
-62
-11
2
44
0
0
0
0
0
8
15
17
18
0
0
0
0
0
0
87
-12
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
34
41
0
0
0
0
0
2
-15
-7
0
0
0
0
0
0
-3
3
-2
-13
0
0
0
0
0
2
29
7
0
0
18
0
0
0
0
7
-5
1
0
0
0
0
0
-1
-49
41
0
29
0
0
0
0
5
-5
0
19
0
1
0
0
0
4
-5
6
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
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
11
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
54
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
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
-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
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
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
-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
-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
-30
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
-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
17
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
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
-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
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
-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
-4
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
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
-32
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
-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
32
0
0
0
-9
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
3
0
0
0
0
0
0
0
0
0
0
59
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
-4
0
0
0
0
0
0
0
0
0
0
49
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
0
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
-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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
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
-48
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
5
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
11
0
0
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
10
0
0
0
0
0
0
-32
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
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-9
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
-14
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
21
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
42
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
-21
0
0
0
0
0
0
13
6
0
0
55
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
-65
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
5
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-10
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
25
0
0
0
-17
0
0
0
0
0
0
43
0
0
0
0
0
0
20
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
35
0
0
0
0
0
0
1
8
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-27
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
18
0
0
0
0
0
0
-6
0
0
0
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-50
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
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
26
0
4
0
0
0
0
-6
0
-3
-29
0
0
0
0
0
0
-35
11
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
3
0
0
0
27
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
2
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
9
0
0
0
-89
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
-22
0
0
0
0
0
0
15
0
0
0
44
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
-21
0
0
0
0
0
0
23
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
-4
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
11
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
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
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
-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
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
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
-11
0
0
0
0
0
0
0
0
0
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
-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
46
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
-5
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
0
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
-5
0
0
0
65
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
5
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
28
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
-19
0
0
0
0
0
0
102
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
4
0
0
0
0
0
0
0
0
0
0
146
0
0
0
0
0
0
0
0
0
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
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
53
0
0
0
0
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
0
0
0
1
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
30
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
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
-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
-10
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
-2
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
-33
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
9
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
-4
0
0
0
16
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
72
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
56
0
0
0
0
0
0
69
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
9
25
5
0
0
0
0
0
-1
0
-4
12
0
0
0
0
0
0
-36
-3
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
-28
0
0
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
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
78
0
2
0
0
0
0
0
0
0
0
79
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
12
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
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
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
-2
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
-7
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
-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
2
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
15
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
34
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
0
0
0
0
0
0
0
0
0
0
-51
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
9
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-21
22
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
20
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
-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
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-35
0
0
0
0
0
0
14
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
-10
0
0
0
14
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
11
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
8
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
-11
0
0
0
0
0
0
87
0
0
0
0
0
0
-30
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
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
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
25
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
-31
0
0
0
36
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
-33
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
6
0
0
0
0
0
0
64
0
0
0
-2
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
-84
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-67
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
-5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
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
14
0
0
0
0
0
0
15
0
0
0
-12
0
0
0
0
0
0
36
0
0
0
0
0
0
-43
0
0
0
0
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
3
0
0
0
51
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
-4
0
0
0
0
0
0
84
0
0
0
0
0
0
-23
0
0
0
0
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
10
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
-7
0
0
0
-11
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
-14
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
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
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
-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
10
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
64
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
19
0
0
0
-44
0
0
0
0
0
0
35
0
0
0
0
0
0
-18
0
0
0
0
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
-4
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
-17
0
0
0
0
0
0
32
0
0
0
0
0
0
26
0
0
0
0
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
4
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
-17
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
12
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
-8
0
0
0
0
0
0
35
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
16
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
-18
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
-45
5
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
18
4
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
10
0
0
0
-17
0
0
0
0
0
0
71
0
0
0
0
0
0
-16
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
35
0
0
0
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
-52
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
38
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
15
0
0
0
0
0
0
-33
0
0
0
18
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
-19
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
6
0
0
0
68
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
-7
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
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
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
20
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-2
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
-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
-9
0
0
0
0
0
0
-63
0
0
0
0
0
0
-33
2
0
0
0
0
0
0
0
0
-1
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
15
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
-53
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
36
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
32
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
7
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
-13
0
0
0
32
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
49
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
4
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
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
2
0
0
0
13
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
-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
8
0
0
0
0
0
0
-65
0
0
0
14
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
0
0
0
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
5
0
0
0
0
0
0
49
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
-42
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
14
0
0
0
-15
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
53
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
-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
2
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
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
0
0
0
0
0
0
0
0
0
62
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
-4
0
0
0
0
0
0
62
0
0
0
26
0
0
0
0
0
0
51
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
0
0
0
20
0
0
0
0
0
0
-9
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
3
0
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
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
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
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
10
0
0
0
25
0
0
0
0
0
0
58
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
81
0
0
0
0
0
0
10
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
14
0
0
0
-18
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
3
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-58
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
5
-17
0
0
-11
0
0
0
0
0
0
48
0
0
0
0
0
0
-50
-5
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
26
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
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
9
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
84
-9
0
0
-6
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
-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
-8
0
0
0
0
0
0
-8
0
0
0
-25
0
0
0
0
0
0
62
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-2
0
0
0
0
0
0
0
0
1
67
0
0
0
0
0
0
35
-4
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
5
0
0
0
-5
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
24
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
-3
0
0
0
6
0
0
0
0
0
0
5
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
54
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
-3
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
0
55
0
0
0
0
0
0
14
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
24
0
0
0
0
0
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
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
-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
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
37
0
0
0
0
0
0
0
0
0
0
1
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
10
0
0
0
0
0
0
0
0
0
0
44
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
-7
0
0
0
0
0
0
-1
0
0
0
-50
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
25
0
0
0
0
0
0
0
0
0
0
23
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
-23
0
0
0
0
0
0
-36
0
0
0
-3
0
0
0
0
0
0
-24
0
0
0
0
0
0
39
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
2
0
0
0
0
0
0
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
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
-40
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-106
0
0
0
7
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
-4
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-4
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
-18
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
25
0
0
0
6
0
0
0
-5
0
0
-1
0
0
0
0
0
0
-55
0
0
0
0
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
11
0
0
0
-38
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-9
0
0
0
-10
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
34
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
-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
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
118
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
-5
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
82
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
12
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
-26
-1
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
14
0
0
0
48
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-59
0
0
0
-2
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
6
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-40
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
-16
0
0
0
-11
0
0
15
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-6
5
5
0
0
0
0
0
34
0
-1
-17
0
0
0
0
0
0
-17
2
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
11
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
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
5
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
64
0
0
0
0
0
0
14
0
0
0
0
0
0
54
0
0
0
0
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
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-36
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
-70
-5
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
31
0
0
0
0
0
0
-18
0
0
0
16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
-39
0
-4
0
-34
0
0
0
0
0
0
14
0
0
0
0
0
0
32
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
56
-2
0
0
43
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
37
0
0
0
-17
0
0
0
0
0
0
17
0
0
0
0
0
0
54
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
-19
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
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
-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
-14
0
0
0
20
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
-10
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
-23
0
0
0
0
0
0
-4
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
-1
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
23
0
0
0
46
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-8
0
0
0
-19
0
0
0
-2
0
0
-13
0
0
0
0
0
0
-38
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
5
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
20
23
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-13
-2
0
0
-13
0
0
0
0
3
0
23
0
0
0
0
0
0
10
0
5
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
40
14
-3
0
0
0
0
0
7
0
0
-16
0
0
0
0
0
0
-71
11
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
46
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
6
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
-5
0
0
0
0
0
0
-22
0
0
0
-18
0
0
0
0
0
0
18
0
0
0
0
0
0
37
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
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
41
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
4
9
0
0
0
0
0
0
0
8
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
-11
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
-25
0
0
0
-14
0
0
0
0
0
0
15
0
0
0
0
0
0
2
-4
6
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
3
-71
-12
-7
5
0
0
0
0
-7
1
6
14
0
0
0
0
0
0
-123
-12
0
0
26
0
0
0
0
-4
0
-8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-60
0
0
0
-9
0
0
0
0
0
0
35
0
0
0
0
0
0
-135
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
33
0
0
0
0
0
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-59
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
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
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
-47
0
0
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
-21
0
0
0
8
0
0
0
0
0
0
8
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
41
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
15
0
0
0
0
0
0
50
0
0
0
10
0
0
0
0
0
0
23
0
0
0
0
0
0
-17
-1
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
-5
19
0
0
0
0
0
0
9
0
0
0
15
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-26
0
0
0
-13
0
0
0
0
0
0
14
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-5
-10
0
0
0
0
0
0
10
5
0
-8
0
0
0
0
0
0
-23
0
0
0
28
0
0
0
0
0
0
-14
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
-22
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-19
0
0
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
-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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-14
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
-28
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
-17
0
0
0
0
0
0
-18
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-81
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
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
18
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
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
-13
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-27
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
-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
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
-26
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
0
7
0
0
0
-5
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
-5
0
0
0
0
0
0
0
0
0
0
-7
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
61
0
0
0
0
0
0
-2
0
0
0
-20
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
38
0
0
0
0
0
0
23
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
-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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
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
8
0
0
0
44
0
0
0
0
0
0
0
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
-1
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
-6
0
0
0
0
0
0
58
0
0
0
-27
0
0
0
0
0
0
0
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
-19
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
60
0
0
0
0
0
0
17
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
-54
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
0
0
0
0
0
34
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
-4
0
0
0
0
0
0
0
-14
9
0
14
0
0
0
0
-5
0
3
6
0
0
0
0
0
0
-14
19
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-4
0
0
0
0
0
0
-17
0
0
0
-11
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
-3
0
0
0
0
0
0
0
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
0
0
0
0
33
0
0
0
0
0
0
-1
0
0
0
-31
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
53
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
-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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
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
-14
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
-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
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
-6
0
0
0
0
0
0
48
0
0
0
3
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
-24
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
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
-9
0
0
0
35
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
3
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
16
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
-34
-4
0
0
-12
0
0
0
-3
0
0
7
0
0
0
0
0
0
-1
12
0
0
0
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
-14
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
-56
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
-27
0
0
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
45
0
0
0
-26
0
0
0
0
0
0
-18
0
0
0
0
0
0
-13
-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
-27
0
0
0
0
0
0
43
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
15
33
0
0
-8
0
0
0
0
8
0
25
0
0
0
0
0
0
-33
0
-2
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
-3
0
0
0
0
0
0
-50
0
0
0
29
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
50
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
24
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
-17
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
-11
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
10
0
0
0
0
0
0
9
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
7
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
36
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
112
12
0
0
-19
0
0
0
0
15
4
14
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
13
-5
0
0
14
0
0
0
8
39
0
0
0
0
0
0
0
3
0
-19
37
0
0
0
0
0
0
23
0
0
0
37
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
-8
9
0
0
15
0
0
0
0
5
0
-3
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
13
8
16
0
0
0
0
0
2
-30
2
0
0
0
0
0
0
-11
14
1
0
0
0
0
0
0
1
-53
5
0
0
2
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-87
0
0
0
14
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
29
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
-21
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
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
36
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
-22
0
0
0
0
0
0
-25
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
11
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
10
0
0
0
0
0
0
-7
8
0
0
35
0
0
0
0
0
0
-25
0
-2
0
0
0
0
74
46
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
5
43
0
-5
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-8
0
0
0
5
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
17
0
0
0
0
1
0
2
0
0
0
0
0
0
-12
-33
-7
0
0
0
0
0
0
4
-29
0
0
0
0
0
0
-4
10
-1
0
0
0
0
0
0
1
0
1
7
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-14
0
0
0
-18
0
0
0
0
0
0
-96
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
-90
0
0
0
0
0
0
7
0
0
0
-43
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
-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
-5
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
0
0
0
0
0
0
61
1
0
0
-37
0
0
0
0
0
0
17
0
0
0
0
0
0
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
83
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
-24
0
0
0
0
0
0
13
14
0
0
20
0
0
0
0
0
0
10
0
0
0
0
0
0
13
-22
0
0
0
0
0
0
0
-41
-8
0
0
0
0
0
0
0
-97
0
0
0
0
0
0
0
0
0
0
39
0
-4
0
0
0
0
-74
0
0
0
10
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
10
3
0
0
21
0
0
0
0
-15
0
-77
0
0
0
0
0
0
-36
1
-5
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-27
-26
0
0
-13
0
0
0
0
0
0
11
0
0
0
0
0
0
-23
8
0
0
-7
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
-2
0
0
18
0
0
0
-1
0
0
-75
0
0
0
0
0
14
4
3
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-33
0
-3
0
0
0
0
0
0
0
0
-18
0
6
0
0
0
0
-10
8
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-85
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
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
11
0
0
0
0
0
0
-32
0
0
0
-20
0
0
0
0
0
0
67
0
0
0
0
0
0
60
0
0
0
0
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
9
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
51
10
0
0
32
0
0
0
0
0
0
-56
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
3
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
-15
0
0
0
-19
0
0
0
0
0
0
-27
0
0
0
0
0
-16
3
0
14
0
0
0
0
0
3
-8
23
0
0
-1
0
0
0
-7
32
-5
-2
0
-11
0
0
0
-9
18
1
-15
0
0
0
0
0
3
5
5
2
0
9
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
6
0
0
14
0
0
0
0
54
-10
0
0
6
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
7
0
0
0
5
0
0
0
0
4
0
-107
0
0
0
0
0
0
-14
-2
0
0
0
0
0
0
0
-3
-2
0
0
-5
0
0
0
-5
2
62
-5
-2
0
0
0
0
-5
1
0
-3
0
0
0
0
0
0
-68
-55
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
0
0
0
9
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
-76
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-10
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
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
-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
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
0
0
0
0
0
-5
0
0
0
0
0
0
55
0
0
0
-69
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-65
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
78
-16
0
0
-9
0
0
0
0
7
0
8
0
0
0
0
0
0
-100
-26
0
0
0
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
9
0
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
61
0
0
0
33
0
0
0
0
0
0
-18
0
0
0
0
0
0
-38
0
-4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-58
-5
0
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
-25
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
-2
75
0
0
-1
0
0
0
0
0
0
-77
0
0
0
0
0
7
41
2
0
0
0
0
0
0
0
23
8
0
0
24
0
0
0
0
-14
31
0
0
0
0
0
0
0
0
3
-12
0
0
0
0
0
0
-57
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-29
0
0
0
0
0
0
0
0
0
0
-21
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
-49
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
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
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
5
0
0
0
0
0
0
5
0
0
0
19
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
28
0
0
0
0
0
0
0
0
0
0
-51
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
53
0
0
0
0
0
0
-102
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
-62
0
0
0
0
0
0
3
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
-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
-22
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
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
12
0
0
0
0
0
0
126
0
0
0
-52
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
6
0
0
9
0
0
0
0
0
0
27
0
0
0
0
0
0
41
0
0
0
0
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
-5
0
0
0
28
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-33
67
0
0
-19
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
-5
-7
0
0
0
0
0
0
0
0
0
-48
0
1
0
0
0
0
-60
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
24
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
-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
-10
0
0
0
0
0
0
54
16
0
0
-59
0
0
0
2
-1
5
40
0
0
0
0
0
4
34
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-69
2
0
0
0
0
0
0
0
7
5
41
0
0
0
0
0
0
90
0
0
0
74
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
10
0
0
-13
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
9
0
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
9
0
0
0
31
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
48
0
0
0
-26
0
0
0
0
0
0
-17
0
0
0
0
0
0
8
3
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-87
0
0
0
0
0
0
9
2
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
-11
0
0
0
-27
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
-6
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
21
0
0
0
11
0
0
0
0
0
3
-47
0
0
0
0
0
0
-106
4
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
3
4
20
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
19
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
25
-1
0
0
13
0
0
0
0
0
13
-92
0
0
0
0
0
0
-14
8
2
0
0
0
0
0
0
-15
-2
0
0
0
0
0
0
0
4
11
0
0
0
0
0
0
0
0
0
41
0
-2
0
0
0
0
28
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
45
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
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
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
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
-13
0
0
0
-16
0
0
0
0
0
0
-9
0
0
0
0
0
0
54
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
12
0
0
0
0
0
0
25
0
0
0
51
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
3
-32
0
0
0
0
0
0
48
1
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
-1
-40
-15
0
0
0
0
0
0
0
0
0
23
0
21
0
0
0
0
-61
0
0
0
19
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-26
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-16
-11
0
0
0
0
0
0
0
0
0
-57
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
-54
0
0
0
3
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
-14
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
-4
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
4
-14
0
0
-30
0
0
0
2
0
0
-80
0
0
0
0
0
0
-30
-1
1
0
0
0
0
0
0
12
14
-2
0
0
0
0
0
0
-5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
-17
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-79
0
0
0
-55
0
0
0
0
0
0
-66
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
-22
7
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
22
7
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
15
0
0
0
-53
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
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
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
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
-7
0
0
0
0
0
0
24
0
0
0
-7
0
0
0
0
0
0
-94
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
-24
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
-16
0
0
0
0
0
0
20
0
0
0
26
0
0
0
0
0
0
-22
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
10
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
7
0
0
0
-35
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
84
0
0
0
-14
0
0
0
0
0
0
-51
0
0
0
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
14
0
0
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
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
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
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
26
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
72
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
63
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
-25
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
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
-30
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
-21
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
-2
0
0
0
-2
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
8
0
0
0
0
0
0
0
0
0
3
0
0
0
0
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
0
0
3
0
0
0
24
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
60
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
51
0
0
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
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
50
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
-26
0
0
0
0
0
0
62
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
6
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
10
-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
19
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
-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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
-1
0
0
0
6
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
-4
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-7
0
0
0
140
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
62
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
-24
-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
5
0
0
0
1
0
0
0
0
0
0
54
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
27
0
0
0
0
0
0
0
0
0
21
0
-2
0
0
0
0
-1
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
-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
10
0
0
0
0
0
0
21
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
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
2
0
0
97
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
-6
0
0
0
0
0
0
-13
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
20
11
0
-7
0
0
0
0
5
0
0
32
0
0
0
0
0
0
-5
9
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
8
0
0
0
-19
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
90
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
0
-10
0
0
0
-10
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
1
2
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
8
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
62
0
0
0
-11
0
0
0
0
0
0
118
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
3
0
0
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
5
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
-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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
29
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
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
-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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
-22
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
27
0
0
0
14
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
4
0
0
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
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
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
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
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
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
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
3
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
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
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
20
0
0
0
2
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
-1
-1
0
0
0
0
0
0
0
0
0
56
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
0
0
0
0
0
0
0
0
0
0
0
-16
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
0
0
0
0
0
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
0
0
0
0
14
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
-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
12
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-23
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
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
4
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
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
21
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
110
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
-12
0
0
0
0
0
0
0
0
0
0
89
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
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
90
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
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
-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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
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
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
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
-2
0
0
0
54
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
-5
0
0
0
0
0
0
0
0
0
0
88
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
0
0
0
0
16
0
0
0
0
0
0
-33
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
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
148
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
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
65
0
0
0
0
0
0
0
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
53
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
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
12
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
9
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
69
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
-18
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
36
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
-8
0
0
0
0
0
0
0
0
0
0
120
0
0
0
0
0
0
2
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
-27
0
0
0
0
0
0
108
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
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
17
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
-69
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
-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
-47
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-10
0
0
0
0
0
0
0
0
0
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
-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
-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
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
-40
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
0
0
-42
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
-1
0
0
0
0
0
0
0
0
0
0
-49
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
-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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
-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
-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
-22
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
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
-80
0
0
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
-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
40
0
0
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
20
0
0
0
-70
0
0
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
-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
3
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
-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
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
77
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
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
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
-19
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
-18
-1
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
17
0
0
0
12
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
39
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-48
0
0
0
66
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
38
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
20
0
0
0
0
0
0
-48
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
-8
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
30
0
0
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
29
0
0
0
0
0
-4
-25
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
-2
0
0
0
0
0
0
0
0
0
15
0
-1
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
14
0
0
0
0
0
0
0
0
0
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
-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
-11
0
0
0
0
0
0
-9
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
0
0
0
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
-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
0
0
1
-22
0
0
0
0
0
0
0
-7
-27
0
0
0
0
0
0
1
0
-4
-22
0
0
0
0
0
0
13
-27
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
-7
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
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
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
-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
-24
0
0
0
-25
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
-7
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-33
0
0
0
25
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
8
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
1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
-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
36
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
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
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-77
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
0
0
-15
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
-3
0
0
-38
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
-36
-3
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
-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
-10
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
14
0
0
0
-11
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
-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
8
0
0
0
-3
0
0
0
0
0
0
-31
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
-5
0
0
0
0
0
0
1
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
-45
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
11
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
13
3
0
0
6
0
0
0
0
0
7
-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
-7
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-43
0
0
0
17
0
0
0
0
0
0
33
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
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
-8
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-5
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
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
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
-18
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
58
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-10
0
0
0
0
0
0
83
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
32
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
9
0
0
0
-40
0
0
0
1
0
0
-34
0
0
0
0
0
0
-87
0
0
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
26
0
0
0
0
0
0
43
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
13
0
0
0
0
0
0
106
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
-20
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
-15
0
0
0
0
0
0
-24
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-5
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
0
0
0
0
0
0
0
0
0
13
0
0
0
-82
0
0
0
0
0
0
5
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
18
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
-7
0
0
0
0
0
0
-11
0
0
0
1
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
33
0
0
0
0
0
0
0
0
0
0
-54
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
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
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
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
-38
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
0
0
0
0
0
0
0
0
0
0
0
52
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
16
0
0
0
0
0
0
16
0
0
0
-6
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
-14
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-45
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
4
0
0
0
-61
0
0
0
0
0
0
4
0
0
0
0
0
0
-58
0
5
0
0
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
38
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
31
-2
0
0
-56
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
10
-1
-10
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
51
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
-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
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
16
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
-18
0
0
0
0
0
0
6
0
0
0
-20
0
0
0
0
0
0
-42
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
-25
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
-42
0
0
0
0
0
0
33
0
0
0
-20
0
0
0
0
0
0
-55
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
-1
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-69
0
0
0
-47
0
0
0
0
0
0
-4
0
0
0
0
0
0
78
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
33
0
0
0
0
0
0
1
2
7
8
0
0
0
0
0
0
-5
-17
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
-8
0
0
0
-43
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
-11
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
-61
0
0
0
0
0
0
55
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
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
21
0
0
0
-14
0
0
0
0
0
0
-85
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
-7
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
-35
0
0
0
0
0
0
7
0
0
0
-25
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
57
1
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-47
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
-53
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
10
0
0
0
51
0
0
0
0
0
0
23
0
0
0
0
0
0
52
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
55
0
0
0
0
0
0
-19
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
6
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-31
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
-51
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
-23
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
46
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
47
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
2
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
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
0
0
-53
0
0
0
0
0
0
22
0
0
0
18
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
28
-4
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
-31
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-25
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
95
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
-5
0
0
0
0
0
0
0
0
0
0
53
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
51
0
0
0
0
0
0
-34
0
0
0
-24
0
0
0
0
0
0
-30
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-4
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
3
0
0
0
0
0
0
0
0
0
0
-23
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
10
0
0
0
-16
0
0
0
0
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-10
0
0
0
-12
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
43
0
0
0
-71
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
-7
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
2
2
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
-13
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
-1
0
0
0
0
0
0
0
0
0
0
-98
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
72
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
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
17
0
0
0
0
0
0
31
0
0
0
12
0
0
0
0
0
0
-53
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-28
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-14
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
18
0
0
0
-40
0
0
0
0
0
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
-41
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
34
0
0
0
-55
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
31
0
0
0
0
0
0
-55
0
0
0
0
0
0
11
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
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-13
0
0
0
0
0
0
0
0
0
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
-52
0
0
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
18
0
0
0
-72
0
0
0
0
0
0
-62
0
0
0
0
0
0
-22
0
0
0
0
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
2
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-44
0
0
0
-5
0
0
0
0
0
0
18
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
-14
0
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
-24
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
21
0
0
0
-23
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
14
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
29
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
-38
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
-15
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
-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
50
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
31
0
0
0
0
0
0
57
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
-4
0
0
0
19
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
11
0
0
0
0
0
0
0
0
0
0
3
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
12
0
0
0
0
0
0
43
0
0
0
50
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
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
-25
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
-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
1
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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
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
-42
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
18
0
0
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
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
8
0
0
0
0
0
0
0
0
0
0
-111
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
-16
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
-1
55
0
0
0
0
0
0
-17
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-7
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-11
14
0
0
-3
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
8
0
0
4
0
0
0
0
0
2
-8
0
3
0
0
0
0
62
0
0
0
0
0
0
0
0
0
17
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
-21
0
0
0
2
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
-49
6
0
0
14
0
0
0
0
1
0
23
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-6
20
20
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
1
-45
0
0
0
0
0
0
-2
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-72
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
8
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
56
0
0
0
0
0
0
-10
0
0
0
30
0
0
0
0
0
0
68
0
0
0
0
0
0
60
0
0
0
0
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
-14
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
-61
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
24
35
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
12
0
0
0
28
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
60
5
45
0
26
0
0
0
-10
3
8
0
0
-6
0
0
0
7
-16
0
0
0
0
0
0
0
-13
17
-13
-11
0
0
0
0
0
-1
-6
46
0
0
-1
0
0
0
19
0
8
-11
0
-2
0
0
0
0
-6
-17
0
7
-7
0
0
0
0
17
0
-65
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-42
4
89
0
6
0
0
0
-1
5
-13
-1
0
8
0
0
0
-1
19
2
0
0
0
0
0
1
0
-3
4
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
-7
0
0
-7
0
0
0
0
0
0
1
-5
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
8
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
-33
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-44
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
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
10
0
0
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
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
15
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
71
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
-23
0
0
0
0
0
0
-95
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
-36
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
26
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-27
4
0
0
47
0
0
0
0
-5
-71
-5
0
-2
0
0
0
-11
47
0
0
0
0
0
0
0
0
-22
5
21
0
0
0
0
0
2
-42
0
0
0
0
0
0
0
43
0
0
23
1
0
0
0
0
0
-47
46
14
0
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-34
-3
0
0
14
0
0
0
1
0
0
-48
0
0
0
0
0
0
-112
-13
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
37
-3
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
5
0
0
0
0
0
0
0
0
0
0
-5
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
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
52
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
-46
0
0
0
0
0
0
17
0
0
0
31
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
31
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-2
0
0
0
67
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
48
0
0
0
19
0
0
0
0
2
25
15
0
0
0
0
0
20
22
22
0
0
0
0
0
-3
4
-16
0
0
0
0
0
0
0
2
-56
5
9
0
0
0
0
0
22
2
0
24
0
0
0
0
0
0
18
27
0
0
29
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-14
5
0
0
8
0
0
0
0
-5
-7
16
0
4
0
0
0
-5
-41
25
0
0
-5
0
0
0
0
-44
5
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
-3
-2
-6
13
0
0
0
0
0
0
28
-4
0
8
7
0
0
0
0
0
0
-66
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
10
0
0
0
0
0
0
-71
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
16
0
0
0
-19
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
38
0
0
0
3
0
0
0
0
0
0
-48
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
2
0
0
0
0
0
0
-65
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
58
-4
0
0
36
0
0
0
0
0
9
51
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
2
22
11
0
0
6
0
0
0
-9
47
0
0
0
0
0
0
0
0
-4
6
5
0
0
0
0
0
0
-10
34
0
0
-6
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-28
0
0
0
14
0
0
0
0
0
6
13
0
0
0
0
0
2
-1
1
0
0
0
0
0
0
14
1
24
0
0
0
0
0
0
4
-33
-7
0
0
0
0
0
0
-4
-18
0
7
0
4
0
0
0
0
-15
8
0
0
-6
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
11
-7
0
0
-8
0
0
0
0
0
1
-1
0
0
0
0
0
9
-57
5
0
0
0
0
0
0
0
16
51
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
5
0
34
0
0
0
0
0
0
-41
-8
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
-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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
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
-51
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
24
0
0
0
41
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
21
0
0
0
0
0
0
81
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
15
0
0
0
27
0
0
0
0
0
0
-23
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-4
0
-17
0
0
0
0
0
0
-9
0
0
0
-6
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-34
0
0
0
27
0
0
0
0
1
-33
14
0
0
0
0
0
10
-13
15
0
0
0
0
0
0
0
-36
46
-3
0
0
0
0
0
-5
-34
-4
19
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
-1
10
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
4
0
0
0
-1
7
0
-45
0
0
0
0
0
0
-26
9
0
0
6
0
0
0
0
5
25
38
0
0
0
0
0
2
-82
5
0
5
0
0
0
0
45
1
3
16
0
5
0
0
0
0
-20
47
0
0
-7
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-29
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-70
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
-26
0
0
0
0
0
0
4
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
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
-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
-34
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
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
-12
0
0
0
0
0
0
-23
0
0
0
-11
0
0
0
0
0
0
43
0
0
0
0
0
0
33
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
-91
0
0
0
0
0
0
43
0
0
0
31
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-21
0
0
0
9
0
0
0
0
0
0
-22
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
-59
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-12
3
0
0
22
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-5
0
0
0
20
0
0
0
0
0
0
17
0
0
0
0
0
0
-13
10
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
2
42
14
0
0
0
0
0
0
1
0
0
-16
0
-4
0
0
0
0
-53
-7
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
-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
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
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
-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
22
0
0
0
-6
0
0
0
0
0
0
106
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
41
0
0
0
0
0
0
-8
0
0
0
-24
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
-19
0
0
0
0
0
0
-9
0
0
0
0
0
-2
18
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
20
0
0
0
0
0
0
118
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-18
0
0
0
13
0
0
0
0
0
1
4
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
-29
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-69
0
0
0
37
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
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
24
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
-105
0
0
0
26
0
0
0
0
-3
0
5
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-24
0
0
0
21
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
-1
5
-5
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
29
1
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
-3
0
0
0
38
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
7
-1
0
0
-5
0
0
0
0
0
0
44
0
0
0
0
0
0
71
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
20
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
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
47
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
5
0
0
0
0
0
0
-36
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
3
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-4
0
0
0
-14
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-5
0
0
0
12
0
0
0
0
0
5
-6
0
0
0
0
0
7
-7
0
0
0
0
0
0
0
0
7
-9
11
4
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
20
0
0
0
14
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-40
16
0
0
12
0
0
0
2
-15
-1
25
0
0
0
0
0
4
-23
3
0
0
0
0
0
0
1
-11
0
14
0
0
0
0
0
0
37
0
-1
0
6
0
0
0
0
-16
0
-8
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
2
0
0
0
0
0
0
0
0
0
0
44
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
-29
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
20
0
0
0
45
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
44
0
0
0
0
0
0
0
0
0
0
13
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
38
0
0
0
0
0
0
-6
16
0
0
29
0
0
0
0
0
-1
1
0
0
0
0
0
-7
-14
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-3
-14
-4
4
0
0
0
0
0
3
0
0
40
0
0
0
0
0
0
-22
5
0
0
5
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
4
0
-39
0
0
0
0
0
0
-14
1
14
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
34
0
16
0
0
0
0
0
0
20
0
45
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
-28
0
0
0
0
0
0
-50
0
0
0
-24
0
0
0
0
0
0
40
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
-6
0
7
0
0
0
0
0
0
-60
1
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-11
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
-17
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
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
4
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
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
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
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
-56
0
0
0
0
0
0
37
16
0
0
12
0
0
0
0
0
0
28
0
1
0
0
0
3
-46
0
0
0
0
0
0
0
0
6
5
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
-18
-4
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
-5
20
-33
0
0
30
0
0
0
0
4
5
5
0
0
0
0
0
-18
-5
-14
6
0
0
0
0
0
-5
22
-18
9
0
0
0
0
0
14
-1
24
0
0
0
0
0
0
9
66
0
26
0
0
0
0
0
0
34
0
-25
0
17
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
-14
0
0
0
0
0
0
-11
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
10
-5
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
20
0
12
0
0
0
0
0
0
53
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
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
-83
0
0
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
-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
15
0
0
0
0
0
0
0
0
0
0
-88
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
-7
0
0
0
0
0
0
-46
0
0
0
28
0
0
0
0
0
0
34
0
0
0
0
0
0
-40
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
23
0
0
0
0
0
0
18
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
-3
3
0
0
-4
0
0
0
-3
-3
0
9
0
0
0
0
0
-2
-17
3
0
0
0
0
0
0
0
6
9
31
4
0
0
0
0
0
72
-10
-6
0
0
0
0
0
-2
0
-5
0
0
0
0
0
0
0
2
1
0
0
-8
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
5
0
0
0
11
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-16
8
0
2
0
0
0
0
0
-25
8
0
0
0
0
0
0
11
0
0
-11
0
0
0
0
0
0
8
-2
0
0
-32
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
14
0
0
0
31
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
11
0
0
0
0
0
0
-7
0
0
0
6
0
0
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
1
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-8
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
101
0
0
0
0
0
0
17
0
0
0
61
0
0
0
0
0
0
68
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
71
39
0
0
0
0
0
0
0
0
2
0
-38
0
0
0
0
0
0
2
0
0
0
-35
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-44
-1
0
0
-11
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
3
0
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-15
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
5
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
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
5
0
0
0
-5
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
1
0
0
0
0
0
0
-27
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
-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
-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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
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
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
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
33
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
-2
0
0
0
0
0
0
0
0
0
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
-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
-8
0
0
0
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
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
44
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
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
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
40
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
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
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
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
-11
0
0
0
0
0
0
0
0
0
0
99
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
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
-2
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
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
-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
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
-43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
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
4
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
18
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
68
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
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
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
66
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
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
-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
-13
0
0
0
0
0
0
0
0
0
0
0
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
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
-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
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
31
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
-1
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
5
0
0
0
0
0
0
0
0
0
0
65
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
-1
0
0
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
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
0
0
23
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
56
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
-25
0
0
0
61
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
-24
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
15
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
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
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
47
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
65
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
90
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
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
37
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
23
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
-43
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
-45
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
-30
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
-26
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
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
0
0
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
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
9
0
0
0
0
0
0
0
0
0
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
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
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
-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
36
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
37
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
58
0
0
0
0
0
0
0
0
0
0
17
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
-27
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
-17
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
-43
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
-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
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
-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
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
-22
0
0
0
0
0
0
0
0
0
0
-13
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
-62
0
0
0
0
0
0
-35
-13
1
0
12
0
0
0
6
0
1
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
43
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-39
0
0
0
-39
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
10
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
-20
0
0
0
0
0
0
-8
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
-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
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
28
0
0
0
0
0
0
0
0
0
0
97
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
15
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
13
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-78
0
0
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
-46
0
0
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
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
-63
0
0
0
7
0
0
0
0
0
2
-38
0
0
0
0
0
0
15
11
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
20
0
0
0
0
0
0
-55
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
8
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
-21
0
0
0
0
0
0
70
0
0
0
24
0
0
0
0
0
0
17
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
97
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
-9
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
19
0
0
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
-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
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
0
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
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
44
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
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
6
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
-52
0
0
0
0
0
0
-11
0
0
0
86
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
-20
0
0
0
0
0
0
49
0
0
0
0
0
0
46
0
0
0
0
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
47
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-11
0
0
0
26
0
0
0
0
0
0
31
0
0
0
0
0
0
32
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
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
36
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-13
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
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
5
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
27
0
0
0
0
0
0
-9
0
0
0
22
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
-1
0
0
0
0
0
0
0
0
0
0
6
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
-55
0
0
0
0
0
0
-15
0
0
0
-41
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
-6
0
0
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
-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
-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
-6
0
0
0
0
0
0
-6
0
0
0
-4
0
0
0
0
0
0
44
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
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
-3
0
0
0
-28
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
-43
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
-15
0
0
0
0
0
0
26
0
0
0
-1
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
67
0
0
0
0
0
0
0
0
0
0
-4
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
-54
0
0
0
0
0
0
-70
0
0
0
-27
0
0
0
0
0
0
-21
0
0
0
0
0
0
-39
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
2
-40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
-8
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
-1
0
0
0
0
0
0
0
0
0
0
36
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
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
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
-57
0
0
0
-1
0
0
0
0
0
0
0
0
0
23
-9
0
0
0
0
0
0
0
-14
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
-54
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
18
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
-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
1
0
0
0
-6
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
-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
0
0
0
0
-3
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
14
0
0
0
0
0
0
5
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
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
7
0
0
0
10
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
3
0
0
0
0
0
0
0
0
0
0
71
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
-5
0
0
0
2
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
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
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
-17
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
-54
0
0
0
-49
0
0
0
0
0
0
83
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
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
-35
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
30
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
-41
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-29
0
0
0
0
0
0
0
0
0
0
51
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
48
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
-27
0
0
0
0
0
0
3
0
0
0
-21
0
0
0
0
0
0
-32
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
0
0
0
0
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
25
0
0
0
-15
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
39
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
-14
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-59
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
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
-9
0
0
0
0
0
0
17
0
0
0
0
0
0
-9
1
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
1
0
0
0
0
0
0
-54
0
0
0
16
0
0
0
0
0
0
-28
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
0
0
0
0
0
0
0
5
0
0
0
0
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
48
0
0
0
-24
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
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
-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
23
0
0
0
-16
0
0
0
0
0
0
66
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
-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
-32
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
11
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-34
-3
0
0
-14
0
0
0
0
-4
4
4
0
-4
0
0
0
0
42
-13
15
0
0
0
0
0
3
16
0
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
-3
0
-6
0
0
0
0
0
0
-11
0
0
0
-2
0
0
0
0
0
0
-43
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
-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
22
0
0
0
0
0
0
0
0
0
0
-25
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
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
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
-82
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
1
0
0
0
0
0
0
34
0
0
0
9
0
0
0
0
0
0
23
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
30
-7
0
0
2
0
0
0
0
-17
0
0
0
0
0
0
0
5
0
0
3
0
0
0
0
0
0
28
0
0
0
21
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-80
1
0
0
27
0
0
0
8
0
16
24
0
0
0
0
0
0
-24
16
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
-13
0
0
0
0
0
0
-17
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
12
0
0
0
17
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
-13
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
14
0
0
0
12
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
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
-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
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
29
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-90
0
0
0
1
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
18
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-51
0
0
0
15
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
15
0
0
0
15
0
0
0
0
0
0
5
0
24
0
0
0
0
-37
19
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
6
60
0
0
0
0
0
0
0
0
14
0
20
0
0
0
0
0
0
82
1
0
0
11
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-28
0
0
0
-2
0
0
0
0
0
0
-39
0
0
0
0
0
0
-41
3
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
-58
0
0
0
0
0
0
-65
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
-13
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
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
4
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
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
15
0
0
0
33
0
0
0
0
0
0
50
0
0
0
0
0
0
11
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
35
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
43
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
0
5
0
5
0
0
0
0
0
0
-7
16
0
0
18
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-31
0
0
0
13
0
0
0
-6
0
21
21
0
0
0
0
0
0
-52
8
0
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
39
0
0
0
0
0
0
-6
-3
0
0
21
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-85
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-27
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
14
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
15
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
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
-38
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
-5
0
0
0
0
0
0
-6
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
5
0
0
0
0
0
0
0
0
0
0
-10
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
7
0
0
0
0
0
0
55
0
0
0
13
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
-4
0
0
0
0
0
0
0
-2
0
0
-22
0
0
0
0
0
0
-28
0
0
0
29
0
0
0
0
0
0
39
0
0
0
0
0
-1
0
1
-26
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
3
-32
-4
-1
0
0
0
0
0
0
73
18
0
0
0
0
0
0
4
5
-3
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
0
-23
7
0
0
6
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-36
0
0
0
18
0
0
0
0
0
0
11
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
-22
0
0
0
0
0
0
-14
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
5
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
63
0
0
0
0
0
0
0
0
0
0
14
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
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
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-42
0
0
0
-5
0
0
0
0
0
0
42
0
0
0
0
0
0
-47
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
-42
0
0
0
0
0
0
-56
0
0
0
23
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
30
0
0
0
25
0
0
0
0
0
0
44
0
0
0
0
0
0
-32
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
-24
0
0
0
0
0
0
7
0
0
0
-12
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
33
0
0
0
0
0
0
14
0
0
0
0
0
0
55
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
-5
0
0
14
0
0
0
0
0
0
-9
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
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
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
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
23
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-6
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
11
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
23
0
0
0
0
0
0
68
-13
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
14
0
0
0
0
0
0
13
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
-5
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
-9
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
-3
0
0
0
33
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
-24
0
0
0
0
0
0
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-28
0
0
0
0
0
0
0
0
0
0
104
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
-3
0
0
0
0
0
0
13
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
25
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-26
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
10
-19
0
0
-13
0
0
0
-15
0
4
21
0
0
0
0
0
0
-5
24
5
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
13
17
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
18
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
-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
-20
0
0
0
0
0
0
0
0
0
0
-9
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
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
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
8
6
0
0
-3
0
0
0
0
0
0
17
0
0
0
0
0
0
33
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
35
0
0
0
0
0
0
-17
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-29
58
0
0
3
0
0
0
0
0
0
20
0
0
0
0
0
0
14
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
5
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
36
0
0
0
0
0
0
-114
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
80
0
0
0
74
0
0
0
0
0
14
21
0
0
0
0
0
0
-37
0
0
0
0
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
12
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
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
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
27
0
0
0
0
0
0
0
0
0
0
0
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
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
65
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
-19
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
-12
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-43
-14
-1
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
10
-12
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
29
0
0
0
0
0
0
68
0
0
0
26
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
-36
0
0
0
0
0
0
-22
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-51
0
3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-13
-2
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
14
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
-22
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
-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
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
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
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
0
0
0
0
0
0
0
20
0
0
0
44
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
129
0
0
0
0
0
0
23
0
0
0
-5
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
4
0
0
0
0
0
0
1
0
0
0
0
0
0
44
7
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
36
0
0
0
25
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-17
0
0
0
-11
0
0
0
-1
0
-3
-21
0
0
0
0
0
0
59
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
5
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
5
-1
0
0
16
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-17
0
0
0
-15
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
14
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-42
0
0
0
13
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
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
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
71
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
38
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
5
0
0
0
0
0
0
0
0
0
0
100
0
0
0
0
0
0
-3
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-23
0
0
0
46
0
0
0
0
0
0
7
0
0
0
0
0
0
-28
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
-51
0
0
0
0
0
0
58
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-18
11
0
0
29
0
0
0
-3
0
0
13
0
0
0
0
0
0
-14
28
0
0
0
0
0
0
0
14
1
0
0
0
0
0
0
0
-16
0
15
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
23
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
-8
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
-2
0
0
0
0
0
0
0
0
0
0
-31
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
12
0
0
0
0
0
0
0
0
0
0
11
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
-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
-2
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
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
-23
0
0
0
0
0
0
66
0
0
0
-46
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
-39
0
0
0
0
0
0
18
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-22
0
0
0
23
0
0
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
-37
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-30
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
19
0
0
0
-28
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
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
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
21
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
106
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
-36
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
-6
0
0
0
0
0
0
0
-4
0
0
-40
0
0
0
0
0
0
29
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
45
0
0
0
5
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
63
0
0
0
0
0
0
0
5
0
0
62
0
0
0
0
0
0
10
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
-58
0
0
0
0
0
0
21
0
0
0
0
0
0
-6
-24
0
6
0
0
0
0
0
26
1
0
-1
0
0
0
0
0
14
3
0
0
0
0
0
0
0
0
2
46
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
8
0
0
0
37
0
0
0
0
0
0
39
0
0
0
0
0
0
30
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
16
0
0
0
0
0
0
14
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
32
0
0
0
0
0
0
-73
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
23
37
0
0
0
0
0
0
9
0
-2
-94
0
0
0
0
0
0
96
-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
24
-41
0
22
0
-28
0
0
0
8
-3
-3
0
0
0
0
0
0
0
-29
-3
0
-30
0
0
0
0
-18
-28
4
13
0
-14
0
0
0
11
-52
-11
-5
0
0
0
0
0
-33
0
-5
-5
0
-29
0
0
0
2
4
-5
0
0
-15
0
0
0
0
-2
0
12
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
11
0
0
0
5
0
0
0
-23
5
39
52
0
2
0
0
0
0
-5
0
33
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-5
-14
9
-7
0
0
0
0
0
-2
-3
-8
-33
0
0
0
0
0
0
91
15
0
0
14
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
5
0
0
0
0
-6
0
-54
0
0
0
0
0
0
20
-17
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-33
32
0
0
0
0
0
0
25
0
-1
35
0
0
0
0
0
0
40
0
0
0
-67
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
96
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
100
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
6
0
0
0
0
0
0
1
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
5
17
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-16
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
-64
0
0
0
-66
0
0
0
0
0
0
-16
0
0
0
0
0
-1
-84
0
0
0
12
0
0
0
0
-3
-5
-13
5
5
0
0
0
0
-42
-10
19
0
-1
0
0
0
0
11
14
68
0
17
0
0
0
0
-29
0
0
0
45
0
0
0
0
1
0
71
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
106
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
3
-35
0
0
0
3
0
0
0
-14
14
17
0
5
42
0
0
0
0
-21
16
1
2
0
0
0
0
-68
64
19
-32
0
0
0
0
0
0
33
-40
0
0
-51
0
0
0
0
0
0
55
0
0
0
0
0
-5
0
0
12
0
0
0
0
0
-21
98
5
2
0
-29
0
0
0
-25
5
0
-32
0
0
0
0
0
0
-31
-15
36
0
0
0
0
0
32
103
-9
-5
0
35
0
0
0
-5
90
52
0
0
0
0
0
0
-3
60
-4
46
0
-28
0
0
0
-13
-53
-19
-4
2
-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
14
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
-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
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
20
0
0
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
-32
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
95
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
-6
2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
29
0
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
-34
0
0
0
-17
0
0
0
0
-1
0
81
0
0
0
0
0
-6
-14
0
0
0
47
0
0
0
-1
14
0
0
21
0
0
0
0
1
-72
-9
11
4
0
0
0
0
-14
-18
19
21
0
0
0
0
0
-3
-4
-8
-1
0
34
0
0
0
0
0
0
-5
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
-48
0
0
0
-13
0
0
0
0
0
3
-53
0
0
0
0
0
0
52
0
0
1
0
0
0
0
0
0
-21
0
0
-21
0
0
0
12
-53
10
0
0
0
0
0
0
18
-49
0
95
0
6
0
0
0
0
-30
-77
-1
32
43
0
0
0
-23
0
0
5
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-17
5
0
0
14
0
0
0
0
0
0
-36
0
0
0
0
0
0
4
0
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
29
34
0
15
0
0
0
0
-4
5
-16
12
7
0
0
0
0
5
65
2
0
0
28
0
0
0
0
-5
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
-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
29
0
0
0
0
0
0
0
0
0
0
-61
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
0
0
0
0
0
0
-151
0
0
0
0
0
0
2
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
-31
0
0
25
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
-29
0
0
0
0
0
0
89
2
0
0
-23
0
0
0
-14
0
0
-29
0
5
0
0
0
-1
-27
-14
0
4
0
0
0
0
0
25
50
0
0
0
0
0
0
-39
-41
0
0
-26
0
0
0
0
16
-19
14
39
0
0
0
0
0
0
57
6
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
85
-5
0
0
47
0
0
0
1
-16
0
-38
0
0
0
0
0
30
-33
-24
0
0
0
0
0
0
-12
-47
11
-6
-5
-13
0
0
0
-2
21
-8
0
-3
14
0
0
0
-12
11
0
12
0
9
0
0
0
-5
-65
75
0
0
31
0
0
0
-4
0
16
-5
0
0
0
0
0
0
0
-5
22
0
0
0
0
0
13
22
0
0
0
-21
0
0
0
-11
-7
-6
23
0
0
0
0
0
0
-3
-50
2
0
0
0
0
0
-22
-27
17
-14
-23
-16
0
0
0
2
30
35
-64
0
0
0
0
0
-48
-11
-2
19
0
31
0
0
0
4
86
-49
0
33
49
0
0
0
0
17
21
-22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
-7
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
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
61
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
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
33
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
-90
0
0
0
0
0
0
39
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
-16
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
-38
0
0
0
0
0
0
0
11
0
0
32
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
-6
0
0
0
0
0
0
18
0
0
0
44
0
0
0
0
0
0
33
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
5
0
4
0
0
0
0
4
6
0
13
0
0
0
0
0
0
50
37
0
0
42
0
0
0
0
0
0
-1
0
0
0
0
0
-2
-14
0
13
0
0
0
0
0
0
-27
-5
0
3
52
0
0
2
46
-3
13
-1
0
0
0
0
21
8
65
13
-1
0
1
0
0
0
-26
15
22
0
-10
-9
0
0
0
-26
33
-48
-15
42
0
0
0
0
-14
62
14
0
0
-26
0
0
0
0
63
-8
33
9
4
0
0
0
-23
0
0
-49
0
0
0
0
0
0
0
0
3
0
0
0
0
0
1
14
0
0
0
15
0
0
0
27
5
-8
19
0
0
0
0
2
-48
43
-62
3
0
3
0
0
43
32
-29
56
-1
24
0
0
0
0
-48
-41
28
-34
-20
0
0
0
0
7
20
31
37
0
73
0
0
0
62
-26
-60
0
39
7
0
0
0
-35
-14
6
-5
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
-1
100
0
0
0
9
0
0
0
0
0
1
55
0
0
0
0
0
0
-37
0
0
-3
0
0
0
0
0
32
35
0
-1
-5
0
0
0
-17
-19
-22
15
29
0
0
0
0
-8
7
-11
19
0
0
0
0
0
0
-84
-12
0
15
39
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
6
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
4
0
0
0
-29
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
-10
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
6
0
0
0
0
0
0
-4
0
0
0
38
0
0
0
0
0
0
-31
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
16
3
15
0
-13
0
0
0
0
9
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-50
0
0
0
-59
0
0
0
0
0
0
87
0
0
0
0
0
0
-66
3
0
0
0
0
0
0
0
-72
-16
0
0
8
0
0
0
10
-62
6
4
0
0
0
0
0
-5
-4
10
79
0
-16
0
0
0
0
47
-14
0
0
-14
0
0
0
0
-5
0
-36
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
-10
11
-4
0
3
-31
0
0
0
1
0
0
0
0
0
0
0
0
12
3
-23
0
3
16
0
0
-1
8
51
34
0
0
-5
0
0
0
-45
3
47
-28
12
2
0
0
0
-1
54
-46
-62
-5
30
0
0
0
-24
-95
51
-2
0
8
0
0
0
2
-22
-10
30
0
0
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
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
0
0
0
0
0
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
-5
0
0
0
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
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
109
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
-32
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
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
3
0
0
0
0
0
0
0
0
0
0
-5
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
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
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
-2
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
6
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
21
-2
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
-6
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
53
0
0
0
-17
0
0
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
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
29
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
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
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
33
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
-17
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
32
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
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
57
0
0
0
-45
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
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
30
0
0
0
49
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
34
0
0
0
0
0
0
69
0
0
0
0
0
0
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
5
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
33
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
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
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
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
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
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
19
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
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
-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
29
0
0
0
0
0
0
-46
0
0
0
17
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
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
0
0
0
6
0
0
0
0
0
0
5
4
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
-23
0
0
0
75
0
0
0
0
0
0
22
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-11
0
0
0
-5
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
29
34
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
-4
0
0
0
82
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
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
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
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
-10
0
0
0
0
0
0
-18
0
0
0
-41
0
0
0
0
0
0
-6
0
0
0
0
0
0
29
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
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
8
0
0
0
0
0
0
-15
0
0
0
22
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
-34
0
0
0
0
0
0
0
-1
0
0
-17
0
4
0
0
0
0
46
0
0
0
-8
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
9
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-5
0
0
0
21
0
0
0
0
-51
53
0
0
0
0
0
0
-4
15
0
-39
0
0
0
0
0
0
43
25
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-29
0
0
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
-47
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
2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
61
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
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
59
28
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
-13
-33
0
0
0
0
0
0
13
-5
0
0
0
0
0
0
0
5
-8
16
0
0
52
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-44
0
0
0
98
0
0
0
0
0
0
48
0
0
0
0
0
35
47
0
0
0
0
0
0
0
0
7
0
0
0
2
0
0
0
-19
11
37
0
0
0
0
0
0
-31
32
-26
-63
0
-1
0
0
0
0
25
32
0
0
-32
0
0
0
0
1
0
-3
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
8
0
0
0
0
0
0
10
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
0
0
-12
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
30
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
-5
0
0
0
0
0
0
-21
0
0
0
-42
0
0
0
0
0
0
53
0
0
0
0
0
0
-35
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
0
0
75
0
0
0
0
0
0
-1
0
0
0
-25
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-14
0
0
0
-3
0
0
0
0
0
0
28
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
14
9
0
0
0
0
0
0
0
4
10
6
0
0
0
0
0
0
-78
4
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
-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
0
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
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
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
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
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
-22
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
65
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
-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
-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
-5
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
60
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
-20
0
0
0
0
0
0
27
-11
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
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
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
56
0
0
0
0
0
0
-3
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
0
0
-3
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
-75
0
0
0
0
0
0
-18
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
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
0
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
-1
0
0
0
-23
0
0
0
0
0
0
36
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
33
0
0
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
1
0
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
0
-13
0
0
0
0
2
0
33
-68
0
0
0
0
0
0
34
-1
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
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
82
0
0
0
0
0
0
-5
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
-44
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
-9
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
29
0
0
0
0
0
0
0
0
0
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
-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
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
-7
0
0
0
0
0
0
0
0
0
0
-110
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
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
-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
5
0
0
0
0
0
0
-52
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
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
-9
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
0
0
0
-51
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
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
-3
0
0
0
27
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
-71
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
-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
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
0
0
0
0
0
0
0
0
0
0
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
-49
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
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
-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
-45
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
-2
0
0
0
0
0
0
0
0
0
0
-3
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
62
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
-19
0
0
0
-6
0
0
0
0
0
0
82
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
44
0
0
0
16
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
-62
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-23
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
25
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
27
0
0
0
79
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
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
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
0
0
0
0
0
0
0
0
0
0
-19
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
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
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
38
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
22
0
0
0
-65
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
-31
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
-71
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
-14
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
37
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
-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
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
-25
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
57
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
14
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
0
0
0
0
0
0
0
0
0
0
0
43
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
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
-5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
-128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
49
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
44
0
0
0
0
0
0
61
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
-11
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
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
25
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
-53
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
94
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
-19
0
0
0
0
0
0
0
0
0
0
19
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
-38
0
0
0
0
0
0
16
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
47
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
21
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
-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
7
0
0
0
-26
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
0
0
0
0
12
0
0
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
9
0
0
0
0
0
0
0
0
0
0
56
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
17
0
0
0
0
0
0
-17
0
0
0
-60
0
0
0
0
0
0
24
0
0
0
0
0
0
29
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
33
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
-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
22
0
0
0
0
0
0
-2
0
0
0
-72
0
0
0
0
0
0
59
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
6
0
0
0
89
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
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
6
0
0
0
0
0
0
26
0
0
0
-98
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-5
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-6
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
9
0
0
0
65
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
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
-38
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
6
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
-33
0
0
0
2
0
0
0
0
0
0
35
0
0
0
0
0
0
-62
0
0
0
0
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
6
0
0
0
0
0
0
-8
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
-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
-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
-36
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
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
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
16
0
0
0
42
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
18
0
0
0
0
0
0
0
0
0
0
45
0
0
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
0
0
0
16
0
0
0
34
0
0
0
0
0
0
-47
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
-80
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
4
0
0
0
70
0
0
0
0
0
0
-3
0
0
0
0
0
0
-30
-5
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
68
0
0
0
0
0
0
-24
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-10
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
-47
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
33
0
0
0
0
0
0
0
0
0
0
140
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
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
0
0
-6
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
-9
0
0
0
0
0
0
-22
0
0
0
51
0
0
0
0
0
0
-97
0
0
0
0
0
0
-35
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
2
0
0
3
0
0
0
0
0
0
-11
-5
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
-14
0
0
0
5
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
-48
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
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
11
0
0
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
-39
0
0
0
0
0
0
33
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
-9
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
31
0
0
0
0
0
0
-19
0
0
0
67
0
0
0
0
0
0
-74
0
0
0
0
0
0
15
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-4
0
0
0
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
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
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
10
0
0
0
-36
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
23
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
-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
16
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
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
1
0
0
0
1
0
0
0
0
0
0
97
0
0
0
0
0
0
-11
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
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
5
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
14
0
0
0
-13
0
0
0
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
0
0
-19
0
0
0
0
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
-54
0
0
0
-33
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
-11
0
0
0
0
0
0
0
0
0
0
34
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
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
-47
0
0
0
0
0
0
0
0
0
0
-12
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
80
0
0
0
0
0
0
60
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
0
0
3
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
1
0
0
0
11
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
8
0
0
0
4
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
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
-8
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
-43
0
0
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
-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
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
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
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
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
11
0
0
0
0
0
0
-19
0
0
0
-3
0
0
0
0
0
0
-71
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
-54
0
0
0
0
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
18
0
0
0
-4
0
0
0
0
0
0
-48
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
-29
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
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
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
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-59
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
17
0
0
0
-32
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
2
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
-3
0
0
0
0
0
0
36
-6
0
0
6
0
0
0
0
6
0
-43
0
0
0
0
0
0
53
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
30
0
0
0
0
0
0
5
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
4
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
28
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
-5
0
0
0
0
0
0
17
0
0
0
48
0
0
0
0
0
0
21
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
0
0
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
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
55
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
90
0
0
0
0
0
0
1
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
-47
0
0
0
87
0
0
0
0
-14
0
17
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
-26
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
-5
0
0
0
62
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-14
0
0
-34
0
0
0
14
0
0
-89
0
0
0
0
0
-8
24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
15
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
58
0
0
0
27
0
0
0
0
0
0
6
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
-10
0
1
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
1
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
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
-19
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
41
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
27
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
54
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
73
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
-8
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-43
-14
0
0
18
0
0
0
0
0
0
-48
0
0
0
0
0
0
-28
0
28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-9
-60
0
0
0
0
0
0
0
-37
0
0
-3
0
0
0
0
0
0
116
0
0
0
25
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
-72
0
0
0
0
0
0
44
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
5
-3
0
-10
0
0
0
0
0
0
-24
11
0
0
-38
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-28
0
0
0
29
0
0
0
0
0
0
82
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
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
50
0
0
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
-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
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
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
-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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
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
0
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
-7
0
0
0
-27
0
0
0
0
0
0
-59
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
-5
0
0
45
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
29
0
0
0
0
0
0
9
26
0
0
21
0
0
0
29
0
-41
-91
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
38
0
0
5
0
0
0
0
-22
-13
0
0
0
0
0
0
0
0
-8
0
-120
0
0
0
0
0
0
16
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
58
13
0
0
20
0
0
0
0
0
-1
-50
0
0
0
0
0
16
95
1
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-15
-24
-8
0
0
0
0
0
0
-8
-21
-1
19
0
25
0
0
0
0
20
14
0
0
45
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
46
0
0
0
-18
0
0
0
4
0
0
-19
0
0
0
0
0
-1
31
-5
0
0
0
0
0
0
0
5
-16
66
0
21
0
0
0
2
53
-5
-6
0
0
0
0
0
0
0
-2
57
0
20
0
0
0
0
-40
-5
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
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
-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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
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
0
0
0
0
0
0
0
0
0
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
-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
20
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
42
0
0
0
0
0
0
0
0
0
0
17
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
-16
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
-2
0
0
0
0
0
0
0
0
0
0
65
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
17
0
0
0
0
0
0
12
17
0
0
48
0
0
0
-3
0
0
2
0
0
0
0
0
0
-10
16
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-15
0
96
0
0
0
0
0
0
2
-9
0
0
12
0
0
0
0
0
0
53
0
0
0
0
0
-15
2
4
26
0
0
0
0
0
0
9
-67
24
0
26
0
0
0
-14
7
-2
93
0
0
0
0
0
2
-42
-4
0
0
0
0
0
0
-43
34
-41
6
4
0
0
0
0
-1
-45
-8
0
0
0
0
0
0
-2
5
20
0
0
1
0
0
0
0
-68
-5
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
-43
0
0
0
9
0
0
0
5
0
0
-78
0
0
0
0
0
5
25
-3
0
0
3
0
0
0
1
12
0
0
0
10
0
0
0
0
45
-16
0
0
0
0
0
0
-64
5
0
-27
0
0
0
0
0
0
-19
-22
0
0
6
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-26
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
-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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
123
0
0
0
0
0
0
0
0
0
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
-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
-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
69
0
0
0
-21
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
-4
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
-36
45
0
0
-16
0
0
0
-8
0
0
60
0
0
0
0
0
8
-33
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
5
0
0
0
0
0
0
0
0
0
-11
0
5
0
0
0
0
-30
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-7
0
0
0
-13
0
0
0
0
0
0
-27
0
0
0
0
0
0
35
0
0
0
0
0
0
0
-5
15
0
0
0
0
0
0
0
0
-22
5
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
-43
0
0
0
59
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-39
-3
0
0
18
0
0
0
-14
0
0
6
0
5
0
0
0
0
15
0
0
0
0
0
0
0
0
33
-3
0
0
-1
0
0
0
0
21
0
0
0
0
0
0
0
11
4
0
-63
0
18
0
0
0
0
-35
5
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
17
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
-5
0
0
0
38
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
-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
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
-5
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
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
50
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
13
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-33
0
0
0
0
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
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
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
14
0
0
0
0
0
0
15
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
-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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
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
43
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
106
0
0
0
0
0
0
0
0
0
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
-2
0
0
-16
0
0
0
0
0
0
28
0
0
0
0
0
0
33
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
0
31
0
0
0
0
0
0
-20
0
0
0
-60
0
0
0
0
0
0
-7
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
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
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
57
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
-14
0
0
0
0
0
0
0
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
68
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
1
0
0
0
0
0
0
31
0
0
0
76
0
0
0
0
0
0
-78
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
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
2
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
15
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
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
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
6
0
0
0
-15
0
0
0
0
0
0
-27
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
95
0
0
0
0
0
0
6
0
0
0
45
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
57
0
0
0
5
0
0
0
0
0
0
-36
0
0
0
0
0
0
-2
-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
-63
0
0
0
0
0
0
14
0
0
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
-21
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
6
0
0
0
0
0
0
-24
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
17
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
36
7
0
0
-33
0
0
0
0
0
0
20
0
0
0
0
0
0
53
23
0
0
0
0
0
0
0
11
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
-3
0
0
0
-53
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
23
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
-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
19
0
0
0
-3
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
-12
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
8
0
0
0
12
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
-42
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
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
47
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
-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
-4
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
-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
20
0
0
0
0
0
0
0
0
0
0
60
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
-4
0
0
0
-10
0
0
0
0
0
0
22
0
0
0
0
0
0
18
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
2
0
0
35
0
0
0
0
0
0
-45
0
0
0
38
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
2
41
0
0
0
76
0
0
0
0
0
0
-78
0
0
0
0
0
0
-7
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
-20
0
0
0
0
0
0
21
0
0
0
-92
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
-69
0
0
0
-5
2
0
-22
0
0
0
0
0
0
45
-3
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
-38
-21
0
44
0
0
0
0
0
0
-53
0
0
0
9
0
0
0
0
-14
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
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
0
0
0
0
0
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
-5
0
0
0
0
0
0
-22
0
0
0
73
0
0
0
0
0
0
17
0
0
0
0
0
0
-24
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
-6
0
0
27
0
0
0
0
0
0
0
-1
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
3
0
0
0
11
0
0
0
2
0
0
62
0
17
0
0
0
0
-47
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-7
53
0
0
0
0
0
0
-20
1
-3
22
0
0
0
0
0
0
-34
3
0
0
59
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
37
0
0
0
0
0
11
-15
17
0
0
-5
0
0
0
-92
0
9
0
0
16
0
0
0
2
-32
-13
0
49
5
0
0
0
74
35
43
-9
3
-9
0
0
0
-2
-73
34
16
0
0
0
0
0
-7
14
0
35
0
45
0
0
0
0
-52
36
-19
0
37
0
0
0
0
-6
0
-2
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
-14
5
-15
0
0
5
0
0
0
-23
0
18
-34
0
1
0
0
0
3
-14
5
0
2
0
0
0
0
-5
5
-9
0
-23
6
0
0
0
0
-39
53
0
0
0
0
0
0
-34
0
0
58
0
0
0
0
0
0
-23
-4
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
31
0
0
0
-1
0
0
0
0
0
0
-22
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
76
0
0
0
-15
0
0
0
0
0
10
0
-3
0
0
0
0
-16
0
-2
-25
0
0
0
0
0
-7
-51
0
0
0
-8
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
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
-6
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
5
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
9
0
0
0
0
0
0
2
0
0
0
47
0
0
0
0
0
0
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-40
0
0
0
34
0
0
0
11
36
0
-6
0
0
0
0
0
1
131
0
0
0
0
0
0
0
8
-7
17
0
25
0
0
0
0
-4
33
-4
0
-8
0
0
0
0
-4
-11
0
29
0
21
0
0
0
0
52
-10
0
0
39
0
0
0
-4
0
4
12
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
27
1
0
0
36
0
0
0
6
0
0
23
0
1
0
0
0
0
77
8
0
0
13
0
0
-19
-1
-22
-6
0
0
27
0
0
0
-11
11
-69
4
0
0
0
0
0
-58
8
36
9
0
2
0
0
0
30
-85
71
0
0
4
0
0
0
-9
0
0
9
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
4
23
0
0
0
-26
0
0
0
40
3
0
-48
0
9
0
0
0
49
-41
-24
31
0
0
0
0
0
-24
-7
21
0
5
61
0
0
0
13
66
34
1
0
0
0
0
0
-16
-17
-6
103
0
62
0
0
0
3
48
-23
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
-2
0
0
0
-32
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
20
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
14
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
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
-1
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
2
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
8
0
0
0
-15
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
0
0
0
0
4
-13
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
7
0
0
0
0
0
0
-11
-1
0
0
22
0
0
0
6
0
0
23
0
0
0
0
0
5
35
-20
0
5
24
0
0
0
14
-7
0
0
-9
-7
0
0
0
7
139
-41
0
-14
0
0
0
0
-43
-10
8
-13
9
0
0
0
0
-11
12
-12
0
0
-32
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
12
9
0
0
0
25
0
0
0
0
0
-1
20
0
0
0
0
0
-17
-26
5
-5
43
0
0
0
5
2
56
-3
0
0
-24
0
0
0
-37
28
-27
0
0
0
0
0
0
53
-20
3
40
0
13
0
0
0
-2
15
-24
0
0
28
0
0
0
-2
0
0
14
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-57
-16
0
0
-25
0
0
0
0
0
0
-5
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-21
22
-8
0
0
0
0
0
0
-36
16
105
34
0
0
0
0
0
0
80
-4
0
0
12
0
0
0
0
4
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
43
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
-22
-3
0
0
0
0
0
0
0
-2
0
25
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
-8
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
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
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
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
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
53
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
-7
0
0
0
-43
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
5
0
0
0
0
0
0
-19
0
0
33
0
0
0
0
0
0
18
-3
0
0
36
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
25
0
0
0
20
-7
0
61
0
18
0
0
0
0
-9
22
0
0
0
0
0
0
29
7
-1
11
5
0
0
0
0
26
-43
0
-4
-7
0
0
0
0
-5
-40
16
35
0
81
0
0
0
-5
79
47
0
0
12
0
0
0
-2
9
0
-18
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
2
-6
0
0
0
-16
0
0
0
-16
1
2
28
0
0
0
0
0
1
49
14
0
0
0
0
0
-5
23
5
8
-19
-8
13
0
0
0
41
-24
3
0
-3
33
0
0
0
2
-2
17
-17
0
-41
0
0
0
-2
-73
23
4
-5
43
0
0
0
1
0
0
30
2
0
0
0
0
0
0
25
11
0
0
0
0
0
-1
86
2
0
0
-9
0
0
0
22
-3
0
9
0
-3
0
0
0
26
20
24
-9
0
16
0
0
0
-46
0
-40
14
-33
22
0
0
0
-15
8
-21
7
0
0
0
0
0
-7
14
-16
-7
0
-18
0
0
0
-9
-37
-1
-10
20
20
0
0
0
-10
13
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
0
0
42
0
6
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
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
-38
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
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
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
75
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
5
-3
0
0
0
0
0
0
0
-24
0
0
15
0
0
0
0
0
0
-19
0
0
0
-45
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
22
0
0
0
-86
0
0
0
0
0
0
-41
0
0
0
0
0
3
35
4
0
0
0
0
0
0
0
-4
2
1
0
0
0
0
0
-3
-33
17
-3
0
0
0
0
0
24
-17
0
-18
0
-14
0
0
0
0
-10
-35
0
0
10
0
0
0
0
0
0
40
0
0
0
0
0
0
-4
0
76
0
0
0
0
0
51
13
14
0
0
34
0
0
0
-23
-1
5
8
0
8
0
0
0
-53
-25
-42
19
-3
0
0
0
1
7
47
-26
12
2
13
0
0
0
10
0
-78
-18
-18
1
0
0
0
-109
31
10
0
0
-26
0
0
0
-14
-23
-31
15
0
27
0
0
0
-6
-1
0
43
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-1
21
1
0
0
61
0
0
0
-25
3
-1
87
0
0
0
0
0
-11
-92
68
-7
-7
14
0
0
35
11
15
-67
-27
23
10
0
0
6
34
63
44
-31
-19
0
0
0
0
-8
-17
61
1
0
-2
0
0
0
-4
-17
-84
-90
11
-12
0
0
0
3
15
6
-69
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
75
0
0
0
35
0
0
0
1
0
3
-20
0
0
0
0
0
2
58
-1
9
0
0
0
0
0
17
64
-7
0
-4
5
0
0
0
-14
-62
-9
4
5
26
0
0
0
-19
-2
-8
36
0
0
0
0
0
8
26
-33
0
8
33
0
0
0
0
-2
5
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
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
-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
-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
-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
-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
-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
2
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
-2
0
0
0
0
0
0
0
-32
-8
0
-44
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
11
0
0
0
70
0
0
0
9
0
0
-40
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-24
-3
0
4
0
0
0
0
5
1
-1
95
0
4
0
0
0
-3
5
0
0
18
-61
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
7
0
-40
29
32
0
0
0
6
40
18
0
0
0
0
0
0
60
58
0
1
0
0
0
0
0
-16
32
-29
0
0
-7
0
0
0
-41
17
30
9
0
-15
0
0
0
-40
-10
-4
0
3
49
0
0
0
0
49
0
-1
0
0
0
0
0
0
0
0
-49
0
0
0
0
5
-5
-26
0
0
0
35
0
0
0
-28
0
0
77
0
50
0
0
0
2
13
-9
-2
0
-7
0
0
-7
60
30
9
1
-3
-9
0
0
0
-13
-48
8
-22
19
0
0
0
0
23
4
-16
2
0
55
0
0
0
-15
7
58
0
0
6
0
0
0
0
-9
-4
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
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
3
0
0
0
-4
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
-19
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
-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
62
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
-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
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
-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
-44
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
-50
0
0
0
0
0
0
-18
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
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
79
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
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
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
70
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
43
0
0
0
0
0
0
19
0
0
0
0
0
0
29
0
0
0
0
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
20
0
0
0
-6
0
0
0
0
0
0
-2
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
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
24
-15
11
0
0
0
0
0
56
0
0
59
0
0
0
0
0
0
53
0
2
0
52
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
-13
0
0
0
-17
0
0
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
12
0
0
0
57
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
56
0
0
0
0
0
0
-9
0
0
0
0
0
0
33
0
0
0
0
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
40
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
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
0
0
0
0
0
0
0
0
-30
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
-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
7
0
0
0
0
0
0
0
0
0
0
-46
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
-25
0
0
0
10
0
0
0
0
0
0
-14
0
0
0
0
0
0
-44
0
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
31
-10
0
0
0
0
0
0
-43
8
0
0
13
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
31
0
0
0
0
0
0
28
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
-1
-3
0
0
0
0
0
0
5
0
-1
63
0
0
0
0
0
0
-8
10
0
0
48
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
3
-15
0
0
0
-20
0
0
0
0
0
0
-5
0
0
0
0
0
0
40
0
3
0
0
0
0
0
0
10
-4
0
0
0
0
0
0
0
-17
18
0
0
0
0
0
0
-1
0
-5
26
0
5
0
0
0
0
-9
15
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
49
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
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
34
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
23
0
0
0
0
0
0
-17
0
0
0
-21
0
0
0
0
0
0
5
0
0
0
0
0
1
51
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
35
4
9
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
53
32
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-17
0
0
0
14
0
0
0
0
0
0
89
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
16
0
0
0
27
0
0
0
6
33
2
0
0
0
0
0
0
1
0
0
13
0
0
0
0
0
0
45
-8
0
-1
-44
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
53
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
6
0
0
0
0
0
0
0
3
0
-19
48
0
0
0
0
0
0
7
5
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
53
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
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
2
0
0
0
21
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-61
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
67
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
-5
0
0
0
0
0
0
-6
0
0
0
4
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
39
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-52
-6
0
0
60
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
0
0
-1
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
-11
9
0
0
0
0
0
0
0
3
16
6
0
0
0
0
0
0
-4
0
0
33
0
0
0
0
0
0
-23
36
0
0
53
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
32
0
0
0
-24
0
0
0
0
0
0
25
0
0
0
0
0
0
-24
0
5
0
0
0
0
0
-12
50
1
0
0
10
0
0
0
-58
17
-23
26
0
-15
0
0
0
-46
-16
0
-50
0
25
0
0
0
1
52
23
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
15
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
22
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
36
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
-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
-16
0
0
0
0
0
0
-8
0
0
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
-27
0
0
0
0
0
0
-28
0
0
0
0
0
0
14
0
0
0
0
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
-3
-3
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
-93
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
3
-25
-3
0
0
0
0
0
0
0
1
46
0
0
2
0
0
0
39
7
-6
-1
9
0
0
0
0
-5
23
0
0
0
0
0
0
0
0
6
29
0
0
-2
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
71
0
0
0
0
0
0
51
0
0
0
0
0
18
-5
0
0
0
0
0
0
0
41
-25
-9
0
0
0
0
0
0
-37
32
-36
-7
-2
0
0
0
0
28
-16
7
-10
0
10
0
0
0
0
-22
-113
10
0
-38
0
0
0
23
5
0
-5
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
21
0
0
0
20
0
0
0
0
0
0
10
0
0
0
0
0
2
34
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
5
37
-1
0
0
0
0
0
0
-6
-24
-1
48
0
0
0
0
0
0
5
-4
0
0
24
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
-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
33
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
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
6
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
0
-43
0
0
0
0
0
0
-29
0
0
0
51
0
0
0
0
0
0
-79
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
19
8
0
0
0
0
0
0
7
20
0
0
0
0
0
0
0
3
0
6
13
0
0
0
0
0
0
51
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
23
0
0
0
-21
0
0
0
-1
0
0
2
0
0
0
0
0
0
24
28
-4
0
0
0
0
0
4
-11
-2
0
0
0
0
0
0
4
-14
25
-14
0
0
0
0
0
75
27
16
48
0
-4
0
0
0
-1
10
-16
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
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
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
-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
-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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
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
-46
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
-16
0
0
0
0
0
0
-4
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
-92
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
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
72
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-82
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
-17
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
-7
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
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
3
0
0
0
0
0
0
67
0
0
0
0
0
0
55
0
0
0
0
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
10
3
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
13
0
0
0
12
0
0
0
0
0
0
38
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
0
0
-15
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
5
0
0
0
14
0
0
0
0
0
0
62
0
0
0
0
0
-5
-24
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
9
0
0
14
0
0
0
0
0
0
-5
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
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
66
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
33
0
0
0
0
0
0
7
0
0
0
0
0
0
34
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
10
0
4
0
0
0
0
0
0
0
91
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
-5
0
0
0
6
0
0
0
0
0
0
-53
0
0
0
0
0
0
38
0
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
0
0
-60
0
0
0
0
0
0
34
5
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
-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
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
-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
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
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
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
-21
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
2
0
0
0
0
0
0
9
0
0
0
3
0
0
0
5
0
0
-2
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
15
0
0
27
0
0
0
0
0
0
22
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
17
0
0
0
13
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
19
-2
0
0
0
0
0
0
0
0
0
-30
0
7
0
0
0
0
-27
5
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
0
0
0
0
-5
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
-4
0
0
0
0
17
0
0
0
0
0
0
0
0
-10
0
61
0
-15
0
0
0
0
-51
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
-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
23
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
62
0
0
0
0
0
0
6
0
0
0
79
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
23
0
0
0
37
0
0
0
0
0
0
-32
0
0
0
0
0
0
27
33
0
0
0
0
0
0
0
0
-21
0
0
-4
0
0
0
-14
-8
-9
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-3
0
0
0
40
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
109
0
0
0
0
0
0
26
0
0
0
0
0
0
4
-14
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
13
-14
98
-1
0
0
0
0
0
-10
0
-8
-4
0
0
0
0
0
0
30
-25
0
0
-8
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-70
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
49
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
5
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-4
0
0
0
0
0
0
-3
0
0
0
12
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
-3
0
-35
0
0
0
0
0
0
-34
0
0
0
-3
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
30
0
0
0
0
0
-4
18
0
0
0
0
0
0
28
-14
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
6
0
46
0
0
0
0
0
0
14
57
0
0
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
3
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
3
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
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
52
0
0
0
0
0
0
-80
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
0
0
0
0
-1
0
7
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
22
0
0
0
0
0
0
-17
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
-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
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
20
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
1
0
0
0
0
0
0
41
0
0
0
0
0
0
-51
0
0
0
0
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
20
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
23
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
-5
0
0
0
0
0
0
0
0
0
0
-28
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
161
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
40
0
0
0
0
-5
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
3
0
0
0
0
0
0
0
-2
0
0
20
0
0
0
0
0
0
12
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
-31
0
0
0
0
0
0
24
0
0
0
0
0
0
-5
9
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
50
0
0
0
64
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
11
0
0
0
23
0
0
0
3
0
0
31
0
0
0
0
0
0
76
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
0
-2
0
-4
0
0
0
0
0
0
0
0
62
0
0
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
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
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
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
18
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
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
-4
0
0
0
0
0
0
31
0
0
0
-11
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
-52
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-6
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
43
0
0
0
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-32
-31
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
-3
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
-1
0
0
0
-8
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
27
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
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
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
-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
-33
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
44
0
0
0
-30
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
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
21
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
-22
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
23
0
0
0
0
0
0
0
0
0
4
78
0
0
0
0
0
0
-9
4
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
51
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
32
-6
0
0
0
0
0
0
3
2
0
0
0
20
0
0
0
1
38
9
0
0
0
0
0
0
-6
11
0
-31
0
0
0
0
0
0
23
29
0
0
29
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
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
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
-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
55
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
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
-1
0
0
0
0
0
0
0
0
0
0
-2
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
-17
0
0
0
0
0
0
0
0
0
0
45
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
8
0
0
0
0
0
0
-71
0
0
0
14
0
0
0
0
1
0
-5
0
0
0
0
0
0
-15
11
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
24
-5
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
-38
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
145
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-6
0
0
0
0
0
0
0
0
5
0
24
0
0
0
0
0
0
23
44
0
0
19
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
-25
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
18
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-14
0
0
0
19
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-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
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
-14
0
0
0
0
0
0
0
0
0
0
0
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
27
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
46
0
0
0
0
0
0
50
0
0
0
0
0
0
-35
0
0
0
0
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
-52
0
0
0
74
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-26
0
0
0
8
0
0
0
0
0
0
25
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-21
-1
0
0
0
0
0
0
0
14
0
23
0
0
0
0
0
0
-16
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
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
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
-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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-15
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
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
-29
0
0
0
0
0
0
72
0
0
0
0
0
0
-17
-16
0
0
0
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
-22
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
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
11
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
-31
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
39
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
15
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
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
33
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
-33
0
0
0
0
0
0
-20
0
0
0
48
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-4
0
0
-32
0
0
0
-2
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
-20
0
0
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
31
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
7
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
-17
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
-10
0
0
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
-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
48
0
0
0
0
0
0
25
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-1
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
18
0
0
0
79
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
62
0
0
0
1
5
-2
-61
0
0
0
0
0
0
3
-10
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-47
21
0
11
0
0
0
0
5
59
1
25
0
0
0
0
0
0
31
-1
0
0
25
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
-45
0
0
0
0
0
0
47
0
0
0
0
0
30
-11
0
0
0
0
0
0
0
-5
-5
31
0
0
0
0
0
0
-3
-22
35
0
0
0
0
0
0
-28
-14
28
53
0
-5
0
0
0
-5
-26
-5
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
-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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
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
-26
0
0
0
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
9
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
1
5
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-25
0
0
0
0
0
0
-49
-9
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
3
11
0
6
0
0
0
0
0
-5
0
5
0
0
0
0
0
0
39
33
0
0
32
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
37
0
0
0
-2
0
0
18
0
11
0
0
0
0
-25
3
0
0
0
0
0
0
5
5
-7
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-16
6
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
19
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
4
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
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
-36
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
16
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
-1
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
-12
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
21
0
0
0
0
0
0
60
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
23
0
0
0
-2
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
47
0
0
0
3
0
1
35
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
-39
0
0
0
-1
0
0
0
0
0
0
54
0
0
0
0
0
0
49
0
0
0
-19
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-5
22
0
0
0
0
0
0
0
0
0
0
22
0
0
0
4
0
-6
-21
0
0
0
0
0
-4
40
18
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
25
-34
0
0
0
0
0
0
3
-2
0
-52
0
15
0
0
0
0
33
-7
0
0
15
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
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
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
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
-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
-35
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-6
0
0
69
0
0
0
0
0
0
23
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
46
0
0
0
0
0
7
0
0
0
0
19
0
0
0
2
0
-5
-10
0
0
0
0
0
0
9
-10
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
0
35
3
0
-19
0
0
0
0
5
0
0
0
0
16
0
0
0
0
-24
0
0
0
17
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
35
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
11
42
0
0
0
0
0
0
-2
8
16
-18
0
7
0
0
0
0
5
35
4
0
-16
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
0
0
29
0
0
0
0
0
0
0
-7
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
14
2
-13
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
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
-1
0
0
0
0
0
0
0
0
0
0
51
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
-38
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
-27
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
22
0
0
0
66
0
0
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
-19
0
0
35
0
0
0
0
0
0
-67
1
0
0
0
0
0
0
0
-19
-17
0
0
0
0
0
0
0
20
14
0
3
0
0
0
0
-23
0
0
-7
0
0
0
0
0
0
-31
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
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
9
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
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
-29
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
65
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
-1
0
0
0
0
0
0
0
0
0
0
62
0
0
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
0
0
0
0
25
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
90
0
0
0
0
0
0
-2
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
33
0
0
0
1
0
0
0
0
0
0
41
0
0
0
0
0
0
-33
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
-11
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
8
0
0
0
0
0
0
-7
0
0
0
-37
0
0
0
0
0
0
65
0
0
0
0
0
0
-15
-25
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
50
3
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
20
0
0
0
100
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-25
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
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
-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
-61
0
0
0
0
0
0
-5
0
0
0
0
0
0
42
0
0
0
0
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
25
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
35
0
0
0
-11
0
0
-63
0
0
0
0
0
0
-2
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
0
0
9
0
0
0
0
0
0
-23
0
0
0
51
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
-14
0
0
0
-6
0
0
28
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
8
-5
0
4
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
60
0
0
0
11
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
8
0
0
0
17
0
0
0
3
0
0
0
0
0
0
0
0
0
8
18
0
0
0
0
0
0
0
24
14
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
1
0
0
-14
0
0
0
0
0
0
25
0
0
0
-48
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-6
33
0
10
0
5
0
0
0
6
0
0
53
0
0
0
0
0
0
38
-7
0
-2
-3
0
0
0
0
1
7
0
0
0
0
0
0
0
-42
6
5
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
8
0
0
0
41
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
34
0
0
0
-23
0
0
0
0
0
0
56
0
0
0
0
0
0
-11
-13
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-22
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
-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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
-56
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
-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
-7
0
0
0
0
0
0
14
0
0
0
-14
0
0
0
-1
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
0
0
0
0
0
0
0
0
14
1
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
-3
0
0
0
32
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
117
0
0
0
0
0
0
-39
0
0
0
3
0
0
0
5
5
0
-10
0
0
0
0
0
17
-33
0
0
0
0
0
0
14
0
3
-16
0
0
0
0
0
0
-5
14
15
0
0
0
0
0
0
-19
0
0
61
0
-3
0
0
0
0
-50
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
25
0
0
0
-7
0
0
0
6
0
15
1
0
0
0
0
0
2
31
5
0
0
10
0
0
0
0
-4
3
0
1
0
0
0
0
0
-7
3
0
-11
0
0
0
0
-23
0
0
-25
0
0
0
0
0
0
-12
5
0
0
-4
0
0
0
0
0
0
-51
0
0
0
0
0
0
-4
0
59
0
0
0
0
0
-2
-1
0
0
0
23
0
0
0
-21
13
18
51
0
0
0
0
0
18
15
16
-14
0
-11
0
0
0
13
53
0
-2
0
27
0
0
0
-1
-33
39
15
0
0
0
0
0
18
6
-3
-32
0
17
0
0
0
1
37
-42
-1
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
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
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
27
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
4
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
10
0
0
0
31
0
0
0
0
0
0
41
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
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
-11
0
0
0
0
0
0
-12
0
0
0
35
0
0
0
0
0
0
43
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
76
0
0
0
0
0
0
-17
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
3
35
0
0
0
0
0
0
-1
0
0
0
27
0
0
0
-10
5
0
4
0
0
0
0
0
-56
71
-2
29
0
0
0
0
0
-31
-22
0
0
0
0
0
0
0
-10
59
50
0
0
0
0
0
0
-10
0
-5
-23
0
5
0
0
0
0
-17
5
0
0
-19
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
-52
0
0
0
-21
0
0
-17
0
0
0
0
0
-7
61
-20
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
-5
-3
11
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
1
-76
1
0
0
8
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
-45
0
0
0
-2
0
0
14
0
0
0
0
0
0
-47
0
-5
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
-23
0
0
0
6
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
60
0
0
0
0
0
0
45
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-66
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
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
-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
9
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
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
5
0
0
0
30
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
13
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
-12
0
0
0
0
0
0
35
0
0
0
24
0
0
0
7
0
0
6
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
0
0
0
0
0
0
0
7
0
0
-23
0
0
0
0
0
0
-24
0
0
0
54
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
11
0
0
0
0
0
4
62
0
0
0
37
0
0
0
54
0
0
-5
0
0
0
0
0
-6
-16
21
-11
0
0
0
0
0
0
-52
-4
2
0
0
0
0
0
-10
18
0
0
0
0
0
0
0
-24
15
14
76
0
-4
0
0
0
0
-13
-24
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-40
0
0
0
0
0
0
109
0
0
0
-1
0
0
0
8
0
-5
-20
0
0
0
0
0
-15
26
20
0
0
0
0
0
0
-8
16
18
0
0
1
0
0
0
-1
44
18
0
-3
2
0
0
0
4
-20
-2
14
0
-5
0
0
0
0
71
-33
0
0
-24
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
69
0
0
0
45
0
0
7
45
45
-16
-14
0
0
0
0
0
17
-21
27
1
0
0
0
0
-4
-65
-8
-43
0
7
-1
0
0
0
-17
0
-44
-26
0
0
0
0
0
24
-17
-5
21
0
-17
0
0
0
0
54
27
2
0
-18
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
44
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
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
8
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
31
0
0
0
0
0
0
0
0
0
0
-4
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
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
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
2
0
0
-30
0
0
0
0
0
0
-14
0
0
0
-23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
55
0
0
0
-23
0
0
0
-3
9
0
48
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-14
1
0
0
0
0
0
0
7
37
2
0
0
0
0
0
0
16
0
0
60
0
2
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
4
0
0
0
0
0
0
13
21
55
0
0
0
0
0
7
96
0
0
0
-14
0
0
0
47
1
6
-3
0
-7
0
0
0
-33
26
-10
15
0
0
0
0
-9
-9
22
-14
0
0
0
0
0
0
2
29
44
0
0
0
0
0
0
5
20
31
0
0
-37
0
0
0
0
-24
0
3
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
50
0
0
0
-23
0
0
0
20
0
0
71
0
0
0
0
0
0
-38
-2
0
0
0
0
0
0
1
8
8
0
0
0
0
0
0
-19
-13
-30
0
-13
0
0
0
0
-53
22
-2
3
0
4
0
0
0
0
3
0
5
0
-2
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
40
0
0
0
-43
0
0
0
-8
-2
0
51
0
0
0
0
0
-4
21
-5
-1
0
0
0
0
0
0
24
30
0
0
0
0
0
0
-15
-31
22
3
0
0
0
0
0
-13
-2
-2
14
0
0
0
0
0
0
8
-4
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
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
-5
0
0
0
0
0
0
0
0
0
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
53
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
-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
-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
25
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
-6
0
0
0
72
0
0
0
0
0
0
50
0
0
0
0
0
0
15
0
0
0
0
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
-30
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
-40
0
0
0
17
-3
0
56
0
0
0
0
0
0
-29
52
26
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-3
0
62
0
0
0
0
0
0
14
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-51
0
0
0
-26
0
0
0
1
0
0
-52
0
0
0
0
0
0
23
-1
0
0
0
0
0
0
-6
0
23
0
19
0
0
0
0
45
-36
-25
0
0
5
0
0
0
5
7
4
11
0
0
0
0
0
5
-28
0
0
0
5
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-16
0
0
0
-37
0
0
0
9
18
0
-9
0
0
0
0
0
-10
23
0
0
0
1
0
0
0
0
-30
43
0
0
0
0
0
0
-20
56
-27
10
-2
0
0
0
0
-3
-2
1
17
0
-47
0
0
0
-3
53
-53
0
0
2
0
0
0
0
0
-5
-58
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
-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
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
14
0
0
0
8
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
21
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
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
-5
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
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
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
-42
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
6
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
117
0
0
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
-7
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
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
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
80
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
-38
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
-23
0
0
0
33
0
0
0
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
32
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
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
22
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
-19
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
32
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
84
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
-12
0
0
0
0
0
0
0
0
0
0
-23
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
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
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
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
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
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
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
100
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
-41
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
110
0
0
0
0
0
0
-3
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
54
0
0
0
48
0
0
0
0
-1
5
90
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
1
-21
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
-3
0
0
0
0
0
2
-32
0
0
0
20
0
0
0
0
0
0
-25
0
0
0
0
0
1
-74
11
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-29
0
0
0
2
0
0
0
0
0
0
-71
0
-8
0
0
0
0
-13
0
0
0
-2
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
65
0
0
0
0
0
0
-32
0
0
0
0
0
0
18
-13
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
10
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
-53
0
0
0
-23
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
3
0
0
0
0
0
0
0
0
0
0
-36
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
-20
0
0
0
0
0
0
49
0
0
0
-16
0
0
0
5
0
0
10
0
0
0
0
0
0
71
0
0
0
0
0
0
0
1
32
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
1
0
0
0
70
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
1
0
-48
0
0
0
0
0
4
6
-4
4
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-81
0
-4
0
0
0
0
-18
0
0
0
122
0
0
0
0
0
0
-1
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
11
0
0
0
0
0
0
-31
0
0
0
0
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
-14
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
-28
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
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
-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
-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
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
20
0
0
0
-43
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
-27
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
23
0
0
0
0
0
0
-30
0
0
0
15
0
0
0
0
5
0
-40
0
0
0
0
0
8
27
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
29
-3
0
0
0
0
0
0
0
0
8
-1
6
0
0
0
0
0
-1
-11
0
0
0
55
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
34
-1
0
0
21
0
0
0
-9
0
0
47
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-5
-10
0
0
0
0
0
0
0
2
-12
-4
0
0
0
0
0
0
-5
1
5
28
0
0
0
0
0
0
15
0
0
0
70
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
17
0
0
0
-39
0
0
0
0
0
1
1
0
0
0
0
0
0
-61
-6
0
0
0
0
0
0
13
6
0
-2
0
0
0
0
0
0
-33
4
0
0
0
0
0
0
0
0
0
-14
0
-10
0
0
0
0
-19
17
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-51
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
-16
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
-4
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
-49
0
0
0
-23
0
0
0
0
0
0
36
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
-7
0
0
18
0
0
0
0
0
0
20
-3
0
0
64
0
0
0
0
0
0
-12
0
0
0
0
0
4
0
5
27
0
0
0
0
0
0
-1
31
0
0
34
0
0
0
2
10
0
-22
0
0
0
0
0
22
-91
-5
0
0
0
0
0
0
0
-42
-4
0
0
0
0
0
0
-7
-16
0
0
0
0
0
0
0
0
35
-2
0
0
16
0
0
0
0
-18
0
0
0
44
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-43
0
0
0
66
0
0
0
0
0
0
-11
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
-2
0
-21
-27
0
-2
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
-2
0
0
0
61
0
0
0
0
0
0
-33
0
0
0
0
0
0
-61
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
12
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
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
-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
-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
-14
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
62
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
-31
0
0
0
0
0
0
-6
0
0
0
-45
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
20
0
0
0
-22
0
0
0
0
0
0
-33
0
0
0
0
0
0
-53
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
-5
0
3
124
0
0
0
0
0
0
58
-1
0
0
42
0
0
0
0
0
0
33
0
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
-13
0
0
0
-71
0
0
0
0
0
0
-48
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-36
2
0
0
0
0
0
0
-10
0
-1
76
0
0
0
0
0
0
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
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
-24
0
0
0
0
0
0
0
0
0
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
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
-6
0
0
0
24
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
-15
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
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
-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
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
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
89
0
0
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
-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
-18
0
0
0
0
0
0
-5
0
0
0
83
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
30
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
25
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
70
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
5
0
0
0
0
0
0
3
0
0
0
-25
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
19
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
8
0
0
0
0
0
0
0
0
0
0
45
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
3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
66
0
0
0
0
0
0
-17
0
0
0
0
0
0
3
0
-16
0
0
0
0
0
8
-46
0
5
0
-25
0
0
0
0
4
16
44
0
-14
0
0
0
25
25
24
0
0
14
0
0
-1
-1
-44
3
10
0
0
0
0
0
-7
14
3
36
0
0
0
0
0
19
17
10
22
0
117
0
0
24
-6
-6
-4
3
5
50
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
14
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
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
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
1
0
0
0
0
-16
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
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
-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
-34
0
0
0
0
0
0
0
0
0
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
-15
0
0
43
0
0
0
0
5
0
134
0
0
0
0
0
0
-24
7
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
-19
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
-9
0
0
0
0
0
0
88
0
0
0
-20
0
0
0
7
0
5
44
0
0
0
0
0
2
-48
-14
8
0
0
0
0
0
0
-22
10
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
4
0
0
14
0
0
0
0
0
0
23
0
0
0
62
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
6
30
0
0
0
0
0
14
3
9
0
0
-24
0
0
0
8
46
0
-58
0
0
0
0
0
-3
24
103
-32
0
0
0
0
0
5
20
32
1
0
0
0
0
0
-5
83
0
0
0
0
0
0
0
33
12
-3
50
0
6
0
0
0
-8
84
13
0
0
5
0
0
0
0
0
0
58
0
0
0
0
0
0
15
82
24
0
0
0
0
0
-10
69
-44
0
0
-20
0
0
0
32
17
18
0
0
0
0
0
0
46
-61
-4
-2
0
3
0
0
0
13
5
-18
0
-4
0
0
0
0
10
11
-9
-17
-3
0
0
0
0
-34
26
0
27
0
0
0
0
-27
36
-19
19
10
0
21
0
0
0
-3
14
0
25
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
33
0
0
0
-17
0
0
0
-2
0
0
-32
0
0
0
0
0
0
-27
-2
0
0
0
0
0
0
0
-5
37
0
0
0
0
0
0
0
-45
-4
0
0
0
0
0
0
0
0
0
99
0
0
0
0
0
0
-7
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
-8
0
0
0
54
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-14
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
81
0
0
0
-16
0
0
0
0
0
0
72
0
0
0
0
0
0
-53
13
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
60
0
0
0
0
0
0
7
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
-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
-48
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
49
0
0
0
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
0
0
5
0
0
0
0
0
0
0
0
0
0
29
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
-21
0
0
0
-24
0
0
0
0
0
2
18
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
-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
2
35
0
0
0
0
0
3
46
41
0
0
39
0
0
0
69
0
17
-17
0
0
0
0
0
-10
0
8
0
0
0
0
0
0
-41
-5
33
0
0
0
0
0
0
5
-1
0
-8
0
0
0
0
0
7
-3
0
50
0
0
0
0
0
0
-13
2
0
0
11
0
0
0
0
0
0
-32
0
0
0
0
0
0
4
-30
33
0
0
0
0
0
17
-80
9
0
0
40
0
0
0
-2
14
34
32
0
16
0
0
0
-16
2
0
0
0
0
0
0
-2
43
-57
42
-31
13
21
0
0
0
-10
-5
-26
33
-7
0
0
0
-2
-24
30
10
47
-5
-28
0
0
15
-32
-81
-27
-37
-5
55
0
0
0
0
0
0
-18
0
0
0
0
0
0
19
-1
-9
0
0
0
0
0
-34
88
34
0
0
-4
0
0
0
58
-22
43
-15
0
2
0
0
0
8
15
54
0
0
16
0
0
0
-44
-80
-14
16
-5
10
0
0
0
-45
-13
-6
-21
0
-5
0
0
59
-33
-38
-18
47
24
45
0
0
-9
27
25
-16
0
0
-3
0
0
0
-45
0
0
-13
0
0
0
0
0
0
-10
36
20
0
0
0
0
0
0
48
2
2
0
-32
0
0
0
-7
-14
12
54
0
-4
0
0
0
-33
87
-58
0
0
-53
0
0
-17
3
-27
28
3
0
-1
0
0
0
-42
33
26
9
0
0
0
0
0
35
11
-5
-16
18
41
0
0
0
5
26
-45
-3
0
19
0
0
0
-65
0
0
-63
0
0
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
-8
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
24
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
4
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
-7
0
0
0
41
0
0
0
0
0
0
37
0
0
0
0
0
0
52
0
0
0
0
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
-7
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
1
0
0
0
-38
0
0
0
0
0
0
-76
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
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
-26
0
0
0
26
0
0
0
0
0
0
70
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
6
0
0
41
0
0
0
0
0
0
2
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
23
-1
24
0
0
0
0
0
0
-25
-31
0
0
59
0
0
0
9
3
-5
31
0
0
0
0
0
17
26
3
1
0
0
0
0
0
48
0
-3
0
0
0
0
0
0
2
-14
2
0
0
0
0
0
0
49
9
-14
9
0
0
0
0
0
0
58
5
0
0
4
0
0
0
0
0
0
17
0
0
0
0
0
19
-46
52
-40
0
0
0
0
0
12
74
78
2
0
21
0
0
0
53
3
23
-17
0
7
0
0
0
-4
9
-27
81
17
30
0
0
-7
-7
32
0
4
3
0
0
0
0
-14
-8
-12
-4
-28
72
0
0
-1
63
8
29
43
14
21
0
0
0
-14
-50
-17
15
21
18
0
0
-8
14
0
6
16
0
0
0
0
0
0
9
-9
-32
0
0
0
0
-2
-7
25
7
0
0
-1
0
0
0
24
-2
-44
32
0
11
0
0
0
9
-17
51
-6
-8
0
0
0
-2
31
-44
19
0
0
-11
0
0
0
1
-13
-26
3
7
0
0
0
-1
-90
20
5
-32
0
46
0
0
0
-25
7
-62
16
-5
36
0
0
-1
3
71
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
5
0
0
20
0
0
0
3
0
10
11
0
-3
0
0
0
0
3
0
-4
0
4
0
0
0
0
2
-2
17
0
0
0
0
0
-9
15
0
0
0
0
0
0
0
-5
5
0
21
0
0
0
0
0
0
-52
3
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
-47
0
0
0
21
0
0
0
0
0
0
97
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
26
0
0
0
0
0
0
-7
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
4
0
0
0
-2
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
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
4
0
0
0
75
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
25
0
0
-43
0
0
0
0
0
0
0
0
0
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
-61
0
0
0
0
0
0
42
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-13
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
-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
51
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-4
0
84
0
0
0
0
0
0
9
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
-2
3
-5
64
0
0
0
0
0
3
-95
-14
0
0
26
0
0
0
9
-21
-35
30
0
0
0
0
0
13
24
-14
0
0
0
0
0
0
28
-19
3
-5
0
0
0
0
0
-41
0
-47
0
0
0
0
0
0
15
30
0
-5
-14
14
0
0
-16
-23
15
41
-46
0
52
0
0
0
0
0
0
27
0
0
0
0
0
43
-18
-23
70
0
0
0
0
0
-39
52
-57
-5
0
12
0
0
0
33
-2
24
26
0
-5
0
0
0
7
32
14
-33
0
32
0
0
14
-69
3
-27
-32
-15
5
0
0
0
2
35
0
-5
-2
30
0
0
0
-6
-32
17
35
-14
-46
0
0
5
11
34
-2
-2
3
29
0
0
0
-9
0
0
19
0
0
0
0
0
6
3
-42
45
0
0
0
0
0
51
20
17
0
0
10
0
0
0
-78
15
-53
-38
0
-1
0
0
0
21
32
6
-8
8
36
0
0
1
8
7
31
30
-6
0
0
0
0
-35
22
-21
0
-7
29
0
0
0
-93
2
-41
-8
19
-23
0
0
0
-34
34
4
8
0
8
0
0
0
26
0
0
-58
0
0
0
0
0
26
43
-5
-32
0
0
0
0
0
27
-33
-47
0
0
-5
0
0
0
28
10
5
3
0
-4
0
0
0
57
-11
16
14
9
-24
0
0
-10
1
-37
41
3
6
6
0
0
0
-10
-70
33
-10
0
6
0
0
0
52
34
-19
-9
14
-16
0
0
0
-39
7
-48
-1
0
2
0
0
-17
-13
0
0
15
0
0
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
-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
-14
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
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
0
0
0
0
0
0
0
4
0
0
0
14
0
0
0
0
0
0
43
0
0
0
0
0
0
-26
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
9
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
7
0
0
0
-34
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
-20
-31
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
34
0
0
0
-57
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
16
0
0
0
0
0
0
38
0
0
0
19
0
0
0
0
0
14
23
0
0
0
0
0
-6
-26
-2
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
10
0
-70
0
0
0
0
0
0
16
-3
0
0
34
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-15
-16
0
0
0
0
0
0
118
40
0
0
5
0
0
0
56
5
-43
-45
0
52
0
0
0
-5
2
8
0
0
30
0
0
0
0
-22
16
11
0
0
0
0
0
4
42
-8
-8
0
0
0
0
0
-29
0
0
-38
0
1
0
0
0
0
-54
0
-19
0
42
0
0
0
0
0
0
-29
0
0
0
0
0
1
72
-3
-7
0
0
0
0
0
27
-23
-67
0
0
24
0
0
0
-9
23
-15
4
0
17
0
0
0
31
-14
-50
-5
0
0
0
0
0
3
3
37
-5
5
-1
0
0
0
-29
23
51
2
-12
0
0
0
0
-27
16
0
-13
1
43
0
0
0
-14
25
-10
10
0
-19
0
0
0
1
0
0
0
0
0
0
0
0
-76
13
-98
-70
0
0
0
0
0
58
36
-11
50
0
0
0
0
0
30
23
-41
4
0
25
0
0
0
60
5
-65
-17
10
-7
0
0
6
-18
33
-24
-38
0
-16
0
0
0
9
-44
14
20
23
7
0
0
0
-17
28
44
0
0
62
0
0
9
-34
-35
-13
-36
0
8
0
0
0
8
2
1
13
2
0
0
0
0
0
-4
0
-39
0
0
0
0
0
0
-47
-4
0
0
-38
0
0
0
37
15
-21
-73
0
0
0
0
0
9
-7
5
-5
0
-1
0
0
0
15
30
-14
-8
0
0
0
0
0
5
90
2
30
9
5
0
0
0
-40
14
21
-7
0
18
0
0
0
0
31
6
-4
-7
38
0
0
0
-22
5
0
37
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
-50
0
0
0
-5
0
-5
-10
0
0
0
0
0
26
74
0
0
0
0
0
0
0
0
21
1
0
5
0
0
0
0
-36
-42
5
0
0
0
0
0
0
5
22
15
51
0
0
0
0
0
0
-46
18
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
-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
22
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
-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
20
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
-29
0
0
0
-40
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
-2
0
0
0
0
0
0
0
3
0
0
-45
0
0
0
0
0
0
14
0
0
0
-30
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
24
0
0
0
-26
0
0
0
0
0
0
29
0
0
0
0
0
0
48
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
29
0
0
0
0
0
0
-7
0
0
0
-36
0
0
0
0
0
0
19
0
0
0
0
0
0
-14
40
2
0
0
0
0
0
4
14
14
0
0
11
0
0
0
2
0
2
104
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
-19
0
4
0
0
0
0
0
14
0
11
57
0
37
0
0
-1
10
0
0
0
0
-52
0
0
0
0
0
0
-9
0
0
0
0
0
15
52
-21
-36
0
0
0
0
0
-49
44
14
0
0
6
0
0
0
-5
18
35
45
0
-16
0
0
0
18
-2
-16
-3
0
0
0
0
0
20
-4
21
-9
0
5
0
0
0
3
-32
-34
2
-5
0
0
0
0
2
-47
33
6
0
31
0
0
0
-18
25
0
0
0
5
0
0
0
-5
0
0
17
0
0
0
0
0
0
0
-5
-49
0
0
0
0
0
-55
14
-23
0
0
-45
0
0
0
21
33
-17
-64
0
-17
0
0
0
-54
-32
-19
-7
0
6
0
0
0
23
-35
67
0
0
0
0
0
0
11
65
-26
-1
0
3
0
0
0
10
-2
21
12
0
18
0
0
0
40
4
-4
0
9
26
0
0
0
-22
10
0
-23
0
0
0
0
0
4
16
20
-107
0
0
0
0
0
2
53
-5
0
0
-23
0
0
0
14
8
60
-25
0
-14
0
0
0
-15
35
-6
1
0
0
0
0
0
24
44
-19
2
0
-5
0
0
0
-25
5
3
27
-4
63
0
0
0
-45
-8
19
-5
18
-4
0
0
0
8
-79
-3
0
0
15
0
0
0
4
0
0
50
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
-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
-71
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
9
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
27
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
22
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
2
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
-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
43
0
0
0
0
0
0
0
0
0
0
31
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
2
21
0
0
0
0
0
9
-14
-1
0
0
-60
0
0
0
4
0
11
51
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
11
30
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
-25
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
-24
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
-10
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
59
0
0
0
0
0
0
6
0
0
0
0
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
10
0
0
0
72
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-37
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
7
0
0
0
0
0
0
0
1
0
0
49
0
0
0
0
0
0
24
13
0
0
50
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
28
-9
0
0
0
0
0
0
-8
0
0
-3
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
-53
0
0
0
55
0
0
0
0
0
0
24
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
-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
-29
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
16
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
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
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
48
-7
0
0
0
0
0
0
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
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-54
-15
0
0
0
0
0
0
-1
0
0
47
0
0
0
0
0
0
89
3
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
3
0
0
0
0
0
0
-1
4
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
44
0
0
0
0
0
0
32
-34
0
0
0
0
0
0
14
8
0
-4
0
0
0
0
0
13
75
11
1
2
0
0
0
0
2
53
-2
-4
0
25
0
0
0
-1
49
0
0
1
0
0
0
0
38
0
6
61
0
0
0
0
0
0
-18
0
0
0
48
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-14
11
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
30
21
0
0
0
6
0
0
0
0
5
4
-6
0
0
0
0
0
0
10
-17
0
8
0
0
0
0
24
0
0
-16
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
2
-2
0
-24
0
0
0
0
0
17
119
0
-3
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
43
10
0
-5
0
0
0
0
-7
0
0
32
0
0
0
0
0
0
-8
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
-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
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
15
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
-3
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
-16
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
-14
0
0
0
0
0
0
0
0
0
0
46
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
-16
0
0
0
0
0
5
16
30
0
0
0
0
0
0
42
2
8
46
0
0
0
0
0
27
0
1
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
5
-10
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
23
5
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
-21
0
58
-20
0
0
0
0
0
-18
33
-30
1
0
0
0
0
0
46
44
13
-30
0
0
0
0
0
42
-25
0
0
0
0
0
0
0
-16
-4
18
43
0
0
0
0
0
-6
38
-33
44
49
0
0
0
0
-27
21
5
42
0
-7
0
0
0
-23
15
50
0
0
47
0
0
0
3
0
0
32
0
0
0
0
0
45
13
-55
50
0
0
0
0
0
-26
25
-14
-2
0
0
0
0
0
33
0
29
-3
9
0
0
0
0
-25
52
-17
0
-1
16
0
0
0
-19
-15
68
-55
9
0
0
0
5
28
27
-3
2
-32
48
0
0
-20
-6
-3
-33
-3
-11
-5
0
0
0
17
-32
12
10
7
3
0
0
3
3
-5
3
-64
0
0
0
0
0
0
8
8
55
0
0
0
0
0
0
61
-13
0
0
0
0
0
0
10
5
8
6
0
0
0
0
0
-14
29
37
-1
0
5
0
0
0
0
-13
-2
11
0
0
0
0
0
0
-22
-37
7
0
0
0
0
0
10
-14
8
-51
0
2
0
0
0
-8
3
15
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
59
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
33
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
0
0
0
0
0
0
0
-49
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
-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
8
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
14
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
10
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
-45
0
0
0
0
0
0
-24
-3
0
0
0
0
0
0
0
-21
0
17
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
79
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-34
0
0
0
21
0
0
0
0
0
0
14
0
0
0
0
0
-15
43
19
-6
0
0
0
0
0
20
-3
-15
1
0
0
0
0
0
-1
53
-35
33
-15
0
0
0
0
35
41
26
68
0
27
0
0
0
-24
29
0
17
1
0
0
0
0
-30
47
-9
12
8
23
0
0
0
-1
10
34
47
0
-3
0
0
0
-30
64
76
13
0
19
0
0
0
2
0
0
19
0
0
0
0
0
-14
17
-22
-11
0
0
0
0
0
1
-43
-6
0
0
0
0
0
0
-17
33
8
34
0
0
0
0
0
64
-19
76
11
0
0
0
0
0
-14
3
20
0
0
-10
0
0
0
-34
-12
35
0
-23
0
0
0
0
18
-10
14
-55
0
5
0
0
0
50
68
61
-7
0
25
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
35
-6
0
0
0
0
0
0
2
1
1
15
0
0
0
0
0
0
30
-7
-1
0
0
0
0
0
0
-16
2
6
0
0
0
0
0
1
-30
-2
0
0
0
0
0
0
-13
5
0
-12
0
0
0
0
0
0
53
-15
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
-6
0
0
0
0
0
0
0
0
0
0
83
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
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
-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
-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
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
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
-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
23
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
35
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-33
0
0
0
0
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
-8
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-3
-13
4
-11
0
0
0
0
0
0
43
39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
-1
14
50
0
7
0
0
0
24
-12
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
-9
10
10
-30
0
0
0
0
0
-15
55
-29
0
0
0
0
0
0
-14
7
20
-12
0
0
0
0
0
-18
2
-10
14
0
0
0
0
0
0
4
34
-15
0
0
0
0
0
46
63
0
1
20
0
0
0
0
-14
-59
-12
-16
0
3
0
0
0
2
18
8
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
-35
14
33
-36
0
0
0
0
-21
-34
48
44
6
0
0
0
0
0
-19
40
84
-49
5
0
0
0
-1
-90
21
22
-2
0
8
0
0
0
-34
69
-15
-8
0
0
0
0
0
-5
49
-52
0
-9
15
0
0
0
-18
-17
-18
7
0
0
0
0
0
6
-71
9
1
0
31
0
0
0
-8
0
0
-70
0
0
0
0
0
2
0
85
-28
0
0
0
0
0
13
46
10
0
0
0
0
0
4
-5
-5
-16
-33
0
0
0
0
0
-17
115
71
21
0
0
0
0
0
-5
-20
-21
8
0
-1
0
0
0
-19
51
10
4
0
0
0
0
0
-26
-14
0
7
0
0
0
0
0
-33
20
0
0
3
-43
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
0
0
0
0
0
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
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
6
0
0
0
0
0
0
0
0
0
0
0
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
66
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
-1
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
15
0
0
0
33
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
63
0
0
0
0
0
0
0
-4
0
0
26
0
0
0
0
0
0
-5
5
0
0
3
0
0
0
0
-37
0
0
0
0
0
0
0
14
-17
0
7
0
0
0
0
0
4
0
0
45
0
0
0
0
0
0
7
4
0
0
84
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-43
-27
0
0
0
0
0
0
-1
1
-8
-25
0
0
0
0
0
2
-69
2
0
0
0
0
0
0
6
-36
14
16
0
0
0
0
0
7
18
-33
13
0
0
0
0
0
-20
-8
0
1
0
24
0
0
0
0
-5
0
-6
0
-25
0
0
0
0
0
0
5
0
0
0
0
0
15
-31
23
-21
0
0
0
0
0
1
17
24
-4
0
0
0
0
0
-30
64
-13
44
9
0
0
0
0
28
-41
44
-15
1
0
0
0
0
-4
-48
-17
53
0
13
0
0
0
30
-19
-32
29
5
0
0
0
0
-8
-25
-49
0
0
-33
0
0
0
-11
-32
36
2
0
-10
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
61
7
0
0
0
0
0
19
0
0
-6
-13
0
0
0
0
0
30
52
0
0
0
0
0
0
0
-5
20
0
0
0
0
0
0
0
9
5
-31
-5
0
0
0
0
0
13
-4
24
3
0
0
0
0
0
0
47
-3
-4
0
-62
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
16
0
0
0
0
0
0
0
7
0
0
-47
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-14
-10
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
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
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
40
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
0
0
0
0
0
0
-11
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
-9
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
-11
0
0
12
0
0
0
0
0
0
0
1
0
0
32
0
0
0
0
0
0
-4
0
0
0
0
0
1
2
0
38
0
0
0
0
0
2
-16
21
0
0
0
0
0
0
-3
0
-2
6
0
0
0
0
0
-11
37
60
13
0
0
0
0
0
0
17
0
0
0
0
0
0
0
27
-23
-1
0
0
0
0
0
0
-11
0
-10
-31
0
0
0
0
0
17
-27
0
0
0
37
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-7
-22
20
0
0
0
0
0
0
15
33
-5
12
0
0
0
0
0
-7
11
-10
0
0
0
0
0
0
-23
72
10
17
0
0
0
0
0
19
54
4
6
0
0
0
0
0
13
20
2
43
0
0
0
0
0
7
-49
-13
0
0
-19
0
0
0
0
0
0
-11
0
0
0
0
0
0
-16
67
-46
0
0
0
0
0
-2
-9
-17
0
0
0
0
0
0
-22
40
-5
-34
0
0
0
0
0
18
-38
32
0
0
-2
0
0
0
0
-35
-5
3
9
0
0
0
0
11
31
15
0
1
0
0
0
0
15
-7
11
17
-1
3
0
0
0
-24
12
34
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
23
0
0
0
0
0
0
0
0
0
0
-55
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
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
32
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
-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
-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
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
34
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
4
0
0
0
0
0
0
7
0
0
0
-29
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
3
0
0
0
0
0
0
17
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
-4
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
-5
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
33
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
-28
0
0
0
0
0
0
22
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
0
0
0
0
0
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
11
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
29
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
-1
0
0
0
0
0
0
0
0
0
0
15
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
1
0
0
0
0
0
0
-16
0
0
0
-20
0
0
0
0
0
0
-68
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
18
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
27
0
0
0
-15
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
99
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
-6
0
0
0
0
6
0
0
23
0
0
0
0
0
34
-24
8
0
0
0
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
15
7
0
0
38
0
0
0
0
0
0
-39
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-47
0
0
0
113
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
56
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
42
0
0
0
0
0
0
0
3
0
0
-20
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-13
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
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
85
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
47
0
0
0
-26
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
-8
0
0
0
0
0
0
-12
0
0
0
0
0
0
27
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
13
0
-5
0
0
0
0
56
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
-18
0
0
0
35
0
0
0
-4
0
0
-13
0
-1
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
9
4
0
0
0
14
1
16
0
0
0
0
0
0
-2
0
0
15
0
0
0
0
0
0
61
-19
0
0
43
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
62
0
0
0
0
0
-5
26
0
0
0
21
0
0
0
0
0
0
36
0
0
0
0
0
0
12
-5
0
0
0
0
0
0
0
18
0
0
0
-7
0
0
0
0
-14
0
0
0
0
0
0
0
1
0
0
32
0
0
0
0
0
0
14
0
0
0
19
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
-105
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
14
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
65
0
0
0
0
0
0
44
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
25
0
0
0
-97
0
0
0
0
0
0
-30
0
1
0
0
0
2
-18
-3
0
0
0
0
0
0
0
-7
0
0
-5
0
0
0
0
0
10
-3
0
0
0
0
0
0
23
80
0
86
0
3
0
0
0
0
50
12
0
0
88
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-16
0
0
0
-32
0
0
0
0
10
0
34
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
-21
11
0
0
25
0
0
0
-18
16
-2
-24
0
6
0
0
0
25
0
0
24
0
0
0
0
0
1
41
-31
0
0
55
0
0
0
1
20
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
84
0
0
0
0
0
0
-7
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-5
0
5
0
0
0
0
0
0
8
0
-5
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
-10
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
-23
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
49
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
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
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
0
0
0
0
0
0
-43
0
0
0
58
0
0
0
0
0
0
9
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-5
46
5
0
0
0
0
0
6
-15
0
0
-14
0
0
0
0
0
-5
0
-9
0
0
0
0
0
0
-26
3
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
40
0
0
0
-64
0
0
0
0
0
0
-81
0
0
0
0
0
-8
-21
-1
0
0
0
0
0
-1
66
4
0
0
14
0
0
0
0
11
124
-21
0
-15
0
0
0
0
12
6
21
89
0
0
0
0
0
0
-31
-4
0
0
32
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-25
20
0
0
0
80
0
0
0
0
0
0
-62
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
5
1
30
0
-3
11
0
0
0
34
9
-4
-11
0
0
0
0
0
-37
-36
10
4
0
-1
0
0
0
1
-26
-25
0
0
34
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
83
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
-9
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
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
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
-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
-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
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
13
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
33
0
0
0
-25
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
0
0
0
0
0
0
0
0
6
0
0
74
0
0
0
0
0
0
-24
43
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
24
1
0
0
21
0
0
0
4
0
0
45
0
0
0
0
0
0
31
-20
0
0
0
0
0
0
53
-16
9
0
0
-8
0
0
0
13
11
-43
-4
6
0
0
0
0
0
-24
0
0
0
5
0
0
0
0
-13
5
0
0
26
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-100
0
0
0
0
0
15
11
-8
0
0
24
0
0
0
27
0
0
-41
0
0
0
0
0
13
-24
34
-2
0
0
0
0
-14
-8
46
7
-4
29
0
0
0
0
-61
-63
73
6
58
0
0
0
0
38
0
-22
-12
0
-26
0
0
0
-5
21
76
2
0
13
0
0
0
11
31
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
47
0
0
0
0
0
0
-26
0
0
0
0
0
10
5
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
23
1
-73
0
0
0
0
0
0
-15
5
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
32
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
20
0
15
0
0
0
0
27
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
35
0
0
0
39
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
-9
55
10
0
0
0
0
0
0
0
-15
10
51
1
19
0
0
0
0
61
-4
0
0
61
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
72
0
0
0
-8
0
0
0
-1
5
0
28
0
0
0
0
0
19
14
0
0
0
0
0
0
0
4
25
4
0
4
0
0
0
0
0
7
-46
-7
0
0
0
0
0
17
-19
-3
5
0
0
0
0
0
0
29
-5
0
0
44
0
0
0
0
17
0
-79
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
20
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
3
0
0
0
0
0
0
-4
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
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
-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
-2
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
1
0
0
0
0
0
0
14
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
4
0
0
0
-67
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
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
-95
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
-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
3
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
3
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
2
0
0
0
32
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
6
-1
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
38
5
0
0
-2
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
23
0
0
0
-22
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
18
1
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
42
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
-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
-16
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
5
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
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
8
0
0
0
-101
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
-9
0
0
0
80
0
0
0
0
0
0
-5
0
0
0
0
0
-1
-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
101
0
0
0
0
0
0
11
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
-9
0
0
0
-8
0
0
0
0
0
0
-24
0
0
0
0
0
0
27
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
65
-1
0
0
0
0
0
0
0
0
1
58
0
0
0
0
0
0
110
10
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
8
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
22
-5
0
0
0
0
0
0
5
5
0
4
0
0
0
0
0
0
-15
-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
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
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
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
146
0
0
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
-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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
-43
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
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
5
0
0
0
0
0
0
-9
0
0
0
-14
0
0
0
0
0
0
-16
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
19
14
0
0
0
0
0
0
0
5
0
84
0
0
0
0
0
0
-23
0
0
0
26
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
11
0
0
0
0
0
0
122
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
6
0
0
0
26
0
0
0
0
32
19
5
0
-2
0
0
0
-33
-7
0
57
0
0
0
0
0
0
-33
-6
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
51
0
0
0
-40
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
8
-1
-1
0
0
0
0
0
3
0
4
9
0
0
0
0
0
0
16
17
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
-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
-44
0
0
0
0
0
0
0
0
0
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
36
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
39
0
0
0
0
0
0
24
0
0
0
140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-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
-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
60
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
66
0
0
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
23
0
0
0
18
0
0
0
0
0
0
104
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
-64
0
0
2
0
0
0
0
4
-1
0
38
0
0
0
0
0
0
24
37
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
24
0
0
0
11
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
45
2
0
3
0
0
0
0
0
2
-1
26
0
0
0
0
0
-3
-9
5
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
15
0
0
0
-23
0
0
0
0
0
0
68
0
0
0
0
0
-9
-22
0
0
0
0
0
0
0
0
1
2
2
0
27
0
0
0
32
-22
64
0
0
0
0
0
0
-8
24
0
67
0
-2
0
0
0
0
-38
-7
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
-21
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
-26
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
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-91
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
-18
0
0
0
-54
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
-19
25
0
0
0
0
0
0
-5
0
0
-21
0
0
0
0
0
0
-6
-1
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
-3
-28
0
0
0
36
0
0
0
0
0
0
-31
0
0
0
0
0
19
-36
0
6
0
0
0
0
0
3
33
9
0
0
0
0
0
0
50
-23
6
-5
22
0
0
0
0
8
-5
0
0
0
8
0
0
0
-4
29
-36
0
0
42
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
35
0
0
0
0
0
0
41
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
47
-20
8
9
-6
-27
0
0
0
-18
70
59
15
-5
5
0
0
0
53
-15
-13
-30
0
-12
0
0
0
-5
23
33
-4
0
-18
0
0
0
-2
4
0
58
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
46
0
0
0
105
0
0
0
0
0
0
-48
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
-5
-5
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
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
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-87
0
0
0
0
0
0
42
0
0
0
-11
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
-13
0
0
0
0
0
0
40
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-13
43
11
0
0
0
0
0
0
1
-4
0
31
0
-2
0
0
0
0
35
0
0
0
26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-8
0
0
0
-7
0
0
0
-1
0
0
-60
0
0
0
0
0
0
24
0
0
0
0
0
0
0
2
28
7
0
0
0
0
0
0
1
72
9
0
0
0
0
0
0
10
32
0
105
0
0
0
0
0
2
62
-9
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
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
26
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-25
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
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
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
-2
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
2
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
-2
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
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
90
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
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
10
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
37
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
12
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
10
0
0
0
-7
0
0
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
26
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
53
0
0
0
0
0
0
5
3
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
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
23
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
11
0
0
0
0
0
0
88
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
24
0
0
0
0
0
0
-9
5
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
-14
0
0
0
0
0
0
0
0
0
0
0
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
30
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
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
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
19
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
-5
0
0
42
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
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
-2
19
0
0
27
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
35
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
-40
56
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
16
-4
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
-2
0
0
0
0
0
0
19
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
-1
0
33
0
0
0
0
0
0
55
4
0
0
-11
0
0
0
0
0
0
0
0
0
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
5
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-27
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
69
0
0
0
0
0
0
-27
0
0
0
-35
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
-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
14
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
45
-14
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
9
0
0
0
-63
0
0
0
0
0
0
-43
0
0
0
0
0
0
10
-2
0
0
0
0
0
0
0
-13
0
0
0
2
0
0
0
-4
-1
26
-16
0
0
0
0
0
-18
17
13
32
0
0
0
0
0
0
-18
-2
18
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
-47
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
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
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
-95
0
0
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
-47
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
25
0
0
0
0
0
0
36
0
0
0
64
0
0
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
82
0
0
0
0
0
0
-8
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
5
-1
0
-54
0
0
0
0
0
0
30
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
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
1
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
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
-1
0
0
0
6
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
26
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-19
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
-5
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
33
0
0
0
18
0
0
0
0
0
0
52
0
0
0
0
0
0
51
0
0
0
0
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
10
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
26
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
27
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
41
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
5
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
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
-19
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
-4
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
-7
0
0
0
-67
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
33
0
0
0
-95
0
0
0
0
0
0
-14
0
0
0
0
0
0
-45
0
0
0
0
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
2
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-53
0
0
0
-43
0
0
0
0
0
0
24
0
0
0
0
0
-2
-18
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
33
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-75
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
-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
-5
0
0
0
0
0
0
-35
0
0
0
-12
0
0
0
0
0
0
33
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-12
0
0
0
7
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
29
0
0
0
53
0
0
0
0
0
0
-30
0
0
0
0
0
24
-6
0
0
0
0
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
-22
1
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
22
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
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
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
5
0
0
0
0
0
0
22
0
0
0
25
0
0
0
0
0
0
-46
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
-13
0
19
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
-7
0
0
0
42
0
0
0
0
0
0
8
0
0
0
0
0
0
53
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
18
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
11
0
0
0
0
0
0
30
0
0
0
23
0
0
0
0
0
0
-35
0
0
0
0
0
-9
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-3
0
0
0
0
0
0
0
-4
0
26
0
0
0
0
0
0
10
2
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
-5
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
-5
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-17
0
0
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
-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
13
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
11
0
0
0
0
0
0
-11
0
0
0
21
0
0
0
0
0
0
70
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
0
0
-13
0
0
0
0
0
0
37
0
0
0
24
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
-41
0
0
0
0
0
0
67
0
0
0
0
0
0
36
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
-1
0
0
0
0
0
0
0
0
-5
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-46
0
0
0
-4
0
0
0
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
-7
-29
35
1
-13
0
0
0
0
-20
0
0
-125
0
0
0
0
0
0
-19
69
0
0
77
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
14
0
0
0
17
0
0
0
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
33
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
24
0
0
0
69
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
1
0
0
0
0
0
0
86
0
0
0
84
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
37
0
0
0
0
0
0
5
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
-13
0
0
0
-57
0
0
0
0
0
0
54
0
0
0
0
0
0
-6
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
-40
0
10
0
0
0
0
31
0
0
0
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-39
0
0
0
-5
0
0
0
0
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
-6
12
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
51
0
0
0
39
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
17
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-48
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
54
1
0
0
-41
0
0
0
4
0
0
72
0
0
0
0
0
0
-48
5
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
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
-43
0
0
0
0
0
0
0
0
0
0
9
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
-4
0
0
0
0
0
0
19
6
0
0
-74
0
0
0
-4
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
-24
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
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
-15
0
0
0
44
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
-2
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
-8
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
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
0
0
0
-5
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
-10
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
-15
0
0
0
-32
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
-23
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
1
0
0
0
0
0
0
11
0
0
0
-5
0
0
0
0
0
0
-63
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
10
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
4
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
11
0
0
0
5
0
0
0
9
0
0
17
0
0
0
0
0
0
-63
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-27
1
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
25
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
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
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
84
0
0
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
-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
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
3
0
0
0
0
0
0
12
0
0
0
32
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
-6
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
22
0
0
0
-75
0
0
0
0
0
0
20
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
-17
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
8
0
0
0
0
0
0
0
0
0
100
0
0
0
0
0
0
-20
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
9
0
0
0
-28
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
-50
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
-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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
10
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
14
0
0
0
20
0
0
-21
0
0
0
0
0
0
45
14
0
0
0
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
40
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
-45
0
0
0
-50
0
0
0
-7
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
-12
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-71
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
22
-43
0
0
69
0
0
0
-7
0
0
43
0
0
0
0
0
0
-36
14
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
39
2
0
0
0
0
0
0
22
0
0
14
0
-1
0
0
0
0
16
56
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
18
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
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
10
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
14
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
-48
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
-20
0
0
0
0
0
0
-50
-14
0
0
-32
0
0
0
10
0
0
82
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-18
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
-10
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-40
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-37
82
0
0
0
0
0
0
-5
16
53
-56
0
7
0
0
0
0
-17
-7
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
9
0
0
0
22
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
3
0
0
0
0
0
0
0
0
0
0
70
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
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
-28
0
0
0
41
0
0
0
0
0
0
-72
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
7
0
0
0
38
0
0
0
0
0
0
20
0
0
0
0
0
0
45
0
0
0
0
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
22
0
0
0
-20
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
50
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
106
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
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
-14
0
0
0
0
0
0
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
-5
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
18
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
34
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
-47
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
-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
32
0
0
0
0
0
0
6
0
0
0
-56
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
15
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
4
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
10
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
-26
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
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
18
0
0
0
-31
0
0
0
-6
0
0
105
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-22
1
0
0
0
0
0
0
0
21
-17
0
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
17
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
62
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
-32
0
0
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
24
0
0
0
-36
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
28
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-14
10
0
0
0
0
0
0
-1
0
0
39
0
0
0
0
0
0
10
0
0
0
-26
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-35
-1
1
0
33
0
0
0
19
1
0
129
0
0
0
0
0
10
13
-7
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
5
0
0
71
0
0
0
0
0
0
0
14
0
0
-2
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
22
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
-30
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-3
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
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
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
17
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
-45
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
77
0
0
0
-28
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
-11
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-10
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
41
0
0
0
8
0
0
0
-7
-2
0
-36
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
1
4
-2
3
0
0
0
0
0
3
-26
0
72
0
0
0
0
0
0
7
1
0
0
16
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-50
5
0
0
32
0
0
0
2
0
0
-27
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
4
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
3
8
0
0
28
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
43
0
0
0
-8
0
0
0
-28
-3
0
42
0
0
0
0
0
2
34
7
0
0
0
0
0
0
0
-13
5
0
23
0
0
0
0
0
-28
-33
-19
0
0
0
0
0
15
2
36
10
0
0
0
0
0
0
32
26
0
0
27
0
0
0
0
0
16
51
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
-2
0
0
0
0
0
0
0
0
0
0
-33
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
-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
48
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
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
-17
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
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
63
0
0
0
0
0
0
76
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
1
0
0
0
93
0
0
0
0
0
0
81
0
0
0
0
0
0
7
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
131
0
0
0
0
0
0
24
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-6
0
0
0
28
0
0
0
-3
10
0
-8
0
0
0
0
0
0
37
-6
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-18
7
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
48
0
-13
0
-8
0
0
0
0
0
0
-14
0
0
0
0
0
0
-43
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
8
0
0
0
0
0
3
0
0
24
0
0
0
0
0
0
-34
-1
0
0
-33
0
0
0
-7
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
51
0
0
0
0
0
0
-22
0
0
0
0
0
0
5
0
1
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
-4
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
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
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
7
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
15
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
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
51
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
-43
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
5
0
0
0
16
0
0
0
0
0
0
81
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
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
29
0
0
0
23
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
53
0
0
0
-4
0
0
-38
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
-4
-14
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
31
0
0
0
50
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
48
0
0
0
-21
0
0
0
-8
5
0
-16
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
36
-25
0
0
2
0
0
0
-15
0
0
50
0
0
0
0
0
0
10
42
0
0
7
0
0
0
-7
0
0
-5
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-25
4
0
0
74
0
0
0
1
8
0
-51
0
0
0
0
0
-7
-10
5
6
0
0
0
0
0
18
32
100
0
0
0
0
0
0
0
48
9
2
0
0
0
0
0
53
-5
3
-64
0
0
0
0
0
0
-28
13
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
-5
0
0
0
-27
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
-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
0
0
0
0
-28
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-10
0
0
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
-1
0
0
0
0
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
-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
23
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
36
0
0
0
0
0
0
-2
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
65
0
0
0
-13
0
0
0
0
0
0
24
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-105
0
0
0
0
0
0
0
0
0
0
-15
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
89
0
0
0
0
0
0
3
0
0
0
-62
0
0
0
-13
0
0
45
0
-34
0
0
0
0
78
40
-4
0
0
0
0
0
0
5
28
0
0
0
0
0
0
0
-37
-5
1
0
0
0
0
0
0
21
-5
0
0
0
0
0
0
0
-15
2
0
0
9
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-15
0
0
0
44
0
0
0
4
0
0
7
0
0
0
0
0
7
-4
11
0
0
0
0
0
0
2
-17
3
0
0
20
0
0
0
7
-37
-63
5
0
0
0
0
0
-28
-22
-2
-40
0
0
0
0
0
0
14
-22
0
0
44
0
0
0
3
-16
0
-13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-24
0
0
0
-48
0
0
0
0
0
0
-37
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
7
0
0
35
0
0
0
0
0
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
10
0
0
0
0
0
0
-41
0
0
0
38
0
0
0
0
-1
0
46
0
0
0
0
0
0
-5
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
-63
0
0
0
0
0
0
48
0
0
0
100
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
61
0
2
0
5
0
0
0
1
0
0
32
0
-1
0
0
0
0
-17
-4
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
-8
-11
0
0
0
0
0
0
-10
3
-5
20
0
0
0
0
0
0
-40
20
0
0
34
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
22
0
0
0
-41
0
0
0
31
3
0
-95
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
-3
30
-6
4
0
0
0
0
0
9
24
0
23
0
0
0
0
0
0
-7
-2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
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
-29
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
67
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
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
0
0
0
0
-22
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
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
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
62
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
56
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
-27
0
0
0
0
0
0
0
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
-27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
90
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
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
-18
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
34
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
-6
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
-9
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
-57
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
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
-32
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
-1
0
0
0
0
0
0
-16
0
0
0
45
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
-1
0
0
0
26
0
0
0
0
0
0
-70
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
0
0
0
0
0
0
0
12
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
1
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
-5
0
0
0
0
0
0
-14
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
32
0
0
0
0
0
0
0
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
59
0
0
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
-11
0
0
0
152
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
-1
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
9
0
0
0
0
0
0
18
0
0
0
26
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
-8
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
50
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
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
51
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
-20
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-16
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
15
0
0
0
38
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-10
0
0
0
48
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
78
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
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-26
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
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
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
26
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
30
0
0
0
0
0
0
11
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
18
0
0
0
0
0
0
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
-35
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
23
-6
0
32
0
0
0
0
-17
0
8
-11
0
0
0
0
0
0
-32
6
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
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
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
17
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-32
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
18
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-19
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
32
0
0
0
-55
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
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
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
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
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
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
-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
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
2
0
0
0
0
0
0
0
0
0
0
21
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
-15
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
-56
0
0
0
0
0
0
-5
0
0
0
19
0
0
0
0
-5
0
51
0
0
0
0
0
0
-37
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
-28
0
0
0
0
0
0
13
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
40
-20
0
0
43
0
0
0
0
1
1
53
0
1
0
0
0
-1
19
22
0
0
0
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
31
0
0
0
38
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
18
4
0
0
10
0
0
0
-4
-5
0
81
0
0
0
0
0
1
-36
-10
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-14
0
0
0
104
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
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
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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
36
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
-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
16
0
0
0
0
0
0
-36
0
0
0
-32
0
0
0
0
0
0
51
0
0
0
0
0
-3
0
-20
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
-50
0
0
0
0
0
0
-11
0
0
0
42
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
37
4
0
0
1
0
0
0
35
3
0
29
0
0
0
0
0
29
55
-9
-11
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
-63
8
0
0
0
0
0
0
-4
-5
0
-43
0
0
0
0
0
0
15
-3
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
4
0
0
0
0
0
2
-53
29
0
0
-22
0
0
0
-24
-2
0
0
0
4
0
0
0
0
12
10
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
15
13
7
1
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
63
0
0
0
64
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
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
24
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
20
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
0
0
0
0
0
0
0
0
0
0
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
11
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
-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
-5
0
0
0
0
0
0
106
0
0
0
-84
0
0
0
-1
1
0
6
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-11
0
0
0
-7
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
43
0
0
0
96
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-130
-30
0
0
31
0
0
0
0
61
1
34
0
4
0
0
0
11
-14
0
0
0
0
0
0
-6
0
-17
1
0
-15
6
0
0
0
15
102
0
1
0
0
0
0
3
11
11
18
-36
0
16
0
0
0
0
-30
-5
-5
0
35
0
0
0
-4
0
0
25
0
0
0
0
0
0
15
0
-19
0
0
0
0
0
0
-3
-3
0
0
-4
0
0
0
33
45
-8
5
0
0
0
0
0
-11
55
3
0
0
0
0
0
0
0
-19
4
-15
0
0
0
0
0
-3
68
25
0
0
0
0
0
0
-14
-14
9
52
0
0
0
0
0
20
24
51
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
40
0
0
0
-73
0
0
0
0
0
0
-31
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
2
10
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
-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
0
0
0
0
0
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
-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
-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
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
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
54
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
43
0
0
0
0
0
0
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
0
0
0
0
0
18
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
17
0
0
0
0
0
0
11
3
0
0
43
0
0
0
0
0
0
-50
0
0
0
0
0
0
32
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
28
0
0
0
14
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
19
-6
0
0
51
0
0
0
-42
0
0
48
0
0
0
0
0
-2
-20
100
17
0
0
0
0
0
11
-9
0
0
0
0
0
0
0
-21
3
-5
-4
0
0
0
0
0
-7
-5
0
6
0
0
0
0
0
0
2
-57
0
0
-32
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
96
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
1
1
0
-64
0
-3
0
0
0
-6
43
29
-2
0
0
0
0
0
2
11
-6
0
0
-3
0
0
0
-8
38
33
3
0
0
0
0
0
9
2
0
-6
0
0
0
0
0
0
22
0
0
0
17
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
21
0
0
0
-1
0
0
0
0
0
0
40
0
0
0
0
0
0
13
-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
-28
0
0
0
0
0
0
-2
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
14
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
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
33
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
14
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
-23
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
7
0
0
0
0
0
0
69
0
0
0
4
0
0
0
-3
0
0
-17
0
0
0
0
0
0
-65
30
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
39
0
0
0
0
0
0
-20
0
0
0
44
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
-5
-30
18
4
0
18
0
0
0
-7
1
0
32
0
0
0
0
0
0
-2
-32
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-5
0
2
46
0
17
0
0
0
0
79
0
0
0
32
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
52
0
0
0
0
0
0
27
-23
0
0
-17
0
0
0
5
-26
0
62
0
0
0
0
0
-4
36
16
7
0
0
0
0
0
-1
19
0
-5
0
0
0
0
0
0
-6
-37
0
0
3
0
0
0
-10
5
0
38
0
0
0
0
0
0
-28
51
0
0
1
0
0
0
0
0
0
29
0
0
0
0
0
0
-4
0
-35
0
0
0
0
0
0
-29
-18
0
0
-17
0
0
0
-27
-1
19
-24
0
0
0
0
0
14
29
-7
0
0
0
0
0
0
0
-42
5
-11
0
-1
0
0
0
-13
-4
-5
-5
0
0
0
0
0
4
0
0
69
0
8
0
0
0
-6
-13
33
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
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
20
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
-13
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
0
0
0
0
0
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
-25
0
0
0
0
0
0
-33
0
0
0
39
0
0
0
0
0
0
15
0
0
0
0
0
0
59
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
14
0
0
0
0
0
0
8
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
20
-31
0
0
42
0
0
0
0
0
0
56
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
-38
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
-13
-26
-4
26
0
0
0
0
0
-9
55
54
0
0
-23
0
0
0
-52
18
-32
-5
0
0
0
0
0
-11
11
-22
0
0
0
0
0
0
2
-13
21
-3
0
-5
0
0
0
0
-34
0
0
0
0
0
0
0
-9
-6
43
0
0
16
0
0
0
0
32
-11
0
0
12
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
14
0
0
0
14
0
0
0
0
13
0
66
0
0
0
0
0
-1
5
20
0
0
0
0
0
0
0
-25
46
0
-8
-7
0
0
0
20
-7
35
-1
-56
0
0
0
0
-8
5
2
5
0
0
0
0
0
0
-44
9
0
0
38
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-38
0
0
0
14
0
0
0
0
0
0
33
0
0
0
0
0
0
70
0
0
0
0
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
-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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
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
12
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
-1
0
0
0
0
0
0
0
0
0
0
99
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
-43
0
0
0
0
0
0
-36
-10
0
0
92
0
0
0
-13
41
0
-20
0
0
0
0
0
0
11
-3
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
11
0
-25
0
0
0
0
0
0
-55
0
0
0
22
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-33
0
0
0
51
0
0
0
0
0
0
-26
0
0
0
0
0
0
-7
0
-2
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
13
0
-4
0
0
0
0
0
0
-6
0
0
-53
0
0
0
0
0
0
-6
0
0
0
21
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
23
-11
0
0
16
0
0
0
4
0
0
52
0
0
0
0
0
-14
-5
-14
0
0
0
0
0
0
-3
22
7
0
0
67
0
0
0
7
17
55
0
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
21
-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
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
6
0
0
0
-36
0
0
0
0
-3
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
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
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
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
-1
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
-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
15
0
0
0
0
0
0
-7
0
0
0
53
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
34
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
40
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
-41
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
-7
0
0
0
0
0
0
23
0
0
0
-12
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-30
2
0
0
37
0
0
0
5
0
0
118
0
0
0
0
0
1
25
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
62
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
14
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
105
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
8
0
0
0
7
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
-9
0
0
0
0
0
0
0
0
0
0
34
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
-6
0
0
0
0
0
0
-29
5
0
0
-67
0
0
0
1
2
0
-14
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
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
49
0
0
0
-36
0
0
0
0
0
0
-7
0
0
0
0
0
-13
0
0
76
-2
0
0
0
0
3
9
64
0
0
-10
0
0
0
-3
7
-18
0
0
0
0
0
0
0
-25
63
10
0
0
0
0
0
0
-15
0
14
0
0
0
0
0
0
61
-28
0
6
0
0
0
-5
0
0
2
72
0
-4
0
0
0
0
19
-21
0
0
-47
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
46
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
6
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-108
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
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
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
8
0
0
0
-43
0
2
19
0
0
0
0
0
3
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
14
0
0
0
0
0
0
-17
0
0
0
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
49
0
0
31
0
0
0
34
2
0
-47
0
0
0
0
0
-35
16
0
0
0
0
0
0
0
0
-11
4
-33
0
0
0
0
0
3
-12
-5
0
0
0
0
0
0
0
0
10
27
0
-6
0
0
0
0
48
0
0
0
-7
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-27
-1
0
0
3
0
0
0
0
16
36
-18
0
0
0
0
0
1
-5
20
0
5
0
0
0
0
3
6
0
1
0
0
0
0
0
-2
57
32
0
0
0
0
0
6
0
2
0
30
0
0
0
0
0
0
-3
0
0
0
-6
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
22
0
0
0
65
0
0
0
-24
-9
5
19
0
0
0
0
0
0
3
32
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
62
8
0
0
0
0
0
0
1
0
0
59
0
0
0
0
0
0
7
7
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
111
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
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
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
3
0
0
0
63
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
39
0
0
0
-2
0
-3
32
0
0
0
0
0
-5
42
3
0
0
0
0
0
0
-5
26
0
0
0
0
0
0
0
3
36
15
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
90
-25
0
0
-54
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-71
0
0
0
20
0
0
0
-7
0
14
58
0
0
0
0
0
-3
16
16
-2
0
0
0
0
0
0
54
27
0
0
0
0
0
0
0
27
-34
4
0
0
0
0
0
6
0
0
1
0
-6
0
0
0
0
34
1
0
0
37
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
35
-1
0
0
-36
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
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
-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
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
36
0
0
0
0
0
0
-12
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
11
0
0
0
0
0
0
-3
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
23
0
0
19
0
0
0
0
0
-3
7
0
0
0
0
0
11
32
40
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
3
78
0
0
0
0
0
0
0
0
3
0
14
0
0
0
0
0
0
-28
0
0
0
23
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-7
-22
0
0
0
0
0
0
-20
-2
0
0
-21
0
0
0
0
0
11
14
0
0
0
0
0
17
45
-6
0
0
0
0
0
0
0
53
1
0
0
0
0
0
0
5
-23
12
0
0
0
0
0
0
9
-8
0
3
0
-3
0
0
0
0
-14
0
0
0
38
0
0
0
0
0
13
-16
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
29
0
0
0
-29
0
0
0
0
0
0
-25
0
0
0
0
0
0
31
-1
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
-1
14
-9
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
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
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
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
-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
4
0
0
0
81
0
0
0
0
0
0
8
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
-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
55
0
0
0
0
0
0
-6
0
0
0
23
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
-19
3
0
0
0
0
0
0
0
-5
0
18
0
0
0
0
0
0
-13
0
0
0
28
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
4
22
0
0
0
0
0
0
53
-59
0
0
-21
0
0
0
-1
0
1
93
0
0
0
0
0
-2
-48
-3
4
0
0
0
0
0
-5
75
6
56
0
0
0
0
0
0
-32
-2
0
0
0
0
0
0
0
-3
5
0
0
-1
0
0
0
0
61
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
0
24
0
0
0
0
0
0
-9
0
0
0
0
0
3
41
0
0
0
0
0
0
0
0
22
-3
0
0
0
0
0
0
-8
-99
17
0
0
0
0
0
0
0
0
-1
-29
0
14
0
0
0
0
-62
-39
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
107
0
0
0
0
0
0
56
0
0
0
0
0
0
28
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
25
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
18
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
-5
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
4
2
0
0
35
0
0
0
-3
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
1
-5
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
15
0
0
0
35
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
-80
0
0
0
8
3
0
-6
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
-22
-45
0
2
0
0
0
0
0
-5
0
0
-4
0
0
0
0
0
0
-2
0
0
0
22
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
85
0
0
0
30
0
0
0
0
0
0
4
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
3
0
0
9
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
10
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-48
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
-1
0
0
0
0
0
0
0
0
0
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
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
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
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-13
0
0
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
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
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
32
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
55
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
-6
0
0
0
0
0
0
-5
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
4
0
0
0
-2
0
0
0
0
0
0
33
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
12
0
0
0
39
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
52
0
0
0
-10
0
0
0
2
20
0
-27
0
-1
0
0
0
5
-4
-22
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
-7
0
0
50
0
0
0
0
0
0
41
-5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-45
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
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
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
33
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
52
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
120
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
111
0
0
0
0
0
0
35
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-16
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
-20
0
0
0
-9
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
38
0
0
0
0
0
-2
24
0
0
0
-26
0
0
0
0
0
0
0
0
14
0
0
0
24
-42
5
0
0
0
0
0
0
19
4
32
0
0
0
0
0
0
3
-2
9
-5
1
0
0
0
0
9
0
0
17
0
0
0
0
0
0
5
-6
0
0
82
0
0
0
0
8
0
34
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-52
19
0
0
-17
0
0
0
-6
74
1
-23
0
-26
0
0
0
93
-9
-18
0
0
0
0
0
0
-5
0
0
4
-5
0
0
0
0
0
62
0
0
0
0
0
0
0
0
1
0
-19
0
0
0
0
0
0
30
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
33
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
0
-3
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
66
0
0
0
0
0
0
28
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
6
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
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
35
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
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
-11
0
0
0
4
-4
0
-12
0
0
0
0
0
4
31
0
0
0
0
0
0
0
-2
23
-9
0
0
0
0
0
0
0
45
25
0
0
0
0
0
0
0
-1
0
-6
0
33
0
0
0
0
33
-1
0
0
97
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-14
0
0
0
12
0
0
0
0
0
0
34
0
0
0
0
0
-1
89
54
0
0
0
0
0
0
9
18
2
0
0
1
0
0
0
-1
34
29
0
0
0
0
0
0
5
0
0
36
0
0
0
0
0
0
84
0
0
0
14
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
20
0
0
0
0
0
7
20
3
0
0
30
0
0
0
6
0
0
-21
0
0
0
0
0
0
-22
-2
0
0
0
0
0
0
10
2
22
0
0
-5
0
0
0
-2
-57
10
0
0
0
0
0
0
0
0
0
66
0
19
0
0
0
0
9
-26
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
-82
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
6
0
0
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
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
44
0
0
0
0
0
0
1
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
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
-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
67
0
0
0
0
0
0
16
0
0
0
14
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
-43
0
0
0
0
0
0
71
0
0
0
0
0
0
-17
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
42
0
0
0
0
0
0
-61
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-7
9
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
22
0
0
-4
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-20
10
0
0
0
0
0
0
-5
7
0
32
0
0
0
0
0
0
71
5
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-23
4
0
0
17
0
0
0
15
1
0
-2
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
7
0
0
0
33
0
0
0
0
5
10
0
-37
-1
0
0
0
-2
48
0
24
0
-24
0
0
0
0
-53
-16
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
-14
0
0
0
45
0
0
0
1
0
0
-59
0
0
0
0
0
0
20
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-36
0
0
0
0
0
0
-6
-1
0
8
0
1
0
0
0
0
33
-1
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
-4
0
0
0
36
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
20
0
0
0
0
0
0
-5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
33
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
0
0
0
0
-68
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
6
0
0
0
0
0
0
7
0
0
0
-66
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
27
0
0
0
0
0
0
-13
0
0
0
0
0
5
31
2
0
0
0
0
0
0
5
50
-9
0
-1
14
0
0
0
0
32
0
0
-15
0
0
0
0
5
36
19
-25
0
5
0
0
0
0
-58
29
0
0
28
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
5
0
0
0
11
0
0
0
0
0
0
16
0
0
0
0
0
30
33
14
0
0
0
0
0
0
-18
24
0
-5
0
-6
0
0
0
-20
53
2
0
7
20
0
0
0
-5
6
8
43
0
-13
0
0
0
0
-43
-22
0
0
73
0
0
0
0
0
0
33
0
0
0
0
0
0
0
-2
111
0
0
0
0
0
0
-3
0
0
0
-27
0
0
0
0
-20
0
44
0
0
0
0
0
19
10
0
0
0
0
0
0
14
0
-8
5
0
0
38
0
0
0
10
68
61
-11
0
0
0
0
0
-2
3
6
14
0
-23
0
0
0
0
53
-21
-13
0
3
0
0
0
6
0
0
14
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
5
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
79
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
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
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
-64
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
49
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
1
0
0
0
0
0
0
-41
0
0
0
-17
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
-12
0
0
-23
0
0
0
0
0
0
14
0
0
0
8
0
0
0
0
0
0
-13
0
0
0
0
0
0
14
0
-23
0
0
0
0
0
0
19
-10
0
0
63
0
0
0
0
0
0
-46
0
0
0
0
0
-7
78
9
0
0
0
0
0
3
-7
1
-18
5
0
3
0
0
0
-17
22
-2
16
3
0
0
0
0
11
-22
7
0
0
-68
0
0
0
0
53
-3
-6
0
-18
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
82
0
0
0
0
0
2
-38
-1
0
0
-23
0
0
0
5
0
-1
-13
0
0
0
0
0
68
-6
-17
2
0
15
0
0
40
88
5
11
-19
5
4
0
0
0
27
35
-19
-45
-39
0
0
0
0
21
-40
-41
4
0
-25
0
0
0
14
23
-70
-3
0
-16
0
0
0
42
80
0
-51
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-57
0
0
0
57
0
0
0
0
0
0
84
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
49
0
0
0
2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
16
-19
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
-44
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
5
0
0
0
0
0
0
0
-3
0
0
26
0
0
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
14
0
0
0
0
0
0
-62
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
18
0
0
0
0
0
0
5
0
0
0
-59
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-48
0
0
0
-10
0
0
0
0
0
0
36
0
0
0
0
0
0
14
0
0
0
0
0
0
0
11
19
0
0
0
0
0
0
0
34
-26
25
5
-8
0
0
0
0
21
22
0
69
0
31
0
0
0
0
23
43
0
0
87
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
14
0
0
0
26
0
0
0
0
0
0
14
0
0
0
0
0
15
52
0
0
0
0
0
0
0
9
59
-21
0
0
0
0
0
0
33
-48
56
25
33
0
0
0
0
2
-69
21
-25
0
-15
0
0
0
0
16
-28
3
0
63
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-21
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
-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
8
0
0
0
0
0
0
2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-3
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
-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
29
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
5
0
0
0
-87
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
14
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
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
2
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
1
0
0
0
30
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
21
0
0
0
0
0
0
9
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
-13
0
0
0
0
0
0
0
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
-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
0
1
0
0
31
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
14
0
0
0
0
0
0
0
0
0
0
-65
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
6
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
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
111
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
15
0
0
0
0
0
0
-43
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
0
0
-31
0
0
0
0
0
0
18
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
108
0
0
0
0
0
0
-6
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
0
0
71
0
0
0
0
0
0
25
9
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
-3
0
0
0
32
0
0
0
-6
0
0
66
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
3
0
0
0
0
0
0
0
0
0
50
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
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
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
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
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
66
0
0
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
-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
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
-4
0
0
0
42
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
44
0
0
0
0
0
0
0
0
0
0
29
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
0
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
46
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
42
0
0
0
0
0
0
10
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
-22
0
0
0
-34
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
-43
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
11
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
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
-30
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
-19
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
53
0
0
0
0
0
0
-8
0
0
0
-32
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
7
0
0
0
-22
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
53
0
0
0
0
0
0
0
0
0
0
-89
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
-1
0
0
0
0
0
0
6
0
0
0
-14
0
0
0
0
0
0
43
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-43
-6
0
0
0
0
0
0
0
0
0
-20
0
54
0
0
0
0
10
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
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
-33
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
-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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
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
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
82
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
17
0
0
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
-55
0
0
0
22
0
0
0
0
0
0
-21
0
0
0
0
0
0
-39
0
0
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
17
-1
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-62
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
0
57
-52
10
0
6
0
0
0
0
9
-5
-9
1
0
1
0
0
0
0
-12
-39
1
0
57
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
-15
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
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
71
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
16
0
0
0
0
0
0
17
0
0
0
27
0
0
0
0
0
0
-83
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-9
38
0
0
0
0
0
0
0
0
0
102
0
6
0
0
0
0
18
0
0
0
22
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
36
0
0
0
0
0
0
-54
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-22
0
0
0
62
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
1
0
0
0
0
0
0
-22
0
0
0
-14
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
-38
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
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
18
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
56
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
64
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
33
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
17
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
3
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
-1
0
0
0
-22
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
-16
0
0
0
0
0
0
0
0
0
0
48
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
-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
-29
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
-16
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-2
0
0
0
0
0
0
-62
0
0
0
0
0
0
-13
0
0
0
0
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
12
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
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
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
-38
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
8
0
0
0
0
0
0
0
0
0
0
31
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
90
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
77
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
35
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
0
0
0
0
0
0
0
0
0
0
0
55
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
-71
0
0
0
0
0
0
0
0
0
0
108
0
0
0
0
0
0
-7
-1
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
3
0
0
0
0
0
0
0
0
0
0
0
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
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
27
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
-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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-11
0
0
0
0
0
0
0
0
0
0
33
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
-2
0
0
0
0
0
0
0
0
0
0
-29
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
9
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-21
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-15
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
16
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
15
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
2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
3
3
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
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
-69
0
0
0
0
0
0
26
0
0
0
26
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
-36
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
0
-9
0
0
6
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
60
0
0
0
55
0
0
0
0
0
0
-3
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
7
12
1
3
8
0
0
0
0
-2
0
45
32
0
1
0
0
0
0
11
-5
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
-22
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
54
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
-2
0
0
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
3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
43
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
59
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
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
98
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
46
0
0
0
0
0
0
42
0
0
0
0
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
-30
0
0
0
-2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
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
0
0
0
0
-19
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
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
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
4
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-54
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
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
-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
17
0
0
0
0
0
0
0
0
0
0
-50
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
-1
0
0
0
15
0
0
0
0
0
0
110
0
0
0
0
0
0
0
0
0
0
0
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
22
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
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
-8
0
0
0
0
0
0
0
0
0
0
72
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-12
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
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
0
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
0
0
0
0
0
0
0
0
0
0
0
17
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
8
0
0
0
-81
0
0
0
0
0
0
60
0
0
0
0
0
0
-20
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
5
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
26
0
0
0
-52
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
26
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-34
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
1
0
0
0
62
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
26
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
12
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
25
0
0
0
20
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
-46
0
0
0
0
0
0
0
0
0
0
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
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
4
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
-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
0
0
0
0
0
0
0
0
0
0
0
37
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
22
0
0
0
23
0
0
0
0
0
0
23
0
0
0
0
0
0
-27
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
-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
14
0
0
0
-34
0
0
0
0
0
0
50
0
0
0
0
0
0
-45
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
60
0
0
0
0
0
0
-8
0
0
0
-21
0
0
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
44
0
0
0
0
0
0
-13
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
83
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
55
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
39
0
0
0
0
0
0
13
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
6
0
0
0
-27
0
0
0
2
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
-1
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
-103
0
0
0
8
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
-12
-13
0
0
0
0
0
0
-4
0
0
-2
0
0
0
0
0
0
28
-10
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
14
0
0
0
38
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
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
21
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
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
43
0
0
0
133
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
7
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
24
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
-3
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
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
31
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
-11
0
0
0
-6
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
1
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
19
0
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
3
-2
0
0
-42
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
0
0
0
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
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
1
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
-32
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
45
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
13
0
4
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
12
0
0
0
-71
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
45
0
0
-80
0
0
0
0
2
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
-18
2
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-24
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
11
0
0
0
40
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
3
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
37
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
-14
0
0
0
0
0
0
0
0
0
0
-93
0
0
0
0
0
0
5
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
4
3
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
0
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
53
0
0
0
0
0
0
1
0
0
0
54
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
20
0
0
0
0
0
0
0
0
0
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
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
83
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
-18
0
0
0
0
0
0
-17
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
34
0
0
0
-13
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
-34
-3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
27
0
0
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
-45
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
-35
33
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-12
-10
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
-21
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
37
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
20
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
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
-4
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
25
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
46
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
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
39
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-24
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
3
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-2
0
0
42
0
0
0
0
0
0
-44
-4
0
0
73
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
83
0
0
0
-9
0
0
0
0
0
-4
-18
0
0
0
0
0
-7
0
-2
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
5
-6
0
0
0
0
0
0
0
2
0
63
0
30
0
0
0
0
25
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
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-61
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
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
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
23
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
5
0
0
0
0
0
0
0
17
-5
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
0
3
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
0
0
0
0
0
0
-5
12
23
0
-5
0
0
0
0
-7
1
1
73
0
0
0
0
0
0
44
-20
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
-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
14
0
0
0
0
0
0
0
0
0
0
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
16
0
0
0
-42
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
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
5
0
0
0
0
0
0
7
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
3
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-35
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-41
0
0
0
13
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-13
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
17
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-47
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
-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
-1
0
0
0
0
0
0
11
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
-3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-17
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
8
0
0
0
36
0
0
0
4
0
0
-23
0
0
0
0
0
-9
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
3
0
0
0
0
0
0
-7
0
0
0
-23
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-7
9
0
0
57
0
0
0
9
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
-56
9
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
101
0
0
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
-49
0
0
0
62
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
-36
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
5
0
0
0
45
0
0
0
-4
0
0
8
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
-12
0
0
0
0
0
0
31
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
-5
0
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
10
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
3
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
21
0
0
0
11
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-31
18
0
0
92
0
0
0
-10
0
24
42
0
0
0
0
0
12
-49
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
15
0
0
0
66
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
17
0
0
0
-49
0
0
0
0
0
0
98
0
0
0
0
0
0
38
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
15
0
0
0
0
0
0
-14
0
0
0
45
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
-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
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
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
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
53
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
4
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
-3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
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
25
0
0
0
-24
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
18
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
26
0
0
0
35
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
11
0
0
0
-2
0
0
0
14
0
0
77
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
60
14
-1
0
0
0
0
0
2
0
0
6
0
0
0
0
0
0
12
0
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
-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
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
4
0
0
0
0
0
0
0
0
0
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
51
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
-15
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
-12
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
27
0
0
0
53
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-40
0
0
0
5
0
0
0
5
5
0
67
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
-20
0
0
0
0
0
0
-33
0
0
-25
0
0
0
0
0
0
-2
2
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
-19
0
0
0
34
0
0
0
4
0
0
90
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
-48
0
0
0
0
0
0
39
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
-24
0
0
0
118
0
0
0
0
0
0
81
0
0
0
0
0
0
42
0
0
0
0
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
-17
0
0
0
4
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
31
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
60
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
10
0
0
0
0
0
0
33
0
0
0
69
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
54
0
0
0
0
0
0
0
0
5
0
38
0
0
0
0
0
0
-31
0
0
0
53
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-14
0
0
0
-35
0
0
0
0
0
0
-22
0
0
0
0
0
0
-41
0
16
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
118
0
0
0
0
0
0
17
-3
0
0
50
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
5
-52
8
2
0
44
0
0
0
29
2
0
39
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
53
-5
-6
0
0
0
0
0
0
-33
0
7
0
0
0
0
0
0
9
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
3
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
8
0
0
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
-26
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
16
0
0
0
71
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
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
13
0
0
0
0
0
0
-51
0
0
0
0
0
0
-14
0
0
0
0
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
-19
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
51
0
0
0
1
0
0
-69
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
19
7
0
0
0
0
0
0
0
0
20
0
0
-3
0
0
0
0
0
6
0
0
-2
0
0
0
0
16
0
0
0
46
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
29
0
0
0
5
0
0
13
0
0
0
0
0
0
68
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-7
-29
31
0
0
0
0
0
0
22
9
34
-16
0
0
0
0
0
0
2
-34
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-52
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
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
-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
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
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
38
0
0
0
48
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
-104
0
0
0
0
0
0
6
0
0
0
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
28
0
0
0
-3
0
0
0
0
0
0
18
0
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
-22
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
8
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
-13
0
0
0
32
0
0
0
0
0
0
-37
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
4
0
0
0
0
0
0
0
-1
0
35
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-11
0
0
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
-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
19
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
-11
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
2
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
11
0
0
0
-13
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
56
0
0
0
0
0
0
9
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
29
0
0
0
6
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
2
0
0
-44
0
0
0
0
0
0
5
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
-26
0
0
0
43
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
-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
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
63
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
0
0
0
0
-32
0
0
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
0
0
0
0
0
0
-5
0
0
0
32
0
0
0
0
0
0
39
0
0
0
0
0
0
-50
0
0
0
0
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
7
0
0
0
35
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
38
0
0
0
0
-1
-9
0
0
0
0
0
0
-2
-18
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
7
-24
0
-3
0
0
0
0
-8
0
7
0
-6
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
1
0
0
57
0
0
0
8
0
0
25
0
0
0
0
0
0
-38
-5
0
14
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-49
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
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
1
0
0
0
0
0
0
0
0
0
0
-13
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
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
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
23
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
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
21
0
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
31
0
0
0
0
0
0
-16
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-5
17
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
36
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
-6
0
0
0
0
0
0
-3
0
0
0
-79
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
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
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
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
21
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-7
0
0
0
0
0
0
21
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-28
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
14
0
0
0
0
0
0
61
-8
0
0
27
0
0
0
0
0
0
-92
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
-17
0
0
0
0
0
0
-25
0
0
0
135
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
2
0
0
0
0
0
0
-24
0
0
0
0
0
0
-77
0
0
0
0
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
16
7
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
18
0
0
0
47
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
62
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
81
0
0
0
0
0
0
21
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
35
0
0
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
-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
22
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
-5
0
0
0
0
0
0
-25
0
0
0
37
0
0
0
0
0
4
-54
0
0
0
0
0
0
-23
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
-1
10
0
0
0
0
0
0
-25
0
0
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
-54
0
0
0
0
0
0
-9
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
56
-63
1
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
21
0
0
0
27
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-23
0
0
0
-21
0
0
0
0
0
0
56
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-5
-9
0
0
5
0
0
0
0
-23
-2
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
-7
0
0
0
86
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
-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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-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
-4
0
0
0
0
0
0
0
0
0
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
-13
0
0
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
62
0
0
0
0
0
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
31
0
0
0
0
0
0
-4
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-35
0
0
0
-29
0
0
0
0
0
0
-32
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-6
27
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
11
4
0
0
0
0
0
0
0
5
0
0
0
-35
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
20
0
0
0
58
0
0
0
0
0
0
11
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
23
4
0
-7
7
0
0
0
-23
75
-21
0
1
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
53
0
0
0
23
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
30
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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
1
0
0
0
0
0
0
36
0
0
0
-36
0
0
0
0
0
0
-9
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
27
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
-22
0
0
0
0
0
0
-5
0
0
0
-89
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
-20
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
83
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
62
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
14
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
-11
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
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
-34
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
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
-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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
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
23
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-67
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
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
24
0
0
0
0
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
-3
0
0
0
20
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
9
0
0
0
14
0
0
0
1
1
-1
26
0
0
0
0
0
8
-53
15
0
0
15
0
0
0
0
0
-23
0
0
0
0
0
0
-9
11
-39
0
0
0
0
0
0
16
0
0
53
0
0
0
0
0
0
-38
5
0
0
26
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-4
-52
4
0
0
-7
0
0
0
-26
0
5
-32
0
30
0
0
0
-6
58
-28
0
0
0
0
0
-4
21
17
6
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
15
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
7
22
0
0
-17
0
0
0
-4
-2
3
-16
0
0
0
0
0
10
61
-2
0
0
0
0
0
0
0
3
14
1
0
0
0
0
0
0
33
5
0
0
0
0
0
0
0
-5
4
5
0
0
0
0
0
0
-14
0
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
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
-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
-14
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
17
0
0
0
0
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
54
0
0
0
0
0
0
0
0
0
0
50
0
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
74
0
0
0
0
0
0
-55
0
0
0
14
0
0
0
0
0
0
-20
0
0
0
0
0
8
4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
25
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
75
14
0
0
11
0
0
0
16
0
0
-17
0
0
0
0
0
-1
57
22
11
0
0
0
0
3
0
-20
-10
-11
0
0
0
0
0
0
-39
13
0
0
0
0
0
0
0
0
0
7
0
20
0
0
0
0
6
1
0
0
-7
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-23
-31
58
11
3
23
0
0
0
-3
-75
3
0
6
-15
0
0
0
-8
33
7
-2
0
0
0
0
0
-41
-42
13
-25
0
0
0
0
0
-10
64
50
0
6
5
0
0
0
40
18
11
36
0
31
0
0
0
-11
95
15
0
10
3
0
0
0
-34
-5
-5
-27
0
0
0
0
0
0
0
0
21
0
0
0
0
0
-18
-32
-15
62
0
4
0
0
0
43
-8
47
48
0
-1
0
0
0
-23
38
-41
-5
0
0
0
0
11
0
11
5
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
-13
0
0
-14
0
0
0
0
0
0
59
11
0
0
86
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-14
0
0
0
16
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
-5
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
-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
-5
0
0
0
73
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
-18
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
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
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
10
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
77
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
-3
0
0
0
21
0
0
0
0
0
6
43
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-31
4
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
33
0
0
0
52
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
43
5
0
0
9
0
0
0
-14
19
-52
20
0
8
0
0
0
-49
7
0
0
0
0
0
0
0
0
-20
-12
5
0
2
0
0
0
30
46
4
0
0
0
0
0
0
-5
0
0
-26
0
0
0
0
0
0
-10
72
5
0
15
0
0
0
26
0
0
-10
0
0
0
0
0
0
0
0
30
0
0
0
0
0
-7
-23
3
0
0
16
0
0
0
-20
2
0
-47
0
0
0
0
0
25
-15
-12
0
0
0
0
0
0
13
0
5
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-3
-3
0
-6
0
0
0
0
0
0
-44
49
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
-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
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
74
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
50
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
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
-13
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
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
11
0
0
0
125
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
40
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
-2
0
0
0
0
0
0
-12
0
0
0
-27
0
0
0
0
0
0
52
0
0
0
0
0
0
56
0
0
0
0
0
0
0
8
0
27
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
60
0
0
0
-22
0
0
0
0
0
0
59
0
0
0
0
0
3
0
0
-28
0
0
0
0
0
0
3
0
0
0
-9
0
0
0
-7
2
-1
-28
5
0
0
0
0
1
19
2
0
0
0
0
0
9
24
-4
0
0
0
0
0
0
0
5
-82
-3
1
0
0
0
0
0
-23
11
0
-23
0
0
0
0
0
0
-88
31
0
0
-4
0
0
0
-5
0
0
26
0
0
0
0
0
-6
0
0
-28
0
0
0
0
0
0
5
7
0
0
23
0
0
0
-16
-1
7
5
2
32
0
0
0
-6
45
52
0
0
15
0
0
0
1
-34
10
0
0
0
0
0
0
-3
-12
-4
7
0
0
0
0
0
9
-5
11
28
0
-7
0
0
0
0
33
-14
0
19
24
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
4
0
0
-1
0
0
0
0
0
0
78
0
0
0
0
0
0
-5
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
33
0
0
0
0
0
0
15
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
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
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-102
0
0
0
0
0
0
16
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
32
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
-40
0
0
0
0
0
0
69
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
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
-4
0
0
0
-49
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
-3
0
0
0
0
0
0
0
0
0
0
36
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
35
0
0
0
25
0
0
0
0
-1
0
-62
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
14
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
22
0
0
-2
0
0
0
0
0
0
-1
0
0
0
54
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
5
-29
0
0
55
0
0
0
-22
-2
34
18
0
0
0
0
0
28
-53
34
0
0
0
0
0
0
11
68
-18
0
0
24
0
0
0
3
9
0
0
0
0
0
0
0
5
-16
-7
34
0
-14
0
0
0
-3
4
34
-6
0
4
0
0
0
0
0
0
14
0
0
0
0
0
5
0
0
14
0
0
0
0
0
0
46
7
0
0
16
0
0
0
3
0
3
15
0
0
0
0
0
-2
21
-3
0
0
0
0
0
0
33
14
-31
0
0
0
0
0
0
31
-3
0
0
0
3
0
0
0
29
-47
0
68
0
2
0
0
0
5
-43
6
-3
0
23
0
0
0
-29
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
3
0
0
47
0
0
0
-3
-5
0
-68
0
0
0
0
0
32
40
-1
0
0
-23
0
0
0
-23
28
-15
0
0
0
0
0
0
-1
42
31
0
0
0
0
0
0
-32
26
-1
5
0
0
0
0
0
0
-59
-5
0
0
23
0
0
0
9
0
0
65
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
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
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
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
25
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
-3
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
20
0
0
0
-15
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
45
0
0
0
0
0
0
-44
4
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
8
0
0
0
29
0
0
0
0
0
0
-94
0
0
0
0
0
0
48
0
0
0
0
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
-3
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-10
1
0
0
52
0
0
0
13
0
0
21
0
0
0
0
0
-31
9
5
0
0
0
0
0
0
0
-5
-21
0
0
0
0
0
0
0
33
-1
0
0
0
0
0
0
22
23
0
-14
0
0
0
0
0
0
-8
0
0
0
2
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
98
0
0
0
0
0
3
121
9
0
0
-3
0
0
0
62
27
9
12
0
0
0
0
0
11
-31
-7
-9
0
0
0
0
0
9
29
4
-41
0
0
0
0
0
-65
2
7
-10
0
0
0
0
0
7
17
0
0
0
1
0
0
0
1
-6
-4
48
0
14
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-13
0
0
0
-35
0
0
0
22
-1
0
-23
0
0
0
0
0
2
125
-14
2
0
4
0
0
0
-2
62
13
18
0
0
0
0
0
4
-37
-14
-11
14
0
0
0
0
-2
-10
11
32
0
7
0
0
0
-1
39
-15
-5
0
52
0
0
0
-5
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
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
0
0
0
0
0
0
0
0
26
-3
0
0
0
0
0
0
-2
0
-1
39
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
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
0
0
0
0
0
0
0
35
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
87
0
0
0
0
0
0
33
0
0
0
0
0
0
45
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
-18
1
0
0
13
0
0
0
0
0
0
-47
0
0
0
0
0
1
-23
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
5
-8
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
48
0
0
0
62
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
-38
0
0
0
1
0
-2
-35
0
5
0
0
0
-3
-11
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
43
27
0
0
0
0
0
0
0
2
6
0
-12
0
0
0
0
0
0
4
-6
0
0
11
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
36
10
0
0
4
0
0
0
1
0
0
-38
0
0
0
0
0
-4
66
3
0
0
0
0
0
0
0
29
-19
0
0
0
0
0
0
5
22
15
0
0
0
0
0
0
-7
0
0
-14
0
-2
0
0
0
-22
53
11
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
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-5
0
0
0
40
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
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
-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
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
-24
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
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
22
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
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
47
0
0
0
0
0
0
-13
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
5
38
0
0
0
1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
-27
0
0
0
-28
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
-1
0
0
-73
0
0
0
-3
4
0
60
0
0
0
0
0
-9
-22
0
0
0
0
0
0
0
0
-2
26
0
0
0
0
0
0
3
58
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
44
0
0
0
43
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
46
10
0
0
80
0
0
0
-7
2
6
31
0
0
0
0
0
9
8
-1
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
-5
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
23
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
-5
0
0
0
0
0
0
-17
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
-21
0
0
0
-40
0
0
0
0
0
0
-12
0
0
0
0
0
0
74
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
-21
0
0
0
0
0
0
21
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
-2
0
0
58
0
0
0
5
1
0
-10
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
16
0
3
0
0
0
0
0
-11
-47
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
-6
0
0
0
7
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
18
-6
-15
0
0
24
0
0
0
-3
1
-6
0
0
0
0
0
0
16
-9
-1
10
0
0
0
0
0
0
-26
29
5
0
0
0
0
0
9
-43
20
-5
0
0
0
0
0
15
-8
3
74
0
29
0
0
0
0
-15
-5
0
0
37
0
0
0
0
-6
0
19
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
14
-23
0
0
59
0
0
0
4
0
-2
-50
0
0
0
0
0
6
30
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
19
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
0
0
24
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
-5
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
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
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
-4
0
0
0
0
0
0
22
-31
0
0
-16
0
0
0
2
0
0
24
0
0
0
0
0
0
0
2
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
-22
0
0
0
0
0
0
8
0
0
0
63
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
78
0
0
0
48
0
0
0
6
5
-19
-26
0
0
0
0
0
9
-5
0
-6
0
0
0
0
0
0
-5
-9
5
6
0
0
0
0
-18
-57
3
0
0
0
0
0
0
-2
0
0
99
0
0
0
0
0
0
-39
0
0
0
-13
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-23
6
0
0
67
0
0
0
-22
-10
-8
-27
0
0
0
0
0
21
-24
-10
0
0
0
0
0
0
18
-41
-14
6
0
0
0
0
0
0
-91
-8
6
0
16
0
0
0
28
-27
0
18
0
0
0
0
0
0
-85
-8
0
0
24
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-8
0
0
0
20
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
8
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
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
8
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
-9
0
0
0
0
0
0
76
0
0
0
-41
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
9
0
0
0
0
0
0
0
0
0
0
-71
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
-47
0
0
0
0
0
0
44
17
0
0
-12
0
0
0
4
0
18
-34
0
0
0
0
0
9
71
17
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-45
-7
0
-5
0
0
0
0
0
17
0
0
-21
0
0
0
0
0
0
18
-11
0
0
13
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-63
19
0
0
39
0
0
0
0
-8
3
81
0
0
0
0
0
-5
-14
-2
-3
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-2
-33
0
-8
0
3
0
0
0
5
40
0
-19
0
0
0
0
0
0
18
0
0
0
-41
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
85
5
0
0
56
0
0
0
-4
0
0
-18
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-14
0
-5
0
0
0
0
0
0
-5
2
3
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-6
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
-38
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
18
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-14
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
40
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
31
0
0
0
0
0
0
-9
0
0
0
0
0
0
44
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
2
0
0
22
0
0
0
0
0
0
24
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
32
-20
0
0
-28
0
0
0
0
8
0
-80
0
22
0
0
0
-2
19
0
0
0
0
0
0
0
0
-3
29
0
0
0
0
0
0
-1
32
0
0
0
0
0
0
0
5
25
-7
-15
0
0
0
0
0
0
11
-2
0
0
5
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
10
0
0
0
0
0
9
-9
14
0
0
-27
0
0
0
0
-21
-6
41
0
0
0
0
0
5
-61
28
-7
0
0
0
0
0
0
-4
18
-3
0
0
0
0
0
-5
39
-7
0
0
-1
0
0
0
42
25
0
40
0
0
0
0
0
-4
15
10
-14
0
17
0
0
0
5
0
0
27
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-31
0
0
0
20
0
0
0
-5
5
0
31
0
0
0
0
0
23
18
-1
0
0
0
0
0
0
0
14
-1
1
0
0
0
0
0
-10
10
1
-6
0
0
0
0
0
1
24
8
58
0
0
0
0
0
0
-23
2
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
-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
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
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
-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
1
0
0
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
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
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
-1
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
-18
0
0
0
-29
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
50
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-37
0
0
0
-38
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
18
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
19
0
-2
0
0
0
0
0
-1
5
0
8
0
0
0
0
0
0
20
-15
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-32
0
0
0
0
0
0
47
8
0
0
39
0
0
0
5
-14
0
29
0
0
0
0
0
13
40
-11
0
0
0
0
0
0
0
19
35
-1
-4
0
0
0
0
2
-7
-1
43
0
0
0
0
0
9
-21
31
0
0
4
0
0
0
-2
25
9
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
65
0
0
0
-5
0
0
0
5
0
-1
-20
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
32
-5
0
0
0
0
0
0
1
-16
4
3
0
0
0
0
0
39
-7
-6
-55
0
0
0
0
0
0
-19
12
0
0
56
0
0
0
2
0
0
9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
-54
0
0
0
0
0
0
-82
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
32
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
-17
0
0
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
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
-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
31
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
-4
0
0
0
0
0
0
7
0
0
0
36
0
0
0
0
0
0
4
0
0
0
0
0
0
23
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
32
0
0
0
0
0
0
12
0
0
0
23
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
-14
0
0
0
0
0
-1
7
0
0
0
0
0
4
56
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
48
-19
0
0
0
0
0
0
0
0
-6
0
-25
0
0
0
0
0
-2
-31
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-1
11
0
0
24
0
0
0
5
0
0
21
0
0
0
0
0
1
-34
0
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-4
0
-5
18
0
0
0
0
0
0
-19
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
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
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
2
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
77
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
21
0
0
0
0
0
0
56
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
51
0
0
0
0
0
0
-2
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
3
0
0
0
41
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
-50
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
32
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
-6
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
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
-17
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
2
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
61
0
0
0
0
0
0
8
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
-90
69
0
0
32
0
0
0
9
0
-32
18
0
0
0
0
0
5
-37
-23
0
5
0
0
0
0
13
2
2
0
0
0
0
0
0
-3
25
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
52
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
-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
-29
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
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
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
23
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
-4
0
0
0
-87
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
5
0
0
0
0
0
0
-33
-5
0
0
34
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
-20
0
0
0
0
0
0
0
0
0
0
100
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
-25
0
0
0
10
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
-15
0
0
0
0
0
0
-14
0
0
0
4
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-17
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
-22
0
0
0
-19
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
-18
0
0
0
0
0
0
-17
0
0
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
-2
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
-2
0
0
0
0
0
0
0
0
0
0
54
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
69
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
25
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
-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
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
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
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
-4
0
0
0
0
0
0
6
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
4
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
90
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
53
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-43
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
2
0
0
0
0
0
0
5
0
0
0
-70
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
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
17
0
0
0
0
0
0
-20
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
-20
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
0
88
0
0
0
0
0
0
11
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
35
0
0
0
0
0
0
19
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-15
0
0
0
36
0
0
0
0
0
0
-38
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
2
4
1
0
0
10
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
14
-5
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
-22
0
0
0
-49
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
-2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
68
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
-27
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
-38
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
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
-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
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
-5
0
0
0
0
0
0
0
0
0
0
75
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
8
0
0
0
0
0
0
-5
0
0
0
-37
0
0
0
0
0
0
33
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
-5
0
0
0
0
0
0
-4
-2
0
-4
0
0
0
0
0
0
10
7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
45
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
10
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
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
12
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
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
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
5
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
46
0
0
0
3
0
5
-43
0
0
0
0
0
0
1
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
-9
0
0
0
0
0
0
-6
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
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
-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
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
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
0
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
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
-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
-20
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
32
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
1
0
0
0
0
0
0
-10
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
-32
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-69
0
0
0
0
0
0
-53
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
-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
23
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
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
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
-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
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
-7
0
0
0
0
0
0
-15
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
28
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
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
0
0
0
0
44
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
26
0
0
0
0
0
0
3
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-4
0
0
0
0
0
0
8
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
-9
0
0
0
25
0
0
0
0
0
0
-5
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
8
0
0
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
38
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-52
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
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
-43
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
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
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
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
-14
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
77
0
0
0
0
0
0
-4
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
15
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
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
-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
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
-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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-37
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
-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
-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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
27
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
0
0
0
0
0
0
0
0
0
0
0
14
0
0
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
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
31
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
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
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
62
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
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
-5
0
0
0
65
0
0
0
0
0
-13
3
0
0
0
0
0
0
28
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
17
0
0
0
0
0
0
-30
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
44
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
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
16
0
0
0
0
0
0
91
0
0
0
0
0
0
6
0
0
0
0
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
-1
0
0
0
34
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
2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
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
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-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
-7
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
13
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
35
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
30
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
-5
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
5
0
0
0
0
0
0
0
0
0
0
17
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
82
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
0
0
0
0
-80
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
-3
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-9
0
0
0
0
0
0
-113
0
0
0
0
0
0
-5
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
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
-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
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
1
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
6
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
0
0
0
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
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
15
-4
0
0
0
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
-6
0
0
0
97
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-51
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
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
51
0
0
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
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
-27
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
34
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
10
0
0
0
0
0
0
0
0
0
0
-33
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-66
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
75
0
0
0
0
0
0
0
0
0
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
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
-49
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
-15
0
0
0
42
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
-10
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
-2
0
0
0
0
0
0
9
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
4
0
0
0
0
0
0
0
0
0
0
-39
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
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
27
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
2
0
0
0
0
0
0
-23
0
0
0
15
0
0
0
0
0
0
-53
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-18
0
0
0
0
0
0
0
0
0
0
0
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
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
14
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
36
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
-2
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
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
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
104
0
0
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
33
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
2
0
0
0
0
0
0
0
0
0
35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
-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
55
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
53
0
0
0
19
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
0
0
0
0
19
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
14
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
-9
0
0
0
0
0
0
0
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
-23
0
0
0
9
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-51
0
0
0
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
-30
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
-10
0
0
0
22
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
-6
0
0
0
0
0
0
7
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
-22
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
-38
0
0
0
0
0
0
0
0
0
0
27
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
-46
0
0
0
0
0
0
4
-32
26
0
52
0
0
0
23
0
5
58
0
0
0
0
0
-5
57
2
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
52
0
0
0
0
0
0
-52
0
0
0
-14
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
-4
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
-13
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-6
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
-35
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
61
0
0
0
57
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
62
0
0
0
0
0
0
-43
0
0
0
-8
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
126
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
29
0
0
0
0
0
0
0
0
0
0
73
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
-21
0
0
0
0
0
0
8
0
0
0
68
0
0
0
16
0
7
17
0
0
0
0
0
0
-49
-13
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
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
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
77
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
14
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
-14
0
0
0
0
0
0
30
0
0
0
-7
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
59
0
0
0
0
0
0
0
0
0
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
15
0
0
0
0
0
0
20
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
55
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
-21
0
0
0
0
0
0
0
0
0
0
9
0
0
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
3
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
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
1
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
25
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
5
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-34
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
37
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
18
0
0
0
0
0
0
-79
0
0
0
26
0
0
0
-1
0
0
-5
0
0
0
0
0
0
27
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
10
0
0
0
0
0
0
47
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
6
0
0
0
35
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
19
0
0
0
0
0
0
0
0
0
0
-7
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
-8
0
0
0
0
0
0
14
0
0
0
8
0
0
0
1
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-12
11
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
29
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
-1
0
0
0
0
0
0
-3
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
-5
0
0
0
0
0
0
0
0
0
0
118
0
0
0
0
0
0
-1
0
0
0
84
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
-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
-5
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
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
-16
0
0
0
-32
0
0
0
0
0
0
23
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
7
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
25
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
-16
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
18
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
8
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
13
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
35
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
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
-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
16
0
0
0
0
0
0
28
0
0
0
-37
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
-59
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
50
0
0
0
-49
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
29
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-6
0
0
0
27
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
-19
0
0
0
5
0
0
-26
0
0
0
0
0
0
-7
-5
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
0
4
27
0
0
0
0
0
0
58
0
0
0
98
0
0
0
0
0
5
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
49
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
-6
0
0
0
0
0
0
0
0
0
0
90
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
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
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
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
90
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
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
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
3
0
0
0
28
0
0
0
14
0
0
-7
0
0
0
0
0
0
31
23
0
0
0
0
0
0
0
-10
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
-3
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
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
-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
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
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
-2
0
0
0
36
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
-23
0
0
0
0
0
0
5
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
11
0
0
0
19
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
7
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
0
0
0
0
0
0
0
4
0
0
0
23
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
103
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
19
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
33
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
3
0
0
0
0
0
0
0
0
0
0
47
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
34
0
0
0
10
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
-24
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-11
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
6
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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
15
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
9
0
0
0
0
0
0
-13
0
0
0
5
0
0
0
0
0
0
80
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
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
-32
0
0
0
13
0
0
0
0
0
0
90
0
0
0
0
0
0
-6
0
0
0
0
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
-11
0
0
0
0
0
0
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
50
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
-1
0
0
0
-27
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
1
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
-37
0
0
0
0
0
0
-15
5
0
0
17
0
0
0
0
0
0
-25
0
0
0
0
0
-3
-17
0
0
0
0
0
0
0
0
-8
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
-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
82
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
40
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
-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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
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
-14
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
-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
1
0
0
0
-70
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
-7
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
5
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-58
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
-45
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
-62
0
0
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
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
-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
5
0
0
0
0
0
0
47
0
0
0
-76
0
0
0
2
0
0
-10
0
0
0
0
0
0
14
-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
71
0
0
0
0
0
0
4
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
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
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
7
0
0
0
63
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
15
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
-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
29
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
0
0
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
16
0
0
0
95
0
0
0
5
-3
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
27
0
0
0
0
0
0
0
0
0
0
14
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
9
0
0
0
51
0
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
0
0
-6
2
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
0
0
-3
-4
0
-23
0
0
0
0
0
-15
28
34
0
0
24
0
0
0
13
16
4
4
0
-17
0
0
0
-11
5
-28
-1
0
0
0
0
0
20
45
24
0
0
0
0
0
0
0
-18
-13
0
0
0
0
0
0
0
7
0
-92
0
0
0
0
0
0
32
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
4
0
0
0
63
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
-23
0
0
0
0
0
0
0
0
0
0
-22
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
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
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
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
78
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
68
0
0
0
0
0
0
49
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
60
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
7
0
0
0
0
0
0
-40
0
0
0
10
0
0
0
1
0
0
26
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
19
-7
0
0
17
0
0
0
0
-21
-1
0
0
0
0
0
0
17
0
0
27
0
0
0
0
0
0
18
0
0
0
13
0
0
0
0
0
0
-53
0
0
0
0
0
0
-5
0
29
0
0
0
0
0
0
19
26
0
0
-21
0
0
0
-33
9
43
8
0
-26
0
0
0
0
-42
11
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
4
0
-11
0
0
0
0
0
0
-25
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
7
0
0
0
12
0
0
0
-1
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
-3
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-17
0
0
0
-15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
8
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
5
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
0
0
0
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
41
0
0
0
5
0
0
0
0
0
0
36
0
0
0
0
0
0
16
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
33
0
0
0
0
0
0
8
0
0
0
24
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
-6
0
0
-20
0
0
0
18
0
-1
6
0
29
0
0
0
-20
-7
2
-4
0
0
0
0
0
-6
-53
0
0
0
0
0
0
0
-5
23
-8
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
22
6
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
53
0
0
0
19
0
0
0
0
0
18
42
0
0
0
0
0
0
-59
1
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
-1
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
-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
-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
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
37
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
30
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
46
0
0
0
51
0
0
0
0
0
0
-24
0
0
0
0
0
0
-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
-1
0
0
-29
0
0
0
0
0
0
4
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-80
0
0
0
0
0
0
60
-4
0
0
-6
0
0
0
0
0
0
-96
0
0
0
0
0
0
-100
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
29
-110
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
14
12
0
0
-55
0
0
0
0
0
0
5
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
5
-4
0
0
-21
0
0
0
-11
0
36
-2
0
0
0
0
0
3
73
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
94
8
0
0
11
0
0
0
0
39
1
-36
0
0
0
0
0
0
35
-8
0
0
52
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
34
0
0
0
-22
0
0
0
16
0
0
30
0
0
0
0
0
0
87
26
0
0
0
0
0
0
0
8
13
0
0
0
0
0
0
10
22
-8
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
10
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
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
-2
0
0
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
-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
-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
-16
0
0
0
0
0
0
0
0
0
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
2
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
-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
0
0
0
0
0
0
0
33
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
20
0
0
0
0
0
0
8
0
0
0
69
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
69
0
0
0
0
0
0
-30
0
0
0
-117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
33
0
0
0
-35
0
0
0
0
0
0
-37
0
0
0
0
0
0
-1
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
8
27
0
-13
0
0
0
0
0
0
-14
0
0
0
36
0
0
0
0
0
0
5
0
0
0
0
0
-2
0
-1
43
0
0
0
0
0
0
7
1
0
0
33
0
0
0
9
0
0
-18
0
0
0
0
0
4
78
44
-4
0
0
0
0
0
0
-8
50
0
0
0
0
0
0
8
62
15
0
0
0
0
0
0
32
2
5
0
0
0
0
0
0
0
8
-18
0
0
20
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-24
0
0
0
5
0
0
0
0
0
0
14
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
33
1
0
0
0
0
0
0
0
7
0
-4
0
0
0
0
0
0
-17
0
0
0
36
0
0
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
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
23
0
0
0
0
0
0
0
0
0
0
-46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-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
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
-2
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
-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
9
0
0
0
0
0
0
33
0
0
0
-1
0
0
0
0
0
0
-31
0
0
0
0
0
0
-47
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
6
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
4
0
0
0
44
0
0
0
0
0
0
40
0
0
0
0
0
0
-31
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
-37
0
0
0
0
0
0
6
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
21
0
0
0
0
0
0
-17
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-7
1
5
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
-2
0
0
-38
0
0
0
0
0
0
14
0
0
0
4
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-26
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
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
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
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
14
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
14
0
0
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
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
10
0
0
0
4
0
0
25
0
0
0
0
0
1
1
14
-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
39
0
0
0
0
0
0
10
0
0
0
42
0
0
0
0
0
0
34
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
0
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
-15
0
0
0
0
0
0
24
0
0
0
85
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
-33
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
-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
8
0
0
0
0
0
0
-26
1
0
0
24
0
0
0
0
0
0
19
0
0
0
0
0
0
-11
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
0
26
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
-7
0
0
0
0
0
0
21
3
0
0
6
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
41
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-14
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-12
0
0
0
0
0
1
71
-39
0
0
-12
0
0
0
-71
20
-29
-47
0
0
0
0
0
-6
15
-28
-9
3
0
0
0
0
-7
-1
13
0
0
0
0
0
0
0
-48
-1
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
-6
2
0
0
42
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
83
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
2
0
0
0
0
0
0
0
0
0
0
-5
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
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
-1
0
0
0
0
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
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
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
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
52
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
29
0
0
0
0
0
0
-27
25
0
0
-58
0
0
0
0
-6
0
19
0
0
0
0
0
2
40
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
3
0
0
0
68
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-61
20
0
0
52
0
0
0
-5
0
0
-39
0
0
0
0
0
10
60
-20
0
0
0
0
0
0
-5
4
0
-3
0
0
0
0
0
0
20
6
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
12
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-24
-4
0
0
1
0
0
0
0
0
8
34
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
10
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
-23
-1
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
27
0
0
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
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
1
0
0
0
-30
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
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
12
0
0
0
0
0
0
-51
0
0
0
-15
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
-34
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
6
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
23
-10
-1
0
-44
0
0
0
-39
0
0
-30
0
0
0
0
0
5
39
1
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
16
0
33
0
0
0
0
0
0
3
0
0
0
-11
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
19
0
0
0
51
0
0
0
0
0
5
27
0
0
0
0
0
0
8
11
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-24
0
4
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-20
1
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
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
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
-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
-7
0
0
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
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
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
-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
60
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
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
13
0
0
0
125
0
0
0
0
0
0
94
0
0
0
0
0
0
19
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
-100
0
0
0
24
0
0
0
0
-3
1
8
0
0
0
0
0
0
17
5
0
0
0
0
0
0
0
12
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
37
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
1
0
0
0
34
0
0
0
-1
5
-9
-28
0
0
0
0
0
0
61
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
45
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
-30
40
-4
0
0
-31
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-27
0
0
0
-63
0
0
0
0
0
0
37
0
0
0
0
0
3
-82
1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
7
10
2
0
0
0
0
0
-5
-14
0
6
0
0
0
0
0
-8
-17
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
11
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
7
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
32
0
0
0
0
0
0
0
0
0
0
50
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
30
0
0
0
0
0
0
-21
5
0
0
-37
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
26
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
-8
0
0
0
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
56
-2
0
0
-48
0
0
0
5
0
0
125
0
0
0
0
0
9
29
19
0
0
0
0
0
0
2
-17
11
0
0
0
0
0
0
0
5
0
-15
-1
0
0
0
0
0
4
14
0
0
0
0
0
0
0
62
1
0
0
-34
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-35
0
0
0
44
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
-8
0
0
0
0
0
0
0
0
0
0
-44
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
-8
0
0
0
0
0
0
5
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
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
-37
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
1
0
0
0
0
0
0
18
0
0
0
16
0
0
0
0
0
0
-22
0
0
0
0
0
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
49
0
0
0
0
0
0
27
0
0
0
36
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
0
0
68
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
26
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
15
0
0
0
26
0
0
0
0
0
0
35
0
0
0
0
0
0
43
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
40
0
0
0
0
0
0
3
3
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
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
-9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-12
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
1
0
0
0
-34
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
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
18
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
15
0
0
0
53
0
0
0
0
0
0
9
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
1
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
-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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
11
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
-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
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
-13
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
30
0
0
0
0
0
0
-6
0
0
0
-34
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
-54
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
-1
6
0
0
0
0
0
0
0
0
0
-21
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
10
0
0
0
0
0
1
4
0
0
0
102
0
0
0
0
0
-1
0
0
0
0
0
0
0
5
0
0
-7
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
-4
62
0
2
0
0
0
0
6
0
0
0
-18
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
31
0
0
0
25
0
0
0
5
0
5
-19
0
0
0
0
0
0
9
-25
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
5
14
4
0
0
0
0
0
0
-2
0
1
78
0
0
0
0
0
0
3
16
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
-5
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
1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
4
0
0
32
0
0
0
0
0
0
46
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
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
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
5
0
0
0
63
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
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
-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
23
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
5
0
0
0
0
0
0
0
0
6
1
24
0
0
0
0
0
0
-14
0
0
0
47
0
0
0
0
2
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
77
0
0
0
0
0
0
33
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
16
0
0
0
0
0
0
0
-22
-2
16
14
0
0
0
0
0
0
-6
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
8
0
0
0
5
0
0
0
-3
7
0
-2
0
0
0
0
0
0
-20
1
0
0
0
0
0
0
-1
5
5
0
0
2
0
0
0
0
30
24
0
0
0
0
0
0
11
10
1
78
0
1
0
0
0
-1
-7
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
-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
-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
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
-11
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
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
0
0
0
0
-13
0
0
0
0
0
0
8
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
-10
0
0
0
21
0
0
0
0
-3
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
30
0
0
0
0
0
0
0
1
19
-7
0
0
0
0
0
0
-13
2
0
43
0
0
0
0
0
3
-5
-4
0
0
-62
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-37
0
0
0
40
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
10
-11
13
0
0
0
0
0
0
0
4
0
-49
0
0
0
0
0
0
-6
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
-3
0
0
0
11
0
0
0
0
0
0
-29
0
0
0
0
0
0
26
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
1
34
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
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
-4
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
-44
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
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
11
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
-15
0
0
54
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
-3
0
0
0
0
0
0
5
2
0
0
-91
0
0
0
14
0
0
-17
0
0
0
0
0
0
-3
0
0
4
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-2
-10
0
0
3
0
0
0
0
-5
0
0
-51
0
3
0
0
0
0
21
4
0
0
14
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
43
0
0
0
108
0
0
0
0
0
0
9
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
-5
-1
-5
0
2
-2
0
0
0
-13
1
-15
0
0
0
0
0
0
-12
8
-19
-4
0
0
0
0
0
-5
8
-3
0
0
24
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-26
0
0
0
21
0
0
0
-19
0
0
12
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
13
-15
-5
-14
0
-8
0
0
0
0
10
-24
-11
0
0
0
0
0
3
35
-14
60
0
6
0
0
0
0
-5
-18
0
0
9
0
0
0
0
-10
1
30
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
0
0
0
0
0
0
0
0
0
0
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
128
0
0
0
0
0
0
0
0
0
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
-32
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
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
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
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
0
0
0
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
2
0
0
0
0
0
0
0
-10
0
0
33
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
-28
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
-87
-9
0
0
0
0
0
0
10
1
0
-32
0
0
0
0
0
0
82
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
5
0
0
0
0
0
0
-7
-3
0
1
88
0
0
14
22
-9
0
-16
0
0
0
0
5
-2
35
0
0
0
0
0
0
0
1
23
-1
0
0
9
0
0
0
40
10
14
-7
-11
0
0
0
0
-14
7
0
0
0
-1
0
0
0
0
48
14
-2
0
72
0
0
0
-1
0
0
-10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
78
0
0
0
-12
0
0
0
-2
0
0
26
0
0
0
0
0
-16
45
0
0
0
1
0
0
0
-1
-2
14
-7
-7
4
0
0
0
18
27
35
5
-13
0
0
0
0
-2
35
-33
-28
0
-3
0
0
0
23
-32
-44
-28
4
2
0
0
0
-7
20
0
-4
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
-7
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
17
-12
0
0
5
0
0
0
0
-1
5
0
-100
0
0
0
0
0
0
-19
-3
0
0
11
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
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
-7
0
0
0
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
-5
0
0
14
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
1
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
-3
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
5
0
-48
0
0
0
0
0
0
-80
0
0
0
-93
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
78
0
0
0
0
0
0
-53
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
4
22
-2
0
0
0
0
0
0
-2
0
-3
-20
0
-1
0
0
0
0
-14
-6
0
0
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
71
0
0
0
-29
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
-2
0
0
0
-4
0
30
-15
0
0
0
0
0
0
-16
-35
14
1
0
0
0
0
0
14
41
-14
49
0
-4
0
0
0
4
-50
-43
0
0
-37
0
0
0
0
4
-1
-20
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
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
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
-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
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
-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
-26
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
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
-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
3
0
0
0
0
0
0
0
0
0
0
7
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
2
0
0
0
-43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-7
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
52
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
8
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
-2
0
0
0
-17
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
-25
0
0
0
0
0
0
0
0
0
0
13
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
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
4
0
0
0
0
0
0
0
0
0
0
31
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
54
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
2
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
-5
0
0
0
-80
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
-18
0
0
0
0
0
0
0
0
0
0
55
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
0
0
0
0
0
0
0
4
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
15
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
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
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
-67
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
5
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
-4
0
0
0
50
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
-31
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
-37
0
0
0
0
0
0
0
3
-4
0
4
0
0
0
0
0
0
-2
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
19
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
8
0
0
0
0
0
0
5
0
0
0
45
0
0
0
0
0
0
-11
0
0
0
0
0
0
30
-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
7
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
0
0
5
0
0
0
-37
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
-7
4
-18
0
0
0
0
0
0
-33
0
0
24
0
0
0
0
0
0
-16
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
-2
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
-1
0
0
0
0
0
0
0
0
0
0
17
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-24
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
35
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
13
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
-1
0
0
0
0
0
0
-24
0
0
0
41
0
0
0
0
0
0
-21
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
0
0
45
0
0
0
0
0
0
11
0
0
0
97
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-22
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
-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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
19
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
-4
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
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
-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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
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
-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
-19
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
27
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
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
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
-20
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
6
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
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
-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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
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
-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
-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
13
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
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
-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
-3
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
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
-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
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
0
0
0
-14
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
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
-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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
0
0
48
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-43
0
0
0
0
0
0
42
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
23
0
0
0
0
0
0
-5
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
6
0
0
0
27
0
0
0
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
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
-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
-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
2
0
0
0
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
8
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-5
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
-16
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
-15
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
-5
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
20
0
0
0
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
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
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
8
0
0
0
0
0
0
-19
0
0
0
2
0
0
0
2
0
0
-9
0
0
0
0
0
0
68
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
0
0
32
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
18
0
0
0
0
0
0
0
0
0
0
18
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
5
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
-18
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
8
0
0
0
0
0
0
-1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-2
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
31
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
2
0
0
0
0
0
0
-14
0
0
0
-32
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
16
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
-9
-2
0
0
0
0
0
0
-44
-5
0
0
30
0
0
0
-3
24
0
23
0
0
0
0
0
1
5
-4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
6
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
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
1
0
23
0
0
0
0
0
0
0
-14
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
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
-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
7
0
0
0
100
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
-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
18
0
0
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
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
24
0
0
0
0
0
0
35
0
0
0
57
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
0
0
0
-69
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
17
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
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
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
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
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
11
0
0
0
-1
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
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
-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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-7
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-23
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-16
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
4
0
0
0
-47
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
11
0
0
0
61
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
23
0
0
0
-104
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
-4
0
0
0
0
0
0
0
0
0
0
-48
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
11
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
-11
0
0
0
0
0
0
0
15
-1
0
56
0
0
0
0
0
0
1
0
0
0
54
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-6
0
0
0
46
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
-5
0
0
0
0
0
0
0
1
0
0
-27
0
0
0
0
0
0
-2
-2
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
-8
0
0
0
16
0
0
0
5
0
0
-23
0
0
0
0
0
0
8
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-14
0
0
0
0
0
0
0
5
0
-24
0
0
0
0
0
0
-48
0
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
3
-34
-1
0
0
60
0
0
0
-14
0
0
0
0
0
0
0
0
0
-10
2
8
14
0
0
0
0
2
-1
-8
0
0
-10
0
0
0
2
-13
-6
5
0
0
0
0
0
-4
9
0
-52
0
0
0
0
0
0
-21
26
-10
0
6
0
0
0
0
5
0
-17
0
0
0
0
0
-1
0
0
19
0
0
0
0
0
3
4
-17
0
0
80
0
0
0
34
4
36
30
0
0
0
0
0
-9
3
36
4
0
0
0
0
0
1
3
0
0
-5
-1
0
0
0
0
10
-3
0
0
0
0
0
0
15
0
0
-18
0
0
0
0
0
0
18
4
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
18
0
0
0
38
0
0
0
0
0
0
-30
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-17
5
0
0
0
0
0
0
-4
0
-1
-7
0
0
0
0
0
0
-16
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
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
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
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
-5
0
0
0
0
0
0
2
0
0
0
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
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
11
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
5
0
0
0
0
0
0
5
0
0
0
-30
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
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
51
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
86
0
0
0
6
6
0
-36
0
0
0
0
0
0
7
0
0
0
0
0
0
0
5
9
1
0
0
0
0
0
0
0
-5
2
0
-1
0
0
0
0
-2
-2
0
50
0
1
0
0
0
0
-2
0
0
2
25
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
31
0
0
0
1
0
0
-61
0
0
0
0
0
0
42
7
0
0
0
0
0
-1
1
-5
0
0
0
7
0
0
0
0
36
9
0
0
0
0
0
0
-5
10
-1
-10
0
-18
0
0
0
0
6
4
0
0
19
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
-5
7
0
0
0
14
0
0
0
3
0
0
-78
0
0
0
0
0
5
-53
-19
33
0
0
0
0
0
-10
-20
3
0
0
12
0
0
0
-7
13
13
0
0
0
0
0
0
-9
-6
0
39
0
2
0
0
0
1
-23
-5
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
73
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-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
23
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
1
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
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
5
0
0
0
0
0
0
0
0
0
3
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
3
0
0
0
-5
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
0
0
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
6
2
0
0
-9
0
0
0
0
0
0
-38
0
0
0
0
0
-7
-15
-31
0
-2
0
0
0
0
-18
-67
0
0
0
0
0
0
0
1
75
-11
0
0
0
0
0
0
-7
2
0
-41
1
0
0
0
0
-3
44
14
0
0
-79
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-43
0
0
0
64
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
15
0
4
0
0
0
0
0
6
-4
0
0
0
0
0
0
-5
26
-2
0
0
0
0
0
0
-7
-11
0
32
0
0
0
0
0
0
-24
7
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
-38
-2
0
0
63
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
-5
21
0
0
0
0
0
0
0
-5
2
5
68
0
0
0
0
0
0
-1
-5
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
2
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
-3
0
0
0
0
0
0
0
0
0
0
-48
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
-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
20
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
-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
-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
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
25
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
35
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
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
-9
0
0
0
46
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
3
0
0
-4
0
0
0
0
0
0
-10
-4
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
2
22
0
0
0
26
0
0
0
0
-2
0
1
0
0
0
0
0
0
-52
19
0
0
0
0
0
0
26
7
0
0
0
0
0
0
0
-2
-28
0
0
0
0
0
0
0
-10
-2
0
20
0
27
0
0
0
0
32
21
0
0
-22
0
0
0
0
32
0
11
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-30
0
0
0
112
0
0
0
-1
0
3
6
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
22
-15
0
6
5
9
0
0
0
0
37
14
0
3
-2
0
0
0
3
8
18
-54
0
-9
0
0
0
1
6
16
0
-3
23
0
0
0
0
0
0
7
15
0
0
0
0
0
0
0
14
0
0
0
0
0
0
22
0
0
0
-42
0
0
0
-1
-1
0
-9
0
0
0
0
0
1
25
2
-10
0
20
0
0
0
-4
-35
9
0
-9
-3
0
0
0
14
-5
22
14
0
0
0
0
0
7
3
0
35
0
-15
0
0
0
5
46
7
5
3
17
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
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
-7
0
0
0
0
0
0
0
0
-7
0
0
-2
0
0
0
0
0
0
0
-23
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
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
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
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
11
0
0
0
0
0
0
0
0
0
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
1
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
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
29
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
1
0
0
0
-19
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
5
-5
0
0
0
0
0
0
0
-12
0
0
-13
0
0
0
0
0
-2
-14
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
-2
-9
0
0
0
43
0
0
0
0
0
0
24
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
12
-6
0
0
0
0
0
0
10
-4
0
23
0
0
0
0
0
0
10
-41
0
0
-5
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
10
-32
-5
0
0
50
0
0
0
-2
3
0
2
0
7
0
0
0
11
37
-2
0
-1
0
0
0
0
-2
5
2
0
0
0
0
0
0
-16
-5
-32
-3
13
0
0
0
0
-37
10
-9
0
0
-3
0
0
0
-8
27
-11
-21
-3
32
0
0
0
2
5
3
62
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-28
0
0
0
81
0
0
0
3
0
1
74
0
0
0
0
0
7
25
9
0
0
0
0
0
15
14
9
-2
6
25
0
0
0
0
-16
28
39
-5
-8
0
0
0
0
-49
-20
-34
92
0
9
0
0
0
10
43
-32
3
16
0
0
0
0
2
-16
33
16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
14
0
0
0
0
0
0
33
0
0
0
0
0
0
34
0
0
0
0
0
0
0
-1
-3
5
0
0
0
0
0
0
-1
-10
5
-6
-1
0
0
0
0
20
-27
0
18
0
0
0
0
0
14
-25
0
0
-3
-15
0
0
0
0
0
7
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-14
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
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
46
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
-18
11
0
-4
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
-18
0
0
0
79
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
-23
-5
0
-2
0
0
0
0
3
3
0
74
0
8
0
0
0
0
-21
0
0
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-41
0
0
0
22
0
0
0
0
0
0
-54
0
4
0
0
0
31
22
0
0
0
0
0
0
0
0
10
-3
0
0
0
0
0
0
30
-7
2
0
0
0
0
0
0
-41
-10
2
55
0
0
0
0
0
-10
-43
-13
0
11
-29
0
0
0
0
26
0
50
0
0
0
0
0
0
0
0
4
0
0
0
0
0
10
18
0
0
0
-21
0
0
0
14
0
0
17
0
-4
0
0
0
0
32
-2
0
0
0
0
0
0
8
-11
14
0
6
0
0
0
0
-18
22
-20
-1
0
0
0
0
0
31
28
-5
9
0
1
0
0
0
-16
-9
-13
0
0
-40
0
0
0
0
2
14
-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
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-16
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
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
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-73
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
-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
56
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-15
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
-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
9
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
-10
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
0
0
0
0
42
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
0
0
0
0
49
0
0
0
0
0
0
0
2
0
0
-6
0
0
0
0
0
0
13
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
8
0
0
0
59
0
0
0
7
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
0
19
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
18
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
8
0
0
0
61
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
-6
0
0
0
0
0
0
0
0
0
0
-8
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-23
0
0
0
0
0
0
0
0
0
0
-14
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
0
0
0
0
0
0
0
-18
0
0
0
25
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
-2
0
0
-21
0
0
0
0
0
0
4
-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
-22
0
0
0
46
0
0
0
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
-25
0
0
0
0
0
0
13
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
-4
0
0
0
43
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
-12
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
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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
5
0
0
0
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
-10
0
0
0
0
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
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
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
-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
-3
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
-7
0
0
0
0
0
0
22
0
0
0
-19
0
0
0
2
0
0
48
0
0
0
0
0
3
23
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-14
16
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-14
1
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
-1
0
0
0
36
0
0
0
0
0
0
52
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
35
1
0
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
44
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
12
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
-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
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
53
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
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
15
0
0
0
45
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
13
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
-1
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
-3
0
0
0
7
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
-3
-1
0
0
0
0
0
0
-2
0
0
12
0
0
0
0
0
0
52
-1
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
-15
0
0
0
-6
0
0
0
0
0
0
76
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
7
0
0
0
1
0
0
0
0
15
-2
71
0
0
0
0
0
-20
-3
0
-10
0
3
0
0
0
-1
25
4
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
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
28
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
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
-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
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
-14
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
-11
0
0
0
23
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
14
0
0
0
0
0
0
0
0
0
0
10
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
-4
0
0
0
0
0
0
19
0
0
0
67
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
26
15
0
1
2
0
0
0
0
-7
15
0
0
0
0
0
0
0
0
18
-2
0
0
69
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
84
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
3
0
0
0
0
0
0
2
-16
1
0
0
0
0
0
0
-4
3
2
-29
0
0
0
0
0
0
-44
30
1
0
67
0
0
0
3
-14
0
-25
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
-59
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
-1
-6
0
44
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
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
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
-24
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
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
0
0
0
0
0
0
0
39
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
-1
0
0
0
0
0
0
41
0
0
0
-40
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
-5
18
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
69
0
0
0
-36
0
0
0
0
0
0
-11
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
49
0
0
0
0
0
0
-15
-3
0
0
0
0
0
0
5
14
17
0
0
0
0
0
0
4
-20
5
0
0
0
0
0
0
2
-1
0
12
0
0
0
0
0
0
-16
-3
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
27
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
14
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
-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
0
0
0
0
0
0
0
0
0
0
0
24
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
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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
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
-53
0
0
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
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
2
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
27
0
0
0
0
0
0
52
0
0
0
0
0
0
-11
0
0
0
0
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
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
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
2
0
0
0
0
0
0
0
0
0
0
56
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
-31
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
2
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
66
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
-5
0
0
0
0
0
0
0
0
0
0
24
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
-11
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
0
8
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
19
0
0
0
23
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-29
0
0
0
9
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
41
0
0
0
0
0
0
-3
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
48
0
0
0
-37
0
0
0
0
0
0
9
0
0
0
0
0
0
18
14
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
7
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
0
0
0
0
34
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
11
-5
-4
0
0
0
0
0
0
3
0
0
40
0
0
0
0
0
0
-11
-12
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
30
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
42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
21
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
41
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
-2
0
37
0
0
0
0
0
0
14
0
0
0
-92
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
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
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
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
-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
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
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
-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
15
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
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
-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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
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
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
71
0
0
0
0
2
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
-5
0
0
0
0
0
0
-5
0
0
0
22
0
0
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
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
10
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
-65
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
23
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
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
11
0
0
0
0
0
0
0
0
0
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
-10
0
0
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
-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
-17
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
-14
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-20
0
0
0
9
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
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
-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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
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
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
-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
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
-10
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
-12
0
0
0
0
0
0
-14
0
0
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
53
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
-2
0
0
0
0
0
0
0
0
0
0
32
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
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
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
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
76
0
0
0
0
0
0
29
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
1
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
-31
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
-8
1
0
0
0
0
0
0
0
0
4
0
-12
0
0
0
0
0
0
7
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
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
-2
0
0
0
0
0
0
0
0
0
0
15
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
-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
-44
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
-6
0
0
0
0
0
0
0
0
4
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
24
0
0
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
-44
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-32
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
4
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
-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
0
0
7
0
0
0
0
0
0
0
0
0
0
-13
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
-94
0
0
0
-8
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
0
0
0
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
0
0
0
0
0
0
0
0
31
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
13
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
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
-35
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
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
-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
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
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
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
-5
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
-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
-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
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-53
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
-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
-2
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
-9
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
19
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
-3
0
0
0
0
0
0
0
-2
0
0
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
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
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
-49
0
0
0
0
0
0
-21
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
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
-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
15
0
0
0
0
0
0
0
0
0
0
0
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
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
27
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
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
26
2
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
9
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
5
0
0
0
0
0
0
9
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
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
-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
-2
0
0
0
-26
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
-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
8
0
0
0
-5
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
2
0
0
0
0
0
0
0
0
0
0
-33
0
0
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
-5
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
25
0
0
0
0
0
0
0
0
0
0
10
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
-1
0
0
0
0
0
0
15
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
-3
0
0
0
0
0
0
0
0
0
0
15
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
-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
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
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
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
-16
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
18
0
0
0
-5
-1
0
-13
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
-29
0
0
0
0
0
0
-18
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
14
0
0
0
3
0
0
0
-16
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
55
0
0
0
-1
0
0
-29
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
11
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
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
-1
0
0
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
5
0
0
0
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
4
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-21
0
0
0
-13
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
-1
0
0
0
0
0
0
0
0
0
0
-43
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
-43
0
0
0
42
0
0
0
0
0
0
-44
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
15
0
0
0
53
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
8
0
0
0
-6
0
0
29
0
0
0
0
0
1
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
2
0
0
-34
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
-9
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
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
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
-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
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
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
-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
35
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
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
5
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
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
-2
0
0
0
-55
0
0
0
0
0
0
52
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
-21
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
47
0
0
0
-5
0
0
0
1
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
-5
0
0
0
0
0
0
0
2
0
0
-5
0
0
0
0
0
0
5
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
-11
0
0
0
3
0
0
0
-19
0
0
-28
0
0
0
0
0
0
14
-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
3
0
73
0
0
0
0
0
0
23
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
-9
0
0
0
-3
0
0
53
0
0
0
0
0
2
-26
10
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
-4
0
0
-33
0
8
0
0
0
0
22
4
0
0
-56
0
0
0
0
0
0
13
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
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
-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
-22
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
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
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
-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
-2
0
0
-11
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
21
0
0
0
-48
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
19
0
0
0
0
0
0
0
9
0
0
-74
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
-4
0
0
0
0
0
0
19
0
0
0
-32
0
0
0
0
0
0
40
0
0
0
0
0
0
-19
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
-1
0
0
0
0
-6
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
-9
0
0
0
-26
0
0
0
2
0
0
63
0
0
0
0
0
0
-43
0
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
-9
0
0
0
0
0
0
-5
2
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
5
0
0
0
10
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
-6
0
0
0
0
0
0
0
-2
0
0
-14
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
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
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
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
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
8
0
0
0
36
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
1
0
0
0
0
0
0
0
0
0
0
4
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
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
-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
-1
0
0
-17
0
0
0
0
0
0
20
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
5
0
0
0
-25
0
0
0
-3
0
0
17
0
0
0
0
0
0
15
-3
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
-5
-18
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-17
5
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
19
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
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
-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
-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
-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
-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
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
-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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
24
0
0
0
0
0
0
0
0
0
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
-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
-7
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
-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
0
0
0
0
0
0
0
0
0
0
0
89
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
22
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
-4
0
0
0
78
0
0
0
0
0
0
-67
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
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
-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
-13
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
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
8
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
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
-1
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
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
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
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
11
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
-9
0
0
0
0
0
0
13
0
0
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
-27
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
0
0
0
0
0
0
0
0
0
5
0
-44
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
5
0
0
0
-4
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
-36
0
0
0
0
0
0
-4
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
10
0
0
0
-6
0
0
0
0
0
0
-40
0
0
0
0
0
0
18
0
0
0
0
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
4
0
0
0
0
0
0
0
0
0
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
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
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
-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
-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
-7
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
39
0
0
0
51
0
0
0
-8
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
33
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
12
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
9
0
0
0
0
0
0
9
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
-9
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
6
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-18
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
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
-8
0
0
0
0
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
9
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
23
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
2
0
0
0
0
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
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
-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
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
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
-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
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
17
0
0
0
0
0
0
0
0
1
0
0
0
14
0
0
0
0
0
3
-30
0
0
0
0
0
2
25
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
-14
0
0
0
0
0
0
4
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
-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
6
8
0
0
-39
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
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
61
0
0
0
29
0
0
-24
0
0
0
0
0
5
-15
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
-2
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
14
0
0
0
0
0
0
-15
0
0
0
16
0
0
0
-4
5
0
-30
0
0
0
0
0
-3
16
0
0
0
0
0
0
0
2
-2
1
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
-2
0
0
0
-76
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
-5
4
0
0
0
-4
0
0
0
3
-4
0
0
0
0
0
0
0
0
16
-4
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
22
8
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
1
-2
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
33
0
0
0
12
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
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
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
27
0
0
0
0
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
0
0
28
0
0
0
5
0
0
0
0
0
0
-22
0
0
0
0
0
0
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
12
0
0
0
0
0
0
-2
0
0
0
83
0
0
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
-9
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
35
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
1
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
8
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
2
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
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
51
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
26
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
10
5
0
0
-11
0
0
0
-23
-7
21
-59
0
5
0
0
0
-32
-66
0
0
0
0
0
0
0
18
-5
-19
0
-2
0
0
0
0
-10
-1
8
-7
1
0
0
0
0
10
-3
5
45
0
0
0
0
0
-19
17
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
40
20
0
0
43
0
0
0
75
-5
-9
3
0
0
0
0
0
2
-12
2
0
0
3
0
0
0
5
-11
4
0
0
1
0
0
0
-39
26
-15
0
0
0
0
0
22
26
9
0
-1
0
0
0
0
0
1
20
0
0
0
-24
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
21
0
0
0
-24
0
0
0
0
1
0
-8
0
-1
0
0
0
-4
42
4
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-4
0
0
26
0
-1
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
1
0
0
0
46
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
-3
0
0
0
0
0
0
0
0
0
0
4
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
12
0
0
0
0
0
0
-51
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
0
0
-46
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
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
0
0
0
0
0
0
0
0
0
0
0
-9
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
10
5
0
0
23
0
0
0
3
0
0
-1
0
0
0
0
0
-6
-11
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
6
-18
0
0
0
0
0
0
0
0
-6
0
52
0
0
0
0
0
0
-5
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-5
-4
0
0
0
0
0
-3
-29
-4
0
0
42
0
0
0
-43
0
15
46
0
0
0
0
0
29
3
0
0
0
0
0
0
0
27
-17
0
0
0
0
0
0
0
31
-19
1
0
-5
0
0
0
3
14
-5
-20
9
0
7
0
0
0
0
-80
16
0
-4
26
0
0
0
0
0
0
28
0
0
0
0
0
0
13
1
-3
0
0
0
0
0
-5
-35
2
0
0
-14
0
0
0
-2
0
-5
-34
0
0
0
0
0
-3
57
10
5
0
0
0
0
0
5
-5
5
0
0
0
0
0
0
-1
5
-14
0
0
0
0
0
0
-5
39
0
44
-6
-4
0
0
0
0
2
0
0
0
57
0
0
0
0
-1
0
-23
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
26
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
15
0
0
0
0
0
0
0
0
-1
0
20
0
0
0
0
0
0
-2
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
-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
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
15
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
-21
0
0
0
0
0
0
0
0
0
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
10
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
-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
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
17
0
0
0
0
0
0
14
0
0
0
0
0
0
30
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
2
0
26
0
0
0
0
0
0
7
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
28
0
-9
70
0
0
0
0
0
18
-6
7
0
0
0
0
0
0
-11
-4
10
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-14
4
0
52
0
0
0
0
0
0
-15
0
0
0
117
0
0
0
0
0
0
-21
0
0
0
0
0
1
10
0
-6
0
0
0
0
0
0
12
1
0
0
5
0
0
0
10
0
1
14
0
4
0
0
0
-5
-23
0
0
0
0
0
0
0
-8
-15
-13
-2
0
0
0
0
0
32
-13
0
0
0
0
0
0
0
11
37
1
33
0
-30
0
0
0
0
-33
0
0
0
6
0
0
0
-2
0
0
30
0
0
0
0
0
0
4
0
2
0
0
0
0
0
5
23
12
0
0
-33
0
0
0
5
-3
-3
18
0
-2
0
0
0
11
37
1
0
0
0
0
0
0
36
10
0
0
0
0
0
0
0
2
-5
8
0
0
0
0
0
0
7
-5
0
-64
0
-9
0
0
0
1
20
0
-2
0
-56
0
0
0
0
0
0
31
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
8
-34
2
0
0
46
0
0
0
-6
-1
5
-27
0
0
0
0
0
11
-23
0
0
0
0
0
0
0
16
-5
-3
0
0
-1
0
0
0
24
2
0
-2
0
0
0
0
0
18
29
-14
22
0
-5
0
0
0
-5
17
-8
0
0
-16
0
0
0
-14
0
0
-29
0
0
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
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
-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
-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
-43
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
-13
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
-133
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
-3
0
0
0
-19
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
74
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
15
-5
0
0
-22
0
0
0
-1
0
0
10
0
4
0
0
0
0
23
-13
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
39
0
0
0
0
0
0
-14
0
0
0
35
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
6
1
0
0
4
0
0
0
0
-1
1
61
0
5
0
0
0
0
-5
-7
0
0
0
0
0
0
18
5
-11
0
0
0
0
0
0
19
-55
1
0
0
0
0
0
0
-11
23
0
28
0
-2
0
0
0
0
-13
0
0
0
84
0
0
0
0
0
0
5
0
0
0
0
0
-2
1
-1
-3
0
0
0
0
0
3
-51
3
0
0
-24
0
0
0
-36
9
-2
-10
0
1
0
0
0
10
17
-5
0
0
0
0
0
0
2
5
-10
0
0
1
0
0
0
-2
9
0
-1
0
0
0
0
0
31
21
-2
0
0
2
0
0
0
-3
-16
6
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
-24
0
0
0
-62
0
0
0
0
0
0
16
0
0
0
0
0
5
53
0
0
0
0
0
0
0
7
-5
0
0
0
0
0
0
0
-1
18
8
0
0
0
0
0
0
-3
-3
5
4
0
-2
0
0
0
0
-13
-5
0
0
7
0
0
0
-5
0
0
17
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
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
-1
0
0
0
0
0
0
0
3
0
0
-6
0
0
0
0
0
0
2
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
-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
-3
0
0
0
0
0
0
0
0
0
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
-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
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
-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
11
0
0
0
-53
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
23
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
-1
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
-28
0
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
-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
14
-1
1
0
0
0
0
0
11
22
0
0
0
60
0
0
0
-4
0
-10
22
0
0
0
0
0
12
-20
2
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
0
0
-2
5
3
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
12
0
0
0
47
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-17
0
0
0
90
0
0
0
0
-11
0
39
0
0
0
0
0
-7
25
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
10
-27
-2
0
0
0
0
0
0
0
-4
-8
-34
0
23
0
0
0
1
9
0
0
0
1
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
39
0
0
0
-5
0
0
-36
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
-21
-10
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
-8
0
0
-7
1
0
0
0
0
0
12
3
0
0
47
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
-3
0
0
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
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
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
-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
-21
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
-17
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
2
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
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
-21
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
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
-5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
10
0
0
0
0
0
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
0
0
-33
0
0
0
0
0
0
2
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
35
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
-3
0
0
0
0
0
0
0
4
0
0
-14
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
-4
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
-34
0
0
0
0
0
0
0
20
14
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
-6
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
4
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
2
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
5
0
0
7
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
19
0
0
0
0
0
0
0
-5
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
-13
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
97
0
0
0
0
0
0
6
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
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
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
-17
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
3
0
0
0
0
0
0
31
0
0
23
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
10
1
-4
-78
0
0
0
0
0
5
24
0
0
0
0
0
0
0
0
15
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
-4
0
37
0
0
0
0
0
0
10
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-10
2
0
0
0
0
0
5
34
-8
0
0
0
0
0
0
-5
5
13
-40
0
0
0
0
0
-23
-25
-23
0
0
-20
0
0
0
3
-2
3
-5
0
0
0
0
0
-34
0
0
0
0
5
0
0
-3
37
3
14
24
0
0
0
0
0
0
9
-2
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
-10
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-24
-7
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
22
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
-2
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-20
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
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
10
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
22
2
0
0
0
0
0
0
14
-3
-3
3
0
0
0
0
0
-1
-28
-1
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
-12
17
0
0
0
0
0
0
0
-4
4
10
-24
0
0
0
0
0
0
-5
-2
0
0
-6
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
5
0
0
46
0
0
0
0
0
-6
6
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
0
0
74
0
0
0
0
0
0
14
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
-16
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
-1
0
0
0
0
0
0
0
2
0
0
-9
0
0
0
0
0
0
11
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
0
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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
-50
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
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
19
0
-23
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
0
1
-5
-18
0
0
0
0
0
-1
7
0
0
0
18
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-25
6
0
0
0
0
0
0
5
0
0
66
0
0
0
0
0
-28
-14
-7
-1
0
0
0
0
0
-11
0
-1
-5
0
0
0
0
0
0
-16
14
0
0
0
0
0
0
0
-1
0
-22
0
0
0
0
0
-15
-1
0
0
0
34
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
5
0
0
43
0
0
0
0
0
11
-18
2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-8
0
0
33
0
0
0
0
0
-2
18
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
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
-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
13
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
-14
0
0
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
-5
0
0
0
0
0
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
-5
0
0
17
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
5
7
3
0
0
0
0
0
0
0
17
0
-15
0
0
0
0
0
0
-5
0
0
0
88
0
0
0
0
0
0
-19
0
0
0
0
0
3
-11
0
3
0
0
0
0
0
-2
17
7
0
0
0
0
0
0
6
1
0
53
0
0
0
0
0
4
-5
-11
-1
2
0
0
0
0
0
1
-22
0
0
0
0
0
0
-2
-2
0
0
-2
0
0
0
0
2
-1
0
0
0
5
0
0
0
0
-5
2
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
-4
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
1
23
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
17
2
0
0
0
0
0
0
0
-11
0
0
-2
0
0
0
0
0
0
-19
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
-3
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
4
0
0
0
0
0
0
0
0
0
0
-12
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
-26
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
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
-28
0
0
0
0
0
0
49
0
0
0
49
0
0
0
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
2
0
0
10
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
-16
6
0
0
0
0
0
0
0
-1
0
0
90
0
0
0
0
0
0
-56
0
0
0
15
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
28
-1
0
0
0
0
0
0
-14
5
0
-5
0
0
0
0
0
2
-26
-1
0
0
0
0
0
0
0
30
1
0
0
0
0
0
0
6
5
1
0
0
0
0
0
0
-1
5
0
-35
0
0
0
0
0
0
1
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
15
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
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
7
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
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
8
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
-12
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
-6
0
0
0
0
0
0
0
-1
0
0
80
0
0
0
0
0
0
1
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
-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
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
-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
30
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
10
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
71
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
26
0
0
0
0
0
0
34
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
0
0
0
0
0
0
0
1
-3
0
-5
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
-7
0
0
0
0
0
0
24
0
0
0
-18
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
0
-73
0
0
0
0
0
0
-19
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-6
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
-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
36
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
15
0
0
0
0
0
0
0
0
0
0
4
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
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
41
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
-8
0
0
0
-26
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
4
0
0
0
-73
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
65
0
0
0
0
-1
0
20
0
3
0
0
0
0
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
-3
0
0
11
0
0
0
0
0
0
15
1
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
3
-1
0
0
0
-6
0
0
0
0
0
0
19
0
0
0
0
0
0
-2
4
-1
0
0
0
0
0
0
13
0
0
0
-3
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
104
0
0
0
0
0
0
-8
3
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
-58
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
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
0
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
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
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
3
0
0
0
-13
0
0
0
0
0
0
-33
0
0
0
0
0
0
-14
-7
0
0
0
0
0
0
0
13
0
0
10
0
0
0
0
0
-2
0
0
0
0
0
0
0
13
33
0
34
0
0
0
0
0
0
24
-1
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
4
0
0
0
-3
0
0
0
0
-2
0
13
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
-6
0
0
0
0
0
0
13
0
0
23
0
0
0
0
0
2
9
5
0
0
-69
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
24
0
0
0
0
0
0
25
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
44
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
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
17
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
27
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
-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
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
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
26
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
-4
0
0
0
0
0
0
-3
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
-1
-1
0
0
0
0
0
0
11
34
0
0
-18
0
0
0
0
3
2
0
60
0
0
0
0
0
0
-16
-4
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
12
0
0
0
54
0
0
0
0
0
0
-63
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
4
1
0
-1
5
0
0
0
0
2
55
-7
0
-10
0
0
0
0
6
0
0
-29
0
0
0
0
0
0
14
5
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
-3
1
0
0
14
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
10
4
-5
0
0
8
0
0
0
2
13
-5
-5
0
0
0
0
0
11
1
1
28
0
0
0
0
0
0
-1
-2
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
4
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
-45
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
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
-32
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
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
57
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
90
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
40
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
-10
0
0
0
0
0
0
5
0
0
0
34
0
0
0
9
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
9
9
0
0
0
0
0
0
11
-1
2
1
0
0
0
0
0
2
-30
0
0
0
-9
0
0
0
0
-16
-5
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-8
-21
0
0
0
20
0
0
0
1
0
0
53
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
3
24
2
0
0
0
0
0
0
-8
-26
5
5
-1
0
0
0
0
34
10
-24
71
0
-5
0
0
0
-14
63
-37
0
0
-21
0
0
0
0
1
0
35
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
-41
0
0
0
0
0
4
-5
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
-7
24
5
70
0
0
0
0
0
0
-6
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
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-43
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
18
0
8
0
0
0
0
-17
0
0
0
111
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
-86
0
0
0
0
0
0
-1
0
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
21
3
5
0
2
0
0
0
0
3
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
17
0
0
0
75
0
0
0
0
0
0
-27
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
-5
-17
0
26
0
0
0
0
0
0
14
-10
0
0
45
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
5
0
0
0
0
0
0
0
0
0
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
-15
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
11
0
0
0
13
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
4
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
0
0
0
0
0
0
0
0
0
0
0
5
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
1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
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
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
0
0
0
0
0
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
51
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
-16
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
-2
0
0
0
-9
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
-3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
87
0
0
0
16
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
-7
0
0
0
-6
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
-3
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
14
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
-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
-21
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
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
62
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-6
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
1
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
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
36
0
0
0
0
0
0
-40
0
0
0
0
0
0
-36
-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
7
10
0
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
36
0
0
0
0
0
0
-80
0
0
0
0
0
0
-6
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
-13
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
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
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
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
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
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
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
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
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
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
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
14
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
47
0
0
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
-7
0
0
0
23
0
0
0
0
0
0
-42
0
0
0
0
0
0
1
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
23
5
0
0
0
0
0
0
0
6
0
-5
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
2
0
0
0
84
0
0
0
0
0
0
26
0
0
0
0
0
0
-24
0
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
-5
0
-19
0
0
0
0
0
0
13
-14
0
0
15
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
49
0
0
0
0
0
0
65
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
0
0
0
44
0
0
0
0
0
0
5
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
28
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
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
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
5
0
0
0
0
0
0
64
0
0
0
17
0
0
0
0
0
0
-52
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
1
0
0
0
0
-3
2
0
22
0
0
0
0
0
0
-7
-2
0
0
43
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
5
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
-13
1
0
0
0
0
0
0
0
5
0
12
0
0
0
0
0
-4
-29
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
-45
0
0
0
0
0
0
-32
0
0
0
0
0
-9
-12
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
-4
14
0
-41
0
-13
0
0
0
0
-15
-7
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
-26
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
-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
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
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
-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
-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
9
0
0
0
-33
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
8
14
0
0
0
0
0
0
2
0
0
22
0
0
0
0
0
0
-6
4
0
0
88
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
32
0
0
0
0
0
0
-5
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
-10
0
5
0
0
0
0
0
0
14
3
28
3
1
0
0
0
0
16
1
0
0
0
0
0
0
0
0
-52
-2
0
0
57
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
43
0
0
0
-10
0
0
0
0
0
0
61
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
-3
-22
0
0
-11
-2
0
0
0
16
-5
5
-5
0
0
0
0
0
-7
5
4
2
0
3
0
0
0
3
-58
34
0
0
20
0
0
0
2
1
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
78
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
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
-33
0
0
0
0
0
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
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
43
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
31
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
-8
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
27
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
-26
0
0
0
12
0
0
0
0
0
0
-13
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
5
16
0
0
0
0
0
0
0
3
0
0
55
0
0
0
0
0
0
20
0
0
0
-31
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
-30
0
0
0
0
0
0
49
0
0
0
0
0
0
43
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
-1
24
21
0
0
0
0
0
0
6
8
0
37
0
0
0
0
0
0
29
27
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
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
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
37
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
4
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
-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
20
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
-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
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
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
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
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
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
-5
0
0
0
0
0
0
0
0
0
0
62
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
2
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
-3
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
10
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
11
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
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
-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
20
0
0
0
0
0
0
27
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
-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
-1
0
0
0
0
0
0
0
0
1
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
31
0
0
0
0
0
0
-33
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
-29
-1
0
29
0
0
0
0
0
0
-8
8
0
0
90
0
0
0
0
0
0
5
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
-22
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
40
0
0
0
0
0
0
34
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
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
-4
0
0
0
0
0
0
0
1
0
0
-23
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
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
52
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
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
0
0
0
0
0
0
0
0
0
-18
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
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
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
25
0
0
0
0
0
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
-5
0
0
0
-8
0
0
0
0
0
0
36
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
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
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
17
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
4
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
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
-9
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
-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
-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
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
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
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
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
6
0
0
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
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
1
0
33
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
-14
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
-45
0
0
0
0
0
0
-31
0
0
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
-8
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
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
-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
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
-11
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
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
-26
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
-22
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
0
0
0
0
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
16
0
0
0
-32
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
-4
13
0
0
0
0
0
0
0
0
0
7
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
10
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
-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
4
0
0
0
6
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
-35
0
0
0
0
0
0
31
0
0
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
-10
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
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
-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
2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
-22
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
-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
46
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
-1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
-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
-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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
0
0
0
0
0
0
0
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
-4
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
2
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
4
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
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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
14
0
0
0
-7
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
5
0
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-35
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
-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
44
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
-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
2
0
0
0
0
0
0
0
0
0
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
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
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
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
-7
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
5
0
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
-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
-23
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
-6
0
0
0
0
0
0
0
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
4
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
5
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
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
-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
3
0
0
0
-4
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
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
-10
0
0
0
-21
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
9
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
4
0
0
0
20
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
11
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
-69
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
-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
-7
0
0
0
50
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
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
-1
0
0
0
0
0
0
33
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
-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
34
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
9
0
0
0
0
0
0
0
0
0
0
13
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
1
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
-4
0
0
0
0
0
0
0
0
0
0
-5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
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
2
0
0
0
26
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
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
0
0
0
0
0
0
0
8
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
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
3
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
-9
0
0
0
21
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
3
0
0
0
0
0
0
-3
-2
0
11
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
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
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
-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
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
5
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
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
5
0
0
0
0
0
0
0
0
0
0
-40
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
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
-4
0
0
0
82
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
53
0
0
0
0
0
0
0
-14
2
0
12
0
0
0
0
0
0
27
-3
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
-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
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
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
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
3
0
0
0
25
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
-11
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
-35
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
8
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
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
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
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
-24
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
4
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
-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
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-6
0
0
0
0
0
0
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
-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
54
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
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
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
107
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
-4
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
24
0
0
0
0
0
0
5
0
0
0
-49
0
0
0
0
0
0
-2
0
0
0
0
0
-2
-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
3
0
0
0
0
0
0
4
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
1
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-1
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
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
-7
0
0
0
0
0
0
49
0
0
0
-58
0
0
0
21
-5
0
-29
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-46
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
-3
0
0
0
28
0
0
0
0
0
0
0
0
11
0
0
0
0
-12
0
0
0
0
0
0
0
0
-7
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
-30
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
7
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
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
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
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
-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
18
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
15
0
0
0
-60
0
0
0
0
3
0
-25
0
0
0
0
0
0
-5
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
-1
0
0
0
0
0
0
-9
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
-6
0
0
0
-22
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
14
0
0
0
0
0
0
0
2
0
0
12
0
0
0
0
0
0
-11
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
12
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
1
0
0
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
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
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
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
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
18
0
0
0
-33
0
0
0
-13
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
11
17
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-26
-2
0
0
69
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
-43
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
-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
36
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
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
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
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
2
0
0
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
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
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
-38
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
-13
0
0
0
-58
0
0
0
1
0
0
-37
0
0
0
0
0
0
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
0
0
-13
0
0
0
0
0
0
60
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-36
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
13
-7
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
10
0
0
-37
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
30
0
0
0
-6
0
0
41
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
16
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
2
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
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
40
0
0
0
12
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
-2
0
0
0
0
0
0
0
-2
0
0
46
0
0
0
0
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
0
0
14
-1
0
0
58
0
0
0
2
0
0
32
0
0
0
0
0
-7
-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
6
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
-13
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
-2
-2
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
7
46
0
0
-7
0
0
0
0
0
0
0
0
0
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
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
-33
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
21
0
0
0
1
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
10
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-6
0
0
0
64
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
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
1
0
0
0
0
0
0
0
0
0
0
14
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
15
0
0
0
-33
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
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
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
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
-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
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
4
0
0
0
0
0
0
-4
0
0
0
8
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-5
0
0
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
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
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
3
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
15
0
0
0
0
0
5
-3
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
5
-10
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-15
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-34
0
0
0
16
-1
0
5
0
0
0
0
0
-10
20
0
0
0
0
0
0
0
0
0
4
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
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
43
0
0
0
21
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
13
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
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
-26
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
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
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
43
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
3
0
0
0
0
0
0
0
0
0
0
-26
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
-20
0
0
0
0
0
0
-1
0
0
0
9
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
-3
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
-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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
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
-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
-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
14
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
-16
0
0
0
33
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
-25
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
10
0
0
0
-5
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
4
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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-7
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
53
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
19
0
0
0
15
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
2
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
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
5
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
17
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
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
45
0
0
0
65
0
0
0
0
0
0
-13
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
20
0
0
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
-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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
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
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
48
0
0
0
0
0
0
9
0
0
0
66
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
-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
-14
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
4
-5
0
0
0
50
0
0
0
0
0
0
135
0
0
0
0
0
0
4
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
28
0
0
0
0
0
0
1
0
0
0
12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
-88
0
0
0
2
6
0
-27
0
3
0
0
0
-14
-6
39
0
0
0
0
0
0
0
0
11
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
-17
-1
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-26
0
0
0
0
0
0
0
0
0
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
35
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
17
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
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
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
35
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
9
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
2
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
21
0
0
0
-7
0
0
0
0
0
0
-40
0
0
0
0
0
8
-9
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
-44
0
0
0
0
0
0
-10
0
0
0
-42
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
-21
0
0
0
-11
0
0
0
0
-5
2
0
0
0
0
0
0
10
-24
0
0
0
0
0
0
0
10
-10
11
0
0
0
0
0
0
0
-28
-4
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
62
-4
0
0
-62
0
0
0
0
2
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-8
-30
1
0
0
30
0
0
0
-14
26
16
-11
0
-11
0
0
0
34
-9
-18
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
22
-3
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-23
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
3
0
0
0
28
0
0
0
-5
0
0
22
0
0
0
0
0
4
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
25
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
12
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
1
0
0
0
0
0
0
-10
0
0
0
93
0
0
0
-6
-1
0
23
0
0
0
0
0
13
3
0
0
0
0
0
0
0
0
11
-2
0
0
0
0
0
0
0
47
5
0
0
0
0
0
0
0
0
0
-10
0
14
0
0
0
0
-25
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
-19
0
0
0
71
0
0
0
0
0
0
-1
0
0
0
0
0
4
-15
6
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
0
0
17
6
0
0
0
0
0
0
-7
0
0
55
0
0
0
0
0
0
5
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
4
-5
1
0
0
-26
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
-7
0
7
0
0
0
0
5
-7
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
-65
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
41
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
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
32
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
-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
36
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
91
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
18
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
-4
0
0
0
0
0
0
49
0
0
0
23
0
0
0
0
0
0
33
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
1
0
0
10
0
0
0
0
0
0
24
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
-35
10
0
0
-17
0
0
0
7
0
0
29
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
6
0
0
5
0
0
0
0
2
14
0
-49
0
-4
0
0
0
0
24
-3
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
-14
0
0
0
-25
0
0
0
4
0
0
-26
0
0
0
0
0
0
3
11
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
11
0
44
0
0
0
0
0
0
34
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
7
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
6
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
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
31
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
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
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
-78
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
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
78
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
13
-14
0
0
2
0
0
0
-2
-5
0
0
0
0
0
0
0
2
2
0
44
0
5
0
0
0
0
44
-6
0
0
29
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-8
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
0
0
-3
-32
0
0
0
0
0
0
0
14
0
0
14
0
-4
0
0
0
-3
-4
-8
0
-3
0
0
0
0
-5
0
0
-15
0
5
0
0
0
0
22
-5
0
0
-84
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
11
-13
0
0
0
0
0
0
-61
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
17
0
0
0
0
0
0
0
2
0
1
0
0
34
0
0
0
0
47
-27
-5
0
0
0
0
0
4
28
0
-23
0
-8
0
0
0
0
2
6
7
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
-14
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
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
33
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
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
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
40
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
9
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
-23
0
0
0
0
0
0
-17
0
0
0
59
0
0
0
0
0
0
-32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-8
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-42
-23
0
0
-40
0
0
0
0
0
0
5
0
0
0
0
0
0
14
8
0
0
0
0
0
0
10
-36
4
-4
0
0
0
0
0
-4
48
36
5
17
0
0
0
0
-2
-15
3
0
0
9
0
0
0
0
42
5
-1
0
25
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-6
0
0
0
-6
0
0
0
0
0
-2
-28
0
0
0
0
0
14
-22
0
9
0
3
0
0
2
14
-11
13
-5
0
0
0
0
0
33
40
8
0
16
0
0
0
0
55
-5
-5
47
0
-26
0
0
0
5
29
-21
12
-6
-16
0
0
0
-8
30
0
23
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
47
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-29
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
23
7
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
-14
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
11
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
101
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
-4
0
0
0
0
0
0
0
2
0
0
-7
0
2
0
0
0
0
48
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
-21
0
0
0
-15
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
0
0
0
0
0
9
-54
-4
0
-2
0
0
0
0
11
6
0
184
0
-2
0
0
0
0
18
3
0
0
31
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-18
0
0
0
-4
0
0
0
0
0
0
21
0
0
0
0
0
2
-30
0
0
0
0
0
0
0
-1
32
1
0
0
0
0
0
0
-5
-10
9
5
0
0
0
0
0
7
-7
24
66
0
6
0
0
0
0
4
34
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-17
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
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
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
9
0
0
0
0
0
0
4
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
-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
22
0
0
0
0
0
0
-3
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
-33
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
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
9
0
0
0
-9
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
21
0
0
0
0
0
0
9
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
-2
0
0
0
0
0
0
0
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
42
0
0
0
0
0
0
68
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
8
5
0
0
50
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
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
22
0
0
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
14
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
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
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
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
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
-5
0
0
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
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
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
0
0
0
0
0
0
0
16
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
14
0
0
0
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
0
0
0
0
23
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
-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
-13
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
17
0
0
0
-57
0
0
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
-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
13
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
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
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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
7
0
0
0
0
0
0
0
0
0
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
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
6
0
0
0
85
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
27
0
0
0
0
0
0
48
0
0
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
87
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
-6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
11
6
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
6
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
3
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
0
0
0
0
-20
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
-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
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
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
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
25
0
0
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
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
7
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
2
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
-8
0
0
0
0
0
0
-31
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
-58
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
-16
0
0
0
-13
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
30
-1
0
0
0
0
0
0
0
6
0
56
0
4
0
0
0
0
-6
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
-3
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
-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
-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
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
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
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
-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
-3
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
-48
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
-7
0
0
0
0
0
0
34
0
0
0
45
0
0
0
0
0
0
19
0
0
0
0
0
5
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
20
0
0
0
0
0
0
0
7
-5
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
-19
0
0
0
-1
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
27
-43
15
0
0
0
0
0
0
5
4
0
18
0
0
0
0
0
0
-22
-6
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
5
0
0
0
-10
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
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
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
-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
-82
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
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
-84
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
156
0
0
0
0
0
0
4
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
7
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
20
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
-6
0
0
0
0
0
0
-81
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
0
1
0
24
0
0
0
0
0
0
3
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
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
0
0
0
0
0
0
0
0
0
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
-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
-24
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
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
-17
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
-1
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
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
-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
22
0
0
0
0
0
0
0
0
0
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
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
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
5
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
-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
0
0
0
0
0
-17
-14
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
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
-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
-4
0
0
0
0
0
0
0
0
0
0
21
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
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
0
0
0
0
0
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
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
58
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
47
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
26
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
27
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
-2
0
0
0
0
0
0
0
0
0
0
0
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
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
1
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
6
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
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
-5
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
0
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
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-41
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
8
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
-4
0
0
0
0
0
0
0
0
0
0
23
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
24
7
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-14
-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
48
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
2
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-97
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
-49
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
8
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
43
0
0
0
0
0
0
0
0
0
9
-3
0
0
-4
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
-61
0
0
0
0
0
0
-53
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
19
24
23
0
2
0
0
0
0
-1
0
3
8
0
0
0
0
0
0
-28
-2
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
-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
-15
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
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
1
0
0
0
0
0
0
0
0
0
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
17
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
74
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
42
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
-1
0
0
0
29
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
22
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
-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
-3
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
14
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
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
9
0
0
0
0
0
0
0
0
0
0
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
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
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
27
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
-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
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
10
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
7
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
10
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
2
0
0
0
-96
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
1
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
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
26
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
0
0
0
0
0
0
0
14
0
0
0
10
0
0
0
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
-74
0
0
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
-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
-33
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
-18
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
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
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
-10
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
-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
-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
7
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-7
0
0
0
0
0
0
0
0
0
0
32
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
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
-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
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
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
76
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
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
-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
3
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
-23
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
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-18
0
0
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
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
-75
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
23
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
21
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
77
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
23
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
-30
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
3
0
0
0
-3
0
0
0
1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
-17
0
0
0
0
0
0
0
0
0
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
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
-18
0
0
0
0
0
0
-4
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
21
0
0
0
32
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
-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
0
0
0
0
49
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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
-66
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
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
40
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
3
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
0
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
1
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
-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
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
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-24
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
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
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
-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
4
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
-10
0
0
0
-47
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
5
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
24
0
0
0
48
0
0
0
2
0
0
57
0
0
0
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
0
0
0
-2
0
-24
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
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
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
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
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
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
5
0
0
0
6
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
10
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
6
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
3
3
6
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-18
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
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
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
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
-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
-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
11
0
0
0
0
0
0
0
0
0
0
45
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
59
0
0
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
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
5
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
-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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
51
0
0
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
-13
0
0
0
0
0
0
-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
6
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-4
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
0
0
0
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
1
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
3
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
-1
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
-56
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
-24
0
0
0
0
0
0
0
0
0
0
31
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
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
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
-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
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
7
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
-7
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
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
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
-7
0
0
0
0
0
0
0
-3
0
0
17
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
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
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
-8
0
0
0
0
0
0
-55
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
27
0
0
-4
0
0
0
0
0
0
-32
0
0
0
90
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
-37
0
0
0
0
0
0
28
0
0
0
0
0
0
-13
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
-8
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
-1
0
0
0
0
0
0
-2
0
0
0
33
0
0
0
0
0
0
5
0
0
0
0
0
-2
13
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
16
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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
0
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
-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
0
0
0
0
0
0
0
5
0
0
0
1
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
7
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
10
0
0
0
-13
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
1
0
0
-49
0
0
0
1
0
0
0
0
0
0
0
0
-6
-6
6
0
0
0
0
0
0
0
6
-22
13
0
0
0
0
0
0
15
18
0
0
-5
0
0
0
25
-6
0
4
0
0
0
0
0
0
42
0
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
-11
-3
0
0
29
0
0
0
25
0
1
-24
0
0
0
0
0
-5
6
-5
0
0
0
0
0
0
15
0
1
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
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
-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
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-2
0
0
0
0
0
0
0
0
0
3
52
0
2
0
0
0
-16
45
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
6
0
0
47
0
0
0
0
0
0
34
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
4
0
0
0
-54
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
11
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-18
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
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
11
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
-9
0
0
0
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
-11
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
31
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
8
0
0
0
-5
0
0
0
-4
0
0
-51
0
0
0
0
0
0
-58
-4
0
0
0
0
0
0
1
19
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
-23
1
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
-4
0
0
0
-51
0
0
0
0
0
0
46
0
0
0
0
0
0
-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
23
0
0
0
0
0
0
-3
4
0
0
122
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
-42
0
0
0
0
0
0
0
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
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
-21
0
0
0
0
0
0
0
0
0
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
-35
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
-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
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
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
0
0
0
0
0
0
0
0
-1
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
-12
0
0
0
-4
0
0
0
-2
0
0
-5
0
0
0
0
0
0
-15
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
0
-36
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
0
0
0
0
0
0
0
-6
0
0
0
-6
0
0
0
0
0
0
31
0
0
0
0
0
0
-10
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
2
0
0
-14
0
0
0
0
0
-3
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
5
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
4
-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
9
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
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
11
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
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
-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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
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
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
16
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
33
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
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
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
-33
0
0
0
18
0
0
0
5
0
0
-32
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-14
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
23
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
-31
0
0
0
0
0
0
-23
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
-8
0
0
33
0
0
0
0
0
0
11
-2
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
-65
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-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
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
-11
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
6
0
0
0
50
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
-4
0
0
0
0
0
0
0
0
0
0
-7
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
18
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
-11
0
0
0
0
0
0
7
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
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
-64
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
-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
1
0
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
11
0
0
0
9
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
-64
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
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
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
-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
-4
0
0
0
53
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
-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
0
0
0
0
0
0
0
4
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
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
-7
0
0
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
-5
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
-6
0
0
0
0
0
0
0
0
0
0
5
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
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
1
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
3
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
2
0
0
0
0
0
0
3
0
0
0
-31
0
0
0
0
4
0
-43
0
0
0
0
0
-2
-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
1
0
0
-49
0
0
0
0
0
0
29
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
-5
-7
0
0
12
0
0
0
-3
1
0
-2
0
0
0
0
0
-3
11
0
0
0
0
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
-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
-1
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-7
0
0
0
0
0
0
0
0
0
0
11
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
4
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
1
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
0
0
0
34
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
-5
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
-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
1
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
3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-17
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
17
0
0
0
-32
0
0
0
0
0
0
5
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
19
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
1
0
0
0
0
0
0
-14
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
8
-8
0
0
0
0
0
0
16
-4
0
28
0
0
0
0
0
0
15
-2
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
-9
0
0
0
-17
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
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
-54
0
0
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
-5
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
-22
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
6
0
0
0
19
0
0
0
2
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
7
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
16
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
-32
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
-8
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
46
0
0
0
0
0
0
11
0
0
0
24
0
0
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
-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
23
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
51
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
88
0
0
0
0
0
0
19
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
5
0
0
0
0
0
0
23
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
4
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
6
0
0
0
0
0
0
0
0
0
0
-23
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
6
0
0
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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
74
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
97
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
-10
0
0
0
0
0
0
34
-9
0
0
9
0
0
0
-34
0
0
50
0
0
0
0
0
-2
3
-22
0
0
0
0
0
0
11
1
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
43
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
83
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
2
0
0
0
0
0
0
9
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
-5
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
45
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
23
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
34
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
-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
-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
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
10
0
0
0
-9
0
0
0
0
0
0
-19
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
-17
0
0
0
0
0
0
-8
0
0
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
-41
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
17
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
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
-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
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
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-24
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
46
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
5
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
-4
0
0
0
0
0
0
-8
0
0
0
35
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
-3
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-17
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
-24
0
0
0
-60
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
-5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
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
43
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
-26
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
-55
0
0
0
13
0
0
0
0
0
0
-6
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
11
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
-25
0
0
0
7
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
65
0
0
0
0
0
0
25
0
0
0
-8
0
0
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
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
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
27
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
66
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
-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
-4
0
0
0
0
0
0
0
0
0
0
43
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
5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
-31
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
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
-9
0
0
0
0
0
0
1
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
106
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
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
5
-17
0
0
0
0
0
0
22
3
0
0
0
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
-5
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
-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
-14
0
0
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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
5
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
-34
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
-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
2
0
0
0
22
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
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
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
-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
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
-11
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
32
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
-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
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
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
6
0
0
0
15
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
-9
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
-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
-39
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
-29
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
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
20
0
0
0
15
0
0
0
0
0
0
-18
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
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
-22
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
10
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
-20
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
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
23
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
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
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
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
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
112
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
-14
0
0
0
0
0
0
0
0
0
0
16
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
10
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
32
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
-5
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
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
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
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
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
16
0
0
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
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
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
-11
0
0
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
-3
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
-19
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
0
0
0
0
28
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-42
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
3
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
-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
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
19
0
0
0
0
0
0
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
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
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
21
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
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
4
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
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
24
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
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
-18
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
91
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
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
23
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
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
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
-1
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
11
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
15
0
0
0
0
0
0
0
0
0
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
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
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
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
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
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
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
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
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
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
-1
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
3
0
0
-11
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
-6
0
0
0
0
0
0
0
0
0
0
1
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
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
21
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
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
-8
0
0
0
0
0
0
0
0
0
0
16
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-11
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
13
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
-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
-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
-14
0
0
0
0
0
0
0
0
0
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
-2
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
1
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
-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
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
-3
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
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
15
0
0
0
0
0
0
0
0
0
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
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
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
-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
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
-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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
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
-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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
14
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
-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
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
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
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
-9
0
0
0
-4
0
0
0
-5
0
0
56
0
0
0
0
0
0
39
-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
-15
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
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
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
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
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
-1
0
0
0
-11
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
-3
0
0
0
23
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-18
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
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
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
1
0
0
0
0
0
0
0
0
0
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
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
-2
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
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
-13
0
0
0
-4
0
0
0
4
0
0
32
0
0
0
0
0
-1
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
48
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
11
0
0
0
11
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
14
0
0
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
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
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
5
0
0
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
-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
-21
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
-2
0
0
0
-2
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
-6
0
0
0
0
0
0
4
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
11
0
0
0
28
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
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
5
0
0
0
16
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
0
0
2
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
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
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
9
0
0
0
0
0
0
0
0
0
0
27
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-2
0
0
149
0
0
0
33
0
-1
-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
-9
0
0
0
0
0
0
0
0
0
0
-15
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
17
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-54
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
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
33
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
-1
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
1
0
0
0
-18
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
3
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
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
-1
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
-2
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
9
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
14
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
-5
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
1
0
0
0
-34
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
2
0
0
0
0
0
0
0
0
0
0
-21
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
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
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-17
0
0
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
5
0
0
0
0
0
0
0
0
0
0
-3
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
5
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
30
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
0
0
0
0
0
0
0
-1
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
67
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
6
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
-22
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
-26
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
29
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
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
-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
2
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
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
-68
0
0
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
-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
-1
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
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
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
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
8
2
0
0
35
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
2
0
-17
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
3
0
0
0
0
0
0
1
0
0
0
-16
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
27
0
0
0
0
0
0
0
0
0
0
51
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
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
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
0
0
0
0
0
0
0
-9
0
0
0
-65
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
25
7
0
0
0
0
0
0
0
0
0
-16
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
-2
0
0
0
-11
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
-1
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
-50
0
0
0
0
0
0
8
0
0
0
17
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
38
0
0
0
0
0
0
10
0
0
0
0
0
0
18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
26
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
2
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
10
0
0
0
0
0
0
8
0
0
0
-14
0
0
0
0
0
0
113
0
0
0
0
0
0
-30
0
0
0
0
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
21
0
0
0
24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
51
0
0
0
-31
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
9
0
0
0
0
-20
2
0
0
0
0
0
0
3
2
0
-44
0
-1
0
0
0
0
11
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
3
0
0
0
53
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
11
-2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
33
0
0
0
0
0
0
0
0
0
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
-77
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
-1
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
5
3
0
0
-46
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
-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
4
1
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-10
5
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
-4
0
0
0
-63
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
-4
-1
0
0
2
0
0
0
0
-5
-3
0
0
0
0
0
0
-1
-5
0
-16
0
0
0
0
0
0
-7
17
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
-19
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
4
0
0
0
0
0
0
10
0
0
0
3
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
2
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-4
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
16
-1
0
0
19
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
4
0
0
0
0
0
0
0
6
0
0
0
2
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
3
0
0
0
-42
0
0
0
0
0
0
46
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
1
3
13
23
0
0
0
0
0
-4
-2
3
26
0
0
0
0
0
0
-18
-2
0
0
2
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
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
-31
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-14
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
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
24
0
0
0
0
0
0
-14
0
0
0
31
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
-20
0
0
0
0
0
0
0
0
0
0
-23
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
-22
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
-43
0
0
0
0
0
0
26
0
0
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
-14
0
0
0
0
0
0
-12
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
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
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
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
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
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
-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
-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
-23
0
0
0
0
0
0
0
0
0
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
-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
-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
-15
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
36
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
4
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
-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
-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
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
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
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
6
0
0
0
-16
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
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
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
-25
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
-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
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
28
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
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-5
0
0
0
20
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
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
-74
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
-2
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
-2
0
0
0
-14
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
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
-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
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
-31
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
14
0
0
0
0
0
0
2
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
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
37
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
-4
0
0
0
0
0
0
-6
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
-82
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
12
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
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
1
0
0
0
0
0
0
0
0
0
0
10
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
-1
0
0
0
45
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-5
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
7
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
14
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-3
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
26
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
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
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
-4
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
5
0
0
0
1
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
-28
0
0
0
0
0
0
0
0
0
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
-11
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
9
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
3
0
0
0
0
0
0
0
0
0
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
-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
-47
0
0
0
0
0
0
-54
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
-59
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
7
0
0
0
-22
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
-13
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
19
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-59
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
15
0
0
0
0
0
0
0
0
0
0
-58
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
0
0
0
0
-23
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
8
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
46
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
24
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
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
-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
-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
-30
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
-6
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
0
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
-18
0
0
0
-13
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
-10
0
0
0
0
0
0
0
0
0
0
16
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
-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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-33
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
-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
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
1
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
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
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
-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
-4
0
0
0
0
0
0
0
0
0
0
-34
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
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
-33
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
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
-5
0
0
0
0
0
0
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
-2
0
0
0
-24
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
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-68
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
21
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
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
-20
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
-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
-5
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
-6
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
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
-19
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
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
-25
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
-27
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
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
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
19
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
-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
17
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
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
-26
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
7
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
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
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
10
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
6
0
0
0
0
0
0
0
0
0
0
8
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
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
7
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
14
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
7
0
0
0
2
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
12
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
-9
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
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
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
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
5
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
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
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
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
-44
0
0
0
0
0
0
-8
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
-38
2
0
0
4
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
-20
6
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-14
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
-34
0
0
0
-12
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
7
2
0
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
-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
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
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
6
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
-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
16
0
0
0
-34
0
0
0
0
0
0
13
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
20
1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
50
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
44
6
0
0
-20
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
6
0
0
0
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
18
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
-30
0
0
0
-10
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
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
-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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
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
0
0
0
0
0
0
0
32
0
0
0
-2
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
-2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
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
-14
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
49
3
0
0
0
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
-45
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
65
0
0
0
-21
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
9
-2
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
15
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
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
-3
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
-1
0
0
0
0
0
0
0
0
0
0
98
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
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
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
-1
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
16
0
0
0
-31
0
0
0
0
0
0
-7
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-1
29
17
0
0
0
0
0
0
-20
0
0
18
0
0
0
0
0
0
-9
-15
0
0
7
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
12
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
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
54
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
45
0
0
0
-3
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
14
0
0
0
0
0
0
-6
0
0
0
18
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
8
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
-11
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
2
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
-47
0
0
0
-8
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
-9
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
40
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
-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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
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
-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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
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
-20
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
-50
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
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
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
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
18
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
4
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
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
8
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
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
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
-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
-42
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
-5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-39
0
0
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
-2
0
0
0
-10
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
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
-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
-58
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
-3
0
0
0
0
0
0
-14
0
0
0
-15
0
0
0
0
0
0
30
0
0
0
0
0
0
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
17
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
26
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
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
-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
1
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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
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
4
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
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
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
3
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
-37
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
-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
-2
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
-8
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-3
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
-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
-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
-41
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
-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
5
0
0
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
-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
-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
-4
0
0
0
0
0
0
5
0
0
0
23
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
1
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
10
0
0
0
-8
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
-51
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
1
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
2
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
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
-11
0
0
0
-12
0
0
0
0
0
0
-41
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
-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
7
0
0
0
-26
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
-4
0
0
0
0
0
0
0
0
0
0
41
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
-14
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
-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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
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
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
-29
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
-5
0
0
0
0
0
0
0
0
0
0
42
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
2
0
0
0
0
0
0
-18
0
0
0
35
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
-14
0
0
0
0
0
0
0
0
0
0
-29
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
-12
0
0
0
11
0
0
0
0
0
0
-28
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
9
11
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-4
0
0
0
0
0
0
-28
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
-21
0
0
0
5
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
-1
-16
7
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
9
-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
-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
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-1
0
0
0
20
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
1
0
0
0
0
0
0
0
0
0
2
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
2
0
0
0
0
0
0
-7
0
0
0
1
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
-4
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
9
0
0
0
0
0
0
0
0
0
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
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
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
-5
0
0
0
-2
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
-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
-21
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
14
0
0
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
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
34
0
0
0
5
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
-6
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
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
-11
0
0
0
0
0
0
-14
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
12
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
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
2
0
0
0
58
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
35
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
9
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
-14
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-10
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
54
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
-28
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
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
-23
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
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
4
0
0
0
0
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
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
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
18
0
0
0
-13
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
10
0
0
0
0
0
0
0
0
0
0
-42
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-8
0
0
0
-11
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
18
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
-24
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
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
-38
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-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
-17
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
-59
0
0
0
0
0
0
18
0
0
0
19
0
0
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
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
42
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-12
0
0
0
0
0
0
-2
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
-7
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
59
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
-7
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
8
0
0
0
0
0
0
0
0
0
0
36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
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
-23
0
0
0
0
0
0
0
0
0
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
-11
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
2
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
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
48
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
-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
-3
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
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
-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
10
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
-32
0
0
0
0
0
0
0
0
0
0
-24
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
6
0
0
0
0
0
0
15
0
0
0
-30
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
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
0
0
0
0
0
0
0
-19
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
31
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
-36
0
0
0
0
0
0
27
0
0
0
0
0
0
-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
-48
0
0
0
0
0
0
9
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
34
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
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-18
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
5
0
0
0
-26
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
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
0
0
0
0
0
0
0
2
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
-5
0
0
0
0
0
0
0
0
0
0
-7
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
5
0
0
0
0
0
0
5
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-5
0
0
0
10
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
27
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
5
0
0
0
0
0
0
0
0
0
0
-36
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
5
0
0
0
19
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
-26
0
0
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
26
0
0
0
-17
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
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
-7
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
13
0
0
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
-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
-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
-11
0
0
0
0
0
0
22
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
-7
0
0
0
0
0
0
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
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
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
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
-2
0
0
0
0
0
0
0
0
0
0
-21
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
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
20
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
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
1
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
-10
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
-1
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
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
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
-57
0
0
0
0
0
0
0
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
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
32
0
0
0
0
0
0
0
0
0
0
-39
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
1
0
0
0
0
0
0
30
0
0
0
17
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
24
0
0
0
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
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
49
0
0
0
-14
0
0
0
0
0
0
54
0
0
0
0
0
0
-15
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
36
0
0
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
-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
-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
0
0
0
0
0
0
0
9
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
-2
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
-11
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
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-10
0
0
0
-4
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
34
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
46
-5
0
0
5
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
11
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
2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-14
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-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
-5
0
0
0
-9
0
0
0
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
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
35
0
0
0
0
0
0
-12
0
0
0
3
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
-12
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
9
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
-2
0
0
0
0
0
0
0
-1
0
0
15
0
0
0
0
0
0
-10
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
-5
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-12
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
-27
0
0
0
0
0
0
0
0
0
0
14
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
16
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
-14
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
6
0
0
0
0
0
0
7
0
0
0
13
0
0
0
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
42
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
-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
-27
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
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
-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
-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
36
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
-19
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
-75
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
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
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
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
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
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
-41
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
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
25
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
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
-39
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
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
-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
-7
0
0
0
0
0
0
0
0
0
0
-26
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
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
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
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-29
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
-1
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
0
0
0
0
-12
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
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
-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
7
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
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
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
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-27
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
-19
0
-2
0
0
0
0
-41
0
0
0
0
0
0
0
0
-2
9
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
-12
0
0
0
-14
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
11
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
5
15
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
5
8
1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-10
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
16
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
21
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
-5
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
4
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
49
0
0
0
-9
0
0
0
0
0
0
-3
0
2
0
0
0
0
-26
29
0
0
0
0
0
0
0
-7
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
46
0
0
0
21
0
0
0
0
0
0
-7
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
3
5
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
-12
0
0
0
0
0
0
8
0
0
0
-33
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-34
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-45
2
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-67
0
0
0
-28
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
9
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-32
-5
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
-5
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
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
-3
0
0
0
43
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-16
0
0
0
-6
0
0
0
0
0
1
5
0
0
0
0
0
5
-12
0
0
0
0
0
0
0
0
18
14
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
20
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
-1
0
0
0
9
0
0
0
-1
0
13
-24
0
0
0
0
0
-5
-13
0
0
0
0
0
0
0
2
10
-5
3
0
0
0
0
0
0
-20
6
0
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
10
5
0
0
11
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-25
23
0
0
0
0
0
0
0
11
-1
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
5
13
0
0
0
0
0
0
4
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
13
0
0
0
0
0
0
-13
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
15
0
0
0
0
0
0
0
0
0
0
6
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
-13
0
0
0
0
0
0
24
0
0
0
22
0
0
0
9
0
0
1
0
0
0
0
0
13
-29
8
0
0
0
0
0
0
7
31
0
0
0
0
0
0
0
0
14
-1
0
0
0
0
0
0
5
8
0
-21
0
0
0
0
0
0
66
0
0
0
-3
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
16
1
20
0
1
0
0
0
-4
-22
41
0
0
0
0
0
0
0
27
-5
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
-5
12
0
0
0
0
0
0
-61
4
0
0
-4
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
30
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
-23
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-59
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
6
0
0
0
0
0
0
20
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
33
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
19
0
0
0
0
0
0
27
0
0
0
10
0
0
0
-3
0
0
20
0
5
0
0
0
0
-5
5
0
0
0
0
0
0
0
20
3
0
0
0
0
0
0
-18
6
0
0
0
0
0
0
0
0
-5
0
31
0
-18
0
0
0
0
22
0
0
0
18
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-49
0
0
0
17
0
0
0
0
0
0
10
0
0
0
0
0
-2
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
7
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
18
20
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
5
52
0
0
0
0
0
0
-30
0
0
0
-12
0
0
0
-4
15
0
-17
0
0
0
0
0
0
2
37
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
0
2
23
0
0
0
0
0
0
-14
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
-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
-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
-8
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-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
-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
-3
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
-4
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
26
0
0
0
0
0
0
-48
0
0
0
0
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
3
0
0
0
-34
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
-50
0
0
0
-16
0
0
0
0
0
0
-7
0
0
0
0
0
52
-28
19
0
0
0
0
0
0
0
-6
-13
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
-2
30
0
0
0
15
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
24
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
14
-1
0
-3
0
0
0
0
0
0
11
21
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
41
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
-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
-18
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
-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
5
0
0
0
0
0
0
23
0
0
0
-18
0
0
0
0
0
0
-11
0
0
0
0
0
0
31
0
0
0
0
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
-28
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-15
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
-11
0
0
0
0
0
0
-12
0
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-32
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
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
-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
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
-10
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
52
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
-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
33
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
-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
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
-45
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
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
-11
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
-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
5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
30
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
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
-6
0
0
0
0
0
0
0
0
0
0
66
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
4
0
0
0
0
0
0
14
0
0
0
13
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
30
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-4
0
0
0
0
0
0
5
0
0
0
-4
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
0
0
0
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
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
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
-15
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-2
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
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
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
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
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
52
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
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
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
-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
-35
0
0
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
4
0
0
0
4
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
-25
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
13
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
0
8
0
0
0
0
0
0
-15
0
0
0
0
0
0
19
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
45
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
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
5
0
0
0
3
0
0
0
0
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
0
0
-3
0
0
0
0
0
0
0
0
0
0
-17
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
-40
0
0
0
0
0
0
7
-5
0
0
-4
0
0
0
-1
-1
0
-43
0
0
0
0
0
0
22
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
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-11
0
0
0
-8
0
0
0
0
0
0
0
0
-14
0
0
0
0
2
-9
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
-3
0
0
0
10
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
2
0
0
3
0
0
0
-3
0
0
-33
0
0
0
0
0
0
-38
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
24
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
-18
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
9
3
-8
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
6
-2
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
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
18
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
-10
0
0
0
-8
0
0
0
-1
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
-14
0
0
0
0
0
0
-14
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
14
0
0
2
0
0
0
0
0
0
1
0
-2
0
0
0
0
-11
0
0
0
0
0
0
-1
0
13
-18
0
0
0
0
0
0
0
10
-3
0
0
0
0
0
0
3
0
2
5
0
0
0
0
0
0
-36
14
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-26
11
0
0
9
0
0
0
3
0
0
-28
0
-9
0
0
0
0
-39
8
0
0
1
0
0
0
0
0
14
0
0
0
0
0
0
1
3
5
-13
0
0
0
0
0
-4
4
11
3
0
0
0
0
0
0
-4
-21
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-27
-4
0
0
7
0
0
0
0
-2
0
-24
0
8
0
0
0
-7
-11
-2
43
0
3
0
0
0
-6
1
-4
-1
0
5
0
0
0
4
-22
12
21
0
0
0
0
0
37
-4
3
-3
0
14
0
0
0
0
17
10
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
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
47
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
-12
0
0
0
0
0
0
-26
0
0
0
-10
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
18
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
53
-10
0
0
7
0
0
0
0
0
2
2
0
0
0
0
0
0
4
8
0
0
0
0
0
0
2
2
0
0
6
0
0
0
0
0
-25
-12
-13
0
0
0
0
0
0
22
-7
14
0
0
0
0
0
0
55
-3
0
0
3
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-34
-23
0
0
2
0
0
0
6
0
0
-16
0
23
0
0
0
0
-44
4
0
0
0
0
0
0
0
29
37
0
4
0
0
0
0
5
-12
-30
0
0
0
0
0
7
-4
-4
3
0
0
0
0
0
0
0
23
-1
0
-1
2
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
-12
0
0
0
0
0
0
-13
0
-2
0
0
0
0
26
0
0
0
0
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
9
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
1
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
-4
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
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
25
0
0
0
0
0
0
0
0
0
0
-11
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
5
0
0
0
0
0
0
3
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
-7
0
0
0
0
0
0
5
0
0
0
-6
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-21
-10
0
0
8
0
0
0
1
0
0
-12
0
0
0
0
0
0
38
0
0
0
0
0
0
0
-14
0
8
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-5
0
3
21
0
0
0
0
0
0
4
0
0
0
2
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-16
4
0
0
2
0
0
0
0
-10
0
-20
0
-3
0
0
0
0
-37
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
1
-11
-5
0
0
0
0
0
0
-5
5
4
9
0
6
0
0
0
0
10
-9
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
16
13
0
0
-1
0
0
0
0
1
0
-7
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
18
-13
0
0
0
0
0
0
3
-1
0
-16
0
0
0
0
0
0
-12
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
-30
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
-21
0
0
0
0
0
0
0
0
0
0
17
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
-11
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
8
0
0
0
-10
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
8
0
0
0
0
0
0
-17
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
9
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
24
7
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
2
0
0
0
0
0
0
-5
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
23
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-33
0
0
0
-2
0
0
0
0
0
0
5
0
1
0
0
0
0
-18
0
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
3
-15
-24
0
0
0
0
0
0
-5
0
23
22
0
0
0
0
0
0
20
-5
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
-24
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
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-21
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
-18
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
-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
-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
-3
0
0
0
0
0
0
37
0
0
0
11
0
0
0
0
0
0
-54
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
-43
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
-32
0
0
0
0
0
0
-14
0
0
0
24
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
-5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
0
-5
0
0
0
0
0
0
-8
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
-65
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
3
3
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
-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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-6
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
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
33
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
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
1
0
0
0
0
0
0
0
0
0
0
7
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
-71
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
-7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
19
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
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
-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
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-61
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
-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
5
0
0
0
0
0
0
0
0
0
0
21
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
-46
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
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
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
5
0
0
0
-10
0
0
0
0
0
0
39
0
0
0
0
0
0
32
0
0
0
0
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
-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
25
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
-6
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-14
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
-27
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
14
0
0
0
0
0
0
0
0
0
0
-32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
-5
0
0
0
14
0
0
0
0
0
0
47
0
0
0
0
0
0
55
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
4
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
21
0
0
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
23
0
0
0
0
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
-6
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
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
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
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
5
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
-12
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
-15
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
4
3
0
0
-41
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
-29
0
0
0
0
0
0
33
0
0
0
0
0
0
15
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
-5
0
0
0
0
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
5
0
0
0
15
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
19
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
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
10
0
0
0
0
0
0
8
0
0
0
-62
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
33
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
13
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
29
-1
0
0
0
0
0
0
0
0
0
-18
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-19
0
0
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
1
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
0
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
102
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
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
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
26
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
29
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
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
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
-25
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
-14
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
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
-5
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
51
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
40
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
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
1
0
0
0
21
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
20
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
23
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
13
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
5
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
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
-72
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
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
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
-11
0
0
0
-41
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
-11
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
26
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
-3
0
0
0
0
0
0
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
11
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
4
0
0
0
0
0
0
0
0
0
-44
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
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
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
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
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
8
0
0
0
0
0
0
-57
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
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
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
24
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
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
1
0
0
0
0
0
0
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
0
0
0
0
0
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
-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
-6
0
0
0
0
0
0
0
0
0
-2
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
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
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
-5
0
0
0
0
0
0
0
0
0
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
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
-50
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
14
0
0
0
0
0
0
4
0
0
0
10
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
5
3
0
0
0
0
0
0
0
0
0
-21
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
5
0
0
0
0
0
0
-16
0
0
0
-44
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
-1
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
5
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
5
0
0
0
-31
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
-14
0
0
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
-15
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
-25
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
-16
-1
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
26
0
0
0
11
0
0
0
0
0
0
4
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
-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
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
-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
31
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
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
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-22
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
-9
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-15
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
3
0
0
0
-34
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
13
-1
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
-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
-7
0
0
0
0
0
0
0
0
0
0
-13
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
21
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
-43
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
19
-6
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
-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
-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
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
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
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
4
0
0
0
0
0
0
0
0
0
0
-34
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
-18
0
0
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
5
0
0
0
-31
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
-2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-21
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
-56
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
27
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
9
0
0
0
0
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
38
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
20
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
15
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
24
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
-14
0
0
0
-4
0
0
0
0
0
0
23
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
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
18
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
35
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
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
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
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
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
-5
0
0
0
0
0
0
-6
0
0
0
20
0
0
0
0
0
0
-62
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
-25
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
-1
0
0
0
0
0
0
13
0
0
0
4
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
14
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
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
-1
0
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
-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
10
0
0
0
0
0
0
-8
0
0
0
-51
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
5
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
-12
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
23
0
0
0
15
0
0
0
0
0
0
72
0
0
0
0
0
0
-46
0
0
0
0
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
14
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
-75
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
-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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
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
-3
0
0
0
-32
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
35
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
-5
0
0
0
0
0
0
-1
0
0
0
-96
0
0
0
0
0
0
-67
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
38
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
4
0
0
0
0
0
0
-19
0
0
0
6
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
11
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
27
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
-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
-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
-52
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
43
0
0
0
0
0
0
10
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
22
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
-19
0
0
0
-12
0
0
0
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
-16
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
14
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
7
0
0
0
15
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
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
-5
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
0
0
0
0
0
0
0
0
0
0
0
9
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
-3
0
0
0
0
0
0
-33
0
0
0
-9
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
-32
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
38
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
-5
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
-20
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
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
0
0
-21
-1
0
0
0
0
0
0
0
0
6
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
10
0
0
0
4
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
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
-35
0
0
0
0
0
0
4
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
-2
0
0
0
6
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
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
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
-34
0
0
0
-33
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
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
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
14
0
0
0
-26
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
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-18
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
-10
0
0
0
0
0
0
4
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
-24
0
0
0
-27
0
0
0
0
0
0
-27
0
0
0
0
0
0
-8
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
-61
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
28
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
9
-1
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
0
0
-14
0
0
0
0
0
0
-6
0
0
0
35
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-71
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
-24
3
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
4
0
0
0
0
0
0
4
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
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
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
-3
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
3
4
0
0
-6
0
0
0
0
0
4
2
0
0
0
0
0
0
-50
-1
0
0
0
0
0
0
0
-4
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
19
0
0
0
15
0
0
0
0
0
0
-19
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
41
0
0
0
0
0
-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
-40
0
0
0
0
0
0
10
0
0
0
16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
1
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
2
0
0
0
0
0
0
0
0
0
0
-35
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
4
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
0
0
0
5
36
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
32
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
30
-4
0
0
9
0
0
0
0
0
0
36
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
1
6
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
43
0
0
0
0
0
0
-14
0
0
0
-10
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
-3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-14
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
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
-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
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
8
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
-27
0
0
0
0
0
0
12
10
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-44
-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
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-33
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
9
4
0
0
0
0
0
0
-4
0
0
-37
0
0
0
0
0
0
21
15
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
23
0
0
0
-2
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
-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
-5
0
0
0
0
0
0
93
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
-3
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
35
0
0
0
0
0
0
-2
0
0
0
10
0
0
0
0
0
0
13
0
0
0
0
0
0
-43
0
0
0
0
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
-5
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
33
0
0
0
14
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
-14
0
0
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
-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
-58
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
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
-4
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
6
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
2
-3
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
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
15
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
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
18
0
0
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
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
6
0
0
0
0
0
0
0
0
0
0
-38
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
5
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
5
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
10
0
0
0
0
0
0
-9
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
-8
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-5
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
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
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
-2
0
0
0
0
0
0
-23
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
4
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
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
0
0
0
1
0
0
0
-22
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
40
0
0
0
0
0
0
-14
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
-11
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
6
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
-6
0
0
0
0
0
0
0
0
0
0
52
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
5
0
0
0
0
0
0
-5
0
0
0
-8
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
-16
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
1
0
0
0
0
0
0
-3
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
6
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
16
0
0
0
14
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
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
-18
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
-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
-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
5
0
0
0
-17
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
8
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
14
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
-10
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-5
0
0
0
-22
0
0
0
0
0
0
0
0
0
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
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
-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
-15
0
0
0
0
0
0
0
0
0
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
-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
1
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
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
1
0
0
0
0
0
0
1
0
0
0
24
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-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
-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
-42
0
0
0
0
0
0
0
0
0
0
20
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
17
0
0
0
0
0
0
16
0
0
0
24
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
9
0
0
-4
0
0
0
1
0
-6
0
0
-3
0
0
0
-11
12
0
-1
0
0
0
0
0
0
19
9
0
0
1
0
0
0
14
9
15
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
-56
0
0
0
-19
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
39
0
0
0
-1
0
0
0
-7
10
-5
0
0
0
0
0
0
10
-33
0
0
0
0
0
0
0
0
5
14
1
0
-3
0
0
0
-5
2
1
0
0
0
0
0
0
-5
0
6
-12
0
14
0
0
0
0
-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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
20
0
0
0
-45
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
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
18
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-28
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
16
-4
5
0
6
0
0
0
-1
5
0
0
0
0
0
0
0
-5
-7
0
9
1
0
0
0
0
0
22
6
8
0
20
0
0
0
1
24
0
-10
0
0
0
0
0
4
1
5
0
0
0
0
0
0
0
-13
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
1
0
-24
0
0
0
0
0
0
19
0
6
0
-9
0
0
0
-7
-7
0
0
0
0
0
0
0
-3
25
0
0
0
0
0
0
3
0
13
-35
0
0
0
0
0
0
4
-56
9
-9
0
0
0
0
0
-4
19
-3
-3
0
0
0
0
0
0
22
-1
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
9
-17
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
-34
0
0
0
0
0
0
-39
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
8
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
6
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
5
0
0
0
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
-8
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-98
-2
8
0
10
0
0
0
4
-9
14
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
0
-31
14
43
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
2
0
-9
-11
0
0
0
0
0
0
18
-1
0
0
11
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
12
43
0
0
-2
0
0
0
4
-13
5
0
0
4
0
0
0
6
-26
20
0
0
3
0
0
0
-4
-5
25
2
0
-3
0
0
0
9
0
-38
0
0
0
0
0
0
-5
11
22
11
0
0
0
0
0
0
-27
-16
0
0
2
0
0
0
4
0
0
22
0
0
0
0
0
0
-2
0
-72
0
0
0
0
0
10
-27
-2
0
0
0
0
0
0
0
-54
-6
0
0
-6
0
0
0
-1
-4
0
0
0
0
0
0
0
24
-20
-15
5
-4
-11
0
0
0
9
33
-25
0
0
0
0
0
0
6
-2
2
7
0
0
0
0
0
0
13
-17
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
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
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
-11
0
0
0
0
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
24
0
0
0
0
0
0
6
0
0
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
2
61
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
26
0
0
0
7
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-11
44
0
0
5
0
0
0
0
5
5
0
0
0
0
0
0
12
-37
0
4
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
-12
-2
-5
-3
0
0
0
0
2
-6
27
4
0
0
0
0
0
0
25
-23
0
0
9
0
0
0
0
0
0
20
0
0
0
0
0
6
0
14
14
0
0
0
0
0
0
3
-34
0
0
0
0
0
0
2
0
0
0
0
5
0
0
0
-5
-7
0
54
0
0
0
0
0
0
13
-43
0
0
0
0
0
0
-2
11
-11
18
0
0
0
0
0
-1
-3
0
-10
0
0
0
0
0
-2
-18
2
0
0
7
0
0
0
0
0
0
-7
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
1
0
0
0
0
0
0
0
18
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
6
0
7
0
0
0
0
0
0
74
0
0
0
-11
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
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
11
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-4
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
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
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
54
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-23
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
0
0
0
0
0
0
0
0
-12
7
36
0
0
0
0
0
6
26
0
0
0
0
0
0
0
9
-5
24
10
0
0
0
0
0
0
-35
10
0
0
11
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
-34
0
0
0
0
0
0
23
0
0
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
-18
0
10
0
0
0
0
0
-2
5
7
51
0
-16
0
0
0
-6
-1
-7
0
0
0
0
0
0
45
0
2
-2
0
0
0
0
0
0
15
10
0
0
14
0
0
0
0
0
0
22
0
0
0
0
0
0
1
-2
-19
0
0
0
0
0
0
5
-26
0
0
6
0
0
0
0
0
0
0
0
1
0
0
0
14
-29
0
5
0
0
0
0
0
-1
0
8
12
0
0
0
0
0
5
-10
10
0
0
0
0
0
0
-26
12
-1
6
0
0
0
0
0
0
-17
18
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
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
-13
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
-9
0
0
0
0
0
0
36
0
0
0
2
0
0
0
0
0
0
0
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
30
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-30
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
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
26
0
0
0
0
0
0
-22
0
0
0
16
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
40
15
0
0
0
0
0
5
-4
-4
0
0
-8
0
0
0
1
-6
-2
0
0
0
0
0
0
0
55
0
15
0
0
0
0
0
0
-6
-20
28
0
1
0
0
0
2
-10
0
18
0
0
0
0
0
14
15
-2
0
0
5
0
0
0
15
62
-13
0
0
2
0
0
0
0
0
0
-27
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
-16
3
10
0
1
0
0
0
12
2
19
3
-16
0
0
0
0
-13
-3
-1
14
0
0
0
0
0
0
2
-7
10
0
-3
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-13
0
0
0
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
-26
5
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-32
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
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
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
20
0
0
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
-11
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
27
-8
0
0
0
0
0
0
-20
-5
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
5
0
0
0
0
0
0
35
22
0
0
0
0
0
0
0
-15
9
13
0
4
0
0
0
0
25
0
0
0
11
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
24
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
-4
7
6
0
0
0
0
0
4
-6
-13
10
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
-14
-5
0
0
6
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
20
-10
0
0
0
0
0
0
0
-10
0
0
0
3
0
0
0
0
0
0
16
0
0
0
0
0
0
-41
4
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
19
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
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
-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
-2
0
0
0
0
0
0
0
0
0
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
-21
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
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-70
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
-54
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
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
-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
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
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
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
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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-37
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
18
0
0
0
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
6
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
-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
6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
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
-1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-4
0
0
0
0
0
0
0
0
0
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
-79
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-4
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
4
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
43
0
0
0
0
0
0
0
0
0
0
8
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
11
0
0
0
0
0
0
-39
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
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
26
0
0
0
9
0
0
0
0
0
0
-9
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
-12
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
12
0
0
0
0
0
0
-32
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
23
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
-10
0
0
0
16
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
32
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-55
0
0
0
19
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-2
1
0
0
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
11
0
6
0
0
0
0
0
0
0
-4
0
0
2
0
0
0
-3
-29
0
16
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-23
6
0
0
2
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
-1
0
0
1
0
0
0
0
0
19
-52
0
0
0
0
0
0
43
-4
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
21
0
0
0
0
0
0
5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
-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
-19
0
0
0
0
0
0
0
0
0
0
-29
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
-7
0
0
0
0
0
0
28
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
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
18
0
0
0
0
0
0
10
21
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
26
0
0
0
-7
0
0
0
0
0
0
26
0
0
0
0
0
0
-50
5
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
54
0
0
0
-18
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
-22
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
-2
0
0
0
0
0
0
0
0
0
0
-29
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-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
37
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
-17
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
22
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
-11
0
0
0
0
0
0
-7
0
0
0
-14
0
0
0
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
0
0
-17
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-14
0
0
0
-13
0
0
0
0
0
0
22
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
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-81
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
-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
-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
-1
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-8
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
-55
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
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
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
36
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
11
0
0
0
-2
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-13
-5
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
53
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-23
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
74
4
0
0
0
0
0
0
0
43
1
0
0
0
0
0
0
0
-33
7
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-15
13
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-46
0
0
0
3
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
-31
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
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
-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
-15
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-26
0
0
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
-9
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
-8
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
35
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
16
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-28
0
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
-66
10
0
0
3
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
7
0
0
0
0
0
0
15
0
0
0
0
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
2
0
0
0
0
0
0
0
0
-8
-23
0
0
0
0
0
0
2
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
-3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
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
-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
-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
3
0
0
0
0
0
0
20
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
-3
0
0
0
0
0
0
0
0
0
0
8
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
0
0
0
0
0
0
0
17
0
0
0
19
0
0
0
0
0
0
-47
0
0
0
0
0
0
18
0
0
0
0
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
-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
-3
0
0
0
-27
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
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-14
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
31
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
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
-4
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
56
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
-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
-19
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
11
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
30
0
0
0
0
0
0
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
35
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
23
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
-5
0
0
0
0
0
0
-6
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
-9
0
0
0
-33
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
6
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
7
0
0
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
-35
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-4
0
0
0
0
0
0
26
0
0
0
2
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
-36
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
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
-1
0
0
0
34
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
16
0
0
0
0
0
0
0
0
0
0
-39
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
10
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
55
0
0
0
0
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
-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
-4
0
0
0
0
0
0
-11
0
0
0
18
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
-5
0
0
0
0
0
0
0
0
0
0
-20
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
-11
0
0
0
-9
0
0
0
0
0
0
-14
0
0
0
0
0
0
25
0
0
0
0
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
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
-61
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
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
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
29
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
-23
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-14
0
0
0
8
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
-8
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
4
0
0
0
0
0
0
0
0
0
0
33
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
-6
0
0
0
8
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
18
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
-17
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
1
0
0
0
16
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
-5
0
0
0
0
0
0
0
0
0
0
-29
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
-15
0
0
0
0
0
0
8
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
-1
0
0
0
13
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-23
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
33
0
0
0
0
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
-6
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
14
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
-14
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
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
1
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
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
30
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
53
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
23
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
3
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
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
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
-23
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-5
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
-7
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
39
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
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-17
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
4
0
0
0
-25
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
4
0
0
0
0
0
0
0
0
0
0
58
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
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
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
-11
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
-7
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
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
23
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
14
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
-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
-8
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
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
-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
26
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
20
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
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
-14
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
53
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
18
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
-17
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
21
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
3
0
0
0
21
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
34
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-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
-26
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
1
0
0
0
0
0
0
0
0
0
0
-10
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
-2
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
39
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
-16
0
0
0
-45
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
-8
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-28
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-10
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
7
0
0
0
0
0
0
-17
0
0
0
-23
0
0
0
0
0
0
-15
0
0
0
0
0
0
32
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
-44
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
-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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
8
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
-3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-6
0
0
0
40
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
-2
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
14
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
22
0
0
0
-21
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
-5
0
0
0
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
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
-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
-5
0
0
0
0
0
0
-7
0
0
0
-41
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-43
0
0
0
25
0
0
0
0
0
0
-31
0
0
0
0
0
0
41
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
-17
0
0
0
0
0
0
8
-5
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
-10
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
-10
0
0
0
-16
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
6
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
6
0
0
0
0
0
0
14
0
0
0
-7
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
0
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
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
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
-11
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
22
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
39
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
1
0
0
0
0
0
0
0
0
0
0
30
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
-20
0
0
0
-12
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
-55
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
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
-14
0
0
0
0
0
0
-14
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
7
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
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
29
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
-9
0
0
0
27
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
-48
0
0
0
0
0
0
0
0
0
0
5
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
-15
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
2
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
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
6
0
0
0
0
0
0
47
0
0
0
6
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
-24
0
0
0
0
0
0
28
0
0
0
39
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
20
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
-24
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-3
0
0
0
-12
0
0
0
0
0
0
1
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
40
0
0
0
0
0
0
2
-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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
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
-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
33
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
-4
0
0
0
12
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
-23
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
7
0
0
0
29
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-17
0
0
0
33
0
0
0
0
0
0
26
0
0
0
0
0
0
4
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
-2
0
0
0
0
0
0
18
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
-6
0
0
0
3
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
-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
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
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
-28
0
0
0
0
0
0
24
0
0
0
3
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
45
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
43
0
0
0
0
0
0
9
0
0
0
4
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
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
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
-2
0
0
0
-24
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
11
0
0
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
0
-21
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
25
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
15
0
0
0
0
0
0
-26
0
0
0
-18
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
-2
0
0
0
-7
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
-24
0
0
0
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
-2
9
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
2
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
-8
0
0
0
-39
0
0
0
0
0
0
60
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-42
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
-19
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
26
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
3
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
-15
0
0
0
0
0
0
-20
0
0
0
-17
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
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
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
-21
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
-3
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
-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
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
29
0
0
0
0
0
0
0
0
0
0
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
-35
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
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
22
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
-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
-6
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-33
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
7
0
0
0
-6
0
0
0
0
0
0
35
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
50
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
12
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
-5
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
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
-26
0
0
0
0
0
0
0
0
0
0
0
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-75
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
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
-3
0
0
0
-22
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
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
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
-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
-11
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
-4
0
0
0
0
0
0
0
0
0
0
-4
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
6
0
0
0
0
0
0
0
0
0
0
-9
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
1
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
-5
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
8
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-14
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
-9
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
23
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
6
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
-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
-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
-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
1
0
0
0
0
0
0
5
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
1
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
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
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
14
0
0
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
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
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
1
0
0
0
0
0
0
0
0
0
0
-58
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
-8
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
2
0
0
0
0
0
0
19
0
0
0
1
0
0
0
0
0
0
56
0
0
0
0
0
0
-14
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
45
0
0
0
0
0
0
-43
0
0
0
19
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
35
-9
0
0
2
0
0
0
6
0
-3
-16
0
0
0
0
0
3
-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
24
0
0
0
0
0
0
46
0
0
0
-11
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
12
-1
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
-33
0
0
9
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
-5
21
0
0
2
0
0
0
0
-2
0
4
0
0
0
0
0
0
11
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
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
77
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
-46
0
0
0
11
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
7
0
0
0
0
0
0
0
0
0
0
-34
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
0
15
0
0
0
0
0
0
38
-3
0
0
-4
0
0
0
-5
-43
0
12
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
-1
2
-14
0
5
0
0
0
0
1
17
-13
34
0
0
0
0
0
0
66
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
13
0
0
0
-11
0
0
0
0
-2
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-2
17
3
0
-1
0
0
0
0
17
5
0
0
0
0
0
0
0
7
1
10
0
0
0
0
0
0
60
-1
0
0
-15
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-19
4
0
0
-1
0
0
0
14
-7
43
-13
0
1
0
0
0
9
18
0
-9
0
0
0
0
0
-1
11
9
5
0
0
0
0
0
1
-22
-1
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-31
-5
0
0
-17
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
22
0
0
-9
0
0
0
0
0
0
28
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
16
0
-13
0
0
0
0
0
0
12
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
7
0
0
0
-25
0
0
0
1
0
0
52
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
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-14
0
0
8
0
0
0
2
-21
2
3
0
0
0
0
0
-18
22
0
0
0
20
0
0
0
0
-16
10
16
0
0
0
0
0
-4
23
16
0
0
0
0
0
0
2
2
-10
16
0
0
0
0
0
0
43
-2
0
0
-5
0
0
0
0
0
0
-64
0
0
0
0
0
10
0
0
2
0
0
0
0
0
-1
47
23
0
0
-1
0
0
0
-2
19
6
-18
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
2
22
-17
5
0
0
0
0
0
-2
6
5
1
0
0
0
0
0
3
-9
2
5
0
0
0
0
0
0
37
-6
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
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
-12
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
2
0
0
0
0
0
0
2
9
0
0
-5
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
-13
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-19
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
-5
0
0
5
0
0
0
0
0
15
-23
5
0
0
-7
0
0
0
0
-13
1
11
1
0
0
0
0
3
15
0
2
0
0
0
0
0
-5
-17
0
24
-3
0
0
0
0
4
-7
22
0
0
0
0
0
0
-4
23
5
-15
0
0
0
0
0
0
13
-5
0
0
6
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-26
-21
0
0
8
0
0
0
0
0
0
-22
0
0
0
0
0
0
-57
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
-23
0
2
0
0
0
0
-4
0
0
0
-17
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
20
0
0
0
-25
0
0
0
0
0
0
24
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-25
-1
0
0
0
0
0
0
0
0
5
11
0
0
0
0
0
0
-36
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
-29
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
1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
22
0
0
0
18
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
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
37
0
0
0
-33
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
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
-6
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
43
0
0
0
33
0
0
0
0
0
0
31
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-11
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
29
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-6
0
0
23
0
0
0
0
-1
0
8
0
0
0
0
0
-13
22
0
1
0
0
0
0
0
0
-1
8
-11
0
3
0
0
0
0
35
0
0
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
-19
0
0
0
5
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
15
-5
0
0
-1
0
0
0
-5
-4
32
8
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
0
20
2
-10
0
3
0
0
0
2
-14
16
0
0
0
0
0
0
0
31
-1
-13
0
0
0
0
0
0
53
-1
0
0
15
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
2
-28
0
0
0
0
0
-1
-28
0
0
0
-7
0
0
0
5
-13
-4
10
0
0
0
0
0
-2
3
0
0
2
0
0
0
0
0
1
15
-16
0
13
0
0
0
-11
11
22
0
0
0
0
0
0
-5
-3
0
18
0
10
0
0
0
0
-13
23
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
-7
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
-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
-1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
8
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
18
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-23
0
0
0
29
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
23
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-1
0
12
0
0
0
0
0
0
-20
-8
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
2
0
0
-18
0
0
0
0
0
13
-11
-16
0
0
12
0
0
0
21
-22
0
-4
0
0
0
0
0
2
-24
0
-8
-5
0
0
0
0
0
34
10
-19
0
0
0
0
0
0
-10
2
-5
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
26
-4
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
-16
0
0
0
-5
0
0
-9
0
0
0
0
0
1
48
0
0
-17
0
0
0
0
0
-1
20
-30
1
-3
0
0
0
-11
16
8
-12
31
0
0
0
0
-2
1
4
6
0
0
0
0
0
0
9
-7
-5
0
-6
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
30
0
0
0
-5
0
0
0
0
0
0
-36
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
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-6
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
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
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
5
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
-13
0
0
0
0
0
0
13
2
0
0
5
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
54
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
0
17
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-10
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
-1
-26
0
0
0
0
0
0
0
-42
-15
0
0
0
0
0
0
0
2
0
5
0
0
0
0
0
0
9
15
0
0
-3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-27
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
11
32
0
0
5
0
0
0
0
39
1
-5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
13
34
0
0
1
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
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
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
8
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
-8
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
-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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
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
-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
-33
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
28
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
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
1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
18
0
0
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
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
-20
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
-14
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
0
0
7
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
29
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
22
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
27
0
0
0
-14
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
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
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
3
0
0
0
0
0
0
0
0
0
0
44
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
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
-8
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
2
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
-4
0
0
0
0
0
0
10
0
0
0
12
0
0
0
0
0
0
0
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
10
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
25
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
21
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
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
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
1
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
-3
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
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
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
-11
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
43
0
0
0
-32
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
5
0
0
0
0
0
0
0
0
0
0
-31
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
-17
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
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
29
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
-14
0
0
0
18
0
0
0
0
0
0
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
0
0
0
0
0
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
-8
0
0
0
0
0
0
4
0
0
0
6
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
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
16
0
0
0
-24
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
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
-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
-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
-5
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
-46
0
0
0
0
0
0
-14
0
0
0
23
0
0
0
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
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
11
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
-5
0
0
0
0
0
0
0
0
0
0
-34
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
37
0
0
0
0
0
0
-31
0
0
0
5
0
0
0
1
0
0
-6
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
0
25
0
-5
0
0
0
0
0
0
11
1
0
0
-9
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
14
1
0
0
18
0
0
0
4
7
4
-13
0
1
0
0
0
-5
10
0
0
0
-3
0
0
0
-3
-28
-15
0
0
0
0
0
0
5
-26
0
0
0
0
0
0
0
0
-2
0
12
0
0
0
0
0
0
19
0
0
0
21
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
41
0
0
0
0
0
-8
-22
2
0
0
5
0
0
0
-16
-3
6
17
0
0
0
0
0
1
9
-5
0
0
0
0
0
0
-1
23
-1
0
0
6
0
0
0
-25
-16
0
0
0
0
0
0
0
-14
-7
7
0
0
0
0
0
0
0
33
22
0
0
17
0
0
0
0
0
9
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
10
0
0
0
0
0
0
0
0
0
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
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
-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
2
0
0
0
0
0
0
0
0
0
0
-25
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
4
0
0
0
0
0
0
1
0
0
0
27
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
-34
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-5
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
72
0
0
0
17
0
0
0
13
-5
0
5
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
6
3
0
0
-1
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
14
0
0
0
0
7
0
-58
0
0
0
0
0
3
0
0
-28
0
0
0
0
0
8
-2
-9
-3
0
14
0
0
0
-5
-2
-4
0
0
2
0
0
0
0
14
10
-5
0
0
0
0
0
-13
-38
13
0
-5
-25
0
0
0
28
-28
10
-5
-1
0
0
0
0
-26
-32
-13
5
9
11
0
0
0
-3
22
-1
4
0
-2
0
0
0
2
27
13
8
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-46
2
-5
0
9
0
0
0
8
-5
-8
-18
0
-1
0
0
0
-9
-7
-4
0
0
0
0
0
0
4
-12
0
0
0
1
0
0
0
-3
22
-4
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-29
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
18
0
0
0
-3
0
0
0
0
0
0
11
0
0
0
0
0
0
20
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
5
0
0
0
0
0
0
-22
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
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
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
-35
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
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
-3
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
-14
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
9
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
-34
19
0
0
7
0
0
0
0
-9
3
-10
0
3
0
0
0
-25
6
0
0
0
0
0
0
0
0
2
-26
0
0
0
0
0
0
-23
-6
-2
0
0
0
0
0
0
-23
5
5
8
0
0
0
0
0
5
-6
33
0
0
15
0
0
0
2
0
0
-8
0
0
0
0
0
0
0
1
-39
0
0
0
0
0
2
23
-6
4
0
-4
0
0
0
7
10
0
6
0
0
0
0
0
-8
3
-2
0
0
0
0
0
0
-35
27
8
0
0
43
0
0
0
-34
-4
-8
19
0
0
0
0
0
31
-14
5
8
0
0
0
0
0
-2
-1
43
8
0
-3
0
0
0
17
13
-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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
17
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
5
0
0
0
0
0
0
-18
0
0
0
-11
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
6
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-10
0
0
0
7
0
0
0
0
0
0
-10
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
-20
0
0
0
0
0
0
-32
7
8
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
3
-43
18
15
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-31
15
2
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-29
1
0
0
-3
0
0
0
0
0
0
8
0
-3
0
0
0
0
5
0
0
0
0
0
0
0
7
-2
-14
0
0
-2
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
9
0
0
-5
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-77
0
0
0
-14
0
0
0
0
0
0
-28
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-20
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-32
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
5
0
0
0
-10
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
-23
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
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
-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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
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
-4
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
7
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
6
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
-24
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
7
-9
0
0
20
0
0
0
-3
1
1
-6
-2
14
0
0
0
0
-11
-2
0
0
0
0
0
0
0
2
8
0
10
0
0
0
0
24
16
0
0
0
0
0
0
0
2
46
-33
-27
0
0
0
0
0
5
43
-5
0
0
-2
0
0
0
8
16
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
16
0
0
0
2
0
4
15
0
-1
0
0
0
0
-39
4
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
14
-9
-7
0
0
0
0
0
0
2
4
-2
-5
0
0
0
0
0
3
-23
17
-6
0
26
0
0
0
0
0
17
33
0
0
0
0
0
0
0
-1
-33
0
0
0
0
0
0
-19
0
0
0
-7
0
0
0
-19
0
0
1
0
0
0
0
0
0
38
3
0
0
0
0
0
0
0
-39
0
0
0
15
0
0
0
0
-34
-18
4
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
3
-4
0
0
3
0
0
0
7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
-3
0
0
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
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
0
0
0
47
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
-9
0
0
0
0
0
0
43
0
0
0
9
0
0
0
0
0
0
64
0
0
0
0
0
0
-33
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
0
0
33
0
0
0
0
0
0
-1
0
0
0
-12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
14
-1
0
0
21
0
0
0
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-37
0
-4
0
0
0
0
0
0
-15
0
18
0
0
0
0
0
0
13
39
0
0
8
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-55
-1
0
0
14
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-3
-27
1
0
0
0
0
0
0
7
-9
-8
0
0
0
0
0
0
1
-29
47
0
0
4
0
0
0
0
-1
0
62
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-32
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-23
5
0
0
0
0
0
0
0
-7
7
0
0
7
0
0
0
4
-42
-5
0
0
0
0
0
0
-13
6
-2
-6
0
0
0
0
0
0
-6
-14
0
0
-4
0
0
0
0
0
0
52
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
-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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
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
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
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
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
24
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
-94
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
16
17
0
0
0
0
0
0
1
0
0
-6
0
0
0
0
0
0
-23
0
0
0
10
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-35
0
0
0
13
0
0
0
0
0
0
10
0
0
0
0
0
0
-35
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
10
0
0
0
0
0
0
-8
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-1
0
0
0
0
0
0
0
0
0
0
33
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
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
8
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
54
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
4
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
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
-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
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
33
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
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
-3
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
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-29
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
-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
-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
-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
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
14
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
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
4
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
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
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
-61
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
-5
0
0
0
-27
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-18
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
22
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
69
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-30
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
-46
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
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
64
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-11
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
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
-22
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
-29
0
0
0
13
0
0
0
0
0
0
-2
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
-10
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-14
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
-74
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
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
38
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-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
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
32
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
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
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
23
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
28
0
0
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
-1
0
0
0
0
0
0
0
0
0
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
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
-13
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
-5
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
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
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
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
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
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
32
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-14
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
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
20
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
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
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
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
31
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
-6
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
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
-3
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
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
-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
-4
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
-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
21
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
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
-19
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
-8
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
-33
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
19
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
0
0
0
0
16
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
-21
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
15
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
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-22
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
-22
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
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
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
14
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
17
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
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
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
-19
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
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
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
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
44
14
0
0
-16
0
0
0
2
0
0
-16
0
0
0
0
0
1
6
6
0
0
0
0
0
0
0
0
17
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
-90
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
-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
18
0
0
0
0
0
0
0
0
0
0
-14
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-33
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
-4
0
0
0
0
0
0
9
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
2
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
-9
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
5
0
0
0
0
0
0
17
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-10
0
0
0
-14
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
-16
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
14
0
0
0
4
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
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
16
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-33
-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
-5
0
0
0
0
0
0
-38
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
-48
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
-28
0
0
0
0
0
0
-13
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
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
63
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
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
-19
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
41
0
0
0
0
0
0
6
0
0
0
-20
0
0
0
0
0
0
81
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
-18
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
-1
0
0
0
0
0
0
-26
0
0
0
15
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
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
-16
0
0
0
0
0
0
27
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
8
0
0
0
0
0
0
26
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
-21
-2
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-14
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-3
0
0
0
0
0
0
-29
0
0
0
-23
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
5
0
0
0
0
0
0
0
0
0
0
26
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
42
0
0
0
0
0
0
9
0
0
0
-3
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
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
-11
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
28
0
0
0
-33
0
0
0
0
0
0
59
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
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
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
12
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
39
0
0
0
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
31
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
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
-3
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
-35
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
-20
0
0
0
0
0
0
16
0
0
0
-27
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
13
4
0
0
0
0
0
0
2
0
0
-21
0
0
0
0
0
0
5
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
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
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
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
8
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
-28
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
0
0
0
0
0
0
0
0
0
0
0
23
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
-27
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
26
0
0
0
-8
0
0
0
-16
0
-2
-4
0
0
0
0
0
0
6
-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
-44
0
0
0
0
0
0
-47
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
-8
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
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
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
-41
0
0
0
18
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
-14
0
0
0
0
0
0
0
0
0
0
19
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
-1
0
0
0
0
0
0
7
0
0
0
-29
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
-9
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-10
0
0
0
-13
0
0
0
0
0
0
25
0
0
0
0
0
0
-20
-1
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
33
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-24
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-37
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
-10
0
0
0
0
0
0
-1
0
0
0
21
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
-6
0
0
0
0
0
0
0
0
0
0
64
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
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
-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
13
0
0
0
0
0
0
11
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
18
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
23
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
61
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
-15
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
14
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
-7
0
0
0
0
0
0
44
0
0
0
-9
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
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
-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
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
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
-22
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
11
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
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
2
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
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
9
0
0
0
0
0
0
8
0
0
0
-9
0
0
0
-4
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
52
0
0
0
0
0
0
0
0
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
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
33
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
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
51
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
-3
0
0
0
21
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
-41
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
-73
0
0
0
4
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
-16
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-16
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
-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
-11
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
8
0
0
0
-39
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
24
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
3
0
0
0
0
0
0
-4
0
0
0
2
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
-2
0
0
0
0
0
0
0
0
0
0
30
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
-11
0
0
0
0
0
0
16
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-25
27
0
0
7
0
0
0
21
0
1
-26
0
3
0
0
0
0
7
-2
0
0
0
0
0
0
0
4
0
0
0
2
0
0
0
0
3
0
11
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
24
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-13
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
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
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
18
0
0
0
0
0
0
0
0
0
0
-18
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
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
1
0
0
0
0
0
0
0
0
0
0
-41
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
24
8
0
0
0
0
0
0
33
1
0
0
-13
0
0
0
0
-7
12
-3
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
5
0
0
5
0
0
0
0
33
0
0
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
0
12
0
0
0
11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
15
-10
0
0
0
0
0
14
-32
-24
3
0
17
0
0
0
0
0
6
-12
0
1
0
0
0
0
-22
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-24
1
7
0
0
0
0
0
0
10
2
2
0
0
0
0
0
-1
0
-5
0
0
4
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
33
0
0
0
1
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
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
20
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
16
0
0
0
-14
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
-11
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-6
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
50
11
0
0
16
0
0
0
-5
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
2
0
8
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-12
0
0
0
0
0
0
-13
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
31
0
0
0
19
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
-17
0
0
0
6
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
24
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
-5
0
0
0
0
0
0
-12
0
0
0
-6
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
4
-11
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-33
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
7
-15
0
0
0
0
0
0
7
2
0
0
-13
0
0
0
22
0
22
1
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
-3
14
0
0
0
0
0
0
4
-26
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-6
-19
0
0
0
0
0
0
24
0
0
0
26
0
0
0
0
0
0
42
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
5
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
26
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
-46
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
9
0
0
0
0
0
0
-21
0
0
0
34
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
6
0
0
0
0
0
0
32
0
0
0
18
0
0
0
0
0
0
1
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
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
-18
0
0
0
0
0
0
0
0
4
0
-15
0
0
0
0
0
0
-27
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
14
39
-4
0
0
0
0
0
0
0
-15
6
0
0
0
0
0
-5
-4
24
3
0
4
0
0
0
-1
-15
12
0
0
0
0
0
0
0
10
-26
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
-16
0
0
0
-14
0
0
0
0
0
0
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-15
0
0
0
0
0
0
29
0
0
0
0
0
0
-77
0
0
0
0
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
0
0
0
0
0
-12
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
6
0
0
0
-7
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
1
0
0
0
0
0
0
-27
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
0
0
0
15
-2
0
0
-27
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
32
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
24
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
27
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-48
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
0
0
0
0
0
0
-12
-1
0
0
-6
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
4
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
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
-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
16
0
0
0
-30
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
-1
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
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
14
0
0
0
0
0
0
0
0
0
0
3
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
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
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
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
1
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
-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
-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
-38
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
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
-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
-8
0
0
0
0
0
0
-43
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
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
54
0
0
0
0
0
0
-13
0
0
0
0
0
0
-46
0
0
0
0
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
4
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
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
-2
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
5
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
-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
-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
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-24
0
4
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
7
-44
5
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-5
-39
0
0
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
40
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
-6
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
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
-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
15
0
0
0
0
0
0
-12
0
0
0
4
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
8
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-11
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
-32
0
0
0
-9
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
-55
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-10
0
0
0
-9
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
13
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
28
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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
-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
-1
0
0
0
0
0
0
-21
0
0
0
0
0
0
8
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-40
0
0
0
-1
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
14
0
0
0
-4
0
0
0
0
0
9
-22
0
0
0
0
0
0
-33
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
48
0
0
0
0
0
0
-5
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
-2
0
0
0
30
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
-23
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
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
9
0
0
0
0
0
0
4
0
0
0
4
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
32
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-90
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-41
-3
0
0
15
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
-36
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
28
0
0
0
-3
0
0
0
0
0
0
17
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
27
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
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
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
-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
25
0
0
0
0
0
0
5
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
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
3
0
0
0
0
0
0
-4
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
-25
0
0
0
0
0
0
-39
-13
0
0
0
0
0
0
0
0
26
0
0
0
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-6
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
5
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
-3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
1
0
0
0
0
0
0
-7
0
0
0
-11
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
4
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
22
0
0
0
0
0
0
33
0
0
0
-15
0
0
0
0
0
0
-34
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
-21
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
6
0
0
0
0
0
0
26
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
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
26
0
0
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
-8
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
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
-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
-29
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
-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
-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
2
0
0
0
-18
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
5
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
46
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
12
0
0
0
-2
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
-6
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
10
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
-4
10
0
0
0
-14
0
0
0
4
0
0
-33
0
0
0
0
0
0
27
1
0
0
0
0
0
0
0
14
-1
0
2
0
0
0
0
0
18
-5
0
0
0
0
0
0
4
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
31
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
28
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
-48
0
0
0
-3
0
0
0
0
0
0
46
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
0
0
0
0
0
0
0
0
0
0
36
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
-1
0
0
0
0
0
0
19
0
0
0
-2
0
0
0
2
16
0
0
0
0
0
0
0
0
14
13
0
-1
0
0
0
0
0
-3
0
15
0
0
0
0
0
3
26
-14
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
35
3
0
0
-8
0
0
0
1
-3
0
24
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
45
12
0
0
5
0
0
0
-36
0
0
-12
0
0
0
0
0
5
38
-5
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-7
0
18
0
0
0
0
0
0
-36
-7
0
0
15
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
26
0
0
0
-24
0
0
0
0
0
0
-49
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
2
0
0
-12
0
0
0
0
0
0
7
0
0
0
-21
0
0
0
0
0
0
-23
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
-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
-17
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
-19
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
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
9
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
-1
0
0
0
-6
0
0
0
0
10
0
-21
0
-5
0
0
0
-2
-30
0
0
0
0
0
0
0
0
-9
1
0
0
-7
0
0
0
0
-44
19
0
-1
0
0
0
0
-3
2
0
14
0
0
0
0
0
0
14
-9
0
0
-11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-18
0
0
0
17
0
0
0
0
0
0
-43
0
-18
0
0
0
0
-3
-3
0
0
0
0
0
0
0
-4
5
-6
0
-3
0
0
0
0
-1
-6
0
0
0
0
0
0
0
26
-6
-53
0
0
0
0
0
0
33
0
0
0
-43
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
29
0
0
0
-10
0
0
0
3
0
0
26
0
0
0
0
0
-16
-26
7
3
0
0
0
0
0
1
6
0
-4
0
2
0
0
0
0
5
7
0
0
0
0
0
0
-3
-12
-2
24
0
0
0
0
0
-10
23
4
0
0
3
0
0
0
-1
0
0
20
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
14
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
-13
0
0
0
0
0
0
0
0
0
0
21
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
22
0
0
0
0
0
0
-26
0
0
0
-15
0
0
0
0
0
3
3
0
0
0
0
0
0
-10
-11
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-6
33
0
0
0
0
0
0
0
-3
0
0
-15
0
0
0
0
0
0
40
0
0
0
-3
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
23
0
0
0
-19
0
0
0
32
-2
0
31
0
2
0
0
0
-1
44
14
0
0
0
0
0
0
0
-5
2
0
1
16
0
0
0
-7
-13
28
0
4
0
0
0
0
4
-2
2
-25
0
-1
0
0
0
0
32
22
0
0
-6
0
0
0
0
-1
0
-31
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
45
0
0
0
63
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
-9
-24
0
0
0
1
0
0
0
0
10
0
3
0
0
0
0
0
0
51
-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
10
0
0
0
-64
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
-60
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
-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
9
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
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
-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
2
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
28
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
5
0
0
0
0
0
0
-14
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
3
-21
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
4
0
0
18
0
0
0
0
0
0
66
1
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-23
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
11
-5
-2
5
0
0
0
0
-15
4
-6
0
0
2
0
0
0
3
-2
0
-33
0
-7
0
0
0
0
-10
27
-5
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-35
0
0
0
6
0
0
0
-1
0
1
-22
0
0
0
0
0
0
-23
-14
2
0
0
0
0
0
0
-21
5
0
0
10
0
0
0
14
-26
18
9
0
0
0
0
0
5
-16
0
-23
0
-1
0
0
0
-3
23
8
0
0
21
0
0
0
-2
0
0
-22
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
0
0
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
-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
-4
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
21
0
0
0
0
0
0
-29
0
0
0
-39
0
0
0
0
0
0
15
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
23
0
0
6
0
0
0
0
0
0
-7
7
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
28
-20
0
0
-8
0
0
0
0
-3
0
-15
0
0
0
0
0
0
-33
19
0
0
0
0
0
0
0
-39
-6
0
0
0
0
0
0
-23
-25
34
20
0
0
0
0
0
3
6
0
0
0
5
0
0
0
0
1
-5
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-14
0
0
0
-43
0
0
0
0
0
0
8
0
0
0
0
0
0
18
2
0
0
0
0
0
0
-3
1
-6
1
0
-10
0
0
0
-18
18
5
73
7
15
0
0
0
-62
-34
3
-21
0
8
0
0
0
0
-38
-14
-6
0
32
0
0
0
0
-6
-6
-24
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
-15
0
0
0
0
0
0
-52
5
0
0
0
0
0
0
0
17
-3
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
-2
0
0
16
0
0
0
0
0
0
25
-1
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
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
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
-2
0
0
0
0
0
0
-18
0
0
0
-20
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
11
-6
0
0
0
0
0
0
0
-6
0
-14
0
0
0
0
0
0
-17
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
-2
0
0
0
0
0
0
-34
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
-21
2
0
0
0
0
0
0
-6
0
0
8
0
0
0
0
0
0
13
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
-15
0
0
0
-34
0
0
0
0
0
0
-48
0
0
0
0
0
0
-31
-6
0
0
0
0
0
0
0
-5
-7
0
3
0
0
0
0
7
31
-6
13
0
0
0
0
0
8
1
0
-23
0
1
0
0
0
0
-23
32
0
0
3
0
0
0
0
0
2
-31
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
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
-15
0
0
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
18
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
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
7
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
-37
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
0
-68
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
-4
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
-15
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
-7
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
-25
0
0
0
0
0
0
0
0
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
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
6
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
16
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
-11
0
0
0
30
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
1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
18
0
0
24
0
0
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
40
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
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
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
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
-24
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
1
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
0
0
0
0
0
0
0
0
0
0
0
5
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
4
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
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
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
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
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
-14
0
0
0
43
0
0
0
0
0
0
-29
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
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
-31
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
-5
14
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
10
0
0
0
0
0
0
-18
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
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
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
-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
-4
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
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
-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
3
0
0
0
0
0
0
0
0
0
0
-5
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
-2
0
0
0
4
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
51
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
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
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
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
-9
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
16
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
-1
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-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
10
0
0
0
23
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
-7
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
-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
-6
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
-30
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
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
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
20
0
0
0
2
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
16
0
0
0
0
0
0
0
0
0
0
-37
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
6
0
0
0
0
0
0
9
0
0
0
-14
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
-9
3
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
14
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
-5
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
-11
0
0
0
0
0
0
0
25
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
23
0
0
0
0
0
0
7
0
0
0
-22
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
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
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
-25
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
-4
0
0
0
0
0
0
0
0
13
3
0
0
0
0
0
0
0
0
-6
18
0
-1
0
0
0
0
5
-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
-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
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
34
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
15
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
15
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
-2
0
0
0
0
0
0
-30
0
0
0
71
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
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
-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
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
19
0
0
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
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
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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
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
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
-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
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
-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
-34
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
17
0
0
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
-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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
24
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
-32
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
-1
0
0
0
0
0
0
0
0
0
0
-6
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
24
0
0
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
-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
5
0
0
0
0
0
0
-5
0
0
0
-10
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
-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
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
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-2
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
-8
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
-4
0
0
0
0
0
0
0
0
0
0
-50
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
-33
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
11
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
4
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
12
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
5
0
0
0
0
0
0
2
0
0
0
23
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
-8
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
-31
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
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
3
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
8
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
43
0
0
0
21
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
14
0
0
0
0
0
0
-33
0
0
0
0
0
0
42
0
0
0
0
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
1
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
-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
-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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
12
0
0
0
0
0
0
24
0
0
0
50
0
0
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
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
-13
0
0
0
0
0
0
-7
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
22
0
0
0
29
0
0
0
0
0
0
19
0
0
0
0
0
0
9
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
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-17
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
-3
0
0
0
30
0
0
0
0
0
0
-34
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-9
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
-7
2
0
0
0
0
0
0
2
-1
7
4
0
0
0
0
0
0
-9
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
-6
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
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
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
-2
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
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
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
-26
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
38
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
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
34
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-30
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
23
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
4
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
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
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
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
-11
0
0
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
-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
-2
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
-11
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
-40
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
0
0
0
0
0
0
0
-5
0
0
0
36
0
0
0
6
17
0
65
0
0
0
0
0
0
37
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
21
0
0
0
0
0
0
22
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
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
-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
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
-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
50
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
-28
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
3
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
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
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
-19
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
-7
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
5
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
0
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
14
0
0
0
5
0
0
0
0
17
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
-1
-5
0
0
0
0
0
0
-2
0
0
55
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
-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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
50
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
1
25
0
0
0
0
0
0
0
0
0
-33
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
20
0
0
0
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
0
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
-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
4
0
0
0
7
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
-10
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
33
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
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
-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
-3
0
0
0
-24
0
0
0
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
7
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
16
0
0
0
23
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
10
0
0
0
0
0
0
0
0
0
0
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
-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
32
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
33
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
-4
0
0
0
24
0
0
0
0
0
0
30
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
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
3
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
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
8
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
5
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
13
0
0
0
10
0
0
0
0
0
0
-56
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
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
28
0
0
0
-19
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
15
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
10
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
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
-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
43
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
30
0
0
0
10
0
0
0
0
-3
0
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
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
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
-20
1
0
0
-17
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
16
4
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
11
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
-5
0
0
0
-5
0
0
0
0
-1
0
23
0
4
0
0
0
0
57
5
7
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-2
7
4
0
0
0
0
0
0
0
2
0
30
0
0
0
0
0
0
14
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
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
-13
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
10
0
0
0
-33
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
3
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
-16
0
0
0
20
0
0
0
0
0
0
8
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
-2
0
0
-14
0
0
0
0
0
0
20
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
13
-2
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-8
46
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-11
0
0
0
16
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
4
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
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
5
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
-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
-21
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
17
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
27
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
0
0
0
0
22
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
5
0
0
0
-1
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
35
0
0
0
0
0
0
0
0
3
0
31
0
0
0
0
0
0
27
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
7
0
0
0
25
0
0
0
0
0
0
25
0
0
0
0
0
0
-18
13
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
25
2
0
0
-2
0
0
0
0
-2
0
-35
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
-33
0
0
0
-60
0
0
0
0
0
0
-24
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-10
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-16
0
0
0
0
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
-49
0
0
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
-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
8
0
0
0
0
0
0
0
0
0
0
14
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
3
2
0
0
2
0
0
0
0
0
0
-14
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-7
0
0
-2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
15
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
-38
0
0
0
6
0
0
0
0
0
0
-13
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
22
-17
0
0
0
0
0
0
0
5
-26
-10
0
0
0
0
0
0
-36
0
-5
-11
0
0
0
0
0
0
6
22
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
-27
0
0
0
-30
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
-1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
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
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
20
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
29
0
0
0
32
0
0
0
0
0
0
-10
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
50
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
37
0
0
0
13
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
-12
0
0
0
0
0
0
-29
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
-23
0
0
0
22
0
0
0
0
0
0
-54
0
0
0
0
0
0
-15
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
-5
0
0
0
0
0
0
-15
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
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
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-25
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
4
0
0
0
0
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
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
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
-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
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
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
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
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
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
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
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
6
0
0
0
0
0
0
0
0
0
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
-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
-44
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-3
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
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
-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
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
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
-21
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
13
0
0
0
-5
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
-5
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
-9
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
-3
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
-32
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
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
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
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
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
-5
0
0
0
0
0
0
-6
0
0
0
-17
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
16
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
-15
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
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
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
21
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
7
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
-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
23
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
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
11
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
16
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
-3
0
0
0
11
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
8
0
0
0
0
0
0
0
-5
0
0
16
0
0
0
0
0
0
4
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
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
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
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
0
0
0
0
-50
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
-19
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
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
-7
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
-37
0
0
0
0
0
0
-9
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
2
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
-13
2
0
0
0
0
0
0
0
-33
-5
0
0
0
0
0
0
0
0
4
24
0
-8
0
0
0
0
27
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
-2
0
0
32
0
0
0
0
0
0
7
0
0
0
0
0
-5
7
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
-39
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
6
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-6
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
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
-3
0
0
0
0
0
0
7
0
0
0
9
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
9
0
0
0
0
0
0
0
0
6
0
45
0
0
0
0
0
0
5
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
21
0
0
0
67
0
0
0
0
0
-3
10
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
35
0
0
0
0
0
0
-16
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
2
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
40
13
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-26
11
0
0
0
0
0
0
0
2
0
-33
0
0
0
0
0
0
-1
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
-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
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
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
-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
29
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
-13
0
0
0
0
0
0
0
0
0
0
26
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
-33
0
0
0
-54
0
0
0
0
0
0
4
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
-4
0
0
-17
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
-15
0
0
0
0
0
0
3
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
-3
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-4
-1
0
5
0
0
0
0
0
0
6
-4
0
0
-29
0
0
0
0
0
0
14
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
-9
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
0
0
0
0
0
0
0
0
0
0
-37
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
-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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
4
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
-3
0
0
0
47
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
-4
0
0
0
0
0
0
0
0
0
-4
26
0
0
0
0
0
0
33
11
0
0
-75
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-26
0
0
0
47
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
-28
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
-6
-8
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
27
0
0
0
0
0
0
-46
0
0
0
0
0
0
18
4
0
0
0
0
0
0
2
1
2
0
0
6
0
0
0
-5
-3
10
0
0
0
0
0
0
14
-4
0
-7
0
0
0
0
0
0
23
33
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
-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
-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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-36
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
8
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
-2
0
0
0
0
0
0
0
1
0
0
52
0
0
0
0
0
0
18
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
5
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
-51
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
3
3
0
0
0
0
0
0
0
0
-23
3
0
0
9
0
0
0
0
0
0
-1
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
25
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
18
14
0
-5
0
0
0
0
0
27
-15
7
0
14
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
-36
-32
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
-5
0
0
0
-25
0
0
0
0
0
0
-49
0
0
0
0
0
-1
17
0
0
0
0
0
0
0
11
2
0
0
0
0
0
0
0
0
26
-5
0
0
0
0
0
0
0
0
-1
-89
0
0
0
0
0
0
-11
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
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
2
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
-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
-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
-27
0
0
0
26
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-13
6
0
0
0
0
0
0
0
-1
0
-42
0
9
0
0
0
0
-9
0
0
0
51
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
-16
0
0
0
9
0
0
8
0
0
0
0
0
-7
66
0
0
0
0
0
0
0
0
20
-5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
-14
2
7
0
0
0
0
0
0
-26
-5
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
10
0
0
0
0
0
0
0
0
0
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
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
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
-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
-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
-13
0
0
0
0
0
0
5
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
27
0
0
0
16
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
6
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
8
0
0
0
0
0
0
-12
0
0
0
-5
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
8
0
0
0
0
0
0
34
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
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
-13
0
0
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
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
-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
-6
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
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
43
0
0
0
0
0
0
8
0
0
0
-18
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
-18
-5
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
13
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
62
0
0
0
18
0
0
13
0
0
0
0
0
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
22
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
-4
0
0
0
-14
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
15
0
0
0
0
0
0
-16
0
0
0
-1
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
8
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-35
9
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
32
0
0
0
10
0
0
0
0
0
0
-22
0
0
0
0
0
0
13
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
-44
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
2
0
0
0
0
0
0
29
0
0
0
12
0
0
0
0
0
0
-35
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
25
0
0
0
0
0
0
35
-2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
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
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
19
0
0
0
0
0
0
11
0
0
0
-26
0
0
0
0
0
0
-27
0
0
0
0
0
0
-15
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
0
0
-20
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
-6
0
0
0
0
0
0
11
0
0
0
37
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
9
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-10
2
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
-4
0
0
0
37
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
-34
0
0
0
0
0
0
20
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
16
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
14
0
0
0
0
0
0
0
0
1
0
-16
0
0
0
0
0
0
-17
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
-5
0
0
0
-5
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
43
-1
0
0
0
0
0
0
-48
0
0
-29
0
0
0
0
0
0
-23
11
0
0
-11
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
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
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
14
0
0
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
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
-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
-14
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
-2
0
0
0
0
0
0
-27
0
0
0
42
0
0
0
0
0
0
4
0
0
0
0
0
0
-23
34
0
0
0
0
0
0
0
0
0
0
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
2
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
-20
0
0
0
0
0
0
51
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
16
-7
0
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
8
5
5
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
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
-18
0
0
0
0
0
0
-14
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
-4
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
6
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
-28
0
0
0
0
0
0
-20
0
0
0
26
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
0
0
0
0
0
0
0
0
0
4
0
18
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
-3
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
62
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
-21
0
0
0
0
0
0
5
0
0
0
-14
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
13
1
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
32
0
0
0
-77
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
18
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
8
0
0
0
0
0
0
-4
0
0
0
9
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
33
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
-6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
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
37
0
0
0
-49
0
0
0
0
0
0
1
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
-25
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
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
5
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
11
0
0
0
0
-5
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
24
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
17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
9
0
0
0
0
0
0
-14
0
0
0
0
0
0
14
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
11
0
0
0
0
0
0
17
26
0
0
-6
0
0
0
0
0
0
29
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
19
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
-18
0
0
0
0
0
0
6
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
14
0
0
0
0
0
0
29
0
0
0
0
0
0
-30
0
0
0
0
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
-5
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
35
0
0
0
0
-1
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
37
0
0
0
0
0
0
-10
0
0
0
-60
0
0
0
0
0
0
29
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
-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
-45
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
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
-8
0
0
0
0
0
0
0
0
0
0
32
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
-22
0
0
0
-5
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
-16
0
0
0
0
0
0
-19
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
-3
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
-4
-8
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-18
5
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
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
-7
0
0
0
0
0
0
-30
0
0
0
0
0
0
20
0
0
0
0
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
-21
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
5
0
0
0
45
0
0
0
0
0
0
-7
0
0
0
0
0
0
-28
0
0
0
0
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
-1
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
3
-32
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-17
2
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
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
-4
0
0
0
0
0
0
0
0
0
0
50
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
-55
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
-4
0
0
0
17
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
39
0
0
0
0
0
0
-33
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
36
0
0
0
-26
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
8
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
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
79
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
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
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-34
0
0
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
-4
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
-17
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
-28
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
2
0
0
0
0
0
0
0
0
0
0
16
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
14
0
0
0
0
0
0
32
0
0
0
-53
0
0
0
0
0
0
-8
0
0
0
0
0
0
25
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
-102
0
0
0
0
0
0
-15
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
0
0
0
-10
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
8
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
41
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
36
0
0
0
-39
0
0
0
0
0
3
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
-2
-40
0
0
0
0
0
0
5
0
0
-16
0
0
0
0
0
0
-22
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-23
0
0
0
-35
0
0
0
0
0
3
-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
7
0
0
0
0
0
0
0
0
0
0
-32
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
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
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-22
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
93
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
-1
0
0
0
0
0
0
0
-1
0
0
5
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
9
0
0
0
25
0
0
0
0
0
0
19
0
-13
0
0
0
0
-18
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
-7
0
0
-23
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
16
0
0
0
0
0
0
-14
0
0
0
-9
0
0
0
0
0
0
-30
0
1
0
0
0
0
20
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
-30
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
-17
0
0
0
-32
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
-9
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
-4
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
8
0
0
0
0
0
0
31
0
0
0
0
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
-18
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
8
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
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
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
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
-23
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
-27
0
0
0
14
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
25
0
0
0
0
0
0
0
0
1
0
-19
0
-3
0
0
0
0
-6
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
-26
0
0
0
1
0
0
0
1
0
0
-19
0
0
0
0
0
0
-30
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
-21
0
0
0
0
0
0
22
1
0
0
55
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
28
0
0
0
-25
0
0
0
0
0
0
-1
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
4
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
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
-10
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
-14
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
4
0
0
0
0
0
0
0
4
0
0
27
0
0
0
0
0
0
0
9
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-7
0
0
0
21
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
-2
0
0
5
0
0
0
0
-2
0
30
0
0
1
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
53
0
0
0
0
0
0
23
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
15
6
0
-15
0
1
0
0
0
0
-29
-11
0
0
34
0
0
0
0
0
0
-33
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
78
0
0
0
0
0
0
13
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
43
0
0
0
0
0
0
-40
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
32
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
-5
0
0
0
0
0
0
14
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
15
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-33
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
-10
0
0
0
16
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
-9
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
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
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
0
0
-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
-27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
-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
-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
-21
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
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
44
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
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
7
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
3
0
0
0
0
0
0
0
0
0
0
-48
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
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
-5
0
0
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
-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
-39
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
-50
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
8
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
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
73
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
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
-29
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
1
0
0
0
0
0
0
0
0
0
0
43
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
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-16
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
1
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
-25
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
5
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
-1
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
13
0
0
0
0
0
0
0
0
0
0
-27
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
23
0
0
0
0
0
0
0
0
0
0
11
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
53
0
0
0
0
0
0
-5
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
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
-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
-4
0
0
0
0
0
0
0
0
0
0
-5
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
-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
45
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
1
-1
0
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
-5
0
0
0
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
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
-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
11
0
0
0
0
0
0
0
0
0
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
-33
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
-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
0
0
0
0
0
0
0
0
8
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
5
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
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
1
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
-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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
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
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
-6
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
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
25
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
4
0
0
0
-11
0
0
0
3
0
-2
-40
0
32
0
0
0
23
1
-19
0
0
0
0
0
0
3
0
14
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
-3
0
0
0
-10
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
34
0
0
0
-5
-8
0
2
0
27
0
0
0
-3
-9
43
0
0
0
0
0
2
0
22
17
5
0
0
0
0
0
3
-27
29
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
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
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
-15
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
-10
0
0
0
0
0
0
30
0
0
0
-20
0
0
0
0
0
0
47
0
0
0
0
0
0
58
5
0
0
0
0
0
0
0
16
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
1
0
0
0
-34
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
-15
0
0
0
19
0
0
-11
0
11
0
0
0
0
-31
22
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
-12
0
0
0
-4
0
0
0
0
0
3
60
0
0
0
0
0
0
20
4
0
0
32
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-10
0
0
0
-17
0
0
0
0
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
0
7
-1
0
0
0
0
0
0
3
0
0
28
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
0
0
0
26
0
0
0
-11
5
6
47
0
6
0
0
0
14
6
2
0
0
0
0
0
0
-10
5
-2
-2
0
-10
0
0
0
-15
-14
-6
0
0
0
0
0
0
1
0
-1
11
0
0
0
0
0
0
-15
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
-13
0
0
0
9
0
0
0
0
0
0
10
0
0
0
0
0
0
13
-7
0
0
0
0
0
0
0
14
1
0
0
21
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-23
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
-14
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-1
0
0
0
42
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
4
0
0
0
0
0
0
0
0
0
0
-23
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
4
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
-15
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
-43
0
0
0
0
0
0
1
0
-23
0
0
0
0
0
0
25
0
0
0
-26
0
0
0
0
2
14
24
0
-4
0
0
0
-6
49
0
0
0
0
0
0
0
7
75
17
0
0
0
0
0
0
-4
8
0
-14
-7
0
0
0
0
0
2
0
-11
0
0
0
0
0
0
48
0
0
0
16
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
9
12
0
0
0
0
0
0
-43
0
0
0
19
0
0
0
-13
-1
14
-44
0
23
0
0
0
18
5
16
0
0
-24
0
0
0
-5
18
25
2
0
2
0
0
0
3
20
5
0
0
0
0
0
0
0
0
-16
25
0
0
0
0
0
0
8
5
1
0
4
0
0
0
1
0
0
-9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-1
13
0
0
0
6
0
0
0
9
11
1
-10
0
0
0
0
0
4
-59
33
1
0
0
0
0
0
-5
15
2
10
0
-5
0
0
0
-14
-33
-9
0
0
0
0
0
0
6
0
-3
40
-13
33
0
0
0
0
16
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
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
43
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
16
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
6
0
0
0
5
0
0
0
0
0
0
49
0
0
0
0
0
0
-11
-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
-9
0
0
0
0
0
0
26
0
0
0
24
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
0
0
12
0
0
0
-1
0
0
-48
0
1
0
0
0
-15
-2
-6
0
0
0
0
0
0
9
43
0
0
0
0
0
0
0
-3
25
1
0
0
0
0
0
0
6
2
21
59
0
0
0
0
0
0
5
3
-6
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-14
0
0
0
2
0
0
0
4
-7
-5
-12
0
10
0
0
0
-31
-41
17
0
0
0
0
0
0
-16
5
-3
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
1
0
-1
-36
0
0
0
0
0
0
-20
0
0
0
-10
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-12
0
0
0
-18
0
0
0
0
0
0
-12
0
0
0
0
0
0
51
9
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-9
-28
0
0
0
0
0
0
0
2
0
0
6
0
0
0
0
0
0
-22
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
11
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
-6
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
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
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
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
-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
1
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
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
0
0
0
0
-27
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
-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
-26
0
0
0
36
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
-5
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-35
0
0
0
-27
0
0
0
-2
0
-4
-8
0
3
0
0
0
9
5
1
0
0
0
0
0
0
0
32
2
-2
-1
0
0
0
0
-10
13
0
0
0
0
0
0
0
0
-11
-2
4
0
29
0
0
0
0
2
0
0
0
16
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
12
0
0
0
2
0
1
56
0
14
0
0
0
5
19
23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
-17
-8
0
0
-3
0
0
0
-7
0
-2
-7
0
0
0
0
0
0
-13
20
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
14
33
0
0
0
0
0
0
19
0
0
0
-30
0
0
0
-14
18
-1
18
0
1
0
0
0
-33
41
-15
0
0
10
0
0
0
0
-35
0
0
0
1
0
0
0
-8
7
-2
0
0
0
0
0
0
0
0
17
-21
0
0
0
0
0
0
-64
2
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
-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
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
-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
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
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
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
-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
-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
60
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
26
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
5
0
0
0
15
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
-4
1
0
0
0
0
0
0
0
4
0
0
-18
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
-14
0
0
0
0
0
0
-8
0
0
0
48
0
0
0
0
0
0
-21
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
1
0
13
0
0
0
0
0
0
-24
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
1
2
0
-27
0
0
0
0
0
0
-40
0
0
0
-2
0
0
0
5
6
0
-16
-4
0
0
0
0
14
73
7
0
0
0
0
0
0
0
-1
11
0
0
3
0
0
0
-4
69
0
0
1
0
0
0
0
-4
5
0
0
0
0
0
0
0
13
16
1
9
0
21
0
0
0
0
0
0
5
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
-13
0
0
0
0
0
0
26
0
0
0
5
0
0
0
-5
32
-14
0
0
-2
0
0
0
0
31
-10
0
0
0
0
0
0
14
-14
2
-7
0
5
0
0
0
1
7
-14
4
0
-18
0
0
0
-1
0
0
12
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
-42
0
0
0
0
0
0
45
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-17
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
-3
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
2
0
0
0
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
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
96
0
0
0
0
0
0
-31
0
0
0
0
0
5
-35
4
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
23
0
0
0
0
0
0
5
0
0
0
14
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
-69
0
0
0
0
0
0
-25
0
0
0
0
0
0
52
4
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
5
22
10
0
0
0
0
0
0
-5
7
0
-22
0
0
0
0
0
0
4
0
0
0
-25
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
-27
0
0
0
-1
0
0
5
0
0
0
0
0
9
-7
0
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
4
10
-2
0
0
0
0
0
0
2
0
23
-1
0
4
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-63
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
-37
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
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
13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
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
40
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
15
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-12
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
4
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
86
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
-22
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
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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-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
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
3
0
0
0
-16
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
18
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
3
0
0
0
0
0
0
-1
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
16
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
-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
36
0
0
0
-2
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
-19
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
14
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
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
3
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
23
0
0
0
0
0
0
0
0
0
0
-21
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
-53
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-42
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
-11
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-22
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-19
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
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
-9
0
0
0
0
0
0
-2
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
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
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
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
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
36
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
10
0
0
0
25
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
18
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
18
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
15
0
0
0
-46
0
0
0
0
-1
0
39
0
-2
0
0
0
6
29
5
4
0
7
0
0
0
0
5
7
0
0
0
0
0
0
-5
-12
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
9
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
35
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
-23
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
-41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
-19
0
0
41
0
0
0
1
-1
0
22
0
0
0
0
0
0
45
0
-2
0
0
0
0
0
0
11
-9
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
-12
0
0
0
-11
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
-4
0
0
-81
0
0
0
-3
-10
0
0
0
34
0
0
0
0
10
5
1
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
0
0
23
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-5
2
0
0
8
0
0
0
0
0
0
48
0
0
0
0
0
14
-12
14
6
0
0
0
0
0
3
-11
-5
0
0
0
0
0
0
-2
30
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-14
0
0
0
24
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-5
-13
0
0
0
-39
0
0
0
4
18
3
80
0
0
0
0
0
0
-1
0
0
1
0
0
0
-4
0
32
-3
0
0
0
0
0
0
0
-14
0
2
0
0
0
0
0
-3
0
5
-4
0
-4
0
0
0
0
36
0
-4
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
40
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
5
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
19
0
0
0
0
0
0
7
14
0
0
-6
0
0
0
3
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
0
0
9
0
0
0
0
0
0
0
0
0
0
26
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
-5
0
0
0
0
0
0
1
-24
0
0
-18
0
0
0
-8
0
0
28
0
0
0
0
0
5
20
0
0
0
0
0
0
-10
0
-5
-30
0
0
0
0
0
0
0
-34
-1
0
0
0
0
0
0
0
-5
0
-40
0
0
0
0
0
0
-41
-15
0
0
61
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
16
0
0
24
0
0
0
-11
2
0
28
0
-19
0
0
0
0
48
-3
0
0
-2
0
0
0
-7
5
8
5
2
5
0
0
0
-33
-24
7
-1
0
0
0
0
0
-5
-6
-8
19
0
0
0
0
0
0
30
-27
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
28
0
0
0
0
0
-10
5
-3
0
0
17
0
0
0
8
21
-5
74
0
3
0
0
0
-3
13
-15
4
0
2
0
0
9
-13
19
6
46
0
8
0
0
0
1
2
10
9
0
0
0
0
0
2
-23
7
-28
0
-5
0
0
0
0
-28
-7
0
0
-1
0
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
-48
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
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
45
0
0
0
0
0
0
0
0
0
0
12
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
-25
6
0
0
-37
0
0
0
-1
0
0
26
0
0
0
0
0
5
36
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
0
0
0
14
0
0
0
0
0
0
-15
0
0
0
61
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
14
-6
0
0
12
0
0
0
-9
3
3
-27
0
5
0
0
0
0
-44
17
0
4
0
0
0
0
1
5
0
0
2
0
0
0
0
0
19
-5
14
0
0
0
0
0
0
8
0
-10
0
0
0
0
0
0
20
3
0
0
23
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-36
-31
0
0
-6
0
0
0
-15
-4
0
0
0
36
0
0
0
-5
-27
0
0
0
0
0
0
0
20
19
19
0
14
10
0
0
0
48
-28
-18
2
0
0
0
0
2
4
-15
3
3
0
0
0
0
0
0
11
-6
0
-3
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
36
0
0
0
0
0
0
-22
0
4
0
0
0
0
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
-16
0
0
0
0
0
0
50
-1
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
15
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
-11
0
0
0
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
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
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
18
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
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
0
0
0
0
-29
0
0
0
0
0
0
-18
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-31
1
0
0
12
0
0
0
-14
0
0
-56
0
-3
0
0
0
0
14
-3
7
0
0
0
0
0
8
9
6
0
8
0
0
0
0
3
1
0
0
0
0
0
0
0
-17
1
-6
5
0
0
0
0
0
0
-9
-7
0
0
28
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
5
0
0
6
0
0
0
0
-4
0
35
0
4
0
0
0
0
14
0
0
0
0
0
0
0
0
15
-14
0
0
2
0
0
0
14
-33
0
0
0
0
0
0
0
-1
8
-1
-38
0
5
0
0
0
0
-7
-8
0
0
29
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
15
-3
0
0
0
0
0
0
0
1
0
-12
0
-5
0
0
0
0
27
1
0
1
0
0
0
0
0
-4
-1
0
0
0
0
0
0
-9
-37
-44
0
0
0
0
0
0
6
3
0
4
0
0
0
0
0
0
4
-1
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-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
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
10
0
0
0
0
0
0
0
0
0
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
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
-19
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
-2
0
0
0
6
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
-3
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
1
0
0
0
0
0
0
67
0
0
0
13
0
0
0
0
22
0
-14
0
0
0
0
0
0
20
0
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
0
30
0
0
0
0
0
0
23
0
0
0
61
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-15
4
0
0
-53
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
-21
13
0
0
0
0
0
0
-9
-9
0
0
0
0
0
0
0
0
-21
-11
0
0
7
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
25
0
0
0
32
0
0
0
0
0
0
12
0
0
0
0
0
-6
-9
0
-3
0
0
0
0
0
0
6
2
0
14
0
0
0
0
0
48
-14
0
0
0
0
0
0
11
5
31
18
0
0
0
0
0
0
2
-15
5
0
3
0
0
0
2
0
0
10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
45
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
-18
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
19
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
2
0
0
34
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
27
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
8
0
0
0
-19
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-2
0
0
0
2
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
17
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-38
0
0
0
-28
0
0
0
0
0
0
5
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
23
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
33
5
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
-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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
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
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
7
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
13
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
8
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
-4
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-69
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
-1
0
0
0
0
0
0
18
0
0
0
-20
0
0
0
0
0
0
-16
0
0
0
0
0
0
49
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
27
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
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
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
4
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
15
0
0
0
-27
0
0
0
0
0
0
62
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
-4
0
0
0
0
0
0
16
0
0
0
34
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
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
1
7
-10
0
0
0
0
0
0
0
5
0
19
0
4
0
0
0
0
-28
0
0
0
-53
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
-8
0
0
0
0
0
0
-6
0
1
0
0
0
0
32
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
2
0
0
0
0
0
0
14
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
-38
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
-18
0
0
0
0
0
0
0
0
0
0
25
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
-68
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
-17
0
0
0
0
0
0
0
0
0
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
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
-70
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
8
0
0
0
0
0
0
0
0
0
0
-20
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
-5
0
0
0
0
0
0
14
0
0
0
14
0
0
0
0
0
0
-18
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
5
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
31
0
0
0
-17
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
73
0
0
0
-39
0
0
0
0
0
0
-19
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
5
23
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-36
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
-30
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
5
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
-14
0
0
0
29
0
0
0
0
0
0
-20
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
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
-25
0
0
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
-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
30
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
-1
0
0
0
7
0
0
0
0
0
0
-31
0
0
0
0
0
0
55
0
0
-4
0
0
0
0
0
-9
0
0
0
0
0
0
0
2
-23
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
23
-7
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
9
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
7
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
3
34
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
-5
0
0
0
40
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
22
0
0
0
0
0
0
0
-4
0
0
-9
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
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
-11
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
6
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
-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
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-1
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
-8
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
1
0
0
0
0
0
0
0
-5
5
0
-13
0
0
0
0
0
0
-5
31
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
32
0
0
0
37
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
-4
10
0
0
0
0
0
0
0
10
0
1
-24
0
0
0
0
0
0
-1
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
21
0
0
0
3
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
6
31
4
0
0
0
0
0
0
21
0
0
24
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
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
16
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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-9
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
10
0
0
14
0
0
0
0
0
0
-27
0
0
0
48
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
24
0
0
0
0
0
0
-12
0
0
0
0
0
0
-9
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
34
0
0
0
0
0
0
0
0
-6
0
0
0
-20
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
34
0
0
0
41
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-18
5
0
0
0
0
0
0
0
0
-29
-4
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
21
-5
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
0
0
-2
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
9
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
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
3
0
0
0
0
0
0
0
0
0
0
-28
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
4
0
0
0
0
0
0
-3
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
33
15
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
21
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-52
0
0
0
22
0
0
0
0
0
0
-8
0
0
0
0
0
2
-18
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
0
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
4
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
22
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
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
-1
0
0
0
16
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
-1
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-8
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
-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
-19
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
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
2
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-46
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
-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
-40
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
-6
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-5
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
-1
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
-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
-13
0
0
0
0
0
0
0
0
0
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
-43
0
0
0
-46
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
1
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
5
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
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
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
-16
0
0
0
0
0
0
-3
0
0
0
0
0
4
33
0
0
0
0
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
30
0
0
0
2
0
0
0
0
0
0
0
0
0
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
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
-8
0
0
0
0
0
0
14
5
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
-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
22
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-18
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
22
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
15
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
-2
-5
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
28
-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
-13
0
0
0
23
0
0
0
0
0
0
-35
0
0
0
0
0
0
15
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
-11
0
0
3
0
0
0
0
0
0
21
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
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
-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
14
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
5
0
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
5
0
0
0
0
0
0
4
0
0
0
23
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
-22
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
-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
30
5
0
0
0
0
0
0
19
0
0
25
0
0
0
0
0
0
-3
-5
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
36
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
23
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
-6
0
0
0
-7
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
-7
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
2
0
0
0
0
0
0
5
0
0
0
30
0
0
0
0
0
0
-50
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
19
0
0
0
0
0
0
2
0
0
35
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
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
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
0
0
0
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
25
0
0
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
-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
-7
0
0
0
0
0
0
-5
0
0
0
5
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
-12
18
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
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
-2
0
0
0
24
0
0
0
0
0
0
-23
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
-20
0
0
0
0
0
0
30
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
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-1
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
55
-13
0
0
0
0
0
0
-2
0
0
-55
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
5
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-51
0
0
0
0
0
0
82
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
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
5
4
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
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-6
5
0
0
0
-41
0
0
0
3
0
1
0
-5
0
0
0
0
0
24
1
0
0
0
0
0
0
0
1
-10
0
0
9
0
0
0
-5
-26
0
0
0
3
0
0
0
-5
0
2
-5
0
0
0
0
0
0
-43
-7
0
0
3
0
0
0
-19
5
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
30
0
0
0
1
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
14
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
11
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
5
0
0
0
0
0
0
28
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
1
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
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
75
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
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
-30
0
0
0
0
0
0
-22
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-22
0
0
0
-5
0
0
0
0
0
0
22
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
5
23
7
6
0
0
0
0
0
11
0
0
-15
0
0
0
0
0
0
-13
2
0
0
-3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-33
0
0
0
-16
0
0
0
0
0
0
34
0
3
0
0
0
0
25
0
0
0
7
0
0
0
0
-9
0
0
0
0
0
0
0
0
14
4
0
0
0
0
0
0
-1
0
0
-35
0
0
0
0
0
0
-17
-16
0
0
2
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
11
0
0
0
3
0
0
14
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
20
0
4
0
0
0
0
0
0
9
7
0
0
0
0
0
0
5
2
0
35
0
2
0
0
0
0
-28
0
0
0
18
0
0
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
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
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
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
-62
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
-9
-6
0
0
0
0
0
0
0
0
0
0
44
0
0
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
13
0
0
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
17
51
-7
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
5
1
16
0
3
0
0
0
0
4
-2
0
5
0
0
0
0
0
0
68
1
0
0
43
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
0
0
0
-29
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-16
-7
0
0
7
0
0
0
0
-11
-20
0
0
0
0
0
0
7
0
0
-15
0
-1
0
0
0
0
17
-7
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
7
0
0
0
-40
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
3
0
0
0
0
0
0
0
0
0
0
23
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
-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
44
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
14
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
21
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
19
0
0
0
0
0
0
-16
0
0
0
36
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
5
0
0
-19
0
0
0
0
0
0
15
5
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
-24
0
0
0
12
0
0
0
0
0
-5
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
42
0
0
0
0
0
0
6
2
0
14
0
0
0
0
0
-6
-24
-6
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
13
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
2
-14
1
0
0
0
0
0
0
3
-2
-10
0
0
0
0
0
0
-10
13
16
0
0
0
0
0
0
-2
8
0
-39
0
0
0
0
0
0
-37
-6
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
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
41
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-30
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
-6
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
-5
0
0
0
0
0
0
0
4
22
0
-11
0
0
0
0
0
0
27
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
45
0
0
0
-55
0
0
0
0
0
0
38
0
0
0
0
0
0
6
0
-7
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
-9
-18
5
0
-5
0
0
0
-1
0
2
0
0
0
0
0
0
0
-48
1
0
0
-13
0
0
0
4
0
0
-3
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-7
0
0
0
38
0
0
0
-3
0
0
-20
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
-21
3
-26
-9
0
0
0
0
0
1
-5
10
-52
0
0
0
0
0
0
14
1
0
0
12
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
-34
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
-1
0
0
0
0
0
4
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
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
2
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
15
0
0
0
-11
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
-22
0
0
0
0
0
0
-63
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
7
0
0
-7
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
-25
0
0
0
0
0
0
-8
0
0
0
-20
0
0
0
0
0
0
-26
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
1
6
0
0
0
0
0
1
25
0
-7
0
0
0
0
0
0
-44
16
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
56
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-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
-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
9
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-11
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
37
0
0
0
38
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-16
0
0
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
-43
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-18
5
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
18
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-5
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
14
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
14
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
4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-38
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
-1
45
0
0
0
-19
0
0
-11
0
8
-1
0
0
56
0
0
0
-5
-3
0
0
0
0
0
0
0
0
17
-33
1
0
0
0
0
0
-29
-11
26
0
2
0
0
0
0
-8
0
0
-4
0
0
0
0
0
0
35
-5
0
0
41
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-14
0
0
0
28
0
0
0
0
-7
10
28
0
0
0
0
0
-3
6
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
-51
0
0
0
0
0
0
8
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
-16
0
0
0
0
7
0
-11
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
24
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
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
-5
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
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
-28
0
0
0
-53
0
0
0
0
-1
0
3
0
0
0
0
0
-1
-29
0
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
0
15
5
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-7
0
0
0
18
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
20
0
0
0
-16
0
0
0
0
-2
0
35
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
-17
3
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
-3
0
0
0
11
0
0
0
0
-4
0
-31
0
-3
0
0
0
7
-6
9
0
0
0
0
0
0
0
-3
0
0
0
18
0
0
0
0
-15
17
3
0
0
0
0
0
2
0
0
-11
0
0
0
0
0
0
15
-7
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-22
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
-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
10
0
0
0
0
0
0
-9
0
0
0
21
0
0
0
0
0
0
5
0
0
0
0
0
-5
-39
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
1
0
-49
0
0
0
0
0
0
-6
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
15
0
0
0
-18
0
0
0
0
0
0
76
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
5
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
17
-6
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
-19
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
7
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
-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
29
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
-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
-78
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
23
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
9
0
0
0
0
0
0
2
0
0
0
-15
0
0
0
0
-6
0
2
0
0
0
0
0
-9
-56
0
0
0
0
0
0
0
0
4
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
39
0
0
0
6
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
16
0
0
0
-18
0
0
0
0
0
0
49
0
0
0
0
0
0
37
0
0
0
0
0
0
0
11
1
0
0
1
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
13
-1
0
0
70
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-46
0
0
0
17
0
0
0
0
-5
0
37
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
42
24
0
0
0
0
0
0
0
2
0
-28
0
0
0
0
0
0
-23
14
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
-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
50
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
18
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
-35
0
0
0
0
0
0
23
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
6
0
0
0
-31
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
14
0
0
-4
0
0
0
0
6
11
0
0
50
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
-34
1
0
0
2
0
0
0
0
0
2
-1
0
0
0
0
0
32
5
9
0
0
0
0
0
0
0
-14
0
0
8
0
0
0
0
0
-14
3
-9
0
0
0
0
0
-14
7
0
-37
0
-8
0
0
0
0
17
-3
0
0
6
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
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
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
5
0
-88
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
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
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
16
0
0
0
0
0
0
0
0
0
0
44
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
-1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
20
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
9
0
0
0
35
0
0
0
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
-5
20
0
0
0
0
0
0
-2
0
0
4
0
0
0
0
0
0
24
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
-72
0
0
0
34
0
0
0
0
0
0
26
0
0
0
0
0
13
15
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
29
22
0
0
0
0
0
0
5
2
0
-23
0
0
0
0
0
0
-6
8
0
0
-16
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
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
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
11
0
0
0
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
-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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
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
-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
-5
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
-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
27
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
-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
-35
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
-9
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
-5
0
0
0
0
0
0
-19
0
0
0
-9
0
0
0
0
0
9
6
0
0
0
0
0
0
-53
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
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
19
6
0
0
-4
0
0
0
3
0
0
26
0
8
0
0
0
4
-2
-5
0
0
0
0
0
0
0
2
37
0
0
0
0
0
0
0
-19
-4
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
-43
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
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
5
0
0
0
0
0
0
-14
3
0
0
-15
0
0
0
0
0
0
19
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
-31
-2
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-23
0
0
0
-17
0
0
0
0
0
-1
0
0
23
0
0
0
0
29
-2
0
-14
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
26
6
0
0
0
0
0
0
23
2
0
66
0
0
0
0
0
0
21
0
0
0
-9
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-15
-13
0
0
-33
0
0
0
-5
0
-8
-4
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
13
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
9
0
0
0
-25
0
0
0
0
0
0
29
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
7
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
16
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
-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
-8
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
2
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
16
0
0
0
-1
0
0
0
-1
0
-9
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
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
26
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
-5
0
0
0
26
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
14
1
0
0
0
0
0
0
0
0
0
-77
0
2
0
0
0
0
1
5
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
-5
3
0
0
-5
0
0
0
12
0
1
-18
0
6
0
0
0
0
87
-18
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
-23
8
0
0
0
0
0
0
-14
0
0
6
0
0
0
0
0
0
22
0
0
0
-18
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-39
0
0
0
-2
0
0
0
-6
0
0
10
0
0
0
0
0
-35
-5
-4
3
0
0
0
0
0
14
0
1
0
0
0
0
0
0
0
24
5
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-40
0
0
0
19
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
-34
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
19
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
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
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
-14
0
0
0
39
0
0
0
0
0
0
-5
0
0
0
0
0
0
42
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
7
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-31
23
0
0
3
0
0
0
0
0
4
22
0
0
0
0
0
-9
-32
-11
0
0
0
0
0
0
9
11
0
0
0
0
0
0
0
-4
48
8
0
0
0
0
0
0
21
5
0
4
0
0
0
0
0
0
-10
1
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
-2
0
0
0
-27
0
0
0
16
0
0
14
0
0
0
0
0
-7
-25
0
-7
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
23
0
0
0
1
0
0
0
0
0
0
43
0
0
0
0
0
0
14
0
0
0
-23
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-17
0
0
0
62
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
0
2
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
9
-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
-14
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
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-5
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
-28
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
19
0
0
0
0
0
0
-44
0
0
0
2
0
0
0
3
0
-1
-5
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
14
-4
0
0
0
0
0
0
0
-33
0
0
1
0
0
0
0
0
0
16
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
21
0
0
0
0
0
0
-23
0
0
0
0
0
0
-28
6
0
0
0
0
0
0
5
0
0
-2
0
0
0
0
0
1
-8
-16
0
0
0
0
0
0
-11
0
29
16
0
0
0
0
0
0
-4
-11
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-7
0
0
0
40
0
0
0
0
0
0
41
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
5
-7
-3
0
0
0
0
0
0
0
2
19
0
0
0
0
0
0
0
1
0
-25
0
-18
0
0
0
0
24
-17
0
0
15
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
58
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
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
2
0
0
0
-25
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
-43
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
19
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-3
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
-17
0
0
0
0
0
0
0
1
-1
0
5
0
0
0
0
0
0
24
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
-29
9
0
0
-16
0
0
0
26
0
0
-47
0
0
0
0
0
5
12
-22
0
0
0
0
0
0
5
4
12
0
0
0
0
0
0
0
3
4
-9
-1
0
0
0
0
-8
-3
-2
0
0
0
0
0
0
-8
7
4
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-10
0
0
0
-42
0
0
0
8
0
1
5
0
0
0
0
0
0
27
0
0
0
0
0
0
0
5
26
16
0
0
0
0
0
0
7
26
1
3
0
0
0
0
0
-12
2
1
-24
0
-14
0
0
0
0
-33
7
2
0
8
0
0
0
0
8
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
45
0
0
0
0
0
0
-14
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-2
0
41
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
67
3
0
0
61
0
0
0
5
0
0
40
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-11
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
26
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
-4
38
16
0
-13
0
0
0
0
7
-5
0
33
0
-2
0
0
0
0
4
1
0
0
-29
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
-12
0
0
0
-13
0
0
0
0
0
0
-40
0
0
0
0
0
-2
-54
0
0
0
0
0
0
0
5
4
-8
0
3
0
0
0
0
0
-10
20
0
0
0
0
0
0
1
14
5
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
11
0
0
0
13
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
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
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
21
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
17
0
0
0
0
0
0
11
0
0
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
17
0
0
0
-1
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-22
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
-10
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
27
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-32
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
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
24
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
-11
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
14
0
0
19
0
0
0
-5
1
0
-10
0
0
0
0
0
0
19
35
0
0
0
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
53
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
29
0
0
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
57
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
-15
0
0
0
0
0
0
25
0
0
0
0
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
3
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
14
0
0
0
0
0
0
-48
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
24
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
1
0
0
0
0
0
0
-2
0
0
0
51
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
8
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
-16
0
0
0
0
0
0
-9
0
0
0
-85
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
1
0
0
4
0
0
0
-10
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
6
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
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
-14
0
0
0
28
0
0
0
0
0
0
41
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
6
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-17
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
-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
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
26
0
0
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
-3
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-14
0
0
0
0
0
0
0
0
0
0
41
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
-2
0
0
0
0
0
0
0
0
0
0
16
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
-11
0
0
0
-52
0
0
0
0
0
0
-2
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
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
-6
0
0
0
0
0
0
-17
0
0
0
12
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
18
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
34
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
-50
0
0
0
0
0
0
0
0
0
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
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
-4
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
6
0
0
0
0
0
0
-27
0
0
0
13
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
-16
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
-4
0
0
0
0
0
0
-32
0
0
0
59
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
-3
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
3
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
-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
-50
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
5
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
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
42
0
0
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
0
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
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
2
0
0
0
0
0
0
-1
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
4
0
0
0
0
0
0
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-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
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
0
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
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
-14
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
-15
0
0
0
-6
-1
0
0
0
1
0
0
0
0
-14
-9
0
0
0
0
0
0
0
-2
0
10
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
20
0
0
0
0
0
3
32
-18
0
0
-10
0
0
0
32
-4
24
0
0
43
0
0
0
-15
-5
-1
21
0
0
0
0
0
-10
7
22
0
0
-11
0
0
0
23
-35
-3
0
0
0
0
0
0
-5
0
0
-20
0
0
0
0
0
0
-23
0
0
0
-12
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
6
0
0
0
-27
0
0
0
-15
5
-22
0
0
1
0
0
0
21
-18
-5
0
-11
0
0
0
0
-5
44
21
-1
0
-3
0
0
0
8
23
3
0
0
0
0
0
0
1
0
9
5
0
17
0
0
0
0
52
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
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
-20
0
0
0
14
0
0
0
0
0
0
0
0
10
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
6
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
43
0
0
0
-26
0
0
0
0
0
0
8
0
0
0
0
0
0
21
0
2
0
0
0
0
0
0
2
-19
0
0
-6
0
0
0
44
-25
0
0
0
25
0
0
0
0
-33
4
7
4
0
0
0
0
-3
19
-16
-1
0
-9
0
0
0
18
30
12
-6
0
0
0
0
0
6
10
0
13
0
3
0
0
0
0
54
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
-16
21
4
-3
0
40
0
0
0
-9
-25
4
0
0
5
0
0
0
-3
27
-11
-1
-8
5
0
0
10
22
-17
-13
0
0
-11
0
0
0
20
26
0
-1
-1
0
0
0
0
11
32
-6
49
0
0
0
0
0
0
-18
25
0
0
2
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-14
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
0
0
16
-37
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
32
0
0
0
0
0
0
-23
0
0
0
-65
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
33
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
33
0
0
0
5
0
0
0
0
11
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-15
0
0
0
-3
0
0
0
16
-5
0
0
0
0
0
0
0
0
8
0
-8
0
0
0
0
0
0
23
3
0
0
-11
0
0
0
0
0
0
-15
0
0
0
0
0
-7
0
0
-5
0
0
0
0
0
1
33
-8
-2
0
16
0
0
0
60
-19
1
0
0
-1
0
0
0
13
2
0
0
-4
0
0
0
0
0
-9
37
-3
0
0
0
0
0
-4
16
-12
1
0
0
0
0
0
3
-4
-14
-17
0
0
0
0
0
0
41
-1
0
0
16
0
0
0
0
0
0
6
0
0
0
0
0
4
4
0
13
0
0
0
0
0
-5
-23
10
1
0
26
0
0
0
6
-32
1
0
0
18
0
0
0
11
-23
-29
0
0
6
0
0
0
-6
-13
3
14
0
2
0
0
0
14
-27
17
2
0
0
0
0
0
-4
2
23
0
0
0
0
0
0
0
23
0
0
0
4
0
0
-2
6
0
0
-5
0
0
0
0
0
-5
2
0
16
0
0
0
0
0
33
-32
-15
0
0
21
0
0
0
-14
23
6
0
10
14
0
0
0
11
-4
-15
0
0
0
0
0
0
-5
-27
-18
21
-2
-9
0
0
0
-39
54
4
3
0
0
0
0
0
10
-40
-28
8
0
5
0
0
0
-4
-10
9
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
-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
-8
0
0
0
0
0
0
52
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-2
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
-1
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
14
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
23
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
7
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
18
14
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
19
10
0
0
0
0
0
0
0
0
14
0
-32
0
0
0
0
0
0
-2
0
0
0
55
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
23
0
0
0
0
0
3
4
-10
0
0
-1
0
0
0
-5
-4
0
0
0
0
0
0
0
-8
-12
-3
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
-33
3
-18
0
4
0
0
0
0
-5
14
24
21
0
0
0
0
0
0
-1
-23
2
0
17
0
0
0
1
0
0
1
0
0
0
0
0
-1
24
-5
26
0
0
0
0
0
-2
12
-5
0
-1
-20
0
0
0
-6
-15
2
0
0
-3
0
0
0
-14
-2
9
-14
0
0
0
0
0
-5
52
-13
0
0
-1
0
0
0
5
62
21
3
0
0
0
0
0
-4
2
-2
-12
0
0
0
0
0
0
-7
5
0
5
-26
0
0
0
-3
0
0
-58
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-20
0
0
0
-2
0
0
0
0
0
5
0
0
0
0
0
0
-2
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
0
2
0
0
0
0
0
11
-3
0
27
0
0
0
0
0
0
-34
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
-14
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
-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
-28
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
20
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
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
35
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
1
29
0
0
0
0
0
0
-3
2
0
0
25
0
0
0
-1
26
4
0
0
0
0
0
0
12
-74
8
0
0
0
0
0
0
16
0
-9
7
0
-4
0
0
0
-9
5
0
0
0
0
0
0
0
5
-27
13
26
0
0
0
0
0
0
-1
5
0
0
-38
0
0
0
13
0
0
14
0
0
0
0
0
0
-8
0
-35
0
0
0
0
0
0
9
7
0
0
-11
0
0
0
0
-8
0
0
0
0
0
0
0
-15
-28
0
-4
3
0
0
0
1
1
-6
-15
14
0
-23
0
0
0
7
76
2
0
0
0
0
0
0
-12
-2
15
-37
0
0
0
0
0
0
-32
-1
0
0
43
0
0
0
0
0
0
-6
0
0
0
0
0
-7
-17
1
3
0
0
0
0
0
0
-4
0
0
0
21
0
0
0
4
0
0
0
0
4
0
0
0
43
-23
16
22
0
0
0
0
0
15
5
-34
-2
0
5
0
0
0
-9
-52
2
0
0
0
0
0
0
13
4
-14
-5
0
0
0
0
0
0
-9
8
6
0
-8
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
-9
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
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
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
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-16
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
41
0
0
0
27
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
0
0
-26
0
0
0
0
0
0
0
3
0
0
12
0
0
0
0
0
0
-50
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-39
0
0
0
5
0
0
0
0
1
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-26
1
1
0
0
0
0
0
5
6
0
-73
0
0
0
0
0
0
28
0
0
0
43
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
-20
4
0
0
0
0
0
-7
4
2
0
0
-5
0
0
0
-3
11
7
0
0
0
0
0
0
-15
20
-3
-13
0
0
0
0
0
0
53
-33
2
0
5
0
0
0
1
-13
-5
0
0
0
0
0
0
12
6
32
0
0
19
0
0
0
5
4
-22
-1
0
13
0
0
0
4
0
0
50
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
3
-19
0
0
0
0
0
0
14
1
-11
3
10
0
3
0
0
0
13
5
5
3
11
0
0
0
0
25
5
4
4
0
-10
0
0
0
1
22
-9
4
0
-8
0
0
0
20
3
0
5
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
0
0
0
0
0
0
0
-2
0
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
-12
0
0
0
0
0
0
-7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
13
0
0
0
0
0
0
0
0
0
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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
11
-14
0
0
0
0
0
0
15
14
0
0
-12
0
0
0
3
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
18
-2
8
5
0
0
0
0
0
-14
15
14
0
0
0
0
0
0
0
-19
19
-24
0
-1
0
0
0
0
9
0
0
0
-5
0
0
0
0
-2
0
-3
0
0
0
0
0
0
1
0
-20
0
0
0
0
0
0
21
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
0
-11
7
1
0
0
0
0
0
9
-43
-9
0
0
0
0
0
0
1
1
43
-10
0
0
0
0
0
0
-5
-2
0
0
-7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
32
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
23
-44
0
0
0
1
0
0
0
20
3
0
37
0
0
0
0
0
0
-8
-12
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
0
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
0
0
5
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
-31
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
-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
-27
0
0
0
0
0
0
0
0
0
0
0
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
19
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
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
-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
10
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
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
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
11
-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
0
-37
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
2
0
0
0
0
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
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
41
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
3
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
16
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
33
0
0
0
0
0
0
-8
0
0
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
31
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
-5
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
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
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
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
-30
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
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
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
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
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
34
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
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
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
-54
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
24
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
8
0
0
0
-5
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
-3
2
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
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
39
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
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
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-24
0
0
0
18
0
0
0
0
0
0
0
0
0
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
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
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
-10
0
0
0
0
0
0
0
0
0
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
-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
4
0
0
0
0
0
0
0
0
0
0
2
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
5
0
0
0
0
0
0
0
0
0
0
-3
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
17
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
-14
0
0
0
0
0
0
-2
0
0
0
64
0
0
0
0
0
0
-30
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
0
0
72
0
0
0
0
0
0
4
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
-34
0
0
0
9
0
0
0
0
2
0
35
0
0
0
0
0
-1
-15
1
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
-9
0
0
0
0
0
0
33
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
-4
0
0
-13
0
0
0
8
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
-15
0
0
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
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
26
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
0
0
0
0
0
0
0
-1
0
0
0
29
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
4
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
-5
0
0
0
0
0
0
43
-17
0
0
-48
0
0
0
-9
-3
0
-14
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-8
0
0
0
-5
0
0
0
0
27
0
0
0
0
0
0
0
-2
0
0
46
0
0
0
0
0
0
20
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
9
-19
-3
0
-14
0
0
0
0
0
15
0
0
0
0
0
0
-13
-10
4
18
0
0
0
0
-1
-6
-6
3
0
0
4
0
0
0
-22
50
1
9
0
0
0
0
0
23
-3
1
46
0
0
0
0
0
0
-42
3
0
0
-38
0
0
0
16
0
0
1
0
0
0
0
0
0
2
0
-13
3
0
0
0
0
-14
-18
5
0
0
43
0
0
0
7
13
6
-48
0
0
0
0
0
1
32
-4
0
0
0
0
0
0
9
33
0
0
0
0
0
0
0
0
-26
0
-2
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-23
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-14
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
53
0
0
0
33
0
0
0
0
0
0
18
0
0
0
0
0
6
-23
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
5
0
0
5
0
0
0
0
0
0
14
-5
0
0
8
0
0
0
0
3
0
10
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
8
-2
0
0
5
0
0
0
-1
0
0
-32
0
0
0
0
0
0
8
-11
0
0
0
0
0
0
0
-28
4
0
0
0
0
0
0
4
24
0
9
0
0
0
0
0
0
0
1
-22
-2
0
0
0
0
0
-14
0
0
0
44
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
37
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-14
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
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
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
0
0
0
0
0
0
0
0
0
0
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
-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
80
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
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
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
44
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
-7
0
0
0
0
0
0
30
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
28
0
0
0
-7
0
0
0
0
0
0
34
0
0
0
0
0
0
26
0
0
0
0
0
0
0
6
3
0
5
0
0
0
0
0
2
13
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
7
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
-28
0
0
0
0
0
0
32
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
7
0
0
0
0
0
0
-33
0
0
0
-39
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
-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
-5
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
12
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
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
-12
0
0
0
0
0
0
-6
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
-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
-24
0
0
0
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
-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
0
0
0
0
0
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
-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
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
34
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
31
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
8
0
0
0
0
0
0
-25
0
0
0
-13
0
0
0
-5
0
0
42
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
14
18
6
0
0
0
0
0
0
1
-2
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
43
0
0
0
45
0
0
0
0
0
0
1
0
0
0
0
0
0
14
5
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
2
-23
-5
0
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
0
59
0
0
0
18
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
5
0
0
0
-13
0
0
-49
0
0
0
0
0
0
22
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
4
2
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-13
0
0
0
22
0
0
0
0
0
0
22
0
0
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
11
0
0
0
0
0
0
0
0
0
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
-22
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
36
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
6
0
0
0
0
0
0
0
0
0
0
42
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
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
-5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
9
0
0
0
-32
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
49
0
0
0
-23
0
0
0
0
0
0
27
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-7
1
-1
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
-26
24
0
0
-19
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-28
0
0
0
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
-48
-6
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
-18
-4
0
0
0
0
0
0
-15
-5
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
-19
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
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
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
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
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
1
0
0
0
0
0
0
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
41
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
6
0
0
0
-92
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
-57
0
0
0
0
0
0
12
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
-26
0
0
0
-53
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
-8
0
0
0
0
0
0
0
0
0
0
-5
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
9
0
0
0
-41
0
0
0
0
0
0
25
0
0
0
0
0
0
30
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
10
0
0
0
0
0
0
21
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
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
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
-11
0
0
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
9
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
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
-26
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
-44
0
0
0
-9
0
0
0
0
0
0
21
0
3
0
0
0
0
42
8
0
0
0
0
0
0
0
-11
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
-23
0
0
0
-6
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
9
-1
0
0
11
0
0
0
0
0
0
13
0
4
0
0
0
0
34
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
2
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
7
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
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
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
-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
-17
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
4
0
0
0
0
0
0
-24
0
0
0
-24
0
0
0
-4
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
1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
7
0
0
0
31
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
16
0
3
0
-21
0
0
0
0
0
5
0
0
0
0
0
0
0
-43
22
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
15
-1
0
0
0
0
0
0
-9
0
0
43
0
0
0
0
0
0
-36
0
0
0
35
0
0
0
0
0
-14
61
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
29
0
0
0
-23
0
0
0
0
0
-4
0
0
11
0
0
0
0
33
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
1
0
0
0
0
0
0
1
0
0
-23
0
0
0
0
0
0
16
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
-1
0
0
0
-40
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
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
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
19
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
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
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
19
0
0
0
0
0
0
48
0
0
0
7
0
0
0
0
0
8
-9
0
0
0
0
0
0
26
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
15
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-22
0
0
0
19
0
0
0
1
0
5
36
0
5
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
31
20
0
0
0
0
0
3
24
11
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
0
0
-33
0
0
0
1
-2
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
-51
0
0
0
0
0
0
0
0
16
0
-75
0
0
0
0
0
0
-12
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
-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
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
-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
-11
0
0
0
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
-5
0
0
0
35
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
-2
0
0
0
0
0
0
0
0
0
0
-32
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
-33
0
0
0
0
0
0
-44
0
0
0
16
0
0
0
0
0
0
41
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
-25
9
0
0
0
0
0
0
0
-5
5
10
0
0
0
0
0
0
-47
0
0
0
-40
0
0
0
0
0
0
-14
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
-11
0
0
0
-2
0
0
0
0
0
0
30
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
10
0
0
-1
0
0
0
0
43
1
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
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
-5
0
0
0
-18
0
0
0
0
0
0
29
0
0
0
0
0
0
68
0
0
0
0
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
-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
-31
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
-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
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
-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
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
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
59
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
-3
0
0
0
0
0
0
-15
0
0
0
-50
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
27
0
0
0
0
0
0
7
0
-4
0
0
0
0
-3
0
0
0
0
0
0
0
0
11
-17
0
0
0
0
0
0
-4
-86
0
0
0
0
0
0
0
5
-1
0
-11
0
0
0
0
0
0
26
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
-15
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
-24
-2
0
0
0
0
0
0
-9
0
0
37
0
0
0
0
0
0
1
-4
0
0
-27
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
8
-4
0
0
3
0
0
0
0
0
0
32
0
0
0
0
0
0
-33
5
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-8
23
0
-25
0
0
0
0
0
0
11
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-53
0
0
0
1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-7
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
-6
0
0
0
0
0
0
22
0
0
0
-32
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
-32
0
0
0
0
0
0
0
1
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
-8
0
0
0
0
0
0
-6
0
0
0
21
0
0
14
0
0
0
23
0
0
0
0
0
0
20
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
-10
0
0
0
-11
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-47
0
0
0
-31
0
0
0
0
0
0
-2
0
0
0
0
0
0
34
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
19
32
13
0
0
0
0
0
17
3
0
58
0
0
0
0
0
0
17
13
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
4
0
0
0
17
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
-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
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
-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
7
0
0
0
0
0
0
2
0
0
0
39
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
7
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
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
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
-13
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-21
0
0
0
-26
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
56
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
-5
0
-2
0
0
0
0
0
0
2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
69
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
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
-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
9
0
0
0
0
0
0
0
0
0
0
40
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
4
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
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
15
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
5
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
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
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
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
-2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
17
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
-19
0
0
0
0
0
0
0
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
-54
0
0
0
0
0
0
44
0
0
0
-15
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
73
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
4
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
-31
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
29
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
-17
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
3
0
0
0
0
0
0
0
0
0
0
31
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
-1
0
0
0
11
0
0
0
0
0
0
66
0
0
0
0
0
0
-27
0
0
0
0
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
-5
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
-9
0
0
0
0
0
0
-23
0
0
0
0
0
0
4
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
14
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
-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
-24
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
26
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
17
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
21
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
29
0
0
0
49
0
0
0
0
0
0
9
0
0
0
0
0
0
-61
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
44
0
0
0
0
0
0
-20
15
0
0
-5
0
0
0
0
0
0
0
0
0
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
-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
16
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
-38
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
43
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
-5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
4
1
0
0
18
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
-5
0
0
0
0
0
0
-26
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-11
0
0
0
0
0
0
0
0
0
7
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
14
0
0
0
0
0
0
-19
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
-15
5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-14
-6
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-5
0
0
0
0
0
0
0
0
0
0
-30
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
14
0
0
0
0
0
0
-25
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-6
0
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
-8
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
-31
0
0
0
0
0
0
-42
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
12
-16
5
0
0
0
0
0
0
-8
0
0
-17
0
0
0
0
0
0
16
-20
-2
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
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
5
0
0
0
0
0
0
0
0
0
0
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
3
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
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
-5
0
0
0
15
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
2
-8
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
16
8
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
0
0
0
-16
0
0
0
0
0
0
53
0
0
0
0
0
0
11
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
-15
0
0
0
0
0
0
8
31
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
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
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
-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
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
-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
-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
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
4
0
0
0
-72
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
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
-18
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
-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
-27
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
-12
0
0
0
19
0
0
0
0
0
0
19
0
-2
0
0
0
-2
2
4
0
0
0
0
0
0
6
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
41
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
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
0
0
0
0
0
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
-4
0
0
0
0
0
0
1
0
0
0
23
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
9
0
0
0
0
0
0
0
0
0
0
71
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
-19
0
0
0
0
0
0
12
0
0
0
7
0
0
0
0
0
0
0
0
8
0
0
0
0
-22
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-21
2
0
0
0
0
0
0
-5
0
0
36
0
0
0
0
0
0
-46
11
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
44
0
0
0
-12
0
0
0
0
0
0
34
0
0
0
0
0
4
5
2
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
17
0
0
0
0
0
0
-23
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
-1
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
-1
0
0
0
0
0
0
0
0
0
0
53
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
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
-3
0
0
0
-45
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
1
0
0
0
0
0
0
0
0
0
0
30
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
-18
0
0
0
0
0
0
-32
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-14
0
-1
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-25
-13
0
0
26
0
0
0
0
0
0
7
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
53
0
-7
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-23
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-11
0
0
0
3
0
0
0
0
8
0
15
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-9
0
0
0
55
0
0
0
0
8
0
-45
0
0
0
0
0
4
27
0
0
0
0
0
0
0
0
0
0
9
0
-7
0
0
0
0
-20
34
0
0
0
0
0
0
-5
0
0
38
0
0
0
0
0
0
11
7
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
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
15
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
20
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
1
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
-24
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
53
0
0
0
24
0
0
0
0
0
0
-34
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-24
-2
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-13
0
0
0
36
0
0
0
0
0
0
-35
0
0
0
0
0
9
14
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
44
15
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-2
2
0
0
-39
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
17
0
0
0
-5
0
0
0
0
5
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
5
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
3
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
33
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
-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
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
20
0
0
0
-10
0
0
0
0
5
0
14
0
0
0
0
0
0
-6
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
-1
-2
0
-27
0
0
0
0
0
0
25
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-23
0
0
0
33
0
0
0
0
-2
0
-53
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-18
-10
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-44
-3
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
22
0
0
0
-15
0
0
0
0
8
0
-34
0
0
0
0
0
13
35
0
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
-6
26
0
0
-7
0
0
0
13
0
0
-10
0
0
0
0
0
0
28
0
0
0
17
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
26
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
-41
0
0
0
0
0
0
14
4
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
21
0
0
0
3
0
0
0
0
2
0
29
0
0
0
0
0
-3
-20
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-5
11
0
0
0
0
0
0
0
0
-22
9
0
0
44
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
30
0
0
0
44
0
0
0
0
0
0
-16
0
0
0
0
0
-14
23
0
0
0
0
0
0
0
10
16
0
0
0
2
0
0
0
-18
-16
-22
0
-10
-11
0
0
0
-2
2
2
14
0
0
0
0
0
1
-7
-4
11
0
-3
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
-26
0
0
0
0
0
0
17
0
0
0
0
0
25
-4
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
-2
0
0
0
26
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
-59
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
22
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
0
0
0
0
0
0
-6
0
0
-14
0
0
0
0
0
0
-4
0
0
0
52
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
-34
0
0
0
0
0
0
-11
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
3
-2
-2
0
0
0
0
0
0
1
-10
-13
0
0
0
0
0
0
10
0
2
65
0
0
0
0
0
0
-9
-2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-32
0
0
0
0
0
0
0
0
0
0
6
0
0
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
-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
10
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
-3
0
0
0
2
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
-53
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
45
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
10
0
0
0
-8
0
0
0
0
5
0
-32
0
-1
0
0
0
0
7
-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
38
0
0
0
0
0
0
-3
0
0
0
13
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-32
-4
0
0
20
0
0
0
6
0
0
-11
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
2
0
0
-8
0
0
0
0
0
0
5
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
21
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
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
-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
-1
0
0
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
-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
-21
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
0
0
0
0
0
0
0
-5
0
0
0
65
0
0
0
0
0
0
-21
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
-46
0
0
0
0
0
0
0
0
0
0
12
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
45
0
0
0
-10
0
0
7
0
0
0
0
0
0
51
-14
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
-2
0
0
0
0
0
0
-30
0
0
0
13
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
11
0
0
0
0
0
5
-11
-3
0
0
-15
0
0
0
8
9
0
0
0
7
0
0
0
0
17
2
0
18
0
0
0
0
0
-8
-20
6
0
0
0
0
0
0
10
-6
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
-49
0
0
0
0
0
0
0
25
0
16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
-4
0
0
-30
0
0
0
-18
-17
-13
8
0
0
0
0
-1
0
45
8
0
-5
-15
0
0
0
-1
11
7
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
-44
0
0
0
30
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
59
0
0
0
2
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
4
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-13
0
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
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
53
-14
0
0
-15
0
0
0
-11
2
0
-45
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
5
2
0
0
-1
0
0
0
0
22
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
38
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-17
2
0
0
-20
0
0
0
0
0
0
43
0
13
0
0
0
0
14
0
0
0
0
0
0
0
9
5
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
-12
0
0
0
0
0
0
-6
0
0
0
14
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
5
0
0
-3
0
0
0
-10
0
0
-15
0
-5
0
0
-1
0
-21
-2
0
0
0
0
0
0
23
-14
0
2
0
10
0
0
0
0
5
-6
0
0
0
0
0
0
-18
1
0
-23
0
0
0
0
0
0
-5
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
-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
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
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
35
0
0
0
0
0
0
5
0
0
0
-53
0
0
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
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
36
0
0
0
0
0
0
0
0
0
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
-23
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
-5
0
0
0
0
0
0
0
0
0
0
-55
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
1
0
0
0
0
0
0
-13
-8
0
0
-37
0
0
0
2
0
0
4
0
0
0
0
0
0
46
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
16
-14
5
0
0
0
0
0
0
0
0
1
-43
0
4
0
0
0
0
-20
5
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
67
0
0
0
-49
0
0
0
0
-11
0
14
0
0
0
0
0
0
-32
-5
0
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
55
0
0
-2
0
0
0
0
0
2
0
-17
0
1
0
0
0
0
-23
-5
0
0
13
0
0
0
0
2
0
-15
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-27
0
0
0
24
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
-7
0
0
0
-4
0
0
0
0
0
0
-27
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
4
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
-29
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
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
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
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
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
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
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
-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
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
-25
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
-26
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
-40
0
0
0
0
0
0
13
0
0
0
-28
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
28
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
-31
0
0
0
-38
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
-22
-5
0
0
1
0
0
0
0
8
8
2
0
9
0
0
0
0
-8
-1
0
0
6
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-20
-2
0
0
-1
0
0
0
20
9
0
-6
0
0
0
0
0
0
-6
11
0
0
0
0
0
0
9
3
0
0
0
0
0
0
0
-2
-11
16
-5
0
0
0
0
0
0
-4
0
-19
0
0
0
0
0
3
-13
14
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
-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
-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
-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
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
1
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
19
0
0
0
0
0
0
-8
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
25
0
0
0
17
0
0
0
0
0
0
-33
0
0
0
0
0
0
12
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
1
0
0
-44
0
0
0
0
0
0
24
0
0
0
-17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-22
0
0
0
-3
0
0
0
-5
6
0
-46
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
-1
0
7
0
0
-3
0
0
0
2
-5
0
0
5
0
0
0
0
-1
-2
-3
0
0
2
0
0
0
0
-42
11
9
0
13
0
0
0
0
2
0
-9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
9
-1
0
0
18
0
0
0
0
0
0
37
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
7
-47
39
34
0
0
0
0
0
3
4
56
-14
-9
0
0
0
0
-19
-32
1
15
0
-13
0
0
0
0
2
-31
-6
0
9
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-26
0
0
0
-46
0
0
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
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
-40
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
2
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
29
0
0
0
0
0
0
-13
0
0
0
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
0
0
0
0
26
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
-20
0
0
0
0
0
0
-12
0
0
0
-5
0
0
0
0
0
0
-19
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-11
12
3
16
0
5
0
0
0
13
-2
0
13
0
0
0
0
0
0
-32
27
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
-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
-14
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
23
0
0
0
39
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
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
119
0
0
0
0
0
0
6
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
17
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
-4
0
0
0
0
0
0
8
0
0
0
7
0
0
0
0
-5
-1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
27
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
-22
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
-1
0
0
0
44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-18
0
0
0
-56
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
-28
0
0
0
0
21
-11
0
0
-1
0
0
0
1
0
4
0
0
0
0
0
0
0
30
-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
-66
0
0
0
-21
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
5
0
0
-3
0
0
0
1
14
-7
45
0
0
0
0
0
-9
0
-5
0
0
0
0
0
0
0
-29
4
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
-23
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
-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
-1
0
0
0
0
0
0
0
0
0
0
-20
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
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
-5
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
24
0
0
0
30
0
0
0
2
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
5
3
0
0
0
0
0
0
2
0
0
38
0
0
0
0
0
0
-17
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
24
0
0
0
9
0
0
0
-20
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
-32
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
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
-6
0
0
0
0
0
0
0
0
0
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
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
51
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
-12
0
0
0
0
0
0
0
0
0
0
-41
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
8
0
0
0
0
0
0
30
0
0
0
7
0
0
0
0
0
0
11
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
17
-8
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-35
0
0
0
44
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
-14
0
0
0
-1
4
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
18
0
-21
0
0
0
0
0
0
31
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
-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
-10
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
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
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
44
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
6
0
0
0
0
0
0
-14
0
0
0
80
0
0
0
0
0
-2
-43
0
0
0
0
0
-4
0
3
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
-2
14
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
-9
0
0
0
0
0
0
19
0
0
0
7
0
0
0
0
0
0
32
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
8
4
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-6
-4
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
23
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
1
3
34
0
0
0
0
0
0
0
10
0
14
0
0
0
0
0
0
46
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
-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
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
-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
-10
0
0
0
0
0
0
0
-5
1
0
11
0
0
0
0
0
0
27
0
0
0
65
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
-32
0
0
0
0
4
0
19
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
4
-25
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-29
2
0
0
0
0
0
0
0
-41
6
0
0
38
0
0
0
0
0
0
25
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
29
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
-5
-6
0
0
0
0
0
0
1
-4
9
0
0
0
0
0
0
19
9
11
4
0
0
0
0
0
0
30
52
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
5
0
0
0
10
0
0
0
0
5
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
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
-6
0
0
0
0
0
0
10
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
5
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
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
23
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
2
0
0
0
30
0
0
0
0
0
0
40
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
25
3
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
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
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
-9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
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
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
-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
-10
0
0
0
0
0
0
0
0
0
0
-25
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
-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
22
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
-9
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
-11
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
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
-6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
-22
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-24
0
0
0
-31
0
0
0
0
0
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
0
-14
-3
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
2
-31
1
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
26
-6
0
0
27
0
0
0
23
-14
-9
16
1
8
0
0
0
66
10
0
0
0
-7
0
0
0
5
-5
0
0
-1
0
0
0
0
19
7
-1
0
0
0
0
0
0
0
-1
0
-11
0
0
0
0
0
0
-6
3
0
0
18
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
21
0
0
-1
0
0
0
-3
1
-11
1
3
0
0
0
0
-6
-13
0
0
27
0
0
0
0
-2
-14
-37
0
0
0
0
0
0
-19
5
12
0
0
1
0
0
0
-3
15
0
26
0
-6
0
0
0
0
-11
-6
0
0
-6
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
-8
6
0
0
6
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
6
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-11
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
12
17
0
0
-14
0
0
0
14
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
36
-1
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
-5
0
0
-14
0
0
0
0
0
-33
-10
-14
0
0
21
0
0
0
26
24
0
-29
0
-1
0
0
0
-16
-42
0
0
0
0
0
0
0
0
-1
12
14
0
0
0
0
0
28
38
-30
0
-4
0
0
0
0
-1
6
-13
29
0
13
0
0
0
0
-1
8
0
0
-23
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-17
15
0
0
-24
0
0
0
-1
34
-13
0
0
-4
0
0
0
-9
-9
0
0
0
5
0
0
0
0
-11
-5
8
0
27
0
0
0
31
-13
9
0
-9
0
0
0
0
24
16
0
27
0
5
0
0
0
0
18
-9
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
-11
0
0
-27
0
0
0
0
0
0
49
4
3
0
15
0
0
0
-17
16
49
11
0
0
0
0
0
-23
19
0
20
0
0
0
0
0
-34
5
13
-5
0
-1
0
0
0
-7
6
-14
0
0
0
0
0
0
0
13
0
14
0
0
0
0
0
0
-17
-8
0
0
13
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
60
6
0
0
-6
0
0
0
0
-1
-1
-70
0
0
0
0
0
0
66
0
0
3
0
0
0
0
0
-11
-1
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
3
1
-6
-2
0
0
0
0
0
0
75
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
-1
0
0
0
62
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
-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
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
-3
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
23
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
-2
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
17
0
0
0
0
0
0
-5
2
0
0
-17
0
0
0
18
-5
0
-30
0
0
0
0
0
13
0
0
0
0
0
0
0
0
5
-4
-6
0
0
0
0
0
0
34
-1
-5
0
0
0
0
0
0
1
0
0
29
0
0
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
70
0
0
0
0
0
-8
4
0
0
0
22
0
0
0
-63
-42
-9
0
0
-17
0
0
0
27
14
0
0
0
42
0
0
0
-3
14
-1
-19
-1
2
0
0
0
-12
-20
11
-1
4
0
0
0
0
-7
9
3
-20
0
0
0
0
0
0
-27
-9
0
0
4
0
0
0
0
-1
0
32
0
0
0
0
0
34
0
0
-6
0
0
0
0
0
14
18
63
0
0
8
0
0
0
-29
-2
6
3
0
5
0
0
0
23
57
0
0
0
2
0
0
-1
-2
-6
-36
27
0
-33
0
0
0
-11
53
25
-9
0
0
0
0
0
20
14
5
32
0
-2
0
0
0
-14
13
26
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
3
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
-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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
29
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
-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
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
-19
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
59
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
5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
28
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-35
29
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
-16
13
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
-18
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
11
0
0
0
24
0
0
0
0
0
0
11
0
0
0
0
0
30
0
-2
-3
0
0
0
0
0
26
-11
11
0
0
10
0
0
0
-43
8
-20
-6
9
16
0
0
0
-27
0
0
-6
-6
2
0
0
0
10
21
0
-9
10
0
0
0
0
2
-21
-28
-1
17
0
0
0
2
18
1
24
36
0
-14
0
0
0
-5
3
-4
0
0
11
0
0
0
0
0
-5
7
0
0
0
0
0
3
0
0
2
0
0
0
0
0
-1
37
-30
0
0
-4
0
0
0
0
0
-1
39
0
0
0
0
0
9
62
0
0
0
1
0
0
0
0
-6
-6
0
0
5
0
0
0
-5
14
-5
0
0
0
0
0
0
-15
5
0
37
0
1
0
0
0
0
25
-15
0
0
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-25
6
0
0
-18
0
0
0
-3
0
0
47
-5
9
0
0
0
8
16
0
0
0
4
0
0
0
5
-6
0
2
0
0
0
0
0
0
-15
-6
0
0
0
0
0
0
-5
-5
-7
19
0
0
0
0
0
0
-8
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
-5
0
0
0
-29
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
-8
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
10
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
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
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
-3
0
0
0
0
0
0
3
0
0
0
-13
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
-15
0
0
0
0
0
0
0
0
0
0
18
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
13
0
0
0
0
0
0
81
0
0
0
-17
0
0
0
0
0
0
19
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
4
-29
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-18
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
-2
0
0
-23
0
0
0
0
0
0
-16
21
0
0
24
0
0
0
30
-14
0
19
0
2
0
0
0
27
24
0
4
0
0
0
0
0
0
1
-24
-23
0
-6
0
0
0
-14
-6
0
0
0
0
0
0
0
34
9
15
2
0
17
0
0
0
-15
33
22
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
14
0
0
0
0
0
0
-18
41
0
0
13
0
0
0
10
5
18
-37
0
-3
0
0
0
17
35
0
0
0
0
0
0
0
10
-1
35
-45
-1
18
0
0
0
2
-12
-17
0
0
-2
0
0
0
33
23
-16
-34
0
-8
0
0
0
-9
-19
21
0
0
-10
0
0
0
1
0
0
11
0
0
0
0
0
1
0
-15
-51
0
0
0
0
0
-39
11
4
0
0
-8
0
0
0
10
-5
-1
-31
0
7
0
0
0
6
29
0
0
-2
0
0
0
0
5
22
18
13
1
39
0
0
0
-5
-24
4
8
0
0
0
0
0
16
22
-1
-3
0
4
0
0
0
-4
6
23
0
0
45
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
34
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
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
-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
-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
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
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
-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
-32
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
27
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
5
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
1
0
0
0
0
0
0
-15
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
31
0
0
0
0
0
0
0
17
0
0
29
0
0
0
0
0
0
-17
0
0
0
12
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
17
0
0
0
0
0
4
22
-1
0
0
24
0
0
0
0
0
0
13
0
0
0
0
0
-14
28
0
0
0
0
0
0
0
-6
3
-18
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
0
30
-10
0
-5
0
0
0
0
0
6
33
-3
0
0
18
0
0
0
0
0
0
46
0
0
0
0
0
-5
0
0
36
0
0
0
0
0
31
-19
-8
0
0
-10
0
0
0
6
17
0
37
6
0
0
0
0
-8
20
0
-4
-15
0
0
0
0
-11
12
4
-14
13
9
0
0
0
-8
60
-15
-16
20
0
0
0
0
-16
-17
-33
0
0
-37
0
0
0
-44
30
8
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
24
-7
0
0
-12
0
0
0
11
0
-1
23
0
0
0
0
0
-1
15
0
-3
11
-4
0
0
-5
3
5
-24
-9
-5
16
0
0
0
-20
31
-1
-3
30
13
0
0
0
-37
27
-23
-18
0
5
0
0
0
1
11
-21
-5
0
8
0
0
0
-3
-6
7
27
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
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
25
0
0
0
-4
0
0
0
0
1
-8
0
0
0
0
0
0
5
5
9
32
0
0
0
0
0
0
-5
0
0
0
29
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
-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
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-32
0
0
0
-43
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
69
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
-16
0
0
0
0
0
0
-8
6
0
0
-6
0
0
0
16
0
0
-47
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
-10
7
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
-4
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-23
0
0
0
-30
0
0
0
0
0
0
-44
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
1
-36
9
2
0
0
0
0
0
-7
5
-11
18
0
0
0
0
0
-6
28
-25
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
11
0
0
0
0
0
0
-14
0
0
0
0
0
-14
38
0
0
0
0
0
0
0
7
12
17
0
4
12
0
0
0
4
35
4
-5
0
0
0
0
0
-14
43
2
42
0
0
0
0
0
0
30
38
-7
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
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
-46
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
-14
0
0
0
0
0
0
0
0
0
0
-20
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
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
-3
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
3
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
3
0
0
0
0
0
0
0
0
0
0
-14
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
-34
0
0
0
30
0
0
0
0
0
0
0
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
-2
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
-2
0
0
0
8
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
5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
10
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
15
0
0
0
-9
0
0
0
0
0
0
0
0
19
0
0
0
0
14
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
18
0
0
0
0
0
0
0
-10
0
0
-1
0
0
0
0
0
0
-9
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-9
19
0
0
59
0
0
0
5
0
3
-39
0
10
0
0
0
3
12
-18
0
0
0
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
-27
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
21
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
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
-1
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-49
0
0
0
0
0
11
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
-9
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
21
11
0
0
-38
0
0
0
0
0
0
18
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-12
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
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
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
36
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-7
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
-21
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-6
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
-8
0
0
0
13
0
0
0
0
0
0
-67
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
-3
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
2
0
0
0
33
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
24
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
16
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
13
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
53
0
0
0
0
0
0
-2
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
7
0
0
0
0
0
0
-109
0
0
0
0
0
0
-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
-6
0
0
-1
0
0
0
0
0
0
5
0
0
0
-124
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
25
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
10
0
0
0
0
0
0
0
0
0
0
-14
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
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
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
0
0
0
0
0
0
0
0
0
32
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
11
0
0
0
0
0
0
24
0
0
0
7
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
-8
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
-1
0
0
0
0
0
0
-17
0
0
0
3
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
-16
-5
0
25
0
0
0
0
-7
-1
-17
-60
0
0
0
0
0
0
-14
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
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
5
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-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
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
35
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
2
0
0
0
-23
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
0
0
0
0
0
0
0
0
0
0
-6
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
7
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
-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
-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
34
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
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
44
0
0
0
23
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
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
24
0
0
0
0
0
0
25
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
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
3
0
0
0
-19
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
20
0
0
0
0
0
-5
-55
0
0
0
-15
0
0
0
8
0
2
15
0
-3
0
0
0
0
-41
-2
0
0
0
0
0
0
0
-3
2
0
0
15
0
0
0
-2
25
5
0
0
0
0
0
0
-9
5
-5
30
0
0
0
0
0
0
-10
-7
0
0
-61
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
10
10
5
0
0
37
0
0
0
26
1
11
-12
0
34
0
0
0
-14
16
13
0
0
2
0
0
0
1
-21
27
0
0
0
0
0
0
-6
-22
-1
-9
0
0
0
0
0
0
-1
0
12
0
0
0
0
0
0
24
0
0
0
-45
0
0
0
0
-9
0
-17
0
0
0
0
0
0
-3
0
-13
0
0
0
0
0
-14
-13
10
0
0
5
0
0
0
-35
13
-6
-35
0
4
0
0
0
13
21
13
0
0
1
0
0
0
-15
2
1
0
0
17
0
0
0
5
17
-12
0
0
0
0
0
0
-3
3
-30
-32
0
0
0
0
0
-5
-32
8
0
0
30
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
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
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
-5
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
14
0
0
0
0
0
0
-3
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
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
-5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-56
0
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
-23
0
0
0
0
0
0
-42
0
0
0
0
0
-4
5
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
-24
0
0
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
11
1
0
0
-7
0
0
0
20
-30
0
-5
0
5
0
0
0
-14
62
-4
0
0
0
0
0
0
11
-20
-10
0
0
-1
0
0
0
-1
13
4
0
0
0
0
0
0
-5
1
-8
-4
0
-1
0
0
0
-1
-1
-3
0
0
5
0
0
0
0
6
0
-24
0
0
0
0
0
7
0
0
-15
0
0
0
0
4
4
-1
4
-38
0
-5
0
0
0
5
-19
-5
0
0
-23
0
0
0
-17
-27
-18
10
0
0
0
0
0
-49
-5
9
0
5
-27
0
0
0
-3
38
-11
-14
-7
0
0
0
-1
-22
28
-22
31
2
6
0
0
0
38
15
-28
3
0
-20
0
0
0
7
-22
-15
-3
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-14
-3
24
0
-15
0
0
0
-14
-18
16
23
0
2
0
0
0
-62
-2
19
3
0
0
0
0
0
51
-3
3
0
0
4
0
0
0
-4
24
-1
0
0
0
0
0
0
13
0
0
25
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
51
0
0
0
-9
0
0
0
0
0
0
-9
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
1
0
10
0
0
0
0
0
0
-27
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
-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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
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
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
5
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
0
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
-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
28
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
27
5
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
23
2
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
4
0
0
15
0
0
0
0
0
3
-3
6
1
0
34
0
0
0
17
-5
-8
2
0
-14
0
0
0
-17
-12
0
0
0
0
0
0
0
-2
-20
-47
0
0
5
0
0
0
58
-17
25
15
-3
0
0
0
0
-9
49
-20
31
0
0
0
0
0
16
7
-6
0
0
-47
0
0
0
-4
-20
0
-10
0
0
0
0
0
-1
5
34
16
0
0
0
0
0
9
62
-18
-3
0
-25
0
0
0
-12
-30
0
-10
0
0
0
0
0
-62
51
24
0
0
0
0
0
0
34
-7
5
0
0
35
0
0
0
-33
35
13
10
0
0
0
0
0
35
22
33
13
0
0
0
0
0
6
56
16
16
0
-9
0
0
0
-5
19
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
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
-2
0
0
0
0
0
0
0
0
0
0
-20
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-30
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
23
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
6
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
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
21
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
5
0
0
0
0
0
0
23
0
0
0
20
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
5
9
3
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-45
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-17
0
0
0
49
0
0
0
-1
0
4
11
0
0
0
0
0
-8
-16
5
5
0
0
0
0
0
-4
19
0
0
0
3
0
0
0
-13
1
17
4
0
0
0
0
0
25
5
0
-25
0
0
0
0
0
1
33
-26
2
4
3
0
0
0
0
0
-6
-6
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-21
-7
0
0
-22
0
0
0
0
1
0
-43
0
-14
0
0
0
0
-14
0
-2
0
0
0
0
0
0
-9
-16
0
0
2
0
0
0
2
24
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
-1
21
0
0
-23
0
0
0
0
22
0
-37
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
9
10
0
0
50
0
0
0
-13
0
0
20
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
11
14
0
0
0
5
0
0
0
4
-5
-1
0
0
0
0
0
0
-5
0
0
53
0
0
0
0
0
0
36
-1
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
-2
0
0
0
-13
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
-3
0
0
0
0
0
0
0
0
0
0
-39
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
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
-19
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
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
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
-13
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
5
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
4
0
0
0
0
0
0
-1
3
0
0
64
0
0
0
-5
0
0
7
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-3
0
7
0
0
0
0
0
0
-4
0
0
-5
0
0
0
0
0
0
20
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
42
0
0
0
0
0
0
25
-9
0
0
2
0
0
0
-14
5
3
37
-5
20
0
0
0
15
-43
11
0
0
0
0
0
0
0
9
-9
0
1
0
0
0
0
6
42
0
0
0
0
0
0
0
-9
6
-51
-25
0
0
0
0
0
8
-24
12
0
0
-22
0
0
0
-6
13
-7
4
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
27
0
0
0
-51
0
0
0
12
0
2
4
0
3
0
0
0
0
-5
6
0
0
0
0
0
0
2
-18
0
0
0
-1
0
0
0
18
34
0
0
0
0
0
0
0
33
-1
14
-30
0
0
0
0
0
8
15
-19
0
0
25
0
0
0
3
0
5
-1
0
0
0
0
0
0
0
9
-25
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
-14
0
-18
18
0
6
0
0
0
0
-49
1
0
0
0
0
0
0
4
1
0
0
0
8
0
0
0
15
-6
14
5
0
0
0
0
0
14
0
8
-10
0
0
0
0
0
3
-6
-2
0
0
38
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
-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
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
-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
26
0
0
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
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
-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
-21
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-56
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
30
0
0
0
-7
0
0
0
0
0
0
-14
0
0
0
0
0
0
-44
1
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
0
4
0
0
-50
0
0
0
0
0
0
29
2
0
0
-32
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
25
3
0
0
-30
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
6
0
0
0
0
25
17
-3
0
0
0
0
0
-5
-1
0
-63
0
0
0
0
0
0
0
4
0
0
-14
0
0
0
0
0
0
-38
0
0
0
0
0
0
47
-3
54
0
0
0
0
0
0
-17
-2
0
0
45
0
0
0
-2
0
0
-25
0
0
0
0
0
-1
-3
-20
0
0
0
0
0
0
-4
-5
-10
0
0
-4
0
0
0
-14
-33
-4
0
0
0
0
0
0
7
9
15
0
0
-1
0
0
0
8
1
15
-3
0
-10
0
0
0
7
-5
13
-17
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
24
-1
0
0
-24
0
0
0
0
0
0
-22
0
0
0
0
0
0
55
5
0
0
0
0
0
0
0
-22
17
0
0
16
0
0
0
-5
30
4
0
0
0
0
0
0
-30
-5
2
-4
0
0
0
0
0
0
48
-7
11
0
-5
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-32
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
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
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
-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
5
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-1
0
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
0
0
0
0
0
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
-53
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
-33
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-14
-12
-4
0
0
0
0
0
0
34
0
0
0
-10
0
0
0
0
0
0
-5
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
26
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
17
14
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
18
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-14
0
0
0
40
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
21
0
0
0
0
0
0
0
0
-5
0
14
0
0
0
0
0
0
-5
8
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
3
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
7
0
0
0
0
0
0
0
0
0
0
-10
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
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
5
0
0
0
0
0
0
14
0
0
0
25
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
21
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
-2
0
0
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
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-44
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
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
-7
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
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
-13
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
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
-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
-78
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
-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
-14
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
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
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
32
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
-8
0
0
0
-21
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
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
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
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
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
-18
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
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
-1
0
0
0
0
0
0
0
0
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
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
21
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
-4
0
0
0
0
0
0
26
-7
0
0
4
0
0
0
0
0
0
-14
0
0
0
0
0
0
19
-14
0
0
0
0
0
0
0
20
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
-13
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
13
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
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
20
-3
0
0
-20
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
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
26
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
48
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
-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
-4
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
54
0
0
0
-37
0
0
0
0
0
0
68
0
0
0
0
0
0
-18
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
0
0
0
25
0
0
0
0
0
0
5
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
3
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
36
0
0
0
0
0
0
0
0
0
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
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
-5
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
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
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
-40
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
22
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
12
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
-3
0
0
0
-26
0
0
0
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
0
0
1
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
-4
0
0
0
67
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
27
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
69
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
31
0
0
0
0
0
0
4
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
10
6
0
0
0
0
0
4
3
4
0
0
19
0
0
0
0
0
1
34
0
0
0
0
0
0
-53
-12
0
0
0
0
0
0
0
0
-16
1
0
0
0
0
0
0
-2
4
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
29
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
-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
23
0
0
0
0
0
0
0
0
0
0
-14
0
0
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
42
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
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
-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
27
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
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
0
0
54
0
0
0
0
0
0
-43
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
24
0
0
0
0
0
0
-35
0
0
0
0
0
0
-15
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
3
0
0
0
0
0
0
2
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
2
0
0
0
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
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
-35
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
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
13
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
0
0
-5
-9
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
1
0
0
0
0
0
0
-3
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
23
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
9
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
-5
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
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
-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
-10
0
0
0
25
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
-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
0
0
0
0
0
0
0
3
0
0
0
20
0
0
0
0
0
0
-30
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
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
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
54
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
-2
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
-4
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
-32
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
1
0
0
0
0
0
0
2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
-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
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
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
5
0
0
0
0
0
0
-23
0
0
0
37
0
0
0
0
0
0
-14
0
0
0
0
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
-3
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
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
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
-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
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
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
1
0
0
0
0
0
0
-11
0
0
0
35
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
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
-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
23
0
0
0
-25
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
2
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
5
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
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
-45
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
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
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
14
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
-1
0
0
0
0
0
0
63
0
0
0
27
0
0
0
0
0
0
46
0
0
0
0
0
10
-23
-10
0
0
0
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
-25
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
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
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
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
59
0
0
0
0
0
0
40
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
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
63
0
0
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
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
-14
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
14
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
62
0
0
0
0
0
0
-9
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
-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
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
-15
0
0
0
2
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
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
-50
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
6
0
0
0
9
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
-1
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-22
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
-15
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
-29
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
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
45
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
9
0
0
0
40
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
14
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
-5
0
0
0
0
0
0
0
0
0
0
-22
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
-4
-4
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-20
0
0
0
29
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
17
0
0
0
21
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
-1
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-18
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
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
-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
33
0
0
0
0
0
0
36
0
0
0
14
0
0
0
14
0
0
8
0
0
0
0
0
0
-13
19
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
25
-3
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
-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
3
0
0
0
0
0
0
0
0
0
-20
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
1
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
11
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
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
-2
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
-27
0
0
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
0
0
0
0
-36
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
-26
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
-8
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-11
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-23
-3
0
0
0
0
0
0
0
0
0
-36
0
-6
0
0
0
0
-7
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
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
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
8
-1
0
0
-26
0
0
0
14
0
0
-18
0
0
0
0
0
9
43
7
0
0
0
0
0
0
0
-15
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
-6
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
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
-10
0
0
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
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
40
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
74
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
1
0
0
0
0
0
0
0
0
0
0
3
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
4
0
0
0
10
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
3
0
0
0
0
0
0
0
0
0
0
29
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
50
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
-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
-50
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
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
5
0
0
0
0
0
0
0
0
0
0
-11
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
-5
0
0
0
0
0
0
0
0
8
0
10
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
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
-12
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
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
-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
23
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
-21
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
44
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
-1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-24
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
-29
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
0
0
0
0
0
0
0
0
0
2
0
-11
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
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
-14
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
3
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
3
0
0
0
0
0
0
0
0
0
0
-5
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
30
0
0
0
0
0
0
-14
0
0
0
54
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
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
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
35
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
-5
0
0
0
0
0
0
0
0
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
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
-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
-4
0
0
0
0
0
0
-2
0
0
0
48
0
0
0
0
0
0
47
0
0
0
0
0
0
-25
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
16
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
30
0
0
0
0
0
0
11
0
0
0
42
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
1
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
7
0
0
0
0
0
0
0
0
0
0
24
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
-4
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
-16
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
12
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-5
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
-14
0
0
0
-16
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
15
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
-1
0
0
0
0
0
0
5
0
0
0
-7
0
0
0
0
0
0
0
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
20
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
18
0
0
0
0
0
0
-8
27
2
0
16
0
0
0
0
0
-2
22
0
0
0
0
0
24
-12
-21
0
2
3
0
0
-5
-4
0
51
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
-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
42
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
-8
0
0
0
0
0
0
0
0
0
0
5
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
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
-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
17
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
-1
0
0
0
-32
0
0
0
0
0
0
-1
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
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
-18
0
0
0
0
0
0
0
3
0
0
-8
0
0
0
0
0
0
-7
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-19
0
0
0
-5
0
0
0
9
0
0
28
0
0
0
0
0
0
19
10
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
4
-15
0
23
0
0
0
0
0
0
-4
-1
0
0
36
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
6
-1
0
0
31
0
0
0
-5
0
0
-10
0
0
0
0
0
0
43
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
3
-1
0
-13
0
4
0
0
0
0
51
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-43
0
0
0
29
0
0
0
0
0
0
33
0
0
0
0
0
0
-28
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-2
0
0
0
0
0
0
-6
0
0
17
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
-4
0
0
0
0
0
0
25
0
0
0
-11
0
0
0
0
0
0
14
0
0
0
0
0
0
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
14
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
1
14
0
0
-24
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
0
0
0
-28
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
10
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-3
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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-35
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
16
0
0
0
0
0
0
0
0
0
0
11
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
10
0
0
0
0
0
0
22
0
0
0
-14
0
0
0
0
0
0
-12
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
16
0
0
0
0
0
0
-8
5
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
2
0
0
0
45
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
7
0
0
19
0
0
0
0
0
0
28
0
0
0
-37
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
6
23
0
0
-10
0
0
0
0
0
4
63
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
-2
8
5
0
0
-52
0
0
0
0
-29
0
-17
0
0
0
0
0
0
28
-1
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
3
0
0
0
-33
0
0
0
-11
0
0
27
0
0
0
0
0
5
-42
18
0
0
0
0
0
0
0
0
-30
-1
0
11
0
0
0
0
-28
16
0
0
0
0
0
0
5
-29
0
20
0
0
0
0
0
0
-6
2
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
14
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
-30
0
0
0
-23
0
0
0
0
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
14
0
5
0
0
0
0
0
0
10
0
0
0
89
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
24
14
0
0
10
0
0
0
1
0
0
-6
0
0
0
0
0
0
-41
11
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
-9
14
2
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
31
-5
0
0
16
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
0
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
3
0
0
35
0
0
0
0
0
0
-2
-20
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-28
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
-2
0
0
0
0
0
0
0
-1
0
0
44
0
0
0
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
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
11
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
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
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
5
0
0
0
-14
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
24
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
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-23
0
0
0
2
0
0
0
-2
0
0
-9
0
0
0
0
0
-3
-14
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
30
1
0
0
0
0
0
0
8
0
0
-3
0
0
0
0
0
0
-11
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
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
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
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
2
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
-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
2
0
0
0
0
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
-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
-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
-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
68
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
9
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
5
14
-5
0
0
-36
0
0
0
-8
0
-14
27
0
0
0
0
0
0
-8
0
-15
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-25
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
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
5
0
0
0
0
0
0
0
0
0
0
48
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
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
31
0
0
0
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
0
0
4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
19
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
4
-2
0
0
31
0
0
0
-14
0
0
13
0
0
0
0
0
0
-11
-1
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
29
0
0
0
0
0
0
17
0
0
0
22
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
16
0
0
0
10
0
0
0
8
18
0
18
0
0
0
0
0
0
-71
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
0
-2
0
0
0
0
0
0
0
40
0
0
0
0
0
2
35
0
0
0
-25
0
0
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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
-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
-23
0
0
0
0
0
0
10
0
0
0
0
0
0
36
0
0
0
0
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
-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
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
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
10
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
2
0
0
0
7
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
-9
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
13
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
-1
0
0
0
-62
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
-8
0
0
0
0
0
0
0
0
-4
0
32
0
0
0
0
0
0
-7
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
22
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
-17
0
0
0
0
0
0
0
5
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
1
0
0
0
0
0
0
12
0
0
0
39
0
0
0
5
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
-9
-4
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
19
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
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
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
-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
0
0
0
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
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
12
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
37
0
0
0
0
0
0
0
0
0
0
-29
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
3
0
0
0
-19
0
0
0
0
0
0
19
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
8
-6
-8
0
0
-1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
18
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
47
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
6
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
42
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
-2
0
0
0
0
0
0
0
0
0
0
-25
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
-4
0
0
0
0
0
0
0
0
0
0
14
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
-27
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
-14
0
-1
32
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
4
13
0
4
0
4
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
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
0
0
0
0
0
0
0
0
0
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
-11
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
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
22
0
0
0
0
0
0
9
0
0
0
-34
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
7
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
7
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
-27
0
0
0
-11
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
-14
0
0
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
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
-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
2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-15
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
-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
-23
0
0
0
-44
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
-14
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
34
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
-31
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
1
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-6
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-23
0
0
0
16
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
-6
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
11
21
0
0
-20
0
0
0
43
-27
-10
54
0
-14
0
0
0
-11
-3
9
14
34
0
0
0
0
0
-44
0
0
0
2
0
0
0
0
-3
1
-17
-1
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
1
0
0
0
88
0
0
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
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
40
0
0
0
-15
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
-2
0
0
0
0
0
0
0
0
0
0
-5
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
-5
28
0
0
0
0
0
0
-11
4
0
0
44
0
0
0
-5
2
27
32
0
0
0
0
0
1
30
0
0
0
0
0
0
0
0
0
9
0
0
3
0
0
0
3
44
0
0
-1
0
0
0
0
-5
0
3
-4
0
0
0
0
0
-1
42
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
12
0
0
0
0
0
0
9
-35
0
0
0
-23
0
0
0
2
8
-8
-65
0
11
0
0
0
2
5
-3
0
18
-1
0
0
0
0
-17
6
0
0
-5
0
0
0
17
-34
3
-6
0
0
0
0
0
-5
13
14
17
0
0
0
0
0
-5
27
2
0
0
17
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-14
0
0
0
37
0
0
0
0
0
0
15
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-5
0
0
0
-14
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
20
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
-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
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
16
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
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
36
0
0
0
44
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
-24
0
0
0
0
0
0
0
0
0
0
27
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
5
0
0
0
0
0
0
-5
31
0
0
-24
0
0
0
-6
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
7
-14
0
-14
0
0
0
0
0
0
5
-3
-24
0
1
0
0
0
0
-21
0
0
0
34
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
-11
-1
0
0
-3
0
0
0
0
0
0
14
0
0
0
0
0
0
-27
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
31
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
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
-6
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
-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
-5
0
0
0
6
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
-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
-14
0
0
0
0
0
3
-11
0
0
0
-12
0
0
0
-2
1
4
-9
0
0
0
0
0
-9
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-23
0
0
0
0
0
0
0
0
-5
0
-11
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
3
43
0
0
0
0
0
0
-15
-3
0
0
22
0
0
0
20
14
8
-38
0
0
0
0
0
5
-14
-5
0
0
0
0
0
0
0
-11
-3
0
0
0
0
0
0
-2
55
-3
0
0
0
0
0
0
0
7
0
-46
0
0
0
0
0
0
-21
0
0
0
27
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
6
0
0
0
39
0
0
0
0
14
4
-34
0
-9
0
0
0
0
33
0
0
0
0
0
0
0
0
5
20
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
10
0
-82
0
0
0
0
0
0
30
0
0
0
-14
0
0
0
0
0
0
22
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
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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
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
-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
5
0
0
0
0
0
0
-12
0
0
0
28
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
-23
0
0
0
0
0
0
0
0
0
0
-1
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
-3
0
0
0
0
0
0
-10
0
0
0
15
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
4
0
0
0
0
0
0
0
6
2
0
5
0
0
0
0
0
0
31
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
33
-9
0
0
0
0
0
-11
23
-5
5
0
-58
0
0
0
-27
5
4
12
0
0
0
0
0
-45
-6
-5
0
-4
0
0
0
0
13
-14
47
0
0
12
0
0
0
-6
-1
0
0
1
0
0
0
0
-10
0
-9
0
0
0
0
0
0
0
-23
14
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
43
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
24
0
0
-8
0
0
0
0
0
20
0
-32
0
0
0
0
0
0
23
0
0
0
12
0
0
0
0
0
0
5
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
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
-1
0
0
0
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
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
-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
10
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
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
17
0
0
0
0
0
0
-46
5
0
0
13
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
0
0
-16
0
0
0
0
0
0
0
0
2
0
-22
0
0
0
0
0
0
23
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
7
0
0
0
2
0
0
0
0
0
0
20
0
0
0
0
0
0
20
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
-23
0
0
0
-43
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
3
23
0
0
0
0
0
0
-18
-2
0
0
19
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
0
-44
0
-3
0
0
0
0
0
0
-14
0
2
0
2
0
0
0
0
21
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
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
15
0
0
0
-3
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
3
0
0
0
0
0
0
-8
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
-23
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
9
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-8
0
0
0
-52
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
3
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
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
-81
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
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
-20
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
9
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
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
22
0
0
0
0
0
0
0
0
0
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
-5
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
31
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
1
0
0
0
-14
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
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
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
-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
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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
14
0
0
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
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
-23
0
0
0
1
0
0
0
0
0
0
-62
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
-6
0
0
0
0
0
0
18
0
0
0
-82
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
-3
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
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
0
0
0
0
0
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
25
0
0
0
7
0
0
0
0
0
0
-14
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
50
10
17
0
26
0
0
0
-21
1
4
-13
0
0
0
0
0
10
53
-2
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-5
-40
0
0
1
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
51
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
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
16
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
12
0
0
0
0
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
0
0
0
12
0
0
0
27
0
0
0
0
0
0
-13
0
0
0
0
0
-2
-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
19
0
0
0
0
0
0
-5
0
0
0
-42
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
4
0
0
2
0
0
0
0
4
0
-30
0
0
0
0
0
0
-19
-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
5
0
0
0
0
0
0
-14
0
0
0
-77
0
0
0
0
0
0
-8
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
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
-45
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
-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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-25
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
-20
0
0
0
-42
0
0
0
0
0
0
-43
0
0
0
0
0
0
-21
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
-5
0
0
0
0
0
0
-6
0
0
0
36
0
0
0
0
0
0
25
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
4
-18
0
0
0
0
0
0
5
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
16
0
0
0
0
0
0
-11
0
0
0
51
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
45
0
0
0
3
0
0
-33
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
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
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
-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
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
5
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
5
0
0
0
49
0
0
0
0
0
0
3
0
0
0
0
0
0
-34
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
51
0
0
0
0
0
0
-18
0
0
0
-72
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
42
3
0
0
-48
0
0
0
0
0
8
-6
0
0
0
0
0
0
27
-2
0
0
0
0
0
0
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
5
0
0
0
37
0
0
0
0
0
0
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
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
42
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
-32
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
11
0
0
0
0
0
0
1
0
0
0
12
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
50
0
0
0
0
0
0
16
0
0
0
-20
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
-21
0
0
0
0
0
0
4
0
0
0
-56
0
0
0
0
0
0
11
0
0
0
0
0
6
-17
-20
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-1
-11
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
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
-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
38
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
-32
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
-28
0
0
0
-20
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
-24
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
-5
0
0
0
-37
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
24
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
-9
0
0
0
0
0
0
-5
0
0
0
-55
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
5
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
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
-17
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
4
0
0
0
0
0
0
13
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
-7
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
-2
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
-3
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-1
0
0
0
0
0
0
5
0
0
0
-5
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
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
-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
-9
3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
3
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
-12
-2
0
0
11
0
0
0
-1
0
0
16
0
0
0
0
0
0
18
3
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
5
0
0
0
0
0
0
0
0
0
0
18
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
54
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
-7
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
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
-8
0
0
0
0
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
0
0
0
0
-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
0
0
-35
0
0
0
0
0
0
-8
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
-9
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
-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
2
0
0
0
0
0
0
-19
0
0
0
-44
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
7
0
0
0
-29
0
0
0
0
0
0
-26
0
0
0
0
0
0
5
1
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
1
0
0
14
0
0
0
0
0
0
39
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
5
0
0
0
-65
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
-7
0
0
0
0
0
0
0
0
0
0
-55
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
4
0
0
0
-9
0
0
0
5
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
1
0
1
0
0
0
0
0
0
11
0
0
-13
0
0
0
0
0
0
-8
1
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
5
0
0
0
8
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
-25
0
0
0
0
0
0
8
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
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
10
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
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
-2
0
0
0
-16
0
0
0
0
0
0
-16
0
0
0
0
0
1
-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
-21
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
2
0
0
0
0
0
0
-17
0
0
0
14
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
-5
-4
-6
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-14
-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
17
0
0
0
13
0
0
0
0
0
0
13
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
6
0
5
0
0
0
0
0
7
0
0
-15
0
0
0
0
0
1
-5
8
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
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
-2
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
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
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
7
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
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
-1
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
2
0
0
0
0
0
0
0
1
0
0
17
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
-1
0
0
0
0
0
0
6
4
0
0
-18
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
30
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
-9
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
-38
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
1
4
8
0
0
0
0
0
6
5
-3
-9
0
0
0
0
0
0
-39
-1
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
-12
0
0
0
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
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
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
5
0
0
0
3
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
10
0
0
0
0
0
0
22
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-52
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
-2
10
0
0
0
0
0
0
0
5
1
0
22
0
0
0
0
0
0
-8
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
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
15
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
11
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-3
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
-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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-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
-26
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-16
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
-5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
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
8
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
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
0
0
0
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
-26
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
15
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
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
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
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
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
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
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
-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
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
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
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
-9
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-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
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
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
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
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
-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
-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
-3
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
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
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
19
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
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
11
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
-17
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
-5
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
-6
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
-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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
73
0
0
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
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
9
0
0
0
0
0
0
-6
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
-12
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
-2
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
-28
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
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
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
6
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
29
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
-19
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
-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
13
0
0
0
0
0
0
0
0
0
0
-10
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
-5
5
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
-3
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
12
0
0
0
0
0
0
9
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
-3
0
0
0
48
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
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
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
-1
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
9
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
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
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
-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
-1
0
0
0
0
0
0
0
0
0
25
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
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
-1
-2
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
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
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
-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
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
-2
0
0
0
0
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
3
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
0
0
0
0
0
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
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
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
6
0
0
0
0
0
0
0
0
0
0
-32
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
3
0
0
0
35
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
-13
0
0
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
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
14
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
8
1
0
0
0
0
0
0
10
0
0
-5
0
0
0
0
0
0
-5
1
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-11
0
0
0
-45
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
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
10
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
3
0
0
0
-25
0
0
0
0
0
0
-12
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
5
0
0
0
18
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
-4
-1
2
0
0
0
0
0
0
-6
3
0
-4
0
0
0
0
0
0
2
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
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
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
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
-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
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
5
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
-23
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
22
0
0
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
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
0
0
0
0
0
0
-8
0
0
19
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-15
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
7
0
0
0
-2
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
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
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
-1
-1
0
0
0
0
0
0
0
0
0
12
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
9
0
0
0
-1
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
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
-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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
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
-19
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
-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
4
0
0
0
27
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
-1
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
-5
0
0
0
0
0
0
2
0
0
0
-23
0
0
0
0
0
0
-33
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
-14
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
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
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
11
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
-29
0
0
0
0
0
0
-17
0
0
0
17
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
1
0
0
-27
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
-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
1
0
0
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
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
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
6
0
0
0
0
0
0
0
0
3
0
21
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
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
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
-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
-1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-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
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
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
-37
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
-7
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
-9
0
0
0
0
14
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
-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
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
6
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
0
0
0
0
0
0
0
18
0
0
0
-21
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
-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
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
1
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
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
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
-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
28
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
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
-6
0
0
0
-43
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
-14
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
-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
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
-7
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
0
0
0
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
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
8
0
0
0
0
0
0
0
0
0
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
-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
0
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
0
0
0
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
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
11
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
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-5
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
-5
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
-11
1
0
0
0
0
0
0
0
0
0
-33
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
10
0
0
0
-59
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
6
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
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
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
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
-4
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
2
0
0
0
12
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
10
0
0
0
0
0
0
0
-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
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
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
-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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
21
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
-30
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
-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
-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
-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
17
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
4
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
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
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
19
0
0
0
0
0
0
0
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
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
6
0
0
0
-20
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
-18
-2
0
0
0
0
0
0
0
0
0
-27
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
4
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
0
0
0
0
0
0
0
0
0
0
0
0
10
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
3
0
0
0
0
0
0
-3
0
0
0
-43
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
-6
0
0
0
0
0
0
0
0
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
-36
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
4
0
-1
0
0
0
0
1
-6
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
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
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
0
0
0
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
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
2
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
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-10
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
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
7
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
6
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-5
0
0
0
-27
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
-28
0
0
0
0
0
0
0
0
0
0
23
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
-9
0
0
0
0
0
0
5
0
0
0
8
0
0
0
0
9
0
-13
0
0
0
0
0
1
31
1
0
0
0
0
0
0
0
14
7
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
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
-11
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
-6
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
47
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
-10
0
0
0
1
0
0
22
0
3
0
0
0
0
5
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
-43
0
0
0
0
0
0
-7
0
0
0
82
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
9
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
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
-14
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
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
-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
-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
-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
4
0
0
0
-18
0
0
0
0
0
0
-29
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
4
4
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
30
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
28
0
0
0
1
0
0
-37
0
14
0
0
0
2
28
0
0
0
0
0
0
0
0
3
2
0
0
15
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
17
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
6
0
0
0
37
0
0
0
2
0
0
-50
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
3
0
0
0
-18
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
-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
5
0
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
0
-11
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
-4
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
-1
0
0
0
35
0
0
0
0
0
0
14
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
0
15
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
4
0
0
0
20
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
10
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
-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
-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
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-19
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
-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
-1
0
0
0
0
0
0
-10
0
0
0
0
0
-4
-1
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
-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
-11
0
0
0
-2
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
14
0
0
0
0
0
0
0
3
0
0
-7
0
0
0
0
0
0
15
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
5
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
-4
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
11
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
6
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
-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
20
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
48
0
0
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
25
0
0
0
-29
0
0
0
-13
0
0
8
0
0
0
0
0
-5
-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
-1
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
-7
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-7
-20
0
0
0
0
0
0
-7
0
0
11
0
0
0
0
0
0
-14
-1
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
-6
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
-21
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-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
4
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
-11
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
6
0
0
0
-9
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
-3
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
21
0
0
0
-13
0
0
0
0
0
0
0
0
0
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
-7
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
0
0
5
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
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
-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
33
0
0
0
0
0
0
0
0
0
0
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
-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
-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
-1
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
-17
0
0
0
-1
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
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
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
-59
0
0
0
0
1
0
36
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
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
-6
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
21
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
-25
0
0
0
0
0
0
0
0
0
0
-5
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
4
0
0
0
0
0
0
5
0
0
0
-40
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
28
0
0
0
0
0
0
6
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
1
4
0
0
27
0
0
0
15
14
0
-9
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
3
0
3
0
-2
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
-47
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
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
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
-14
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
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
-6
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
10
0
0
0
-3
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
-13
0
0
0
0
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
11
1
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
23
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
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
21
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
0
0
0
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
-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
2
0
0
0
0
0
0
5
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
-5
0
0
0
0
0
0
0
0
0
0
-4
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
12
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
2
0
0
0
0
0
0
0
0
0
0
4
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
5
0
0
0
-27
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
-11
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
-5
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
6
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
-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
3
0
0
0
0
0
0
5
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
-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
3
0
0
0
-53
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
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
5
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
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
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
-5
0
0
0
0
0
0
10
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
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
4
0
0
0
0
0
0
0
0
0
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
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
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
10
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
13
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
-3
0
0
0
0
0
0
0
0
0
0
-30
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
2
0
0
0
0
0
0
-3
0
0
0
-20
0
0
0
0
0
0
8
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
4
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
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
-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
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
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
7
0
0
0
56
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
-48
0
0
0
0
0
0
49
0
1
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
-8
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
-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
-1
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
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
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
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
34
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
41
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
15
0
0
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
-20
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
0
0
0
0
0
0
0
0
0
2
0
-2
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
0
0
0
0
0
0
0
4
0
0
0
18
0
0
0
0
-2
0
-28
0
0
0
0
0
0
2
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
-27
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
-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
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
1
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
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
19
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
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
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
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
-11
0
0
0
0
0
0
3
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
-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
-3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
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
1
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
36
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
-2
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
-3
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
-5
-14
0
0
0
0
0
0
0
-3
0
0
-14
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
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
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
-5
0
0
0
0
0
0
-1
1
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
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
0
0
0
0
0
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
-28
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
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
-2
0
0
0
0
0
0
0
0
6
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
31
0
0
0
0
0
0
10
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
-2
0
0
0
0
0
0
0
0
0
9
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
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
5
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
-11
0
0
0
0
0
0
16
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
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
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
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
9
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
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
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
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
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
9
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
2
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
-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
-8
0
0
0
-5
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
-14
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
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
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
-2
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
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
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
-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
-37
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
-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
-1
0
0
0
-23
0
0
0
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
-1
0
0
6
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-1
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
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
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
-4
0
0
0
0
0
0
0
0
0
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
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
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
-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
-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
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
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
-14
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
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
-26
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
11
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
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
3
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
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
-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
31
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
1
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
7
0
0
0
-1
0
0
0
18
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
-4
0
0
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
-23
0
0
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
12
0
0
0
5
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
5
0
0
0
0
0
0
0
0
0
0
61
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
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
17
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
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
-21
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
4
0
0
0
28
0
0
0
0
0
0
21
0
0
0
0
0
-1
2
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
-1
0
0
3
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
-4
0
0
0
-13
0
0
0
0
0
0
12
0
0
0
0
0
0
14
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
0
0
29
0
0
0
0
0
0
-40
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
5
0
0
0
-6
0
0
0
-1
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
21
0
0
0
0
0
0
0
6
2
0
-4
0
0
0
0
0
0
-5
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
15
0
0
0
0
0
0
-9
0
0
0
0
0
9
3
2
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
14
0
0
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
16
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
1
0
0
0
0
0
0
0
-2
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
3
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
-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
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
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
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
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
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
2
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
5
0
0
0
0
0
0
0
1
0
0
13
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
0
0
0
0
0
0
0
2
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
-5
3
0
0
0
0
0
0
0
8
0
4
0
0
0
0
0
0
5
1
0
0
65
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
17
0
0
0
0
0
0
12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
0
1
0
44
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
-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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
6
0
0
0
0
0
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
9
0
0
0
0
0
0
21
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
0
0
7
0
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
3
0
0
0
0
0
0
-6
0
0
0
8
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
-5
-5
2
0
0
0
0
0
0
-4
10
0
14
0
0
0
0
0
0
-6
3
0
0
-37
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
25
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
-1
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
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
18
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
-54
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
15
0
-1
0
0
0
0
0
0
0
14
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
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
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
-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
-32
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
-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
2
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
13
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
17
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-23
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
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
33
0
0
0
0
0
0
0
0
0
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
-71
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
-1
15
-1
0
0
0
0
0
0
2
0
0
-31
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
-6
0
0
0
0
0
0
-5
0
0
0
-29
0
0
0
0
1
0
-15
0
0
0
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
-14
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
-49
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
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
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-3
0
0
0
-44
0
0
0
0
3
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
-17
0
0
0
0
0
0
4
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
-2
0
0
0
0
0
0
-4
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
13
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
9
0
0
0
-6
0
0
0
0
-5
0
18
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
11
-6
0
0
9
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
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
-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
-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
-4
0
0
0
0
0
0
0
0
0
0
-29
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
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
0
0
0
0
0
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
-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
-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
8
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
0
0
0
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
-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
-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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
58
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
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
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
43
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
-8
4
0
0
0
0
0
0
0
0
0
-5
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
-10
0
0
0
0
-2
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
10
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-20
0
0
0
-72
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
-3
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
24
0
0
0
0
0
0
22
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
-2
0
0
0
0
0
0
0
3
0
5
0
0
0
0
0
0
5
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
16
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-14
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
-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
-42
0
0
0
0
0
0
-11
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
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
53
0
0
0
0
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
22
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
1
0
0
0
0
0
0
11
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
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
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
62
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
-15
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
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
7
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
-1
0
0
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
6
0
0
0
0
0
0
0
5
0
0
4
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
31
0
0
0
-9
0
0
0
5
0
0
-2
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
-26
0
0
0
0
0
0
-14
0
0
0
-9
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
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
-5
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
-25
0
0
-3
0
0
0
0
0
0
-5
-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
-4
0
0
-2
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
27
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-4
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
-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
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
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
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
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
-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
-3
0
0
0
0
0
0
-3
0
0
0
-30
0
0
0
0
0
0
44
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
5
0
0
48
0
0
0
0
0
0
5
2
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
17
0
0
0
-41
0
0
0
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
4
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
41
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
-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
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
19
0
0
0
0
0
0
0
0
0
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
3
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
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
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
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
-1
0
0
0
-1
0
0
0
1
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
-1
0
0
0
0
0
0
0
-2
0
0
10
0
0
0
0
0
0
11
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
-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
1
-1
0
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
1
-1
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
14
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
6
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
-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
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
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
6
0
0
0
0
0
0
-10
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
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
-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
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
-1
1
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
1
0
0
0
0
0
0
9
0
0
0
23
0
0
0
26
0
0
9
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
3
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
0
0
1
0
0
0
0
0
0
8
0
0
0
-30
0
0
0
0
0
0
30
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
17
-14
0
0
0
0
0
0
0
4
0
0
-18
0
3
0
0
0
0
-22
3
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
-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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
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
9
0
0
0
0
0
0
4
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
-5
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
18
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
4
0
0
0
0
0
0
-1
0
0
0
-15
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
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
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
-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
26
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
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
0
0
1
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
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
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
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
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
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
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
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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
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
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
0
0
0
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
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
-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
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
5
0
0
0
0
0
0
0
0
0
0
26
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
13
21
-1
0
0
23
0
0
0
-2
7
-5
0
0
8
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-33
0
0
0
4
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
8
0
0
0
-14
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
6
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
4
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
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
12
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-16
-5
0
0
-18
0
0
0
-3
3
0
0
0
3
0
0
0
0
-28
0
0
4
0
0
0
0
-1
7
1
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
0
0
9
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
10
0
0
0
0
0
0
14
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
4
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
-7
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
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
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
1
0
0
0
-22
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-21
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
-21
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-6
2
-6
0
0
10
0
0
0
1
-9
4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
5
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-2
-2
7
-6
0
0
0
0
0
0
4
0
0
0
20
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-2
3
0
0
0
-22
0
0
0
0
9
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
-5
2
1
0
0
0
0
0
0
-4
0
0
25
0
0
0
0
0
0
14
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-5
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
-1
0
0
0
0
0
0
-2
0
0
0
-24
0
0
0
-2
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
-1
-6
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-22
0
0
0
20
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-7
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
1
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
-3
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
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
6
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
4
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
-1
1
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
6
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
-2
0
0
0
37
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
-1
0
0
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
9
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
8
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
7
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
-4
0
0
42
0
0
0
0
0
0
-5
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-8
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
8
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
-1
0
0
0
3
0
0
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
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
-11
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
6
14
9
0
0
0
0
0
0
4
4
1
36
0
0
0
0
0
0
14
4
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
-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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
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
-9
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
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
7
-9
0
0
0
0
0
0
0
0
2
0
27
0
0
0
0
0
0
-5
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
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
4
0
0
0
0
0
0
0
0
0
0
-9
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
-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
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
14
0
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
12
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
0
0
0
0
0
0
0
-7
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
3
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
-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
-31
11
0
0
76
0
0
0
8
1
1
34
0
0
0
0
0
3
8
0
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
3
0
0
0
0
0
0
-6
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
11
0
0
0
-20
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
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
-16
0
0
0
0
0
0
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
0
0
-16
0
0
0
0
0
0
-10
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
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
5
0
0
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
-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
-11
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
-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
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
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
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
-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
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
-2
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
15
0
0
0
0
0
0
0
0
0
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
5
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
2
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
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
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
-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
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-13
0
0
0
0
0
0
60
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
10
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
1
0
0
0
0
0
0
-8
0
0
0
19
0
0
0
0
0
0
-16
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
-62
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
14
0
0
0
0
0
0
-10
0
0
0
-43
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
14
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
10
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
-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
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
8
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
-2
0
0
0
0
0
0
-4
0
0
0
37
0
0
0
0
1
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
-14
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
13
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
7
0
0
0
0
0
0
0
-10
-2
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
9
23
1
0
0
0
0
0
0
5
0
0
47
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
-7
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
39
0
0
0
0
0
8
37
0
2
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
0
0
0
0
0
0
2
0
0
5
0
0
0
0
0
0
-12
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
8
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
1
0
0
0
0
0
0
-6
0
0
0
10
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
14
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
26
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
-8
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
-3
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
4
19
-5
0
0
22
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
-17
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
-16
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
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
-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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
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
-33
0
0
0
-33
0
0
0
0
0
0
17
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
1
0
0
0
0
0
0
0
0
7
-26
0
0
0
0
0
0
21
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
17
0
0
0
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
24
0
0
0
0
0
0
0
0
1
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
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
21
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
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
-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
-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
26
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-7
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
2
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
-1
0
0
0
12
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
32
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
19
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
31
0
0
0
12
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
1
0
0
0
0
0
0
0
5
4
0
-23
0
0
0
0
0
0
1
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
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
1
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
-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
-3
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
1
0
0
0
0
0
0
4
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
5
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-22
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
14
0
0
0
39
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
-2
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
2
0
0
0
0
0
0
-10
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
6
2
1
0
0
0
0
0
5
0
0
2
0
0
0
0
0
0
6
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
3
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
-8
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
15
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
0
0
0
0
0
0
0
-2
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
1
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
14
0
0
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
10
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
5
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
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
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
-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
-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
-5
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
-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
1
0
0
0
0
0
0
-5
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
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
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
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
-49
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
4
0
0
0
0
0
0
0
0
-2
0
15
0
0
0
0
0
0
14
0
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
-8
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
3
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
-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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
10
0
0
0
0
0
0
0
0
0
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
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
-50
0
0
0
0
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
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
10
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
42
0
0
0
0
0
0
-27
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
-1
0
0
0
0
0
0
7
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
-1
0
0
0
73
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
44
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
19
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
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
-2
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
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
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
32
0
0
0
0
0
0
0
0
0
0
2
0
0
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
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
-49
0
0
0
0
0
0
-1
2
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
-44
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
-18
0
0
0
0
0
0
0
0
0
0
20
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
1
0
0
0
0
0
0
-21
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
-4
9
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
22
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
-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
-17
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
-6
43
0
0
0
0
0
0
0
-5
0
0
7
0
0
0
0
0
0
0
5
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
24
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-8
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
0
0
0
0
-6
0
0
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
2
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
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
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
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
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
-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
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
3
0
0
0
0
0
0
34
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
-1
0
0
0
0
0
0
-8
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
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
23
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
-18
0
0
0
0
0
0
0
0
0
0
-46
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
4
0
0
0
0
0
0
-12
0
0
0
10
0
0
0
0
0
0
0
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
-30
8
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
-2
0
0
0
7
0
0
0
-2
0
0
-27
0
0
0
0
0
-5
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
-40
0
0
0
0
0
0
-5
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
-1
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
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
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
9
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
-17
0
0
0
0
-5
0
-32
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
0
0
6
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
-4
0
0
0
-34
0
0
0
0
0
0
40
0
0
0
0
0
0
-35
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
-37
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
1
0
0
0
14
0
0
0
0
0
0
6
0
0
0
0
0
-5
6
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
-5
0
0
0
0
0
0
0
0
0
14
5
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
-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
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
26
0
0
0
13
0
0
0
0
0
0
0
0
0
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
7
0
0
0
0
0
1
-8
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
0
0
0
-40
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
-1
0
0
0
0
0
0
4
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
1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
-26
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
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
-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
-4
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
-18
0
0
0
0
-1
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
23
0
0
0
0
0
0
0
-1
-2
0
-36
0
0
0
0
0
0
-16
0
0
0
46
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-5
0
0
0
7
0
0
0
0
0
0
-23
0
0
0
0
0
0
-26
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
14
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
-16
0
0
0
14
0
0
0
0
1
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
-2
0
0
-5
0
0
0
0
0
0
-5
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-52
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
-5
0
0
0
0
-1
0
-14
0
0
0
0
0
-2
-20
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
-6
-5
0
0
29
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
0
0
0
-29
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
2
-7
0
0
0
2
0
0
0
14
-11
0
0
0
0
0
0
0
-3
-1
-7
4
0
0
0
0
0
0
2
0
3
0
57
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
-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
18
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
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
-2
0
0
0
0
0
0
0
0
0
0
-17
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
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
-4
0
0
0
0
0
0
0
-5
0
0
14
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
-1
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
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
3
-27
0
0
0
0
0
0
13
3
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
24
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
-12
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
7
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
3
0
0
0
6
0
0
0
0
0
0
2
0
1
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
37
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
-15
0
0
0
5
0
0
0
4
0
0
-28
0
-4
0
0
0
0
-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
0
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
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
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
-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
-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
-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
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
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
0
0
0
0
4
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
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
-11
0
0
0
58
0
0
0
-2
0
0
-12
0
0
0
0
0
0
21
-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
-4
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
-5
0
0
0
0
0
0
-7
0
0
0
53
0
0
0
4
0
0
0
0
2
0
0
0
0
8
-9
0
8
0
0
0
0
0
10
-7
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
-2
0
0
0
-46
0
0
0
0
2
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
28
2
0
0
44
0
0
0
-3
-6
7
-30
0
0
0
0
5
0
25
-2
0
-2
-1
0
0
0
0
13
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
-9
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
3
0
0
0
29
0
0
0
-2
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
3
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
1
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
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
-1
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
10
0
0
25
0
0
0
-4
7
0
14
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
2
0
-2
0
0
-2
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-28
-4
0
0
26
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
25
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
17
0
0
0
0
0
0
11
0
0
0
-63
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
24
0
0
0
-17
0
0
0
-3
0
0
-23
0
-1
0
0
0
0
-9
5
0
0
0
0
0
0
11
0
0
0
0
-5
0
0
0
0
16
1
0
0
0
0
0
0
3
0
0
34
0
0
0
0
0
0
-17
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
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
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
19
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
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
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
26
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
-2
0
0
0
0
0
0
0
0
0
0
-23
0
0
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
-16
0
0
0
12
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
-23
0
0
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
-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
-14
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
16
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
-16
0
0
0
0
0
0
18
0
0
0
0
0
0
5
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
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
0
0
0
0
0
0
0
-5
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
-2
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
-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
11
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
32
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
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
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-26
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
-4
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
46
0
0
0
27
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
18
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
0
0
0
0
27
0
0
0
0
0
0
0
0
7
0
76
0
2
0
0
0
0
-7
1
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-50
0
0
0
3
0
0
0
0
2
0
-36
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
-3
0
0
0
0
0
0
19
0
45
0
0
0
0
0
-1
25
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-30
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
-98
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
2
0
0
0
0
0
0
0
-5
0
0
-29
0
0
0
0
0
0
21
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
1
0
0
0
20
0
0
0
-2
4
0
-6
0
0
0
0
0
0
19
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
-2
1
-5
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
12
0
0
0
0
0
0
-21
0
0
0
-1
0
0
0
0
-5
0
-35
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-2
-2
-2
0
0
0
0
0
0
-16
15
-10
0
0
0
0
0
-6
-10
5
-7
0
13
0
0
0
0
-6
-14
0
0
54
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
5
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
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
-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
8
0
0
0
0
0
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
3
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
17
0
0
0
0
0
0
11
0
0
0
22
0
0
0
0
0
0
-33
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
14
0
0
0
-13
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
-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
0
0
0
-3
5
3
-1
0
0
0
0
0
1
-3
0
8
0
-1
0
0
0
0
-8
-5
0
0
15
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
-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
60
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-2
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
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
-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
10
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
-5
0
0
0
0
0
0
-27
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
-21
0
0
0
0
7
-5
-10
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
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
-3
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
12
0
0
0
17
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
-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
16
0
0
0
-5
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
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
36
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
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
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
-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
2
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
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
-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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
3
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
17
0
0
0
0
0
0
0
0
0
0
-4
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
-2
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
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
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
-14
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
-7
10
0
0
0
0
0
0
0
0
0
0
34
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
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
17
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
13
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
5
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
2
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
-15
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
-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
-4
0
0
0
0
0
0
0
0
0
0
-14
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-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
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
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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
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
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
13
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
33
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
50
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
7
3
0
0
54
0
0
0
1
0
0
-25
0
0
0
0
0
8
-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
7
0
0
0
0
0
0
-12
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
1
0
0
-14
0
0
0
8
0
0
1
0
0
0
0
0
0
4
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
29
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-5
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
-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
29
0
0
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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-45
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
-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
-11
0
0
0
-47
0
0
0
-5
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
14
0
0
0
0
0
0
0
0
0
0
16
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
-9
0
0
0
0
0
0
-40
-1
0
0
-19
0
0
0
34
11
0
18
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
19
14
2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
37
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
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
8
0
0
0
2
-15
2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-18
0
0
0
-25
0
0
0
0
0
0
-7
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
0
15
-20
0
0
-10
0
0
0
-21
-4
2
-13
0
5
0
0
0
10
-3
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
36
0
0
0
0
0
0
-3
-2
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
27
0
0
0
-5
0
0
0
0
1
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
-6
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
0
0
0
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
11
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
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
-5
-16
0
0
17
0
0
0
-6
5
0
2
0
0
0
0
0
7
-13
0
0
0
1
0
0
0
-1
1
2
4
14
0
0
0
0
-5
-5
-10
0
0
0
0
0
0
3
0
4
-6
0
0
0
0
0
0
-17
-1
0
0
-31
0
0
0
0
0
0
18
0
0
0
0
0
-2
0
0
11
0
0
0
0
0
-5
23
4
0
0
-25
0
0
0
25
1
0
-32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
2
-2
-1
5
0
1
0
0
0
2
0
-4
0
0
0
0
0
0
8
14
0
-4
0
0
0
0
0
0
-43
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
-27
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
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
6
0
0
0
0
0
0
12
0
0
0
0
0
-3
-22
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
8
0
0
0
0
0
0
-8
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
9
-7
0
0
-39
0
0
0
-16
0
0
16
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
1
16
0
-1
5
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
13
5
-41
0
0
0
0
0
5
-31
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
-2
-12
0
0
0
30
0
0
0
0
0
0
-23
0
0
0
0
0
1
21
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
29
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
-20
0
0
0
2
0
0
0
0
0
0
43
0
0
0
0
0
2
5
0
0
0
0
0
0
0
-3
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
-12
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
-6
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
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
10
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
-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
-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
-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
-8
0
0
0
0
0
0
0
0
0
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
-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
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
-15
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
-55
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
11
0
0
5
0
0
0
2
-5
0
-9
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
33
0
0
0
0
0
0
0
15
-1
0
-22
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
5
0
0
24
0
0
0
5
0
0
-11
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
5
0
0
0
3
0
0
0
1
7
-5
0
0
0
0
0
0
3
0
0
7
0
-2
0
0
0
0
-17
5
0
0
30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
4
8
0
0
0
36
0
0
0
2
0
0
37
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
11
47
14
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
1
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
-8
0
0
0
35
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
-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
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
7
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
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
-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
-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
24
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
13
0
0
0
-4
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
13
0
0
0
0
0
0
0
8
7
0
-2
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
1
0
0
0
12
0
0
0
-1
5
0
29
0
0
0
0
0
35
-14
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
6
5
0
0
33
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
0
0
-59
0
0
0
0
0
0
-48
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-3
24
0
5
0
0
0
0
0
-5
5
-7
-3
0
0
0
0
0
-8
-2
0
-29
0
0
0
0
0
0
-6
-11
-11
0
52
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
-3
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
-38
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
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
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
-7
0
0
0
-29
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
11
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
-20
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
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
25
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
7
0
0
0
17
0
0
0
0
0
0
-14
0
0
0
0
0
0
17
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
3
0
41
0
0
0
0
0
0
-4
5
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
16
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
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
69
0
0
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
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
-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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
36
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
5
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
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
-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
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
-1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
20
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
-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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
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
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
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
1
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
-8
0
0
0
0
0
0
0
-1
0
0
-18
0
0
0
0
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
3
0
0
0
1
0
0
0
0
0
0
-8
0
3
0
0
0
0
1
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
-1
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
-8
0
0
0
0
0
0
15
-4
0
0
-45
0
0
0
-1
9
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
4
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
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
5
0
0
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
-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
-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
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
-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
-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
-1
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
-6
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
7
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
8
0
0
0
0
0
0
-37
0
0
0
21
0
0
0
5
7
10
0
0
0
0
0
0
0
-3
-1
-2
0
0
0
0
0
2
8
-5
0
0
-8
0
0
0
9
-13
9
-4
0
0
0
0
0
-14
0
1
-16
0
0
0
0
0
0
-9
5
0
0
-2
0
0
0
7
5
0
-5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
9
-4
0
0
-27
0
0
0
-7
14
-5
-56
0
3
0
0
0
-16
18
-1
0
0
0
0
0
0
0
-22
2
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
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
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
-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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
6
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-3
0
-5
0
-4
0
0
0
0
10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
10
-5
0
0
0
0
0
0
0
0
13
0
-9
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
0
0
0
0
0
0
3
2
0
0
0
-8
0
0
0
9
-4
0
-14
0
0
0
0
0
-14
-24
1
0
0
0
0
0
0
-2
-24
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
14
-5
0
18
0
0
0
0
0
0
-11
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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
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
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
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
-14
0
0
0
0
0
0
-14
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
4
0
0
18
0
0
0
0
0
0
-7
0
0
0
-4
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
14
0
20
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
23
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
-32
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
6
0
0
0
0
0
0
0
0
0
0
-3
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
-1
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
-5
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
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
25
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
3
0
0
0
-25
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
-15
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
19
0
0
0
0
0
0
5
0
0
0
12
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
1
1
0
0
0
0
0
0
0
0
6
0
28
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
-2
0
0
0
0
0
0
-3
0
0
0
29
0
0
0
0
0
0
1
0
0
0
0
0
0
8
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
-1
0
0
-45
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
0
2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-19
0
0
0
0
0
0
11
1
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
18
0
0
0
0
0
0
2
0
0
0
-39
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
14
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-1
0
0
0
0
0
0
0
0
0
0
24
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
24
0
0
0
0
0
0
-3
0
0
0
-9
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
4
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
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
1
0
0
0
-41
0
0
0
0
0
0
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
3
4
0
20
0
0
0
0
0
0
-7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
26
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
-11
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-22
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
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
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
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
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
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
-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
43
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
12
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
-19
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
7
0
0
10
0
0
0
0
0
0
48
0
0
0
0
0
0
26
-2
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
4
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
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
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
-23
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
23
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
-3
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
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
-50
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
-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
-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
0
0
0
0
0
0
0
-2
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
3
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
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
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
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
16
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
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
-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
-11
0
0
0
0
0
0
0
0
0
0
0
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
68
0
0
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
-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
9
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
14
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
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
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
26
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
-8
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
-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
22
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-20
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
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
22
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
-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
11
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
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
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
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
57
0
0
0
0
0
0
2
0
0
0
0
0
5
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
-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
-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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
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
-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
11
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
-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
-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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
-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
-38
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
-19
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
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
0
0
0
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
1
0
0
0
0
0
0
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
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
29
0
0
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
23
0
0
0
0
0
0
0
0
0
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
-16
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
-6
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
-13
0
0
0
0
0
0
2
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
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
23
0
0
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
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
3
0
0
0
2
0
0
0
-6
0
0
-4
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
-3
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
31
0
0
0
0
0
0
0
0
0
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
-21
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
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
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
-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
1
0
0
0
0
0
0
0
0
0
0
-29
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
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
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
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
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
-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
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
-6
0
0
0
0
0
0
5
0
0
0
11
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
2
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
11
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
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
14
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
-1
0
0
0
18
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
-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
9
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-3
0
0
0
35
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
-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
-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
11
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
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
-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
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
-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
1
0
0
0
0
0
0
5
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
1
0
0
0
0
0
0
-9
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
20
0
0
0
8
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
-10
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
20
0
0
0
-12
0
0
0
5
0
0
-21
0
0
0
0
0
0
-16
-21
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
54
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
-63
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
-2
0
0
0
-12
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
14
-4
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
16
0
0
0
0
0
0
0
0
0
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
-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
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
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
-21
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
45
0
0
0
5
0
0
-13
0
0
0
0
0
1
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
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
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
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
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
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
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
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
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
-5
0
0
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
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
-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
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
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
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
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
-11
0
0
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
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
-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
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
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
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
5
0
0
0
0
0
0
13
0
0
0
-11
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
-20
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
-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
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
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
29
0
0
0
1
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
-19
0
0
0
0
0
0
24
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
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
5
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
-14
-6
0
0
-1
0
0
0
1
0
0
-29
0
0
0
0
0
11
13
-1
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
17
0
0
0
0
0
0
28
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
-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
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
60
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
14
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
-37
0
0
0
-37
0
0
0
-5
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
4
0
0
0
0
0
0
0
2
-1
0
7
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
3
0
0
0
-22
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
-7
0
0
0
0
0
0
0
0
0
0
-21
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
-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
-6
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
-3
0
0
2
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
5
0
0
0
0
0
0
0
0
0
0
50
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
-3
0
8
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
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
-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
19
0
0
0
16
0
0
0
-2
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
5
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
5
0
0
0
-3
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
0
-5
0
0
0
0
0
0
0
-4
-6
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
0
0
0
0
0
0
0
38
0
0
0
3
0
0
0
-10
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
5
0
0
0
0
0
0
0
-8
-1
0
-33
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
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
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-26
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
-5
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
4
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
1
0
0
0
0
0
0
-15
0
0
0
-24
0
0
0
0
0
0
43
0
0
0
0
0
1
11
0
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
-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
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
5
0
0
30
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
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
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
-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
2
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
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
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
-5
0
0
0
10
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
21
0
0
0
0
0
0
0
3
-1
0
-4
0
0
0
0
0
0
12
-7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
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
-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
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
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
-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
38
0
0
0
2
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
-11
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-2
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
-6
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
-33
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
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
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
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
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
-15
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
13
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
16
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
21
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
-4
0
0
0
0
0
0
0
0
0
0
20
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
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
-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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
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
-22
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
-24
0
0
0
-2
0
0
25
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
-6
0
0
0
0
0
0
-14
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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
33
-1
0
0
-36
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
-1
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
9
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
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
-4
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
8
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
-24
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
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
-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
-4
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
-1
0
0
0
0
0
0
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
-1
0
0
0
0
0
0
0
0
0
0
6
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
13
0
0
0
-28
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
8
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
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
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
-7
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
5
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
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
2
0
0
0
0
0
0
0
0
0
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
-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
1
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
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
-2
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
9
0
0
0
16
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-23
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
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
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
-5
0
0
0
6
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
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
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
2
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
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
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
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
-18
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-46
-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
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
12
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
-3
-2
0
0
0
-3
-1
0
-1
-2
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-2
-9
0
-3
-3
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
-1
2
0
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
-1
0
0
0
-1
0
0
0
-3
0
0
0
-1
0
0
-3
-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
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
39
-1
16
-22
-5
5
-1
30
23
-14
15
12
4
6
5
9
-3
2
-8
3
-6
-1
2
-15
4
-6
-1
-19
7
9
-37
-23
-9
3
14
2
2
1
12
15
-1
6
2
0
-6
-10
2
-1
0
-1
-2
2
1
-1
-1
5
4
9
20
6
19
-14
